summaryrefslogtreecommitdiff
path: root/testsuite/tests/programs/galois_raytrace
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/programs/galois_raytrace')
-rw-r--r--testsuite/tests/programs/galois_raytrace/CSG.hs16
-rw-r--r--testsuite/tests/programs/galois_raytrace/Construct.hs265
-rw-r--r--testsuite/tests/programs/galois_raytrace/Data.hs408
-rw-r--r--testsuite/tests/programs/galois_raytrace/Eval.hs355
-rw-r--r--testsuite/tests/programs/galois_raytrace/Geometry.hs314
-rw-r--r--testsuite/tests/programs/galois_raytrace/Illumination.hs224
-rw-r--r--testsuite/tests/programs/galois_raytrace/Intersections.hs404
-rw-r--r--testsuite/tests/programs/galois_raytrace/Interval.hs121
-rw-r--r--testsuite/tests/programs/galois_raytrace/Main.hs17
-rw-r--r--testsuite/tests/programs/galois_raytrace/Makefile3
-rw-r--r--testsuite/tests/programs/galois_raytrace/Misc.hs11
-rw-r--r--testsuite/tests/programs/galois_raytrace/Parse.hs137
-rw-r--r--testsuite/tests/programs/galois_raytrace/Pixmap.hs64
-rw-r--r--testsuite/tests/programs/galois_raytrace/Primitives.hs24
-rw-r--r--testsuite/tests/programs/galois_raytrace/RayTrace.hs9
-rw-r--r--testsuite/tests/programs/galois_raytrace/Surface.hs115
-rw-r--r--testsuite/tests/programs/galois_raytrace/galois.gml147
-rw-r--r--testsuite/tests/programs/galois_raytrace/galois_raytrace.stdout205
-rw-r--r--testsuite/tests/programs/galois_raytrace/test.T26
19 files changed, 2865 insertions, 0 deletions
diff --git a/testsuite/tests/programs/galois_raytrace/CSG.hs b/testsuite/tests/programs/galois_raytrace/CSG.hs
new file mode 100644
index 0000000000..ba37a17b25
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/CSG.hs
@@ -0,0 +1,16 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module CSG(module Construct,
+ module Geometry,
+ module Intersections,
+ module Interval,
+ module Misc) where
+
+import Construct
+import Geometry
+import Intersections
+import Interval
+import Misc
diff --git a/testsuite/tests/programs/galois_raytrace/Construct.hs b/testsuite/tests/programs/galois_raytrace/Construct.hs
new file mode 100644
index 0000000000..90dbc60f9e
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Construct.hs
@@ -0,0 +1,265 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module Construct
+ ( Surface (..)
+ , Face (..)
+ , CSG (..)
+ , Texture
+ , Transform
+ , union, intersect, difference
+ , plane, sphere, cube, cylinder, cone
+ , transform
+ , translate, translateX, translateY, translateZ
+ , scale, scaleX, scaleY, scaleZ, uscale
+ , rotateX, rotateY, rotateZ
+ , eye, translateEye
+ , rotateEyeX, rotateEyeY, rotateEyeZ
+ ) where
+
+import Geometry
+
+-- In each case, we model the surface by a point and a pair of tangent vectors.
+-- This gives us enough information to determine the surface
+-- normal at that point, which is all that is required by the current
+-- illumination model. We can't just save the surface normal because
+-- that isn't preserved by transformations.
+
+data Surface
+ = Planar Point Vector Vector
+ | Spherical Point Vector Vector
+ | Cylindrical Point Vector Vector
+ | Conic Point Vector Vector
+ deriving Show
+
+data Face
+ = PlaneFace
+ | SphereFace
+ | CubeFront
+ | CubeBack
+ | CubeLeft
+ | CubeRight
+ | CubeTop
+ | CubeBottom
+ | CylinderSide
+ | CylinderTop
+ | CylinderBottom
+ | ConeSide
+ | ConeBase
+ deriving Show
+
+data CSG a
+ = Plane a
+ | Sphere a
+ | Cylinder a
+ | Cube a
+ | Cone a
+ | Transform Matrix Matrix (CSG a)
+ | Union (CSG a) (CSG a)
+ | Intersect (CSG a) (CSG a)
+ | Difference (CSG a) (CSG a)
+ | Box Box (CSG a)
+ deriving (Show)
+
+-- the data returned for determining surface texture
+-- the Face tells which face of a primitive this is
+-- the Point is the point of intersection in object coordinates
+-- the a is application-specific texture information
+type Texture a = (Face, Point, a)
+
+union, intersect, difference :: CSG a -> CSG a -> CSG a
+
+union p@(Box b1 _) q@(Box b2 _) = Box (mergeBox b1 b2) (Union p q)
+union p q = Union p q
+
+-- rather pessimistic
+intersect p@(Box b1 _) q@(Box b2 _) = Box (mergeBox b1 b2) (Intersect p q)
+intersect p q = Intersect p q
+
+difference (Box b1 p) q = Box b1 (Difference p q)
+-- no need to box again inside
+-- difference p@(Box b1 _) q = Box b1 (Difference p q)
+difference p q = Difference p q
+
+mkBox b p = Box b p
+
+plane, sphere, cube, cylinder, cone :: a -> CSG a
+
+plane = Plane
+sphere s =
+ mkBox (B (-1 - epsilon) (1 + epsilon)
+ (-1 - epsilon) (1 + epsilon)
+ (-1 - epsilon) (1 + epsilon)) (Sphere s)
+cone s =
+ mkBox (B (-1 - epsilon) (1 + epsilon)
+ ( - epsilon) (1 + epsilon)
+ (-1 - epsilon) (1 + epsilon)) (Cone s)
+cube s =
+ mkBox (B (- epsilon) (1 + epsilon)
+ (- epsilon) (1 + epsilon)
+ (- epsilon) (1 + epsilon)) (Cube s)
+cylinder s =
+ mkBox (B (-1 - epsilon) (1 + epsilon)
+ ( - epsilon) (1 + epsilon)
+ (-1 - epsilon) (1 + epsilon)) (Cylinder s)
+
+----------------------------
+-- Object transformations
+----------------------------
+
+type Transform = (Matrix, Matrix)
+
+transform :: Transform -> CSG a -> CSG a
+
+transform (m, m') (Transform mp mp' p) = Transform (multMM m mp) (multMM mp' m') p
+transform mm' (Union p q) = Union (transform mm' p) (transform mm' q)
+transform mm' (Intersect p q) = Intersect (transform mm' p) (transform mm' q)
+transform mm' (Difference p q) = Difference (transform mm' p) (transform mm' q)
+transform mm'@(m,_) (Box box p) = Box (transformBox m box) (transform mm' p)
+transform (m, m') prim = Transform m m' prim
+
+translate :: Coords -> CSG a -> CSG a
+translateX, translateY, translateZ :: Double -> CSG a -> CSG a
+
+translate xyz = transform $ transM xyz
+translateX x = translate (x, 0, 0)
+translateY y = translate (0, y, 0)
+translateZ z = translate (0, 0, z)
+
+scale :: Coords -> CSG a -> CSG a
+scaleX, scaleY, scaleZ, uscale :: Double -> CSG a -> CSG a
+
+scale xyz = transform $ scaleM xyz
+scaleX x = scale (x, 1, 1)
+scaleY y = scale (1, y, 1)
+scaleZ z = scale (1, 1, z)
+uscale u = scale (u,u,u)
+
+rotateX, rotateY, rotateZ :: Radian -> CSG a -> CSG a
+
+rotateX a = transform $ rotxM a
+rotateY a = transform $ rotyM a
+rotateZ a = transform $ rotzM a
+
+unit = matrix
+ ( ( 1.0, 0.0, 0.0, 0.0 ),
+ ( 0.0, 1.0, 0.0, 0.0 ),
+ ( 0.0, 0.0, 1.0, 0.0 ),
+ ( 0.0, 0.0, 0.0, 1.0 ) )
+
+transM (x, y, z)
+ = ( matrix
+ ( ( 1, 0, 0, x ),
+ ( 0, 1, 0, y ),
+ ( 0, 0, 1, z ),
+ ( 0, 0, 0, 1 ) ),
+ matrix
+ ( ( 1, 0, 0, -x ),
+ ( 0, 1, 0, -y ),
+ ( 0, 0, 1, -z ),
+ ( 0, 0, 0, 1 ) ) )
+
+scaleM (x, y, z)
+ = ( matrix
+ ( ( x', 0, 0, 0 ),
+ ( 0, y', 0, 0 ),
+ ( 0, 0, z', 0 ),
+ ( 0, 0, 0, 1 ) ),
+ matrix
+ ( ( 1/x', 0, 0, 0 ),
+ ( 0, 1/y', 0, 0 ),
+ ( 0, 0, 1/z', 0 ),
+ ( 0, 0, 0, 1 ) ) )
+ where x' = nonZero x
+ y' = nonZero y
+ z' = nonZero z
+
+rotxM t
+ = ( matrix
+ ( ( 1, 0, 0, 0 ),
+ ( 0, cos t, -sin t, 0 ),
+ ( 0, sin t, cos t, 0 ),
+ ( 0, 0, 0, 1 ) ),
+ matrix
+ ( ( 1, 0, 0, 0 ),
+ ( 0, cos t, sin t, 0 ),
+ ( 0, -sin t, cos t, 0 ),
+ ( 0, 0, 0, 1 ) ) )
+
+rotyM t
+ = ( matrix
+ ( ( cos t, 0, sin t, 0 ),
+ ( 0, 1, 0, 0 ),
+ ( -sin t, 0, cos t, 0 ),
+ ( 0, 0, 0, 1 ) ),
+ matrix
+ ( ( cos t, 0, -sin t, 0 ),
+ ( 0, 1, 0, 0 ),
+ ( sin t, 0, cos t, 0 ),
+ ( 0, 0, 0, 1 ) ) )
+
+rotzM t
+ = ( matrix
+ ( ( cos t, -sin t, 0, 0 ),
+ ( sin t, cos t, 0, 0 ),
+ ( 0, 0, 1, 0 ),
+ ( 0, 0, 0, 1 ) ),
+ matrix
+ ( ( cos t, sin t, 0, 0 ),
+ ( -sin t, cos t, 0, 0 ),
+ ( 0, 0, 1, 0 ),
+ ( 0, 0, 0, 1 ) ) )
+
+-------------------
+-- Eye transformations
+
+-- These are used to specify placement of the eye.
+-- `eye' starts out at (0, 0, -1).
+-- These are implemented as inverse transforms of the model.
+-------------------
+
+eye :: Transform
+translateEye :: Coords -> Transform -> Transform
+rotateEyeX, rotateEyeY, rotateEyeZ :: Radian -> Transform -> Transform
+
+eye = (unit, unit)
+translateEye xyz (eye1, eye2)
+ = (multMM m1 eye1, multMM eye2 m2)
+ where (m1, m2) = transM xyz
+rotateEyeX t (eye1, eye2)
+ = (multMM m1 eye1, multMM eye2 m2)
+ where (m1, m2) = rotxM t
+rotateEyeY t (eye1, eye2)
+ = (multMM m1 eye1, multMM eye2 m2)
+ where (m1, m2) = rotyM t
+rotateEyeZ t (eye1, eye2)
+ = (multMM m1 eye1, multMM eye2 m2)
+ where (m1, m2) = rotzM t
+
+-------------------
+-- Bounding boxes
+-------------------
+
+mergeBox (B x11 x12 y11 y12 z11 z12) (B x21 x22 y21 y22 z21 z22) =
+ B (x11 `min` x21) (x12 `max` x22)
+ (y11 `min` y21) (y12 `max` y22)
+ (z11 `min` z21) (z12 `max` z22)
+
+transformBox t (B x1 x2 y1 y2 z1 z2)
+ = (B (foldr1 min (map xCoord pts'))
+ (foldr1 max (map xCoord pts'))
+ (foldr1 min (map yCoord pts'))
+ (foldr1 max (map yCoord pts'))
+ (foldr1 min (map zCoord pts'))
+ (foldr1 max (map zCoord pts')))
+ where pts' = map (multMP t) pts
+ pts = [point x1 y1 z1,
+ point x1 y1 z2,
+ point x1 y2 z1,
+ point x1 y2 z2,
+ point x2 y1 z1,
+ point x2 y1 z2,
+ point x2 y2 z1,
+ point x2 y2 z2]
diff --git a/testsuite/tests/programs/galois_raytrace/Data.hs b/testsuite/tests/programs/galois_raytrace/Data.hs
new file mode 100644
index 0000000000..11e12ab79f
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Data.hs
@@ -0,0 +1,408 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module Data where
+
+import Array
+
+import CSG
+import Geometry
+import Illumination
+import Primitives
+import Surface
+
+import Debug.Trace
+
+-- Now the parsed (expresssion) language
+
+type Name = String
+
+type Code = [GMLToken]
+
+data GMLToken
+ -- All these can occur in parsed code
+ = TOp GMLOp
+ | TId Name
+ | TBind Name
+ | TBool Bool
+ | TInt Int
+ | TReal Double
+ | TString String
+ | TBody Code
+ | TArray Code
+ | TApply
+ | TIf
+ -- These can occur in optimized/transformed code
+ -- NONE (yet!)
+
+
+instance Show GMLToken where
+ showsPrec p (TOp op) = shows op
+ showsPrec p (TId id) = showString id
+ showsPrec p (TBind id) = showString ('/' : id)
+ showsPrec p (TBool bool) = shows bool
+ showsPrec p (TInt i) = shows i
+ showsPrec p (TReal d) = shows d
+ showsPrec p (TString s) = shows s
+ showsPrec p (TBody code) = shows code
+ showsPrec p (TArray code) = showString "[ "
+ . foldr (\ a b -> a . showChar ' ' . b) id (map shows code)
+ . showString "]"
+ showsPrec p (TApply) = showString "apply"
+ showsPrec p (TIf) = showString "if"
+
+ showList code = showString "{ "
+ . foldr (\ a b -> a . showChar ' ' . b) id (map shows code)
+ . showString "}"
+
+
+-- Now the value language, used inside the interpreter
+
+type Stack = [GMLValue]
+
+data GMLValue
+ = VBool !Bool
+ | VInt !Int
+ | VReal !Double
+ | VString String
+ | VClosure Env Code
+ | VArray (Array Int GMLValue) -- FIXME: Haskell array
+ -- uses the interpreter version of point
+ | VPoint { xPoint :: !Double
+ , yPoint :: !Double
+ , zPoint :: !Double
+ }
+ -- these are abstract to the interpreter
+ | VObject Object
+ | VLight Light
+ -- This is an abstract object, used by the abstract interpreter
+ | VAbsObj AbsObj
+
+
+-- There are only *3* basic abstract values,
+-- and the combinators also.
+
+data AbsObj
+ = AbsFACE
+ | AbsU
+ | AbsV
+ deriving (Show)
+
+instance Show GMLValue where
+ showsPrec p value = showString (showStkEle value)
+
+showStkEle :: GMLValue -> String
+showStkEle (VBool b) = show b ++ " :: Bool"
+showStkEle (VInt i) = show i ++ " :: Int"
+showStkEle (VReal r) = show r ++ " :: Real"
+showStkEle (VString s) = show s ++ " :: String"
+showStkEle (VClosure {}) = "<closure> :: Closure"
+showStkEle (VArray arr)
+ = "<array (" ++ show (succ (snd (bounds arr))) ++ " elements)> :: Array"
+showStkEle (VPoint x y z) = "(" ++ show x
+ ++ "," ++ show y
+ ++ "," ++ show z
+ ++ ") :: Point"
+showStkEle (VObject {}) = "<Object> :: Object"
+showStkEle (VLight {}) = "<Light> :: Object"
+showStkEle (VAbsObj vobs) = "{{ " ++ show vobs ++ "}} :: AbsObj"
+
+-- An abstract environment
+
+newtype Env = Env [(Name, GMLValue)] deriving Show
+
+emptyEnv :: Env
+emptyEnv = Env []
+
+extendEnv :: Env -> Name -> GMLValue -> Env
+extendEnv (Env e) n v = Env ((n, v):e)
+
+lookupEnv :: Env -> Name -> Maybe GMLValue
+lookupEnv (Env e) n = lookup n e
+
+-- All primitive operators
+--
+-- There is no Op_apply, Op_false, Op_true and Op_if
+-- (because they appear explcitly in the rules).
+
+data GMLOp
+ = Op_acos
+ | Op_addi
+ | Op_addf
+ | Op_asin
+ | Op_clampf
+ | Op_cone
+ | Op_cos
+ | Op_cube
+ | Op_cylinder
+ | Op_difference
+ | Op_divi
+ | Op_divf
+ | Op_eqi
+ | Op_eqf
+ | Op_floor
+ | Op_frac
+ | Op_get
+ | Op_getx
+ | Op_gety
+ | Op_getz
+ | Op_intersect
+ | Op_length
+ | Op_lessi
+ | Op_lessf
+ | Op_light
+ | Op_modi
+ | Op_muli
+ | Op_mulf
+ | Op_negi
+ | Op_negf
+ | Op_plane
+ | Op_point
+ | Op_pointlight
+ | Op_real
+ | Op_render
+ | Op_rotatex
+ | Op_rotatey
+ | Op_rotatez
+ | Op_scale
+ | Op_sin
+ | Op_sphere
+ | Op_spotlight
+ | Op_sqrt
+ | Op_subi
+ | Op_subf
+ | Op_trace -- non standard, for debugging GML programs
+ | Op_translate
+ | Op_union
+ | Op_uscale
+ deriving (Eq,Ord,Ix,Bounded)
+
+instance Show GMLOp where
+ showsPrec _ op = showString (opNameTable ! op)
+
+
+------------------------------------------------------------------------------
+
+-- And how we use the op codes (there names, there interface)
+
+-- These keywords include, "apply", "if", "true" and "false",
+-- they are not parsed as operators, but are
+-- captured by the parser as a special case.
+
+keyWords :: [String]
+keyWords = [ kwd | (kwd,_,_) <- opcodes ]
+
+-- Lookup has to look from the start (or else...)
+opTable :: [(Name,GMLToken)]
+opTable = [ (kwd,op) | (kwd,op,_) <- opcodes ]
+
+opNameTable :: Array GMLOp Name
+opNameTable = array (minBound,maxBound)
+ [ (op,name) | (name,TOp op,_) <- opcodes ]
+
+undef = error "undefined function"
+image = error "undefined function: talk to image group"
+
+-- typically, its best to have *one* opcode table,
+-- so that mis-alignments do not happen.
+
+opcodes :: [(String,GMLToken,PrimOp)]
+opcodes =
+ [ ("apply", TApply, error "incorrect use of apply")
+ , ("if", TIf, error "incorrect use of if")
+ , ("false", TBool False, error "incorrect use of false")
+ , ("true", TBool True, error "incorrect use of true")
+ ] ++ map (\ (a,b,c) -> (a,TOp b,c))
+ -- These are just invocation, any coersions need to occur between here
+ -- and before arriving at the application code (like deg -> rad).
+ [ ("acos", Op_acos, Real_Real (rad2deg . acos))
+ , ("addi", Op_addi, Int_Int_Int (+))
+ , ("addf", Op_addf, Real_Real_Real (+))
+ , ("asin", Op_asin, Real_Real (rad2deg . asin))
+ , ("clampf", Op_clampf, Real_Real clampf)
+ , ("cone", Op_cone, Surface_Obj cone)
+ , ("cos", Op_cos, Real_Real (cos . deg2rad))
+ , ("cube", Op_cube, Surface_Obj cube)
+ , ("cylinder", Op_cylinder, Surface_Obj cylinder)
+ , ("difference", Op_difference, Obj_Obj_Obj difference)
+ , ("divi", Op_divi, Int_Int_Int (ourQuot))
+ , ("divf", Op_divf, Real_Real_Real (/))
+ , ("eqi", Op_eqi, Int_Int_Bool (==))
+ , ("eqf", Op_eqf, Real_Real_Bool (==))
+ , ("floor", Op_floor, Real_Int floor)
+ , ("frac", Op_frac, Real_Real (snd . properFraction))
+ , ("get", Op_get, Arr_Int_Value ixGet)
+ , ("getx", Op_getx, Point_Real (\ x y z -> x))
+ , ("gety", Op_gety, Point_Real (\ x y z -> y))
+ , ("getz", Op_getz, Point_Real (\ x y z -> z))
+ , ("intersect", Op_intersect, Obj_Obj_Obj intersect)
+ , ("length", Op_length, Arr_Int (succ . snd . bounds))
+ , ("lessi", Op_lessi, Int_Int_Bool (<))
+ , ("lessf", Op_lessf, Real_Real_Bool (<))
+ , ("light", Op_light, Point_Color_Light light)
+ , ("modi", Op_modi, Int_Int_Int (ourRem))
+ , ("muli", Op_muli, Int_Int_Int (*))
+ , ("mulf", Op_mulf, Real_Real_Real (*))
+ , ("negi", Op_negi, Int_Int negate)
+ , ("negf", Op_negf, Real_Real negate)
+ , ("plane", Op_plane, Surface_Obj plane)
+ , ("point", Op_point, Real_Real_Real_Point VPoint)
+ , ("pointlight", Op_pointlight, Point_Color_Light pointlight)
+ , ("real", Op_real, Int_Real fromIntegral)
+ , ("render", Op_render, Render $ render eye)
+ , ("rotatex", Op_rotatex, Obj_Real_Obj (\ o d -> rotateX (deg2rad d) o))
+ , ("rotatey", Op_rotatey, Obj_Real_Obj (\ o d -> rotateY (deg2rad d) o))
+ , ("rotatez", Op_rotatez, Obj_Real_Obj (\ o d -> rotateZ (deg2rad d) o))
+ , ("scale", Op_scale, Obj_Real_Real_Real_Obj (\ o x y z -> scale (x,y,z) o))
+ , ("sin", Op_sin, Real_Real (sin . deg2rad))
+ , ("sphere", Op_sphere, Surface_Obj sphere') -- see comment at end of file
+ , ("spotlight", Op_spotlight, Point_Point_Color_Real_Real_Light mySpotlight)
+ , ("sqrt", Op_sqrt, Real_Real ourSqrt)
+ , ("subi", Op_subi, Int_Int_Int (-))
+ , ("subf", Op_subf, Real_Real_Real (-))
+ , ("trace", Op_trace, Value_String_Value mytrace)
+ , ("translate", Op_translate, Obj_Real_Real_Real_Obj (\ o x y z -> translate (x,y,z) o))
+ , ("union", Op_union, Obj_Obj_Obj union)
+ , ("uscale", Op_uscale, Obj_Real_Obj (\ o r -> uscale r o))
+ ]
+
+-- This enumerate all possible ways of calling the fixed primitives
+
+-- The datatype captures the type at the *interp* level,
+-- the type of the functional is mirrored on this (using Haskell types).
+
+data PrimOp
+
+ -- 1 argument
+ = Int_Int (Int -> Int)
+ | Real_Real (Double -> Double)
+ | Point_Real (Double -> Double -> Double -> Double)
+ | Surface_Obj (SurfaceFn Color Double -> Object)
+ | Real_Int (Double -> Int)
+ | Int_Real (Int -> Double)
+ | Arr_Int (Array Int GMLValue -> Int)
+
+ -- 2 arguments
+ | Int_Int_Int (Int -> Int -> Int)
+ | Int_Int_Bool (Int -> Int -> Bool)
+ | Real_Real_Real (Double -> Double -> Double)
+ | Real_Real_Bool (Double -> Double -> Bool)
+ | Arr_Int_Value (Array Int GMLValue -> Int -> GMLValue)
+
+ -- Many arguments, typically image mangling
+
+ | Obj_Obj_Obj (Object -> Object -> Object)
+ | Point_Color_Light (Coords -> Color -> Light)
+ | Real_Real_Real_Point (Double -> Double -> Double -> GMLValue)
+ | Obj_Real_Obj (Object -> Double -> Object)
+ | Obj_Real_Real_Real_Obj (Object -> Double -> Double -> Double -> Object)
+ | Value_String_Value (GMLValue -> String -> GMLValue)
+
+ | Point_Point_Color_Real_Real_Light
+ (Coords -> Coords -> Color -> Radian -> Radian -> Light)
+ -- And finally render
+ | Render (Color -> [Light] -> Object -> Int -> Double -> Int -> Int -> String -> IO ())
+
+data Type
+ = TyBool
+ | TyInt
+ | TyReal
+ | TyString
+ | TyCode
+ | TyArray
+ | TyPoint
+ | TyObject
+ | TyLight
+ | TyAlpha
+ | TyAbsObj
+ deriving (Eq,Ord,Ix,Bounded)
+
+typeTable =
+ [ ( TyBool, "Bool")
+ , ( TyInt, "Int")
+ , ( TyReal, "Real")
+ , ( TyString, "String")
+ , ( TyCode, "Code")
+ , ( TyArray, "Array")
+ , ( TyPoint, "Point")
+ , ( TyObject, "Object")
+ , ( TyLight, "Light")
+ , ( TyAlpha, "<anything>")
+ , ( TyAbsObj, "<abs>")
+ ]
+
+typeNames = array (minBound,maxBound) typeTable
+
+instance Show Type where
+ showsPrec _ op = showString (typeNames ! op)
+
+getPrimOpType :: PrimOp -> [Type]
+getPrimOpType (Int_Int _) = [TyInt]
+getPrimOpType (Real_Real _) = [TyReal]
+getPrimOpType (Point_Real _) = [TyPoint]
+getPrimOpType (Surface_Obj _) = [TyCode]
+getPrimOpType (Real_Int _) = [TyReal]
+getPrimOpType (Int_Real _) = [TyInt]
+getPrimOpType (Arr_Int _) = [TyArray]
+getPrimOpType (Int_Int_Int _) = [TyInt,TyInt]
+getPrimOpType (Int_Int_Bool _) = [TyInt,TyInt]
+getPrimOpType (Real_Real_Real _) = [TyReal,TyReal]
+getPrimOpType (Real_Real_Bool _) = [TyReal,TyReal]
+getPrimOpType (Arr_Int_Value _) = [TyArray,TyInt]
+getPrimOpType (Obj_Obj_Obj _) = [TyObject,TyObject]
+getPrimOpType (Point_Color_Light _) = [TyPoint,TyPoint]
+getPrimOpType (Real_Real_Real_Point _) = [TyReal,TyReal,TyReal]
+getPrimOpType (Obj_Real_Obj _) = [TyObject,TyReal]
+getPrimOpType (Obj_Real_Real_Real_Obj _) = [TyObject,TyReal,TyReal,TyReal]
+getPrimOpType (Value_String_Value _) = [TyAlpha,TyString]
+getPrimOpType (Point_Point_Color_Real_Real_Light _)
+ = [TyPoint,TyPoint,TyPoint,TyReal,TyReal]
+getPrimOpType (Render _) = [TyPoint,
+ TyLight,
+ TyObject,
+ TyInt,
+ TyReal,
+ TyReal,
+ TyReal,
+ TyString]
+
+
+-- Some primitives with better error message
+
+mytrace v s = trace (s ++" : "++ show v ++ "\n") v
+
+
+ixGet :: Array Int GMLValue -> Int -> GMLValue
+ixGet arr i
+ | inRange (bounds arr) i = arr ! i
+ | otherwise = error ("failed access with index value "
+ ++ show i
+ ++ " (should be between 0 and "
+ ++ show (snd (bounds arr)) ++ ")")
+
+ourQuot :: Int -> Int -> Int
+ourQuot _ 0 = error "attempt to use divi to divide by 0"
+ourQuot a b = a `quot` b
+
+ourRem :: Int -> Int -> Int
+ourRem _ 0 = error "attempt to use remi to divide by 0"
+ourRem a b = a `rem` b
+
+ourSqrt :: Double -> Double
+ourSqrt n | n < 0 = error "attempt to use sqrt on a negative number"
+ | otherwise = sqrt n
+
+
+mySpotlight p1 p2 col cutoff exp = spotlight p1 p2 col (deg2rad cutoff) exp
+
+-- The problem specification gets the mapping for spheres backwards
+-- (it maps the image from right to left).
+-- We've fixed that in the raytracing library so that it goes from left
+-- to right, but to keep the GML front compatible with the problem
+-- statement, we reverse it here.
+
+sphere' :: SurfaceFn Color Double -> CSG (SurfaceFn Color Double)
+sphere' (SFun f) = sphere (SFun (\i u v -> f i (1 - u) v))
+sphere' s = sphere s
diff --git a/testsuite/tests/programs/galois_raytrace/Eval.hs b/testsuite/tests/programs/galois_raytrace/Eval.hs
new file mode 100644
index 0000000000..75568f0b04
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Eval.hs
@@ -0,0 +1,355 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module Eval where
+
+import Array
+
+import Geometry
+import CSG
+import Surface
+import Data
+import Parse (rayParse, rayParseF)
+
+class Monad m => MonadEval m where
+ doOp :: PrimOp -> GMLOp -> Stack -> m Stack
+ tick :: m ()
+ err :: String -> m a
+
+ tick = return ()
+
+newtype Pure a = Pure a deriving Show
+
+instance Monad Pure where
+ Pure x >>= k = k x
+ return = Pure
+ fail s = error s
+
+instance MonadEval Pure where
+ doOp = doPureOp
+ err s = error s
+
+instance MonadEval IO where
+ doOp prim op stk = do { -- putStrLn ("Calling " ++ show op
+ -- ++ " << " ++ show stk ++ " >>")
+ doAllOp prim op stk
+ }
+ err s = error s
+
+data State
+ = State { env :: Env
+ , stack :: Stack
+ , code :: Code
+ } deriving Show
+
+callback :: Env -> Code -> Stack -> Stack
+callback env code stk
+ = case eval (State { env = env, stack = stk, code = code}) of
+ Pure stk -> stk
+
+{-# SPECIALIZE eval :: State -> Pure Stack #-}
+{-# SPECIALIZE eval :: State -> IO Stack #-}
+
+eval :: MonadEval m => State -> m Stack
+eval st =
+ do { () <- return () -- $ unsafePerformIO (print st) -- Functional debugger
+ ; if moreCode st then
+ do { tick -- tick first, so as to catch loops on new eval.
+ ; st' <- step st
+ ; eval st'
+ }
+ else return (stack st)
+ }
+
+moreCode :: State -> Bool
+moreCode (State {code = []}) = False
+moreCode _ = True
+
+-- Step has a precondition that there *is* code to run
+{-# SPECIALIZE step :: State -> Pure State #-}
+{-# SPECIALIZE step :: State -> IO State #-}
+step :: MonadEval m => State -> m State
+
+-- Rule 1: Pushing BaseValues
+step st@(State{ stack = stack, code = (TBool b):cs })
+ = return (st { stack = (VBool b):stack, code = cs })
+step st@(State{ stack = stack, code = (TInt i):cs })
+ = return (st { stack = (VInt i):stack, code = cs })
+step st@(State{ stack = stack, code = (TReal r):cs })
+ = return (st { stack = (VReal r):stack, code = cs })
+step st@(State{ stack = stack, code = (TString s):cs })
+ = return (st { stack = (VString s):stack, code = cs })
+
+-- Rule 2: Name binding
+step st@(State{ env = env, stack = (v:stack), code = (TBind id):cs }) =
+ return (State { env = extendEnv env id v, stack = stack, code = cs })
+step st@(State{ env = env, stack = [], code = (TBind id):cs }) =
+ err "Attempt to bind the top of an empty stack"
+
+-- Rule 3: Name lookup
+step st@(State{ env = env, stack = stack, code = (TId id):cs }) =
+ case (lookupEnv env id) of
+ Just v -> return (st { stack = v:stack, code = cs })
+ Nothing -> err ("Cannot find value for identifier: " ++ id)
+
+-- Rule 4: Closure creation
+step st@(State{ env = env, stack = stack, code = (TBody body):cs }) =
+ return (st { stack = (VClosure env body):stack, code = cs })
+
+-- Rule 5: Application
+step st@(State{ env = env, stack = (VClosure env' code'):stack, code = TApply:cs }) =
+ do { stk <- eval (State {env = env', stack = stack, code = code'})
+ ; return (st { stack = stk, code = cs })
+ }
+step st@(State{ env = env, stack = [], code = TApply:cs }) =
+ err "Application with an empty stack"
+step st@(State{ env = env, stack = _:_, code = TApply:cs }) =
+ err "Application of a non-closure"
+
+-- Rule 6: Arrays
+step st@(State{ env = env, stack = stack, code = TArray code':cs }) =
+ do { stk <- eval (State {env = env, stack = [], code = code'})
+ ; let last = length stk-1
+ ; let arr = array (0,last) (zip [last,last-1..] stk)
+ ; return (st { stack = (VArray arr):stack, code = cs })
+ }
+
+-- Rule 7 & 8: If statement
+step st@(State{ env = env, stack = (VClosure e2 c2):(VClosure e1 c1):(VBool True):stack, code = TIf:cs }) =
+ do { stk <- eval (State {env = e1, stack = stack, code = c1})
+ ; return (st { stack = stk, code = cs })
+ }
+step st@(State{ env = env, stack = (VClosure e2 c2):(VClosure e1 c1):(VBool False):stack, code = TIf:cs }) =
+ do { stk <- eval (State {env = e2, stack = stack, code = c2})
+ ; return (st { stack = stk, code = cs })
+ }
+step st@(State{ env = env, stack = _, code = TIf:cs }) =
+ err "Incorrect use of if (bad and/or inappropriate values on the stack)"
+
+-- Rule 9: Operators
+step st@(State{ env = env, stack = stack, code = (TOp op):cs }) =
+ do { stk <- doOp (opFnTable ! op) op stack
+ ; return (st { stack = stk, code = cs })
+ }
+
+-- Rule Opps
+step _ = err "Tripped on sidewalk while stepping."
+
+
+--------------------------------------------------------------------------
+-- Operator code
+
+opFnTable :: Array GMLOp PrimOp
+opFnTable = array (minBound,maxBound)
+ [ (op,prim) | (_,TOp op,prim) <- opcodes ]
+
+
+
+
+doPureOp :: (MonadEval m) => PrimOp -> GMLOp -> Stack -> m Stack
+doPureOp _ Op_render _ =
+ err ("\nAttempting to call render from inside a purely functional callback.")
+doPureOp primOp op stk = doPrimOp primOp op stk -- call the purely functional operators
+
+{-# SPECIALIZE doPrimOp :: PrimOp -> GMLOp -> Stack -> Pure Stack #-}
+{-# SPECIALIZE doPrimOp :: PrimOp -> GMLOp -> Stack -> IO Stack #-}
+{-# SPECIALIZE doPrimOp :: PrimOp -> GMLOp -> Stack -> Abs Stack #-}
+
+doPrimOp :: (MonadEval m) => PrimOp -> GMLOp -> Stack -> m Stack
+
+-- 1 argument.
+
+doPrimOp (Int_Int fn) _ (VInt i1:stk)
+ = return ((VInt (fn i1)) : stk)
+doPrimOp (Real_Real fn) _ (VReal r1:stk)
+ = return ((VReal (fn r1)) : stk)
+doPrimOp (Point_Real fn) _ (VPoint x y z:stk)
+ = return ((VReal (fn x y z)) : stk)
+
+-- This is where the callbacks happen from...
+doPrimOp (Surface_Obj fn) _ (VClosure env code:stk)
+ = case absapply env code [VAbsObj AbsFACE,VAbsObj AbsU,VAbsObj AbsV] of
+ Just [VReal r3,VReal r2,VReal r1,VPoint c1 c2 c3] ->
+ let
+ res = prop (color c1 c2 c3) r1 r2 r3
+ in
+ return ((VObject (fn (SConst res))) : stk)
+ _ -> return ((VObject (fn (SFun call))) : stk)
+ where
+ -- The most general case
+ call i r1 r2 =
+ case callback env code [VReal r2,VReal r1,VInt i] of
+ [VReal r3,VReal r2,VReal r1,VPoint c1 c2 c3]
+ -> prop (color c1 c2 c3) r1 r2 r3
+ stk -> error ("callback failed: incorrectly typed return arguments"
+ ++ show stk)
+
+doPrimOp (Real_Int fn) _ (VReal r1:stk)
+ = return ((VInt (fn r1)) : stk)
+doPrimOp (Int_Real fn) _ (VInt r1:stk)
+ = return ((VReal (fn r1)) : stk)
+doPrimOp (Arr_Int fn) _ (VArray arr:stk)
+ = return ((VInt (fn arr)) : stk)
+
+-- 2 arguments.
+
+doPrimOp (Int_Int_Int fn) _ (VInt i2:VInt i1:stk)
+ = return ((VInt (fn i1 i2)) : stk)
+doPrimOp (Int_Int_Bool fn) _ (VInt i2:VInt i1:stk)
+ = return ((VBool (fn i1 i2)) : stk)
+doPrimOp (Real_Real_Real fn) _ (VReal r2:VReal r1:stk)
+ = return ((VReal (fn r1 r2)) : stk)
+doPrimOp (Real_Real_Bool fn) _ (VReal r2:VReal r1:stk)
+ = return ((VBool (fn r1 r2)) : stk)
+doPrimOp (Arr_Int_Value fn) _ (VInt i:VArray arr:stk)
+ = return ((fn arr i) : stk)
+
+
+ -- Many arguments, typically image mangling
+
+doPrimOp (Obj_Obj_Obj fn) _ (VObject o2:VObject o1:stk)
+ = return ((VObject (fn o1 o2)) : stk)
+doPrimOp (Point_Color_Light fn) _ (VPoint r g b:VPoint x y z : stk)
+ = return (VLight (fn (x,y,z) (color r g b)) : stk)
+doPrimOp (Point_Point_Color_Real_Real_Light fn) _
+ (VReal r2:VReal r1:VPoint r g b:VPoint x2 y2 z2:VPoint x1 y1 z1 : stk)
+ = return (VLight (fn (x1,y1,z1) (x2,y2,z2) (color r g b) r1 r2) : stk)
+doPrimOp (Real_Real_Real_Point fn) _ (VReal r3:VReal r2:VReal r1:stk)
+ = return ((fn r1 r2 r3) : stk)
+doPrimOp (Obj_Real_Obj fn) _ (VReal r:VObject o:stk)
+ = return (VObject (fn o r) : stk)
+doPrimOp (Obj_Real_Real_Real_Obj fn) _ (VReal r3:VReal r2:VReal r1:VObject o:stk)
+ = return (VObject (fn o r1 r2 r3) : stk)
+
+-- This one is our testing harness
+doPrimOp (Value_String_Value fn) _ (VString s:o:stk)
+ = res `seq` return (res : stk)
+ where
+ res = fn o s
+
+doPrimOp primOp op args
+ = err ("\n\ntype error when attempting to execute builtin primitive \"" ++
+ show op ++ "\"\n\n| " ++
+ show op ++ " takes " ++ show (length types) ++ " argument" ++ s
+ ++ " with" ++ the ++ " type" ++ s ++ "\n|\n|" ++
+ " " ++ unwords [ show ty | ty <- types ] ++ "\n|\n|" ++
+ " currently, the relevent argument" ++ s ++ " on the stack " ++
+ are ++ "\n|\n| " ++
+ unwords [ "(" ++ show arg ++ ")"
+ | arg <- reverse (take (length types) args) ] ++ "\n|\n| "
+ ++ " (top of stack is on the right hand side)\n\n")
+ where
+ len = length types
+ s = (if len /= 1 then "s" else "")
+ are = (if len /= 1 then "are" else "is")
+ the = (if len /= 1 then "" else " the")
+ types = getPrimOpType primOp
+
+
+-- Render is somewhat funny, becauase it can only get called at top level.
+-- All other operations are purely functional.
+
+doAllOp :: PrimOp -> GMLOp -> Stack -> IO Stack
+doAllOp (Render render) Op_render
+ (VString str:VInt ht:VInt wid:VReal fov
+ :VInt dep:VObject obj:VArray arr
+ :VPoint r g b : stk)
+ = do { render (color r g b) lights obj dep (fov * (pi / 180.0)) wid ht str
+ ; return stk
+ }
+ where
+ lights = [ light | (VLight light) <- elems arr ]
+
+doAllOp primOp op stk = doPrimOp primOp op stk -- call the purely functional operators
+
+------------------------------------------------------------------------------
+{-
+ - Abstract evaluation.
+ -
+ - The idea is you check for constant code that
+ - (1) does not look at its arguments
+ - (2) gives a fixed result
+ -
+ - We run for 100 steps.
+ -
+ -}
+
+absapply :: Env -> Code -> Stack -> Maybe Stack
+absapply env code stk =
+ case runAbs (eval (State env stk code)) 100 of
+ AbsState stk _ -> Just stk
+ AbsFail m -> Nothing
+
+newtype Abs a = Abs { runAbs :: Int -> AbsState a }
+data AbsState a = AbsState a !Int
+ | AbsFail String
+
+instance Monad Abs where
+ (Abs fn) >>= k = Abs (\ s -> case fn s of
+ AbsState r s' -> runAbs (k r) s'
+ AbsFail m -> AbsFail m)
+ return x = Abs (\ n -> AbsState x n)
+ fail s = Abs (\ n -> AbsFail s)
+
+instance MonadEval Abs where
+ doOp = doAbsOp
+ err = fail
+ tick = Abs (\ n -> if n <= 0
+ then AbsFail "run out of time"
+ else AbsState () (n-1))
+
+doAbsOp :: PrimOp -> GMLOp -> Stack -> Abs Stack
+doAbsOp _ Op_point (VReal r3:VReal r2:VReal r1:stk)
+ = return ((VPoint r1 r2 r3) : stk)
+ -- here, you could have an (AbsPoint :: AbsObj) which you put on the
+ -- stack, with any object in the three fields.
+doAbsOp _ op _ = err ("operator not understood (" ++ show op ++ ")")
+
+------------------------------------------------------------------------------
+-- Driver
+
+mainEval :: Code -> IO ()
+mainEval prog = do { stk <- eval (State emptyEnv [] prog)
+ ; return ()
+ }
+{-
+ * Oops, one of the example actually has something
+ * on the stack at the end.
+ * Oh well...
+ ; if null stk
+ then return ()
+ else do { putStrLn done
+ ; print stk
+ }
+-}
+
+done = "Items still on stack at (successfull) termination of program"
+
+------------------------------------------------------------------------------
+-- testing
+
+test :: String -> Pure Stack
+test is = eval (State emptyEnv [] (rayParse is))
+
+testF :: String -> IO Stack
+testF is = do prog <- rayParseF is
+ eval (State emptyEnv [] prog)
+
+testA :: String -> Either String (Stack,Int)
+testA is = case runAbs (eval (State emptyEnv
+ [VAbsObj AbsFACE,VAbsObj AbsU,VAbsObj AbsV]
+ (rayParse is))) 100 of
+ AbsState a n -> Right (a,n)
+ AbsFail m -> Left m
+
+abstest1 = "1.0 0.0 0.0 point /red { /v /u /face red 1.0 0.0 1.0 } apply"
+
+-- should be [3:: Int]
+et1 = test "1 /x { x } /f 2 /x f apply x addi"
+
+
+
+
+
diff --git a/testsuite/tests/programs/galois_raytrace/Geometry.hs b/testsuite/tests/programs/galois_raytrace/Geometry.hs
new file mode 100644
index 0000000000..673c7d4812
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Geometry.hs
@@ -0,0 +1,314 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module Geometry
+ ( Coords
+ , Ray
+ , Point -- abstract
+ , Vector -- abstract
+ , Matrix -- abstract
+ , Color -- abstract
+ , Box(..)
+ , Radian
+ , matrix
+ , coord
+ , color
+ , uncolor
+ , xCoord , yCoord , zCoord
+ , xComponent , yComponent , zComponent
+ , point
+ , vector
+ , nearV
+ , point_to_vector
+ , vector_to_point
+ , dot
+ , cross
+ , tangents
+ , addVV
+ , addPV
+ , subVV
+ , negV
+ , subPP
+ , norm
+ , normalize
+ , dist2
+ , sq
+ , distFrom0Sq
+ , distFrom0
+ , multSV
+ , multMM
+ , transposeM
+ , multMV
+ , multMP
+ , multMQ
+ , multMR
+ , white
+ , black
+ , addCC
+ , subCC
+ , sumCC
+ , multCC
+ , multSC
+ , nearC
+ , offsetToPoint
+ , epsilon
+ , inf
+ , nonZero
+ , eqEps
+ , near
+ , clampf
+ ) where
+
+import List
+
+type Coords = (Double,Double,Double)
+
+type Ray = (Point,Vector) -- origin of ray, and unit vector giving direction
+
+data Point = P !Double !Double !Double -- implicit extra arg of 1
+ deriving (Show)
+data Vector = V !Double !Double !Double -- implicit extra arg of 0
+ deriving (Show, Eq)
+data Matrix = M !Quad !Quad !Quad !Quad
+ deriving (Show)
+
+data Color = C !Double !Double !Double
+ deriving (Show, Eq)
+
+data Box = B !Double !Double !Double !Double !Double !Double
+ deriving (Show)
+
+data Quad = Q !Double !Double !Double !Double
+ deriving (Show)
+
+type Radian = Double
+
+type Tup4 a = (a,a,a,a)
+
+--{-# INLINE matrix #-}
+matrix :: Tup4 (Tup4 Double) -> Matrix
+matrix ((m11, m12, m13, m14),
+ (m21, m22, m23, m24),
+ (m31, m32, m33, m34),
+ (m41, m42, m43, m44))
+ = M (Q m11 m12 m13 m14)
+ (Q m21 m22 m23 m24)
+ (Q m31 m32 m33 m34)
+ (Q m41 m42 m43 m44)
+
+coord x y z = (x, y, z)
+
+color r g b = C r g b
+
+uncolor (C r g b) = (r,g,b)
+
+{-# INLINE xCoord #-}
+xCoord (P x y z) = x
+{-# INLINE yCoord #-}
+yCoord (P x y z) = y
+{-# INLINE zCoord #-}
+zCoord (P x y z) = z
+
+{-# INLINE xComponent #-}
+xComponent (V x y z) = x
+{-# INLINE yComponent #-}
+yComponent (V x y z) = y
+{-# INLINE zComponent #-}
+zComponent (V x y z) = z
+
+point :: Double -> Double -> Double -> Point
+point x y z = P x y z
+
+vector :: Double -> Double -> Double -> Vector
+vector x y z = V x y z
+
+nearV :: Vector -> Vector -> Bool
+nearV (V a b c) (V d e f) = a `near` d && b `near` e && c `near` f
+
+point_to_vector :: Point -> Vector
+point_to_vector (P x y z) = V x y z
+
+vector_to_point :: Vector -> Point
+vector_to_point (V x y z) = P x y z
+
+{-# INLINE vector_to_quad #-}
+vector_to_quad :: Vector -> Quad
+vector_to_quad (V x y z) = Q x y z 0
+
+{-# INLINE point_to_quad #-}
+point_to_quad :: Point -> Quad
+point_to_quad (P x y z) = Q x y z 1
+
+{-# INLINE quad_to_point #-}
+quad_to_point :: Quad -> Point
+quad_to_point (Q x y z _) = P x y z
+
+{-# INLINE quad_to_vector #-}
+quad_to_vector :: Quad -> Vector
+quad_to_vector (Q x y z _) = V x y z
+
+--{-# INLINE dot #-}
+dot :: Vector -> Vector -> Double
+dot (V x1 y1 z1) (V x2 y2 z2) = x1 * x2 + y1 * y2 + z1 * z2
+
+cross :: Vector -> Vector -> Vector
+cross (V x1 y1 z1) (V x2 y2 z2)
+ = V (y1 * z2 - z1 * y2) (z1 * x2 - x1 * z2) (x1 * y2 - y1 * x2)
+
+-- assumption: the input vector is a normal
+tangents :: Vector -> (Vector, Vector)
+tangents v@(V x y z)
+ = (v1, v `cross` v1)
+ where v1 | x == 0 = normalize (vector 0 z (-y))
+ | otherwise = normalize (vector (-y) x 0)
+
+{-# INLINE dot4 #-}
+dot4 :: Quad -> Quad -> Double
+dot4 (Q x1 y1 z1 w1) (Q x2 y2 z2 w2) = x1 * x2 + y1 * y2 + z1 * z2 + w1 * w2
+
+addVV :: Vector -> Vector -> Vector
+addVV (V x1 y1 z1) (V x2 y2 z2)
+ = V (x1 + x2) (y1 + y2) (z1 + z2)
+
+addPV :: Point -> Vector -> Point
+addPV (P x1 y1 z1) (V x2 y2 z2)
+ = P (x1 + x2) (y1 + y2) (z1 + z2)
+
+subVV :: Vector -> Vector -> Vector
+subVV (V x1 y1 z1) (V x2 y2 z2)
+ = V (x1 - x2) (y1 - y2) (z1 - z2)
+
+negV :: Vector -> Vector
+negV (V x1 y1 z1)
+ = V (-x1) (-y1) (-z1)
+
+subPP :: Point -> Point -> Vector
+subPP (P x1 y1 z1) (P x2 y2 z2)
+ = V (x1 - x2) (y1 - y2) (z1 - z2)
+
+--{-# INLINE norm #-}
+norm :: Vector -> Double
+norm (V x y z) = sqrt (sq x + sq y + sq z)
+
+--{-# INLINE normalize #-}
+-- normalize a vector to a unit vector
+normalize :: Vector -> Vector
+normalize v@(V x y z)
+ | norm /= 0 = multSV (1/norm) v
+ | otherwise = error "normalize empty!"
+ where norm = sqrt (sq x + sq y + sq z)
+
+-- This does computes the distance *squared*
+dist2 :: Point -> Point -> Double
+dist2 us vs = sq x + sq y + sq z
+ where
+ (V x y z) = subPP us vs
+
+{-# INLINE sq #-}
+sq :: Double -> Double
+sq d = d * d
+
+{-# INLINE distFrom0Sq #-}
+distFrom0Sq :: Point -> Double -- Distance of point from origin.
+distFrom0Sq (P x y z) = sq x + sq y + sq z
+
+{-# INLINE distFrom0 #-}
+distFrom0 :: Point -> Double -- Distance of point from origin.
+distFrom0 p = sqrt (distFrom0Sq p)
+
+--{-# INLINE multSV #-}
+multSV :: Double -> Vector -> Vector
+multSV k (V x y z) = V (k*x) (k*y) (k*z)
+
+--{-# INLINE multMM #-}
+multMM :: Matrix -> Matrix -> Matrix
+multMM m1@(M q1 q2 q3 q4) m2
+ = M (multMQ m2' q1)
+ (multMQ m2' q2)
+ (multMQ m2' q3)
+ (multMQ m2' q4)
+ where
+ m2' = transposeM m2
+
+{-# INLINE transposeM #-}
+transposeM :: Matrix -> Matrix
+transposeM (M (Q e11 e12 e13 e14)
+ (Q e21 e22 e23 e24)
+ (Q e31 e32 e33 e34)
+ (Q e41 e42 e43 e44)) = (M (Q e11 e21 e31 e41)
+ (Q e12 e22 e32 e42)
+ (Q e13 e23 e33 e43)
+ (Q e14 e24 e34 e44))
+
+
+--multMM m1 m2 = [map (dot4 row) (transpose m2) | row <- m1]
+
+--{-# INLINE multMV #-}
+multMV :: Matrix -> Vector -> Vector
+multMV m v = quad_to_vector (multMQ m (vector_to_quad v))
+
+--{-# INLINE multMP #-}
+multMP :: Matrix -> Point -> Point
+multMP m p = quad_to_point (multMQ m (point_to_quad p))
+
+-- mat vec = map (dot4 vec) mat
+
+{-# INLINE multMQ #-}
+multMQ :: Matrix -> Quad -> Quad
+multMQ (M q1 q2 q3 q4) q
+ = Q (dot4 q q1)
+ (dot4 q q2)
+ (dot4 q q3)
+ (dot4 q q4)
+
+{-# INLINE multMR #-}
+multMR :: Matrix -> Ray -> Ray
+multMR m (r, v) = (multMP m r, multMV m v)
+
+white :: Color
+white = C 1 1 1
+black :: Color
+black = C 0 0 0
+
+addCC :: Color -> Color -> Color
+addCC (C a b c) (C d e f) = C (a+d) (b+e) (c+f)
+
+subCC :: Color -> Color -> Color
+subCC (C a b c) (C d e f) = C (a-d) (b-e) (c-f)
+
+sumCC :: [Color] -> Color
+sumCC = foldr addCC black
+
+multCC :: Color -> Color -> Color
+multCC (C a b c) (C d e f) = C (a*d) (b*e) (c*f)
+
+multSC :: Double -> Color -> Color
+multSC k (C a b c) = C (a*k) (b*k) (c*k)
+
+nearC :: Color -> Color -> Bool
+nearC (C a b c) (C d e f) = a `near` d && b `near` e && c `near` f
+
+offsetToPoint :: Ray -> Double -> Point
+offsetToPoint (r,v) i = r `addPV` (i `multSV` v)
+
+--
+
+epsilon, inf :: Double -- aproximate zero and infinity
+epsilon = 1.0e-10
+inf = 1.0e20
+
+nonZero :: Double -> Double -- Use before a division. It makes definitions
+nonZero x | x > epsilon = x -- more complete and I bet the errors that get
+ | x < -epsilon = x -- introduced will be undetectable if epsilon
+ | otherwise = epsilon -- is small enough
+
+
+eqEps x y = abs (x-y) < epsilon
+near = eqEps
+
+clampf :: Double -> Double
+clampf p | p < 0 = 0
+ | p > 1 = 1
+ | True = p
diff --git a/testsuite/tests/programs/galois_raytrace/Illumination.hs b/testsuite/tests/programs/galois_raytrace/Illumination.hs
new file mode 100644
index 0000000000..155a7a9a76
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Illumination.hs
@@ -0,0 +1,224 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+-- Modified to use stdout (for testing)
+
+module Illumination
+ ( Object
+ , Light (..)
+ , light, pointlight, spotlight
+ , render
+ ) where
+
+import Array
+import Char(chr)
+import Maybe
+
+import Geometry
+import CSG
+import Surface
+import Misc
+
+type Object = CSG (SurfaceFn Color Double)
+
+data Cxt = Cxt {ambient::Color, lights::[Light], object::Object, depth::Int}
+ deriving Show
+
+render :: (Matrix,Matrix) -> Color -> [Light] -> Object -> Int ->
+ Radian -> Int -> Int -> String -> IO ()
+render (m,m') amb ls obj dep fov wid ht file
+ = do { debugging
+ ; putStrLn (showBitmap' wid ht pixels)
+ }
+ where
+ debugging = return ()
+{-
+ do { putStrLn (show cxt)
+ ; putStrLn (show (width, delta, aspect, left, top))
+ }
+-}
+ obj' = transform (m',m) obj
+ ls' = [ transformLight m' l | l <- ls ]
+ pixelA = listArray ((1,1), (ht,wid))
+ [ illumination cxt (start,pixel i j)
+ | j <- take ht [0.5..]
+ , i <- take wid [0.5..] ]
+ antiA = pixelA //
+ [ (ix, superSample ix (pixelA ! ix))
+ | j <- [2 .. ht - 1], i <- [2 .. wid - 1]
+ , let ix = (j, i)
+ , contrast ix pixelA ]
+ pixels = [ [ illumination cxt (start,pixel i j) | i<- take wid [0.5..] ]
+ | j <- take ht [0.5..]
+ ]
+ cxt = Cxt {ambient=amb, lights=ls', object=obj', depth=dep}
+ start = point 0 0 (-1)
+ width = 2 * tan (fov/2)
+ delta = width / fromIntegral wid
+ aspect = fromIntegral ht / fromIntegral wid
+ left = - width / 2
+ top = - left * aspect
+ pixel i j = vector (left + i*delta) (top - j*delta) 1
+
+ superSample (y, x) col = avg $ col:
+ [ illumination cxt (start, pixel (fromIntegral x - 0.5 + xd) (fromIntegral y - 0.5 + yd))
+ | (xd, yd) <- [(-0.333, 0.0), (0.333, 0.0), (0.0, -0.333), (0.0, 0.333)]
+ ]
+
+avg cs = divN (fromIntegral (length cs)) (uncolor (sumCC cs))
+ where divN n (r,g,b) = color (r / n) (g / n) (b / n)
+
+contrast :: (Int, Int) -> Array (Int, Int) Color -> Bool
+contrast (x, y) arr = any diffMax [ subCC cur (arr ! (x + xd, y + yd))
+ | xd <- [-1, 1], yd <- [-1, 1]
+ ]
+ where cur = arr ! (x, y)
+ diffMax col = (abs r) > 0.25 || (abs g) > 0.2 || (abs b) > 0.4
+ where
+ (r,g,b) = uncolor col
+
+
+illumination :: Cxt -> Ray -> Color
+illumination cxt (r,v)
+ | depth cxt <= 0 = black
+ | otherwise = case castRay (r,v) (object cxt) of
+ Nothing -> black
+ Just info -> illum (cxt{depth=(depth cxt)-1}) info v
+
+illum :: Cxt -> (Point,Vector,Properties Color Double) -> Vector -> Color
+illum cxt (pos,normV,(col,kd,ks,n)) v
+ = ambTerm `addCC` difTerm `addCC` spcTerm `addCC` recTerm
+ where
+ visibleLights = unobscured pos (object cxt) (lights cxt) normV
+ d = depth cxt
+ amb = ambient cxt
+ newV = subVV v (multSV (2 * dot normV v) normV)
+
+ ambTerm = multSC kd (multCC amb col)
+ difTerm = multSC kd (sumCC [multSC (dot normV lj) (multCC intensity col)
+ |(loc,intensity) <- visibleLights,
+ let lj = normalize ({- pos `subVV` -} loc)])
+ -- ZZ might want to avoid the phong, when you can...
+ spcTerm = multSC ks (sumCC [multSC ((dot normV hj) ** n ) (multCC intensity col)
+ |(loc,intensity) <- visibleLights,
+ -- ZZ note this is specific to the light at infinity
+ let lj = {- pos `subVV` -} normalize loc,
+ let hj = normalize (lj `subVV` normalize v)])
+ recTerm = if recCoeff `nearC` black then black else multCC recCoeff recRay
+ recCoeff = multSC ks col
+ recRay = illumination cxt (pos,newV)
+
+showBitmapA :: Int -> Int -> Array (Int, Int) Color -> String
+showBitmapA wid ht arr
+ = header ++ concatMap scaleColor (elems arr)
+ where
+ scaleColor col = [scalePixel r, scalePixel g, scalePixel b]
+ where (r,g,b) = uncolor col
+ header = "P6\n#Galois\n" ++ show wid ++ " " ++ show ht ++ "\n255\n"
+
+showBitmap :: Int -> Int ->[[Color]] -> String
+showBitmap wid ht pss
+-- type of assert | length pss == ht && all (\ ps -> length ps == wid) pss
+ = header ++ concat [[scalePixel r,scalePixel g,scalePixel b]
+ | ps <- pss, (r,g,b) <- map uncolor ps]
+ where
+ header = "P6\n#Galois\n" ++ show wid ++ " " ++ show ht ++ "\n255\n"
+showBitmap _ _ _ = error "incorrect length of bitmap string"
+
+scalePixel :: Double -> Char
+scalePixel p = chr (floor (clampf p * 255))
+
+showBitmap' :: Int -> Int ->[[Color]] -> String
+showBitmap' wid ht pss
+-- type of assert | length pss == ht && all (\ ps -> length ps == wid) pss
+ = header
+ ++ unlines [ unwords [unwords [scalePixel' r,scalePixel' g,scalePixel' b]
+ | (r,g,b) <- map uncolor ps]
+ | ps <- pss ]
+ where
+ header = "P3\n#Galois\n" ++ show wid ++ " " ++ show ht ++ "\n255\n"
+showBitmap' _ _ _ = error "incorrect length of bitmap string"
+
+scalePixel' :: Double -> String
+scalePixel' p = show (floor (clampf p * 255))
+
+-- Lights
+
+data Light = Light Vector Color
+ | PointLight Point Color
+ | SpotLight Point Point Color Radian Double
+ deriving Show
+
+light :: Coords -> Color -> Light
+light (x,y,z) color =
+ Light (normalize (vector (-x) (-y) (-z))) color
+pointlight (x,y,z) color =
+ PointLight (point x y z) color
+spotlight (x,y,z) (p,q,r) col cutoff exp =
+ SpotLight (point x y z) (point p q r) col cutoff exp
+
+transformLight m (Light v c) = Light (multMV m v) c
+transformLight m (PointLight p c) = PointLight (multMP m p) c
+transformLight m (SpotLight p q c r d) = SpotLight (multMP m p) (multMP m q) c r d
+
+unobscured :: Point -> Object -> [Light] -> Vector -> [(Vector,Color)]
+unobscured pos obj lights normV = catMaybes (map (unobscure pos obj normV) lights)
+
+unobscure :: Point -> Object -> Vector -> Light -> Maybe (Vector,Color)
+unobscure pos obj normV (Light vec color)
+ -- ZZ probably want to make this faster
+ | vec `dot` normV < 0 = Nothing
+ | intersects (pos `addPV` (0.0001 `multSV` vec),vec) obj = Nothing
+ | otherwise = Just (vec,color)
+unobscure pos obj normV (PointLight pp color)
+ | vec `dot` normV < 0 = Nothing
+ | intersectWithin (pos `addPV` (0.0001 `multSV` (normalize vec)), vec) obj = Nothing
+ | otherwise = Just (vec,is)
+ where vec = pp `subPP` pos
+ is = attenuate vec color
+unobscure org obj normV (SpotLight pos at color cutoff exp)
+ | vec `dot` normV < 0 = Nothing
+ | intersectWithin (org `addPV` (0.0001 `multSV` (normalize vec)), vec) obj = Nothing
+ | angle > cutoff = Nothing
+ | otherwise = Just (vec, is)
+ where vec = pos `subPP` org
+ vec' = pos `subPP` at
+ angle = acos (normalize vec `dot` (normalize vec'))
+
+ asp = normalize (at `subPP` pos)
+ qsp = normalize (org `subPP` pos)
+ is = attenuate vec (((asp `dot` qsp) ** exp) `multSC` color)
+
+attenuate :: Vector -> Color -> Color
+attenuate vec color = (100 / (99 + sq (norm vec))) `multSC` color
+
+--
+
+castRay ray p
+ = case intersectRayWithObject ray p of
+ (True, _, _) -> Nothing -- eye is inside
+ (False, [], _) -> Nothing -- eye is inside
+ (False, (0, b, _) : _, _) -> Nothing -- eye is inside
+ (False, (i, False, _) : _, _) -> Nothing -- eye is inside
+ (False, (t, b, (s, p0)) : _, _) ->
+ let (v, prop) = surface s p0 in
+ Just (offsetToPoint ray t, v, prop)
+
+intersects ray p
+ = case intersectRayWithObject ray p of
+ (True, _, _) -> False
+ (False, [], _) -> False
+ (False, (0, b, _) : _, _) -> False
+ (False, (i, False, _) : _, _) -> False
+ (False, (i, b, _) : _, _) -> True
+
+intersectWithin :: Ray -> Object -> Bool
+intersectWithin ray p
+ = case intersectRayWithObject ray p of
+ (True, _, _) -> False -- eye is inside
+ (False, [], _) -> False -- eye is inside
+ (False, (0, b, _) : _, _) -> False -- eye is inside
+ (False, (i, False, _) : _, _) -> False -- eye is inside
+ (False, (t, b, _) : _, _) -> t < 1.0
diff --git a/testsuite/tests/programs/galois_raytrace/Intersections.hs b/testsuite/tests/programs/galois_raytrace/Intersections.hs
new file mode 100644
index 0000000000..c7fe003eb3
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Intersections.hs
@@ -0,0 +1,404 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module Intersections
+ ( intersectRayWithObject,
+ quadratic
+ ) where
+
+import Maybe(isJust)
+
+import Construct
+import Geometry
+import Interval
+import Misc
+
+-- This is factored into two bits. The main function `intersections'
+-- intersects a line with an object.
+-- The wrapper call `intersectRayWithObject' coerces this to an intersection
+-- with a ray by clamping the result to start at 0.
+
+intersectRayWithObject ray p
+ = clampIntervals is
+ where is = intersections ray p
+
+clampIntervals (True, [], True) = (False, [(0, True, undefined)], True)
+clampIntervals empty@(False, [], False) = empty
+clampIntervals (True, is@((i, False, p) : is'), isOpen)
+ | i `near` 0 || i < 0
+ = clampIntervals (False, is', isOpen)
+ | otherwise
+ = (False, (0, True, undefined) : is, isOpen)
+clampIntervals ivals@(False, is@((i, True, p) : is'), isOpen)
+ | i `near` 0 || i < 0
+ -- can unify this with first case...
+ = clampIntervals (True, is', isOpen)
+ | otherwise
+ = ivals
+
+intersections ray (Union p q)
+ = unionIntervals is js
+ where is = intersections ray p
+ js = intersections ray q
+
+intersections ray (Intersect p q)
+ = intersectIntervals is js
+ where is = intersections ray p
+ js = intersections ray q
+
+intersections ray (Difference p q)
+ = differenceIntervals is (negateSurfaces js)
+ where is = intersections ray p
+ js = intersections ray q
+
+intersections ray (Transform m m' p)
+ = mapI (xform m) is
+ where is = intersections (m' `multMR` ray) p
+ xform m (i, b, (s, p0)) = (i, b, (transformSurface m s, p0))
+
+intersections ray (Box box p)
+ | intersectWithBox ray box = intersections ray p
+ | otherwise = emptyIList
+
+intersections ray p@(Plane s)
+ = intersectPlane ray s
+
+intersections ray p@(Sphere s)
+ = intersectSphere ray s
+
+intersections ray p@(Cube s)
+ = intersectCube ray s
+
+intersections ray p@(Cylinder s)
+ = intersectCylinder ray s
+
+intersections ray p@(Cone s)
+ = intersectCone ray s
+
+negateSurfaces :: IList (Surface, Texture a) -> IList (Surface, Texture a)
+negateSurfaces = mapI negSurf
+ where negSurf (i, b, (s,t)) = (i, b, (negateSurface s, t))
+
+negateSurface (Planar p0 v0 v1)
+ = Planar p0 v1 v0
+negateSurface (Spherical p0 v0 v1)
+ = Spherical p0 v1 v0
+negateSurface (Cylindrical p0 v0 v1)
+ = Cylindrical p0 v1 v0
+negateSurface (Conic p0 v0 v1)
+ = Conic p0 v1 v0
+
+transformSurface m (Planar p0 v0 v1)
+ = Planar p0' v0' v1'
+ where p0' = multMP m p0
+ v0' = multMV m v0
+ v1' = multMV m v1
+
+transformSurface m (Spherical p0 v0 v1)
+ = Spherical p0' v0' v1'
+ where p0' = multMP m p0
+ v0' = multMV m v0
+ v1' = multMV m v1
+
+-- ditto as above
+transformSurface m (Cylindrical p0 v0 v1)
+ = Cylindrical p0' v0' v1'
+ where p0' = multMP m p0
+ v0' = multMV m v0
+ v1' = multMV m v1
+
+transformSurface m (Conic p0 v0 v1)
+ = Conic p0' v0' v1'
+ where p0' = multMP m p0
+ v0' = multMV m v0
+ v1' = multMV m v1
+
+--------------------------------
+-- Plane
+--------------------------------
+
+intersectPlane :: Ray -> a -> IList (Surface, Texture a)
+intersectPlane ray texture = intersectXZPlane PlaneFace ray 0.0 texture
+
+intersectXZPlane :: Face -> Ray -> Double -> a -> IList (Surface, Texture a)
+intersectXZPlane n (r,v) yoffset texture
+ | b `near` 0
+ = -- the ray is parallel to the plane - it's either all in, or all out
+ if y `near` yoffset || y < yoffset then openIList else emptyIList
+
+ -- The line intersects the plane. Find t such that
+ -- (x + at, y + bt, z + ct) intersects the X-Z plane.
+ -- t may be negative (the ray starts within the halfspace),
+ -- but we'll catch that later when we clamp the intervals
+
+ | b < 0 -- the ray is pointing downwards
+ = (False, [mkEntry (t0, (Planar p0 v0 v1, (n, p0, texture)))], True)
+
+ | otherwise -- the ray is pointing upwards
+ = (True, [mkExit (t0, (Planar p0 v0 v1, (n, p0, texture)))], False)
+
+ where t0 = (yoffset-y) / b
+ x0 = x + a * t0
+ z0 = z + c * t0
+ p0 = point x0 0 z0
+ v0 = vector 0 0 1
+ v1 = vector 1 0 0
+
+ x = xCoord r
+ y = yCoord r
+ z = zCoord r
+ a = xComponent v
+ b = yComponent v
+ c = zComponent v
+
+
+--------------------------------
+-- Sphere
+--------------------------------
+
+intersectSphere :: Ray -> a -> IList (Surface, Texture a)
+intersectSphere ray@(r, v) texture
+ = -- Find t such that (x + ta, y + tb, z + tc) intersects the
+ -- unit sphere, that is, such that:
+ -- (x + ta)^2 + (y + tb)^2 + (z + tc)^2 = 1
+ -- This is a quadratic equation in t:
+ -- t^2(a^2 + b^2 + c^2) + 2t(xa + yb + zc) + (x^2 + y^2 + z^2 - 1) = 0
+ let c1 = sq a + sq b + sq c
+ c2 = 2 * (x * a + y * b + z * c)
+ c3 = sq x + sq y + sq z - 1
+ in
+ case quadratic c1 c2 c3 of
+ Nothing -> emptyIList
+ Just (t1, t2) -> entryexit (g t1) (g t2)
+ where x = xCoord r
+ y = yCoord r
+ z = zCoord r
+ a = xComponent v
+ b = yComponent v
+ c = zComponent v
+ g t = (t, (Spherical origin v1 v2, (SphereFace, p0, texture)))
+ where origin = point 0 0 0
+ x0 = x + t * a
+ y0 = y + t * b
+ z0 = z + t * c
+ p0 = point x0 y0 z0
+ v0 = vector x0 y0 z0
+ (v1, v2) = tangents v0
+
+
+--------------------------------
+-- Cube
+--------------------------------
+
+intersectCube :: Ray -> a -> IList (Surface, Texture a)
+intersectCube ray@(r, v) texture
+ = -- The set of t such that (x + at, y + bt, z + ct) lies within
+ -- the unit cube satisfies:
+ -- 0 <= x + at <= 1, 0 <= y + bt <= 1, 0 <= z + ct <= 1
+ -- The minimum and maximum such values of t give us the two
+ -- intersection points.
+ case intersectSlabIval (intersectCubeSlab face2 face3 x a)
+ (intersectSlabIval (intersectCubeSlab face5 face4 y b)
+ (intersectCubeSlab face0 face1 z c)) of
+ Nothing -> emptyIList
+ Just (t1, t2) -> entryexit (g t1) (g t2)
+ where g ((n, v0, v1), t)
+ = (t, (Planar p0 v0 v1, (n, p0, texture)))
+ where p0 = offsetToPoint ray t
+ face0 = (CubeFront, vectorY, vectorX)
+ face1 = (CubeBack, vectorX, vectorY)
+ face2 = (CubeLeft, vectorZ, vectorY)
+ face3 = (CubeRight, vectorY, vectorZ)
+ face4 = (CubeTop, vectorZ, vectorX)
+ face5 = (CubeBottom, vectorX, vectorZ)
+ vectorX = vector 1 0 0
+ vectorY = vector 0 1 0
+ vectorZ = vector 0 0 1
+ x = xCoord r
+ y = yCoord r
+ z = zCoord r
+ a = xComponent v
+ b = yComponent v
+ c = zComponent v
+
+intersectCubeSlab n m w d
+ | d `near` 0 = if (0 <= w) && (w <= 1)
+ then Just ((n, -inf), (m, inf)) else Nothing
+ | d > 0 = Just ((n, (-w)/d), (m, (1-w)/d))
+ | otherwise = Just ((m, (1-w)/d), (n, (-w)/d))
+
+intersectSlabIval Nothing Nothing = Nothing
+intersectSlabIval Nothing (Just i) = Nothing
+intersectSlabIval (Just i) Nothing = Nothing
+intersectSlabIval (Just (nu1@(n1, u1), mv1@(m1, v1)))
+ (Just (nu2@(n2, u2), mv2@(m2, v2)))
+ = checkInterval (nu, mv)
+ where nu = if u1 < u2 then nu2 else nu1
+ mv = if v1 < v2 then mv1 else mv2
+ checkInterval numv@(nu@(_, u), (m, v))
+ -- rounding error may force us to push v out a bit
+ | u `near` v = Just (nu, (m, u + epsilon))
+ | u < v = Just numv
+ | otherwise = Nothing
+
+
+--------------------------------
+-- Cylinder
+--------------------------------
+
+intersectCylinder :: Ray -> a -> IList (Surface, Texture a)
+intersectCylinder ray texture
+ = isectSide `intersectIntervals` isectTop `intersectIntervals` isectBottom
+ where isectSide = intersectCylSide ray texture
+ isectTop = intersectXZPlane CylinderTop ray 1.0 texture
+ isectBottom = complementIntervals $ negateSurfaces $
+ intersectXZPlane CylinderBottom ray 0.0 texture
+
+intersectCylSide (r, v) texture
+ = -- The ray (x + ta, y + tb, z + tc) intersects the sides of the
+ -- cylinder if:
+ -- (x + ta)^2 + (z + tc)^2 = 1 and 0 <= y + tb <= 1.
+ if (sq a + sq c) `near` 0
+ then -- The ray is parallel to the Y-axis, and does not intersect
+ -- the cylinder sides. It's either all in, or all out
+ if (sqxy `near` 1.0 || sqxy < 1.0) then openIList else emptyIList
+ else -- Find values of t that solve the quadratic equation
+ -- (a^2 + c^2)t^2 + 2(ax + cz)t + x^2 + z^2 - 1 = 0
+ let c1 = sq a + sq c
+ c2 = 2 * (x * a + z * c)
+ c3 = sq x + sq z - 1
+ in
+ case quadratic c1 c2 c3 of
+ Nothing -> emptyIList
+ Just (t1, t2) -> entryexit (g t1) (g t2)
+
+ where sqxy = sq x + sq y
+ g t = (t, (Cylindrical origin v1 v2, (CylinderSide, p0, texture)))
+ where origin = point 0 0 0
+ x0 = x + t * a
+ y0 = y + t * b
+ z0 = z + t * c
+ p0 = point x0 y0 z0
+ v0 = vector x0 0 z0
+ (v1, v2) = tangents v0
+
+ x = xCoord r
+ y = yCoord r
+ z = zCoord r
+ a = xComponent v
+ b = yComponent v
+ c = zComponent v
+
+
+-------------------
+-- Cone
+-------------------
+
+intersectCone :: Ray -> a -> IList (Surface, Texture a)
+intersectCone ray texture
+ = isectSide `intersectIntervals` isectTop `intersectIntervals` isectBottom
+ where isectSide = intersectConeSide ray texture
+ isectTop = intersectXZPlane ConeBase ray 1.0 texture
+ isectBottom = complementIntervals $ negateSurfaces $
+ intersectXZPlane ConeBase ray 0.0 texture
+
+intersectConeSide (r, v) texture
+ = -- Find the points where the ray intersects the cond side. At any points of
+ -- intersection, we must have:
+ -- (x + ta)^2 + (z + tc)^2 = (y + tb)^2
+ -- which is the following quadratic equation:
+ -- t^2(a^2-b^2+c^2) + 2t(xa-yb+cz) + (x^2-y^2+z^2) = 0
+ let c1 = sq a - sq b + sq c
+ c2 = 2 * (x * a - y * b + c * z)
+ c3 = sq x - sq y + sq z
+ in case quadratic c1 c2 c3 of
+ Nothing -> emptyIList
+ Just (t1, t2) ->
+ -- If either intersection strikes the middle, then the other
+ -- can only be off by rounding error, so we make a tangent
+ -- strike using the "good" value.
+ -- If the intersections straddle the origin, then it's
+ -- an exit/entry pair, otherwise it's an entry/exit pair.
+ let y1 = y + t1 * b
+ y2 = y + t2 * b
+ in if y1 `near` 0 then entryexit (g t1) (g t1)
+ else if y2 `near` 0 then entryexit (g t2) (g t2)
+ else if (y1 < 0) `xor` (y2 < 0) then exitentry (g t1) (g t2)
+ else entryexit (g t1) (g t2)
+
+ where g t = (t, (Conic origin v1 v2, (ConeSide, p0, texture)))
+ where origin = point 0 0 0
+ x0 = x + t * a
+ y0 = y + t * b
+ z0 = z + t * c
+ p0 = point x0 y0 z0
+ v0 = normalize $ vector x0 (-y0) z0
+ (v1, v2) = tangents v0
+
+ x = xCoord r
+ y = yCoord r
+ z = zCoord r
+ a = xComponent v
+ b = yComponent v
+ c = zComponent v
+
+ -- beyond me why this isn't defined in the prelude...
+ xor False b = b
+ xor True b = not b
+
+
+-------------------
+-- Solving quadratics
+-------------------
+
+quadratic :: Double -> Double -> Double -> Maybe (Double, Double)
+quadratic a b c =
+ -- Solve the equation ax^2 + bx + c = 0 by using the quadratic formula.
+ let d = sq b - 4 * a * c
+ d' = if d `near` 0 then 0 else d
+ in if d' < 0
+ then Nothing -- There are no real roots.
+ else
+ if a > 0 then Just (((-b) - sqrt d') / (2 * a),
+ ((-b) + sqrt d') / (2 * a))
+ else Just (((-b) + sqrt d') / (2 * a),
+ ((-b) - sqrt d') / (2 * a))
+
+-------------------
+-- Bounding boxes
+-------------------
+
+data MaybeInterval = Interval !Double !Double
+ | NoInterval
+
+isInterval (Interval _ _) = True
+isInterval _ = False
+
+intersectWithBox :: Ray -> Box -> Bool
+intersectWithBox (r, v) (B x1 x2 y1 y2 z1 z2)
+ = isInterval interval
+ where x_interval = intersectRayWithSlab (xCoord r) (xComponent v) (x1, x2)
+ y_interval = intersectRayWithSlab (yCoord r) (yComponent v) (y1, y2)
+ z_interval = intersectRayWithSlab (zCoord r) (zComponent v) (z1, z2)
+ interval = intersectInterval x_interval
+ (intersectInterval y_interval z_interval)
+
+intersectInterval :: MaybeInterval -> MaybeInterval -> MaybeInterval
+intersectInterval NoInterval _ = NoInterval
+intersectInterval _ NoInterval = NoInterval
+intersectInterval (Interval a b) (Interval c d)
+ | b < c || d < a = NoInterval
+ | otherwise = Interval (a `max` c) (b `min` d)
+
+{-# INLINE intersectRayWithSlab #-}
+intersectRayWithSlab :: Double -> Double -> (Double,Double) -> MaybeInterval
+intersectRayWithSlab xCoord alpha (x1, x2)
+ | alpha == 0 = if xCoord < x1 || xCoord > x2 then NoInterval else infInterval
+ | alpha > 0 = Interval a b
+ | otherwise = Interval b a
+ where a = (x1 - xCoord) / alpha
+ b = (x2 - xCoord) / alpha
+
+infInterval = Interval (-inf) inf
diff --git a/testsuite/tests/programs/galois_raytrace/Interval.hs b/testsuite/tests/programs/galois_raytrace/Interval.hs
new file mode 100644
index 0000000000..a4d313f66e
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Interval.hs
@@ -0,0 +1,121 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module Interval
+ ( IList
+ , Intersection
+ , emptyIList, openIList
+ , mkEntry, mkExit
+ , entryexit, exitentry
+ , mapI
+ , unionIntervals, intersectIntervals, differenceIntervals
+ , complementIntervals
+ ) where
+
+import Geometry
+
+-- The result of a ray trace is represented as a list of surface
+-- intersections. Each intersection is a point along the ray with
+-- a flag indicating whether this intersection is an entry or an
+-- exit from the solid. Each intersection also carries unspecified
+-- surface data for use by the illumination model.
+
+-- Just the list of intersections isn't enough, however. An empty
+-- list can denote either a trace that is always within the solid
+-- or never in the solid. To dissambiguate, an extra flag is kept
+-- that indicates whether we are starting inside or outside of the
+-- solid. As a convenience, we also keep an additional flag that
+-- indicates whether the last intersection ends inside or outside.
+
+type IList a = (Bool, [Intersection a], Bool)
+type Intersection a = (Double, Bool, a)
+
+emptyIList = (False, [], False)
+openIList = (True, [], True)
+
+mapI f (b1, is, b2) = (b1, map f is, b2)
+
+isEntry (_, entry, _) = entry
+isExit (_, entry, _) = not entry
+
+mkEntry (t, a) = (t, True, a)
+mkExit (t, a) = (t, False, a)
+
+entryexit w1 w2 = (False, [mkEntry w1, mkExit w2], False)
+exitentry w1 w2 = (True, [mkExit w1, mkEntry w2], True)
+arrange w1@(t1, _) w2@(t2, _) | t1 < t2 = entryexit w1 w2
+ | otherwise = entryexit w2 w1
+
+
+cmpI :: Intersection a -> Intersection a -> Ordering
+cmpI (i, _, _) (j, _, _)
+ | i `near` j = EQ
+ | i < j = LT
+ | otherwise = GT
+
+bad (b1, [], b2) = b1 /= b2
+bad (b1, is, b2) = bad' b1 is || b2 /= b3
+ where (_, b3, _) = last is
+
+bad' b [] = False
+bad' b ((_, c, _) : is) = b == c || bad' c is
+
+unionIntervals :: IList a -> IList a -> IList a
+unionIntervals (isStartOpen, is, isEndOpen) (jsStartOpen, js, jsEndOpen)
+ = (isStartOpen || jsStartOpen, uniIntervals is js, isEndOpen || jsEndOpen)
+ where uniIntervals is [] | jsEndOpen = []
+ | otherwise = is
+ uniIntervals [] js | isEndOpen = []
+ | otherwise = js
+ uniIntervals is@(i : is') js@(j : js')
+ = case cmpI i j of
+ EQ -> if isEntry i == isEntry j then i : uniIntervals is' js'
+ else uniIntervals is' js'
+ LT -> if isEntry j then i : uniIntervals is' js
+ else uniIntervals is' js
+ GT -> if isEntry i then j : uniIntervals is js'
+ else uniIntervals is js'
+
+intersectIntervals :: IList a -> IList a -> IList a
+intersectIntervals is js
+ = complementIntervals (unionIntervals is' js')
+ where is' = complementIntervals is
+ js' = complementIntervals js
+
+differenceIntervals :: IList a -> IList a -> IList a
+differenceIntervals is js
+ = complementIntervals (unionIntervals is' js)
+ where is' = complementIntervals is
+
+complementIntervals :: IList a -> IList a
+complementIntervals (o1, is, o2)
+ = (not o1, [ (i, not isentry, a) | (i, isentry, a) <- is ], not o2)
+
+-- tests...
+
+{-
+mkIn, mkOut :: Double -> Intersection a
+mkIn x = (x, True, undefined)
+mkOut x = (x, False, undefined)
+
+i1 = (False, [ mkIn 2, mkOut 7 ], False)
+i1' = (True, [ mkOut 2, mkIn 7 ], True)
+i2 = (False, [ mkIn 1, mkOut 3, mkIn 4, mkOut 5, mkIn 6, mkOut 8 ], False)
+
+t1 = unionIntervals i1 i2
+t2 = intersectIntervals i1 i2
+t3 = intersectIntervals i2 i1
+t4 = complementIntervals i1
+t5 = intersectIntervals i2 i1'
+t6 = differenceIntervals i2 i1
+t7 = differenceIntervals i2 i2
+
+sh (o1,is,o2) =
+ do if o1 then putStr "..." else return ()
+ putStr $ foldr1 (++) (map si is)
+ if o2 then putStr "..." else return ()
+si (i, True, _, _) = "<" ++ show i
+si (i, False, _, _) = " " ++ show i ++ ">"
+-}
diff --git a/testsuite/tests/programs/galois_raytrace/Main.hs b/testsuite/tests/programs/galois_raytrace/Main.hs
new file mode 100644
index 0000000000..4ef9fe3e95
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Main.hs
@@ -0,0 +1,17 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+-- Modified to read sample input directly from a file.
+
+module Main where
+
+import System
+
+import Parse
+import Eval
+
+main = do { str <- readFile "galois.gml"
+ ; mainEval (rayParse str)
+ }
diff --git a/testsuite/tests/programs/galois_raytrace/Makefile b/testsuite/tests/programs/galois_raytrace/Makefile
new file mode 100644
index 0000000000..9101fbd40a
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Makefile
@@ -0,0 +1,3 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
diff --git a/testsuite/tests/programs/galois_raytrace/Misc.hs b/testsuite/tests/programs/galois_raytrace/Misc.hs
new file mode 100644
index 0000000000..104bd06af1
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Misc.hs
@@ -0,0 +1,11 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module Misc where
+
+import Debug.Trace
+
+debug s v = trace (s ++" : "++ show v ++ "\n") v
+-- debug s v = v
diff --git a/testsuite/tests/programs/galois_raytrace/Parse.hs b/testsuite/tests/programs/galois_raytrace/Parse.hs
new file mode 100644
index 0000000000..931655c16e
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Parse.hs
@@ -0,0 +1,137 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module Parse where
+
+import Char
+import Text.ParserCombinators.Parsec hiding (token)
+
+import Data
+
+
+program :: Parser Code
+program =
+ do { whiteSpace
+ ; ts <- tokenList
+ ; eof
+ ; return ts
+ }
+
+tokenList :: Parser Code
+tokenList = many token <?> "list of tokens"
+
+token :: Parser GMLToken
+token =
+ do { ts <- braces tokenList ; return (TBody ts) }
+ <|> do { ts <- brackets tokenList ; return (TArray ts) }
+ <|> (do { s <- gmlString ; return (TString s) } <?> "string")
+ <|> (do { t <- pident False ; return t } <?> "identifier")
+ <|> (do { char '/' -- No whitespace after slash
+ ; t <- pident True ; return t } <?> "binding identifier")
+ <|> (do { n <- number ; return n } <?> "number")
+
+pident :: Bool -> Parser GMLToken
+pident rebind =
+ do { id <- ident
+ ; case (lookup id opTable) of
+ Nothing -> if rebind then return (TBind id) else return (TId id)
+ Just t -> if rebind then error ("Attempted rebinding of identifier " ++ id) else return t
+ }
+
+ident :: Parser String
+ident = lexeme $
+ do { l <- letter
+ ; ls <- many (satisfy (\x -> isAlphaNum x || x == '-' || x == '_'))
+ ; return (l:ls)
+ }
+
+gmlString :: Parser String
+gmlString = lexeme $ between (char '"') (char '"') (many (satisfy (\x -> isPrint x && x /= '"')))
+
+-- Tests for numbers
+-- Hugs breaks on big exponents (> ~40)
+test_number = "1234 -1234 1 -0 0" ++
+ " 1234.5678 -1234.5678 1234.5678e12 1234.5678e-12 -1234.5678e-12" ++
+ " -1234.5678e12 -1234.5678E-12 -1234.5678E12" ++
+ " 1234e11 1234E33 -1234e33 1234e-33" ++
+ " 123e 123.4e 123ee 123.4ee 123E 123.4E 123EE 123.4EE"
+
+
+-- Always int or real
+number :: Parser GMLToken
+number = lexeme $
+ do { s <- optSign
+ ; n <- decimal
+ ; do { string "."
+ ; m <- decimal
+ ; e <- option "" exponent'
+ ; return (TReal (read (s ++ n ++ "." ++ m ++ e))) -- FIXME: Handle error conditions
+ }
+ <|> do { e <- exponent'
+ ; return (TReal (read (s ++ n ++ ".0" ++ e)))
+ }
+ <|> do { return (TInt (read (s ++ n))) }
+ }
+
+exponent' :: Parser String
+exponent' = try $
+ do { e <- oneOf "eE"
+ ; s <- optSign
+ ; n <- decimal
+ ; return (e:s ++ n)
+ }
+
+decimal = many1 digit
+
+optSign :: Parser String
+optSign = option "" (string "-")
+
+
+------------------------------------------------------
+-- Library for tokenizing.
+
+braces p = between (symbol "{") (symbol "}") p
+brackets p = between (symbol "[") (symbol "]") p
+
+symbol name = lexeme (string name)
+
+lexeme p = do{ x <- p; whiteSpace; return x }
+
+whiteSpace = skipMany (simpleSpace <|> oneLineComment <?> "")
+ where simpleSpace = skipMany1 (oneOf " \t\n\r\v")
+ oneLineComment =
+ do{ string "%"
+ ; skipMany (noneOf "\n\r\v")
+ ; return ()
+ }
+
+
+------------------------------------------------------------------------------
+
+rayParse :: String -> Code
+rayParse is = case (parse program "<stdin>" is) of
+ Left err -> error (show err)
+ Right x -> x
+
+rayParseF :: String -> IO Code
+rayParseF file =
+ do { r <- parseFromFile program file
+ ; case r of
+ Left err -> error (show err)
+ Right x -> return x
+ }
+
+run :: String -> IO ()
+run is = case (parse program "" is) of
+ Left err -> print err
+ Right x -> print x
+
+runF :: IO ()
+runF =
+ do { r <- parseFromFile program "simple.gml"
+ ; case r of
+ Left err -> print err
+ Right x -> print x
+ }
diff --git a/testsuite/tests/programs/galois_raytrace/Pixmap.hs b/testsuite/tests/programs/galois_raytrace/Pixmap.hs
new file mode 100644
index 0000000000..11d20f0df2
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Pixmap.hs
@@ -0,0 +1,64 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module Pixmap where
+
+import Char
+import IO hiding (try)
+import Parsec
+
+readPPM f
+ = do h <- openFile f ReadMode
+ s <- hGetContents h
+ case (parse parsePPM f s) of
+ Left err -> error (show err)
+ Right x -> return x
+
+writePPM f ppm
+ = do h <- openFile f WriteMode
+ let s = showPPM (length (head ppm)) (length ppm) ppm
+ hPutStr h s
+
+-- parsing
+
+parsePPM
+ = do string "P6"
+ whiteSpace
+ width <- number
+ whiteSpace
+ height <- number
+ whiteSpace
+ colormax <- number
+ whiteSpace
+ cs <- getInput
+ return (chop width (chopColors cs))
+
+chopColors [] = []
+chopColors (a:b:c:ds) = (ord a, ord b, ord c) : chopColors ds
+
+chop n [] = []
+chop n xs = h : chop n t
+ where (h, t) = splitAt n xs
+
+number
+ = do ds <- many1 digit
+ return (read ds :: Int)
+
+whiteSpace
+ = skipMany (simpleSpace <|> oneLineComment <?> "")
+ where simpleSpace = skipMany1 (oneOf " \t\n\r\v")
+ oneLineComment =
+ do char '#'
+ skipMany (noneOf "\n\r\v")
+ return ()
+
+-- printing
+
+showPPM :: Int -> Int -> [[(Int,Int,Int)]] -> String
+showPPM wid ht pss
+ = header ++ concat [[chr r, chr g, chr b] | ps <- pss, (r, g, b) <-ps]
+ where
+ header = "P6\n#Galois\n" ++ show wid ++ " " ++ show ht ++ "\n255\n"
+showPPM _ _ _ = error "incorrect length of bitmap string"
diff --git a/testsuite/tests/programs/galois_raytrace/Primitives.hs b/testsuite/tests/programs/galois_raytrace/Primitives.hs
new file mode 100644
index 0000000000..2f21654055
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Primitives.hs
@@ -0,0 +1,24 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module Primitives where
+
+rad2deg :: Double -> Double
+rad2deg r = r * 180 / pi
+
+deg2rad :: Double -> Double
+deg2rad d = d * pi / 180
+
+addi :: Int -> Int -> Int
+addi = (+)
+
+addf :: Double -> Double -> Double
+addf = (+)
+
+acosD :: Double -> Double
+acosD x = acos x * 180 / pi
+
+asinD :: Double -> Double
+asinD x = asin x * 180 / pi
diff --git a/testsuite/tests/programs/galois_raytrace/RayTrace.hs b/testsuite/tests/programs/galois_raytrace/RayTrace.hs
new file mode 100644
index 0000000000..cb15388e2c
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/RayTrace.hs
@@ -0,0 +1,9 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module RayTrace(module Illumination, module Surface) where
+
+import Illumination
+import Surface
diff --git a/testsuite/tests/programs/galois_raytrace/Surface.hs b/testsuite/tests/programs/galois_raytrace/Surface.hs
new file mode 100644
index 0000000000..832f0fcae2
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/Surface.hs
@@ -0,0 +1,115 @@
+-- Copyright (c) 2000 Galois Connections, Inc.
+-- All rights reserved. This software is distributed as
+-- free software under the license in the file "LICENSE",
+-- which is included in the distribution.
+
+module Surface
+ ( SurfaceFn (..)
+ , Properties
+ , sfun, sconst
+ , prop
+ , matte, shiny
+ , chgColor
+ , surface
+ ) where
+
+import Geometry
+import CSG
+import Misc
+
+-- the surface gets passed face then u then v.
+data SurfaceFn c v = SFun (Int -> Double -> Double -> Properties c v)
+ | SConst (Properties c v)
+
+sfun :: (Int -> Double -> Double -> Properties c v) -> SurfaceFn c v
+sfun = SFun
+sconst :: Properties c v -> SurfaceFn c v
+sconst = SConst
+
+type Properties c v = (c, v, v, v)
+
+prop c d s p = (c, d, s, p)
+
+matte = (white, 1.0, 0.0, 1.0)
+shiny = (white, 0.0, 1.0, 1.0)
+
+chgColor :: c -> Properties d v -> Properties c v
+chgColor c (_, d, s, p) = (c, d, s, p)
+
+instance (Show c, Show v) => Show (SurfaceFn c v) where
+ show (SFun _) = "Surface function"
+ -- show (SConst p) = "Surface constant: " ++ show p
+ show (SConst p) = "Surface constant"
+
+evalSurface :: SurfaceFn Color Double -> Int -> Double -> Double -> Properties Color Double
+evalSurface (SConst p) = \_ _ _ -> p
+evalSurface (SFun f) = f
+
+-- calculate surface properties, given the type of
+-- surface, and intersection point in object coordinates
+
+-- surface :: Surface SurfaceFn -> (Int, Point) -> (Vector, Properties)
+
+surface (Planar _ v0 v1) (n, p0, fn)
+ = (norm, evalSurface fn n' u v)
+ where norm = normalize $ cross v0 v1
+ (n', u, v) = planarUV n p0
+
+surface (Spherical _ v0 v1) (_, p0, fn)
+ = (norm, evalSurface fn 0 u v)
+ where x = xCoord p0
+ y = yCoord p0
+ z = zCoord p0
+ k = sqrt (1 - sq y)
+ theta = adjustRadian (atan2 (x / k) (z / k))
+ -- correct so that the image grows left-to-right
+ -- instead of right-to-left
+ u = 1.0 - clampf (theta / (2 * pi))
+ v = clampf ((y + 1) / 2)
+ norm = normalize $ cross v0 v1
+
+-- ZZ ignore the (incorrect) surface model, and estimate the normal
+-- from the intersection in object space
+surface (Cylindrical _ v0 v1) (_, p0, fn)
+ = (norm, evalSurface fn 0 u v)
+ where x = xCoord p0
+ y = yCoord p0
+ z = zCoord p0
+ u = clampf $ adjustRadian (atan2 x z) / (2 * pi)
+ v = y
+ norm = normalize $ cross v0 v1
+
+-- ZZ ignore the (incorrect) surface model, and estimate the normal
+-- from the intersection in object space
+surface (Conic _ v0 v1) (_, p0, fn)
+ = (norm, evalSurface fn 0 u v)
+ where x = xCoord p0
+ y = yCoord p0
+ z = zCoord p0
+ u = clampf $ adjustRadian (atan2 (x / y) (z / y)) / (2 * pi)
+ v = y
+ norm = normalize $ cross v0 v1
+
+planarUV face p0
+ = case face of
+ PlaneFace -> (0, x, z)
+
+ CubeFront -> (0, x, y)
+ CubeBack -> (1, x, y)
+ CubeLeft -> (2, z, y)
+ CubeRight -> (3, z, y)
+ CubeTop -> (4, x, z)
+ CubeBottom -> (5, x, z)
+
+ CylinderTop -> (1, (x + 1) / 2, (z + 1) / 2)
+ CylinderBottom -> (2, (x + 1) / 2, (z + 1) / 2)
+
+ ConeBase -> (1, (x + 1) / 2, (z + 1) / 2)
+ where x = xCoord p0
+ y = yCoord p0
+ z = zCoord p0
+
+-- misc
+
+adjustRadian :: Radian -> Radian
+adjustRadian r = if r > 0 then r else r + 2 * pi
diff --git a/testsuite/tests/programs/galois_raytrace/galois.gml b/testsuite/tests/programs/galois_raytrace/galois.gml
new file mode 100644
index 0000000000..5029d57620
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/galois.gml
@@ -0,0 +1,147 @@
+
+[ [97 95 73 50 89 97 99 99 99 99 99 99 99 99 99 98 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 98 99 99 99 99 99 98 99 99 98 97 99 99 99 99 99 99 99 99 99 99 97 97 96 96 96 96 96 96 99 99 99]
+ [88 96 66 53 52 86 99 99 99 99 99 99 99 99 99 99 99 99 99 98 99 99 99 99 99 99 99 99 99 99 98 96 98 99 99 99 99 99 99 99 99 97 98 99 99 99 99 99 99 99 99 99 96 96 96 98 97 96 96 96 97 97 96]
+ [89 92 79 50 54 45 91 98 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 98 98 99 98 96 98 98 98 98 97 98 99 99 99 99 99 99 99 99 99 99 99 99 99 97 96 96 97 99 99 96 96 98 98 97 97]
+ [88 91 96 81 40 35 39 91 95 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 98 97 97 98 99 98 99 99 96 95 95 95 96 97 99 99 98 97 99 99 97 98 99 99 98 96 96 96 94 96 98 99 96 96 96 97 95 96]
+ [83 92 91 48 54 33 62 64 98 99 99 99 99 99 99 99 97 98 99 99 99 99 99 99 99 98 98 99 99 99 99 99 99 98 97 97 98 99 97 99 99 99 99 99 99 99 99 99 99 99 96 97 98 96 96 97 99 98 96 95 96 96 96]
+ [91 93 64 78 94 75 57 50 81 97 99 99 99 99 99 98 94 96 99 99 99 99 99 99 99 97 98 99 99 99 98 98 99 98 99 98 99 99 98 99 99 99 99 99 99 99 99 99 99 99 97 99 98 96 91 96 97 98 98 96 96 96 99]
+ [95 63 85 94 84 95 72 61 44 84 96 98 99 99 99 99 98 98 98 99 99 99 99 99 99 97 96 98 99 99 97 96 98 99 99 97 98 99 98 97 99 99 99 99 99 99 99 99 99 99 97 99 99 96 93 98 96 97 96 96 96 96 95]
+ [63 80 88 96 96 88 90 52 64 52 95 98 99 99 99 99 99 99 97 98 99 99 99 97 97 99 98 97 97 97 99 96 98 99 99 97 98 99 99 98 98 98 99 99 99 99 99 99 99 99 98 98 99 96 96 96 94 97 98 99 96 92 95]
+ [92 84 90 92 91 88 89 75 50 58 64 96 99 99 99 99 99 99 99 99 99 99 99 98 99 99 98 99 99 98 99 98 99 99 99 99 99 99 99 99 98 98 99 99 99 96 99 98 99 99 99 97 96 97 96 96 92 96 99 98 95 94 95]
+ [91 80 85 85 92 96 93 87 81 49 66 88 99 99 99 99 99 99 99 99 99 99 99 98 99 99 96 98 99 99 99 99 99 98 99 99 99 98 99 99 99 99 99 99 99 98 99 98 99 99 98 97 98 96 96 96 93 96 99 98 96 97 97]
+ [70 90 96 96 95 95 97 93 60 73 64 67 93 97 99 99 99 99 99 99 99 99 99 98 97 97 98 99 99 99 99 99 98 94 97 98 99 98 99 99 99 99 99 99 99 99 98 98 98 97 98 99 99 96 96 96 96 96 99 97 96 96 95]
+ [93 93 97 97 94 88 85 89 90 57 72 43 82 97 99 99 99 99 99 99 99 99 99 99 98 96 97 99 99 99 99 99 99 96 96 96 98 99 99 98 99 97 98 99 99 98 95 81 88 84 98 98 95 96 96 95 96 96 98 95 94 94 92]
+ [87 96 91 94 96 97 98 94 75 66 76 60 67 83 99 99 99 99 99 99 99 99 99 99 99 98 98 99 99 99 99 99 99 97 97 97 95 96 97 95 96 76 70 66 73 83 92 60 88 58 88 95 95 95 96 94 95 96 98 96 97 97 97]
+ [90 96 86 84 89 85 93 92 96 96 94 84 56 85 98 98 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 98 99 97 56 40 57 71 69 66 78 73 84 55 34 39 39 41 44 46 31 61 90 98 97 92 94 98 99 97 98 98 98]
+ [93 91 94 89 66 81 86 94 89 87 97 82 84 65 84 82 87 89 97 96 97 99 99 99 99 99 99 99 99 99 99 97 96 40 4 15 9 9 6 2 7 14 23 9 8 8 10 3 3 8 13 12 17 42 90 93 86 93 96 97 96 96 96]
+ [85 82 82 76 91 90 86 83 84 86 54 37 26 49 31 20 13 43 40 55 80 95 98 98 99 99 99 99 99 98 99 97 66 10 3 4 12 19 4 4 7 18 7 4 11 11 6 11 24 11 12 8 18 9 30 85 93 90 98 99 96 93 96]
+ [77 68 78 66 72 66 79 92 73 57 57 73 69 39 73 68 70 57 22 15 17 21 50 83 93 97 98 99 99 97 94 66 12 0 0 0 3 4 6 21 7 3 5 2 3 14 17 7 4 6 28 39 39 24 20 53 95 80 98 99 98 96 97]
+ [69 75 86 82 89 86 64 51 66 93 93 80 90 92 89 87 92 94 68 34 24 13 17 6 20 55 91 98 98 95 66 10 18 4 3 3 1 3 12 10 9 11 17 3 15 14 17 23 15 26 25 25 21 43 21 10 65 62 97 98 99 98 96]
+ [95 94 94 68 45 48 41 69 84 72 80 94 78 78 94 96 88 93 95 94 83 67 35 13 28 38 15 40 87 80 17 7 4 7 6 9 37 20 19 19 22 9 5 7 11 13 26 14 29 27 41 35 44 19 20 16 43 70 96 96 97 99 99]
+ [93 96 88 54 57 57 75 74 70 79 94 96 94 97 97 88 88 96 83 97 97 72 65 75 46 21 17 9 28 29 19 22 4 9 8 5 24 34 17 19 7 8 25 16 9 5 8 12 15 32 54 43 30 14 18 11 45 62 96 96 96 97 98]
+ [97 91 56 59 44 70 63 78 88 82 73 82 96 97 78 94 94 96 99 99 98 91 54 21 4 4 3 11 14 35 14 17 7 26 36 21 11 35 42 24 3 9 17 13 9 20 9 21 20 45 28 35 42 19 38 14 36 67 98 98 97 97 96]
+ [80 42 56 39 41 71 74 62 54 57 62 68 96 87 92 95 93 97 98 98 67 21 7 4 5 19 22 25 10 8 24 7 6 26 42 43 38 42 32 13 36 60 81 88 67 62 37 63 28 15 26 44 32 30 25 38 62 70 73 78 87 95 97]
+ [33 60 39 44 80 73 40 59 58 55 70 71 90 91 86 97 98 98 92 43 8 9 2 6 42 65 50 45 27 27 24 9 13 37 66 66 88 80 60 72 92 90 96 98 94 84 43 43 18 31 34 35 19 53 28 46 31 23 49 56 40 78 96]
+ [74 32 63 76 67 52 85 93 81 74 85 83 65 80 88 96 98 68 30 4 2 2 2 24 82 56 40 25 44 44 30 52 70 83 87 91 90 73 69 51 86 97 99 99 97 92 44 39 28 26 26 22 49 23 36 67 37 17 23 27 39 54 91]
+ [44 62 77 88 81 94 95 94 55 78 57 42 77 79 90 92 39 7 3 9 1 4 19 68 57 39 49 54 62 53 74 92 88 97 99 99 90 64 82 53 84 99 99 99 97 99 87 76 52 39 48 37 35 26 51 32 8 6 19 6 42 78 84]
+ [61 82 82 81 96 90 94 66 64 77 65 81 96 97 81 20 2 5 9 10 21 23 61 67 55 48 53 61 48 87 97 96 98 98 98 96 69 50 85 60 65 98 99 99 98 97 94 62 45 50 57 54 21 11 16 11 6 11 21 6 26 71 75]
+ [93 77 71 97 90 93 51 85 65 77 94 96 94 77 15 1 0 0 8 9 8 53 73 61 64 59 59 53 87 98 98 98 96 94 98 75 37 34 84 51 37 97 98 99 99 97 57 5 5 4 5 4 7 3 18 4 6 15 9 4 8 64 76]
+ [96 82 93 79 95 82 81 79 85 96 91 74 44 11 12 9 2 0 5 5 24 69 55 63 84 82 75 78 92 98 99 97 95 91 89 33 38 41 70 55 30 94 98 99 98 90 11 8 4 6 3 12 41 2 3 1 6 6 6 6 16 30 58]
+ [89 66 92 84 96 98 97 92 96 75 45 29 9 38 6 10 3 10 1 8 69 67 64 70 85 87 93 94 97 99 99 99 94 94 70 44 23 60 78 55 28 98 99 99 99 78 6 9 16 15 5 2 8 4 7 1 18 13 18 16 4 23 66]
+ [48 79 85 82 90 97 96 95 64 20 25 26 27 12 5 8 6 7 6 42 74 64 49 80 94 96 98 99 99 99 99 98 94 96 71 50 7 55 92 31 49 98 99 99 98 62 7 10 13 8 12 11 9 3 5 4 16 9 11 9 13 44 68]
+ [93 72 87 92 96 98 95 62 38 9 23 64 5 6 12 32 7 9 15 70 69 54 75 97 96 97 99 99 99 99 99 98 98 96 71 79 62 66 69 20 41 98 99 99 98 63 9 29 38 33 28 17 17 40 10 9 18 10 22 10 8 39 74]
+ [93 69 84 88 95 93 72 41 17 31 69 54 35 6 6 26 18 36 39 68 77 82 95 98 98 97 99 98 99 99 99 99 99 97 91 89 92 63 31 11 44 98 99 99 98 77 19 8 13 22 30 28 35 14 18 21 15 7 37 46 23 53 91]
+ [77 85 92 96 88 65 24 23 58 63 44 35 24 17 9 24 18 21 43 54 87 95 97 98 98 97 99 97 96 98 99 99 99 99 97 89 64 47 42 16 68 99 99 99 99 94 31 17 37 25 20 51 13 7 8 7 6 34 40 39 65 63 94]
+ [58 83 97 92 90 42 34 66 76 38 42 35 22 12 10 51 8 33 54 80 98 96 94 90 56 88 94 95 70 68 98 98 98 97 96 94 89 66 30 48 97 99 99 99 98 98 61 13 24 10 20 19 18 6 15 10 11 25 43 27 63 53 92]
+ [87 71 66 73 79 65 69 44 74 47 44 38 18 15 24 29 9 38 67 93 98 96 79 53 46 96 95 88 23 61 87 95 95 95 87 79 56 35 46 89 99 99 99 99 99 98 67 23 13 10 21 49 31 21 26 16 17 36 46 40 46 67 96]
+ [96 80 47 69 60 77 59 22 29 74 61 50 56 41 34 27 12 48 74 96 99 97 56 40 23 95 96 63 39 77 85 82 77 75 69 68 71 77 90 97 99 99 99 99 99 98 66 29 44 17 7 23 23 18 24 27 16 33 67 18 30 87 96]
+ [97 96 92 70 45 52 21 22 30 18 38 74 82 25 24 21 12 35 74 96 99 93 31 57 33 95 94 35 17 53 50 48 77 89 93 96 96 98 95 97 99 99 99 99 99 99 72 7 16 28 22 31 14 10 20 23 16 13 39 25 54 95 92]
+ [90 64 52 70 92 83 73 49 25 8 36 40 44 25 39 28 42 26 72 96 98 96 28 41 43 95 88 18 8 75 92 89 91 95 98 93 75 61 94 97 99 99 99 99 99 98 82 13 12 20 34 25 9 23 73 55 45 19 21 15 93 95 96]
+ [22 38 82 96 93 95 93 81 89 51 45 46 26 36 28 24 36 15 31 94 98 95 55 44 30 80 93 34 19 87 88 89 83 94 94 79 30 16 33 90 97 99 99 99 98 98 74 26 9 32 38 21 14 54 74 41 46 46 18 29 91 92 96]
+ [79 92 98 98 98 95 86 82 85 91 94 81 47 28 13 16 47 7 6 69 93 95 92 70 40 75 95 83 44 42 43 83 94 96 81 61 26 26 7 32 85 98 99 99 98 95 62 38 8 13 20 30 23 62 42 31 3 11 11 59 94 97 97]
+ [96 96 97 98 98 85 82 94 93 88 89 96 94 92 59 40 19 12 3 10 37 84 90 94 79 60 93 67 75 65 68 94 97 96 66 40 9 11 48 4 35 93 98 99 97 62 50 36 4 3 15 53 33 63 28 6 2 15 56 72 97 97 95]
+ [98 94 97 95 86 94 91 89 90 95 95 96 95 93 98 88 75 58 34 29 7 21 54 83 84 89 75 79 85 94 94 95 98 82 43 25 6 21 60 24 15 89 97 99 70 66 47 48 2 0 3 22 21 7 4 1 6 55 83 96 98 95 93]
+ [93 96 96 91 60 65 73 87 93 96 95 91 91 88 94 97 97 97 90 76 74 25 2 19 37 59 72 71 83 91 87 90 92 95 67 47 69 37 51 45 3 76 98 98 46 83 71 21 3 4 2 19 13 2 0 7 60 89 97 99 98 92 90]
+ [90 88 92 95 97 95 95 93 87 88 82 86 95 93 92 91 97 96 49 73 58 58 24 6 10 58 77 49 56 84 82 89 87 94 87 46 71 37 47 67 9 54 98 98 56 50 58 13 14 18 0 10 20 4 2 31 96 96 99 99 99 96 95]
+ [78 55 84 95 97 89 73 71 89 92 91 89 90 90 83 82 93 93 68 54 41 27 24 49 85 96 97 89 72 70 48 70 76 91 95 92 43 25 40 87 27 69 97 96 75 33 13 12 10 5 2 14 6 3 15 86 99 97 99 99 97 96 97]
+ [43 61 66 70 93 79 86 94 89 84 80 84 90 96 90 92 94 92 81 37 34 70 94 96 99 98 99 98 96 95 85 77 57 62 63 59 55 50 52 77 33 63 91 71 18 6 4 5 4 4 4 12 4 15 77 98 99 99 99 98 95 95 96]
+ [77 82 75 56 62 67 86 85 84 89 92 90 80 77 52 61 56 59 70 89 98 98 99 99 99 99 99 99 99 98 98 98 92 92 91 69 61 47 28 22 4 9 14 7 4 3 7 11 4 9 4 4 22 79 97 96 97 99 98 96 93 95 96]
+ [97 96 93 97 94 86 69 64 73 59 71 71 71 64 87 94 95 96 99 99 99 99 99 99 99 97 99 99 99 99 99 99 98 96 96 96 96 95 96 93 77 35 11 4 10 2 7 6 2 1 18 59 97 97 99 97 97 99 99 97 95 95 95]
+ [96 97 98 94 97 95 89 75 65 85 89 93 97 98 99 98 98 99 99 99 99 99 99 97 97 99 98 99 99 97 96 96 95 94 95 97 96 96 96 97 98 93 75 45 19 4 2 4 18 49 90 98 99 99 99 95 96 98 96 96 96 95 96]
+ [96 98 99 97 96 95 78 59 78 97 98 98 99 99 99 99 99 99 99 99 99 99 99 98 98 99 97 97 98 96 92 91 92 95 96 98 98 95 96 97 99 98 96 97 93 82 80 87 98 97 98 99 99 98 97 96 96 98 96 96 96 97 96]
+ [95 84 92 97 95 94 50 80 95 98 99 99 99 99 99 97 96 99 98 97 98 99 99 97 97 99 97 97 96 96 90 82 89 92 97 94 94 94 93 96 99 99 98 99 97 99 98 99 99 97 97 97 98 98 96 97 96 96 96 96 96 98 96]
+ [97 90 92 98 92 52 39 93 98 99 99 99 99 99 98 95 95 98 98 96 97 99 99 97 97 99 99 98 98 95 93 89 87 92 94 88 90 90 88 94 96 97 98 98 97 99 99 99 99 97 97 96 95 96 95 96 96 97 98 98 99 98 96]
+ [96 94 90 95 69 43 75 97 99 99 99 99 99 99 97 96 94 94 95 96 99 99 97 94 95 98 99 97 95 95 98 95 87 93 89 89 87 88 93 94 90 94 96 96 98 98 99 98 99 98 96 97 97 95 93 95 96 98 99 99 99 98 99]
+ [97 81 85 68 51 53 96 97 99 99 99 99 99 99 99 97 94 95 95 96 96 98 98 97 95 94 95 95 84 90 96 95 93 95 94 88 79 88 92 97 95 95 95 96 98 99 97 97 99 99 99 98 95 94 96 98 97 99 98 98 98 99 99]
+ [81 86 70 56 71 72 97 99 99 99 99 99 99 99 99 99 97 98 97 96 96 96 98 98 95 94 96 96 92 94 92 94 95 94 93 91 91 93 95 97 92 87 93 95 98 99 95 95 99 98 98 98 94 88 95 95 96 98 96 97 97 96 98]
+ [67 62 30 43 90 73 95 98 98 96 98 98 97 98 95 98 95 95 96 95 98 94 95 96 94 95 96 95 95 96 90 94 96 96 96 92 91 92 94 96 97 91 91 95 94 97 95 93 98 96 96 96 97 95 96 93 95 96 96 96 97 95 96]
+ [53 35 46 37 71 72 94 97 99 99 98 97 98 98 95 94 96 97 96 96 98 87 92 93 96 95 95 92 93 96 95 93 93 89 94 90 87 89 92 90 95 96 97 90 90 96 95 94 97 97 96 96 96 97 97 94 95 96 96 97 96 97 96]
+ [74 88 56 35 91 90 88 94 97 97 95 95 97 98 95 94 96 97 96 96 98 96 95 95 92 88 91 92 92 94 93 94 90 86 88 95 94 93 93 92 97 96 96 94 95 96 96 96 98 99 98 99 98 98 98 97 95 97 98 98 96 94 93]
+ [92 93 63 65 92 97 93 95 99 96 89 98 99 98 96 98 96 93 93 95 97 94 91 94 97 94 95 96 93 88 85 90 92 86 90 97 96 96 96 93 94 97 95 96 94 96 99 96 96 96 96 98 98 96 95 95 94 97 96 93 92 95 93]
+ [82 94 95 81 92 95 92 97 99 98 94 93 92 97 94 97 97 98 94 90 97 95 92 94 94 90 91 96 92 88 94 94 89 83 90 97 96 96 95 96 97 95 94 97 96 96 97 94 93 93 96 98 94 96 96 92 89 90 94 94 94 92 88]
+ [78 85 76 94 97 95 96 97 99 99 98 96 97 97 96 97 97 95 95 96 98 96 96 96 88 86 93 96 94 93 89 88 88 90 90 94 94 97 97 96 96 97 98 98 98 96 92 87 96 96 96 96 96 94 92 93 88 88 93 95 94 90 87]
+ [83 88 91 94 97 97 99 98 98 98 98 99 99 98 99 98 99 97 98 97 98 96 96 95 96 94 96 95 95 91 85 90 90 93 94 94 92 94 95 96 98 97 98 98 97 97 97 96 96 96 95 96 94 95 95 94 93 93 94 95 93 88 91]
+ [95 90 94 94 98 96 98 99 96 98 97 97 98 98 99 99 96 95 97 97 99 95 96 98 93 96 96 96 93 95 89 93 93 95 96 96 97 97 97 97 99 98 97 96 98 99 99 99 98 93 93 96 96 96 95 94 91 92 90 93 94 96 96]
+] /galois
+
+{ /v /u /face % bind parameters
+ { % toIntCoord : float -> int
+ 63.0 mulf floor /i % i = floor(3.0*i)
+ i 63 eqi { 62 } { i } if % return max(2, i)
+ } /toIntCoord
+ galois u toIntCoord apply get % val = texture[u][v]
+ v toIntCoord apply get
+ real 100.0 divf /gal
+ gal gal gal point % b/w galois
+ 1.0 % kd = 1.0
+ 0.0 % ks = 0.0
+ 1.0 % n = 1.0
+} /galoisface
+
+
+galoisface cube
+-0.5 -0.5 -0.5 translate % center
+2.5 uscale % make it bigger
+-25.0 rotatex -25.0 rotatey % rotate
+0.0 -1.0 7.0 translate % move to final position
+
+%galoisface cylinder
+%-0.5 -0.5 -0.5 translate % center
+%1.5 uscale % make it bigger
+%0.0 rotatex 90.0 rotatey % rotate
+%0.0 0.0 5.0 translate % move to final position
+
+%galoisface sphere
+%-0.5 -0.5 -0.5 translate % center
+%1.5 uscale % make it bigger
+%-25.0 rotatex 25.0 rotatey % rotate
+%-3.0 0.0 5.0 translate % move to final position
+
+%union union % join the 3 together
+
+{ /v /u /face
+ v 5.0 divf /v
+ u 5.0 divf /u
+ v floor 2 modi 0 eqi
+ { 1.0 }
+ { 0.8 }
+ if /r
+ u floor 2 modi 0 eqi
+ { 1.0 }
+ { 0.8 }
+ if /g
+ v frac /v
+ u frac /u
+ v 0.0 lessf { v 1.0 addf } { v } if /v
+ u 0.0 lessf { u 1.0 addf } { u } if /u
+ { % toIntCoord : float -> int
+ 63.0 mulf floor /i % i = floor(3.0*i)
+ i 63 eqi { 62 } { i } if % return max(2, i)
+ } /toIntCoord
+ galois u toIntCoord apply get % val = texture[u][v]
+ v toIntCoord apply get
+ real 100.0 divf /gal
+ r gal mulf g gal mulf gal point % b/w galois
+ 0.0 % kd = 1.0
+ 1.0 % ks = 0.0
+ 1.0 % n = 1.0
+} plane /p
+
+p 0.0 -3.0 0.0 translate % plane at Y = -3
+
+union
+
+/scene
+ % directional light
+1.0 -1.0 0.0 point % direction
+1.0 1.0 1.0 point light /l % directional light
+
+1.0 0.5 0.0 point % ambient light
+[ l ] % lights
+scene % scene to render
+3 % tracing depth
+90.0 % field of view
+300 200
+"galois.ppm" % output file
+render
+
diff --git a/testsuite/tests/programs/galois_raytrace/galois_raytrace.stdout b/testsuite/tests/programs/galois_raytrace/galois_raytrace.stdout
new file mode 100644
index 0000000000..ca44ff5c4b
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/galois_raytrace.stdout
@@ -0,0 +1,205 @@
+P3
+#Galois
+300 200
+255
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 253 142 255 248 125 255 253 128 255 248 125 255 248 125 255 248 125 255 245 124 255 248 125 255 243 123 255 250 127 255 248 125 255 240 122 255 253 128 255 255 129 255 250 127 255 245 124 208 139 70 255 217 110 255 196 99 254 170 86 255 175 89 255 235 119 255 243 123 255 248 125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 150 255 248 125 255 250 127 255 255 129 255 255 129 255 250 127 255 243 123 255 238 120 255 248 125 255 248 125 255 253 128 255 240 122 255 232 118 239 160 81 255 181 91 255 173 87 255 181 91 88 59 30 81 54 27 34 23 11 69 46 23 42 28 14 142 95 48 154 103 52 177 119 60 96 64 32 57 38 19 227 152 77 255 248 125 255 255 129 255 255 129 255 248 125 255 250 127 255 248 125 255 255 129 255 253 128 255 250 127 255 248 125 255 238 120 255 243 123 255 248 125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 153 255 255 160 255 250 127 255 248 125 255 248 125 255 253 128 255 248 125 255 248 125 255 248 125 255 248 125 255 248 125 255 253 128 162 108 55 92 62 31 166 111 56 54 36 18 146 98 49 108 72 36 139 93 47 61 41 20 69 46 23 27 18 9 19 12 6 69 46 23 30 20 10 61 41 20 88 59 30 212 142 72 119 80 40 23 15 7 27 18 9 255 222 112 255 253 128 255 250 127 255 248 125 255 248 125 255 248 125 255 248 125 255 245 124 255 245 124 255 230 116 255 240 122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 151 255 255 158 255 255 156 255 255 129 255 255 129 255 253 128 255 255 129 255 255 129 255 255 129 255 255 129 255 250 127 224 150 76 119 80 40 50 33 17 108 72 36 96 64 32 208 139 70 108 72 36 131 87 44 100 67 34 220 147 74 19 12 6 19 12 6 42 28 14 108 72 36 196 131 66 189 126 64 119 80 40 96 64 32 115 77 39 204 137 69 73 49 24 54 36 18 15 10 5 255 250 127 255 255 129 255 253 128 255 250 127 255 243 123 255 250 127 255 253 128 255 243 123 255 245 124 255 248 125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 148 255 255 158 255 255 160 255 255 158 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 245 124 255 238 120 150 100 51 23 15 7 65 43 22 100 67 34 30 20 10 34 23 11 166 111 56 150 100 51 239 160 81 19 12 6 34 23 11 38 25 13 30 20 10 65 43 22 88 59 30 112 75 38 50 33 17 146 98 49 15 10 5 11 7 3 54 36 18 15 10 5 7 5 2 69 46 23 255 255 129 255 255 129 255 255 129 255 253 128 255 253 128 255 248 125 255 248 125 255 240 122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 155 255 255 155 255 255 160 255 255 156 255 255 158 255 255 129 255 253 128 255 250 127 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 254 170 86 34 23 11 15 10 5 7 5 2 27 18 9 61 41 20 255 227 115 255 253 128 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 253 128 255 255 129 255 255 129 255 255 129 255 255 129 255 253 128 255 250 127 177 119 60 216 144 73 69 46 23 15 10 5 73 49 24 255 250 127 255 255 129 255 255 129 255 250 127 255 248 125 255 248 125 255 248 125 255 250 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 155 255 255 153 255 255 160 255 255 156 255 255 156 255 255 155 255 255 129 255 255 129 255 255 129 255 255 129 255 250 127 255 253 128 255 255 129 255 255 129 255 253 128 255 245 124 7 5 2 27 18 9 34 23 11 84 56 28 27 18 9 139 93 47 255 238 120 255 217 110 251 168 85 142 95 48 108 72 36 189 126 64 169 113 57 255 175 89 255 255 129 255 255 129 255 255 129 255 250 127 255 240 122 255 230 116 208 139 70 243 162 82 34 23 11 255 240 122 255 253 128 255 250 127 255 245 124 255 225 114 255 248 125 255 250 127 255 245 124 255 250 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 153 255 255 158 255 255 156 255 255 161 255 255 161 255 255 158 255 255 129 255 255 129 255 250 127 255 245 124 255 255 129 255 253 128 255 253 128 255 255 129 255 255 129 255 253 128 220 147 74 34 23 11 46 31 15 3 2 1 142 95 48 131 87 44 162 108 55 255 206 104 247 165 83 193 129 65 158 106 53 231 155 78 212 142 72 243 162 82 181 121 61 135 90 45 255 199 101 235 157 80 61 41 20 42 28 14 81 54 27 142 95 48 96 64 32 181 121 61 255 248 125 255 245 124 255 227 115 255 240 122 255 245 124 255 238 120 255 240 122 255 245 124 255 245 124 255 250 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 156 255 255 155 255 255 156 255 255 158 255 255 161 255 255 153 255 255 156 255 255 129 255 255 129 255 248 125 255 253 128 255 253 128 255 255 129 255 255 129 255 253 128 255 243 123 255 250 127 255 250 127 154 103 52 0 0 0 15 10 5 27 18 9 100 67 34 100 67 34 142 95 48 255 250 127 255 253 128 255 230 116 255 181 91 255 183 93 255 235 119 255 250 127 255 225 114 255 178 90 255 253 128 255 243 123 254 170 86 166 111 56 255 225 114 255 245 124 255 235 119 255 248 125 255 248 125 255 250 127 255 230 116 255 240 122 255 248 125 255 227 115 255 232 118 255 232 118 255 248 125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 151 255 255 156 255 255 160 255 255 156 255 255 145 121 84 47 255 194 109 255 255 148 255 255 129 255 253 128 255 253 128 255 255 129 255 253 128 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 243 123 254 170 86 65 43 22 54 36 18 92 62 31 92 62 31 255 191 97 255 250 127 255 255 129 255 255 129 255 253 128 255 255 129 255 255 129 255 245 124 255 212 107 255 230 116 255 230 116 255 243 123 255 245 124 255 230 116 255 181 91 255 253 128 255 255 129 255 235 119 255 212 107 255 245 124 255 245 124 255 243 123 255 240 122 255 232 118 255 227 115 255 232 118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 151 255 255 160 255 255 160 255 255 158 25 17 9 75 52 29 167 116 65 163 113 63 255 255 129 255 255 129 255 253 128 255 250 127 255 255 129 255 253 128 255 250 127 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 253 128 34 23 11 42 28 14 96 64 32 96 64 32 208 139 70 235 157 80 255 201 102 255 243 123 255 255 129 255 253 128 255 248 125 88 59 30 150 100 51 30 20 10 73 49 24 169 113 57 255 219 111 255 214 108 255 186 94 255 248 125 255 255 129 255 255 129 255 248 125 255 253 128 255 217 110 255 245 124 255 240 122 255 240 122 255 238 120 255 245 124 255 240 122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 156 255 255 160 255 255 161 62 43 24 4 2 1 79 55 31 179 125 70 33 23 13 255 221 124 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 250 127 255 255 129 255 250 127 255 253 128 255 255 129 255 255 129 255 255 129 255 240 122 77 51 26 177 119 60 15 10 5 19 12 6 216 144 73 150 100 51 185 124 62 255 212 107 255 225 114 255 248 125 255 250 127 255 250 127 255 248 125 255 245 124 255 245 124 255 206 104 255 194 98 255 230 116 227 152 77 255 248 125 255 253 128 255 250 127 255 255 129 255 255 129 255 255 129 255 243 123 255 243 123 255 245 124 255 227 115 255 232 118 255 222 112 255 248 125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+49 61 61 139 139 174 142 142 178 126 158 158 81 81 102 48 60 60 138 138 173 141 141 176 125 156 156 81 81 101 48 60 60 137 137 171 139 139 174 124 155 155 80 80 100 47 59 59 136 136 170 138 138 173 123 153 153 79 79 99 47 59 59 134 134 168 137 137 171 121 152 152 78 78 98 46 58 58 133 133 167 136 136 170 120 150 150 78 78 97 46 58 58 132 132 165 134 134 168 119 149 149 77 77 96 45 57 57 130 130 163 133 133 166 118 147 147 76 76 95 45 56 56 129 129 161 131 131 164 117 146 146 75 75 94 45 56 56 128 128 160 130 130 163 115 144 144 74 74 93 44 55 55 126 126 158 129 129 161 114 143 143 73 73 92 44 55 55 125 125 156 127 127 159 113 141 141 73 73 91 43 54 54 123 123 154 126 126 157 111 139 139 72 72 90 43 53 53 122 122 153 124 124 155 110 138 138 71 71 89 42 53 53 120 120 151 123 123 153 109 136 136 70 70 88 41 52 52 119 119 149 121 121 152 107 134 134 69 69 87 41 51 51 118 118 147 120 120 150 106 133 133 68 68 86 40 51 51 116 116 145 118 118 148 105 131 131 67 67 84 40 50 50 115 115 143 117 117 146 103 129 129 67 67 83 39 49 49 113 113 142 115 115 144 102 128 128 66 66 82 39 49 49 112 112 140 114 114 142 101 126 126 65 65 81 38 48 48 110 110 138 112 112 140 99 124 124 64 64 80 38 48 48 109 109 136 111 111 139 98 123 123 63 63 79 37 47 47 107 107 134 109 109 137 97 121 121 62 62 78 37 46 46 106 106 133 255 255 156 255 255 161 255 255 161 255 255 160 25 17 9 117 81 45 188 130 73 104 72 40 37 26 14 255 186 104 255 255 148 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 253 128 193 129 65 135 90 45 251 168 85 208 139 70 7 5 2 7 5 2 73 49 24 235 157 80 212 142 72 247 165 83 255 194 98 255 245 124 255 250 127 255 204 103 216 144 73 119 80 40 212 142 72 255 238 120 208 139 70 7 5 2 92 62 31 255 243 123 255 255 129 255 255 129 255 255 129 255 255 129 255 250 127 255 253 128 255 245 124 255 245 124 255 235 119 255 248 125 255 248 125 54 54 68 32 40 40 92 92 115 88 110 110 83 104 104 54 54 67 32 40 40 91 91 114 87 109 109 83 103 103 53 53 67 31 39 39 91 91 113 87 108 108 82 102 102 53 53 66 31 39 39 90 90 112 86 108 108 81 102 102 52 52 65 31 39 39 89 89 111 85 107 107 80 101 101 52 52 65 31 38 38 88 88 111 85 106 106 80 100 100 51 51 64 30 38 38 88 88 110 84 105 105 79 99 99 51 51 64 30 38 38 87 87 109 83 104 104 79 98 98 51 51 64 30 38 38 86 86 108 83 104 104 78 98 98 50 50 63 30 37 37 86 86 107 82 103 103 78 97 97 50 50 63 30 37 37 85 85 107 82 102 102 77 97 97 50 50 62 29 37 37 85 85 106 81 102 102 77 96 96 49 49 62 29 37 37 84 84 106 81 101 101 76 96 96 49 49 62 29 37 37 84 84 105 80 101 101 76 95 95 49 49 61 29 36 36 83 83 104 80 100 100 76 95 95 49 49 61 29 36 36 83 83 104 80 100 100 75 94 94 48 48 61 29 36 36 83 83 104 79 99 99 75 94 94 48 48 60 29 36 36 82 82 103 79 99 99 75 93 93 48 48 60 28 36 36 82 82 103 79 98 98 74 93 93 48 48 60 28 36 36 82 82 102 78 98 98 74 93 93 48 48 60 28 35 35 81 81 102 78 98 98 74 92 92 48 48 60 28 35 35 81 81 102 78 97 97 74 92 92 47 47 59 28 35 35 81 81 101 78 97 97 73 92 92 47 47 59 28 35 35 81 81 101 77 97 97 73 91 91 47 47 59
+127 159 159 49 61 61 142 142 178 82 82 102 139 139 174 126 158 158 48 60 60 141 141 177 81 81 101 138 138 172 125 156 156 48 60 60 140 140 175 80 80 100 137 137 171 124 155 155 47 59 59 139 139 174 80 80 100 135 135 169 123 153 153 47 59 59 137 137 172 79 79 99 134 134 168 121 152 152 47 58 58 136 136 170 78 78 98 133 133 166 120 150 150 46 58 58 135 135 169 77 77 97 132 132 165 119 149 149 46 57 57 133 133 167 76 76 96 130 130 163 118 147 147 45 57 57 132 132 165 76 76 95 129 129 161 117 146 146 45 56 56 131 131 163 75 75 94 127 127 159 115 144 144 44 55 55 129 129 162 74 74 93 126 126 158 114 143 143 44 55 55 128 128 160 73 73 92 125 125 156 113 141 141 43 54 54 126 126 158 72 72 91 123 123 154 111 139 139 43 53 53 125 125 156 71 71 89 122 122 152 110 138 138 42 53 53 123 123 154 71 71 88 120 120 150 109 136 136 42 52 52 122 122 152 70 70 87 119 119 149 107 134 134 41 52 52 120 120 151 69 69 86 117 117 147 106 133 133 41 51 51 119 119 149 68 68 85 116 116 145 105 131 131 40 50 50 117 117 147 67 67 84 114 114 143 103 129 129 40 50 50 116 116 145 66 66 83 113 113 141 102 128 128 39 49 49 114 114 143 65 65 82 112 112 140 101 126 126 39 48 48 113 113 141 65 65 81 110 110 138 100 125 125 38 48 48 111 111 139 64 64 80 109 109 136 98 123 123 38 47 47 110 110 138 63 63 79 107 107 134 97 121 121 37 46 46 255 255 158 255 255 155 255 255 160 205 142 80 58 40 22 255 183 102 83 58 32 25 17 9 46 32 17 108 75 42 255 226 127 255 255 129 255 253 128 255 255 129 255 255 129 255 255 129 255 255 129 255 253 128 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 248 125 212 142 72 131 87 44 255 243 123 255 250 127 255 255 129 166 111 56 15 10 5 34 23 11 34 23 11 19 12 6 30 20 10 255 181 91 255 175 89 208 139 70 255 240 122 255 248 125 255 248 125 255 243 123 255 178 90 112 75 38 255 196 99 255 188 95 142 95 48 255 230 116 255 255 129 255 255 129 255 248 125 255 248 125 255 248 125 255 245 124 255 248 125 255 245 124 255 248 125 255 250 127 84 106 106 32 40 40 89 111 111 54 54 68 92 92 116 84 105 105 32 40 40 88 110 110 54 54 67 92 92 115 83 104 104 32 40 40 87 109 109 53 53 67 91 91 114 82 103 103 31 39 39 87 108 108 53 53 66 90 90 113 81 102 102 31 39 39 86 107 107 52 52 66 89 89 112 81 101 101 31 39 39 85 107 107 52 52 65 89 89 111 80 100 100 31 38 38 84 106 106 52 52 65 88 88 110 80 100 100 30 38 38 84 105 105 51 51 64 87 87 109 79 99 99 30 38 38 83 104 104 51 51 64 87 87 108 78 98 98 30 38 38 83 104 104 50 50 63 86 86 108 78 98 98 30 37 37 82 103 103 50 50 63 86 86 107 78 97 97 30 37 37 82 102 102 50 50 62 85 85 107 77 96 96 29 37 37 81 102 102 50 50 62 85 85 106 77 96 96 29 37 37 81 101 101 49 49 62 84 84 105 76 95 95 29 37 37 80 101 101 49 49 61 84 84 105 76 95 95 29 36 36 80 100 100 49 49 61 83 83 104 76 95 95 29 36 36 80 100 100 49 49 61 83 83 104 75 94 94 29 36 36 79 99 99 48 48 61 83 83 103 75 94 94 29 36 36 79 99 99 48 48 60 82 82 103 75 93 93 28 36 36 79 99 99 48 48 60 82 82 103 74 93 93 28 36 36 78 98 98 48 48 60 82 82 102 74 93 93 28 35 35 78 98 98 48 48 60 81 81 102 74 92 92 28 35 35 78 98 98 48 48 60 81 81 102 74 92 92 28 35 35 78 97 97 47 47 59 81 81 101
+142 178 178 49 61 61 49 61 61 138 173 173 140 140 175 40 40 50 10 10 12 139 139 174 141 177 177 35 44 44 28 35 35 25 32 32 140 140 176 17 17 21 39 39 49 5 5 7 135 135 169 124 155 155 4 5 5 2 3 3 137 171 171 137 137 171 79 79 99 20 20 26 133 133 167 136 170 170 47 58 58 47 58 58 132 165 165 133 133 167 38 38 48 9 9 12 133 133 166 135 169 169 34 42 42 27 34 34 24 30 30 134 134 168 16 16 20 37 37 47 5 5 6 129 129 161 118 147 147 4 5 5 2 3 3 130 163 163 130 130 163 75 75 94 19 19 24 127 127 158 129 161 161 44 56 56 44 55 55 126 157 157 127 127 158 36 36 45 9 9 11 126 126 157 128 160 160 32 40 40 25 32 32 23 29 29 127 127 159 15 15 19 35 35 44 5 5 6 122 122 153 111 139 139 3 4 4 2 3 3 123 154 154 123 123 154 71 71 89 18 18 23 120 120 150 122 152 152 42 52 52 42 52 52 118 148 148 119 119 149 34 34 43 8 8 10 119 119 148 121 151 151 30 38 38 24 30 30 21 27 27 120 120 150 14 14 18 33 33 42 4 4 6 115 115 144 105 131 131 3 4 4 2 2 2 116 145 145 116 116 145 67 67 84 17 17 22 112 112 141 115 143 143 39 49 49 39 49 49 111 139 139 112 112 140 32 32 40 8 8 10 111 111 139 113 142 142 28 35 35 22 28 28 20 25 25 112 112 140 13 13 17 31 31 39 4 4 5 108 108 135 98 123 123 3 4 4 2 2 2 109 136 136 109 109 136 255 255 158 255 255 147 255 255 160 16 11 6 0 0 0 125 87 49 41 29 16 29 20 11 54 37 21 87 61 34 167 116 65 255 255 161 255 255 129 255 255 129 255 255 129 255 255 129 255 248 125 255 253 128 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 225 114 50 33 17 255 238 120 255 227 115 255 227 115 255 243 123 255 253 128 255 253 128 150 100 51 0 0 0 7 5 2 11 7 3 27 18 9 69 46 23 69 46 23 34 23 11 46 31 15 46 31 15 139 93 47 181 121 61 73 49 24 255 250 127 255 250 127 255 243 123 216 144 73 255 245 124 255 255 129 255 248 125 255 243 123 255 243 123 255 245 124 255 248 125 255 248 125 255 250 127 255 255 129 255 248 125 93 93 117 95 119 119 24 30 30 19 24 24 17 21 21 89 111 111 11 11 14 26 26 33 3 3 4 91 91 114 83 104 104 2 3 3 1 2 2 92 115 115 92 92 115 53 53 67 14 14 17 90 90 112 91 114 114 31 39 39 31 39 39 89 111 111 90 90 112 26 26 32 6 6 8 89 89 112 91 114 114 23 28 28 18 23 23 16 20 20 85 106 106 11 11 13 25 25 32 3 3 4 87 87 109 80 100 100 2 3 3 1 2 2 89 111 111 89 89 111 51 51 64 13 13 16 86 86 108 88 110 110 30 38 38 30 38 38 86 108 108 87 87 109 25 25 31 6 6 7 86 86 108 88 110 110 22 27 27 17 22 22 16 20 20 82 103 103 10 10 13 24 24 31 3 3 4 85 85 106 77 97 97 2 3 3 1 2 2 86 108 108 86 86 107 50 50 62 13 13 16 84 84 105 86 107 107 29 37 37 29 37 37 84 105 105 84 84 106 24 24 30 6 6 7 84 84 105 86 107 107 21 27 27 17 21 21 15 19 19 80 100 100 10 10 13 24 24 30 3 3 4 83 83 103 76 95 95 2 3 3 1 2 2 84 105 105 84 84 105 49 49 61 12 12 16 82 82 103 84 105 105 29 36 36 29 36 36 82 102 102 83 83 103 23 23 29 5 5 7 82 82 103 84 105 105 21 26 26 17 21 21 15 19 19 79 98 98 10 10 12 23 23 29 3 3 4 81 81 101 74 93 93 2 3 3 1 2 2 82 103 103 82 82 103 48 48 60 12 12 15 81 81 101
+102 127 127 138 172 172 82 103 103 139 174 174 143 143 179 138 138 173 141 141 176 110 110 138 132 132 165 129 129 161 141 177 177 17 21 21 135 169 169 129 162 162 135 169 169 126 158 158 139 139 173 5 5 7 132 132 166 132 132 165 125 125 156 126 126 158 138 173 173 5 7 7 137 171 171 136 171 171 121 151 151 137 137 172 136 136 170 8 8 10 136 136 171 120 120 150 130 130 163 134 168 168 135 169 169 95 119 119 129 162 162 77 97 97 130 163 163 134 134 168 130 130 162 132 132 165 103 103 129 123 123 154 121 121 151 132 166 166 16 20 20 126 158 158 121 151 151 126 158 158 118 147 147 129 129 162 5 5 6 124 124 155 123 123 154 116 116 146 117 117 147 129 161 161 5 6 6 127 159 159 127 159 159 112 140 140 128 128 160 126 126 158 7 7 9 127 127 158 111 111 139 121 121 151 125 156 156 125 157 157 88 111 111 120 150 150 72 90 90 121 151 151 124 124 155 120 120 150 122 122 153 96 96 120 114 114 143 111 111 139 122 153 153 14 18 18 117 146 146 112 140 140 116 145 145 109 136 136 119 119 149 4 4 6 114 114 142 114 114 142 107 107 134 108 108 135 119 149 149 4 6 6 117 146 146 117 146 146 103 129 129 117 117 147 116 116 145 7 7 8 116 116 146 102 102 128 111 111 139 114 143 143 115 144 144 81 102 102 110 138 138 66 82 82 111 138 138 114 114 142 110 110 138 112 112 140 88 88 110 105 105 131 102 102 128 112 140 140 13 17 17 107 134 134 102 128 128 106 133 133 99 124 124 109 109 137 255 255 160 255 255 158 255 255 158 29 20 11 58 40 22 83 58 32 96 66 37 75 52 29 75 52 29 25 17 9 255 226 127 255 255 161 255 255 156 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 253 128 255 217 110 255 188 95 255 230 116 255 243 123 255 250 127 255 238 120 255 222 112 255 227 115 255 232 118 57 38 19 42 28 14 146 98 49 23 15 7 23 15 7 65 43 22 57 38 19 158 106 53 96 64 32 139 93 47 108 72 36 255 238 120 255 227 115 255 240 122 255 232 118 255 199 101 247 165 83 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 253 128 255 253 128 255 250 127 255 250 127 255 253 128 89 89 111 87 87 109 95 119 119 11 14 14 92 115 115 87 109 109 91 114 114 85 106 106 93 93 117 17 17 21 89 89 112 89 89 112 84 84 105 85 85 106 93 117 117 3 4 4 92 115 115 92 115 115 82 102 102 87 109 109 92 92 115 5 5 7 92 92 115 81 81 101 86 86 108 91 114 114 92 115 115 65 81 81 88 110 110 70 88 88 88 111 111 91 91 114 88 88 110 90 90 112 70 70 88 84 84 105 82 82 103 90 113 113 10 13 13 87 109 109 82 103 103 86 108 108 80 101 101 89 89 111 16 16 20 85 85 106 85 85 106 80 80 100 81 81 101 89 111 111 3 4 4 88 110 110 88 110 110 78 97 97 83 104 104 87 87 109 5 5 6 88 88 110 77 77 97 82 82 103 87 109 109 88 110 110 62 77 77 84 105 105 67 84 84 84 106 106 87 87 109 84 84 106 86 86 108 67 67 84 81 81 101 79 79 98 87 108 108 10 13 13 84 105 105 79 99 99 83 103 103 77 97 97 85 85 107 15 15 19 82 82 102 81 81 102 77 77 96 78 78 97 86 107 107 3 4 4 85 106 106 84 106 106 75 94 94 80 100 100 84 84 105 5 5 6 85 85 106 75 75 93 80 80 100 84 105 105 85 106 106 60 75 75 81 102 102 65 81 81 82 103 103 84 84 106 82 82 102 83 83 104 65 65 82 78 78 98 76 76 96 84 105 105 10 12 12 81 102 102 77 96 96 80 101 101 75 94 94 83 83 104 15 15 19 79 79 99 79 79 99
+140 175 175 128 160 160 37 47 47 17 21 21 49 61 61 5 7 7 141 177 177 143 143 178 142 142 178 40 40 50 82 82 102 28 28 35 2 2 3 138 138 173 137 137 171 136 171 171 125 156 156 36 46 46 17 21 21 48 60 60 5 7 7 138 172 172 139 139 174 139 139 174 39 39 49 79 79 99 27 27 34 2 2 3 135 135 168 133 133 166 133 166 166 121 152 152 35 44 44 16 20 20 46 58 58 5 6 6 134 168 168 135 135 169 135 135 169 38 38 47 77 77 97 27 27 33 2 2 3 131 131 164 129 129 162 129 161 161 118 147 147 34 43 43 16 20 20 45 56 56 5 6 6 130 163 163 131 131 164 131 131 164 37 37 46 75 75 94 26 26 32 2 2 3 127 127 158 125 125 156 125 156 156 114 143 143 33 42 42 15 19 19 43 54 54 5 6 6 126 157 157 127 127 159 126 126 158 35 35 44 72 72 90 25 25 31 2 2 3 122 122 153 121 121 151 121 151 151 110 138 138 32 40 40 15 18 18 42 53 53 4 6 6 121 152 152 122 122 153 122 122 153 34 34 43 70 70 87 24 24 30 2 2 3 118 118 148 117 117 146 116 146 146 106 133 133 31 39 39 14 18 18 40 51 51 4 6 6 117 146 146 118 118 148 118 118 147 33 33 41 67 67 84 23 23 29 2 2 2 114 114 142 112 112 141 112 140 140 102 128 128 30 37 37 13 17 17 39 49 49 4 5 5 113 141 141 114 114 142 113 113 142 32 32 40 65 65 81 22 22 28 2 2 2 110 110 137 108 108 135 108 135 135 99 123 123 255 255 158 255 255 148 255 255 160 12 8 4 87 61 34 133 93 52 205 142 80 58 40 22 4 2 1 33 23 13 255 212 119 255 255 158 255 255 151 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 253 128 255 248 125 255 227 115 255 173 87 166 111 56 231 155 78 255 217 110 142 95 48 255 188 95 255 206 104 255 243 123 255 248 125 255 175 89 255 183 93 255 214 108 162 108 55 255 248 125 255 191 97 112 75 38 247 165 83 208 139 70 135 90 45 135 90 45 193 129 65 255 191 97 154 103 52 255 209 106 255 248 125 255 235 119 255 212 107 255 235 119 255 238 120 255 183 93 255 230 116 255 255 129 255 255 129 255 255 129 255 255 129 255 253 128 255 245 124 255 243 123 255 253 128 255 250 127 33 41 41 3 4 4 95 119 119 90 113 113 96 96 120 27 27 33 55 55 68 19 19 24 2 2 3 93 93 116 92 92 115 92 115 115 84 105 105 26 33 33 11 14 14 32 40 40 3 4 4 93 116 116 88 110 110 93 93 117 26 26 33 53 53 67 18 18 23 2 2 3 91 91 113 89 89 112 89 112 112 82 102 102 26 32 32 11 13 13 31 39 39 3 4 4 90 113 113 86 107 107 91 91 114 25 25 32 52 52 65 18 18 23 2 2 3 89 89 111 88 88 110 87 109 109 80 100 100 25 31 31 10 13 13 30 38 38 3 4 4 89 111 111 84 105 105 89 89 112 25 25 31 51 51 64 18 18 22 2 2 3 87 87 109 86 86 107 86 107 107 78 98 98 25 31 31 10 13 13 30 38 38 3 4 4 87 109 109 82 103 103 88 88 110 24 24 31 50 50 63 17 17 22 2 2 3 85 85 107 84 84 106 84 106 106 77 97 97 24 30 30 10 13 13 29 37 37 3 4 4 86 107 107 81 102 102 86 86 108 24 24 30 49 49 62 17 17 21 2 2 3 84 84 105 83 83 104 83 104 104 76 95 95 24 30 30 10 13 13 29 36 36 3 4 4 85 106 106 80 100 100 85 85 107 24 24 30 49 49 61 17 17 21 2 2 3 83 83 104 82 82 103 82 103 103 75 94 94 24 30 30 10 12 12 29 36 36 3 4 4 84 105 105 79 99 99 84 84 106 23 23 29 48 48 60 17 17 21 2 2 3 82 82 103 81 81 102
+150 120 150 181 145 181 173 138 173 180 180 180 116 116 116 176 176 176 112 112 112 81 81 81 110 110 110 171 171 171 176 176 176 176 176 176 178 142 178 172 137 172 168 134 168 130 104 130 162 130 162 78 62 78 169 135 169 158 126 158 175 140 175 173 138 173 175 175 175 134 134 134 165 165 165 165 165 165 73 73 73 155 155 155 160 160 160 172 172 172 170 170 170 172 137 172 124 99 124 138 110 138 112 89 112 75 60 75 77 62 77 137 110 137 169 135 169 160 128 160 169 169 169 109 109 109 158 158 158 96 96 96 38 38 38 60 60 60 153 153 153 166 166 166 149 149 149 166 132 166 110 88 110 95 76 95 116 93 116 41 33 41 63 50 63 135 108 135 163 130 163 156 125 156 162 162 162 105 105 105 158 158 158 101 101 101 73 73 73 99 99 99 154 154 154 158 158 158 158 158 158 159 127 159 154 123 154 151 120 151 117 93 117 145 116 145 70 56 70 151 120 151 141 113 141 156 125 156 154 123 154 156 156 156 119 119 119 147 147 147 147 147 147 65 65 65 138 138 138 143 143 143 153 153 153 151 151 151 152 122 152 110 88 110 122 98 122 99 79 99 67 53 67 68 54 68 121 97 121 150 120 150 142 113 142 149 149 149 96 96 96 139 139 139 85 85 85 34 34 34 53 53 53 135 135 135 147 147 147 131 131 131 146 117 146 97 77 97 83 67 83 102 82 102 36 29 36 55 44 55 119 95 119 143 115 143 137 110 137 143 143 143 92 92 92 139 139 139 88 88 88 64 64 64 87 87 87 135 135 135 139 139 139 138 138 138 255 255 158 255 255 156 255 255 160 16 11 6 255 206 116 37 26 14 87 61 34 71 49 27 12 8 4 255 194 109 255 194 109 255 255 160 255 255 156 255 255 150 255 255 129 255 255 129 255 255 129 255 255 129 255 255 129 255 250 127 200 134 68 224 150 76 189 126 64 255 188 95 220 147 74 254 170 86 255 225 114 255 222 112 220 147 74 255 240 122 255 186 94 255 212 107 220 147 74 212 142 72 255 191 97 247 165 83 251 168 85 255 219 111 255 248 125 146 98 49 65 43 22 224 150 76 255 196 99 112 75 38 115 77 39 96 64 32 255 219 111 255 240 122 255 232 118 255 225 114 255 230 116 255 230 116 255 188 95 251 168 85 255 245 124 255 253 128 255 255 129 255 255 129 255 253 128 255 243 123 255 245 124 255 250 127 255 253 128 121 97 121 120 96 120 121 121 121 92 92 92 114 114 114 114 114 114 51 51 51 107 107 107 111 111 111 119 119 119 118 118 118 119 95 119 86 69 86 96 76 96 77 62 77 52 42 52 53 42 53 95 76 95 117 94 117 111 89 111 117 117 117 75 75 75 110 110 110 67 67 67 27 27 27 42 42 42 106 106 106 116 116 116 104 104 104 115 92 115 77 61 77 66 53 66 81 65 81 29 23 29 44 35 44 95 76 95 114 91 114 109 87 109 114 114 114 73 73 73 111 111 111 71 71 71 51 51 51 69 69 69 108 108 108 112 112 112 112 112 112 110 110 110 109 87 109 107 85 107 83 66 83 103 82 103 49 39 49 107 86 107 100 80 100 111 89 111 110 88 110 111 111 111 85 85 85 105 105 105 105 105 105 47 47 47 99 99 99 103 103 103 110 110 110 109 109 109 110 88 110 80 64 80 89 71 89 72 57 72 48 39 48 50 40 50 88 71 88 109 87 109 104 83 104 109 109 109 70 70 70 102 102 102 62 62 62 25 25 25 39 39 39 100 100 100 108 108 108 97 97 97 108 86 108 72 57 72 62 49 62 76 61 76 27 21 27 41 33 41 89 71 89 108 86 108 103 82 103 107 107 107 69 69 69 105 105 105 67 67 67 48 48 48 66 66 66 103 103 103 106 106 106 106 106 106 104 104 104 103 83 103 101 81 101 78 63 78 98 78 98 47 37 47 102 81 102 95 76 95 106 85 106 105 84 105 106 106 106 81 81 81 100 100 100
+141 176 176 32 40 40 123 154 154 60 75 75 144 181 181 21 27 27 112 140 140 138 172 172 140 176 176 143 143 179 141 141 177 112 112 141 10 10 12 93 93 117 63 63 79 142 142 177 4 4 5 140 140 175 131 131 164 136 136 171 141 176 176 139 174 174 9 12 12 4 5 5 52 65 65 62 77 77 139 174 174 12 15 15 139 173 173 135 169 169 137 171 171 138 138 172 138 138 172 9 9 12 49 49 62 41 41 51 94 94 117 133 133 167 37 37 46 136 136 170 130 130 163 135 135 169 135 169 169 135 168 168 9 11 11 125 156 156 37 47 47 131 164 164 114 143 143 44 55 55 129 161 161 130 162 162 131 131 164 132 132 165 132 132 165 11 11 14 114 114 142 64 64 81 130 130 163 46 46 57 5 5 6 118 118 147 123 123 154 128 160 160 129 161 161 125 156 156 28 35 35 108 136 136 53 66 66 127 159 159 19 24 24 99 123 123 121 152 152 124 155 155 126 126 158 124 124 156 99 99 123 8 8 11 82 82 102 55 55 69 124 124 155 3 3 4 122 122 153 115 115 143 119 119 149 123 154 154 121 152 152 8 10 10 3 4 4 45 57 57 54 67 67 121 151 151 11 13 13 120 151 151 118 147 147 119 148 148 120 120 150 119 119 149 8 8 10 43 43 54 36 36 45 81 81 101 115 115 144 32 32 40 117 117 147 112 112 140 117 117 146 116 146 146 116 145 145 8 10 10 107 134 134 32 40 40 113 141 141 98 123 123 38 47 47 111 138 138 112 140 140 112 112 141 113 113 142 113 113 141 10 10 12 98 98 122 255 255 156 255 255 155 255 255 161 255 206 116 255 192 107 54 37 21 41 29 16 71 49 27 12 8 4 150 104 58 150 104 58 255 255 158 255 255 158 255 255 153 255 255 155 255 255 129 255 255 129 255 253 128 247 165 83 193 129 65 235 157 80 200 134 68 255 194 98 255 225 114 255 240 122 255 230 116 255 238 120 255 222 112 255 222 112 255 204 103 247 165 83 255 194 98 243 162 82 255 191 97 154 103 52 255 219 111 255 243 123 196 131 66 255 209 106 255 250 127 255 245 124 255 186 94 92 62 31 131 87 44 227 152 77 81 54 27 255 188 95 255 245 124 255 219 111 255 243 123 255 245 124 255 230 116 255 204 103 255 222 112 255 245 124 255 245 124 200 134 68 166 111 56 255 186 94 255 188 95 255 186 94 255 250 127 255 245 124 255 250 127 255 248 125 48 48 60 97 97 121 34 34 42 3 3 4 88 88 110 91 91 114 95 119 119 96 120 120 93 116 116 21 26 26 81 101 101 39 49 49 95 119 119 14 18 18 74 92 92 91 114 114 92 116 116 94 94 118 93 93 117 74 74 93 6 6 8 61 61 77 41 41 52 93 93 117 2 2 3 92 92 115 86 86 108 90 90 113 93 116 116 92 115 115 6 8 8 2 3 3 34 43 43 41 51 51 92 115 115 8 10 10 92 115 115 90 112 112 90 113 113 91 91 114 91 91 114 6 6 8 33 33 41 27 27 34 62 62 78 89 89 111 24 24 30 90 90 113 86 86 108 90 90 113 90 113 113 90 112 112 6 7 7 83 104 104 25 31 31 88 110 110 77 96 96 29 37 37 86 108 108 87 109 109 89 111 111 89 89 111 89 89 111 8 8 10 77 77 96 44 44 55 88 88 111 31 31 39 3 3 4 80 80 100 83 83 104 87 109 109 88 110 110 85 106 106 19 24 24 74 93 93 36 45 45 87 109 109 13 16 16 68 85 85 84 105 105 85 107 107 87 87 109 86 86 108 68 68 85 6 6 7 57 57 71 38 38 48 86 86 108 2 2 3 85 85 107 80 80 100 84 84 105 86 108 108 85 107 107 6 7 7 2 3 3 32 40 40 38 47 47 86 107 107 7 9 9 86 107 107 84 105 105 85 106 106 85 85 107 85 85 107 6 6 7 31 31 38 25 25 32 58 58 73 83 83 104 23 23 29 85 85 106
+146 182 182 144 180 180 129 161 161 36 45 45 49 62 62 4 5 5 29 36 36 49 62 62 2 3 3 26 32 32 139 174 174 142 177 177 143 143 179 140 140 175 141 141 176 17 17 21 40 40 50 81 81 102 40 40 50 10 10 12 21 21 26 5 5 7 138 138 172 136 136 170 136 136 170 140 175 175 138 173 173 124 155 155 35 44 44 47 59 59 4 5 5 28 35 35 47 59 59 2 3 3 25 31 31 133 166 166 136 170 170 137 137 171 134 134 167 135 135 169 16 16 20 38 38 48 78 78 97 38 38 47 9 9 11 20 20 25 5 5 6 131 131 164 130 130 162 129 129 162 133 167 167 132 165 165 118 148 148 33 41 41 45 56 56 4 5 5 26 33 33 45 56 56 2 3 3 23 29 29 127 158 158 129 161 161 130 130 163 127 127 159 128 128 160 15 15 19 36 36 45 74 74 92 36 36 45 9 9 11 19 19 24 5 5 6 125 125 156 123 123 154 123 123 153 126 158 158 125 156 156 112 140 140 31 39 39 43 53 53 3 4 4 25 31 31 42 53 53 2 3 3 22 28 28 120 150 150 122 152 152 123 123 154 120 120 150 121 121 151 14 14 18 34 34 43 70 70 87 34 34 42 8 8 10 18 18 22 4 4 6 117 117 147 116 116 145 116 116 145 119 149 149 118 147 147 105 132 132 29 37 37 40 50 50 3 4 4 23 29 29 40 50 50 2 2 2 21 26 26 113 141 141 115 144 144 116 116 145 113 113 141 114 114 143 13 13 17 32 32 40 66 66 82 32 32 40 8 8 10 17 17 21 4 4 5 255 255 158 255 255 151 255 255 158 255 255 148 255 203 114 255 238 134 100 69 39 50 34 19 29 20 11 221 154 86 46 32 17 255 232 130 255 255 161 255 255 156 255 255 150 255 255 161 255 222 112 173 116 59 135 90 45 127 85 43 255 194 98 255 217 110 255 248 125 255 235 119 255 238 120 255 243 123 255 248 125 255 230 116 254 170 86 255 235 119 255 186 94 173 116 59 220 147 74 169 113 57 158 106 53 255 206 104 255 173 87 255 248 125 255 232 118 255 245 124 255 217 110 255 238 120 255 227 115 255 248 125 255 238 120 255 178 90 255 181 91 255 181 91 255 253 128 255 253 128 255 245 124 255 235 119 255 245 124 255 181 91 216 144 73 255 243 123 255 250 127 255 238 120 255 232 118 255 219 111 115 77 39 177 119 60 243 162 82 255 245 124 255 196 99 255 243 123 96 96 120 96 96 121 11 11 14 27 27 34 56 56 70 27 27 34 6 6 8 14 14 18 3 3 4 94 94 118 93 93 116 93 93 116 96 120 120 94 118 118 85 106 106 24 30 30 32 40 40 2 3 3 19 24 24 32 40 40 1 2 2 17 21 21 91 114 114 93 116 116 88 110 110 92 92 115 92 92 116 11 11 14 26 26 33 53 53 67 26 26 33 6 6 8 14 14 17 3 3 4 90 90 113 89 89 112 89 89 112 92 115 115 91 114 114 81 102 102 23 29 29 31 39 39 2 3 3 18 23 23 31 39 39 1 2 2 16 20 20 88 110 110 90 112 112 85 106 106 89 89 111 89 89 112 10 10 13 25 25 32 52 52 65 25 25 31 6 6 7 13 13 17 3 3 4 88 88 110 87 87 108 87 87 108 89 112 112 88 110 110 79 99 99 22 28 28 30 38 38 2 3 3 17 22 22 30 38 38 1 2 2 16 20 20 86 107 107 87 109 109 83 103 103 86 86 108 87 87 109 10 10 13 24 24 31 50 50 63 24 24 31 6 6 7 13 13 16 3 3 4 85 85 107 84 84 106 84 84 106 87 109 109 86 108 108 77 97 97 22 27 27 29 37 37 2 3 3 17 21 21 29 37 37 1 2 2 15 19 19 84 105 105 85 107 107 81 101 101 84 84 106 85 85 107 10 10 13 24 24 30 49 49 62 24 24 30 6 6 7 13 13 16 3 3 4 84 84 105 83 83 104 83 83 104
+157 125 157 181 144 181 79 63 79 154 123 154 182 145 182 178 142 178 174 139 174 172 137 172 181 181 181 180 180 180 180 180 180 180 180 180 50 50 50 76 76 76 152 152 152 177 177 177 59 59 59 142 142 142 178 178 178 176 176 176 170 170 170 173 173 173 176 141 176 176 141 176 176 141 176 176 140 176 35 28 35 74 59 74 113 90 113 173 138 173 40 32 40 138 111 138 149 119 149 169 135 169 166 132 166 160 128 160 162 129 162 172 172 172 171 171 171 171 171 171 34 34 34 8 8 8 94 94 94 165 165 165 78 78 78 68 68 68 17 17 17 165 165 165 161 161 161 156 156 156 162 162 162 167 134 167 163 131 163 165 132 165 156 125 156 6 5 6 92 73 92 157 125 157 76 61 76 49 39 49 61 49 61 164 131 164 160 128 160 158 126 158 144 115 144 162 162 162 162 162 162 160 160 160 161 161 161 6 6 6 92 92 92 137 137 137 90 90 90 69 69 69 59 59 59 159 159 159 155 155 155 150 150 150 140 140 140 157 126 157 157 125 157 153 123 153 156 125 156 72 58 72 129 103 129 133 106 133 153 122 153 67 53 67 131 104 131 154 123 154 150 120 150 147 117 147 145 116 145 152 152 152 152 152 152 152 152 152 151 151 151 42 42 42 64 64 64 127 127 127 148 148 148 49 49 49 119 119 119 149 149 149 147 147 147 142 142 142 145 145 145 147 118 147 147 117 147 147 117 147 146 117 146 29 23 29 61 49 61 94 75 94 143 115 143 33 26 33 115 92 115 123 99 123 141 112 141 137 110 137 133 106 133 134 107 134 255 250 140 255 229 129 255 255 156 112 78 44 255 255 161 255 255 161 71 49 27 33 23 13 238 165 93 79 55 31 75 52 29 255 255 155 255 255 160 255 255 158 255 255 156 255 255 156 193 129 65 204 137 69 255 204 103 255 248 125 255 235 119 247 165 83 255 219 111 255 227 115 255 219 111 255 248 125 255 250 127 255 235 119 255 222 112 255 243 123 255 212 107 255 222 112 255 243 123 255 227 115 216 144 73 162 108 55 231 155 78 239 160 81 255 212 107 255 199 101 255 212 107 254 170 86 255 186 94 255 178 90 255 219 111 255 214 108 255 206 104 255 248 125 247 165 83 146 98 49 255 248 125 255 253 128 255 240 122 255 201 102 166 111 56 255 199 101 255 248 125 255 248 125 255 245 124 255 248 125 255 250 127 255 209 106 204 137 69 255 191 97 255 212 107 221 110 0 232 116 0 121 121 121 118 118 118 120 120 120 115 115 115 122 97 122 122 97 122 121 97 121 24 19 24 51 41 51 78 62 78 119 95 119 28 22 28 96 77 96 103 82 103 117 94 117 115 92 115 111 89 111 112 89 112 119 119 119 119 119 119 119 119 119 24 24 24 5 5 5 65 65 65 114 114 114 54 54 54 47 47 47 11 11 11 115 115 115 112 112 112 108 108 108 113 113 113 116 93 116 114 91 114 115 92 115 109 87 109 4 3 4 64 51 64 110 88 110 53 43 53 35 28 35 43 34 43 115 92 115 112 90 112 111 89 111 102 81 102 114 114 114 114 114 114 113 113 113 114 114 114 4 4 4 65 65 65 97 97 97 64 64 64 49 49 49 42 42 42 113 113 113 110 110 110 107 107 107 100 100 100 112 90 112 112 90 112 110 88 110 112 89 112 52 41 52 92 74 92 96 77 96 110 88 110 48 38 48 94 75 94 111 89 111 109 87 109 106 85 106 105 84 105 111 111 111 111 111 111 110 110 110 110 110 110 31 31 31 46 46 46 93 93 93 109 109 109 36 36 36 87 87 87 110 110 110 108 108 108 105 105 105 107 107 107 103 103 103 109 87 109 109 87 109 109 87 109 22 17 22 46 37 46 70 56 70 108 86 108 25 20 25 86 69 86 93 74 93 106 85 106 104 83 104 100 80 100 101 81 101 108 108 108 108 108 108 108 108 108 21 21 21 5 5 5 60 60 60 104 104 104 50 50 50
+71 89 89 10 12 12 142 177 177 141 177 177 144 180 180 140 175 175 144 180 180 145 145 181 145 145 181 145 145 181 144 144 181 62 62 78 140 140 175 99 99 123 0 0 0 52 52 65 69 69 86 10 10 12 138 138 173 138 138 173 141 141 176 136 136 170 140 140 175 141 177 177 140 175 175 141 176 176 141 176 176 81 101 101 136 170 170 9 12 12 14 17 17 29 37 37 49 61 61 16 21 21 130 163 163 138 173 173 131 164 164 135 169 169 132 165 165 137 137 172 133 133 166 137 137 171 137 137 171 129 129 162 133 133 167 6 6 8 9 9 12 45 45 56 35 35 44 79 79 98 125 125 156 134 134 168 128 128 161 131 131 164 131 131 163 133 166 166 129 161 161 133 166 166 132 165 165 125 157 157 129 161 161 6 8 8 9 11 11 43 54 54 34 43 43 76 95 95 121 151 151 130 162 162 124 155 155 127 158 158 126 158 158 129 129 161 127 127 159 128 128 160 115 115 144 120 120 150 126 126 158 0 0 0 11 11 14 48 48 60 19 19 23 123 123 154 75 75 93 125 125 157 124 124 155 117 117 146 119 119 149 124 155 155 124 155 155 124 155 155 53 67 67 119 149 149 84 105 105 0 0 0 44 55 55 59 74 74 8 10 10 118 147 147 117 147 147 119 149 149 116 145 145 119 149 149 120 120 150 120 120 150 119 119 149 119 119 149 51 51 64 115 115 144 81 81 101 0 0 0 42 42 53 57 57 71 8 8 10 113 113 142 113 113 141 115 115 144 111 111 139 114 114 143 115 144 144 114 142 142 115 144 144 255 255 155 255 255 147 255 255 145 255 255 156 255 253 142 255 255 151 255 255 161 129 90 50 66 46 26 209 145 81 184 128 71 79 55 31 255 247 138 255 255 155 255 255 161 255 255 161 255 255 156 255 255 156 255 250 127 255 227 115 255 230 116 255 227 115 255 214 108 255 245 124 243 162 82 255 238 120 255 235 119 255 181 91 255 240 122 255 225 114 255 232 118 255 240 122 255 199 101 244 122 0 252 126 0 249 124 0 244 122 0 247 123 0 232 116 0 214 107 0 191 95 0 193 96 0 168 84 0 173 86 0 188 94 0 232 116 0 234 117 0 244 122 0 244 122 0 244 122 0 244 122 0 247 123 0 237 118 0 229 114 0 242 121 0 244 122 0 244 122 0 244 122 0 244 122 0 249 124 0 249 124 0 252 126 0 242 121 0 247 123 0 242 121 0 234 117 0 229 114 0 244 122 0 36 45 45 48 60 60 6 8 8 95 119 119 95 119 119 97 121 121 94 117 117 96 121 121 93 117 117 97 97 122 97 97 121 97 97 121 42 42 52 94 94 117 66 66 83 0 0 0 35 35 43 46 46 58 6 6 8 93 93 116 92 92 116 94 94 118 91 91 114 94 94 118 95 119 119 94 117 117 94 118 118 94 118 118 54 68 68 91 114 114 6 8 8 9 11 11 19 24 24 33 41 41 11 14 14 88 110 110 93 116 116 88 110 110 91 114 114 89 111 111 93 93 116 90 90 112 92 92 116 92 92 115 87 87 109 90 90 113 4 4 5 6 6 8 30 30 38 24 24 30 53 53 67 85 85 106 91 91 114 87 87 109 89 89 112 89 89 111 91 114 114 88 110 110 91 113 113 90 113 113 86 107 107 88 111 111 4 5 5 6 7 7 30 37 37 23 29 29 52 66 66 83 104 104 90 112 112 86 107 107 88 110 110 87 109 109 89 89 112 88 88 110 89 89 111 80 80 100 83 83 104 88 88 110 0 0 0 8 8 10 34 34 42 13 13 16 87 87 108 52 52 66 88 88 110 87 87 109 83 83 103 84 84 106 88 110 110 88 110 110 88 110 110 38 47 47 85 106 106 60 75 75 0 0 0 31 39 39 42 53 53 6 7 7 84 106 106 84 106 106 86 108 108 83 104 104 86 108 108 83 104 104 87 87 108 87 87 108 87 87 108 37 37 47 84 84 105 59 59 74 0 0 0
+130 104 130 182 145 182 105 84 105 129 103 129 11 8 11 183 146 183 179 143 179 180 144 180 174 139 174 174 139 174 181 181 181 181 181 181 179 179 179 180 180 180 151 151 151 136 136 136 43 43 43 114 114 114 175 175 175 95 95 95 74 74 74 149 149 149 172 172 172 174 174 174 168 168 168 171 171 171 168 168 168 176 141 176 176 141 176 172 137 172 173 139 173 175 140 175 22 18 22 7 5 7 118 94 118 123 98 123 172 137 172 99 79 99 122 97 122 10 8 10 172 138 172 168 135 168 170 136 170 164 131 164 164 131 164 170 170 170 170 170 170 168 168 168 169 169 169 142 142 142 128 128 128 40 40 40 107 107 107 164 164 164 89 89 89 69 69 69 140 140 140 161 161 161 163 163 163 157 157 157 160 160 160 157 157 157 165 132 165 164 131 164 161 129 161 162 130 162 163 131 163 21 17 21 6 5 6 110 88 110 114 91 114 160 128 160 93 74 93 114 91 114 9 7 9 160 128 160 157 125 157 158 126 158 153 122 153 152 122 152 159 159 159 158 158 158 156 156 156 157 157 157 132 132 132 119 119 119 38 38 38 99 99 99 153 153 153 83 83 83 64 64 64 130 130 130 150 150 150 151 151 151 146 146 146 149 149 149 145 145 145 152 122 152 152 122 152 149 119 149 150 120 150 151 121 151 19 15 19 6 4 6 101 81 101 106 84 106 148 118 148 86 68 86 105 84 105 9 7 9 148 118 148 145 116 145 146 116 146 141 113 141 141 112 141 146 146 146 146 146 146 144 144 144 145 145 145 121 121 121 109 109 109 255 255 155 255 255 153 255 255 151 255 255 156 196 136 76 255 247 138 255 255 161 255 255 160 25 17 9 217 151 84 108 75 42 184 128 71 125 87 49 255 255 153 255 255 156 255 255 156 255 255 158 255 255 158 252 126 0 244 122 0 247 123 0 244 122 0 244 122 0 252 126 0 242 121 0 242 121 0 247 123 0 242 121 0 239 119 0 247 123 0 249 124 0 237 118 0 244 122 0 249 124 0 252 126 0 247 123 0 242 121 0 198 99 0 137 68 0 198 99 0 181 90 0 76 38 0 58 29 0 112 56 0 135 67 0 160 80 0 135 67 0 170 85 0 242 121 0 242 121 0 234 117 0 247 123 0 249 124 0 249 124 0 247 123 0 242 121 0 242 121 0 244 122 0 244 122 0 252 126 0 252 126 0 247 123 0 247 123 0 244 122 0 234 117 0 239 119 0 237 118 0 239 119 0 104 104 104 94 94 94 30 30 30 76 76 76 121 121 121 66 66 66 51 51 51 103 103 103 60 60 60 120 120 120 116 116 116 118 118 118 116 116 116 120 120 120 121 97 121 119 95 119 120 96 120 121 96 121 7 5 7 4 3 4 81 65 81 85 68 85 118 95 118 48 38 48 84 67 84 7 5 7 119 95 119 116 93 116 116 93 116 114 91 114 113 91 113 118 118 118 118 118 118 117 117 117 118 118 118 98 98 98 89 89 89 28 28 28 72 72 72 114 114 114 62 62 62 48 48 48 97 97 97 57 57 57 114 114 114 110 110 110 112 112 112 110 110 110 114 114 114 115 92 115 113 90 113 114 91 114 115 92 115 6 5 6 4 3 4 77 62 77 81 64 81 113 90 113 46 36 46 80 64 80 6 5 6 114 91 114 111 89 111 111 89 111 109 87 109 108 87 108 113 113 113 113 113 113 112 112 112 113 113 113 94 94 94 85 85 85 27 27 27 69 69 69 110 110 110 60 60 60 46 46 46 94 94 94 55 55 55 109 109 109 106 106 106 108 108 108 105 105 105 110 110 110 111 89 111 109 87 109 110 88 110 111 88 111 6 5 6 4 3 4 74 59 74 78 62 78 109 87 109 44 35 44 78 62 78 6 5 6 110 88 110 107 86 107 107 86 107 105 84 105 105 84 105 109 109 109 109 109 109 108 108 108 109 109 109 91 91 91 82 82 82 26 26 26 67 67 67 106 106 106 58 58 58
+141 177 177 5 7 7 28 35 35 107 133 133 89 111 111 45 57 57 23 29 29 143 179 179 132 166 166 66 82 82 113 141 141 142 178 178 137 172 172 140 175 175 136 170 170 140 175 175 144 144 180 144 144 180 143 143 179 137 137 172 5 5 7 27 27 34 18 18 23 86 86 108 79 79 98 15 15 19 139 139 174 128 128 161 34 34 42 124 124 155 138 138 172 133 133 167 137 137 172 131 131 164 135 135 169 139 174 174 139 174 174 139 174 174 137 172 172 2 3 3 26 33 33 18 22 22 73 92 92 76 95 95 15 19 19 123 154 154 134 167 167 33 41 41 119 149 149 128 160 160 131 164 164 133 166 166 125 157 157 131 163 163 134 134 168 134 134 168 133 133 166 134 134 167 2 2 3 13 13 16 32 32 40 71 71 89 73 73 92 26 26 33 64 64 80 129 129 161 5 5 6 88 88 111 123 123 154 126 126 158 127 127 159 118 118 148 126 126 157 129 162 162 129 161 161 127 159 159 128 161 161 85 107 107 27 34 34 31 38 38 65 82 82 65 82 82 25 32 32 61 76 76 124 155 155 40 51 51 85 106 106 27 34 34 123 153 153 122 153 153 113 142 142 120 151 151 124 124 155 124 124 155 121 121 151 123 123 154 82 82 102 26 26 32 23 23 29 63 63 78 62 62 78 38 38 47 19 19 24 118 118 148 39 39 48 54 54 68 26 26 33 117 117 147 113 113 142 116 116 145 115 115 144 116 116 145 118 148 148 116 145 145 118 147 147 113 141 141 4 5 5 22 28 28 85 106 106 70 88 88 36 45 45 255 255 155 255 255 156 255 253 142 255 255 156 154 107 60 133 93 52 255 255 161 255 255 161 255 255 147 255 221 124 62 43 24 104 72 40 175 122 68 255 255 156 255 255 150 255 255 158 255 255 156 255 255 158 252 126 0 247 123 0 247 123 0 242 121 0 244 122 0 244 122 0 244 122 0 242 121 0 244 122 0 244 122 0 239 119 0 249 124 0 244 122 0 244 122 0 249 124 0 252 126 0 247 123 0 247 123 0 221 110 0 102 51 0 99 49 0 66 33 0 20 10 0 40 20 0 10 5 0 20 10 0 58 29 0 165 82 0 68 34 0 45 22 0 63 31 0 38 19 0 150 75 0 183 91 0 244 122 0 252 126 0 252 126 0 244 122 0 247 123 0 244 122 0 244 122 0 249 124 0 249 124 0 247 123 0 244 122 0 249 124 0 237 118 0 237 118 0 239 119 0 100 125 125 100 125 125 99 124 124 100 125 125 66 83 83 21 26 26 24 30 30 51 64 64 51 63 63 20 25 25 47 59 59 96 120 120 31 39 39 66 83 83 21 27 27 96 120 120 95 119 119 88 111 111 94 118 118 95 119 119 97 97 121 95 95 118 96 96 121 64 64 80 20 20 25 18 18 23 49 49 62 49 49 61 30 30 37 15 15 19 93 93 117 30 30 38 43 43 54 21 21 26 93 93 116 90 90 112 92 92 115 91 91 114 92 92 115 94 118 118 92 115 115 94 117 117 90 112 112 3 4 4 18 22 22 68 85 85 56 70 70 29 36 36 15 18 18 91 114 114 84 105 105 42 52 52 72 90 90 90 113 113 87 109 109 89 112 112 86 108 108 89 111 111 92 92 115 92 92 115 91 91 114 88 88 110 3 3 4 17 17 21 12 12 15 55 55 69 50 50 63 10 10 12 89 89 111 82 82 103 22 22 27 79 79 99 88 88 111 86 86 107 88 88 110 85 85 106 87 87 109 90 112 112 90 112 112 90 112 112 89 111 111 1 2 2 17 21 21 11 14 14 48 60 60 49 62 62 9 12 12 80 100 100 87 109 109 21 27 27 78 98 98 83 104 104 86 107 107 87 108 108 82 103 103 86 107 107 88 88 110 88 88 110 87 87 109 88 88 110 1 1 2 8 8 11 21 21 26 47 47 59 48 48 61 17 17 22 42 42 53 86 86 107 3 3 4 59 59 74 82 82 103 85 85 106
+179 179 179 183 183 183 173 173 173 162 162 162 178 143 178 178 142 178 176 141 176 176 140 176 181 145 181 179 143 179 180 144 180 177 141 177 138 110 138 121 97 121 167 133 167 175 140 175 175 140 175 173 138 173 173 138 173 174 139 174 174 139 174 179 143 179 173 139 173 168 134 168 164 131 164 173 173 173 172 172 172 170 170 170 170 170 170 175 175 175 173 173 173 174 174 174 171 171 171 133 133 133 117 117 117 161 161 161 169 169 169 169 169 169 167 167 167 167 167 167 168 168 168 168 168 168 173 173 173 167 167 167 162 162 162 158 158 158 168 134 168 171 137 171 164 131 164 158 127 158 165 132 165 165 132 165 164 131 164 156 124 156 130 104 130 116 92 116 160 128 160 163 130 163 162 130 162 157 126 157 164 131 164 160 128 160 161 129 161 166 133 166 161 128 161 147 117 147 160 128 160 161 161 161 164 164 164 157 157 157 152 152 152 158 158 158 158 158 158 158 158 158 149 149 149 124 124 124 111 111 111 153 153 153 156 156 156 156 156 156 150 150 150 156 156 156 153 153 153 154 154 154 159 159 159 154 154 154 140 140 140 158 126 158 152 122 152 151 120 151 153 123 153 153 122 153 151 121 151 156 124 156 152 122 152 131 105 131 90 72 90 115 92 115 143 114 143 143 114 143 150 120 150 139 111 139 148 118 148 147 118 147 147 118 147 150 120 150 142 113 142 132 106 132 150 150 150 145 145 145 144 144 144 146 146 146 146 146 146 144 144 144 148 148 148 145 145 145 125 125 125 86 86 86 110 110 110 136 136 136 136 136 136 255 250 140 255 255 155 255 255 145 255 255 150 255 200 112 138 96 53 255 255 161 255 255 161 255 255 160 184 128 71 83 58 32 104 72 40 71 49 27 255 255 156 255 255 156 255 255 158 255 255 156 255 255 156 252 126 0 244 122 0 244 122 0 242 121 0 244 122 0 244 122 0 252 126 0 249 124 0 249 124 0 247 123 0 244 122 0 247 123 0 247 123 0 252 126 0 252 126 0 249 124 0 244 122 0 249 124 0 198 99 0 142 71 0 15 7 0 15 7 0 22 11 0 15 7 0 28 14 0 56 28 0 94 47 0 102 51 0 117 58 0 170 85 0 99 49 0 45 22 0 28 14 0 142 71 0 247 123 0 252 126 0 252 126 0 249 124 0 252 126 0 244 122 0 244 122 0 249 124 0 252 126 0 249 124 0 244 122 0 247 123 0 229 114 0 224 112 0 234 117 0 126 101 126 122 98 122 112 89 112 122 97 122 123 123 123 125 125 125 120 120 120 116 116 116 121 121 121 120 120 120 120 120 120 114 114 114 95 95 95 84 84 84 117 117 117 119 119 119 119 119 119 115 115 115 120 120 120 117 117 117 118 118 118 122 122 122 118 118 118 108 108 108 117 117 117 117 94 117 116 93 116 118 94 118 118 94 118 116 93 116 120 96 120 117 94 117 101 81 101 70 56 70 89 71 89 111 88 111 110 88 110 116 93 116 108 86 108 115 92 115 115 92 115 114 91 114 117 93 117 111 88 111 103 82 103 117 117 117 114 114 114 112 112 112 115 115 115 114 114 114 113 113 113 116 116 116 114 114 114 98 98 98 68 68 68 86 86 86 108 108 108 107 107 107 113 113 113 105 105 105 112 112 112 112 112 112 111 111 111 114 114 114 108 108 108 101 101 101 111 89 111 111 89 111 109 87 109 109 87 109 113 90 113 111 89 111 112 90 112 110 88 110 86 69 86 75 60 75 104 83 104 110 88 110 109 87 109 108 86 108 108 86 108 109 87 109 109 87 109 112 90 112 109 87 109 105 84 105 103 82 103 109 109 109 108 108 108 107 107 107 107 107 107 110 110 110 109 109 109 110 110 110 108 108 108 84 84 84 74 74 74 102 102 102 107 107 107 107 107 107 106 106 106 106 106 106 107 107 107 107 107 107 110 110 110 107 107 107 103 103 103 101 101 101 108 86 108 110 88 110 105 84 105 102 81 102
+50 40 50 163 130 163 185 148 185 185 148 185 127 101 127 98 79 98 78 62 78 169 135 169 130 104 130 183 146 183 177 142 177 166 133 166 177 141 177 162 129 162 167 134 167 181 181 181 181 181 181 177 177 177 181 181 181 180 180 180 178 178 178 145 145 145 14 14 14 79 79 79 177 177 177 179 179 179 177 177 177 138 138 138 135 135 135 116 116 116 150 150 150 175 175 175 171 171 171 169 169 169 167 167 167 167 167 167 165 165 165 175 140 175 175 140 175 174 139 174 172 138 172 174 139 174 173 139 173 170 136 170 50 40 50 47 37 47 151 121 151 172 137 172 172 137 172 117 94 117 91 73 91 72 58 72 156 125 156 120 96 120 170 136 170 164 131 164 154 123 154 163 131 163 150 120 150 154 123 154 168 168 168 167 167 167 164 164 164 167 167 167 166 166 166 164 164 164 134 134 134 13 13 13 73 73 73 163 163 163 164 164 164 162 162 162 127 127 127 124 124 124 107 107 107 138 138 138 161 161 161 157 157 157 155 155 155 153 153 153 153 153 153 151 151 151 160 128 160 160 128 160 159 127 159 157 126 157 159 127 159 158 127 158 155 124 155 46 37 46 43 34 43 138 110 138 157 125 157 156 125 156 107 85 107 83 66 83 66 52 66 142 114 142 109 87 109 154 123 154 149 119 149 140 112 140 149 119 149 136 109 136 140 112 140 152 152 152 152 152 152 148 148 148 151 151 151 151 151 151 149 149 149 121 121 121 12 12 12 66 66 66 148 148 148 149 149 149 147 147 147 115 115 115 112 112 112 97 97 97 125 125 125 255 255 143 255 255 155 255 255 147 255 255 150 179 125 70 255 177 99 255 255 145 255 255 160 255 255 161 255 255 150 87 61 34 25 17 9 255 177 99 255 255 161 255 255 156 255 255 156 255 255 156 255 255 156 244 122 0 244 122 0 244 122 0 244 122 0 249 124 0 244 122 0 249 124 0 252 126 0 252 126 0 249 124 0 249 124 0 252 126 0 244 122 0 249 124 0 247 123 0 244 122 0 244 122 0 249 124 0 178 89 0 43 21 0 15 7 0 28 14 0 38 19 0 33 16 0 22 11 0 25 12 0 17 8 0 63 31 0 91 45 0 84 42 0 48 24 0 117 58 0 28 14 0 140 70 0 226 113 0 252 126 0 252 126 0 247 123 0 244 122 0 244 122 0 244 122 0 244 122 0 247 123 0 242 121 0 242 121 0 239 119 0 226 113 0 237 118 0 232 116 0 90 72 90 127 101 127 123 98 123 115 92 115 122 98 122 112 89 112 115 92 115 125 125 125 125 125 125 125 125 125 125 125 125 124 124 124 123 123 123 100 100 100 43 43 43 55 55 55 122 122 122 123 123 123 122 122 122 75 75 75 93 93 93 80 80 80 104 104 104 121 121 121 119 119 119 117 117 117 115 115 115 115 115 115 114 114 114 116 116 116 121 96 121 120 96 120 119 95 119 120 96 120 120 96 120 117 94 117 35 28 35 32 26 32 105 84 105 118 94 118 119 95 119 81 65 81 63 50 63 50 40 50 112 90 112 83 67 83 118 94 118 114 91 114 107 85 107 114 91 114 104 83 104 108 86 108 117 117 117 117 117 117 117 117 117 117 117 117 116 116 116 115 115 115 94 94 94 41 41 41 51 51 51 115 115 115 116 116 116 114 114 114 71 71 71 87 87 87 75 75 75 97 97 97 114 114 114 112 112 112 110 110 110 109 109 109 108 108 108 107 107 107 109 109 109 114 91 114 114 91 114 113 90 113 114 91 114 113 91 113 111 89 111 33 26 33 30 24 30 99 79 99 112 89 112 113 90 113 77 62 77 60 48 60 47 38 47 107 85 107 79 63 79 112 90 112 109 87 109 102 81 102 108 87 108 99 79 99 103 82 103 112 112 112 111 111 111 111 111 111 111 111 111 111 111 111 110 110 110 90 90 90 39 39 39 49 49 49 110 110 110 111 111 111 109 109 109 68 68 68 83 83 83 72 72 72
+182 146 182 182 146 182 99 79 99 153 123 153 155 124 155 164 164 164 164 164 164 177 177 177 169 169 169 173 173 173 172 172 172 142 142 142 172 172 172 61 61 61 81 81 81 177 177 177 88 88 88 141 141 141 176 176 176 164 164 164 175 175 175 164 164 164 78 78 78 174 174 174 172 172 172 176 176 176 96 96 96 166 166 166 149 149 149 174 139 174 158 126 158 170 136 170 165 132 165 166 133 166 160 128 160 137 109 137 165 132 165 142 113 142 78 62 78 164 131 164 84 67 84 136 108 136 153 122 153 158 126 158 138 111 138 163 130 163 75 60 75 169 135 169 165 132 165 168 135 168 116 93 116 159 127 159 135 108 135 167 167 167 151 151 151 156 156 156 158 158 158 120 120 120 154 154 154 131 131 131 162 162 162 136 136 136 125 125 125 157 157 157 81 81 81 157 157 157 146 146 146 163 163 163 132 132 132 155 155 155 130 130 130 161 161 161 159 159 159 159 159 159 111 111 111 122 122 122 128 128 128 159 127 159 146 117 146 149 119 149 103 82 103 114 91 114 146 117 146 138 110 138 154 123 154 157 125 157 119 95 119 149 119 149 143 114 143 149 119 149 92 74 92 155 124 155 126 100 126 155 124 155 123 99 123 122 97 122 151 121 151 151 121 151 127 102 127 116 92 116 128 102 128 148 118 148 138 138 138 129 129 129 97 97 97 141 141 141 134 134 134 131 131 131 106 106 106 148 148 148 113 113 113 93 93 93 135 135 135 141 141 141 88 88 88 146 146 146 33 33 33 147 147 147 135 135 135 115 115 115 143 143 143 255 255 153 255 255 156 255 255 156 255 224 125 255 238 134 255 218 122 125 87 49 205 142 80 255 255 160 255 255 153 33 23 13 16 11 6 129 90 50 255 255 161 255 255 156 255 255 156 255 255 161 244 122 0 244 122 0 244 122 0 244 122 0 249 124 0 249 124 0 247 123 0 247 123 0 244 122 0 244 122 0 244 122 0 244 122 0 249 124 0 237 118 0 242 121 0 165 82 0 109 54 0 114 57 0 91 45 0 79 39 0 94 47 0 20 10 0 15 7 0 15 7 0 45 22 0 40 20 0 38 19 0 15 7 0 28 14 0 43 21 0 40 20 0 140 70 0 104 52 0 15 7 0 2 1 0 79 39 0 219 109 0 249 124 0 247 123 0 242 121 0 247 123 0 244 122 0 242 121 0 242 121 0 237 118 0 247 123 0 242 121 0 234 117 0 242 121 0 112 90 112 116 93 116 102 81 102 120 96 120 55 44 55 124 99 124 121 97 121 124 99 124 85 68 85 117 93 117 99 79 99 123 123 123 111 111 111 115 115 115 116 116 116 88 88 88 113 113 113 96 96 96 119 119 119 100 100 100 92 92 92 116 116 116 59 59 59 115 115 115 108 108 108 120 120 120 98 98 98 115 115 115 96 96 96 119 119 119 118 118 118 118 118 118 82 82 82 90 90 90 95 95 95 116 116 116 108 87 108 111 88 111 76 61 76 85 68 85 109 87 109 103 82 103 115 92 115 117 93 117 89 71 89 112 89 112 107 85 107 111 89 111 69 55 69 116 93 116 94 75 94 117 93 117 93 74 93 91 73 91 114 91 114 114 91 114 96 77 96 87 70 87 97 77 97 112 90 112 105 105 105 98 98 98 74 74 74 107 107 107 102 102 102 99 99 99 81 81 81 113 113 113 86 86 86 71 71 71 104 104 104 108 108 108 67 67 67 113 113 113 25 25 25 114 114 114 104 104 104 89 89 89 111 111 111 112 112 112 93 93 93 61 61 61 94 94 94 109 109 109 101 81 101 95 76 95 109 87 109 104 83 104 99 79 99 106 85 106 79 63 79 106 85 106 37 30 37 69 55 69 109 87 109 106 84 106 66 52 66 109 87 109 25 20 25 109 87 109 102 81 102 87 69 87 108 87 108 109 87 109 109 87 109 59 47 59 92 74 92 93 74 93 99 99 99 99 99 99 106 106 106 102 102 102 104 104 104
+104 130 130 6 7 7 28 35 35 63 79 79 103 129 129 127 159 159 116 146 146 103 129 129 62 78 78 134 167 167 140 175 175 71 89 89 75 94 94 77 96 96 142 177 177 142 177 177 137 171 171 140 175 175 137 171 171 139 174 174 142 178 178 145 145 181 142 142 177 143 143 179 144 144 180 144 144 180 100 100 125 8 8 10 27 27 34 46 46 57 99 99 124 121 121 151 112 112 140 99 99 124 43 43 53 129 129 161 47 47 59 68 68 85 67 67 83 74 74 92 136 136 170 131 131 164 131 131 164 132 132 166 131 131 164 136 136 170 136 136 170 138 173 173 135 169 169 137 171 171 138 172 172 137 172 172 8 10 10 8 10 10 23 29 29 44 55 55 95 119 119 115 144 144 107 134 134 42 53 53 41 51 51 129 162 162 45 56 56 81 102 102 63 79 79 70 88 88 129 162 162 125 157 157 124 155 155 126 158 158 128 161 161 130 162 162 132 132 165 132 132 165 129 129 161 131 131 164 131 131 164 128 128 160 7 7 9 15 15 19 22 22 27 42 42 52 107 107 134 109 109 137 120 120 150 40 40 50 59 59 74 123 123 153 9 9 11 77 77 96 60 60 75 35 35 44 123 123 153 112 112 140 117 117 146 117 117 146 122 122 152 123 123 153 125 156 156 125 156 156 123 154 154 124 155 155 124 155 155 121 151 151 4 6 6 14 18 18 21 26 26 74 93 93 101 126 126 86 108 108 113 141 141 51 64 64 56 70 70 116 145 145 8 10 10 73 91 91 48 60 60 33 42 42 116 145 145 106 132 132 114 143 143 255 255 148 255 255 155 255 255 158 255 247 138 255 255 158 255 255 151 255 192 107 129 90 50 255 255 160 255 255 160 20 14 8 46 32 17 242 168 94 255 255 160 255 255 161 255 255 156 255 255 160 244 122 0 247 123 0 252 126 0 252 126 0 252 126 0 247 123 0 239 119 0 234 117 0 237 118 0 244 122 0 242 121 0 239 119 0 234 117 0 216 108 0 135 67 0 25 12 0 40 20 0 28 14 0 96 48 0 117 58 0 170 85 0 81 40 0 10 5 0 2 1 0 2 1 0 22 11 0 45 22 0 20 10 0 38 19 0 61 30 0 51 25 0 186 93 0 107 53 0 71 35 0 0 0 0 5 2 0 38 19 0 247 123 0 252 126 0 247 123 0 244 122 0 244 122 0 239 119 0 224 112 0 247 123 0 249 124 0 244 122 0 239 119 0 244 122 0 81 81 101 71 71 89 31 31 39 93 93 116 34 34 42 49 49 62 48 48 60 53 53 67 98 98 123 95 95 119 95 95 119 96 96 120 95 95 118 98 98 123 98 98 123 100 125 125 98 123 123 99 124 124 100 125 125 100 125 125 6 7 7 6 7 7 17 21 21 32 40 40 69 86 86 84 105 105 77 97 97 30 38 38 29 37 37 94 118 118 32 40 40 59 74 74 46 58 58 51 64 64 94 118 118 91 114 114 90 113 113 92 115 115 94 117 117 94 118 118 94 118 118 96 96 120 94 94 118 96 96 120 96 96 120 94 94 117 5 5 7 11 11 14 16 16 20 30 30 38 79 79 98 80 80 101 88 88 110 29 29 37 44 44 55 91 91 113 6 6 8 57 57 71 44 44 56 26 26 33 91 91 114 83 83 104 87 87 109 87 87 109 90 90 113 91 91 114 93 116 116 93 116 116 92 115 115 93 116 116 93 116 116 91 113 113 3 4 4 11 14 14 15 19 19 56 70 70 76 95 95 65 81 81 85 107 107 39 48 48 42 53 53 88 110 110 6 8 8 55 69 69 37 46 46 25 32 32 88 111 111 81 101 101 87 109 109 84 106 106 88 110 110 87 109 109 91 91 113 89 89 111 89 89 112 90 90 113 90 90 113 63 63 78 3 3 4 10 10 13 38 38 47 54 54 68 77 77 96 63 63 79 62 62 78 38 38 47 41 41 52 85 85 106 6 6 7 46 46 57 36 36 45 86 86 108 86 86 108
+18 22 22 63 79 79 28 35 35 146 183 183 140 175 175 84 105 105 148 186 186 142 178 178 140 176 176 143 179 179 143 179 179 144 181 181 147 147 184 147 147 184 144 144 180 145 145 181 146 146 183 146 146 183 146 146 182 103 103 129 129 129 162 138 138 172 143 143 179 2 2 3 2 2 3 8 8 10 26 26 32 13 13 16 17 17 21 52 52 65 108 108 135 140 140 175 135 135 169 141 141 176 138 138 172 135 135 169 139 139 174 137 137 172 138 138 173 141 141 176 141 176 176 140 176 176 133 167 167 140 175 175 140 175 175 139 174 174 122 153 153 129 162 162 123 154 154 130 163 163 54 68 68 0 0 0 4 5 5 9 12 12 11 13 13 16 20 20 58 72 72 26 32 32 133 167 167 128 160 160 77 96 96 135 169 169 130 162 162 128 160 160 131 163 163 130 163 163 131 164 164 134 134 167 134 134 167 131 131 163 132 132 165 133 133 166 133 133 166 132 132 165 93 93 117 117 117 146 125 125 156 130 130 162 2 2 3 2 2 3 7 7 9 23 23 29 11 11 14 15 15 19 47 47 58 98 98 122 126 126 158 122 122 153 127 127 159 124 124 155 121 121 152 125 125 156 123 123 154 124 124 155 127 127 158 126 158 158 126 158 158 119 149 149 125 157 157 125 157 157 125 156 156 109 137 137 116 145 145 110 138 138 116 145 145 48 61 61 0 0 0 3 4 4 8 10 10 9 12 12 14 18 18 51 64 64 23 29 29 119 149 149 114 142 142 68 85 85 121 151 151 115 144 144 114 142 142 116 145 145 116 145 145 255 255 158 255 255 158 255 255 160 255 209 117 255 255 153 255 255 145 255 186 104 255 226 127 255 189 106 255 235 132 46 32 17 25 17 9 255 255 143 255 255 161 255 255 161 255 255 153 255 255 156 244 122 0 249 124 0 252 126 0 249 124 0 247 123 0 249 124 0 244 122 0 244 122 0 244 122 0 244 122 0 244 122 0 247 123 0 229 114 0 76 38 0 51 25 0 53 26 0 45 22 0 96 48 0 63 31 0 71 35 0 91 45 0 40 20 0 7 3 0 5 2 0 7 3 0 102 51 0 35 17 0 17 8 0 53 26 0 45 22 0 25 12 0 137 68 0 158 79 0 17 8 0 5 2 0 10 5 0 10 5 0 56 28 0 252 126 0 252 126 0 249 124 0 247 123 0 242 121 0 247 123 0 244 122 0 249 124 0 239 119 0 239 119 0 244 122 0 103 103 128 2 2 2 2 2 2 6 6 7 18 18 23 9 9 11 12 12 15 37 37 46 77 77 97 100 100 125 97 97 121 100 100 126 98 98 123 96 96 120 99 99 124 98 98 122 99 99 123 100 100 126 100 125 125 100 125 125 95 119 119 100 125 125 100 125 125 99 124 124 87 109 109 92 115 115 88 110 110 93 116 116 39 48 48 0 0 0 2 3 3 6 8 8 7 9 9 11 14 14 41 52 52 18 23 23 95 119 119 91 114 114 55 69 69 97 121 121 93 116 116 92 115 115 94 117 117 94 117 117 94 118 118 93 117 117 96 96 120 94 94 118 95 95 119 96 96 120 96 96 120 95 95 119 67 67 84 85 85 106 90 90 113 94 94 118 1 1 2 1 1 2 5 5 7 17 17 21 8 8 10 11 11 14 34 34 42 71 71 89 92 92 115 89 89 111 93 93 116 91 91 113 89 89 111 91 91 114 90 90 113 91 91 114 93 93 116 93 116 116 93 116 116 88 110 110 93 116 116 92 116 116 92 116 116 81 101 101 86 107 107 82 102 102 86 108 108 36 45 45 0 0 0 2 3 3 6 8 8 7 9 9 11 13 13 38 48 48 17 22 22 89 112 112 85 107 107 51 64 64 91 114 114 87 109 109 86 108 108 88 110 110 88 110 110 89 111 111 88 110 110 90 90 113 88 88 111 89 89 112 90 90 113 90 90 113 90 90 112 63 63 79 80 80 100 85 85 107 89 89 111 1 1 2 1 1 2
+182 182 182 186 186 186 178 178 178 179 179 179 181 145 181 185 148 185 181 144 181 186 149 186 184 147 184 178 142 178 181 145 181 185 148 185 179 143 179 182 146 182 104 83 104 11 8 11 7 5 7 29 23 29 18 14 18 49 39 49 33 26 33 27 22 27 108 86 108 176 141 176 181 145 181 176 140 176 175 140 175 175 140 175 180 144 180 176 141 176 176 141 176 170 136 170 172 137 172 173 173 173 177 177 177 171 171 171 172 172 172 176 176 176 170 170 170 173 173 173 177 177 177 175 175 175 171 171 171 138 138 138 10 10 10 7 7 7 28 28 28 17 17 17 68 68 68 70 70 70 26 26 26 103 103 103 168 168 168 173 173 173 171 171 171 169 169 169 166 166 166 171 171 171 168 168 168 167 167 167 160 160 160 163 163 163 165 132 165 168 134 168 162 130 162 164 131 164 167 133 167 165 132 165 163 130 163 167 134 167 165 132 165 162 129 162 131 105 131 45 36 45 10 8 10 26 21 26 16 13 16 65 52 65 66 53 66 41 33 41 48 38 48 159 127 159 163 130 163 161 129 161 159 127 159 157 126 157 160 128 160 158 126 158 158 126 158 151 121 151 154 123 154 150 120 150 155 155 155 155 155 155 154 154 154 157 157 157 155 155 155 153 153 153 155 155 155 157 157 157 152 152 152 123 123 123 42 42 42 9 9 9 9 9 9 14 14 14 61 61 61 62 62 62 39 39 39 45 45 45 112 112 112 153 153 153 151 151 151 150 150 150 148 148 148 150 150 150 150 150 150 147 147 147 149 149 149 144 144 144 255 255 156 255 255 156 255 255 158 255 255 161 205 142 80 179 125 70 255 224 125 255 255 148 251 174 98 221 154 86 251 174 98 29 20 11 33 23 13 255 235 132 255 255 161 255 255 158 255 255 156 255 255 158 244 122 0 244 122 0 247 123 0 244 122 0 244 122 0 244 122 0 244 122 0 247 123 0 244 122 0 244 122 0 242 121 0 249 124 0 107 53 0 22 11 0 61 30 0 48 24 0 35 17 0 48 24 0 81 40 0 124 62 0 89 44 0 53 26 0 17 8 0 20 10 0 22 11 0 43 21 0 89 44 0 45 22 0 79 39 0 58 29 0 22 11 0 53 26 0 135 67 0 56 28 0 48 24 0 35 17 0 30 15 0 10 5 0 249 124 0 252 126 0 244 122 0 247 123 0 249 124 0 244 122 0 249 124 0 244 122 0 244 122 0 242 121 0 131 104 131 129 103 129 129 103 129 73 58 73 7 6 7 5 4 5 20 16 20 13 10 13 35 28 35 23 18 23 19 15 19 76 61 76 124 99 124 128 102 128 123 99 123 123 98 123 123 98 123 127 101 127 124 99 124 124 99 124 120 96 120 121 96 121 122 122 122 124 124 124 120 120 120 121 121 121 124 124 124 120 120 120 122 122 122 124 124 124 123 123 123 120 120 120 97 97 97 7 7 7 4 4 4 19 19 19 12 12 12 48 48 48 49 49 49 18 18 18 73 73 73 118 118 118 122 122 122 120 120 120 119 119 119 118 118 118 121 121 121 118 118 118 118 118 118 113 113 113 115 115 115 113 113 113 119 95 119 115 92 115 116 93 116 118 95 118 117 93 117 116 92 116 119 95 119 118 94 118 115 92 115 93 75 93 32 25 32 7 5 7 19 15 19 11 9 11 46 37 46 47 38 47 29 23 29 34 27 34 114 91 114 117 94 117 116 93 116 115 92 115 113 91 113 116 92 116 115 92 115 114 91 114 109 87 109 111 89 111 109 87 109 112 112 112 112 112 112 112 112 112 114 114 114 113 113 113 112 112 112 113 113 113 115 115 115 111 111 111 90 90 90 31 31 31 6 6 6 6 6 6 10 10 10 45 45 45 46 46 46 28 28 28 33 33 33 83 83 83 114 114 114 114 114 114 111 111 111 110 110 110 112 112 112 112 112 112 110 110 110 112 112 112 108 108 108 106 106 106 109 87 109 109 87 109 109 87 109 112 90 112
+188 150 188 184 147 184 138 111 138 34 27 34 20 16 20 15 12 15 113 90 113 183 146 183 184 147 184 177 141 177 184 147 184 185 148 185 185 148 185 185 148 185 185 148 185 173 138 173 141 113 141 128 102 128 16 13 16 172 138 172 183 146 183 173 139 173 160 128 160 177 141 177 178 142 178 178 142 178 180 144 180 177 177 177 179 179 179 181 181 181 178 178 178 180 180 180 176 176 176 132 132 132 5 5 5 16 16 16 16 16 16 162 162 162 178 178 178 174 174 174 176 176 176 175 175 175 177 177 177 176 176 176 176 176 176 176 176 176 165 165 165 134 134 134 122 122 122 15 15 15 164 164 164 174 174 174 165 165 165 152 152 152 168 168 168 169 169 169 169 169 169 169 135 169 172 137 172 171 137 171 171 137 171 169 135 169 170 136 170 131 104 131 24 19 24 5 4 5 15 12 15 15 12 15 153 122 153 168 134 168 164 131 164 166 133 166 166 132 166 167 133 167 167 133 167 166 133 166 166 133 166 155 124 155 127 101 127 115 92 115 15 12 15 163 130 163 161 128 161 157 125 157 150 120 150 158 126 158 156 125 156 159 127 159 159 159 159 162 162 162 161 161 161 161 161 161 159 159 159 160 160 160 123 123 123 22 22 22 4 4 4 14 14 14 14 14 14 144 144 144 158 158 158 154 154 154 156 156 156 155 155 155 156 156 156 156 156 156 156 156 156 154 154 154 139 139 139 84 84 84 98 98 98 54 54 54 152 152 152 150 150 150 147 147 147 140 140 140 148 148 148 146 146 146 149 149 149 148 119 148 255 255 161 255 255 156 255 255 161 255 255 161 255 224 125 175 122 68 255 238 134 255 255 158 158 110 62 255 238 134 12 8 4 71 49 27 33 23 13 255 255 155 255 255 160 255 255 161 255 255 156 255 255 158 247 123 0 244 122 0 244 122 0 249 124 0 249 124 0 252 126 0 252 126 0 244 122 0 249 124 0 242 121 0 242 121 0 229 114 0 43 21 0 45 22 0 63 31 0 89 44 0 109 54 0 89 44 0 89 44 0 56 28 0 94 47 0 137 68 0 30 15 0 5 2 0 28 14 0 71 35 0 130 65 0 51 25 0 53 26 0 56 28 0 86 43 0 51 25 0 38 19 0 7 3 0 0 0 0 5 2 0 10 5 0 45 22 0 229 114 0 247 123 0 247 123 0 252 126 0 249 124 0 247 123 0 252 126 0 237 118 0 244 122 0 237 118 0 129 103 129 97 77 97 23 19 23 14 11 14 10 8 10 79 63 79 127 102 127 128 103 128 123 98 123 128 102 128 129 103 129 129 103 129 129 103 129 128 103 128 120 96 120 98 78 98 89 71 89 11 9 11 119 95 119 127 101 127 120 96 120 111 89 111 122 98 122 124 99 124 123 99 123 124 99 124 123 123 123 124 124 124 125 125 125 124 124 124 125 125 125 122 122 122 92 92 92 3 3 3 11 11 11 11 11 11 112 112 112 123 123 123 121 121 121 122 122 122 122 122 122 123 123 123 122 122 122 122 122 122 122 122 122 114 114 114 93 93 93 85 85 85 11 11 11 114 114 114 121 121 121 115 115 115 106 106 106 117 117 117 118 118 118 118 118 118 119 119 119 120 96 120 120 96 120 120 96 120 118 95 118 119 95 119 91 73 91 16 13 16 3 2 3 10 8 10 10 8 10 108 86 108 118 95 118 116 93 116 117 93 117 117 93 117 118 94 118 118 94 118 117 94 117 117 94 117 110 88 110 90 72 90 81 65 81 10 8 10 115 92 115 114 91 114 112 89 112 107 85 107 113 90 113 111 89 111 114 91 114 113 113 113 116 116 116 116 116 116 115 115 115 114 114 114 115 115 115 88 88 88 16 16 16 3 3 3 10 10 10 10 10 10 104 104 104 114 114 114 112 112 112 113 113 113 113 113 113 114 114 114 114 114 114 114 114 114 113 113 113 102 102 102 62 62 62 72 72 72 40 40 40 112 112 112 111 111 111 108 108 108
+101 81 101 143 114 143 186 149 186 188 150 188 188 150 188 180 144 180 178 142 178 176 140 176 175 140 175 135 108 135 182 146 182 186 149 186 184 147 184 182 145 182 185 148 185 179 143 179 177 142 177 177 141 177 173 138 173 178 143 178 184 184 184 183 183 183 181 181 181 177 177 177 181 181 181 180 180 180 180 180 180 182 182 182 180 180 180 27 27 27 5 5 5 91 91 91 89 89 89 107 107 107 169 169 169 179 179 179 179 179 179 170 170 170 173 173 173 158 158 158 171 171 171 134 134 134 138 138 138 177 177 177 177 177 177 173 173 173 176 176 176 169 169 169 170 170 170 161 161 161 161 161 161 169 169 169 174 139 174 174 139 174 170 136 170 172 137 172 171 137 171 167 134 167 169 135 169 172 138 172 172 137 172 158 126 158 29 23 29 38 30 38 69 55 69 91 73 91 129 103 129 168 134 168 169 135 169 169 135 169 162 129 162 160 128 160 158 126 158 157 126 157 122 97 122 164 131 164 167 133 167 165 132 165 163 130 163 166 132 166 160 128 160 158 127 158 158 126 158 154 123 154 159 127 159 164 164 164 163 163 163 161 161 161 158 158 158 161 161 161 160 160 160 160 160 160 161 161 161 159 159 159 24 24 24 4 4 4 81 81 81 79 79 79 95 95 95 149 149 149 159 159 159 158 158 158 150 150 150 153 153 153 140 140 140 151 151 151 118 118 118 121 121 121 156 156 156 156 156 156 152 152 152 155 155 155 148 148 148 150 150 150 141 141 141 141 141 141 149 149 149 153 122 153 153 122 153 149 119 149 255 255 160 255 255 156 255 255 156 255 255 161 246 171 96 142 98 55 255 253 142 255 255 160 255 255 145 255 212 119 100 69 39 46 32 17 37 26 14 255 255 160 255 255 161 255 255 161 255 255 161 255 255 161 252 126 0 247 123 0 244 122 0 247 123 0 252 126 0 252 126 0 249 124 0 247 123 0 252 126 0 249 124 0 242 121 0 79 39 0 33 16 0 71 35 0 63 31 0 104 52 0 137 68 0 66 33 0 86 43 0 66 33 0 122 61 0 12 6 0 7 3 0 38 19 0 84 42 0 56 28 0 63 31 0 25 12 0 43 21 0 71 35 0 81 40 0 33 16 0 7 3 0 10 5 0 45 22 0 25 12 0 10 5 0 5 2 0 249 124 0 252 126 0 252 126 0 252 126 0 249 124 0 247 123 0 244 122 0 239 119 0 244 122 0 252 126 0 131 105 131 128 102 128 129 103 129 131 105 131 131 105 131 120 96 120 22 18 22 29 23 29 52 42 52 69 55 69 98 78 98 128 102 128 129 103 129 129 103 129 124 99 124 122 98 122 121 96 121 120 96 120 93 74 93 125 100 125 128 102 128 126 101 126 125 100 125 127 101 127 123 98 123 121 97 121 121 97 121 118 95 118 122 98 122 126 126 126 125 125 125 124 124 124 121 121 121 124 124 124 123 123 123 123 123 123 124 124 124 123 123 123 18 18 18 3 3 3 62 62 62 61 61 61 73 73 73 115 115 115 123 123 123 123 123 123 116 116 116 119 119 119 108 108 108 117 117 117 92 92 92 94 94 94 121 121 121 121 121 121 119 119 119 121 121 121 116 116 116 117 117 117 111 111 111 111 111 111 116 116 116 116 116 116 120 96 120 117 94 117 118 95 118 118 94 118 116 92 116 117 93 117 119 95 119 119 95 119 109 87 109 20 16 20 26 21 26 47 38 47 63 50 63 89 71 89 117 93 117 118 94 118 118 94 118 113 90 113 111 89 111 110 88 110 110 88 110 85 68 85 114 91 114 117 93 117 115 92 115 114 91 114 116 93 116 113 90 113 111 89 111 111 89 111 109 87 109 112 90 112 116 116 116 115 115 115 114 114 114 112 112 112 114 114 114 114 114 114 114 114 114 115 115 115 114 114 114 17 17 17 3 3 3 58 58 58 56 56 56 68 68 68 107 107 107 114 114 114 114 114 114 108 108 108 110 110 110 101 101 101
+155 124 155 183 147 183 164 131 164 169 135 169 171 137 171 177 141 177 188 150 188 188 150 188 187 150 187 185 148 185 179 143 179 175 140 175 186 149 186 186 186 186 186 186 186 185 185 185 185 185 185 183 183 183 164 164 164 80 80 80 156 156 156 68 68 68 135 135 135 174 174 174 152 152 152 131 131 131 77 77 77 177 177 177 136 136 136 47 47 47 99 99 99 64 64 64 91 91 91 73 73 73 147 147 147 175 175 175 165 165 165 161 161 161 163 163 163 168 168 168 179 179 179 178 178 178 178 178 178 176 176 176 170 170 170 166 166 166 177 177 177 176 141 176 176 141 176 176 141 176 176 140 176 173 139 173 155 124 155 76 60 76 105 84 105 144 115 144 128 102 128 165 132 165 143 115 143 124 99 124 145 116 145 141 113 141 128 103 128 45 36 45 93 74 93 60 48 60 86 69 86 127 102 127 79 63 79 164 131 164 156 124 156 152 121 152 153 123 153 121 96 121 166 133 166 168 134 168 167 134 167 165 132 165 160 128 160 156 125 156 161 129 161 162 130 162 165 165 165 165 165 165 165 165 165 163 163 163 159 159 159 111 111 111 99 99 99 135 135 135 120 120 120 154 154 154 157 157 157 111 111 111 135 135 135 132 132 132 120 120 120 42 42 42 87 87 87 56 56 56 61 61 61 119 119 119 73 73 73 154 154 154 145 145 145 137 137 137 133 133 133 112 112 112 155 155 155 156 156 156 156 156 156 154 154 154 152 152 152 153 153 153 150 150 150 151 151 151 154 123 154 154 123 154 153 123 153 151 121 151 255 255 158 255 255 160 255 255 160 255 255 160 154 107 60 255 255 151 255 177 99 255 255 160 255 255 153 255 255 147 71 49 27 29 20 11 255 244 137 255 255 161 255 255 161 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 244 122 0 244 122 0 247 123 0 247 123 0 252 126 0 252 126 0 247 123 0 214 107 0 147 73 0 20 10 0 28 14 0 15 7 0 66 33 0 68 34 0 114 57 0 38 19 0 79 39 0 71 35 0 114 57 0 12 6 0 10 5 0 33 16 0 96 48 0 33 16 0 94 47 0 33 16 0 112 56 0 30 15 0 22 11 0 96 48 0 122 61 0 53 26 0 33 16 0 12 6 0 28 14 0 10 5 0 221 110 0 252 126 0 249 124 0 242 121 0 242 121 0 244 122 0 252 126 0 234 117 0 247 123 0 133 106 133 133 106 133 131 105 131 131 105 131 117 94 117 57 46 57 112 89 112 49 39 49 106 85 106 127 102 127 108 86 108 93 75 93 55 44 55 126 101 126 38 30 38 84 67 84 70 56 70 45 36 45 65 52 65 52 41 52 105 84 105 124 99 124 111 89 111 115 92 115 116 93 116 120 96 120 127 102 127 127 101 127 127 101 127 125 100 125 121 97 121 118 95 118 126 101 126 126 126 126 126 126 126 125 125 125 125 125 125 124 124 124 111 111 111 54 54 54 105 105 105 46 46 46 91 91 91 118 118 118 102 102 102 88 88 88 52 52 52 119 119 119 92 92 92 32 32 32 67 67 67 43 43 43 62 62 62 49 49 49 100 100 100 118 118 118 112 112 112 109 109 109 110 110 110 114 114 114 121 121 121 121 121 121 121 121 121 119 119 119 115 115 115 113 113 113 120 120 120 117 117 117 120 96 120 120 96 120 119 95 119 118 94 118 106 85 106 51 41 51 72 57 72 98 79 98 87 70 87 112 90 112 98 78 98 85 68 85 99 79 99 96 77 96 88 70 88 31 24 31 64 51 64 41 33 41 59 47 59 87 70 87 54 43 54 113 91 113 107 86 107 105 84 105 106 85 106 83 67 83 115 92 115 116 93 116 116 93 116 115 92 115 111 89 111 109 87 109 112 90 112 113 90 113 115 115 115 115 115 115 115 115 115 114 114 114 111 111 111 78 78 78 69 69 69 95 95 95 84 84 84 109 109 109 111 111 111 78 78 78 96 96 96
+152 152 190 152 152 190 147 147 184 142 142 178 134 134 168 132 132 166 146 146 183 146 182 182 146 182 182 145 182 182 144 180 180 143 179 179 143 179 179 146 183 183 147 184 184 144 180 180 144 180 180 147 184 184 144 180 180 143 179 179 125 157 157 113 141 141 86 108 108 101 126 126 135 169 169 136 170 170 142 178 178 136 170 170 142 177 177 140 175 175 137 171 171 139 174 174 141 176 176 139 174 174 140 175 175 140 175 175 144 180 180 142 178 178 139 174 174 135 169 169 127 159 159 131 164 164 143 143 179 138 138 173 138 138 173 142 142 178 136 136 170 136 136 170 136 136 170 138 138 173 137 137 171 136 136 171 136 136 170 139 139 174 137 137 171 135 135 169 118 118 148 107 107 134 92 92 116 95 95 119 127 127 159 128 128 161 134 134 167 128 128 160 133 133 167 132 132 165 124 124 156 131 131 164 132 132 165 131 131 163 132 132 165 132 132 165 135 135 169 134 134 167 131 131 164 126 126 158 119 119 149 123 123 154 134 167 167 131 164 164 129 162 162 133 166 166 127 159 159 130 162 162 127 159 159 129 162 162 128 160 160 129 161 161 127 159 159 130 162 162 128 160 160 120 150 150 110 138 138 100 125 125 86 108 108 97 121 121 119 148 148 120 150 150 125 156 156 124 156 156 124 155 155 123 153 153 116 145 145 125 156 156 123 154 154 122 152 152 123 153 153 122 153 153 126 157 157 124 156 156 121 152 152 117 147 147 110 137 137 114 143 143 124 124 155 121 121 152 120 120 150 123 123 154 118 118 148 120 120 151 255 255 156 255 255 155 255 255 161 255 255 160 225 157 88 255 255 155 255 203 114 255 255 161 255 255 156 255 192 107 142 98 55 87 61 34 255 212 119 255 255 161 255 255 161 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 224 112 0 112 56 0 7 3 0 61 30 0 10 5 0 38 19 0 38 19 0 53 26 0 160 80 0 109 54 0 193 96 0 158 79 0 12 6 0 22 11 0 25 12 0 73 36 0 20 10 0 33 16 0 170 85 0 183 91 0 209 104 0 188 94 0 127 63 0 119 59 0 181 90 0 33 16 0 10 5 0 17 8 0 10 5 0 252 126 0 252 126 0 252 126 0 252 126 0 247 123 0 244 122 0 244 122 0 244 122 0 249 124 0 104 130 130 104 104 130 105 105 131 103 103 129 102 102 128 102 102 127 104 104 130 98 98 123 104 104 131 102 102 128 103 103 129 105 105 131 102 102 127 101 101 127 88 88 111 79 79 99 61 61 76 71 71 89 95 95 119 98 98 123 100 100 125 96 96 120 100 100 125 101 101 126 96 96 121 98 98 123 99 99 124 99 99 124 99 99 124 99 99 123 102 102 127 101 101 127 98 98 123 95 95 119 90 90 112 88 88 111 98 98 122 97 122 122 97 122 122 97 121 121 96 120 120 96 120 120 96 120 120 98 122 122 98 123 123 96 120 120 96 120 120 98 123 123 96 120 120 96 120 120 84 105 105 75 94 94 57 72 72 67 84 84 90 113 113 91 114 114 95 119 119 91 113 113 94 118 118 93 117 117 91 114 114 93 117 117 94 118 118 93 116 116 94 117 117 94 117 117 96 121 121 95 119 119 93 117 117 90 113 113 85 107 107 88 110 110 93 116 116 93 93 116 93 93 116 95 95 119 91 91 114 91 91 114 91 91 114 93 93 116 92 92 115 92 92 115 92 92 115 94 94 117 92 92 116 91 91 114 80 80 100 72 72 90 63 63 78 64 64 81 86 86 108 87 87 109 91 91 114 87 87 109 91 91 113 90 90 112 85 85 106 89 89 112 90 90 113 89 89 112 90 90 113 90 90 113 93 93 116 92 92 115 90 90 112 87 87 109 82 82 103 85 85 106 92 115 115 90 113 113 89 112 112 92 115 115 88 110 110 90 112 112 88 110 110
+152 190 190 152 190 190 147 184 184 148 186 186 150 187 187 150 187 187 149 187 187 134 168 168 19 24 24 18 22 22 38 47 47 82 102 102 39 49 49 51 64 64 72 90 90 7 9 9 4 5 5 18 22 22 45 56 56 30 37 37 31 39 39 32 41 41 50 63 63 29 37 37 4 5 5 2 3 3 2 3 3 5 7 7 26 33 33 145 181 181 143 179 179 141 177 177 144 180 180 141 176 176 144 180 180 140 176 176 139 174 174 144 144 181 144 144 180 140 140 175 141 141 176 141 141 176 143 143 179 142 142 177 141 141 177 44 44 55 17 17 21 40 40 50 58 58 73 40 40 50 37 37 46 37 37 46 81 81 101 7 7 8 7 7 8 39 39 49 42 42 53 28 28 35 9 9 12 31 31 38 53 53 66 21 21 26 2 2 3 0 0 0 5 5 6 25 25 31 125 125 156 134 134 168 133 133 166 137 137 171 132 132 165 135 135 169 132 132 165 132 132 165 127 127 159 135 169 169 135 169 169 131 163 163 132 165 165 133 166 166 133 166 166 132 165 165 118 148 148 17 21 21 16 20 20 33 42 42 72 90 90 34 43 43 45 56 56 64 80 80 6 8 8 3 4 4 15 19 19 39 49 49 26 33 33 27 34 34 28 36 36 44 55 55 26 32 32 3 4 4 2 3 3 2 3 3 5 6 6 23 29 29 126 158 158 125 156 156 123 154 154 125 157 157 123 153 153 125 156 156 122 153 153 121 151 151 125 125 157 125 125 157 121 121 151 122 122 153 122 122 152 124 124 155 123 123 153 122 122 153 255 255 160 255 255 161 255 255 161 255 235 132 87 61 34 179 125 70 255 255 153 255 255 161 255 255 156 154 107 60 154 107 60 16 11 6 255 255 156 255 255 161 255 255 161 255 255 158 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 249 124 0 249 124 0 153 76 0 104 52 0 7 3 0 15 7 0 43 21 0 66 33 0 20 10 0 22 11 0 94 47 0 112 56 0 221 110 0 239 119 0 28 14 0 15 7 0 158 79 0 160 80 0 239 119 0 249 124 0 249 124 0 252 126 0 249 124 0 242 121 0 158 79 0 168 84 0 142 71 0 191 95 0 10 5 0 25 12 0 237 118 0 247 123 0 247 123 0 249 124 0 249 124 0 229 114 0 239 119 0 247 123 0 249 124 0 244 122 0 104 131 131 103 129 129 101 126 126 107 107 134 104 104 130 105 105 131 104 104 131 106 106 133 105 105 131 105 105 131 33 33 41 12 12 16 29 29 37 43 43 54 29 29 37 27 27 34 27 27 34 60 60 75 5 5 6 5 5 6 29 29 36 31 31 39 21 21 26 7 7 9 23 23 28 39 39 49 15 15 19 3 3 3 0 0 0 4 4 5 18 18 23 93 93 116 100 100 125 99 99 123 101 101 127 98 98 123 100 100 125 98 98 123 98 98 122 95 95 118 101 126 126 100 126 126 97 122 122 98 123 123 99 124 124 99 124 124 99 123 123 88 111 111 13 16 16 12 15 15 25 31 31 54 67 67 28 35 35 34 42 42 48 60 60 4 6 6 2 3 3 11 14 14 29 37 37 19 24 24 20 26 26 21 27 27 33 42 42 19 24 24 2 3 3 1 2 2 1 2 2 3 4 4 17 22 22 96 120 120 95 118 118 93 117 117 95 119 119 93 117 117 95 119 119 93 116 116 92 115 115 90 112 112 96 96 120 93 93 116 93 93 117 93 93 117 95 95 119 94 94 118 94 94 118 29 29 37 11 11 14 26 26 33 39 39 49 26 26 33 24 24 31 24 24 31 54 54 68 4 4 5 4 4 5 26 26 33 28 28 35 19 19 23 6 6 8 20 20 26 36 36 45 14 14 17 2 2 3 0 0 0 3 3 4 16 16 21 84 84 105 91 91 114 90 90 112 93 93 116 90 90 112 91 91 114 89 89 112 89 89 112 86 86 108
+151 189 189 101 127 127 3 3 3 32 40 40 15 19 19 29 36 36 19 24 24 110 137 137 81 101 101 77 97 97 83 104 104 47 59 59 30 38 38 24 30 30 135 168 168 147 183 183 146 183 183 136 170 170 6 7 7 67 84 84 100 126 126 115 144 144 33 41 41 145 181 181 143 179 179 140 175 175 144 181 181 144 180 180 133 167 167 138 172 172 142 178 178 142 177 177 146 146 183 146 146 182 146 146 182 145 145 182 142 142 178 145 145 181 145 145 181 143 143 179 138 138 173 2 2 3 30 30 38 14 14 18 27 27 34 34 34 43 104 104 130 76 76 95 86 86 108 79 79 99 79 79 98 28 28 35 22 22 28 68 68 85 138 138 173 138 138 172 128 128 160 5 5 7 34 34 42 94 94 118 108 108 136 31 31 38 136 136 170 136 136 170 131 131 164 135 135 169 135 135 169 125 125 157 128 128 160 133 133 166 133 133 166 134 134 168 136 171 171 136 170 170 136 170 170 133 166 166 134 168 168 135 169 169 135 169 169 129 162 162 2 3 3 5 6 6 13 16 16 25 32 32 32 40 40 97 121 121 68 85 85 80 100 100 73 92 92 73 92 92 26 33 33 14 18 18 63 79 79 128 161 161 128 160 160 119 148 148 42 52 52 31 39 39 88 110 110 114 142 142 28 36 36 121 151 151 126 158 158 122 152 152 122 152 152 125 157 157 116 145 145 118 148 148 123 154 154 123 154 154 124 155 155 126 126 158 126 126 158 126 126 157 125 125 157 124 124 155 125 125 156 125 125 156 119 119 149 83 83 103 255 255 161 255 255 161 255 255 161 255 255 151 154 107 60 238 165 93 255 255 158 255 255 158 255 255 158 25 17 9 25 17 9 79 55 31 255 255 155 255 255 161 255 255 161 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 242 121 0 211 105 0 99 49 0 20 10 0 28 14 0 35 17 0 33 16 0 12 6 0 51 25 0 214 107 0 234 117 0 252 126 0 252 126 0 249 124 0 252 126 0 249 124 0 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 249 124 0 181 90 0 17 8 0 114 57 0 247 123 0 249 124 0 244 122 0 242 121 0 232 116 0 247 123 0 242 121 0 239 119 0 249 124 0 105 132 132 101 126 126 102 127 127 105 131 131 104 131 131 107 107 134 107 107 134 107 107 134 107 107 134 105 105 131 107 107 133 106 106 133 105 105 131 70 70 88 4 4 5 22 22 28 20 20 25 20 20 25 13 13 17 54 54 67 56 56 70 54 54 67 58 58 72 32 32 40 11 11 14 16 16 21 93 93 116 101 101 127 101 101 127 33 33 41 4 4 5 46 46 58 69 69 87 80 80 100 96 96 120 100 100 125 99 99 124 97 97 121 100 100 125 98 98 123 92 92 115 95 95 119 98 98 122 98 98 122 101 126 126 100 126 126 100 126 126 100 125 125 98 123 123 100 125 125 100 125 125 99 123 123 66 83 83 2 2 2 21 26 26 10 12 12 19 23 23 13 16 16 72 90 90 53 66 66 50 63 63 54 68 68 30 38 38 19 24 24 15 19 19 88 110 110 96 120 120 95 119 119 88 111 111 3 4 4 44 55 55 65 82 82 75 94 94 21 27 27 95 118 118 94 117 117 92 115 115 94 118 118 94 118 118 87 109 109 90 113 113 93 116 116 93 116 116 94 117 117 95 95 119 95 95 119 95 95 119 93 93 117 95 95 119 95 95 119 94 94 117 91 91 114 1 1 2 20 20 25 9 9 11 18 18 22 22 22 28 68 68 86 50 50 63 57 57 71 52 52 65 52 52 65 19 19 23 15 15 19 45 45 56 92 92 115 91 91 114 85 85 106 3 3 4 22 22 28 63 63 79 72 72 90 20 20 25 91 91 114 91 91 114 88 88 110
+12 15 15 41 52 52 81 102 102 134 167 167 151 188 188 152 190 190 152 190 190 150 188 188 104 130 130 118 147 147 81 101 101 132 166 166 64 80 80 143 179 179 138 173 173 106 133 133 148 186 186 150 187 187 145 181 181 145 181 181 143 179 179 135 169 169 144 180 180 144 180 180 132 165 165 131 164 164 136 170 170 148 148 185 147 147 184 147 147 184 147 147 184 147 147 183 144 144 180 146 146 183 146 146 183 146 146 182 146 146 182 144 144 180 142 142 178 117 117 146 51 51 64 11 11 14 64 64 80 77 77 96 142 142 178 142 142 178 143 143 179 143 143 179 141 141 177 98 98 122 111 111 138 108 108 135 125 125 156 93 93 116 134 134 168 120 120 150 100 100 125 139 139 174 140 140 176 136 136 170 136 136 170 134 134 168 132 132 166 135 135 169 132 132 165 123 123 154 130 130 163 127 127 159 138 173 173 138 172 172 138 172 172 137 172 172 137 171 171 134 168 168 137 171 171 136 170 170 136 170 170 136 170 170 134 168 168 130 162 162 109 136 136 47 59 59 10 13 13 59 74 74 71 89 89 132 166 166 133 167 167 133 167 167 133 166 166 131 164 164 81 102 102 103 128 128 100 125 125 116 145 145 86 108 108 124 156 156 111 139 139 125 157 157 129 161 161 127 159 159 126 157 157 124 155 155 124 155 155 122 153 153 125 156 156 122 153 153 114 143 143 120 150 150 117 147 147 127 127 159 127 127 159 127 127 159 127 127 158 126 126 158 125 125 156 126 126 157 126 126 157 125 125 157 125 125 156 124 124 155 255 255 155 255 255 161 255 255 160 255 255 151 41 29 16 255 255 158 255 255 160 255 255 153 221 154 86 29 20 11 16 11 6 37 26 14 255 255 161 255 255 161 255 255 161 255 255 161 255 255 161 252 126 0 252 126 0 247 123 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 186 93 0 86 43 0 28 14 0 7 3 0 38 19 0 28 14 0 22 11 0 224 112 0 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 247 123 0 249 124 0 247 123 0 160 80 0 22 11 0 237 118 0 249 124 0 247 123 0 239 119 0 221 110 0 232 116 0 244 122 0 239 119 0 244 122 0 252 126 0 99 124 124 103 129 129 105 132 132 103 129 129 96 120 120 102 127 127 104 130 130 108 108 135 108 108 135 107 107 134 107 107 134 105 105 131 106 106 132 107 107 133 106 106 133 106 106 133 106 106 133 104 104 130 101 101 127 31 31 38 8 8 10 28 28 35 56 56 70 92 92 115 103 103 129 104 104 131 104 104 130 104 104 130 71 71 89 64 64 80 55 55 69 91 91 114 43 43 54 98 98 122 94 94 118 72 72 91 98 98 123 102 102 128 100 100 125 99 99 124 98 98 122 92 92 116 98 98 123 98 98 123 90 90 112 90 90 112 93 93 116 97 97 121 101 126 126 100 126 126 100 126 126 100 125 125 98 123 123 99 124 124 100 125 125 100 125 125 99 124 124 98 123 123 97 122 122 80 100 100 29 36 36 8 10 10 27 33 33 53 66 66 86 108 108 97 122 122 98 123 123 98 123 123 97 121 121 67 84 84 76 95 95 52 65 65 86 107 107 41 51 51 92 115 115 89 112 112 68 86 86 96 120 120 97 121 121 94 117 117 93 117 117 92 116 116 87 109 109 93 117 117 93 116 116 85 107 107 85 106 106 88 110 110 92 115 115 95 95 119 95 95 119 95 95 119 95 95 119 93 93 116 95 95 119 95 95 119 95 95 119 95 95 118 94 94 117 93 93 116 76 76 95 33 33 41 7 7 9 42 42 52 50 50 63 93 93 116 93 93 116 94 94 117 94 94 117 93 93 116 64 64 80 72 72 91 71 71 88 82 82 102 61 61 76 88 88 110
+107 134 134 119 149 149 151 189 189 151 189 189 153 191 191 151 189 189 143 179 179 57 71 71 113 142 142 89 111 111 52 65 65 150 187 187 151 189 189 151 189 189 148 185 185 150 188 188 146 182 182 149 186 186 148 186 186 147 183 183 148 185 185 148 185 185 149 149 186 149 149 186 149 149 186 148 148 186 148 148 185 148 148 185 148 148 185 148 148 185 147 147 184 147 147 184 144 144 180 25 25 31 35 35 44 143 143 179 145 145 181 11 11 14 2 2 3 30 30 38 11 11 14 101 101 126 108 108 135 112 112 140 127 127 159 143 143 178 144 144 180 142 142 178 142 142 178 53 53 67 10 10 12 107 107 133 59 59 73 49 49 61 142 142 178 142 142 177 140 140 175 138 138 173 137 137 171 136 136 171 139 139 174 139 139 174 137 137 172 138 138 173 140 140 175 139 174 174 139 174 174 139 174 174 139 173 173 138 173 173 138 173 173 138 172 172 138 172 172 137 172 172 134 168 168 110 138 138 33 41 41 114 143 143 135 168 168 92 115 115 10 13 13 1 1 1 28 35 35 32 40 40 94 117 117 93 117 117 104 130 130 132 166 166 132 165 165 133 167 167 132 165 165 125 156 156 49 62 62 99 123 123 77 96 96 45 56 56 130 163 163 131 164 164 131 164 164 128 160 160 130 163 163 126 158 158 129 161 161 128 160 160 127 159 159 128 160 160 127 159 159 129 129 161 128 128 160 128 128 160 128 128 160 127 127 159 127 127 159 127 127 159 127 127 158 126 126 158 126 126 158 123 123 154 21 21 27 255 255 153 255 255 147 255 255 161 255 255 158 255 255 148 25 17 9 255 255 161 255 255 160 255 238 134 255 180 101 58 40 22 75 52 29 16 11 6 255 255 161 255 255 161 255 255 161 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 168 84 0 22 11 0 10 5 0 5 2 0 43 21 0 63 31 0 43 21 0 206 103 0 244 122 0 252 126 0 252 126 0 249 124 0 249 124 0 249 124 0 249 124 0 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 237 118 0 38 19 0 22 11 0 68 34 0 84 42 0 196 98 0 249 124 0 252 126 0 244 122 0 247 123 0 247 123 0 229 114 0 234 117 0 244 122 0 244 122 0 247 123 0 108 135 135 110 137 137 106 133 133 108 135 135 108 135 135 106 133 133 107 134 134 107 134 134 108 135 135 108 108 135 108 108 135 108 108 135 107 107 134 107 107 134 107 107 134 107 107 134 107 107 133 106 106 133 104 104 130 18 18 22 25 25 32 103 103 129 104 104 131 8 8 10 2 2 2 22 22 27 8 8 10 73 73 91 78 78 97 81 81 101 91 91 114 103 103 129 104 104 130 102 102 128 102 102 128 38 38 48 7 7 9 77 77 96 42 42 53 35 35 44 102 102 128 102 102 128 101 101 126 100 100 125 99 99 123 98 98 123 100 100 126 100 100 125 99 99 124 100 100 125 101 101 126 101 126 126 101 126 126 100 126 126 100 125 125 100 125 125 100 125 125 100 125 125 100 125 125 100 125 125 97 122 122 80 100 100 24 30 30 83 104 104 98 122 122 67 83 83 8 10 10 1 1 1 20 26 26 23 29 29 68 85 85 68 85 85 76 95 95 97 121 121 97 121 121 98 122 122 96 121 121 91 114 114 36 45 45 72 91 91 57 71 71 33 41 41 96 120 120 97 121 121 96 121 121 94 118 118 96 120 120 93 117 117 95 119 119 95 119 119 94 117 117 95 119 119 95 118 118 95 119 119 95 95 119 95 95 119 95 95 119 95 95 119 95 95 119 95 95 119 95 95 119 95 95 118 95 95 118 93 93 116 16 16 20 22 22 28 92 92 116 93 93 117 7 7 9 1 1 2 20 20 25 7 7 9 65 65 82 70 70 87 73 73 91 82 82 103
+40 50 50 146 182 182 147 184 184 147 184 184 139 174 174 139 174 174 109 137 137 149 187 187 152 190 190 152 190 190 152 190 190 152 190 190 148 186 186 148 185 185 151 189 189 148 185 185 151 188 188 150 150 188 150 150 188 150 150 188 150 150 187 150 150 187 149 149 187 149 149 187 149 149 186 123 123 154 100 100 126 126 126 157 39 39 48 135 135 168 116 116 146 140 140 175 143 143 179 134 134 167 114 114 143 142 142 178 65 65 81 13 13 16 39 39 49 51 51 64 35 35 44 26 26 33 82 82 103 64 64 80 38 38 47 68 68 86 138 138 173 132 132 166 131 131 164 131 131 163 103 103 128 140 140 175 143 143 179 143 143 178 142 142 178 142 142 178 139 139 174 139 139 174 142 142 177 131 131 164 141 141 176 139 139 174 141 176 176 140 176 176 140 175 175 140 175 175 140 175 175 139 174 174 139 174 174 115 144 144 94 117 117 117 147 147 36 45 45 96 120 120 108 136 136 130 163 163 133 166 166 124 156 156 106 133 133 132 165 165 129 162 162 12 15 15 37 46 46 48 60 60 32 41 41 30 37 37 76 95 95 111 139 139 35 44 44 63 79 79 128 160 160 122 153 153 128 160 160 121 151 151 107 134 134 130 162 162 132 165 165 132 165 165 131 164 164 131 164 164 128 161 161 129 162 162 130 163 163 121 151 151 130 163 163 128 161 161 129 129 162 129 129 162 129 129 161 129 129 161 128 128 161 128 128 160 128 128 160 120 120 150 86 86 108 72 72 90 33 33 41 88 88 110 99 99 124 255 255 155 255 255 148 255 255 158 255 206 116 255 255 151 150 104 58 255 255 151 255 218 122 255 244 137 104 72 40 146 101 57 255 192 107 255 255 158 255 255 160 255 255 161 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 247 123 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 214 107 0 35 17 0 45 22 0 7 3 0 22 11 0 20 10 0 22 11 0 153 76 0 247 123 0 252 126 0 165 82 0 94 47 0 71 35 0 124 62 0 104 52 0 173 86 0 247 123 0 252 126 0 247 123 0 247 123 0 81 40 0 10 5 0 114 57 0 170 85 0 221 110 0 56 28 0 244 122 0 244 122 0 237 118 0 237 118 0 234 117 0 239 119 0 234 117 0 244 122 0 244 122 0 239 119 0 247 123 0 110 138 138 110 138 138 110 138 138 110 137 137 110 137 137 108 135 135 107 134 134 101 127 127 106 133 133 107 134 134 108 108 135 108 108 135 108 108 135 108 108 135 108 108 135 107 107 134 107 107 134 100 100 126 88 88 111 60 60 75 90 90 113 74 74 92 96 96 121 100 100 126 102 102 128 102 102 128 69 69 86 82 82 102 100 100 125 46 46 58 28 28 35 5 5 6 37 37 46 23 23 29 18 18 23 86 86 107 46 46 57 27 27 34 98 98 123 99 99 124 99 99 124 93 93 117 83 83 104 73 73 92 100 100 125 102 102 128 102 102 128 102 102 127 102 102 127 100 100 126 99 99 124 101 101 127 99 99 124 101 101 126 101 126 126 101 126 126 101 126 126 100 126 126 100 125 125 100 125 125 100 125 125 94 117 117 82 103 103 56 70 70 84 105 105 26 32 32 90 113 113 78 98 98 96 120 120 96 120 120 65 81 81 77 96 96 95 119 119 43 54 54 8 11 11 4 6 6 34 43 43 21 27 27 17 22 22 55 69 69 43 54 54 25 32 32 92 115 115 93 117 117 93 116 116 88 110 110 88 110 110 69 87 87 95 118 118 96 121 121 96 120 120 96 120 120 96 120 120 94 118 118 94 118 118 96 120 120 94 117 117 96 120 120 94 118 118 95 95 119 95 95 119 95 95 119 95 95 119 95 95 119 95 95 119 95 95 119 78 78 98 64 64 80 80 80 100 24 24 31 86 86 107 74 74 93 89 89 112 91 91 114 85 85 107 73 73 91
+96 121 121 146 183 183 149 186 186 147 184 184 107 134 134 79 98 98 110 137 137 109 137 137 140 175 175 142 177 177 149 187 187 149 186 186 136 136 171 79 79 99 82 82 103 82 82 103 143 143 179 128 128 160 138 138 173 140 140 175 144 144 180 146 146 182 135 135 169 138 138 172 109 109 136 134 134 168 86 86 107 66 66 82 61 61 77 100 100 126 121 121 152 135 135 168 142 142 177 143 143 179 143 143 179 141 141 177 131 131 163 117 117 146 89 89 111 136 136 170 137 137 172 144 144 181 126 126 158 88 88 110 142 142 178 136 136 170 90 90 113 142 142 177 140 140 175 138 138 173 100 100 125 74 74 92 103 103 129 103 103 128 131 131 164 133 133 166 140 140 175 139 139 174 128 160 160 74 93 93 77 96 96 77 96 96 134 168 168 137 171 171 129 162 162 130 163 163 133 166 166 136 170 170 125 157 157 128 160 160 101 126 126 63 79 79 80 100 100 61 77 77 112 140 140 93 117 117 113 141 141 125 156 156 132 165 165 124 156 156 133 166 166 131 164 164 124 155 155 108 136 136 82 103 103 126 157 157 127 159 159 134 167 167 117 146 146 81 102 102 131 164 164 126 157 157 83 104 104 131 163 163 129 161 161 123 154 154 92 115 115 68 85 85 120 150 150 94 118 118 121 151 151 122 153 153 128 161 161 129 162 162 117 117 147 68 68 85 52 52 65 71 71 88 123 123 154 125 125 157 118 118 148 123 123 154 122 122 153 124 124 155 85 85 107 117 117 147 93 93 116 58 58 72 73 73 91 52 52 65 154 107 60 163 113 63 246 171 96 255 255 148 100 69 39 255 194 109 225 157 88 255 177 99 167 116 65 117 81 45 255 255 153 255 255 161 255 255 158 255 255 160 255 255 158 255 255 161 247 123 0 247 123 0 252 126 0 249 124 0 252 126 0 252 126 0 249 124 0 249 124 0 252 126 0 252 126 0 244 122 0 198 99 0 17 8 0 17 8 0 22 11 0 56 28 0 17 8 0 7 3 0 183 91 0 130 65 0 135 67 0 153 76 0 140 70 0 140 70 0 79 39 0 28 14 0 107 53 0 117 58 0 229 114 0 242 121 0 84 42 0 17 8 0 122 61 0 130 65 0 94 47 0 127 63 0 119 59 0 244 122 0 242 121 0 229 114 0 224 112 0 232 116 0 232 116 0 239 119 0 244 122 0 239 119 0 234 117 0 69 87 87 105 132 132 108 136 136 106 133 133 102 128 128 77 96 96 79 98 98 100 125 125 101 126 126 102 127 127 101 127 127 107 133 133 108 135 135 97 97 122 59 59 74 43 43 54 102 102 128 91 91 114 104 104 130 100 100 125 103 103 129 102 102 127 96 96 120 71 71 89 77 77 97 95 95 119 48 48 60 47 47 59 43 43 54 85 85 107 86 86 108 102 102 128 101 101 126 102 102 127 95 95 119 100 100 125 93 93 116 95 95 118 63 63 79 47 47 59 97 97 122 102 102 128 102 102 128 62 62 78 101 101 126 101 101 126 64 64 80 97 97 122 99 99 124 98 98 123 95 95 119 52 52 65 73 73 91 92 92 116 93 93 117 94 94 118 99 99 124 99 99 124 100 100 125 53 66 66 55 68 68 40 50 50 95 119 119 85 106 106 92 115 115 93 116 116 96 120 120 97 121 121 89 112 112 66 83 83 72 90 90 89 111 111 57 71 71 44 55 55 41 51 51 67 83 83 81 101 101 95 119 119 94 118 118 95 119 119 95 119 119 94 118 118 87 109 109 78 97 97 59 74 74 44 55 55 91 114 114 96 120 120 84 105 105 59 73 73 95 119 119 91 114 114 60 76 76 92 115 115 93 117 117 92 116 116 67 84 84 49 62 62 69 86 86 69 86 86 88 110 110 89 111 111 94 117 117 94 117 117 94 118 118 50 50 62 52 52 65 52 52 65 90 90 113 80 80 101 87 87 109 88 88 110 91 91 114 92 92 115 85 85 106 87 87 109 68 68 86
+191 191 191 189 189 189 187 187 187 187 187 187 183 183 183 182 182 182 180 180 180 192 153 192 188 150 188 189 151 189 187 150 187 185 148 185 185 148 185 184 147 184 184 147 184 184 147 184 180 144 180 187 150 187 183 147 183 183 146 183 189 151 189 184 147 184 182 146 182 165 132 165 75 60 75 73 59 73 49 39 49 15 12 15 30 24 30 24 19 24 15 12 15 43 34 43 118 94 118 86 69 86 56 44 56 173 139 173 170 136 170 175 140 175 182 146 182 182 145 182 183 147 183 176 140 176 172 137 172 175 140 175 177 141 177 176 141 176 182 145 182 180 144 180 177 142 177 177 142 177 175 140 175 168 134 168 171 137 171 169 135 169 170 136 170 179 179 179 175 175 175 175 175 175 173 173 173 173 173 173 172 172 172 170 170 170 172 172 172 168 168 168 173 173 173 174 174 174 171 171 171 174 174 174 175 175 175 170 170 170 171 171 171 153 153 153 68 68 68 73 73 73 45 45 45 28 28 28 7 7 7 22 22 22 40 40 40 113 113 113 109 109 109 52 52 52 93 93 93 160 160 160 162 162 162 167 167 167 168 168 168 169 169 169 166 166 166 162 162 162 162 162 162 163 163 163 163 163 163 168 168 168 167 167 167 165 165 165 163 163 163 161 161 161 161 161 161 157 157 157 157 157 157 155 155 155 165 132 165 161 129 161 162 130 162 160 128 160 158 127 158 158 126 158 158 126 158 157 126 157 157 126 157 154 123 154 160 128 160 156 125 156 156 125 156 160 128 160 157 125 157 155 124 155 140 112 140 64 51 64 255 180 101 217 151 84 255 244 137 255 255 148 163 113 63 138 96 53 175 122 68 255 212 119 255 189 106 37 26 14 255 255 160 255 255 161 255 255 160 255 255 158 255 255 156 255 255 161 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 252 126 0 252 126 0 249 124 0 242 121 0 168 84 0 5 2 0 53 26 0 25 12 0 48 24 0 43 21 0 81 40 0 153 76 0 175 87 0 209 104 0 214 107 0 178 89 0 153 76 0 168 84 0 160 80 0 168 84 0 89 44 0 196 98 0 155 77 0 76 38 0 66 33 0 15 7 0 175 87 0 109 54 0 140 70 0 244 122 0 247 123 0 239 119 0 224 112 0 224 112 0 232 116 0 229 114 0 242 121 0 229 114 0 229 114 0 244 122 0 137 137 137 134 134 134 134 134 134 135 135 135 135 135 135 138 138 138 138 138 138 137 137 137 135 135 135 133 133 133 133 133 133 130 130 130 130 130 130 128 128 128 136 109 136 133 106 133 134 107 134 133 106 133 131 105 131 131 105 131 131 104 131 130 104 130 130 104 130 127 102 127 132 106 132 130 104 130 129 103 129 133 106 133 130 104 130 129 103 129 116 93 116 53 42 53 52 41 52 34 27 34 10 8 10 21 17 21 17 13 17 10 8 10 30 24 30 83 66 83 60 48 60 39 31 39 122 98 122 119 95 119 123 98 123 128 102 128 128 102 128 129 103 129 124 99 124 121 96 121 123 98 123 124 99 124 124 99 124 128 102 128 126 101 126 125 100 125 125 100 125 123 98 123 118 94 118 120 96 120 119 95 119 120 96 120 126 126 126 123 123 123 123 123 123 122 122 122 122 122 122 122 122 122 120 120 120 121 121 121 119 119 119 122 122 122 123 123 123 121 121 121 123 123 123 124 124 124 120 120 120 121 121 121 109 109 109 48 48 48 52 52 52 32 32 32 19 19 19 4 4 4 16 16 16 28 28 28 80 80 80 78 78 78 37 37 37 66 66 66 114 114 114 115 115 115 119 119 119 120 120 120 121 121 121 119 119 119 116 116 116 116 116 116 117 117 117 117 117 117 120 120 120 120 120 120 119 119 119 118 118 118 116 116 116 116 116 116 114 114 114 114 114 114 112 112 112 113 113 113 117 93 117 118 94 118 117 93 117 115 92 115 115 92 115 115 92 115 115 92 115
+184 184 184 186 186 186 189 151 189 187 150 187 187 149 187 183 146 183 187 149 187 186 149 186 186 149 186 188 150 188 186 148 186 185 148 185 183 147 183 81 64 81 17 13 17 46 37 46 82 66 82 26 21 26 36 29 36 57 46 57 44 35 44 49 39 49 21 16 21 5 4 5 7 6 7 5 4 5 76 60 76 13 10 13 11 9 11 39 31 39 34 27 34 43 34 43 101 81 101 116 93 116 13 10 13 3 3 3 7 5 7 5 4 5 147 118 147 180 144 180 184 147 184 182 145 182 178 142 178 176 140 176 174 139 174 175 140 175 179 143 179 180 144 180 176 141 176 172 138 172 174 139 174 175 140 175 175 175 175 175 175 175 171 171 171 174 174 174 174 174 174 174 174 174 175 175 175 173 173 173 173 173 173 171 171 171 176 176 176 16 16 16 43 43 43 77 77 77 25 25 25 33 33 33 53 53 53 94 94 94 46 46 46 19 19 19 5 5 5 3 3 3 5 5 5 70 70 70 24 24 24 10 10 10 36 36 36 31 31 31 17 17 17 94 94 94 107 107 107 109 109 109 3 3 3 6 6 6 5 5 5 25 25 25 166 166 166 169 169 169 167 167 167 164 164 164 162 162 162 160 160 160 149 149 149 164 164 164 166 166 166 162 162 162 158 158 158 160 160 160 161 161 161 162 130 162 160 128 160 157 125 157 160 128 160 159 127 159 159 127 159 160 128 160 158 127 158 158 126 158 156 125 156 161 129 161 68 55 68 39 31 39 70 56 70 31 24 31 30 24 30 48 39 48 86 68 86 37 29 37 255 194 109 255 255 158 255 255 153 255 255 155 104 72 40 33 23 13 25 17 9 96 66 37 25 17 9 62 43 24 255 255 161 255 255 161 255 255 161 255 255 161 255 255 155 255 255 161 252 126 0 252 126 0 252 126 0 247 123 0 249 124 0 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 247 123 0 175 87 0 48 24 0 10 5 0 7 3 0 51 25 0 89 44 0 107 53 0 204 102 0 186 93 0 175 87 0 94 47 0 96 48 0 17 8 0 158 79 0 234 117 0 226 113 0 201 100 0 244 122 0 237 118 0 201 100 0 102 51 0 63 31 0 117 58 0 242 121 0 232 116 0 244 122 0 244 122 0 247 123 0 226 113 0 239 119 0 244 122 0 226 113 0 219 109 0 211 105 0 237 118 0 242 121 0 2 2 2 4 4 4 21 21 21 111 111 111 139 139 139 138 138 138 138 138 138 134 134 134 131 131 131 123 123 123 132 132 132 136 136 136 133 133 133 133 133 133 130 130 130 133 133 133 134 107 134 132 106 132 132 105 132 132 105 132 131 105 131 131 105 131 132 106 132 131 104 131 130 104 130 130 104 130 133 106 133 57 45 57 12 9 12 58 46 58 25 20 25 18 15 18 25 20 25 71 56 71 30 24 30 34 27 34 4 3 4 2 2 2 5 4 5 3 3 3 18 14 18 9 7 9 7 6 7 23 19 23 13 10 13 30 24 30 71 56 71 82 66 82 9 7 9 2 2 2 5 4 5 19 15 19 103 82 103 126 101 126 127 101 127 127 101 127 124 99 124 123 98 123 113 91 113 122 98 122 125 100 125 123 98 123 123 98 123 120 96 120 121 97 121 124 124 124 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 121 121 121 121 121 121 121 121 121 121 121 121 123 123 123 53 53 53 11 11 11 30 30 30 23 23 23 17 17 17 23 23 23 37 37 37 28 28 28 32 32 32 13 13 13 2 2 2 4 4 4 3 3 3 49 49 49 8 8 8 7 7 7 26 26 26 12 12 12 28 28 28 66 66 66 76 76 76 8 8 8 2 2 2 4 4 4 18 18 18 96 96 96 118 118 118 121 121 121 119 119 119 117 117 117 115 115 115 107 107 107 115 115 115 117 117 117 119 119 119 116 116 116 113 113 113 115 115 115 116 116 116 116 92 116 115 92 115
+194 155 194 194 155 194 194 155 194 194 155 194 191 153 191 191 153 191 158 126 158 117 93 117 79 63 79 5 4 5 13 10 13 44 35 44 27 21 27 23 18 23 121 97 121 83 66 83 75 60 75 146 117 146 9 7 9 15 12 15 17 13 17 19 15 19 55 44 55 32 26 32 24 19 24 43 35 43 55 44 55 24 19 24 49 39 49 72 57 72 68 54 68 39 31 39 24 19 24 22 18 22 9 7 9 11 9 11 7 6 7 163 130 163 185 148 185 183 146 183 181 145 181 177 141 177 173 138 173 178 142 178 178 142 178 174 139 174 161 128 161 177 142 177 182 182 182 182 182 182 182 182 182 182 182 182 181 181 181 181 181 181 181 181 181 179 179 179 178 178 178 147 147 147 109 109 109 74 74 74 19 19 19 12 12 12 41 41 41 25 25 25 37 37 37 113 113 113 77 77 77 69 69 69 135 135 135 8 8 8 14 14 14 16 16 16 17 17 17 14 14 14 30 30 30 22 22 22 40 40 40 12 12 12 22 22 22 45 45 45 66 66 66 83 83 83 36 36 36 22 22 22 20 20 20 19 19 19 10 10 10 6 6 6 150 150 150 170 170 170 168 168 168 166 166 166 162 162 162 159 159 159 163 163 163 163 163 163 159 159 159 147 147 147 167 167 167 167 134 167 167 133 167 166 133 166 166 133 166 166 132 166 165 132 165 165 132 165 163 130 163 163 130 163 134 107 134 99 79 99 4 3 4 18 14 18 11 9 11 37 30 37 19 15 19 34 27 34 103 82 103 70 56 70 63 50 63 100 80 100 8 6 8 255 255 161 255 229 129 255 255 143 255 238 134 37 26 14 41 29 16 87 61 34 29 20 11 158 110 62 255 255 161 255 255 161 255 255 160 255 255 160 255 255 155 255 255 160 252 126 0 249 124 0 244 122 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 249 124 0 249 124 0 242 121 0 22 11 0 30 15 0 7 3 0 2 1 0 61 30 0 28 14 0 109 54 0 168 84 0 252 126 0 244 122 0 191 95 0 112 56 0 127 63 0 181 90 0 247 123 0 244 122 0 175 87 0 237 118 0 249 124 0 206 103 0 244 122 0 242 121 0 239 119 0 158 79 0 234 117 0 244 122 0 234 117 0 226 113 0 221 110 0 242 121 0 244 122 0 229 114 0 234 117 0 224 112 0 229 114 0 51 51 51 68 68 68 30 30 30 18 18 18 7 7 7 15 15 15 8 8 8 5 5 5 139 139 139 139 139 139 138 138 138 136 136 136 130 130 130 131 131 131 134 134 134 133 133 133 121 121 121 133 133 133 137 137 137 137 109 137 136 109 136 136 109 136 136 109 136 136 108 136 136 108 136 134 107 134 134 107 134 133 107 133 110 88 110 55 44 55 4 3 4 14 11 14 9 7 9 18 15 18 16 12 16 28 22 28 84 67 84 52 41 52 101 81 101 83 66 83 6 5 6 12 9 12 13 10 13 38 30 38 10 8 10 17 13 17 30 24 30 38 30 38 9 7 9 34 27 34 50 40 50 47 37 47 63 50 63 27 22 27 15 12 15 6 5 6 14 11 14 7 6 7 113 90 113 128 102 128 128 102 128 127 101 127 122 98 122 120 96 120 121 97 121 123 98 123 121 96 121 111 89 111 123 98 123 126 101 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 125 125 125 124 124 124 124 124 124 124 124 124 75 75 75 51 51 51 3 3 3 13 13 13 28 28 28 17 17 17 15 15 15 26 26 26 53 53 53 48 48 48 95 95 95 77 77 77 9 9 9 11 11 11 12 12 12 36 36 36 21 21 21 16 16 16 28 28 28 35 35 35 8 8 8 32 32 32 46 46 46 44 44 44 59 59 59 15 15 15 14 14 14 6 6 6 13 13 13 4 4 4 106 106 106 120 120 120 120 120 120 118 118 118 115 115 115 113 113 113 114 114 114 116 116 116 114 114 114
+195 156 195 194 155 194 149 119 149 143 114 143 27 21 27 35 28 35 5 4 5 17 14 17 15 12 15 17 14 17 116 93 116 175 140 175 192 154 192 190 152 190 188 150 188 182 145 182 189 151 189 189 151 189 189 151 189 190 152 190 190 152 190 190 152 190 190 152 190 189 151 189 189 151 189 187 150 187 177 142 177 145 116 145 102 82 102 131 105 131 119 95 119 17 13 17 176 141 176 185 148 185 187 149 187 183 146 183 177 141 177 163 131 163 171 136 171 180 144 180 179 143 179 181 145 181 181 145 181 181 144 181 182 146 182 180 180 180 180 180 180 181 181 181 183 183 183 183 183 183 182 182 182 180 180 180 182 182 182 182 182 182 178 178 178 139 139 139 133 133 133 32 32 32 5 5 5 20 20 20 16 16 16 14 14 14 108 108 108 162 162 162 175 175 175 178 178 178 176 176 176 169 169 169 175 175 175 175 175 175 175 175 175 175 175 175 176 176 176 176 176 176 175 175 175 175 175 175 175 175 175 173 173 173 164 164 164 156 156 156 133 133 133 94 94 94 110 110 110 15 15 15 61 61 61 162 162 162 170 170 170 168 168 168 163 163 163 164 164 164 150 150 150 156 156 156 165 165 165 166 166 166 162 162 162 166 166 166 165 165 165 165 132 165 165 132 165 168 134 168 166 132 166 167 134 167 167 133 167 165 132 165 164 131 164 166 133 166 165 132 165 127 101 127 121 97 121 23 18 23 29 23 29 4 3 4 14 11 14 13 10 13 14 11 14 98 79 98 148 118 148 162 129 162 160 128 160 158 126 158 153 122 153 255 255 160 255 255 158 255 255 153 158 110 62 71 49 27 12 8 4 37 26 14 87 61 34 83 58 32 255 255 161 255 255 161 255 255 161 255 255 161 255 255 160 252 126 0 252 126 0 247 123 0 242 121 0 249 124 0 252 126 0 249 124 0 252 126 0 252 126 0 249 124 0 244 122 0 102 51 0 38 19 0 10 5 0 0 0 0 15 7 0 20 10 0 91 45 0 107 53 0 221 110 0 252 126 0 249 124 0 232 116 0 239 119 0 244 122 0 247 123 0 252 126 0 242 121 0 191 95 0 196 98 0 211 105 0 239 119 0 249 124 0 234 117 0 221 110 0 196 98 0 249 124 0 244 122 0 232 116 0 226 113 0 242 121 0 234 117 0 242 121 0 237 118 0 239 119 0 226 113 0 226 113 0 142 142 142 133 133 133 127 127 127 109 109 109 77 77 77 90 90 90 12 12 12 49 49 49 132 132 132 138 138 138 140 140 140 132 132 132 134 134 134 122 122 122 127 127 127 134 134 134 135 135 135 132 132 132 135 135 135 135 135 135 136 136 136 134 107 134 137 109 137 135 108 135 136 109 136 136 109 136 134 107 134 134 107 134 135 108 135 135 108 135 132 106 132 99 79 99 19 15 19 24 19 24 4 3 4 14 11 14 10 8 10 12 9 12 80 64 80 121 96 121 130 104 130 131 105 131 130 104 130 125 100 125 130 104 130 130 104 130 130 104 130 131 105 131 131 105 131 131 105 131 131 104 131 130 104 130 130 104 130 129 103 129 122 97 122 116 93 116 70 56 70 90 72 90 82 65 82 11 9 11 45 36 45 127 102 127 128 103 128 126 100 126 121 97 121 123 98 123 117 94 117 124 99 124 123 99 123 124 99 124 122 97 122 124 99 124 125 100 125 124 124 124 124 124 124 126 126 126 126 126 126 126 126 126 126 126 126 124 124 124 124 124 124 125 125 125 122 122 122 96 96 96 92 92 92 17 17 17 3 3 3 13 13 13 11 11 11 10 10 10 11 11 11 112 112 112 121 121 121 123 123 123 122 122 122 120 120 120 122 122 122 121 121 121 121 121 121 121 121 121 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 114 114 114 109 109 109 93 93 93 66 66 66 84 84 84 11 11 11 42 42 42 113 113 113 119 119 119 120 120 120 114 114 114 115 115 115
+7 6 7 0 0 0 5 4 5 17 14 17 9 7 9 41 33 41 129 103 129 178 142 178 193 155 193 187 150 187 146 117 146 64 51 64 97 77 97 153 123 153 173 138 173 172 138 172 182 145 182 153 122 153 185 148 185 179 143 179 152 122 152 117 94 117 77 61 77 48 38 48 88 70 88 176 141 176 113 90 113 132 105 132 183 146 183 185 148 185 179 143 179 167 134 167 169 135 169 167 133 167 172 138 172 174 139 174 170 136 170 183 146 183 182 146 182 177 141 177 176 141 176 180 144 180 185 185 185 183 183 183 177 177 177 181 181 181 182 182 182 180 180 180 180 180 180 183 183 183 181 181 181 177 177 177 179 179 179 73 73 73 27 27 27 0 0 0 5 5 5 16 16 16 9 9 9 38 38 38 78 78 78 165 165 165 180 180 180 174 174 174 136 136 136 59 59 59 79 79 79 142 142 142 160 160 160 160 160 160 168 168 168 141 141 141 121 121 121 166 166 166 140 140 140 108 108 108 71 71 71 44 44 44 83 83 83 162 162 162 104 104 104 121 121 121 168 168 168 170 170 170 171 171 171 164 164 164 155 155 155 153 153 153 158 158 158 159 159 159 156 156 156 164 164 164 167 167 167 162 162 162 161 161 161 165 165 165 169 135 169 169 135 169 162 129 162 165 132 165 166 133 166 164 131 164 164 131 164 167 134 167 165 132 165 161 129 161 163 130 163 67 53 67 25 20 25 6 5 6 5 4 5 15 12 15 8 6 8 34 27 34 71 57 71 109 87 109 163 130 163 158 126 158 123 98 123 54 43 54 72 57 72 255 255 156 255 255 155 255 250 140 255 215 120 146 101 57 37 26 14 12 8 4 255 255 160 25 17 9 255 255 161 255 255 161 255 255 158 255 255 161 255 255 160 252 126 0 252 126 0 249 124 0 242 121 0 247 123 0 252 126 0 252 126 0 252 126 0 252 126 0 247 123 0 247 123 0 142 71 0 102 51 0 25 12 0 10 5 0 17 8 0 22 11 0 66 33 0 94 47 0 178 89 0 224 112 0 244 122 0 242 121 0 239 119 0 249 124 0 252 126 0 249 124 0 242 121 0 209 104 0 226 113 0 226 113 0 239 119 0 239 119 0 221 110 0 122 61 0 216 108 0 252 126 0 244 122 0 244 122 0 242 121 0 229 114 0 239 119 0 244 122 0 224 112 0 234 117 0 242 121 0 237 118 0 134 134 134 114 114 114 57 57 57 36 36 36 67 67 67 66 66 66 131 131 131 84 84 84 137 137 137 138 138 138 139 139 139 133 133 133 124 124 124 125 125 125 128 128 128 129 129 129 126 126 126 133 133 133 136 136 136 135 135 135 131 131 131 133 133 133 137 110 137 137 110 137 136 108 136 131 105 131 135 108 135 133 107 133 133 106 133 136 108 136 136 108 136 134 107 134 132 106 132 54 43 54 20 16 20 5 4 5 0 0 0 4 3 4 12 9 12 28 22 28 58 46 58 89 71 89 122 98 122 133 106 133 128 103 128 44 35 44 58 47 58 66 53 66 105 84 105 118 94 118 118 94 118 104 83 104 90 72 90 127 101 127 122 98 122 104 83 104 80 64 80 32 26 32 61 49 61 60 48 60 120 96 120 77 61 77 90 72 90 126 101 126 127 102 127 122 97 122 114 91 114 115 92 115 114 91 114 119 95 119 116 93 116 122 98 122 125 100 125 124 99 124 120 96 120 123 98 123 126 126 126 126 126 126 125 125 125 121 121 121 123 123 123 123 123 123 123 123 123 125 125 125 125 125 125 124 124 124 121 121 121 122 122 122 18 18 18 5 5 5 0 0 0 3 3 3 11 11 11 6 6 6 53 53 53 82 82 82 113 113 113 123 123 123 119 119 119 93 93 93 54 54 54 62 62 62 98 98 98 110 110 110 110 110 110 116 116 116 84 84 84 118 118 118 114 114 114 97 97 97 75 75 75 49 49 49 57 57 57 56 56 56 112 112 112 72 72 72 84 84 84 117 117 117
+27 22 27 47 37 47 47 37 47 59 47 59 145 116 145 191 152 191 194 155 194 194 155 194 194 155 194 194 155 194 193 155 193 193 154 193 191 153 191 169 135 169 97 78 97 179 143 179 171 136 171 83 66 83 131 105 131 182 145 182 168 134 168 92 74 92 164 131 164 189 151 189 190 152 190 184 147 184 176 141 176 172 138 172 178 142 178 183 147 183 175 140 175 171 137 171 181 144 181 177 141 177 161 129 161 178 142 178 168 135 168 168 134 168 187 187 187 185 185 185 184 184 184 184 184 184 186 186 186 184 184 184 181 181 181 185 185 185 185 185 185 184 184 184 184 184 184 184 184 184 184 184 184 183 183 183 183 183 183 122 122 122 31 31 31 35 35 35 25 25 25 44 44 44 44 44 44 55 55 55 177 177 177 179 179 179 180 180 180 180 180 180 180 180 180 179 179 179 179 179 179 179 179 179 157 157 157 153 153 153 90 90 90 165 165 165 158 158 158 77 77 77 121 121 121 168 168 168 146 146 146 85 85 85 151 151 151 173 173 173 175 175 175 169 169 169 162 162 162 158 158 158 172 172 172 168 168 168 161 161 161 157 157 157 166 166 166 162 162 162 148 148 148 163 163 163 147 147 147 154 154 154 171 136 171 169 135 169 168 135 168 168 134 168 169 135 169 166 132 166 169 135 169 168 135 168 168 134 168 168 134 168 168 134 168 167 134 167 167 133 167 167 133 167 158 126 158 110 88 110 28 22 28 31 25 31 23 18 23 40 32 40 39 31 39 123 98 123 160 128 160 162 129 162 163 130 163 163 130 163 162 130 162 162 130 162 255 255 150 255 255 155 255 215 120 255 186 104 50 34 19 255 255 160 255 255 161 87 61 34 255 255 161 255 255 160 255 255 158 255 255 161 255 255 160 252 126 0 252 126 0 249 124 0 244 122 0 249 124 0 252 126 0 252 126 0 252 126 0 249 124 0 252 126 0 252 126 0 252 126 0 244 122 0 30 15 0 45 22 0 10 5 0 56 28 0 17 8 0 22 11 0 132 66 0 244 122 0 249 124 0 247 123 0 252 126 0 252 126 0 252 126 0 249 124 0 221 110 0 127 63 0 191 95 0 107 53 0 165 82 0 239 119 0 214 107 0 178 89 0 252 126 0 252 126 0 249 124 0 244 122 0 242 121 0 214 107 0 242 121 0 234 117 0 244 122 0 244 122 0 242 121 0 124 124 124 72 72 72 133 133 133 127 127 127 98 98 98 135 135 135 125 125 125 118 118 118 69 69 69 122 122 122 140 140 140 141 141 141 131 131 131 128 128 128 132 132 132 139 139 139 136 136 136 130 130 130 127 127 127 133 133 133 119 119 119 132 132 132 124 124 124 118 118 118 124 124 124 138 110 138 136 109 136 136 108 136 137 109 137 135 108 135 134 107 134 136 109 136 136 109 136 136 108 136 136 108 136 135 108 135 135 108 135 135 108 135 135 108 135 128 102 128 89 71 89 23 18 23 25 20 25 32 25 32 32 25 32 40 32 40 99 79 99 130 104 130 131 105 131 132 106 132 132 106 132 132 105 132 132 105 132 131 105 131 130 104 130 115 92 115 112 90 112 66 53 66 121 97 121 56 45 56 89 71 89 123 99 123 114 91 114 107 86 107 62 50 62 111 89 111 129 103 129 125 100 125 120 96 120 117 93 117 120 96 120 127 101 127 124 99 124 119 95 119 122 98 122 120 96 120 109 87 109 121 96 121 114 91 114 109 87 109 114 91 114 126 126 126 125 125 125 125 125 125 126 126 126 125 125 125 123 123 123 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 124 124 124 118 118 118 83 83 83 21 21 21 17 17 17 30 30 30 30 30 30 37 37 37 92 92 92 121 121 121 122 122 122 123 123 123 123 123 123 123 123 123 122 122 122 122 122 122 121 121 121 107 107 107 105 105 105 113 113 113 108 108 108 53 53 53 83 83 83 115 115 115 106 106 106
+95 76 95 117 93 117 162 129 162 172 137 172 189 151 189 191 153 191 191 153 191 191 152 191 173 138 173 186 149 186 186 149 186 186 149 186 156 125 156 146 117 146 117 93 117 173 139 173 115 92 115 112 90 112 186 149 186 192 153 192 188 150 188 191 153 191 191 153 191 191 153 191 191 152 191 189 151 189 181 144 181 180 144 180 182 146 182 182 145 182 180 144 180 172 137 172 164 131 164 179 143 179 183 146 183 188 188 188 188 188 188 188 188 188 185 185 185 185 185 185 183 183 183 187 187 187 186 186 186 186 186 186 182 182 182 180 180 180 183 183 183 185 185 185 185 185 185 184 184 184 180 180 180 70 70 70 39 39 39 7 7 7 35 35 35 120 120 120 103 103 103 71 71 71 88 88 88 108 108 108 150 150 150 176 176 176 177 177 177 177 177 177 177 177 177 160 160 160 174 174 174 172 172 172 172 172 172 172 172 172 144 144 144 135 135 135 160 160 160 106 106 106 104 104 104 172 172 172 175 175 175 177 177 177 173 173 173 176 176 176 176 176 176 175 175 175 173 173 173 166 166 166 166 166 166 167 167 167 167 167 167 154 154 154 164 164 164 157 157 157 150 150 150 164 164 164 172 137 172 172 137 172 171 137 171 169 135 169 169 135 169 167 133 167 167 133 167 170 136 170 169 135 169 169 135 169 165 132 165 167 133 167 168 134 168 168 134 168 168 134 168 164 131 164 93 74 93 64 51 64 35 28 35 6 5 6 31 25 31 93 75 93 65 52 65 80 64 80 98 78 98 136 109 136 144 115 144 159 127 159 160 128 160 160 128 160 255 255 151 255 255 151 184 128 71 96 66 37 255 224 125 255 255 158 255 241 135 71 49 27 255 255 161 255 255 161 255 255 160 255 255 161 255 255 156 252 126 0 249 124 0 249 124 0 252 126 0 252 126 0 249 124 0 244 122 0 249 124 0 252 126 0 252 126 0 252 126 0 249 124 0 247 123 0 239 119 0 168 84 0 43 21 0 35 17 0 61 30 0 61 30 0 188 94 0 221 110 0 249 124 0 252 126 0 252 126 0 252 126 0 249 124 0 178 89 0 99 49 0 43 21 0 20 10 0 112 56 0 191 95 0 181 90 0 124 62 0 249 124 0 252 126 0 252 126 0 247 123 0 252 126 0 252 126 0 244 122 0 244 122 0 232 116 0 229 114 0 219 109 0 244 122 0 140 140 140 139 139 139 138 138 138 138 138 138 116 116 116 109 109 109 129 129 129 85 85 85 83 83 83 138 138 138 141 141 141 142 142 142 139 139 139 141 141 141 141 141 141 141 141 141 139 139 139 133 133 133 133 133 133 134 134 134 134 134 134 124 124 124 132 132 132 126 126 126 120 120 120 131 131 131 134 134 134 138 110 138 138 110 138 136 109 136 136 108 136 134 107 134 134 107 134 136 109 136 136 109 136 136 109 136 133 106 133 134 107 134 135 108 135 135 108 135 135 108 135 132 105 132 74 59 74 51 41 51 28 22 28 5 4 5 25 20 25 75 60 75 52 42 52 64 51 64 79 63 79 110 88 110 116 93 116 128 102 128 129 103 129 129 103 129 129 103 129 117 93 117 126 101 126 126 100 126 125 100 125 105 84 105 99 79 99 79 63 79 117 93 117 77 62 77 76 60 76 126 100 126 129 103 129 126 101 126 129 103 129 129 103 129 129 103 129 128 103 128 127 101 127 122 97 122 121 97 121 123 98 123 122 98 122 121 97 121 116 92 116 110 88 110 120 96 120 123 98 123 127 127 127 126 126 126 126 126 126 125 125 125 125 125 125 123 123 123 126 126 126 125 125 125 125 125 125 123 123 123 121 121 121 124 124 124 125 125 125 125 125 125 124 124 124 122 122 122 47 47 47 26 26 26 5 5 5 23 23 23 81 81 81 70 70 70 48 48 48 59 59 59 73 73 73 102 102 102 119 119 119 120 120 120 120 120 120 120 120 120 109 109 109 118 118 118 117 117 117 117 117 117 117 117 117
+127 101 127 107 85 107 162 130 162 190 152 190 190 152 190 192 153 192 183 147 183 189 151 189 187 149 187 187 149 187 165 132 165 41 33 41 49 39 49 113 91 113 52 42 52 137 109 137 191 153 191 193 154 193 193 154 193 192 154 192 192 154 192 192 153 192 190 152 190 186 148 186 182 145 182 168 134 168 185 148 185 181 145 181 183 146 183 184 147 184 184 147 184 182 145 182 189 189 189 189 189 189 189 189 189 189 189 189 188 188 188 188 188 188 188 188 188 188 188 188 187 187 187 187 187 187 187 187 187 187 187 187 186 186 186 186 186 186 178 178 178 39 39 39 24 24 24 125 125 125 170 170 170 39 39 39 16 16 16 3 3 3 7 7 7 42 42 42 98 98 98 127 127 127 123 123 123 118 118 118 99 99 99 150 150 150 174 174 174 176 176 176 175 175 175 170 170 170 175 175 175 173 173 173 172 172 172 152 152 152 38 38 38 45 45 45 104 104 104 48 48 48 126 126 126 176 176 176 177 177 177 177 177 177 177 177 177 177 177 177 176 176 176 174 174 174 170 170 170 166 166 166 154 154 154 169 169 169 166 166 166 167 167 167 169 169 169 168 168 168 166 166 166 173 138 173 173 138 173 172 138 172 172 138 172 172 137 172 171 137 171 171 137 171 171 137 171 170 136 170 170 136 170 170 136 170 170 136 170 169 135 169 169 135 169 162 129 162 35 28 35 22 17 22 113 91 113 122 97 122 154 123 154 15 12 15 3 2 3 6 5 6 38 30 38 88 71 88 115 92 115 111 89 111 106 85 106 89 71 89 136 108 136 157 125 157 158 127 158 217 151 84 142 98 55 255 186 104 255 255 156 255 250 140 255 255 151 230 160 89 255 255 161 255 255 161 255 255 156 255 255 160 255 255 160 249 124 0 244 122 0 252 126 0 252 126 0 249 124 0 247 123 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 247 123 0 242 121 0 73 36 0 89 44 0 25 12 0 112 56 0 158 79 0 122 61 0 234 117 0 247 123 0 252 126 0 249 124 0 247 123 0 224 112 0 160 80 0 89 44 0 237 118 0 242 121 0 191 95 0 183 91 0 247 123 0 249 124 0 247 123 0 252 126 0 252 126 0 252 126 0 239 119 0 242 121 0 244 122 0 234 117 0 239 119 0 244 122 0 249 124 0 141 141 141 141 141 141 142 142 142 136 136 136 140 140 140 138 138 138 138 138 138 122 122 122 36 36 36 84 84 84 39 39 39 101 101 101 141 141 141 142 142 142 142 142 142 141 141 141 141 141 141 141 141 141 141 141 141 139 139 139 136 136 136 133 133 133 123 123 123 132 132 132 134 134 134 135 135 135 135 135 135 133 133 133 138 111 138 138 110 138 138 110 138 138 110 138 137 110 137 137 110 137 137 109 137 137 109 137 136 109 136 136 109 136 136 109 136 136 108 136 136 108 136 135 108 135 130 104 130 28 22 28 17 14 17 91 73 91 97 78 97 123 98 123 28 22 28 12 9 12 2 2 2 5 4 5 31 24 31 71 57 71 90 72 90 85 68 85 72 57 72 109 87 109 126 101 126 128 102 128 127 102 127 129 103 129 123 98 123 127 101 127 125 100 125 125 100 125 110 88 110 27 22 27 32 26 32 35 28 35 91 73 91 128 102 128 129 103 129 129 103 129 129 103 129 129 103 129 128 103 128 128 103 128 127 101 127 124 99 124 121 97 121 112 90 112 124 99 124 121 97 121 122 97 122 123 98 123 122 97 122 127 127 127 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 119 119 119 26 26 26 16 16 16 84 84 84 90 90 90 114 114 114 26 26 26 11 11 11 2 2 2 5 5 5 28 28 28 66 66 66 86 86 86 83 83 83 79 79 79 101 101 101 117 117 117 119 119 119
+17 14 17 23 19 23 23 19 23 83 66 83 71 57 71 93 74 93 37 30 37 148 118 148 191 153 191 191 153 191 183 146 183 185 148 185 110 88 110 186 149 186 192 154 192 194 155 194 188 150 188 186 148 186 183 147 183 183 146 183 189 151 189 185 148 185 186 149 186 186 149 186 188 150 188 188 150 188 191 153 191 185 148 185 191 191 191 191 191 191 190 190 190 190 190 190 186 186 186 180 180 180 187 187 187 189 189 189 189 189 189 189 189 189 188 188 188 188 188 188 188 188 188 188 188 188 165 165 165 24 24 24 132 132 132 173 173 173 166 166 166 165 165 165 176 176 176 174 174 174 183 183 183 183 183 183 3 3 3 0 0 0 3 3 3 5 5 5 11 11 11 13 13 13 33 33 33 33 33 33 14 14 14 16 16 16 22 22 22 22 22 22 77 77 77 66 66 66 86 86 86 34 34 34 137 137 137 176 176 176 176 176 176 169 169 169 170 170 170 101 101 101 171 171 171 177 177 177 178 178 178 172 172 172 170 170 170 168 168 168 173 173 173 169 169 169 171 171 171 171 171 171 170 170 170 172 172 172 172 172 172 175 175 175 169 169 169 174 139 174 174 139 174 174 139 174 173 139 173 169 135 169 164 131 164 171 136 171 172 138 172 172 137 172 171 137 171 171 137 171 171 137 171 171 136 171 170 136 170 149 119 149 22 17 22 120 96 120 157 126 157 150 120 150 160 128 160 158 126 158 166 133 166 166 132 166 66 52 66 3 2 3 0 0 0 3 2 3 5 4 5 10 8 10 11 9 11 30 24 30 30 24 30 13 10 13 14 11 14 255 186 104 255 255 147 255 255 155 255 189 106 255 253 142 255 255 143 167 116 65 255 255 161 255 255 160 255 255 158 255 255 158 255 255 161 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 102 51 0 22 11 0 28 14 0 114 57 0 63 31 0 137 68 0 150 75 0 191 95 0 237 118 0 252 126 0 252 126 0 239 119 0 244 122 0 242 121 0 242 121 0 204 102 0 153 76 0 214 107 0 25 12 0 216 108 0 252 126 0 252 126 0 249 124 0 247 123 0 239 119 0 247 123 0 244 122 0 237 118 0 232 116 0 244 122 0 244 122 0 26 26 26 26 26 26 11 11 11 13 13 13 17 17 17 17 17 17 61 61 61 52 52 52 68 68 68 27 27 27 109 109 109 141 141 141 135 135 135 136 136 136 81 81 81 137 137 137 141 141 141 142 142 142 137 137 137 136 136 136 134 134 134 134 134 134 138 138 138 135 135 135 136 136 136 136 136 136 135 135 135 137 137 137 136 136 136 139 139 139 134 134 134 138 111 138 138 110 138 138 110 138 138 110 138 135 108 135 130 104 130 136 108 136 137 109 137 137 109 137 136 109 136 136 109 136 136 109 136 136 108 136 119 95 119 17 14 17 95 76 95 125 100 125 120 96 120 119 95 119 127 102 127 126 101 126 132 106 132 132 106 132 52 42 52 2 2 2 0 0 0 2 2 2 4 3 4 8 6 8 9 7 9 24 19 24 24 19 24 10 8 10 11 9 11 15 12 15 15 12 15 55 44 55 62 49 62 25 20 25 99 79 99 127 102 127 127 102 127 122 97 122 123 98 123 73 58 73 124 99 124 128 102 128 129 103 129 125 100 125 123 99 123 122 97 122 122 97 122 125 100 125 123 98 123 124 99 124 124 99 124 124 99 124 125 100 125 124 99 124 127 101 127 123 98 123 127 127 127 126 126 126 126 126 126 126 126 126 120 120 120 125 125 125 126 126 126 126 126 126 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 110 110 110 16 16 16 88 88 88 115 115 115 110 110 110 110 110 110 118 118 118 116 116 116 122 122 122 122 122 122 48 48 48 2 2 2 0 0 0 2 2 2 3 3 3
+51 41 51 93 75 93 187 150 187 189 151 189 181 144 181 188 151 188 178 143 178 178 142 178 158 126 158 140 112 140 191 153 191 195 156 195 195 156 195 195 156 195 195 156 195 194 155 194 194 155 194 190 152 190 192 153 192 189 151 189 193 154 193 179 143 179 189 151 189 193 154 193 190 152 190 192 192 192 192 192 192 192 192 192 191 191 191 191 191 191 191 191 191 191 191 191 190 190 190 190 190 190 190 190 190 178 178 178 157 157 157 128 128 128 107 107 107 160 160 160 49 49 49 131 131 131 171 171 171 148 148 148 178 178 178 181 181 181 181 181 181 170 170 170 122 122 122 145 145 145 180 180 180 176 176 176 82 82 82 16 16 16 50 50 50 9 9 9 65 65 65 44 44 44 40 40 40 33 33 33 103 103 103 151 151 151 81 81 81 48 48 48 86 86 86 173 173 173 174 174 174 167 167 167 174 174 174 164 164 164 164 164 164 145 145 145 129 129 129 176 176 176 179 179 179 179 179 179 179 179 179 178 178 178 178 178 178 178 178 178 174 174 174 175 175 175 173 173 173 177 177 177 164 164 164 172 172 172 176 176 176 175 140 175 175 140 175 175 140 175 175 140 175 174 139 174 174 139 174 174 139 174 173 139 173 173 138 173 173 138 173 162 129 162 142 114 142 116 93 116 97 77 97 145 116 145 45 36 45 119 95 119 155 124 155 134 107 134 161 129 161 164 131 164 164 131 164 153 123 153 110 88 110 131 104 131 163 130 163 159 127 159 74 59 74 15 12 15 45 36 45 8 6 8 58 47 58 40 32 40 36 29 36 30 24 30 93 74 93 255 255 158 255 255 156 255 255 158 255 226 127 255 255 156 255 253 142 255 255 145 255 255 161 255 255 161 255 255 161 255 255 161 252 126 0 252 126 0 249 124 0 249 124 0 252 126 0 252 126 0 247 123 0 252 126 0 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 232 116 0 38 19 0 43 21 0 56 28 0 165 82 0 142 71 0 122 61 0 150 75 0 209 104 0 244 122 0 244 122 0 249 124 0 142 71 0 117 58 0 84 42 0 109 54 0 178 89 0 239 119 0 48 24 0 15 7 0 124 62 0 252 126 0 252 126 0 252 126 0 252 126 0 247 123 0 244 122 0 239 119 0 244 122 0 239 119 0 244 122 0 252 126 0 7 7 7 52 52 52 35 35 35 32 32 32 26 26 26 82 82 82 120 120 120 64 64 64 38 38 38 68 68 68 137 137 137 138 138 138 132 132 132 138 138 138 130 130 130 130 130 130 115 115 115 102 102 102 139 139 139 142 142 142 142 142 142 142 142 142 141 141 141 141 141 141 141 141 141 138 138 138 139 139 139 137 137 137 140 140 140 130 130 130 137 137 137 139 139 139 138 138 138 139 111 139 138 111 138 138 110 138 138 110 138 138 110 138 138 110 138 137 110 137 137 110 137 137 109 137 128 103 128 113 90 113 92 73 92 77 61 77 115 92 115 35 28 35 94 75 94 123 98 123 106 85 106 128 102 128 130 104 130 130 104 130 122 97 122 88 70 88 104 83 104 129 103 129 126 101 126 59 47 59 12 9 12 36 29 36 6 5 6 46 37 46 32 25 32 29 23 29 24 19 24 74 59 74 109 87 109 58 46 58 34 27 34 62 49 62 124 99 124 125 100 125 120 96 120 125 100 125 118 94 118 118 94 118 105 84 105 93 74 93 127 101 127 129 103 129 129 103 129 129 103 129 128 103 128 128 103 128 128 102 128 125 100 125 127 101 127 125 100 125 127 102 127 118 95 118 125 100 125 127 102 127 126 100 126 127 127 127 127 127 127 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 125 125 125 118 118 118 104 104 104 84 84 84 70 70 70 106 106 106 32 32 32 87 87 87 113 113 113 98 98 98 118 118 118 120 120 120 120 120 120 112 112 112 81 81 81 96 96 96
+186 149 186 174 139 174 178 142 178 177 142 177 167 134 167 145 116 145 129 103 129 155 124 155 188 151 188 194 155 194 196 157 196 196 156 196 195 156 195 195 156 195 193 154 193 195 156 195 191 152 191 194 155 194 194 155 194 194 155 194 192 153 192 188 150 188 193 193 193 193 193 193 193 193 193 185 185 185 190 190 190 157 157 157 85 85 85 124 124 124 96 96 96 156 156 156 116 116 116 173 173 173 144 144 144 184 184 184 171 171 171 161 161 161 140 140 140 126 126 126 160 160 160 133 133 133 167 167 167 102 102 102 110 110 110 153 153 153 104 104 104 121 121 121 123 123 123 160 160 160 181 181 181 120 120 120 71 71 71 31 31 31 108 108 108 142 142 142 138 138 138 54 54 54 56 56 56 46 46 46 165 165 165 157 157 157 172 172 172 166 166 166 172 172 172 160 160 160 164 164 164 163 163 163 163 163 163 154 154 154 133 133 133 118 118 118 142 142 142 173 173 173 178 178 178 180 180 180 179 179 179 179 179 179 177 177 177 178 178 178 175 175 175 178 178 178 178 178 178 177 177 177 175 175 175 171 171 171 176 141 176 176 141 176 176 141 176 168 135 168 173 139 173 143 114 143 77 62 77 113 90 113 88 70 88 142 114 142 105 84 105 157 126 157 131 105 131 167 134 167 155 124 155 146 117 146 126 101 126 114 91 114 145 116 145 121 96 121 151 121 151 93 74 93 99 79 99 139 111 139 94 75 94 109 87 109 110 88 110 144 115 144 163 130 163 108 86 108 64 51 64 28 23 28 97 78 97 128 102 128 124 99 124 48 38 48 50 40 50 50 40 50 255 255 150 255 255 160 230 160 89 255 238 134 255 255 150 255 253 142 255 255 161 255 255 161 255 255 161 255 255 161 252 126 0 252 126 0 249 124 0 247 123 0 249 124 0 244 122 0 249 124 0 249 124 0 244 122 0 247 123 0 249 124 0 252 126 0 252 126 0 247 123 0 140 70 0 96 48 0 10 5 0 12 6 0 107 53 0 145 72 0 140 70 0 155 77 0 178 89 0 204 102 0 247 123 0 249 124 0 229 114 0 142 71 0 79 39 0 140 70 0 234 117 0 229 114 0 63 31 0 147 73 0 178 89 0 249 124 0 252 126 0 252 126 0 247 123 0 244 122 0 244 122 0 249 124 0 244 122 0 229 114 0 247 123 0 247 123 0 95 95 95 56 56 56 25 25 25 86 86 86 113 113 113 109 109 109 42 42 42 44 44 44 36 36 36 131 131 131 125 125 125 136 136 136 131 131 131 136 136 136 127 127 127 129 129 129 129 129 129 122 122 122 105 105 105 94 94 94 112 112 112 137 137 137 141 141 141 142 142 142 142 142 142 141 141 141 140 140 140 141 141 141 138 138 138 140 140 140 140 140 140 140 140 140 138 138 138 135 135 135 139 111 139 139 111 139 139 111 139 133 106 133 137 109 137 113 90 113 61 49 61 89 71 89 69 55 69 112 90 112 83 66 83 124 99 124 103 82 103 132 106 132 122 98 122 115 92 115 100 80 100 90 72 90 90 72 90 114 91 114 95 76 95 119 95 119 73 58 73 78 63 78 109 87 109 74 59 74 86 69 86 87 70 87 114 91 114 129 103 129 86 68 86 51 40 51 22 18 22 77 62 77 101 81 101 98 79 98 38 30 38 39 31 39 33 26 33 118 94 118 112 90 112 123 98 123 119 95 119 122 98 122 114 91 114 117 93 117 117 93 117 110 88 110 95 76 95 85 68 85 102 81 102 124 99 124 127 102 127 129 103 129 128 103 128 128 102 128 127 101 127 128 102 128 125 100 125 128 102 128 127 102 127 127 102 127 126 101 126 123 98 123 127 127 127 127 127 127 127 127 127 121 121 121 125 125 125 103 103 103 56 56 56 81 81 81 63 63 63 63 63 63 102 102 102 76 76 76 114 114 114 95 95 95 121 121 121 112 112 112 106 106 106 92 92 92 83 83 83 105 105 105 88 88 88 110 110 110
+186 149 186 124 99 124 188 150 188 194 155 194 192 153 192 189 151 189 183 146 183 137 110 137 101 81 101 141 113 141 178 143 178 141 112 141 180 144 180 182 145 182 182 145 182 191 153 191 191 153 191 193 154 193 175 175 175 102 102 102 106 106 106 78 78 78 78 78 78 105 105 105 183 183 183 164 164 164 187 187 187 177 177 177 179 179 179 184 184 184 182 182 182 186 186 186 172 172 172 127 127 127 175 175 175 139 139 139 171 171 171 86 86 86 109 109 109 84 84 84 78 78 78 153 153 153 128 128 128 154 154 154 183 183 183 183 183 183 171 171 171 180 180 180 182 182 182 170 170 170 181 181 181 179 179 179 166 166 166 169 169 169 148 148 148 112 112 112 84 84 84 172 172 172 174 174 174 183 183 183 182 182 182 160 160 160 111 111 111 180 180 180 180 180 180 172 172 172 114 114 114 173 173 173 178 178 178 178 178 178 176 176 176 174 174 174 168 168 168 126 126 126 93 93 93 129 129 129 164 164 164 129 129 129 165 165 165 166 166 166 166 166 166 175 175 175 175 175 175 176 176 176 160 128 160 93 74 93 96 77 96 71 57 71 96 77 96 167 134 167 149 119 149 170 136 170 170 136 170 161 129 161 162 130 162 167 134 167 165 132 165 168 135 168 156 125 156 115 92 115 159 127 159 125 100 125 155 124 155 78 62 78 99 79 99 76 61 76 71 56 71 138 110 138 115 92 115 139 111 139 165 132 165 154 123 154 162 130 162 164 131 164 153 122 153 153 122 153 163 130 163 161 129 161 149 119 149 152 121 152 133 106 133 101 80 101 75 60 75 154 123 154 255 200 112 255 255 155 255 255 151 255 212 119 255 200 112 255 255 160 255 255 161 255 255 161 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 249 124 0 247 123 0 247 123 0 252 126 0 252 126 0 247 123 0 249 124 0 252 126 0 252 126 0 252 126 0 211 105 0 15 7 0 191 95 0 53 26 0 10 5 0 61 30 0 48 24 0 155 77 0 140 70 0 163 81 0 124 62 0 209 104 0 242 121 0 244 122 0 247 123 0 237 118 0 249 124 0 237 118 0 17 8 0 188 94 0 104 52 0 94 47 0 252 126 0 252 126 0 247 123 0 244 122 0 242 121 0 244 122 0 244 122 0 237 118 0 249 124 0 247 123 0 144 144 144 135 135 135 144 144 144 142 142 142 131 131 131 134 134 134 134 134 134 117 117 117 89 89 89 66 66 66 136 136 136 137 137 137 144 144 144 144 144 144 126 126 126 88 88 88 142 142 142 141 141 141 135 135 135 90 90 90 136 136 136 140 140 140 139 139 139 137 137 137 132 132 132 99 99 99 73 73 73 101 101 101 129 129 129 128 128 128 101 101 101 129 129 129 131 131 131 130 130 130 137 137 137 137 137 137 138 138 138 125 100 125 73 58 73 76 60 76 56 44 56 75 60 75 131 105 131 117 93 117 134 107 134 126 101 126 128 102 128 131 105 131 130 104 130 132 106 132 123 98 123 91 72 91 90 72 90 125 100 125 98 79 98 122 97 122 61 49 61 77 62 77 60 48 60 55 44 55 108 87 108 91 72 91 109 87 109 130 104 130 121 97 121 128 102 128 129 103 129 121 97 121 129 103 129 127 102 127 118 94 118 120 96 120 105 84 105 80 64 80 60 48 60 122 98 122 122 97 122 123 98 123 130 104 130 129 103 129 113 91 113 79 63 79 128 102 128 127 102 127 122 97 122 81 65 81 123 98 123 127 101 127 125 100 125 124 99 124 120 96 120 90 72 90 66 53 66 92 73 92 116 93 116 92 73 92 117 94 117 119 95 119 118 95 118 118 95 118 125 100 125 124 99 124 126 100 126 114 114 114 66 66 66 69 69 69 51 51 51 69 69 69 120 120 120 107 107 107 122 122 122 115 115 115 117 117 117 120 120 120 119 119 119 121 121 121 112 112 112 83 83 83 115 115 115 90 90 90 112 112 112
+197 157 197 168 135 168 180 144 180 188 150 188 162 129 162 172 137 172 124 99 124 69 55 69 69 55 69 175 140 175 185 148 185 187 149 187 169 135 169 174 139 174 178 142 178 188 188 188 190 190 190 181 181 181 179 179 179 181 181 181 183 183 183 124 124 124 157 157 157 157 157 157 164 164 164 156 156 156 176 176 176 181 181 181 187 187 187 187 187 187 177 177 177 159 159 159 132 132 132 145 145 145 182 182 182 185 185 185 176 176 176 81 81 81 81 81 81 115 115 115 61 61 61 119 119 119 157 157 157 147 147 147 156 156 156 126 126 126 150 150 150 137 137 137 131 131 131 161 161 161 157 157 157 134 134 134 151 151 151 151 151 151 181 181 181 120 120 120 71 71 71 173 173 173 180 180 180 176 176 176 179 179 179 164 164 164 102 102 102 113 113 113 152 152 152 178 178 178 180 180 180 181 181 181 181 181 181 155 155 155 166 166 166 173 173 173 149 149 149 157 157 157 113 113 113 64 64 64 160 160 160 169 169 169 171 171 171 154 154 154 159 159 159 163 163 163 172 137 172 171 137 171 173 138 173 165 132 165 163 131 163 165 132 165 166 133 166 112 90 112 143 114 143 149 119 149 142 114 142 160 128 160 165 132 165 170 136 170 169 135 169 160 128 160 160 128 160 144 115 144 119 95 119 131 105 131 164 131 164 167 134 167 158 127 158 73 58 73 104 83 104 55 44 55 107 85 107 141 113 141 132 106 132 141 113 141 113 90 113 113 90 113 135 108 135 123 98 123 117 94 117 144 115 144 141 113 141 120 96 120 135 108 135 162 129 162 108 86 108 64 51 64 154 123 154 255 229 129 255 247 138 255 203 114 255 212 119 255 255 160 255 255 161 255 255 161 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 247 123 0 249 124 0 249 124 0 252 126 0 252 126 0 252 126 0 249 124 0 127 63 0 89 44 0 165 82 0 232 116 0 22 11 0 5 2 0 10 5 0 135 67 0 61 30 0 175 87 0 175 87 0 196 98 0 249 124 0 237 118 0 244 122 0 244 122 0 239 119 0 25 12 0 86 43 0 124 62 0 173 86 0 178 89 0 252 126 0 252 126 0 252 126 0 239 119 0 242 121 0 242 121 0 244 122 0 244 122 0 247 123 0 244 122 0 124 124 124 99 99 99 119 119 119 108 108 108 103 103 103 127 127 127 124 124 124 106 106 106 119 119 119 119 119 119 142 142 142 95 95 95 56 56 56 136 136 136 141 141 141 138 138 138 141 141 141 129 129 129 80 80 80 89 89 89 119 119 119 140 140 140 141 141 141 140 140 140 142 142 142 121 121 121 130 130 130 135 135 135 116 116 116 123 123 123 89 89 89 50 50 50 125 125 125 132 132 132 134 134 134 121 121 121 125 125 125 127 127 127 127 127 127 134 107 134 135 108 135 129 103 129 128 102 128 129 103 129 130 104 130 88 70 88 111 89 111 117 93 117 111 89 111 125 100 125 129 103 129 133 106 133 132 106 132 132 106 132 125 100 125 113 90 113 93 74 93 103 82 103 128 103 128 131 105 131 124 99 124 57 45 57 81 65 81 43 34 43 84 67 84 111 89 111 104 83 104 111 88 111 110 88 110 89 71 89 106 85 106 96 77 96 92 74 92 114 91 114 111 88 111 95 76 95 106 85 106 128 102 128 85 68 85 50 40 50 122 97 122 127 101 127 124 99 124 124 99 124 126 101 126 116 92 116 72 58 72 80 64 80 107 86 107 126 100 126 127 101 127 128 102 128 109 87 109 117 94 117 122 98 122 105 84 105 111 89 111 80 64 80 80 64 80 45 36 45 114 91 114 120 96 120 121 97 121 109 87 109 113 90 113 115 92 115 122 122 122 123 123 123 118 118 118 116 116 116 117 117 117 118 118 118 80 80 80 80 80 80 101 101 101 106 106 106 101 101 101 114 114 114 118 118 118 121 121 121 121 121 121
+158 158 197 159 159 199 154 154 193 152 152 191 155 155 194 150 150 188 152 152 190 147 147 184 144 144 180 140 140 175 140 140 175 153 153 191 157 197 197 154 193 193 154 192 192 151 188 188 152 190 190 152 190 190 152 190 190 145 181 181 148 185 185 148 185 185 152 191 191 151 189 189 147 184 184 152 190 190 153 192 192 150 188 188 145 182 182 150 187 187 153 191 191 154 193 193 154 192 192 151 188 188 150 188 188 147 184 184 121 151 151 83 104 104 120 150 150 109 137 137 98 123 123 46 57 57 35 44 44 35 44 44 67 84 84 59 74 74 81 101 101 96 120 120 80 101 101 102 127 127 132 165 165 144 180 180 144 180 180 139 174 174 147 183 183 146 183 183 146 183 183 143 179 179 138 173 173 144 180 180 144 180 180 142 178 178 142 177 177 142 177 177 141 177 177 144 180 180 144 180 180 145 182 182 145 181 181 145 181 181 146 183 183 141 177 177 140 175 175 143 178 178 138 172 172 139 174 174 135 168 168 134 168 168 131 164 164 128 160 160 140 175 175 144 144 180 141 141 176 140 140 176 137 137 172 138 138 173 138 138 173 138 138 173 138 138 172 132 132 165 134 134 168 138 138 173 137 137 171 134 134 167 138 138 172 139 139 174 136 136 170 131 131 164 135 135 169 138 138 173 138 138 172 139 139 174 136 136 170 136 136 170 133 133 166 109 109 136 75 75 94 108 108 135 98 98 123 88 88 111 41 41 52 41 41 51 31 31 39 60 60 75 53 53 67 72 72 91 86 86 108 72 72 90 91 91 114 118 118 148 129 129 161 129 129 161 128 128 161 124 124 155 131 131 163 255 224 125 255 232 130 255 215 120 225 157 88 255 241 135 255 255 161 255 255 160 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 242 121 0 61 30 0 211 105 0 247 123 0 170 85 0 20 10 0 5 2 0 25 12 0 22 11 0 12 6 0 107 53 0 178 89 0 99 49 0 137 68 0 170 85 0 188 94 0 66 33 0 17 8 0 30 15 0 247 123 0 244 122 0 239 119 0 142 71 0 249 124 0 252 126 0 242 121 0 244 122 0 252 126 0 239 119 0 239 119 0 239 119 0 244 122 0 252 126 0 77 97 97 36 45 45 27 34 34 53 66 66 47 58 58 63 79 79 75 94 94 63 79 79 80 100 100 104 130 130 104 130 130 113 141 141 113 141 141 109 136 136 115 143 143 114 143 143 112 140 140 108 135 135 113 141 141 112 141 141 111 139 139 111 139 139 111 138 138 110 138 138 110 138 138 112 141 141 113 142 142 113 142 142 113 141 141 114 143 143 110 138 138 109 136 136 111 139 139 111 139 139 107 134 134 108 135 135 105 131 131 102 128 128 100 125 125 109 136 136 112 112 140 109 109 137 109 109 137 107 107 134 107 107 133 108 108 135 107 107 134 107 107 134 103 103 128 105 105 131 108 108 135 107 107 133 104 104 130 107 107 134 108 108 135 108 108 135 106 106 132 102 102 128 105 105 132 107 107 134 108 108 136 106 106 133 106 106 132 103 103 129 85 85 106 58 58 73 58 58 73 84 84 106 77 77 96 69 69 86 32 32 40 24 24 31 47 47 59 42 42 52 57 57 71 67 67 84 56 56 71 71 71 89 71 71 89 93 93 116 101 101 126 101 101 126 98 98 122 103 103 128 103 103 128 100 100 125 97 97 121 101 101 126 101 101 126 101 101 126 100 100 125 100 100 125 99 99 124 99 99 124 101 101 127 102 102 128 102 102 128 102 102 127 103 103 129 100 100 125 99 99 124 98 98 123 100 100 125 97 97 121 98 98 123 95 95 119 93 93 116 90 90 113 98 98 123 101 127 127 99 124 124 99 124 124 99 124 124 97 121 121 98 122 122 98 122 122 98 122 122 93 117 117 95 119 119 98 123 123 97 122 122
+155 155 194 155 155 193 156 156 195 156 156 195 145 145 181 141 141 177 149 149 186 147 147 184 154 192 192 153 192 192 153 192 192 153 191 191 153 191 191 156 195 195 156 195 195 154 193 193 154 192 192 152 190 190 152 190 190 152 190 190 152 190 190 151 189 189 151 189 189 154 193 193 146 183 183 141 177 177 125 157 157 97 121 121 97 121 121 109 137 137 97 121 121 104 131 131 109 136 136 35 44 44 26 33 33 9 11 11 17 21 21 17 21 21 23 29 29 9 11 11 20 25 25 13 17 17 15 19 19 10 13 13 52 65 65 38 48 48 38 48 48 55 69 69 50 63 63 19 24 24 29 36 36 70 87 87 16 20 20 22 28 28 83 104 104 83 104 104 134 168 168 145 181 181 146 183 183 149 186 186 149 186 186 149 186 186 147 184 184 147 183 183 146 183 183 143 179 179 144 181 181 146 182 182 147 184 184 145 182 182 142 178 178 142 178 178 143 179 179 143 179 179 143 179 179 132 165 165 129 161 161 136 170 170 135 168 168 140 140 175 140 140 175 140 140 175 140 140 175 139 139 174 142 142 178 142 142 177 140 140 175 140 140 175 138 138 173 138 138 173 138 138 172 138 138 172 137 137 172 137 137 171 140 140 175 132 132 166 128 128 160 113 113 142 88 88 110 99 99 124 99 99 123 87 87 109 94 94 118 98 98 123 32 32 40 23 23 29 8 8 10 15 15 19 20 20 26 20 20 26 8 8 10 18 18 22 12 12 15 13 13 17 9 9 12 46 46 58 34 34 43 49 49 61 49 49 61 45 45 56 17 17 22 25 25 32 62 62 78 14 14 18 20 20 25 255 255 151 184 128 71 171 119 67 255 250 140 255 194 109 255 255 161 255 255 156 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 244 122 0 38 19 0 86 43 0 239 119 0 247 123 0 249 124 0 234 117 0 7 3 0 22 11 0 20 10 0 25 12 0 17 8 0 22 11 0 53 26 0 84 42 0 30 15 0 30 15 0 91 45 0 119 59 0 224 112 0 247 123 0 209 104 0 234 117 0 239 119 0 252 126 0 252 126 0 249 124 0 252 126 0 252 126 0 249 124 0 249 124 0 247 123 0 252 126 0 13 16 16 18 22 22 7 9 9 15 19 19 15 19 19 10 13 13 12 15 15 8 10 10 41 51 51 30 37 37 43 54 54 39 49 49 15 19 19 15 19 19 22 28 28 54 68 68 13 16 16 17 22 22 65 81 81 105 131 131 113 141 141 114 143 143 114 142 142 116 145 145 116 145 145 115 144 144 114 143 143 114 143 143 111 139 139 112 141 141 113 142 142 113 142 142 114 143 143 113 141 141 110 138 138 110 138 138 111 139 139 111 139 139 103 128 128 100 125 125 100 125 125 106 132 132 104 130 130 109 109 136 108 108 136 108 108 135 108 108 135 110 110 138 110 110 138 110 110 137 108 108 136 108 108 135 107 107 134 107 107 134 107 107 133 106 106 133 106 106 133 108 108 136 108 108 135 103 103 128 99 99 124 88 88 110 68 68 85 77 77 96 68 68 85 73 73 91 76 76 95 76 76 95 25 25 31 18 18 23 6 6 8 11 11 14 16 16 20 6 6 8 14 14 17 9 9 12 9 9 12 10 10 13 7 7 9 36 36 45 26 26 33 38 38 48 35 35 44 13 13 17 20 20 25 20 20 25 49 49 61 11 11 14 15 15 19 58 58 72 94 94 117 101 101 127 102 102 128 104 104 130 104 104 130 104 104 130 104 104 130 102 102 128 102 102 128 100 100 125 101 101 126 102 102 128 103 103 129 103 103 129 102 102 127 99 99 124 99 99 124 100 100 125 100 100 125 93 93 116 91 91 113 96 96 120 95 95 119 94 94 118 98 123 123 98 123 123 98 123 123 98 123 123 100 125 125 100 125 125 99 124 124 99 123 123
+155 155 194 155 155 194 148 148 186 153 153 191 153 153 191 154 193 193 154 193 193 156 195 195 154 193 193 154 192 192 154 192 192 145 182 182 148 186 186 153 192 192 153 191 191 153 191 191 153 191 191 152 191 191 152 191 191 152 190 190 154 192 192 142 178 178 47 59 59 31 39 39 31 39 39 33 41 41 31 39 39 28 35 35 59 74 74 39 49 49 43 54 54 56 70 70 56 70 70 79 99 99 25 31 31 28 35 35 4 5 5 10 13 13 7 9 9 7 9 9 15 19 19 27 34 34 12 15 15 23 28 28 40 50 50 37 46 46 30 38 38 30 38 38 112 140 140 113 141 141 64 80 80 42 53 53 6 7 7 0 0 0 3 3 3 3 3 3 22 28 28 116 146 146 147 183 183 149 187 187 149 187 187 146 183 183 146 182 182 144 180 180 142 178 178 139 174 174 143 179 179 142 177 177 143 179 179 144 180 180 144 180 180 145 182 182 141 176 176 142 178 178 136 170 170 140 175 175 140 175 175 141 141 177 141 141 176 141 141 176 142 142 178 140 140 175 140 140 175 132 132 166 135 135 169 135 135 169 139 139 174 139 139 174 139 139 173 138 138 173 138 138 173 138 138 173 139 139 174 139 139 174 129 129 161 43 43 53 28 28 35 30 30 37 28 28 35 25 25 32 25 25 31 53 53 67 35 35 44 39 39 49 50 50 63 71 71 89 22 22 28 25 25 31 25 25 31 4 4 5 9 9 12 6 6 8 13 13 17 25 25 31 11 11 13 20 20 25 20 20 25 35 35 44 33 33 41 27 27 34 100 100 125 101 101 126 57 57 71 57 57 71 38 38 47 5 5 6 234 162 91 200 139 78 255 255 145 179 125 70 255 255 161 255 255 153 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 102 51 0 56 28 0 239 119 0 237 118 0 244 122 0 247 123 0 249 124 0 99 49 0 5 2 0 5 2 0 7 3 0 15 7 0 66 33 0 61 30 0 73 36 0 68 34 0 99 49 0 71 35 0 33 16 0 249 124 0 239 119 0 229 114 0 196 98 0 163 81 0 252 126 0 252 126 0 252 126 0 252 126 0 247 123 0 242 121 0 249 124 0 244 122 0 252 126 0 62 78 78 19 24 24 22 27 27 3 4 4 8 10 10 6 7 7 6 7 7 12 15 15 21 27 27 9 12 12 18 22 22 31 39 39 28 36 36 24 30 30 24 30 30 87 109 109 88 110 110 50 62 62 33 41 41 4 5 5 0 0 0 2 2 2 2 2 2 17 22 22 90 113 113 114 142 142 116 145 145 116 145 145 113 141 141 113 141 141 111 139 139 110 138 138 108 135 135 111 139 139 110 137 137 111 138 138 112 140 140 111 139 139 112 140 140 109 136 136 110 137 137 105 131 131 108 135 135 108 135 135 108 135 135 109 109 136 109 109 136 109 109 137 108 108 135 108 108 135 102 102 128 104 104 130 104 104 130 107 107 134 107 107 134 107 107 134 107 107 134 107 107 133 106 106 133 107 107 134 107 107 134 99 99 124 33 33 41 22 22 27 23 23 28 22 22 27 19 19 24 19 19 24 41 41 52 27 27 34 30 30 38 39 39 49 55 55 69 17 17 21 19 19 24 19 19 24 3 3 4 7 7 9 5 5 6 10 10 13 19 19 24 8 8 10 16 16 20 16 16 20 27 27 34 25 25 32 21 21 26 78 78 97 78 78 98 44 44 55 44 44 55 29 29 37 4 4 5 0 0 0 2 2 2 15 15 19 81 81 101 102 102 127 102 102 127 104 104 130 104 104 130 101 101 127 100 100 125 99 99 124 97 97 121 100 100 125 100 100 125 99 99 123 99 99 124 100 100 126 101 101 127 98 98 123 99 99 124 99 99 124 95 95 118 98 98 122 97 97 122 98 123 123 98 123 123 99 124 124 98 123 123 98 123 123
+155 155 194 155 155 194 160 200 200 160 200 200 156 196 196 155 194 194 156 195 195 156 195 195 159 199 199 159 199 199 157 197 197 155 194 194 155 194 194 158 198 198 158 198 198 156 196 196 151 189 189 97 121 121 19 23 23 12 15 15 12 15 15 62 77 77 39 49 49 55 69 69 68 85 85 55 69 69 69 87 87 69 86 86 55 69 69 34 43 43 58 72 72 84 106 106 6 7 7 18 23 23 18 23 23 3 3 3 17 21 21 26 33 33 43 54 54 79 99 99 79 99 99 29 36 36 76 95 95 35 44 44 48 60 60 38 48 48 32 40 40 32 40 40 46 57 57 81 101 101 33 42 42 29 36 36 15 19 19 21 26 26 21 26 26 18 22 22 6 7 7 89 112 112 149 186 186 150 187 187 150 187 187 146 183 183 145 181 181 146 183 183 147 184 184 147 184 184 144 180 180 144 180 180 143 179 179 148 185 185 146 183 183 146 182 182 143 178 178 142 178 178 142 178 178 142 178 178 146 146 183 146 146 183 143 143 179 141 141 177 141 141 176 142 142 178 145 145 181 145 145 181 143 143 179 141 141 177 141 141 176 141 141 176 144 144 180 142 142 177 137 137 172 88 88 110 17 17 21 11 11 14 11 11 14 56 56 70 35 35 44 50 50 62 61 61 76 50 50 62 49 49 62 62 62 78 49 49 62 31 31 39 52 52 65 76 76 95 5 5 7 5 5 7 16 16 21 2 2 3 15 15 19 23 23 29 39 39 48 39 39 48 71 71 88 26 26 33 68 68 85 31 31 39 42 42 53 34 34 43 34 34 43 28 28 36 41 41 51 72 72 90 30 30 37 25 25 32 175 122 68 255 255 145 255 255 153 238 165 93 255 255 161 255 255 161 255 255 161 252 126 0 249 124 0 252 126 0 252 126 0 252 126 0 249 124 0 247 123 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 33 16 0 178 89 0 234 117 0 224 112 0 239 119 0 242 121 0 244 122 0 234 117 0 2 1 0 30 15 0 15 7 0 30 15 0 15 7 0 25 12 0 38 19 0 104 52 0 63 31 0 91 45 0 239 119 0 242 121 0 242 121 0 229 114 0 229 114 0 181 90 0 249 124 0 252 126 0 252 126 0 252 126 0 249 124 0 242 121 0 249 124 0 252 126 0 249 124 0 45 57 57 66 83 83 66 83 83 4 6 6 14 18 18 2 3 3 13 16 16 20 25 25 34 42 42 34 42 42 61 77 77 23 28 28 59 74 74 27 34 34 37 46 46 37 46 46 30 37 37 25 31 31 35 44 44 63 79 79 26 32 32 22 28 28 22 28 28 11 14 14 16 20 20 14 17 17 4 5 5 69 86 86 69 86 86 115 143 143 116 145 145 113 141 141 112 140 140 113 141 141 114 142 142 113 142 142 113 142 142 111 138 138 110 138 138 114 142 142 112 141 141 112 140 140 112 140 140 110 137 137 109 137 137 109 137 137 112 112 141 112 112 140 112 112 140 110 110 137 108 108 136 109 109 137 111 111 139 111 111 139 110 110 137 110 110 137 108 108 136 108 108 135 110 110 138 109 109 136 106 106 132 67 67 84 67 67 84 13 13 16 8 8 11 43 43 53 27 27 34 38 38 48 38 38 48 47 47 59 38 38 48 48 48 60 38 38 47 24 24 30 40 40 50 40 40 50 58 58 73 4 4 5 13 13 16 2 2 2 11 11 14 18 18 22 18 18 22 30 30 37 54 54 68 20 20 25 52 52 65 24 24 30 24 24 30 33 33 41 26 26 33 22 22 28 31 31 39 56 56 70 23 23 29 23 23 29 20 20 25 10 10 13 14 14 18 12 12 15 4 4 5 62 62 77 62 62 77 103 103 128 103 103 129 101 101 127 100 100 125 101 101 126 101 101 126 102 102 127 102 102 127 100 100 125 99 99 124 102 102 128 101 101 127 101 101 127 101 101 126 99 99 124 99 99 124 99 99 123 102 127 127 101 127 127
+161 201 201 161 201 201 159 199 199 160 200 200 160 200 200 160 200 200 160 200 200 160 200 200 159 199 199 159 199 199 156 195 195 156 195 195 135 168 168 93 116 116 73 92 92 12 16 16 17 22 22 17 22 22 9 11 11 41 51 51 43 53 53 51 63 63 71 89 89 71 89 89 23 29 29 49 61 61 41 51 51 61 77 77 79 98 98 79 98 98 6 7 7 9 11 11 23 29 29 12 15 15 51 64 64 51 64 64 34 43 43 39 48 48 15 19 19 15 19 19 26 33 33 26 33 33 43 54 54 31 38 38 49 62 62 20 25 25 4 5 5 4 5 5 0 0 0 6 7 7 27 34 34 7 9 9 6 7 7 6 7 7 13 17 17 1 1 1 74 93 93 148 185 185 147 184 184 147 184 184 147 184 184 148 186 186 150 187 187 148 185 185 148 185 185 145 181 181 146 182 182 149 186 186 144 180 180 139 174 174 139 174 174 143 179 179 143 179 179 138 173 173 147 147 184 147 147 184 147 147 183 146 146 183 145 145 181 146 146 183 146 146 182 146 146 182 145 145 182 145 145 182 145 145 181 145 145 181 142 142 177 122 122 153 122 122 153 84 84 105 66 66 83 11 11 14 15 15 19 8 8 10 8 8 10 37 37 46 38 38 48 46 46 57 64 64 80 21 21 26 21 21 26 44 44 55 37 37 46 55 55 69 71 71 88 5 5 7 5 5 7 8 8 10 21 21 26 11 11 14 46 46 58 30 30 38 30 30 38 35 35 43 13 13 17 13 13 17 23 23 29 38 38 48 38 38 48 27 27 34 44 44 55 17 17 22 4 4 5 4 4 5 0 0 0 5 5 6 255 255 158 255 238 134 255 255 151 251 174 98 255 255 160 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 249 124 0 244 122 0 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 209 104 0 51 25 0 173 86 0 239 119 0 247 123 0 198 99 0 219 109 0 224 112 0 201 100 0 196 98 0 28 14 0 30 15 0 12 6 0 89 44 0 56 28 0 45 22 0 188 94 0 102 51 0 206 103 0 244 122 0 232 116 0 209 104 0 204 102 0 234 117 0 226 113 0 247 123 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 252 126 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 23 23 9 12 12 40 50 50 26 33 33 26 33 33 30 38 38 12 15 15 12 15 15 20 25 25 33 42 42 33 42 42 24 30 30 38 48 48 15 19 19 3 4 4 0 0 0 0 0 0 4 5 5 21 26 26 5 7 7 4 5 5 10 13 13 10 13 13 1 1 1 57 72 72 113 142 142 113 142 142 113 141 141 113 141 141 114 142 142 115 144 144 113 142 142 111 139 139 112 140 140 112 140 140 114 142 142 110 138 138 107 133 133 110 137 137 110 137 137 110 137 137 106 132 132 113 113 141 112 112 141 112 112 140 111 111 139 111 111 139 112 112 140 111 111 139 111 111 139 111 111 139 111 111 139 111 111 139 111 111 138 108 108 135 93 93 117 64 64 81 51 51 64 51 51 64 8 8 11 12 12 15 6 6 8 28 28 35 28 28 35 29 29 37 35 35 44 49 49 61 16 16 20 34 34 42 33 33 42 28 28 35 42 42 53 54 54 68 4 4 5 6 6 8 6 6 8 16 16 20 8 8 10 35 35 44 23 23 29 26 26 33 26 26 33 10 10 13 10 10 13 18 18 22 30 30 37 21 21 26 21 21 26 34 34 42 13 13 17 3 3 3 0 0 0 4 4 5 4 4 5 19 19 23 5 5 6 4 4 5 9 9 11 1 1 1 1 1 1 51 51 64 101 101 127 101 101 127 101 101 127 102 102 128 102 102 128 103 103 129 102 102 127 100 100 125 100 100 126 102 102 128 102 102 128 99 99 124 96 96 120 99 99 124 99 99 124
+161 201 201 161 201 201 161 201 201 161 201 201 160 201 201 160 200 200 160 200 200 158 198 198 158 198 198 153 192 192 148 185 185 62 78 78 16 20 20 9 12 12 9 12 12 27 34 34 27 34 34 41 52 52 12 16 16 12 16 16 14 17 17 59 73 73 68 85 85 70 87 87 70 87 87 138 173 173 149 186 186 90 113 113 17 21 21 9 11 11 9 11 11 11 13 13 14 17 17 29 37 37 48 61 61 48 60 60 95 119 119 105 131 131 103 129 129 112 140 140 112 140 140 128 160 160 115 144 144 96 120 120 77 97 97 73 91 91 72 91 91 110 137 137 89 112 112 20 25 25 6 7 7 6 7 7 10 13 13 10 13 13 3 3 3 122 153 153 122 153 153 150 187 187 151 189 189 151 189 189 147 184 184 144 180 180 144 180 180 144 180 180 144 180 180 145 181 181 149 187 187 149 186 186 146 182 182 138 173 173 145 182 182 148 185 185 148 148 185 148 148 185 148 148 185 147 147 184 146 146 182 147 147 184 147 147 184 146 146 183 146 146 183 146 146 183 146 146 182 146 146 182 145 145 182 144 144 180 139 139 174 134 134 168 57 57 71 57 57 71 14 14 18 8 8 10 24 24 30 24 24 30 24 24 30 37 37 47 11 11 14 12 12 16 53 53 66 53 53 66 61 61 77 63 63 78 124 124 155 134 134 167 81 81 101 81 81 101 15 15 19 8 8 10 9 9 12 12 12 15 12 12 15 26 26 33 43 43 54 85 85 107 94 94 117 93 93 117 92 92 115 100 100 125 114 114 142 102 102 128 86 86 107 85 85 107 69 69 86 64 64 81 97 97 122 79 79 99 79 79 99 255 226 127 255 247 138 255 255 151 255 255 156 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 214 107 0 124 62 0 234 117 0 198 99 0 247 123 0 244 122 0 229 114 0 165 82 0 244 122 0 239 119 0 73 36 0 66 33 0 163 81 0 89 44 0 107 53 0 155 77 0 96 48 0 114 57 0 232 116 0 242 121 0 244 122 0 234 117 0 226 113 0 186 93 0 165 82 0 242 121 0 247 123 0 247 123 0 249 124 0 247 123 0 237 118 0 244 122 0 252 126 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 109 109 87 108 108 99 123 123 89 111 111 74 93 93 60 75 75 56 70 70 56 70 70 84 106 106 69 86 86 15 19 19 4 5 5 4 5 5 8 10 10 8 10 10 2 2 2 94 117 117 94 117 117 115 143 143 116 145 145 115 144 144 113 141 141 110 138 138 110 138 138 110 138 138 110 137 137 111 139 139 114 143 143 114 142 142 111 139 139 105 132 132 111 139 139 113 141 141 113 113 141 113 113 141 113 113 141 112 112 141 111 111 139 112 112 140 112 112 140 112 112 140 111 111 139 111 111 139 111 111 139 111 111 139 111 111 139 109 109 137 106 106 133 102 102 128 43 43 54 43 43 54 11 11 13 6 6 8 18 18 23 18 18 23 18 18 23 28 28 35 8 8 11 9 9 12 40 40 50 40 40 50 47 47 58 48 48 60 95 95 119 102 102 128 62 62 77 62 62 77 11 11 14 6 6 8 7 7 9 9 9 12 9 9 12 20 20 25 33 33 41 65 65 82 72 72 90 72 72 90 70 70 88 77 77 96 87 87 109 79 79 98 66 66 82 66 66 82 53 53 66 50 50 62 75 75 94 61 61 76 61 61 76 13 13 17 4 4 5 7 7 9 7 7 9 7 7 9 2 2 2 84 84 105 102 102 128 103 103 129 103 103 129 103 103 129 101 101 126 99 99 123 99 99 123 98 98 123 98 98 123 99 99 124 102 102 128
+161 202 202 161 202 202 161 201 201 161 201 201 161 201 201 161 201 201 160 201 201 107 133 133 89 111 111 14 18 18 14 18 18 6 8 8 3 4 4 4 6 6 11 14 14 11 14 14 25 32 32 20 26 26 141 176 176 157 196 196 157 196 196 158 198 198 158 198 198 158 197 197 158 197 197 157 197 197 157 197 197 157 196 196 157 196 196 157 196 196 157 196 196 156 196 196 156 195 195 156 195 195 156 195 195 156 195 195 155 194 194 155 194 194 155 194 194 155 194 194 155 194 194 155 193 193 154 193 193 154 193 193 152 191 191 152 190 190 152 190 190 149 186 186 110 137 137 10 13 13 10 13 13 6 7 7 69 86 86 149 187 187 152 190 190 152 190 190 150 188 188 147 184 184 147 184 184 147 183 183 145 181 181 145 181 181 137 171 171 143 179 179 143 178 178 145 182 182 147 183 183 148 185 185 148 185 185 148 185 185 144 181 181 149 149 186 148 148 186 148 148 185 148 148 185 148 148 185 148 148 185 147 147 184 147 147 184 147 147 184 147 147 184 147 147 183 146 146 183 146 146 183 146 146 182 146 146 182 97 97 121 80 80 101 13 13 16 13 13 16 5 5 7 2 2 3 4 4 5 10 10 12 10 10 12 23 23 29 18 18 23 127 127 159 141 141 177 141 141 176 142 142 178 142 142 178 142 142 177 142 142 177 141 141 177 141 141 176 141 141 176 141 141 176 140 140 176 140 140 175 140 140 175 140 140 175 139 139 174 139 139 174 139 139 174 139 139 173 138 138 173 138 138 173 138 138 173 138 138 172 137 137 172 137 137 172 137 137 171 137 137 171 135 135 169 135 135 169 132 132 165 255 197 111 255 255 153 255 255 151 255 244 137 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 247 123 0 170 85 0 142 71 0 214 107 0 175 87 0 229 114 0 239 119 0 209 104 0 173 86 0 181 90 0 145 72 0 165 82 0 232 116 0 114 57 0 51 25 0 79 39 0 160 80 0 119 59 0 73 36 0 63 31 0 226 113 0 237 118 0 226 113 0 237 118 0 181 90 0 216 108 0 175 87 0 198 99 0 127 63 0 191 95 0 183 91 0 186 93 0 229 114 0 234 117 0 247 123 0 249 124 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 117 146 146 114 143 143 114 142 142 84 105 105 8 10 10 4 5 5 53 66 66 53 66 66 114 142 142 116 145 145 115 143 143 112 140 140 112 140 140 112 140 140 110 138 138 110 138 138 104 130 130 104 130 130 109 136 136 111 138 138 112 140 140 113 141 141 112 141 141 112 140 140 110 137 137 113 113 141 113 113 141 113 113 141 112 112 141 112 112 140 112 112 140 112 112 140 112 112 140 112 112 140 111 111 139 111 111 139 111 111 139 111 111 139 111 111 139 111 111 138 73 73 92 73 73 92 61 61 76 10 10 12 4 4 5 2 2 2 2 2 2 3 3 4 7 7 9 17 17 22 14 14 17 14 14 17 96 96 121 107 107 134 108 108 135 108 108 135 108 108 135 108 108 135 108 108 135 107 107 134 107 107 134 107 107 134 107 107 134 107 107 134 107 107 133 107 107 133 106 106 133 106 106 133 106 106 133 106 106 133 106 106 132 106 106 132 106 106 132 105 105 132 105 105 132 105 105 132 105 105 131 105 105 131 104 104 130 104 104 130 101 101 127 101 101 127 75 75 93 7 7 9 4 4 5 47 47 59 47 47 59 102 102 127 104 104 130 102 102 128 102 102 128 100 100 125 100 100 125 99 99 124 99 99 123 99 99 123
+162 202 202 162 202 202 158 198 198 158 198 198 124 155 155 119 148 148 22 28 28 22 28 28 29 36 36 4 6 6 17 22 22 14 18 18 14 18 18 12 16 16 14 18 18 96 121 121 96 121 121 145 181 181 156 195 195 159 199 199 157 196 196 157 196 196 155 194 194 150 188 188 156 196 196 156 195 195 156 195 195 156 195 195 156 195 195 157 196 196 157 196 196 157 196 196 157 196 196 156 196 196 156 195 195 156 195 195 156 195 195 156 195 195 154 193 193 154 192 192 146 182 182 139 174 174 119 149 149 119 148 148 84 105 105 107 134 134 98 122 122 14 17 17 14 17 17 54 68 68 144 180 180 152 190 190 153 191 191 153 191 191 149 187 187 145 181 181 146 183 183 146 182 182 133 167 167 139 174 174 147 184 184 147 183 183 146 183 183 148 185 185 144 181 181 147 184 184 147 184 184 147 184 184 148 185 185 146 146 183 146 146 183 146 146 183 149 149 186 147 147 184 148 148 186 148 148 185 148 148 185 148 148 185 146 146 183 146 146 183 146 146 182 147 147 184 147 147 184 144 144 180 143 143 179 112 112 140 107 107 134 20 20 25 26 26 33 26 26 33 4 4 5 16 16 20 13 13 16 13 13 16 11 11 14 13 13 16 87 87 109 130 130 163 130 130 163 140 140 175 143 143 179 141 141 176 141 141 176 139 139 174 135 135 168 140 140 175 140 140 175 140 140 175 139 139 174 139 139 174 140 140 176 140 140 175 140 140 175 140 140 175 139 139 174 139 139 174 139 139 174 139 139 174 138 138 173 137 137 171 130 130 162 129 129 162 124 124 155 105 105 132 75 75 93 74 74 93 95 95 119 87 87 108 255 255 148 255 255 156 255 235 132 255 255 161 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 224 112 0 109 54 0 153 76 0 214 107 0 137 68 0 145 72 0 237 118 0 239 119 0 186 93 0 145 72 0 188 94 0 198 99 0 196 98 0 216 108 0 244 122 0 96 48 0 43 21 0 168 84 0 112 56 0 56 28 0 124 62 0 237 118 0 209 104 0 186 93 0 242 121 0 201 100 0 170 85 0 242 121 0 244 122 0 234 117 0 175 87 0 181 90 0 94 47 0 89 44 0 206 103 0 232 116 0 239 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 116 146 146 114 142 142 114 142 142 110 137 137 111 139 139 101 127 127 101 127 127 106 132 132 111 139 139 111 139 139 112 140 140 112 140 140 109 137 137 112 140 140 111 139 139 111 139 139 112 140 140 111 111 139 111 111 138 113 113 141 113 113 141 111 111 139 112 112 140 112 112 140 112 112 140 112 112 140 110 110 138 110 110 138 111 111 139 111 111 139 111 111 139 108 108 136 85 85 106 85 85 106 81 81 102 15 15 19 20 20 25 3 3 4 3 3 4 12 12 15 9 9 12 8 8 11 9 9 12 9 9 12 66 66 82 99 99 123 106 106 133 106 106 133 108 108 135 107 107 134 106 106 132 102 102 128 102 102 128 106 106 133 106 106 133 106 106 133 106 106 132 106 106 132 107 107 133 106 106 133 106 106 133 106 106 133 106 106 133 106 106 132 106 106 132 106 106 132 105 105 132 104 104 130 99 99 124 94 94 118 94 94 118 80 80 101 57 57 71 73 73 91 73 73 91 66 66 83 9 9 11 36 36 46 98 98 122 97 97 122 103 103 128 104 104 130 101 101 127 101 101 127 98 98 123 99 99 124
+162 203 203 159 198 198 113 141 141 9 12 12 9 12 12 6 8 8 9 12 12 19 24 24 19 24 24 30 38 38 27 34 34 68 85 85 51 64 64 51 64 64 97 121 121 111 139 139 132 165 165 132 165 165 137 171 171 135 169 169 112 140 140 112 140 140 125 156 156 147 184 184 110 138 138 110 138 138 49 62 62 67 83 83 47 59 59 47 59 59 73 91 91 143 179 179 151 188 188 149 186 186 149 186 186 52 65 65 11 13 13 75 94 94 75 94 94 94 118 118 80 100 100 74 92 92 73 92 92 62 78 78 81 101 101 43 54 54 43 54 54 150 187 187 149 187 187 149 187 187 144 181 181 144 180 180 136 170 170 144 180 180 142 178 178 142 178 178 146 183 183 145 181 181 141 177 177 141 177 177 143 178 178 147 184 184 145 182 182 145 181 181 148 185 185 145 181 181 148 185 185 150 150 188 150 150 188 150 150 188 150 150 187 147 147 183 146 146 183 146 146 183 147 147 184 147 147 184 147 147 184 148 148 185 148 148 185 148 148 185 148 148 185 147 147 184 147 147 184 144 144 180 144 144 180 102 102 128 8 8 11 5 5 7 8 8 11 8 8 11 17 17 22 27 27 34 24 24 31 24 24 31 61 61 76 46 46 58 87 87 109 87 87 109 100 100 125 119 119 149 123 123 154 123 123 153 121 121 151 101 101 126 112 112 140 132 132 165 132 132 165 99 99 123 44 44 55 60 60 75 59 59 74 42 42 53 65 65 81 127 127 159 127 127 159 134 134 168 132 132 166 46 46 58 46 46 58 9 9 12 67 67 84 84 84 105 71 71 89 71 71 89 65 65 81 55 55 69 72 72 90 72 72 90 255 255 151 255 255 148 209 145 81 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 252 126 0 249 124 0 242 121 0 163 81 0 163 81 0 183 91 0 168 84 0 221 110 0 219 109 0 145 72 0 214 107 0 178 89 0 224 112 0 147 73 0 237 118 0 239 119 0 216 108 0 201 100 0 244 122 0 242 121 0 183 91 0 86 43 0 165 82 0 132 66 0 211 105 0 242 121 0 249 124 0 153 76 0 247 123 0 237 118 0 247 123 0 239 119 0 247 123 0 234 117 0 216 108 0 76 38 0 117 58 0 237 118 0 216 108 0 224 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 107 134 134 108 135 135 111 139 139 110 137 137 110 137 137 112 140 140 109 137 137 111 139 139 111 139 139 113 113 142 113 113 141 113 113 141 110 110 138 110 110 138 110 110 138 111 111 139 111 111 139 111 111 139 112 112 140 112 112 140 111 111 139 111 111 139 111 111 139 111 111 139 108 108 136 108 108 135 77 77 96 6 6 8 4 4 5 6 6 8 6 6 8 13 13 16 21 21 26 18 18 23 18 18 23 46 46 58 35 35 44 66 66 82 66 66 82 75 75 94 90 90 112 93 93 116 93 93 116 91 91 114 76 76 95 85 85 106 100 100 125 100 100 125 74 74 93 33 33 42 45 45 56 45 45 56 32 32 40 49 49 62 96 96 121 96 96 121 102 102 127 100 100 126 35 35 44 35 35 44 7 7 9 51 51 64 64 64 80 63 63 79 54 54 67 49 49 62 42 42 53 55 55 68 55 55 68 29 29 37 101 101 126 101 101 126 101 101 126 101 101 126 97 97 122 92 92 115
+14 18 18 14 18 18 19 24 24 4 6 6 1 2 2 1 2 2 60 75 75 39 49 49 17 22 22 17 22 22 61 77 77 143 179 179 146 183 183 146 182 182 146 182 182 111 139 139 59 74 74 59 74 74 61 76 76 37 46 46 11 14 14 11 14 14 99 124 124 148 185 185 102 128 128 102 128 128 142 178 178 89 112 112 113 142 142 113 141 141 153 191 191 119 149 149 47 59 59 47 59 59 41 51 51 14 17 17 9 11 11 9 11 11 109 136 136 112 140 140 67 84 84 67 84 84 86 108 108 96 120 120 151 188 188 150 188 188 150 188 188 153 192 192 147 183 183 146 183 183 140 175 175 135 169 169 123 153 153 122 153 153 141 176 176 141 176 176 134 168 168 134 168 168 145 181 181 148 185 185 148 185 185 147 184 184 144 180 180 141 176 176 148 186 186 148 185 185 151 151 189 151 151 189 151 151 188 147 147 184 144 144 180 148 148 186 148 148 185 150 150 187 148 148 185 148 148 185 147 147 184 149 149 186 149 149 186 148 148 186 148 148 185 146 146 183 142 142 177 85 85 106 85 85 106 13 13 16 17 17 22 4 4 5 4 4 5 1 1 1 54 54 68 35 35 44 35 35 44 16 16 20 55 55 69 129 129 161 128 128 161 131 131 164 131 131 164 100 100 125 100 100 125 53 53 67 55 55 68 33 33 41 33 33 41 10 10 12 89 89 111 132 132 165 132 132 165 91 91 114 127 127 159 80 80 100 79 79 99 101 101 126 136 136 170 106 106 133 106 106 132 42 42 53 36 36 45 12 12 15 12 12 15 8 8 10 96 96 121 99 99 124 99 99 124 60 60 75 76 76 95 84 84 106 255 255 151 255 255 150 255 180 101 255 255 161 252 126 0 252 126 0 252 126 0 252 126 0 247 123 0 214 107 0 132 66 0 124 62 0 153 76 0 229 114 0 244 122 0 226 113 0 211 105 0 234 117 0 175 87 0 188 94 0 188 94 0 102 51 0 216 108 0 239 119 0 237 118 0 249 124 0 247 123 0 249 124 0 224 112 0 229 114 0 153 76 0 178 89 0 244 122 0 249 124 0 242 121 0 244 122 0 214 107 0 168 84 0 237 118 0 249 124 0 214 107 0 239 119 0 247 123 0 170 85 0 188 94 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 109 137 137 111 139 139 111 139 139 111 139 139 108 136 136 106 133 133 106 132 132 111 139 139 114 114 142 113 113 142 113 113 142 111 111 139 108 108 135 108 108 135 111 111 139 112 112 141 111 111 139 111 111 139 111 111 138 112 112 140 111 111 139 111 111 139 111 111 139 110 110 137 106 106 133 106 106 133 63 63 79 10 10 12 13 13 16 13 13 16 3 3 4 1 1 1 41 41 51 41 41 51 26 26 33 12 12 15 41 41 52 41 41 52 96 96 121 99 99 123 98 98 123 98 98 123 75 75 94 40 40 50 41 41 51 41 41 51 25 25 31 7 7 9 67 67 84 67 67 84 99 99 124 69 69 86 96 96 120 96 96 120 60 60 75 76 76 95 103 103 129 103 103 129 80 80 100 32 32 40 27 27 34 27 27 34 9 9 12 6 6 8 73 73 91 73 73 91 75 75 94 45 45 57 58 58 72 58 58 72 64 64 80 101 101 126 101 101 126 101 101 126
+0 0 0 4 6 6 4 6 6 9 12 12 13 16 16 13 16 16 59 73 73 68 85 85 107 134 134 107 134 134 142 177 177 161 201 201 159 199 199 159 199 199 159 199 199 144 180 180 113 142 142 113 141 141 115 143 143 114 143 143 114 143 143 147 183 183 156 195 195 154 193 193 154 193 193 140 175 175 110 138 138 149 186 186 149 186 186 157 196 196 150 188 188 129 161 161 129 161 161 105 131 131 68 85 85 68 85 85 106 133 133 138 172 172 150 188 188 150 188 188 99 124 124 143 179 179 151 189 189 151 189 189 149 187 187 151 189 189 152 190 190 152 190 190 147 184 184 139 174 174 139 174 174 147 183 183 145 181 181 149 187 187 149 186 186 146 182 182 136 170 170 139 174 174 139 174 174 139 174 174 139 173 173 145 181 181 145 181 181 147 184 184 152 152 190 152 152 190 151 151 189 150 150 187 145 145 181 145 145 181 148 148 185 150 150 188 150 150 188 150 150 188 150 150 187 150 150 187 149 149 187 149 149 187 146 146 183 144 144 180 144 144 180 145 145 182 84 84 105 5 5 7 5 5 7 4 4 5 0 0 0 4 4 5 4 4 5 8 8 11 11 11 14 53 53 66 53 53 66 62 62 77 97 97 121 97 97 121 127 127 159 145 145 181 143 143 179 143 143 179 143 143 178 129 129 162 101 101 127 101 101 127 103 103 128 102 102 128 131 131 164 131 131 164 139 139 174 138 138 172 125 125 156 124 124 156 98 98 123 133 133 166 132 132 166 139 139 174 133 133 167 115 115 143 114 114 143 93 93 116 60 60 75 94 94 118 94 94 118 122 122 152 133 133 166 88 88 110 88 88 110 127 127 158 133 133 167 255 255 143 138 96 53 255 255 161 252 126 0 252 126 0 242 121 0 249 124 0 206 103 0 155 77 0 191 95 0 221 110 0 237 118 0 216 108 0 237 118 0 219 109 0 219 109 0 163 81 0 122 61 0 145 72 0 181 90 0 204 102 0 206 103 0 244 122 0 229 114 0 214 107 0 209 104 0 224 112 0 244 122 0 168 84 0 119 59 0 132 66 0 96 48 0 244 122 0 239 119 0 224 112 0 198 99 0 196 98 0 247 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 102 128 128 104 131 131 104 130 130 104 130 130 104 130 130 108 136 136 111 138 138 110 138 138 114 114 142 113 113 142 113 113 142 112 112 140 108 108 136 111 111 138 110 110 138 112 112 141 112 112 140 112 112 140 112 112 140 112 112 140 112 112 140 109 109 137 109 109 136 108 108 135 109 109 136 109 109 136 62 62 78 4 4 5 3 3 4 3 3 4 0 0 0 3 3 4 6 6 8 6 6 8 8 8 11 39 39 49 46 46 58 46 46 58 72 72 91 95 95 119 95 95 119 108 108 136 107 107 134 107 107 134 107 107 134 97 97 121 76 76 95 77 77 96 77 77 96 77 77 96 98 98 123 105 105 131 105 105 131 103 103 129 94 94 117 93 93 117 74 74 92 100 100 125 105 105 131 105 105 131 100 100 126 86 86 108 70 70 88 70 70 88 45 45 57 71 71 89 92 92 115 92 92 115 100 100 126 66 66 83 66 66 83 96 96 120
+6 8 8 6 8 8 6 8 8 11 14 14 9 12 12 9 12 12 21 26 26 114 143 143 144 180 180 144 180 180 160 200 200 156 196 196 155 193 193 155 193 193 153 191 191 153 191 191 152 191 191 159 199 199 160 201 201 160 200 200 160 200 200 158 198 198 153 192 192 153 191 191 124 155 155 124 155 155 146 183 183 146 183 183 133 166 166 151 188 188 150 188 188 155 194 194 156 196 196 147 184 184 147 183 183 138 173 173 121 151 151 90 113 113 90 113 113 146 182 182 155 194 194 155 194 194 150 188 188 145 181 181 140 175 175 140 175 175 137 171 171 137 171 171 136 171 171 146 182 182 149 186 186 150 188 188 150 187 187 145 181 181 140 175 175 140 175 175 143 179 179 138 173 173 136 171 171 136 170 170 139 174 174 144 180 180 153 153 191 152 152 191 151 151 188 151 151 188 150 150 188 152 152 190 151 151 189 151 151 189 151 151 189 149 149 187 149 149 187 149 149 186 150 150 188 150 150 188 148 148 185 148 148 185 149 149 187 149 149 187 149 149 186 149 149 186 144 144 180 99 99 124 99 99 123 17 17 22 26 26 33 5 5 7 5 5 7 5 5 7 10 10 13 10 10 13 8 8 11 19 19 24 103 103 129 103 103 129 129 129 162 144 144 180 144 144 180 140 140 176 139 139 174 137 137 171 137 137 171 137 137 171 142 142 178 142 142 178 143 143 179 143 143 179 141 141 177 141 141 176 137 137 171 110 110 138 110 110 138 110 110 138 130 130 163 118 118 148 118 118 148 134 134 167 138 138 172 139 139 174 139 139 173 130 130 162 123 123 153 122 122 153 107 107 133 80 80 100 129 129 161 128 128 161 137 137 171 255 232 130 167 116 65 255 255 161 252 126 0 249 124 0 232 116 0 158 79 0 145 72 0 229 114 0 226 113 0 244 122 0 242 121 0 247 123 0 216 108 0 168 84 0 183 91 0 226 113 0 114 57 0 150 75 0 99 49 0 193 96 0 224 112 0 209 104 0 237 118 0 234 117 0 183 91 0 175 87 0 211 105 0 181 90 0 247 123 0 229 114 0 201 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 131 131 105 131 131 107 134 134 103 129 129 102 127 127 102 127 127 104 130 130 107 134 134 107 134 134 114 114 142 112 112 141 112 112 140 112 112 140 113 113 141 113 113 141 113 113 141 113 113 141 111 111 139 111 111 139 111 111 139 112 112 140 112 112 140 110 110 138 110 110 138 111 111 139 111 111 139 111 111 139 111 111 139 107 107 134 73 73 92 73 73 92 13 13 16 20 20 25 20 20 25 4 4 5 4 4 5 7 7 9 7 7 9 6 6 8 14 14 17 77 77 96 77 77 96 96 96 121 107 107 134 107 107 134 105 105 131 103 103 129 102 102 128 102 102 128 102 102 128 106 106 133 106 106 133 107 107 134 107 107 134 106 106 132 106 106 132 102 102 128 83 83 103 83 83 103 82 82 103 97 97 122 89 89 111 89 89 111 100 100 125 103 103 129 104 104 130 104 104 130 98 98 122 92 92 115 92 92 115 80 80 100
+23 28 28 39 49 49 39 49 49 39 49 49 49 61 61 49 61 61 121 152 152 159 199 199 160 201 201 160 201 201 162 202 202 162 202 202 162 202 202 161 202 202 161 202 202 161 202 202 161 201 201 161 201 201 159 199 199 159 199 199 141 176 176 137 172 172 137 172 172 81 101 101 148 186 186 142 177 177 142 177 177 69 86 86 109 137 137 109 136 136 151 189 189 139 174 174 139 174 174 131 164 164 76 96 96 136 170 170 135 169 169 156 195 195 157 197 197 157 197 197 152 191 191 146 182 182 142 178 178 142 178 178 147 184 184 155 193 193 154 193 193 151 189 189 145 181 181 144 181 181 141 177 177 149 186 186 146 182 182 145 182 182 133 166 166 147 183 183 146 183 183 138 173 173 132 165 165 138 173 173 138 172 172 153 153 192 151 151 189 151 151 189 151 151 189 151 151 189 152 152 190 152 152 190 150 150 188 149 149 186 148 148 186 151 151 189 151 151 189 151 151 189 151 151 188 150 150 188 150 150 188 150 150 188 150 150 187 150 150 187 149 149 187 149 149 187 149 149 186 141 141 177 141 141 176 99 99 124 25 25 31 25 25 31 28 28 35 20 20 26 20 20 26 35 35 44 35 35 44 44 44 55 44 44 55 109 109 137 143 143 179 143 143 179 144 144 180 145 145 182 145 145 181 145 145 181 145 145 181 144 144 181 144 144 180 144 144 180 144 144 180 143 143 179 142 142 177 126 126 157 123 123 153 122 122 153 72 72 90 132 132 165 132 132 165 126 126 157 61 61 77 97 97 121 97 97 121 134 134 167 123 123 154 123 123 154 116 116 145 67 67 84 67 67 84 120 120 150 138 138 172 139 139 174 139 139 173 255 255 155 255 235 132 255 255 158 252 126 0 114 57 0 89 44 0 84 42 0 242 121 0 244 122 0 232 116 0 234 117 0 239 119 0 239 119 0 214 107 0 193 96 0 168 84 0 219 109 0 224 112 0 142 71 0 107 53 0 81 40 0 158 79 0 196 98 0 244 122 0 122 61 0 237 118 0 237 118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 111 139 139 108 136 136 99 124 124 99 124 124 109 137 137 103 129 129 98 123 123 98 123 123 103 128 128 114 114 143 114 114 142 113 113 141 112 112 141 112 112 140 112 112 140 113 113 141 112 112 140 112 112 140 110 110 138 112 112 141 112 112 140 112 112 140 112 112 140 112 112 140 112 112 140 111 111 139 111 111 139 111 111 139 111 111 139 111 111 139 111 111 138 110 110 138 105 105 131 73 73 92 73 73 92 18 18 23 21 21 26 15 15 19 15 15 19 26 26 33 26 26 33 26 26 33 33 33 41 81 81 101 81 81 101 106 106 133 107 107 134 108 108 135 108 108 135 108 108 135 108 108 135 107 107 134 107 107 134 107 107 134 107 107 134 107 107 134 106 106 132 94 94 117 94 94 117 91 91 114 53 53 67 53 53 67 98 98 123 94 94 118 46 46 57 46 46 57 72 72 90 100 100 125 100 100 125 92 92 116
+44 55 55 72 91 91 72 91 91 102 128 128 79 99 99 79 99 99 143 179 179 151 189 189 151 189 189 159 199 199 162 203 203 162 203 203 162 202 202 162 202 202 157 196 196 157 196 196 114 143 143 37 46 46 37 46 46 63 79 79 27 34 34 27 34 34 13 16 16 30 38 38 30 38 38 71 89 89 121 151 151 137 171 171 137 171 171 133 167 167 90 112 112 90 112 112 115 144 144 154 192 192 154 192 192 158 198 198 158 198 198 158 198 198 158 197 197 156 195 195 153 191 191 152 191 191 156 195 195 151 188 188 150 188 188 133 166 166 145 182 182 145 182 182 150 187 187 146 183 183 146 183 183 144 181 181 146 182 182 144 180 180 144 180 180 147 184 184 148 186 186 148 185 185 145 181 181 154 154 193 154 154 192 154 154 192 152 152 190 152 152 190 152 152 190 153 153 191 153 153 191 152 152 191 152 152 190 149 149 186 149 149 186 152 152 190 151 151 189 151 151 189 151 151 189 151 151 189 151 151 188 150 150 188 150 150 188 150 150 188 150 150 187 150 150 187 149 149 187 149 149 187 147 147 184 131 131 163 131 131 163 42 42 52 21 21 26 14 14 18 14 14 18 40 40 50 65 65 82 65 65 81 92 92 115 71 71 89 71 71 89 128 128 161 136 136 170 135 135 169 143 143 178 145 145 182 145 145 181 145 145 181 145 145 181 140 140 175 140 140 175 102 102 127 33 33 41 33 33 41 56 56 70 24 24 30 24 24 30 11 11 14 27 27 34 63 63 79 63 63 79 107 107 134 121 121 152 121 121 152 118 118 148 79 79 99 79 79 99 102 102 127 136 136 170 140 140 175 140 140 175 139 139 174 139 139 174 139 139 174 255 255 150 255 255 145 132 66 0 137 68 0 102 51 0 122 61 0 239 119 0 244 122 0 234 117 0 244 122 0 247 123 0 232 116 0 232 116 0 209 104 0 173 86 0 239 119 0 237 118 0 247 123 0 84 42 0 188 94 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 108 135 135 107 134 134 108 136 136 107 134 134 107 134 134 109 136 136 110 138 138 108 135 135 107 134 134 114 114 143 114 114 143 114 114 142 112 112 141 112 112 141 112 112 140 113 113 142 113 113 141 113 113 141 113 113 141 110 110 138 112 112 140 112 112 140 112 112 140 112 112 140 112 112 140 111 111 139 111 111 139 111 111 139 111 111 139 111 111 139 111 111 138 111 111 138 110 110 138 109 109 136 109 109 136 97 97 121 31 31 38 31 31 38 15 15 19 11 11 13 11 11 13 29 29 37 48 48 60 68 68 85 68 68 85 52 52 66 95 95 119 95 95 119 100 100 126 106 106 132 106 106 132 108 108 135 107 107 134 107 107 134 107 107 134 104 104 130 75 75 94 75 75 94 24 24 31 42 42 52 42 42 52 18 18 22 8 8 10 8 8 10 20 20 25 47 47 59 47 47 58 80 80 100
+81 101 101 81 101 101 87 109 109 97 122 122 97 122 122 124 155 155 153 192 192 153 191 191 161 202 202 163 203 203 163 203 203 162 203 203 162 203 203 154 192 192 154 192 192 155 194 194 157 196 196 157 196 196 153 192 192 143 179 179 143 179 179 151 189 189 154 193 193 154 193 193 151 188 188 121 152 152 121 152 152 116 145 145 124 155 155 124 155 155 156 195 195 159 199 199 159 199 199 159 199 199 159 199 199 157 196 196 157 196 196 155 194 194 155 194 194 155 194 194 158 197 197 158 197 197 157 197 197 151 189 189 152 191 191 152 190 190 152 190 190 150 188 188 150 188 188 144 180 180 150 187 187 150 187 187 143 179 179 146 183 183 146 183 183 150 188 188 150 188 188 155 155 194 155 155 193 154 154 193 154 154 193 154 154 193 151 151 189 152 152 190 152 152 190 152 152 190 148 148 186 148 148 185 151 151 189 151 151 189 151 151 189 147 147 184 150 150 188 150 150 188 148 148 186 150 150 187 150 150 187 151 151 189 151 151 188 150 150 188 150 150 188 149 149 186 138 138 172 138 138 172 22 22 28 25 25 32 25 25 32 4 4 5 33 33 41 33 33 41 75 75 93 59 59 74 59 59 74 73 73 91 79 79 98 79 79 98 87 87 109 111 111 139 111 111 139 137 137 172 144 144 181 144 144 180 146 146 182 145 145 182 145 145 181 145 145 181 137 137 172 139 139 173 138 138 173 140 140 175 136 136 171 136 136 170 127 127 159 134 134 168 134 134 168 137 137 171 134 134 167 133 133 167 107 107 134 103 103 129 103 103 129 110 110 137 138 138 173 138 138 172 140 140 176 140 140 175 140 140 175 140 140 175 138 138 173 136 136 171 255 255 145 127 63 0 168 84 0 201 100 0 244 122 0 163 81 0 160 80 0 204 102 0 204 102 0 229 114 0 237 118 0 229 114 0 237 118 0 216 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 111 139 139 106 133 133 111 139 139 111 139 139 106 133 133 108 135 135 108 135 135 111 139 139 111 139 139 111 139 139 114 114 143 114 114 143 114 114 143 114 114 142 111 111 139 112 112 140 112 112 140 112 112 140 109 109 137 109 109 137 111 111 139 111 111 139 111 111 139 109 109 136 111 111 139 111 111 138 109 109 137 110 110 138 110 110 138 111 111 139 111 111 139 111 111 139 111 111 138 109 109 137 101 101 127 101 101 127 16 16 20 18 18 23 18 18 23 3 3 4 24 24 30 24 24 30 55 55 69 44 44 55 44 44 55 54 54 67 58 58 72 58 58 72 64 64 81 82 82 102 82 82 102 101 101 127 107 107 133 107 107 133 107 107 134 107 107 134 107 107 134 107 107 134 102 102 127 102 102 128 102 102 128 103 103 129 101 101 126 101 101 126 94 94 118 100 100 125 99 99 124
+91 114 114 106 132 132 139 174 174 139 174 174 140 176 176 155 194 194 155 194 194 158 198 198 161 202 202 161 202 202 161 202 202 92 115 115 75 94 94 75 94 94 37 47 47 54 67 67 54 67 67 70 88 88 49 61 61 49 61 61 65 81 81 129 161 161 128 161 161 136 171 171 60 75 75 60 75 75 16 20 20 138 172 172 137 172 172 160 200 200 160 200 200 160 200 200 160 200 200 156 195 195 156 195 195 157 197 197 156 195 195 155 194 194 155 194 194 152 190 190 152 190 190 152 190 190 151 189 189 151 189 189 150 187 187 153 191 191 152 191 191 146 182 182 154 192 192 153 192 192 149 186 186 139 174 174 139 173 173 151 189 189 146 183 183 146 183 183 155 155 194 155 155 194 155 155 194 155 155 194 155 155 193 154 154 193 154 154 193 154 154 193 154 154 192 154 154 192 150 150 188 150 150 188 153 153 191 153 153 191 153 153 191 149 149 187 151 151 189 151 151 188 152 152 190 152 152 190 152 152 190 151 151 189 151 151 189 151 151 189 142 142 177 30 30 38 30 30 38 42 42 53 69 69 87 69 69 87 6 6 7 7 7 9 7 7 9 63 63 79 123 123 154 123 123 154 85 85 106 82 82 103 82 82 102 95 95 119 125 125 156 125 125 156 126 126 158 139 139 174 139 139 174 142 142 177 145 145 181 144 144 180 144 144 180 82 82 103 82 82 102 67 67 84 33 33 42 33 33 42 48 48 60 62 62 78 62 62 78 43 43 54 58 58 72 57 57 72 114 114 142 121 121 151 121 121 151 53 53 66 14 14 17 14 14 17 121 121 152 141 141 177 141 141 176 141 141 176 140 140 176 140 140 175 137 137 172 138 138 173 138 138 173 242 121 0 244 122 0 234 117 0 211 105 0 232 116 0 242 121 0 234 117 0 131 131 163 130 130 163 133 133 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 113 141 141 108 135 135 108 135 135 113 142 142 110 137 137 110 137 137 102 128 128 112 140 140 111 139 139 108 135 135 115 115 143 114 114 143 114 114 143 114 114 143 114 114 142 114 114 142 114 114 142 113 113 142 113 113 142 113 113 141 113 113 141 110 110 138 113 113 141 112 112 141 112 112 140 110 110 137 110 110 137 111 111 138 112 112 140 111 111 139 111 111 139 111 111 139 111 111 139 111 111 139 104 104 130 104 104 130 22 22 27 31 31 39 31 31 39 51 51 64 4 4 5 4 4 5 5 5 6 46 46 58 46 46 58 90 90 113 62 62 78 62 62 78 60 60 75 70 70 88 70 70 87 92 92 115 93 93 116 93 93 116 102 102 128 104 104 131 104 104 130 106 106 133 106 106 133 60 60 76 60 60 75 49 49 62 24 24 31 24 24 31 35 35 44 46 46 57
+104 131 131 116 145 145 133 166 166 133 166 166 161 201 201 162 203 203 162 203 203 162 203 203 162 202 202 148 186 186 87 109 109 87 109 109 66 82 82 93 117 117 93 117 117 67 84 84 72 90 90 72 90 90 114 143 143 154 192 192 154 192 192 135 169 169 31 38 38 31 38 38 9 12 12 79 99 99 79 99 99 156 195 195 160 201 201 160 201 201 160 200 200 157 196 196 157 196 196 158 198 198 156 195 195 156 195 195 156 195 195 151 189 189 151 189 189 155 194 194 157 196 196 157 196 196 153 192 192 153 192 192 148 185 185 151 189 189 151 189 189 149 187 187 149 187 187 149 186 186 152 190 190 150 188 188 150 188 188 155 194 194 156 156 195 156 156 195 156 156 195 156 156 195 155 155 194 155 155 194 155 155 194 155 155 194 155 155 193 154 154 193 154 154 193 151 151 189 152 152 191 152 152 190 152 152 190 152 152 190 152 152 190 153 153 191 153 153 191 153 153 191 152 152 191 152 152 190 152 152 190 150 150 188 150 150 188 127 127 159 9 9 11 9 9 11 19 19 24 114 114 142 114 114 142 31 31 39 6 6 7 6 6 7 9 9 11 36 36 45 36 36 45 102 102 128 100 100 126 100 100 125 91 91 114 94 94 118 94 94 117 104 104 130 119 119 149 119 119 149 144 144 180 145 145 182 145 145 181 145 145 181 133 133 166 132 132 166 78 78 97 58 58 73 58 58 73 83 83 104 60 60 75 60 60 75 64 64 80 102 102 127 101 101 127 136 136 170 136 136 170 120 120 150 27 27 34 27 27 34 8 8 10 70 70 88 70 70 88 137 137 172 141 141 177 141 141 177 141 141 176 138 138 172 138 138 172 139 139 174 137 137 172 247 123 0 137 137 171 132 132 165 132 132 165 136 136 170 137 137 172 137 137 171 134 134 168 129 129 162 129 129 162 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 109 137 137 112 140 140 110 138 138 110 138 138 110 137 137 112 140 140 112 140 140 111 138 138 114 142 142 114 142 142 115 115 143 114 114 143 114 114 143 114 114 143 114 114 143 114 114 142 114 114 142 113 113 142 113 113 142 113 113 142 111 111 138 111 111 138 111 111 139 111 111 139 111 111 139 111 111 139 111 111 139 112 112 140 112 112 140 112 112 140 111 111 139 111 111 139 111 111 139 110 110 137 93 93 116 93 93 116 6 6 8 14 14 18 14 14 18 83 83 104 23 23 29 23 23 29 4 4 5 6 6 8 6 6 8 26 26 33 75 75 93 75 75 93 73 73 92 67 67 83 67 67 83 69 69 86 76 76 96 76 76 95 87 87 109 106 106 132 105 105 132 106 106 133 106 106 133 106 106 133 97 97 122 97 97 122 57 57 71 43 43 54
+106 133 133 90 112 112 90 112 112 136 170 170 136 170 170 157 197 197 159 199 199 159 199 199 159 199 199 160 200 200 160 200 200 153 192 192 158 198 198 158 198 198 156 195 195 156 195 195 156 195 195 138 172 172 34 43 43 34 43 43 41 51 51 41 51 51 95 118 118 44 55 55 44 55 55 114 142 142 159 199 199 159 199 199 161 201 201 161 201 201 161 201 201 160 201 201 160 200 200 160 200 200 160 200 200 160 200 200 160 200 200 158 197 197 158 197 197 154 193 193 151 189 189 151 188 188 139 174 174 154 192 192 153 192 192 150 188 188 151 189 189 151 189 189 153 191 191 153 191 191 152 191 191 151 188 188 157 157 196 157 157 196 156 156 196 156 156 196 156 156 195 156 156 195 156 156 195 156 156 195 155 155 194 155 155 194 155 155 194 155 155 194 155 155 193 154 154 193 154 154 193 154 154 193 154 154 192 154 154 192 154 154 192 153 153 192 153 153 192 153 153 191 153 153 191 153 153 191 146 146 183 32 32 40 32 32 40 19 19 24 102 102 128 102 102 128 110 110 137 139 139 173 138 138 173 32 32 40 31 31 39 13 13 17 3 3 3 3 3 3 6 6 7 34 34 43 34 34 43 79 79 99 103 103 129 103 103 129 100 100 125 95 95 119 95 95 119 80 80 100 122 122 153 122 122 152 141 141 176 141 141 176 142 142 178 142 142 177 142 142 177 143 143 179 137 137 171 136 136 171 141 141 176 139 139 174 139 139 174 139 139 173 122 122 153 122 122 153 30 30 38 36 36 45 36 36 45 84 84 105 83 83 104 39 39 48 101 101 126 100 100 126 140 140 176 142 142 177 141 141 177 141 141 177 141 141 176 141 141 176 140 140 176 140 140 175 140 140 175 140 140 175 140 140 175 138 138 172 135 135 169 135 135 168 132 132 165 122 122 152 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 103 128 128 113 141 141 113 141 141 110 138 138 111 139 139 111 139 139 112 140 140 112 140 140 112 140 140 110 138 138 110 138 138 115 115 144 115 115 143 114 114 143 114 114 143 114 114 143 114 114 142 114 114 142 114 114 142 113 113 142 113 113 142 113 113 141 113 113 141 113 113 141 113 113 141 112 112 141 112 112 140 112 112 140 112 112 140 112 112 140 112 112 140 111 111 139 111 111 139 111 111 139 106 106 133 23 23 29 23 23 29 14 14 18 75 75 93 74 74 93 80 80 100 101 101 126 101 101 126 23 23 29 23 23 29 9 9 12 2 2 2 2 2 2 4 4 5 25 25 31 25 25 31 58 58 72 75 75 94 75 75 94 73 73 91 70 70 87 70 70 87 59 59 73 89 89 111 89 89 111 103 103 129 103 103 129 104 104 130
+113 142 142 113 142 142 90 112 112 90 112 112 133 166 166 154 193 193 154 193 193 159 199 199 159 199 199 159 199 199 159 199 199 155 194 194 155 194 194 114 142 142 114 142 142 16 20 20 47 59 59 47 59 59 125 156 156 120 150 150 120 150 150 88 110 110 60 75 75 60 75 75 145 182 182 145 182 182 161 202 202 161 202 202 161 202 202 161 201 201 158 197 197 157 197 197 156 195 195 156 195 195 155 194 194 155 194 194 155 194 194 155 194 194 153 192 192 153 191 191 154 193 193 154 193 193 154 193 193 152 191 191 152 190 190 144 180 180 153 192 192 153 192 192 155 194 194 155 193 193 154 193 193 157 157 197 156 156 195 155 155 194 157 157 196 157 157 196 157 157 196 156 156 196 156 156 195 156 156 195 156 156 195 156 156 195 154 154 192 155 155 194 155 155 194 155 155 194 155 155 193 154 154 193 154 154 193 154 154 193 154 154 193 154 154 192 154 154 192 149 149 186 85 85 106 85 85 106 23 23 29 23 23 28 52 52 65 144 144 181 144 144 180 149 149 186 152 152 190 151 151 189 150 150 187 65 65 82 65 65 82 6 6 7 6 6 7 13 13 17 15 15 18 15 15 18 13 13 17 7 7 9 7 7 9 12 12 15 63 63 79 63 63 78 105 105 131 104 104 131 101 101 127 80 80 100 80 80 100 119 119 149 138 138 173 138 138 172 142 142 178 142 142 177 142 142 177 141 141 177 141 141 177 138 138 173 101 101 126 101 101 126 14 14 18 42 42 53 42 42 52 110 110 138 110 110 138 106 106 132 78 78 98 78 78 97 53 53 66 128 128 160 128 128 160 142 142 178 142 142 177 142 142 177 141 141 177 141 141 177 138 138 173 136 136 171 136 136 170 136 136 170 136 136 170 136 136 170 135 135 169 134 134 167 133 133 167 135 135 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 113 142 142 113 141 141 112 140 140 112 140 140 105 132 132 112 141 141 112 140 140 113 142 142 113 141 141 113 141 141 115 115 144 115 115 144 114 114 142 114 114 143 114 114 143 114 114 143 114 114 143 114 114 142 114 114 142 113 113 142 113 113 142 112 112 140 112 112 140 113 113 141 113 113 141 113 113 141 112 112 141 112 112 140 112 112 140 112 112 140 112 112 140 112 112 140 108 108 135 108 108 135 62 62 77 16 16 21 16 16 21 38 38 47 38 38 47 105 105 131 108 108 135 108 108 135 110 110 138 109 109 136 109 109 136 47 47 59 4 4 5 4 4 5 9 9 12 9 9 12 11 11 13 9 9 12 9 9 12 5 5 6 8 8 10 8 8 10 46 46 57 76 76 95 76 76 95 74 74 92 74 74 92
+72 90 90 90 113 113 90 112 112 112 140 140 123 154 154 123 154 154 123 154 154 123 154 154 119 149 149 51 64 64 51 64 64 9 12 12 4 6 6 4 6 6 56 70 70 56 70 70 148 186 186 80 101 101 80 101 101 112 140 140 133 166 166 133 166 166 115 143 143 115 143 143 162 203 203 162 203 203 162 202 202 162 202 202 160 200 200 160 200 200 160 200 200 159 199 199 154 193 193 154 193 193 154 193 193 157 197 197 155 194 194 155 194 194 155 194 194 155 194 194 155 194 194 150 187 187 150 187 187 151 189 189 153 191 191 152 191 191 157 196 196 157 196 196 155 194 194 158 158 198 158 158 198 158 158 197 158 158 197 157 157 197 157 157 197 157 157 196 157 157 196 157 157 196 157 157 196 155 155 194 153 153 191 153 153 191 156 156 195 156 156 195 155 155 194 155 155 194 155 155 194 155 155 194 155 155 193 154 154 193 154 154 193 154 154 193 151 151 189 62 62 77 62 62 77 34 34 42 105 105 131 105 105 131 147 147 183 146 146 183 128 128 160 152 152 190 152 152 190 150 150 188 141 141 176 141 141 176 45 45 57 45 45 57 4 4 5 13 13 17 13 13 17 12 12 15 7 7 9 7 7 9 1 1 1 1 1 1 9 9 11 22 22 28 22 22 28 58 58 73 64 64 80 64 64 80 80 80 101 80 80 100 100 100 125 110 110 137 110 110 137 109 109 137 106 106 133 106 106 133 45 45 57 45 45 57 8 8 11 4 4 5 4 4 5 49 49 62 131 131 164 131 131 164 71 71 89 71 71 89 99 99 123 117 117 147 117 117 147 101 101 126 143 143 179 143 143 178 142 142 178 142 142 178 142 142 177 140 140 175 140 140 175 140 140 175 135 135 169 135 135 169 135 135 169 135 135 168 137 137 172 136 136 170 135 135 169 135 135 169 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 114 142 142 113 142 142 113 142 142 109 137 137 110 138 138 110 138 138 111 139 139 111 139 139 114 143 143 113 142 142 113 141 141 115 115 144 115 115 144 115 115 144 115 115 143 114 114 143 114 114 143 114 114 143 114 114 143 114 114 142 112 112 141 112 112 140 111 111 139 111 111 139 113 113 141 113 113 141 113 113 141 112 112 141 112 112 141 112 112 140 112 112 140 112 112 140 112 112 140 109 109 137 109 109 137 45 45 56 24 24 30 24 24 30 76 76 95 76 76 95 106 106 133 92 92 116 92 92 116 110 110 138 109 109 136 109 109 136 102 102 127 102 102 127 33 33 41 3 3 4 3 3 4 9 9 12 8 8 11 8 8 11 5 5 6 5 5 6 1 1 1 6 6 8 6 6 8 16 16 20
+15 18 18 15 18 18 20 25 25 20 25 25 20 25 25 70 87 87 70 87 87 60 75 75 78 98 98 78 97 97 31 39 39 31 39 39 124 155 155 161 201 201 161 201 201 160 201 201 160 200 200 153 192 192 155 194 194 155 194 194 92 115 115 156 195 195 156 195 195 161 201 201 161 201 201 162 203 203 157 197 197 157 196 196 155 194 194 155 194 194 153 192 192 153 192 192 153 191 191 158 197 197 154 193 193 154 193 193 156 195 195 156 195 195 155 194 194 155 194 194 155 194 194 157 196 196 156 196 196 156 195 195 159 199 199 159 199 199 154 193 193 159 159 199 159 159 198 158 158 198 158 158 198 158 158 198 158 158 198 158 158 197 154 154 193 154 154 193 149 149 187 155 155 194 155 155 194 157 157 196 157 157 196 156 156 196 156 156 195 156 156 195 156 156 195 156 156 195 155 155 194 155 155 194 155 155 194 155 155 194 136 136 170 136 136 170 20 20 25 20 20 25 109 109 136 143 143 179 143 143 178 136 136 170 136 136 170 136 136 170 145 145 181 145 145 181 143 143 179 151 151 188 150 150 188 150 150 188 150 150 188 59 59 74 3 3 3 3 3 3 0 0 0 3 3 3 3 3 3 4 4 5 4 4 5 9 9 11 10 10 13 10 10 13 27 27 33 27 27 33 27 27 33 12 12 15 12 12 15 13 13 16 17 17 22 17 17 22 17 17 22 17 17 22 62 62 78 53 53 66 53 53 66 69 69 87 69 69 86 28 28 35 110 110 138 110 110 138 142 142 178 142 142 178 142 142 177 136 136 170 135 135 169 137 137 171 81 81 101 81 81 101 137 137 172 137 137 172 141 141 177 143 143 178 142 142 178 138 138 172 136 136 170 136 136 170 134 134 168 134 134 168 134 134 167 138 138 172 138 138 172 135 135 168 134 134 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 114 142 142 114 142 142 113 142 142 113 142 142 113 141 141 114 143 143 114 142 142 114 142 142 116 145 145 116 145 145 112 140 140 112 140 140 115 115 144 115 115 144 115 115 144 115 115 143 115 115 143 114 114 143 112 112 140 112 112 140 108 108 135 113 113 141 112 112 141 113 113 142 113 113 142 113 113 141 113 113 141 113 113 141 113 113 141 112 112 141 112 112 140 112 112 140 112 112 140 112 112 140 98 98 123 98 98 123 14 14 18 14 14 18 78 78 98 103 103 129 103 103 129 98 98 123 98 98 123 98 98 123 105 105 131 104 104 131 103 103 129 109 109 136 108 108 136 108 108 136 108 108 135 43 43 54 2 2 2 2 2 2 0 0 0 2 2 2 2 2 2 3 3 4 3 3 4
+45 56 56 35 44 44 35 44 44 46 58 58 40 50 50 40 50 50 26 33 33 26 33 33 66 83 83 146 183 183 146 183 183 161 202 202 161 201 201 151 189 189 136 170 170 136 170 170 152 190 190 152 190 190 101 126 126 155 194 194 155 194 194 162 202 202 161 202 202 163 204 204 159 199 199 159 199 199 156 195 195 156 195 195 157 197 197 159 199 199 159 198 198 162 202 202 162 202 202 160 200 200 153 191 191 153 191 191 153 191 191 153 191 191 159 199 199 157 197 197 157 196 196 157 196 196 157 196 196 158 198 198 160 200 200 159 199 199 158 158 197 159 159 199 159 159 199 159 159 199 159 159 198 158 158 198 158 158 198 158 158 198 156 156 196 156 156 195 158 158 197 157 157 197 157 157 197 157 157 196 157 157 196 157 157 196 157 157 196 156 156 196 156 156 195 156 156 195 156 156 195 154 154 193 154 154 192 129 129 161 128 128 161 31 31 39 106 106 133 106 106 133 136 136 170 135 135 169 149 149 187 137 137 171 136 136 171 146 146 182 145 145 182 147 147 184 150 150 187 149 149 187 148 148 185 148 148 185 141 141 177 30 30 38 30 30 38 1 1 1 13 13 17 13 13 17 15 15 19 15 15 19 12 12 15 48 48 60 48 48 60 39 39 49 39 39 49 36 36 45 77 77 96 76 76 96 43 43 54 43 43 54 40 40 50 31 31 39 31 31 39 41 41 52 41 41 52 35 35 44 23 23 29 23 23 29 59 59 74 59 59 74 130 130 162 143 143 179 143 143 178 134 134 167 133 133 167 120 120 150 134 134 168 134 134 168 89 89 111 88 88 111 136 136 171 142 142 178 142 142 177 143 143 179 143 143 179 140 140 175 137 137 171 136 136 171 138 138 172 139 139 174 139 139 173 141 141 177 141 141 176 139 139 174 133 133 167 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 111 139 139 111 139 139 111 139 139 116 145 145 115 144 144 114 143 143 114 143 143 114 142 142 115 144 144 115 143 143 116 145 145 114 114 143 114 114 143 115 115 144 115 115 144 115 115 144 115 115 143 114 114 143 114 114 143 113 113 141 113 113 141 114 114 142 114 114 142 113 113 142 113 113 142 113 113 142 113 113 141 113 113 141 113 113 141 113 113 141 112 112 141 112 112 140 112 112 140 111 111 139 92 92 116 92 92 116 22 22 28 22 22 28 76 76 95 97 97 122 97 97 122 107 107 134 107 107 134 98 98 123 105 105 131 105 105 131 106 106 132 105 105 132 107 107 134 106 106 133 106 106 133 102 102 127 101 101 127 22 22 27 1 1 1 1 1 1 9 9 12
+42 52 52 42 52 52 60 75 75 60 75 75 47 58 58 46 58 58 154 192 192 155 194 194 155 194 194 147 184 184 147 183 183 155 194 194 150 187 187 150 187 187 159 199 199 159 199 199 128 160 160 106 132 132 106 132 132 162 203 203 162 203 203 163 204 204 163 204 204 163 204 204 163 204 204 163 204 204 163 204 204 163 203 203 162 203 203 162 203 203 162 203 203 160 201 201 160 200 200 160 200 200 160 200 200 160 200 200 160 200 200 158 197 197 158 197 197 158 197 197 157 197 197 159 199 199 159 198 198 159 198 198 160 160 200 160 160 200 160 160 200 160 160 200 159 159 199 159 159 199 159 159 199 159 159 199 159 159 198 158 158 198 158 158 198 158 158 198 158 158 198 158 158 197 158 158 197 157 157 197 157 157 197 154 154 193 154 154 192 154 154 192 131 131 164 131 131 164 134 134 168 134 134 167 102 102 128 77 77 96 77 77 96 61 61 76 61 61 76 144 144 180 122 122 152 122 122 152 151 151 189 151 151 189 151 151 189 135 135 169 135 135 169 141 141 176 141 141 176 123 123 154 122 122 152 122 122 152 149 149 187 149 149 186 118 118 148 118 118 148 16 16 21 58 58 72 58 58 72 18 18 22 18 18 22 9 9 11 9 9 11 9 9 11 25 25 32 25 25 32 18 18 22 22 22 28 22 22 28 61 61 77 61 61 77 37 37 46 37 37 46 37 37 46 53 53 67 53 53 67 41 41 52 137 137 171 136 136 171 138 138 172 137 137 172 130 130 162 137 137 171 137 137 171 132 132 165 132 132 165 141 141 176 113 113 141 112 112 141 93 93 117 93 93 116 142 142 178 144 144 180 143 143 179 143 143 179 143 143 179 143 143 179 143 143 178 142 142 178 142 142 178 142 142 177 142 142 177 141 141 177 140 140 175 139 139 174 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 165 103 0 128 80 0 159 99 0 103 64 0 82 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 116 146 146 116 145 145 116 145 145 116 145 145 116 145 145 114 143 143 114 143 143 114 143 143 115 144 144 115 144 144 115 143 143 115 143 143 116 116 145 115 115 144 115 115 144 115 115 144 115 115 144 115 115 143 115 115 143 114 114 143 114 114 143 114 114 143 114 114 142 114 114 142 114 114 142 113 113 142 113 113 142 113 113 141 113 113 141 110 110 138 110 110 138 110 110 138 94 94 118 94 94 118 96 96 120 73 73 92 73 73 92 55 55 69 55 55 69 44 44 55 103 103 129 103 103 129 87 87 109 87 87 109 108 108 135 108 108 135 108 108 135 97 97 121 97 97 121 101 101 126 89 89 111 88 88 111 87 87 109 87 87 109 107 107 134 107 107 134
+43 54 54 43 54 54 79 98 98 158 197 197 158 197 197 159 199 199 159 199 199 152 190 190 159 199 199 159 199 199 150 188 188 150 188 188 150 188 188 133 167 167 133 166 166 118 148 148 118 147 147 161 201 201 161 201 201 164 205 205 164 205 205 164 205 205 164 205 205 164 205 205 163 204 204 163 204 204 163 204 204 163 204 204 163 204 204 159 199 199 159 199 199 161 201 201 159 199 199 159 199 199 162 203 203 162 202 202 150 188 188 158 198 198 158 198 198 161 202 202 161 201 201 159 199 199 161 161 201 161 161 201 160 160 201 160 160 200 160 160 200 160 160 200 160 160 200 160 160 200 159 159 199 159 159 199 159 159 199 159 159 199 159 159 198 159 159 198 158 158 198 158 158 198 158 158 198 158 158 197 148 148 185 130 130 163 130 130 163 106 106 133 106 106 133 88 88 111 133 133 166 133 133 166 41 41 51 41 41 51 108 108 136 108 108 136 141 141 177 122 122 153 122 122 153 147 147 184 147 147 184 150 150 187 150 150 187 149 149 187 140 140 175 140 140 175 101 101 126 119 119 149 119 119 149 148 148 185 148 148 185 145 145 181 145 145 181 67 67 84 13 13 17 13 13 17 41 41 51 41 41 51 7 7 9 53 53 66 53 53 66 36 36 45 36 36 45 33 33 41 33 33 41 27 27 34 84 84 106 84 84 105 123 123 154 123 123 154 66 66 82 39 39 48 39 39 48 70 70 88 70 70 87 140 140 175 141 141 177 141 141 176 135 135 169 135 135 169 140 140 176 140 140 175 133 133 166 132 132 166 132 132 165 117 117 147 117 117 147 104 104 130 142 142 177 141 141 177 144 144 180 144 144 180 144 144 180 143 143 179 143 143 179 143 143 179 143 143 179 143 143 178 142 142 178 142 142 178 139 139 174 139 139 174 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 191 119 0 183 114 0 199 124 0 185 116 0 184 115 0 160 100 0 132 82 0 91 57 0 39 24 0 106 66 0 161 100 0 150 94 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 148 148 116 145 145 116 145 145 117 146 146 115 144 144 115 144 144 117 147 147 117 146 146 109 136 136 114 143 143 114 143 143 116 145 145 116 145 145 115 144 144 115 143 143 116 116 145 115 115 144 115 115 144 115 115 144 115 115 144 115 115 144 115 115 143 114 114 143 114 114 143 114 114 143 114 114 143 114 114 142 114 114 142 113 113 142 113 113 142 113 113 142 113 113 141 106 106 133 93 93 117 93 93 117 76 76 95 76 76 95 63 63 79 95 95 119 95 95 119 29 29 36 29 29 36 77 77 97 77 77 97 101 101 126 87 87 109 87 87 109 105 105 131 105 105 131 107 107 134 107 107 134 107 107 134 100 100 125 100 100 125 72 72 90 85 85 106 85 85 106
+158 198 198 150 187 187 150 187 187 160 200 200 160 200 200 159 199 199 137 172 172 137 172 172 152 191 191 152 190 190 134 167 167 154 192 192 154 192 192 118 148 148 118 148 148 148 185 185 148 185 185 163 204 204 165 206 206 164 206 206 164 205 205 164 205 205 164 205 205 164 205 205 164 205 205 164 205 205 163 204 204 162 202 202 161 202 202 161 202 202 156 195 195 156 195 195 146 183 183 146 183 183 154 193 193 154 192 192 160 200 200 160 200 200 160 200 200 158 198 198 158 198 198 161 161 202 161 161 201 161 161 201 161 161 201 161 161 201 160 160 201 160 160 200 160 160 200 160 160 200 160 160 200 155 155 193 155 155 193 153 153 191 153 153 191 103 103 128 106 106 132 106 106 132 102 102 128 102 102 128 115 115 144 115 115 143 121 121 151 149 149 187 149 149 187 154 154 193 154 154 192 85 85 107 85 85 107 90 90 112 147 147 184 147 147 183 126 126 157 126 126 157 148 148 185 114 114 143 114 114 143 97 97 121 97 97 121 109 109 137 109 109 136 132 132 165 88 88 111 88 88 111 101 101 126 101 101 126 145 145 182 145 145 182 140 140 176 69 69 86 69 69 86 38 38 48 38 38 48 35 35 44 35 35 44 105 105 132 67 67 84 67 67 84 64 64 80 64 64 80 67 67 83 92 92 115 92 92 115 57 57 72 57 57 71 54 54 68 54 54 67 67 67 84 141 141 176 141 141 176 133 133 167 133 133 166 142 142 177 141 141 177 141 141 177 122 122 152 122 122 152 135 135 169 134 134 168 118 118 148 118 118 147 135 135 169 104 104 130 104 104 130 130 130 163 130 130 163 143 143 179 144 144 181 144 144 180 144 144 180 144 144 180 143 143 179 143 143 179 143 143 179 143 143 179 142 142 178 141 141 176 141 141 176 140 140 176 140 140 175 136 136 170 127 127 159 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 187 117 0 183 114 0 193 121 0 191 119 0 153 95 0 174 109 0 101 63 0 100 62 0 130 81 0 127 79 0 109 68 0 138 86 0 118 74 0 46 29 0 71 44 0 120 75 0 187 117 0 186 116 0 103 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 119 149 149 119 149 149 119 149 149 119 148 148 119 148 148 117 147 147 117 146 146 117 146 146 117 146 146 113 141 141 113 141 141 105 132 132 111 139 139 111 139 139 116 145 145 115 144 144 115 144 144 114 142 142 114 142 142 116 116 145 116 116 145 116 116 145 115 115 144 115 115 144 115 115 144 115 115 144 115 115 143 115 115 143 114 114 143 114 114 143 111 111 138 109 109 137 109 109 137 73 73 92 73 73 92 75 75 94 73 73 91 73 73 91 82 82 102 82 82 102 86 86 108 86 86 108 106 106 133 110 110 137 110 110 137 61 61 76 61 61 76 64 64 80 64 64 80 104 104 131 90 90 112 90 90 112 105 105 132 105 105 131 81 81 102 81 81 102 69 69 86 78 78 97 78 78 97 94 94 118
+160 201 201 160 200 200 162 202 202 162 202 202 148 185 185 148 185 185 155 193 193 141 176 176 141 176 176 149 187 187 149 186 186 99 123 123 99 123 123 142 178 178 142 178 178 162 202 202 163 204 204 163 204 204 165 206 206 165 206 206 165 206 206 164 206 206 164 205 205 164 205 205 164 205 205 159 199 199 159 199 199 164 205 205 163 204 204 160 200 200 158 198 198 158 198 198 161 202 202 161 201 201 163 203 203 162 203 203 161 201 201 160 201 201 160 201 201 162 162 202 162 162 202 161 161 202 161 161 202 161 161 202 161 161 201 161 161 201 161 161 201 161 161 201 157 157 197 157 157 196 136 136 170 84 84 105 84 84 105 93 93 117 93 93 117 79 79 98 78 78 98 117 117 146 117 117 146 91 91 114 105 105 132 105 105 132 153 153 192 153 153 191 138 138 173 138 138 173 137 137 171 90 90 113 90 90 113 147 147 184 147 147 184 114 114 142 113 113 142 124 124 156 129 129 161 129 129 161 89 89 112 89 89 112 86 86 108 86 86 107 116 116 145 122 122 152 121 121 152 120 120 150 120 120 150 119 119 149 119 119 149 149 149 186 116 116 145 116 116 145 30 30 38 30 30 38 13 13 17 13 13 17 47 47 59 96 96 121 96 96 120 58 58 72 58 58 72 71 71 89 71 71 89 112 112 141 27 27 34 27 27 34 12 12 15 12 12 15 77 77 96 77 77 96 137 137 171 137 137 171 132 132 165 142 142 178 142 142 178 143 143 179 143 143 179 131 131 164 131 131 164 137 137 171 124 124 156 124 124 155 132 132 165 131 131 164 87 87 109 87 87 108 125 125 156 142 142 178 142 142 178 143 143 179 143 143 179 144 144 181 144 144 180 144 144 180 144 144 180 143 143 179 143 143 179 143 143 179 138 138 173 138 138 173 142 142 178 139 139 174 139 139 174 137 137 172 137 137 171 140 140 175 139 139 174 141 141 176 139 139 174 139 139 174 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 195 122 0 195 122 0 179 112 0 117 73 0 179 112 0 195 122 0 178 111 0 156 97 0 164 102 0 103 64 0 93 58 0 65 40 0 97 60 0 95 59 0 97 61 0 137 85 0 106 66 0 98 61 0 75 47 0 49 31 0 68 42 0 180 112 0 172 107 0 171 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 148 148 118 147 147 119 149 149 119 148 148 120 150 150 119 149 149 119 149 149 119 149 149 119 149 149 119 149 149 119 148 148 115 144 144 115 143 143 118 148 148 115 144 144 115 144 144 114 143 143 114 142 142 116 145 145 116 145 145 117 146 146 115 144 144 115 144 144 115 144 144 115 144 144 116 116 145 116 116 145 116 116 145 115 115 144 115 115 144 115 115 144 115 115 144 115 115 144 115 115 143 112 112 140 97 97 121 97 97 121 60 60 75 60 60 75 66 66 83 66 66 83 56 56 70 83 83 104 83 83 104 65 65 81 65 65 81 75 75 94 75 75 94 109 109 136 98 98 123 98 98 123 97 97 121 97 97 121 64 64 80 64 64 80 104 104 131 81 81 101 81 81 101 88 88 111 88 88 110 91 91 114 91 91 114 63 63 79 63 63 79
+157 197 197 157 197 197 147 184 184 147 184 184 150 188 188 150 187 187 150 187 187 141 177 177 141 177 177 122 153 153 122 153 153 109 136 136 131 163 163 131 163 163 159 199 199 159 199 199 164 205 205 164 205 205 165 207 207 165 206 206 165 206 206 165 206 206 165 206 206 163 204 204 163 203 203 164 205 205 164 205 205 161 201 201 160 201 201 164 205 205 163 204 204 163 204 204 163 204 204 163 204 204 161 202 202 161 201 201 158 197 197 162 162 203 162 162 203 162 162 203 162 162 203 162 162 202 162 162 202 155 155 194 155 155 194 160 160 200 132 132 165 132 132 165 71 71 89 71 71 89 104 104 130 103 103 129 81 81 101 81 81 101 131 131 163 97 97 121 96 96 121 145 145 181 145 145 181 120 120 150 120 120 150 154 154 192 142 142 178 142 142 178 134 134 168 134 134 167 116 116 145 116 116 145 105 105 131 105 105 131 133 133 166 111 111 138 111 111 138 139 139 174 139 139 174 85 85 106 85 85 106 91 91 114 91 91 114 127 127 159 86 86 108 86 86 107 100 100 125 100 100 125 101 101 127 101 101 126 132 132 165 149 149 186 149 149 186 99 99 124 99 99 124 58 58 73 58 58 73 26 26 32 26 26 32 89 89 111 117 117 146 116 116 146 113 113 142 113 113 141 44 44 55 44 44 55 45 45 57 45 45 57 38 38 47 135 135 169 135 135 168 128 128 161 128 128 160 140 140 175 140 140 175 135 135 169 139 139 174 139 139 174 130 130 163 130 130 162 133 133 166 132 132 166 132 132 165 132 132 165 124 124 156 108 108 135 108 108 135 96 96 120 96 96 120 115 115 143 114 114 143 139 139 174 139 139 174 143 143 179 145 145 181 144 144 180 144 144 180 144 144 180 144 144 180 143 143 179 142 142 177 143 143 179 143 143 178 140 140 175 139 139 174 142 142 178 142 142 177 142 142 177 141 141 177 141 141 176 139 139 174 139 139 174 165 151 170 255 223 170 255 255 175 255 255 175 228 230 174 255 255 174 187 117 0 180 112 0 112 70 0 173 108 0 191 119 0 105 66 0 62 39 0 86 53 0 126 79 0 125 78 0 85 53 0 67 42 0 160 100 0 155 97 0 118 74 0 119 74 0 93 58 0 108 67 0 137 86 0 178 111 0 189 118 0 172 107 0 176 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 103 129 129 89 112 112 89 112 112 79 99 99 79 99 99 95 119 119 115 144 144 115 144 144 119 149 149 119 148 148 120 150 150 119 149 149 119 149 149 119 149 149 119 149 149 117 147 147 117 147 147 118 148 148 118 148 148 116 145 145 115 144 144 118 147 147 117 147 147 117 147 147 117 146 146 117 146 146 115 144 144 115 144 144 113 141 141 113 141 141 116 116 145 116 116 145 116 116 145 116 116 145 115 115 144 110 110 138 110 110 138 114 114 142 94 94 117 94 94 117 51 51 63 50 50 63 74 74 92 73 73 92 57 57 72 57 57 72 93 93 116 68 68 86 68 68 86 103 103 128 103 103 128 85 85 107 85 85 107 109 109 136 109 109 136 101 101 126 95 95 119 95 95 119 82 82 103 82 82 103 74 74 93 74 74 93 94 94 118 78 78 98 78 78 98 98 98 123 98 98 123
+157 197 197 120 150 150 120 150 150 159 199 199 159 199 199 143 179 179 143 179 179 108 135 135 108 135 135 126 158 158 99 124 124 99 124 124 134 168 168 134 168 168 156 195 195 156 195 195 162 203 203 162 203 203 162 203 203 162 203 203 165 207 207 163 204 204 163 204 204 161 202 202 161 202 202 156 195 195 156 195 195 158 197 197 157 197 197 161 201 201 160 201 201 160 201 201 162 202 202 162 202 202 163 204 204 163 204 204 163 163 204 163 163 204 163 163 203 161 161 201 161 161 201 149 149 186 149 149 186 104 104 131 104 104 131 81 81 102 81 81 102 99 99 124 99 99 124 84 84 105 122 122 152 122 122 152 141 141 176 141 141 176 150 150 188 150 150 188 144 144 180 143 143 179 151 151 189 148 148 185 148 148 185 151 151 189 151 151 188 133 133 166 133 133 166 147 147 184 147 147 184 81 81 101 110 110 137 110 110 137 117 117 147 117 117 147 124 124 155 123 123 154 98 98 122 98 98 122 93 93 116 93 93 116 146 146 183 148 148 185 148 148 185 103 103 129 103 103 129 133 133 166 133 133 166 123 123 154 123 123 154 143 143 179 148 148 185 147 147 184 96 96 120 96 96 120 63 63 79 63 63 79 35 35 44 35 35 44 101 101 127 67 67 84 67 67 84 33 33 42 33 33 42 33 33 42 33 33 42 74 74 93 74 74 93 123 123 154 123 123 154 124 124 155 142 142 178 142 142 178 134 134 168 134 134 168 131 131 164 131 131 163 139 139 174 139 139 174 106 106 133 140 140 176 140 140 175 126 126 158 126 126 158 95 95 119 95 95 118 111 111 139 111 111 139 87 87 109 118 118 147 118 118 147 137 137 171 136 136 171 142 142 178 142 142 177 142 142 177 141 141 177 144 144 180 144 144 180 142 142 178 140 140 176 140 140 175 136 136 170 135 135 169 137 137 171 136 136 171 228 184 174 255 237 174 255 235 173 255 204 175 255 217 175 255 223 176 255 215 176 255 253 176 255 255 175 255 255 175 255 255 175 255 255 173 255 240 160 255 255 160 176 166 112 151 150 112 123 120 87 153 139 87 121 76 0 118 73 0 96 60 0 145 90 0 107 66 0 110 68 0 172 107 0 182 113 0 98 61 0 78 48 0 130 81 0 139 87 0 168 105 0 174 109 0 184 115 0 189 118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 115 144 144 88 110 110 88 110 110 116 145 145 105 131 131 104 131 131 78 98 98 78 98 98 92 115 115 91 114 114 72 90 90 72 90 90 97 122 122 113 141 141 113 141 141 117 147 147 117 147 147 117 146 146 117 146 146 119 149 149 119 149 149 117 147 147 116 145 145 116 145 145 112 140 140 112 140 140 113 141 141 113 141 141 115 144 144 115 144 144 115 144 144 115 143 143 116 145 145 117 146 146 116 146 146 116 116 145 116 116 145 116 116 145 116 116 145 114 114 143 114 114 143 106 106 132 74 74 93 74 74 93 58 58 72 58 58 72 70 70 88 70 70 88 60 60 75 60 60 75 86 86 108 100 100 125 100 100 125 106 106 133 106 106 133 102 102 127 101 101 127 107 107 134 107 107 134 104 104 131 104 104 131 106 106 133 94 94 117 94 94 117 104 104 130 104 104 130 57 57 72 57 57 72 77 77 97 77 77 97 83 83 104
+151 189 189 134 167 167 134 167 167 113 142 142 113 142 142 145 182 182 145 182 182 160 201 201 160 200 200 160 200 200 158 198 198 158 198 198 87 109 109 87 109 109 72 90 90 72 90 90 89 111 111 89 111 111 120 151 151 122 153 153 122 152 152 120 150 150 120 150 150 150 188 188 150 187 187 161 202 202 161 202 202 158 197 197 158 197 197 158 197 197 161 201 201 161 201 201 159 199 199 159 198 198 160 160 200 160 160 200 142 142 177 142 142 177 74 74 92 74 74 92 57 57 72 57 57 72 54 54 67 123 123 154 123 123 153 155 155 194 155 155 194 144 144 180 143 143 179 143 143 179 143 143 179 156 156 195 156 156 195 154 154 193 143 143 178 142 142 178 157 157 196 157 157 196 137 137 171 137 137 171 130 130 163 130 130 163 145 145 181 144 144 181 106 106 132 138 138 172 138 138 172 76 76 96 76 76 96 91 91 113 91 91 113 111 111 139 111 111 139 113 113 141 112 112 141 115 115 144 82 82 103 82 82 103 148 148 185 148 148 185 142 142 177 141 141 177 146 146 183 146 146 182 128 128 161 128 128 160 153 153 192 151 151 189 151 151 189 153 153 191 152 152 191 144 144 181 144 144 180 100 100 126 100 100 126 65 65 81 64 64 81 100 100 125 100 100 125 118 118 148 80 80 100 79 79 99 127 127 159 127 127 159 145 145 181 145 145 181 145 145 181 144 144 181 129 129 161 129 129 161 142 142 178 98 98 123 98 98 122 143 143 179 143 143 179 134 134 167 133 133 167 118 118 148 118 118 148 100 100 125 100 100 125 128 128 160 141 141 177 141 141 176 141 141 176 141 141 176 139 139 174 139 139 173 76 76 96 76 76 95 63 63 79 63 63 79 77 77 97 105 105 131 105 105 131 106 106 133 106 106 133 104 104 131 117 111 130 139 135 163 255 221 163 255 204 175 255 233 175 216 176 171 255 203 171 255 228 170 255 231 174 255 235 173 202 169 171 199 168 171 255 249 172 255 255 172 255 242 152 255 253 152 143 129 79 140 127 79 115 102 61 95 88 58 92 87 58 212 198 131 252 223 131 255 255 166 255 255 166 230 220 153 255 255 153 255 241 153 242 227 152 186 116 0 184 115 0 96 60 0 134 84 0 172 107 0 187 117 0 191 119 0 164 102 0 168 105 0 161 101 0 158 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 117 147 147 81 101 101 81 101 101 118 148 148 118 148 148 110 138 138 110 138 138 97 122 122 97 122 122 82 103 103 106 132 132 106 132 132 116 146 146 116 145 145 116 145 145 116 145 145 114 143 143 114 143 143 63 79 79 63 79 79 52 65 65 64 80 80 64 80 80 87 108 108 86 108 108 88 110 110 87 109 109 86 108 108 86 108 108 107 134 134 107 134 134 115 144 144 113 141 141 113 141 141 113 141 141 112 141 141 115 143 143 114 143 143 113 141 141 113 141 141 114 114 143 114 114 142 101 101 126 101 101 126 52 52 65 41 41 51 40 40 51 38 38 48 38 38 48 87 87 109 87 87 109 110 110 137 110 110 137 101 101 127 101 101 127 101 101 127 110 110 138 110 110 138 109 109 136 109 109 136 101 101 126 100 100 126 111 111 138 110 110 138 97 97 121 96 96 121 92 92 115 102 102 127 102 102 127 74 74 93 74 74 93 97 97 121 97 97 121 54 54 67
+158 198 198 105 131 131 105 131 131 159 199 199 159 199 199 164 205 205 162 203 203 162 203 203 160 201 201 160 201 201 155 194 194 155 194 194 116 145 145 116 145 145 86 107 107 85 107 107 119 149 149 119 149 149 151 189 189 119 149 149 119 149 149 152 190 190 152 190 190 154 192 192 153 192 192 153 192 192 153 192 192 161 202 202 161 202 202 161 202 202 161 201 201 163 203 203 147 147 184 147 147 184 86 86 107 86 86 107 89 89 111 89 89 111 66 66 82 66 66 82 89 89 111 89 89 111 154 154 193 154 154 193 138 138 172 138 138 172 157 157 196 149 149 186 149 149 186 150 150 188 150 150 188 155 155 193 155 155 193 153 153 191 153 153 191 156 156 195 156 156 195 144 144 180 144 144 180 106 106 133 147 147 184 147 147 183 116 116 145 116 116 145 143 143 179 143 143 179 72 72 90 72 72 90 91 91 114 91 91 114 70 70 88 70 70 87 65 65 81 65 65 81 127 127 159 106 106 133 106 106 133 128 128 160 128 128 160 152 152 190 151 151 189 142 142 177 142 142 177 149 149 187 149 149 187 151 151 188 150 150 188 141 141 176 150 150 188 150 150 187 148 148 185 148 148 185 137 137 171 137 137 171 139 139 174 139 139 174 122 122 153 122 122 152 92 92 116 92 92 115 69 69 86 69 69 86 141 141 176 142 142 178 142 142 178 150 150 187 149 149 187 149 149 187 149 149 186 131 131 163 130 130 163 91 91 113 91 91 113 146 146 183 146 146 183 146 146 183 140 140 175 140 140 175 93 93 116 93 93 116 141 141 176 140 140 175 145 145 181 144 144 181 143 143 178 142 142 178 141 141 176 141 141 176 136 136 170 102 102 127 101 101 127 75 75 94 75 75 93 243 173 130 150 127 130 153 142 164 255 222 164 244 174 129 199 151 129 255 216 165 255 218 165 255 218 167 255 220 166 255 212 166 255 207 175 255 232 174 255 234 174 255 229 174 252 196 175 255 203 175 255 246 159 255 252 158 157 145 92 163 148 92 167 152 95 173 156 95 135 119 70 175 157 95 142 136 95 218 219 165 255 255 165 255 249 147 255 238 147 255 247 168 255 255 167 255 243 158 255 255 158 255 240 159 238 228 159 255 255 164 255 255 164 255 255 162 255 255 165 193 121 0 176 110 0 179 112 0 133 83 0 131 82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 117 147 147 123 154 154 123 154 154 123 154 154 108 135 135 108 135 135 75 94 94 75 93 93 121 151 151 121 151 151 120 151 151 120 150 150 115 144 144 115 144 144 76 96 96 76 95 95 116 145 145 115 144 144 119 149 149 117 147 147 117 147 147 116 145 145 116 145 145 112 140 140 112 140 140 84 105 105 83 104 104 61 77 77 61 77 77 85 107 107 85 107 107 108 135 135 85 106 106 85 106 106 109 136 136 109 136 136 110 137 137 110 137 137 109 137 137 109 137 137 115 144 144 115 144 144 115 143 143 115 143 143 116 145 145 105 105 131 105 105 131 61 61 76 61 61 76 63 63 79 63 63 79 46 46 58 46 46 58 63 63 78 63 63 78 109 109 136 109 109 136 97 97 122 97 97 121 111 111 139 105 105 131 105 105 131 106 106 132 106 106 132 109 109 136 109 109 136 107 107 134 107 107 134 109 109 137 109 109 137 101 101 127 101 101 126 75 75 94 103 103 129 103 103 129 81 81 102 81 81 102 100 100 126
+95 119 119 165 206 206 160 200 200 160 200 200 165 206 206 164 206 206 164 206 206 164 205 205 166 207 207 166 207 207 161 201 201 160 201 201 115 143 143 115 143 143 94 118 118 94 118 118 72 90 90 72 90 90 62 77 77 58 73 73 58 73 73 109 136 136 109 136 136 135 169 169 135 169 169 157 196 196 157 196 196 157 196 196 157 196 196 156 196 196 156 196 196 83 83 104 83 83 104 88 88 110 88 88 110 83 83 103 82 82 103 134 134 167 79 79 99 79 79 99 129 129 161 128 128 161 155 155 193 155 155 193 158 158 197 158 158 197 151 151 189 151 151 188 139 139 174 139 139 174 157 157 196 157 157 196 158 158 198 158 158 198 153 153 191 136 136 171 136 136 171 144 144 181 144 144 180 123 123 154 123 123 154 106 106 133 106 106 133 132 132 165 132 132 165 109 109 137 109 109 137 86 86 108 86 86 108 94 94 118 94 94 118 62 62 78 70 70 88 70 70 87 121 121 151 121 121 151 140 140 175 140 140 175 128 128 161 128 128 160 153 153 192 153 153 192 125 125 156 124 124 156 132 132 165 132 132 165 129 129 161 128 128 161 144 144 180 138 138 172 137 137 172 150 150 187 150 150 187 143 143 179 143 143 179 113 113 142 113 113 141 107 107 133 107 107 133 108 108 135 108 108 135 108 108 135 107 107 134 147 147 184 147 147 184 150 150 188 150 150 187 150 150 187 145 145 181 145 145 181 138 138 173 138 138 173 144 144 180 144 144 180 144 144 180 143 143 179 105 105 132 105 105 132 84 84 105 84 84 105 145 145 182 145 145 182 140 140 176 140 140 175 145 145 181 144 144 181 144 144 180 145 145 182 145 145 182 255 233 176 255 236 175 237 169 125 237 169 125 194 138 103 171 127 103 143 103 79 146 104 78 101 78 67 122 88 67 115 83 63 117 84 63 221 158 118 255 192 147 253 185 146 255 211 170 255 218 170 255 220 169 242 189 169 210 172 169 255 208 168 161 145 89 154 141 89 173 155 94 179 159 94 163 146 89 169 150 88 222 211 143 184 187 143 131 124 84 193 189 137 226 210 137 255 255 165 255 255 165 255 255 168 255 255 168 255 244 161 255 255 160 229 217 148 231 218 148 255 255 166 255 255 166 255 255 168 255 255 167 255 255 162 255 255 162 255 245 144 255 255 152 255 255 152 104 130 130 103 129 129 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 111 111 89 111 111 89 111 111 122 152 152 121 152 152 124 155 155 123 154 154 123 154 154 123 154 154 119 149 149 114 142 142 114 142 142 119 148 148 118 148 148 118 148 148 118 148 148 87 108 108 87 108 108 69 86 86 69 86 86 120 150 150 119 149 149 115 144 144 115 144 144 119 149 149 119 148 148 118 148 148 119 149 149 119 149 149 115 144 144 115 144 144 82 103 103 82 103 103 67 84 84 67 84 84 51 64 64 51 64 64 44 55 55 44 55 55 42 52 52 42 52 52 77 97 97 77 97 97 96 120 120 112 140 140 111 139 139 111 139 139 111 139 139 111 139 139 111 139 139 59 59 73 59 59 73 62 62 78 62 62 78 58 58 73 58 58 73 95 95 118 94 94 118 56 56 70 56 56 70 90 90 113 90 90 113 109 109 136 111 111 139 111 111 139 106 106 133 106 106 133 98 98 122 98 98 122 110 110 138 110 110 138 111 111 139 111 111 139 107 107 134 107 107 134 96 96 120 95 95 119 101 101 126 101 101 126 86 86 108 75 75 93
+167 209 209 167 209 209 169 211 211 168 211 211 156 196 196 156 195 195 156 195 195 156 195 195 153 191 191 152 191 191 144 180 180 144 180 180 118 148 148 118 148 148 50 63 63 50 63 63 77 97 97 77 97 97 94 118 118 94 118 118 106 132 132 159 199 199 159 199 199 127 159 159 127 159 159 152 190 190 152 190 190 157 196 196 157 196 196 122 122 152 122 122 152 110 110 137 110 110 137 131 131 164 131 131 164 159 159 199 159 159 199 151 151 189 151 151 188 106 106 132 106 106 132 140 140 175 140 140 175 145 145 181 145 145 181 148 148 185 140 140 175 139 139 174 157 157 197 157 157 197 159 159 199 159 159 198 149 149 186 148 148 186 140 140 175 140 140 175 153 153 191 153 153 191 133 133 166 133 133 166 126 126 158 126 126 158 139 139 174 139 139 174 152 152 190 151 151 189 142 142 177 141 141 177 90 90 112 90 90 112 90 90 112 62 62 78 62 62 78 100 100 126 100 100 126 123 123 153 123 123 153 130 130 163 130 130 163 113 113 141 112 112 141 147 147 184 147 147 184 145 145 182 145 145 181 134 134 167 134 134 167 137 137 171 137 137 171 132 132 165 131 131 164 144 144 180 151 151 189 151 151 189 103 103 128 103 103 128 73 73 91 73 73 91 143 143 178 142 142 178 80 80 100 80 80 100 126 126 158 126 126 158 151 151 188 150 150 188 149 149 186 149 149 186 148 148 186 148 148 185 146 146 183 146 146 183 140 140 175 140 140 175 127 127 159 100 100 125 100 100 125 113 113 142 113 113 141 140 140 175 140 140 175 147 147 184 147 147 184 148 148 185 255 240 185 255 230 172 255 230 171 255 230 171 255 230 171 255 255 255 255 255 255 255 210 157 255 202 157 230 167 129 221 162 129 101 72 55 82 63 55 142 105 84 173 127 102 191 136 102 216 154 115 208 150 115 255 221 173 255 211 172 212 161 138 237 173 137 255 194 164 241 186 164 214 175 169 255 212 169 225 206 131 247 220 131 219 196 118 226 200 118 255 238 141 255 239 141 183 200 171 203 212 170 255 241 161 168 185 161 154 153 113 196 179 113 255 251 149 255 254 155 255 255 154 255 255 158 255 255 157 221 212 148 255 240 148 255 255 167 255 255 167 255 255 168 255 255 168 255 255 157 255 255 157 255 255 148 255 253 148 255 255 161 129 161 161 112 140 140 112 140 140 106 133 133 106 133 133 117 146 146 116 146 146 127 159 159 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 106 106 85 106 106 60 75 75 60 75 75 117 147 147 117 147 147 66 83 83 66 82 82 104 130 130 104 130 130 124 155 155 124 155 155 122 153 153 122 153 153 122 152 152 122 152 152 120 150 150 115 144 144 115 144 144 105 131 131 104 131 131 82 102 102 82 102 102 93 116 116 93 116 116 115 144 144 115 143 143 121 151 151 120 151 151 121 152 152 121 152 152 112 141 141 112 140 140 112 140 140 112 140 140 109 137 137 109 137 137 103 129 129 103 129 129 84 106 106 36 45 45 36 45 45 55 69 69 55 69 69 67 84 84 67 84 84 75 94 94 75 94 94 113 142 142 113 141 141 90 113 113 90 113 113 108 135 135 108 135 135 111 139 139 111 139 139 86 86 107 86 86 107 77 77 97 77 77 97 92 92 116 92 92 116 112 112 140 112 112 140 106 106 133 74 74 93 74 74 93 99 99 123 98 98 123 102 102 127 102 102 127 104 104 130 104 104 130 98 98 122 98 98 122 110 110 138 110 110 138 111 111 139 111 111 139 104 104 130 104 104 130 98 98 123 98 98 122 107 107 134 107 107 133
+167 209 209 167 209 209 143 179 179 143 179 179 153 192 192 153 191 191 160 200 200 160 200 200 137 172 172 137 172 172 146 182 182 146 182 182 105 131 131 105 131 131 59 74 74 59 74 74 148 186 186 148 186 186 157 196 196 157 196 196 158 198 198 158 198 198 143 179 179 143 178 178 148 185 185 147 184 184 151 189 189 159 159 199 159 159 199 160 160 201 160 160 200 153 153 192 153 153 192 152 152 190 151 151 189 153 153 191 153 153 191 154 154 193 154 154 193 104 104 130 104 104 130 132 132 165 132 132 165 139 139 173 138 138 173 132 132 165 132 132 165 148 148 185 148 148 185 153 153 191 152 152 191 157 157 197 157 157 197 157 157 196 157 157 196 148 148 186 148 148 186 133 133 167 133 133 167 110 110 138 110 110 138 122 122 152 152 152 190 152 152 190 155 155 194 155 155 194 147 147 184 147 147 183 67 67 84 67 67 84 96 96 120 96 96 120 51 51 64 51 51 64 99 99 124 99 99 124 131 131 164 131 131 163 122 122 153 122 122 153 130 130 163 130 130 163 104 104 131 104 104 131 125 125 156 125 125 156 113 113 142 113 113 142 108 108 136 108 108 135 133 133 167 133 133 167 130 130 162 130 130 162 111 111 139 111 111 138 125 125 156 149 149 187 149 149 187 99 99 124 99 99 124 58 58 73 58 58 73 142 142 178 142 142 177 148 148 185 148 148 185 144 144 180 144 144 180 147 147 184 147 147 184 134 134 168 134 134 168 84 84 105 83 83 104 92 92 116 92 92 115 124 124 155 124 124 155 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 198 150 255 211 159 255 208 159 208 149 114 172 132 114 112 82 64 114 83 64 255 210 161 255 215 161 255 228 170 255 225 170 255 218 171 255 224 171 248 186 154 255 200 154 208 168 159 253 190 159 255 195 162 255 197 162 237 234 171 255 255 171 238 235 172 255 255 172 255 255 164 248 237 164 206 210 162 252 238 162 213 215 163 185 197 163 179 194 165 255 255 164 198 179 111 211 187 111 255 239 141 255 234 140 255 237 147 255 234 140 255 230 140 255 255 157 255 255 157 255 255 162 255 255 161 255 255 166 255 255 166 255 255 166 255 255 165 255 255 157 255 255 156 112 141 141 112 140 140 93 116 116 93 116 116 102 128 128 102 127 127 128 160 160 127 159 159 130 162 162 130 162 162 123 153 153 122 153 153 56 70 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 112 112 110 138 138 110 138 138 107 134 134 107 134 134 91 114 114 91 114 114 103 128 128 102 128 128 123 154 154 123 153 153 81 102 102 81 102 102 48 60 60 48 60 60 116 146 146 116 146 146 121 152 152 121 151 151 118 148 148 118 148 148 120 151 151 120 150 150 110 138 138 110 137 137 68 86 86 76 95 95 76 95 95 102 127 127 101 127 127 119 148 148 119 148 148 120 150 150 119 149 149 120 151 151 120 150 150 103 129 129 103 128 128 110 137 137 110 137 137 114 143 143 114 143 143 98 123 123 98 123 123 104 130 130 104 130 130 75 93 93 75 93 93 42 52 52 42 52 52 106 132 132 105 132 132 111 139 139 111 139 139 112 140 140 112 140 140 101 126 126 101 126 126 104 130 130 104 130 130 106 133 133 112 112 140 112 112 140 113 113 141 113 113 141 108 108 135 108 108 135 107 107 133 106 106 133 107 107 134 107 107 134 108 108 135 108 108 135 73 73 91 73 73 91 93 93 116 92 92 116 97 97 121 97 97 121 92 92 115 92 92 115 103 103 129 103 103 129 107 107 133 106 106 133 110 110 137 110 110 137 109 109 137 109 109 137
+162 203 203 162 203 203 166 207 207 166 207 207 164 205 205 164 205 205 165 207 207 165 206 206 138 172 172 138 172 172 114 142 142 114 142 142 90 112 112 90 112 112 125 157 157 125 156 156 156 195 195 155 194 194 138 173 173 138 173 173 131 164 164 131 164 164 140 175 175 140 175 175 160 200 200 160 200 200 163 163 204 163 163 203 147 147 184 147 147 184 149 149 186 149 149 186 147 147 184 147 147 184 138 138 173 138 138 173 151 151 189 151 151 189 158 158 197 158 158 197 104 104 130 104 104 130 152 152 190 152 152 190 150 150 188 150 150 188 115 115 144 115 115 144 153 153 191 143 143 179 143 143 179 148 148 185 148 148 185 152 152 191 152 152 190 139 139 174 139 139 174 126 126 157 125 125 157 112 112 140 112 112 140 154 154 193 154 154 193 151 151 189 151 151 188 157 157 196 157 157 196 129 129 162 129 129 161 53 53 66 53 53 66 119 119 149 119 119 149 70 70 88 70 70 88 97 97 122 97 97 122 149 149 186 148 148 186 153 153 191 153 153 191 141 141 177 141 141 177 76 76 95 76 76 95 147 147 184 147 147 184 147 147 184 147 147 183 121 121 152 121 121 151 91 91 114 91 91 114 136 136 170 136 136 170 150 150 188 150 150 187 151 151 189 151 151 189 140 140 175 140 140 175 34 34 42 34 34 42 122 122 153 122 122 153 148 148 185 148 148 185 151 151 189 151 151 188 143 143 178 143 143 178 138 138 172 138 138 172 119 119 149 119 119 149 65 65 82 117 117 146 117 117 146 147 147 184 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 216 180 229 175 150 251 185 150 210 154 124 205 152 124 180 129 98 182 130 97 248 178 136 247 178 136 255 223 169 255 225 168 255 194 150 255 187 150 219 166 142 250 182 142 202 161 151 247 184 150 255 209 172 215 176 172 255 255 175 255 255 175 255 254 158 255 247 158 255 255 160 196 202 159 156 176 157 230 222 157 243 226 148 243 226 148 163 182 162 224 220 161 255 255 168 255 255 168 211 187 111 194 177 111 255 255 162 255 255 161 255 255 159 255 255 159 239 210 122 239 210 122 255 255 162 255 255 162 255 255 151 255 255 151 255 255 156 255 255 155 255 255 160 128 160 160 117 146 146 116 146 146 105 132 132 105 131 131 94 118 118 129 162 162 129 161 161 126 158 158 126 158 158 131 164 164 131 164 164 108 135 135 108 135 135 44 55 55 44 55 55 99 124 124 99 124 124 58 73 73 58 73 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 78 78 122 152 152 121 152 152 121 152 152 121 151 151 100 125 125 100 125 125 75 94 94 75 94 94 112 140 140 112 140 140 123 154 154 123 154 154 124 155 155 124 155 155 115 144 144 115 143 143 28 35 35 28 35 35 100 125 125 100 125 125 121 152 152 121 152 152 124 155 155 123 154 154 117 146 146 117 146 146 113 141 141 112 141 141 97 122 122 97 122 122 53 67 67 53 67 67 95 119 119 95 119 119 120 150 150 120 150 150 118 148 148 118 148 148 118 148 148 118 147 147 116 146 146 116 145 145 118 148 148 117 146 146 117 146 146 118 148 148 118 147 147 98 123 123 98 123 123 81 101 101 81 101 101 64 80 80 64 80 80 89 111 111 89 111 111 110 138 138 110 138 138 98 122 122 98 122 122 93 116 116 93 116 116 99 123 123 98 123 123 113 141 141 112 141 141 115 115 143 114 114 143 104 104 130 103 103 129 104 104 131 104 104 131 103 103 129 103 103 129 97 97 121 97 97 121 106 106 133 106 106 132 110 110 138 110 110 138 73 73 91 73 73 91 106 106 133 106 106 133 105 105 131 105 105 131 80 80 101 80 80 100 107 107 133 106 106 133 99 99 124 99 99 124
+206 206 206 205 205 205 212 212 212 212 212 212 211 211 211 211 211 211 209 209 209 209 209 209 204 204 204 204 204 204 204 204 204 204 204 204 198 198 198 197 197 197 197 197 197 197 197 197 186 186 186 186 186 186 184 184 184 184 184 184 192 192 192 192 192 192 202 202 202 202 202 202 208 167 208 208 167 208 202 161 202 202 161 202 204 163 204 203 163 203 201 161 201 201 161 201 201 161 201 201 160 201 207 165 207 207 165 207 198 158 198 198 158 198 198 158 198 198 158 198 197 158 197 197 158 197 201 161 201 201 161 201 197 157 197 197 157 197 190 152 190 190 152 190 200 160 200 200 160 200 202 161 202 202 161 202 197 158 197 197 158 197 197 157 197 197 157 197 199 159 199 198 159 198 196 157 196 196 157 196 202 161 202 202 161 202 199 159 199 199 159 199 195 156 195 195 156 195 197 157 197 196 157 196 194 155 194 194 155 194 184 147 184 183 147 183 169 135 169 169 135 169 151 120 151 150 120 150 152 122 152 152 122 152 116 93 116 116 92 116 132 105 132 131 105 131 135 108 135 135 108 135 147 117 147 147 117 147 180 144 180 180 144 180 186 149 186 186 148 186 181 145 181 181 145 181 189 151 189 189 151 189 188 151 188 188 150 188 180 144 180 180 144 180 187 150 187 187 150 187 187 149 187 187 149 187 188 151 188 188 150 188 184 147 184 184 147 184 180 144 180 179 143 179 173 139 173 173 138 173 183 146 183 182 146 182 186 149 186 186 148 186 183 147 183 183 146 183 183 146 183 183 146 183 181 144 181 180 144 180 255 248 254 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 242 249 255 255 255 255 255 255 255 255 255 255 255 255 255 198 185 255 199 182 255 196 182 255 182 178 255 195 178 255 224 178 255 236 177 255 223 172 255 228 171 255 227 171 255 229 171 255 205 161 255 206 161 255 203 159 255 184 159 255 171 166 255 201 165 255 216 174 255 197 174 255 255 179 255 248 179 255 253 173 255 255 173 255 255 174 196 185 174 248 210 172 255 249 172 255 229 172 255 246 171 255 224 176 255 233 176 255 255 169 255 255 168 255 255 168 255 255 168 255 255 168 255 255 167 255 255 170 255 255 170 255 255 166 255 255 166 255 255 161 255 255 160 255 255 169 255 255 168 255 255 170 255 255 170 255 255 166 166 166 166 165 165 165 165 165 165 167 167 167 166 166 166 164 164 164 164 164 164 169 169 169 169 169 169 167 167 167 166 166 166 163 163 163 162 162 162 164 164 164 163 163 163 161 161 161 161 161 161 153 153 153 152 152 152 140 140 140 140 140 140 125 125 125 125 125 125 126 126 126 126 126 126 96 96 96 96 96 96 109 109 109 108 108 108 112 112 112 111 111 111 121 121 121 121 121 121 148 148 148 148 148 148 153 153 153 153 153 153 149 149 149 149 149 149 155 155 155 155 155 155 155 155 155 154 154 154 148 148 148 147 147 147 154 154 154 153 153 153 153 153 153 153 153 153 154 154 154 154 154 154 151 151 151 150 150 150 147 147 147 147 147 147 142 142 142 141 141 141 149 149 149 149 149 149 152 152 152 152 152 152 150 150 150 149 149 149 149 149 149 149 149 149 147 147 147 147 147 147 148 148 148 148 148 148 148 148 148 148 148 148 147 147 147 147 147 147 147 147 147 147 147 147 151 151 151 151 151 151 151 151 151 150 150 150 149 149 149 148 148 148 145 145 145 145 145 145 145 145 145 145 145 145 140 140 140 140 140 140 139 139 139 139 139 139 132 132 132 131 131 131 130 130 130 129 129 129 135 135 135 135 135 135 142 142 142 142 142 142 146 117 146 146 117 146 142 113 142 141 113 141 143 114 143 142 114 142 141 113 141 141 112 141 140 112 140 140 112 140 144 115 144 144 115 144 138 110 138 138 110 138 138 110 138 138 110 138 137 110 137 137 110 137 140 112 140 140 112 140 137 109 137 137 109 137 132 106 132 132 105 132
+210 210 210 210 210 210 212 212 212 212 212 212 205 205 205 205 205 205 203 203 203 203 203 203 207 207 207 207 207 207 200 200 200 200 200 200 202 202 202 202 202 202 195 195 195 195 195 195 191 191 191 191 191 191 186 186 186 186 186 186 203 203 203 203 203 203 209 167 209 209 167 209 209 167 209 204 163 204 204 163 204 204 163 204 204 163 204 200 160 200 199 159 199 201 161 201 201 161 201 201 161 201 201 161 201 201 160 201 201 160 201 192 153 192 192 153 192 196 157 196 196 156 196 202 161 202 202 161 202 199 159 199 199 159 199 195 156 195 195 156 195 201 160 201 200 160 200 202 162 202 202 162 202 198 158 198 198 158 198 191 153 191 191 153 191 197 158 197 197 157 197 201 161 201 201 160 201 202 162 202 202 162 202 198 158 198 198 158 198 198 158 198 197 158 197 193 154 193 193 154 193 158 126 158 158 126 158 109 87 109 109 87 109 157 126 157 157 126 157 143 114 143 143 114 143 129 103 129 128 103 128 60 48 60 60 48 60 46 36 46 46 36 46 88 70 88 88 70 88 77 62 77 77 62 77 105 84 105 105 84 105 125 100 125 125 100 125 105 84 105 105 84 105 132 106 132 132 105 132 171 137 171 171 137 171 187 149 187 186 149 186 186 149 186 186 149 186 180 144 180 180 144 180 189 151 189 189 151 189 189 151 189 188 151 188 184 147 184 184 147 184 178 142 178 178 142 178 177 142 177 185 148 185 185 148 185 184 147 184 184 147 184 182 146 182 182 145 182 181 145 181 181 145 181 181 145 181 181 144 181 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 238 185 255 194 179 255 196 179 255 175 177 255 173 177 255 218 180 255 231 180 255 224 174 255 228 174 255 234 175 255 235 175 255 222 169 255 223 169 255 208 165 255 216 165 255 190 161 255 191 160 255 226 175 255 196 175 255 255 180 255 255 179 255 255 176 255 255 175 255 255 175 237 206 175 255 254 171 255 224 171 255 215 172 255 233 172 255 255 171 255 220 171 255 228 171 255 255 171 255 255 163 255 255 163 255 255 166 255 255 166 255 250 171 255 255 171 255 255 169 255 255 168 255 255 165 255 255 164 255 255 169 255 255 169 255 255 170 255 255 170 255 255 166 166 166 166 161 161 161 160 160 160 165 165 165 165 165 165 168 168 168 168 168 168 169 169 169 169 169 169 165 165 165 165 165 165 165 165 165 165 165 165 161 161 161 161 161 161 160 160 160 131 131 131 131 131 131 90 90 90 90 90 90 130 130 130 130 130 130 118 118 118 118 118 118 106 106 106 106 106 106 49 49 49 49 49 49 38 38 38 38 38 38 72 72 72 72 72 72 64 64 64 64 64 64 86 86 86 86 86 86 102 102 102 102 102 102 86 86 86 86 86 86 108 108 108 108 108 108 140 140 140 140 140 140 153 153 153 152 152 152 152 152 152 152 152 152 147 147 147 147 147 147 154 154 154 154 154 154 154 154 154 154 154 154 150 150 150 150 150 150 145 145 145 145 145 145 151 151 151 151 151 151 150 150 150 150 150 150 148 148 148 148 148 148 148 148 148 148 148 148 147 147 147 147 147 147 147 147 147 147 147 147 150 150 150 149 149 149 151 151 151 151 151 151 150 150 150 150 150 150 150 150 150 150 150 150 151 151 151 151 151 151 146 146 146 146 146 146 144 144 144 144 144 144 147 147 147 146 146 146 142 142 142 141 141 141 143 143 143 142 142 142 138 138 138 138 138 138 134 134 134 134 134 134 131 131 131 131 131 131 143 143 143 142 142 142 142 142 142 146 117 146 146 117 146 143 114 143 143 114 143 143 114 143 142 114 142 139 111 139 139 111 139 140 112 140 140 112 140 140 112 140 140 112 140 140 112 140 140 112 140 134 107 134 133 107 133 136 109 136 136 109 136 140 112 140 140 112 140 138 111 138 138 110 138
+211 211 211 210 210 210 208 208 208 208 208 208 208 208 208 208 208 208 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 196 196 196 196 196 196 200 200 200 200 200 200 200 200 200 200 200 200 197 197 197 197 197 197 199 199 199 199 199 199 210 168 210 209 167 209 205 164 205 205 164 205 207 165 207 207 165 207 204 163 204 204 163 204 202 162 202 202 161 202 202 161 202 202 161 202 201 161 201 201 161 201 201 161 201 201 161 201 199 159 199 198 159 198 200 160 200 200 160 200 200 160 200 200 160 200 195 156 195 195 156 195 201 161 201 201 161 201 203 162 203 203 162 203 203 162 203 198 159 198 198 158 198 198 158 198 198 158 198 202 161 202 202 161 202 203 163 203 203 163 203 199 159 199 199 159 199 197 157 197 196 157 196 198 158 198 198 158 198 177 142 177 177 142 177 81 65 81 81 65 81 79 63 79 79 63 79 85 68 85 85 68 85 52 42 52 52 42 52 16 12 16 16 12 16 32 25 32 32 25 32 8 6 8 8 6 8 26 20 26 26 20 26 16 12 16 16 12 16 46 36 46 45 36 45 129 103 129 129 103 129 125 100 125 125 100 125 125 100 125 91 73 91 91 72 91 59 47 59 59 47 59 106 85 106 106 85 106 183 146 183 182 146 182 178 143 178 178 142 178 184 147 184 183 147 183 189 151 189 189 151 189 191 152 191 190 152 190 190 152 190 190 152 190 191 153 191 191 153 191 187 150 187 187 149 187 183 146 183 182 146 182 178 143 178 178 142 178 182 145 182 181 145 181 183 146 183 255 255 255 255 255 255 255 255 255 255 255 255 255 239 248 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 222 237 255 255 255 255 230 182 255 189 181 255 183 181 255 206 181 255 199 179 255 213 178 255 216 178 255 227 178 255 223 170 255 219 170 255 231 173 255 224 173 255 219 173 255 208 172 255 204 170 255 211 170 255 216 172 255 192 171 255 255 180 255 252 180 255 255 176 255 255 176 250 214 177 242 209 177 255 254 175 255 218 175 226 199 173 216 194 172 255 255 172 255 226 172 255 215 171 255 255 171 255 255 171 255 255 171 255 255 169 255 255 168 255 255 170 255 255 169 255 255 169 255 255 169 255 255 169 255 255 165 255 255 165 255 255 170 255 255 169 255 255 171 255 255 170 167 167 167 166 166 166 166 166 166 166 166 166 169 169 169 169 169 169 170 170 170 170 170 170 166 166 166 166 166 166 164 164 164 164 164 164 165 165 165 165 165 165 147 147 147 147 147 147 67 67 67 67 67 67 65 65 65 65 65 65 70 70 70 70 70 70 43 43 43 43 43 43 13 13 13 13 13 13 26 26 26 26 26 26 6 6 6 6 6 6 21 21 21 21 21 21 21 21 21 13 13 13 13 13 13 37 37 37 37 37 37 106 106 106 106 106 106 102 102 102 102 102 102 74 74 74 74 74 74 48 48 48 48 48 48 87 87 87 87 87 87 149 149 149 149 149 149 146 146 146 145 145 145 150 150 150 150 150 150 154 154 154 154 154 154 155 155 155 155 155 155 155 155 155 155 155 155 156 156 156 156 156 156 152 152 152 152 152 152 149 149 149 148 148 148 145 145 145 145 145 145 148 148 148 147 147 147 149 149 149 149 149 149 148 148 148 148 148 148 148 148 148 148 148 148 147 147 147 152 152 152 152 152 152 151 151 151 151 151 151 149 149 149 149 149 149 147 147 147 147 147 147 147 147 147 147 147 147 145 145 145 145 145 145 145 145 145 144 144 144 138 138 138 138 138 138 141 141 141 141 141 141 140 140 140 140 140 140 139 139 139 138 138 138 140 140 140 139 139 139 147 117 147 146 117 146 143 115 143 143 114 143 144 115 144 144 115 144 143 114 143 142 114 142 141 112 141 141 112 141 140 112 140 140 112 140 140 112 140 140 112 140 140 112 140 139 111 139 139 111 139 138 110 138 137 110 137 139 111 139 139 111 139
+209 209 209 209 209 209 208 208 208 206 206 206 206 206 206 208 208 208 208 208 208 210 210 210 210 210 210 199 199 199 199 199 199 201 201 201 201 201 201 203 203 203 202 202 202 202 202 202 202 202 202 198 198 198 198 198 198 204 163 204 204 163 204 204 163 204 203 163 203 208 166 208 207 166 207 203 162 203 203 162 203 201 160 201 200 160 200 200 160 200 202 162 202 202 162 202 202 161 202 202 161 202 208 166 208 208 166 208 205 164 205 205 164 205 205 164 205 205 164 205 203 162 203 202 162 202 198 158 198 198 158 198 200 160 200 200 160 200 202 161 202 201 161 201 201 161 201 201 161 201 205 164 205 205 164 205 205 164 205 204 163 204 202 162 202 202 161 202 202 161 202 197 158 197 197 158 197 197 158 197 197 157 197 201 161 201 201 160 201 159 127 159 159 127 159 114 91 114 114 91 114 55 44 55 55 44 55 12 9 12 12 9 12 12 9 12 12 9 12 8 6 8 8 6 8 12 9 12 12 9 12 32 25 32 32 25 32 18 14 18 18 14 18 20 16 20 20 16 20 20 16 20 92 73 92 92 73 92 77 62 77 77 62 77 53 43 53 53 43 53 79 63 79 79 63 79 35 28 35 35 28 35 49 39 49 49 39 49 29 23 29 29 23 29 57 45 57 57 45 57 116 92 116 115 92 115 141 112 141 141 112 141 187 150 187 187 150 187 193 154 193 192 154 192 192 154 192 192 153 192 192 153 192 191 153 191 191 153 191 189 151 189 189 151 189 185 148 185 184 147 184 186 149 186 186 148 186 184 147 184 255 255 255 255 233 244 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 244 253 255 255 255 255 255 255 255 255 255 255 255 255 255 243 182 255 233 180 255 233 180 255 208 181 255 194 181 255 205 181 255 196 182 255 226 182 255 195 172 255 223 172 255 202 174 255 222 173 255 223 175 255 195 175 255 230 174 255 230 174 255 205 170 255 195 170 255 255 175 255 226 175 255 255 175 255 255 174 200 189 178 245 211 177 186 180 174 255 216 173 200 186 171 207 189 171 255 223 172 233 203 172 240 206 172 203 188 172 255 255 171 255 255 176 255 255 176 255 255 174 255 250 174 255 255 173 255 255 173 255 255 171 255 255 171 255 255 167 255 255 167 255 255 168 255 255 168 255 255 169 255 255 169 255 255 169 169 169 169 172 172 172 172 172 172 171 171 171 171 171 171 169 169 169 169 169 169 165 165 165 165 165 165 164 164 164 164 164 164 164 164 164 167 167 167 167 167 167 132 132 132 132 132 132 95 95 95 94 94 94 45 45 45 45 45 45 10 10 10 10 10 10 10 10 10 10 10 10 6 6 6 6 6 6 10 10 10 9 9 9 26 26 26 26 26 26 14 14 14 14 14 14 16 16 16 16 16 16 75 75 75 75 75 75 64 64 64 63 63 63 63 63 63 44 44 44 44 44 44 65 65 65 65 65 65 29 29 29 29 29 29 40 40 40 40 40 40 24 24 24 24 24 24 46 46 46 46 46 46 94 94 94 94 94 94 115 115 115 114 114 114 152 152 152 152 152 152 157 157 157 156 156 156 156 156 156 156 156 156 156 156 156 155 155 155 154 154 154 153 153 153 153 153 153 150 150 150 150 150 150 151 151 151 151 151 151 149 149 149 149 149 149 148 148 148 148 148 148 148 148 148 148 148 148 151 151 151 150 150 150 152 152 152 151 151 151 150 150 150 149 149 149 148 148 148 148 148 148 146 146 146 146 146 146 147 147 147 147 147 147 148 148 148 148 148 148 140 140 140 140 140 140 140 140 140 141 141 141 141 141 141 142 142 142 142 142 142 142 142 142 141 141 141 138 138 138 138 138 138 142 114 142 142 114 142 142 113 142 142 113 142 144 115 144 144 115 144 141 113 141 141 113 141 139 111 139 139 111 139 140 112 140 140 112 140 140 112 140 140 112 140 144 115 144 144 115 144 142 114 142 142 114 142 142 113 142
+207 207 207 207 207 207 207 207 207 206 206 206 206 206 206 210 210 210 210 210 210 206 206 206 206 206 206 201 201 201 201 201 201 199 199 199 199 199 199 201 201 201 201 201 201 192 192 192 192 192 192 204 163 204 204 163 204 204 163 204 204 163 204 204 163 204 204 163 204 204 163 204 203 163 203 203 163 203 203 162 203 203 162 203 207 166 207 207 165 207 203 162 203 202 162 202 206 165 206 206 165 206 208 166 208 208 166 208 208 166 208 208 166 208 208 166 208 207 166 207 207 166 207 205 164 205 205 164 205 205 164 205 204 163 204 206 165 206 206 165 206 200 160 200 200 160 200 203 163 203 203 163 203 203 162 203 203 162 203 201 160 201 200 160 200 198 158 198 198 158 198 198 158 198 198 158 198 197 158 197 201 161 201 201 161 201 150 120 150 149 119 149 100 80 100 100 80 100 47 37 47 47 37 47 38 31 38 38 31 38 42 34 42 42 34 42 18 14 18 18 14 18 12 9 12 12 9 12 36 29 36 36 29 36 22 17 22 22 17 22 22 17 22 44 35 44 44 35 44 74 59 74 74 59 74 80 64 80 80 64 80 86 68 86 85 68 85 91 73 91 91 73 91 133 106 133 133 106 133 77 62 77 77 61 77 41 33 41 41 33 41 35 28 35 35 28 35 35 28 35 21 17 21 21 17 21 110 88 110 109 87 109 162 130 162 162 130 162 189 151 189 189 151 189 193 154 193 192 154 192 192 154 192 192 153 192 192 153 192 191 153 191 189 151 189 189 151 189 191 152 191 190 152 190 184 147 184 184 147 184 255 255 255 255 255 255 255 255 255 255 255 255 255 244 252 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 241 181 255 241 180 255 237 180 255 240 180 255 223 180 255 190 183 255 198 183 255 191 179 255 214 178 255 198 178 255 212 174 255 229 174 255 189 172 255 191 172 255 215 173 255 228 173 255 207 165 255 194 165 255 255 176 255 255 175 255 255 175 255 255 175 202 188 175 204 189 174 189 181 174 188 181 174 198 186 173 232 203 173 255 215 173 255 225 176 236 206 176 211 192 172 255 255 172 255 255 175 255 255 175 255 255 176 255 247 176 255 255 176 255 255 175 255 255 175 255 255 175 255 255 173 255 255 173 255 255 172 255 255 172 255 255 173 255 255 173 255 255 168 167 167 167 167 167 167 170 170 170 170 170 170 170 170 170 169 169 169 167 167 167 167 167 167 165 165 165 165 165 165 165 165 165 164 164 164 167 167 167 167 167 167 124 124 124 124 124 124 83 83 83 83 83 83 39 39 39 38 38 38 32 32 32 32 32 32 32 32 32 35 35 35 35 35 35 15 15 15 15 15 15 10 10 10 10 10 10 29 29 29 29 29 29 18 18 18 18 18 18 36 36 36 36 36 36 61 61 61 60 60 60 65 65 65 65 65 65 70 70 70 70 70 70 70 70 70 75 75 75 74 74 74 108 108 108 108 108 108 63 63 63 63 63 63 33 33 33 33 33 33 28 28 28 28 28 28 17 17 17 17 17 17 89 89 89 89 89 89 132 132 132 132 132 132 154 154 154 153 153 153 156 156 156 156 156 156 156 156 156 156 156 156 155 155 155 155 155 155 155 155 155 153 153 153 153 153 153 154 154 154 154 154 154 149 149 149 149 149 149 149 149 149 148 148 148 148 148 148 148 148 148 151 151 151 151 151 151 152 152 152 152 152 152 150 150 150 150 150 150 149 149 149 146 146 146 146 146 146 146 146 146 146 146 146 145 145 145 145 145 145 148 148 148 148 148 148 145 145 145 144 144 144 141 141 141 141 141 141 139 139 139 139 139 139 140 140 140 140 140 140 134 134 134 134 134 134 143 114 143 142 114 142 142 114 142 142 113 142 142 113 142 142 113 142 141 113 141 141 113 141 141 113 141 141 113 141 141 112 141 143 115 143 143 114 143 140 112 140 140 112 140 143 114 143 142 114 142 144 115 144
+207 207 207 207 207 207 207 207 207 209 209 209 209 209 209 209 209 209 208 208 208 193 193 193 193 193 193 189 189 189 189 189 189 188 188 188 199 199 199 199 199 199 197 197 197 197 197 197 205 164 205 205 164 205 205 164 205 205 164 205 204 163 204 204 163 204 204 163 204 204 163 204 208 166 208 208 166 208 208 166 208 208 166 208 207 166 207 205 164 205 205 164 205 205 164 205 205 164 205 202 162 202 202 162 202 202 162 202 202 161 202 202 161 202 202 161 202 201 161 201 201 161 201 201 161 201 201 161 201 201 160 201 205 164 205 205 164 205 194 155 194 194 155 194 187 150 187 187 150 187 166 133 166 166 133 166 128 103 128 128 103 128 145 116 145 145 116 145 128 102 128 128 102 128 138 110 138 138 110 138 138 110 138 144 115 144 144 115 144 47 37 47 47 37 47 34 27 34 34 27 34 12 9 12 12 9 12 22 18 22 22 17 22 30 24 30 30 24 30 12 9 12 12 9 12 26 21 26 26 21 26 26 21 26 18 14 18 18 14 18 20 16 20 20 16 20 14 11 14 14 11 14 68 54 68 68 54 68 50 40 50 50 40 50 72 57 72 72 57 72 65 52 65 65 52 65 25 20 25 25 20 25 25 20 25 37 30 37 37 30 37 91 72 91 91 72 91 21 17 21 21 17 21 29 23 29 29 23 29 108 86 108 108 86 108 174 139 174 174 139 174 187 150 187 187 150 187 187 149 187 189 151 189 188 151 188 192 154 192 192 153 192 192 153 192 191 153 191 191 153 191 191 152 191 189 151 189 188 151 188 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 193 217 255 255 255 255 255 255 255 255 255 255 255 255 255 251 255 255 255 255 255 247 185 255 241 181 255 241 181 255 241 180 255 239 180 255 228 182 255 239 181 255 208 181 255 208 181 255 200 167 255 189 167 255 211 167 255 204 163 255 196 163 255 223 172 255 211 171 255 224 169 255 225 169 255 255 176 255 255 176 255 255 176 255 255 175 204 190 175 189 182 175 204 189 175 189 182 174 233 203 174 250 214 177 245 211 177 207 192 177 255 221 176 255 233 174 221 198 174 255 255 174 255 255 174 255 255 171 255 243 171 255 255 171 255 255 171 255 255 170 255 255 170 255 255 170 255 255 170 255 255 169 255 255 169 255 255 169 255 255 172 255 255 172 163 163 163 162 162 162 157 157 157 157 157 157 139 139 139 139 139 139 107 107 107 107 107 107 121 121 121 120 120 120 106 106 106 106 106 106 106 106 106 114 114 114 114 114 114 119 119 119 119 119 119 39 39 39 39 39 39 28 28 28 28 28 28 10 10 10 10 10 10 18 18 18 18 18 18 25 25 25 25 25 25 10 10 10 10 10 10 10 10 10 21 21 21 21 21 21 14 14 14 14 14 14 16 16 16 16 16 16 11 11 11 11 11 11 55 55 55 55 55 55 41 41 41 40 40 40 58 58 58 58 58 58 58 58 58 53 53 53 53 53 53 21 21 21 21 21 21 30 30 30 30 30 30 74 74 74 74 74 74 17 17 17 17 17 17 24 24 24 23 23 23 87 87 87 87 87 87 141 141 141 141 141 141 141 141 141 152 152 152 151 151 151 153 153 153 153 153 153 155 155 155 155 155 155 155 155 155 155 155 155 154 154 154 154 154 154 152 152 152 152 152 152 152 152 152 152 152 152 148 148 148 148 148 148 148 148 148 149 149 149 149 149 149 150 150 150 150 150 150 152 152 152 151 151 151 150 150 150 149 149 149 146 146 146 146 146 146 146 146 146 145 145 145 147 147 147 147 147 147 146 146 146 146 146 146 146 146 146 135 135 135 135 135 135 132 132 132 132 132 132 139 139 139 139 139 139 137 137 137 137 137 137 143 114 143 142 114 142 142 114 142 142 114 142 142 113 142 142 113 142 141 113 141 141 113 141 141 113 141 144 115 144 144 115 144 143 115 143 143 115 143 142 113 142 141 113 141 141 113 141
+205 205 205 205 205 205 205 205 205 203 203 203 203 203 203 202 202 202 192 192 192 191 191 191 189 189 189 189 189 189 200 200 200 200 200 200 195 195 195 195 195 195 206 164 206 205 164 205 207 166 207 207 166 207 211 169 211 211 169 211 211 169 211 211 169 211 211 169 211 211 168 211 210 168 210 206 165 206 206 165 206 204 163 204 203 163 203 199 159 199 199 159 199 195 156 195 194 155 194 194 155 194 196 157 196 196 157 196 202 162 202 202 162 202 202 161 202 202 161 202 199 159 199 199 159 199 197 158 197 197 157 197 180 144 180 180 144 180 180 144 180 194 155 194 194 155 194 198 158 198 198 158 198 135 108 135 135 108 135 89 71 89 89 71 89 93 74 93 93 74 93 74 59 74 74 59 74 128 102 128 128 102 128 128 102 128 63 51 63 63 51 63 76 60 76 76 60 76 16 13 16 16 13 16 12 9 12 12 9 12 12 9 12 12 9 12 12 9 12 12 9 12 12 9 12 36 29 36 36 29 36 32 26 32 32 25 32 36 29 36 36 29 36 30 24 30 30 24 30 12 9 12 12 9 12 22 17 22 22 17 22 34 27 34 34 27 34 34 27 34 32 25 32 32 25 32 31 25 31 31 25 31 89 71 89 89 71 89 91 73 91 91 73 91 5 4 5 5 4 5 3 3 3 3 3 3 3 3 3 11 9 11 11 9 11 118 94 118 117 94 117 188 150 188 188 150 188 193 155 193 193 154 193 193 154 193 192 154 192 188 151 188 188 150 188 188 150 188 188 150 188 187 150 187 185 148 185 185 148 185 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 198 219 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 242 182 255 239 179 255 239 179 255 239 179 255 239 179 255 236 178 255 237 178 255 233 176 255 225 176 255 172 166 255 193 166 255 183 166 255 206 163 255 192 163 255 225 172 255 211 172 255 224 168 255 215 168 255 255 177 255 255 176 255 255 178 215 196 178 204 192 181 206 193 181 201 191 180 226 203 180 225 203 180 200 190 180 210 194 179 255 219 175 239 207 175 190 182 173 202 187 173 250 210 169 255 227 169 255 245 165 255 255 164 255 255 166 255 255 166 255 255 165 255 255 171 255 255 170 255 255 170 255 255 170 255 255 168 255 255 167 255 255 165 255 255 165 151 151 151 150 150 150 163 163 163 162 162 162 165 165 165 165 165 165 165 165 165 112 112 112 112 112 112 74 74 74 74 74 74 77 77 77 77 77 77 61 61 61 61 61 61 106 106 106 106 106 106 53 53 53 52 52 52 52 52 52 62 62 62 62 62 62 13 13 13 13 13 13 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 30 30 30 30 30 30 30 30 30 26 26 26 26 26 26 29 29 29 29 29 29 24 24 24 24 24 24 9 9 9 9 9 9 18 18 18 18 18 18 27 27 27 27 27 27 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 72 72 72 72 72 72 74 74 74 74 74 74 4 4 4 4 4 4 3 3 3 3 3 3 9 9 9 9 9 9 9 9 9 95 95 95 95 95 95 152 152 152 152 152 152 156 156 156 156 156 156 156 156 156 155 155 155 152 152 152 152 152 152 152 152 152 151 151 151 150 150 150 149 149 149 149 149 149 149 149 149 149 149 149 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 147 147 147 149 149 149 148 148 148 147 147 147 146 146 146 146 146 146 145 145 145 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 142 142 142 142 142 142 134 134 134 134 134 134 132 132 132 132 132 132 132 132 132 139 139 139 139 139 139 136 136 136 135 135 135 143 114 143 142 114 142 144 115 144 144 115 144 146 117 146 146 117 146 146 117 146 146 117 146 146 116 146 145 116 145 145 116 145 142 114 142 142 113 142 140 112 140
+206 206 206 205 205 205 203 203 203 203 203 203 192 192 192 192 192 192 190 190 190 190 190 190 200 200 200 200 200 200 196 196 196 195 195 195 206 165 206 206 165 206 206 165 206 208 166 208 208 166 208 212 169 212 212 169 212 212 169 212 211 169 211 211 169 211 211 169 211 207 165 207 207 165 207 206 165 206 204 163 204 204 163 204 200 160 200 199 159 199 195 156 195 195 156 195 197 157 197 197 157 197 203 162 203 203 162 203 203 162 203 202 162 202 202 162 202 200 160 200 200 160 200 198 158 198 197 158 197 180 144 180 180 144 180 195 156 195 195 156 195 199 159 199 198 159 198 198 159 198 135 108 135 135 108 135 89 71 89 89 71 89 93 74 93 93 74 93 74 59 74 74 59 74 128 102 128 128 102 128 128 102 128 64 51 64 64 51 64 76 61 76 76 61 76 16 13 16 16 13 16 12 9 12 12 9 12 12 9 12 12 9 12 12 9 12 12 9 12 12 9 12 36 29 36 36 29 36 32 26 32 32 26 32 36 29 36 36 29 36 30 24 30 30 24 30 12 9 12 12 9 12 12 9 12 22 17 22 22 17 22 34 27 34 34 27 34 32 25 32 32 25 32 32 25 32 32 25 32 90 72 90 89 71 89 91 73 91 91 73 91 91 73 91 5 4 5 5 4 5 3 3 3 3 3 3 11 9 11 11 9 11 118 94 118 118 94 118 189 151 189 188 151 188 188 150 188 194 155 194 193 155 193 193 154 193 193 154 193 189 151 189 189 151 189 188 151 188 188 150 188 186 149 186 186 148 186 185 148 185 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 242 182 255 240 180 255 239 180 255 239 179 255 239 179 255 238 179 255 239 178 255 236 176 255 236 176 255 217 166 255 208 166 255 207 164 255 189 164 255 175 164 255 222 173 255 227 172 255 225 168 255 207 168 255 255 177 255 255 177 255 255 178 228 203 178 187 184 182 189 185 181 196 189 181 255 226 181 233 207 180 255 222 180 255 228 180 255 255 176 255 255 176 249 211 174 181 177 173 239 204 169 255 255 169 255 229 165 245 205 165 255 255 165 255 255 166 255 255 166 255 255 171 255 255 171 255 255 170 255 255 170 255 255 168 255 255 168 255 255 166 255 255 166 255 255 165 151 151 151 151 151 151 163 163 163 162 162 162 166 166 166 165 165 165 113 113 113 113 113 113 74 74 74 74 74 74 77 77 77 77 77 77 77 77 77 62 62 62 61 61 61 106 106 106 106 106 106 53 53 53 52 52 52 63 63 63 63 63 63 13 13 13 13 13 13 13 13 13 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 30 30 30 30 30 30 26 26 26 26 26 26 29 29 29 29 29 29 29 29 29 24 24 24 24 24 24 9 9 9 9 9 9 18 18 18 18 18 18 27 27 27 27 27 27 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 73 73 73 72 72 72 74 74 74 74 74 74 4 4 4 4 4 4 3 3 3 3 3 3 9 9 9 9 9 9 9 9 9 95 95 95 95 95 95 152 152 152 152 152 152 156 156 156 156 156 156 156 156 156 156 156 156 152 152 152 152 152 152 152 152 152 152 152 152 151 151 151 150 150 150 149 149 149 149 149 149 149 149 149 149 149 149 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 147 147 147 149 149 149 148 148 148 147 147 147 147 147 147 145 145 145 145 145 145 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 142 142 142 142 142 142 134 134 134 134 134 134 132 132 132 132 132 132 139 139 139 139 139 139 136 136 136 136 136 136 135 135 135 143 114 143 143 114 143 144 115 144 144 115 144 146 117 146 146 117 146 146 117 146 146 117 146 146 116 146 145 116 145 142 114 142 142 114 142
+206 206 206 206 206 206 199 199 199 199 199 199 201 201 201 201 201 201 203 203 203 203 203 203 203 203 203 203 203 203 202 202 202 207 165 207 206 165 206 211 168 211 210 168 210 212 170 212 212 170 212 210 168 210 210 168 210 210 168 210 207 166 207 207 166 207 205 164 205 205 164 205 209 167 209 209 167 209 204 163 204 204 163 204 204 163 204 204 163 204 204 163 204 204 163 204 204 163 204 203 163 203 203 162 203 201 161 201 201 161 201 199 159 199 198 159 198 198 158 198 194 155 194 194 155 194 196 156 196 195 156 195 178 143 178 178 143 178 111 89 111 111 89 111 20 16 20 20 16 20 20 16 20 33 26 33 33 26 33 22 18 22 22 18 22 29 23 29 29 23 29 79 63 79 79 63 79 95 76 95 95 76 95 95 76 95 138 111 138 138 110 138 66 52 66 66 52 66 22 18 22 22 18 22 8 6 8 8 6 8 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 8 6 8 8 6 8 18 14 18 18 14 18 42 34 42 42 34 42 42 34 42 14 11 14 14 11 14 20 16 20 20 16 20 32 25 32 32 25 32 54 43 54 54 43 54 46 37 46 46 36 46 46 36 46 110 88 110 110 88 110 82 65 82 81 65 81 61 49 61 61 49 61 11 9 11 11 9 11 1 1 1 1 1 1 1 1 1 13 11 13 13 11 13 61 48 61 61 48 61 169 135 169 169 135 169 192 153 192 192 153 192 187 150 187 187 150 187 187 150 187 189 151 189 188 151 188 184 147 184 184 147 184 186 149 186 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 225 239 255 255 255 255 255 255 255 255 255 255 248 255 255 255 255 255 255 255 255 235 177 255 235 176 255 235 176 255 237 178 255 237 178 255 244 183 255 244 183 255 239 179 255 239 178 255 229 172 255 231 172 255 232 174 255 218 174 247 168 173 255 205 175 255 232 175 255 224 174 255 229 174 255 255 178 255 255 177 255 229 181 185 183 180 182 182 182 207 194 182 199 190 181 217 198 179 255 233 179 255 244 177 255 255 177 255 255 175 255 255 174 255 255 178 255 224 177 191 182 173 255 255 173 255 223 173 255 255 173 255 255 172 255 255 172 255 255 172 255 255 171 255 255 171 255 255 169 255 255 169 255 255 169 255 255 167 255 255 166 255 255 162 255 255 162 164 164 164 163 163 163 149 149 149 149 149 149 92 92 92 92 92 92 92 92 92 17 17 17 17 17 17 27 27 27 27 27 27 19 19 19 19 19 19 24 24 24 24 24 24 65 65 65 65 65 65 65 65 65 78 78 78 78 78 78 114 114 114 114 114 114 54 54 54 54 54 54 18 18 18 18 18 18 6 6 6 6 6 6 6 6 6 1 1 1 1 1 1 1 1 1 1 1 1 6 6 6 6 6 6 15 15 15 14 14 14 34 34 34 34 34 34 34 34 34 11 11 11 11 11 11 16 16 16 16 16 16 26 26 26 26 26 26 44 44 44 44 44 44 44 44 44 37 37 37 37 37 37 89 89 89 89 89 89 66 66 66 66 66 66 50 50 50 49 49 49 9 9 9 9 9 9 9 9 9 1 1 1 1 1 1 11 11 11 11 11 11 49 49 49 49 49 49 136 136 136 136 136 136 155 155 155 154 154 154 154 154 154 151 151 151 150 150 150 152 152 152 152 152 152 148 148 148 148 148 148 149 149 149 149 149 149 150 150 150 150 150 150 150 150 150 148 148 148 148 148 148 146 146 146 146 146 146 150 150 150 150 150 150 145 145 145 145 145 145 142 142 142 142 142 142 142 142 142 143 143 143 143 143 143 147 147 147 147 147 147 144 144 144 143 143 143 139 139 139 138 138 138 138 138 138 140 140 140 139 139 139 141 141 141 141 141 141 140 140 140 140 140 140 143 114 143 143 114 143 146 116 146 145 116 145 145 116 145 146 117 146 146 117 146 145 116 145 144 115 144 143 114 143 143 114 143
+208 208 208 208 208 208 199 199 199 199 199 199 199 199 199 205 205 205 205 205 205 205 205 205 205 205 205 207 166 207 207 165 207 207 165 207 207 165 207 207 165 207 209 167 209 208 167 208 206 165 206 206 165 206 206 165 206 206 165 206 195 156 195 195 156 195 195 156 195 199 159 199 199 159 199 205 164 205 205 164 205 205 164 205 204 163 204 204 163 204 204 163 204 204 163 204 204 163 204 204 163 204 204 163 204 203 163 203 203 162 203 203 162 203 205 164 205 205 164 205 190 152 190 190 152 190 190 152 190 63 50 63 63 50 63 42 33 42 42 33 42 44 35 44 44 35 44 41 33 41 41 33 41 41 33 41 37 30 37 37 30 37 79 63 79 79 63 79 52 41 52 52 41 52 58 46 58 58 46 58 58 46 58 74 59 74 74 59 74 105 84 105 105 84 105 33 26 33 33 26 33 37 29 37 37 29 37 37 29 37 6 4 6 6 4 6 14 11 14 14 11 14 10 8 10 10 8 10 20 16 20 20 16 20 36 29 36 36 29 36 36 29 36 16 13 16 16 13 16 30 24 30 30 24 30 52 42 52 52 42 52 48 38 48 48 38 48 48 38 48 40 32 40 40 32 40 146 117 146 146 117 146 148 118 148 148 118 148 84 67 84 83 67 83 83 67 83 55 44 55 55 44 55 7 6 7 7 6 7 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 29 23 29 29 23 29 151 121 151 151 121 151 190 152 190 190 152 190 193 155 193 193 154 193 193 154 193 193 154 193 192 154 192 188 150 188 255 255 255 255 255 255 255 255 255 255 255 255 255 202 222 245 180 205 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 243 183 255 243 183 255 245 184 255 245 184 255 245 184 255 247 185 255 247 185 255 239 179 255 239 179 255 241 180 255 241 180 255 230 172 255 215 172 219 156 172 255 210 177 255 231 177 255 227 177 255 232 176 255 255 178 255 255 178 195 186 177 199 188 177 199 189 179 191 185 179 193 186 178 255 255 176 255 255 176 255 255 176 255 255 175 255 255 166 255 255 166 255 255 169 255 255 169 218 193 168 235 204 174 255 244 173 255 255 173 255 255 173 255 255 173 255 255 172 255 255 172 255 255 172 255 255 171 255 255 171 255 255 171 255 255 171 255 255 170 255 255 172 255 255 172 159 159 159 159 159 159 158 158 158 52 52 52 52 52 52 35 35 35 35 35 35 36 36 36 36 36 36 34 34 34 34 34 34 31 31 31 31 31 31 31 31 31 65 65 65 65 65 65 43 43 43 43 43 43 48 48 48 48 48 48 61 61 61 61 61 61 61 61 61 86 86 86 86 86 86 27 27 27 27 27 27 30 30 30 30 30 30 5 5 5 5 5 5 5 5 5 11 11 11 11 11 11 8 8 8 8 8 8 16 16 16 16 16 16 29 29 29 29 29 29 29 29 29 13 13 13 13 13 13 24 24 24 24 24 24 42 42 42 42 42 42 39 39 39 39 39 39 32 32 32 32 32 32 32 32 32 118 118 118 118 118 118 120 120 120 119 119 119 67 67 67 67 67 67 45 45 45 45 45 45 44 44 44 6 6 6 6 6 6 0 0 0 0 0 0 3 3 3 3 3 3 23 23 23 23 23 23 23 23 23 121 121 121 121 121 121 153 153 153 152 152 152 155 155 155 155 155 155 155 155 155 155 155 155 154 154 154 151 151 151 151 151 151 149 149 149 149 149 149 147 147 147 147 147 147 143 143 143 143 143 143 148 148 148 147 147 147 147 147 147 145 145 145 145 145 145 147 147 147 146 146 146 148 148 148 147 147 147 149 149 149 149 149 149 148 148 148 144 144 144 143 143 143 145 145 145 145 145 145 138 138 138 138 138 138 142 142 142 142 142 142 142 142 142 142 142 142 142 142 142 143 114 143 143 114 143 143 114 143 142 114 142 144 115 144 144 115 144 143 115 143 142 113 142 142 113 142
+209 209 209 204 204 204 204 204 204 206 206 206 206 206 206 208 208 208 208 208 208 210 168 210 210 168 210 210 168 210 207 166 207 207 166 207 207 166 207 207 165 207 202 162 202 202 162 202 202 162 202 206 165 206 206 165 206 206 165 206 206 165 206 206 165 206 206 164 206 206 164 206 205 164 205 205 164 205 207 166 207 207 166 207 205 164 205 205 164 205 204 163 204 204 163 204 204 163 204 204 163 204 204 163 204 202 161 202 201 161 201 208 166 208 207 166 207 89 71 89 88 71 88 19 15 19 19 15 19 19 15 19 50 40 50 50 40 50 90 72 90 90 72 90 39 31 39 39 31 39 29 23 29 29 23 29 29 23 29 39 31 39 39 31 39 62 50 62 62 50 62 110 88 110 110 88 110 110 88 110 47 38 47 47 38 47 54 43 54 54 43 54 22 18 22 22 18 22 6 4 6 6 4 6 6 4 6 4 3 4 4 3 4 8 6 8 8 6 8 6 4 6 6 4 6 82 65 82 82 65 82 81 65 81 28 22 28 28 22 28 14 11 14 14 11 14 12 9 12 12 9 12 42 34 42 42 34 42 42 34 42 36 29 36 36 29 36 20 16 20 20 16 20 46 37 46 46 37 46 108 86 108 108 86 108 108 86 108 124 99 124 124 99 124 126 100 126 125 100 125 13 11 13 13 11 13 3 3 3 3 3 3 3 3 3 7 6 7 7 6 7 5 4 5 5 4 5 29 23 29 29 23 29 29 23 29 155 124 155 155 124 155 190 152 190 190 152 190 193 154 193 193 154 193 191 153 191 190 152 190 255 255 255 255 255 255 255 255 255 255 255 255 255 202 223 219 166 197 231 173 202 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 241 181 255 246 185 255 245 184 255 248 186 255 247 186 255 247 185 255 242 181 255 242 181 255 242 181 255 241 181 255 236 177 255 224 176 209 155 178 255 197 178 255 233 177 255 234 179 255 237 179 255 255 180 255 255 180 251 215 178 202 190 178 199 188 177 189 183 177 255 228 177 255 255 173 255 255 173 255 255 176 255 255 176 255 255 175 255 255 175 255 255 175 255 255 175 255 255 174 179 177 174 233 203 174 255 236 175 255 255 175 255 255 173 255 255 173 255 255 172 255 255 172 255 255 172 255 255 172 255 255 171 255 255 169 255 255 169 255 255 174 255 255 174 173 173 173 74 74 74 74 74 74 15 15 15 15 15 15 42 42 42 42 42 42 75 75 75 75 75 75 75 75 75 33 33 33 33 33 33 24 24 24 24 24 24 32 32 32 32 32 32 51 51 51 51 51 51 51 51 51 91 91 91 91 91 91 39 39 39 39 39 39 44 44 44 44 44 44 44 44 44 18 18 18 18 18 18 5 5 5 5 5 5 3 3 3 3 3 3 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 66 66 66 66 66 66 23 23 23 23 23 23 11 11 11 11 11 11 11 11 11 9 9 9 9 9 9 34 34 34 34 34 34 29 29 29 29 29 29 16 16 16 16 16 16 16 16 16 37 37 37 37 37 37 87 87 87 87 87 87 100 100 100 100 100 100 101 101 101 101 101 101 101 101 101 11 11 11 11 11 11 3 3 3 3 3 3 6 6 6 6 6 6 6 6 6 4 4 4 4 4 4 23 23 23 23 23 23 124 124 124 124 124 124 152 152 152 152 152 152 152 152 152 155 155 155 155 155 155 153 153 153 152 152 152 152 152 152 152 152 152 149 149 149 148 148 148 148 148 148 147 147 147 146 146 146 145 145 145 144 144 144 135 135 135 135 135 135 145 145 145 145 145 145 145 145 145 148 148 148 148 148 148 149 149 149 149 149 149 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 141 141 141 141 141 141 142 142 142 142 142 142 144 144 144 143 143 143 145 116 145 145 116 145 144 115 144 143 114 143 142 114 142 142 114 142 142 114 142 139 111 139
+209 209 209 204 204 204 204 204 204 204 204 204 208 208 208 208 208 208 210 168 210 210 168 210 208 166 208 208 166 208 208 166 208 207 166 207 207 166 207 207 166 207 207 166 207 211 169 211 211 169 211 211 169 211 211 169 211 211 168 211 213 170 213 213 170 213 212 170 212 212 170 212 206 164 206 206 164 206 210 168 210 210 168 210 209 167 209 211 169 211 211 169 211 203 162 203 202 162 202 202 162 202 202 162 202 202 161 202 191 153 191 191 153 191 36 28 36 36 28 36 38 30 38 38 30 38 82 66 82 82 66 82 82 66 82 44 35 44 44 35 44 92 74 92 92 74 92 63 50 63 63 50 63 63 50 63 88 70 88 88 70 88 67 53 67 67 53 67 39 31 39 39 31 39 102 81 102 102 81 102 102 81 102 72 58 72 72 58 72 43 34 43 43 34 43 14 11 14 14 11 14 14 11 14 84 67 84 84 67 84 16 13 16 16 13 16 18 14 18 18 14 18 34 27 34 34 27 34 34 27 34 71 57 71 71 57 71 26 21 26 26 21 26 36 29 36 36 29 36 36 29 36 63 50 63 63 50 63 46 37 46 46 37 46 28 22 28 28 22 28 28 22 28 18 14 18 18 14 18 28 22 28 28 22 28 46 37 46 46 36 46 66 53 66 66 52 66 66 52 66 42 33 42 41 33 41 25 20 25 25 20 25 39 31 39 39 31 39 39 31 39 11 9 11 11 9 11 7 6 7 7 6 7 43 34 43 43 34 43 190 152 190 190 152 190 190 152 190 194 155 194 193 155 193 193 154 193 193 154 193 191 152 191 255 255 255 255 255 255 255 255 255 255 227 240 220 168 200 224 170 201 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 246 185 255 243 183 255 243 183 255 248 186 255 247 186 255 247 186 255 247 186 255 247 185 255 237 178 255 237 177 255 241 181 255 241 181 255 182 177 229 162 176 255 206 176 255 236 179 255 240 179 255 255 181 255 234 181 188 183 178 230 204 178 197 188 178 236 207 178 255 255 177 255 243 177 255 255 177 255 255 180 255 255 180 255 250 180 255 218 179 249 214 179 255 255 181 255 255 180 255 255 180 195 187 180 255 255 174 255 255 174 255 255 173 255 255 177 255 255 176 255 255 178 255 255 178 255 255 170 255 255 170 255 255 170 255 255 169 255 255 169 255 255 160 255 255 160 30 30 30 30 30 30 31 31 31 31 31 31 31 31 31 68 68 68 68 68 68 36 36 36 36 36 36 77 77 77 76 76 76 52 52 52 52 52 52 52 52 52 72 72 72 72 72 72 55 55 55 55 55 55 32 32 32 32 32 32 32 32 32 84 84 84 84 84 84 59 59 59 59 59 59 35 35 35 35 35 35 11 11 11 11 11 11 11 11 11 69 69 69 69 69 69 13 13 13 13 13 13 15 15 15 15 15 15 15 15 15 28 28 28 28 28 28 58 58 58 58 58 58 21 21 21 21 21 21 21 21 21 29 29 29 29 29 29 51 51 51 51 51 51 37 37 37 37 37 37 22 22 22 22 22 22 22 22 22 14 14 14 14 14 14 22 22 22 22 22 22 37 37 37 37 37 37 37 37 37 53 53 53 53 53 53 33 33 33 33 33 33 20 20 20 20 20 20 31 31 31 31 31 31 31 31 31 9 9 9 9 9 9 6 6 6 6 6 6 34 34 34 34 34 34 34 34 34 152 152 152 152 152 152 155 155 155 155 155 155 155 155 155 154 154 154 152 152 152 152 152 152 152 152 152 147 147 147 147 147 147 150 150 150 150 150 150 146 146 146 146 146 146 146 146 146 144 144 144 144 144 144 148 148 148 148 148 148 146 146 146 146 146 146 149 149 149 149 149 149 149 149 149 148 148 148 148 148 148 142 142 142 142 142 142 145 145 145 144 144 144 144 144 144 141 141 141 141 141 141 144 144 144 143 143 143 145 116 145 145 116 145 143 114 143 143 114 143 143 114 143 142 114 142
+205 205 205 205 205 205 209 209 209 209 209 209 211 169 211 211 168 211 208 167 208 208 167 208 208 166 208 208 166 208 208 166 208 208 166 208 208 166 208 212 169 212 212 169 212 212 169 212 211 169 211 211 169 211 213 171 213 213 170 213 213 170 213 213 170 213 213 170 213 206 165 206 206 165 206 210 168 210 210 168 210 212 169 212 212 169 212 212 169 212 203 162 203 203 162 203 203 162 203 203 162 203 192 153 192 192 153 192 191 153 191 36 28 36 36 28 36 38 30 38 38 30 38 82 66 82 82 66 82 82 66 82 44 35 44 44 35 44 93 74 93 93 74 93 63 50 63 63 50 63 88 70 88 88 70 88 88 70 88 67 53 67 67 53 67 39 31 39 39 31 39 102 82 102 102 82 102 102 82 102 73 58 73 73 58 73 43 35 43 43 35 43 14 11 14 14 11 14 14 11 14 85 68 85 85 68 85 16 13 16 16 13 16 18 14 18 18 14 18 18 14 18 35 28 35 35 28 35 72 57 72 71 57 71 26 21 26 26 21 26 26 21 26 36 29 36 36 29 36 63 50 63 63 50 63 46 37 46 46 37 46 28 22 28 28 22 28 28 22 28 18 14 18 18 14 18 28 22 28 28 22 28 46 37 46 46 37 46 46 37 46 66 53 66 66 53 66 42 33 42 42 33 42 26 20 26 25 20 25 25 20 25 39 31 39 39 31 39 11 9 11 11 9 11 7 6 7 7 6 7 7 6 7 43 34 43 43 34 43 191 153 191 191 152 191 194 155 194 194 155 194 194 155 194 194 155 194 193 155 193 191 153 191 255 255 255 255 255 255 255 255 255 212 163 195 255 225 240 228 173 203 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 245 186 255 244 184 255 244 183 255 246 187 255 243 187 255 247 186 255 248 186 255 248 186 255 237 178 255 237 178 255 242 181 255 242 181 255 234 177 213 156 177 255 174 176 255 236 180 255 239 180 255 255 181 201 191 181 184 181 179 188 183 179 255 243 178 255 255 178 255 255 178 255 237 177 255 255 177 255 255 181 255 255 180 255 230 180 255 251 180 255 231 179 255 232 181 255 255 181 255 255 180 255 253 180 255 255 180 255 255 174 255 255 174 255 255 177 255 255 177 255 255 178 255 255 178 255 255 171 255 255 170 255 255 170 255 255 170 255 255 170 255 255 160 255 255 160 30 30 30 30 30 30 30 30 30 31 31 31 31 31 31 68 68 68 68 68 68 36 36 36 36 36 36 36 36 36 77 77 77 77 77 77 52 52 52 52 52 52 73 73 73 73 73 73 72 72 72 55 55 55 55 55 55 32 32 32 32 32 32 84 84 84 84 84 84 84 84 84 59 59 59 59 59 59 35 35 35 35 35 35 11 11 11 11 11 11 11 11 11 69 69 69 69 69 69 13 13 13 13 13 13 15 15 15 15 15 15 28 28 28 28 28 28 28 28 28 58 58 58 58 58 58 21 21 21 21 21 21 29 29 29 29 29 29 29 29 29 51 51 51 51 51 51 37 37 37 37 37 37 22 22 22 22 22 22 22 22 22 14 14 14 14 14 14 22 22 22 22 22 22 37 37 37 37 37 37 37 37 37 53 53 53 53 53 53 33 33 33 33 33 33 20 20 20 20 20 20 20 20 20 31 31 31 31 31 31 9 9 9 9 9 9 6 6 6 6 6 6 34 34 34 34 34 34 34 34 34 152 152 152 152 152 152 155 155 155 155 155 155 155 155 155 155 155 155 154 154 154 153 153 153 152 152 152 147 147 147 147 147 147 150 150 150 150 150 150 150 150 150 146 146 146 146 146 146 144 144 144 144 144 144 149 149 149 148 148 148 148 148 148 146 146 146 146 146 146 149 149 149 149 149 149 149 149 149 148 148 148 148 148 148 142 142 142 142 142 142 145 145 145 144 144 144 141 141 141 141 141 141 141 141 141 144 144 144 144 144 144 145 116 145 145 116 145 143 114 143 143 114 143
+209 209 209 209 209 209 216 172 216 216 172 216 215 172 215 215 172 215 215 172 215 211 168 211 211 168 211 210 168 210 208 166 208 208 166 208 210 168 210 210 168 210 214 171 214 214 171 214 214 171 214 214 171 214 214 171 214 211 169 211 211 169 211 209 167 209 209 167 209 209 167 209 208 167 208 208 167 208 212 170 212 212 170 212 210 168 210 210 168 210 210 168 210 203 162 203 203 162 203 130 104 130 130 104 130 25 20 25 25 20 25 25 20 25 17 13 17 17 13 17 83 66 83 82 66 82 53 42 53 53 42 53 53 42 53 74 59 74 74 59 74 91 72 91 90 72 90 73 59 73 73 59 73 73 59 73 92 74 92 92 74 92 73 58 73 73 58 73 46 36 46 46 36 46 46 36 46 77 62 77 77 61 77 112 90 112 112 90 112 8 6 8 8 6 8 8 6 8 24 19 24 24 19 24 4 3 4 4 3 4 22 18 22 22 18 22 22 18 22 35 28 35 35 28 35 57 46 57 57 46 57 105 84 105 104 83 104 104 83 104 39 31 39 38 31 38 100 80 100 100 80 100 47 37 47 46 37 46 46 37 46 63 50 63 63 50 63 50 40 50 50 40 50 42 34 42 42 34 42 42 34 42 60 48 60 60 48 60 106 85 106 106 85 106 44 35 44 44 35 44 44 35 44 38 30 38 38 30 38 20 16 20 19 15 19 19 15 19 27 22 27 27 22 27 23 19 23 23 19 23 7 6 7 7 6 7 7 6 7 116 93 116 116 93 116 193 154 193 193 154 193 194 155 194 194 155 194 194 155 194 190 152 190 255 255 255 255 255 255 255 232 245 213 164 198 255 255 255 212 164 198 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 244 184 255 244 184 255 244 184 255 250 189 255 248 189 255 247 187 255 246 187 255 248 186 255 248 186 255 247 186 255 242 182 255 242 181 255 239 181 255 223 181 239 168 181 255 225 180 255 239 180 255 255 185 208 197 185 190 187 185 233 209 185 255 255 184 255 248 180 255 255 180 255 255 178 255 255 178 255 255 179 255 255 179 255 236 179 255 224 182 255 236 182 255 255 181 255 255 181 255 255 179 255 255 179 255 255 179 255 255 176 255 255 176 255 255 176 255 255 176 255 255 179 255 255 179 255 255 178 255 255 176 255 255 176 255 255 170 255 255 170 253 181 109 247 178 109 108 108 108 21 21 21 21 21 21 14 14 14 14 14 14 69 69 69 69 69 69 68 68 68 44 44 44 44 44 44 61 61 61 61 61 61 75 75 75 75 75 75 75 75 75 61 61 61 60 60 60 76 76 76 76 76 76 76 76 76 60 60 60 60 60 60 37 37 37 37 37 37 63 63 63 63 63 63 63 63 63 92 92 92 92 92 92 6 6 6 6 6 6 20 20 20 20 20 20 20 20 20 3 3 3 3 3 3 18 18 18 18 18 18 28 28 28 28 28 28 28 28 28 46 46 46 46 46 46 85 85 85 84 84 84 31 31 31 31 31 31 31 31 31 81 81 81 80 80 80 37 37 37 37 37 37 50 50 50 50 50 50 50 50 50 40 40 40 40 40 40 34 34 34 34 34 34 48 48 48 48 48 48 48 48 48 85 85 85 85 85 85 35 35 35 35 35 35 30 30 30 30 30 30 30 30 30 16 16 16 15 15 15 22 22 22 22 22 22 19 19 19 19 19 19 19 19 19 6 6 6 6 6 6 93 93 93 93 93 93 154 154 154 154 154 154 153 153 153 155 155 155 155 155 155 151 151 151 151 151 151 149 149 149 149 149 149 149 149 149 150 150 150 150 150 150 151 151 151 151 151 151 151 151 151 151 151 151 150 150 150 147 147 147 147 147 147 147 147 147 146 146 146 151 151 151 151 151 151 150 150 150 149 149 149 149 149 149 148 148 148 148 148 148 145 145 145 145 145 145 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 148 118 148 148 118 148
+203 203 203 216 173 216 216 173 216 216 173 216 216 172 216 216 172 216 215 172 215 215 172 215 209 167 209 209 167 209 208 167 208 208 167 208 208 166 208 210 168 210 210 168 210 210 168 210 210 168 210 212 169 212 212 169 212 212 169 212 214 171 214 213 171 213 211 169 211 211 169 211 211 169 211 211 168 211 211 168 211 210 168 210 210 168 210 189 151 189 189 151 189 188 151 188 66 53 66 66 53 66 27 22 27 27 22 27 25 20 25 25 20 25 25 20 25 59 47 59 59 47 59 53 42 53 53 42 53 87 69 87 87 69 87 87 69 87 114 91 114 114 91 114 59 47 59 59 47 59 59 47 59 54 43 54 54 43 54 71 57 71 71 57 71 54 43 54 54 43 54 54 43 54 100 80 100 100 80 100 119 95 119 119 95 119 10 8 10 10 8 10 10 8 10 6 5 6 6 5 6 10 8 10 10 8 10 24 19 24 24 19 24 24 19 24 58 46 58 58 46 58 62 49 62 62 49 62 61 49 61 41 33 41 41 32 41 41 32 41 41 32 41 43 34 43 43 34 43 43 34 43 14 11 14 14 11 14 44 35 44 44 35 44 69 55 69 69 55 69 69 55 69 77 61 77 77 61 77 40 32 40 40 32 40 40 32 40 30 24 30 30 24 30 6 4 6 6 4 6 4 3 4 4 3 4 4 3 4 0 0 0 0 0 0 4 3 4 3 3 3 7 6 7 7 6 7 7 6 7 7 6 7 7 6 7 35 28 35 35 28 35 178 142 178 177 142 177 177 142 177 193 154 193 192 154 192 190 152 190 190 152 190 255 255 255 255 255 255 255 255 255 227 172 203 255 255 255 255 251 255 229 174 207 255 255 255 255 243 254 255 255 255 255 255 255 255 255 255 255 245 185 255 244 184 255 244 184 255 249 188 255 249 188 255 243 183 255 242 183 255 243 183 255 243 183 255 243 182 255 243 182 255 242 182 255 238 180 255 235 179 230 164 179 255 204 175 255 208 175 255 254 186 203 194 186 190 188 185 255 255 185 255 255 185 255 255 184 255 255 184 255 255 178 255 255 178 255 255 178 255 246 178 255 255 177 255 255 179 255 255 179 255 255 178 255 255 178 255 255 178 255 255 179 255 240 179 255 255 181 255 255 180 255 255 178 255 255 178 255 255 178 255 255 177 255 255 177 255 255 177 255 255 176 255 255 158 255 255 158 255 255 158 126 91 55 55 55 55 23 23 23 23 23 23 23 23 23 21 21 21 21 21 21 49 49 49 49 49 49 44 44 44 44 44 44 44 44 44 72 72 72 72 72 72 94 94 94 94 94 94 48 48 48 48 48 48 48 48 48 45 45 45 45 45 45 58 58 58 58 58 58 44 44 44 44 44 44 44 44 44 82 82 82 82 82 82 97 97 97 97 97 97 97 97 97 8 8 8 8 8 8 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 20 20 20 20 20 20 47 47 47 47 47 47 50 50 50 50 50 50 50 50 50 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 34 34 34 34 34 34 11 11 11 11 11 11 36 36 36 36 36 36 36 36 36 55 55 55 55 55 55 62 62 62 61 61 61 32 32 32 32 32 32 32 32 32 24 24 24 24 24 24 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 6 6 6 6 6 6 6 6 6 6 6 6 28 28 28 28 28 28 28 28 28 141 141 141 141 141 141 153 153 153 153 153 153 151 151 151 151 151 151 151 151 151 151 151 151 151 151 151 149 149 149 149 149 149 153 153 153 153 153 153 153 153 153 151 151 151 151 151 151 147 147 147 147 147 147 147 147 147 147 147 147 146 146 146 149 149 149 149 149 149 146 146 146 146 146 146 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 143 143 143 143 143 143 143 143 143 139 139 139 139 139 139 148 118 148
+217 173 217 216 173 216 216 173 216 216 173 216 216 173 216 216 173 216 209 167 209 209 167 209 209 167 209 209 167 209 209 167 209 211 169 211 211 168 211 211 168 211 210 168 210 210 168 210 212 170 212 212 170 212 214 171 214 214 171 214 214 171 214 212 169 212 211 169 211 211 169 211 211 169 211 211 169 211 211 169 211 211 169 211 189 151 189 189 151 189 66 53 66 66 53 66 66 53 66 27 22 27 27 22 27 25 20 25 25 20 25 59 47 59 59 47 59 59 47 59 53 42 53 53 42 53 87 69 87 87 69 87 87 69 87 114 91 114 114 91 114 59 47 59 59 47 59 55 44 55 55 44 55 55 44 55 71 57 71 71 57 71 54 43 54 54 43 54 54 43 54 101 80 101 101 80 101 119 95 119 119 95 119 10 8 10 10 8 10 10 8 10 6 5 6 6 5 6 10 8 10 10 8 10 10 8 10 25 20 25 24 19 24 58 46 58 58 46 58 62 49 62 62 49 62 62 49 62 41 33 41 41 33 41 41 33 41 41 33 41 41 32 41 43 34 43 43 34 43 14 11 14 14 11 14 45 36 45 45 36 45 45 36 45 69 55 69 69 55 69 77 62 77 77 61 77 77 61 77 40 32 40 40 32 40 30 24 30 30 24 30 6 4 6 6 4 6 6 4 6 4 3 4 4 3 4 0 0 0 0 0 0 0 0 0 4 3 4 4 3 4 8 6 8 7 6 7 7 6 7 7 6 7 7 6 7 35 28 35 35 28 35 178 142 178 178 142 178 193 155 193 193 154 193 193 154 193 191 152 191 190 152 190 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 202 226 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 245 185 255 245 185 255 245 185 255 249 188 255 249 188 255 244 184 255 244 184 255 243 183 255 243 183 255 243 183 255 243 183 255 243 182 255 240 180 255 239 180 255 192 180 255 174 176 255 202 175 239 213 186 196 191 186 201 193 186 255 255 185 255 255 185 255 255 185 255 255 185 255 255 179 255 255 178 255 255 178 255 255 178 255 255 178 255 255 179 255 255 179 255 221 179 255 255 178 255 255 178 255 255 180 255 249 179 255 255 181 255 255 181 255 255 180 255 255 178 255 255 178 255 255 178 255 255 177 255 255 177 255 255 177 255 255 177 255 255 158 255 255 158 126 91 55 55 55 55 55 55 55 23 23 23 23 23 23 21 21 21 21 21 21 49 49 49 49 49 49 49 49 49 44 44 44 44 44 44 72 72 72 72 72 72 94 94 94 94 94 94 94 94 94 49 49 49 48 48 48 45 45 45 45 45 45 45 45 45 59 59 59 58 58 58 45 45 45 44 44 44 82 82 82 82 82 82 82 82 82 97 97 97 97 97 97 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 8 8 8 8 8 8 20 20 20 20 20 20 20 20 20 47 47 47 47 47 47 50 50 50 50 50 50 50 50 50 33 33 33 33 33 33 33 33 33 33 33 33 34 34 34 34 34 34 34 34 34 11 11 11 11 11 11 36 36 36 36 36 36 36 36 36 55 55 55 55 55 55 62 62 62 62 62 62 32 32 32 32 32 32 32 32 32 24 24 24 24 24 24 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 28 28 28 28 28 28 141 141 141 141 141 141 154 154 154 153 153 153 153 153 153 151 151 151 151 151 151 151 151 151 151 151 151 149 149 149 149 149 149 149 149 149 153 153 153 153 153 153 151 151 151 151 151 151 151 151 151 147 147 147 147 147 147 147 147 147 147 147 147 150 150 150 149 149 149 149 149 149 146 146 146 146 146 146 146 146 146 145 145 145 145 145 145 145 145 145 145 145 145 143 143 143 143 143 143 140 140 140 139 139 139
+217 173 217 217 173 217 217 173 217 216 173 216 216 173 216 214 171 214 214 171 214 216 173 216 216 173 216 216 172 216 216 172 216 215 172 215 215 172 215 215 172 215 215 172 215 215 172 215 215 172 215 215 172 215 214 171 214 214 171 214 214 171 214 214 171 214 210 168 210 209 167 209 181 145 181 181 145 181 181 145 181 125 100 125 125 100 125 99 79 99 99 79 99 17 13 17 17 13 17 17 13 17 23 18 23 23 18 23 12 10 12 12 10 12 12 10 12 55 44 55 55 44 55 57 46 57 57 46 57 68 54 68 68 54 68 68 54 68 95 76 95 95 76 95 31 25 31 31 25 31 31 25 31 65 52 65 65 52 65 55 44 55 54 43 54 54 43 54 82 65 82 82 65 82 105 84 105 105 84 105 8 6 8 8 6 8 8 6 8 12 10 12 12 10 12 31 25 31 31 25 31 31 25 31 16 13 16 16 13 16 68 55 68 68 54 68 68 54 68 45 36 45 45 36 45 51 41 51 51 41 51 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 35 28 35 34 27 34 34 27 34 57 46 57 57 45 57 40 32 40 40 32 40 65 52 65 65 52 65 65 52 65 26 21 26 26 21 26 6 4 6 6 4 6 6 4 6 0 0 0 0 0 0 8 6 8 8 6 8 8 6 8 36 29 36 36 28 36 10 8 10 10 8 10 8 6 8 8 6 8 8 6 8 17 14 17 17 14 17 1 1 1 1 1 1 1 1 1 97 77 97 97 77 97 192 153 192 191 153 191 191 153 191 191 153 191 191 153 191 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 207 230 255 255 255 255 191 218 255 255 255 255 255 255 255 255 255 255 248 187 255 247 187 255 253 191 255 252 191 255 252 190 255 244 184 255 244 184 255 236 178 255 236 178 255 236 177 255 243 183 255 243 183 255 243 182 255 242 182 255 227 182 190 146 176 255 212 176 197 192 187 199 193 186 255 239 186 255 255 186 255 246 186 255 255 185 255 255 185 255 255 183 255 255 183 255 255 182 255 255 184 255 255 184 255 255 183 255 227 183 231 207 183 255 238 183 255 255 182 255 255 182 255 255 182 255 255 181 255 255 181 255 255 181 255 255 181 255 255 180 255 255 176 255 255 176 255 255 176 255 255 152 255 248 152 240 172 104 227 166 104 192 137 82 194 138 82 82 82 82 14 14 14 14 14 14 19 19 19 19 19 19 19 19 19 10 10 10 10 10 10 46 46 46 46 46 46 45 45 45 47 47 47 47 47 47 56 56 56 56 56 56 78 78 78 78 78 78 78 78 78 26 26 26 26 26 26 53 53 53 53 53 53 53 53 53 45 45 45 44 44 44 67 67 67 67 67 67 67 67 67 85 85 85 85 85 85 6 6 6 6 6 6 10 10 10 10 10 10 10 10 10 25 25 25 25 25 25 13 13 13 13 13 13 13 13 13 55 55 55 55 55 55 36 36 36 36 36 36 41 41 41 41 41 41 41 41 41 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 28 28 28 28 28 28 46 46 46 46 46 46 46 46 46 32 32 32 32 32 32 52 52 52 52 52 52 21 21 21 21 21 21 21 21 21 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 28 28 28 28 28 28 28 28 28 8 8 8 7 7 7 6 6 6 6 6 6 14 14 14 14 14 14 14 14 14 1 1 1 1 1 1 77 77 77 77 77 77 77 77 77 152 152 152 152 152 152 152 152 152 151 151 151 151 151 151 151 151 151 151 151 151 152 152 152 152 152 152 153 153 153 153 153 153 153 153 153 151 151 151 151 151 151 148 148 148 147 147 147 147 147 147 148 148 148 148 148 148 151 151 151 151 151 151 146 146 146 146 146 146 146 146 146 141 141 141 141 141 141 145 145 145 145 145 145 145 145 145 145 145 145 144 144 144
+217 174 217 217 173 217 217 173 217 217 173 217 217 173 217 216 173 216 216 173 216 216 173 216 216 173 216 216 173 216 216 173 216 216 172 216 216 172 216 215 172 215 215 172 215 215 172 215 215 172 215 215 172 215 215 172 215 215 172 215 212 170 212 212 170 212 212 170 212 190 152 190 190 152 190 190 152 190 190 152 190 190 152 190 95 76 95 94 75 94 6 5 6 6 5 6 6 5 6 51 41 51 51 41 51 8 6 8 8 6 8 32 25 32 32 25 32 32 25 32 62 49 62 62 49 62 32 25 32 32 25 32 32 25 32 42 34 42 42 34 42 59 47 59 59 47 59 59 47 59 38 30 38 38 30 38 59 47 59 59 47 59 59 47 59 110 88 110 109 87 109 95 76 95 95 76 95 10 8 10 10 8 10 10 8 10 8 6 8 8 6 8 33 26 33 33 26 33 33 26 33 27 21 27 27 21 27 79 63 79 79 63 79 79 63 79 27 21 27 27 21 27 76 61 76 76 61 76 76 61 76 49 39 49 49 39 49 26 21 26 26 21 26 90 72 90 90 72 90 90 72 90 32 26 32 32 26 32 24 19 24 24 19 24 24 19 24 18 14 18 18 14 18 16 13 16 16 13 16 16 13 16 8 6 8 8 6 8 4 3 4 4 3 4 4 3 4 6 4 6 6 4 6 28 22 28 28 22 28 28 22 28 20 16 20 20 16 20 8 6 8 8 6 8 8 6 8 8 6 8 8 6 8 3 3 3 3 3 3 35 28 35 35 28 35 35 28 35 194 155 194 194 155 194 196 156 196 195 156 195 195 156 195 255 255 255 255 255 255 255 255 255 255 199 225 255 255 255 255 255 255 255 255 255 222 170 204 255 203 227 255 255 255 255 255 255 255 255 255 255 248 188 255 248 188 255 250 189 255 250 189 255 250 189 255 245 185 255 244 184 255 236 178 255 236 178 255 236 178 255 244 183 255 243 183 255 243 183 255 243 183 255 237 182 236 169 186 255 176 186 197 192 187 235 211 187 255 255 187 255 255 186 255 253 186 255 255 186 255 255 186 255 255 185 255 255 185 255 255 185 255 255 184 255 255 184 255 233 184 226 205 184 255 255 183 255 236 183 255 255 183 255 255 182 255 255 182 255 242 182 255 255 182 255 255 181 255 255 181 255 255 181 255 255 179 255 255 178 255 255 178 255 255 160 255 255 159 255 255 159 255 255 159 255 255 159 187 133 79 79 79 79 5 5 5 5 5 5 5 5 5 42 42 42 42 42 42 7 7 7 7 7 7 7 7 7 26 26 26 26 26 26 51 51 51 51 51 51 26 26 26 26 26 26 26 26 26 35 35 35 35 35 35 49 49 49 48 48 48 48 48 48 31 31 31 31 31 31 48 48 48 48 48 48 48 48 48 89 89 89 89 89 89 77 77 77 77 77 77 77 77 77 8 8 8 8 8 8 6 6 6 6 6 6 6 6 6 27 27 27 27 27 27 22 22 22 22 22 22 64 64 64 64 64 64 64 64 64 21 21 21 21 21 21 62 62 62 61 61 61 61 61 61 40 40 40 40 40 40 21 21 21 21 21 21 21 21 21 72 72 72 72 72 72 26 26 26 26 26 26 26 26 26 19 19 19 19 19 19 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 6 6 6 6 6 6 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 22 22 22 22 22 22 22 22 22 16 16 16 15 15 15 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 3 3 3 3 3 28 28 28 28 28 28 28 28 28 154 154 154 154 154 154 155 155 155 155 155 155 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 152 152 152 151 151 151 150 150 150 149 149 149 148 148 148 150 150 150 150 150 150 149 149 149 146 146 146 146 146 146 141 141 141 141 141 141 141 141 141 145 145 145 145 145 145 145 145 145
+217 174 217 217 174 217 217 174 217 217 173 217 217 173 217 217 173 217 217 173 217 216 173 216 216 173 216 216 173 216 216 173 216 216 173 216 216 173 216 216 172 216 216 172 216 215 172 215 215 172 215 215 172 215 215 172 215 213 170 213 213 170 213 191 152 191 191 152 191 190 152 190 190 152 190 190 152 190 95 76 95 95 76 95 95 76 95 6 5 6 6 5 6 51 41 51 51 41 51 51 41 51 8 6 8 8 6 8 32 25 32 32 25 32 32 25 32 62 49 62 62 49 62 32 25 32 32 25 32 32 25 32 42 34 42 42 34 42 59 47 59 59 47 59 59 47 59 38 30 38 38 30 38 59 47 59 59 47 59 59 47 59 110 88 110 110 88 110 95 76 95 95 76 95 10 8 10 10 8 10 10 8 10 8 6 8 8 6 8 33 26 33 33 26 33 33 26 33 27 21 27 27 21 27 79 63 79 79 63 79 79 63 79 27 21 27 27 21 27 77 61 77 77 61 77 77 61 77 49 39 49 49 39 49 26 21 26 26 21 26 26 21 26 91 72 91 90 72 90 33 26 33 33 26 33 32 26 32 24 19 24 24 19 24 18 14 18 18 14 18 18 14 18 16 13 16 16 13 16 8 6 8 8 6 8 8 6 8 4 3 4 4 3 4 6 4 6 6 4 6 6 4 6 28 22 28 28 22 28 20 16 20 20 16 20 8 6 8 8 6 8 8 6 8 8 6 8 8 6 8 4 3 4 4 3 4 3 3 3 35 28 35 35 28 35 195 156 195 195 156 195 194 155 194 196 157 196 196 157 196 196 156 196 255 255 255 255 255 255 255 255 255 255 241 254 255 254 255 255 255 255 255 255 255 210 164 200 255 194 221 255 255 255 255 255 255 255 255 255 255 255 255 255 248 188 255 251 190 255 250 189 255 250 189 255 245 185 255 245 185 255 235 179 255 236 178 255 235 178 255 243 184 255 244 183 255 243 183 255 243 183 255 241 183 255 204 186 255 187 186 231 209 188 243 215 187 255 250 187 255 237 187 255 255 187 255 253 186 255 255 186 255 255 186 255 255 185 255 255 185 255 255 185 255 255 185 255 255 184 255 251 184 255 255 184 255 255 183 255 255 183 255 255 183 255 255 183 255 255 182 255 255 182 255 255 182 255 255 181 255 255 181 255 255 181 255 255 179 255 255 179 255 255 160 255 255 160 255 255 159 255 255 159 255 255 159 187 133 79 79 79 79 79 79 79 5 5 5 5 5 5 43 43 43 43 43 43 42 42 42 7 7 7 7 7 7 26 26 26 26 26 26 26 26 26 51 51 51 51 51 51 26 26 26 26 26 26 35 35 35 35 35 35 35 35 35 49 49 49 49 49 49 31 31 31 31 31 31 31 31 31 48 48 48 48 48 48 90 90 90 89 89 89 89 89 89 77 77 77 77 77 77 8 8 8 8 8 8 8 8 8 6 6 6 6 6 6 27 27 27 27 27 27 27 27 27 22 22 22 22 22 22 64 64 64 64 64 64 64 64 64 21 21 21 21 21 21 62 62 62 62 62 62 61 61 61 40 40 40 40 40 40 21 21 21 21 21 21 21 21 21 72 72 72 72 72 72 26 26 26 26 26 26 26 26 26 19 19 19 19 19 19 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 6 6 6 6 6 6 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 22 22 22 22 22 22 22 22 22 16 16 16 16 16 16 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 3 3 3 3 3 3 3 3 28 28 28 28 28 28 154 154 154 154 154 154 154 154 154 155 155 155 155 155 155 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 151 151 151 151 151 151 150 150 150 149 149 149 148 148 148 150 150 150 150 150 150 146 146 146 146 146 146 146 146 146 141 141 141 141 141 141 145 145 145 145 145 145
+218 174 218 217 174 217 217 174 217 217 174 217 217 174 217 217 173 217 217 173 217 217 173 217 217 173 217 217 173 217 216 173 216 216 173 216 214 171 214 214 171 214 214 171 214 214 171 214 213 171 213 213 171 213 213 170 213 213 170 213 176 141 176 176 141 176 130 104 130 130 104 130 130 104 130 88 71 88 88 71 88 6 5 6 6 5 6 6 5 6 23 19 23 23 19 23 15 12 15 15 12 15 15 12 15 49 39 49 49 39 49 30 24 30 30 24 30 30 24 30 25 20 25 25 20 25 45 36 45 45 36 45 44 35 44 134 107 134 134 107 134 91 73 91 91 73 91 91 73 91 83 66 83 83 66 83 161 129 161 161 129 161 161 129 161 131 105 131 131 105 131 10 8 10 10 8 10 10 8 10 16 13 16 16 13 16 18 15 18 18 15 18 18 15 18 21 16 21 21 16 21 60 48 60 60 48 60 60 48 60 16 13 16 16 13 16 35 28 35 35 28 35 35 28 35 27 21 27 27 21 27 47 38 47 47 38 47 47 38 47 60 48 60 60 48 60 14 11 14 14 11 14 14 11 14 26 21 26 26 21 26 53 42 53 53 42 53 53 42 53 78 62 78 77 62 77 73 59 73 73 58 73 73 58 73 98 78 98 97 78 97 42 34 42 42 34 42 42 34 42 26 21 26 26 21 26 24 19 24 24 19 24 24 19 24 10 8 10 10 8 10 22 17 22 22 17 22 22 17 22 12 9 12 12 9 12 8 6 8 8 6 8 7 6 7 173 138 173 173 138 173 197 157 197 196 157 196 196 157 196 196 157 196 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 242 251 210 162 195 255 255 255 255 255 255 255 255 255 255 255 255 255 241 183 255 246 186 255 246 186 255 245 186 255 245 185 255 245 185 255 238 181 255 239 181 255 220 167 255 219 167 255 220 167 255 244 184 255 244 183 255 250 189 255 243 189 226 166 188 211 199 188 216 202 188 255 244 187 250 219 187 255 255 187 255 247 187 255 255 186 255 255 186 255 255 186 255 255 186 255 255 185 255 255 185 255 255 185 255 255 184 255 255 184 255 255 184 255 255 184 255 255 183 255 255 183 255 255 183 255 252 181 255 255 180 255 255 180 255 255 180 255 255 180 255 255 179 255 255 179 255 242 148 255 240 147 255 245 147 255 182 109 252 180 109 170 122 74 74 74 74 74 74 74 5 5 5 5 5 5 19 19 19 19 19 19 19 19 19 12 12 12 12 12 12 12 12 12 41 41 41 40 40 40 24 24 24 24 24 24 21 21 21 21 21 21 21 21 21 37 37 37 36 36 36 36 36 36 110 110 110 110 110 110 75 75 75 75 75 75 67 67 67 67 67 67 67 67 67 131 131 131 131 131 131 131 131 131 107 107 107 106 106 106 8 8 8 8 8 8 13 13 13 13 13 13 13 13 13 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 49 49 49 49 49 49 48 48 48 13 13 13 13 13 13 28 28 28 28 28 28 28 28 28 21 21 21 21 21 21 38 38 38 38 38 38 38 38 38 48 48 48 48 48 48 11 11 11 11 11 11 11 11 11 21 21 21 21 21 21 42 42 42 42 42 42 42 42 42 62 62 62 62 62 62 58 58 58 58 58 58 58 58 58 77 77 77 77 77 77 33 33 33 33 33 33 33 33 33 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 7 7 7 7 7 7 17 17 17 17 17 17 17 17 17 9 9 9 9 9 9 6 6 6 6 6 6 6 6 6 137 137 137 136 136 136 155 155 155 155 155 155 155 155 155 154 154 154 154 154 154 152 152 152 152 152 152 152 152 152 150 150 150 150 150 150 147 147 147 147 147 147 146 146 146 143 143 143 143 143 143 144 144 144 144 144 144 144 144 144 147 147 147 147 147 147 146 146 146 146 146 146 146 146 146 143 143 143 143 143 143
+216 172 216 218 174 218 218 174 218 218 174 218 217 174 217 217 174 217 217 174 217 217 174 217 217 173 217 217 173 217 217 173 217 217 173 217 216 173 216 216 173 216 216 173 216 216 173 216 214 171 214 214 171 214 213 171 213 207 165 207 207 165 207 200 160 200 200 160 200 200 160 200 84 67 84 84 67 84 21 17 21 21 17 21 21 17 21 13 10 13 12 10 12 36 29 36 36 29 36 36 29 36 36 29 36 36 29 36 56 44 56 56 44 56 56 44 56 17 13 17 17 13 17 19 15 19 19 15 19 19 15 19 79 63 79 79 63 79 92 73 92 92 73 92 91 73 91 94 75 94 93 75 93 185 148 185 185 148 185 185 148 185 200 160 200 199 159 199 199 159 199 121 96 121 120 96 120 23 18 23 23 18 23 23 18 23 12 10 12 12 10 12 14 11 14 14 11 14 14 11 14 18 15 18 18 15 18 39 31 39 39 31 39 39 31 39 64 51 64 64 51 64 127 102 127 127 101 127 127 101 127 139 111 139 139 111 139 137 109 137 137 109 137 137 109 137 149 119 149 149 119 149 169 135 169 169 135 169 169 135 169 152 122 152 152 122 152 127 102 127 127 102 127 127 101 127 102 82 102 102 82 102 96 77 96 96 76 96 96 76 96 145 116 145 144 115 144 118 94 118 118 94 118 117 94 117 26 21 26 26 21 26 26 21 26 8 6 8 8 6 8 14 11 14 14 11 14 14 11 14 14 11 14 14 11 14 4 3 4 4 3 4 4 3 4 160 128 160 159 127 159 195 156 195 195 156 195 195 156 195 196 157 196 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 233 245 255 255 255 255 255 255 255 255 255 255 255 255 255 244 185 255 246 187 255 246 186 255 253 192 255 253 192 255 253 191 255 248 187 255 247 187 255 233 177 255 232 177 255 233 177 255 247 186 255 246 186 255 251 189 255 250 189 255 191 189 211 200 188 224 206 188 213 201 188 255 243 188 255 254 187 255 255 187 255 255 187 255 255 187 255 255 184 255 255 184 255 255 186 255 255 185 255 255 185 255 255 185 255 255 185 255 255 184 255 255 184 255 255 184 255 255 183 255 255 183 255 255 183 255 255 183 255 255 182 255 255 182 255 255 182 255 255 180 255 255 179 255 255 179 255 255 173 255 255 173 255 255 167 255 255 167 255 255 167 167 119 70 70 70 70 18 18 18 18 18 18 18 18 18 10 10 10 10 10 10 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 46 46 46 46 46 46 46 46 46 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 65 65 65 64 64 64 64 64 64 75 75 75 75 75 75 76 76 76 76 76 76 76 76 76 151 151 151 150 150 150 162 162 162 162 162 162 162 162 162 98 98 98 98 98 98 18 18 18 18 18 18 18 18 18 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 15 15 15 15 15 15 32 32 32 32 32 32 32 32 32 52 52 52 52 52 52 102 102 102 102 102 102 102 102 102 111 111 111 111 111 111 109 109 109 109 109 109 109 109 109 119 119 119 119 119 119 135 135 135 135 135 135 135 135 135 121 121 121 121 121 121 121 121 121 101 101 101 101 101 101 81 81 81 81 81 81 81 81 81 76 76 76 76 76 76 115 115 115 114 114 114 114 114 114 93 93 93 93 93 93 20 20 20 20 20 20 20 20 20 6 6 6 6 6 6 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 3 3 3 3 3 3 3 3 3 126 126 126 126 126 126 154 154 154 154 154 154 153 153 153 155 155 155 154 154 154 154 154 154 154 154 154 154 154 154 151 151 151 150 150 150 147 147 147 147 147 147 147 147 147 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 147 147 147 147 147 147 147 147 147 151 151 151 151 151 151 148 148 148
+218 174 218 218 174 218 218 174 218 218 174 218 218 174 218 218 174 218 217 174 217 217 174 217 217 174 217 217 174 217 217 173 217 217 173 217 217 173 217 217 173 217 216 173 216 214 171 214 214 171 214 207 166 207 207 166 207 207 166 207 200 160 200 200 160 200 85 68 85 84 67 84 84 67 84 21 17 21 21 17 21 13 10 13 13 10 13 13 10 13 36 29 36 36 29 36 36 29 36 36 29 36 36 29 36 56 44 56 56 44 56 56 44 56 17 13 17 17 13 17 19 15 19 19 15 19 19 15 19 79 63 79 79 63 79 92 73 92 92 73 92 92 73 92 94 75 94 94 75 94 186 148 186 185 148 185 185 148 185 200 160 200 200 160 200 200 160 200 121 97 121 121 96 121 23 18 23 23 18 23 23 18 23 12 10 12 12 10 12 14 11 14 14 11 14 14 11 14 18 15 18 18 15 18 40 32 40 39 31 39 39 31 39 65 52 65 65 52 65 127 102 127 127 102 127 127 102 127 140 112 140 139 111 139 139 111 139 137 110 137 137 109 137 149 119 149 149 119 149 149 119 149 170 136 170 169 135 169 153 122 153 153 122 153 152 122 152 127 102 127 127 102 127 102 82 102 102 82 102 102 82 102 96 77 96 96 77 96 145 116 145 145 116 145 145 116 145 118 94 118 118 94 118 26 21 26 26 21 26 26 21 26 8 6 8 8 6 8 8 6 8 14 11 14 14 11 14 14 11 14 14 11 14 14 11 14 4 3 4 4 3 4 160 128 160 160 128 160 160 128 160 195 156 195 195 156 195 197 157 197 197 157 197 255 255 255 255 255 255 255 255 255 255 255 255 255 230 245 255 255 255 255 255 255 255 238 249 246 182 210 255 255 255 255 255 255 255 255 255 255 255 255 255 244 185 255 246 187 255 246 187 255 253 192 255 252 192 255 251 192 255 247 188 255 247 187 255 232 177 255 233 177 255 234 177 255 247 186 255 247 186 255 252 190 255 251 189 255 239 189 255 224 189 255 233 189 209 198 188 255 222 188 255 255 188 255 255 187 255 255 187 255 255 187 255 255 185 255 255 184 255 255 186 255 255 186 255 255 186 255 255 185 255 255 185 255 255 185 255 255 184 255 255 184 255 255 184 255 255 184 255 255 183 255 255 183 255 255 183 255 255 182 255 255 182 255 255 182 255 255 180 255 255 180 255 255 174 255 255 173 255 255 173 255 255 167 255 255 167 167 119 70 70 70 70 70 70 70 18 18 18 18 18 18 10 10 10 10 10 10 10 10 10 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 46 46 46 46 46 46 46 46 46 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 65 65 65 65 65 65 75 75 75 75 75 75 75 75 75 76 76 76 76 76 76 151 151 151 151 151 151 151 151 151 162 162 162 162 162 162 98 98 98 98 98 98 98 98 98 18 18 18 18 18 18 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 15 15 15 15 15 15 32 32 32 32 32 32 32 32 32 52 52 52 52 52 52 102 102 102 102 102 102 102 102 102 112 112 112 111 111 111 110 110 110 109 109 109 109 109 109 119 119 119 119 119 119 135 135 135 135 135 135 135 135 135 121 121 121 121 121 121 121 121 121 101 101 101 101 101 101 81 81 81 81 81 81 81 81 81 76 76 76 76 76 76 115 115 115 115 115 115 114 114 114 93 93 93 93 93 93 20 20 20 20 20 20 20 20 20 6 6 6 6 6 6 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 3 3 3 3 3 3 126 126 126 126 126 126 126 126 126 154 154 154 154 154 154 155 155 155 155 155 155 154 154 154 154 154 154 154 154 154 151 151 151 151 151 151 150 150 150 147 147 147 147 147 147 147 147 147 146 146 146 146 146 146 146 146 146 146 146 146 146 146 146 147 147 147 147 147 147 151 151 151 151 151 151
+218 175 218 218 175 218 218 174 218 218 174 218 218 174 218 218 174 218 218 174 218 218 174 218 211 169 211 211 168 211 211 168 211 215 172 215 215 172 215 217 173 217 217 173 217 217 173 217 214 171 214 214 171 214 181 145 181 181 145 181 181 145 181 85 68 85 85 68 85 85 68 85 17 13 17 17 13 17 23 19 23 23 19 23 23 19 23 30 24 30 30 24 30 30 24 30 30 24 30 30 24 30 28 22 28 28 22 28 28 22 28 10 8 10 10 8 10 43 34 43 43 34 43 43 34 43 133 106 133 133 106 133 180 144 180 180 144 180 180 144 180 197 157 197 197 157 197 212 169 212 211 169 211 211 169 211 207 165 207 207 165 207 207 165 207 206 165 206 206 165 206 191 153 191 191 153 191 191 153 191 165 132 165 165 132 165 131 105 131 131 105 131 131 104 131 133 106 133 133 106 133 162 130 162 162 129 162 162 129 162 197 158 197 197 158 197 197 158 197 205 164 205 205 164 205 205 164 205 205 164 205 205 164 205 204 163 204 204 163 204 206 165 206 206 165 206 206 164 206 203 163 203 203 162 203 203 162 203 203 162 203 203 162 203 196 157 196 196 157 196 196 156 196 127 102 127 127 102 127 135 108 135 135 108 135 135 108 135 170 136 170 170 136 170 102 81 102 102 81 102 102 81 102 67 53 67 67 53 67 67 53 67 12 9 12 12 9 12 6 4 6 6 4 6 6 4 6 4 3 4 4 3 4 8 6 8 8 6 8 8 6 8 164 131 164 164 131 164 198 158 198 198 158 198 198 158 198 197 158 197 197 158 197 197 157 197 255 255 255 255 255 255 255 255 255 255 253 255 255 255 255 255 255 255 255 214 236 227 173 205 255 255 255 255 255 255 255 255 255 255 255 255 255 247 188 255 247 187 255 247 187 255 244 187 255 245 187 255 243 186 255 244 186 255 246 186 255 244 186 255 245 185 255 245 185 255 247 187 255 247 186 255 251 190 255 250 190 255 247 190 255 226 189 224 207 189 249 219 189 249 219 188 255 254 188 255 255 188 255 255 188 255 255 187 255 255 183 255 255 183 255 255 187 255 255 186 255 255 186 255 255 186 255 255 185 255 255 185 255 255 185 255 255 185 247 216 184 255 242 184 255 255 184 255 245 178 255 255 178 255 255 181 255 255 181 255 255 180 255 255 182 255 255 182 255 255 180 255 255 179 255 255 179 255 253 151 255 253 151 255 255 151 71 71 71 70 70 70 14 14 14 14 14 14 14 14 14 19 19 19 19 19 19 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 23 23 23 23 23 23 23 23 23 8 8 8 8 8 8 8 8 8 35 35 35 35 35 35 109 109 109 109 109 109 109 109 109 147 147 147 147 147 147 161 161 161 160 160 160 160 160 160 172 172 172 172 172 172 168 168 168 168 168 168 168 168 168 167 167 167 167 167 167 167 167 167 154 154 154 154 154 154 133 133 133 133 133 133 133 133 133 105 105 105 105 105 105 107 107 107 107 107 107 106 106 106 130 130 130 130 130 130 130 130 130 158 158 158 158 158 158 164 164 164 164 164 164 164 164 164 164 164 164 163 163 163 163 163 163 163 163 163 163 163 163 164 164 164 164 164 164 162 162 162 162 162 162 161 161 161 161 161 161 161 161 161 161 161 161 155 155 155 155 155 155 101 101 101 101 101 101 101 101 101 107 107 107 107 107 107 134 134 134 134 134 134 134 134 134 80 80 80 80 80 80 53 53 53 53 53 53 53 53 53 9 9 9 9 9 9 9 9 9 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 6 6 6 6 6 6 129 129 129 129 129 129 129 129 129 156 156 156 155 155 155 155 155 155 155 155 155 155 155 155 153 153 153 153 153 153 152 152 152 154 154 154 154 154 154 153 153 153 153 153 153 153 153 153 150 150 150 149 149 149 148 148 148 148 148 148 147 147 147 147 147 147 147 147 147 147 147 147
+219 175 219 219 175 219 218 175 218 218 175 218 218 174 218 218 174 218 218 174 218 218 174 218 218 174 218 218 174 218 217 174 217 217 174 217 217 174 217 217 174 217 217 173 217 217 173 217 217 173 217 160 128 160 159 127 159 159 127 159 74 59 74 74 59 74 17 13 17 17 13 17 17 13 17 24 19 24 23 19 23 23 19 23 6 5 6 6 5 6 32 26 32 32 26 32 32 26 32 23 19 23 23 19 23 19 15 19 19 15 19 19 15 19 19 15 19 19 15 19 19 15 19 144 115 144 144 115 144 202 162 202 202 161 202 202 161 202 208 166 208 208 166 208 208 166 208 208 166 208 207 166 207 209 167 209 209 167 209 209 167 209 211 169 211 211 169 211 209 167 209 208 167 208 208 167 208 210 168 210 210 168 210 208 166 208 208 166 208 207 166 207 207 166 207 207 166 207 207 165 207 207 165 207 207 165 207 208 167 208 208 167 208 208 166 208 206 165 206 206 164 206 208 166 208 207 166 207 207 166 207 207 165 207 207 165 207 207 165 207 206 165 206 206 165 206 206 165 206 206 165 206 206 164 206 203 163 203 203 162 203 203 162 203 203 162 203 202 162 202 200 160 200 200 160 200 200 160 200 144 115 144 144 115 144 94 75 94 94 75 94 94 75 94 114 91 114 114 91 114 153 122 153 153 122 153 153 122 153 36 29 36 36 29 36 36 29 36 8 6 8 8 6 8 20 16 20 20 16 20 20 16 20 38 30 38 38 30 38 38 30 38 187 149 187 187 149 187 194 155 194 194 155 194 194 155 194 194 155 194 193 155 193 195 156 195 255 255 255 255 255 255 255 255 255 255 253 255 255 255 255 255 255 255 255 255 255 255 209 228 255 255 255 255 255 255 255 255 255 255 255 255 255 245 186 255 244 186 255 244 186 255 240 183 255 241 183 255 240 183 255 244 186 255 246 186 255 251 190 255 251 190 255 250 189 255 248 187 255 247 187 255 249 189 255 244 188 255 216 188 233 211 190 232 211 189 207 198 189 212 200 189 255 254 189 255 255 188 255 255 188 255 255 188 255 255 187 255 255 187 255 255 187 255 255 187 255 255 186 255 255 186 255 255 186 255 255 186 255 255 185 255 235 185 200 192 185 255 255 184 255 238 184 255 247 184 255 243 184 255 255 183 255 255 183 255 255 183 255 255 182 255 255 182 255 255 182 255 255 182 255 255 181 255 224 133 255 223 133 255 223 133 62 62 62 61 61 61 14 14 14 14 14 14 14 14 14 19 19 19 19 19 19 19 19 19 5 5 5 5 5 5 26 26 26 26 26 26 26 26 26 19 19 19 19 19 19 19 19 19 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 118 118 118 118 118 118 165 165 165 165 165 165 165 165 165 170 170 170 169 169 169 169 169 169 169 169 169 168 168 168 170 170 170 170 170 170 169 169 169 171 171 171 171 171 171 169 169 169 168 168 168 168 168 168 170 170 170 169 169 169 169 169 169 167 167 167 167 167 167 167 167 167 166 166 166 166 166 166 166 166 166 165 165 165 167 167 167 167 167 167 166 166 166 164 164 164 164 164 164 164 164 164 165 165 165 165 165 165 165 165 165 165 165 165 164 164 164 164 164 164 164 164 164 164 164 164 163 163 163 163 163 163 161 161 161 161 161 161 161 161 161 161 161 161 160 160 160 158 158 158 158 158 158 158 158 158 114 114 114 113 113 113 74 74 74 74 74 74 74 74 74 90 90 90 90 90 90 90 90 90 120 120 120 120 120 120 28 28 28 28 28 28 28 28 28 6 6 6 6 6 6 15 15 15 15 15 15 15 15 15 30 30 30 30 30 30 30 30 30 147 147 147 146 146 146 153 153 153 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 153 153 153 153 153 153 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 145 145 145 145 145 145 145 145 145 138 138 138 138 138 138 138 138 138 146 146 146
+219 175 219 219 175 219 219 175 219 219 175 219 218 175 218 218 175 218 218 174 218 218 174 218 218 174 218 218 174 218 218 174 218 218 174 218 217 174 217 217 174 217 217 174 217 217 174 217 160 128 160 160 128 160 74 59 74 74 59 74 74 59 74 17 14 17 17 14 17 17 14 17 24 19 24 24 19 24 6 5 6 6 5 6 6 5 6 32 26 32 32 26 32 32 26 32 23 19 23 23 19 23 19 15 19 19 15 19 19 15 19 19 15 19 19 15 19 145 116 145 144 115 144 144 115 144 203 162 203 202 162 202 202 162 202 209 167 209 208 167 208 208 167 208 208 166 208 208 166 208 210 168 210 210 168 210 210 168 210 212 169 212 211 169 211 209 167 209 209 167 209 209 167 209 211 168 211 211 168 211 210 168 210 208 166 208 208 166 208 208 166 208 208 166 208 207 166 207 207 166 207 207 166 207 209 167 209 209 167 209 209 167 209 206 165 206 206 165 206 206 165 206 208 166 208 208 166 208 207 166 207 207 166 207 207 166 207 207 165 207 207 165 207 206 165 206 206 165 206 206 165 206 204 163 204 204 163 204 203 163 203 203 162 203 203 162 203 201 160 201 200 160 200 200 160 200 144 115 144 144 115 144 144 115 144 94 75 94 94 75 94 115 92 115 115 92 115 114 91 114 153 123 153 153 122 153 153 122 153 36 29 36 36 29 36 8 6 8 8 6 8 8 6 8 20 16 20 20 16 20 20 16 20 38 30 38 38 30 38 187 150 187 187 150 187 187 149 187 195 156 195 195 156 195 194 155 194 194 155 194 194 155 194 196 156 196 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 225 239 255 255 255 255 255 255 255 255 255 255 255 255 255 245 186 255 245 186 255 244 186 255 241 184 255 242 183 255 247 187 255 244 187 255 245 187 255 251 190 255 251 190 255 251 190 255 248 188 255 248 187 255 250 189 255 217 189 213 161 188 208 199 190 200 195 190 205 197 190 222 206 189 255 255 189 255 255 189 255 255 188 255 255 188 255 255 188 255 255 188 255 255 187 255 255 187 255 255 187 255 255 187 255 255 186 255 255 186 255 224 186 251 218 185 238 212 185 255 232 185 255 231 185 255 250 184 255 219 184 255 255 184 255 255 183 255 255 183 255 255 183 255 255 183 255 255 182 255 255 182 255 255 182 255 255 182 255 224 134 255 225 133 146 104 62 62 62 62 62 62 62 14 14 14 14 14 14 19 19 19 19 19 19 19 19 19 5 5 5 5 5 5 5 5 5 26 26 26 26 26 26 19 19 19 19 19 19 19 19 19 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 118 118 118 118 118 118 118 118 118 165 165 165 165 165 165 165 165 165 170 170 170 169 169 169 169 169 169 169 169 169 169 169 169 170 170 170 170 170 170 171 171 171 171 171 171 171 171 171 169 169 169 169 169 169 168 168 168 170 170 170 169 169 169 167 167 167 167 167 167 167 167 167 167 167 167 166 166 166 166 166 166 166 166 166 166 166 166 167 167 167 167 167 167 167 167 167 165 165 165 164 164 164 166 166 166 166 166 166 165 165 165 165 165 165 165 165 165 165 165 165 164 164 164 164 164 164 164 164 164 164 164 164 163 163 163 161 161 161 161 161 161 161 161 161 161 161 161 160 160 160 159 159 159 158 158 158 158 158 158 114 114 114 114 114 114 113 113 113 74 74 74 74 74 74 90 90 90 90 90 90 90 90 90 121 121 121 120 120 120 28 28 28 28 28 28 28 28 28 6 6 6 6 6 6 6 6 6 15 15 15 15 15 15 30 30 30 30 30 30 30 30 30 147 147 147 147 147 147 146 146 146 153 153 153 152 152 152 152 152 152 152 152 152 152 152 152 153 153 153 153 153 153 153 153 153 152 152 152 152 152 152 152 152 152 152 152 152 152 152 152 145 145 145 145 145 145 139 139 139 138 138 138 138 138 138
+
diff --git a/testsuite/tests/programs/galois_raytrace/test.T b/testsuite/tests/programs/galois_raytrace/test.T
new file mode 100644
index 0000000000..169e162d6a
--- /dev/null
+++ b/testsuite/tests/programs/galois_raytrace/test.T
@@ -0,0 +1,26 @@
+setTestOpts(omit_compiler_types(['hugs'])) # takes much too long
+
+# Floating point differences on x86 using the NCG
+if config.platform.startswith('i386-') and \
+ config.platform != 'i386-unknown-openbsd':
+ setTestOpts(expect_fail_for(['hpc','optasm','profasm','threaded2','profthreaded']))
+
+test('galois_raytrace',
+ [skip_if_fast,
+ extra_clean(['CSG.hi', 'CSG.o',
+ 'Construct.hi', 'Construct.o',
+ 'Data.hi', 'Data.o',
+ 'Eval.hi', 'Eval.o',
+ 'Geometry.hi', 'Geometry.o',
+ 'Illumination.hi', 'Illumination.o',
+ 'Intersections.hi', 'Intersections.o',
+ 'Interval.hi', 'Interval.o',
+ 'Main.hi', 'Main.o',
+ 'Misc.hi', 'Misc.o',
+ 'Parse.hi', 'Parse.o',
+ 'Primitives.hi', 'Primitives.o',
+ 'Surface.hi', 'Surface.o']),
+ reqlib('parsec')],
+ multimod_compile_and_run,
+ ['Main','-package parsec'])
+