diff --git a/ivory.cabal b/ivory.cabal
--- a/ivory.cabal
+++ b/ivory.cabal
@@ -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,
diff --git a/src/Ivory/Language/Pointer.hs b/src/Ivory/Language/Pointer.hs
new file mode 100644
--- /dev/null
+++ b/src/Ivory/Language/Pointer.hs
@@ -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))
diff --git a/src/Ivory/Language/Ptr.hs b/src/Ivory/Language/Ptr.hs
--- a/src/Ivory/Language/Ptr.hs
+++ b/src/Ivory/Language/Ptr.hs
@@ -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
diff --git a/src/Ivory/Language/Ref.hs b/src/Ivory/Language/Ref.hs
--- a/src/Ivory/Language/Ref.hs
+++ b/src/Ivory/Language/Ref.hs
@@ -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)
diff --git a/src/Ivory/Language/Syntax/Concrete/Lexer.hs b/src/Ivory/Language/Syntax/Concrete/Lexer.hs
new file mode 100644
--- /dev/null
+++ b/src/Ivory/Language/Syntax/Concrete/Lexer.hs
@@ -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
+
diff --git a/src/Ivory/Language/Syntax/Concrete/Parser.hs b/src/Ivory/Language/Syntax/Concrete/Parser.hs
new file mode 100644
--- /dev/null
+++ b/src/Ivory/Language/Syntax/Concrete/Parser.hs
@@ -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.
+
diff --git a/src/Ivory/Language/Syntax/Type.hs b/src/Ivory/Language/Syntax/Type.hs
--- a/src/Ivory/Language/Syntax/Type.hs
+++ b/src/Ivory/Language/Syntax/Type.hs
@@ -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
