#include "pch.h" const struct _TOKEN Lhs[RULES_COUNT]= { {NON_TERMINAL, "S"}, {NON_TERMINAL, "S"}, {NON_TERMINAL, "S"}, {NON_TERMINAL, "STATEMENT"}, {NON_TERMINAL, "STATEMENT"}, {NON_TERMINAL, "STATEMENT"}, {NON_TERMINAL, "STATEMENT"}, {NON_TERMINAL, "STATEMENT"}, {NON_TERMINAL, "STATEMENT"}, {NON_TERMINAL, "STATEMENT"}, {NON_TERMINAL, "STATEMENT"}, {NON_TERMINAL, "ASSIGNMENT_STATEMENT"}, {NON_TERMINAL, "ASSIGNMENT_STATEMENT'"}, {NON_TERMINAL, "ASSIGNMENT_STATEMENT'"}, {NON_TERMINAL, "ASSIGNMENT_STATEMENT'"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "CALL_FUNC_STATEMENT"}, {NON_TERMINAL, "VA"}, {NON_TERMINAL, "VA"}, {NON_TERMINAL, "IF_STATEMENT"}, {NON_TERMINAL, "ELSIF_STATEMENT"}, {NON_TERMINAL, "ELSIF_STATEMENT"}, {NON_TERMINAL, "ELSIF_STATEMENT'"}, {NON_TERMINAL, "ELSE_STATEMENT"}, {NON_TERMINAL, "ELSE_STATEMENT"}, {NON_TERMINAL, "END_OF_IF"}, {NON_TERMINAL, "WHILE_STATEMENT"}, {NON_TERMINAL, "DO_WHILE_STATEMENT"}, {NON_TERMINAL, "FOR_STATEMENT"}, {NON_TERMINAL, "SIMPLE_ASSIGNMENT"}, {NON_TERMINAL, "SIMPLE_ASSIGNMENT"}, {NON_TERMINAL, "SIMPLE_ASSIGNMENT'"}, {NON_TERMINAL, "INC_DEC"}, {NON_TERMINAL, "INC_DEC'"}, {NON_TERMINAL, "INC_DEC'"}, {NON_TERMINAL, "INC_DEC'"}, {NON_TERMINAL, "INC_DEC'"}, {NON_TERMINAL, "BOOLEAN_EXPRESSION"}, {NON_TERMINAL, "EXPRESSION"}, {NON_TERMINAL, "E0'"}, {NON_TERMINAL, "E0'"}, {NON_TERMINAL, "E1"}, {NON_TERMINAL, "E1'"}, {NON_TERMINAL, "E1'"}, {NON_TERMINAL, "E2"}, {NON_TERMINAL, "E2'"}, {NON_TERMINAL, "E2'"}, {NON_TERMINAL, "E3"}, {NON_TERMINAL, "E3'"}, {NON_TERMINAL, "E3'"}, {NON_TERMINAL, "E3'"}, {NON_TERMINAL, "E4"}, {NON_TERMINAL, "E4'"}, {NON_TERMINAL, "E4'"}, {NON_TERMINAL, "E4'"}, {NON_TERMINAL, "E5"}, {NON_TERMINAL, "E5'"}, {NON_TERMINAL, "E5'"}, {NON_TERMINAL, "E5'"}, {NON_TERMINAL, "E5'"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "STRING"}, {NON_TERMINAL, "L_VALUE"}, {NON_TERMINAL, "L_VALUE"}, {NON_TERMINAL, "L_VALUE"} }; const struct _TOKEN Rhs[RULES_COUNT][MAX_RHS_LEN]= { {{NON_TERMINAL, "STATEMENT"},{NON_TERMINAL, "S"}}, {{SPECIAL_TOKEN, "{"},{NON_TERMINAL, "STATEMENT"},{NON_TERMINAL, "S"},{SPECIAL_TOKEN, "}"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "IF_STATEMENT"}}, {{NON_TERMINAL, "WHILE_STATEMENT"}}, {{NON_TERMINAL, "DO_WHILE_STATEMENT"}}, {{NON_TERMINAL, "FOR_STATEMENT"}}, {{NON_TERMINAL, "ASSIGNMENT_STATEMENT"},{SPECIAL_TOKEN, ";"}}, {{NON_TERMINAL, "CALL_FUNC_STATEMENT"},{SPECIAL_TOKEN, ";"}}, {{KEYWORD, "break"},{SEMANTIC_RULE, "@BREAK"},{SPECIAL_TOKEN, ";"}}, {{KEYWORD, "continue"},{SEMANTIC_RULE, "@CONTINUE"},{SPECIAL_TOKEN, ";"}}, {{NON_TERMINAL, "L_VALUE"},{NON_TERMINAL, "ASSIGNMENT_STATEMENT'"}}, {{SPECIAL_TOKEN, "++"},{SEMANTIC_RULE, "@INC"}}, {{SPECIAL_TOKEN, "--"},{SEMANTIC_RULE, "@DEC"}}, {{SPECIAL_TOKEN, "="},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@MOV"}}, {{KEYWORD, "print"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@PRINT"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "formats"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@FORMATS"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "disable_event"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DISABLE_EVENT"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "enable_event"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@ENABLE_EVENT"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "test_statement"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@TEST_STATEMENT"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "spinlock_lock"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@SPINLOCK_LOCK"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "spinlock_unlock"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@SPINLOCK_UNLOCK"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "printf"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "STRING"},{SEMANTIC_RULE, "@VARGSTART"},{NON_TERMINAL, "VA"},{SEMANTIC_RULE, "@PRINTF"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "pause"},{SPECIAL_TOKEN, "("},{SEMANTIC_RULE, "@PAUSE"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "spinlock_lock_custom_wait"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@SPINLOCK_LOCK_CUSTOM_WAIT"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "poi"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@POI"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "db"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DB"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "dd"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DD"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "dw"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DW"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "dq"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DQ"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "neg"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@NEG"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "hi"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@HI"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "low"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@LOW"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "not"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@NOT"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "check_address"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@CHECK_ADDRESS"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "strlen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@STRLEN"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "wcslen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@WCSLEN"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "interlocked_increment"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_INCREMENT"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "interlocked_decrement"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_DECREMENT"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "reference"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@REFERENCE"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "physical_to_virtual"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@PHYSICAL_TO_VIRTUAL"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "virtual_to_physical"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@VIRTUAL_TO_PHYSICAL"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "ed"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@ED"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "eb"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EB"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "eq"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EQ"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "interlocked_exchange"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "interlocked_exchange_add"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE_ADD"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{KEYWORD, "interlocked_compare_exchange"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_COMPARE_EXCHANGE"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}}, {{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{NON_TERMINAL, "VA"}}, {{EPSILON, "eps"}}, {{KEYWORD, "if"},{SEMANTIC_RULE, "@START_OF_IF"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "BOOLEAN_EXPRESSION"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@JZ"},{SPECIAL_TOKEN, "{"},{NON_TERMINAL, "S"},{SPECIAL_TOKEN, "}"},{NON_TERMINAL, "ELSIF_STATEMENT"},{NON_TERMINAL, "ELSE_STATEMENT"},{SEMANTIC_RULE, "@END_OF_IF"},{NON_TERMINAL, "END_OF_IF"}}, {{KEYWORD, "elsif"},{SEMANTIC_RULE, "@JMP_TO_END_AND_JZCOMPLETED"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "BOOLEAN_EXPRESSION"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@JZ"},{SPECIAL_TOKEN, "{"},{NON_TERMINAL, "S"},{SPECIAL_TOKEN, "}"},{NON_TERMINAL, "ELSIF_STATEMENT"}}, {{SEMANTIC_RULE, "@JMP_TO_END_AND_JZCOMPLETED"},{NON_TERMINAL, "ELSIF_STATEMENT'"}}, {{EPSILON, "eps"}}, {{KEYWORD, "else"},{SPECIAL_TOKEN, "{"},{NON_TERMINAL, "S"},{SPECIAL_TOKEN, "}"}}, {{EPSILON, "eps"}}, {{EPSILON, "eps"}}, {{KEYWORD, "while"},{SEMANTIC_RULE, "@START_OF_WHILE"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "BOOLEAN_EXPRESSION"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@START_OF_WHILE_COMMANDS"},{SPECIAL_TOKEN, "{"},{NON_TERMINAL, "S"},{SEMANTIC_RULE, "@END_OF_WHILE"},{SPECIAL_TOKEN, "}"}}, {{KEYWORD, "do"},{SEMANTIC_RULE, "@START_OF_DO_WHILE"},{SPECIAL_TOKEN, "{"},{NON_TERMINAL, "S"},{SPECIAL_TOKEN, "}"},{KEYWORD, "while"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "BOOLEAN_EXPRESSION"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@END_OF_DO_WHILE"},{SPECIAL_TOKEN, ";"}}, {{KEYWORD, "for"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "SIMPLE_ASSIGNMENT"},{SPECIAL_TOKEN, ";"},{SEMANTIC_RULE, "@START_OF_FOR"},{NON_TERMINAL, "BOOLEAN_EXPRESSION"},{SPECIAL_TOKEN, ";"},{SEMANTIC_RULE, "@FOR_INC_DEC"},{NON_TERMINAL, "INC_DEC"},{SPECIAL_TOKEN, ")"},{SPECIAL_TOKEN, "{"},{SEMANTIC_RULE, "@START_OF_FOR_COMMANDS"},{NON_TERMINAL, "S"},{SEMANTIC_RULE, "@END_OF_FOR"},{SPECIAL_TOKEN, "}"}}, {{NON_TERMINAL, "L_VALUE"},{SPECIAL_TOKEN, "="},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@MOV"},{NON_TERMINAL, "SIMPLE_ASSIGNMENT'"}}, {{EPSILON, "eps"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "L_VALUE"},{NON_TERMINAL, "INC_DEC'"}}, {{SPECIAL_TOKEN, "++"},{SEMANTIC_RULE, "@INC"}}, {{SPECIAL_TOKEN, "--"},{SEMANTIC_RULE, "@DEC"}}, {{SPECIAL_TOKEN, "="},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@MOV"},{NON_TERMINAL, "SIMPLE_ASSIGNMENT'"}}, {{EPSILON, "eps"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "E1"},{NON_TERMINAL, "E0'"}}, {{SPECIAL_TOKEN, "|"},{NON_TERMINAL, "E1"},{SEMANTIC_RULE, "@OR"},{NON_TERMINAL, "E0'"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "E2"},{NON_TERMINAL, "E1'"}}, {{SPECIAL_TOKEN, "^"},{NON_TERMINAL, "E2"},{SEMANTIC_RULE, "@XOR"},{NON_TERMINAL, "E1'"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "E3"},{NON_TERMINAL, "E2'"}}, {{SPECIAL_TOKEN, "&"},{NON_TERMINAL, "E3"},{SEMANTIC_RULE, "@AND"},{NON_TERMINAL, "E2'"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "E4"},{NON_TERMINAL, "E3'"}}, {{SPECIAL_TOKEN, ">>"},{NON_TERMINAL, "E4"},{SEMANTIC_RULE, "@ASR"},{NON_TERMINAL, "E3'"}}, {{SPECIAL_TOKEN, "<<"},{NON_TERMINAL, "E4"},{SEMANTIC_RULE, "@ASL"},{NON_TERMINAL, "E3'"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "E5"},{NON_TERMINAL, "E4'"}}, {{SPECIAL_TOKEN, "+"},{NON_TERMINAL, "E5"},{SEMANTIC_RULE, "@ADD"},{NON_TERMINAL, "E4'"}}, {{SPECIAL_TOKEN, "-"},{NON_TERMINAL, "E5"},{SEMANTIC_RULE, "@SUB"},{NON_TERMINAL, "E4'"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "E12"},{NON_TERMINAL, "E5'"}}, {{SPECIAL_TOKEN, "/"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@DIV"},{NON_TERMINAL, "E5'"}}, {{SPECIAL_TOKEN, "%"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@MOD"},{NON_TERMINAL, "E5'"}}, {{SPECIAL_TOKEN, "*"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@MUL"},{NON_TERMINAL, "E5'"}}, {{EPSILON, "eps"}}, {{KEYWORD, "poi"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@POI"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "db"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DB"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "dd"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DD"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "dw"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DW"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "dq"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DQ"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "neg"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@NEG"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "hi"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@HI"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "low"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@LOW"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "not"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@NOT"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "check_address"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@CHECK_ADDRESS"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "strlen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@STRLEN"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "wcslen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@WCSLEN"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "interlocked_increment"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_INCREMENT"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "interlocked_decrement"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_DECREMENT"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "reference"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@REFERENCE"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "physical_to_virtual"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@PHYSICAL_TO_VIRTUAL"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "virtual_to_physical"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@VIRTUAL_TO_PHYSICAL"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "ed"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@ED"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "eb"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EB"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "eq"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EQ"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "interlocked_exchange"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "interlocked_exchange_add"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE_ADD"},{SPECIAL_TOKEN, ")"}}, {{KEYWORD, "interlocked_compare_exchange"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@INTERLOCKED_COMPARE_EXCHANGE"},{SPECIAL_TOKEN, ")"}}, {{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ")"}}, {{SEMANTIC_RULE, "@PUSH"},{REGISTER, "_register"}}, {{SEMANTIC_RULE, "@PUSH"},{LOCAL_ID, "_local_id"}}, {{SEMANTIC_RULE, "@PUSH"},{GLOBAL_ID, "_global_id"}}, {{SEMANTIC_RULE, "@PUSH"},{HEX, "_hex"}}, {{SEMANTIC_RULE, "@PUSH"},{DECIMAL, "_decimal"}}, {{SEMANTIC_RULE, "@PUSH"},{OCTAL, "_octal"}}, {{SEMANTIC_RULE, "@PUSH"},{BINARY, "_binary"}}, {{SEMANTIC_RULE, "@PUSH"},{PSEUDO_REGISTER, "_pseudo_register"}}, {{SPECIAL_TOKEN, "-"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@NEG"}}, {{SPECIAL_TOKEN, "+"},{NON_TERMINAL, "E12"}}, {{SPECIAL_TOKEN, "~"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@NOT"}}, {{SPECIAL_TOKEN, "*"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@POI"}}, {{SPECIAL_TOKEN, "&"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@REFERENCE"}}, {{SEMANTIC_RULE, "@PUSH"},{STRING, "_string"}}, {{SEMANTIC_RULE, "@PUSH"},{GLOBAL_ID, "_global_id"}}, {{SEMANTIC_RULE, "@PUSH"},{LOCAL_ID, "_local_id"}}, {{SEMANTIC_RULE, "@PUSH"},{REGISTER, "_register"}} }; const unsigned int RhsSize[RULES_COUNT]= { 2, 4, 1, 1, 1, 1, 1, 2, 2, 3, 3, 2, 2, 2, 3, 5, 5, 5, 5, 5, 5, 5, 7, 4, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 10, 3, 1, 13, 10, 2, 1, 4, 1, 1, 10, 11, 15, 5, 1, 1, 2, 2, 2, 4, 1, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 4, 1, 2, 4, 4, 1, 2, 4, 4, 4, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 9, 3, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 3, 3, 3, 2, 2, 2, 2 }; const char* NoneTerminalMap[NONETERMINAL_COUNT]= { "WHILE_STATEMENT", "STRING", "E3'", "L_VALUE", "DO_WHILE_STATEMENT", "ASSIGNMENT_STATEMENT'", "E1'", "ELSIF_STATEMENT", "CALL_FUNC_STATEMENT", "IF_STATEMENT", "E3", "E4", "VA", "ELSIF_STATEMENT'", "E5", "STATEMENT", "E2'", "INC_DEC'", "E5'", "E2", "E4'", "E12", "INC_DEC", "ELSE_STATEMENT", "E0'", "S", "EXPRESSION", "E1", "END_OF_IF", "SIMPLE_ASSIGNMENT'", "SIMPLE_ASSIGNMENT", "FOR_STATEMENT", "ASSIGNMENT_STATEMENT", "BOOLEAN_EXPRESSION" }; const char* TerminalMap[TERMINAL_COUNT]= { "eb", ")", "interlocked_compare_exchange", "_binary", "-", "interlocked_increment", "formats", "virtual_to_physical", "else", "++", "spinlock_lock_custom_wait", "_local_id", ";", "do", "_register", "$", "poi", "dq", "%", "dw", "_string", "--", "check_address", "for", "break", "/", "(", "=", "print", "printf", "hi", "*", "<<", "_hex", "wcslen", "&", "_pseudo_register", "dd", "neg", "eq", "if", "elsif", "enable_event", "disable_event", "continue", "not", "_decimal", "low", "while", "_global_id", "}", "pause", "_octal", ",", "interlocked_decrement", "reference", ">>", "{", "physical_to_virtual", "ed", "test_statement", "spinlock_lock", "interlocked_exchange_add", "|", "strlen", "~", "+", "^", "interlocked_exchange", "spinlock_unlock", "db" }; const int ParseTable[NONETERMINAL_COUNT][TERMINAL_COUNT]= { {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,57 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,128 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,81 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,81 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,80 ,-999 ,-999 ,81 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,81 ,-999 ,-999 ,79 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,81 ,-999 ,-999 ,-999 ,81 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,130 ,-999 ,-999 ,131 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,129 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,58 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,13 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,74 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,74 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,74 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,74 ,-999 ,-999 ,-999 ,73 ,-999 ,-999 ,-999 }, {52 ,-999 ,52 ,-999 ,-999 ,52 ,52 ,52 ,52 ,-999 ,52 ,52 ,-999 ,52 ,52 ,52 ,52 ,52 ,-999 ,52 ,-999 ,-999 ,52 ,52 ,52 ,-999 ,-999 ,-999 ,52 ,52 ,52 ,-999 ,-999 ,-999 ,52 ,-999 ,-999 ,52 ,52 ,52 ,52 ,51 ,52 ,52 ,52 ,52 ,-999 ,52 ,52 ,52 ,52 ,52 ,-999 ,-999 ,52 ,52 ,-999 ,52 ,52 ,52 ,52 ,52 ,52 ,-999 ,52 ,-999 ,-999 ,-999 ,52 ,52 ,52 }, {43 ,-999 ,47 ,-999 ,-999 ,37 ,16 ,41 ,-999 ,-999 ,24 ,-999 ,-999 ,-999 ,-999 ,-999 ,25 ,29 ,-999 ,28 ,-999 ,-999 ,34 ,-999 ,-999 ,-999 ,-999 ,-999 ,15 ,22 ,31 ,-999 ,-999 ,-999 ,36 ,-999 ,-999 ,27 ,30 ,44 ,-999 ,-999 ,18 ,17 ,-999 ,33 ,-999 ,32 ,-999 ,-999 ,-999 ,23 ,-999 ,-999 ,38 ,39 ,-999 ,-999 ,40 ,42 ,19 ,20 ,46 ,-999 ,35 ,-999 ,-999 ,-999 ,45 ,21 ,26 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,50 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {78 ,-999 ,78 ,78 ,78 ,78 ,-999 ,78 ,-999 ,-999 ,-999 ,78 ,-999 ,-999 ,78 ,-999 ,78 ,78 ,-999 ,78 ,-999 ,-999 ,78 ,-999 ,-999 ,-999 ,78 ,-999 ,-999 ,-999 ,78 ,78 ,-999 ,78 ,78 ,78 ,78 ,78 ,78 ,78 ,-999 ,-999 ,-999 ,-999 ,-999 ,78 ,78 ,78 ,-999 ,78 ,-999 ,-999 ,78 ,-999 ,78 ,78 ,-999 ,-999 ,78 ,78 ,-999 ,-999 ,78 ,-999 ,78 ,78 ,78 ,-999 ,78 ,-999 ,78 }, {82 ,-999 ,82 ,82 ,82 ,82 ,-999 ,82 ,-999 ,-999 ,-999 ,82 ,-999 ,-999 ,82 ,-999 ,82 ,82 ,-999 ,82 ,-999 ,-999 ,82 ,-999 ,-999 ,-999 ,82 ,-999 ,-999 ,-999 ,82 ,82 ,-999 ,82 ,82 ,82 ,82 ,82 ,82 ,82 ,-999 ,-999 ,-999 ,-999 ,-999 ,82 ,82 ,82 ,-999 ,82 ,-999 ,-999 ,82 ,-999 ,82 ,82 ,-999 ,-999 ,82 ,82 ,-999 ,-999 ,82 ,-999 ,82 ,82 ,82 ,-999 ,82 ,-999 ,82 }, {-999 ,49 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,48 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {53 ,-999 ,53 ,-999 ,-999 ,53 ,53 ,53 ,53 ,-999 ,53 ,53 ,-999 ,53 ,53 ,53 ,53 ,53 ,-999 ,53 ,-999 ,-999 ,53 ,53 ,53 ,-999 ,-999 ,-999 ,53 ,53 ,53 ,-999 ,-999 ,-999 ,53 ,-999 ,-999 ,53 ,53 ,53 ,53 ,-999 ,53 ,53 ,53 ,53 ,-999 ,53 ,53 ,53 ,53 ,53 ,-999 ,-999 ,53 ,53 ,-999 ,53 ,53 ,53 ,53 ,53 ,53 ,-999 ,53 ,-999 ,-999 ,-999 ,53 ,53 ,53 }, {86 ,-999 ,86 ,86 ,86 ,86 ,-999 ,86 ,-999 ,-999 ,-999 ,86 ,-999 ,-999 ,86 ,-999 ,86 ,86 ,-999 ,86 ,-999 ,-999 ,86 ,-999 ,-999 ,-999 ,86 ,-999 ,-999 ,-999 ,86 ,86 ,-999 ,86 ,86 ,86 ,86 ,86 ,86 ,86 ,-999 ,-999 ,-999 ,-999 ,-999 ,86 ,86 ,86 ,-999 ,86 ,-999 ,-999 ,86 ,-999 ,86 ,86 ,-999 ,-999 ,86 ,86 ,-999 ,-999 ,86 ,-999 ,86 ,86 ,86 ,-999 ,86 ,-999 ,86 }, {8 ,-999 ,8 ,-999 ,-999 ,8 ,8 ,8 ,-999 ,-999 ,8 ,7 ,-999 ,5 ,7 ,-999 ,8 ,8 ,-999 ,8 ,-999 ,-999 ,8 ,6 ,9 ,-999 ,-999 ,-999 ,8 ,8 ,8 ,-999 ,-999 ,-999 ,8 ,-999 ,-999 ,8 ,8 ,8 ,3 ,-999 ,8 ,8 ,10 ,8 ,-999 ,8 ,4 ,7 ,-999 ,8 ,-999 ,-999 ,8 ,8 ,-999 ,-999 ,8 ,8 ,8 ,8 ,8 ,-999 ,8 ,-999 ,-999 ,-999 ,8 ,8 ,8 }, {-999 ,77 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,77 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,76 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,77 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,77 ,-999 ,-999 ,-999 ,77 ,-999 ,-999 ,-999 }, {-999 ,67 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,64 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,65 ,-999 ,-999 ,-999 ,-999 ,-999 ,66 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,90 ,-999 ,-999 ,90 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,90 ,-999 ,-999 ,-999 ,-999 ,-999 ,88 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,87 ,-999 ,-999 ,-999 ,-999 ,-999 ,89 ,90 ,-999 ,-999 ,90 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,90 ,-999 ,-999 ,90 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,90 ,-999 ,-999 ,90 ,90 ,-999 ,-999 ,-999 }, {75 ,-999 ,75 ,75 ,75 ,75 ,-999 ,75 ,-999 ,-999 ,-999 ,75 ,-999 ,-999 ,75 ,-999 ,75 ,75 ,-999 ,75 ,-999 ,-999 ,75 ,-999 ,-999 ,-999 ,75 ,-999 ,-999 ,-999 ,75 ,75 ,-999 ,75 ,75 ,75 ,75 ,75 ,75 ,75 ,-999 ,-999 ,-999 ,-999 ,-999 ,75 ,75 ,75 ,-999 ,75 ,-999 ,-999 ,75 ,-999 ,75 ,75 ,-999 ,-999 ,75 ,75 ,-999 ,-999 ,75 ,-999 ,75 ,75 ,75 ,-999 ,75 ,-999 ,75 }, {-999 ,85 ,-999 ,-999 ,84 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,85 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,85 ,-999 ,-999 ,85 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,85 ,-999 ,-999 ,85 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,85 ,-999 ,-999 ,83 ,85 ,-999 ,-999 ,-999 }, {109 ,-999 ,113 ,121 ,123 ,103 ,-999 ,107 ,-999 ,-999 ,-999 ,116 ,-999 ,-999 ,115 ,-999 ,91 ,95 ,-999 ,94 ,-999 ,-999 ,100 ,-999 ,-999 ,-999 ,114 ,-999 ,-999 ,-999 ,97 ,126 ,-999 ,118 ,102 ,127 ,122 ,93 ,96 ,110 ,-999 ,-999 ,-999 ,-999 ,-999 ,99 ,119 ,98 ,-999 ,117 ,-999 ,-999 ,120 ,-999 ,104 ,105 ,-999 ,-999 ,106 ,108 ,-999 ,-999 ,112 ,-999 ,101 ,125 ,124 ,-999 ,111 ,-999 ,92 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,63 ,-999 ,-999 ,63 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,63 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {55 ,-999 ,55 ,-999 ,-999 ,55 ,55 ,55 ,54 ,-999 ,55 ,55 ,-999 ,55 ,55 ,55 ,55 ,55 ,-999 ,55 ,-999 ,-999 ,55 ,55 ,55 ,-999 ,-999 ,-999 ,55 ,55 ,55 ,-999 ,-999 ,-999 ,55 ,-999 ,-999 ,55 ,55 ,55 ,55 ,-999 ,55 ,55 ,55 ,55 ,-999 ,55 ,55 ,55 ,55 ,55 ,-999 ,-999 ,55 ,55 ,-999 ,55 ,55 ,55 ,55 ,55 ,55 ,-999 ,55 ,-999 ,-999 ,-999 ,55 ,55 ,55 }, {-999 ,71 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,71 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,71 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,70 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {0 ,-999 ,0 ,-999 ,-999 ,0 ,0 ,0 ,-999 ,-999 ,0 ,0 ,-999 ,0 ,0 ,2 ,0 ,0 ,-999 ,0 ,-999 ,-999 ,0 ,0 ,0 ,-999 ,-999 ,-999 ,0 ,0 ,0 ,-999 ,-999 ,-999 ,0 ,-999 ,-999 ,0 ,0 ,0 ,0 ,-999 ,0 ,0 ,0 ,0 ,-999 ,0 ,0 ,0 ,2 ,0 ,-999 ,-999 ,0 ,0 ,-999 ,1 ,0 ,0 ,0 ,0 ,0 ,-999 ,0 ,-999 ,-999 ,-999 ,0 ,0 ,0 }, {69 ,-999 ,69 ,69 ,69 ,69 ,-999 ,69 ,-999 ,-999 ,-999 ,69 ,-999 ,-999 ,69 ,-999 ,69 ,69 ,-999 ,69 ,-999 ,-999 ,69 ,-999 ,-999 ,-999 ,69 ,-999 ,-999 ,-999 ,69 ,69 ,-999 ,69 ,69 ,69 ,69 ,69 ,69 ,69 ,-999 ,-999 ,-999 ,-999 ,-999 ,69 ,69 ,69 ,-999 ,69 ,-999 ,-999 ,69 ,-999 ,69 ,69 ,-999 ,-999 ,69 ,69 ,-999 ,-999 ,69 ,-999 ,69 ,69 ,69 ,-999 ,69 ,-999 ,69 }, {72 ,-999 ,72 ,72 ,72 ,72 ,-999 ,72 ,-999 ,-999 ,-999 ,72 ,-999 ,-999 ,72 ,-999 ,72 ,72 ,-999 ,72 ,-999 ,-999 ,72 ,-999 ,-999 ,-999 ,72 ,-999 ,-999 ,-999 ,72 ,72 ,-999 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,-999 ,-999 ,-999 ,-999 ,-999 ,72 ,72 ,72 ,-999 ,72 ,-999 ,-999 ,72 ,-999 ,72 ,72 ,-999 ,-999 ,72 ,72 ,-999 ,-999 ,72 ,-999 ,72 ,72 ,72 ,-999 ,72 ,-999 ,72 }, {56 ,-999 ,56 ,-999 ,-999 ,56 ,56 ,56 ,-999 ,-999 ,56 ,56 ,-999 ,56 ,56 ,56 ,56 ,56 ,-999 ,56 ,-999 ,-999 ,56 ,56 ,56 ,-999 ,-999 ,-999 ,56 ,56 ,56 ,-999 ,-999 ,-999 ,56 ,-999 ,-999 ,56 ,56 ,56 ,56 ,-999 ,56 ,56 ,56 ,56 ,-999 ,56 ,56 ,56 ,56 ,56 ,-999 ,-999 ,56 ,56 ,-999 ,56 ,56 ,56 ,56 ,56 ,56 ,-999 ,56 ,-999 ,-999 ,-999 ,56 ,56 ,56 }, {-999 ,62 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,62 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,60 ,61 ,-999 ,60 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,60 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,59 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,11 ,-999 ,-999 ,11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,68 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,68 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 } }; const char* KeywordList[]= { "print", "formats", "disable_event", "enable_event", "test_statement", "spinlock_lock", "spinlock_unlock", "printf", "pause", "spinlock_lock_custom_wait", "poi", "db", "dd", "dw", "dq", "neg", "hi", "low", "not", "check_address", "strlen", "wcslen", "interlocked_increment", "interlocked_decrement", "reference", "physical_to_virtual", "virtual_to_physical", "ed", "eb", "eq", "interlocked_exchange", "interlocked_exchange_add", "interlocked_compare_exchange", "poi", "db", "dd", "dw", "dq", "neg", "hi", "low", "not", "check_address", "strlen", "wcslen", "interlocked_increment", "interlocked_decrement", "reference", "physical_to_virtual", "virtual_to_physical", "ed", "eb", "eq", "interlocked_exchange", "interlocked_exchange_add", "interlocked_compare_exchange" }; const char* OperatorsTwoOperandList[]= { "@OR", "@XOR", "@AND", "@ASR", "@ASL", "@ADD", "@SUB", "@MUL", "@DIV", "@MOD", "@GT", "@LT", "@EGT", "@ELT", "@EQUAL", "@NEQ" }; const char* OperatorsOneOperandList[]= { "@INC", "@DEC", "@REFERENCE", "@DEREFERENCE" }; const char* ThreeOpFunc1[] = { "@INTERLOCKED_COMPARE_EXCHANGE" }; const char* TwoOpFunc1[] = { "@ED", "@EB", "@EQ", "@INTERLOCKED_EXCHANGE", "@INTERLOCKED_EXCHANGE_ADD", }; const char* TwoOpFunc2[] = { "@SPINLOCK_LOCK_CUSTOM_WAIT" }; const char* OneOpFunc1[] = { "@POI", "@DB", "@DD", "@DW", "@DQ", "@NEG", "@HI", "@LOW", "@NOT", "@CHECK_ADDRESS", "@STRLEN", "@WCSLEN", "@INTERLOCKED_INCREMENT", "@INTERLOCKED_DECREMENT", "@REFERENCE", "@PHYSICAL_TO_VIRTUAL", "@VIRTUAL_TO_PHYSICAL", }; const char* OneOpFunc2[] = { "@PRINT", "@FORMATS", "@DISABLE_EVENT", "@ENABLE_EVENT", "@TEST_STATEMENT", "@SPINLOCK_LOCK", "@SPINLOCK_UNLOCK", }; const char* ZeroOpFunc1[] = { "@PAUSE" }; const char* VarArgFunc1[] = { "@PRINTF" }; const SYMBOL_MAP SemanticRulesMapList[]= { {"@INC", FUNC_INC}, {"@DEC", FUNC_DEC}, {"@REFERENCE", FUNC_REFERENCE}, {"@DEREFERENCE", FUNC_DEREFERENCE}, {"@OR", FUNC_OR}, {"@XOR", FUNC_XOR}, {"@AND", FUNC_AND}, {"@ASR", FUNC_ASR}, {"@ASL", FUNC_ASL}, {"@ADD", FUNC_ADD}, {"@SUB", FUNC_SUB}, {"@MUL", FUNC_MUL}, {"@DIV", FUNC_DIV}, {"@MOD", FUNC_MOD}, {"@GT", FUNC_GT}, {"@LT", FUNC_LT}, {"@EGT", FUNC_EGT}, {"@ELT", FUNC_ELT}, {"@EQUAL", FUNC_EQUAL}, {"@NEQ", FUNC_NEQ}, {"@START_OF_IF", FUNC_START_OF_IF}, {"@JMP", FUNC_JMP}, {"@JZ", FUNC_JZ}, {"@JNZ", FUNC_JNZ}, {"@JMP_TO_END_AND_JZCOMPLETED", FUNC_JMP_TO_END_AND_JZCOMPLETED}, {"@END_OF_IF", FUNC_END_OF_IF}, {"@START_OF_WHILE", FUNC_START_OF_WHILE}, {"@END_OF_WHILE", FUNC_END_OF_WHILE}, {"@VARGSTART", FUNC_VARGSTART}, {"@MOV", FUNC_MOV}, {"@START_OF_DO_WHILE", FUNC_START_OF_DO_WHILE}, {"@", FUNC_}, {"@START_OF_DO_WHILE_COMMANDS", FUNC_START_OF_DO_WHILE_COMMANDS}, {"@END_OF_DO_WHILE", FUNC_END_OF_DO_WHILE}, {"@START_OF_FOR", FUNC_START_OF_FOR}, {"@FOR_INC_DEC", FUNC_FOR_INC_DEC}, {"@START_OF_FOR_OMMANDS", FUNC_START_OF_FOR_OMMANDS}, {"@END_OF_IF", FUNC_END_OF_IF}, {"@IGNORE_LVALUE", FUNC_IGNORE_LVALUE}, {"@PRINT", FUNC_PRINT}, {"@FORMATS", FUNC_FORMATS}, {"@DISABLE_EVENT", FUNC_DISABLE_EVENT}, {"@ENABLE_EVENT", FUNC_ENABLE_EVENT}, {"@TEST_STATEMENT", FUNC_TEST_STATEMENT}, {"@SPINLOCK_LOCK", FUNC_SPINLOCK_LOCK}, {"@SPINLOCK_UNLOCK", FUNC_SPINLOCK_UNLOCK}, {"@PRINTF", FUNC_PRINTF}, {"@PAUSE", FUNC_PAUSE}, {"@SPINLOCK_LOCK_CUSTOM_WAIT", FUNC_SPINLOCK_LOCK_CUSTOM_WAIT}, {"@POI", FUNC_POI}, {"@DB", FUNC_DB}, {"@DD", FUNC_DD}, {"@DW", FUNC_DW}, {"@DQ", FUNC_DQ}, {"@NEG", FUNC_NEG}, {"@HI", FUNC_HI}, {"@LOW", FUNC_LOW}, {"@NOT", FUNC_NOT}, {"@CHECK_ADDRESS", FUNC_CHECK_ADDRESS}, {"@STRLEN", FUNC_STRLEN}, {"@WCSLEN", FUNC_WCSLEN}, {"@INTERLOCKED_INCREMENT", FUNC_INTERLOCKED_INCREMENT}, {"@INTERLOCKED_DECREMENT", FUNC_INTERLOCKED_DECREMENT}, {"@REFERENCE", FUNC_REFERENCE}, {"@PHYSICAL_TO_VIRTUAL", FUNC_PHYSICAL_TO_VIRTUAL}, {"@VIRTUAL_TO_PHYSICAL", FUNC_VIRTUAL_TO_PHYSICAL}, {"@ED", FUNC_ED}, {"@EB", FUNC_EB}, {"@EQ", FUNC_EQ}, {"@INTERLOCKED_EXCHANGE", FUNC_INTERLOCKED_EXCHANGE}, {"@INTERLOCKED_EXCHANGE_ADD", FUNC_INTERLOCKED_EXCHANGE_ADD}, {"@INTERLOCKED_COMPARE_EXCHANGE", FUNC_INTERLOCKED_COMPARE_EXCHANGE}, {"@POI", FUNC_POI}, {"@DB", FUNC_DB}, {"@DD", FUNC_DD}, {"@DW", FUNC_DW}, {"@DQ", FUNC_DQ}, {"@NEG", FUNC_NEG}, {"@HI", FUNC_HI}, {"@LOW", FUNC_LOW}, {"@NOT", FUNC_NOT}, {"@CHECK_ADDRESS", FUNC_CHECK_ADDRESS}, {"@STRLEN", FUNC_STRLEN}, {"@WCSLEN", FUNC_WCSLEN}, {"@INTERLOCKED_INCREMENT", FUNC_INTERLOCKED_INCREMENT}, {"@INTERLOCKED_DECREMENT", FUNC_INTERLOCKED_DECREMENT}, {"@REFERENCE", FUNC_REFERENCE}, {"@PHYSICAL_TO_VIRTUAL", FUNC_PHYSICAL_TO_VIRTUAL}, {"@VIRTUAL_TO_PHYSICAL", FUNC_VIRTUAL_TO_PHYSICAL}, {"@ED", FUNC_ED}, {"@EB", FUNC_EB}, {"@EQ", FUNC_EQ}, {"@INTERLOCKED_EXCHANGE", FUNC_INTERLOCKED_EXCHANGE}, {"@INTERLOCKED_EXCHANGE_ADD", FUNC_INTERLOCKED_EXCHANGE_ADD}, {"@INTERLOCKED_COMPARE_EXCHANGE", FUNC_INTERLOCKED_COMPARE_EXCHANGE}, }; const SYMBOL_MAP RegisterMapList[]= { {"rax", REGISTER_RAX}, {"eax", REGISTER_EAX}, {"ax", REGISTER_AX}, {"ah", REGISTER_AH}, {"al", REGISTER_AL}, {"rcx", REGISTER_RCX}, {"ecx", REGISTER_ECX}, {"cx", REGISTER_CX}, {"ch", REGISTER_CH}, {"cl", REGISTER_CL}, {"rdx", REGISTER_RDX}, {"edx", REGISTER_EDX}, {"dx", REGISTER_DX}, {"dh", REGISTER_DH}, {"dl", REGISTER_DL}, {"rbx", REGISTER_RBX}, {"ebx", REGISTER_EBX}, {"bx", REGISTER_BX}, {"bh", REGISTER_BH}, {"bl", REGISTER_BL}, {"rsp", REGISTER_RSP}, {"esp", REGISTER_ESP}, {"sp", REGISTER_SP}, {"spl", REGISTER_SPL}, {"rbp", REGISTER_RBP}, {"ebp", REGISTER_EBP}, {"bp", REGISTER_BP}, {"bpl", REGISTER_BPL}, {"rsi", REGISTER_RSI}, {"esi", REGISTER_ESI}, {"si", REGISTER_SI}, {"sil", REGISTER_SIL}, {"rdi", REGISTER_RDI}, {"edi", REGISTER_EDI}, {"di", REGISTER_DI}, {"dil", REGISTER_DIL}, {"r8", REGISTER_R8}, {"r8d", REGISTER_R8D}, {"r8w", REGISTER_R8W}, {"r8h", REGISTER_R8H}, {"r8l", REGISTER_R8L}, {"r9", REGISTER_R9}, {"r9d", REGISTER_R9D}, {"r9w", REGISTER_R9W}, {"r9h", REGISTER_R9H}, {"r9l", REGISTER_R9L}, {"r10", REGISTER_R10}, {"r10d", REGISTER_R10D}, {"r10w", REGISTER_R10W}, {"r10h", REGISTER_R10H}, {"r10l", REGISTER_R10L}, {"r11", REGISTER_R11}, {"r11d", REGISTER_R11D}, {"r11w", REGISTER_R11W}, {"r11h", REGISTER_R11H}, {"r11l", REGISTER_R11L}, {"r12", REGISTER_R12}, {"r12d", REGISTER_R12D}, {"r12w", REGISTER_R12W}, {"r12h", REGISTER_R12H}, {"r12l", REGISTER_R12L}, {"r13", REGISTER_R13}, {"r13d", REGISTER_R13D}, {"r13w", REGISTER_R13W}, {"r13h", REGISTER_R13H}, {"r13l", REGISTER_R13L}, {"r14", REGISTER_R14}, {"r14d", REGISTER_R14D}, {"r14w", REGISTER_R14W}, {"r14h", REGISTER_R14H}, {"r14l", REGISTER_R14L}, {"r15", REGISTER_R15}, {"r15d", REGISTER_R15D}, {"r15w", REGISTER_R15W}, {"r15h", REGISTER_R15H}, {"r15l", REGISTER_R15L}, {"ds", REGISTER_DS}, {"es", REGISTER_ES}, {"fs", REGISTER_FS}, {"gs", REGISTER_GS}, {"cs", REGISTER_CS}, {"ss", REGISTER_SS}, {"rflags", REGISTER_RFLAGS}, {"eflags", REGISTER_EFLAGS}, {"flags", REGISTER_FLAGS}, {"cf", REGISTER_CF}, {"pf", REGISTER_PF}, {"af", REGISTER_AF}, {"zf", REGISTER_ZF}, {"sf", REGISTER_SF}, {"tf", REGISTER_TF}, {"if", REGISTER_IF}, {"df", REGISTER_DF}, {"of", REGISTER_OF}, {"iopl", REGISTER_IOPL}, {"nt", REGISTER_NT}, {"rf", REGISTER_RF}, {"vm", REGISTER_VM}, {"ac", REGISTER_AC}, {"vif", REGISTER_VIF}, {"vip", REGISTER_VIP}, {"id", REGISTER_ID}, {"rip", REGISTER_RIP}, {"eip", REGISTER_EIP}, {"ip", REGISTER_IP}, {"idtr", REGISTER_IDTR}, {"ldtr", REGISTER_LDTR}, {"gdtr", REGISTER_GDTR}, {"tr", REGISTER_TR}, {"cr0", REGISTER_CR0}, {"cr2", REGISTER_CR2}, {"cr3", REGISTER_CR3}, {"cr4", REGISTER_CR4}, {"cr8", REGISTER_CR8}, {"dr0", REGISTER_DR0}, {"dr1", REGISTER_DR1}, {"dr2", REGISTER_DR2}, {"dr3", REGISTER_DR3}, {"dr6", REGISTER_DR6}, {"dr7", REGISTER_DR7} }; const SYMBOL_MAP PseudoRegisterMapList[]= { {"pid", PSEUDO_REGISTER_PID}, {"tid", PSEUDO_REGISTER_TID}, {"pname", PSEUDO_REGISTER_PNAME}, {"core", PSEUDO_REGISTER_CORE}, {"proc", PSEUDO_REGISTER_PROC}, {"thread", PSEUDO_REGISTER_THREAD}, {"peb", PSEUDO_REGISTER_PEB}, {"teb", PSEUDO_REGISTER_TEB}, {"ip", PSEUDO_REGISTER_IP}, {"buffer", PSEUDO_REGISTER_BUFFER}, {"context", PSEUDO_REGISTER_CONTEXT} }; const struct _TOKEN LalrLhs[RULES_COUNT]= { {NON_TERMINAL, "S"}, {NON_TERMINAL, "BE"}, {NON_TERMINAL, "B1"}, {NON_TERMINAL, "B1'"}, {NON_TERMINAL, "B1'"}, {NON_TERMINAL, "B2"}, {NON_TERMINAL, "B2'"}, {NON_TERMINAL, "B2'"}, {NON_TERMINAL, "B3"}, {NON_TERMINAL, "B3'"}, {NON_TERMINAL, "B3'"}, {NON_TERMINAL, "B4"}, {NON_TERMINAL, "B4'"}, {NON_TERMINAL, "B4'"}, {NON_TERMINAL, "B5"}, {NON_TERMINAL, "B5'"}, {NON_TERMINAL, "B5'"}, {NON_TERMINAL, "B6"}, {NON_TERMINAL, "CMP"}, {NON_TERMINAL, "CMP"}, {NON_TERMINAL, "CMP"}, {NON_TERMINAL, "CMP"}, {NON_TERMINAL, "CMP"}, {NON_TERMINAL, "CMP"}, {NON_TERMINAL, "CMP"}, {NON_TERMINAL, "EXP"}, {NON_TERMINAL, "E3"}, {NON_TERMINAL, "E3'"}, {NON_TERMINAL, "E3'"}, {NON_TERMINAL, "E3'"}, {NON_TERMINAL, "E4"}, {NON_TERMINAL, "E4'"}, {NON_TERMINAL, "E4'"}, {NON_TERMINAL, "E4'"}, {NON_TERMINAL, "E5"}, {NON_TERMINAL, "E5'"}, {NON_TERMINAL, "E5'"}, {NON_TERMINAL, "E5'"}, {NON_TERMINAL, "E5'"}, {NON_TERMINAL, "E10"}, {NON_TERMINAL, "E10"}, {NON_TERMINAL, "E10"}, {NON_TERMINAL, "E10"}, {NON_TERMINAL, "E10"}, {NON_TERMINAL, "E10"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"}, {NON_TERMINAL, "E12"} }; const struct _TOKEN LalrRhs[RULES_COUNT][MAX_RHS_LEN]= { {{NON_TERMINAL, "BE"}}, {{NON_TERMINAL, "B1"}}, {{NON_TERMINAL, "B2"},{NON_TERMINAL, "B1'"}}, {{SPECIAL_TOKEN, "||"},{NON_TERMINAL, "B2"},{NON_TERMINAL, "B1'"},{SEMANTIC_RULE, "@OR"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "B3"},{NON_TERMINAL, "B2'"}}, {{SPECIAL_TOKEN, "&&"},{NON_TERMINAL, "B3"},{NON_TERMINAL, "B2'"},{SEMANTIC_RULE, "@AND"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "B4"},{NON_TERMINAL, "B3'"}}, {{SPECIAL_TOKEN, "|"},{NON_TERMINAL, "B4"},{NON_TERMINAL, "B3'"},{SEMANTIC_RULE, "@OR"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "B5"},{NON_TERMINAL, "B4'"}}, {{SPECIAL_TOKEN, "^"},{NON_TERMINAL, "B5"},{NON_TERMINAL, "B4'"},{SEMANTIC_RULE, "@XOR"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "B6"},{NON_TERMINAL, "B5'"}}, {{SPECIAL_TOKEN, "&"},{NON_TERMINAL, "B6"},{NON_TERMINAL, "B5'"},{SEMANTIC_RULE, "@AND"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "CMP"}}, {{NON_TERMINAL, "EXP"},{KEYWORD, ">"},{NON_TERMINAL, "CMP"},{SEMANTIC_RULE, "@GT"}}, {{NON_TERMINAL, "EXP"},{KEYWORD, "<"},{NON_TERMINAL, "CMP"},{SEMANTIC_RULE, "@LT"}}, {{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ">="},{NON_TERMINAL, "CMP"},{SEMANTIC_RULE, "@EGT"}}, {{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, "<="},{NON_TERMINAL, "CMP"},{SEMANTIC_RULE, "@ELT"}}, {{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, "=="},{NON_TERMINAL, "CMP"},{SEMANTIC_RULE, "@EQUAL"}}, {{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, "!="},{NON_TERMINAL, "CMP"},{SEMANTIC_RULE, "@NEQ"}}, {{NON_TERMINAL, "EXP"}}, {{NON_TERMINAL, "E3"}}, {{NON_TERMINAL, "E4"},{NON_TERMINAL, "E3'"}}, {{SPECIAL_TOKEN, ">>"},{NON_TERMINAL, "E4"},{NON_TERMINAL, "E3'"},{SEMANTIC_RULE, "@ASR"}}, {{SPECIAL_TOKEN, "<<"},{NON_TERMINAL, "E4"},{NON_TERMINAL, "E3'"},{SEMANTIC_RULE, "@ASL"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "E5"},{NON_TERMINAL, "E4'"}}, {{SPECIAL_TOKEN, "+"},{NON_TERMINAL, "E5"},{NON_TERMINAL, "E4'"},{SEMANTIC_RULE, "@ADD"}}, {{SPECIAL_TOKEN, "-"},{NON_TERMINAL, "E5"},{NON_TERMINAL, "E4'"},{SEMANTIC_RULE, "@SUB"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "E10"},{NON_TERMINAL, "E5'"}}, {{SPECIAL_TOKEN, "/"},{NON_TERMINAL, "E10"},{NON_TERMINAL, "E5'"},{SEMANTIC_RULE, "@DIV"}}, {{SPECIAL_TOKEN, "%"},{NON_TERMINAL, "E10"},{NON_TERMINAL, "E5'"},{SEMANTIC_RULE, "@MOD"}}, {{SPECIAL_TOKEN, "*"},{NON_TERMINAL, "E10"},{NON_TERMINAL, "E5'"},{SEMANTIC_RULE, "@MUL"}}, {{EPSILON, "eps"}}, {{NON_TERMINAL, "E12"}}, {{SPECIAL_TOKEN, "-"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@NEG"}}, {{SPECIAL_TOKEN, "+"},{NON_TERMINAL, "E12"}}, {{KEYWORD, "~"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@NOT"}}, {{SPECIAL_TOKEN, "*"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@POI"}}, {{SPECIAL_TOKEN, "&"},{NON_TERMINAL, "E12"},{SEMANTIC_RULE, "@REFERENCE"}}, {{KEYWORD, "poi"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@POI"}}, {{KEYWORD, "db"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@DB"}}, {{KEYWORD, "dd"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@DD"}}, {{KEYWORD, "dw"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@DW"}}, {{KEYWORD, "dq"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@DQ"}}, {{KEYWORD, "neg"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@NEG"}}, {{KEYWORD, "hi"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@HI"}}, {{KEYWORD, "low"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@LOW"}}, {{KEYWORD, "not"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@NOT"}}, {{KEYWORD, "check_address"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@CHECK_ADDRESS"}}, {{KEYWORD, "strlen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@STRLEN"}}, {{KEYWORD, "wcslen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@WCSLEN"}}, {{KEYWORD, "interlocked_increment"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@INTERLOCKED_INCREMENT"}}, {{KEYWORD, "interlocked_decrement"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@INTERLOCKED_DECREMENT"}}, {{KEYWORD, "reference"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@REFERENCE"}}, {{KEYWORD, "physical_to_virtual"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@PHYSICAL_TO_VIRTUAL"}}, {{KEYWORD, "virtual_to_physical"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@VIRTUAL_TO_PHYSICAL"}}, {{KEYWORD, "ed"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@ED"}}, {{KEYWORD, "eb"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@EB"}}, {{KEYWORD, "eq"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@EQ"}}, {{KEYWORD, "interlocked_exchange"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE"}}, {{KEYWORD, "interlocked_exchange_add"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE_ADD"}}, {{KEYWORD, "interlocked_compare_exchange"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@INTERLOCKED_COMPARE_EXCHANGE"}}, {{SPECIAL_TOKEN, "("},{NON_TERMINAL, "BE"},{SPECIAL_TOKEN, ")"}}, {{REGISTER, "_register"},{SEMANTIC_RULE, "@PUSH"}}, {{GLOBAL_ID, "_global_id"},{SEMANTIC_RULE, "@PUSH"}}, {{LOCAL_ID, "_local_id"},{SEMANTIC_RULE, "@PUSH"}}, {{HEX, "_hex"},{SEMANTIC_RULE, "@PUSH"}}, {{DECIMAL, "_decimal"},{SEMANTIC_RULE, "@PUSH"}}, {{OCTAL, "_octal"},{SEMANTIC_RULE, "@PUSH"}}, {{BINARY, "_binary"},{SEMANTIC_RULE, "@PUSH"}}, {{PSEUDO_REGISTER, "_pseudo_register"},{SEMANTIC_RULE, "@PUSH"}} }; const unsigned int LalrRhsSize[RULES_COUNT]= { 1, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 1, 4, 4, 4, 4, 4, 4, 1, 1, 2, 4, 4, 1, 2, 4, 4, 1, 2, 4, 4, 4, 1, 1, 3, 2, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 9, 3, 2, 2, 2, 2, 2, 2, 2, 2 }; const char* LalrNoneTerminalMap[NONETERMINAL_COUNT]= { "B6", "E3'", "B5'", "B4'", "E3", "E4", "B4", "B1'", "B1", "E5", "E5'", "EXP", "E4'", "E12", "B2'", "B5", "B3", "BE", "S", "B3'", "E10", "CMP", "B2" }; const char* LalrTerminalMap[TERMINAL_COUNT]= { "eb", "==", ")", "interlocked_compare_exchange", "_binary", "-", "interlocked_increment", "<=", "virtual_to_physical", "_local_id", "$", "_register", "!=", "%", "poi", "dq", "dw", "check_address", "*", "||", ">", "(", "hi", "<<", "_hex", "wcslen", "&", "_pseudo_register", "dd", "neg", "eq", "&&", "not", "_decimal", "low", "db", "_global_id", "_octal", "reference", ">>", "interlocked_decrement", ",", "physical_to_virtual", "ed", ">=", "|", "interlocked_exchange_add", "<", "strlen", "~", "+", "^", "interlocked_exchange", "/" }; const int LalrGotoTable[LALR_STATE_COUNT][LALR_NONTERMINAL_COUNT]= { {8 ,-999 ,-999 ,-999 ,11 ,12 ,6 ,-999 ,3 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,7 ,5 ,2 ,1 ,-999 ,14 ,9 ,4 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,53 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,55 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,57 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,59 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,61 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,69 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,72 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,75 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,83 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,86 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,87 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,92 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,100 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {8 ,-999 ,-999 ,-999 ,11 ,12 ,6 ,-999 ,3 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,7 ,5 ,106 ,-999 ,-999 ,14 ,9 ,4 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {8 ,-999 ,-999 ,-999 ,11 ,12 ,6 ,-999 ,-999 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,7 ,5 ,-999 ,-999 ,-999 ,14 ,9 ,108 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {8 ,-999 ,-999 ,-999 ,11 ,12 ,6 ,-999 ,-999 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,7 ,109 ,-999 ,-999 ,-999 ,14 ,9 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {8 ,-999 ,-999 ,-999 ,11 ,12 ,110 ,-999 ,-999 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,7 ,-999 ,-999 ,-999 ,-999 ,14 ,9 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {8 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,111 ,-999 ,-999 ,-999 ,-999 ,14 ,9 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {112 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,9 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,113 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,114 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,115 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,116 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,117 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,10 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,118 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,119 ,-999 ,-999 ,-999 ,13 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,120 ,-999 ,-999 ,-999 ,13 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,121 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,122 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,123 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,124 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,125 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,126 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,127 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,128 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,129 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,130 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,131 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,132 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,133 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,134 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,135 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,136 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,137 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,138 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,139 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,140 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,141 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,142 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,143 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,144 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,145 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,146 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,147 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,149 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,150 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,151 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,152 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,153 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,154 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,155 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,156 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,157 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,158 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,159 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,160 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,161 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,185 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,186 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,187 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,188 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,189 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,190 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,11 ,12 ,-999 ,-999 ,-999 ,13 ,-999 ,197 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 } }; const int LalrActionTable[LALR_STATE_COUNT][LALR_TERMINAL_COUNT]= { {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-1 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-2 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-2 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-5 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-5 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,54 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-8 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-8 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-8 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,56 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,58 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,60 ,-999 ,-999 }, {-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,62 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 }, {-999 ,-999 ,-18 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-18 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-18 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-18 ,-999 ,-999 ,-999 ,-999 ,-18 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-18 ,-999 ,-999 ,-999 ,-999 ,-999 ,-18 ,-999 ,-999 }, {-999 ,68 ,-25 ,-999 ,-999 ,-999 ,-999 ,66 ,-999 ,-999 ,-25 ,-999 ,65 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-25 ,63 ,-999 ,-999 ,-999 ,-999 ,-999 ,-25 ,-999 ,-999 ,-999 ,-999 ,-25 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,64 ,-25 ,-999 ,67 ,-999 ,-999 ,-999 ,-25 ,-999 ,-999 }, {-999 ,-26 ,-26 ,-999 ,-999 ,-999 ,-999 ,-26 ,-999 ,-999 ,-26 ,-999 ,-26 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-26 ,-26 ,-999 ,-999 ,-999 ,-999 ,-999 ,-26 ,-999 ,-999 ,-999 ,-999 ,-26 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-26 ,-999 ,-999 ,-26 ,-26 ,-999 ,-26 ,-999 ,-999 ,-999 ,-26 ,-999 ,-999 }, {-999 ,-30 ,-30 ,-999 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 ,-30 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-30 ,-30 ,-999 ,-999 ,70 ,-999 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,71 ,-999 ,-30 ,-999 ,-999 ,-30 ,-30 ,-999 ,-30 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 }, {-999 ,-34 ,-34 ,-999 ,-999 ,73 ,-999 ,-34 ,-999 ,-999 ,-34 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-34 ,-34 ,-999 ,-999 ,-34 ,-999 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-34 ,-999 ,-34 ,-999 ,-999 ,-34 ,-34 ,-999 ,-34 ,-999 ,-999 ,74 ,-34 ,-999 ,-999 }, {-999 ,-39 ,-39 ,-999 ,-999 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-999 ,-39 ,77 ,-999 ,-999 ,-999 ,-999 ,78 ,-39 ,-39 ,-999 ,-999 ,-39 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-39 ,-999 ,76 }, {-999 ,-40 ,-40 ,-999 ,-999 ,-40 ,-999 ,-40 ,-999 ,-999 ,-40 ,-999 ,-40 ,-40 ,-999 ,-999 ,-999 ,-999 ,-40 ,-40 ,-40 ,-999 ,-999 ,-40 ,-999 ,-999 ,-40 ,-999 ,-999 ,-999 ,-999 ,-40 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-40 ,-999 ,-40 ,-999 ,-999 ,-40 ,-40 ,-999 ,-40 ,-999 ,-999 ,-40 ,-40 ,-999 ,-40 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,79 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,80 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,81 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,82 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-70 ,-70 ,-999 ,-999 ,-70 ,-999 ,-70 ,-999 ,-999 ,-70 ,-999 ,-70 ,-70 ,-999 ,-999 ,-999 ,-999 ,-70 ,-70 ,-70 ,-999 ,-999 ,-70 ,-999 ,-999 ,-70 ,-999 ,-999 ,-999 ,-999 ,-70 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-70 ,-999 ,-70 ,-999 ,-999 ,-70 ,-70 ,-999 ,-70 ,-999 ,-999 ,-70 ,-70 ,-999 ,-70 }, {27 ,-999 ,-999 ,39 ,45 ,-999 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,-999 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,-999 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,-999 ,-999 ,-999 ,42 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,84 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,85 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-71 ,-71 ,-999 ,-999 ,-71 ,-999 ,-71 ,-999 ,-999 ,-71 ,-999 ,-71 ,-71 ,-999 ,-999 ,-999 ,-999 ,-71 ,-71 ,-71 ,-999 ,-999 ,-71 ,-999 ,-999 ,-71 ,-999 ,-999 ,-999 ,-999 ,-71 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-71 ,-999 ,-71 ,-999 ,-999 ,-71 ,-71 ,-999 ,-71 ,-999 ,-999 ,-71 ,-71 ,-999 ,-71 }, {27 ,-999 ,-999 ,39 ,45 ,-999 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,-999 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,-999 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,-999 ,-999 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,-999 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,-999 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,-999 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,-999 ,-999 ,-999 ,42 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,88 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-74 ,-74 ,-999 ,-999 ,-74 ,-999 ,-74 ,-999 ,-999 ,-74 ,-999 ,-74 ,-74 ,-999 ,-999 ,-999 ,-999 ,-74 ,-74 ,-74 ,-999 ,-999 ,-74 ,-999 ,-999 ,-74 ,-999 ,-999 ,-999 ,-999 ,-74 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-74 ,-999 ,-74 ,-999 ,-999 ,-74 ,-74 ,-999 ,-74 ,-999 ,-999 ,-74 ,-74 ,-999 ,-74 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,89 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,90 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-73 ,-73 ,-999 ,-999 ,-73 ,-999 ,-73 ,-999 ,-999 ,-73 ,-999 ,-73 ,-73 ,-999 ,-999 ,-999 ,-999 ,-73 ,-73 ,-73 ,-999 ,-999 ,-73 ,-999 ,-999 ,-73 ,-999 ,-999 ,-999 ,-999 ,-73 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-73 ,-999 ,-73 ,-999 ,-999 ,-73 ,-73 ,-999 ,-73 ,-999 ,-999 ,-73 ,-73 ,-999 ,-73 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,91 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,-999 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,-999 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,-999 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,-999 ,-999 ,-999 ,42 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,93 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,94 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,95 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,96 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,97 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,98 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-75 ,-75 ,-999 ,-999 ,-75 ,-999 ,-75 ,-999 ,-999 ,-75 ,-999 ,-75 ,-75 ,-999 ,-999 ,-999 ,-999 ,-75 ,-75 ,-75 ,-999 ,-999 ,-75 ,-999 ,-999 ,-75 ,-999 ,-999 ,-999 ,-999 ,-75 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-75 ,-999 ,-75 ,-999 ,-999 ,-75 ,-75 ,-999 ,-75 ,-999 ,-999 ,-75 ,-75 ,-999 ,-75 }, {-999 ,-72 ,-72 ,-999 ,-999 ,-72 ,-999 ,-72 ,-999 ,-999 ,-72 ,-999 ,-72 ,-72 ,-999 ,-999 ,-999 ,-999 ,-72 ,-72 ,-72 ,-999 ,-999 ,-72 ,-999 ,-999 ,-72 ,-999 ,-999 ,-999 ,-999 ,-72 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-72 ,-999 ,-72 ,-999 ,-999 ,-72 ,-72 ,-999 ,-72 ,-999 ,-999 ,-72 ,-72 ,-999 ,-72 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,99 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,-999 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,-999 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,-999 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,-999 ,-999 ,-999 ,42 ,-999 }, {-999 ,-77 ,-77 ,-999 ,-999 ,-77 ,-999 ,-77 ,-999 ,-999 ,-77 ,-999 ,-77 ,-77 ,-999 ,-999 ,-999 ,-999 ,-77 ,-77 ,-77 ,-999 ,-999 ,-77 ,-999 ,-999 ,-77 ,-999 ,-999 ,-999 ,-999 ,-77 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-77 ,-999 ,-77 ,-999 ,-999 ,-77 ,-77 ,-999 ,-77 ,-999 ,-999 ,-77 ,-77 ,-999 ,-77 }, {-999 ,-76 ,-76 ,-999 ,-999 ,-76 ,-999 ,-76 ,-999 ,-999 ,-76 ,-999 ,-76 ,-76 ,-999 ,-999 ,-999 ,-999 ,-76 ,-76 ,-76 ,-999 ,-999 ,-76 ,-999 ,-999 ,-76 ,-999 ,-999 ,-999 ,-999 ,-76 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-76 ,-999 ,-76 ,-999 ,-999 ,-76 ,-76 ,-999 ,-76 ,-999 ,-999 ,-76 ,-76 ,-999 ,-76 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,101 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,102 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,103 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,104 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,105 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,107 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-3 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-3 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-999 ,-6 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-6 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-6 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-999 ,-9 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-9 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-9 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-9 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-999 ,-12 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-12 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-12 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-12 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-12 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-999 ,-15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-15 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-27 ,-27 ,-999 ,-999 ,-999 ,-999 ,-27 ,-999 ,-999 ,-27 ,-999 ,-27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-27 ,-27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-27 ,-999 ,-999 ,-999 ,-999 ,-27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-27 ,-999 ,-999 ,-27 ,-27 ,-999 ,-27 ,-999 ,-999 ,-999 ,-27 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-31 ,-31 ,-999 ,-999 ,-999 ,-999 ,-31 ,-999 ,-999 ,-31 ,-999 ,-31 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-31 ,-31 ,-999 ,-999 ,-31 ,-999 ,-999 ,-31 ,-999 ,-999 ,-999 ,-999 ,-31 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-31 ,-999 ,-31 ,-999 ,-999 ,-31 ,-31 ,-999 ,-31 ,-999 ,-999 ,-999 ,-31 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-35 ,-35 ,-999 ,-999 ,-35 ,-999 ,-35 ,-999 ,-999 ,-35 ,-999 ,-35 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-35 ,-35 ,-999 ,-999 ,-35 ,-999 ,-999 ,-35 ,-999 ,-999 ,-999 ,-999 ,-35 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-35 ,-999 ,-35 ,-999 ,-999 ,-35 ,-35 ,-999 ,-35 ,-999 ,-999 ,-35 ,-35 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-41 ,-41 ,-999 ,-999 ,-41 ,-999 ,-41 ,-999 ,-999 ,-41 ,-999 ,-41 ,-41 ,-999 ,-999 ,-999 ,-999 ,-41 ,-41 ,-41 ,-999 ,-999 ,-41 ,-999 ,-999 ,-41 ,-999 ,-999 ,-999 ,-999 ,-41 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-41 ,-999 ,-41 ,-999 ,-999 ,-41 ,-41 ,-999 ,-41 ,-999 ,-999 ,-41 ,-41 ,-999 ,-41 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-43 ,-43 ,-999 ,-999 ,-43 ,-999 ,-43 ,-999 ,-999 ,-43 ,-999 ,-43 ,-43 ,-999 ,-999 ,-999 ,-999 ,-43 ,-43 ,-43 ,-999 ,-999 ,-43 ,-999 ,-999 ,-43 ,-999 ,-999 ,-999 ,-999 ,-43 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-43 ,-999 ,-43 ,-999 ,-999 ,-43 ,-43 ,-999 ,-43 ,-999 ,-999 ,-43 ,-43 ,-999 ,-43 }, {-999 ,-45 ,-45 ,-999 ,-999 ,-45 ,-999 ,-45 ,-999 ,-999 ,-45 ,-999 ,-45 ,-45 ,-999 ,-999 ,-999 ,-999 ,-45 ,-45 ,-45 ,-999 ,-999 ,-45 ,-999 ,-999 ,-45 ,-999 ,-999 ,-999 ,-999 ,-45 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-45 ,-999 ,-45 ,-999 ,-999 ,-45 ,-45 ,-999 ,-45 ,-999 ,-999 ,-45 ,-45 ,-999 ,-45 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-44 ,-44 ,-999 ,-999 ,-44 ,-999 ,-44 ,-999 ,-999 ,-44 ,-999 ,-44 ,-44 ,-999 ,-999 ,-999 ,-999 ,-44 ,-44 ,-44 ,-999 ,-999 ,-44 ,-999 ,-999 ,-44 ,-999 ,-999 ,-999 ,-999 ,-44 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-44 ,-999 ,-44 ,-999 ,-999 ,-44 ,-44 ,-999 ,-44 ,-999 ,-999 ,-44 ,-44 ,-999 ,-44 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-42 ,-42 ,-999 ,-999 ,-42 ,-999 ,-42 ,-999 ,-999 ,-42 ,-999 ,-42 ,-42 ,-999 ,-999 ,-999 ,-999 ,-42 ,-42 ,-42 ,-999 ,-999 ,-42 ,-999 ,-999 ,-42 ,-999 ,-999 ,-999 ,-999 ,-42 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-42 ,-999 ,-42 ,-999 ,-999 ,-42 ,-42 ,-999 ,-42 ,-999 ,-999 ,-42 ,-42 ,-999 ,-42 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-999 ,148 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-999 ,-5 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-5 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,54 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-8 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-8 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-8 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,56 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,58 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,60 ,-999 ,-999 }, {-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,62 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 }, {-999 ,-999 ,-19 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-19 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-19 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-19 ,-999 ,-999 ,-999 ,-999 ,-19 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-19 ,-999 ,-999 ,-999 ,-999 ,-999 ,-19 ,-999 ,-999 }, {-999 ,-999 ,-21 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-21 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-21 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-21 ,-999 ,-999 ,-999 ,-999 ,-21 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-21 ,-999 ,-999 ,-999 ,-999 ,-999 ,-21 ,-999 ,-999 }, {-999 ,-999 ,-24 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-24 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-24 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-24 ,-999 ,-999 ,-999 ,-999 ,-24 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-24 ,-999 ,-999 ,-999 ,-999 ,-999 ,-24 ,-999 ,-999 }, {-999 ,-999 ,-22 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-22 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-22 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-22 ,-999 ,-999 ,-999 ,-999 ,-22 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-22 ,-999 ,-999 ,-999 ,-999 ,-999 ,-22 ,-999 ,-999 }, {-999 ,-999 ,-20 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-20 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-20 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-20 ,-999 ,-999 ,-999 ,-999 ,-20 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-20 ,-999 ,-999 ,-999 ,-999 ,-999 ,-20 ,-999 ,-999 }, {-999 ,-999 ,-23 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-23 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-23 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-23 ,-999 ,-999 ,-999 ,-999 ,-23 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-23 ,-999 ,-999 ,-999 ,-999 ,-999 ,-23 ,-999 ,-999 }, {-999 ,-30 ,-30 ,-999 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 ,-30 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-30 ,-30 ,-999 ,-999 ,70 ,-999 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,71 ,-999 ,-30 ,-999 ,-999 ,-30 ,-30 ,-999 ,-30 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 }, {-999 ,-30 ,-30 ,-999 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 ,-30 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-30 ,-30 ,-999 ,-999 ,70 ,-999 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,71 ,-999 ,-30 ,-999 ,-999 ,-30 ,-30 ,-999 ,-30 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 }, {-999 ,-34 ,-34 ,-999 ,-999 ,73 ,-999 ,-34 ,-999 ,-999 ,-34 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-34 ,-34 ,-999 ,-999 ,-34 ,-999 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-34 ,-999 ,-34 ,-999 ,-999 ,-34 ,-34 ,-999 ,-34 ,-999 ,-999 ,74 ,-34 ,-999 ,-999 }, {-999 ,-34 ,-34 ,-999 ,-999 ,73 ,-999 ,-34 ,-999 ,-999 ,-34 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-34 ,-34 ,-999 ,-999 ,-34 ,-999 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-34 ,-999 ,-34 ,-999 ,-999 ,-34 ,-34 ,-999 ,-34 ,-999 ,-999 ,74 ,-34 ,-999 ,-999 }, {-999 ,-39 ,-39 ,-999 ,-999 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-999 ,-39 ,77 ,-999 ,-999 ,-999 ,-999 ,78 ,-39 ,-39 ,-999 ,-999 ,-39 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-39 ,-999 ,76 }, {-999 ,-39 ,-39 ,-999 ,-999 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-999 ,-39 ,77 ,-999 ,-999 ,-999 ,-999 ,78 ,-39 ,-39 ,-999 ,-999 ,-39 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-39 ,-999 ,76 }, {-999 ,-39 ,-39 ,-999 ,-999 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-999 ,-39 ,77 ,-999 ,-999 ,-999 ,-999 ,78 ,-39 ,-39 ,-999 ,-999 ,-39 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-39 ,-999 ,-39 ,-999 ,-999 ,-39 ,-39 ,-999 ,76 }, {-999 ,-999 ,162 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,163 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,164 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,165 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,166 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,167 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,168 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,169 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,170 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,171 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,172 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,173 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,174 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,175 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,176 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,177 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,178 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,179 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,180 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,181 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,182 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,183 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-69 ,-69 ,-999 ,-999 ,-69 ,-999 ,-69 ,-999 ,-999 ,-69 ,-999 ,-69 ,-69 ,-999 ,-999 ,-999 ,-999 ,-69 ,-69 ,-69 ,-999 ,-999 ,-69 ,-999 ,-999 ,-69 ,-999 ,-999 ,-999 ,-999 ,-69 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-69 ,-999 ,-69 ,-999 ,-999 ,-69 ,-69 ,-999 ,-69 ,-999 ,-999 ,-69 ,-69 ,-999 ,-69 }, {-999 ,-999 ,184 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-4 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-4 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-7 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-7 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-7 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-10 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-10 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-10 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-10 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-13 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-13 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-13 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-13 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-13 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-16 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-16 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-16 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-16 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-16 ,-999 ,-999 ,-999 ,-999 ,-999 ,-16 ,-999 ,-999 }, {-999 ,-29 ,-29 ,-999 ,-999 ,-999 ,-999 ,-29 ,-999 ,-999 ,-29 ,-999 ,-29 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-29 ,-29 ,-999 ,-999 ,-999 ,-999 ,-999 ,-29 ,-999 ,-999 ,-999 ,-999 ,-29 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-29 ,-999 ,-999 ,-29 ,-29 ,-999 ,-29 ,-999 ,-999 ,-999 ,-29 ,-999 ,-999 }, {-999 ,-28 ,-28 ,-999 ,-999 ,-999 ,-999 ,-28 ,-999 ,-999 ,-28 ,-999 ,-28 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-28 ,-28 ,-999 ,-999 ,-999 ,-999 ,-999 ,-28 ,-999 ,-999 ,-999 ,-999 ,-28 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-28 ,-999 ,-999 ,-28 ,-28 ,-999 ,-28 ,-999 ,-999 ,-999 ,-28 ,-999 ,-999 }, {-999 ,-33 ,-33 ,-999 ,-999 ,-999 ,-999 ,-33 ,-999 ,-999 ,-33 ,-999 ,-33 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-33 ,-33 ,-999 ,-999 ,-33 ,-999 ,-999 ,-33 ,-999 ,-999 ,-999 ,-999 ,-33 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-33 ,-999 ,-33 ,-999 ,-999 ,-33 ,-33 ,-999 ,-33 ,-999 ,-999 ,-999 ,-33 ,-999 ,-999 }, {-999 ,-32 ,-32 ,-999 ,-999 ,-999 ,-999 ,-32 ,-999 ,-999 ,-32 ,-999 ,-32 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-32 ,-32 ,-999 ,-999 ,-32 ,-999 ,-999 ,-32 ,-999 ,-999 ,-999 ,-999 ,-32 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-32 ,-999 ,-32 ,-999 ,-999 ,-32 ,-32 ,-999 ,-32 ,-999 ,-999 ,-999 ,-32 ,-999 ,-999 }, {-999 ,-36 ,-36 ,-999 ,-999 ,-36 ,-999 ,-36 ,-999 ,-999 ,-36 ,-999 ,-36 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-36 ,-36 ,-999 ,-999 ,-36 ,-999 ,-999 ,-36 ,-999 ,-999 ,-999 ,-999 ,-36 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-36 ,-999 ,-36 ,-999 ,-999 ,-36 ,-36 ,-999 ,-36 ,-999 ,-999 ,-36 ,-36 ,-999 ,-999 }, {-999 ,-37 ,-37 ,-999 ,-999 ,-37 ,-999 ,-37 ,-999 ,-999 ,-37 ,-999 ,-37 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-37 ,-37 ,-999 ,-999 ,-37 ,-999 ,-999 ,-37 ,-999 ,-999 ,-999 ,-999 ,-37 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-37 ,-999 ,-37 ,-999 ,-999 ,-37 ,-37 ,-999 ,-37 ,-999 ,-999 ,-37 ,-37 ,-999 ,-999 }, {-999 ,-38 ,-38 ,-999 ,-999 ,-38 ,-999 ,-38 ,-999 ,-999 ,-38 ,-999 ,-38 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-38 ,-38 ,-999 ,-999 ,-38 ,-999 ,-999 ,-38 ,-999 ,-999 ,-999 ,-999 ,-38 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-38 ,-999 ,-38 ,-999 ,-999 ,-38 ,-38 ,-999 ,-38 ,-999 ,-999 ,-38 ,-38 ,-999 ,-999 }, {-999 ,-46 ,-46 ,-999 ,-999 ,-46 ,-999 ,-46 ,-999 ,-999 ,-46 ,-999 ,-46 ,-46 ,-999 ,-999 ,-999 ,-999 ,-46 ,-46 ,-46 ,-999 ,-999 ,-46 ,-999 ,-999 ,-46 ,-999 ,-999 ,-999 ,-999 ,-46 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-46 ,-999 ,-46 ,-999 ,-999 ,-46 ,-46 ,-999 ,-46 ,-999 ,-999 ,-46 ,-46 ,-999 ,-46 }, {-999 ,-58 ,-58 ,-999 ,-999 ,-58 ,-999 ,-58 ,-999 ,-999 ,-58 ,-999 ,-58 ,-58 ,-999 ,-999 ,-999 ,-999 ,-58 ,-58 ,-58 ,-999 ,-999 ,-58 ,-999 ,-999 ,-58 ,-999 ,-999 ,-999 ,-999 ,-58 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-58 ,-999 ,-58 ,-999 ,-999 ,-58 ,-58 ,-999 ,-58 ,-999 ,-999 ,-58 ,-58 ,-999 ,-58 }, {-999 ,-47 ,-47 ,-999 ,-999 ,-47 ,-999 ,-47 ,-999 ,-999 ,-47 ,-999 ,-47 ,-47 ,-999 ,-999 ,-999 ,-999 ,-47 ,-47 ,-47 ,-999 ,-999 ,-47 ,-999 ,-999 ,-47 ,-999 ,-999 ,-999 ,-999 ,-47 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-47 ,-999 ,-47 ,-999 ,-999 ,-47 ,-47 ,-999 ,-47 ,-999 ,-999 ,-47 ,-47 ,-999 ,-47 }, {-999 ,-48 ,-48 ,-999 ,-999 ,-48 ,-999 ,-48 ,-999 ,-999 ,-48 ,-999 ,-48 ,-48 ,-999 ,-999 ,-999 ,-999 ,-48 ,-48 ,-48 ,-999 ,-999 ,-48 ,-999 ,-999 ,-48 ,-999 ,-999 ,-999 ,-999 ,-48 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-48 ,-999 ,-48 ,-999 ,-999 ,-48 ,-48 ,-999 ,-48 ,-999 ,-999 ,-48 ,-48 ,-999 ,-48 }, {-999 ,-54 ,-54 ,-999 ,-999 ,-54 ,-999 ,-54 ,-999 ,-999 ,-54 ,-999 ,-54 ,-54 ,-999 ,-999 ,-999 ,-999 ,-54 ,-54 ,-54 ,-999 ,-999 ,-54 ,-999 ,-999 ,-54 ,-999 ,-999 ,-999 ,-999 ,-54 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-54 ,-999 ,-54 ,-999 ,-999 ,-54 ,-54 ,-999 ,-54 ,-999 ,-999 ,-54 ,-54 ,-999 ,-54 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-55 ,-55 ,-999 ,-999 ,-55 ,-999 ,-55 ,-999 ,-999 ,-55 ,-999 ,-55 ,-55 ,-999 ,-999 ,-999 ,-999 ,-55 ,-55 ,-55 ,-999 ,-999 ,-55 ,-999 ,-999 ,-55 ,-999 ,-999 ,-999 ,-999 ,-55 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-55 ,-999 ,-55 ,-999 ,-999 ,-55 ,-55 ,-999 ,-55 ,-999 ,-999 ,-55 ,-55 ,-999 ,-55 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-51 ,-51 ,-999 ,-999 ,-51 ,-999 ,-51 ,-999 ,-999 ,-51 ,-999 ,-51 ,-51 ,-999 ,-999 ,-999 ,-999 ,-51 ,-51 ,-51 ,-999 ,-999 ,-51 ,-999 ,-999 ,-51 ,-999 ,-999 ,-999 ,-999 ,-51 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-51 ,-999 ,-51 ,-999 ,-999 ,-51 ,-51 ,-999 ,-51 ,-999 ,-999 ,-51 ,-51 ,-999 ,-51 }, {-999 ,-60 ,-60 ,-999 ,-999 ,-60 ,-999 ,-60 ,-999 ,-999 ,-60 ,-999 ,-60 ,-60 ,-999 ,-999 ,-999 ,-999 ,-60 ,-60 ,-60 ,-999 ,-999 ,-60 ,-999 ,-999 ,-60 ,-999 ,-999 ,-999 ,-999 ,-60 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-60 ,-999 ,-60 ,-999 ,-999 ,-60 ,-60 ,-999 ,-60 ,-999 ,-999 ,-60 ,-60 ,-999 ,-60 }, {-999 ,-62 ,-62 ,-999 ,-999 ,-62 ,-999 ,-62 ,-999 ,-999 ,-62 ,-999 ,-62 ,-62 ,-999 ,-999 ,-999 ,-999 ,-62 ,-62 ,-62 ,-999 ,-999 ,-62 ,-999 ,-999 ,-62 ,-999 ,-999 ,-999 ,-999 ,-62 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-62 ,-999 ,-62 ,-999 ,-999 ,-62 ,-62 ,-999 ,-62 ,-999 ,-999 ,-62 ,-62 ,-999 ,-62 }, {-999 ,-59 ,-59 ,-999 ,-999 ,-59 ,-999 ,-59 ,-999 ,-999 ,-59 ,-999 ,-59 ,-59 ,-999 ,-999 ,-999 ,-999 ,-59 ,-59 ,-59 ,-999 ,-999 ,-59 ,-999 ,-999 ,-59 ,-999 ,-999 ,-999 ,-999 ,-59 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-59 ,-999 ,-59 ,-999 ,-999 ,-59 ,-59 ,-999 ,-59 ,-999 ,-999 ,-59 ,-59 ,-999 ,-59 }, {-999 ,-61 ,-61 ,-999 ,-999 ,-61 ,-999 ,-61 ,-999 ,-999 ,-61 ,-999 ,-61 ,-61 ,-999 ,-999 ,-999 ,-999 ,-61 ,-61 ,-61 ,-999 ,-999 ,-61 ,-999 ,-999 ,-61 ,-999 ,-999 ,-999 ,-999 ,-61 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-61 ,-999 ,-61 ,-999 ,-999 ,-61 ,-61 ,-999 ,-61 ,-999 ,-999 ,-61 ,-61 ,-999 ,-61 }, {-999 ,-57 ,-57 ,-999 ,-999 ,-57 ,-999 ,-57 ,-999 ,-999 ,-57 ,-999 ,-57 ,-57 ,-999 ,-999 ,-999 ,-999 ,-57 ,-57 ,-57 ,-999 ,-999 ,-57 ,-999 ,-999 ,-57 ,-999 ,-999 ,-999 ,-999 ,-57 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-57 ,-999 ,-57 ,-999 ,-999 ,-57 ,-57 ,-999 ,-57 ,-999 ,-999 ,-57 ,-57 ,-999 ,-57 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-49 ,-49 ,-999 ,-999 ,-49 ,-999 ,-49 ,-999 ,-999 ,-49 ,-999 ,-49 ,-49 ,-999 ,-999 ,-999 ,-999 ,-49 ,-49 ,-49 ,-999 ,-999 ,-49 ,-999 ,-999 ,-49 ,-999 ,-999 ,-999 ,-999 ,-49 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-49 ,-999 ,-49 ,-999 ,-999 ,-49 ,-49 ,-999 ,-49 ,-999 ,-999 ,-49 ,-49 ,-999 ,-49 }, {-999 ,-56 ,-56 ,-999 ,-999 ,-56 ,-999 ,-56 ,-999 ,-999 ,-56 ,-999 ,-56 ,-56 ,-999 ,-999 ,-999 ,-999 ,-56 ,-56 ,-56 ,-999 ,-999 ,-56 ,-999 ,-999 ,-56 ,-999 ,-999 ,-999 ,-999 ,-56 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-56 ,-999 ,-56 ,-999 ,-999 ,-56 ,-56 ,-999 ,-56 ,-999 ,-999 ,-56 ,-56 ,-999 ,-56 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-53 ,-53 ,-999 ,-999 ,-53 ,-999 ,-53 ,-999 ,-999 ,-53 ,-999 ,-53 ,-53 ,-999 ,-999 ,-999 ,-999 ,-53 ,-53 ,-53 ,-999 ,-999 ,-53 ,-999 ,-999 ,-53 ,-999 ,-999 ,-999 ,-999 ,-53 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-53 ,-999 ,-53 ,-999 ,-999 ,-53 ,-53 ,-999 ,-53 ,-999 ,-999 ,-53 ,-53 ,-999 ,-53 }, {-999 ,-52 ,-52 ,-999 ,-999 ,-52 ,-999 ,-52 ,-999 ,-999 ,-52 ,-999 ,-52 ,-52 ,-999 ,-999 ,-999 ,-999 ,-52 ,-52 ,-52 ,-999 ,-999 ,-52 ,-999 ,-999 ,-52 ,-999 ,-999 ,-999 ,-999 ,-52 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-52 ,-999 ,-52 ,-999 ,-999 ,-52 ,-52 ,-999 ,-52 ,-999 ,-999 ,-52 ,-52 ,-999 ,-52 }, {-999 ,-50 ,-50 ,-999 ,-999 ,-50 ,-999 ,-50 ,-999 ,-999 ,-50 ,-999 ,-50 ,-50 ,-999 ,-999 ,-999 ,-999 ,-50 ,-50 ,-50 ,-999 ,-999 ,-50 ,-999 ,-999 ,-50 ,-999 ,-999 ,-999 ,-999 ,-50 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-50 ,-999 ,-50 ,-999 ,-999 ,-50 ,-50 ,-999 ,-50 ,-999 ,-999 ,-50 ,-50 ,-999 ,-50 }, {-999 ,-999 ,191 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,192 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,193 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,194 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,195 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-999 ,196 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-63 ,-63 ,-999 ,-999 ,-63 ,-999 ,-63 ,-999 ,-999 ,-63 ,-999 ,-63 ,-63 ,-999 ,-999 ,-999 ,-999 ,-63 ,-63 ,-63 ,-999 ,-999 ,-63 ,-999 ,-999 ,-63 ,-999 ,-999 ,-999 ,-999 ,-63 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-63 ,-999 ,-63 ,-999 ,-999 ,-63 ,-63 ,-999 ,-63 ,-999 ,-999 ,-63 ,-63 ,-999 ,-63 }, {-999 ,-64 ,-64 ,-999 ,-999 ,-64 ,-999 ,-64 ,-999 ,-999 ,-64 ,-999 ,-64 ,-64 ,-999 ,-999 ,-999 ,-999 ,-64 ,-64 ,-64 ,-999 ,-999 ,-64 ,-999 ,-999 ,-64 ,-999 ,-999 ,-999 ,-999 ,-64 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-64 ,-999 ,-64 ,-999 ,-999 ,-64 ,-64 ,-999 ,-64 ,-999 ,-999 ,-64 ,-64 ,-999 ,-64 }, {-999 ,-67 ,-67 ,-999 ,-999 ,-67 ,-999 ,-67 ,-999 ,-999 ,-67 ,-999 ,-67 ,-67 ,-999 ,-999 ,-999 ,-999 ,-67 ,-67 ,-67 ,-999 ,-999 ,-67 ,-999 ,-999 ,-67 ,-999 ,-999 ,-999 ,-999 ,-67 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-67 ,-999 ,-67 ,-999 ,-999 ,-67 ,-67 ,-999 ,-67 ,-999 ,-999 ,-67 ,-67 ,-999 ,-67 }, {27 ,-999 ,-999 ,39 ,45 ,21 ,17 ,-999 ,35 ,41 ,-999 ,20 ,-999 ,-999 ,16 ,52 ,46 ,29 ,33 ,-999 ,-999 ,51 ,50 ,-999 ,31 ,38 ,26 ,44 ,19 ,32 ,48 ,-999 ,22 ,28 ,49 ,18 ,24 ,40 ,34 ,-999 ,36 ,-999 ,37 ,23 ,-999 ,-999 ,30 ,-999 ,47 ,25 ,43 ,-999 ,42 ,-999 }, {-999 ,-66 ,-66 ,-999 ,-999 ,-66 ,-999 ,-66 ,-999 ,-999 ,-66 ,-999 ,-66 ,-66 ,-999 ,-999 ,-999 ,-999 ,-66 ,-66 ,-66 ,-999 ,-999 ,-66 ,-999 ,-999 ,-66 ,-999 ,-999 ,-999 ,-999 ,-66 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-66 ,-999 ,-66 ,-999 ,-999 ,-66 ,-66 ,-999 ,-66 ,-999 ,-999 ,-66 ,-66 ,-999 ,-66 }, {-999 ,-65 ,-65 ,-999 ,-999 ,-65 ,-999 ,-65 ,-999 ,-999 ,-65 ,-999 ,-65 ,-65 ,-999 ,-999 ,-999 ,-999 ,-65 ,-65 ,-65 ,-999 ,-999 ,-65 ,-999 ,-999 ,-65 ,-999 ,-999 ,-999 ,-999 ,-65 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-65 ,-999 ,-65 ,-999 ,-999 ,-65 ,-65 ,-999 ,-65 ,-999 ,-999 ,-65 ,-65 ,-999 ,-65 }, {-999 ,-999 ,198 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 }, {-999 ,-68 ,-68 ,-999 ,-999 ,-68 ,-999 ,-68 ,-999 ,-999 ,-68 ,-999 ,-68 ,-68 ,-999 ,-999 ,-999 ,-999 ,-68 ,-68 ,-68 ,-999 ,-999 ,-68 ,-999 ,-999 ,-68 ,-999 ,-999 ,-999 ,-999 ,-68 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-68 ,-999 ,-68 ,-999 ,-999 ,-68 ,-68 ,-999 ,-68 ,-999 ,-999 ,-68 ,-68 ,-999 ,-68 } }; const struct _TOKEN LalrSemanticRules[RULES_COUNT]= { {UNKNOWN, ""}, {UNKNOWN, ""}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@OR"}, {UNKNOWN, ""}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@AND"}, {UNKNOWN, ""}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@OR"}, {UNKNOWN, ""}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@XOR"}, {UNKNOWN, ""}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@AND"}, {UNKNOWN, ""}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@GT"}, {SEMANTIC_RULE, "@LT"}, {SEMANTIC_RULE, "@EGT"}, {SEMANTIC_RULE, "@ELT"}, {SEMANTIC_RULE, "@EQUAL"}, {SEMANTIC_RULE, "@NEQ"}, {UNKNOWN, ""}, {UNKNOWN, ""}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@ASR"}, {SEMANTIC_RULE, "@ASL"}, {UNKNOWN, ""}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@ADD"}, {SEMANTIC_RULE, "@SUB"}, {UNKNOWN, ""}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@DIV"}, {SEMANTIC_RULE, "@MOD"}, {SEMANTIC_RULE, "@MUL"}, {UNKNOWN, ""}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@NEG"}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@NOT"}, {SEMANTIC_RULE, "@POI"}, {SEMANTIC_RULE, "@REFERENCE"}, {SEMANTIC_RULE, "@POI"}, {SEMANTIC_RULE, "@DB"}, {SEMANTIC_RULE, "@DD"}, {SEMANTIC_RULE, "@DW"}, {SEMANTIC_RULE, "@DQ"}, {SEMANTIC_RULE, "@NEG"}, {SEMANTIC_RULE, "@HI"}, {SEMANTIC_RULE, "@LOW"}, {SEMANTIC_RULE, "@NOT"}, {SEMANTIC_RULE, "@CHECK_ADDRESS"}, {SEMANTIC_RULE, "@STRLEN"}, {SEMANTIC_RULE, "@WCSLEN"}, {SEMANTIC_RULE, "@INTERLOCKED_INCREMENT"}, {SEMANTIC_RULE, "@INTERLOCKED_DECREMENT"}, {SEMANTIC_RULE, "@REFERENCE"}, {SEMANTIC_RULE, "@PHYSICAL_TO_VIRTUAL"}, {SEMANTIC_RULE, "@VIRTUAL_TO_PHYSICAL"}, {SEMANTIC_RULE, "@ED"}, {SEMANTIC_RULE, "@EB"}, {SEMANTIC_RULE, "@EQ"}, {SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE"}, {SEMANTIC_RULE, "@INTERLOCKED_EXCHANGE_ADD"}, {SEMANTIC_RULE, "@INTERLOCKED_COMPARE_EXCHANGE"}, {UNKNOWN, ""}, {SEMANTIC_RULE, "@PUSH"}, {SEMANTIC_RULE, "@PUSH"}, {SEMANTIC_RULE, "@PUSH"}, {SEMANTIC_RULE, "@PUSH"}, {SEMANTIC_RULE, "@PUSH"}, {SEMANTIC_RULE, "@PUSH"}, {SEMANTIC_RULE, "@PUSH"}, {SEMANTIC_RULE, "@PUSH"} };