diff --git a/go/test/endtoend/vtgate/unsharded/main_test.go b/go/test/endtoend/vtgate/unsharded/main_test.go index 79f789ee756..323316ea8f3 100644 --- a/go/test/endtoend/vtgate/unsharded/main_test.go +++ b/go/test/endtoend/vtgate/unsharded/main_test.go @@ -322,6 +322,30 @@ func TestCallProcedure(t *testing.T) { require.Contains(t, err.Error(), "OUT and INOUT parameters are not supported") } +func TestTempTable(t *testing.T) { + defer cluster.PanicHandler(t) + ctx := context.Background() + vtParams := mysql.ConnParams{ + Host: "localhost", + Port: clusterInstance.VtgateMySQLPort, + } + conn1, err := mysql.Connect(ctx, &vtParams) + require.NoError(t, err) + defer conn1.Close() + + _ = exec(t, conn1, `create temporary table temp_t(id bigint primary key)`) + _ = exec(t, conn1, `insert into temp_t(id) values (1),(2),(3)`) + assertMatches(t, conn1, `select id from temp_t order by id`, `[[INT64(1)] [INT64(2)] [INT64(3)]]`) + assertMatches(t, conn1, `select count(table_id) from information_schema.innodb_temp_table_info`, `[[INT64(1)]]`) + + conn2, err := mysql.Connect(ctx, &vtParams) + require.NoError(t, err) + defer conn2.Close() + + assertMatches(t, conn2, `select count(table_id) from information_schema.innodb_temp_table_info`, `[[INT64(1)]]`) + execAssertError(t, conn2, `show create table temp_t`, `Table 'vt_customer.temp_t' doesn't exist (errno 1146) (sqlstate 42S02)`) +} + func exec(t *testing.T, conn *mysql.Conn, query string) *sqltypes.Result { t.Helper() qr, err := conn.ExecuteFetch(query, 1000, true) diff --git a/go/vt/proto/query/query.pb.go b/go/vt/proto/query/query.pb.go index 7b19f0c72fc..a1b695e59e6 100644 --- a/go/vt/proto/query/query.pb.go +++ b/go/vt/proto/query/query.pb.go @@ -897,10 +897,14 @@ type ExecuteOptions struct { SkipQueryPlanCache bool `protobuf:"varint,10,opt,name=skip_query_plan_cache,json=skipQueryPlanCache,proto3" json:"skip_query_plan_cache,omitempty"` // PlannerVersion specifies which planner to use. // If DEFAULT is chosen, whatever vtgate was started with will be used - PlannerVersion ExecuteOptions_PlannerVersion `protobuf:"varint,11,opt,name=planner_version,json=plannerVersion,proto3,enum=query.ExecuteOptions_PlannerVersion" json:"planner_version,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + PlannerVersion ExecuteOptions_PlannerVersion `protobuf:"varint,11,opt,name=planner_version,json=plannerVersion,proto3,enum=query.ExecuteOptions_PlannerVersion" json:"planner_version,omitempty"` + // has_created_temp_tables signals whether plans created in this session should be cached or not + // if the user has created temp tables, Vitess will not reuse plans created for this session in other sessions. + // The current session can still use other sessions cached plans. + HasCreatedTempTables bool `protobuf:"varint,12,opt,name=has_created_temp_tables,json=hasCreatedTempTables,proto3" json:"has_created_temp_tables,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ExecuteOptions) Reset() { *m = ExecuteOptions{} } @@ -977,6 +981,13 @@ func (m *ExecuteOptions) GetPlannerVersion() ExecuteOptions_PlannerVersion { return ExecuteOptions_DEFAULT_PLANNER } +func (m *ExecuteOptions) GetHasCreatedTempTables() bool { + if m != nil { + return m.HasCreatedTempTables + } + return false +} + // Field describes a single column returned by a query type Field struct { // name of the field as returned by mysql C API @@ -4373,209 +4384,211 @@ func init() { func init() { proto.RegisterFile("query.proto", fileDescriptor_5c6ac9b241082464) } var fileDescriptor_5c6ac9b241082464 = []byte{ - // 3249 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x4b, 0x70, 0x23, 0x49, - 0x5a, 0xee, 0x2a, 0x3d, 0x2c, 0xfd, 0xb2, 0xe4, 0x74, 0xda, 0xee, 0xd1, 0xb8, 0xe7, 0xe1, 0xad, - 0xdd, 0xd9, 0x6d, 0x0c, 0xb8, 0x7b, 0xdc, 0xbd, 0x4d, 0x33, 0xbb, 0xc0, 0x94, 0xe5, 0xb2, 0x47, - 0xdd, 0x52, 0x49, 0x9d, 0x2a, 0xb9, 0xb7, 0x27, 0x88, 0xa8, 0x28, 0x4b, 0xd9, 0x72, 0x85, 0x4b, - 0x55, 0x72, 0x55, 0xd9, 0x3d, 0xba, 0x35, 0x2c, 0xcb, 0xf2, 0x66, 0x79, 0xb3, 0x6c, 0xb0, 0x41, - 0x04, 0x07, 0x82, 0x0b, 0x67, 0xce, 0x1c, 0xe6, 0xc0, 0x81, 0x08, 0x8e, 0xc0, 0x01, 0x38, 0x10, - 0x70, 0xda, 0x20, 0x38, 0x70, 0xd8, 0x03, 0x41, 0xe4, 0xa3, 0x4a, 0x92, 0xad, 0xe9, 0xf6, 0xf6, - 0xb2, 0x41, 0x74, 0xcf, 0xdc, 0xf2, 0x7f, 0xe4, 0xe3, 0xff, 0xf2, 0xcf, 0xff, 0xff, 0x2b, 0x2b, - 0xa1, 0x74, 0x72, 0x4a, 0xc3, 0xf1, 0xd6, 0x28, 0x0c, 0xe2, 0x00, 0xe7, 0x38, 0xb1, 0x5e, 0x89, - 0x83, 0x51, 0xd0, 0x77, 0x62, 0x47, 0xb0, 0xd7, 0x4b, 0x67, 0x71, 0x38, 0xea, 0x09, 0x42, 0xfb, - 0x86, 0x02, 0x79, 0xcb, 0x09, 0x07, 0x34, 0xc6, 0xeb, 0x50, 0x38, 0xa6, 0xe3, 0x68, 0xe4, 0xf4, - 0x68, 0x55, 0xd9, 0x50, 0xae, 0x17, 0x49, 0x4a, 0xe3, 0x55, 0xc8, 0x45, 0x47, 0x4e, 0xd8, 0xaf, - 0xaa, 0x5c, 0x20, 0x08, 0xfc, 0x65, 0x28, 0xc5, 0xce, 0xa1, 0x47, 0x63, 0x3b, 0x1e, 0x8f, 0x68, - 0x35, 0xb3, 0xa1, 0x5c, 0xaf, 0x6c, 0xaf, 0x6e, 0xa5, 0xf3, 0x59, 0x5c, 0x68, 0x8d, 0x47, 0x94, - 0x40, 0x9c, 0xb6, 0x31, 0x86, 0x6c, 0x8f, 0x7a, 0x5e, 0x35, 0xcb, 0xc7, 0xe2, 0x6d, 0x6d, 0x17, - 0x2a, 0x07, 0xd6, 0xbe, 0x13, 0xd3, 0x9a, 0xe3, 0x79, 0x34, 0xac, 0xef, 0xb2, 0xe5, 0x9c, 0x46, - 0x34, 0xf4, 0x9d, 0x61, 0xba, 0x9c, 0x84, 0xc6, 0x57, 0x21, 0x3f, 0x08, 0x83, 0xd3, 0x51, 0x54, - 0x55, 0x37, 0x32, 0xd7, 0x8b, 0x44, 0x52, 0xda, 0xcf, 0x03, 0x18, 0x67, 0xd4, 0x8f, 0xad, 0xe0, - 0x98, 0xfa, 0xf8, 0x0d, 0x28, 0xc6, 0xee, 0x90, 0x46, 0xb1, 0x33, 0x1c, 0xf1, 0x21, 0x32, 0x64, - 0xc2, 0xf8, 0x04, 0x93, 0xd6, 0xa1, 0x30, 0x0a, 0x22, 0x37, 0x76, 0x03, 0x9f, 0xdb, 0x53, 0x24, - 0x29, 0xad, 0xfd, 0x2c, 0xe4, 0x0e, 0x1c, 0xef, 0x94, 0xe2, 0xb7, 0x21, 0xcb, 0x0d, 0x56, 0xb8, - 0xc1, 0xa5, 0x2d, 0x01, 0x3a, 0xb7, 0x93, 0x0b, 0xd8, 0xd8, 0x67, 0x4c, 0x93, 0x8f, 0xbd, 0x48, - 0x04, 0xa1, 0x1d, 0xc3, 0xe2, 0x8e, 0xeb, 0xf7, 0x0f, 0x9c, 0xd0, 0x65, 0x60, 0xbc, 0xe0, 0x30, - 0xf8, 0x0b, 0x90, 0xe7, 0x8d, 0xa8, 0x9a, 0xd9, 0xc8, 0x5c, 0x2f, 0x6d, 0x2f, 0xca, 0x8e, 0x7c, - 0x6d, 0x44, 0xca, 0xb4, 0xbf, 0x51, 0x00, 0x76, 0x82, 0x53, 0xbf, 0xff, 0x80, 0x09, 0x31, 0x82, - 0x4c, 0x74, 0xe2, 0x49, 0x20, 0x59, 0x13, 0xdf, 0x87, 0xca, 0xa1, 0xeb, 0xf7, 0xed, 0x33, 0xb9, - 0x1c, 0x81, 0x65, 0x69, 0xfb, 0x0b, 0x72, 0xb8, 0x49, 0xe7, 0xad, 0xe9, 0x55, 0x47, 0x86, 0x1f, - 0x87, 0x63, 0x52, 0x3e, 0x9c, 0xe6, 0xad, 0x77, 0x01, 0x5f, 0x54, 0x62, 0x93, 0x1e, 0xd3, 0x71, - 0x32, 0xe9, 0x31, 0x1d, 0xe3, 0x1f, 0x9b, 0xb6, 0xa8, 0xb4, 0xbd, 0x92, 0xcc, 0x35, 0xd5, 0x57, - 0x9a, 0xf9, 0x9e, 0x7a, 0x57, 0xd1, 0xbe, 0x9f, 0x87, 0x8a, 0xf1, 0x11, 0xed, 0x9d, 0xc6, 0xb4, - 0x35, 0x62, 0x7b, 0x10, 0xe1, 0x26, 0x2c, 0xb9, 0x7e, 0xcf, 0x3b, 0xed, 0xd3, 0xbe, 0xfd, 0xd8, - 0xa5, 0x5e, 0x3f, 0xe2, 0x7e, 0x54, 0x49, 0xd7, 0x3d, 0xab, 0xbf, 0x55, 0x97, 0xca, 0x7b, 0x5c, - 0x97, 0x54, 0xdc, 0x19, 0x1a, 0x6f, 0xc2, 0x72, 0xcf, 0x73, 0xa9, 0x1f, 0xdb, 0x8f, 0x99, 0xbd, - 0x76, 0x18, 0x3c, 0x89, 0xaa, 0xb9, 0x0d, 0xe5, 0x7a, 0x81, 0x2c, 0x09, 0xc1, 0x1e, 0xe3, 0x93, - 0xe0, 0x49, 0x84, 0xdf, 0x83, 0xc2, 0x93, 0x20, 0x3c, 0xf6, 0x02, 0xa7, 0x5f, 0xcd, 0xf3, 0x39, - 0xdf, 0x9a, 0x3f, 0xe7, 0x43, 0xa9, 0x45, 0x52, 0x7d, 0x7c, 0x1d, 0x50, 0x74, 0xe2, 0xd9, 0x11, - 0xf5, 0x68, 0x2f, 0xb6, 0x3d, 0x77, 0xe8, 0xc6, 0xd5, 0x02, 0x77, 0xc9, 0x4a, 0x74, 0xe2, 0x75, - 0x38, 0xbb, 0xc1, 0xb8, 0xd8, 0x86, 0xb5, 0x38, 0x74, 0xfc, 0xc8, 0xe9, 0xb1, 0xc1, 0x6c, 0x37, - 0x0a, 0x3c, 0x87, 0xbb, 0x63, 0x91, 0x4f, 0xb9, 0x39, 0x7f, 0x4a, 0x6b, 0xd2, 0xa5, 0x9e, 0xf4, - 0x20, 0xab, 0xf1, 0x1c, 0x2e, 0x7e, 0x17, 0xd6, 0xa2, 0x63, 0x77, 0x64, 0xf3, 0x71, 0xec, 0x91, - 0xe7, 0xf8, 0x76, 0xcf, 0xe9, 0x1d, 0xd1, 0x2a, 0x70, 0xb3, 0x31, 0x13, 0xf2, 0x7d, 0x6f, 0x7b, - 0x8e, 0x5f, 0x63, 0x12, 0x06, 0x3a, 0xd3, 0xf3, 0x69, 0x68, 0x9f, 0xd1, 0x30, 0x62, 0xab, 0x29, - 0x3d, 0x0b, 0xf4, 0xb6, 0x50, 0x3e, 0x10, 0xba, 0xa4, 0x32, 0x9a, 0xa1, 0xb5, 0xaf, 0x40, 0x65, - 0x76, 0x5b, 0xf0, 0x32, 0x94, 0xad, 0x47, 0x6d, 0xc3, 0xd6, 0xcd, 0x5d, 0xdb, 0xd4, 0x9b, 0x06, - 0xba, 0x82, 0xcb, 0x50, 0xe4, 0xac, 0x96, 0xd9, 0x78, 0x84, 0x14, 0xbc, 0x00, 0x19, 0xbd, 0xd1, - 0x40, 0xaa, 0x76, 0x17, 0x0a, 0x09, 0xbe, 0x78, 0x09, 0x4a, 0x5d, 0xb3, 0xd3, 0x36, 0x6a, 0xf5, - 0xbd, 0xba, 0xb1, 0x8b, 0xae, 0xe0, 0x02, 0x64, 0x5b, 0x0d, 0xab, 0x8d, 0x14, 0xd1, 0xd2, 0xdb, - 0x48, 0x65, 0x3d, 0x77, 0x77, 0x74, 0x94, 0xd1, 0xfe, 0x42, 0x81, 0xd5, 0x79, 0x38, 0xe1, 0x12, - 0x2c, 0xec, 0x1a, 0x7b, 0x7a, 0xb7, 0x61, 0xa1, 0x2b, 0x78, 0x05, 0x96, 0x88, 0xd1, 0x36, 0x74, - 0x4b, 0xdf, 0x69, 0x18, 0x36, 0x31, 0xf4, 0x5d, 0xa4, 0x60, 0x0c, 0x15, 0xd6, 0xb2, 0x6b, 0xad, - 0x66, 0xb3, 0x6e, 0x59, 0xc6, 0x2e, 0x52, 0xf1, 0x2a, 0x20, 0xce, 0xeb, 0x9a, 0x13, 0x6e, 0x06, - 0x23, 0x58, 0xec, 0x18, 0xa4, 0xae, 0x37, 0xea, 0x1f, 0xb2, 0x01, 0x50, 0x16, 0x7f, 0x0e, 0xde, - 0xac, 0xb5, 0xcc, 0x4e, 0xbd, 0x63, 0x19, 0xa6, 0x65, 0x77, 0x4c, 0xbd, 0xdd, 0xf9, 0xa0, 0x65, - 0xf1, 0x91, 0x85, 0x71, 0x39, 0x5c, 0x01, 0xd0, 0xbb, 0x56, 0x4b, 0x8c, 0x83, 0xf2, 0xda, 0x09, - 0x54, 0x66, 0x21, 0x64, 0xab, 0x92, 0x4b, 0xb4, 0xdb, 0x0d, 0xdd, 0x34, 0x0d, 0x82, 0xae, 0xe0, - 0x3c, 0xa8, 0x07, 0xb7, 0x84, 0xad, 0xfb, 0xd4, 0xbf, 0x8d, 0x54, 0x36, 0x10, 0x6b, 0xed, 0x87, - 0x94, 0xf6, 0xc7, 0x28, 0xc3, 0xd6, 0xcd, 0xe8, 0x06, 0x7d, 0x1c, 0x6f, 0x13, 0x77, 0x70, 0x14, - 0xa3, 0x2c, 0x5b, 0x37, 0xe3, 0x3d, 0x74, 0xe3, 0xa3, 0x3d, 0xc7, 0xf3, 0x0e, 0x9d, 0xde, 0x31, - 0xca, 0xdd, 0xcb, 0x16, 0x14, 0xa4, 0xde, 0xcb, 0x16, 0x54, 0x94, 0xb9, 0x97, 0x2d, 0x64, 0x50, - 0x56, 0xfb, 0x6b, 0x15, 0x72, 0x7c, 0x7b, 0x58, 0xc0, 0x9e, 0x0a, 0xc3, 0xbc, 0x9d, 0x06, 0x2f, - 0xf5, 0x19, 0xc1, 0x8b, 0xc7, 0x7c, 0x19, 0x46, 0x05, 0x81, 0xaf, 0x41, 0x31, 0x08, 0x07, 0xb6, - 0x90, 0x88, 0x04, 0x50, 0x08, 0xc2, 0x01, 0xcf, 0x14, 0x2c, 0xf8, 0xb2, 0xbc, 0x71, 0xe8, 0x44, - 0x94, 0x9f, 0xc1, 0x22, 0x49, 0x69, 0xfc, 0x3a, 0x30, 0x3d, 0x9b, 0xaf, 0x23, 0xcf, 0x65, 0x0b, - 0x41, 0x38, 0x30, 0xd9, 0x52, 0x3e, 0x0f, 0xe5, 0x5e, 0xe0, 0x9d, 0x0e, 0x7d, 0xdb, 0xa3, 0xfe, - 0x20, 0x3e, 0xaa, 0x2e, 0x6c, 0x28, 0xd7, 0xcb, 0x64, 0x51, 0x30, 0x1b, 0x9c, 0x87, 0xab, 0xb0, - 0xd0, 0x3b, 0x72, 0xc2, 0x88, 0x8a, 0x73, 0x57, 0x26, 0x09, 0xc9, 0x67, 0xa5, 0x3d, 0x77, 0xe8, - 0x78, 0x11, 0x3f, 0x63, 0x65, 0x92, 0xd2, 0xcc, 0x88, 0xc7, 0x9e, 0x33, 0x88, 0xf8, 0xd9, 0x28, - 0x13, 0x41, 0xe0, 0xb7, 0xa1, 0x24, 0x27, 0xe4, 0x10, 0x94, 0xf8, 0x72, 0x40, 0xb0, 0x18, 0x02, - 0xda, 0x4f, 0x41, 0x86, 0x04, 0x4f, 0xd8, 0x9c, 0x62, 0x45, 0x51, 0x55, 0xd9, 0xc8, 0x5c, 0xc7, - 0x24, 0x21, 0x59, 0x02, 0x93, 0x31, 0x5c, 0x84, 0xf6, 0x24, 0x6a, 0x7f, 0x47, 0x81, 0x12, 0x3f, - 0x7b, 0x84, 0x46, 0xa7, 0x5e, 0xcc, 0x62, 0xbd, 0x0c, 0x72, 0xca, 0x4c, 0xac, 0xe7, 0xfb, 0x42, - 0xa4, 0x8c, 0x01, 0xc0, 0xe2, 0x96, 0xed, 0x3c, 0x7e, 0x4c, 0x7b, 0x31, 0x15, 0x29, 0x2d, 0x4b, - 0x16, 0x19, 0x53, 0x97, 0x3c, 0x86, 0xbc, 0xeb, 0x47, 0x34, 0x8c, 0x6d, 0xb7, 0xcf, 0xf7, 0x24, - 0x4b, 0x0a, 0x82, 0x51, 0xef, 0xe3, 0xb7, 0x20, 0xcb, 0x23, 0x5f, 0x96, 0xcf, 0x02, 0x72, 0x16, - 0x12, 0x3c, 0x21, 0x9c, 0x7f, 0x2f, 0x5b, 0xc8, 0xa1, 0xbc, 0xf6, 0x55, 0x58, 0xe4, 0x8b, 0x7b, - 0xe8, 0x84, 0xbe, 0xeb, 0x0f, 0x78, 0x22, 0x0f, 0xfa, 0xc2, 0x2f, 0xca, 0x84, 0xb7, 0x99, 0xcd, - 0x43, 0x1a, 0x45, 0xce, 0x80, 0xca, 0xc4, 0x9a, 0x90, 0xda, 0x9f, 0x65, 0xa0, 0xd4, 0x89, 0x43, - 0xea, 0x0c, 0x79, 0x8e, 0xc6, 0x5f, 0x05, 0x88, 0x62, 0x27, 0xa6, 0x43, 0xea, 0xc7, 0x89, 0x7d, - 0x6f, 0xc8, 0x99, 0xa7, 0xf4, 0xb6, 0x3a, 0x89, 0x12, 0x99, 0xd2, 0xc7, 0xdb, 0x50, 0xa2, 0x4c, - 0x6c, 0xc7, 0x2c, 0xd7, 0xcb, 0x7c, 0xb2, 0x9c, 0x84, 0xa3, 0xb4, 0x08, 0x20, 0x40, 0xd3, 0xf6, - 0xfa, 0x77, 0x55, 0x28, 0xa6, 0xa3, 0x61, 0x1d, 0x0a, 0x3d, 0x27, 0xa6, 0x83, 0x20, 0x1c, 0xcb, - 0x14, 0xfc, 0xce, 0xb3, 0x66, 0xdf, 0xaa, 0x49, 0x65, 0x92, 0x76, 0xc3, 0x6f, 0x82, 0xa8, 0x6b, - 0x84, 0x5b, 0x0a, 0x7b, 0x8b, 0x9c, 0xc3, 0x1d, 0xf3, 0x3d, 0xc0, 0xa3, 0xd0, 0x1d, 0x3a, 0xe1, - 0xd8, 0x3e, 0xa6, 0xe3, 0x24, 0x5d, 0x65, 0xe6, 0xec, 0x24, 0x92, 0x7a, 0xf7, 0xe9, 0x58, 0x46, - 0xc4, 0xbb, 0xb3, 0x7d, 0xa5, 0xb7, 0x5c, 0xdc, 0x9f, 0xa9, 0x9e, 0xbc, 0x00, 0x88, 0x92, 0x54, - 0x9f, 0xe3, 0x8e, 0xc5, 0x9a, 0xda, 0x97, 0xa0, 0x90, 0x2c, 0x1e, 0x17, 0x21, 0x67, 0x84, 0x61, - 0x10, 0xa2, 0x2b, 0x3c, 0x30, 0x36, 0x1b, 0x22, 0xb6, 0xee, 0xee, 0xb2, 0xd8, 0xfa, 0xaf, 0x6a, - 0x9a, 0x6f, 0x09, 0x3d, 0x39, 0xa5, 0x51, 0x8c, 0x7f, 0x0e, 0x56, 0x28, 0x77, 0x21, 0xf7, 0x8c, - 0xda, 0x3d, 0x5e, 0x9c, 0x31, 0x07, 0x52, 0x38, 0xde, 0x4b, 0x5b, 0xa2, 0x96, 0x4c, 0x8a, 0x36, - 0xb2, 0x9c, 0xea, 0x4a, 0x56, 0x1f, 0x1b, 0xb0, 0xe2, 0x0e, 0x87, 0xb4, 0xef, 0x3a, 0xf1, 0xf4, - 0x00, 0x62, 0xc3, 0xd6, 0x92, 0xda, 0x65, 0xa6, 0xf6, 0x23, 0xcb, 0x69, 0x8f, 0x74, 0x98, 0x77, - 0x20, 0x1f, 0xf3, 0x3a, 0x95, 0xfb, 0x6e, 0x69, 0xbb, 0x9c, 0x44, 0x1c, 0xce, 0x24, 0x52, 0x88, - 0xbf, 0x04, 0xa2, 0xea, 0xe5, 0xb1, 0x65, 0xe2, 0x10, 0x93, 0x62, 0x86, 0x08, 0x39, 0x7e, 0x07, - 0x2a, 0x33, 0x69, 0xb6, 0xcf, 0x01, 0xcb, 0x90, 0xf2, 0x74, 0xce, 0xec, 0xe3, 0x1b, 0xb0, 0x10, - 0x88, 0xa4, 0xc6, 0xa3, 0xce, 0x64, 0xc5, 0xb3, 0x19, 0x8f, 0x24, 0x5a, 0x2c, 0x36, 0x84, 0x34, - 0xa2, 0xe1, 0x19, 0xed, 0xb3, 0x41, 0x17, 0xf8, 0xa0, 0x90, 0xb0, 0xea, 0x7d, 0xed, 0x67, 0x60, - 0x29, 0x85, 0x38, 0x1a, 0x05, 0x7e, 0x44, 0xf1, 0x26, 0xe4, 0x43, 0x7e, 0xde, 0x25, 0xac, 0x58, - 0xce, 0x31, 0x15, 0x09, 0x88, 0xd4, 0xd0, 0xfa, 0xb0, 0x24, 0x38, 0x2c, 0x7e, 0xf3, 0x9d, 0xc4, - 0xef, 0x40, 0x8e, 0xb2, 0xc6, 0xb9, 0x4d, 0x21, 0xed, 0x1a, 0x97, 0x13, 0x21, 0x9d, 0x9a, 0x45, - 0x7d, 0xee, 0x2c, 0xff, 0xa9, 0xc2, 0x8a, 0x5c, 0xe5, 0x8e, 0x13, 0xf7, 0x8e, 0x5e, 0x52, 0x6f, - 0xf8, 0x71, 0x58, 0x60, 0x7c, 0x37, 0x3d, 0x39, 0x73, 0xfc, 0x21, 0xd1, 0x60, 0x1e, 0xe1, 0x44, - 0xf6, 0xd4, 0xf6, 0xcb, 0x3a, 0xb0, 0xec, 0x44, 0x53, 0x55, 0xc3, 0x1c, 0xc7, 0xc9, 0x3f, 0xc7, - 0x71, 0x16, 0x2e, 0xe3, 0x38, 0xda, 0x2e, 0xac, 0xce, 0x22, 0x2e, 0x9d, 0xe3, 0x27, 0x60, 0x41, - 0x6c, 0x4a, 0x12, 0x23, 0xe7, 0xed, 0x5b, 0xa2, 0xa2, 0x7d, 0xac, 0xc2, 0xaa, 0x0c, 0x5f, 0x9f, - 0x8e, 0x73, 0x3c, 0x85, 0x73, 0xee, 0x52, 0x07, 0xf4, 0x72, 0xfb, 0xa7, 0xd5, 0x60, 0xed, 0x1c, - 0x8e, 0x2f, 0x70, 0x58, 0xbf, 0xa7, 0xc0, 0xe2, 0x0e, 0x1d, 0xb8, 0xfe, 0x4b, 0xba, 0x0b, 0x53, - 0xe0, 0x66, 0x2f, 0xe5, 0xc4, 0x23, 0x28, 0x4b, 0x7b, 0x25, 0x5a, 0x17, 0xd1, 0x56, 0xe6, 0x9d, - 0x96, 0xbb, 0xb0, 0x28, 0x6f, 0x12, 0x1c, 0xcf, 0x75, 0xa2, 0xd4, 0x9e, 0x73, 0x57, 0x09, 0x3a, - 0x13, 0x12, 0x79, 0xe9, 0xc0, 0x09, 0xed, 0xdf, 0x14, 0x28, 0xd7, 0x82, 0xe1, 0xd0, 0x8d, 0x5f, - 0x52, 0x8c, 0x2f, 0x22, 0x94, 0x9d, 0xe7, 0x8f, 0xef, 0x42, 0x25, 0x31, 0x53, 0x42, 0x7b, 0x2e, - 0xd3, 0x28, 0x17, 0x32, 0xcd, 0xbf, 0x2b, 0xb0, 0x44, 0x02, 0x51, 0xe1, 0xbf, 0xda, 0xe0, 0xdc, - 0x02, 0x34, 0x31, 0xf4, 0xb2, 0xf0, 0x7c, 0x5f, 0x81, 0x4a, 0x3b, 0xa4, 0x23, 0x27, 0xa4, 0xaf, - 0x34, 0x3a, 0xac, 0x4c, 0xef, 0xc7, 0xb2, 0xc0, 0x29, 0x12, 0xde, 0xd6, 0x96, 0x61, 0x29, 0xb5, - 0x5d, 0x00, 0xa6, 0xfd, 0xa3, 0x02, 0x6b, 0xc2, 0xc5, 0xa4, 0xa4, 0xff, 0x92, 0xc2, 0x92, 0xd8, - 0x9b, 0x9d, 0xb2, 0xb7, 0x0a, 0x57, 0xcf, 0xdb, 0x26, 0xcd, 0xfe, 0xba, 0x0a, 0xaf, 0x25, 0xce, - 0xf3, 0x92, 0x1b, 0xfe, 0x43, 0xf8, 0xc3, 0x3a, 0x54, 0x2f, 0x82, 0x20, 0x11, 0xfa, 0x96, 0x0a, - 0xd5, 0x5a, 0x48, 0x9d, 0x98, 0x4e, 0xd5, 0x41, 0xaf, 0x8e, 0x6f, 0xe0, 0x77, 0x61, 0x71, 0xe4, - 0x84, 0xb1, 0xdb, 0x73, 0x47, 0x0e, 0xfb, 0x14, 0xcd, 0xf1, 0x32, 0xeb, 0xdc, 0x00, 0x33, 0x2a, - 0xda, 0x35, 0x78, 0x7d, 0x0e, 0x22, 0x12, 0xaf, 0xff, 0x51, 0x00, 0x77, 0x62, 0x27, 0x8c, 0x3f, - 0x05, 0x79, 0x69, 0xae, 0x33, 0xad, 0xc1, 0xca, 0x8c, 0xfd, 0xd3, 0xb8, 0xd0, 0xf8, 0x53, 0x91, - 0x92, 0x3e, 0x11, 0x97, 0x69, 0xfb, 0x25, 0x2e, 0xff, 0xac, 0xc0, 0x7a, 0x2d, 0x10, 0x17, 0xa2, - 0xaf, 0xe4, 0x09, 0xd3, 0xde, 0x84, 0x6b, 0x73, 0x0d, 0x94, 0x00, 0xfc, 0x93, 0x02, 0x57, 0x09, - 0x75, 0xfa, 0xaf, 0xa6, 0xf1, 0x0f, 0xe0, 0xb5, 0x0b, 0xc6, 0xc9, 0x1a, 0xe5, 0x0e, 0x14, 0x86, - 0x34, 0x76, 0x58, 0x85, 0x2b, 0x4d, 0x5a, 0x4f, 0xc6, 0x9d, 0x68, 0x37, 0xa5, 0x06, 0x49, 0x75, - 0xb5, 0x7f, 0x51, 0x61, 0x85, 0xd7, 0xd9, 0x9f, 0x7d, 0xe4, 0x5d, 0xea, 0x16, 0x26, 0x7f, 0xbe, - 0xf8, 0x63, 0x0a, 0xa3, 0x90, 0xda, 0xc9, 0xed, 0xc0, 0x02, 0xff, 0x8d, 0x08, 0xa3, 0x90, 0x3e, - 0x10, 0x1c, 0xed, 0x6f, 0x15, 0x58, 0x9d, 0x85, 0x38, 0xfd, 0xa2, 0xf9, 0xbf, 0xbe, 0x6d, 0x99, - 0x13, 0x52, 0x32, 0x97, 0xf9, 0x48, 0xca, 0x5e, 0xfa, 0x23, 0xe9, 0xef, 0x54, 0xa8, 0x4e, 0x1b, - 0xf3, 0xd9, 0x9d, 0xce, 0xec, 0x9d, 0xce, 0x0f, 0x7a, 0xcb, 0xa7, 0xfd, 0xbd, 0x02, 0xaf, 0xcf, - 0x01, 0xf4, 0x07, 0x73, 0x91, 0xa9, 0x9b, 0x1d, 0xf5, 0xb9, 0x37, 0x3b, 0x3f, 0x7a, 0x27, 0xf9, - 0x07, 0x05, 0x56, 0x9b, 0xe2, 0xae, 0x5e, 0xdc, 0x7c, 0xbc, 0xbc, 0x31, 0x98, 0x5f, 0xc7, 0x67, - 0x27, 0x7f, 0xab, 0xb4, 0x1a, 0xac, 0x9d, 0x33, 0xed, 0x05, 0x6e, 0x73, 0xfe, 0x5b, 0x81, 0x65, - 0x39, 0x8a, 0xfe, 0xd2, 0x96, 0x2f, 0x73, 0xd0, 0xc1, 0x6f, 0x41, 0xc6, 0xed, 0x27, 0x75, 0xef, - 0xec, 0x73, 0x02, 0x26, 0xd0, 0xde, 0x07, 0x3c, 0x6d, 0xf7, 0x0b, 0x40, 0xf7, 0x1f, 0x2a, 0xac, - 0x11, 0x11, 0x7d, 0x3f, 0xfb, 0xbf, 0xf0, 0xc3, 0xfe, 0x5f, 0x78, 0x76, 0xe2, 0xfa, 0x98, 0x17, - 0x53, 0xb3, 0x50, 0xff, 0xe8, 0x52, 0xd7, 0xb9, 0x44, 0x9b, 0xb9, 0x90, 0x68, 0x5f, 0x3c, 0x1e, - 0x7d, 0xac, 0xc2, 0xba, 0x34, 0xe4, 0xb3, 0x5a, 0xe7, 0xf2, 0x1e, 0x91, 0xbf, 0xe0, 0x11, 0xff, - 0xa5, 0xc0, 0xb5, 0xb9, 0x40, 0xfe, 0xbf, 0x57, 0x34, 0xe7, 0xbc, 0x27, 0xfb, 0x5c, 0xef, 0xc9, - 0x5d, 0xda, 0x7b, 0xbe, 0xa9, 0x42, 0x85, 0x50, 0x8f, 0x3a, 0xd1, 0x2b, 0x7e, 0xbb, 0x77, 0x0e, - 0xc3, 0xdc, 0x85, 0x7b, 0xce, 0x65, 0x58, 0x4a, 0x81, 0x90, 0x1f, 0x5c, 0xfc, 0x03, 0x9d, 0xe5, - 0xc1, 0x0f, 0xa8, 0xe3, 0xc5, 0x49, 0x25, 0xa8, 0xfd, 0xb9, 0x0a, 0x65, 0xc2, 0x38, 0xee, 0x90, - 0x76, 0x62, 0x27, 0x8e, 0xf0, 0xe7, 0x60, 0xf1, 0x88, 0xab, 0xd8, 0x13, 0x0f, 0x29, 0x92, 0x92, - 0xe0, 0x89, 0xbf, 0x8f, 0xdb, 0xb0, 0x16, 0xd1, 0x5e, 0xe0, 0xf7, 0x23, 0xfb, 0x90, 0x1e, 0xb9, - 0x7e, 0xdf, 0x1e, 0x3a, 0x51, 0x4c, 0x43, 0x0e, 0x4b, 0x99, 0xac, 0x48, 0xe1, 0x0e, 0x97, 0x35, - 0xb9, 0x08, 0xdf, 0x84, 0xd5, 0x43, 0xd7, 0xf7, 0x82, 0x81, 0x3d, 0xf2, 0x9c, 0x31, 0x0d, 0x23, - 0xbb, 0x17, 0x9c, 0xfa, 0x02, 0x8f, 0x1c, 0xc1, 0x42, 0xd6, 0x16, 0xa2, 0x1a, 0x93, 0xe0, 0x0f, - 0x61, 0x73, 0xee, 0x2c, 0xf6, 0x63, 0xd7, 0x8b, 0x69, 0x48, 0xfb, 0x76, 0x48, 0x47, 0x9e, 0xdb, - 0x13, 0x4f, 0xa5, 0x04, 0x50, 0x5f, 0x9c, 0x33, 0xf5, 0x9e, 0x54, 0x27, 0x13, 0x6d, 0x7c, 0x0d, - 0x8a, 0xbd, 0xd1, 0xa9, 0x7d, 0xca, 0x1f, 0x2d, 0x30, 0xfc, 0x14, 0x52, 0xe8, 0x8d, 0x4e, 0xbb, - 0x8c, 0xc6, 0x08, 0x32, 0x27, 0x23, 0x11, 0x9c, 0x15, 0xc2, 0x9a, 0xda, 0xf7, 0x14, 0xa8, 0xe8, - 0x83, 0x41, 0x48, 0x07, 0x4e, 0x2c, 0x61, 0xba, 0x09, 0xab, 0x02, 0x92, 0xb1, 0x2d, 0xdd, 0x55, - 0xd8, 0xa3, 0x08, 0x7b, 0xa4, 0x4c, 0xf8, 0xaa, 0xb0, 0xe7, 0x36, 0x5c, 0x3d, 0xf5, 0xe7, 0xf6, - 0x51, 0x79, 0x9f, 0xd5, 0x54, 0x3a, 0xdd, 0xeb, 0xa7, 0xe1, 0xf5, 0xf9, 0x28, 0x0c, 0x5d, 0xf1, - 0x5c, 0xb1, 0x4c, 0xae, 0xce, 0x31, 0xba, 0xe9, 0xfa, 0xcf, 0xe8, 0xea, 0x7c, 0xc4, 0xf1, 0xfa, - 0x84, 0xae, 0xce, 0x47, 0xda, 0x5f, 0xa6, 0xff, 0x14, 0x13, 0x77, 0x49, 0x03, 0x47, 0xe2, 0xc8, - 0xca, 0xb3, 0x1c, 0xb9, 0x0a, 0x0b, 0xcc, 0x19, 0x5d, 0x7f, 0xc0, 0x8d, 0x2b, 0x90, 0x84, 0xc4, - 0x1d, 0xf8, 0xa2, 0xb4, 0x9d, 0x7e, 0x14, 0xd3, 0xd0, 0x77, 0x3c, 0x6f, 0x6c, 0x8b, 0xeb, 0x47, - 0x3f, 0xa6, 0x7d, 0x7b, 0xf2, 0x7c, 0x53, 0x84, 0x8f, 0xcf, 0x0b, 0x6d, 0x23, 0x55, 0x26, 0xa9, - 0xae, 0x95, 0x3e, 0xec, 0xfc, 0x0a, 0x54, 0x42, 0xe9, 0xc4, 0x76, 0xc4, 0xb6, 0x47, 0x86, 0xdc, - 0xd5, 0xe4, 0xd5, 0xc4, 0xb4, 0x87, 0x93, 0x72, 0x38, 0xe3, 0xf0, 0x2f, 0x1c, 0x70, 0xee, 0x65, - 0x0b, 0x79, 0xb4, 0xa0, 0xfd, 0x95, 0x02, 0x2b, 0x73, 0xbe, 0xdd, 0xd3, 0x8b, 0x01, 0x65, 0xea, - 0xde, 0xf1, 0x27, 0x21, 0xc7, 0x1f, 0xb4, 0xc8, 0x37, 0x54, 0xaf, 0x5d, 0xfc, 0xf4, 0xe7, 0x8f, - 0x4f, 0x88, 0xd0, 0x62, 0x67, 0x91, 0xdb, 0xd4, 0xe3, 0x17, 0x8f, 0x49, 0x44, 0x2d, 0x31, 0x9e, - 0xb8, 0x8b, 0xbc, 0x78, 0x93, 0x99, 0x7d, 0xee, 0x4d, 0xe6, 0xe6, 0xef, 0x66, 0xa0, 0xd8, 0x1c, - 0x77, 0x4e, 0xbc, 0x3d, 0xcf, 0x19, 0xf0, 0xd7, 0x21, 0xcd, 0xb6, 0xf5, 0x08, 0x5d, 0xc1, 0xcb, - 0x50, 0x36, 0x5b, 0x96, 0x6d, 0x76, 0x1b, 0x0d, 0x7b, 0xaf, 0xa1, 0xef, 0x23, 0x05, 0x23, 0x58, - 0x6c, 0x93, 0xba, 0x7d, 0xdf, 0x78, 0x24, 0x38, 0x2a, 0x5e, 0x81, 0xa5, 0xae, 0x59, 0x7f, 0xd0, - 0x35, 0x26, 0xcc, 0x2c, 0x5e, 0x83, 0xe5, 0x66, 0xb7, 0x61, 0xd5, 0xdb, 0x8d, 0x29, 0x76, 0x01, - 0x97, 0xa1, 0xb8, 0xd3, 0x68, 0xed, 0x08, 0x12, 0xb1, 0xf1, 0xbb, 0x66, 0xa7, 0xbe, 0x6f, 0x1a, - 0xbb, 0x82, 0xb5, 0xc1, 0x58, 0x1f, 0x1a, 0xa4, 0xb5, 0x57, 0x4f, 0xa6, 0x7c, 0x1f, 0x23, 0x28, - 0xed, 0xd4, 0x4d, 0x9d, 0xc8, 0x51, 0x9e, 0x2a, 0xb8, 0x02, 0x45, 0xc3, 0xec, 0x36, 0x25, 0xad, - 0xe2, 0x2a, 0xac, 0xe8, 0x5d, 0xab, 0x65, 0xd7, 0xcd, 0x1a, 0x31, 0x9a, 0x86, 0x69, 0x49, 0x49, - 0x16, 0xaf, 0x40, 0xc5, 0xaa, 0x37, 0x8d, 0x8e, 0xa5, 0x37, 0xdb, 0x92, 0xc9, 0x56, 0x51, 0xe8, - 0x18, 0x89, 0x0e, 0xc2, 0xeb, 0xb0, 0x66, 0xb6, 0xec, 0xe4, 0x69, 0xdd, 0x81, 0xde, 0xe8, 0x1a, - 0x52, 0xb6, 0x81, 0x5f, 0x03, 0xdc, 0x32, 0xed, 0x6e, 0x7b, 0x57, 0xb7, 0x0c, 0xdb, 0x6c, 0x3d, - 0x94, 0x82, 0xf7, 0x71, 0x05, 0x0a, 0x93, 0x15, 0x3c, 0x65, 0x28, 0x94, 0xdb, 0x3a, 0xb1, 0x26, - 0xc6, 0x3e, 0x7d, 0xca, 0xc0, 0x82, 0x7d, 0xd2, 0xea, 0xb6, 0x27, 0x6a, 0xcb, 0x50, 0x92, 0x60, - 0x49, 0x56, 0x96, 0xb1, 0x76, 0xea, 0x66, 0x2d, 0x5d, 0xdf, 0xd3, 0xc2, 0xba, 0x8a, 0x94, 0xcd, - 0x63, 0xc8, 0xf2, 0xed, 0x28, 0x40, 0xd6, 0x6c, 0x99, 0x06, 0xba, 0x82, 0x97, 0x00, 0xea, 0x9d, - 0xba, 0x69, 0x19, 0xfb, 0x44, 0x6f, 0x30, 0xb3, 0x39, 0x23, 0x01, 0x90, 0x59, 0xbb, 0x08, 0x0b, - 0xf5, 0xce, 0x5e, 0xa3, 0xa5, 0x5b, 0xd2, 0xcc, 0x7a, 0xe7, 0x41, 0xb7, 0x65, 0x31, 0x21, 0xc2, - 0x25, 0xc8, 0xd7, 0x3b, 0x96, 0xf1, 0x35, 0x8b, 0xd9, 0xc5, 0x65, 0x02, 0x55, 0xf4, 0xf4, 0xfd, - 0xcd, 0x6f, 0x67, 0x20, 0xcb, 0xdf, 0x65, 0x97, 0xa1, 0xc8, 0x77, 0xdb, 0x7a, 0xd4, 0x66, 0x53, - 0x16, 0x21, 0x5b, 0x37, 0xad, 0xbb, 0xe8, 0x17, 0x54, 0x0c, 0x90, 0xeb, 0xf2, 0xf6, 0x2f, 0xe6, - 0x59, 0xbb, 0x6e, 0x5a, 0xef, 0xde, 0x41, 0x5f, 0x57, 0xd9, 0xb0, 0x5d, 0x41, 0xfc, 0x52, 0x22, - 0xd8, 0xbe, 0x8d, 0xbe, 0x91, 0x0a, 0xb6, 0x6f, 0xa3, 0x5f, 0x4e, 0x04, 0xb7, 0xb6, 0xd1, 0x37, - 0x53, 0xc1, 0xad, 0x6d, 0xf4, 0x2b, 0x89, 0xe0, 0xce, 0x6d, 0xf4, 0xab, 0xa9, 0xe0, 0xce, 0x6d, - 0xf4, 0x6b, 0x79, 0x66, 0x0b, 0xb7, 0xe4, 0xd6, 0x36, 0xfa, 0xf5, 0x42, 0x4a, 0xdd, 0xb9, 0x8d, - 0x7e, 0xa3, 0xc0, 0xf6, 0x3f, 0xdd, 0x55, 0xf4, 0x9b, 0x88, 0x2d, 0x93, 0x6d, 0x10, 0xfa, 0x2d, - 0xde, 0x64, 0x22, 0xf4, 0xdb, 0x88, 0xd9, 0xc8, 0xb8, 0x9c, 0xfc, 0x16, 0x97, 0x3c, 0x32, 0x74, - 0x82, 0x7e, 0x27, 0x2f, 0x1e, 0x7b, 0xd6, 0xea, 0x4d, 0xbd, 0x81, 0x30, 0xef, 0xc1, 0x50, 0xf9, - 0xbd, 0x9b, 0xac, 0xc9, 0xdc, 0x13, 0xfd, 0x7e, 0x9b, 0x4d, 0x78, 0xa0, 0x93, 0xda, 0x07, 0x3a, - 0x41, 0x7f, 0x70, 0x93, 0x4d, 0x78, 0xa0, 0x13, 0x89, 0xd7, 0x1f, 0xb6, 0x99, 0x22, 0x17, 0xfd, - 0xd1, 0x4d, 0xb6, 0x68, 0xc9, 0xff, 0xe3, 0x36, 0x2e, 0x40, 0x66, 0xa7, 0x6e, 0xa1, 0x6f, 0xf3, - 0xd9, 0x98, 0x8b, 0xa2, 0x3f, 0x41, 0x8c, 0xd9, 0x31, 0x2c, 0xf4, 0x1d, 0xc6, 0xcc, 0x59, 0xdd, - 0x76, 0xc3, 0x40, 0x6f, 0xb0, 0xc5, 0xed, 0x1b, 0xad, 0xa6, 0x61, 0x91, 0x47, 0xe8, 0x4f, 0xb9, - 0xfa, 0xbd, 0x4e, 0xcb, 0x44, 0xdf, 0x45, 0xb8, 0x02, 0x60, 0x7c, 0xad, 0x4d, 0x8c, 0x4e, 0xa7, - 0xde, 0x32, 0xd1, 0xdb, 0x9b, 0x7b, 0x80, 0xce, 0x87, 0x03, 0x66, 0x40, 0xd7, 0xbc, 0x6f, 0xb6, - 0x1e, 0x9a, 0xe8, 0x0a, 0x23, 0xda, 0xc4, 0x68, 0xeb, 0xc4, 0x40, 0x0a, 0x06, 0xc8, 0xcb, 0x27, - 0xa4, 0x2a, 0x5e, 0x84, 0x02, 0x69, 0x35, 0x1a, 0x3b, 0x7a, 0xed, 0x3e, 0xca, 0xec, 0x7c, 0x19, - 0x96, 0xdc, 0x60, 0xeb, 0xcc, 0x8d, 0x69, 0x14, 0x89, 0x97, 0xff, 0x1f, 0x6a, 0x92, 0x72, 0x83, - 0x1b, 0xa2, 0x75, 0x63, 0x10, 0xdc, 0x38, 0x8b, 0x6f, 0x70, 0xe9, 0x0d, 0x1e, 0x31, 0x0e, 0xf3, - 0x9c, 0xb8, 0xf5, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x50, 0x1a, 0xbb, 0xe6, 0x57, 0x30, 0x00, - 0x00, + // 3283 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x4b, 0x90, 0x1b, 0x49, + 0x5a, 0x76, 0x95, 0x1e, 0x2d, 0xfd, 0x6a, 0xa9, 0xb3, 0xb3, 0xbb, 0x6d, 0x4d, 0x7b, 0x1e, 0xbd, + 0xb5, 0x3b, 0xbb, 0xc6, 0x40, 0xdb, 0xd3, 0xf6, 0x18, 0x33, 0xbb, 0xc0, 0x54, 0xab, 0xab, 0x7b, + 0x64, 0x4b, 0x25, 0x39, 0x55, 0x6a, 0xaf, 0x27, 0x88, 0xa8, 0xa8, 0x96, 0xd2, 0xea, 0x8a, 0x2e, + 0x55, 0xa9, 0xab, 0xaa, 0xdb, 0xa3, 0x9b, 0x61, 0x59, 0x96, 0x37, 0xcb, 0x9b, 0x65, 0x83, 0x0d, + 0x22, 0x38, 0x10, 0x5c, 0x88, 0xe0, 0xc6, 0x99, 0xc3, 0x1c, 0x38, 0x10, 0xc1, 0x11, 0x38, 0x00, + 0x07, 0x02, 0x4e, 0x1b, 0x04, 0x07, 0x0e, 0x1c, 0x08, 0x22, 0x1f, 0x55, 0x92, 0xba, 0x35, 0x76, + 0xaf, 0x97, 0x09, 0xc2, 0x9e, 0xb9, 0xe5, 0xff, 0xc8, 0xc7, 0xff, 0xe5, 0x9f, 0xff, 0xff, 0x57, + 0x2a, 0x05, 0xa5, 0xe3, 0x13, 0x1a, 0x8e, 0x37, 0x47, 0x61, 0x10, 0x07, 0x38, 0xc7, 0x89, 0xf5, + 0x4a, 0x1c, 0x8c, 0x82, 0xbe, 0x13, 0x3b, 0x82, 0xbd, 0x5e, 0x3a, 0x8d, 0xc3, 0x51, 0x4f, 0x10, + 0xda, 0x37, 0x15, 0xc8, 0x5b, 0x4e, 0x38, 0xa0, 0x31, 0x5e, 0x87, 0xc2, 0x11, 0x1d, 0x47, 0x23, + 0xa7, 0x47, 0xab, 0xca, 0x86, 0x72, 0xad, 0x48, 0x52, 0x1a, 0xaf, 0x42, 0x2e, 0x3a, 0x74, 0xc2, + 0x7e, 0x55, 0xe5, 0x02, 0x41, 0xe0, 0x77, 0xa1, 0x14, 0x3b, 0x07, 0x1e, 0x8d, 0xed, 0x78, 0x3c, + 0xa2, 0xd5, 0xcc, 0x86, 0x72, 0xad, 0xb2, 0xb5, 0xba, 0x99, 0xce, 0x67, 0x71, 0xa1, 0x35, 0x1e, + 0x51, 0x02, 0x71, 0xda, 0xc6, 0x18, 0xb2, 0x3d, 0xea, 0x79, 0xd5, 0x2c, 0x1f, 0x8b, 0xb7, 0xb5, + 0x1d, 0xa8, 0xec, 0x5b, 0x7b, 0x4e, 0x4c, 0x6b, 0x8e, 0xe7, 0xd1, 0xb0, 0xbe, 0xc3, 0x96, 0x73, + 0x12, 0xd1, 0xd0, 0x77, 0x86, 0xe9, 0x72, 0x12, 0x1a, 0x5f, 0x86, 0xfc, 0x20, 0x0c, 0x4e, 0x46, + 0x51, 0x55, 0xdd, 0xc8, 0x5c, 0x2b, 0x12, 0x49, 0x69, 0x3f, 0x0b, 0x60, 0x9c, 0x52, 0x3f, 0xb6, + 0x82, 0x23, 0xea, 0xe3, 0xd7, 0xa1, 0x18, 0xbb, 0x43, 0x1a, 0xc5, 0xce, 0x70, 0xc4, 0x87, 0xc8, + 0x90, 0x09, 0xe3, 0x13, 0x4c, 0x5a, 0x87, 0xc2, 0x28, 0x88, 0xdc, 0xd8, 0x0d, 0x7c, 0x6e, 0x4f, + 0x91, 0xa4, 0xb4, 0xf6, 0xd3, 0x90, 0xdb, 0x77, 0xbc, 0x13, 0x8a, 0xdf, 0x82, 0x2c, 0x37, 0x58, + 0xe1, 0x06, 0x97, 0x36, 0x05, 0xe8, 0xdc, 0x4e, 0x2e, 0x60, 0x63, 0x9f, 0x32, 0x4d, 0x3e, 0xf6, + 0x22, 0x11, 0x84, 0x76, 0x04, 0x8b, 0xdb, 0xae, 0xdf, 0xdf, 0x77, 0x42, 0x97, 0x81, 0xf1, 0x82, + 0xc3, 0xe0, 0x2f, 0x41, 0x9e, 0x37, 0xa2, 0x6a, 0x66, 0x23, 0x73, 0xad, 0xb4, 0xb5, 0x28, 0x3b, + 0xf2, 0xb5, 0x11, 0x29, 0xd3, 0xfe, 0x5a, 0x01, 0xd8, 0x0e, 0x4e, 0xfc, 0xfe, 0x03, 0x26, 0xc4, + 0x08, 0x32, 0xd1, 0xb1, 0x27, 0x81, 0x64, 0x4d, 0x7c, 0x1f, 0x2a, 0x07, 0xae, 0xdf, 0xb7, 0x4f, + 0xe5, 0x72, 0x04, 0x96, 0xa5, 0xad, 0x2f, 0xc9, 0xe1, 0x26, 0x9d, 0x37, 0xa7, 0x57, 0x1d, 0x19, + 0x7e, 0x1c, 0x8e, 0x49, 0xf9, 0x60, 0x9a, 0xb7, 0xde, 0x05, 0x7c, 0x5e, 0x89, 0x4d, 0x7a, 0x44, + 0xc7, 0xc9, 0xa4, 0x47, 0x74, 0x8c, 0x7f, 0x64, 0xda, 0xa2, 0xd2, 0xd6, 0x4a, 0x32, 0xd7, 0x54, + 0x5f, 0x69, 0xe6, 0x7b, 0xea, 0x5d, 0x45, 0xfb, 0xcb, 0x05, 0xa8, 0x18, 0x1f, 0xd1, 0xde, 0x49, + 0x4c, 0x5b, 0x23, 0xb6, 0x07, 0x11, 0x6e, 0xc2, 0x92, 0xeb, 0xf7, 0xbc, 0x93, 0x3e, 0xed, 0xdb, + 0x8f, 0x5d, 0xea, 0xf5, 0x23, 0xee, 0x47, 0x95, 0x74, 0xdd, 0xb3, 0xfa, 0x9b, 0x75, 0xa9, 0xbc, + 0xcb, 0x75, 0x49, 0xc5, 0x9d, 0xa1, 0xf1, 0x75, 0x58, 0xee, 0x79, 0x2e, 0xf5, 0x63, 0xfb, 0x31, + 0xb3, 0xd7, 0x0e, 0x83, 0x27, 0x51, 0x35, 0xb7, 0xa1, 0x5c, 0x2b, 0x90, 0x25, 0x21, 0xd8, 0x65, + 0x7c, 0x12, 0x3c, 0x89, 0xf0, 0x7b, 0x50, 0x78, 0x12, 0x84, 0x47, 0x5e, 0xe0, 0xf4, 0xab, 0x79, + 0x3e, 0xe7, 0x9b, 0xf3, 0xe7, 0x7c, 0x28, 0xb5, 0x48, 0xaa, 0x8f, 0xaf, 0x01, 0x8a, 0x8e, 0x3d, + 0x3b, 0xa2, 0x1e, 0xed, 0xc5, 0xb6, 0xe7, 0x0e, 0xdd, 0xb8, 0x5a, 0xe0, 0x2e, 0x59, 0x89, 0x8e, + 0xbd, 0x0e, 0x67, 0x37, 0x18, 0x17, 0xdb, 0xb0, 0x16, 0x87, 0x8e, 0x1f, 0x39, 0x3d, 0x36, 0x98, + 0xed, 0x46, 0x81, 0xe7, 0x70, 0x77, 0x2c, 0xf2, 0x29, 0xaf, 0xcf, 0x9f, 0xd2, 0x9a, 0x74, 0xa9, + 0x27, 0x3d, 0xc8, 0x6a, 0x3c, 0x87, 0x8b, 0xdf, 0x81, 0xb5, 0xe8, 0xc8, 0x1d, 0xd9, 0x7c, 0x1c, + 0x7b, 0xe4, 0x39, 0xbe, 0xdd, 0x73, 0x7a, 0x87, 0xb4, 0x0a, 0xdc, 0x6c, 0xcc, 0x84, 0x7c, 0xdf, + 0xdb, 0x9e, 0xe3, 0xd7, 0x98, 0x84, 0x81, 0xce, 0xf4, 0x7c, 0x1a, 0xda, 0xa7, 0x34, 0x8c, 0xd8, + 0x6a, 0x4a, 0xcf, 0x02, 0xbd, 0x2d, 0x94, 0xf7, 0x85, 0x2e, 0xa9, 0x8c, 0x66, 0x68, 0xfc, 0x2e, + 0x5c, 0x39, 0x74, 0x22, 0xbb, 0x17, 0x52, 0x27, 0xa6, 0x7d, 0x3b, 0xa6, 0xc3, 0x91, 0x1d, 0x0b, + 0x1f, 0x5c, 0xe4, 0x6b, 0x58, 0x3d, 0x74, 0xa2, 0x9a, 0x90, 0x5a, 0x74, 0x38, 0xe2, 0x71, 0x24, + 0xd2, 0xbe, 0x0a, 0x95, 0xd9, 0xdd, 0xc4, 0xcb, 0x50, 0xb6, 0x1e, 0xb5, 0x0d, 0x5b, 0x37, 0x77, + 0x6c, 0x53, 0x6f, 0x1a, 0xe8, 0x12, 0x2e, 0x43, 0x91, 0xb3, 0x5a, 0x66, 0xe3, 0x11, 0x52, 0xf0, + 0x02, 0x64, 0xf4, 0x46, 0x03, 0xa9, 0xda, 0x5d, 0x28, 0x24, 0xdb, 0x82, 0x97, 0xa0, 0xd4, 0x35, + 0x3b, 0x6d, 0xa3, 0x56, 0xdf, 0xad, 0x1b, 0x3b, 0xe8, 0x12, 0x2e, 0x40, 0xb6, 0xd5, 0xb0, 0xda, + 0x48, 0x11, 0x2d, 0xbd, 0x8d, 0x54, 0xd6, 0x73, 0x67, 0x5b, 0x47, 0x19, 0xed, 0xcf, 0x14, 0x58, + 0x9d, 0x07, 0x2f, 0x2e, 0xc1, 0xc2, 0x8e, 0xb1, 0xab, 0x77, 0x1b, 0x16, 0xba, 0x84, 0x57, 0x60, + 0x89, 0x18, 0x6d, 0x43, 0xb7, 0xf4, 0xed, 0x86, 0x61, 0x13, 0x43, 0xdf, 0x41, 0x0a, 0xc6, 0x50, + 0x61, 0x2d, 0xbb, 0xd6, 0x6a, 0x36, 0xeb, 0x96, 0x65, 0xec, 0x20, 0x15, 0xaf, 0x02, 0xe2, 0xbc, + 0xae, 0x39, 0xe1, 0x66, 0x30, 0x82, 0xc5, 0x8e, 0x41, 0xea, 0x7a, 0xa3, 0xfe, 0x21, 0x1b, 0x00, + 0x65, 0xf1, 0x17, 0xe0, 0x8d, 0x5a, 0xcb, 0xec, 0xd4, 0x3b, 0x96, 0x61, 0x5a, 0x76, 0xc7, 0xd4, + 0xdb, 0x9d, 0x0f, 0x5a, 0x16, 0x1f, 0x59, 0x18, 0x97, 0xc3, 0x15, 0x00, 0xbd, 0x6b, 0xb5, 0xc4, + 0x38, 0x28, 0xaf, 0x1d, 0x43, 0x65, 0x16, 0x79, 0xb6, 0x2a, 0xb9, 0x44, 0xbb, 0xdd, 0xd0, 0x4d, + 0xd3, 0x20, 0xe8, 0x12, 0xce, 0x83, 0xba, 0x7f, 0x4b, 0xd8, 0xba, 0x47, 0xfd, 0xdb, 0x48, 0x65, + 0x03, 0xb1, 0xd6, 0x5e, 0x48, 0x69, 0x7f, 0x8c, 0x32, 0x6c, 0xdd, 0x8c, 0x6e, 0xd0, 0xc7, 0xf1, + 0x16, 0x71, 0x07, 0x87, 0x31, 0xca, 0xb2, 0x75, 0x33, 0xde, 0x43, 0x37, 0x3e, 0xdc, 0x75, 0x3c, + 0xef, 0xc0, 0xe9, 0x1d, 0xa1, 0xdc, 0xbd, 0x6c, 0x41, 0x41, 0xea, 0xbd, 0x6c, 0x41, 0x45, 0x99, + 0x7b, 0xd9, 0x42, 0x06, 0x65, 0xb5, 0xbf, 0x52, 0x21, 0xc7, 0xb7, 0x87, 0xc5, 0xf9, 0xa9, 0xe8, + 0xcd, 0xdb, 0x69, 0xcc, 0x53, 0x9f, 0x11, 0xf3, 0xb8, 0x2b, 0xc8, 0xe8, 0x2b, 0x08, 0x7c, 0x15, + 0x8a, 0x41, 0x38, 0x10, 0x4e, 0x22, 0xf3, 0x46, 0x21, 0x08, 0x07, 0xdc, 0x31, 0x58, 0xcc, 0x66, + 0xe9, 0xe6, 0xc0, 0x89, 0x28, 0x3f, 0xba, 0x45, 0x92, 0xd2, 0xf8, 0x35, 0x60, 0x7a, 0x36, 0x5f, + 0x47, 0x9e, 0xcb, 0x16, 0x82, 0x70, 0x60, 0xb2, 0xa5, 0x7c, 0x11, 0xca, 0xbd, 0xc0, 0x3b, 0x19, + 0xfa, 0xb6, 0x47, 0xfd, 0x41, 0x7c, 0x58, 0x5d, 0xd8, 0x50, 0xae, 0x95, 0xc9, 0xa2, 0x60, 0x36, + 0x38, 0x0f, 0x57, 0x61, 0xa1, 0x77, 0xe8, 0x84, 0x11, 0x15, 0xc7, 0xb5, 0x4c, 0x12, 0x92, 0xcf, + 0x4a, 0x7b, 0xee, 0xd0, 0xf1, 0x22, 0x7e, 0x34, 0xcb, 0x24, 0xa5, 0x99, 0x11, 0x8f, 0x3d, 0x67, + 0x10, 0xf1, 0x23, 0x55, 0x26, 0x82, 0xc0, 0x6f, 0x41, 0x49, 0x4e, 0xc8, 0x21, 0x28, 0xf1, 0xe5, + 0x80, 0x60, 0x31, 0x04, 0xb4, 0x9f, 0x80, 0x0c, 0x09, 0x9e, 0xb0, 0x39, 0xc5, 0x8a, 0xa2, 0xaa, + 0xb2, 0x91, 0xb9, 0x86, 0x49, 0x42, 0xb2, 0xbc, 0x27, 0x43, 0xbf, 0xc8, 0x08, 0x49, 0xb0, 0xff, + 0xae, 0x02, 0x25, 0x7e, 0x64, 0x09, 0x8d, 0x4e, 0xbc, 0x98, 0xa5, 0x08, 0x19, 0x1b, 0x95, 0x99, + 0x14, 0xc1, 0xf7, 0x85, 0x48, 0x19, 0x03, 0x80, 0x85, 0x3b, 0xdb, 0x79, 0xfc, 0x98, 0xf6, 0x62, + 0x2a, 0x32, 0x61, 0x96, 0x2c, 0x32, 0xa6, 0x2e, 0x79, 0x0c, 0x79, 0xd7, 0x8f, 0x68, 0x18, 0xdb, + 0x6e, 0x9f, 0xef, 0x49, 0x96, 0x14, 0x04, 0xa3, 0xde, 0xc7, 0x6f, 0x42, 0x96, 0x07, 0xcc, 0x2c, + 0x9f, 0x05, 0xe4, 0x2c, 0x24, 0x78, 0x42, 0x38, 0xff, 0x5e, 0xb6, 0x90, 0x43, 0x79, 0xed, 0x6b, + 0xb0, 0xc8, 0x17, 0xf7, 0xd0, 0x09, 0x7d, 0xd7, 0x1f, 0xf0, 0xfc, 0x1f, 0xf4, 0x85, 0x5f, 0x94, + 0x09, 0x6f, 0x33, 0x9b, 0x87, 0x34, 0x8a, 0x9c, 0x01, 0x95, 0xf9, 0x38, 0x21, 0xb5, 0x3f, 0xc9, + 0x40, 0xa9, 0x13, 0x87, 0xd4, 0x19, 0xf2, 0xd4, 0x8e, 0xbf, 0x06, 0x10, 0xc5, 0x4e, 0x4c, 0x87, + 0xd4, 0x8f, 0x13, 0xfb, 0x5e, 0x97, 0x33, 0x4f, 0xe9, 0x6d, 0x76, 0x12, 0x25, 0x32, 0xa5, 0x8f, + 0xb7, 0xa0, 0x44, 0x99, 0xd8, 0x8e, 0x59, 0x89, 0x20, 0xd3, 0xd0, 0x72, 0x12, 0xc5, 0xd2, 0xda, + 0x81, 0x00, 0x4d, 0xdb, 0xeb, 0xdf, 0x53, 0xa1, 0x98, 0x8e, 0x86, 0x75, 0x28, 0xf4, 0x9c, 0x98, + 0x0e, 0x82, 0x70, 0x2c, 0x33, 0xf7, 0xdb, 0xcf, 0x9a, 0x7d, 0xb3, 0x26, 0x95, 0x49, 0xda, 0x0d, + 0xbf, 0x01, 0xa2, 0x1c, 0x12, 0x6e, 0x29, 0xec, 0x2d, 0x72, 0x0e, 0x77, 0xcc, 0xf7, 0x00, 0x8f, + 0x42, 0x77, 0xe8, 0x84, 0x63, 0xfb, 0x88, 0x8e, 0x93, 0x2c, 0x97, 0x99, 0xb3, 0x93, 0x48, 0xea, + 0xdd, 0xa7, 0x63, 0x19, 0x11, 0xef, 0xce, 0xf6, 0x95, 0xde, 0x72, 0x7e, 0x7f, 0xa6, 0x7a, 0xf2, + 0xba, 0x21, 0x4a, 0x2a, 0x84, 0x1c, 0x77, 0x2c, 0xd6, 0xd4, 0xbe, 0x02, 0x85, 0x64, 0xf1, 0xb8, + 0x08, 0x39, 0x23, 0x0c, 0x83, 0x10, 0x5d, 0xe2, 0x81, 0xb1, 0xd9, 0x10, 0xb1, 0x75, 0x67, 0x87, + 0xc5, 0xd6, 0x7f, 0x51, 0xd3, 0x34, 0x4d, 0xe8, 0xf1, 0x09, 0x8d, 0x62, 0xfc, 0x33, 0xb0, 0x42, + 0xb9, 0x0b, 0xb9, 0xa7, 0xd4, 0xee, 0xf1, 0x9a, 0x8e, 0x39, 0x90, 0xc2, 0xf1, 0x5e, 0xda, 0x14, + 0x25, 0x68, 0x52, 0xeb, 0x91, 0xe5, 0x54, 0x57, 0xb2, 0xfa, 0xd8, 0x80, 0x15, 0x77, 0x38, 0xa4, + 0x7d, 0xd7, 0x89, 0xa7, 0x07, 0x10, 0x1b, 0xb6, 0x96, 0x94, 0x3c, 0x33, 0x25, 0x23, 0x59, 0x4e, + 0x7b, 0xa4, 0xc3, 0xbc, 0x0d, 0xf9, 0x98, 0x97, 0xb7, 0xdc, 0x77, 0x4b, 0x5b, 0xe5, 0x24, 0xe2, + 0x70, 0x26, 0x91, 0x42, 0xfc, 0x15, 0x10, 0xc5, 0x32, 0x8f, 0x2d, 0x13, 0x87, 0x98, 0xd4, 0x40, + 0x44, 0xc8, 0xf1, 0xdb, 0x50, 0x99, 0xc9, 0xce, 0x7d, 0x0e, 0x58, 0x86, 0x94, 0xa7, 0x53, 0x6d, + 0x1f, 0xdf, 0x80, 0x85, 0x40, 0xe4, 0x42, 0x1e, 0x75, 0x26, 0x2b, 0x9e, 0x4d, 0x94, 0x24, 0xd1, + 0x62, 0xb1, 0x21, 0xa4, 0x11, 0x0d, 0x4f, 0x69, 0x9f, 0x0d, 0xba, 0xc0, 0x07, 0x85, 0x84, 0x55, + 0xef, 0x6b, 0x3f, 0x05, 0x4b, 0x29, 0xc4, 0xd1, 0x28, 0xf0, 0x23, 0x8a, 0xaf, 0x43, 0x3e, 0xe4, + 0xe7, 0x5d, 0xc2, 0x8a, 0xe5, 0x1c, 0x53, 0x91, 0x80, 0x48, 0x0d, 0xad, 0x0f, 0x4b, 0x82, 0xc3, + 0xe2, 0x37, 0xdf, 0x49, 0xfc, 0x36, 0xe4, 0x28, 0x6b, 0x9c, 0xd9, 0x14, 0xd2, 0xae, 0x71, 0x39, + 0x11, 0xd2, 0xa9, 0x59, 0xd4, 0xe7, 0xce, 0xf2, 0x1f, 0x2a, 0xac, 0xc8, 0x55, 0x6e, 0x3b, 0x71, + 0xef, 0xf0, 0x25, 0xf5, 0x86, 0x1f, 0x85, 0x05, 0xc6, 0x77, 0xd3, 0x93, 0x33, 0xc7, 0x1f, 0x12, + 0x0d, 0xe6, 0x11, 0x4e, 0x64, 0x4f, 0x6d, 0xbf, 0x2c, 0x1f, 0xcb, 0x4e, 0x34, 0x55, 0x35, 0xcc, + 0x71, 0x9c, 0xfc, 0x73, 0x1c, 0x67, 0xe1, 0x22, 0x8e, 0xa3, 0xed, 0xc0, 0xea, 0x2c, 0xe2, 0xd2, + 0x39, 0x7e, 0x0c, 0x16, 0xc4, 0xa6, 0x24, 0x31, 0x72, 0xde, 0xbe, 0x25, 0x2a, 0xda, 0xc7, 0x2a, + 0xac, 0xca, 0xf0, 0xf5, 0xd9, 0x38, 0xc7, 0x53, 0x38, 0xe7, 0x2e, 0x74, 0x40, 0x2f, 0xb6, 0x7f, + 0x5a, 0x0d, 0xd6, 0xce, 0xe0, 0xf8, 0x02, 0x87, 0xf5, 0xfb, 0x0a, 0x2c, 0x6e, 0xd3, 0x81, 0xeb, + 0xbf, 0xa4, 0xbb, 0x30, 0x05, 0x6e, 0xf6, 0x42, 0x4e, 0x3c, 0x82, 0xb2, 0xb4, 0x57, 0xa2, 0x75, + 0x1e, 0x6d, 0x65, 0xde, 0x69, 0xb9, 0x0b, 0x8b, 0xf2, 0x02, 0xc2, 0xf1, 0x5c, 0x27, 0x4a, 0xed, + 0x39, 0x73, 0x03, 0xa1, 0x33, 0x21, 0x91, 0x77, 0x15, 0x9c, 0xd0, 0xfe, 0x55, 0x81, 0x72, 0x2d, + 0x18, 0x0e, 0xdd, 0xf8, 0x25, 0xc5, 0xf8, 0x3c, 0x42, 0xd9, 0x79, 0xfe, 0xf8, 0x0e, 0x54, 0x12, + 0x33, 0x25, 0xb4, 0x67, 0x32, 0x8d, 0x72, 0x2e, 0xd3, 0xfc, 0x9b, 0x02, 0x4b, 0x24, 0x10, 0x15, + 0xfe, 0xab, 0x0d, 0xce, 0x2d, 0x40, 0x13, 0x43, 0x2f, 0x0a, 0xcf, 0x7f, 0x2b, 0x50, 0x69, 0x87, + 0x74, 0xe4, 0x84, 0xf4, 0x95, 0x46, 0x87, 0x95, 0xe9, 0xfd, 0x58, 0x16, 0x38, 0x45, 0xc2, 0xdb, + 0xda, 0x32, 0x2c, 0xa5, 0xb6, 0x0b, 0xc0, 0xb4, 0x7f, 0x50, 0x60, 0x4d, 0xb8, 0x98, 0x94, 0xf4, + 0x5f, 0x52, 0x58, 0x12, 0x7b, 0xb3, 0x53, 0xf6, 0x56, 0xe1, 0xf2, 0x59, 0xdb, 0xa4, 0xd9, 0xdf, + 0x50, 0xe1, 0x4a, 0xe2, 0x3c, 0x2f, 0xb9, 0xe1, 0x3f, 0x84, 0x3f, 0xac, 0x43, 0xf5, 0x3c, 0x08, + 0x12, 0xa1, 0x6f, 0xab, 0x50, 0x15, 0x97, 0x38, 0x53, 0x75, 0xd0, 0xab, 0xe3, 0x1b, 0xf8, 0x1d, + 0x58, 0x1c, 0x39, 0x61, 0xec, 0xf6, 0xdc, 0x91, 0xc3, 0x3e, 0x45, 0x73, 0xbc, 0xcc, 0x3a, 0x33, + 0xc0, 0x8c, 0x8a, 0x76, 0x15, 0x5e, 0x9b, 0x83, 0x88, 0xc4, 0xeb, 0x7f, 0x14, 0xc0, 0x9d, 0xd8, + 0x09, 0xe3, 0xcf, 0x40, 0x5e, 0x9a, 0xeb, 0x4c, 0x6b, 0xb0, 0x32, 0x63, 0xff, 0x34, 0x2e, 0x34, + 0xfe, 0x4c, 0xa4, 0xa4, 0x4f, 0xc4, 0x65, 0xda, 0x7e, 0x89, 0xcb, 0x3f, 0x29, 0xb0, 0x5e, 0x0b, + 0xc4, 0x85, 0xe8, 0x2b, 0x79, 0xc2, 0xb4, 0x37, 0xe0, 0xea, 0x5c, 0x03, 0x25, 0x00, 0xff, 0xa8, + 0xc0, 0x65, 0x42, 0x9d, 0xfe, 0xab, 0x69, 0xfc, 0x03, 0xb8, 0x72, 0xce, 0x38, 0x59, 0xa3, 0xdc, + 0x81, 0xc2, 0x90, 0xc6, 0x0e, 0xab, 0x70, 0xa5, 0x49, 0xeb, 0xc9, 0xb8, 0x13, 0xed, 0xa6, 0xd4, + 0x20, 0xa9, 0xae, 0xf6, 0xcf, 0x2a, 0xac, 0xf0, 0x3a, 0xfb, 0xf3, 0x8f, 0xbc, 0x0b, 0xdd, 0xc2, + 0xe4, 0xcf, 0x16, 0x7f, 0x4c, 0x61, 0x14, 0x52, 0x3b, 0xb9, 0x1d, 0x58, 0xe0, 0xbf, 0x3e, 0xc2, + 0x28, 0xa4, 0x0f, 0x04, 0x47, 0xfb, 0x1b, 0x05, 0x56, 0x67, 0x21, 0x4e, 0xbf, 0x68, 0xfe, 0xaf, + 0x6f, 0x5b, 0xe6, 0x84, 0x94, 0xcc, 0x45, 0x3e, 0x92, 0xb2, 0x17, 0xfe, 0x48, 0xfa, 0x5b, 0x15, + 0xaa, 0xd3, 0xc6, 0x7c, 0x7e, 0xa7, 0x33, 0x7b, 0xa7, 0xf3, 0x83, 0xde, 0xf2, 0x69, 0x7f, 0xa7, + 0xc0, 0x6b, 0x73, 0x00, 0xfd, 0xc1, 0x5c, 0x64, 0xea, 0x66, 0x47, 0x7d, 0xee, 0xcd, 0xce, 0xa7, + 0xef, 0x24, 0x7f, 0xaf, 0xc0, 0x6a, 0x53, 0xdc, 0xd5, 0x8b, 0x9b, 0x8f, 0x97, 0x37, 0x06, 0xf3, + 0xeb, 0xf8, 0xec, 0xe4, 0xd7, 0x2a, 0xad, 0x06, 0x6b, 0x67, 0x4c, 0x7b, 0x81, 0xdb, 0x9c, 0xff, + 0x52, 0x60, 0x59, 0x8e, 0xa2, 0xbf, 0xb4, 0xe5, 0xcb, 0x1c, 0x74, 0xf0, 0x9b, 0x90, 0x71, 0xfb, + 0x49, 0xdd, 0x3b, 0xfb, 0x0a, 0x81, 0x09, 0xb4, 0xf7, 0x01, 0x4f, 0xdb, 0xfd, 0x02, 0xd0, 0xfd, + 0xbb, 0x0a, 0x6b, 0x44, 0x44, 0xdf, 0xcf, 0x7f, 0x5f, 0xf8, 0x61, 0x7f, 0x5f, 0x78, 0x76, 0xe2, + 0xfa, 0x98, 0x17, 0x53, 0xb3, 0x50, 0x7f, 0x7a, 0xa9, 0xeb, 0x4c, 0xa2, 0xcd, 0x9c, 0x4b, 0xb4, + 0x2f, 0x1e, 0x8f, 0x3e, 0x56, 0x61, 0x5d, 0x1a, 0xf2, 0x79, 0xad, 0x73, 0x71, 0x8f, 0xc8, 0x9f, + 0xf3, 0x88, 0xff, 0x54, 0xe0, 0xea, 0x5c, 0x20, 0xff, 0xdf, 0x2b, 0x9a, 0x33, 0xde, 0x93, 0x7d, + 0xae, 0xf7, 0xe4, 0x2e, 0xec, 0x3d, 0xdf, 0x52, 0xa1, 0x42, 0xa8, 0x47, 0x9d, 0xe8, 0x15, 0xbf, + 0xdd, 0x3b, 0x83, 0x61, 0xee, 0xdc, 0x3d, 0xe7, 0x32, 0x2c, 0xa5, 0x40, 0xc8, 0x0f, 0x2e, 0xfe, + 0x81, 0xce, 0xf2, 0xe0, 0x07, 0xd4, 0xf1, 0xe2, 0xa4, 0x12, 0xd4, 0xfe, 0x54, 0x85, 0x32, 0x61, + 0x1c, 0x77, 0x48, 0x3b, 0xb1, 0x13, 0x47, 0xf8, 0x0b, 0xb0, 0x78, 0xc8, 0x55, 0xec, 0x89, 0x87, + 0x14, 0x49, 0x49, 0xf0, 0xc4, 0xaf, 0x8f, 0x5b, 0xb0, 0x16, 0xd1, 0x5e, 0xe0, 0xf7, 0x23, 0xfb, + 0x80, 0x1e, 0xba, 0x7e, 0xdf, 0x1e, 0x3a, 0x51, 0x4c, 0x43, 0x0e, 0x4b, 0x99, 0xac, 0x48, 0xe1, + 0x36, 0x97, 0x35, 0xb9, 0x08, 0xdf, 0x84, 0xd5, 0x03, 0xd7, 0xf7, 0x82, 0x81, 0x3d, 0xf2, 0x9c, + 0x31, 0x0d, 0x23, 0xbb, 0x17, 0x9c, 0xf8, 0x02, 0x8f, 0x1c, 0xc1, 0x42, 0xd6, 0x16, 0xa2, 0x1a, + 0x93, 0xe0, 0x0f, 0xe1, 0xfa, 0xdc, 0x59, 0xec, 0xc7, 0xae, 0x17, 0xd3, 0x90, 0xf6, 0xed, 0x90, + 0x8e, 0x3c, 0xb7, 0x27, 0x5e, 0x58, 0x09, 0xa0, 0xbe, 0x3c, 0x67, 0xea, 0x5d, 0xa9, 0x4e, 0x26, + 0xda, 0xf8, 0x2a, 0x14, 0x7b, 0xa3, 0x13, 0xfb, 0x84, 0x3f, 0x5a, 0x60, 0xf8, 0x29, 0xa4, 0xd0, + 0x1b, 0x9d, 0x74, 0x19, 0x8d, 0x11, 0x64, 0x8e, 0x47, 0x22, 0x38, 0x2b, 0x84, 0x35, 0xb5, 0xef, + 0x2b, 0x50, 0xd1, 0x07, 0x83, 0x90, 0x0e, 0x9c, 0x58, 0xc2, 0x74, 0x13, 0x56, 0x05, 0x24, 0x63, + 0x5b, 0xba, 0xab, 0xb0, 0x47, 0x11, 0xf6, 0x48, 0x99, 0xf0, 0x55, 0x61, 0xcf, 0x6d, 0xb8, 0x7c, + 0xe2, 0xcf, 0xed, 0xa3, 0xf2, 0x3e, 0xab, 0xa9, 0x74, 0xba, 0xd7, 0x4f, 0xc2, 0x6b, 0xf3, 0x51, + 0x18, 0xba, 0xe2, 0x95, 0x63, 0x99, 0x5c, 0x9e, 0x63, 0x74, 0xd3, 0xf5, 0x9f, 0xd1, 0xd5, 0xf9, + 0x88, 0xe3, 0xf5, 0x09, 0x5d, 0x9d, 0x8f, 0xb4, 0x3f, 0x4f, 0x7f, 0x53, 0x4c, 0xdc, 0x25, 0x0d, + 0x1c, 0x89, 0x23, 0x2b, 0xcf, 0x72, 0xe4, 0x2a, 0x2c, 0x30, 0x67, 0x74, 0xfd, 0x01, 0x37, 0xae, + 0x40, 0x12, 0x12, 0x77, 0xe0, 0xcb, 0xd2, 0x76, 0xfa, 0x51, 0x4c, 0x43, 0xdf, 0xf1, 0xbc, 0xb1, + 0x2d, 0xae, 0x1f, 0x7d, 0xfe, 0xa0, 0x2c, 0x7d, 0xf5, 0x29, 0xc2, 0xc7, 0x17, 0x85, 0xb6, 0x91, + 0x2a, 0x93, 0x54, 0xd7, 0x4a, 0xdf, 0x83, 0x7e, 0x15, 0x2a, 0xa1, 0x74, 0x62, 0x3b, 0x62, 0xdb, + 0x23, 0x43, 0xee, 0x6a, 0xf2, 0x6a, 0x62, 0xda, 0xc3, 0x49, 0x39, 0x9c, 0x71, 0xf8, 0x17, 0x0e, + 0x38, 0xf7, 0xb2, 0x85, 0x3c, 0x5a, 0xd0, 0xfe, 0x42, 0x81, 0x95, 0x39, 0xdf, 0xee, 0xe9, 0xc5, + 0x80, 0x32, 0x75, 0xef, 0xf8, 0xe3, 0x90, 0xe3, 0x0f, 0x5a, 0xe4, 0x1b, 0xaa, 0x2b, 0xe7, 0x3f, + 0xfd, 0xf9, 0xe3, 0x13, 0x22, 0xb4, 0xd8, 0x59, 0xe4, 0x36, 0xc9, 0xd7, 0x76, 0x12, 0x92, 0x12, + 0xe3, 0xc9, 0x27, 0x76, 0xe7, 0x6e, 0x32, 0xb3, 0xcf, 0xbd, 0xc9, 0xbc, 0xfe, 0xdb, 0x19, 0x28, + 0x36, 0xc7, 0x9d, 0x63, 0x6f, 0xd7, 0x73, 0x06, 0xfc, 0x75, 0x48, 0xb3, 0x6d, 0x3d, 0x42, 0x97, + 0xf0, 0x32, 0x94, 0xcd, 0x96, 0x65, 0x9b, 0xdd, 0x46, 0xc3, 0xde, 0x6d, 0xe8, 0x7b, 0x48, 0xc1, + 0x08, 0x16, 0xdb, 0xa4, 0x6e, 0xdf, 0x37, 0x1e, 0x09, 0x8e, 0x8a, 0x57, 0x60, 0xa9, 0x6b, 0xd6, + 0x1f, 0x74, 0x8d, 0x09, 0x33, 0x8b, 0xd7, 0x60, 0xb9, 0xd9, 0x6d, 0x58, 0xf5, 0x76, 0x63, 0x8a, + 0x5d, 0xc0, 0x65, 0x28, 0x6e, 0x37, 0x5a, 0xdb, 0x82, 0x44, 0x6c, 0xfc, 0xae, 0xd9, 0xa9, 0xef, + 0x99, 0xc6, 0x8e, 0x60, 0x6d, 0x30, 0xd6, 0x87, 0x06, 0x69, 0xed, 0xd6, 0x93, 0x29, 0xdf, 0xc7, + 0x08, 0x4a, 0xdb, 0x75, 0x53, 0x27, 0x72, 0x94, 0xa7, 0x0a, 0xae, 0x40, 0xd1, 0x30, 0xbb, 0x4d, + 0x49, 0xab, 0xb8, 0x0a, 0x2b, 0x7a, 0xd7, 0x6a, 0xd9, 0x75, 0xb3, 0x46, 0x8c, 0xa6, 0x61, 0x5a, + 0x52, 0x92, 0xc5, 0x2b, 0x50, 0xb1, 0xea, 0x4d, 0xa3, 0x63, 0xe9, 0xcd, 0xb6, 0x64, 0xb2, 0x55, + 0x14, 0x3a, 0x46, 0xa2, 0x83, 0xf0, 0x3a, 0xac, 0x99, 0x2d, 0x3b, 0x79, 0x5a, 0xb7, 0xaf, 0x37, + 0xba, 0x86, 0x94, 0x6d, 0xe0, 0x2b, 0x80, 0x5b, 0xa6, 0xdd, 0x6d, 0xef, 0xe8, 0x96, 0x61, 0x9b, + 0xad, 0x87, 0x52, 0xf0, 0x3e, 0xae, 0x40, 0x61, 0xb2, 0x82, 0xa7, 0x0c, 0x85, 0x72, 0x5b, 0x27, + 0xd6, 0xc4, 0xd8, 0xa7, 0x4f, 0x19, 0x58, 0xb0, 0x47, 0x5a, 0xdd, 0xf6, 0x44, 0x6d, 0x19, 0x4a, + 0x12, 0x2c, 0xc9, 0xca, 0x32, 0xd6, 0x76, 0xdd, 0xac, 0xa5, 0xeb, 0x7b, 0x5a, 0x58, 0x57, 0x91, + 0x72, 0xfd, 0x08, 0xb2, 0x7c, 0x3b, 0x0a, 0x90, 0x35, 0x5b, 0xa6, 0x81, 0x2e, 0xe1, 0x25, 0x80, + 0x7a, 0xa7, 0x6e, 0x5a, 0xc6, 0x1e, 0xd1, 0x1b, 0xcc, 0x6c, 0xce, 0x48, 0x00, 0x64, 0xd6, 0x2e, + 0xc2, 0x42, 0xbd, 0xb3, 0xdb, 0x68, 0xe9, 0x96, 0x34, 0xb3, 0xde, 0x79, 0xd0, 0x6d, 0x59, 0x4c, + 0x88, 0x70, 0x09, 0xf2, 0xf5, 0x8e, 0x65, 0x7c, 0xdd, 0x62, 0x76, 0x71, 0x99, 0x40, 0x15, 0x3d, + 0x7d, 0xff, 0xfa, 0x77, 0x32, 0x90, 0xe5, 0xcf, 0xb9, 0xcb, 0x50, 0xe4, 0xbb, 0x6d, 0x3d, 0x6a, + 0xb3, 0x29, 0x8b, 0x90, 0xad, 0x9b, 0xd6, 0x5d, 0xf4, 0x73, 0x2a, 0x06, 0xc8, 0x75, 0x79, 0xfb, + 0xe7, 0xf3, 0xac, 0x5d, 0x37, 0xad, 0x77, 0xee, 0xa0, 0x6f, 0xa8, 0x6c, 0xd8, 0xae, 0x20, 0x7e, + 0x21, 0x11, 0x6c, 0xdd, 0x46, 0xdf, 0x4c, 0x05, 0x5b, 0xb7, 0xd1, 0x2f, 0x26, 0x82, 0x5b, 0x5b, + 0xe8, 0x5b, 0xa9, 0xe0, 0xd6, 0x16, 0xfa, 0xa5, 0x44, 0x70, 0xe7, 0x36, 0xfa, 0xe5, 0x54, 0x70, + 0xe7, 0x36, 0xfa, 0x95, 0x3c, 0xb3, 0x85, 0x5b, 0x72, 0x6b, 0x0b, 0xfd, 0x6a, 0x21, 0xa5, 0xee, + 0xdc, 0x46, 0xbf, 0x56, 0x60, 0xfb, 0x9f, 0xee, 0x2a, 0xfa, 0x75, 0xc4, 0x96, 0xc9, 0x36, 0x08, + 0xfd, 0x06, 0x6f, 0x32, 0x11, 0xfa, 0x4d, 0xc4, 0x6c, 0x64, 0x5c, 0x4e, 0x7e, 0x9b, 0x4b, 0x1e, + 0x19, 0x3a, 0x41, 0xbf, 0x95, 0x17, 0x8f, 0x3d, 0x6b, 0xf5, 0xa6, 0xde, 0x40, 0x98, 0xf7, 0x60, + 0xa8, 0xfc, 0xce, 0x4d, 0xd6, 0x64, 0xee, 0x89, 0x7e, 0xb7, 0xcd, 0x26, 0xdc, 0xd7, 0x49, 0xed, + 0x03, 0x9d, 0xa0, 0xdf, 0xbb, 0xc9, 0x26, 0xdc, 0xd7, 0x89, 0xc4, 0xeb, 0xf7, 0xdb, 0x4c, 0x91, + 0x8b, 0xfe, 0xe0, 0x26, 0x5b, 0xb4, 0xe4, 0xff, 0x61, 0x1b, 0x17, 0x20, 0xb3, 0x5d, 0xb7, 0xd0, + 0x77, 0xf8, 0x6c, 0xcc, 0x45, 0xd1, 0x1f, 0x21, 0xc6, 0xec, 0x18, 0x16, 0xfa, 0x2e, 0x63, 0xe6, + 0xac, 0x6e, 0xbb, 0x61, 0xa0, 0xd7, 0xd9, 0xe2, 0xf6, 0x8c, 0x56, 0xd3, 0xb0, 0xc8, 0x23, 0xf4, + 0xc7, 0x5c, 0xfd, 0x5e, 0xa7, 0x65, 0xa2, 0xef, 0x21, 0x5c, 0x01, 0x30, 0xbe, 0xde, 0x26, 0x46, + 0xa7, 0x53, 0x6f, 0x99, 0xe8, 0xad, 0xeb, 0xbb, 0x80, 0xce, 0x86, 0x03, 0x66, 0x40, 0xd7, 0xbc, + 0x6f, 0xb6, 0x1e, 0x9a, 0xe8, 0x12, 0x23, 0xda, 0xc4, 0x68, 0xeb, 0xc4, 0x40, 0x0a, 0x06, 0xc8, + 0xcb, 0x27, 0xa4, 0x2a, 0x5e, 0x84, 0x02, 0x69, 0x35, 0x1a, 0xdb, 0x7a, 0xed, 0x3e, 0xca, 0x6c, + 0xbf, 0x0b, 0x4b, 0x6e, 0xb0, 0x79, 0xea, 0xc6, 0x34, 0x8a, 0xc4, 0x1f, 0x06, 0x3e, 0xd4, 0x24, + 0xe5, 0x06, 0x37, 0x44, 0xeb, 0xc6, 0x20, 0xb8, 0x71, 0x1a, 0xdf, 0xe0, 0xd2, 0x1b, 0x3c, 0x62, + 0x1c, 0xe4, 0x39, 0x71, 0xeb, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x5e, 0x0c, 0x52, 0xdd, 0x8e, + 0x30, 0x00, 0x00, } diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 2ea8cc56402..52b8e39e8e4 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -58,6 +58,7 @@ type ( DDLStatement interface { iDDLStatement() IsFullyParsed() bool + IsTemporary() bool GetTable() TableName GetAction() DDLAction GetOptLike() *OptLike @@ -421,6 +422,7 @@ type ( // DropTable represents a DROP TABLE statement. DropTable struct { + Temp bool FromTables TableNames // The following fields are set if a DDL was fully analyzed. IfExists bool @@ -434,6 +436,7 @@ type ( // CreateTable represents a CREATE TABLE statement. CreateTable struct { + Temp bool Table TableName IfNotExists bool TableSpec *TableSpec @@ -677,6 +680,46 @@ func (node *AlterView) IsFullyParsed() bool { return true } +// IsTemporary implements the DDLStatement interface +func (*TruncateTable) IsTemporary() bool { + return false +} + +// IsTemporary implements the DDLStatement interface +func (*RenameTable) IsTemporary() bool { + return false +} + +// IsTemporary implements the DDLStatement interface +func (node *CreateTable) IsTemporary() bool { + return node.Temp +} + +// IsTemporary implements the DDLStatement interface +func (node *AlterTable) IsTemporary() bool { + return false +} + +// IsTemporary implements the DDLStatement interface +func (node *CreateView) IsTemporary() bool { + return false +} + +// IsTemporary implements the DDLStatement interface +func (node *DropView) IsTemporary() bool { + return false +} + +// IsTemporary implements the DDLStatement interface +func (node *DropTable) IsTemporary() bool { + return node.Temp +} + +// IsTemporary implements the DDLStatement interface +func (node *AlterView) IsTemporary() bool { + return false +} + // GetTable implements the DDLStatement interface func (node *TruncateTable) GetTable() TableName { return node.Table @@ -3170,11 +3213,17 @@ func (node *AlterDatabase) Format(buf *TrackedBuffer) { // Format formats the node. func (node *CreateTable) Format(buf *TrackedBuffer) { + buf.WriteString("create ") + if node.Temp { + buf.WriteString("temporary ") + } + buf.WriteString("table ") + if node.IfNotExists { - buf.astPrintf(node, "create table if not exists %v", node.Table) - } else { - buf.astPrintf(node, "create table %v", node.Table) + buf.WriteString("if not exists ") } + buf.astPrintf(node, "%v", node.Table) + if node.OptLike != nil { buf.astPrintf(node, " %v", node.OptLike) } @@ -3239,11 +3288,15 @@ func (node *AlterView) Format(buf *TrackedBuffer) { // Format formats the node. func (node *DropTable) Format(buf *TrackedBuffer) { + temp := "" + if node.Temp { + temp = " temporary" + } exists := "" if node.IfExists { exists = " if exists" } - buf.astPrintf(node, "drop table%s %v", exists, node.FromTables) + buf.astPrintf(node, "drop%s table%s %v", temp, exists, node.FromTables) } // Format formats the node. diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 3da863e090e..80b8d60edf5 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -1124,6 +1124,8 @@ var ( }, { input: "create table a (b1 bool NOT NULL PRIMARY KEY, b2 boolean not null, KEY b2_idx(b))", output: "create table a (\n\tb1 bool not null primary key,\n\tb2 boolean not null,\n\tKEY b2_idx (b)\n)", + }, { + input: "create temporary table a (\n\tid bigint\n)", }, { input: "CREATE TABLE pkai (id INT PRIMARY KEY AUTO_INCREMENT);", output: "create table pkai (\n\tid INT auto_increment primary key\n)", @@ -1263,6 +1265,8 @@ var ( }, { input: "drop table if exists a,b restrict", output: "drop table if exists a, b", + }, { + input: "drop temporary table if exists a, b", }, { input: "drop view if exists a cascade", output: "drop view if exists a", diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 58f13dfad66..31282263b9e 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -337,250 +337,251 @@ const SQL = 57540 const UNDEFINED = 57541 const SEQUENCE = 57542 const MERGE = 57543 -const TEMPTABLE = 57544 -const INVOKER = 57545 -const SECURITY = 57546 -const FIRST = 57547 -const AFTER = 57548 -const LAST = 57549 -const BEGIN = 57550 -const START = 57551 -const TRANSACTION = 57552 -const COMMIT = 57553 -const ROLLBACK = 57554 -const SAVEPOINT = 57555 -const RELEASE = 57556 -const WORK = 57557 -const BIT = 57558 -const TINYINT = 57559 -const SMALLINT = 57560 -const MEDIUMINT = 57561 -const INT = 57562 -const INTEGER = 57563 -const BIGINT = 57564 -const INTNUM = 57565 -const REAL = 57566 -const DOUBLE = 57567 -const FLOAT_TYPE = 57568 -const DECIMAL = 57569 -const NUMERIC = 57570 -const TIME = 57571 -const TIMESTAMP = 57572 -const DATETIME = 57573 -const YEAR = 57574 -const CHAR = 57575 -const VARCHAR = 57576 -const BOOL = 57577 -const CHARACTER = 57578 -const VARBINARY = 57579 -const NCHAR = 57580 -const TEXT = 57581 -const TINYTEXT = 57582 -const MEDIUMTEXT = 57583 -const LONGTEXT = 57584 -const BLOB = 57585 -const TINYBLOB = 57586 -const MEDIUMBLOB = 57587 -const LONGBLOB = 57588 -const JSON = 57589 -const ENUM = 57590 -const GEOMETRY = 57591 -const POINT = 57592 -const LINESTRING = 57593 -const POLYGON = 57594 -const GEOMETRYCOLLECTION = 57595 -const MULTIPOINT = 57596 -const MULTILINESTRING = 57597 -const MULTIPOLYGON = 57598 -const NULLX = 57599 -const AUTO_INCREMENT = 57600 -const APPROXNUM = 57601 -const SIGNED = 57602 -const UNSIGNED = 57603 -const ZEROFILL = 57604 -const COLLATION = 57605 -const DATABASES = 57606 -const SCHEMAS = 57607 -const TABLES = 57608 -const VITESS_METADATA = 57609 -const VSCHEMA = 57610 -const FULL = 57611 -const PROCESSLIST = 57612 -const COLUMNS = 57613 -const FIELDS = 57614 -const ENGINES = 57615 -const PLUGINS = 57616 -const EXTENDED = 57617 -const KEYSPACES = 57618 -const VITESS_KEYSPACES = 57619 -const VITESS_SHARDS = 57620 -const VITESS_TABLETS = 57621 -const CODE = 57622 -const PRIVILEGES = 57623 -const FUNCTION = 57624 -const NAMES = 57625 -const CHARSET = 57626 -const GLOBAL = 57627 -const SESSION = 57628 -const ISOLATION = 57629 -const LEVEL = 57630 -const READ = 57631 -const WRITE = 57632 -const ONLY = 57633 -const REPEATABLE = 57634 -const COMMITTED = 57635 -const UNCOMMITTED = 57636 -const SERIALIZABLE = 57637 -const CURRENT_TIMESTAMP = 57638 -const DATABASE = 57639 -const CURRENT_DATE = 57640 -const CURRENT_TIME = 57641 -const LOCALTIME = 57642 -const LOCALTIMESTAMP = 57643 -const CURRENT_USER = 57644 -const UTC_DATE = 57645 -const UTC_TIME = 57646 -const UTC_TIMESTAMP = 57647 -const REPLACE = 57648 -const CONVERT = 57649 -const CAST = 57650 -const SUBSTR = 57651 -const SUBSTRING = 57652 -const GROUP_CONCAT = 57653 -const SEPARATOR = 57654 -const TIMESTAMPADD = 57655 -const TIMESTAMPDIFF = 57656 -const MATCH = 57657 -const AGAINST = 57658 -const BOOLEAN = 57659 -const LANGUAGE = 57660 -const WITH = 57661 -const QUERY = 57662 -const EXPANSION = 57663 -const WITHOUT = 57664 -const VALIDATION = 57665 -const UNUSED = 57666 -const ARRAY = 57667 -const CUME_DIST = 57668 -const DESCRIPTION = 57669 -const DENSE_RANK = 57670 -const EMPTY = 57671 -const EXCEPT = 57672 -const FIRST_VALUE = 57673 -const GROUPING = 57674 -const GROUPS = 57675 -const JSON_TABLE = 57676 -const LAG = 57677 -const LAST_VALUE = 57678 -const LATERAL = 57679 -const LEAD = 57680 -const MEMBER = 57681 -const NTH_VALUE = 57682 -const NTILE = 57683 -const OF = 57684 -const OVER = 57685 -const PERCENT_RANK = 57686 -const RANK = 57687 -const RECURSIVE = 57688 -const ROW_NUMBER = 57689 -const SYSTEM = 57690 -const WINDOW = 57691 -const ACTIVE = 57692 -const ADMIN = 57693 -const BUCKETS = 57694 -const CLONE = 57695 -const COMPONENT = 57696 -const DEFINITION = 57697 -const ENFORCED = 57698 -const EXCLUDE = 57699 -const FOLLOWING = 57700 -const GEOMCOLLECTION = 57701 -const GET_MASTER_PUBLIC_KEY = 57702 -const HISTOGRAM = 57703 -const HISTORY = 57704 -const INACTIVE = 57705 -const INVISIBLE = 57706 -const LOCKED = 57707 -const MASTER_COMPRESSION_ALGORITHMS = 57708 -const MASTER_PUBLIC_KEY_PATH = 57709 -const MASTER_TLS_CIPHERSUITES = 57710 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57711 -const NESTED = 57712 -const NETWORK_NAMESPACE = 57713 -const NOWAIT = 57714 -const NULLS = 57715 -const OJ = 57716 -const OLD = 57717 -const OPTIONAL = 57718 -const ORDINALITY = 57719 -const ORGANIZATION = 57720 -const OTHERS = 57721 -const PATH = 57722 -const PERSIST = 57723 -const PERSIST_ONLY = 57724 -const PRECEDING = 57725 -const PRIVILEGE_CHECKS_USER = 57726 -const PROCESS = 57727 -const RANDOM = 57728 -const REFERENCE = 57729 -const REQUIRE_ROW_FORMAT = 57730 -const RESOURCE = 57731 -const RESPECT = 57732 -const RESTART = 57733 -const RETAIN = 57734 -const REUSE = 57735 -const ROLE = 57736 -const SECONDARY = 57737 -const SECONDARY_ENGINE = 57738 -const SECONDARY_LOAD = 57739 -const SECONDARY_UNLOAD = 57740 -const SKIP = 57741 -const SRID = 57742 -const THREAD_PRIORITY = 57743 -const TIES = 57744 -const UNBOUNDED = 57745 -const VCPU = 57746 -const VISIBLE = 57747 -const FORMAT = 57748 -const TREE = 57749 -const VITESS = 57750 -const TRADITIONAL = 57751 -const LOCAL = 57752 -const LOW_PRIORITY = 57753 -const NO_WRITE_TO_BINLOG = 57754 -const LOGS = 57755 -const ERROR = 57756 -const GENERAL = 57757 -const HOSTS = 57758 -const OPTIMIZER_COSTS = 57759 -const USER_RESOURCES = 57760 -const SLOW = 57761 -const CHANNEL = 57762 -const RELAY = 57763 -const EXPORT = 57764 -const AVG_ROW_LENGTH = 57765 -const CONNECTION = 57766 -const CHECKSUM = 57767 -const DELAY_KEY_WRITE = 57768 -const ENCRYPTION = 57769 -const ENGINE = 57770 -const INSERT_METHOD = 57771 -const MAX_ROWS = 57772 -const MIN_ROWS = 57773 -const PACK_KEYS = 57774 -const PASSWORD = 57775 -const FIXED = 57776 -const DYNAMIC = 57777 -const COMPRESSED = 57778 -const REDUNDANT = 57779 -const COMPACT = 57780 -const ROW_FORMAT = 57781 -const STATS_AUTO_RECALC = 57782 -const STATS_PERSISTENT = 57783 -const STATS_SAMPLE_PAGES = 57784 -const STORAGE = 57785 -const MEMORY = 57786 -const DISK = 57787 +const TEMPORARY = 57544 +const TEMPTABLE = 57545 +const INVOKER = 57546 +const SECURITY = 57547 +const FIRST = 57548 +const AFTER = 57549 +const LAST = 57550 +const BEGIN = 57551 +const START = 57552 +const TRANSACTION = 57553 +const COMMIT = 57554 +const ROLLBACK = 57555 +const SAVEPOINT = 57556 +const RELEASE = 57557 +const WORK = 57558 +const BIT = 57559 +const TINYINT = 57560 +const SMALLINT = 57561 +const MEDIUMINT = 57562 +const INT = 57563 +const INTEGER = 57564 +const BIGINT = 57565 +const INTNUM = 57566 +const REAL = 57567 +const DOUBLE = 57568 +const FLOAT_TYPE = 57569 +const DECIMAL = 57570 +const NUMERIC = 57571 +const TIME = 57572 +const TIMESTAMP = 57573 +const DATETIME = 57574 +const YEAR = 57575 +const CHAR = 57576 +const VARCHAR = 57577 +const BOOL = 57578 +const CHARACTER = 57579 +const VARBINARY = 57580 +const NCHAR = 57581 +const TEXT = 57582 +const TINYTEXT = 57583 +const MEDIUMTEXT = 57584 +const LONGTEXT = 57585 +const BLOB = 57586 +const TINYBLOB = 57587 +const MEDIUMBLOB = 57588 +const LONGBLOB = 57589 +const JSON = 57590 +const ENUM = 57591 +const GEOMETRY = 57592 +const POINT = 57593 +const LINESTRING = 57594 +const POLYGON = 57595 +const GEOMETRYCOLLECTION = 57596 +const MULTIPOINT = 57597 +const MULTILINESTRING = 57598 +const MULTIPOLYGON = 57599 +const NULLX = 57600 +const AUTO_INCREMENT = 57601 +const APPROXNUM = 57602 +const SIGNED = 57603 +const UNSIGNED = 57604 +const ZEROFILL = 57605 +const COLLATION = 57606 +const DATABASES = 57607 +const SCHEMAS = 57608 +const TABLES = 57609 +const VITESS_METADATA = 57610 +const VSCHEMA = 57611 +const FULL = 57612 +const PROCESSLIST = 57613 +const COLUMNS = 57614 +const FIELDS = 57615 +const ENGINES = 57616 +const PLUGINS = 57617 +const EXTENDED = 57618 +const KEYSPACES = 57619 +const VITESS_KEYSPACES = 57620 +const VITESS_SHARDS = 57621 +const VITESS_TABLETS = 57622 +const CODE = 57623 +const PRIVILEGES = 57624 +const FUNCTION = 57625 +const NAMES = 57626 +const CHARSET = 57627 +const GLOBAL = 57628 +const SESSION = 57629 +const ISOLATION = 57630 +const LEVEL = 57631 +const READ = 57632 +const WRITE = 57633 +const ONLY = 57634 +const REPEATABLE = 57635 +const COMMITTED = 57636 +const UNCOMMITTED = 57637 +const SERIALIZABLE = 57638 +const CURRENT_TIMESTAMP = 57639 +const DATABASE = 57640 +const CURRENT_DATE = 57641 +const CURRENT_TIME = 57642 +const LOCALTIME = 57643 +const LOCALTIMESTAMP = 57644 +const CURRENT_USER = 57645 +const UTC_DATE = 57646 +const UTC_TIME = 57647 +const UTC_TIMESTAMP = 57648 +const REPLACE = 57649 +const CONVERT = 57650 +const CAST = 57651 +const SUBSTR = 57652 +const SUBSTRING = 57653 +const GROUP_CONCAT = 57654 +const SEPARATOR = 57655 +const TIMESTAMPADD = 57656 +const TIMESTAMPDIFF = 57657 +const MATCH = 57658 +const AGAINST = 57659 +const BOOLEAN = 57660 +const LANGUAGE = 57661 +const WITH = 57662 +const QUERY = 57663 +const EXPANSION = 57664 +const WITHOUT = 57665 +const VALIDATION = 57666 +const UNUSED = 57667 +const ARRAY = 57668 +const CUME_DIST = 57669 +const DESCRIPTION = 57670 +const DENSE_RANK = 57671 +const EMPTY = 57672 +const EXCEPT = 57673 +const FIRST_VALUE = 57674 +const GROUPING = 57675 +const GROUPS = 57676 +const JSON_TABLE = 57677 +const LAG = 57678 +const LAST_VALUE = 57679 +const LATERAL = 57680 +const LEAD = 57681 +const MEMBER = 57682 +const NTH_VALUE = 57683 +const NTILE = 57684 +const OF = 57685 +const OVER = 57686 +const PERCENT_RANK = 57687 +const RANK = 57688 +const RECURSIVE = 57689 +const ROW_NUMBER = 57690 +const SYSTEM = 57691 +const WINDOW = 57692 +const ACTIVE = 57693 +const ADMIN = 57694 +const BUCKETS = 57695 +const CLONE = 57696 +const COMPONENT = 57697 +const DEFINITION = 57698 +const ENFORCED = 57699 +const EXCLUDE = 57700 +const FOLLOWING = 57701 +const GEOMCOLLECTION = 57702 +const GET_MASTER_PUBLIC_KEY = 57703 +const HISTOGRAM = 57704 +const HISTORY = 57705 +const INACTIVE = 57706 +const INVISIBLE = 57707 +const LOCKED = 57708 +const MASTER_COMPRESSION_ALGORITHMS = 57709 +const MASTER_PUBLIC_KEY_PATH = 57710 +const MASTER_TLS_CIPHERSUITES = 57711 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57712 +const NESTED = 57713 +const NETWORK_NAMESPACE = 57714 +const NOWAIT = 57715 +const NULLS = 57716 +const OJ = 57717 +const OLD = 57718 +const OPTIONAL = 57719 +const ORDINALITY = 57720 +const ORGANIZATION = 57721 +const OTHERS = 57722 +const PATH = 57723 +const PERSIST = 57724 +const PERSIST_ONLY = 57725 +const PRECEDING = 57726 +const PRIVILEGE_CHECKS_USER = 57727 +const PROCESS = 57728 +const RANDOM = 57729 +const REFERENCE = 57730 +const REQUIRE_ROW_FORMAT = 57731 +const RESOURCE = 57732 +const RESPECT = 57733 +const RESTART = 57734 +const RETAIN = 57735 +const REUSE = 57736 +const ROLE = 57737 +const SECONDARY = 57738 +const SECONDARY_ENGINE = 57739 +const SECONDARY_LOAD = 57740 +const SECONDARY_UNLOAD = 57741 +const SKIP = 57742 +const SRID = 57743 +const THREAD_PRIORITY = 57744 +const TIES = 57745 +const UNBOUNDED = 57746 +const VCPU = 57747 +const VISIBLE = 57748 +const FORMAT = 57749 +const TREE = 57750 +const VITESS = 57751 +const TRADITIONAL = 57752 +const LOCAL = 57753 +const LOW_PRIORITY = 57754 +const NO_WRITE_TO_BINLOG = 57755 +const LOGS = 57756 +const ERROR = 57757 +const GENERAL = 57758 +const HOSTS = 57759 +const OPTIMIZER_COSTS = 57760 +const USER_RESOURCES = 57761 +const SLOW = 57762 +const CHANNEL = 57763 +const RELAY = 57764 +const EXPORT = 57765 +const AVG_ROW_LENGTH = 57766 +const CONNECTION = 57767 +const CHECKSUM = 57768 +const DELAY_KEY_WRITE = 57769 +const ENCRYPTION = 57770 +const ENGINE = 57771 +const INSERT_METHOD = 57772 +const MAX_ROWS = 57773 +const MIN_ROWS = 57774 +const PACK_KEYS = 57775 +const PASSWORD = 57776 +const FIXED = 57777 +const DYNAMIC = 57778 +const COMPRESSED = 57779 +const REDUNDANT = 57780 +const COMPACT = 57781 +const ROW_FORMAT = 57782 +const STATS_AUTO_RECALC = 57783 +const STATS_PERSISTENT = 57784 +const STATS_SAMPLE_PAGES = 57785 +const STORAGE = 57786 +const MEMORY = 57787 +const DISK = 57788 var yyToknames = [...]string{ "$end", @@ -801,6 +802,7 @@ var yyToknames = [...]string{ "UNDEFINED", "SEQUENCE", "MERGE", + "TEMPORARY", "TEMPTABLE", "INVOKER", "SECURITY", @@ -1059,14 +1061,17 @@ var yyExca = [...]int{ -1, 1, 1, -1, -2, 0, + -1, 43, + 163, 921, + -2, 90, -1, 44, 1, 111, - 463, 111, + 464, 111, -2, 117, -1, 45, 143, 117, - 253, 117, - 301, 117, + 254, 117, + 302, 117, -2, 324, -1, 52, 34, 463, @@ -1081,587 +1086,576 @@ var yyExca = [...]int{ -1, 82, 56, 554, -2, 562, - -1, 106, + -1, 107, 1, 112, - 463, 112, + 464, 112, -2, 117, - -1, 116, + -1, 117, 169, 229, 170, 229, -2, 318, - -1, 135, + -1, 136, 143, 117, - 253, 117, - 301, 117, + 254, 117, + 302, 117, -2, 333, - -1, 562, - 150, 940, - -2, 936, - -1, 563, - 150, 941, - -2, 937, - -1, 581, + -1, 564, + 150, 942, + -2, 938, + -1, 565, + 150, 943, + -2, 939, + -1, 583, 56, 555, -2, 567, - -1, 582, + -1, 584, 56, 556, -2, 568, - -1, 602, - 118, 1277, + -1, 604, + 118, 1279, -2, 83, - -1, 603, - 118, 1161, + -1, 605, + 118, 1163, -2, 84, - -1, 609, - 118, 1211, + -1, 611, + 118, 1213, -2, 915, - -1, 746, - 118, 1100, + -1, 748, + 118, 1102, -2, 912, - -1, 781, + -1, 783, 175, 37, 180, 37, -2, 240, - -1, 860, + -1, 862, 1, 371, - 463, 371, + 464, 371, -2, 117, - -1, 1092, + -1, 1094, 1, 267, - 463, 267, + 464, 267, -2, 117, - -1, 1170, + -1, 1172, 169, 229, 170, 229, -2, 318, - -1, 1179, + -1, 1181, 175, 38, 180, 38, -2, 241, - -1, 1383, - 150, 943, - -2, 939, - -1, 1475, + -1, 1385, + 150, 945, + -2, 941, + -1, 1477, 74, 65, 82, 65, -2, 69, - -1, 1496, + -1, 1498, 1, 268, - 463, 268, + 464, 268, -2, 117, - -1, 1902, + -1, 1906, 5, 809, 18, 809, 20, 809, 32, 809, 83, 809, -2, 593, - -1, 2114, + -1, 2118, 46, 883, -2, 881, } const yyPrivate = 57344 -const yyLast = 27502 +const yyLast = 27755 var yyAct = [...]int{ - 562, 2195, 1954, 2182, 2114, 1816, 2159, 1706, 2123, 914, - 1785, 506, 535, 2043, 2065, 1406, 1882, 1673, 1493, 1951, - 1707, 1420, 1883, 521, 574, 1879, 1526, 995, 1558, 1771, - 144, 1693, 1770, 872, 1789, 1894, 504, 1369, 750, 1040, - 1377, 1047, 811, 1841, 1633, 1531, 81, 3, 175, 1769, - 1155, 187, 1556, 469, 187, 1177, 130, 1472, 1533, 485, - 776, 187, 1301, 1763, 607, 1084, 1288, 1077, 1461, 187, - 1454, 1050, 1045, 583, 79, 1070, 1422, 1033, 1403, 568, - 1068, 32, 508, 1067, 1346, 1195, 1605, 931, 1437, 754, - 485, 1074, 497, 485, 187, 485, 757, 577, 763, 604, - 1184, 782, 779, 1267, 758, 777, 778, 1380, 1522, 1083, - 1477, 1304, 1057, 77, 107, 147, 108, 789, 492, 1008, - 853, 8, 1081, 1512, 76, 1149, 174, 1009, 1154, 7, - 6, 1587, 1169, 1254, 113, 114, 1808, 1807, 1829, 2067, - 1830, 1417, 1418, 912, 176, 177, 178, 1335, 1334, 1333, - 1332, 1331, 1330, 751, 1323, 2151, 589, 593, 1671, 569, - 109, 495, 2111, 496, 1928, 2022, 816, 176, 177, 178, - 187, 2089, 2088, 815, 2038, 813, 447, 2039, 115, 814, - 187, 493, 866, 2201, 2156, 187, 2194, 2134, 827, 828, - 78, 831, 832, 833, 834, 1156, 1623, 837, 838, 839, - 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, - 850, 851, 601, 608, 82, 2185, 1536, 932, 1955, 1575, - 792, 770, 109, 769, 1511, 1858, 2155, 460, 2133, 1986, - 768, 1909, 1910, 771, 1594, 793, 461, 1672, 1593, 817, - 818, 819, 102, 1085, 34, 1086, 458, 70, 38, 39, - 84, 85, 86, 87, 88, 89, 168, 173, 1478, 932, - 1908, 824, 1828, 1419, 104, 180, 181, 182, 1488, 1489, - 547, 829, 553, 554, 551, 552, 1621, 550, 549, 548, - 1487, 110, 942, 132, 473, 455, 566, 555, 556, 565, - 109, 1754, 152, 1505, 467, 1535, 1977, 104, 96, 97, - 1737, 1818, 882, 1736, 100, 880, 1738, 99, 98, 830, - 176, 177, 178, 1975, 1324, 1325, 1326, 891, 892, 69, - 772, 893, 910, 142, 942, 894, 891, 892, 131, 2136, - 483, 1322, 472, 481, 487, 1790, 473, 1812, 1557, 1590, - 1268, 2184, 104, 169, 1813, 1273, 149, 854, 150, 908, - 176, 177, 178, 119, 120, 141, 140, 167, 888, 1276, - 1244, 1277, 1278, 448, 449, 450, 1821, 465, 466, 476, - 2152, 938, 1819, 462, 464, 477, 451, 452, 479, 478, - 861, 454, 453, 1272, 472, 457, 474, 886, 887, 901, - 883, 903, 1602, 881, 1751, 1746, 884, 885, 930, 1274, - 909, 1245, 836, 1246, 835, 136, 117, 143, 124, 116, - 1820, 137, 138, 938, 1270, 153, 103, 2085, 2033, 473, - 1559, 800, 798, 1455, 1271, 158, 125, 1927, 900, 902, - 473, 809, 808, 807, 806, 805, 773, 804, 1747, 803, - 128, 126, 121, 122, 123, 127, 802, 187, 797, 103, - 118, 1163, 810, 864, 2034, 2202, 784, 1537, 2171, 129, - 1749, 895, 899, 1744, 755, 172, 595, 472, 1609, 1592, - 485, 485, 485, 755, 1842, 1745, 1478, 753, 472, 865, - 106, 762, 875, 876, 877, 878, 879, 1822, 485, 485, - 896, 1581, 2132, 755, 103, 2199, 1183, 1182, 785, 1281, - 1674, 1676, 911, 937, 934, 935, 936, 941, 943, 940, - 475, 939, 1622, 801, 799, 918, 791, 1844, 933, 473, - 820, 2124, 906, 1779, 1589, 898, 145, 1867, 470, 1800, - 791, 1866, 1865, 766, 1752, 1750, 924, 2137, 765, 764, - 897, 446, 179, 471, 1494, 937, 934, 935, 936, 941, - 943, 940, 2118, 939, 1256, 1255, 1257, 1258, 1259, 1601, - 933, 71, 1600, 1577, 1607, 2006, 187, 472, 1907, 1606, - 1698, 791, 1607, 826, 1846, 139, 1850, 1606, 1845, 791, - 1843, 1652, 980, 981, 1641, 1848, 978, 133, 1567, 1483, - 134, 1061, 485, 993, 1847, 187, 1675, 187, 187, 889, - 485, 791, 1649, 870, 858, 968, 485, 1849, 1851, 604, - 1037, 927, 1733, 958, 915, 916, 968, 1038, 996, 925, - 926, 1302, 791, 2101, 957, 956, 966, 967, 959, 960, - 961, 962, 963, 964, 965, 958, 867, 868, 968, 1433, - 1748, 1034, 2197, 1305, 1319, 2198, 948, 2196, 874, 1153, - 1860, 790, 905, 2093, 1066, 860, 812, 1051, 784, 787, - 788, 1892, 755, 1269, 907, 790, 781, 785, 1011, 1013, - 1015, 1017, 1019, 1021, 1022, 1087, 1012, 1014, 928, 1018, - 1020, 859, 1023, 1031, 855, 780, 856, 1576, 1049, 857, - 1648, 146, 151, 148, 154, 155, 156, 157, 159, 160, - 161, 162, 1404, 92, 1659, 501, 790, 163, 164, 165, - 166, 1404, 794, 784, 790, 761, 825, 176, 177, 178, - 980, 981, 795, 608, 957, 956, 966, 967, 959, 960, - 961, 962, 963, 964, 965, 958, 790, 1303, 968, 1912, - 796, 980, 981, 784, 787, 788, 1574, 755, 93, 1054, - 187, 781, 785, 2203, 1145, 1353, 945, 790, 1572, 1306, - 1435, 873, 187, 794, 784, 1157, 1158, 1159, 1160, 1351, - 1352, 1350, 948, 795, 946, 947, 945, 1759, 947, 945, - 485, 800, 1179, 1634, 798, 2186, 1039, 176, 177, 178, - 1188, 1371, 948, 1647, 1192, 948, 2021, 485, 485, 2020, - 485, 1646, 485, 485, 1189, 485, 485, 485, 485, 485, - 485, 2176, 1869, 2187, 1161, 1162, 171, 767, 1175, 1569, - 485, 2204, 1569, 1434, 187, 1228, 946, 947, 945, 1223, - 1224, 2102, 1168, 961, 962, 963, 964, 965, 958, 2177, - 1241, 968, 1933, 1573, 948, 1187, 1571, 1372, 946, 947, - 945, 485, 1263, 1082, 1438, 1439, 1261, 1767, 1225, 187, - 1870, 2189, 1341, 1343, 1344, 187, 948, 1766, 187, 1287, - 1540, 187, 1231, 1232, 1342, 1626, 1627, 1628, 1237, 1238, - 1144, 1151, 187, 1197, 187, 1198, 1251, 1200, 1202, 1186, - 1264, 1206, 1208, 1210, 1212, 1214, 485, 485, 485, 187, - 485, 485, 187, 485, 485, 1185, 1185, 1165, 1178, 1166, - 1164, 1262, 760, 1249, 1293, 1260, 1295, 1248, 1297, 1298, - 1299, 1300, 959, 960, 961, 962, 963, 964, 965, 958, - 69, 187, 968, 578, 1247, 1290, 946, 947, 945, 946, - 947, 945, 1349, 599, 1226, 1250, 1239, 1862, 946, 947, - 945, 1233, 1230, 1307, 948, 1229, 1282, 948, 176, 177, - 178, 1204, 1740, 2188, 1347, 2178, 948, 2167, 2056, 1370, - 1768, 2018, 1994, 1915, 1871, 770, 109, 769, 1373, 957, - 956, 966, 967, 959, 960, 961, 962, 963, 964, 965, - 958, 1776, 485, 968, 946, 947, 945, 524, 523, 526, - 527, 528, 529, 1381, 1764, 1617, 525, 1585, 530, 594, - 1385, 1386, 948, 1392, 1395, 1584, 1317, 1374, 1375, 1405, - 1291, 1252, 1329, 1240, 1236, 485, 485, 563, 176, 177, - 178, 1235, 1551, 1234, 1348, 1815, 187, 578, 1387, 1308, - 1309, 1310, 2083, 1312, 1313, 2082, 1315, 1316, 1880, 485, - 80, 176, 177, 178, 1429, 1549, 187, 1891, 1383, 485, - 1382, 996, 1428, 187, 1427, 187, 1940, 2170, 1411, 1412, - 1953, 1381, 1440, 187, 187, 176, 177, 178, 188, 1242, - 485, 188, 1792, 485, 1940, 2130, 486, 1778, 188, 604, - 78, 1891, 604, 1502, 485, 1694, 188, 596, 597, 176, - 177, 178, 1940, 2119, 1447, 1388, 1389, 2001, 1384, 1394, - 1397, 1398, 1940, 578, 1940, 2091, 1446, 486, 1457, 1473, - 486, 188, 486, 1497, 944, 1448, 1383, 1694, 1452, 2036, - 578, 1479, 1498, 2092, 1410, 1569, 578, 1413, 1414, 966, - 967, 959, 960, 961, 962, 963, 964, 965, 958, 485, - 1940, 968, 2004, 578, 1501, 1940, 1945, 485, 1925, 1924, - 1921, 1922, 1548, 1550, 1458, 1476, 1921, 1920, 578, 1458, - 1528, 1450, 1446, 578, 1446, 485, 1478, 1809, 1148, 1794, - 1923, 485, 1787, 1788, 1458, 1188, 1481, 1188, 1458, 578, - 1485, 944, 578, 1480, 1486, 1568, 1891, 188, 1534, 1500, - 1499, 1482, 1484, 608, 1148, 1147, 608, 188, 1093, 1092, - 1570, 1664, 188, 1555, 34, 982, 983, 984, 985, 986, - 987, 988, 989, 990, 991, 485, 1506, 1370, 1507, 1508, - 1509, 1510, 1370, 1370, 1529, 1727, 1663, 1446, 1539, 1701, - 1565, 1569, 1566, 1478, 1518, 1519, 1520, 1521, 34, 1524, - 1525, 1552, 1436, 1538, 34, 1541, 1415, 1479, 1327, 1989, - 1280, 571, 1702, 1578, 1580, 1569, 591, 187, 1529, 1582, - 1583, 187, 187, 187, 187, 187, 792, 1561, 1579, 1079, - 1560, 187, 187, 775, 1564, 187, 1545, 1546, 1547, 69, - 2023, 793, 774, 2122, 1817, 1988, 2072, 69, 2045, 1952, - 2012, 1185, 1150, 187, 187, 187, 957, 956, 966, 967, - 959, 960, 961, 962, 963, 964, 965, 958, 187, 1480, - 968, 187, 485, 69, 1527, 1814, 2046, 1478, 1773, 69, - 1562, 498, 1513, 1514, 1515, 1611, 69, 1523, 2024, 2025, - 2026, 1615, 957, 956, 966, 967, 959, 960, 961, 962, - 963, 964, 965, 958, 1517, 1516, 968, 952, 1588, 955, - 1266, 1180, 1176, 1347, 1146, 969, 970, 971, 972, 973, - 974, 975, 1610, 953, 954, 951, 957, 956, 966, 967, - 959, 960, 961, 962, 963, 964, 965, 958, 1219, 1636, - 968, 94, 173, 1637, 2027, 1156, 1463, 1466, 1467, 1468, - 1464, 1772, 1465, 1469, 1644, 1645, 1895, 1896, 1216, 2191, - 1651, 2183, 1643, 1654, 1655, 1620, 187, 1895, 1896, 1898, - 1880, 1661, 1783, 1662, 187, 1782, 1665, 1666, 1667, 1668, - 1669, 2173, 1781, 1348, 1543, 1629, 1220, 1221, 1222, 2028, - 2029, 1320, 1679, 1284, 1718, 1716, 1773, 1901, 187, 1719, - 1717, 1900, 1715, 1217, 1218, 1720, 1714, 1467, 1468, 187, - 187, 187, 187, 187, 1642, 2154, 569, 1872, 1680, 1708, - 1683, 187, 1048, 2005, 188, 187, 1943, 1692, 187, 187, - 1687, 1658, 187, 187, 187, 1699, 1638, 1639, 1723, 1724, - 1691, 1034, 2142, 1670, 2139, 1739, 2175, 486, 486, 486, - 1678, 1703, 2158, 2160, 1681, 1696, 101, 1656, 2166, 1686, - 2113, 2165, 1682, 1758, 2115, 486, 486, 1279, 1695, 564, - 1777, 1725, 1697, 822, 821, 1041, 1964, 1742, 1772, 1827, - 1757, 917, 1760, 1761, 1762, 1728, 1400, 1042, 1721, 1730, - 1710, 1711, 1709, 1713, 187, 1712, 1726, 584, 1290, 1802, - 1731, 1401, 1734, 170, 485, 2070, 183, 1801, 110, 1743, - 485, 1917, 585, 485, 584, 1188, 1916, 1563, 1194, 1791, - 485, 1431, 1193, 1795, 1181, 1999, 1542, 1797, 1775, 585, - 1283, 1765, 1806, 1534, 2084, 1052, 1053, 587, 2040, 586, - 187, 1774, 1471, 188, 1463, 1466, 1467, 1468, 1464, 1805, - 1465, 1469, 581, 582, 587, 1690, 586, 1438, 1439, 1168, - 187, 572, 573, 1689, 1804, 1625, 575, 2180, 2179, 486, - 1796, 2163, 188, 2143, 188, 188, 1998, 486, 1939, 1553, - 576, 1803, 1383, 486, 1382, 80, 1997, 1875, 1694, 2193, - 2192, 571, 485, 1653, 1650, 1062, 1055, 2193, 1370, 2116, - 1914, 1838, 1432, 78, 1835, 1836, 1345, 83, 1823, 1354, - 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, - 1365, 1366, 1367, 1368, 75, 1831, 1, 1825, 485, 1826, - 456, 1837, 1416, 1840, 1839, 1852, 1032, 468, 2181, 187, - 1253, 1243, 1853, 1956, 2042, 1946, 1532, 783, 1859, 485, - 135, 1495, 1496, 2126, 91, 485, 485, 748, 1838, 1881, - 90, 786, 904, 1708, 1554, 1884, 1407, 2037, 1753, 1504, - 1887, 1099, 1097, 1098, 1878, 1096, 1101, 1100, 187, 1095, - 1321, 482, 1755, 1756, 1470, 1088, 1056, 823, 1890, 1926, - 1318, 1902, 1586, 463, 890, 459, 976, 1688, 1899, 1735, - 605, 598, 1886, 2164, 2140, 2138, 2112, 2066, 1903, 2141, - 1905, 2110, 1906, 1868, 2174, 2157, 1503, 949, 1430, 1044, - 1996, 1874, 1911, 1657, 1918, 1919, 1005, 188, 1934, 1402, - 187, 1071, 187, 187, 187, 1904, 507, 1426, 485, 188, - 1340, 1889, 522, 519, 520, 1441, 1700, 950, 505, 499, - 1929, 187, 1942, 498, 1930, 1063, 1462, 486, 1460, 1459, - 1285, 1075, 1006, 1897, 1893, 1931, 1932, 1069, 1957, 485, - 485, 485, 1445, 187, 486, 486, 1941, 486, 1947, 486, - 486, 1965, 486, 486, 486, 486, 486, 486, 1950, 1949, - 1944, 1591, 1043, 1046, 1811, 1534, 929, 486, 580, 494, - 95, 188, 1399, 1967, 2100, 1624, 1985, 1969, 579, 1962, - 1963, 60, 37, 489, 1968, 2150, 920, 588, 1978, 1979, - 31, 30, 29, 1973, 28, 23, 22, 21, 486, 20, - 19, 25, 18, 17, 1993, 16, 188, 105, 47, 44, - 42, 112, 188, 111, 45, 188, 41, 862, 188, 27, - 26, 2002, 2003, 1708, 15, 2007, 14, 2000, 13, 188, - 12, 188, 2009, 11, 10, 9, 5, 4, 923, 24, - 994, 2, 0, 486, 486, 486, 188, 486, 486, 188, - 486, 486, 2008, 0, 0, 534, 2015, 0, 2016, 0, - 485, 485, 0, 0, 0, 2014, 0, 0, 0, 0, - 2031, 0, 0, 485, 0, 2030, 485, 0, 188, 0, - 0, 0, 2035, 2041, 0, 2044, 0, 0, 1970, 1971, - 0, 1972, 2049, 0, 1974, 0, 1976, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 186, 0, 0, 480, - 0, 485, 485, 485, 187, 0, 186, 0, 0, 0, - 0, 2059, 2061, 2062, 186, 485, 2060, 485, 2047, 0, - 2055, 0, 0, 485, 1884, 2063, 0, 0, 1884, 486, - 592, 592, 2075, 2078, 2071, 0, 2069, 0, 0, 186, - 0, 0, 0, 2077, 0, 187, 2080, 0, 2081, 2079, - 0, 0, 0, 0, 0, 0, 485, 187, 0, 0, - 2073, 0, 486, 486, 0, 0, 2094, 1630, 1631, 1632, - 0, 0, 0, 188, 0, 2087, 2096, 2097, 2098, 2099, - 0, 2103, 0, 2104, 2105, 2106, 486, 2107, 2108, 0, - 0, 2109, 0, 188, 0, 1884, 486, 2090, 0, 2117, - 188, 0, 188, 485, 485, 1995, 0, 0, 0, 0, - 188, 188, 2044, 2127, 0, 186, 2125, 486, 0, 0, - 486, 1983, 0, 0, 0, 186, 2131, 0, 0, 485, - 186, 486, 0, 485, 2144, 2135, 0, 0, 1708, 2146, - 0, 2120, 0, 2149, 0, 0, 2153, 0, 0, 0, - 0, 1292, 0, 2162, 2161, 2017, 0, 2019, 0, 0, - 0, 0, 0, 0, 0, 0, 2172, 0, 0, 0, - 1982, 0, 0, 2168, 2169, 0, 0, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 486, 0, 0, 0, - 0, 0, 0, 0, 486, 2190, 0, 0, 0, 0, - 0, 1116, 110, 0, 0, 2200, 2048, 0, 0, 0, - 0, 0, 486, 152, 1981, 0, 0, 0, 486, 0, - 0, 1336, 1337, 1338, 1339, 0, 0, 0, 0, 2064, - 957, 956, 966, 967, 959, 960, 961, 962, 963, 964, - 965, 958, 0, 0, 968, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1741, 0, 0, 0, 0, 0, - 0, 0, 486, 0, 0, 0, 0, 149, 0, 150, - 0, 0, 0, 0, 0, 0, 1390, 1391, 167, 957, - 956, 966, 967, 959, 960, 961, 962, 963, 964, 965, - 958, 0, 0, 968, 0, 0, 0, 0, 0, 0, - 0, 533, 0, 0, 188, 0, 0, 0, 188, 188, - 188, 188, 188, 498, 1104, 0, 0, 0, 188, 188, - 0, 0, 188, 957, 956, 966, 967, 959, 960, 961, - 962, 963, 964, 965, 958, 0, 153, 968, 0, 0, - 188, 188, 188, 0, 0, 0, 158, 0, 0, 0, - 1833, 1834, 0, 0, 1980, 188, 0, 1117, 188, 486, - 484, 0, 0, 0, 1492, 1854, 1855, 0, 1856, 1857, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1863, - 1864, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 606, 186, 0, 752, 0, 759, 0, 0, 0, - 0, 0, 0, 1130, 1133, 1134, 1135, 1136, 1137, 1138, - 0, 1139, 1140, 1141, 1142, 1143, 1118, 1119, 1120, 1121, - 1102, 1103, 1131, 1530, 1105, 0, 1106, 1107, 1108, 1109, - 1110, 1111, 1112, 1113, 1114, 1115, 1122, 1123, 1124, 1125, - 1126, 1127, 1128, 1129, 0, 0, 0, 145, 0, 0, - 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, - 0, 188, 1913, 957, 956, 966, 967, 959, 960, 961, - 962, 963, 964, 965, 958, 0, 0, 968, 0, 0, - 0, 168, 0, 0, 0, 188, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 188, 188, 188, 188, - 188, 0, 0, 0, 1132, 0, 110, 1832, 188, 0, - 0, 186, 188, 0, 0, 188, 188, 152, 0, 188, - 188, 188, 0, 0, 0, 0, 592, 957, 956, 966, - 967, 959, 960, 961, 962, 963, 964, 965, 958, 0, - 186, 968, 186, 1078, 0, 0, 0, 0, 1966, 957, - 956, 966, 967, 959, 960, 961, 962, 963, 964, 965, - 958, 0, 0, 968, 0, 0, 0, 0, 0, 0, - 0, 149, 0, 150, 0, 0, 0, 0, 0, 0, - 0, 188, 167, 0, 0, 0, 0, 0, 0, 0, - 0, 486, 0, 0, 0, 0, 0, 486, 0, 0, - 486, 0, 0, 0, 0, 0, 0, 486, 0, 0, - 0, 0, 146, 151, 148, 154, 155, 156, 157, 159, - 160, 161, 162, 0, 0, 0, 0, 188, 163, 164, - 165, 166, 1635, 0, 0, 0, 0, 0, 0, 0, - 153, 0, 0, 0, 0, 0, 0, 188, 0, 0, - 158, 0, 957, 956, 966, 967, 959, 960, 961, 962, - 963, 964, 965, 958, 0, 0, 968, 956, 966, 967, - 959, 960, 961, 962, 963, 964, 965, 958, 0, 486, - 968, 1660, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 186, 2050, 2051, 2052, 2053, - 2054, 0, 0, 0, 2057, 2058, 0, 186, 0, 0, - 0, 1684, 1685, 1046, 0, 486, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 486, 0, 1191, 0, - 0, 0, 486, 486, 0, 0, 0, 0, 0, 0, - 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1035, 0, 1191, 1191, 188, 0, 0, 0, 186, - 0, 606, 606, 606, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, - 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, - 186, 0, 185, 186, 0, 0, 1289, 188, 0, 188, - 188, 188, 488, 0, 0, 486, 0, 186, 0, 186, - 567, 0, 0, 0, 0, 0, 0, 2147, 188, 0, - 0, 0, 0, 0, 186, 0, 0, 186, 0, 0, - 0, 0, 0, 0, 0, 756, 486, 486, 486, 0, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1059, 0, 0, 0, 0, 0, 0, - 0, 606, 0, 0, 0, 0, 0, 1089, 0, 0, - 0, 0, 0, 0, 0, 0, 146, 151, 148, 154, - 155, 156, 157, 159, 160, 161, 162, 0, 0, 0, - 0, 852, 163, 164, 165, 166, 1861, 0, 592, 1289, - 0, 863, 0, 592, 592, 0, 869, 592, 592, 592, - 0, 0, 0, 1191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1876, 592, 592, 592, 592, 592, 486, 486, 0, - 0, 1424, 0, 0, 0, 0, 0, 0, 0, 0, - 486, 0, 0, 486, 0, 0, 0, 0, 0, 0, - 0, 186, 0, 0, 0, 0, 0, 1289, 186, 0, - 186, 0, 0, 0, 0, 0, 0, 0, 186, 186, - 0, 0, 0, 0, 0, 0, 0, 0, 486, 486, - 486, 188, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 486, 0, 486, 0, 0, 0, 0, 0, - 486, 0, 0, 0, 0, 0, 0, 536, 33, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 752, 0, 486, 188, 0, 0, 0, 0, 0, - 0, 33, 0, 0, 1190, 0, 0, 0, 1196, 1196, - 0, 1196, 0, 1196, 1196, 0, 1205, 1196, 1196, 1196, - 1196, 1196, 0, 0, 0, 0, 0, 0, 0, 1190, - 1190, 752, 0, 0, 0, 0, 0, 0, 0, 0, - 486, 486, 0, 0, 0, 570, 0, 0, 0, 1987, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1265, 0, 0, 0, 486, 0, 0, 0, - 486, 0, 498, 0, 0, 0, 0, 0, 0, 2010, - 0, 0, 2011, 0, 0, 2013, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 606, 606, 606, - 0, 606, 606, 0, 606, 606, 0, 0, 871, 0, - 0, 0, 186, 0, 0, 0, 186, 186, 186, 186, - 186, 0, 0, 0, 0, 0, 186, 186, 0, 0, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1612, 1613, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 186, 0, 0, 186, 0, 0, 0, - 0, 0, 0, 0, 2068, 498, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1376, 0, 606, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 592, 592, 1408, 1409, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 592, 0, 0, 0, 0, - 1442, 0, 0, 0, 0, 0, 1065, 0, 0, 1076, - 1059, 186, 0, 606, 0, 0, 0, 0, 0, 1424, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 606, 0, 0, 606, 0, 0, 0, 0, 0, - 0, 0, 592, 186, 0, 752, 0, 0, 0, 0, - 0, 0, 0, 1191, 186, 186, 186, 186, 186, 0, - 0, 0, 0, 0, 0, 0, 1722, 0, 0, 0, - 186, 0, 0, 186, 186, 0, 0, 186, 1732, 1289, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 759, 0, 0, 0, 0, 0, 0, 0, 1544, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 752, 0, 0, 0, - 0, 0, 759, 0, 0, 0, 0, 0, 0, 186, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1191, 0, 0, 0, 0, 0, 0, - 0, 1094, 0, 1289, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1152, 0, 0, 752, 913, 913, 913, - 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, - 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, - 977, 979, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1227, 592, 0, 0, 0, - 0, 992, 0, 0, 0, 997, 998, 999, 1000, 1001, - 1002, 1003, 1004, 0, 1007, 1010, 1010, 1010, 1016, 1010, - 1010, 1016, 1010, 1024, 1025, 1026, 1027, 1028, 1029, 1030, - 1275, 0, 0, 1619, 0, 1036, 1076, 0, 33, 1286, - 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, - 0, 0, 0, 1294, 0, 1296, 0, 1191, 0, 0, - 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, - 1311, 0, 0, 1314, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1076, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1784, 0, - 0, 0, 0, 0, 0, 186, 0, 186, 186, 186, - 0, 0, 110, 0, 132, 0, 1191, 0, 0, 0, - 0, 0, 0, 152, 168, 0, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 1167, 0, 0, 0, 1190, - 0, 0, 0, 0, 0, 0, 0, 0, 186, 110, - 0, 132, 0, 0, 142, 0, 0, 0, 0, 131, - 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 149, 0, 150, - 0, 0, 0, 0, 1171, 1172, 141, 140, 167, 0, - 0, 142, 0, 0, 0, 0, 131, 1449, 0, 0, - 0, 0, 0, 0, 1453, 0, 1456, 0, 0, 0, - 0, 0, 0, 0, 149, 1475, 150, 1191, 0, 0, - 0, 1171, 1172, 141, 140, 167, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1786, 136, 1173, 143, 1190, - 1170, 1793, 137, 138, 1786, 0, 153, 0, 0, 606, - 0, 1798, 0, 0, 0, 0, 158, 0, 0, 0, + 564, 2199, 2186, 1958, 2118, 1819, 2163, 1709, 2127, 2069, + 2047, 1676, 1886, 81, 3, 997, 1561, 593, 1788, 537, + 1887, 1955, 523, 1883, 1528, 1422, 1042, 1792, 1710, 1156, + 506, 1696, 1533, 916, 1773, 508, 1774, 1495, 1049, 145, + 1898, 576, 1845, 1379, 1303, 1636, 1474, 1772, 176, 1766, + 1611, 188, 1559, 471, 188, 1535, 1179, 1290, 131, 487, + 1371, 188, 1079, 1086, 1513, 752, 778, 1456, 1069, 188, + 874, 79, 609, 1047, 1070, 1424, 1463, 585, 1052, 570, + 499, 510, 500, 1405, 1072, 1035, 1348, 32, 759, 813, + 487, 933, 1186, 487, 188, 487, 1155, 1269, 764, 760, + 756, 784, 1439, 779, 780, 1524, 1083, 1059, 1085, 77, + 1306, 868, 108, 148, 1076, 1479, 1171, 1151, 109, 114, + 115, 768, 494, 606, 781, 175, 855, 1010, 8, 7, + 1197, 6, 1811, 1810, 1590, 76, 1011, 1833, 1834, 2071, + 177, 178, 179, 1337, 1419, 1420, 1336, 1256, 1335, 1334, + 1333, 82, 1332, 791, 497, 2155, 498, 1674, 110, 753, + 1325, 2115, 116, 591, 595, 571, 2026, 1932, 2093, 2092, + 2042, 188, 817, 2043, 2205, 816, 818, 1514, 2160, 2198, + 1382, 188, 78, 867, 2138, 495, 188, 84, 85, 86, + 87, 88, 89, 2189, 1157, 549, 603, 555, 556, 553, + 554, 1959, 552, 551, 550, 177, 178, 179, 1578, 1626, + 2159, 934, 557, 558, 1862, 1538, 1990, 2137, 770, 1675, + 772, 110, 1912, 815, 914, 102, 771, 1832, 34, 174, + 449, 70, 38, 39, 1597, 1624, 829, 830, 1596, 833, + 834, 835, 836, 794, 1489, 839, 840, 841, 842, 843, + 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, + 1913, 1914, 819, 820, 821, 462, 1421, 610, 169, 1490, + 1491, 1480, 795, 884, 463, 1740, 944, 1087, 1739, 1088, + 105, 1741, 97, 475, 460, 882, 912, 100, 773, 110, + 99, 98, 169, 111, 1537, 568, 870, 105, 826, 182, + 183, 895, 567, 69, 153, 896, 893, 894, 893, 894, + 1757, 1507, 1981, 1821, 105, 170, 1979, 111, 485, 133, + 1326, 1327, 1328, 457, 1324, 832, 831, 2140, 153, 774, + 489, 474, 469, 483, 1246, 1793, 1560, 103, 1815, 177, + 178, 179, 1275, 1270, 1593, 1744, 1816, 2188, 1278, 856, + 1279, 932, 1280, 910, 103, 888, 889, 890, 150, 143, + 151, 1824, 885, 863, 132, 911, 940, 886, 887, 168, + 1605, 2156, 838, 837, 883, 475, 1247, 1823, 1248, 1272, + 2037, 1274, 150, 802, 151, 1822, 2089, 775, 1562, 120, + 121, 142, 141, 168, 1457, 811, 1276, 800, 810, 503, + 809, 808, 450, 451, 452, 807, 467, 468, 478, 806, + 805, 804, 464, 466, 479, 453, 454, 481, 480, 799, + 456, 455, 1273, 474, 459, 476, 1846, 154, 1165, 812, + 2038, 1931, 2175, 104, 1480, 757, 475, 159, 173, 755, + 475, 137, 118, 144, 125, 117, 908, 138, 139, 188, + 104, 154, 2206, 757, 1610, 107, 757, 1539, 787, 1185, + 1184, 159, 126, 897, 901, 786, 2203, 104, 869, 1848, + 1595, 769, 487, 487, 487, 803, 129, 127, 122, 123, + 124, 128, 2136, 934, 474, 597, 119, 898, 474, 801, + 487, 487, 1825, 1754, 1749, 130, 1584, 793, 939, 936, + 937, 938, 943, 945, 942, 926, 941, 1677, 1679, 475, + 177, 178, 179, 935, 2128, 1283, 793, 920, 793, 822, + 951, 877, 878, 879, 880, 881, 1625, 1850, 1782, 1854, + 1613, 1849, 1592, 1847, 828, 1612, 2141, 1750, 1852, 146, + 793, 913, 1871, 1870, 1869, 767, 71, 1851, 944, 477, + 1613, 793, 766, 765, 1803, 1612, 500, 474, 866, 1752, + 1853, 1855, 1747, 146, 763, 1008, 448, 472, 188, 1258, + 1257, 1259, 1260, 1261, 1748, 1604, 907, 180, 1603, 1580, + 982, 983, 473, 2122, 2010, 1736, 1040, 980, 909, 903, + 1911, 905, 1701, 1644, 487, 1045, 1048, 188, 1570, 188, + 188, 891, 487, 1678, 1485, 1063, 995, 793, 487, 1039, + 872, 1655, 140, 2201, 860, 1652, 2202, 1496, 2200, 960, + 929, 927, 970, 928, 134, 970, 998, 135, 902, 904, + 1435, 862, 792, 1755, 1753, 606, 1321, 1304, 940, 786, + 789, 790, 950, 757, 876, 1068, 2097, 783, 787, 1307, + 92, 792, 1036, 792, 814, 1896, 1355, 796, 786, 1864, + 786, 789, 790, 1053, 757, 1271, 782, 797, 783, 787, + 1353, 1354, 1352, 1089, 930, 792, 947, 827, 1013, 1015, + 1017, 1019, 1021, 1023, 1024, 798, 792, 1014, 1016, 1033, + 1020, 1022, 950, 1025, 857, 93, 858, 917, 918, 859, + 177, 178, 179, 1579, 147, 152, 149, 155, 156, 157, + 158, 160, 161, 162, 163, 861, 1406, 1162, 1662, 1406, + 164, 165, 166, 167, 1577, 1041, 900, 1575, 147, 152, + 149, 155, 156, 157, 158, 160, 161, 162, 163, 802, + 1751, 899, 792, 1916, 164, 165, 166, 167, 796, 786, + 982, 983, 188, 1305, 982, 983, 1147, 875, 797, 1572, + 1762, 800, 1408, 1051, 172, 1308, 1158, 1159, 1160, 1161, + 939, 936, 937, 938, 943, 945, 942, 1572, 941, 610, + 949, 947, 487, 1576, 1181, 935, 963, 964, 965, 966, + 967, 960, 1190, 2190, 970, 1056, 1194, 950, 2207, 487, + 487, 1574, 487, 2025, 487, 487, 2180, 487, 487, 487, + 487, 487, 487, 961, 962, 963, 964, 965, 966, 967, + 960, 2191, 487, 970, 2024, 1937, 188, 1230, 2193, 1265, + 1191, 177, 178, 179, 2181, 1373, 1170, 1629, 1630, 1631, + 1770, 1650, 1243, 1769, 579, 69, 1084, 1177, 1189, 1649, + 948, 949, 947, 487, 1542, 1225, 1226, 1351, 1866, 596, + 762, 188, 1437, 1163, 1164, 1263, 2208, 1253, 950, 188, + 1266, 1289, 1251, 188, 948, 949, 947, 1250, 1249, 1440, + 1441, 1146, 1241, 1188, 188, 1154, 188, 1227, 1264, 1153, + 1235, 1374, 950, 1167, 1294, 1232, 1168, 1166, 487, 487, + 487, 188, 487, 487, 188, 487, 487, 1231, 1873, 1180, + 1206, 984, 985, 986, 987, 988, 989, 990, 991, 992, + 993, 1233, 1234, 1818, 1262, 1436, 1252, 1239, 1240, 2192, + 1199, 580, 1200, 188, 1202, 1204, 601, 1309, 1208, 1210, + 1212, 1214, 1216, 1187, 1187, 1292, 1651, 598, 599, 2182, + 948, 949, 947, 1295, 1993, 1297, 1874, 1299, 1300, 1301, + 1302, 948, 949, 947, 1338, 1339, 1340, 1341, 950, 2171, + 2060, 1372, 2022, 1349, 1998, 772, 110, 1919, 1284, 950, + 1375, 771, 959, 958, 968, 969, 961, 962, 963, 964, + 965, 966, 967, 960, 487, 1875, 970, 177, 178, 179, + 1228, 959, 958, 968, 969, 961, 962, 963, 964, 965, + 966, 967, 960, 1376, 1377, 970, 1779, 1319, 1771, 1392, + 1393, 1767, 1343, 1345, 1346, 1620, 1588, 487, 487, 1383, + 948, 949, 947, 1587, 1344, 1350, 1293, 1389, 188, 1394, + 1397, 1637, 948, 949, 947, 1407, 1254, 1331, 950, 1242, + 565, 487, 1238, 1384, 1429, 1237, 500, 1236, 188, 2087, + 950, 487, 948, 949, 947, 188, 2086, 188, 1385, 998, + 1944, 2174, 1957, 1413, 1414, 188, 188, 1944, 2134, 1795, + 950, 1430, 487, 1944, 2123, 487, 1944, 580, 1475, 1944, + 2095, 1442, 2040, 580, 1572, 580, 487, 1383, 177, 178, + 179, 189, 1743, 1781, 189, 1504, 1386, 1494, 1895, 488, + 2126, 189, 177, 178, 179, 606, 1554, 78, 606, 189, + 1730, 1454, 1310, 1311, 1312, 2005, 1314, 1315, 1480, 1317, + 1318, 1450, 2008, 580, 1499, 69, 1385, 177, 178, 179, + 488, 1552, 946, 488, 189, 488, 177, 178, 179, 2096, + 1244, 487, 1944, 1949, 1884, 188, 1929, 1928, 487, 1925, + 1926, 1500, 1503, 1895, 1551, 1553, 1532, 1944, 1452, 34, + 1530, 1925, 1924, 1927, 1515, 1516, 1517, 487, 34, 1536, + 1390, 1391, 1449, 487, 1396, 1399, 1400, 1190, 1486, 1190, + 1478, 1487, 1460, 1483, 1704, 580, 1481, 1571, 1481, 1502, + 1501, 1448, 580, 1480, 1812, 1150, 1797, 1790, 1791, 1412, + 1460, 580, 1415, 1416, 946, 580, 1459, 1705, 1150, 1149, + 1508, 189, 1509, 1510, 1511, 1512, 2076, 487, 1697, 1372, + 1697, 189, 1095, 1094, 1372, 1372, 189, 80, 1520, 1521, + 1522, 1523, 1558, 1568, 69, 1569, 1573, 1531, 1526, 1527, + 1540, 1543, 1448, 69, 1541, 1547, 1548, 1549, 1482, 610, + 1482, 1992, 610, 1488, 1667, 1666, 1484, 1460, 1480, 188, + 1448, 1564, 1572, 188, 188, 188, 188, 188, 1567, 1555, + 1582, 1531, 1563, 188, 188, 188, 188, 1438, 2027, 1583, + 1417, 1329, 1581, 2049, 1585, 1586, 34, 1460, 573, 1895, + 794, 1572, 1282, 1448, 1081, 188, 188, 188, 959, 958, + 968, 969, 961, 962, 963, 964, 965, 966, 967, 960, + 188, 777, 970, 188, 487, 776, 1956, 1221, 2016, 795, + 1152, 1529, 1817, 1565, 1525, 1519, 2028, 2029, 2030, 1187, + 959, 958, 968, 969, 961, 962, 963, 964, 965, 966, + 967, 960, 1347, 1518, 970, 1356, 1357, 1358, 1359, 1360, + 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, + 1268, 69, 1349, 69, 1614, 1222, 1223, 1224, 1775, 1182, + 1618, 1178, 1148, 1591, 94, 2105, 959, 958, 968, 969, + 961, 962, 963, 964, 965, 966, 967, 960, 1776, 1608, + 970, 958, 968, 969, 961, 962, 963, 964, 965, 966, + 967, 960, 1409, 2031, 970, 174, 1899, 1900, 188, 1820, + 2195, 1623, 1218, 1776, 1663, 2050, 188, 1157, 2187, 1902, + 1884, 1646, 1786, 1785, 1350, 1784, 1545, 1322, 1285, 1632, + 968, 969, 961, 962, 963, 964, 965, 966, 967, 960, + 188, 1905, 970, 1904, 1687, 1688, 1048, 1683, 2032, 2033, + 1718, 188, 188, 188, 188, 188, 1645, 1219, 1220, 1690, + 1706, 1721, 1717, 188, 571, 2177, 1722, 188, 1719, 586, + 188, 188, 2158, 1720, 188, 188, 188, 1702, 1661, 1723, + 1728, 1469, 1470, 1876, 587, 1711, 1699, 1742, 1686, 189, + 1050, 1681, 1036, 1673, 2009, 526, 525, 528, 529, 530, + 531, 2146, 1689, 1947, 527, 1761, 532, 1054, 1055, 589, + 1695, 588, 488, 488, 488, 1694, 1731, 1698, 1700, 1712, + 1733, 2143, 1715, 2179, 2162, 2164, 1713, 1714, 1745, 1716, + 488, 488, 1684, 2170, 2169, 1729, 188, 1734, 1724, 2119, + 1685, 1760, 1737, 1763, 1764, 1765, 2117, 487, 1292, 96, + 1281, 1641, 1642, 487, 1536, 566, 487, 1746, 1190, 1768, + 1780, 1402, 824, 487, 1758, 1759, 101, 586, 823, 1043, + 1968, 919, 1659, 1775, 1798, 1809, 1403, 1805, 1831, 2074, + 1777, 1044, 587, 188, 2106, 1804, 1794, 111, 1921, 1465, + 1468, 1469, 1470, 1466, 1800, 1467, 1471, 1920, 1566, 181, + 1807, 188, 1196, 1195, 1170, 583, 584, 589, 189, 588, + 1183, 1808, 2003, 171, 1799, 1433, 184, 1778, 1384, 1465, + 1468, 1469, 1470, 1466, 1806, 1467, 1471, 1440, 1441, 1899, + 1900, 1550, 1288, 1385, 488, 487, 2088, 189, 2044, 189, + 189, 1372, 488, 1473, 574, 575, 1628, 1827, 488, 1826, + 1693, 577, 1829, 2184, 1830, 1879, 2183, 2167, 1692, 2147, + 2002, 1943, 1556, 1844, 578, 80, 2001, 1697, 1842, 1835, + 1865, 487, 2197, 2196, 1843, 1656, 1653, 1841, 1064, 1057, + 2197, 2120, 188, 1918, 1857, 1434, 573, 78, 1863, 83, + 75, 1, 487, 458, 1418, 1034, 470, 2185, 487, 487, + 1255, 1856, 1885, 1245, 1960, 1880, 2046, 1950, 1534, 785, + 136, 1497, 1498, 2130, 91, 1888, 750, 90, 788, 906, + 1557, 188, 2041, 1756, 1506, 1842, 1101, 1099, 1100, 1098, + 1711, 1894, 1103, 1102, 1882, 1097, 1323, 484, 1472, 1090, + 1058, 825, 1930, 1633, 1634, 1635, 1903, 1320, 1589, 1387, + 1388, 1907, 465, 1909, 892, 1910, 461, 978, 1691, 1738, + 607, 600, 1890, 2168, 2144, 2142, 2116, 1908, 2070, 2145, + 2114, 1938, 2178, 188, 1915, 188, 188, 188, 2161, 1505, + 1432, 487, 1046, 2000, 1878, 1660, 1922, 1923, 1007, 1404, + 1073, 509, 189, 1431, 188, 1428, 1342, 524, 521, 1934, + 1933, 1872, 169, 522, 1443, 1703, 952, 507, 501, 1951, + 1065, 1961, 487, 487, 487, 1464, 188, 1536, 1462, 1946, + 1948, 1461, 488, 1286, 1954, 1969, 1953, 111, 1077, 1893, + 1901, 1897, 1071, 1447, 1594, 1814, 931, 582, 153, 488, + 488, 496, 488, 95, 488, 488, 1945, 488, 488, 488, + 488, 488, 488, 1401, 2104, 1935, 1936, 1627, 1989, 581, + 60, 37, 488, 491, 2154, 1977, 189, 922, 590, 31, + 30, 29, 28, 23, 1991, 1972, 22, 21, 20, 19, + 25, 18, 17, 16, 106, 47, 44, 42, 113, 112, + 1966, 1967, 150, 488, 151, 45, 41, 500, 864, 2004, + 27, 189, 26, 168, 2014, 15, 14, 2015, 13, 189, + 2017, 12, 11, 189, 2013, 10, 9, 5, 4, 925, + 24, 1711, 996, 2012, 189, 2, 189, 0, 0, 1999, + 2019, 2020, 0, 0, 487, 487, 2018, 0, 488, 488, + 488, 189, 488, 488, 189, 488, 488, 487, 0, 0, + 487, 2034, 2035, 0, 1974, 1975, 0, 1976, 0, 0, + 1978, 154, 1980, 0, 0, 2045, 2053, 0, 0, 0, + 0, 159, 0, 189, 0, 0, 0, 0, 0, 2021, + 0, 2023, 0, 2048, 0, 487, 487, 487, 188, 2051, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, + 0, 487, 0, 2063, 2065, 2066, 0, 487, 2073, 2072, + 500, 2077, 2079, 2067, 0, 1888, 2075, 0, 0, 1888, + 0, 2059, 0, 0, 0, 2082, 0, 1837, 1838, 188, + 2052, 0, 0, 0, 488, 0, 0, 0, 0, 0, + 487, 188, 1858, 1859, 2081, 1860, 1861, 2091, 2094, 2084, + 2083, 2085, 0, 2068, 0, 0, 1867, 1868, 2098, 0, + 0, 0, 0, 0, 0, 0, 0, 488, 488, 2113, + 0, 0, 0, 146, 0, 0, 0, 0, 189, 2121, + 0, 0, 0, 0, 0, 0, 1888, 487, 487, 0, + 0, 488, 2124, 0, 0, 0, 0, 2129, 189, 0, + 0, 488, 0, 0, 0, 189, 0, 189, 0, 0, + 0, 0, 0, 487, 2139, 189, 189, 487, 2148, 536, + 2048, 2131, 488, 2150, 0, 488, 0, 0, 1639, 0, + 2157, 0, 1640, 0, 0, 2153, 488, 2166, 2165, 1917, + 0, 0, 0, 1647, 1648, 0, 1711, 0, 0, 1654, + 0, 2176, 1657, 1658, 0, 0, 0, 0, 0, 0, + 1664, 0, 1665, 0, 0, 1668, 1669, 1670, 1671, 1672, + 187, 0, 0, 482, 0, 0, 0, 0, 2194, 0, + 187, 1682, 0, 0, 0, 0, 0, 0, 187, 2204, + 0, 488, 0, 1118, 0, 189, 0, 0, 488, 0, + 0, 0, 0, 0, 594, 594, 0, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 0, 488, 1987, 0, + 0, 0, 580, 488, 0, 0, 1970, 1726, 1727, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 147, 152, + 149, 155, 156, 157, 158, 160, 161, 162, 163, 0, + 0, 0, 0, 0, 164, 165, 166, 167, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 488, 959, 958, + 968, 969, 961, 962, 963, 964, 965, 966, 967, 960, + 0, 0, 970, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 0, 187, 1106, 0, 0, 189, + 0, 0, 0, 189, 189, 189, 189, 189, 0, 0, + 0, 0, 0, 189, 189, 189, 189, 959, 958, 968, + 969, 961, 962, 963, 964, 965, 966, 967, 960, 0, + 0, 970, 0, 0, 0, 189, 189, 189, 0, 1119, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1986, + 189, 0, 0, 189, 488, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2054, 2055, 2056, 2057, 2058, 0, + 0, 0, 2061, 2062, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1839, 1840, 1132, 1135, 1136, 1137, + 1138, 1139, 1140, 0, 1141, 1142, 1143, 1144, 1145, 1120, + 1121, 1122, 1123, 1104, 1105, 1133, 0, 1107, 1836, 1108, + 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1124, + 1125, 1126, 1127, 1128, 1129, 1130, 1131, 0, 959, 958, + 968, 969, 961, 962, 963, 964, 965, 966, 967, 960, + 0, 535, 970, 0, 0, 0, 0, 0, 189, 0, + 1891, 1985, 0, 0, 0, 0, 189, 0, 959, 958, + 968, 969, 961, 962, 963, 964, 965, 966, 967, 960, + 0, 1906, 970, 0, 0, 0, 0, 0, 0, 0, + 189, 0, 0, 0, 0, 0, 0, 1134, 0, 0, + 0, 189, 189, 189, 189, 189, 0, 0, 0, 0, + 486, 0, 0, 189, 0, 2151, 0, 189, 0, 0, + 189, 189, 0, 0, 189, 189, 189, 0, 0, 0, + 34, 35, 36, 70, 38, 39, 0, 0, 0, 0, + 0, 608, 0, 1984, 754, 0, 761, 0, 0, 0, + 74, 0, 0, 0, 0, 40, 66, 67, 0, 64, + 68, 0, 0, 0, 0, 0, 65, 0, 187, 0, + 959, 958, 968, 969, 961, 962, 963, 964, 965, 966, + 967, 960, 0, 0, 970, 0, 189, 0, 0, 0, + 0, 0, 0, 0, 1971, 53, 0, 488, 1973, 0, + 0, 0, 0, 488, 0, 69, 488, 0, 0, 1982, + 1983, 0, 0, 488, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1997, 0, 0, 0, 0, + 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, + 0, 0, 2006, 2007, 0, 0, 2011, 0, 0, 0, + 0, 189, 959, 958, 968, 969, 961, 962, 963, 964, + 965, 966, 967, 960, 0, 0, 970, 0, 0, 0, + 1638, 0, 0, 0, 0, 0, 0, 43, 46, 49, + 48, 51, 0, 63, 0, 488, 0, 187, 0, 0, + 959, 958, 968, 969, 961, 962, 963, 964, 965, 966, + 967, 960, 594, 2039, 970, 0, 0, 0, 52, 73, + 72, 0, 0, 61, 62, 50, 187, 0, 187, 1080, + 0, 488, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 488, 0, 0, 0, 0, 2064, 488, 488, + 54, 55, 0, 56, 57, 58, 59, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 954, 0, 957, + 0, 189, 0, 0, 0, 971, 972, 973, 974, 975, + 976, 977, 1037, 955, 956, 953, 959, 958, 968, 969, + 961, 962, 963, 964, 965, 966, 967, 960, 0, 0, + 970, 0, 0, 0, 0, 0, 0, 2100, 2101, 2102, + 2103, 0, 2107, 0, 2108, 2109, 2110, 0, 2111, 2112, + 0, 0, 0, 189, 0, 189, 189, 189, 0, 0, + 0, 488, 0, 186, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 490, 189, 0, 0, 0, 71, 0, + 0, 569, 0, 0, 0, 0, 0, 2135, 0, 0, + 0, 0, 488, 488, 488, 0, 189, 0, 0, 0, + 0, 187, 0, 0, 0, 0, 758, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2172, 2173, 0, 0, 0, 0, + 0, 0, 0, 0, 1193, 0, 0, 0, 0, 0, + 0, 0, 0, 608, 608, 608, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1193, + 1193, 921, 923, 0, 0, 187, 0, 0, 0, 0, + 0, 0, 0, 854, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 865, 0, 0, 0, 0, 871, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 488, 488, 0, 0, 187, 0, + 0, 0, 1291, 0, 0, 0, 0, 488, 0, 0, + 488, 0, 0, 187, 0, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 488, 488, 488, 189, 0, + 0, 0, 0, 0, 0, 1061, 0, 0, 0, 488, + 0, 488, 187, 608, 0, 0, 0, 488, 0, 1091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 136, 1173, 143, 0, 1170, 0, 137, - 138, 0, 0, 153, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1424, - 0, 0, 0, 606, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 913, 913, 913, 0, 913, 913, 0, - 913, 913, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 145, 0, 1196, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, - 606, 0, 0, 1190, 0, 0, 1888, 1196, 0, 0, - 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 139, 0, 1076, 0, - 0, 0, 1595, 1596, 1597, 1598, 1599, 0, 133, 0, - 0, 134, 1603, 1604, 0, 0, 1608, 0, 0, 0, + 488, 189, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 594, 1291, 0, 0, 0, 594, + 594, 0, 0, 594, 594, 594, 0, 0, 0, 1193, + 0, 0, 0, 0, 0, 0, 0, 488, 488, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 594, 594, + 594, 594, 594, 0, 0, 0, 0, 1426, 0, 0, + 0, 0, 0, 488, 0, 0, 0, 488, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, + 0, 0, 0, 1291, 187, 0, 187, 0, 0, 0, + 0, 0, 0, 0, 187, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1787, + 0, 873, 0, 754, 0, 0, 538, 33, 0, 0, + 0, 0, 0, 111, 0, 133, 1192, 0, 0, 0, + 1198, 1198, 0, 1198, 153, 1198, 1198, 0, 1207, 1198, + 1198, 1198, 1198, 1198, 0, 0, 0, 0, 0, 0, + 33, 1192, 1192, 754, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, + 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1267, 0, 0, 0, 150, 0, + 151, 0, 0, 0, 572, 1173, 1174, 142, 141, 168, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, + 608, 608, 0, 608, 608, 0, 608, 608, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 137, 1175, 144, + 0, 1172, 0, 138, 139, 0, 0, 154, 0, 1067, + 0, 0, 1078, 0, 0, 0, 0, 159, 187, 0, + 0, 0, 187, 187, 187, 187, 187, 0, 0, 0, + 0, 0, 187, 187, 187, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1615, 1616, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 0, 0, 187, 0, 0, 1378, 0, 608, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1192, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1410, 1411, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 594, 594, 1444, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1061, 0, 0, 608, 0, 0, 0, 0, + 0, 594, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 608, 1096, 0, 608, 187, 140, 0, + 0, 0, 0, 0, 0, 1426, 0, 754, 0, 0, + 134, 0, 0, 135, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 594, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1193, + 187, 187, 187, 187, 187, 0, 0, 0, 0, 0, + 0, 0, 1725, 0, 0, 0, 187, 0, 0, 187, + 187, 0, 761, 187, 1735, 1291, 0, 0, 1229, 1546, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, + 0, 0, 0, 0, 761, 0, 0, 0, 0, 0, + 0, 0, 0, 1277, 0, 0, 0, 0, 0, 0, + 0, 1287, 0, 0, 147, 152, 149, 155, 156, 157, + 158, 160, 161, 162, 163, 187, 1296, 0, 1298, 0, + 164, 165, 166, 167, 0, 0, 0, 0, 754, 0, + 1193, 0, 0, 1313, 0, 0, 1316, 0, 0, 0, + 1291, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 915, 915, + 915, 0, 187, 0, 0, 1078, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 979, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1191, 139, 0, 0, 1614, 0, 0, 0, - 0, 0, 0, 0, 0, 133, 0, 0, 134, 1616, - 0, 0, 1618, 0, 0, 0, 0, 0, 0, 752, - 0, 0, 1190, 0, 0, 0, 0, 0, 34, 35, - 36, 70, 38, 39, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, - 1958, 1959, 1960, 40, 66, 67, 0, 64, 68, 0, - 1474, 0, 0, 0, 65, 0, 0, 0, 0, 0, - 0, 0, 146, 151, 148, 154, 155, 156, 157, 159, - 160, 161, 162, 0, 0, 0, 0, 0, 163, 164, - 165, 166, 0, 53, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 69, 0, 0, 0, 0, 0, 146, - 151, 148, 154, 155, 156, 157, 159, 160, 161, 162, - 0, 0, 0, 1190, 0, 163, 164, 165, 166, 0, + 0, 0, 0, 594, 0, 0, 0, 0, 0, 0, + 0, 0, 994, 0, 0, 1622, 999, 1000, 1001, 1002, + 1003, 1004, 1005, 1006, 0, 1009, 1012, 1012, 1012, 1018, + 1012, 1012, 1018, 1012, 1026, 1027, 1028, 1029, 1030, 1031, + 1032, 0, 0, 0, 0, 0, 1038, 0, 0, 33, + 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1193, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1074, 0, 0, 0, 0, + 1451, 0, 169, 0, 0, 0, 0, 1455, 0, 1458, + 187, 0, 0, 1169, 0, 0, 0, 0, 1477, 0, + 0, 0, 0, 0, 0, 0, 0, 111, 0, 133, + 0, 0, 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 0, 187, 187, 187, 0, 0, 143, + 0, 1192, 0, 1193, 132, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 151, 0, 0, 1544, 0, 1173, + 1174, 142, 141, 168, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1729, 1786, 2032, 0, 0, 43, 46, 49, 48, 51, - 0, 63, 0, 0, 1786, 0, 0, 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 52, 73, 72, 0, - 0, 61, 62, 50, 0, 0, 0, 0, 0, 0, - 0, 0, 1786, 1786, 1786, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1780, 2074, 0, 2076, 0, - 0, 0, 0, 0, 1786, 0, 0, 54, 55, 0, - 56, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1786, 0, 0, - 0, 1810, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 137, 1175, 144, 0, 1172, 0, 138, 139, 0, + 0, 154, 0, 0, 0, 0, 0, 0, 1789, 0, + 0, 159, 1192, 0, 1796, 1193, 0, 1789, 0, 0, + 0, 0, 608, 0, 1801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 606, 606, 0, 0, 0, 0, + 0, 1078, 0, 0, 0, 1598, 1599, 1600, 1601, 1602, + 0, 0, 0, 0, 0, 1606, 1607, 1078, 1609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 71, 0, 0, 1190, 0, - 2145, 0, 0, 0, 1786, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1640, - 0, 0, 570, 0, 0, 0, 0, 0, 0, 0, - 1873, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1617, + 0, 0, 0, 0, 0, 0, 608, 0, 0, 0, + 0, 0, 1619, 0, 0, 1621, 0, 0, 0, 0, + 0, 0, 0, 146, 0, 0, 0, 1426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1677, + 0, 0, 1198, 0, 915, 915, 915, 0, 915, 915, + 0, 915, 915, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 608, 0, 0, 1192, 0, 187, 1892, + 1198, 0, 140, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 134, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, - 0, 0, 1704, 1705, 0, 0, 1072, 1072, 1072, 1072, - 1072, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1474, 0, 0, 1072, 0, 0, 0, 1072, - 0, 1935, 0, 1936, 1937, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1193, 0, 754, 0, 0, 1192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1799, 0, + 0, 0, 0, 1732, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1962, 1963, 1964, 0, 0, 147, 152, + 149, 155, 156, 157, 158, 160, 161, 162, 163, 0, + 0, 0, 0, 0, 164, 165, 166, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1476, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1828, 0, 1789, 2036, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1789, 0, + 0, 608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1789, 1789, 1789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2078, 0, 2080, 0, 0, 0, 0, 0, 1789, 0, + 0, 0, 0, 0, 1877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1885, 0, 33, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 608, 608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1072, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2086, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2095, 0, + 0, 0, 0, 0, 0, 1939, 0, 1940, 1941, 1942, + 0, 0, 1192, 0, 2149, 0, 0, 0, 1789, 0, + 0, 0, 0, 0, 0, 0, 1952, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1643, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1074, 0, 0, 0, + 0, 0, 0, 1707, 1708, 0, 0, 1074, 1074, 1074, + 1074, 1074, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1476, 0, 0, 1074, 0, 0, 0, + 1074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1984, 0, 0, 0, - 0, 0, 0, 1990, 1991, 1992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1802, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2090, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1670,2275 +1664,2311 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1885, - 0, 33, 0, 1885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, + 0, 0, 1889, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1885, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 730, 717, 33, 2121, 666, 733, 637, 655, 742, 657, - 660, 700, 617, 679, 329, 652, 0, 641, 613, 648, - 614, 639, 668, 240, 672, 636, 719, 682, 732, 287, - 0, 619, 642, 342, 702, 379, 226, 296, 294, 406, - 250, 243, 239, 225, 271, 302, 340, 397, 334, 739, - 291, 689, 0, 388, 314, 0, 0, 0, 670, 722, - 677, 713, 665, 701, 626, 688, 734, 653, 697, 735, - 277, 224, 194, 326, 389, 253, 0, 0, 0, 176, - 177, 178, 0, 2128, 2129, 0, 0, 0, 0, 0, - 216, 0, 222, 694, 729, 650, 696, 236, 275, 242, - 235, 404, 699, 745, 612, 691, 0, 615, 618, 741, - 725, 645, 646, 0, 0, 0, 0, 0, 0, 0, - 669, 678, 710, 663, 0, 0, 0, 0, 0, 0, - 0, 0, 643, 0, 687, 0, 0, 0, 622, 616, - 0, 0, 0, 0, 667, 0, 0, 0, 625, 0, - 644, 711, 0, 610, 261, 620, 315, 715, 724, 664, - 432, 728, 662, 661, 731, 706, 623, 721, 656, 286, - 621, 283, 190, 204, 0, 654, 325, 363, 369, 720, - 640, 649, 227, 647, 367, 338, 419, 212, 251, 360, - 343, 365, 686, 704, 366, 292, 408, 355, 418, 433, - 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, - 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, - 197, 396, 416, 217, 377, 0, 0, 0, 199, 414, - 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, - 328, 411, 412, 228, 444, 207, 429, 201, 208, 428, - 321, 407, 415, 310, 301, 200, 413, 308, 300, 285, - 248, 267, 353, 295, 354, 268, 317, 316, 318, 0, - 195, 0, 390, 423, 445, 214, 635, 716, 403, 438, - 441, 0, 356, 215, 258, 247, 352, 256, 288, 437, - 439, 440, 213, 350, 264, 320, 209, 270, 386, 284, - 293, 708, 744, 337, 368, 218, 421, 387, 630, 634, - 628, 629, 680, 681, 631, 736, 737, 738, 712, 624, - 0, 632, 633, 0, 718, 726, 727, 685, 189, 202, - 289, 740, 357, 254, 443, 427, 424, 611, 627, 233, - 638, 0, 0, 651, 658, 659, 671, 673, 674, 675, - 676, 684, 692, 693, 695, 703, 705, 707, 709, 714, - 723, 743, 191, 192, 203, 211, 220, 232, 245, 252, - 262, 266, 269, 272, 273, 276, 281, 298, 303, 304, - 305, 306, 322, 323, 324, 327, 330, 331, 333, 335, - 336, 339, 345, 346, 347, 348, 349, 351, 358, 362, - 370, 371, 372, 373, 374, 375, 376, 380, 381, 382, - 383, 391, 395, 409, 410, 420, 431, 435, 263, 417, - 436, 0, 297, 683, 690, 299, 249, 265, 274, 698, - 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, - 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, - 219, 378, 398, 399, 400, 402, 311, 237, 730, 717, - 0, 0, 666, 733, 637, 655, 742, 657, 660, 700, - 617, 679, 329, 652, 0, 641, 613, 648, 614, 639, - 668, 240, 672, 636, 719, 682, 732, 287, 0, 619, - 642, 342, 702, 379, 226, 296, 294, 406, 250, 243, - 239, 225, 271, 302, 340, 397, 334, 739, 291, 689, - 0, 388, 314, 0, 0, 0, 670, 722, 677, 713, - 665, 701, 626, 688, 734, 653, 697, 735, 277, 224, - 194, 326, 389, 253, 0, 0, 0, 176, 177, 178, - 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 222, 694, 729, 650, 696, 236, 275, 242, 235, 404, - 699, 745, 612, 691, 0, 615, 618, 741, 725, 645, - 646, 0, 0, 0, 0, 0, 0, 0, 669, 678, - 710, 663, 0, 0, 0, 0, 0, 0, 1877, 0, - 643, 0, 687, 0, 0, 0, 622, 616, 0, 0, - 0, 0, 667, 0, 0, 0, 625, 0, 644, 711, - 0, 610, 261, 620, 315, 715, 724, 664, 432, 728, - 662, 661, 731, 706, 623, 721, 656, 286, 621, 283, - 190, 204, 0, 654, 325, 363, 369, 720, 640, 649, - 227, 647, 367, 338, 419, 212, 251, 360, 343, 365, - 686, 704, 366, 292, 408, 355, 418, 433, 434, 234, - 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, - 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, - 416, 217, 377, 0, 0, 0, 199, 414, 393, 309, - 279, 280, 198, 0, 359, 238, 257, 229, 328, 411, - 412, 228, 444, 207, 429, 201, 208, 428, 321, 407, - 415, 310, 301, 200, 413, 308, 300, 285, 248, 267, - 353, 295, 354, 268, 317, 316, 318, 0, 195, 0, - 390, 423, 445, 214, 635, 716, 403, 438, 441, 0, - 356, 215, 258, 247, 352, 256, 288, 437, 439, 440, - 213, 350, 264, 320, 209, 270, 386, 284, 293, 708, - 744, 337, 368, 218, 421, 387, 630, 634, 628, 629, - 680, 681, 631, 736, 737, 738, 712, 624, 0, 632, - 633, 0, 718, 726, 727, 685, 189, 202, 289, 740, - 357, 254, 443, 427, 424, 611, 627, 233, 638, 0, - 0, 651, 658, 659, 671, 673, 674, 675, 676, 684, - 692, 693, 695, 703, 705, 707, 709, 714, 723, 743, - 191, 192, 203, 211, 220, 232, 245, 252, 262, 266, - 269, 272, 273, 276, 281, 298, 303, 304, 305, 306, - 322, 323, 324, 327, 330, 331, 333, 335, 336, 339, - 345, 346, 347, 348, 349, 351, 358, 362, 370, 371, - 372, 373, 374, 375, 376, 380, 381, 382, 383, 391, - 395, 409, 410, 420, 431, 435, 263, 417, 436, 0, - 297, 683, 690, 299, 249, 265, 274, 698, 426, 392, - 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, - 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, - 398, 399, 400, 402, 311, 237, 730, 717, 0, 0, - 666, 733, 637, 655, 742, 657, 660, 700, 617, 679, - 329, 652, 0, 641, 613, 648, 614, 639, 668, 240, - 672, 636, 719, 682, 732, 287, 0, 619, 642, 342, - 702, 379, 226, 296, 294, 406, 250, 243, 239, 225, - 271, 302, 340, 397, 334, 739, 291, 689, 0, 388, - 314, 0, 0, 0, 670, 722, 677, 713, 665, 701, - 626, 688, 734, 653, 697, 735, 277, 224, 194, 326, - 389, 253, 0, 0, 0, 176, 177, 178, 0, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 222, 694, - 729, 650, 696, 236, 275, 242, 235, 404, 699, 745, - 612, 691, 0, 615, 618, 741, 725, 645, 646, 0, - 0, 0, 0, 0, 0, 0, 669, 678, 710, 663, - 0, 0, 0, 0, 0, 0, 1733, 0, 643, 0, - 687, 0, 0, 0, 622, 616, 0, 0, 0, 0, - 667, 0, 0, 0, 625, 0, 644, 711, 0, 610, - 261, 620, 315, 715, 724, 664, 432, 728, 662, 661, - 731, 706, 623, 721, 656, 286, 621, 283, 190, 204, - 0, 654, 325, 363, 369, 720, 640, 649, 227, 647, - 367, 338, 419, 212, 251, 360, 343, 365, 686, 704, - 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, - 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, - 405, 282, 384, 259, 193, 290, 197, 396, 416, 217, - 377, 0, 0, 0, 199, 414, 393, 309, 279, 280, - 198, 0, 359, 238, 257, 229, 328, 411, 412, 228, - 444, 207, 429, 201, 208, 428, 321, 407, 415, 310, - 301, 200, 413, 308, 300, 285, 248, 267, 353, 295, - 354, 268, 317, 316, 318, 0, 195, 0, 390, 423, - 445, 214, 635, 716, 403, 438, 441, 0, 356, 215, - 258, 247, 352, 256, 288, 437, 439, 440, 213, 350, - 264, 320, 209, 270, 386, 284, 293, 708, 744, 337, - 368, 218, 421, 387, 630, 634, 628, 629, 680, 681, - 631, 736, 737, 738, 712, 624, 0, 632, 633, 0, - 718, 726, 727, 685, 189, 202, 289, 740, 357, 254, - 443, 427, 424, 611, 627, 233, 638, 0, 0, 651, - 658, 659, 671, 673, 674, 675, 676, 684, 692, 693, - 695, 703, 705, 707, 709, 714, 723, 743, 191, 192, - 203, 211, 220, 232, 245, 252, 262, 266, 269, 272, - 273, 276, 281, 298, 303, 304, 305, 306, 322, 323, - 324, 327, 330, 331, 333, 335, 336, 339, 345, 346, - 347, 348, 349, 351, 358, 362, 370, 371, 372, 373, - 374, 375, 376, 380, 381, 382, 383, 391, 395, 409, - 410, 420, 431, 435, 263, 417, 436, 0, 297, 683, - 690, 299, 249, 265, 274, 698, 426, 392, 206, 364, - 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, - 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, - 400, 402, 311, 237, 730, 717, 0, 0, 666, 733, - 637, 655, 742, 657, 660, 700, 617, 679, 329, 652, - 0, 641, 613, 648, 614, 639, 668, 240, 672, 636, - 719, 682, 732, 287, 0, 619, 642, 342, 702, 379, - 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, - 340, 397, 334, 739, 291, 689, 0, 388, 314, 0, - 0, 0, 670, 722, 677, 713, 665, 701, 626, 688, - 734, 653, 697, 735, 277, 224, 194, 326, 389, 253, - 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 216, 0, 222, 694, 729, 650, - 696, 236, 275, 242, 235, 404, 699, 745, 612, 691, - 0, 615, 618, 741, 725, 645, 646, 0, 0, 0, - 0, 0, 0, 0, 669, 678, 710, 663, 0, 0, - 0, 0, 0, 0, 1451, 0, 643, 0, 687, 0, - 0, 0, 622, 616, 0, 0, 0, 0, 667, 0, - 0, 0, 625, 0, 644, 711, 0, 610, 261, 620, - 315, 715, 724, 664, 432, 728, 662, 661, 731, 706, - 623, 721, 656, 286, 621, 283, 190, 204, 0, 654, - 325, 363, 369, 720, 640, 649, 227, 647, 367, 338, - 419, 212, 251, 360, 343, 365, 686, 704, 366, 292, - 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, - 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, - 384, 259, 193, 290, 197, 396, 416, 217, 377, 0, - 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, - 359, 238, 257, 229, 328, 411, 412, 228, 444, 207, - 429, 201, 208, 428, 321, 407, 415, 310, 301, 200, - 413, 308, 300, 285, 248, 267, 353, 295, 354, 268, - 317, 316, 318, 0, 195, 0, 390, 423, 445, 214, - 635, 716, 403, 438, 441, 0, 356, 215, 258, 247, - 352, 256, 288, 437, 439, 440, 213, 350, 264, 320, - 209, 270, 386, 284, 293, 708, 744, 337, 368, 218, - 421, 387, 630, 634, 628, 629, 680, 681, 631, 736, - 737, 738, 712, 624, 0, 632, 633, 0, 718, 726, - 727, 685, 189, 202, 289, 740, 357, 254, 443, 427, - 424, 611, 627, 233, 638, 0, 0, 651, 658, 659, - 671, 673, 674, 675, 676, 684, 692, 693, 695, 703, - 705, 707, 709, 714, 723, 743, 191, 192, 203, 211, - 220, 232, 245, 252, 262, 266, 269, 272, 273, 276, - 281, 298, 303, 304, 305, 306, 322, 323, 324, 327, - 330, 331, 333, 335, 336, 339, 345, 346, 347, 348, - 349, 351, 358, 362, 370, 371, 372, 373, 374, 375, - 376, 380, 381, 382, 383, 391, 395, 409, 410, 420, - 431, 435, 263, 417, 436, 0, 297, 683, 690, 299, - 249, 265, 274, 698, 426, 392, 206, 364, 255, 196, - 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, - 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, - 311, 237, 730, 717, 0, 0, 666, 733, 637, 655, - 742, 657, 660, 700, 617, 679, 329, 652, 0, 641, - 613, 648, 614, 639, 668, 240, 672, 636, 719, 682, - 732, 287, 0, 619, 642, 342, 702, 379, 226, 296, - 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, - 334, 739, 291, 689, 0, 388, 314, 0, 0, 0, - 670, 722, 677, 713, 665, 701, 626, 688, 734, 653, - 697, 735, 277, 224, 194, 326, 389, 253, 69, 0, - 0, 176, 177, 178, 0, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 222, 694, 729, 650, 696, 236, - 275, 242, 235, 404, 699, 745, 612, 691, 0, 615, - 618, 741, 725, 645, 646, 0, 0, 0, 0, 0, - 0, 0, 669, 678, 710, 663, 0, 0, 0, 0, - 0, 0, 0, 0, 643, 0, 687, 0, 0, 0, - 622, 616, 0, 0, 0, 0, 667, 0, 0, 0, - 625, 0, 644, 711, 0, 610, 261, 620, 315, 715, - 724, 664, 432, 728, 662, 661, 731, 706, 623, 721, - 656, 286, 621, 283, 190, 204, 0, 654, 325, 363, - 369, 720, 640, 649, 227, 647, 367, 338, 419, 212, - 251, 360, 343, 365, 686, 704, 366, 292, 408, 355, - 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, - 231, 332, 394, 422, 385, 312, 405, 282, 384, 259, - 193, 290, 197, 396, 416, 217, 377, 0, 0, 0, - 199, 414, 393, 309, 279, 280, 198, 0, 359, 238, - 257, 229, 328, 411, 412, 228, 444, 207, 429, 201, - 208, 428, 321, 407, 415, 310, 301, 200, 413, 308, - 300, 285, 248, 267, 353, 295, 354, 268, 317, 316, - 318, 0, 195, 0, 390, 423, 445, 214, 635, 716, - 403, 438, 441, 0, 356, 215, 258, 247, 352, 256, - 288, 437, 439, 440, 213, 350, 264, 320, 209, 270, - 386, 284, 293, 708, 744, 337, 368, 218, 421, 387, - 630, 634, 628, 629, 680, 681, 631, 736, 737, 738, - 712, 624, 0, 632, 633, 0, 718, 726, 727, 685, - 189, 202, 289, 740, 357, 254, 443, 427, 424, 611, - 627, 233, 638, 0, 0, 651, 658, 659, 671, 673, - 674, 675, 676, 684, 692, 693, 695, 703, 705, 707, - 709, 714, 723, 743, 191, 192, 203, 211, 220, 232, - 245, 252, 262, 266, 269, 272, 273, 276, 281, 298, - 303, 304, 305, 306, 322, 323, 324, 327, 330, 331, - 333, 335, 336, 339, 345, 346, 347, 348, 349, 351, - 358, 362, 370, 371, 372, 373, 374, 375, 376, 380, - 381, 382, 383, 391, 395, 409, 410, 420, 431, 435, - 263, 417, 436, 0, 297, 683, 690, 299, 249, 265, - 274, 698, 426, 392, 206, 364, 255, 196, 223, 210, - 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, - 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, - 730, 717, 0, 0, 666, 733, 637, 655, 742, 657, - 660, 700, 617, 679, 329, 652, 0, 641, 613, 648, - 614, 639, 668, 240, 672, 636, 719, 682, 732, 287, - 0, 619, 642, 342, 702, 379, 226, 296, 294, 406, - 250, 243, 239, 225, 271, 302, 340, 397, 334, 739, - 291, 689, 0, 388, 314, 0, 0, 0, 670, 722, - 677, 713, 665, 701, 626, 688, 734, 653, 697, 735, - 277, 224, 194, 326, 389, 253, 0, 0, 0, 176, - 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 222, 694, 729, 650, 696, 236, 275, 242, - 235, 404, 699, 745, 612, 691, 0, 615, 618, 741, - 725, 645, 646, 0, 0, 0, 0, 0, 0, 0, - 669, 678, 710, 663, 0, 0, 0, 0, 0, 0, - 0, 0, 643, 0, 687, 0, 0, 0, 622, 616, - 0, 0, 0, 0, 667, 0, 0, 0, 625, 0, - 644, 711, 0, 610, 261, 620, 315, 715, 724, 664, - 432, 728, 662, 661, 731, 706, 623, 721, 656, 286, - 621, 283, 190, 204, 0, 654, 325, 363, 369, 720, - 640, 649, 227, 647, 367, 338, 419, 212, 251, 360, - 343, 365, 686, 704, 366, 292, 408, 355, 418, 433, - 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, - 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, - 197, 396, 416, 217, 377, 0, 0, 0, 199, 414, - 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, - 328, 411, 412, 228, 444, 207, 429, 201, 208, 428, - 321, 407, 415, 310, 301, 200, 413, 308, 300, 285, - 248, 267, 353, 295, 354, 268, 317, 316, 318, 0, - 195, 0, 390, 423, 445, 214, 635, 716, 403, 438, - 441, 0, 356, 215, 258, 247, 352, 256, 288, 437, - 439, 440, 213, 350, 264, 320, 209, 270, 386, 284, - 293, 708, 744, 337, 368, 218, 421, 387, 630, 634, - 628, 629, 680, 681, 631, 736, 737, 738, 712, 624, - 0, 632, 633, 0, 718, 726, 727, 685, 189, 202, - 289, 740, 357, 254, 443, 427, 424, 611, 627, 233, - 638, 0, 0, 651, 658, 659, 671, 673, 674, 675, - 676, 684, 692, 693, 695, 703, 705, 707, 709, 714, - 723, 743, 191, 192, 203, 211, 220, 232, 245, 252, - 262, 266, 269, 272, 273, 276, 281, 298, 303, 304, - 305, 306, 322, 323, 324, 327, 330, 331, 333, 335, - 336, 339, 345, 346, 347, 348, 349, 351, 358, 362, - 370, 371, 372, 373, 374, 375, 376, 380, 381, 382, - 383, 391, 395, 409, 410, 420, 431, 435, 263, 417, - 436, 0, 297, 683, 690, 299, 249, 265, 274, 698, - 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, - 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, - 219, 378, 398, 399, 400, 402, 311, 237, 730, 717, - 0, 0, 666, 733, 637, 655, 742, 657, 660, 700, - 617, 679, 329, 652, 0, 641, 613, 648, 614, 639, - 668, 240, 672, 636, 719, 682, 732, 287, 0, 619, - 642, 342, 702, 379, 226, 296, 294, 406, 250, 243, - 239, 225, 271, 302, 340, 397, 334, 739, 291, 689, - 0, 388, 314, 0, 0, 0, 670, 722, 677, 713, - 665, 701, 626, 688, 734, 653, 697, 735, 277, 224, - 194, 326, 389, 253, 0, 0, 0, 176, 177, 178, - 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 222, 694, 729, 650, 696, 236, 275, 242, 235, 404, - 699, 745, 612, 691, 0, 615, 618, 741, 725, 645, - 646, 0, 0, 0, 0, 0, 0, 0, 669, 678, - 710, 663, 0, 0, 0, 0, 0, 0, 0, 0, - 643, 0, 687, 0, 0, 0, 622, 616, 0, 0, - 0, 0, 667, 0, 0, 0, 625, 0, 644, 711, - 0, 610, 261, 620, 315, 715, 724, 664, 432, 728, - 662, 661, 731, 706, 623, 721, 656, 286, 621, 283, - 190, 204, 0, 654, 325, 363, 369, 720, 640, 649, - 227, 647, 367, 338, 419, 212, 251, 360, 343, 365, - 686, 704, 366, 292, 408, 355, 418, 433, 434, 234, - 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, - 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, - 416, 217, 377, 0, 0, 0, 199, 414, 393, 309, - 279, 280, 198, 0, 359, 238, 257, 229, 328, 411, - 412, 228, 444, 207, 429, 201, 747, 428, 321, 407, - 415, 310, 301, 200, 413, 308, 300, 285, 248, 267, - 353, 295, 354, 268, 317, 316, 318, 0, 195, 0, - 390, 423, 445, 214, 635, 716, 403, 438, 441, 0, - 356, 215, 258, 247, 352, 256, 288, 437, 439, 440, - 213, 350, 264, 609, 746, 603, 602, 284, 293, 708, - 744, 337, 368, 218, 421, 387, 630, 634, 628, 629, - 680, 681, 631, 736, 737, 738, 712, 624, 0, 632, - 633, 0, 718, 726, 727, 685, 189, 202, 289, 740, - 357, 254, 443, 427, 424, 611, 627, 233, 638, 0, - 0, 651, 658, 659, 671, 673, 674, 675, 676, 684, - 692, 693, 695, 703, 705, 707, 709, 714, 723, 743, - 191, 192, 203, 211, 220, 232, 245, 252, 262, 266, - 269, 272, 273, 276, 281, 298, 303, 304, 305, 306, - 322, 323, 324, 327, 330, 331, 333, 335, 336, 339, - 345, 346, 347, 348, 349, 351, 358, 362, 370, 371, - 372, 373, 374, 375, 376, 380, 381, 382, 383, 391, - 395, 409, 410, 420, 431, 435, 263, 417, 436, 0, - 297, 683, 690, 299, 249, 265, 274, 698, 426, 392, - 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, - 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, - 398, 399, 400, 402, 311, 237, 730, 717, 0, 0, - 666, 733, 637, 655, 742, 657, 660, 700, 617, 679, - 329, 652, 0, 641, 613, 648, 614, 639, 668, 240, - 672, 636, 719, 682, 732, 287, 0, 619, 642, 342, - 702, 379, 226, 296, 294, 406, 250, 243, 239, 225, - 271, 302, 340, 397, 334, 739, 291, 689, 0, 388, - 314, 0, 0, 0, 670, 722, 677, 713, 665, 701, - 626, 688, 734, 653, 697, 735, 277, 224, 194, 326, - 389, 253, 0, 0, 0, 176, 177, 178, 0, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 222, 694, - 729, 650, 696, 236, 275, 242, 235, 404, 699, 745, - 612, 691, 0, 615, 618, 741, 725, 645, 646, 0, - 0, 0, 0, 0, 0, 0, 669, 678, 710, 663, - 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, - 687, 0, 0, 0, 622, 616, 0, 0, 0, 0, - 667, 0, 0, 0, 625, 0, 644, 711, 0, 610, - 261, 620, 315, 715, 724, 664, 432, 728, 662, 661, - 731, 706, 623, 721, 656, 286, 621, 283, 190, 204, - 0, 654, 325, 363, 369, 720, 640, 649, 227, 647, - 367, 338, 419, 212, 251, 360, 343, 365, 686, 704, - 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, - 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, - 405, 282, 384, 259, 193, 290, 197, 396, 1080, 217, - 377, 0, 0, 0, 199, 414, 393, 309, 279, 280, - 198, 0, 359, 238, 257, 229, 328, 411, 412, 228, - 444, 207, 429, 201, 747, 428, 321, 407, 415, 310, - 301, 200, 413, 308, 300, 285, 248, 267, 353, 295, - 354, 268, 317, 316, 318, 0, 195, 0, 390, 423, - 445, 214, 635, 716, 403, 438, 441, 0, 356, 215, - 258, 247, 352, 256, 288, 437, 439, 440, 213, 350, - 264, 609, 746, 603, 602, 284, 293, 708, 744, 337, - 368, 218, 421, 387, 630, 634, 628, 629, 680, 681, - 631, 736, 737, 738, 712, 624, 0, 632, 633, 0, - 718, 726, 727, 685, 189, 202, 289, 740, 357, 254, - 443, 427, 424, 611, 627, 233, 638, 0, 0, 651, - 658, 659, 671, 673, 674, 675, 676, 684, 692, 693, - 695, 703, 705, 707, 709, 714, 723, 743, 191, 192, - 203, 211, 220, 232, 245, 252, 262, 266, 269, 272, - 273, 276, 281, 298, 303, 304, 305, 306, 322, 323, - 324, 327, 330, 331, 333, 335, 336, 339, 345, 346, - 347, 348, 349, 351, 358, 362, 370, 371, 372, 373, - 374, 375, 376, 380, 381, 382, 383, 391, 395, 409, - 410, 420, 431, 435, 263, 417, 436, 0, 297, 683, - 690, 299, 249, 265, 274, 698, 426, 392, 206, 364, - 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, - 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, - 400, 402, 311, 237, 730, 717, 0, 0, 666, 733, - 637, 655, 742, 657, 660, 700, 617, 679, 329, 652, - 0, 641, 613, 648, 614, 639, 668, 240, 672, 636, - 719, 682, 732, 287, 0, 619, 642, 342, 702, 379, - 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, - 340, 397, 334, 739, 291, 689, 0, 388, 314, 0, - 0, 0, 670, 722, 677, 713, 665, 701, 626, 688, - 734, 653, 697, 735, 277, 224, 194, 326, 389, 253, - 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 216, 0, 222, 694, 729, 650, - 696, 236, 275, 242, 235, 404, 699, 745, 612, 691, - 0, 615, 618, 741, 725, 645, 646, 0, 0, 0, - 0, 0, 0, 0, 669, 678, 710, 663, 0, 0, - 0, 0, 0, 0, 0, 0, 643, 0, 687, 0, - 0, 0, 622, 616, 0, 0, 0, 0, 667, 0, - 0, 0, 625, 0, 644, 711, 0, 610, 261, 620, - 315, 715, 724, 664, 432, 728, 662, 661, 731, 706, - 623, 721, 656, 286, 621, 283, 190, 204, 0, 654, - 325, 363, 369, 720, 640, 649, 227, 647, 367, 338, - 419, 212, 251, 360, 343, 365, 686, 704, 366, 292, - 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, - 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, - 384, 259, 193, 290, 197, 396, 600, 217, 377, 0, - 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, - 359, 238, 257, 229, 328, 411, 412, 228, 444, 207, - 429, 201, 747, 428, 321, 407, 415, 310, 301, 200, - 413, 308, 300, 285, 248, 267, 353, 295, 354, 268, - 317, 316, 318, 0, 195, 0, 390, 423, 445, 214, - 635, 716, 403, 438, 441, 0, 356, 215, 258, 247, - 352, 256, 288, 437, 439, 440, 213, 350, 264, 609, - 746, 603, 602, 284, 293, 708, 744, 337, 368, 218, - 421, 387, 630, 634, 628, 629, 680, 681, 631, 736, - 737, 738, 712, 624, 0, 632, 633, 0, 718, 726, - 727, 685, 189, 202, 289, 740, 357, 254, 443, 427, - 424, 611, 627, 233, 638, 0, 0, 651, 658, 659, - 671, 673, 674, 675, 676, 684, 692, 693, 695, 703, - 705, 707, 709, 714, 723, 743, 191, 192, 203, 211, - 220, 232, 245, 252, 262, 266, 269, 272, 273, 276, - 281, 298, 303, 304, 305, 306, 322, 323, 324, 327, - 330, 331, 333, 335, 336, 339, 345, 346, 347, 348, - 349, 351, 358, 362, 370, 371, 372, 373, 374, 375, - 376, 380, 381, 382, 383, 391, 395, 409, 410, 420, - 431, 435, 263, 417, 436, 0, 297, 683, 690, 299, - 249, 265, 274, 698, 426, 392, 206, 364, 255, 196, - 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, - 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, - 311, 237, 329, 0, 0, 1378, 0, 503, 0, 0, - 0, 240, 0, 502, 0, 0, 0, 287, 0, 0, - 1379, 342, 0, 379, 226, 296, 294, 406, 250, 243, - 239, 225, 271, 302, 340, 397, 334, 546, 291, 0, - 0, 388, 314, 0, 0, 0, 0, 0, 537, 538, - 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, - 194, 326, 389, 253, 69, 0, 0, 176, 177, 178, - 524, 523, 526, 527, 528, 529, 0, 0, 216, 525, - 222, 530, 531, 532, 0, 236, 275, 242, 235, 404, - 0, 0, 0, 500, 517, 0, 545, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 514, 515, 590, 0, - 0, 0, 560, 0, 516, 0, 0, 509, 510, 512, - 511, 513, 518, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 261, 0, 315, 559, 0, 0, 432, 0, - 0, 557, 0, 0, 0, 0, 0, 286, 0, 283, - 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, - 227, 0, 367, 338, 419, 212, 251, 360, 343, 365, - 0, 0, 366, 292, 408, 355, 418, 433, 434, 234, - 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, - 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, - 416, 217, 377, 0, 0, 0, 199, 414, 393, 309, - 279, 280, 198, 0, 359, 238, 257, 229, 328, 411, - 412, 228, 444, 207, 429, 201, 208, 428, 321, 407, - 415, 310, 301, 200, 413, 308, 300, 285, 248, 267, - 353, 295, 354, 268, 317, 316, 318, 0, 195, 0, - 390, 423, 445, 214, 0, 0, 403, 438, 441, 0, - 356, 215, 258, 247, 352, 256, 288, 437, 439, 440, - 213, 350, 264, 320, 209, 270, 386, 284, 293, 0, - 0, 337, 368, 218, 421, 387, 547, 558, 553, 554, - 551, 552, 0, 550, 549, 548, 561, 539, 540, 541, - 542, 544, 0, 555, 556, 543, 189, 202, 289, 0, - 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 203, 211, 220, 232, 245, 252, 262, 266, - 269, 272, 273, 276, 281, 298, 303, 304, 305, 306, - 322, 323, 324, 327, 330, 331, 333, 335, 336, 339, - 345, 346, 347, 348, 349, 351, 358, 362, 370, 371, - 372, 373, 374, 375, 376, 380, 381, 382, 383, 391, - 395, 409, 410, 420, 431, 435, 263, 417, 436, 0, - 297, 0, 0, 299, 249, 265, 274, 0, 426, 392, - 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, - 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, - 398, 399, 400, 402, 311, 237, 329, 0, 0, 0, - 0, 503, 0, 0, 0, 240, 0, 502, 0, 0, - 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, - 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, - 334, 546, 291, 0, 0, 388, 314, 0, 0, 0, - 0, 0, 537, 538, 0, 0, 0, 0, 0, 0, - 1490, 0, 277, 224, 194, 326, 389, 253, 69, 0, - 0, 176, 177, 178, 524, 523, 526, 527, 528, 529, - 0, 0, 216, 525, 222, 530, 531, 532, 1491, 236, - 275, 242, 235, 404, 0, 0, 0, 500, 517, 0, - 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 514, 515, 0, 0, 0, 0, 560, 0, 516, 0, - 0, 509, 510, 512, 511, 513, 518, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 261, 0, 315, 559, - 0, 0, 432, 0, 0, 557, 0, 0, 0, 0, - 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, - 369, 0, 0, 0, 227, 0, 367, 338, 419, 212, - 251, 360, 343, 365, 0, 0, 366, 292, 408, 355, - 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, - 231, 332, 394, 422, 385, 312, 405, 282, 384, 259, - 193, 290, 197, 396, 416, 217, 377, 0, 0, 0, - 199, 414, 393, 309, 279, 280, 198, 0, 359, 238, - 257, 229, 328, 411, 412, 228, 444, 207, 429, 201, - 208, 428, 321, 407, 415, 310, 301, 200, 413, 308, - 300, 285, 248, 267, 353, 295, 354, 268, 317, 316, - 318, 0, 195, 0, 390, 423, 445, 214, 0, 0, - 403, 438, 441, 0, 356, 215, 258, 247, 352, 256, - 288, 437, 439, 440, 213, 350, 264, 320, 209, 270, - 386, 284, 293, 0, 0, 337, 368, 218, 421, 387, - 547, 558, 553, 554, 551, 552, 0, 550, 549, 548, - 561, 539, 540, 541, 542, 544, 0, 555, 556, 543, - 189, 202, 289, 0, 357, 254, 443, 427, 424, 0, - 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 192, 203, 211, 220, 232, - 245, 252, 262, 266, 269, 272, 273, 276, 281, 298, - 303, 304, 305, 306, 322, 323, 324, 327, 330, 331, - 333, 335, 336, 339, 345, 346, 347, 348, 349, 351, - 358, 362, 370, 371, 372, 373, 374, 375, 376, 380, - 381, 382, 383, 391, 395, 409, 410, 420, 431, 435, - 263, 417, 436, 0, 297, 0, 0, 299, 249, 265, - 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, - 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, - 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, - 329, 0, 0, 0, 0, 503, 0, 0, 0, 240, - 0, 502, 0, 0, 0, 287, 0, 0, 0, 342, - 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, - 271, 302, 340, 397, 334, 546, 291, 0, 0, 388, - 314, 0, 0, 0, 0, 0, 537, 538, 0, 0, - 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, - 389, 253, 69, 0, 578, 176, 177, 178, 524, 523, - 526, 527, 528, 529, 0, 0, 216, 525, 222, 530, - 531, 532, 0, 236, 275, 242, 235, 404, 0, 0, - 0, 500, 517, 0, 545, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 514, 515, 0, 0, 0, 0, - 560, 0, 516, 0, 0, 509, 510, 512, 511, 513, - 518, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 261, 0, 315, 559, 0, 0, 432, 0, 0, 557, - 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, - 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, - 367, 338, 419, 212, 251, 360, 343, 365, 0, 0, - 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, - 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, - 405, 282, 384, 259, 193, 290, 197, 396, 416, 217, - 377, 0, 0, 0, 199, 414, 393, 309, 279, 280, - 198, 0, 359, 238, 257, 229, 328, 411, 412, 228, - 444, 207, 429, 201, 208, 428, 321, 407, 415, 310, - 301, 200, 413, 308, 300, 285, 248, 267, 353, 295, - 354, 268, 317, 316, 318, 0, 195, 0, 390, 423, - 445, 214, 0, 0, 403, 438, 441, 0, 356, 215, - 258, 247, 352, 256, 288, 437, 439, 440, 213, 350, - 264, 320, 209, 270, 386, 284, 293, 0, 0, 337, - 368, 218, 421, 387, 547, 558, 553, 554, 551, 552, - 0, 550, 549, 548, 561, 539, 540, 541, 542, 544, - 0, 555, 556, 543, 189, 202, 289, 0, 357, 254, - 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 203, 211, 220, 232, 245, 252, 262, 266, 269, 272, - 273, 276, 281, 298, 303, 304, 305, 306, 322, 323, - 324, 327, 330, 331, 333, 335, 336, 339, 345, 346, - 347, 348, 349, 351, 358, 362, 370, 371, 372, 373, - 374, 375, 376, 380, 381, 382, 383, 391, 395, 409, - 410, 420, 431, 435, 263, 417, 436, 0, 297, 0, - 0, 299, 249, 265, 274, 0, 426, 392, 206, 364, - 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, - 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, - 400, 402, 311, 237, 329, 0, 0, 0, 0, 503, - 0, 0, 0, 240, 0, 502, 0, 0, 0, 287, - 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, - 250, 243, 239, 225, 271, 302, 340, 397, 334, 546, - 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, - 537, 538, 0, 0, 0, 0, 0, 0, 0, 0, - 277, 224, 194, 326, 389, 253, 69, 0, 0, 176, - 177, 178, 524, 523, 526, 527, 528, 529, 0, 0, - 216, 525, 222, 530, 531, 532, 0, 236, 275, 242, - 235, 404, 0, 0, 0, 500, 517, 0, 545, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 514, 515, - 590, 0, 0, 0, 560, 0, 516, 0, 0, 509, - 510, 512, 511, 513, 518, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 261, 0, 315, 559, 0, 0, - 432, 0, 0, 557, 0, 0, 0, 0, 0, 286, - 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, - 0, 0, 227, 0, 367, 338, 419, 212, 251, 360, - 343, 365, 0, 0, 366, 292, 408, 355, 418, 433, - 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, - 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, - 197, 396, 416, 217, 377, 0, 0, 0, 199, 414, - 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, - 328, 411, 412, 228, 444, 207, 429, 201, 208, 428, - 321, 407, 415, 310, 301, 200, 413, 308, 300, 285, - 248, 267, 353, 295, 354, 268, 317, 316, 318, 0, - 195, 0, 390, 423, 445, 214, 0, 0, 403, 438, - 441, 0, 356, 215, 258, 247, 352, 256, 288, 437, - 439, 440, 213, 350, 264, 320, 209, 270, 386, 284, - 293, 0, 0, 337, 368, 218, 421, 387, 547, 558, - 553, 554, 551, 552, 0, 550, 549, 548, 561, 539, - 540, 541, 542, 544, 0, 555, 556, 543, 189, 202, - 289, 0, 357, 254, 443, 427, 424, 0, 0, 233, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 203, 211, 220, 232, 245, 252, - 262, 266, 269, 272, 273, 276, 281, 298, 303, 304, - 305, 306, 322, 323, 324, 327, 330, 331, 333, 335, - 336, 339, 345, 346, 347, 348, 349, 351, 358, 362, - 370, 371, 372, 373, 374, 375, 376, 380, 381, 382, - 383, 391, 395, 409, 410, 420, 431, 435, 263, 417, - 436, 0, 297, 0, 0, 299, 249, 265, 274, 0, - 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, - 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, - 219, 378, 398, 399, 400, 402, 311, 237, 329, 0, - 0, 0, 0, 503, 0, 0, 0, 240, 0, 502, - 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, - 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, - 340, 397, 334, 546, 291, 0, 0, 388, 314, 0, - 0, 0, 0, 0, 537, 538, 0, 0, 0, 0, - 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, - 69, 0, 0, 176, 177, 178, 524, 1396, 526, 527, - 528, 529, 0, 0, 216, 525, 222, 530, 531, 532, - 0, 236, 275, 242, 235, 404, 0, 0, 0, 500, - 517, 0, 545, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 514, 515, 590, 0, 0, 0, 560, 0, - 516, 0, 0, 509, 510, 512, 511, 513, 518, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, - 315, 559, 0, 0, 432, 0, 0, 557, 0, 0, - 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, - 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, - 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, - 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, - 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, - 384, 259, 193, 290, 197, 396, 416, 217, 377, 0, - 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, - 359, 238, 257, 229, 328, 411, 412, 228, 444, 207, - 429, 201, 208, 428, 321, 407, 415, 310, 301, 200, - 413, 308, 300, 285, 248, 267, 353, 295, 354, 268, - 317, 316, 318, 0, 195, 0, 390, 423, 445, 214, - 0, 0, 403, 438, 441, 0, 356, 215, 258, 247, - 352, 256, 288, 437, 439, 440, 213, 350, 264, 320, - 209, 270, 386, 284, 293, 0, 0, 337, 368, 218, - 421, 387, 547, 558, 553, 554, 551, 552, 0, 550, - 549, 548, 561, 539, 540, 541, 542, 544, 0, 555, - 556, 543, 189, 202, 289, 0, 357, 254, 443, 427, - 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 203, 211, - 220, 232, 245, 252, 262, 266, 269, 272, 273, 276, - 281, 298, 303, 304, 305, 306, 322, 323, 324, 327, - 330, 331, 333, 335, 336, 339, 345, 346, 347, 348, - 349, 351, 358, 362, 370, 371, 372, 373, 374, 375, - 376, 380, 381, 382, 383, 391, 395, 409, 410, 420, - 431, 435, 263, 417, 436, 0, 297, 0, 0, 299, - 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, - 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, - 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, - 311, 237, 329, 0, 0, 0, 0, 503, 0, 0, - 0, 240, 0, 502, 0, 0, 0, 287, 0, 0, - 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, - 239, 225, 271, 302, 340, 397, 334, 546, 291, 0, - 0, 388, 314, 0, 0, 0, 0, 0, 537, 538, - 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, - 194, 326, 389, 253, 69, 0, 0, 176, 177, 178, - 524, 1393, 526, 527, 528, 529, 0, 0, 216, 525, - 222, 530, 531, 532, 0, 236, 275, 242, 235, 404, - 0, 0, 0, 500, 517, 0, 545, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 514, 515, 590, 0, - 0, 0, 560, 0, 516, 0, 0, 509, 510, 512, - 511, 513, 518, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 261, 0, 315, 559, 0, 0, 432, 0, - 0, 557, 0, 0, 0, 0, 0, 286, 0, 283, - 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, - 227, 0, 367, 338, 419, 212, 251, 360, 343, 365, - 0, 0, 366, 292, 408, 355, 418, 433, 434, 234, - 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, - 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, - 416, 217, 377, 0, 0, 0, 199, 414, 393, 309, - 279, 280, 198, 0, 359, 238, 257, 229, 328, 411, - 412, 228, 444, 207, 429, 201, 208, 428, 321, 407, - 415, 310, 301, 200, 413, 308, 300, 285, 248, 267, - 353, 295, 354, 268, 317, 316, 318, 0, 195, 0, - 390, 423, 445, 214, 0, 0, 403, 438, 441, 0, - 356, 215, 258, 247, 352, 256, 288, 437, 439, 440, - 213, 350, 264, 320, 209, 270, 386, 284, 293, 0, - 0, 337, 368, 218, 421, 387, 547, 558, 553, 554, - 551, 552, 0, 550, 549, 548, 561, 539, 540, 541, - 542, 544, 0, 555, 556, 543, 189, 202, 289, 0, - 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 203, 211, 220, 232, 245, 252, 262, 266, - 269, 272, 273, 276, 281, 298, 303, 304, 305, 306, - 322, 323, 324, 327, 330, 331, 333, 335, 336, 339, - 345, 346, 347, 348, 349, 351, 358, 362, 370, 371, - 372, 373, 374, 375, 376, 380, 381, 382, 383, 391, - 395, 409, 410, 420, 431, 435, 263, 417, 436, 0, - 297, 0, 0, 299, 249, 265, 274, 0, 426, 392, - 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, - 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, - 398, 399, 400, 402, 311, 237, 571, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, - 0, 0, 0, 0, 503, 0, 0, 0, 240, 0, - 502, 0, 0, 0, 287, 0, 0, 0, 342, 0, - 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, - 302, 340, 397, 334, 546, 291, 0, 0, 388, 314, - 0, 0, 0, 0, 0, 537, 538, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, - 253, 69, 0, 0, 176, 177, 178, 524, 523, 526, - 527, 528, 529, 0, 0, 216, 525, 222, 530, 531, - 532, 0, 236, 275, 242, 235, 404, 0, 0, 0, - 500, 517, 0, 545, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 514, 515, 0, 0, 0, 0, 560, - 0, 516, 0, 0, 509, 510, 512, 511, 513, 518, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, - 0, 315, 559, 0, 0, 432, 0, 0, 557, 0, - 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, - 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, - 338, 419, 212, 251, 360, 343, 365, 0, 0, 366, - 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, - 430, 442, 205, 231, 332, 394, 422, 385, 312, 405, - 282, 384, 259, 193, 290, 197, 396, 416, 217, 377, - 0, 0, 0, 199, 414, 393, 309, 279, 280, 198, - 0, 359, 238, 257, 229, 328, 411, 412, 228, 444, - 207, 429, 201, 208, 428, 321, 407, 415, 310, 301, - 200, 413, 308, 300, 285, 248, 267, 353, 295, 354, - 268, 317, 316, 318, 0, 195, 0, 390, 423, 445, - 214, 0, 0, 403, 438, 441, 0, 356, 215, 258, - 247, 352, 256, 288, 437, 439, 440, 213, 350, 264, - 320, 209, 270, 386, 284, 293, 0, 0, 337, 368, - 218, 421, 387, 547, 558, 553, 554, 551, 552, 0, - 550, 549, 548, 561, 539, 540, 541, 542, 544, 0, - 555, 556, 543, 189, 202, 289, 0, 357, 254, 443, - 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 203, - 211, 220, 232, 245, 252, 262, 266, 269, 272, 273, - 276, 281, 298, 303, 304, 305, 306, 322, 323, 324, - 327, 330, 331, 333, 335, 336, 339, 345, 346, 347, - 348, 349, 351, 358, 362, 370, 371, 372, 373, 374, - 375, 376, 380, 381, 382, 383, 391, 395, 409, 410, - 420, 431, 435, 263, 417, 436, 0, 297, 0, 0, - 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, - 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, - 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, - 402, 311, 237, 329, 0, 0, 0, 0, 503, 0, - 0, 0, 240, 0, 502, 0, 0, 0, 287, 0, - 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, - 243, 239, 225, 271, 302, 340, 397, 334, 546, 291, - 0, 0, 388, 314, 0, 0, 0, 0, 0, 537, - 538, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 224, 194, 326, 389, 253, 69, 0, 0, 176, 177, - 178, 524, 523, 526, 527, 528, 529, 0, 0, 216, - 525, 222, 530, 531, 532, 0, 236, 275, 242, 235, - 404, 0, 0, 0, 500, 517, 0, 545, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 514, 515, 0, - 0, 0, 0, 560, 0, 516, 0, 0, 509, 510, - 512, 511, 513, 518, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 261, 0, 315, 559, 0, 0, 432, - 0, 0, 557, 0, 0, 0, 0, 0, 286, 0, - 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, - 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, - 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, - 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, - 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, - 396, 416, 217, 377, 0, 0, 0, 199, 414, 393, - 309, 279, 280, 198, 0, 359, 238, 257, 229, 328, - 411, 412, 228, 444, 207, 429, 201, 208, 428, 321, - 407, 415, 310, 301, 200, 413, 308, 300, 285, 248, - 267, 353, 295, 354, 268, 317, 316, 318, 0, 195, - 0, 390, 423, 445, 214, 0, 0, 403, 438, 441, - 0, 356, 215, 258, 247, 352, 256, 288, 437, 439, - 440, 213, 350, 264, 320, 209, 270, 386, 284, 293, - 0, 0, 337, 368, 218, 421, 387, 547, 558, 553, - 554, 551, 552, 0, 550, 549, 548, 561, 539, 540, - 541, 542, 544, 0, 555, 556, 543, 189, 202, 289, - 0, 357, 254, 443, 427, 424, 0, 0, 233, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 203, 211, 220, 232, 245, 252, 262, - 266, 269, 272, 273, 276, 281, 298, 303, 304, 305, - 306, 322, 323, 324, 327, 330, 331, 333, 335, 336, - 339, 345, 346, 347, 348, 349, 351, 358, 362, 370, - 371, 372, 373, 374, 375, 376, 380, 381, 382, 383, - 391, 395, 409, 410, 420, 431, 435, 263, 417, 436, - 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, - 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, - 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, - 378, 398, 399, 400, 402, 311, 237, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, - 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, - 397, 334, 546, 291, 0, 0, 388, 314, 0, 0, - 0, 0, 0, 537, 538, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 224, 194, 326, 389, 253, 69, - 0, 0, 176, 177, 178, 524, 523, 526, 527, 528, - 529, 0, 0, 216, 525, 222, 530, 531, 532, 0, - 236, 275, 242, 235, 404, 0, 0, 0, 0, 517, - 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 514, 515, 0, 0, 0, 0, 560, 0, 516, - 0, 0, 509, 510, 512, 511, 513, 518, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, - 559, 0, 0, 432, 0, 0, 557, 0, 0, 0, - 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, - 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, - 212, 251, 360, 343, 365, 2148, 0, 366, 292, 408, - 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, - 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, - 259, 193, 290, 197, 396, 416, 217, 377, 0, 0, - 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, - 238, 257, 229, 328, 411, 412, 228, 444, 207, 429, - 201, 208, 428, 321, 407, 415, 310, 301, 200, 413, - 308, 300, 285, 248, 267, 353, 295, 354, 268, 317, - 316, 318, 0, 195, 0, 390, 423, 445, 214, 0, - 0, 403, 438, 441, 0, 356, 215, 258, 247, 352, - 256, 288, 437, 439, 440, 213, 350, 264, 320, 209, - 270, 386, 284, 293, 0, 0, 337, 368, 218, 421, - 387, 547, 558, 553, 554, 551, 552, 0, 550, 549, - 548, 561, 539, 540, 541, 542, 544, 0, 555, 556, - 543, 189, 202, 289, 0, 357, 254, 443, 427, 424, - 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 192, 203, 211, 220, - 232, 245, 252, 262, 266, 269, 272, 273, 276, 281, - 298, 303, 304, 305, 306, 322, 323, 324, 327, 330, - 331, 333, 335, 336, 339, 345, 346, 347, 348, 349, - 351, 358, 362, 370, 371, 372, 373, 374, 375, 376, - 380, 381, 382, 383, 391, 395, 409, 410, 420, 431, - 435, 263, 417, 436, 0, 297, 0, 0, 299, 249, - 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, - 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, - 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, - 237, 329, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, - 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, - 225, 271, 302, 340, 397, 334, 546, 291, 0, 0, - 388, 314, 0, 0, 0, 0, 0, 537, 538, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, - 326, 389, 253, 69, 0, 578, 176, 177, 178, 524, - 523, 526, 527, 528, 529, 0, 0, 216, 525, 222, - 530, 531, 532, 0, 236, 275, 242, 235, 404, 0, - 0, 0, 0, 517, 0, 545, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 514, 515, 0, 0, 0, - 0, 560, 0, 516, 0, 0, 509, 510, 512, 511, - 513, 518, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 261, 0, 315, 559, 0, 0, 432, 0, 0, - 557, 0, 0, 0, 0, 0, 286, 0, 283, 190, - 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, - 0, 367, 338, 419, 212, 251, 360, 343, 365, 0, - 0, 366, 292, 408, 355, 418, 433, 434, 234, 319, - 425, 401, 430, 442, 205, 231, 332, 394, 422, 385, - 312, 405, 282, 384, 259, 193, 290, 197, 396, 416, - 217, 377, 0, 0, 0, 199, 414, 393, 309, 279, - 280, 198, 0, 359, 238, 257, 229, 328, 411, 412, - 228, 444, 207, 429, 201, 208, 428, 321, 407, 415, - 310, 301, 200, 413, 308, 300, 285, 248, 267, 353, - 295, 354, 268, 317, 316, 318, 0, 195, 0, 390, - 423, 445, 214, 0, 0, 403, 438, 441, 0, 356, - 215, 258, 247, 352, 256, 288, 437, 439, 440, 213, - 350, 264, 320, 209, 270, 386, 284, 293, 0, 0, - 337, 368, 218, 421, 387, 547, 558, 553, 554, 551, - 552, 0, 550, 549, 548, 561, 539, 540, 541, 542, - 544, 0, 555, 556, 543, 189, 202, 289, 0, 357, - 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 203, 211, 220, 232, 245, 252, 262, 266, 269, - 272, 273, 276, 281, 298, 303, 304, 305, 306, 322, - 323, 324, 327, 330, 331, 333, 335, 336, 339, 345, - 346, 347, 348, 349, 351, 358, 362, 370, 371, 372, - 373, 374, 375, 376, 380, 381, 382, 383, 391, 395, - 409, 410, 420, 431, 435, 263, 417, 436, 0, 297, - 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, - 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, - 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, - 399, 400, 402, 311, 237, 329, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, - 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, - 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, - 546, 291, 0, 0, 388, 314, 0, 0, 0, 0, - 0, 537, 538, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 224, 194, 326, 389, 253, 69, 0, 0, - 176, 177, 178, 524, 523, 526, 527, 528, 529, 0, - 0, 216, 525, 222, 530, 531, 532, 0, 236, 275, - 242, 235, 404, 0, 0, 0, 0, 517, 0, 545, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, - 515, 0, 0, 0, 0, 560, 0, 516, 0, 0, - 509, 510, 512, 511, 513, 518, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 261, 0, 315, 559, 0, - 0, 432, 0, 0, 557, 0, 0, 0, 0, 0, - 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, - 0, 0, 0, 227, 0, 367, 338, 419, 212, 251, - 360, 343, 365, 0, 0, 366, 292, 408, 355, 418, - 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, - 332, 394, 422, 385, 312, 405, 282, 384, 259, 193, - 290, 197, 396, 416, 217, 377, 0, 0, 0, 199, - 414, 393, 309, 279, 280, 198, 0, 359, 238, 257, - 229, 328, 411, 412, 228, 444, 207, 429, 201, 208, - 428, 321, 407, 415, 310, 301, 200, 413, 308, 300, - 285, 248, 267, 353, 295, 354, 268, 317, 316, 318, - 0, 195, 0, 390, 423, 445, 214, 0, 0, 403, - 438, 441, 0, 356, 215, 258, 247, 352, 256, 288, - 437, 439, 440, 213, 350, 264, 320, 209, 270, 386, - 284, 293, 0, 0, 337, 368, 218, 421, 387, 547, - 558, 553, 554, 551, 552, 0, 550, 549, 548, 561, - 539, 540, 541, 542, 544, 0, 555, 556, 543, 189, - 202, 289, 0, 357, 254, 443, 427, 424, 0, 0, - 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 203, 211, 220, 232, 245, - 252, 262, 266, 269, 272, 273, 276, 281, 298, 303, - 304, 305, 306, 322, 323, 324, 327, 330, 331, 333, - 335, 336, 339, 345, 346, 347, 348, 349, 351, 358, - 362, 370, 371, 372, 373, 374, 375, 376, 380, 381, - 382, 383, 391, 395, 409, 410, 420, 431, 435, 263, - 417, 436, 0, 297, 0, 0, 299, 249, 265, 274, - 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, - 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, - 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, - 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, - 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, - 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, - 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, - 253, 0, 0, 0, 176, 177, 178, 0, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, - 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 957, - 956, 966, 967, 959, 960, 961, 962, 963, 964, 965, - 958, 0, 0, 968, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, - 0, 315, 0, 0, 0, 432, 0, 0, 0, 0, - 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, - 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, - 338, 419, 212, 251, 360, 343, 365, 0, 0, 366, - 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, - 430, 442, 205, 231, 332, 394, 422, 385, 312, 405, - 282, 384, 259, 193, 290, 197, 396, 416, 217, 377, - 0, 0, 0, 199, 414, 393, 309, 279, 280, 198, - 0, 359, 238, 257, 229, 328, 411, 412, 228, 444, - 207, 429, 201, 208, 428, 321, 407, 415, 310, 301, - 200, 413, 308, 300, 285, 248, 267, 353, 295, 354, - 268, 317, 316, 318, 0, 195, 0, 390, 423, 445, - 214, 0, 0, 403, 438, 441, 0, 356, 215, 258, - 247, 352, 256, 288, 437, 439, 440, 213, 350, 264, - 320, 209, 270, 386, 284, 293, 0, 0, 337, 368, - 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 202, 289, 0, 357, 254, 443, - 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 203, - 211, 220, 232, 245, 252, 262, 266, 269, 272, 273, - 276, 281, 298, 303, 304, 305, 306, 322, 323, 324, - 327, 330, 331, 333, 335, 336, 339, 345, 346, 347, - 348, 349, 351, 358, 362, 370, 371, 372, 373, 374, - 375, 376, 380, 381, 382, 383, 391, 395, 409, 410, - 420, 431, 435, 263, 417, 436, 0, 297, 0, 0, - 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, - 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, - 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, - 402, 311, 237, 329, 0, 0, 0, 0, 0, 0, - 0, 0, 240, 791, 0, 0, 0, 0, 287, 0, - 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, - 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, - 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 224, 194, 326, 389, 253, 0, 0, 0, 176, 177, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, - 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 261, 0, 315, 0, 0, 790, 432, - 0, 0, 0, 0, 0, 0, 787, 788, 286, 755, - 283, 190, 204, 781, 785, 325, 363, 369, 0, 0, - 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, - 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, - 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, - 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, - 396, 416, 217, 377, 0, 0, 0, 199, 414, 393, - 309, 279, 280, 198, 0, 359, 238, 257, 229, 328, - 411, 412, 228, 444, 207, 429, 201, 208, 428, 321, - 407, 415, 310, 301, 200, 413, 308, 300, 285, 248, - 267, 353, 295, 354, 268, 317, 316, 318, 0, 195, - 0, 390, 423, 445, 214, 0, 0, 403, 438, 441, - 0, 356, 215, 258, 247, 352, 256, 288, 437, 439, - 440, 213, 350, 264, 320, 209, 270, 386, 284, 293, - 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 202, 289, - 0, 357, 254, 443, 427, 424, 0, 0, 233, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 203, 211, 220, 232, 245, 252, 262, - 266, 269, 272, 273, 276, 281, 298, 303, 304, 305, - 306, 322, 323, 324, 327, 330, 331, 333, 335, 336, - 339, 345, 346, 347, 348, 349, 351, 358, 362, 370, - 371, 372, 373, 374, 375, 376, 380, 381, 382, 383, - 391, 395, 409, 410, 420, 431, 435, 263, 417, 436, - 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, - 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, - 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, - 378, 398, 399, 400, 402, 311, 237, 329, 0, 0, - 0, 1058, 0, 0, 0, 0, 240, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, - 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, - 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 224, 194, 326, 389, 253, 0, - 0, 0, 176, 177, 178, 0, 1060, 0, 0, 0, - 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, - 236, 275, 242, 235, 404, 946, 947, 945, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 948, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, - 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, - 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, - 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, - 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, - 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, - 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, - 259, 193, 290, 197, 396, 416, 217, 377, 0, 0, - 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, - 238, 257, 229, 328, 411, 412, 228, 444, 207, 429, - 201, 208, 428, 321, 407, 415, 310, 301, 200, 413, - 308, 300, 285, 248, 267, 353, 295, 354, 268, 317, - 316, 318, 0, 195, 0, 390, 423, 445, 214, 0, - 0, 403, 438, 441, 0, 356, 215, 258, 247, 352, - 256, 288, 437, 439, 440, 213, 350, 264, 320, 209, - 270, 386, 284, 293, 0, 0, 337, 368, 218, 421, - 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 202, 289, 0, 357, 254, 443, 427, 424, - 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 192, 203, 211, 220, - 232, 245, 252, 262, 266, 269, 272, 273, 276, 281, - 298, 303, 304, 305, 306, 322, 323, 324, 327, 330, - 331, 333, 335, 336, 339, 345, 346, 347, 348, 349, - 351, 358, 362, 370, 371, 372, 373, 374, 375, 376, - 380, 381, 382, 383, 391, 395, 409, 410, 420, 431, - 435, 263, 417, 436, 0, 297, 0, 0, 299, 249, - 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, - 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, - 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, - 237, 34, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 329, 0, 0, 0, 0, 0, - 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, - 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, - 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, - 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 277, 224, 194, 326, 389, 253, 69, 0, 578, 176, - 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, - 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 261, 0, 315, 0, 0, 0, - 432, 0, 0, 0, 0, 0, 0, 0, 0, 286, - 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, - 0, 0, 227, 0, 367, 338, 419, 212, 251, 360, - 343, 365, 0, 0, 366, 292, 408, 355, 418, 433, - 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, - 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, - 197, 396, 416, 217, 377, 0, 0, 0, 199, 414, - 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, - 328, 411, 412, 228, 444, 207, 429, 201, 208, 428, - 321, 407, 415, 310, 301, 200, 413, 308, 300, 285, - 248, 267, 353, 295, 354, 268, 317, 316, 318, 0, - 195, 0, 390, 423, 445, 214, 0, 0, 403, 438, - 441, 0, 356, 215, 258, 247, 352, 256, 288, 437, - 439, 440, 213, 350, 264, 320, 209, 270, 386, 284, - 293, 0, 0, 337, 368, 218, 421, 387, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 202, - 289, 0, 357, 254, 443, 427, 424, 0, 0, 233, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 203, 211, 220, 232, 245, 252, - 262, 266, 269, 272, 273, 276, 281, 298, 303, 304, - 305, 306, 322, 323, 324, 327, 330, 331, 333, 335, - 336, 339, 345, 346, 347, 348, 349, 351, 358, 362, - 370, 371, 372, 373, 374, 375, 376, 380, 381, 382, - 383, 391, 395, 409, 410, 420, 431, 435, 263, 417, - 436, 0, 297, 0, 0, 299, 249, 265, 274, 0, - 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, - 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, - 219, 378, 398, 399, 400, 402, 311, 237, 329, 0, - 0, 0, 1423, 0, 0, 0, 0, 240, 0, 0, - 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, - 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, - 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, - 0, 0, 0, 176, 177, 178, 0, 1425, 0, 0, - 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, - 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, - 315, 0, 0, 0, 432, 0, 0, 0, 0, 0, - 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, - 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, - 419, 212, 251, 360, 343, 365, 0, 1421, 366, 292, - 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, - 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, - 384, 259, 193, 290, 197, 396, 416, 217, 377, 0, - 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, - 359, 238, 257, 229, 328, 411, 412, 228, 444, 207, - 429, 201, 208, 428, 321, 407, 415, 310, 301, 200, - 413, 308, 300, 285, 248, 267, 353, 295, 354, 268, - 317, 316, 318, 0, 195, 0, 390, 423, 445, 214, - 0, 0, 403, 438, 441, 0, 356, 215, 258, 247, - 352, 256, 288, 437, 439, 440, 213, 350, 264, 320, - 209, 270, 386, 284, 293, 0, 0, 337, 368, 218, - 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 202, 289, 0, 357, 254, 443, 427, - 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 203, 211, - 220, 232, 245, 252, 262, 266, 269, 272, 273, 276, - 281, 298, 303, 304, 305, 306, 322, 323, 324, 327, - 330, 331, 333, 335, 336, 339, 345, 346, 347, 348, - 349, 351, 358, 362, 370, 371, 372, 373, 374, 375, - 376, 380, 381, 382, 383, 391, 395, 409, 410, 420, - 431, 435, 263, 417, 436, 0, 297, 0, 0, 299, - 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, - 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, - 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, - 311, 237, 329, 0, 0, 0, 0, 0, 0, 0, - 0, 240, 0, 0, 0, 0, 0, 287, 0, 0, - 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, - 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, - 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, - 194, 326, 389, 253, 0, 0, 0, 176, 177, 178, - 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 749, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 261, 0, 315, 0, 0, 0, 432, 0, - 0, 0, 0, 0, 0, 0, 0, 286, 755, 283, - 190, 204, 753, 0, 325, 363, 369, 0, 0, 0, - 227, 0, 367, 338, 419, 212, 251, 360, 343, 365, - 0, 0, 366, 292, 408, 355, 418, 433, 434, 234, - 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, - 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, - 416, 217, 377, 0, 0, 0, 199, 414, 393, 309, - 279, 280, 198, 0, 359, 238, 257, 229, 328, 411, - 412, 228, 444, 207, 429, 201, 208, 428, 321, 407, - 415, 310, 301, 200, 413, 308, 300, 285, 248, 267, - 353, 295, 354, 268, 317, 316, 318, 0, 195, 0, - 390, 423, 445, 214, 0, 0, 403, 438, 441, 0, - 356, 215, 258, 247, 352, 256, 288, 437, 439, 440, - 213, 350, 264, 320, 209, 270, 386, 284, 293, 0, - 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 189, 202, 289, 0, - 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 203, 211, 220, 232, 245, 252, 262, 266, - 269, 272, 273, 276, 281, 298, 303, 304, 305, 306, - 322, 323, 324, 327, 330, 331, 333, 335, 336, 339, - 345, 346, 347, 348, 349, 351, 358, 362, 370, 371, - 372, 373, 374, 375, 376, 380, 381, 382, 383, 391, - 395, 409, 410, 420, 431, 435, 263, 417, 436, 0, - 297, 0, 0, 299, 249, 265, 274, 0, 426, 392, - 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, - 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, - 398, 399, 400, 402, 311, 237, 329, 0, 0, 0, - 1423, 0, 0, 0, 0, 240, 0, 0, 0, 0, - 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, - 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, - 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 277, 224, 194, 326, 389, 253, 0, 0, - 0, 176, 177, 178, 0, 1425, 0, 0, 0, 0, - 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, - 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 261, 0, 315, 0, - 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, - 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, - 369, 0, 0, 0, 227, 0, 367, 338, 419, 212, - 251, 360, 343, 365, 0, 0, 366, 292, 408, 355, - 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, - 231, 332, 394, 422, 385, 312, 405, 282, 384, 259, - 193, 290, 197, 396, 416, 217, 377, 0, 0, 0, - 199, 414, 393, 309, 279, 280, 198, 0, 359, 238, - 257, 229, 328, 411, 412, 228, 444, 207, 429, 201, - 208, 428, 321, 407, 415, 310, 301, 200, 413, 308, - 300, 285, 248, 267, 353, 295, 354, 268, 317, 316, - 318, 0, 195, 0, 390, 423, 445, 214, 0, 0, - 403, 438, 441, 0, 356, 215, 258, 247, 352, 256, - 288, 437, 439, 440, 213, 350, 264, 320, 209, 270, - 386, 284, 293, 0, 0, 337, 368, 218, 421, 387, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 202, 289, 0, 357, 254, 443, 427, 424, 0, - 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 192, 203, 211, 220, 232, - 245, 252, 262, 266, 269, 272, 273, 276, 281, 298, - 303, 304, 305, 306, 322, 323, 324, 327, 330, 331, - 333, 335, 336, 339, 345, 346, 347, 348, 349, 351, - 358, 362, 370, 371, 372, 373, 374, 375, 376, 380, - 381, 382, 383, 391, 395, 409, 410, 420, 431, 435, - 263, 417, 436, 0, 297, 0, 0, 299, 249, 265, - 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, - 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, - 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, - 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 329, 0, 0, 0, 0, 0, 0, - 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, - 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, - 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, - 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 224, 194, 326, 389, 253, 69, 0, 0, 176, 177, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, - 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 261, 0, 315, 0, 0, 0, 432, - 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, - 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, - 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, - 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, - 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, - 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, - 396, 416, 217, 377, 0, 0, 0, 199, 414, 393, - 309, 279, 280, 198, 0, 359, 238, 257, 229, 328, - 411, 412, 228, 444, 207, 429, 201, 208, 428, 321, - 407, 415, 310, 301, 200, 413, 308, 300, 285, 248, - 267, 353, 295, 354, 268, 317, 316, 318, 0, 195, - 0, 390, 423, 445, 214, 0, 0, 403, 438, 441, - 0, 356, 215, 258, 247, 352, 256, 288, 437, 439, - 440, 213, 350, 264, 320, 209, 270, 386, 284, 293, - 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 202, 289, - 0, 357, 254, 443, 427, 424, 0, 0, 233, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 203, 211, 220, 232, 245, 252, 262, - 266, 269, 272, 273, 276, 281, 298, 303, 304, 305, - 306, 322, 323, 324, 327, 330, 331, 333, 335, 336, - 339, 345, 346, 347, 348, 349, 351, 358, 362, 370, - 371, 372, 373, 374, 375, 376, 380, 381, 382, 383, - 391, 395, 409, 410, 420, 431, 435, 263, 417, 436, - 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, - 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, - 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, - 378, 398, 399, 400, 402, 311, 237, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, - 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, - 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 224, 194, 326, 389, 253, 0, - 0, 0, 176, 177, 178, 0, 0, 1443, 0, 0, - 1444, 0, 0, 216, 0, 222, 0, 0, 0, 0, - 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, - 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, - 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, - 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, - 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, - 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, - 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, - 259, 193, 290, 197, 396, 416, 217, 377, 0, 0, - 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, - 238, 257, 229, 328, 411, 412, 228, 444, 207, 429, - 201, 208, 428, 321, 407, 415, 310, 301, 200, 413, - 308, 300, 285, 248, 267, 353, 295, 354, 268, 317, - 316, 318, 0, 195, 0, 390, 423, 445, 214, 0, - 0, 403, 438, 441, 0, 356, 215, 258, 247, 352, - 256, 288, 437, 439, 440, 213, 350, 264, 320, 209, - 270, 386, 284, 293, 0, 0, 337, 368, 218, 421, - 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 202, 289, 0, 357, 254, 443, 427, 424, - 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 192, 203, 211, 220, - 232, 245, 252, 262, 266, 269, 272, 273, 276, 281, - 298, 303, 304, 305, 306, 322, 323, 324, 327, 330, - 331, 333, 335, 336, 339, 345, 346, 347, 348, 349, - 351, 358, 362, 370, 371, 372, 373, 374, 375, 376, - 380, 381, 382, 383, 391, 395, 409, 410, 420, 431, - 435, 263, 417, 436, 0, 297, 0, 0, 299, 249, - 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, - 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, - 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, - 237, 329, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 0, 1091, 0, 0, 0, 287, 0, 0, 0, - 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, - 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, - 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, - 326, 389, 253, 0, 0, 0, 176, 177, 178, 0, - 1090, 0, 0, 0, 0, 0, 0, 216, 0, 222, - 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 261, 0, 315, 0, 0, 0, 432, 0, 0, - 0, 0, 0, 0, 0, 0, 286, 0, 283, 190, - 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, - 0, 367, 338, 419, 212, 251, 360, 343, 365, 0, - 0, 366, 292, 408, 355, 418, 433, 434, 234, 319, - 425, 401, 430, 442, 205, 231, 332, 394, 422, 385, - 312, 405, 282, 384, 259, 193, 290, 197, 396, 416, - 217, 377, 0, 0, 0, 199, 414, 393, 309, 279, - 280, 198, 0, 359, 238, 257, 229, 328, 411, 412, - 228, 444, 207, 429, 201, 208, 428, 321, 407, 415, - 310, 301, 200, 413, 308, 300, 285, 248, 267, 353, - 295, 354, 268, 317, 316, 318, 0, 195, 0, 390, - 423, 445, 214, 0, 0, 403, 438, 441, 0, 356, - 215, 258, 247, 352, 256, 288, 437, 439, 440, 213, - 350, 264, 320, 209, 270, 386, 284, 293, 0, 0, - 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 202, 289, 0, 357, - 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 203, 211, 220, 232, 245, 252, 262, 266, 269, - 272, 273, 276, 281, 298, 303, 304, 305, 306, 322, - 323, 324, 327, 330, 331, 333, 335, 336, 339, 345, - 346, 347, 348, 349, 351, 358, 362, 370, 371, 372, - 373, 374, 375, 376, 380, 381, 382, 383, 391, 395, - 409, 410, 420, 431, 435, 263, 417, 436, 0, 297, - 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, - 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, - 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, - 399, 400, 402, 311, 237, 329, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, - 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, - 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, - 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 224, 194, 326, 389, 253, 0, 0, 578, - 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, - 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 261, 0, 315, 0, 0, - 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, - 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, - 0, 0, 0, 227, 0, 367, 338, 419, 212, 251, - 360, 343, 365, 0, 0, 366, 292, 408, 355, 418, - 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, - 332, 394, 422, 385, 312, 405, 282, 384, 259, 193, - 290, 197, 396, 416, 217, 377, 0, 0, 0, 199, - 414, 393, 309, 279, 280, 198, 0, 359, 238, 257, - 229, 328, 411, 412, 228, 444, 207, 429, 201, 208, - 428, 321, 407, 415, 310, 301, 200, 413, 308, 300, - 285, 248, 267, 353, 295, 354, 268, 317, 316, 318, - 0, 195, 0, 390, 423, 445, 214, 0, 0, 403, - 438, 441, 0, 356, 215, 258, 247, 352, 256, 288, - 437, 439, 440, 213, 350, 264, 320, 209, 270, 386, - 284, 293, 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 202, 289, 0, 357, 254, 443, 427, 424, 0, 0, - 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 203, 211, 220, 232, 245, - 252, 262, 266, 269, 272, 273, 276, 281, 298, 303, - 304, 305, 306, 322, 323, 324, 327, 330, 331, 333, - 335, 336, 339, 345, 346, 347, 348, 349, 351, 358, - 362, 370, 371, 372, 373, 374, 375, 376, 380, 381, - 382, 383, 391, 395, 409, 410, 420, 431, 435, 263, - 417, 436, 0, 297, 0, 0, 299, 249, 265, 274, - 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, - 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, - 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, - 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, - 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, - 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, - 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, - 253, 69, 0, 0, 176, 177, 178, 0, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, - 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, - 0, 315, 0, 0, 0, 432, 0, 0, 0, 0, - 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, - 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, - 338, 419, 212, 251, 360, 343, 365, 0, 0, 366, - 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, - 430, 442, 205, 231, 332, 394, 422, 385, 312, 405, - 282, 384, 259, 193, 290, 197, 396, 416, 217, 377, - 0, 0, 0, 199, 414, 393, 309, 279, 280, 198, - 0, 359, 238, 257, 229, 328, 411, 412, 228, 444, - 207, 429, 201, 208, 428, 321, 407, 415, 310, 301, - 200, 413, 308, 300, 285, 248, 267, 353, 295, 354, - 268, 317, 316, 318, 0, 195, 0, 390, 423, 445, - 214, 0, 0, 403, 438, 441, 0, 356, 215, 258, - 247, 352, 256, 288, 437, 439, 440, 213, 350, 264, - 320, 209, 270, 386, 284, 293, 0, 0, 337, 368, - 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 202, 289, 0, 357, 254, 443, - 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 203, - 211, 220, 232, 245, 252, 262, 266, 269, 272, 273, - 276, 281, 298, 303, 304, 305, 306, 322, 323, 324, - 327, 330, 331, 333, 335, 336, 339, 345, 346, 347, - 348, 349, 351, 358, 362, 370, 371, 372, 373, 374, - 375, 376, 380, 381, 382, 383, 391, 395, 409, 410, - 420, 431, 435, 263, 417, 436, 0, 297, 0, 0, - 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, - 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, - 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, - 402, 311, 237, 329, 0, 0, 0, 0, 0, 0, - 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, - 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, - 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, - 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 224, 194, 326, 389, 253, 0, 0, 0, 176, 177, - 178, 0, 1425, 0, 0, 0, 0, 0, 0, 216, - 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, - 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 261, 0, 315, 0, 0, 0, 432, - 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, - 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, - 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, - 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, - 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, - 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, - 396, 416, 217, 377, 0, 0, 0, 199, 414, 393, - 309, 279, 280, 198, 0, 359, 238, 257, 229, 328, - 411, 412, 228, 444, 207, 429, 201, 208, 428, 321, - 407, 415, 310, 301, 200, 413, 308, 300, 285, 248, - 267, 353, 295, 354, 268, 317, 316, 318, 0, 195, - 0, 390, 423, 445, 214, 0, 0, 403, 438, 441, - 0, 356, 215, 258, 247, 352, 256, 288, 437, 439, - 440, 213, 350, 264, 320, 209, 270, 386, 284, 293, - 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 202, 289, - 0, 357, 254, 443, 427, 424, 0, 0, 233, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 203, 211, 220, 232, 245, 252, 262, - 266, 269, 272, 273, 276, 281, 298, 303, 304, 305, - 306, 322, 323, 324, 327, 330, 331, 333, 335, 336, - 339, 345, 346, 347, 348, 349, 351, 358, 362, 370, - 371, 372, 373, 374, 375, 376, 380, 381, 382, 383, - 391, 395, 409, 410, 420, 431, 435, 263, 417, 436, - 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, - 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, - 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, - 378, 398, 399, 400, 402, 311, 237, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, - 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, - 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 224, 194, 326, 389, 253, 0, - 0, 0, 176, 177, 178, 0, 1060, 0, 0, 0, - 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, - 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, - 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, - 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, - 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, - 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, - 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, - 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, - 259, 193, 290, 197, 396, 416, 217, 377, 0, 0, - 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, - 238, 257, 229, 328, 411, 412, 228, 444, 207, 429, - 201, 208, 428, 321, 407, 415, 310, 301, 200, 413, - 308, 300, 285, 248, 267, 353, 295, 354, 268, 317, - 316, 318, 0, 195, 0, 390, 423, 445, 214, 0, - 0, 403, 438, 441, 0, 356, 215, 258, 247, 352, - 256, 288, 437, 439, 440, 213, 350, 264, 320, 209, - 270, 386, 284, 293, 0, 0, 337, 368, 218, 421, - 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 202, 289, 0, 357, 254, 443, 427, 424, - 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 192, 203, 211, 220, - 232, 245, 252, 262, 266, 269, 272, 273, 276, 281, - 298, 303, 304, 305, 306, 322, 323, 324, 327, 330, - 331, 333, 335, 336, 339, 345, 346, 347, 348, 349, - 351, 358, 362, 370, 371, 372, 373, 374, 375, 376, - 380, 381, 382, 383, 391, 395, 409, 410, 420, 431, - 435, 263, 417, 436, 0, 297, 0, 0, 299, 249, - 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, - 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, - 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, - 237, 329, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, - 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, - 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, - 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, - 326, 389, 253, 0, 0, 0, 176, 177, 178, 0, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, - 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 261, 0, 315, 0, 0, 0, 432, 0, 0, - 0, 0, 0, 0, 0, 0, 286, 0, 283, 190, - 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, - 0, 367, 338, 419, 212, 251, 360, 343, 365, 0, - 0, 366, 292, 408, 355, 418, 433, 434, 234, 319, - 425, 401, 430, 442, 205, 231, 332, 394, 422, 385, - 312, 405, 282, 384, 259, 193, 290, 197, 396, 416, - 217, 377, 0, 0, 0, 199, 414, 393, 309, 279, - 280, 198, 0, 359, 238, 257, 229, 328, 411, 412, - 228, 444, 207, 429, 201, 208, 428, 321, 407, 415, - 310, 301, 200, 413, 308, 300, 285, 248, 267, 353, - 295, 354, 268, 317, 316, 318, 0, 195, 0, 390, - 423, 445, 214, 0, 0, 403, 438, 441, 0, 356, - 215, 258, 247, 352, 256, 288, 437, 439, 440, 213, - 350, 264, 320, 209, 270, 386, 284, 293, 0, 0, - 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 202, 289, 1328, 357, - 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 203, 211, 220, 232, 245, 252, 262, 266, 269, - 272, 273, 276, 281, 298, 303, 304, 305, 306, 322, - 323, 324, 327, 330, 331, 333, 335, 336, 339, 345, - 346, 347, 348, 349, 351, 358, 362, 370, 371, 372, - 373, 374, 375, 376, 380, 381, 382, 383, 391, 395, - 409, 410, 420, 431, 435, 263, 417, 436, 0, 297, - 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, - 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, - 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, - 399, 400, 402, 311, 237, 329, 0, 1215, 0, 0, - 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, - 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, - 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, - 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 224, 194, 326, 389, 253, 0, 0, 0, - 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, - 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 261, 0, 315, 0, 0, - 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, - 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, - 0, 0, 0, 227, 0, 367, 338, 419, 212, 251, - 360, 343, 365, 0, 0, 366, 292, 408, 355, 418, - 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, - 332, 394, 422, 385, 312, 405, 282, 384, 259, 193, - 290, 197, 396, 416, 217, 377, 0, 0, 0, 199, - 414, 393, 309, 279, 280, 198, 0, 359, 238, 257, - 229, 328, 411, 412, 228, 444, 207, 429, 201, 208, - 428, 321, 407, 415, 310, 301, 200, 413, 308, 300, - 285, 248, 267, 353, 295, 354, 268, 317, 316, 318, - 0, 195, 0, 390, 423, 445, 214, 0, 0, 403, - 438, 441, 0, 356, 215, 258, 247, 352, 256, 288, - 437, 439, 440, 213, 350, 264, 320, 209, 270, 386, - 284, 293, 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 202, 289, 0, 357, 254, 443, 427, 424, 0, 0, - 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 203, 211, 220, 232, 245, - 252, 262, 266, 269, 272, 273, 276, 281, 298, 303, - 304, 305, 306, 322, 323, 324, 327, 330, 331, 333, - 335, 336, 339, 345, 346, 347, 348, 349, 351, 358, - 362, 370, 371, 372, 373, 374, 375, 376, 380, 381, - 382, 383, 391, 395, 409, 410, 420, 431, 435, 263, - 417, 436, 0, 297, 0, 0, 299, 249, 265, 274, - 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, - 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, - 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, - 0, 1213, 0, 0, 0, 0, 0, 0, 240, 0, - 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, - 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, - 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, - 253, 0, 0, 0, 176, 177, 178, 0, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, - 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, - 0, 315, 0, 0, 0, 432, 0, 0, 0, 0, - 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, - 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, - 338, 419, 212, 251, 360, 343, 365, 0, 0, 366, - 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, - 430, 442, 205, 231, 332, 394, 422, 385, 312, 405, - 282, 384, 259, 193, 290, 197, 396, 416, 217, 377, - 0, 0, 0, 199, 414, 393, 309, 279, 280, 198, - 0, 359, 238, 257, 229, 328, 411, 412, 228, 444, - 207, 429, 201, 208, 428, 321, 407, 415, 310, 301, - 200, 413, 308, 300, 285, 248, 267, 353, 295, 354, - 268, 317, 316, 318, 0, 195, 0, 390, 423, 445, - 214, 0, 0, 403, 438, 441, 0, 356, 215, 258, - 247, 352, 256, 288, 437, 439, 440, 213, 350, 264, - 320, 209, 270, 386, 284, 293, 0, 0, 337, 368, - 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 202, 289, 0, 357, 254, 443, - 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 203, - 211, 220, 232, 245, 252, 262, 266, 269, 272, 273, - 276, 281, 298, 303, 304, 305, 306, 322, 323, 324, - 327, 330, 331, 333, 335, 336, 339, 345, 346, 347, - 348, 349, 351, 358, 362, 370, 371, 372, 373, 374, - 375, 376, 380, 381, 382, 383, 391, 395, 409, 410, - 420, 431, 435, 263, 417, 436, 0, 297, 0, 0, - 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, - 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, - 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, - 402, 311, 237, 329, 0, 1211, 0, 0, 0, 0, - 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, - 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, - 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, - 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 224, 194, 326, 389, 253, 0, 0, 0, 176, 177, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, - 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 261, 0, 315, 0, 0, 0, 432, - 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, - 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, - 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, - 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, - 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, - 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, - 396, 416, 217, 377, 0, 0, 0, 199, 414, 393, - 309, 279, 280, 198, 0, 359, 238, 257, 229, 328, - 411, 412, 228, 444, 207, 429, 201, 208, 428, 321, - 407, 415, 310, 301, 200, 413, 308, 300, 285, 248, - 267, 353, 295, 354, 268, 317, 316, 318, 0, 195, - 0, 390, 423, 445, 214, 0, 0, 403, 438, 441, - 0, 356, 215, 258, 247, 352, 256, 288, 437, 439, - 440, 213, 350, 264, 320, 209, 270, 386, 284, 293, - 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 202, 289, - 0, 357, 254, 443, 427, 424, 0, 0, 233, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 203, 211, 220, 232, 245, 252, 262, - 266, 269, 272, 273, 276, 281, 298, 303, 304, 305, - 306, 322, 323, 324, 327, 330, 331, 333, 335, 336, - 339, 345, 346, 347, 348, 349, 351, 358, 362, 370, - 371, 372, 373, 374, 375, 376, 380, 381, 382, 383, - 391, 395, 409, 410, 420, 431, 435, 263, 417, 436, - 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, - 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, - 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, - 378, 398, 399, 400, 402, 311, 237, 329, 0, 1209, - 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, - 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, - 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 224, 194, 326, 389, 253, 0, - 0, 0, 176, 177, 178, 0, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, - 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, - 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, - 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, - 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, - 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, - 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, - 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, - 259, 193, 290, 197, 396, 416, 217, 377, 0, 0, - 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, - 238, 257, 229, 328, 411, 412, 228, 444, 207, 429, - 201, 208, 428, 321, 407, 415, 310, 301, 200, 413, - 308, 300, 285, 248, 267, 353, 295, 354, 268, 317, - 316, 318, 0, 195, 0, 390, 423, 445, 214, 0, - 0, 403, 438, 441, 0, 356, 215, 258, 247, 352, - 256, 288, 437, 439, 440, 213, 350, 264, 320, 209, - 270, 386, 284, 293, 0, 0, 337, 368, 218, 421, - 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 202, 289, 0, 357, 254, 443, 427, 424, - 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 192, 203, 211, 220, - 232, 245, 252, 262, 266, 269, 272, 273, 276, 281, - 298, 303, 304, 305, 306, 322, 323, 324, 327, 330, - 331, 333, 335, 336, 339, 345, 346, 347, 348, 349, - 351, 358, 362, 370, 371, 372, 373, 374, 375, 376, - 380, 381, 382, 383, 391, 395, 409, 410, 420, 431, - 435, 263, 417, 436, 0, 297, 0, 0, 299, 249, - 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, - 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, - 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, - 237, 329, 0, 1207, 0, 0, 0, 0, 0, 0, - 240, 0, 0, 0, 0, 0, 287, 0, 0, 0, - 342, 0, 379, 226, 296, 294, 406, 250, 243, 239, - 225, 271, 302, 340, 397, 334, 0, 291, 0, 0, - 388, 314, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 224, 194, - 326, 389, 253, 0, 0, 0, 176, 177, 178, 0, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 222, - 0, 0, 0, 0, 236, 275, 242, 235, 404, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 261, 0, 315, 0, 0, 0, 432, 0, 0, - 0, 0, 0, 0, 0, 0, 286, 0, 283, 190, - 204, 0, 0, 325, 363, 369, 0, 0, 0, 227, - 0, 367, 338, 419, 212, 251, 360, 343, 365, 0, - 0, 366, 292, 408, 355, 418, 433, 434, 234, 319, - 425, 401, 430, 442, 205, 231, 332, 394, 422, 385, - 312, 405, 282, 384, 259, 193, 290, 197, 396, 416, - 217, 377, 0, 0, 0, 199, 414, 393, 309, 279, - 280, 198, 0, 359, 238, 257, 229, 328, 411, 412, - 228, 444, 207, 429, 201, 208, 428, 321, 407, 415, - 310, 301, 200, 413, 308, 300, 285, 248, 267, 353, - 295, 354, 268, 317, 316, 318, 0, 195, 0, 390, - 423, 445, 214, 0, 0, 403, 438, 441, 0, 356, - 215, 258, 247, 352, 256, 288, 437, 439, 440, 213, - 350, 264, 320, 209, 270, 386, 284, 293, 0, 0, - 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 189, 202, 289, 0, 357, - 254, 443, 427, 424, 0, 0, 233, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 203, 211, 220, 232, 245, 252, 262, 266, 269, - 272, 273, 276, 281, 298, 303, 304, 305, 306, 322, - 323, 324, 327, 330, 331, 333, 335, 336, 339, 345, - 346, 347, 348, 349, 351, 358, 362, 370, 371, 372, - 373, 374, 375, 376, 380, 381, 382, 383, 391, 395, - 409, 410, 420, 431, 435, 263, 417, 436, 0, 297, - 0, 0, 299, 249, 265, 274, 0, 426, 392, 206, - 364, 255, 196, 223, 210, 230, 244, 246, 278, 307, - 313, 341, 344, 260, 241, 221, 361, 219, 378, 398, - 399, 400, 402, 311, 237, 329, 0, 1203, 0, 0, - 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, - 287, 0, 0, 0, 342, 0, 379, 226, 296, 294, - 406, 250, 243, 239, 225, 271, 302, 340, 397, 334, - 0, 291, 0, 0, 388, 314, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 224, 194, 326, 389, 253, 0, 0, 0, - 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 222, 0, 0, 0, 0, 236, 275, - 242, 235, 404, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 261, 0, 315, 0, 0, - 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, - 286, 0, 283, 190, 204, 0, 0, 325, 363, 369, - 0, 0, 0, 227, 0, 367, 338, 419, 212, 251, - 360, 343, 365, 0, 0, 366, 292, 408, 355, 418, - 433, 434, 234, 319, 425, 401, 430, 442, 205, 231, - 332, 394, 422, 385, 312, 405, 282, 384, 259, 193, - 290, 197, 396, 416, 217, 377, 0, 0, 0, 199, - 414, 393, 309, 279, 280, 198, 0, 359, 238, 257, - 229, 328, 411, 412, 228, 444, 207, 429, 201, 208, - 428, 321, 407, 415, 310, 301, 200, 413, 308, 300, - 285, 248, 267, 353, 295, 354, 268, 317, 316, 318, - 0, 195, 0, 390, 423, 445, 214, 0, 0, 403, - 438, 441, 0, 356, 215, 258, 247, 352, 256, 288, - 437, 439, 440, 213, 350, 264, 320, 209, 270, 386, - 284, 293, 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 202, 289, 0, 357, 254, 443, 427, 424, 0, 0, - 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 203, 211, 220, 232, 245, - 252, 262, 266, 269, 272, 273, 276, 281, 298, 303, - 304, 305, 306, 322, 323, 324, 327, 330, 331, 333, - 335, 336, 339, 345, 346, 347, 348, 349, 351, 358, - 362, 370, 371, 372, 373, 374, 375, 376, 380, 381, - 382, 383, 391, 395, 409, 410, 420, 431, 435, 263, - 417, 436, 0, 297, 0, 0, 299, 249, 265, 274, - 0, 426, 392, 206, 364, 255, 196, 223, 210, 230, - 244, 246, 278, 307, 313, 341, 344, 260, 241, 221, - 361, 219, 378, 398, 399, 400, 402, 311, 237, 329, - 0, 1201, 0, 0, 0, 0, 0, 0, 240, 0, - 0, 0, 0, 0, 287, 0, 0, 0, 342, 0, - 379, 226, 296, 294, 406, 250, 243, 239, 225, 271, - 302, 340, 397, 334, 0, 291, 0, 0, 388, 314, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 224, 194, 326, 389, - 253, 0, 0, 0, 176, 177, 178, 0, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 222, 0, 0, - 0, 0, 236, 275, 242, 235, 404, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, - 0, 315, 0, 0, 0, 432, 0, 0, 0, 0, - 0, 0, 0, 0, 286, 0, 283, 190, 204, 0, - 0, 325, 363, 369, 0, 0, 0, 227, 0, 367, - 338, 419, 212, 251, 360, 343, 365, 0, 0, 366, - 292, 408, 355, 418, 433, 434, 234, 319, 425, 401, - 430, 442, 205, 231, 332, 394, 422, 385, 312, 405, - 282, 384, 259, 193, 290, 197, 396, 416, 217, 377, - 0, 0, 0, 199, 414, 393, 309, 279, 280, 198, - 0, 359, 238, 257, 229, 328, 411, 412, 228, 444, - 207, 429, 201, 208, 428, 321, 407, 415, 310, 301, - 200, 413, 308, 300, 285, 248, 267, 353, 295, 354, - 268, 317, 316, 318, 0, 195, 0, 390, 423, 445, - 214, 0, 0, 403, 438, 441, 0, 356, 215, 258, - 247, 352, 256, 288, 437, 439, 440, 213, 350, 264, - 320, 209, 270, 386, 284, 293, 0, 0, 337, 368, - 218, 421, 387, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 202, 289, 0, 357, 254, 443, - 427, 424, 0, 0, 233, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 203, - 211, 220, 232, 245, 252, 262, 266, 269, 272, 273, - 276, 281, 298, 303, 304, 305, 306, 322, 323, 324, - 327, 330, 331, 333, 335, 336, 339, 345, 346, 347, - 348, 349, 351, 358, 362, 370, 371, 372, 373, 374, - 375, 376, 380, 381, 382, 383, 391, 395, 409, 410, - 420, 431, 435, 263, 417, 436, 0, 297, 0, 0, - 299, 249, 265, 274, 0, 426, 392, 206, 364, 255, - 196, 223, 210, 230, 244, 246, 278, 307, 313, 341, - 344, 260, 241, 221, 361, 219, 378, 398, 399, 400, - 402, 311, 237, 329, 0, 1199, 0, 0, 0, 0, - 0, 0, 240, 0, 0, 0, 0, 0, 287, 0, - 0, 0, 342, 0, 379, 226, 296, 294, 406, 250, - 243, 239, 225, 271, 302, 340, 397, 334, 0, 291, - 0, 0, 388, 314, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 224, 194, 326, 389, 253, 0, 0, 0, 176, 177, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 222, 0, 0, 0, 0, 236, 275, 242, 235, - 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 261, 0, 315, 0, 0, 0, 432, - 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, - 283, 190, 204, 0, 0, 325, 363, 369, 0, 0, - 0, 227, 0, 367, 338, 419, 212, 251, 360, 343, - 365, 0, 0, 366, 292, 408, 355, 418, 433, 434, - 234, 319, 425, 401, 430, 442, 205, 231, 332, 394, - 422, 385, 312, 405, 282, 384, 259, 193, 290, 197, - 396, 416, 217, 377, 0, 0, 0, 199, 414, 393, - 309, 279, 280, 198, 0, 359, 238, 257, 229, 328, - 411, 412, 228, 444, 207, 429, 201, 208, 428, 321, - 407, 415, 310, 301, 200, 413, 308, 300, 285, 248, - 267, 353, 295, 354, 268, 317, 316, 318, 0, 195, - 0, 390, 423, 445, 214, 0, 0, 403, 438, 441, - 0, 356, 215, 258, 247, 352, 256, 288, 437, 439, - 440, 213, 350, 264, 320, 209, 270, 386, 284, 293, - 0, 0, 337, 368, 218, 421, 387, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 189, 202, 289, - 0, 357, 254, 443, 427, 424, 0, 0, 233, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 203, 211, 220, 232, 245, 252, 262, - 266, 269, 272, 273, 276, 281, 298, 303, 304, 305, - 306, 322, 323, 324, 327, 330, 331, 333, 335, 336, - 339, 345, 346, 347, 348, 349, 351, 358, 362, 370, - 371, 372, 373, 374, 375, 376, 380, 381, 382, 383, - 391, 395, 409, 410, 420, 431, 435, 263, 417, 436, - 0, 297, 0, 0, 299, 249, 265, 274, 0, 426, - 392, 206, 364, 255, 196, 223, 210, 230, 244, 246, - 278, 307, 313, 341, 344, 260, 241, 221, 361, 219, - 378, 398, 399, 400, 402, 311, 237, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 342, 0, 379, 226, - 296, 294, 406, 250, 243, 239, 225, 271, 302, 340, - 397, 334, 0, 291, 0, 0, 388, 314, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 224, 194, 326, 389, 253, 1174, - 0, 0, 176, 177, 178, 0, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 222, 0, 0, 0, 0, - 236, 275, 242, 235, 404, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 261, 0, 315, - 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, - 0, 0, 286, 0, 283, 190, 204, 0, 0, 325, - 363, 369, 0, 0, 0, 227, 0, 367, 338, 419, - 212, 251, 360, 343, 365, 0, 0, 366, 292, 408, - 355, 418, 433, 434, 234, 319, 425, 401, 430, 442, - 205, 231, 332, 394, 422, 385, 312, 405, 282, 384, - 259, 193, 290, 197, 396, 416, 217, 377, 0, 0, - 0, 199, 414, 393, 309, 279, 280, 198, 0, 359, - 238, 257, 229, 328, 411, 412, 228, 444, 207, 429, - 201, 208, 428, 321, 407, 415, 310, 301, 200, 413, - 308, 300, 285, 248, 267, 353, 295, 354, 268, 317, - 316, 318, 0, 195, 0, 390, 423, 445, 214, 0, - 0, 403, 438, 441, 0, 356, 215, 258, 247, 352, - 256, 288, 437, 439, 440, 213, 350, 264, 320, 209, - 270, 386, 284, 293, 0, 0, 337, 368, 218, 421, - 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 202, 289, 0, 357, 254, 443, 427, 424, - 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 192, 203, 211, 220, - 232, 245, 252, 262, 266, 269, 272, 273, 276, 281, - 298, 303, 304, 305, 306, 322, 323, 324, 327, 330, - 331, 333, 335, 336, 339, 345, 346, 347, 348, 349, - 351, 358, 362, 370, 371, 372, 373, 374, 375, 376, - 380, 381, 382, 383, 391, 395, 409, 410, 420, 431, - 435, 263, 417, 436, 0, 297, 0, 0, 299, 249, - 265, 274, 0, 426, 392, 206, 364, 255, 196, 223, - 210, 230, 244, 246, 278, 307, 313, 341, 344, 260, - 241, 221, 361, 219, 378, 398, 399, 400, 402, 311, - 237, 1073, 0, 0, 0, 0, 0, 0, 329, 0, - 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, - 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, - 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, - 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, - 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, - 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, - 315, 0, 0, 0, 432, 0, 0, 0, 0, 0, - 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, - 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, - 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, - 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, - 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, - 384, 259, 193, 290, 197, 396, 416, 217, 377, 0, - 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, - 359, 238, 257, 229, 328, 411, 412, 228, 444, 207, - 429, 201, 208, 428, 321, 407, 415, 310, 301, 200, - 413, 308, 300, 285, 248, 267, 353, 295, 354, 268, - 317, 316, 318, 0, 195, 0, 390, 423, 445, 214, - 0, 0, 403, 438, 441, 0, 356, 215, 258, 247, - 352, 256, 288, 437, 439, 440, 213, 350, 264, 320, - 209, 270, 386, 284, 293, 0, 0, 337, 368, 218, - 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 202, 289, 0, 357, 254, 443, 427, - 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 203, 211, - 220, 232, 245, 252, 262, 266, 269, 272, 273, 276, - 281, 298, 303, 304, 305, 306, 322, 323, 324, 327, - 330, 331, 333, 335, 336, 339, 345, 346, 347, 348, - 349, 351, 358, 362, 370, 371, 372, 373, 374, 375, - 376, 380, 381, 382, 383, 391, 395, 409, 410, 420, - 431, 435, 263, 417, 436, 0, 297, 0, 0, 299, - 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, - 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, - 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, - 311, 237, 329, 0, 0, 0, 0, 0, 0, 0, - 1064, 240, 0, 0, 0, 0, 0, 287, 0, 0, - 0, 342, 0, 379, 226, 296, 294, 406, 250, 243, - 239, 225, 271, 302, 340, 397, 334, 0, 291, 0, - 0, 388, 314, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 277, 224, - 194, 326, 389, 253, 0, 0, 0, 176, 177, 178, - 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 222, 0, 0, 0, 0, 236, 275, 242, 235, 404, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 261, 0, 315, 0, 0, 0, 432, 0, - 0, 0, 0, 0, 0, 0, 0, 286, 0, 283, - 190, 204, 0, 0, 325, 363, 369, 0, 0, 0, - 227, 0, 367, 338, 419, 212, 251, 360, 343, 365, - 0, 0, 366, 292, 408, 355, 418, 433, 434, 234, - 319, 425, 401, 430, 442, 205, 231, 332, 394, 422, - 385, 312, 405, 282, 384, 259, 193, 290, 197, 396, - 416, 217, 377, 0, 0, 0, 199, 414, 393, 309, - 279, 280, 198, 0, 359, 238, 257, 229, 328, 411, - 412, 228, 444, 207, 429, 201, 208, 428, 321, 407, - 415, 310, 301, 200, 413, 308, 300, 285, 248, 267, - 353, 295, 354, 268, 317, 316, 318, 0, 195, 0, - 390, 423, 445, 214, 0, 0, 403, 438, 441, 0, - 356, 215, 258, 247, 352, 256, 288, 437, 439, 440, - 213, 350, 264, 320, 209, 270, 386, 284, 293, 0, - 0, 337, 368, 218, 421, 387, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 189, 202, 289, 0, - 357, 254, 443, 427, 424, 0, 0, 233, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 203, 211, 220, 232, 245, 252, 262, 266, - 269, 272, 273, 276, 281, 298, 303, 304, 305, 306, - 322, 323, 324, 327, 330, 331, 333, 335, 336, 339, - 345, 346, 347, 348, 349, 351, 358, 362, 370, 371, - 372, 373, 374, 375, 376, 380, 381, 382, 383, 391, - 395, 409, 410, 420, 431, 435, 263, 417, 436, 0, - 297, 0, 0, 299, 249, 265, 274, 0, 426, 392, - 206, 364, 255, 196, 223, 210, 230, 244, 246, 278, - 307, 313, 341, 344, 260, 241, 221, 361, 219, 378, - 398, 399, 400, 402, 311, 237, 329, 0, 0, 0, - 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, - 0, 287, 0, 0, 0, 342, 0, 379, 226, 296, - 294, 406, 250, 243, 239, 225, 271, 302, 340, 397, - 334, 0, 291, 0, 0, 388, 314, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 277, 224, 194, 326, 389, 253, 0, 0, - 0, 176, 177, 178, 0, 922, 0, 0, 0, 0, - 0, 0, 216, 0, 222, 0, 0, 0, 0, 236, - 275, 242, 235, 404, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 261, 0, 315, 0, - 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, - 0, 286, 0, 283, 190, 204, 0, 0, 325, 363, - 369, 0, 0, 0, 227, 0, 367, 338, 419, 212, - 251, 360, 343, 365, 0, 0, 366, 292, 408, 355, - 418, 433, 434, 234, 319, 425, 401, 430, 442, 205, - 231, 332, 394, 422, 385, 312, 405, 282, 384, 259, - 193, 290, 197, 396, 416, 217, 377, 0, 0, 0, - 199, 414, 393, 309, 279, 280, 198, 0, 359, 238, - 257, 229, 328, 411, 412, 228, 444, 207, 429, 201, - 208, 428, 321, 407, 415, 310, 301, 200, 413, 308, - 300, 285, 248, 267, 353, 295, 354, 268, 317, 316, - 318, 0, 195, 0, 390, 423, 445, 214, 0, 0, - 403, 438, 441, 0, 356, 215, 258, 247, 352, 256, - 288, 437, 439, 440, 213, 350, 264, 320, 209, 270, - 386, 284, 293, 0, 0, 337, 368, 218, 421, 387, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 202, 289, 0, 357, 254, 443, 427, 424, 0, - 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 192, 203, 211, 220, 232, - 245, 252, 262, 266, 269, 272, 273, 276, 281, 298, - 303, 304, 305, 306, 322, 323, 324, 327, 330, 331, - 333, 335, 336, 339, 345, 346, 347, 348, 349, 351, - 358, 362, 370, 371, 372, 373, 374, 375, 376, 380, - 381, 382, 383, 391, 395, 409, 410, 420, 431, 435, - 263, 417, 436, 0, 297, 0, 0, 299, 249, 265, - 274, 0, 426, 392, 206, 364, 255, 196, 223, 210, - 230, 244, 246, 278, 307, 313, 341, 344, 260, 241, - 221, 361, 219, 378, 398, 399, 400, 402, 311, 237, - 329, 0, 0, 0, 0, 0, 0, 0, 0, 240, - 0, 0, 0, 0, 0, 287, 0, 0, 0, 342, - 0, 379, 226, 296, 294, 406, 250, 243, 239, 225, - 271, 302, 340, 397, 334, 0, 291, 0, 0, 388, - 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 277, 224, 194, 326, - 389, 253, 0, 0, 0, 176, 177, 178, 0, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 222, 0, - 0, 0, 0, 236, 275, 242, 235, 404, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, - 261, 0, 315, 0, 0, 0, 432, 0, 0, 0, - 0, 0, 0, 0, 0, 286, 0, 283, 190, 204, - 0, 0, 325, 363, 369, 0, 0, 0, 227, 0, - 367, 338, 419, 212, 251, 360, 343, 365, 0, 0, - 366, 292, 408, 355, 418, 433, 434, 234, 319, 425, - 401, 430, 442, 205, 231, 332, 394, 422, 385, 312, - 405, 282, 384, 259, 193, 290, 197, 396, 416, 217, - 377, 0, 0, 0, 199, 414, 393, 309, 279, 280, - 198, 0, 359, 238, 257, 229, 328, 411, 412, 228, - 444, 207, 429, 201, 208, 428, 321, 407, 415, 310, - 301, 200, 413, 308, 300, 285, 248, 267, 353, 295, - 354, 268, 317, 316, 318, 0, 195, 0, 390, 423, - 445, 214, 0, 0, 403, 438, 441, 0, 356, 215, - 258, 247, 352, 256, 288, 437, 439, 440, 213, 350, - 264, 320, 209, 270, 386, 284, 293, 0, 0, 337, - 368, 218, 421, 387, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 189, 202, 289, 0, 357, 254, - 443, 427, 424, 0, 0, 233, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 203, 211, 220, 232, 245, 252, 262, 266, 269, 272, - 273, 276, 281, 298, 303, 304, 305, 306, 322, 323, - 324, 327, 330, 331, 333, 335, 336, 339, 345, 346, - 347, 348, 349, 351, 358, 362, 370, 371, 372, 373, - 374, 375, 376, 380, 381, 382, 383, 391, 395, 409, - 410, 420, 431, 435, 490, 417, 436, 0, 297, 0, - 0, 299, 249, 265, 274, 0, 426, 392, 206, 364, - 255, 196, 223, 210, 230, 244, 246, 278, 307, 313, - 341, 344, 260, 241, 221, 361, 219, 378, 398, 399, - 400, 402, 311, 237, 329, 0, 0, 0, 0, 0, - 0, 0, 0, 240, 0, 0, 0, 0, 0, 287, - 0, 0, 0, 342, 0, 379, 226, 296, 294, 406, - 250, 243, 239, 225, 271, 302, 340, 397, 334, 0, - 291, 0, 0, 388, 314, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 277, 224, 194, 326, 389, 253, 0, 0, 0, 176, - 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 222, 0, 0, 0, 0, 236, 275, 242, - 235, 404, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 261, 0, 315, 0, 184, 0, - 432, 0, 0, 0, 0, 0, 0, 0, 0, 286, - 0, 283, 190, 204, 0, 0, 325, 363, 369, 0, - 0, 0, 227, 0, 367, 338, 419, 212, 251, 360, - 343, 365, 0, 0, 366, 292, 408, 355, 418, 433, - 434, 234, 319, 425, 401, 430, 442, 205, 231, 332, - 394, 422, 385, 312, 405, 282, 384, 259, 193, 290, - 197, 396, 416, 217, 377, 0, 0, 0, 199, 414, - 393, 309, 279, 280, 198, 0, 359, 238, 257, 229, - 328, 411, 412, 228, 444, 207, 429, 201, 208, 428, - 321, 407, 415, 310, 301, 200, 413, 308, 300, 285, - 248, 267, 353, 295, 354, 268, 317, 316, 318, 0, - 195, 0, 390, 423, 445, 214, 0, 0, 403, 438, - 441, 0, 356, 215, 258, 247, 352, 256, 288, 437, - 439, 440, 213, 350, 264, 320, 209, 270, 386, 284, - 293, 0, 0, 337, 368, 218, 421, 387, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 202, - 289, 0, 357, 254, 443, 427, 424, 0, 0, 233, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 203, 211, 220, 232, 245, 252, - 262, 266, 269, 272, 273, 276, 281, 298, 303, 304, - 305, 306, 322, 323, 324, 327, 330, 331, 333, 335, - 336, 339, 345, 346, 347, 348, 349, 351, 358, 362, - 370, 371, 372, 373, 374, 375, 376, 380, 381, 382, - 383, 391, 395, 409, 410, 420, 431, 435, 263, 417, - 436, 0, 297, 0, 0, 299, 249, 265, 274, 0, - 426, 392, 206, 364, 255, 196, 223, 210, 230, 244, - 246, 278, 307, 313, 341, 344, 260, 241, 221, 361, - 219, 378, 398, 399, 400, 402, 311, 237, 329, 0, - 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, - 0, 0, 0, 287, 0, 0, 0, 342, 0, 379, - 226, 296, 294, 406, 250, 243, 239, 225, 271, 302, - 340, 397, 334, 0, 291, 0, 0, 388, 314, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 277, 224, 194, 326, 389, 253, - 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 216, 0, 222, 0, 0, 0, - 0, 236, 275, 242, 235, 404, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, - 315, 0, 0, 0, 432, 0, 0, 0, 0, 0, - 0, 0, 0, 286, 0, 283, 190, 204, 0, 0, - 325, 363, 369, 0, 0, 0, 227, 0, 367, 338, - 419, 212, 251, 360, 343, 365, 0, 0, 366, 292, - 408, 355, 418, 433, 434, 234, 319, 425, 401, 430, - 442, 205, 231, 332, 394, 422, 385, 312, 405, 282, - 384, 259, 193, 290, 197, 396, 416, 217, 377, 0, - 0, 0, 199, 414, 393, 309, 279, 280, 198, 0, - 359, 238, 257, 229, 328, 411, 412, 228, 444, 207, - 429, 201, 208, 428, 321, 407, 415, 310, 301, 200, - 413, 308, 300, 285, 248, 267, 353, 295, 354, 268, - 317, 316, 318, 0, 195, 0, 390, 423, 445, 214, - 0, 0, 403, 438, 441, 0, 356, 215, 258, 247, - 352, 256, 288, 437, 439, 440, 213, 350, 264, 320, - 209, 270, 386, 284, 293, 0, 0, 337, 368, 218, - 421, 387, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 202, 289, 0, 357, 254, 443, 427, - 424, 0, 0, 233, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 192, 203, 211, - 220, 232, 245, 252, 262, 266, 269, 272, 273, 276, - 281, 298, 303, 304, 305, 306, 322, 323, 324, 327, - 330, 331, 333, 335, 336, 339, 345, 346, 347, 348, - 349, 351, 358, 362, 370, 371, 372, 373, 374, 375, - 376, 380, 381, 382, 383, 391, 395, 409, 410, 420, - 431, 435, 263, 417, 436, 0, 297, 0, 0, 299, - 249, 265, 274, 0, 426, 392, 206, 364, 255, 196, - 223, 210, 230, 244, 246, 278, 307, 313, 341, 344, - 260, 241, 221, 361, 219, 378, 398, 399, 400, 402, - 311, 237, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1988, + 0, 0, 0, 0, 0, 0, 1994, 1995, 1996, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1889, 0, 33, 0, 1889, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1889, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 732, 719, 33, 2125, 668, 735, 639, + 657, 744, 659, 662, 702, 619, 681, 330, 654, 0, + 643, 615, 650, 616, 641, 670, 241, 674, 638, 721, + 684, 734, 288, 0, 621, 644, 343, 704, 380, 227, + 297, 295, 408, 251, 244, 240, 226, 272, 303, 341, + 398, 335, 741, 292, 691, 0, 389, 315, 0, 0, + 0, 672, 724, 679, 715, 667, 703, 628, 690, 736, + 655, 699, 737, 278, 225, 195, 327, 390, 254, 0, + 0, 0, 177, 178, 179, 0, 2132, 2133, 0, 0, + 0, 0, 0, 217, 0, 223, 696, 731, 652, 698, + 237, 276, 243, 236, 405, 701, 747, 614, 693, 0, + 617, 620, 743, 727, 647, 648, 0, 0, 0, 0, + 0, 0, 0, 671, 680, 712, 665, 0, 0, 0, + 0, 0, 0, 0, 0, 645, 0, 689, 0, 0, + 0, 624, 618, 0, 0, 0, 0, 669, 0, 0, + 0, 627, 0, 646, 713, 0, 612, 262, 622, 316, + 717, 726, 666, 434, 730, 664, 663, 733, 708, 625, + 723, 658, 287, 623, 284, 191, 205, 0, 656, 326, + 364, 370, 722, 642, 651, 228, 649, 368, 339, 421, + 213, 252, 361, 344, 366, 688, 706, 367, 293, 410, + 356, 420, 435, 436, 235, 320, 427, 402, 432, 444, + 206, 232, 333, 395, 424, 386, 313, 406, 407, 283, + 385, 260, 194, 291, 198, 397, 418, 218, 378, 0, + 0, 0, 200, 416, 394, 310, 280, 281, 199, 0, + 360, 239, 258, 230, 329, 413, 414, 229, 446, 208, + 431, 202, 209, 430, 322, 409, 417, 311, 302, 201, + 415, 309, 301, 286, 249, 268, 354, 296, 355, 269, + 318, 317, 319, 0, 196, 0, 391, 425, 447, 215, + 637, 718, 404, 440, 443, 0, 357, 216, 259, 248, + 353, 257, 289, 439, 441, 442, 214, 351, 265, 321, + 210, 271, 387, 285, 294, 710, 746, 338, 369, 219, + 423, 388, 632, 636, 630, 631, 682, 683, 633, 738, + 739, 740, 714, 626, 0, 634, 635, 0, 720, 728, + 729, 687, 190, 203, 290, 742, 358, 255, 445, 429, + 426, 613, 629, 234, 640, 0, 0, 653, 660, 661, + 673, 675, 676, 677, 678, 686, 694, 695, 697, 705, + 707, 709, 711, 716, 725, 745, 192, 193, 204, 212, + 221, 233, 246, 253, 263, 267, 270, 273, 274, 277, + 282, 299, 304, 305, 306, 307, 323, 324, 325, 328, + 331, 332, 334, 336, 337, 340, 346, 347, 348, 349, + 350, 352, 359, 363, 371, 372, 373, 374, 375, 376, + 377, 381, 382, 383, 384, 392, 396, 411, 412, 422, + 433, 437, 264, 419, 438, 0, 298, 685, 692, 300, + 250, 266, 275, 700, 428, 393, 207, 365, 256, 197, + 224, 211, 231, 245, 247, 279, 308, 314, 342, 345, + 261, 242, 222, 362, 220, 379, 399, 400, 401, 403, + 312, 238, 732, 719, 0, 0, 668, 735, 639, 657, + 744, 659, 662, 702, 619, 681, 330, 654, 0, 643, + 615, 650, 616, 641, 670, 241, 674, 638, 721, 684, + 734, 288, 0, 621, 644, 343, 704, 380, 227, 297, + 295, 408, 251, 244, 240, 226, 272, 303, 341, 398, + 335, 741, 292, 691, 0, 389, 315, 0, 0, 0, + 672, 724, 679, 715, 667, 703, 628, 690, 736, 655, + 699, 737, 278, 225, 195, 327, 390, 254, 0, 0, + 0, 177, 178, 179, 0, 0, 0, 0, 0, 0, + 0, 0, 217, 0, 223, 696, 731, 652, 698, 237, + 276, 243, 236, 405, 701, 747, 614, 693, 0, 617, + 620, 743, 727, 647, 648, 0, 0, 0, 0, 0, + 0, 0, 671, 680, 712, 665, 0, 0, 0, 0, + 0, 0, 1881, 0, 645, 0, 689, 0, 0, 0, + 624, 618, 0, 0, 0, 0, 669, 0, 0, 0, + 627, 0, 646, 713, 0, 612, 262, 622, 316, 717, + 726, 666, 434, 730, 664, 663, 733, 708, 625, 723, + 658, 287, 623, 284, 191, 205, 0, 656, 326, 364, + 370, 722, 642, 651, 228, 649, 368, 339, 421, 213, + 252, 361, 344, 366, 688, 706, 367, 293, 410, 356, + 420, 435, 436, 235, 320, 427, 402, 432, 444, 206, + 232, 333, 395, 424, 386, 313, 406, 407, 283, 385, + 260, 194, 291, 198, 397, 418, 218, 378, 0, 0, + 0, 200, 416, 394, 310, 280, 281, 199, 0, 360, + 239, 258, 230, 329, 413, 414, 229, 446, 208, 431, + 202, 209, 430, 322, 409, 417, 311, 302, 201, 415, + 309, 301, 286, 249, 268, 354, 296, 355, 269, 318, + 317, 319, 0, 196, 0, 391, 425, 447, 215, 637, + 718, 404, 440, 443, 0, 357, 216, 259, 248, 353, + 257, 289, 439, 441, 442, 214, 351, 265, 321, 210, + 271, 387, 285, 294, 710, 746, 338, 369, 219, 423, + 388, 632, 636, 630, 631, 682, 683, 633, 738, 739, + 740, 714, 626, 0, 634, 635, 0, 720, 728, 729, + 687, 190, 203, 290, 742, 358, 255, 445, 429, 426, + 613, 629, 234, 640, 0, 0, 653, 660, 661, 673, + 675, 676, 677, 678, 686, 694, 695, 697, 705, 707, + 709, 711, 716, 725, 745, 192, 193, 204, 212, 221, + 233, 246, 253, 263, 267, 270, 273, 274, 277, 282, + 299, 304, 305, 306, 307, 323, 324, 325, 328, 331, + 332, 334, 336, 337, 340, 346, 347, 348, 349, 350, + 352, 359, 363, 371, 372, 373, 374, 375, 376, 377, + 381, 382, 383, 384, 392, 396, 411, 412, 422, 433, + 437, 264, 419, 438, 0, 298, 685, 692, 300, 250, + 266, 275, 700, 428, 393, 207, 365, 256, 197, 224, + 211, 231, 245, 247, 279, 308, 314, 342, 345, 261, + 242, 222, 362, 220, 379, 399, 400, 401, 403, 312, + 238, 732, 719, 0, 0, 668, 735, 639, 657, 744, + 659, 662, 702, 619, 681, 330, 654, 0, 643, 615, + 650, 616, 641, 670, 241, 674, 638, 721, 684, 734, + 288, 0, 621, 644, 343, 704, 380, 227, 297, 295, + 408, 251, 244, 240, 226, 272, 303, 341, 398, 335, + 741, 292, 691, 0, 389, 315, 0, 0, 0, 672, + 724, 679, 715, 667, 703, 628, 690, 736, 655, 699, + 737, 278, 225, 195, 327, 390, 254, 0, 0, 0, + 177, 178, 179, 0, 0, 0, 0, 0, 0, 0, + 0, 217, 0, 223, 696, 731, 652, 698, 237, 276, + 243, 236, 405, 701, 747, 614, 693, 0, 617, 620, + 743, 727, 647, 648, 0, 0, 0, 0, 0, 0, + 0, 671, 680, 712, 665, 0, 0, 0, 0, 0, + 0, 1736, 0, 645, 0, 689, 0, 0, 0, 624, + 618, 0, 0, 0, 0, 669, 0, 0, 0, 627, + 0, 646, 713, 0, 612, 262, 622, 316, 717, 726, + 666, 434, 730, 664, 663, 733, 708, 625, 723, 658, + 287, 623, 284, 191, 205, 0, 656, 326, 364, 370, + 722, 642, 651, 228, 649, 368, 339, 421, 213, 252, + 361, 344, 366, 688, 706, 367, 293, 410, 356, 420, + 435, 436, 235, 320, 427, 402, 432, 444, 206, 232, + 333, 395, 424, 386, 313, 406, 407, 283, 385, 260, + 194, 291, 198, 397, 418, 218, 378, 0, 0, 0, + 200, 416, 394, 310, 280, 281, 199, 0, 360, 239, + 258, 230, 329, 413, 414, 229, 446, 208, 431, 202, + 209, 430, 322, 409, 417, 311, 302, 201, 415, 309, + 301, 286, 249, 268, 354, 296, 355, 269, 318, 317, + 319, 0, 196, 0, 391, 425, 447, 215, 637, 718, + 404, 440, 443, 0, 357, 216, 259, 248, 353, 257, + 289, 439, 441, 442, 214, 351, 265, 321, 210, 271, + 387, 285, 294, 710, 746, 338, 369, 219, 423, 388, + 632, 636, 630, 631, 682, 683, 633, 738, 739, 740, + 714, 626, 0, 634, 635, 0, 720, 728, 729, 687, + 190, 203, 290, 742, 358, 255, 445, 429, 426, 613, + 629, 234, 640, 0, 0, 653, 660, 661, 673, 675, + 676, 677, 678, 686, 694, 695, 697, 705, 707, 709, + 711, 716, 725, 745, 192, 193, 204, 212, 221, 233, + 246, 253, 263, 267, 270, 273, 274, 277, 282, 299, + 304, 305, 306, 307, 323, 324, 325, 328, 331, 332, + 334, 336, 337, 340, 346, 347, 348, 349, 350, 352, + 359, 363, 371, 372, 373, 374, 375, 376, 377, 381, + 382, 383, 384, 392, 396, 411, 412, 422, 433, 437, + 264, 419, 438, 0, 298, 685, 692, 300, 250, 266, + 275, 700, 428, 393, 207, 365, 256, 197, 224, 211, + 231, 245, 247, 279, 308, 314, 342, 345, 261, 242, + 222, 362, 220, 379, 399, 400, 401, 403, 312, 238, + 732, 719, 0, 0, 668, 735, 639, 657, 744, 659, + 662, 702, 619, 681, 330, 654, 0, 643, 615, 650, + 616, 641, 670, 241, 674, 638, 721, 684, 734, 288, + 0, 621, 644, 343, 704, 380, 227, 297, 295, 408, + 251, 244, 240, 226, 272, 303, 341, 398, 335, 741, + 292, 691, 0, 389, 315, 0, 0, 0, 672, 724, + 679, 715, 667, 703, 628, 690, 736, 655, 699, 737, + 278, 225, 195, 327, 390, 254, 0, 0, 0, 177, + 178, 179, 0, 0, 0, 0, 0, 0, 0, 0, + 217, 0, 223, 696, 731, 652, 698, 237, 276, 243, + 236, 405, 701, 747, 614, 693, 0, 617, 620, 743, + 727, 647, 648, 0, 0, 0, 0, 0, 0, 0, + 671, 680, 712, 665, 0, 0, 0, 0, 0, 0, + 1453, 0, 645, 0, 689, 0, 0, 0, 624, 618, + 0, 0, 0, 0, 669, 0, 0, 0, 627, 0, + 646, 713, 0, 612, 262, 622, 316, 717, 726, 666, + 434, 730, 664, 663, 733, 708, 625, 723, 658, 287, + 623, 284, 191, 205, 0, 656, 326, 364, 370, 722, + 642, 651, 228, 649, 368, 339, 421, 213, 252, 361, + 344, 366, 688, 706, 367, 293, 410, 356, 420, 435, + 436, 235, 320, 427, 402, 432, 444, 206, 232, 333, + 395, 424, 386, 313, 406, 407, 283, 385, 260, 194, + 291, 198, 397, 418, 218, 378, 0, 0, 0, 200, + 416, 394, 310, 280, 281, 199, 0, 360, 239, 258, + 230, 329, 413, 414, 229, 446, 208, 431, 202, 209, + 430, 322, 409, 417, 311, 302, 201, 415, 309, 301, + 286, 249, 268, 354, 296, 355, 269, 318, 317, 319, + 0, 196, 0, 391, 425, 447, 215, 637, 718, 404, + 440, 443, 0, 357, 216, 259, 248, 353, 257, 289, + 439, 441, 442, 214, 351, 265, 321, 210, 271, 387, + 285, 294, 710, 746, 338, 369, 219, 423, 388, 632, + 636, 630, 631, 682, 683, 633, 738, 739, 740, 714, + 626, 0, 634, 635, 0, 720, 728, 729, 687, 190, + 203, 290, 742, 358, 255, 445, 429, 426, 613, 629, + 234, 640, 0, 0, 653, 660, 661, 673, 675, 676, + 677, 678, 686, 694, 695, 697, 705, 707, 709, 711, + 716, 725, 745, 192, 193, 204, 212, 221, 233, 246, + 253, 263, 267, 270, 273, 274, 277, 282, 299, 304, + 305, 306, 307, 323, 324, 325, 328, 331, 332, 334, + 336, 337, 340, 346, 347, 348, 349, 350, 352, 359, + 363, 371, 372, 373, 374, 375, 376, 377, 381, 382, + 383, 384, 392, 396, 411, 412, 422, 433, 437, 264, + 419, 438, 0, 298, 685, 692, 300, 250, 266, 275, + 700, 428, 393, 207, 365, 256, 197, 224, 211, 231, + 245, 247, 279, 308, 314, 342, 345, 261, 242, 222, + 362, 220, 379, 399, 400, 401, 403, 312, 238, 732, + 719, 0, 0, 668, 735, 639, 657, 744, 659, 662, + 702, 619, 681, 330, 654, 0, 643, 615, 650, 616, + 641, 670, 241, 674, 638, 721, 684, 734, 288, 0, + 621, 644, 343, 704, 380, 227, 297, 295, 408, 251, + 244, 240, 226, 272, 303, 341, 398, 335, 741, 292, + 691, 0, 389, 315, 0, 0, 0, 672, 724, 679, + 715, 667, 703, 628, 690, 736, 655, 699, 737, 278, + 225, 195, 327, 390, 254, 69, 0, 0, 177, 178, + 179, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 223, 696, 731, 652, 698, 237, 276, 243, 236, + 405, 701, 747, 614, 693, 0, 617, 620, 743, 727, + 647, 648, 0, 0, 0, 0, 0, 0, 0, 671, + 680, 712, 665, 0, 0, 0, 0, 0, 0, 0, + 0, 645, 0, 689, 0, 0, 0, 624, 618, 0, + 0, 0, 0, 669, 0, 0, 0, 627, 0, 646, + 713, 0, 612, 262, 622, 316, 717, 726, 666, 434, + 730, 664, 663, 733, 708, 625, 723, 658, 287, 623, + 284, 191, 205, 0, 656, 326, 364, 370, 722, 642, + 651, 228, 649, 368, 339, 421, 213, 252, 361, 344, + 366, 688, 706, 367, 293, 410, 356, 420, 435, 436, + 235, 320, 427, 402, 432, 444, 206, 232, 333, 395, + 424, 386, 313, 406, 407, 283, 385, 260, 194, 291, + 198, 397, 418, 218, 378, 0, 0, 0, 200, 416, + 394, 310, 280, 281, 199, 0, 360, 239, 258, 230, + 329, 413, 414, 229, 446, 208, 431, 202, 209, 430, + 322, 409, 417, 311, 302, 201, 415, 309, 301, 286, + 249, 268, 354, 296, 355, 269, 318, 317, 319, 0, + 196, 0, 391, 425, 447, 215, 637, 718, 404, 440, + 443, 0, 357, 216, 259, 248, 353, 257, 289, 439, + 441, 442, 214, 351, 265, 321, 210, 271, 387, 285, + 294, 710, 746, 338, 369, 219, 423, 388, 632, 636, + 630, 631, 682, 683, 633, 738, 739, 740, 714, 626, + 0, 634, 635, 0, 720, 728, 729, 687, 190, 203, + 290, 742, 358, 255, 445, 429, 426, 613, 629, 234, + 640, 0, 0, 653, 660, 661, 673, 675, 676, 677, + 678, 686, 694, 695, 697, 705, 707, 709, 711, 716, + 725, 745, 192, 193, 204, 212, 221, 233, 246, 253, + 263, 267, 270, 273, 274, 277, 282, 299, 304, 305, + 306, 307, 323, 324, 325, 328, 331, 332, 334, 336, + 337, 340, 346, 347, 348, 349, 350, 352, 359, 363, + 371, 372, 373, 374, 375, 376, 377, 381, 382, 383, + 384, 392, 396, 411, 412, 422, 433, 437, 264, 419, + 438, 0, 298, 685, 692, 300, 250, 266, 275, 700, + 428, 393, 207, 365, 256, 197, 224, 211, 231, 245, + 247, 279, 308, 314, 342, 345, 261, 242, 222, 362, + 220, 379, 399, 400, 401, 403, 312, 238, 732, 719, + 0, 0, 668, 735, 639, 657, 744, 659, 662, 702, + 619, 681, 330, 654, 0, 643, 615, 650, 616, 641, + 670, 241, 674, 638, 721, 684, 734, 288, 0, 621, + 644, 343, 704, 380, 227, 297, 295, 408, 251, 244, + 240, 226, 272, 303, 341, 398, 335, 741, 292, 691, + 0, 389, 315, 0, 0, 0, 672, 724, 679, 715, + 667, 703, 628, 690, 736, 655, 699, 737, 278, 225, + 195, 327, 390, 254, 0, 0, 0, 177, 178, 179, + 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, + 223, 696, 731, 652, 698, 237, 276, 243, 236, 405, + 701, 747, 614, 693, 0, 617, 620, 743, 727, 647, + 648, 0, 0, 0, 0, 0, 0, 0, 671, 680, + 712, 665, 0, 0, 0, 0, 0, 0, 0, 0, + 645, 0, 689, 0, 0, 0, 624, 618, 0, 0, + 0, 0, 669, 0, 0, 0, 627, 0, 646, 713, + 0, 612, 262, 622, 316, 717, 726, 666, 434, 730, + 664, 663, 733, 708, 625, 723, 658, 287, 623, 284, + 191, 205, 0, 656, 326, 364, 370, 722, 642, 651, + 228, 649, 368, 339, 421, 213, 252, 361, 344, 366, + 688, 706, 367, 293, 410, 356, 420, 435, 436, 235, + 320, 427, 402, 432, 444, 206, 232, 333, 395, 424, + 386, 313, 406, 407, 283, 385, 260, 194, 291, 198, + 397, 418, 218, 378, 0, 0, 0, 200, 416, 394, + 310, 280, 281, 199, 0, 360, 239, 258, 230, 329, + 413, 414, 229, 446, 208, 431, 202, 209, 430, 322, + 409, 417, 311, 302, 201, 415, 309, 301, 286, 249, + 268, 354, 296, 355, 269, 318, 317, 319, 0, 196, + 0, 391, 425, 447, 215, 637, 718, 404, 440, 443, + 0, 357, 216, 259, 248, 353, 257, 289, 439, 441, + 442, 214, 351, 265, 321, 210, 271, 387, 285, 294, + 710, 746, 338, 369, 219, 423, 388, 632, 636, 630, + 631, 682, 683, 633, 738, 739, 740, 714, 626, 0, + 634, 635, 0, 720, 728, 729, 687, 190, 203, 290, + 742, 358, 255, 445, 429, 426, 613, 629, 234, 640, + 0, 0, 653, 660, 661, 673, 675, 676, 677, 678, + 686, 694, 695, 697, 705, 707, 709, 711, 716, 725, + 745, 192, 193, 204, 212, 221, 233, 246, 253, 263, + 267, 270, 273, 274, 277, 282, 299, 304, 305, 306, + 307, 323, 324, 325, 328, 331, 332, 334, 336, 337, + 340, 346, 347, 348, 349, 350, 352, 359, 363, 371, + 372, 373, 374, 375, 376, 377, 381, 382, 383, 384, + 392, 396, 411, 412, 422, 433, 437, 264, 419, 438, + 0, 298, 685, 692, 300, 250, 266, 275, 700, 428, + 393, 207, 365, 256, 197, 224, 211, 231, 245, 247, + 279, 308, 314, 342, 345, 261, 242, 222, 362, 220, + 379, 399, 400, 401, 403, 312, 238, 732, 719, 0, + 0, 668, 735, 639, 657, 744, 659, 662, 702, 619, + 681, 330, 654, 0, 643, 615, 650, 616, 641, 670, + 241, 674, 638, 721, 684, 734, 288, 0, 621, 644, + 343, 704, 380, 227, 297, 295, 408, 251, 244, 240, + 226, 272, 303, 341, 398, 335, 741, 292, 691, 0, + 389, 315, 0, 0, 0, 672, 724, 679, 715, 667, + 703, 628, 690, 736, 655, 699, 737, 278, 225, 195, + 327, 390, 254, 0, 0, 0, 177, 178, 179, 0, + 0, 0, 0, 0, 0, 0, 0, 217, 0, 223, + 696, 731, 652, 698, 237, 276, 243, 236, 405, 701, + 747, 614, 693, 0, 617, 620, 743, 727, 647, 648, + 0, 0, 0, 0, 0, 0, 0, 671, 680, 712, + 665, 0, 0, 0, 0, 0, 0, 0, 0, 645, + 0, 689, 0, 0, 0, 624, 618, 0, 0, 0, + 0, 669, 0, 0, 0, 627, 0, 646, 713, 0, + 612, 262, 622, 316, 717, 726, 666, 434, 730, 664, + 663, 733, 708, 625, 723, 658, 287, 623, 284, 191, + 205, 0, 656, 326, 364, 370, 722, 642, 651, 228, + 649, 368, 339, 421, 213, 252, 361, 344, 366, 688, + 706, 367, 293, 410, 356, 420, 435, 436, 235, 320, + 427, 402, 432, 444, 206, 232, 333, 395, 424, 386, + 313, 406, 407, 283, 385, 260, 194, 291, 198, 397, + 418, 218, 378, 0, 0, 0, 200, 416, 394, 310, + 280, 281, 199, 0, 360, 239, 258, 230, 329, 413, + 414, 229, 446, 208, 431, 202, 749, 430, 322, 409, + 417, 311, 302, 201, 415, 309, 301, 286, 249, 268, + 354, 296, 355, 269, 318, 317, 319, 0, 196, 0, + 391, 425, 447, 215, 637, 718, 404, 440, 443, 0, + 357, 216, 259, 248, 353, 257, 289, 439, 441, 442, + 214, 351, 265, 611, 748, 605, 604, 285, 294, 710, + 746, 338, 369, 219, 423, 388, 632, 636, 630, 631, + 682, 683, 633, 738, 739, 740, 714, 626, 0, 634, + 635, 0, 720, 728, 729, 687, 190, 203, 290, 742, + 358, 255, 445, 429, 426, 613, 629, 234, 640, 0, + 0, 653, 660, 661, 673, 675, 676, 677, 678, 686, + 694, 695, 697, 705, 707, 709, 711, 716, 725, 745, + 192, 193, 204, 212, 221, 233, 246, 253, 263, 267, + 270, 273, 274, 277, 282, 299, 304, 305, 306, 307, + 323, 324, 325, 328, 331, 332, 334, 336, 337, 340, + 346, 347, 348, 349, 350, 352, 359, 363, 371, 372, + 373, 374, 375, 376, 377, 381, 382, 383, 384, 392, + 396, 411, 412, 422, 433, 437, 264, 419, 438, 0, + 298, 685, 692, 300, 250, 266, 275, 700, 428, 393, + 207, 365, 256, 197, 224, 211, 231, 245, 247, 279, + 308, 314, 342, 345, 261, 242, 222, 362, 220, 379, + 399, 400, 401, 403, 312, 238, 732, 719, 0, 0, + 668, 735, 639, 657, 744, 659, 662, 702, 619, 681, + 330, 654, 0, 643, 615, 650, 616, 641, 670, 241, + 674, 638, 721, 684, 734, 288, 0, 621, 644, 343, + 704, 380, 227, 297, 295, 408, 251, 244, 240, 226, + 272, 303, 341, 398, 335, 741, 292, 691, 0, 389, + 315, 0, 0, 0, 672, 724, 679, 715, 667, 703, + 628, 690, 736, 655, 699, 737, 278, 225, 195, 327, + 390, 254, 0, 0, 0, 177, 178, 179, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 0, 223, 696, + 731, 652, 698, 237, 276, 243, 236, 405, 701, 747, + 614, 693, 0, 617, 620, 743, 727, 647, 648, 0, + 0, 0, 0, 0, 0, 0, 671, 680, 712, 665, + 0, 0, 0, 0, 0, 0, 0, 0, 645, 0, + 689, 0, 0, 0, 624, 618, 0, 0, 0, 0, + 669, 0, 0, 0, 627, 0, 646, 713, 0, 612, + 262, 622, 316, 717, 726, 666, 434, 730, 664, 663, + 733, 708, 625, 723, 658, 287, 623, 284, 191, 205, + 0, 656, 326, 364, 370, 722, 642, 651, 228, 649, + 368, 339, 421, 213, 252, 361, 344, 366, 688, 706, + 367, 293, 410, 356, 420, 435, 436, 235, 320, 427, + 402, 432, 444, 206, 232, 333, 395, 424, 386, 313, + 406, 407, 283, 385, 260, 194, 291, 198, 397, 1082, + 218, 378, 0, 0, 0, 200, 416, 394, 310, 280, + 281, 199, 0, 360, 239, 258, 230, 329, 413, 414, + 229, 446, 208, 431, 202, 749, 430, 322, 409, 417, + 311, 302, 201, 415, 309, 301, 286, 249, 268, 354, + 296, 355, 269, 318, 317, 319, 0, 196, 0, 391, + 425, 447, 215, 637, 718, 404, 440, 443, 0, 357, + 216, 259, 248, 353, 257, 289, 439, 441, 442, 214, + 351, 265, 611, 748, 605, 604, 285, 294, 710, 746, + 338, 369, 219, 423, 388, 632, 636, 630, 631, 682, + 683, 633, 738, 739, 740, 714, 626, 0, 634, 635, + 0, 720, 728, 729, 687, 190, 203, 290, 742, 358, + 255, 445, 429, 426, 613, 629, 234, 640, 0, 0, + 653, 660, 661, 673, 675, 676, 677, 678, 686, 694, + 695, 697, 705, 707, 709, 711, 716, 725, 745, 192, + 193, 204, 212, 221, 233, 246, 253, 263, 267, 270, + 273, 274, 277, 282, 299, 304, 305, 306, 307, 323, + 324, 325, 328, 331, 332, 334, 336, 337, 340, 346, + 347, 348, 349, 350, 352, 359, 363, 371, 372, 373, + 374, 375, 376, 377, 381, 382, 383, 384, 392, 396, + 411, 412, 422, 433, 437, 264, 419, 438, 0, 298, + 685, 692, 300, 250, 266, 275, 700, 428, 393, 207, + 365, 256, 197, 224, 211, 231, 245, 247, 279, 308, + 314, 342, 345, 261, 242, 222, 362, 220, 379, 399, + 400, 401, 403, 312, 238, 732, 719, 0, 0, 668, + 735, 639, 657, 744, 659, 662, 702, 619, 681, 330, + 654, 0, 643, 615, 650, 616, 641, 670, 241, 674, + 638, 721, 684, 734, 288, 0, 621, 644, 343, 704, + 380, 227, 297, 295, 408, 251, 244, 240, 226, 272, + 303, 341, 398, 335, 741, 292, 691, 0, 389, 315, + 0, 0, 0, 672, 724, 679, 715, 667, 703, 628, + 690, 736, 655, 699, 737, 278, 225, 195, 327, 390, + 254, 0, 0, 0, 177, 178, 179, 0, 0, 0, + 0, 0, 0, 0, 0, 217, 0, 223, 696, 731, + 652, 698, 237, 276, 243, 236, 405, 701, 747, 614, + 693, 0, 617, 620, 743, 727, 647, 648, 0, 0, + 0, 0, 0, 0, 0, 671, 680, 712, 665, 0, + 0, 0, 0, 0, 0, 0, 0, 645, 0, 689, + 0, 0, 0, 624, 618, 0, 0, 0, 0, 669, + 0, 0, 0, 627, 0, 646, 713, 0, 612, 262, + 622, 316, 717, 726, 666, 434, 730, 664, 663, 733, + 708, 625, 723, 658, 287, 623, 284, 191, 205, 0, + 656, 326, 364, 370, 722, 642, 651, 228, 649, 368, + 339, 421, 213, 252, 361, 344, 366, 688, 706, 367, + 293, 410, 356, 420, 435, 436, 235, 320, 427, 402, + 432, 444, 206, 232, 333, 395, 424, 386, 313, 406, + 407, 283, 385, 260, 194, 291, 198, 397, 602, 218, + 378, 0, 0, 0, 200, 416, 394, 310, 280, 281, + 199, 0, 360, 239, 258, 230, 329, 413, 414, 229, + 446, 208, 431, 202, 749, 430, 322, 409, 417, 311, + 302, 201, 415, 309, 301, 286, 249, 268, 354, 296, + 355, 269, 318, 317, 319, 0, 196, 0, 391, 425, + 447, 215, 637, 718, 404, 440, 443, 0, 357, 216, + 259, 248, 353, 257, 289, 439, 441, 442, 214, 351, + 265, 611, 748, 605, 604, 285, 294, 710, 746, 338, + 369, 219, 423, 388, 632, 636, 630, 631, 682, 683, + 633, 738, 739, 740, 714, 626, 0, 634, 635, 0, + 720, 728, 729, 687, 190, 203, 290, 742, 358, 255, + 445, 429, 426, 613, 629, 234, 640, 0, 0, 653, + 660, 661, 673, 675, 676, 677, 678, 686, 694, 695, + 697, 705, 707, 709, 711, 716, 725, 745, 192, 193, + 204, 212, 221, 233, 246, 253, 263, 267, 270, 273, + 274, 277, 282, 299, 304, 305, 306, 307, 323, 324, + 325, 328, 331, 332, 334, 336, 337, 340, 346, 347, + 348, 349, 350, 352, 359, 363, 371, 372, 373, 374, + 375, 376, 377, 381, 382, 383, 384, 392, 396, 411, + 412, 422, 433, 437, 264, 419, 438, 0, 298, 685, + 692, 300, 250, 266, 275, 700, 428, 393, 207, 365, + 256, 197, 224, 211, 231, 245, 247, 279, 308, 314, + 342, 345, 261, 242, 222, 362, 220, 379, 399, 400, + 401, 403, 312, 238, 330, 0, 0, 1380, 0, 505, + 0, 0, 0, 241, 0, 504, 0, 0, 0, 288, + 0, 0, 1381, 343, 0, 380, 227, 297, 295, 408, + 251, 244, 240, 226, 272, 303, 341, 398, 335, 548, + 292, 0, 0, 389, 315, 0, 0, 0, 0, 0, + 539, 540, 0, 0, 0, 0, 0, 0, 0, 0, + 278, 225, 195, 327, 390, 254, 69, 0, 0, 177, + 178, 179, 526, 525, 528, 529, 530, 531, 0, 0, + 217, 527, 223, 532, 533, 534, 0, 237, 276, 243, + 236, 405, 0, 0, 0, 502, 519, 0, 547, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, + 592, 0, 0, 0, 562, 0, 518, 0, 0, 511, + 512, 514, 513, 515, 520, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 262, 0, 316, 561, 0, 0, + 434, 0, 0, 559, 0, 0, 0, 0, 0, 287, + 0, 284, 191, 205, 0, 0, 326, 364, 370, 0, + 0, 0, 228, 0, 368, 339, 421, 213, 252, 361, + 344, 366, 0, 0, 367, 293, 410, 356, 420, 435, + 436, 235, 320, 427, 402, 432, 444, 206, 232, 333, + 395, 424, 386, 313, 406, 407, 283, 385, 260, 194, + 291, 198, 397, 418, 218, 378, 0, 0, 0, 200, + 416, 394, 310, 280, 281, 199, 0, 360, 239, 258, + 230, 329, 413, 414, 229, 446, 208, 431, 202, 209, + 430, 322, 409, 417, 311, 302, 201, 415, 309, 301, + 286, 249, 268, 354, 296, 355, 269, 318, 317, 319, + 0, 196, 0, 391, 425, 447, 215, 0, 0, 404, + 440, 443, 0, 357, 216, 259, 248, 353, 257, 289, + 439, 441, 442, 214, 351, 265, 321, 210, 271, 387, + 285, 294, 0, 0, 338, 369, 219, 423, 388, 549, + 560, 555, 556, 553, 554, 0, 552, 551, 550, 563, + 541, 542, 543, 544, 546, 0, 557, 558, 545, 190, + 203, 290, 0, 358, 255, 445, 429, 426, 0, 0, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 192, 193, 204, 212, 221, 233, 246, + 253, 263, 267, 270, 273, 274, 277, 282, 299, 304, + 305, 306, 307, 323, 324, 325, 328, 331, 332, 334, + 336, 337, 340, 346, 347, 348, 349, 350, 352, 359, + 363, 371, 372, 373, 374, 375, 376, 377, 381, 382, + 383, 384, 392, 396, 411, 412, 422, 433, 437, 264, + 419, 438, 0, 298, 0, 0, 300, 250, 266, 275, + 0, 428, 393, 207, 365, 256, 197, 224, 211, 231, + 245, 247, 279, 308, 314, 342, 345, 261, 242, 222, + 362, 220, 379, 399, 400, 401, 403, 312, 238, 330, + 0, 0, 0, 0, 505, 0, 0, 0, 241, 0, + 504, 0, 0, 0, 288, 0, 0, 0, 343, 0, + 380, 227, 297, 295, 408, 251, 244, 240, 226, 272, + 303, 341, 398, 335, 548, 292, 0, 0, 389, 315, + 0, 0, 0, 0, 0, 539, 540, 0, 0, 0, + 0, 0, 0, 1492, 0, 278, 225, 195, 327, 390, + 254, 69, 0, 0, 177, 178, 179, 526, 525, 528, + 529, 530, 531, 0, 0, 217, 527, 223, 532, 533, + 534, 1493, 237, 276, 243, 236, 405, 0, 0, 0, + 502, 519, 0, 547, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 516, 517, 0, 0, 0, 0, 562, + 0, 518, 0, 0, 511, 512, 514, 513, 515, 520, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, + 0, 316, 561, 0, 0, 434, 0, 0, 559, 0, + 0, 0, 0, 0, 287, 0, 284, 191, 205, 0, + 0, 326, 364, 370, 0, 0, 0, 228, 0, 368, + 339, 421, 213, 252, 361, 344, 366, 0, 0, 367, + 293, 410, 356, 420, 435, 436, 235, 320, 427, 402, + 432, 444, 206, 232, 333, 395, 424, 386, 313, 406, + 407, 283, 385, 260, 194, 291, 198, 397, 418, 218, + 378, 0, 0, 0, 200, 416, 394, 310, 280, 281, + 199, 0, 360, 239, 258, 230, 329, 413, 414, 229, + 446, 208, 431, 202, 209, 430, 322, 409, 417, 311, + 302, 201, 415, 309, 301, 286, 249, 268, 354, 296, + 355, 269, 318, 317, 319, 0, 196, 0, 391, 425, + 447, 215, 0, 0, 404, 440, 443, 0, 357, 216, + 259, 248, 353, 257, 289, 439, 441, 442, 214, 351, + 265, 321, 210, 271, 387, 285, 294, 0, 0, 338, + 369, 219, 423, 388, 549, 560, 555, 556, 553, 554, + 0, 552, 551, 550, 563, 541, 542, 543, 544, 546, + 0, 557, 558, 545, 190, 203, 290, 0, 358, 255, + 445, 429, 426, 0, 0, 234, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 192, 193, + 204, 212, 221, 233, 246, 253, 263, 267, 270, 273, + 274, 277, 282, 299, 304, 305, 306, 307, 323, 324, + 325, 328, 331, 332, 334, 336, 337, 340, 346, 347, + 348, 349, 350, 352, 359, 363, 371, 372, 373, 374, + 375, 376, 377, 381, 382, 383, 384, 392, 396, 411, + 412, 422, 433, 437, 264, 419, 438, 0, 298, 0, + 0, 300, 250, 266, 275, 0, 428, 393, 207, 365, + 256, 197, 224, 211, 231, 245, 247, 279, 308, 314, + 342, 345, 261, 242, 222, 362, 220, 379, 399, 400, + 401, 403, 312, 238, 330, 0, 0, 0, 0, 505, + 0, 0, 0, 241, 0, 504, 0, 0, 0, 288, + 0, 0, 0, 343, 0, 380, 227, 297, 295, 408, + 251, 244, 240, 226, 272, 303, 341, 398, 335, 548, + 292, 0, 0, 389, 315, 0, 0, 0, 0, 0, + 539, 540, 0, 0, 0, 0, 0, 0, 0, 0, + 278, 225, 195, 327, 390, 254, 69, 0, 580, 177, + 178, 179, 526, 525, 528, 529, 530, 531, 0, 0, + 217, 527, 223, 532, 533, 534, 0, 237, 276, 243, + 236, 405, 0, 0, 0, 502, 519, 0, 547, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, + 0, 0, 0, 0, 562, 0, 518, 0, 0, 511, + 512, 514, 513, 515, 520, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 262, 0, 316, 561, 0, 0, + 434, 0, 0, 559, 0, 0, 0, 0, 0, 287, + 0, 284, 191, 205, 0, 0, 326, 364, 370, 0, + 0, 0, 228, 0, 368, 339, 421, 213, 252, 361, + 344, 366, 0, 0, 367, 293, 410, 356, 420, 435, + 436, 235, 320, 427, 402, 432, 444, 206, 232, 333, + 395, 424, 386, 313, 406, 407, 283, 385, 260, 194, + 291, 198, 397, 418, 218, 378, 0, 0, 0, 200, + 416, 394, 310, 280, 281, 199, 0, 360, 239, 258, + 230, 329, 413, 414, 229, 446, 208, 431, 202, 209, + 430, 322, 409, 417, 311, 302, 201, 415, 309, 301, + 286, 249, 268, 354, 296, 355, 269, 318, 317, 319, + 0, 196, 0, 391, 425, 447, 215, 0, 0, 404, + 440, 443, 0, 357, 216, 259, 248, 353, 257, 289, + 439, 441, 442, 214, 351, 265, 321, 210, 271, 387, + 285, 294, 0, 0, 338, 369, 219, 423, 388, 549, + 560, 555, 556, 553, 554, 0, 552, 551, 550, 563, + 541, 542, 543, 544, 546, 0, 557, 558, 545, 190, + 203, 290, 0, 358, 255, 445, 429, 426, 0, 0, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 192, 193, 204, 212, 221, 233, 246, + 253, 263, 267, 270, 273, 274, 277, 282, 299, 304, + 305, 306, 307, 323, 324, 325, 328, 331, 332, 334, + 336, 337, 340, 346, 347, 348, 349, 350, 352, 359, + 363, 371, 372, 373, 374, 375, 376, 377, 381, 382, + 383, 384, 392, 396, 411, 412, 422, 433, 437, 264, + 419, 438, 0, 298, 0, 0, 300, 250, 266, 275, + 0, 428, 393, 207, 365, 256, 197, 224, 211, 231, + 245, 247, 279, 308, 314, 342, 345, 261, 242, 222, + 362, 220, 379, 399, 400, 401, 403, 312, 238, 330, + 0, 0, 0, 0, 505, 0, 0, 0, 241, 0, + 504, 0, 0, 0, 288, 0, 0, 0, 343, 0, + 380, 227, 297, 295, 408, 251, 244, 240, 226, 272, + 303, 341, 398, 335, 548, 292, 0, 0, 389, 315, + 0, 0, 0, 0, 0, 539, 540, 0, 0, 0, + 0, 0, 0, 0, 0, 278, 225, 195, 327, 390, + 254, 69, 0, 0, 177, 178, 179, 526, 525, 528, + 529, 530, 531, 0, 0, 217, 527, 223, 532, 533, + 534, 0, 237, 276, 243, 236, 405, 0, 0, 0, + 502, 519, 0, 547, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 516, 517, 592, 0, 0, 0, 562, + 0, 518, 0, 0, 511, 512, 514, 513, 515, 520, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, + 0, 316, 561, 0, 0, 434, 0, 0, 559, 0, + 0, 0, 0, 0, 287, 0, 284, 191, 205, 0, + 0, 326, 364, 370, 0, 0, 0, 228, 0, 368, + 339, 421, 213, 252, 361, 344, 366, 0, 0, 367, + 293, 410, 356, 420, 435, 436, 235, 320, 427, 402, + 432, 444, 206, 232, 333, 395, 424, 386, 313, 406, + 407, 283, 385, 260, 194, 291, 198, 397, 418, 218, + 378, 0, 0, 0, 200, 416, 394, 310, 280, 281, + 199, 0, 360, 239, 258, 230, 329, 413, 414, 229, + 446, 208, 431, 202, 209, 430, 322, 409, 417, 311, + 302, 201, 415, 309, 301, 286, 249, 268, 354, 296, + 355, 269, 318, 317, 319, 0, 196, 0, 391, 425, + 447, 215, 0, 0, 404, 440, 443, 0, 357, 216, + 259, 248, 353, 257, 289, 439, 441, 442, 214, 351, + 265, 321, 210, 271, 387, 285, 294, 0, 0, 338, + 369, 219, 423, 388, 549, 560, 555, 556, 553, 554, + 0, 552, 551, 550, 563, 541, 542, 543, 544, 546, + 0, 557, 558, 545, 190, 203, 290, 0, 358, 255, + 445, 429, 426, 0, 0, 234, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 192, 193, + 204, 212, 221, 233, 246, 253, 263, 267, 270, 273, + 274, 277, 282, 299, 304, 305, 306, 307, 323, 324, + 325, 328, 331, 332, 334, 336, 337, 340, 346, 347, + 348, 349, 350, 352, 359, 363, 371, 372, 373, 374, + 375, 376, 377, 381, 382, 383, 384, 392, 396, 411, + 412, 422, 433, 437, 264, 419, 438, 0, 298, 0, + 0, 300, 250, 266, 275, 0, 428, 393, 207, 365, + 256, 197, 224, 211, 231, 245, 247, 279, 308, 314, + 342, 345, 261, 242, 222, 362, 220, 379, 399, 400, + 401, 403, 312, 238, 330, 0, 0, 0, 0, 505, + 0, 0, 0, 241, 0, 504, 0, 0, 0, 288, + 0, 0, 0, 343, 0, 380, 227, 297, 295, 408, + 251, 244, 240, 226, 272, 303, 341, 398, 335, 548, + 292, 0, 0, 389, 315, 0, 0, 0, 0, 0, + 539, 540, 0, 0, 0, 0, 0, 0, 0, 0, + 278, 225, 195, 327, 390, 254, 69, 0, 0, 177, + 178, 179, 526, 1398, 528, 529, 530, 531, 0, 0, + 217, 527, 223, 532, 533, 534, 0, 237, 276, 243, + 236, 405, 0, 0, 0, 502, 519, 0, 547, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, + 592, 0, 0, 0, 562, 0, 518, 0, 0, 511, + 512, 514, 513, 515, 520, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 262, 0, 316, 561, 0, 0, + 434, 0, 0, 559, 0, 0, 0, 0, 0, 287, + 0, 284, 191, 205, 0, 0, 326, 364, 370, 0, + 0, 0, 228, 0, 368, 339, 421, 213, 252, 361, + 344, 366, 0, 0, 367, 293, 410, 356, 420, 435, + 436, 235, 320, 427, 402, 432, 444, 206, 232, 333, + 395, 424, 386, 313, 406, 407, 283, 385, 260, 194, + 291, 198, 397, 418, 218, 378, 0, 0, 0, 200, + 416, 394, 310, 280, 281, 199, 0, 360, 239, 258, + 230, 329, 413, 414, 229, 446, 208, 431, 202, 209, + 430, 322, 409, 417, 311, 302, 201, 415, 309, 301, + 286, 249, 268, 354, 296, 355, 269, 318, 317, 319, + 0, 196, 0, 391, 425, 447, 215, 0, 0, 404, + 440, 443, 0, 357, 216, 259, 248, 353, 257, 289, + 439, 441, 442, 214, 351, 265, 321, 210, 271, 387, + 285, 294, 0, 0, 338, 369, 219, 423, 388, 549, + 560, 555, 556, 553, 554, 0, 552, 551, 550, 563, + 541, 542, 543, 544, 546, 0, 557, 558, 545, 190, + 203, 290, 0, 358, 255, 445, 429, 426, 0, 0, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 192, 193, 204, 212, 221, 233, 246, + 253, 263, 267, 270, 273, 274, 277, 282, 299, 304, + 305, 306, 307, 323, 324, 325, 328, 331, 332, 334, + 336, 337, 340, 346, 347, 348, 349, 350, 352, 359, + 363, 371, 372, 373, 374, 375, 376, 377, 381, 382, + 383, 384, 392, 396, 411, 412, 422, 433, 437, 264, + 419, 438, 0, 298, 0, 0, 300, 250, 266, 275, + 0, 428, 393, 207, 365, 256, 197, 224, 211, 231, + 245, 247, 279, 308, 314, 342, 345, 261, 242, 222, + 362, 220, 379, 399, 400, 401, 403, 312, 238, 330, + 0, 0, 0, 0, 505, 0, 0, 0, 241, 0, + 504, 0, 0, 0, 288, 0, 0, 0, 343, 0, + 380, 227, 297, 295, 408, 251, 244, 240, 226, 272, + 303, 341, 398, 335, 548, 292, 0, 0, 389, 315, + 0, 0, 0, 0, 0, 539, 540, 0, 0, 0, + 0, 0, 0, 0, 0, 278, 225, 195, 327, 390, + 254, 69, 0, 0, 177, 178, 179, 526, 1395, 528, + 529, 530, 531, 0, 0, 217, 527, 223, 532, 533, + 534, 0, 237, 276, 243, 236, 405, 0, 0, 0, + 502, 519, 0, 547, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 516, 517, 592, 0, 0, 0, 562, + 0, 518, 0, 0, 511, 512, 514, 513, 515, 520, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, + 0, 316, 561, 0, 0, 434, 0, 0, 559, 0, + 0, 0, 0, 0, 287, 0, 284, 191, 205, 0, + 0, 326, 364, 370, 0, 0, 0, 228, 0, 368, + 339, 421, 213, 252, 361, 344, 366, 0, 0, 367, + 293, 410, 356, 420, 435, 436, 235, 320, 427, 402, + 432, 444, 206, 232, 333, 395, 424, 386, 313, 406, + 407, 283, 385, 260, 194, 291, 198, 397, 418, 218, + 378, 0, 0, 0, 200, 416, 394, 310, 280, 281, + 199, 0, 360, 239, 258, 230, 329, 413, 414, 229, + 446, 208, 431, 202, 209, 430, 322, 409, 417, 311, + 302, 201, 415, 309, 301, 286, 249, 268, 354, 296, + 355, 269, 318, 317, 319, 0, 196, 0, 391, 425, + 447, 215, 0, 0, 404, 440, 443, 0, 357, 216, + 259, 248, 353, 257, 289, 439, 441, 442, 214, 351, + 265, 321, 210, 271, 387, 285, 294, 0, 0, 338, + 369, 219, 423, 388, 549, 560, 555, 556, 553, 554, + 0, 552, 551, 550, 563, 541, 542, 543, 544, 546, + 0, 557, 558, 545, 190, 203, 290, 0, 358, 255, + 445, 429, 426, 0, 0, 234, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 192, 193, + 204, 212, 221, 233, 246, 253, 263, 267, 270, 273, + 274, 277, 282, 299, 304, 305, 306, 307, 323, 324, + 325, 328, 331, 332, 334, 336, 337, 340, 346, 347, + 348, 349, 350, 352, 359, 363, 371, 372, 373, 374, + 375, 376, 377, 381, 382, 383, 384, 392, 396, 411, + 412, 422, 433, 437, 264, 419, 438, 0, 298, 0, + 0, 300, 250, 266, 275, 0, 428, 393, 207, 365, + 256, 197, 224, 211, 231, 245, 247, 279, 308, 314, + 342, 345, 261, 242, 222, 362, 220, 379, 399, 400, + 401, 403, 312, 238, 573, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, + 0, 0, 505, 0, 0, 0, 241, 0, 504, 0, + 0, 0, 288, 0, 0, 0, 343, 0, 380, 227, + 297, 295, 408, 251, 244, 240, 226, 272, 303, 341, + 398, 335, 548, 292, 0, 0, 389, 315, 0, 0, + 0, 0, 0, 539, 540, 0, 0, 0, 0, 0, + 0, 0, 0, 278, 225, 195, 327, 390, 254, 69, + 0, 0, 177, 178, 179, 526, 525, 528, 529, 530, + 531, 0, 0, 217, 527, 223, 532, 533, 534, 0, + 237, 276, 243, 236, 405, 0, 0, 0, 502, 519, + 0, 547, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 516, 517, 0, 0, 0, 0, 562, 0, 518, + 0, 0, 511, 512, 514, 513, 515, 520, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 262, 0, 316, + 561, 0, 0, 434, 0, 0, 559, 0, 0, 0, + 0, 0, 287, 0, 284, 191, 205, 0, 0, 326, + 364, 370, 0, 0, 0, 228, 0, 368, 339, 421, + 213, 252, 361, 344, 366, 0, 0, 367, 293, 410, + 356, 420, 435, 436, 235, 320, 427, 402, 432, 444, + 206, 232, 333, 395, 424, 386, 313, 406, 407, 283, + 385, 260, 194, 291, 198, 397, 418, 218, 378, 0, + 0, 0, 200, 416, 394, 310, 280, 281, 199, 0, + 360, 239, 258, 230, 329, 413, 414, 229, 446, 208, + 431, 202, 209, 430, 322, 409, 417, 311, 302, 201, + 415, 309, 301, 286, 249, 268, 354, 296, 355, 269, + 318, 317, 319, 0, 196, 0, 391, 425, 447, 215, + 0, 0, 404, 440, 443, 0, 357, 216, 259, 248, + 353, 257, 289, 439, 441, 442, 214, 351, 265, 321, + 210, 271, 387, 285, 294, 0, 0, 338, 369, 219, + 423, 388, 549, 560, 555, 556, 553, 554, 0, 552, + 551, 550, 563, 541, 542, 543, 544, 546, 0, 557, + 558, 545, 190, 203, 290, 0, 358, 255, 445, 429, + 426, 0, 0, 234, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 192, 193, 204, 212, + 221, 233, 246, 253, 263, 267, 270, 273, 274, 277, + 282, 299, 304, 305, 306, 307, 323, 324, 325, 328, + 331, 332, 334, 336, 337, 340, 346, 347, 348, 349, + 350, 352, 359, 363, 371, 372, 373, 374, 375, 376, + 377, 381, 382, 383, 384, 392, 396, 411, 412, 422, + 433, 437, 264, 419, 438, 0, 298, 0, 0, 300, + 250, 266, 275, 0, 428, 393, 207, 365, 256, 197, + 224, 211, 231, 245, 247, 279, 308, 314, 342, 345, + 261, 242, 222, 362, 220, 379, 399, 400, 401, 403, + 312, 238, 330, 0, 0, 0, 0, 505, 0, 0, + 0, 241, 0, 504, 0, 0, 0, 288, 0, 0, + 0, 343, 0, 380, 227, 297, 295, 408, 251, 244, + 240, 226, 272, 303, 341, 398, 335, 548, 292, 0, + 0, 389, 315, 0, 0, 0, 0, 0, 539, 540, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 225, + 195, 327, 390, 254, 69, 0, 0, 177, 178, 179, + 526, 525, 528, 529, 530, 531, 0, 0, 217, 527, + 223, 532, 533, 534, 0, 237, 276, 243, 236, 405, + 0, 0, 0, 502, 519, 0, 547, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 516, 517, 0, 0, + 0, 0, 562, 0, 518, 0, 0, 511, 512, 514, + 513, 515, 520, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 262, 0, 316, 561, 0, 0, 434, 0, + 0, 559, 0, 0, 0, 0, 0, 287, 0, 284, + 191, 205, 0, 0, 326, 364, 370, 0, 0, 0, + 228, 0, 368, 339, 421, 213, 252, 361, 344, 366, + 0, 0, 367, 293, 410, 356, 420, 435, 436, 235, + 320, 427, 402, 432, 444, 206, 232, 333, 395, 424, + 386, 313, 406, 407, 283, 385, 260, 194, 291, 198, + 397, 418, 218, 378, 0, 0, 0, 200, 416, 394, + 310, 280, 281, 199, 0, 360, 239, 258, 230, 329, + 413, 414, 229, 446, 208, 431, 202, 209, 430, 322, + 409, 417, 311, 302, 201, 415, 309, 301, 286, 249, + 268, 354, 296, 355, 269, 318, 317, 319, 0, 196, + 0, 391, 425, 447, 215, 0, 0, 404, 440, 443, + 0, 357, 216, 259, 248, 353, 257, 289, 439, 441, + 442, 214, 351, 265, 321, 210, 271, 387, 285, 294, + 0, 0, 338, 369, 219, 423, 388, 549, 560, 555, + 556, 553, 554, 0, 552, 551, 550, 563, 541, 542, + 543, 544, 546, 0, 557, 558, 545, 190, 203, 290, + 0, 358, 255, 445, 429, 426, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 192, 193, 204, 212, 221, 233, 246, 253, 263, + 267, 270, 273, 274, 277, 282, 299, 304, 305, 306, + 307, 323, 324, 325, 328, 331, 332, 334, 336, 337, + 340, 346, 347, 348, 349, 350, 352, 359, 363, 371, + 372, 373, 374, 375, 376, 377, 381, 382, 383, 384, + 392, 396, 411, 412, 422, 433, 437, 264, 419, 438, + 0, 298, 0, 0, 300, 250, 266, 275, 0, 428, + 393, 207, 365, 256, 197, 224, 211, 231, 245, 247, + 279, 308, 314, 342, 345, 261, 242, 222, 362, 220, + 379, 399, 400, 401, 403, 312, 238, 330, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, + 0, 0, 288, 0, 0, 0, 343, 0, 380, 227, + 297, 295, 408, 251, 244, 240, 226, 272, 303, 341, + 398, 335, 548, 292, 0, 0, 389, 315, 0, 0, + 0, 0, 0, 539, 540, 0, 0, 0, 0, 0, + 0, 0, 0, 278, 225, 195, 327, 390, 254, 69, + 0, 0, 177, 178, 179, 526, 525, 528, 529, 530, + 531, 0, 0, 217, 527, 223, 532, 533, 534, 0, + 237, 276, 243, 236, 405, 0, 0, 0, 0, 519, + 0, 547, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 516, 517, 0, 0, 0, 0, 562, 0, 518, + 0, 0, 511, 512, 514, 513, 515, 520, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 262, 0, 316, + 561, 0, 0, 434, 0, 0, 559, 0, 0, 0, + 0, 0, 287, 0, 284, 191, 205, 0, 0, 326, + 364, 370, 0, 0, 0, 228, 0, 368, 339, 421, + 213, 252, 361, 344, 366, 2152, 0, 367, 293, 410, + 356, 420, 435, 436, 235, 320, 427, 402, 432, 444, + 206, 232, 333, 395, 424, 386, 313, 406, 407, 283, + 385, 260, 194, 291, 198, 397, 418, 218, 378, 0, + 0, 0, 200, 416, 394, 310, 280, 281, 199, 0, + 360, 239, 258, 230, 329, 413, 414, 229, 446, 208, + 431, 202, 209, 430, 322, 409, 417, 311, 302, 201, + 415, 309, 301, 286, 249, 268, 354, 296, 355, 269, + 318, 317, 319, 0, 196, 0, 391, 425, 447, 215, + 0, 0, 404, 440, 443, 0, 357, 216, 259, 248, + 353, 257, 289, 439, 441, 442, 214, 351, 265, 321, + 210, 271, 387, 285, 294, 0, 0, 338, 369, 219, + 423, 388, 549, 560, 555, 556, 553, 554, 0, 552, + 551, 550, 563, 541, 542, 543, 544, 546, 0, 557, + 558, 545, 190, 203, 290, 0, 358, 255, 445, 429, + 426, 0, 0, 234, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 192, 193, 204, 212, + 221, 233, 246, 253, 263, 267, 270, 273, 274, 277, + 282, 299, 304, 305, 306, 307, 323, 324, 325, 328, + 331, 332, 334, 336, 337, 340, 346, 347, 348, 349, + 350, 352, 359, 363, 371, 372, 373, 374, 375, 376, + 377, 381, 382, 383, 384, 392, 396, 411, 412, 422, + 433, 437, 264, 419, 438, 0, 298, 0, 0, 300, + 250, 266, 275, 0, 428, 393, 207, 365, 256, 197, + 224, 211, 231, 245, 247, 279, 308, 314, 342, 345, + 261, 242, 222, 362, 220, 379, 399, 400, 401, 403, + 312, 238, 330, 0, 0, 0, 0, 0, 0, 0, + 0, 241, 0, 0, 0, 0, 0, 288, 0, 0, + 0, 343, 0, 380, 227, 297, 295, 408, 251, 244, + 240, 226, 272, 303, 341, 398, 335, 548, 292, 0, + 0, 389, 315, 0, 0, 0, 0, 0, 539, 540, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 225, + 195, 327, 390, 254, 69, 0, 580, 177, 178, 179, + 526, 525, 528, 529, 530, 531, 0, 0, 217, 527, + 223, 532, 533, 534, 0, 237, 276, 243, 236, 405, + 0, 0, 0, 0, 519, 0, 547, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 516, 517, 0, 0, + 0, 0, 562, 0, 518, 0, 0, 511, 512, 514, + 513, 515, 520, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 262, 0, 316, 561, 0, 0, 434, 0, + 0, 559, 0, 0, 0, 0, 0, 287, 0, 284, + 191, 205, 0, 0, 326, 364, 370, 0, 0, 0, + 228, 0, 368, 339, 421, 213, 252, 361, 344, 366, + 0, 0, 367, 293, 410, 356, 420, 435, 436, 235, + 320, 427, 402, 432, 444, 206, 232, 333, 395, 424, + 386, 313, 406, 407, 283, 385, 260, 194, 291, 198, + 397, 418, 218, 378, 0, 0, 0, 200, 416, 394, + 310, 280, 281, 199, 0, 360, 239, 258, 230, 329, + 413, 414, 229, 446, 208, 431, 202, 209, 430, 322, + 409, 417, 311, 302, 201, 415, 309, 301, 286, 249, + 268, 354, 296, 355, 269, 318, 317, 319, 0, 196, + 0, 391, 425, 447, 215, 0, 0, 404, 440, 443, + 0, 357, 216, 259, 248, 353, 257, 289, 439, 441, + 442, 214, 351, 265, 321, 210, 271, 387, 285, 294, + 0, 0, 338, 369, 219, 423, 388, 549, 560, 555, + 556, 553, 554, 0, 552, 551, 550, 563, 541, 542, + 543, 544, 546, 0, 557, 558, 545, 190, 203, 290, + 0, 358, 255, 445, 429, 426, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 192, 193, 204, 212, 221, 233, 246, 253, 263, + 267, 270, 273, 274, 277, 282, 299, 304, 305, 306, + 307, 323, 324, 325, 328, 331, 332, 334, 336, 337, + 340, 346, 347, 348, 349, 350, 352, 359, 363, 371, + 372, 373, 374, 375, 376, 377, 381, 382, 383, 384, + 392, 396, 411, 412, 422, 433, 437, 264, 419, 438, + 0, 298, 0, 0, 300, 250, 266, 275, 0, 428, + 393, 207, 365, 256, 197, 224, 211, 231, 245, 247, + 279, 308, 314, 342, 345, 261, 242, 222, 362, 220, + 379, 399, 400, 401, 403, 312, 238, 330, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, + 0, 0, 288, 0, 0, 0, 343, 0, 380, 227, + 297, 295, 408, 251, 244, 240, 226, 272, 303, 341, + 398, 335, 548, 292, 0, 0, 389, 315, 0, 0, + 0, 0, 0, 539, 540, 0, 0, 0, 0, 0, + 0, 0, 0, 278, 225, 195, 327, 390, 254, 69, + 0, 0, 177, 178, 179, 526, 525, 528, 529, 530, + 531, 0, 0, 217, 527, 223, 532, 533, 534, 0, + 237, 276, 243, 236, 405, 0, 0, 0, 0, 519, + 0, 547, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 516, 517, 0, 0, 0, 0, 562, 0, 518, + 0, 0, 511, 512, 514, 513, 515, 520, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 262, 0, 316, + 561, 0, 0, 434, 0, 0, 559, 0, 0, 0, + 0, 0, 287, 0, 284, 191, 205, 0, 0, 326, + 364, 370, 0, 0, 0, 228, 0, 368, 339, 421, + 213, 252, 361, 344, 366, 0, 0, 367, 293, 410, + 356, 420, 435, 436, 235, 320, 427, 402, 432, 444, + 206, 232, 333, 395, 424, 386, 313, 406, 407, 283, + 385, 260, 194, 291, 198, 397, 418, 218, 378, 0, + 0, 0, 200, 416, 394, 310, 280, 281, 199, 0, + 360, 239, 258, 230, 329, 413, 414, 229, 446, 208, + 431, 202, 209, 430, 322, 409, 417, 311, 302, 201, + 415, 309, 301, 286, 249, 268, 354, 296, 355, 269, + 318, 317, 319, 0, 196, 0, 391, 425, 447, 215, + 0, 0, 404, 440, 443, 0, 357, 216, 259, 248, + 353, 257, 289, 439, 441, 442, 214, 351, 265, 321, + 210, 271, 387, 285, 294, 0, 0, 338, 369, 219, + 423, 388, 549, 560, 555, 556, 553, 554, 0, 552, + 551, 550, 563, 541, 542, 543, 544, 546, 0, 557, + 558, 545, 190, 203, 290, 0, 358, 255, 445, 429, + 426, 0, 0, 234, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 192, 193, 204, 212, + 221, 233, 246, 253, 263, 267, 270, 273, 274, 277, + 282, 299, 304, 305, 306, 307, 323, 324, 325, 328, + 331, 332, 334, 336, 337, 340, 346, 347, 348, 349, + 350, 352, 359, 363, 371, 372, 373, 374, 375, 376, + 377, 381, 382, 383, 384, 392, 396, 411, 412, 422, + 433, 437, 264, 419, 438, 0, 298, 0, 0, 300, + 250, 266, 275, 0, 428, 393, 207, 365, 256, 197, + 224, 211, 231, 245, 247, 279, 308, 314, 342, 345, + 261, 242, 222, 362, 220, 379, 399, 400, 401, 403, + 312, 238, 330, 0, 0, 0, 0, 0, 0, 0, + 0, 241, 0, 0, 0, 0, 0, 288, 0, 0, + 0, 343, 0, 380, 227, 297, 295, 408, 251, 244, + 240, 226, 272, 303, 341, 398, 335, 0, 292, 0, + 0, 389, 315, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 225, + 195, 327, 390, 254, 0, 0, 0, 177, 178, 179, + 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, + 223, 0, 0, 0, 0, 237, 276, 243, 236, 405, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 959, 958, 968, 969, 961, 962, 963, 964, + 965, 966, 967, 960, 0, 0, 970, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 262, 0, 316, 0, 0, 0, 434, 0, + 0, 0, 0, 0, 0, 0, 0, 287, 0, 284, + 191, 205, 0, 0, 326, 364, 370, 0, 0, 0, + 228, 0, 368, 339, 421, 213, 252, 361, 344, 366, + 0, 0, 367, 293, 410, 356, 420, 435, 436, 235, + 320, 427, 402, 432, 444, 206, 232, 333, 395, 424, + 386, 313, 406, 407, 283, 385, 260, 194, 291, 198, + 397, 418, 218, 378, 0, 0, 0, 200, 416, 394, + 310, 280, 281, 199, 0, 360, 239, 258, 230, 329, + 413, 414, 229, 446, 208, 431, 202, 209, 430, 322, + 409, 417, 311, 302, 201, 415, 309, 301, 286, 249, + 268, 354, 296, 355, 269, 318, 317, 319, 0, 196, + 0, 391, 425, 447, 215, 0, 0, 404, 440, 443, + 0, 357, 216, 259, 248, 353, 257, 289, 439, 441, + 442, 214, 351, 265, 321, 210, 271, 387, 285, 294, + 0, 0, 338, 369, 219, 423, 388, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 190, 203, 290, + 0, 358, 255, 445, 429, 426, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 192, 193, 204, 212, 221, 233, 246, 253, 263, + 267, 270, 273, 274, 277, 282, 299, 304, 305, 306, + 307, 323, 324, 325, 328, 331, 332, 334, 336, 337, + 340, 346, 347, 348, 349, 350, 352, 359, 363, 371, + 372, 373, 374, 375, 376, 377, 381, 382, 383, 384, + 392, 396, 411, 412, 422, 433, 437, 264, 419, 438, + 0, 298, 0, 0, 300, 250, 266, 275, 0, 428, + 393, 207, 365, 256, 197, 224, 211, 231, 245, 247, + 279, 308, 314, 342, 345, 261, 242, 222, 362, 220, + 379, 399, 400, 401, 403, 312, 238, 330, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 793, 0, 0, + 0, 0, 288, 0, 0, 0, 343, 0, 380, 227, + 297, 295, 408, 251, 244, 240, 226, 272, 303, 341, + 398, 335, 0, 292, 0, 0, 389, 315, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 278, 225, 195, 327, 390, 254, 0, + 0, 0, 177, 178, 179, 0, 0, 0, 0, 0, + 0, 0, 0, 217, 0, 223, 0, 0, 0, 0, + 237, 276, 243, 236, 405, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 262, 0, 316, + 0, 0, 792, 434, 0, 0, 0, 0, 0, 0, + 789, 790, 287, 757, 284, 191, 205, 783, 787, 326, + 364, 370, 0, 0, 0, 228, 0, 368, 339, 421, + 213, 252, 361, 344, 366, 0, 0, 367, 293, 410, + 356, 420, 435, 436, 235, 320, 427, 402, 432, 444, + 206, 232, 333, 395, 424, 386, 313, 406, 407, 283, + 385, 260, 194, 291, 198, 397, 418, 218, 378, 0, + 0, 0, 200, 416, 394, 310, 280, 281, 199, 0, + 360, 239, 258, 230, 329, 413, 414, 229, 446, 208, + 431, 202, 209, 430, 322, 409, 417, 311, 302, 201, + 415, 309, 301, 286, 249, 268, 354, 296, 355, 269, + 318, 317, 319, 0, 196, 0, 391, 425, 447, 215, + 0, 0, 404, 440, 443, 0, 357, 216, 259, 248, + 353, 257, 289, 439, 441, 442, 214, 351, 265, 321, + 210, 271, 387, 285, 294, 0, 0, 338, 369, 219, + 423, 388, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 190, 203, 290, 0, 358, 255, 445, 429, + 426, 0, 0, 234, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 192, 193, 204, 212, + 221, 233, 246, 253, 263, 267, 270, 273, 274, 277, + 282, 299, 304, 305, 306, 307, 323, 324, 325, 328, + 331, 332, 334, 336, 337, 340, 346, 347, 348, 349, + 350, 352, 359, 363, 371, 372, 373, 374, 375, 376, + 377, 381, 382, 383, 384, 392, 396, 411, 412, 422, + 433, 437, 264, 419, 438, 0, 298, 0, 0, 300, + 250, 266, 275, 0, 428, 393, 207, 365, 256, 197, + 224, 211, 231, 245, 247, 279, 308, 314, 342, 345, + 261, 242, 222, 362, 220, 379, 399, 400, 401, 403, + 312, 238, 330, 0, 0, 0, 1060, 0, 0, 0, + 0, 241, 0, 0, 0, 0, 0, 288, 0, 0, + 0, 343, 0, 380, 227, 297, 295, 408, 251, 244, + 240, 226, 272, 303, 341, 398, 335, 0, 292, 0, + 0, 389, 315, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 225, + 195, 327, 390, 254, 0, 0, 0, 177, 178, 179, + 0, 1062, 0, 0, 0, 0, 0, 0, 217, 0, + 223, 0, 0, 0, 0, 237, 276, 243, 236, 405, + 948, 949, 947, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 950, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 262, 0, 316, 0, 0, 0, 434, 0, + 0, 0, 0, 0, 0, 0, 0, 287, 0, 284, + 191, 205, 0, 0, 326, 364, 370, 0, 0, 0, + 228, 0, 368, 339, 421, 213, 252, 361, 344, 366, + 0, 0, 367, 293, 410, 356, 420, 435, 436, 235, + 320, 427, 402, 432, 444, 206, 232, 333, 395, 424, + 386, 313, 406, 407, 283, 385, 260, 194, 291, 198, + 397, 418, 218, 378, 0, 0, 0, 200, 416, 394, + 310, 280, 281, 199, 0, 360, 239, 258, 230, 329, + 413, 414, 229, 446, 208, 431, 202, 209, 430, 322, + 409, 417, 311, 302, 201, 415, 309, 301, 286, 249, + 268, 354, 296, 355, 269, 318, 317, 319, 0, 196, + 0, 391, 425, 447, 215, 0, 0, 404, 440, 443, + 0, 357, 216, 259, 248, 353, 257, 289, 439, 441, + 442, 214, 351, 265, 321, 210, 271, 387, 285, 294, + 0, 0, 338, 369, 219, 423, 388, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 190, 203, 290, + 0, 358, 255, 445, 429, 426, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 192, 193, 204, 212, 221, 233, 246, 253, 263, + 267, 270, 273, 274, 277, 282, 299, 304, 305, 306, + 307, 323, 324, 325, 328, 331, 332, 334, 336, 337, + 340, 346, 347, 348, 349, 350, 352, 359, 363, 371, + 372, 373, 374, 375, 376, 377, 381, 382, 383, 384, + 392, 396, 411, 412, 422, 433, 437, 264, 419, 438, + 0, 298, 0, 0, 300, 250, 266, 275, 0, 428, + 393, 207, 365, 256, 197, 224, 211, 231, 245, 247, + 279, 308, 314, 342, 345, 261, 242, 222, 362, 220, + 379, 399, 400, 401, 403, 312, 238, 34, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 330, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 0, 0, 0, 0, 0, 288, 0, 0, 0, 343, + 0, 380, 227, 297, 295, 408, 251, 244, 240, 226, + 272, 303, 341, 398, 335, 0, 292, 0, 0, 389, + 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 225, 195, 327, + 390, 254, 69, 0, 580, 177, 178, 179, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 0, 223, 0, + 0, 0, 0, 237, 276, 243, 236, 405, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 262, 0, 316, 0, 0, 0, 434, 0, 0, 0, + 0, 0, 0, 0, 0, 287, 0, 284, 191, 205, + 0, 0, 326, 364, 370, 0, 0, 0, 228, 0, + 368, 339, 421, 213, 252, 361, 344, 366, 0, 0, + 367, 293, 410, 356, 420, 435, 436, 235, 320, 427, + 402, 432, 444, 206, 232, 333, 395, 424, 386, 313, + 406, 407, 283, 385, 260, 194, 291, 198, 397, 418, + 218, 378, 0, 0, 0, 200, 416, 394, 310, 280, + 281, 199, 0, 360, 239, 258, 230, 329, 413, 414, + 229, 446, 208, 431, 202, 209, 430, 322, 409, 417, + 311, 302, 201, 415, 309, 301, 286, 249, 268, 354, + 296, 355, 269, 318, 317, 319, 0, 196, 0, 391, + 425, 447, 215, 0, 0, 404, 440, 443, 0, 357, + 216, 259, 248, 353, 257, 289, 439, 441, 442, 214, + 351, 265, 321, 210, 271, 387, 285, 294, 0, 0, + 338, 369, 219, 423, 388, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 190, 203, 290, 0, 358, + 255, 445, 429, 426, 0, 0, 234, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, + 193, 204, 212, 221, 233, 246, 253, 263, 267, 270, + 273, 274, 277, 282, 299, 304, 305, 306, 307, 323, + 324, 325, 328, 331, 332, 334, 336, 337, 340, 346, + 347, 348, 349, 350, 352, 359, 363, 371, 372, 373, + 374, 375, 376, 377, 381, 382, 383, 384, 392, 396, + 411, 412, 422, 433, 437, 264, 419, 438, 0, 298, + 0, 0, 300, 250, 266, 275, 0, 428, 393, 207, + 365, 256, 197, 224, 211, 231, 245, 247, 279, 308, + 314, 342, 345, 261, 242, 222, 362, 220, 379, 399, + 400, 401, 403, 312, 238, 330, 0, 0, 0, 1425, + 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, + 288, 0, 0, 0, 343, 0, 380, 227, 297, 295, + 408, 251, 244, 240, 226, 272, 303, 341, 398, 335, + 0, 292, 0, 0, 389, 315, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 278, 225, 195, 327, 390, 254, 0, 0, 0, + 177, 178, 179, 0, 1427, 0, 0, 0, 0, 0, + 0, 217, 0, 223, 0, 0, 0, 0, 237, 276, + 243, 236, 405, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 262, 0, 316, 0, 0, + 0, 434, 0, 0, 0, 0, 0, 0, 0, 0, + 287, 0, 284, 191, 205, 0, 0, 326, 364, 370, + 0, 0, 0, 228, 0, 368, 339, 421, 213, 252, + 361, 344, 366, 0, 1423, 367, 293, 410, 356, 420, + 435, 436, 235, 320, 427, 402, 432, 444, 206, 232, + 333, 395, 424, 386, 313, 406, 407, 283, 385, 260, + 194, 291, 198, 397, 418, 218, 378, 0, 0, 0, + 200, 416, 394, 310, 280, 281, 199, 0, 360, 239, + 258, 230, 329, 413, 414, 229, 446, 208, 431, 202, + 209, 430, 322, 409, 417, 311, 302, 201, 415, 309, + 301, 286, 249, 268, 354, 296, 355, 269, 318, 317, + 319, 0, 196, 0, 391, 425, 447, 215, 0, 0, + 404, 440, 443, 0, 357, 216, 259, 248, 353, 257, + 289, 439, 441, 442, 214, 351, 265, 321, 210, 271, + 387, 285, 294, 0, 0, 338, 369, 219, 423, 388, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 190, 203, 290, 0, 358, 255, 445, 429, 426, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 192, 193, 204, 212, 221, 233, + 246, 253, 263, 267, 270, 273, 274, 277, 282, 299, + 304, 305, 306, 307, 323, 324, 325, 328, 331, 332, + 334, 336, 337, 340, 346, 347, 348, 349, 350, 352, + 359, 363, 371, 372, 373, 374, 375, 376, 377, 381, + 382, 383, 384, 392, 396, 411, 412, 422, 433, 437, + 264, 419, 438, 0, 298, 0, 0, 300, 250, 266, + 275, 0, 428, 393, 207, 365, 256, 197, 224, 211, + 231, 245, 247, 279, 308, 314, 342, 345, 261, 242, + 222, 362, 220, 379, 399, 400, 401, 403, 312, 238, + 330, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 0, 0, 0, 0, 0, 288, 0, 0, 0, 343, + 0, 380, 227, 297, 295, 408, 251, 244, 240, 226, + 272, 303, 341, 398, 335, 0, 292, 0, 0, 389, + 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 225, 195, 327, + 390, 254, 0, 0, 0, 177, 178, 179, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 0, 223, 0, + 0, 0, 0, 237, 276, 243, 236, 405, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 751, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 262, 0, 316, 0, 0, 0, 434, 0, 0, 0, + 0, 0, 0, 0, 0, 287, 757, 284, 191, 205, + 755, 0, 326, 364, 370, 0, 0, 0, 228, 0, + 368, 339, 421, 213, 252, 361, 344, 366, 0, 0, + 367, 293, 410, 356, 420, 435, 436, 235, 320, 427, + 402, 432, 444, 206, 232, 333, 395, 424, 386, 313, + 406, 407, 283, 385, 260, 194, 291, 198, 397, 418, + 218, 378, 0, 0, 0, 200, 416, 394, 310, 280, + 281, 199, 0, 360, 239, 258, 230, 329, 413, 414, + 229, 446, 208, 431, 202, 209, 430, 322, 409, 417, + 311, 302, 201, 415, 309, 301, 286, 249, 268, 354, + 296, 355, 269, 318, 317, 319, 0, 196, 0, 391, + 425, 447, 215, 0, 0, 404, 440, 443, 0, 357, + 216, 259, 248, 353, 257, 289, 439, 441, 442, 214, + 351, 265, 321, 210, 271, 387, 285, 294, 0, 0, + 338, 369, 219, 423, 388, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 190, 203, 290, 0, 358, + 255, 445, 429, 426, 0, 0, 234, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, + 193, 204, 212, 221, 233, 246, 253, 263, 267, 270, + 273, 274, 277, 282, 299, 304, 305, 306, 307, 323, + 324, 325, 328, 331, 332, 334, 336, 337, 340, 346, + 347, 348, 349, 350, 352, 359, 363, 371, 372, 373, + 374, 375, 376, 377, 381, 382, 383, 384, 392, 396, + 411, 412, 422, 433, 437, 264, 419, 438, 0, 298, + 0, 0, 300, 250, 266, 275, 0, 428, 393, 207, + 365, 256, 197, 224, 211, 231, 245, 247, 279, 308, + 314, 342, 345, 261, 242, 222, 362, 220, 379, 399, + 400, 401, 403, 312, 238, 330, 0, 0, 0, 1425, + 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, + 288, 0, 0, 0, 343, 0, 380, 227, 297, 295, + 408, 251, 244, 240, 226, 272, 303, 341, 398, 335, + 0, 292, 0, 0, 389, 315, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 278, 225, 195, 327, 390, 254, 0, 0, 0, + 177, 178, 179, 0, 1427, 0, 0, 0, 0, 0, + 0, 217, 0, 223, 0, 0, 0, 0, 237, 276, + 243, 236, 405, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 262, 0, 316, 0, 0, + 0, 434, 0, 0, 0, 0, 0, 0, 0, 0, + 287, 0, 284, 191, 205, 0, 0, 326, 364, 370, + 0, 0, 0, 228, 0, 368, 339, 421, 213, 252, + 361, 344, 366, 0, 0, 367, 293, 410, 356, 420, + 435, 436, 235, 320, 427, 402, 432, 444, 206, 232, + 333, 395, 424, 386, 313, 406, 407, 283, 385, 260, + 194, 291, 198, 397, 418, 218, 378, 0, 0, 0, + 200, 416, 394, 310, 280, 281, 199, 0, 360, 239, + 258, 230, 329, 413, 414, 229, 446, 208, 431, 202, + 209, 430, 322, 409, 417, 311, 302, 201, 415, 309, + 301, 286, 249, 268, 354, 296, 355, 269, 318, 317, + 319, 0, 196, 0, 391, 425, 447, 215, 0, 0, + 404, 440, 443, 0, 357, 216, 259, 248, 353, 257, + 289, 439, 441, 442, 214, 351, 265, 321, 210, 271, + 387, 285, 294, 0, 0, 338, 369, 219, 423, 388, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 190, 203, 290, 0, 358, 255, 445, 429, 426, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 192, 193, 204, 212, 221, 233, + 246, 253, 263, 267, 270, 273, 274, 277, 282, 299, + 304, 305, 306, 307, 323, 324, 325, 328, 331, 332, + 334, 336, 337, 340, 346, 347, 348, 349, 350, 352, + 359, 363, 371, 372, 373, 374, 375, 376, 377, 381, + 382, 383, 384, 392, 396, 411, 412, 422, 433, 437, + 264, 419, 438, 0, 298, 0, 0, 300, 250, 266, + 275, 0, 428, 393, 207, 365, 256, 197, 224, 211, + 231, 245, 247, 279, 308, 314, 342, 345, 261, 242, + 222, 362, 220, 379, 399, 400, 401, 403, 312, 238, + 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 0, 0, 0, 0, 0, 288, 0, + 0, 0, 343, 0, 380, 227, 297, 295, 408, 251, + 244, 240, 226, 272, 303, 341, 398, 335, 0, 292, + 0, 0, 389, 315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 225, 195, 327, 390, 254, 69, 0, 0, 177, 178, + 179, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 223, 0, 0, 0, 0, 237, 276, 243, 236, + 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 262, 0, 316, 0, 0, 0, 434, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, + 284, 191, 205, 0, 0, 326, 364, 370, 0, 0, + 0, 228, 0, 368, 339, 421, 213, 252, 361, 344, + 366, 0, 0, 367, 293, 410, 356, 420, 435, 436, + 235, 320, 427, 402, 432, 444, 206, 232, 333, 395, + 424, 386, 313, 406, 407, 283, 385, 260, 194, 291, + 198, 397, 418, 218, 378, 0, 0, 0, 200, 416, + 394, 310, 280, 281, 199, 0, 360, 239, 258, 230, + 329, 413, 414, 229, 446, 208, 431, 202, 209, 430, + 322, 409, 417, 311, 302, 201, 415, 309, 301, 286, + 249, 268, 354, 296, 355, 269, 318, 317, 319, 0, + 196, 0, 391, 425, 447, 215, 0, 0, 404, 440, + 443, 0, 357, 216, 259, 248, 353, 257, 289, 439, + 441, 442, 214, 351, 265, 321, 210, 271, 387, 285, + 294, 0, 0, 338, 369, 219, 423, 388, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 203, + 290, 0, 358, 255, 445, 429, 426, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 193, 204, 212, 221, 233, 246, 253, + 263, 267, 270, 273, 274, 277, 282, 299, 304, 305, + 306, 307, 323, 324, 325, 328, 331, 332, 334, 336, + 337, 340, 346, 347, 348, 349, 350, 352, 359, 363, + 371, 372, 373, 374, 375, 376, 377, 381, 382, 383, + 384, 392, 396, 411, 412, 422, 433, 437, 264, 419, + 438, 0, 298, 0, 0, 300, 250, 266, 275, 0, + 428, 393, 207, 365, 256, 197, 224, 211, 231, 245, + 247, 279, 308, 314, 342, 345, 261, 242, 222, 362, + 220, 379, 399, 400, 401, 403, 312, 238, 330, 0, + 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, + 0, 0, 0, 288, 0, 0, 0, 343, 0, 380, + 227, 297, 295, 408, 251, 244, 240, 226, 272, 303, + 341, 398, 335, 0, 292, 0, 0, 389, 315, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 225, 195, 327, 390, 254, + 0, 0, 0, 177, 178, 179, 0, 0, 1445, 0, + 0, 1446, 0, 0, 217, 0, 223, 0, 0, 0, + 0, 237, 276, 243, 236, 405, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, + 316, 0, 0, 0, 434, 0, 0, 0, 0, 0, + 0, 0, 0, 287, 0, 284, 191, 205, 0, 0, + 326, 364, 370, 0, 0, 0, 228, 0, 368, 339, + 421, 213, 252, 361, 344, 366, 0, 0, 367, 293, + 410, 356, 420, 435, 436, 235, 320, 427, 402, 432, + 444, 206, 232, 333, 395, 424, 386, 313, 406, 407, + 283, 385, 260, 194, 291, 198, 397, 418, 218, 378, + 0, 0, 0, 200, 416, 394, 310, 280, 281, 199, + 0, 360, 239, 258, 230, 329, 413, 414, 229, 446, + 208, 431, 202, 209, 430, 322, 409, 417, 311, 302, + 201, 415, 309, 301, 286, 249, 268, 354, 296, 355, + 269, 318, 317, 319, 0, 196, 0, 391, 425, 447, + 215, 0, 0, 404, 440, 443, 0, 357, 216, 259, + 248, 353, 257, 289, 439, 441, 442, 214, 351, 265, + 321, 210, 271, 387, 285, 294, 0, 0, 338, 369, + 219, 423, 388, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 190, 203, 290, 0, 358, 255, 445, + 429, 426, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 193, 204, + 212, 221, 233, 246, 253, 263, 267, 270, 273, 274, + 277, 282, 299, 304, 305, 306, 307, 323, 324, 325, + 328, 331, 332, 334, 336, 337, 340, 346, 347, 348, + 349, 350, 352, 359, 363, 371, 372, 373, 374, 375, + 376, 377, 381, 382, 383, 384, 392, 396, 411, 412, + 422, 433, 437, 264, 419, 438, 0, 298, 0, 0, + 300, 250, 266, 275, 0, 428, 393, 207, 365, 256, + 197, 224, 211, 231, 245, 247, 279, 308, 314, 342, + 345, 261, 242, 222, 362, 220, 379, 399, 400, 401, + 403, 312, 238, 330, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 0, 1093, 0, 0, 0, 288, 0, + 0, 0, 343, 0, 380, 227, 297, 295, 408, 251, + 244, 240, 226, 272, 303, 341, 398, 335, 0, 292, + 0, 0, 389, 315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 225, 195, 327, 390, 254, 0, 0, 0, 177, 178, + 179, 0, 1092, 0, 0, 0, 0, 0, 0, 217, + 0, 223, 0, 0, 0, 0, 237, 276, 243, 236, + 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 262, 0, 316, 0, 0, 0, 434, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, + 284, 191, 205, 0, 0, 326, 364, 370, 0, 0, + 0, 228, 0, 368, 339, 421, 213, 252, 361, 344, + 366, 0, 0, 367, 293, 410, 356, 420, 435, 436, + 235, 320, 427, 402, 432, 444, 206, 232, 333, 395, + 424, 386, 313, 406, 407, 283, 385, 260, 194, 291, + 198, 397, 418, 218, 378, 0, 0, 0, 200, 416, + 394, 310, 280, 281, 199, 0, 360, 239, 258, 230, + 329, 413, 414, 229, 446, 208, 431, 202, 209, 430, + 322, 409, 417, 311, 302, 201, 415, 309, 301, 286, + 249, 268, 354, 296, 355, 269, 318, 317, 319, 0, + 196, 0, 391, 425, 447, 215, 0, 0, 404, 440, + 443, 0, 357, 216, 259, 248, 353, 257, 289, 439, + 441, 442, 214, 351, 265, 321, 210, 271, 387, 285, + 294, 0, 0, 338, 369, 219, 423, 388, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 203, + 290, 0, 358, 255, 445, 429, 426, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 193, 204, 212, 221, 233, 246, 253, + 263, 267, 270, 273, 274, 277, 282, 299, 304, 305, + 306, 307, 323, 324, 325, 328, 331, 332, 334, 336, + 337, 340, 346, 347, 348, 349, 350, 352, 359, 363, + 371, 372, 373, 374, 375, 376, 377, 381, 382, 383, + 384, 392, 396, 411, 412, 422, 433, 437, 264, 419, + 438, 0, 298, 0, 0, 300, 250, 266, 275, 0, + 428, 393, 207, 365, 256, 197, 224, 211, 231, 245, + 247, 279, 308, 314, 342, 345, 261, 242, 222, 362, + 220, 379, 399, 400, 401, 403, 312, 238, 330, 0, + 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, + 0, 0, 0, 288, 0, 0, 0, 343, 0, 380, + 227, 297, 295, 408, 251, 244, 240, 226, 272, 303, + 341, 398, 335, 0, 292, 0, 0, 389, 315, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 225, 195, 327, 390, 254, + 0, 0, 580, 177, 178, 179, 0, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 223, 0, 0, 0, + 0, 237, 276, 243, 236, 405, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, + 316, 0, 0, 0, 434, 0, 0, 0, 0, 0, + 0, 0, 0, 287, 0, 284, 191, 205, 0, 0, + 326, 364, 370, 0, 0, 0, 228, 0, 368, 339, + 421, 213, 252, 361, 344, 366, 0, 0, 367, 293, + 410, 356, 420, 435, 436, 235, 320, 427, 402, 432, + 444, 206, 232, 333, 395, 424, 386, 313, 406, 407, + 283, 385, 260, 194, 291, 198, 397, 418, 218, 378, + 0, 0, 0, 200, 416, 394, 310, 280, 281, 199, + 0, 360, 239, 258, 230, 329, 413, 414, 229, 446, + 208, 431, 202, 209, 430, 322, 409, 417, 311, 302, + 201, 415, 309, 301, 286, 249, 268, 354, 296, 355, + 269, 318, 317, 319, 0, 196, 0, 391, 425, 447, + 215, 0, 0, 404, 440, 443, 0, 357, 216, 259, + 248, 353, 257, 289, 439, 441, 442, 214, 351, 265, + 321, 210, 271, 387, 285, 294, 0, 0, 338, 369, + 219, 423, 388, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 190, 203, 290, 0, 358, 255, 445, + 429, 426, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 193, 204, + 212, 221, 233, 246, 253, 263, 267, 270, 273, 274, + 277, 282, 299, 304, 305, 306, 307, 323, 324, 325, + 328, 331, 332, 334, 336, 337, 340, 346, 347, 348, + 349, 350, 352, 359, 363, 371, 372, 373, 374, 375, + 376, 377, 381, 382, 383, 384, 392, 396, 411, 412, + 422, 433, 437, 264, 419, 438, 0, 298, 0, 0, + 300, 250, 266, 275, 0, 428, 393, 207, 365, 256, + 197, 224, 211, 231, 245, 247, 279, 308, 314, 342, + 345, 261, 242, 222, 362, 220, 379, 399, 400, 401, + 403, 312, 238, 330, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 0, 0, 0, 0, 0, 288, 0, + 0, 0, 343, 0, 380, 227, 297, 295, 408, 251, + 244, 240, 226, 272, 303, 341, 398, 335, 0, 292, + 0, 0, 389, 315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 225, 195, 327, 390, 254, 69, 0, 0, 177, 178, + 179, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 223, 0, 0, 0, 0, 237, 276, 243, 236, + 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 262, 0, 316, 0, 0, 0, 434, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, + 284, 191, 205, 0, 0, 326, 364, 370, 0, 0, + 0, 228, 0, 368, 339, 421, 213, 252, 361, 344, + 366, 0, 0, 367, 293, 410, 356, 420, 435, 436, + 235, 320, 427, 402, 432, 444, 206, 232, 333, 395, + 424, 386, 313, 406, 407, 283, 385, 260, 194, 291, + 198, 397, 418, 218, 378, 0, 0, 0, 200, 416, + 394, 310, 280, 281, 199, 0, 360, 239, 258, 230, + 329, 413, 414, 229, 446, 208, 431, 202, 209, 430, + 322, 409, 417, 311, 302, 201, 415, 309, 301, 286, + 249, 268, 354, 296, 355, 269, 318, 317, 319, 0, + 196, 0, 391, 425, 447, 215, 0, 0, 404, 440, + 443, 0, 357, 216, 259, 248, 353, 257, 289, 439, + 441, 442, 214, 351, 265, 321, 210, 271, 387, 285, + 294, 0, 0, 338, 369, 219, 423, 388, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 203, + 290, 0, 358, 255, 445, 429, 426, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 193, 204, 212, 221, 233, 246, 253, + 263, 267, 270, 273, 274, 277, 282, 299, 304, 305, + 306, 307, 323, 324, 325, 328, 331, 332, 334, 336, + 337, 340, 346, 347, 348, 349, 350, 352, 359, 363, + 371, 372, 373, 374, 375, 376, 377, 381, 382, 383, + 384, 392, 396, 411, 412, 422, 433, 437, 264, 419, + 438, 0, 298, 0, 0, 300, 250, 266, 275, 0, + 428, 393, 207, 365, 256, 197, 224, 211, 231, 245, + 247, 279, 308, 314, 342, 345, 261, 242, 222, 362, + 220, 379, 399, 400, 401, 403, 312, 238, 330, 0, + 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, + 0, 0, 0, 288, 0, 0, 0, 343, 0, 380, + 227, 297, 295, 408, 251, 244, 240, 226, 272, 303, + 341, 398, 335, 0, 292, 0, 0, 389, 315, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 225, 195, 327, 390, 254, + 0, 0, 0, 177, 178, 179, 0, 1427, 0, 0, + 0, 0, 0, 0, 217, 0, 223, 0, 0, 0, + 0, 237, 276, 243, 236, 405, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, + 316, 0, 0, 0, 434, 0, 0, 0, 0, 0, + 0, 0, 0, 287, 0, 284, 191, 205, 0, 0, + 326, 364, 370, 0, 0, 0, 228, 0, 368, 339, + 421, 213, 252, 361, 344, 366, 0, 0, 367, 293, + 410, 356, 420, 435, 436, 235, 320, 427, 402, 432, + 444, 206, 232, 333, 395, 424, 386, 313, 406, 407, + 283, 385, 260, 194, 291, 198, 397, 418, 218, 378, + 0, 0, 0, 200, 416, 394, 310, 280, 281, 199, + 0, 360, 239, 258, 230, 329, 413, 414, 229, 446, + 208, 431, 202, 209, 430, 322, 409, 417, 311, 302, + 201, 415, 309, 301, 286, 249, 268, 354, 296, 355, + 269, 318, 317, 319, 0, 196, 0, 391, 425, 447, + 215, 0, 0, 404, 440, 443, 0, 357, 216, 259, + 248, 353, 257, 289, 439, 441, 442, 214, 351, 265, + 321, 210, 271, 387, 285, 294, 0, 0, 338, 369, + 219, 423, 388, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 190, 203, 290, 0, 358, 255, 445, + 429, 426, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 193, 204, + 212, 221, 233, 246, 253, 263, 267, 270, 273, 274, + 277, 282, 299, 304, 305, 306, 307, 323, 324, 325, + 328, 331, 332, 334, 336, 337, 340, 346, 347, 348, + 349, 350, 352, 359, 363, 371, 372, 373, 374, 375, + 376, 377, 381, 382, 383, 384, 392, 396, 411, 412, + 422, 433, 437, 264, 419, 438, 0, 298, 0, 0, + 300, 250, 266, 275, 0, 428, 393, 207, 365, 256, + 197, 224, 211, 231, 245, 247, 279, 308, 314, 342, + 345, 261, 242, 222, 362, 220, 379, 399, 400, 401, + 403, 312, 238, 330, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 0, 0, 0, 0, 0, 288, 0, + 0, 0, 343, 0, 380, 227, 297, 295, 408, 251, + 244, 240, 226, 272, 303, 341, 398, 335, 0, 292, + 0, 0, 389, 315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 225, 195, 327, 390, 254, 0, 0, 0, 177, 178, + 179, 0, 1062, 0, 0, 0, 0, 0, 0, 217, + 0, 223, 0, 0, 0, 0, 237, 276, 243, 236, + 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 262, 0, 316, 0, 0, 0, 434, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, + 284, 191, 205, 0, 0, 326, 364, 370, 0, 0, + 0, 228, 0, 368, 339, 421, 213, 252, 361, 344, + 366, 0, 0, 367, 293, 410, 356, 420, 435, 436, + 235, 320, 427, 402, 432, 444, 206, 232, 333, 395, + 424, 386, 313, 406, 407, 283, 385, 260, 194, 291, + 198, 397, 418, 218, 378, 0, 0, 0, 200, 416, + 394, 310, 280, 281, 199, 0, 360, 239, 258, 230, + 329, 413, 414, 229, 446, 208, 431, 202, 209, 430, + 322, 409, 417, 311, 302, 201, 415, 309, 301, 286, + 249, 268, 354, 296, 355, 269, 318, 317, 319, 0, + 196, 0, 391, 425, 447, 215, 0, 0, 404, 440, + 443, 0, 357, 216, 259, 248, 353, 257, 289, 439, + 441, 442, 214, 351, 265, 321, 210, 271, 387, 285, + 294, 0, 0, 338, 369, 219, 423, 388, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 203, + 290, 0, 358, 255, 445, 429, 426, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 193, 204, 212, 221, 233, 246, 253, + 263, 267, 270, 273, 274, 277, 282, 299, 304, 305, + 306, 307, 323, 324, 325, 328, 331, 332, 334, 336, + 337, 340, 346, 347, 348, 349, 350, 352, 359, 363, + 371, 372, 373, 374, 375, 376, 377, 381, 382, 383, + 384, 392, 396, 411, 412, 422, 433, 437, 264, 419, + 438, 0, 298, 0, 0, 300, 250, 266, 275, 0, + 428, 393, 207, 365, 256, 197, 224, 211, 231, 245, + 247, 279, 308, 314, 342, 345, 261, 242, 222, 362, + 220, 379, 399, 400, 401, 403, 312, 238, 330, 0, + 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, + 0, 0, 0, 288, 0, 0, 0, 343, 0, 380, + 227, 297, 295, 408, 251, 244, 240, 226, 272, 303, + 341, 398, 335, 0, 292, 0, 0, 389, 315, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 225, 195, 327, 390, 254, + 0, 0, 0, 177, 178, 179, 0, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 223, 0, 0, 0, + 0, 237, 276, 243, 236, 405, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, + 316, 0, 0, 0, 434, 0, 0, 0, 0, 0, + 0, 0, 0, 287, 0, 284, 191, 205, 0, 0, + 326, 364, 370, 0, 0, 0, 228, 0, 368, 339, + 421, 213, 252, 361, 344, 366, 0, 0, 367, 293, + 410, 356, 420, 435, 436, 235, 320, 427, 402, 432, + 444, 206, 232, 333, 395, 424, 386, 313, 406, 407, + 283, 385, 260, 194, 291, 198, 397, 418, 218, 378, + 0, 0, 0, 200, 416, 394, 310, 280, 281, 199, + 0, 360, 239, 258, 230, 329, 413, 414, 229, 446, + 208, 431, 202, 209, 430, 322, 409, 417, 311, 302, + 201, 415, 309, 301, 286, 249, 268, 354, 296, 355, + 269, 318, 317, 319, 0, 196, 0, 391, 425, 447, + 215, 0, 0, 404, 440, 443, 0, 357, 216, 259, + 248, 353, 257, 289, 439, 441, 442, 214, 351, 265, + 321, 210, 271, 387, 285, 294, 0, 0, 338, 369, + 219, 423, 388, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 190, 203, 290, 1330, 358, 255, 445, + 429, 426, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 193, 204, + 212, 221, 233, 246, 253, 263, 267, 270, 273, 274, + 277, 282, 299, 304, 305, 306, 307, 323, 324, 325, + 328, 331, 332, 334, 336, 337, 340, 346, 347, 348, + 349, 350, 352, 359, 363, 371, 372, 373, 374, 375, + 376, 377, 381, 382, 383, 384, 392, 396, 411, 412, + 422, 433, 437, 264, 419, 438, 0, 298, 0, 0, + 300, 250, 266, 275, 0, 428, 393, 207, 365, 256, + 197, 224, 211, 231, 245, 247, 279, 308, 314, 342, + 345, 261, 242, 222, 362, 220, 379, 399, 400, 401, + 403, 312, 238, 330, 0, 1217, 0, 0, 0, 0, + 0, 0, 241, 0, 0, 0, 0, 0, 288, 0, + 0, 0, 343, 0, 380, 227, 297, 295, 408, 251, + 244, 240, 226, 272, 303, 341, 398, 335, 0, 292, + 0, 0, 389, 315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 225, 195, 327, 390, 254, 0, 0, 0, 177, 178, + 179, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 223, 0, 0, 0, 0, 237, 276, 243, 236, + 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 262, 0, 316, 0, 0, 0, 434, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, + 284, 191, 205, 0, 0, 326, 364, 370, 0, 0, + 0, 228, 0, 368, 339, 421, 213, 252, 361, 344, + 366, 0, 0, 367, 293, 410, 356, 420, 435, 436, + 235, 320, 427, 402, 432, 444, 206, 232, 333, 395, + 424, 386, 313, 406, 407, 283, 385, 260, 194, 291, + 198, 397, 418, 218, 378, 0, 0, 0, 200, 416, + 394, 310, 280, 281, 199, 0, 360, 239, 258, 230, + 329, 413, 414, 229, 446, 208, 431, 202, 209, 430, + 322, 409, 417, 311, 302, 201, 415, 309, 301, 286, + 249, 268, 354, 296, 355, 269, 318, 317, 319, 0, + 196, 0, 391, 425, 447, 215, 0, 0, 404, 440, + 443, 0, 357, 216, 259, 248, 353, 257, 289, 439, + 441, 442, 214, 351, 265, 321, 210, 271, 387, 285, + 294, 0, 0, 338, 369, 219, 423, 388, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 203, + 290, 0, 358, 255, 445, 429, 426, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 193, 204, 212, 221, 233, 246, 253, + 263, 267, 270, 273, 274, 277, 282, 299, 304, 305, + 306, 307, 323, 324, 325, 328, 331, 332, 334, 336, + 337, 340, 346, 347, 348, 349, 350, 352, 359, 363, + 371, 372, 373, 374, 375, 376, 377, 381, 382, 383, + 384, 392, 396, 411, 412, 422, 433, 437, 264, 419, + 438, 0, 298, 0, 0, 300, 250, 266, 275, 0, + 428, 393, 207, 365, 256, 197, 224, 211, 231, 245, + 247, 279, 308, 314, 342, 345, 261, 242, 222, 362, + 220, 379, 399, 400, 401, 403, 312, 238, 330, 0, + 1215, 0, 0, 0, 0, 0, 0, 241, 0, 0, + 0, 0, 0, 288, 0, 0, 0, 343, 0, 380, + 227, 297, 295, 408, 251, 244, 240, 226, 272, 303, + 341, 398, 335, 0, 292, 0, 0, 389, 315, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 225, 195, 327, 390, 254, + 0, 0, 0, 177, 178, 179, 0, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 223, 0, 0, 0, + 0, 237, 276, 243, 236, 405, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, + 316, 0, 0, 0, 434, 0, 0, 0, 0, 0, + 0, 0, 0, 287, 0, 284, 191, 205, 0, 0, + 326, 364, 370, 0, 0, 0, 228, 0, 368, 339, + 421, 213, 252, 361, 344, 366, 0, 0, 367, 293, + 410, 356, 420, 435, 436, 235, 320, 427, 402, 432, + 444, 206, 232, 333, 395, 424, 386, 313, 406, 407, + 283, 385, 260, 194, 291, 198, 397, 418, 218, 378, + 0, 0, 0, 200, 416, 394, 310, 280, 281, 199, + 0, 360, 239, 258, 230, 329, 413, 414, 229, 446, + 208, 431, 202, 209, 430, 322, 409, 417, 311, 302, + 201, 415, 309, 301, 286, 249, 268, 354, 296, 355, + 269, 318, 317, 319, 0, 196, 0, 391, 425, 447, + 215, 0, 0, 404, 440, 443, 0, 357, 216, 259, + 248, 353, 257, 289, 439, 441, 442, 214, 351, 265, + 321, 210, 271, 387, 285, 294, 0, 0, 338, 369, + 219, 423, 388, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 190, 203, 290, 0, 358, 255, 445, + 429, 426, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 193, 204, + 212, 221, 233, 246, 253, 263, 267, 270, 273, 274, + 277, 282, 299, 304, 305, 306, 307, 323, 324, 325, + 328, 331, 332, 334, 336, 337, 340, 346, 347, 348, + 349, 350, 352, 359, 363, 371, 372, 373, 374, 375, + 376, 377, 381, 382, 383, 384, 392, 396, 411, 412, + 422, 433, 437, 264, 419, 438, 0, 298, 0, 0, + 300, 250, 266, 275, 0, 428, 393, 207, 365, 256, + 197, 224, 211, 231, 245, 247, 279, 308, 314, 342, + 345, 261, 242, 222, 362, 220, 379, 399, 400, 401, + 403, 312, 238, 330, 0, 1213, 0, 0, 0, 0, + 0, 0, 241, 0, 0, 0, 0, 0, 288, 0, + 0, 0, 343, 0, 380, 227, 297, 295, 408, 251, + 244, 240, 226, 272, 303, 341, 398, 335, 0, 292, + 0, 0, 389, 315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 225, 195, 327, 390, 254, 0, 0, 0, 177, 178, + 179, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 223, 0, 0, 0, 0, 237, 276, 243, 236, + 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 262, 0, 316, 0, 0, 0, 434, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, + 284, 191, 205, 0, 0, 326, 364, 370, 0, 0, + 0, 228, 0, 368, 339, 421, 213, 252, 361, 344, + 366, 0, 0, 367, 293, 410, 356, 420, 435, 436, + 235, 320, 427, 402, 432, 444, 206, 232, 333, 395, + 424, 386, 313, 406, 407, 283, 385, 260, 194, 291, + 198, 397, 418, 218, 378, 0, 0, 0, 200, 416, + 394, 310, 280, 281, 199, 0, 360, 239, 258, 230, + 329, 413, 414, 229, 446, 208, 431, 202, 209, 430, + 322, 409, 417, 311, 302, 201, 415, 309, 301, 286, + 249, 268, 354, 296, 355, 269, 318, 317, 319, 0, + 196, 0, 391, 425, 447, 215, 0, 0, 404, 440, + 443, 0, 357, 216, 259, 248, 353, 257, 289, 439, + 441, 442, 214, 351, 265, 321, 210, 271, 387, 285, + 294, 0, 0, 338, 369, 219, 423, 388, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 203, + 290, 0, 358, 255, 445, 429, 426, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 193, 204, 212, 221, 233, 246, 253, + 263, 267, 270, 273, 274, 277, 282, 299, 304, 305, + 306, 307, 323, 324, 325, 328, 331, 332, 334, 336, + 337, 340, 346, 347, 348, 349, 350, 352, 359, 363, + 371, 372, 373, 374, 375, 376, 377, 381, 382, 383, + 384, 392, 396, 411, 412, 422, 433, 437, 264, 419, + 438, 0, 298, 0, 0, 300, 250, 266, 275, 0, + 428, 393, 207, 365, 256, 197, 224, 211, 231, 245, + 247, 279, 308, 314, 342, 345, 261, 242, 222, 362, + 220, 379, 399, 400, 401, 403, 312, 238, 330, 0, + 1211, 0, 0, 0, 0, 0, 0, 241, 0, 0, + 0, 0, 0, 288, 0, 0, 0, 343, 0, 380, + 227, 297, 295, 408, 251, 244, 240, 226, 272, 303, + 341, 398, 335, 0, 292, 0, 0, 389, 315, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 225, 195, 327, 390, 254, + 0, 0, 0, 177, 178, 179, 0, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 223, 0, 0, 0, + 0, 237, 276, 243, 236, 405, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, + 316, 0, 0, 0, 434, 0, 0, 0, 0, 0, + 0, 0, 0, 287, 0, 284, 191, 205, 0, 0, + 326, 364, 370, 0, 0, 0, 228, 0, 368, 339, + 421, 213, 252, 361, 344, 366, 0, 0, 367, 293, + 410, 356, 420, 435, 436, 235, 320, 427, 402, 432, + 444, 206, 232, 333, 395, 424, 386, 313, 406, 407, + 283, 385, 260, 194, 291, 198, 397, 418, 218, 378, + 0, 0, 0, 200, 416, 394, 310, 280, 281, 199, + 0, 360, 239, 258, 230, 329, 413, 414, 229, 446, + 208, 431, 202, 209, 430, 322, 409, 417, 311, 302, + 201, 415, 309, 301, 286, 249, 268, 354, 296, 355, + 269, 318, 317, 319, 0, 196, 0, 391, 425, 447, + 215, 0, 0, 404, 440, 443, 0, 357, 216, 259, + 248, 353, 257, 289, 439, 441, 442, 214, 351, 265, + 321, 210, 271, 387, 285, 294, 0, 0, 338, 369, + 219, 423, 388, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 190, 203, 290, 0, 358, 255, 445, + 429, 426, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 193, 204, + 212, 221, 233, 246, 253, 263, 267, 270, 273, 274, + 277, 282, 299, 304, 305, 306, 307, 323, 324, 325, + 328, 331, 332, 334, 336, 337, 340, 346, 347, 348, + 349, 350, 352, 359, 363, 371, 372, 373, 374, 375, + 376, 377, 381, 382, 383, 384, 392, 396, 411, 412, + 422, 433, 437, 264, 419, 438, 0, 298, 0, 0, + 300, 250, 266, 275, 0, 428, 393, 207, 365, 256, + 197, 224, 211, 231, 245, 247, 279, 308, 314, 342, + 345, 261, 242, 222, 362, 220, 379, 399, 400, 401, + 403, 312, 238, 330, 0, 1209, 0, 0, 0, 0, + 0, 0, 241, 0, 0, 0, 0, 0, 288, 0, + 0, 0, 343, 0, 380, 227, 297, 295, 408, 251, + 244, 240, 226, 272, 303, 341, 398, 335, 0, 292, + 0, 0, 389, 315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 225, 195, 327, 390, 254, 0, 0, 0, 177, 178, + 179, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 223, 0, 0, 0, 0, 237, 276, 243, 236, + 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 262, 0, 316, 0, 0, 0, 434, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, + 284, 191, 205, 0, 0, 326, 364, 370, 0, 0, + 0, 228, 0, 368, 339, 421, 213, 252, 361, 344, + 366, 0, 0, 367, 293, 410, 356, 420, 435, 436, + 235, 320, 427, 402, 432, 444, 206, 232, 333, 395, + 424, 386, 313, 406, 407, 283, 385, 260, 194, 291, + 198, 397, 418, 218, 378, 0, 0, 0, 200, 416, + 394, 310, 280, 281, 199, 0, 360, 239, 258, 230, + 329, 413, 414, 229, 446, 208, 431, 202, 209, 430, + 322, 409, 417, 311, 302, 201, 415, 309, 301, 286, + 249, 268, 354, 296, 355, 269, 318, 317, 319, 0, + 196, 0, 391, 425, 447, 215, 0, 0, 404, 440, + 443, 0, 357, 216, 259, 248, 353, 257, 289, 439, + 441, 442, 214, 351, 265, 321, 210, 271, 387, 285, + 294, 0, 0, 338, 369, 219, 423, 388, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 203, + 290, 0, 358, 255, 445, 429, 426, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 193, 204, 212, 221, 233, 246, 253, + 263, 267, 270, 273, 274, 277, 282, 299, 304, 305, + 306, 307, 323, 324, 325, 328, 331, 332, 334, 336, + 337, 340, 346, 347, 348, 349, 350, 352, 359, 363, + 371, 372, 373, 374, 375, 376, 377, 381, 382, 383, + 384, 392, 396, 411, 412, 422, 433, 437, 264, 419, + 438, 0, 298, 0, 0, 300, 250, 266, 275, 0, + 428, 393, 207, 365, 256, 197, 224, 211, 231, 245, + 247, 279, 308, 314, 342, 345, 261, 242, 222, 362, + 220, 379, 399, 400, 401, 403, 312, 238, 330, 0, + 1205, 0, 0, 0, 0, 0, 0, 241, 0, 0, + 0, 0, 0, 288, 0, 0, 0, 343, 0, 380, + 227, 297, 295, 408, 251, 244, 240, 226, 272, 303, + 341, 398, 335, 0, 292, 0, 0, 389, 315, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 225, 195, 327, 390, 254, + 0, 0, 0, 177, 178, 179, 0, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 223, 0, 0, 0, + 0, 237, 276, 243, 236, 405, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, + 316, 0, 0, 0, 434, 0, 0, 0, 0, 0, + 0, 0, 0, 287, 0, 284, 191, 205, 0, 0, + 326, 364, 370, 0, 0, 0, 228, 0, 368, 339, + 421, 213, 252, 361, 344, 366, 0, 0, 367, 293, + 410, 356, 420, 435, 436, 235, 320, 427, 402, 432, + 444, 206, 232, 333, 395, 424, 386, 313, 406, 407, + 283, 385, 260, 194, 291, 198, 397, 418, 218, 378, + 0, 0, 0, 200, 416, 394, 310, 280, 281, 199, + 0, 360, 239, 258, 230, 329, 413, 414, 229, 446, + 208, 431, 202, 209, 430, 322, 409, 417, 311, 302, + 201, 415, 309, 301, 286, 249, 268, 354, 296, 355, + 269, 318, 317, 319, 0, 196, 0, 391, 425, 447, + 215, 0, 0, 404, 440, 443, 0, 357, 216, 259, + 248, 353, 257, 289, 439, 441, 442, 214, 351, 265, + 321, 210, 271, 387, 285, 294, 0, 0, 338, 369, + 219, 423, 388, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 190, 203, 290, 0, 358, 255, 445, + 429, 426, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 193, 204, + 212, 221, 233, 246, 253, 263, 267, 270, 273, 274, + 277, 282, 299, 304, 305, 306, 307, 323, 324, 325, + 328, 331, 332, 334, 336, 337, 340, 346, 347, 348, + 349, 350, 352, 359, 363, 371, 372, 373, 374, 375, + 376, 377, 381, 382, 383, 384, 392, 396, 411, 412, + 422, 433, 437, 264, 419, 438, 0, 298, 0, 0, + 300, 250, 266, 275, 0, 428, 393, 207, 365, 256, + 197, 224, 211, 231, 245, 247, 279, 308, 314, 342, + 345, 261, 242, 222, 362, 220, 379, 399, 400, 401, + 403, 312, 238, 330, 0, 1203, 0, 0, 0, 0, + 0, 0, 241, 0, 0, 0, 0, 0, 288, 0, + 0, 0, 343, 0, 380, 227, 297, 295, 408, 251, + 244, 240, 226, 272, 303, 341, 398, 335, 0, 292, + 0, 0, 389, 315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 225, 195, 327, 390, 254, 0, 0, 0, 177, 178, + 179, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 223, 0, 0, 0, 0, 237, 276, 243, 236, + 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 262, 0, 316, 0, 0, 0, 434, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, + 284, 191, 205, 0, 0, 326, 364, 370, 0, 0, + 0, 228, 0, 368, 339, 421, 213, 252, 361, 344, + 366, 0, 0, 367, 293, 410, 356, 420, 435, 436, + 235, 320, 427, 402, 432, 444, 206, 232, 333, 395, + 424, 386, 313, 406, 407, 283, 385, 260, 194, 291, + 198, 397, 418, 218, 378, 0, 0, 0, 200, 416, + 394, 310, 280, 281, 199, 0, 360, 239, 258, 230, + 329, 413, 414, 229, 446, 208, 431, 202, 209, 430, + 322, 409, 417, 311, 302, 201, 415, 309, 301, 286, + 249, 268, 354, 296, 355, 269, 318, 317, 319, 0, + 196, 0, 391, 425, 447, 215, 0, 0, 404, 440, + 443, 0, 357, 216, 259, 248, 353, 257, 289, 439, + 441, 442, 214, 351, 265, 321, 210, 271, 387, 285, + 294, 0, 0, 338, 369, 219, 423, 388, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 203, + 290, 0, 358, 255, 445, 429, 426, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 193, 204, 212, 221, 233, 246, 253, + 263, 267, 270, 273, 274, 277, 282, 299, 304, 305, + 306, 307, 323, 324, 325, 328, 331, 332, 334, 336, + 337, 340, 346, 347, 348, 349, 350, 352, 359, 363, + 371, 372, 373, 374, 375, 376, 377, 381, 382, 383, + 384, 392, 396, 411, 412, 422, 433, 437, 264, 419, + 438, 0, 298, 0, 0, 300, 250, 266, 275, 0, + 428, 393, 207, 365, 256, 197, 224, 211, 231, 245, + 247, 279, 308, 314, 342, 345, 261, 242, 222, 362, + 220, 379, 399, 400, 401, 403, 312, 238, 330, 0, + 1201, 0, 0, 0, 0, 0, 0, 241, 0, 0, + 0, 0, 0, 288, 0, 0, 0, 343, 0, 380, + 227, 297, 295, 408, 251, 244, 240, 226, 272, 303, + 341, 398, 335, 0, 292, 0, 0, 389, 315, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 225, 195, 327, 390, 254, + 0, 0, 0, 177, 178, 179, 0, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 223, 0, 0, 0, + 0, 237, 276, 243, 236, 405, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, + 316, 0, 0, 0, 434, 0, 0, 0, 0, 0, + 0, 0, 0, 287, 0, 284, 191, 205, 0, 0, + 326, 364, 370, 0, 0, 0, 228, 0, 368, 339, + 421, 213, 252, 361, 344, 366, 0, 0, 367, 293, + 410, 356, 420, 435, 436, 235, 320, 427, 402, 432, + 444, 206, 232, 333, 395, 424, 386, 313, 406, 407, + 283, 385, 260, 194, 291, 198, 397, 418, 218, 378, + 0, 0, 0, 200, 416, 394, 310, 280, 281, 199, + 0, 360, 239, 258, 230, 329, 413, 414, 229, 446, + 208, 431, 202, 209, 430, 322, 409, 417, 311, 302, + 201, 415, 309, 301, 286, 249, 268, 354, 296, 355, + 269, 318, 317, 319, 0, 196, 0, 391, 425, 447, + 215, 0, 0, 404, 440, 443, 0, 357, 216, 259, + 248, 353, 257, 289, 439, 441, 442, 214, 351, 265, + 321, 210, 271, 387, 285, 294, 0, 0, 338, 369, + 219, 423, 388, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 190, 203, 290, 0, 358, 255, 445, + 429, 426, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 193, 204, + 212, 221, 233, 246, 253, 263, 267, 270, 273, 274, + 277, 282, 299, 304, 305, 306, 307, 323, 324, 325, + 328, 331, 332, 334, 336, 337, 340, 346, 347, 348, + 349, 350, 352, 359, 363, 371, 372, 373, 374, 375, + 376, 377, 381, 382, 383, 384, 392, 396, 411, 412, + 422, 433, 437, 264, 419, 438, 0, 298, 0, 0, + 300, 250, 266, 275, 0, 428, 393, 207, 365, 256, + 197, 224, 211, 231, 245, 247, 279, 308, 314, 342, + 345, 261, 242, 222, 362, 220, 379, 399, 400, 401, + 403, 312, 238, 330, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 0, 0, 0, 0, 0, 288, 0, + 0, 0, 343, 0, 380, 227, 297, 295, 408, 251, + 244, 240, 226, 272, 303, 341, 398, 335, 0, 292, + 0, 0, 389, 315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 225, 195, 327, 390, 254, 1176, 0, 0, 177, 178, + 179, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 223, 0, 0, 0, 0, 237, 276, 243, 236, + 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 262, 0, 316, 0, 0, 0, 434, + 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, + 284, 191, 205, 0, 0, 326, 364, 370, 0, 0, + 0, 228, 0, 368, 339, 421, 213, 252, 361, 344, + 366, 0, 0, 367, 293, 410, 356, 420, 435, 436, + 235, 320, 427, 402, 432, 444, 206, 232, 333, 395, + 424, 386, 313, 406, 407, 283, 385, 260, 194, 291, + 198, 397, 418, 218, 378, 0, 0, 0, 200, 416, + 394, 310, 280, 281, 199, 0, 360, 239, 258, 230, + 329, 413, 414, 229, 446, 208, 431, 202, 209, 430, + 322, 409, 417, 311, 302, 201, 415, 309, 301, 286, + 249, 268, 354, 296, 355, 269, 318, 317, 319, 0, + 196, 0, 391, 425, 447, 215, 0, 0, 404, 440, + 443, 0, 357, 216, 259, 248, 353, 257, 289, 439, + 441, 442, 214, 351, 265, 321, 210, 271, 387, 285, + 294, 0, 0, 338, 369, 219, 423, 388, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 203, + 290, 0, 358, 255, 445, 429, 426, 0, 0, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 193, 204, 212, 221, 233, 246, 253, + 263, 267, 270, 273, 274, 277, 282, 299, 304, 305, + 306, 307, 323, 324, 325, 328, 331, 332, 334, 336, + 337, 340, 346, 347, 348, 349, 350, 352, 359, 363, + 371, 372, 373, 374, 375, 376, 377, 381, 382, 383, + 384, 392, 396, 411, 412, 422, 433, 437, 264, 419, + 438, 0, 298, 0, 0, 300, 250, 266, 275, 0, + 428, 393, 207, 365, 256, 197, 224, 211, 231, 245, + 247, 279, 308, 314, 342, 345, 261, 242, 222, 362, + 220, 379, 399, 400, 401, 403, 312, 238, 1075, 0, + 0, 0, 0, 0, 0, 330, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, + 288, 0, 0, 0, 343, 0, 380, 227, 297, 295, + 408, 251, 244, 240, 226, 272, 303, 341, 398, 335, + 0, 292, 0, 0, 389, 315, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 278, 225, 195, 327, 390, 254, 0, 0, 0, + 177, 178, 179, 0, 0, 0, 0, 0, 0, 0, + 0, 217, 0, 223, 0, 0, 0, 0, 237, 276, + 243, 236, 405, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 262, 0, 316, 0, 0, + 0, 434, 0, 0, 0, 0, 0, 0, 0, 0, + 287, 0, 284, 191, 205, 0, 0, 326, 364, 370, + 0, 0, 0, 228, 0, 368, 339, 421, 213, 252, + 361, 344, 366, 0, 0, 367, 293, 410, 356, 420, + 435, 436, 235, 320, 427, 402, 432, 444, 206, 232, + 333, 395, 424, 386, 313, 406, 407, 283, 385, 260, + 194, 291, 198, 397, 418, 218, 378, 0, 0, 0, + 200, 416, 394, 310, 280, 281, 199, 0, 360, 239, + 258, 230, 329, 413, 414, 229, 446, 208, 431, 202, + 209, 430, 322, 409, 417, 311, 302, 201, 415, 309, + 301, 286, 249, 268, 354, 296, 355, 269, 318, 317, + 319, 0, 196, 0, 391, 425, 447, 215, 0, 0, + 404, 440, 443, 0, 357, 216, 259, 248, 353, 257, + 289, 439, 441, 442, 214, 351, 265, 321, 210, 271, + 387, 285, 294, 0, 0, 338, 369, 219, 423, 388, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 190, 203, 290, 0, 358, 255, 445, 429, 426, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 192, 193, 204, 212, 221, 233, + 246, 253, 263, 267, 270, 273, 274, 277, 282, 299, + 304, 305, 306, 307, 323, 324, 325, 328, 331, 332, + 334, 336, 337, 340, 346, 347, 348, 349, 350, 352, + 359, 363, 371, 372, 373, 374, 375, 376, 377, 381, + 382, 383, 384, 392, 396, 411, 412, 422, 433, 437, + 264, 419, 438, 0, 298, 0, 0, 300, 250, 266, + 275, 0, 428, 393, 207, 365, 256, 197, 224, 211, + 231, 245, 247, 279, 308, 314, 342, 345, 261, 242, + 222, 362, 220, 379, 399, 400, 401, 403, 312, 238, + 330, 0, 0, 0, 0, 0, 0, 0, 1066, 241, + 0, 0, 0, 0, 0, 288, 0, 0, 0, 343, + 0, 380, 227, 297, 295, 408, 251, 244, 240, 226, + 272, 303, 341, 398, 335, 0, 292, 0, 0, 389, + 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 225, 195, 327, + 390, 254, 0, 0, 0, 177, 178, 179, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 0, 223, 0, + 0, 0, 0, 237, 276, 243, 236, 405, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 262, 0, 316, 0, 0, 0, 434, 0, 0, 0, + 0, 0, 0, 0, 0, 287, 0, 284, 191, 205, + 0, 0, 326, 364, 370, 0, 0, 0, 228, 0, + 368, 339, 421, 213, 252, 361, 344, 366, 0, 0, + 367, 293, 410, 356, 420, 435, 436, 235, 320, 427, + 402, 432, 444, 206, 232, 333, 395, 424, 386, 313, + 406, 407, 283, 385, 260, 194, 291, 198, 397, 418, + 218, 378, 0, 0, 0, 200, 416, 394, 310, 280, + 281, 199, 0, 360, 239, 258, 230, 329, 413, 414, + 229, 446, 208, 431, 202, 209, 430, 322, 409, 417, + 311, 302, 201, 415, 309, 301, 286, 249, 268, 354, + 296, 355, 269, 318, 317, 319, 0, 196, 0, 391, + 425, 447, 215, 0, 0, 404, 440, 443, 0, 357, + 216, 259, 248, 353, 257, 289, 439, 441, 442, 214, + 351, 265, 321, 210, 271, 387, 285, 294, 0, 0, + 338, 369, 219, 423, 388, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 190, 203, 290, 0, 358, + 255, 445, 429, 426, 0, 0, 234, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, + 193, 204, 212, 221, 233, 246, 253, 263, 267, 270, + 273, 274, 277, 282, 299, 304, 305, 306, 307, 323, + 324, 325, 328, 331, 332, 334, 336, 337, 340, 346, + 347, 348, 349, 350, 352, 359, 363, 371, 372, 373, + 374, 375, 376, 377, 381, 382, 383, 384, 392, 396, + 411, 412, 422, 433, 437, 264, 419, 438, 0, 298, + 0, 0, 300, 250, 266, 275, 0, 428, 393, 207, + 365, 256, 197, 224, 211, 231, 245, 247, 279, 308, + 314, 342, 345, 261, 242, 222, 362, 220, 379, 399, + 400, 401, 403, 312, 238, 330, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, + 288, 0, 0, 0, 343, 0, 380, 227, 297, 295, + 408, 251, 244, 240, 226, 272, 303, 341, 398, 335, + 0, 292, 0, 0, 389, 315, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 278, 225, 195, 327, 390, 254, 0, 0, 0, + 177, 178, 179, 0, 924, 0, 0, 0, 0, 0, + 0, 217, 0, 223, 0, 0, 0, 0, 237, 276, + 243, 236, 405, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 262, 0, 316, 0, 0, + 0, 434, 0, 0, 0, 0, 0, 0, 0, 0, + 287, 0, 284, 191, 205, 0, 0, 326, 364, 370, + 0, 0, 0, 228, 0, 368, 339, 421, 213, 252, + 361, 344, 366, 0, 0, 367, 293, 410, 356, 420, + 435, 436, 235, 320, 427, 402, 432, 444, 206, 232, + 333, 395, 424, 386, 313, 406, 407, 283, 385, 260, + 194, 291, 198, 397, 418, 218, 378, 0, 0, 0, + 200, 416, 394, 310, 280, 281, 199, 0, 360, 239, + 258, 230, 329, 413, 414, 229, 446, 208, 431, 202, + 209, 430, 322, 409, 417, 311, 302, 201, 415, 309, + 301, 286, 249, 268, 354, 296, 355, 269, 318, 317, + 319, 0, 196, 0, 391, 425, 447, 215, 0, 0, + 404, 440, 443, 0, 357, 216, 259, 248, 353, 257, + 289, 439, 441, 442, 214, 351, 265, 321, 210, 271, + 387, 285, 294, 0, 0, 338, 369, 219, 423, 388, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 190, 203, 290, 0, 358, 255, 445, 429, 426, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 192, 193, 204, 212, 221, 233, + 246, 253, 263, 267, 270, 273, 274, 277, 282, 299, + 304, 305, 306, 307, 323, 324, 325, 328, 331, 332, + 334, 336, 337, 340, 346, 347, 348, 349, 350, 352, + 359, 363, 371, 372, 373, 374, 375, 376, 377, 381, + 382, 383, 384, 392, 396, 411, 412, 422, 433, 437, + 264, 419, 438, 0, 298, 0, 0, 300, 250, 266, + 275, 0, 428, 393, 207, 365, 256, 197, 224, 211, + 231, 245, 247, 279, 308, 314, 342, 345, 261, 242, + 222, 362, 220, 379, 399, 400, 401, 403, 312, 238, + 330, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 0, 0, 0, 0, 0, 288, 0, 0, 0, 343, + 0, 380, 227, 297, 295, 408, 251, 244, 240, 226, + 272, 303, 341, 398, 335, 0, 292, 0, 0, 389, + 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 225, 195, 327, + 390, 254, 0, 0, 0, 177, 178, 179, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 0, 223, 0, + 0, 0, 0, 237, 276, 243, 236, 405, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 493, 0, + 262, 0, 316, 0, 0, 0, 434, 0, 0, 0, + 0, 0, 0, 0, 0, 287, 0, 284, 191, 205, + 0, 0, 326, 364, 370, 0, 0, 0, 228, 0, + 368, 339, 421, 213, 252, 361, 344, 366, 0, 0, + 367, 293, 410, 356, 420, 435, 436, 235, 320, 427, + 402, 432, 444, 206, 232, 333, 395, 424, 386, 313, + 406, 407, 283, 385, 260, 194, 291, 198, 397, 418, + 218, 378, 0, 0, 0, 200, 416, 394, 310, 280, + 281, 199, 0, 360, 239, 258, 230, 329, 413, 414, + 229, 446, 208, 431, 202, 209, 430, 322, 409, 417, + 311, 302, 201, 415, 309, 301, 286, 249, 268, 354, + 296, 355, 269, 318, 317, 319, 0, 196, 0, 391, + 425, 447, 215, 0, 0, 404, 440, 443, 0, 357, + 216, 259, 248, 353, 257, 289, 439, 441, 442, 214, + 351, 265, 321, 210, 271, 387, 285, 294, 0, 0, + 338, 369, 219, 423, 388, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 190, 203, 290, 0, 358, + 255, 445, 429, 426, 0, 0, 234, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, + 193, 204, 212, 221, 233, 246, 253, 263, 267, 270, + 273, 274, 277, 282, 299, 304, 305, 306, 307, 323, + 324, 325, 328, 331, 332, 334, 336, 337, 340, 346, + 347, 348, 349, 350, 352, 359, 363, 371, 372, 373, + 374, 375, 376, 377, 381, 382, 383, 384, 392, 396, + 411, 412, 422, 433, 437, 492, 419, 438, 0, 298, + 0, 0, 300, 250, 266, 275, 0, 428, 393, 207, + 365, 256, 197, 224, 211, 231, 245, 247, 279, 308, + 314, 342, 345, 261, 242, 222, 362, 220, 379, 399, + 400, 401, 403, 312, 238, 330, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, + 288, 0, 0, 0, 343, 0, 380, 227, 297, 295, + 408, 251, 244, 240, 226, 272, 303, 341, 398, 335, + 0, 292, 0, 0, 389, 315, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 278, 225, 195, 327, 390, 254, 0, 0, 0, + 177, 178, 179, 0, 0, 0, 0, 0, 0, 0, + 0, 217, 0, 223, 0, 0, 0, 0, 237, 276, + 243, 236, 405, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 262, 0, 316, 0, 185, + 0, 434, 0, 0, 0, 0, 0, 0, 0, 0, + 287, 0, 284, 191, 205, 0, 0, 326, 364, 370, + 0, 0, 0, 228, 0, 368, 339, 421, 213, 252, + 361, 344, 366, 0, 0, 367, 293, 410, 356, 420, + 435, 436, 235, 320, 427, 402, 432, 444, 206, 232, + 333, 395, 424, 386, 313, 406, 407, 283, 385, 260, + 194, 291, 198, 397, 418, 218, 378, 0, 0, 0, + 200, 416, 394, 310, 280, 281, 199, 0, 360, 239, + 258, 230, 329, 413, 414, 229, 446, 208, 431, 202, + 209, 430, 322, 409, 417, 311, 302, 201, 415, 309, + 301, 286, 249, 268, 354, 296, 355, 269, 318, 317, + 319, 0, 196, 0, 391, 425, 447, 215, 0, 0, + 404, 440, 443, 0, 357, 216, 259, 248, 353, 257, + 289, 439, 441, 442, 214, 351, 265, 321, 210, 271, + 387, 285, 294, 0, 0, 338, 369, 219, 423, 388, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 190, 203, 290, 0, 358, 255, 445, 429, 426, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 192, 193, 204, 212, 221, 233, + 246, 253, 263, 267, 270, 273, 274, 277, 282, 299, + 304, 305, 306, 307, 323, 324, 325, 328, 331, 332, + 334, 336, 337, 340, 346, 347, 348, 349, 350, 352, + 359, 363, 371, 372, 373, 374, 375, 376, 377, 381, + 382, 383, 384, 392, 396, 411, 412, 422, 433, 437, + 264, 419, 438, 0, 298, 0, 0, 300, 250, 266, + 275, 0, 428, 393, 207, 365, 256, 197, 224, 211, + 231, 245, 247, 279, 308, 314, 342, 345, 261, 242, + 222, 362, 220, 379, 399, 400, 401, 403, 312, 238, + 330, 0, 0, 0, 0, 0, 0, 0, 0, 241, + 0, 0, 0, 0, 0, 288, 0, 0, 0, 343, + 0, 380, 227, 297, 295, 408, 251, 244, 240, 226, + 272, 303, 341, 398, 335, 0, 292, 0, 0, 389, + 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 225, 195, 327, + 390, 254, 0, 0, 0, 177, 178, 179, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 0, 223, 0, + 0, 0, 0, 237, 276, 243, 236, 405, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 262, 0, 316, 0, 0, 0, 434, 0, 0, 0, + 0, 0, 0, 0, 0, 287, 0, 284, 191, 205, + 0, 0, 326, 364, 370, 0, 0, 0, 228, 0, + 368, 339, 421, 213, 252, 361, 344, 366, 0, 0, + 367, 293, 410, 356, 420, 435, 436, 235, 320, 427, + 402, 432, 444, 206, 232, 333, 395, 424, 386, 313, + 406, 407, 283, 385, 260, 194, 291, 198, 397, 418, + 218, 378, 0, 0, 0, 200, 416, 394, 310, 280, + 281, 199, 0, 360, 239, 258, 230, 329, 413, 414, + 229, 446, 208, 431, 202, 209, 430, 322, 409, 417, + 311, 302, 201, 415, 309, 301, 286, 249, 268, 354, + 296, 355, 269, 318, 317, 319, 0, 196, 0, 391, + 425, 447, 215, 0, 0, 404, 440, 443, 0, 357, + 216, 259, 248, 353, 257, 289, 439, 441, 442, 214, + 351, 265, 321, 210, 271, 387, 285, 294, 0, 0, + 338, 369, 219, 423, 388, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 190, 203, 290, 0, 358, + 255, 445, 429, 426, 0, 0, 234, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, + 193, 204, 212, 221, 233, 246, 253, 263, 267, 270, + 273, 274, 277, 282, 299, 304, 305, 306, 307, 323, + 324, 325, 328, 331, 332, 334, 336, 337, 340, 346, + 347, 348, 349, 350, 352, 359, 363, 371, 372, 373, + 374, 375, 376, 377, 381, 382, 383, 384, 392, 396, + 411, 412, 422, 433, 437, 264, 419, 438, 0, 298, + 0, 0, 300, 250, 266, 275, 0, 428, 393, 207, + 365, 256, 197, 224, 211, 231, 245, 247, 279, 308, + 314, 342, 345, 261, 242, 222, 362, 220, 379, 399, + 400, 401, 403, 312, 238, } var yyPact = [...]int{ - 4082, -1000, -339, 1648, -1000, -1000, -1000, -1000, -1000, -1000, + 2534, -1000, -329, 1692, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1619, 1248, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 622, 1310, 135, 1528, 251, 180, 1015, 379, 102, - 26595, 378, 83, 27039, -1000, 106, -1000, 98, 27039, 104, - 26151, -1000, -1000, -266, 12354, 1478, 6, 3, 27039, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1255, 1590, 1598, - 1613, 1085, 1542, -1000, 10565, 10565, 299, 299, 299, 8789, - -1000, -1000, 16363, 27039, 27039, 1315, 313, 1015, 375, 374, - 369, 313, -93, -1000, -1000, -1000, 1528, -1000, -1000, 177, - -1000, 240, 1210, -1000, 1201, -1000, 487, 542, 250, 316, - 315, 248, 241, 239, 237, 236, 235, 234, 233, 257, - -1000, 538, 538, -161, -167, 2466, 285, 285, 285, 354, - 1490, 1489, -1000, 550, -1000, 538, 538, 166, 538, 538, - 538, 538, 198, 196, 538, 538, 538, 538, 538, 538, - 538, 538, 538, 538, 538, 538, 538, 538, 538, 27039, - -1000, 134, 531, 563, 1528, 172, -1000, -1000, -1000, 27039, - 311, 1015, 311, 311, 27039, -1000, 453, -1000, -1000, -1000, + -1000, -1000, 1659, 1290, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 569, 1303, 118, 1567, 287, 152, 913, 414, 135, + 26846, 403, 121, 27291, -1000, 105, -1000, 85, 27291, 99, + 26401, -1000, -1000, -274, 12573, 1524, 18, 11, 27291, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1292, 1633, 1643, + 1657, 1112, 1555, -1000, 10780, 10780, 318, 318, 318, 9000, + -1000, -1000, 16591, 27291, 27291, 1338, 401, 913, 389, 388, + 381, 303, -106, -1000, -1000, -1000, -1000, 1567, -1000, -1000, + 186, -1000, 191, 1243, -1000, 1239, -1000, 468, 487, 221, + 291, 277, 213, 212, 211, 207, 203, 202, 200, 197, + 234, -1000, 536, 536, -166, -169, 1807, 294, 294, 294, + 353, 1544, 1538, -1000, 511, -1000, 536, 536, 182, 536, + 536, 536, 536, 167, 166, 536, 536, 536, 536, 536, + 536, 536, 536, 536, 536, 536, 536, 536, 536, 536, + 27291, -1000, 136, 541, 597, 1567, 155, -1000, -1000, -1000, + 27291, 395, 913, 300, 300, 27291, -1000, 460, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -3964,23 +3994,24 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 27039, 635, 635, 635, - 635, 635, 635, 96, -1000, 93, 187, 178, 149, 38, - 60, 226, -1000, 488, -1000, 139, 117, -1000, 635, 6957, - 6957, 6957, -1000, 1500, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 349, -1000, -1000, -1000, -1000, 27039, 25707, 238, - 560, -1000, -1000, -1000, 115, -1000, -1000, 1042, 841, -1000, - 12354, 1247, 1216, 1216, -1000, -1000, 431, -1000, -1000, 13686, - 13686, 13686, 13686, 13686, 13686, 13686, 13686, 13686, 13686, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 27291, 631, + 631, 631, 631, 631, 631, 76, -1000, 64, 158, 146, + 148, 17, 56, 426, -1000, 412, -1000, 143, 81, -1000, + 631, 7164, 7164, 7164, -1000, 1550, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 351, -1000, -1000, -1000, -1000, 27291, + 25956, 222, 556, -1000, -1000, -1000, 67, -1000, -1000, 1060, + 955, -1000, 12573, 2667, 1054, 1054, -1000, -1000, 429, -1000, + -1000, 13908, 13908, 13908, 13908, 13908, 13908, 13908, 13908, 13908, + 13908, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1054, 456, -1000, 12128, 1054, + 1054, 1054, 1054, 1054, 1054, 1054, 1054, 12573, 1054, 1054, + 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, + 1054, 1054, 1054, 1054, -1000, -1000, -1000, 27291, -1000, 1054, + 1659, -1000, 1290, -1000, -1000, -1000, 1559, 12573, 12573, 1659, + -1000, 1444, 10780, -1000, -1000, 1457, -1000, -1000, -1000, -1000, + 701, 1677, -1000, 15243, 455, 1676, 25511, -1000, 19274, 25066, + 1222, 8541, -28, -1000, -1000, -1000, 555, 18384, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1216, 443, -1000, 11910, 1216, 1216, 1216, - 1216, 1216, 1216, 1216, 1216, 12354, 1216, 1216, 1216, 1216, - 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, - 1216, 1216, -1000, -1000, -1000, 27039, -1000, 1216, 1619, -1000, - 1248, -1000, -1000, -1000, 1505, 12354, 12354, 1619, -1000, 1416, - 10565, -1000, -1000, 1525, -1000, -1000, -1000, -1000, 655, 1634, - -1000, 15018, 441, 1633, 25263, -1000, 19040, 24819, 1197, 8331, - -61, -1000, -1000, -1000, 557, 18152, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -3993,251 +4024,250 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1550, + 1150, 27291, -1000, -1000, 2172, 913, -1000, 1301, -1000, 1136, + -1000, 1249, 136, 303, 1353, 913, 913, 913, 913, 607, + -1000, -1000, -1000, 536, 536, 233, 287, 3847, -1000, -1000, + -1000, 24614, 1300, 913, -1000, 1298, -1000, 1591, 290, 522, + 522, 913, -1000, -1000, 27291, 913, 1584, 1583, 27291, 27291, + -1000, 24169, -1000, 23724, 23279, 821, 27291, 22834, 22389, 21944, + 21499, 21054, -1000, 1392, -1000, 1297, -1000, -1000, -1000, 27291, + 27291, 27291, 29, -1000, -1000, 27291, 913, -1000, -1000, 818, + 806, 536, 536, 801, 969, 967, 964, 536, 536, 793, + 961, 1062, 153, 789, 788, 783, 837, 958, 117, 835, + 799, 781, 27291, 1289, -1000, 128, 547, 175, 218, 179, + 27291, 132, 1567, 1519, 1220, 349, 300, 1365, 27291, 1618, + 913, -1000, 7623, -1000, -1000, 948, 12573, -1000, -1000, -1000, + -1000, -1000, 631, 27291, 631, 27291, 631, 631, 631, 631, + 625, 637, 625, -1000, -1000, -1000, -1000, 7164, 7164, 7164, + 27291, 7164, 7164, 27291, 7164, 7164, 637, -1000, -1000, -1000, + 510, -1000, 1364, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 93, -1000, -1000, -1000, -1000, -1000, 1692, -1000, -1000, -1000, + -105, 1209, 20609, -1000, -279, -281, -282, -283, -1000, -1000, + -1000, -285, -288, -1000, -1000, -1000, 12573, 12573, 12573, 12573, + 924, 517, 13908, 764, 544, 13908, 13908, 13908, 13908, 13908, + 13908, 13908, 13908, 13908, 13908, 13908, 13908, 13908, 13908, 13908, + 747, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 913, + -1000, 1690, 1418, 1418, 482, 482, 482, 482, 482, 482, + 482, 482, 482, 14353, 9445, 7623, 1112, 1132, 1659, 10780, + 10780, 12573, 12573, 11670, 11225, 10780, 1549, 605, 955, 27291, + -1000, -1000, 13463, -1000, -1000, -1000, -1000, -1000, 848, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 27291, 27291, 10780, 10780, + 10780, 10780, 10780, -1000, 1208, -1000, -163, 16146, 12573, 1643, + 1112, 1457, 1598, 1685, 502, 843, 1205, -1000, 854, 1643, + 17939, 1170, -1000, 1457, -1000, -1000, -1000, 27291, -1000, -1000, + 20164, -1000, -1000, 6705, 27291, 196, 27291, -1000, 1185, 1536, + -1000, -1000, -1000, 1630, 17494, 27291, 1186, 1184, -1000, -1000, + 454, 8082, -28, -1000, 8082, 1181, -1000, -62, -39, 9890, + 474, -1000, -1000, -1000, 1807, 14798, 1022, -1000, 32, -1000, + -1000, -1000, 1249, -1000, 1249, 1249, 1249, 1249, 29, 29, + 29, 29, -1000, -1000, -1000, -1000, -1000, 1272, 1254, -1000, + 1249, 1249, 1249, 1249, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1500, 1126, 27039, - -1000, -1000, 2160, 1015, -1000, 1283, -1000, 1122, -1000, 1221, - 134, 27039, 539, 1321, 1015, 1015, 1015, 1015, -1000, -1000, - -1000, 538, 538, 256, 251, 3729, -1000, -1000, -1000, 24368, - 1281, 1015, -1000, 1280, -1000, 1545, 327, 501, 501, 1015, - -1000, -1000, 27039, 1015, 1543, 1539, 27039, 27039, -1000, 23924, - -1000, 23480, 23036, 872, 27039, 22592, 22148, 21704, 21260, 20816, - -1000, 1378, -1000, 1358, -1000, -1000, -1000, 27039, 27039, 27039, - 31, -1000, -1000, 27039, 1015, -1000, -1000, 866, 863, 538, - 538, 862, 945, 943, 936, 538, 538, 857, 935, 991, - 179, 845, 828, 824, 856, 933, 103, 826, 822, 801, - 27039, 1279, -1000, 125, 545, 210, 220, 182, 27039, 143, - 1528, 1476, 1178, 333, 27039, 1556, 1370, 27039, 1015, -1000, - 7415, -1000, -1000, 932, 12354, -1000, -1000, -1000, -1000, -1000, - 635, 27039, 635, 27039, 635, 635, 635, 635, 609, 631, - 609, -1000, -1000, -1000, -1000, 6957, 6957, 6957, 27039, 6957, - 6957, 27039, 6957, 6957, 631, -1000, -1000, -1000, 518, -1000, - 1368, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 101, -1000, - -1000, -1000, -1000, -1000, 1648, -1000, -1000, -1000, -110, 1176, - 20372, -1000, -278, -279, -280, -281, -1000, -1000, -1000, -282, - -283, -1000, -1000, -1000, 12354, 12354, 12354, 12354, 764, 521, - 13686, 849, 643, 13686, 13686, 13686, 13686, 13686, 13686, 13686, - 13686, 13686, 13686, 13686, 13686, 13686, 13686, 13686, 703, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1015, -1000, 1635, - 910, 910, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 14130, 9233, 7415, 1085, 1109, 1619, 10565, 10565, 12354, - 12354, 11453, 11009, 10565, 1514, 597, 841, 27039, -1000, -1000, - 13242, -1000, -1000, -1000, -1000, -1000, 954, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 27039, 27039, 10565, 10565, 10565, 10565, - 10565, -1000, 1174, -1000, -165, 15919, 12354, 1598, 1085, 1525, - 1544, 1642, 511, 741, 1170, -1000, 829, 1598, 17708, 1092, - -1000, 1525, -1000, -1000, -1000, 27039, -1000, -1000, 19928, -1000, - -1000, 6499, 27039, 225, 27039, -1000, 1087, 1531, -1000, -1000, - -1000, 1569, 17264, 27039, 1245, 1119, -1000, -1000, 439, 7873, - -61, -1000, 7873, 1112, -1000, -25, -39, 9677, 401, -1000, - -1000, -1000, 2466, 14574, 1010, -1000, 15, -1000, -1000, -1000, - 1221, -1000, 1221, 1221, 1221, 1221, 31, 31, 31, 31, - -1000, -1000, -1000, -1000, -1000, 1274, 1273, -1000, 1221, 1221, - 1221, 1221, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1256, - 1256, 1256, 1243, 1243, 289, -1000, 12354, 121, 27039, 1582, - 781, 125, -1000, 1552, 1361, -1000, 27039, 1321, 1321, 1321, - -1000, 967, 944, -1000, 1169, -1000, -1000, 1612, -1000, -1000, - 572, 678, 675, 593, 27039, 116, 222, -1000, 318, -1000, - 27039, 1249, 1538, 501, 1015, -1000, 1015, -1000, -1000, -1000, - -1000, 438, -1000, -1000, 1015, 1159, -1000, 1183, 740, 652, - 737, 640, 1159, -1000, -1000, -117, 1159, -1000, 1159, -1000, - 1159, -1000, 1159, -1000, 1159, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 532, 27039, 116, 703, -1000, 325, -1000, - -1000, 703, 703, -1000, -1000, -1000, -1000, 927, 919, -1000, + -1000, 1253, 1253, 1253, 1250, 1250, 281, -1000, 12573, 120, + 27291, 1612, 765, 128, 27291, 1363, -1000, 27291, 1353, 1353, + 1353, -1000, 1617, 1053, 1028, -1000, 1197, -1000, -1000, 1655, + -1000, -1000, 489, 655, 633, 578, 27291, 113, 190, -1000, + 278, -1000, 27291, 1252, 1579, 522, 913, -1000, 913, -1000, + -1000, -1000, -1000, 448, -1000, -1000, 913, 1190, -1000, 1219, + 695, 621, 677, 618, 1190, -1000, -1000, -129, 1190, -1000, + 1190, -1000, 1190, -1000, 1190, -1000, 1190, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 548, 27291, 113, 747, -1000, + 330, -1000, -1000, 747, 747, -1000, -1000, -1000, -1000, 945, + 938, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -329, 27039, 359, 118, 150, - 27039, 27039, 27039, 27039, 27039, 404, -1000, -1000, -1000, 186, - 27039, 27039, 394, -1000, 27039, 386, -1000, -1000, -1000, -1000, - -1000, -1000, 841, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 635, 27039, 27039, 27039, -1000, -1000, 635, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 27039, -1000, 917, - 27039, 27039, -1000, -1000, -1000, -1000, -1000, 73, -30, 176, - -1000, -1000, -1000, -1000, 1595, -1000, 841, 521, 670, 647, - -1000, -1000, 777, -1000, -1000, 2410, -1000, -1000, -1000, -1000, - 849, 13686, 13686, 13686, 595, 2410, 2513, 1008, 2527, 462, - 698, 698, 473, 473, 473, 473, 473, 789, 789, -1000, - -1000, -1000, -1000, 954, -1000, -1000, -1000, 954, 10565, 10565, - 1155, 1216, 434, -1000, 1255, -1000, -1000, 1598, 1090, 1090, - 719, 667, 590, 1632, 1090, 569, 1631, 1090, 1090, 10565, - -1000, -1000, 588, -1000, 12354, 954, -1000, 850, 1154, 1129, - 1090, 954, 954, 1090, 1090, 27039, -1000, -269, -1000, -70, - 429, 1216, -1000, 19484, -1000, -1000, 954, 1042, 1505, -1000, - -1000, 1465, -1000, 1412, 12354, 12354, 12354, -1000, -1000, -1000, - 1505, 1593, -1000, 1436, 1423, 1625, 10565, 19040, 1525, -1000, - -1000, -1000, 420, 1625, 1208, 1216, -1000, 27039, 19040, 19040, - 19040, 19040, 19040, -1000, 1393, 1389, -1000, 1382, 1381, 1392, - 27039, -1000, 1106, 1085, 17264, 225, 1161, 19040, 27039, -1000, - -1000, 19040, 27039, 6041, -1000, 1112, -61, -6, -1000, -1000, - -1000, -1000, 841, -1000, 874, -1000, 2162, -1000, 298, -1000, - -1000, -1000, -1000, 365, 12, -1000, -1000, 31, 31, -1000, - -1000, 401, 633, 401, 401, 401, 916, 916, -1000, -1000, - -1000, -1000, -1000, 778, -1000, -1000, -1000, 768, -1000, -1000, - 887, 1369, 121, -1000, -1000, 538, 903, 1482, -1000, -1000, - 1004, 358, -1000, 27039, -1000, 1359, 1352, 1349, -1000, -1000, - -1000, -1000, 3692, 27039, 1100, -1000, 112, 27039, 999, 27039, - -1000, 1096, 27039, -1000, 1015, -1000, -1000, 7415, -1000, 27039, - 1216, -1000, -1000, -1000, -1000, 366, 1527, 1519, 116, 112, - 401, 1015, -1000, -1000, -1000, -1000, -1000, -325, 1094, 27039, - 124, -1000, 1244, 950, -1000, 1220, -1000, -1000, -1000, -1000, - 97, 206, 159, 321, -1000, -1000, -1000, -1000, 1369, 27039, - -1000, -1000, -1000, -1000, 609, -1000, 609, -1000, -1000, -1000, - -1000, 1497, -44, -301, -1000, -297, -1000, -1000, -1000, -1000, - 595, 2410, 2388, -1000, 13686, 13686, -1000, -1000, 1090, 1090, - 10565, 7415, 1619, 1505, -1000, -1000, 330, 703, 330, 13686, - 13686, -1000, 13686, 13686, -1000, -108, 1034, 533, -1000, 12354, - 832, -1000, -1000, 13686, 13686, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 368, 367, 363, 27039, -1000, -1000, - -1000, 772, 886, 1408, 841, 841, -1000, -1000, 27039, -1000, - -1000, -1000, -1000, 1623, 12354, -1000, 1102, -1000, 5583, 1598, - 1347, 27039, 1216, 1648, 15475, 27039, 1114, -1000, 543, 1531, - 1344, 1346, 1333, -1000, -1000, -1000, -1000, 1388, -1000, 1384, - -1000, -1000, -1000, -1000, -1000, 1085, 1625, 19040, 1082, -1000, - 1082, -1000, 418, -1000, -1000, -1000, -46, -79, -1000, -1000, - -1000, 2466, -1000, -1000, -1000, 641, 13686, 1640, -1000, 885, - 1537, -1000, 1532, -1000, -1000, 401, 401, -1000, -1000, -1000, - -1000, -1000, -1000, 1084, -1000, 1078, 1098, 1076, 54, -1000, - 1251, 1496, 538, 538, -1000, 753, -1000, 1015, -1000, 27039, - -1000, 27039, 27039, 27039, 1611, 1068, -1000, 27039, -1000, -1000, - 27039, -1000, -1000, 1422, 121, 1073, -1000, -1000, -1000, 222, - 27039, -1000, 910, 112, -1000, -1000, -1000, -1000, -1000, -1000, - 1218, -1000, -1000, -1000, 987, -1000, -118, 1015, 27039, 27039, - 27039, -1000, 27039, -1000, -1000, 635, 635, -1000, 1494, -1000, - 1015, -1000, 13686, 2410, 2410, -1000, -1000, 954, -1000, 1598, - -1000, 954, 1221, 1221, -1000, 1221, 1243, -1000, 1221, 75, - 1221, 58, 954, 954, 2324, 2184, 2140, 2091, 1216, -100, - -1000, 841, 12354, 1213, 1177, 1216, 1216, 1216, 1053, 884, - 31, -1000, -1000, -1000, 1621, 1609, 841, -1000, -1000, -1000, - 1547, 975, 1025, -1000, -1000, 10121, 1070, 1419, 415, 1053, - 1619, 27039, 12354, -1000, -1000, 12354, 1219, -1000, 12354, -1000, - -1000, -1000, 1619, 1619, 1082, -1000, -1000, 477, -1000, -1000, - -1000, -1000, -1000, 2410, -43, -1000, -1000, -1000, -1000, -1000, - 31, 883, 31, 710, -1000, 707, -1000, -1000, -208, -1000, - -1000, 1260, 1364, -1000, -1000, 1218, -1000, -1000, -1000, 27039, - 27039, -1000, -1000, 218, -1000, 272, 1047, -1000, -162, -1000, - -1000, 1565, 27039, -1000, -1000, 7415, -1000, -1000, 1217, 1252, - -1000, -1000, -1000, -1000, -1000, -1000, 2410, -1000, 1505, -1000, - -1000, 266, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 13686, 13686, 13686, 13686, 13686, 1598, 880, 841, 13686, 13686, - 18596, 27039, 27039, 16807, 31, 29, -1000, 12354, 12354, 1526, - -1000, 1216, -1000, 1242, 27039, 1216, 27039, -1000, 1598, -1000, - 841, 841, 27039, 841, 1598, -1000, -1000, 401, -1000, 401, - 962, 959, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1561, 1068, -1000, 216, 27039, -1000, 222, -1000, -168, -169, - 1248, 1032, 1051, -1000, 535, 27039, 27039, -1000, -1000, -1000, - 850, 850, 850, 850, 495, 954, -1000, 850, 850, 1030, - -1000, 1030, 1030, 429, -261, -1000, 1467, 1470, 841, 1042, - 1639, -1000, 1216, 1648, 402, 1025, -1000, -1000, 1020, -1000, - -1000, -1000, -1000, -1000, 1248, 1216, 1212, -1000, -1000, -1000, - 185, -1000, 7415, 5125, 1002, -1000, -1000, -1000, -1000, -1000, - 954, 158, -150, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 29, 281, -1000, 1442, 1439, 1606, 27039, 1025, 27039, -1000, - 185, 12798, 27039, -1000, -57, -1000, -1000, -1000, -1000, -1000, - 1220, -1000, 1406, -109, -154, 1452, 1454, 1454, 1470, 1604, - 1466, 1462, -1000, 879, 1009, -1000, -1000, 850, 954, 984, - 283, -1000, -1000, -118, -1000, 1372, -1000, 1445, 738, -1000, - -1000, -1000, -1000, 877, -1000, 1601, 1600, -1000, -1000, -1000, - 1338, 127, -1000, -121, -1000, 712, -1000, -1000, -1000, 875, - 773, 1336, -1000, 1629, -1000, -151, -1000, -1000, -1000, -1000, - -1000, 1637, 464, 464, -155, -1000, -1000, -1000, 278, 723, - -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -327, 27291, 367, + 122, 150, 27291, 27291, 27291, 27291, 27291, 420, -1000, -1000, + -1000, 164, 27291, 27291, 27291, 27291, 372, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 955, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 631, 27291, 27291, 27291, -1000, -1000, 631, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 27291, + -1000, 937, 27291, 27291, -1000, -1000, -1000, -1000, -1000, 339, + -72, 189, -1000, -1000, -1000, -1000, 1636, -1000, 955, 517, + 672, 567, -1000, -1000, 739, -1000, -1000, 1211, -1000, -1000, + -1000, -1000, 764, 13908, 13908, 13908, 853, 1211, 2571, 1309, + 1271, 482, 651, 651, 479, 479, 479, 479, 479, 680, + 680, -1000, -1000, -1000, -1000, 848, -1000, -1000, -1000, 848, + 10780, 10780, 1188, 1054, 443, -1000, 1292, -1000, -1000, 1643, + 1119, 1119, 767, 923, 603, 1674, 1119, 599, 1673, 1119, + 1119, 10780, -1000, -1000, 602, -1000, 12573, 848, -1000, 2149, + 1183, 1182, 1119, 848, 848, 1119, 1119, 27291, -1000, -271, + -1000, -89, 436, 1054, -1000, 19719, -1000, -1000, 848, 1060, + 1559, -1000, -1000, 1503, -1000, 1440, 12573, 12573, 12573, -1000, + -1000, -1000, 1559, 1648, -1000, 1471, 1466, 1664, 10780, 19274, + 1457, -1000, -1000, -1000, 442, 1664, 1163, 1054, -1000, 27291, + 19274, 19274, 19274, 19274, 19274, -1000, 1409, 1397, -1000, 1415, + 1408, 1426, 27291, -1000, 1128, 1112, 17494, 196, 1046, 19274, + 27291, -1000, -1000, 19274, 27291, 6246, -1000, 1181, -28, -32, + -1000, -1000, -1000, -1000, 955, -1000, 1014, -1000, 263, -1000, + 260, -1000, -1000, -1000, -1000, 464, 30, -1000, -1000, 29, + 29, -1000, -1000, 474, 616, 474, 474, 474, 933, 933, + -1000, -1000, -1000, -1000, -1000, 754, -1000, -1000, -1000, 751, + -1000, -1000, 935, 1346, 120, -1000, -1000, 536, 928, 1532, + -1000, -1000, 1020, 363, -1000, 27291, -1000, 1362, 1360, 1359, + -1000, -1000, -1000, -1000, -1000, 3223, 27291, 1125, -1000, 111, + 27291, 996, 27291, -1000, 1123, 27291, -1000, 913, -1000, -1000, + 7623, -1000, 27291, 1054, -1000, -1000, -1000, -1000, 391, 1565, + 1557, 113, 111, 474, 913, -1000, -1000, -1000, -1000, -1000, + -330, 1121, 27291, 125, -1000, 1251, 838, -1000, 1345, -1000, + -1000, -1000, -1000, 109, 173, 154, 326, -1000, 352, 1346, + 27291, -1000, -1000, -1000, -1000, -1000, -1000, 625, -1000, 625, + -1000, -1000, -1000, -1000, 1556, -80, -303, -1000, -300, -1000, + -1000, -1000, -1000, 853, 1211, 2319, -1000, 13908, 13908, -1000, + -1000, 1119, 1119, 10780, 7623, 1659, 1559, -1000, -1000, 282, + 747, 282, 13908, 13908, -1000, 13908, 13908, -1000, -120, 1221, + 542, -1000, 12573, 743, -1000, -1000, 13908, 13908, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 380, 379, 378, + 27291, -1000, -1000, -1000, 868, 907, 1434, 955, 955, -1000, + -1000, 27291, -1000, -1000, -1000, -1000, 1651, 12573, -1000, 1110, + -1000, 5787, 1643, 1357, 27291, 1054, 1692, 15701, 27291, 1217, + -1000, 537, 1536, 1343, 1356, 1566, -1000, -1000, -1000, -1000, + 1390, -1000, 1388, -1000, -1000, -1000, -1000, -1000, 1112, 1664, + 19274, 1215, -1000, 1215, -1000, 440, -1000, -1000, -1000, -85, + -51, -1000, -1000, -1000, 1807, -1000, -1000, -1000, 645, 13908, + 1683, -1000, 889, 1578, -1000, 1569, -1000, -1000, 474, 474, + -1000, -1000, -1000, -1000, -1000, -1000, 1089, -1000, 1077, 1091, + 1074, 57, -1000, 1321, 1551, 536, 536, -1000, 736, -1000, + 913, -1000, 27291, -1000, 27291, 27291, 27291, 1654, 1085, -1000, + 27291, -1000, -1000, 27291, -1000, -1000, 1459, 120, 1070, -1000, + -1000, -1000, 190, 27291, -1000, 1418, 111, -1000, -1000, -1000, + -1000, -1000, -1000, 1245, -1000, -1000, -1000, 989, -1000, -136, + 913, 27291, 27291, 27291, -1000, 27291, -1000, -1000, -1000, 631, + 631, -1000, 1548, -1000, 913, -1000, 13908, 1211, 1211, -1000, + -1000, 848, -1000, 1643, -1000, 848, 1249, 1249, -1000, 1249, + 1250, -1000, 1249, 77, 1249, 73, 848, 848, 2533, 2451, + 2349, 2208, 1054, -114, -1000, 955, 12573, 1179, 872, 1054, + 1054, 1054, 1012, 886, 29, -1000, -1000, -1000, 1661, 1653, + 955, -1000, -1000, -1000, 1594, 1081, 1043, -1000, -1000, 10335, + 1050, 1450, 434, 1012, 1659, 27291, 12573, -1000, -1000, 12573, + 1247, -1000, 12573, -1000, -1000, -1000, 1659, 1659, 1215, -1000, + -1000, 450, -1000, -1000, -1000, -1000, -1000, 1211, -119, -1000, + -1000, -1000, -1000, -1000, 29, 884, 29, 735, -1000, 714, + -1000, -1000, -208, -1000, -1000, 1258, 1383, -1000, -1000, 1245, + -1000, -1000, -1000, 27291, 27291, -1000, -1000, 180, -1000, 248, + 1010, -1000, -167, -1000, -1000, 1625, 27291, -1000, -1000, 7623, + -1000, -1000, 1212, 1351, -1000, -1000, -1000, -1000, -1000, -1000, + 1211, -1000, 1559, -1000, -1000, 255, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 13908, 13908, 13908, 13908, 13908, 1643, + 882, 955, 13908, 13908, 18829, 27291, 27291, 17036, 29, 19, + -1000, 12573, 12573, 1560, -1000, 1054, -1000, 1172, 27291, 1054, + 27291, -1000, 1643, -1000, 955, 955, 27291, 955, 1643, -1000, + -1000, 474, -1000, 474, 983, 976, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1623, 1085, -1000, 185, 27291, -1000, + 190, -1000, -172, -173, 1290, 1007, 1067, -1000, 528, 27291, + 27291, -1000, -1000, -1000, 2149, 2149, 2149, 2149, 1257, 848, + -1000, 2149, 2149, 1004, -1000, 1004, 1004, 436, -263, -1000, + 1513, 1505, 955, 1060, 1681, -1000, 1054, 1692, 433, 1043, + -1000, -1000, 1001, -1000, -1000, -1000, -1000, -1000, 1290, 1054, + 1029, -1000, -1000, -1000, 177, -1000, 7623, 5328, 995, -1000, + -1000, -1000, -1000, -1000, 848, 147, -154, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 19, 279, -1000, 1479, 1458, 1652, + 27291, 1043, 27291, -1000, 177, 13018, 27291, -1000, -57, -1000, + -1000, -1000, -1000, -1000, 1345, -1000, 1423, -126, -161, 1484, + 1486, 1486, 1505, 1650, 1499, 1497, -1000, 881, 1026, -1000, + -1000, 2149, 848, 988, 257, -1000, -1000, -136, -1000, 1416, + -1000, 1482, 733, -1000, -1000, -1000, -1000, 861, -1000, 1649, + 1646, -1000, -1000, -1000, 1355, 133, -1000, -144, -1000, 720, + -1000, -1000, -1000, 841, 740, 1347, -1000, 1672, -1000, -159, + -1000, -1000, -1000, -1000, -1000, 1680, 435, 435, -165, -1000, + -1000, -1000, 275, 768, -1000, -1000, -1000, -1000, -1000, } var yyPgo = [...]int{ - 0, 1921, 1920, 46, 81, 79, 1919, 1918, 1917, 1916, - 130, 129, 121, 1915, 1914, 1913, 1910, 1908, 1906, 1904, - 1900, 1899, 1897, 1896, 1894, 56, 132, 32, 29, 135, - 1893, 1891, 49, 1890, 1889, 1888, 116, 114, 480, 1887, - 115, 1885, 1883, 1882, 1881, 1880, 1879, 1877, 1876, 1875, - 1874, 1872, 1871, 1870, 214, 1867, 1866, 8, 1865, 86, - 1863, 1862, 1861, 1858, 1856, 87, 1855, 1854, 1852, 113, - 1850, 1849, 44, 107, 40, 71, 1848, 1846, 73, 816, - 1844, 103, 120, 1841, 1266, 1822, 57, 83, 80, 1817, - 35, 1814, 1813, 91, 1811, 1810, 1809, 68, 1808, 1806, - 2751, 1805, 67, 75, 17, 31, 1799, 1798, 1797, 1796, - 36, 705, 1795, 1794, 23, 1793, 1792, 127, 1790, 84, - 27, 1787, 16, 12, 22, 1786, 82, 1781, 11, 52, - 34, 1779, 78, 1776, 1773, 1771, 1770, 41, 1769, 72, - 88, 24, 1768, 1766, 6, 14, 1765, 1764, 1761, 1759, - 1757, 1756, 4, 1755, 1754, 1753, 39, 1752, 10, 19, - 70, 85, 25, 7, 1751, 123, 1750, 20, 122, 65, - 109, 1749, 1747, 1746, 1009, 1745, 62, 1744, 139, 1743, - 1742, 33, 1740, 453, 715, 1739, 1737, 64, 1027, 2291, - 9, 112, 1736, 1735, 1935, 66, 76, 21, 1734, 1731, - 1730, 118, 143, 37, 853, 43, 1729, 1727, 1726, 1725, - 1723, 1722, 1721, 125, 224, 18, 108, 26, 1719, 1718, - 1717, 63, 38, 1714, 106, 105, 60, 117, 1712, 111, - 100, 55, 1711, 42, 1710, 1707, 1704, 1703, 30, 1702, - 1701, 1700, 1697, 104, 96, 58, 50, 1696, 45, 128, - 101, 89, 1695, 28, 134, 13, 1694, 2, 0, 1693, - 5, 126, 1506, 102, 1691, 1690, 1, 1688, 3, 1687, - 1686, 77, 1682, 1680, 1676, 1674, 3047, 15, 110, 1657, - 119, + 0, 1935, 1932, 13, 87, 79, 1930, 1929, 1928, 1927, + 131, 129, 128, 1926, 1925, 1922, 1921, 1918, 1916, 1915, + 1912, 1910, 1908, 1906, 1905, 58, 116, 34, 36, 120, + 1899, 1898, 47, 1897, 1896, 1895, 118, 112, 455, 1894, + 113, 1893, 1892, 1891, 1890, 1889, 1888, 1887, 1886, 1883, + 1882, 1881, 1880, 1879, 151, 1878, 1877, 8, 1874, 50, + 1873, 1871, 1870, 1869, 1868, 91, 1867, 1864, 1863, 109, + 1853, 1851, 45, 180, 43, 78, 1847, 1846, 77, 764, + 1845, 97, 126, 1844, 17, 1843, 46, 68, 74, 1842, + 40, 1841, 1840, 114, 1838, 1833, 1831, 76, 1828, 1825, + 2792, 1820, 62, 84, 11, 31, 1818, 1817, 1816, 1815, + 30, 399, 1814, 1813, 22, 1808, 1807, 136, 1806, 86, + 15, 1805, 12, 19, 20, 1801, 81, 1800, 35, 52, + 27, 1799, 83, 1798, 1795, 1794, 1793, 38, 1792, 73, + 102, 41, 1790, 1789, 6, 9, 1788, 1782, 1780, 1779, + 1778, 1776, 4, 1775, 1774, 1773, 26, 1772, 18, 21, + 67, 130, 23, 7, 1771, 177, 1770, 28, 106, 63, + 108, 1769, 1768, 1767, 859, 1766, 44, 1764, 139, 1762, + 1758, 70, 1757, 111, 121, 1752, 1559, 1751, 72, 1050, + 2461, 33, 107, 1750, 1749, 2129, 57, 75, 25, 1748, + 1747, 1746, 122, 224, 60, 846, 42, 1745, 1743, 1742, + 1739, 1738, 1737, 1736, 117, 64, 37, 105, 24, 1734, + 1733, 1732, 49, 65, 1730, 104, 103, 66, 153, 1729, + 110, 92, 56, 1728, 89, 1727, 1726, 1724, 1723, 39, + 1722, 1721, 1720, 1719, 99, 88, 55, 29, 1718, 32, + 96, 101, 100, 1717, 16, 119, 10, 1716, 3, 0, + 1714, 5, 125, 1576, 124, 1713, 1710, 1, 1707, 2, + 1706, 1705, 85, 1704, 1703, 1701, 1700, 3246, 762, 115, + 1699, 127, } var yyR1 = [...]int{ - 0, 274, 275, 275, 1, 1, 1, 1, 1, 1, + 0, 275, 276, 276, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 258, 258, 258, 261, 261, 21, + 1, 1, 1, 1, 259, 259, 259, 262, 262, 21, 50, 3, 3, 3, 3, 2, 2, 8, 9, 4, 5, 5, 10, 10, 61, 61, 11, 12, 12, 12, - 12, 278, 278, 95, 95, 93, 93, 94, 94, 160, + 12, 279, 279, 95, 95, 93, 93, 94, 94, 160, 160, 13, 14, 14, 170, 170, 169, 169, 169, 171, - 171, 171, 171, 204, 204, 15, 15, 15, 15, 15, - 70, 70, 260, 260, 259, 257, 257, 256, 256, 255, - 23, 24, 33, 33, 33, 33, 34, 35, 262, 262, - 234, 39, 39, 38, 38, 38, 38, 40, 40, 37, - 37, 36, 36, 236, 236, 223, 223, 235, 235, 235, - 235, 235, 235, 235, 222, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 206, 206, 206, 206, - 209, 209, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 208, 208, 208, 208, 208, 210, 210, 210, 210, - 210, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 212, 212, 212, 212, - 212, 212, 212, 212, 221, 221, 213, 213, 216, 216, - 217, 217, 217, 218, 218, 219, 219, 214, 214, 214, - 215, 215, 215, 224, 248, 248, 247, 247, 245, 245, - 245, 245, 233, 233, 242, 242, 242, 242, 242, 232, - 232, 228, 228, 228, 229, 229, 230, 230, 227, 227, - 231, 231, 244, 244, 243, 225, 225, 226, 226, 250, - 250, 250, 250, 251, 267, 268, 266, 266, 266, 266, - 266, 59, 59, 59, 185, 185, 185, 240, 240, 239, - 239, 239, 241, 241, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 180, 180, 180, 265, 265, 265, 265, - 265, 265, 264, 264, 264, 237, 237, 237, 263, 263, + 171, 171, 171, 205, 205, 15, 15, 15, 15, 15, + 70, 70, 261, 261, 260, 258, 258, 257, 257, 256, + 23, 24, 33, 33, 33, 33, 34, 35, 263, 263, + 235, 39, 39, 38, 38, 38, 38, 40, 40, 37, + 37, 36, 36, 237, 237, 224, 224, 236, 236, 236, + 236, 236, 236, 236, 223, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 207, 207, 207, 207, + 210, 210, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 209, 209, 209, 209, 209, 211, 211, 211, 211, + 211, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 213, 213, 213, 213, + 213, 213, 213, 213, 222, 222, 214, 214, 217, 217, + 218, 218, 218, 219, 219, 220, 220, 215, 215, 215, + 216, 216, 216, 225, 249, 249, 248, 248, 246, 246, + 246, 246, 234, 234, 243, 243, 243, 243, 243, 233, + 233, 229, 229, 229, 230, 230, 231, 231, 228, 228, + 232, 232, 245, 245, 244, 226, 226, 227, 227, 251, + 251, 251, 251, 252, 268, 269, 267, 267, 267, 267, + 267, 59, 59, 59, 185, 185, 185, 241, 241, 240, + 240, 240, 242, 242, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 180, 180, 180, 266, 266, 266, 266, + 266, 266, 265, 265, 265, 238, 238, 238, 264, 264, 129, 129, 130, 130, 30, 30, 30, 30, 30, 30, 29, 29, 29, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 254, 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 220, 220, 220, 252, 252, 253, 253, + 16, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 221, 221, 221, 253, 253, 254, 254, 17, 22, 22, 18, 18, 18, 18, 19, 19, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 177, - 177, 269, 269, 179, 179, 175, 175, 178, 178, 176, - 176, 176, 181, 181, 181, 182, 182, 273, 273, 273, - 43, 43, 45, 45, 46, 47, 47, 199, 199, 200, - 200, 48, 49, 60, 60, 60, 60, 60, 60, 62, + 177, 270, 270, 179, 179, 175, 175, 178, 178, 176, + 176, 176, 181, 181, 181, 182, 182, 274, 274, 274, + 43, 43, 45, 45, 46, 47, 47, 200, 200, 201, + 201, 48, 49, 60, 60, 60, 60, 60, 60, 62, 62, 62, 7, 7, 7, 7, 56, 56, 56, 6, - 6, 44, 44, 51, 270, 270, 271, 272, 272, 272, - 272, 52, 20, 20, 20, 20, 20, 20, 77, 77, + 6, 44, 44, 51, 271, 271, 272, 273, 273, 273, + 273, 52, 20, 20, 20, 20, 20, 20, 77, 77, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 71, 71, 71, 66, 66, 279, 54, 55, + 65, 65, 71, 71, 71, 66, 66, 280, 54, 55, 55, 69, 69, 69, 63, 63, 63, 68, 68, 68, 74, 74, 76, 76, 76, 76, 76, 78, 78, 78, - 78, 78, 78, 73, 73, 75, 75, 75, 75, 192, - 192, 192, 191, 191, 85, 85, 86, 86, 87, 87, + 78, 78, 78, 73, 73, 75, 75, 75, 75, 193, + 193, 193, 192, 192, 85, 85, 86, 86, 87, 87, 88, 88, 88, 127, 103, 103, 159, 159, 158, 158, 161, 161, 89, 89, 89, 89, 90, 90, 91, 91, - 92, 92, 198, 198, 197, 197, 197, 196, 196, 96, + 92, 92, 199, 199, 198, 198, 198, 197, 197, 96, 96, 96, 98, 97, 97, 97, 97, 99, 99, 101, 101, 100, 100, 102, 104, 104, 104, 104, 104, 105, 105, 84, 84, 84, 84, 84, 84, 84, 84, 173, @@ -4251,10 +4281,10 @@ var yyR1 = [...]int{ 115, 115, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 280, 280, 117, 116, 116, 116, 116, 116, 116, - 116, 67, 67, 67, 67, 67, 203, 203, 203, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 133, 133, 64, 64, 131, 131, 132, 134, + 114, 281, 281, 117, 116, 116, 116, 116, 116, 116, + 116, 67, 67, 67, 67, 67, 204, 204, 204, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 133, 133, 64, 64, 131, 131, 132, 134, 134, 128, 128, 128, 110, 110, 110, 110, 110, 110, 110, 110, 112, 112, 112, 135, 135, 136, 136, 137, 137, 138, 138, 139, 140, 140, 140, 141, 141, 141, @@ -4267,27 +4297,10 @@ var yyR1 = [...]int{ 155, 154, 154, 149, 149, 109, 109, 109, 109, 109, 157, 157, 157, 157, 162, 162, 122, 122, 124, 124, 123, 125, 163, 163, 167, 164, 164, 168, 168, 168, - 168, 168, 165, 165, 166, 166, 193, 193, 193, 172, - 172, 183, 183, 184, 184, 174, 174, 186, 186, 186, - 53, 121, 121, 249, 249, 246, 189, 189, 190, 190, - 194, 194, 195, 195, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 168, 168, 165, 165, 166, 166, 194, 194, 194, 172, + 172, 186, 186, 183, 183, 184, 184, 174, 174, 187, + 187, 187, 53, 121, 121, 250, 250, 247, 190, 190, + 191, 191, 195, 195, 196, 196, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, @@ -4301,16 +4314,33 @@ var yyR1 = [...]int{ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 276, 277, 201, - 202, 202, 202, + 188, 188, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 277, 278, 202, 203, 203, 203, } var yyR2 = [...]int{ @@ -4324,7 +4354,7 @@ var yyR2 = [...]int{ 4, 3, 5, 4, 1, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 6, 11, 2, 0, 2, 0, 2, 1, 0, 2, 1, 3, 3, - 4, 3, 6, 7, 7, 7, 4, 2, 1, 1, + 5, 3, 6, 7, 7, 7, 4, 2, 1, 1, 4, 0, 1, 1, 1, 2, 2, 0, 1, 4, 4, 4, 4, 2, 4, 1, 3, 1, 1, 3, 4, 3, 3, 3, 3, 0, 2, 3, 3, 4, @@ -4355,7 +4385,7 @@ var yyR2 = [...]int{ 9, 5, 3, 7, 4, 4, 4, 4, 3, 3, 3, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 0, 2, 2, 1, 3, 8, 8, - 3, 3, 5, 5, 6, 5, 4, 3, 2, 3, + 3, 3, 5, 6, 6, 5, 4, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 2, 4, 4, 4, 4, 4, 5, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 7, 2, 4, 5, @@ -4406,8 +4436,9 @@ var yyR2 = [...]int{ 1, 3, 3, 5, 0, 5, 1, 3, 1, 2, 3, 1, 1, 3, 3, 1, 3, 3, 3, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 0, 2, 0, 3, 0, 1, 0, 1, 1, - 5, 0, 1, 0, 1, 2, 1, 1, 1, 1, + 1, 0, 1, 0, 2, 0, 3, 0, 1, 0, + 1, 1, 5, 0, 1, 0, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -4447,232 +4478,231 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 1, 1, + 1, 1, 0, 0, 1, 1, } var yyChk = [...]int{ - -1000, -274, -1, -3, -8, -9, -10, -11, -12, -13, + -1000, -275, -1, -3, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -41, -42, -43, -45, -46, -47, -48, -49, -6, -44, -20, -21, -50, -51, - -52, -53, -4, -276, 6, 7, 8, -61, 10, 11, + -52, -53, -4, -277, 6, 7, 8, -61, 10, 11, 31, -23, -33, 153, -34, -24, 154, -35, 156, 155, - 191, 157, 184, 71, 225, 226, 228, 229, 230, 231, + 191, 157, 184, 71, 226, 227, 229, 230, 231, 232, -62, 189, 190, 159, 35, 42, 32, 33, 36, 81, - 9, 323, 186, 185, 26, -275, 463, -69, 5, -137, - 16, -3, -54, -279, -54, -54, -54, -54, -54, -54, - -234, -236, 81, 126, 81, -70, 163, 164, 173, 172, - 169, -262, 107, 314, 162, -39, -38, -37, -36, -40, - 30, -30, -31, -254, -29, -26, 158, 155, 199, 102, - 103, 191, 192, 193, 157, 175, 190, 194, 189, 208, - -25, 77, 32, 336, 339, -241, 154, 160, 161, 324, - 105, 104, 72, 156, -238, 275, 440, -40, 442, 95, - 97, 441, 41, 164, 443, 444, 445, 446, 174, 447, - 448, 449, 450, 456, 457, 458, 459, 106, 5, 163, - -262, -79, 285, 77, -261, -258, 84, 85, 86, 163, - 163, 164, 165, -262, 163, -100, -194, -258, -188, 333, - 177, 367, 368, 223, 77, 275, 440, 225, 239, 233, - 260, 252, 334, 369, 178, 212, 437, 250, 253, 301, - 442, 370, 192, 297, 280, 288, 95, 228, 310, 455, - 371, 453, 97, 441, 76, 48, 41, 187, 248, 244, - 443, 213, 372, 344, 206, 105, 102, 462, 242, 47, - 28, 452, 104, 46, 444, 373, 445, 290, 265, 431, - 45, 193, 374, 80, 338, 439, 292, 243, 289, 222, - 451, 159, 375, 423, 299, 432, 376, 266, 270, 377, - 302, 49, 378, 379, 433, 103, 380, 75, 446, 237, - 238, 381, 220, 176, 304, 264, 174, 34, 293, 335, - 224, 55, 200, 305, 43, 268, 42, 427, 382, 430, - 263, 259, 50, 383, 384, 385, 386, 447, 262, 236, - 258, 461, 218, 448, 59, 161, 272, 271, 273, 207, - 300, 255, 387, 388, 389, 181, 78, 390, 245, 19, - 391, 392, 214, 393, 53, 394, 395, 308, 190, 396, - 51, 449, 38, 195, 450, 397, 398, 399, 400, 401, - 298, 402, 291, 267, 269, 202, 287, 337, 403, 241, - 194, 454, 404, 182, 438, 196, 199, 189, 309, 183, - 405, 406, 407, 408, 409, 410, 411, 229, 456, 40, - 412, 413, 414, 415, 221, 217, 303, 312, 58, 79, - 277, 416, 436, 235, 215, 417, 226, 52, 457, 458, - 459, 209, 460, 283, 106, 219, 44, 256, 201, 418, - 419, 246, 247, 261, 234, 257, 227, 424, 203, 191, - 420, 311, 216, 278, 341, 208, 435, 340, 254, 251, - 210, 421, 165, 204, 205, 422, 425, 294, 284, 295, - 296, 285, 211, 339, 249, 279, 163, -165, 280, 281, - 282, 293, 294, 299, 298, 202, -273, 302, 163, -175, - 144, 153, 290, -179, 291, 284, 285, 211, -269, -258, - 445, 460, 301, 253, 303, 427, 286, 292, 296, 295, - -194, 227, -199, 232, -189, -258, -188, 230, -100, -60, - 423, 157, -201, -201, -71, 427, 429, -120, -84, -106, - 110, -111, 30, 24, -110, -107, -128, -125, -126, 144, - 145, 147, 146, 148, 133, 134, 141, 111, 149, -115, - -113, -114, -116, 88, 87, 96, 89, 90, 91, 92, - 98, 99, 100, -189, -194, -123, -276, 65, 66, 324, - 325, 326, 327, 332, 328, 113, 54, 313, 322, 321, - 320, 317, 318, 315, 316, 330, 331, 168, 314, 162, - 139, 323, -258, -188, 41, 283, 283, -100, -5, -4, - -276, 6, 21, 22, -141, 18, 17, -277, 83, -63, - -76, 60, 61, -78, 22, 37, 64, 62, -55, -75, - 135, -84, -194, -75, -174, 167, -174, -174, -164, -204, - 227, -168, 303, 302, -190, -166, -189, -187, -165, 300, - 158, 342, 109, 23, 25, 112, 144, 17, 113, 36, - 160, 175, 143, 171, 324, 153, 69, 343, 315, 316, - 313, 319, 326, 327, 314, 281, 30, 11, 345, 26, - 185, 22, 37, 137, 155, 116, 117, 188, 24, 186, - 100, 348, 20, 72, 180, 12, 173, 14, 349, 350, - 15, 168, 167, 128, 164, 67, 9, 149, 27, 125, - 63, 351, 29, 352, 353, 354, 355, 65, 126, 18, - 317, 318, 32, 428, 356, 332, 197, 139, 70, 56, - 429, 110, 357, 358, 98, 359, 101, 73, 434, 107, - 16, 68, 39, 360, 198, 361, 170, 362, 306, 363, - 127, 156, 323, 66, 364, 162, 282, 6, 329, 31, - 184, 172, 64, 365, 163, 115, 330, 331, 166, 99, - 5, 169, 33, 10, 71, 74, 320, 321, 322, 54, - 336, 114, 13, 366, 307, 108, 301, 253, -235, 126, - -222, -226, -189, 179, -251, 175, -100, -244, -243, -189, - -79, -184, 168, -258, 164, 164, 164, -184, 323, -36, - -37, -165, 143, 196, 82, 82, -226, -225, -224, -263, - 198, 179, -250, -242, 171, 180, -232, 172, 173, -227, - 164, 29, -263, -227, 170, 180, 198, 198, 106, 198, - 106, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 195, -233, 118, -233, 340, 340, -238, -263, -263, -263, - 166, 34, 34, -186, -227, 166, 23, -233, -233, -165, - 143, -233, -233, -233, -233, 206, 206, -233, -233, -233, - -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, - -233, -233, -100, -82, 213, 153, 155, 158, 73, 118, - -38, 208, -22, -100, -183, 168, -258, -183, -183, -100, - 150, -100, -181, 126, 13, -181, -181, -181, -181, -181, - 209, 297, 209, 297, 209, 210, 209, 210, 209, -178, - -177, 288, 289, 283, 287, -258, 430, 314, 299, -258, - 202, 163, 203, 165, -228, 164, 34, 176, 210, 283, - 205, -181, -202, -276, -190, -202, -202, 31, 166, -189, - -56, -189, 88, -7, -3, -11, -10, -12, 118, -77, - 283, -65, 144, 445, 431, 432, 433, 430, 298, 438, - 436, 434, 209, 435, 82, 109, 107, 108, 125, -84, - -108, 128, 110, 126, 127, 112, 130, 129, 140, 133, - 134, 135, 136, 137, 138, 139, 131, 132, 143, 118, - 119, 120, 121, 122, 123, 124, -173, -276, -126, -276, - 151, 152, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -276, 150, -2, -120, -4, -276, -276, -276, - -276, -276, -276, -276, -276, -133, -84, -276, -280, -117, - -276, -280, -117, -280, -117, -280, -276, -280, -117, -280, - -117, -280, -280, -117, -276, -276, -276, -276, -276, -276, - -276, -201, -270, -271, -103, -100, -276, -137, -3, -54, - -156, 20, 32, -84, -138, -139, -84, -137, 56, -73, - -75, -78, 60, 61, 94, 12, -192, -191, 23, -189, - 88, 150, 12, -101, 27, -100, -86, -87, -88, -89, - -103, -127, -276, 12, -93, -94, -100, -102, -194, 82, - 227, -168, -204, -170, -169, 304, 306, 118, -193, -189, - 88, 30, 83, 82, -100, -206, -209, -211, -210, -212, - -207, -208, 250, 251, 144, 254, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 31, 187, 246, 247, - 248, 249, 266, 267, 268, 269, 270, 271, 272, 273, - 233, 252, 334, 234, 235, 236, 237, 238, 239, 241, - 242, 243, 244, 245, -261, -258, 81, 83, 82, -213, - 81, -82, -100, 110, -249, -246, 74, -258, -258, -258, - -258, -233, -233, 195, -29, -26, -254, 16, -25, -26, - 158, 102, 103, 155, 81, -222, 81, -231, -261, -258, - 81, 29, 170, 169, -230, -227, -230, -231, -258, -128, - -189, -194, -258, 29, 29, -161, -189, -161, -161, 21, - -161, 21, -161, 21, 89, -189, -161, 21, -161, 21, - -161, 21, -161, 21, -161, 21, 30, 75, 76, 30, - 78, 79, 80, -128, -128, -222, -165, -100, -258, 89, - 89, -233, -233, 89, 88, 88, 88, -233, -233, 89, - 88, -258, 88, -264, 181, 222, 224, 89, 89, 89, - 89, 30, 88, -265, 30, 452, 451, 453, 454, 455, - 89, 30, 89, 30, 89, -189, 81, -81, 215, 118, - 204, 204, 163, 163, 217, -100, 216, 218, 219, 41, - 82, 166, -93, 24, 73, -95, -100, -258, -195, -194, - -187, 88, -84, -181, -100, -181, -100, -181, -181, -181, - -181, -176, 12, 128, -229, 12, 128, -176, -202, -202, - -202, -100, -202, -202, -100, -202, -202, -229, -182, 126, - 73, -200, 230, 264, 424, 425, 426, 82, 336, -93, - 430, 430, 430, 430, 430, 430, -84, -84, -84, -84, - -118, 98, 110, 99, 100, -111, -119, -123, -126, 93, - 128, 126, 127, 112, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -203, - -258, 88, 144, -258, -110, -110, -189, -74, 22, 37, - -73, -190, -195, -187, -69, -277, -277, -137, -73, -73, - -84, -84, -128, 88, -73, -128, 88, -73, -73, -68, - 22, 37, -131, -132, 114, -128, -277, -111, -189, -189, - -73, -74, -74, -73, -73, 82, -272, 306, 307, 428, - -197, 198, -196, 23, -194, 88, -121, -120, -141, -277, - -142, 27, 10, 128, 82, 19, 82, -140, 25, 26, - -141, -112, -189, 89, 92, -85, 82, 12, -78, -100, - -191, 135, -195, -100, -160, 198, -100, 31, 82, -96, - -98, -97, -99, 63, 67, 69, 64, 65, 66, 70, - -198, 23, -86, -3, -276, -100, -93, -278, 82, 12, - 74, -278, 82, 150, -168, -170, 82, 305, 307, 308, - 73, 101, -84, -215, 143, -240, -239, -238, -222, -224, - -225, -226, 83, -143, -218, 278, -213, -213, -213, -213, - -213, -214, -165, -214, -214, -214, 81, 81, -213, -213, - -213, -213, -216, 81, -216, -216, -217, 81, -217, -251, - -84, -248, -247, -245, -246, 174, 95, 336, -243, -140, - 89, -81, 24, 73, -189, -249, -249, -249, -258, 88, - -258, 88, 82, 17, -223, -222, -129, 222, -253, 198, - -250, -244, 81, 29, -230, -231, -231, 150, -258, 82, - 27, 106, 106, 106, 106, 336, 155, 31, -222, -129, - -203, 166, -203, -203, 88, 88, -180, 460, -93, 165, - 221, -83, 319, 88, 84, -100, -100, -100, -100, -100, - 158, 155, 206, -100, -100, -59, 183, 178, -100, 82, - -59, -181, -194, -194, -100, -181, -100, 88, -100, -189, - -65, 306, 336, 20, -66, 20, 98, 99, 100, -119, - -111, -111, -111, -72, 188, 109, -277, -277, -73, -73, - -276, 150, -5, -141, -277, -277, 82, 74, 23, 12, - 12, -277, 12, 12, -277, -277, -73, -134, -132, 116, - -84, -277, -277, 82, 82, -277, -277, -277, -277, -277, - -271, 427, 307, -104, 71, 167, 72, -276, -196, -277, - -156, 39, 47, 58, -84, -84, -139, -156, -172, 20, - 12, 54, 54, -105, 13, -75, -86, -78, 150, -105, - -109, 31, 54, -3, -276, -276, -163, -167, -128, -87, - -88, -88, -87, -88, 63, 63, 63, 68, 63, 68, - 63, -97, -194, -277, -277, -3, -160, 74, -86, -100, - -86, -102, -194, 135, -169, -171, 309, 306, 312, -258, - 88, 82, -238, -226, 98, 110, 30, 73, 275, 95, - 170, 29, 169, -219, 279, -214, -214, -215, -258, 144, - -215, -215, -215, -221, 88, -221, 89, 89, 83, -32, - -27, -28, 32, 77, -245, -233, 88, 38, 83, 165, - -100, 73, 73, 73, 16, -158, -189, 82, 83, -130, - 223, -128, 83, -189, 83, -158, -231, -190, -189, -276, - 163, 30, 30, -129, -130, -215, -258, 462, 461, 83, - -100, -80, 213, 220, 81, 85, -260, 74, 204, 275, - 204, 207, 166, -32, -100, -176, -176, 32, 306, 439, - 437, -72, 109, -111, -111, -277, -277, -74, -190, -137, - -156, -205, 144, 250, 187, 248, 244, 264, 255, 277, - 246, 278, -203, -205, -111, -111, -111, -111, 333, -137, - 117, -84, 115, -111, -111, 164, 164, 164, -161, 40, - 88, 88, 59, -100, -135, 14, -84, 135, -141, -162, - 73, -163, -122, -124, -123, -276, -157, -277, -189, -161, - -105, 82, 118, -91, -90, 73, 74, -92, 73, -90, - 63, 63, -277, -105, -86, -105, -105, 150, 306, 310, - 311, -238, 98, -111, 10, 88, 29, 29, -215, -215, - 83, 82, 83, 82, 83, 82, -185, 373, 110, -28, - -27, -233, -233, 89, -258, -100, -100, -100, -100, 17, - 82, -222, -128, 54, -248, 83, -252, -253, -100, -110, - -130, -159, 81, 83, -257, 336, -259, -258, -189, -189, - -189, -100, -181, -181, 32, -258, -111, -277, -141, -277, - -213, -213, -213, -217, -213, 238, -213, 238, -277, -277, - 20, 20, 20, 20, -276, -64, 329, -84, 82, 82, - -276, -276, -276, -277, 88, -214, -136, 15, 17, 28, - -162, 82, -277, -277, 82, 54, 150, -277, -137, -167, - -84, -84, 81, -84, -137, -105, -114, -214, 88, -214, - 89, 89, 373, 30, 78, 79, 80, 30, 75, 76, - -159, -158, -189, 200, 182, -277, 82, -220, 336, 339, - 23, -158, -256, -255, -190, 81, 74, -156, -214, -258, - -111, -111, -111, -111, -111, -141, 88, -111, -111, -158, - -277, -158, -158, -197, -214, -145, -150, -178, -84, -120, - 29, -124, 54, -3, -189, -122, -189, -141, -158, -141, - -215, -215, 83, 83, 23, 201, -100, -253, 340, 340, - -3, 83, 82, 118, -158, -100, -277, -277, -277, -277, - -67, 128, 336, -277, -277, -277, -277, -277, -277, -104, - -148, 423, -151, 43, -152, 44, 10, -122, 150, 83, - -3, -276, 81, -57, 336, -255, -237, -190, 88, 89, - 83, -277, 334, 70, 337, -145, 48, 256, -153, 52, - -154, -149, 53, 17, -163, -189, -57, -111, 197, -158, - -58, 212, 427, -260, 59, 335, 338, -146, 50, -144, - 49, -144, -152, 17, -155, 45, 46, 88, -277, -277, - 83, 175, -257, 59, -147, 51, 73, 101, 88, 17, - 17, -267, -268, 73, 214, 336, 73, 101, 88, 88, - -268, 73, 11, 10, 337, -266, 183, 178, 181, 31, - -266, 338, 177, 30, 98, + 9, 324, 186, 185, 26, -276, 464, -69, 5, -137, + 16, -3, -54, -280, -54, -54, -54, -54, -54, -54, + -235, -237, 81, 126, 81, -70, -186, 164, 173, 172, + 169, -263, 107, 219, 315, 162, -39, -38, -37, -36, + -40, 30, -30, -31, -255, -29, -26, 158, 155, 199, + 102, 103, 191, 192, 193, 157, 175, 190, 194, 189, + 208, -25, 77, 32, 337, 340, -242, 154, 160, 161, + 325, 105, 104, 72, 156, -239, 276, 441, -40, 443, + 95, 97, 442, 41, 164, 444, 445, 446, 447, 174, + 448, 449, 450, 451, 457, 458, 459, 460, 106, 5, + 163, -263, -79, 286, 77, -262, -259, 84, 85, 86, + 163, -186, 164, 165, -263, 163, -100, -195, -259, -189, + 334, 177, 368, 369, 224, 77, 276, 441, 226, 240, + 234, 261, 253, 335, 370, 178, 212, 438, 251, 254, + 302, 443, 371, 192, 298, 281, 289, 95, 229, 311, + 456, 372, 454, 97, 442, 76, 48, 41, 187, 249, + 245, 444, 213, 373, 345, 206, 105, 102, 463, 243, + 47, 28, 453, 104, 46, 445, 374, 446, 291, 266, + 432, 45, 193, 375, 80, 339, 440, 293, 244, 290, + 223, 452, 159, 376, 424, 300, 433, 377, 267, 271, + 378, 303, 49, 379, 380, 434, 103, 381, 75, 447, + 238, 239, 382, 221, 176, 305, 265, 174, 34, 294, + 336, 225, 55, 200, 306, 43, 269, 42, 428, 383, + 431, 264, 260, 50, 384, 385, 386, 387, 448, 263, + 237, 259, 462, 218, 449, 59, 161, 273, 272, 274, + 207, 301, 256, 388, 389, 390, 181, 78, 391, 246, + 19, 392, 393, 214, 394, 53, 395, 396, 309, 190, + 397, 51, 450, 38, 195, 451, 398, 399, 400, 401, + 402, 299, 403, 292, 268, 270, 202, 288, 338, 404, + 242, 194, 455, 405, 182, 439, 196, 199, 189, 310, + 183, 406, 407, 408, 409, 410, 411, 412, 230, 457, + 40, 413, 414, 415, 416, 222, 217, 304, 313, 58, + 79, 278, 417, 437, 236, 215, 418, 227, 52, 458, + 459, 460, 209, 461, 284, 106, 219, 220, 44, 257, + 201, 419, 420, 247, 248, 262, 235, 258, 228, 425, + 203, 191, 421, 312, 216, 279, 342, 208, 436, 341, + 255, 252, 210, 422, 165, 204, 205, 423, 426, 295, + 285, 296, 297, 286, 211, 340, 250, 280, 163, -165, + 281, 282, 283, 294, 295, 300, 299, 202, -274, 303, + 163, -175, 144, 153, 291, -179, 292, 285, 286, 211, + -270, -259, 446, 461, 302, 254, 304, 428, 287, 293, + 297, 296, -195, 228, -200, 233, -190, -259, -189, 231, + -100, -60, 424, 157, -202, -202, -71, 428, 430, -120, + -84, -106, 110, -111, 30, 24, -110, -107, -128, -125, + -126, 144, 145, 147, 146, 148, 133, 134, 141, 111, + 149, -115, -113, -114, -116, 88, 87, 96, 89, 90, + 91, 92, 98, 99, 100, -190, -195, -123, -277, 65, + 66, 325, 326, 327, 328, 333, 329, 113, 54, 314, + 323, 322, 321, 318, 319, 316, 317, 331, 332, 168, + 315, 162, 139, 324, -259, -189, 41, 284, 284, -100, + -5, -4, -277, 6, 21, 22, -141, 18, 17, -278, + 83, -63, -76, 60, 61, -78, 22, 37, 64, 62, + -55, -75, 135, -84, -195, -75, -174, 167, -174, -174, + -164, -205, 228, -168, 304, 303, -191, -166, -190, -188, + -165, 301, 158, 343, 109, 23, 25, 112, 144, 17, + 113, 36, 160, 175, 143, 171, 325, 153, 69, 344, + 316, 317, 314, 320, 327, 328, 315, 282, 30, 11, + 346, 26, 185, 22, 37, 137, 155, 116, 117, 188, + 24, 186, 100, 349, 20, 72, 180, 12, 173, 14, + 350, 351, 15, 168, 167, 128, 164, 67, 9, 149, + 27, 125, 63, 352, 29, 353, 354, 355, 356, 65, + 126, 18, 318, 319, 32, 429, 357, 333, 197, 139, + 70, 56, 430, 110, 358, 359, 98, 360, 101, 73, + 435, 107, 16, 68, 39, 361, 198, 362, 170, 363, + 307, 364, 127, 156, 324, 66, 365, 162, 283, 6, + 330, 31, 184, 172, 64, 366, 163, 115, 331, 332, + 166, 99, 5, 169, 33, 10, 71, 74, 321, 322, + 323, 54, 337, 114, 13, 367, 308, 108, 302, 254, + -236, 126, -223, -227, -190, 179, -252, 175, -100, -245, + -244, -190, -79, 163, -259, 164, 164, 164, -184, 168, + 324, -36, -37, -165, 143, 196, 82, 82, -227, -226, + -225, -264, 198, 179, -251, -243, 171, 180, -233, 172, + 173, -228, 164, 29, -264, -228, 170, 180, 198, 198, + 106, 198, 106, 198, 198, 198, 198, 198, 198, 198, + 198, 198, 195, -234, 118, -234, 341, 341, -239, -264, + -264, -264, 166, 34, 34, -187, -228, 166, 23, -234, + -234, -165, 143, -234, -234, -234, -234, 206, 206, -234, + -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, + -234, -234, -234, -234, -100, -82, 213, 153, 155, 158, + 73, 118, -38, 208, -22, -100, 163, -259, -183, 168, + -183, -100, 150, -100, -181, 126, 13, -181, -181, -181, + -181, -181, 209, 298, 209, 298, 209, 210, 209, 210, + 209, -178, -177, 289, 290, 284, 288, -259, 431, 315, + 300, -259, 202, 163, 203, 165, -229, 164, 34, 176, + 210, 284, 205, -181, -203, -277, -191, -203, -203, 31, + 166, -190, -56, -190, 88, -7, -3, -11, -10, -12, + 118, -77, 284, -65, 144, 446, 432, 433, 434, 431, + 299, 439, 437, 435, 209, 436, 82, 109, 107, 108, + 125, -84, -108, 128, 110, 126, 127, 112, 130, 129, + 140, 133, 134, 135, 136, 137, 138, 139, 131, 132, + 143, 118, 119, 120, 121, 122, 123, 124, -173, -277, + -126, -277, 151, 152, -111, -111, -111, -111, -111, -111, + -111, -111, -111, -111, -277, 150, -2, -120, -4, -277, + -277, -277, -277, -277, -277, -277, -277, -133, -84, -277, + -281, -117, -277, -281, -117, -281, -117, -281, -277, -281, + -117, -281, -117, -281, -281, -117, -277, -277, -277, -277, + -277, -277, -277, -202, -271, -272, -103, -100, -277, -137, + -3, -54, -156, 20, 32, -84, -138, -139, -84, -137, + 56, -73, -75, -78, 60, 61, 94, 12, -193, -192, + 23, -190, 88, 150, 12, -101, 27, -100, -86, -87, + -88, -89, -103, -127, -277, 12, -93, -94, -100, -102, + -195, 82, 228, -168, -205, -170, -169, 305, 307, 118, + -194, -190, 88, 30, 83, 82, -100, -207, -210, -212, + -211, -213, -208, -209, 251, 252, 144, 255, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 31, 187, + 247, 248, 249, 250, 267, 268, 269, 270, 271, 272, + 273, 274, 234, 253, 335, 235, 236, 237, 238, 239, + 240, 242, 243, 244, 245, 246, -262, -259, 81, 83, + 82, -214, 81, -82, -184, -250, -247, 74, -259, -259, + -259, -259, 110, -234, -234, 195, -29, -26, -255, 16, + -25, -26, 158, 102, 103, 155, 81, -223, 81, -232, + -262, -259, 81, 29, 170, 169, -231, -228, -231, -232, + -259, -128, -190, -195, -259, 29, 29, -161, -190, -161, + -161, 21, -161, 21, -161, 21, 89, -190, -161, 21, + -161, 21, -161, 21, -161, 21, -161, 21, 30, 75, + 76, 30, 78, 79, 80, -128, -128, -223, -165, -100, + -259, 89, 89, -234, -234, 89, 88, 88, 88, -234, + -234, 89, 88, -259, 88, -265, 181, 223, 225, 89, + 89, 89, 89, 30, 88, -266, 30, 453, 452, 454, + 455, 456, 89, 30, 89, 30, 89, -190, 81, -81, + 215, 118, 204, 204, 163, 163, 217, -100, 216, 218, + 220, 41, 82, 166, -183, 73, -95, -100, 24, -259, + -196, -195, -188, 88, -84, -181, -100, -181, -100, -181, + -181, -181, -181, -176, 12, 128, -230, 12, 128, -176, + -203, -203, -203, -100, -203, -203, -100, -203, -203, -230, + -182, 126, 73, -201, 231, 265, 425, 426, 427, 82, + 337, -93, 431, 431, 431, 431, 431, 431, -84, -84, + -84, -84, -118, 98, 110, 99, 100, -111, -119, -123, + -126, 93, 128, 126, 127, 112, -111, -111, -111, -111, + -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, + -111, -204, -259, 88, 144, -259, -110, -110, -190, -74, + 22, 37, -73, -191, -196, -188, -69, -278, -278, -137, + -73, -73, -84, -84, -128, 88, -73, -128, 88, -73, + -73, -68, 22, 37, -131, -132, 114, -128, -278, -111, + -190, -190, -73, -74, -74, -73, -73, 82, -273, 307, + 308, 429, -198, 198, -197, 23, -195, 88, -121, -120, + -141, -278, -142, 27, 10, 128, 82, 19, 82, -140, + 25, 26, -141, -112, -190, 89, 92, -85, 82, 12, + -78, -100, -192, 135, -196, -100, -160, 198, -100, 31, + 82, -96, -98, -97, -99, 63, 67, 69, 64, 65, + 66, 70, -199, 23, -86, -3, -277, -100, -93, -279, + 82, 12, 74, -279, 82, 150, -168, -170, 82, 306, + 308, 309, 73, 101, -84, -216, 143, -241, -240, -239, + -223, -225, -226, -227, 83, -143, -219, 279, -214, -214, + -214, -214, -214, -215, -165, -215, -215, -215, 81, 81, + -214, -214, -214, -214, -217, 81, -217, -217, -218, 81, + -218, -252, -84, -249, -248, -246, -247, 174, 95, 337, + -244, -140, 89, -81, -100, 73, -190, -250, -250, -250, + 24, -259, 88, -259, 88, 82, 17, -224, -223, -129, + 223, -254, 198, -251, -245, 81, 29, -231, -232, -232, + 150, -259, 82, 27, 106, 106, 106, 106, 337, 155, + 31, -223, -129, -204, 166, -204, -204, 88, 88, -180, + 461, -93, 165, 222, -83, 320, 88, 84, -100, -100, + -100, -100, -100, 158, 155, 206, -100, -100, -93, -100, + 82, -59, 183, 178, -181, -195, -195, -100, -181, -100, + 88, -100, -190, -65, 307, 337, 20, -66, 20, 98, + 99, 100, -119, -111, -111, -111, -72, 188, 109, -278, + -278, -73, -73, -277, 150, -5, -141, -278, -278, 82, + 74, 23, 12, 12, -278, 12, 12, -278, -278, -73, + -134, -132, 116, -84, -278, -278, 82, 82, -278, -278, + -278, -278, -278, -272, 428, 308, -104, 71, 167, 72, + -277, -197, -278, -156, 39, 47, 58, -84, -84, -139, + -156, -172, 20, 12, 54, 54, -105, 13, -75, -86, + -78, 150, -105, -109, 31, 54, -3, -277, -277, -163, + -167, -128, -87, -88, -88, -87, -88, 63, 63, 63, + 68, 63, 68, 63, -97, -195, -278, -278, -3, -160, + 74, -86, -100, -86, -102, -195, 135, -169, -171, 310, + 307, 313, -259, 88, 82, -239, -227, 98, 110, 30, + 73, 276, 95, 170, 29, 169, -220, 280, -215, -215, + -216, -259, 144, -216, -216, -216, -222, 88, -222, 89, + 89, 83, -32, -27, -28, 32, 77, -246, -234, 88, + 38, 83, 165, -100, 73, 73, 73, 16, -158, -190, + 82, 83, -130, 224, -128, 83, -190, 83, -158, -232, + -191, -190, -277, 163, 30, 30, -129, -130, -216, -259, + 463, 462, 83, -100, -80, 213, 221, 81, 85, -261, + 74, 204, 276, 204, 207, 166, -59, -32, -100, -176, + -176, 32, 307, 440, 438, -72, 109, -111, -111, -278, + -278, -74, -191, -137, -156, -206, 144, 251, 187, 249, + 245, 265, 256, 278, 247, 279, -204, -206, -111, -111, + -111, -111, 334, -137, 117, -84, 115, -111, -111, 164, + 164, 164, -161, 40, 88, 88, 59, -100, -135, 14, + -84, 135, -141, -162, 73, -163, -122, -124, -123, -277, + -157, -278, -190, -161, -105, 82, 118, -91, -90, 73, + 74, -92, 73, -90, 63, 63, -278, -105, -86, -105, + -105, 150, 307, 311, 312, -239, 98, -111, 10, 88, + 29, 29, -216, -216, 83, 82, 83, 82, 83, 82, + -185, 374, 110, -28, -27, -234, -234, 89, -259, -100, + -100, -100, -100, 17, 82, -223, -128, 54, -249, 83, + -253, -254, -100, -110, -130, -159, 81, 83, -258, 337, + -260, -259, -190, -190, -190, -100, -181, -181, 32, -259, + -111, -278, -141, -278, -214, -214, -214, -218, -214, 239, + -214, 239, -278, -278, 20, 20, 20, 20, -277, -64, + 330, -84, 82, 82, -277, -277, -277, -278, 88, -215, + -136, 15, 17, 28, -162, 82, -278, -278, 82, 54, + 150, -278, -137, -167, -84, -84, 81, -84, -137, -105, + -114, -215, 88, -215, 89, 89, 374, 30, 78, 79, + 80, 30, 75, 76, -159, -158, -190, 200, 182, -278, + 82, -221, 337, 340, 23, -158, -257, -256, -191, 81, + 74, -156, -215, -259, -111, -111, -111, -111, -111, -141, + 88, -111, -111, -158, -278, -158, -158, -198, -215, -145, + -150, -178, -84, -120, 29, -124, 54, -3, -190, -122, + -190, -141, -158, -141, -216, -216, 83, 83, 23, 201, + -100, -254, 341, 341, -3, 83, 82, 118, -158, -100, + -278, -278, -278, -278, -67, 128, 337, -278, -278, -278, + -278, -278, -278, -104, -148, 424, -151, 43, -152, 44, + 10, -122, 150, 83, -3, -277, 81, -57, 337, -256, + -238, -191, 88, 89, 83, -278, 335, 70, 338, -145, + 48, 257, -153, 52, -154, -149, 53, 17, -163, -190, + -57, -111, 197, -158, -58, 212, 428, -261, 59, 336, + 339, -146, 50, -144, 49, -144, -152, 17, -155, 45, + 46, 88, -278, -278, 83, 175, -258, 59, -147, 51, + 73, 101, 88, 17, 17, -268, -269, 73, 214, 337, + 73, 101, 88, 88, -269, 73, 11, 10, 338, -267, + 183, 178, 181, 31, -267, 339, 177, 30, 98, } var yyDef = [...]int{ @@ -4680,64 +4710,64 @@ var yyDef = [...]int{ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 809, 0, 547, 547, 547, 547, 547, 547, - 547, 0, 0, 90, -2, -2, 833, 37, 0, 0, + 547, 0, 0, -2, -2, -2, 833, 37, 0, 921, 0, 0, -2, 481, 482, 0, 484, -2, 0, 0, - 493, 1339, 1339, 542, 0, 0, 0, 0, 0, 1337, + 493, 1342, 1342, 542, 0, 0, 0, 0, 0, 1340, 54, 55, 499, 500, 501, 1, 3, 0, 551, 817, - 0, 0, -2, 549, 0, 0, 925, 925, 925, 0, - 85, 86, 0, 0, 0, 833, 923, 0, 0, 0, - 0, 923, 0, 108, 109, 89, -2, 113, 114, 0, - 118, 366, 327, 369, 325, 355, -2, 318, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 330, 222, 222, 0, 0, -2, 318, 318, 318, 0, - 0, 0, 352, 927, 272, 222, 222, 0, 222, 222, - 222, 222, 0, 0, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 0, - 107, 846, 0, 0, 117, 38, 34, 35, 36, 0, - 921, 0, 921, 921, 0, 418, 631, 940, 941, 1080, - 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, - 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, - 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, - 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, - 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, - 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, - 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, - 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, - 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, - 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, - 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, - 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, - 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, - 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, - 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, - 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, - 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, - 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, - 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, - 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, - 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, - 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, - 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, - 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, - 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, - 1331, 1332, 1333, 1334, 1335, 1336, 0, 472, 472, 472, - 472, 472, 472, 0, 427, 0, 0, 0, 0, 0, - 0, 0, 444, 0, 447, 0, 0, 454, 472, 1340, - 1340, 1340, 912, 0, 478, 479, 466, 464, 461, 462, - 480, 483, 0, 488, 491, 936, 937, 0, 506, 0, - 1154, 498, 511, 512, 0, 543, 544, 39, 682, 641, - 0, 647, 649, 0, 684, 685, 686, 687, 688, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 714, - 715, 716, 717, 794, 795, 796, 797, 798, 799, 800, - 801, 651, 652, 791, 0, 901, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 782, 0, 751, 751, 751, - 751, 751, 751, 751, 751, 0, 0, 0, 0, 0, - 0, 0, -2, -2, 1339, 0, 521, 0, 809, 50, - 0, 547, 552, 553, 852, 0, 0, 809, 1338, 0, - 0, -2, -2, 563, 569, 570, 571, 572, 548, 0, - 575, 579, 0, 0, 0, 926, 0, 0, 71, 0, - 1307, 905, -2, -2, 0, 0, 938, 939, 914, -2, - 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, + 0, 0, -2, 549, 0, 0, 927, 927, 927, 0, + 85, 86, 0, 0, 0, 833, 0, 0, 0, 0, + 0, 925, 0, 922, 108, 109, 89, -2, 113, 114, + 0, 118, 366, 327, 369, 325, 355, -2, 318, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 330, 222, 222, 0, 0, -2, 318, 318, 318, + 0, 0, 0, 352, 929, 272, 222, 222, 0, 222, + 222, 222, 222, 0, 0, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 0, 107, 846, 0, 0, 117, 38, 34, 35, 36, + 0, 0, 0, 923, 923, 0, 418, 631, 942, 943, + 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, + 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, + 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, + 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, + 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, + 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, + 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, + 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, + 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, + 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, + 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, + 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, + 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, + 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, + 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, + 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, + 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, + 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, + 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, + 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, + 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, + 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, + 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, + 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, + 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, + 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 0, 472, + 472, 472, 472, 472, 472, 0, 427, 0, 0, 0, + 0, 0, 0, 0, 444, 0, 447, 0, 0, 454, + 472, 1343, 1343, 1343, 912, 0, 478, 479, 466, 464, + 461, 462, 480, 483, 0, 488, 491, 938, 939, 0, + 506, 0, 1156, 498, 511, 512, 0, 543, 544, 39, + 682, 641, 0, 647, 649, 0, 684, 685, 686, 687, + 688, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 714, 715, 716, 717, 794, 795, 796, 797, 798, + 799, 800, 801, 651, 652, 791, 0, 901, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 782, 0, 751, + 751, 751, 751, 751, 751, 751, 751, 0, 0, 0, + 0, 0, 0, 0, -2, -2, 1342, 0, 521, 0, + 809, 50, 0, 547, 552, 553, 852, 0, 0, 809, + 1341, 0, 0, -2, -2, 563, 569, 570, 571, 572, + 548, 0, 575, 579, 0, 0, 0, 928, 0, 0, + 71, 0, 1310, 905, -2, -2, 0, 0, 940, 941, + 914, -2, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, @@ -4750,153 +4780,153 @@ var yyDef = [...]int{ 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, - 1074, 1075, 1076, 1077, 1078, 1079, -2, 1099, 0, 0, - 127, 128, 0, 37, 248, 0, 123, 0, 242, 196, - 846, 0, 0, 933, 0, 0, 0, 0, 91, 115, - 116, 222, 222, 0, 117, 117, 334, 335, 336, 0, - 0, -2, 246, 0, 319, 0, 0, 236, 236, 240, - 238, 239, 0, 0, 0, 0, 0, 0, 346, 0, - 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 402, 0, 223, 0, 364, 365, 273, 0, 0, 0, - 0, 344, 345, 0, 0, 928, 929, 0, 0, 222, - 222, 0, 0, 0, 0, 222, 222, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 101, 837, 0, 0, 0, 0, 0, 0, - -2, 0, 410, 0, 0, 0, 0, 0, 0, 417, - 0, 419, 420, 0, 0, 421, 422, 423, 424, 425, - 472, 0, 472, 0, 472, 472, 472, 472, 469, 0, - 469, 467, 468, 459, 460, 1340, 1340, 1340, 0, 1340, - 1340, 0, 1340, 1340, 0, 231, 232, 233, 475, 451, - 452, 455, 456, 1341, 1342, 457, 458, 913, 489, 492, - 509, 507, 508, 510, 502, 503, 504, 505, 0, 522, - 523, 528, 0, 0, 0, 0, 534, 535, 536, 0, - 0, 539, 540, 541, 0, 0, 0, 0, 0, 645, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 669, - 670, 671, 672, 673, 674, 675, 648, 0, 662, 0, - 0, 0, 704, 705, 706, 707, 708, 709, 710, 711, - 712, 0, 560, 0, 0, 0, 809, 0, 0, 0, - 0, 0, 0, 0, 557, 0, 783, 0, 735, 743, - 0, 736, 744, 737, 745, 738, 0, 739, 746, 740, - 747, 741, 742, 748, 0, 0, 0, 560, 560, 0, - 0, 40, 513, 514, 0, 614, 931, 817, 0, 562, - 855, 0, 0, 818, 810, 811, 814, 817, 0, 584, - 573, 564, 567, 568, 550, 0, 576, 580, 0, 582, - 583, 0, 0, 69, 0, 630, 0, 586, 588, 589, - 590, 612, 0, 0, 0, 0, 65, 67, 631, 0, - 1307, 911, 0, 73, 74, 0, 0, 0, 210, 916, - 917, 918, -2, 229, 0, 135, 203, 147, 148, 149, - 196, 151, 196, 196, 196, 196, 207, 207, 207, 207, - 179, 180, 181, 182, 183, 0, 0, 166, 196, 196, - 196, 196, 186, 187, 188, 189, 190, 191, 192, 193, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 198, - 198, 198, 200, 200, 0, 38, 0, 214, 0, 814, - 0, 837, 100, 0, 0, 934, 0, 933, 933, 933, - 106, 0, 0, 367, 328, 356, 368, 0, 331, 332, - -2, 0, 0, 318, 0, 320, 0, 230, 0, -2, - 0, 0, 0, 236, 240, 237, 240, 228, 241, 348, - 791, 0, 349, 350, 0, 382, 600, 0, 0, 0, - 0, 0, 388, 389, 390, 0, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 357, 358, 359, 360, - 361, 362, 363, 0, 0, 320, 0, 353, 0, 274, - 275, 0, 0, 278, 279, 280, 281, 0, 0, 284, - 285, 286, 287, 288, 312, 313, 314, 289, 290, 291, - 292, 293, 294, 295, 306, 307, 308, 309, 310, 311, - 296, 297, 298, 299, 300, 303, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 834, 835, 836, 0, - 0, 0, 261, 922, 0, 261, 63, 416, 632, 942, - 943, 473, 474, 426, 445, 428, 448, 429, 431, 430, - 432, 472, 0, 0, 0, 234, 235, 472, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 0, 450, 0, - 0, 0, 490, 494, 495, 496, 497, 0, 0, 525, - 530, 531, 532, 533, 545, 538, 683, 642, 643, 644, - 646, 663, 0, 665, 667, 653, 654, 678, 679, 680, - 0, 0, 0, 0, 676, 658, 0, 689, 690, 691, - 692, 693, 694, 695, 696, 697, 698, 699, 700, 703, - 766, 767, 768, 0, 701, 702, 713, 0, 0, 0, - 561, 792, 0, -2, 0, 681, 900, 817, 0, 0, - 0, 0, 686, 794, 0, 686, 794, 0, 0, 0, - 558, 559, 789, 786, 0, 0, 752, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 516, 517, 519, 0, - 634, 0, 615, 0, 617, 618, 0, 932, 852, 51, - 41, 0, 853, 0, 0, 0, 0, 813, 815, 816, - 852, 0, 802, 0, 0, 639, 0, 0, 565, 47, - 581, 577, 0, 639, 0, 0, 629, 0, 0, 0, - 0, 0, 0, 619, 0, 0, 622, 0, 0, 0, - 0, 613, 0, 0, 0, -2, 0, 0, 0, 61, - 62, 0, 0, 0, 906, 72, 0, 0, 77, 78, - 907, 908, 909, 910, 0, 110, -2, 269, 129, 131, - 132, 133, 124, 134, 205, 204, 150, 207, 207, 173, - 174, 210, 0, 210, 210, 210, 0, 0, 167, 168, - 169, 170, 161, 0, 162, 163, 164, 0, 165, 247, - 0, 821, 215, 216, 218, 222, 0, 0, 243, 244, - 0, 0, 924, 0, 935, 0, 0, 0, 119, 120, - 121, 122, 117, 0, 0, 125, 322, 0, 0, 0, - 245, 0, 0, 224, 240, 225, 226, 0, 351, 0, - 0, 384, 385, 386, 387, 0, 0, 0, 320, 322, - 210, 0, 276, 277, 282, 283, 301, 0, 0, 0, - 0, 847, 848, 0, 851, 92, 374, 376, 375, 379, - 0, 0, 0, 0, 411, 413, 262, 263, 821, 0, - 415, 433, 470, 471, 469, 449, 469, 476, 453, 486, - 529, 0, 0, 0, 537, 0, 664, 666, 668, 655, - 676, 659, 0, 656, 0, 0, 650, 718, 0, 0, - 560, 0, 809, 852, 722, 723, 0, 0, 0, 0, - 0, 759, 0, 0, 760, 0, 809, 0, 787, 0, - 0, 734, 753, 0, 0, 754, 755, 756, 757, 758, - 515, 518, 520, 594, 0, 0, 0, 0, 616, 930, - 43, 0, 0, 0, 819, 820, 812, 42, 0, 919, - 920, 803, 804, 805, 0, 574, 585, 566, 0, 817, - 894, 0, 0, 886, 0, 0, 639, 902, 0, 587, - 608, 610, 0, 605, 620, 621, 623, 0, 625, 0, - 627, 628, 591, 592, 593, 0, 639, 0, 639, 66, - 639, 68, 0, 633, 75, 76, 0, 0, 82, 211, - 212, 117, 271, 130, 136, 0, 0, 0, 140, 0, - 0, 143, 145, 146, 206, 210, 210, 175, 208, 209, - 176, 177, 178, 0, 194, 0, 0, 0, 264, 87, - 825, 824, 222, 222, 217, 0, 220, 0, 197, 0, - 102, 0, 0, 0, 0, 326, 598, 0, 337, 338, - 0, 321, 381, 0, 214, 0, 227, 792, 601, 0, - 0, 339, 0, 322, 342, 343, 354, 304, 305, 302, - 596, 838, 839, 840, 0, 850, 95, 0, 0, 0, - 0, 372, 0, 414, 64, 472, 472, 524, 0, 527, - 0, 657, 0, 677, 660, 719, 720, 0, 793, 817, - 45, 0, 196, 196, 772, 196, 200, 775, 196, 777, - 196, 780, 0, 0, 0, 0, 0, 0, 0, 784, - 733, 790, 0, 0, 0, 0, 0, 0, 0, 0, - 207, 857, 854, 44, 807, 0, 640, 578, 48, 52, - 0, 894, 885, 896, 898, 0, 0, 0, 890, 0, - 809, 0, 0, 602, 609, 0, 0, 603, 0, 604, - 624, 626, -2, 809, 639, 59, 60, 0, 79, 80, - 81, 270, 137, 138, 0, 141, 142, 144, 171, 172, - 207, 0, 207, 0, 201, 0, 253, 265, 0, 822, - 823, 0, 0, 219, 221, 596, 103, 104, 105, 0, - 0, 126, 323, 0, 213, 0, 0, 406, 403, 340, - 341, 0, 0, 849, 373, 0, 93, 94, 0, 0, - 378, 412, 434, 446, 526, 546, 661, 721, 852, 724, - 769, 207, 773, 774, 776, 778, 779, 781, 726, 725, - 0, 0, 0, 0, 0, 817, 0, 788, 0, 0, - 0, 0, 0, 614, 207, 877, 49, 0, 0, 0, - 53, 0, 899, 0, 0, 0, 0, 70, 817, 903, - 904, 606, 0, 611, 817, 58, 139, 210, 195, 210, - 0, 0, 266, 826, 827, 828, 829, 830, 831, 832, - 0, 329, 599, 0, 0, 383, 0, 391, 0, 0, - 0, 0, 96, 97, 0, 0, 0, 46, 770, 771, - 0, 0, 0, 0, 761, 0, 785, 0, 0, 0, - 636, 0, 0, 634, 859, 858, 871, 875, 808, 806, - 0, 897, 0, 889, 892, 888, 891, 56, 0, 57, - 184, 185, 199, 202, 0, 0, 0, 407, 404, 405, - 841, 597, 0, 0, 0, 380, 727, 729, 728, 730, - 0, 0, 0, 732, 749, 750, 635, 637, 638, 595, - 877, 0, 870, 873, -2, 0, 0, 887, 0, 607, - 841, 0, 0, 370, 843, 98, 99, 315, 316, 317, - 92, 731, 0, 0, 0, 864, 862, 862, 875, 0, - 879, 0, 884, 0, 895, 893, 88, 0, 0, 0, - 0, 844, 845, 95, 762, 0, 765, 867, 0, 860, - 863, 861, 872, 0, 878, 0, 0, 876, 408, 409, - 249, 0, 377, 763, 856, 0, 865, 866, 874, 0, - 0, 250, 251, 0, 842, 0, 868, 869, 880, 882, - 252, 0, 0, 0, 0, 254, 256, 257, 0, 0, - 255, 764, 258, 259, 260, + 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, -2, 1101, + 0, 0, 127, 128, 0, 37, 248, 0, 123, 0, + 242, 196, 846, 925, 935, 0, 0, 0, 0, 0, + 91, 115, 116, 222, 222, 0, 117, 117, 334, 335, + 336, 0, 0, -2, 246, 0, 319, 0, 0, 236, + 236, 240, 238, 239, 0, 0, 0, 0, 0, 0, + 346, 0, 347, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 402, 0, 223, 0, 364, 365, 273, 0, + 0, 0, 0, 344, 345, 0, 0, 930, 931, 0, + 0, 222, 222, 0, 0, 0, 0, 222, 222, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 101, 837, 0, 0, 0, 0, + 0, 0, -2, 0, 410, 0, 923, 0, 0, 0, + 0, 417, 0, 419, 420, 0, 0, 421, 422, 423, + 424, 425, 472, 0, 472, 0, 472, 472, 472, 472, + 469, 0, 469, 467, 468, 459, 460, 1343, 1343, 1343, + 0, 1343, 1343, 0, 1343, 1343, 0, 231, 232, 233, + 475, 451, 452, 455, 456, 1344, 1345, 457, 458, 913, + 489, 492, 509, 507, 508, 510, 502, 503, 504, 505, + 0, 522, 523, 528, 0, 0, 0, 0, 534, 535, + 536, 0, 0, 539, 540, 541, 0, 0, 0, 0, + 0, 645, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 669, 670, 671, 672, 673, 674, 675, 648, 0, + 662, 0, 0, 0, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 0, 560, 0, 0, 0, 809, 0, + 0, 0, 0, 0, 0, 0, 557, 0, 783, 0, + 735, 743, 0, 736, 744, 737, 745, 738, 0, 739, + 746, 740, 747, 741, 742, 748, 0, 0, 0, 560, + 560, 0, 0, 40, 513, 514, 0, 614, 933, 817, + 0, 562, 855, 0, 0, 818, 810, 811, 814, 817, + 0, 584, 573, 564, 567, 568, 550, 0, 576, 580, + 0, 582, 583, 0, 0, 69, 0, 630, 0, 586, + 588, 589, 590, 612, 0, 0, 0, 0, 65, 67, + 631, 0, 1310, 911, 0, 73, 74, 0, 0, 0, + 210, 916, 917, 918, -2, 229, 0, 135, 203, 147, + 148, 149, 196, 151, 196, 196, 196, 196, 207, 207, + 207, 207, 179, 180, 181, 182, 183, 0, 0, 166, + 196, 196, 196, 196, 186, 187, 188, 189, 190, 191, + 192, 193, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 198, 198, 198, 200, 200, 0, 38, 0, 214, + 0, 814, 0, 837, 0, 0, 936, 0, 935, 935, + 935, 106, 0, 0, 0, 367, 328, 356, 368, 0, + 331, 332, -2, 0, 0, 318, 0, 320, 0, 230, + 0, -2, 0, 0, 0, 236, 240, 237, 240, 228, + 241, 348, 791, 0, 349, 350, 0, 382, 600, 0, + 0, 0, 0, 0, 388, 389, 390, 0, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 357, 358, + 359, 360, 361, 362, 363, 0, 0, 320, 0, 353, + 0, 274, 275, 0, 0, 278, 279, 280, 281, 0, + 0, 284, 285, 286, 287, 288, 312, 313, 314, 289, + 290, 291, 292, 293, 294, 295, 306, 307, 308, 309, + 310, 311, 296, 297, 298, 299, 300, 303, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 834, 835, + 836, 0, 0, 0, 0, 0, 261, 63, 924, 416, + 632, 944, 945, 473, 474, 426, 445, 428, 448, 429, + 431, 430, 432, 472, 0, 0, 0, 234, 235, 472, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 0, + 450, 0, 0, 0, 490, 494, 495, 496, 497, 0, + 0, 525, 530, 531, 532, 533, 545, 538, 683, 642, + 643, 644, 646, 663, 0, 665, 667, 653, 654, 678, + 679, 680, 0, 0, 0, 0, 676, 658, 0, 689, + 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, + 700, 703, 766, 767, 768, 0, 701, 702, 713, 0, + 0, 0, 561, 792, 0, -2, 0, 681, 900, 817, + 0, 0, 0, 0, 686, 794, 0, 686, 794, 0, + 0, 0, 558, 559, 789, 786, 0, 0, 752, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, + 519, 0, 634, 0, 615, 0, 617, 618, 0, 934, + 852, 51, 41, 0, 853, 0, 0, 0, 0, 813, + 815, 816, 852, 0, 802, 0, 0, 639, 0, 0, + 565, 47, 581, 577, 0, 639, 0, 0, 629, 0, + 0, 0, 0, 0, 0, 619, 0, 0, 622, 0, + 0, 0, 0, 613, 0, 0, 0, -2, 0, 0, + 0, 61, 62, 0, 0, 0, 906, 72, 0, 0, + 77, 78, 907, 908, 909, 910, 0, 110, -2, 269, + 129, 131, 132, 133, 124, 134, 205, 204, 150, 207, + 207, 173, 174, 210, 0, 210, 210, 210, 0, 0, + 167, 168, 169, 170, 161, 0, 162, 163, 164, 0, + 165, 247, 0, 821, 215, 216, 218, 222, 0, 0, + 243, 244, 0, 0, 100, 0, 937, 0, 0, 0, + 926, 119, 120, 121, 122, 117, 0, 0, 125, 322, + 0, 0, 0, 245, 0, 0, 224, 240, 225, 226, + 0, 351, 0, 0, 384, 385, 386, 387, 0, 0, + 0, 320, 322, 210, 0, 276, 277, 282, 283, 301, + 0, 0, 0, 0, 847, 848, 0, 851, 92, 374, + 376, 375, 379, 0, 0, 0, 0, 411, 261, 821, + 0, 415, 262, 263, 433, 470, 471, 469, 449, 469, + 476, 453, 486, 529, 0, 0, 0, 537, 0, 664, + 666, 668, 655, 676, 659, 0, 656, 0, 0, 650, + 718, 0, 0, 560, 0, 809, 852, 722, 723, 0, + 0, 0, 0, 0, 759, 0, 0, 760, 0, 809, + 0, 787, 0, 0, 734, 753, 0, 0, 754, 755, + 756, 757, 758, 515, 518, 520, 594, 0, 0, 0, + 0, 616, 932, 43, 0, 0, 0, 819, 820, 812, + 42, 0, 919, 920, 803, 804, 805, 0, 574, 585, + 566, 0, 817, 894, 0, 0, 886, 0, 0, 639, + 902, 0, 587, 608, 610, 0, 605, 620, 621, 623, + 0, 625, 0, 627, 628, 591, 592, 593, 0, 639, + 0, 639, 66, 639, 68, 0, 633, 75, 76, 0, + 0, 82, 211, 212, 117, 271, 130, 136, 0, 0, + 0, 140, 0, 0, 143, 145, 146, 206, 210, 210, + 175, 208, 209, 176, 177, 178, 0, 194, 0, 0, + 0, 264, 87, 825, 824, 222, 222, 217, 0, 220, + 0, 197, 0, 102, 0, 0, 0, 0, 326, 598, + 0, 337, 338, 0, 321, 381, 0, 214, 0, 227, + 792, 601, 0, 0, 339, 0, 322, 342, 343, 354, + 304, 305, 302, 596, 838, 839, 840, 0, 850, 95, + 0, 0, 0, 0, 372, 0, 413, 414, 64, 472, + 472, 524, 0, 527, 0, 657, 0, 677, 660, 719, + 720, 0, 793, 817, 45, 0, 196, 196, 772, 196, + 200, 775, 196, 777, 196, 780, 0, 0, 0, 0, + 0, 0, 0, 784, 733, 790, 0, 0, 0, 0, + 0, 0, 0, 0, 207, 857, 854, 44, 807, 0, + 640, 578, 48, 52, 0, 894, 885, 896, 898, 0, + 0, 0, 890, 0, 809, 0, 0, 602, 609, 0, + 0, 603, 0, 604, 624, 626, -2, 809, 639, 59, + 60, 0, 79, 80, 81, 270, 137, 138, 0, 141, + 142, 144, 171, 172, 207, 0, 207, 0, 201, 0, + 253, 265, 0, 822, 823, 0, 0, 219, 221, 596, + 103, 104, 105, 0, 0, 126, 323, 0, 213, 0, + 0, 406, 403, 340, 341, 0, 0, 849, 373, 0, + 93, 94, 0, 0, 378, 412, 434, 446, 526, 546, + 661, 721, 852, 724, 769, 207, 773, 774, 776, 778, + 779, 781, 726, 725, 0, 0, 0, 0, 0, 817, + 0, 788, 0, 0, 0, 0, 0, 614, 207, 877, + 49, 0, 0, 0, 53, 0, 899, 0, 0, 0, + 0, 70, 817, 903, 904, 606, 0, 611, 817, 58, + 139, 210, 195, 210, 0, 0, 266, 826, 827, 828, + 829, 830, 831, 832, 0, 329, 599, 0, 0, 383, + 0, 391, 0, 0, 0, 0, 96, 97, 0, 0, + 0, 46, 770, 771, 0, 0, 0, 0, 761, 0, + 785, 0, 0, 0, 636, 0, 0, 634, 859, 858, + 871, 875, 808, 806, 0, 897, 0, 889, 892, 888, + 891, 56, 0, 57, 184, 185, 199, 202, 0, 0, + 0, 407, 404, 405, 841, 597, 0, 0, 0, 380, + 727, 729, 728, 730, 0, 0, 0, 732, 749, 750, + 635, 637, 638, 595, 877, 0, 870, 873, -2, 0, + 0, 887, 0, 607, 841, 0, 0, 370, 843, 98, + 99, 315, 316, 317, 92, 731, 0, 0, 0, 864, + 862, 862, 875, 0, 879, 0, 884, 0, 895, 893, + 88, 0, 0, 0, 0, 844, 845, 95, 762, 0, + 765, 867, 0, 860, 863, 861, 872, 0, 878, 0, + 0, 876, 408, 409, 249, 0, 377, 763, 856, 0, + 865, 866, 874, 0, 0, 250, 251, 0, 842, 0, + 868, 869, 880, 882, 252, 0, 0, 0, 0, 254, + 256, 257, 0, 0, 255, 764, 258, 259, 260, } var yyTok1 = [...]int{ @@ -4905,7 +4935,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 111, 3, 3, 3, 138, 130, 3, 81, 83, 135, 133, 82, 134, 150, 136, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 463, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 464, 119, 118, 120, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -4982,7 +5012,7 @@ var yyTok3 = [...]int{ 57770, 445, 57771, 446, 57772, 447, 57773, 448, 57774, 449, 57775, 450, 57776, 451, 57777, 452, 57778, 453, 57779, 454, 57780, 455, 57781, 456, 57782, 457, 57783, 458, 57784, 459, - 57785, 460, 57786, 461, 57787, 462, 0, + 57785, 460, 57786, 461, 57787, 462, 57788, 463, 0, } var yyErrorMessages = [...]struct { @@ -5782,10 +5812,10 @@ yydefault: yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str} } case 100: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:831 { - yyVAL.createTable = &CreateTable{Table: yyDollar[4].tableName, IfNotExists: yyDollar[3].boolean} + yyVAL.createTable = &CreateTable{Table: yyDollar[5].tableName, IfNotExists: yyDollar[4].boolean, Temp: yyDollar[2].boolean} setDDL(yylex, yyVAL.createTable) } case 101: @@ -7668,10 +7698,10 @@ yydefault: yyVAL.renameTablePairs = append(yyDollar[1].renameTablePairs, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) } case 413: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:2278 { - yyVAL.statement = &DropTable{FromTables: yyDollar[4].tableNames, IfExists: yyDollar[3].boolean} + yyVAL.statement = &DropTable{FromTables: yyDollar[5].tableNames, IfExists: yyDollar[4].boolean, Temp: yyDollar[2].boolean} } case 414: yyDollar = yyS[yypt-6 : yypt+1] @@ -10683,7 +10713,7 @@ yydefault: yyVAL.boolean = false } case 922: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:4591 { yyVAL.boolean = true @@ -10695,7 +10725,7 @@ yydefault: yyVAL.boolean = false } case 924: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:4596 { yyVAL.boolean = true @@ -10704,140 +10734,152 @@ yydefault: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:4599 { - yyVAL.ignore = false + yyVAL.boolean = false } case 926: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:4601 { - yyVAL.ignore = true + yyVAL.boolean = true } case 927: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:4604 { - yyVAL.empty = struct{}{} + yyVAL.ignore = false } case 928: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:4606 { - yyVAL.empty = struct{}{} + yyVAL.ignore = true } case 929: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4608 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:4609 { yyVAL.empty = struct{}{} } case 930: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:4611 + { + yyVAL.empty = struct{}{} + } + case 931: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:4613 + { + yyVAL.empty = struct{}{} + } + case 932: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:4612 +//line sql.y:4617 { yyVAL.statement = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprs} } - case 931: + case 933: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4617 +//line sql.y:4622 { yyVAL.exprs = nil } - case 932: + case 934: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4621 +//line sql.y:4626 { yyVAL.exprs = yyDollar[1].exprs } - case 933: + case 935: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4626 +//line sql.y:4631 { yyVAL.indexOptions = nil } - case 934: + case 936: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4628 +//line sql.y:4633 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 935: + case 937: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4632 +//line sql.y:4637 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[2].colIdent.String())} } - case 936: + case 938: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4638 +//line sql.y:4643 { yyVAL.colIdent = yyDollar[1].colIdent } - case 937: + case 939: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4642 +//line sql.y:4647 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 939: + case 941: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4649 +//line sql.y:4654 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 940: + case 942: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4655 +//line sql.y:4660 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 941: + case 943: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4659 +//line sql.y:4664 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 943: + case 945: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4666 +//line sql.y:4671 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1337: + case 1340: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5084 +//line sql.y:5090 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1338: + case 1341: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5093 +//line sql.y:5099 { decNesting(yylex) } - case 1339: + case 1342: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5098 +//line sql.y:5104 { skipToEnd(yylex) } - case 1340: + case 1343: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5103 +//line sql.y:5109 { skipToEnd(yylex) } - case 1341: + case 1344: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5107 +//line sql.y:5113 { skipToEnd(yylex) } - case 1342: + case 1345: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5111 +//line sql.y:5117 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index c48cdfe7eaf..b0945212f4f 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -202,7 +202,7 @@ func skipToEnd(yylex interface{}) { %token MAXVALUE PARTITION REORGANIZE LESS THAN PROCEDURE TRIGGER %token VINDEX VINDEXES DIRECTORY NAME UPGRADE %token STATUS VARIABLES WARNINGS CASCADED DEFINER OPTION SQL UNDEFINED -%token SEQUENCE MERGE TEMPTABLE INVOKER SECURITY FIRST AFTER LAST +%token SEQUENCE MERGE TEMPORARY TEMPTABLE INVOKER SECURITY FIRST AFTER LAST // Transaction Tokens %token BEGIN START TRANSACTION COMMIT ROLLBACK SAVEPOINT RELEASE WORK @@ -349,7 +349,7 @@ func skipToEnd(yylex interface{}) { %type ignore_opt %type full_opt from_database_opt tables_or_processlist columns_or_fields extended_opt storage_opt %type like_or_where_opt like_opt -%type exists_opt not_exists_opt enforced_opt +%type exists_opt not_exists_opt enforced_opt temp_opt %type to_opt %type reserved_keyword non_reserved_keyword %type sql_id reserved_sql_id col_alias as_ci_opt @@ -827,9 +827,9 @@ vindex_param: } create_table_prefix: - CREATE TABLE not_exists_opt table_name + CREATE temp_opt TABLE not_exists_opt table_name { - $$ = &CreateTable{Table: $4, IfNotExists: $3} + $$ = &CreateTable{Table: $5, IfNotExists: $4, Temp: $2} setDDL(yylex, $$) } @@ -2274,9 +2274,9 @@ rename_list: } drop_statement: - DROP TABLE exists_opt table_name_list restrict_or_cascade_opt + DROP temp_opt TABLE exists_opt table_name_list restrict_or_cascade_opt { - $$ = &DropTable{FromTables: $4, IfExists: $3} + $$ = &DropTable{FromTables: $5, IfExists: $4, Temp: $2} } | DROP INDEX id_or_var ON table_name algorithm_lock_opt { @@ -4585,6 +4585,11 @@ for_from: FOR | FROM +temp_opt: + { $$ = false } +| TEMPORARY + { $$ = true } + exists_opt: { $$ = false } | IF EXISTS @@ -5037,6 +5042,7 @@ non_reserved_keyword: | STORAGE | TABLES | TABLESPACE +| TEMPORARY | TEMPTABLE | TERMINATED | TEXT diff --git a/go/vt/sqlparser/token.go b/go/vt/sqlparser/token.go index e1546d7b0de..c5ea3b13def 100644 --- a/go/vt/sqlparser/token.go +++ b/go/vt/sqlparser/token.go @@ -433,6 +433,7 @@ var keywords = map[string]int{ "table": TABLE, "tables": TABLES, "tablespace": TABLESPACE, + "temporary": TEMPORARY, "temptable": TEMPTABLE, "terminated": TERMINATED, "text": TEXT, diff --git a/go/vt/vtgate/engine/ddl.go b/go/vt/vtgate/engine/ddl.go index f936027836c..f514107b576 100644 --- a/go/vt/vtgate/engine/ddl.go +++ b/go/vt/vtgate/engine/ddl.go @@ -37,64 +37,76 @@ type DDL struct { NormalDDL *Send OnlineDDL *OnlineDDL + CreateTempTable bool + noTxNeeded noInputs } -func (v *DDL) description() PrimitiveDescription { +func (ddl *DDL) description() PrimitiveDescription { + other := map[string]interface{}{ + "Query": ddl.SQL, + } + if ddl.CreateTempTable { + other["TempTable"] = true + } return PrimitiveDescription{ OperatorType: "DDL", - Keyspace: v.Keyspace, - Other: map[string]interface{}{ - "Query": v.SQL, - }, + Keyspace: ddl.Keyspace, + Other: other, } } // RouteType implements the Primitive interface -func (v *DDL) RouteType() string { +func (ddl *DDL) RouteType() string { return "DDL" } // GetKeyspaceName implements the Primitive interface -func (v *DDL) GetKeyspaceName() string { - return v.Keyspace.Name +func (ddl *DDL) GetKeyspaceName() string { + return ddl.Keyspace.Name } // GetTableName implements the Primitive interface -func (v *DDL) GetTableName() string { - return v.DDL.GetTable().Name.String() +func (ddl *DDL) GetTableName() string { + return ddl.DDL.GetTable().Name.String() } // IsOnlineSchemaDDL returns true if the query is an online schema change DDL -func (v *DDL) isOnlineSchemaDDL() bool { - switch v.DDL.GetAction() { +func (ddl *DDL) isOnlineSchemaDDL() bool { + switch ddl.DDL.GetAction() { case sqlparser.CreateDDLAction, sqlparser.DropDDLAction, sqlparser.AlterDDLAction: - return !v.OnlineDDL.Strategy.IsDirect() + return !ddl.OnlineDDL.Strategy.IsDirect() } return false } // Execute implements the Primitive interface -func (v *DDL) Execute(vcursor VCursor, bindVars map[string]*query.BindVariable, wantfields bool) (result *sqltypes.Result, err error) { +func (ddl *DDL) Execute(vcursor VCursor, bindVars map[string]*query.BindVariable, wantfields bool) (result *sqltypes.Result, err error) { + if ddl.CreateTempTable { + vcursor.Session().HasCreatedTempTable() + vcursor.Session().NeedsReservedConn() + return ddl.NormalDDL.Execute(vcursor, bindVars, wantfields) + } + strategy, options, err := schema.ParseDDLStrategy(vcursor.Session().GetDDLStrategy()) if err != nil { return nil, err } - v.OnlineDDL.Strategy = strategy - v.OnlineDDL.Options = options + ddl.OnlineDDL.Strategy = strategy + ddl.OnlineDDL.Options = options - if v.isOnlineSchemaDDL() { - return v.OnlineDDL.Execute(vcursor, bindVars, wantfields) + if ddl.isOnlineSchemaDDL() { + return ddl.OnlineDDL.Execute(vcursor, bindVars, wantfields) } - return v.NormalDDL.Execute(vcursor, bindVars, wantfields) + return ddl.NormalDDL.Execute(vcursor, bindVars, wantfields) } // StreamExecute implements the Primitive interface -func (v *DDL) StreamExecute(vcursor VCursor, bindVars map[string]*query.BindVariable, wantfields bool, callback func(*sqltypes.Result) error) error { - results, err := v.Execute(vcursor, bindVars, wantfields) +func (ddl *DDL) StreamExecute(vcursor VCursor, bindVars map[string]*query.BindVariable, wantfields bool, callback func(*sqltypes.Result) error) error { + results, err := ddl.Execute(vcursor, bindVars, wantfields) if err != nil { return err } @@ -102,6 +114,6 @@ func (v *DDL) StreamExecute(vcursor VCursor, bindVars map[string]*query.BindVari } // GetFields implements the Primitive interface -func (v *DDL) GetFields(vcursor VCursor, bindVars map[string]*query.BindVariable) (*sqltypes.Result, error) { +func (ddl *DDL) GetFields(vcursor VCursor, bindVars map[string]*query.BindVariable) (*sqltypes.Result, error) { return nil, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "not reachable") } diff --git a/go/vt/vtgate/engine/fake_vcursor_test.go b/go/vt/vtgate/engine/fake_vcursor_test.go index df27d1984e8..7de2be7e19c 100644 --- a/go/vt/vtgate/engine/fake_vcursor_test.go +++ b/go/vt/vtgate/engine/fake_vcursor_test.go @@ -89,6 +89,10 @@ func (t noopVCursor) SetSessionTrackGTIDs(b bool) { panic("implement me") } +func (t noopVCursor) HasCreatedTempTable() { + panic("implement me") +} + func (t noopVCursor) LookupRowLockShardSession() vtgatepb.CommitOrder { panic("implement me") } diff --git a/go/vt/vtgate/engine/primitive.go b/go/vt/vtgate/engine/primitive.go index 3eff3f9c7ea..3cb3e52fd02 100644 --- a/go/vt/vtgate/engine/primitive.go +++ b/go/vt/vtgate/engine/primitive.go @@ -141,6 +141,9 @@ type ( SetReadAfterWriteGTID(string) SetReadAfterWriteTimeout(float64) SetSessionTrackGTIDs(bool) + + // HasCreatedTempTable will mark the session as having created temp tables + HasCreatedTempTable() } // Plan represents the execution strategy for a given query. diff --git a/go/vt/vtgate/executor.go b/go/vt/vtgate/executor.go index 241540c5eee..32ba6ce95d7 100644 --- a/go/vt/vtgate/executor.go +++ b/go/vt/vtgate/executor.go @@ -1322,7 +1322,7 @@ func skipQueryPlanCache(safeSession *SafeSession) bool { if safeSession == nil || safeSession.Options == nil { return false } - return safeSession.Options.SkipQueryPlanCache + return safeSession.Options.SkipQueryPlanCache || safeSession.Options.HasCreatedTempTables } type cacheItem struct { diff --git a/go/vt/vtgate/executor_test.go b/go/vt/vtgate/executor_test.go index f53a593d160..a1c7c4819d2 100644 --- a/go/vt/vtgate/executor_test.go +++ b/go/vt/vtgate/executor_test.go @@ -2279,6 +2279,23 @@ func TestExecutorCallProc(t *testing.T) { } } +func TestExecutorTempTable(t *testing.T) { + executor, _, _, sbcUnsharded := createExecutorEnv() + creatQuery := "create temporary table temp_t(id bigint primary key)" + session := NewSafeSession(&vtgatepb.Session{TargetString: KsTestUnsharded}) + ctx := context.Background() + _, err := executor.Execute(ctx, "TestExecutorTempTable", session, creatQuery, nil) + require.NoError(t, err) + assert.EqualValues(t, 1, sbcUnsharded.ExecCount.Get()) + + before := executor.plans.Len() + + _, err = executor.Execute(ctx, "TestExecutorTempTable", session, "select * from temp_t", nil) + require.NoError(t, err) + + assert.Equal(t, before, executor.plans.Len()) +} + func exec(executor *Executor, session *SafeSession, sql string) (*sqltypes.Result, error) { return executor.Execute(context.Background(), "TestExecute", session, sql, nil) } diff --git a/go/vt/vtgate/planbuilder/ddl.go b/go/vt/vtgate/planbuilder/ddl.go index 2c3d3753395..9ef47d18990 100644 --- a/go/vt/vtgate/planbuilder/ddl.go +++ b/go/vt/vtgate/planbuilder/ddl.go @@ -2,7 +2,7 @@ package planbuilder import ( "vitess.io/vitess/go/mysql" - "vitess.io/vitess/go/vt/proto/vtrpc" + vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc" "vitess.io/vitess/go/vt/vterrors" "vitess.io/vitess/go/vt/vtgate/vindexes" @@ -31,12 +31,20 @@ func buildGeneralDDLPlan(sql string, ddlStatement sqlparser.DDLStatement, vschem return nil, err } + if ddlStatement.IsTemporary() { + if normalDDLPlan.Keyspace.Sharded { + return nil, vterrors.Errorf(vtrpcpb.Code_UNIMPLEMENTED, "Temporary table not supported in sharded keyspace: %s", normalDDLPlan.Keyspace.Name) + } + onlineDDLPlan = nil // emptying this so it does not accidentally gets used somewhere + } + return &engine.DDL{ - Keyspace: normalDDLPlan.Keyspace, - SQL: normalDDLPlan.Query, - DDL: ddlStatement, - NormalDDL: normalDDLPlan, - OnlineDDL: onlineDDLPlan, + Keyspace: normalDDLPlan.Keyspace, + SQL: normalDDLPlan.Query, + DDL: ddlStatement, + NormalDDL: normalDDLPlan, + OnlineDDL: onlineDDLPlan, + CreateTempTable: ddlStatement.IsTemporary(), }, nil } @@ -82,7 +90,7 @@ func buildDDLPlans(sql string, ddlStatement sqlparser.DDLStatement, vschema Cont } default: - return nil, nil, vterrors.Errorf(vtrpc.Code_INTERNAL, "BUG: unexpected statement type: %T", ddlStatement) + return nil, nil, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "BUG: unexpected statement type: %T", ddlStatement) } if destination == nil { @@ -148,13 +156,13 @@ func buildAlterView(vschema ContextVSchema, ddl *sqlparser.AlterView) (key.Desti } routePlan, isRoute := selectPlan.(*engine.Route) if !isRoute { - return nil, nil, vterrors.New(vtrpc.Code_INVALID_ARGUMENT, ViewComplex) + return nil, nil, vterrors.New(vtrpcpb.Code_INVALID_ARGUMENT, ViewComplex) } if keyspace.Name != routePlan.GetKeyspaceName() { - return nil, nil, vterrors.New(vtrpc.Code_INVALID_ARGUMENT, ViewDifferentKeyspace) + return nil, nil, vterrors.New(vtrpcpb.Code_INVALID_ARGUMENT, ViewDifferentKeyspace) } if routePlan.Opcode != engine.SelectUnsharded && routePlan.Opcode != engine.SelectEqualUnique && routePlan.Opcode != engine.SelectScatter { - return nil, nil, vterrors.New(vtrpc.Code_INVALID_ARGUMENT, ViewComplex) + return nil, nil, vterrors.New(vtrpcpb.Code_INVALID_ARGUMENT, ViewComplex) } sqlparser.Rewrite(ddl.Select, func(cursor *sqlparser.Cursor) bool { switch tableName := cursor.Node().(type) { @@ -184,13 +192,13 @@ func buildCreateView(vschema ContextVSchema, ddl *sqlparser.CreateView) (key.Des } routePlan, isRoute := selectPlan.(*engine.Route) if !isRoute { - return nil, nil, vterrors.New(vtrpc.Code_INVALID_ARGUMENT, ViewComplex) + return nil, nil, vterrors.New(vtrpcpb.Code_INVALID_ARGUMENT, ViewComplex) } if keyspace.Name != routePlan.GetKeyspaceName() { - return nil, nil, vterrors.New(vtrpc.Code_INVALID_ARGUMENT, ViewDifferentKeyspace) + return nil, nil, vterrors.New(vtrpcpb.Code_INVALID_ARGUMENT, ViewDifferentKeyspace) } if routePlan.Opcode != engine.SelectUnsharded && routePlan.Opcode != engine.SelectEqualUnique && routePlan.Opcode != engine.SelectScatter { - return nil, nil, vterrors.New(vtrpc.Code_INVALID_ARGUMENT, ViewComplex) + return nil, nil, vterrors.New(vtrpcpb.Code_INVALID_ARGUMENT, ViewComplex) } sqlparser.Rewrite(ddl.Select, func(cursor *sqlparser.Cursor) bool { switch tableName := cursor.Node().(type) { @@ -240,7 +248,7 @@ func buildDropViewOrTable(vschema ContextVSchema, ddlStatement sqlparser.DDLStat keyspace = keyspaceTab } if destination != destinationTab || keyspace != keyspaceTab { - return nil, nil, vterrors.New(vtrpc.Code_INVALID_ARGUMENT, DifferentDestinations) + return nil, nil, vterrors.New(vtrpcpb.Code_INVALID_ARGUMENT, DifferentDestinations) } } return destination, keyspace, nil @@ -296,7 +304,7 @@ func buildRenameTable(vschema ContextVSchema, renameTable *sqlparser.RenameTable keyspace = keyspaceFrom } if destination != destinationFrom || keyspace != keyspaceFrom { - return nil, nil, vterrors.New(vtrpc.Code_INVALID_ARGUMENT, DifferentDestinations) + return nil, nil, vterrors.New(vtrpcpb.Code_INVALID_ARGUMENT, DifferentDestinations) } } return destination, keyspace, nil diff --git a/go/vt/vtgate/planbuilder/testdata/ddl_cases.txt b/go/vt/vtgate/planbuilder/testdata/ddl_cases.txt index a9fe34147be..f3e0ed41f80 100644 --- a/go/vt/vtgate/planbuilder/testdata/ddl_cases.txt +++ b/go/vt/vtgate/planbuilder/testdata/ddl_cases.txt @@ -323,3 +323,35 @@ "Query": "rename table a to b" } } + +# CREATE temp TABLE +"create temporary table a(id int)" +{ + "QueryType": "DDL", + "Original": "create temporary table a(id int)", + "Instructions": { + "OperatorType": "DDL", + "Keyspace": { + "Name": "main", + "Sharded": false + }, + "Query": "create temporary table a (\n\tid int\n)", + "TempTable": true + } +} + +# DROP temp TABLE +"drop temporary table a" +{ + "QueryType": "DDL", + "Original": "drop temporary table a", + "Instructions": { + "OperatorType": "DDL", + "Keyspace": { + "Name": "main", + "Sharded": false + }, + "Query": "drop temporary table a", + "TempTable": true + } +} diff --git a/go/vt/vtgate/vcursor_impl.go b/go/vt/vtgate/vcursor_impl.go index a2560932ed7..64ab99a498d 100644 --- a/go/vt/vtgate/vcursor_impl.go +++ b/go/vt/vtgate/vcursor_impl.go @@ -679,16 +679,21 @@ func (vc *vcursorImpl) SetReadAfterWriteGTID(vtgtid string) { vc.safeSession.SetReadAfterWriteGTID(vtgtid) } -//SetReadAfterWriteTimeout implements the SessionActions interface +// SetReadAfterWriteTimeout implements the SessionActions interface func (vc *vcursorImpl) SetReadAfterWriteTimeout(timeout float64) { vc.safeSession.SetReadAfterWriteTimeout(timeout) } -//SetSessionTrackGTIDs implements the SessionActions interface +// SetSessionTrackGTIDs implements the SessionActions interface func (vc *vcursorImpl) SetSessionTrackGTIDs(enable bool) { vc.safeSession.SetSessionTrackGtids(enable) } +// HasCreatedTempTable implements the SessionActions interface +func (vc *vcursorImpl) HasCreatedTempTable() { + vc.safeSession.GetOrCreateOptions().HasCreatedTempTables = true +} + // ParseDestinationTarget parses destination target string and sets default keyspace if possible. func parseDestinationTarget(targetString string, vschema *vindexes.VSchema) (string, topodatapb.TabletType, key.Destination, error) { destKeyspace, destTabletType, dest, err := topoprotopb.ParseDestination(targetString, defaultTabletType) diff --git a/go/vt/vttablet/tabletserver/query_engine.go b/go/vt/vttablet/tabletserver/query_engine.go index 94f37090d47..ab58f3bdebf 100644 --- a/go/vt/vttablet/tabletserver/query_engine.go +++ b/go/vt/vttablet/tabletserver/query_engine.go @@ -310,7 +310,7 @@ func (qe *QueryEngine) GetPlan(ctx context.Context, logStats *tabletenv.LogStats plan.Rules = qe.queryRuleSources.FilterByPlan(sql, plan.PlanID, plan.TableName().String()) plan.buildAuthorized() if plan.PlanID.IsSelect() { - if qe.enableQueryPlanFieldCaching && plan.FieldQuery != nil { + if !skipQueryPlanCache && qe.enableQueryPlanFieldCaching && plan.FieldQuery != nil { conn, err := qe.conns.Get(ctx) if err != nil { return nil, err diff --git a/go/vt/vttablet/tabletserver/tabletserver.go b/go/vt/vttablet/tabletserver/tabletserver.go index aa4c8929d71..889379cc52e 100644 --- a/go/vt/vttablet/tabletserver/tabletserver.go +++ b/go/vt/vttablet/tabletserver/tabletserver.go @@ -1810,5 +1810,5 @@ func skipQueryPlanCache(options *querypb.ExecuteOptions) bool { if options == nil { return false } - return options.SkipQueryPlanCache + return options.SkipQueryPlanCache || options.HasCreatedTempTables } diff --git a/proto/query.proto b/proto/query.proto index 6cc56e6f6ba..4b9b2345f72 100644 --- a/proto/query.proto +++ b/proto/query.proto @@ -310,6 +310,11 @@ message ExecuteOptions { // PlannerVersion specifies which planner to use. // If DEFAULT is chosen, whatever vtgate was started with will be used PlannerVersion planner_version = 11; + + // has_created_temp_tables signals whether plans created in this session should be cached or not + // if the user has created temp tables, Vitess will not reuse plans created for this session in other sessions. + // The current session can still use other sessions cached plans. + bool has_created_temp_tables = 12; } // Field describes a single column returned by a query