HyperDbg/hyperdbg/script-engine/code/parse-table.c
2024-03-01 23:51:41 +09:00

1992 lines
187 KiB
C

#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, "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, "E12"},
{NON_TERMINAL, "E12"},
{NON_TERMINAL, "E12"},
{NON_TERMINAL, "E12"},
{NON_TERMINAL, "E12"},
{NON_TERMINAL, "E12"},
{NON_TERMINAL, "STRING"},
{NON_TERMINAL, "WSTRING"},
{NON_TERMINAL, "L_VALUE"},
{NON_TERMINAL, "L_VALUE"},
{NON_TERMINAL, "L_VALUE"},
{NON_TERMINAL, "StringNumber"},
{NON_TERMINAL, "StringNumber"},
{NON_TERMINAL, "WstringNumber"},
{NON_TERMINAL, "WstringNumber"}
};
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, "event_enable"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EVENT_ENABLE"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "event_disable"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EVENT_DISABLE"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "event_clear"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EVENT_CLEAR"},{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, "event_sc"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EVENT_SC"},{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, "flush"},{SPECIAL_TOKEN, "("},{SEMANTIC_RULE, "@FLUSH"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "event_trace_step"},{SPECIAL_TOKEN, "("},{SEMANTIC_RULE, "@EVENT_TRACE_STEP"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "event_trace_step_in"},{SPECIAL_TOKEN, "("},{SEMANTIC_RULE, "@EVENT_TRACE_STEP_IN"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "event_trace_step_out"},{SPECIAL_TOKEN, "("},{SEMANTIC_RULE, "@EVENT_TRACE_STEP_OUT"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "event_trace_instrumentation_step"},{SPECIAL_TOKEN, "("},{SEMANTIC_RULE, "@EVENT_TRACE_INSTRUMENTATION_STEP"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "event_trace_instrumentation_step_in"},{SPECIAL_TOKEN, "("},{SEMANTIC_RULE, "@EVENT_TRACE_INSTRUMENTATION_STEP_IN"},{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, "event_inject"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EVENT_INJECT"},{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, "disassemble_len"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DISASSEMBLE_LEN"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}},
{{KEYWORD, "disassemble_len32"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DISASSEMBLE_LEN32"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}},
{{KEYWORD, "disassemble_len64"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DISASSEMBLE_LEN64"},{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"}},
{{KEYWORD, "strlen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "StringNumber"},{SEMANTIC_RULE, "@STRLEN"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}},
{{KEYWORD, "strcmp"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "StringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "StringNumber"},{SEMANTIC_RULE, "@STRCMP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}},
{{KEYWORD, "memcmp"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "StringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "StringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@MEMCMP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}},
{{KEYWORD, "wcslen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "WstringNumber"},{SEMANTIC_RULE, "@WCSLEN"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}},
{{KEYWORD, "wcscmp"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "WstringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "WstringNumber"},{SEMANTIC_RULE, "@WCSCMP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@IGNORE_LVALUE"}},
{{KEYWORD, "event_inject_error_code"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@EVENT_INJECT_ERROR_CODE"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "memcpy"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@MEMCPY"},{SPECIAL_TOKEN, ")"}},
{{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, "disassemble_len"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DISASSEMBLE_LEN"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "disassemble_len32"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DISASSEMBLE_LEN32"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "disassemble_len64"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@DISASSEMBLE_LEN64"},{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, ")"}},
{{KEYWORD, "strlen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "StringNumber"},{SEMANTIC_RULE, "@STRLEN"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "strcmp"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "StringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "StringNumber"},{SEMANTIC_RULE, "@STRCMP"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "memcmp"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "StringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "StringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXPRESSION"},{SEMANTIC_RULE, "@MEMCMP"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "wcslen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "WstringNumber"},{SEMANTIC_RULE, "@WCSLEN"},{SPECIAL_TOKEN, ")"}},
{{KEYWORD, "wcscmp"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "WstringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "WstringNumber"},{SEMANTIC_RULE, "@WCSCMP"},{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"},{WSTRING, "_wstring"}},
{{SEMANTIC_RULE, "@PUSH"},{GLOBAL_ID, "_global_id"}},
{{SEMANTIC_RULE, "@PUSH"},{LOCAL_ID, "_local_id"}},
{{SEMANTIC_RULE, "@PUSH"},{REGISTER, "_register"}},
{{NON_TERMINAL, "EXPRESSION"}},
{{NON_TERMINAL, "STRING"}},
{{NON_TERMINAL, "EXPRESSION"}},
{{NON_TERMINAL, "WSTRING"}}
};
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,
5,
5,
7,
4,
4,
4,
4,
4,
4,
4,
7,
7,
6,
6,
6,
6,
6,
6,
6,
6,
6,
6,
6,
6,
6,
6,
6,
6,
6,
6,
8,
8,
8,
8,
8,
10,
6,
8,
10,
6,
8,
9,
9,
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,
5,
7,
7,
7,
7,
7,
9,
5,
7,
9,
5,
7,
3,
2,
2,
2,
2,
2,
2,
2,
2,
3,
2,
3,
3,
3,
2,
2,
2,
2,
2,
1,
1,
1,
1
};
const char* NoneTerminalMap[NONETERMINAL_COUNT]=
{
"E4'",
"INC_DEC'",
"WSTRING",
"E1",
"E3",
"EXPRESSION",
"E3'",
"BOOLEAN_EXPRESSION",
"L_VALUE",
"E5'",
"FOR_STATEMENT",
"INC_DEC",
"DO_WHILE_STATEMENT",
"VA",
"END_OF_IF",
"STATEMENT",
"SIMPLE_ASSIGNMENT'",
"E2'",
"E4",
"STRING",
"WstringNumber",
"E0'",
"ELSE_STATEMENT",
"ELSIF_STATEMENT'",
"E1'",
"SIMPLE_ASSIGNMENT",
"IF_STATEMENT",
"CALL_FUNC_STATEMENT",
"E2",
"E5",
"ASSIGNMENT_STATEMENT'",
"E12",
"ASSIGNMENT_STATEMENT",
"S",
"ELSIF_STATEMENT",
"WHILE_STATEMENT",
"StringNumber"
};
const char* TerminalMap[TERMINAL_COUNT]=
{
"_wstring",
"continue",
"event_trace_step_in",
"formats",
"(",
"eq",
"interlocked_decrement",
"printf",
"*",
"event_trace_instrumentation_step",
"do",
"=",
"_hex",
"ed",
"^",
"wcslen",
"dw",
"_octal",
"+",
"eb",
"event_trace_step",
"_global_id",
"spinlock_lock_custom_wait",
"event_trace_instrumentation_step_in",
"event_enable",
"++",
"_register",
"<<",
"event_inject_error_code",
"event_trace_step_out",
"{",
"else",
"interlocked_exchange",
"_pseudo_register",
"spinlock_unlock",
"_local_id",
"strlen",
"poi",
"interlocked_increment",
"not",
";",
"neg",
"event_clear",
"event_inject",
"memcmp",
"spinlock_lock",
"flush",
"--",
"strcmp",
"%",
"_string",
"db",
"wcscmp",
"/",
"while",
"hi",
"break",
"|",
"check_address",
"dq",
"test_statement",
"_binary",
"event_disable",
"disassemble_len",
"memcpy",
"physical_to_virtual",
"interlocked_compare_exchange",
"print",
"reference",
"interlocked_exchange_add",
"-",
"disassemble_len32",
"elsif",
"event_sc",
"dd",
"low",
"if",
"&",
"$",
"~",
"virtual_to_physical",
"}",
"_decimal",
">>",
"pause",
"for",
")",
"disassemble_len64",
","
};
const int ParseTable[NONETERMINAL_COUNT][TERMINAL_COUNT]=
{
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,102 ,-999 ,-999 ,-999 ,100 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,102 ,-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 ,102 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,101 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,102 ,-999 ,-999 ,-999 ,-999 ,-999 ,102 ,-999 ,-999 ,102 ,-999 ,102 },
{-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 ,81 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,84 ,-999 ,-999 },
{152 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,89 ,89 ,89 ,-999 ,89 ,-999 ,-999 ,-999 ,89 ,89 ,-999 ,89 ,89 ,89 ,89 ,89 ,-999 ,89 ,-999 ,-999 ,-999 ,-999 ,89 ,-999 ,-999 ,-999 ,-999 ,-999 ,89 ,89 ,-999 ,89 ,89 ,89 ,89 ,89 ,-999 ,89 ,-999 ,-999 ,89 ,-999 ,-999 ,-999 ,89 ,-999 ,-999 ,89 ,89 ,-999 ,-999 ,89 ,-999 ,-999 ,89 ,89 ,-999 ,89 ,-999 ,89 ,-999 ,89 ,89 ,-999 ,89 ,89 ,89 ,89 ,-999 ,-999 ,89 ,89 ,-999 ,89 ,-999 ,89 ,89 ,-999 ,89 ,-999 ,-999 ,-999 ,-999 ,89 ,-999 },
{-999 ,-999 ,-999 ,-999 ,95 ,95 ,95 ,-999 ,95 ,-999 ,-999 ,-999 ,95 ,95 ,-999 ,95 ,95 ,95 ,95 ,95 ,-999 ,95 ,-999 ,-999 ,-999 ,-999 ,95 ,-999 ,-999 ,-999 ,-999 ,-999 ,95 ,95 ,-999 ,95 ,95 ,95 ,95 ,95 ,-999 ,95 ,-999 ,-999 ,95 ,-999 ,-999 ,-999 ,95 ,-999 ,-999 ,95 ,95 ,-999 ,-999 ,95 ,-999 ,-999 ,95 ,95 ,-999 ,95 ,-999 ,95 ,-999 ,95 ,95 ,-999 ,95 ,95 ,95 ,95 ,-999 ,-999 ,95 ,95 ,-999 ,95 ,-999 ,95 ,95 ,-999 ,95 ,-999 ,-999 ,-999 ,-999 ,95 ,-999 },
{-999 ,-999 ,-999 ,-999 ,86 ,86 ,86 ,-999 ,86 ,-999 ,-999 ,-999 ,86 ,86 ,-999 ,86 ,86 ,86 ,86 ,86 ,-999 ,86 ,-999 ,-999 ,-999 ,-999 ,86 ,-999 ,-999 ,-999 ,-999 ,-999 ,86 ,86 ,-999 ,86 ,86 ,86 ,86 ,86 ,-999 ,86 ,-999 ,-999 ,86 ,-999 ,-999 ,-999 ,86 ,-999 ,-999 ,86 ,86 ,-999 ,-999 ,86 ,-999 ,-999 ,86 ,86 ,-999 ,86 ,-999 ,86 ,-999 ,86 ,86 ,-999 ,86 ,86 ,86 ,86 ,-999 ,-999 ,86 ,86 ,-999 ,86 ,-999 ,86 ,86 ,-999 ,86 ,-999 ,-999 ,-999 ,-999 ,86 ,-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 ,97 ,-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 ,98 ,-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 ,96 ,-999 ,-999 ,98 ,-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 ,-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 ,-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 ,153 ,-999 ,-999 ,-999 ,-999 ,155 ,-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 ,106 ,-999 ,-999 ,-999 ,-999 ,-999 ,107 ,-999 ,-999 ,-999 ,107 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,107 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,107 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,105 ,-999 ,-999 ,-999 ,104 ,-999 ,-999 ,-999 ,107 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,107 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,107 ,-999 ,-999 ,-999 ,-999 ,-999 ,107 ,-999 ,-999 ,107 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,80 ,-999 ,-999 ,-999 ,-999 ,80 ,-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 },
{-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 ,-999 ,66 ,-999 ,65 },
{-999 ,73 ,73 ,73 ,-999 ,73 ,73 ,73 ,-999 ,73 ,73 ,-999 ,-999 ,73 ,-999 ,73 ,73 ,-999 ,-999 ,73 ,73 ,73 ,73 ,73 ,73 ,-999 ,73 ,-999 ,73 ,73 ,73 ,-999 ,73 ,-999 ,73 ,73 ,73 ,73 ,73 ,73 ,-999 ,73 ,73 ,73 ,73 ,73 ,73 ,-999 ,73 ,-999 ,-999 ,73 ,73 ,-999 ,73 ,73 ,73 ,-999 ,73 ,73 ,73 ,-999 ,73 ,73 ,73 ,73 ,73 ,73 ,73 ,73 ,-999 ,73 ,-999 ,73 ,73 ,73 ,73 ,-999 ,73 ,-999 ,73 ,73 ,-999 ,-999 ,73 ,73 ,-999 ,73 ,-999 },
{-999 ,10 ,8 ,8 ,-999 ,8 ,8 ,8 ,-999 ,8 ,5 ,-999 ,-999 ,8 ,-999 ,8 ,8 ,-999 ,-999 ,8 ,8 ,7 ,8 ,8 ,8 ,-999 ,7 ,-999 ,8 ,8 ,-999 ,-999 ,8 ,-999 ,8 ,7 ,8 ,8 ,8 ,8 ,-999 ,8 ,8 ,8 ,8 ,8 ,8 ,-999 ,8 ,-999 ,-999 ,8 ,8 ,-999 ,4 ,8 ,9 ,-999 ,8 ,8 ,8 ,-999 ,8 ,8 ,8 ,8 ,8 ,8 ,8 ,8 ,-999 ,8 ,-999 ,8 ,8 ,8 ,3 ,-999 ,-999 ,-999 ,8 ,-999 ,-999 ,-999 ,8 ,6 ,-999 ,8 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,79 ,-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 ,94 ,-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 ,93 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,94 ,-999 ,94 },
{-999 ,-999 ,-999 ,-999 ,99 ,99 ,99 ,-999 ,99 ,-999 ,-999 ,-999 ,99 ,99 ,-999 ,99 ,99 ,99 ,99 ,99 ,-999 ,99 ,-999 ,-999 ,-999 ,-999 ,99 ,-999 ,-999 ,-999 ,-999 ,-999 ,99 ,99 ,-999 ,99 ,99 ,99 ,99 ,99 ,-999 ,99 ,-999 ,-999 ,99 ,-999 ,-999 ,-999 ,99 ,-999 ,-999 ,99 ,99 ,-999 ,-999 ,99 ,-999 ,-999 ,99 ,99 ,-999 ,99 ,-999 ,99 ,-999 ,99 ,99 ,-999 ,99 ,99 ,99 ,99 ,-999 ,-999 ,99 ,99 ,-999 ,99 ,-999 ,99 ,99 ,-999 ,99 ,-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 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{159 ,-999 ,-999 ,-999 ,158 ,158 ,158 ,-999 ,158 ,-999 ,-999 ,-999 ,158 ,158 ,-999 ,158 ,158 ,158 ,158 ,158 ,-999 ,158 ,-999 ,-999 ,-999 ,-999 ,158 ,-999 ,-999 ,-999 ,-999 ,-999 ,158 ,158 ,-999 ,158 ,158 ,158 ,158 ,158 ,-999 ,158 ,-999 ,-999 ,158 ,-999 ,-999 ,-999 ,158 ,-999 ,-999 ,158 ,158 ,-999 ,-999 ,158 ,-999 ,-999 ,158 ,158 ,-999 ,158 ,-999 ,158 ,-999 ,158 ,158 ,-999 ,158 ,158 ,158 ,158 ,-999 ,-999 ,158 ,158 ,-999 ,158 ,-999 ,158 ,158 ,-999 ,158 ,-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 ,-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 ,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 ,88 ,-999 ,88 },
{-999 ,72 ,72 ,72 ,-999 ,72 ,72 ,72 ,-999 ,72 ,72 ,-999 ,-999 ,72 ,-999 ,72 ,72 ,-999 ,-999 ,72 ,72 ,72 ,72 ,72 ,72 ,-999 ,72 ,-999 ,72 ,72 ,72 ,71 ,72 ,-999 ,72 ,72 ,72 ,72 ,72 ,72 ,-999 ,72 ,72 ,72 ,72 ,72 ,72 ,-999 ,72 ,-999 ,-999 ,72 ,72 ,-999 ,72 ,72 ,72 ,-999 ,72 ,72 ,72 ,-999 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,72 ,-999 ,72 ,-999 ,72 ,72 ,72 ,72 ,-999 ,72 ,-999 ,72 ,72 ,-999 ,-999 ,72 ,72 ,-999 ,72 ,-999 },
{-999 ,70 ,70 ,70 ,-999 ,70 ,70 ,70 ,-999 ,70 ,70 ,-999 ,-999 ,70 ,-999 ,70 ,70 ,-999 ,-999 ,70 ,70 ,70 ,70 ,70 ,70 ,-999 ,70 ,-999 ,70 ,70 ,70 ,70 ,70 ,-999 ,70 ,70 ,70 ,70 ,70 ,70 ,-999 ,70 ,70 ,70 ,70 ,70 ,70 ,-999 ,70 ,-999 ,-999 ,70 ,70 ,-999 ,70 ,70 ,70 ,-999 ,70 ,70 ,70 ,-999 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,70 ,-999 ,70 ,-999 ,70 ,70 ,70 ,70 ,-999 ,70 ,-999 ,70 ,70 ,-999 ,-999 ,70 ,70 ,-999 ,70 ,-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 ,91 ,-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 ,91 ,-999 ,91 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,77 ,-999 ,-999 ,-999 ,-999 ,77 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,77 ,-999 ,-999 ,-999 ,-999 ,78 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,67 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,28 ,16 ,-999 ,54 ,48 ,24 ,-999 ,30 ,-999 ,-999 ,-999 ,52 ,-999 ,61 ,37 ,-999 ,-999 ,53 ,27 ,-999 ,32 ,31 ,17 ,-999 ,-999 ,-999 ,63 ,29 ,-999 ,-999 ,55 ,-999 ,22 ,-999 ,58 ,34 ,47 ,42 ,-999 ,39 ,19 ,33 ,60 ,21 ,26 ,-999 ,59 ,-999 ,-999 ,35 ,62 ,-999 ,-999 ,40 ,-999 ,-999 ,43 ,38 ,20 ,-999 ,18 ,44 ,64 ,50 ,57 ,15 ,49 ,56 ,-999 ,45 ,-999 ,23 ,36 ,41 ,-999 ,-999 ,-999 ,-999 ,51 ,-999 ,-999 ,-999 ,25 ,-999 ,-999 ,46 ,-999 },
{-999 ,-999 ,-999 ,-999 ,92 ,92 ,92 ,-999 ,92 ,-999 ,-999 ,-999 ,92 ,92 ,-999 ,92 ,92 ,92 ,92 ,92 ,-999 ,92 ,-999 ,-999 ,-999 ,-999 ,92 ,-999 ,-999 ,-999 ,-999 ,-999 ,92 ,92 ,-999 ,92 ,92 ,92 ,92 ,92 ,-999 ,92 ,-999 ,-999 ,92 ,-999 ,-999 ,-999 ,92 ,-999 ,-999 ,92 ,92 ,-999 ,-999 ,92 ,-999 ,-999 ,92 ,92 ,-999 ,92 ,-999 ,92 ,-999 ,92 ,92 ,-999 ,92 ,92 ,92 ,92 ,-999 ,-999 ,92 ,92 ,-999 ,92 ,-999 ,92 ,92 ,-999 ,92 ,-999 ,-999 ,-999 ,-999 ,92 ,-999 },
{-999 ,-999 ,-999 ,-999 ,103 ,103 ,103 ,-999 ,103 ,-999 ,-999 ,-999 ,103 ,103 ,-999 ,103 ,103 ,103 ,103 ,103 ,-999 ,103 ,-999 ,-999 ,-999 ,-999 ,103 ,-999 ,-999 ,-999 ,-999 ,-999 ,103 ,103 ,-999 ,103 ,103 ,103 ,103 ,103 ,-999 ,103 ,-999 ,-999 ,103 ,-999 ,-999 ,-999 ,103 ,-999 ,-999 ,103 ,103 ,-999 ,-999 ,103 ,-999 ,-999 ,103 ,103 ,-999 ,103 ,-999 ,103 ,-999 ,103 ,103 ,-999 ,103 ,103 ,103 ,103 ,-999 ,-999 ,103 ,103 ,-999 ,103 ,-999 ,103 ,103 ,-999 ,103 ,-999 ,-999 ,-999 ,-999 ,103 ,-999 },
{-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 ,12 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,137 ,128 ,122 ,-999 ,149 ,-999 ,-999 ,-999 ,141 ,126 ,-999 ,135 ,111 ,143 ,147 ,127 ,-999 ,140 ,-999 ,-999 ,-999 ,-999 ,138 ,-999 ,-999 ,-999 ,-999 ,-999 ,129 ,145 ,-999 ,139 ,132 ,108 ,121 ,116 ,-999 ,113 ,-999 ,-999 ,134 ,-999 ,-999 ,-999 ,133 ,-999 ,-999 ,109 ,136 ,-999 ,-999 ,114 ,-999 ,-999 ,117 ,112 ,-999 ,144 ,-999 ,118 ,-999 ,124 ,131 ,-999 ,123 ,130 ,146 ,119 ,-999 ,-999 ,110 ,115 ,-999 ,150 ,-999 ,148 ,125 ,-999 ,142 ,-999 ,-999 ,-999 ,-999 ,120 ,-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 ,11 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,0 ,0 ,0 ,-999 ,0 ,0 ,0 ,-999 ,0 ,0 ,-999 ,-999 ,0 ,-999 ,0 ,0 ,-999 ,-999 ,0 ,0 ,0 ,0 ,0 ,0 ,-999 ,0 ,-999 ,0 ,0 ,1 ,-999 ,0 ,-999 ,0 ,0 ,0 ,0 ,0 ,0 ,-999 ,0 ,0 ,0 ,0 ,0 ,0 ,-999 ,0 ,-999 ,-999 ,0 ,0 ,-999 ,0 ,0 ,0 ,-999 ,0 ,0 ,0 ,-999 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,-999 ,0 ,-999 ,0 ,0 ,0 ,0 ,-999 ,2 ,-999 ,0 ,2 ,-999 ,-999 ,0 ,0 ,-999 ,0 ,-999 },
{-999 ,69 ,69 ,69 ,-999 ,69 ,69 ,69 ,-999 ,69 ,69 ,-999 ,-999 ,69 ,-999 ,69 ,69 ,-999 ,-999 ,69 ,69 ,69 ,69 ,69 ,69 ,-999 ,69 ,-999 ,69 ,69 ,69 ,69 ,69 ,-999 ,69 ,69 ,69 ,69 ,69 ,69 ,-999 ,69 ,69 ,69 ,69 ,69 ,69 ,-999 ,69 ,-999 ,-999 ,69 ,69 ,-999 ,69 ,69 ,69 ,-999 ,69 ,69 ,69 ,-999 ,69 ,69 ,69 ,69 ,69 ,69 ,69 ,69 ,-999 ,69 ,68 ,69 ,69 ,69 ,69 ,-999 ,69 ,-999 ,69 ,69 ,-999 ,-999 ,69 ,69 ,-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 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,156 ,156 ,156 ,-999 ,156 ,-999 ,-999 ,-999 ,156 ,156 ,-999 ,156 ,156 ,156 ,156 ,156 ,-999 ,156 ,-999 ,-999 ,-999 ,-999 ,156 ,-999 ,-999 ,-999 ,-999 ,-999 ,156 ,156 ,-999 ,156 ,156 ,156 ,156 ,156 ,-999 ,156 ,-999 ,-999 ,156 ,-999 ,-999 ,-999 ,156 ,-999 ,157 ,156 ,156 ,-999 ,-999 ,156 ,-999 ,-999 ,156 ,156 ,-999 ,156 ,-999 ,156 ,-999 ,156 ,156 ,-999 ,156 ,156 ,156 ,156 ,-999 ,-999 ,156 ,156 ,-999 ,156 ,-999 ,156 ,156 ,-999 ,156 ,-999 ,-999 ,-999 ,-999 ,156 ,-999 }
};
const char* KeywordList[]= {
"print",
"formats",
"event_enable",
"event_disable",
"event_clear",
"test_statement",
"spinlock_lock",
"spinlock_unlock",
"event_sc",
"printf",
"pause",
"flush",
"event_trace_step",
"event_trace_step_in",
"event_trace_step_out",
"event_trace_instrumentation_step",
"event_trace_instrumentation_step_in",
"spinlock_lock_custom_wait",
"event_inject",
"poi",
"db",
"dd",
"dw",
"dq",
"neg",
"hi",
"low",
"not",
"check_address",
"disassemble_len",
"disassemble_len32",
"disassemble_len64",
"interlocked_increment",
"interlocked_decrement",
"reference",
"physical_to_virtual",
"virtual_to_physical",
"ed",
"eb",
"eq",
"interlocked_exchange",
"interlocked_exchange_add",
"interlocked_compare_exchange",
"strlen",
"strcmp",
"memcmp",
"wcslen",
"wcscmp",
"event_inject_error_code",
"memcpy",
"poi",
"db",
"dd",
"dw",
"dq",
"neg",
"hi",
"low",
"not",
"check_address",
"disassemble_len",
"disassemble_len32",
"disassemble_len64",
"interlocked_increment",
"interlocked_decrement",
"reference",
"physical_to_virtual",
"virtual_to_physical",
"ed",
"eb",
"eq",
"interlocked_exchange",
"interlocked_exchange_add",
"interlocked_compare_exchange",
"strlen",
"strcmp",
"memcmp",
"wcslen",
"wcscmp"
};
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* ThreeOpFunc2[] = {
"@EVENT_INJECT_ERROR_CODE",
"@MEMCPY",
};
const char* TwoOpFunc1[] = {
"@ED",
"@EB",
"@EQ",
"@INTERLOCKED_EXCHANGE",
"@INTERLOCKED_EXCHANGE_ADD",
};
const char* TwoOpFunc2[] = {
"@SPINLOCK_LOCK_CUSTOM_WAIT",
"@EVENT_INJECT",
};
const char* OneOpFunc1[] = {
"@POI",
"@DB",
"@DD",
"@DW",
"@DQ",
"@NEG",
"@HI",
"@LOW",
"@NOT",
"@CHECK_ADDRESS",
"@DISASSEMBLE_LEN",
"@DISASSEMBLE_LEN32",
"@DISASSEMBLE_LEN64",
"@INTERLOCKED_INCREMENT",
"@INTERLOCKED_DECREMENT",
"@REFERENCE",
"@PHYSICAL_TO_VIRTUAL",
"@VIRTUAL_TO_PHYSICAL",
};
const char* OneOpFunc2[] = {
"@PRINT",
"@FORMATS",
"@EVENT_ENABLE",
"@EVENT_DISABLE",
"@EVENT_CLEAR",
"@TEST_STATEMENT",
"@SPINLOCK_LOCK",
"@SPINLOCK_UNLOCK",
"@EVENT_SC",
};
const char* OneOpFunc3[] = {
"@STRLEN"
};
const char* TwoOpFunc3[] = {
"@STRCMP"
};
const char* ThreeOpFunc3[] = {
"@MEMCMP"
};
const char* OneOpFunc4[] = {
"@WCSLEN"
};
const char* TwoOpFunc4[] = {
"@WCSCMP"
};
const char* ZeroOpFunc1[] = {
"@PAUSE",
"@FLUSH",
"@EVENT_TRACE_STEP",
"@EVENT_TRACE_STEP_IN",
"@EVENT_TRACE_STEP_OUT",
"@EVENT_TRACE_INSTRUMENTATION_STEP",
"@EVENT_TRACE_INSTRUMENTATION_STEP_IN",
};
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},
{"@EVENT_ENABLE", FUNC_EVENT_ENABLE},
{"@EVENT_DISABLE", FUNC_EVENT_DISABLE},
{"@EVENT_CLEAR", FUNC_EVENT_CLEAR},
{"@TEST_STATEMENT", FUNC_TEST_STATEMENT},
{"@SPINLOCK_LOCK", FUNC_SPINLOCK_LOCK},
{"@SPINLOCK_UNLOCK", FUNC_SPINLOCK_UNLOCK},
{"@EVENT_SC", FUNC_EVENT_SC},
{"@PRINTF", FUNC_PRINTF},
{"@PAUSE", FUNC_PAUSE},
{"@FLUSH", FUNC_FLUSH},
{"@EVENT_TRACE_STEP", FUNC_EVENT_TRACE_STEP},
{"@EVENT_TRACE_STEP_IN", FUNC_EVENT_TRACE_STEP_IN},
{"@EVENT_TRACE_STEP_OUT", FUNC_EVENT_TRACE_STEP_OUT},
{"@EVENT_TRACE_INSTRUMENTATION_STEP", FUNC_EVENT_TRACE_INSTRUMENTATION_STEP},
{"@EVENT_TRACE_INSTRUMENTATION_STEP_IN", FUNC_EVENT_TRACE_INSTRUMENTATION_STEP_IN},
{"@SPINLOCK_LOCK_CUSTOM_WAIT", FUNC_SPINLOCK_LOCK_CUSTOM_WAIT},
{"@EVENT_INJECT", FUNC_EVENT_INJECT},
{"@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},
{"@DISASSEMBLE_LEN", FUNC_DISASSEMBLE_LEN},
{"@DISASSEMBLE_LEN32", FUNC_DISASSEMBLE_LEN32},
{"@DISASSEMBLE_LEN64", FUNC_DISASSEMBLE_LEN64},
{"@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},
{"@STRLEN", FUNC_STRLEN},
{"@STRCMP", FUNC_STRCMP},
{"@MEMCMP", FUNC_MEMCMP},
{"@WCSLEN", FUNC_WCSLEN},
{"@WCSCMP", FUNC_WCSCMP},
{"@EVENT_INJECT_ERROR_CODE", FUNC_EVENT_INJECT_ERROR_CODE},
{"@MEMCPY", FUNC_MEMCPY},
{"@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},
{"@DISASSEMBLE_LEN", FUNC_DISASSEMBLE_LEN},
{"@DISASSEMBLE_LEN32", FUNC_DISASSEMBLE_LEN32},
{"@DISASSEMBLE_LEN64", FUNC_DISASSEMBLE_LEN64},
{"@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},
{"@STRLEN", FUNC_STRLEN},
{"@STRCMP", FUNC_STRCMP},
{"@MEMCMP", FUNC_MEMCMP},
{"@WCSLEN", FUNC_WCSLEN},
{"@WCSCMP", FUNC_WCSCMP},
};
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},
{"event_tag", PSEUDO_REGISTER_EVENT_TAG},
{"event_id", PSEUDO_REGISTER_EVENT_ID},
{"event_stage", PSEUDO_REGISTER_EVENT_STAGE}
};
const struct _TOKEN LalrLhs[RULES_COUNT]=
{
{NON_TERMINAL, "S"},
{NON_TERMINAL, "BE"},
{NON_TERMINAL, "B1"},
{NON_TERMINAL, "B1"},
{NON_TERMINAL, "B2"},
{NON_TERMINAL, "B2"},
{NON_TERMINAL, "B3"},
{NON_TERMINAL, "B3"},
{NON_TERMINAL, "B4"},
{NON_TERMINAL, "B4"},
{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, "E4"},
{NON_TERMINAL, "E4"},
{NON_TERMINAL, "E4"},
{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"},
{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, "WSTRING"},
{NON_TERMINAL, "StringNumber"},
{NON_TERMINAL, "StringNumber"},
{NON_TERMINAL, "WstringNumber"},
{NON_TERMINAL, "WstringNumber"}
};
const struct _TOKEN LalrRhs[RULES_COUNT][MAX_RHS_LEN]=
{
{{NON_TERMINAL, "BE"}},
{{NON_TERMINAL, "B1"}},
{{NON_TERMINAL, "B1"},{SPECIAL_TOKEN, "||"},{NON_TERMINAL, "B2"},{SEMANTIC_RULE, "@OR"}},
{{NON_TERMINAL, "B2"}},
{{NON_TERMINAL, "B2"},{SPECIAL_TOKEN, "&&"},{NON_TERMINAL, "B3"},{SEMANTIC_RULE, "@AND"}},
{{NON_TERMINAL, "B3"}},
{{NON_TERMINAL, "B3"},{SPECIAL_TOKEN, "|"},{NON_TERMINAL, "B4"},{SEMANTIC_RULE, "@OR"}},
{{NON_TERMINAL, "B4"}},
{{NON_TERMINAL, "B4"},{SPECIAL_TOKEN, "^"},{NON_TERMINAL, "B5"},{SEMANTIC_RULE, "@XOR"}},
{{NON_TERMINAL, "B5"}},
{{NON_TERMINAL, "B5"},{SPECIAL_TOKEN, "&"},{NON_TERMINAL, "B6"},{SEMANTIC_RULE, "@AND"}},
{{NON_TERMINAL, "B6"}},
{{NON_TERMINAL, "CMP"}},
{{NON_TERMINAL, "CMP"},{KEYWORD, ">"},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@GT"}},
{{NON_TERMINAL, "CMP"},{KEYWORD, "<"},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@LT"}},
{{NON_TERMINAL, "CMP"},{SPECIAL_TOKEN, ">="},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@EGT"}},
{{NON_TERMINAL, "CMP"},{SPECIAL_TOKEN, "<="},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@ELT"}},
{{NON_TERMINAL, "CMP"},{SPECIAL_TOKEN, "=="},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@EQUAL"}},
{{NON_TERMINAL, "CMP"},{SPECIAL_TOKEN, "!="},{NON_TERMINAL, "EXP"},{SEMANTIC_RULE, "@NEQ"}},
{{NON_TERMINAL, "EXP"}},
{{NON_TERMINAL, "E3"}},
{{NON_TERMINAL, "E3"},{SPECIAL_TOKEN, ">>"},{NON_TERMINAL, "E4"},{SEMANTIC_RULE, "@ASR"}},
{{NON_TERMINAL, "E3"},{SPECIAL_TOKEN, "<<"},{NON_TERMINAL, "E4"},{SEMANTIC_RULE, "@ASL"}},
{{NON_TERMINAL, "E4"}},
{{NON_TERMINAL, "E4"},{SPECIAL_TOKEN, "+"},{NON_TERMINAL, "E5"},{SEMANTIC_RULE, "@ADD"}},
{{NON_TERMINAL, "E4"},{SPECIAL_TOKEN, "-"},{NON_TERMINAL, "E5"},{SEMANTIC_RULE, "@SUB"}},
{{NON_TERMINAL, "E5"}},
{{NON_TERMINAL, "E5"},{SPECIAL_TOKEN, "/"},{NON_TERMINAL, "E10"},{SEMANTIC_RULE, "@DIV"}},
{{NON_TERMINAL, "E5"},{SPECIAL_TOKEN, "%"},{NON_TERMINAL, "E10"},{SEMANTIC_RULE, "@MOD"}},
{{NON_TERMINAL, "E5"},{SPECIAL_TOKEN, "*"},{NON_TERMINAL, "E10"},{SEMANTIC_RULE, "@MUL"}},
{{NON_TERMINAL, "E10"}},
{{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, "disassemble_len"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@DISASSEMBLE_LEN"}},
{{KEYWORD, "disassemble_len32"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@DISASSEMBLE_LEN32"}},
{{KEYWORD, "disassemble_len64"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@DISASSEMBLE_LEN64"}},
{{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, "wcscmp"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@WCSCMP"}},
{{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"}},
{{KEYWORD, "strlen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "StringNumber"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@STRLEN"}},
{{KEYWORD, "strcmp"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "StringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "StringNumber"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@STRCMP"}},
{{KEYWORD, "memcmp"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "StringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "StringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "EXP"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@MEMCMP"}},
{{KEYWORD, "wcslen"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "WstringNumber"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@WCSLEN"}},
{{KEYWORD, "wcscmp"},{SPECIAL_TOKEN, "("},{NON_TERMINAL, "WstringNumber"},{SPECIAL_TOKEN, ","},{NON_TERMINAL, "WstringNumber"},{SPECIAL_TOKEN, ")"},{SEMANTIC_RULE, "@WCSCMP"}},
{{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"}},
{{STRING, "_string"},{SEMANTIC_RULE, "@PUSH"}},
{{WSTRING, "_wstring"},{SEMANTIC_RULE, "@PUSH"}},
{{NON_TERMINAL, "EXP"}},
{{NON_TERMINAL, "STRING"}},
{{NON_TERMINAL, "EXP"}},
{{NON_TERMINAL, "WSTRING"}}
};
const unsigned int LalrRhsSize[RULES_COUNT]=
{
1,
1,
4,
1,
4,
1,
4,
1,
4,
1,
4,
1,
1,
4,
4,
4,
4,
4,
4,
1,
1,
4,
4,
1,
4,
4,
1,
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,
5,
5,
5,
7,
7,
7,
7,
7,
7,
9,
5,
7,
9,
5,
7,
3,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
1,
1,
1,
1
};
const char* LalrNoneTerminalMap[NONETERMINAL_COUNT]=
{
"B1",
"WSTRING",
"E3",
"BE",
"E10",
"B3",
"B2",
"B5",
"E4",
"STRING",
"WstringNumber",
"CMP",
"E12",
"B4",
"EXP",
"E5",
"S",
"B6",
"StringNumber"
};
const char* LalrTerminalMap[TERMINAL_COUNT]=
{
"_wstring",
"interlocked_increment",
"reference",
"not",
"neg",
"<",
"eb",
"interlocked_exchange_add",
"memcmp",
"-",
"||",
"disassemble_len32",
"(",
">=",
"dd",
"low",
"eq",
"interlocked_decrement",
"strcmp",
"_global_id",
"!=",
"*",
"&",
"$",
"%",
"~",
"_string",
">",
"db",
"_hex",
"wcscmp",
"_register",
"virtual_to_physical",
"<<",
"ed",
"_decimal",
"^",
"/",
">>",
"interlocked_exchange",
"|",
"hi",
"==",
"&&",
"dq",
"check_address",
"_pseudo_register",
"_binary",
"wcslen",
"disassemble_len",
"strlen",
"<=",
"_local_id",
"dw",
")",
"disassemble_len64",
"physical_to_virtual",
"poi",
"interlocked_compare_exchange",
"_octal",
"+",
","
};
const int LalrGotoTable[LALR_STATE_COUNT][LALR_NONTERMINAL_COUNT]=
{
{3 ,-999 ,11 ,2 ,14 ,5 ,4 ,7 ,12 ,-999 ,-999 ,9 ,15 ,6 ,10 ,13 ,1 ,8 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,11 ,77 ,14 ,5 ,4 ,7 ,12 ,-999 ,-999 ,9 ,15 ,6 ,10 ,13 ,-999 ,8 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,106 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,111 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,5 ,112 ,7 ,12 ,-999 ,-999 ,9 ,15 ,6 ,10 ,13 ,-999 ,8 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,113 ,-999 ,7 ,12 ,-999 ,-999 ,9 ,15 ,6 ,10 ,13 ,-999 ,8 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,7 ,12 ,-999 ,-999 ,9 ,15 ,114 ,10 ,13 ,-999 ,8 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,115 ,12 ,-999 ,-999 ,9 ,15 ,-999 ,10 ,13 ,-999 ,8 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,9 ,15 ,-999 ,10 ,13 ,-999 ,116 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,117 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,118 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,119 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,120 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,121 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,122 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 ,-999 ,123 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 ,-999 ,124 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,125 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,126 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,127 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,128 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,129 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,15 ,-999 ,-999 ,-999 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,132 ,-999 ,-999 ,15 ,-999 ,131 ,13 ,-999 ,-999 ,133 },
{-999 ,136 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,137 ,-999 ,15 ,-999 ,135 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,139 ,13 ,-999 ,-999 ,-999 },
{-999 ,136 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,141 ,-999 ,15 ,-999 ,140 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,132 ,-999 ,-999 ,15 ,-999 ,142 ,13 ,-999 ,-999 ,143 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,144 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,145 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,146 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,147 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,148 ,13 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,149 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,150 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,151 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,152 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,153 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,154 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,155 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,156 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,157 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,158 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,159 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,160 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,161 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,162 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,132 ,-999 ,-999 ,15 ,-999 ,142 ,13 ,-999 ,-999 ,163 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,164 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,165 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,166 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,167 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,200 ,13 ,-999 ,-999 ,-999 },
{-999 ,136 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,202 ,-999 ,15 ,-999 ,201 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,132 ,-999 ,-999 ,15 ,-999 ,142 ,13 ,-999 ,-999 ,203 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,204 ,13 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,205 ,13 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,206 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,207 ,13 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,132 ,-999 ,-999 ,15 ,-999 ,142 ,13 ,-999 ,-999 ,208 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,11 ,-999 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,209 ,13 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,210 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,221 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,14 ,-999 ,-999 ,-999 ,12 ,-999 ,-999 ,-999 ,15 ,-999 ,222 ,13 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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]=
{
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-999 ,-999 ,-999 ,59 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-2 ,-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 ,-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 ,60 ,-999 ,-999 ,-999 ,-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 ,-6 ,-999 ,-999 ,-999 ,-999 ,-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 ,61 ,-999 ,-999 ,-6 ,-999 ,-999 ,-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 ,-8 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-8 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,62 ,-999 ,-999 ,-999 ,-8 ,-999 ,-999 ,-8 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-8 ,-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 ,-999 ,-999 ,-999 ,-999 ,63 ,-10 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-10 ,-999 ,-999 ,-999 ,-10 ,-999 ,-999 ,-10 ,-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 ,-12 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-12 ,-12 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-12 ,-999 ,-999 ,-999 ,-12 ,-999 ,-999 ,-12 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-12 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,64 ,-999 ,-999 ,-999 ,-999 ,-13 ,-999 ,-999 ,68 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,67 ,-999 ,-13 ,-13 ,-999 ,-999 ,-999 ,65 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-13 ,-999 ,-999 ,-999 ,-13 ,-999 ,69 ,-13 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,66 ,-999 ,-999 ,-13 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-20 ,-999 ,-999 ,-999 ,-999 ,-20 ,-999 ,-999 ,-20 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-20 ,-999 ,-20 ,-20 ,-999 ,-999 ,-999 ,-20 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-20 ,-999 ,-999 ,-999 ,-20 ,-999 ,-20 ,-20 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-20 ,-999 ,-999 ,-20 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-21 ,-999 ,-999 ,-999 ,-999 ,-21 ,-999 ,-999 ,-21 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-21 ,-999 ,-21 ,-21 ,-999 ,-999 ,-999 ,-21 ,-999 ,-999 ,-999 ,-999 ,-999 ,71 ,-999 ,-999 ,-21 ,-999 ,70 ,-999 ,-21 ,-999 ,-21 ,-21 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-21 ,-999 ,-999 ,-21 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-21 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-24 ,-999 ,-999 ,-999 ,72 ,-24 ,-999 ,-999 ,-24 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-24 ,-999 ,-24 ,-24 ,-999 ,-999 ,-999 ,-24 ,-999 ,-999 ,-999 ,-999 ,-999 ,-24 ,-999 ,-999 ,-24 ,-999 ,-24 ,-999 ,-24 ,-999 ,-24 ,-24 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-24 ,-999 ,-999 ,-24 ,-999 ,-999 ,-999 ,-999 ,-999 ,73 ,-24 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-27 ,-999 ,-999 ,-999 ,-27 ,-27 ,-999 ,-999 ,-27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-27 ,74 ,-27 ,-27 ,76 ,-999 ,-999 ,-27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-27 ,-999 ,-999 ,-27 ,75 ,-27 ,-999 ,-27 ,-999 ,-27 ,-27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-27 ,-999 ,-999 ,-27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-27 ,-27 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-31 ,-999 ,-999 ,-999 ,-31 ,-31 ,-999 ,-999 ,-31 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-31 ,-31 ,-31 ,-31 ,-31 ,-999 ,-999 ,-31 ,-999 ,-999 ,-999 ,-999 ,-999 ,-31 ,-999 ,-999 ,-31 ,-31 ,-31 ,-999 ,-31 ,-999 ,-31 ,-31 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-31 ,-999 ,-999 ,-31 ,-999 ,-999 ,-999 ,-999 ,-999 ,-31 ,-31 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-32 ,-999 ,-999 ,-999 ,-32 ,-32 ,-999 ,-999 ,-32 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-32 ,-32 ,-32 ,-32 ,-32 ,-999 ,-999 ,-32 ,-999 ,-999 ,-999 ,-999 ,-999 ,-32 ,-999 ,-999 ,-32 ,-32 ,-32 ,-999 ,-32 ,-999 ,-32 ,-32 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-32 ,-999 ,-999 ,-32 ,-999 ,-999 ,-999 ,-999 ,-999 ,-32 ,-32 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,78 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-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 ,-999 ,-76 ,-999 ,-999 ,-999 ,-76 ,-76 ,-999 ,-999 ,-76 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-76 ,-76 ,-76 ,-76 ,-76 ,-999 ,-999 ,-76 ,-999 ,-999 ,-999 ,-999 ,-999 ,-76 ,-999 ,-999 ,-76 ,-76 ,-76 ,-999 ,-76 ,-999 ,-76 ,-76 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-76 ,-999 ,-999 ,-76 ,-999 ,-999 ,-999 ,-999 ,-999 ,-76 ,-76 },
{-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 ,-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 ,-999 ,-999 ,-999 ,-999 ,-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 ,-71 ,-999 ,-999 ,-999 ,-71 ,-71 ,-999 ,-999 ,-71 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-71 ,-71 ,-71 ,-71 ,-71 ,-999 ,-999 ,-71 ,-999 ,-999 ,-999 ,-999 ,-999 ,-71 ,-999 ,-999 ,-71 ,-71 ,-71 ,-999 ,-71 ,-999 ,-71 ,-71 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-71 ,-999 ,-999 ,-71 ,-999 ,-999 ,-999 ,-999 ,-999 ,-71 ,-71 },
{-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 ,-999 ,-74 ,-999 ,-999 ,-999 ,-74 ,-74 ,-999 ,-999 ,-74 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-74 ,-74 ,-74 ,-74 ,-74 ,-999 ,-999 ,-74 ,-999 ,-999 ,-999 ,-999 ,-999 ,-74 ,-999 ,-999 ,-74 ,-74 ,-74 ,-999 ,-74 ,-999 ,-74 ,-74 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-74 ,-999 ,-999 ,-74 ,-999 ,-999 ,-999 ,-999 ,-999 ,-74 ,-74 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-72 ,-999 ,-999 ,-999 ,-72 ,-72 ,-999 ,-999 ,-72 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-72 ,-72 ,-72 ,-72 ,-72 ,-999 ,-999 ,-72 ,-999 ,-999 ,-999 ,-999 ,-999 ,-72 ,-999 ,-999 ,-72 ,-72 ,-72 ,-999 ,-72 ,-999 ,-72 ,-72 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-72 ,-999 ,-999 ,-72 ,-999 ,-999 ,-999 ,-999 ,-999 ,-72 ,-72 },
{-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-78 ,-999 ,-999 ,-999 ,-78 ,-78 ,-999 ,-999 ,-78 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-78 ,-78 ,-78 ,-78 ,-78 ,-999 ,-999 ,-78 ,-999 ,-999 ,-999 ,-999 ,-999 ,-78 ,-999 ,-999 ,-78 ,-78 ,-78 ,-999 ,-78 ,-999 ,-78 ,-78 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-78 ,-999 ,-999 ,-78 ,-999 ,-999 ,-999 ,-999 ,-999 ,-78 ,-78 },
{-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-77 ,-999 ,-999 ,-999 ,-77 ,-77 ,-999 ,-999 ,-77 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-77 ,-77 ,-77 ,-77 ,-77 ,-999 ,-999 ,-77 ,-999 ,-999 ,-999 ,-999 ,-999 ,-77 ,-999 ,-999 ,-77 ,-77 ,-77 ,-999 ,-77 ,-999 ,-77 ,-77 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-77 ,-999 ,-999 ,-77 ,-999 ,-999 ,-999 ,-999 ,-999 ,-77 ,-77 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,-999 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,-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 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,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 ,-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 ,-999 ,-75 ,-999 ,-999 ,-999 ,-75 ,-75 ,-999 ,-999 ,-75 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-75 ,-75 ,-75 ,-75 ,-75 ,-999 ,-999 ,-75 ,-999 ,-999 ,-999 ,-999 ,-999 ,-75 ,-999 ,-999 ,-75 ,-75 ,-75 ,-999 ,-75 ,-999 ,-75 ,-75 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-75 ,-999 ,-999 ,-75 ,-999 ,-999 ,-999 ,-999 ,-999 ,-75 ,-75 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,-999 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,-999 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,-999 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,-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 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,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 ,-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 ,-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 ,-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 ,-999 ,-73 ,-999 ,-999 ,-999 ,-73 ,-73 ,-999 ,-999 ,-73 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-73 ,-73 ,-73 ,-73 ,-73 ,-999 ,-999 ,-73 ,-999 ,-999 ,-999 ,-999 ,-999 ,-73 ,-999 ,-999 ,-73 ,-73 ,-73 ,-999 ,-73 ,-999 ,-73 ,-73 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-73 ,-999 ,-999 ,-73 ,-999 ,-999 ,-999 ,-999 ,-999 ,-73 ,-73 },
{-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,-999 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,108 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,109 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,110 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,-999 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,-999 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,130 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,134 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{138 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{138 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,134 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-35 ,-999 ,-999 ,-999 ,-35 ,-35 ,-999 ,-999 ,-35 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-35 ,-35 ,-35 ,-35 ,-35 ,-999 ,-999 ,-35 ,-999 ,-999 ,-999 ,-999 ,-999 ,-35 ,-999 ,-999 ,-35 ,-35 ,-35 ,-999 ,-35 ,-999 ,-35 ,-35 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-35 ,-999 ,-999 ,-35 ,-999 ,-999 ,-999 ,-999 ,-999 ,-35 ,-35 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-33 ,-999 ,-999 ,-999 ,-33 ,-33 ,-999 ,-999 ,-33 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-33 ,-33 ,-33 ,-33 ,-33 ,-999 ,-999 ,-33 ,-999 ,-999 ,-999 ,-999 ,-999 ,-33 ,-999 ,-999 ,-33 ,-33 ,-33 ,-999 ,-33 ,-999 ,-33 ,-33 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-33 ,-999 ,-999 ,-33 ,-999 ,-999 ,-999 ,-999 ,-999 ,-33 ,-33 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-36 ,-999 ,-999 ,-999 ,-36 ,-36 ,-999 ,-999 ,-36 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-36 ,-36 ,-36 ,-36 ,-36 ,-999 ,-999 ,-36 ,-999 ,-999 ,-999 ,-999 ,-999 ,-36 ,-999 ,-999 ,-36 ,-36 ,-36 ,-999 ,-36 ,-999 ,-36 ,-36 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-36 ,-999 ,-999 ,-36 ,-999 ,-999 ,-999 ,-999 ,-999 ,-36 ,-36 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,134 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-34 ,-999 ,-999 ,-999 ,-34 ,-34 ,-999 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-34 ,-34 ,-34 ,-34 ,-34 ,-999 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-999 ,-34 ,-999 ,-999 ,-34 ,-34 ,-34 ,-999 ,-34 ,-999 ,-34 ,-34 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-34 ,-999 ,-999 ,-34 ,-999 ,-999 ,-999 ,-999 ,-999 ,-34 ,-34 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-37 ,-999 ,-999 ,-999 ,-37 ,-37 ,-999 ,-999 ,-37 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-37 ,-37 ,-37 ,-37 ,-37 ,-999 ,-999 ,-37 ,-999 ,-999 ,-999 ,-999 ,-999 ,-37 ,-999 ,-999 ,-37 ,-37 ,-37 ,-999 ,-37 ,-999 ,-37 ,-37 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-37 ,-999 ,-999 ,-37 ,-999 ,-999 ,-999 ,-999 ,-999 ,-37 ,-37 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-3 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,60 ,-999 ,-999 ,-999 ,-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 ,-5 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-5 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,61 ,-999 ,-999 ,-5 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-5 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-7 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,62 ,-999 ,-999 ,-999 ,-7 ,-999 ,-999 ,-7 ,-999 ,-999 ,-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 ,-9 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,63 ,-9 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-9 ,-999 ,-999 ,-999 ,-9 ,-999 ,-999 ,-9 ,-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 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-11 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-11 ,-999 ,-999 ,-999 ,-11 ,-999 ,-999 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-11 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-15 ,-999 ,-999 ,-999 ,-999 ,-15 ,-999 ,-999 ,-15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-15 ,-999 ,-15 ,-15 ,-999 ,-999 ,-999 ,-15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-15 ,-999 ,-999 ,-999 ,-15 ,-999 ,-15 ,-15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-15 ,-999 ,-999 ,-15 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-14 ,-14 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-14 ,-999 ,-14 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-14 ,-999 ,-999 ,-14 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-17 ,-17 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-17 ,-999 ,-17 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-17 ,-999 ,-999 ,-17 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-19 ,-999 ,-999 ,-999 ,-999 ,-19 ,-999 ,-999 ,-19 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-19 ,-999 ,-19 ,-19 ,-999 ,-999 ,-999 ,-19 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-19 ,-999 ,-999 ,-999 ,-19 ,-999 ,-19 ,-19 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-19 ,-999 ,-999 ,-19 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-16 ,-999 ,-999 ,-999 ,-999 ,-16 ,-999 ,-999 ,-16 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-16 ,-999 ,-16 ,-16 ,-999 ,-999 ,-999 ,-16 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-16 ,-999 ,-999 ,-999 ,-16 ,-999 ,-16 ,-16 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-16 ,-999 ,-999 ,-16 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-18 ,-999 ,-999 ,-999 ,-999 ,-18 ,-999 ,-999 ,-18 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-18 ,-999 ,-18 ,-18 ,-999 ,-999 ,-999 ,-18 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-18 ,-999 ,-999 ,-999 ,-18 ,-999 ,-18 ,-18 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-18 ,-999 ,-999 ,-18 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-22 ,-999 ,-999 ,-999 ,72 ,-22 ,-999 ,-999 ,-22 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-22 ,-999 ,-22 ,-22 ,-999 ,-999 ,-999 ,-22 ,-999 ,-999 ,-999 ,-999 ,-999 ,-22 ,-999 ,-999 ,-22 ,-999 ,-22 ,-999 ,-22 ,-999 ,-22 ,-22 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-22 ,-999 ,-999 ,-22 ,-999 ,-999 ,-999 ,-999 ,-999 ,73 ,-22 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-23 ,-999 ,-999 ,-999 ,72 ,-23 ,-999 ,-999 ,-23 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-23 ,-999 ,-23 ,-23 ,-999 ,-999 ,-999 ,-23 ,-999 ,-999 ,-999 ,-999 ,-999 ,-23 ,-999 ,-999 ,-23 ,-999 ,-23 ,-999 ,-23 ,-999 ,-23 ,-23 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-23 ,-999 ,-999 ,-23 ,-999 ,-999 ,-999 ,-999 ,-999 ,73 ,-23 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-26 ,-999 ,-999 ,-999 ,-26 ,-26 ,-999 ,-999 ,-26 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-26 ,74 ,-26 ,-26 ,76 ,-999 ,-999 ,-26 ,-999 ,-999 ,-999 ,-999 ,-999 ,-26 ,-999 ,-999 ,-26 ,75 ,-26 ,-999 ,-26 ,-999 ,-26 ,-26 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-26 ,-999 ,-999 ,-26 ,-999 ,-999 ,-999 ,-999 ,-999 ,-26 ,-26 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-25 ,-999 ,-999 ,-999 ,-25 ,-25 ,-999 ,-999 ,-25 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-25 ,74 ,-25 ,-25 ,76 ,-999 ,-999 ,-25 ,-999 ,-999 ,-999 ,-999 ,-999 ,-25 ,-999 ,-999 ,-25 ,75 ,-25 ,-999 ,-25 ,-999 ,-25 ,-25 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-25 ,-999 ,-999 ,-25 ,-999 ,-999 ,-999 ,-999 ,-999 ,-25 ,-25 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 ,-999 ,-30 ,-30 ,-999 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-30 ,-30 ,-30 ,-30 ,-30 ,-999 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 ,-30 ,-30 ,-30 ,-999 ,-30 ,-999 ,-30 ,-30 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-30 ,-999 ,-999 ,-30 ,-999 ,-999 ,-999 ,-999 ,-999 ,-30 ,-30 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-28 ,-999 ,-999 ,-999 ,-28 ,-28 ,-999 ,-999 ,-28 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-28 ,-28 ,-28 ,-28 ,-28 ,-999 ,-999 ,-28 ,-999 ,-999 ,-999 ,-999 ,-999 ,-28 ,-999 ,-999 ,-28 ,-28 ,-28 ,-999 ,-28 ,-999 ,-28 ,-28 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-28 ,-999 ,-999 ,-28 ,-999 ,-999 ,-999 ,-999 ,-999 ,-28 ,-28 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-29 ,-999 ,-999 ,-999 ,-29 ,-29 ,-999 ,-999 ,-29 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-29 ,-29 ,-29 ,-29 ,-29 ,-999 ,-999 ,-29 ,-999 ,-999 ,-999 ,-999 ,-999 ,-29 ,-999 ,-999 ,-29 ,-29 ,-29 ,-999 ,-29 ,-999 ,-29 ,-29 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-29 ,-999 ,-999 ,-29 ,-999 ,-999 ,-999 ,-999 ,-999 ,-29 ,-29 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-70 ,-999 ,-999 ,-999 ,-70 ,-70 ,-999 ,-999 ,-70 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-70 ,-70 ,-70 ,-70 ,-70 ,-999 ,-999 ,-70 ,-999 ,-999 ,-999 ,-999 ,-999 ,-70 ,-999 ,-999 ,-70 ,-70 ,-70 ,-999 ,-70 ,-999 ,-70 ,-70 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-70 ,-999 ,-999 ,-70 ,-999 ,-999 ,-999 ,-999 ,-999 ,-70 ,-70 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-82 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-79 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,170 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-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 ,-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 ,-999 ,-80 ,-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 ,-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 ,-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 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-81 ,-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 ,-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 ,-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 ,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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,178 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-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 ,181 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-999 ,185 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,186 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,187 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,188 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,189 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,190 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-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 ,-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 ,194 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,197 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,199 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-48 ,-999 ,-999 ,-999 ,-48 ,-48 ,-999 ,-999 ,-48 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-48 ,-48 ,-48 ,-48 ,-48 ,-999 ,-999 ,-48 ,-999 ,-999 ,-999 ,-999 ,-999 ,-48 ,-999 ,-999 ,-48 ,-48 ,-48 ,-999 ,-48 ,-999 ,-48 ,-48 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-48 ,-999 ,-999 ,-48 ,-999 ,-999 ,-999 ,-999 ,-999 ,-48 ,-48 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-65 ,-999 ,-999 ,-999 ,-65 ,-65 ,-999 ,-999 ,-65 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-65 ,-65 ,-65 ,-65 ,-65 ,-999 ,-999 ,-65 ,-999 ,-999 ,-999 ,-999 ,-999 ,-65 ,-999 ,-999 ,-65 ,-65 ,-65 ,-999 ,-65 ,-999 ,-65 ,-65 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-65 ,-999 ,-999 ,-65 ,-999 ,-999 ,-999 ,-999 ,-999 ,-65 ,-65 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{138 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-50 ,-999 ,-999 ,-999 ,-50 ,-50 ,-999 ,-999 ,-50 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-50 ,-50 ,-50 ,-50 ,-50 ,-999 ,-999 ,-50 ,-999 ,-999 ,-999 ,-999 ,-999 ,-50 ,-999 ,-999 ,-50 ,-50 ,-50 ,-999 ,-50 ,-999 ,-50 ,-50 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-50 ,-999 ,-999 ,-50 ,-999 ,-999 ,-999 ,-999 ,-999 ,-50 ,-50 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-49 ,-999 ,-999 ,-999 ,-49 ,-49 ,-999 ,-999 ,-49 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-49 ,-49 ,-49 ,-49 ,-49 ,-999 ,-999 ,-49 ,-999 ,-999 ,-999 ,-999 ,-999 ,-49 ,-999 ,-999 ,-49 ,-49 ,-49 ,-999 ,-49 ,-999 ,-49 ,-49 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-49 ,-999 ,-999 ,-49 ,-999 ,-999 ,-999 ,-999 ,-999 ,-49 ,-49 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-68 ,-999 ,-999 ,-999 ,-68 ,-68 ,-999 ,-999 ,-68 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-68 ,-68 ,-68 ,-68 ,-68 ,-999 ,-999 ,-68 ,-999 ,-999 ,-999 ,-999 ,-999 ,-68 ,-999 ,-999 ,-68 ,-68 ,-68 ,-999 ,-68 ,-999 ,-68 ,-68 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-68 ,-999 ,-999 ,-68 ,-999 ,-999 ,-999 ,-999 ,-999 ,-68 ,-68 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,134 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-51 ,-999 ,-999 ,-999 ,-51 ,-51 ,-999 ,-999 ,-51 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-51 ,-51 ,-51 ,-51 ,-51 ,-999 ,-999 ,-51 ,-999 ,-999 ,-999 ,-999 ,-999 ,-51 ,-999 ,-999 ,-51 ,-51 ,-51 ,-999 ,-51 ,-999 ,-51 ,-51 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-51 ,-999 ,-999 ,-51 ,-999 ,-999 ,-999 ,-999 ,-999 ,-51 ,-51 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-52 ,-999 ,-999 ,-999 ,-52 ,-52 ,-999 ,-999 ,-52 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-52 ,-52 ,-52 ,-52 ,-52 ,-999 ,-999 ,-52 ,-999 ,-999 ,-999 ,-999 ,-999 ,-52 ,-999 ,-999 ,-52 ,-52 ,-52 ,-999 ,-52 ,-999 ,-52 ,-52 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-52 ,-999 ,-999 ,-52 ,-999 ,-999 ,-999 ,-999 ,-999 ,-52 ,-52 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-54 ,-999 ,-999 ,-999 ,-54 ,-54 ,-999 ,-999 ,-54 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-54 ,-54 ,-54 ,-54 ,-54 ,-999 ,-999 ,-54 ,-999 ,-999 ,-999 ,-999 ,-999 ,-54 ,-999 ,-999 ,-54 ,-54 ,-54 ,-999 ,-54 ,-999 ,-54 ,-54 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-54 ,-999 ,-999 ,-54 ,-999 ,-999 ,-999 ,-999 ,-999 ,-54 ,-54 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-41 ,-999 ,-999 ,-999 ,-41 ,-41 ,-999 ,-999 ,-41 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-41 ,-41 ,-41 ,-41 ,-41 ,-999 ,-999 ,-41 ,-999 ,-999 ,-999 ,-999 ,-999 ,-41 ,-999 ,-999 ,-41 ,-41 ,-41 ,-999 ,-41 ,-999 ,-41 ,-41 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-41 ,-999 ,-999 ,-41 ,-999 ,-999 ,-999 ,-999 ,-999 ,-41 ,-41 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-53 ,-999 ,-999 ,-999 ,-53 ,-53 ,-999 ,-999 ,-53 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-53 ,-53 ,-53 ,-53 ,-53 ,-999 ,-999 ,-53 ,-999 ,-999 ,-999 ,-999 ,-999 ,-53 ,-999 ,-999 ,-53 ,-53 ,-53 ,-999 ,-53 ,-999 ,-53 ,-53 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-53 ,-999 ,-999 ,-53 ,-999 ,-999 ,-999 ,-999 ,-999 ,-53 ,-53 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-46 ,-999 ,-999 ,-999 ,-46 ,-46 ,-999 ,-999 ,-46 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-46 ,-46 ,-46 ,-46 ,-46 ,-999 ,-999 ,-46 ,-999 ,-999 ,-999 ,-999 ,-999 ,-46 ,-999 ,-999 ,-46 ,-46 ,-46 ,-999 ,-46 ,-999 ,-46 ,-46 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-46 ,-999 ,-999 ,-46 ,-999 ,-999 ,-999 ,-999 ,-999 ,-46 ,-46 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-39 ,-39 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-39 ,-39 ,-39 ,-39 ,-39 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-999 ,-999 ,-39 ,-999 ,-999 ,-39 ,-39 ,-39 ,-999 ,-39 ,-999 ,-39 ,-39 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-39 ,-999 ,-999 ,-39 ,-999 ,-999 ,-999 ,-999 ,-999 ,-39 ,-39 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-55 ,-999 ,-999 ,-999 ,-55 ,-55 ,-999 ,-999 ,-55 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-55 ,-55 ,-55 ,-55 ,-55 ,-999 ,-999 ,-55 ,-999 ,-999 ,-999 ,-999 ,-999 ,-55 ,-999 ,-999 ,-55 ,-55 ,-55 ,-999 ,-55 ,-999 ,-55 ,-55 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-55 ,-999 ,-999 ,-55 ,-999 ,-999 ,-999 ,-999 ,-999 ,-55 ,-55 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-42 ,-999 ,-999 ,-999 ,-42 ,-42 ,-999 ,-999 ,-42 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-42 ,-42 ,-42 ,-42 ,-42 ,-999 ,-999 ,-42 ,-999 ,-999 ,-999 ,-999 ,-999 ,-42 ,-999 ,-999 ,-42 ,-42 ,-42 ,-999 ,-42 ,-999 ,-42 ,-42 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-42 ,-999 ,-999 ,-42 ,-999 ,-999 ,-999 ,-999 ,-999 ,-42 ,-42 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-44 ,-999 ,-999 ,-999 ,-44 ,-44 ,-999 ,-999 ,-44 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-44 ,-44 ,-44 ,-44 ,-44 ,-999 ,-999 ,-44 ,-999 ,-999 ,-999 ,-999 ,-999 ,-44 ,-999 ,-999 ,-44 ,-44 ,-44 ,-999 ,-44 ,-999 ,-44 ,-44 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-44 ,-999 ,-999 ,-44 ,-999 ,-999 ,-999 ,-999 ,-999 ,-44 ,-44 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-47 ,-999 ,-999 ,-999 ,-47 ,-47 ,-999 ,-999 ,-47 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-47 ,-47 ,-47 ,-47 ,-47 ,-999 ,-999 ,-47 ,-999 ,-999 ,-999 ,-999 ,-999 ,-47 ,-999 ,-999 ,-47 ,-47 ,-47 ,-999 ,-47 ,-999 ,-47 ,-47 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-47 ,-999 ,-999 ,-47 ,-999 ,-999 ,-999 ,-999 ,-999 ,-47 ,-47 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-57 ,-999 ,-999 ,-999 ,-57 ,-57 ,-999 ,-999 ,-57 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-57 ,-57 ,-57 ,-57 ,-57 ,-999 ,-999 ,-57 ,-999 ,-999 ,-999 ,-999 ,-999 ,-57 ,-999 ,-999 ,-57 ,-57 ,-57 ,-999 ,-57 ,-999 ,-57 ,-57 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-57 ,-999 ,-999 ,-57 ,-999 ,-999 ,-999 ,-999 ,-999 ,-57 ,-57 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-38 ,-999 ,-999 ,-999 ,-38 ,-38 ,-999 ,-999 ,-38 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-38 ,-38 ,-38 ,-38 ,-38 ,-999 ,-999 ,-38 ,-999 ,-999 ,-999 ,-999 ,-999 ,-38 ,-999 ,-999 ,-38 ,-38 ,-38 ,-999 ,-38 ,-999 ,-38 ,-38 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-38 ,-999 ,-999 ,-38 ,-999 ,-999 ,-999 ,-999 ,-999 ,-38 ,-38 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-56 ,-999 ,-999 ,-999 ,-56 ,-56 ,-999 ,-999 ,-56 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-56 ,-56 ,-56 ,-56 ,-56 ,-999 ,-999 ,-56 ,-999 ,-999 ,-999 ,-999 ,-999 ,-56 ,-999 ,-999 ,-56 ,-56 ,-56 ,-999 ,-56 ,-999 ,-56 ,-56 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-56 ,-999 ,-999 ,-56 ,-999 ,-999 ,-999 ,-999 ,-999 ,-56 ,-56 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-45 ,-999 ,-999 ,-999 ,-45 ,-45 ,-999 ,-999 ,-45 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-45 ,-45 ,-45 ,-45 ,-45 ,-999 ,-999 ,-45 ,-999 ,-999 ,-999 ,-999 ,-999 ,-45 ,-999 ,-999 ,-45 ,-45 ,-45 ,-999 ,-45 ,-999 ,-45 ,-45 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-45 ,-999 ,-999 ,-45 ,-999 ,-999 ,-999 ,-999 ,-999 ,-45 ,-45 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,134 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-43 ,-999 ,-999 ,-999 ,-43 ,-43 ,-999 ,-999 ,-43 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-43 ,-43 ,-43 ,-43 ,-43 ,-999 ,-999 ,-43 ,-999 ,-999 ,-999 ,-999 ,-999 ,-43 ,-999 ,-999 ,-43 ,-43 ,-43 ,-999 ,-43 ,-999 ,-43 ,-43 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-43 ,-999 ,-999 ,-43 ,-999 ,-999 ,-999 ,-999 ,-999 ,-43 ,-43 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-40 ,-999 ,-999 ,-999 ,-40 ,-40 ,-999 ,-999 ,-40 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-40 ,-40 ,-40 ,-40 ,-40 ,-999 ,-999 ,-40 ,-999 ,-999 ,-999 ,-999 ,-999 ,-40 ,-999 ,-999 ,-40 ,-40 ,-40 ,-999 ,-40 ,-999 ,-40 ,-40 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-40 ,-999 ,-999 ,-40 ,-999 ,-999 ,-999 ,-999 ,-999 ,-40 ,-40 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,211 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-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 ,212 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,213 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,214 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,215 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,216 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,217 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,218 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,219 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,220 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-63 ,-999 ,-999 ,-999 ,-63 ,-63 ,-999 ,-999 ,-63 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-63 ,-63 ,-63 ,-63 ,-63 ,-999 ,-999 ,-63 ,-999 ,-999 ,-999 ,-999 ,-999 ,-63 ,-999 ,-999 ,-63 ,-63 ,-63 ,-999 ,-63 ,-999 ,-63 ,-63 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-63 ,-999 ,-999 ,-63 ,-999 ,-999 ,-999 ,-999 ,-999 ,-63 ,-63 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-69 ,-999 ,-999 ,-999 ,-69 ,-69 ,-999 ,-999 ,-69 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-69 ,-69 ,-69 ,-69 ,-69 ,-999 ,-999 ,-69 ,-999 ,-999 ,-999 ,-999 ,-999 ,-69 ,-999 ,-999 ,-69 ,-69 ,-69 ,-999 ,-69 ,-999 ,-69 ,-69 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-69 ,-999 ,-999 ,-69 ,-999 ,-999 ,-999 ,-999 ,-999 ,-69 ,-69 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,53 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-58 ,-999 ,-999 ,-999 ,-58 ,-58 ,-999 ,-999 ,-58 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-58 ,-58 ,-58 ,-58 ,-58 ,-999 ,-999 ,-58 ,-999 ,-999 ,-999 ,-999 ,-999 ,-58 ,-999 ,-999 ,-58 ,-58 ,-58 ,-999 ,-58 ,-999 ,-58 ,-58 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-58 ,-999 ,-999 ,-58 ,-999 ,-999 ,-999 ,-999 ,-999 ,-58 ,-58 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-59 ,-999 ,-999 ,-999 ,-59 ,-59 ,-999 ,-999 ,-59 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-59 ,-59 ,-59 ,-59 ,-59 ,-999 ,-999 ,-59 ,-999 ,-999 ,-999 ,-999 ,-999 ,-59 ,-999 ,-999 ,-59 ,-59 ,-59 ,-999 ,-59 ,-999 ,-59 ,-59 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-59 ,-999 ,-999 ,-59 ,-999 ,-999 ,-999 ,-999 ,-999 ,-59 ,-59 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-62 ,-999 ,-999 ,-999 ,-62 ,-62 ,-999 ,-999 ,-62 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-62 ,-62 ,-62 ,-62 ,-62 ,-999 ,-999 ,-62 ,-999 ,-999 ,-999 ,-999 ,-999 ,-62 ,-999 ,-999 ,-62 ,-62 ,-62 ,-999 ,-62 ,-999 ,-62 ,-62 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-62 ,-999 ,-999 ,-62 ,-999 ,-999 ,-999 ,-999 ,-999 ,-62 ,-62 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-60 ,-999 ,-999 ,-999 ,-60 ,-60 ,-999 ,-999 ,-60 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-60 ,-60 ,-60 ,-60 ,-60 ,-999 ,-999 ,-60 ,-999 ,-999 ,-999 ,-999 ,-999 ,-60 ,-999 ,-999 ,-60 ,-60 ,-60 ,-999 ,-60 ,-999 ,-60 ,-60 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-60 ,-999 ,-999 ,-60 ,-999 ,-999 ,-999 ,-999 ,-999 ,-60 ,-60 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-66 ,-999 ,-999 ,-999 ,-66 ,-66 ,-999 ,-999 ,-66 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-66 ,-66 ,-66 ,-66 ,-66 ,-999 ,-999 ,-66 ,-999 ,-999 ,-999 ,-999 ,-999 ,-66 ,-999 ,-999 ,-66 ,-66 ,-66 ,-999 ,-66 ,-999 ,-66 ,-66 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-66 ,-999 ,-999 ,-66 ,-999 ,-999 ,-999 ,-999 ,-999 ,-66 ,-66 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-61 ,-999 ,-999 ,-999 ,-61 ,-61 ,-999 ,-999 ,-61 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-61 ,-61 ,-61 ,-61 ,-61 ,-999 ,-999 ,-61 ,-999 ,-999 ,-999 ,-999 ,-999 ,-61 ,-999 ,-999 ,-61 ,-61 ,-61 ,-999 ,-61 ,-999 ,-61 ,-61 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-61 ,-999 ,-999 ,-61 ,-999 ,-999 ,-999 ,-999 ,-999 ,-61 ,-61 },
{-999 ,31 ,36 ,34 ,54 ,-999 ,39 ,44 ,22 ,41 ,-999 ,23 ,16 ,-999 ,56 ,50 ,49 ,28 ,52 ,27 ,-999 ,42 ,58 ,-999 ,-999 ,33 ,-999 ,-999 ,35 ,26 ,18 ,24 ,46 ,-999 ,37 ,40 ,-999 ,-999 ,-999 ,55 ,-999 ,43 ,-999 ,-999 ,38 ,45 ,29 ,32 ,21 ,19 ,17 ,-999 ,51 ,30 ,-999 ,25 ,48 ,47 ,57 ,20 ,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 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,223 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,224 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-67 ,-999 ,-999 ,-999 ,-67 ,-67 ,-999 ,-999 ,-67 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-67 ,-67 ,-67 ,-67 ,-67 ,-999 ,-999 ,-67 ,-999 ,-999 ,-999 ,-999 ,-999 ,-67 ,-999 ,-999 ,-67 ,-67 ,-67 ,-999 ,-67 ,-999 ,-67 ,-67 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-67 ,-999 ,-999 ,-67 ,-999 ,-999 ,-999 ,-999 ,-999 ,-67 ,-67 },
{-999 ,-999 ,-999 ,-999 ,-999 ,-64 ,-999 ,-999 ,-999 ,-64 ,-64 ,-999 ,-999 ,-64 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-64 ,-64 ,-64 ,-64 ,-64 ,-999 ,-999 ,-64 ,-999 ,-999 ,-999 ,-999 ,-999 ,-64 ,-999 ,-999 ,-64 ,-64 ,-64 ,-999 ,-64 ,-999 ,-64 ,-64 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-999 ,-64 ,-999 ,-999 ,-64 ,-999 ,-999 ,-999 ,-999 ,-999 ,-64 ,-64 }
};
const struct _TOKEN LalrSemanticRules[RULES_COUNT]=
{
{UNKNOWN, ""},
{UNKNOWN, ""},
{SEMANTIC_RULE, "@OR"},
{UNKNOWN, ""},
{SEMANTIC_RULE, "@AND"},
{UNKNOWN, ""},
{SEMANTIC_RULE, "@OR"},
{UNKNOWN, ""},
{SEMANTIC_RULE, "@XOR"},
{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, ""},
{SEMANTIC_RULE, "@ASR"},
{SEMANTIC_RULE, "@ASL"},
{UNKNOWN, ""},
{SEMANTIC_RULE, "@ADD"},
{SEMANTIC_RULE, "@SUB"},
{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, "@DISASSEMBLE_LEN"},
{SEMANTIC_RULE, "@DISASSEMBLE_LEN32"},
{SEMANTIC_RULE, "@DISASSEMBLE_LEN64"},
{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, "@WCSCMP"},
{SEMANTIC_RULE, "@INTERLOCKED_COMPARE_EXCHANGE"},
{SEMANTIC_RULE, "@STRLEN"},
{SEMANTIC_RULE, "@STRCMP"},
{SEMANTIC_RULE, "@MEMCMP"},
{SEMANTIC_RULE, "@WCSLEN"},
{SEMANTIC_RULE, "@WCSCMP"},
{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"},
{SEMANTIC_RULE, "@PUSH"},
{SEMANTIC_RULE, "@PUSH"},
{UNKNOWN, ""},
{UNKNOWN, ""},
{UNKNOWN, ""},
{UNKNOWN, ""}
};