module Codecs.Mp3.HuffArrays where import Data.Array import Control.Monad (liftM) import Data.Binary.BitString.BitGet -- SmallTable / Deep Table type MP3Huffman a = Either (HuffArray a) (HuffDeep a) type HuffArray a = (Int, Array Int (Int, a)) -- plain lookup type HuffDeep a = (Int, -- code word length Array Int (Either (Int,a) -- we may find values (HuffArray a))) -- and we may find arrays -- Table# -> (linbits,table) getTree :: Int -> (Int,MP3Huffman (Int,Int)) getTree x = case x of 0 -> (0,table0) 1 -> (0,table1) 2 -> (0,table2) 3 -> (0,table3) -- 4 not used 5 -> (0,table5) 6 -> (0,table6) 7 -> (0,table7) 8 -> (0,table8) 9 -> (0,table9) 10 -> (0,table10) 11 -> (0,table11) 12 -> (0,table12) 13 -> (0,table13) -- 14 not used 15 -> (0,table15) 16 -> (1,table16) 17 -> (2,table16) 18 -> (3,table16) 19 -> (4,table16) 20 -> (6,table16) 21 -> (8,table16) 22 -> (10,table16) 23 -> (13,table16) 24 -> (4,table24) 25 -> (5,table24) 26 -> (6,table24) 27 -> (7,table24) 28 -> (8,table24) 29 -> (9,table24) 30 -> (11,table24) 31 -> (13,table24) _ -> error "no such huff table" -- Lookup a value in the huffman array lookupHuff :: Monad m =>MP3Huffman a -> BitGetT m (Int,a) lookupHuff huff = case huff of Left (cw,arr) -> liftM (arr !) (f cw) Right (cw,arr) -> do i <- f cw case arr ! i of Left a -> return a Right (cw',arr') -> do (l,a) <- liftM (arr' !) (f cw') return (cw+l,a) -- total read: cw + l where f w | w <= 8 = liftM fromIntegral (getAsWord8 $ fromIntegral w) | w <= 16 = liftM fromIntegral (getAsWord16 $ fromIntegral w) -- Get the quadruple tables getQuadrTable :: Bool -> MP3Huffman (Int,Int,Int,Int) getQuadrTable True = Left (4,quadrTable2) getQuadrTable False = Left (6,quadrTable1) -- VWXY Tables below... quadrTable1 = (array (0,63) [(0,(6,(1,0,1,1))),(1,(6,(1,1,1,1))),(2,(6,(1,1,0,1))),(3,(6,(1,1,1,0))), (4,(6,(0,1,1,1))),(5,(6,(0,1,0,1))),(6,(5,(1,0,0,1))),(7,(5,(1,0,0,1))), (8,(5,(0,1,1,0))),(9,(5,(0,1,1,0))),(10,(5,(0,0,1,1))),(11,(5,(0,0,1,1))), (12,(5,(1,0,1,0))),(13,(5,(1,0,1,0))),(14,(5,(1,1,0,0))),(15,(5,(1,1,0,0))), (16,(4,(0,0,1,0))),(17,(4,(0,0,1,0))),(18,(4,(0,0,1,0))),(19,(4,(0,0,1,0))), (20,(4,(0,0,0,1))),(21,(4,(0,0,0,1))),(22,(4,(0,0,0,1))),(23,(4,(0,0,0,1))), (24,(4,(0,1,0,0))),(25,(4,(0,1,0,0))),(26,(4,(0,1,0,0))),(27,(4,(0,1,0,0))), (28,(4,(1,0,0,0))),(29,(4,(1,0,0,0))),(30,(4,(1,0,0,0))),(31,(4,(1,0,0,0))), (32,(1,(0,0,0,0))),(33,(1,(0,0,0,0))),(34,(1,(0,0,0,0))),(35,(1,(0,0,0,0))), (36,(1,(0,0,0,0))),(37,(1,(0,0,0,0))),(38,(1,(0,0,0,0))),(39,(1,(0,0,0,0))), (40,(1,(0,0,0,0))),(41,(1,(0,0,0,0))),(42,(1,(0,0,0,0))),(43,(1,(0,0,0,0))), (44,(1,(0,0,0,0))),(45,(1,(0,0,0,0))),(46,(1,(0,0,0,0))),(47,(1,(0,0,0,0))), (48,(1,(0,0,0,0))),(49,(1,(0,0,0,0))),(50,(1,(0,0,0,0))),(51,(1,(0,0,0,0))), (52,(1,(0,0,0,0))),(53,(1,(0,0,0,0))),(54,(1,(0,0,0,0))),(55,(1,(0,0,0,0))), (56,(1,(0,0,0,0))),(57,(1,(0,0,0,0))),(58,(1,(0,0,0,0))),(59,(1,(0,0,0,0))), (60,(1,(0,0,0,0))),(61,(1,(0,0,0,0))),(62,(1,(0,0,0,0))),(63,(1,(0,0,0,0)))]) quadrTable2 = (array (0,15) [(0,(4,(1,1,1,1))),(1,(4,(1,1,1,0))),(2,(4,(1,1,0,1))),(3,(4,(1,1,0,0))), (4,(4,(1,0,1,1))),(5,(4,(1,0,1,0))),(6,(4,(1,0,0,1))),(7,(4,(1,0,0,0))), (8,(4,(0,1,1,1))),(9,(4,(0,1,1,0))),(10,(4,(0,1,0,1))),(11,(4,(0,1,0,0))), (12,(4,(0,0,1,1))),(13,(4,(0,0,1,0))),(14,(4,(0,0,0,1))),(15,(4,(0,0,0,0)))]) -- XY Tables below... table0 = Left (0,array (0,0) [(0,(0,(0,0)))]) -- XY Tables below... table1 = Left (3,array (0,7) [(0,(3,(1,1))),(1,(3,(0,1))),(2,(2,(1,0))),(3,(2,(1,0))),(4,(1,(0,0))),(5,(1,(0,0))),(6,(1,(0,0))),(7,(1,(0,0)))]) table2 = Left (6,array (0,63) [(0,(6,(2,2))),(1,(6,(0,2))),(2,(5,(1,2))),(3,(5,(1,2))),(4,(5,(2,1))),(5,(5,(2,1))),(6,(5,(2,0))),(7,(5,(2,0))),(8,(3,(1,1))),(9,(3,(1,1))),(10,(3,(1,1))),(11,(3,(1,1))),(12,(3,(1,1))),(13,(3,(1,1))),(14,(3,(1,1))),(15,(3,(1,1))),(16,(3,(0,1))),(17,(3,(0,1))),(18,(3,(0,1))),(19,(3,(0,1))),(20,(3,(0,1))),(21,(3,(0,1))),(22,(3,(0,1))),(23,(3,(0,1))),(24,(3,(1,0))),(25,(3,(1,0))),(26,(3,(1,0))),(27,(3,(1,0))),(28,(3,(1,0))),(29,(3,(1,0))),(30,(3,(1,0))),(31,(3,(1,0))),(32,(1,(0,0))),(33,(1,(0,0))),(34,(1,(0,0))),(35,(1,(0,0))),(36,(1,(0,0))),(37,(1,(0,0))),(38,(1,(0,0))),(39,(1,(0,0))),(40,(1,(0,0))),(41,(1,(0,0))),(42,(1,(0,0))),(43,(1,(0,0))),(44,(1,(0,0))),(45,(1,(0,0))),(46,(1,(0,0))),(47,(1,(0,0))),(48,(1,(0,0))),(49,(1,(0,0))),(50,(1,(0,0))),(51,(1,(0,0))),(52,(1,(0,0))),(53,(1,(0,0))),(54,(1,(0,0))),(55,(1,(0,0))),(56,(1,(0,0))),(57,(1,(0,0))),(58,(1,(0,0))),(59,(1,(0,0))),(60,(1,(0,0))),(61,(1,(0,0))),(62,(1,(0,0))),(63,(1,(0,0)))]) table3 = Left (6,array (0,63) [(0,(6,(2,2))),(1,(6,(0,2))),(2,(5,(1,2))),(3,(5,(1,2))),(4,(5,(2,1))),(5,(5,(2,1))),(6,(5,(2,0))),(7,(5,(2,0))),(8,(3,(1,0))),(9,(3,(1,0))),(10,(3,(1,0))),(11,(3,(1,0))),(12,(3,(1,0))),(13,(3,(1,0))),(14,(3,(1,0))),(15,(3,(1,0))),(16,(2,(1,1))),(17,(2,(1,1))),(18,(2,(1,1))),(19,(2,(1,1))),(20,(2,(1,1))),(21,(2,(1,1))),(22,(2,(1,1))),(23,(2,(1,1))),(24,(2,(1,1))),(25,(2,(1,1))),(26,(2,(1,1))),(27,(2,(1,1))),(28,(2,(1,1))),(29,(2,(1,1))),(30,(2,(1,1))),(31,(2,(1,1))),(32,(2,(0,1))),(33,(2,(0,1))),(34,(2,(0,1))),(35,(2,(0,1))),(36,(2,(0,1))),(37,(2,(0,1))),(38,(2,(0,1))),(39,(2,(0,1))),(40,(2,(0,1))),(41,(2,(0,1))),(42,(2,(0,1))),(43,(2,(0,1))),(44,(2,(0,1))),(45,(2,(0,1))),(46,(2,(0,1))),(47,(2,(0,1))),(48,(2,(0,0))),(49,(2,(0,0))),(50,(2,(0,0))),(51,(2,(0,0))),(52,(2,(0,0))),(53,(2,(0,0))),(54,(2,(0,0))),(55,(2,(0,0))),(56,(2,(0,0))),(57,(2,(0,0))),(58,(2,(0,0))),(59,(2,(0,0))),(60,(2,(0,0))),(61,(2,(0,0))),(62,(2,(0,0))),(63,(2,(0,0)))]) table5 = Left (8,array (0,255) [(0,(8,(3,3))),(1,(8,(2,3))),(2,(7,(3,2))),(3,(7,(3,2))),(4,(6,(3,1))),(5,(6,(3,1))),(6,(6,(3,1))),(7,(6,(3,1))),(8,(7,(1,3))),(9,(7,(1,3))),(10,(7,(0,3))),(11,(7,(0,3))),(12,(7,(3,0))),(13,(7,(3,0))),(14,(7,(2,2))),(15,(7,(2,2))),(16,(6,(1,2))),(17,(6,(1,2))),(18,(6,(1,2))),(19,(6,(1,2))),(20,(6,(2,1))),(21,(6,(2,1))),(22,(6,(2,1))),(23,(6,(2,1))),(24,(6,(0,2))),(25,(6,(0,2))),(26,(6,(0,2))),(27,(6,(0,2))),(28,(6,(2,0))),(29,(6,(2,0))),(30,(6,(2,0))),(31,(6,(2,0))),(32,(3,(1,1))),(33,(3,(1,1))),(34,(3,(1,1))),(35,(3,(1,1))),(36,(3,(1,1))),(37,(3,(1,1))),(38,(3,(1,1))),(39,(3,(1,1))),(40,(3,(1,1))),(41,(3,(1,1))),(42,(3,(1,1))),(43,(3,(1,1))),(44,(3,(1,1))),(45,(3,(1,1))),(46,(3,(1,1))),(47,(3,(1,1))),(48,(3,(1,1))),(49,(3,(1,1))),(50,(3,(1,1))),(51,(3,(1,1))),(52,(3,(1,1))),(53,(3,(1,1))),(54,(3,(1,1))),(55,(3,(1,1))),(56,(3,(1,1))),(57,(3,(1,1))),(58,(3,(1,1))),(59,(3,(1,1))),(60,(3,(1,1))),(61,(3,(1,1))),(62,(3,(1,1))),(63,(3,(1,1))),(64,(3,(0,1))),(65,(3,(0,1))),(66,(3,(0,1))),(67,(3,(0,1))),(68,(3,(0,1))),(69,(3,(0,1))),(70,(3,(0,1))),(71,(3,(0,1))),(72,(3,(0,1))),(73,(3,(0,1))),(74,(3,(0,1))),(75,(3,(0,1))),(76,(3,(0,1))),(77,(3,(0,1))),(78,(3,(0,1))),(79,(3,(0,1))),(80,(3,(0,1))),(81,(3,(0,1))),(82,(3,(0,1))),(83,(3,(0,1))),(84,(3,(0,1))),(85,(3,(0,1))),(86,(3,(0,1))),(87,(3,(0,1))),(88,(3,(0,1))),(89,(3,(0,1))),(90,(3,(0,1))),(91,(3,(0,1))),(92,(3,(0,1))),(93,(3,(0,1))),(94,(3,(0,1))),(95,(3,(0,1))),(96,(3,(1,0))),(97,(3,(1,0))),(98,(3,(1,0))),(99,(3,(1,0))),(100,(3,(1,0))),(101,(3,(1,0))),(102,(3,(1,0))),(103,(3,(1,0))),(104,(3,(1,0))),(105,(3,(1,0))),(106,(3,(1,0))),(107,(3,(1,0))),(108,(3,(1,0))),(109,(3,(1,0))),(110,(3,(1,0))),(111,(3,(1,0))),(112,(3,(1,0))),(113,(3,(1,0))),(114,(3,(1,0))),(115,(3,(1,0))),(116,(3,(1,0))),(117,(3,(1,0))),(118,(3,(1,0))),(119,(3,(1,0))),(120,(3,(1,0))),(121,(3,(1,0))),(122,(3,(1,0))),(123,(3,(1,0))),(124,(3,(1,0))),(125,(3,(1,0))),(126,(3,(1,0))),(127,(3,(1,0))),(128,(1,(0,0))),(129,(1,(0,0))),(130,(1,(0,0))),(131,(1,(0,0))),(132,(1,(0,0))),(133,(1,(0,0))),(134,(1,(0,0))),(135,(1,(0,0))),(136,(1,(0,0))),(137,(1,(0,0))),(138,(1,(0,0))),(139,(1,(0,0))),(140,(1,(0,0))),(141,(1,(0,0))),(142,(1,(0,0))),(143,(1,(0,0))),(144,(1,(0,0))),(145,(1,(0,0))),(146,(1,(0,0))),(147,(1,(0,0))),(148,(1,(0,0))),(149,(1,(0,0))),(150,(1,(0,0))),(151,(1,(0,0))),(152,(1,(0,0))),(153,(1,(0,0))),(154,(1,(0,0))),(155,(1,(0,0))),(156,(1,(0,0))),(157,(1,(0,0))),(158,(1,(0,0))),(159,(1,(0,0))),(160,(1,(0,0))),(161,(1,(0,0))),(162,(1,(0,0))),(163,(1,(0,0))),(164,(1,(0,0))),(165,(1,(0,0))),(166,(1,(0,0))),(167,(1,(0,0))),(168,(1,(0,0))),(169,(1,(0,0))),(170,(1,(0,0))),(171,(1,(0,0))),(172,(1,(0,0))),(173,(1,(0,0))),(174,(1,(0,0))),(175,(1,(0,0))),(176,(1,(0,0))),(177,(1,(0,0))),(178,(1,(0,0))),(179,(1,(0,0))),(180,(1,(0,0))),(181,(1,(0,0))),(182,(1,(0,0))),(183,(1,(0,0))),(184,(1,(0,0))),(185,(1,(0,0))),(186,(1,(0,0))),(187,(1,(0,0))),(188,(1,(0,0))),(189,(1,(0,0))),(190,(1,(0,0))),(191,(1,(0,0))),(192,(1,(0,0))),(193,(1,(0,0))),(194,(1,(0,0))),(195,(1,(0,0))),(196,(1,(0,0))),(197,(1,(0,0))),(198,(1,(0,0))),(199,(1,(0,0))),(200,(1,(0,0))),(201,(1,(0,0))),(202,(1,(0,0))),(203,(1,(0,0))),(204,(1,(0,0))),(205,(1,(0,0))),(206,(1,(0,0))),(207,(1,(0,0))),(208,(1,(0,0))),(209,(1,(0,0))),(210,(1,(0,0))),(211,(1,(0,0))),(212,(1,(0,0))),(213,(1,(0,0))),(214,(1,(0,0))),(215,(1,(0,0))),(216,(1,(0,0))),(217,(1,(0,0))),(218,(1,(0,0))),(219,(1,(0,0))),(220,(1,(0,0))),(221,(1,(0,0))),(222,(1,(0,0))),(223,(1,(0,0))),(224,(1,(0,0))),(225,(1,(0,0))),(226,(1,(0,0))),(227,(1,(0,0))),(228,(1,(0,0))),(229,(1,(0,0))),(230,(1,(0,0))),(231,(1,(0,0))),(232,(1,(0,0))),(233,(1,(0,0))),(234,(1,(0,0))),(235,(1,(0,0))),(236,(1,(0,0))),(237,(1,(0,0))),(238,(1,(0,0))),(239,(1,(0,0))),(240,(1,(0,0))),(241,(1,(0,0))),(242,(1,(0,0))),(243,(1,(0,0))),(244,(1,(0,0))),(245,(1,(0,0))),(246,(1,(0,0))),(247,(1,(0,0))),(248,(1,(0,0))),(249,(1,(0,0))),(250,(1,(0,0))),(251,(1,(0,0))),(252,(1,(0,0))),(253,(1,(0,0))),(254,(1,(0,0))),(255,(1,(0,0)))]) table6 = Left (7,array (0,127) [(0,(7,(3,3))),(1,(7,(0,3))),(2,(6,(2,3))),(3,(6,(2,3))),(4,(6,(3,2))),(5,(6,(3,2))),(6,(6,(3,0))),(7,(6,(3,0))),(8,(5,(1,3))),(9,(5,(1,3))),(10,(5,(1,3))),(11,(5,(1,3))),(12,(5,(3,1))),(13,(5,(3,1))),(14,(5,(3,1))),(15,(5,(3,1))),(16,(5,(2,2))),(17,(5,(2,2))),(18,(5,(2,2))),(19,(5,(2,2))),(20,(5,(0,2))),(21,(5,(0,2))),(22,(5,(0,2))),(23,(5,(0,2))),(24,(4,(1,2))),(25,(4,(1,2))),(26,(4,(1,2))),(27,(4,(1,2))),(28,(4,(1,2))),(29,(4,(1,2))),(30,(4,(1,2))),(31,(4,(1,2))),(32,(4,(2,1))),(33,(4,(2,1))),(34,(4,(2,1))),(35,(4,(2,1))),(36,(4,(2,1))),(37,(4,(2,1))),(38,(4,(2,1))),(39,(4,(2,1))),(40,(4,(2,0))),(41,(4,(2,0))),(42,(4,(2,0))),(43,(4,(2,0))),(44,(4,(2,0))),(45,(4,(2,0))),(46,(4,(2,0))),(47,(4,(2,0))),(48,(3,(0,1))),(49,(3,(0,1))),(50,(3,(0,1))),(51,(3,(0,1))),(52,(3,(0,1))),(53,(3,(0,1))),(54,(3,(0,1))),(55,(3,(0,1))),(56,(3,(0,1))),(57,(3,(0,1))),(58,(3,(0,1))),(59,(3,(0,1))),(60,(3,(0,1))),(61,(3,(0,1))),(62,(3,(0,1))),(63,(3,(0,1))),(64,(2,(1,1))),(65,(2,(1,1))),(66,(2,(1,1))),(67,(2,(1,1))),(68,(2,(1,1))),(69,(2,(1,1))),(70,(2,(1,1))),(71,(2,(1,1))),(72,(2,(1,1))),(73,(2,(1,1))),(74,(2,(1,1))),(75,(2,(1,1))),(76,(2,(1,1))),(77,(2,(1,1))),(78,(2,(1,1))),(79,(2,(1,1))),(80,(2,(1,1))),(81,(2,(1,1))),(82,(2,(1,1))),(83,(2,(1,1))),(84,(2,(1,1))),(85,(2,(1,1))),(86,(2,(1,1))),(87,(2,(1,1))),(88,(2,(1,1))),(89,(2,(1,1))),(90,(2,(1,1))),(91,(2,(1,1))),(92,(2,(1,1))),(93,(2,(1,1))),(94,(2,(1,1))),(95,(2,(1,1))),(96,(3,(1,0))),(97,(3,(1,0))),(98,(3,(1,0))),(99,(3,(1,0))),(100,(3,(1,0))),(101,(3,(1,0))),(102,(3,(1,0))),(103,(3,(1,0))),(104,(3,(1,0))),(105,(3,(1,0))),(106,(3,(1,0))),(107,(3,(1,0))),(108,(3,(1,0))),(109,(3,(1,0))),(110,(3,(1,0))),(111,(3,(1,0))),(112,(3,(0,0))),(113,(3,(0,0))),(114,(3,(0,0))),(115,(3,(0,0))),(116,(3,(0,0))),(117,(3,(0,0))),(118,(3,(0,0))),(119,(3,(0,0))),(120,(3,(0,0))),(121,(3,(0,0))),(122,(3,(0,0))),(123,(3,(0,0))),(124,(3,(0,0))),(125,(3,(0,0))),(126,(3,(0,0))),(127,(3,(0,0)))]) table7 = Left (10,array (0,1023) [(0,(10,(5,5))),(1,(10,(4,5))),(2,(10,(5,4))),(3,(10,(5,3))),(4,(9,(3,5))),(5,(9,(3,5))),(6,(9,(4,4))),(7,(9,(4,4))),(8,(9,(2,5))),(9,(9,(2,5))),(10,(9,(5,2))),(11,(9,(5,2))),(12,(8,(1,5))),(13,(8,(1,5))),(14,(8,(1,5))),(15,(8,(1,5))),(16,(8,(5,1))),(17,(8,(5,1))),(18,(8,(5,1))),(19,(8,(5,1))),(20,(9,(0,5))),(21,(9,(0,5))),(22,(9,(3,4))),(23,(9,(3,4))),(24,(8,(5,0))),(25,(8,(5,0))),(26,(8,(5,0))),(27,(8,(5,0))),(28,(9,(4,3))),(29,(9,(4,3))),(30,(9,(3,3))),(31,(9,(3,3))),(32,(8,(2,4))),(33,(8,(2,4))),(34,(8,(2,4))),(35,(8,(2,4))),(36,(8,(4,2))),(37,(8,(4,2))),(38,(8,(4,2))),(39,(8,(4,2))),(40,(7,(1,4))),(41,(7,(1,4))),(42,(7,(1,4))),(43,(7,(1,4))),(44,(7,(1,4))),(45,(7,(1,4))),(46,(7,(1,4))),(47,(7,(1,4))),(48,(7,(4,1))),(49,(7,(4,1))),(50,(7,(4,1))),(51,(7,(4,1))),(52,(7,(4,1))),(53,(7,(4,1))),(54,(7,(4,1))),(55,(7,(4,1))),(56,(7,(4,0))),(57,(7,(4,0))),(58,(7,(4,0))),(59,(7,(4,0))),(60,(7,(4,0))),(61,(7,(4,0))),(62,(7,(4,0))),(63,(7,(4,0))),(64,(8,(0,4))),(65,(8,(0,4))),(66,(8,(0,4))),(67,(8,(0,4))),(68,(8,(2,3))),(69,(8,(2,3))),(70,(8,(2,3))),(71,(8,(2,3))),(72,(8,(3,2))),(73,(8,(3,2))),(74,(8,(3,2))),(75,(8,(3,2))),(76,(8,(0,3))),(77,(8,(0,3))),(78,(8,(0,3))),(79,(8,(0,3))),(80,(7,(1,3))),(81,(7,(1,3))),(82,(7,(1,3))),(83,(7,(1,3))),(84,(7,(1,3))),(85,(7,(1,3))),(86,(7,(1,3))),(87,(7,(1,3))),(88,(7,(3,1))),(89,(7,(3,1))),(90,(7,(3,1))),(91,(7,(3,1))),(92,(7,(3,1))),(93,(7,(3,1))),(94,(7,(3,1))),(95,(7,(3,1))),(96,(7,(3,0))),(97,(7,(3,0))),(98,(7,(3,0))),(99,(7,(3,0))),(100,(7,(3,0))),(101,(7,(3,0))),(102,(7,(3,0))),(103,(7,(3,0))),(104,(7,(2,2))),(105,(7,(2,2))),(106,(7,(2,2))),(107,(7,(2,2))),(108,(7,(2,2))),(109,(7,(2,2))),(110,(7,(2,2))),(111,(7,(2,2))),(112,(6,(1,2))),(113,(6,(1,2))),(114,(6,(1,2))),(115,(6,(1,2))),(116,(6,(1,2))),(117,(6,(1,2))),(118,(6,(1,2))),(119,(6,(1,2))),(120,(6,(1,2))),(121,(6,(1,2))),(122,(6,(1,2))),(123,(6,(1,2))),(124,(6,(1,2))),(125,(6,(1,2))),(126,(6,(1,2))),(127,(6,(1,2))),(128,(5,(2,1))),(129,(5,(2,1))),(130,(5,(2,1))),(131,(5,(2,1))),(132,(5,(2,1))),(133,(5,(2,1))),(134,(5,(2,1))),(135,(5,(2,1))),(136,(5,(2,1))),(137,(5,(2,1))),(138,(5,(2,1))),(139,(5,(2,1))),(140,(5,(2,1))),(141,(5,(2,1))),(142,(5,(2,1))),(143,(5,(2,1))),(144,(5,(2,1))),(145,(5,(2,1))),(146,(5,(2,1))),(147,(5,(2,1))),(148,(5,(2,1))),(149,(5,(2,1))),(150,(5,(2,1))),(151,(5,(2,1))),(152,(5,(2,1))),(153,(5,(2,1))),(154,(5,(2,1))),(155,(5,(2,1))),(156,(5,(2,1))),(157,(5,(2,1))),(158,(5,(2,1))),(159,(5,(2,1))),(160,(6,(0,2))),(161,(6,(0,2))),(162,(6,(0,2))),(163,(6,(0,2))),(164,(6,(0,2))),(165,(6,(0,2))),(166,(6,(0,2))),(167,(6,(0,2))),(168,(6,(0,2))),(169,(6,(0,2))),(170,(6,(0,2))),(171,(6,(0,2))),(172,(6,(0,2))),(173,(6,(0,2))),(174,(6,(0,2))),(175,(6,(0,2))),(176,(6,(2,0))),(177,(6,(2,0))),(178,(6,(2,0))),(179,(6,(2,0))),(180,(6,(2,0))),(181,(6,(2,0))),(182,(6,(2,0))),(183,(6,(2,0))),(184,(6,(2,0))),(185,(6,(2,0))),(186,(6,(2,0))),(187,(6,(2,0))),(188,(6,(2,0))),(189,(6,(2,0))),(190,(6,(2,0))),(191,(6,(2,0))),(192,(4,(1,1))),(193,(4,(1,1))),(194,(4,(1,1))),(195,(4,(1,1))),(196,(4,(1,1))),(197,(4,(1,1))),(198,(4,(1,1))),(199,(4,(1,1))),(200,(4,(1,1))),(201,(4,(1,1))),(202,(4,(1,1))),(203,(4,(1,1))),(204,(4,(1,1))),(205,(4,(1,1))),(206,(4,(1,1))),(207,(4,(1,1))),(208,(4,(1,1))),(209,(4,(1,1))),(210,(4,(1,1))),(211,(4,(1,1))),(212,(4,(1,1))),(213,(4,(1,1))),(214,(4,(1,1))),(215,(4,(1,1))),(216,(4,(1,1))),(217,(4,(1,1))),(218,(4,(1,1))),(219,(4,(1,1))),(220,(4,(1,1))),(221,(4,(1,1))),(222,(4,(1,1))),(223,(4,(1,1))),(224,(4,(1,1))),(225,(4,(1,1))),(226,(4,(1,1))),(227,(4,(1,1))),(228,(4,(1,1))),(229,(4,(1,1))),(230,(4,(1,1))),(231,(4,(1,1))),(232,(4,(1,1))),(233,(4,(1,1))),(234,(4,(1,1))),(235,(4,(1,1))),(236,(4,(1,1))),(237,(4,(1,1))),(238,(4,(1,1))),(239,(4,(1,1))),(240,(4,(1,1))),(241,(4,(1,1))),(242,(4,(1,1))),(243,(4,(1,1))),(244,(4,(1,1))),(245,(4,(1,1))),(246,(4,(1,1))),(247,(4,(1,1))),(248,(4,(1,1))),(249,(4,(1,1))),(250,(4,(1,1))),(251,(4,(1,1))),(252,(4,(1,1))),(253,(4,(1,1))),(254,(4,(1,1))),(255,(4,(1,1))),(256,(3,(0,1))),(257,(3,(0,1))),(258,(3,(0,1))),(259,(3,(0,1))),(260,(3,(0,1))),(261,(3,(0,1))),(262,(3,(0,1))),(263,(3,(0,1))),(264,(3,(0,1))),(265,(3,(0,1))),(266,(3,(0,1))),(267,(3,(0,1))),(268,(3,(0,1))),(269,(3,(0,1))),(270,(3,(0,1))),(271,(3,(0,1))),(272,(3,(0,1))),(273,(3,(0,1))),(274,(3,(0,1))),(275,(3,(0,1))),(276,(3,(0,1))),(277,(3,(0,1))),(278,(3,(0,1))),(279,(3,(0,1))),(280,(3,(0,1))),(281,(3,(0,1))),(282,(3,(0,1))),(283,(3,(0,1))),(284,(3,(0,1))),(285,(3,(0,1))),(286,(3,(0,1))),(287,(3,(0,1))),(288,(3,(0,1))),(289,(3,(0,1))),(290,(3,(0,1))),(291,(3,(0,1))),(292,(3,(0,1))),(293,(3,(0,1))),(294,(3,(0,1))),(295,(3,(0,1))),(296,(3,(0,1))),(297,(3,(0,1))),(298,(3,(0,1))),(299,(3,(0,1))),(300,(3,(0,1))),(301,(3,(0,1))),(302,(3,(0,1))),(303,(3,(0,1))),(304,(3,(0,1))),(305,(3,(0,1))),(306,(3,(0,1))),(307,(3,(0,1))),(308,(3,(0,1))),(309,(3,(0,1))),(310,(3,(0,1))),(311,(3,(0,1))),(312,(3,(0,1))),(313,(3,(0,1))),(314,(3,(0,1))),(315,(3,(0,1))),(316,(3,(0,1))),(317,(3,(0,1))),(318,(3,(0,1))),(319,(3,(0,1))),(320,(3,(0,1))),(321,(3,(0,1))),(322,(3,(0,1))),(323,(3,(0,1))),(324,(3,(0,1))),(325,(3,(0,1))),(326,(3,(0,1))),(327,(3,(0,1))),(328,(3,(0,1))),(329,(3,(0,1))),(330,(3,(0,1))),(331,(3,(0,1))),(332,(3,(0,1))),(333,(3,(0,1))),(334,(3,(0,1))),(335,(3,(0,1))),(336,(3,(0,1))),(337,(3,(0,1))),(338,(3,(0,1))),(339,(3,(0,1))),(340,(3,(0,1))),(341,(3,(0,1))),(342,(3,(0,1))),(343,(3,(0,1))),(344,(3,(0,1))),(345,(3,(0,1))),(346,(3,(0,1))),(347,(3,(0,1))),(348,(3,(0,1))),(349,(3,(0,1))),(350,(3,(0,1))),(351,(3,(0,1))),(352,(3,(0,1))),(353,(3,(0,1))),(354,(3,(0,1))),(355,(3,(0,1))),(356,(3,(0,1))),(357,(3,(0,1))),(358,(3,(0,1))),(359,(3,(0,1))),(360,(3,(0,1))),(361,(3,(0,1))),(362,(3,(0,1))),(363,(3,(0,1))),(364,(3,(0,1))),(365,(3,(0,1))),(366,(3,(0,1))),(367,(3,(0,1))),(368,(3,(0,1))),(369,(3,(0,1))),(370,(3,(0,1))),(371,(3,(0,1))),(372,(3,(0,1))),(373,(3,(0,1))),(374,(3,(0,1))),(375,(3,(0,1))),(376,(3,(0,1))),(377,(3,(0,1))),(378,(3,(0,1))),(379,(3,(0,1))),(380,(3,(0,1))),(381,(3,(0,1))),(382,(3,(0,1))),(383,(3,(0,1))),(384,(3,(1,0))),(385,(3,(1,0))),(386,(3,(1,0))),(387,(3,(1,0))),(388,(3,(1,0))),(389,(3,(1,0))),(390,(3,(1,0))),(391,(3,(1,0))),(392,(3,(1,0))),(393,(3,(1,0))),(394,(3,(1,0))),(395,(3,(1,0))),(396,(3,(1,0))),(397,(3,(1,0))),(398,(3,(1,0))),(399,(3,(1,0))),(400,(3,(1,0))),(401,(3,(1,0))),(402,(3,(1,0))),(403,(3,(1,0))),(404,(3,(1,0))),(405,(3,(1,0))),(406,(3,(1,0))),(407,(3,(1,0))),(408,(3,(1,0))),(409,(3,(1,0))),(410,(3,(1,0))),(411,(3,(1,0))),(412,(3,(1,0))),(413,(3,(1,0))),(414,(3,(1,0))),(415,(3,(1,0))),(416,(3,(1,0))),(417,(3,(1,0))),(418,(3,(1,0))),(419,(3,(1,0))),(420,(3,(1,0))),(421,(3,(1,0))),(422,(3,(1,0))),(423,(3,(1,0))),(424,(3,(1,0))),(425,(3,(1,0))),(426,(3,(1,0))),(427,(3,(1,0))),(428,(3,(1,0))),(429,(3,(1,0))),(430,(3,(1,0))),(431,(3,(1,0))),(432,(3,(1,0))),(433,(3,(1,0))),(434,(3,(1,0))),(435,(3,(1,0))),(436,(3,(1,0))),(437,(3,(1,0))),(438,(3,(1,0))),(439,(3,(1,0))),(440,(3,(1,0))),(441,(3,(1,0))),(442,(3,(1,0))),(443,(3,(1,0))),(444,(3,(1,0))),(445,(3,(1,0))),(446,(3,(1,0))),(447,(3,(1,0))),(448,(3,(1,0))),(449,(3,(1,0))),(450,(3,(1,0))),(451,(3,(1,0))),(452,(3,(1,0))),(453,(3,(1,0))),(454,(3,(1,0))),(455,(3,(1,0))),(456,(3,(1,0))),(457,(3,(1,0))),(458,(3,(1,0))),(459,(3,(1,0))),(460,(3,(1,0))),(461,(3,(1,0))),(462,(3,(1,0))),(463,(3,(1,0))),(464,(3,(1,0))),(465,(3,(1,0))),(466,(3,(1,0))),(467,(3,(1,0))),(468,(3,(1,0))),(469,(3,(1,0))),(470,(3,(1,0))),(471,(3,(1,0))),(472,(3,(1,0))),(473,(3,(1,0))),(474,(3,(1,0))),(475,(3,(1,0))),(476,(3,(1,0))),(477,(3,(1,0))),(478,(3,(1,0))),(479,(3,(1,0))),(480,(3,(1,0))),(481,(3,(1,0))),(482,(3,(1,0))),(483,(3,(1,0))),(484,(3,(1,0))),(485,(3,(1,0))),(486,(3,(1,0))),(487,(3,(1,0))),(488,(3,(1,0))),(489,(3,(1,0))),(490,(3,(1,0))),(491,(3,(1,0))),(492,(3,(1,0))),(493,(3,(1,0))),(494,(3,(1,0))),(495,(3,(1,0))),(496,(3,(1,0))),(497,(3,(1,0))),(498,(3,(1,0))),(499,(3,(1,0))),(500,(3,(1,0))),(501,(3,(1,0))),(502,(3,(1,0))),(503,(3,(1,0))),(504,(3,(1,0))),(505,(3,(1,0))),(506,(3,(1,0))),(507,(3,(1,0))),(508,(3,(1,0))),(509,(3,(1,0))),(510,(3,(1,0))),(511,(3,(1,0))),(512,(1,(0,0))),(513,(1,(0,0))),(514,(1,(0,0))),(515,(1,(0,0))),(516,(1,(0,0))),(517,(1,(0,0))),(518,(1,(0,0))),(519,(1,(0,0))),(520,(1,(0,0))),(521,(1,(0,0))),(522,(1,(0,0))),(523,(1,(0,0))),(524,(1,(0,0))),(525,(1,(0,0))),(526,(1,(0,0))),(527,(1,(0,0))),(528,(1,(0,0))),(529,(1,(0,0))),(530,(1,(0,0))),(531,(1,(0,0))),(532,(1,(0,0))),(533,(1,(0,0))),(534,(1,(0,0))),(535,(1,(0,0))),(536,(1,(0,0))),(537,(1,(0,0))),(538,(1,(0,0))),(539,(1,(0,0))),(540,(1,(0,0))),(541,(1,(0,0))),(542,(1,(0,0))),(543,(1,(0,0))),(544,(1,(0,0))),(545,(1,(0,0))),(546,(1,(0,0))),(547,(1,(0,0))),(548,(1,(0,0))),(549,(1,(0,0))),(550,(1,(0,0))),(551,(1,(0,0))),(552,(1,(0,0))),(553,(1,(0,0))),(554,(1,(0,0))),(555,(1,(0,0))),(556,(1,(0,0))),(557,(1,(0,0))),(558,(1,(0,0))),(559,(1,(0,0))),(560,(1,(0,0))),(561,(1,(0,0))),(562,(1,(0,0))),(563,(1,(0,0))),(564,(1,(0,0))),(565,(1,(0,0))),(566,(1,(0,0))),(567,(1,(0,0))),(568,(1,(0,0))),(569,(1,(0,0))),(570,(1,(0,0))),(571,(1,(0,0))),(572,(1,(0,0))),(573,(1,(0,0))),(574,(1,(0,0))),(575,(1,(0,0))),(576,(1,(0,0))),(577,(1,(0,0))),(578,(1,(0,0))),(579,(1,(0,0))),(580,(1,(0,0))),(581,(1,(0,0))),(582,(1,(0,0))),(583,(1,(0,0))),(584,(1,(0,0))),(585,(1,(0,0))),(586,(1,(0,0))),(587,(1,(0,0))),(588,(1,(0,0))),(589,(1,(0,0))),(590,(1,(0,0))),(591,(1,(0,0))),(592,(1,(0,0))),(593,(1,(0,0))),(594,(1,(0,0))),(595,(1,(0,0))),(596,(1,(0,0))),(597,(1,(0,0))),(598,(1,(0,0))),(599,(1,(0,0))),(600,(1,(0,0))),(601,(1,(0,0))),(602,(1,(0,0))),(603,(1,(0,0))),(604,(1,(0,0))),(605,(1,(0,0))),(606,(1,(0,0))),(607,(1,(0,0))),(608,(1,(0,0))),(609,(1,(0,0))),(610,(1,(0,0))),(611,(1,(0,0))),(612,(1,(0,0))),(613,(1,(0,0))),(614,(1,(0,0))),(615,(1,(0,0))),(616,(1,(0,0))),(617,(1,(0,0))),(618,(1,(0,0))),(619,(1,(0,0))),(620,(1,(0,0))),(621,(1,(0,0))),(622,(1,(0,0))),(623,(1,(0,0))),(624,(1,(0,0))),(625,(1,(0,0))),(626,(1,(0,0))),(627,(1,(0,0))),(628,(1,(0,0))),(629,(1,(0,0))),(630,(1,(0,0))),(631,(1,(0,0))),(632,(1,(0,0))),(633,(1,(0,0))),(634,(1,(0,0))),(635,(1,(0,0))),(636,(1,(0,0))),(637,(1,(0,0))),(638,(1,(0,0))),(639,(1,(0,0))),(640,(1,(0,0))),(641,(1,(0,0))),(642,(1,(0,0))),(643,(1,(0,0))),(644,(1,(0,0))),(645,(1,(0,0))),(646,(1,(0,0))),(647,(1,(0,0))),(648,(1,(0,0))),(649,(1,(0,0))),(650,(1,(0,0))),(651,(1,(0,0))),(652,(1,(0,0))),(653,(1,(0,0))),(654,(1,(0,0))),(655,(1,(0,0))),(656,(1,(0,0))),(657,(1,(0,0))),(658,(1,(0,0))),(659,(1,(0,0))),(660,(1,(0,0))),(661,(1,(0,0))),(662,(1,(0,0))),(663,(1,(0,0))),(664,(1,(0,0))),(665,(1,(0,0))),(666,(1,(0,0))),(667,(1,(0,0))),(668,(1,(0,0))),(669,(1,(0,0))),(670,(1,(0,0))),(671,(1,(0,0))),(672,(1,(0,0))),(673,(1,(0,0))),(674,(1,(0,0))),(675,(1,(0,0))),(676,(1,(0,0))),(677,(1,(0,0))),(678,(1,(0,0))),(679,(1,(0,0))),(680,(1,(0,0))),(681,(1,(0,0))),(682,(1,(0,0))),(683,(1,(0,0))),(684,(1,(0,0))),(685,(1,(0,0))),(686,(1,(0,0))),(687,(1,(0,0))),(688,(1,(0,0))),(689,(1,(0,0))),(690,(1,(0,0))),(691,(1,(0,0))),(692,(1,(0,0))),(693,(1,(0,0))),(694,(1,(0,0))),(695,(1,(0,0))),(696,(1,(0,0))),(697,(1,(0,0))),(698,(1,(0,0))),(699,(1,(0,0))),(700,(1,(0,0))),(701,(1,(0,0))),(702,(1,(0,0))),(703,(1,(0,0))),(704,(1,(0,0))),(705,(1,(0,0))),(706,(1,(0,0))),(707,(1,(0,0))),(708,(1,(0,0))),(709,(1,(0,0))),(710,(1,(0,0))),(711,(1,(0,0))),(712,(1,(0,0))),(713,(1,(0,0))),(714,(1,(0,0))),(715,(1,(0,0))),(716,(1,(0,0))),(717,(1,(0,0))),(718,(1,(0,0))),(719,(1,(0,0))),(720,(1,(0,0))),(721,(1,(0,0))),(722,(1,(0,0))),(723,(1,(0,0))),(724,(1,(0,0))),(725,(1,(0,0))),(726,(1,(0,0))),(727,(1,(0,0))),(728,(1,(0,0))),(729,(1,(0,0))),(730,(1,(0,0))),(731,(1,(0,0))),(732,(1,(0,0))),(733,(1,(0,0))),(734,(1,(0,0))),(735,(1,(0,0))),(736,(1,(0,0))),(737,(1,(0,0))),(738,(1,(0,0))),(739,(1,(0,0))),(740,(1,(0,0))),(741,(1,(0,0))),(742,(1,(0,0))),(743,(1,(0,0))),(744,(1,(0,0))),(745,(1,(0,0))),(746,(1,(0,0))),(747,(1,(0,0))),(748,(1,(0,0))),(749,(1,(0,0))),(750,(1,(0,0))),(751,(1,(0,0))),(752,(1,(0,0))),(753,(1,(0,0))),(754,(1,(0,0))),(755,(1,(0,0))),(756,(1,(0,0))),(757,(1,(0,0))),(758,(1,(0,0))),(759,(1,(0,0))),(760,(1,(0,0))),(761,(1,(0,0))),(762,(1,(0,0))),(763,(1,(0,0))),(764,(1,(0,0))),(765,(1,(0,0))),(766,(1,(0,0))),(767,(1,(0,0))),(768,(1,(0,0))),(769,(1,(0,0))),(770,(1,(0,0))),(771,(1,(0,0))),(772,(1,(0,0))),(773,(1,(0,0))),(774,(1,(0,0))),(775,(1,(0,0))),(776,(1,(0,0))),(777,(1,(0,0))),(778,(1,(0,0))),(779,(1,(0,0))),(780,(1,(0,0))),(781,(1,(0,0))),(782,(1,(0,0))),(783,(1,(0,0))),(784,(1,(0,0))),(785,(1,(0,0))),(786,(1,(0,0))),(787,(1,(0,0))),(788,(1,(0,0))),(789,(1,(0,0))),(790,(1,(0,0))),(791,(1,(0,0))),(792,(1,(0,0))),(793,(1,(0,0))),(794,(1,(0,0))),(795,(1,(0,0))),(796,(1,(0,0))),(797,(1,(0,0))),(798,(1,(0,0))),(799,(1,(0,0))),(800,(1,(0,0))),(801,(1,(0,0))),(802,(1,(0,0))),(803,(1,(0,0))),(804,(1,(0,0))),(805,(1,(0,0))),(806,(1,(0,0))),(807,(1,(0,0))),(808,(1,(0,0))),(809,(1,(0,0))),(810,(1,(0,0))),(811,(1,(0,0))),(812,(1,(0,0))),(813,(1,(0,0))),(814,(1,(0,0))),(815,(1,(0,0))),(816,(1,(0,0))),(817,(1,(0,0))),(818,(1,(0,0))),(819,(1,(0,0))),(820,(1,(0,0))),(821,(1,(0,0))),(822,(1,(0,0))),(823,(1,(0,0))),(824,(1,(0,0))),(825,(1,(0,0))),(826,(1,(0,0))),(827,(1,(0,0))),(828,(1,(0,0))),(829,(1,(0,0))),(830,(1,(0,0))),(831,(1,(0,0))),(832,(1,(0,0))),(833,(1,(0,0))),(834,(1,(0,0))),(835,(1,(0,0))),(836,(1,(0,0))),(837,(1,(0,0))),(838,(1,(0,0))),(839,(1,(0,0))),(840,(1,(0,0))),(841,(1,(0,0))),(842,(1,(0,0))),(843,(1,(0,0))),(844,(1,(0,0))),(845,(1,(0,0))),(846,(1,(0,0))),(847,(1,(0,0))),(848,(1,(0,0))),(849,(1,(0,0))),(850,(1,(0,0))),(851,(1,(0,0))),(852,(1,(0,0))),(853,(1,(0,0))),(854,(1,(0,0))),(855,(1,(0,0))),(856,(1,(0,0))),(857,(1,(0,0))),(858,(1,(0,0))),(859,(1,(0,0))),(860,(1,(0,0))),(861,(1,(0,0))),(862,(1,(0,0))),(863,(1,(0,0))),(864,(1,(0,0))),(865,(1,(0,0))),(866,(1,(0,0))),(867,(1,(0,0))),(868,(1,(0,0))),(869,(1,(0,0))),(870,(1,(0,0))),(871,(1,(0,0))),(872,(1,(0,0))),(873,(1,(0,0))),(874,(1,(0,0))),(875,(1,(0,0))),(876,(1,(0,0))),(877,(1,(0,0))),(878,(1,(0,0))),(879,(1,(0,0))),(880,(1,(0,0))),(881,(1,(0,0))),(882,(1,(0,0))),(883,(1,(0,0))),(884,(1,(0,0))),(885,(1,(0,0))),(886,(1,(0,0))),(887,(1,(0,0))),(888,(1,(0,0))),(889,(1,(0,0))),(890,(1,(0,0))),(891,(1,(0,0))),(892,(1,(0,0))),(893,(1,(0,0))),(894,(1,(0,0))),(895,(1,(0,0))),(896,(1,(0,0))),(897,(1,(0,0))),(898,(1,(0,0))),(899,(1,(0,0))),(900,(1,(0,0))),(901,(1,(0,0))),(902,(1,(0,0))),(903,(1,(0,0))),(904,(1,(0,0))),(905,(1,(0,0))),(906,(1,(0,0))),(907,(1,(0,0))),(908,(1,(0,0))),(909,(1,(0,0))),(910,(1,(0,0))),(911,(1,(0,0))),(912,(1,(0,0))),(913,(1,(0,0))),(914,(1,(0,0))),(915,(1,(0,0))),(916,(1,(0,0))),(917,(1,(0,0))),(918,(1,(0,0))),(919,(1,(0,0))),(920,(1,(0,0))),(921,(1,(0,0))),(922,(1,(0,0))),(923,(1,(0,0))),(924,(1,(0,0))),(925,(1,(0,0))),(926,(1,(0,0))),(927,(1,(0,0))),(928,(1,(0,0))),(929,(1,(0,0))),(930,(1,(0,0))),(931,(1,(0,0))),(932,(1,(0,0))),(933,(1,(0,0))),(934,(1,(0,0))),(935,(1,(0,0))),(936,(1,(0,0))),(937,(1,(0,0))),(938,(1,(0,0))),(939,(1,(0,0))),(940,(1,(0,0))),(941,(1,(0,0))),(942,(1,(0,0))),(943,(1,(0,0))),(944,(1,(0,0))),(945,(1,(0,0))),(946,(1,(0,0))),(947,(1,(0,0))),(948,(1,(0,0))),(949,(1,(0,0))),(950,(1,(0,0))),(951,(1,(0,0))),(952,(1,(0,0))),(953,(1,(0,0))),(954,(1,(0,0))),(955,(1,(0,0))),(956,(1,(0,0))),(957,(1,(0,0))),(958,(1,(0,0))),(959,(1,(0,0))),(960,(1,(0,0))),(961,(1,(0,0))),(962,(1,(0,0))),(963,(1,(0,0))),(964,(1,(0,0))),(965,(1,(0,0))),(966,(1,(0,0))),(967,(1,(0,0))),(968,(1,(0,0))),(969,(1,(0,0))),(970,(1,(0,0))),(971,(1,(0,0))),(972,(1,(0,0))),(973,(1,(0,0))),(974,(1,(0,0))),(975,(1,(0,0))),(976,(1,(0,0))),(977,(1,(0,0))),(978,(1,(0,0))),(979,(1,(0,0))),(980,(1,(0,0))),(981,(1,(0,0))),(982,(1,(0,0))),(983,(1,(0,0))),(984,(1,(0,0))),(985,(1,(0,0))),(986,(1,(0,0))),(987,(1,(0,0))),(988,(1,(0,0))),(989,(1,(0,0))),(990,(1,(0,0))),(991,(1,(0,0))),(992,(1,(0,0))),(993,(1,(0,0))),(994,(1,(0,0))),(995,(1,(0,0))),(996,(1,(0,0))),(997,(1,(0,0))),(998,(1,(0,0))),(999,(1,(0,0))),(1000,(1,(0,0))),(1001,(1,(0,0))),(1002,(1,(0,0))),(1003,(1,(0,0))),(1004,(1,(0,0))),(1005,(1,(0,0))),(1006,(1,(0,0))),(1007,(1,(0,0))),(1008,(1,(0,0))),(1009,(1,(0,0))),(1010,(1,(0,0))),(1011,(1,(0,0))),(1012,(1,(0,0))),(1013,(1,(0,0))),(1014,(1,(0,0))),(1015,(1,(0,0))),(1016,(1,(0,0))),(1017,(1,(0,0))),(1018,(1,(0,0))),(1019,(1,(0,0))),(1020,(1,(0,0))),(1021,(1,(0,0))),(1022,(1,(0,0))),(1023,(1,(0,0)))]) table8 = Right (8,array (0,255) [(0,Right (3,array (0,7) [(0,(3,(5,5))),(1,(3,(5,4))),(2,(2,(4,5))),(3,(2,(4,5))),(4,(1,(5,3))),(5,(1,(5,3))),(6,(1,(5,3))),(7,(1,(5,3)))])),(1,Right (2,array (0,3) [(0,(2,(3,5))),(1,(2,(4,4))),(2,(1,(2,5))),(3,(1,(2,5)))])),(2,Right (1,array (0,1) [(0,(1,(5,2))),(1,(1,(0,5)))])),(3,Left (8,(1,5))),(4,Left (8,(5,1))),(5,Right (1,array (0,1) [(0,(1,(3,4))),(1,(1,(4,3)))])),(6,Right (1,array (0,1) [(0,(1,(5,0))),(1,(1,(3,3)))])),(7,Left (8,(2,4))),(8,Left (8,(4,2))),(9,Left (8,(1,4))),(10,Left (7,(4,1))),(11,Left (7,(4,1))),(12,Left (8,(0,4))),(13,Left (8,(4,0))),(14,Left (8,(2,3))),(15,Left (8,(3,2))),(16,Left (8,(1,3))),(17,Left (8,(3,1))),(18,Left (8,(0,3))),(19,Left (8,(3,0))),(20,Left (6,(2,2))),(21,Left (6,(2,2))),(22,Left (6,(2,2))),(23,Left (6,(2,2))),(24,Left (6,(0,2))),(25,Left (6,(0,2))),(26,Left (6,(0,2))),(27,Left (6,(0,2))),(28,Left (6,(2,0))),(29,Left (6,(2,0))),(30,Left (6,(2,0))),(31,Left (6,(2,0))),(32,Left (4,(1,2))),(33,Left (4,(1,2))),(34,Left (4,(1,2))),(35,Left (4,(1,2))),(36,Left (4,(1,2))),(37,Left (4,(1,2))),(38,Left (4,(1,2))),(39,Left (4,(1,2))),(40,Left (4,(1,2))),(41,Left (4,(1,2))),(42,Left (4,(1,2))),(43,Left (4,(1,2))),(44,Left (4,(1,2))),(45,Left (4,(1,2))),(46,Left (4,(1,2))),(47,Left (4,(1,2))),(48,Left (4,(2,1))),(49,Left (4,(2,1))),(50,Left (4,(2,1))),(51,Left (4,(2,1))),(52,Left (4,(2,1))),(53,Left (4,(2,1))),(54,Left (4,(2,1))),(55,Left (4,(2,1))),(56,Left (4,(2,1))),(57,Left (4,(2,1))),(58,Left (4,(2,1))),(59,Left (4,(2,1))),(60,Left (4,(2,1))),(61,Left (4,(2,1))),(62,Left (4,(2,1))),(63,Left (4,(2,1))),(64,Left (2,(1,1))),(65,Left (2,(1,1))),(66,Left (2,(1,1))),(67,Left (2,(1,1))),(68,Left (2,(1,1))),(69,Left (2,(1,1))),(70,Left (2,(1,1))),(71,Left (2,(1,1))),(72,Left (2,(1,1))),(73,Left (2,(1,1))),(74,Left (2,(1,1))),(75,Left (2,(1,1))),(76,Left (2,(1,1))),(77,Left (2,(1,1))),(78,Left (2,(1,1))),(79,Left (2,(1,1))),(80,Left (2,(1,1))),(81,Left (2,(1,1))),(82,Left (2,(1,1))),(83,Left (2,(1,1))),(84,Left (2,(1,1))),(85,Left (2,(1,1))),(86,Left (2,(1,1))),(87,Left (2,(1,1))),(88,Left (2,(1,1))),(89,Left (2,(1,1))),(90,Left (2,(1,1))),(91,Left (2,(1,1))),(92,Left (2,(1,1))),(93,Left (2,(1,1))),(94,Left (2,(1,1))),(95,Left (2,(1,1))),(96,Left (2,(1,1))),(97,Left (2,(1,1))),(98,Left (2,(1,1))),(99,Left (2,(1,1))),(100,Left (2,(1,1))),(101,Left (2,(1,1))),(102,Left (2,(1,1))),(103,Left (2,(1,1))),(104,Left (2,(1,1))),(105,Left (2,(1,1))),(106,Left (2,(1,1))),(107,Left (2,(1,1))),(108,Left (2,(1,1))),(109,Left (2,(1,1))),(110,Left (2,(1,1))),(111,Left (2,(1,1))),(112,Left (2,(1,1))),(113,Left (2,(1,1))),(114,Left (2,(1,1))),(115,Left (2,(1,1))),(116,Left (2,(1,1))),(117,Left (2,(1,1))),(118,Left (2,(1,1))),(119,Left (2,(1,1))),(120,Left (2,(1,1))),(121,Left (2,(1,1))),(122,Left (2,(1,1))),(123,Left (2,(1,1))),(124,Left (2,(1,1))),(125,Left (2,(1,1))),(126,Left (2,(1,1))),(127,Left (2,(1,1))),(128,Left (3,(0,1))),(129,Left (3,(0,1))),(130,Left (3,(0,1))),(131,Left (3,(0,1))),(132,Left (3,(0,1))),(133,Left (3,(0,1))),(134,Left (3,(0,1))),(135,Left (3,(0,1))),(136,Left (3,(0,1))),(137,Left (3,(0,1))),(138,Left (3,(0,1))),(139,Left (3,(0,1))),(140,Left (3,(0,1))),(141,Left (3,(0,1))),(142,Left (3,(0,1))),(143,Left (3,(0,1))),(144,Left (3,(0,1))),(145,Left (3,(0,1))),(146,Left (3,(0,1))),(147,Left (3,(0,1))),(148,Left (3,(0,1))),(149,Left (3,(0,1))),(150,Left (3,(0,1))),(151,Left (3,(0,1))),(152,Left (3,(0,1))),(153,Left (3,(0,1))),(154,Left (3,(0,1))),(155,Left (3,(0,1))),(156,Left (3,(0,1))),(157,Left (3,(0,1))),(158,Left (3,(0,1))),(159,Left (3,(0,1))),(160,Left (3,(1,0))),(161,Left (3,(1,0))),(162,Left (3,(1,0))),(163,Left (3,(1,0))),(164,Left (3,(1,0))),(165,Left (3,(1,0))),(166,Left (3,(1,0))),(167,Left (3,(1,0))),(168,Left (3,(1,0))),(169,Left (3,(1,0))),(170,Left (3,(1,0))),(171,Left (3,(1,0))),(172,Left (3,(1,0))),(173,Left (3,(1,0))),(174,Left (3,(1,0))),(175,Left (3,(1,0))),(176,Left (3,(1,0))),(177,Left (3,(1,0))),(178,Left (3,(1,0))),(179,Left (3,(1,0))),(180,Left (3,(1,0))),(181,Left (3,(1,0))),(182,Left (3,(1,0))),(183,Left (3,(1,0))),(184,Left (3,(1,0))),(185,Left (3,(1,0))),(186,Left (3,(1,0))),(187,Left (3,(1,0))),(188,Left (3,(1,0))),(189,Left (3,(1,0))),(190,Left (3,(1,0))),(191,Left (3,(1,0))),(192,Left (2,(0,0))),(193,Left (2,(0,0))),(194,Left (2,(0,0))),(195,Left (2,(0,0))),(196,Left (2,(0,0))),(197,Left (2,(0,0))),(198,Left (2,(0,0))),(199,Left (2,(0,0))),(200,Left (2,(0,0))),(201,Left (2,(0,0))),(202,Left (2,(0,0))),(203,Left (2,(0,0))),(204,Left (2,(0,0))),(205,Left (2,(0,0))),(206,Left (2,(0,0))),(207,Left (2,(0,0))),(208,Left (2,(0,0))),(209,Left (2,(0,0))),(210,Left (2,(0,0))),(211,Left (2,(0,0))),(212,Left (2,(0,0))),(213,Left (2,(0,0))),(214,Left (2,(0,0))),(215,Left (2,(0,0))),(216,Left (2,(0,0))),(217,Left (2,(0,0))),(218,Left (2,(0,0))),(219,Left (2,(0,0))),(220,Left (2,(0,0))),(221,Left (2,(0,0))),(222,Left (2,(0,0))),(223,Left (2,(0,0))),(224,Left (2,(0,0))),(225,Left (2,(0,0))),(226,Left (2,(0,0))),(227,Left (2,(0,0))),(228,Left (2,(0,0))),(229,Left (2,(0,0))),(230,Left (2,(0,0))),(231,Left (2,(0,0))),(232,Left (2,(0,0))),(233,Left (2,(0,0))),(234,Left (2,(0,0))),(235,Left (2,(0,0))),(236,Left (2,(0,0))),(237,Left (2,(0,0))),(238,Left (2,(0,0))),(239,Left (2,(0,0))),(240,Left (2,(0,0))),(241,Left (2,(0,0))),(242,Left (2,(0,0))),(243,Left (2,(0,0))),(244,Left (2,(0,0))),(245,Left (2,(0,0))),(246,Left (2,(0,0))),(247,Left (2,(0,0))),(248,Left (2,(0,0))),(249,Left (2,(0,0))),(250,Left (2,(0,0))),(251,Left (2,(0,0))),(252,Left (2,(0,0))),(253,Left (2,(0,0))),(254,Left (2,(0,0))),(255,Left (2,(0,0)))]) table9 = Left (9,array (0,511) [(0,(9,(5,5))),(1,(9,(4,5))),(2,(8,(3,5))),(3,(8,(3,5))),(4,(8,(5,3))),(5,(8,(5,3))),(6,(9,(5,4))),(7,(9,(0,5))),(8,(8,(4,4))),(9,(8,(4,4))),(10,(8,(2,5))),(11,(8,(2,5))),(12,(8,(5,2))),(13,(8,(5,2))),(14,(8,(1,5))),(15,(8,(1,5))),(16,(7,(5,1))),(17,(7,(5,1))),(18,(7,(5,1))),(19,(7,(5,1))),(20,(7,(3,4))),(21,(7,(3,4))),(22,(7,(3,4))),(23,(7,(3,4))),(24,(7,(4,3))),(25,(7,(4,3))),(26,(7,(4,3))),(27,(7,(4,3))),(28,(8,(5,0))),(29,(8,(5,0))),(30,(8,(0,4))),(31,(8,(0,4))),(32,(7,(2,4))),(33,(7,(2,4))),(34,(7,(2,4))),(35,(7,(2,4))),(36,(7,(4,2))),(37,(7,(4,2))),(38,(7,(4,2))),(39,(7,(4,2))),(40,(7,(3,3))),(41,(7,(3,3))),(42,(7,(3,3))),(43,(7,(3,3))),(44,(7,(4,0))),(45,(7,(4,0))),(46,(7,(4,0))),(47,(7,(4,0))),(48,(6,(1,4))),(49,(6,(1,4))),(50,(6,(1,4))),(51,(6,(1,4))),(52,(6,(1,4))),(53,(6,(1,4))),(54,(6,(1,4))),(55,(6,(1,4))),(56,(6,(4,1))),(57,(6,(4,1))),(58,(6,(4,1))),(59,(6,(4,1))),(60,(6,(4,1))),(61,(6,(4,1))),(62,(6,(4,1))),(63,(6,(4,1))),(64,(6,(2,3))),(65,(6,(2,3))),(66,(6,(2,3))),(67,(6,(2,3))),(68,(6,(2,3))),(69,(6,(2,3))),(70,(6,(2,3))),(71,(6,(2,3))),(72,(6,(3,2))),(73,(6,(3,2))),(74,(6,(3,2))),(75,(6,(3,2))),(76,(6,(3,2))),(77,(6,(3,2))),(78,(6,(3,2))),(79,(6,(3,2))),(80,(5,(1,3))),(81,(5,(1,3))),(82,(5,(1,3))),(83,(5,(1,3))),(84,(5,(1,3))),(85,(5,(1,3))),(86,(5,(1,3))),(87,(5,(1,3))),(88,(5,(1,3))),(89,(5,(1,3))),(90,(5,(1,3))),(91,(5,(1,3))),(92,(5,(1,3))),(93,(5,(1,3))),(94,(5,(1,3))),(95,(5,(1,3))),(96,(5,(3,1))),(97,(5,(3,1))),(98,(5,(3,1))),(99,(5,(3,1))),(100,(5,(3,1))),(101,(5,(3,1))),(102,(5,(3,1))),(103,(5,(3,1))),(104,(5,(3,1))),(105,(5,(3,1))),(106,(5,(3,1))),(107,(5,(3,1))),(108,(5,(3,1))),(109,(5,(3,1))),(110,(5,(3,1))),(111,(5,(3,1))),(112,(6,(0,3))),(113,(6,(0,3))),(114,(6,(0,3))),(115,(6,(0,3))),(116,(6,(0,3))),(117,(6,(0,3))),(118,(6,(0,3))),(119,(6,(0,3))),(120,(6,(3,0))),(121,(6,(3,0))),(122,(6,(3,0))),(123,(6,(3,0))),(124,(6,(3,0))),(125,(6,(3,0))),(126,(6,(3,0))),(127,(6,(3,0))),(128,(5,(2,2))),(129,(5,(2,2))),(130,(5,(2,2))),(131,(5,(2,2))),(132,(5,(2,2))),(133,(5,(2,2))),(134,(5,(2,2))),(135,(5,(2,2))),(136,(5,(2,2))),(137,(5,(2,2))),(138,(5,(2,2))),(139,(5,(2,2))),(140,(5,(2,2))),(141,(5,(2,2))),(142,(5,(2,2))),(143,(5,(2,2))),(144,(5,(0,2))),(145,(5,(0,2))),(146,(5,(0,2))),(147,(5,(0,2))),(148,(5,(0,2))),(149,(5,(0,2))),(150,(5,(0,2))),(151,(5,(0,2))),(152,(5,(0,2))),(153,(5,(0,2))),(154,(5,(0,2))),(155,(5,(0,2))),(156,(5,(0,2))),(157,(5,(0,2))),(158,(5,(0,2))),(159,(5,(0,2))),(160,(4,(1,2))),(161,(4,(1,2))),(162,(4,(1,2))),(163,(4,(1,2))),(164,(4,(1,2))),(165,(4,(1,2))),(166,(4,(1,2))),(167,(4,(1,2))),(168,(4,(1,2))),(169,(4,(1,2))),(170,(4,(1,2))),(171,(4,(1,2))),(172,(4,(1,2))),(173,(4,(1,2))),(174,(4,(1,2))),(175,(4,(1,2))),(176,(4,(1,2))),(177,(4,(1,2))),(178,(4,(1,2))),(179,(4,(1,2))),(180,(4,(1,2))),(181,(4,(1,2))),(182,(4,(1,2))),(183,(4,(1,2))),(184,(4,(1,2))),(185,(4,(1,2))),(186,(4,(1,2))),(187,(4,(1,2))),(188,(4,(1,2))),(189,(4,(1,2))),(190,(4,(1,2))),(191,(4,(1,2))),(192,(4,(2,1))),(193,(4,(2,1))),(194,(4,(2,1))),(195,(4,(2,1))),(196,(4,(2,1))),(197,(4,(2,1))),(198,(4,(2,1))),(199,(4,(2,1))),(200,(4,(2,1))),(201,(4,(2,1))),(202,(4,(2,1))),(203,(4,(2,1))),(204,(4,(2,1))),(205,(4,(2,1))),(206,(4,(2,1))),(207,(4,(2,1))),(208,(4,(2,1))),(209,(4,(2,1))),(210,(4,(2,1))),(211,(4,(2,1))),(212,(4,(2,1))),(213,(4,(2,1))),(214,(4,(2,1))),(215,(4,(2,1))),(216,(4,(2,1))),(217,(4,(2,1))),(218,(4,(2,1))),(219,(4,(2,1))),(220,(4,(2,1))),(221,(4,(2,1))),(222,(4,(2,1))),(223,(4,(2,1))),(224,(4,(2,0))),(225,(4,(2,0))),(226,(4,(2,0))),(227,(4,(2,0))),(228,(4,(2,0))),(229,(4,(2,0))),(230,(4,(2,0))),(231,(4,(2,0))),(232,(4,(2,0))),(233,(4,(2,0))),(234,(4,(2,0))),(235,(4,(2,0))),(236,(4,(2,0))),(237,(4,(2,0))),(238,(4,(2,0))),(239,(4,(2,0))),(240,(4,(2,0))),(241,(4,(2,0))),(242,(4,(2,0))),(243,(4,(2,0))),(244,(4,(2,0))),(245,(4,(2,0))),(246,(4,(2,0))),(247,(4,(2,0))),(248,(4,(2,0))),(249,(4,(2,0))),(250,(4,(2,0))),(251,(4,(2,0))),(252,(4,(2,0))),(253,(4,(2,0))),(254,(4,(2,0))),(255,(4,(2,0))),(256,(3,(1,1))),(257,(3,(1,1))),(258,(3,(1,1))),(259,(3,(1,1))),(260,(3,(1,1))),(261,(3,(1,1))),(262,(3,(1,1))),(263,(3,(1,1))),(264,(3,(1,1))),(265,(3,(1,1))),(266,(3,(1,1))),(267,(3,(1,1))),(268,(3,(1,1))),(269,(3,(1,1))),(270,(3,(1,1))),(271,(3,(1,1))),(272,(3,(1,1))),(273,(3,(1,1))),(274,(3,(1,1))),(275,(3,(1,1))),(276,(3,(1,1))),(277,(3,(1,1))),(278,(3,(1,1))),(279,(3,(1,1))),(280,(3,(1,1))),(281,(3,(1,1))),(282,(3,(1,1))),(283,(3,(1,1))),(284,(3,(1,1))),(285,(3,(1,1))),(286,(3,(1,1))),(287,(3,(1,1))),(288,(3,(1,1))),(289,(3,(1,1))),(290,(3,(1,1))),(291,(3,(1,1))),(292,(3,(1,1))),(293,(3,(1,1))),(294,(3,(1,1))),(295,(3,(1,1))),(296,(3,(1,1))),(297,(3,(1,1))),(298,(3,(1,1))),(299,(3,(1,1))),(300,(3,(1,1))),(301,(3,(1,1))),(302,(3,(1,1))),(303,(3,(1,1))),(304,(3,(1,1))),(305,(3,(1,1))),(306,(3,(1,1))),(307,(3,(1,1))),(308,(3,(1,1))),(309,(3,(1,1))),(310,(3,(1,1))),(311,(3,(1,1))),(312,(3,(1,1))),(313,(3,(1,1))),(314,(3,(1,1))),(315,(3,(1,1))),(316,(3,(1,1))),(317,(3,(1,1))),(318,(3,(1,1))),(319,(3,(1,1))),(320,(3,(0,1))),(321,(3,(0,1))),(322,(3,(0,1))),(323,(3,(0,1))),(324,(3,(0,1))),(325,(3,(0,1))),(326,(3,(0,1))),(327,(3,(0,1))),(328,(3,(0,1))),(329,(3,(0,1))),(330,(3,(0,1))),(331,(3,(0,1))),(332,(3,(0,1))),(333,(3,(0,1))),(334,(3,(0,1))),(335,(3,(0,1))),(336,(3,(0,1))),(337,(3,(0,1))),(338,(3,(0,1))),(339,(3,(0,1))),(340,(3,(0,1))),(341,(3,(0,1))),(342,(3,(0,1))),(343,(3,(0,1))),(344,(3,(0,1))),(345,(3,(0,1))),(346,(3,(0,1))),(347,(3,(0,1))),(348,(3,(0,1))),(349,(3,(0,1))),(350,(3,(0,1))),(351,(3,(0,1))),(352,(3,(0,1))),(353,(3,(0,1))),(354,(3,(0,1))),(355,(3,(0,1))),(356,(3,(0,1))),(357,(3,(0,1))),(358,(3,(0,1))),(359,(3,(0,1))),(360,(3,(0,1))),(361,(3,(0,1))),(362,(3,(0,1))),(363,(3,(0,1))),(364,(3,(0,1))),(365,(3,(0,1))),(366,(3,(0,1))),(367,(3,(0,1))),(368,(3,(0,1))),(369,(3,(0,1))),(370,(3,(0,1))),(371,(3,(0,1))),(372,(3,(0,1))),(373,(3,(0,1))),(374,(3,(0,1))),(375,(3,(0,1))),(376,(3,(0,1))),(377,(3,(0,1))),(378,(3,(0,1))),(379,(3,(0,1))),(380,(3,(0,1))),(381,(3,(0,1))),(382,(3,(0,1))),(383,(3,(0,1))),(384,(3,(1,0))),(385,(3,(1,0))),(386,(3,(1,0))),(387,(3,(1,0))),(388,(3,(1,0))),(389,(3,(1,0))),(390,(3,(1,0))),(391,(3,(1,0))),(392,(3,(1,0))),(393,(3,(1,0))),(394,(3,(1,0))),(395,(3,(1,0))),(396,(3,(1,0))),(397,(3,(1,0))),(398,(3,(1,0))),(399,(3,(1,0))),(400,(3,(1,0))),(401,(3,(1,0))),(402,(3,(1,0))),(403,(3,(1,0))),(404,(3,(1,0))),(405,(3,(1,0))),(406,(3,(1,0))),(407,(3,(1,0))),(408,(3,(1,0))),(409,(3,(1,0))),(410,(3,(1,0))),(411,(3,(1,0))),(412,(3,(1,0))),(413,(3,(1,0))),(414,(3,(1,0))),(415,(3,(1,0))),(416,(3,(1,0))),(417,(3,(1,0))),(418,(3,(1,0))),(419,(3,(1,0))),(420,(3,(1,0))),(421,(3,(1,0))),(422,(3,(1,0))),(423,(3,(1,0))),(424,(3,(1,0))),(425,(3,(1,0))),(426,(3,(1,0))),(427,(3,(1,0))),(428,(3,(1,0))),(429,(3,(1,0))),(430,(3,(1,0))),(431,(3,(1,0))),(432,(3,(1,0))),(433,(3,(1,0))),(434,(3,(1,0))),(435,(3,(1,0))),(436,(3,(1,0))),(437,(3,(1,0))),(438,(3,(1,0))),(439,(3,(1,0))),(440,(3,(1,0))),(441,(3,(1,0))),(442,(3,(1,0))),(443,(3,(1,0))),(444,(3,(1,0))),(445,(3,(1,0))),(446,(3,(1,0))),(447,(3,(1,0))),(448,(3,(0,0))),(449,(3,(0,0))),(450,(3,(0,0))),(451,(3,(0,0))),(452,(3,(0,0))),(453,(3,(0,0))),(454,(3,(0,0))),(455,(3,(0,0))),(456,(3,(0,0))),(457,(3,(0,0))),(458,(3,(0,0))),(459,(3,(0,0))),(460,(3,(0,0))),(461,(3,(0,0))),(462,(3,(0,0))),(463,(3,(0,0))),(464,(3,(0,0))),(465,(3,(0,0))),(466,(3,(0,0))),(467,(3,(0,0))),(468,(3,(0,0))),(469,(3,(0,0))),(470,(3,(0,0))),(471,(3,(0,0))),(472,(3,(0,0))),(473,(3,(0,0))),(474,(3,(0,0))),(475,(3,(0,0))),(476,(3,(0,0))),(477,(3,(0,0))),(478,(3,(0,0))),(479,(3,(0,0))),(480,(3,(0,0))),(481,(3,(0,0))),(482,(3,(0,0))),(483,(3,(0,0))),(484,(3,(0,0))),(485,(3,(0,0))),(486,(3,(0,0))),(487,(3,(0,0))),(488,(3,(0,0))),(489,(3,(0,0))),(490,(3,(0,0))),(491,(3,(0,0))),(492,(3,(0,0))),(493,(3,(0,0))),(494,(3,(0,0))),(495,(3,(0,0))),(496,(3,(0,0))),(497,(3,(0,0))),(498,(3,(0,0))),(499,(3,(0,0))),(500,(3,(0,0))),(501,(3,(0,0))),(502,(3,(0,0))),(503,(3,(0,0))),(504,(3,(0,0))),(505,(3,(0,0))),(506,(3,(0,0))),(507,(3,(0,0))),(508,(3,(0,0))),(509,(3,(0,0))),(510,(3,(0,0))),(511,(3,(0,0)))]) table10 = Right (8,array (0,255) [(0,Right (3,array (0,7) [(0,(3,(7,7))),(1,(3,(6,7))),(2,(3,(7,6))),(3,(3,(5,7))),(4,(3,(7,5))),(5,(3,(6,6))),(6,(2,(4,7))),(7,(2,(4,7)))])),(1,Right (2,array (0,3) [(0,(2,(7,4))),(1,(2,(5,6))),(2,(2,(6,5))),(3,(2,(3,7)))])),(2,Right (3,array (0,7) [(0,(2,(7,3))),(1,(2,(7,3))),(2,(2,(4,6))),(3,(2,(4,6))),(4,(3,(5,5))),(5,(3,(5,4))),(6,(2,(6,3))),(7,(2,(6,3)))])),(3,Right (1,array (0,1) [(0,(1,(2,7))),(1,(1,(7,2)))])),(4,Right (2,array (0,3) [(0,(2,(6,4))),(1,(2,(0,7))),(2,(1,(7,0))),(3,(1,(7,0)))])),(5,Right (2,array (0,3) [(0,(1,(6,2))),(1,(1,(6,2))),(2,(2,(4,5))),(3,(2,(3,5)))])),(6,Right (2,array (0,3) [(0,(1,(0,6))),(1,(1,(0,6))),(2,(2,(5,3))),(3,(2,(4,4)))])),(7,Left (8,(1,7))),(8,Left (8,(7,1))),(9,Right (1,array (0,1) [(0,(1,(3,6))),(1,(1,(2,6)))])),(10,Right (2,array (0,3) [(0,(2,(2,5))),(1,(2,(5,2))),(2,(1,(1,5))),(3,(1,(1,5)))])),(11,Right (2,array (0,3) [(0,(1,(5,1))),(1,(1,(5,1))),(2,(2,(3,4))),(3,(2,(4,3)))])),(12,Left (8,(1,6))),(13,Left (8,(6,1))),(14,Left (8,(6,0))),(15,Right (1,array (0,1) [(0,(1,(0,5))),(1,(1,(5,0)))])),(16,Right (1,array (0,1) [(0,(1,(2,4))),(1,(1,(4,2)))])),(17,Right (1,array (0,1) [(0,(1,(3,3))),(1,(1,(0,4)))])),(18,Left (8,(1,4))),(19,Left (8,(4,1))),(20,Left (8,(4,0))),(21,Left (8,(2,3))),(22,Left (8,(3,2))),(23,Left (8,(0,3))),(24,Left (7,(1,3))),(25,Left (7,(1,3))),(26,Left (7,(3,1))),(27,Left (7,(3,1))),(28,Left (7,(3,0))),(29,Left (7,(3,0))),(30,Left (7,(2,2))),(31,Left (7,(2,2))),(32,Left (6,(1,2))),(33,Left (6,(1,2))),(34,Left (6,(1,2))),(35,Left (6,(1,2))),(36,Left (6,(2,1))),(37,Left (6,(2,1))),(38,Left (6,(2,1))),(39,Left (6,(2,1))),(40,Left (6,(0,2))),(41,Left (6,(0,2))),(42,Left (6,(0,2))),(43,Left (6,(0,2))),(44,Left (6,(2,0))),(45,Left (6,(2,0))),(46,Left (6,(2,0))),(47,Left (6,(2,0))),(48,Left (4,(1,1))),(49,Left (4,(1,1))),(50,Left (4,(1,1))),(51,Left (4,(1,1))),(52,Left (4,(1,1))),(53,Left (4,(1,1))),(54,Left (4,(1,1))),(55,Left (4,(1,1))),(56,Left (4,(1,1))),(57,Left (4,(1,1))),(58,Left (4,(1,1))),(59,Left (4,(1,1))),(60,Left (4,(1,1))),(61,Left (4,(1,1))),(62,Left (4,(1,1))),(63,Left (4,(1,1))),(64,Left (3,(0,1))),(65,Left (3,(0,1))),(66,Left (3,(0,1))),(67,Left (3,(0,1))),(68,Left (3,(0,1))),(69,Left (3,(0,1))),(70,Left (3,(0,1))),(71,Left (3,(0,1))),(72,Left (3,(0,1))),(73,Left (3,(0,1))),(74,Left (3,(0,1))),(75,Left (3,(0,1))),(76,Left (3,(0,1))),(77,Left (3,(0,1))),(78,Left (3,(0,1))),(79,Left (3,(0,1))),(80,Left (3,(0,1))),(81,Left (3,(0,1))),(82,Left (3,(0,1))),(83,Left (3,(0,1))),(84,Left (3,(0,1))),(85,Left (3,(0,1))),(86,Left (3,(0,1))),(87,Left (3,(0,1))),(88,Left (3,(0,1))),(89,Left (3,(0,1))),(90,Left (3,(0,1))),(91,Left (3,(0,1))),(92,Left (3,(0,1))),(93,Left (3,(0,1))),(94,Left (3,(0,1))),(95,Left (3,(0,1))),(96,Left (3,(1,0))),(97,Left (3,(1,0))),(98,Left (3,(1,0))),(99,Left (3,(1,0))),(100,Left (3,(1,0))),(101,Left (3,(1,0))),(102,Left (3,(1,0))),(103,Left (3,(1,0))),(104,Left (3,(1,0))),(105,Left (3,(1,0))),(106,Left (3,(1,0))),(107,Left (3,(1,0))),(108,Left (3,(1,0))),(109,Left (3,(1,0))),(110,Left (3,(1,0))),(111,Left (3,(1,0))),(112,Left (3,(1,0))),(113,Left (3,(1,0))),(114,Left (3,(1,0))),(115,Left (3,(1,0))),(116,Left (3,(1,0))),(117,Left (3,(1,0))),(118,Left (3,(1,0))),(119,Left (3,(1,0))),(120,Left (3,(1,0))),(121,Left (3,(1,0))),(122,Left (3,(1,0))),(123,Left (3,(1,0))),(124,Left (3,(1,0))),(125,Left (3,(1,0))),(126,Left (3,(1,0))),(127,Left (3,(1,0))),(128,Left (1,(0,0))),(129,Left (1,(0,0))),(130,Left (1,(0,0))),(131,Left (1,(0,0))),(132,Left (1,(0,0))),(133,Left (1,(0,0))),(134,Left (1,(0,0))),(135,Left (1,(0,0))),(136,Left (1,(0,0))),(137,Left (1,(0,0))),(138,Left (1,(0,0))),(139,Left (1,(0,0))),(140,Left (1,(0,0))),(141,Left (1,(0,0))),(142,Left (1,(0,0))),(143,Left (1,(0,0))),(144,Left (1,(0,0))),(145,Left (1,(0,0))),(146,Left (1,(0,0))),(147,Left (1,(0,0))),(148,Left (1,(0,0))),(149,Left (1,(0,0))),(150,Left (1,(0,0))),(151,Left (1,(0,0))),(152,Left (1,(0,0))),(153,Left (1,(0,0))),(154,Left (1,(0,0))),(155,Left (1,(0,0))),(156,Left (1,(0,0))),(157,Left (1,(0,0))),(158,Left (1,(0,0))),(159,Left (1,(0,0))),(160,Left (1,(0,0))),(161,Left (1,(0,0))),(162,Left (1,(0,0))),(163,Left (1,(0,0))),(164,Left (1,(0,0))),(165,Left (1,(0,0))),(166,Left (1,(0,0))),(167,Left (1,(0,0))),(168,Left (1,(0,0))),(169,Left (1,(0,0))),(170,Left (1,(0,0))),(171,Left (1,(0,0))),(172,Left (1,(0,0))),(173,Left (1,(0,0))),(174,Left (1,(0,0))),(175,Left (1,(0,0))),(176,Left (1,(0,0))),(177,Left (1,(0,0))),(178,Left (1,(0,0))),(179,Left (1,(0,0))),(180,Left (1,(0,0))),(181,Left (1,(0,0))),(182,Left (1,(0,0))),(183,Left (1,(0,0))),(184,Left (1,(0,0))),(185,Left (1,(0,0))),(186,Left (1,(0,0))),(187,Left (1,(0,0))),(188,Left (1,(0,0))),(189,Left (1,(0,0))),(190,Left (1,(0,0))),(191,Left (1,(0,0))),(192,Left (1,(0,0))),(193,Left (1,(0,0))),(194,Left (1,(0,0))),(195,Left (1,(0,0))),(196,Left (1,(0,0))),(197,Left (1,(0,0))),(198,Left (1,(0,0))),(199,Left (1,(0,0))),(200,Left (1,(0,0))),(201,Left (1,(0,0))),(202,Left (1,(0,0))),(203,Left (1,(0,0))),(204,Left (1,(0,0))),(205,Left (1,(0,0))),(206,Left (1,(0,0))),(207,Left (1,(0,0))),(208,Left (1,(0,0))),(209,Left (1,(0,0))),(210,Left (1,(0,0))),(211,Left (1,(0,0))),(212,Left (1,(0,0))),(213,Left (1,(0,0))),(214,Left (1,(0,0))),(215,Left (1,(0,0))),(216,Left (1,(0,0))),(217,Left (1,(0,0))),(218,Left (1,(0,0))),(219,Left (1,(0,0))),(220,Left (1,(0,0))),(221,Left (1,(0,0))),(222,Left (1,(0,0))),(223,Left (1,(0,0))),(224,Left (1,(0,0))),(225,Left (1,(0,0))),(226,Left (1,(0,0))),(227,Left (1,(0,0))),(228,Left (1,(0,0))),(229,Left (1,(0,0))),(230,Left (1,(0,0))),(231,Left (1,(0,0))),(232,Left (1,(0,0))),(233,Left (1,(0,0))),(234,Left (1,(0,0))),(235,Left (1,(0,0))),(236,Left (1,(0,0))),(237,Left (1,(0,0))),(238,Left (1,(0,0))),(239,Left (1,(0,0))),(240,Left (1,(0,0))),(241,Left (1,(0,0))),(242,Left (1,(0,0))),(243,Left (1,(0,0))),(244,Left (1,(0,0))),(245,Left (1,(0,0))),(246,Left (1,(0,0))),(247,Left (1,(0,0))),(248,Left (1,(0,0))),(249,Left (1,(0,0))),(250,Left (1,(0,0))),(251,Left (1,(0,0))),(252,Left (1,(0,0))),(253,Left (1,(0,0))),(254,Left (1,(0,0))),(255,Left (1,(0,0)))]) table11 = Right (8,array (0,255) [(0,Right (2,array (0,3) [(0,(2,(7,7))),(1,(2,(6,7))),(2,(2,(7,6))),(3,(2,(7,5)))])),(1,Right (3,array (0,7) [(0,(2,(6,6))),(1,(2,(6,6))),(2,(2,(4,7))),(3,(2,(4,7))),(4,(2,(7,4))),(5,(2,(7,4))),(6,(3,(5,7))),(7,(3,(5,5)))])),(2,Right (2,array (0,3) [(0,(2,(5,6))),(1,(2,(6,5))),(2,(1,(3,7))),(3,(1,(3,7)))])),(3,Right (1,array (0,1) [(0,(1,(7,3))),(1,(1,(4,6)))])),(4,Right (2,array (0,3) [(0,(2,(4,5))),(1,(2,(5,4))),(2,(2,(3,5))),(3,(2,(5,3)))])),(5,Left (8,(2,7))),(6,Left (8,(7,2))),(7,Right (1,array (0,1) [(0,(1,(6,4))),(1,(1,(0,7)))])),(8,Left (7,(7,1))),(9,Left (7,(7,1))),(10,Left (8,(1,7))),(11,Left (8,(7,0))),(12,Left (8,(3,6))),(13,Left (8,(6,3))),(14,Left (8,(6,0))),(15,Right (1,array (0,1) [(0,(1,(4,4))),(1,(1,(2,5)))])),(16,Right (1,array (0,1) [(0,(1,(5,2))),(1,(1,(0,5)))])),(17,Left (8,(1,5))),(18,Left (7,(6,2))),(19,Left (7,(6,2))),(20,Left (8,(2,6))),(21,Left (8,(0,6))),(22,Left (7,(1,6))),(23,Left (7,(1,6))),(24,Left (7,(6,1))),(25,Left (7,(6,1))),(26,Left (8,(5,1))),(27,Left (8,(3,4))),(28,Left (8,(5,0))),(29,Right (1,array (0,1) [(0,(1,(4,3))),(1,(1,(3,3)))])),(30,Left (8,(2,4))),(31,Left (8,(4,2))),(32,Left (8,(1,4))),(33,Left (8,(4,1))),(34,Left (8,(0,4))),(35,Left (8,(4,0))),(36,Left (7,(2,3))),(37,Left (7,(2,3))),(38,Left (7,(3,2))),(39,Left (7,(3,2))),(40,Left (6,(1,3))),(41,Left (6,(1,3))),(42,Left (6,(1,3))),(43,Left (6,(1,3))),(44,Left (6,(3,1))),(45,Left (6,(3,1))),(46,Left (6,(3,1))),(47,Left (6,(3,1))),(48,Left (7,(0,3))),(49,Left (7,(0,3))),(50,Left (7,(3,0))),(51,Left (7,(3,0))),(52,Left (6,(2,2))),(53,Left (6,(2,2))),(54,Left (6,(2,2))),(55,Left (6,(2,2))),(56,Left (5,(2,1))),(57,Left (5,(2,1))),(58,Left (5,(2,1))),(59,Left (5,(2,1))),(60,Left (5,(2,1))),(61,Left (5,(2,1))),(62,Left (5,(2,1))),(63,Left (5,(2,1))),(64,Left (4,(1,2))),(65,Left (4,(1,2))),(66,Left (4,(1,2))),(67,Left (4,(1,2))),(68,Left (4,(1,2))),(69,Left (4,(1,2))),(70,Left (4,(1,2))),(71,Left (4,(1,2))),(72,Left (4,(1,2))),(73,Left (4,(1,2))),(74,Left (4,(1,2))),(75,Left (4,(1,2))),(76,Left (4,(1,2))),(77,Left (4,(1,2))),(78,Left (4,(1,2))),(79,Left (4,(1,2))),(80,Left (5,(0,2))),(81,Left (5,(0,2))),(82,Left (5,(0,2))),(83,Left (5,(0,2))),(84,Left (5,(0,2))),(85,Left (5,(0,2))),(86,Left (5,(0,2))),(87,Left (5,(0,2))),(88,Left (5,(2,0))),(89,Left (5,(2,0))),(90,Left (5,(2,0))),(91,Left (5,(2,0))),(92,Left (5,(2,0))),(93,Left (5,(2,0))),(94,Left (5,(2,0))),(95,Left (5,(2,0))),(96,Left (3,(1,1))),(97,Left (3,(1,1))),(98,Left (3,(1,1))),(99,Left (3,(1,1))),(100,Left (3,(1,1))),(101,Left (3,(1,1))),(102,Left (3,(1,1))),(103,Left (3,(1,1))),(104,Left (3,(1,1))),(105,Left (3,(1,1))),(106,Left (3,(1,1))),(107,Left (3,(1,1))),(108,Left (3,(1,1))),(109,Left (3,(1,1))),(110,Left (3,(1,1))),(111,Left (3,(1,1))),(112,Left (3,(1,1))),(113,Left (3,(1,1))),(114,Left (3,(1,1))),(115,Left (3,(1,1))),(116,Left (3,(1,1))),(117,Left (3,(1,1))),(118,Left (3,(1,1))),(119,Left (3,(1,1))),(120,Left (3,(1,1))),(121,Left (3,(1,1))),(122,Left (3,(1,1))),(123,Left (3,(1,1))),(124,Left (3,(1,1))),(125,Left (3,(1,1))),(126,Left (3,(1,1))),(127,Left (3,(1,1))),(128,Left (3,(0,1))),(129,Left (3,(0,1))),(130,Left (3,(0,1))),(131,Left (3,(0,1))),(132,Left (3,(0,1))),(133,Left (3,(0,1))),(134,Left (3,(0,1))),(135,Left (3,(0,1))),(136,Left (3,(0,1))),(137,Left (3,(0,1))),(138,Left (3,(0,1))),(139,Left (3,(0,1))),(140,Left (3,(0,1))),(141,Left (3,(0,1))),(142,Left (3,(0,1))),(143,Left (3,(0,1))),(144,Left (3,(0,1))),(145,Left (3,(0,1))),(146,Left (3,(0,1))),(147,Left (3,(0,1))),(148,Left (3,(0,1))),(149,Left (3,(0,1))),(150,Left (3,(0,1))),(151,Left (3,(0,1))),(152,Left (3,(0,1))),(153,Left (3,(0,1))),(154,Left (3,(0,1))),(155,Left (3,(0,1))),(156,Left (3,(0,1))),(157,Left (3,(0,1))),(158,Left (3,(0,1))),(159,Left (3,(0,1))),(160,Left (3,(1,0))),(161,Left (3,(1,0))),(162,Left (3,(1,0))),(163,Left (3,(1,0))),(164,Left (3,(1,0))),(165,Left (3,(1,0))),(166,Left (3,(1,0))),(167,Left (3,(1,0))),(168,Left (3,(1,0))),(169,Left (3,(1,0))),(170,Left (3,(1,0))),(171,Left (3,(1,0))),(172,Left (3,(1,0))),(173,Left (3,(1,0))),(174,Left (3,(1,0))),(175,Left (3,(1,0))),(176,Left (3,(1,0))),(177,Left (3,(1,0))),(178,Left (3,(1,0))),(179,Left (3,(1,0))),(180,Left (3,(1,0))),(181,Left (3,(1,0))),(182,Left (3,(1,0))),(183,Left (3,(1,0))),(184,Left (3,(1,0))),(185,Left (3,(1,0))),(186,Left (3,(1,0))),(187,Left (3,(1,0))),(188,Left (3,(1,0))),(189,Left (3,(1,0))),(190,Left (3,(1,0))),(191,Left (3,(1,0))),(192,Left (2,(0,0))),(193,Left (2,(0,0))),(194,Left (2,(0,0))),(195,Left (2,(0,0))),(196,Left (2,(0,0))),(197,Left (2,(0,0))),(198,Left (2,(0,0))),(199,Left (2,(0,0))),(200,Left (2,(0,0))),(201,Left (2,(0,0))),(202,Left (2,(0,0))),(203,Left (2,(0,0))),(204,Left (2,(0,0))),(205,Left (2,(0,0))),(206,Left (2,(0,0))),(207,Left (2,(0,0))),(208,Left (2,(0,0))),(209,Left (2,(0,0))),(210,Left (2,(0,0))),(211,Left (2,(0,0))),(212,Left (2,(0,0))),(213,Left (2,(0,0))),(214,Left (2,(0,0))),(215,Left (2,(0,0))),(216,Left (2,(0,0))),(217,Left (2,(0,0))),(218,Left (2,(0,0))),(219,Left (2,(0,0))),(220,Left (2,(0,0))),(221,Left (2,(0,0))),(222,Left (2,(0,0))),(223,Left (2,(0,0))),(224,Left (2,(0,0))),(225,Left (2,(0,0))),(226,Left (2,(0,0))),(227,Left (2,(0,0))),(228,Left (2,(0,0))),(229,Left (2,(0,0))),(230,Left (2,(0,0))),(231,Left (2,(0,0))),(232,Left (2,(0,0))),(233,Left (2,(0,0))),(234,Left (2,(0,0))),(235,Left (2,(0,0))),(236,Left (2,(0,0))),(237,Left (2,(0,0))),(238,Left (2,(0,0))),(239,Left (2,(0,0))),(240,Left (2,(0,0))),(241,Left (2,(0,0))),(242,Left (2,(0,0))),(243,Left (2,(0,0))),(244,Left (2,(0,0))),(245,Left (2,(0,0))),(246,Left (2,(0,0))),(247,Left (2,(0,0))),(248,Left (2,(0,0))),(249,Left (2,(0,0))),(250,Left (2,(0,0))),(251,Left (2,(0,0))),(252,Left (2,(0,0))),(253,Left (2,(0,0))),(254,Left (2,(0,0))),(255,Left (2,(0,0)))]) table12 = Left (10,array (0,1023) [(0,(10,(7,7))),(1,(10,(6,7))),(2,(9,(7,6))),(3,(9,(7,6))),(4,(9,(5,7))),(5,(9,(5,7))),(6,(9,(7,5))),(7,(9,(7,5))),(8,(9,(6,6))),(9,(9,(6,6))),(10,(9,(4,7))),(11,(9,(4,7))),(12,(9,(7,4))),(13,(9,(7,4))),(14,(9,(6,5))),(15,(9,(6,5))),(16,(8,(5,6))),(17,(8,(5,6))),(18,(8,(5,6))),(19,(8,(5,6))),(20,(8,(3,7))),(21,(8,(3,7))),(22,(8,(3,7))),(23,(8,(3,7))),(24,(9,(7,3))),(25,(9,(7,3))),(26,(9,(5,5))),(27,(9,(5,5))),(28,(8,(2,7))),(29,(8,(2,7))),(30,(8,(2,7))),(31,(8,(2,7))),(32,(8,(7,2))),(33,(8,(7,2))),(34,(8,(7,2))),(35,(8,(7,2))),(36,(8,(4,6))),(37,(8,(4,6))),(38,(8,(4,6))),(39,(8,(4,6))),(40,(8,(6,4))),(41,(8,(6,4))),(42,(8,(6,4))),(43,(8,(6,4))),(44,(8,(1,7))),(45,(8,(1,7))),(46,(8,(1,7))),(47,(8,(1,7))),(48,(8,(7,1))),(49,(8,(7,1))),(50,(8,(7,1))),(51,(8,(7,1))),(52,(9,(0,7))),(53,(9,(0,7))),(54,(9,(7,0))),(55,(9,(7,0))),(56,(8,(3,6))),(57,(8,(3,6))),(58,(8,(3,6))),(59,(8,(3,6))),(60,(8,(6,3))),(61,(8,(6,3))),(62,(8,(6,3))),(63,(8,(6,3))),(64,(8,(4,5))),(65,(8,(4,5))),(66,(8,(4,5))),(67,(8,(4,5))),(68,(8,(5,4))),(69,(8,(5,4))),(70,(8,(5,4))),(71,(8,(5,4))),(72,(8,(4,4))),(73,(8,(4,4))),(74,(8,(4,4))),(75,(8,(4,4))),(76,(9,(0,6))),(77,(9,(0,6))),(78,(9,(0,5))),(79,(9,(0,5))),(80,(7,(2,6))),(81,(7,(2,6))),(82,(7,(2,6))),(83,(7,(2,6))),(84,(7,(2,6))),(85,(7,(2,6))),(86,(7,(2,6))),(87,(7,(2,6))),(88,(7,(6,2))),(89,(7,(6,2))),(90,(7,(6,2))),(91,(7,(6,2))),(92,(7,(6,2))),(93,(7,(6,2))),(94,(7,(6,2))),(95,(7,(6,2))),(96,(7,(6,1))),(97,(7,(6,1))),(98,(7,(6,1))),(99,(7,(6,1))),(100,(7,(6,1))),(101,(7,(6,1))),(102,(7,(6,1))),(103,(7,(6,1))),(104,(8,(1,6))),(105,(8,(1,6))),(106,(8,(1,6))),(107,(8,(1,6))),(108,(8,(6,0))),(109,(8,(6,0))),(110,(8,(6,0))),(111,(8,(6,0))),(112,(8,(3,5))),(113,(8,(3,5))),(114,(8,(3,5))),(115,(8,(3,5))),(116,(8,(5,3))),(117,(8,(5,3))),(118,(8,(5,3))),(119,(8,(5,3))),(120,(8,(2,5))),(121,(8,(2,5))),(122,(8,(2,5))),(123,(8,(2,5))),(124,(8,(5,2))),(125,(8,(5,2))),(126,(8,(5,2))),(127,(8,(5,2))),(128,(7,(1,5))),(129,(7,(1,5))),(130,(7,(1,5))),(131,(7,(1,5))),(132,(7,(1,5))),(133,(7,(1,5))),(134,(7,(1,5))),(135,(7,(1,5))),(136,(7,(5,1))),(137,(7,(5,1))),(138,(7,(5,1))),(139,(7,(5,1))),(140,(7,(5,1))),(141,(7,(5,1))),(142,(7,(5,1))),(143,(7,(5,1))),(144,(7,(3,4))),(145,(7,(3,4))),(146,(7,(3,4))),(147,(7,(3,4))),(148,(7,(3,4))),(149,(7,(3,4))),(150,(7,(3,4))),(151,(7,(3,4))),(152,(7,(4,3))),(153,(7,(4,3))),(154,(7,(4,3))),(155,(7,(4,3))),(156,(7,(4,3))),(157,(7,(4,3))),(158,(7,(4,3))),(159,(7,(4,3))),(160,(8,(5,0))),(161,(8,(5,0))),(162,(8,(5,0))),(163,(8,(5,0))),(164,(8,(0,4))),(165,(8,(0,4))),(166,(8,(0,4))),(167,(8,(0,4))),(168,(7,(2,4))),(169,(7,(2,4))),(170,(7,(2,4))),(171,(7,(2,4))),(172,(7,(2,4))),(173,(7,(2,4))),(174,(7,(2,4))),(175,(7,(2,4))),(176,(7,(4,2))),(177,(7,(4,2))),(178,(7,(4,2))),(179,(7,(4,2))),(180,(7,(4,2))),(181,(7,(4,2))),(182,(7,(4,2))),(183,(7,(4,2))),(184,(7,(1,4))),(185,(7,(1,4))),(186,(7,(1,4))),(187,(7,(1,4))),(188,(7,(1,4))),(189,(7,(1,4))),(190,(7,(1,4))),(191,(7,(1,4))),(192,(6,(3,3))),(193,(6,(3,3))),(194,(6,(3,3))),(195,(6,(3,3))),(196,(6,(3,3))),(197,(6,(3,3))),(198,(6,(3,3))),(199,(6,(3,3))),(200,(6,(3,3))),(201,(6,(3,3))),(202,(6,(3,3))),(203,(6,(3,3))),(204,(6,(3,3))),(205,(6,(3,3))),(206,(6,(3,3))),(207,(6,(3,3))),(208,(6,(4,1))),(209,(6,(4,1))),(210,(6,(4,1))),(211,(6,(4,1))),(212,(6,(4,1))),(213,(6,(4,1))),(214,(6,(4,1))),(215,(6,(4,1))),(216,(6,(4,1))),(217,(6,(4,1))),(218,(6,(4,1))),(219,(6,(4,1))),(220,(6,(4,1))),(221,(6,(4,1))),(222,(6,(4,1))),(223,(6,(4,1))),(224,(6,(2,3))),(225,(6,(2,3))),(226,(6,(2,3))),(227,(6,(2,3))),(228,(6,(2,3))),(229,(6,(2,3))),(230,(6,(2,3))),(231,(6,(2,3))),(232,(6,(2,3))),(233,(6,(2,3))),(234,(6,(2,3))),(235,(6,(2,3))),(236,(6,(2,3))),(237,(6,(2,3))),(238,(6,(2,3))),(239,(6,(2,3))),(240,(6,(3,2))),(241,(6,(3,2))),(242,(6,(3,2))),(243,(6,(3,2))),(244,(6,(3,2))),(245,(6,(3,2))),(246,(6,(3,2))),(247,(6,(3,2))),(248,(6,(3,2))),(249,(6,(3,2))),(250,(6,(3,2))),(251,(6,(3,2))),(252,(6,(3,2))),(253,(6,(3,2))),(254,(6,(3,2))),(255,(6,(3,2))),(256,(7,(4,0))),(257,(7,(4,0))),(258,(7,(4,0))),(259,(7,(4,0))),(260,(7,(4,0))),(261,(7,(4,0))),(262,(7,(4,0))),(263,(7,(4,0))),(264,(7,(0,3))),(265,(7,(0,3))),(266,(7,(0,3))),(267,(7,(0,3))),(268,(7,(0,3))),(269,(7,(0,3))),(270,(7,(0,3))),(271,(7,(0,3))),(272,(6,(3,0))),(273,(6,(3,0))),(274,(6,(3,0))),(275,(6,(3,0))),(276,(6,(3,0))),(277,(6,(3,0))),(278,(6,(3,0))),(279,(6,(3,0))),(280,(6,(3,0))),(281,(6,(3,0))),(282,(6,(3,0))),(283,(6,(3,0))),(284,(6,(3,0))),(285,(6,(3,0))),(286,(6,(3,0))),(287,(6,(3,0))),(288,(5,(1,3))),(289,(5,(1,3))),(290,(5,(1,3))),(291,(5,(1,3))),(292,(5,(1,3))),(293,(5,(1,3))),(294,(5,(1,3))),(295,(5,(1,3))),(296,(5,(1,3))),(297,(5,(1,3))),(298,(5,(1,3))),(299,(5,(1,3))),(300,(5,(1,3))),(301,(5,(1,3))),(302,(5,(1,3))),(303,(5,(1,3))),(304,(5,(1,3))),(305,(5,(1,3))),(306,(5,(1,3))),(307,(5,(1,3))),(308,(5,(1,3))),(309,(5,(1,3))),(310,(5,(1,3))),(311,(5,(1,3))),(312,(5,(1,3))),(313,(5,(1,3))),(314,(5,(1,3))),(315,(5,(1,3))),(316,(5,(1,3))),(317,(5,(1,3))),(318,(5,(1,3))),(319,(5,(1,3))),(320,(5,(3,1))),(321,(5,(3,1))),(322,(5,(3,1))),(323,(5,(3,1))),(324,(5,(3,1))),(325,(5,(3,1))),(326,(5,(3,1))),(327,(5,(3,1))),(328,(5,(3,1))),(329,(5,(3,1))),(330,(5,(3,1))),(331,(5,(3,1))),(332,(5,(3,1))),(333,(5,(3,1))),(334,(5,(3,1))),(335,(5,(3,1))),(336,(5,(3,1))),(337,(5,(3,1))),(338,(5,(3,1))),(339,(5,(3,1))),(340,(5,(3,1))),(341,(5,(3,1))),(342,(5,(3,1))),(343,(5,(3,1))),(344,(5,(3,1))),(345,(5,(3,1))),(346,(5,(3,1))),(347,(5,(3,1))),(348,(5,(3,1))),(349,(5,(3,1))),(350,(5,(3,1))),(351,(5,(3,1))),(352,(5,(2,2))),(353,(5,(2,2))),(354,(5,(2,2))),(355,(5,(2,2))),(356,(5,(2,2))),(357,(5,(2,2))),(358,(5,(2,2))),(359,(5,(2,2))),(360,(5,(2,2))),(361,(5,(2,2))),(362,(5,(2,2))),(363,(5,(2,2))),(364,(5,(2,2))),(365,(5,(2,2))),(366,(5,(2,2))),(367,(5,(2,2))),(368,(5,(2,2))),(369,(5,(2,2))),(370,(5,(2,2))),(371,(5,(2,2))),(372,(5,(2,2))),(373,(5,(2,2))),(374,(5,(2,2))),(375,(5,(2,2))),(376,(5,(2,2))),(377,(5,(2,2))),(378,(5,(2,2))),(379,(5,(2,2))),(380,(5,(2,2))),(381,(5,(2,2))),(382,(5,(2,2))),(383,(5,(2,2))),(384,(4,(1,2))),(385,(4,(1,2))),(386,(4,(1,2))),(387,(4,(1,2))),(388,(4,(1,2))),(389,(4,(1,2))),(390,(4,(1,2))),(391,(4,(1,2))),(392,(4,(1,2))),(393,(4,(1,2))),(394,(4,(1,2))),(395,(4,(1,2))),(396,(4,(1,2))),(397,(4,(1,2))),(398,(4,(1,2))),(399,(4,(1,2))),(400,(4,(1,2))),(401,(4,(1,2))),(402,(4,(1,2))),(403,(4,(1,2))),(404,(4,(1,2))),(405,(4,(1,2))),(406,(4,(1,2))),(407,(4,(1,2))),(408,(4,(1,2))),(409,(4,(1,2))),(410,(4,(1,2))),(411,(4,(1,2))),(412,(4,(1,2))),(413,(4,(1,2))),(414,(4,(1,2))),(415,(4,(1,2))),(416,(4,(1,2))),(417,(4,(1,2))),(418,(4,(1,2))),(419,(4,(1,2))),(420,(4,(1,2))),(421,(4,(1,2))),(422,(4,(1,2))),(423,(4,(1,2))),(424,(4,(1,2))),(425,(4,(1,2))),(426,(4,(1,2))),(427,(4,(1,2))),(428,(4,(1,2))),(429,(4,(1,2))),(430,(4,(1,2))),(431,(4,(1,2))),(432,(4,(1,2))),(433,(4,(1,2))),(434,(4,(1,2))),(435,(4,(1,2))),(436,(4,(1,2))),(437,(4,(1,2))),(438,(4,(1,2))),(439,(4,(1,2))),(440,(4,(1,2))),(441,(4,(1,2))),(442,(4,(1,2))),(443,(4,(1,2))),(444,(4,(1,2))),(445,(4,(1,2))),(446,(4,(1,2))),(447,(4,(1,2))),(448,(4,(2,1))),(449,(4,(2,1))),(450,(4,(2,1))),(451,(4,(2,1))),(452,(4,(2,1))),(453,(4,(2,1))),(454,(4,(2,1))),(455,(4,(2,1))),(456,(4,(2,1))),(457,(4,(2,1))),(458,(4,(2,1))),(459,(4,(2,1))),(460,(4,(2,1))),(461,(4,(2,1))),(462,(4,(2,1))),(463,(4,(2,1))),(464,(4,(2,1))),(465,(4,(2,1))),(466,(4,(2,1))),(467,(4,(2,1))),(468,(4,(2,1))),(469,(4,(2,1))),(470,(4,(2,1))),(471,(4,(2,1))),(472,(4,(2,1))),(473,(4,(2,1))),(474,(4,(2,1))),(475,(4,(2,1))),(476,(4,(2,1))),(477,(4,(2,1))),(478,(4,(2,1))),(479,(4,(2,1))),(480,(4,(2,1))),(481,(4,(2,1))),(482,(4,(2,1))),(483,(4,(2,1))),(484,(4,(2,1))),(485,(4,(2,1))),(486,(4,(2,1))),(487,(4,(2,1))),(488,(4,(2,1))),(489,(4,(2,1))),(490,(4,(2,1))),(491,(4,(2,1))),(492,(4,(2,1))),(493,(4,(2,1))),(494,(4,(2,1))),(495,(4,(2,1))),(496,(4,(2,1))),(497,(4,(2,1))),(498,(4,(2,1))),(499,(4,(2,1))),(500,(4,(2,1))),(501,(4,(2,1))),(502,(4,(2,1))),(503,(4,(2,1))),(504,(4,(2,1))),(505,(4,(2,1))),(506,(4,(2,1))),(507,(4,(2,1))),(508,(4,(2,1))),(509,(4,(2,1))),(510,(4,(2,1))),(511,(4,(2,1))),(512,(5,(0,2))),(513,(5,(0,2))),(514,(5,(0,2))),(515,(5,(0,2))),(516,(5,(0,2))),(517,(5,(0,2))),(518,(5,(0,2))),(519,(5,(0,2))),(520,(5,(0,2))),(521,(5,(0,2))),(522,(5,(0,2))),(523,(5,(0,2))),(524,(5,(0,2))),(525,(5,(0,2))),(526,(5,(0,2))),(527,(5,(0,2))),(528,(5,(0,2))),(529,(5,(0,2))),(530,(5,(0,2))),(531,(5,(0,2))),(532,(5,(0,2))),(533,(5,(0,2))),(534,(5,(0,2))),(535,(5,(0,2))),(536,(5,(0,2))),(537,(5,(0,2))),(538,(5,(0,2))),(539,(5,(0,2))),(540,(5,(0,2))),(541,(5,(0,2))),(542,(5,(0,2))),(543,(5,(0,2))),(544,(5,(2,0))),(545,(5,(2,0))),(546,(5,(2,0))),(547,(5,(2,0))),(548,(5,(2,0))),(549,(5,(2,0))),(550,(5,(2,0))),(551,(5,(2,0))),(552,(5,(2,0))),(553,(5,(2,0))),(554,(5,(2,0))),(555,(5,(2,0))),(556,(5,(2,0))),(557,(5,(2,0))),(558,(5,(2,0))),(559,(5,(2,0))),(560,(5,(2,0))),(561,(5,(2,0))),(562,(5,(2,0))),(563,(5,(2,0))),(564,(5,(2,0))),(565,(5,(2,0))),(566,(5,(2,0))),(567,(5,(2,0))),(568,(5,(2,0))),(569,(5,(2,0))),(570,(5,(2,0))),(571,(5,(2,0))),(572,(5,(2,0))),(573,(5,(2,0))),(574,(5,(2,0))),(575,(5,(2,0))),(576,(4,(0,0))),(577,(4,(0,0))),(578,(4,(0,0))),(579,(4,(0,0))),(580,(4,(0,0))),(581,(4,(0,0))),(582,(4,(0,0))),(583,(4,(0,0))),(584,(4,(0,0))),(585,(4,(0,0))),(586,(4,(0,0))),(587,(4,(0,0))),(588,(4,(0,0))),(589,(4,(0,0))),(590,(4,(0,0))),(591,(4,(0,0))),(592,(4,(0,0))),(593,(4,(0,0))),(594,(4,(0,0))),(595,(4,(0,0))),(596,(4,(0,0))),(597,(4,(0,0))),(598,(4,(0,0))),(599,(4,(0,0))),(600,(4,(0,0))),(601,(4,(0,0))),(602,(4,(0,0))),(603,(4,(0,0))),(604,(4,(0,0))),(605,(4,(0,0))),(606,(4,(0,0))),(607,(4,(0,0))),(608,(4,(0,0))),(609,(4,(0,0))),(610,(4,(0,0))),(611,(4,(0,0))),(612,(4,(0,0))),(613,(4,(0,0))),(614,(4,(0,0))),(615,(4,(0,0))),(616,(4,(0,0))),(617,(4,(0,0))),(618,(4,(0,0))),(619,(4,(0,0))),(620,(4,(0,0))),(621,(4,(0,0))),(622,(4,(0,0))),(623,(4,(0,0))),(624,(4,(0,0))),(625,(4,(0,0))),(626,(4,(0,0))),(627,(4,(0,0))),(628,(4,(0,0))),(629,(4,(0,0))),(630,(4,(0,0))),(631,(4,(0,0))),(632,(4,(0,0))),(633,(4,(0,0))),(634,(4,(0,0))),(635,(4,(0,0))),(636,(4,(0,0))),(637,(4,(0,0))),(638,(4,(0,0))),(639,(4,(0,0))),(640,(3,(1,1))),(641,(3,(1,1))),(642,(3,(1,1))),(643,(3,(1,1))),(644,(3,(1,1))),(645,(3,(1,1))),(646,(3,(1,1))),(647,(3,(1,1))),(648,(3,(1,1))),(649,(3,(1,1))),(650,(3,(1,1))),(651,(3,(1,1))),(652,(3,(1,1))),(653,(3,(1,1))),(654,(3,(1,1))),(655,(3,(1,1))),(656,(3,(1,1))),(657,(3,(1,1))),(658,(3,(1,1))),(659,(3,(1,1))),(660,(3,(1,1))),(661,(3,(1,1))),(662,(3,(1,1))),(663,(3,(1,1))),(664,(3,(1,1))),(665,(3,(1,1))),(666,(3,(1,1))),(667,(3,(1,1))),(668,(3,(1,1))),(669,(3,(1,1))),(670,(3,(1,1))),(671,(3,(1,1))),(672,(3,(1,1))),(673,(3,(1,1))),(674,(3,(1,1))),(675,(3,(1,1))),(676,(3,(1,1))),(677,(3,(1,1))),(678,(3,(1,1))),(679,(3,(1,1))),(680,(3,(1,1))),(681,(3,(1,1))),(682,(3,(1,1))),(683,(3,(1,1))),(684,(3,(1,1))),(685,(3,(1,1))),(686,(3,(1,1))),(687,(3,(1,1))),(688,(3,(1,1))),(689,(3,(1,1))),(690,(3,(1,1))),(691,(3,(1,1))),(692,(3,(1,1))),(693,(3,(1,1))),(694,(3,(1,1))),(695,(3,(1,1))),(696,(3,(1,1))),(697,(3,(1,1))),(698,(3,(1,1))),(699,(3,(1,1))),(700,(3,(1,1))),(701,(3,(1,1))),(702,(3,(1,1))),(703,(3,(1,1))),(704,(3,(1,1))),(705,(3,(1,1))),(706,(3,(1,1))),(707,(3,(1,1))),(708,(3,(1,1))),(709,(3,(1,1))),(710,(3,(1,1))),(711,(3,(1,1))),(712,(3,(1,1))),(713,(3,(1,1))),(714,(3,(1,1))),(715,(3,(1,1))),(716,(3,(1,1))),(717,(3,(1,1))),(718,(3,(1,1))),(719,(3,(1,1))),(720,(3,(1,1))),(721,(3,(1,1))),(722,(3,(1,1))),(723,(3,(1,1))),(724,(3,(1,1))),(725,(3,(1,1))),(726,(3,(1,1))),(727,(3,(1,1))),(728,(3,(1,1))),(729,(3,(1,1))),(730,(3,(1,1))),(731,(3,(1,1))),(732,(3,(1,1))),(733,(3,(1,1))),(734,(3,(1,1))),(735,(3,(1,1))),(736,(3,(1,1))),(737,(3,(1,1))),(738,(3,(1,1))),(739,(3,(1,1))),(740,(3,(1,1))),(741,(3,(1,1))),(742,(3,(1,1))),(743,(3,(1,1))),(744,(3,(1,1))),(745,(3,(1,1))),(746,(3,(1,1))),(747,(3,(1,1))),(748,(3,(1,1))),(749,(3,(1,1))),(750,(3,(1,1))),(751,(3,(1,1))),(752,(3,(1,1))),(753,(3,(1,1))),(754,(3,(1,1))),(755,(3,(1,1))),(756,(3,(1,1))),(757,(3,(1,1))),(758,(3,(1,1))),(759,(3,(1,1))),(760,(3,(1,1))),(761,(3,(1,1))),(762,(3,(1,1))),(763,(3,(1,1))),(764,(3,(1,1))),(765,(3,(1,1))),(766,(3,(1,1))),(767,(3,(1,1))),(768,(3,(0,1))),(769,(3,(0,1))),(770,(3,(0,1))),(771,(3,(0,1))),(772,(3,(0,1))),(773,(3,(0,1))),(774,(3,(0,1))),(775,(3,(0,1))),(776,(3,(0,1))),(777,(3,(0,1))),(778,(3,(0,1))),(779,(3,(0,1))),(780,(3,(0,1))),(781,(3,(0,1))),(782,(3,(0,1))),(783,(3,(0,1))),(784,(3,(0,1))),(785,(3,(0,1))),(786,(3,(0,1))),(787,(3,(0,1))),(788,(3,(0,1))),(789,(3,(0,1))),(790,(3,(0,1))),(791,(3,(0,1))),(792,(3,(0,1))),(793,(3,(0,1))),(794,(3,(0,1))),(795,(3,(0,1))),(796,(3,(0,1))),(797,(3,(0,1))),(798,(3,(0,1))),(799,(3,(0,1))),(800,(3,(0,1))),(801,(3,(0,1))),(802,(3,(0,1))),(803,(3,(0,1))),(804,(3,(0,1))),(805,(3,(0,1))),(806,(3,(0,1))),(807,(3,(0,1))),(808,(3,(0,1))),(809,(3,(0,1))),(810,(3,(0,1))),(811,(3,(0,1))),(812,(3,(0,1))),(813,(3,(0,1))),(814,(3,(0,1))),(815,(3,(0,1))),(816,(3,(0,1))),(817,(3,(0,1))),(818,(3,(0,1))),(819,(3,(0,1))),(820,(3,(0,1))),(821,(3,(0,1))),(822,(3,(0,1))),(823,(3,(0,1))),(824,(3,(0,1))),(825,(3,(0,1))),(826,(3,(0,1))),(827,(3,(0,1))),(828,(3,(0,1))),(829,(3,(0,1))),(830,(3,(0,1))),(831,(3,(0,1))),(832,(3,(0,1))),(833,(3,(0,1))),(834,(3,(0,1))),(835,(3,(0,1))),(836,(3,(0,1))),(837,(3,(0,1))),(838,(3,(0,1))),(839,(3,(0,1))),(840,(3,(0,1))),(841,(3,(0,1))),(842,(3,(0,1))),(843,(3,(0,1))),(844,(3,(0,1))),(845,(3,(0,1))),(846,(3,(0,1))),(847,(3,(0,1))),(848,(3,(0,1))),(849,(3,(0,1))),(850,(3,(0,1))),(851,(3,(0,1))),(852,(3,(0,1))),(853,(3,(0,1))),(854,(3,(0,1))),(855,(3,(0,1))),(856,(3,(0,1))),(857,(3,(0,1))),(858,(3,(0,1))),(859,(3,(0,1))),(860,(3,(0,1))),(861,(3,(0,1))),(862,(3,(0,1))),(863,(3,(0,1))),(864,(3,(0,1))),(865,(3,(0,1))),(866,(3,(0,1))),(867,(3,(0,1))),(868,(3,(0,1))),(869,(3,(0,1))),(870,(3,(0,1))),(871,(3,(0,1))),(872,(3,(0,1))),(873,(3,(0,1))),(874,(3,(0,1))),(875,(3,(0,1))),(876,(3,(0,1))),(877,(3,(0,1))),(878,(3,(0,1))),(879,(3,(0,1))),(880,(3,(0,1))),(881,(3,(0,1))),(882,(3,(0,1))),(883,(3,(0,1))),(884,(3,(0,1))),(885,(3,(0,1))),(886,(3,(0,1))),(887,(3,(0,1))),(888,(3,(0,1))),(889,(3,(0,1))),(890,(3,(0,1))),(891,(3,(0,1))),(892,(3,(0,1))),(893,(3,(0,1))),(894,(3,(0,1))),(895,(3,(0,1))),(896,(3,(1,0))),(897,(3,(1,0))),(898,(3,(1,0))),(899,(3,(1,0))),(900,(3,(1,0))),(901,(3,(1,0))),(902,(3,(1,0))),(903,(3,(1,0))),(904,(3,(1,0))),(905,(3,(1,0))),(906,(3,(1,0))),(907,(3,(1,0))),(908,(3,(1,0))),(909,(3,(1,0))),(910,(3,(1,0))),(911,(3,(1,0))),(912,(3,(1,0))),(913,(3,(1,0))),(914,(3,(1,0))),(915,(3,(1,0))),(916,(3,(1,0))),(917,(3,(1,0))),(918,(3,(1,0))),(919,(3,(1,0))),(920,(3,(1,0))),(921,(3,(1,0))),(922,(3,(1,0))),(923,(3,(1,0))),(924,(3,(1,0))),(925,(3,(1,0))),(926,(3,(1,0))),(927,(3,(1,0))),(928,(3,(1,0))),(929,(3,(1,0))),(930,(3,(1,0))),(931,(3,(1,0))),(932,(3,(1,0))),(933,(3,(1,0))),(934,(3,(1,0))),(935,(3,(1,0))),(936,(3,(1,0))),(937,(3,(1,0))),(938,(3,(1,0))),(939,(3,(1,0))),(940,(3,(1,0))),(941,(3,(1,0))),(942,(3,(1,0))),(943,(3,(1,0))),(944,(3,(1,0))),(945,(3,(1,0))),(946,(3,(1,0))),(947,(3,(1,0))),(948,(3,(1,0))),(949,(3,(1,0))),(950,(3,(1,0))),(951,(3,(1,0))),(952,(3,(1,0))),(953,(3,(1,0))),(954,(3,(1,0))),(955,(3,(1,0))),(956,(3,(1,0))),(957,(3,(1,0))),(958,(3,(1,0))),(959,(3,(1,0))),(960,(3,(1,0))),(961,(3,(1,0))),(962,(3,(1,0))),(963,(3,(1,0))),(964,(3,(1,0))),(965,(3,(1,0))),(966,(3,(1,0))),(967,(3,(1,0))),(968,(3,(1,0))),(969,(3,(1,0))),(970,(3,(1,0))),(971,(3,(1,0))),(972,(3,(1,0))),(973,(3,(1,0))),(974,(3,(1,0))),(975,(3,(1,0))),(976,(3,(1,0))),(977,(3,(1,0))),(978,(3,(1,0))),(979,(3,(1,0))),(980,(3,(1,0))),(981,(3,(1,0))),(982,(3,(1,0))),(983,(3,(1,0))),(984,(3,(1,0))),(985,(3,(1,0))),(986,(3,(1,0))),(987,(3,(1,0))),(988,(3,(1,0))),(989,(3,(1,0))),(990,(3,(1,0))),(991,(3,(1,0))),(992,(3,(1,0))),(993,(3,(1,0))),(994,(3,(1,0))),(995,(3,(1,0))),(996,(3,(1,0))),(997,(3,(1,0))),(998,(3,(1,0))),(999,(3,(1,0))),(1000,(3,(1,0))),(1001,(3,(1,0))),(1002,(3,(1,0))),(1003,(3,(1,0))),(1004,(3,(1,0))),(1005,(3,(1,0))),(1006,(3,(1,0))),(1007,(3,(1,0))),(1008,(3,(1,0))),(1009,(3,(1,0))),(1010,(3,(1,0))),(1011,(3,(1,0))),(1012,(3,(1,0))),(1013,(3,(1,0))),(1014,(3,(1,0))),(1015,(3,(1,0))),(1016,(3,(1,0))),(1017,(3,(1,0))),(1018,(3,(1,0))),(1019,(3,(1,0))),(1020,(3,(1,0))),(1021,(3,(1,0))),(1022,(3,(1,0))),(1023,(3,(1,0)))]) table13 = Right (10,array (0,1023) [(0,Right (9,array (0,511) [(0,(9,(15,14))),(1,(9,(15,12))),(2,(8,(15,13))),(3,(8,(15,13))),(4,(7,(14,13))),(5,(7,(14,13))),(6,(7,(14,13))),(7,(7,(14,13))),(8,(6,(15,15))),(9,(6,(15,15))),(10,(6,(15,15))),(11,(6,(15,15))),(12,(6,(15,15))),(13,(6,(15,15))),(14,(6,(15,15))),(15,(6,(15,15))),(16,(6,(14,15))),(17,(6,(14,15))),(18,(6,(14,15))),(19,(6,(14,15))),(20,(6,(14,15))),(21,(6,(14,15))),(22,(6,(14,15))),(23,(6,(14,15))),(24,(6,(13,15))),(25,(6,(13,15))),(26,(6,(13,15))),(27,(6,(13,15))),(28,(6,(13,15))),(29,(6,(13,15))),(30,(6,(13,15))),(31,(6,(13,15))),(32,(6,(14,14))),(33,(6,(14,14))),(34,(6,(14,14))),(35,(6,(14,14))),(36,(6,(14,14))),(37,(6,(14,14))),(38,(6,(14,14))),(39,(6,(14,14))),(40,(6,(12,15))),(41,(6,(12,15))),(42,(6,(12,15))),(43,(6,(12,15))),(44,(6,(12,15))),(45,(6,(12,15))),(46,(6,(12,15))),(47,(6,(12,15))),(48,(6,(13,14))),(49,(6,(13,14))),(50,(6,(13,14))),(51,(6,(13,14))),(52,(6,(13,14))),(53,(6,(13,14))),(54,(6,(13,14))),(55,(6,(13,14))),(56,(6,(11,15))),(57,(6,(11,15))),(58,(6,(11,15))),(59,(6,(11,15))),(60,(6,(11,15))),(61,(6,(11,15))),(62,(6,(11,15))),(63,(6,(11,15))),(64,(6,(15,11))),(65,(6,(15,11))),(66,(6,(15,11))),(67,(6,(15,11))),(68,(6,(15,11))),(69,(6,(15,11))),(70,(6,(15,11))),(71,(6,(15,11))),(72,(6,(12,14))),(73,(6,(12,14))),(74,(6,(12,14))),(75,(6,(12,14))),(76,(6,(12,14))),(77,(6,(12,14))),(78,(6,(12,14))),(79,(6,(12,14))),(80,(6,(13,12))),(81,(6,(13,12))),(82,(6,(13,12))),(83,(6,(13,12))),(84,(6,(13,12))),(85,(6,(13,12))),(86,(6,(13,12))),(87,(6,(13,12))),(88,(7,(10,15))),(89,(7,(10,15))),(90,(7,(10,15))),(91,(7,(10,15))),(92,(7,(14,9))),(93,(7,(14,9))),(94,(7,(14,9))),(95,(7,(14,9))),(96,(5,(14,12))),(97,(5,(14,12))),(98,(5,(14,12))),(99,(5,(14,12))),(100,(5,(14,12))),(101,(5,(14,12))),(102,(5,(14,12))),(103,(5,(14,12))),(104,(5,(14,12))),(105,(5,(14,12))),(106,(5,(14,12))),(107,(5,(14,12))),(108,(5,(14,12))),(109,(5,(14,12))),(110,(5,(14,12))),(111,(5,(14,12))),(112,(5,(13,13))),(113,(5,(13,13))),(114,(5,(13,13))),(115,(5,(13,13))),(116,(5,(13,13))),(117,(5,(13,13))),(118,(5,(13,13))),(119,(5,(13,13))),(120,(5,(13,13))),(121,(5,(13,13))),(122,(5,(13,13))),(123,(5,(13,13))),(124,(5,(13,13))),(125,(5,(13,13))),(126,(5,(13,13))),(127,(5,(13,13))),(128,(6,(15,10))),(129,(6,(15,10))),(130,(6,(15,10))),(131,(6,(15,10))),(132,(6,(15,10))),(133,(6,(15,10))),(134,(6,(15,10))),(135,(6,(15,10))),(136,(6,(12,13))),(137,(6,(12,13))),(138,(6,(12,13))),(139,(6,(12,13))),(140,(6,(12,13))),(141,(6,(12,13))),(142,(6,(12,13))),(143,(6,(12,13))),(144,(5,(11,14))),(145,(5,(11,14))),(146,(5,(11,14))),(147,(5,(11,14))),(148,(5,(11,14))),(149,(5,(11,14))),(150,(5,(11,14))),(151,(5,(11,14))),(152,(5,(11,14))),(153,(5,(11,14))),(154,(5,(11,14))),(155,(5,(11,14))),(156,(5,(11,14))),(157,(5,(11,14))),(158,(5,(11,14))),(159,(5,(11,14))),(160,(5,(14,11))),(161,(5,(14,11))),(162,(5,(14,11))),(163,(5,(14,11))),(164,(5,(14,11))),(165,(5,(14,11))),(166,(5,(14,11))),(167,(5,(14,11))),(168,(5,(14,11))),(169,(5,(14,11))),(170,(5,(14,11))),(171,(5,(14,11))),(172,(5,(14,11))),(173,(5,(14,11))),(174,(5,(14,11))),(175,(5,(14,11))),(176,(5,(9,15))),(177,(5,(9,15))),(178,(5,(9,15))),(179,(5,(9,15))),(180,(5,(9,15))),(181,(5,(9,15))),(182,(5,(9,15))),(183,(5,(9,15))),(184,(5,(9,15))),(185,(5,(9,15))),(186,(5,(9,15))),(187,(5,(9,15))),(188,(5,(9,15))),(189,(5,(9,15))),(190,(5,(9,15))),(191,(5,(9,15))),(192,(5,(15,9))),(193,(5,(15,9))),(194,(5,(15,9))),(195,(5,(15,9))),(196,(5,(15,9))),(197,(5,(15,9))),(198,(5,(15,9))),(199,(5,(15,9))),(200,(5,(15,9))),(201,(5,(15,9))),(202,(5,(15,9))),(203,(5,(15,9))),(204,(5,(15,9))),(205,(5,(15,9))),(206,(5,(15,9))),(207,(5,(15,9))),(208,(5,(14,10))),(209,(5,(14,10))),(210,(5,(14,10))),(211,(5,(14,10))),(212,(5,(14,10))),(213,(5,(14,10))),(214,(5,(14,10))),(215,(5,(14,10))),(216,(5,(14,10))),(217,(5,(14,10))),(218,(5,(14,10))),(219,(5,(14,10))),(220,(5,(14,10))),(221,(5,(14,10))),(222,(5,(14,10))),(223,(5,(14,10))),(224,(5,(11,13))),(225,(5,(11,13))),(226,(5,(11,13))),(227,(5,(11,13))),(228,(5,(11,13))),(229,(5,(11,13))),(230,(5,(11,13))),(231,(5,(11,13))),(232,(5,(11,13))),(233,(5,(11,13))),(234,(5,(11,13))),(235,(5,(11,13))),(236,(5,(11,13))),(237,(5,(11,13))),(238,(5,(11,13))),(239,(5,(11,13))),(240,(5,(13,11))),(241,(5,(13,11))),(242,(5,(13,11))),(243,(5,(13,11))),(244,(5,(13,11))),(245,(5,(13,11))),(246,(5,(13,11))),(247,(5,(13,11))),(248,(5,(13,11))),(249,(5,(13,11))),(250,(5,(13,11))),(251,(5,(13,11))),(252,(5,(13,11))),(253,(5,(13,11))),(254,(5,(13,11))),(255,(5,(13,11))),(256,(5,(8,15))),(257,(5,(8,15))),(258,(5,(8,15))),(259,(5,(8,15))),(260,(5,(8,15))),(261,(5,(8,15))),(262,(5,(8,15))),(263,(5,(8,15))),(264,(5,(8,15))),(265,(5,(8,15))),(266,(5,(8,15))),(267,(5,(8,15))),(268,(5,(8,15))),(269,(5,(8,15))),(270,(5,(8,15))),(271,(5,(8,15))),(272,(5,(15,8))),(273,(5,(15,8))),(274,(5,(15,8))),(275,(5,(15,8))),(276,(5,(15,8))),(277,(5,(15,8))),(278,(5,(15,8))),(279,(5,(15,8))),(280,(5,(15,8))),(281,(5,(15,8))),(282,(5,(15,8))),(283,(5,(15,8))),(284,(5,(15,8))),(285,(5,(15,8))),(286,(5,(15,8))),(287,(5,(15,8))),(288,(5,(12,12))),(289,(5,(12,12))),(290,(5,(12,12))),(291,(5,(12,12))),(292,(5,(12,12))),(293,(5,(12,12))),(294,(5,(12,12))),(295,(5,(12,12))),(296,(5,(12,12))),(297,(5,(12,12))),(298,(5,(12,12))),(299,(5,(12,12))),(300,(5,(12,12))),(301,(5,(12,12))),(302,(5,(12,12))),(303,(5,(12,12))),(304,(6,(10,14))),(305,(6,(10,14))),(306,(6,(10,14))),(307,(6,(10,14))),(308,(6,(10,14))),(309,(6,(10,14))),(310,(6,(10,14))),(311,(6,(10,14))),(312,(6,(9,14))),(313,(6,(9,14))),(314,(6,(9,14))),(315,(6,(9,14))),(316,(6,(9,14))),(317,(6,(9,14))),(318,(6,(9,14))),(319,(6,(9,14))),(320,(5,(8,14))),(321,(5,(8,14))),(322,(5,(8,14))),(323,(5,(8,14))),(324,(5,(8,14))),(325,(5,(8,14))),(326,(5,(8,14))),(327,(5,(8,14))),(328,(5,(8,14))),(329,(5,(8,14))),(330,(5,(8,14))),(331,(5,(8,14))),(332,(5,(8,14))),(333,(5,(8,14))),(334,(5,(8,14))),(335,(5,(8,14))),(336,(6,(7,15))),(337,(6,(7,15))),(338,(6,(7,15))),(339,(6,(7,15))),(340,(6,(7,15))),(341,(6,(7,15))),(342,(6,(7,15))),(343,(6,(7,15))),(344,(6,(7,14))),(345,(6,(7,14))),(346,(6,(7,14))),(347,(6,(7,14))),(348,(6,(7,14))),(349,(6,(7,14))),(350,(6,(7,14))),(351,(6,(7,14))),(352,(4,(15,7))),(353,(4,(15,7))),(354,(4,(15,7))),(355,(4,(15,7))),(356,(4,(15,7))),(357,(4,(15,7))),(358,(4,(15,7))),(359,(4,(15,7))),(360,(4,(15,7))),(361,(4,(15,7))),(362,(4,(15,7))),(363,(4,(15,7))),(364,(4,(15,7))),(365,(4,(15,7))),(366,(4,(15,7))),(367,(4,(15,7))),(368,(4,(15,7))),(369,(4,(15,7))),(370,(4,(15,7))),(371,(4,(15,7))),(372,(4,(15,7))),(373,(4,(15,7))),(374,(4,(15,7))),(375,(4,(15,7))),(376,(4,(15,7))),(377,(4,(15,7))),(378,(4,(15,7))),(379,(4,(15,7))),(380,(4,(15,7))),(381,(4,(15,7))),(382,(4,(15,7))),(383,(4,(15,7))),(384,(4,(13,10))),(385,(4,(13,10))),(386,(4,(13,10))),(387,(4,(13,10))),(388,(4,(13,10))),(389,(4,(13,10))),(390,(4,(13,10))),(391,(4,(13,10))),(392,(4,(13,10))),(393,(4,(13,10))),(394,(4,(13,10))),(395,(4,(13,10))),(396,(4,(13,10))),(397,(4,(13,10))),(398,(4,(13,10))),(399,(4,(13,10))),(400,(4,(13,10))),(401,(4,(13,10))),(402,(4,(13,10))),(403,(4,(13,10))),(404,(4,(13,10))),(405,(4,(13,10))),(406,(4,(13,10))),(407,(4,(13,10))),(408,(4,(13,10))),(409,(4,(13,10))),(410,(4,(13,10))),(411,(4,(13,10))),(412,(4,(13,10))),(413,(4,(13,10))),(414,(4,(13,10))),(415,(4,(13,10))),(416,(5,(10,13))),(417,(5,(10,13))),(418,(5,(10,13))),(419,(5,(10,13))),(420,(5,(10,13))),(421,(5,(10,13))),(422,(5,(10,13))),(423,(5,(10,13))),(424,(5,(10,13))),(425,(5,(10,13))),(426,(5,(10,13))),(427,(5,(10,13))),(428,(5,(10,13))),(429,(5,(10,13))),(430,(5,(10,13))),(431,(5,(10,13))),(432,(5,(11,12))),(433,(5,(11,12))),(434,(5,(11,12))),(435,(5,(11,12))),(436,(5,(11,12))),(437,(5,(11,12))),(438,(5,(11,12))),(439,(5,(11,12))),(440,(5,(11,12))),(441,(5,(11,12))),(442,(5,(11,12))),(443,(5,(11,12))),(444,(5,(11,12))),(445,(5,(11,12))),(446,(5,(11,12))),(447,(5,(11,12))),(448,(5,(12,11))),(449,(5,(12,11))),(450,(5,(12,11))),(451,(5,(12,11))),(452,(5,(12,11))),(453,(5,(12,11))),(454,(5,(12,11))),(455,(5,(12,11))),(456,(5,(12,11))),(457,(5,(12,11))),(458,(5,(12,11))),(459,(5,(12,11))),(460,(5,(12,11))),(461,(5,(12,11))),(462,(5,(12,11))),(463,(5,(12,11))),(464,(5,(15,6))),(465,(5,(15,6))),(466,(5,(15,6))),(467,(5,(15,6))),(468,(5,(15,6))),(469,(5,(15,6))),(470,(5,(15,6))),(471,(5,(15,6))),(472,(5,(15,6))),(473,(5,(15,6))),(474,(5,(15,6))),(475,(5,(15,6))),(476,(5,(15,6))),(477,(5,(15,6))),(478,(5,(15,6))),(479,(5,(15,6))),(480,(4,(6,15))),(481,(4,(6,15))),(482,(4,(6,15))),(483,(4,(6,15))),(484,(4,(6,15))),(485,(4,(6,15))),(486,(4,(6,15))),(487,(4,(6,15))),(488,(4,(6,15))),(489,(4,(6,15))),(490,(4,(6,15))),(491,(4,(6,15))),(492,(4,(6,15))),(493,(4,(6,15))),(494,(4,(6,15))),(495,(4,(6,15))),(496,(4,(6,15))),(497,(4,(6,15))),(498,(4,(6,15))),(499,(4,(6,15))),(500,(4,(6,15))),(501,(4,(6,15))),(502,(4,(6,15))),(503,(4,(6,15))),(504,(4,(6,15))),(505,(4,(6,15))),(506,(4,(6,15))),(507,(4,(6,15))),(508,(4,(6,15))),(509,(4,(6,15))),(510,(4,(6,15))),(511,(4,(6,15)))])),(1,Right (5,array (0,31) [(0,(4,(14,8))),(1,(4,(14,8))),(2,(4,(5,15))),(3,(4,(5,15))),(4,(4,(9,13))),(5,(4,(9,13))),(6,(4,(13,9))),(7,(4,(13,9))),(8,(4,(15,5))),(9,(4,(15,5))),(10,(4,(14,7))),(11,(4,(14,7))),(12,(4,(10,12))),(13,(4,(10,12))),(14,(4,(11,11))),(15,(4,(11,11))),(16,(4,(4,15))),(17,(4,(4,15))),(18,(4,(15,4))),(19,(4,(15,4))),(20,(5,(12,10))),(21,(5,(14,6))),(22,(4,(15,3))),(23,(4,(15,3))),(24,(3,(3,15))),(25,(3,(3,15))),(26,(3,(3,15))),(27,(3,(3,15))),(28,(4,(8,13))),(29,(4,(8,13))),(30,(4,(13,8))),(31,(4,(13,8)))])),(2,Right (4,array (0,15) [(0,(3,(2,15))),(1,(3,(2,15))),(2,(3,(15,2))),(3,(3,(15,2))),(4,(4,(6,14))),(5,(4,(9,12))),(6,(3,(0,15))),(7,(3,(0,15))),(8,(4,(12,9))),(9,(4,(5,14))),(10,(3,(10,11))),(11,(3,(10,11))),(12,(4,(7,13))),(13,(4,(13,7))),(14,(3,(4,14))),(15,(3,(4,14)))])),(3,Right (4,array (0,15) [(0,(4,(12,8))),(1,(4,(13,6))),(2,(3,(3,14))),(3,(3,(3,14))),(4,(3,(11,9))),(5,(3,(11,9))),(6,(4,(9,11))),(7,(4,(10,10))),(8,(2,(1,15))),(9,(2,(1,15))),(10,(2,(1,15))),(11,(2,(1,15))),(12,(2,(15,1))),(13,(2,(15,1))),(14,(2,(15,1))),(15,(2,(15,1)))])),(4,Right (3,array (0,7) [(0,(2,(15,0))),(1,(2,(15,0))),(2,(3,(11,10))),(3,(3,(14,5))),(4,(3,(14,4))),(5,(3,(8,12))),(6,(3,(6,13))),(7,(3,(14,3)))])),(5,Right (3,array (0,7) [(0,(2,(14,2))),(1,(2,(14,2))),(2,(3,(2,14))),(3,(3,(0,14))),(4,(2,(1,14))),(5,(2,(1,14))),(6,(2,(14,1))),(7,(2,(14,1)))])),(6,Right (3,array (0,7) [(0,(3,(14,0))),(1,(3,(5,13))),(2,(3,(13,5))),(3,(3,(7,12))),(4,(3,(12,7))),(5,(3,(4,13))),(6,(3,(8,11))),(7,(3,(11,8)))])),(7,Right (3,array (0,7) [(0,(3,(13,4))),(1,(3,(9,10))),(2,(3,(10,9))),(3,(3,(6,12))),(4,(2,(12,6))),(5,(2,(12,6))),(6,(2,(3,13))),(7,(2,(3,13)))])),(8,Right (3,array (0,7) [(0,(3,(13,3))),(1,(3,(7,11))),(2,(2,(2,13))),(3,(2,(2,13))),(4,(2,(13,2))),(5,(2,(13,2))),(6,(2,(1,13))),(7,(2,(1,13)))])),(9,Right (3,array (0,7) [(0,(2,(11,7))),(1,(2,(11,7))),(2,(3,(5,12))),(3,(3,(12,5))),(4,(3,(9,9))),(5,(3,(7,10))),(6,(2,(12,3))),(7,(2,(12,3)))])),(10,Right (3,array (0,7) [(0,(3,(10,7))),(1,(3,(9,7))),(2,(2,(4,11))),(3,(2,(4,11))),(4,(1,(13,1))),(5,(1,(13,1))),(6,(1,(13,1))),(7,(1,(13,1)))])),(11,Right (2,array (0,3) [(0,(2,(0,13))),(1,(2,(13,0))),(2,(2,(8,10))),(3,(2,(10,8)))])),(12,Right (2,array (0,3) [(0,(2,(4,12))),(1,(2,(12,4))),(2,(2,(6,11))),(3,(2,(11,6)))])),(13,Right (1,array (0,1) [(0,(1,(3,12))),(1,(1,(2,12)))])),(14,Right (1,array (0,1) [(0,(1,(12,2))),(1,(1,(5,11)))])),(15,Right (2,array (0,3) [(0,(2,(11,5))),(1,(2,(8,9))),(2,(1,(1,12))),(3,(1,(1,12)))])),(16,Right (2,array (0,3) [(0,(1,(12,1))),(1,(1,(12,1))),(2,(2,(9,8))),(3,(2,(0,12)))])),(17,Right (2,array (0,3) [(0,(1,(12,0))),(1,(1,(12,0))),(2,(2,(11,4))),(3,(2,(6,10)))])),(18,Right (2,array (0,3) [(0,(2,(10,6))),(1,(2,(7,9))),(2,(1,(3,11))),(3,(1,(3,11)))])),(19,Right (2,array (0,3) [(0,(1,(11,3))),(1,(1,(11,3))),(2,(2,(8,8))),(3,(2,(5,10)))])),(20,Right (2,array (0,3) [(0,(1,(2,11))),(1,(1,(2,11))),(2,(2,(10,5))),(3,(2,(6,9)))])),(21,Right (2,array (0,3) [(0,(1,(10,4))),(1,(1,(10,4))),(2,(2,(7,8))),(3,(2,(8,7)))])),(22,Right (2,array (0,3) [(0,(1,(9,4))),(1,(1,(9,4))),(2,(2,(7,7))),(3,(2,(7,6)))])),(23,Left (10,(11,2))),(24,Left (10,(1,11))),(25,Left (10,(11,1))),(26,Right (1,array (0,1) [(0,(1,(0,11))),(1,(1,(11,0)))])),(27,Right (1,array (0,1) [(0,(1,(9,6))),(1,(1,(4,10)))])),(28,Right (1,array (0,1) [(0,(1,(3,10))),(1,(1,(10,3)))])),(29,Right (1,array (0,1) [(0,(1,(5,9))),(1,(1,(9,5)))])),(30,Left (10,(2,10))),(31,Left (10,(10,2))),(32,Left (10,(1,10))),(33,Left (10,(10,1))),(34,Right (1,array (0,1) [(0,(1,(0,10))),(1,(1,(6,8)))])),(35,Left (10,(10,0))),(36,Right (1,array (0,1) [(0,(1,(8,6))),(1,(1,(4,9)))])),(37,Left (10,(9,3))),(38,Right (1,array (0,1) [(0,(1,(3,9))),(1,(1,(5,8)))])),(39,Right (1,array (0,1) [(0,(1,(8,5))),(1,(1,(6,7)))])),(40,Left (10,(2,9))),(41,Left (10,(9,2))),(42,Right (1,array (0,1) [(0,(1,(5,7))),(1,(1,(7,5)))])),(43,Left (10,(3,8))),(44,Left (10,(8,3))),(45,Right (1,array (0,1) [(0,(1,(6,6))),(1,(1,(4,7)))])),(46,Right (1,array (0,1) [(0,(1,(7,4))),(1,(1,(5,6)))])),(47,Right (1,array (0,1) [(0,(1,(6,5))),(1,(1,(7,3)))])),(48,Left (9,(1,9))),(49,Left (9,(1,9))),(50,Left (9,(9,1))),(51,Left (9,(9,1))),(52,Left (10,(0,9))),(53,Left (10,(9,0))),(54,Left (10,(4,8))),(55,Left (10,(8,4))),(56,Left (10,(7,2))),(57,Right (1,array (0,1) [(0,(1,(4,6))),(1,(1,(6,4)))])),(58,Left (9,(2,8))),(59,Left (9,(2,8))),(60,Left (9,(8,2))),(61,Left (9,(8,2))),(62,Left (9,(1,8))),(63,Left (9,(1,8))),(64,Left (10,(3,7))),(65,Left (10,(2,7))),(66,Left (9,(1,7))),(67,Left (9,(1,7))),(68,Left (9,(7,1))),(69,Left (9,(7,1))),(70,Left (10,(5,5))),(71,Left (10,(0,7))),(72,Left (10,(7,0))),(73,Left (10,(3,6))),(74,Left (10,(6,3))),(75,Left (10,(4,5))),(76,Left (10,(5,4))),(77,Left (10,(2,6))),(78,Left (10,(6,2))),(79,Left (10,(3,5))),(80,Left (8,(8,1))),(81,Left (8,(8,1))),(82,Left (8,(8,1))),(83,Left (8,(8,1))),(84,Left (9,(0,8))),(85,Left (9,(0,8))),(86,Left (9,(8,0))),(87,Left (9,(8,0))),(88,Left (9,(1,6))),(89,Left (9,(1,6))),(90,Left (9,(6,1))),(91,Left (9,(6,1))),(92,Left (9,(0,6))),(93,Left (9,(0,6))),(94,Left (9,(6,0))),(95,Left (9,(6,0))),(96,Left (10,(5,3))),(97,Left (10,(4,4))),(98,Left (9,(2,5))),(99,Left (9,(2,5))),(100,Left (9,(5,2))),(101,Left (9,(5,2))),(102,Left (9,(0,5))),(103,Left (9,(0,5))),(104,Left (8,(1,5))),(105,Left (8,(1,5))),(106,Left (8,(1,5))),(107,Left (8,(1,5))),(108,Left (8,(5,1))),(109,Left (8,(5,1))),(110,Left (8,(5,1))),(111,Left (8,(5,1))),(112,Left (9,(3,4))),(113,Left (9,(3,4))),(114,Left (9,(4,3))),(115,Left (9,(4,3))),(116,Left (9,(5,0))),(117,Left (9,(5,0))),(118,Left (9,(2,4))),(119,Left (9,(2,4))),(120,Left (9,(4,2))),(121,Left (9,(4,2))),(122,Left (9,(3,3))),(123,Left (9,(3,3))),(124,Left (8,(1,4))),(125,Left (8,(1,4))),(126,Left (8,(1,4))),(127,Left (8,(1,4))),(128,Left (7,(4,1))),(129,Left (7,(4,1))),(130,Left (7,(4,1))),(131,Left (7,(4,1))),(132,Left (7,(4,1))),(133,Left (7,(4,1))),(134,Left (7,(4,1))),(135,Left (7,(4,1))),(136,Left (8,(0,4))),(137,Left (8,(0,4))),(138,Left (8,(0,4))),(139,Left (8,(0,4))),(140,Left (8,(4,0))),(141,Left (8,(4,0))),(142,Left (8,(4,0))),(143,Left (8,(4,0))),(144,Left (8,(2,3))),(145,Left (8,(2,3))),(146,Left (8,(2,3))),(147,Left (8,(2,3))),(148,Left (8,(3,2))),(149,Left (8,(3,2))),(150,Left (8,(3,2))),(151,Left (8,(3,2))),(152,Left (7,(1,3))),(153,Left (7,(1,3))),(154,Left (7,(1,3))),(155,Left (7,(1,3))),(156,Left (7,(1,3))),(157,Left (7,(1,3))),(158,Left (7,(1,3))),(159,Left (7,(1,3))),(160,Left (7,(3,1))),(161,Left (7,(3,1))),(162,Left (7,(3,1))),(163,Left (7,(3,1))),(164,Left (7,(3,1))),(165,Left (7,(3,1))),(166,Left (7,(3,1))),(167,Left (7,(3,1))),(168,Left (7,(0,3))),(169,Left (7,(0,3))),(170,Left (7,(0,3))),(171,Left (7,(0,3))),(172,Left (7,(0,3))),(173,Left (7,(0,3))),(174,Left (7,(0,3))),(175,Left (7,(0,3))),(176,Left (7,(3,0))),(177,Left (7,(3,0))),(178,Left (7,(3,0))),(179,Left (7,(3,0))),(180,Left (7,(3,0))),(181,Left (7,(3,0))),(182,Left (7,(3,0))),(183,Left (7,(3,0))),(184,Left (7,(2,2))),(185,Left (7,(2,2))),(186,Left (7,(2,2))),(187,Left (7,(2,2))),(188,Left (7,(2,2))),(189,Left (7,(2,2))),(190,Left (7,(2,2))),(191,Left (7,(2,2))),(192,Left (6,(1,2))),(193,Left (6,(1,2))),(194,Left (6,(1,2))),(195,Left (6,(1,2))),(196,Left (6,(1,2))),(197,Left (6,(1,2))),(198,Left (6,(1,2))),(199,Left (6,(1,2))),(200,Left (6,(1,2))),(201,Left (6,(1,2))),(202,Left (6,(1,2))),(203,Left (6,(1,2))),(204,Left (6,(1,2))),(205,Left (6,(1,2))),(206,Left (6,(1,2))),(207,Left (6,(1,2))),(208,Left (6,(2,1))),(209,Left (6,(2,1))),(210,Left (6,(2,1))),(211,Left (6,(2,1))),(212,Left (6,(2,1))),(213,Left (6,(2,1))),(214,Left (6,(2,1))),(215,Left (6,(2,1))),(216,Left (6,(2,1))),(217,Left (6,(2,1))),(218,Left (6,(2,1))),(219,Left (6,(2,1))),(220,Left (6,(2,1))),(221,Left (6,(2,1))),(222,Left (6,(2,1))),(223,Left (6,(2,1))),(224,Left (6,(0,2))),(225,Left (6,(0,2))),(226,Left (6,(0,2))),(227,Left (6,(0,2))),(228,Left (6,(0,2))),(229,Left (6,(0,2))),(230,Left (6,(0,2))),(231,Left (6,(0,2))),(232,Left (6,(0,2))),(233,Left (6,(0,2))),(234,Left (6,(0,2))),(235,Left (6,(0,2))),(236,Left (6,(0,2))),(237,Left (6,(0,2))),(238,Left (6,(0,2))),(239,Left (6,(0,2))),(240,Left (6,(2,0))),(241,Left (6,(2,0))),(242,Left (6,(2,0))),(243,Left (6,(2,0))),(244,Left (6,(2,0))),(245,Left (6,(2,0))),(246,Left (6,(2,0))),(247,Left (6,(2,0))),(248,Left (6,(2,0))),(249,Left (6,(2,0))),(250,Left (6,(2,0))),(251,Left (6,(2,0))),(252,Left (6,(2,0))),(253,Left (6,(2,0))),(254,Left (6,(2,0))),(255,Left (6,(2,0))),(256,Left (4,(1,1))),(257,Left (4,(1,1))),(258,Left (4,(1,1))),(259,Left (4,(1,1))),(260,Left (4,(1,1))),(261,Left (4,(1,1))),(262,Left (4,(1,1))),(263,Left (4,(1,1))),(264,Left (4,(1,1))),(265,Left (4,(1,1))),(266,Left (4,(1,1))),(267,Left (4,(1,1))),(268,Left (4,(1,1))),(269,Left (4,(1,1))),(270,Left (4,(1,1))),(271,Left (4,(1,1))),(272,Left (4,(1,1))),(273,Left (4,(1,1))),(274,Left (4,(1,1))),(275,Left (4,(1,1))),(276,Left (4,(1,1))),(277,Left (4,(1,1))),(278,Left (4,(1,1))),(279,Left (4,(1,1))),(280,Left (4,(1,1))),(281,Left (4,(1,1))),(282,Left (4,(1,1))),(283,Left (4,(1,1))),(284,Left (4,(1,1))),(285,Left (4,(1,1))),(286,Left (4,(1,1))),(287,Left (4,(1,1))),(288,Left (4,(1,1))),(289,Left (4,(1,1))),(290,Left (4,(1,1))),(291,Left (4,(1,1))),(292,Left (4,(1,1))),(293,Left (4,(1,1))),(294,Left (4,(1,1))),(295,Left (4,(1,1))),(296,Left (4,(1,1))),(297,Left (4,(1,1))),(298,Left (4,(1,1))),(299,Left (4,(1,1))),(300,Left (4,(1,1))),(301,Left (4,(1,1))),(302,Left (4,(1,1))),(303,Left (4,(1,1))),(304,Left (4,(1,1))),(305,Left (4,(1,1))),(306,Left (4,(1,1))),(307,Left (4,(1,1))),(308,Left (4,(1,1))),(309,Left (4,(1,1))),(310,Left (4,(1,1))),(311,Left (4,(1,1))),(312,Left (4,(1,1))),(313,Left (4,(1,1))),(314,Left (4,(1,1))),(315,Left (4,(1,1))),(316,Left (4,(1,1))),(317,Left (4,(1,1))),(318,Left (4,(1,1))),(319,Left (4,(1,1))),(320,Left (4,(0,1))),(321,Left (4,(0,1))),(322,Left (4,(0,1))),(323,Left (4,(0,1))),(324,Left (4,(0,1))),(325,Left (4,(0,1))),(326,Left (4,(0,1))),(327,Left (4,(0,1))),(328,Left (4,(0,1))),(329,Left (4,(0,1))),(330,Left (4,(0,1))),(331,Left (4,(0,1))),(332,Left (4,(0,1))),(333,Left (4,(0,1))),(334,Left (4,(0,1))),(335,Left (4,(0,1))),(336,Left (4,(0,1))),(337,Left (4,(0,1))),(338,Left (4,(0,1))),(339,Left (4,(0,1))),(340,Left (4,(0,1))),(341,Left (4,(0,1))),(342,Left (4,(0,1))),(343,Left (4,(0,1))),(344,Left (4,(0,1))),(345,Left (4,(0,1))),(346,Left (4,(0,1))),(347,Left (4,(0,1))),(348,Left (4,(0,1))),(349,Left (4,(0,1))),(350,Left (4,(0,1))),(351,Left (4,(0,1))),(352,Left (4,(0,1))),(353,Left (4,(0,1))),(354,Left (4,(0,1))),(355,Left (4,(0,1))),(356,Left (4,(0,1))),(357,Left (4,(0,1))),(358,Left (4,(0,1))),(359,Left (4,(0,1))),(360,Left (4,(0,1))),(361,Left (4,(0,1))),(362,Left (4,(0,1))),(363,Left (4,(0,1))),(364,Left (4,(0,1))),(365,Left (4,(0,1))),(366,Left (4,(0,1))),(367,Left (4,(0,1))),(368,Left (4,(0,1))),(369,Left (4,(0,1))),(370,Left (4,(0,1))),(371,Left (4,(0,1))),(372,Left (4,(0,1))),(373,Left (4,(0,1))),(374,Left (4,(0,1))),(375,Left (4,(0,1))),(376,Left (4,(0,1))),(377,Left (4,(0,1))),(378,Left (4,(0,1))),(379,Left (4,(0,1))),(380,Left (4,(0,1))),(381,Left (4,(0,1))),(382,Left (4,(0,1))),(383,Left (4,(0,1))),(384,Left (3,(1,0))),(385,Left (3,(1,0))),(386,Left (3,(1,0))),(387,Left (3,(1,0))),(388,Left (3,(1,0))),(389,Left (3,(1,0))),(390,Left (3,(1,0))),(391,Left (3,(1,0))),(392,Left (3,(1,0))),(393,Left (3,(1,0))),(394,Left (3,(1,0))),(395,Left (3,(1,0))),(396,Left (3,(1,0))),(397,Left (3,(1,0))),(398,Left (3,(1,0))),(399,Left (3,(1,0))),(400,Left (3,(1,0))),(401,Left (3,(1,0))),(402,Left (3,(1,0))),(403,Left (3,(1,0))),(404,Left (3,(1,0))),(405,Left (3,(1,0))),(406,Left (3,(1,0))),(407,Left (3,(1,0))),(408,Left (3,(1,0))),(409,Left (3,(1,0))),(410,Left (3,(1,0))),(411,Left (3,(1,0))),(412,Left (3,(1,0))),(413,Left (3,(1,0))),(414,Left (3,(1,0))),(415,Left (3,(1,0))),(416,Left (3,(1,0))),(417,Left (3,(1,0))),(418,Left (3,(1,0))),(419,Left (3,(1,0))),(420,Left (3,(1,0))),(421,Left (3,(1,0))),(422,Left (3,(1,0))),(423,Left (3,(1,0))),(424,Left (3,(1,0))),(425,Left (3,(1,0))),(426,Left (3,(1,0))),(427,Left (3,(1,0))),(428,Left (3,(1,0))),(429,Left (3,(1,0))),(430,Left (3,(1,0))),(431,Left (3,(1,0))),(432,Left (3,(1,0))),(433,Left (3,(1,0))),(434,Left (3,(1,0))),(435,Left (3,(1,0))),(436,Left (3,(1,0))),(437,Left (3,(1,0))),(438,Left (3,(1,0))),(439,Left (3,(1,0))),(440,Left (3,(1,0))),(441,Left (3,(1,0))),(442,Left (3,(1,0))),(443,Left (3,(1,0))),(444,Left (3,(1,0))),(445,Left (3,(1,0))),(446,Left (3,(1,0))),(447,Left (3,(1,0))),(448,Left (3,(1,0))),(449,Left (3,(1,0))),(450,Left (3,(1,0))),(451,Left (3,(1,0))),(452,Left (3,(1,0))),(453,Left (3,(1,0))),(454,Left (3,(1,0))),(455,Left (3,(1,0))),(456,Left (3,(1,0))),(457,Left (3,(1,0))),(458,Left (3,(1,0))),(459,Left (3,(1,0))),(460,Left (3,(1,0))),(461,Left (3,(1,0))),(462,Left (3,(1,0))),(463,Left (3,(1,0))),(464,Left (3,(1,0))),(465,Left (3,(1,0))),(466,Left (3,(1,0))),(467,Left (3,(1,0))),(468,Left (3,(1,0))),(469,Left (3,(1,0))),(470,Left (3,(1,0))),(471,Left (3,(1,0))),(472,Left (3,(1,0))),(473,Left (3,(1,0))),(474,Left (3,(1,0))),(475,Left (3,(1,0))),(476,Left (3,(1,0))),(477,Left (3,(1,0))),(478,Left (3,(1,0))),(479,Left (3,(1,0))),(480,Left (3,(1,0))),(481,Left (3,(1,0))),(482,Left (3,(1,0))),(483,Left (3,(1,0))),(484,Left (3,(1,0))),(485,Left (3,(1,0))),(486,Left (3,(1,0))),(487,Left (3,(1,0))),(488,Left (3,(1,0))),(489,Left (3,(1,0))),(490,Left (3,(1,0))),(491,Left (3,(1,0))),(492,Left (3,(1,0))),(493,Left (3,(1,0))),(494,Left (3,(1,0))),(495,Left (3,(1,0))),(496,Left (3,(1,0))),(497,Left (3,(1,0))),(498,Left (3,(1,0))),(499,Left (3,(1,0))),(500,Left (3,(1,0))),(501,Left (3,(1,0))),(502,Left (3,(1,0))),(503,Left (3,(1,0))),(504,Left (3,(1,0))),(505,Left (3,(1,0))),(506,Left (3,(1,0))),(507,Left (3,(1,0))),(508,Left (3,(1,0))),(509,Left (3,(1,0))),(510,Left (3,(1,0))),(511,Left (3,(1,0))),(512,Left (1,(0,0))),(513,Left (1,(0,0))),(514,Left (1,(0,0))),(515,Left (1,(0,0))),(516,Left (1,(0,0))),(517,Left (1,(0,0))),(518,Left (1,(0,0))),(519,Left (1,(0,0))),(520,Left (1,(0,0))),(521,Left (1,(0,0))),(522,Left (1,(0,0))),(523,Left (1,(0,0))),(524,Left (1,(0,0))),(525,Left (1,(0,0))),(526,Left (1,(0,0))),(527,Left (1,(0,0))),(528,Left (1,(0,0))),(529,Left (1,(0,0))),(530,Left (1,(0,0))),(531,Left (1,(0,0))),(532,Left (1,(0,0))),(533,Left (1,(0,0))),(534,Left (1,(0,0))),(535,Left (1,(0,0))),(536,Left (1,(0,0))),(537,Left (1,(0,0))),(538,Left (1,(0,0))),(539,Left (1,(0,0))),(540,Left (1,(0,0))),(541,Left (1,(0,0))),(542,Left (1,(0,0))),(543,Left (1,(0,0))),(544,Left (1,(0,0))),(545,Left (1,(0,0))),(546,Left (1,(0,0))),(547,Left (1,(0,0))),(548,Left (1,(0,0))),(549,Left (1,(0,0))),(550,Left (1,(0,0))),(551,Left (1,(0,0))),(552,Left (1,(0,0))),(553,Left (1,(0,0))),(554,Left (1,(0,0))),(555,Left (1,(0,0))),(556,Left (1,(0,0))),(557,Left (1,(0,0))),(558,Left (1,(0,0))),(559,Left (1,(0,0))),(560,Left (1,(0,0))),(561,Left (1,(0,0))),(562,Left (1,(0,0))),(563,Left (1,(0,0))),(564,Left (1,(0,0))),(565,Left (1,(0,0))),(566,Left (1,(0,0))),(567,Left (1,(0,0))),(568,Left (1,(0,0))),(569,Left (1,(0,0))),(570,Left (1,(0,0))),(571,Left (1,(0,0))),(572,Left (1,(0,0))),(573,Left (1,(0,0))),(574,Left (1,(0,0))),(575,Left (1,(0,0))),(576,Left (1,(0,0))),(577,Left (1,(0,0))),(578,Left (1,(0,0))),(579,Left (1,(0,0))),(580,Left (1,(0,0))),(581,Left (1,(0,0))),(582,Left (1,(0,0))),(583,Left (1,(0,0))),(584,Left (1,(0,0))),(585,Left (1,(0,0))),(586,Left (1,(0,0))),(587,Left (1,(0,0))),(588,Left (1,(0,0))),(589,Left (1,(0,0))),(590,Left (1,(0,0))),(591,Left (1,(0,0))),(592,Left (1,(0,0))),(593,Left (1,(0,0))),(594,Left (1,(0,0))),(595,Left (1,(0,0))),(596,Left (1,(0,0))),(597,Left (1,(0,0))),(598,Left (1,(0,0))),(599,Left (1,(0,0))),(600,Left (1,(0,0))),(601,Left (1,(0,0))),(602,Left (1,(0,0))),(603,Left (1,(0,0))),(604,Left (1,(0,0))),(605,Left (1,(0,0))),(606,Left (1,(0,0))),(607,Left (1,(0,0))),(608,Left (1,(0,0))),(609,Left (1,(0,0))),(610,Left (1,(0,0))),(611,Left (1,(0,0))),(612,Left (1,(0,0))),(613,Left (1,(0,0))),(614,Left (1,(0,0))),(615,Left (1,(0,0))),(616,Left (1,(0,0))),(617,Left (1,(0,0))),(618,Left (1,(0,0))),(619,Left (1,(0,0))),(620,Left (1,(0,0))),(621,Left (1,(0,0))),(622,Left (1,(0,0))),(623,Left (1,(0,0))),(624,Left (1,(0,0))),(625,Left (1,(0,0))),(626,Left (1,(0,0))),(627,Left (1,(0,0))),(628,Left (1,(0,0))),(629,Left (1,(0,0))),(630,Left (1,(0,0))),(631,Left (1,(0,0))),(632,Left (1,(0,0))),(633,Left (1,(0,0))),(634,Left (1,(0,0))),(635,Left (1,(0,0))),(636,Left (1,(0,0))),(637,Left (1,(0,0))),(638,Left (1,(0,0))),(639,Left (1,(0,0))),(640,Left (1,(0,0))),(641,Left (1,(0,0))),(642,Left (1,(0,0))),(643,Left (1,(0,0))),(644,Left (1,(0,0))),(645,Left (1,(0,0))),(646,Left (1,(0,0))),(647,Left (1,(0,0))),(648,Left (1,(0,0))),(649,Left (1,(0,0))),(650,Left (1,(0,0))),(651,Left (1,(0,0))),(652,Left (1,(0,0))),(653,Left (1,(0,0))),(654,Left (1,(0,0))),(655,Left (1,(0,0))),(656,Left (1,(0,0))),(657,Left (1,(0,0))),(658,Left (1,(0,0))),(659,Left (1,(0,0))),(660,Left (1,(0,0))),(661,Left (1,(0,0))),(662,Left (1,(0,0))),(663,Left (1,(0,0))),(664,Left (1,(0,0))),(665,Left (1,(0,0))),(666,Left (1,(0,0))),(667,Left (1,(0,0))),(668,Left (1,(0,0))),(669,Left (1,(0,0))),(670,Left (1,(0,0))),(671,Left (1,(0,0))),(672,Left (1,(0,0))),(673,Left (1,(0,0))),(674,Left (1,(0,0))),(675,Left (1,(0,0))),(676,Left (1,(0,0))),(677,Left (1,(0,0))),(678,Left (1,(0,0))),(679,Left (1,(0,0))),(680,Left (1,(0,0))),(681,Left (1,(0,0))),(682,Left (1,(0,0))),(683,Left (1,(0,0))),(684,Left (1,(0,0))),(685,Left (1,(0,0))),(686,Left (1,(0,0))),(687,Left (1,(0,0))),(688,Left (1,(0,0))),(689,Left (1,(0,0))),(690,Left (1,(0,0))),(691,Left (1,(0,0))),(692,Left (1,(0,0))),(693,Left (1,(0,0))),(694,Left (1,(0,0))),(695,Left (1,(0,0))),(696,Left (1,(0,0))),(697,Left (1,(0,0))),(698,Left (1,(0,0))),(699,Left (1,(0,0))),(700,Left (1,(0,0))),(701,Left (1,(0,0))),(702,Left (1,(0,0))),(703,Left (1,(0,0))),(704,Left (1,(0,0))),(705,Left (1,(0,0))),(706,Left (1,(0,0))),(707,Left (1,(0,0))),(708,Left (1,(0,0))),(709,Left (1,(0,0))),(710,Left (1,(0,0))),(711,Left (1,(0,0))),(712,Left (1,(0,0))),(713,Left (1,(0,0))),(714,Left (1,(0,0))),(715,Left (1,(0,0))),(716,Left (1,(0,0))),(717,Left (1,(0,0))),(718,Left (1,(0,0))),(719,Left (1,(0,0))),(720,Left (1,(0,0))),(721,Left (1,(0,0))),(722,Left (1,(0,0))),(723,Left (1,(0,0))),(724,Left (1,(0,0))),(725,Left (1,(0,0))),(726,Left (1,(0,0))),(727,Left (1,(0,0))),(728,Left (1,(0,0))),(729,Left (1,(0,0))),(730,Left (1,(0,0))),(731,Left (1,(0,0))),(732,Left (1,(0,0))),(733,Left (1,(0,0))),(734,Left (1,(0,0))),(735,Left (1,(0,0))),(736,Left (1,(0,0))),(737,Left (1,(0,0))),(738,Left (1,(0,0))),(739,Left (1,(0,0))),(740,Left (1,(0,0))),(741,Left (1,(0,0))),(742,Left (1,(0,0))),(743,Left (1,(0,0))),(744,Left (1,(0,0))),(745,Left (1,(0,0))),(746,Left (1,(0,0))),(747,Left (1,(0,0))),(748,Left (1,(0,0))),(749,Left (1,(0,0))),(750,Left (1,(0,0))),(751,Left (1,(0,0))),(752,Left (1,(0,0))),(753,Left (1,(0,0))),(754,Left (1,(0,0))),(755,Left (1,(0,0))),(756,Left (1,(0,0))),(757,Left (1,(0,0))),(758,Left (1,(0,0))),(759,Left (1,(0,0))),(760,Left (1,(0,0))),(761,Left (1,(0,0))),(762,Left (1,(0,0))),(763,Left (1,(0,0))),(764,Left (1,(0,0))),(765,Left (1,(0,0))),(766,Left (1,(0,0))),(767,Left (1,(0,0))),(768,Left (1,(0,0))),(769,Left (1,(0,0))),(770,Left (1,(0,0))),(771,Left (1,(0,0))),(772,Left (1,(0,0))),(773,Left (1,(0,0))),(774,Left (1,(0,0))),(775,Left (1,(0,0))),(776,Left (1,(0,0))),(777,Left (1,(0,0))),(778,Left (1,(0,0))),(779,Left (1,(0,0))),(780,Left (1,(0,0))),(781,Left (1,(0,0))),(782,Left (1,(0,0))),(783,Left (1,(0,0))),(784,Left (1,(0,0))),(785,Left (1,(0,0))),(786,Left (1,(0,0))),(787,Left (1,(0,0))),(788,Left (1,(0,0))),(789,Left (1,(0,0))),(790,Left (1,(0,0))),(791,Left (1,(0,0))),(792,Left (1,(0,0))),(793,Left (1,(0,0))),(794,Left (1,(0,0))),(795,Left (1,(0,0))),(796,Left (1,(0,0))),(797,Left (1,(0,0))),(798,Left (1,(0,0))),(799,Left (1,(0,0))),(800,Left (1,(0,0))),(801,Left (1,(0,0))),(802,Left (1,(0,0))),(803,Left (1,(0,0))),(804,Left (1,(0,0))),(805,Left (1,(0,0))),(806,Left (1,(0,0))),(807,Left (1,(0,0))),(808,Left (1,(0,0))),(809,Left (1,(0,0))),(810,Left (1,(0,0))),(811,Left (1,(0,0))),(812,Left (1,(0,0))),(813,Left (1,(0,0))),(814,Left (1,(0,0))),(815,Left (1,(0,0))),(816,Left (1,(0,0))),(817,Left (1,(0,0))),(818,Left (1,(0,0))),(819,Left (1,(0,0))),(820,Left (1,(0,0))),(821,Left (1,(0,0))),(822,Left (1,(0,0))),(823,Left (1,(0,0))),(824,Left (1,(0,0))),(825,Left (1,(0,0))),(826,Left (1,(0,0))),(827,Left (1,(0,0))),(828,Left (1,(0,0))),(829,Left (1,(0,0))),(830,Left (1,(0,0))),(831,Left (1,(0,0))),(832,Left (1,(0,0))),(833,Left (1,(0,0))),(834,Left (1,(0,0))),(835,Left (1,(0,0))),(836,Left (1,(0,0))),(837,Left (1,(0,0))),(838,Left (1,(0,0))),(839,Left (1,(0,0))),(840,Left (1,(0,0))),(841,Left (1,(0,0))),(842,Left (1,(0,0))),(843,Left (1,(0,0))),(844,Left (1,(0,0))),(845,Left (1,(0,0))),(846,Left (1,(0,0))),(847,Left (1,(0,0))),(848,Left (1,(0,0))),(849,Left (1,(0,0))),(850,Left (1,(0,0))),(851,Left (1,(0,0))),(852,Left (1,(0,0))),(853,Left (1,(0,0))),(854,Left (1,(0,0))),(855,Left (1,(0,0))),(856,Left (1,(0,0))),(857,Left (1,(0,0))),(858,Left (1,(0,0))),(859,Left (1,(0,0))),(860,Left (1,(0,0))),(861,Left (1,(0,0))),(862,Left (1,(0,0))),(863,Left (1,(0,0))),(864,Left (1,(0,0))),(865,Left (1,(0,0))),(866,Left (1,(0,0))),(867,Left (1,(0,0))),(868,Left (1,(0,0))),(869,Left (1,(0,0))),(870,Left (1,(0,0))),(871,Left (1,(0,0))),(872,Left (1,(0,0))),(873,Left (1,(0,0))),(874,Left (1,(0,0))),(875,Left (1,(0,0))),(876,Left (1,(0,0))),(877,Left (1,(0,0))),(878,Left (1,(0,0))),(879,Left (1,(0,0))),(880,Left (1,(0,0))),(881,Left (1,(0,0))),(882,Left (1,(0,0))),(883,Left (1,(0,0))),(884,Left (1,(0,0))),(885,Left (1,(0,0))),(886,Left (1,(0,0))),(887,Left (1,(0,0))),(888,Left (1,(0,0))),(889,Left (1,(0,0))),(890,Left (1,(0,0))),(891,Left (1,(0,0))),(892,Left (1,(0,0))),(893,Left (1,(0,0))),(894,Left (1,(0,0))),(895,Left (1,(0,0))),(896,Left (1,(0,0))),(897,Left (1,(0,0))),(898,Left (1,(0,0))),(899,Left (1,(0,0))),(900,Left (1,(0,0))),(901,Left (1,(0,0))),(902,Left (1,(0,0))),(903,Left (1,(0,0))),(904,Left (1,(0,0))),(905,Left (1,(0,0))),(906,Left (1,(0,0))),(907,Left (1,(0,0))),(908,Left (1,(0,0))),(909,Left (1,(0,0))),(910,Left (1,(0,0))),(911,Left (1,(0,0))),(912,Left (1,(0,0))),(913,Left (1,(0,0))),(914,Left (1,(0,0))),(915,Left (1,(0,0))),(916,Left (1,(0,0))),(917,Left (1,(0,0))),(918,Left (1,(0,0))),(919,Left (1,(0,0))),(920,Left (1,(0,0))),(921,Left (1,(0,0))),(922,Left (1,(0,0))),(923,Left (1,(0,0))),(924,Left (1,(0,0))),(925,Left (1,(0,0))),(926,Left (1,(0,0))),(927,Left (1,(0,0))),(928,Left (1,(0,0))),(929,Left (1,(0,0))),(930,Left (1,(0,0))),(931,Left (1,(0,0))),(932,Left (1,(0,0))),(933,Left (1,(0,0))),(934,Left (1,(0,0))),(935,Left (1,(0,0))),(936,Left (1,(0,0))),(937,Left (1,(0,0))),(938,Left (1,(0,0))),(939,Left (1,(0,0))),(940,Left (1,(0,0))),(941,Left (1,(0,0))),(942,Left (1,(0,0))),(943,Left (1,(0,0))),(944,Left (1,(0,0))),(945,Left (1,(0,0))),(946,Left (1,(0,0))),(947,Left (1,(0,0))),(948,Left (1,(0,0))),(949,Left (1,(0,0))),(950,Left (1,(0,0))),(951,Left (1,(0,0))),(952,Left (1,(0,0))),(953,Left (1,(0,0))),(954,Left (1,(0,0))),(955,Left (1,(0,0))),(956,Left (1,(0,0))),(957,Left (1,(0,0))),(958,Left (1,(0,0))),(959,Left (1,(0,0))),(960,Left (1,(0,0))),(961,Left (1,(0,0))),(962,Left (1,(0,0))),(963,Left (1,(0,0))),(964,Left (1,(0,0))),(965,Left (1,(0,0))),(966,Left (1,(0,0))),(967,Left (1,(0,0))),(968,Left (1,(0,0))),(969,Left (1,(0,0))),(970,Left (1,(0,0))),(971,Left (1,(0,0))),(972,Left (1,(0,0))),(973,Left (1,(0,0))),(974,Left (1,(0,0))),(975,Left (1,(0,0))),(976,Left (1,(0,0))),(977,Left (1,(0,0))),(978,Left (1,(0,0))),(979,Left (1,(0,0))),(980,Left (1,(0,0))),(981,Left (1,(0,0))),(982,Left (1,(0,0))),(983,Left (1,(0,0))),(984,Left (1,(0,0))),(985,Left (1,(0,0))),(986,Left (1,(0,0))),(987,Left (1,(0,0))),(988,Left (1,(0,0))),(989,Left (1,(0,0))),(990,Left (1,(0,0))),(991,Left (1,(0,0))),(992,Left (1,(0,0))),(993,Left (1,(0,0))),(994,Left (1,(0,0))),(995,Left (1,(0,0))),(996,Left (1,(0,0))),(997,Left (1,(0,0))),(998,Left (1,(0,0))),(999,Left (1,(0,0))),(1000,Left (1,(0,0))),(1001,Left (1,(0,0))),(1002,Left (1,(0,0))),(1003,Left (1,(0,0))),(1004,Left (1,(0,0))),(1005,Left (1,(0,0))),(1006,Left (1,(0,0))),(1007,Left (1,(0,0))),(1008,Left (1,(0,0))),(1009,Left (1,(0,0))),(1010,Left (1,(0,0))),(1011,Left (1,(0,0))),(1012,Left (1,(0,0))),(1013,Left (1,(0,0))),(1014,Left (1,(0,0))),(1015,Left (1,(0,0))),(1016,Left (1,(0,0))),(1017,Left (1,(0,0))),(1018,Left (1,(0,0))),(1019,Left (1,(0,0))),(1020,Left (1,(0,0))),(1021,Left (1,(0,0))),(1022,Left (1,(0,0))),(1023,Left (1,(0,0)))]) table15 = Right (8,array (0,255) [(0,Right (5,array (0,31) [(0,(5,(15,15))),(1,(5,(14,15))),(2,(5,(15,14))),(3,(5,(13,15))),(4,(4,(14,14))),(5,(4,(14,14))),(6,(5,(15,13))),(7,(5,(12,15))),(8,(5,(15,12))),(9,(5,(13,14))),(10,(5,(14,13))),(11,(5,(11,15))),(12,(4,(15,11))),(13,(4,(15,11))),(14,(5,(12,14))),(15,(5,(14,12))),(16,(4,(13,13))),(17,(4,(13,13))),(18,(4,(10,15))),(19,(4,(10,15))),(20,(4,(15,10))),(21,(4,(15,10))),(22,(4,(11,14))),(23,(4,(11,14))),(24,(4,(14,11))),(25,(4,(14,11))),(26,(4,(12,13))),(27,(4,(12,13))),(28,(4,(13,12))),(29,(4,(13,12))),(30,(4,(9,15))),(31,(4,(9,15)))])),(1,Right (5,array (0,31) [(0,(4,(15,9))),(1,(4,(15,9))),(2,(4,(14,10))),(3,(4,(14,10))),(4,(4,(11,13))),(5,(4,(11,13))),(6,(4,(13,11))),(7,(4,(13,11))),(8,(4,(8,15))),(9,(4,(8,15))),(10,(4,(15,8))),(11,(4,(15,8))),(12,(4,(12,12))),(13,(4,(12,12))),(14,(4,(9,14))),(15,(4,(9,14))),(16,(4,(14,9))),(17,(4,(14,9))),(18,(4,(7,15))),(19,(4,(7,15))),(20,(4,(15,7))),(21,(4,(15,7))),(22,(4,(10,13))),(23,(4,(10,13))),(24,(4,(13,10))),(25,(4,(13,10))),(26,(4,(11,12))),(27,(4,(11,12))),(28,(4,(6,15))),(29,(4,(6,15))),(30,(5,(10,14))),(31,(5,(0,15)))])),(2,Right (4,array (0,15) [(0,(3,(12,11))),(1,(3,(12,11))),(2,(3,(15,6))),(3,(3,(15,6))),(4,(4,(8,14))),(5,(4,(14,8))),(6,(4,(5,15))),(7,(4,(9,13))),(8,(3,(15,5))),(9,(3,(15,5))),(10,(3,(7,14))),(11,(3,(7,14))),(12,(3,(14,7))),(13,(3,(14,7))),(14,(3,(10,12))),(15,(3,(10,12)))])),(3,Right (4,array (0,15) [(0,(3,(12,10))),(1,(3,(12,10))),(2,(3,(11,11))),(3,(3,(11,11))),(4,(4,(13,9))),(5,(4,(8,13))),(6,(3,(4,15))),(7,(3,(4,15))),(8,(3,(15,4))),(9,(3,(15,4))),(10,(3,(3,15))),(11,(3,(3,15))),(12,(3,(15,3))),(13,(3,(15,3))),(14,(3,(13,8))),(15,(3,(13,8)))])),(4,Right (4,array (0,15) [(0,(3,(14,6))),(1,(3,(14,6))),(2,(3,(2,15))),(3,(3,(2,15))),(4,(3,(15,2))),(5,(3,(15,2))),(6,(4,(6,14))),(7,(4,(15,0))),(8,(3,(1,15))),(9,(3,(1,15))),(10,(3,(15,1))),(11,(3,(15,1))),(12,(3,(9,12))),(13,(3,(9,12))),(14,(3,(12,9))),(15,(3,(12,9)))])),(5,Right (3,array (0,7) [(0,(3,(5,14))),(1,(3,(10,11))),(2,(3,(11,10))),(3,(3,(14,5))),(4,(3,(7,13))),(5,(3,(13,7))),(6,(3,(4,14))),(7,(3,(14,4)))])),(6,Right (3,array (0,7) [(0,(3,(8,12))),(1,(3,(12,8))),(2,(3,(3,14))),(3,(3,(6,13))),(4,(3,(13,6))),(5,(3,(14,3))),(6,(3,(9,11))),(7,(3,(11,9)))])),(7,Right (4,array (0,15) [(0,(3,(2,14))),(1,(3,(2,14))),(2,(3,(10,10))),(3,(3,(10,10))),(4,(3,(14,2))),(5,(3,(14,2))),(6,(3,(1,14))),(7,(3,(1,14))),(8,(3,(14,1))),(9,(3,(14,1))),(10,(4,(0,14))),(11,(4,(14,0))),(12,(3,(5,13))),(13,(3,(5,13))),(14,(3,(13,5))),(15,(3,(13,5)))])),(8,Right (3,array (0,7) [(0,(3,(7,12))),(1,(3,(12,7))),(2,(3,(4,13))),(3,(3,(8,11))),(4,(2,(13,4))),(5,(2,(13,4))),(6,(3,(11,8))),(7,(3,(9,10)))])),(9,Right (3,array (0,7) [(0,(3,(10,9))),(1,(3,(6,12))),(2,(3,(12,6))),(3,(3,(3,13))),(4,(2,(13,3))),(5,(2,(13,3))),(6,(2,(13,2))),(7,(2,(13,2)))])),(10,Right (3,array (0,7) [(0,(3,(2,13))),(1,(3,(0,13))),(2,(2,(1,13))),(3,(2,(1,13))),(4,(2,(7,11))),(5,(2,(7,11))),(6,(2,(11,7))),(7,(2,(11,7)))])),(11,Right (3,array (0,7) [(0,(2,(13,1))),(1,(2,(13,1))),(2,(3,(5,12))),(3,(3,(13,0))),(4,(2,(12,5))),(5,(2,(12,5))),(6,(2,(8,10))),(7,(2,(8,10)))])),(12,Right (2,array (0,3) [(0,(2,(10,8))),(1,(2,(4,12))),(2,(2,(12,4))),(3,(2,(6,11)))])),(13,Right (3,array (0,7) [(0,(2,(11,6))),(1,(2,(11,6))),(2,(3,(9,9))),(3,(3,(0,12))),(4,(2,(3,12))),(5,(2,(3,12))),(6,(2,(12,3))),(7,(2,(12,3)))])),(14,Right (3,array (0,7) [(0,(2,(7,10))),(1,(2,(7,10))),(2,(2,(10,7))),(3,(2,(10,7))),(4,(2,(10,6))),(5,(2,(10,6))),(6,(3,(12,0))),(7,(3,(0,11)))])),(15,Right (2,array (0,3) [(0,(1,(12,2))),(1,(1,(12,2))),(2,(2,(2,12))),(3,(2,(5,11)))])),(16,Right (2,array (0,3) [(0,(2,(11,5))),(1,(2,(1,12))),(2,(2,(8,9))),(3,(2,(9,8)))])),(17,Right (2,array (0,3) [(0,(2,(12,1))),(1,(2,(4,11))),(2,(2,(11,4))),(3,(2,(6,10)))])),(18,Right (2,array (0,3) [(0,(2,(3,11))),(1,(2,(7,9))),(2,(1,(11,3))),(3,(1,(11,3)))])),(19,Right (2,array (0,3) [(0,(2,(9,7))),(1,(2,(8,8))),(2,(2,(2,11))),(3,(2,(5,10)))])),(20,Right (2,array (0,3) [(0,(1,(11,2))),(1,(1,(11,2))),(2,(2,(10,5))),(3,(2,(1,11)))])),(21,Right (2,array (0,3) [(0,(1,(11,1))),(1,(1,(11,1))),(2,(2,(11,0))),(3,(2,(6,9)))])),(22,Right (2,array (0,3) [(0,(2,(9,6))),(1,(2,(4,10))),(2,(2,(10,4))),(3,(2,(7,8)))])),(23,Right (2,array (0,3) [(0,(2,(8,7))),(1,(2,(3,10))),(2,(1,(10,3))),(3,(1,(10,3)))])),(24,Right (1,array (0,1) [(0,(1,(5,9))),(1,(1,(9,5)))])),(25,Right (1,array (0,1) [(0,(1,(2,10))),(1,(1,(10,2)))])),(26,Right (1,array (0,1) [(0,(1,(1,10))),(1,(1,(10,1)))])),(27,Right (2,array (0,3) [(0,(2,(0,10))),(1,(2,(10,0))),(2,(1,(6,8))),(3,(1,(6,8)))])),(28,Right (1,array (0,1) [(0,(1,(8,6))),(1,(1,(4,9)))])),(29,Right (1,array (0,1) [(0,(1,(9,4))),(1,(1,(3,9)))])),(30,Right (2,array (0,3) [(0,(1,(9,3))),(1,(1,(9,3))),(2,(2,(7,7))),(3,(2,(0,9)))])),(31,Right (1,array (0,1) [(0,(1,(5,8))),(1,(1,(8,5)))])),(32,Right (1,array (0,1) [(0,(1,(2,9))),(1,(1,(6,7)))])),(33,Right (1,array (0,1) [(0,(1,(7,6))),(1,(1,(9,2)))])),(34,Left (8,(9,1))),(35,Right (1,array (0,1) [(0,(1,(1,9))),(1,(1,(9,0)))])),(36,Right (1,array (0,1) [(0,(1,(4,8))),(1,(1,(8,4)))])),(37,Right (1,array (0,1) [(0,(1,(5,7))),(1,(1,(7,5)))])),(38,Right (1,array (0,1) [(0,(1,(3,8))),(1,(1,(8,3)))])),(39,Right (1,array (0,1) [(0,(1,(6,6))),(1,(1,(4,7)))])),(40,Left (8,(2,8))),(41,Left (8,(8,2))),(42,Left (8,(1,8))),(43,Left (8,(8,1))),(44,Right (1,array (0,1) [(0,(1,(7,4))),(1,(1,(0,8)))])),(45,Right (1,array (0,1) [(0,(1,(8,0))),(1,(1,(5,6)))])),(46,Right (1,array (0,1) [(0,(1,(6,5))),(1,(1,(3,7)))])),(47,Right (1,array (0,1) [(0,(1,(7,3))),(1,(1,(4,6)))])),(48,Left (8,(2,7))),(49,Left (8,(7,2))),(50,Left (8,(6,4))),(51,Left (8,(1,7))),(52,Left (8,(5,5))),(53,Left (8,(7,1))),(54,Right (1,array (0,1) [(0,(1,(0,7))),(1,(1,(7,0)))])),(55,Left (8,(3,6))),(56,Left (8,(6,3))),(57,Left (8,(4,5))),(58,Left (8,(5,4))),(59,Left (8,(2,6))),(60,Left (8,(6,2))),(61,Left (8,(1,6))),(62,Right (1,array (0,1) [(0,(1,(0,6))),(1,(1,(6,0)))])),(63,Left (8,(3,5))),(64,Left (7,(6,1))),(65,Left (7,(6,1))),(66,Left (8,(5,3))),(67,Left (8,(4,4))),(68,Left (7,(2,5))),(69,Left (7,(2,5))),(70,Left (7,(5,2))),(71,Left (7,(5,2))),(72,Left (7,(1,5))),(73,Left (7,(1,5))),(74,Left (7,(5,1))),(75,Left (7,(5,1))),(76,Left (8,(0,5))),(77,Left (8,(5,0))),(78,Left (7,(3,4))),(79,Left (7,(3,4))),(80,Left (7,(4,3))),(81,Left (7,(4,3))),(82,Left (7,(2,4))),(83,Left (7,(2,4))),(84,Left (7,(4,2))),(85,Left (7,(4,2))),(86,Left (7,(3,3))),(87,Left (7,(3,3))),(88,Left (6,(4,1))),(89,Left (6,(4,1))),(90,Left (6,(4,1))),(91,Left (6,(4,1))),(92,Left (7,(1,4))),(93,Left (7,(1,4))),(94,Left (7,(0,4))),(95,Left (7,(0,4))),(96,Left (6,(2,3))),(97,Left (6,(2,3))),(98,Left (6,(2,3))),(99,Left (6,(2,3))),(100,Left (6,(3,2))),(101,Left (6,(3,2))),(102,Left (6,(3,2))),(103,Left (6,(3,2))),(104,Left (7,(4,0))),(105,Left (7,(4,0))),(106,Left (7,(0,3))),(107,Left (7,(0,3))),(108,Left (6,(1,3))),(109,Left (6,(1,3))),(110,Left (6,(1,3))),(111,Left (6,(1,3))),(112,Left (6,(3,1))),(113,Left (6,(3,1))),(114,Left (6,(3,1))),(115,Left (6,(3,1))),(116,Left (6,(3,0))),(117,Left (6,(3,0))),(118,Left (6,(3,0))),(119,Left (6,(3,0))),(120,Left (5,(2,2))),(121,Left (5,(2,2))),(122,Left (5,(2,2))),(123,Left (5,(2,2))),(124,Left (5,(2,2))),(125,Left (5,(2,2))),(126,Left (5,(2,2))),(127,Left (5,(2,2))),(128,Left (5,(1,2))),(129,Left (5,(1,2))),(130,Left (5,(1,2))),(131,Left (5,(1,2))),(132,Left (5,(1,2))),(133,Left (5,(1,2))),(134,Left (5,(1,2))),(135,Left (5,(1,2))),(136,Left (5,(2,1))),(137,Left (5,(2,1))),(138,Left (5,(2,1))),(139,Left (5,(2,1))),(140,Left (5,(2,1))),(141,Left (5,(2,1))),(142,Left (5,(2,1))),(143,Left (5,(2,1))),(144,Left (5,(0,2))),(145,Left (5,(0,2))),(146,Left (5,(0,2))),(147,Left (5,(0,2))),(148,Left (5,(0,2))),(149,Left (5,(0,2))),(150,Left (5,(0,2))),(151,Left (5,(0,2))),(152,Left (5,(2,0))),(153,Left (5,(2,0))),(154,Left (5,(2,0))),(155,Left (5,(2,0))),(156,Left (5,(2,0))),(157,Left (5,(2,0))),(158,Left (5,(2,0))),(159,Left (5,(2,0))),(160,Left (3,(1,1))),(161,Left (3,(1,1))),(162,Left (3,(1,1))),(163,Left (3,(1,1))),(164,Left (3,(1,1))),(165,Left (3,(1,1))),(166,Left (3,(1,1))),(167,Left (3,(1,1))),(168,Left (3,(1,1))),(169,Left (3,(1,1))),(170,Left (3,(1,1))),(171,Left (3,(1,1))),(172,Left (3,(1,1))),(173,Left (3,(1,1))),(174,Left (3,(1,1))),(175,Left (3,(1,1))),(176,Left (3,(1,1))),(177,Left (3,(1,1))),(178,Left (3,(1,1))),(179,Left (3,(1,1))),(180,Left (3,(1,1))),(181,Left (3,(1,1))),(182,Left (3,(1,1))),(183,Left (3,(1,1))),(184,Left (3,(1,1))),(185,Left (3,(1,1))),(186,Left (3,(1,1))),(187,Left (3,(1,1))),(188,Left (3,(1,1))),(189,Left (3,(1,1))),(190,Left (3,(1,1))),(191,Left (3,(1,1))),(192,Left (4,(0,1))),(193,Left (4,(0,1))),(194,Left (4,(0,1))),(195,Left (4,(0,1))),(196,Left (4,(0,1))),(197,Left (4,(0,1))),(198,Left (4,(0,1))),(199,Left (4,(0,1))),(200,Left (4,(0,1))),(201,Left (4,(0,1))),(202,Left (4,(0,1))),(203,Left (4,(0,1))),(204,Left (4,(0,1))),(205,Left (4,(0,1))),(206,Left (4,(0,1))),(207,Left (4,(0,1))),(208,Left (4,(1,0))),(209,Left (4,(1,0))),(210,Left (4,(1,0))),(211,Left (4,(1,0))),(212,Left (4,(1,0))),(213,Left (4,(1,0))),(214,Left (4,(1,0))),(215,Left (4,(1,0))),(216,Left (4,(1,0))),(217,Left (4,(1,0))),(218,Left (4,(1,0))),(219,Left (4,(1,0))),(220,Left (4,(1,0))),(221,Left (4,(1,0))),(222,Left (4,(1,0))),(223,Left (4,(1,0))),(224,Left (3,(0,0))),(225,Left (3,(0,0))),(226,Left (3,(0,0))),(227,Left (3,(0,0))),(228,Left (3,(0,0))),(229,Left (3,(0,0))),(230,Left (3,(0,0))),(231,Left (3,(0,0))),(232,Left (3,(0,0))),(233,Left (3,(0,0))),(234,Left (3,(0,0))),(235,Left (3,(0,0))),(236,Left (3,(0,0))),(237,Left (3,(0,0))),(238,Left (3,(0,0))),(239,Left (3,(0,0))),(240,Left (3,(0,0))),(241,Left (3,(0,0))),(242,Left (3,(0,0))),(243,Left (3,(0,0))),(244,Left (3,(0,0))),(245,Left (3,(0,0))),(246,Left (3,(0,0))),(247,Left (3,(0,0))),(248,Left (3,(0,0))),(249,Left (3,(0,0))),(250,Left (3,(0,0))),(251,Left (3,(0,0))),(252,Left (3,(0,0))),(253,Left (3,(0,0))),(254,Left (3,(0,0))),(255,Left (3,(0,0)))]) table16 = Right (9,array (0,511) [(0,Right (2,array (0,3) [(0,(2,(14,15))),(1,(2,(15,14))),(2,(2,(13,15))),(3,(2,(15,13)))])),(1,Right (2,array (0,3) [(0,(2,(12,15))),(1,(2,(15,12))),(2,(2,(11,15))),(3,(2,(15,11)))])),(2,Right (2,array (0,3) [(0,(1,(10,15))),(1,(1,(10,15))),(2,(2,(15,10))),(3,(2,(9,15)))])),(3,Right (2,array (0,3) [(0,(2,(15,9))),(1,(2,(15,8))),(2,(1,(8,15))),(3,(1,(8,15)))])),(4,Right (1,array (0,1) [(0,(1,(7,15))),(1,(1,(15,7)))])),(5,Right (1,array (0,1) [(0,(1,(6,15))),(1,(1,(15,6)))])),(6,Left (8,(15,15))),(7,Left (8,(15,15))),(8,Right (1,array (0,1) [(0,(1,(5,15))),(1,(1,(15,5)))])),(9,Left (9,(4,15))),(10,Left (9,(15,4))),(11,Left (9,(15,3))),(12,Left (9,(15,0))),(13,Right (8,array (0,255) [(0,(1,(3,15))),(1,(1,(3,15))),(2,(1,(3,15))),(3,(1,(3,15))),(4,(1,(3,15))),(5,(1,(3,15))),(6,(1,(3,15))),(7,(1,(3,15))),(8,(1,(3,15))),(9,(1,(3,15))),(10,(1,(3,15))),(11,(1,(3,15))),(12,(1,(3,15))),(13,(1,(3,15))),(14,(1,(3,15))),(15,(1,(3,15))),(16,(1,(3,15))),(17,(1,(3,15))),(18,(1,(3,15))),(19,(1,(3,15))),(20,(1,(3,15))),(21,(1,(3,15))),(22,(1,(3,15))),(23,(1,(3,15))),(24,(1,(3,15))),(25,(1,(3,15))),(26,(1,(3,15))),(27,(1,(3,15))),(28,(1,(3,15))),(29,(1,(3,15))),(30,(1,(3,15))),(31,(1,(3,15))),(32,(1,(3,15))),(33,(1,(3,15))),(34,(1,(3,15))),(35,(1,(3,15))),(36,(1,(3,15))),(37,(1,(3,15))),(38,(1,(3,15))),(39,(1,(3,15))),(40,(1,(3,15))),(41,(1,(3,15))),(42,(1,(3,15))),(43,(1,(3,15))),(44,(1,(3,15))),(45,(1,(3,15))),(46,(1,(3,15))),(47,(1,(3,15))),(48,(1,(3,15))),(49,(1,(3,15))),(50,(1,(3,15))),(51,(1,(3,15))),(52,(1,(3,15))),(53,(1,(3,15))),(54,(1,(3,15))),(55,(1,(3,15))),(56,(1,(3,15))),(57,(1,(3,15))),(58,(1,(3,15))),(59,(1,(3,15))),(60,(1,(3,15))),(61,(1,(3,15))),(62,(1,(3,15))),(63,(1,(3,15))),(64,(1,(3,15))),(65,(1,(3,15))),(66,(1,(3,15))),(67,(1,(3,15))),(68,(1,(3,15))),(69,(1,(3,15))),(70,(1,(3,15))),(71,(1,(3,15))),(72,(1,(3,15))),(73,(1,(3,15))),(74,(1,(3,15))),(75,(1,(3,15))),(76,(1,(3,15))),(77,(1,(3,15))),(78,(1,(3,15))),(79,(1,(3,15))),(80,(1,(3,15))),(81,(1,(3,15))),(82,(1,(3,15))),(83,(1,(3,15))),(84,(1,(3,15))),(85,(1,(3,15))),(86,(1,(3,15))),(87,(1,(3,15))),(88,(1,(3,15))),(89,(1,(3,15))),(90,(1,(3,15))),(91,(1,(3,15))),(92,(1,(3,15))),(93,(1,(3,15))),(94,(1,(3,15))),(95,(1,(3,15))),(96,(1,(3,15))),(97,(1,(3,15))),(98,(1,(3,15))),(99,(1,(3,15))),(100,(1,(3,15))),(101,(1,(3,15))),(102,(1,(3,15))),(103,(1,(3,15))),(104,(1,(3,15))),(105,(1,(3,15))),(106,(1,(3,15))),(107,(1,(3,15))),(108,(1,(3,15))),(109,(1,(3,15))),(110,(1,(3,15))),(111,(1,(3,15))),(112,(1,(3,15))),(113,(1,(3,15))),(114,(1,(3,15))),(115,(1,(3,15))),(116,(1,(3,15))),(117,(1,(3,15))),(118,(1,(3,15))),(119,(1,(3,15))),(120,(1,(3,15))),(121,(1,(3,15))),(122,(1,(3,15))),(123,(1,(3,15))),(124,(1,(3,15))),(125,(1,(3,15))),(126,(1,(3,15))),(127,(1,(3,15))),(128,(7,(12,14))),(129,(7,(12,14))),(130,(8,(14,12))),(131,(8,(13,13))),(132,(6,(13,14))),(133,(6,(13,14))),(134,(6,(13,14))),(135,(6,(13,14))),(136,(6,(14,9))),(137,(6,(14,9))),(138,(6,(14,9))),(139,(6,(14,9))),(140,(7,(14,10))),(141,(7,(14,10))),(142,(7,(13,9))),(143,(7,(13,9))),(144,(5,(14,14))),(145,(5,(14,14))),(146,(5,(14,14))),(147,(5,(14,14))),(148,(5,(14,14))),(149,(5,(14,14))),(150,(5,(14,14))),(151,(5,(14,14))),(152,(6,(14,13))),(153,(6,(14,13))),(154,(6,(14,13))),(155,(6,(14,13))),(156,(6,(14,11))),(157,(6,(14,11))),(158,(6,(14,11))),(159,(6,(14,11))),(160,(5,(11,14))),(161,(5,(11,14))),(162,(5,(11,14))),(163,(5,(11,14))),(164,(5,(11,14))),(165,(5,(11,14))),(166,(5,(11,14))),(167,(5,(11,14))),(168,(5,(12,13))),(169,(5,(12,13))),(170,(5,(12,13))),(171,(5,(12,13))),(172,(5,(12,13))),(173,(5,(12,13))),(174,(5,(12,13))),(175,(5,(12,13))),(176,(6,(13,12))),(177,(6,(13,12))),(178,(6,(13,12))),(179,(6,(13,12))),(180,(6,(13,11))),(181,(6,(13,11))),(182,(6,(13,11))),(183,(6,(13,11))),(184,(5,(10,14))),(185,(5,(10,14))),(186,(5,(10,14))),(187,(5,(10,14))),(188,(5,(10,14))),(189,(5,(10,14))),(190,(5,(10,14))),(191,(5,(10,14))),(192,(5,(12,12))),(193,(5,(12,12))),(194,(5,(12,12))),(195,(5,(12,12))),(196,(5,(12,12))),(197,(5,(12,12))),(198,(5,(12,12))),(199,(5,(12,12))),(200,(6,(10,13))),(201,(6,(10,13))),(202,(6,(10,13))),(203,(6,(10,13))),(204,(6,(13,10))),(205,(6,(13,10))),(206,(6,(13,10))),(207,(6,(13,10))),(208,(6,(7,14))),(209,(6,(7,14))),(210,(6,(7,14))),(211,(6,(7,14))),(212,(6,(10,12))),(213,(6,(10,12))),(214,(6,(10,12))),(215,(6,(10,12))),(216,(5,(12,10))),(217,(5,(12,10))),(218,(5,(12,10))),(219,(5,(12,10))),(220,(5,(12,10))),(221,(5,(12,10))),(222,(5,(12,10))),(223,(5,(12,10))),(224,(6,(12,9))),(225,(6,(12,9))),(226,(6,(12,9))),(227,(6,(12,9))),(228,(6,(7,13))),(229,(6,(7,13))),(230,(6,(7,13))),(231,(6,(7,13))),(232,(5,(5,14))),(233,(5,(5,14))),(234,(5,(5,14))),(235,(5,(5,14))),(236,(5,(5,14))),(237,(5,(5,14))),(238,(5,(5,14))),(239,(5,(5,14))),(240,(4,(11,13))),(241,(4,(11,13))),(242,(4,(11,13))),(243,(4,(11,13))),(244,(4,(11,13))),(245,(4,(11,13))),(246,(4,(11,13))),(247,(4,(11,13))),(248,(4,(11,13))),(249,(4,(11,13))),(250,(4,(11,13))),(251,(4,(11,13))),(252,(4,(11,13))),(253,(4,(11,13))),(254,(4,(11,13))),(255,(4,(11,13)))])),(14,Left (8,(15,2))),(15,Left (8,(15,2))),(16,Left (9,(2,15))),(17,Left (9,(0,15))),(18,Left (8,(1,15))),(19,Left (8,(1,15))),(20,Left (8,(15,1))),(21,Left (8,(15,1))),(22,Right (5,array (0,31) [(0,(4,(9,14))),(1,(4,(9,14))),(2,(5,(11,12))),(3,(5,(12,11))),(4,(5,(8,14))),(5,(5,(14,8))),(6,(5,(9,13))),(7,(5,(14,7))),(8,(5,(11,11))),(9,(5,(8,13))),(10,(5,(13,8))),(11,(5,(6,14))),(12,(4,(14,6))),(13,(4,(14,6))),(14,(4,(9,12))),(15,(4,(9,12))),(16,(5,(10,11))),(17,(5,(11,10))),(18,(5,(14,5))),(19,(5,(13,7))),(20,(4,(4,14))),(21,(4,(4,14))),(22,(5,(14,4))),(23,(5,(8,12))),(24,(4,(12,8))),(25,(4,(12,8))),(26,(4,(3,14))),(27,(4,(3,14))),(28,(4,(6,13))),(29,(4,(6,13))),(30,(5,(13,6))),(31,(5,(9,11)))])),(23,Right (5,array (0,31) [(0,(5,(11,9))),(1,(5,(10,10))),(2,(4,(14,1))),(3,(4,(14,1))),(4,(4,(13,4))),(5,(4,(13,4))),(6,(5,(11,8))),(7,(5,(10,9))),(8,(4,(7,11))),(9,(4,(7,11))),(10,(5,(11,7))),(11,(5,(13,0))),(12,(3,(14,3))),(13,(3,(14,3))),(14,(3,(14,3))),(15,(3,(14,3))),(16,(4,(0,14))),(17,(4,(0,14))),(18,(4,(14,0))),(19,(4,(14,0))),(20,(4,(5,13))),(21,(4,(5,13))),(22,(4,(13,5))),(23,(4,(13,5))),(24,(4,(7,12))),(25,(4,(7,12))),(26,(4,(12,7))),(27,(4,(12,7))),(28,(4,(4,13))),(29,(4,(4,13))),(30,(4,(8,11))),(31,(4,(8,11)))])),(24,Right (4,array (0,15) [(0,(4,(9,10))),(1,(4,(6,12))),(2,(4,(12,6))),(3,(4,(3,13))),(4,(4,(5,12))),(5,(4,(12,5))),(6,(3,(0,13))),(7,(3,(0,13))),(8,(4,(8,10))),(9,(4,(10,8))),(10,(4,(9,9))),(11,(4,(4,12))),(12,(4,(11,6))),(13,(4,(7,10))),(14,(3,(3,12))),(15,(3,(3,12)))])),(25,Right (4,array (0,15) [(0,(4,(5,11))),(1,(4,(8,9))),(2,(3,(1,12))),(3,(3,(1,12))),(4,(3,(12,0))),(5,(3,(12,0))),(6,(4,(9,8))),(7,(4,(7,9))),(8,(2,(14,2))),(9,(2,(14,2))),(10,(2,(14,2))),(11,(2,(14,2))),(12,(3,(2,14))),(13,(3,(2,14))),(14,(3,(1,14))),(15,(3,(1,14)))])),(26,Right (4,array (0,15) [(0,(3,(13,3))),(1,(3,(13,3))),(2,(3,(2,13))),(3,(3,(2,13))),(4,(3,(13,2))),(5,(3,(13,2))),(6,(3,(13,1))),(7,(3,(13,1))),(8,(3,(3,11))),(9,(3,(3,11))),(10,(4,(9,7))),(11,(4,(8,8))),(12,(2,(1,13))),(13,(2,(1,13))),(14,(2,(1,13))),(15,(2,(1,13)))])),(27,Right (3,array (0,7) [(0,(3,(12,4))),(1,(3,(6,11))),(2,(3,(12,3))),(3,(3,(10,7))),(4,(2,(2,12))),(5,(2,(2,12))),(6,(3,(12,2))),(7,(3,(11,5)))])),(28,Right (3,array (0,7) [(0,(3,(12,1))),(1,(3,(0,12))),(2,(3,(4,11))),(3,(3,(11,4))),(4,(3,(6,10))),(5,(3,(10,6))),(6,(2,(11,3))),(7,(2,(11,3)))])),(29,Right (3,array (0,7) [(0,(3,(5,10))),(1,(3,(10,5))),(2,(2,(2,11))),(3,(2,(2,11))),(4,(2,(11,2))),(5,(2,(11,2))),(6,(2,(1,11))),(7,(2,(1,11)))])),(30,Right (3,array (0,7) [(0,(2,(11,1))),(1,(2,(11,1))),(2,(3,(0,11))),(3,(3,(11,0))),(4,(3,(6,9))),(5,(3,(9,6))),(6,(3,(4,10))),(7,(3,(10,4)))])),(31,Right (3,array (0,7) [(0,(3,(7,8))),(1,(3,(8,7))),(2,(2,(10,3))),(3,(2,(10,3))),(4,(3,(3,10))),(5,(3,(5,9))),(6,(2,(2,10))),(7,(2,(2,10)))])),(32,Right (3,array (0,7) [(0,(3,(9,5))),(1,(3,(6,8))),(2,(2,(10,1))),(3,(2,(10,1))),(4,(3,(8,6))),(5,(3,(7,7))),(6,(2,(9,4))),(7,(2,(9,4)))])),(33,Right (3,array (0,7) [(0,(3,(4,9))),(1,(3,(5,7))),(2,(2,(6,7))),(3,(2,(6,7))),(4,(1,(10,2))),(5,(1,(10,2))),(6,(1,(10,2))),(7,(1,(10,2)))])),(34,Right (2,array (0,3) [(0,(1,(1,10))),(1,(1,(1,10))),(2,(2,(0,10))),(3,(2,(10,0)))])),(35,Right (2,array (0,3) [(0,(2,(3,9))),(1,(2,(9,3))),(2,(2,(5,8))),(3,(2,(8,5)))])),(36,Right (1,array (0,1) [(0,(1,(2,9))),(1,(1,(9,2)))])),(37,Right (2,array (0,3) [(0,(2,(7,6))),(1,(2,(0,9))),(2,(1,(1,9))),(3,(1,(1,9)))])),(38,Right (2,array (0,3) [(0,(1,(9,1))),(1,(1,(9,1))),(2,(2,(9,0))),(3,(2,(4,8)))])),(39,Right (2,array (0,3) [(0,(2,(8,4))),(1,(2,(7,5))),(2,(2,(3,8))),(3,(2,(8,3)))])),(40,Right (2,array (0,3) [(0,(2,(6,6))),(1,(2,(2,8))),(2,(1,(8,2))),(3,(1,(8,2)))])),(41,Right (2,array (0,3) [(0,(2,(4,7))),(1,(2,(7,4))),(2,(1,(1,8))),(3,(1,(1,8)))])),(42,Right (1,array (0,1) [(0,(1,(8,1))),(1,(1,(8,0)))])),(43,Right (2,array (0,3) [(0,(2,(0,8))),(1,(2,(5,6))),(2,(1,(3,7))),(3,(1,(3,7)))])),(44,Right (2,array (0,3) [(0,(1,(7,3))),(1,(1,(7,3))),(2,(2,(6,5))),(3,(2,(4,6)))])),(45,Right (1,array (0,1) [(0,(1,(2,7))),(1,(1,(7,2)))])),(46,Right (2,array (0,3) [(0,(2,(6,4))),(1,(2,(5,5))),(2,(1,(0,7))),(3,(1,(0,7)))])),(47,Left (9,(1,7))),(48,Left (9,(7,1))),(49,Right (1,array (0,1) [(0,(1,(7,0))),(1,(1,(3,6)))])),(50,Right (1,array (0,1) [(0,(1,(6,3))),(1,(1,(4,5)))])),(51,Right (1,array (0,1) [(0,(1,(5,4))),(1,(1,(2,6)))])),(52,Left (9,(6,2))),(53,Left (9,(1,6))),(54,Left (9,(6,1))),(55,Right (1,array (0,1) [(0,(1,(0,6))),(1,(1,(6,0)))])),(56,Left (9,(5,3))),(57,Right (1,array (0,1) [(0,(1,(3,5))),(1,(1,(4,4)))])),(58,Left (9,(2,5))),(59,Left (9,(5,2))),(60,Left (8,(5,1))),(61,Left (8,(5,1))),(62,Left (9,(1,5))),(63,Left (9,(0,5))),(64,Left (9,(3,4))),(65,Left (9,(4,3))),(66,Left (9,(5,0))),(67,Left (9,(2,4))),(68,Left (9,(4,2))),(69,Left (9,(3,3))),(70,Left (8,(1,4))),(71,Left (8,(1,4))),(72,Left (8,(4,1))),(73,Left (8,(4,1))),(74,Left (9,(0,4))),(75,Left (9,(4,0))),(76,Left (8,(2,3))),(77,Left (8,(2,3))),(78,Left (8,(3,2))),(79,Left (8,(3,2))),(80,Left (7,(1,3))),(81,Left (7,(1,3))),(82,Left (7,(1,3))),(83,Left (7,(1,3))),(84,Left (7,(3,1))),(85,Left (7,(3,1))),(86,Left (7,(3,1))),(87,Left (7,(3,1))),(88,Left (8,(0,3))),(89,Left (8,(0,3))),(90,Left (8,(3,0))),(91,Left (8,(3,0))),(92,Left (7,(2,2))),(93,Left (7,(2,2))),(94,Left (7,(2,2))),(95,Left (7,(2,2))),(96,Left (6,(1,2))),(97,Left (6,(1,2))),(98,Left (6,(1,2))),(99,Left (6,(1,2))),(100,Left (6,(1,2))),(101,Left (6,(1,2))),(102,Left (6,(1,2))),(103,Left (6,(1,2))),(104,Left (6,(2,1))),(105,Left (6,(2,1))),(106,Left (6,(2,1))),(107,Left (6,(2,1))),(108,Left (6,(2,1))),(109,Left (6,(2,1))),(110,Left (6,(2,1))),(111,Left (6,(2,1))),(112,Left (6,(0,2))),(113,Left (6,(0,2))),(114,Left (6,(0,2))),(115,Left (6,(0,2))),(116,Left (6,(0,2))),(117,Left (6,(0,2))),(118,Left (6,(0,2))),(119,Left (6,(0,2))),(120,Left (6,(2,0))),(121,Left (6,(2,0))),(122,Left (6,(2,0))),(123,Left (6,(2,0))),(124,Left (6,(2,0))),(125,Left (6,(2,0))),(126,Left (6,(2,0))),(127,Left (6,(2,0))),(128,Left (4,(1,1))),(129,Left (4,(1,1))),(130,Left (4,(1,1))),(131,Left (4,(1,1))),(132,Left (4,(1,1))),(133,Left (4,(1,1))),(134,Left (4,(1,1))),(135,Left (4,(1,1))),(136,Left (4,(1,1))),(137,Left (4,(1,1))),(138,Left (4,(1,1))),(139,Left (4,(1,1))),(140,Left (4,(1,1))),(141,Left (4,(1,1))),(142,Left (4,(1,1))),(143,Left (4,(1,1))),(144,Left (4,(1,1))),(145,Left (4,(1,1))),(146,Left (4,(1,1))),(147,Left (4,(1,1))),(148,Left (4,(1,1))),(149,Left (4,(1,1))),(150,Left (4,(1,1))),(151,Left (4,(1,1))),(152,Left (4,(1,1))),(153,Left (4,(1,1))),(154,Left (4,(1,1))),(155,Left (4,(1,1))),(156,Left (4,(1,1))),(157,Left (4,(1,1))),(158,Left (4,(1,1))),(159,Left (4,(1,1))),(160,Left (4,(0,1))),(161,Left (4,(0,1))),(162,Left (4,(0,1))),(163,Left (4,(0,1))),(164,Left (4,(0,1))),(165,Left (4,(0,1))),(166,Left (4,(0,1))),(167,Left (4,(0,1))),(168,Left (4,(0,1))),(169,Left (4,(0,1))),(170,Left (4,(0,1))),(171,Left (4,(0,1))),(172,Left (4,(0,1))),(173,Left (4,(0,1))),(174,Left (4,(0,1))),(175,Left (4,(0,1))),(176,Left (4,(0,1))),(177,Left (4,(0,1))),(178,Left (4,(0,1))),(179,Left (4,(0,1))),(180,Left (4,(0,1))),(181,Left (4,(0,1))),(182,Left (4,(0,1))),(183,Left (4,(0,1))),(184,Left (4,(0,1))),(185,Left (4,(0,1))),(186,Left (4,(0,1))),(187,Left (4,(0,1))),(188,Left (4,(0,1))),(189,Left (4,(0,1))),(190,Left (4,(0,1))),(191,Left (4,(0,1))),(192,Left (3,(1,0))),(193,Left (3,(1,0))),(194,Left (3,(1,0))),(195,Left (3,(1,0))),(196,Left (3,(1,0))),(197,Left (3,(1,0))),(198,Left (3,(1,0))),(199,Left (3,(1,0))),(200,Left (3,(1,0))),(201,Left (3,(1,0))),(202,Left (3,(1,0))),(203,Left (3,(1,0))),(204,Left (3,(1,0))),(205,Left (3,(1,0))),(206,Left (3,(1,0))),(207,Left (3,(1,0))),(208,Left (3,(1,0))),(209,Left (3,(1,0))),(210,Left (3,(1,0))),(211,Left (3,(1,0))),(212,Left (3,(1,0))),(213,Left (3,(1,0))),(214,Left (3,(1,0))),(215,Left (3,(1,0))),(216,Left (3,(1,0))),(217,Left (3,(1,0))),(218,Left (3,(1,0))),(219,Left (3,(1,0))),(220,Left (3,(1,0))),(221,Left (3,(1,0))),(222,Left (3,(1,0))),(223,Left (3,(1,0))),(224,Left (3,(1,0))),(225,Left (3,(1,0))),(226,Left (3,(1,0))),(227,Left (3,(1,0))),(228,Left (3,(1,0))),(229,Left (3,(1,0))),(230,Left (3,(1,0))),(231,Left (3,(1,0))),(232,Left (3,(1,0))),(233,Left (3,(1,0))),(234,Left (3,(1,0))),(235,Left (3,(1,0))),(236,Left (3,(1,0))),(237,Left (3,(1,0))),(238,Left (3,(1,0))),(239,Left (3,(1,0))),(240,Left (3,(1,0))),(241,Left (3,(1,0))),(242,Left (3,(1,0))),(243,Left (3,(1,0))),(244,Left (3,(1,0))),(245,Left (3,(1,0))),(246,Left (3,(1,0))),(247,Left (3,(1,0))),(248,Left (3,(1,0))),(249,Left (3,(1,0))),(250,Left (3,(1,0))),(251,Left (3,(1,0))),(252,Left (3,(1,0))),(253,Left (3,(1,0))),(254,Left (3,(1,0))),(255,Left (3,(1,0))),(256,Left (1,(0,0))),(257,Left (1,(0,0))),(258,Left (1,(0,0))),(259,Left (1,(0,0))),(260,Left (1,(0,0))),(261,Left (1,(0,0))),(262,Left (1,(0,0))),(263,Left (1,(0,0))),(264,Left (1,(0,0))),(265,Left (1,(0,0))),(266,Left (1,(0,0))),(267,Left (1,(0,0))),(268,Left (1,(0,0))),(269,Left (1,(0,0))),(270,Left (1,(0,0))),(271,Left (1,(0,0))),(272,Left (1,(0,0))),(273,Left (1,(0,0))),(274,Left (1,(0,0))),(275,Left (1,(0,0))),(276,Left (1,(0,0))),(277,Left (1,(0,0))),(278,Left (1,(0,0))),(279,Left (1,(0,0))),(280,Left (1,(0,0))),(281,Left (1,(0,0))),(282,Left (1,(0,0))),(283,Left (1,(0,0))),(284,Left (1,(0,0))),(285,Left (1,(0,0))),(286,Left (1,(0,0))),(287,Left (1,(0,0))),(288,Left (1,(0,0))),(289,Left (1,(0,0))),(290,Left (1,(0,0))),(291,Left (1,(0,0))),(292,Left (1,(0,0))),(293,Left (1,(0,0))),(294,Left (1,(0,0))),(295,Left (1,(0,0))),(296,Left (1,(0,0))),(297,Left (1,(0,0))),(298,Left (1,(0,0))),(299,Left (1,(0,0))),(300,Left (1,(0,0))),(301,Left (1,(0,0))),(302,Left (1,(0,0))),(303,Left (1,(0,0))),(304,Left (1,(0,0))),(305,Left (1,(0,0))),(306,Left (1,(0,0))),(307,Left (1,(0,0))),(308,Left (1,(0,0))),(309,Left (1,(0,0))),(310,Left (1,(0,0))),(311,Left (1,(0,0))),(312,Left (1,(0,0))),(313,Left (1,(0,0))),(314,Left (1,(0,0))),(315,Left (1,(0,0))),(316,Left (1,(0,0))),(317,Left (1,(0,0))),(318,Left (1,(0,0))),(319,Left (1,(0,0))),(320,Left (1,(0,0))),(321,Left (1,(0,0))),(322,Left (1,(0,0))),(323,Left (1,(0,0))),(324,Left (1,(0,0))),(325,Left (1,(0,0))),(326,Left (1,(0,0))),(327,Left (1,(0,0))),(328,Left (1,(0,0))),(329,Left (1,(0,0))),(330,Left (1,(0,0))),(331,Left (1,(0,0))),(332,Left (1,(0,0))),(333,Left (1,(0,0))),(334,Left (1,(0,0))),(335,Left (1,(0,0))),(336,Left (1,(0,0))),(337,Left (1,(0,0))),(338,Left (1,(0,0))),(339,Left (1,(0,0))),(340,Left (1,(0,0))),(341,Left (1,(0,0))),(342,Left (1,(0,0))),(343,Left (1,(0,0))),(344,Left (1,(0,0))),(345,Left (1,(0,0))),(346,Left (1,(0,0))),(347,Left (1,(0,0))),(348,Left (1,(0,0))),(349,Left (1,(0,0))),(350,Left (1,(0,0))),(351,Left (1,(0,0))),(352,Left (1,(0,0))),(353,Left (1,(0,0))),(354,Left (1,(0,0))),(355,Left (1,(0,0))),(356,Left (1,(0,0))),(357,Left (1,(0,0))),(358,Left (1,(0,0))),(359,Left (1,(0,0))),(360,Left (1,(0,0))),(361,Left (1,(0,0))),(362,Left (1,(0,0))),(363,Left (1,(0,0))),(364,Left (1,(0,0))),(365,Left (1,(0,0))),(366,Left (1,(0,0))),(367,Left (1,(0,0))),(368,Left (1,(0,0))),(369,Left (1,(0,0))),(370,Left (1,(0,0))),(371,Left (1,(0,0))),(372,Left (1,(0,0))),(373,Left (1,(0,0))),(374,Left (1,(0,0))),(375,Left (1,(0,0))),(376,Left (1,(0,0))),(377,Left (1,(0,0))),(378,Left (1,(0,0))),(379,Left (1,(0,0))),(380,Left (1,(0,0))),(381,Left (1,(0,0))),(382,Left (1,(0,0))),(383,Left (1,(0,0))),(384,Left (1,(0,0))),(385,Left (1,(0,0))),(386,Left (1,(0,0))),(387,Left (1,(0,0))),(388,Left (1,(0,0))),(389,Left (1,(0,0))),(390,Left (1,(0,0))),(391,Left (1,(0,0))),(392,Left (1,(0,0))),(393,Left (1,(0,0))),(394,Left (1,(0,0))),(395,Left (1,(0,0))),(396,Left (1,(0,0))),(397,Left (1,(0,0))),(398,Left (1,(0,0))),(399,Left (1,(0,0))),(400,Left (1,(0,0))),(401,Left (1,(0,0))),(402,Left (1,(0,0))),(403,Left (1,(0,0))),(404,Left (1,(0,0))),(405,Left (1,(0,0))),(406,Left (1,(0,0))),(407,Left (1,(0,0))),(408,Left (1,(0,0))),(409,Left (1,(0,0))),(410,Left (1,(0,0))),(411,Left (1,(0,0))),(412,Left (1,(0,0))),(413,Left (1,(0,0))),(414,Left (1,(0,0))),(415,Left (1,(0,0))),(416,Left (1,(0,0))),(417,Left (1,(0,0))),(418,Left (1,(0,0))),(419,Left (1,(0,0))),(420,Left (1,(0,0))),(421,Left (1,(0,0))),(422,Left (1,(0,0))),(423,Left (1,(0,0))),(424,Left (1,(0,0))),(425,Left (1,(0,0))),(426,Left (1,(0,0))),(427,Left (1,(0,0))),(428,Left (1,(0,0))),(429,Left (1,(0,0))),(430,Left (1,(0,0))),(431,Left (1,(0,0))),(432,Left (1,(0,0))),(433,Left (1,(0,0))),(434,Left (1,(0,0))),(435,Left (1,(0,0))),(436,Left (1,(0,0))),(437,Left (1,(0,0))),(438,Left (1,(0,0))),(439,Left (1,(0,0))),(440,Left (1,(0,0))),(441,Left (1,(0,0))),(442,Left (1,(0,0))),(443,Left (1,(0,0))),(444,Left (1,(0,0))),(445,Left (1,(0,0))),(446,Left (1,(0,0))),(447,Left (1,(0,0))),(448,Left (1,(0,0))),(449,Left (1,(0,0))),(450,Left (1,(0,0))),(451,Left (1,(0,0))),(452,Left (1,(0,0))),(453,Left (1,(0,0))),(454,Left (1,(0,0))),(455,Left (1,(0,0))),(456,Left (1,(0,0))),(457,Left (1,(0,0))),(458,Left (1,(0,0))),(459,Left (1,(0,0))),(460,Left (1,(0,0))),(461,Left (1,(0,0))),(462,Left (1,(0,0))),(463,Left (1,(0,0))),(464,Left (1,(0,0))),(465,Left (1,(0,0))),(466,Left (1,(0,0))),(467,Left (1,(0,0))),(468,Left (1,(0,0))),(469,Left (1,(0,0))),(470,Left (1,(0,0))),(471,Left (1,(0,0))),(472,Left (1,(0,0))),(473,Left (1,(0,0))),(474,Left (1,(0,0))),(475,Left (1,(0,0))),(476,Left (1,(0,0))),(477,Left (1,(0,0))),(478,Left (1,(0,0))),(479,Left (1,(0,0))),(480,Left (1,(0,0))),(481,Left (1,(0,0))),(482,Left (1,(0,0))),(483,Left (1,(0,0))),(484,Left (1,(0,0))),(485,Left (1,(0,0))),(486,Left (1,(0,0))),(487,Left (1,(0,0))),(488,Left (1,(0,0))),(489,Left (1,(0,0))),(490,Left (1,(0,0))),(491,Left (1,(0,0))),(492,Left (1,(0,0))),(493,Left (1,(0,0))),(494,Left (1,(0,0))),(495,Left (1,(0,0))),(496,Left (1,(0,0))),(497,Left (1,(0,0))),(498,Left (1,(0,0))),(499,Left (1,(0,0))),(500,Left (1,(0,0))),(501,Left (1,(0,0))),(502,Left (1,(0,0))),(503,Left (1,(0,0))),(504,Left (1,(0,0))),(505,Left (1,(0,0))),(506,Left (1,(0,0))),(507,Left (1,(0,0))),(508,Left (1,(0,0))),(509,Left (1,(0,0))),(510,Left (1,(0,0))),(511,Left (1,(0,0)))]) table24 = Right (8,array (0,255) [(0,Left (8,(14,15))),(1,Left (8,(15,14))),(2,Left (8,(13,15))),(3,Left (8,(15,13))),(4,Left (8,(12,15))),(5,Left (8,(15,12))),(6,Left (8,(11,15))),(7,Left (8,(15,11))),(8,Left (7,(15,10))),(9,Left (7,(15,10))),(10,Left (8,(10,15))),(11,Left (8,(9,15))),(12,Left (7,(15,9))),(13,Left (7,(15,9))),(14,Left (7,(15,8))),(15,Left (7,(15,8))),(16,Left (8,(8,15))),(17,Left (8,(7,15))),(18,Left (7,(15,7))),(19,Left (7,(15,7))),(20,Left (7,(6,15))),(21,Left (7,(6,15))),(22,Left (7,(15,6))),(23,Left (7,(15,6))),(24,Left (7,(5,15))),(25,Left (7,(5,15))),(26,Left (7,(15,5))),(27,Left (7,(15,5))),(28,Left (7,(4,15))),(29,Left (7,(4,15))),(30,Left (7,(15,4))),(31,Left (7,(15,4))),(32,Left (7,(3,15))),(33,Left (7,(3,15))),(34,Left (7,(15,3))),(35,Left (7,(15,3))),(36,Left (7,(2,15))),(37,Left (7,(2,15))),(38,Left (7,(15,2))),(39,Left (7,(15,2))),(40,Left (7,(15,1))),(41,Left (7,(15,1))),(42,Left (8,(1,15))),(43,Left (8,(15,0))),(44,Right (3,array (0,7) [(0,(1,(0,15))),(1,(1,(0,15))),(2,(1,(0,15))),(3,(1,(0,15))),(4,(3,(14,14))),(5,(3,(13,14))),(6,(3,(14,13))),(7,(3,(12,14)))])),(45,Right (3,array (0,7) [(0,(3,(14,12))),(1,(3,(13,13))),(2,(3,(11,14))),(3,(3,(14,11))),(4,(3,(12,13))),(5,(3,(13,12))),(6,(3,(10,14))),(7,(3,(14,10)))])),(46,Right (3,array (0,7) [(0,(3,(11,13))),(1,(3,(13,11))),(2,(3,(12,12))),(3,(3,(9,14))),(4,(3,(14,9))),(5,(3,(10,13))),(6,(3,(13,10))),(7,(3,(11,12)))])),(47,Right (3,array (0,7) [(0,(3,(12,11))),(1,(3,(8,14))),(2,(3,(14,8))),(3,(3,(9,13))),(4,(3,(13,9))),(5,(3,(7,14))),(6,(3,(14,7))),(7,(3,(10,12)))])),(48,Left (4,(15,15))),(49,Left (4,(15,15))),(50,Left (4,(15,15))),(51,Left (4,(15,15))),(52,Left (4,(15,15))),(53,Left (4,(15,15))),(54,Left (4,(15,15))),(55,Left (4,(15,15))),(56,Left (4,(15,15))),(57,Left (4,(15,15))),(58,Left (4,(15,15))),(59,Left (4,(15,15))),(60,Left (4,(15,15))),(61,Left (4,(15,15))),(62,Left (4,(15,15))),(63,Left (4,(15,15))),(64,Right (4,array (0,15) [(0,(3,(12,10))),(1,(3,(12,10))),(2,(3,(11,11))),(3,(3,(11,11))),(4,(3,(8,13))),(5,(3,(8,13))),(6,(3,(13,8))),(7,(3,(13,8))),(8,(4,(0,14))),(9,(4,(14,0))),(10,(3,(0,13))),(11,(3,(0,13))),(12,(2,(14,6))),(13,(2,(14,6))),(14,(2,(14,6))),(15,(2,(14,6)))])),(65,Right (3,array (0,7) [(0,(3,(6,14))),(1,(3,(9,12))),(2,(2,(12,9))),(3,(2,(12,9))),(4,(2,(5,14))),(5,(2,(5,14))),(6,(2,(11,10))),(7,(2,(11,10)))])),(66,Right (3,array (0,7) [(0,(2,(14,5))),(1,(2,(14,5))),(2,(3,(10,11))),(3,(3,(7,13))),(4,(2,(13,7))),(5,(2,(13,7))),(6,(2,(14,4))),(7,(2,(14,4)))])),(67,Right (3,array (0,7) [(0,(2,(8,12))),(1,(2,(8,12))),(2,(2,(12,8))),(3,(2,(12,8))),(4,(3,(4,14))),(5,(3,(2,14))),(6,(2,(3,14))),(7,(2,(3,14)))])),(68,Right (2,array (0,3) [(0,(2,(6,13))),(1,(2,(13,6))),(2,(2,(14,3))),(3,(2,(9,11)))])),(69,Right (2,array (0,3) [(0,(2,(11,9))),(1,(2,(10,10))),(2,(2,(14,2))),(3,(2,(1,14)))])),(70,Right (2,array (0,3) [(0,(2,(14,1))),(1,(2,(5,13))),(2,(2,(13,5))),(3,(2,(7,12)))])),(71,Right (2,array (0,3) [(0,(2,(12,7))),(1,(2,(4,13))),(2,(2,(8,11))),(3,(2,(11,8)))])),(72,Right (2,array (0,3) [(0,(2,(13,4))),(1,(2,(9,10))),(2,(2,(10,9))),(3,(2,(6,12)))])),(73,Right (2,array (0,3) [(0,(2,(12,6))),(1,(2,(3,13))),(2,(2,(13,3))),(3,(2,(2,13)))])),(74,Right (2,array (0,3) [(0,(2,(13,2))),(1,(2,(1,13))),(2,(2,(7,11))),(3,(2,(11,7)))])),(75,Right (2,array (0,3) [(0,(2,(13,1))),(1,(2,(5,12))),(2,(2,(12,5))),(3,(2,(8,10)))])),(76,Right (2,array (0,3) [(0,(2,(10,8))),(1,(2,(9,9))),(2,(2,(4,12))),(3,(2,(12,4)))])),(77,Right (3,array (0,7) [(0,(2,(6,11))),(1,(2,(6,11))),(2,(2,(11,6))),(3,(2,(11,6))),(4,(3,(13,0))),(5,(3,(0,12))),(6,(2,(3,12))),(7,(2,(3,12)))])),(78,Right (2,array (0,3) [(0,(2,(12,3))),(1,(2,(7,10))),(2,(2,(10,7))),(3,(2,(2,12)))])),(79,Right (2,array (0,3) [(0,(2,(12,2))),(1,(2,(5,11))),(2,(2,(11,5))),(3,(2,(1,12)))])),(80,Right (2,array (0,3) [(0,(2,(8,9))),(1,(2,(9,8))),(2,(2,(12,1))),(3,(2,(4,11)))])),(81,Right (3,array (0,7) [(0,(3,(12,0))),(1,(3,(0,11))),(2,(2,(3,11))),(3,(2,(3,11))),(4,(3,(11,0))),(5,(3,(0,10))),(6,(2,(1,10))),(7,(2,(1,10)))])),(82,Right (2,array (0,3) [(0,(1,(11,4))),(1,(1,(11,4))),(2,(2,(6,10))),(3,(2,(10,6)))])),(83,Right (3,array (0,7) [(0,(2,(7,9))),(1,(2,(7,9))),(2,(2,(9,7))),(3,(2,(9,7))),(4,(3,(10,0))),(5,(3,(0,9))),(6,(2,(9,0))),(7,(2,(9,0)))])),(84,Right (1,array (0,1) [(0,(1,(11,3))),(1,(1,(8,8)))])),(85,Right (2,array (0,3) [(0,(2,(2,11))),(1,(2,(5,10))),(2,(1,(11,2))),(3,(1,(11,2)))])),(86,Right (2,array (0,3) [(0,(2,(10,5))),(1,(2,(1,11))),(2,(2,(11,1))),(3,(2,(6,9)))])),(87,Right (1,array (0,1) [(0,(1,(9,6))),(1,(1,(10,4)))])),(88,Right (2,array (0,3) [(0,(2,(4,10))),(1,(2,(7,8))),(2,(1,(8,7))),(3,(1,(8,7)))])),(89,Right (1,array (0,1) [(0,(1,(3,10))),(1,(1,(10,3)))])),(90,Right (1,array (0,1) [(0,(1,(5,9))),(1,(1,(9,5)))])),(91,Right (1,array (0,1) [(0,(1,(2,10))),(1,(1,(10,2)))])),(92,Right (1,array (0,1) [(0,(1,(10,1))),(1,(1,(6,8)))])),(93,Right (1,array (0,1) [(0,(1,(8,6))),(1,(1,(7,7)))])),(94,Right (1,array (0,1) [(0,(1,(4,9))),(1,(1,(9,4)))])),(95,Right (1,array (0,1) [(0,(1,(3,9))),(1,(1,(9,3)))])),(96,Right (1,array (0,1) [(0,(1,(5,8))),(1,(1,(8,5)))])),(97,Right (1,array (0,1) [(0,(1,(2,9))),(1,(1,(6,7)))])),(98,Right (1,array (0,1) [(0,(1,(7,6))),(1,(1,(9,2)))])),(99,Right (1,array (0,1) [(0,(1,(1,9))),(1,(1,(9,1)))])),(100,Right (1,array (0,1) [(0,(1,(4,8))),(1,(1,(8,4)))])),(101,Right (1,array (0,1) [(0,(1,(5,7))),(1,(1,(7,5)))])),(102,Right (1,array (0,1) [(0,(1,(3,8))),(1,(1,(8,3)))])),(103,Right (1,array (0,1) [(0,(1,(6,6))),(1,(1,(2,8)))])),(104,Right (1,array (0,1) [(0,(1,(8,2))),(1,(1,(1,8)))])),(105,Right (1,array (0,1) [(0,(1,(4,7))),(1,(1,(7,4)))])),(106,Right (2,array (0,3) [(0,(1,(8,1))),(1,(1,(8,1))),(2,(2,(0,8))),(3,(2,(8,0)))])),(107,Right (1,array (0,1) [(0,(1,(5,6))),(1,(1,(6,5)))])),(108,Right (2,array (0,3) [(0,(1,(1,7))),(1,(1,(1,7))),(2,(2,(0,7))),(3,(2,(7,0)))])),(109,Left (8,(7,3))),(110,Right (1,array (0,1) [(0,(1,(3,7))),(1,(1,(2,7)))])),(111,Left (8,(7,2))),(112,Left (8,(4,6))),(113,Left (8,(6,4))),(114,Left (8,(5,5))),(115,Left (8,(7,1))),(116,Left (8,(3,6))),(117,Left (8,(6,3))),(118,Left (8,(4,5))),(119,Left (8,(5,4))),(120,Left (8,(2,6))),(121,Left (8,(6,2))),(122,Left (8,(1,6))),(123,Left (8,(6,1))),(124,Right (1,array (0,1) [(0,(1,(0,6))),(1,(1,(6,0)))])),(125,Left (8,(3,5))),(126,Left (8,(5,3))),(127,Left (8,(4,4))),(128,Left (8,(2,5))),(129,Left (8,(5,2))),(130,Left (8,(1,5))),(131,Right (1,array (0,1) [(0,(1,(0,5))),(1,(1,(5,0)))])),(132,Left (7,(5,1))),(133,Left (7,(5,1))),(134,Left (8,(3,4))),(135,Left (8,(4,3))),(136,Left (7,(2,4))),(137,Left (7,(2,4))),(138,Left (7,(4,2))),(139,Left (7,(4,2))),(140,Left (7,(3,3))),(141,Left (7,(3,3))),(142,Left (7,(1,4))),(143,Left (7,(1,4))),(144,Left (7,(4,1))),(145,Left (7,(4,1))),(146,Left (8,(0,4))),(147,Left (8,(4,0))),(148,Left (7,(2,3))),(149,Left (7,(2,3))),(150,Left (7,(3,2))),(151,Left (7,(3,2))),(152,Left (6,(1,3))),(153,Left (6,(1,3))),(154,Left (6,(1,3))),(155,Left (6,(1,3))),(156,Left (6,(3,1))),(157,Left (6,(3,1))),(158,Left (6,(3,1))),(159,Left (6,(3,1))),(160,Left (7,(0,3))),(161,Left (7,(0,3))),(162,Left (7,(3,0))),(163,Left (7,(3,0))),(164,Left (6,(2,2))),(165,Left (6,(2,2))),(166,Left (6,(2,2))),(167,Left (6,(2,2))),(168,Left (5,(1,2))),(169,Left (5,(1,2))),(170,Left (5,(1,2))),(171,Left (5,(1,2))),(172,Left (5,(1,2))),(173,Left (5,(1,2))),(174,Left (5,(1,2))),(175,Left (5,(1,2))),(176,Left (5,(2,1))),(177,Left (5,(2,1))),(178,Left (5,(2,1))),(179,Left (5,(2,1))),(180,Left (5,(2,1))),(181,Left (5,(2,1))),(182,Left (5,(2,1))),(183,Left (5,(2,1))),(184,Left (6,(0,2))),(185,Left (6,(0,2))),(186,Left (6,(0,2))),(187,Left (6,(0,2))),(188,Left (6,(2,0))),(189,Left (6,(2,0))),(190,Left (6,(2,0))),(191,Left (6,(2,0))),(192,Left (4,(1,1))),(193,Left (4,(1,1))),(194,Left (4,(1,1))),(195,Left (4,(1,1))),(196,Left (4,(1,1))),(197,Left (4,(1,1))),(198,Left (4,(1,1))),(199,Left (4,(1,1))),(200,Left (4,(1,1))),(201,Left (4,(1,1))),(202,Left (4,(1,1))),(203,Left (4,(1,1))),(204,Left (4,(1,1))),(205,Left (4,(1,1))),(206,Left (4,(1,1))),(207,Left (4,(1,1))),(208,Left (4,(0,1))),(209,Left (4,(0,1))),(210,Left (4,(0,1))),(211,Left (4,(0,1))),(212,Left (4,(0,1))),(213,Left (4,(0,1))),(214,Left (4,(0,1))),(215,Left (4,(0,1))),(216,Left (4,(0,1))),(217,Left (4,(0,1))),(218,Left (4,(0,1))),(219,Left (4,(0,1))),(220,Left (4,(0,1))),(221,Left (4,(0,1))),(222,Left (4,(0,1))),(223,Left (4,(0,1))),(224,Left (4,(1,0))),(225,Left (4,(1,0))),(226,Left (4,(1,0))),(227,Left (4,(1,0))),(228,Left (4,(1,0))),(229,Left (4,(1,0))),(230,Left (4,(1,0))),(231,Left (4,(1,0))),(232,Left (4,(1,0))),(233,Left (4,(1,0))),(234,Left (4,(1,0))),(235,Left (4,(1,0))),(236,Left (4,(1,0))),(237,Left (4,(1,0))),(238,Left (4,(1,0))),(239,Left (4,(1,0))),(240,Left (4,(0,0))),(241,Left (4,(0,0))),(242,Left (4,(0,0))),(243,Left (4,(0,0))),(244,Left (4,(0,0))),(245,Left (4,(0,0))),(246,Left (4,(0,0))),(247,Left (4,(0,0))),(248,Left (4,(0,0))),(249,Left (4,(0,0))),(250,Left (4,(0,0))),(251,Left (4,(0,0))),(252,Left (4,(0,0))),(253,Left (4,(0,0))),(254,Left (4,(0,0))),(255,Left (4,(0,0)))])