packages feed

ivory 0.1.0.4 → 0.1.0.5

raw patch · 7 files changed

+10604/−80 lines, 7 filesdep ~template-haskell

Dependency ranges changed: template-haskell

Files

ivory.cabal view
@@ -2,7 +2,7 @@ --  see http://haskell.org/cabal/users-guide/  name:                ivory-version:             0.1.0.4+version:             0.1.0.5 author:              Galois, Inc. maintainer:          trevor@galois.com, leepike@galois.com category:            Language@@ -47,6 +47,7 @@                         Ivory.Language.Loop,                         Ivory.Language.MemArea,                         Ivory.Language.Module,+                        Ivory.Language.Pointer,                         Ivory.Language.Proc,                         Ivory.Language.Proxy,                         Ivory.Language.Ptr,
+ src/Ivory/Language/Pointer.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE ScopedTypeVariables #-}++-- | Generic pointer+module Ivory.Language.Pointer+  ( Constancy(Const, Mutable)+  , KnownConstancy+  , Nullability(Nullable, Valid)+  , Pointer(Pointer, getPointer)+  , nullPtr+  , pointerCast+  , pointerCastToConst+  , pointerCastToNullable+  , unsafePointerCast+  , withRef+  ) where++import           Ivory.Language.Area (Area, IvoryArea, ivoryArea)+import           Ivory.Language.IBool ((/=?), IvoryEq, ifte_)+import           Ivory.Language.Monad (Ivory)+import           Ivory.Language.Proxy (Proxy(..))+import           Ivory.Language.Scope (RefScope)+import           Ivory.Language.Syntax+                 (Expr(ExpLit), Literal(LitNull),+                  Type(TyConstPtr, TyConstRef, TyPtr, TyRef))+import           Ivory.Language.Type+                 (IvoryExpr, IvoryType, IvoryVar, ivoryType, unwrapExpr,+                  wrapExpr, wrapVar, wrapVarExpr)++-- * Nullability+data Nullability+  = Nullable -- ^ may be NULL+  | Valid -- ^ may not be NULL++class KnownNullability (n :: Nullability) where+  demoteNullability :: Proxy n -> Nullability++instance KnownNullability 'Nullable where+  demoteNullability _ = Nullable++instance KnownNullability 'Valid where+  demoteNullability _ = Valid++-- * Constancy+data Constancy+  = Const -- ^ data may not be modified+  | Mutable -- ^ data may be modified++class KnownConstancy (c :: Constancy) where+  demoteConstancy :: Proxy c -> Constancy++instance KnownConstancy 'Const where+  demoteConstancy _ = Const++instance KnownConstancy 'Mutable where+  demoteConstancy _ = Mutable++-- * Generic Pointer+data Pointer (n :: Nullability) (c :: Constancy) (s :: RefScope) (a :: Area *) = Pointer+  { getPointer :: Expr+  }++instance (KnownNullability n, KnownConstancy c, IvoryArea a) =>+         IvoryType (Pointer n c s a) where+  ivoryType _ =+    pointerTyCon+      (demoteNullability (Proxy :: Proxy n))+      (demoteConstancy (Proxy :: Proxy c))+      (ivoryArea (Proxy :: Proxy a))+    where+      pointerTyCon Nullable Const = TyConstPtr+      pointerTyCon Nullable Mutable = TyPtr+      pointerTyCon Valid Const = TyConstRef+      pointerTyCon Valid Mutable = TyRef++instance (KnownNullability n, KnownConstancy c, IvoryArea a) =>+         IvoryVar (Pointer n c s a) where+  wrapVar = wrapVarExpr+  unwrapExpr = getPointer++instance (KnownNullability n, KnownConstancy c, IvoryArea a) =>+         IvoryExpr (Pointer n c s a) where+  wrapExpr = Pointer++instance (KnownNullability n, KnownConstancy c, IvoryArea a) =>+         IvoryEq (Pointer n c s a)++-- * Special constants+nullPtr+  :: IvoryArea a+  => Pointer 'Nullable c s a+nullPtr = Pointer (ExpLit LitNull)++-- * Pointer conversions+-- | Safe pointer casting. Only defined if conversion is safe.+class PointerCast n1 c1 n2 c2 where+  pointerCast+    :: forall (s :: RefScope) (a :: Area *).+       IvoryArea a+    => Pointer n1 c1 s a -> Pointer n2 c2 s a++instance KnownNullability n =>+         PointerCast n 'Mutable n 'Const where+  pointerCast = unsafePointerCast++instance KnownConstancy c =>+         PointerCast 'Valid c 'Nullable c where+  pointerCast = unsafePointerCast++pointerCastToConst+  :: (KnownNullability n, IvoryArea a)+  => Pointer n 'Mutable s a -> Pointer n 'Const s a+pointerCastToConst = pointerCast++pointerCastToNullable+  :: (KnownConstancy c, IvoryArea a)+  => Pointer 'Valid c s a -> Pointer 'Nullable c s a+pointerCastToNullable = pointerCast++unsafePointerCast+  :: ( KnownNullability n1+     , KnownNullability n2+     , KnownConstancy c1+     , KnownConstancy c2+     , IvoryArea a+     )+  => Pointer n1 c1 s a -> Pointer n2 c2 s a+unsafePointerCast = wrapExpr . unwrapExpr++-- | Unwrap a pointer, and use it as a reference.+withRef+  :: (KnownConstancy c, IvoryArea a)+  => Pointer 'Nullable c s a+  -> (Pointer 'Valid c s a -> Ivory eff t)+  -> Ivory eff f+  -> Ivory eff ()+withRef ptr t = ifte_ (nullPtr /=? ptr) (t (unsafePointerCast ptr))
src/Ivory/Language/Ptr.hs view
@@ -1,57 +1,33 @@-{-# LANGUAGE KindSignatures #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} -module Ivory.Language.Ptr where+module Ivory.Language.Ptr+  ( Ptr+  , nullPtr+  , ptrToRef+  , refToPtr+  , withRef+  ) where -import Ivory.Language.IBool import Ivory.Language.Area-import Ivory.Language.Proxy+import Ivory.Language.Pointer+       (Constancy(Mutable), Nullability(Nullable), Pointer,+        pointerCastToNullable, unsafePointerCast, nullPtr, withRef) import Ivory.Language.Ref-import Ivory.Language.Scope-import Ivory.Language.Type-import Ivory.Language.Monad-import qualified Ivory.Language.Syntax as I - -- Pointers --------------------------------------------------------------------  -- | Pointers (nullable references).-newtype Ptr (s :: RefScope) (a :: Area *) = Ptr { getPtr :: I.Expr }--instance IvoryArea area => IvoryType (Ptr s area) where-  ivoryType _ = I.TyPtr (ivoryArea (Proxy :: Proxy area))--instance IvoryArea area => IvoryVar (Ptr s area) where-  wrapVar    = wrapVarExpr-  unwrapExpr = getPtr--instance IvoryArea area => IvoryExpr (Ptr s area) where-  wrapExpr = Ptr--instance IvoryArea area => IvoryEq (Ptr s area)---- Only allow global pointers to be stored in structures.-instance IvoryArea a => IvoryStore (Ptr 'Global a)--nullPtr :: IvoryArea area => Ptr s area-nullPtr  = Ptr (I.ExpLit I.LitNull)+type Ptr = Pointer 'Nullable 'Mutable --- | Convert a reference to a pointer.  This direction is safe as we know that--- the reference is a non-null pointer.+-- | Convert valid to nullable pointer.+-- TODO deprecate in favor of 'pointerCastToNullable' refToPtr :: IvoryArea area => Ref s area -> Ptr s area-refToPtr  = wrapExpr . unwrapExpr+refToPtr = pointerCastToNullable --- XXX do not export+-- | Convert nullable to valid pointer unsafely.+-- TODO deprecate in favor of 'unsafePointerCast' ptrToRef :: IvoryArea area => Ptr s area -> Ref s area-ptrToRef  = wrapExpr . unwrapExpr---- | Unwrap a pointer, and use it as a reference.-withRef :: IvoryArea area-        => Ptr as area-        -> (Ref as area -> Ivory eff t)-        -> Ivory eff f-        -> Ivory eff ()-withRef ptr t = ifte_ (nullPtr /=? ptr) (t (ptrToRef ptr))+ptrToRef = unsafePointerCast
src/Ivory/Language/Ref.hs view
@@ -6,66 +6,57 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE InstanceSigs #-} -module Ivory.Language.Ref where+module Ivory.Language.Ref+  ( ConstRef+  , IvoryRef+  , IvoryStore+  , Ref+  , constRef+  , deref+  , refCopy+  , store+  ) where  import Ivory.Language.IChar (IChar) import Ivory.Language.Sint (Sint8,Sint16,Sint32,Sint64) import Ivory.Language.Uint (Uint8,Uint16,Uint32,Uint64)  import Ivory.Language.Area+import Ivory.Language.IBool import Ivory.Language.Monad+import Ivory.Language.Pointer+       (Constancy(Const, Mutable), KnownConstancy, Nullability(Nullable, Valid),+        Pointer, getPointer, pointerCastToConst) import Ivory.Language.Proxy import Ivory.Language.Scope-import Ivory.Language.IBool-import Ivory.Language.Type import qualified Ivory.Language.Syntax as I+import Ivory.Language.Type   -- References ------------------------------------------------------------------  -- | A non-null pointer to a memory area.-newtype Ref (s :: RefScope) (a :: Area *) = Ref { getRef :: I.Expr }--instance IvoryArea area => IvoryType (Ref s area) where-  ivoryType _ = I.TyRef (ivoryArea (Proxy :: Proxy area))--instance IvoryArea area => IvoryVar (Ref s area) where-  wrapVar    = wrapVarExpr-  unwrapExpr = getRef--instance IvoryArea area => IvoryExpr (Ref s area) where-  wrapExpr = Ref+type Ref = Pointer 'Valid 'Mutable  -- Constant References ---------------------------------------------------------  -- | Turn a reference into a constant reference.+-- TODO deprecate in favor of 'pointerCastToConst' constRef :: IvoryArea area => Ref s area -> ConstRef s area-constRef  = wrapExpr . unwrapExpr--newtype ConstRef (s ::  RefScope) (a :: Area *) = ConstRef-  { getConstRef :: I.Expr-  }--instance IvoryArea area => IvoryType (ConstRef s area) where-  ivoryType _ = I.TyConstRef (ivoryArea (Proxy :: Proxy area))--instance IvoryArea area => IvoryVar (ConstRef s area) where-  wrapVar    = wrapVarExpr-  unwrapExpr = getConstRef+constRef = pointerCastToConst -instance IvoryArea area => IvoryExpr (ConstRef s area) where-  wrapExpr = ConstRef+type ConstRef = Pointer 'Valid 'Const  -- Dereferencing --------------------------------------------------------------- -class IvoryRef (ref ::  RefScope -> Area * -> *) where-  unwrapRef :: IvoryVar a => ref s ('Stored a) -> I.Expr--instance IvoryRef Ref where-  unwrapRef = unwrapExpr+-- | TODO remove class, leave function only+class IvoryRef (ref :: RefScope -> Area * -> *) where+  unwrapRef+    :: IvoryVar a+    => ref s ('Stored a) -> I.Expr -instance IvoryRef ConstRef where-  unwrapRef = unwrapExpr+instance IvoryRef (Pointer 'Valid c) where+  unwrapRef = getPointer  -- | Dereferenceing. deref :: forall eff ref s a.@@ -83,8 +74,11 @@      ( IvoryRef ref, IvoryVar (Ref sTo a), IvoryVar (ref sFrom a), IvoryArea a)   => Ref sTo a -> ref sFrom a -> Ivory eff () refCopy destRef srcRef =-  emit (I.RefCopy (ivoryArea (Proxy :: Proxy a))-       (unwrapExpr destRef) (unwrapExpr srcRef))+  emit+    (I.RefCopy+       (ivoryArea (Proxy :: Proxy a))+       (unwrapExpr destRef)+       (unwrapExpr srcRef))  -- Storing --------------------------------------------------------------------- @@ -94,7 +88,7 @@   ty = ivoryType (Proxy :: Proxy a)  -- | Things that can be safely stored in references.-class IvoryVar a => IvoryStore a where+class IvoryVar a => IvoryStore a  -- simple types instance IvoryStore IBool@@ -107,3 +101,7 @@ instance IvoryStore Sint16 instance IvoryStore Sint32 instance IvoryStore Sint64++-- Only allow global nullable pointers to be stored in structures.+instance (KnownConstancy c, IvoryArea a) =>+         IvoryStore (Pointer 'Nullable c 'Global a)
+ src/Ivory/Language/Syntax/Concrete/Lexer.hs view
@@ -0,0 +1,498 @@+{-# LANGUAGE CPP #-}+{-# LINE 2 "Lexer.x" #-}+++{-# OPTIONS_GHC -fno-warn-missing-signatures -fno-warn-tabs -fno-warn-unused-matches -fno-warn-unused-imports #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}++--+-- Ivory lexer.+--+-- Copyright (C) 2014, Galois, Inc.+-- All rights reserved.+--+-- Lexer.hs is generated!++module Ivory.Language.Syntax.Concrete.Lexer where++import Prelude ()+import Prelude.Compat++import Data.Char (ord)+import Data.Word (Word8)+import Data.Bits (shiftR,(.&.))+import MonadLib+import qualified Data.Text.Lazy as L++import Ivory.Language.Syntax.Concrete.Lexeme+import Ivory.Language.Syntax.Concrete.Location+++#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,432) [-8,-9,119,184,0,297,0,425,553,0,666,922,858,0,0,923,1147,-42,-32,1227,1392,1328,0,1276,1574,1539,1551,1561,-30,1250,1791,1875,1959,2043,2127,2211,2295,2379,2463,2547,2631,2715,2799,2883,2967,3051,3135,3219,3303,3387,3471,3555,3639,3723,3807,3891,3975,4059,4143,4227,4311,4395,4479,4563,4647,4731,4815,4899,4983,5067,5151,5235,5319,5403,5487,5571,5655,5739,5823,5907,5991,6075,6159,6243,6327,6411,6495,6579,6663,6747,6831,6915,6999,7083,7167,7251,7335,7419,7503,7587,7671,7755,7839,7923,8007,8091,8175,8259,8343,8427,8511,8595,8679,8763,8847,8931,9015,9099,9183,9267,9351,9435,9519,9603,9687,9771,9855,9939,10023,10107,10191,10275,10359,10443,10527,10611,10695,10779,10863,10947,11031,11115,11199,11283,11367,11451,11535,11619,11703,11787,11871,11955,12039,12123,12207,12291,12375,12459,12543,12627,12711,12795,12879,12963,13047,13131,13215,13299,13383,13467,13551,13635,13719,13803,13887,13971,14055,14139,14223,14307,14391,14475,14559,14643,14727,14811,14895,14979,15063,15147,15231,15315,15399,15483,15567,15651,15735,15819,15903,15987,16071,16155,16239,16323,16407,16491,16575,16659,16743,16827,16911,16995,17079,17163,17247,17331,17415,17499,17583,17667,17751,17835,17919,18003,18087,18171,18255,18339,18423,18507,18591,18675,18759,18843,18927,19011,19095,19179,19263,19347,19431,19515,19599,19683,19767,19851,19935,20019,20103,20187,20271,20355,20439,20523,20607,20691,20775,20859,20943,21027,21111,21195,21279,21363,21447,21531,21615,21699,21783,21867,21951,22035,22119,22203,22287,22371,22455,22539,22623,22707,22791,22875,22959,23043,23127,23211,23295,23379,23463,23547,23631,23715,23799,23883,23967,24051,24135,24219,24303,24387,24471,24555,24639,24723,24807,24891,24975,25059,25143,25227,25311,25395,25479,25563,25647,25731,25815,25899,25983,26067,26151,26235,26319,26403,26487,26571,26655,26739,26823,26907,26991,27075,27159,27243,27327,27411,27495,27579,27663,27747,27831,27915,27999,28083,28167,28251,28335,28419,28503,28587,28671,28755,28839,28923,29007,29091,29175,29259,29343,29427,29511,29595,29679,29763,29847,29931,30015,30099,30183,30267,30351,30435,30519,30603,30687,30771,30855,30939,31023,31107,31191,31275,31359,31443,31527,31611,31695,31779,31863,31947,32031,32115,32199,32283,32367,32451,32535,32619,32703,32787,32871,32955,33039,33123,33207,33291,33375,33459,33543,33627,33711,33795,33879,33963,34047,34131,34215,34299,34383,34467,34551,34635,34719,34803,34887,34971,35055,35139,35229,35267,0,0,0]++alex_table :: Array Int Int+alex_table = listArray (0,35522) [0,23,23,23,23,23,29,29,29,29,29,29,29,29,29,29,28,28,28,28,0,0,0,0,23,429,16,429,429,429,429,0,430,430,429,429,431,428,429,429,26,25,25,25,25,25,25,25,25,25,429,431,429,429,429,429,429,393,376,388,389,389,389,111,389,411,389,389,389,389,389,389,389,389,371,110,389,385,389,389,389,389,389,430,0,430,429,429,0,146,226,177,175,301,265,250,250,356,250,250,168,170,246,250,306,250,231,176,178,289,227,250,250,250,250,430,429,430,429,20,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,1,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,12,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,21,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,16,16,432,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,27,27,27,27,27,27,27,27,27,27,23,23,23,23,23,0,0,27,27,27,27,27,27,29,29,29,29,29,29,29,29,29,29,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,27,27,27,27,27,0,0,0,0,0,0,0,0,0,0,0,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,7,6,6,6,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,17,0,25,25,25,25,25,25,25,25,25,25,17,0,25,25,25,25,25,25,25,25,25,25,27,27,27,27,27,27,27,27,27,27,0,0,0,0,0,0,0,27,27,27,27,27,27,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,27,27,27,27,27,27,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,20,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,21,1,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,2,9,9,9,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,344,250,250,250,250,250,250,250,250,250,211,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,150,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,270,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,70,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,71,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,72,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,73,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,74,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,69,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,75,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,402,389,389,389,389,389,389,389,389,389,389,378,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,383,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,392,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,135,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,32,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,33,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,34,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,37,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,39,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,41,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,42,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,46,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,47,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,152,179,250,250,250,250,250,250,250,250,290,250,250,250,250,250,165,48,180,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,50,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,51,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,52,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,53,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,55,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,56,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,57,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,60,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,354,250,250,250,61,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,184,250,250,250,250,64,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,67,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,82,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,89,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,91,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,99,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,133,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,360,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,359,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,140,250,250,250,250,250,250,250,250,250,250,250,250,243,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,141,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,142,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,353,250,250,250,250,250,250,250,250,250,154,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,144,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,351,250,250,250,232,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,149,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,350,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,151,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,153,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,347,250,250,250,250,250,239,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,251,250,250,250,250,250,250,250,346,250,250,250,250,250,250,250,300,250,250,213,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,244,250,250,250,182,250,250,195,250,250,250,250,250,250,156,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,345,250,250,250,250,250,250,250,250,250,250,250,250,250,190,250,250,250,250,250,250,250,249,250,311,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,157,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,343,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,342,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,339,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,323,250,250,250,250,250,250,250,250,250,250,250,250,250,338,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,337,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,336,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,335,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,333,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,332,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,331,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,242,250,250,250,250,250,330,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,160,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,329,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,328,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,325,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,324,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,322,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,321,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,320,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,319,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,318,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,317,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,316,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,315,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,314,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,224,250,250,250,250,250,250,250,0,0,0,0,313,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,312,250,250,250,250,250,250,250,250,250,250,250,163,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,164,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,310,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,309,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,308,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,307,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,167,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,305,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,304,250,250,206,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,302,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,173,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,298,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,183,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,297,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,185,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,186,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,296,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,187,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,189,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,295,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,193,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,256,250,250,250,250,250,194,250,250,215,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,196,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,291,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,214,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,287,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,267,250,250,250,250,250,250,250,250,250,216,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,218,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,219,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,220,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,228,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,221,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,223,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,282,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,280,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,279,250,258,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,233,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,264,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,263,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,237,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,255,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,241,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,254,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,245,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,247,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,248,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,240,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,260,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,238,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,262,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,235,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,234,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,230,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,266,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,229,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,274,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,269,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,278,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,281,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,283,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,284,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,217,250,250,257,250,250,236,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,288,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,253,250,250,250,250,250,250,250,250,250,250,250,250,250,212,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,209,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,208,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,207,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,204,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,203,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,202,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,273,250,272,250,250,271,250,201,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,200,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,199,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,198,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,277,250,276,250,250,275,250,197,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,292,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,293,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,294,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,192,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,191,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,222,250,250,250,250,250,250,250,250,250,250,250,250,250,250,188,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,299,250,250,250,250,181,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,174,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,172,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,171,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,252,250,250,250,250,250,250,303,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,169,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,162,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,161,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,326,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,327,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,159,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,334,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,158,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,340,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,341,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,348,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,166,250,250,250,250,250,250,250,250,250,250,250,349,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,148,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,259,250,250,250,250,250,250,250,250,250,250,250,250,250,147,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,145,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,352,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,155,250,250,143,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,355,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,357,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,358,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,139,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,138,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,137,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,109,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,108,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,107,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,106,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,105,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,104,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,103,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,102,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,101,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,100,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,98,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,97,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,96,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,95,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,94,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,93,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,92,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,90,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,88,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,87,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,86,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,85,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,84,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,83,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,81,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,80,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,79,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,78,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,77,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,76,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,68,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,66,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,65,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,286,250,250,250,250,250,250,63,250,250,250,250,250,250,250,250,250,250,250,225,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,62,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,59,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,58,250,250,250,210,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,54,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,49,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,45,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,44,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,43,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,40,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,38,250,250,250,250,250,250,268,261,250,250,250,250,285,250,250,250,250,205,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,36,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,35,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,31,250,250,250,250,250,250,250,0,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,0,0,0,0,0,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,0,0,0,0,250,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,30,250,250,250,250,250,250,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,112,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,117,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,118,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,129,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,136,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,361,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,427,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,426,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,425,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,424,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,415,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,414,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,364,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,413,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,412,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,410,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,365,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,366,389,389,389,389,389,389,389,389,389,389,389,389,389,398,389,389,382,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,368,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,370,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,408,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,374,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,405,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,403,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,401,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,384,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,394,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,390,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,387,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,395,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,397,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,399,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,400,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,381,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,380,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,377,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,375,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,373,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,372,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,406,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,407,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,409,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,369,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,367,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,419,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,423,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,363,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,362,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,134,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,379,404,386,389,396,389,389,389,389,389,389,389,389,389,389,389,389,391,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,132,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,131,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,130,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,128,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,127,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,126,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,125,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,124,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,418,389,417,389,389,416,389,123,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,122,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,121,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,120,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,422,389,421,389,389,420,389,119,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,116,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,115,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,114,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,389,0,0,0,0,389,0,389,389,389,389,389,389,389,389,389,389,389,113,389,389,389,389,389,389,389,389,389,389,389,389,389,389,429,0,429,429,429,429,0,0,0,429,429,0,24,429,429,0,0,0,0,0,0,0,0,0,0,429,0,429,429,429,429,429,0,0,0,0,0,0,429,0,429,429,429,429,0,0,0,429,429,0,429,429,429,0,0,0,0,0,0,0,0,429,429,429,0,429,429,429,429,429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,429,0,429,0,0,0,0,0,429,429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,429,0,429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,35522) [-1,9,10,11,12,13,48,49,50,51,52,53,54,55,56,57,48,49,48,49,-1,-1,-1,-1,32,33,34,35,36,37,38,-1,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,-1,93,94,95,-1,97,98,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,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,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,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,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,48,49,50,51,52,53,54,55,56,57,9,10,11,12,13,-1,-1,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,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,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,46,-1,48,49,50,51,52,53,54,55,56,57,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,65,66,67,68,69,70,-1,-1,-1,-1,-1,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,98,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,-1,-1,-1,-1,-1,-1,-1,120,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,39,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,33,-1,35,36,37,38,-1,-1,-1,42,43,-1,45,46,47,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,58,-1,60,61,62,63,64,-1,-1,-1,-1,-1,-1,33,-1,35,36,37,38,-1,-1,-1,42,43,-1,45,46,47,-1,-1,-1,-1,-1,-1,-1,-1,94,95,58,-1,60,61,62,63,64,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,124,-1,126,-1,-1,-1,-1,-1,94,95,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,124,-1,126,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-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,432) [-1,-1,-1,13,13,4,4,-1,-1,14,14,16,16,16,22,22,-1,-1,-1,-1,24,24,24,-1,24,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-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,432) [AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccSkip,AlexAccSkip,AlexAcc (alex_action_2),AlexAcc (alex_action_2),AlexAcc (alex_action_3),AlexAcc (alex_action_4),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),AlexAcc (alex_action_15),AlexAcc (alex_action_16),AlexAcc (alex_action_17),AlexAcc (alex_action_18),AlexAcc (alex_action_19),AlexAcc (alex_action_20),AlexAcc (alex_action_21),AlexAcc (alex_action_22),AlexAcc (alex_action_23),AlexAcc (alex_action_24),AlexAcc (alex_action_25),AlexAcc (alex_action_26),AlexAcc (alex_action_27),AlexAcc (alex_action_28),AlexAcc (alex_action_29),AlexAcc (alex_action_30),AlexAcc (alex_action_31),AlexAcc (alex_action_32),AlexAcc (alex_action_33),AlexAcc (alex_action_34),AlexAcc (alex_action_35),AlexAcc (alex_action_36),AlexAcc (alex_action_37),AlexAcc (alex_action_38),AlexAcc (alex_action_39),AlexAcc (alex_action_40),AlexAcc (alex_action_41),AlexAcc (alex_action_42),AlexAcc (alex_action_43),AlexAcc (alex_action_44),AlexAcc (alex_action_45),AlexAcc (alex_action_46),AlexAcc (alex_action_47),AlexAcc (alex_action_48),AlexAcc (alex_action_49),AlexAcc (alex_action_50),AlexAcc (alex_action_51),AlexAcc (alex_action_52),AlexAcc (alex_action_53),AlexAcc (alex_action_54),AlexAcc (alex_action_55),AlexAcc (alex_action_56),AlexAcc (alex_action_57),AlexAcc (alex_action_58),AlexAcc (alex_action_59),AlexAcc (alex_action_60),AlexAcc (alex_action_61),AlexAcc (alex_action_62),AlexAcc (alex_action_63),AlexAcc (alex_action_64),AlexAcc (alex_action_65),AlexAcc (alex_action_66),AlexAcc (alex_action_67),AlexAcc (alex_action_68),AlexAcc (alex_action_69),AlexAcc (alex_action_70),AlexAcc (alex_action_71),AlexAcc (alex_action_72),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),AlexAcc (alex_action_80),AlexAcc (alex_action_81),AlexAcc (alex_action_82),AlexAcc (alex_action_83),AlexAcc (alex_action_84),AlexAcc (alex_action_85),AlexAcc (alex_action_86),AlexAcc (alex_action_87),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_96),AlexAcc (alex_action_97),AlexAcc (alex_action_98),AlexAcc (alex_action_99),AlexAcc (alex_action_100),AlexAcc (alex_action_101),AlexAcc (alex_action_102),AlexAcc (alex_action_103),AlexAcc (alex_action_104),AlexAcc (alex_action_105),AlexAcc (alex_action_106),AlexAcc (alex_action_107),AlexAcc (alex_action_108),AlexAcc (alex_action_109),AlexAcc (alex_action_110),AlexAcc (alex_action_111),AlexAcc (alex_action_112),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_113),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_114),AlexAcc (alex_action_115),AlexAcc (alex_action_115),AlexAcc (alex_action_116),AlexAcc (alex_action_117),AlexAcc (alex_action_118)]+{-# LINE 216 "Lexer.x" #-}+++type AlexInput = LexerInput++data LexerInput = LexerInput+  { liPosn   :: !Position+  , liSource :: FilePath+  , liChar   :: !Char+  , liBytes  :: [Word8]+  , liInput  :: L.Text+  } deriving (Show)++initLexerInput :: FilePath -> L.Text -> LexerInput+initLexerInput source bytes = LexerInput+  { liPosn   = Position 0 1 1+  , liSource = source+  , liChar   = '\n'+  , liBytes  = []+  , liInput  = bytes+  }++-- | Build a range from the lexer state.+mkRange :: LexerInput -> String -> SrcLoc+mkRange li str =+  SrcLoc (Range (liPosn li) (movesPos (liPosn li) str)) (Just (liSource li))++fillBuffer :: LexerInput -> Maybe LexerInput+fillBuffer li = do+  (c,rest) <- L.uncons (liInput li)+  return $! li+    { liPosn  = movePos (liPosn li) c+    , liBytes = utf8Encode c+    , liChar  = c+    , liInput = rest+    }++alexInputPrevChar :: AlexInput -> Char+alexInputPrevChar  = liChar++alexGetByte :: AlexInput -> Maybe (Word8,AlexInput)+alexGetByte li = case liBytes li of+  b:bs -> return (b, li { liBytes = bs })+  _    -> alexGetByte =<< fillBuffer li++-- | Encode a Haskell String to a list of Word8 values, in UTF8 format.+utf8Encode :: Char -> [Word8]+utf8Encode = map fromIntegral . go . ord+ where+  go oc+   | oc <= 0x7f       = [oc]++   | oc <= 0x7ff      = [ 0xc0 + (oc `shiftR` 6)+                        , 0x80 +  oc .&. 0x3f+                        ]++   | oc <= 0xffff     = [ 0xe0 + ( oc `shiftR` 12)+                        , 0x80 + ((oc `shiftR` 6) .&. 0x3f)+                        , 0x80 +   oc             .&. 0x3f+                        ]+   | otherwise        = [ 0xf0 + ( oc `shiftR` 18)+                        , 0x80 + ((oc `shiftR` 12) .&. 0x3f)+                        , 0x80 + ((oc `shiftR` 6)  .&. 0x3f)+                        , 0x80 +   oc              .&. 0x3f+                        ]+++-- Lexer Monad -----------------------------------------------------------------++newtype Lexer a = Lexer+  { unLexer :: StateT LexerState Id a+  } deriving (Functor,Monad,Applicative)++instance StateM Lexer LexerState where+  get = Lexer   get+  set = Lexer . set++data LexerState = LexerState+  { lexerInput :: !LexerInput+  , lexerState :: !Int+  } deriving Show++scan :: FilePath -> L.Text -> [Lexeme]+scan source bytes = fst (runId (runStateT st0 (unLexer loop)))+  where+  st0  = LexerState+    { lexerInput = initLexerInput source bytes+    , lexerState = 0+    }++  loop = do+    inp <- alexGetInput+    sc  <- alexGetStartCode+    case alexScan inp sc of++      AlexToken inp' len action -> do+        alexSetInput inp'+        mb   <- action inp len+        rest <- loop+        case mb of+          Just l   -> return (l:rest)+          Nothing  -> return rest++      AlexSkip inp' _len -> do+        alexSetInput inp'+        loop++      AlexEOF ->+        return [Located mempty TokEOF]++      AlexError inp' ->+        return [Located (mkRange inp' "") (TokError "Lexical error")]++alexSetInput :: AlexInput -> Lexer ()+alexSetInput inp = do+  st <- get+  set $! st { lexerInput = inp }++alexGetInput :: Lexer AlexInput+alexGetInput  = lexerInput `fmap` get+++-- Start Codes -----------------------------------------------------------------++alexGetStartCode :: Lexer Int+alexGetStartCode  = lexerState `fmap` get++alexSetStartCode :: Int -> Lexer ()+alexSetStartCode code = do+  s <- get+  set $! s { lexerState = code }++-- Actions ---------------------------------------------------------------------++type AlexAction result = AlexInput -> Int -> result++-- | Emit a token from the lexer+emitT :: Token -> AlexAction (Lexer (Maybe Lexeme))+emitT tok = emitS (const tok)++emitS :: (String -> Token) -> AlexAction (Lexer (Maybe Lexeme))+emitS mk li len = return (Just $! Located (mkRange li str) (mk str))+  where+  str = L.unpack (L.take (fromIntegral len) (liInput li))++keyword :: AlexAction (Lexer (Maybe Lexeme))+keyword = emitS TokReserved++begin :: Int -> AlexAction (Lexer (Maybe Lexeme))+begin code _ _ = alexSetStartCode code >> return Nothing+++alex_action_2 =  emitS readInteger +alex_action_3 =  emitS readInteger +alex_action_4 =  emitS readBitLit +alex_action_5 =  emitS readFloat +alex_action_6 =  keyword +alex_action_7 =  keyword +alex_action_8 =  keyword +alex_action_9 =  keyword +alex_action_10 =  keyword +alex_action_11 =  keyword +alex_action_12 =  keyword +alex_action_13 =  keyword +alex_action_14 =  keyword +alex_action_15 =  keyword +alex_action_16 =  keyword +alex_action_17 =  keyword +alex_action_18 =  keyword +alex_action_19 =  keyword +alex_action_20 =  keyword +alex_action_21 =  keyword +alex_action_22 =  keyword +alex_action_23 =  keyword +alex_action_24 =  keyword +alex_action_25 =  keyword +alex_action_26 =  keyword +alex_action_27 =  keyword +alex_action_28 =  keyword +alex_action_29 =  keyword +alex_action_30 =  keyword +alex_action_31 =  keyword +alex_action_32 =  keyword +alex_action_33 =  keyword +alex_action_34 =  keyword +alex_action_35 =  keyword +alex_action_36 =  keyword +alex_action_37 =  keyword +alex_action_38 =  keyword +alex_action_39 =  keyword +alex_action_40 =  keyword +alex_action_41 =  keyword +alex_action_42 =  keyword +alex_action_43 =  keyword +alex_action_44 =  keyword +alex_action_45 =  keyword +alex_action_46 =  keyword +alex_action_47 =  keyword +alex_action_48 =  keyword +alex_action_49 =  keyword +alex_action_50 =  keyword +alex_action_51 =  keyword +alex_action_52 =  keyword +alex_action_53 =  keyword +alex_action_54 =  keyword +alex_action_55 =  keyword +alex_action_56 =  keyword +alex_action_57 =  keyword +alex_action_58 =  keyword +alex_action_59 =  keyword +alex_action_60 =  keyword +alex_action_61 =  keyword +alex_action_62 =  keyword +alex_action_63 =  keyword +alex_action_64 =  keyword +alex_action_65 =  keyword +alex_action_66 =  keyword +alex_action_67 =  keyword +alex_action_68 =  keyword +alex_action_69 =  keyword +alex_action_70 =  keyword +alex_action_71 =  keyword +alex_action_72 =  keyword +alex_action_73 =  keyword +alex_action_74 =  keyword +alex_action_75 =  keyword +alex_action_76 =  keyword +alex_action_77 =  keyword +alex_action_78 =  keyword +alex_action_79 =  keyword +alex_action_80 =  keyword +alex_action_81 =  keyword +alex_action_82 =  keyword +alex_action_83 =  keyword +alex_action_84 =  keyword +alex_action_85 =  keyword +alex_action_86 =  keyword +alex_action_87 =  keyword +alex_action_88 =  keyword +alex_action_89 =  keyword +alex_action_90 =  keyword +alex_action_91 =  keyword +alex_action_92 =  keyword +alex_action_93 =  keyword +alex_action_94 =  keyword +alex_action_95 =  keyword +alex_action_96 =  keyword +alex_action_97 =  keyword +alex_action_98 =  keyword +alex_action_99 =  keyword +alex_action_100 =  keyword +alex_action_101 =  keyword +alex_action_102 =  keyword +alex_action_103 =  keyword +alex_action_104 =  keyword +alex_action_105 =  keyword +alex_action_106 =  keyword +alex_action_107 =  keyword +alex_action_108 =  keyword +alex_action_109 =  keyword +alex_action_110 =  keyword +alex_action_111 =  keyword +alex_action_112 =  keyword +alex_action_113 =  emitS TokIdent +alex_action_114 =  emitS TokTyIdent +alex_action_115 =  emitS TokSym +alex_action_116 =  emitS TokBrack +alex_action_117 =  emitS TokSep +alex_action_118 =  emitS readStringLit +{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "<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/Ivory/Language/Syntax/Concrete/Parser.hs view
@@ -0,0 +1,9909 @@+{-# OPTIONS_GHC -w #-}+--+-- Ivory parser.+--+-- Copyright (C) 2014, Galois, Inc.+-- All rights reserved.+--++-- TODO+-- types for allocs++module Ivory.Language.Syntax.Concrete.Parser where++import Prelude ()+import Prelude.Compat++import Ivory.Language.Syntax.Concrete.ParseCore+import Ivory.Language.Syntax.Concrete.ParseAST+import Ivory.Language.Syntax.Concrete.Lexer+import Ivory.Language.Syntax.Concrete.Lexeme ( Token(..), Lexeme )+import Ivory.Language.Syntax.Concrete.Location++import Data.Monoid.Compat+import Control.Applicative(Applicative(..))+import Control.Monad (ap)++-- parser produced by Happy Version 1.19.5++data HappyAbsSyn +	= HappyTerminal (Lexeme)+	| HappyErrorToken Int+	| HappyAbsSyn5 ([GlobalSym])+	| HappyAbsSyn6 (AreaDef)+	| HappyAbsSyn7 (AreaImportDef)+	| HappyAbsSyn8 ([String])+	| HappyAbsSyn9 (String)+	| HappyAbsSyn10 (IncludeDef)+	| HappyAbsSyn11 (ConstDef)+	| HappyAbsSyn12 (ProcDef)+	| HappyAbsSyn13 (IncludeProc)+	| HappyAbsSyn14 (Extern)+	| HappyAbsSyn15 ((Type, Var))+	| HappyAbsSyn16 ([(Type, Var)])+	| HappyAbsSyn17 ([PrePost])+	| HappyAbsSyn19 (PrePost)+	| HappyAbsSyn20 (Located RefVar)+	| HappyAbsSyn24 (Located AllocRef)+	| HappyAbsSyn25 (Stmt)+	| HappyAbsSyn26 (Located (String, [Exp]))+	| HappyAbsSyn28 ([Stmt])+	| HappyAbsSyn29 ([Exp])+	| HappyAbsSyn31 (StructInit)+	| HappyAbsSyn32 ([(FieldNm, Exp)])+	| HappyAbsSyn33 ((FieldNm, Exp))+	| HappyAbsSyn34 (Exp)+	| HappyAbsSyn36 (TypeDef)+	| HappyAbsSyn37 (Type)+	| HappyAbsSyn40 ([SzType])+	| HappyAbsSyn41 (Located SzType)+	| HappyAbsSyn43 (Located Scope)+	| HappyAbsSyn48 (BitTy)+	| HappyAbsSyn49 (StructDef)+	| HappyAbsSyn50 (Located String)+	| HappyAbsSyn51 (Field)+	| HappyAbsSyn52 ([Field])+	| HappyAbsSyn53 (BitDataDef)+	| HappyAbsSyn54 ([Constr])+	| HappyAbsSyn55 (Constr)+	| HappyAbsSyn56 ([BitField])+	| HappyAbsSyn58 (BitField)+	| HappyAbsSyn59 ([LayoutItem])+	| HappyAbsSyn61 (LayoutItem)+	| HappyAbsSyn62 (BitLiteral)++{- 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 +	-> (Lexeme)+	-> HappyState (Lexeme) (HappyStk HappyAbsSyn -> m HappyAbsSyn)+	-> [HappyState (Lexeme) (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 :: () => Int -> ({-HappyReduction (Parser) = -}+	   Int +	-> (Lexeme)+	-> HappyState (Lexeme) (HappyStk HappyAbsSyn -> (Parser) HappyAbsSyn)+	-> [HappyState (Lexeme) (HappyStk HappyAbsSyn -> (Parser) HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> (Parser) 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 :: () => ({-HappyReduction (Parser) = -}+	   Int +	-> (Lexeme)+	-> HappyState (Lexeme) (HappyStk HappyAbsSyn -> (Parser) HappyAbsSyn)+	-> [HappyState (Lexeme) (HappyStk HappyAbsSyn -> (Parser) HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> (Parser) HappyAbsSyn)++action_0 (5) = happyGoto action_5+action_0 _ = happyReduce_12++action_1 (28) = happyGoto action_4+action_1 _ = happyReduce_73++action_2 (5) = happyGoto action_3+action_2 _ = happyFail++action_3 (68) = happyShift action_23+action_3 (69) = happyShift action_24+action_3 (115) = happyShift action_25+action_3 (147) = happyShift action_26+action_3 (155) = happyShift action_27+action_3 (165) = happyShift action_28+action_3 (166) = happyShift action_29+action_3 (167) = happyShift action_30+action_3 (168) = happyShift action_31+action_3 (169) = happyShift action_32+action_3 (170) = happyShift action_33+action_3 (171) = happyShift action_34+action_3 (172) = happyShift action_35+action_3 (173) = happyShift action_36+action_3 (174) = happyShift action_37+action_3 (175) = happyShift action_38+action_3 (176) = happyShift action_39+action_3 (177) = happyShift action_40+action_3 (178) = happyShift action_41+action_3 (179) = happyShift action_42+action_3 (194) = happyShift action_43+action_3 (202) = happyShift action_44+action_3 (203) = happyShift action_45+action_3 (204) = happyShift action_46+action_3 (205) = happyShift action_47+action_3 (206) = happyShift action_48+action_3 (207) = happyShift action_49+action_3 (208) = happyShift action_50+action_3 (209) = happyShift action_51+action_3 (6) = happyGoto action_6+action_3 (7) = happyGoto action_7+action_3 (10) = happyGoto action_8+action_3 (11) = happyGoto action_9+action_3 (12) = happyGoto action_10+action_3 (13) = happyGoto action_11+action_3 (14) = happyGoto action_12+action_3 (36) = happyGoto action_13+action_3 (37) = happyGoto action_14+action_3 (38) = happyGoto action_15+action_3 (39) = happyGoto action_16+action_3 (42) = happyGoto action_17+action_3 (43) = happyGoto action_18+action_3 (49) = happyGoto action_19+action_3 (53) = happyGoto action_20+action_3 (63) = happyGoto action_21+action_3 (64) = happyGoto action_22+action_3 _ = happyReduce_195++action_4 (68) = happyShift action_23+action_4 (69) = happyShift action_57+action_4 (71) = happyShift action_58+action_4 (73) = happyShift action_59+action_4 (74) = happyShift action_60+action_4 (77) = happyShift action_61+action_4 (78) = happyShift action_62+action_4 (79) = happyShift action_63+action_4 (80) = happyShift action_64+action_4 (81) = happyShift action_65+action_4 (82) = happyShift action_66+action_4 (83) = happyShift action_67+action_4 (84) = happyShift action_68+action_4 (85) = happyShift action_69+action_4 (86) = happyShift action_70+action_4 (87) = happyShift action_71+action_4 (88) = happyShift action_72+action_4 (89) = happyShift action_73+action_4 (216) = happyAccept+action_4 (24) = happyGoto action_52+action_4 (25) = happyGoto action_53+action_4 (26) = happyGoto action_54+action_4 (27) = happyGoto action_55+action_4 (63) = happyGoto action_56+action_4 _ = happyFail++action_5 (68) = happyShift action_23+action_5 (69) = happyShift action_24+action_5 (115) = happyShift action_25+action_5 (147) = happyShift action_26+action_5 (155) = happyShift action_27+action_5 (165) = happyShift action_28+action_5 (166) = happyShift action_29+action_5 (167) = happyShift action_30+action_5 (168) = happyShift action_31+action_5 (169) = happyShift action_32+action_5 (170) = happyShift action_33+action_5 (171) = happyShift action_34+action_5 (172) = happyShift action_35+action_5 (173) = happyShift action_36+action_5 (174) = happyShift action_37+action_5 (175) = happyShift action_38+action_5 (176) = happyShift action_39+action_5 (177) = happyShift action_40+action_5 (178) = happyShift action_41+action_5 (179) = happyShift action_42+action_5 (194) = happyShift action_43+action_5 (202) = happyShift action_44+action_5 (203) = happyShift action_45+action_5 (204) = happyShift action_46+action_5 (205) = happyShift action_47+action_5 (206) = happyShift action_48+action_5 (207) = happyShift action_49+action_5 (208) = happyShift action_50+action_5 (209) = happyShift action_51+action_5 (216) = happyAccept+action_5 (6) = happyGoto action_6+action_5 (7) = happyGoto action_7+action_5 (10) = happyGoto action_8+action_5 (11) = happyGoto action_9+action_5 (12) = happyGoto action_10+action_5 (13) = happyGoto action_11+action_5 (14) = happyGoto action_12+action_5 (36) = happyGoto action_13+action_5 (37) = happyGoto action_14+action_5 (38) = happyGoto action_15+action_5 (39) = happyGoto action_16+action_5 (42) = happyGoto action_17+action_5 (43) = happyGoto action_18+action_5 (49) = happyGoto action_19+action_5 (53) = happyGoto action_20+action_5 (63) = happyGoto action_21+action_5 (64) = happyGoto action_22+action_5 _ = happyReduce_195++action_6 _ = happyReduce_10++action_7 _ = happyReduce_11++action_8 _ = happyReduce_9++action_9 _ = happyReduce_8++action_10 _ = happyReduce_2++action_11 _ = happyReduce_3++action_12 _ = happyReduce_4++action_13 _ = happyReduce_7++action_14 (68) = happyShift action_23+action_14 (69) = happyShift action_57+action_14 (79) = happyShift action_63+action_14 (115) = happyShift action_179+action_14 (24) = happyGoto action_177+action_14 (63) = happyGoto action_178+action_14 _ = happyFail++action_15 (159) = happyShift action_176+action_15 _ = happyReduce_163++action_16 _ = happyReduce_166++action_17 _ = happyReduce_164++action_18 (136) = happyShift action_175+action_18 _ = happyFail++action_19 _ = happyReduce_5++action_20 _ = happyReduce_6++action_21 (141) = happyShift action_174+action_21 _ = happyReduce_194++action_22 _ = happyReduce_167++action_23 _ = happyReduce_255++action_24 (132) = happyShift action_173+action_24 _ = happyReduce_257++action_25 (68) = happyShift action_23+action_25 (69) = happyShift action_57+action_25 (178) = happyShift action_41+action_25 (179) = happyShift action_42+action_25 (43) = happyGoto action_172+action_25 (63) = happyGoto action_170+action_25 _ = happyReduce_195++action_26 (68) = happyShift action_23+action_26 (69) = happyShift action_24+action_26 (115) = happyShift action_25+action_26 (147) = happyShift action_26+action_26 (155) = happyShift action_27+action_26 (165) = happyShift action_28+action_26 (166) = happyShift action_29+action_26 (167) = happyShift action_30+action_26 (168) = happyShift action_31+action_26 (169) = happyShift action_32+action_26 (170) = happyShift action_33+action_26 (171) = happyShift action_34+action_26 (172) = happyShift action_35+action_26 (173) = happyShift action_36+action_26 (174) = happyShift action_37+action_26 (175) = happyShift action_38+action_26 (176) = happyShift action_39+action_26 (177) = happyShift action_40+action_26 (178) = happyShift action_41+action_26 (179) = happyShift action_42+action_26 (194) = happyShift action_43+action_26 (202) = happyShift action_145+action_26 (204) = happyShift action_146+action_26 (37) = happyGoto action_171+action_26 (38) = happyGoto action_15+action_26 (39) = happyGoto action_16+action_26 (42) = happyGoto action_17+action_26 (43) = happyGoto action_18+action_26 (63) = happyGoto action_170+action_26 (64) = happyGoto action_22+action_26 _ = happyReduce_195++action_27 (68) = happyShift action_23+action_27 (69) = happyShift action_24+action_27 (115) = happyShift action_25+action_27 (147) = happyShift action_26+action_27 (155) = happyShift action_27+action_27 (165) = happyShift action_28+action_27 (166) = happyShift action_29+action_27 (167) = happyShift action_30+action_27 (168) = happyShift action_31+action_27 (169) = happyShift action_32+action_27 (170) = happyShift action_33+action_27 (171) = happyShift action_34+action_27 (172) = happyShift action_35+action_27 (173) = happyShift action_36+action_27 (174) = happyShift action_37+action_27 (175) = happyShift action_38+action_27 (176) = happyShift action_39+action_27 (177) = happyShift action_40+action_27 (178) = happyShift action_41+action_27 (179) = happyShift action_42+action_27 (194) = happyShift action_43+action_27 (202) = happyShift action_145+action_27 (204) = happyShift action_146+action_27 (37) = happyGoto action_169+action_27 (38) = happyGoto action_15+action_27 (39) = happyGoto action_16+action_27 (42) = happyGoto action_17+action_27 (43) = happyGoto action_18+action_27 (63) = happyGoto action_170+action_27 (64) = happyGoto action_22+action_27 _ = happyReduce_195++action_28 _ = happyReduce_168++action_29 _ = happyReduce_169++action_30 _ = happyReduce_170++action_31 _ = happyReduce_171++action_32 _ = happyReduce_173++action_33 _ = happyReduce_174++action_34 _ = happyReduce_175++action_35 _ = happyReduce_176++action_36 _ = happyReduce_177++action_37 _ = happyReduce_178++action_38 _ = happyReduce_179++action_39 _ = happyReduce_180++action_40 _ = happyReduce_181++action_41 _ = happyReduce_192++action_42 _ = happyReduce_193++action_43 (65) = happyShift action_168+action_43 _ = happyFail++action_44 (68) = happyShift action_23+action_44 (69) = happyShift action_24+action_44 (50) = happyGoto action_165+action_44 (63) = happyGoto action_166+action_44 (64) = happyGoto action_167+action_44 _ = happyFail++action_45 (202) = happyShift action_164+action_45 _ = happyFail++action_46 (202) = happyShift action_163+action_46 _ = happyReduce_172++action_47 (69) = happyShift action_156+action_47 (64) = happyGoto action_162+action_47 _ = happyFail++action_48 (68) = happyShift action_23+action_48 (69) = happyShift action_57+action_48 (63) = happyGoto action_161+action_48 _ = happyFail++action_49 (155) = happyShift action_160+action_49 (8) = happyGoto action_157+action_49 (9) = happyGoto action_159+action_49 _ = happyReduce_18++action_50 (8) = happyGoto action_157+action_50 (9) = happyGoto action_158+action_50 _ = happyReduce_18++action_51 (69) = happyShift action_156+action_51 (64) = happyGoto action_155+action_51 _ = happyFail++action_52 _ = happyReduce_56++action_53 _ = happyReduce_71++action_54 (161) = happyShift action_154+action_54 _ = happyFail++action_55 _ = happyReduce_72++action_56 (155) = happyShift action_152+action_56 (164) = happyShift action_153+action_56 (29) = happyGoto action_151+action_56 _ = happyFail++action_57 (132) = happyShift action_150+action_57 _ = happyFail++action_58 (65) = happyShift action_82+action_58 (66) = happyShift action_83+action_58 (68) = happyShift action_23+action_58 (69) = happyShift action_57+action_58 (70) = happyShift action_84+action_58 (78) = happyShift action_85+action_58 (89) = happyShift action_73+action_58 (90) = happyShift action_86+action_58 (91) = happyShift action_87+action_58 (92) = happyShift action_88+action_58 (93) = happyShift action_89+action_58 (94) = happyShift action_90+action_58 (95) = happyShift action_91+action_58 (96) = happyShift action_92+action_58 (97) = happyShift action_93+action_58 (98) = happyShift action_94+action_58 (99) = happyShift action_95+action_58 (100) = happyShift action_96+action_58 (101) = happyShift action_97+action_58 (102) = happyShift action_98+action_58 (103) = happyShift action_99+action_58 (104) = happyShift action_100+action_58 (105) = happyShift action_101+action_58 (106) = happyShift action_102+action_58 (107) = happyShift action_103+action_58 (108) = happyShift action_104+action_58 (109) = happyShift action_105+action_58 (110) = happyShift action_106+action_58 (111) = happyShift action_107+action_58 (112) = happyShift action_108+action_58 (113) = happyShift action_109+action_58 (114) = happyShift action_110+action_58 (115) = happyShift action_111+action_58 (116) = happyShift action_112+action_58 (117) = happyShift action_113+action_58 (118) = happyShift action_114+action_58 (119) = happyShift action_115+action_58 (120) = happyShift action_116+action_58 (121) = happyShift action_117+action_58 (122) = happyShift action_118+action_58 (123) = happyShift action_119+action_58 (124) = happyShift action_120+action_58 (125) = happyShift action_121+action_58 (126) = happyShift action_122+action_58 (127) = happyShift action_123+action_58 (128) = happyShift action_124+action_58 (136) = happyShift action_125+action_58 (139) = happyShift action_126+action_58 (147) = happyShift action_127+action_58 (149) = happyShift action_128+action_58 (150) = happyShift action_129+action_58 (155) = happyShift action_130+action_58 (26) = happyGoto action_78+action_58 (34) = happyGoto action_149+action_58 (35) = happyGoto action_80+action_58 (63) = happyGoto action_81+action_58 _ = happyFail++action_59 (65) = happyShift action_82+action_59 (66) = happyShift action_83+action_59 (68) = happyShift action_23+action_59 (69) = happyShift action_57+action_59 (70) = happyShift action_84+action_59 (78) = happyShift action_85+action_59 (89) = happyShift action_73+action_59 (90) = happyShift action_86+action_59 (91) = happyShift action_87+action_59 (92) = happyShift action_88+action_59 (93) = happyShift action_89+action_59 (94) = happyShift action_90+action_59 (95) = happyShift action_91+action_59 (96) = happyShift action_92+action_59 (97) = happyShift action_93+action_59 (98) = happyShift action_94+action_59 (99) = happyShift action_95+action_59 (100) = happyShift action_96+action_59 (101) = happyShift action_97+action_59 (102) = happyShift action_98+action_59 (103) = happyShift action_99+action_59 (104) = happyShift action_100+action_59 (105) = happyShift action_101+action_59 (106) = happyShift action_102+action_59 (107) = happyShift action_103+action_59 (108) = happyShift action_104+action_59 (109) = happyShift action_105+action_59 (110) = happyShift action_106+action_59 (111) = happyShift action_107+action_59 (112) = happyShift action_108+action_59 (113) = happyShift action_109+action_59 (114) = happyShift action_110+action_59 (115) = happyShift action_111+action_59 (116) = happyShift action_112+action_59 (117) = happyShift action_113+action_59 (118) = happyShift action_114+action_59 (119) = happyShift action_115+action_59 (120) = happyShift action_116+action_59 (121) = happyShift action_117+action_59 (122) = happyShift action_118+action_59 (123) = happyShift action_119+action_59 (124) = happyShift action_120+action_59 (125) = happyShift action_121+action_59 (126) = happyShift action_122+action_59 (127) = happyShift action_123+action_59 (128) = happyShift action_124+action_59 (136) = happyShift action_125+action_59 (139) = happyShift action_126+action_59 (147) = happyShift action_127+action_59 (149) = happyShift action_128+action_59 (150) = happyShift action_129+action_59 (155) = happyShift action_130+action_59 (26) = happyGoto action_78+action_59 (34) = happyGoto action_148+action_59 (35) = happyGoto action_80+action_59 (63) = happyGoto action_81+action_59 _ = happyFail++action_60 (65) = happyShift action_82+action_60 (66) = happyShift action_83+action_60 (68) = happyShift action_23+action_60 (69) = happyShift action_57+action_60 (70) = happyShift action_84+action_60 (78) = happyShift action_85+action_60 (89) = happyShift action_73+action_60 (90) = happyShift action_86+action_60 (91) = happyShift action_87+action_60 (92) = happyShift action_88+action_60 (93) = happyShift action_89+action_60 (94) = happyShift action_90+action_60 (95) = happyShift action_91+action_60 (96) = happyShift action_92+action_60 (97) = happyShift action_93+action_60 (98) = happyShift action_94+action_60 (99) = happyShift action_95+action_60 (100) = happyShift action_96+action_60 (101) = happyShift action_97+action_60 (102) = happyShift action_98+action_60 (103) = happyShift action_99+action_60 (104) = happyShift action_100+action_60 (105) = happyShift action_101+action_60 (106) = happyShift action_102+action_60 (107) = happyShift action_103+action_60 (108) = happyShift action_104+action_60 (109) = happyShift action_105+action_60 (110) = happyShift action_106+action_60 (111) = happyShift action_107+action_60 (112) = happyShift action_108+action_60 (113) = happyShift action_109+action_60 (114) = happyShift action_110+action_60 (115) = happyShift action_111+action_60 (116) = happyShift action_112+action_60 (117) = happyShift action_113+action_60 (118) = happyShift action_114+action_60 (119) = happyShift action_115+action_60 (120) = happyShift action_116+action_60 (121) = happyShift action_117+action_60 (122) = happyShift action_118+action_60 (123) = happyShift action_119+action_60 (124) = happyShift action_120+action_60 (125) = happyShift action_121+action_60 (126) = happyShift action_122+action_60 (127) = happyShift action_123+action_60 (128) = happyShift action_124+action_60 (136) = happyShift action_125+action_60 (139) = happyShift action_126+action_60 (147) = happyShift action_127+action_60 (149) = happyShift action_128+action_60 (150) = happyShift action_129+action_60 (155) = happyShift action_130+action_60 (26) = happyGoto action_78+action_60 (34) = happyGoto action_147+action_60 (35) = happyGoto action_80+action_60 (63) = happyGoto action_81+action_60 _ = happyFail++action_61 (68) = happyShift action_23+action_61 (69) = happyShift action_24+action_61 (115) = happyShift action_25+action_61 (147) = happyShift action_26+action_61 (155) = happyShift action_27+action_61 (165) = happyShift action_28+action_61 (166) = happyShift action_29+action_61 (167) = happyShift action_30+action_61 (168) = happyShift action_31+action_61 (169) = happyShift action_32+action_61 (170) = happyShift action_33+action_61 (171) = happyShift action_34+action_61 (172) = happyShift action_35+action_61 (173) = happyShift action_36+action_61 (174) = happyShift action_37+action_61 (175) = happyShift action_38+action_61 (176) = happyShift action_39+action_61 (177) = happyShift action_40+action_61 (178) = happyShift action_41+action_61 (179) = happyShift action_42+action_61 (194) = happyShift action_43+action_61 (202) = happyShift action_145+action_61 (204) = happyShift action_146+action_61 (37) = happyGoto action_143+action_61 (38) = happyGoto action_15+action_61 (39) = happyGoto action_16+action_61 (42) = happyGoto action_17+action_61 (43) = happyGoto action_18+action_61 (63) = happyGoto action_144+action_61 (64) = happyGoto action_22+action_61 _ = happyReduce_195++action_62 (65) = happyShift action_82+action_62 (66) = happyShift action_83+action_62 (68) = happyShift action_23+action_62 (69) = happyShift action_57+action_62 (70) = happyShift action_84+action_62 (78) = happyShift action_85+action_62 (89) = happyShift action_73+action_62 (90) = happyShift action_86+action_62 (91) = happyShift action_87+action_62 (92) = happyShift action_88+action_62 (93) = happyShift action_89+action_62 (94) = happyShift action_90+action_62 (95) = happyShift action_91+action_62 (96) = happyShift action_92+action_62 (97) = happyShift action_93+action_62 (98) = happyShift action_94+action_62 (99) = happyShift action_95+action_62 (100) = happyShift action_96+action_62 (101) = happyShift action_97+action_62 (102) = happyShift action_98+action_62 (103) = happyShift action_99+action_62 (104) = happyShift action_100+action_62 (105) = happyShift action_101+action_62 (106) = happyShift action_102+action_62 (107) = happyShift action_103+action_62 (108) = happyShift action_104+action_62 (109) = happyShift action_105+action_62 (110) = happyShift action_106+action_62 (111) = happyShift action_107+action_62 (112) = happyShift action_108+action_62 (113) = happyShift action_109+action_62 (114) = happyShift action_110+action_62 (115) = happyShift action_111+action_62 (116) = happyShift action_112+action_62 (117) = happyShift action_113+action_62 (118) = happyShift action_114+action_62 (119) = happyShift action_115+action_62 (120) = happyShift action_116+action_62 (121) = happyShift action_117+action_62 (122) = happyShift action_118+action_62 (123) = happyShift action_119+action_62 (124) = happyShift action_120+action_62 (125) = happyShift action_121+action_62 (126) = happyShift action_122+action_62 (127) = happyShift action_123+action_62 (128) = happyShift action_124+action_62 (136) = happyShift action_125+action_62 (139) = happyShift action_126+action_62 (147) = happyShift action_127+action_62 (149) = happyShift action_128+action_62 (150) = happyShift action_129+action_62 (155) = happyShift action_130+action_62 (161) = happyShift action_142+action_62 (26) = happyGoto action_78+action_62 (34) = happyGoto action_141+action_62 (35) = happyGoto action_80+action_62 (63) = happyGoto action_81+action_62 _ = happyFail++action_63 (68) = happyShift action_23+action_63 (69) = happyShift action_57+action_63 (136) = happyShift action_140+action_63 (20) = happyGoto action_136+action_63 (21) = happyGoto action_137+action_63 (22) = happyGoto action_138+action_63 (63) = happyGoto action_139+action_63 _ = happyFail++action_64 (65) = happyShift action_82+action_64 (66) = happyShift action_83+action_64 (68) = happyShift action_23+action_64 (69) = happyShift action_57+action_64 (70) = happyShift action_84+action_64 (78) = happyShift action_85+action_64 (89) = happyShift action_73+action_64 (90) = happyShift action_86+action_64 (91) = happyShift action_87+action_64 (92) = happyShift action_88+action_64 (93) = happyShift action_89+action_64 (94) = happyShift action_90+action_64 (95) = happyShift action_91+action_64 (96) = happyShift action_92+action_64 (97) = happyShift action_93+action_64 (98) = happyShift action_94+action_64 (99) = happyShift action_95+action_64 (100) = happyShift action_96+action_64 (101) = happyShift action_97+action_64 (102) = happyShift action_98+action_64 (103) = happyShift action_99+action_64 (104) = happyShift action_100+action_64 (105) = happyShift action_101+action_64 (106) = happyShift action_102+action_64 (107) = happyShift action_103+action_64 (108) = happyShift action_104+action_64 (109) = happyShift action_105+action_64 (110) = happyShift action_106+action_64 (111) = happyShift action_107+action_64 (112) = happyShift action_108+action_64 (113) = happyShift action_109+action_64 (114) = happyShift action_110+action_64 (115) = happyShift action_111+action_64 (116) = happyShift action_112+action_64 (117) = happyShift action_113+action_64 (118) = happyShift action_114+action_64 (119) = happyShift action_115+action_64 (120) = happyShift action_116+action_64 (121) = happyShift action_117+action_64 (122) = happyShift action_118+action_64 (123) = happyShift action_119+action_64 (124) = happyShift action_120+action_64 (125) = happyShift action_121+action_64 (126) = happyShift action_122+action_64 (127) = happyShift action_123+action_64 (128) = happyShift action_124+action_64 (136) = happyShift action_125+action_64 (139) = happyShift action_126+action_64 (147) = happyShift action_127+action_64 (149) = happyShift action_128+action_64 (150) = happyShift action_129+action_64 (155) = happyShift action_130+action_64 (26) = happyGoto action_78+action_64 (34) = happyGoto action_135+action_64 (35) = happyGoto action_80+action_64 (63) = happyGoto action_81+action_64 _ = happyFail++action_65 (68) = happyShift action_23+action_65 (69) = happyShift action_57+action_65 (63) = happyGoto action_134+action_65 _ = happyFail++action_66 (68) = happyShift action_23+action_66 (69) = happyShift action_57+action_66 (63) = happyGoto action_133+action_66 _ = happyFail++action_67 (65) = happyShift action_82+action_67 (66) = happyShift action_83+action_67 (68) = happyShift action_23+action_67 (69) = happyShift action_57+action_67 (70) = happyShift action_84+action_67 (78) = happyShift action_85+action_67 (89) = happyShift action_73+action_67 (90) = happyShift action_86+action_67 (91) = happyShift action_87+action_67 (92) = happyShift action_88+action_67 (93) = happyShift action_89+action_67 (94) = happyShift action_90+action_67 (95) = happyShift action_91+action_67 (96) = happyShift action_92+action_67 (97) = happyShift action_93+action_67 (98) = happyShift action_94+action_67 (99) = happyShift action_95+action_67 (100) = happyShift action_96+action_67 (101) = happyShift action_97+action_67 (102) = happyShift action_98+action_67 (103) = happyShift action_99+action_67 (104) = happyShift action_100+action_67 (105) = happyShift action_101+action_67 (106) = happyShift action_102+action_67 (107) = happyShift action_103+action_67 (108) = happyShift action_104+action_67 (109) = happyShift action_105+action_67 (110) = happyShift action_106+action_67 (111) = happyShift action_107+action_67 (112) = happyShift action_108+action_67 (113) = happyShift action_109+action_67 (114) = happyShift action_110+action_67 (115) = happyShift action_111+action_67 (116) = happyShift action_112+action_67 (117) = happyShift action_113+action_67 (118) = happyShift action_114+action_67 (119) = happyShift action_115+action_67 (120) = happyShift action_116+action_67 (121) = happyShift action_117+action_67 (122) = happyShift action_118+action_67 (123) = happyShift action_119+action_67 (124) = happyShift action_120+action_67 (125) = happyShift action_121+action_67 (126) = happyShift action_122+action_67 (127) = happyShift action_123+action_67 (128) = happyShift action_124+action_67 (136) = happyShift action_125+action_67 (139) = happyShift action_126+action_67 (147) = happyShift action_127+action_67 (149) = happyShift action_128+action_67 (150) = happyShift action_129+action_67 (155) = happyShift action_130+action_67 (26) = happyGoto action_78+action_67 (34) = happyGoto action_132+action_67 (35) = happyGoto action_80+action_67 (63) = happyGoto action_81+action_67 _ = happyFail++action_68 (155) = happyShift action_131+action_68 _ = happyFail++action_69 (65) = happyShift action_82+action_69 (66) = happyShift action_83+action_69 (68) = happyShift action_23+action_69 (69) = happyShift action_57+action_69 (70) = happyShift action_84+action_69 (78) = happyShift action_85+action_69 (89) = happyShift action_73+action_69 (90) = happyShift action_86+action_69 (91) = happyShift action_87+action_69 (92) = happyShift action_88+action_69 (93) = happyShift action_89+action_69 (94) = happyShift action_90+action_69 (95) = happyShift action_91+action_69 (96) = happyShift action_92+action_69 (97) = happyShift action_93+action_69 (98) = happyShift action_94+action_69 (99) = happyShift action_95+action_69 (100) = happyShift action_96+action_69 (101) = happyShift action_97+action_69 (102) = happyShift action_98+action_69 (103) = happyShift action_99+action_69 (104) = happyShift action_100+action_69 (105) = happyShift action_101+action_69 (106) = happyShift action_102+action_69 (107) = happyShift action_103+action_69 (108) = happyShift action_104+action_69 (109) = happyShift action_105+action_69 (110) = happyShift action_106+action_69 (111) = happyShift action_107+action_69 (112) = happyShift action_108+action_69 (113) = happyShift action_109+action_69 (114) = happyShift action_110+action_69 (115) = happyShift action_111+action_69 (116) = happyShift action_112+action_69 (117) = happyShift action_113+action_69 (118) = happyShift action_114+action_69 (119) = happyShift action_115+action_69 (120) = happyShift action_116+action_69 (121) = happyShift action_117+action_69 (122) = happyShift action_118+action_69 (123) = happyShift action_119+action_69 (124) = happyShift action_120+action_69 (125) = happyShift action_121+action_69 (126) = happyShift action_122+action_69 (127) = happyShift action_123+action_69 (128) = happyShift action_124+action_69 (136) = happyShift action_125+action_69 (139) = happyShift action_126+action_69 (147) = happyShift action_127+action_69 (149) = happyShift action_128+action_69 (150) = happyShift action_129+action_69 (155) = happyShift action_130+action_69 (26) = happyGoto action_78+action_69 (34) = happyGoto action_79+action_69 (35) = happyGoto action_80+action_69 (63) = happyGoto action_81+action_69 _ = happyFail++action_70 (155) = happyShift action_77+action_70 _ = happyFail++action_71 (157) = happyShift action_76+action_71 _ = happyFail++action_72 (161) = happyShift action_75+action_72 _ = happyFail++action_73 (68) = happyShift action_23+action_73 (69) = happyShift action_57+action_73 (63) = happyGoto action_74+action_73 _ = happyFail++action_74 (155) = happyShift action_152+action_74 (29) = happyGoto action_299+action_74 _ = happyReduce_62++action_75 _ = happyReduce_61++action_76 (28) = happyGoto action_298+action_76 _ = happyReduce_73++action_77 (65) = happyShift action_82+action_77 (66) = happyShift action_83+action_77 (68) = happyShift action_23+action_77 (69) = happyShift action_57+action_77 (70) = happyShift action_84+action_77 (78) = happyShift action_85+action_77 (89) = happyShift action_73+action_77 (90) = happyShift action_86+action_77 (91) = happyShift action_87+action_77 (92) = happyShift action_88+action_77 (93) = happyShift action_89+action_77 (94) = happyShift action_90+action_77 (95) = happyShift action_91+action_77 (96) = happyShift action_92+action_77 (97) = happyShift action_93+action_77 (98) = happyShift action_94+action_77 (99) = happyShift action_95+action_77 (100) = happyShift action_96+action_77 (101) = happyShift action_97+action_77 (102) = happyShift action_98+action_77 (103) = happyShift action_99+action_77 (104) = happyShift action_100+action_77 (105) = happyShift action_101+action_77 (106) = happyShift action_102+action_77 (107) = happyShift action_103+action_77 (108) = happyShift action_104+action_77 (109) = happyShift action_105+action_77 (110) = happyShift action_106+action_77 (111) = happyShift action_107+action_77 (112) = happyShift action_108+action_77 (113) = happyShift action_109+action_77 (114) = happyShift action_110+action_77 (115) = happyShift action_111+action_77 (116) = happyShift action_112+action_77 (117) = happyShift action_113+action_77 (118) = happyShift action_114+action_77 (119) = happyShift action_115+action_77 (120) = happyShift action_116+action_77 (121) = happyShift action_117+action_77 (122) = happyShift action_118+action_77 (123) = happyShift action_119+action_77 (124) = happyShift action_120+action_77 (125) = happyShift action_121+action_77 (126) = happyShift action_122+action_77 (127) = happyShift action_123+action_77 (128) = happyShift action_124+action_77 (136) = happyShift action_125+action_77 (139) = happyShift action_126+action_77 (147) = happyShift action_127+action_77 (149) = happyShift action_128+action_77 (150) = happyShift action_129+action_77 (155) = happyShift action_130+action_77 (26) = happyGoto action_78+action_77 (34) = happyGoto action_297+action_77 (35) = happyGoto action_80+action_77 (63) = happyGoto action_81+action_77 _ = happyFail++action_78 _ = happyReduce_99++action_79 (68) = happyShift action_23+action_79 (69) = happyShift action_57+action_79 (130) = happyShift action_206+action_79 (132) = happyShift action_207+action_79 (133) = happyShift action_208+action_79 (134) = happyShift action_209+action_79 (135) = happyShift action_210+action_79 (136) = happyShift action_211+action_79 (137) = happyShift action_212+action_79 (138) = happyShift action_213+action_79 (139) = happyShift action_214+action_79 (140) = happyShift action_215+action_79 (142) = happyShift action_216+action_79 (143) = happyShift action_217+action_79 (144) = happyShift action_218+action_79 (145) = happyShift action_219+action_79 (146) = happyShift action_220+action_79 (147) = happyShift action_221+action_79 (148) = happyShift action_222+action_79 (151) = happyShift action_223+action_79 (152) = happyShift action_224+action_79 (153) = happyShift action_225+action_79 (154) = happyShift action_226+action_79 (159) = happyShift action_228+action_79 (163) = happyShift action_229+action_79 (63) = happyGoto action_296+action_79 _ = happyFail++action_80 _ = happyReduce_98++action_81 (155) = happyShift action_152+action_81 (29) = happyGoto action_295+action_81 _ = happyReduce_89++action_82 _ = happyReduce_86++action_83 _ = happyReduce_88++action_84 _ = happyReduce_87++action_85 _ = happyReduce_90++action_86 (155) = happyShift action_152+action_86 (29) = happyGoto action_294+action_86 _ = happyFail++action_87 (155) = happyShift action_152+action_87 (29) = happyGoto action_293+action_87 _ = happyFail++action_88 (155) = happyShift action_152+action_88 (29) = happyGoto action_292+action_88 _ = happyFail++action_89 (155) = happyShift action_152+action_89 (29) = happyGoto action_291+action_89 _ = happyFail++action_90 (155) = happyShift action_152+action_90 (29) = happyGoto action_290+action_90 _ = happyFail++action_91 (155) = happyShift action_152+action_91 (29) = happyGoto action_289+action_91 _ = happyFail++action_92 (155) = happyShift action_152+action_92 (29) = happyGoto action_288+action_92 _ = happyFail++action_93 (155) = happyShift action_152+action_93 (29) = happyGoto action_287+action_93 _ = happyFail++action_94 (155) = happyShift action_152+action_94 (29) = happyGoto action_286+action_94 _ = happyFail++action_95 (155) = happyShift action_152+action_95 (29) = happyGoto action_285+action_95 _ = happyFail++action_96 (155) = happyShift action_152+action_96 (29) = happyGoto action_284+action_96 _ = happyFail++action_97 (155) = happyShift action_152+action_97 (29) = happyGoto action_283+action_97 _ = happyFail++action_98 (155) = happyShift action_152+action_98 (29) = happyGoto action_282+action_98 _ = happyFail++action_99 (155) = happyShift action_152+action_99 (29) = happyGoto action_281+action_99 _ = happyFail++action_100 (155) = happyShift action_152+action_100 (29) = happyGoto action_280+action_100 _ = happyFail++action_101 (155) = happyShift action_152+action_101 (29) = happyGoto action_279+action_101 _ = happyFail++action_102 (155) = happyShift action_152+action_102 (29) = happyGoto action_278+action_102 _ = happyFail++action_103 (155) = happyShift action_152+action_103 (29) = happyGoto action_277+action_103 _ = happyFail++action_104 (155) = happyShift action_152+action_104 (29) = happyGoto action_276+action_104 _ = happyFail++action_105 (155) = happyShift action_152+action_105 (29) = happyGoto action_275+action_105 _ = happyFail++action_106 (155) = happyShift action_152+action_106 (29) = happyGoto action_274+action_106 _ = happyFail++action_107 (155) = happyShift action_152+action_107 (29) = happyGoto action_273+action_107 _ = happyFail++action_108 (155) = happyShift action_152+action_108 (29) = happyGoto action_272+action_108 _ = happyFail++action_109 (155) = happyShift action_152+action_109 (29) = happyGoto action_271+action_109 _ = happyFail++action_110 (155) = happyShift action_152+action_110 (29) = happyGoto action_270+action_110 _ = happyFail++action_111 (155) = happyShift action_152+action_111 (29) = happyGoto action_269+action_111 _ = happyFail++action_112 (155) = happyShift action_152+action_112 (29) = happyGoto action_268+action_112 _ = happyFail++action_113 (155) = happyShift action_152+action_113 (29) = happyGoto action_267+action_113 _ = happyFail++action_114 (155) = happyShift action_152+action_114 (29) = happyGoto action_266+action_114 _ = happyFail++action_115 (155) = happyShift action_152+action_115 (29) = happyGoto action_265+action_115 _ = happyFail++action_116 (155) = happyShift action_152+action_116 (29) = happyGoto action_264+action_116 _ = happyFail++action_117 (155) = happyShift action_152+action_117 (29) = happyGoto action_263+action_117 _ = happyFail++action_118 (155) = happyShift action_152+action_118 (29) = happyGoto action_262+action_118 _ = happyFail++action_119 (155) = happyShift action_152+action_119 (29) = happyGoto action_261+action_119 _ = happyFail++action_120 (155) = happyShift action_152+action_120 (29) = happyGoto action_260+action_120 _ = happyFail++action_121 (155) = happyShift action_152+action_121 (29) = happyGoto action_259+action_121 _ = happyFail++action_122 (155) = happyShift action_152+action_122 (29) = happyGoto action_258+action_122 _ = happyFail++action_123 (155) = happyShift action_152+action_123 (29) = happyGoto action_257+action_123 _ = happyFail++action_124 (155) = happyShift action_152+action_124 (29) = happyGoto action_256+action_124 _ = happyFail++action_125 (65) = happyShift action_82+action_125 (66) = happyShift action_83+action_125 (68) = happyShift action_23+action_125 (69) = happyShift action_57+action_125 (70) = happyShift action_84+action_125 (78) = happyShift action_85+action_125 (89) = happyShift action_73+action_125 (90) = happyShift action_86+action_125 (91) = happyShift action_87+action_125 (92) = happyShift action_88+action_125 (93) = happyShift action_89+action_125 (94) = happyShift action_90+action_125 (95) = happyShift action_91+action_125 (96) = happyShift action_92+action_125 (97) = happyShift action_93+action_125 (98) = happyShift action_94+action_125 (99) = happyShift action_95+action_125 (100) = happyShift action_96+action_125 (101) = happyShift action_97+action_125 (102) = happyShift action_98+action_125 (103) = happyShift action_99+action_125 (104) = happyShift action_100+action_125 (105) = happyShift action_101+action_125 (106) = happyShift action_102+action_125 (107) = happyShift action_103+action_125 (108) = happyShift action_104+action_125 (109) = happyShift action_105+action_125 (110) = happyShift action_106+action_125 (111) = happyShift action_107+action_125 (112) = happyShift action_108+action_125 (113) = happyShift action_109+action_125 (114) = happyShift action_110+action_125 (115) = happyShift action_111+action_125 (116) = happyShift action_112+action_125 (117) = happyShift action_113+action_125 (118) = happyShift action_114+action_125 (119) = happyShift action_115+action_125 (120) = happyShift action_116+action_125 (121) = happyShift action_117+action_125 (122) = happyShift action_118+action_125 (123) = happyShift action_119+action_125 (124) = happyShift action_120+action_125 (125) = happyShift action_121+action_125 (126) = happyShift action_122+action_125 (127) = happyShift action_123+action_125 (128) = happyShift action_124+action_125 (136) = happyShift action_125+action_125 (139) = happyShift action_126+action_125 (147) = happyShift action_127+action_125 (149) = happyShift action_128+action_125 (150) = happyShift action_129+action_125 (155) = happyShift action_130+action_125 (26) = happyGoto action_78+action_125 (34) = happyGoto action_255+action_125 (35) = happyGoto action_80+action_125 (63) = happyGoto action_81+action_125 _ = happyFail++action_126 (65) = happyShift action_82+action_126 (66) = happyShift action_83+action_126 (68) = happyShift action_23+action_126 (69) = happyShift action_57+action_126 (70) = happyShift action_84+action_126 (78) = happyShift action_85+action_126 (89) = happyShift action_73+action_126 (90) = happyShift action_86+action_126 (91) = happyShift action_87+action_126 (92) = happyShift action_88+action_126 (93) = happyShift action_89+action_126 (94) = happyShift action_90+action_126 (95) = happyShift action_91+action_126 (96) = happyShift action_92+action_126 (97) = happyShift action_93+action_126 (98) = happyShift action_94+action_126 (99) = happyShift action_95+action_126 (100) = happyShift action_96+action_126 (101) = happyShift action_97+action_126 (102) = happyShift action_98+action_126 (103) = happyShift action_99+action_126 (104) = happyShift action_100+action_126 (105) = happyShift action_101+action_126 (106) = happyShift action_102+action_126 (107) = happyShift action_103+action_126 (108) = happyShift action_104+action_126 (109) = happyShift action_105+action_126 (110) = happyShift action_106+action_126 (111) = happyShift action_107+action_126 (112) = happyShift action_108+action_126 (113) = happyShift action_109+action_126 (114) = happyShift action_110+action_126 (115) = happyShift action_111+action_126 (116) = happyShift action_112+action_126 (117) = happyShift action_113+action_126 (118) = happyShift action_114+action_126 (119) = happyShift action_115+action_126 (120) = happyShift action_116+action_126 (121) = happyShift action_117+action_126 (122) = happyShift action_118+action_126 (123) = happyShift action_119+action_126 (124) = happyShift action_120+action_126 (125) = happyShift action_121+action_126 (126) = happyShift action_122+action_126 (127) = happyShift action_123+action_126 (128) = happyShift action_124+action_126 (136) = happyShift action_125+action_126 (139) = happyShift action_126+action_126 (147) = happyShift action_127+action_126 (149) = happyShift action_128+action_126 (150) = happyShift action_129+action_126 (155) = happyShift action_130+action_126 (26) = happyGoto action_78+action_126 (34) = happyGoto action_254+action_126 (35) = happyGoto action_80+action_126 (63) = happyGoto action_81+action_126 _ = happyFail++action_127 (68) = happyShift action_23+action_127 (69) = happyShift action_57+action_127 (63) = happyGoto action_253+action_127 _ = happyFail++action_128 (65) = happyShift action_82+action_128 (66) = happyShift action_83+action_128 (68) = happyShift action_23+action_128 (69) = happyShift action_57+action_128 (70) = happyShift action_84+action_128 (78) = happyShift action_85+action_128 (89) = happyShift action_73+action_128 (90) = happyShift action_86+action_128 (91) = happyShift action_87+action_128 (92) = happyShift action_88+action_128 (93) = happyShift action_89+action_128 (94) = happyShift action_90+action_128 (95) = happyShift action_91+action_128 (96) = happyShift action_92+action_128 (97) = happyShift action_93+action_128 (98) = happyShift action_94+action_128 (99) = happyShift action_95+action_128 (100) = happyShift action_96+action_128 (101) = happyShift action_97+action_128 (102) = happyShift action_98+action_128 (103) = happyShift action_99+action_128 (104) = happyShift action_100+action_128 (105) = happyShift action_101+action_128 (106) = happyShift action_102+action_128 (107) = happyShift action_103+action_128 (108) = happyShift action_104+action_128 (109) = happyShift action_105+action_128 (110) = happyShift action_106+action_128 (111) = happyShift action_107+action_128 (112) = happyShift action_108+action_128 (113) = happyShift action_109+action_128 (114) = happyShift action_110+action_128 (115) = happyShift action_111+action_128 (116) = happyShift action_112+action_128 (117) = happyShift action_113+action_128 (118) = happyShift action_114+action_128 (119) = happyShift action_115+action_128 (120) = happyShift action_116+action_128 (121) = happyShift action_117+action_128 (122) = happyShift action_118+action_128 (123) = happyShift action_119+action_128 (124) = happyShift action_120+action_128 (125) = happyShift action_121+action_128 (126) = happyShift action_122+action_128 (127) = happyShift action_123+action_128 (128) = happyShift action_124+action_128 (136) = happyShift action_125+action_128 (139) = happyShift action_126+action_128 (147) = happyShift action_127+action_128 (149) = happyShift action_128+action_128 (150) = happyShift action_129+action_128 (155) = happyShift action_130+action_128 (26) = happyGoto action_78+action_128 (34) = happyGoto action_252+action_128 (35) = happyGoto action_80+action_128 (63) = happyGoto action_81+action_128 _ = happyFail++action_129 (65) = happyShift action_82+action_129 (66) = happyShift action_83+action_129 (68) = happyShift action_23+action_129 (69) = happyShift action_57+action_129 (70) = happyShift action_84+action_129 (78) = happyShift action_85+action_129 (89) = happyShift action_73+action_129 (90) = happyShift action_86+action_129 (91) = happyShift action_87+action_129 (92) = happyShift action_88+action_129 (93) = happyShift action_89+action_129 (94) = happyShift action_90+action_129 (95) = happyShift action_91+action_129 (96) = happyShift action_92+action_129 (97) = happyShift action_93+action_129 (98) = happyShift action_94+action_129 (99) = happyShift action_95+action_129 (100) = happyShift action_96+action_129 (101) = happyShift action_97+action_129 (102) = happyShift action_98+action_129 (103) = happyShift action_99+action_129 (104) = happyShift action_100+action_129 (105) = happyShift action_101+action_129 (106) = happyShift action_102+action_129 (107) = happyShift action_103+action_129 (108) = happyShift action_104+action_129 (109) = happyShift action_105+action_129 (110) = happyShift action_106+action_129 (111) = happyShift action_107+action_129 (112) = happyShift action_108+action_129 (113) = happyShift action_109+action_129 (114) = happyShift action_110+action_129 (115) = happyShift action_111+action_129 (116) = happyShift action_112+action_129 (117) = happyShift action_113+action_129 (118) = happyShift action_114+action_129 (119) = happyShift action_115+action_129 (120) = happyShift action_116+action_129 (121) = happyShift action_117+action_129 (122) = happyShift action_118+action_129 (123) = happyShift action_119+action_129 (124) = happyShift action_120+action_129 (125) = happyShift action_121+action_129 (126) = happyShift action_122+action_129 (127) = happyShift action_123+action_129 (128) = happyShift action_124+action_129 (136) = happyShift action_125+action_129 (139) = happyShift action_126+action_129 (147) = happyShift action_127+action_129 (149) = happyShift action_128+action_129 (150) = happyShift action_129+action_129 (155) = happyShift action_130+action_129 (26) = happyGoto action_78+action_129 (34) = happyGoto action_251+action_129 (35) = happyGoto action_80+action_129 (63) = happyGoto action_81+action_129 _ = happyFail++action_130 (65) = happyShift action_82+action_130 (66) = happyShift action_83+action_130 (68) = happyShift action_23+action_130 (69) = happyShift action_57+action_130 (70) = happyShift action_84+action_130 (78) = happyShift action_85+action_130 (89) = happyShift action_73+action_130 (90) = happyShift action_86+action_130 (91) = happyShift action_87+action_130 (92) = happyShift action_88+action_130 (93) = happyShift action_89+action_130 (94) = happyShift action_90+action_130 (95) = happyShift action_91+action_130 (96) = happyShift action_92+action_130 (97) = happyShift action_93+action_130 (98) = happyShift action_94+action_130 (99) = happyShift action_95+action_130 (100) = happyShift action_96+action_130 (101) = happyShift action_97+action_130 (102) = happyShift action_98+action_130 (103) = happyShift action_99+action_130 (104) = happyShift action_100+action_130 (105) = happyShift action_101+action_130 (106) = happyShift action_102+action_130 (107) = happyShift action_103+action_130 (108) = happyShift action_104+action_130 (109) = happyShift action_105+action_130 (110) = happyShift action_106+action_130 (111) = happyShift action_107+action_130 (112) = happyShift action_108+action_130 (113) = happyShift action_109+action_130 (114) = happyShift action_110+action_130 (115) = happyShift action_111+action_130 (116) = happyShift action_112+action_130 (117) = happyShift action_113+action_130 (118) = happyShift action_114+action_130 (119) = happyShift action_115+action_130 (120) = happyShift action_116+action_130 (121) = happyShift action_117+action_130 (122) = happyShift action_118+action_130 (123) = happyShift action_119+action_130 (124) = happyShift action_120+action_130 (125) = happyShift action_121+action_130 (126) = happyShift action_122+action_130 (127) = happyShift action_123+action_130 (128) = happyShift action_124+action_130 (136) = happyShift action_125+action_130 (139) = happyShift action_126+action_130 (147) = happyShift action_127+action_130 (149) = happyShift action_128+action_130 (150) = happyShift action_129+action_130 (155) = happyShift action_130+action_130 (26) = happyGoto action_78+action_130 (34) = happyGoto action_250+action_130 (35) = happyGoto action_80+action_130 (63) = happyGoto action_81+action_130 _ = happyFail++action_131 (65) = happyShift action_82+action_131 (66) = happyShift action_83+action_131 (68) = happyShift action_23+action_131 (69) = happyShift action_57+action_131 (70) = happyShift action_84+action_131 (78) = happyShift action_85+action_131 (89) = happyShift action_73+action_131 (90) = happyShift action_86+action_131 (91) = happyShift action_87+action_131 (92) = happyShift action_88+action_131 (93) = happyShift action_89+action_131 (94) = happyShift action_90+action_131 (95) = happyShift action_91+action_131 (96) = happyShift action_92+action_131 (97) = happyShift action_93+action_131 (98) = happyShift action_94+action_131 (99) = happyShift action_95+action_131 (100) = happyShift action_96+action_131 (101) = happyShift action_97+action_131 (102) = happyShift action_98+action_131 (103) = happyShift action_99+action_131 (104) = happyShift action_100+action_131 (105) = happyShift action_101+action_131 (106) = happyShift action_102+action_131 (107) = happyShift action_103+action_131 (108) = happyShift action_104+action_131 (109) = happyShift action_105+action_131 (110) = happyShift action_106+action_131 (111) = happyShift action_107+action_131 (112) = happyShift action_108+action_131 (113) = happyShift action_109+action_131 (114) = happyShift action_110+action_131 (115) = happyShift action_111+action_131 (116) = happyShift action_112+action_131 (117) = happyShift action_113+action_131 (118) = happyShift action_114+action_131 (119) = happyShift action_115+action_131 (120) = happyShift action_116+action_131 (121) = happyShift action_117+action_131 (122) = happyShift action_118+action_131 (123) = happyShift action_119+action_131 (124) = happyShift action_120+action_131 (125) = happyShift action_121+action_131 (126) = happyShift action_122+action_131 (127) = happyShift action_123+action_131 (128) = happyShift action_124+action_131 (136) = happyShift action_125+action_131 (139) = happyShift action_126+action_131 (147) = happyShift action_127+action_131 (149) = happyShift action_128+action_131 (150) = happyShift action_129+action_131 (155) = happyShift action_130+action_131 (26) = happyGoto action_78+action_131 (34) = happyGoto action_249+action_131 (35) = happyGoto action_80+action_131 (63) = happyGoto action_81+action_131 _ = happyFail++action_132 (68) = happyShift action_23+action_132 (69) = happyShift action_57+action_132 (130) = happyShift action_206+action_132 (132) = happyShift action_207+action_132 (133) = happyShift action_208+action_132 (134) = happyShift action_209+action_132 (135) = happyShift action_210+action_132 (136) = happyShift action_211+action_132 (137) = happyShift action_212+action_132 (138) = happyShift action_213+action_132 (139) = happyShift action_214+action_132 (140) = happyShift action_215+action_132 (142) = happyShift action_216+action_132 (143) = happyShift action_217+action_132 (144) = happyShift action_218+action_132 (145) = happyShift action_219+action_132 (146) = happyShift action_220+action_132 (147) = happyShift action_221+action_132 (148) = happyShift action_222+action_132 (151) = happyShift action_223+action_132 (152) = happyShift action_224+action_132 (153) = happyShift action_225+action_132 (154) = happyShift action_226+action_132 (159) = happyShift action_228+action_132 (163) = happyShift action_229+action_132 (63) = happyGoto action_248+action_132 _ = happyFail++action_133 (157) = happyShift action_247+action_133 _ = happyFail++action_134 (68) = happyShift action_23+action_134 (69) = happyShift action_57+action_134 (63) = happyGoto action_246+action_134 _ = happyFail++action_135 (130) = happyShift action_206+action_135 (132) = happyShift action_207+action_135 (133) = happyShift action_208+action_135 (134) = happyShift action_209+action_135 (135) = happyShift action_210+action_135 (136) = happyShift action_211+action_135 (137) = happyShift action_212+action_135 (138) = happyShift action_213+action_135 (139) = happyShift action_214+action_135 (140) = happyShift action_215+action_135 (142) = happyShift action_216+action_135 (143) = happyShift action_217+action_135 (144) = happyShift action_218+action_135 (145) = happyShift action_219+action_135 (146) = happyShift action_220+action_135 (147) = happyShift action_221+action_135 (148) = happyShift action_222+action_135 (151) = happyShift action_223+action_135 (152) = happyShift action_224+action_135 (153) = happyShift action_225+action_135 (154) = happyShift action_226+action_135 (159) = happyShift action_228+action_135 (163) = happyShift action_229+action_135 (213) = happyShift action_245+action_135 _ = happyFail++action_136 (141) = happyShift action_243+action_136 (161) = happyShift action_244+action_136 _ = happyFail++action_137 (141) = happyShift action_241+action_137 (161) = happyShift action_242+action_137 _ = happyFail++action_138 (141) = happyShift action_239+action_138 (161) = happyShift action_240+action_138 _ = happyFail++action_139 (157) = happyShift action_237+action_139 (159) = happyShift action_238+action_139 _ = happyFail++action_140 (68) = happyShift action_23+action_140 (69) = happyShift action_57+action_140 (63) = happyGoto action_236+action_140 _ = happyFail++action_141 (130) = happyShift action_206+action_141 (132) = happyShift action_207+action_141 (133) = happyShift action_208+action_141 (134) = happyShift action_209+action_141 (135) = happyShift action_210+action_141 (136) = happyShift action_211+action_141 (137) = happyShift action_212+action_141 (138) = happyShift action_213+action_141 (139) = happyShift action_214+action_141 (140) = happyShift action_215+action_141 (142) = happyShift action_216+action_141 (143) = happyShift action_217+action_141 (144) = happyShift action_218+action_141 (145) = happyShift action_219+action_141 (146) = happyShift action_220+action_141 (147) = happyShift action_221+action_141 (148) = happyShift action_222+action_141 (151) = happyShift action_223+action_141 (152) = happyShift action_224+action_141 (153) = happyShift action_225+action_141 (154) = happyShift action_226+action_141 (159) = happyShift action_228+action_141 (161) = happyShift action_235+action_141 (163) = happyShift action_229+action_141 _ = happyFail++action_142 _ = happyReduce_53++action_143 (68) = happyShift action_23+action_143 (69) = happyShift action_57+action_143 (63) = happyGoto action_234+action_143 _ = happyFail++action_144 (141) = happyShift action_233+action_144 _ = happyReduce_194++action_145 (68) = happyShift action_23+action_145 (69) = happyShift action_24+action_145 (50) = happyGoto action_232+action_145 (63) = happyGoto action_166+action_145 (64) = happyGoto action_167+action_145 _ = happyFail++action_146 _ = happyReduce_172++action_147 (130) = happyShift action_206+action_147 (132) = happyShift action_207+action_147 (133) = happyShift action_208+action_147 (134) = happyShift action_209+action_147 (135) = happyShift action_210+action_147 (136) = happyShift action_211+action_147 (137) = happyShift action_212+action_147 (138) = happyShift action_213+action_147 (139) = happyShift action_214+action_147 (140) = happyShift action_215+action_147 (142) = happyShift action_216+action_147 (143) = happyShift action_217+action_147 (144) = happyShift action_218+action_147 (145) = happyShift action_219+action_147 (146) = happyShift action_220+action_147 (147) = happyShift action_221+action_147 (148) = happyShift action_222+action_147 (151) = happyShift action_223+action_147 (152) = happyShift action_224+action_147 (153) = happyShift action_225+action_147 (154) = happyShift action_226+action_147 (159) = happyShift action_228+action_147 (161) = happyShift action_231+action_147 (163) = happyShift action_229+action_147 _ = happyFail++action_148 (130) = happyShift action_206+action_148 (132) = happyShift action_207+action_148 (133) = happyShift action_208+action_148 (134) = happyShift action_209+action_148 (135) = happyShift action_210+action_148 (136) = happyShift action_211+action_148 (137) = happyShift action_212+action_148 (138) = happyShift action_213+action_148 (139) = happyShift action_214+action_148 (140) = happyShift action_215+action_148 (142) = happyShift action_216+action_148 (143) = happyShift action_217+action_148 (144) = happyShift action_218+action_148 (145) = happyShift action_219+action_148 (146) = happyShift action_220+action_148 (147) = happyShift action_221+action_148 (148) = happyShift action_222+action_148 (151) = happyShift action_223+action_148 (152) = happyShift action_224+action_148 (153) = happyShift action_225+action_148 (154) = happyShift action_226+action_148 (159) = happyShift action_228+action_148 (161) = happyShift action_230+action_148 (163) = happyShift action_229+action_148 _ = happyFail++action_149 (130) = happyShift action_206+action_149 (132) = happyShift action_207+action_149 (133) = happyShift action_208+action_149 (134) = happyShift action_209+action_149 (135) = happyShift action_210+action_149 (136) = happyShift action_211+action_149 (137) = happyShift action_212+action_149 (138) = happyShift action_213+action_149 (139) = happyShift action_214+action_149 (140) = happyShift action_215+action_149 (142) = happyShift action_216+action_149 (143) = happyShift action_217+action_149 (144) = happyShift action_218+action_149 (145) = happyShift action_219+action_149 (146) = happyShift action_220+action_149 (147) = happyShift action_221+action_149 (148) = happyShift action_222+action_149 (151) = happyShift action_223+action_149 (152) = happyShift action_224+action_149 (153) = happyShift action_225+action_149 (154) = happyShift action_226+action_149 (157) = happyShift action_227+action_149 (159) = happyShift action_228+action_149 (163) = happyShift action_229+action_149 _ = happyFail++action_150 (68) = happyShift action_188+action_150 _ = happyFail++action_151 (161) = happyShift action_205+action_151 _ = happyFail++action_152 (65) = happyShift action_82+action_152 (66) = happyShift action_83+action_152 (68) = happyShift action_23+action_152 (69) = happyShift action_57+action_152 (70) = happyShift action_84+action_152 (78) = happyShift action_85+action_152 (89) = happyShift action_73+action_152 (90) = happyShift action_86+action_152 (91) = happyShift action_87+action_152 (92) = happyShift action_88+action_152 (93) = happyShift action_89+action_152 (94) = happyShift action_90+action_152 (95) = happyShift action_91+action_152 (96) = happyShift action_92+action_152 (97) = happyShift action_93+action_152 (98) = happyShift action_94+action_152 (99) = happyShift action_95+action_152 (100) = happyShift action_96+action_152 (101) = happyShift action_97+action_152 (102) = happyShift action_98+action_152 (103) = happyShift action_99+action_152 (104) = happyShift action_100+action_152 (105) = happyShift action_101+action_152 (106) = happyShift action_102+action_152 (107) = happyShift action_103+action_152 (108) = happyShift action_104+action_152 (109) = happyShift action_105+action_152 (110) = happyShift action_106+action_152 (111) = happyShift action_107+action_152 (112) = happyShift action_108+action_152 (113) = happyShift action_109+action_152 (114) = happyShift action_110+action_152 (115) = happyShift action_111+action_152 (116) = happyShift action_112+action_152 (117) = happyShift action_113+action_152 (118) = happyShift action_114+action_152 (119) = happyShift action_115+action_152 (120) = happyShift action_116+action_152 (121) = happyShift action_117+action_152 (122) = happyShift action_118+action_152 (123) = happyShift action_119+action_152 (124) = happyShift action_120+action_152 (125) = happyShift action_121+action_152 (126) = happyShift action_122+action_152 (127) = happyShift action_123+action_152 (128) = happyShift action_124+action_152 (136) = happyShift action_125+action_152 (139) = happyShift action_126+action_152 (147) = happyShift action_127+action_152 (149) = happyShift action_128+action_152 (150) = happyShift action_129+action_152 (155) = happyShift action_130+action_152 (26) = happyGoto action_78+action_152 (30) = happyGoto action_203+action_152 (34) = happyGoto action_204+action_152 (35) = happyGoto action_80+action_152 (63) = happyGoto action_81+action_152 _ = happyReduce_78++action_153 (89) = happyShift action_73+action_153 (26) = happyGoto action_202+action_153 _ = happyFail++action_154 _ = happyReduce_59++action_155 (129) = happyShift action_201+action_155 _ = happyFail++action_156 (132) = happyShift action_200+action_156 _ = happyReduce_257++action_157 (68) = happyShift action_23+action_157 (69) = happyShift action_57+action_157 (63) = happyGoto action_199+action_157 _ = happyFail++action_158 (68) = happyShift action_23+action_158 (69) = happyShift action_24+action_158 (115) = happyShift action_25+action_158 (147) = happyShift action_26+action_158 (155) = happyShift action_27+action_158 (165) = happyShift action_28+action_158 (166) = happyShift action_29+action_158 (167) = happyShift action_30+action_158 (168) = happyShift action_31+action_158 (169) = happyShift action_32+action_158 (170) = happyShift action_33+action_158 (171) = happyShift action_34+action_158 (172) = happyShift action_35+action_158 (173) = happyShift action_36+action_158 (174) = happyShift action_37+action_158 (175) = happyShift action_38+action_158 (176) = happyShift action_39+action_158 (177) = happyShift action_40+action_158 (178) = happyShift action_41+action_158 (179) = happyShift action_42+action_158 (194) = happyShift action_43+action_158 (202) = happyShift action_145+action_158 (204) = happyShift action_146+action_158 (37) = happyGoto action_198+action_158 (38) = happyGoto action_15+action_158 (39) = happyGoto action_16+action_158 (42) = happyGoto action_17+action_158 (43) = happyGoto action_18+action_158 (63) = happyGoto action_170+action_158 (64) = happyGoto action_22+action_158 _ = happyReduce_195++action_159 (68) = happyShift action_23+action_159 (69) = happyShift action_24+action_159 (115) = happyShift action_25+action_159 (147) = happyShift action_26+action_159 (155) = happyShift action_27+action_159 (165) = happyShift action_28+action_159 (166) = happyShift action_29+action_159 (167) = happyShift action_30+action_159 (168) = happyShift action_31+action_159 (169) = happyShift action_32+action_159 (170) = happyShift action_33+action_159 (171) = happyShift action_34+action_159 (172) = happyShift action_35+action_159 (173) = happyShift action_36+action_159 (174) = happyShift action_37+action_159 (175) = happyShift action_38+action_159 (176) = happyShift action_39+action_159 (177) = happyShift action_40+action_159 (178) = happyShift action_41+action_159 (179) = happyShift action_42+action_159 (194) = happyShift action_43+action_159 (202) = happyShift action_145+action_159 (204) = happyShift action_146+action_159 (37) = happyGoto action_197+action_159 (38) = happyGoto action_15+action_159 (39) = happyGoto action_16+action_159 (42) = happyGoto action_17+action_159 (43) = happyGoto action_18+action_159 (63) = happyGoto action_170+action_159 (64) = happyGoto action_22+action_159 _ = happyReduce_195++action_160 (8) = happyGoto action_157+action_160 (9) = happyGoto action_196+action_160 _ = happyReduce_18++action_161 _ = happyReduce_20++action_162 (141) = happyShift action_195+action_162 _ = happyFail++action_163 (68) = happyShift action_23+action_163 (69) = happyShift action_24+action_163 (50) = happyGoto action_194+action_163 (63) = happyGoto action_166+action_163 (64) = happyGoto action_167+action_163 _ = happyFail++action_164 (68) = happyShift action_23+action_164 (69) = happyShift action_24+action_164 (50) = happyGoto action_193+action_164 (63) = happyGoto action_166+action_164 (64) = happyGoto action_167+action_164 _ = happyFail++action_165 (157) = happyShift action_192+action_165 _ = happyReduce_190++action_166 _ = happyReduce_231++action_167 _ = happyReduce_230++action_168 _ = happyReduce_182++action_169 (156) = happyShift action_191+action_169 _ = happyFail++action_170 _ = happyReduce_194++action_171 _ = happyReduce_191++action_172 (136) = happyShift action_190+action_172 _ = happyFail++action_173 (68) = happyShift action_188+action_173 (69) = happyShift action_189+action_173 _ = happyFail++action_174 (65) = happyShift action_82+action_174 (66) = happyShift action_83+action_174 (68) = happyShift action_23+action_174 (69) = happyShift action_57+action_174 (70) = happyShift action_84+action_174 (78) = happyShift action_85+action_174 (89) = happyShift action_73+action_174 (90) = happyShift action_86+action_174 (91) = happyShift action_87+action_174 (92) = happyShift action_88+action_174 (93) = happyShift action_89+action_174 (94) = happyShift action_90+action_174 (95) = happyShift action_91+action_174 (96) = happyShift action_92+action_174 (97) = happyShift action_93+action_174 (98) = happyShift action_94+action_174 (99) = happyShift action_95+action_174 (100) = happyShift action_96+action_174 (101) = happyShift action_97+action_174 (102) = happyShift action_98+action_174 (103) = happyShift action_99+action_174 (104) = happyShift action_100+action_174 (105) = happyShift action_101+action_174 (106) = happyShift action_102+action_174 (107) = happyShift action_103+action_174 (108) = happyShift action_104+action_174 (109) = happyShift action_105+action_174 (110) = happyShift action_106+action_174 (111) = happyShift action_107+action_174 (112) = happyShift action_108+action_174 (113) = happyShift action_109+action_174 (114) = happyShift action_110+action_174 (115) = happyShift action_111+action_174 (116) = happyShift action_112+action_174 (117) = happyShift action_113+action_174 (118) = happyShift action_114+action_174 (119) = happyShift action_115+action_174 (120) = happyShift action_116+action_174 (121) = happyShift action_117+action_174 (122) = happyShift action_118+action_174 (123) = happyShift action_119+action_174 (124) = happyShift action_120+action_174 (125) = happyShift action_121+action_174 (126) = happyShift action_122+action_174 (127) = happyShift action_123+action_174 (128) = happyShift action_124+action_174 (136) = happyShift action_125+action_174 (139) = happyShift action_126+action_174 (147) = happyShift action_127+action_174 (149) = happyShift action_128+action_174 (150) = happyShift action_129+action_174 (155) = happyShift action_130+action_174 (26) = happyGoto action_78+action_174 (34) = happyGoto action_187+action_174 (35) = happyGoto action_80+action_174 (63) = happyGoto action_81+action_174 _ = happyFail++action_175 (68) = happyShift action_23+action_175 (69) = happyShift action_24+action_175 (115) = happyShift action_25+action_175 (147) = happyShift action_26+action_175 (155) = happyShift action_27+action_175 (165) = happyShift action_28+action_175 (166) = happyShift action_29+action_175 (167) = happyShift action_30+action_175 (168) = happyShift action_31+action_175 (169) = happyShift action_32+action_175 (170) = happyShift action_33+action_175 (171) = happyShift action_34+action_175 (172) = happyShift action_35+action_175 (173) = happyShift action_36+action_175 (174) = happyShift action_37+action_175 (175) = happyShift action_38+action_175 (176) = happyShift action_39+action_175 (177) = happyShift action_40+action_175 (178) = happyShift action_41+action_175 (179) = happyShift action_42+action_175 (194) = happyShift action_43+action_175 (202) = happyShift action_145+action_175 (204) = happyShift action_146+action_175 (37) = happyGoto action_186+action_175 (38) = happyGoto action_15+action_175 (39) = happyGoto action_16+action_175 (42) = happyGoto action_17+action_175 (43) = happyGoto action_18+action_175 (63) = happyGoto action_170+action_175 (64) = happyGoto action_22+action_175 _ = happyReduce_195++action_176 (65) = happyShift action_184+action_176 (89) = happyShift action_185+action_176 (41) = happyGoto action_183+action_176 _ = happyFail++action_177 _ = happyReduce_13++action_178 (141) = happyShift action_181+action_178 (155) = happyShift action_182+action_178 _ = happyFail++action_179 (79) = happyShift action_63+action_179 (24) = happyGoto action_180+action_179 _ = happyFail++action_180 _ = happyReduce_14++action_181 (65) = happyShift action_82+action_181 (66) = happyShift action_83+action_181 (68) = happyShift action_23+action_181 (69) = happyShift action_57+action_181 (70) = happyShift action_84+action_181 (78) = happyShift action_85+action_181 (89) = happyShift action_73+action_181 (90) = happyShift action_86+action_181 (91) = happyShift action_87+action_181 (92) = happyShift action_88+action_181 (93) = happyShift action_89+action_181 (94) = happyShift action_90+action_181 (95) = happyShift action_91+action_181 (96) = happyShift action_92+action_181 (97) = happyShift action_93+action_181 (98) = happyShift action_94+action_181 (99) = happyShift action_95+action_181 (100) = happyShift action_96+action_181 (101) = happyShift action_97+action_181 (102) = happyShift action_98+action_181 (103) = happyShift action_99+action_181 (104) = happyShift action_100+action_181 (105) = happyShift action_101+action_181 (106) = happyShift action_102+action_181 (107) = happyShift action_103+action_181 (108) = happyShift action_104+action_181 (109) = happyShift action_105+action_181 (110) = happyShift action_106+action_181 (111) = happyShift action_107+action_181 (112) = happyShift action_108+action_181 (113) = happyShift action_109+action_181 (114) = happyShift action_110+action_181 (115) = happyShift action_111+action_181 (116) = happyShift action_112+action_181 (117) = happyShift action_113+action_181 (118) = happyShift action_114+action_181 (119) = happyShift action_115+action_181 (120) = happyShift action_116+action_181 (121) = happyShift action_117+action_181 (122) = happyShift action_118+action_181 (123) = happyShift action_119+action_181 (124) = happyShift action_120+action_181 (125) = happyShift action_121+action_181 (126) = happyShift action_122+action_181 (127) = happyShift action_123+action_181 (128) = happyShift action_124+action_181 (136) = happyShift action_125+action_181 (139) = happyShift action_126+action_181 (147) = happyShift action_127+action_181 (149) = happyShift action_128+action_181 (150) = happyShift action_129+action_181 (155) = happyShift action_130+action_181 (26) = happyGoto action_78+action_181 (34) = happyGoto action_374+action_181 (35) = happyGoto action_80+action_181 (63) = happyGoto action_81+action_181 _ = happyFail++action_182 (68) = happyShift action_23+action_182 (69) = happyShift action_24+action_182 (115) = happyShift action_25+action_182 (147) = happyShift action_26+action_182 (155) = happyShift action_27+action_182 (156) = happyReduce_30+action_182 (162) = happyReduce_30+action_182 (165) = happyShift action_28+action_182 (166) = happyShift action_29+action_182 (167) = happyShift action_30+action_182 (168) = happyShift action_31+action_182 (169) = happyShift action_32+action_182 (170) = happyShift action_33+action_182 (171) = happyShift action_34+action_182 (172) = happyShift action_35+action_182 (173) = happyShift action_36+action_182 (174) = happyShift action_37+action_182 (175) = happyShift action_38+action_182 (176) = happyShift action_39+action_182 (177) = happyShift action_40+action_182 (178) = happyShift action_41+action_182 (179) = happyShift action_42+action_182 (194) = happyShift action_43+action_182 (202) = happyShift action_145+action_182 (204) = happyShift action_146+action_182 (15) = happyGoto action_371+action_182 (16) = happyGoto action_372+action_182 (37) = happyGoto action_373+action_182 (38) = happyGoto action_15+action_182 (39) = happyGoto action_16+action_182 (42) = happyGoto action_17+action_182 (43) = happyGoto action_18+action_182 (63) = happyGoto action_170+action_182 (64) = happyGoto action_22+action_182 _ = happyReduce_195++action_183 (160) = happyShift action_370+action_183 _ = happyFail++action_184 _ = happyReduce_186++action_185 (69) = happyShift action_369+action_185 _ = happyFail++action_186 _ = happyReduce_187++action_187 (130) = happyShift action_206+action_187 (132) = happyShift action_207+action_187 (133) = happyShift action_208+action_187 (134) = happyShift action_209+action_187 (135) = happyShift action_210+action_187 (136) = happyShift action_211+action_187 (137) = happyShift action_212+action_187 (138) = happyShift action_213+action_187 (139) = happyShift action_214+action_187 (140) = happyShift action_215+action_187 (142) = happyShift action_216+action_187 (143) = happyShift action_217+action_187 (144) = happyShift action_218+action_187 (145) = happyShift action_219+action_187 (146) = happyShift action_220+action_187 (147) = happyShift action_221+action_187 (148) = happyShift action_222+action_187 (151) = happyShift action_223+action_187 (152) = happyShift action_224+action_187 (153) = happyShift action_225+action_187 (154) = happyShift action_226+action_187 (159) = happyShift action_228+action_187 (161) = happyShift action_368+action_187 (163) = happyShift action_229+action_187 _ = happyFail++action_188 _ = happyReduce_256++action_189 _ = happyReduce_258++action_190 (68) = happyShift action_23+action_190 (69) = happyShift action_24+action_190 (115) = happyShift action_25+action_190 (147) = happyShift action_26+action_190 (155) = happyShift action_27+action_190 (165) = happyShift action_28+action_190 (166) = happyShift action_29+action_190 (167) = happyShift action_30+action_190 (168) = happyShift action_31+action_190 (169) = happyShift action_32+action_190 (170) = happyShift action_33+action_190 (171) = happyShift action_34+action_190 (172) = happyShift action_35+action_190 (173) = happyShift action_36+action_190 (174) = happyShift action_37+action_190 (175) = happyShift action_38+action_190 (176) = happyShift action_39+action_190 (177) = happyShift action_40+action_190 (178) = happyShift action_41+action_190 (179) = happyShift action_42+action_190 (194) = happyShift action_43+action_190 (202) = happyShift action_145+action_190 (204) = happyShift action_146+action_190 (37) = happyGoto action_367+action_190 (38) = happyGoto action_15+action_190 (39) = happyGoto action_16+action_190 (42) = happyGoto action_17+action_190 (43) = happyGoto action_18+action_190 (63) = happyGoto action_170+action_190 (64) = happyGoto action_22+action_190 _ = happyReduce_195++action_191 _ = happyReduce_165++action_192 (68) = happyShift action_23+action_192 (69) = happyShift action_24+action_192 (115) = happyShift action_25+action_192 (147) = happyShift action_26+action_192 (155) = happyShift action_27+action_192 (165) = happyShift action_28+action_192 (166) = happyShift action_29+action_192 (167) = happyShift action_30+action_192 (168) = happyShift action_31+action_192 (169) = happyShift action_32+action_192 (170) = happyShift action_33+action_192 (171) = happyShift action_34+action_192 (172) = happyShift action_35+action_192 (173) = happyShift action_36+action_192 (174) = happyShift action_37+action_192 (175) = happyShift action_38+action_192 (176) = happyShift action_39+action_192 (177) = happyShift action_40+action_192 (178) = happyShift action_41+action_192 (179) = happyShift action_42+action_192 (194) = happyShift action_43+action_192 (202) = happyShift action_145+action_192 (204) = happyShift action_146+action_192 (37) = happyGoto action_363+action_192 (38) = happyGoto action_15+action_192 (39) = happyGoto action_16+action_192 (42) = happyGoto action_17+action_192 (43) = happyGoto action_18+action_192 (51) = happyGoto action_364+action_192 (52) = happyGoto action_365+action_192 (63) = happyGoto action_366+action_192 (64) = happyGoto action_22+action_192 _ = happyReduce_195++action_193 (70) = happyShift action_362+action_193 _ = happyFail++action_194 (65) = happyShift action_361+action_194 _ = happyFail++action_195 (68) = happyShift action_23+action_195 (69) = happyShift action_24+action_195 (115) = happyShift action_25+action_195 (147) = happyShift action_26+action_195 (155) = happyShift action_27+action_195 (165) = happyShift action_28+action_195 (166) = happyShift action_29+action_195 (167) = happyShift action_30+action_195 (168) = happyShift action_31+action_195 (169) = happyShift action_32+action_195 (170) = happyShift action_33+action_195 (171) = happyShift action_34+action_195 (172) = happyShift action_35+action_195 (173) = happyShift action_36+action_195 (174) = happyShift action_37+action_195 (175) = happyShift action_38+action_195 (176) = happyShift action_39+action_195 (177) = happyShift action_40+action_195 (178) = happyShift action_41+action_195 (179) = happyShift action_42+action_195 (194) = happyShift action_43+action_195 (202) = happyShift action_145+action_195 (204) = happyShift action_146+action_195 (37) = happyGoto action_360+action_195 (38) = happyGoto action_15+action_195 (39) = happyGoto action_16+action_195 (42) = happyGoto action_17+action_195 (43) = happyGoto action_18+action_195 (63) = happyGoto action_170+action_195 (64) = happyGoto action_22+action_195 _ = happyReduce_195++action_196 (162) = happyShift action_359+action_196 _ = happyFail++action_197 (68) = happyShift action_23+action_197 (69) = happyShift action_57+action_197 (115) = happyShift action_358+action_197 (136) = happyShift action_140+action_197 (20) = happyGoto action_354+action_197 (21) = happyGoto action_355+action_197 (22) = happyGoto action_356+action_197 (23) = happyGoto action_357+action_197 (63) = happyGoto action_139+action_197 _ = happyFail++action_198 (68) = happyShift action_23+action_198 (69) = happyShift action_57+action_198 (63) = happyGoto action_353+action_198 _ = happyFail++action_199 (132) = happyShift action_351+action_199 (137) = happyShift action_352+action_199 _ = happyFail++action_200 (69) = happyShift action_189+action_200 _ = happyFail++action_201 (69) = happyShift action_156+action_201 (155) = happyShift action_347+action_201 (210) = happyShift action_348+action_201 (211) = happyShift action_349+action_201 (212) = happyShift action_350+action_201 (48) = happyGoto action_345+action_201 (64) = happyGoto action_346+action_201 _ = happyFail++action_202 (161) = happyShift action_344+action_202 _ = happyFail++action_203 (156) = happyShift action_342+action_203 (162) = happyShift action_343+action_203 _ = happyFail++action_204 (130) = happyShift action_206+action_204 (132) = happyShift action_207+action_204 (133) = happyShift action_208+action_204 (134) = happyShift action_209+action_204 (135) = happyShift action_210+action_204 (136) = happyShift action_211+action_204 (137) = happyShift action_212+action_204 (138) = happyShift action_213+action_204 (139) = happyShift action_214+action_204 (140) = happyShift action_215+action_204 (142) = happyShift action_216+action_204 (143) = happyShift action_217+action_204 (144) = happyShift action_218+action_204 (145) = happyShift action_219+action_204 (146) = happyShift action_220+action_204 (147) = happyShift action_221+action_204 (148) = happyShift action_222+action_204 (151) = happyShift action_223+action_204 (152) = happyShift action_224+action_204 (153) = happyShift action_225+action_204 (154) = happyShift action_226+action_204 (159) = happyShift action_228+action_204 (163) = happyShift action_229+action_204 _ = happyReduce_77++action_205 _ = happyReduce_58++action_206 (65) = happyShift action_82+action_206 (66) = happyShift action_83+action_206 (68) = happyShift action_23+action_206 (69) = happyShift action_57+action_206 (70) = happyShift action_84+action_206 (78) = happyShift action_85+action_206 (89) = happyShift action_73+action_206 (90) = happyShift action_86+action_206 (91) = happyShift action_87+action_206 (92) = happyShift action_88+action_206 (93) = happyShift action_89+action_206 (94) = happyShift action_90+action_206 (95) = happyShift action_91+action_206 (96) = happyShift action_92+action_206 (97) = happyShift action_93+action_206 (98) = happyShift action_94+action_206 (99) = happyShift action_95+action_206 (100) = happyShift action_96+action_206 (101) = happyShift action_97+action_206 (102) = happyShift action_98+action_206 (103) = happyShift action_99+action_206 (104) = happyShift action_100+action_206 (105) = happyShift action_101+action_206 (106) = happyShift action_102+action_206 (107) = happyShift action_103+action_206 (108) = happyShift action_104+action_206 (109) = happyShift action_105+action_206 (110) = happyShift action_106+action_206 (111) = happyShift action_107+action_206 (112) = happyShift action_108+action_206 (113) = happyShift action_109+action_206 (114) = happyShift action_110+action_206 (115) = happyShift action_111+action_206 (116) = happyShift action_112+action_206 (117) = happyShift action_113+action_206 (118) = happyShift action_114+action_206 (119) = happyShift action_115+action_206 (120) = happyShift action_116+action_206 (121) = happyShift action_117+action_206 (122) = happyShift action_118+action_206 (123) = happyShift action_119+action_206 (124) = happyShift action_120+action_206 (125) = happyShift action_121+action_206 (126) = happyShift action_122+action_206 (127) = happyShift action_123+action_206 (128) = happyShift action_124+action_206 (136) = happyShift action_125+action_206 (139) = happyShift action_126+action_206 (147) = happyShift action_127+action_206 (149) = happyShift action_128+action_206 (150) = happyShift action_129+action_206 (155) = happyShift action_130+action_206 (26) = happyGoto action_78+action_206 (34) = happyGoto action_341+action_206 (35) = happyGoto action_80+action_206 (63) = happyGoto action_81+action_206 _ = happyFail++action_207 (65) = happyShift action_82+action_207 (66) = happyShift action_83+action_207 (68) = happyShift action_23+action_207 (69) = happyShift action_57+action_207 (70) = happyShift action_84+action_207 (78) = happyShift action_85+action_207 (89) = happyShift action_73+action_207 (90) = happyShift action_86+action_207 (91) = happyShift action_87+action_207 (92) = happyShift action_88+action_207 (93) = happyShift action_89+action_207 (94) = happyShift action_90+action_207 (95) = happyShift action_91+action_207 (96) = happyShift action_92+action_207 (97) = happyShift action_93+action_207 (98) = happyShift action_94+action_207 (99) = happyShift action_95+action_207 (100) = happyShift action_96+action_207 (101) = happyShift action_97+action_207 (102) = happyShift action_98+action_207 (103) = happyShift action_99+action_207 (104) = happyShift action_100+action_207 (105) = happyShift action_101+action_207 (106) = happyShift action_102+action_207 (107) = happyShift action_103+action_207 (108) = happyShift action_104+action_207 (109) = happyShift action_105+action_207 (110) = happyShift action_106+action_207 (111) = happyShift action_107+action_207 (112) = happyShift action_108+action_207 (113) = happyShift action_109+action_207 (114) = happyShift action_110+action_207 (115) = happyShift action_111+action_207 (116) = happyShift action_112+action_207 (117) = happyShift action_113+action_207 (118) = happyShift action_114+action_207 (119) = happyShift action_115+action_207 (120) = happyShift action_116+action_207 (121) = happyShift action_117+action_207 (122) = happyShift action_118+action_207 (123) = happyShift action_119+action_207 (124) = happyShift action_120+action_207 (125) = happyShift action_121+action_207 (126) = happyShift action_122+action_207 (127) = happyShift action_123+action_207 (128) = happyShift action_124+action_207 (136) = happyShift action_125+action_207 (139) = happyShift action_126+action_207 (147) = happyShift action_127+action_207 (149) = happyShift action_128+action_207 (150) = happyShift action_129+action_207 (155) = happyShift action_130+action_207 (26) = happyGoto action_78+action_207 (34) = happyGoto action_340+action_207 (35) = happyGoto action_80+action_207 (63) = happyGoto action_81+action_207 _ = happyFail++action_208 (65) = happyShift action_82+action_208 (66) = happyShift action_83+action_208 (68) = happyShift action_23+action_208 (69) = happyShift action_57+action_208 (70) = happyShift action_84+action_208 (78) = happyShift action_85+action_208 (89) = happyShift action_73+action_208 (90) = happyShift action_86+action_208 (91) = happyShift action_87+action_208 (92) = happyShift action_88+action_208 (93) = happyShift action_89+action_208 (94) = happyShift action_90+action_208 (95) = happyShift action_91+action_208 (96) = happyShift action_92+action_208 (97) = happyShift action_93+action_208 (98) = happyShift action_94+action_208 (99) = happyShift action_95+action_208 (100) = happyShift action_96+action_208 (101) = happyShift action_97+action_208 (102) = happyShift action_98+action_208 (103) = happyShift action_99+action_208 (104) = happyShift action_100+action_208 (105) = happyShift action_101+action_208 (106) = happyShift action_102+action_208 (107) = happyShift action_103+action_208 (108) = happyShift action_104+action_208 (109) = happyShift action_105+action_208 (110) = happyShift action_106+action_208 (111) = happyShift action_107+action_208 (112) = happyShift action_108+action_208 (113) = happyShift action_109+action_208 (114) = happyShift action_110+action_208 (115) = happyShift action_111+action_208 (116) = happyShift action_112+action_208 (117) = happyShift action_113+action_208 (118) = happyShift action_114+action_208 (119) = happyShift action_115+action_208 (120) = happyShift action_116+action_208 (121) = happyShift action_117+action_208 (122) = happyShift action_118+action_208 (123) = happyShift action_119+action_208 (124) = happyShift action_120+action_208 (125) = happyShift action_121+action_208 (126) = happyShift action_122+action_208 (127) = happyShift action_123+action_208 (128) = happyShift action_124+action_208 (136) = happyShift action_125+action_208 (139) = happyShift action_126+action_208 (147) = happyShift action_127+action_208 (149) = happyShift action_128+action_208 (150) = happyShift action_129+action_208 (155) = happyShift action_130+action_208 (26) = happyGoto action_78+action_208 (34) = happyGoto action_339+action_208 (35) = happyGoto action_80+action_208 (63) = happyGoto action_81+action_208 _ = happyFail++action_209 (65) = happyShift action_82+action_209 (66) = happyShift action_83+action_209 (68) = happyShift action_23+action_209 (69) = happyShift action_57+action_209 (70) = happyShift action_84+action_209 (78) = happyShift action_85+action_209 (89) = happyShift action_73+action_209 (90) = happyShift action_86+action_209 (91) = happyShift action_87+action_209 (92) = happyShift action_88+action_209 (93) = happyShift action_89+action_209 (94) = happyShift action_90+action_209 (95) = happyShift action_91+action_209 (96) = happyShift action_92+action_209 (97) = happyShift action_93+action_209 (98) = happyShift action_94+action_209 (99) = happyShift action_95+action_209 (100) = happyShift action_96+action_209 (101) = happyShift action_97+action_209 (102) = happyShift action_98+action_209 (103) = happyShift action_99+action_209 (104) = happyShift action_100+action_209 (105) = happyShift action_101+action_209 (106) = happyShift action_102+action_209 (107) = happyShift action_103+action_209 (108) = happyShift action_104+action_209 (109) = happyShift action_105+action_209 (110) = happyShift action_106+action_209 (111) = happyShift action_107+action_209 (112) = happyShift action_108+action_209 (113) = happyShift action_109+action_209 (114) = happyShift action_110+action_209 (115) = happyShift action_111+action_209 (116) = happyShift action_112+action_209 (117) = happyShift action_113+action_209 (118) = happyShift action_114+action_209 (119) = happyShift action_115+action_209 (120) = happyShift action_116+action_209 (121) = happyShift action_117+action_209 (122) = happyShift action_118+action_209 (123) = happyShift action_119+action_209 (124) = happyShift action_120+action_209 (125) = happyShift action_121+action_209 (126) = happyShift action_122+action_209 (127) = happyShift action_123+action_209 (128) = happyShift action_124+action_209 (136) = happyShift action_125+action_209 (139) = happyShift action_126+action_209 (147) = happyShift action_127+action_209 (149) = happyShift action_128+action_209 (150) = happyShift action_129+action_209 (155) = happyShift action_130+action_209 (26) = happyGoto action_78+action_209 (34) = happyGoto action_338+action_209 (35) = happyGoto action_80+action_209 (63) = happyGoto action_81+action_209 _ = happyFail++action_210 (65) = happyShift action_82+action_210 (66) = happyShift action_83+action_210 (68) = happyShift action_23+action_210 (69) = happyShift action_57+action_210 (70) = happyShift action_84+action_210 (78) = happyShift action_85+action_210 (89) = happyShift action_73+action_210 (90) = happyShift action_86+action_210 (91) = happyShift action_87+action_210 (92) = happyShift action_88+action_210 (93) = happyShift action_89+action_210 (94) = happyShift action_90+action_210 (95) = happyShift action_91+action_210 (96) = happyShift action_92+action_210 (97) = happyShift action_93+action_210 (98) = happyShift action_94+action_210 (99) = happyShift action_95+action_210 (100) = happyShift action_96+action_210 (101) = happyShift action_97+action_210 (102) = happyShift action_98+action_210 (103) = happyShift action_99+action_210 (104) = happyShift action_100+action_210 (105) = happyShift action_101+action_210 (106) = happyShift action_102+action_210 (107) = happyShift action_103+action_210 (108) = happyShift action_104+action_210 (109) = happyShift action_105+action_210 (110) = happyShift action_106+action_210 (111) = happyShift action_107+action_210 (112) = happyShift action_108+action_210 (113) = happyShift action_109+action_210 (114) = happyShift action_110+action_210 (115) = happyShift action_111+action_210 (116) = happyShift action_112+action_210 (117) = happyShift action_113+action_210 (118) = happyShift action_114+action_210 (119) = happyShift action_115+action_210 (120) = happyShift action_116+action_210 (121) = happyShift action_117+action_210 (122) = happyShift action_118+action_210 (123) = happyShift action_119+action_210 (124) = happyShift action_120+action_210 (125) = happyShift action_121+action_210 (126) = happyShift action_122+action_210 (127) = happyShift action_123+action_210 (128) = happyShift action_124+action_210 (136) = happyShift action_125+action_210 (139) = happyShift action_126+action_210 (147) = happyShift action_127+action_210 (149) = happyShift action_128+action_210 (150) = happyShift action_129+action_210 (155) = happyShift action_130+action_210 (26) = happyGoto action_78+action_210 (34) = happyGoto action_337+action_210 (35) = happyGoto action_80+action_210 (63) = happyGoto action_81+action_210 _ = happyFail++action_211 (65) = happyShift action_82+action_211 (66) = happyShift action_83+action_211 (68) = happyShift action_23+action_211 (69) = happyShift action_57+action_211 (70) = happyShift action_84+action_211 (78) = happyShift action_85+action_211 (89) = happyShift action_73+action_211 (90) = happyShift action_86+action_211 (91) = happyShift action_87+action_211 (92) = happyShift action_88+action_211 (93) = happyShift action_89+action_211 (94) = happyShift action_90+action_211 (95) = happyShift action_91+action_211 (96) = happyShift action_92+action_211 (97) = happyShift action_93+action_211 (98) = happyShift action_94+action_211 (99) = happyShift action_95+action_211 (100) = happyShift action_96+action_211 (101) = happyShift action_97+action_211 (102) = happyShift action_98+action_211 (103) = happyShift action_99+action_211 (104) = happyShift action_100+action_211 (105) = happyShift action_101+action_211 (106) = happyShift action_102+action_211 (107) = happyShift action_103+action_211 (108) = happyShift action_104+action_211 (109) = happyShift action_105+action_211 (110) = happyShift action_106+action_211 (111) = happyShift action_107+action_211 (112) = happyShift action_108+action_211 (113) = happyShift action_109+action_211 (114) = happyShift action_110+action_211 (115) = happyShift action_111+action_211 (116) = happyShift action_112+action_211 (117) = happyShift action_113+action_211 (118) = happyShift action_114+action_211 (119) = happyShift action_115+action_211 (120) = happyShift action_116+action_211 (121) = happyShift action_117+action_211 (122) = happyShift action_118+action_211 (123) = happyShift action_119+action_211 (124) = happyShift action_120+action_211 (125) = happyShift action_121+action_211 (126) = happyShift action_122+action_211 (127) = happyShift action_123+action_211 (128) = happyShift action_124+action_211 (136) = happyShift action_125+action_211 (139) = happyShift action_126+action_211 (147) = happyShift action_127+action_211 (149) = happyShift action_128+action_211 (150) = happyShift action_129+action_211 (155) = happyShift action_130+action_211 (26) = happyGoto action_78+action_211 (34) = happyGoto action_336+action_211 (35) = happyGoto action_80+action_211 (63) = happyGoto action_81+action_211 _ = happyFail++action_212 (65) = happyShift action_82+action_212 (66) = happyShift action_83+action_212 (68) = happyShift action_23+action_212 (69) = happyShift action_57+action_212 (70) = happyShift action_84+action_212 (78) = happyShift action_85+action_212 (89) = happyShift action_73+action_212 (90) = happyShift action_86+action_212 (91) = happyShift action_87+action_212 (92) = happyShift action_88+action_212 (93) = happyShift action_89+action_212 (94) = happyShift action_90+action_212 (95) = happyShift action_91+action_212 (96) = happyShift action_92+action_212 (97) = happyShift action_93+action_212 (98) = happyShift action_94+action_212 (99) = happyShift action_95+action_212 (100) = happyShift action_96+action_212 (101) = happyShift action_97+action_212 (102) = happyShift action_98+action_212 (103) = happyShift action_99+action_212 (104) = happyShift action_100+action_212 (105) = happyShift action_101+action_212 (106) = happyShift action_102+action_212 (107) = happyShift action_103+action_212 (108) = happyShift action_104+action_212 (109) = happyShift action_105+action_212 (110) = happyShift action_106+action_212 (111) = happyShift action_107+action_212 (112) = happyShift action_108+action_212 (113) = happyShift action_109+action_212 (114) = happyShift action_110+action_212 (115) = happyShift action_111+action_212 (116) = happyShift action_112+action_212 (117) = happyShift action_113+action_212 (118) = happyShift action_114+action_212 (119) = happyShift action_115+action_212 (120) = happyShift action_116+action_212 (121) = happyShift action_117+action_212 (122) = happyShift action_118+action_212 (123) = happyShift action_119+action_212 (124) = happyShift action_120+action_212 (125) = happyShift action_121+action_212 (126) = happyShift action_122+action_212 (127) = happyShift action_123+action_212 (128) = happyShift action_124+action_212 (136) = happyShift action_125+action_212 (139) = happyShift action_126+action_212 (147) = happyShift action_127+action_212 (149) = happyShift action_128+action_212 (150) = happyShift action_129+action_212 (155) = happyShift action_130+action_212 (26) = happyGoto action_78+action_212 (34) = happyGoto action_335+action_212 (35) = happyGoto action_80+action_212 (63) = happyGoto action_81+action_212 _ = happyFail++action_213 (65) = happyShift action_82+action_213 (66) = happyShift action_83+action_213 (68) = happyShift action_23+action_213 (69) = happyShift action_57+action_213 (70) = happyShift action_84+action_213 (78) = happyShift action_85+action_213 (89) = happyShift action_73+action_213 (90) = happyShift action_86+action_213 (91) = happyShift action_87+action_213 (92) = happyShift action_88+action_213 (93) = happyShift action_89+action_213 (94) = happyShift action_90+action_213 (95) = happyShift action_91+action_213 (96) = happyShift action_92+action_213 (97) = happyShift action_93+action_213 (98) = happyShift action_94+action_213 (99) = happyShift action_95+action_213 (100) = happyShift action_96+action_213 (101) = happyShift action_97+action_213 (102) = happyShift action_98+action_213 (103) = happyShift action_99+action_213 (104) = happyShift action_100+action_213 (105) = happyShift action_101+action_213 (106) = happyShift action_102+action_213 (107) = happyShift action_103+action_213 (108) = happyShift action_104+action_213 (109) = happyShift action_105+action_213 (110) = happyShift action_106+action_213 (111) = happyShift action_107+action_213 (112) = happyShift action_108+action_213 (113) = happyShift action_109+action_213 (114) = happyShift action_110+action_213 (115) = happyShift action_111+action_213 (116) = happyShift action_112+action_213 (117) = happyShift action_113+action_213 (118) = happyShift action_114+action_213 (119) = happyShift action_115+action_213 (120) = happyShift action_116+action_213 (121) = happyShift action_117+action_213 (122) = happyShift action_118+action_213 (123) = happyShift action_119+action_213 (124) = happyShift action_120+action_213 (125) = happyShift action_121+action_213 (126) = happyShift action_122+action_213 (127) = happyShift action_123+action_213 (128) = happyShift action_124+action_213 (136) = happyShift action_125+action_213 (139) = happyShift action_126+action_213 (147) = happyShift action_127+action_213 (149) = happyShift action_128+action_213 (150) = happyShift action_129+action_213 (155) = happyShift action_130+action_213 (26) = happyGoto action_78+action_213 (34) = happyGoto action_334+action_213 (35) = happyGoto action_80+action_213 (63) = happyGoto action_81+action_213 _ = happyFail++action_214 (65) = happyShift action_82+action_214 (66) = happyShift action_83+action_214 (68) = happyShift action_23+action_214 (69) = happyShift action_57+action_214 (70) = happyShift action_84+action_214 (78) = happyShift action_85+action_214 (89) = happyShift action_73+action_214 (90) = happyShift action_86+action_214 (91) = happyShift action_87+action_214 (92) = happyShift action_88+action_214 (93) = happyShift action_89+action_214 (94) = happyShift action_90+action_214 (95) = happyShift action_91+action_214 (96) = happyShift action_92+action_214 (97) = happyShift action_93+action_214 (98) = happyShift action_94+action_214 (99) = happyShift action_95+action_214 (100) = happyShift action_96+action_214 (101) = happyShift action_97+action_214 (102) = happyShift action_98+action_214 (103) = happyShift action_99+action_214 (104) = happyShift action_100+action_214 (105) = happyShift action_101+action_214 (106) = happyShift action_102+action_214 (107) = happyShift action_103+action_214 (108) = happyShift action_104+action_214 (109) = happyShift action_105+action_214 (110) = happyShift action_106+action_214 (111) = happyShift action_107+action_214 (112) = happyShift action_108+action_214 (113) = happyShift action_109+action_214 (114) = happyShift action_110+action_214 (115) = happyShift action_111+action_214 (116) = happyShift action_112+action_214 (117) = happyShift action_113+action_214 (118) = happyShift action_114+action_214 (119) = happyShift action_115+action_214 (120) = happyShift action_116+action_214 (121) = happyShift action_117+action_214 (122) = happyShift action_118+action_214 (123) = happyShift action_119+action_214 (124) = happyShift action_120+action_214 (125) = happyShift action_121+action_214 (126) = happyShift action_122+action_214 (127) = happyShift action_123+action_214 (128) = happyShift action_124+action_214 (136) = happyShift action_125+action_214 (139) = happyShift action_126+action_214 (147) = happyShift action_127+action_214 (149) = happyShift action_128+action_214 (150) = happyShift action_129+action_214 (155) = happyShift action_130+action_214 (26) = happyGoto action_78+action_214 (34) = happyGoto action_333+action_214 (35) = happyGoto action_80+action_214 (63) = happyGoto action_81+action_214 _ = happyFail++action_215 (65) = happyShift action_82+action_215 (66) = happyShift action_83+action_215 (68) = happyShift action_23+action_215 (69) = happyShift action_57+action_215 (70) = happyShift action_84+action_215 (78) = happyShift action_85+action_215 (89) = happyShift action_73+action_215 (90) = happyShift action_86+action_215 (91) = happyShift action_87+action_215 (92) = happyShift action_88+action_215 (93) = happyShift action_89+action_215 (94) = happyShift action_90+action_215 (95) = happyShift action_91+action_215 (96) = happyShift action_92+action_215 (97) = happyShift action_93+action_215 (98) = happyShift action_94+action_215 (99) = happyShift action_95+action_215 (100) = happyShift action_96+action_215 (101) = happyShift action_97+action_215 (102) = happyShift action_98+action_215 (103) = happyShift action_99+action_215 (104) = happyShift action_100+action_215 (105) = happyShift action_101+action_215 (106) = happyShift action_102+action_215 (107) = happyShift action_103+action_215 (108) = happyShift action_104+action_215 (109) = happyShift action_105+action_215 (110) = happyShift action_106+action_215 (111) = happyShift action_107+action_215 (112) = happyShift action_108+action_215 (113) = happyShift action_109+action_215 (114) = happyShift action_110+action_215 (115) = happyShift action_111+action_215 (116) = happyShift action_112+action_215 (117) = happyShift action_113+action_215 (118) = happyShift action_114+action_215 (119) = happyShift action_115+action_215 (120) = happyShift action_116+action_215 (121) = happyShift action_117+action_215 (122) = happyShift action_118+action_215 (123) = happyShift action_119+action_215 (124) = happyShift action_120+action_215 (125) = happyShift action_121+action_215 (126) = happyShift action_122+action_215 (127) = happyShift action_123+action_215 (128) = happyShift action_124+action_215 (136) = happyShift action_125+action_215 (139) = happyShift action_126+action_215 (147) = happyShift action_127+action_215 (149) = happyShift action_128+action_215 (150) = happyShift action_129+action_215 (155) = happyShift action_130+action_215 (26) = happyGoto action_78+action_215 (34) = happyGoto action_332+action_215 (35) = happyGoto action_80+action_215 (63) = happyGoto action_81+action_215 _ = happyFail++action_216 (65) = happyShift action_82+action_216 (66) = happyShift action_83+action_216 (68) = happyShift action_23+action_216 (69) = happyShift action_57+action_216 (70) = happyShift action_84+action_216 (78) = happyShift action_85+action_216 (89) = happyShift action_73+action_216 (90) = happyShift action_86+action_216 (91) = happyShift action_87+action_216 (92) = happyShift action_88+action_216 (93) = happyShift action_89+action_216 (94) = happyShift action_90+action_216 (95) = happyShift action_91+action_216 (96) = happyShift action_92+action_216 (97) = happyShift action_93+action_216 (98) = happyShift action_94+action_216 (99) = happyShift action_95+action_216 (100) = happyShift action_96+action_216 (101) = happyShift action_97+action_216 (102) = happyShift action_98+action_216 (103) = happyShift action_99+action_216 (104) = happyShift action_100+action_216 (105) = happyShift action_101+action_216 (106) = happyShift action_102+action_216 (107) = happyShift action_103+action_216 (108) = happyShift action_104+action_216 (109) = happyShift action_105+action_216 (110) = happyShift action_106+action_216 (111) = happyShift action_107+action_216 (112) = happyShift action_108+action_216 (113) = happyShift action_109+action_216 (114) = happyShift action_110+action_216 (115) = happyShift action_111+action_216 (116) = happyShift action_112+action_216 (117) = happyShift action_113+action_216 (118) = happyShift action_114+action_216 (119) = happyShift action_115+action_216 (120) = happyShift action_116+action_216 (121) = happyShift action_117+action_216 (122) = happyShift action_118+action_216 (123) = happyShift action_119+action_216 (124) = happyShift action_120+action_216 (125) = happyShift action_121+action_216 (126) = happyShift action_122+action_216 (127) = happyShift action_123+action_216 (128) = happyShift action_124+action_216 (136) = happyShift action_125+action_216 (139) = happyShift action_126+action_216 (147) = happyShift action_127+action_216 (149) = happyShift action_128+action_216 (150) = happyShift action_129+action_216 (155) = happyShift action_130+action_216 (26) = happyGoto action_78+action_216 (34) = happyGoto action_331+action_216 (35) = happyGoto action_80+action_216 (63) = happyGoto action_81+action_216 _ = happyFail++action_217 (65) = happyShift action_82+action_217 (66) = happyShift action_83+action_217 (68) = happyShift action_23+action_217 (69) = happyShift action_57+action_217 (70) = happyShift action_84+action_217 (78) = happyShift action_85+action_217 (89) = happyShift action_73+action_217 (90) = happyShift action_86+action_217 (91) = happyShift action_87+action_217 (92) = happyShift action_88+action_217 (93) = happyShift action_89+action_217 (94) = happyShift action_90+action_217 (95) = happyShift action_91+action_217 (96) = happyShift action_92+action_217 (97) = happyShift action_93+action_217 (98) = happyShift action_94+action_217 (99) = happyShift action_95+action_217 (100) = happyShift action_96+action_217 (101) = happyShift action_97+action_217 (102) = happyShift action_98+action_217 (103) = happyShift action_99+action_217 (104) = happyShift action_100+action_217 (105) = happyShift action_101+action_217 (106) = happyShift action_102+action_217 (107) = happyShift action_103+action_217 (108) = happyShift action_104+action_217 (109) = happyShift action_105+action_217 (110) = happyShift action_106+action_217 (111) = happyShift action_107+action_217 (112) = happyShift action_108+action_217 (113) = happyShift action_109+action_217 (114) = happyShift action_110+action_217 (115) = happyShift action_111+action_217 (116) = happyShift action_112+action_217 (117) = happyShift action_113+action_217 (118) = happyShift action_114+action_217 (119) = happyShift action_115+action_217 (120) = happyShift action_116+action_217 (121) = happyShift action_117+action_217 (122) = happyShift action_118+action_217 (123) = happyShift action_119+action_217 (124) = happyShift action_120+action_217 (125) = happyShift action_121+action_217 (126) = happyShift action_122+action_217 (127) = happyShift action_123+action_217 (128) = happyShift action_124+action_217 (136) = happyShift action_125+action_217 (139) = happyShift action_126+action_217 (147) = happyShift action_127+action_217 (149) = happyShift action_128+action_217 (150) = happyShift action_129+action_217 (155) = happyShift action_130+action_217 (26) = happyGoto action_78+action_217 (34) = happyGoto action_330+action_217 (35) = happyGoto action_80+action_217 (63) = happyGoto action_81+action_217 _ = happyFail++action_218 (65) = happyShift action_82+action_218 (66) = happyShift action_83+action_218 (68) = happyShift action_23+action_218 (69) = happyShift action_57+action_218 (70) = happyShift action_84+action_218 (78) = happyShift action_85+action_218 (89) = happyShift action_73+action_218 (90) = happyShift action_86+action_218 (91) = happyShift action_87+action_218 (92) = happyShift action_88+action_218 (93) = happyShift action_89+action_218 (94) = happyShift action_90+action_218 (95) = happyShift action_91+action_218 (96) = happyShift action_92+action_218 (97) = happyShift action_93+action_218 (98) = happyShift action_94+action_218 (99) = happyShift action_95+action_218 (100) = happyShift action_96+action_218 (101) = happyShift action_97+action_218 (102) = happyShift action_98+action_218 (103) = happyShift action_99+action_218 (104) = happyShift action_100+action_218 (105) = happyShift action_101+action_218 (106) = happyShift action_102+action_218 (107) = happyShift action_103+action_218 (108) = happyShift action_104+action_218 (109) = happyShift action_105+action_218 (110) = happyShift action_106+action_218 (111) = happyShift action_107+action_218 (112) = happyShift action_108+action_218 (113) = happyShift action_109+action_218 (114) = happyShift action_110+action_218 (115) = happyShift action_111+action_218 (116) = happyShift action_112+action_218 (117) = happyShift action_113+action_218 (118) = happyShift action_114+action_218 (119) = happyShift action_115+action_218 (120) = happyShift action_116+action_218 (121) = happyShift action_117+action_218 (122) = happyShift action_118+action_218 (123) = happyShift action_119+action_218 (124) = happyShift action_120+action_218 (125) = happyShift action_121+action_218 (126) = happyShift action_122+action_218 (127) = happyShift action_123+action_218 (128) = happyShift action_124+action_218 (136) = happyShift action_125+action_218 (139) = happyShift action_126+action_218 (147) = happyShift action_127+action_218 (149) = happyShift action_128+action_218 (150) = happyShift action_129+action_218 (155) = happyShift action_130+action_218 (26) = happyGoto action_78+action_218 (34) = happyGoto action_329+action_218 (35) = happyGoto action_80+action_218 (63) = happyGoto action_81+action_218 _ = happyFail++action_219 (65) = happyShift action_82+action_219 (66) = happyShift action_83+action_219 (68) = happyShift action_23+action_219 (69) = happyShift action_57+action_219 (70) = happyShift action_84+action_219 (78) = happyShift action_85+action_219 (89) = happyShift action_73+action_219 (90) = happyShift action_86+action_219 (91) = happyShift action_87+action_219 (92) = happyShift action_88+action_219 (93) = happyShift action_89+action_219 (94) = happyShift action_90+action_219 (95) = happyShift action_91+action_219 (96) = happyShift action_92+action_219 (97) = happyShift action_93+action_219 (98) = happyShift action_94+action_219 (99) = happyShift action_95+action_219 (100) = happyShift action_96+action_219 (101) = happyShift action_97+action_219 (102) = happyShift action_98+action_219 (103) = happyShift action_99+action_219 (104) = happyShift action_100+action_219 (105) = happyShift action_101+action_219 (106) = happyShift action_102+action_219 (107) = happyShift action_103+action_219 (108) = happyShift action_104+action_219 (109) = happyShift action_105+action_219 (110) = happyShift action_106+action_219 (111) = happyShift action_107+action_219 (112) = happyShift action_108+action_219 (113) = happyShift action_109+action_219 (114) = happyShift action_110+action_219 (115) = happyShift action_111+action_219 (116) = happyShift action_112+action_219 (117) = happyShift action_113+action_219 (118) = happyShift action_114+action_219 (119) = happyShift action_115+action_219 (120) = happyShift action_116+action_219 (121) = happyShift action_117+action_219 (122) = happyShift action_118+action_219 (123) = happyShift action_119+action_219 (124) = happyShift action_120+action_219 (125) = happyShift action_121+action_219 (126) = happyShift action_122+action_219 (127) = happyShift action_123+action_219 (128) = happyShift action_124+action_219 (136) = happyShift action_125+action_219 (139) = happyShift action_126+action_219 (147) = happyShift action_127+action_219 (149) = happyShift action_128+action_219 (150) = happyShift action_129+action_219 (155) = happyShift action_130+action_219 (26) = happyGoto action_78+action_219 (34) = happyGoto action_328+action_219 (35) = happyGoto action_80+action_219 (63) = happyGoto action_81+action_219 _ = happyFail++action_220 (65) = happyShift action_82+action_220 (66) = happyShift action_83+action_220 (68) = happyShift action_23+action_220 (69) = happyShift action_57+action_220 (70) = happyShift action_84+action_220 (78) = happyShift action_85+action_220 (89) = happyShift action_73+action_220 (90) = happyShift action_86+action_220 (91) = happyShift action_87+action_220 (92) = happyShift action_88+action_220 (93) = happyShift action_89+action_220 (94) = happyShift action_90+action_220 (95) = happyShift action_91+action_220 (96) = happyShift action_92+action_220 (97) = happyShift action_93+action_220 (98) = happyShift action_94+action_220 (99) = happyShift action_95+action_220 (100) = happyShift action_96+action_220 (101) = happyShift action_97+action_220 (102) = happyShift action_98+action_220 (103) = happyShift action_99+action_220 (104) = happyShift action_100+action_220 (105) = happyShift action_101+action_220 (106) = happyShift action_102+action_220 (107) = happyShift action_103+action_220 (108) = happyShift action_104+action_220 (109) = happyShift action_105+action_220 (110) = happyShift action_106+action_220 (111) = happyShift action_107+action_220 (112) = happyShift action_108+action_220 (113) = happyShift action_109+action_220 (114) = happyShift action_110+action_220 (115) = happyShift action_111+action_220 (116) = happyShift action_112+action_220 (117) = happyShift action_113+action_220 (118) = happyShift action_114+action_220 (119) = happyShift action_115+action_220 (120) = happyShift action_116+action_220 (121) = happyShift action_117+action_220 (122) = happyShift action_118+action_220 (123) = happyShift action_119+action_220 (124) = happyShift action_120+action_220 (125) = happyShift action_121+action_220 (126) = happyShift action_122+action_220 (127) = happyShift action_123+action_220 (128) = happyShift action_124+action_220 (136) = happyShift action_125+action_220 (139) = happyShift action_126+action_220 (147) = happyShift action_127+action_220 (149) = happyShift action_128+action_220 (150) = happyShift action_129+action_220 (155) = happyShift action_130+action_220 (26) = happyGoto action_78+action_220 (34) = happyGoto action_327+action_220 (35) = happyGoto action_80+action_220 (63) = happyGoto action_81+action_220 _ = happyFail++action_221 (65) = happyShift action_82+action_221 (66) = happyShift action_83+action_221 (68) = happyShift action_23+action_221 (69) = happyShift action_57+action_221 (70) = happyShift action_84+action_221 (78) = happyShift action_85+action_221 (89) = happyShift action_73+action_221 (90) = happyShift action_86+action_221 (91) = happyShift action_87+action_221 (92) = happyShift action_88+action_221 (93) = happyShift action_89+action_221 (94) = happyShift action_90+action_221 (95) = happyShift action_91+action_221 (96) = happyShift action_92+action_221 (97) = happyShift action_93+action_221 (98) = happyShift action_94+action_221 (99) = happyShift action_95+action_221 (100) = happyShift action_96+action_221 (101) = happyShift action_97+action_221 (102) = happyShift action_98+action_221 (103) = happyShift action_99+action_221 (104) = happyShift action_100+action_221 (105) = happyShift action_101+action_221 (106) = happyShift action_102+action_221 (107) = happyShift action_103+action_221 (108) = happyShift action_104+action_221 (109) = happyShift action_105+action_221 (110) = happyShift action_106+action_221 (111) = happyShift action_107+action_221 (112) = happyShift action_108+action_221 (113) = happyShift action_109+action_221 (114) = happyShift action_110+action_221 (115) = happyShift action_111+action_221 (116) = happyShift action_112+action_221 (117) = happyShift action_113+action_221 (118) = happyShift action_114+action_221 (119) = happyShift action_115+action_221 (120) = happyShift action_116+action_221 (121) = happyShift action_117+action_221 (122) = happyShift action_118+action_221 (123) = happyShift action_119+action_221 (124) = happyShift action_120+action_221 (125) = happyShift action_121+action_221 (126) = happyShift action_122+action_221 (127) = happyShift action_123+action_221 (128) = happyShift action_124+action_221 (136) = happyShift action_125+action_221 (139) = happyShift action_126+action_221 (147) = happyShift action_127+action_221 (149) = happyShift action_128+action_221 (150) = happyShift action_129+action_221 (155) = happyShift action_130+action_221 (26) = happyGoto action_78+action_221 (34) = happyGoto action_326+action_221 (35) = happyGoto action_80+action_221 (63) = happyGoto action_81+action_221 _ = happyFail++action_222 (65) = happyShift action_82+action_222 (66) = happyShift action_83+action_222 (68) = happyShift action_23+action_222 (69) = happyShift action_57+action_222 (70) = happyShift action_84+action_222 (78) = happyShift action_85+action_222 (89) = happyShift action_73+action_222 (90) = happyShift action_86+action_222 (91) = happyShift action_87+action_222 (92) = happyShift action_88+action_222 (93) = happyShift action_89+action_222 (94) = happyShift action_90+action_222 (95) = happyShift action_91+action_222 (96) = happyShift action_92+action_222 (97) = happyShift action_93+action_222 (98) = happyShift action_94+action_222 (99) = happyShift action_95+action_222 (100) = happyShift action_96+action_222 (101) = happyShift action_97+action_222 (102) = happyShift action_98+action_222 (103) = happyShift action_99+action_222 (104) = happyShift action_100+action_222 (105) = happyShift action_101+action_222 (106) = happyShift action_102+action_222 (107) = happyShift action_103+action_222 (108) = happyShift action_104+action_222 (109) = happyShift action_105+action_222 (110) = happyShift action_106+action_222 (111) = happyShift action_107+action_222 (112) = happyShift action_108+action_222 (113) = happyShift action_109+action_222 (114) = happyShift action_110+action_222 (115) = happyShift action_111+action_222 (116) = happyShift action_112+action_222 (117) = happyShift action_113+action_222 (118) = happyShift action_114+action_222 (119) = happyShift action_115+action_222 (120) = happyShift action_116+action_222 (121) = happyShift action_117+action_222 (122) = happyShift action_118+action_222 (123) = happyShift action_119+action_222 (124) = happyShift action_120+action_222 (125) = happyShift action_121+action_222 (126) = happyShift action_122+action_222 (127) = happyShift action_123+action_222 (128) = happyShift action_124+action_222 (136) = happyShift action_125+action_222 (139) = happyShift action_126+action_222 (147) = happyShift action_127+action_222 (149) = happyShift action_128+action_222 (150) = happyShift action_129+action_222 (155) = happyShift action_130+action_222 (26) = happyGoto action_78+action_222 (34) = happyGoto action_325+action_222 (35) = happyGoto action_80+action_222 (63) = happyGoto action_81+action_222 _ = happyFail++action_223 (65) = happyShift action_82+action_223 (66) = happyShift action_83+action_223 (68) = happyShift action_23+action_223 (69) = happyShift action_57+action_223 (70) = happyShift action_84+action_223 (78) = happyShift action_85+action_223 (89) = happyShift action_73+action_223 (90) = happyShift action_86+action_223 (91) = happyShift action_87+action_223 (92) = happyShift action_88+action_223 (93) = happyShift action_89+action_223 (94) = happyShift action_90+action_223 (95) = happyShift action_91+action_223 (96) = happyShift action_92+action_223 (97) = happyShift action_93+action_223 (98) = happyShift action_94+action_223 (99) = happyShift action_95+action_223 (100) = happyShift action_96+action_223 (101) = happyShift action_97+action_223 (102) = happyShift action_98+action_223 (103) = happyShift action_99+action_223 (104) = happyShift action_100+action_223 (105) = happyShift action_101+action_223 (106) = happyShift action_102+action_223 (107) = happyShift action_103+action_223 (108) = happyShift action_104+action_223 (109) = happyShift action_105+action_223 (110) = happyShift action_106+action_223 (111) = happyShift action_107+action_223 (112) = happyShift action_108+action_223 (113) = happyShift action_109+action_223 (114) = happyShift action_110+action_223 (115) = happyShift action_111+action_223 (116) = happyShift action_112+action_223 (117) = happyShift action_113+action_223 (118) = happyShift action_114+action_223 (119) = happyShift action_115+action_223 (120) = happyShift action_116+action_223 (121) = happyShift action_117+action_223 (122) = happyShift action_118+action_223 (123) = happyShift action_119+action_223 (124) = happyShift action_120+action_223 (125) = happyShift action_121+action_223 (126) = happyShift action_122+action_223 (127) = happyShift action_123+action_223 (128) = happyShift action_124+action_223 (136) = happyShift action_125+action_223 (139) = happyShift action_126+action_223 (147) = happyShift action_127+action_223 (149) = happyShift action_128+action_223 (150) = happyShift action_129+action_223 (155) = happyShift action_130+action_223 (26) = happyGoto action_78+action_223 (34) = happyGoto action_324+action_223 (35) = happyGoto action_80+action_223 (63) = happyGoto action_81+action_223 _ = happyFail++action_224 (65) = happyShift action_82+action_224 (66) = happyShift action_83+action_224 (68) = happyShift action_23+action_224 (69) = happyShift action_57+action_224 (70) = happyShift action_84+action_224 (78) = happyShift action_85+action_224 (89) = happyShift action_73+action_224 (90) = happyShift action_86+action_224 (91) = happyShift action_87+action_224 (92) = happyShift action_88+action_224 (93) = happyShift action_89+action_224 (94) = happyShift action_90+action_224 (95) = happyShift action_91+action_224 (96) = happyShift action_92+action_224 (97) = happyShift action_93+action_224 (98) = happyShift action_94+action_224 (99) = happyShift action_95+action_224 (100) = happyShift action_96+action_224 (101) = happyShift action_97+action_224 (102) = happyShift action_98+action_224 (103) = happyShift action_99+action_224 (104) = happyShift action_100+action_224 (105) = happyShift action_101+action_224 (106) = happyShift action_102+action_224 (107) = happyShift action_103+action_224 (108) = happyShift action_104+action_224 (109) = happyShift action_105+action_224 (110) = happyShift action_106+action_224 (111) = happyShift action_107+action_224 (112) = happyShift action_108+action_224 (113) = happyShift action_109+action_224 (114) = happyShift action_110+action_224 (115) = happyShift action_111+action_224 (116) = happyShift action_112+action_224 (117) = happyShift action_113+action_224 (118) = happyShift action_114+action_224 (119) = happyShift action_115+action_224 (120) = happyShift action_116+action_224 (121) = happyShift action_117+action_224 (122) = happyShift action_118+action_224 (123) = happyShift action_119+action_224 (124) = happyShift action_120+action_224 (125) = happyShift action_121+action_224 (126) = happyShift action_122+action_224 (127) = happyShift action_123+action_224 (128) = happyShift action_124+action_224 (136) = happyShift action_125+action_224 (139) = happyShift action_126+action_224 (147) = happyShift action_127+action_224 (149) = happyShift action_128+action_224 (150) = happyShift action_129+action_224 (155) = happyShift action_130+action_224 (26) = happyGoto action_78+action_224 (34) = happyGoto action_323+action_224 (35) = happyGoto action_80+action_224 (63) = happyGoto action_81+action_224 _ = happyFail++action_225 (65) = happyShift action_82+action_225 (66) = happyShift action_83+action_225 (68) = happyShift action_23+action_225 (69) = happyShift action_57+action_225 (70) = happyShift action_84+action_225 (78) = happyShift action_85+action_225 (89) = happyShift action_73+action_225 (90) = happyShift action_86+action_225 (91) = happyShift action_87+action_225 (92) = happyShift action_88+action_225 (93) = happyShift action_89+action_225 (94) = happyShift action_90+action_225 (95) = happyShift action_91+action_225 (96) = happyShift action_92+action_225 (97) = happyShift action_93+action_225 (98) = happyShift action_94+action_225 (99) = happyShift action_95+action_225 (100) = happyShift action_96+action_225 (101) = happyShift action_97+action_225 (102) = happyShift action_98+action_225 (103) = happyShift action_99+action_225 (104) = happyShift action_100+action_225 (105) = happyShift action_101+action_225 (106) = happyShift action_102+action_225 (107) = happyShift action_103+action_225 (108) = happyShift action_104+action_225 (109) = happyShift action_105+action_225 (110) = happyShift action_106+action_225 (111) = happyShift action_107+action_225 (112) = happyShift action_108+action_225 (113) = happyShift action_109+action_225 (114) = happyShift action_110+action_225 (115) = happyShift action_111+action_225 (116) = happyShift action_112+action_225 (117) = happyShift action_113+action_225 (118) = happyShift action_114+action_225 (119) = happyShift action_115+action_225 (120) = happyShift action_116+action_225 (121) = happyShift action_117+action_225 (122) = happyShift action_118+action_225 (123) = happyShift action_119+action_225 (124) = happyShift action_120+action_225 (125) = happyShift action_121+action_225 (126) = happyShift action_122+action_225 (127) = happyShift action_123+action_225 (128) = happyShift action_124+action_225 (136) = happyShift action_125+action_225 (139) = happyShift action_126+action_225 (147) = happyShift action_127+action_225 (149) = happyShift action_128+action_225 (150) = happyShift action_129+action_225 (155) = happyShift action_130+action_225 (26) = happyGoto action_78+action_225 (34) = happyGoto action_322+action_225 (35) = happyGoto action_80+action_225 (63) = happyGoto action_81+action_225 _ = happyFail++action_226 (65) = happyShift action_82+action_226 (66) = happyShift action_83+action_226 (68) = happyShift action_23+action_226 (69) = happyShift action_57+action_226 (70) = happyShift action_84+action_226 (78) = happyShift action_85+action_226 (89) = happyShift action_73+action_226 (90) = happyShift action_86+action_226 (91) = happyShift action_87+action_226 (92) = happyShift action_88+action_226 (93) = happyShift action_89+action_226 (94) = happyShift action_90+action_226 (95) = happyShift action_91+action_226 (96) = happyShift action_92+action_226 (97) = happyShift action_93+action_226 (98) = happyShift action_94+action_226 (99) = happyShift action_95+action_226 (100) = happyShift action_96+action_226 (101) = happyShift action_97+action_226 (102) = happyShift action_98+action_226 (103) = happyShift action_99+action_226 (104) = happyShift action_100+action_226 (105) = happyShift action_101+action_226 (106) = happyShift action_102+action_226 (107) = happyShift action_103+action_226 (108) = happyShift action_104+action_226 (109) = happyShift action_105+action_226 (110) = happyShift action_106+action_226 (111) = happyShift action_107+action_226 (112) = happyShift action_108+action_226 (113) = happyShift action_109+action_226 (114) = happyShift action_110+action_226 (115) = happyShift action_111+action_226 (116) = happyShift action_112+action_226 (117) = happyShift action_113+action_226 (118) = happyShift action_114+action_226 (119) = happyShift action_115+action_226 (120) = happyShift action_116+action_226 (121) = happyShift action_117+action_226 (122) = happyShift action_118+action_226 (123) = happyShift action_119+action_226 (124) = happyShift action_120+action_226 (125) = happyShift action_121+action_226 (126) = happyShift action_122+action_226 (127) = happyShift action_123+action_226 (128) = happyShift action_124+action_226 (136) = happyShift action_125+action_226 (139) = happyShift action_126+action_226 (147) = happyShift action_127+action_226 (149) = happyShift action_128+action_226 (150) = happyShift action_129+action_226 (155) = happyShift action_130+action_226 (26) = happyGoto action_78+action_226 (34) = happyGoto action_321+action_226 (35) = happyGoto action_80+action_226 (63) = happyGoto action_81+action_226 _ = happyFail++action_227 (28) = happyGoto action_320+action_227 _ = happyReduce_73++action_228 (65) = happyShift action_82+action_228 (66) = happyShift action_83+action_228 (68) = happyShift action_23+action_228 (69) = happyShift action_57+action_228 (70) = happyShift action_84+action_228 (78) = happyShift action_85+action_228 (89) = happyShift action_73+action_228 (90) = happyShift action_86+action_228 (91) = happyShift action_87+action_228 (92) = happyShift action_88+action_228 (93) = happyShift action_89+action_228 (94) = happyShift action_90+action_228 (95) = happyShift action_91+action_228 (96) = happyShift action_92+action_228 (97) = happyShift action_93+action_228 (98) = happyShift action_94+action_228 (99) = happyShift action_95+action_228 (100) = happyShift action_96+action_228 (101) = happyShift action_97+action_228 (102) = happyShift action_98+action_228 (103) = happyShift action_99+action_228 (104) = happyShift action_100+action_228 (105) = happyShift action_101+action_228 (106) = happyShift action_102+action_228 (107) = happyShift action_103+action_228 (108) = happyShift action_104+action_228 (109) = happyShift action_105+action_228 (110) = happyShift action_106+action_228 (111) = happyShift action_107+action_228 (112) = happyShift action_108+action_228 (113) = happyShift action_109+action_228 (114) = happyShift action_110+action_228 (115) = happyShift action_111+action_228 (116) = happyShift action_112+action_228 (117) = happyShift action_113+action_228 (118) = happyShift action_114+action_228 (119) = happyShift action_115+action_228 (120) = happyShift action_116+action_228 (121) = happyShift action_117+action_228 (122) = happyShift action_118+action_228 (123) = happyShift action_119+action_228 (124) = happyShift action_120+action_228 (125) = happyShift action_121+action_228 (126) = happyShift action_122+action_228 (127) = happyShift action_123+action_228 (128) = happyShift action_124+action_228 (136) = happyShift action_125+action_228 (139) = happyShift action_126+action_228 (147) = happyShift action_127+action_228 (149) = happyShift action_128+action_228 (150) = happyShift action_129+action_228 (155) = happyShift action_130+action_228 (26) = happyGoto action_78+action_228 (34) = happyGoto action_319+action_228 (35) = happyGoto action_80+action_228 (63) = happyGoto action_81+action_228 _ = happyFail++action_229 (65) = happyShift action_82+action_229 (66) = happyShift action_83+action_229 (68) = happyShift action_23+action_229 (69) = happyShift action_57+action_229 (70) = happyShift action_84+action_229 (78) = happyShift action_85+action_229 (89) = happyShift action_73+action_229 (90) = happyShift action_86+action_229 (91) = happyShift action_87+action_229 (92) = happyShift action_88+action_229 (93) = happyShift action_89+action_229 (94) = happyShift action_90+action_229 (95) = happyShift action_91+action_229 (96) = happyShift action_92+action_229 (97) = happyShift action_93+action_229 (98) = happyShift action_94+action_229 (99) = happyShift action_95+action_229 (100) = happyShift action_96+action_229 (101) = happyShift action_97+action_229 (102) = happyShift action_98+action_229 (103) = happyShift action_99+action_229 (104) = happyShift action_100+action_229 (105) = happyShift action_101+action_229 (106) = happyShift action_102+action_229 (107) = happyShift action_103+action_229 (108) = happyShift action_104+action_229 (109) = happyShift action_105+action_229 (110) = happyShift action_106+action_229 (111) = happyShift action_107+action_229 (112) = happyShift action_108+action_229 (113) = happyShift action_109+action_229 (114) = happyShift action_110+action_229 (115) = happyShift action_111+action_229 (116) = happyShift action_112+action_229 (117) = happyShift action_113+action_229 (118) = happyShift action_114+action_229 (119) = happyShift action_115+action_229 (120) = happyShift action_116+action_229 (121) = happyShift action_117+action_229 (122) = happyShift action_118+action_229 (123) = happyShift action_119+action_229 (124) = happyShift action_120+action_229 (125) = happyShift action_121+action_229 (126) = happyShift action_122+action_229 (127) = happyShift action_123+action_229 (128) = happyShift action_124+action_229 (136) = happyShift action_125+action_229 (139) = happyShift action_126+action_229 (147) = happyShift action_127+action_229 (149) = happyShift action_128+action_229 (150) = happyShift action_129+action_229 (155) = happyShift action_130+action_229 (26) = happyGoto action_78+action_229 (34) = happyGoto action_318+action_229 (35) = happyGoto action_80+action_229 (63) = happyGoto action_81+action_229 _ = happyFail++action_230 _ = happyReduce_49++action_231 _ = happyReduce_50++action_232 _ = happyReduce_190++action_233 (65) = happyShift action_82+action_233 (66) = happyShift action_83+action_233 (68) = happyShift action_23+action_233 (69) = happyShift action_57+action_233 (70) = happyShift action_84+action_233 (78) = happyShift action_85+action_233 (89) = happyShift action_73+action_233 (90) = happyShift action_86+action_233 (91) = happyShift action_87+action_233 (92) = happyShift action_88+action_233 (93) = happyShift action_89+action_233 (94) = happyShift action_90+action_233 (95) = happyShift action_91+action_233 (96) = happyShift action_92+action_233 (97) = happyShift action_93+action_233 (98) = happyShift action_94+action_233 (99) = happyShift action_95+action_233 (100) = happyShift action_96+action_233 (101) = happyShift action_97+action_233 (102) = happyShift action_98+action_233 (103) = happyShift action_99+action_233 (104) = happyShift action_100+action_233 (105) = happyShift action_101+action_233 (106) = happyShift action_102+action_233 (107) = happyShift action_103+action_233 (108) = happyShift action_104+action_233 (109) = happyShift action_105+action_233 (110) = happyShift action_106+action_233 (111) = happyShift action_107+action_233 (112) = happyShift action_108+action_233 (113) = happyShift action_109+action_233 (114) = happyShift action_110+action_233 (115) = happyShift action_111+action_233 (116) = happyShift action_112+action_233 (117) = happyShift action_113+action_233 (118) = happyShift action_114+action_233 (119) = happyShift action_115+action_233 (120) = happyShift action_116+action_233 (121) = happyShift action_117+action_233 (122) = happyShift action_118+action_233 (123) = happyShift action_119+action_233 (124) = happyShift action_120+action_233 (125) = happyShift action_121+action_233 (126) = happyShift action_122+action_233 (127) = happyShift action_123+action_233 (128) = happyShift action_124+action_233 (136) = happyShift action_125+action_233 (139) = happyShift action_126+action_233 (147) = happyShift action_127+action_233 (149) = happyShift action_128+action_233 (150) = happyShift action_129+action_233 (155) = happyShift action_130+action_233 (26) = happyGoto action_78+action_233 (34) = happyGoto action_317+action_233 (35) = happyGoto action_80+action_233 (63) = happyGoto action_81+action_233 _ = happyFail++action_234 (141) = happyShift action_316+action_234 _ = happyFail++action_235 _ = happyReduce_54++action_236 _ = happyReduce_37++action_237 (158) = happyShift action_315+action_237 _ = happyFail++action_238 (160) = happyShift action_314+action_238 _ = happyFail++action_239 (89) = happyShift action_73+action_239 (157) = happyShift action_313+action_239 (26) = happyGoto action_311+action_239 (31) = happyGoto action_312+action_239 _ = happyFail++action_240 _ = happyReduce_47++action_241 (157) = happyShift action_310+action_241 _ = happyFail++action_242 _ = happyReduce_45++action_243 (65) = happyShift action_82+action_243 (66) = happyShift action_83+action_243 (68) = happyShift action_23+action_243 (69) = happyShift action_57+action_243 (70) = happyShift action_84+action_243 (78) = happyShift action_85+action_243 (89) = happyShift action_73+action_243 (90) = happyShift action_86+action_243 (91) = happyShift action_87+action_243 (92) = happyShift action_88+action_243 (93) = happyShift action_89+action_243 (94) = happyShift action_90+action_243 (95) = happyShift action_91+action_243 (96) = happyShift action_92+action_243 (97) = happyShift action_93+action_243 (98) = happyShift action_94+action_243 (99) = happyShift action_95+action_243 (100) = happyShift action_96+action_243 (101) = happyShift action_97+action_243 (102) = happyShift action_98+action_243 (103) = happyShift action_99+action_243 (104) = happyShift action_100+action_243 (105) = happyShift action_101+action_243 (106) = happyShift action_102+action_243 (107) = happyShift action_103+action_243 (108) = happyShift action_104+action_243 (109) = happyShift action_105+action_243 (110) = happyShift action_106+action_243 (111) = happyShift action_107+action_243 (112) = happyShift action_108+action_243 (113) = happyShift action_109+action_243 (114) = happyShift action_110+action_243 (115) = happyShift action_111+action_243 (116) = happyShift action_112+action_243 (117) = happyShift action_113+action_243 (118) = happyShift action_114+action_243 (119) = happyShift action_115+action_243 (120) = happyShift action_116+action_243 (121) = happyShift action_117+action_243 (122) = happyShift action_118+action_243 (123) = happyShift action_119+action_243 (124) = happyShift action_120+action_243 (125) = happyShift action_121+action_243 (126) = happyShift action_122+action_243 (127) = happyShift action_123+action_243 (128) = happyShift action_124+action_243 (136) = happyShift action_125+action_243 (139) = happyShift action_126+action_243 (147) = happyShift action_127+action_243 (149) = happyShift action_128+action_243 (150) = happyShift action_129+action_243 (155) = happyShift action_130+action_243 (26) = happyGoto action_78+action_243 (34) = happyGoto action_309+action_243 (35) = happyGoto action_80+action_243 (63) = happyGoto action_81+action_243 _ = happyFail++action_244 _ = happyReduce_43++action_245 (65) = happyShift action_82+action_245 (66) = happyShift action_83+action_245 (68) = happyShift action_23+action_245 (69) = happyShift action_57+action_245 (70) = happyShift action_84+action_245 (78) = happyShift action_85+action_245 (89) = happyShift action_73+action_245 (90) = happyShift action_86+action_245 (91) = happyShift action_87+action_245 (92) = happyShift action_88+action_245 (93) = happyShift action_89+action_245 (94) = happyShift action_90+action_245 (95) = happyShift action_91+action_245 (96) = happyShift action_92+action_245 (97) = happyShift action_93+action_245 (98) = happyShift action_94+action_245 (99) = happyShift action_95+action_245 (100) = happyShift action_96+action_245 (101) = happyShift action_97+action_245 (102) = happyShift action_98+action_245 (103) = happyShift action_99+action_245 (104) = happyShift action_100+action_245 (105) = happyShift action_101+action_245 (106) = happyShift action_102+action_245 (107) = happyShift action_103+action_245 (108) = happyShift action_104+action_245 (109) = happyShift action_105+action_245 (110) = happyShift action_106+action_245 (111) = happyShift action_107+action_245 (112) = happyShift action_108+action_245 (113) = happyShift action_109+action_245 (114) = happyShift action_110+action_245 (115) = happyShift action_111+action_245 (116) = happyShift action_112+action_245 (117) = happyShift action_113+action_245 (118) = happyShift action_114+action_245 (119) = happyShift action_115+action_245 (120) = happyShift action_116+action_245 (121) = happyShift action_117+action_245 (122) = happyShift action_118+action_245 (123) = happyShift action_119+action_245 (124) = happyShift action_120+action_245 (125) = happyShift action_121+action_245 (126) = happyShift action_122+action_245 (127) = happyShift action_123+action_245 (128) = happyShift action_124+action_245 (136) = happyShift action_125+action_245 (139) = happyShift action_126+action_245 (147) = happyShift action_127+action_245 (149) = happyShift action_128+action_245 (150) = happyShift action_129+action_245 (155) = happyShift action_130+action_245 (26) = happyGoto action_78+action_245 (34) = happyGoto action_308+action_245 (35) = happyGoto action_80+action_245 (63) = happyGoto action_81+action_245 _ = happyFail++action_246 (161) = happyShift action_307+action_246 _ = happyFail++action_247 (28) = happyGoto action_306+action_247 _ = happyReduce_73++action_248 (157) = happyShift action_305+action_248 _ = happyFail++action_249 (130) = happyShift action_206+action_249 (132) = happyShift action_207+action_249 (133) = happyShift action_208+action_249 (134) = happyShift action_209+action_249 (135) = happyShift action_210+action_249 (136) = happyShift action_211+action_249 (137) = happyShift action_212+action_249 (138) = happyShift action_213+action_249 (139) = happyShift action_214+action_249 (140) = happyShift action_215+action_249 (142) = happyShift action_216+action_249 (143) = happyShift action_217+action_249 (144) = happyShift action_218+action_249 (145) = happyShift action_219+action_249 (146) = happyShift action_220+action_249 (147) = happyShift action_221+action_249 (148) = happyShift action_222+action_249 (151) = happyShift action_223+action_249 (152) = happyShift action_224+action_249 (153) = happyShift action_225+action_249 (154) = happyShift action_226+action_249 (159) = happyShift action_228+action_249 (162) = happyShift action_304+action_249 (163) = happyShift action_229+action_249 _ = happyFail++action_250 (130) = happyShift action_206+action_250 (132) = happyShift action_207+action_250 (133) = happyShift action_208+action_250 (134) = happyShift action_209+action_250 (135) = happyShift action_210+action_250 (136) = happyShift action_211+action_250 (137) = happyShift action_212+action_250 (138) = happyShift action_213+action_250 (139) = happyShift action_214+action_250 (140) = happyShift action_215+action_250 (142) = happyShift action_216+action_250 (143) = happyShift action_217+action_250 (144) = happyShift action_218+action_250 (145) = happyShift action_219+action_250 (146) = happyShift action_220+action_250 (147) = happyShift action_221+action_250 (148) = happyShift action_222+action_250 (151) = happyShift action_223+action_250 (152) = happyShift action_224+action_250 (153) = happyShift action_225+action_250 (154) = happyShift action_226+action_250 (156) = happyShift action_303+action_250 (159) = happyShift action_228+action_250 (163) = happyShift action_229+action_250 _ = happyFail++action_251 (132) = happyShift action_207+action_251 (133) = happyShift action_208+action_251 (159) = happyShift action_228+action_251 (163) = happyShift action_229+action_251 _ = happyReduce_101++action_252 (132) = happyShift action_207+action_252 (133) = happyShift action_208+action_252 (159) = happyShift action_228+action_252 (163) = happyShift action_229+action_252 _ = happyReduce_103++action_253 _ = happyReduce_97++action_254 (132) = happyShift action_207+action_254 (133) = happyShift action_208+action_254 (136) = happyShift action_211+action_254 (137) = happyShift action_212+action_254 (140) = happyShift action_215+action_254 (159) = happyShift action_228+action_254 (163) = happyShift action_229+action_254 _ = happyReduce_102++action_255 (132) = happyShift action_207+action_255 (133) = happyShift action_208+action_255 (159) = happyShift action_228+action_255 (163) = happyShift action_229+action_255 _ = happyReduce_92++action_256 _ = happyReduce_160++action_257 _ = happyReduce_159++action_258 _ = happyReduce_158++action_259 _ = happyReduce_157++action_260 _ = happyReduce_161++action_261 _ = happyReduce_154++action_262 _ = happyReduce_156++action_263 _ = happyReduce_155++action_264 _ = happyReduce_153++action_265 _ = happyReduce_152++action_266 _ = happyReduce_149++action_267 _ = happyReduce_151++action_268 _ = happyReduce_150++action_269 _ = happyReduce_147++action_270 _ = happyReduce_146++action_271 _ = happyReduce_145++action_272 _ = happyReduce_144++action_273 _ = happyReduce_143++action_274 _ = happyReduce_142++action_275 _ = happyReduce_141++action_276 _ = happyReduce_140++action_277 _ = happyReduce_139++action_278 _ = happyReduce_138++action_279 _ = happyReduce_137++action_280 _ = happyReduce_136++action_281 _ = happyReduce_135++action_282 _ = happyReduce_134++action_283 _ = happyReduce_133++action_284 _ = happyReduce_132++action_285 _ = happyReduce_131++action_286 _ = happyReduce_130++action_287 _ = happyReduce_129++action_288 _ = happyReduce_148++action_289 _ = happyReduce_128++action_290 _ = happyReduce_127++action_291 _ = happyReduce_126++action_292 _ = happyReduce_125++action_293 _ = happyReduce_124++action_294 _ = happyReduce_123++action_295 _ = happyReduce_100++action_296 (157) = happyShift action_302+action_296 _ = happyFail++action_297 (130) = happyShift action_206+action_297 (132) = happyShift action_207+action_297 (133) = happyShift action_208+action_297 (134) = happyShift action_209+action_297 (135) = happyShift action_210+action_297 (136) = happyShift action_211+action_297 (137) = happyShift action_212+action_297 (138) = happyShift action_213+action_297 (139) = happyShift action_214+action_297 (140) = happyShift action_215+action_297 (142) = happyShift action_216+action_297 (143) = happyShift action_217+action_297 (144) = happyShift action_218+action_297 (145) = happyShift action_219+action_297 (146) = happyShift action_220+action_297 (147) = happyShift action_221+action_297 (148) = happyShift action_222+action_297 (151) = happyShift action_223+action_297 (152) = happyShift action_224+action_297 (153) = happyShift action_225+action_297 (154) = happyShift action_226+action_297 (159) = happyShift action_228+action_297 (162) = happyShift action_301+action_297 (163) = happyShift action_229+action_297 _ = happyFail++action_298 (68) = happyShift action_23+action_298 (69) = happyShift action_57+action_298 (71) = happyShift action_58+action_298 (73) = happyShift action_59+action_298 (74) = happyShift action_60+action_298 (77) = happyShift action_61+action_298 (78) = happyShift action_62+action_298 (79) = happyShift action_63+action_298 (80) = happyShift action_64+action_298 (81) = happyShift action_65+action_298 (82) = happyShift action_66+action_298 (83) = happyShift action_67+action_298 (84) = happyShift action_68+action_298 (85) = happyShift action_69+action_298 (86) = happyShift action_70+action_298 (87) = happyShift action_71+action_298 (88) = happyShift action_72+action_298 (89) = happyShift action_73+action_298 (158) = happyShift action_300+action_298 (24) = happyGoto action_52+action_298 (25) = happyGoto action_53+action_298 (26) = happyGoto action_54+action_298 (27) = happyGoto action_55+action_298 (63) = happyGoto action_56+action_298 _ = happyFail++action_299 _ = happyReduce_63++action_300 _ = happyReduce_69++action_301 (65) = happyShift action_82+action_301 (66) = happyShift action_83+action_301 (68) = happyShift action_23+action_301 (69) = happyShift action_57+action_301 (70) = happyShift action_84+action_301 (78) = happyShift action_85+action_301 (89) = happyShift action_73+action_301 (90) = happyShift action_86+action_301 (91) = happyShift action_87+action_301 (92) = happyShift action_88+action_301 (93) = happyShift action_89+action_301 (94) = happyShift action_90+action_301 (95) = happyShift action_91+action_301 (96) = happyShift action_92+action_301 (97) = happyShift action_93+action_301 (98) = happyShift action_94+action_301 (99) = happyShift action_95+action_301 (100) = happyShift action_96+action_301 (101) = happyShift action_97+action_301 (102) = happyShift action_98+action_301 (103) = happyShift action_99+action_301 (104) = happyShift action_100+action_301 (105) = happyShift action_101+action_301 (106) = happyShift action_102+action_301 (107) = happyShift action_103+action_301 (108) = happyShift action_104+action_301 (109) = happyShift action_105+action_301 (110) = happyShift action_106+action_301 (111) = happyShift action_107+action_301 (112) = happyShift action_108+action_301 (113) = happyShift action_109+action_301 (114) = happyShift action_110+action_301 (115) = happyShift action_111+action_301 (116) = happyShift action_112+action_301 (117) = happyShift action_113+action_301 (118) = happyShift action_114+action_301 (119) = happyShift action_115+action_301 (120) = happyShift action_116+action_301 (121) = happyShift action_117+action_301 (122) = happyShift action_118+action_301 (123) = happyShift action_119+action_301 (124) = happyShift action_120+action_301 (125) = happyShift action_121+action_301 (126) = happyShift action_122+action_301 (127) = happyShift action_123+action_301 (128) = happyShift action_124+action_301 (136) = happyShift action_125+action_301 (139) = happyShift action_126+action_301 (147) = happyShift action_127+action_301 (149) = happyShift action_128+action_301 (150) = happyShift action_129+action_301 (155) = happyShift action_130+action_301 (26) = happyGoto action_78+action_301 (34) = happyGoto action_409+action_301 (35) = happyGoto action_80+action_301 (63) = happyGoto action_81+action_301 _ = happyFail++action_302 (28) = happyGoto action_408+action_302 _ = happyReduce_73++action_303 _ = happyReduce_91++action_304 (65) = happyShift action_82+action_304 (66) = happyShift action_83+action_304 (68) = happyShift action_23+action_304 (69) = happyShift action_57+action_304 (70) = happyShift action_84+action_304 (78) = happyShift action_85+action_304 (89) = happyShift action_73+action_304 (90) = happyShift action_86+action_304 (91) = happyShift action_87+action_304 (92) = happyShift action_88+action_304 (93) = happyShift action_89+action_304 (94) = happyShift action_90+action_304 (95) = happyShift action_91+action_304 (96) = happyShift action_92+action_304 (97) = happyShift action_93+action_304 (98) = happyShift action_94+action_304 (99) = happyShift action_95+action_304 (100) = happyShift action_96+action_304 (101) = happyShift action_97+action_304 (102) = happyShift action_98+action_304 (103) = happyShift action_99+action_304 (104) = happyShift action_100+action_304 (105) = happyShift action_101+action_304 (106) = happyShift action_102+action_304 (107) = happyShift action_103+action_304 (108) = happyShift action_104+action_304 (109) = happyShift action_105+action_304 (110) = happyShift action_106+action_304 (111) = happyShift action_107+action_304 (112) = happyShift action_108+action_304 (113) = happyShift action_109+action_304 (114) = happyShift action_110+action_304 (115) = happyShift action_111+action_304 (116) = happyShift action_112+action_304 (117) = happyShift action_113+action_304 (118) = happyShift action_114+action_304 (119) = happyShift action_115+action_304 (120) = happyShift action_116+action_304 (121) = happyShift action_117+action_304 (122) = happyShift action_118+action_304 (123) = happyShift action_119+action_304 (124) = happyShift action_120+action_304 (125) = happyShift action_121+action_304 (126) = happyShift action_122+action_304 (127) = happyShift action_123+action_304 (128) = happyShift action_124+action_304 (136) = happyShift action_125+action_304 (139) = happyShift action_126+action_304 (147) = happyShift action_127+action_304 (149) = happyShift action_128+action_304 (150) = happyShift action_129+action_304 (155) = happyShift action_130+action_304 (26) = happyGoto action_78+action_304 (34) = happyGoto action_407+action_304 (35) = happyGoto action_80+action_304 (63) = happyGoto action_81+action_304 _ = happyFail++action_305 (28) = happyGoto action_406+action_305 _ = happyReduce_73++action_306 (68) = happyShift action_23+action_306 (69) = happyShift action_57+action_306 (71) = happyShift action_58+action_306 (73) = happyShift action_59+action_306 (74) = happyShift action_60+action_306 (77) = happyShift action_61+action_306 (78) = happyShift action_62+action_306 (79) = happyShift action_63+action_306 (80) = happyShift action_64+action_306 (81) = happyShift action_65+action_306 (82) = happyShift action_66+action_306 (83) = happyShift action_67+action_306 (84) = happyShift action_68+action_306 (85) = happyShift action_69+action_306 (86) = happyShift action_70+action_306 (87) = happyShift action_71+action_306 (88) = happyShift action_72+action_306 (89) = happyShift action_73+action_306 (158) = happyShift action_405+action_306 (24) = happyGoto action_52+action_306 (25) = happyGoto action_53+action_306 (26) = happyGoto action_54+action_306 (27) = happyGoto action_55+action_306 (63) = happyGoto action_56+action_306 _ = happyFail++action_307 _ = happyReduce_55++action_308 (130) = happyShift action_206+action_308 (132) = happyShift action_207+action_308 (133) = happyShift action_208+action_308 (134) = happyShift action_209+action_308 (135) = happyShift action_210+action_308 (136) = happyShift action_211+action_308 (137) = happyShift action_212+action_308 (138) = happyShift action_213+action_308 (139) = happyShift action_214+action_308 (140) = happyShift action_215+action_308 (142) = happyShift action_216+action_308 (143) = happyShift action_217+action_308 (144) = happyShift action_218+action_308 (145) = happyShift action_219+action_308 (146) = happyShift action_220+action_308 (147) = happyShift action_221+action_308 (148) = happyShift action_222+action_308 (151) = happyShift action_223+action_308 (152) = happyShift action_224+action_308 (153) = happyShift action_225+action_308 (154) = happyShift action_226+action_308 (159) = happyShift action_228+action_308 (161) = happyShift action_404+action_308 (163) = happyShift action_229+action_308 _ = happyFail++action_309 (130) = happyShift action_206+action_309 (132) = happyShift action_207+action_309 (133) = happyShift action_208+action_309 (134) = happyShift action_209+action_309 (135) = happyShift action_210+action_309 (136) = happyShift action_211+action_309 (137) = happyShift action_212+action_309 (138) = happyShift action_213+action_309 (139) = happyShift action_214+action_309 (140) = happyShift action_215+action_309 (142) = happyShift action_216+action_309 (143) = happyShift action_217+action_309 (144) = happyShift action_218+action_309 (145) = happyShift action_219+action_309 (146) = happyShift action_220+action_309 (147) = happyShift action_221+action_309 (148) = happyShift action_222+action_309 (151) = happyShift action_223+action_309 (152) = happyShift action_224+action_309 (153) = happyShift action_225+action_309 (154) = happyShift action_226+action_309 (159) = happyShift action_228+action_309 (161) = happyShift action_403+action_309 (163) = happyShift action_229+action_309 _ = happyFail++action_310 (65) = happyShift action_82+action_310 (66) = happyShift action_83+action_310 (68) = happyShift action_23+action_310 (69) = happyShift action_57+action_310 (70) = happyShift action_84+action_310 (78) = happyShift action_85+action_310 (89) = happyShift action_73+action_310 (90) = happyShift action_86+action_310 (91) = happyShift action_87+action_310 (92) = happyShift action_88+action_310 (93) = happyShift action_89+action_310 (94) = happyShift action_90+action_310 (95) = happyShift action_91+action_310 (96) = happyShift action_92+action_310 (97) = happyShift action_93+action_310 (98) = happyShift action_94+action_310 (99) = happyShift action_95+action_310 (100) = happyShift action_96+action_310 (101) = happyShift action_97+action_310 (102) = happyShift action_98+action_310 (103) = happyShift action_99+action_310 (104) = happyShift action_100+action_310 (105) = happyShift action_101+action_310 (106) = happyShift action_102+action_310 (107) = happyShift action_103+action_310 (108) = happyShift action_104+action_310 (109) = happyShift action_105+action_310 (110) = happyShift action_106+action_310 (111) = happyShift action_107+action_310 (112) = happyShift action_108+action_310 (113) = happyShift action_109+action_310 (114) = happyShift action_110+action_310 (115) = happyShift action_111+action_310 (116) = happyShift action_112+action_310 (117) = happyShift action_113+action_310 (118) = happyShift action_114+action_310 (119) = happyShift action_115+action_310 (120) = happyShift action_116+action_310 (121) = happyShift action_117+action_310 (122) = happyShift action_118+action_310 (123) = happyShift action_119+action_310 (124) = happyShift action_120+action_310 (125) = happyShift action_121+action_310 (126) = happyShift action_122+action_310 (127) = happyShift action_123+action_310 (128) = happyShift action_124+action_310 (136) = happyShift action_125+action_310 (139) = happyShift action_126+action_310 (147) = happyShift action_127+action_310 (149) = happyShift action_128+action_310 (150) = happyShift action_129+action_310 (155) = happyShift action_130+action_310 (26) = happyGoto action_78+action_310 (30) = happyGoto action_402+action_310 (34) = happyGoto action_204+action_310 (35) = happyGoto action_80+action_310 (63) = happyGoto action_81+action_310 _ = happyReduce_78++action_311 _ = happyReduce_79++action_312 (161) = happyShift action_401+action_312 _ = happyFail++action_313 (68) = happyShift action_23+action_313 (69) = happyShift action_57+action_313 (32) = happyGoto action_398+action_313 (33) = happyGoto action_399+action_313 (63) = happyGoto action_400+action_313 _ = happyReduce_84++action_314 _ = happyReduce_38++action_315 _ = happyReduce_39++action_316 (65) = happyShift action_82+action_316 (66) = happyShift action_83+action_316 (68) = happyShift action_23+action_316 (69) = happyShift action_57+action_316 (70) = happyShift action_84+action_316 (78) = happyShift action_85+action_316 (89) = happyShift action_73+action_316 (90) = happyShift action_86+action_316 (91) = happyShift action_87+action_316 (92) = happyShift action_88+action_316 (93) = happyShift action_89+action_316 (94) = happyShift action_90+action_316 (95) = happyShift action_91+action_316 (96) = happyShift action_92+action_316 (97) = happyShift action_93+action_316 (98) = happyShift action_94+action_316 (99) = happyShift action_95+action_316 (100) = happyShift action_96+action_316 (101) = happyShift action_97+action_316 (102) = happyShift action_98+action_316 (103) = happyShift action_99+action_316 (104) = happyShift action_100+action_316 (105) = happyShift action_101+action_316 (106) = happyShift action_102+action_316 (107) = happyShift action_103+action_316 (108) = happyShift action_104+action_316 (109) = happyShift action_105+action_316 (110) = happyShift action_106+action_316 (111) = happyShift action_107+action_316 (112) = happyShift action_108+action_316 (113) = happyShift action_109+action_316 (114) = happyShift action_110+action_316 (115) = happyShift action_111+action_316 (116) = happyShift action_112+action_316 (117) = happyShift action_113+action_316 (118) = happyShift action_114+action_316 (119) = happyShift action_115+action_316 (120) = happyShift action_116+action_316 (121) = happyShift action_117+action_316 (122) = happyShift action_118+action_316 (123) = happyShift action_119+action_316 (124) = happyShift action_120+action_316 (125) = happyShift action_121+action_316 (126) = happyShift action_122+action_316 (127) = happyShift action_123+action_316 (128) = happyShift action_124+action_316 (136) = happyShift action_125+action_316 (139) = happyShift action_126+action_316 (147) = happyShift action_127+action_316 (149) = happyShift action_128+action_316 (150) = happyShift action_129+action_316 (155) = happyShift action_130+action_316 (26) = happyGoto action_78+action_316 (34) = happyGoto action_397+action_316 (35) = happyGoto action_80+action_316 (63) = happyGoto action_81+action_316 _ = happyFail++action_317 (130) = happyShift action_206+action_317 (132) = happyShift action_207+action_317 (133) = happyShift action_208+action_317 (134) = happyShift action_209+action_317 (135) = happyShift action_210+action_317 (136) = happyShift action_211+action_317 (137) = happyShift action_212+action_317 (138) = happyShift action_213+action_317 (139) = happyShift action_214+action_317 (140) = happyShift action_215+action_317 (142) = happyShift action_216+action_317 (143) = happyShift action_217+action_317 (144) = happyShift action_218+action_317 (145) = happyShift action_219+action_317 (146) = happyShift action_220+action_317 (147) = happyShift action_221+action_317 (148) = happyShift action_222+action_317 (151) = happyShift action_223+action_317 (152) = happyShift action_224+action_317 (153) = happyShift action_225+action_317 (154) = happyShift action_226+action_317 (159) = happyShift action_228+action_317 (161) = happyShift action_396+action_317 (163) = happyShift action_229+action_317 _ = happyFail++action_318 _ = happyReduce_93++action_319 (130) = happyShift action_206+action_319 (132) = happyShift action_207+action_319 (133) = happyShift action_208+action_319 (134) = happyShift action_209+action_319 (135) = happyShift action_210+action_319 (136) = happyShift action_211+action_319 (137) = happyShift action_212+action_319 (138) = happyShift action_213+action_319 (139) = happyShift action_214+action_319 (140) = happyShift action_215+action_319 (142) = happyShift action_216+action_319 (143) = happyShift action_217+action_319 (144) = happyShift action_218+action_319 (145) = happyShift action_219+action_319 (146) = happyShift action_220+action_319 (147) = happyShift action_221+action_319 (148) = happyShift action_222+action_319 (151) = happyShift action_223+action_319 (152) = happyShift action_224+action_319 (153) = happyShift action_225+action_319 (154) = happyShift action_226+action_319 (159) = happyShift action_228+action_319 (160) = happyShift action_395+action_319 (163) = happyShift action_229+action_319 _ = happyFail++action_320 (68) = happyShift action_23+action_320 (69) = happyShift action_57+action_320 (71) = happyShift action_58+action_320 (73) = happyShift action_59+action_320 (74) = happyShift action_60+action_320 (77) = happyShift action_61+action_320 (78) = happyShift action_62+action_320 (79) = happyShift action_63+action_320 (80) = happyShift action_64+action_320 (81) = happyShift action_65+action_320 (82) = happyShift action_66+action_320 (83) = happyShift action_67+action_320 (84) = happyShift action_68+action_320 (85) = happyShift action_69+action_320 (86) = happyShift action_70+action_320 (87) = happyShift action_71+action_320 (88) = happyShift action_72+action_320 (89) = happyShift action_73+action_320 (158) = happyShift action_394+action_320 (24) = happyGoto action_52+action_320 (25) = happyGoto action_53+action_320 (26) = happyGoto action_54+action_320 (27) = happyGoto action_55+action_320 (63) = happyGoto action_56+action_320 _ = happyFail++action_321 (132) = happyShift action_207+action_321 (133) = happyShift action_208+action_321 (136) = happyShift action_211+action_321 (137) = happyShift action_212+action_321 (138) = happyShift action_213+action_321 (139) = happyShift action_214+action_321 (140) = happyShift action_215+action_321 (159) = happyShift action_228+action_321 (163) = happyShift action_229+action_321 _ = happyReduce_110++action_322 (132) = happyShift action_207+action_322 (133) = happyShift action_208+action_322 (136) = happyShift action_211+action_322 (137) = happyShift action_212+action_322 (138) = happyShift action_213+action_322 (139) = happyShift action_214+action_322 (140) = happyShift action_215+action_322 (159) = happyShift action_228+action_322 (163) = happyShift action_229+action_322 _ = happyReduce_109++action_323 (132) = happyShift action_207+action_323 (133) = happyShift action_208+action_323 (134) = happyShift action_209+action_323 (135) = happyShift action_210+action_323 (136) = happyShift action_211+action_323 (137) = happyShift action_212+action_323 (138) = happyShift action_213+action_323 (139) = happyShift action_214+action_323 (140) = happyShift action_215+action_323 (142) = happyShift action_216+action_323 (143) = happyShift action_217+action_323 (144) = happyShift action_218+action_323 (145) = happyShift action_219+action_323 (146) = happyShift action_220+action_323 (147) = happyShift action_221+action_323 (148) = happyShift action_222+action_323 (151) = happyShift action_223+action_323 (153) = happyShift action_225+action_323 (154) = happyShift action_226+action_323 (159) = happyShift action_228+action_323 (163) = happyShift action_229+action_323 _ = happyReduce_104++action_324 (132) = happyShift action_207+action_324 (133) = happyShift action_208+action_324 (134) = happyShift action_209+action_324 (135) = happyShift action_210+action_324 (136) = happyShift action_211+action_324 (137) = happyShift action_212+action_324 (138) = happyShift action_213+action_324 (139) = happyShift action_214+action_324 (140) = happyShift action_215+action_324 (142) = happyShift action_216+action_324 (143) = happyShift action_217+action_324 (144) = happyShift action_218+action_324 (145) = happyShift action_219+action_324 (146) = happyShift action_220+action_324 (147) = happyShift action_221+action_324 (148) = happyShift action_222+action_324 (153) = happyShift action_225+action_324 (154) = happyShift action_226+action_324 (159) = happyShift action_228+action_324 (163) = happyShift action_229+action_324 _ = happyReduce_105++action_325 (132) = happyShift action_207+action_325 (133) = happyShift action_208+action_325 (134) = happyShift action_209+action_325 (135) = happyShift action_210+action_325 (136) = happyShift action_211+action_325 (137) = happyShift action_212+action_325 (138) = happyShift action_213+action_325 (139) = happyShift action_214+action_325 (140) = happyShift action_215+action_325 (142) = happyShift action_216+action_325 (143) = happyShift action_217+action_325 (144) = happyShift action_218+action_325 (145) = happyShift action_219+action_325 (153) = happyShift action_225+action_325 (154) = happyShift action_226+action_325 (159) = happyShift action_228+action_325 (163) = happyShift action_229+action_325 _ = happyReduce_107++action_326 (132) = happyShift action_207+action_326 (133) = happyShift action_208+action_326 (134) = happyShift action_209+action_326 (135) = happyShift action_210+action_326 (136) = happyShift action_211+action_326 (137) = happyShift action_212+action_326 (138) = happyShift action_213+action_326 (139) = happyShift action_214+action_326 (140) = happyShift action_215+action_326 (142) = happyShift action_216+action_326 (143) = happyShift action_217+action_326 (144) = happyShift action_218+action_326 (145) = happyShift action_219+action_326 (148) = happyShift action_222+action_326 (153) = happyShift action_225+action_326 (154) = happyShift action_226+action_326 (159) = happyShift action_228+action_326 (163) = happyShift action_229+action_326 _ = happyReduce_108++action_327 (132) = happyShift action_207+action_327 (133) = happyShift action_208+action_327 (134) = happyShift action_209+action_327 (135) = happyShift action_210+action_327 (136) = happyShift action_211+action_327 (137) = happyShift action_212+action_327 (138) = happyShift action_213+action_327 (139) = happyShift action_214+action_327 (140) = happyShift action_215+action_327 (142) = happyShift action_216+action_327 (143) = happyShift action_217+action_327 (144) = happyShift action_218+action_327 (145) = happyShift action_219+action_327 (148) = happyShift action_222+action_327 (153) = happyShift action_225+action_327 (154) = happyShift action_226+action_327 (159) = happyShift action_228+action_327 (163) = happyShift action_229+action_327 _ = happyReduce_106++action_328 (132) = happyShift action_207+action_328 (133) = happyShift action_208+action_328 (136) = happyShift action_211+action_328 (137) = happyShift action_212+action_328 (138) = happyShift action_213+action_328 (139) = happyShift action_214+action_328 (140) = happyShift action_215+action_328 (142) = happyFail+action_328 (143) = happyFail+action_328 (144) = happyFail+action_328 (145) = happyFail+action_328 (153) = happyShift action_225+action_328 (154) = happyShift action_226+action_328 (159) = happyShift action_228+action_328 (163) = happyShift action_229+action_328 _ = happyReduce_115++action_329 (132) = happyShift action_207+action_329 (133) = happyShift action_208+action_329 (136) = happyShift action_211+action_329 (137) = happyShift action_212+action_329 (138) = happyShift action_213+action_329 (139) = happyShift action_214+action_329 (140) = happyShift action_215+action_329 (142) = happyFail+action_329 (143) = happyFail+action_329 (144) = happyFail+action_329 (145) = happyFail+action_329 (153) = happyShift action_225+action_329 (154) = happyShift action_226+action_329 (159) = happyShift action_228+action_329 (163) = happyShift action_229+action_329 _ = happyReduce_116++action_330 (132) = happyShift action_207+action_330 (133) = happyShift action_208+action_330 (136) = happyShift action_211+action_330 (137) = happyShift action_212+action_330 (138) = happyShift action_213+action_330 (139) = happyShift action_214+action_330 (140) = happyShift action_215+action_330 (142) = happyFail+action_330 (143) = happyFail+action_330 (144) = happyFail+action_330 (145) = happyFail+action_330 (153) = happyShift action_225+action_330 (154) = happyShift action_226+action_330 (159) = happyShift action_228+action_330 (163) = happyShift action_229+action_330 _ = happyReduce_114++action_331 (132) = happyShift action_207+action_331 (133) = happyShift action_208+action_331 (136) = happyShift action_211+action_331 (137) = happyShift action_212+action_331 (138) = happyShift action_213+action_331 (139) = happyShift action_214+action_331 (140) = happyShift action_215+action_331 (142) = happyFail+action_331 (143) = happyFail+action_331 (144) = happyFail+action_331 (145) = happyFail+action_331 (153) = happyShift action_225+action_331 (154) = happyShift action_226+action_331 (159) = happyShift action_228+action_331 (163) = happyShift action_229+action_331 _ = happyReduce_113++action_332 (132) = happyShift action_207+action_332 (133) = happyShift action_208+action_332 (159) = happyShift action_228+action_332 (163) = happyShift action_229+action_332 _ = happyReduce_121++action_333 (132) = happyShift action_207+action_333 (133) = happyShift action_208+action_333 (136) = happyShift action_211+action_333 (137) = happyShift action_212+action_333 (140) = happyShift action_215+action_333 (159) = happyShift action_228+action_333 (163) = happyShift action_229+action_333 _ = happyReduce_118++action_334 (132) = happyShift action_207+action_334 (133) = happyShift action_208+action_334 (136) = happyShift action_211+action_334 (137) = happyShift action_212+action_334 (140) = happyShift action_215+action_334 (159) = happyShift action_228+action_334 (163) = happyShift action_229+action_334 _ = happyReduce_117++action_335 (132) = happyShift action_207+action_335 (133) = happyShift action_208+action_335 (159) = happyShift action_228+action_335 (163) = happyShift action_229+action_335 _ = happyReduce_120++action_336 (132) = happyShift action_207+action_336 (133) = happyShift action_208+action_336 (159) = happyShift action_228+action_336 (163) = happyShift action_229+action_336 _ = happyReduce_119++action_337 (132) = happyShift action_207+action_337 (133) = happyShift action_208+action_337 (134) = happyFail+action_337 (135) = happyFail+action_337 (136) = happyShift action_211+action_337 (137) = happyShift action_212+action_337 (138) = happyShift action_213+action_337 (139) = happyShift action_214+action_337 (140) = happyShift action_215+action_337 (142) = happyShift action_216+action_337 (143) = happyShift action_217+action_337 (144) = happyShift action_218+action_337 (145) = happyShift action_219+action_337 (153) = happyShift action_225+action_337 (154) = happyShift action_226+action_337 (159) = happyShift action_228+action_337 (163) = happyShift action_229+action_337 _ = happyReduce_112++action_338 (132) = happyShift action_207+action_338 (133) = happyShift action_208+action_338 (134) = happyFail+action_338 (135) = happyFail+action_338 (136) = happyShift action_211+action_338 (137) = happyShift action_212+action_338 (138) = happyShift action_213+action_338 (139) = happyShift action_214+action_338 (140) = happyShift action_215+action_338 (142) = happyShift action_216+action_338 (143) = happyShift action_217+action_338 (144) = happyShift action_218+action_338 (145) = happyShift action_219+action_338 (153) = happyShift action_225+action_338 (154) = happyShift action_226+action_338 (159) = happyShift action_228+action_338 (163) = happyShift action_229+action_338 _ = happyReduce_111++action_339 _ = happyReduce_96++action_340 _ = happyReduce_95++action_341 (130) = happyShift action_206+action_341 (131) = happyShift action_393+action_341 (132) = happyShift action_207+action_341 (133) = happyShift action_208+action_341 (134) = happyShift action_209+action_341 (135) = happyShift action_210+action_341 (136) = happyShift action_211+action_341 (137) = happyShift action_212+action_341 (138) = happyShift action_213+action_341 (139) = happyShift action_214+action_341 (140) = happyShift action_215+action_341 (142) = happyShift action_216+action_341 (143) = happyShift action_217+action_341 (144) = happyShift action_218+action_341 (145) = happyShift action_219+action_341 (146) = happyShift action_220+action_341 (147) = happyShift action_221+action_341 (148) = happyShift action_222+action_341 (151) = happyShift action_223+action_341 (152) = happyShift action_224+action_341 (153) = happyShift action_225+action_341 (154) = happyShift action_226+action_341 (159) = happyShift action_228+action_341 (163) = happyShift action_229+action_341 _ = happyFail++action_342 _ = happyReduce_74++action_343 (65) = happyShift action_82+action_343 (66) = happyShift action_83+action_343 (68) = happyShift action_23+action_343 (69) = happyShift action_57+action_343 (70) = happyShift action_84+action_343 (78) = happyShift action_85+action_343 (89) = happyShift action_73+action_343 (90) = happyShift action_86+action_343 (91) = happyShift action_87+action_343 (92) = happyShift action_88+action_343 (93) = happyShift action_89+action_343 (94) = happyShift action_90+action_343 (95) = happyShift action_91+action_343 (96) = happyShift action_92+action_343 (97) = happyShift action_93+action_343 (98) = happyShift action_94+action_343 (99) = happyShift action_95+action_343 (100) = happyShift action_96+action_343 (101) = happyShift action_97+action_343 (102) = happyShift action_98+action_343 (103) = happyShift action_99+action_343 (104) = happyShift action_100+action_343 (105) = happyShift action_101+action_343 (106) = happyShift action_102+action_343 (107) = happyShift action_103+action_343 (108) = happyShift action_104+action_343 (109) = happyShift action_105+action_343 (110) = happyShift action_106+action_343 (111) = happyShift action_107+action_343 (112) = happyShift action_108+action_343 (113) = happyShift action_109+action_343 (114) = happyShift action_110+action_343 (115) = happyShift action_111+action_343 (116) = happyShift action_112+action_343 (117) = happyShift action_113+action_343 (118) = happyShift action_114+action_343 (119) = happyShift action_115+action_343 (120) = happyShift action_116+action_343 (121) = happyShift action_117+action_343 (122) = happyShift action_118+action_343 (123) = happyShift action_119+action_343 (124) = happyShift action_120+action_343 (125) = happyShift action_121+action_343 (126) = happyShift action_122+action_343 (127) = happyShift action_123+action_343 (128) = happyShift action_124+action_343 (136) = happyShift action_125+action_343 (139) = happyShift action_126+action_343 (147) = happyShift action_127+action_343 (149) = happyShift action_128+action_343 (150) = happyShift action_129+action_343 (155) = happyShift action_130+action_343 (26) = happyGoto action_78+action_343 (34) = happyGoto action_392+action_343 (35) = happyGoto action_80+action_343 (63) = happyGoto action_81+action_343 _ = happyReduce_76++action_344 _ = happyReduce_60++action_345 (141) = happyShift action_391+action_345 _ = happyFail++action_346 _ = happyReduce_226++action_347 (69) = happyShift action_156+action_347 (155) = happyShift action_347+action_347 (210) = happyShift action_348+action_347 (211) = happyShift action_349+action_347 (212) = happyShift action_350+action_347 (48) = happyGoto action_390+action_347 (64) = happyGoto action_346+action_347 _ = happyFail++action_348 _ = happyReduce_222++action_349 (65) = happyShift action_389+action_349 _ = happyFail++action_350 (65) = happyShift action_388+action_350 _ = happyFail++action_351 (68) = happyShift action_23+action_351 (69) = happyShift action_57+action_351 (63) = happyGoto action_387+action_351 _ = happyFail++action_352 _ = happyReduce_17++action_353 _ = happyReduce_25++action_354 _ = happyReduce_40++action_355 _ = happyReduce_41++action_356 _ = happyReduce_42++action_357 _ = happyReduce_15++action_358 (68) = happyShift action_23+action_358 (69) = happyShift action_57+action_358 (136) = happyShift action_140+action_358 (20) = happyGoto action_354+action_358 (21) = happyGoto action_355+action_358 (22) = happyGoto action_356+action_358 (23) = happyGoto action_386+action_358 (63) = happyGoto action_139+action_358 _ = happyFail++action_359 (68) = happyShift action_23+action_359 (69) = happyShift action_57+action_359 (63) = happyGoto action_385+action_359 _ = happyFail++action_360 (161) = happyShift action_384+action_360 _ = happyFail++action_361 _ = happyReduce_229++action_362 _ = happyReduce_228++action_363 (68) = happyShift action_23+action_363 (69) = happyShift action_57+action_363 (63) = happyGoto action_383+action_363 _ = happyFail++action_364 _ = happyReduce_236++action_365 (158) = happyShift action_381+action_365 (161) = happyShift action_382+action_365 _ = happyFail++action_366 (129) = happyShift action_380+action_366 _ = happyReduce_194++action_367 _ = happyReduce_188++action_368 _ = happyReduce_21++action_369 _ = happyReduce_185++action_370 (40) = happyGoto action_379+action_370 _ = happyReduce_184++action_371 _ = happyReduce_29++action_372 (156) = happyShift action_377+action_372 (162) = happyShift action_378+action_372 _ = happyFail++action_373 (68) = happyShift action_23+action_373 (69) = happyShift action_57+action_373 (63) = happyGoto action_376+action_373 _ = happyFail++action_374 (130) = happyShift action_206+action_374 (132) = happyShift action_207+action_374 (133) = happyShift action_208+action_374 (134) = happyShift action_209+action_374 (135) = happyShift action_210+action_374 (136) = happyShift action_211+action_374 (137) = happyShift action_212+action_374 (138) = happyShift action_213+action_374 (139) = happyShift action_214+action_374 (140) = happyShift action_215+action_374 (142) = happyShift action_216+action_374 (143) = happyShift action_217+action_374 (144) = happyShift action_218+action_374 (145) = happyShift action_219+action_374 (146) = happyShift action_220+action_374 (147) = happyShift action_221+action_374 (148) = happyShift action_222+action_374 (151) = happyShift action_223+action_374 (152) = happyShift action_224+action_374 (153) = happyShift action_225+action_374 (154) = happyShift action_226+action_374 (159) = happyShift action_228+action_374 (161) = happyShift action_375+action_374 (163) = happyShift action_229+action_374 _ = happyFail++action_375 _ = happyReduce_22++action_376 _ = happyReduce_26++action_377 (157) = happyShift action_454+action_377 _ = happyFail++action_378 (68) = happyShift action_23+action_378 (69) = happyShift action_24+action_378 (115) = happyShift action_25+action_378 (147) = happyShift action_26+action_378 (155) = happyShift action_27+action_378 (156) = happyReduce_28+action_378 (162) = happyReduce_28+action_378 (165) = happyShift action_28+action_378 (166) = happyShift action_29+action_378 (167) = happyShift action_30+action_378 (168) = happyShift action_31+action_378 (169) = happyShift action_32+action_378 (170) = happyShift action_33+action_378 (171) = happyShift action_34+action_378 (172) = happyShift action_35+action_378 (173) = happyShift action_36+action_378 (174) = happyShift action_37+action_378 (175) = happyShift action_38+action_378 (176) = happyShift action_39+action_378 (177) = happyShift action_40+action_378 (178) = happyShift action_41+action_378 (179) = happyShift action_42+action_378 (194) = happyShift action_43+action_378 (202) = happyShift action_145+action_378 (204) = happyShift action_146+action_378 (15) = happyGoto action_453+action_378 (37) = happyGoto action_373+action_378 (38) = happyGoto action_15+action_378 (39) = happyGoto action_16+action_378 (42) = happyGoto action_17+action_378 (43) = happyGoto action_18+action_378 (63) = happyGoto action_170+action_378 (64) = happyGoto action_22+action_378 _ = happyReduce_195++action_379 (159) = happyShift action_452+action_379 _ = happyReduce_189++action_380 (69) = happyShift action_156+action_380 (155) = happyShift action_432+action_380 (180) = happyShift action_433+action_380 (181) = happyShift action_434+action_380 (182) = happyShift action_435+action_380 (183) = happyShift action_436+action_380 (184) = happyShift action_437+action_380 (185) = happyShift action_438+action_380 (186) = happyShift action_439+action_380 (187) = happyShift action_440+action_380 (188) = happyShift action_441+action_380 (189) = happyShift action_442+action_380 (190) = happyShift action_443+action_380 (191) = happyShift action_444+action_380 (192) = happyShift action_445+action_380 (193) = happyShift action_446+action_380 (195) = happyShift action_447+action_380 (196) = happyShift action_448+action_380 (197) = happyShift action_449+action_380 (198) = happyShift action_450+action_380 (199) = happyShift action_451+action_380 (44) = happyGoto action_428+action_380 (45) = happyGoto action_429+action_380 (46) = happyGoto action_430+action_380 (64) = happyGoto action_431+action_380 _ = happyFail++action_381 _ = happyReduce_227++action_382 (68) = happyShift action_23+action_382 (69) = happyShift action_24+action_382 (115) = happyShift action_25+action_382 (147) = happyShift action_26+action_382 (155) = happyShift action_27+action_382 (158) = happyReduce_235+action_382 (161) = happyReduce_235+action_382 (165) = happyShift action_28+action_382 (166) = happyShift action_29+action_382 (167) = happyShift action_30+action_382 (168) = happyShift action_31+action_382 (169) = happyShift action_32+action_382 (170) = happyShift action_33+action_382 (171) = happyShift action_34+action_382 (172) = happyShift action_35+action_382 (173) = happyShift action_36+action_382 (174) = happyShift action_37+action_382 (175) = happyShift action_38+action_382 (176) = happyShift action_39+action_382 (177) = happyShift action_40+action_382 (178) = happyShift action_41+action_382 (179) = happyShift action_42+action_382 (194) = happyShift action_43+action_382 (202) = happyShift action_145+action_382 (204) = happyShift action_146+action_382 (37) = happyGoto action_363+action_382 (38) = happyGoto action_15+action_382 (39) = happyGoto action_16+action_382 (42) = happyGoto action_17+action_382 (43) = happyGoto action_18+action_382 (51) = happyGoto action_427+action_382 (63) = happyGoto action_366+action_382 (64) = happyGoto action_22+action_382 _ = happyReduce_195++action_383 _ = happyReduce_233++action_384 _ = happyReduce_162++action_385 (156) = happyShift action_426+action_385 _ = happyFail++action_386 _ = happyReduce_16++action_387 _ = happyReduce_19++action_388 (69) = happyShift action_156+action_388 (155) = happyShift action_347+action_388 (210) = happyShift action_348+action_388 (211) = happyShift action_349+action_388 (212) = happyShift action_350+action_388 (48) = happyGoto action_425+action_388 (64) = happyGoto action_346+action_388 _ = happyFail++action_389 _ = happyReduce_223++action_390 (156) = happyShift action_424+action_390 _ = happyFail++action_391 (68) = happyShift action_23+action_391 (69) = happyShift action_57+action_391 (54) = happyGoto action_421+action_391 (55) = happyGoto action_422+action_391 (63) = happyGoto action_423+action_391 _ = happyFail++action_392 (130) = happyShift action_206+action_392 (132) = happyShift action_207+action_392 (133) = happyShift action_208+action_392 (134) = happyShift action_209+action_392 (135) = happyShift action_210+action_392 (136) = happyShift action_211+action_392 (137) = happyShift action_212+action_392 (138) = happyShift action_213+action_392 (139) = happyShift action_214+action_392 (140) = happyShift action_215+action_392 (142) = happyShift action_216+action_392 (143) = happyShift action_217+action_392 (144) = happyShift action_218+action_392 (145) = happyShift action_219+action_392 (146) = happyShift action_220+action_392 (147) = happyShift action_221+action_392 (148) = happyShift action_222+action_392 (151) = happyShift action_223+action_392 (152) = happyShift action_224+action_392 (153) = happyShift action_225+action_392 (154) = happyShift action_226+action_392 (159) = happyShift action_228+action_392 (163) = happyShift action_229+action_392 _ = happyReduce_75++action_393 (65) = happyShift action_82+action_393 (66) = happyShift action_83+action_393 (68) = happyShift action_23+action_393 (69) = happyShift action_57+action_393 (70) = happyShift action_84+action_393 (78) = happyShift action_85+action_393 (89) = happyShift action_73+action_393 (90) = happyShift action_86+action_393 (91) = happyShift action_87+action_393 (92) = happyShift action_88+action_393 (93) = happyShift action_89+action_393 (94) = happyShift action_90+action_393 (95) = happyShift action_91+action_393 (96) = happyShift action_92+action_393 (97) = happyShift action_93+action_393 (98) = happyShift action_94+action_393 (99) = happyShift action_95+action_393 (100) = happyShift action_96+action_393 (101) = happyShift action_97+action_393 (102) = happyShift action_98+action_393 (103) = happyShift action_99+action_393 (104) = happyShift action_100+action_393 (105) = happyShift action_101+action_393 (106) = happyShift action_102+action_393 (107) = happyShift action_103+action_393 (108) = happyShift action_104+action_393 (109) = happyShift action_105+action_393 (110) = happyShift action_106+action_393 (111) = happyShift action_107+action_393 (112) = happyShift action_108+action_393 (113) = happyShift action_109+action_393 (114) = happyShift action_110+action_393 (115) = happyShift action_111+action_393 (116) = happyShift action_112+action_393 (117) = happyShift action_113+action_393 (118) = happyShift action_114+action_393 (119) = happyShift action_115+action_393 (120) = happyShift action_116+action_393 (121) = happyShift action_117+action_393 (122) = happyShift action_118+action_393 (123) = happyShift action_119+action_393 (124) = happyShift action_120+action_393 (125) = happyShift action_121+action_393 (126) = happyShift action_122+action_393 (127) = happyShift action_123+action_393 (128) = happyShift action_124+action_393 (136) = happyShift action_125+action_393 (139) = happyShift action_126+action_393 (147) = happyShift action_127+action_393 (149) = happyShift action_128+action_393 (150) = happyShift action_129+action_393 (155) = happyShift action_130+action_393 (26) = happyGoto action_78+action_393 (34) = happyGoto action_420+action_393 (35) = happyGoto action_80+action_393 (63) = happyGoto action_81+action_393 _ = happyFail++action_394 (72) = happyShift action_419+action_394 _ = happyFail++action_395 _ = happyReduce_94++action_396 _ = happyReduce_51++action_397 (130) = happyShift action_206+action_397 (132) = happyShift action_207+action_397 (133) = happyShift action_208+action_397 (134) = happyShift action_209+action_397 (135) = happyShift action_210+action_397 (136) = happyShift action_211+action_397 (137) = happyShift action_212+action_397 (138) = happyShift action_213+action_397 (139) = happyShift action_214+action_397 (140) = happyShift action_215+action_397 (142) = happyShift action_216+action_397 (143) = happyShift action_217+action_397 (144) = happyShift action_218+action_397 (145) = happyShift action_219+action_397 (146) = happyShift action_220+action_397 (147) = happyShift action_221+action_397 (148) = happyShift action_222+action_397 (151) = happyShift action_223+action_397 (152) = happyShift action_224+action_397 (153) = happyShift action_225+action_397 (154) = happyShift action_226+action_397 (159) = happyShift action_228+action_397 (161) = happyShift action_418+action_397 (163) = happyShift action_229+action_397 _ = happyFail++action_398 (158) = happyShift action_416+action_398 (162) = happyShift action_417+action_398 _ = happyFail++action_399 _ = happyReduce_83++action_400 (141) = happyShift action_415+action_400 _ = happyFail++action_401 _ = happyReduce_48++action_402 (158) = happyShift action_414+action_402 (162) = happyShift action_343+action_402 _ = happyFail++action_403 _ = happyReduce_44++action_404 _ = happyReduce_57++action_405 _ = happyReduce_64++action_406 (68) = happyShift action_23+action_406 (69) = happyShift action_57+action_406 (71) = happyShift action_58+action_406 (73) = happyShift action_59+action_406 (74) = happyShift action_60+action_406 (77) = happyShift action_61+action_406 (78) = happyShift action_62+action_406 (79) = happyShift action_63+action_406 (80) = happyShift action_64+action_406 (81) = happyShift action_65+action_406 (82) = happyShift action_66+action_406 (83) = happyShift action_67+action_406 (84) = happyShift action_68+action_406 (85) = happyShift action_69+action_406 (86) = happyShift action_70+action_406 (87) = happyShift action_71+action_406 (88) = happyShift action_72+action_406 (89) = happyShift action_73+action_406 (158) = happyShift action_413+action_406 (24) = happyGoto action_52+action_406 (25) = happyGoto action_53+action_406 (26) = happyGoto action_54+action_406 (27) = happyGoto action_55+action_406 (63) = happyGoto action_56+action_406 _ = happyFail++action_407 (130) = happyShift action_206+action_407 (132) = happyShift action_207+action_407 (133) = happyShift action_208+action_407 (134) = happyShift action_209+action_407 (135) = happyShift action_210+action_407 (136) = happyShift action_211+action_407 (137) = happyShift action_212+action_407 (138) = happyShift action_213+action_407 (139) = happyShift action_214+action_407 (140) = happyShift action_215+action_407 (142) = happyShift action_216+action_407 (143) = happyShift action_217+action_407 (144) = happyShift action_218+action_407 (145) = happyShift action_219+action_407 (146) = happyShift action_220+action_407 (147) = happyShift action_221+action_407 (148) = happyShift action_222+action_407 (151) = happyShift action_223+action_407 (152) = happyShift action_224+action_407 (153) = happyShift action_225+action_407 (154) = happyShift action_226+action_407 (156) = happyShift action_412+action_407 (159) = happyShift action_228+action_407 (163) = happyShift action_229+action_407 _ = happyFail++action_408 (68) = happyShift action_23+action_408 (69) = happyShift action_57+action_408 (71) = happyShift action_58+action_408 (73) = happyShift action_59+action_408 (74) = happyShift action_60+action_408 (77) = happyShift action_61+action_408 (78) = happyShift action_62+action_408 (79) = happyShift action_63+action_408 (80) = happyShift action_64+action_408 (81) = happyShift action_65+action_408 (82) = happyShift action_66+action_408 (83) = happyShift action_67+action_408 (84) = happyShift action_68+action_408 (85) = happyShift action_69+action_408 (86) = happyShift action_70+action_408 (87) = happyShift action_71+action_408 (88) = happyShift action_72+action_408 (89) = happyShift action_73+action_408 (158) = happyShift action_411+action_408 (24) = happyGoto action_52+action_408 (25) = happyGoto action_53+action_408 (26) = happyGoto action_54+action_408 (27) = happyGoto action_55+action_408 (63) = happyGoto action_56+action_408 _ = happyFail++action_409 (130) = happyShift action_206+action_409 (132) = happyShift action_207+action_409 (133) = happyShift action_208+action_409 (134) = happyShift action_209+action_409 (135) = happyShift action_210+action_409 (136) = happyShift action_211+action_409 (137) = happyShift action_212+action_409 (138) = happyShift action_213+action_409 (139) = happyShift action_214+action_409 (140) = happyShift action_215+action_409 (142) = happyShift action_216+action_409 (143) = happyShift action_217+action_409 (144) = happyShift action_218+action_409 (145) = happyShift action_219+action_409 (146) = happyShift action_220+action_409 (147) = happyShift action_221+action_409 (148) = happyShift action_222+action_409 (151) = happyShift action_223+action_409 (152) = happyShift action_224+action_409 (153) = happyShift action_225+action_409 (154) = happyShift action_226+action_409 (156) = happyShift action_410+action_409 (159) = happyShift action_228+action_409 (163) = happyShift action_229+action_409 _ = happyFail++action_410 (68) = happyShift action_23+action_410 (69) = happyShift action_57+action_410 (63) = happyGoto action_476+action_410 _ = happyFail++action_411 _ = happyReduce_66++action_412 (68) = happyShift action_23+action_412 (69) = happyShift action_57+action_412 (63) = happyGoto action_475+action_412 _ = happyFail++action_413 _ = happyReduce_65++action_414 (161) = happyShift action_474+action_414 _ = happyFail++action_415 (65) = happyShift action_82+action_415 (66) = happyShift action_83+action_415 (68) = happyShift action_23+action_415 (69) = happyShift action_57+action_415 (70) = happyShift action_84+action_415 (78) = happyShift action_85+action_415 (89) = happyShift action_73+action_415 (90) = happyShift action_86+action_415 (91) = happyShift action_87+action_415 (92) = happyShift action_88+action_415 (93) = happyShift action_89+action_415 (94) = happyShift action_90+action_415 (95) = happyShift action_91+action_415 (96) = happyShift action_92+action_415 (97) = happyShift action_93+action_415 (98) = happyShift action_94+action_415 (99) = happyShift action_95+action_415 (100) = happyShift action_96+action_415 (101) = happyShift action_97+action_415 (102) = happyShift action_98+action_415 (103) = happyShift action_99+action_415 (104) = happyShift action_100+action_415 (105) = happyShift action_101+action_415 (106) = happyShift action_102+action_415 (107) = happyShift action_103+action_415 (108) = happyShift action_104+action_415 (109) = happyShift action_105+action_415 (110) = happyShift action_106+action_415 (111) = happyShift action_107+action_415 (112) = happyShift action_108+action_415 (113) = happyShift action_109+action_415 (114) = happyShift action_110+action_415 (115) = happyShift action_111+action_415 (116) = happyShift action_112+action_415 (117) = happyShift action_113+action_415 (118) = happyShift action_114+action_415 (119) = happyShift action_115+action_415 (120) = happyShift action_116+action_415 (121) = happyShift action_117+action_415 (122) = happyShift action_118+action_415 (123) = happyShift action_119+action_415 (124) = happyShift action_120+action_415 (125) = happyShift action_121+action_415 (126) = happyShift action_122+action_415 (127) = happyShift action_123+action_415 (128) = happyShift action_124+action_415 (136) = happyShift action_125+action_415 (139) = happyShift action_126+action_415 (147) = happyShift action_127+action_415 (149) = happyShift action_128+action_415 (150) = happyShift action_129+action_415 (155) = happyShift action_130+action_415 (26) = happyGoto action_78+action_415 (34) = happyGoto action_473+action_415 (35) = happyGoto action_80+action_415 (63) = happyGoto action_81+action_415 _ = happyFail++action_416 _ = happyReduce_80++action_417 (68) = happyShift action_23+action_417 (69) = happyShift action_57+action_417 (33) = happyGoto action_472+action_417 (63) = happyGoto action_400+action_417 _ = happyReduce_82++action_418 _ = happyReduce_52++action_419 (157) = happyShift action_471+action_419 _ = happyFail++action_420 (130) = happyShift action_206+action_420 (132) = happyShift action_207+action_420 (133) = happyShift action_208+action_420 (134) = happyShift action_209+action_420 (135) = happyShift action_210+action_420 (136) = happyShift action_211+action_420 (137) = happyShift action_212+action_420 (138) = happyShift action_213+action_420 (139) = happyShift action_214+action_420 (140) = happyShift action_215+action_420 (142) = happyShift action_216+action_420 (143) = happyShift action_217+action_420 (144) = happyShift action_218+action_420 (145) = happyShift action_219+action_420 (146) = happyShift action_220+action_420 (147) = happyShift action_221+action_420 (148) = happyShift action_222+action_420 (151) = happyShift action_223+action_420 (152) = happyShift action_224+action_420 (153) = happyShift action_225+action_420 (154) = happyShift action_226+action_420 (159) = happyShift action_228+action_420 (163) = happyShift action_229+action_420 _ = happyReduce_122++action_421 (146) = happyShift action_470+action_421 _ = happyReduce_237++action_422 _ = happyReduce_239++action_423 (157) = happyShift action_469+action_423 (56) = happyGoto action_468+action_423 _ = happyReduce_242++action_424 _ = happyReduce_225++action_425 _ = happyReduce_224++action_426 (68) = happyShift action_23+action_426 (69) = happyShift action_24+action_426 (115) = happyShift action_25+action_426 (147) = happyShift action_26+action_426 (155) = happyShift action_27+action_426 (165) = happyShift action_28+action_426 (166) = happyShift action_29+action_426 (167) = happyShift action_30+action_426 (168) = happyShift action_31+action_426 (169) = happyShift action_32+action_426 (170) = happyShift action_33+action_426 (171) = happyShift action_34+action_426 (172) = happyShift action_35+action_426 (173) = happyShift action_36+action_426 (174) = happyShift action_37+action_426 (175) = happyShift action_38+action_426 (176) = happyShift action_39+action_426 (177) = happyShift action_40+action_426 (178) = happyShift action_41+action_426 (179) = happyShift action_42+action_426 (194) = happyShift action_43+action_426 (202) = happyShift action_145+action_426 (204) = happyShift action_146+action_426 (37) = happyGoto action_467+action_426 (38) = happyGoto action_15+action_426 (39) = happyGoto action_16+action_426 (42) = happyGoto action_17+action_426 (43) = happyGoto action_18+action_426 (63) = happyGoto action_170+action_426 (64) = happyGoto action_22+action_426 _ = happyReduce_195++action_427 _ = happyReduce_234++action_428 _ = happyReduce_232++action_429 _ = happyReduce_196++action_430 _ = happyReduce_197++action_431 _ = happyReduce_198++action_432 (69) = happyShift action_156+action_432 (155) = happyShift action_432+action_432 (156) = happyShift action_466+action_432 (180) = happyShift action_433+action_432 (181) = happyShift action_434+action_432 (182) = happyShift action_435+action_432 (183) = happyShift action_436+action_432 (184) = happyShift action_437+action_432 (185) = happyShift action_438+action_432 (186) = happyShift action_439+action_432 (187) = happyShift action_440+action_432 (188) = happyShift action_441+action_432 (189) = happyShift action_442+action_432 (190) = happyShift action_443+action_432 (191) = happyShift action_444+action_432 (192) = happyShift action_445+action_432 (193) = happyShift action_446+action_432 (195) = happyShift action_447+action_432 (196) = happyShift action_448+action_432 (197) = happyShift action_449+action_432 (198) = happyShift action_450+action_432 (199) = happyShift action_451+action_432 (44) = happyGoto action_465+action_432 (45) = happyGoto action_429+action_432 (46) = happyGoto action_430+action_432 (64) = happyGoto action_431+action_432 _ = happyFail++action_433 _ = happyReduce_200++action_434 _ = happyReduce_201++action_435 _ = happyReduce_202++action_436 _ = happyReduce_203++action_437 _ = happyReduce_204++action_438 _ = happyReduce_206++action_439 _ = happyReduce_207++action_440 _ = happyReduce_208++action_441 _ = happyReduce_209++action_442 _ = happyReduce_210++action_443 _ = happyReduce_211++action_444 _ = happyReduce_212++action_445 _ = happyReduce_213++action_446 (65) = happyShift action_464+action_446 _ = happyFail++action_447 (200) = happyShift action_461+action_447 (201) = happyShift action_462+action_447 (47) = happyGoto action_463+action_447 _ = happyFail++action_448 (200) = happyShift action_461+action_448 (201) = happyShift action_462+action_448 (47) = happyGoto action_460+action_448 _ = happyFail++action_449 (65) = happyShift action_184+action_449 (89) = happyShift action_185+action_449 (41) = happyGoto action_459+action_449 _ = happyFail++action_450 (68) = happyShift action_23+action_450 (69) = happyShift action_24+action_450 (50) = happyGoto action_458+action_450 (63) = happyGoto action_166+action_450 (64) = happyGoto action_167+action_450 _ = happyFail++action_451 (69) = happyShift action_156+action_451 (155) = happyShift action_432+action_451 (180) = happyShift action_433+action_451 (181) = happyShift action_434+action_451 (182) = happyShift action_435+action_451 (183) = happyShift action_436+action_451 (184) = happyShift action_437+action_451 (185) = happyShift action_438+action_451 (186) = happyShift action_439+action_451 (187) = happyShift action_440+action_451 (188) = happyShift action_441+action_451 (189) = happyShift action_442+action_451 (190) = happyShift action_443+action_451 (191) = happyShift action_444+action_451 (192) = happyShift action_445+action_451 (193) = happyShift action_446+action_451 (195) = happyShift action_447+action_451 (196) = happyShift action_448+action_451 (197) = happyShift action_449+action_451 (198) = happyShift action_450+action_451 (199) = happyShift action_451+action_451 (44) = happyGoto action_457+action_451 (45) = happyGoto action_429+action_451 (46) = happyGoto action_430+action_451 (64) = happyGoto action_431+action_451 _ = happyFail++action_452 (65) = happyShift action_184+action_452 (89) = happyShift action_185+action_452 (41) = happyGoto action_456+action_452 _ = happyFail++action_453 _ = happyReduce_27++action_454 (28) = happyGoto action_455+action_454 _ = happyReduce_73++action_455 (68) = happyShift action_23+action_455 (69) = happyShift action_57+action_455 (71) = happyShift action_58+action_455 (73) = happyShift action_59+action_455 (74) = happyShift action_60+action_455 (77) = happyShift action_61+action_455 (78) = happyShift action_62+action_455 (79) = happyShift action_63+action_455 (80) = happyShift action_64+action_455 (81) = happyShift action_65+action_455 (82) = happyShift action_66+action_455 (83) = happyShift action_67+action_455 (84) = happyShift action_68+action_455 (85) = happyShift action_69+action_455 (86) = happyShift action_70+action_455 (87) = happyShift action_71+action_455 (88) = happyShift action_72+action_455 (89) = happyShift action_73+action_455 (158) = happyShift action_494+action_455 (24) = happyGoto action_52+action_455 (25) = happyGoto action_53+action_455 (26) = happyGoto action_54+action_455 (27) = happyGoto action_55+action_455 (63) = happyGoto action_56+action_455 _ = happyFail++action_456 (160) = happyShift action_493+action_456 _ = happyFail++action_457 _ = happyReduce_219++action_458 _ = happyReduce_218++action_459 (69) = happyShift action_156+action_459 (155) = happyShift action_432+action_459 (180) = happyShift action_433+action_459 (181) = happyShift action_434+action_459 (182) = happyShift action_435+action_459 (183) = happyShift action_436+action_459 (184) = happyShift action_437+action_459 (185) = happyShift action_438+action_459 (186) = happyShift action_439+action_459 (187) = happyShift action_440+action_459 (188) = happyShift action_441+action_459 (189) = happyShift action_442+action_459 (190) = happyShift action_443+action_459 (191) = happyShift action_444+action_459 (192) = happyShift action_445+action_459 (193) = happyShift action_446+action_459 (195) = happyShift action_447+action_459 (196) = happyShift action_448+action_459 (197) = happyShift action_449+action_459 (198) = happyShift action_450+action_459 (199) = happyShift action_451+action_459 (44) = happyGoto action_492+action_459 (45) = happyGoto action_429+action_459 (46) = happyGoto action_430+action_459 (64) = happyGoto action_431+action_459 _ = happyFail++action_460 (69) = happyShift action_156+action_460 (155) = happyShift action_432+action_460 (180) = happyShift action_433+action_460 (181) = happyShift action_434+action_460 (182) = happyShift action_435+action_460 (183) = happyShift action_436+action_460 (184) = happyShift action_437+action_460 (185) = happyShift action_438+action_460 (186) = happyShift action_439+action_460 (187) = happyShift action_440+action_460 (188) = happyShift action_441+action_460 (189) = happyShift action_442+action_460 (190) = happyShift action_443+action_460 (191) = happyShift action_444+action_460 (192) = happyShift action_445+action_460 (193) = happyShift action_446+action_460 (195) = happyShift action_447+action_460 (196) = happyShift action_448+action_460 (197) = happyShift action_449+action_460 (198) = happyShift action_450+action_460 (199) = happyShift action_451+action_460 (44) = happyGoto action_491+action_460 (45) = happyGoto action_429+action_460 (46) = happyGoto action_430+action_460 (64) = happyGoto action_431+action_460 _ = happyFail++action_461 (69) = happyShift action_156+action_461 (64) = happyGoto action_490+action_461 _ = happyFail++action_462 _ = happyReduce_221++action_463 (69) = happyShift action_156+action_463 (155) = happyShift action_432+action_463 (180) = happyShift action_433+action_463 (181) = happyShift action_434+action_463 (182) = happyShift action_435+action_463 (183) = happyShift action_436+action_463 (184) = happyShift action_437+action_463 (185) = happyShift action_438+action_463 (186) = happyShift action_439+action_463 (187) = happyShift action_440+action_463 (188) = happyShift action_441+action_463 (189) = happyShift action_442+action_463 (190) = happyShift action_443+action_463 (191) = happyShift action_444+action_463 (192) = happyShift action_445+action_463 (193) = happyShift action_446+action_463 (195) = happyShift action_447+action_463 (196) = happyShift action_448+action_463 (197) = happyShift action_449+action_463 (198) = happyShift action_450+action_463 (199) = happyShift action_451+action_463 (44) = happyGoto action_489+action_463 (45) = happyGoto action_429+action_463 (46) = happyGoto action_430+action_463 (64) = happyGoto action_431+action_463 _ = happyFail++action_464 _ = happyReduce_214++action_465 (156) = happyShift action_488+action_465 _ = happyFail++action_466 _ = happyReduce_205++action_467 (68) = happyShift action_23+action_467 (69) = happyShift action_57+action_467 (63) = happyGoto action_487+action_467 _ = happyFail++action_468 (213) = happyShift action_486+action_468 (59) = happyGoto action_485+action_468 _ = happyReduce_248++action_469 (68) = happyShift action_23+action_469 (69) = happyShift action_57+action_469 (214) = happyShift action_484+action_469 (57) = happyGoto action_481+action_469 (58) = happyGoto action_482+action_469 (63) = happyGoto action_483+action_469 _ = happyFail++action_470 (68) = happyShift action_23+action_470 (69) = happyShift action_57+action_470 (55) = happyGoto action_480+action_470 (63) = happyGoto action_423+action_470 _ = happyFail++action_471 (28) = happyGoto action_479+action_471 _ = happyReduce_73++action_472 _ = happyReduce_81++action_473 (130) = happyShift action_206+action_473 (132) = happyShift action_207+action_473 (133) = happyShift action_208+action_473 (134) = happyShift action_209+action_473 (135) = happyShift action_210+action_473 (136) = happyShift action_211+action_473 (137) = happyShift action_212+action_473 (138) = happyShift action_213+action_473 (139) = happyShift action_214+action_473 (140) = happyShift action_215+action_473 (142) = happyShift action_216+action_473 (143) = happyShift action_217+action_473 (144) = happyShift action_218+action_473 (145) = happyShift action_219+action_473 (146) = happyShift action_220+action_473 (147) = happyShift action_221+action_473 (148) = happyShift action_222+action_473 (151) = happyShift action_223+action_473 (152) = happyShift action_224+action_473 (153) = happyShift action_225+action_473 (154) = happyShift action_226+action_473 (159) = happyShift action_228+action_473 (163) = happyShift action_229+action_473 _ = happyReduce_85++action_474 _ = happyReduce_46++action_475 (157) = happyShift action_478+action_475 _ = happyFail++action_476 (157) = happyShift action_477+action_476 _ = happyFail++action_477 (28) = happyGoto action_510+action_477 _ = happyReduce_73++action_478 (28) = happyGoto action_509+action_478 _ = happyReduce_73++action_479 (68) = happyShift action_23+action_479 (69) = happyShift action_57+action_479 (71) = happyShift action_58+action_479 (73) = happyShift action_59+action_479 (74) = happyShift action_60+action_479 (77) = happyShift action_61+action_479 (78) = happyShift action_62+action_479 (79) = happyShift action_63+action_479 (80) = happyShift action_64+action_479 (81) = happyShift action_65+action_479 (82) = happyShift action_66+action_479 (83) = happyShift action_67+action_479 (84) = happyShift action_68+action_479 (85) = happyShift action_69+action_479 (86) = happyShift action_70+action_479 (87) = happyShift action_71+action_479 (88) = happyShift action_72+action_479 (89) = happyShift action_73+action_479 (158) = happyShift action_508+action_479 (24) = happyGoto action_52+action_479 (25) = happyGoto action_53+action_479 (26) = happyGoto action_54+action_479 (27) = happyGoto action_55+action_479 (63) = happyGoto action_56+action_479 _ = happyFail++action_480 _ = happyReduce_238++action_481 (158) = happyShift action_506+action_481 (162) = happyShift action_507+action_481 _ = happyFail++action_482 _ = happyReduce_244++action_483 (129) = happyShift action_505+action_483 _ = happyFail++action_484 (129) = happyShift action_504+action_484 _ = happyFail++action_485 _ = happyReduce_240++action_486 (65) = happyShift action_502+action_486 (67) = happyShift action_503+action_486 (68) = happyShift action_23+action_486 (69) = happyShift action_57+action_486 (60) = happyGoto action_498+action_486 (61) = happyGoto action_499+action_486 (62) = happyGoto action_500+action_486 (63) = happyGoto action_501+action_486 _ = happyFail++action_487 (155) = happyShift action_497+action_487 _ = happyFail++action_488 _ = happyReduce_199++action_489 _ = happyReduce_215++action_490 _ = happyReduce_220++action_491 _ = happyReduce_216++action_492 _ = happyReduce_217++action_493 _ = happyReduce_183++action_494 (157) = happyShift action_496+action_494 (17) = happyGoto action_495+action_494 _ = happyReduce_32++action_495 _ = happyReduce_23++action_496 (75) = happyShift action_520+action_496 (76) = happyShift action_521+action_496 (18) = happyGoto action_518+action_496 (19) = happyGoto action_519+action_496 _ = happyFail++action_497 (68) = happyShift action_23+action_497 (69) = happyShift action_24+action_497 (115) = happyShift action_25+action_497 (147) = happyShift action_26+action_497 (155) = happyShift action_27+action_497 (156) = happyReduce_30+action_497 (162) = happyReduce_30+action_497 (165) = happyShift action_28+action_497 (166) = happyShift action_29+action_497 (167) = happyShift action_30+action_497 (168) = happyShift action_31+action_497 (169) = happyShift action_32+action_497 (170) = happyShift action_33+action_497 (171) = happyShift action_34+action_497 (172) = happyShift action_35+action_497 (173) = happyShift action_36+action_497 (174) = happyShift action_37+action_497 (175) = happyShift action_38+action_497 (176) = happyShift action_39+action_497 (177) = happyShift action_40+action_497 (178) = happyShift action_41+action_497 (179) = happyShift action_42+action_497 (194) = happyShift action_43+action_497 (202) = happyShift action_145+action_497 (204) = happyShift action_146+action_497 (15) = happyGoto action_371+action_497 (16) = happyGoto action_517+action_497 (37) = happyGoto action_373+action_497 (38) = happyGoto action_15+action_497 (39) = happyGoto action_16+action_497 (42) = happyGoto action_17+action_497 (43) = happyGoto action_18+action_497 (63) = happyGoto action_170+action_497 (64) = happyGoto action_22+action_497 _ = happyReduce_195++action_498 (215) = happyShift action_516+action_498 _ = happyReduce_247++action_499 _ = happyReduce_250++action_500 _ = happyReduce_253++action_501 _ = happyReduce_251++action_502 _ = happyReduce_252++action_503 _ = happyReduce_254++action_504 (69) = happyShift action_156+action_504 (155) = happyShift action_347+action_504 (210) = happyShift action_348+action_504 (211) = happyShift action_349+action_504 (212) = happyShift action_350+action_504 (48) = happyGoto action_515+action_504 (64) = happyGoto action_346+action_504 _ = happyFail++action_505 (69) = happyShift action_156+action_505 (155) = happyShift action_347+action_505 (210) = happyShift action_348+action_505 (211) = happyShift action_349+action_505 (212) = happyShift action_350+action_505 (48) = happyGoto action_514+action_505 (64) = happyGoto action_346+action_505 _ = happyFail++action_506 _ = happyReduce_241++action_507 (68) = happyShift action_23+action_507 (69) = happyShift action_57+action_507 (214) = happyShift action_484+action_507 (58) = happyGoto action_513+action_507 (63) = happyGoto action_483+action_507 _ = happyFail++action_508 _ = happyReduce_70++action_509 (68) = happyShift action_23+action_509 (69) = happyShift action_57+action_509 (71) = happyShift action_58+action_509 (73) = happyShift action_59+action_509 (74) = happyShift action_60+action_509 (77) = happyShift action_61+action_509 (78) = happyShift action_62+action_509 (79) = happyShift action_63+action_509 (80) = happyShift action_64+action_509 (81) = happyShift action_65+action_509 (82) = happyShift action_66+action_509 (83) = happyShift action_67+action_509 (84) = happyShift action_68+action_509 (85) = happyShift action_69+action_509 (86) = happyShift action_70+action_509 (87) = happyShift action_71+action_509 (88) = happyShift action_72+action_509 (89) = happyShift action_73+action_509 (158) = happyShift action_512+action_509 (24) = happyGoto action_52+action_509 (25) = happyGoto action_53+action_509 (26) = happyGoto action_54+action_509 (27) = happyGoto action_55+action_509 (63) = happyGoto action_56+action_509 _ = happyFail++action_510 (68) = happyShift action_23+action_510 (69) = happyShift action_57+action_510 (71) = happyShift action_58+action_510 (73) = happyShift action_59+action_510 (74) = happyShift action_60+action_510 (77) = happyShift action_61+action_510 (78) = happyShift action_62+action_510 (79) = happyShift action_63+action_510 (80) = happyShift action_64+action_510 (81) = happyShift action_65+action_510 (82) = happyShift action_66+action_510 (83) = happyShift action_67+action_510 (84) = happyShift action_68+action_510 (85) = happyShift action_69+action_510 (86) = happyShift action_70+action_510 (87) = happyShift action_71+action_510 (88) = happyShift action_72+action_510 (89) = happyShift action_73+action_510 (158) = happyShift action_511+action_510 (24) = happyGoto action_52+action_510 (25) = happyGoto action_53+action_510 (26) = happyGoto action_54+action_510 (27) = happyGoto action_55+action_510 (63) = happyGoto action_56+action_510 _ = happyFail++action_511 _ = happyReduce_68++action_512 _ = happyReduce_67++action_513 _ = happyReduce_243++action_514 _ = happyReduce_245++action_515 _ = happyReduce_246++action_516 (65) = happyShift action_502+action_516 (67) = happyShift action_503+action_516 (68) = happyShift action_23+action_516 (69) = happyShift action_57+action_516 (61) = happyGoto action_528+action_516 (62) = happyGoto action_500+action_516 (63) = happyGoto action_501+action_516 _ = happyFail++action_517 (156) = happyShift action_527+action_517 (162) = happyShift action_378+action_517 _ = happyFail++action_518 (75) = happyShift action_520+action_518 (76) = happyShift action_521+action_518 (158) = happyShift action_526+action_518 (19) = happyGoto action_525+action_518 _ = happyFail++action_519 (161) = happyShift action_524+action_519 _ = happyFail++action_520 (155) = happyShift action_523+action_520 _ = happyFail++action_521 (155) = happyShift action_522+action_521 _ = happyFail++action_522 (65) = happyShift action_82+action_522 (66) = happyShift action_83+action_522 (68) = happyShift action_23+action_522 (69) = happyShift action_57+action_522 (70) = happyShift action_84+action_522 (78) = happyShift action_85+action_522 (89) = happyShift action_73+action_522 (90) = happyShift action_86+action_522 (91) = happyShift action_87+action_522 (92) = happyShift action_88+action_522 (93) = happyShift action_89+action_522 (94) = happyShift action_90+action_522 (95) = happyShift action_91+action_522 (96) = happyShift action_92+action_522 (97) = happyShift action_93+action_522 (98) = happyShift action_94+action_522 (99) = happyShift action_95+action_522 (100) = happyShift action_96+action_522 (101) = happyShift action_97+action_522 (102) = happyShift action_98+action_522 (103) = happyShift action_99+action_522 (104) = happyShift action_100+action_522 (105) = happyShift action_101+action_522 (106) = happyShift action_102+action_522 (107) = happyShift action_103+action_522 (108) = happyShift action_104+action_522 (109) = happyShift action_105+action_522 (110) = happyShift action_106+action_522 (111) = happyShift action_107+action_522 (112) = happyShift action_108+action_522 (113) = happyShift action_109+action_522 (114) = happyShift action_110+action_522 (115) = happyShift action_111+action_522 (116) = happyShift action_112+action_522 (117) = happyShift action_113+action_522 (118) = happyShift action_114+action_522 (119) = happyShift action_115+action_522 (120) = happyShift action_116+action_522 (121) = happyShift action_117+action_522 (122) = happyShift action_118+action_522 (123) = happyShift action_119+action_522 (124) = happyShift action_120+action_522 (125) = happyShift action_121+action_522 (126) = happyShift action_122+action_522 (127) = happyShift action_123+action_522 (128) = happyShift action_124+action_522 (136) = happyShift action_125+action_522 (139) = happyShift action_126+action_522 (147) = happyShift action_127+action_522 (149) = happyShift action_128+action_522 (150) = happyShift action_129+action_522 (155) = happyShift action_130+action_522 (26) = happyGoto action_78+action_522 (34) = happyGoto action_531+action_522 (35) = happyGoto action_80+action_522 (63) = happyGoto action_81+action_522 _ = happyFail++action_523 (65) = happyShift action_82+action_523 (66) = happyShift action_83+action_523 (68) = happyShift action_23+action_523 (69) = happyShift action_57+action_523 (70) = happyShift action_84+action_523 (78) = happyShift action_85+action_523 (89) = happyShift action_73+action_523 (90) = happyShift action_86+action_523 (91) = happyShift action_87+action_523 (92) = happyShift action_88+action_523 (93) = happyShift action_89+action_523 (94) = happyShift action_90+action_523 (95) = happyShift action_91+action_523 (96) = happyShift action_92+action_523 (97) = happyShift action_93+action_523 (98) = happyShift action_94+action_523 (99) = happyShift action_95+action_523 (100) = happyShift action_96+action_523 (101) = happyShift action_97+action_523 (102) = happyShift action_98+action_523 (103) = happyShift action_99+action_523 (104) = happyShift action_100+action_523 (105) = happyShift action_101+action_523 (106) = happyShift action_102+action_523 (107) = happyShift action_103+action_523 (108) = happyShift action_104+action_523 (109) = happyShift action_105+action_523 (110) = happyShift action_106+action_523 (111) = happyShift action_107+action_523 (112) = happyShift action_108+action_523 (113) = happyShift action_109+action_523 (114) = happyShift action_110+action_523 (115) = happyShift action_111+action_523 (116) = happyShift action_112+action_523 (117) = happyShift action_113+action_523 (118) = happyShift action_114+action_523 (119) = happyShift action_115+action_523 (120) = happyShift action_116+action_523 (121) = happyShift action_117+action_523 (122) = happyShift action_118+action_523 (123) = happyShift action_119+action_523 (124) = happyShift action_120+action_523 (125) = happyShift action_121+action_523 (126) = happyShift action_122+action_523 (127) = happyShift action_123+action_523 (128) = happyShift action_124+action_523 (136) = happyShift action_125+action_523 (139) = happyShift action_126+action_523 (147) = happyShift action_127+action_523 (149) = happyShift action_128+action_523 (150) = happyShift action_129+action_523 (155) = happyShift action_130+action_523 (26) = happyGoto action_78+action_523 (34) = happyGoto action_530+action_523 (35) = happyGoto action_80+action_523 (63) = happyGoto action_81+action_523 _ = happyFail++action_524 _ = happyReduce_34++action_525 (161) = happyShift action_529+action_525 _ = happyFail++action_526 _ = happyReduce_31++action_527 _ = happyReduce_24++action_528 _ = happyReduce_249++action_529 _ = happyReduce_33++action_530 (130) = happyShift action_206+action_530 (132) = happyShift action_207+action_530 (133) = happyShift action_208+action_530 (134) = happyShift action_209+action_530 (135) = happyShift action_210+action_530 (136) = happyShift action_211+action_530 (137) = happyShift action_212+action_530 (138) = happyShift action_213+action_530 (139) = happyShift action_214+action_530 (140) = happyShift action_215+action_530 (142) = happyShift action_216+action_530 (143) = happyShift action_217+action_530 (144) = happyShift action_218+action_530 (145) = happyShift action_219+action_530 (146) = happyShift action_220+action_530 (147) = happyShift action_221+action_530 (148) = happyShift action_222+action_530 (151) = happyShift action_223+action_530 (152) = happyShift action_224+action_530 (153) = happyShift action_225+action_530 (154) = happyShift action_226+action_530 (156) = happyShift action_533+action_530 (159) = happyShift action_228+action_530 (163) = happyShift action_229+action_530 _ = happyFail++action_531 (130) = happyShift action_206+action_531 (132) = happyShift action_207+action_531 (133) = happyShift action_208+action_531 (134) = happyShift action_209+action_531 (135) = happyShift action_210+action_531 (136) = happyShift action_211+action_531 (137) = happyShift action_212+action_531 (138) = happyShift action_213+action_531 (139) = happyShift action_214+action_531 (140) = happyShift action_215+action_531 (142) = happyShift action_216+action_531 (143) = happyShift action_217+action_531 (144) = happyShift action_218+action_531 (145) = happyShift action_219+action_531 (146) = happyShift action_220+action_531 (147) = happyShift action_221+action_531 (148) = happyShift action_222+action_531 (151) = happyShift action_223+action_531 (152) = happyShift action_224+action_531 (153) = happyShift action_225+action_531 (154) = happyShift action_226+action_531 (156) = happyShift action_532+action_531 (159) = happyShift action_228+action_531 (163) = happyShift action_229+action_531 _ = happyFail++action_532 _ = happyReduce_36++action_533 _ = happyReduce_35++happyReduce_2 = happySpecReduce_2  5 happyReduction_2+happyReduction_2 (HappyAbsSyn12  happy_var_2)+	(HappyAbsSyn5  happy_var_1)+	 =  HappyAbsSyn5+		 (GlobalProc       happy_var_2 : happy_var_1+	)+happyReduction_2 _ _  = notHappyAtAll ++happyReduce_3 = happySpecReduce_2  5 happyReduction_3+happyReduction_3 (HappyAbsSyn13  happy_var_2)+	(HappyAbsSyn5  happy_var_1)+	 =  HappyAbsSyn5+		 (GlobalInclProc   happy_var_2 : happy_var_1+	)+happyReduction_3 _ _  = notHappyAtAll ++happyReduce_4 = happySpecReduce_2  5 happyReduction_4+happyReduction_4 (HappyAbsSyn14  happy_var_2)+	(HappyAbsSyn5  happy_var_1)+	 =  HappyAbsSyn5+		 (GlobalExtern     happy_var_2 : happy_var_1+	)+happyReduction_4 _ _  = notHappyAtAll ++happyReduce_5 = happySpecReduce_2  5 happyReduction_5+happyReduction_5 (HappyAbsSyn49  happy_var_2)+	(HappyAbsSyn5  happy_var_1)+	 =  HappyAbsSyn5+		 (GlobalStruct     happy_var_2 : happy_var_1+	)+happyReduction_5 _ _  = notHappyAtAll ++happyReduce_6 = happySpecReduce_2  5 happyReduction_6+happyReduction_6 (HappyAbsSyn53  happy_var_2)+	(HappyAbsSyn5  happy_var_1)+	 =  HappyAbsSyn5+		 (GlobalBitData    happy_var_2 : happy_var_1+	)+happyReduction_6 _ _  = notHappyAtAll ++happyReduce_7 = happySpecReduce_2  5 happyReduction_7+happyReduction_7 (HappyAbsSyn36  happy_var_2)+	(HappyAbsSyn5  happy_var_1)+	 =  HappyAbsSyn5+		 (GlobalTypeDef    happy_var_2 : happy_var_1+	)+happyReduction_7 _ _  = notHappyAtAll ++happyReduce_8 = happySpecReduce_2  5 happyReduction_8+happyReduction_8 (HappyAbsSyn11  happy_var_2)+	(HappyAbsSyn5  happy_var_1)+	 =  HappyAbsSyn5+		 (GlobalConstDef   happy_var_2 : happy_var_1+	)+happyReduction_8 _ _  = notHappyAtAll ++happyReduce_9 = happySpecReduce_2  5 happyReduction_9+happyReduction_9 (HappyAbsSyn10  happy_var_2)+	(HappyAbsSyn5  happy_var_1)+	 =  HappyAbsSyn5+		 (GlobalInclude    happy_var_2 : happy_var_1+	)+happyReduction_9 _ _  = notHappyAtAll ++happyReduce_10 = happySpecReduce_2  5 happyReduction_10+happyReduction_10 (HappyAbsSyn6  happy_var_2)+	(HappyAbsSyn5  happy_var_1)+	 =  HappyAbsSyn5+		 (GlobalArea       happy_var_2 : happy_var_1+	)+happyReduction_10 _ _  = notHappyAtAll ++happyReduce_11 = happySpecReduce_2  5 happyReduction_11+happyReduction_11 (HappyAbsSyn7  happy_var_2)+	(HappyAbsSyn5  happy_var_1)+	 =  HappyAbsSyn5+		 (GlobalAreaImport happy_var_2 : happy_var_1+	)+happyReduction_11 _ _  = notHappyAtAll ++happyReduce_12 = happySpecReduce_0  5 happyReduction_12+happyReduction_12  =  HappyAbsSyn5+		 ([]+	)++happyReduce_13 = happySpecReduce_2  6 happyReduction_13+happyReduction_13 (HappyAbsSyn24  happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn6+		 (AreaDef False happy_var_1 (unLoc happy_var_2) (getLoc happy_var_2)+	)+happyReduction_13 _ _  = notHappyAtAll ++happyReduce_14 = happySpecReduce_3  6 happyReduction_14+happyReduction_14 (HappyAbsSyn24  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn6+		 (AreaDef True happy_var_1 (unLoc happy_var_3) (getLoc happy_var_3)+	)+happyReduction_14 _ _ _  = notHappyAtAll ++happyReduce_15 = happyReduce 4 7 happyReduction_15+happyReduction_15 ((HappyAbsSyn20  happy_var_4) `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	(HappyAbsSyn9  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "import"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn7+		 (AreaImportDef (unLoc happy_var_4) False happy_var_3 happy_var_2+          (getLoc happy_var_1 <> getLoc happy_var_4)+	) `HappyStk` happyRest++happyReduce_16 = happyReduce 5 7 happyReduction_16+happyReduction_16 ((HappyAbsSyn20  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	(HappyAbsSyn9  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "import"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn7+		 (AreaImportDef (unLoc happy_var_5) True happy_var_3 happy_var_2+          (getLoc happy_var_1 <> getLoc happy_var_5)+	) `HappyStk` happyRest++happyReduce_17 = happySpecReduce_3  8 happyReduction_17+happyReduction_17 _+	(HappyAbsSyn50  happy_var_2)+	(HappyAbsSyn8  happy_var_1)+	 =  HappyAbsSyn8+		 ((unLoc happy_var_2 ++ "/") : happy_var_1+	)+happyReduction_17 _ _ _  = notHappyAtAll ++happyReduce_18 = happySpecReduce_0  8 happyReduction_18+happyReduction_18  =  HappyAbsSyn8+		 ([]+	)++happyReduce_19 = happyReduce 4 9 happyReduction_19+happyReduction_19 ((HappyAbsSyn50  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_2) `HappyStk`+	(HappyAbsSyn8  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn9+		 (concat (reverse happy_var_1) ++ unLoc happy_var_2 ++ ('.' : unLoc happy_var_4)+	) `HappyStk` happyRest++happyReduce_20 = happySpecReduce_2  10 happyReduction_20+happyReduction_20 (HappyAbsSyn50  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "include")))+	 =  HappyAbsSyn10+		 (IncludeDef (unLoc happy_var_2) (happy_var_1 <> getLoc happy_var_2)+	)+happyReduction_20 _ _  = notHappyAtAll ++happyReduce_21 = happyReduce 4 11 happyReduction_21+happyReduction_21 (_ `HappyStk`+	(HappyAbsSyn34  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn11+		 (ConstDef (unLoc happy_var_1) happy_var_3 Nothing   (getLoc happy_var_1 <> getLoc happy_var_3)+	) `HappyStk` happyRest++happyReduce_22 = happyReduce 5 11 happyReduction_22+happyReduction_22 (_ `HappyStk`+	(HappyAbsSyn34  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_2) `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn11+		 (ConstDef (unLoc happy_var_2) happy_var_4 (Just happy_var_1) (mconcat [ getLoc happy_var_1+                                                                       , getLoc happy_var_2+                                                                       , getLoc happy_var_4])+	) `HappyStk` happyRest++happyReduce_23 = happyReduce 9 12 happyReduction_23+happyReduction_23 ((HappyAbsSyn17  happy_var_9) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn28  happy_var_7) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn16  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_2) `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn12+		 (ProcDef happy_var_1 (unLoc happy_var_2) (reverse happy_var_4) (reverse happy_var_7) happy_var_9 (mconcat [ getLoc happy_var_1+                                                                  , getLoc happy_var_2+                                                                  , getLoc happy_var_7+                                                                  , getLoc happy_var_9+                                                                  ])+	) `HappyStk` happyRest++happyReduce_24 = happyReduce 11 13 happyReduction_24+happyReduction_24 (_ `HappyStk`+	(HappyAbsSyn16  happy_var_10) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_8) `HappyStk`+	(HappyAbsSyn37  happy_var_7) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn9  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "import"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn13+		 (IncludeProc happy_var_7 (unLoc happy_var_8) (reverse happy_var_10) (happy_var_3, unLoc happy_var_5)+        (mconcat [ getLoc happy_var_1+                 , getLoc happy_var_5+                 , getLoc happy_var_8+                 ])+	) `HappyStk` happyRest++happyReduce_25 = happyReduce 4 14 happyReduction_25+happyReduction_25 ((HappyAbsSyn50  happy_var_4) `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	(HappyAbsSyn9  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "extern"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn14+		 (Extern (unLoc happy_var_4) happy_var_2 happy_var_3+             (mconcat [ getLoc happy_var_1, getLoc happy_var_4])+	) `HappyStk` happyRest++happyReduce_26 = happySpecReduce_2  15 happyReduction_26+happyReduction_26 (HappyAbsSyn50  happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn15+		 ((happy_var_1, unLoc happy_var_2)+	)+happyReduction_26 _ _  = notHappyAtAll ++happyReduce_27 = happySpecReduce_3  16 happyReduction_27+happyReduction_27 (HappyAbsSyn15  happy_var_3)+	_+	(HappyAbsSyn16  happy_var_1)+	 =  HappyAbsSyn16+		 (happy_var_3 : happy_var_1+	)+happyReduction_27 _ _ _  = notHappyAtAll ++happyReduce_28 = happySpecReduce_2  16 happyReduction_28+happyReduction_28 _+	(HappyAbsSyn16  happy_var_1)+	 =  HappyAbsSyn16+		 (happy_var_1+	)+happyReduction_28 _ _  = notHappyAtAll ++happyReduce_29 = happySpecReduce_1  16 happyReduction_29+happyReduction_29 (HappyAbsSyn15  happy_var_1)+	 =  HappyAbsSyn16+		 ([happy_var_1]+	)+happyReduction_29 _  = notHappyAtAll ++happyReduce_30 = happySpecReduce_0  16 happyReduction_30+happyReduction_30  =  HappyAbsSyn16+		 ([]+	)++happyReduce_31 = happySpecReduce_3  17 happyReduction_31+happyReduction_31 _+	(HappyAbsSyn17  happy_var_2)+	_+	 =  HappyAbsSyn17+		 (reverse happy_var_2+	)+happyReduction_31 _ _ _  = notHappyAtAll ++happyReduce_32 = happySpecReduce_0  17 happyReduction_32+happyReduction_32  =  HappyAbsSyn17+		 ([]+	)++happyReduce_33 = happySpecReduce_3  18 happyReduction_33+happyReduction_33 _+	(HappyAbsSyn19  happy_var_2)+	(HappyAbsSyn17  happy_var_1)+	 =  HappyAbsSyn17+		 (happy_var_2 : happy_var_1+	)+happyReduction_33 _ _ _  = notHappyAtAll ++happyReduce_34 = happySpecReduce_2  18 happyReduction_34+happyReduction_34 _+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn17+		 ([happy_var_1]+	)+happyReduction_34 _ _  = notHappyAtAll ++happyReduce_35 = happyReduce 4 19 happyReduction_35+happyReduction_35 (_ `HappyStk`+	(HappyAbsSyn34  happy_var_3) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn19+		 (PreCond  happy_var_3+	) `HappyStk` happyRest++happyReduce_36 = happyReduce 4 19 happyReduction_36+happyReduction_36 (_ `HappyStk`+	(HappyAbsSyn34  happy_var_3) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn19+		 (PostCond happy_var_3+	) `HappyStk` happyRest++happyReduce_37 = happySpecReduce_2  20 happyReduction_37+happyReduction_37 (HappyAbsSyn50  happy_var_2)+	_+	 =  HappyAbsSyn20+		 (happy_var_2+	)+happyReduction_37 _ _  = notHappyAtAll ++happyReduce_38 = happySpecReduce_3  21 happyReduction_38+happyReduction_38 _+	_+	(HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn20+		 (happy_var_1+	)+happyReduction_38 _ _ _  = notHappyAtAll ++happyReduce_39 = happySpecReduce_3  22 happyReduction_39+happyReduction_39 _+	_+	(HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn20+		 (happy_var_1+	)+happyReduction_39 _ _ _  = notHappyAtAll ++happyReduce_40 = happySpecReduce_1  23 happyReduction_40+happyReduction_40 (HappyAbsSyn20  happy_var_1)+	 =  HappyAbsSyn20+		 (happy_var_1+	)+happyReduction_40 _  = notHappyAtAll ++happyReduce_41 = happySpecReduce_1  23 happyReduction_41+happyReduction_41 (HappyAbsSyn20  happy_var_1)+	 =  HappyAbsSyn20+		 (happy_var_1+	)+happyReduction_41 _  = notHappyAtAll ++happyReduce_42 = happySpecReduce_1  23 happyReduction_42+happyReduction_42 (HappyAbsSyn20  happy_var_1)+	 =  HappyAbsSyn20+		 (happy_var_1+	)+happyReduction_42 _  = notHappyAtAll ++happyReduce_43 = happySpecReduce_3  24 happyReduction_43+happyReduction_43 (HappyTerminal (Located happy_var_3 (TokSep ";")))+	(HappyAbsSyn20  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "alloc")))+	 =  HappyAbsSyn24+		 (atBin (AllocBase (unLoc happy_var_2) Nothing) happy_var_1 happy_var_3+	)+happyReduction_43 _ _ _  = notHappyAtAll ++happyReduce_44 = happyReduce 5 24 happyReduction_44+happyReduction_44 (_ `HappyStk`+	(HappyAbsSyn34  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn20  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "alloc"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn24+		 (atList (AllocBase (unLoc happy_var_2) (Just happy_var_4))+                                              [happy_var_1, getLoc happy_var_2, getLoc happy_var_4]+	) `HappyStk` happyRest++happyReduce_45 = happySpecReduce_3  24 happyReduction_45+happyReduction_45 _+	(HappyAbsSyn20  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "alloc")))+	 =  HappyAbsSyn24+		 (atBin (AllocArr (unLoc happy_var_2) []) happy_var_1 happy_var_2+	)+happyReduction_45 _ _ _  = notHappyAtAll ++happyReduce_46 = happyReduce 7 24 happyReduction_46+happyReduction_46 (_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn29  happy_var_5) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn20  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "alloc"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn24+		 (atList (AllocArr (unLoc happy_var_2) (reverse happy_var_5))+                                              [ happy_var_1, getLoc happy_var_2, getLoc happy_var_5]+	) `HappyStk` happyRest++happyReduce_47 = happySpecReduce_3  24 happyReduction_47+happyReduction_47 _+	(HappyAbsSyn20  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "alloc")))+	 =  HappyAbsSyn24+		 (atBin (AllocStruct (unLoc happy_var_2) Empty) happy_var_1 happy_var_2+	)+happyReduction_47 _ _ _  = notHappyAtAll ++happyReduce_48 = happyReduce 5 24 happyReduction_48+happyReduction_48 (_ `HappyStk`+	(HappyAbsSyn31  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn20  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "alloc"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn24+		 (atBin (AllocStruct (unLoc happy_var_2) happy_var_4) happy_var_1 happy_var_2+	) `HappyStk` happyRest++happyReduce_49 = happySpecReduce_3  25 happyReduction_49+happyReduction_49 _+	(HappyAbsSyn34  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "assert")))+	 =  HappyAbsSyn25+		 (LocStmt (atBin (Assert happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_49 _ _ _  = notHappyAtAll ++happyReduce_50 = happySpecReduce_3  25 happyReduction_50+happyReduction_50 _+	(HappyAbsSyn34  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "assume")))+	 =  HappyAbsSyn25+		 (LocStmt (atBin (Assume happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_50 _ _ _  = notHappyAtAll ++happyReduce_51 = happyReduce 5 25 happyReduction_51+happyReduction_51 (_ `HappyStk`+	(HappyAbsSyn34  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "let"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atList (Assign (unLoc happy_var_2) happy_var_4 Nothing)+                                      [ happy_var_1, getLoc happy_var_2, getLoc happy_var_4 ])+	) `HappyStk` happyRest++happyReduce_52 = happyReduce 6 25 happyReduction_52+happyReduction_52 (_ `HappyStk`+	(HappyAbsSyn34  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_3) `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "let"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atList (Assign (unLoc happy_var_3) happy_var_5 (Just happy_var_2))+                                                    [ happy_var_1, getLoc happy_var_2, getLoc happy_var_3, getLoc happy_var_5])+	) `HappyStk` happyRest++happyReduce_53 = happySpecReduce_2  25 happyReduction_53+happyReduction_53 _+	(HappyTerminal (Located happy_var_1 (TokReserved "return")))+	 =  HappyAbsSyn25+		 (LocStmt (ReturnVoid `at` happy_var_1)+	)+happyReduction_53 _ _  = notHappyAtAll ++happyReduce_54 = happySpecReduce_3  25 happyReduction_54+happyReduction_54 _+	(HappyAbsSyn34  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "return")))+	 =  HappyAbsSyn25+		 (LocStmt (atBin (Return happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_54 _ _ _  = notHappyAtAll ++happyReduce_55 = happyReduce 4 25 happyReduction_55+happyReduction_55 (_ `HappyStk`+	(HappyAbsSyn50  happy_var_3) `HappyStk`+	(HappyAbsSyn50  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "memcpy"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atList (RefCopy (ExpVar (unLoc happy_var_2)) (ExpVar (unLoc happy_var_3)))+                                               [happy_var_1, getLoc happy_var_2, getLoc happy_var_3])+	) `HappyStk` happyRest++happyReduce_56 = happySpecReduce_1  25 happyReduction_56+happyReduction_56 (HappyAbsSyn24  happy_var_1)+	 =  HappyAbsSyn25+		 (LocStmt (AllocRef (unLoc happy_var_1) `at` (getLoc happy_var_1))+	)+happyReduction_56 _  = notHappyAtAll ++happyReduce_57 = happyReduce 5 25 happyReduction_57+happyReduction_57 (_ `HappyStk`+	(HappyAbsSyn34  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn34  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "store"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atList (Store happy_var_2 happy_var_4) [happy_var_1, getLoc happy_var_2, getLoc happy_var_4])+	) `HappyStk` happyRest++happyReduce_58 = happySpecReduce_3  25 happyReduction_58+happyReduction_58 _+	(HappyAbsSyn29  happy_var_2)+	(HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn25+		 (LocStmt (atBin (NoBindCall (unLoc happy_var_1) happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_58 _ _ _  = notHappyAtAll ++happyReduce_59 = happySpecReduce_2  25 happyReduction_59+happyReduction_59 _+	(HappyAbsSyn26  happy_var_1)+	 =  HappyAbsSyn25+		 (LocStmt ((IvoryMacroStmt Nothing (unLoc happy_var_1)) `at` getLoc happy_var_1)+	)+happyReduction_59 _ _  = notHappyAtAll ++happyReduce_60 = happyReduce 4 25 happyReduction_60+happyReduction_60 (_ `HappyStk`+	(HappyAbsSyn26  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atBin (IvoryMacroStmt (Just (unLoc happy_var_1)) (unLoc happy_var_3))+                                               happy_var_1 happy_var_3)+	) `HappyStk` happyRest++happyReduce_61 = happySpecReduce_2  25 happyReduction_61+happyReduction_61 _+	(HappyTerminal (Located happy_var_1 (TokReserved "break")))+	 =  HappyAbsSyn25+		 (LocStmt (Break `at` happy_var_1)+	)+happyReduction_61 _ _  = notHappyAtAll ++happyReduce_62 = happySpecReduce_2  26 happyReduction_62+happyReduction_62 (HappyAbsSyn50  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokSym "$")))+	 =  HappyAbsSyn26+		 (atBin (unLoc happy_var_2, []) happy_var_1 (getLoc happy_var_2)+	)+happyReduction_62 _ _  = notHappyAtAll ++happyReduce_63 = happySpecReduce_3  26 happyReduction_63+happyReduction_63 (HappyAbsSyn29  happy_var_3)+	(HappyAbsSyn50  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokSym "$")))+	 =  HappyAbsSyn26+		 (atList (unLoc happy_var_2, happy_var_3) [happy_var_1, getLoc happy_var_2, getLoc happy_var_3]+	)+happyReduction_63 _ _ _  = notHappyAtAll ++happyReduce_64 = happyReduce 5 27 happyReduction_64+happyReduction_64 (_ `HappyStk`+	(HappyAbsSyn28  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "map"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atList (MapArr (unLoc happy_var_2) (reverse happy_var_4))+                                                        [happy_var_1, getLoc happy_var_2, getLoc happy_var_4])+	) `HappyStk` happyRest++happyReduce_65 = happyReduce 6 27 happyReduction_65+happyReduction_65 (_ `HappyStk`+	(HappyAbsSyn28  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_3) `HappyStk`+	(HappyAbsSyn34  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "upTo"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atList (UpTo happy_var_2 (unLoc happy_var_3) (reverse happy_var_5))+                                                        [happy_var_1, getLoc happy_var_2, getLoc happy_var_3, getLoc happy_var_5])+	) `HappyStk` happyRest++happyReduce_66 = happyReduce 6 27 happyReduction_66+happyReduction_66 (_ `HappyStk`+	(HappyAbsSyn28  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_3) `HappyStk`+	(HappyAbsSyn34  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "downFrom"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atList (DownFrom happy_var_2 (unLoc happy_var_3) (reverse happy_var_5))+                                                        [happy_var_1, getLoc happy_var_2, getLoc happy_var_3, getLoc happy_var_5])+	) `HappyStk` happyRest++happyReduce_67 = happyReduce 10 27 happyReduction_67+happyReduction_67 (_ `HappyStk`+	(HappyAbsSyn28  happy_var_9) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_7) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn34  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn34  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "upFromTo"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atList (UpFromTo happy_var_3 happy_var_5 (unLoc happy_var_7) (reverse happy_var_9))+          [happy_var_1, getLoc happy_var_3, getLoc happy_var_5, getLoc happy_var_7, getLoc happy_var_9])+	) `HappyStk` happyRest++happyReduce_68 = happyReduce 10 27 happyReduction_68+happyReduction_68 (_ `HappyStk`+	(HappyAbsSyn28  happy_var_9) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_7) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn34  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn34  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "downFromTo"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atList (DownFromTo happy_var_3 happy_var_5 (unLoc happy_var_7) (reverse happy_var_9))+          [happy_var_1, getLoc happy_var_3, getLoc happy_var_5, getLoc happy_var_7, getLoc happy_var_9])+	) `HappyStk` happyRest++happyReduce_69 = happyReduce 4 27 happyReduction_69+happyReduction_69 (_ `HappyStk`+	(HappyAbsSyn28  happy_var_3) `HappyStk`+	(HappyTerminal (Located happy_var_2 (TokBrack "{"))) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "forever"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atBin (Forever (reverse happy_var_3)) happy_var_1 happy_var_2)+	) `HappyStk` happyRest++happyReduce_70 = happyReduce 9 27 happyReduction_70+happyReduction_70 (_ `HappyStk`+	(HappyAbsSyn28  happy_var_8) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn28  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn34  happy_var_2) `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (LocStmt (atList (IfTE happy_var_2 (reverse happy_var_4) (reverse happy_var_8))+                                                        [ getLoc happy_var_2, getLoc happy_var_4, getLoc happy_var_8 ])+	) `HappyStk` happyRest++happyReduce_71 = happySpecReduce_2  28 happyReduction_71+happyReduction_71 (HappyAbsSyn25  happy_var_2)+	(HappyAbsSyn28  happy_var_1)+	 =  HappyAbsSyn28+		 (happy_var_2 : happy_var_1+	)+happyReduction_71 _ _  = notHappyAtAll ++happyReduce_72 = happySpecReduce_2  28 happyReduction_72+happyReduction_72 (HappyAbsSyn25  happy_var_2)+	(HappyAbsSyn28  happy_var_1)+	 =  HappyAbsSyn28+		 (happy_var_2 : happy_var_1+	)+happyReduction_72 _ _  = notHappyAtAll ++happyReduce_73 = happySpecReduce_0  28 happyReduction_73+happyReduction_73  =  HappyAbsSyn28+		 ([]+	)++happyReduce_74 = happySpecReduce_3  29 happyReduction_74+happyReduction_74 _+	(HappyAbsSyn29  happy_var_2)+	_+	 =  HappyAbsSyn29+		 (reverse happy_var_2+	)+happyReduction_74 _ _ _  = notHappyAtAll ++happyReduce_75 = happySpecReduce_3  30 happyReduction_75+happyReduction_75 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn29  happy_var_1)+	 =  HappyAbsSyn29+		 (happy_var_3 : happy_var_1+	)+happyReduction_75 _ _ _  = notHappyAtAll ++happyReduce_76 = happySpecReduce_2  30 happyReduction_76+happyReduction_76 _+	(HappyAbsSyn29  happy_var_1)+	 =  HappyAbsSyn29+		 (happy_var_1+	)+happyReduction_76 _ _  = notHappyAtAll ++happyReduce_77 = happySpecReduce_1  30 happyReduction_77+happyReduction_77 (HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn29+		 ([happy_var_1]+	)+happyReduction_77 _  = notHappyAtAll ++happyReduce_78 = happySpecReduce_0  30 happyReduction_78+happyReduction_78  =  HappyAbsSyn29+		 ([]+	)++happyReduce_79 = happySpecReduce_1  31 happyReduction_79+happyReduction_79 (HappyAbsSyn26  happy_var_1)+	 =  HappyAbsSyn31+		 (MacroInit (unLoc happy_var_1)+	)+happyReduction_79 _  = notHappyAtAll ++happyReduce_80 = happySpecReduce_3  31 happyReduction_80+happyReduction_80 _+	(HappyAbsSyn32  happy_var_2)+	_+	 =  HappyAbsSyn31+		 (FieldInits happy_var_2+	)+happyReduction_80 _ _ _  = notHappyAtAll ++happyReduce_81 = happySpecReduce_3  32 happyReduction_81+happyReduction_81 (HappyAbsSyn33  happy_var_3)+	_+	(HappyAbsSyn32  happy_var_1)+	 =  HappyAbsSyn32+		 (happy_var_3 : happy_var_1+	)+happyReduction_81 _ _ _  = notHappyAtAll ++happyReduce_82 = happySpecReduce_2  32 happyReduction_82+happyReduction_82 _+	(HappyAbsSyn32  happy_var_1)+	 =  HappyAbsSyn32+		 (happy_var_1+	)+happyReduction_82 _ _  = notHappyAtAll ++happyReduce_83 = happySpecReduce_1  32 happyReduction_83+happyReduction_83 (HappyAbsSyn33  happy_var_1)+	 =  HappyAbsSyn32+		 ([happy_var_1]+	)+happyReduction_83 _  = notHappyAtAll ++happyReduce_84 = happySpecReduce_0  32 happyReduction_84+happyReduction_84  =  HappyAbsSyn32+		 ([]+	)++happyReduce_85 = happySpecReduce_3  33 happyReduction_85+happyReduction_85 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn33+		 ((unLoc happy_var_1, happy_var_3)+	)+happyReduction_85 _ _ _  = notHappyAtAll ++happyReduce_86 = happySpecReduce_1  34 happyReduction_86+happyReduction_86 (HappyTerminal (happy_var_1@Located { locValue = TokInteger _ }))+	 =  HappyAbsSyn34+		 (let TokInteger i = unLoc happy_var_1 in+                           LocExp (ExpLit (LitInteger i) `at` happy_var_1)+	)+happyReduction_86 _  = notHappyAtAll ++happyReduce_87 = happySpecReduce_1  34 happyReduction_87+happyReduction_87 (HappyTerminal (happy_var_1@Located { locValue = TokString _  }))+	 =  HappyAbsSyn34+		 (let TokString s = unLoc happy_var_1 in+                           LocExp (ExpLit (LitString s) `at` happy_var_1)+	)+happyReduction_87 _  = notHappyAtAll ++happyReduce_88 = happySpecReduce_1  34 happyReduction_88+happyReduction_88 (HappyTerminal (happy_var_1@Located { locValue = TokFloat   _ }))+	 =  HappyAbsSyn34+		 (let TokFloat f = unLoc happy_var_1 in+                           LocExp (ExpLit (LitFloat f) `at` happy_var_1)+	)+happyReduction_88 _  = notHappyAtAll ++happyReduce_89 = happySpecReduce_1  34 happyReduction_89+happyReduction_89 (HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp ((ExpVar (unLoc happy_var_1)) `at` happy_var_1)+	)+happyReduction_89 _  = notHappyAtAll ++happyReduce_90 = happySpecReduce_1  34 happyReduction_90+happyReduction_90 (HappyTerminal (Located happy_var_1 (TokReserved "return")))+	 =  HappyAbsSyn34+		 (LocExp (ExpRet `at` happy_var_1)+	)+happyReduction_90 _  = notHappyAtAll ++happyReduce_91 = happySpecReduce_3  34 happyReduction_91+happyReduction_91 _+	(HappyAbsSyn34  happy_var_2)+	_+	 =  HappyAbsSyn34+		 (happy_var_2+	)+happyReduction_91 _ _ _  = notHappyAtAll ++happyReduce_92 = happySpecReduce_2  34 happyReduction_92+happyReduction_92 (HappyAbsSyn34  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokSym "*")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpDeref happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_92 _ _  = notHappyAtAll ++happyReduce_93 = happySpecReduce_3  34 happyReduction_93+happyReduction_93 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpArray happy_var_1 happy_var_3) happy_var_1 happy_var_3)+	)+happyReduction_93 _ _ _  = notHappyAtAll ++happyReduce_94 = happyReduce 4 34 happyReduction_94+happyReduction_94 (_ `HappyStk`+	(HappyAbsSyn34  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn34  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn34+		 (LocExp (atBin (ExpDeref (ExpArray happy_var_1 happy_var_3)) happy_var_1 happy_var_3)+	) `HappyStk` happyRest++happyReduce_95 = happySpecReduce_3  34 happyReduction_95+happyReduction_95 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpStruct happy_var_1 happy_var_3) happy_var_1 happy_var_3)+	)+happyReduction_95 _ _ _  = notHappyAtAll ++happyReduce_96 = happySpecReduce_3  34 happyReduction_96+happyReduction_96 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpDeref (ExpStruct happy_var_1 happy_var_3)) happy_var_1 happy_var_3)+	)+happyReduction_96 _ _ _  = notHappyAtAll ++happyReduce_97 = happySpecReduce_2  34 happyReduction_97+happyReduction_97 (HappyAbsSyn50  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokSym "&")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpAddrOf (unLoc happy_var_2)) happy_var_1 happy_var_2)+	)+happyReduction_97 _ _  = notHappyAtAll ++happyReduce_98 = happySpecReduce_1  34 happyReduction_98+happyReduction_98 (HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (happy_var_1+	)+happyReduction_98 _  = notHappyAtAll ++happyReduce_99 = happySpecReduce_1  34 happyReduction_99+happyReduction_99 (HappyAbsSyn26  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (IvoryMacroExp `fmap` happy_var_1)+	)+happyReduction_99 _  = notHappyAtAll ++happyReduce_100 = happySpecReduce_2  34 happyReduction_100+happyReduction_100 (HappyAbsSyn29  happy_var_2)+	(HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpCall (unLoc happy_var_1) happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_100 _ _  = notHappyAtAll ++happyReduce_101 = happySpecReduce_2  34 happyReduction_101+happyReduction_101 (HappyAbsSyn34  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokSym "!")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp NotOp [happy_var_2]) happy_var_1 happy_var_2)+	)+happyReduction_101 _ _  = notHappyAtAll ++happyReduce_102 = happySpecReduce_2  34 happyReduction_102+happyReduction_102 (HappyAbsSyn34  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokSym "-")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (mkNegate happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_102 _ _  = notHappyAtAll ++happyReduce_103 = happySpecReduce_2  34 happyReduction_103+happyReduction_103 (HappyAbsSyn34  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokSym "~")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp BitComplementOp [happy_var_2]) happy_var_1 happy_var_2)+	)+happyReduction_103 _ _  = notHappyAtAll ++happyReduce_104 = happySpecReduce_3  34 happyReduction_104+happyReduction_104 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp OrOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_104 _ _ _  = notHappyAtAll ++happyReduce_105 = happySpecReduce_3  34 happyReduction_105+happyReduction_105 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp AndOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_105 _ _ _  = notHappyAtAll ++happyReduce_106 = happySpecReduce_3  34 happyReduction_106+happyReduction_106 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp BitOrOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_106 _ _ _  = notHappyAtAll ++happyReduce_107 = happySpecReduce_3  34 happyReduction_107+happyReduction_107 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp BitXorOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_107 _ _ _  = notHappyAtAll ++happyReduce_108 = happySpecReduce_3  34 happyReduction_108+happyReduction_108 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp BitAndOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_108 _ _ _  = notHappyAtAll ++happyReduce_109 = happySpecReduce_3  34 happyReduction_109+happyReduction_109 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp BitShiftLOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_109 _ _ _  = notHappyAtAll ++happyReduce_110 = happySpecReduce_3  34 happyReduction_110+happyReduction_110 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp BitShiftROp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_110 _ _ _  = notHappyAtAll ++happyReduce_111 = happySpecReduce_3  34 happyReduction_111+happyReduction_111 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp EqOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_111 _ _ _  = notHappyAtAll ++happyReduce_112 = happySpecReduce_3  34 happyReduction_112+happyReduction_112 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp NeqOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_112 _ _ _  = notHappyAtAll ++happyReduce_113 = happySpecReduce_3  34 happyReduction_113+happyReduction_113 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp (LtOp False) [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_113 _ _ _  = notHappyAtAll ++happyReduce_114 = happySpecReduce_3  34 happyReduction_114+happyReduction_114 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp (LtOp True) [happy_var_1, happy_var_3] ) happy_var_1 happy_var_3)+	)+happyReduction_114 _ _ _  = notHappyAtAll ++happyReduce_115 = happySpecReduce_3  34 happyReduction_115+happyReduction_115 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp (GtOp False) [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_115 _ _ _  = notHappyAtAll ++happyReduce_116 = happySpecReduce_3  34 happyReduction_116+happyReduction_116 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp (GtOp True) [happy_var_1, happy_var_3] ) happy_var_1 happy_var_3)+	)+happyReduction_116 _ _ _  = notHappyAtAll ++happyReduce_117 = happySpecReduce_3  34 happyReduction_117+happyReduction_117 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp AddOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_117 _ _ _  = notHappyAtAll ++happyReduce_118 = happySpecReduce_3  34 happyReduction_118+happyReduction_118 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp SubOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_118 _ _ _  = notHappyAtAll ++happyReduce_119 = happySpecReduce_3  34 happyReduction_119+happyReduction_119 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp MulOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_119 _ _ _  = notHappyAtAll ++happyReduce_120 = happySpecReduce_3  34 happyReduction_120+happyReduction_120 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp DivOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_120 _ _ _  = notHappyAtAll ++happyReduce_121 = happySpecReduce_3  34 happyReduction_121+happyReduction_121 (HappyAbsSyn34  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp ModOp [happy_var_1, happy_var_3]) happy_var_1 happy_var_3)+	)+happyReduction_121 _ _ _  = notHappyAtAll ++happyReduce_122 = happyReduce 5 34 happyReduction_122+happyReduction_122 ((HappyAbsSyn34  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn34  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn34  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn34+		 (LocExp ((ExpOp CondOp [happy_var_1, happy_var_3, happy_var_5]) `at` (getLoc [happy_var_1, happy_var_3, happy_var_5]))+	) `HappyStk` happyRest++happyReduce_123 = happySpecReduce_2  35 happyReduction_123+happyReduction_123 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "abs")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp AbsOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_123 _ _  = notHappyAtAll ++happyReduce_124 = happySpecReduce_2  35 happyReduction_124+happyReduction_124 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "signum")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp SignumOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_124 _ _  = notHappyAtAll ++happyReduce_125 = happySpecReduce_2  35 happyReduction_125+happyReduction_125 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "exp")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FExpOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_125 _ _  = notHappyAtAll ++happyReduce_126 = happySpecReduce_2  35 happyReduction_126+happyReduction_126 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "sqrt")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FSqrtOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_126 _ _  = notHappyAtAll ++happyReduce_127 = happySpecReduce_2  35 happyReduction_127+happyReduction_127 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "log")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FLogOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_127 _ _  = notHappyAtAll ++happyReduce_128 = happySpecReduce_2  35 happyReduction_128+happyReduction_128 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "pow")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FPowOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_128 _ _  = notHappyAtAll ++happyReduce_129 = happySpecReduce_2  35 happyReduction_129+happyReduction_129 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "sin")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FSinOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_129 _ _  = notHappyAtAll ++happyReduce_130 = happySpecReduce_2  35 happyReduction_130+happyReduction_130 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "cos")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FCosOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_130 _ _  = notHappyAtAll ++happyReduce_131 = happySpecReduce_2  35 happyReduction_131+happyReduction_131 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "tan")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FTanOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_131 _ _  = notHappyAtAll ++happyReduce_132 = happySpecReduce_2  35 happyReduction_132+happyReduction_132 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "asin")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FAsinOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_132 _ _  = notHappyAtAll ++happyReduce_133 = happySpecReduce_2  35 happyReduction_133+happyReduction_133 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "acos")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FAcosOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_133 _ _  = notHappyAtAll ++happyReduce_134 = happySpecReduce_2  35 happyReduction_134+happyReduction_134 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "atan")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FAtanOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_134 _ _  = notHappyAtAll ++happyReduce_135 = happySpecReduce_2  35 happyReduction_135+happyReduction_135 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "atan2")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FAtan2Op happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_135 _ _  = notHappyAtAll ++happyReduce_136 = happySpecReduce_2  35 happyReduction_136+happyReduction_136 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "sinh")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FSinhOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_136 _ _  = notHappyAtAll ++happyReduce_137 = happySpecReduce_2  35 happyReduction_137+happyReduction_137 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "cosh")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FCoshOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_137 _ _  = notHappyAtAll ++happyReduce_138 = happySpecReduce_2  35 happyReduction_138+happyReduction_138 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "tanh")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FTanhOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_138 _ _  = notHappyAtAll ++happyReduce_139 = happySpecReduce_2  35 happyReduction_139+happyReduction_139 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "asinh")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FAsinhOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_139 _ _  = notHappyAtAll ++happyReduce_140 = happySpecReduce_2  35 happyReduction_140+happyReduction_140 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "acosh")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FAcoshOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_140 _ _  = notHappyAtAll ++happyReduce_141 = happySpecReduce_2  35 happyReduction_141+happyReduction_141 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "atanh")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FAtanhOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_141 _ _  = notHappyAtAll ++happyReduce_142 = happySpecReduce_2  35 happyReduction_142+happyReduction_142 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "isnan")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp IsNanOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_142 _ _  = notHappyAtAll ++happyReduce_143 = happySpecReduce_2  35 happyReduction_143+happyReduction_143 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "isinf")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp IsInfOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_143 _ _  = notHappyAtAll ++happyReduce_144 = happySpecReduce_2  35 happyReduction_144+happyReduction_144 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "round")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp RoundFOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_144 _ _  = notHappyAtAll ++happyReduce_145 = happySpecReduce_2  35 happyReduction_145+happyReduction_145 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "ceil")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp CeilFOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_145 _ _  = notHappyAtAll ++happyReduce_146 = happySpecReduce_2  35 happyReduction_146+happyReduction_146 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "floor")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FloorFOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_146 _ _  = notHappyAtAll ++happyReduce_147 = happySpecReduce_2  35 happyReduction_147+happyReduction_147 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "const")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp ConstRefOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_147 _ _  = notHappyAtAll ++happyReduce_148 = happySpecReduce_2  35 happyReduction_148+happyReduction_148 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "div")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp EucDivOp happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_148 _ _  = notHappyAtAll ++happyReduce_149 = happySpecReduce_2  35 happyReduction_149+happyReduction_149 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "castWith")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp CastWith happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_149 _ _  = notHappyAtAll ++happyReduce_150 = happySpecReduce_2  35 happyReduction_150+happyReduction_150 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "safeCast")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp SafeCast happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_150 _ _  = notHappyAtAll ++happyReduce_151 = happySpecReduce_2  35 happyReduction_151+happyReduction_151 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "bitCast")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp BitCast happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_151 _ _  = notHappyAtAll ++happyReduce_152 = happySpecReduce_2  35 happyReduction_152+happyReduction_152 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "twosCompCast")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp TwosCompCast happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_152 _ _  = notHappyAtAll ++happyReduce_153 = happySpecReduce_2  35 happyReduction_153+happyReduction_153 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "twosCompRep")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp TwosCompRep happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_153 _ _  = notHappyAtAll ++happyReduce_154 = happySpecReduce_2  35 happyReduction_154+happyReduction_154 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "toIx")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp ToIx happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_154 _ _  = notHappyAtAll ++happyReduce_155 = happySpecReduce_2  35 happyReduction_155+happyReduction_155 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "fromIx")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp FromIx happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_155 _ _  = notHappyAtAll ++happyReduce_156 = happySpecReduce_2  35 happyReduction_156+happyReduction_156 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "ixSize")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp IxSize happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_156 _ _  = notHappyAtAll ++happyReduce_157 = happySpecReduce_2  35 happyReduction_157+happyReduction_157 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "arrayLen")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp ArrayLen happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_157 _ _  = notHappyAtAll ++happyReduce_158 = happySpecReduce_2  35 happyReduction_158+happyReduction_158 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "sizeOf")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp SizeOf happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_158 _ _  = notHappyAtAll ++happyReduce_159 = happySpecReduce_2  35 happyReduction_159+happyReduction_159 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "nullPtr")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp NullPtr happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_159 _ _  = notHappyAtAll ++happyReduce_160 = happySpecReduce_2  35 happyReduction_160+happyReduction_160 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "refToPtr")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp RefToPtr happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_160 _ _  = notHappyAtAll ++happyReduce_161 = happySpecReduce_2  35 happyReduction_161+happyReduction_161 (HappyAbsSyn29  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "toCArray")))+	 =  HappyAbsSyn34+		 (LocExp (atBin (ExpOp ToCArray happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_161 _ _  = notHappyAtAll ++happyReduce_162 = happyReduce 5 36 happyReduction_162+happyReduction_162 (_ `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "type"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn36+		 (TypeDef (unLoc happy_var_2) happy_var_4 (mconcat [happy_var_1, getLoc happy_var_2, getLoc happy_var_4])+	) `HappyStk` happyRest++happyReduce_163 = happySpecReduce_1  37 happyReduction_163+happyReduction_163 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_163 _  = notHappyAtAll ++happyReduce_164 = happySpecReduce_1  37 happyReduction_164+happyReduction_164 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_164 _  = notHappyAtAll ++happyReduce_165 = happySpecReduce_3  37 happyReduction_165+happyReduction_165 _+	(HappyAbsSyn37  happy_var_2)+	_+	 =  HappyAbsSyn37+		 (happy_var_2+	)+happyReduction_165 _ _ _  = notHappyAtAll ++happyReduce_166 = happySpecReduce_1  38 happyReduction_166+happyReduction_166 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_166 _  = notHappyAtAll ++happyReduce_167 = happySpecReduce_1  38 happyReduction_167+happyReduction_167 (HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn37+		 (LocTy (TySynonym (unLoc happy_var_1) `at` happy_var_1)+	)+happyReduction_167 _  = notHappyAtAll ++happyReduce_168 = happySpecReduce_1  39 happyReduction_168+happyReduction_168 (HappyTerminal (Located happy_var_1 (TokReserved "bool")))+	 =  HappyAbsSyn37+		 (LocTy (TyBool `at` getLoc happy_var_1)+	)+happyReduction_168 _  = notHappyAtAll ++happyReduce_169 = happySpecReduce_1  39 happyReduction_169+happyReduction_169 (HappyTerminal (Located happy_var_1 (TokReserved "char")))+	 =  HappyAbsSyn37+		 (LocTy (TyChar `at` getLoc happy_var_1)+	)+happyReduction_169 _  = notHappyAtAll ++happyReduce_170 = happySpecReduce_1  39 happyReduction_170+happyReduction_170 (HappyTerminal (Located happy_var_1 (TokReserved "float")))+	 =  HappyAbsSyn37+		 (LocTy (TyFloat `at` getLoc happy_var_1)+	)+happyReduction_170 _  = notHappyAtAll ++happyReduce_171 = happySpecReduce_1  39 happyReduction_171+happyReduction_171 (HappyTerminal (Located happy_var_1 (TokReserved "double")))+	 =  HappyAbsSyn37+		 (LocTy (TyDouble `at` getLoc happy_var_1)+	)+happyReduction_171 _  = notHappyAtAll ++happyReduce_172 = happySpecReduce_1  39 happyReduction_172+happyReduction_172 (HappyTerminal (Located happy_var_1 (TokReserved "string")))+	 =  HappyAbsSyn37+		 (LocTy (TyString `at` getLoc happy_var_1)+	)+happyReduction_172 _  = notHappyAtAll ++happyReduce_173 = happySpecReduce_1  39 happyReduction_173+happyReduction_173 (HappyTerminal (Located happy_var_1 (TokReserved "void")))+	 =  HappyAbsSyn37+		 (LocTy (TyVoid `at` getLoc happy_var_1)+	)+happyReduction_173 _  = notHappyAtAll ++happyReduce_174 = happySpecReduce_1  39 happyReduction_174+happyReduction_174 (HappyTerminal (Located happy_var_1 (TokReserved "int8_t")))+	 =  HappyAbsSyn37+		 (LocTy ((TyInt Int8) `at` getLoc happy_var_1)+	)+happyReduction_174 _  = notHappyAtAll ++happyReduce_175 = happySpecReduce_1  39 happyReduction_175+happyReduction_175 (HappyTerminal (Located happy_var_1 (TokReserved "int16_t")))+	 =  HappyAbsSyn37+		 (LocTy ((TyInt Int16) `at` getLoc happy_var_1)+	)+happyReduction_175 _  = notHappyAtAll ++happyReduce_176 = happySpecReduce_1  39 happyReduction_176+happyReduction_176 (HappyTerminal (Located happy_var_1 (TokReserved "int32_t")))+	 =  HappyAbsSyn37+		 (LocTy ((TyInt Int32) `at` getLoc happy_var_1)+	)+happyReduction_176 _  = notHappyAtAll ++happyReduce_177 = happySpecReduce_1  39 happyReduction_177+happyReduction_177 (HappyTerminal (Located happy_var_1 (TokReserved "int64_t")))+	 =  HappyAbsSyn37+		 (LocTy ((TyInt Int64) `at` getLoc happy_var_1)+	)+happyReduction_177 _  = notHappyAtAll ++happyReduce_178 = happySpecReduce_1  39 happyReduction_178+happyReduction_178 (HappyTerminal (Located happy_var_1 (TokReserved "uint8_t")))+	 =  HappyAbsSyn37+		 (LocTy ((TyWord Word8) `at` getLoc happy_var_1)+	)+happyReduction_178 _  = notHappyAtAll ++happyReduce_179 = happySpecReduce_1  39 happyReduction_179+happyReduction_179 (HappyTerminal (Located happy_var_1 (TokReserved "uint16_t")))+	 =  HappyAbsSyn37+		 (LocTy ((TyWord Word16) `at` getLoc happy_var_1)+	)+happyReduction_179 _  = notHappyAtAll ++happyReduce_180 = happySpecReduce_1  39 happyReduction_180+happyReduction_180 (HappyTerminal (Located happy_var_1 (TokReserved "uint32_t")))+	 =  HappyAbsSyn37+		 (LocTy ((TyWord Word32) `at` getLoc happy_var_1)+	)+happyReduction_180 _  = notHappyAtAll ++happyReduce_181 = happySpecReduce_1  39 happyReduction_181+happyReduction_181 (HappyTerminal (Located happy_var_1 (TokReserved "uint64_t")))+	 =  HappyAbsSyn37+		 (LocTy ((TyWord Word64) `at` getLoc happy_var_1)+	)+happyReduction_181 _  = notHappyAtAll ++happyReduce_182 = happySpecReduce_2  39 happyReduction_182+happyReduction_182 (HappyTerminal (happy_var_2@Located { locValue = TokInteger _ }))+	(HappyTerminal (Located happy_var_1 (TokReserved "ix_t")))+	 =  HappyAbsSyn37+		 (let TokInteger i = unLoc happy_var_2 in+                                LocTy (atBin (TyIx i) happy_var_1 happy_var_2)+	)+happyReduction_182 _ _  = notHappyAtAll ++happyReduce_183 = happyReduce 4 40 happyReduction_183+happyReduction_183 (_ `HappyStk`+	(HappyAbsSyn41  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn40  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn40+		 (unLoc happy_var_3 : happy_var_1+	) `HappyStk` happyRest++happyReduce_184 = happySpecReduce_0  40 happyReduction_184+happyReduction_184  =  HappyAbsSyn40+		 ([]+	)++happyReduce_185 = happySpecReduce_2  41 happyReduction_185+happyReduction_185 (HappyTerminal (happy_var_2@Located { locValue = TokTyIdent _ }))+	_+	 =  HappyAbsSyn41+		 (let TokTyIdent i = unLoc happy_var_2 in+             Left i `at` happy_var_2+	)+happyReduction_185 _ _  = notHappyAtAll ++happyReduce_186 = happySpecReduce_1  41 happyReduction_186+happyReduction_186 (HappyTerminal (happy_var_1@Located { locValue = TokInteger _ }))+	 =  HappyAbsSyn41+		 (let TokInteger i = unLoc happy_var_1 in+             Right i `at` happy_var_1+	)+happyReduction_186 _  = notHappyAtAll ++happyReduce_187 = happySpecReduce_3  42 happyReduction_187+happyReduction_187 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn43  happy_var_1)+	 =  HappyAbsSyn37+		 (LocTy (atBin (TyRef (unLoc happy_var_1) happy_var_3) happy_var_1 happy_var_3)+	)+happyReduction_187 _ _ _  = notHappyAtAll ++happyReduce_188 = happyReduce 4 42 happyReduction_188+happyReduction_188 ((HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn43  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "const"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (LocTy (atList (TyConstRef (unLoc happy_var_2) happy_var_4)+                                                 [happy_var_1, getLoc happy_var_2, getLoc happy_var_4])+	) `HappyStk` happyRest++happyReduce_189 = happyReduce 5 42 happyReduction_189+happyReduction_189 ((HappyAbsSyn40  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn41  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (LocTy (atBin (tyArray happy_var_1 (unLoc happy_var_3) happy_var_5)+                                                happy_var_1 happy_var_3)+	) `HappyStk` happyRest++happyReduce_190 = happySpecReduce_2  42 happyReduction_190+happyReduction_190 (HappyAbsSyn50  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "struct")))+	 =  HappyAbsSyn37+		 (LocTy (atBin (TyStruct (unLoc happy_var_2)) happy_var_1 happy_var_2)+	)+happyReduction_190 _ _  = notHappyAtAll ++happyReduce_191 = happySpecReduce_2  42 happyReduction_191+happyReduction_191 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokSym "&")))+	 =  HappyAbsSyn37+		 (LocTy (atBin (TyStored happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_191 _ _  = notHappyAtAll ++happyReduce_192 = happySpecReduce_1  43 happyReduction_192+happyReduction_192 (HappyTerminal (Located happy_var_1 (TokReserved "S")))+	 =  HappyAbsSyn43+		 (Stack Nothing `at` happy_var_1+	)+happyReduction_192 _  = notHappyAtAll ++happyReduce_193 = happySpecReduce_1  43 happyReduction_193+happyReduction_193 (HappyTerminal (Located happy_var_1 (TokReserved "G")))+	 =  HappyAbsSyn43+		 (Global `at` happy_var_1+	)+happyReduction_193 _  = notHappyAtAll ++happyReduce_194 = happySpecReduce_1  43 happyReduction_194+happyReduction_194 (HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn43+		 (PolyMem (Just (unLoc happy_var_1)) `at` (getLoc happy_var_1)+	)+happyReduction_194 _  = notHappyAtAll ++happyReduce_195 = happySpecReduce_0  43 happyReduction_195+happyReduction_195  =  HappyAbsSyn43+		 (PolyMem Nothing `at` NoLoc+	)++happyReduce_196 = happySpecReduce_1  44 happyReduction_196+happyReduction_196 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_196 _  = notHappyAtAll ++happyReduce_197 = happySpecReduce_1  44 happyReduction_197+happyReduction_197 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_197 _  = notHappyAtAll ++happyReduce_198 = happySpecReduce_1  44 happyReduction_198+happyReduction_198 (HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn37+		 (LocTy (TySynonym (unLoc happy_var_1) `at` happy_var_1)+	)+happyReduction_198 _  = notHappyAtAll ++happyReduce_199 = happySpecReduce_3  44 happyReduction_199+happyReduction_199 _+	(HappyAbsSyn37  happy_var_2)+	_+	 =  HappyAbsSyn37+		 (happy_var_2+	)+happyReduction_199 _ _ _  = notHappyAtAll ++happyReduce_200 = happySpecReduce_1  45 happyReduction_200+happyReduction_200 (HappyTerminal (Located happy_var_1 (TokReserved "IBool")))+	 =  HappyAbsSyn37+		 (LocTy (TyBool `at` getLoc happy_var_1)+	)+happyReduction_200 _  = notHappyAtAll ++happyReduce_201 = happySpecReduce_1  45 happyReduction_201+happyReduction_201 (HappyTerminal (Located happy_var_1 (TokReserved "IChar")))+	 =  HappyAbsSyn37+		 (LocTy (TyChar `at` getLoc happy_var_1)+	)+happyReduction_201 _  = notHappyAtAll ++happyReduce_202 = happySpecReduce_1  45 happyReduction_202+happyReduction_202 (HappyTerminal (Located happy_var_1 (TokReserved "IFloat")))+	 =  HappyAbsSyn37+		 (LocTy (TyFloat `at` getLoc happy_var_1)+	)+happyReduction_202 _  = notHappyAtAll ++happyReduce_203 = happySpecReduce_1  45 happyReduction_203+happyReduction_203 (HappyTerminal (Located happy_var_1 (TokReserved "IDouble")))+	 =  HappyAbsSyn37+		 (LocTy (TyDouble `at` getLoc happy_var_1)+	)+happyReduction_203 _  = notHappyAtAll ++happyReduce_204 = happySpecReduce_1  45 happyReduction_204+happyReduction_204 (HappyTerminal (Located happy_var_1 (TokReserved "IString")))+	 =  HappyAbsSyn37+		 (LocTy (TyString `at` getLoc happy_var_1)+	)+happyReduction_204 _  = notHappyAtAll ++happyReduce_205 = happySpecReduce_2  45 happyReduction_205+happyReduction_205 _+	(HappyTerminal (Located happy_var_1 (TokBrack "(")))+	 =  HappyAbsSyn37+		 (LocTy (TyVoid `at` getLoc happy_var_1)+	)+happyReduction_205 _ _  = notHappyAtAll ++happyReduce_206 = happySpecReduce_1  45 happyReduction_206+happyReduction_206 (HappyTerminal (Located happy_var_1 (TokReserved "Sint8")))+	 =  HappyAbsSyn37+		 (LocTy ((TyInt Int8) `at` getLoc happy_var_1)+	)+happyReduction_206 _  = notHappyAtAll ++happyReduce_207 = happySpecReduce_1  45 happyReduction_207+happyReduction_207 (HappyTerminal (Located happy_var_1 (TokReserved "Sint16")))+	 =  HappyAbsSyn37+		 (LocTy ((TyInt Int16) `at` getLoc happy_var_1)+	)+happyReduction_207 _  = notHappyAtAll ++happyReduce_208 = happySpecReduce_1  45 happyReduction_208+happyReduction_208 (HappyTerminal (Located happy_var_1 (TokReserved "Sint32")))+	 =  HappyAbsSyn37+		 (LocTy ((TyInt Int32)`at` getLoc happy_var_1)+	)+happyReduction_208 _  = notHappyAtAll ++happyReduce_209 = happySpecReduce_1  45 happyReduction_209+happyReduction_209 (HappyTerminal (Located happy_var_1 (TokReserved "Sint64")))+	 =  HappyAbsSyn37+		 (LocTy ((TyInt Int64) `at` getLoc happy_var_1)+	)+happyReduction_209 _  = notHappyAtAll ++happyReduce_210 = happySpecReduce_1  45 happyReduction_210+happyReduction_210 (HappyTerminal (Located happy_var_1 (TokReserved "Uint8")))+	 =  HappyAbsSyn37+		 (LocTy ((TyWord Word8) `at` getLoc happy_var_1)+	)+happyReduction_210 _  = notHappyAtAll ++happyReduce_211 = happySpecReduce_1  45 happyReduction_211+happyReduction_211 (HappyTerminal (Located happy_var_1 (TokReserved "Uint16")))+	 =  HappyAbsSyn37+		 (LocTy ((TyWord Word16) `at` getLoc happy_var_1)+	)+happyReduction_211 _  = notHappyAtAll ++happyReduce_212 = happySpecReduce_1  45 happyReduction_212+happyReduction_212 (HappyTerminal (Located happy_var_1 (TokReserved "Uint32")))+	 =  HappyAbsSyn37+		 (LocTy ((TyWord Word32) `at` getLoc happy_var_1)+	)+happyReduction_212 _  = notHappyAtAll ++happyReduce_213 = happySpecReduce_1  45 happyReduction_213+happyReduction_213 (HappyTerminal (Located happy_var_1 (TokReserved "Uint64")))+	 =  HappyAbsSyn37+		 (LocTy ((TyWord Word64) `at` getLoc happy_var_1)+	)+happyReduction_213 _  = notHappyAtAll ++happyReduce_214 = happySpecReduce_2  45 happyReduction_214+happyReduction_214 (HappyTerminal (happy_var_2@Located { locValue = TokInteger _ }))+	(HappyTerminal (Located happy_var_1 (TokReserved "Ix")))+	 =  HappyAbsSyn37+		 (let TokInteger i = unLoc happy_var_2 in+                              LocTy (atBin (TyIx i) happy_var_1 happy_var_2)+	)+happyReduction_214 _ _  = notHappyAtAll ++happyReduce_215 = happySpecReduce_3  46 happyReduction_215+happyReduction_215 (HappyAbsSyn37  happy_var_3)+	(HappyAbsSyn43  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "Ref")))+	 =  HappyAbsSyn37+		 (LocTy (atList (TyRef (unLoc happy_var_2) happy_var_3) [ getLoc happy_var_1+                                                                  , getLoc happy_var_2+                                                                  , getLoc happy_var_3 ])+	)+happyReduction_215 _ _ _  = notHappyAtAll ++happyReduce_216 = happySpecReduce_3  46 happyReduction_216+happyReduction_216 (HappyAbsSyn37  happy_var_3)+	(HappyAbsSyn43  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "ConstRef")))+	 =  HappyAbsSyn37+		 (LocTy (atList (TyConstRef (unLoc happy_var_2) happy_var_3) [ getLoc happy_var_1+                                                                       , getLoc happy_var_2+                                                                       , getLoc happy_var_3 ])+	)+happyReduction_216 _ _ _  = notHappyAtAll ++happyReduce_217 = happySpecReduce_3  46 happyReduction_217+happyReduction_217 (HappyAbsSyn37  happy_var_3)+	(HappyAbsSyn41  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "Array")))+	 =  HappyAbsSyn37+		 (LocTy (atList (TyArray happy_var_3 (unLoc happy_var_2))+                                [ getLoc happy_var_1, getLoc happy_var_2, getLoc happy_var_3])+	)+happyReduction_217 _ _ _  = notHappyAtAll ++happyReduce_218 = happySpecReduce_2  46 happyReduction_218+happyReduction_218 (HappyAbsSyn50  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "Struct")))+	 =  HappyAbsSyn37+		 (LocTy (atBin (TyStruct (unLoc happy_var_2)) happy_var_1 happy_var_2)+	)+happyReduction_218 _ _  = notHappyAtAll ++happyReduce_219 = happySpecReduce_2  46 happyReduction_219+happyReduction_219 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "Stored")))+	 =  HappyAbsSyn37+		 (LocTy (atBin (TyStored happy_var_2) happy_var_1 happy_var_2)+	)+happyReduction_219 _ _  = notHappyAtAll ++happyReduce_220 = happySpecReduce_2  47 happyReduction_220+happyReduction_220 (HappyAbsSyn50  happy_var_2)+	(HappyTerminal (Located happy_var_1 (TokReserved "Stack")))+	 =  HappyAbsSyn43+		 (atBin (Stack (Just (unLoc happy_var_2))) happy_var_1 happy_var_2+	)+happyReduction_220 _ _  = notHappyAtAll ++happyReduce_221 = happySpecReduce_1  47 happyReduction_221+happyReduction_221 (HappyTerminal (Located happy_var_1 (TokReserved "Global")))+	 =  HappyAbsSyn43+		 (Global `at` happy_var_1+	)+happyReduction_221 _  = notHappyAtAll ++happyReduce_222 = happySpecReduce_1  48 happyReduction_222+happyReduction_222 (HappyTerminal (Located happy_var_1 (TokReserved "Bit")))+	 =  HappyAbsSyn48+		 (LocBitTy (Bit `at` happy_var_1)+	)+happyReduction_222 _  = notHappyAtAll ++happyReduce_223 = happySpecReduce_2  48 happyReduction_223+happyReduction_223 (HappyTerminal (happy_var_2@Located { locValue = TokInteger _ }))+	(HappyTerminal (Located happy_var_1 (TokReserved "Bits")))+	 =  HappyAbsSyn48+		 (let TokInteger i = unLoc happy_var_2 in+                                 LocBitTy (atBin (Bits i) happy_var_1 happy_var_2)+	)+happyReduction_223 _ _  = notHappyAtAll ++happyReduce_224 = happySpecReduce_3  48 happyReduction_224+happyReduction_224 (HappyAbsSyn48  happy_var_3)+	(HappyTerminal (happy_var_2@Located { locValue = TokInteger _ }))+	(HappyTerminal (Located happy_var_1 (TokReserved "BitArray")))+	 =  HappyAbsSyn48+		 (let TokInteger i = unLoc happy_var_2 in+                                 LocBitTy (atList (BitArray i happy_var_3) [ getLoc happy_var_1+                                                                  , getLoc happy_var_2+                                                                  , getLoc happy_var_3 ])+	)+happyReduction_224 _ _ _  = notHappyAtAll ++happyReduce_225 = happySpecReduce_3  48 happyReduction_225+happyReduction_225 _+	(HappyAbsSyn48  happy_var_2)+	_+	 =  HappyAbsSyn48+		 (happy_var_2+	)+happyReduction_225 _ _ _  = notHappyAtAll ++happyReduce_226 = happySpecReduce_1  48 happyReduction_226+happyReduction_226 (HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn48+		 (LocBitTy (BitTySynonym `fmap` happy_var_1)+	)+happyReduction_226 _  = notHappyAtAll ++happyReduce_227 = happyReduce 5 49 happyReduction_227+happyReduction_227 (_ `HappyStk`+	(HappyAbsSyn52  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_2) `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn49+		 (StructDef (unLoc happy_var_2) (reverse happy_var_4) (getLoc happy_var_2)+	) `HappyStk` happyRest++happyReduce_228 = happyReduce 4 49 happyReduction_228+happyReduction_228 ((HappyTerminal (happy_var_4@Located { locValue = TokString _  })) `HappyStk`+	(HappyAbsSyn50  happy_var_3) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn49+		 (let TokString f = unLoc happy_var_4 in+                                       AbstractDef (unLoc happy_var_3) (filter (/= '"') f) (getLoc happy_var_3)+	) `HappyStk` happyRest++happyReduce_229 = happyReduce 4 49 happyReduction_229+happyReduction_229 ((HappyTerminal (happy_var_4@Located { locValue = TokInteger _ })) `HappyStk`+	(HappyAbsSyn50  happy_var_3) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn49+		 (let TokInteger i = unLoc happy_var_4 in+                                       StringDef (unLoc happy_var_3) i (getLoc happy_var_3)+	) `HappyStk` happyRest++happyReduce_230 = happySpecReduce_1  50 happyReduction_230+happyReduction_230 (HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn50+		 (happy_var_1+	)+happyReduction_230 _  = notHappyAtAll ++happyReduce_231 = happySpecReduce_1  50 happyReduction_231+happyReduction_231 (HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn50+		 (happy_var_1+	)+happyReduction_231 _  = notHappyAtAll ++happyReduce_232 = happySpecReduce_3  51 happyReduction_232+happyReduction_232 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn51+		 (Field (unLoc happy_var_1) happy_var_3 (getLoc happy_var_1 <> getLoc happy_var_3)+	)+happyReduction_232 _ _ _  = notHappyAtAll ++happyReduce_233 = happySpecReduce_2  51 happyReduction_233+happyReduction_233 (HappyAbsSyn50  happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn51+		 (Field (unLoc happy_var_2) happy_var_1 (getLoc happy_var_1 <> getLoc happy_var_2)+	)+happyReduction_233 _ _  = notHappyAtAll ++happyReduce_234 = happySpecReduce_3  52 happyReduction_234+happyReduction_234 (HappyAbsSyn51  happy_var_3)+	_+	(HappyAbsSyn52  happy_var_1)+	 =  HappyAbsSyn52+		 (happy_var_3 : happy_var_1+	)+happyReduction_234 _ _ _  = notHappyAtAll ++happyReduce_235 = happySpecReduce_2  52 happyReduction_235+happyReduction_235 _+	(HappyAbsSyn52  happy_var_1)+	 =  HappyAbsSyn52+		 (happy_var_1+	)+happyReduction_235 _ _  = notHappyAtAll ++happyReduce_236 = happySpecReduce_1  52 happyReduction_236+happyReduction_236 (HappyAbsSyn51  happy_var_1)+	 =  HappyAbsSyn52+		 ([happy_var_1]+	)+happyReduction_236 _  = notHappyAtAll ++happyReduce_237 = happyReduce 6 53 happyReduction_237+happyReduction_237 ((HappyAbsSyn54  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn48  happy_var_4) `HappyStk`+	(HappyTerminal (Located happy_var_3 (TokSym "::"))) `HappyStk`+	(HappyAbsSyn50  happy_var_2) `HappyStk`+	(HappyTerminal (Located happy_var_1 (TokReserved "bitdata"))) `HappyStk`+	happyRest)+	 = HappyAbsSyn53+		 (BitDataDef (unLoc happy_var_2) happy_var_4 (reverse happy_var_6)+                            (mconcat [ getLoc happy_var_1, getLoc happy_var_2, getLoc happy_var_3, getLoc happy_var_6 ])+	) `HappyStk` happyRest++happyReduce_238 = happySpecReduce_3  54 happyReduction_238+happyReduction_238 (HappyAbsSyn55  happy_var_3)+	_+	(HappyAbsSyn54  happy_var_1)+	 =  HappyAbsSyn54+		 (happy_var_3 : happy_var_1+	)+happyReduction_238 _ _ _  = notHappyAtAll ++happyReduce_239 = happySpecReduce_1  54 happyReduction_239+happyReduction_239 (HappyAbsSyn55  happy_var_1)+	 =  HappyAbsSyn54+		 ([happy_var_1]+	)+happyReduction_239 _  = notHappyAtAll ++happyReduce_240 = happySpecReduce_3  55 happyReduction_240+happyReduction_240 (HappyAbsSyn59  happy_var_3)+	(HappyAbsSyn56  happy_var_2)+	(HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn55+		 (Constr (unLoc happy_var_1) happy_var_2 happy_var_3+                                       (mconcat [ getLoc happy_var_1, getLoc happy_var_2 ])+	)+happyReduction_240 _ _ _  = notHappyAtAll ++happyReduce_241 = happySpecReduce_3  56 happyReduction_241+happyReduction_241 _+	(HappyAbsSyn56  happy_var_2)+	_+	 =  HappyAbsSyn56+		 (reverse happy_var_2+	)+happyReduction_241 _ _ _  = notHappyAtAll ++happyReduce_242 = happySpecReduce_0  56 happyReduction_242+happyReduction_242  =  HappyAbsSyn56+		 ([]+	)++happyReduce_243 = happySpecReduce_3  57 happyReduction_243+happyReduction_243 (HappyAbsSyn58  happy_var_3)+	_+	(HappyAbsSyn56  happy_var_1)+	 =  HappyAbsSyn56+		 (happy_var_3 : happy_var_1+	)+happyReduction_243 _ _ _  = notHappyAtAll ++happyReduce_244 = happySpecReduce_1  57 happyReduction_244+happyReduction_244 (HappyAbsSyn58  happy_var_1)+	 =  HappyAbsSyn56+		 ([happy_var_1]+	)+happyReduction_244 _  = notHappyAtAll ++happyReduce_245 = happySpecReduce_3  58 happyReduction_245+happyReduction_245 (HappyAbsSyn48  happy_var_3)+	_+	(HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn58+		 (BitField (Just (unLoc happy_var_1)) happy_var_3 (getLoc happy_var_1 <> getLoc happy_var_3)+	)+happyReduction_245 _ _ _  = notHappyAtAll ++happyReduce_246 = happySpecReduce_3  58 happyReduction_246+happyReduction_246 (HappyAbsSyn48  happy_var_3)+	_+	(HappyTerminal (Located happy_var_1 (TokSym "_")))+	 =  HappyAbsSyn58+		 (BitField Nothing   happy_var_3 (happy_var_1 <> getLoc happy_var_3)+	)+happyReduction_246 _ _ _  = notHappyAtAll ++happyReduce_247 = happySpecReduce_2  59 happyReduction_247+happyReduction_247 (HappyAbsSyn59  happy_var_2)+	_+	 =  HappyAbsSyn59+		 (reverse happy_var_2+	)+happyReduction_247 _ _  = notHappyAtAll ++happyReduce_248 = happySpecReduce_0  59 happyReduction_248+happyReduction_248  =  HappyAbsSyn59+		 ([]+	)++happyReduce_249 = happySpecReduce_3  60 happyReduction_249+happyReduction_249 (HappyAbsSyn61  happy_var_3)+	_+	(HappyAbsSyn59  happy_var_1)+	 =  HappyAbsSyn59+		 (happy_var_3 : happy_var_1+	)+happyReduction_249 _ _ _  = notHappyAtAll ++happyReduce_250 = happySpecReduce_1  60 happyReduction_250+happyReduction_250 (HappyAbsSyn61  happy_var_1)+	 =  HappyAbsSyn59+		 ([happy_var_1]+	)+happyReduction_250 _  = notHappyAtAll ++happyReduce_251 = happySpecReduce_1  61 happyReduction_251+happyReduction_251 (HappyAbsSyn50  happy_var_1)+	 =  HappyAbsSyn61+		 (LayoutField (unLoc happy_var_1)+	)+happyReduction_251 _  = notHappyAtAll ++happyReduce_252 = happySpecReduce_1  61 happyReduction_252+happyReduction_252 (HappyTerminal (happy_var_1@Located { locValue = TokInteger _ }))+	 =  HappyAbsSyn61+		 (let TokInteger i = unLoc happy_var_1 in+                 LayoutConst (BitLitUnknown i)+	)+happyReduction_252 _  = notHappyAtAll ++happyReduce_253 = happySpecReduce_1  61 happyReduction_253+happyReduction_253 (HappyAbsSyn62  happy_var_1)+	 =  HappyAbsSyn61+		 (LayoutConst happy_var_1+	)+happyReduction_253 _  = notHappyAtAll ++happyReduce_254 = happySpecReduce_1  62 happyReduction_254+happyReduction_254 (HappyTerminal (happy_var_1@Located { locValue = TokBitLit _  }))+	 =  HappyAbsSyn62+		 (let TokBitLit bl = unLoc happy_var_1 in+                      BitLitKnown (fst bl) (snd bl)+	)+happyReduction_254 _  = notHappyAtAll ++happyReduce_255 = happySpecReduce_1  63 happyReduction_255+happyReduction_255 (HappyTerminal (happy_var_1@Located { locValue = TokIdent _   }))+	 =  HappyAbsSyn50+		 (let TokIdent i = unLoc happy_var_1 in+                                  i `at` happy_var_1+	)+happyReduction_255 _  = notHappyAtAll ++happyReduce_256 = happySpecReduce_3  63 happyReduction_256+happyReduction_256 (HappyTerminal (happy_var_3@Located { locValue = TokIdent _   }))+	_+	(HappyTerminal (happy_var_1@Located { locValue = TokTyIdent _ }))+	 =  HappyAbsSyn50+		 (let TokTyIdent t = unLoc happy_var_1 in+                                  let TokIdent i   = unLoc happy_var_3 in+                                  atBin (t ++ '.':i) happy_var_1 happy_var_3+	)+happyReduction_256 _ _ _  = notHappyAtAll ++happyReduce_257 = happySpecReduce_1  64 happyReduction_257+happyReduction_257 (HappyTerminal (happy_var_1@Located { locValue = TokTyIdent _ }))+	 =  HappyAbsSyn50+		 (let TokTyIdent t = unLoc happy_var_1 in+                                    t `at` happy_var_1+	)+happyReduction_257 _  = notHappyAtAll ++happyReduce_258 = happySpecReduce_3  64 happyReduction_258+happyReduction_258 (HappyTerminal (happy_var_3@Located { locValue = TokTyIdent _ }))+	_+	(HappyTerminal (happy_var_1@Located { locValue = TokTyIdent _ }))+	 =  HappyAbsSyn50+		 (let TokTyIdent t0 = unLoc happy_var_1 in+                                    let TokTyIdent t1 = unLoc happy_var_3 in+                                    atBin (t0 ++ '.':t1) happy_var_1 happy_var_3+	)+happyReduction_258 _ _ _  = notHappyAtAll ++happyNewToken action sts stk+	= lexer(\tk -> +	let cont i = action i i tk (HappyState action) sts stk in+	case tk of {+	Located mempty TokEOF -> action 216 216 tk (HappyState action) sts stk;+	happy_dollar_dollar@Located { locValue = TokInteger _ } -> cont 65;+	happy_dollar_dollar@Located { locValue = TokFloat   _ } -> cont 66;+	happy_dollar_dollar@Located { locValue = TokBitLit _  } -> cont 67;+	happy_dollar_dollar@Located { locValue = TokIdent _   } -> cont 68;+	happy_dollar_dollar@Located { locValue = TokTyIdent _ } -> cont 69;+	happy_dollar_dollar@Located { locValue = TokString _  } -> cont 70;+	Located happy_dollar_dollar (TokReserved "if") -> cont 71;+	Located happy_dollar_dollar (TokReserved "else") -> cont 72;+	Located happy_dollar_dollar (TokReserved "assert") -> cont 73;+	Located happy_dollar_dollar (TokReserved "assume") -> cont 74;+	Located happy_dollar_dollar (TokReserved "pre") -> cont 75;+	Located happy_dollar_dollar (TokReserved "post") -> cont 76;+	Located happy_dollar_dollar (TokReserved "let") -> cont 77;+	Located happy_dollar_dollar (TokReserved "return") -> cont 78;+	Located happy_dollar_dollar (TokReserved "alloc") -> cont 79;+	Located happy_dollar_dollar (TokReserved "store") -> cont 80;+	Located happy_dollar_dollar (TokReserved "memcpy") -> cont 81;+	Located happy_dollar_dollar (TokReserved "map") -> cont 82;+	Located happy_dollar_dollar (TokReserved "upTo") -> cont 83;+	Located happy_dollar_dollar (TokReserved "upFromTo") -> cont 84;+	Located happy_dollar_dollar (TokReserved "downFrom") -> cont 85;+	Located happy_dollar_dollar (TokReserved "downFromTo") -> cont 86;+	Located happy_dollar_dollar (TokReserved "forever") -> cont 87;+	Located happy_dollar_dollar (TokReserved "break") -> cont 88;+	Located happy_dollar_dollar (TokSym "$") -> cont 89;+	Located happy_dollar_dollar (TokReserved "abs") -> cont 90;+	Located happy_dollar_dollar (TokReserved "signum") -> cont 91;+	Located happy_dollar_dollar (TokReserved "exp") -> cont 92;+	Located happy_dollar_dollar (TokReserved "sqrt") -> cont 93;+	Located happy_dollar_dollar (TokReserved "log") -> cont 94;+	Located happy_dollar_dollar (TokReserved "pow") -> cont 95;+	Located happy_dollar_dollar (TokReserved "div") -> cont 96;+	Located happy_dollar_dollar (TokReserved "sin") -> cont 97;+	Located happy_dollar_dollar (TokReserved "cos") -> cont 98;+	Located happy_dollar_dollar (TokReserved "tan") -> cont 99;+	Located happy_dollar_dollar (TokReserved "asin") -> cont 100;+	Located happy_dollar_dollar (TokReserved "acos") -> cont 101;+	Located happy_dollar_dollar (TokReserved "atan") -> cont 102;+	Located happy_dollar_dollar (TokReserved "atan2") -> cont 103;+	Located happy_dollar_dollar (TokReserved "sinh") -> cont 104;+	Located happy_dollar_dollar (TokReserved "cosh") -> cont 105;+	Located happy_dollar_dollar (TokReserved "tanh") -> cont 106;+	Located happy_dollar_dollar (TokReserved "asinh") -> cont 107;+	Located happy_dollar_dollar (TokReserved "acosh") -> cont 108;+	Located happy_dollar_dollar (TokReserved "atanh") -> cont 109;+	Located happy_dollar_dollar (TokReserved "isnan") -> cont 110;+	Located happy_dollar_dollar (TokReserved "isinf") -> cont 111;+	Located happy_dollar_dollar (TokReserved "round") -> cont 112;+	Located happy_dollar_dollar (TokReserved "ceil") -> cont 113;+	Located happy_dollar_dollar (TokReserved "floor") -> cont 114;+	Located happy_dollar_dollar (TokReserved "const") -> cont 115;+	Located happy_dollar_dollar (TokReserved "safeCast") -> cont 116;+	Located happy_dollar_dollar (TokReserved "bitCast") -> cont 117;+	Located happy_dollar_dollar (TokReserved "castWith") -> cont 118;+	Located happy_dollar_dollar (TokReserved "twosCompCast") -> cont 119;+	Located happy_dollar_dollar (TokReserved "twosCompRep") -> cont 120;+	Located happy_dollar_dollar (TokReserved "fromIx") -> cont 121;+	Located happy_dollar_dollar (TokReserved "ixSize") -> cont 122;+	Located happy_dollar_dollar (TokReserved "toIx") -> cont 123;+	Located happy_dollar_dollar (TokReserved "toCArray") -> cont 124;+	Located happy_dollar_dollar (TokReserved "arrayLen") -> cont 125;+	Located happy_dollar_dollar (TokReserved "sizeOf") -> cont 126;+	Located happy_dollar_dollar (TokReserved "nullPtr") -> cont 127;+	Located happy_dollar_dollar (TokReserved "refToPtr") -> cont 128;+	Located happy_dollar_dollar (TokSym "::") -> cont 129;+	Located happy_dollar_dollar (TokSym "?") -> cont 130;+	Located happy_dollar_dollar (TokSym ":") -> cont 131;+	Located happy_dollar_dollar (TokSym ".") -> cont 132;+	Located happy_dollar_dollar (TokSym "->") -> cont 133;+	Located happy_dollar_dollar (TokSym "==") -> cont 134;+	Located happy_dollar_dollar (TokSym "!=") -> cont 135;+	Located happy_dollar_dollar (TokSym "*") -> cont 136;+	Located happy_dollar_dollar (TokSym "/") -> cont 137;+	Located happy_dollar_dollar (TokSym "+") -> cont 138;+	Located happy_dollar_dollar (TokSym "-") -> cont 139;+	Located happy_dollar_dollar (TokSym "%") -> cont 140;+	Located happy_dollar_dollar (TokSym "=") -> cont 141;+	Located happy_dollar_dollar (TokSym "<") -> cont 142;+	Located happy_dollar_dollar (TokSym "<=") -> cont 143;+	Located happy_dollar_dollar (TokSym ">=") -> cont 144;+	Located happy_dollar_dollar (TokSym ">") -> cont 145;+	Located happy_dollar_dollar (TokSym "|") -> cont 146;+	Located happy_dollar_dollar (TokSym "&") -> cont 147;+	Located happy_dollar_dollar (TokSym "^") -> cont 148;+	Located happy_dollar_dollar (TokSym "~") -> cont 149;+	Located happy_dollar_dollar (TokSym "!") -> cont 150;+	Located happy_dollar_dollar (TokSym "&&") -> cont 151;+	Located happy_dollar_dollar (TokSym "||") -> cont 152;+	Located happy_dollar_dollar (TokSym "<<") -> cont 153;+	Located happy_dollar_dollar (TokSym ">>") -> cont 154;+	Located happy_dollar_dollar (TokBrack "(") -> cont 155;+	Located happy_dollar_dollar (TokBrack ")") -> cont 156;+	Located happy_dollar_dollar (TokBrack "{") -> cont 157;+	Located happy_dollar_dollar (TokBrack "}") -> cont 158;+	Located happy_dollar_dollar (TokBrack "[") -> cont 159;+	Located happy_dollar_dollar (TokBrack "]") -> cont 160;+	Located happy_dollar_dollar (TokSep ";") -> cont 161;+	Located happy_dollar_dollar (TokSep ",") -> cont 162;+	Located happy_dollar_dollar (TokSym "@") -> cont 163;+	Located happy_dollar_dollar (TokSym "<-") -> cont 164;+	Located happy_dollar_dollar (TokReserved "bool") -> cont 165;+	Located happy_dollar_dollar (TokReserved "char") -> cont 166;+	Located happy_dollar_dollar (TokReserved "float") -> cont 167;+	Located happy_dollar_dollar (TokReserved "double") -> cont 168;+	Located happy_dollar_dollar (TokReserved "void") -> cont 169;+	Located happy_dollar_dollar (TokReserved "int8_t") -> cont 170;+	Located happy_dollar_dollar (TokReserved "int16_t") -> cont 171;+	Located happy_dollar_dollar (TokReserved "int32_t") -> cont 172;+	Located happy_dollar_dollar (TokReserved "int64_t") -> cont 173;+	Located happy_dollar_dollar (TokReserved "uint8_t") -> cont 174;+	Located happy_dollar_dollar (TokReserved "uint16_t") -> cont 175;+	Located happy_dollar_dollar (TokReserved "uint32_t") -> cont 176;+	Located happy_dollar_dollar (TokReserved "uint64_t") -> cont 177;+	Located happy_dollar_dollar (TokReserved "S") -> cont 178;+	Located happy_dollar_dollar (TokReserved "G") -> cont 179;+	Located happy_dollar_dollar (TokReserved "IBool") -> cont 180;+	Located happy_dollar_dollar (TokReserved "IChar") -> cont 181;+	Located happy_dollar_dollar (TokReserved "IFloat") -> cont 182;+	Located happy_dollar_dollar (TokReserved "IDouble") -> cont 183;+	Located happy_dollar_dollar (TokReserved "IString") -> cont 184;+	Located happy_dollar_dollar (TokReserved "Sint8") -> cont 185;+	Located happy_dollar_dollar (TokReserved "Sint16") -> cont 186;+	Located happy_dollar_dollar (TokReserved "Sint32") -> cont 187;+	Located happy_dollar_dollar (TokReserved "Sint64") -> cont 188;+	Located happy_dollar_dollar (TokReserved "Uint8") -> cont 189;+	Located happy_dollar_dollar (TokReserved "Uint16") -> cont 190;+	Located happy_dollar_dollar (TokReserved "Uint32") -> cont 191;+	Located happy_dollar_dollar (TokReserved "Uint64") -> cont 192;+	Located happy_dollar_dollar (TokReserved "Ix") -> cont 193;+	Located happy_dollar_dollar (TokReserved "ix_t") -> cont 194;+	Located happy_dollar_dollar (TokReserved "Ref") -> cont 195;+	Located happy_dollar_dollar (TokReserved "ConstRef") -> cont 196;+	Located happy_dollar_dollar (TokReserved "Array") -> cont 197;+	Located happy_dollar_dollar (TokReserved "Struct") -> cont 198;+	Located happy_dollar_dollar (TokReserved "Stored") -> cont 199;+	Located happy_dollar_dollar (TokReserved "Stack") -> cont 200;+	Located happy_dollar_dollar (TokReserved "Global") -> cont 201;+	Located happy_dollar_dollar (TokReserved "struct") -> cont 202;+	Located happy_dollar_dollar (TokReserved "abstract") -> cont 203;+	Located happy_dollar_dollar (TokReserved "string") -> cont 204;+	Located happy_dollar_dollar (TokReserved "type") -> cont 205;+	Located happy_dollar_dollar (TokReserved "include") -> cont 206;+	Located happy_dollar_dollar (TokReserved "import") -> cont 207;+	Located happy_dollar_dollar (TokReserved "extern") -> cont 208;+	Located happy_dollar_dollar (TokReserved "bitdata") -> cont 209;+	Located happy_dollar_dollar (TokReserved "Bit") -> cont 210;+	Located happy_dollar_dollar (TokReserved "Bits") -> cont 211;+	Located happy_dollar_dollar (TokReserved "BitArray") -> cont 212;+	Located happy_dollar_dollar (TokReserved "as") -> cont 213;+	Located happy_dollar_dollar (TokSym "_") -> cont 214;+	Located happy_dollar_dollar (TokSym "#") -> cont 215;+	_ -> happyError' tk+	})++happyError_ 216 tk = happyError' tk+happyError_ _ tk = happyError' tk++happyThen :: () => Parser a -> (a -> Parser b) -> Parser b+happyThen = ((>>=))+happyReturn :: () => a -> Parser a+happyReturn = (return)+happyThen1 = happyThen+happyReturn1 :: () => a -> Parser a+happyReturn1 = happyReturn+happyError' :: () => (Lexeme) -> Parser a+happyError' tk = parseError tk++topParser = happySomeParser where+  happySomeParser = happyThen (happyParse action_0) (\x -> case x of {HappyAbsSyn5 z -> happyReturn z; _other -> notHappyAtAll })++stmtsParser = happySomeParser where+  happySomeParser = happyThen (happyParse action_1) (\x -> case x of {HappyAbsSyn28 z -> happyReturn z; _other -> notHappyAtAll })++happySeq = happyDontSeq+++mkNegate :: Exp -> Exp+mkNegate e = go e+  where+  go (ExpLit l) = case l of+    LitInteger i -> ExpLit (LitInteger (-i))+    LitFloat   f -> ExpLit (LitFloat   (-f))+    _            -> ExpOp NegateOp [e]+  go (LocExp x) = go (locValue x)+  go _          = ExpOp NegateOp [e]+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 16 "<built-in>" #-}+{-# LINE 1 "/usr/local/lib/ghc-8.0.1/include/ghcversion.h" #-}+++++++++++++++++++{-# LINE 17 "<built-in>" #-}+{-# LINE 1 "/var/folders/kq/799krw0j05q5g3l25dv1hjwh0000gp/T/ghc82950_0/ghc_2.h" #-}++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++{-# LINE 18 "<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/Ivory/Language/Syntax/Type.hs view
@@ -21,6 +21,7 @@   | TyRef Type         -- ^ References   | TyConstRef Type    -- ^ Constant References   | TyPtr Type         -- ^ Pointers+  | TyConstPtr Type    -- ^ Constant Pointers   | TyArr Int Type     -- ^ Arrays   | TyStruct String    -- ^ Structures   | TyCArray Type      -- ^ C Arrays