diff --git a/Dockerfile b/Dockerfile index 1f5beccde..ae30d4330 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,9 +14,9 @@ RUN apk add git WORKDIR /code COPY . /code/ -# See https://github.com/terra-project/go-cosmwasm/releases -ADD https://github.com/terra-project/go-cosmwasm/releases/download/v0.10.4/libgo_cosmwasm_muslc.a /lib/libgo_cosmwasm_muslc.a -RUN sha256sum /lib/libgo_cosmwasm_muslc.a | grep 2aa7b034b9340fecaa928adf3e8c093893fd6a3986a569ce7cae7528845a0951 +# See https://github.com/CosmWasm/wasmvm/releases +ADD https://github.com/CosmWasm/wasmvm/releases/download/v0.14.0-beta3/libwasmvm_muslc.a /lib/libwasmvm_muslc.a +RUN sha256sum /lib/libwasmvm_muslc.a | grep adea8f977601daa8daa9885e02b31ca6dd0ab6d4dbbd8ba2ccfa447ffebda37c # force it to use static lib (from above) not standard libgo_cosmwasm.so file RUN LEDGER_ENABLED=false BUILD_TAGS=muslc make update-swagger-docs build diff --git a/app/app.go b/app/app.go index d8449e408..2f8454e1e 100644 --- a/app/app.go +++ b/app/app.go @@ -377,9 +377,12 @@ func NewTerraApp( appCodec, keys[msgauthtypes.StoreKey], bApp.Router(), ) app.WasmKeeper = wasmkeeper.NewKeeper( - appCodec, keys[wasmtypes.StoreKey], app.GetSubspace(wasmtypes.ModuleName), - app.AccountKeeper, app.BankKeeper, app.TreasuryKeeper, bApp.Router(), - wasmtypes.DefaultFeatures, homePath, wasmConfig, + appCodec, keys[wasmtypes.StoreKey], + app.GetSubspace(wasmtypes.ModuleName), + app.AccountKeeper, app.BankKeeper, + app.TreasuryKeeper, bApp.Router(), + app.GRPCQueryRouter(), wasmtypes.DefaultFeatures, + homePath, wasmConfig, ) // register wasm msg parser & querier @@ -388,7 +391,7 @@ func NewTerraApp( wasmtypes.WasmMsgParserRouteStaking: stakingwasm.NewWasmMsgParser(), wasmtypes.WasmMsgParserRouteMarket: marketwasm.NewWasmMsgParser(), wasmtypes.WasmMsgParserRouteWasm: wasmkeeper.NewWasmMsgParser(), - }) + }, wasmkeeper.NewStargateWasmMsgParser(appCodec)) app.WasmKeeper.RegisterQueriers(map[string]wasmtypes.WasmQuerierInterface{ wasmtypes.WasmQueryRouteBank: bankwasm.NewWasmQuerier(app.BankKeeper), wasmtypes.WasmQueryRouteStaking: stakingwasm.NewWasmQuerier(app.StakingKeeper, app.DistrKeeper), @@ -396,7 +399,7 @@ func NewTerraApp( wasmtypes.WasmQueryRouteOracle: oraclewasm.NewWasmQuerier(app.OracleKeeper), wasmtypes.WasmQueryRouteTreasury: treasurywasm.NewWasmQuerier(app.TreasuryKeeper), wasmtypes.WasmQueryRouteWasm: wasmkeeper.NewWasmQuerier(app.WasmKeeper), - }) + }, wasmkeeper.NewStargateWasmQuerier(app.WasmKeeper)) // register the proposal types govRouter := govtypes.NewRouter() diff --git a/client/docs/swagger-ui/swagger.yaml b/client/docs/swagger-ui/swagger.yaml index cd23a11f7..275f902c1 100644 --- a/client/docs/swagger-ui/swagger.yaml +++ b/client/docs/swagger-ui/swagger.yaml @@ -27478,6 +27478,22 @@ paths: max_contract_msg_size: type: string format: uint64 + max_contract_data_size: + type: string + format: uint64 + event_params: + type: object + properties: + max_attribute_num: + type: string + format: uint64 + max_attribute_key_length: + type: string + format: uint64 + max_attribute_value_length: + type: string + format: uint64 + title: EventParams defines the event related parameteres description: >- QueryParamsResponse is the response type for the Query/Params RPC method. @@ -54119,6 +54135,19 @@ definitions: format: boolean title: Migratable is the flag to specify the contract migratability title: ContractInfo stores a WASM contract instance + terra.wasm.v1beta1.EventParams: + type: object + properties: + max_attribute_num: + type: string + format: uint64 + max_attribute_key_length: + type: string + format: uint64 + max_attribute_value_length: + type: string + format: uint64 + title: EventParams defines the event related parameteres terra.wasm.v1beta1.Params: type: object properties: @@ -54131,7 +54160,23 @@ definitions: max_contract_msg_size: type: string format: uint64 - description: Params defines the parameters for the oracle module. + max_contract_data_size: + type: string + format: uint64 + event_params: + type: object + properties: + max_attribute_num: + type: string + format: uint64 + max_attribute_key_length: + type: string + format: uint64 + max_attribute_value_length: + type: string + format: uint64 + title: EventParams defines the event related parameteres + description: Params defines the parameters for the wasm module. terra.wasm.v1beta1.QueryByteCodeResponse: type: object properties: @@ -54214,6 +54259,22 @@ definitions: max_contract_msg_size: type: string format: uint64 + max_contract_data_size: + type: string + format: uint64 + event_params: + type: object + properties: + max_attribute_num: + type: string + format: uint64 + max_attribute_key_length: + type: string + format: uint64 + max_attribute_value_length: + type: string + format: uint64 + title: EventParams defines the event related parameteres description: QueryParamsResponse is the response type for the Query/Params RPC method. terra.wasm.v1beta1.QueryRawStoreResponse: type: object diff --git a/cmd/terrad/root.go b/cmd/terrad/root.go index 73bdf862a..01bb88067 100644 --- a/cmd/terrad/root.go +++ b/cmd/terrad/root.go @@ -6,8 +6,6 @@ import ( "os" "path/filepath" - "github.com/spf13/viper" - "github.com/spf13/cast" "github.com/spf13/cobra" tmcli "github.com/tendermint/tendermint/libs/cli" @@ -132,6 +130,7 @@ func initRootCmd(rootCmd *cobra.Command, encodingConfig params.EncodingConfig) { } func addModuleInitFlags(startCmd *cobra.Command) { crisis.AddModuleInitFlags(startCmd) + wasmconfig.AddModuleInitFlags(startCmd) } func queryCommand() *cobra.Command { @@ -220,8 +219,9 @@ func newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, appOpts serverty terraapp.MakeEncodingConfig(), // Ideally, we would reuse the one created by NewRootCmd. appOpts, &wasmconfig.Config{BaseConfig: wasmconfig.BaseConfig{ - ContractQueryGasLimit: viper.GetUint64(wasmconfig.FlagContractQueryGasLimit), - ContractLoggingWhitelist: viper.GetString(wasmconfig.FlagContractLoggingWhitelist), + ContractQueryGasLimit: cast.ToUint64(appOpts.Get(wasmconfig.FlagContractQueryGasLimit)), + ContractDebugMode: cast.ToBool(appOpts.Get(wasmconfig.FlagContractDebugMode)), + ContractMemoryCacheSize: cast.ToUint32(appOpts.Get(wasmconfig.FlagContractMemoryCacheSize)), }}, baseapp.SetPruning(pruningOpts), baseapp.SetMinGasPrices(cast.ToString(appOpts.Get(server.FlagMinGasPrices))), diff --git a/custom/bank/wasm/interface.go b/custom/bank/wasm/interface.go index 1d66f12ca..9431c5484 100644 --- a/custom/bank/wasm/interface.go +++ b/custom/bank/wasm/interface.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/bank/keeper" "github.com/cosmos/cosmos-sdk/x/bank/types" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" wasm "github.com/terra-project/core/x/wasm/exported" ) @@ -25,7 +25,7 @@ func NewWasmMsgParser() WasmMsgParser { } // Parse implements wasm staking msg parser -func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmTypes.CosmosMsg) ([]sdk.Msg, error) { +func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.CosmosMsg) (sdk.Msg, error) { msg := wasmMsg.Bank if msg.Send == nil { @@ -36,12 +36,7 @@ func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmTypes.Cosmos return nil, nil } - _, stderr := sdk.AccAddressFromBech32(msg.Send.FromAddress) - if stderr != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Send.FromAddress) - } - - _, stderr = sdk.AccAddressFromBech32(msg.Send.ToAddress) + toAddr, stderr := sdk.AccAddressFromBech32(msg.Send.ToAddress) if stderr != nil { return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Send.ToAddress) } @@ -51,17 +46,12 @@ func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmTypes.Cosmos return nil, err } - sdkMsg := types.MsgSend{ - FromAddress: msg.Send.FromAddress, - ToAddress: msg.Send.ToAddress, - Amount: amount, - } - - return []sdk.Msg{&sdkMsg}, sdkMsg.ValidateBasic() + sdkMsg := types.NewMsgSend(contractAddr, toAddr, amount) + return sdkMsg, sdkMsg.ValidateBasic() } // ParseCustom implements custom parser -func (WasmMsgParser) ParseCustom(_ sdk.AccAddress, _ json.RawMessage) ([]sdk.Msg, error) { +func (WasmMsgParser) ParseCustom(_ sdk.AccAddress, _ json.RawMessage) (sdk.Msg, error) { return nil, nil } @@ -76,14 +66,14 @@ func NewWasmQuerier(keeper keeper.Keeper) WasmQuerier { } // Query - implement query function -func (querier WasmQuerier) Query(ctx sdk.Context, request wasmTypes.QueryRequest) ([]byte, error) { +func (querier WasmQuerier) Query(ctx sdk.Context, request wasmvmtypes.QueryRequest) ([]byte, error) { if request.Bank.AllBalances != nil { addr, err := sdk.AccAddressFromBech32(request.Bank.AllBalances.Address) if err != nil { return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, request.Bank.AllBalances.Address) } coins := querier.keeper.GetAllBalances(ctx, addr) - res := wasmTypes.AllBalancesResponse{ + res := wasmvmtypes.AllBalancesResponse{ Amount: wasm.EncodeSdkCoins(coins), } return json.Marshal(res) @@ -95,12 +85,12 @@ func (querier WasmQuerier) Query(ctx sdk.Context, request wasmTypes.QueryRequest } coin := querier.keeper.GetBalance(ctx, addr, request.Bank.Balance.Denom) - res := wasmTypes.BalanceResponse{ + res := wasmvmtypes.BalanceResponse{ Amount: wasm.EncodeSdkCoin(coin), } return json.Marshal(res) } - return nil, wasmTypes.UnsupportedRequest{Kind: "unknown BankQuery variant"} + return nil, wasmvmtypes.UnsupportedRequest{Kind: "unknown BankQuery variant"} } // QueryCustom implements custom query interface diff --git a/custom/bank/wasm/interface_test.go b/custom/bank/wasm/interface_test.go index 33891c747..ec8be3511 100644 --- a/custom/bank/wasm/interface_test.go +++ b/custom/bank/wasm/interface_test.go @@ -7,7 +7,9 @@ import ( "github.com/stretchr/testify/require" "github.com/tendermint/tendermint/crypto/secp256k1" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" + + core "github.com/terra-project/core/types" sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" @@ -24,22 +26,21 @@ func TestEncoding(t *testing.T) { cases := map[string]struct { sender sdk.AccAddress - input wasmTypes.CosmosMsg + input wasmvmtypes.CosmosMsg // set if valid - output []sdk.Msg + output sdk.Msg // set if invalid isError bool }{ "simple send": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ - Bank: &wasmTypes.BankMsg{ - Send: &wasmTypes.SendMsg{ - FromAddress: addrs[0].String(), - ToAddress: addrs[1].String(), - Amount: []wasmTypes.Coin{ + input: wasmvmtypes.CosmosMsg{ + Bank: &wasmvmtypes.BankMsg{ + Send: &wasmvmtypes.SendMsg{ + ToAddress: addrs[1].String(), + Amount: []wasmvmtypes.Coin{ { - Denom: "uatom", + Denom: core.MicroLunaDenom, Amount: "12345", }, { @@ -50,27 +51,24 @@ func TestEncoding(t *testing.T) { }, }, }, - output: []sdk.Msg{ - &banktypes.MsgSend{ - FromAddress: addrs[0].String(), - ToAddress: addrs[1].String(), - Amount: sdk.Coins{ - sdk.NewInt64Coin("uatom", 12345), - sdk.NewInt64Coin("usdt", 54321), - }, + output: &banktypes.MsgSend{ + FromAddress: addrs[0].String(), + ToAddress: addrs[1].String(), + Amount: sdk.Coins{ + sdk.NewInt64Coin(core.MicroLunaDenom, 12345), + sdk.NewInt64Coin("usdt", 54321), }, }, }, "invalid send amount": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ - Bank: &wasmTypes.BankMsg{ - Send: &wasmTypes.SendMsg{ - FromAddress: addrs[0].String(), - ToAddress: addrs[1].String(), - Amount: []wasmTypes.Coin{ + input: wasmvmtypes.CosmosMsg{ + Bank: &wasmvmtypes.BankMsg{ + Send: &wasmvmtypes.SendMsg{ + ToAddress: addrs[1].String(), + Amount: []wasmvmtypes.Coin{ { - Denom: "uatom", + Denom: core.MicroLunaDenom, Amount: "123.456", }, }, @@ -81,14 +79,13 @@ func TestEncoding(t *testing.T) { }, "invalid address": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ - Bank: &wasmTypes.BankMsg{ - Send: &wasmTypes.SendMsg{ - FromAddress: addrs[0].String(), - ToAddress: invalidAddr, - Amount: []wasmTypes.Coin{ + input: wasmvmtypes.CosmosMsg{ + Bank: &wasmvmtypes.BankMsg{ + Send: &wasmvmtypes.SendMsg{ + ToAddress: invalidAddr, + Amount: []wasmvmtypes.Coin{ { - Denom: "uatom", + Denom: core.MicroLunaDenom, Amount: "7890", }, }, diff --git a/custom/staking/wasm/interface.go b/custom/staking/wasm/interface.go index 8bdc69fe9..f023d7b70 100644 --- a/custom/staking/wasm/interface.go +++ b/custom/staking/wasm/interface.go @@ -10,7 +10,7 @@ import ( stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" wasm "github.com/terra-project/core/x/wasm/exported" ) @@ -27,7 +27,7 @@ func NewWasmMsgParser() WasmMsgParser { } // Parse implements wasm staking msg parser -func (parser WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmTypes.CosmosMsg) (msgs []sdk.Msg, err error) { +func (parser WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.CosmosMsg) (msgs sdk.Msg, err error) { msg := wasmMsg.Staking if msg.Delegate != nil { @@ -51,7 +51,7 @@ func (parser WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmTypes return nil, err } - msgs = append(msgs, sdkMsg) + return sdkMsg, nil } if msg.Redelegate != nil { @@ -79,7 +79,7 @@ func (parser WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmTypes return nil, err } - msgs = append(msgs, sdkMsg) + return sdkMsg, nil } if msg.Undelegate != nil { @@ -103,28 +103,28 @@ func (parser WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmTypes return nil, err } - msgs = append(msgs, sdkMsg) + return sdkMsg, nil } - if msg.Withdraw != nil && len(msg.Withdraw.Recipient) != 0 { - rcpt, err := sdk.AccAddressFromBech32(msg.Withdraw.Recipient) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Withdraw.Recipient) - } + if msg.Withdraw != nil { + if len(msg.Withdraw.Recipient) != 0 { + rcpt, err := sdk.AccAddressFromBech32(msg.Withdraw.Recipient) + if err != nil { + return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Withdraw.Recipient) + } - sdkMsg := distrtypes.NewMsgSetWithdrawAddress( - contractAddr, - rcpt, - ) + sdkMsg := distrtypes.NewMsgSetWithdrawAddress( + contractAddr, + rcpt, + ) - if err := sdkMsg.ValidateBasic(); err != nil { - return nil, err - } + if err := sdkMsg.ValidateBasic(); err != nil { + return nil, err + } - msgs = append(msgs, sdkMsg) - } + return sdkMsg, nil + } - if msg.Withdraw != nil && len(msg.Withdraw.Validator) != 0 { var err error validator, err := sdk.ValAddressFromBech32(msg.Withdraw.Validator) @@ -141,18 +141,15 @@ func (parser WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmTypes return nil, err } - msgs = append(msgs, sdkMsg) - } + return sdkMsg, nil - if len(msgs) == 0 { - return nil, sdkerrors.Wrap(wasm.ErrInvalidMsg, "Unknown variant of Staking") } - return + return nil, sdkerrors.Wrap(wasm.ErrInvalidMsg, "Unknown variant of Staking") } // ParseCustom implements custom parser -func (parser WasmMsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) ([]sdk.Msg, error) { +func (parser WasmMsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) (sdk.Msg, error) { return nil, nil } @@ -168,9 +165,9 @@ func NewWasmQuerier(stakingKeeper stakingkeeper.Keeper, distrKeeper distrkeeper. } // Query - implement query function -func (querier WasmQuerier) Query(ctx sdk.Context, request wasmTypes.QueryRequest) ([]byte, error) { +func (querier WasmQuerier) Query(ctx sdk.Context, request wasmvmtypes.QueryRequest) ([]byte, error) { if request.Staking.BondedDenom != nil { - res := wasmTypes.BondedDenomResponse{ + res := wasmvmtypes.BondedDenomResponse{ Denom: querier.stakingKeeper.BondDenom(ctx), } @@ -179,10 +176,10 @@ func (querier WasmQuerier) Query(ctx sdk.Context, request wasmTypes.QueryRequest if request.Staking.Validators != nil { validators := querier.stakingKeeper.GetBondedValidatorsByPower(ctx) - wasmVals := make([]wasmTypes.Validator, len(validators)) + wasmValidators := make([]wasmvmtypes.Validator, len(validators)) for i, v := range validators { - wasmVals[i] = wasmTypes.Validator{ + wasmValidators[i] = wasmvmtypes.Validator{ Address: v.OperatorAddress, Commission: v.Commission.Rate.String(), MaxCommission: v.Commission.MaxRate.String(), @@ -190,8 +187,8 @@ func (querier WasmQuerier) Query(ctx sdk.Context, request wasmTypes.QueryRequest } } - res := wasmTypes.ValidatorsResponse{ - Validators: wasmVals, + res := wasmvmtypes.ValidatorsResponse{ + Validators: wasmValidators, } return json.Marshal(res) @@ -210,7 +207,7 @@ func (querier WasmQuerier) Query(ctx sdk.Context, request wasmTypes.QueryRequest return nil, err } - res := wasmTypes.AllDelegationsResponse{ + res := wasmvmtypes.AllDelegationsResponse{ Delegations: responseDelegations, } @@ -227,7 +224,7 @@ func (querier WasmQuerier) Query(ctx sdk.Context, request wasmTypes.QueryRequest return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, request.Staking.Delegation.Validator) } - var responseFullDelegation *wasmTypes.FullDelegation + var responseFullDelegation *wasmvmtypes.FullDelegation delegation, found := querier.stakingKeeper.GetDelegation(ctx, delegator, validator) if found { responseFullDelegation, err = querier.encodeDelegation(ctx, delegation) @@ -236,14 +233,14 @@ func (querier WasmQuerier) Query(ctx sdk.Context, request wasmTypes.QueryRequest } } - res := wasmTypes.DelegationResponse{ + res := wasmvmtypes.DelegationResponse{ Delegation: responseFullDelegation, } return json.Marshal(res) } - return nil, wasmTypes.UnsupportedRequest{Kind: "unknown Staking variant"} + return nil, wasmvmtypes.UnsupportedRequest{Kind: "unknown Staking variant"} } // QueryCustom implements custom query interface @@ -252,10 +249,10 @@ func (WasmQuerier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, e } // encdoe cosmos delegations to wasm delegations -func (querier WasmQuerier) encodeDelegations(ctx sdk.Context, delegations stakingtypes.Delegations) (wasmTypes.Delegations, error) { +func (querier WasmQuerier) encodeDelegations(ctx sdk.Context, delegations stakingtypes.Delegations) (wasmvmtypes.Delegations, error) { bondDenom := querier.stakingKeeper.BondDenom(ctx) - var responseDelegations wasmTypes.Delegations + var responseDelegations wasmvmtypes.Delegations for _, del := range delegations { valAddr, err := sdk.ValAddressFromBech32(del.ValidatorAddress) if err != nil { @@ -269,7 +266,7 @@ func (querier WasmQuerier) encodeDelegations(ctx sdk.Context, delegations stakin amount := sdk.NewCoin(bondDenom, val.TokensFromShares(del.Shares).TruncateInt()) - responseDelegations = append(responseDelegations, wasmTypes.Delegation{ + responseDelegations = append(responseDelegations, wasmvmtypes.Delegation{ Delegator: del.DelegatorAddress, Validator: del.ValidatorAddress, Amount: wasm.EncodeSdkCoin(amount), @@ -279,7 +276,12 @@ func (querier WasmQuerier) encodeDelegations(ctx sdk.Context, delegations stakin } // encode cosmos staking to wasm delegation -func (querier WasmQuerier) encodeDelegation(ctx sdk.Context, del stakingtypes.Delegation) (*wasmTypes.FullDelegation, error) { +func (querier WasmQuerier) encodeDelegation(ctx sdk.Context, del stakingtypes.Delegation) (*wasmvmtypes.FullDelegation, error) { + delAddr, err := sdk.AccAddressFromBech32(del.DelegatorAddress) + if err != nil { + return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, err.Error()) + } + valAddr, err := sdk.ValAddressFromBech32(del.ValidatorAddress) if err != nil { return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, err.Error()) @@ -292,25 +294,30 @@ func (querier WasmQuerier) encodeDelegation(ctx sdk.Context, del stakingtypes.De bondDenom := querier.stakingKeeper.BondDenom(ctx) amount := sdk.NewCoin(bondDenom, val.TokensFromShares(del.Shares).TruncateInt()) + delegationCoin := wasm.EncodeSdkCoin(amount) - // TODO pass reward to - _, err = querier.getAccumulatedRewards(ctx, del) + accumulatedRewards, err := querier.getAccumulatedRewards(ctx, del) if err != nil { return nil, err } - return &wasmTypes.FullDelegation{ - Delegator: del.DelegatorAddress, - Validator: del.ValidatorAddress, - Amount: wasm.EncodeSdkCoin(amount), - // TODO: AccumulatedRewards - AccumulatedRewards: wasmTypes.NewCoin(0, bondDenom), - // TODO: Determine redelegate - CanRedelegate: wasmTypes.NewCoin(0, bondDenom), + // if this (val, delegate) pair is receiving a redelegation, it cannot redelegate more. + // otherwise, it can redelegate the full amount + redelegateCoin := wasmvmtypes.NewCoin(0, bondDenom) + if !querier.stakingKeeper.HasReceivingRedelegation(ctx, delAddr, valAddr) { + redelegateCoin = delegationCoin + } + + return &wasmvmtypes.FullDelegation{ + Delegator: del.DelegatorAddress, + Validator: del.ValidatorAddress, + Amount: delegationCoin, + AccumulatedRewards: accumulatedRewards, + CanRedelegate: redelegateCoin, }, nil } -func (querier WasmQuerier) getAccumulatedRewards(ctx sdk.Context, delegation stakingtypes.Delegation) ([]wasmTypes.Coin, error) { +func (querier WasmQuerier) getAccumulatedRewards(ctx sdk.Context, delegation stakingtypes.Delegation) (wasmvmtypes.Coins, error) { // Try to get *delegator* reward info! params := distrtypes.QueryDelegationRewardsRequest{ DelegatorAddress: delegation.DelegatorAddress, @@ -323,9 +330,9 @@ func (querier WasmQuerier) getAccumulatedRewards(ctx sdk.Context, delegation sta } // now we have it, convert it into wasm types - rewards := make([]wasmTypes.Coin, len(res.Rewards)) + rewards := make(wasmvmtypes.Coins, len(res.Rewards)) for i, r := range res.Rewards { - rewards[i] = wasmTypes.Coin{ + rewards[i] = wasmvmtypes.Coin{ Denom: r.Denom, Amount: r.Amount.TruncateInt().String(), } diff --git a/custom/staking/wasm/interface_test.go b/custom/staking/wasm/interface_test.go index e1a3e5bb1..d487fe1f4 100644 --- a/custom/staking/wasm/interface_test.go +++ b/custom/staking/wasm/interface_test.go @@ -11,7 +11,7 @@ import ( distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" ) func TestEncoding(t *testing.T) { @@ -28,19 +28,19 @@ func TestEncoding(t *testing.T) { cases := map[string]struct { sender sdk.AccAddress - input wasmTypes.CosmosMsg + input wasmvmtypes.CosmosMsg // set if valid - output []sdk.Msg + output sdk.Msg // set if invalid isError bool }{ "staking delegate to non-validator": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ - Staking: &wasmTypes.StakingMsg{ - Delegate: &wasmTypes.DelegateMsg{ + input: wasmvmtypes.CosmosMsg{ + Staking: &wasmvmtypes.StakingMsg{ + Delegate: &wasmvmtypes.DelegateMsg{ Validator: addrs[1].String(), - Amount: wasmTypes.NewCoin(777, "stake"), + Amount: wasmvmtypes.NewCoin(777, "stake"), }, }, }, @@ -48,78 +48,80 @@ func TestEncoding(t *testing.T) { }, "staking undelegate": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ - Staking: &wasmTypes.StakingMsg{ - Undelegate: &wasmTypes.UndelegateMsg{ + input: wasmvmtypes.CosmosMsg{ + Staking: &wasmvmtypes.StakingMsg{ + Undelegate: &wasmvmtypes.UndelegateMsg{ Validator: valAddr.String(), - Amount: wasmTypes.NewCoin(555, "stake"), + Amount: wasmvmtypes.NewCoin(555, "stake"), }, }, }, - output: []sdk.Msg{ - &stakingtypes.MsgUndelegate{ - DelegatorAddress: addrs[0].String(), - ValidatorAddress: valAddr.String(), - Amount: sdk.NewInt64Coin("stake", 555), - }, + output: &stakingtypes.MsgUndelegate{ + DelegatorAddress: addrs[0].String(), + ValidatorAddress: valAddr.String(), + Amount: sdk.NewInt64Coin("stake", 555), }, }, "staking redelegate": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ - Staking: &wasmTypes.StakingMsg{ - Redelegate: &wasmTypes.RedelegateMsg{ + input: wasmvmtypes.CosmosMsg{ + Staking: &wasmvmtypes.StakingMsg{ + Redelegate: &wasmvmtypes.RedelegateMsg{ SrcValidator: valAddr.String(), DstValidator: valAddr2.String(), - Amount: wasmTypes.NewCoin(222, "stake"), + Amount: wasmvmtypes.NewCoin(222, "stake"), }, }, }, - output: []sdk.Msg{ - &stakingtypes.MsgBeginRedelegate{ - DelegatorAddress: addrs[0].String(), - ValidatorSrcAddress: valAddr.String(), - ValidatorDstAddress: valAddr2.String(), - Amount: sdk.NewInt64Coin("stake", 222), - }, + output: &stakingtypes.MsgBeginRedelegate{ + DelegatorAddress: addrs[0].String(), + ValidatorSrcAddress: valAddr.String(), + ValidatorDstAddress: valAddr2.String(), + Amount: sdk.NewInt64Coin("stake", 222), }, }, "staking withdraw (implicit recipient)": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ - Staking: &wasmTypes.StakingMsg{ - Withdraw: &wasmTypes.WithdrawMsg{ + input: wasmvmtypes.CosmosMsg{ + Staking: &wasmvmtypes.StakingMsg{ + Withdraw: &wasmvmtypes.WithdrawMsg{ Validator: valAddr2.String(), }, }, }, - output: []sdk.Msg{ - &distrtypes.MsgWithdrawDelegatorReward{ - DelegatorAddress: addrs[0].String(), - ValidatorAddress: valAddr2.String(), - }, + output: &distrtypes.MsgWithdrawDelegatorReward{ + DelegatorAddress: addrs[0].String(), + ValidatorAddress: valAddr2.String(), }, }, "staking withdraw (explicit recipient)": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ - Staking: &wasmTypes.StakingMsg{ - Withdraw: &wasmTypes.WithdrawMsg{ + input: wasmvmtypes.CosmosMsg{ + Staking: &wasmvmtypes.StakingMsg{ + Withdraw: &wasmvmtypes.WithdrawMsg{ Validator: valAddr2.String(), Recipient: addrs[1].String(), }, }, }, - output: []sdk.Msg{ - &distrtypes.MsgSetWithdrawAddress{ - DelegatorAddress: addrs[0].String(), - WithdrawAddress: addrs[1].String(), - }, - &distrtypes.MsgWithdrawDelegatorReward{ - DelegatorAddress: addrs[0].String(), - ValidatorAddress: valAddr2.String(), + output: &distrtypes.MsgSetWithdrawAddress{ + DelegatorAddress: addrs[0].String(), + WithdrawAddress: addrs[1].String(), + }, + }, + "staking withdraw (no recipient)": { + sender: addrs[0], + input: wasmvmtypes.CosmosMsg{ + Staking: &wasmvmtypes.StakingMsg{ + Withdraw: &wasmvmtypes.WithdrawMsg{ + Validator: valAddr2.String(), + }, }, }, + output: &distrtypes.MsgWithdrawDelegatorReward{ + DelegatorAddress: addrs[0].String(), + ValidatorAddress: valAddr2.String(), + }, }, } diff --git a/docs/core/proto-docs.md b/docs/core/proto-docs.md index 99fd585b3..a8fb551aa 100644 --- a/docs/core/proto-docs.md +++ b/docs/core/proto-docs.md @@ -162,6 +162,7 @@ - [terra/wasm/v1beta1/wasm.proto](#terra/wasm/v1beta1/wasm.proto) - [CodeInfo](#terra.wasm.v1beta1.CodeInfo) - [ContractInfo](#terra.wasm.v1beta1.ContractInfo) + - [EventParams](#terra.wasm.v1beta1.EventParams) - [Params](#terra.wasm.v1beta1.Params) - [terra/wasm/v1beta1/genesis.proto](#terra/wasm/v1beta1/genesis.proto) @@ -2202,10 +2203,27 @@ ContractInfo stores a WASM contract instance + + +### EventParams +EventParams defines the event related parameteres + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `max_attribute_num` | [uint64](#uint64) | | | +| `max_attribute_key_length` | [uint64](#uint64) | | | +| `max_attribute_value_length` | [uint64](#uint64) | | | + + + + + + ### Params -Params defines the parameters for the oracle module. +Params defines the parameters for the wasm module. | Field | Type | Label | Description | @@ -2213,6 +2231,8 @@ Params defines the parameters for the oracle module. | `max_contract_size` | [uint64](#uint64) | | | | `max_contract_gas` | [uint64](#uint64) | | | | `max_contract_msg_size` | [uint64](#uint64) | | | +| `max_contract_data_size` | [uint64](#uint64) | | | +| `event_params` | [EventParams](#terra.wasm.v1beta1.EventParams) | | | diff --git a/go.mod b/go.mod index a9cb6e114..73be7f7a6 100644 --- a/go.mod +++ b/go.mod @@ -3,8 +3,8 @@ go 1.15 module github.com/terra-project/core require ( - github.com/CosmWasm/go-cosmwasm v0.10.0 - github.com/cosmos/cosmos-sdk v0.42.3 + github.com/CosmWasm/wasmvm v0.14.0-beta3 + github.com/cosmos/cosmos-sdk v0.42.4 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.2 github.com/gorilla/mux v1.8.0 @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.7.1 github.com/stretchr/testify v1.7.0 - github.com/tendermint/tendermint v0.34.8 + github.com/tendermint/tendermint v0.34.9 github.com/tendermint/tm-db v0.6.4 golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 // indirect google.golang.org/genproto v0.0.0-20210406143921-e86de6bf7a46 @@ -27,8 +27,6 @@ require ( replace github.com/cosmos/ledger-cosmos-go => github.com/terra-project/ledger-terra-go v0.11.1-terra -replace github.com/CosmWasm/go-cosmwasm => github.com/terra-project/go-cosmwasm v0.10.4 - replace google.golang.org/grpc => google.golang.org/grpc v1.33.2 replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 diff --git a/go.sum b/go.sum index f8b3cb740..5da80881d 100644 --- a/go.sum +++ b/go.sum @@ -17,6 +17,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= +github.com/CosmWasm/wasmvm v0.14.0-beta3 h1:HN1+HrC2kgO/V4voGdOWrN1sdUoTnSoLuSrBXbDVnbY= +github.com/CosmWasm/wasmvm v0.14.0-beta3/go.mod h1:Id107qllDJyJjVQQsKMOy2YYF98sqPJ2t+jX1QES40A= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= @@ -102,8 +104,8 @@ github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7 github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/cosmos-sdk v0.42.3 h1:VFYq7spDBBIlygAxwcI79Xh2JuIrG1ZCPKpvqKghIZs= -github.com/cosmos/cosmos-sdk v0.42.3/go.mod h1:xiLp1G8mumj82S5KLJGCAyeAlD+7VNomg/aRSJV12yk= +github.com/cosmos/cosmos-sdk v0.42.4 h1:yaD4PyOx0LnyfiWasC5egg1U76lT83GRxjJjupPo7Gk= +github.com/cosmos/cosmos-sdk v0.42.4/go.mod h1:I1Zw1zmU4rA/NITaakTb71pXQnQrWyFBhqo3WSeg0vA= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d h1:49RLWk1j44Xu4fjHb6JFYmeUnDORVwHNkDxaQ0ctCVU= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= @@ -235,6 +237,8 @@ github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSN github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= +github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= @@ -590,16 +594,14 @@ github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoM github.com/tendermint/tendermint v0.34.0-rc4/go.mod h1:yotsojf2C1QBOw4dZrTcxbyxmPUrT4hNuOQWX9XUwB4= github.com/tendermint/tendermint v0.34.0-rc6/go.mod h1:ugzyZO5foutZImv0Iyx/gOFCX6mjJTgbLHTwi17VDVg= github.com/tendermint/tendermint v0.34.0/go.mod h1:Aj3PIipBFSNO21r+Lq3TtzQ+uKESxkbA3yo/INM4QwQ= -github.com/tendermint/tendermint v0.34.8 h1:PMWgUx47FrNTsfhxCWzoiIlVAC1SE9+WBlnsF9oQW0I= -github.com/tendermint/tendermint v0.34.8/go.mod h1:JVuu3V1ZexOaZG8VJMRl8lnfrGw6hEB2TVnoUwKRbss= +github.com/tendermint/tendermint v0.34.9 h1:9P2MXDEPOcPW0NBcHQ/HDSfvczZm+q5nUUw7AZ6f1Vc= +github.com/tendermint/tendermint v0.34.9/go.mod h1:kl4Z1JwGx1I+u1SXIzMDy7Z3T8LiMeCAOnzNn6AIMT4= github.com/tendermint/tm-db v0.5.1 h1:H9HDq8UEA7Eeg13kdYckkgwwkQLBnJGgX4PgLJRhieY= github.com/tendermint/tm-db v0.5.1/go.mod h1:g92zWjHpCYlEvQXvy9M168Su8V1IBEeawpXVVBaK4f4= github.com/tendermint/tm-db v0.6.2/go.mod h1:GYtQ67SUvATOcoY8/+x6ylk8Qo02BQyLrAs+yAcLvGI= github.com/tendermint/tm-db v0.6.3/go.mod h1:lfA1dL9/Y/Y8wwyPp2NMLyn5P5Ptr/gvDFNWtrCWSf8= github.com/tendermint/tm-db v0.6.4 h1:3N2jlnYQkXNQclQwd/eKV/NzlqPlfK21cpRRIx80XXQ= github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= -github.com/terra-project/go-cosmwasm v0.10.4 h1:2UmueP0/LngjTYmFr7K3sJRA2cvtROxaPOC+i5ZM0oA= -github.com/terra-project/go-cosmwasm v0.10.4/go.mod h1:gAFCwllx97ejI+m9SqJQrmd2SBW7HA0fOjvWWJjM2uc= github.com/terra-project/ledger-terra-go v0.11.1-terra h1:BnwRp8dyJMN5sROg8g6dXc5/Zoi44gd5c8Llf0Nobac= github.com/terra-project/ledger-terra-go v0.11.1-terra/go.mod h1:5fdyEuDNvsymbqag/EaaAeWAgyAebQe2VH38H+DnXnA= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= diff --git a/proto/terra/wasm/v1beta1/wasm.proto b/proto/terra/wasm/v1beta1/wasm.proto index 58d832af0..1c9fd652a 100644 --- a/proto/terra/wasm/v1beta1/wasm.proto +++ b/proto/terra/wasm/v1beta1/wasm.proto @@ -6,14 +6,25 @@ import "cosmos/base/v1beta1/coin.proto"; option go_package = "github.com/terra-project/core/x/wasm/types"; -// Params defines the parameters for the oracle module. +// Params defines the parameters for the wasm module. message Params { option (gogoproto.equal) = true; option (gogoproto.goproto_stringer) = false; - uint64 max_contract_size = 1 [(gogoproto.moretags) = "yaml:\"max_contract_size\""]; - uint64 max_contract_gas = 2 [(gogoproto.moretags) = "yaml:\"max_contract_gas\""]; - uint64 max_contract_msg_size = 3 [(gogoproto.moretags) = "yaml:\"max_contract_msg_size\""]; + uint64 max_contract_size = 1 [(gogoproto.moretags) = "yaml:\"max_contract_size\""]; + uint64 max_contract_gas = 2 [(gogoproto.moretags) = "yaml:\"max_contract_gas\""]; + uint64 max_contract_msg_size = 3 [(gogoproto.moretags) = "yaml:\"max_contract_msg_size\""]; + uint64 max_contract_data_size = 4 [(gogoproto.moretags) = "yaml:\"max_contract_data_size\""]; + EventParams event_params = 5 [(gogoproto.moretags) = "yaml:\"event_params\"", (gogoproto.nullable) = false]; +} + +// EventParams defines the event related parameteres +message EventParams { + option (gogoproto.equal) = true; + + uint64 max_attribute_num = 1 [(gogoproto.moretags) = "yaml:\"max_contract_event_attribute_num\""]; + uint64 max_attribute_key_length = 2 [(gogoproto.moretags) = "yaml:\"max_contract_event_attribute_key_length\""]; + uint64 max_attribute_value_length = 3 [(gogoproto.moretags) = "yaml:\"max_contract_event_attribute_value_length\""]; } // CodeInfo is data for the uploaded contract WASM code diff --git a/x/market/wasm/interface.go b/x/market/wasm/interface.go index c89a7c016..25c618537 100644 --- a/x/market/wasm/interface.go +++ b/x/market/wasm/interface.go @@ -6,7 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" "github.com/terra-project/core/x/market/keeper" "github.com/terra-project/core/x/market/types" @@ -25,7 +25,7 @@ func NewWasmMsgParser() WasmMsgParser { } // Parse implements wasm staking msg parser -func (WasmMsgParser) Parse(_ sdk.AccAddress, _ wasmTypes.CosmosMsg) ([]sdk.Msg, error) { +func (WasmMsgParser) Parse(_ sdk.AccAddress, _ wasmvmtypes.CosmosMsg) (sdk.Msg, error) { return nil, nil } @@ -36,7 +36,7 @@ type CosmosMsg struct { } // ParseCustom implements custom parser -func (WasmMsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) ([]sdk.Msg, error) { +func (WasmMsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) (sdk.Msg, error) { var sdkMsg CosmosMsg err := json.Unmarshal(data, &sdkMsg) if err != nil { @@ -44,9 +44,11 @@ func (WasmMsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessa } if sdkMsg.Swap != nil { - return []sdk.Msg{sdkMsg.Swap}, sdkMsg.Swap.ValidateBasic() + sdkMsg.Swap.Trader = contractAddr.String() + return sdkMsg.Swap, sdkMsg.Swap.ValidateBasic() } else if sdkMsg.SwapSend != nil { - return []sdk.Msg{sdkMsg.SwapSend}, sdkMsg.SwapSend.ValidateBasic() + sdkMsg.SwapSend.FromAddress = contractAddr.String() + return sdkMsg.SwapSend, sdkMsg.SwapSend.ValidateBasic() } return nil, sdkerrors.Wrap(wasm.ErrInvalidMsg, "Unknown variant of Market") @@ -63,7 +65,7 @@ func NewWasmQuerier(keeper keeper.Keeper) WasmQuerier { } // Query - implement query function -func (WasmQuerier) Query(_ sdk.Context, _ wasmTypes.QueryRequest) ([]byte, error) { return nil, nil } +func (WasmQuerier) Query(_ sdk.Context, _ wasmvmtypes.QueryRequest) ([]byte, error) { return nil, nil } // CosmosQuery only contains swap simulation type CosmosQuery struct { @@ -72,7 +74,7 @@ type CosmosQuery struct { // SwapQueryResponse - swap simulation query response for wasm module type SwapQueryResponse struct { - Receive wasmTypes.Coin `json:"receive"` + Receive wasmvmtypes.Coin `json:"receive"` } // QueryCustom implements custom query interface @@ -102,5 +104,5 @@ func (querier WasmQuerier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([ return bz, err } - return nil, wasmTypes.UnsupportedRequest{Kind: "unknown Market variant"} + return nil, wasmvmtypes.UnsupportedRequest{Kind: "unknown Market variant"} } diff --git a/x/market/wasm/interface_test.go b/x/market/wasm/interface_test.go index 95a28fed6..fc54fd660 100644 --- a/x/market/wasm/interface_test.go +++ b/x/market/wasm/interface_test.go @@ -10,7 +10,7 @@ import ( "github.com/tendermint/tendermint/crypto" "github.com/tendermint/tendermint/crypto/secp256k1" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -36,15 +36,15 @@ func TestEncoding(t *testing.T) { cases := map[string]struct { sender sdk.AccAddress - input wasmTypes.CosmosMsg + input wasmvmtypes.CosmosMsg // set if valid - output []sdk.Msg + output sdk.Msg // set if invalid isError bool }{ "simple swap": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ + input: wasmvmtypes.CosmosMsg{ Custom: []byte( fmt.Sprintf( `{"swap": {"trader": "%s", "offer_coin": {"amount": "1234", "denom": "%s"}, "ask_denom": "%s"}}`, @@ -52,17 +52,15 @@ func TestEncoding(t *testing.T) { ), ), }, - output: []sdk.Msg{ - &types.MsgSwap{ - Trader: addrs[0].String(), - OfferCoin: sdk.NewInt64Coin(core.MicroLunaDenom, 1234), - AskDenom: core.MicroSDRDenom, - }, + output: &types.MsgSwap{ + Trader: addrs[0].String(), + OfferCoin: sdk.NewInt64Coin(core.MicroLunaDenom, 1234), + AskDenom: core.MicroSDRDenom, }, }, "simple swap send": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ + input: wasmvmtypes.CosmosMsg{ Custom: []byte( fmt.Sprintf( `{"swap_send": {"from_address": "%s", "to_address": "%s", "offer_coin": {"amount": "1234", "denom": "%s"}, "ask_denom": "%s"}}`, @@ -70,18 +68,16 @@ func TestEncoding(t *testing.T) { ), ), }, - output: []sdk.Msg{ - &types.MsgSwapSend{ - FromAddress: addrs[0].String(), - ToAddress: addrs[1].String(), - OfferCoin: sdk.NewInt64Coin(core.MicroLunaDenom, 1234), - AskDenom: core.MicroSDRDenom, - }, + output: &types.MsgSwapSend{ + FromAddress: addrs[0].String(), + ToAddress: addrs[1].String(), + OfferCoin: sdk.NewInt64Coin(core.MicroLunaDenom, 1234), + AskDenom: core.MicroSDRDenom, }, }, "invalid swap amount": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ + input: wasmvmtypes.CosmosMsg{ Custom: []byte( fmt.Sprintf( `{"swap": {"trader": "%s", "offer_coin": {"amount": "1234.123", "denom": "%s"}, "ask_denom": "%s"}}`, @@ -93,10 +89,10 @@ func TestEncoding(t *testing.T) { }, "invalid address": { sender: addrs[0], - input: wasmTypes.CosmosMsg{ + input: wasmvmtypes.CosmosMsg{ Custom: []byte( fmt.Sprintf( - `{"swap": {"trader": "%s", "offer_coin": {"amount": "1234", "denom": "%s"}, "ask_denom": "%s"}}`, + `{"swap_send": {"to_address": "%s", "offer_coin": {"amount": "1234", "denom": "%s"}, "ask_denom": "%s"}}`, invalidAddr, core.MicroLunaDenom, core.MicroSDRDenom, ), ), diff --git a/x/oracle/wasm/interface.go b/x/oracle/wasm/interface.go index d7b6a790d..aaa646ec5 100644 --- a/x/oracle/wasm/interface.go +++ b/x/oracle/wasm/interface.go @@ -6,7 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" "github.com/terra-project/core/x/oracle/keeper" wasm "github.com/terra-project/core/x/wasm/exported" @@ -25,7 +25,7 @@ func NewWasmQuerier(keeper keeper.Keeper) WasmQuerier { } // Query - implement query function -func (WasmQuerier) Query(_ sdk.Context, _ wasmTypes.QueryRequest) ([]byte, error) { return nil, nil } +func (WasmQuerier) Query(_ sdk.Context, _ wasmvmtypes.QueryRequest) ([]byte, error) { return nil, nil } // ExchangeRateQueryParams query request params for exchange rates type ExchangeRateQueryParams struct { @@ -92,5 +92,5 @@ func (querier WasmQuerier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([ return bz, nil } - return nil, wasmTypes.UnsupportedRequest{Kind: "unknown Oracle variant"} + return nil, wasmvmtypes.UnsupportedRequest{Kind: "unknown Oracle variant"} } diff --git a/x/treasury/wasm/interface.go b/x/treasury/wasm/interface.go index ab82c5f99..ae3f9dd49 100644 --- a/x/treasury/wasm/interface.go +++ b/x/treasury/wasm/interface.go @@ -6,7 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" "github.com/terra-project/core/x/treasury/keeper" "github.com/terra-project/core/x/treasury/types" @@ -26,7 +26,7 @@ func NewWasmQuerier(keeper keeper.Keeper) WasmQuerier { } // Query - implement query function -func (WasmQuerier) Query(_ sdk.Context, _ wasmTypes.QueryRequest) ([]byte, error) { return nil, nil } +func (WasmQuerier) Query(_ sdk.Context, _ wasmvmtypes.QueryRequest) ([]byte, error) { return nil, nil } // CosmosQuery contains various treasury queries type CosmosQuery struct { diff --git a/x/wasm/client/utils/utils_test.go b/x/wasm/client/utils/utils_test.go index c314e7681..88f8cd6f3 100644 --- a/x/wasm/client/utils/utils_test.go +++ b/x/wasm/client/utils/utils_test.go @@ -8,7 +8,7 @@ import ( ) func GetTestData() ([]byte, []byte, []byte, error) { - wasmCode, err := ioutil.ReadFile("../../keeper/testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("../../keeper/testdata/hackatom.wasm") if err != nil { return nil, nil, nil, err diff --git a/x/wasm/common_test.go b/x/wasm/common_test.go index ba67fc27e..fdd9453a7 100644 --- a/x/wasm/common_test.go +++ b/x/wasm/common_test.go @@ -10,8 +10,6 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" - "github.com/stretchr/testify/require" "github.com/tendermint/tendermint/crypto" @@ -23,13 +21,13 @@ import ( var ( key1, pub1, addr1 = keyPubAddr() testContract []byte - maskContract []byte + reflectContract []byte oldEscrowContract []byte ) func loadContracts() { - testContract = mustLoad("./keeper/testdata/contract.wasm") - maskContract = mustLoad("./keeper/testdata/mask.wasm") + testContract = mustLoad("./keeper/testdata/hackatom.wasm") + reflectContract = mustLoad("./keeper/testdata/reflect.wasm") oldEscrowContract = mustLoad("./testdata/escrow_0.7.wasm") } @@ -54,9 +52,9 @@ type initMsg struct { } type state struct { - Verifier wasmTypes.CanonicalAddress `json:"verifier"` - Beneficiary wasmTypes.CanonicalAddress `json:"beneficiary"` - Funder wasmTypes.CanonicalAddress `json:"funder"` + Verifier string `json:"verifier"` + Beneficiary string `json:"beneficiary"` + Funder string `json:"funder"` } func createFakeFundedAccount( diff --git a/x/wasm/config/config.go b/x/wasm/config/config.go index ab7da6248..9b7b69701 100644 --- a/x/wasm/config/config.go +++ b/x/wasm/config/config.go @@ -1,16 +1,21 @@ package config -import "strings" +import ( + "github.com/spf13/cobra" +) // config default values const ( - defaultContractQueryGasLimit = uint64(3000000) + DefaultContractQueryGasLimit = uint64(3000000) + DefaultContractDebugMode = false + DefaultContractMemoryCacheSize = uint32(500) ) // config flags for wasm module const ( - FlagContractQueryGasLimit = "contract-query-gas-limit" - FlagContractLoggingWhitelist = "contract-logging-whitelist" + FlagContractQueryGasLimit = "contract-query-gas-limit" + FlagContractDebugMode = "contract-debug-mode" + FlagContractMemoryCacheSize = "contract-memory-cache-size" ) // DBDir used to store wasm data to @@ -28,43 +33,33 @@ type BaseConfig struct { // are stored in the local storage. To keep all logs, // a node operator can set "*" (not recommended). ContractLoggingWhitelist string `mapstructure:"contract-logging-whitelist"` + + // The flag to specify whether print contract logs or not + ContractDebugMode bool `mapstructure:"contract-debug-mode"` + + // The WASM VM memory cache size in MiB not bytes + ContractMemoryCacheSize uint32 `mapstructure:"contract-memory-cache-size"` } // Config defines the server's top level configuration type Config struct { BaseConfig `mapstructure:",squash"` - loggingAll bool } // DefaultConfig returns the default settings for WasmConfig func DefaultConfig() *Config { return &Config{ BaseConfig: BaseConfig{ - ContractQueryGasLimit: defaultContractQueryGasLimit, - ContractLoggingWhitelist: "", + ContractQueryGasLimit: DefaultContractQueryGasLimit, + ContractDebugMode: DefaultContractDebugMode, + ContractMemoryCacheSize: DefaultContractMemoryCacheSize, }, - loggingAll: false, } } -// LoggingAll return whitelist config is set to "*" -func (config Config) LoggingAll() bool { - return config.loggingAll -} - -// WhitelistToMap return logging whitelist map -func (config *Config) WhitelistToMap() (loggingWhitelist map[string]bool) { - loggingWhitelist = make(map[string]bool) - - if config.ContractLoggingWhitelist != "*" { - for _, addr := range strings.Split(config.ContractLoggingWhitelist, ",") { - loggingWhitelist[addr] = true - } - - config.loggingAll = false - } else { - config.loggingAll = true - } - - return +// AddModuleInitFlags implements servertypes.ModuleInitFlags interface. +func AddModuleInitFlags(startCmd *cobra.Command) { + startCmd.Flags().Uint64(FlagContractQueryGasLimit, DefaultContractQueryGasLimit, "The maximum gas amount can be spent for contract query") + startCmd.Flags().Bool(FlagContractDebugMode, DefaultContractDebugMode, "The flag to specify whether print contract logs or not") + startCmd.Flags().Uint32(FlagContractMemoryCacheSize, DefaultContractMemoryCacheSize, "The WASM VM memory cache size in MiB not bytes") } diff --git a/x/wasm/config/toml.go b/x/wasm/config/toml.go index d6daf4ea1..3e136e72f 100644 --- a/x/wasm/config/toml.go +++ b/x/wasm/config/toml.go @@ -18,10 +18,11 @@ const defaultConfigTemplate = `# This is a TOML config file. # so we need to restrict the max usage to prevent DoS attack contract-query-gas-limit = "{{ .BaseConfig.ContractQueryGasLimit }}" -# Only The logs from the contracts listed in this array -# are stored in the local storage. To keep all logs, -# a node operator can set "*" (not recommended). -contract-logging-whitelist = "{{ .BaseConfig.ContractLoggingWhitelist }}" +# The flag to specify whether print contract logs or not +contract-debug-mode = "{{ .BaseConfig.ContractDebugMode }}" + +# The WASM VM memory cache size in MiB not bytes +contract-memory-cache-size = "{{ .BaseConfig.ContractMemoryCacheSize }}" ` var configTemplate *template.Template diff --git a/x/wasm/genesis_test.go b/x/wasm/genesis_test.go index 78c22d8e7..6622b380c 100644 --- a/x/wasm/genesis_test.go +++ b/x/wasm/genesis_test.go @@ -4,7 +4,6 @@ import ( "encoding/json" "testing" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" "github.com/stretchr/testify/require" core "github.com/terra-project/core/types" @@ -31,7 +30,7 @@ func TestInitGenesis(t *testing.T) { _, err := h(input.Ctx, msg) require.NoError(t, err) - msg = types.NewMsgStoreCode(creator, maskContract) + msg = types.NewMsgStoreCode(creator, reflectContract) _, err = h(input.Ctx, msg) require.NoError(t, err) @@ -90,9 +89,9 @@ func TestInitGenesis(t *testing.T) { } expectedConfigState := state{ - Verifier: wasmTypes.CanonicalAddress(fred), - Beneficiary: wasmTypes.CanonicalAddress(bob), - Funder: wasmTypes.CanonicalAddress(creator), + Verifier: fred.String(), + Beneficiary: bob.String(), + Funder: creator.String(), } assertContractStore(t, models, expectedConfigState) diff --git a/x/wasm/handler_test.go b/x/wasm/handler_test.go index be1ed1eca..25b58987b 100644 --- a/x/wasm/handler_test.go +++ b/x/wasm/handler_test.go @@ -13,8 +13,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" - core "github.com/terra-project/core/types" ) @@ -53,7 +51,7 @@ func TestHandleStore(t *testing.T) { "other valid wasm": { msg: &types.MsgStoreCode{ Sender: addr1.String(), - WASMByteCode: maskContract, + WASMByteCode: reflectContract, }, isValid: true, }, @@ -139,9 +137,9 @@ func TestHandleInstantiate(t *testing.T) { } expectedConfigStore := state{ - Verifier: wasmTypes.CanonicalAddress(fred), - Beneficiary: wasmTypes.CanonicalAddress(bob), - Funder: wasmTypes.CanonicalAddress(creator), + Verifier: fred.String(), + Beneficiary: bob.String(), + Funder: creator.String(), } assertContractStore(t, models, expectedConfigStore) @@ -234,9 +232,9 @@ func TestHandleExecute(t *testing.T) { } expectedConfigStore := state{ - Verifier: wasmTypes.CanonicalAddress(fred), - Beneficiary: wasmTypes.CanonicalAddress(bob), - Funder: wasmTypes.CanonicalAddress(creator), + Verifier: fred.String(), + Beneficiary: bob.String(), + Funder: creator.String(), } assertContractStore(t, models, expectedConfigStore) diff --git a/x/wasm/keeper/api.go b/x/wasm/keeper/api.go index e0bbd5f62..2855224a1 100644 --- a/x/wasm/keeper/api.go +++ b/x/wasm/keeper/api.go @@ -3,7 +3,7 @@ package keeper import ( "fmt" - cosmwasm "github.com/CosmWasm/go-cosmwasm" + cosmwasm "github.com/CosmWasm/wasmvm" sdk "github.com/cosmos/cosmos-sdk/types" diff --git a/x/wasm/keeper/connector.go b/x/wasm/keeper/connector.go index 1ffc12db6..c2c6c1d8a 100644 --- a/x/wasm/keeper/connector.go +++ b/x/wasm/keeper/connector.go @@ -1,70 +1,192 @@ package keeper import ( - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" "github.com/terra-project/core/custom/auth/ante" + "github.com/terra-project/core/x/wasm/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" cosmosante "github.com/cosmos/cosmos-sdk/x/auth/ante" ) -func (k Keeper) dispatchMessages(ctx sdk.Context, contractAddr sdk.AccAddress, msgs []wasmTypes.CosmosMsg) error { - var sdkMsgs []sdk.Msg +func (k Keeper) dispatchAll(ctx sdk.Context, contractAddr sdk.AccAddress, subMsgs []wasmvmtypes.SubMsg, msgs []wasmvmtypes.CosmosMsg) error { + // first dispatch all submessages (and the replies). + err := k.dispatchSubmessages(ctx, contractAddr, subMsgs...) + if err != nil { + return err + } + + // then dispatch all the normal messages + return k.dispatchMessages(ctx, contractAddr, msgs...) +} + +// dispatchSubmessages builds a sandbox to execute these messages and returns the execution result to the contract +// that dispatched them, both on success as well as failure +func (k Keeper) dispatchSubmessages(ctx sdk.Context, contractAddr sdk.AccAddress, msgs ...wasmvmtypes.SubMsg) error { for _, msg := range msgs { + // first, we build a sub-context which we can use inside the submessages + subCtx, commit := ctx.CacheContext() + + // check how much gas left locally, optionally wrap the gas meter + gasRemaining := ctx.GasMeter().Limit() - ctx.GasMeter().GasConsumed() + limitGas := msg.GasLimit != nil && (*msg.GasLimit < gasRemaining) + + var err error + var events []sdk.Event + var data []byte + if limitGas { + events, data, err = k.dispatchMessageWithGasLimit(subCtx, contractAddr, msg.Msg, *msg.GasLimit) + } else { + events, data, err = k.dispatchMessage(subCtx, contractAddr, msg.Msg) + } + + // if it succeeds, commit state changes from submessage, and pass on events to Event Manager + // on failure, revert state from sandbox, and ignore events (just skip doing the above) + if err == nil { + commit() + ctx.EventManager().EmitEvents(events) + } + + // we only callback if requested. Short-circuit here the two cases we don't want to + // 1. reply on success but error happened + // 2. reply on failure but no error happened + if (msg.ReplyOn == wasmvmtypes.ReplySuccess && err != nil) || + (msg.ReplyOn == wasmvmtypes.ReplyError && err == nil) { + return err + } - msgs, err := k.msgParser.Parse(contractAddr, msg) + // otherwise, we create a SubcallResult and pass it into the calling contract + var result wasmvmtypes.SubcallResult + if err == nil { + // just take the first one for now if there are multiple sub-sdk messages + // and safely return nothing if no data + result = wasmvmtypes.SubcallResult{ + Ok: &wasmvmtypes.SubcallResponse{ + Events: types.EncodeSdkEvents(events), + Data: data, + }, + } + } else { + result = wasmvmtypes.SubcallResult{ + Err: err.Error(), + } + } + + // now handle the reply, we use the parent context, and abort on error + reply := wasmvmtypes.Reply{ + ID: msg.ID, + Result: result, + } + + // we can ignore any result returned as the events are + // already in the ctx.EventManager() + err = k.reply(ctx, contractAddr, reply) if err != nil { return err } + } + return nil +} + +func (k Keeper) dispatchMessages(ctx sdk.Context, contractAddr sdk.AccAddress, msgs ...wasmvmtypes.CosmosMsg) error { + for _, msg := range msgs { + events, _, err := k.dispatchMessage(ctx, contractAddr, msg) + if err != nil { + return err + } + + // redispatch all events, (type sdk.EventTypeMessage will be filtered out in the handler) + ctx.EventManager().EmitEvents(events) + } + + return nil +} + +// dispatchMessageWithGasLimit does not emit events to prevent duplicate emission +func (k Keeper) dispatchMessageWithGasLimit(ctx sdk.Context, contractAddr sdk.AccAddress, msg wasmvmtypes.CosmosMsg, gasLimit uint64) (events []sdk.Event, data []byte, err error) { + limitedMeter := sdk.NewGasMeter(gasLimit) + subCtx := ctx.WithGasMeter(limitedMeter) + + // catch out of gas panic and just charge the entire gas limit + defer func() { + if r := recover(); r != nil { + // if it's not an OutOfGas error, raise it again + if _, ok := r.(sdk.ErrorOutOfGas); !ok { + // log it to get the original stack trace somewhere (as panic(r) keeps message but stacktrace to here + k.Logger(ctx).Info("SubMsg rethrow panic: %#v", r) + panic(r) + } + + ctx.GasMeter().ConsumeGas(gasLimit, "Sub-Message OutOfGas panic") + err = sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "SubMsg hit gas limit") + } + }() + + events, data, err = k.dispatchMessage(subCtx, contractAddr, msg) - sdkMsgs = append(sdkMsgs, msgs...) + // make sure we charge the parent what was spent + spent := subCtx.GasMeter().GasConsumed() + ctx.GasMeter().ConsumeGas(spent, "From limited Sub-Message") + + return events, data, err +} + +// dispatchMessage does not emit events to prevent duplicate emission +func (k Keeper) dispatchMessage(ctx sdk.Context, contractAddr sdk.AccAddress, msg wasmvmtypes.CosmosMsg) (events []sdk.Event, data []byte, err error) { + sdkMsg, err := k.msgParser.Parse(ctx, contractAddr, msg) + if err != nil { + return nil, nil, err } // Charge tax on result msg - taxes := ante.FilterMsgAndComputeTax(ctx, k.treasuryKeeper, sdkMsgs...) + taxes := ante.FilterMsgAndComputeTax(ctx, k.treasuryKeeper, sdkMsg) if !taxes.IsZero() { contractAcc := k.accountKeeper.GetAccount(ctx, contractAddr) if err := cosmosante.DeductFees(k.bankKeeper, ctx, contractAcc, taxes); err != nil { - return err + return nil, nil, err } } - for _, sdkMsg := range sdkMsgs { - if err := k.handleSdkMessage(ctx, contractAddr, sdkMsg); err != nil { - return err - } + res, err := k.handleSdkMessage(ctx, contractAddr, sdkMsg) + if err != nil { + return nil, nil, err } - return nil + // set data + data = make([]byte, len(res.Data)) + copy(data, res.Data) + + // convert Tendermint.Events to sdk.Event + sdkEvents := make([]sdk.Event, len(res.Events)) + for i := range res.Events { + sdkEvents[i] = sdk.Event(res.Events[i]) + } + + // append events + events = append(events, sdkEvents...) + + return } -func (k Keeper) handleSdkMessage(ctx sdk.Context, contractAddr sdk.AccAddress, msg sdk.Msg) error { +func (k Keeper) handleSdkMessage(ctx sdk.Context, contractAddr sdk.AccAddress, msg sdk.Msg) (*sdk.Result, error) { // make sure this account can send it for _, acct := range msg.GetSigners() { if !acct.Equals(contractAddr) { - return sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "contract doesn't have permission") + return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "contract doesn't have permission") } } // find the handler and execute it h := k.router.Route(ctx, msg.Route()) if h == nil { - return sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, msg.Route()) + return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, msg.Route()) } res, err := h(ctx, msg) if err != nil { - return err - } - - var events sdk.Events - for _, event := range res.Events { - events = append(events, sdk.Event(event)) + return nil, err } - // redispatch all events, (type sdk.EventTypeMessage will be filtered out in the handler) - ctx.EventManager().EmitEvents(events) - - return nil + return res, nil } diff --git a/x/wasm/keeper/contract.go b/x/wasm/keeper/contract.go index b81794574..6a01303f9 100644 --- a/x/wasm/keeper/contract.go +++ b/x/wasm/keeper/contract.go @@ -1,12 +1,14 @@ package keeper import ( - "encoding/binary" + "time" + + wasmvmtypes "github.com/CosmWasm/wasmvm/types" - "github.com/tendermint/tendermint/crypto" "github.com/terra-project/core/x/wasm/types" "github.com/cosmos/cosmos-sdk/store/prefix" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) @@ -21,16 +23,14 @@ func (k Keeper) CompileCode(ctx sdk.Context, wasmCode []byte) (codeHash []byte, wasmCode, err = k.uncompress(wasmCode, maxContractSize) if err != nil { - return nil, sdkerrors.Wrap(types.ErrStoreCodeFailed, err.Error()) } // consume gas for compile cost ctx.GasMeter().ConsumeGas(types.CompileCostPerByte*uint64(len(wasmCode)), "Compiling WASM Bytes Cost") - codeHash, err = k.wasmer.Create(wasmCode) + codeHash, err = k.wasmVM.Create(wasmCode) if err != nil { - return nil, sdkerrors.Wrap(types.ErrStoreCodeFailed, err.Error()) } @@ -65,25 +65,26 @@ func (k Keeper) InstantiateContract( creator sdk.AccAddress, initMsg []byte, deposit sdk.Coins, - migratable bool) (contractAddress sdk.AccAddress, err error) { + migratable bool) (sdk.AccAddress, []byte, error) { + defer telemetry.MeasureSince(time.Now(), "wasm", "contract", "instantiate") ctx.GasMeter().ConsumeGas(types.InstanceCost, "Loading CosmWasm module: init") if uint64(len(initMsg)) > k.MaxContractMsgSize(ctx) { - return nil, sdkerrors.Wrap(types.ErrInstantiateFailed, "init msg size is too huge") + return nil, nil, sdkerrors.Wrap(types.ErrExceedMaxContractMsgSize, "init msg size is too huge") } instanceID, err := k.GetLastInstanceID(ctx) if err != nil { - return nil, err + return nil, nil, err } instanceID++ // create contract address - contractAddress = k.generateContractAddress(ctx, codeID, instanceID) + contractAddress := types.GenerateContractAddress(codeID, instanceID) existingAcct := k.accountKeeper.GetAccount(ctx, contractAddress) if existingAcct != nil { - return nil, sdkerrors.Wrap(types.ErrAccountExists, existingAcct.GetAddress().String()) + return nil, nil, sdkerrors.Wrap(types.ErrAccountExists, existingAcct.GetAddress().String()) } // create contract account @@ -92,9 +93,8 @@ func (k Keeper) InstantiateContract( // deposit initial contract funds if !deposit.IsZero() { - err = k.bankKeeper.SendCoins(ctx, creator, contractAddress, deposit) - if err != nil { - return + if err := k.bankKeeper.SendCoins(ctx, creator, contractAddress, deposit); err != nil { + return nil, nil, err } } @@ -102,28 +102,29 @@ func (k Keeper) InstantiateContract( store := ctx.KVStore(k.storeKey) bz := store.Get(types.GetCodeInfoKey(codeID)) if bz == nil { - err = sdkerrors.Wrapf(types.ErrNotFound, "codeID %d", codeID) - return + return nil, nil, sdkerrors.Wrapf(types.ErrNotFound, "codeID %d", codeID) } var codeInfo types.CodeInfo k.cdc.MustUnmarshalBinaryBare(bz, &codeInfo) - // prepare params for contract instantiate call - apiParams := types.NewWasmAPIParams(ctx, creator, deposit, contractAddress) + // prepare env and info for contract instantiate call + env := types.NewEnv(ctx, contractAddress) + info := types.NewInfo(creator, deposit) // create prefixed data store contractStoreKey := types.GetContractStoreKey(contractAddress) contractStore := prefix.NewStore(ctx.KVStore(k.storeKey), contractStoreKey) // instantiate wasm contract - res, gasUsed, err := k.wasmer.Instantiate( + res, gasUsed, err := k.wasmVM.Instantiate( codeInfo.CodeHash, - apiParams, + env, + info, initMsg, contractStore, k.getCosmWasmAPI(ctx), - k.querier.WithCtx(ctx), + k.querier.WithCtx(ctx).WithContractAddr(contractAddress), k.getGasMeter(ctx), k.getGasRemaining(ctx), ) @@ -131,8 +132,7 @@ func (k Keeper) InstantiateContract( // consume gas before raise error k.consumeGas(ctx, gasUsed, "Contract init") if err != nil { - err = sdkerrors.Wrap(types.ErrInstantiateFailed, err.Error()) - return + return nil, nil, sdkerrors.Wrap(types.ErrInstantiateFailed, err.Error()) } // Must store contract info first, so last part can use it @@ -141,39 +141,40 @@ func (k Keeper) InstantiateContract( k.SetLastInstanceID(ctx, instanceID) k.SetContractInfo(ctx, contractAddress, contractInfo) - // check contract creator address is in whitelist - if _, ok := k.loggingWhitelist[creator.String()]; ok || k.wasmConfig.LoggingAll() { - events := types.ParseEvents(res.Log, contractAddress) - ctx.EventManager().EmitEvents(events) - if ok && !ctx.IsCheckTx() && !ctx.IsReCheckTx() { - // If a contract is created from whitelist, - // add the contract to whitelist. - // It can be canceled due to transaction failure, - // but that is tiny cost so ignore that case. - contractAddr := contractAddress.String() - k.loggingWhitelist[contractAddr] = true - k.wasmConfig.ContractLoggingWhitelist += "," + contractAddr - - // store updated config to local wasm.toml - k.StoreConfig() - } + // vaildate events is size and parse to sdk events + events, err := types.ValidateAndParseEvents(contractAddress, k.EventParams(ctx), res.Attributes...) + if err != nil { + return nil, nil, sdkerrors.Wrap(err, "event validation failed") } - err = k.dispatchMessages(ctx, contractAddress, res.Messages) - if err != nil { - return + // validate data size + if uint64(len(res.Data)) > k.MaxContractDataSize(ctx) { + return nil, nil, sdkerrors.Wrap(types.ErrExceedMaxContractDataSize, "returned data size is too huge") + } + + // emit events + ctx.EventManager().EmitEvents(events) + + // dispatch submessages and messages + if err := k.dispatchAll(ctx, contractAddress, res.Submessages, res.Messages); err != nil { + return nil, nil, sdkerrors.Wrap(err, "dispatch") } - return contractAddress, nil + return contractAddress, res.Data, nil } // ExecuteContract executes the contract instance -func (k Keeper) ExecuteContract(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, exeMsg []byte, coins sdk.Coins) ([]byte, error) { +func (k Keeper) ExecuteContract( + ctx sdk.Context, + contractAddress sdk.AccAddress, + caller sdk.AccAddress, + exeMsg []byte, + coins sdk.Coins) ([]byte, error) { + defer telemetry.MeasureSince(time.Now(), "wasm", "contract", "execute") ctx.GasMeter().ConsumeGas(types.InstanceCost, "Loading CosmWasm module: execute") if uint64(len(exeMsg)) > k.MaxContractMsgSize(ctx) { - - return nil, sdkerrors.Wrap(types.ErrExecuteFailed, "execute msg size is too huge") + return nil, sdkerrors.Wrap(types.ErrExceedMaxContractMsgSize, "execute msg size is too huge") } codeInfo, storePrefix, err := k.getContractDetails(ctx, contractAddress) @@ -189,14 +190,16 @@ func (k Keeper) ExecuteContract(ctx sdk.Context, contractAddress sdk.AccAddress, } } - apiParams := types.NewWasmAPIParams(ctx, caller, coins, contractAddress) - res, gasUsed, err := k.wasmer.Execute( + env := types.NewEnv(ctx, contractAddress) + info := types.NewInfo(caller, coins) + res, gasUsed, err := k.wasmVM.Execute( codeInfo.CodeHash, - apiParams, + env, + info, exeMsg, storePrefix, k.getCosmWasmAPI(ctx), - k.querier.WithCtx(ctx), + k.querier.WithCtx(ctx).WithContractAddr(contractAddress), k.getGasMeter(ctx), k.getGasRemaining(ctx), ) @@ -206,26 +209,40 @@ func (k Keeper) ExecuteContract(ctx sdk.Context, contractAddress sdk.AccAddress, return nil, sdkerrors.Wrap(types.ErrExecuteFailed, err.Error()) } - // emit all events from the contract in the logging whitelist - if _, ok := k.loggingWhitelist[contractAddress.String()]; k.wasmConfig.LoggingAll() || ok { - events := types.ParseEvents(res.Log, contractAddress) - ctx.EventManager().EmitEvents(events) + // vaildate events is size and parse to sdk events + events, err := types.ValidateAndParseEvents(contractAddress, k.EventParams(ctx), res.Attributes...) + if err != nil { + return nil, sdkerrors.Wrap(err, "event validation failed") } - err = k.dispatchMessages(ctx, contractAddress, res.Messages) - if err != nil { - return nil, err + // validate data size + if uint64(len(res.Data)) > k.MaxContractDataSize(ctx) { + return nil, sdkerrors.Wrap(types.ErrExceedMaxContractDataSize, "returned data size is too huge") + } + + // emit events + ctx.EventManager().EmitEvents(events) + + // dispatch submessages and messages + if err := k.dispatchAll(ctx, contractAddress, res.Submessages, res.Messages); err != nil { + return nil, sdkerrors.Wrap(err, "dispatch") } return res.Data, nil } // MigrateContract allows to upgrade a contract to a new code with data migration. -func (k Keeper) MigrateContract(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, newCodeID uint64, migrateMsg []byte) ([]byte, error) { +func (k Keeper) MigrateContract( + ctx sdk.Context, + contractAddress sdk.AccAddress, + caller sdk.AccAddress, + newCodeID uint64, + migrateMsg []byte) ([]byte, error) { + defer telemetry.MeasureSince(time.Now(), "wasm", "contract", "migrate") ctx.GasMeter().ConsumeGas(types.InstanceCost, "Loading CosmWasm module: migrate") if uint64(len(migrateMsg)) > k.MaxContractMsgSize(ctx) { - return nil, sdkerrors.Wrap(types.ErrInstantiateFailed, "migrate msg size is too huge") + return nil, sdkerrors.Wrap(types.ErrExceedMaxContractMsgSize, "migrate msg size is too huge") } contractInfo, err := k.GetContractInfo(ctx, contractAddress) @@ -246,20 +263,19 @@ func (k Keeper) MigrateContract(ctx sdk.Context, contractAddress sdk.AccAddress, return nil, err } - var noDeposit sdk.Coins - params := types.NewWasmAPIParams(ctx, caller, noDeposit, contractAddress) + env := types.NewEnv(ctx, contractAddress) // prepare necessary meta data prefixStoreKey := types.GetContractStoreKey(contractAddress) prefixStore := prefix.NewStore(ctx.KVStore(k.storeKey), prefixStoreKey) - res, gasUsed, err := k.wasmer.Migrate( + res, gasUsed, err := k.wasmVM.Migrate( newCodeInfo.CodeHash, - params, + env, migrateMsg, - &prefixStore, + prefixStore, k.getCosmWasmAPI(ctx), - k.querier.WithCtx(ctx), + k.querier.WithCtx(ctx).WithContractAddr(contractAddress), k.getGasMeter(ctx), k.getGasRemaining(ctx), ) @@ -269,65 +285,118 @@ func (k Keeper) MigrateContract(ctx sdk.Context, contractAddress sdk.AccAddress, return nil, sdkerrors.Wrap(types.ErrMigrationFailed, err.Error()) } - // emit all events from the contract in the logging whitelist - if _, ok := k.loggingWhitelist[contractAddress.String()]; k.wasmConfig.LoggingAll() || ok { - events := types.ParseEvents(res.Log, contractAddress) - ctx.EventManager().EmitEvents(events) + // vaildate events is size and parse to sdk events + events, err := types.ValidateAndParseEvents(contractAddress, k.EventParams(ctx), res.Attributes...) + if err != nil { + return nil, sdkerrors.Wrap(err, "event validation failed") } + // validate data size + if uint64(len(res.Data)) > k.MaxContractDataSize(ctx) { + return nil, sdkerrors.Wrap(types.ErrExceedMaxContractDataSize, "returned data size is too huge") + } + + // emit events + ctx.EventManager().EmitEvents(events) + contractInfo.CodeID = newCodeID k.SetContractInfo(ctx, contractAddress, contractInfo) - if err := k.dispatchMessages(ctx, contractAddress, res.Messages); err != nil { + // dispatch submessages and messages + if err := k.dispatchAll(ctx, contractAddress, res.Submessages, res.Messages); err != nil { return nil, sdkerrors.Wrap(err, "dispatch") } return res.Data, nil } -// generates a contract address from codeID + instanceID -// and increases last instanceID -func (k Keeper) generateContractAddress(ctx sdk.Context, codeID uint64, instanceID uint64) sdk.AccAddress { - // NOTE: It is possible to get a duplicate address if either codeID or instanceID - // overflow 32 bits. This is highly improbable, but something that could be refactored. - contractID := codeID<<32 + instanceID - return addrFromUint64(contractID) -} +// reply is only called from keeper internal functions +// (dispatchSubmessages) after processing the submessages +func (k Keeper) reply( + ctx sdk.Context, + contractAddress sdk.AccAddress, + reply wasmvmtypes.Reply) error { + defer telemetry.MeasureSince(time.Now(), "wasm", "contract", "reply") + ctx.GasMeter().ConsumeGas(types.InstanceCost, "Loading CosmWasm module: reply") + + eventParams := k.EventParams(ctx) + codeInfo, storePrefix, err := k.getContractDetails(ctx, contractAddress) + + env := types.NewEnv(ctx, contractAddress) + + // to prevent passing too huge events to wasmvm + // cap the reply.Events length to eventParams.MaxAttributeNum + if reply.Result.Ok != nil && uint64(len(reply.Result.Ok.Events)) > eventParams.MaxAttributeNum { + reply.Result.Ok.Events = reply.Result.Ok.Events[:eventParams.MaxAttributeNum] + } + + res, gasUsed, err := k.wasmVM.Reply( + codeInfo.CodeHash, + env, + reply, + storePrefix, + k.getCosmWasmAPI(ctx), + k.querier.WithCtx(ctx).WithContractAddr(contractAddress), + k.getGasMeter(ctx), + k.getGasRemaining(ctx), + ) -func addrFromUint64(id uint64) sdk.AccAddress { - addr := make([]byte, 20) - addr[0] = 'C' - binary.PutUvarint(addr[1:], id) - return sdk.AccAddress(crypto.AddressHash(addr)) + k.consumeGas(ctx, gasUsed, "Contract Reply") + if err != nil { + return sdkerrors.Wrap(types.ErrExecuteFailed, err.Error()) + } + + // vaildate events is size and parse to sdk events + events, err := types.ValidateAndParseEvents(contractAddress, eventParams, res.Attributes...) + if err != nil { + return sdkerrors.Wrap(err, "event validation failed") + } + + // validate data size + if uint64(len(res.Data)) > k.MaxContractDataSize(ctx) { + return sdkerrors.Wrap(types.ErrExceedMaxContractDataSize, "returned data size is too huge") + } + + // emit events + ctx.EventManager().EmitEvents(events) + + // dispatch submessages and messages + if err := k.dispatchAll(ctx, contractAddress, res.Submessages, res.Messages); err != nil { + return sdkerrors.Wrap(err, "dispatch") + } + + return nil } -func (k Keeper) queryToStore(ctx sdk.Context, contractAddress sdk.AccAddress, key []byte) (result []byte) { +func (k Keeper) queryToStore(ctx sdk.Context, contractAddress sdk.AccAddress, key []byte) []byte { + defer telemetry.MeasureSince(time.Now(), "wasm", "contract", "query-raw") if key == nil { - return result + return nil } prefixStoreKey := types.GetContractStoreKey(contractAddress) prefixStore := prefix.NewStore(ctx.KVStore(k.storeKey), prefixStoreKey) - result = prefixStore.Get(key) - - return + return prefixStore.Get(key) } -func (k Keeper) queryToContract(ctx sdk.Context, contractAddr sdk.AccAddress, queryMsg []byte) ([]byte, error) { +func (k Keeper) queryToContract(ctx sdk.Context, contractAddress sdk.AccAddress, queryMsg []byte) ([]byte, error) { + defer telemetry.MeasureSince(time.Now(), "wasm", "contract", "query-smart") ctx.GasMeter().ConsumeGas(types.InstanceCost, "Loading CosmWasm module: query") - codeInfo, contractStorePrefix, err := k.getContractDetails(ctx, contractAddr) + codeInfo, contractStorePrefix, err := k.getContractDetails(ctx, contractAddress) if err != nil { return nil, err } - queryResult, gasUsed, err := k.wasmer.Query( + env := types.NewEnv(ctx, contractAddress) + queryResult, gasUsed, err := k.wasmVM.Query( codeInfo.CodeHash, + env, queryMsg, contractStorePrefix, k.getCosmWasmAPI(ctx), - k.querier.WithCtx(ctx), + k.querier.WithCtx(ctx).WithContractAddr(contractAddress), k.getGasMeter(ctx), k.getGasRemaining(ctx), ) diff --git a/x/wasm/keeper/contract_test.go b/x/wasm/keeper/contract_test.go index a6ad6342c..902960768 100644 --- a/x/wasm/keeper/contract_test.go +++ b/x/wasm/keeper/contract_test.go @@ -28,7 +28,7 @@ func TestStoreCode(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) // Create contract @@ -61,7 +61,7 @@ func TestCreateWithGzippedPayload(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm.gzip") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm.gzip") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -70,7 +70,7 @@ func TestCreateWithGzippedPayload(t *testing.T) { // and verify content storedCode, err := keeper.GetByteCode(ctx, contractID) require.NoError(t, err) - rawCode, err := ioutil.ReadFile("./testdata/contract.wasm") + rawCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) require.Equal(t, rawCode, storedCode) } @@ -82,7 +82,7 @@ func TestInstantiate(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -91,7 +91,7 @@ func TestInstantiate(t *testing.T) { _, _, bob := keyPubAddr() _, _, fred := keyPubAddr() - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: fred, Beneficiary: bob, } @@ -100,7 +100,7 @@ func TestInstantiate(t *testing.T) { require.NoError(t, err) // create with no balance is also legal - addr, err := keeper.InstantiateContract(ctx, codeID, creator, initMsgBz, nil, true) + addr, _, err := keeper.InstantiateContract(ctx, codeID, creator, initMsgBz, nil, true) require.NoError(t, err) require.Equal(t, "cosmos18vd8fpwxzck93qlwghaj6arh4p7c5n89uzcee5", addr.String()) } @@ -112,12 +112,12 @@ func TestInstantiateWithNonExistingCodeID(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - initMsg := InitMsg{} + initMsg := HackatomExampleInitMsg{} initMsgBz, err := json.Marshal(initMsg) require.NoError(t, err) const nonExistingCodeID = 9999 - _, err = keeper.InstantiateContract(ctx, nonExistingCodeID, creator, initMsgBz, nil, true) + _, _, err = keeper.InstantiateContract(ctx, nonExistingCodeID, creator, initMsgBz, nil, true) require.Error(t, err, sdkerrors.Wrapf(types.ErrNotFound, "codeID %d", nonExistingCodeID)) } @@ -128,7 +128,7 @@ func TestInstantiateWithBigInitMsg(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -136,7 +136,7 @@ func TestInstantiateWithBigInitMsg(t *testing.T) { // test max init msg size initMsgBz := make([]byte, keeper.MaxContractMsgSize(ctx)+1) - _, err = keeper.InstantiateContract(ctx, codeID, creator, initMsgBz, deposit, true) + _, _, err = keeper.InstantiateContract(ctx, codeID, creator, initMsgBz, deposit, true) require.Error(t, err) require.Contains(t, err.Error(), "init msg size is too huge") } @@ -150,21 +150,21 @@ func TestExecute(t *testing.T) { creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) require.NoError(t, err) _, _, bob := keyPubAddr() - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: fred, Beneficiary: bob, } initMsgBz, err := json.Marshal(initMsg) require.NoError(t, err) - addr, err := keeper.InstantiateContract(ctx, codeID, creator, initMsgBz, deposit, true) + addr, _, err := keeper.InstantiateContract(ctx, codeID, creator, initMsgBz, deposit, true) require.NoError(t, err) require.Equal(t, "cosmos18vd8fpwxzck93qlwghaj6arh4p7c5n89uzcee5", addr.String()) @@ -187,7 +187,7 @@ func TestExecute(t *testing.T) { trialCtx := ctx.WithMultiStore(ctx.MultiStore().CacheWrap().(sdk.MultiStore)) res, err := keeper.ExecuteContract(trialCtx, addr, creator, []byte(`{"release":{}}`), nil) require.Error(t, err) - require.Contains(t, err.Error(), "unauthorized") + require.Equal(t, "Unauthorized: execute wasm contract failed", err.Error()) // verifier can execute, and get proper gas amount start := time.Now() @@ -223,7 +223,7 @@ func TestExecuteWithNonExistingContractAddress(t *testing.T) { creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) // unauthorized - trialCtx so we don't change state - nonExistingContractAddress := addrFromUint64(9999) + nonExistingContractAddress := types.GenerateContractAddress(9999, 9999) _, err := keeper.ExecuteContract(ctx, nonExistingContractAddress, creator, []byte(`{}`), nil) require.Error(t, err, sdkerrors.Wrapf(types.ErrNotFound, "contract %s", nonExistingContractAddress)) } @@ -237,21 +237,21 @@ func TestExecuteWithHugeMsg(t *testing.T) { creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) require.NoError(t, err) _, _, bob := keyPubAddr() - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: fred, Beneficiary: bob, } initMsgBz, err := json.Marshal(initMsg) require.NoError(t, err) - addr, err := keeper.InstantiateContract(ctx, codeID, creator, initMsgBz, deposit, true) + addr, _, err := keeper.InstantiateContract(ctx, codeID, creator, initMsgBz, deposit, true) require.NoError(t, err) require.Equal(t, "cosmos18vd8fpwxzck93qlwghaj6arh4p7c5n89uzcee5", addr.String()) @@ -275,21 +275,21 @@ func TestExecuteWithPanic(t *testing.T) { creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) require.NoError(t, err) _, _, bob := keyPubAddr() - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: fred, Beneficiary: bob, } initMsgBz, err := json.Marshal(initMsg) require.NoError(t, err) - addr, err := keeper.InstantiateContract(ctx, contractID, creator, initMsgBz, deposit, true) + addr, _, err := keeper.InstantiateContract(ctx, contractID, creator, initMsgBz, deposit, true) require.NoError(t, err) // let's make sure we get a reasonable error, no panic/crash @@ -310,21 +310,21 @@ func TestExecuteWithCpuLoop(t *testing.T) { creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) require.NoError(t, err) _, _, bob := keyPubAddr() - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: fred, Beneficiary: bob, } initMsgBz, err := json.Marshal(initMsg) require.NoError(t, err) - addr, err := keeper.InstantiateContract(ctx, contractID, creator, initMsgBz, deposit, true) + addr, _, err := keeper.InstantiateContract(ctx, contractID, creator, initMsgBz, deposit, true) require.NoError(t, err) // make sure we set a limit before calling @@ -350,21 +350,21 @@ func TestExecuteWithStorageLoop(t *testing.T) { creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) require.NoError(t, err) _, _, bob := keyPubAddr() - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: fred, Beneficiary: bob, } initMsgBz, err := json.Marshal(initMsg) require.NoError(t, err) - addr, err := keeper.InstantiateContract(ctx, contractID, creator, initMsgBz, deposit, true) + addr, _, err := keeper.InstantiateContract(ctx, contractID, creator, initMsgBz, deposit, true) require.NoError(t, err) // make sure we set a limit before calling @@ -390,7 +390,7 @@ func TestMigrate(t *testing.T) { creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, sdk.NewCoins(sdk.NewInt64Coin("denom", 5000))) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) originalContractID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -401,7 +401,7 @@ func TestMigrate(t *testing.T) { _, _, anyAddr := keyPubAddr() _, _, newVerifierAddr := keyPubAddr() - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: fred, Beneficiary: anyAddr, } @@ -480,7 +480,7 @@ func TestMigrate(t *testing.T) { for msg, spec := range specs { t.Run(msg, func(t *testing.T) { ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 1) - addr, err := keeper.InstantiateContract(ctx, originalContractID, creator, initMsgBz, nil, spec.migratable) + addr, _, err := keeper.InstantiateContract(ctx, originalContractID, creator, initMsgBz, nil, spec.migratable) require.NoError(t, err) if spec.overrideContractAddr != nil { addr = spec.overrideContractAddr @@ -495,11 +495,11 @@ func TestMigrate(t *testing.T) { assert.Equal(t, spec.codeID, cInfo.CodeID) m := keeper.queryToStore(ctx, addr, []byte("config")) - var stored map[string][]byte + var stored map[string]string require.NoError(t, json.Unmarshal(m, &stored)) require.Contains(t, stored, "verifier") require.NoError(t, err) - assert.Equal(t, spec.expVerifier, sdk.AccAddress(stored["verifier"])) + assert.Equal(t, spec.expVerifier.String(), stored["verifier"]) }) } } @@ -516,7 +516,7 @@ func TestMigrateWithDispatchedMessage(t *testing.T) { creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 5000))) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) burnerCode, err := ioutil.ReadFile("./testdata/burner.wasm") require.NoError(t, err) @@ -528,7 +528,7 @@ func TestMigrateWithDispatchedMessage(t *testing.T) { require.NotEqual(t, originalContractID, burnerContractID) _, _, myPayoutAddr := keyPubAddr() - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: fred, Beneficiary: fred, } @@ -536,7 +536,7 @@ func TestMigrateWithDispatchedMessage(t *testing.T) { require.NoError(t, err) ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 1) - contractAddr, err := keeper.InstantiateContract(ctx, originalContractID, creator, initMsgBz, deposit, true) + contractAddr, _, err := keeper.InstantiateContract(ctx, originalContractID, creator, initMsgBz, deposit, true) require.NoError(t, err) migMsg := struct { @@ -544,7 +544,6 @@ func TestMigrateWithDispatchedMessage(t *testing.T) { }{Payout: myPayoutAddr} migMsgBz, err := json.Marshal(migMsg) require.NoError(t, err) - keeper.loggingWhitelist[contractAddr.String()] = true ctx = ctx.WithEventManager(sdk.NewEventManager()).WithBlockHeight(ctx.BlockHeight() + 1) res, err := keeper.MigrateContract(ctx, contractAddr, creator, burnerContractID, migMsgBz) require.NoError(t, err) diff --git a/x/wasm/keeper/custom_test.go b/x/wasm/keeper/custom_test.go index 7af19015c..e343c178c 100644 --- a/x/wasm/keeper/custom_test.go +++ b/x/wasm/keeper/custom_test.go @@ -4,15 +4,12 @@ import ( "encoding/json" "io/ioutil" "math/rand" - "os" "testing" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" - "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/spf13/viper" "github.com/stretchr/testify/require" core "github.com/terra-project/core/types" @@ -46,8 +43,8 @@ type sellPayload struct { } type sendPayload struct { - Coin wasmTypes.Coin `json:"coin"` - Recipient string `json:"recipient"` + Coin wasmvmtypes.Coin `json:"coin"` + Recipient string `json:"recipient"` } // MakerQueryMsg nolint @@ -56,12 +53,12 @@ type MakerQueryMsg struct { } type simulateQuery struct { - OfferCoin wasmTypes.Coin `json:"offer"` + OfferCoin wasmvmtypes.Coin `json:"offer"` } type simulateResponse struct { - SellCoin wasmTypes.Coin `json:"sell"` - BuyCoin wasmTypes.Coin `json:"buy"` + SellCoin wasmvmtypes.Coin `json:"sell"` + BuyCoin wasmvmtypes.Coin `json:"buy"` } // MakerTreasuryQuerymsg nolint @@ -92,8 +89,8 @@ type bindingsTesterExchangeRatesQueryMsg struct { ExchangeRates exchangeRatesQueryMsg `json:"exchange_rates"` } type swapQueryMsg struct { - OfferCoin wasmTypes.Coin `json:"offer_coin"` - AskDenom string `json:"ask_denom"` + OfferCoin wasmvmtypes.Coin `json:"offer_coin"` + AskDenom string `json:"ask_denom"` } type taxRateQueryMsg struct{} type taxCapQueryMsg struct { @@ -105,11 +102,6 @@ type exchangeRatesQueryMsg struct { } func TestInstantiateMaker(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input := CreateTestInput(t) ctx, keeper, oracleKeeper := input.Ctx, input.WasmKeeper, input.OracleKeeper @@ -118,7 +110,7 @@ func TestInstantiateMaker(t *testing.T) { _, _, creatorAddr := keyPubAddr() - // upload staking derivates code + // upload staking derivatives code makingCode, err := ioutil.ReadFile("./testdata/maker.wasm") require.NoError(t, err) makerID, err := keeper.StoreCode(ctx, creatorAddr, makingCode) @@ -132,28 +124,23 @@ func TestInstantiateMaker(t *testing.T) { } initBz, err := json.Marshal(&initMsg) - makerAddr, err := keeper.InstantiateContract(input.Ctx, makerID, creatorAddr, initBz, nil, true) + makerAddr, _, err := keeper.InstantiateContract(input.Ctx, makerID, creatorAddr, initBz, nil, true) require.NoError(t, err) require.NotEmpty(t, makerAddr) // invalid init msg - _, err = keeper.InstantiateContract(input.Ctx, makerID, creatorAddr, []byte{}, nil, true) + _, _, err = keeper.InstantiateContract(input.Ctx, makerID, creatorAddr, []byte{}, nil, true) require.Error(t, err) } func TestMarketQuerier(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input, _, testerAddr, offerCoin := setupBindingsTesterContract(t) ctx, keeper, marketKeeper := input.Ctx, input.WasmKeeper, input.MarketKeeper swapQueryMsg := bindingsTesterSwapQueryMsg{ Swap: swapQueryMsg{ - OfferCoin: wasmTypes.Coin{ + OfferCoin: wasmvmtypes.Coin{ Denom: core.MicroSDRDenom, Amount: offerCoin.Amount.String(), }, @@ -173,18 +160,13 @@ func TestMarketQuerier(t *testing.T) { var swapResponse marketwasm.SwapQueryResponse err = json.Unmarshal(res, &swapResponse) require.NoError(t, err) - require.Equal(t, wasmTypes.Coin{ + require.Equal(t, wasmvmtypes.Coin{ Denom: core.MicroLunaDenom, Amount: retAmount.String(), }, swapResponse.Receive) } func TestTreasuryQuerier(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input, _, testerAddr, _ := setupBindingsTesterContract(t) ctx, keeper, treasuryKeeper := input.Ctx, input.WasmKeeper, input.TreasuryKeeper @@ -227,11 +209,6 @@ func TestTreasuryQuerier(t *testing.T) { } func TestExchangeRatesQuerier(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input, _, testerAddr, _ := setupBindingsTesterContract(t) ctx, keeper, oracleKeeper := input.Ctx, input.WasmKeeper, input.OracleKeeper @@ -264,11 +241,6 @@ func TestExchangeRatesQuerier(t *testing.T) { } func TestBuyMsg(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input, creatorAddr, makerAddr, offerCoin := setupMakerContract(t) ctx, keeper, accKeeper, bankKeeper := input.Ctx, input.WasmKeeper, input.AccKeeper, input.BankKeeper @@ -297,11 +269,6 @@ func TestBuyMsg(t *testing.T) { } func TestBuyAndSendMsg(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input, creatorAddr, makerAddr, offerCoin := setupMakerContract(t) ctx, keeper, accKeeper, bankKeeper, treasuryKeeper := input.Ctx, input.WasmKeeper, input.AccKeeper, input.BankKeeper, input.TreasuryKeeper @@ -328,11 +295,6 @@ func TestBuyAndSendMsg(t *testing.T) { } func TestSellMsg(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input, creatorAddr, makerAddr, offerCoin := setupMakerContract(t) ctx, keeper, accKeeper, bankKeeper := input.Ctx, input.WasmKeeper, input.AccKeeper, input.BankKeeper @@ -365,11 +327,6 @@ func TestSellMsg(t *testing.T) { } func TestSendMsg(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input, creatorAddr, makerAddr, offerCoin := setupMakerContract(t) // Check tax charging @@ -410,7 +367,7 @@ func setupMakerContract(t *testing.T) (input TestInput, creatorAddr, makerAddr s creatorAddr = createFakeFundedAccount(ctx, accKeeper, bankKeeper, sdk.NewCoins(initCoin)) - // upload staking derivates code + // upload staking derivatives code makingCode, err := ioutil.ReadFile("./testdata/maker.wasm") require.NoError(t, err) makerID, err := keeper.StoreCode(ctx, creatorAddr, makingCode) @@ -423,7 +380,7 @@ func setupMakerContract(t *testing.T) (input TestInput, creatorAddr, makerAddr s } initBz, err := json.Marshal(&initMsg) - makerAddr, err = keeper.InstantiateContract(input.Ctx, makerID, creatorAddr, initBz, nil, true) + makerAddr, _, err = keeper.InstantiateContract(input.Ctx, makerID, creatorAddr, initBz, nil, true) require.NoError(t, err) require.NotEmpty(t, makerAddr) @@ -447,7 +404,7 @@ func setupBindingsTesterContract(t *testing.T) (input TestInput, creatorAddr, bi creatorAddr = createFakeFundedAccount(ctx, accKeeper, bankKeeper, sdk.NewCoins(initCoin)) - // upload staking derivates code + // upload binding_tester contract codes bindingsTCode, err := ioutil.ReadFile("./testdata/bindings_tester.wasm") require.NoError(t, err) bindingsTesterID, err := keeper.StoreCode(ctx, creatorAddr, bindingsTCode) @@ -456,7 +413,7 @@ func setupBindingsTesterContract(t *testing.T) (input TestInput, creatorAddr, bi type EmptyStruct struct{} initBz, err := json.Marshal(&EmptyStruct{}) - bindingsTesterAddr, err = keeper.InstantiateContract(input.Ctx, bindingsTesterID, creatorAddr, initBz, nil, true) + bindingsTesterAddr, _, err = keeper.InstantiateContract(input.Ctx, bindingsTesterID, creatorAddr, initBz, nil, true) require.NoError(t, err) require.NotEmpty(t, bindingsTesterAddr) diff --git a/x/wasm/keeper/ioutil_test.go b/x/wasm/keeper/ioutil_test.go index 70378c67c..8b4a4219d 100644 --- a/x/wasm/keeper/ioutil_test.go +++ b/x/wasm/keeper/ioutil_test.go @@ -18,10 +18,10 @@ func TestUncompress(t *testing.T) { input := CreateTestInput(t) ctx, keeper := input.Ctx, input.WasmKeeper - wasmRaw, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmRaw, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) - wasmGzipped, err := ioutil.ReadFile("./testdata/contract.wasm.gzip") + wasmGzipped, err := ioutil.ReadFile("./testdata/hackatom.wasm.gzip") require.NoError(t, err) specs := map[string]struct { diff --git a/x/wasm/keeper/keeper.go b/x/wasm/keeper/keeper.go index 4828b19fc..72dff73a6 100644 --- a/x/wasm/keeper/keeper.go +++ b/x/wasm/keeper/keeper.go @@ -5,7 +5,6 @@ import ( "fmt" "path/filepath" - wasm "github.com/CosmWasm/go-cosmwasm" "github.com/spf13/viper" "github.com/tendermint/tendermint/libs/log" @@ -17,6 +16,8 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + wasmvm "github.com/CosmWasm/wasmvm" + "github.com/terra-project/core/x/wasm/config" "github.com/terra-project/core/x/wasm/types" ) @@ -31,15 +32,15 @@ type Keeper struct { bankKeeper types.BankKeeper treasuryKeeper types.TreasuryKeeper - router sdk.Router + router sdk.Router + queryRouter types.GRPCQueryRouter - wasmer wasm.Wasmer + wasmVM types.WasmerEngine querier types.Querier msgParser types.MsgParser // WASM config values - wasmConfig *config.Config - loggingWhitelist map[string]bool + wasmConfig *config.Config } // NewKeeper creates a new contract Keeper instance @@ -51,11 +52,17 @@ func NewKeeper( bankKeeper types.BankKeeper, treasuryKeeper types.TreasuryKeeper, router sdk.Router, + queryRouter types.GRPCQueryRouter, supportedFeatures string, homePath string, wasmConfig *config.Config) Keeper { - wasmer, err := wasm.NewWasmer(filepath.Join(homePath, config.DBDir), supportedFeatures, 0) - + wasmVM, err := wasmvm.NewVM( + filepath.Join(homePath, config.DBDir), + supportedFeatures, + types.ContractMemoryLimit, + wasmConfig.ContractDebugMode, + wasmConfig.ContractMemoryCacheSize, + ) if err != nil { panic(err) } @@ -66,18 +73,18 @@ func NewKeeper( } return Keeper{ - storeKey: storeKey, - cdc: cdc, - paramSpace: paramspace, - wasmer: *wasmer, - accountKeeper: accountKeeper, - bankKeeper: bankKeeper, - treasuryKeeper: treasuryKeeper, - router: router, - wasmConfig: wasmConfig, - loggingWhitelist: wasmConfig.WhitelistToMap(), - msgParser: types.NewModuleMsgParser(), - querier: types.NewModuleQuerier(), + storeKey: storeKey, + cdc: cdc, + paramSpace: paramspace, + wasmVM: wasmVM, + accountKeeper: accountKeeper, + bankKeeper: bankKeeper, + treasuryKeeper: treasuryKeeper, + router: router, + queryRouter: queryRouter, + wasmConfig: wasmConfig, + msgParser: types.NewModuleMsgParser(), + querier: types.NewModuleQuerier(), } } @@ -203,7 +210,7 @@ func (k Keeper) GetByteCode(ctx sdk.Context, codeID uint64) ([]byte, error) { return nil, sdkErr } - byteCode, err := k.wasmer.GetCode(codeInfo.CodeHash) + byteCode, err := k.wasmVM.GetCode(codeInfo.CodeHash) if err != nil { return nil, err } @@ -212,15 +219,29 @@ func (k Keeper) GetByteCode(ctx sdk.Context, codeID uint64) ([]byte, error) { } // RegisterMsgParsers register module msg parsers -func (k *Keeper) RegisterMsgParsers(parsers map[string]types.WasmMsgParserInterface) { +func (k *Keeper) RegisterMsgParsers( + parsers map[string]types.WasmMsgParserInterface, + stargateWasmMsgParser types.StargateWasmMsgParserInterface, +) { for route, parser := range parsers { - k.msgParser[route] = parser + k.msgParser.Parsers[route] = parser + } + + if stargateWasmMsgParser != nil { + k.msgParser.StargateParser = stargateWasmMsgParser } } // RegisterQueriers register module queriers -func (k *Keeper) RegisterQueriers(queriers map[string]types.WasmQuerierInterface) { +func (k *Keeper) RegisterQueriers( + queriers map[string]types.WasmQuerierInterface, + stargateWasmQuerier types.StargateWasmQuerierInterface, +) { for route, querier := range queriers { k.querier.Queriers[route] = querier } + + if stargateWasmQuerier != nil { + k.querier.StargateQuerier = stargateWasmQuerier + } } diff --git a/x/wasm/keeper/keeper_test.go b/x/wasm/keeper/keeper_test.go index 468173eb2..bcf31d472 100644 --- a/x/wasm/keeper/keeper_test.go +++ b/x/wasm/keeper/keeper_test.go @@ -19,7 +19,7 @@ func TestCodeInfo(t *testing.T) { ctx, keeper := input.Ctx, input.WasmKeeper codeID := uint64(1) - creatorAddr := addrFromUint64(codeID) + _, _, creatorAddr := keyPubAddr() expected := types.NewCodeInfo(codeID, []byte{1, 2, 3}, creatorAddr) keeper.SetCodeInfo(ctx, 1, expected) @@ -37,10 +37,10 @@ func TestContractInfo(t *testing.T) { codeID := uint64(1) instanceID := uint64(1) - creatorAddr := addrFromUint64(codeID) - contractAddr := keeper.generateContractAddress(ctx, codeID, instanceID) + _, _, creatorAddr := keyPubAddr() + contractAddr := types.GenerateContractAddress(codeID, instanceID) - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: alice, Beneficiary: bob, } diff --git a/x/wasm/keeper/legacy_querier_test.go b/x/wasm/keeper/legacy_querier_test.go index 51d427ee7..5eb8bb70d 100644 --- a/x/wasm/keeper/legacy_querier_test.go +++ b/x/wasm/keeper/legacy_querier_test.go @@ -4,13 +4,8 @@ import ( "encoding/json" "fmt" "io/ioutil" - "os" "testing" - "github.com/spf13/viper" - - "github.com/cosmos/cosmos-sdk/client/flags" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/terra-project/core/x/wasm/types" @@ -21,11 +16,6 @@ import ( ) func TestLegacyContractState(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input := CreateTestInput(t) ctx, accKeeper, bankKeeper, keeper := input.Ctx, input.AccKeeper, input.BankKeeper, input.WasmKeeper @@ -34,21 +24,21 @@ func TestLegacyContractState(t *testing.T) { creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) anyAddr := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) require.NoError(t, err) _, _, bob := keyPubAddr() - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: anyAddr, Beneficiary: bob, } initMsgBz, err := json.Marshal(initMsg) require.NoError(t, err) - addr, err := keeper.InstantiateContract(ctx, contractID, creator, initMsgBz, deposit, true) + addr, _, err := keeper.InstantiateContract(ctx, contractID, creator, initMsgBz, deposit, true) require.NoError(t, err) contractModel := []types.Model{ diff --git a/x/wasm/keeper/mask_test.go b/x/wasm/keeper/mask_test.go deleted file mode 100644 index bc53c77a1..000000000 --- a/x/wasm/keeper/mask_test.go +++ /dev/null @@ -1,443 +0,0 @@ -package keeper - -import ( - "encoding/json" - "io/ioutil" - "os" - "strings" - "testing" - - "github.com/spf13/viper" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - core "github.com/terra-project/core/types" - "github.com/terra-project/core/x/wasm/types" - - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" - - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/cosmos/cosmos-sdk/codec" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" - bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" - banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" -) - -// MaskInitMsg is {} - -type MaskHandleMsg struct { - Reflect *reflectPayload `json:"reflect_msg,omitempty"` - Change *ownerPayload `json:"change_owner,omitempty"` -} - -type ownerPayload struct { - Owner sdk.Address `json:"owner"` -} - -type reflectPayload struct { - Msgs []wasmTypes.CosmosMsg `json:"msgs"` -} - -// MaskQueryMsg is used to encode query messages -type MaskQueryMsg struct { - Owner *struct{} `json:"owner,omitempty"` - ReflectCustom *Text `json:"reflect_custom,omitempty"` -} - -type Text struct { - Text string `json:"text"` -} - -type OwnerResponse struct { - Owner string `json:"owner,omitempty"` -} - -func TestMaskReflectContractSend(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasmtest") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - - input := CreateTestInput(t) - ctx, accKeeper, bankKeeper, keeper := input.Ctx, input.AccKeeper, input.BankKeeper, input.WasmKeeper - - deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) - creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - _, _, bob := keyPubAddr() - - // upload mask code - maskCode, err := ioutil.ReadFile("./testdata/mask.wasm") - require.NoError(t, err) - maskID, err := keeper.StoreCode(ctx, creator, maskCode) - require.NoError(t, err) - require.Equal(t, uint64(1), maskID) - - // upload hackatom escrow code - escrowCode, err := ioutil.ReadFile("./testdata/contract.wasm") - require.NoError(t, err) - escrowID, err := keeper.StoreCode(ctx, creator, escrowCode) - require.NoError(t, err) - require.Equal(t, uint64(2), escrowID) - - // creator instantiates a contract and gives it tokens - maskStart := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 40000)) - maskAddr, err := keeper.InstantiateContract(ctx, maskID, creator, []byte("{}"), maskStart, true) - require.NoError(t, err) - require.NotEmpty(t, maskAddr) - - // now we set contract as verifier of an escrow - initMsg := InitMsg{ - Verifier: maskAddr, - Beneficiary: bob, - } - initMsgBz, err := json.Marshal(initMsg) - require.NoError(t, err) - escrowStart := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 25000)) - escrowAddr, err := keeper.InstantiateContract(ctx, escrowID, creator, initMsgBz, escrowStart, true) - require.NoError(t, err) - require.NotEmpty(t, escrowAddr) - - // let's make sure all balances make sense - checkAccount(t, ctx, accKeeper, bankKeeper, creator, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 35000))) // 100k - 40k - 25k - checkAccount(t, ctx, accKeeper, bankKeeper, maskAddr, maskStart) - checkAccount(t, ctx, accKeeper, bankKeeper, escrowAddr, escrowStart) - checkAccount(t, ctx, accKeeper, bankKeeper, bob, nil) - - // now for the trick.... we reflect a message through the mask to call the escrow - // we also send an additional 14k tokens there. - // this should reduce the mask balance by 14k (to 26k) - // this 14k is added to the escrow, then the entire balance is sent to bob (total: 39k) - approveMsg := []byte(`{"release":{}}`) - msgs := []wasmTypes.CosmosMsg{{ - Wasm: &wasmTypes.WasmMsg{ - Execute: &wasmTypes.ExecuteMsg{ - ContractAddr: escrowAddr.String(), - Msg: approveMsg, - Send: []wasmTypes.Coin{{ - Denom: core.MicroLunaDenom, - Amount: "14000", - }}, - }, - }, - }} - reflectSend := MaskHandleMsg{ - Reflect: &reflectPayload{ - Msgs: msgs, - }, - } - reflectSendBz, err := json.Marshal(reflectSend) - require.NoError(t, err) - _, err = keeper.ExecuteContract(ctx, maskAddr, creator, reflectSendBz, nil) - require.NoError(t, err) - - // did this work??? - checkAccount(t, ctx, accKeeper, bankKeeper, creator, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 35000))) // same as before - checkAccount(t, ctx, accKeeper, bankKeeper, maskAddr, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 26000))) // 40k - 14k (from send) - checkAccount(t, ctx, accKeeper, bankKeeper, escrowAddr, sdk.Coins{}) // emptied reserved - checkAccount(t, ctx, accKeeper, bankKeeper, bob, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 39000))) // all escrow of 25k + 14k - -} - -func TestMaskReflectCustomMsg(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - - input := CreateTestInput(t) - ctx, accKeeper, bankKeeper, keeper := input.Ctx, input.AccKeeper, input.BankKeeper, input.WasmKeeper - - keeper.RegisterQueriers(map[string]types.WasmQuerierInterface{ - "mask": maskQuerier{}, - }) - keeper.RegisterMsgParsers(map[string]types.WasmMsgParserInterface{ - "mask": maskRawMsgParser{ - cdc: MakeTestCodec(t), - }, - }) - - deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) - creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - bob := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - _, _, fred := keyPubAddr() - - // upload code - maskCode, err := ioutil.ReadFile("./testdata/mask.wasm") - require.NoError(t, err) - codeID, err := keeper.StoreCode(ctx, creator, maskCode) - require.NoError(t, err) - require.Equal(t, uint64(1), codeID) - - // creator instantiates a contract and gives it tokens - contractStart := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 40000)) - contractAddr, err := keeper.InstantiateContract(ctx, codeID, creator, []byte("{}"), contractStart, true) - require.NoError(t, err) - require.NotEmpty(t, contractAddr) - - // set owner to bob - transfer := MaskHandleMsg{ - Change: &ownerPayload{ - Owner: bob, - }, - } - transferBz, err := json.Marshal(transfer) - require.NoError(t, err) - _, err = keeper.ExecuteContract(ctx, contractAddr, creator, transferBz, nil) - require.NoError(t, err) - - // check some account values - checkAccount(t, ctx, accKeeper, bankKeeper, contractAddr, contractStart) - checkAccount(t, ctx, accKeeper, bankKeeper, bob, deposit) - checkAccount(t, ctx, accKeeper, bankKeeper, fred, nil) - - // bob can send contract's tokens to fred (using SendMsg) - msgs := []wasmTypes.CosmosMsg{{ - Bank: &wasmTypes.BankMsg{ - Send: &wasmTypes.SendMsg{ - FromAddress: contractAddr.String(), - ToAddress: fred.String(), - Amount: []wasmTypes.Coin{{ - Denom: core.MicroLunaDenom, - Amount: "15000", - }}, - }, - }, - }} - reflectSend := MaskHandleMsg{ - Reflect: &reflectPayload{ - Msgs: msgs, - }, - } - reflectSendBz, err := json.Marshal(reflectSend) - require.NoError(t, err) - _, err = keeper.ExecuteContract(ctx, contractAddr, bob, reflectSendBz, nil) - require.NoError(t, err) - - // fred got coins - checkAccount(t, ctx, accKeeper, bankKeeper, fred, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 15000))) - // contract lost them - checkAccount(t, ctx, accKeeper, bankKeeper, contractAddr, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 25000))) - checkAccount(t, ctx, accKeeper, bankKeeper, bob, deposit) - - // construct an opaque message - var sdkSendMsg sdk.Msg = &banktypes.MsgSend{ - FromAddress: contractAddr.String(), - ToAddress: fred.String(), - Amount: sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 23000)), - } - - opaque, err := toMaskRawMsg(MakeTestCodec(t), sdkSendMsg) - require.NoError(t, err) - reflectOpaque := MaskHandleMsg{ - Reflect: &reflectPayload{ - Msgs: []wasmTypes.CosmosMsg{opaque}, - }, - } - reflectOpaqueBz, err := json.Marshal(reflectOpaque) - require.NoError(t, err) - - _, err = keeper.ExecuteContract(ctx, contractAddr, bob, reflectOpaqueBz, nil) - require.NoError(t, err) - - // fred got more coins - checkAccount(t, ctx, accKeeper, bankKeeper, fred, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 38000))) - // contract lost them - checkAccount(t, ctx, accKeeper, bankKeeper, contractAddr, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 2000))) - checkAccount(t, ctx, accKeeper, bankKeeper, bob, deposit) -} - -func TestMaskReflectCustomQuery(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - - input := CreateTestInput(t) - ctx, accKeeper, bankKeeper, keeper := input.Ctx, input.AccKeeper, input.BankKeeper, input.WasmKeeper - - keeper.RegisterQueriers(map[string]types.WasmQuerierInterface{ - "mask": maskQuerier{}, - }) - keeper.RegisterMsgParsers(map[string]types.WasmMsgParserInterface{ - "mask": maskRawMsgParser{ - cdc: MakeTestCodec(t), - }, - }) - - deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) - creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - - // upload code - maskCode, err := ioutil.ReadFile("./testdata/mask.wasm") - require.NoError(t, err) - codeID, err := keeper.StoreCode(ctx, creator, maskCode) - require.NoError(t, err) - require.Equal(t, uint64(1), codeID) - - // creator instantiates a contract and gives it tokens - contractStart := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 40000)) - contractAddr, err := keeper.InstantiateContract(ctx, codeID, creator, []byte("{}"), contractStart, true) - require.NoError(t, err) - require.NotEmpty(t, contractAddr) - - // let's perform a normal query of state - ownerQuery := MaskQueryMsg{ - Owner: &struct{}{}, - } - ownerQueryBz, err := json.Marshal(ownerQuery) - require.NoError(t, err) - ownerRes, err := keeper.queryToContract(ctx, contractAddr, ownerQueryBz) - require.NoError(t, err) - var res OwnerResponse - err = json.Unmarshal(ownerRes, &res) - require.NoError(t, err) - assert.Equal(t, res.Owner, creator.String()) - - // and now making use of the custom querier callbacks - customQuery := MaskQueryMsg{ - ReflectCustom: &Text{ - Text: "all Caps noW", - }, - } - customQueryBz, err := json.Marshal(customQuery) - require.NoError(t, err) - custom, err := keeper.queryToContract(ctx, contractAddr, customQueryBz) - require.NoError(t, err) - var resp customQueryResponse - err = json.Unmarshal(custom, &resp) - require.NoError(t, err) - assert.Equal(t, resp.Msg, "ALL CAPS NOW") -} - -func checkAccount(t *testing.T, ctx sdk.Context, accKeeper authkeeper.AccountKeeper, bankKeeper bankkeeper.Keeper, addr sdk.AccAddress, expected sdk.Coins) { - acct := accKeeper.GetAccount(ctx, addr) - if expected == nil { - assert.Nil(t, acct) - } else { - assert.NotNil(t, acct) - - balance := bankKeeper.GetAllBalances(ctx, addr) - if expected.Empty() { - // there is confusion between nil and empty slice... let's just treat them the same - assert.True(t, balance.Empty()) - } else { - assert.Equal(t, expected, balance) - } - } -} - -/**** Code to support custom messages *****/ -type maskCustomMsg struct { - Debug string `json:"debug,omitempty"` - Raw []byte `json:"raw,omitempty"` -} - -// toMaskRawMsg encodes an sdk msg using amino json encoding. -// Then wraps it as an opaque message -func toMaskRawMsg(cdc codec.Marshaler, msg sdk.Msg) (wasmTypes.CosmosMsg, error) { - any, err := codectypes.NewAnyWithValue(msg) - if err != nil { - return wasmTypes.CosmosMsg{}, err - } - rawBz, err := cdc.MarshalJSON(any) - if err != nil { - return wasmTypes.CosmosMsg{}, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) - } - - customMsgData, err := json.Marshal(maskCustomMsg{Raw: rawBz}) - if err != nil { - return wasmTypes.CosmosMsg{}, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) - } - - customMsg, err := json.Marshal(types.WasmCustomMsg{ - Route: "mask", - MsgData: customMsgData, - }) - if err != nil { - return wasmTypes.CosmosMsg{}, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) - } - - res := wasmTypes.CosmosMsg{ - Custom: customMsg, - } - return res, nil -} - -// maskRawMsgParser decodes msg.Data to an sdk.Msg using amino json encoding. -// this needs to be registered on the Encoders -type maskRawMsgParser struct { - cdc codec.Marshaler -} - -var _ types.WasmMsgParserInterface = maskRawMsgParser{} - -func (p maskRawMsgParser) Parse(_sender sdk.AccAddress, msg wasmTypes.CosmosMsg) ([]sdk.Msg, error) { - return nil, nil -} - -func (p maskRawMsgParser) ParseCustom(_sender sdk.AccAddress, msg json.RawMessage) ([]sdk.Msg, error) { - var custom maskCustomMsg - err := json.Unmarshal(msg, &custom) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) - } - if custom.Raw != nil { - var any codectypes.Any - if err := p.cdc.UnmarshalJSON(custom.Raw, &any); err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) - } - var msg sdk.Msg - if err := p.cdc.UnpackAny(&any, &msg); err != nil { - return nil, err - } - return []sdk.Msg{msg}, nil - } - if custom.Debug != "" { - return nil, sdkerrors.Wrapf(types.ErrInvalidMsg, "Custom Debug: %s", custom.Debug) - } - return nil, sdkerrors.Wrap(types.ErrInvalidMsg, "Unknown Custom message variant") -} - -type maskQuerier struct{} - -type maskCustomQuery struct { - Ping *struct{} `json:"ping,omitempty"` - Capital *Text `json:"capital,omitempty"` -} - -var _ types.WasmQuerierInterface = maskQuerier{} - -type customQueryResponse struct { - Msg string `json:"msg"` -} - -func (maskQuerier) Query(_ sdk.Context, _ wasmTypes.QueryRequest) ([]byte, error) { - return nil, nil -} - -func (maskQuerier) QueryCustom(_ sdk.Context, request json.RawMessage) ([]byte, error) { - var custom maskCustomQuery - err := json.Unmarshal(request, &custom) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) - } - if custom.Capital != nil { - msg := strings.ToUpper(custom.Capital.Text) - bz, err := json.Marshal(customQueryResponse{Msg: msg}) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) - } - return bz, nil - } - if custom.Ping != nil { - bz, err := json.Marshal(customQueryResponse{Msg: "pong"}) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) - } - return bz, nil - } - - return nil, sdkerrors.Wrap(types.ErrInvalidMsg, "Unknown Custom query variant") -} diff --git a/x/wasm/keeper/msg_server.go b/x/wasm/keeper/msg_server.go index a0f1e05c3..3aed2944b 100644 --- a/x/wasm/keeper/msg_server.go +++ b/x/wasm/keeper/msg_server.go @@ -60,7 +60,7 @@ func (k msgServer) InstantiateContract(goCtx context.Context, msg *types.MsgInst return nil, err } - contractAddr, err := k.Keeper.InstantiateContract(ctx, msg.CodeID, ownerAddr, msg.InitMsg, msg.InitCoins, msg.Migratable) + contractAddr, data, err := k.Keeper.InstantiateContract(ctx, msg.CodeID, ownerAddr, msg.InitMsg, msg.InitCoins, msg.Migratable) if err != nil { return nil, err } @@ -83,6 +83,7 @@ func (k msgServer) InstantiateContract(goCtx context.Context, msg *types.MsgInst return &types.MsgInstantiateContractResponse{ ContractAddress: contractAddr.String(), + Data: data, }, nil } diff --git a/x/wasm/keeper/params.go b/x/wasm/keeper/params.go index d266f7c01..86120b1b1 100644 --- a/x/wasm/keeper/params.go +++ b/x/wasm/keeper/params.go @@ -24,6 +24,18 @@ func (k Keeper) MaxContractMsgSize(ctx sdk.Context) (res uint64) { return } +// MaxContractDataSize defines maximum bytes size of returned data +func (k Keeper) MaxContractDataSize(ctx sdk.Context) (res uint64) { + k.paramSpace.Get(ctx, types.KeyMaxContractDataSize, &res) + return +} + +// EventParams defines event related params +func (k Keeper) EventParams(ctx sdk.Context) (res types.EventParams) { + k.paramSpace.Get(ctx, types.KeyEventParams, &res) + return +} + // GetParams returns the total set of oracle parameters. func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { k.paramSpace.GetParamSet(ctx, ¶ms) diff --git a/x/wasm/keeper/querier_test.go b/x/wasm/keeper/querier_test.go index cb3870375..3e9ca37a7 100644 --- a/x/wasm/keeper/querier_test.go +++ b/x/wasm/keeper/querier_test.go @@ -4,13 +4,8 @@ import ( "encoding/json" "fmt" "io/ioutil" - "os" "testing" - "github.com/spf13/viper" - - "github.com/cosmos/cosmos-sdk/client/flags" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/terra-project/core/x/wasm/types" @@ -19,11 +14,6 @@ import ( ) func TestQueryContractState(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input := CreateTestInput(t) goCtx := sdk.WrapSDKContext(input.Ctx) ctx, accKeeper, bankKeeper, keeper := input.Ctx, input.AccKeeper, input.BankKeeper, input.WasmKeeper @@ -33,21 +23,21 @@ func TestQueryContractState(t *testing.T) { creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) anyAddr := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) require.NoError(t, err) _, _, bob := keyPubAddr() - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: anyAddr, Beneficiary: bob, } initMsgBz, err := json.Marshal(initMsg) require.NoError(t, err) - addr, err := keeper.InstantiateContract(ctx, contractID, creator, initMsgBz, deposit, true) + addr, _, err := keeper.InstantiateContract(ctx, contractID, creator, initMsgBz, deposit, true) require.NoError(t, err) contractModel := []types.Model{ diff --git a/x/wasm/keeper/recursive_test.go b/x/wasm/keeper/recursive_test.go index c46be6807..480a3e77e 100644 --- a/x/wasm/keeper/recursive_test.go +++ b/x/wasm/keeper/recursive_test.go @@ -3,17 +3,14 @@ package keeper import ( "encoding/json" "io/ioutil" - "os" "testing" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" - "github.com/spf13/viper" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" - "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerror "github.com/cosmos/cosmos-sdk/types/errors" @@ -53,7 +50,7 @@ func newWasmQuerierWithCounter(keeper Keeper) wasmQuerierWithCounter { } // Query increase counter and execute real querier -func (querier wasmQuerierWithCounter) Query(ctx sdk.Context, request wasmTypes.QueryRequest) ([]byte, error) { +func (querier wasmQuerierWithCounter) Query(ctx sdk.Context, request wasmvmtypes.QueryRequest) ([]byte, error) { totalWasmQueryCounter++ return querier.real.Query(ctx, request) } @@ -66,24 +63,18 @@ func (wasmQuerierWithCounter) QueryCustom(sdk.Context, json.RawMessage) ([]byte, // number os wasm queries called from a contract var totalWasmQueryCounter int -func initRecurseContract(t *testing.T) (contract sdk.AccAddress, creator sdk.AccAddress, ctx sdk.Context, keeper Keeper, cdc *codec.LegacyAmino, cleanup func()) { - // we do one basic setup before all test cases (which are read-only and don't change state) - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - viper.Set(flags.FlagHome, tempDir) - cleanup = func() { os.RemoveAll(tempDir) } - +func initRecurseContract(t *testing.T) (contract sdk.AccAddress, creator sdk.AccAddress, ctx sdk.Context, keeper Keeper, cdc *codec.LegacyAmino) { input := CreateTestInput(t) ctx, cdc, accKeeper, bankKeeper, keeper := input.Ctx, input.Cdc, input.AccKeeper, input.BankKeeper, input.WasmKeeper keeper.RegisterQueriers(map[string]types.WasmQuerierInterface{ types.WasmQueryRouteWasm: newWasmQuerierWithCounter(keeper), - }) + }, nil) deposit := sdk.NewCoins(sdk.NewInt64Coin("denom", 100000)) creator = createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) // store the code - wasmCode, err := ioutil.ReadFile("./testdata/contract.wasm") + wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) require.NoError(t, err) @@ -91,26 +82,26 @@ func initRecurseContract(t *testing.T) (contract sdk.AccAddress, creator sdk.Acc // instantiate the contract _, _, bob := keyPubAddr() _, _, fred := keyPubAddr() - initMsg := InitMsg{ + initMsg := HackatomExampleInitMsg{ Verifier: fred, Beneficiary: bob, } initMsgBz, err := json.Marshal(initMsg) require.NoError(t, err) - contractAddr, err := keeper.InstantiateContract(ctx, codeID, creator, initMsgBz, deposit, false) + contractAddr, _, err := keeper.InstantiateContract(ctx, codeID, creator, initMsgBz, deposit, false) require.NoError(t, err) - return contractAddr, creator, ctx, keeper, cdc, cleanup + return contractAddr, creator, ctx, keeper, cdc } func TestGasCostOnQuery(t *testing.T) { - GasNoWork := types.InstanceCost + 4_341 - // Note: about 100 SDK gas (10k wasmer gas) for each round of sha256 - GasWork50 := GasNoWork + 5_708 // this is a little shy of 50k gas - to keep an eye on the limit + GasNoWork := types.InstanceCost + 4_384 + // Note: about 100 SDK gas (10k wasmVM gas) for each round of sha256 + GasWork50 := GasNoWork + 5_692 // this is a little shy of 50k gas - to keep an eye on the limit const ( - GasReturnUnhashed uint64 = 647 - GasReturnHashed uint64 = 597 + GasReturnUnhashed uint64 = 283 + GasReturnHashed uint64 = 257 ) cases := map[string]struct { @@ -151,13 +142,12 @@ func TestGasCostOnQuery(t *testing.T) { Depth: 4, Work: 50, }, - // this is (currently) 244_708 gas - expectedGas: 5*GasWork50 + 4*GasReturnHashed, + // NOTE: +6 for rounding issues + expectedGas: 5*GasWork50 + 4*GasReturnHashed - 6, }, } - contractAddr, creator, ctx, keeper, _, cleanup := initRecurseContract(t) - defer cleanup() + contractAddr, creator, ctx, keeper, _ := initRecurseContract(t) for name, tc := range cases { t.Run(name, func(t *testing.T) { @@ -192,9 +182,9 @@ func TestGasCostOnQuery(t *testing.T) { } func TestGasOnExternalQuery(t *testing.T) { - GasNoWork := types.InstanceCost + 4_341 - // Note: about 100 SDK gas (10k wasmer gas) for each round of sha256 - GasWork50 := GasNoWork + 5_708 // this is a little shy of 50k gas - to keep an eye on the limit + GasNoWork := types.InstanceCost + 4_384 + // Note: about 100 SDK gas (10k wasmVM gas) for each round of sha256 + GasWork50 := GasNoWork + 5_692 // this is a little shy of 50k gas - to keep an eye on the limit cases := map[string]struct { gasLimit uint64 @@ -233,8 +223,7 @@ func TestGasOnExternalQuery(t *testing.T) { }, } - contractAddr, _, ctx, keeper, cdc, cleanup := initRecurseContract(t) - defer cleanup() + contractAddr, _, ctx, keeper, cdc := initRecurseContract(t) for name, tc := range cases { t.Run(name, func(t *testing.T) { @@ -271,11 +260,11 @@ func TestLimitRecursiveQueryGas(t *testing.T) { // This attack would allow us to use far more than the provided gas before // eventually hitting an OutOfGas panic. - GasNoWork := types.InstanceCost + 4_341 - GasWork2k := GasNoWork + 230_623 + GasNoWork := types.InstanceCost + 4_384 + GasWork2k := GasNoWork + 229_495 // This is overhead for calling into a sub-contract - const GasReturnHashed uint64 = 603 + const GasReturnHashed uint64 = 261 cases := map[string]struct { gasLimit uint64 @@ -300,7 +289,8 @@ func TestLimitRecursiveQueryGas(t *testing.T) { Work: 2000, }, expectQueriesFromContract: 5, - expectedGas: GasWork2k + 5*(GasWork2k+GasReturnHashed), + // NOTE: +2 for rounding issues + expectedGas: GasWork2k + 5*(GasWork2k+GasReturnHashed) + 2, }, // this is where we expect an error... // it has enough gas to run 4 times and die on the 5th (4th time dispatching to sub-contract) @@ -317,8 +307,7 @@ func TestLimitRecursiveQueryGas(t *testing.T) { }, } - contractAddr, _, ctx, keeper, _, cleanup := initRecurseContract(t) - defer cleanup() + contractAddr, _, ctx, keeper, _ := initRecurseContract(t) for name, tc := range cases { t.Run(name, func(t *testing.T) { diff --git a/x/wasm/keeper/reflect_test.go b/x/wasm/keeper/reflect_test.go new file mode 100644 index 000000000..f15256b32 --- /dev/null +++ b/x/wasm/keeper/reflect_test.go @@ -0,0 +1,657 @@ +package keeper + +import ( + "encoding/json" + "io/ioutil" + "strings" + "testing" + + "github.com/golang/protobuf/proto" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + core "github.com/terra-project/core/types" + "github.com/terra-project/core/x/wasm/types" + + wasmvmtypes "github.com/CosmWasm/wasmvm/types" + + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" + bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" +) + +// ReflectInitMsg is {} + +// ReflectHandleMsg is used to encode handle messages +type ReflectHandleMsg struct { + Reflect *reflectPayload `json:"reflect_msg,omitempty"` + ReflectSubCall *reflectSubPayload `json:"reflect_sub_call,omitempty"` + Change *ownerPayload `json:"change_owner,omitempty"` +} + +type ownerPayload struct { + Owner sdk.Address `json:"owner"` +} + +type reflectPayload struct { + Msgs []wasmvmtypes.CosmosMsg `json:"msgs"` +} + +type reflectSubPayload struct { + Msgs []wasmvmtypes.SubMsg `json:"msgs"` +} + +// ReflectQueryMsg is used to encode query messages +type ReflectQueryMsg struct { + Owner *struct{} `json:"owner,omitempty"` + Capitalized *Text `json:"capitalized,omitempty"` + Chain *ChainQuery `json:"chain,omitempty"` + SubCallResult *SubCall `json:"sub_call_result,omitempty"` +} + +type ChainQuery struct { + Request *wasmvmtypes.QueryRequest `json:"request,omitempty"` +} + +type Text struct { + Text string `json:"text"` +} + +type SubCall struct { + ID uint64 `json:"id"` +} + +type OwnerResponse struct { + Owner string `json:"owner,omitempty"` +} + +type ChainResponse struct { + Data []byte `json:"data,omitempty"` +} + +func buildReflectQuery(t *testing.T, query *ReflectQueryMsg) []byte { + bz, err := json.Marshal(query) + require.NoError(t, err) + return bz +} + +func mustParse(t *testing.T, data []byte, res interface{}) { + err := json.Unmarshal(data, res) + require.NoError(t, err) +} + +const ReflectFeatures = "staking,reflect,stargate" + +func TestReflectReflectContractSend(t *testing.T) { + input := CreateTestInput(t) + ctx, accKeeper, bankKeeper, keeper := input.Ctx, input.AccKeeper, input.BankKeeper, input.WasmKeeper + + deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) + creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) + _, _, bob := keyPubAddr() + + // upload reflect code + reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + require.NoError(t, err) + reflectID, err := keeper.StoreCode(ctx, creator, reflectCode) + require.NoError(t, err) + require.Equal(t, uint64(1), reflectID) + + // upload hackatom escrow code + escrowCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + require.NoError(t, err) + escrowID, err := keeper.StoreCode(ctx, creator, escrowCode) + require.NoError(t, err) + require.Equal(t, uint64(2), escrowID) + + // creator instantiates a contract and gives it tokens + reflectStart := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 40000)) + reflectAddr, _, err := keeper.InstantiateContract(ctx, reflectID, creator, []byte("{}"), reflectStart, true) + require.NoError(t, err) + require.NotEmpty(t, reflectAddr) + + // now we set contract as verifier of an escrow + initMsg := HackatomExampleInitMsg{ + Verifier: reflectAddr, + Beneficiary: bob, + } + initMsgBz, err := json.Marshal(initMsg) + require.NoError(t, err) + escrowStart := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 25000)) + escrowAddr, _, err := keeper.InstantiateContract(ctx, escrowID, creator, initMsgBz, escrowStart, true) + require.NoError(t, err) + require.NotEmpty(t, escrowAddr) + + // let's make sure all balances make sense + checkAccount(t, ctx, accKeeper, bankKeeper, creator, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 35000))) // 100k - 40k - 25k + checkAccount(t, ctx, accKeeper, bankKeeper, reflectAddr, reflectStart) + checkAccount(t, ctx, accKeeper, bankKeeper, escrowAddr, escrowStart) + checkAccount(t, ctx, accKeeper, bankKeeper, bob, nil) + + // now for the trick.... we reflect a message through the reflect to call the escrow + // we also send an additional 14k tokens there. + // this should reduce the reflect balance by 14k (to 26k) + // this 14k is added to the escrow, then the entire balance is sent to bob (total: 39k) + approveMsg := []byte(`{"release":{}}`) + msgs := []wasmvmtypes.CosmosMsg{{ + Wasm: &wasmvmtypes.WasmMsg{ + Execute: &wasmvmtypes.ExecuteMsg{ + ContractAddr: escrowAddr.String(), + Msg: approveMsg, + Send: []wasmvmtypes.Coin{{ + Denom: core.MicroLunaDenom, + Amount: "14000", + }}, + }, + }, + }} + reflectSend := ReflectHandleMsg{ + Reflect: &reflectPayload{ + Msgs: msgs, + }, + } + reflectSendBz, err := json.Marshal(reflectSend) + require.NoError(t, err) + _, err = keeper.ExecuteContract(ctx, reflectAddr, creator, reflectSendBz, nil) + require.NoError(t, err) + + // did this work??? + checkAccount(t, ctx, accKeeper, bankKeeper, creator, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 35000))) // same as before + checkAccount(t, ctx, accKeeper, bankKeeper, reflectAddr, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 26000))) // 40k - 14k (from send) + checkAccount(t, ctx, accKeeper, bankKeeper, escrowAddr, sdk.Coins{}) // emptied reserved + checkAccount(t, ctx, accKeeper, bankKeeper, bob, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 39000))) // all escrow of 25k + 14k + +} + +func TestReflectReflectCustomMsg(t *testing.T) { + input := CreateTestInput(t) + ctx, accKeeper, bankKeeper, keeper := input.Ctx, input.AccKeeper, input.BankKeeper, input.WasmKeeper + + keeper.RegisterQueriers(map[string]types.WasmQuerierInterface{ + "reflect": reflectQuerier{}, + }, nil) + keeper.RegisterMsgParsers(map[string]types.WasmMsgParserInterface{ + "reflect": reflectRawMsgParser{ + cdc: MakeTestCodec(t), + }, + }, nil) + + deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) + creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) + bob := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) + _, _, fred := keyPubAddr() + + // upload code + reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + require.NoError(t, err) + codeID, err := keeper.StoreCode(ctx, creator, reflectCode) + require.NoError(t, err) + require.Equal(t, uint64(1), codeID) + + // creator instantiates a contract and gives it tokens + contractStart := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 40000)) + contractAddr, _, err := keeper.InstantiateContract(ctx, codeID, creator, []byte("{}"), contractStart, true) + require.NoError(t, err) + require.NotEmpty(t, contractAddr) + + // set owner to bob + transfer := ReflectHandleMsg{ + Change: &ownerPayload{ + Owner: bob, + }, + } + transferBz, err := json.Marshal(transfer) + require.NoError(t, err) + _, err = keeper.ExecuteContract(ctx, contractAddr, creator, transferBz, nil) + require.NoError(t, err) + + // check some account values + checkAccount(t, ctx, accKeeper, bankKeeper, contractAddr, contractStart) + checkAccount(t, ctx, accKeeper, bankKeeper, bob, deposit) + checkAccount(t, ctx, accKeeper, bankKeeper, fred, nil) + + // bob can send contract's tokens to fred (using SendMsg) + msgs := []wasmvmtypes.CosmosMsg{{ + Bank: &wasmvmtypes.BankMsg{ + Send: &wasmvmtypes.SendMsg{ + ToAddress: fred.String(), + Amount: []wasmvmtypes.Coin{{ + Denom: core.MicroLunaDenom, + Amount: "15000", + }}, + }, + }, + }} + reflectSend := ReflectHandleMsg{ + Reflect: &reflectPayload{ + Msgs: msgs, + }, + } + reflectSendBz, err := json.Marshal(reflectSend) + require.NoError(t, err) + _, err = keeper.ExecuteContract(ctx, contractAddr, bob, reflectSendBz, nil) + require.NoError(t, err) + + // fred got coins + checkAccount(t, ctx, accKeeper, bankKeeper, fred, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 15000))) + // contract lost them + checkAccount(t, ctx, accKeeper, bankKeeper, contractAddr, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 25000))) + checkAccount(t, ctx, accKeeper, bankKeeper, bob, deposit) + + // construct an opaque message + var sdkSendMsg sdk.Msg = &banktypes.MsgSend{ + FromAddress: contractAddr.String(), + ToAddress: fred.String(), + Amount: sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 23000)), + } + + opaque, err := toMaskRawMsg(MakeTestCodec(t), sdkSendMsg) + require.NoError(t, err) + reflectOpaque := ReflectHandleMsg{ + Reflect: &reflectPayload{ + Msgs: []wasmvmtypes.CosmosMsg{opaque}, + }, + } + reflectOpaqueBz, err := json.Marshal(reflectOpaque) + require.NoError(t, err) + + _, err = keeper.ExecuteContract(ctx, contractAddr, bob, reflectOpaqueBz, nil) + require.NoError(t, err) + + // fred got more coins + checkAccount(t, ctx, accKeeper, bankKeeper, fred, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 38000))) + // contract lost them + checkAccount(t, ctx, accKeeper, bankKeeper, contractAddr, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 2000))) + checkAccount(t, ctx, accKeeper, bankKeeper, bob, deposit) +} + +func TestReflectReflectCustomQuery(t *testing.T) { + input := CreateTestInput(t) + ctx, accKeeper, bankKeeper, keeper := input.Ctx, input.AccKeeper, input.BankKeeper, input.WasmKeeper + + keeper.RegisterQueriers(map[string]types.WasmQuerierInterface{ + "reflect": reflectQuerier{}, + }, nil) + keeper.RegisterMsgParsers(map[string]types.WasmMsgParserInterface{ + "reflect": reflectRawMsgParser{ + cdc: MakeTestCodec(t), + }, + }, nil) + + deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) + creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) + + // upload code + reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + require.NoError(t, err) + codeID, err := keeper.StoreCode(ctx, creator, reflectCode) + require.NoError(t, err) + require.Equal(t, uint64(1), codeID) + + // creator instantiates a contract and gives it tokens + contractStart := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 40000)) + contractAddr, _, err := keeper.InstantiateContract(ctx, codeID, creator, []byte("{}"), contractStart, true) + require.NoError(t, err) + require.NotEmpty(t, contractAddr) + + // let's perform a normal query of state + ownerQuery := ReflectQueryMsg{ + Owner: &struct{}{}, + } + ownerQueryBz, err := json.Marshal(ownerQuery) + require.NoError(t, err) + ownerRes, err := keeper.queryToContract(ctx, contractAddr, ownerQueryBz) + require.NoError(t, err) + var res OwnerResponse + err = json.Unmarshal(ownerRes, &res) + require.NoError(t, err) + assert.Equal(t, res.Owner, creator.String()) + + // and now making use of the custom querier callbacks + customQuery := ReflectQueryMsg{ + Capitalized: &Text{ + Text: "all Caps noW", + }, + } + customQueryBz, err := json.Marshal(customQuery) + require.NoError(t, err) + custom, err := keeper.queryToContract(ctx, contractAddr, customQueryBz) + require.NoError(t, err) + var resp capitalizedResponse + err = json.Unmarshal(custom, &resp) + require.NoError(t, err) + assert.Equal(t, resp.Text, "ALL CAPS NOW") +} + +func TestReflectStargateQuery(t *testing.T) { + input := CreateTestInput(t) + ctx, accKeeper, keeper, bankKeeper := input.Ctx, input.AccKeeper, input.WasmKeeper, input.BankKeeper + + funds := sdk.NewCoins(sdk.NewInt64Coin("denom", 320000)) + contractStart := sdk.NewCoins(sdk.NewInt64Coin("denom", 40000)) + expectedBalance := funds.Sub(contractStart) + creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, funds) + + // upload code + reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + require.NoError(t, err) + codeID, err := keeper.StoreCode(ctx, creator, reflectCode) + require.NoError(t, err) + require.Equal(t, uint64(1), codeID) + + // creator instantiates a contract and gives it tokens + contractAddr, _, err := keeper.InstantiateContract(ctx, codeID, creator, []byte("{}"), contractStart, false) + require.NoError(t, err) + require.NotEmpty(t, contractAddr) + + // first, normal query for the bank balance (to make sure our query is proper) + bankQuery := wasmvmtypes.QueryRequest{ + Bank: &wasmvmtypes.BankQuery{ + AllBalances: &wasmvmtypes.AllBalancesQuery{ + Address: creator.String(), + }, + }, + } + simpleQueryBz, err := json.Marshal(ReflectQueryMsg{ + Chain: &ChainQuery{Request: &bankQuery}, + }) + require.NoError(t, err) + simpleRes, err := keeper.queryToContract(ctx, contractAddr, simpleQueryBz) + require.NoError(t, err) + var simpleChain ChainResponse + mustParse(t, simpleRes, &simpleChain) + var simpleBalance wasmvmtypes.AllBalancesResponse + mustParse(t, simpleChain.Data, &simpleBalance) + require.Equal(t, len(expectedBalance), len(simpleBalance.Amount)) + assert.Equal(t, expectedBalance[0].Amount.String(), simpleBalance.Amount[0].Amount) + assert.Equal(t, expectedBalance[0].Denom, simpleBalance.Amount[0].Denom) + + // now, try to build a protobuf query + protoQuery := banktypes.QueryAllBalancesRequest{ + Address: creator.String(), + } + protoQueryBin, err := proto.Marshal(&protoQuery) + protoRequest := wasmvmtypes.QueryRequest{ + Stargate: &wasmvmtypes.StargateQuery{ + Path: "/cosmos.bank.v1beta1.Query/AllBalances", + Data: protoQueryBin, + }, + } + protoQueryBz, err := json.Marshal(ReflectQueryMsg{ + Chain: &ChainQuery{Request: &protoRequest}, + }) + require.NoError(t, err) + + // make a query on the chain + protoRes, err := keeper.queryToContract(ctx, contractAddr, protoQueryBz) + require.NoError(t, err) + var protoChain ChainResponse + mustParse(t, protoRes, &protoChain) + + // unmarshal raw protobuf response + var protoResult banktypes.QueryAllBalancesResponse + err = proto.Unmarshal(protoChain.Data, &protoResult) + require.NoError(t, err) + assert.Equal(t, expectedBalance, protoResult.Balances) +} + +type reflectState struct { + Owner string `json:"owner"` +} + +func TestMaskReflectWasmQueries(t *testing.T) { + input := CreateTestInput(t) + ctx, accKeeper, keeper, bankKeeper := input.Ctx, input.AccKeeper, input.WasmKeeper, input.BankKeeper + + deposit := sdk.NewCoins(sdk.NewInt64Coin("denom", 100000)) + creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) + + // upload reflect code + reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + require.NoError(t, err) + reflectID, err := keeper.StoreCode(ctx, creator, reflectCode) + require.NoError(t, err) + require.Equal(t, uint64(1), reflectID) + + // creator instantiates a contract and gives it tokens + reflectStart := sdk.NewCoins(sdk.NewInt64Coin("denom", 40000)) + reflectAddr, _, err := keeper.InstantiateContract(ctx, reflectID, creator, []byte("{}"), reflectStart, true) + require.NoError(t, err) + require.NotEmpty(t, reflectAddr) + + // for control, let's make some queries directly on the reflect + ownerQuery := buildReflectQuery(t, &ReflectQueryMsg{Owner: &struct{}{}}) + res, err := keeper.queryToContract(ctx, reflectAddr, ownerQuery) + require.NoError(t, err) + var ownerRes OwnerResponse + mustParse(t, res, &ownerRes) + require.Equal(t, ownerRes.Owner, creator.String()) + + // and a raw query: cosmwasm_storage::Singleton uses 2 byte big-endian length-prefixed to store data + configKey := append([]byte{0, 6}, []byte("config")...) + raw := keeper.queryToStore(ctx, reflectAddr, configKey) + var stateRes reflectState + mustParse(t, raw, &stateRes) + require.Equal(t, stateRes.Owner, creator.String()) + + // now, let's reflect a smart query into the x/wasm handlers and see if we get the same result + reflectOwnerQuery := ReflectQueryMsg{Chain: &ChainQuery{Request: &wasmvmtypes.QueryRequest{Wasm: &wasmvmtypes.WasmQuery{ + Smart: &wasmvmtypes.SmartQuery{ + ContractAddr: reflectAddr.String(), + Msg: ownerQuery, + }, + }}}} + reflectOwnerBin := buildReflectQuery(t, &reflectOwnerQuery) + res, err = keeper.queryToContract(ctx, reflectAddr, reflectOwnerBin) + require.NoError(t, err) + // first we pull out the data from chain response, before parsing the original response + var reflectRes ChainResponse + mustParse(t, res, &reflectRes) + var reflectOwnerRes OwnerResponse + mustParse(t, reflectRes.Data, &reflectOwnerRes) + require.Equal(t, reflectOwnerRes.Owner, creator.String()) + + // and with queryRaw + reflectStateQuery := ReflectQueryMsg{Chain: &ChainQuery{Request: &wasmvmtypes.QueryRequest{Wasm: &wasmvmtypes.WasmQuery{ + Raw: &wasmvmtypes.RawQuery{ + ContractAddr: reflectAddr.String(), + Key: configKey, + }, + }}}} + reflectStateBin := buildReflectQuery(t, &reflectStateQuery) + res, err = keeper.queryToContract(ctx, reflectAddr, reflectStateBin) + require.NoError(t, err) + // first we pull out the data from chain response, before parsing the original response + var reflectRawRes ChainResponse + mustParse(t, res, &reflectRawRes) + + // now, with the raw data, we can parse it into state + var reflectStateRes reflectState + mustParse(t, reflectRawRes.Data, &reflectStateRes) + require.Equal(t, reflectStateRes.Owner, creator.String()) +} + +func TestWasmRawQueryWithNil(t *testing.T) { + input := CreateTestInput(t) + ctx, accKeeper, keeper, bankKeeper := input.Ctx, input.AccKeeper, input.WasmKeeper, input.BankKeeper + + deposit := sdk.NewCoins(sdk.NewInt64Coin("denom", 100000)) + creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) + + // upload reflect code + reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + require.NoError(t, err) + reflectID, err := keeper.StoreCode(ctx, creator, reflectCode) + require.NoError(t, err) + require.Equal(t, uint64(1), reflectID) + + // creator instantiates a contract and gives it tokens + reflectStart := sdk.NewCoins(sdk.NewInt64Coin("denom", 40000)) + reflectAddr, _, err := keeper.InstantiateContract(ctx, reflectID, creator, []byte("{}"), reflectStart, true) + require.NoError(t, err) + require.NotEmpty(t, reflectAddr) + + // control: query directly + missingKey := []byte{0, 1, 2, 3, 4} + raw := keeper.queryToStore(ctx, reflectAddr, missingKey) + require.Nil(t, raw) + + // and with queryRaw + reflectQuery := ReflectQueryMsg{Chain: &ChainQuery{Request: &wasmvmtypes.QueryRequest{Wasm: &wasmvmtypes.WasmQuery{ + Raw: &wasmvmtypes.RawQuery{ + ContractAddr: reflectAddr.String(), + Key: missingKey, + }, + }}}} + reflectStateBin := buildReflectQuery(t, &reflectQuery) + res, err := keeper.queryToContract(ctx, reflectAddr, reflectStateBin) + require.NoError(t, err) + + // first we pull out the data from chain response, before parsing the original response + var reflectRawRes ChainResponse + mustParse(t, res, &reflectRawRes) + // and make sure there is no data + require.Empty(t, reflectRawRes.Data) + // we get an empty byte slice not nil (if anyone care in go-land) + require.Equal(t, []byte{}, reflectRawRes.Data) +} + +func checkAccount(t *testing.T, ctx sdk.Context, accKeeper authkeeper.AccountKeeper, bankKeeper bankkeeper.Keeper, addr sdk.AccAddress, expected sdk.Coins) { + acct := accKeeper.GetAccount(ctx, addr) + if expected == nil { + assert.Nil(t, acct) + } else { + assert.NotNil(t, acct) + + balance := bankKeeper.GetAllBalances(ctx, addr) + if expected.Empty() { + // there is confusion between nil and empty slice... let's just treat them the same + assert.True(t, balance.Empty()) + } else { + assert.Equal(t, expected, balance) + } + } +} + +/**** Code to support custom messages *****/ +type reflectCustomMsg struct { + Debug string `json:"debug,omitempty"` + Raw []byte `json:"raw,omitempty"` +} + +// toMaskRawMsg encodes an sdk msg using amino json encoding. +// Then wraps it as an opaque message +func toMaskRawMsg(cdc codec.Marshaler, msg sdk.Msg) (wasmvmtypes.CosmosMsg, error) { + any, err := codectypes.NewAnyWithValue(msg) + if err != nil { + return wasmvmtypes.CosmosMsg{}, err + } + rawBz, err := cdc.MarshalJSON(any) + if err != nil { + return wasmvmtypes.CosmosMsg{}, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) + } + + customMsgData, err := json.Marshal(reflectCustomMsg{Raw: rawBz}) + if err != nil { + return wasmvmtypes.CosmosMsg{}, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) + } + + customMsg, err := json.Marshal(types.WasmCustomMsg{ + Route: "reflect", + MsgData: customMsgData, + }) + if err != nil { + return wasmvmtypes.CosmosMsg{}, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) + } + + res := wasmvmtypes.CosmosMsg{ + Custom: customMsg, + } + return res, nil +} + +// reflectRawMsgParser decodes msg.Data to an sdk.Msg using amino json encoding. +// this needs to be registered on the Encoders +type reflectRawMsgParser struct { + cdc codec.Marshaler +} + +var _ types.WasmMsgParserInterface = reflectRawMsgParser{} + +func (p reflectRawMsgParser) Parse(_sender sdk.AccAddress, msg wasmvmtypes.CosmosMsg) (sdk.Msg, error) { + return nil, nil +} + +func (p reflectRawMsgParser) ParseCustom(_sender sdk.AccAddress, msg json.RawMessage) (sdk.Msg, error) { + var custom reflectCustomMsg + err := json.Unmarshal(msg, &custom) + if err != nil { + return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) + } + if custom.Raw != nil { + var any codectypes.Any + if err := p.cdc.UnmarshalJSON(custom.Raw, &any); err != nil { + return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) + } + var msg sdk.Msg + if err := p.cdc.UnpackAny(&any, &msg); err != nil { + return nil, err + } + return msg, nil + } + if custom.Debug != "" { + return nil, sdkerrors.Wrapf(types.ErrInvalidMsg, "Custom Debug: %s", custom.Debug) + } + return nil, sdkerrors.Wrap(types.ErrInvalidMsg, "Unknown Custom message variant") +} + +type reflectQuerier struct{} + +type reflectCustomQuery struct { + Ping *struct{} `json:"ping,omitempty"` + Capitalized *Text `json:"capitalized,omitempty"` +} + +var _ types.WasmQuerierInterface = reflectQuerier{} + +// this is from the go code back to the contract (capitalized or ping) +type customQueryResponse struct { + Msg string `json:"msg"` +} + +// these are the return values from contract -> go depending on type of query +type ownerResponse struct { + Owner string `json:"owner"` +} + +type capitalizedResponse struct { + Text string `json:"text"` +} + +type chainResponse struct { + Data []byte `json:"data"` +} + +func (reflectQuerier) Query(_ sdk.Context, _ wasmvmtypes.QueryRequest) ([]byte, error) { + return nil, nil +} + +func (reflectQuerier) QueryCustom(_ sdk.Context, request json.RawMessage) ([]byte, error) { + var custom reflectCustomQuery + err := json.Unmarshal(request, &custom) + if err != nil { + return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) + } + if custom.Capitalized != nil { + msg := strings.ToUpper(custom.Capitalized.Text) + return json.Marshal(customQueryResponse{Msg: msg}) + } + if custom.Ping != nil { + return json.Marshal(customQueryResponse{Msg: "pong"}) + } + return nil, sdkerrors.Wrap(types.ErrInvalidMsg, "Unknown Custom query variant") +} diff --git a/x/wasm/keeper/staking_test.go b/x/wasm/keeper/staking_test.go index 637a102d5..107f33ce6 100644 --- a/x/wasm/keeper/staking_test.go +++ b/x/wasm/keeper/staking_test.go @@ -3,12 +3,10 @@ package keeper import ( "encoding/json" "io/ioutil" - "os" "testing" "github.com/tendermint/tendermint/crypto/secp256k1" - "github.com/cosmos/cosmos-sdk/client/flags" codectypes "github.com/cosmos/cosmos-sdk/codec/types" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/simapp" @@ -21,10 +19,11 @@ import ( stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/spf13/viper" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" + core "github.com/terra-project/core/types" ) @@ -97,11 +96,6 @@ type InvestmentResponse struct { } func TestInitializeStaking(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input := CreateTestInput(t) ctx, accKeeper, bankKeeper, stakingKeeper, keeper := input.Ctx, input.AccKeeper, input.BankKeeper, input.StakingKeeper, input.WasmKeeper @@ -114,7 +108,7 @@ func TestInitializeStaking(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 500000)) creatorAddr := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - // upload staking derivates code + // upload staking derivative code stakingCode, err := ioutil.ReadFile("./testdata/staking.wasm") require.NoError(t, err) stakingID, err := keeper.StoreCode(ctx, creatorAddr, stakingCode) @@ -133,7 +127,7 @@ func TestInitializeStaking(t *testing.T) { initBz, err := json.Marshal(&initMsg) require.NoError(t, err) - stakingAddr, err := keeper.InstantiateContract(ctx, stakingID, creatorAddr, initBz, nil, true) + stakingAddr, _, err := keeper.InstantiateContract(ctx, stakingID, creatorAddr, initBz, nil, true) require.NoError(t, err) require.NotEmpty(t, stakingAddr) @@ -153,7 +147,7 @@ func TestInitializeStaking(t *testing.T) { badBz, err := json.Marshal(&badInitMsg) require.NoError(t, err) - _, err = keeper.InstantiateContract(ctx, stakingID, creatorAddr, badBz, nil, true) + _, _, err = keeper.InstantiateContract(ctx, stakingID, creatorAddr, badBz, nil, true) require.Error(t, err) // no changes to bonding shares @@ -182,7 +176,7 @@ func initializeStaking(t *testing.T, input TestInput) InitInfo { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 500000)) creatorAddr := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - // upload staking derivates code + // upload staking derivative code stakingCode, err := ioutil.ReadFile("./testdata/staking.wasm") require.NoError(t, err) stakingID, err := keeper.StoreCode(ctx, creatorAddr, stakingCode) @@ -201,7 +195,7 @@ func initializeStaking(t *testing.T, input TestInput) InitInfo { initBz, err := json.Marshal(&initMsg) require.NoError(t, err) - stakingAddr, err := keeper.InstantiateContract(ctx, stakingID, creatorAddr, initBz, nil, true) + stakingAddr, _, err := keeper.InstantiateContract(ctx, stakingID, creatorAddr, initBz, nil, true) require.NoError(t, err) require.NotEmpty(t, stakingAddr) @@ -209,11 +203,6 @@ func initializeStaking(t *testing.T, input TestInput) InitInfo { } func TestBonding(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input := CreateTestInput(t) initInfo := initializeStaking(t, input) @@ -264,11 +253,6 @@ func TestBonding(t *testing.T) { } func TestUnbonding(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input := CreateTestInput(t) initInfo := initializeStaking(t, input) @@ -336,15 +320,10 @@ func TestUnbonding(t *testing.T) { } func TestReinvest(t *testing.T) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - defer os.RemoveAll(tempDir) - viper.Set(flags.FlagHome, tempDir) - input := CreateTestInput(t) initInfo := initializeStaking(t, input) - ctx, accKeeper, bankKeeper, stakingKeeper, keeper := input.Ctx, input.AccKeeper, input.BankKeeper, input.StakingKeeper, input.WasmKeeper + ctx, accKeeper, bankKeeper, stakingKeeper, distrKeeper, keeper := input.Ctx, input.AccKeeper, input.BankKeeper, input.StakingKeeper, input.DistributionKeeper, input.WasmKeeper valAddr, contractAddr, creatorAddr := initInfo.valAddr, initInfo.contractAddr, initInfo.creatorAddr // initial checks of bonding state @@ -370,10 +349,10 @@ func TestReinvest(t *testing.T) { // update height a bit to solidify the delegation ctx = nextBlock(ctx, stakingKeeper) + // we get 1/6, our share should be 40k minus 10% commission = 36k - setValidatorRewards( - ctx, accKeeper, bankKeeper, stakingKeeper, input.DistributionKeeper, valAddr, - sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 240000))) + reward := sdk.NewInt64Coin(core.MicroLunaDenom, 240000) + setValidatorRewards(ctx, accKeeper, bankKeeper, stakingKeeper, distrKeeper, valAddr, reward) // this should withdraw our outstanding 40k of rewards and reinvest them in the same delegation reinvest := StakingHandleMsg{ @@ -385,7 +364,6 @@ func TestReinvest(t *testing.T) { require.NoError(t, err) // check some account values - the money is on neither account (cuz it is bonded) - // Note: why is this immediate? just test setup? checkAccount(t, ctx, accKeeper, bankKeeper, contractAddr, sdk.Coins{}) checkAccount(t, ctx, accKeeper, bankKeeper, bob, funds) @@ -411,6 +389,150 @@ func TestReinvest(t *testing.T) { assertSupply(t, ctx, keeper, contractAddr, "200000", sdk.NewInt64Coin(core.MicroLunaDenom, 236000)) } +func TestQueryStakingInfo(t *testing.T) { + // STEP 1: take a lot of setup from TestReinvest so we have non-zero info + input := CreateTestInput(t) + initInfo := initializeStaking(t, input) + ctx, valAddr, contractAddr := input.Ctx, initInfo.valAddr, initInfo.contractAddr + keeper, bankKeeper, stakingKeeper, accKeeper, distKeeper := input.WasmKeeper, input.BankKeeper, input.StakingKeeper, input.AccKeeper, input.DistributionKeeper + + // initial checks of bonding state + val, found := stakingKeeper.GetValidator(ctx, valAddr) + require.True(t, found) + assert.Equal(t, sdk.NewInt(1000000), val.Tokens) + + // full is 2x funds, 1x goes to the contract, other stays on his wallet + full := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 400000)) + funds := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 200000)) + bob := createFakeFundedAccount(ctx, accKeeper, bankKeeper, full) + + // we will stake 200k to a validator with 1M self-bond + // this means we should get 1/6 of the rewards + bond := StakingHandleMsg{ + Bond: &struct{}{}, + } + bondBz, err := json.Marshal(bond) + require.NoError(t, err) + _, err = keeper.ExecuteContract(ctx, contractAddr, bob, bondBz, funds) + require.NoError(t, err) + + // update height a bit to solidify the delegation + ctx = nextBlock(ctx, stakingKeeper) + // we get 1/6, our share should be 40k minus 10% commission = 36k + setValidatorRewards(ctx, accKeeper, bankKeeper, + stakingKeeper, distKeeper, valAddr, + sdk.NewInt64Coin(core.MicroLunaDenom, 240000)) + + // see what the current rewards are + origReward := distKeeper.GetValidatorCurrentRewards(ctx, valAddr) + + // STEP 2: Prepare the mask contract + deposit := sdk.NewCoins(sdk.NewInt64Coin("denom", 100000)) + creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) + + // upload mask code + maskCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + require.NoError(t, err) + maskID, err := keeper.StoreCode(ctx, creator, maskCode) + require.NoError(t, err) + require.Equal(t, uint64(2), maskID) + + // creator instantiates a contract and gives it tokens + maskAddr, _, err := keeper.InstantiateContract(ctx, maskID, creator, []byte("{}"), nil, true) + require.NoError(t, err) + require.NotEmpty(t, maskAddr) + + // STEP 3: now, let's reflect some queries. + // let's get the bonded denom + reflectBondedQuery := ReflectQueryMsg{Chain: &ChainQuery{Request: &wasmvmtypes.QueryRequest{Staking: &wasmvmtypes.StakingQuery{ + BondedDenom: &struct{}{}, + }}}} + reflectBondedBin := buildReflectQuery(t, &reflectBondedQuery) + res, err := keeper.queryToContract(ctx, maskAddr, reflectBondedBin) + require.NoError(t, err) + // first we pull out the data from chain response, before parsing the original response + var reflectRes ChainResponse + mustParse(t, res, &reflectRes) + var bondedRes wasmvmtypes.BondedDenomResponse + mustParse(t, reflectRes.Data, &bondedRes) + assert.Equal(t, core.MicroLunaDenom, bondedRes.Denom) + + // now, let's reflect a smart query into the x/wasm handlers and see if we get the same result + reflectValidatorsQuery := ReflectQueryMsg{Chain: &ChainQuery{Request: &wasmvmtypes.QueryRequest{Staking: &wasmvmtypes.StakingQuery{ + Validators: &wasmvmtypes.ValidatorsQuery{}, + }}}} + reflectValidatorsBin := buildReflectQuery(t, &reflectValidatorsQuery) + res, err = keeper.queryToContract(ctx, maskAddr, reflectValidatorsBin) + require.NoError(t, err) + // first we pull out the data from chain response, before parsing the original response + mustParse(t, res, &reflectRes) + var validatorRes wasmvmtypes.ValidatorsResponse + mustParse(t, reflectRes.Data, &validatorRes) + require.Len(t, validatorRes.Validators, 1) + valInfo := validatorRes.Validators[0] + // Note: this ValAddress not AccAddress, may change with #264 + require.Equal(t, valAddr.String(), valInfo.Address) + require.Contains(t, valInfo.Commission, "0.100") + require.Contains(t, valInfo.MaxCommission, "0.200") + require.Contains(t, valInfo.MaxChangeRate, "0.010") + + // test to get all my delegations + reflectAllDelegationsQuery := ReflectQueryMsg{Chain: &ChainQuery{Request: &wasmvmtypes.QueryRequest{Staking: &wasmvmtypes.StakingQuery{ + AllDelegations: &wasmvmtypes.AllDelegationsQuery{ + Delegator: contractAddr.String(), + }, + }}}} + reflectAllDelegationsBin := buildReflectQuery(t, &reflectAllDelegationsQuery) + res, err = keeper.queryToContract(ctx, maskAddr, reflectAllDelegationsBin) + require.NoError(t, err) + // first we pull out the data from chain response, before parsing the original response + mustParse(t, res, &reflectRes) + var allDelegationsRes wasmvmtypes.AllDelegationsResponse + mustParse(t, reflectRes.Data, &allDelegationsRes) + require.Len(t, allDelegationsRes.Delegations, 1) + delInfo := allDelegationsRes.Delegations[0] + // Note: this ValAddress not AccAddress, may change with #264 + require.Equal(t, valAddr.String(), delInfo.Validator) + // note this is not bob (who staked to the contract), but the contract itself + require.Equal(t, contractAddr.String(), delInfo.Delegator) + // this is a different Coin type, with String not BigInt, compare field by field + require.Equal(t, funds[0].Denom, delInfo.Amount.Denom) + require.Equal(t, funds[0].Amount.String(), delInfo.Amount.Amount) + + // test to get one delegations + reflectDelegationQuery := ReflectQueryMsg{Chain: &ChainQuery{Request: &wasmvmtypes.QueryRequest{Staking: &wasmvmtypes.StakingQuery{ + Delegation: &wasmvmtypes.DelegationQuery{ + Validator: valAddr.String(), + Delegator: contractAddr.String(), + }, + }}}} + reflectDelegationBin := buildReflectQuery(t, &reflectDelegationQuery) + res, err = keeper.queryToContract(ctx, maskAddr, reflectDelegationBin) + require.NoError(t, err) + // first we pull out the data from chain response, before parsing the original response + mustParse(t, res, &reflectRes) + var delegationRes wasmvmtypes.DelegationResponse + mustParse(t, reflectRes.Data, &delegationRes) + assert.NotEmpty(t, delegationRes.Delegation) + delInfo2 := delegationRes.Delegation + // Note: this ValAddress not AccAddress, may change with #264 + require.Equal(t, valAddr.String(), delInfo2.Validator) + // note this is not bob (who staked to the contract), but the contract itself + require.Equal(t, contractAddr.String(), delInfo2.Delegator) + // this is a different Coin type, with String not BigInt, compare field by field + require.Equal(t, funds[0].Denom, delInfo2.Amount.Denom) + require.Equal(t, funds[0].Amount.String(), delInfo2.Amount.Amount) + + require.Equal(t, wasmvmtypes.NewCoin(200000, core.MicroLunaDenom), delInfo2.CanRedelegate) + require.Len(t, delInfo2.AccumulatedRewards, 1) + // see bonding above to see how we calculate 36000 (240000 / 6 - 10% commission) + require.Equal(t, wasmvmtypes.NewCoin(36000, core.MicroLunaDenom), delInfo2.AccumulatedRewards[0]) + + // ensure rewards did not change when querying (neither amount nor period) + finalReward := distKeeper.GetValidatorCurrentRewards(ctx, valAddr) + require.Equal(t, origReward, finalReward) +} + // adds a few validators and returns a list of validators that are registered func addValidator( ctx sdk.Context, @@ -465,7 +587,7 @@ func setValidatorRewards( bankKeeper bankkeeper.Keeper, stakingKeeper stakingkeeper.Keeper, distKeeper distrkeeper.Keeper, - valAddr sdk.ValAddress, rewards sdk.Coins) { + valAddr sdk.ValAddress, rewards ...sdk.Coin) { // allocate some rewards validator := stakingKeeper.Validator(ctx, valAddr) diff --git a/x/wasm/keeper/submsg_test.go b/x/wasm/keeper/submsg_test.go new file mode 100644 index 000000000..8d191b929 --- /dev/null +++ b/x/wasm/keeper/submsg_test.go @@ -0,0 +1,515 @@ +package keeper + +import ( + "encoding/json" + "io/ioutil" + "strconv" + "testing" + + "github.com/golang/protobuf/proto" + "github.com/stretchr/testify/assert" + + wasmvmtypes "github.com/CosmWasm/wasmvm/types" + "github.com/stretchr/testify/require" + + sdk "github.com/cosmos/cosmos-sdk/types" + + core "github.com/terra-project/core/types" + "github.com/terra-project/core/x/wasm/types" +) + +// test handing of submessages, very closely related to the reflect_test + +// Try a simple send, no gas limit to for a sanity check before trying table tests +func TestDispatchSubMsgSuccessCase(t *testing.T) { + input := CreateTestInput(t) + ctx, accKeeper, keeper, bankKeeper := input.Ctx, input.AccKeeper, input.WasmKeeper, input.BankKeeper + + deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) + contractStart := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 40000)) + + creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) + creatorBalance := deposit.Sub(contractStart) + _, _, fred := keyPubAddr() + + // upload code + reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + require.NoError(t, err) + codeID, err := keeper.StoreCode(ctx, creator, reflectCode) + require.NoError(t, err) + require.Equal(t, uint64(1), codeID) + + // creator instantiates a contract and gives it tokens + contractAddr, _, err := keeper.InstantiateContract(ctx, codeID, creator, []byte("{}"), contractStart, true) + require.NoError(t, err) + require.NotEmpty(t, contractAddr) + + // check some account values + checkAccount(t, ctx, accKeeper, bankKeeper, contractAddr, contractStart) + checkAccount(t, ctx, accKeeper, bankKeeper, creator, creatorBalance) + checkAccount(t, ctx, accKeeper, bankKeeper, fred, nil) + + // creator can send contract's tokens to fred (using SendMsg) + msg := wasmvmtypes.CosmosMsg{ + Bank: &wasmvmtypes.BankMsg{ + Send: &wasmvmtypes.SendMsg{ + ToAddress: fred.String(), + Amount: []wasmvmtypes.Coin{{ + Denom: core.MicroLunaDenom, + Amount: "15000", + }}, + }, + }, + } + reflectSend := ReflectHandleMsg{ + ReflectSubCall: &reflectSubPayload{ + Msgs: []wasmvmtypes.SubMsg{{ + ID: 7, + Msg: msg, + ReplyOn: wasmvmtypes.ReplyAlways, + }}, + }, + } + reflectSendBz, err := json.Marshal(reflectSend) + require.NoError(t, err) + _, err = keeper.ExecuteContract(ctx, contractAddr, creator, reflectSendBz, nil) + require.NoError(t, err) + + // fred got coins + checkAccount(t, ctx, accKeeper, bankKeeper, fred, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 15000))) + // contract lost them + checkAccount(t, ctx, accKeeper, bankKeeper, contractAddr, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 25000))) + checkAccount(t, ctx, accKeeper, bankKeeper, creator, creatorBalance) + + // query the reflect state to ensure the result was stored + query := ReflectQueryMsg{ + SubCallResult: &SubCall{ID: 7}, + } + queryBz, err := json.Marshal(query) + require.NoError(t, err) + queryRes, err := keeper.queryToContract(ctx, contractAddr, queryBz) + require.NoError(t, err) + + var res wasmvmtypes.Reply + err = json.Unmarshal(queryRes, &res) + require.NoError(t, err) + assert.Equal(t, uint64(7), res.ID) + assert.Empty(t, res.Result.Err) + require.NotNil(t, res.Result.Ok) + sub := res.Result.Ok + assert.Empty(t, sub.Data) + require.Len(t, sub.Events, 3) + + transfer := sub.Events[0] + assert.Equal(t, "transfer", transfer.Type) + assert.Equal(t, wasmvmtypes.EventAttribute{ + Key: "recipient", + Value: fred.String(), + }, transfer.Attributes[0]) + + sender := sub.Events[1] + assert.Equal(t, "message", sender.Type) + assert.Equal(t, wasmvmtypes.EventAttribute{ + Key: "sender", + Value: contractAddr.String(), + }, sender.Attributes[0]) + + // where does this come from? + module := sub.Events[2] + assert.Equal(t, "message", module.Type) + assert.Equal(t, wasmvmtypes.EventAttribute{ + Key: "module", + Value: "bank", + }, module.Attributes[0]) + +} + +func TestDispatchSubMsgErrorHandling(t *testing.T) { + fundedDenom := core.MicroLunaDenom + fundedAmount := 1_000_000 + ctxGasLimit := uint64(1_000_000) + subGasLimit := uint64(300_000) + + // prep - create one chain and upload the code + input := CreateTestInput(t) + ctx, accKeeper, keeper, bankKeeper := input.Ctx, input.AccKeeper, input.WasmKeeper, input.BankKeeper + ctx = ctx.WithGasMeter(sdk.NewInfiniteGasMeter()) + ctx = ctx.WithBlockGasMeter(sdk.NewInfiniteGasMeter()) + + contractStart := sdk.NewCoins(sdk.NewInt64Coin(fundedDenom, int64(fundedAmount))) + uploader := createFakeFundedAccount(ctx, accKeeper, bankKeeper, contractStart.Add(contractStart...)) + + // upload code + reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + require.NoError(t, err) + reflectID, err := keeper.StoreCode(ctx, uploader, reflectCode) + require.NoError(t, err) + + // create hackatom contract for testing (for infinite loop) + hackatomCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + require.NoError(t, err) + hackatomID, err := keeper.StoreCode(ctx, uploader, hackatomCode) + require.NoError(t, err) + _, _, bob := keyPubAddr() + _, _, fred := keyPubAddr() + initMsg := HackatomExampleInitMsg{ + Verifier: fred, + Beneficiary: bob, + } + initMsgBz, err := json.Marshal(initMsg) + require.NoError(t, err) + hackatomAddr, _, err := keeper.InstantiateContract(ctx, hackatomID, uploader, initMsgBz, contractStart, true) + require.NoError(t, err) + + validBankSend := func(contract, emptyAccount string) wasmvmtypes.CosmosMsg { + return wasmvmtypes.CosmosMsg{ + Bank: &wasmvmtypes.BankMsg{ + Send: &wasmvmtypes.SendMsg{ + ToAddress: emptyAccount, + Amount: []wasmvmtypes.Coin{{ + Denom: fundedDenom, + Amount: strconv.Itoa(fundedAmount / 2), + }}, + }, + }, + } + } + + invalidBankSend := func(contract, emptyAccount string) wasmvmtypes.CosmosMsg { + return wasmvmtypes.CosmosMsg{ + Bank: &wasmvmtypes.BankMsg{ + Send: &wasmvmtypes.SendMsg{ + ToAddress: emptyAccount, + Amount: []wasmvmtypes.Coin{{ + Denom: fundedDenom, + Amount: strconv.Itoa(fundedAmount * 2), + }}, + }, + }, + } + } + + infiniteLoop := func(contract, emptyAccount string) wasmvmtypes.CosmosMsg { + return wasmvmtypes.CosmosMsg{ + Wasm: &wasmvmtypes.WasmMsg{ + Execute: &wasmvmtypes.ExecuteMsg{ + ContractAddr: hackatomAddr.String(), + Msg: []byte(`{"cpu_loop":{}}`), + }, + }, + } + } + + instantiateContract := func(contract, emptyAccount string) wasmvmtypes.CosmosMsg { + return wasmvmtypes.CosmosMsg{ + Wasm: &wasmvmtypes.WasmMsg{ + Instantiate: &wasmvmtypes.InstantiateMsg{ + CodeID: reflectID, + Msg: []byte("{}"), + Label: "subcall reflect", + }, + }, + } + } + + type assertion func(t *testing.T, ctx sdk.Context, contract, emptyAccount string, response wasmvmtypes.SubcallResult) + + assertReturnedEvents := func(expectedEvents int) assertion { + return func(t *testing.T, ctx sdk.Context, contract, emptyAccount string, response wasmvmtypes.SubcallResult) { + assert.Len(t, response.Ok.Events, expectedEvents) + } + } + + assertGasUsed := func(minGas, maxGas uint64) assertion { + return func(t *testing.T, ctx sdk.Context, contract, emptyAccount string, response wasmvmtypes.SubcallResult) { + gasUsed := ctx.GasMeter().GasConsumed() + assert.True(t, gasUsed >= minGas, "Used %d gas (less than expected %d)", gasUsed, minGas) + assert.True(t, gasUsed <= maxGas, "Used %d gas (more than expected %d)", gasUsed, maxGas) + } + } + + assertErrorString := func(shouldContain string) assertion { + return func(t *testing.T, ctx sdk.Context, contract, emptyAccount string, response wasmvmtypes.SubcallResult) { + assert.Contains(t, response.Err, shouldContain) + } + } + + assertGotContractAddr := func(t *testing.T, ctx sdk.Context, contract, emptyAccount string, response wasmvmtypes.SubcallResult) { + // should get the events emitted on new contract + event := response.Ok.Events[0] + assert.Equal(t, event.Type, "instantiate_contract") + assert.Equal(t, event.Attributes[2].Key, "contract_address") + eventAddr := event.Attributes[2].Value + assert.NotEqual(t, contract, eventAddr) + + // data field is the raw canonical address + // QUESTION: why not types.MsgInstantiateContractResponse? difference between calling Router and Service? + + var data types.MsgInstantiateContractResponse + assert.NoError(t, proto.Unmarshal(response.Ok.Data, &data)) + assert.Equal(t, eventAddr, data.ContractAddress) + } + + cases := map[string]struct { + submsgID uint64 + // we will generate message from the + msg func(contract, emptyAccount string) wasmvmtypes.CosmosMsg + gasLimit *uint64 + + // true if we expect this to throw out of gas panic + isOutOfGasPanic bool + // true if we expect this execute to return an error (can be false when submessage errors) + executeError bool + // true if we expect submessage to return an error (but execute to return success) + subMsgError bool + // make assertions after dispatch + resultAssertions []assertion + }{ + "send tokens": { + submsgID: 5, + msg: validBankSend, + // note we charge another 40k for the reply call + resultAssertions: []assertion{assertReturnedEvents(3), assertGasUsed(130000, 132000)}, + }, + "not enough tokens": { + submsgID: 6, + msg: invalidBankSend, + subMsgError: true, + // uses less gas than the send tokens (cost of bank transfer) + resultAssertions: []assertion{assertGasUsed(105000, 107000), assertErrorString("insufficient funds")}, + }, + "out of gas panic with no gas limit": { + submsgID: 7, + msg: infiniteLoop, + isOutOfGasPanic: true, + }, + + "send tokens with limit": { + submsgID: 15, + msg: validBankSend, + gasLimit: &subGasLimit, + // uses same gas as call without limit + resultAssertions: []assertion{assertReturnedEvents(3), assertGasUsed(130000, 132000)}, + }, + "not enough tokens with limit": { + submsgID: 16, + msg: invalidBankSend, + subMsgError: true, + gasLimit: &subGasLimit, + // uses same gas as call without limit + resultAssertions: []assertion{assertGasUsed(104000, 107000), assertErrorString("insufficient funds")}, + }, + "out of gas caught with gas limit": { + submsgID: 17, + msg: infiniteLoop, + subMsgError: true, + gasLimit: &subGasLimit, + // uses all the subGasLimit, plus the 92k or so for the main contract + resultAssertions: []assertion{assertGasUsed(subGasLimit+98000, subGasLimit+100000), assertErrorString("out of gas")}, + }, + + "instantiate contract gets address in data and events": { + submsgID: 21, + msg: instantiateContract, + resultAssertions: []assertion{assertReturnedEvents(2), assertGotContractAddr}, + }, + } + + for name, tc := range cases { + t.Run(name, func(t *testing.T) { + creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, contractStart) + _, _, empty := keyPubAddr() + + contractAddr, _, err := keeper.InstantiateContract(ctx, reflectID, creator, []byte("{}"), contractStart, true) + require.NoError(t, err) + + msg := tc.msg(contractAddr.String(), empty.String()) + reflectSend := ReflectHandleMsg{ + ReflectSubCall: &reflectSubPayload{ + Msgs: []wasmvmtypes.SubMsg{{ + ID: tc.submsgID, + Msg: msg, + GasLimit: tc.gasLimit, + ReplyOn: wasmvmtypes.ReplyAlways, + }}, + }, + } + reflectSendBz, err := json.Marshal(reflectSend) + require.NoError(t, err) + + execCtx := ctx.WithGasMeter(sdk.NewGasMeter(ctxGasLimit)) + defer func() { + if tc.isOutOfGasPanic { + r := recover() + require.NotNil(t, r, "expected panic") + if _, ok := r.(sdk.ErrorOutOfGas); !ok { + t.Fatalf("Expected OutOfGas panic, got: %#v\n", r) + } + } + }() + _, err = keeper.ExecuteContract(execCtx, contractAddr, creator, reflectSendBz, nil) + + if tc.executeError { + require.Error(t, err) + } else { + require.NoError(t, err) + + // query the reply + query := ReflectQueryMsg{ + SubCallResult: &SubCall{ID: tc.submsgID}, + } + queryBz, err := json.Marshal(query) + require.NoError(t, err) + queryRes, err := keeper.queryToContract(ctx, contractAddr, queryBz) + require.NoError(t, err) + + var res wasmvmtypes.Reply + err = json.Unmarshal(queryRes, &res) + require.NoError(t, err) + assert.Equal(t, tc.submsgID, res.ID) + + if tc.subMsgError { + require.NotEmpty(t, res.Result.Err) + require.Nil(t, res.Result.Ok) + } else { + require.Empty(t, res.Result.Err) + require.NotNil(t, res.Result.Ok) + } + + for _, assertion := range tc.resultAssertions { + assertion(t, execCtx, contractAddr.String(), empty.String(), res.Result) + } + + } + }) + } +} + +// Try a simple send, no gas limit to for a sanity check before trying table tests +func TestDispatchSubMsgConditionalReplyOn(t *testing.T) { + input := CreateTestInput(t) + ctx, accKeeper, keeper, bankKeeper := input.Ctx, input.AccKeeper, input.WasmKeeper, input.BankKeeper + + deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) + contractStart := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 40000)) + + creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) + _, _, fred := keyPubAddr() + + // upload code + reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + require.NoError(t, err) + codeID, err := keeper.StoreCode(ctx, creator, reflectCode) + require.NoError(t, err) + + // creator instantiates a contract and gives it tokens + contractAddr, _, err := keeper.InstantiateContract(ctx, codeID, creator, []byte("{}"), contractStart, true) + require.NoError(t, err) + + goodSend := wasmvmtypes.CosmosMsg{ + Bank: &wasmvmtypes.BankMsg{ + Send: &wasmvmtypes.SendMsg{ + ToAddress: fred.String(), + Amount: []wasmvmtypes.Coin{{ + Denom: core.MicroLunaDenom, + Amount: "1000", + }}, + }, + }, + } + failSend := wasmvmtypes.CosmosMsg{ + Bank: &wasmvmtypes.BankMsg{ + Send: &wasmvmtypes.SendMsg{ + ToAddress: fred.String(), + Amount: []wasmvmtypes.Coin{{ + Denom: "no-such-token", + Amount: "777777", + }}, + }, + }, + } + + cases := map[string]struct { + // true for wasmvmtypes.ReplySuccess, false for wasmvmtypes.ReplyError + replyOnSuccess bool + msg wasmvmtypes.CosmosMsg + // true if the call should return an error (it wasn't handled) + expectError bool + // true if the reflect contract wrote the response (success or error) - it was captured + writeResult bool + }{ + "all good, reply success": { + replyOnSuccess: true, + msg: goodSend, + expectError: false, + writeResult: true, + }, + "all good, reply error": { + replyOnSuccess: false, + msg: goodSend, + expectError: false, + writeResult: false, + }, + "bad msg, reply success": { + replyOnSuccess: true, + msg: failSend, + expectError: true, + writeResult: false, + }, + "bad msg, reply error": { + replyOnSuccess: false, + msg: failSend, + expectError: false, + writeResult: true, + }, + } + + var id uint64 = 0 + for name, tc := range cases { + id++ + t.Run(name, func(t *testing.T) { + subMsg := wasmvmtypes.SubMsg{ + ID: id, + Msg: tc.msg, + ReplyOn: wasmvmtypes.ReplySuccess, + } + if !tc.replyOnSuccess { + subMsg.ReplyOn = wasmvmtypes.ReplyError + } + + reflectSend := ReflectHandleMsg{ + ReflectSubCall: &reflectSubPayload{ + Msgs: []wasmvmtypes.SubMsg{subMsg}, + }, + } + reflectSendBz, err := json.Marshal(reflectSend) + require.NoError(t, err) + _, err = keeper.ExecuteContract(ctx, contractAddr, creator, reflectSendBz, nil) + + if tc.expectError { + require.Error(t, err) + } else { + require.NoError(t, err) + } + + // query the reflect state to check if the result was stored + query := ReflectQueryMsg{ + SubCallResult: &SubCall{ID: id}, + } + queryBz, err := json.Marshal(query) + require.NoError(t, err) + queryRes, err := keeper.queryToContract(ctx, contractAddr, queryBz) + if tc.writeResult { + // we got some data for this call + require.NoError(t, err) + var res wasmvmtypes.Reply + err = json.Unmarshal(queryRes, &res) + require.NoError(t, err) + require.Equal(t, id, res.ID) + } else { + // nothing should be there -> error + require.Error(t, err) + } + }) + } +} diff --git a/x/wasm/keeper/test_utils.go b/x/wasm/keeper/test_utils.go index ca5b5bc69..36c47b6df 100644 --- a/x/wasm/keeper/test_utils.go +++ b/x/wasm/keeper/test_utils.go @@ -31,9 +31,12 @@ import ( "github.com/cosmos/cosmos-sdk/x/bank" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/cosmos/cosmos-sdk/x/capability" distr "github.com/cosmos/cosmos-sdk/x/distribution" distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + "github.com/cosmos/cosmos-sdk/x/ibc/applications/transfer" + ibc "github.com/cosmos/cosmos-sdk/x/ibc/core" paramskeeper "github.com/cosmos/cosmos-sdk/x/params/keeper" paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" "github.com/cosmos/cosmos-sdk/x/staking" @@ -72,6 +75,9 @@ var ModuleBasics = module.NewBasicManager( customparams.AppModuleBasic{}, oracle.AppModuleBasic{}, market.AppModuleBasic{}, + ibc.AppModuleBasic{}, + transfer.AppModuleBasic{}, + capability.AppModuleBasic{}, ) // MakeTestCodec nolint @@ -287,6 +293,11 @@ func CreateTestInput(t *testing.T) TestInput { treasuryKeeper.SetParams(ctx, treasurytypes.DefaultParams()) router := baseapp.NewRouter() + querier := baseapp.NewGRPCQueryRouter() + banktypes.RegisterQueryServer(querier, bankKeeper) + stakingtypes.RegisterQueryServer(querier, stakingkeeper.Querier{Keeper: stakingKeeper}) + distrtypes.RegisterQueryServer(querier, distrKeeper) + keeper := NewKeeper( appCodec, keyContract, @@ -295,6 +306,7 @@ func CreateTestInput(t *testing.T) TestInput { bankKeeper, treasuryKeeper, router, + querier, types.DefaultFeatures, tempDir, config.DefaultConfig(), @@ -318,13 +330,13 @@ func CreateTestInput(t *testing.T) TestInput { types.WasmQueryRouteTreasury: treasurywasm.NewWasmQuerier(treasuryKeeper), types.WasmQueryRouteWasm: NewWasmQuerier(keeper), types.WasmQueryRouteOracle: oraclewasm.NewWasmQuerier(oracleKeeper), - }) + }, NewStargateWasmQuerier(keeper)) keeper.RegisterMsgParsers(map[string]types.WasmMsgParserInterface{ types.WasmMsgParserRouteBank: bankwasm.NewWasmMsgParser(), types.WasmMsgParserRouteStaking: stakingwasm.NewWasmMsgParser(), types.WasmMsgParserRouteMarket: marketwasm.NewWasmMsgParser(), types.WasmMsgParserRouteWasm: NewWasmMsgParser(), - }) + }, NewStargateWasmMsgParser(legacyAmino)) keeper.SetLastCodeID(ctx, 0) keeper.SetLastInstanceID(ctx, 0) @@ -341,12 +353,6 @@ func CreateTestInput(t *testing.T) TestInput { keeper} } -// InitMsg nolint -type InitMsg struct { - Verifier sdk.AccAddress `json:"verifier"` - Beneficiary sdk.AccAddress `json:"beneficiary"` -} - func createFakeFundedAccount(ctx sdk.Context, ak authkeeper.AccountKeeper, bk bankkeeper.Keeper, coins sdk.Coins) sdk.AccAddress { _, _, addr := keyPubAddr() ak.SetAccount(ctx, authtypes.NewBaseAccountWithAddress(addr)) @@ -388,3 +394,9 @@ func TestHandler(k Keeper) sdk.Handler { } } } + +// HackatomExampleInitMsg nolint +type HackatomExampleInitMsg struct { + Verifier sdk.AccAddress `json:"verifier"` + Beneficiary sdk.AccAddress `json:"beneficiary"` +} diff --git a/x/wasm/keeper/testdata/bindings_tester.wasm b/x/wasm/keeper/testdata/bindings_tester.wasm index 214f6c346..c7d47f32d 100644 Binary files a/x/wasm/keeper/testdata/bindings_tester.wasm and b/x/wasm/keeper/testdata/bindings_tester.wasm differ diff --git a/x/wasm/keeper/testdata/burner.wasm b/x/wasm/keeper/testdata/burner.wasm index d9ec99546..356bdcea2 100644 Binary files a/x/wasm/keeper/testdata/burner.wasm and b/x/wasm/keeper/testdata/burner.wasm differ diff --git a/x/wasm/keeper/testdata/contract.wasm b/x/wasm/keeper/testdata/contract.wasm deleted file mode 100644 index 4bfc3b3b1..000000000 Binary files a/x/wasm/keeper/testdata/contract.wasm and /dev/null differ diff --git a/x/wasm/keeper/testdata/contract.wasm.gzip b/x/wasm/keeper/testdata/contract.wasm.gzip deleted file mode 100644 index 2f793cc4f..000000000 Binary files a/x/wasm/keeper/testdata/contract.wasm.gzip and /dev/null differ diff --git a/x/wasm/keeper/testdata/download_releases.sh b/x/wasm/keeper/testdata/download_releases.sh new file mode 100755 index 000000000..9a9bf87a1 --- /dev/null +++ b/x/wasm/keeper/testdata/download_releases.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -o errexit -o nounset -o pipefail +command -v shellcheck > /dev/null && shellcheck "$0" + +if [ $# -ne 1 ]; then + echo "Usage: ./download_releases.sh RELEASE_TAG" + exit 1 +fi + +tag="$1" + +for contract in burner hackatom ibc_reflect ibc_reflect_send reflect staking; do + url="https://github.com/CosmWasm/cosmwasm/releases/download/$tag/${contract}.wasm" + echo "Downloading $url ..." + wget -O "${contract}.wasm" "$url" +done + +# create the zip variant +gzip -k hackatom.wasm +mv hackatom.wasm.gz hackatom.wasm.gzip \ No newline at end of file diff --git a/x/wasm/keeper/testdata/hackatom.wasm b/x/wasm/keeper/testdata/hackatom.wasm new file mode 100644 index 000000000..aeecf05af Binary files /dev/null and b/x/wasm/keeper/testdata/hackatom.wasm differ diff --git a/x/wasm/keeper/testdata/hackatom.wasm.gzip b/x/wasm/keeper/testdata/hackatom.wasm.gzip new file mode 100644 index 000000000..116a90fc8 Binary files /dev/null and b/x/wasm/keeper/testdata/hackatom.wasm.gzip differ diff --git a/x/wasm/keeper/testdata/maker.wasm b/x/wasm/keeper/testdata/maker.wasm old mode 100755 new mode 100644 index df68a1194..ed31f8bce Binary files a/x/wasm/keeper/testdata/maker.wasm and b/x/wasm/keeper/testdata/maker.wasm differ diff --git a/x/wasm/keeper/testdata/mask.wasm b/x/wasm/keeper/testdata/mask.wasm deleted file mode 100644 index ba1284988..000000000 Binary files a/x/wasm/keeper/testdata/mask.wasm and /dev/null differ diff --git a/x/wasm/keeper/testdata/reflect.wasm b/x/wasm/keeper/testdata/reflect.wasm new file mode 100644 index 000000000..be19b7df2 Binary files /dev/null and b/x/wasm/keeper/testdata/reflect.wasm differ diff --git a/x/wasm/keeper/testdata/staking.wasm b/x/wasm/keeper/testdata/staking.wasm index 4c66b59b6..94c5c5232 100644 Binary files a/x/wasm/keeper/testdata/staking.wasm and b/x/wasm/keeper/testdata/staking.wasm differ diff --git a/x/wasm/keeper/wasm_interface.go b/x/wasm/keeper/wasm_interface.go index afea2a086..55faf492e 100644 --- a/x/wasm/keeper/wasm_interface.go +++ b/x/wasm/keeper/wasm_interface.go @@ -6,7 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" "github.com/terra-project/core/x/wasm/types" ) @@ -14,7 +14,7 @@ import ( var _ types.WasmQuerierInterface = WasmQuerier{} var _ types.WasmMsgParserInterface = WasmMsgParser{} -// WasmMsgParser - wasm msg parser for staking msgs +// WasmMsgParser - wasm msg parser for wasm msgs type WasmMsgParser struct{} // NewWasmMsgParser returns wasm msg parser @@ -23,7 +23,7 @@ func NewWasmMsgParser() WasmMsgParser { } // Parse implements wasm staking msg parser -func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmTypes.CosmosMsg) ([]sdk.Msg, error) { +func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.CosmosMsg) (sdk.Msg, error) { msg := wasmMsg.Wasm if msg.Execute != nil { @@ -36,13 +36,8 @@ func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmTypes.Cosmos return nil, err } - cosmosMsg := types.MsgExecuteContract{ - Sender: contractAddr.String(), - Contract: destContractAddr.String(), - ExecuteMsg: msg.Execute.Msg, - Coins: coins, - } - return []sdk.Msg{&cosmosMsg}, nil + cosmosMsg := types.NewMsgExecuteContract(contractAddr, destContractAddr, msg.Execute.Msg, coins) + return cosmosMsg, nil } if msg.Instantiate != nil { @@ -51,20 +46,26 @@ func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmTypes.Cosmos return nil, err } - cosmosMsg := types.MsgInstantiateContract{ - Owner: contractAddr.String(), - CodeID: msg.Instantiate.CodeID, - InitMsg: msg.Instantiate.Msg, - InitCoins: coins, + // The contract instantiated from the other contract, always migratable + cosmosMsg := types.NewMsgInstantiateContract(contractAddr, msg.Instantiate.CodeID, msg.Instantiate.Msg, coins, true) + return cosmosMsg, nil + } + + if msg.Migrate != nil { + targetContractAddr, err := sdk.AccAddressFromBech32(msg.Migrate.ContractAddr) + if err != nil { + return nil, err } - return []sdk.Msg{&cosmosMsg}, nil + + cosmosMsg := types.NewMsgMigrateContract(contractAddr, targetContractAddr, msg.Migrate.NewCodeID, msg.Migrate.Msg) + return cosmosMsg, nil } return nil, sdkerrors.Wrap(types.ErrInvalidMsg, "Unknown variant of Wasm") } // ParseCustom implements custom parser -func (parser WasmMsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) ([]sdk.Msg, error) { +func (parser WasmMsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) (sdk.Msg, error) { return nil, nil } @@ -79,7 +80,7 @@ func NewWasmQuerier(keeper Keeper) WasmQuerier { } // Query - implement query function -func (querier WasmQuerier) Query(ctx sdk.Context, request wasmTypes.QueryRequest) ([]byte, error) { +func (querier WasmQuerier) Query(ctx sdk.Context, request wasmvmtypes.QueryRequest) ([]byte, error) { if request.Wasm.Smart != nil { addr, err := sdk.AccAddressFromBech32(request.Wasm.Smart.ContractAddr) if err != nil { @@ -88,17 +89,17 @@ func (querier WasmQuerier) Query(ctx sdk.Context, request wasmTypes.QueryRequest return querier.keeper.queryToContract(ctx, addr, request.Wasm.Smart.Msg) } + if request.Wasm.Raw != nil { addr, err := sdk.AccAddressFromBech32(request.Wasm.Raw.ContractAddr) if err != nil { return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, request.Wasm.Raw.ContractAddr) } - models := querier.keeper.queryToStore(ctx, addr, request.Wasm.Raw.Key) - return json.Marshal(models) + return querier.keeper.queryToStore(ctx, addr, request.Wasm.Raw.Key), nil } - return nil, wasmTypes.UnsupportedRequest{Kind: "unknown WasmQuery variant"} + return nil, wasmvmtypes.UnsupportedRequest{Kind: "unknown WasmQuery variant"} } // QueryCustom implements custom query interface diff --git a/x/wasm/keeper/wasm_interface_stargate.go b/x/wasm/keeper/wasm_interface_stargate.go new file mode 100644 index 000000000..fc196882a --- /dev/null +++ b/x/wasm/keeper/wasm_interface_stargate.go @@ -0,0 +1,78 @@ +package keeper + +import ( + "fmt" + + abci "github.com/tendermint/tendermint/abci/types" + + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + + wasmvmtypes "github.com/CosmWasm/wasmvm/types" + + "github.com/terra-project/core/x/wasm/types" +) + +var _ types.StargateWasmQuerierInterface = StargateWasmQuerier{} +var _ types.StargateWasmMsgParserInterface = StargateWasmMsgParser{} + +// StargateWasmMsgParser - wasm msg parser for stargate msgs +type StargateWasmMsgParser struct { + unpacker codectypes.AnyUnpacker +} + +// NewStargateWasmMsgParser returns stargate wasm msg parser +func NewStargateWasmMsgParser(unpacker codectypes.AnyUnpacker) StargateWasmMsgParser { + return StargateWasmMsgParser{unpacker} +} + +// Parse implements wasm stargate msg parser +func (parser StargateWasmMsgParser) Parse(wasmMsg wasmvmtypes.CosmosMsg) (sdk.Msg, error) { + msg := wasmMsg.Stargate + + any := codectypes.Any{ + TypeUrl: msg.TypeURL, + Value: msg.Value, + } + + var sdkMsg sdk.Msg + if err := parser.unpacker.UnpackAny(&any, &sdkMsg); err != nil { + return nil, sdkerrors.Wrap(types.ErrInvalidMsg, fmt.Sprintf("Cannot unpack proto message with type URL: %s", msg.TypeURL)) + } + + if err := codectypes.UnpackInterfaces(sdkMsg, parser.unpacker); err != nil { + return nil, sdkerrors.Wrap(types.ErrInvalidMsg, fmt.Sprintf("UnpackInterfaces inside msg: %s", err)) + } + + return sdkMsg, nil +} + +// StargateWasmQuerier - wasm query interface for wasm contract +type StargateWasmQuerier struct { + keeper Keeper +} + +// NewStargateWasmQuerier returns stargate wasm querier +func NewStargateWasmQuerier(keeper Keeper) StargateWasmQuerier { + return StargateWasmQuerier{keeper} +} + +// Query - implement query function +func (querier StargateWasmQuerier) Query(ctx sdk.Context, request wasmvmtypes.QueryRequest) ([]byte, error) { + route := querier.keeper.queryRouter.Route(request.Stargate.Path) + if route == nil { + return nil, wasmvmtypes.UnsupportedRequest{Kind: fmt.Sprintf("No route to query '%s'", request.Stargate.Path)} + } + + res, err := route(ctx, abci.RequestQuery{ + Data: request.Stargate.Data, + Path: request.Stargate.Path, + }) + + if err != nil { + return nil, err + } + + return res.Value, nil +} diff --git a/x/wasm/legacy/v04/types.go b/x/wasm/legacy/v04/types.go new file mode 100644 index 000000000..ef95eadc0 --- /dev/null +++ b/x/wasm/legacy/v04/types.go @@ -0,0 +1,74 @@ +// DONTCOVER +// nolint +package v04 + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" +) + +const ( + ModuleName = "wasm" +) + +type ( + // Params wasm parameters + Params struct { + MaxContractSize uint64 `json:"max_contract_size" yaml:"max_contract_size"` // allowed max contract bytes size + MaxContractGas uint64 `json:"max_contract_gas" yaml:"max_contract_gas"` // allowed max gas usages per each contract execution + MaxContractMsgSize uint64 `json:"max_contract_msg_size" yaml:"max_contract_msg_size"` // allowed max contract exe msg bytes size + } + + // GenesisState is the struct representation of the export genesis + GenesisState struct { + Params Params `json:"params" yaml:"params"` + LastCodeID uint64 `json:"last_code_id" yaml:"last_code_id"` + LastInstanceID uint64 `json:"last_instance_id" yaml:"last_instance_id"` + Codes []Code `json:"codes" yaml:"codes"` + Contracts []Contract `json:"contracts" yaml:"contracts"` + } +) + +// Code struct encompasses CodeInfo and CodeBytes +type Code struct { + CodeInfo CodeInfo `json:"code_info"` + CodesBytes []byte `json:"code_bytes"` +} + +// CodeInfo is data for the uploaded contract WASM code +type CodeInfo struct { + CodeID uint64 `json:"code_id"` + CodeHash []byte `json:"code_hash"` + Creator sdk.AccAddress `json:"creator"` +} + +// Contract struct encompasses ContractAddress, ContractInfo, and ContractState +type Contract struct { + ContractInfo ContractInfo `json:"contract_info"` + ContractStore []Model `json:"contract_store"` +} + +// ContractInfo stores a WASM contract instance +type ContractInfo struct { + Address sdk.AccAddress `json:"address"` + Owner sdk.AccAddress `json:"owner"` + CodeID uint64 `json:"code_id"` + InitMsg []byte `json:"init_msg"` + Migratable bool `json:"migratable"` +} + +// Model is a struct that holds a KV pair +type Model struct { + Key []byte `json:"key"` + Value []byte `json:"value"` +} + +// NewGenesisState creates a new GenesisState object +func NewGenesisState(params Params, lastCodeID, lastInstanceID uint64, codes []Code, contracts []Contract) GenesisState { + return GenesisState{ + Params: params, + LastCodeID: lastCodeID, + LastInstanceID: lastInstanceID, + Codes: codes, + Contracts: contracts, + } +} diff --git a/x/wasm/legacy/v05/migrate.go b/x/wasm/legacy/v05/migrate.go new file mode 100644 index 000000000..c562ff83c --- /dev/null +++ b/x/wasm/legacy/v05/migrate.go @@ -0,0 +1,67 @@ +package v05 + +import ( + v04wasm "github.com/terra-project/core/x/wasm/legacy/v04" + v05wasm "github.com/terra-project/core/x/wasm/types" +) + +// Migrate accepts exported v0.4 x/wasm and +// migrates it to v0.5 x/wasm genesis state. The migration includes: +// +// - Add new params for event and data size limit to x/wasm genesis state. +// - Re-encode in v0.5 GenesisState. +func Migrate( + wasmGenState v04wasm.GenesisState, +) *v05wasm.GenesisState { + codes := make([]v05wasm.Code, len(wasmGenState.Codes)) + for i, c := range wasmGenState.Codes { + codes[i] = v05wasm.Code{ + CodeInfo: v05wasm.CodeInfo{ + CodeID: c.CodeInfo.CodeID, + CodeHash: c.CodeInfo.CodeHash, + Creator: c.CodeInfo.Creator.String(), + }, + CodeBytes: c.CodesBytes, + } + } + + contracts := make([]v05wasm.Contract, len(wasmGenState.Contracts)) + for i, c := range wasmGenState.Contracts { + models := make([]v05wasm.Model, len(c.ContractStore)) + for j, m := range c.ContractStore { + models[j] = v05wasm.Model{ + Key: m.Key, + Value: m.Value, + } + } + + contracts[i] = v05wasm.Contract{ + ContractInfo: v05wasm.ContractInfo{ + CodeID: c.ContractInfo.CodeID, + Address: c.ContractInfo.Address.String(), + Owner: c.ContractInfo.Owner.String(), + Migratable: c.ContractInfo.Migratable, + InitMsg: c.ContractInfo.InitMsg, + }, + ContractStore: models, + } + } + + return &v05wasm.GenesisState{ + Params: v05wasm.Params{ + MaxContractSize: wasmGenState.Params.MaxContractSize, + MaxContractMsgSize: wasmGenState.Params.MaxContractMsgSize, + MaxContractGas: wasmGenState.Params.MaxContractGas, + MaxContractDataSize: 256, + EventParams: v05wasm.EventParams{ + MaxAttributeNum: 16, + MaxAttributeKeyLength: 64, + MaxAttributeValueLength: 256, + }, + }, + Codes: codes, + Contracts: contracts, + LastCodeID: wasmGenState.LastCodeID, + LastInstanceID: wasmGenState.LastInstanceID, + } +} diff --git a/x/wasm/simulation/genesis.go b/x/wasm/simulation/genesis.go index 4b58f19b5..7966a53bc 100644 --- a/x/wasm/simulation/genesis.go +++ b/x/wasm/simulation/genesis.go @@ -14,10 +14,11 @@ import ( // Simulation parameter constants const ( - maxContractSizeKey = "max_contract_size" - maxContractGasKey = "max_contract_gas" - maxContractMsgSizeKey = "max_contract_msg_size" - gasMultiplierKey = "gas_multiplier" + maxContractSizeKey = "max_contract_size" + maxContractGasKey = "max_contract_gas" + maxContractMsgSizeKey = "max_contract_msg_size" + maxContractDataSizeKey = "max_contract_data_size" + EventParamsKey = "event_params" ) // GenMaxContractSize randomized MaxContractSize @@ -35,9 +36,9 @@ func GenMaxContractMsgSize(r *rand.Rand) uint64 { return uint64(128 + r.Intn(9*1024)) } -// GenGasMultiplier randomized GasMultiplier -func GenGasMultiplier(r *rand.Rand) uint64 { - return uint64(1 + r.Intn(99)) +// GenMaxContractDataSize randomized MaxContractDataSize +func GenMaxContractDataSize(r *rand.Rand) uint64 { + return uint64(256 + r.Intn(512)) } // RandomizedGenState generates a random GenesisState for wasm @@ -61,17 +62,19 @@ func RandomizedGenState(simState *module.SimulationState) { func(r *rand.Rand) { maxContractMsgSize = GenMaxContractMsgSize(r) }, ) - var gasMultiplier uint64 + var maxContractDataSize uint64 simState.AppParams.GetOrGenerate( - simState.Cdc, gasMultiplierKey, &gasMultiplier, simState.Rand, - func(r *rand.Rand) { gasMultiplier = GenGasMultiplier(r) }, + simState.Cdc, maxContractDataSizeKey, &maxContractDataSize, simState.Rand, + func(r *rand.Rand) { maxContractDataSize = GenMaxContractDataSize(r) }, ) wasmGenesis := types.NewGenesisState( types.Params{ - MaxContractSize: maxContractSize, - MaxContractGas: maxContractGas, - MaxContractMsgSize: maxContractMsgSize, + MaxContractSize: maxContractSize, + MaxContractGas: maxContractGas, + MaxContractMsgSize: maxContractMsgSize, + MaxContractDataSize: maxContractDataSize, + EventParams: types.DefaultEventParams, }, 0, 0, diff --git a/x/wasm/simulation/params.go b/x/wasm/simulation/params.go index fed2dd675..0293a6b83 100644 --- a/x/wasm/simulation/params.go +++ b/x/wasm/simulation/params.go @@ -31,5 +31,10 @@ func ParamChanges(r *rand.Rand) []simtypes.ParamChange { return fmt.Sprintf("\"%d\"", GenMaxContractMsgSize(r)) }, ), + simulation.NewSimParamChange(types.ModuleName, string(types.KeyMaxContractDataSize), + func(r *rand.Rand) string { + return fmt.Sprintf("\"%d\"", GenMaxContractDataSize(r)) + }, + ), } } diff --git a/x/wasm/simulation/test_contract.go b/x/wasm/simulation/test_contract.go index d1d80c294..9059aefc3 100644 --- a/x/wasm/simulation/test_contract.go +++ b/x/wasm/simulation/test_contract.go @@ -1,5 +1,5 @@ package simulation func loadContract() { - testContract = []byte{0, 97, 115, 109, 1, 0, 0, 0, 1, 128, 1, 20, 96, 2, 127, 127, 1, 127, 96, 2, 127, 127, 0, 96, 3, 127, 127, 127, 1, 127, 96, 3, 127, 127, 127, 0, 96, 1, 127, 0, 96, 1, 127, 1, 127, 96, 4, 127, 127, 127, 127, 0, 96, 0, 0, 96, 5, 127, 127, 127, 127, 127, 0, 96, 4, 127, 127, 127, 127, 1, 127, 96, 1, 127, 1, 126, 96, 3, 127, 126, 126, 0, 96, 4, 127, 126, 126, 127, 0, 96, 0, 1, 127, 96, 5, 127, 127, 127, 127, 127, 1, 127, 96, 3, 127, 127, 126, 0, 96, 4, 127, 126, 126, 126, 0, 96, 7, 127, 127, 127, 127, 127, 127, 127, 1, 127, 96, 2, 126, 127, 1, 127, 96, 3, 126, 126, 127, 1, 127, 2, 98, 5, 3, 101, 110, 118, 7, 100, 98, 95, 114, 101, 97, 100, 0, 5, 3, 101, 110, 118, 8, 100, 98, 95, 119, 114, 105, 116, 101, 0, 1, 3, 101, 110, 118, 20, 99, 97, 110, 111, 110, 105, 99, 97, 108, 105, 122, 101, 95, 97, 100, 100, 114, 101, 115, 115, 0, 0, 3, 101, 110, 118, 16, 104, 117, 109, 97, 110, 105, 122, 101, 95, 97, 100, 100, 114, 101, 115, 115, 0, 0, 3, 101, 110, 118, 11, 113, 117, 101, 114, 121, 95, 99, 104, 97, 105, 110, 0, 5, 3, 159, 2, 157, 2, 8, 1, 3, 3, 8, 6, 8, 0, 3, 1, 3, 1, 3, 1, 6, 3, 1, 1, 8, 6, 1, 1, 0, 7, 4, 0, 1, 4, 10, 7, 0, 0, 0, 0, 0, 1, 4, 4, 4, 0, 0, 2, 1, 1, 8, 1, 1, 1, 1, 1, 3, 1, 1, 3, 3, 3, 3, 3, 3, 7, 7, 7, 4, 1, 0, 0, 5, 0, 0, 9, 3, 0, 0, 0, 0, 0, 0, 4, 0, 0, 3, 1, 3, 8, 1, 1, 0, 0, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0, 0, 3, 1, 1, 0, 5, 4, 7, 4, 6, 1, 1, 3, 5, 1, 4, 0, 0, 7, 0, 1, 1, 0, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 0, 4, 3, 15, 6, 1, 3, 1, 6, 14, 6, 1, 0, 5, 1, 0, 1, 13, 0, 0, 3, 3, 4, 4, 1, 7, 1, 1, 0, 10, 10, 0, 0, 3, 4, 4, 0, 4, 4, 13, 7, 1, 1, 5, 1, 4, 5, 4, 4, 0, 1, 9, 5, 4, 6, 1, 1, 1, 1, 0, 5, 1, 0, 1, 4, 0, 0, 0, 0, 1, 0, 1, 1, 7, 3, 1, 0, 0, 3, 3, 3, 3, 2, 8, 1, 0, 0, 2, 0, 0, 0, 0, 8, 3, 0, 8, 0, 2, 6, 5, 3, 5, 3, 3, 5, 0, 0, 2, 0, 0, 0, 14, 9, 0, 5, 5, 6, 6, 1, 2, 5, 17, 4, 2, 0, 3, 1, 0, 3, 0, 0, 3, 18, 0, 0, 19, 0, 0, 0, 0, 0, 0, 2, 1, 2, 16, 12, 11, 11, 12, 4, 5, 1, 112, 1, 111, 111, 5, 3, 1, 0, 17, 6, 25, 3, 127, 1, 65, 128, 128, 192, 0, 11, 127, 0, 65, 233, 133, 193, 0, 11, 127, 0, 65, 233, 133, 193, 0, 11, 7, 119, 10, 6, 109, 101, 109, 111, 114, 121, 2, 0, 4, 105, 110, 105, 116, 0, 69, 6, 104, 97, 110, 100, 108, 101, 0, 70, 5, 113, 117, 101, 114, 121, 0, 71, 7, 109, 105, 103, 114, 97, 116, 101, 0, 72, 8, 97, 108, 108, 111, 99, 97, 116, 101, 0, 109, 10, 100, 101, 97, 108, 108, 111, 99, 97, 116, 101, 0, 110, 21, 99, 111, 115, 109, 119, 97, 115, 109, 95, 118, 109, 95, 118, 101, 114, 115, 105, 111, 110, 95, 51, 0, 111, 10, 95, 95, 100, 97, 116, 97, 95, 101, 110, 100, 3, 1, 11, 95, 95, 104, 101, 97, 112, 95, 98, 97, 115, 101, 3, 2, 9, 168, 1, 1, 0, 65, 1, 11, 110, 12, 37, 226, 1, 30, 27, 120, 103, 39, 36, 168, 1, 35, 38, 41, 57, 56, 46, 44, 45, 149, 2, 32, 121, 33, 81, 37, 36, 79, 92, 80, 148, 2, 30, 91, 41, 100, 99, 46, 83, 84, 82, 216, 1, 78, 76, 33, 77, 37, 123, 41, 125, 124, 33, 37, 225, 1, 141, 2, 41, 154, 1, 156, 1, 155, 1, 250, 1, 159, 1, 37, 39, 41, 167, 1, 166, 1, 33, 159, 1, 190, 1, 41, 46, 83, 176, 1, 172, 1, 169, 1, 231, 1, 175, 1, 199, 1, 230, 1, 174, 1, 189, 1, 175, 1, 195, 1, 196, 1, 82, 170, 1, 197, 1, 198, 1, 33, 171, 1, 41, 46, 208, 1, 210, 1, 172, 1, 206, 1, 207, 1, 234, 1, 228, 1, 136, 2, 217, 1, 236, 1, 41, 169, 1, 237, 1, 245, 1, 246, 1, 152, 2, 247, 1, 248, 1, 249, 1, 151, 2, 150, 2, 10, 142, 240, 9, 157, 2, 219, 2, 1, 4, 127, 35, 0, 65, 16, 107, 34, 6, 36, 0, 32, 1, 45, 0, 4, 69, 4, 64, 32, 1, 40, 2, 0, 34, 5, 40, 2, 8, 34, 7, 32, 5, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 5, 65, 1, 16, 6, 32, 5, 40, 2, 8, 5, 32, 7, 11, 32, 5, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 5, 32, 5, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 32, 1, 40, 2, 0, 34, 5, 40, 2, 8, 34, 7, 32, 5, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 5, 65, 1, 16, 6, 32, 5, 40, 2, 8, 5, 32, 7, 11, 32, 5, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 5, 32, 5, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 1, 40, 2, 0, 34, 5, 32, 3, 16, 6, 32, 5, 65, 8, 106, 34, 7, 40, 2, 0, 34, 8, 32, 5, 40, 2, 0, 106, 32, 2, 32, 3, 16, 154, 2, 26, 32, 7, 32, 3, 32, 8, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 2, 65, 2, 16, 6, 32, 2, 65, 8, 106, 34, 3, 40, 2, 0, 34, 5, 32, 2, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 3, 32, 5, 65, 2, 106, 54, 2, 0, 32, 6, 32, 1, 40, 2, 0, 32, 4, 16, 142, 1, 2, 64, 32, 6, 40, 2, 0, 34, 1, 65, 3, 70, 4, 64, 32, 0, 65, 3, 54, 2, 0, 12, 1, 11, 32, 6, 65, 12, 106, 40, 2, 0, 33, 2, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 32, 0, 32, 6, 40, 2, 4, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 11, 32, 6, 65, 16, 106, 36, 0, 11, 176, 1, 1, 2, 127, 2, 64, 2, 64, 32, 0, 65, 4, 106, 40, 2, 0, 34, 3, 32, 0, 40, 2, 8, 34, 2, 107, 32, 1, 73, 4, 64, 32, 1, 32, 2, 106, 34, 1, 32, 2, 73, 13, 1, 32, 3, 65, 1, 116, 34, 2, 32, 1, 32, 2, 32, 1, 75, 27, 34, 1, 65, 8, 32, 1, 65, 8, 75, 27, 34, 2, 65, 0, 72, 13, 1, 2, 64, 32, 0, 40, 2, 0, 65, 0, 32, 3, 27, 34, 1, 4, 64, 32, 2, 32, 3, 70, 13, 1, 32, 3, 69, 4, 64, 32, 2, 65, 1, 16, 73, 33, 1, 12, 2, 11, 32, 1, 32, 3, 65, 1, 32, 2, 16, 74, 33, 1, 12, 1, 11, 32, 2, 65, 1, 16, 73, 33, 1, 11, 32, 1, 69, 13, 2, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 4, 106, 32, 2, 54, 2, 0, 11, 15, 11, 16, 213, 1, 0, 11, 32, 2, 65, 1, 16, 211, 1, 0, 11, 239, 2, 1, 4, 127, 35, 0, 65, 16, 107, 34, 5, 36, 0, 32, 1, 45, 0, 4, 69, 4, 64, 32, 1, 40, 2, 0, 34, 3, 40, 2, 8, 34, 4, 32, 3, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 3, 65, 1, 16, 6, 32, 3, 40, 2, 8, 5, 32, 4, 11, 32, 3, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 3, 32, 3, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 32, 1, 40, 2, 0, 34, 3, 40, 2, 8, 34, 4, 32, 3, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 3, 65, 1, 16, 6, 32, 3, 40, 2, 8, 5, 32, 4, 11, 32, 3, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 3, 32, 3, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 1, 40, 2, 0, 34, 3, 65, 6, 16, 6, 32, 3, 65, 8, 106, 34, 4, 40, 2, 0, 34, 6, 32, 3, 40, 2, 0, 106, 34, 3, 65, 189, 128, 192, 0, 40, 0, 0, 54, 0, 0, 32, 3, 65, 4, 106, 65, 193, 128, 192, 0, 47, 0, 0, 59, 0, 0, 32, 4, 32, 6, 65, 6, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 3, 65, 2, 16, 6, 32, 3, 65, 8, 106, 34, 4, 40, 2, 0, 34, 6, 32, 3, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 4, 32, 6, 65, 2, 106, 54, 2, 0, 32, 5, 32, 2, 32, 1, 40, 2, 0, 16, 8, 2, 64, 32, 5, 40, 2, 0, 34, 1, 65, 3, 70, 4, 64, 32, 0, 65, 3, 54, 2, 0, 12, 1, 11, 32, 5, 65, 12, 106, 40, 2, 0, 33, 2, 32, 5, 65, 8, 106, 40, 2, 0, 33, 3, 32, 0, 32, 5, 40, 2, 4, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 11, 32, 5, 65, 16, 106, 36, 0, 11, 159, 6, 1, 4, 127, 35, 0, 65, 64, 106, 34, 3, 36, 0, 32, 3, 65, 40, 106, 32, 2, 16, 147, 1, 2, 64, 32, 3, 40, 2, 40, 65, 1, 70, 4, 64, 32, 0, 32, 3, 41, 2, 44, 55, 2, 0, 32, 0, 65, 8, 106, 32, 3, 65, 52, 106, 41, 2, 0, 55, 2, 0, 12, 1, 11, 32, 3, 32, 3, 40, 2, 44, 54, 2, 0, 32, 3, 32, 3, 65, 48, 106, 34, 2, 45, 0, 0, 58, 0, 4, 32, 3, 65, 40, 106, 32, 3, 65, 171, 130, 192, 0, 65, 5, 32, 1, 65, 16, 106, 16, 9, 32, 3, 40, 2, 40, 65, 3, 70, 4, 64, 32, 3, 40, 2, 0, 34, 4, 65, 8, 106, 40, 2, 0, 33, 2, 32, 3, 45, 0, 4, 69, 4, 64, 32, 4, 65, 4, 106, 40, 2, 0, 32, 2, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 4, 65, 8, 106, 40, 2, 0, 5, 32, 2, 11, 32, 4, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 4, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 65, 1, 106, 34, 2, 54, 2, 0, 11, 32, 3, 65, 0, 58, 0, 4, 32, 4, 65, 4, 106, 40, 2, 0, 32, 2, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 4, 65, 8, 106, 40, 2, 0, 5, 32, 2, 11, 32, 4, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 4, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 65, 1, 106, 54, 2, 0, 32, 4, 65, 6, 16, 6, 32, 2, 40, 2, 0, 34, 5, 32, 4, 40, 2, 0, 106, 34, 6, 65, 189, 128, 192, 0, 40, 0, 0, 54, 0, 0, 32, 6, 65, 4, 106, 65, 193, 128, 192, 0, 47, 0, 0, 59, 0, 0, 32, 2, 32, 5, 65, 6, 106, 54, 2, 0, 32, 4, 65, 2, 16, 6, 32, 2, 40, 2, 0, 34, 5, 32, 4, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 2, 32, 5, 65, 2, 106, 54, 2, 0, 32, 3, 65, 0, 54, 2, 16, 32, 3, 66, 1, 55, 3, 8, 32, 3, 32, 1, 54, 2, 20, 32, 3, 65, 1, 54, 2, 28, 32, 3, 32, 3, 65, 20, 106, 54, 2, 24, 32, 3, 32, 3, 65, 8, 106, 54, 2, 36, 32, 3, 65, 60, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 44, 32, 3, 65, 228, 134, 192, 0, 54, 2, 40, 32, 3, 32, 3, 65, 24, 106, 54, 2, 56, 2, 64, 32, 3, 65, 36, 106, 65, 232, 141, 192, 0, 32, 3, 65, 40, 106, 16, 227, 1, 69, 4, 64, 2, 64, 32, 3, 40, 2, 12, 34, 1, 32, 3, 40, 2, 16, 34, 2, 70, 13, 0, 2, 64, 32, 1, 32, 2, 79, 4, 64, 32, 1, 69, 4, 64, 32, 2, 33, 1, 12, 3, 11, 32, 3, 40, 2, 8, 34, 5, 13, 1, 32, 2, 33, 1, 12, 2, 11, 65, 168, 143, 192, 0, 65, 36, 65, 152, 143, 192, 0, 16, 219, 1, 0, 11, 2, 64, 32, 2, 69, 4, 64, 65, 1, 33, 1, 32, 5, 16, 204, 1, 12, 1, 11, 32, 5, 32, 1, 65, 1, 32, 2, 16, 74, 34, 1, 69, 13, 3, 11, 32, 3, 32, 2, 54, 2, 12, 32, 3, 32, 1, 54, 2, 8, 32, 3, 40, 2, 16, 33, 1, 11, 32, 3, 65, 40, 106, 32, 4, 32, 3, 40, 2, 8, 32, 1, 16, 144, 1, 2, 64, 32, 3, 40, 2, 8, 34, 1, 69, 13, 0, 32, 3, 40, 2, 12, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 3, 40, 2, 40, 34, 1, 65, 3, 71, 4, 64, 32, 3, 65, 48, 106, 40, 2, 0, 33, 2, 32, 3, 65, 52, 106, 40, 2, 0, 33, 4, 32, 0, 32, 3, 40, 2, 44, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 54, 2, 0, 12, 4, 11, 32, 0, 32, 4, 65, 0, 16, 138, 1, 12, 3, 11, 65, 236, 134, 192, 0, 65, 55, 32, 3, 65, 40, 106, 65, 204, 142, 192, 0, 65, 236, 135, 192, 0, 16, 235, 1, 0, 11, 32, 2, 65, 1, 16, 211, 1, 0, 11, 32, 0, 32, 3, 41, 3, 40, 55, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 0, 55, 2, 0, 11, 32, 3, 65, 64, 107, 36, 0, 11, 227, 2, 1, 4, 127, 35, 0, 65, 16, 107, 34, 6, 36, 0, 32, 1, 45, 0, 4, 69, 4, 64, 32, 1, 40, 2, 0, 34, 5, 40, 2, 8, 34, 7, 32, 5, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 5, 65, 1, 16, 6, 32, 5, 40, 2, 8, 5, 32, 7, 11, 32, 5, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 5, 32, 5, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 32, 1, 40, 2, 0, 34, 5, 40, 2, 8, 34, 7, 32, 5, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 5, 65, 1, 16, 6, 32, 5, 40, 2, 8, 5, 32, 7, 11, 32, 5, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 5, 32, 5, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 1, 40, 2, 0, 34, 5, 32, 3, 16, 6, 32, 5, 65, 8, 106, 34, 7, 40, 2, 0, 34, 8, 32, 5, 40, 2, 0, 106, 32, 2, 32, 3, 16, 154, 2, 26, 32, 7, 32, 3, 32, 8, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 2, 65, 2, 16, 6, 32, 2, 65, 8, 106, 34, 3, 40, 2, 0, 34, 5, 32, 2, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 3, 32, 5, 65, 2, 106, 54, 2, 0, 32, 6, 32, 1, 40, 2, 0, 32, 4, 40, 2, 0, 32, 4, 40, 2, 8, 16, 144, 1, 2, 64, 32, 6, 40, 2, 0, 34, 1, 65, 3, 70, 4, 64, 32, 0, 65, 3, 54, 2, 0, 12, 1, 11, 32, 6, 65, 12, 106, 40, 2, 0, 33, 2, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 32, 0, 32, 6, 40, 2, 4, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 11, 32, 6, 65, 16, 106, 36, 0, 11, 145, 3, 1, 4, 127, 35, 0, 65, 32, 107, 34, 5, 36, 0, 32, 1, 45, 0, 4, 69, 4, 64, 32, 1, 40, 2, 0, 34, 4, 40, 2, 8, 34, 6, 32, 4, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 4, 40, 2, 8, 5, 32, 6, 11, 32, 4, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 4, 32, 4, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 32, 1, 40, 2, 0, 34, 4, 40, 2, 8, 34, 6, 32, 4, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 4, 40, 2, 8, 5, 32, 6, 11, 32, 4, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 4, 32, 4, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 1, 40, 2, 0, 34, 4, 65, 3, 16, 6, 32, 4, 65, 8, 106, 34, 6, 40, 2, 0, 34, 7, 32, 4, 40, 2, 0, 106, 34, 4, 32, 2, 47, 0, 0, 59, 0, 0, 32, 4, 65, 2, 106, 32, 2, 65, 2, 106, 45, 0, 0, 58, 0, 0, 32, 6, 32, 7, 65, 3, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 2, 65, 2, 16, 6, 32, 2, 65, 8, 106, 34, 4, 40, 2, 0, 34, 6, 32, 2, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 4, 32, 6, 65, 2, 106, 54, 2, 0, 32, 1, 40, 2, 0, 33, 1, 32, 5, 65, 16, 106, 32, 3, 16, 101, 32, 5, 32, 1, 32, 5, 40, 2, 16, 34, 1, 32, 5, 40, 2, 24, 16, 144, 1, 32, 5, 40, 2, 20, 4, 64, 32, 1, 16, 204, 1, 11, 2, 64, 32, 5, 40, 2, 0, 34, 1, 65, 3, 70, 4, 64, 32, 0, 65, 3, 54, 2, 0, 12, 1, 11, 32, 5, 65, 8, 106, 40, 2, 0, 33, 2, 32, 5, 65, 12, 106, 40, 2, 0, 33, 3, 32, 0, 32, 5, 40, 2, 4, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 54, 2, 0, 11, 32, 5, 65, 32, 106, 36, 0, 11, 228, 4, 1, 4, 127, 35, 0, 65, 48, 107, 34, 5, 36, 0, 32, 1, 45, 0, 4, 69, 4, 64, 32, 1, 40, 2, 0, 34, 6, 40, 2, 8, 34, 7, 32, 6, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 6, 65, 1, 16, 6, 32, 6, 40, 2, 8, 5, 32, 7, 11, 32, 6, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 6, 32, 6, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 32, 1, 40, 2, 0, 34, 6, 40, 2, 8, 34, 7, 32, 6, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 6, 65, 1, 16, 6, 32, 6, 40, 2, 8, 5, 32, 7, 11, 32, 6, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 6, 32, 6, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 1, 40, 2, 0, 34, 6, 32, 3, 16, 6, 32, 6, 65, 8, 106, 34, 7, 40, 2, 0, 34, 8, 32, 6, 40, 2, 0, 106, 32, 2, 32, 3, 16, 154, 2, 26, 32, 7, 32, 3, 32, 8, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 2, 65, 2, 16, 6, 32, 2, 65, 8, 106, 34, 3, 40, 2, 0, 34, 6, 32, 2, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 3, 32, 6, 65, 2, 106, 54, 2, 0, 32, 4, 40, 2, 0, 33, 2, 32, 5, 65, 24, 106, 32, 1, 40, 2, 0, 32, 4, 40, 2, 8, 34, 1, 16, 146, 1, 2, 64, 32, 5, 40, 2, 24, 65, 1, 70, 4, 64, 32, 5, 65, 16, 106, 32, 5, 65, 36, 106, 41, 2, 0, 55, 3, 0, 32, 5, 32, 5, 41, 2, 28, 55, 3, 8, 12, 1, 11, 32, 1, 65, 5, 116, 33, 3, 32, 5, 65, 32, 106, 45, 0, 0, 33, 4, 32, 5, 40, 2, 28, 34, 1, 65, 4, 106, 33, 6, 2, 64, 3, 64, 32, 3, 69, 13, 1, 32, 4, 65, 255, 1, 113, 69, 4, 64, 32, 1, 40, 2, 8, 34, 4, 32, 6, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 5, 65, 24, 106, 32, 2, 32, 1, 16, 8, 32, 3, 65, 96, 106, 33, 3, 65, 0, 33, 4, 32, 2, 65, 32, 106, 33, 2, 32, 5, 40, 2, 24, 34, 7, 65, 3, 70, 13, 0, 11, 32, 5, 40, 2, 32, 33, 1, 32, 5, 40, 2, 28, 33, 2, 32, 5, 65, 20, 106, 32, 5, 40, 2, 36, 54, 2, 0, 32, 5, 65, 16, 106, 32, 1, 54, 2, 0, 32, 5, 32, 2, 54, 2, 12, 32, 5, 32, 7, 54, 2, 8, 12, 1, 11, 32, 5, 65, 8, 106, 32, 1, 16, 137, 1, 11, 2, 64, 32, 5, 40, 2, 8, 34, 1, 65, 3, 70, 4, 64, 32, 0, 65, 3, 54, 2, 0, 12, 1, 11, 32, 5, 65, 20, 106, 40, 2, 0, 33, 2, 32, 5, 65, 16, 106, 40, 2, 0, 33, 3, 32, 0, 32, 5, 40, 2, 12, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 11, 32, 5, 65, 48, 106, 36, 0, 11, 11, 0, 32, 0, 40, 2, 0, 32, 1, 16, 104, 11, 154, 50, 2, 27, 127, 4, 126, 35, 0, 65, 160, 2, 107, 34, 3, 36, 0, 32, 3, 65, 216, 1, 106, 32, 1, 32, 2, 16, 128, 1, 32, 3, 65, 208, 1, 106, 32, 3, 65, 216, 1, 106, 16, 135, 1, 65, 1, 33, 27, 2, 64, 2, 64, 32, 3, 45, 0, 208, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 2, 12, 1, 11, 32, 3, 45, 0, 209, 1, 65, 251, 0, 71, 4, 64, 65, 14, 33, 2, 12, 1, 11, 32, 3, 65, 216, 1, 106, 16, 129, 1, 32, 3, 65, 200, 1, 106, 32, 3, 65, 216, 1, 106, 16, 127, 32, 3, 45, 0, 204, 1, 33, 4, 32, 3, 65, 192, 1, 106, 32, 3, 40, 2, 200, 1, 34, 11, 16, 135, 1, 32, 3, 45, 0, 192, 1, 65, 1, 113, 69, 4, 64, 65, 2, 33, 2, 12, 1, 11, 32, 3, 45, 0, 193, 1, 33, 2, 32, 4, 65, 1, 113, 33, 4, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 2, 64, 32, 2, 65, 255, 1, 113, 34, 5, 65, 44, 71, 4, 64, 32, 5, 65, 253, 0, 70, 13, 3, 32, 4, 65, 255, 1, 113, 13, 1, 65, 1, 33, 19, 65, 9, 33, 2, 12, 38, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 1, 33, 19, 65, 16, 33, 2, 12, 38, 11, 32, 11, 16, 129, 1, 32, 3, 65, 184, 1, 106, 32, 11, 16, 135, 1, 65, 1, 33, 19, 32, 3, 45, 0, 184, 1, 65, 1, 113, 69, 13, 36, 32, 3, 45, 0, 185, 1, 33, 2, 11, 65, 1, 33, 10, 32, 2, 65, 255, 1, 113, 34, 1, 65, 34, 71, 4, 64, 65, 16, 65, 19, 32, 1, 65, 253, 0, 71, 27, 33, 2, 65, 1, 33, 19, 12, 38, 11, 32, 3, 65, 176, 1, 106, 32, 11, 16, 135, 1, 65, 1, 33, 19, 32, 3, 45, 0, 176, 1, 65, 1, 113, 69, 13, 35, 32, 3, 45, 0, 177, 1, 65, 34, 71, 4, 64, 65, 14, 33, 2, 12, 37, 11, 32, 11, 16, 129, 1, 32, 3, 65, 240, 1, 106, 32, 11, 16, 134, 1, 32, 3, 40, 2, 252, 1, 33, 5, 32, 3, 40, 2, 248, 1, 33, 4, 32, 3, 40, 2, 244, 1, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 240, 1, 65, 1, 71, 4, 64, 65, 3, 33, 9, 2, 64, 32, 5, 65, 123, 106, 34, 5, 65, 3, 75, 13, 0, 2, 64, 2, 64, 2, 64, 32, 5, 65, 1, 107, 14, 3, 3, 1, 2, 0, 11, 32, 2, 65, 186, 131, 192, 0, 71, 4, 64, 32, 2, 65, 186, 131, 192, 0, 65, 5, 16, 156, 2, 13, 3, 11, 65, 0, 33, 9, 12, 2, 11, 32, 2, 65, 191, 131, 192, 0, 71, 4, 64, 32, 2, 65, 191, 131, 192, 0, 65, 7, 16, 156, 2, 13, 2, 11, 65, 1, 33, 9, 12, 1, 11, 32, 2, 65, 198, 131, 192, 0, 71, 4, 64, 32, 2, 41, 0, 0, 66, 227, 222, 185, 163, 167, 174, 216, 177, 244, 0, 82, 13, 1, 11, 65, 2, 33, 9, 11, 32, 4, 4, 64, 32, 2, 16, 204, 1, 11, 32, 9, 65, 2, 75, 13, 1, 32, 9, 65, 1, 107, 14, 2, 3, 4, 2, 11, 32, 3, 40, 2, 128, 2, 33, 6, 12, 42, 11, 32, 3, 65, 240, 1, 106, 32, 11, 16, 133, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 70, 13, 3, 32, 3, 40, 2, 248, 1, 33, 1, 32, 3, 40, 2, 244, 1, 33, 7, 32, 3, 32, 3, 40, 2, 252, 1, 34, 6, 54, 2, 156, 2, 32, 3, 32, 1, 54, 2, 152, 2, 32, 3, 32, 7, 54, 2, 148, 2, 32, 3, 32, 2, 54, 2, 144, 2, 12, 12, 11, 2, 64, 32, 12, 69, 4, 64, 32, 3, 65, 240, 1, 106, 32, 11, 16, 133, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 71, 13, 40, 32, 3, 65, 56, 106, 32, 11, 16, 135, 1, 32, 3, 45, 0, 56, 65, 1, 113, 69, 4, 64, 65, 4, 33, 2, 12, 40, 11, 32, 3, 45, 0, 57, 65, 251, 0, 71, 4, 64, 65, 14, 33, 2, 12, 40, 11, 32, 11, 16, 129, 1, 32, 3, 65, 48, 106, 32, 11, 16, 127, 32, 3, 40, 2, 48, 33, 1, 32, 3, 32, 3, 45, 0, 52, 65, 1, 113, 34, 10, 58, 0, 236, 1, 32, 3, 32, 1, 54, 2, 232, 1, 32, 3, 65, 40, 106, 32, 1, 16, 135, 1, 32, 3, 45, 0, 40, 65, 1, 113, 69, 4, 64, 65, 2, 33, 2, 65, 0, 33, 12, 12, 43, 11, 32, 3, 45, 0, 41, 33, 2, 65, 0, 33, 12, 66, 0, 33, 31, 32, 10, 33, 5, 66, 0, 33, 30, 2, 64, 3, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 255, 1, 113, 34, 4, 65, 44, 71, 4, 64, 32, 4, 65, 253, 0, 70, 13, 5, 32, 10, 13, 1, 65, 9, 33, 2, 12, 42, 11, 32, 5, 65, 255, 1, 113, 69, 13, 1, 11, 65, 0, 33, 10, 32, 3, 65, 0, 58, 0, 236, 1, 12, 1, 11, 32, 1, 16, 129, 1, 32, 3, 65, 32, 106, 32, 1, 16, 135, 1, 32, 3, 45, 0, 32, 65, 1, 113, 69, 13, 38, 32, 3, 45, 0, 33, 33, 2, 11, 32, 2, 65, 255, 1, 113, 34, 4, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 4, 65, 253, 0, 70, 27, 33, 2, 12, 39, 11, 32, 3, 65, 24, 106, 32, 1, 16, 135, 1, 32, 3, 45, 0, 24, 65, 1, 113, 69, 13, 37, 32, 3, 45, 0, 25, 65, 34, 71, 4, 64, 65, 14, 33, 2, 12, 39, 11, 32, 1, 16, 129, 1, 32, 3, 65, 240, 1, 106, 32, 1, 16, 134, 1, 32, 3, 40, 2, 252, 1, 33, 5, 32, 3, 40, 2, 248, 1, 33, 4, 32, 3, 40, 2, 244, 1, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 240, 1, 65, 1, 71, 4, 64, 65, 3, 33, 6, 2, 64, 32, 5, 65, 124, 106, 34, 5, 65, 4, 75, 13, 0, 2, 64, 2, 64, 2, 64, 32, 5, 65, 1, 107, 14, 4, 3, 0, 3, 2, 1, 11, 32, 2, 65, 211, 131, 192, 0, 71, 4, 64, 32, 2, 65, 211, 131, 192, 0, 65, 6, 16, 156, 2, 13, 3, 11, 65, 0, 33, 6, 12, 2, 11, 32, 2, 65, 217, 131, 192, 0, 71, 4, 64, 32, 2, 40, 0, 0, 65, 244, 210, 181, 171, 6, 71, 13, 2, 11, 65, 1, 33, 6, 12, 1, 11, 32, 2, 65, 221, 131, 192, 0, 71, 4, 64, 32, 2, 41, 0, 0, 66, 227, 208, 133, 203, 230, 237, 215, 180, 228, 0, 82, 13, 1, 11, 65, 2, 33, 6, 11, 32, 4, 4, 64, 32, 2, 16, 204, 1, 11, 32, 6, 65, 2, 75, 13, 1, 32, 6, 65, 1, 107, 14, 2, 3, 4, 2, 11, 32, 3, 40, 2, 128, 2, 33, 6, 12, 44, 11, 32, 3, 65, 240, 1, 106, 32, 1, 16, 133, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 70, 13, 3, 32, 3, 40, 2, 248, 1, 33, 1, 32, 3, 40, 2, 244, 1, 33, 7, 32, 3, 32, 3, 40, 2, 252, 1, 34, 6, 54, 2, 156, 2, 32, 3, 32, 1, 54, 2, 152, 2, 32, 3, 32, 7, 54, 2, 148, 2, 32, 3, 32, 2, 54, 2, 144, 2, 12, 40, 11, 32, 31, 66, 1, 81, 13, 14, 32, 3, 65, 240, 1, 106, 32, 3, 65, 232, 1, 106, 16, 14, 32, 3, 40, 2, 240, 1, 65, 1, 70, 4, 64, 32, 3, 41, 3, 248, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 40, 2, 128, 2, 33, 6, 32, 3, 40, 2, 244, 1, 33, 2, 32, 30, 167, 33, 4, 12, 43, 11, 32, 3, 41, 3, 248, 1, 33, 32, 66, 1, 33, 31, 12, 3, 11, 32, 30, 66, 1, 81, 13, 14, 32, 3, 65, 240, 1, 106, 32, 3, 65, 232, 1, 106, 16, 14, 32, 3, 40, 2, 240, 1, 65, 1, 70, 4, 64, 32, 3, 41, 3, 248, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 40, 2, 128, 2, 33, 6, 32, 3, 40, 2, 244, 1, 33, 2, 32, 30, 167, 33, 4, 12, 42, 11, 32, 3, 41, 3, 248, 1, 33, 33, 66, 1, 33, 30, 12, 2, 11, 32, 12, 69, 4, 64, 32, 3, 65, 240, 1, 106, 32, 1, 16, 133, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 71, 4, 64, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 248, 1, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 65, 0, 33, 12, 12, 48, 11, 32, 3, 65, 16, 106, 32, 1, 16, 135, 1, 32, 3, 45, 0, 16, 65, 1, 113, 69, 4, 64, 65, 4, 33, 2, 12, 40, 11, 32, 3, 45, 0, 17, 65, 34, 71, 4, 64, 65, 14, 33, 2, 12, 40, 11, 32, 1, 16, 129, 1, 32, 3, 65, 240, 1, 106, 32, 1, 16, 134, 1, 32, 3, 40, 2, 252, 1, 33, 26, 32, 3, 40, 2, 248, 1, 33, 13, 32, 3, 40, 2, 244, 1, 33, 12, 32, 3, 40, 2, 240, 1, 65, 1, 71, 13, 2, 32, 3, 40, 2, 128, 2, 33, 6, 32, 12, 33, 2, 12, 39, 11, 32, 3, 65, 240, 1, 106, 65, 221, 131, 192, 0, 65, 8, 16, 15, 32, 3, 41, 2, 244, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 240, 1, 33, 2, 32, 30, 167, 33, 4, 32, 13, 13, 41, 12, 42, 11, 32, 3, 65, 144, 2, 106, 32, 1, 16, 16, 32, 3, 40, 2, 144, 2, 34, 2, 65, 22, 71, 13, 35, 11, 32, 3, 65, 8, 106, 32, 1, 16, 135, 1, 65, 0, 33, 5, 32, 3, 45, 0, 9, 33, 2, 32, 3, 45, 0, 8, 65, 1, 113, 13, 0, 11, 65, 2, 33, 2, 12, 37, 11, 32, 31, 66, 1, 82, 13, 30, 32, 30, 66, 1, 82, 4, 64, 32, 3, 65, 240, 1, 106, 65, 217, 131, 192, 0, 65, 4, 16, 17, 12, 32, 11, 32, 12, 69, 4, 64, 32, 3, 65, 240, 1, 106, 65, 221, 131, 192, 0, 65, 8, 16, 17, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 248, 1, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 3, 40, 2, 240, 1, 33, 2, 12, 39, 11, 32, 3, 65, 240, 1, 106, 32, 11, 16, 132, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 70, 13, 1, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 248, 1, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 13, 69, 13, 38, 32, 12, 16, 204, 1, 65, 0, 33, 12, 12, 42, 11, 32, 3, 65, 240, 1, 106, 65, 186, 131, 192, 0, 65, 5, 16, 15, 32, 3, 41, 2, 244, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 240, 1, 33, 2, 32, 30, 167, 33, 4, 12, 41, 11, 32, 32, 66, 32, 136, 167, 33, 29, 32, 26, 173, 33, 31, 32, 32, 167, 33, 26, 32, 33, 167, 33, 6, 32, 13, 33, 21, 12, 3, 11, 2, 64, 32, 8, 69, 4, 64, 32, 3, 65, 240, 1, 106, 32, 11, 16, 133, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 71, 13, 39, 32, 3, 65, 240, 0, 106, 32, 11, 16, 135, 1, 32, 3, 45, 0, 112, 65, 1, 113, 69, 4, 64, 65, 4, 33, 2, 12, 29, 11, 32, 3, 45, 0, 113, 65, 251, 0, 71, 4, 64, 65, 14, 33, 2, 12, 29, 11, 32, 11, 16, 129, 1, 32, 3, 65, 232, 0, 106, 32, 11, 16, 127, 32, 3, 40, 2, 104, 33, 1, 32, 3, 32, 3, 45, 0, 108, 65, 1, 113, 34, 13, 58, 0, 236, 1, 32, 3, 32, 1, 54, 2, 232, 1, 32, 3, 65, 224, 0, 106, 32, 1, 16, 135, 1, 32, 3, 45, 0, 96, 65, 1, 113, 69, 4, 64, 65, 2, 33, 2, 65, 0, 33, 8, 12, 42, 11, 32, 3, 45, 0, 97, 33, 2, 65, 0, 33, 8, 32, 13, 33, 5, 65, 0, 33, 16, 2, 64, 3, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 255, 1, 113, 34, 4, 65, 44, 71, 4, 64, 32, 4, 65, 253, 0, 70, 13, 5, 32, 13, 65, 255, 1, 113, 13, 1, 32, 8, 33, 7, 65, 9, 33, 2, 12, 30, 11, 32, 5, 65, 255, 1, 113, 69, 13, 1, 11, 65, 0, 33, 13, 32, 3, 65, 0, 58, 0, 236, 1, 12, 1, 11, 32, 1, 16, 129, 1, 32, 3, 65, 216, 0, 106, 32, 1, 16, 135, 1, 32, 3, 45, 0, 88, 65, 1, 113, 69, 13, 26, 32, 3, 45, 0, 89, 33, 2, 11, 32, 2, 65, 255, 1, 113, 34, 10, 65, 34, 71, 4, 64, 65, 19, 33, 2, 32, 8, 33, 7, 32, 10, 65, 253, 0, 70, 13, 27, 65, 16, 33, 2, 12, 27, 11, 32, 3, 65, 208, 0, 106, 32, 1, 16, 135, 1, 32, 3, 45, 0, 80, 65, 1, 113, 69, 13, 25, 32, 3, 45, 0, 81, 65, 34, 71, 4, 64, 32, 8, 33, 7, 65, 14, 33, 2, 12, 27, 11, 32, 1, 16, 129, 1, 32, 3, 65, 240, 1, 106, 32, 1, 16, 134, 1, 32, 3, 40, 2, 252, 1, 33, 5, 32, 3, 40, 2, 248, 1, 33, 4, 32, 3, 40, 2, 244, 1, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 240, 1, 65, 1, 71, 4, 64, 65, 2, 33, 10, 2, 64, 32, 5, 65, 122, 106, 34, 5, 65, 4, 75, 13, 0, 2, 64, 2, 64, 32, 5, 65, 1, 107, 14, 4, 2, 2, 2, 1, 0, 11, 32, 2, 65, 229, 131, 192, 0, 71, 4, 64, 32, 2, 65, 229, 131, 192, 0, 65, 6, 16, 156, 2, 13, 2, 11, 65, 0, 33, 10, 12, 1, 11, 32, 2, 65, 235, 131, 192, 0, 71, 4, 64, 32, 2, 65, 235, 131, 192, 0, 65, 10, 16, 156, 2, 13, 1, 11, 65, 1, 33, 10, 11, 32, 4, 4, 64, 32, 2, 16, 204, 1, 11, 32, 10, 65, 1, 75, 13, 1, 32, 10, 65, 1, 107, 13, 2, 12, 3, 11, 32, 3, 40, 2, 128, 2, 33, 6, 12, 29, 11, 32, 3, 65, 240, 1, 106, 32, 1, 16, 133, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 70, 13, 2, 32, 3, 40, 2, 248, 1, 33, 1, 32, 3, 40, 2, 244, 1, 33, 7, 32, 3, 65, 156, 2, 106, 32, 3, 40, 2, 252, 1, 34, 6, 54, 2, 0, 32, 3, 65, 152, 2, 106, 32, 1, 54, 2, 0, 32, 3, 32, 7, 54, 2, 148, 2, 32, 3, 32, 2, 54, 2, 144, 2, 12, 27, 11, 2, 64, 32, 8, 69, 4, 64, 32, 3, 65, 240, 1, 106, 32, 1, 16, 133, 1, 65, 0, 33, 7, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 71, 4, 64, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 248, 1, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 12, 32, 11, 32, 3, 65, 200, 0, 106, 32, 1, 16, 135, 1, 2, 127, 65, 4, 32, 3, 45, 0, 72, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 3, 45, 0, 73, 65, 34, 71, 13, 0, 26, 32, 1, 16, 129, 1, 32, 3, 65, 240, 1, 106, 32, 1, 16, 134, 1, 32, 3, 41, 3, 248, 1, 33, 30, 32, 3, 40, 2, 244, 1, 33, 8, 32, 3, 40, 2, 240, 1, 65, 1, 71, 13, 2, 32, 3, 40, 2, 128, 2, 33, 6, 32, 8, 11, 33, 2, 32, 30, 66, 32, 136, 167, 33, 5, 32, 30, 167, 33, 4, 12, 31, 11, 32, 3, 65, 240, 1, 106, 65, 229, 131, 192, 0, 65, 6, 16, 15, 32, 3, 41, 2, 244, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 240, 1, 33, 2, 32, 30, 167, 33, 4, 12, 28, 11, 32, 30, 66, 32, 136, 167, 33, 7, 32, 30, 167, 33, 22, 12, 2, 11, 32, 16, 13, 13, 32, 3, 65, 240, 1, 106, 32, 3, 65, 232, 1, 106, 16, 18, 32, 3, 40, 2, 240, 1, 65, 1, 70, 4, 64, 32, 3, 41, 3, 248, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 65, 128, 2, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 244, 1, 33, 2, 32, 30, 167, 33, 4, 32, 8, 33, 7, 12, 31, 11, 32, 3, 40, 2, 252, 1, 33, 23, 32, 3, 40, 2, 248, 1, 33, 24, 32, 3, 40, 2, 244, 1, 33, 16, 12, 1, 11, 32, 3, 65, 144, 2, 106, 32, 1, 16, 16, 32, 3, 40, 2, 144, 2, 34, 2, 65, 22, 71, 13, 23, 11, 32, 3, 65, 64, 107, 32, 1, 16, 135, 1, 65, 0, 33, 5, 32, 3, 45, 0, 65, 33, 2, 32, 3, 45, 0, 64, 65, 1, 113, 13, 0, 11, 32, 8, 33, 7, 65, 2, 33, 2, 12, 25, 11, 32, 8, 69, 4, 64, 32, 3, 65, 240, 1, 106, 65, 229, 131, 192, 0, 65, 6, 16, 17, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 65, 248, 1, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 3, 40, 2, 240, 1, 33, 2, 65, 0, 33, 7, 12, 25, 11, 32, 16, 13, 1, 32, 3, 65, 240, 1, 106, 65, 235, 131, 192, 0, 65, 10, 16, 17, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 65, 248, 1, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 3, 40, 2, 240, 1, 33, 2, 32, 22, 69, 13, 27, 32, 8, 16, 204, 1, 12, 27, 11, 32, 3, 65, 240, 1, 106, 65, 191, 131, 192, 0, 65, 7, 16, 15, 32, 3, 41, 2, 244, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 240, 1, 33, 2, 32, 30, 167, 33, 4, 12, 40, 11, 32, 3, 65, 240, 1, 106, 32, 11, 16, 132, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 71, 13, 17, 32, 23, 33, 17, 32, 24, 33, 18, 32, 16, 33, 14, 32, 22, 33, 25, 12, 2, 11, 32, 15, 69, 4, 64, 32, 3, 65, 240, 1, 106, 32, 11, 16, 133, 1, 32, 3, 40, 2, 252, 1, 33, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 71, 4, 64, 32, 3, 40, 2, 248, 1, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 1, 33, 6, 12, 43, 11, 32, 3, 65, 168, 1, 106, 32, 11, 16, 135, 1, 32, 3, 45, 0, 168, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 2, 12, 17, 11, 32, 3, 45, 0, 169, 1, 65, 251, 0, 71, 4, 64, 65, 14, 33, 2, 12, 17, 11, 32, 11, 16, 129, 1, 32, 3, 65, 160, 1, 106, 32, 11, 16, 127, 32, 3, 45, 0, 164, 1, 33, 4, 32, 3, 65, 152, 1, 106, 32, 3, 40, 2, 160, 1, 34, 9, 16, 135, 1, 32, 3, 45, 0, 152, 1, 65, 1, 113, 69, 4, 64, 65, 2, 33, 2, 32, 1, 33, 6, 12, 43, 11, 32, 3, 45, 0, 153, 1, 33, 2, 32, 4, 65, 1, 113, 33, 4, 65, 0, 33, 15, 2, 64, 3, 64, 2, 64, 32, 2, 65, 255, 1, 113, 34, 5, 65, 44, 71, 4, 64, 32, 5, 65, 253, 0, 70, 13, 3, 32, 4, 65, 255, 1, 113, 13, 1, 65, 9, 33, 2, 12, 18, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 2, 12, 18, 11, 32, 9, 16, 129, 1, 32, 3, 65, 144, 1, 106, 32, 9, 16, 135, 1, 32, 3, 45, 0, 144, 1, 65, 1, 113, 69, 13, 16, 32, 3, 45, 0, 145, 1, 33, 2, 11, 32, 2, 65, 255, 1, 113, 34, 4, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 4, 65, 253, 0, 70, 27, 33, 2, 12, 17, 11, 32, 3, 65, 136, 1, 106, 32, 9, 16, 135, 1, 32, 3, 45, 0, 136, 1, 65, 1, 113, 69, 13, 15, 32, 3, 45, 0, 137, 1, 65, 34, 71, 4, 64, 65, 14, 33, 2, 12, 17, 11, 32, 9, 16, 129, 1, 32, 3, 65, 240, 1, 106, 32, 9, 16, 134, 1, 32, 3, 40, 2, 252, 1, 33, 5, 32, 3, 40, 2, 248, 1, 33, 4, 32, 3, 40, 2, 244, 1, 33, 2, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 240, 1, 65, 1, 71, 4, 64, 65, 1, 33, 10, 2, 64, 32, 5, 65, 7, 71, 13, 0, 32, 2, 65, 197, 130, 192, 0, 71, 4, 64, 32, 2, 65, 197, 130, 192, 0, 65, 7, 16, 156, 2, 13, 1, 11, 65, 0, 33, 10, 11, 32, 4, 4, 64, 32, 2, 16, 204, 1, 11, 32, 10, 69, 13, 1, 32, 3, 65, 240, 1, 106, 32, 9, 16, 133, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 70, 13, 2, 32, 3, 40, 2, 248, 1, 33, 1, 32, 3, 40, 2, 244, 1, 33, 7, 32, 3, 65, 156, 2, 106, 32, 3, 40, 2, 252, 1, 34, 6, 54, 2, 0, 32, 3, 65, 152, 2, 106, 32, 1, 54, 2, 0, 32, 3, 32, 7, 54, 2, 148, 2, 32, 3, 32, 2, 54, 2, 144, 2, 12, 18, 11, 32, 3, 40, 2, 128, 2, 33, 6, 12, 19, 11, 2, 64, 32, 15, 69, 4, 64, 32, 3, 65, 240, 1, 106, 32, 9, 16, 133, 1, 65, 1, 33, 10, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 71, 4, 64, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 248, 1, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 12, 49, 11, 32, 3, 65, 128, 1, 106, 32, 9, 16, 135, 1, 2, 127, 65, 4, 32, 3, 45, 0, 128, 1, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 3, 45, 0, 129, 1, 65, 34, 71, 13, 0, 26, 32, 9, 16, 129, 1, 32, 3, 65, 240, 1, 106, 32, 9, 16, 134, 1, 32, 3, 41, 3, 248, 1, 33, 30, 32, 3, 40, 2, 244, 1, 33, 15, 32, 3, 40, 2, 240, 1, 65, 1, 71, 13, 2, 32, 3, 40, 2, 128, 2, 33, 6, 32, 15, 11, 33, 2, 32, 30, 66, 32, 136, 167, 33, 5, 32, 30, 167, 33, 4, 12, 48, 11, 32, 3, 65, 240, 1, 106, 65, 197, 130, 192, 0, 65, 7, 16, 15, 32, 3, 41, 2, 244, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 240, 1, 33, 2, 32, 30, 167, 33, 4, 32, 20, 13, 20, 65, 1, 33, 10, 12, 47, 11, 32, 30, 66, 32, 136, 167, 33, 28, 32, 30, 167, 33, 20, 12, 1, 11, 32, 3, 65, 144, 2, 106, 32, 9, 16, 16, 32, 3, 40, 2, 144, 2, 34, 2, 65, 22, 71, 13, 14, 11, 32, 3, 65, 248, 0, 106, 32, 9, 16, 135, 1, 65, 0, 33, 4, 32, 3, 45, 0, 121, 33, 2, 32, 3, 45, 0, 120, 65, 1, 113, 13, 0, 11, 65, 2, 33, 2, 12, 15, 11, 32, 15, 69, 4, 64, 32, 3, 65, 240, 1, 106, 65, 197, 130, 192, 0, 65, 7, 16, 17, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 65, 248, 1, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 3, 40, 2, 240, 1, 33, 2, 65, 1, 33, 10, 12, 43, 11, 32, 3, 65, 240, 1, 106, 32, 11, 16, 132, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 70, 13, 2, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 248, 1, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 20, 13, 15, 65, 1, 33, 10, 12, 42, 11, 32, 3, 65, 240, 1, 106, 65, 198, 131, 192, 0, 65, 8, 16, 15, 32, 3, 41, 2, 244, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 240, 1, 33, 2, 32, 30, 167, 33, 4, 12, 40, 11, 32, 3, 65, 144, 2, 106, 32, 11, 16, 16, 32, 3, 40, 2, 144, 2, 34, 2, 65, 22, 71, 13, 7, 11, 32, 3, 32, 11, 16, 135, 1, 65, 0, 33, 4, 32, 3, 45, 0, 1, 33, 2, 32, 3, 45, 0, 0, 65, 1, 113, 13, 0, 11, 65, 2, 33, 2, 12, 35, 11, 32, 12, 69, 4, 64, 32, 3, 65, 240, 1, 106, 65, 186, 131, 192, 0, 65, 5, 16, 17, 32, 3, 41, 2, 244, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 240, 1, 33, 2, 32, 30, 167, 33, 4, 65, 1, 33, 19, 65, 0, 33, 12, 12, 35, 11, 32, 8, 69, 4, 64, 32, 3, 65, 240, 1, 106, 65, 191, 131, 192, 0, 65, 7, 16, 17, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 65, 248, 1, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 3, 40, 2, 240, 1, 33, 2, 65, 1, 33, 19, 12, 4, 11, 32, 15, 69, 4, 64, 32, 3, 65, 240, 1, 106, 65, 198, 131, 192, 0, 65, 8, 16, 17, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 65, 248, 1, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 3, 40, 2, 240, 1, 33, 2, 32, 25, 4, 64, 32, 8, 16, 204, 1, 11, 32, 17, 4, 64, 32, 17, 65, 5, 116, 33, 9, 32, 14, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 7, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 7, 16, 204, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 9, 65, 96, 106, 34, 9, 13, 0, 11, 11, 65, 0, 33, 19, 32, 18, 69, 32, 18, 65, 5, 116, 69, 32, 14, 69, 114, 114, 13, 4, 32, 14, 16, 204, 1, 12, 4, 11, 32, 3, 65, 240, 1, 106, 32, 3, 65, 216, 1, 106, 16, 132, 1, 32, 3, 65, 252, 1, 106, 33, 1, 32, 3, 65, 248, 1, 106, 33, 5, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 32, 5, 40, 2, 0, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 21, 4, 64, 32, 12, 16, 204, 1, 11, 32, 25, 4, 64, 32, 8, 16, 204, 1, 11, 32, 17, 4, 64, 32, 14, 32, 17, 65, 5, 116, 106, 33, 8, 32, 14, 33, 1, 3, 64, 32, 1, 34, 7, 65, 32, 106, 33, 1, 2, 64, 32, 7, 65, 16, 106, 40, 2, 0, 34, 13, 69, 13, 0, 32, 7, 65, 20, 106, 40, 2, 0, 69, 13, 0, 32, 13, 16, 204, 1, 11, 32, 1, 32, 8, 71, 13, 0, 11, 11, 32, 18, 69, 32, 18, 65, 5, 116, 69, 114, 69, 4, 64, 32, 14, 16, 204, 1, 11, 32, 20, 69, 13, 39, 32, 15, 16, 204, 1, 12, 39, 11, 32, 3, 65, 240, 1, 106, 32, 3, 65, 216, 1, 106, 16, 130, 1, 32, 3, 40, 2, 240, 1, 34, 2, 65, 22, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 32, 5, 40, 2, 0, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 21, 4, 64, 32, 12, 16, 204, 1, 11, 32, 25, 4, 64, 32, 8, 16, 204, 1, 11, 32, 17, 4, 64, 32, 14, 32, 17, 65, 5, 116, 106, 33, 8, 32, 14, 33, 1, 3, 64, 32, 1, 34, 7, 65, 32, 106, 33, 1, 2, 64, 32, 7, 65, 16, 106, 40, 2, 0, 34, 13, 69, 13, 0, 32, 7, 65, 20, 106, 40, 2, 0, 69, 13, 0, 32, 13, 16, 204, 1, 11, 32, 1, 32, 8, 71, 13, 0, 11, 11, 32, 18, 69, 32, 18, 65, 5, 116, 69, 114, 69, 4, 64, 32, 14, 16, 204, 1, 11, 32, 20, 69, 13, 39, 32, 15, 16, 204, 1, 12, 39, 11, 32, 0, 65, 200, 0, 106, 32, 28, 173, 55, 3, 0, 32, 0, 65, 196, 0, 106, 32, 20, 54, 2, 0, 32, 0, 65, 64, 107, 32, 15, 54, 2, 0, 32, 0, 65, 60, 106, 32, 17, 54, 2, 0, 32, 0, 65, 56, 106, 32, 18, 54, 2, 0, 32, 0, 65, 52, 106, 32, 14, 54, 2, 0, 32, 0, 65, 48, 106, 32, 7, 54, 2, 0, 32, 0, 65, 44, 106, 32, 25, 54, 2, 0, 32, 0, 65, 40, 106, 32, 8, 54, 2, 0, 32, 0, 65, 32, 106, 32, 31, 55, 3, 0, 32, 0, 65, 28, 106, 32, 21, 54, 2, 0, 32, 0, 65, 24, 106, 32, 12, 54, 2, 0, 32, 0, 65, 16, 106, 32, 33, 55, 3, 0, 32, 0, 65, 8, 106, 32, 32, 55, 3, 0, 65, 0, 33, 27, 12, 39, 11, 32, 3, 65, 240, 1, 106, 65, 211, 131, 192, 0, 65, 6, 16, 15, 32, 3, 41, 2, 244, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 240, 1, 33, 2, 32, 30, 167, 33, 4, 12, 27, 11, 32, 3, 65, 240, 1, 106, 65, 217, 131, 192, 0, 65, 4, 16, 15, 32, 3, 41, 2, 244, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 240, 1, 33, 2, 32, 30, 167, 33, 4, 12, 26, 11, 32, 3, 65, 240, 1, 106, 65, 235, 131, 192, 0, 65, 10, 16, 15, 32, 3, 41, 2, 244, 1, 34, 30, 66, 32, 136, 167, 33, 5, 32, 3, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 240, 1, 33, 2, 32, 30, 167, 33, 4, 32, 8, 33, 7, 12, 15, 11, 65, 0, 33, 10, 32, 21, 69, 4, 64, 65, 0, 33, 21, 12, 32, 11, 32, 12, 16, 204, 1, 12, 31, 11, 32, 3, 40, 2, 156, 2, 33, 6, 11, 32, 3, 41, 2, 148, 2, 34, 30, 66, 32, 136, 167, 33, 5, 32, 30, 167, 33, 4, 12, 28, 11, 32, 3, 65, 156, 2, 106, 40, 2, 0, 33, 6, 11, 32, 3, 41, 2, 148, 2, 34, 30, 66, 32, 136, 167, 33, 5, 32, 30, 167, 33, 4, 12, 1, 11, 65, 4, 33, 2, 11, 32, 20, 69, 4, 64, 65, 1, 33, 10, 12, 28, 11, 32, 15, 13, 0, 65, 1, 33, 10, 12, 27, 11, 65, 1, 33, 10, 32, 15, 16, 204, 1, 12, 26, 11, 32, 1, 33, 6, 32, 20, 33, 4, 32, 28, 33, 5, 12, 25, 11, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 248, 1, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 22, 4, 64, 32, 8, 16, 204, 1, 11, 32, 23, 4, 64, 32, 23, 65, 5, 116, 33, 9, 32, 16, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 7, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 7, 16, 204, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 9, 65, 96, 106, 34, 9, 13, 0, 11, 11, 65, 0, 33, 8, 32, 24, 69, 32, 24, 65, 5, 116, 69, 114, 13, 21, 32, 16, 16, 204, 1, 12, 21, 11, 32, 3, 65, 156, 2, 106, 40, 2, 0, 33, 6, 11, 32, 3, 41, 2, 148, 2, 34, 30, 66, 32, 136, 167, 33, 5, 32, 30, 167, 33, 4, 11, 32, 8, 33, 7, 12, 1, 11, 32, 8, 33, 7, 65, 4, 33, 2, 11, 32, 16, 69, 13, 1, 11, 32, 23, 4, 64, 32, 23, 65, 5, 116, 33, 9, 32, 16, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 8, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 8, 16, 204, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 9, 65, 96, 106, 34, 9, 13, 0, 11, 11, 32, 24, 69, 32, 24, 65, 5, 116, 69, 114, 13, 0, 32, 16, 16, 204, 1, 11, 32, 22, 69, 32, 7, 69, 114, 13, 0, 32, 7, 16, 204, 1, 65, 0, 33, 8, 12, 14, 11, 65, 0, 33, 8, 12, 13, 11, 32, 16, 33, 6, 32, 22, 33, 4, 32, 7, 33, 5, 12, 13, 11, 32, 3, 65, 240, 1, 106, 65, 211, 131, 192, 0, 65, 6, 16, 17, 11, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 248, 1, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 32, 3, 40, 2, 240, 1, 33, 2, 12, 4, 11, 32, 3, 40, 2, 156, 2, 33, 6, 11, 32, 3, 41, 2, 148, 2, 34, 30, 66, 32, 136, 167, 33, 5, 32, 30, 167, 33, 4, 12, 2, 11, 32, 13, 33, 4, 32, 26, 33, 5, 65, 0, 33, 12, 12, 7, 11, 65, 4, 33, 2, 11, 32, 13, 69, 32, 12, 69, 114, 13, 1, 11, 32, 12, 16, 204, 1, 65, 0, 33, 12, 12, 4, 11, 65, 0, 33, 12, 12, 3, 11, 32, 26, 33, 4, 32, 29, 33, 5, 12, 3, 11, 32, 3, 40, 2, 252, 1, 33, 6, 32, 3, 40, 2, 248, 1, 33, 5, 32, 3, 40, 2, 244, 1, 33, 4, 12, 2, 11, 65, 4, 33, 2, 11, 65, 1, 33, 10, 11, 32, 15, 69, 13, 1, 11, 32, 20, 69, 13, 0, 32, 15, 16, 204, 1, 11, 2, 64, 32, 8, 69, 32, 19, 69, 114, 13, 0, 32, 25, 4, 64, 32, 8, 16, 204, 1, 11, 32, 17, 4, 64, 32, 17, 65, 5, 116, 33, 9, 32, 14, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 7, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 7, 16, 204, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 9, 65, 96, 106, 34, 9, 13, 0, 11, 11, 32, 18, 69, 32, 18, 65, 5, 116, 69, 32, 14, 69, 114, 114, 13, 0, 32, 14, 16, 204, 1, 11, 32, 21, 69, 32, 12, 69, 114, 32, 10, 65, 1, 115, 114, 13, 0, 32, 12, 16, 204, 1, 11, 32, 3, 65, 156, 2, 106, 32, 6, 54, 2, 0, 32, 3, 32, 2, 54, 2, 144, 2, 32, 3, 32, 4, 173, 32, 5, 173, 66, 32, 134, 132, 55, 2, 148, 2, 32, 3, 65, 240, 1, 106, 65, 159, 136, 192, 0, 65, 24, 32, 3, 65, 144, 2, 106, 16, 19, 32, 0, 65, 28, 106, 32, 3, 65, 136, 2, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 3, 65, 128, 2, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 3, 65, 248, 1, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 3, 41, 3, 240, 1, 55, 2, 4, 11, 32, 0, 32, 27, 54, 2, 0, 32, 3, 65, 160, 2, 106, 36, 0, 11, 218, 3, 2, 4, 127, 2, 126, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 2, 65, 48, 106, 32, 1, 40, 2, 0, 16, 133, 1, 2, 64, 2, 64, 32, 2, 40, 2, 48, 34, 3, 65, 22, 70, 4, 64, 32, 2, 65, 40, 106, 32, 1, 40, 2, 0, 34, 3, 16, 135, 1, 65, 1, 33, 1, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 40, 65, 1, 113, 4, 64, 32, 2, 45, 0, 41, 34, 1, 65, 83, 106, 34, 4, 65, 3, 75, 13, 1, 32, 4, 65, 1, 107, 14, 3, 1, 1, 3, 2, 11, 32, 0, 65, 4, 54, 2, 4, 12, 6, 11, 32, 1, 65, 79, 106, 65, 255, 1, 113, 65, 9, 73, 13, 2, 32, 0, 65, 14, 54, 2, 4, 12, 4, 11, 32, 0, 65, 13, 54, 2, 4, 12, 3, 11, 32, 3, 16, 129, 1, 32, 0, 65, 8, 106, 66, 0, 55, 3, 0, 65, 0, 33, 1, 12, 3, 11, 32, 3, 16, 129, 1, 32, 2, 65, 32, 106, 32, 3, 16, 136, 1, 32, 1, 65, 80, 106, 173, 66, 255, 1, 131, 33, 6, 2, 64, 2, 64, 32, 2, 45, 0, 33, 34, 1, 65, 80, 106, 65, 255, 1, 113, 65, 9, 75, 13, 0, 32, 2, 45, 0, 32, 65, 1, 113, 69, 13, 0, 3, 64, 32, 2, 65, 16, 106, 32, 6, 66, 0, 66, 10, 16, 157, 2, 32, 3, 16, 129, 1, 32, 2, 41, 3, 24, 80, 69, 4, 64, 32, 0, 66, 13, 55, 2, 4, 32, 0, 65, 12, 106, 66, 0, 55, 2, 0, 12, 5, 11, 32, 2, 41, 3, 16, 34, 7, 32, 1, 65, 80, 106, 173, 66, 255, 1, 131, 124, 34, 6, 32, 7, 84, 13, 2, 32, 2, 65, 8, 106, 32, 3, 16, 136, 1, 32, 2, 45, 0, 9, 34, 1, 65, 80, 106, 65, 255, 1, 113, 65, 9, 75, 13, 1, 32, 2, 45, 0, 8, 65, 1, 113, 13, 0, 11, 11, 32, 0, 65, 8, 106, 32, 6, 55, 3, 0, 65, 0, 33, 1, 12, 3, 11, 32, 0, 66, 13, 55, 2, 4, 32, 0, 65, 12, 106, 66, 0, 55, 2, 0, 12, 1, 11, 32, 2, 65, 60, 106, 40, 2, 0, 33, 1, 32, 2, 65, 56, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 52, 33, 5, 32, 0, 32, 3, 54, 2, 4, 32, 0, 65, 16, 106, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 11, 65, 1, 33, 1, 11, 32, 0, 32, 1, 54, 2, 0, 32, 2, 65, 64, 107, 36, 0, 11, 97, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 12, 32, 3, 32, 1, 54, 2, 8, 32, 3, 65, 36, 106, 65, 1, 54, 2, 0, 32, 3, 66, 2, 55, 2, 20, 32, 3, 65, 128, 144, 192, 0, 54, 2, 16, 32, 3, 65, 2, 54, 2, 44, 32, 3, 32, 3, 65, 40, 106, 54, 2, 32, 32, 3, 32, 3, 65, 8, 106, 54, 2, 40, 32, 0, 32, 3, 65, 16, 106, 16, 48, 32, 3, 65, 48, 106, 36, 0, 11, 241, 8, 1, 4, 127, 35, 0, 65, 128, 1, 107, 34, 2, 36, 0, 32, 2, 65, 56, 106, 32, 1, 16, 135, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 56, 65, 1, 113, 4, 64, 32, 2, 45, 0, 57, 34, 3, 65, 165, 127, 106, 34, 4, 65, 34, 77, 13, 1, 32, 3, 65, 94, 106, 34, 3, 65, 10, 75, 13, 6, 2, 64, 32, 3, 65, 1, 107, 14, 10, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 0, 11, 32, 2, 65, 16, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 16, 65, 1, 113, 69, 13, 2, 32, 2, 45, 0, 17, 65, 34, 71, 4, 64, 32, 0, 65, 14, 54, 2, 0, 12, 8, 11, 32, 1, 16, 129, 1, 32, 2, 65, 232, 0, 106, 32, 1, 16, 134, 1, 32, 2, 65, 240, 0, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 108, 33, 1, 32, 2, 40, 2, 104, 65, 1, 71, 4, 64, 32, 0, 65, 22, 54, 2, 0, 32, 1, 69, 32, 3, 69, 114, 13, 8, 32, 1, 16, 204, 1, 12, 8, 11, 32, 2, 65, 248, 0, 106, 40, 2, 0, 33, 4, 32, 2, 65, 244, 0, 106, 40, 2, 0, 33, 5, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 12, 7, 11, 32, 0, 65, 4, 54, 2, 0, 12, 6, 11, 32, 4, 65, 1, 107, 14, 34, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 1, 3, 11, 32, 0, 65, 4, 54, 2, 0, 12, 4, 11, 32, 0, 65, 11, 54, 2, 0, 12, 3, 11, 32, 2, 65, 48, 106, 32, 1, 16, 135, 1, 2, 64, 32, 2, 45, 0, 48, 65, 1, 113, 4, 64, 32, 2, 45, 0, 49, 65, 251, 0, 71, 4, 64, 32, 0, 65, 14, 54, 2, 0, 12, 5, 11, 32, 1, 16, 129, 1, 32, 2, 65, 40, 106, 32, 1, 16, 127, 32, 2, 40, 2, 40, 33, 3, 32, 2, 32, 2, 45, 0, 44, 65, 1, 113, 58, 0, 100, 32, 2, 32, 3, 54, 2, 96, 32, 2, 65, 240, 0, 106, 33, 3, 2, 127, 3, 64, 32, 2, 65, 232, 0, 106, 32, 2, 65, 224, 0, 106, 16, 51, 32, 2, 45, 0, 104, 65, 1, 70, 4, 64, 32, 2, 65, 216, 0, 106, 32, 3, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 3, 41, 2, 0, 55, 3, 80, 32, 2, 40, 2, 108, 12, 2, 11, 32, 2, 45, 0, 105, 13, 0, 11, 65, 22, 11, 33, 3, 32, 2, 65, 200, 0, 106, 34, 4, 32, 2, 65, 216, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 80, 55, 3, 64, 32, 3, 65, 22, 71, 13, 1, 32, 2, 65, 232, 0, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 104, 34, 1, 65, 22, 70, 4, 64, 32, 0, 65, 22, 54, 2, 0, 12, 5, 11, 32, 2, 65, 244, 0, 106, 40, 2, 0, 33, 3, 32, 2, 65, 240, 0, 106, 40, 2, 0, 33, 4, 32, 0, 32, 2, 40, 2, 108, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 4, 11, 32, 0, 65, 4, 54, 2, 0, 12, 3, 11, 32, 0, 32, 3, 54, 2, 0, 32, 0, 32, 2, 41, 3, 64, 55, 2, 4, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 2, 11, 32, 2, 65, 32, 106, 32, 1, 16, 135, 1, 2, 64, 32, 2, 45, 0, 32, 65, 1, 113, 4, 64, 32, 2, 45, 0, 33, 65, 219, 0, 71, 4, 64, 32, 0, 65, 14, 54, 2, 0, 12, 4, 11, 32, 1, 16, 129, 1, 32, 2, 65, 24, 106, 32, 1, 16, 127, 32, 2, 40, 2, 24, 33, 3, 32, 2, 32, 2, 45, 0, 28, 65, 1, 113, 58, 0, 100, 32, 2, 32, 3, 54, 2, 96, 32, 2, 65, 240, 0, 106, 33, 3, 2, 127, 3, 64, 32, 2, 65, 232, 0, 106, 32, 2, 65, 224, 0, 106, 16, 52, 32, 2, 45, 0, 104, 65, 1, 70, 4, 64, 32, 2, 65, 216, 0, 106, 32, 3, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 3, 41, 2, 0, 55, 3, 80, 32, 2, 40, 2, 108, 12, 2, 11, 32, 2, 45, 0, 105, 13, 0, 11, 65, 22, 11, 33, 3, 32, 2, 65, 200, 0, 106, 34, 4, 32, 2, 65, 216, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 80, 55, 3, 64, 32, 3, 65, 22, 71, 13, 1, 32, 2, 65, 232, 0, 106, 32, 1, 16, 131, 1, 32, 2, 40, 2, 104, 34, 1, 65, 22, 70, 4, 64, 32, 0, 65, 22, 54, 2, 0, 12, 4, 11, 32, 2, 65, 244, 0, 106, 40, 2, 0, 33, 3, 32, 2, 65, 240, 0, 106, 40, 2, 0, 33, 4, 32, 0, 32, 2, 40, 2, 108, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 3, 11, 32, 0, 65, 4, 54, 2, 0, 12, 2, 11, 32, 0, 32, 3, 54, 2, 0, 32, 0, 32, 2, 41, 3, 64, 55, 2, 4, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 2, 65, 8, 106, 32, 1, 16, 136, 1, 32, 2, 45, 0, 8, 65, 1, 113, 4, 64, 32, 2, 45, 0, 9, 33, 3, 3, 64, 32, 3, 65, 44, 70, 32, 3, 65, 253, 0, 70, 114, 69, 65, 0, 32, 3, 65, 221, 0, 71, 27, 69, 4, 64, 32, 0, 65, 22, 54, 2, 0, 12, 3, 11, 32, 1, 16, 129, 1, 32, 2, 32, 1, 16, 136, 1, 32, 2, 45, 0, 1, 33, 3, 32, 2, 45, 0, 0, 65, 1, 113, 13, 0, 11, 11, 32, 0, 65, 3, 54, 2, 0, 11, 32, 2, 65, 128, 1, 106, 36, 0, 11, 97, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 12, 32, 3, 32, 1, 54, 2, 8, 32, 3, 65, 36, 106, 65, 1, 54, 2, 0, 32, 3, 66, 2, 55, 2, 20, 32, 3, 65, 220, 143, 192, 0, 54, 2, 16, 32, 3, 65, 2, 54, 2, 44, 32, 3, 32, 3, 65, 40, 106, 54, 2, 32, 32, 3, 32, 3, 65, 8, 106, 54, 2, 40, 32, 0, 32, 3, 65, 16, 106, 16, 48, 32, 3, 65, 48, 106, 36, 0, 11, 197, 20, 2, 20, 127, 3, 126, 35, 0, 65, 208, 1, 107, 34, 2, 36, 0, 32, 2, 65, 168, 1, 106, 32, 1, 40, 2, 0, 16, 133, 1, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 168, 1, 34, 4, 65, 22, 70, 4, 64, 32, 2, 65, 232, 0, 106, 32, 1, 40, 2, 0, 34, 15, 16, 135, 1, 32, 2, 45, 0, 104, 65, 1, 113, 4, 64, 32, 2, 45, 0, 105, 65, 219, 0, 71, 4, 64, 32, 0, 66, 129, 128, 128, 128, 224, 1, 55, 2, 0, 12, 5, 11, 32, 15, 16, 129, 1, 32, 2, 65, 224, 0, 106, 32, 15, 16, 127, 32, 2, 45, 0, 100, 32, 2, 65, 216, 0, 106, 32, 2, 40, 2, 96, 34, 13, 16, 135, 1, 32, 2, 45, 0, 88, 65, 1, 113, 69, 4, 64, 65, 1, 33, 4, 12, 4, 11, 32, 2, 45, 0, 89, 33, 1, 65, 1, 113, 33, 20, 65, 8, 33, 7, 2, 64, 2, 64, 3, 64, 2, 64, 32, 1, 65, 255, 1, 113, 34, 4, 65, 44, 71, 4, 64, 32, 4, 65, 221, 0, 70, 13, 4, 32, 20, 65, 0, 33, 20, 13, 1, 65, 7, 33, 4, 12, 7, 11, 32, 13, 16, 129, 1, 32, 2, 65, 208, 0, 106, 32, 13, 16, 135, 1, 32, 2, 45, 0, 80, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 7, 11, 32, 2, 45, 0, 81, 33, 1, 11, 32, 1, 65, 255, 1, 113, 65, 221, 0, 70, 4, 64, 65, 19, 33, 4, 12, 6, 11, 32, 2, 65, 200, 0, 106, 32, 13, 16, 135, 1, 65, 1, 33, 21, 65, 4, 33, 4, 2, 64, 32, 2, 45, 0, 72, 65, 1, 113, 69, 13, 0, 65, 14, 33, 4, 32, 2, 45, 0, 73, 65, 251, 0, 71, 13, 0, 32, 13, 16, 129, 1, 32, 2, 65, 64, 107, 32, 13, 16, 127, 32, 2, 45, 0, 68, 33, 5, 32, 2, 65, 56, 106, 32, 2, 40, 2, 64, 34, 8, 16, 135, 1, 65, 2, 33, 4, 32, 2, 45, 0, 56, 65, 1, 113, 69, 13, 0, 32, 2, 45, 0, 57, 33, 3, 32, 5, 65, 1, 113, 33, 6, 66, 0, 33, 22, 65, 0, 33, 4, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 2, 64, 32, 3, 65, 255, 1, 113, 34, 1, 65, 44, 71, 4, 64, 32, 1, 65, 253, 0, 70, 13, 3, 32, 6, 65, 255, 1, 113, 13, 1, 65, 9, 33, 3, 12, 8, 11, 32, 6, 65, 255, 1, 113, 4, 64, 65, 16, 33, 3, 12, 8, 11, 32, 8, 16, 129, 1, 32, 2, 65, 48, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 48, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 8, 11, 32, 2, 45, 0, 49, 33, 3, 11, 32, 3, 65, 255, 1, 113, 34, 14, 65, 34, 71, 4, 64, 65, 19, 33, 3, 32, 14, 65, 253, 0, 70, 13, 7, 65, 16, 33, 3, 12, 7, 11, 32, 2, 65, 40, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 40, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 7, 11, 32, 2, 45, 0, 41, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 7, 11, 32, 8, 16, 129, 1, 32, 2, 65, 168, 1, 106, 32, 8, 16, 134, 1, 32, 2, 40, 2, 180, 1, 33, 1, 32, 2, 40, 2, 176, 1, 33, 6, 32, 2, 40, 2, 172, 1, 33, 3, 32, 2, 40, 2, 168, 1, 65, 1, 70, 13, 5, 65, 2, 33, 14, 2, 64, 32, 1, 65, 123, 106, 34, 1, 65, 1, 75, 13, 0, 32, 1, 65, 1, 107, 4, 64, 32, 3, 65, 171, 130, 192, 0, 71, 4, 64, 32, 3, 65, 171, 130, 192, 0, 65, 5, 16, 156, 2, 13, 2, 11, 65, 0, 33, 14, 12, 1, 11, 32, 3, 65, 189, 128, 192, 0, 71, 4, 64, 32, 3, 65, 189, 128, 192, 0, 65, 6, 16, 156, 2, 13, 1, 11, 65, 1, 33, 14, 11, 32, 6, 4, 64, 32, 3, 16, 204, 1, 11, 2, 64, 2, 64, 2, 64, 2, 64, 32, 14, 65, 1, 77, 4, 64, 32, 14, 65, 1, 107, 13, 1, 12, 2, 11, 32, 2, 65, 168, 1, 106, 32, 8, 16, 133, 1, 32, 2, 40, 2, 168, 1, 34, 3, 65, 22, 70, 13, 2, 32, 2, 40, 2, 176, 1, 33, 1, 32, 2, 40, 2, 172, 1, 33, 6, 32, 2, 32, 2, 40, 2, 180, 1, 34, 9, 54, 2, 132, 1, 32, 2, 32, 1, 54, 2, 128, 1, 32, 2, 32, 6, 54, 2, 124, 32, 2, 32, 3, 54, 2, 120, 12, 10, 11, 32, 4, 69, 4, 64, 32, 2, 65, 168, 1, 106, 32, 8, 16, 133, 1, 32, 2, 40, 2, 168, 1, 34, 4, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 1, 33, 9, 32, 2, 40, 2, 176, 1, 33, 11, 32, 2, 40, 2, 172, 1, 33, 5, 12, 12, 11, 32, 2, 65, 24, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 24, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 12, 11, 32, 2, 45, 0, 25, 65, 34, 71, 4, 64, 65, 14, 33, 4, 12, 12, 11, 32, 8, 16, 129, 1, 32, 2, 65, 168, 1, 106, 32, 8, 16, 134, 1, 32, 2, 40, 2, 180, 1, 33, 11, 32, 2, 40, 2, 176, 1, 33, 5, 32, 2, 40, 2, 172, 1, 33, 4, 32, 2, 40, 2, 168, 1, 65, 1, 71, 13, 3, 32, 2, 40, 2, 184, 1, 33, 9, 12, 11, 11, 32, 2, 65, 168, 1, 106, 65, 171, 130, 192, 0, 65, 5, 16, 15, 12, 7, 11, 32, 22, 66, 1, 82, 4, 64, 32, 2, 65, 168, 1, 106, 32, 8, 16, 133, 1, 32, 2, 40, 2, 168, 1, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 1, 33, 9, 32, 2, 40, 2, 176, 1, 33, 1, 32, 2, 40, 2, 172, 1, 33, 6, 12, 10, 11, 32, 2, 65, 32, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 32, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 7, 11, 32, 2, 45, 0, 33, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 7, 11, 32, 8, 16, 129, 1, 32, 2, 65, 168, 1, 106, 32, 8, 16, 134, 1, 32, 2, 40, 2, 180, 1, 33, 1, 32, 2, 40, 2, 176, 1, 33, 6, 32, 2, 40, 2, 172, 1, 33, 3, 32, 2, 40, 2, 168, 1, 65, 1, 70, 13, 8, 32, 2, 32, 1, 54, 2, 116, 32, 2, 32, 3, 54, 2, 112, 32, 2, 65, 248, 0, 106, 32, 3, 32, 1, 16, 143, 2, 2, 127, 32, 2, 45, 0, 120, 65, 1, 70, 4, 64, 32, 2, 32, 2, 45, 0, 121, 58, 0, 151, 1, 32, 2, 65, 2, 54, 2, 188, 1, 32, 2, 66, 2, 55, 2, 172, 1, 32, 2, 65, 132, 145, 192, 0, 54, 2, 168, 1, 32, 2, 65, 3, 54, 2, 204, 1, 32, 2, 65, 2, 54, 2, 196, 1, 32, 2, 32, 2, 65, 192, 1, 106, 54, 2, 184, 1, 32, 2, 32, 2, 65, 151, 1, 106, 54, 2, 200, 1, 32, 2, 32, 2, 65, 240, 0, 106, 54, 2, 192, 1, 32, 2, 65, 152, 1, 106, 32, 2, 65, 168, 1, 106, 16, 212, 1, 32, 2, 65, 168, 1, 106, 32, 2, 65, 152, 1, 106, 16, 215, 1, 2, 64, 32, 2, 40, 2, 152, 1, 34, 1, 69, 13, 0, 32, 2, 40, 2, 156, 1, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 2, 40, 2, 168, 1, 33, 16, 32, 2, 40, 2, 172, 1, 33, 17, 32, 2, 40, 2, 176, 1, 33, 9, 65, 1, 12, 1, 11, 32, 2, 40, 2, 140, 1, 33, 18, 32, 2, 40, 2, 136, 1, 33, 9, 32, 2, 40, 2, 132, 1, 33, 17, 32, 2, 40, 2, 128, 1, 33, 16, 65, 0, 11, 33, 1, 32, 6, 4, 64, 32, 3, 16, 204, 1, 11, 66, 1, 33, 22, 32, 1, 69, 13, 2, 65, 20, 33, 3, 12, 6, 11, 32, 2, 65, 168, 1, 106, 65, 189, 128, 192, 0, 65, 6, 16, 15, 12, 6, 11, 32, 2, 65, 248, 0, 106, 32, 8, 16, 16, 32, 2, 40, 2, 120, 34, 3, 65, 22, 71, 13, 3, 11, 32, 2, 65, 16, 106, 32, 8, 16, 135, 1, 65, 0, 33, 6, 32, 2, 45, 0, 17, 33, 3, 32, 2, 45, 0, 16, 65, 1, 113, 13, 0, 11, 65, 2, 33, 3, 12, 5, 11, 32, 4, 69, 4, 64, 32, 2, 65, 168, 1, 106, 65, 171, 130, 192, 0, 65, 5, 16, 17, 32, 2, 40, 2, 180, 1, 33, 9, 32, 2, 40, 2, 176, 1, 33, 11, 32, 2, 40, 2, 172, 1, 33, 5, 32, 2, 40, 2, 168, 1, 33, 4, 12, 6, 11, 2, 64, 32, 22, 66, 1, 82, 4, 64, 32, 2, 65, 168, 1, 106, 65, 189, 128, 192, 0, 65, 6, 16, 17, 32, 2, 40, 2, 180, 1, 33, 9, 32, 2, 40, 2, 176, 1, 33, 11, 32, 2, 40, 2, 172, 1, 33, 1, 32, 2, 40, 2, 168, 1, 33, 18, 32, 5, 69, 13, 1, 32, 4, 16, 204, 1, 12, 1, 11, 32, 2, 65, 168, 1, 106, 32, 13, 16, 132, 1, 32, 2, 40, 2, 168, 1, 34, 1, 65, 22, 70, 4, 64, 32, 11, 173, 33, 24, 65, 0, 33, 21, 32, 5, 33, 3, 32, 16, 33, 5, 32, 17, 33, 11, 12, 7, 11, 32, 2, 40, 2, 180, 1, 33, 9, 32, 2, 40, 2, 176, 1, 33, 11, 32, 2, 40, 2, 172, 1, 32, 5, 4, 64, 32, 4, 16, 204, 1, 11, 32, 1, 33, 4, 33, 5, 12, 6, 11, 32, 18, 33, 4, 32, 1, 33, 5, 12, 5, 11, 32, 2, 40, 2, 132, 1, 33, 9, 32, 2, 40, 2, 128, 1, 33, 1, 32, 2, 40, 2, 124, 33, 6, 12, 3, 11, 32, 16, 33, 6, 32, 17, 33, 1, 12, 2, 11, 32, 2, 40, 2, 180, 1, 33, 9, 32, 2, 40, 2, 176, 1, 33, 1, 32, 2, 40, 2, 172, 1, 33, 6, 32, 2, 40, 2, 168, 1, 33, 3, 12, 1, 11, 32, 2, 40, 2, 184, 1, 33, 9, 11, 32, 5, 69, 32, 4, 69, 114, 69, 4, 64, 32, 4, 16, 204, 1, 11, 32, 3, 33, 4, 32, 6, 33, 5, 32, 1, 33, 11, 11, 32, 5, 173, 32, 11, 173, 66, 32, 134, 132, 33, 22, 32, 9, 173, 33, 23, 32, 21, 13, 5, 32, 4, 69, 13, 2, 2, 64, 32, 10, 32, 12, 70, 4, 64, 32, 10, 65, 1, 106, 34, 1, 32, 10, 73, 13, 1, 32, 10, 65, 1, 116, 34, 5, 32, 1, 32, 5, 32, 1, 75, 27, 34, 1, 65, 4, 32, 1, 65, 4, 75, 27, 34, 5, 65, 255, 255, 255, 63, 113, 34, 11, 32, 5, 71, 13, 1, 32, 5, 65, 5, 116, 34, 1, 65, 0, 72, 13, 1, 2, 64, 2, 64, 32, 7, 65, 0, 32, 10, 27, 34, 7, 4, 64, 32, 10, 65, 5, 116, 34, 6, 32, 1, 70, 13, 1, 32, 6, 69, 4, 64, 32, 1, 69, 4, 64, 65, 8, 33, 7, 12, 4, 11, 32, 1, 65, 8, 16, 73, 33, 7, 12, 2, 11, 32, 7, 32, 6, 65, 8, 32, 1, 16, 74, 33, 7, 12, 1, 11, 32, 5, 32, 11, 70, 65, 3, 116, 33, 7, 32, 1, 69, 13, 0, 32, 1, 32, 7, 16, 73, 33, 7, 11, 32, 7, 69, 13, 4, 11, 32, 1, 65, 5, 118, 33, 10, 11, 32, 7, 32, 12, 65, 5, 116, 106, 34, 1, 32, 23, 66, 255, 255, 255, 255, 15, 131, 32, 18, 173, 66, 32, 134, 132, 55, 3, 8, 32, 1, 32, 22, 55, 3, 0, 32, 1, 32, 4, 54, 2, 16, 32, 1, 65, 24, 106, 32, 24, 55, 3, 0, 32, 1, 65, 20, 106, 32, 3, 54, 2, 0, 32, 2, 65, 8, 106, 32, 13, 16, 135, 1, 32, 19, 65, 32, 106, 33, 19, 65, 1, 33, 4, 32, 12, 65, 1, 106, 33, 12, 32, 2, 45, 0, 9, 33, 1, 32, 2, 45, 0, 8, 65, 1, 113, 13, 1, 12, 6, 11, 11, 16, 213, 1, 0, 11, 32, 1, 65, 8, 16, 211, 1, 0, 11, 32, 2, 65, 168, 1, 106, 32, 15, 16, 131, 1, 32, 2, 40, 2, 168, 1, 34, 1, 65, 22, 70, 4, 64, 32, 0, 32, 7, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 12, 106, 32, 12, 54, 2, 0, 32, 0, 65, 8, 106, 32, 10, 54, 2, 0, 12, 5, 11, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 5, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 172, 1, 33, 3, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 5, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 32, 12, 4, 64, 32, 7, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 19, 65, 96, 106, 34, 19, 13, 0, 11, 11, 32, 10, 69, 32, 10, 65, 5, 116, 69, 114, 13, 4, 32, 7, 16, 204, 1, 12, 4, 11, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 12, 3, 11, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 1, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 1, 33, 3, 32, 0, 32, 4, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 12, 2, 11, 32, 12, 4, 64, 32, 12, 65, 5, 116, 33, 12, 32, 7, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 12, 65, 96, 106, 34, 12, 13, 0, 11, 11, 32, 10, 69, 32, 10, 65, 5, 116, 69, 114, 13, 0, 32, 7, 16, 204, 1, 11, 32, 0, 32, 4, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 23, 62, 2, 0, 32, 0, 65, 8, 106, 32, 22, 55, 2, 0, 11, 32, 2, 65, 208, 1, 106, 36, 0, 11, 175, 4, 1, 3, 127, 35, 0, 65, 208, 0, 107, 34, 4, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 127, 74, 4, 64, 65, 1, 33, 6, 32, 2, 4, 64, 32, 2, 33, 5, 32, 2, 65, 1, 16, 73, 34, 6, 69, 13, 2, 11, 32, 4, 65, 0, 54, 2, 64, 32, 4, 32, 6, 54, 2, 56, 32, 4, 32, 5, 54, 2, 60, 32, 4, 65, 56, 106, 32, 2, 16, 6, 32, 4, 40, 2, 64, 34, 5, 32, 4, 40, 2, 56, 106, 32, 1, 32, 2, 16, 154, 2, 26, 32, 4, 65, 16, 106, 32, 2, 32, 5, 106, 54, 2, 0, 32, 4, 32, 4, 41, 3, 56, 55, 3, 8, 32, 4, 65, 0, 54, 2, 32, 32, 4, 66, 1, 55, 3, 24, 32, 4, 32, 3, 54, 2, 36, 32, 4, 65, 4, 54, 2, 44, 32, 4, 32, 4, 65, 36, 106, 54, 2, 40, 32, 4, 32, 4, 65, 24, 106, 54, 2, 52, 32, 4, 65, 204, 0, 106, 65, 1, 54, 2, 0, 32, 4, 66, 1, 55, 2, 60, 32, 4, 65, 228, 134, 192, 0, 54, 2, 56, 32, 4, 32, 4, 65, 40, 106, 54, 2, 72, 32, 4, 65, 52, 106, 65, 232, 141, 192, 0, 32, 4, 65, 56, 106, 16, 227, 1, 13, 2, 2, 64, 32, 4, 40, 2, 28, 34, 1, 32, 4, 40, 2, 32, 34, 2, 70, 13, 0, 32, 1, 32, 2, 73, 13, 4, 32, 1, 69, 13, 0, 32, 4, 40, 2, 24, 34, 5, 69, 13, 0, 2, 64, 32, 2, 69, 4, 64, 65, 1, 33, 1, 32, 5, 16, 204, 1, 12, 1, 11, 32, 5, 32, 1, 65, 1, 32, 2, 16, 74, 34, 1, 69, 13, 6, 11, 32, 4, 32, 2, 54, 2, 28, 32, 4, 32, 1, 54, 2, 24, 11, 32, 4, 65, 64, 107, 34, 1, 32, 4, 65, 16, 106, 40, 2, 0, 54, 2, 0, 32, 4, 65, 204, 0, 106, 34, 2, 32, 4, 65, 32, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 3, 8, 55, 3, 56, 32, 4, 32, 4, 41, 3, 24, 55, 2, 68, 32, 0, 16, 157, 1, 58, 0, 1, 32, 0, 65, 4, 58, 0, 0, 32, 0, 65, 12, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 0, 65, 4, 106, 32, 4, 41, 3, 56, 55, 2, 0, 32, 0, 65, 16, 106, 32, 4, 41, 2, 68, 55, 2, 0, 32, 0, 65, 24, 106, 32, 2, 40, 2, 0, 54, 2, 0, 2, 64, 32, 3, 40, 2, 0, 65, 20, 71, 13, 0, 32, 3, 40, 2, 4, 34, 0, 69, 13, 0, 32, 3, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 4, 65, 208, 0, 106, 36, 0, 15, 11, 16, 28, 0, 11, 32, 2, 16, 29, 0, 11, 65, 236, 134, 192, 0, 65, 55, 32, 4, 65, 56, 106, 65, 204, 142, 192, 0, 65, 236, 135, 192, 0, 16, 235, 1, 0, 11, 65, 168, 143, 192, 0, 65, 36, 65, 152, 143, 192, 0, 16, 219, 1, 0, 11, 32, 2, 65, 1, 16, 211, 1, 0, 11, 145, 15, 1, 16, 127, 35, 0, 65, 240, 0, 107, 34, 3, 36, 0, 32, 3, 65, 48, 106, 32, 1, 32, 2, 16, 128, 1, 32, 3, 65, 40, 106, 32, 3, 65, 48, 106, 16, 135, 1, 65, 1, 33, 15, 2, 64, 2, 64, 32, 3, 45, 0, 40, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 1, 11, 32, 3, 45, 0, 41, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 1, 11, 32, 3, 65, 48, 106, 16, 129, 1, 32, 3, 65, 32, 106, 32, 3, 65, 48, 106, 16, 127, 32, 3, 45, 0, 36, 33, 2, 32, 3, 65, 24, 106, 32, 3, 40, 2, 32, 34, 4, 16, 135, 1, 32, 3, 45, 0, 24, 65, 1, 113, 69, 4, 64, 65, 2, 33, 1, 12, 1, 11, 32, 3, 45, 0, 25, 33, 1, 32, 2, 65, 1, 113, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 2, 64, 32, 1, 65, 255, 1, 113, 34, 5, 65, 44, 71, 4, 64, 32, 5, 65, 253, 0, 70, 13, 3, 32, 2, 65, 255, 1, 113, 13, 1, 65, 1, 33, 9, 65, 9, 33, 1, 12, 6, 11, 32, 2, 65, 255, 1, 113, 4, 64, 65, 1, 33, 9, 65, 16, 33, 1, 12, 6, 11, 32, 4, 16, 129, 1, 32, 3, 65, 16, 106, 32, 4, 16, 135, 1, 65, 1, 33, 9, 32, 3, 45, 0, 16, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 6, 11, 32, 3, 45, 0, 17, 33, 1, 11, 65, 1, 33, 9, 32, 1, 65, 255, 1, 113, 34, 10, 65, 34, 71, 4, 64, 65, 19, 33, 1, 32, 10, 65, 253, 0, 70, 13, 5, 65, 16, 33, 1, 12, 5, 11, 32, 3, 65, 8, 106, 32, 4, 16, 135, 1, 65, 1, 33, 10, 32, 3, 45, 0, 8, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 6, 11, 32, 3, 45, 0, 9, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 6, 11, 32, 4, 16, 129, 1, 32, 3, 65, 64, 107, 32, 4, 16, 134, 1, 32, 3, 40, 2, 76, 33, 5, 32, 3, 40, 2, 72, 33, 2, 32, 3, 40, 2, 68, 33, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 64, 65, 1, 71, 4, 64, 65, 3, 33, 12, 2, 64, 32, 5, 65, 122, 106, 34, 5, 65, 5, 75, 13, 0, 2, 64, 2, 64, 2, 64, 32, 5, 65, 1, 107, 14, 5, 3, 0, 3, 3, 1, 2, 11, 32, 1, 65, 180, 147, 192, 0, 71, 4, 64, 32, 1, 41, 0, 0, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 82, 13, 3, 11, 65, 0, 33, 12, 12, 2, 11, 32, 1, 65, 188, 147, 192, 0, 71, 4, 64, 32, 1, 65, 188, 147, 192, 0, 65, 11, 16, 156, 2, 13, 2, 11, 65, 1, 33, 12, 12, 1, 11, 32, 1, 65, 199, 147, 192, 0, 71, 4, 64, 32, 1, 65, 199, 147, 192, 0, 65, 6, 16, 156, 2, 13, 1, 11, 65, 2, 33, 12, 11, 32, 2, 4, 64, 32, 1, 16, 204, 1, 11, 32, 12, 65, 2, 75, 13, 1, 32, 12, 65, 1, 107, 14, 2, 3, 6, 2, 11, 32, 3, 40, 2, 80, 33, 4, 12, 13, 11, 32, 3, 65, 64, 107, 32, 4, 16, 133, 1, 32, 3, 40, 2, 64, 34, 1, 65, 22, 70, 13, 5, 32, 3, 40, 2, 72, 33, 5, 32, 3, 40, 2, 68, 33, 2, 32, 3, 32, 3, 40, 2, 76, 34, 4, 54, 2, 108, 32, 3, 32, 5, 54, 2, 104, 32, 3, 32, 2, 54, 2, 100, 32, 3, 32, 1, 54, 2, 96, 12, 12, 11, 2, 64, 32, 6, 69, 4, 64, 32, 3, 65, 64, 107, 32, 4, 16, 133, 1, 32, 3, 40, 2, 64, 34, 1, 65, 22, 71, 13, 11, 32, 3, 65, 64, 107, 32, 4, 16, 21, 32, 3, 40, 2, 76, 33, 16, 32, 3, 40, 2, 72, 33, 2, 32, 3, 40, 2, 68, 33, 6, 32, 3, 40, 2, 64, 65, 1, 71, 13, 1, 32, 3, 65, 208, 0, 106, 40, 2, 0, 33, 4, 32, 6, 33, 1, 32, 16, 33, 5, 65, 0, 33, 6, 12, 13, 11, 32, 3, 65, 64, 107, 65, 180, 147, 192, 0, 65, 8, 16, 15, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 12, 2, 11, 32, 2, 33, 11, 12, 5, 11, 32, 7, 69, 4, 64, 32, 3, 65, 64, 107, 32, 4, 16, 133, 1, 32, 3, 40, 2, 64, 34, 1, 65, 22, 71, 13, 9, 32, 3, 65, 64, 107, 32, 4, 16, 21, 32, 3, 40, 2, 76, 33, 17, 32, 3, 40, 2, 72, 33, 2, 32, 3, 40, 2, 68, 33, 7, 32, 3, 40, 2, 64, 65, 1, 71, 13, 2, 32, 3, 65, 208, 0, 106, 40, 2, 0, 33, 4, 32, 7, 33, 1, 32, 17, 33, 5, 65, 0, 33, 7, 12, 11, 11, 32, 3, 65, 64, 107, 65, 188, 147, 192, 0, 65, 11, 16, 15, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 11, 33, 5, 32, 3, 40, 2, 68, 33, 2, 32, 3, 40, 2, 64, 33, 1, 12, 9, 11, 32, 2, 33, 13, 12, 2, 11, 32, 8, 69, 4, 64, 32, 3, 65, 64, 107, 32, 4, 16, 133, 1, 32, 3, 40, 2, 64, 34, 1, 65, 22, 71, 4, 64, 32, 3, 40, 2, 76, 33, 4, 32, 3, 40, 2, 72, 33, 5, 32, 3, 40, 2, 68, 33, 2, 12, 11, 11, 32, 3, 65, 64, 107, 32, 4, 16, 21, 32, 3, 40, 2, 76, 33, 18, 32, 3, 40, 2, 72, 33, 14, 32, 3, 40, 2, 68, 33, 8, 32, 3, 40, 2, 64, 65, 1, 71, 13, 2, 32, 3, 65, 208, 0, 106, 40, 2, 0, 33, 4, 32, 8, 33, 1, 32, 14, 33, 2, 32, 18, 33, 5, 12, 10, 11, 32, 3, 65, 64, 107, 65, 199, 147, 192, 0, 65, 6, 16, 15, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 68, 33, 2, 32, 3, 40, 2, 64, 33, 1, 12, 8, 11, 32, 3, 65, 224, 0, 106, 32, 4, 16, 16, 32, 3, 40, 2, 96, 34, 1, 65, 22, 71, 13, 3, 11, 32, 3, 32, 4, 16, 135, 1, 65, 0, 33, 2, 32, 3, 45, 0, 1, 33, 1, 32, 3, 45, 0, 0, 65, 1, 113, 13, 0, 11, 65, 2, 33, 1, 12, 3, 11, 32, 6, 69, 4, 64, 32, 3, 65, 64, 107, 65, 180, 147, 192, 0, 65, 8, 16, 17, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 68, 33, 2, 32, 3, 40, 2, 64, 33, 1, 65, 1, 33, 9, 65, 0, 33, 6, 65, 1, 33, 10, 12, 4, 11, 2, 64, 32, 7, 69, 4, 64, 32, 3, 65, 64, 107, 65, 188, 147, 192, 0, 65, 11, 16, 17, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 68, 33, 2, 32, 3, 40, 2, 64, 33, 1, 65, 1, 33, 9, 12, 1, 11, 32, 8, 69, 4, 64, 32, 3, 65, 64, 107, 65, 199, 147, 192, 0, 65, 6, 16, 17, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 68, 33, 2, 32, 3, 40, 2, 64, 33, 1, 65, 0, 33, 9, 32, 13, 69, 13, 1, 32, 7, 16, 204, 1, 12, 1, 11, 32, 3, 65, 64, 107, 32, 3, 65, 48, 106, 16, 132, 1, 32, 3, 65, 204, 0, 106, 33, 5, 32, 3, 65, 200, 0, 106, 33, 2, 32, 3, 40, 2, 64, 34, 1, 65, 22, 71, 4, 64, 32, 5, 40, 2, 0, 33, 4, 32, 2, 40, 2, 0, 33, 5, 32, 3, 40, 2, 68, 33, 2, 32, 11, 4, 64, 32, 6, 16, 204, 1, 11, 32, 13, 4, 64, 32, 7, 16, 204, 1, 11, 32, 14, 69, 13, 8, 32, 8, 16, 204, 1, 12, 8, 11, 32, 3, 65, 64, 107, 32, 3, 65, 48, 106, 16, 130, 1, 32, 3, 40, 2, 64, 34, 1, 65, 22, 71, 4, 64, 32, 5, 40, 2, 0, 33, 4, 32, 2, 40, 2, 0, 33, 5, 32, 3, 40, 2, 68, 33, 2, 32, 11, 4, 64, 32, 6, 16, 204, 1, 11, 32, 13, 4, 64, 32, 7, 16, 204, 1, 11, 32, 14, 69, 13, 8, 32, 8, 16, 204, 1, 12, 8, 11, 32, 0, 32, 6, 54, 2, 4, 32, 0, 65, 36, 106, 32, 18, 54, 2, 0, 32, 0, 65, 32, 106, 32, 14, 54, 2, 0, 32, 0, 65, 28, 106, 32, 8, 54, 2, 0, 32, 0, 65, 24, 106, 32, 17, 54, 2, 0, 32, 0, 65, 20, 106, 32, 13, 54, 2, 0, 32, 0, 65, 16, 106, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 32, 16, 54, 2, 0, 32, 0, 65, 8, 106, 32, 11, 54, 2, 0, 65, 0, 33, 15, 12, 8, 11, 65, 0, 33, 10, 32, 11, 69, 4, 64, 65, 0, 33, 11, 12, 4, 11, 32, 6, 16, 204, 1, 12, 3, 11, 32, 3, 40, 2, 108, 33, 4, 32, 3, 40, 2, 104, 33, 5, 32, 3, 40, 2, 100, 33, 2, 12, 2, 11, 32, 3, 40, 2, 76, 33, 4, 32, 3, 40, 2, 72, 33, 5, 32, 3, 40, 2, 68, 33, 2, 12, 1, 11, 65, 1, 33, 10, 11, 32, 8, 69, 13, 1, 11, 32, 14, 69, 13, 0, 32, 8, 16, 204, 1, 11, 32, 9, 69, 32, 13, 69, 32, 7, 69, 114, 114, 69, 4, 64, 32, 7, 16, 204, 1, 11, 32, 11, 69, 32, 6, 69, 114, 32, 10, 65, 1, 115, 114, 13, 0, 32, 6, 16, 204, 1, 11, 32, 3, 65, 236, 0, 106, 32, 4, 54, 2, 0, 32, 3, 65, 232, 0, 106, 32, 5, 54, 2, 0, 32, 3, 32, 2, 54, 2, 100, 32, 3, 32, 1, 54, 2, 96, 32, 3, 65, 64, 107, 65, 205, 141, 192, 0, 65, 25, 32, 3, 65, 224, 0, 106, 16, 19, 32, 0, 65, 28, 106, 32, 3, 65, 216, 0, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 3, 65, 208, 0, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 3, 65, 200, 0, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 3, 41, 3, 64, 55, 2, 4, 11, 32, 0, 32, 15, 54, 2, 0, 32, 3, 65, 240, 0, 106, 36, 0, 11, 181, 3, 1, 4, 127, 35, 0, 65, 224, 0, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 135, 1, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 66, 129, 128, 128, 128, 224, 1, 55, 2, 0, 12, 4, 11, 32, 1, 16, 129, 1, 32, 2, 65, 16, 106, 32, 1, 16, 134, 1, 32, 2, 65, 28, 106, 40, 2, 0, 33, 3, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 20, 33, 1, 32, 2, 40, 2, 16, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 12, 32, 2, 32, 1, 54, 2, 8, 32, 2, 65, 16, 106, 32, 1, 32, 3, 16, 98, 32, 2, 40, 2, 16, 65, 1, 71, 13, 2, 32, 2, 65, 212, 0, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 68, 32, 2, 65, 164, 145, 192, 0, 54, 2, 64, 32, 2, 65, 2, 54, 2, 92, 32, 2, 32, 2, 65, 216, 0, 106, 54, 2, 80, 32, 2, 32, 2, 65, 8, 106, 54, 2, 88, 32, 2, 65, 48, 106, 32, 2, 65, 64, 107, 16, 212, 1, 32, 2, 65, 64, 107, 32, 2, 65, 48, 106, 16, 215, 1, 2, 64, 32, 2, 40, 2, 48, 34, 3, 69, 13, 0, 32, 2, 40, 2, 52, 69, 13, 0, 32, 3, 16, 204, 1, 11, 32, 0, 66, 129, 128, 128, 128, 192, 2, 55, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 2, 64, 55, 2, 0, 32, 0, 65, 16, 106, 32, 2, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 16, 106, 65, 4, 114, 16, 32, 12, 3, 11, 32, 2, 65, 32, 106, 40, 2, 0, 33, 5, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 5, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 3, 11, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 12, 2, 11, 32, 0, 32, 2, 41, 2, 20, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 28, 106, 40, 2, 0, 54, 2, 0, 11, 32, 4, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 2, 65, 224, 0, 106, 36, 0, 11, 155, 4, 2, 5, 127, 1, 126, 35, 0, 65, 208, 0, 107, 34, 2, 36, 0, 32, 2, 65, 8, 106, 16, 141, 1, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 16, 147, 1, 2, 64, 32, 2, 40, 2, 32, 65, 1, 70, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 44, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 64, 12, 1, 11, 32, 2, 32, 2, 40, 2, 36, 54, 2, 24, 32, 2, 32, 2, 65, 40, 106, 34, 3, 45, 0, 0, 58, 0, 28, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 180, 147, 192, 0, 65, 8, 32, 1, 16, 23, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 3, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 1, 11, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 188, 147, 192, 0, 65, 11, 32, 1, 65, 12, 106, 16, 23, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 40, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 1, 11, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 199, 147, 192, 0, 65, 6, 32, 1, 65, 24, 106, 16, 23, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 40, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 1, 11, 32, 2, 65, 64, 107, 32, 2, 40, 2, 24, 32, 2, 45, 0, 28, 16, 138, 1, 11, 32, 0, 2, 127, 32, 2, 40, 2, 64, 34, 1, 65, 3, 71, 4, 64, 32, 2, 65, 204, 0, 106, 40, 2, 0, 33, 3, 32, 2, 65, 200, 0, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 68, 33, 5, 2, 64, 32, 2, 40, 2, 8, 34, 6, 69, 13, 0, 32, 2, 40, 2, 12, 69, 13, 0, 32, 6, 16, 204, 1, 11, 32, 2, 65, 204, 0, 106, 32, 3, 54, 2, 0, 32, 2, 65, 200, 0, 106, 32, 4, 54, 2, 0, 32, 2, 32, 5, 54, 2, 68, 32, 2, 32, 1, 54, 2, 64, 32, 2, 65, 32, 106, 65, 205, 141, 192, 0, 65, 25, 32, 2, 65, 64, 107, 16, 24, 32, 0, 65, 28, 106, 32, 2, 65, 56, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 48, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 40, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 41, 3, 32, 55, 2, 4, 65, 1, 12, 1, 11, 32, 2, 41, 3, 8, 33, 7, 32, 0, 65, 12, 106, 32, 2, 40, 2, 16, 54, 2, 0, 32, 0, 32, 7, 55, 2, 4, 65, 0, 11, 54, 2, 0, 32, 2, 65, 208, 0, 106, 36, 0, 11, 255, 2, 1, 4, 127, 35, 0, 65, 32, 107, 34, 6, 36, 0, 32, 1, 45, 0, 4, 69, 4, 64, 32, 1, 40, 2, 0, 34, 5, 40, 2, 8, 34, 7, 32, 5, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 5, 65, 1, 16, 6, 32, 5, 40, 2, 8, 5, 32, 7, 11, 32, 5, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 5, 32, 5, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 32, 1, 40, 2, 0, 34, 5, 40, 2, 8, 34, 7, 32, 5, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 5, 65, 1, 16, 6, 32, 5, 40, 2, 8, 5, 32, 7, 11, 32, 5, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 5, 32, 5, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 1, 40, 2, 0, 34, 5, 32, 3, 16, 6, 32, 5, 65, 8, 106, 34, 7, 40, 2, 0, 34, 8, 32, 5, 40, 2, 0, 106, 32, 2, 32, 3, 16, 154, 2, 26, 32, 7, 32, 3, 32, 8, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 2, 65, 2, 16, 6, 32, 2, 65, 8, 106, 34, 3, 40, 2, 0, 34, 5, 32, 2, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 3, 32, 5, 65, 2, 106, 54, 2, 0, 32, 1, 40, 2, 0, 33, 1, 32, 6, 65, 16, 106, 32, 4, 16, 101, 32, 6, 32, 1, 32, 6, 40, 2, 16, 34, 1, 32, 6, 40, 2, 24, 16, 144, 1, 32, 6, 40, 2, 20, 4, 64, 32, 1, 16, 204, 1, 11, 2, 64, 32, 6, 40, 2, 0, 34, 1, 65, 3, 70, 4, 64, 32, 0, 65, 3, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 40, 2, 0, 33, 2, 32, 6, 65, 12, 106, 40, 2, 0, 33, 3, 32, 0, 32, 6, 40, 2, 4, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 54, 2, 0, 11, 32, 6, 65, 32, 106, 36, 0, 11, 175, 4, 1, 3, 127, 35, 0, 65, 208, 0, 107, 34, 4, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 127, 74, 4, 64, 65, 1, 33, 6, 32, 2, 4, 64, 32, 2, 33, 5, 32, 2, 65, 1, 16, 73, 34, 6, 69, 13, 2, 11, 32, 4, 65, 0, 54, 2, 64, 32, 4, 32, 6, 54, 2, 56, 32, 4, 32, 5, 54, 2, 60, 32, 4, 65, 56, 106, 32, 2, 16, 6, 32, 4, 40, 2, 64, 34, 5, 32, 4, 40, 2, 56, 106, 32, 1, 32, 2, 16, 154, 2, 26, 32, 4, 65, 16, 106, 32, 2, 32, 5, 106, 54, 2, 0, 32, 4, 32, 4, 41, 3, 56, 55, 3, 8, 32, 4, 65, 0, 54, 2, 32, 32, 4, 66, 1, 55, 3, 24, 32, 4, 32, 3, 54, 2, 36, 32, 4, 65, 5, 54, 2, 44, 32, 4, 32, 4, 65, 36, 106, 54, 2, 40, 32, 4, 32, 4, 65, 24, 106, 54, 2, 52, 32, 4, 65, 204, 0, 106, 65, 1, 54, 2, 0, 32, 4, 66, 1, 55, 2, 60, 32, 4, 65, 228, 134, 192, 0, 54, 2, 56, 32, 4, 32, 4, 65, 40, 106, 54, 2, 72, 32, 4, 65, 52, 106, 65, 232, 141, 192, 0, 32, 4, 65, 56, 106, 16, 227, 1, 13, 2, 2, 64, 32, 4, 40, 2, 28, 34, 1, 32, 4, 40, 2, 32, 34, 2, 70, 13, 0, 32, 1, 32, 2, 73, 13, 4, 32, 1, 69, 13, 0, 32, 4, 40, 2, 24, 34, 5, 69, 13, 0, 2, 64, 32, 2, 69, 4, 64, 65, 1, 33, 1, 32, 5, 16, 204, 1, 12, 1, 11, 32, 5, 32, 1, 65, 1, 32, 2, 16, 74, 34, 1, 69, 13, 6, 11, 32, 4, 32, 2, 54, 2, 28, 32, 4, 32, 1, 54, 2, 24, 11, 32, 4, 65, 64, 107, 34, 1, 32, 4, 65, 16, 106, 40, 2, 0, 54, 2, 0, 32, 4, 65, 204, 0, 106, 34, 2, 32, 4, 65, 32, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 3, 8, 55, 3, 56, 32, 4, 32, 4, 41, 3, 24, 55, 2, 68, 32, 0, 16, 157, 1, 58, 0, 1, 32, 0, 65, 5, 58, 0, 0, 32, 0, 65, 12, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 0, 65, 4, 106, 32, 4, 41, 3, 56, 55, 2, 0, 32, 0, 65, 16, 106, 32, 4, 41, 2, 68, 55, 2, 0, 32, 0, 65, 24, 106, 32, 2, 40, 2, 0, 54, 2, 0, 2, 64, 32, 3, 40, 2, 0, 65, 1, 71, 13, 0, 32, 3, 40, 2, 4, 34, 0, 69, 13, 0, 32, 3, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 4, 65, 208, 0, 106, 36, 0, 15, 11, 16, 28, 0, 11, 32, 2, 16, 29, 0, 11, 65, 236, 134, 192, 0, 65, 55, 32, 4, 65, 56, 106, 65, 204, 142, 192, 0, 65, 236, 135, 192, 0, 16, 235, 1, 0, 11, 65, 168, 143, 192, 0, 65, 36, 65, 152, 143, 192, 0, 16, 219, 1, 0, 11, 32, 2, 65, 1, 16, 211, 1, 0, 11, 245, 21, 2, 5, 127, 1, 126, 35, 0, 65, 208, 0, 107, 34, 2, 36, 0, 32, 2, 65, 8, 106, 16, 141, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 0, 65, 1, 107, 14, 3, 2, 3, 0, 1, 11, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 3, 11, 32, 2, 40, 2, 8, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 65, 248, 128, 192, 0, 65, 4, 16, 144, 1, 32, 2, 40, 2, 32, 34, 3, 65, 3, 71, 13, 3, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 3, 11, 32, 2, 40, 2, 8, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 32, 1, 65, 20, 106, 33, 3, 2, 64, 2, 64, 32, 1, 40, 2, 4, 65, 1, 70, 4, 64, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 65, 220, 130, 192, 0, 65, 3, 16, 148, 1, 32, 2, 40, 2, 32, 65, 1, 71, 13, 1, 32, 2, 65, 200, 0, 106, 32, 2, 65, 44, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 64, 12, 2, 11, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 65, 223, 130, 192, 0, 65, 5, 16, 148, 1, 32, 2, 40, 2, 32, 65, 1, 70, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 44, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 64, 12, 2, 11, 32, 2, 32, 2, 40, 2, 36, 54, 2, 24, 32, 2, 32, 2, 65, 40, 106, 34, 4, 45, 0, 0, 58, 0, 28, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 235, 128, 192, 0, 65, 13, 32, 1, 65, 8, 106, 16, 9, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 4, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 2, 11, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 220, 128, 192, 0, 32, 3, 16, 10, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 40, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 2, 11, 32, 2, 65, 64, 107, 32, 2, 40, 2, 24, 32, 2, 45, 0, 28, 16, 139, 1, 12, 1, 11, 32, 2, 32, 2, 40, 2, 36, 54, 2, 24, 32, 2, 32, 2, 65, 40, 106, 34, 4, 45, 0, 0, 58, 0, 28, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 235, 128, 192, 0, 65, 13, 32, 1, 65, 8, 106, 16, 9, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 4, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 1, 11, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 130, 130, 192, 0, 32, 3, 16, 10, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 40, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 1, 11, 32, 2, 65, 64, 107, 32, 2, 40, 2, 24, 32, 2, 45, 0, 28, 16, 139, 1, 11, 32, 2, 40, 2, 64, 34, 3, 65, 3, 70, 4, 64, 32, 2, 40, 2, 16, 34, 1, 32, 2, 40, 2, 12, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 1, 11, 32, 2, 40, 2, 8, 106, 65, 253, 0, 58, 0, 0, 65, 3, 33, 3, 32, 2, 65, 3, 54, 2, 32, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 12, 8, 11, 32, 2, 65, 200, 0, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 68, 33, 4, 32, 2, 65, 44, 106, 32, 2, 65, 204, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 40, 106, 32, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 36, 12, 6, 11, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 3, 11, 32, 2, 40, 2, 8, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 65, 137, 129, 192, 0, 65, 4, 16, 144, 1, 32, 2, 40, 2, 32, 34, 3, 65, 3, 71, 13, 3, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 3, 11, 32, 2, 40, 2, 8, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 2, 64, 2, 64, 32, 1, 40, 2, 4, 65, 1, 70, 4, 64, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 65, 185, 130, 192, 0, 65, 12, 16, 148, 1, 32, 2, 40, 2, 32, 65, 1, 71, 13, 1, 32, 2, 65, 200, 0, 106, 32, 2, 65, 44, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 64, 12, 2, 11, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 65, 204, 130, 192, 0, 65, 7, 16, 148, 1, 32, 2, 40, 2, 32, 65, 1, 70, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 44, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 64, 12, 2, 11, 32, 2, 32, 2, 40, 2, 36, 54, 2, 24, 32, 2, 32, 2, 65, 40, 106, 34, 3, 45, 0, 0, 58, 0, 28, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 197, 130, 192, 0, 65, 7, 32, 1, 65, 8, 106, 16, 9, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 3, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 2, 11, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 171, 130, 192, 0, 65, 5, 32, 1, 65, 20, 106, 16, 9, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 40, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 2, 11, 32, 2, 65, 64, 107, 32, 2, 40, 2, 24, 32, 2, 45, 0, 28, 16, 139, 1, 12, 1, 11, 32, 2, 32, 2, 40, 2, 36, 54, 2, 24, 32, 2, 32, 2, 65, 40, 106, 34, 3, 45, 0, 0, 58, 0, 28, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 197, 130, 192, 0, 65, 7, 32, 1, 65, 8, 106, 16, 9, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 3, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 1, 11, 32, 2, 65, 64, 107, 32, 2, 40, 2, 24, 32, 2, 45, 0, 28, 16, 139, 1, 11, 32, 2, 40, 2, 64, 34, 3, 65, 3, 70, 4, 64, 32, 2, 40, 2, 16, 34, 1, 32, 2, 40, 2, 12, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 1, 11, 32, 2, 40, 2, 8, 106, 65, 253, 0, 58, 0, 0, 65, 3, 33, 3, 32, 2, 65, 3, 54, 2, 32, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 12, 7, 11, 32, 2, 65, 200, 0, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 68, 33, 4, 32, 2, 65, 44, 106, 32, 2, 65, 204, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 40, 106, 32, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 36, 12, 5, 11, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 16, 26, 32, 2, 40, 2, 32, 33, 3, 12, 5, 11, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 3, 11, 32, 2, 40, 2, 8, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 65, 252, 128, 192, 0, 65, 7, 16, 144, 1, 32, 2, 40, 2, 32, 34, 3, 65, 3, 71, 13, 2, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 3, 11, 32, 2, 40, 2, 8, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 4, 65, 1, 107, 14, 3, 1, 2, 3, 0, 11, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 65, 156, 131, 192, 0, 65, 12, 16, 148, 1, 32, 2, 40, 2, 32, 65, 1, 70, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 32, 106, 65, 4, 114, 34, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 64, 12, 4, 11, 32, 2, 65, 64, 107, 32, 2, 40, 2, 36, 32, 2, 65, 40, 106, 45, 0, 0, 16, 139, 1, 12, 3, 11, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 65, 141, 131, 192, 0, 65, 15, 16, 148, 1, 32, 2, 40, 2, 32, 65, 1, 70, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 44, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 64, 12, 3, 11, 32, 2, 32, 2, 40, 2, 36, 54, 2, 24, 32, 2, 32, 2, 65, 40, 106, 34, 3, 45, 0, 0, 58, 0, 28, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 132, 131, 192, 0, 65, 9, 32, 1, 65, 8, 106, 16, 9, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 3, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 3, 11, 32, 2, 65, 64, 107, 32, 2, 40, 2, 24, 32, 2, 45, 0, 28, 16, 139, 1, 12, 2, 11, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 65, 250, 130, 192, 0, 65, 10, 16, 148, 1, 32, 2, 40, 2, 32, 65, 1, 70, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 44, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 64, 12, 2, 11, 32, 2, 32, 2, 40, 2, 36, 54, 2, 24, 32, 2, 32, 2, 65, 40, 106, 34, 3, 45, 0, 0, 58, 0, 28, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 132, 131, 192, 0, 65, 9, 32, 1, 65, 8, 106, 16, 9, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 3, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 2, 11, 32, 2, 65, 32, 106, 32, 2, 65, 24, 106, 65, 195, 129, 192, 0, 65, 9, 32, 1, 65, 20, 106, 16, 9, 32, 2, 40, 2, 32, 65, 3, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 40, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 64, 12, 2, 11, 32, 2, 65, 64, 107, 32, 2, 40, 2, 24, 32, 2, 45, 0, 28, 16, 139, 1, 12, 1, 11, 32, 2, 65, 32, 106, 32, 2, 65, 8, 106, 65, 240, 130, 192, 0, 65, 10, 16, 148, 1, 32, 2, 40, 2, 32, 65, 1, 70, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 65, 32, 106, 65, 4, 114, 34, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 64, 12, 1, 11, 32, 2, 65, 64, 107, 32, 2, 40, 2, 36, 32, 2, 65, 40, 106, 45, 0, 0, 16, 139, 1, 11, 32, 2, 40, 2, 64, 34, 3, 65, 3, 70, 4, 64, 32, 2, 40, 2, 16, 34, 1, 32, 2, 40, 2, 12, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 1, 11, 32, 2, 40, 2, 8, 106, 65, 253, 0, 58, 0, 0, 65, 3, 33, 3, 32, 2, 65, 3, 54, 2, 32, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 12, 5, 11, 32, 2, 65, 200, 0, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 68, 33, 4, 32, 2, 65, 44, 106, 32, 2, 65, 204, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 40, 106, 32, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 36, 12, 3, 11, 32, 2, 65, 40, 106, 34, 1, 40, 2, 0, 33, 4, 32, 2, 40, 2, 36, 33, 5, 32, 2, 65, 44, 106, 34, 6, 32, 6, 40, 2, 0, 54, 2, 0, 32, 1, 32, 4, 54, 2, 0, 32, 2, 32, 5, 54, 2, 36, 12, 2, 11, 32, 2, 65, 40, 106, 34, 1, 40, 2, 0, 33, 4, 32, 2, 40, 2, 36, 33, 5, 32, 2, 65, 44, 106, 34, 6, 32, 6, 40, 2, 0, 54, 2, 0, 32, 1, 32, 4, 54, 2, 0, 32, 2, 32, 5, 54, 2, 36, 12, 1, 11, 32, 2, 65, 40, 106, 34, 1, 40, 2, 0, 33, 4, 32, 2, 40, 2, 36, 33, 5, 32, 2, 65, 44, 106, 34, 6, 32, 6, 40, 2, 0, 54, 2, 0, 32, 1, 32, 4, 54, 2, 0, 32, 2, 32, 5, 54, 2, 36, 11, 32, 2, 32, 3, 54, 2, 32, 11, 32, 0, 2, 127, 32, 3, 65, 3, 71, 4, 64, 32, 2, 65, 44, 106, 40, 2, 0, 33, 1, 32, 2, 65, 40, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 36, 33, 5, 2, 64, 32, 2, 40, 2, 8, 34, 6, 69, 13, 0, 32, 2, 40, 2, 12, 69, 13, 0, 32, 6, 16, 204, 1, 11, 32, 2, 65, 204, 0, 106, 32, 1, 54, 2, 0, 32, 2, 65, 200, 0, 106, 32, 4, 54, 2, 0, 32, 2, 32, 5, 54, 2, 68, 32, 2, 32, 3, 54, 2, 64, 32, 2, 65, 32, 106, 65, 147, 137, 192, 0, 65, 61, 32, 2, 65, 64, 107, 16, 24, 32, 0, 65, 28, 106, 32, 2, 65, 56, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 48, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 40, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 41, 3, 32, 55, 2, 4, 65, 1, 12, 1, 11, 32, 2, 41, 3, 8, 33, 7, 32, 0, 65, 12, 106, 32, 2, 40, 2, 16, 54, 2, 0, 32, 0, 32, 7, 55, 2, 4, 65, 0, 11, 54, 2, 0, 32, 2, 65, 208, 0, 106, 36, 0, 11, 191, 3, 1, 3, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 1, 40, 2, 8, 34, 3, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 3, 11, 32, 1, 40, 2, 0, 106, 65, 251, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 2, 65, 24, 106, 32, 1, 65, 131, 129, 192, 0, 65, 6, 16, 144, 1, 2, 64, 2, 64, 32, 2, 40, 2, 24, 34, 3, 65, 3, 70, 4, 64, 32, 1, 40, 2, 8, 34, 3, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 3, 11, 32, 1, 40, 2, 0, 106, 65, 58, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 2, 65, 24, 106, 32, 1, 16, 147, 1, 2, 64, 32, 2, 40, 2, 24, 65, 1, 70, 4, 64, 32, 2, 65, 16, 106, 32, 2, 65, 24, 106, 65, 4, 114, 34, 3, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 3, 41, 2, 0, 55, 3, 8, 12, 1, 11, 32, 2, 65, 8, 106, 32, 2, 40, 2, 28, 32, 2, 65, 32, 106, 45, 0, 0, 16, 138, 1, 11, 32, 2, 40, 2, 8, 34, 3, 65, 3, 71, 13, 1, 32, 1, 40, 2, 8, 34, 3, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 3, 11, 32, 1, 40, 2, 0, 106, 65, 253, 0, 58, 0, 0, 32, 0, 65, 3, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 12, 2, 11, 32, 2, 65, 36, 106, 40, 2, 0, 33, 1, 32, 2, 65, 32, 106, 40, 2, 0, 33, 4, 32, 0, 32, 2, 40, 2, 28, 54, 2, 4, 32, 0, 32, 3, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 1, 11, 32, 2, 65, 20, 106, 40, 2, 0, 33, 1, 32, 2, 65, 16, 106, 40, 2, 0, 33, 4, 32, 0, 32, 2, 40, 2, 12, 54, 2, 4, 32, 0, 32, 3, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 11, 32, 2, 65, 48, 106, 36, 0, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 140, 1, 11, 6, 0, 16, 213, 1, 0, 11, 10, 0, 32, 0, 65, 1, 16, 211, 1, 0, 11, 11, 0, 32, 0, 40, 2, 0, 32, 1, 16, 126, 11, 134, 18, 1, 12, 127, 35, 0, 65, 192, 1, 107, 34, 2, 36, 0, 32, 2, 65, 56, 106, 32, 1, 16, 25, 2, 64, 32, 2, 40, 2, 56, 65, 1, 70, 4, 64, 32, 2, 65, 184, 1, 106, 32, 2, 65, 212, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 176, 1, 106, 32, 2, 65, 204, 0, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 168, 1, 106, 32, 2, 65, 196, 0, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 60, 55, 3, 160, 1, 32, 2, 65, 244, 0, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 100, 32, 2, 65, 148, 133, 192, 0, 54, 2, 96, 32, 2, 65, 6, 54, 2, 124, 32, 2, 32, 2, 65, 248, 0, 106, 54, 2, 112, 32, 2, 32, 2, 65, 160, 1, 106, 54, 2, 120, 32, 2, 65, 136, 1, 106, 32, 2, 65, 224, 0, 106, 16, 212, 1, 16, 157, 1, 33, 1, 32, 2, 65, 234, 0, 106, 32, 2, 65, 144, 1, 106, 40, 2, 0, 54, 1, 0, 32, 2, 32, 2, 41, 3, 136, 1, 55, 1, 98, 32, 0, 32, 1, 58, 0, 5, 32, 0, 65, 0, 58, 0, 4, 32, 0, 32, 2, 41, 1, 96, 55, 1, 6, 32, 0, 65, 12, 106, 32, 2, 65, 230, 0, 106, 41, 1, 0, 55, 1, 0, 32, 0, 65, 1, 54, 2, 0, 32, 2, 65, 160, 1, 106, 16, 32, 12, 1, 11, 32, 2, 65, 64, 107, 40, 2, 0, 32, 2, 65, 56, 106, 32, 2, 40, 2, 60, 34, 13, 32, 2, 65, 196, 0, 106, 34, 1, 40, 2, 0, 16, 116, 2, 64, 32, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 40, 2, 60, 65, 1, 70, 13, 1, 32, 2, 65, 128, 1, 106, 32, 2, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 65, 64, 107, 41, 3, 0, 55, 3, 120, 32, 2, 65, 48, 106, 32, 2, 65, 248, 0, 106, 16, 107, 32, 2, 65, 136, 1, 106, 32, 2, 40, 2, 48, 32, 2, 40, 2, 52, 16, 128, 1, 32, 2, 65, 40, 106, 32, 2, 65, 136, 1, 106, 16, 135, 1, 32, 2, 45, 0, 40, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 9, 11, 32, 2, 45, 0, 41, 65, 251, 0, 71, 4, 64, 65, 14, 33, 3, 12, 9, 11, 32, 2, 65, 136, 1, 106, 16, 129, 1, 32, 2, 65, 32, 106, 32, 2, 65, 136, 1, 106, 16, 127, 32, 2, 40, 2, 32, 33, 4, 32, 2, 32, 2, 45, 0, 36, 65, 1, 113, 34, 1, 58, 0, 156, 1, 32, 2, 32, 4, 54, 2, 152, 1, 32, 2, 65, 24, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 24, 65, 1, 113, 69, 4, 64, 65, 2, 33, 3, 12, 9, 11, 32, 2, 45, 0, 25, 33, 3, 32, 1, 33, 5, 2, 64, 3, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 5, 32, 1, 65, 255, 1, 113, 13, 1, 65, 9, 33, 3, 12, 12, 11, 32, 5, 65, 255, 1, 113, 69, 13, 1, 11, 65, 0, 33, 1, 32, 2, 65, 0, 58, 0, 156, 1, 12, 1, 11, 32, 4, 16, 129, 1, 32, 2, 65, 16, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 16, 65, 1, 113, 69, 13, 8, 32, 2, 45, 0, 17, 33, 3, 11, 32, 3, 65, 255, 1, 113, 34, 6, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 6, 65, 253, 0, 70, 27, 33, 3, 12, 9, 11, 32, 2, 65, 8, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 8, 65, 1, 113, 69, 13, 7, 32, 2, 45, 0, 9, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 9, 11, 32, 4, 16, 129, 1, 32, 2, 65, 160, 1, 106, 32, 4, 16, 134, 1, 32, 2, 40, 2, 172, 1, 33, 5, 32, 2, 40, 2, 168, 1, 33, 6, 32, 2, 40, 2, 164, 1, 33, 3, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 160, 1, 65, 1, 71, 4, 64, 65, 1, 33, 11, 2, 64, 32, 5, 65, 6, 71, 13, 0, 32, 3, 65, 189, 128, 192, 0, 71, 4, 64, 32, 3, 65, 189, 128, 192, 0, 65, 6, 16, 156, 2, 13, 1, 11, 65, 0, 33, 11, 11, 32, 6, 4, 64, 32, 3, 16, 204, 1, 11, 32, 11, 69, 13, 1, 32, 2, 65, 160, 1, 106, 32, 4, 16, 133, 1, 32, 2, 40, 2, 160, 1, 34, 3, 65, 22, 70, 13, 2, 32, 2, 40, 2, 168, 1, 33, 5, 32, 2, 40, 2, 164, 1, 33, 6, 32, 2, 32, 2, 40, 2, 172, 1, 34, 9, 54, 2, 108, 32, 2, 32, 5, 54, 2, 104, 32, 2, 32, 6, 54, 2, 100, 32, 2, 32, 3, 54, 2, 96, 12, 12, 11, 32, 2, 40, 2, 176, 1, 33, 9, 12, 11, 11, 32, 8, 13, 6, 32, 2, 65, 160, 1, 106, 32, 2, 65, 152, 1, 106, 16, 18, 32, 2, 40, 2, 160, 1, 65, 1, 70, 4, 64, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 9, 32, 2, 40, 2, 172, 1, 33, 5, 32, 2, 40, 2, 168, 1, 33, 6, 32, 2, 40, 2, 164, 1, 33, 3, 12, 13, 11, 32, 2, 40, 2, 172, 1, 33, 7, 32, 2, 40, 2, 168, 1, 33, 10, 32, 2, 40, 2, 164, 1, 33, 8, 12, 1, 11, 32, 2, 65, 224, 0, 106, 32, 4, 16, 16, 32, 2, 40, 2, 96, 34, 3, 65, 22, 71, 13, 7, 11, 32, 2, 32, 4, 16, 135, 1, 65, 0, 33, 5, 32, 2, 45, 0, 1, 33, 3, 32, 2, 45, 0, 0, 65, 1, 113, 13, 0, 11, 65, 2, 33, 3, 12, 7, 11, 32, 8, 69, 4, 64, 32, 2, 65, 160, 1, 106, 65, 189, 128, 192, 0, 65, 6, 16, 17, 32, 2, 65, 172, 1, 106, 40, 2, 0, 33, 9, 32, 2, 65, 168, 1, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 164, 1, 33, 6, 32, 2, 40, 2, 160, 1, 33, 3, 12, 9, 11, 32, 2, 65, 160, 1, 106, 32, 2, 65, 136, 1, 106, 16, 132, 1, 32, 2, 65, 172, 1, 106, 33, 1, 32, 2, 65, 168, 1, 106, 33, 5, 32, 2, 40, 2, 160, 1, 34, 3, 65, 22, 71, 13, 3, 32, 2, 65, 160, 1, 106, 32, 2, 65, 136, 1, 106, 16, 130, 1, 32, 2, 40, 2, 160, 1, 34, 3, 65, 22, 71, 4, 64, 32, 1, 40, 2, 0, 33, 9, 32, 5, 40, 2, 0, 33, 5, 32, 2, 40, 2, 164, 1, 33, 6, 32, 7, 4, 64, 32, 7, 65, 5, 116, 33, 1, 32, 8, 65, 20, 106, 33, 4, 3, 64, 2, 64, 32, 4, 65, 124, 106, 40, 2, 0, 34, 7, 69, 13, 0, 32, 4, 40, 2, 0, 69, 13, 0, 32, 7, 16, 204, 1, 11, 32, 4, 65, 32, 106, 33, 4, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 10, 69, 32, 10, 65, 5, 116, 69, 114, 13, 9, 32, 8, 16, 204, 1, 12, 9, 11, 32, 0, 32, 8, 54, 2, 4, 32, 0, 65, 12, 106, 32, 7, 54, 2, 0, 32, 0, 65, 8, 106, 32, 10, 54, 2, 0, 65, 0, 12, 9, 11, 32, 2, 65, 184, 1, 106, 32, 2, 65, 212, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 176, 1, 106, 32, 2, 65, 204, 0, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 168, 1, 106, 32, 1, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 60, 55, 3, 160, 1, 32, 2, 65, 244, 0, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 100, 32, 2, 65, 180, 133, 192, 0, 54, 2, 96, 32, 2, 65, 7, 54, 2, 124, 32, 2, 32, 2, 65, 248, 0, 106, 54, 2, 112, 32, 2, 32, 2, 65, 160, 1, 106, 54, 2, 120, 32, 2, 65, 136, 1, 106, 32, 2, 65, 224, 0, 106, 16, 212, 1, 16, 157, 1, 33, 1, 32, 2, 65, 234, 0, 106, 32, 2, 65, 144, 1, 106, 40, 2, 0, 54, 1, 0, 32, 2, 32, 2, 41, 3, 136, 1, 55, 1, 98, 32, 0, 32, 1, 58, 0, 5, 32, 0, 65, 0, 58, 0, 4, 32, 0, 32, 2, 41, 1, 96, 55, 1, 6, 32, 0, 65, 12, 106, 32, 2, 65, 230, 0, 106, 41, 1, 0, 55, 1, 0, 32, 0, 65, 1, 54, 2, 0, 32, 2, 40, 2, 160, 1, 34, 0, 65, 3, 77, 4, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 1, 107, 14, 3, 1, 2, 13, 0, 11, 2, 64, 32, 2, 40, 2, 164, 1, 34, 0, 69, 13, 0, 32, 2, 65, 168, 1, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 2, 65, 176, 1, 106, 40, 2, 0, 34, 0, 69, 13, 12, 32, 2, 65, 180, 1, 106, 40, 2, 0, 69, 13, 12, 32, 0, 16, 204, 1, 12, 12, 11, 2, 64, 32, 2, 40, 2, 164, 1, 34, 0, 69, 13, 0, 32, 2, 65, 168, 1, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 2, 65, 176, 1, 106, 40, 2, 0, 34, 0, 69, 13, 11, 32, 2, 65, 180, 1, 106, 40, 2, 0, 69, 13, 11, 32, 0, 16, 204, 1, 12, 11, 11, 32, 2, 40, 2, 164, 1, 34, 0, 69, 13, 10, 32, 2, 65, 168, 1, 106, 40, 2, 0, 69, 13, 10, 32, 0, 16, 204, 1, 12, 10, 11, 32, 2, 40, 2, 164, 1, 34, 0, 69, 13, 9, 32, 2, 65, 168, 1, 106, 40, 2, 0, 69, 13, 9, 32, 0, 16, 204, 1, 12, 9, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 28, 106, 32, 2, 65, 216, 0, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 208, 0, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 200, 0, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 65, 64, 107, 41, 3, 0, 55, 2, 4, 12, 8, 11, 32, 2, 65, 160, 1, 106, 65, 189, 128, 192, 0, 65, 6, 16, 15, 32, 2, 65, 172, 1, 106, 40, 2, 0, 33, 9, 32, 2, 65, 168, 1, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 164, 1, 33, 6, 32, 2, 40, 2, 160, 1, 33, 3, 12, 4, 11, 32, 1, 40, 2, 0, 33, 9, 32, 5, 40, 2, 0, 33, 5, 32, 2, 40, 2, 164, 1, 33, 6, 32, 7, 4, 64, 32, 7, 65, 5, 116, 33, 1, 32, 8, 65, 20, 106, 33, 4, 3, 64, 2, 64, 32, 4, 65, 124, 106, 40, 2, 0, 34, 7, 69, 13, 0, 32, 4, 40, 2, 0, 69, 13, 0, 32, 7, 16, 204, 1, 11, 32, 4, 65, 32, 106, 33, 4, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 10, 69, 32, 10, 65, 5, 116, 69, 114, 13, 4, 32, 8, 16, 204, 1, 12, 4, 11, 32, 2, 40, 2, 108, 33, 9, 32, 2, 40, 2, 104, 33, 5, 32, 2, 40, 2, 100, 33, 6, 12, 1, 11, 65, 4, 33, 3, 11, 32, 8, 69, 13, 1, 11, 32, 7, 4, 64, 32, 7, 65, 5, 116, 33, 1, 32, 8, 65, 20, 106, 33, 4, 3, 64, 2, 64, 32, 4, 65, 124, 106, 40, 2, 0, 34, 7, 69, 13, 0, 32, 4, 40, 2, 0, 69, 13, 0, 32, 7, 16, 204, 1, 11, 32, 4, 65, 32, 106, 33, 4, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 10, 69, 32, 10, 65, 5, 116, 69, 114, 13, 0, 32, 8, 16, 204, 1, 11, 32, 2, 65, 236, 0, 106, 32, 9, 54, 2, 0, 32, 2, 65, 232, 0, 106, 32, 5, 54, 2, 0, 32, 2, 32, 6, 54, 2, 100, 32, 2, 32, 3, 54, 2, 96, 32, 2, 65, 160, 1, 106, 65, 187, 138, 192, 0, 65, 39, 32, 2, 65, 224, 0, 106, 16, 19, 32, 0, 65, 28, 106, 32, 2, 65, 184, 1, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 176, 1, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 168, 1, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 41, 3, 160, 1, 55, 2, 4, 65, 1, 11, 54, 2, 0, 32, 2, 40, 2, 120, 34, 0, 69, 13, 0, 32, 2, 40, 2, 124, 69, 13, 0, 32, 0, 16, 204, 1, 11, 69, 13, 0, 32, 13, 16, 204, 1, 11, 32, 2, 65, 192, 1, 106, 36, 0, 11, 219, 2, 1, 1, 127, 2, 64, 2, 64, 32, 0, 45, 0, 0, 34, 1, 65, 6, 77, 4, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 1, 107, 14, 6, 1, 2, 3, 4, 5, 7, 0, 11, 32, 0, 65, 4, 106, 40, 2, 0, 34, 1, 69, 13, 6, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 6, 12, 7, 11, 32, 0, 65, 4, 106, 40, 2, 0, 34, 1, 69, 13, 5, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 5, 12, 6, 11, 32, 0, 65, 4, 106, 40, 2, 0, 34, 1, 69, 13, 4, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 4, 12, 5, 11, 32, 0, 65, 4, 106, 40, 2, 0, 34, 1, 69, 13, 3, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 3, 12, 4, 11, 2, 64, 32, 0, 65, 4, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 0, 65, 16, 106, 40, 2, 0, 34, 1, 69, 13, 2, 32, 0, 65, 20, 106, 40, 2, 0, 69, 13, 2, 12, 3, 11, 2, 64, 32, 0, 65, 4, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 0, 65, 16, 106, 40, 2, 0, 34, 1, 69, 13, 1, 32, 0, 65, 20, 106, 40, 2, 0, 69, 13, 1, 32, 1, 16, 204, 1, 12, 1, 11, 2, 64, 32, 0, 65, 4, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 0, 65, 16, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 20, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 15, 11, 32, 1, 16, 204, 1, 11, 13, 0, 66, 244, 249, 158, 230, 238, 163, 170, 249, 254, 0, 11, 51, 1, 1, 127, 35, 0, 65, 16, 107, 34, 0, 36, 0, 32, 0, 65, 31, 54, 2, 12, 32, 0, 65, 132, 147, 192, 0, 54, 2, 8, 32, 0, 65, 8, 106, 65, 208, 134, 192, 0, 65, 0, 65, 164, 147, 192, 0, 16, 194, 1, 0, 11, 14, 0, 32, 0, 40, 2, 0, 40, 2, 0, 32, 1, 16, 108, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 250, 1, 11, 17, 0, 32, 0, 40, 2, 0, 32, 0, 40, 2, 4, 32, 1, 16, 135, 2, 11, 15, 0, 32, 0, 40, 2, 0, 41, 3, 0, 32, 1, 16, 144, 2, 11, 22, 0, 32, 0, 40, 2, 0, 34, 0, 40, 2, 0, 32, 0, 40, 2, 4, 32, 1, 16, 135, 2, 11, 150, 2, 1, 3, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 0, 65, 0, 54, 2, 8, 32, 0, 66, 1, 55, 2, 0, 32, 2, 32, 1, 54, 2, 4, 32, 2, 65, 8, 54, 2, 12, 32, 2, 32, 2, 65, 4, 106, 54, 2, 8, 32, 2, 32, 0, 54, 2, 20, 32, 2, 65, 44, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 28, 32, 2, 65, 228, 134, 192, 0, 54, 2, 24, 32, 2, 32, 2, 65, 8, 106, 54, 2, 40, 2, 64, 2, 64, 32, 2, 65, 20, 106, 65, 232, 141, 192, 0, 32, 2, 65, 24, 106, 16, 227, 1, 69, 4, 64, 2, 64, 32, 0, 65, 4, 106, 40, 2, 0, 34, 3, 32, 0, 40, 2, 8, 34, 1, 70, 13, 0, 32, 3, 32, 1, 73, 13, 2, 32, 3, 69, 13, 0, 32, 0, 40, 2, 0, 34, 4, 69, 13, 0, 2, 64, 32, 1, 69, 4, 64, 65, 1, 33, 3, 32, 4, 16, 204, 1, 12, 1, 11, 32, 4, 32, 3, 65, 1, 32, 1, 16, 74, 34, 3, 69, 13, 4, 11, 32, 0, 32, 3, 54, 2, 0, 32, 0, 65, 4, 106, 32, 1, 54, 2, 0, 11, 32, 2, 65, 48, 106, 36, 0, 15, 11, 65, 236, 134, 192, 0, 65, 55, 32, 2, 65, 24, 106, 65, 204, 142, 192, 0, 65, 236, 135, 192, 0, 16, 235, 1, 0, 11, 65, 168, 143, 192, 0, 65, 36, 65, 152, 143, 192, 0, 16, 219, 1, 0, 11, 32, 1, 65, 1, 16, 211, 1, 0, 11, 3, 0, 1, 11, 154, 2, 1, 2, 127, 2, 64, 32, 0, 40, 2, 0, 34, 1, 65, 2, 77, 4, 64, 2, 64, 2, 64, 32, 1, 65, 1, 107, 14, 2, 3, 1, 0, 11, 32, 0, 40, 2, 4, 2, 64, 32, 0, 65, 8, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 0, 65, 12, 106, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 13, 2, 32, 0, 65, 20, 106, 40, 2, 0, 34, 1, 69, 13, 2, 32, 0, 65, 24, 106, 40, 2, 0, 69, 13, 2, 32, 1, 16, 204, 1, 15, 11, 32, 0, 40, 2, 4, 65, 127, 106, 34, 1, 65, 1, 75, 13, 1, 32, 1, 65, 1, 107, 4, 64, 32, 0, 65, 8, 106, 40, 2, 0, 34, 1, 69, 13, 2, 32, 0, 65, 12, 106, 40, 2, 0, 69, 13, 2, 32, 1, 16, 204, 1, 12, 2, 11, 2, 64, 32, 0, 65, 8, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 12, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 0, 65, 20, 106, 40, 2, 0, 34, 1, 69, 13, 1, 32, 0, 65, 24, 106, 40, 2, 0, 69, 13, 1, 32, 1, 16, 204, 1, 15, 11, 2, 64, 32, 0, 65, 8, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 12, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 0, 65, 20, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 24, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 11, 222, 7, 1, 6, 127, 32, 0, 40, 2, 0, 33, 5, 32, 0, 40, 2, 8, 34, 1, 4, 64, 32, 5, 32, 1, 65, 200, 0, 108, 106, 33, 6, 3, 64, 32, 5, 34, 1, 65, 200, 0, 106, 33, 5, 2, 64, 32, 1, 40, 2, 0, 34, 2, 65, 2, 77, 4, 64, 2, 64, 2, 64, 32, 2, 65, 1, 107, 14, 2, 3, 1, 0, 11, 2, 64, 32, 1, 40, 2, 4, 34, 2, 69, 13, 0, 32, 1, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 2, 64, 32, 1, 65, 16, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 1, 65, 20, 106, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 32, 1, 65, 28, 106, 40, 2, 0, 33, 3, 32, 1, 65, 36, 106, 40, 2, 0, 34, 2, 4, 64, 32, 2, 65, 5, 116, 33, 4, 32, 3, 65, 20, 106, 33, 3, 3, 64, 2, 64, 32, 3, 65, 124, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 3, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 32, 3, 65, 32, 106, 33, 3, 32, 4, 65, 96, 106, 34, 4, 13, 0, 11, 32, 1, 40, 2, 28, 33, 3, 11, 32, 1, 65, 32, 106, 40, 2, 0, 34, 1, 69, 32, 3, 69, 114, 32, 1, 65, 5, 116, 69, 114, 13, 2, 32, 3, 16, 204, 1, 12, 2, 11, 32, 1, 65, 8, 106, 40, 2, 0, 34, 2, 65, 2, 77, 4, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 1, 107, 14, 2, 1, 2, 0, 11, 2, 64, 32, 1, 65, 12, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 1, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 32, 1, 65, 40, 106, 40, 2, 0, 34, 2, 69, 13, 4, 32, 1, 65, 44, 106, 40, 2, 0, 69, 13, 4, 32, 2, 16, 204, 1, 12, 4, 11, 2, 64, 32, 1, 65, 12, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 1, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 32, 1, 65, 40, 106, 40, 2, 0, 34, 2, 69, 13, 3, 32, 1, 65, 44, 106, 40, 2, 0, 69, 13, 3, 32, 2, 16, 204, 1, 12, 3, 11, 2, 64, 32, 1, 65, 12, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 1, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 32, 1, 65, 24, 106, 40, 2, 0, 34, 2, 69, 13, 2, 32, 1, 65, 28, 106, 40, 2, 0, 69, 13, 2, 32, 2, 16, 204, 1, 12, 2, 11, 2, 64, 32, 1, 65, 12, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 1, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 2, 64, 32, 1, 65, 24, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 1, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 32, 1, 65, 56, 106, 40, 2, 0, 34, 2, 69, 13, 1, 32, 1, 65, 60, 106, 40, 2, 0, 69, 13, 1, 32, 2, 16, 204, 1, 12, 1, 11, 32, 1, 65, 12, 106, 40, 2, 0, 34, 4, 69, 32, 1, 65, 16, 106, 40, 2, 0, 69, 114, 33, 2, 32, 1, 65, 8, 106, 40, 2, 0, 69, 4, 64, 32, 2, 69, 4, 64, 32, 4, 16, 204, 1, 11, 2, 64, 32, 1, 65, 24, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 1, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 32, 1, 65, 36, 106, 40, 2, 0, 33, 3, 32, 1, 65, 44, 106, 40, 2, 0, 34, 2, 4, 64, 32, 2, 65, 5, 116, 33, 4, 32, 3, 65, 20, 106, 33, 3, 3, 64, 2, 64, 32, 3, 65, 124, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 3, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 32, 3, 65, 32, 106, 33, 3, 32, 4, 65, 96, 106, 34, 4, 13, 0, 11, 32, 1, 40, 2, 36, 33, 3, 11, 32, 1, 65, 40, 106, 40, 2, 0, 34, 1, 69, 32, 3, 69, 114, 32, 1, 65, 5, 116, 69, 114, 13, 1, 32, 3, 16, 204, 1, 12, 1, 11, 32, 2, 69, 4, 64, 32, 4, 16, 204, 1, 11, 32, 1, 65, 24, 106, 40, 2, 0, 33, 3, 32, 1, 65, 32, 106, 40, 2, 0, 34, 2, 4, 64, 32, 2, 65, 5, 116, 33, 4, 32, 3, 65, 20, 106, 33, 3, 3, 64, 2, 64, 32, 3, 65, 124, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 3, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 32, 3, 65, 32, 106, 33, 3, 32, 4, 65, 96, 106, 34, 4, 13, 0, 11, 32, 1, 40, 2, 24, 33, 3, 11, 32, 1, 65, 28, 106, 40, 2, 0, 34, 2, 69, 32, 3, 69, 114, 32, 2, 65, 5, 116, 69, 114, 69, 4, 64, 32, 3, 16, 204, 1, 11, 32, 1, 65, 36, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 1, 65, 40, 106, 40, 2, 0, 69, 13, 0, 32, 2, 16, 204, 1, 11, 32, 5, 32, 6, 71, 13, 0, 11, 32, 0, 40, 2, 0, 33, 5, 11, 32, 0, 65, 4, 106, 40, 2, 0, 34, 0, 69, 32, 5, 69, 114, 32, 0, 65, 200, 0, 108, 69, 114, 69, 4, 64, 32, 5, 16, 204, 1, 11, 11, 191, 2, 1, 3, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 64, 32, 0, 40, 2, 0, 34, 0, 2, 127, 2, 64, 32, 1, 65, 128, 1, 79, 4, 64, 32, 2, 65, 0, 54, 2, 12, 32, 1, 65, 128, 16, 73, 13, 1, 32, 1, 65, 128, 128, 4, 73, 4, 64, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 3, 12, 3, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 15, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 4, 12, 2, 11, 32, 0, 40, 2, 8, 34, 3, 32, 0, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 0, 65, 1, 16, 6, 32, 0, 40, 2, 8, 5, 32, 3, 11, 32, 0, 40, 2, 0, 106, 32, 1, 58, 0, 0, 32, 0, 32, 0, 40, 2, 8, 65, 1, 106, 54, 2, 8, 12, 2, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 12, 65, 2, 11, 34, 1, 16, 6, 32, 0, 65, 8, 106, 34, 3, 40, 2, 0, 34, 4, 32, 0, 40, 2, 0, 106, 32, 2, 65, 12, 106, 32, 1, 16, 154, 2, 26, 32, 3, 32, 1, 32, 4, 106, 54, 2, 0, 11, 32, 2, 65, 16, 106, 36, 0, 65, 0, 11, 90, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 232, 141, 192, 0, 32, 2, 65, 8, 106, 16, 227, 1, 32, 2, 65, 32, 106, 36, 0, 11, 53, 1, 2, 127, 32, 0, 40, 2, 0, 34, 0, 32, 2, 16, 6, 32, 0, 65, 8, 106, 34, 3, 40, 2, 0, 34, 4, 32, 0, 40, 2, 0, 106, 32, 1, 32, 2, 16, 154, 2, 26, 32, 3, 32, 2, 32, 4, 106, 54, 2, 0, 65, 0, 11, 171, 2, 2, 4, 127, 1, 126, 2, 64, 2, 64, 32, 0, 40, 2, 8, 34, 4, 32, 0, 65, 4, 106, 40, 2, 0, 70, 4, 64, 32, 4, 65, 1, 106, 34, 2, 32, 4, 73, 13, 1, 32, 4, 65, 1, 116, 34, 3, 32, 2, 32, 3, 32, 2, 75, 27, 34, 2, 65, 4, 32, 2, 65, 4, 75, 27, 173, 66, 24, 126, 34, 6, 66, 32, 136, 167, 34, 5, 13, 1, 32, 6, 167, 34, 3, 65, 0, 72, 13, 1, 2, 64, 2, 64, 32, 0, 40, 2, 0, 65, 0, 32, 4, 27, 34, 2, 4, 64, 32, 4, 65, 24, 108, 34, 5, 32, 3, 70, 13, 1, 32, 5, 69, 4, 64, 32, 3, 69, 4, 64, 65, 4, 33, 2, 12, 4, 11, 32, 3, 65, 4, 16, 73, 33, 2, 12, 2, 11, 32, 2, 32, 5, 65, 4, 32, 3, 16, 74, 33, 2, 12, 1, 11, 32, 5, 69, 65, 2, 116, 33, 2, 32, 3, 69, 13, 0, 32, 3, 32, 2, 16, 73, 33, 2, 11, 32, 2, 69, 13, 3, 32, 0, 40, 2, 8, 33, 4, 11, 32, 0, 32, 2, 54, 2, 0, 32, 0, 65, 4, 106, 32, 3, 65, 24, 110, 54, 2, 0, 11, 32, 0, 40, 2, 0, 32, 4, 65, 24, 108, 106, 34, 2, 32, 1, 41, 2, 0, 55, 2, 0, 32, 2, 65, 16, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 2, 0, 32, 2, 65, 8, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 2, 0, 32, 0, 32, 0, 40, 2, 8, 65, 1, 106, 54, 2, 8, 15, 11, 16, 213, 1, 0, 11, 32, 3, 65, 4, 16, 211, 1, 0, 11, 180, 2, 1, 3, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 2, 65, 0, 54, 2, 16, 32, 2, 66, 1, 55, 3, 8, 32, 2, 32, 1, 54, 2, 20, 32, 2, 65, 9, 54, 2, 28, 32, 2, 32, 2, 65, 20, 106, 54, 2, 24, 32, 2, 32, 2, 65, 8, 106, 54, 2, 36, 32, 2, 65, 60, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 44, 32, 2, 65, 228, 134, 192, 0, 54, 2, 40, 32, 2, 32, 2, 65, 24, 106, 54, 2, 56, 2, 64, 2, 64, 32, 2, 65, 36, 106, 65, 232, 141, 192, 0, 32, 2, 65, 40, 106, 16, 227, 1, 69, 4, 64, 2, 64, 32, 2, 40, 2, 12, 34, 3, 32, 2, 40, 2, 16, 34, 1, 70, 13, 0, 32, 3, 32, 1, 73, 13, 2, 32, 3, 69, 13, 0, 32, 2, 40, 2, 8, 34, 4, 69, 13, 0, 2, 64, 32, 1, 69, 4, 64, 65, 1, 33, 3, 32, 4, 16, 204, 1, 12, 1, 11, 32, 4, 32, 3, 65, 1, 32, 1, 16, 74, 34, 3, 69, 13, 4, 11, 32, 2, 32, 1, 54, 2, 12, 32, 2, 32, 3, 54, 2, 8, 11, 32, 0, 32, 2, 41, 3, 8, 55, 2, 4, 32, 0, 65, 20, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 16, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 64, 107, 36, 0, 15, 11, 65, 236, 134, 192, 0, 65, 55, 32, 2, 65, 40, 106, 65, 204, 142, 192, 0, 65, 236, 135, 192, 0, 16, 235, 1, 0, 11, 65, 168, 143, 192, 0, 65, 36, 65, 152, 143, 192, 0, 16, 219, 1, 0, 11, 32, 1, 65, 1, 16, 211, 1, 0, 11, 185, 1, 1, 1, 127, 35, 0, 65, 64, 106, 34, 5, 36, 0, 32, 5, 32, 2, 54, 2, 12, 32, 5, 32, 1, 54, 2, 8, 2, 64, 32, 4, 4, 64, 32, 5, 65, 52, 106, 65, 10, 54, 2, 0, 32, 5, 65, 36, 106, 65, 2, 54, 2, 0, 32, 5, 66, 2, 55, 2, 20, 32, 5, 65, 216, 144, 192, 0, 54, 2, 16, 32, 5, 65, 2, 54, 2, 44, 32, 5, 32, 4, 54, 2, 60, 32, 5, 32, 3, 54, 2, 56, 32, 5, 32, 5, 65, 40, 106, 54, 2, 32, 32, 5, 32, 5, 65, 56, 106, 54, 2, 48, 12, 1, 11, 32, 5, 65, 36, 106, 65, 1, 54, 2, 0, 32, 5, 66, 2, 55, 2, 20, 32, 5, 65, 188, 144, 192, 0, 54, 2, 16, 32, 5, 65, 2, 54, 2, 44, 32, 5, 32, 5, 65, 40, 106, 54, 2, 32, 11, 32, 5, 32, 5, 65, 8, 106, 54, 2, 40, 32, 0, 32, 5, 65, 16, 106, 16, 48, 32, 5, 65, 64, 107, 36, 0, 11, 255, 2, 2, 4, 127, 1, 126, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 65, 16, 106, 32, 1, 40, 2, 0, 16, 133, 1, 2, 64, 2, 64, 32, 2, 40, 2, 16, 34, 4, 65, 22, 70, 4, 64, 32, 2, 65, 8, 106, 32, 1, 40, 2, 0, 34, 4, 16, 135, 1, 65, 1, 33, 1, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 8, 65, 1, 113, 4, 64, 32, 2, 45, 0, 9, 34, 1, 65, 83, 106, 34, 3, 65, 3, 75, 13, 1, 32, 3, 65, 1, 107, 14, 3, 1, 1, 3, 2, 11, 32, 0, 65, 4, 54, 2, 4, 12, 6, 11, 32, 1, 65, 79, 106, 65, 255, 1, 113, 65, 9, 73, 13, 2, 32, 0, 65, 14, 54, 2, 4, 12, 4, 11, 32, 0, 65, 13, 54, 2, 4, 12, 3, 11, 32, 4, 16, 129, 1, 65, 0, 33, 1, 32, 0, 65, 0, 54, 2, 4, 12, 3, 11, 32, 4, 16, 129, 1, 32, 1, 65, 80, 106, 65, 255, 1, 113, 33, 1, 3, 64, 32, 2, 32, 4, 16, 136, 1, 2, 64, 32, 2, 45, 0, 1, 65, 80, 106, 65, 255, 1, 113, 34, 3, 65, 9, 77, 4, 64, 32, 2, 45, 0, 0, 65, 1, 113, 13, 1, 11, 32, 0, 32, 1, 54, 2, 4, 65, 0, 33, 1, 12, 4, 11, 32, 4, 16, 129, 1, 32, 1, 173, 66, 10, 126, 34, 6, 66, 32, 136, 167, 4, 64, 32, 0, 65, 13, 54, 2, 4, 12, 3, 11, 32, 3, 32, 6, 167, 34, 3, 106, 34, 1, 32, 3, 79, 13, 0, 11, 32, 0, 65, 13, 54, 2, 4, 12, 1, 11, 32, 2, 65, 28, 106, 40, 2, 0, 33, 1, 32, 2, 65, 24, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 20, 33, 5, 32, 0, 32, 4, 54, 2, 4, 32, 0, 65, 16, 106, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 11, 65, 1, 33, 1, 11, 32, 0, 32, 1, 54, 2, 0, 32, 2, 65, 32, 106, 36, 0, 11, 167, 4, 1, 4, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 2, 65, 16, 106, 32, 1, 40, 2, 0, 16, 135, 1, 2, 64, 2, 64, 32, 2, 45, 0, 16, 65, 1, 113, 69, 4, 64, 65, 2, 33, 3, 12, 1, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 17, 34, 4, 34, 3, 65, 44, 71, 4, 64, 32, 3, 65, 253, 0, 70, 13, 4, 32, 1, 45, 0, 4, 13, 1, 65, 9, 33, 3, 12, 7, 11, 32, 1, 45, 0, 4, 69, 13, 1, 11, 32, 1, 65, 0, 58, 0, 4, 12, 1, 11, 32, 1, 40, 2, 0, 16, 129, 1, 32, 2, 65, 8, 106, 32, 1, 40, 2, 0, 16, 135, 1, 32, 2, 45, 0, 8, 65, 1, 113, 69, 13, 3, 32, 2, 45, 0, 9, 33, 4, 11, 32, 4, 65, 255, 1, 113, 34, 3, 65, 253, 0, 71, 4, 64, 32, 3, 65, 34, 71, 4, 64, 65, 16, 33, 3, 12, 5, 11, 32, 2, 32, 1, 40, 2, 0, 34, 3, 16, 135, 1, 32, 2, 45, 0, 0, 65, 1, 113, 69, 13, 3, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 5, 11, 32, 3, 16, 129, 1, 32, 2, 65, 40, 106, 32, 3, 16, 134, 1, 32, 2, 65, 48, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 44, 33, 3, 32, 2, 40, 2, 40, 65, 1, 71, 4, 64, 32, 3, 69, 32, 4, 69, 114, 13, 3, 32, 3, 16, 204, 1, 12, 3, 11, 32, 3, 65, 22, 70, 13, 2, 32, 2, 65, 56, 106, 40, 2, 0, 33, 1, 32, 2, 65, 52, 106, 40, 2, 0, 33, 5, 12, 4, 11, 65, 19, 33, 3, 12, 3, 11, 32, 0, 65, 0, 59, 1, 0, 12, 3, 11, 32, 2, 65, 40, 106, 32, 1, 40, 2, 0, 16, 133, 1, 2, 64, 2, 64, 32, 2, 40, 2, 40, 34, 3, 65, 22, 71, 4, 64, 32, 2, 65, 48, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 44, 33, 4, 32, 2, 65, 36, 106, 32, 2, 65, 52, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 32, 106, 32, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 28, 32, 2, 32, 3, 54, 2, 24, 12, 1, 11, 32, 2, 65, 24, 106, 32, 1, 40, 2, 0, 16, 16, 32, 2, 40, 2, 24, 65, 22, 70, 13, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 32, 2, 41, 3, 24, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 32, 106, 41, 3, 0, 55, 2, 0, 12, 3, 11, 32, 0, 65, 128, 2, 59, 1, 0, 12, 2, 11, 65, 4, 33, 3, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 11, 32, 2, 65, 64, 107, 36, 0, 11, 205, 2, 1, 3, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 2, 65, 8, 106, 32, 1, 40, 2, 0, 16, 135, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 8, 65, 1, 113, 4, 64, 32, 2, 45, 0, 9, 34, 3, 34, 4, 65, 44, 70, 13, 2, 32, 4, 65, 221, 0, 70, 13, 1, 32, 1, 45, 0, 4, 13, 3, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 7, 54, 2, 0, 12, 5, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 1, 54, 2, 0, 12, 4, 11, 32, 0, 65, 0, 59, 1, 0, 12, 3, 11, 32, 1, 40, 2, 0, 16, 129, 1, 32, 2, 32, 1, 40, 2, 0, 16, 135, 1, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 33, 3, 12, 2, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 12, 2, 11, 32, 1, 65, 0, 58, 0, 4, 11, 32, 3, 65, 221, 0, 71, 4, 64, 32, 2, 65, 32, 106, 32, 1, 40, 2, 0, 16, 16, 32, 2, 65, 24, 106, 34, 1, 32, 2, 65, 44, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 16, 32, 2, 40, 2, 32, 34, 3, 65, 22, 70, 4, 64, 32, 0, 65, 128, 2, 59, 1, 0, 12, 2, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 16, 55, 2, 0, 32, 0, 65, 16, 106, 32, 1, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 19, 54, 2, 0, 11, 32, 2, 65, 48, 106, 36, 0, 11, 163, 3, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 135, 1, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 14, 54, 2, 0, 12, 2, 11, 32, 1, 16, 129, 1, 32, 2, 65, 8, 106, 32, 1, 16, 134, 1, 32, 2, 65, 20, 106, 40, 2, 0, 33, 3, 32, 2, 65, 16, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 12, 33, 1, 32, 2, 40, 2, 8, 65, 1, 71, 4, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 121, 106, 34, 4, 65, 6, 75, 13, 0, 2, 64, 2, 64, 2, 64, 32, 4, 65, 1, 107, 14, 6, 0, 3, 3, 3, 3, 1, 2, 11, 32, 1, 65, 180, 147, 192, 0, 71, 4, 64, 32, 1, 41, 0, 0, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 82, 13, 3, 11, 32, 0, 65, 0, 59, 1, 0, 12, 4, 11, 32, 1, 65, 192, 148, 192, 0, 71, 4, 64, 32, 1, 65, 192, 148, 192, 0, 65, 13, 16, 156, 2, 13, 2, 11, 32, 0, 65, 128, 2, 59, 1, 0, 12, 3, 11, 32, 1, 65, 205, 148, 192, 0, 70, 13, 1, 32, 1, 65, 205, 148, 192, 0, 65, 7, 16, 156, 2, 69, 13, 1, 11, 32, 2, 65, 8, 106, 32, 1, 32, 3, 65, 224, 148, 192, 0, 65, 3, 16, 49, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 12, 106, 32, 2, 65, 16, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 4, 106, 32, 2, 41, 3, 8, 55, 2, 0, 12, 1, 11, 32, 0, 65, 128, 4, 59, 1, 0, 11, 32, 5, 69, 13, 2, 32, 1, 16, 204, 1, 12, 2, 11, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 32, 0, 65, 4, 106, 32, 1, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 11, 32, 2, 65, 32, 106, 36, 0, 11, 159, 4, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 135, 1, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 14, 54, 2, 0, 12, 2, 11, 32, 1, 16, 129, 1, 32, 2, 65, 8, 106, 32, 1, 16, 134, 1, 32, 2, 65, 20, 106, 40, 2, 0, 33, 3, 32, 2, 65, 16, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 12, 33, 1, 32, 2, 40, 2, 8, 65, 1, 71, 4, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 123, 106, 34, 4, 65, 16, 75, 13, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 1, 107, 14, 16, 6, 0, 1, 6, 6, 3, 2, 6, 6, 6, 6, 6, 6, 6, 6, 4, 5, 11, 32, 1, 65, 225, 145, 192, 0, 71, 4, 64, 32, 1, 65, 225, 145, 192, 0, 65, 7, 16, 156, 2, 13, 6, 11, 32, 0, 65, 0, 59, 1, 0, 12, 7, 11, 32, 1, 65, 205, 147, 192, 0, 71, 4, 64, 32, 1, 41, 0, 0, 66, 227, 224, 213, 251, 197, 237, 219, 183, 240, 0, 82, 13, 5, 11, 32, 0, 65, 128, 2, 59, 1, 0, 12, 6, 11, 32, 1, 65, 213, 147, 192, 0, 71, 4, 64, 32, 1, 65, 213, 147, 192, 0, 65, 12, 16, 156, 2, 13, 4, 11, 32, 0, 65, 128, 4, 59, 1, 0, 12, 5, 11, 32, 1, 65, 225, 147, 192, 0, 71, 4, 64, 32, 1, 65, 225, 147, 192, 0, 65, 11, 16, 156, 2, 13, 3, 11, 32, 0, 65, 128, 6, 59, 1, 0, 12, 4, 11, 32, 1, 65, 236, 147, 192, 0, 71, 4, 64, 32, 1, 65, 236, 147, 192, 0, 65, 21, 16, 156, 2, 13, 2, 11, 32, 0, 65, 128, 8, 59, 1, 0, 12, 3, 11, 32, 1, 65, 129, 148, 192, 0, 70, 13, 1, 32, 1, 65, 129, 148, 192, 0, 65, 5, 16, 156, 2, 69, 13, 1, 11, 32, 2, 65, 8, 106, 32, 1, 32, 3, 65, 136, 148, 192, 0, 65, 6, 16, 49, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 12, 106, 32, 2, 65, 16, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 4, 106, 32, 2, 41, 3, 8, 55, 2, 0, 12, 1, 11, 32, 0, 65, 128, 10, 59, 1, 0, 11, 32, 5, 69, 13, 2, 32, 1, 16, 204, 1, 12, 2, 11, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 32, 0, 65, 4, 106, 32, 1, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 11, 32, 2, 65, 32, 106, 36, 0, 11, 131, 14, 1, 2, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 1, 40, 2, 8, 34, 4, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 251, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 3, 65, 24, 106, 32, 1, 65, 232, 144, 192, 0, 65, 3, 16, 144, 1, 2, 64, 2, 64, 32, 3, 40, 2, 24, 34, 4, 65, 3, 70, 4, 64, 32, 1, 40, 2, 8, 34, 4, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 58, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 0, 65, 1, 107, 14, 7, 1, 2, 3, 4, 5, 6, 7, 0, 11, 32, 3, 65, 24, 106, 32, 1, 65, 236, 132, 192, 0, 65, 11, 16, 148, 1, 32, 3, 40, 2, 24, 65, 1, 70, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 36, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 28, 55, 3, 0, 12, 8, 11, 32, 3, 32, 3, 40, 2, 28, 54, 2, 16, 32, 3, 32, 3, 65, 32, 106, 45, 0, 0, 58, 0, 20, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 220, 128, 192, 0, 65, 3, 32, 2, 65, 4, 106, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 8, 11, 32, 3, 32, 3, 40, 2, 16, 32, 3, 45, 0, 20, 16, 139, 1, 12, 7, 11, 32, 3, 65, 24, 106, 32, 1, 65, 222, 132, 192, 0, 65, 14, 16, 148, 1, 32, 3, 40, 2, 24, 65, 1, 70, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 36, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 28, 55, 3, 0, 12, 7, 11, 32, 3, 32, 3, 40, 2, 28, 54, 2, 16, 32, 3, 32, 3, 65, 32, 106, 45, 0, 0, 58, 0, 20, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 220, 128, 192, 0, 65, 3, 32, 2, 65, 4, 106, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 7, 11, 32, 3, 32, 3, 40, 2, 16, 32, 3, 45, 0, 20, 16, 139, 1, 12, 6, 11, 32, 3, 65, 24, 106, 32, 1, 65, 210, 132, 192, 0, 65, 12, 16, 148, 1, 32, 3, 40, 2, 24, 65, 1, 70, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 36, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 28, 55, 3, 0, 12, 6, 11, 32, 3, 32, 3, 40, 2, 28, 54, 2, 16, 32, 3, 32, 3, 65, 32, 106, 45, 0, 0, 58, 0, 20, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 220, 128, 192, 0, 65, 3, 32, 2, 65, 4, 106, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 6, 11, 32, 3, 32, 3, 40, 2, 16, 32, 3, 45, 0, 20, 16, 139, 1, 12, 5, 11, 32, 3, 65, 24, 106, 32, 1, 65, 197, 132, 192, 0, 65, 9, 16, 148, 1, 32, 3, 40, 2, 24, 65, 1, 70, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 36, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 28, 55, 3, 0, 12, 5, 11, 32, 3, 32, 3, 40, 2, 28, 54, 2, 16, 32, 3, 32, 3, 65, 32, 106, 45, 0, 0, 58, 0, 20, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 206, 132, 192, 0, 65, 4, 32, 2, 65, 4, 106, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 5, 11, 32, 3, 32, 3, 40, 2, 16, 32, 3, 45, 0, 20, 16, 139, 1, 12, 4, 11, 32, 3, 65, 24, 106, 32, 1, 65, 182, 132, 192, 0, 65, 9, 16, 148, 1, 32, 3, 40, 2, 24, 65, 1, 70, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 36, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 28, 55, 3, 0, 12, 4, 11, 32, 3, 32, 3, 40, 2, 28, 54, 2, 16, 32, 3, 32, 3, 65, 32, 106, 45, 0, 0, 58, 0, 20, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 191, 132, 192, 0, 65, 6, 32, 2, 65, 4, 106, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 4, 11, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 220, 128, 192, 0, 65, 3, 32, 2, 65, 16, 106, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 4, 11, 32, 3, 32, 3, 40, 2, 16, 32, 3, 45, 0, 20, 16, 139, 1, 12, 3, 11, 32, 3, 65, 24, 106, 32, 1, 65, 163, 132, 192, 0, 65, 13, 16, 148, 1, 32, 3, 40, 2, 24, 65, 1, 70, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 36, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 28, 55, 3, 0, 12, 3, 11, 32, 3, 32, 3, 40, 2, 28, 54, 2, 16, 32, 3, 32, 3, 65, 32, 106, 45, 0, 0, 58, 0, 20, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 176, 132, 192, 0, 65, 6, 32, 2, 65, 4, 106, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 3, 11, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 220, 128, 192, 0, 65, 3, 32, 2, 65, 16, 106, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 3, 11, 32, 3, 32, 3, 40, 2, 16, 32, 3, 45, 0, 20, 16, 139, 1, 12, 2, 11, 32, 3, 65, 24, 106, 32, 1, 65, 151, 132, 192, 0, 65, 12, 16, 148, 1, 32, 3, 40, 2, 24, 65, 1, 70, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 24, 106, 65, 4, 114, 34, 2, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 2, 41, 2, 0, 55, 3, 0, 12, 2, 11, 32, 3, 32, 3, 40, 2, 28, 32, 3, 65, 32, 106, 45, 0, 0, 16, 139, 1, 12, 1, 11, 32, 3, 65, 24, 106, 32, 1, 65, 253, 131, 192, 0, 65, 9, 16, 148, 1, 32, 3, 40, 2, 24, 65, 1, 70, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 36, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 28, 55, 3, 0, 12, 1, 11, 32, 3, 32, 3, 40, 2, 28, 54, 2, 16, 32, 3, 32, 3, 65, 32, 106, 45, 0, 0, 58, 0, 20, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 134, 132, 192, 0, 65, 7, 32, 2, 65, 4, 106, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 1, 11, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 141, 132, 192, 0, 65, 10, 32, 2, 65, 16, 106, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 1, 11, 32, 3, 32, 3, 40, 2, 16, 32, 3, 45, 0, 20, 16, 139, 1, 11, 32, 3, 40, 2, 0, 34, 2, 65, 3, 71, 13, 1, 32, 1, 40, 2, 8, 34, 4, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 253, 0, 58, 0, 0, 32, 0, 65, 3, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 12, 2, 11, 32, 3, 65, 36, 106, 40, 2, 0, 33, 1, 32, 3, 65, 32, 106, 40, 2, 0, 33, 2, 32, 0, 32, 3, 40, 2, 28, 54, 2, 4, 32, 0, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 54, 2, 0, 12, 1, 11, 32, 3, 65, 12, 106, 40, 2, 0, 33, 1, 32, 3, 65, 8, 106, 40, 2, 0, 33, 4, 32, 0, 32, 3, 40, 2, 4, 54, 2, 4, 32, 0, 32, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 11, 32, 3, 65, 48, 106, 36, 0, 11, 29, 0, 32, 1, 40, 2, 0, 69, 4, 64, 0, 11, 32, 0, 65, 172, 145, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 85, 1, 2, 127, 32, 1, 40, 2, 0, 33, 2, 32, 1, 65, 0, 54, 2, 0, 2, 64, 32, 2, 4, 64, 32, 1, 40, 2, 4, 33, 3, 65, 8, 65, 4, 16, 73, 34, 1, 69, 13, 1, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 0, 65, 172, 145, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 15, 11, 0, 11, 65, 8, 65, 4, 16, 211, 1, 0, 11, 149, 31, 2, 11, 127, 1, 126, 35, 0, 65, 64, 106, 34, 3, 36, 0, 32, 1, 45, 0, 4, 69, 4, 64, 32, 1, 40, 2, 0, 34, 6, 40, 2, 8, 34, 5, 32, 6, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 6, 65, 1, 16, 6, 32, 6, 40, 2, 8, 5, 32, 5, 11, 32, 6, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 6, 32, 6, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 32, 1, 40, 2, 0, 34, 6, 40, 2, 8, 34, 5, 32, 6, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 6, 65, 1, 16, 6, 32, 6, 40, 2, 8, 5, 32, 5, 11, 32, 6, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 6, 32, 6, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 1, 40, 2, 0, 34, 5, 65, 8, 16, 6, 32, 5, 65, 8, 106, 34, 6, 40, 2, 0, 34, 4, 32, 5, 40, 2, 0, 106, 66, 237, 202, 205, 155, 151, 236, 217, 178, 243, 0, 55, 0, 0, 32, 6, 32, 4, 65, 8, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 5, 65, 2, 16, 6, 32, 5, 65, 8, 106, 34, 6, 40, 2, 0, 34, 4, 32, 5, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 6, 32, 4, 65, 2, 106, 54, 2, 0, 32, 2, 40, 2, 0, 33, 12, 32, 3, 65, 40, 106, 32, 1, 40, 2, 0, 32, 2, 40, 2, 8, 34, 1, 16, 146, 1, 2, 64, 32, 3, 40, 2, 40, 65, 1, 70, 4, 64, 32, 3, 65, 24, 106, 32, 3, 65, 52, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 44, 55, 3, 16, 12, 1, 11, 32, 1, 65, 200, 0, 108, 33, 13, 32, 3, 65, 48, 106, 34, 6, 45, 0, 0, 33, 5, 32, 3, 40, 2, 44, 33, 1, 32, 3, 65, 40, 106, 65, 4, 114, 33, 8, 2, 64, 3, 64, 2, 127, 2, 64, 2, 127, 2, 64, 32, 9, 32, 13, 71, 4, 64, 32, 5, 65, 255, 1, 113, 69, 4, 64, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 9, 32, 12, 106, 34, 5, 40, 2, 0, 65, 1, 107, 14, 3, 4, 2, 0, 1, 11, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 34, 10, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 251, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 3, 65, 40, 106, 32, 1, 65, 248, 128, 192, 0, 65, 4, 16, 144, 1, 32, 3, 40, 2, 40, 34, 2, 65, 3, 71, 13, 5, 32, 1, 40, 2, 8, 34, 2, 32, 10, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 58, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 2, 64, 32, 5, 65, 8, 106, 40, 2, 0, 65, 1, 70, 4, 64, 32, 3, 65, 40, 106, 32, 1, 65, 202, 128, 192, 0, 65, 11, 16, 148, 1, 32, 3, 40, 2, 40, 65, 1, 71, 13, 1, 32, 3, 65, 24, 106, 32, 8, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 8, 41, 2, 0, 55, 3, 16, 12, 2, 11, 32, 3, 65, 40, 106, 32, 1, 65, 228, 128, 192, 0, 65, 7, 16, 148, 1, 32, 3, 40, 2, 40, 65, 1, 70, 4, 64, 32, 3, 65, 24, 106, 32, 8, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 8, 41, 2, 0, 55, 3, 16, 12, 2, 11, 32, 3, 32, 3, 45, 0, 48, 58, 0, 36, 32, 3, 32, 3, 40, 2, 44, 54, 2, 32, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 235, 128, 192, 0, 65, 13, 32, 5, 65, 12, 106, 16, 9, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 2, 11, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 220, 128, 192, 0, 32, 5, 65, 24, 106, 16, 10, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 2, 11, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 163, 128, 192, 0, 65, 4, 32, 5, 65, 36, 106, 16, 11, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 2, 11, 32, 3, 65, 16, 106, 32, 3, 40, 2, 32, 32, 3, 45, 0, 36, 16, 139, 1, 12, 1, 11, 32, 3, 32, 3, 45, 0, 48, 34, 2, 58, 0, 36, 32, 3, 32, 3, 40, 2, 44, 34, 4, 54, 2, 32, 32, 5, 65, 48, 106, 41, 3, 0, 33, 14, 32, 2, 69, 4, 64, 32, 4, 40, 2, 8, 34, 2, 32, 4, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 4, 40, 2, 8, 5, 32, 2, 11, 32, 4, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 4, 32, 4, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 3, 65, 0, 58, 0, 36, 32, 4, 65, 8, 106, 34, 7, 40, 2, 0, 34, 2, 32, 4, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 7, 40, 2, 0, 5, 32, 2, 11, 32, 4, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 54, 2, 0, 32, 4, 65, 7, 16, 6, 32, 7, 40, 2, 0, 34, 2, 32, 4, 40, 2, 0, 106, 34, 11, 65, 213, 128, 192, 0, 40, 0, 0, 54, 0, 0, 32, 11, 65, 3, 106, 65, 216, 128, 192, 0, 40, 0, 0, 54, 0, 0, 32, 7, 32, 2, 65, 7, 106, 54, 2, 0, 32, 4, 65, 2, 16, 6, 32, 7, 40, 2, 0, 34, 2, 32, 4, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 7, 32, 2, 65, 2, 106, 54, 2, 0, 32, 3, 65, 40, 106, 32, 3, 40, 2, 32, 32, 14, 16, 143, 1, 32, 3, 40, 2, 40, 34, 2, 65, 3, 71, 4, 64, 32, 3, 40, 2, 48, 33, 5, 32, 3, 40, 2, 44, 33, 4, 32, 3, 32, 3, 40, 2, 52, 54, 2, 28, 32, 3, 32, 5, 54, 2, 24, 32, 3, 32, 4, 54, 2, 20, 32, 3, 32, 2, 54, 2, 16, 12, 1, 11, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 220, 128, 192, 0, 32, 5, 65, 12, 106, 16, 10, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 1, 11, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 163, 128, 192, 0, 65, 4, 32, 5, 65, 24, 106, 16, 11, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 1, 11, 32, 3, 40, 2, 32, 34, 4, 65, 8, 106, 34, 7, 40, 2, 0, 33, 2, 32, 3, 45, 0, 36, 69, 4, 64, 32, 4, 65, 4, 106, 40, 2, 0, 32, 2, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 7, 40, 2, 0, 5, 32, 2, 11, 32, 4, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 2, 54, 2, 0, 11, 32, 3, 65, 0, 58, 0, 36, 32, 4, 65, 4, 106, 40, 2, 0, 32, 2, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 7, 40, 2, 0, 5, 32, 2, 11, 32, 4, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 54, 2, 0, 32, 4, 65, 5, 16, 6, 32, 7, 40, 2, 0, 34, 2, 32, 4, 40, 2, 0, 106, 34, 11, 65, 223, 128, 192, 0, 40, 0, 0, 54, 0, 0, 32, 11, 65, 4, 106, 65, 227, 128, 192, 0, 45, 0, 0, 58, 0, 0, 32, 7, 32, 2, 65, 5, 106, 54, 2, 0, 32, 4, 65, 2, 16, 6, 32, 7, 40, 2, 0, 34, 2, 32, 4, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 7, 32, 2, 65, 2, 106, 54, 2, 0, 2, 64, 32, 5, 65, 36, 106, 40, 2, 0, 34, 2, 69, 4, 64, 32, 3, 65, 40, 106, 32, 4, 16, 145, 1, 12, 1, 11, 32, 3, 65, 40, 106, 32, 4, 32, 2, 32, 5, 65, 44, 106, 40, 2, 0, 16, 144, 1, 11, 32, 3, 40, 2, 40, 34, 2, 65, 3, 71, 4, 64, 32, 3, 40, 2, 48, 33, 5, 32, 3, 40, 2, 44, 33, 4, 32, 3, 32, 3, 40, 2, 52, 54, 2, 28, 32, 3, 32, 5, 54, 2, 24, 32, 3, 32, 4, 54, 2, 20, 32, 3, 32, 2, 54, 2, 16, 12, 1, 11, 32, 3, 65, 16, 106, 32, 4, 65, 0, 16, 139, 1, 11, 32, 3, 40, 2, 16, 34, 2, 65, 3, 71, 13, 2, 32, 1, 40, 2, 8, 34, 2, 32, 10, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 253, 0, 58, 0, 0, 12, 7, 11, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 34, 4, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 251, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 3, 65, 40, 106, 32, 1, 65, 137, 129, 192, 0, 65, 4, 16, 144, 1, 32, 3, 40, 2, 40, 34, 2, 65, 3, 71, 13, 4, 32, 1, 40, 2, 8, 34, 2, 32, 4, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 58, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 3, 65, 40, 106, 32, 1, 65, 163, 128, 192, 0, 65, 4, 16, 148, 1, 2, 64, 32, 3, 40, 2, 40, 65, 1, 70, 4, 64, 32, 3, 65, 24, 106, 32, 8, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 8, 41, 2, 0, 55, 3, 16, 12, 1, 11, 32, 3, 32, 3, 45, 0, 48, 58, 0, 36, 32, 3, 32, 3, 40, 2, 44, 54, 2, 32, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 167, 128, 192, 0, 65, 12, 32, 5, 65, 4, 106, 16, 9, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 1, 11, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 179, 128, 192, 0, 65, 10, 32, 5, 65, 16, 106, 16, 9, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 1, 11, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 189, 128, 192, 0, 65, 6, 32, 5, 65, 28, 106, 16, 11, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 1, 11, 32, 3, 65, 16, 106, 32, 3, 40, 2, 32, 32, 3, 45, 0, 36, 16, 139, 1, 11, 32, 3, 40, 2, 16, 34, 2, 65, 3, 71, 13, 1, 32, 1, 40, 2, 8, 34, 2, 32, 4, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 253, 0, 58, 0, 0, 12, 6, 11, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 34, 10, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 251, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 3, 65, 40, 106, 32, 1, 65, 252, 128, 192, 0, 65, 7, 16, 144, 1, 32, 3, 40, 2, 40, 34, 2, 65, 3, 71, 13, 3, 32, 1, 40, 2, 8, 34, 2, 32, 10, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 58, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 5, 65, 8, 106, 40, 2, 0, 65, 1, 107, 14, 3, 1, 2, 3, 0, 11, 32, 3, 65, 40, 106, 32, 1, 65, 223, 129, 192, 0, 65, 8, 16, 148, 1, 32, 3, 40, 2, 40, 65, 1, 70, 4, 64, 32, 3, 65, 24, 106, 32, 8, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 8, 41, 2, 0, 55, 3, 16, 12, 4, 11, 32, 3, 32, 3, 45, 0, 48, 58, 0, 36, 32, 3, 32, 3, 40, 2, 44, 54, 2, 32, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 195, 129, 192, 0, 65, 9, 32, 5, 65, 12, 106, 16, 9, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 4, 11, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 32, 5, 65, 24, 106, 16, 7, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 4, 11, 32, 3, 65, 16, 106, 32, 3, 40, 2, 32, 32, 3, 45, 0, 36, 16, 139, 1, 12, 3, 11, 32, 3, 65, 40, 106, 32, 1, 65, 213, 129, 192, 0, 65, 10, 16, 148, 1, 32, 3, 40, 2, 40, 65, 1, 70, 4, 64, 32, 3, 65, 24, 106, 32, 8, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 8, 41, 2, 0, 55, 3, 16, 12, 3, 11, 32, 3, 32, 3, 45, 0, 48, 58, 0, 36, 32, 3, 32, 3, 40, 2, 44, 54, 2, 32, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 195, 129, 192, 0, 65, 9, 32, 5, 65, 12, 106, 16, 9, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 3, 11, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 32, 5, 65, 24, 106, 16, 7, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 3, 11, 32, 3, 65, 16, 106, 32, 3, 40, 2, 32, 32, 3, 45, 0, 36, 16, 139, 1, 12, 2, 11, 32, 3, 65, 40, 106, 32, 1, 65, 187, 129, 192, 0, 65, 8, 16, 148, 1, 32, 3, 40, 2, 40, 65, 1, 70, 4, 64, 32, 3, 65, 24, 106, 32, 8, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 8, 41, 2, 0, 55, 3, 16, 12, 2, 11, 32, 3, 32, 3, 45, 0, 48, 58, 0, 36, 32, 3, 32, 3, 40, 2, 44, 54, 2, 32, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 195, 129, 192, 0, 65, 9, 32, 5, 65, 12, 106, 16, 9, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 2, 11, 32, 3, 40, 2, 32, 34, 4, 65, 8, 106, 34, 7, 40, 2, 0, 33, 2, 32, 3, 45, 0, 36, 69, 4, 64, 32, 4, 65, 4, 106, 40, 2, 0, 32, 2, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 7, 40, 2, 0, 5, 32, 2, 11, 32, 4, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 2, 54, 2, 0, 11, 32, 3, 65, 0, 58, 0, 36, 32, 4, 65, 4, 106, 40, 2, 0, 32, 2, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 7, 40, 2, 0, 5, 32, 2, 11, 32, 4, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 54, 2, 0, 32, 4, 65, 9, 16, 6, 32, 7, 40, 2, 0, 34, 2, 32, 4, 40, 2, 0, 106, 34, 11, 65, 204, 129, 192, 0, 41, 0, 0, 55, 0, 0, 32, 11, 65, 8, 106, 65, 212, 129, 192, 0, 45, 0, 0, 58, 0, 0, 32, 7, 32, 2, 65, 9, 106, 54, 2, 0, 32, 4, 65, 2, 16, 6, 32, 7, 40, 2, 0, 34, 2, 32, 4, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 7, 32, 2, 65, 2, 106, 54, 2, 0, 2, 64, 32, 5, 65, 24, 106, 40, 2, 0, 34, 2, 69, 4, 64, 32, 3, 65, 40, 106, 32, 4, 16, 145, 1, 12, 1, 11, 32, 3, 65, 40, 106, 32, 4, 32, 2, 32, 5, 65, 32, 106, 40, 2, 0, 16, 144, 1, 11, 32, 3, 40, 2, 40, 34, 2, 65, 3, 71, 4, 64, 32, 3, 40, 2, 48, 33, 5, 32, 3, 40, 2, 44, 33, 4, 32, 3, 32, 3, 40, 2, 52, 54, 2, 28, 32, 3, 32, 5, 54, 2, 24, 32, 3, 32, 4, 54, 2, 20, 32, 3, 32, 2, 54, 2, 16, 12, 2, 11, 32, 3, 65, 16, 106, 32, 4, 65, 0, 16, 139, 1, 12, 1, 11, 32, 3, 65, 40, 106, 32, 1, 65, 151, 129, 192, 0, 65, 10, 16, 148, 1, 32, 3, 40, 2, 40, 65, 1, 70, 4, 64, 32, 3, 65, 24, 106, 32, 8, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 8, 41, 2, 0, 55, 3, 16, 12, 1, 11, 32, 3, 32, 3, 45, 0, 48, 58, 0, 36, 32, 3, 32, 3, 40, 2, 44, 54, 2, 32, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 161, 129, 192, 0, 65, 13, 32, 5, 65, 12, 106, 16, 9, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 1, 11, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 65, 174, 129, 192, 0, 65, 13, 32, 5, 65, 24, 106, 16, 9, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 1, 11, 32, 3, 65, 40, 106, 32, 3, 65, 32, 106, 32, 5, 65, 40, 106, 16, 7, 32, 3, 40, 2, 40, 65, 3, 71, 4, 64, 32, 3, 65, 24, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 40, 55, 3, 16, 12, 1, 11, 32, 3, 65, 16, 106, 32, 3, 40, 2, 32, 32, 3, 45, 0, 36, 16, 139, 1, 11, 32, 3, 40, 2, 16, 34, 2, 65, 3, 71, 13, 0, 32, 1, 40, 2, 8, 34, 2, 32, 10, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 253, 0, 58, 0, 0, 12, 5, 11, 32, 3, 40, 2, 24, 33, 9, 32, 3, 40, 2, 20, 33, 5, 32, 3, 40, 2, 28, 12, 3, 11, 32, 3, 32, 1, 16, 26, 32, 3, 40, 2, 0, 12, 4, 11, 32, 3, 65, 16, 106, 32, 1, 16, 137, 1, 12, 6, 11, 32, 3, 40, 2, 48, 33, 9, 32, 3, 40, 2, 44, 33, 5, 32, 3, 40, 2, 52, 11, 33, 1, 32, 3, 32, 2, 54, 2, 0, 12, 3, 11, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 3, 65, 3, 54, 2, 0, 65, 3, 11, 33, 2, 32, 9, 65, 200, 0, 106, 33, 9, 65, 0, 33, 5, 32, 2, 65, 3, 70, 13, 0, 11, 32, 3, 40, 2, 12, 33, 1, 32, 3, 40, 2, 8, 33, 9, 32, 3, 40, 2, 4, 33, 5, 11, 32, 3, 65, 28, 106, 32, 1, 54, 2, 0, 32, 3, 65, 24, 106, 32, 9, 54, 2, 0, 32, 3, 32, 5, 54, 2, 20, 32, 3, 32, 2, 54, 2, 16, 11, 2, 64, 32, 3, 40, 2, 16, 34, 1, 65, 3, 70, 4, 64, 32, 0, 65, 3, 54, 2, 0, 12, 1, 11, 32, 3, 65, 28, 106, 40, 2, 0, 33, 2, 32, 3, 65, 24, 106, 40, 2, 0, 33, 5, 32, 0, 32, 3, 40, 2, 20, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 11, 32, 3, 65, 64, 107, 36, 0, 11, 149, 3, 1, 4, 127, 35, 0, 65, 32, 107, 34, 4, 36, 0, 32, 1, 45, 0, 4, 69, 4, 64, 32, 1, 40, 2, 0, 34, 3, 40, 2, 8, 34, 5, 32, 3, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 3, 65, 1, 16, 6, 32, 3, 40, 2, 8, 5, 32, 5, 11, 32, 3, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 3, 32, 3, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 32, 1, 40, 2, 0, 34, 3, 40, 2, 8, 34, 5, 32, 3, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 3, 65, 1, 16, 6, 32, 3, 40, 2, 8, 5, 32, 5, 11, 32, 3, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 3, 32, 3, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 1, 40, 2, 0, 34, 3, 65, 4, 16, 6, 32, 3, 65, 8, 106, 34, 5, 40, 2, 0, 34, 6, 32, 3, 40, 2, 0, 106, 65, 228, 194, 209, 139, 6, 54, 0, 0, 32, 5, 32, 6, 65, 4, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 3, 65, 2, 16, 6, 32, 3, 65, 8, 106, 34, 5, 40, 2, 0, 34, 6, 32, 3, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 5, 32, 6, 65, 2, 106, 54, 2, 0, 32, 1, 40, 2, 0, 33, 1, 2, 64, 32, 2, 40, 2, 0, 69, 4, 64, 32, 4, 32, 1, 16, 145, 1, 12, 1, 11, 32, 4, 65, 16, 106, 32, 2, 16, 101, 32, 4, 32, 1, 32, 4, 40, 2, 16, 34, 1, 32, 4, 40, 2, 24, 16, 144, 1, 32, 4, 40, 2, 20, 69, 13, 0, 32, 1, 16, 204, 1, 11, 2, 64, 32, 4, 40, 2, 0, 34, 1, 65, 3, 70, 4, 64, 32, 0, 65, 3, 54, 2, 0, 12, 1, 11, 32, 4, 65, 12, 106, 40, 2, 0, 33, 2, 32, 4, 65, 8, 106, 40, 2, 0, 33, 3, 32, 0, 32, 4, 40, 2, 4, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 11, 32, 4, 65, 32, 106, 36, 0, 11, 193, 6, 1, 6, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 1, 45, 0, 4, 69, 4, 64, 32, 1, 40, 2, 0, 34, 4, 40, 2, 8, 34, 5, 32, 4, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 4, 40, 2, 8, 5, 32, 5, 11, 32, 4, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 4, 32, 4, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 32, 1, 40, 2, 0, 34, 4, 40, 2, 8, 34, 5, 32, 4, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 4, 40, 2, 8, 5, 32, 5, 11, 32, 4, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 4, 32, 4, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 1, 40, 2, 0, 34, 5, 65, 3, 16, 6, 32, 5, 65, 8, 106, 34, 4, 40, 2, 0, 34, 6, 32, 5, 40, 2, 0, 106, 34, 5, 65, 243, 129, 192, 0, 47, 0, 0, 59, 0, 0, 32, 5, 65, 2, 106, 65, 245, 129, 192, 0, 45, 0, 0, 58, 0, 0, 32, 4, 32, 6, 65, 3, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 5, 65, 2, 16, 6, 32, 5, 65, 8, 106, 34, 4, 40, 2, 0, 34, 6, 32, 5, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 4, 32, 6, 65, 2, 106, 54, 2, 0, 32, 2, 40, 2, 0, 33, 5, 32, 3, 65, 24, 106, 32, 1, 40, 2, 0, 32, 2, 40, 2, 8, 34, 1, 16, 146, 1, 2, 64, 32, 3, 40, 2, 24, 65, 1, 70, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 36, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 28, 55, 3, 0, 12, 1, 11, 32, 1, 65, 24, 108, 33, 4, 32, 3, 65, 32, 106, 34, 6, 45, 0, 0, 33, 2, 32, 3, 40, 2, 28, 33, 1, 32, 3, 65, 24, 106, 65, 4, 114, 33, 7, 2, 64, 3, 64, 32, 4, 69, 13, 1, 32, 2, 65, 255, 1, 113, 69, 4, 64, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 3, 65, 24, 106, 32, 1, 16, 147, 1, 2, 64, 32, 3, 40, 2, 24, 65, 1, 70, 4, 64, 32, 3, 65, 8, 106, 32, 7, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 7, 41, 2, 0, 55, 3, 0, 12, 1, 11, 32, 3, 32, 3, 45, 0, 32, 58, 0, 20, 32, 3, 32, 3, 40, 2, 28, 54, 2, 16, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 130, 130, 192, 0, 65, 3, 32, 5, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 1, 11, 32, 3, 65, 24, 106, 32, 3, 65, 16, 106, 65, 133, 130, 192, 0, 65, 5, 32, 5, 65, 12, 106, 16, 9, 32, 3, 40, 2, 24, 65, 3, 71, 4, 64, 32, 3, 65, 8, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 24, 55, 3, 0, 12, 1, 11, 32, 3, 32, 3, 40, 2, 16, 32, 3, 45, 0, 20, 16, 138, 1, 11, 32, 5, 65, 24, 106, 33, 5, 32, 4, 65, 104, 106, 33, 4, 65, 0, 33, 2, 32, 3, 40, 2, 0, 34, 8, 65, 3, 70, 13, 0, 11, 32, 3, 40, 2, 8, 33, 1, 32, 3, 40, 2, 4, 33, 2, 32, 3, 65, 12, 106, 32, 3, 40, 2, 12, 54, 2, 0, 32, 3, 65, 8, 106, 32, 1, 54, 2, 0, 32, 3, 32, 2, 54, 2, 4, 32, 3, 32, 8, 54, 2, 0, 12, 1, 11, 32, 3, 32, 1, 16, 137, 1, 11, 2, 64, 32, 3, 40, 2, 0, 34, 1, 65, 3, 70, 4, 64, 32, 0, 65, 3, 54, 2, 0, 12, 1, 11, 32, 3, 65, 12, 106, 40, 2, 0, 33, 2, 32, 3, 65, 8, 106, 40, 2, 0, 33, 5, 32, 0, 32, 3, 40, 2, 4, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 11, 32, 3, 65, 48, 106, 36, 0, 11, 180, 17, 2, 10, 127, 1, 126, 35, 0, 65, 192, 1, 107, 34, 3, 36, 0, 32, 3, 65, 240, 0, 106, 32, 2, 16, 114, 32, 3, 65, 56, 106, 34, 5, 32, 3, 65, 136, 1, 106, 34, 7, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 65, 128, 1, 106, 34, 8, 41, 3, 0, 55, 3, 48, 32, 3, 65, 252, 0, 106, 34, 9, 40, 2, 0, 33, 11, 32, 3, 65, 248, 0, 106, 34, 10, 40, 2, 0, 33, 6, 32, 3, 40, 2, 116, 33, 4, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 112, 65, 1, 71, 4, 64, 32, 3, 65, 240, 0, 106, 32, 2, 65, 12, 106, 16, 114, 32, 3, 65, 200, 0, 106, 32, 7, 41, 3, 0, 55, 3, 0, 32, 3, 32, 8, 41, 3, 0, 55, 3, 64, 32, 9, 40, 2, 0, 33, 8, 32, 10, 40, 2, 0, 33, 7, 32, 3, 40, 2, 116, 33, 5, 32, 3, 40, 2, 112, 65, 1, 70, 13, 1, 32, 3, 65, 240, 0, 106, 32, 1, 65, 32, 106, 16, 114, 32, 3, 65, 216, 0, 106, 34, 9, 32, 3, 65, 252, 0, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 224, 0, 106, 34, 10, 32, 3, 65, 132, 1, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 232, 0, 106, 34, 12, 32, 3, 65, 140, 1, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 116, 55, 3, 80, 32, 3, 40, 2, 112, 65, 1, 70, 13, 2, 32, 3, 65, 172, 1, 106, 32, 8, 54, 2, 0, 32, 3, 65, 168, 1, 106, 32, 7, 54, 2, 0, 32, 3, 65, 184, 1, 106, 32, 9, 40, 2, 0, 54, 2, 0, 32, 3, 32, 5, 54, 2, 164, 1, 32, 3, 32, 11, 54, 2, 160, 1, 32, 3, 32, 6, 54, 2, 156, 1, 32, 3, 32, 4, 54, 2, 152, 1, 32, 3, 32, 3, 41, 3, 80, 55, 3, 176, 1, 32, 3, 65, 16, 106, 32, 3, 65, 152, 1, 106, 16, 22, 32, 3, 65, 8, 106, 32, 3, 65, 40, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 28, 106, 40, 2, 0, 33, 6, 32, 3, 65, 24, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 20, 33, 4, 32, 3, 40, 2, 16, 65, 1, 70, 13, 5, 65, 188, 145, 192, 0, 65, 6, 32, 4, 32, 6, 16, 113, 32, 5, 4, 64, 32, 4, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 152, 1, 34, 4, 69, 13, 0, 32, 3, 40, 2, 156, 1, 69, 13, 0, 32, 4, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 164, 1, 34, 4, 69, 13, 0, 32, 3, 40, 2, 168, 1, 69, 13, 0, 32, 4, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 176, 1, 34, 4, 69, 13, 0, 32, 3, 65, 180, 1, 106, 40, 2, 0, 69, 13, 0, 32, 4, 16, 204, 1, 11, 32, 3, 65, 128, 1, 106, 34, 6, 66, 0, 55, 3, 0, 32, 3, 65, 0, 54, 2, 136, 1, 32, 3, 66, 128, 128, 128, 128, 192, 0, 55, 3, 120, 32, 3, 66, 8, 55, 3, 112, 32, 3, 65, 13, 54, 2, 84, 32, 3, 65, 201, 145, 192, 0, 54, 2, 80, 32, 3, 65, 7, 54, 2, 68, 32, 3, 65, 194, 145, 192, 0, 54, 2, 64, 32, 3, 65, 152, 1, 106, 32, 3, 65, 64, 107, 16, 40, 32, 3, 65, 16, 106, 32, 3, 65, 208, 0, 106, 16, 40, 32, 3, 65, 172, 1, 106, 34, 5, 32, 3, 65, 24, 106, 34, 4, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 16, 55, 2, 164, 1, 32, 3, 65, 252, 0, 106, 32, 3, 65, 152, 1, 106, 16, 47, 32, 3, 65, 184, 1, 106, 32, 3, 65, 144, 1, 106, 40, 2, 0, 54, 2, 0, 32, 3, 65, 176, 1, 106, 32, 3, 41, 3, 136, 1, 34, 13, 55, 3, 0, 32, 3, 65, 168, 1, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 65, 160, 1, 106, 34, 6, 32, 3, 41, 3, 120, 55, 3, 0, 32, 3, 32, 3, 41, 3, 112, 55, 3, 152, 1, 32, 13, 167, 34, 7, 13, 3, 32, 4, 32, 6, 40, 2, 0, 54, 2, 0, 32, 3, 65, 36, 106, 32, 5, 40, 2, 0, 54, 2, 0, 32, 0, 32, 3, 41, 3, 152, 1, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 164, 1, 55, 2, 28, 32, 0, 65, 12, 106, 32, 4, 41, 3, 0, 55, 2, 0, 32, 0, 65, 20, 106, 32, 3, 65, 32, 106, 41, 3, 0, 55, 2, 0, 12, 4, 11, 32, 0, 32, 4, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 11, 54, 2, 0, 32, 0, 65, 8, 106, 32, 6, 54, 2, 0, 32, 0, 65, 16, 106, 32, 3, 41, 3, 48, 55, 2, 0, 32, 0, 65, 24, 106, 32, 5, 41, 3, 0, 55, 2, 0, 12, 6, 11, 32, 0, 32, 5, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 8, 54, 2, 0, 32, 0, 65, 8, 106, 32, 7, 54, 2, 0, 32, 0, 65, 16, 106, 32, 3, 41, 3, 64, 55, 2, 0, 32, 0, 65, 24, 106, 32, 3, 65, 200, 0, 106, 41, 3, 0, 55, 2, 0, 32, 4, 69, 32, 6, 69, 114, 13, 5, 32, 4, 16, 204, 1, 12, 5, 11, 32, 0, 32, 3, 41, 3, 80, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 28, 106, 32, 12, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 10, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 9, 41, 3, 0, 55, 2, 0, 32, 5, 69, 32, 7, 69, 114, 69, 4, 64, 32, 5, 16, 204, 1, 11, 32, 4, 69, 32, 6, 69, 114, 13, 4, 32, 4, 16, 204, 1, 12, 4, 11, 65, 48, 65, 1, 16, 73, 34, 4, 69, 13, 2, 32, 3, 66, 48, 55, 2, 20, 32, 3, 32, 4, 54, 2, 16, 32, 3, 65, 16, 106, 65, 48, 16, 6, 32, 3, 40, 2, 24, 34, 5, 32, 3, 40, 2, 16, 106, 34, 4, 65, 160, 134, 192, 0, 41, 0, 0, 55, 0, 0, 32, 3, 65, 216, 0, 106, 34, 6, 32, 5, 65, 48, 106, 54, 2, 0, 32, 4, 65, 8, 106, 65, 168, 134, 192, 0, 41, 0, 0, 55, 0, 0, 32, 4, 65, 16, 106, 65, 176, 134, 192, 0, 41, 0, 0, 55, 0, 0, 32, 4, 65, 24, 106, 65, 184, 134, 192, 0, 41, 0, 0, 55, 0, 0, 32, 4, 65, 32, 106, 65, 192, 134, 192, 0, 41, 0, 0, 55, 0, 0, 32, 4, 65, 40, 106, 65, 200, 134, 192, 0, 41, 0, 0, 55, 0, 0, 32, 3, 32, 3, 41, 3, 16, 55, 3, 80, 16, 157, 1, 33, 4, 32, 3, 65, 26, 106, 32, 6, 40, 2, 0, 54, 1, 0, 32, 3, 32, 3, 41, 3, 80, 55, 1, 18, 32, 0, 32, 4, 58, 0, 5, 32, 0, 65, 0, 58, 0, 4, 32, 0, 32, 3, 41, 1, 16, 55, 1, 6, 32, 0, 65, 12, 106, 32, 3, 65, 22, 106, 41, 1, 0, 55, 1, 0, 32, 0, 65, 20, 106, 32, 3, 41, 2, 80, 55, 2, 0, 32, 0, 65, 28, 106, 32, 6, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 32, 3, 65, 152, 1, 106, 16, 43, 32, 3, 40, 2, 164, 1, 33, 4, 32, 3, 65, 172, 1, 106, 40, 2, 0, 34, 0, 4, 64, 32, 4, 32, 0, 65, 24, 108, 106, 33, 6, 32, 4, 33, 0, 3, 64, 2, 64, 32, 0, 40, 2, 0, 34, 5, 69, 13, 0, 32, 0, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 5, 16, 204, 1, 11, 2, 64, 32, 0, 65, 12, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 0, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 0, 65, 24, 106, 34, 0, 32, 6, 71, 13, 0, 11, 11, 32, 3, 65, 168, 1, 106, 40, 2, 0, 34, 0, 69, 32, 0, 65, 24, 108, 69, 114, 69, 4, 64, 32, 4, 16, 204, 1, 11, 32, 3, 65, 180, 1, 106, 40, 2, 0, 69, 13, 0, 32, 7, 16, 204, 1, 11, 2, 64, 32, 2, 40, 2, 0, 34, 0, 69, 13, 0, 32, 2, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 2, 40, 2, 12, 34, 0, 69, 13, 0, 32, 2, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 1, 40, 2, 16, 34, 0, 69, 13, 0, 32, 1, 65, 20, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 1, 40, 2, 32, 34, 0, 69, 13, 0, 32, 1, 65, 36, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 1, 65, 44, 106, 40, 2, 0, 33, 0, 32, 1, 65, 52, 106, 40, 2, 0, 34, 2, 4, 64, 32, 2, 65, 5, 116, 33, 2, 32, 0, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 4, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 4, 16, 204, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 32, 1, 40, 2, 44, 33, 0, 11, 32, 1, 65, 48, 106, 40, 2, 0, 34, 2, 69, 32, 0, 69, 114, 32, 2, 65, 5, 116, 69, 114, 69, 4, 64, 32, 0, 16, 204, 1, 11, 32, 1, 40, 2, 56, 34, 0, 69, 13, 3, 32, 1, 65, 60, 106, 40, 2, 0, 69, 13, 3, 32, 0, 16, 204, 1, 12, 3, 11, 32, 0, 32, 4, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 6, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 32, 0, 65, 16, 106, 32, 3, 41, 3, 0, 55, 2, 0, 32, 0, 65, 24, 106, 32, 3, 65, 8, 106, 41, 3, 0, 55, 2, 0, 2, 64, 32, 3, 40, 2, 152, 1, 34, 0, 69, 13, 0, 32, 3, 40, 2, 156, 1, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 164, 1, 34, 0, 69, 13, 0, 32, 3, 40, 2, 168, 1, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 3, 40, 2, 176, 1, 34, 0, 69, 13, 1, 32, 3, 65, 180, 1, 106, 40, 2, 0, 69, 13, 1, 32, 0, 16, 204, 1, 12, 1, 11, 65, 48, 16, 29, 0, 11, 2, 64, 32, 2, 40, 2, 0, 34, 0, 69, 13, 0, 32, 2, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 2, 40, 2, 12, 34, 0, 69, 13, 0, 32, 2, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 1, 40, 2, 16, 34, 0, 69, 13, 0, 32, 1, 65, 20, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 1, 40, 2, 32, 34, 0, 69, 13, 0, 32, 1, 65, 36, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 1, 65, 44, 106, 40, 2, 0, 33, 0, 32, 1, 65, 52, 106, 40, 2, 0, 34, 2, 4, 64, 32, 2, 65, 5, 116, 33, 2, 32, 0, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 4, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 4, 16, 204, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 32, 1, 40, 2, 44, 33, 0, 11, 32, 1, 65, 48, 106, 40, 2, 0, 34, 2, 69, 32, 0, 69, 114, 32, 2, 65, 5, 116, 69, 114, 69, 4, 64, 32, 0, 16, 204, 1, 11, 32, 1, 40, 2, 56, 34, 0, 69, 13, 0, 32, 1, 65, 60, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 3, 65, 192, 1, 106, 36, 0, 11, 201, 12, 2, 10, 127, 1, 126, 35, 0, 65, 144, 1, 107, 34, 3, 36, 0, 32, 3, 65, 48, 106, 16, 112, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 48, 34, 4, 69, 4, 64, 65, 5, 65, 1, 16, 73, 34, 4, 69, 13, 1, 32, 3, 66, 5, 55, 2, 92, 32, 3, 32, 4, 54, 2, 88, 32, 3, 65, 216, 0, 106, 65, 5, 16, 6, 32, 3, 40, 2, 88, 34, 5, 32, 3, 40, 2, 96, 34, 6, 106, 34, 4, 65, 214, 145, 192, 0, 40, 0, 0, 54, 0, 0, 32, 4, 65, 4, 106, 65, 218, 145, 192, 0, 45, 0, 0, 58, 0, 0, 32, 3, 40, 2, 92, 33, 7, 16, 157, 1, 33, 8, 32, 3, 65, 16, 106, 32, 3, 65, 224, 0, 106, 40, 2, 0, 34, 4, 54, 2, 0, 32, 3, 65, 136, 1, 106, 32, 4, 54, 2, 0, 32, 3, 32, 3, 41, 2, 88, 34, 13, 55, 3, 8, 32, 3, 32, 13, 55, 3, 128, 1, 32, 0, 65, 16, 106, 32, 6, 65, 5, 106, 54, 1, 0, 32, 0, 65, 12, 106, 32, 7, 54, 1, 0, 32, 0, 65, 8, 106, 32, 5, 54, 1, 0, 32, 0, 32, 8, 58, 0, 5, 32, 0, 65, 3, 58, 0, 4, 32, 0, 65, 20, 106, 32, 13, 55, 2, 0, 32, 0, 65, 28, 106, 32, 4, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 12, 5, 11, 32, 3, 40, 2, 52, 33, 7, 32, 3, 65, 216, 0, 106, 32, 4, 65, 255, 1, 113, 32, 3, 45, 0, 49, 65, 8, 116, 114, 32, 3, 47, 1, 50, 65, 16, 116, 114, 34, 8, 32, 3, 65, 56, 106, 34, 4, 40, 2, 0, 16, 20, 32, 4, 32, 3, 65, 228, 0, 106, 34, 9, 41, 2, 0, 55, 3, 0, 32, 3, 65, 64, 107, 34, 5, 32, 3, 65, 236, 0, 106, 34, 10, 41, 2, 0, 55, 3, 0, 32, 3, 65, 200, 0, 106, 34, 6, 32, 3, 65, 244, 0, 106, 34, 11, 41, 2, 0, 55, 3, 0, 32, 3, 65, 208, 0, 106, 34, 12, 32, 3, 65, 252, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 92, 55, 3, 48, 32, 3, 40, 2, 88, 65, 1, 70, 4, 64, 32, 0, 32, 3, 41, 3, 48, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 28, 106, 32, 6, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 5, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 4, 41, 3, 0, 55, 2, 0, 12, 4, 11, 32, 3, 65, 40, 106, 32, 12, 40, 2, 0, 54, 2, 0, 32, 3, 65, 32, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 3, 65, 24, 106, 32, 5, 41, 3, 0, 55, 3, 0, 32, 3, 65, 16, 106, 32, 4, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 48, 55, 3, 8, 32, 3, 65, 216, 0, 106, 32, 2, 16, 114, 32, 4, 32, 9, 41, 2, 0, 55, 3, 0, 32, 5, 32, 10, 41, 2, 0, 55, 3, 0, 32, 6, 32, 11, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 92, 55, 3, 48, 32, 3, 40, 2, 88, 65, 1, 71, 13, 1, 32, 0, 32, 3, 41, 3, 48, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 28, 106, 32, 3, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 3, 65, 64, 107, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 3, 65, 56, 106, 41, 3, 0, 55, 2, 0, 12, 2, 11, 65, 5, 16, 29, 0, 11, 32, 3, 65, 136, 1, 106, 34, 4, 32, 3, 65, 56, 106, 34, 5, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 48, 55, 3, 128, 1, 2, 64, 32, 3, 40, 2, 8, 34, 6, 69, 13, 0, 32, 3, 40, 2, 12, 69, 13, 0, 32, 6, 16, 204, 1, 11, 32, 3, 65, 16, 106, 32, 4, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 128, 1, 55, 3, 8, 32, 3, 65, 216, 0, 106, 32, 3, 65, 8, 106, 16, 22, 32, 5, 32, 3, 65, 240, 0, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 65, 232, 0, 106, 41, 3, 0, 55, 3, 48, 32, 3, 65, 228, 0, 106, 40, 2, 0, 33, 5, 32, 3, 65, 224, 0, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 92, 33, 4, 32, 3, 40, 2, 88, 65, 1, 71, 4, 64, 65, 188, 145, 192, 0, 65, 6, 32, 4, 32, 5, 16, 113, 32, 6, 4, 64, 32, 4, 16, 204, 1, 11, 32, 0, 66, 128, 128, 128, 128, 128, 1, 55, 2, 0, 32, 0, 65, 24, 106, 66, 0, 55, 2, 0, 32, 0, 65, 16, 106, 66, 4, 55, 2, 0, 32, 0, 65, 8, 106, 66, 0, 55, 2, 0, 2, 64, 32, 3, 40, 2, 8, 34, 0, 69, 13, 0, 32, 3, 40, 2, 12, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 20, 34, 0, 69, 13, 0, 32, 3, 65, 24, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 32, 34, 0, 69, 13, 0, 32, 3, 65, 36, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 7, 4, 64, 32, 8, 16, 204, 1, 11, 2, 64, 32, 2, 40, 2, 0, 34, 0, 69, 13, 0, 32, 2, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 1, 40, 2, 16, 34, 0, 69, 13, 0, 32, 1, 65, 20, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 1, 40, 2, 32, 34, 0, 69, 13, 0, 32, 1, 65, 36, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 1, 65, 44, 106, 40, 2, 0, 33, 4, 32, 1, 65, 52, 106, 40, 2, 0, 34, 0, 4, 64, 32, 0, 65, 5, 116, 33, 2, 32, 4, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 11, 32, 1, 65, 48, 106, 40, 2, 0, 34, 0, 69, 32, 0, 65, 5, 116, 69, 114, 69, 4, 64, 32, 4, 16, 204, 1, 11, 32, 1, 40, 2, 56, 34, 0, 69, 13, 4, 32, 1, 65, 60, 106, 40, 2, 0, 69, 13, 4, 32, 0, 16, 204, 1, 12, 4, 11, 32, 0, 32, 4, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 6, 54, 2, 0, 32, 0, 65, 16, 106, 32, 3, 41, 3, 48, 55, 2, 0, 32, 0, 65, 24, 106, 32, 3, 65, 56, 106, 41, 3, 0, 55, 2, 0, 11, 2, 64, 32, 3, 40, 2, 8, 34, 0, 69, 13, 0, 32, 3, 40, 2, 12, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 20, 34, 0, 69, 13, 0, 32, 3, 65, 24, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 3, 40, 2, 32, 34, 0, 69, 13, 0, 32, 3, 65, 36, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 7, 69, 13, 0, 32, 8, 16, 204, 1, 11, 2, 64, 32, 2, 40, 2, 0, 34, 0, 69, 13, 0, 32, 2, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 1, 40, 2, 16, 34, 0, 69, 13, 0, 32, 1, 65, 20, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 1, 40, 2, 32, 34, 0, 69, 13, 0, 32, 1, 65, 36, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 1, 65, 44, 106, 40, 2, 0, 33, 4, 32, 1, 65, 52, 106, 40, 2, 0, 34, 0, 4, 64, 32, 0, 65, 5, 116, 33, 2, 32, 4, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 11, 32, 1, 65, 48, 106, 40, 2, 0, 34, 0, 69, 32, 0, 65, 5, 116, 69, 114, 69, 4, 64, 32, 4, 16, 204, 1, 11, 32, 1, 40, 2, 56, 34, 0, 69, 13, 0, 32, 1, 65, 60, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 3, 65, 144, 1, 106, 36, 0, 11, 242, 31, 2, 12, 127, 3, 126, 35, 0, 65, 240, 2, 107, 34, 3, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 255, 1, 113, 65, 1, 107, 14, 5, 2, 3, 4, 5, 0, 1, 11, 16, 34, 0, 11, 32, 3, 65, 8, 106, 32, 1, 65, 200, 0, 16, 154, 2, 26, 32, 3, 65, 176, 2, 106, 16, 112, 32, 3, 40, 2, 176, 2, 34, 1, 69, 4, 64, 65, 5, 65, 1, 16, 73, 34, 1, 69, 13, 5, 32, 3, 66, 5, 55, 2, 124, 32, 3, 32, 1, 54, 2, 120, 32, 3, 65, 248, 0, 106, 65, 5, 16, 6, 32, 3, 40, 2, 120, 34, 1, 32, 3, 40, 2, 128, 1, 34, 2, 106, 34, 4, 65, 214, 145, 192, 0, 40, 0, 0, 54, 0, 0, 32, 4, 65, 4, 106, 65, 218, 145, 192, 0, 45, 0, 0, 58, 0, 0, 32, 3, 40, 2, 124, 33, 4, 16, 157, 1, 33, 6, 32, 3, 65, 144, 2, 106, 32, 3, 65, 128, 1, 106, 40, 2, 0, 34, 8, 54, 2, 0, 32, 3, 32, 3, 41, 2, 120, 34, 15, 55, 3, 136, 2, 32, 0, 65, 16, 106, 32, 2, 65, 5, 106, 54, 1, 0, 32, 0, 65, 12, 106, 32, 4, 54, 1, 0, 32, 0, 65, 8, 106, 32, 1, 54, 1, 0, 32, 0, 32, 6, 58, 0, 5, 32, 0, 65, 3, 58, 0, 4, 32, 0, 65, 20, 106, 32, 15, 55, 2, 0, 32, 0, 65, 28, 106, 32, 8, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 12, 8, 11, 32, 3, 40, 2, 180, 2, 33, 6, 32, 3, 65, 248, 0, 106, 32, 1, 65, 255, 1, 113, 32, 3, 45, 0, 177, 2, 65, 8, 116, 114, 32, 3, 47, 1, 178, 2, 65, 16, 116, 114, 34, 8, 32, 3, 65, 184, 2, 106, 34, 1, 40, 2, 0, 16, 20, 32, 1, 32, 3, 65, 132, 1, 106, 34, 5, 41, 2, 0, 55, 3, 0, 32, 3, 65, 192, 2, 106, 34, 2, 32, 3, 65, 140, 1, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 200, 2, 106, 34, 4, 32, 3, 65, 148, 1, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 208, 2, 106, 34, 7, 32, 3, 65, 156, 1, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 124, 55, 3, 176, 2, 32, 3, 40, 2, 120, 65, 1, 70, 4, 64, 32, 0, 32, 3, 41, 3, 176, 2, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 28, 106, 32, 4, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 1, 41, 3, 0, 55, 2, 0, 32, 6, 69, 13, 8, 32, 8, 16, 204, 1, 12, 8, 11, 32, 3, 65, 240, 0, 106, 32, 7, 40, 2, 0, 54, 2, 0, 32, 3, 65, 232, 0, 106, 32, 4, 41, 3, 0, 55, 3, 0, 32, 3, 65, 224, 0, 106, 32, 2, 41, 3, 0, 55, 3, 0, 32, 3, 65, 216, 0, 106, 32, 1, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 176, 2, 55, 3, 80, 32, 3, 65, 248, 0, 106, 32, 3, 65, 40, 106, 16, 114, 32, 1, 32, 3, 65, 144, 1, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 65, 136, 1, 106, 41, 3, 0, 55, 3, 176, 2, 32, 5, 40, 2, 0, 33, 2, 32, 3, 65, 128, 1, 106, 40, 2, 0, 33, 4, 32, 3, 40, 2, 124, 33, 1, 32, 3, 40, 2, 120, 65, 1, 71, 13, 5, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 32, 0, 65, 16, 106, 32, 3, 41, 3, 176, 2, 55, 2, 0, 32, 0, 65, 24, 106, 32, 3, 65, 184, 2, 106, 41, 3, 0, 55, 2, 0, 12, 6, 11, 16, 64, 0, 11, 16, 65, 0, 11, 16, 66, 0, 11, 32, 0, 16, 67, 2, 64, 32, 1, 40, 2, 16, 34, 0, 69, 13, 0, 32, 1, 65, 20, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 1, 40, 2, 32, 34, 0, 69, 13, 0, 32, 1, 65, 36, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 1, 65, 44, 106, 40, 2, 0, 33, 4, 32, 1, 65, 52, 106, 40, 2, 0, 34, 0, 4, 64, 32, 0, 65, 5, 116, 33, 2, 32, 4, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 6, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 6, 16, 204, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 11, 32, 1, 65, 48, 106, 40, 2, 0, 34, 0, 69, 32, 0, 65, 5, 116, 69, 114, 69, 4, 64, 32, 4, 16, 204, 1, 11, 32, 1, 40, 2, 56, 34, 0, 69, 13, 4, 32, 1, 65, 60, 106, 40, 2, 0, 69, 13, 4, 32, 0, 16, 204, 1, 12, 4, 11, 65, 5, 16, 29, 0, 11, 2, 127, 65, 0, 32, 2, 32, 3, 40, 2, 88, 71, 13, 0, 26, 65, 1, 32, 1, 32, 3, 40, 2, 80, 34, 5, 70, 13, 0, 26, 32, 1, 32, 5, 32, 2, 16, 156, 2, 69, 11, 32, 4, 4, 64, 32, 1, 16, 204, 1, 11, 69, 4, 64, 16, 157, 1, 33, 1, 32, 3, 65, 248, 0, 106, 34, 2, 65, 6, 58, 0, 0, 32, 2, 32, 1, 58, 0, 1, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 28, 106, 32, 3, 65, 144, 1, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 3, 65, 136, 1, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 3, 65, 128, 1, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 3, 41, 3, 120, 55, 2, 4, 2, 64, 32, 3, 40, 2, 80, 34, 0, 69, 13, 0, 32, 3, 40, 2, 84, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 92, 34, 0, 69, 13, 0, 32, 3, 65, 224, 0, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 104, 34, 0, 69, 13, 0, 32, 3, 65, 236, 0, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 6, 4, 64, 32, 8, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 24, 34, 0, 69, 13, 0, 32, 3, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 40, 34, 0, 69, 13, 0, 32, 3, 65, 44, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 3, 65, 52, 106, 40, 2, 0, 33, 0, 32, 3, 65, 60, 106, 40, 2, 0, 34, 1, 4, 64, 32, 1, 65, 5, 116, 33, 2, 32, 0, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 32, 3, 40, 2, 52, 33, 0, 11, 32, 3, 65, 56, 106, 40, 2, 0, 34, 1, 69, 32, 0, 69, 114, 32, 1, 65, 5, 116, 69, 114, 69, 4, 64, 32, 0, 16, 204, 1, 11, 32, 3, 40, 2, 64, 34, 0, 69, 13, 3, 32, 3, 65, 196, 0, 106, 40, 2, 0, 69, 13, 3, 32, 0, 16, 204, 1, 12, 3, 11, 32, 3, 65, 248, 0, 106, 32, 3, 65, 220, 0, 106, 16, 115, 32, 3, 65, 184, 2, 106, 34, 1, 32, 3, 65, 132, 1, 106, 34, 5, 41, 2, 0, 55, 3, 0, 32, 3, 65, 192, 2, 106, 34, 2, 32, 3, 65, 140, 1, 106, 34, 7, 41, 2, 0, 55, 3, 0, 32, 3, 65, 200, 2, 106, 34, 4, 32, 3, 65, 148, 1, 106, 34, 9, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 124, 55, 3, 176, 2, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 120, 65, 1, 71, 4, 64, 32, 3, 65, 168, 1, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 176, 2, 55, 3, 160, 1, 32, 3, 65, 248, 0, 106, 32, 3, 65, 64, 107, 34, 4, 16, 215, 1, 32, 1, 32, 3, 41, 2, 120, 55, 3, 0, 32, 2, 32, 3, 65, 128, 1, 106, 40, 2, 0, 54, 2, 0, 32, 3, 66, 128, 128, 128, 128, 16, 55, 3, 176, 2, 32, 3, 65, 248, 0, 106, 32, 3, 65, 176, 2, 106, 16, 31, 32, 3, 65, 144, 2, 106, 32, 5, 41, 2, 0, 55, 3, 0, 32, 3, 65, 152, 2, 106, 32, 7, 41, 2, 0, 55, 3, 0, 32, 3, 65, 160, 2, 106, 32, 9, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 124, 55, 3, 136, 2, 32, 3, 40, 2, 120, 65, 1, 71, 4, 64, 32, 3, 65, 232, 1, 106, 34, 1, 32, 3, 65, 144, 2, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 136, 2, 55, 3, 224, 1, 32, 3, 65, 176, 2, 106, 16, 42, 32, 3, 65, 200, 1, 106, 32, 1, 41, 3, 0, 34, 15, 55, 3, 0, 32, 3, 65, 184, 1, 106, 32, 15, 62, 2, 0, 32, 3, 32, 3, 41, 3, 224, 1, 55, 3, 176, 1, 32, 3, 65, 240, 1, 106, 66, 0, 55, 3, 0, 32, 3, 65, 0, 54, 2, 248, 1, 32, 3, 66, 128, 128, 128, 128, 192, 0, 55, 3, 232, 1, 32, 3, 66, 8, 55, 3, 224, 1, 32, 3, 65, 7, 54, 2, 140, 2, 32, 3, 65, 225, 145, 192, 0, 54, 2, 136, 2, 32, 3, 65, 6, 54, 2, 196, 1, 32, 3, 65, 219, 145, 192, 0, 54, 2, 192, 1, 32, 3, 65, 248, 0, 106, 32, 3, 65, 192, 1, 106, 16, 40, 32, 3, 65, 176, 2, 106, 32, 3, 65, 136, 2, 106, 16, 40, 32, 3, 65, 140, 1, 106, 34, 1, 32, 3, 65, 184, 2, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 176, 2, 55, 2, 132, 1, 32, 3, 65, 236, 1, 106, 34, 7, 32, 3, 65, 248, 0, 106, 16, 47, 32, 3, 65, 11, 54, 2, 220, 2, 32, 3, 65, 232, 145, 192, 0, 54, 2, 216, 2, 32, 3, 32, 3, 65, 160, 1, 106, 54, 2, 228, 2, 32, 3, 65, 136, 2, 106, 32, 3, 65, 216, 2, 106, 16, 40, 32, 3, 65, 0, 54, 2, 184, 2, 32, 3, 66, 1, 55, 3, 176, 2, 32, 3, 32, 3, 65, 228, 2, 106, 54, 2, 232, 2, 32, 3, 65, 11, 54, 2, 196, 1, 32, 3, 32, 3, 65, 232, 2, 106, 54, 2, 192, 1, 32, 3, 32, 3, 65, 176, 2, 106, 54, 2, 236, 2, 32, 1, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 124, 32, 3, 65, 228, 134, 192, 0, 54, 2, 120, 32, 3, 32, 3, 65, 192, 1, 106, 54, 2, 136, 1, 32, 3, 65, 236, 2, 106, 65, 232, 141, 192, 0, 32, 3, 65, 248, 0, 106, 16, 227, 1, 13, 2, 2, 64, 32, 3, 40, 2, 180, 2, 34, 2, 32, 3, 40, 2, 184, 2, 34, 1, 70, 13, 0, 32, 2, 32, 1, 73, 13, 4, 32, 2, 69, 13, 0, 32, 3, 40, 2, 176, 2, 34, 5, 69, 13, 0, 2, 64, 32, 1, 69, 4, 64, 65, 1, 33, 2, 32, 5, 16, 204, 1, 12, 1, 11, 32, 5, 32, 2, 65, 1, 32, 1, 16, 74, 34, 2, 69, 13, 6, 11, 32, 3, 32, 1, 54, 2, 180, 2, 32, 3, 32, 2, 54, 2, 176, 2, 11, 32, 3, 65, 128, 1, 106, 34, 2, 32, 3, 65, 144, 2, 106, 40, 2, 0, 54, 2, 0, 32, 3, 65, 140, 1, 106, 32, 3, 65, 184, 2, 106, 34, 1, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 136, 2, 55, 3, 120, 32, 3, 32, 3, 41, 3, 176, 2, 55, 2, 132, 1, 32, 7, 32, 3, 65, 248, 0, 106, 16, 47, 32, 3, 65, 196, 2, 106, 32, 3, 65, 168, 1, 106, 40, 2, 0, 54, 2, 0, 32, 3, 65, 208, 2, 106, 32, 3, 65, 184, 1, 106, 40, 2, 0, 34, 5, 54, 2, 0, 32, 1, 32, 4, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 160, 1, 55, 2, 188, 2, 32, 3, 32, 3, 41, 3, 176, 1, 34, 15, 55, 3, 200, 2, 32, 3, 32, 4, 41, 3, 0, 34, 16, 55, 3, 176, 2, 32, 2, 32, 1, 41, 3, 0, 55, 3, 0, 32, 3, 65, 136, 1, 106, 32, 3, 65, 192, 2, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 144, 1, 106, 32, 15, 55, 3, 0, 32, 3, 65, 152, 1, 106, 32, 5, 54, 2, 0, 32, 3, 32, 16, 55, 3, 120, 32, 3, 40, 2, 232, 1, 34, 4, 32, 3, 40, 2, 228, 1, 71, 4, 64, 32, 3, 40, 2, 224, 1, 33, 1, 12, 6, 11, 2, 64, 2, 64, 32, 4, 65, 1, 106, 34, 1, 32, 4, 73, 13, 0, 32, 4, 65, 1, 116, 34, 2, 32, 1, 32, 2, 32, 1, 75, 27, 34, 1, 65, 4, 32, 1, 65, 4, 75, 27, 173, 66, 200, 0, 126, 34, 15, 66, 32, 136, 167, 34, 5, 13, 0, 32, 15, 167, 34, 2, 65, 0, 72, 13, 0, 2, 64, 2, 64, 32, 3, 40, 2, 224, 1, 65, 0, 32, 4, 27, 34, 1, 4, 64, 32, 4, 65, 200, 0, 108, 34, 5, 32, 2, 70, 13, 1, 32, 5, 69, 4, 64, 32, 2, 69, 4, 64, 65, 8, 33, 1, 12, 4, 11, 32, 2, 65, 8, 16, 73, 33, 1, 12, 2, 11, 32, 1, 32, 5, 65, 8, 32, 2, 16, 74, 33, 1, 12, 1, 11, 32, 5, 69, 65, 3, 116, 33, 1, 32, 2, 69, 13, 0, 32, 2, 32, 1, 16, 73, 33, 1, 11, 32, 1, 69, 13, 2, 11, 32, 3, 32, 1, 54, 2, 224, 1, 32, 3, 32, 2, 65, 200, 0, 110, 54, 2, 228, 1, 12, 7, 11, 16, 213, 1, 0, 11, 32, 2, 65, 8, 16, 211, 1, 0, 11, 32, 3, 65, 248, 1, 106, 34, 1, 32, 3, 65, 160, 2, 106, 40, 2, 0, 54, 2, 0, 32, 3, 65, 240, 1, 106, 34, 2, 32, 3, 65, 152, 2, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 232, 1, 106, 34, 4, 32, 3, 65, 144, 2, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 136, 2, 55, 3, 224, 1, 32, 3, 65, 176, 2, 106, 16, 42, 32, 3, 65, 216, 1, 106, 32, 1, 40, 2, 0, 34, 1, 54, 2, 0, 32, 3, 65, 208, 1, 106, 32, 2, 41, 3, 0, 34, 15, 55, 3, 0, 32, 3, 65, 200, 1, 106, 32, 4, 41, 3, 0, 34, 16, 55, 3, 0, 32, 3, 32, 3, 41, 3, 224, 1, 34, 17, 55, 3, 192, 1, 32, 0, 65, 28, 106, 32, 1, 54, 2, 0, 32, 0, 65, 20, 106, 32, 15, 55, 2, 0, 32, 0, 65, 12, 106, 32, 16, 55, 2, 0, 32, 0, 32, 17, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 3, 40, 2, 160, 1, 34, 0, 69, 13, 5, 32, 3, 40, 2, 164, 1, 69, 13, 5, 32, 0, 16, 204, 1, 12, 5, 11, 32, 0, 32, 3, 41, 3, 176, 2, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 28, 106, 32, 4, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 1, 41, 3, 0, 55, 2, 0, 12, 4, 11, 65, 236, 134, 192, 0, 65, 55, 32, 3, 65, 248, 0, 106, 65, 204, 142, 192, 0, 65, 236, 135, 192, 0, 16, 235, 1, 0, 11, 65, 168, 143, 192, 0, 65, 36, 65, 152, 143, 192, 0, 16, 219, 1, 0, 11, 32, 1, 65, 1, 16, 211, 1, 0, 11, 32, 3, 65, 248, 1, 106, 33, 2, 32, 1, 32, 4, 65, 200, 0, 108, 106, 34, 1, 65, 0, 54, 2, 0, 32, 1, 65, 28, 106, 32, 3, 65, 144, 1, 106, 34, 4, 41, 3, 0, 55, 2, 0, 32, 1, 65, 20, 106, 32, 3, 65, 136, 1, 106, 34, 10, 41, 3, 0, 55, 2, 0, 32, 1, 65, 12, 106, 32, 3, 65, 128, 1, 106, 34, 5, 41, 3, 0, 55, 2, 0, 32, 1, 32, 3, 41, 3, 120, 55, 2, 4, 32, 1, 65, 36, 106, 32, 3, 65, 152, 1, 106, 34, 7, 40, 2, 0, 54, 2, 0, 32, 1, 65, 40, 106, 32, 3, 41, 3, 136, 2, 55, 3, 0, 32, 1, 65, 48, 106, 32, 3, 65, 144, 2, 106, 34, 9, 41, 3, 0, 55, 3, 0, 32, 1, 65, 56, 106, 32, 3, 65, 152, 2, 106, 34, 11, 41, 3, 0, 55, 3, 0, 32, 1, 65, 64, 107, 32, 3, 65, 160, 2, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 40, 2, 232, 1, 65, 1, 106, 54, 2, 232, 1, 32, 3, 65, 248, 0, 106, 16, 119, 2, 64, 32, 3, 40, 2, 248, 1, 34, 1, 69, 13, 0, 32, 3, 65, 252, 1, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 2, 32, 3, 41, 3, 120, 55, 2, 0, 32, 2, 65, 8, 106, 32, 5, 40, 2, 0, 54, 2, 0, 32, 3, 65, 208, 2, 106, 32, 3, 65, 128, 2, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 3, 65, 200, 2, 106, 32, 3, 65, 248, 1, 106, 34, 2, 41, 3, 0, 55, 3, 0, 32, 3, 65, 192, 2, 106, 32, 3, 65, 240, 1, 106, 34, 12, 41, 3, 0, 55, 3, 0, 32, 3, 65, 184, 2, 106, 34, 13, 32, 3, 65, 232, 1, 106, 34, 14, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 224, 1, 55, 3, 176, 2, 32, 7, 32, 1, 54, 2, 0, 32, 4, 32, 2, 41, 3, 0, 55, 3, 0, 32, 10, 32, 12, 41, 3, 0, 55, 3, 0, 32, 5, 32, 14, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 224, 1, 55, 3, 120, 32, 9, 32, 13, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 176, 2, 55, 3, 136, 2, 32, 3, 65, 156, 2, 106, 32, 3, 65, 140, 1, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 132, 1, 55, 2, 148, 2, 32, 3, 65, 168, 2, 106, 34, 1, 32, 7, 40, 2, 0, 54, 2, 0, 32, 3, 32, 4, 41, 3, 0, 55, 3, 160, 2, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 36, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 0, 65, 28, 106, 32, 3, 41, 3, 160, 2, 55, 2, 0, 32, 0, 65, 20, 106, 32, 11, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 9, 41, 3, 0, 55, 2, 0, 32, 0, 32, 3, 41, 3, 136, 2, 55, 2, 4, 2, 64, 32, 3, 40, 2, 80, 34, 0, 69, 13, 0, 32, 3, 40, 2, 84, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 92, 34, 0, 69, 13, 0, 32, 3, 65, 224, 0, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 104, 34, 0, 69, 13, 0, 32, 3, 65, 236, 0, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 6, 4, 64, 32, 8, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 24, 34, 0, 69, 13, 0, 32, 3, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 40, 34, 0, 69, 13, 0, 32, 3, 65, 44, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 3, 65, 52, 106, 40, 2, 0, 33, 0, 32, 3, 65, 60, 106, 40, 2, 0, 34, 1, 4, 64, 32, 1, 65, 5, 116, 33, 2, 32, 0, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 32, 3, 40, 2, 52, 33, 0, 11, 32, 3, 65, 56, 106, 40, 2, 0, 34, 1, 69, 32, 0, 69, 114, 32, 1, 65, 5, 116, 69, 114, 13, 2, 32, 0, 16, 204, 1, 12, 2, 11, 2, 64, 32, 3, 40, 2, 80, 34, 0, 69, 13, 0, 32, 3, 40, 2, 84, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 92, 34, 0, 69, 13, 0, 32, 3, 65, 224, 0, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 104, 34, 0, 69, 13, 0, 32, 3, 65, 236, 0, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 6, 69, 13, 0, 32, 8, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 24, 34, 0, 69, 13, 0, 32, 3, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 2, 64, 32, 3, 40, 2, 40, 34, 0, 69, 13, 0, 32, 3, 65, 44, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 3, 65, 52, 106, 40, 2, 0, 33, 0, 32, 3, 65, 60, 106, 40, 2, 0, 34, 1, 4, 64, 32, 1, 65, 5, 116, 33, 2, 32, 0, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 32, 3, 40, 2, 52, 33, 0, 11, 32, 3, 65, 56, 106, 40, 2, 0, 34, 1, 69, 32, 0, 69, 114, 32, 1, 65, 5, 116, 69, 114, 69, 4, 64, 32, 0, 16, 204, 1, 11, 32, 3, 40, 2, 64, 34, 0, 69, 13, 0, 32, 3, 65, 196, 0, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 3, 65, 240, 2, 106, 36, 0, 11, 53, 1, 2, 126, 66, 1, 33, 0, 3, 64, 66, 0, 32, 0, 32, 0, 66, 255, 179, 196, 195, 33, 86, 27, 34, 1, 66, 1, 124, 34, 0, 32, 1, 90, 13, 0, 11, 65, 128, 128, 192, 0, 65, 28, 65, 136, 146, 192, 0, 16, 219, 1, 0, 11, 244, 2, 2, 4, 127, 2, 126, 35, 0, 65, 64, 106, 34, 0, 36, 0, 2, 64, 2, 64, 3, 64, 32, 0, 32, 4, 55, 3, 0, 32, 0, 65, 0, 54, 2, 16, 32, 0, 66, 1, 55, 3, 8, 32, 0, 32, 0, 54, 2, 20, 32, 0, 65, 12, 54, 2, 28, 32, 0, 32, 0, 65, 20, 106, 54, 2, 24, 32, 0, 32, 0, 65, 8, 106, 54, 2, 36, 32, 0, 65, 1, 54, 2, 60, 32, 0, 66, 1, 55, 2, 44, 32, 0, 65, 228, 134, 192, 0, 54, 2, 40, 32, 0, 32, 0, 65, 24, 106, 54, 2, 56, 32, 0, 65, 36, 106, 65, 232, 141, 192, 0, 32, 0, 65, 40, 106, 16, 227, 1, 13, 1, 2, 64, 32, 0, 40, 2, 12, 34, 1, 32, 0, 40, 2, 16, 34, 2, 70, 13, 0, 2, 64, 32, 1, 32, 2, 79, 4, 64, 32, 1, 69, 4, 64, 32, 2, 33, 1, 12, 3, 11, 32, 0, 40, 2, 8, 34, 3, 13, 1, 32, 2, 33, 1, 12, 2, 11, 65, 168, 143, 192, 0, 65, 36, 65, 152, 143, 192, 0, 16, 219, 1, 0, 11, 2, 64, 32, 2, 69, 4, 64, 65, 1, 33, 1, 32, 3, 16, 204, 1, 12, 1, 11, 32, 3, 32, 1, 65, 1, 32, 2, 16, 74, 34, 1, 69, 13, 4, 11, 32, 0, 32, 2, 54, 2, 12, 32, 0, 32, 1, 54, 2, 8, 32, 0, 40, 2, 16, 33, 1, 11, 65, 152, 146, 192, 0, 65, 8, 32, 0, 40, 2, 8, 32, 1, 16, 113, 2, 64, 32, 0, 40, 2, 8, 34, 1, 69, 13, 0, 32, 0, 40, 2, 12, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 0, 41, 3, 0, 34, 5, 66, 1, 124, 34, 4, 32, 5, 90, 13, 0, 11, 65, 128, 128, 192, 0, 65, 28, 65, 160, 146, 192, 0, 16, 219, 1, 0, 11, 65, 236, 134, 192, 0, 65, 55, 32, 0, 65, 40, 106, 65, 204, 142, 192, 0, 65, 236, 135, 192, 0, 16, 235, 1, 0, 11, 32, 2, 65, 1, 16, 211, 1, 0, 11, 151, 2, 1, 7, 127, 65, 4, 65, 4, 16, 73, 34, 2, 4, 64, 32, 2, 65, 1, 54, 2, 0, 65, 4, 33, 3, 65, 1, 33, 1, 65, 1, 33, 0, 2, 64, 2, 64, 2, 64, 3, 64, 32, 0, 65, 1, 106, 34, 4, 32, 0, 73, 34, 5, 13, 3, 32, 0, 32, 1, 70, 4, 64, 32, 1, 65, 1, 106, 34, 0, 32, 1, 73, 13, 2, 32, 1, 65, 1, 116, 34, 6, 32, 0, 32, 6, 32, 0, 75, 27, 34, 0, 65, 4, 32, 0, 65, 4, 75, 27, 34, 0, 65, 255, 255, 255, 255, 3, 113, 32, 0, 71, 13, 2, 32, 0, 65, 2, 116, 34, 0, 65, 0, 72, 13, 2, 2, 64, 2, 64, 32, 1, 65, 2, 116, 34, 1, 32, 0, 70, 13, 0, 32, 1, 69, 4, 64, 32, 0, 69, 4, 64, 65, 4, 33, 2, 12, 3, 11, 32, 0, 65, 4, 16, 73, 33, 2, 12, 1, 11, 32, 2, 32, 1, 65, 4, 32, 0, 16, 74, 33, 2, 11, 32, 2, 69, 13, 4, 11, 32, 0, 65, 2, 118, 33, 1, 11, 32, 2, 32, 3, 106, 32, 4, 54, 2, 0, 32, 3, 65, 4, 106, 33, 3, 32, 4, 33, 0, 32, 5, 69, 13, 0, 11, 65, 176, 146, 192, 0, 65, 17, 65, 196, 146, 192, 0, 16, 233, 1, 0, 11, 16, 213, 1, 0, 11, 32, 0, 65, 4, 16, 211, 1, 0, 11, 65, 128, 128, 192, 0, 65, 28, 65, 212, 146, 192, 0, 16, 219, 1, 0, 11, 65, 4, 65, 4, 16, 211, 1, 0, 11, 190, 2, 1, 4, 127, 35, 0, 65, 32, 107, 34, 1, 36, 0, 2, 64, 2, 64, 65, 192, 12, 64, 0, 65, 127, 71, 4, 64, 32, 0, 66, 128, 128, 128, 128, 128, 1, 55, 2, 0, 32, 0, 65, 24, 106, 66, 0, 55, 2, 0, 32, 0, 65, 16, 106, 66, 4, 55, 2, 0, 32, 0, 65, 8, 106, 66, 0, 55, 2, 0, 12, 1, 11, 65, 32, 65, 1, 16, 73, 34, 2, 69, 13, 1, 32, 1, 66, 32, 55, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 1, 65, 32, 16, 6, 32, 1, 40, 2, 8, 34, 4, 32, 1, 40, 2, 0, 106, 34, 2, 65, 228, 146, 192, 0, 41, 0, 0, 55, 0, 0, 32, 1, 65, 24, 106, 34, 3, 32, 4, 65, 32, 106, 54, 2, 0, 32, 2, 65, 8, 106, 65, 236, 146, 192, 0, 41, 0, 0, 55, 0, 0, 32, 2, 65, 16, 106, 65, 244, 146, 192, 0, 41, 0, 0, 55, 0, 0, 32, 2, 65, 24, 106, 65, 252, 146, 192, 0, 41, 0, 0, 55, 0, 0, 32, 1, 32, 1, 41, 3, 0, 55, 3, 16, 16, 157, 1, 33, 2, 32, 1, 65, 10, 106, 32, 3, 40, 2, 0, 54, 1, 0, 32, 1, 32, 1, 41, 3, 16, 55, 1, 2, 32, 0, 32, 2, 58, 0, 5, 32, 0, 65, 0, 58, 0, 4, 32, 0, 32, 1, 41, 1, 0, 55, 1, 6, 32, 0, 65, 12, 106, 32, 1, 65, 6, 106, 41, 1, 0, 55, 1, 0, 32, 0, 65, 20, 106, 32, 1, 41, 2, 16, 55, 2, 0, 32, 0, 65, 28, 106, 32, 3, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 11, 32, 1, 65, 32, 106, 36, 0, 15, 11, 65, 32, 16, 29, 0, 11, 140, 59, 2, 14, 127, 2, 126, 35, 0, 65, 224, 3, 107, 34, 2, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 0, 65, 1, 107, 14, 2, 2, 0, 1, 11, 32, 1, 65, 8, 106, 40, 2, 0, 33, 8, 32, 1, 40, 2, 4, 33, 6, 32, 2, 65, 248, 0, 106, 32, 1, 65, 20, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 1, 65, 12, 106, 41, 2, 0, 55, 3, 112, 32, 2, 65, 56, 106, 32, 2, 65, 240, 0, 106, 16, 107, 32, 2, 40, 2, 60, 34, 1, 65, 127, 76, 13, 2, 32, 2, 40, 2, 56, 33, 3, 2, 64, 32, 1, 69, 4, 64, 65, 1, 33, 5, 12, 1, 11, 32, 1, 34, 4, 65, 1, 16, 73, 34, 5, 69, 13, 4, 11, 32, 2, 65, 0, 54, 2, 136, 1, 32, 2, 32, 5, 54, 2, 128, 1, 32, 2, 32, 4, 54, 2, 132, 1, 32, 2, 65, 128, 1, 106, 32, 1, 16, 6, 32, 2, 40, 2, 128, 1, 34, 5, 32, 2, 40, 2, 136, 1, 34, 4, 106, 32, 3, 32, 1, 16, 154, 2, 26, 32, 2, 32, 1, 32, 4, 106, 34, 1, 54, 2, 136, 1, 2, 64, 32, 8, 69, 13, 0, 32, 8, 65, 127, 106, 33, 3, 32, 2, 65, 168, 1, 106, 33, 4, 32, 2, 65, 160, 1, 106, 33, 9, 32, 2, 65, 152, 1, 106, 33, 10, 3, 64, 32, 2, 65, 200, 1, 106, 16, 163, 1, 32, 2, 65, 200, 1, 106, 32, 5, 32, 1, 16, 160, 1, 32, 4, 66, 0, 55, 3, 0, 32, 9, 66, 0, 55, 3, 0, 32, 10, 66, 0, 55, 3, 0, 32, 2, 66, 0, 55, 3, 144, 1, 32, 2, 65, 184, 2, 106, 32, 2, 65, 200, 1, 106, 65, 240, 0, 16, 154, 2, 26, 32, 2, 65, 184, 2, 106, 32, 2, 65, 144, 1, 106, 16, 164, 1, 65, 32, 65, 1, 16, 73, 34, 1, 69, 13, 6, 32, 2, 66, 32, 55, 2, 188, 2, 32, 2, 32, 1, 54, 2, 184, 2, 32, 2, 65, 184, 2, 106, 65, 32, 16, 6, 32, 2, 40, 2, 192, 2, 34, 7, 32, 2, 40, 2, 184, 2, 106, 34, 1, 32, 2, 41, 3, 144, 1, 55, 0, 0, 32, 1, 65, 8, 106, 32, 10, 41, 3, 0, 55, 0, 0, 32, 1, 65, 16, 106, 32, 9, 41, 3, 0, 55, 0, 0, 32, 1, 65, 24, 106, 32, 4, 41, 3, 0, 55, 0, 0, 32, 2, 32, 7, 65, 32, 106, 54, 2, 192, 2, 2, 64, 32, 5, 69, 13, 0, 32, 2, 40, 2, 132, 1, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 2, 65, 136, 1, 106, 32, 2, 65, 192, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 184, 2, 55, 3, 128, 1, 32, 3, 69, 13, 1, 32, 3, 65, 127, 106, 33, 3, 32, 2, 40, 2, 128, 1, 33, 5, 32, 2, 40, 2, 136, 1, 33, 1, 12, 0, 11, 0, 11, 32, 6, 13, 12, 32, 2, 65, 192, 2, 106, 32, 2, 65, 136, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 128, 1, 55, 3, 184, 2, 32, 2, 65, 200, 1, 106, 32, 2, 65, 184, 2, 106, 16, 102, 32, 2, 40, 2, 200, 1, 34, 1, 65, 16, 118, 33, 6, 32, 1, 65, 8, 118, 33, 8, 32, 2, 40, 2, 204, 1, 33, 3, 32, 2, 40, 2, 208, 1, 33, 4, 65, 0, 33, 5, 2, 64, 32, 2, 40, 2, 112, 34, 7, 69, 13, 0, 32, 2, 40, 2, 116, 69, 13, 0, 32, 7, 16, 204, 1, 11, 12, 13, 11, 32, 2, 65, 200, 1, 106, 16, 112, 2, 64, 32, 2, 40, 2, 200, 1, 34, 1, 69, 4, 64, 65, 5, 65, 1, 16, 73, 34, 1, 13, 1, 65, 5, 16, 29, 0, 11, 32, 2, 40, 2, 204, 1, 33, 7, 32, 2, 65, 184, 2, 106, 32, 1, 65, 255, 1, 113, 32, 2, 45, 0, 201, 1, 65, 8, 116, 114, 32, 2, 47, 1, 202, 1, 65, 16, 116, 114, 34, 9, 32, 2, 65, 208, 1, 106, 40, 2, 0, 16, 20, 32, 2, 65, 152, 1, 106, 34, 10, 32, 2, 65, 212, 2, 106, 34, 11, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 65, 204, 2, 106, 34, 12, 41, 2, 0, 55, 3, 144, 1, 32, 2, 65, 200, 2, 106, 34, 13, 40, 2, 0, 33, 8, 32, 2, 65, 196, 2, 106, 34, 14, 40, 2, 0, 33, 6, 32, 2, 65, 192, 2, 106, 34, 15, 40, 2, 0, 33, 1, 32, 2, 47, 1, 190, 2, 33, 5, 32, 2, 45, 0, 189, 2, 33, 3, 32, 2, 45, 0, 188, 2, 33, 4, 32, 2, 40, 2, 184, 2, 65, 1, 70, 4, 64, 32, 2, 65, 176, 3, 106, 32, 10, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 144, 1, 55, 3, 168, 3, 12, 11, 11, 32, 2, 65, 216, 2, 106, 41, 3, 0, 33, 16, 32, 2, 65, 216, 1, 106, 32, 2, 41, 3, 144, 1, 55, 3, 0, 32, 2, 65, 228, 1, 106, 32, 16, 55, 2, 0, 32, 2, 65, 224, 1, 106, 32, 10, 40, 2, 0, 54, 2, 0, 32, 2, 32, 8, 54, 2, 212, 1, 32, 2, 32, 6, 54, 2, 208, 1, 32, 2, 32, 1, 54, 2, 204, 1, 32, 2, 32, 5, 59, 1, 202, 1, 32, 2, 32, 3, 58, 0, 201, 1, 32, 2, 32, 4, 58, 0, 200, 1, 32, 2, 65, 184, 2, 106, 32, 2, 65, 200, 1, 106, 16, 115, 32, 2, 65, 184, 1, 106, 32, 11, 40, 2, 0, 54, 2, 0, 32, 2, 32, 12, 41, 2, 0, 55, 3, 176, 1, 32, 14, 40, 2, 0, 33, 6, 32, 15, 40, 2, 0, 33, 1, 32, 2, 47, 1, 190, 2, 33, 5, 32, 2, 45, 0, 189, 2, 33, 3, 32, 2, 45, 0, 188, 2, 33, 4, 32, 2, 40, 2, 184, 2, 65, 1, 71, 13, 9, 32, 13, 40, 2, 0, 33, 8, 32, 2, 65, 176, 3, 106, 32, 2, 65, 184, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 176, 1, 55, 3, 168, 3, 2, 64, 32, 2, 40, 2, 200, 1, 34, 10, 69, 13, 0, 32, 2, 40, 2, 204, 1, 69, 13, 0, 32, 10, 16, 204, 1, 11, 2, 64, 32, 2, 40, 2, 212, 1, 34, 10, 69, 13, 0, 32, 2, 40, 2, 216, 1, 69, 13, 0, 32, 10, 16, 204, 1, 11, 32, 2, 40, 2, 224, 1, 34, 10, 69, 13, 10, 32, 2, 40, 2, 228, 1, 69, 13, 10, 32, 10, 16, 204, 1, 12, 10, 11, 32, 2, 66, 5, 55, 2, 188, 2, 32, 2, 32, 1, 54, 2, 184, 2, 32, 2, 65, 184, 2, 106, 65, 5, 16, 6, 32, 2, 40, 2, 184, 2, 34, 1, 32, 2, 40, 2, 192, 2, 34, 5, 106, 34, 3, 65, 214, 145, 192, 0, 40, 0, 0, 54, 0, 0, 32, 3, 65, 4, 106, 65, 218, 145, 192, 0, 45, 0, 0, 58, 0, 0, 32, 2, 40, 2, 188, 2, 33, 6, 16, 157, 1, 33, 3, 32, 2, 65, 176, 3, 106, 32, 2, 65, 192, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 184, 2, 55, 3, 168, 3, 32, 5, 65, 5, 106, 33, 8, 65, 3, 33, 4, 12, 10, 11, 32, 2, 65, 208, 1, 106, 32, 1, 41, 2, 4, 55, 3, 0, 32, 2, 65, 216, 1, 106, 32, 1, 65, 12, 106, 40, 2, 0, 54, 2, 0, 32, 2, 66, 128, 128, 128, 128, 16, 55, 3, 200, 1, 32, 2, 65, 184, 2, 106, 32, 2, 65, 200, 1, 106, 16, 31, 32, 2, 65, 184, 1, 106, 34, 1, 32, 2, 65, 212, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 65, 204, 2, 106, 41, 2, 0, 55, 3, 176, 1, 32, 2, 65, 196, 2, 106, 40, 2, 0, 33, 8, 32, 2, 65, 192, 2, 106, 40, 2, 0, 33, 9, 32, 2, 40, 2, 188, 2, 33, 6, 32, 2, 40, 2, 184, 2, 65, 1, 70, 13, 3, 32, 2, 65, 200, 1, 106, 16, 42, 32, 2, 65, 200, 3, 106, 32, 2, 65, 216, 3, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 208, 3, 55, 3, 192, 3, 32, 2, 65, 144, 1, 106, 16, 141, 1, 32, 2, 65, 184, 2, 106, 32, 2, 65, 144, 1, 106, 16, 147, 1, 32, 2, 40, 2, 184, 2, 65, 1, 70, 4, 64, 32, 2, 65, 208, 1, 106, 32, 2, 65, 196, 2, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 188, 2, 55, 3, 200, 1, 12, 7, 11, 32, 2, 40, 2, 188, 2, 34, 7, 65, 8, 106, 40, 2, 0, 33, 1, 32, 2, 65, 192, 2, 106, 45, 0, 0, 69, 4, 64, 32, 7, 65, 4, 106, 40, 2, 0, 32, 1, 70, 4, 127, 32, 7, 65, 1, 16, 6, 32, 7, 65, 8, 106, 40, 2, 0, 5, 32, 1, 11, 32, 7, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 7, 65, 8, 106, 34, 1, 32, 1, 40, 2, 0, 65, 1, 106, 34, 1, 54, 2, 0, 11, 32, 7, 65, 4, 106, 40, 2, 0, 32, 1, 70, 4, 127, 32, 7, 65, 1, 16, 6, 32, 7, 65, 8, 106, 40, 2, 0, 5, 32, 1, 11, 32, 7, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 7, 65, 8, 106, 34, 1, 32, 1, 40, 2, 0, 65, 1, 106, 54, 2, 0, 32, 7, 65, 6, 16, 6, 32, 1, 40, 2, 0, 34, 3, 32, 7, 40, 2, 0, 106, 34, 4, 65, 189, 128, 192, 0, 40, 0, 0, 54, 0, 0, 32, 4, 65, 4, 106, 65, 193, 128, 192, 0, 47, 0, 0, 59, 0, 0, 32, 1, 32, 3, 65, 6, 106, 54, 2, 0, 32, 7, 65, 2, 16, 6, 32, 1, 40, 2, 0, 34, 3, 32, 7, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 1, 32, 3, 65, 2, 106, 54, 2, 0, 32, 2, 65, 184, 2, 106, 32, 7, 32, 8, 16, 146, 1, 32, 2, 40, 2, 184, 2, 65, 1, 70, 4, 64, 32, 2, 65, 208, 1, 106, 32, 2, 65, 196, 2, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 188, 2, 55, 3, 200, 1, 12, 6, 11, 32, 8, 65, 5, 116, 33, 5, 32, 2, 65, 192, 2, 106, 45, 0, 0, 33, 4, 32, 2, 40, 2, 188, 2, 34, 1, 65, 4, 106, 33, 10, 32, 6, 33, 3, 3, 64, 32, 5, 69, 13, 5, 32, 4, 65, 255, 1, 113, 69, 4, 64, 32, 1, 40, 2, 8, 34, 4, 32, 10, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 2, 65, 184, 2, 106, 32, 3, 32, 1, 16, 8, 32, 5, 65, 96, 106, 33, 5, 65, 0, 33, 4, 32, 3, 65, 32, 106, 33, 3, 32, 2, 40, 2, 184, 2, 34, 11, 65, 3, 70, 13, 0, 11, 32, 2, 40, 2, 192, 2, 33, 1, 32, 2, 40, 2, 188, 2, 33, 3, 32, 2, 65, 212, 1, 106, 32, 2, 40, 2, 196, 2, 54, 2, 0, 32, 2, 65, 208, 1, 106, 32, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 204, 1, 32, 2, 32, 11, 54, 2, 200, 1, 12, 5, 11, 16, 28, 0, 11, 32, 1, 16, 29, 0, 11, 65, 32, 16, 29, 0, 11, 32, 2, 65, 200, 2, 106, 40, 2, 0, 33, 3, 32, 2, 65, 152, 1, 106, 34, 4, 32, 1, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 176, 1, 55, 3, 144, 1, 32, 2, 65, 200, 1, 106, 16, 42, 32, 2, 65, 200, 3, 106, 34, 1, 32, 4, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 144, 1, 34, 16, 55, 3, 168, 3, 32, 2, 32, 16, 55, 3, 208, 3, 32, 2, 32, 16, 55, 3, 192, 3, 32, 0, 65, 16, 106, 32, 3, 54, 2, 0, 32, 0, 65, 12, 106, 32, 8, 54, 2, 0, 32, 0, 65, 8, 106, 32, 9, 54, 2, 0, 32, 0, 32, 6, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 41, 3, 192, 3, 55, 2, 0, 32, 0, 65, 28, 106, 32, 1, 40, 2, 0, 54, 2, 0, 12, 8, 11, 32, 2, 65, 200, 1, 106, 32, 1, 16, 137, 1, 11, 32, 2, 40, 2, 200, 1, 34, 1, 65, 3, 71, 4, 64, 32, 2, 65, 208, 1, 106, 34, 3, 40, 2, 0, 33, 4, 32, 2, 40, 2, 204, 1, 33, 5, 32, 2, 65, 212, 1, 106, 34, 7, 32, 7, 40, 2, 0, 54, 2, 0, 32, 3, 32, 4, 54, 2, 0, 32, 2, 32, 5, 54, 2, 204, 1, 32, 2, 32, 1, 54, 2, 200, 1, 12, 1, 11, 32, 2, 65, 200, 1, 106, 32, 7, 65, 0, 16, 138, 1, 11, 32, 0, 2, 127, 32, 2, 40, 2, 200, 1, 34, 1, 65, 3, 71, 4, 64, 32, 2, 65, 212, 1, 106, 40, 2, 0, 33, 3, 32, 2, 65, 208, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 204, 1, 33, 5, 2, 64, 32, 2, 40, 2, 144, 1, 34, 7, 69, 13, 0, 32, 2, 40, 2, 148, 1, 69, 13, 0, 32, 7, 16, 204, 1, 11, 32, 2, 65, 212, 1, 106, 32, 3, 54, 2, 0, 32, 2, 65, 208, 1, 106, 32, 4, 54, 2, 0, 32, 2, 32, 5, 54, 2, 204, 1, 32, 2, 32, 1, 54, 2, 200, 1, 32, 2, 65, 184, 2, 106, 65, 187, 138, 192, 0, 65, 39, 32, 2, 65, 200, 1, 106, 16, 24, 32, 2, 65, 216, 3, 106, 32, 2, 65, 208, 2, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 2, 32, 2, 65, 200, 2, 106, 41, 3, 0, 34, 16, 55, 3, 208, 3, 32, 2, 41, 3, 184, 2, 33, 17, 32, 0, 65, 12, 106, 32, 2, 65, 192, 2, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 17, 55, 2, 4, 32, 0, 65, 20, 106, 32, 16, 55, 2, 0, 32, 0, 65, 28, 106, 32, 1, 54, 2, 0, 65, 1, 12, 1, 11, 32, 2, 41, 3, 144, 1, 33, 16, 32, 0, 65, 12, 106, 32, 2, 40, 2, 152, 1, 54, 2, 0, 32, 0, 32, 16, 55, 2, 4, 65, 0, 11, 54, 2, 0, 32, 8, 4, 64, 32, 8, 65, 5, 116, 33, 5, 32, 6, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 0, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 5, 65, 96, 106, 34, 5, 13, 0, 11, 11, 32, 9, 69, 32, 9, 65, 5, 116, 69, 32, 6, 69, 114, 114, 13, 5, 32, 6, 16, 204, 1, 12, 5, 11, 2, 64, 32, 2, 40, 2, 200, 1, 34, 8, 69, 13, 0, 32, 2, 40, 2, 204, 1, 69, 13, 0, 32, 8, 16, 204, 1, 11, 2, 64, 32, 2, 40, 2, 212, 1, 34, 8, 69, 13, 0, 32, 2, 40, 2, 216, 1, 69, 13, 0, 32, 8, 16, 204, 1, 11, 2, 64, 32, 2, 40, 2, 224, 1, 34, 8, 69, 13, 0, 32, 2, 40, 2, 228, 1, 69, 13, 0, 32, 8, 16, 204, 1, 11, 32, 7, 4, 64, 32, 9, 16, 204, 1, 11, 32, 2, 65, 200, 3, 106, 32, 2, 65, 176, 3, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 168, 3, 55, 3, 192, 3, 32, 2, 65, 144, 1, 106, 16, 141, 1, 32, 2, 65, 184, 2, 106, 32, 2, 65, 144, 1, 106, 16, 147, 1, 32, 3, 65, 8, 116, 32, 4, 114, 32, 5, 65, 16, 116, 114, 33, 5, 2, 64, 32, 2, 40, 2, 184, 2, 65, 1, 70, 4, 64, 32, 2, 65, 208, 1, 106, 32, 2, 65, 196, 2, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 188, 2, 55, 3, 200, 1, 12, 1, 11, 32, 2, 40, 2, 188, 2, 34, 4, 65, 8, 106, 40, 2, 0, 33, 3, 32, 2, 65, 192, 2, 106, 45, 0, 0, 69, 4, 64, 32, 4, 65, 4, 106, 40, 2, 0, 32, 3, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 4, 65, 8, 106, 40, 2, 0, 5, 32, 3, 11, 32, 4, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 4, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 11, 32, 4, 65, 4, 106, 40, 2, 0, 32, 3, 70, 4, 127, 32, 4, 65, 1, 16, 6, 32, 4, 65, 8, 106, 40, 2, 0, 5, 32, 3, 11, 32, 4, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 4, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 54, 2, 0, 32, 4, 65, 8, 16, 6, 32, 3, 40, 2, 0, 34, 7, 32, 4, 40, 2, 0, 106, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 55, 0, 0, 32, 3, 32, 7, 65, 8, 106, 54, 2, 0, 32, 4, 65, 2, 16, 6, 32, 3, 40, 2, 0, 34, 7, 32, 4, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 3, 32, 7, 65, 2, 106, 54, 2, 0, 32, 2, 65, 184, 2, 106, 32, 4, 32, 5, 32, 6, 16, 144, 1, 32, 2, 40, 2, 184, 2, 34, 3, 65, 3, 71, 4, 64, 32, 2, 65, 192, 2, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 188, 2, 33, 6, 32, 2, 65, 212, 1, 106, 32, 2, 65, 196, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 208, 1, 106, 32, 4, 54, 2, 0, 32, 2, 32, 6, 54, 2, 204, 1, 32, 2, 32, 3, 54, 2, 200, 1, 12, 1, 11, 32, 2, 65, 200, 1, 106, 32, 4, 65, 0, 16, 138, 1, 11, 32, 0, 2, 127, 32, 2, 40, 2, 200, 1, 34, 3, 65, 3, 71, 4, 64, 32, 2, 65, 212, 1, 106, 40, 2, 0, 33, 4, 32, 2, 65, 208, 1, 106, 40, 2, 0, 33, 6, 32, 2, 40, 2, 204, 1, 33, 7, 2, 64, 32, 2, 40, 2, 144, 1, 34, 8, 69, 13, 0, 32, 2, 40, 2, 148, 1, 69, 13, 0, 32, 8, 16, 204, 1, 11, 32, 2, 65, 212, 1, 106, 32, 4, 54, 2, 0, 32, 2, 65, 208, 1, 106, 32, 6, 54, 2, 0, 32, 2, 32, 7, 54, 2, 204, 1, 32, 2, 32, 3, 54, 2, 200, 1, 32, 2, 65, 184, 2, 106, 65, 183, 136, 192, 0, 65, 36, 32, 2, 65, 200, 1, 106, 16, 24, 32, 2, 65, 216, 3, 106, 32, 2, 65, 208, 2, 106, 40, 2, 0, 34, 3, 54, 2, 0, 32, 2, 32, 2, 65, 200, 2, 106, 41, 3, 0, 34, 16, 55, 3, 208, 3, 32, 2, 41, 3, 184, 2, 33, 17, 32, 0, 65, 12, 106, 32, 2, 65, 192, 2, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 17, 55, 2, 4, 32, 0, 65, 20, 106, 32, 16, 55, 2, 0, 32, 0, 65, 28, 106, 32, 3, 54, 2, 0, 65, 1, 12, 1, 11, 32, 2, 41, 3, 144, 1, 33, 16, 32, 0, 65, 12, 106, 32, 2, 40, 2, 152, 1, 54, 2, 0, 32, 0, 32, 16, 55, 2, 4, 65, 0, 11, 54, 2, 0, 32, 1, 69, 32, 5, 69, 114, 13, 4, 32, 5, 16, 204, 1, 12, 4, 11, 32, 7, 69, 13, 0, 32, 9, 16, 204, 1, 11, 32, 2, 65, 200, 3, 106, 32, 2, 65, 176, 3, 106, 40, 2, 0, 34, 7, 54, 2, 0, 32, 2, 32, 2, 41, 3, 168, 3, 34, 16, 55, 3, 192, 3, 32, 0, 65, 16, 106, 32, 8, 54, 2, 0, 32, 0, 65, 12, 106, 32, 6, 54, 2, 0, 32, 0, 65, 8, 106, 32, 1, 54, 2, 0, 32, 0, 32, 5, 59, 1, 6, 32, 0, 32, 3, 58, 0, 5, 32, 0, 32, 4, 58, 0, 4, 32, 0, 65, 20, 106, 32, 16, 55, 2, 0, 32, 0, 65, 28, 106, 32, 7, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 12, 2, 11, 32, 2, 65, 184, 2, 106, 32, 2, 65, 240, 0, 106, 16, 215, 1, 32, 2, 65, 184, 1, 106, 32, 8, 54, 2, 0, 32, 2, 65, 188, 1, 106, 34, 1, 32, 2, 41, 3, 184, 2, 55, 2, 0, 32, 2, 65, 196, 1, 106, 32, 2, 65, 192, 2, 106, 34, 9, 40, 2, 0, 54, 2, 0, 32, 2, 32, 6, 65, 127, 106, 34, 3, 54, 2, 180, 1, 32, 2, 65, 2, 54, 2, 176, 1, 32, 2, 40, 2, 112, 33, 5, 32, 2, 40, 2, 116, 33, 6, 32, 2, 40, 2, 120, 33, 4, 32, 2, 65, 168, 3, 106, 16, 141, 1, 32, 2, 65, 184, 2, 106, 32, 2, 65, 168, 3, 106, 65, 205, 148, 192, 0, 65, 7, 16, 148, 1, 2, 64, 32, 2, 40, 2, 184, 2, 65, 1, 70, 4, 64, 32, 2, 65, 152, 1, 106, 32, 2, 65, 196, 2, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 188, 2, 55, 3, 144, 1, 12, 1, 11, 32, 2, 32, 2, 40, 2, 188, 2, 54, 2, 192, 3, 32, 2, 32, 9, 45, 0, 0, 58, 0, 196, 3, 32, 2, 65, 184, 2, 106, 32, 2, 65, 192, 3, 106, 65, 212, 148, 192, 0, 65, 5, 32, 3, 16, 5, 32, 2, 40, 2, 184, 2, 65, 3, 71, 4, 64, 32, 2, 65, 152, 1, 106, 32, 2, 65, 192, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 184, 2, 55, 3, 144, 1, 12, 1, 11, 32, 2, 65, 184, 2, 106, 32, 2, 65, 192, 3, 106, 65, 217, 148, 192, 0, 65, 4, 32, 8, 16, 5, 32, 2, 40, 2, 184, 2, 65, 3, 71, 4, 64, 32, 2, 65, 152, 1, 106, 32, 2, 65, 192, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 184, 2, 55, 3, 144, 1, 12, 1, 11, 32, 2, 65, 184, 2, 106, 32, 2, 65, 192, 3, 106, 65, 198, 131, 192, 0, 65, 8, 32, 1, 16, 9, 32, 2, 40, 2, 184, 2, 65, 3, 71, 4, 64, 32, 2, 65, 152, 1, 106, 32, 2, 65, 192, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 184, 2, 55, 3, 144, 1, 12, 1, 11, 32, 2, 65, 144, 1, 106, 32, 2, 40, 2, 192, 3, 32, 2, 45, 0, 196, 3, 16, 139, 1, 11, 32, 2, 40, 2, 144, 1, 34, 1, 65, 3, 71, 4, 64, 32, 2, 65, 156, 1, 106, 40, 2, 0, 33, 3, 32, 2, 65, 152, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 148, 1, 33, 7, 2, 64, 32, 2, 40, 2, 168, 3, 34, 8, 69, 13, 0, 32, 2, 40, 2, 172, 3, 69, 13, 0, 32, 8, 16, 204, 1, 11, 32, 2, 65, 156, 1, 106, 32, 3, 54, 2, 0, 32, 2, 65, 152, 1, 106, 32, 4, 54, 2, 0, 32, 2, 32, 7, 54, 2, 148, 1, 32, 2, 32, 1, 54, 2, 144, 1, 32, 2, 65, 184, 2, 106, 65, 226, 138, 192, 0, 65, 28, 32, 2, 65, 144, 1, 106, 16, 24, 32, 2, 65, 216, 3, 106, 32, 2, 65, 208, 2, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 2, 65, 232, 0, 106, 32, 1, 54, 2, 0, 32, 2, 32, 2, 65, 200, 2, 106, 41, 3, 0, 55, 3, 96, 32, 2, 40, 2, 184, 2, 33, 1, 32, 2, 65, 192, 2, 106, 40, 2, 0, 33, 4, 32, 2, 65, 196, 2, 106, 40, 2, 0, 33, 7, 32, 2, 40, 2, 188, 2, 33, 3, 32, 5, 69, 32, 6, 69, 114, 69, 4, 64, 32, 5, 16, 204, 1, 11, 2, 64, 32, 2, 40, 2, 188, 1, 34, 6, 69, 13, 0, 32, 2, 65, 192, 1, 106, 40, 2, 0, 69, 13, 0, 32, 6, 16, 204, 1, 11, 2, 64, 32, 2, 40, 2, 128, 1, 34, 6, 69, 13, 0, 32, 2, 40, 2, 132, 1, 69, 13, 0, 32, 6, 16, 204, 1, 11, 32, 1, 65, 16, 118, 33, 6, 32, 1, 65, 8, 118, 33, 8, 65, 1, 33, 5, 12, 1, 11, 32, 2, 65, 228, 1, 106, 32, 2, 40, 2, 176, 3, 54, 2, 0, 32, 2, 65, 220, 1, 106, 32, 2, 41, 3, 168, 3, 55, 2, 0, 32, 2, 65, 216, 1, 106, 32, 4, 54, 2, 0, 32, 2, 65, 212, 1, 106, 32, 6, 54, 2, 0, 32, 2, 65, 208, 1, 106, 32, 5, 54, 2, 0, 32, 2, 66, 3, 55, 3, 200, 1, 32, 2, 65, 184, 2, 106, 32, 2, 65, 200, 1, 106, 16, 25, 65, 1, 33, 5, 2, 64, 32, 2, 40, 2, 184, 2, 65, 1, 70, 4, 64, 32, 2, 65, 168, 1, 106, 32, 2, 65, 212, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 160, 1, 106, 32, 2, 65, 204, 2, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 152, 1, 106, 32, 2, 65, 196, 2, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 188, 2, 55, 3, 144, 1, 32, 2, 65, 188, 3, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 172, 3, 32, 2, 65, 148, 133, 192, 0, 54, 2, 168, 3, 32, 2, 65, 6, 54, 2, 196, 3, 32, 2, 32, 2, 65, 192, 3, 106, 54, 2, 184, 3, 32, 2, 32, 2, 65, 144, 1, 106, 54, 2, 192, 3, 32, 2, 65, 208, 3, 106, 32, 2, 65, 168, 3, 106, 16, 212, 1, 16, 157, 1, 33, 8, 32, 2, 40, 2, 216, 3, 33, 7, 32, 2, 40, 2, 212, 3, 33, 4, 32, 2, 40, 2, 208, 3, 33, 3, 32, 2, 65, 144, 1, 106, 16, 32, 65, 0, 33, 1, 65, 0, 33, 6, 12, 1, 11, 32, 2, 65, 192, 2, 106, 40, 2, 0, 32, 2, 65, 184, 2, 106, 32, 2, 40, 2, 188, 2, 34, 11, 32, 2, 65, 196, 2, 106, 34, 1, 40, 2, 0, 16, 116, 2, 64, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 184, 2, 65, 1, 71, 4, 64, 32, 2, 40, 2, 188, 2, 65, 1, 70, 13, 1, 32, 2, 65, 200, 3, 106, 32, 2, 65, 200, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 65, 192, 2, 106, 41, 3, 0, 55, 3, 192, 3, 32, 2, 65, 48, 106, 32, 2, 65, 192, 3, 106, 16, 107, 32, 2, 65, 208, 3, 106, 32, 2, 40, 2, 48, 32, 2, 40, 2, 52, 16, 128, 1, 32, 2, 65, 40, 106, 32, 2, 65, 208, 3, 106, 16, 135, 1, 32, 2, 45, 0, 40, 65, 1, 113, 69, 4, 64, 65, 4, 33, 5, 12, 7, 11, 32, 2, 45, 0, 41, 65, 251, 0, 71, 4, 64, 65, 14, 33, 5, 12, 7, 11, 32, 2, 65, 208, 3, 106, 16, 129, 1, 32, 2, 65, 32, 106, 32, 2, 65, 208, 3, 106, 16, 127, 32, 2, 45, 0, 36, 32, 2, 65, 24, 106, 32, 2, 40, 2, 32, 34, 8, 16, 135, 1, 32, 2, 45, 0, 24, 65, 1, 113, 69, 4, 64, 65, 2, 33, 5, 12, 7, 11, 32, 2, 45, 0, 25, 33, 5, 65, 1, 113, 33, 6, 65, 0, 33, 1, 2, 64, 3, 64, 2, 64, 32, 5, 65, 255, 1, 113, 34, 7, 65, 44, 71, 4, 64, 32, 7, 65, 253, 0, 70, 13, 3, 32, 6, 65, 255, 1, 113, 13, 1, 65, 9, 33, 5, 12, 8, 11, 32, 6, 65, 255, 1, 113, 4, 64, 65, 16, 33, 5, 12, 8, 11, 32, 8, 16, 129, 1, 32, 2, 65, 16, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 16, 65, 1, 113, 69, 13, 6, 32, 2, 45, 0, 17, 33, 5, 11, 32, 5, 65, 255, 1, 113, 34, 6, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 6, 65, 253, 0, 70, 27, 33, 5, 12, 7, 11, 32, 2, 65, 8, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 8, 65, 1, 113, 69, 13, 5, 32, 2, 45, 0, 9, 65, 34, 71, 4, 64, 65, 14, 33, 5, 12, 7, 11, 32, 8, 16, 129, 1, 32, 2, 65, 144, 1, 106, 32, 8, 16, 134, 1, 32, 2, 40, 2, 156, 1, 33, 7, 32, 2, 40, 2, 152, 1, 33, 6, 32, 2, 40, 2, 148, 1, 33, 5, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 144, 1, 65, 1, 71, 4, 64, 65, 1, 33, 9, 2, 64, 32, 7, 65, 6, 71, 13, 0, 32, 5, 65, 151, 149, 192, 0, 71, 4, 64, 32, 5, 65, 151, 149, 192, 0, 65, 6, 16, 156, 2, 13, 1, 11, 65, 0, 33, 9, 11, 32, 6, 4, 64, 32, 5, 16, 204, 1, 11, 32, 9, 69, 13, 1, 32, 2, 65, 144, 1, 106, 32, 8, 16, 133, 1, 32, 2, 40, 2, 144, 1, 34, 5, 65, 22, 70, 13, 2, 32, 2, 40, 2, 152, 1, 33, 7, 32, 2, 40, 2, 148, 1, 33, 6, 32, 2, 32, 2, 40, 2, 156, 1, 34, 4, 54, 2, 180, 3, 32, 2, 32, 7, 54, 2, 176, 3, 32, 2, 32, 6, 54, 2, 172, 3, 32, 2, 32, 5, 54, 2, 168, 3, 12, 10, 11, 32, 2, 40, 2, 160, 1, 33, 4, 12, 9, 11, 2, 64, 32, 1, 69, 4, 64, 32, 2, 65, 168, 3, 106, 32, 8, 16, 133, 1, 32, 2, 40, 2, 168, 3, 34, 5, 65, 22, 70, 13, 1, 32, 2, 40, 2, 176, 3, 33, 7, 32, 2, 40, 2, 172, 3, 33, 6, 32, 2, 32, 2, 40, 2, 180, 3, 34, 4, 54, 2, 160, 1, 32, 2, 32, 7, 54, 2, 156, 1, 32, 2, 32, 6, 54, 2, 152, 1, 32, 2, 32, 5, 54, 2, 148, 1, 32, 2, 65, 1, 54, 2, 144, 1, 12, 12, 11, 32, 2, 65, 144, 1, 106, 65, 151, 149, 192, 0, 65, 6, 16, 15, 32, 2, 65, 156, 1, 106, 40, 2, 0, 33, 4, 32, 2, 65, 152, 1, 106, 40, 2, 0, 33, 7, 32, 2, 40, 2, 148, 1, 33, 6, 32, 2, 40, 2, 144, 1, 33, 5, 32, 3, 13, 10, 12, 11, 11, 32, 2, 65, 144, 1, 106, 32, 8, 16, 21, 32, 2, 40, 2, 144, 1, 65, 1, 70, 4, 64, 32, 2, 40, 2, 160, 1, 33, 4, 32, 2, 40, 2, 156, 1, 33, 7, 32, 2, 40, 2, 152, 1, 33, 6, 32, 2, 40, 2, 148, 1, 33, 5, 12, 11, 11, 32, 2, 40, 2, 156, 1, 33, 4, 32, 2, 40, 2, 152, 1, 33, 3, 32, 2, 40, 2, 148, 1, 33, 1, 12, 1, 11, 32, 2, 65, 168, 3, 106, 32, 8, 16, 16, 32, 2, 40, 2, 168, 3, 34, 5, 65, 22, 71, 13, 5, 11, 32, 2, 32, 8, 16, 135, 1, 65, 0, 33, 6, 32, 2, 45, 0, 1, 33, 5, 32, 2, 45, 0, 0, 65, 1, 113, 13, 0, 11, 65, 2, 33, 5, 12, 5, 11, 32, 1, 69, 4, 64, 32, 2, 65, 144, 1, 106, 65, 151, 149, 192, 0, 65, 6, 16, 17, 32, 2, 65, 156, 1, 106, 40, 2, 0, 33, 4, 32, 2, 65, 152, 1, 106, 40, 2, 0, 33, 7, 32, 2, 40, 2, 148, 1, 33, 6, 32, 2, 40, 2, 144, 1, 33, 5, 12, 7, 11, 32, 2, 65, 144, 1, 106, 32, 2, 65, 208, 3, 106, 16, 132, 1, 32, 2, 65, 156, 1, 106, 33, 6, 32, 2, 65, 152, 1, 106, 33, 8, 32, 2, 40, 2, 144, 1, 34, 5, 65, 22, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 32, 8, 40, 2, 0, 33, 7, 32, 2, 40, 2, 148, 1, 33, 6, 32, 3, 69, 13, 7, 32, 1, 16, 204, 1, 12, 7, 11, 32, 2, 65, 144, 1, 106, 32, 2, 65, 208, 3, 106, 16, 130, 1, 32, 2, 40, 2, 144, 1, 34, 5, 65, 22, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 32, 8, 40, 2, 0, 33, 7, 32, 2, 40, 2, 148, 1, 33, 6, 32, 3, 69, 13, 7, 32, 1, 16, 204, 1, 12, 7, 11, 65, 0, 12, 7, 11, 32, 2, 65, 168, 1, 106, 32, 2, 65, 212, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 160, 1, 106, 32, 2, 65, 204, 2, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 152, 1, 106, 32, 1, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 188, 2, 55, 3, 144, 1, 32, 2, 65, 188, 3, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 172, 3, 32, 2, 65, 180, 133, 192, 0, 54, 2, 168, 3, 32, 2, 65, 7, 54, 2, 196, 3, 32, 2, 32, 2, 65, 192, 3, 106, 54, 2, 184, 3, 32, 2, 32, 2, 65, 144, 1, 106, 54, 2, 192, 3, 32, 2, 65, 208, 3, 106, 32, 2, 65, 168, 3, 106, 16, 212, 1, 16, 157, 1, 33, 8, 32, 2, 40, 2, 216, 3, 33, 7, 32, 2, 40, 2, 212, 3, 33, 4, 32, 2, 40, 2, 208, 3, 33, 3, 2, 64, 32, 2, 40, 2, 144, 1, 34, 1, 65, 3, 77, 4, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 1, 107, 14, 3, 1, 2, 4, 0, 11, 2, 64, 32, 2, 40, 2, 148, 1, 34, 1, 69, 13, 0, 32, 2, 65, 152, 1, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 2, 65, 160, 1, 106, 40, 2, 0, 34, 1, 69, 13, 3, 32, 2, 65, 164, 1, 106, 40, 2, 0, 69, 13, 3, 32, 1, 16, 204, 1, 12, 3, 11, 2, 64, 32, 2, 40, 2, 148, 1, 34, 1, 69, 13, 0, 32, 2, 65, 152, 1, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 2, 65, 160, 1, 106, 40, 2, 0, 34, 1, 69, 13, 2, 32, 2, 65, 164, 1, 106, 40, 2, 0, 69, 13, 2, 32, 1, 16, 204, 1, 12, 2, 11, 32, 2, 40, 2, 148, 1, 34, 1, 69, 13, 1, 32, 2, 65, 152, 1, 106, 40, 2, 0, 69, 13, 1, 32, 1, 16, 204, 1, 12, 1, 11, 32, 2, 40, 2, 148, 1, 34, 1, 69, 13, 0, 32, 2, 65, 152, 1, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 65, 0, 33, 1, 65, 0, 33, 6, 12, 7, 11, 32, 2, 65, 232, 0, 106, 32, 2, 65, 216, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 65, 208, 2, 106, 41, 3, 0, 55, 3, 96, 32, 2, 65, 192, 2, 106, 40, 2, 0, 34, 1, 65, 16, 118, 33, 6, 32, 1, 65, 8, 118, 33, 8, 32, 2, 65, 204, 2, 106, 40, 2, 0, 33, 7, 32, 2, 65, 200, 2, 106, 40, 2, 0, 33, 4, 32, 2, 65, 196, 2, 106, 40, 2, 0, 33, 3, 12, 6, 11, 32, 2, 40, 2, 180, 3, 33, 4, 32, 2, 40, 2, 176, 3, 33, 7, 32, 2, 40, 2, 172, 3, 33, 6, 12, 1, 11, 65, 4, 33, 5, 11, 32, 3, 69, 32, 1, 69, 114, 13, 1, 11, 32, 1, 16, 204, 1, 11, 32, 2, 65, 180, 3, 106, 32, 4, 54, 2, 0, 32, 2, 65, 176, 3, 106, 32, 7, 54, 2, 0, 32, 2, 32, 6, 54, 2, 172, 3, 32, 2, 32, 5, 54, 2, 168, 3, 32, 2, 65, 144, 1, 106, 65, 252, 135, 192, 0, 65, 35, 32, 2, 65, 168, 3, 106, 16, 19, 32, 2, 65, 232, 0, 106, 32, 2, 65, 168, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 65, 160, 1, 106, 41, 3, 0, 55, 3, 96, 32, 2, 65, 152, 1, 106, 40, 2, 0, 33, 4, 32, 2, 65, 156, 1, 106, 40, 2, 0, 33, 7, 32, 2, 40, 2, 144, 1, 33, 1, 32, 2, 40, 2, 148, 1, 33, 3, 65, 1, 11, 33, 5, 2, 64, 32, 2, 40, 2, 192, 3, 34, 6, 69, 13, 0, 32, 2, 40, 2, 196, 3, 69, 13, 0, 32, 6, 16, 204, 1, 11, 32, 1, 65, 8, 118, 33, 8, 32, 1, 65, 16, 118, 33, 6, 11, 69, 13, 0, 32, 11, 16, 204, 1, 11, 32, 2, 65, 200, 1, 106, 16, 42, 2, 64, 32, 2, 40, 2, 188, 1, 34, 9, 69, 13, 0, 32, 2, 65, 192, 1, 106, 40, 2, 0, 69, 13, 0, 32, 9, 16, 204, 1, 11, 32, 2, 40, 2, 128, 1, 34, 9, 69, 13, 0, 32, 2, 40, 2, 132, 1, 69, 13, 0, 32, 9, 16, 204, 1, 11, 32, 2, 65, 216, 0, 106, 34, 9, 32, 2, 65, 232, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 96, 55, 3, 80, 32, 8, 65, 8, 116, 65, 128, 254, 3, 113, 32, 1, 65, 255, 1, 113, 114, 32, 6, 65, 16, 116, 114, 33, 1, 32, 5, 4, 64, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 41, 3, 80, 55, 2, 0, 32, 0, 65, 28, 106, 32, 9, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 2, 32, 4, 54, 2, 72, 32, 2, 32, 3, 54, 2, 68, 32, 2, 32, 1, 54, 2, 64, 32, 2, 65, 144, 1, 106, 16, 141, 1, 32, 2, 65, 184, 2, 106, 32, 2, 65, 144, 1, 106, 16, 147, 1, 2, 64, 32, 2, 40, 2, 184, 2, 65, 1, 70, 4, 64, 32, 2, 65, 208, 1, 106, 32, 2, 65, 196, 2, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 188, 2, 55, 3, 200, 1, 12, 1, 11, 32, 2, 40, 2, 188, 2, 34, 1, 65, 8, 106, 40, 2, 0, 33, 5, 32, 2, 65, 192, 2, 106, 45, 0, 0, 69, 4, 64, 32, 1, 65, 4, 106, 40, 2, 0, 32, 5, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 65, 8, 106, 40, 2, 0, 5, 32, 5, 11, 32, 1, 40, 2, 0, 106, 65, 44, 58, 0, 0, 32, 1, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 5, 54, 2, 0, 11, 32, 1, 65, 4, 106, 40, 2, 0, 32, 5, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 65, 8, 106, 40, 2, 0, 5, 32, 5, 11, 32, 1, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 1, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 54, 2, 0, 32, 1, 65, 6, 16, 6, 32, 3, 40, 2, 0, 34, 4, 32, 1, 40, 2, 0, 106, 34, 6, 65, 151, 149, 192, 0, 40, 0, 0, 54, 0, 0, 32, 6, 65, 4, 106, 65, 155, 149, 192, 0, 47, 0, 0, 59, 0, 0, 32, 3, 32, 4, 65, 6, 106, 54, 2, 0, 32, 1, 65, 2, 16, 6, 32, 3, 40, 2, 0, 34, 4, 32, 1, 40, 2, 0, 106, 65, 162, 244, 0, 59, 0, 0, 32, 3, 32, 4, 65, 2, 106, 54, 2, 0, 32, 2, 65, 200, 1, 106, 32, 2, 65, 64, 107, 16, 101, 32, 2, 65, 184, 2, 106, 32, 1, 32, 2, 40, 2, 200, 1, 34, 3, 32, 2, 40, 2, 208, 1, 16, 144, 1, 32, 2, 40, 2, 204, 1, 4, 64, 32, 3, 16, 204, 1, 11, 32, 2, 40, 2, 184, 2, 34, 3, 65, 3, 71, 4, 64, 32, 2, 65, 192, 2, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 188, 2, 33, 4, 32, 2, 65, 212, 1, 106, 32, 2, 65, 196, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 208, 1, 106, 32, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 204, 1, 32, 2, 32, 3, 54, 2, 200, 1, 12, 1, 11, 32, 2, 65, 200, 1, 106, 32, 1, 65, 0, 16, 138, 1, 11, 32, 0, 2, 127, 32, 2, 40, 2, 200, 1, 34, 1, 65, 3, 71, 4, 64, 32, 2, 65, 212, 1, 106, 40, 2, 0, 33, 3, 32, 2, 65, 208, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 204, 1, 33, 6, 2, 64, 32, 2, 40, 2, 144, 1, 34, 5, 69, 13, 0, 32, 2, 40, 2, 148, 1, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 2, 65, 212, 1, 106, 32, 3, 54, 2, 0, 32, 2, 65, 208, 1, 106, 32, 4, 54, 2, 0, 32, 2, 32, 6, 54, 2, 204, 1, 32, 2, 32, 1, 54, 2, 200, 1, 32, 2, 65, 184, 2, 106, 65, 252, 135, 192, 0, 65, 35, 32, 2, 65, 200, 1, 106, 16, 24, 32, 2, 65, 216, 3, 106, 32, 2, 65, 208, 2, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 2, 32, 2, 65, 200, 2, 106, 41, 3, 0, 34, 16, 55, 3, 208, 3, 32, 2, 41, 3, 184, 2, 33, 17, 32, 0, 65, 12, 106, 32, 2, 65, 192, 2, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 17, 55, 2, 4, 32, 0, 65, 20, 106, 32, 16, 55, 2, 0, 32, 0, 65, 28, 106, 32, 1, 54, 2, 0, 65, 1, 12, 1, 11, 32, 2, 41, 3, 144, 1, 33, 16, 32, 0, 65, 12, 106, 32, 2, 40, 2, 152, 1, 54, 2, 0, 32, 0, 32, 16, 55, 2, 4, 65, 0, 11, 54, 2, 0, 32, 2, 40, 2, 64, 34, 0, 69, 13, 0, 32, 2, 40, 2, 68, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 2, 65, 224, 3, 106, 36, 0, 11, 224, 27, 2, 22, 127, 3, 126, 35, 0, 65, 144, 2, 107, 34, 2, 36, 0, 32, 2, 65, 224, 0, 106, 32, 0, 16, 118, 32, 2, 65, 240, 1, 106, 32, 1, 16, 118, 32, 2, 65, 136, 1, 106, 32, 2, 40, 2, 96, 34, 19, 32, 2, 40, 2, 104, 16, 13, 32, 2, 65, 248, 0, 106, 34, 0, 32, 2, 65, 148, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 128, 1, 106, 34, 4, 32, 2, 65, 156, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 140, 1, 55, 3, 112, 32, 2, 65, 160, 1, 106, 40, 2, 0, 33, 11, 32, 2, 65, 164, 1, 106, 40, 2, 0, 33, 13, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 136, 1, 65, 1, 71, 4, 64, 32, 2, 65, 168, 1, 106, 41, 3, 0, 33, 25, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 14, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 20, 32, 2, 65, 184, 1, 106, 40, 2, 0, 33, 22, 32, 2, 65, 188, 1, 106, 40, 2, 0, 33, 15, 32, 2, 65, 192, 1, 106, 40, 2, 0, 33, 16, 32, 2, 65, 196, 1, 106, 40, 2, 0, 33, 17, 32, 2, 65, 200, 1, 106, 40, 2, 0, 33, 18, 32, 2, 65, 204, 1, 106, 40, 2, 0, 33, 21, 32, 2, 65, 208, 1, 106, 41, 3, 0, 33, 26, 32, 2, 65, 136, 2, 106, 32, 2, 65, 252, 0, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 116, 55, 3, 128, 2, 32, 2, 65, 240, 0, 106, 32, 2, 40, 2, 240, 1, 34, 12, 32, 2, 40, 2, 248, 1, 16, 128, 1, 32, 2, 65, 56, 106, 32, 2, 65, 240, 0, 106, 16, 135, 1, 32, 2, 45, 0, 56, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 11, 11, 32, 2, 45, 0, 57, 65, 251, 0, 71, 4, 64, 65, 14, 33, 3, 12, 11, 11, 32, 2, 65, 240, 0, 106, 16, 129, 1, 32, 2, 65, 48, 106, 32, 2, 65, 240, 0, 106, 16, 127, 32, 2, 45, 0, 52, 33, 6, 32, 2, 65, 40, 106, 32, 2, 40, 2, 48, 34, 4, 16, 135, 1, 32, 2, 45, 0, 40, 65, 1, 113, 69, 4, 64, 65, 2, 33, 3, 12, 11, 11, 32, 2, 45, 0, 41, 33, 3, 32, 6, 65, 1, 113, 33, 6, 65, 0, 33, 0, 65, 0, 33, 1, 2, 64, 3, 64, 2, 64, 32, 3, 65, 255, 1, 113, 34, 7, 65, 44, 71, 4, 64, 32, 7, 65, 253, 0, 70, 13, 3, 32, 6, 65, 255, 1, 113, 13, 1, 32, 0, 33, 5, 65, 9, 33, 3, 12, 10, 11, 32, 6, 65, 255, 1, 113, 4, 64, 32, 0, 33, 5, 65, 16, 33, 3, 12, 10, 11, 32, 4, 16, 129, 1, 32, 2, 65, 32, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 32, 65, 1, 113, 69, 13, 8, 32, 2, 45, 0, 33, 33, 3, 11, 32, 3, 65, 255, 1, 113, 34, 8, 65, 34, 71, 4, 64, 65, 19, 33, 3, 32, 0, 33, 5, 32, 8, 65, 253, 0, 70, 13, 9, 65, 16, 33, 3, 12, 9, 11, 32, 2, 65, 24, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 24, 65, 1, 113, 69, 13, 7, 32, 2, 45, 0, 25, 65, 34, 71, 4, 64, 32, 0, 33, 5, 65, 14, 33, 3, 12, 9, 11, 32, 4, 16, 129, 1, 32, 2, 65, 136, 1, 106, 32, 4, 16, 134, 1, 32, 2, 40, 2, 148, 1, 33, 7, 32, 2, 40, 2, 144, 1, 33, 6, 32, 2, 40, 2, 140, 1, 33, 3, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 136, 1, 65, 1, 71, 4, 64, 65, 2, 33, 8, 2, 64, 32, 7, 65, 120, 106, 34, 7, 65, 3, 75, 13, 0, 2, 64, 2, 64, 32, 7, 65, 1, 107, 14, 3, 2, 2, 1, 0, 11, 32, 3, 65, 180, 147, 192, 0, 71, 4, 64, 32, 3, 41, 0, 0, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 82, 13, 2, 11, 65, 0, 33, 8, 12, 1, 11, 32, 3, 65, 188, 147, 192, 0, 71, 4, 64, 32, 3, 65, 188, 147, 192, 0, 65, 11, 16, 156, 2, 13, 1, 11, 65, 1, 33, 8, 11, 32, 6, 4, 64, 32, 3, 16, 204, 1, 11, 32, 8, 65, 1, 75, 13, 1, 32, 8, 65, 1, 107, 13, 2, 12, 3, 11, 32, 2, 40, 2, 152, 1, 33, 4, 12, 11, 11, 32, 2, 65, 136, 1, 106, 32, 4, 16, 133, 1, 32, 2, 40, 2, 136, 1, 34, 3, 65, 22, 70, 13, 2, 32, 2, 40, 2, 144, 1, 33, 5, 32, 2, 40, 2, 140, 1, 33, 6, 32, 2, 32, 2, 40, 2, 148, 1, 34, 4, 54, 2, 76, 32, 2, 32, 5, 54, 2, 72, 32, 2, 32, 6, 54, 2, 68, 32, 2, 32, 3, 54, 2, 64, 12, 9, 11, 2, 64, 32, 0, 69, 4, 64, 32, 2, 65, 136, 1, 106, 32, 4, 16, 133, 1, 65, 0, 33, 5, 32, 2, 40, 2, 136, 1, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 148, 1, 33, 4, 32, 2, 40, 2, 144, 1, 33, 7, 32, 2, 40, 2, 140, 1, 33, 6, 12, 14, 11, 32, 2, 65, 8, 106, 32, 4, 16, 135, 1, 2, 127, 65, 4, 32, 2, 45, 0, 8, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 2, 45, 0, 9, 65, 34, 71, 13, 0, 26, 32, 4, 16, 129, 1, 32, 2, 65, 136, 1, 106, 32, 4, 16, 134, 1, 32, 2, 41, 3, 144, 1, 33, 24, 32, 2, 40, 2, 140, 1, 33, 0, 32, 2, 40, 2, 136, 1, 65, 1, 71, 13, 2, 32, 2, 40, 2, 152, 1, 33, 4, 32, 0, 11, 33, 3, 32, 24, 66, 32, 136, 167, 33, 7, 32, 24, 167, 33, 6, 12, 13, 11, 32, 2, 65, 136, 1, 106, 65, 180, 147, 192, 0, 65, 8, 16, 15, 32, 2, 41, 2, 140, 1, 34, 24, 66, 32, 136, 167, 33, 7, 32, 2, 65, 148, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 136, 1, 33, 3, 32, 24, 167, 33, 6, 12, 10, 11, 32, 24, 66, 32, 136, 167, 33, 5, 32, 24, 167, 33, 9, 12, 2, 11, 2, 64, 32, 1, 69, 4, 64, 32, 2, 65, 136, 1, 106, 32, 4, 16, 133, 1, 32, 2, 40, 2, 136, 1, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 148, 1, 33, 4, 32, 2, 40, 2, 144, 1, 33, 7, 32, 2, 40, 2, 140, 1, 33, 6, 12, 16, 11, 32, 2, 65, 16, 106, 32, 4, 16, 135, 1, 2, 127, 65, 4, 32, 2, 45, 0, 16, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 2, 45, 0, 17, 65, 34, 71, 13, 0, 26, 32, 4, 16, 129, 1, 32, 2, 65, 136, 1, 106, 32, 4, 16, 134, 1, 32, 2, 41, 3, 144, 1, 33, 24, 32, 2, 40, 2, 140, 1, 33, 1, 32, 2, 40, 2, 136, 1, 65, 1, 71, 13, 2, 32, 2, 40, 2, 152, 1, 33, 4, 32, 1, 11, 33, 3, 32, 24, 66, 32, 136, 167, 33, 7, 32, 24, 167, 33, 6, 12, 15, 11, 32, 2, 65, 136, 1, 106, 65, 188, 147, 192, 0, 65, 11, 16, 15, 32, 2, 41, 2, 140, 1, 34, 24, 66, 32, 136, 167, 33, 7, 32, 2, 65, 148, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 136, 1, 33, 3, 32, 24, 167, 33, 6, 32, 0, 33, 5, 32, 10, 13, 12, 12, 14, 11, 32, 24, 66, 32, 136, 167, 33, 23, 32, 24, 167, 33, 10, 12, 1, 11, 32, 2, 65, 64, 107, 32, 4, 16, 16, 32, 2, 40, 2, 64, 34, 3, 65, 22, 71, 13, 5, 11, 32, 2, 32, 4, 16, 135, 1, 65, 0, 33, 6, 32, 2, 45, 0, 1, 33, 3, 32, 2, 45, 0, 0, 65, 1, 113, 13, 0, 11, 32, 0, 33, 5, 65, 2, 33, 3, 12, 7, 11, 32, 0, 69, 4, 64, 32, 2, 65, 136, 1, 106, 65, 180, 147, 192, 0, 65, 8, 16, 17, 32, 2, 65, 148, 1, 106, 40, 2, 0, 33, 4, 32, 2, 65, 144, 1, 106, 40, 2, 0, 33, 7, 32, 2, 40, 2, 140, 1, 33, 6, 32, 2, 40, 2, 136, 1, 33, 3, 65, 0, 33, 5, 12, 7, 11, 32, 1, 69, 4, 64, 32, 2, 65, 136, 1, 106, 65, 188, 147, 192, 0, 65, 11, 16, 17, 32, 2, 65, 148, 1, 106, 40, 2, 0, 33, 4, 32, 2, 65, 144, 1, 106, 40, 2, 0, 33, 7, 32, 2, 40, 2, 140, 1, 33, 6, 32, 2, 40, 2, 136, 1, 33, 3, 32, 9, 69, 13, 11, 32, 0, 16, 204, 1, 12, 11, 11, 32, 2, 65, 136, 1, 106, 32, 2, 65, 240, 0, 106, 16, 132, 1, 32, 2, 65, 148, 1, 106, 33, 4, 32, 2, 65, 144, 1, 106, 33, 6, 32, 2, 40, 2, 136, 1, 34, 3, 65, 22, 71, 4, 64, 32, 4, 40, 2, 0, 33, 4, 32, 6, 40, 2, 0, 33, 7, 32, 2, 40, 2, 140, 1, 33, 6, 32, 9, 4, 64, 32, 0, 16, 204, 1, 11, 32, 10, 69, 13, 11, 32, 1, 16, 204, 1, 12, 11, 11, 32, 2, 65, 136, 1, 106, 32, 2, 65, 240, 0, 106, 16, 130, 1, 32, 2, 40, 2, 136, 1, 34, 3, 65, 22, 70, 13, 1, 32, 4, 40, 2, 0, 33, 4, 32, 6, 40, 2, 0, 33, 7, 32, 2, 40, 2, 140, 1, 33, 6, 32, 9, 4, 64, 32, 0, 16, 204, 1, 11, 32, 10, 69, 13, 10, 32, 1, 16, 204, 1, 12, 10, 11, 32, 2, 65, 220, 0, 106, 32, 13, 54, 2, 0, 32, 2, 65, 216, 0, 106, 32, 11, 54, 2, 0, 32, 2, 65, 212, 0, 106, 32, 4, 40, 2, 0, 54, 2, 0, 32, 2, 65, 204, 0, 106, 32, 0, 41, 3, 0, 55, 2, 0, 32, 2, 32, 2, 41, 3, 112, 55, 2, 68, 32, 2, 65, 1, 54, 2, 64, 32, 2, 40, 2, 240, 1, 33, 12, 12, 10, 11, 32, 2, 65, 144, 1, 106, 32, 2, 65, 136, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 232, 1, 106, 32, 23, 54, 2, 0, 32, 2, 65, 228, 1, 106, 32, 10, 54, 2, 0, 32, 2, 65, 224, 1, 106, 32, 1, 54, 2, 0, 32, 2, 65, 200, 1, 106, 32, 26, 55, 3, 0, 32, 2, 65, 196, 1, 106, 32, 21, 54, 2, 0, 32, 2, 65, 188, 1, 106, 32, 17, 54, 2, 0, 32, 2, 65, 184, 1, 106, 32, 16, 54, 2, 0, 32, 2, 65, 180, 1, 106, 32, 15, 54, 2, 0, 32, 2, 65, 176, 1, 106, 32, 22, 54, 2, 0, 32, 2, 65, 172, 1, 106, 32, 20, 54, 2, 0, 32, 2, 65, 160, 1, 106, 32, 25, 55, 3, 0, 32, 2, 65, 156, 1, 106, 32, 13, 54, 2, 0, 32, 2, 65, 216, 1, 106, 32, 9, 173, 32, 5, 173, 66, 32, 134, 132, 55, 3, 0, 32, 2, 32, 2, 41, 3, 128, 2, 55, 3, 136, 1, 32, 2, 32, 0, 54, 2, 212, 1, 32, 2, 32, 18, 54, 2, 192, 1, 32, 2, 32, 14, 54, 2, 168, 1, 32, 2, 32, 11, 54, 2, 152, 1, 32, 2, 32, 2, 65, 240, 0, 106, 54, 2, 208, 1, 32, 2, 65, 64, 107, 32, 2, 65, 136, 1, 106, 32, 2, 65, 212, 1, 106, 16, 61, 32, 2, 40, 2, 244, 1, 4, 64, 32, 12, 16, 204, 1, 11, 32, 2, 40, 2, 100, 4, 64, 32, 19, 16, 204, 1, 11, 32, 2, 40, 2, 64, 12, 10, 11, 32, 2, 40, 2, 76, 33, 4, 11, 32, 2, 41, 2, 68, 34, 24, 66, 32, 136, 167, 33, 7, 32, 24, 167, 33, 6, 11, 32, 0, 33, 5, 12, 1, 11, 32, 0, 33, 5, 65, 4, 33, 3, 11, 32, 10, 69, 13, 1, 32, 5, 33, 0, 32, 1, 69, 13, 2, 11, 32, 1, 16, 204, 1, 11, 32, 5, 33, 0, 11, 32, 9, 69, 32, 0, 69, 114, 13, 0, 32, 0, 16, 204, 1, 11, 32, 2, 65, 252, 0, 106, 32, 4, 54, 2, 0, 32, 2, 32, 3, 54, 2, 112, 32, 2, 32, 6, 173, 32, 7, 173, 66, 32, 134, 132, 55, 2, 116, 32, 2, 65, 136, 1, 106, 65, 248, 136, 192, 0, 65, 27, 32, 2, 65, 240, 0, 106, 16, 19, 32, 2, 65, 216, 0, 106, 32, 2, 65, 156, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 208, 0, 106, 32, 2, 65, 148, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 200, 0, 106, 32, 2, 41, 2, 140, 1, 55, 3, 0, 32, 2, 65, 1, 54, 2, 64, 32, 2, 32, 2, 40, 2, 136, 1, 54, 2, 68, 32, 11, 69, 32, 13, 69, 114, 69, 4, 64, 32, 11, 16, 204, 1, 11, 32, 14, 69, 32, 20, 69, 114, 69, 4, 64, 32, 14, 16, 204, 1, 11, 32, 17, 4, 64, 32, 17, 65, 5, 116, 33, 0, 32, 15, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 0, 65, 96, 106, 34, 0, 13, 0, 11, 11, 32, 16, 69, 32, 16, 65, 5, 116, 69, 114, 69, 4, 64, 32, 15, 16, 204, 1, 11, 32, 18, 69, 32, 21, 69, 114, 13, 0, 32, 18, 16, 204, 1, 11, 2, 64, 32, 12, 69, 13, 0, 32, 2, 40, 2, 244, 1, 69, 13, 0, 32, 12, 16, 204, 1, 11, 32, 2, 40, 2, 100, 4, 64, 32, 19, 16, 204, 1, 11, 65, 1, 11, 33, 1, 32, 2, 65, 240, 1, 106, 16, 141, 1, 32, 2, 65, 64, 107, 65, 4, 114, 33, 0, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 32, 1, 69, 4, 64, 32, 2, 40, 2, 248, 1, 34, 5, 32, 2, 40, 2, 244, 1, 70, 4, 127, 32, 2, 65, 240, 1, 106, 65, 1, 16, 6, 32, 2, 40, 2, 248, 1, 5, 32, 5, 11, 32, 2, 40, 2, 240, 1, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 248, 1, 65, 1, 106, 54, 2, 248, 1, 32, 2, 65, 136, 1, 106, 32, 2, 65, 240, 1, 106, 65, 235, 144, 192, 0, 65, 2, 16, 144, 1, 32, 2, 40, 2, 136, 1, 34, 3, 65, 3, 71, 13, 1, 32, 2, 40, 2, 248, 1, 34, 5, 32, 2, 40, 2, 244, 1, 70, 4, 127, 32, 2, 65, 240, 1, 106, 65, 1, 16, 6, 32, 2, 40, 2, 248, 1, 5, 32, 5, 11, 32, 2, 40, 2, 240, 1, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 248, 1, 65, 1, 106, 54, 2, 248, 1, 32, 2, 65, 136, 1, 106, 32, 2, 65, 240, 1, 106, 16, 147, 1, 2, 64, 32, 2, 40, 2, 136, 1, 65, 1, 70, 4, 64, 32, 2, 65, 248, 0, 106, 32, 2, 65, 148, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 140, 1, 55, 3, 112, 12, 1, 11, 32, 2, 32, 2, 40, 2, 140, 1, 54, 2, 96, 32, 2, 32, 2, 65, 144, 1, 106, 34, 5, 45, 0, 0, 58, 0, 100, 32, 2, 65, 136, 1, 106, 32, 2, 65, 224, 0, 106, 32, 0, 16, 58, 32, 2, 40, 2, 136, 1, 65, 3, 71, 4, 64, 32, 2, 65, 248, 0, 106, 32, 5, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 136, 1, 55, 3, 112, 12, 1, 11, 32, 2, 65, 136, 1, 106, 32, 2, 65, 224, 0, 106, 32, 2, 65, 208, 0, 106, 16, 60, 32, 2, 40, 2, 136, 1, 65, 3, 71, 4, 64, 32, 2, 65, 248, 0, 106, 32, 2, 65, 144, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 136, 1, 55, 3, 112, 12, 1, 11, 32, 2, 65, 240, 0, 106, 32, 2, 40, 2, 96, 32, 2, 45, 0, 100, 16, 138, 1, 11, 32, 2, 40, 2, 112, 34, 3, 65, 3, 70, 4, 64, 32, 2, 40, 2, 248, 1, 34, 5, 32, 2, 40, 2, 244, 1, 70, 4, 127, 32, 2, 65, 240, 1, 106, 65, 1, 16, 6, 32, 2, 40, 2, 248, 1, 5, 32, 5, 11, 32, 2, 40, 2, 240, 1, 106, 65, 253, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 248, 1, 65, 1, 106, 34, 3, 54, 2, 248, 1, 12, 6, 11, 32, 2, 65, 252, 0, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 116, 33, 4, 32, 2, 65, 248, 0, 106, 40, 2, 0, 12, 2, 11, 32, 2, 65, 128, 2, 106, 32, 2, 65, 240, 1, 106, 32, 0, 16, 55, 32, 2, 40, 2, 128, 2, 34, 3, 65, 3, 70, 13, 3, 32, 2, 65, 140, 2, 106, 40, 2, 0, 33, 1, 32, 2, 65, 136, 2, 106, 40, 2, 0, 33, 0, 32, 2, 40, 2, 132, 2, 33, 4, 12, 2, 11, 32, 2, 65, 148, 1, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 140, 1, 33, 4, 32, 2, 65, 144, 1, 106, 40, 2, 0, 11, 33, 0, 32, 2, 32, 3, 54, 2, 128, 2, 11, 2, 64, 32, 2, 40, 2, 240, 1, 34, 5, 69, 13, 0, 32, 2, 40, 2, 244, 1, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 2, 65, 252, 0, 106, 32, 1, 54, 2, 0, 32, 2, 65, 248, 0, 106, 32, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 116, 32, 2, 32, 3, 54, 2, 112, 32, 2, 65, 136, 1, 106, 65, 232, 139, 192, 0, 65, 232, 0, 32, 2, 65, 240, 0, 106, 16, 24, 32, 2, 65, 136, 2, 106, 32, 2, 65, 156, 1, 106, 34, 0, 41, 2, 0, 34, 24, 55, 3, 0, 32, 2, 32, 2, 65, 148, 1, 106, 34, 1, 41, 2, 0, 34, 25, 55, 3, 128, 2, 32, 2, 41, 3, 136, 1, 33, 26, 32, 2, 65, 144, 1, 106, 34, 5, 32, 5, 40, 2, 0, 54, 2, 0, 32, 1, 32, 25, 55, 2, 0, 32, 0, 32, 24, 55, 2, 0, 32, 2, 32, 26, 55, 3, 136, 1, 65, 220, 142, 192, 0, 65, 43, 32, 2, 65, 136, 1, 106, 65, 136, 143, 192, 0, 65, 240, 133, 192, 0, 16, 235, 1, 0, 11, 32, 2, 40, 2, 248, 1, 33, 3, 11, 32, 2, 41, 3, 240, 1, 33, 24, 32, 2, 32, 3, 54, 2, 144, 1, 32, 2, 32, 24, 55, 3, 136, 1, 32, 2, 65, 136, 1, 106, 16, 117, 2, 64, 32, 1, 69, 4, 64, 32, 0, 16, 43, 32, 2, 65, 208, 0, 106, 40, 2, 0, 33, 0, 32, 2, 65, 216, 0, 106, 40, 2, 0, 34, 1, 4, 64, 32, 0, 32, 1, 65, 24, 108, 106, 33, 3, 32, 0, 33, 1, 3, 64, 2, 64, 32, 1, 40, 2, 0, 34, 4, 69, 13, 0, 32, 1, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 4, 16, 204, 1, 11, 2, 64, 32, 1, 65, 12, 106, 40, 2, 0, 34, 4, 69, 13, 0, 32, 1, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 4, 16, 204, 1, 11, 32, 1, 65, 24, 106, 34, 1, 32, 3, 71, 13, 0, 11, 11, 32, 2, 65, 212, 0, 106, 40, 2, 0, 34, 1, 69, 32, 1, 65, 24, 108, 69, 114, 13, 1, 32, 0, 16, 204, 1, 12, 1, 11, 32, 0, 16, 32, 11, 32, 2, 65, 144, 2, 106, 36, 0, 11, 190, 51, 2, 17, 127, 3, 126, 35, 0, 65, 192, 4, 107, 34, 2, 36, 0, 32, 2, 65, 128, 3, 106, 32, 0, 16, 118, 32, 2, 65, 144, 3, 106, 32, 1, 16, 118, 32, 2, 65, 224, 3, 106, 32, 2, 40, 2, 128, 3, 34, 16, 32, 2, 40, 2, 136, 3, 16, 13, 32, 2, 65, 184, 3, 106, 34, 0, 32, 2, 65, 236, 3, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 192, 3, 106, 34, 1, 32, 2, 65, 244, 3, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 228, 3, 55, 3, 176, 3, 32, 2, 65, 248, 3, 106, 40, 2, 0, 33, 8, 32, 2, 65, 252, 3, 106, 40, 2, 0, 33, 10, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 224, 3, 65, 1, 71, 4, 64, 32, 2, 65, 128, 4, 106, 41, 3, 0, 33, 19, 32, 2, 65, 136, 4, 106, 40, 2, 0, 33, 11, 32, 2, 65, 140, 4, 106, 40, 2, 0, 33, 17, 32, 2, 65, 144, 4, 106, 40, 2, 0, 33, 5, 32, 2, 65, 148, 4, 106, 40, 2, 0, 33, 12, 32, 2, 65, 152, 4, 106, 40, 2, 0, 33, 13, 32, 2, 65, 156, 4, 106, 40, 2, 0, 33, 14, 32, 2, 65, 160, 4, 106, 40, 2, 0, 33, 15, 32, 2, 65, 164, 4, 106, 40, 2, 0, 33, 18, 32, 2, 65, 168, 4, 106, 41, 3, 0, 33, 20, 32, 2, 65, 168, 3, 106, 32, 2, 65, 188, 3, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 180, 3, 55, 3, 160, 3, 32, 2, 65, 208, 3, 106, 32, 2, 40, 2, 144, 3, 34, 9, 32, 2, 40, 2, 152, 3, 16, 128, 1, 32, 2, 65, 208, 2, 106, 32, 2, 65, 208, 3, 106, 16, 135, 1, 32, 2, 45, 0, 208, 2, 65, 1, 113, 69, 13, 17, 32, 2, 45, 0, 209, 2, 34, 0, 65, 251, 0, 71, 4, 64, 32, 0, 65, 34, 70, 13, 2, 65, 10, 33, 0, 12, 19, 11, 32, 2, 65, 208, 3, 106, 16, 129, 1, 32, 2, 65, 216, 2, 106, 32, 2, 65, 208, 3, 106, 34, 1, 16, 54, 32, 2, 65, 228, 2, 106, 33, 3, 32, 2, 65, 224, 2, 106, 33, 4, 2, 64, 2, 127, 32, 2, 45, 0, 216, 2, 65, 1, 70, 4, 64, 32, 2, 65, 232, 2, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 0, 33, 1, 32, 2, 40, 2, 220, 2, 33, 0, 32, 4, 40, 2, 0, 12, 1, 11, 32, 2, 45, 0, 217, 2, 33, 6, 32, 2, 65, 216, 2, 106, 32, 1, 16, 133, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 70, 13, 1, 32, 3, 40, 2, 0, 33, 5, 32, 4, 40, 2, 0, 33, 1, 32, 2, 40, 2, 220, 2, 11, 33, 3, 32, 0, 65, 8, 118, 33, 7, 32, 1, 173, 32, 5, 173, 66, 32, 134, 132, 33, 19, 12, 19, 11, 2, 64, 32, 6, 65, 1, 107, 14, 5, 6, 5, 4, 3, 0, 7, 11, 32, 2, 65, 200, 2, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 200, 2, 65, 1, 113, 69, 13, 15, 32, 2, 45, 0, 201, 2, 65, 251, 0, 71, 13, 14, 32, 1, 16, 129, 1, 32, 2, 65, 192, 2, 106, 32, 1, 16, 127, 32, 2, 45, 0, 196, 2, 33, 3, 32, 2, 65, 184, 2, 106, 32, 2, 40, 2, 192, 2, 34, 4, 16, 135, 1, 32, 2, 45, 0, 184, 2, 65, 1, 113, 69, 13, 13, 32, 2, 45, 0, 185, 2, 33, 0, 32, 3, 65, 1, 113, 33, 3, 3, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 2, 32, 3, 65, 255, 1, 113, 13, 1, 65, 9, 33, 0, 12, 21, 11, 32, 3, 65, 255, 1, 113, 4, 64, 65, 16, 33, 0, 12, 21, 11, 32, 4, 16, 129, 1, 32, 2, 65, 176, 2, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 176, 2, 65, 1, 113, 69, 13, 19, 32, 2, 45, 0, 177, 2, 33, 0, 11, 32, 0, 65, 255, 1, 113, 34, 6, 65, 34, 71, 4, 64, 65, 16, 33, 0, 32, 6, 65, 253, 0, 71, 13, 20, 65, 19, 33, 0, 12, 20, 11, 32, 2, 65, 160, 2, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 160, 2, 65, 1, 113, 69, 13, 18, 32, 2, 45, 0, 161, 2, 65, 34, 71, 13, 17, 32, 4, 16, 129, 1, 32, 2, 65, 216, 2, 106, 32, 4, 16, 134, 1, 32, 2, 40, 2, 224, 2, 33, 3, 32, 2, 40, 2, 220, 2, 33, 0, 32, 2, 40, 2, 216, 2, 65, 1, 71, 4, 64, 32, 0, 69, 32, 3, 69, 114, 13, 2, 32, 0, 16, 204, 1, 12, 2, 11, 32, 0, 65, 22, 70, 13, 1, 32, 2, 40, 2, 232, 2, 33, 1, 32, 2, 40, 2, 228, 2, 33, 5, 12, 19, 11, 32, 2, 65, 216, 2, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 65, 228, 2, 106, 40, 2, 0, 33, 1, 32, 2, 65, 224, 2, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 12, 19, 11, 32, 2, 65, 168, 2, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 168, 2, 65, 1, 113, 69, 13, 19, 65, 5, 33, 0, 32, 2, 45, 0, 169, 2, 65, 253, 0, 70, 13, 9, 12, 14, 11, 32, 2, 65, 216, 2, 106, 32, 4, 16, 133, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 224, 2, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 32, 2, 32, 2, 40, 2, 228, 2, 34, 1, 54, 2, 188, 4, 32, 2, 32, 5, 54, 2, 184, 4, 32, 2, 32, 3, 54, 2, 180, 4, 32, 2, 32, 0, 54, 2, 176, 4, 12, 18, 11, 32, 2, 65, 176, 4, 106, 32, 4, 16, 16, 32, 2, 40, 2, 176, 4, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 188, 4, 33, 1, 32, 2, 40, 2, 184, 4, 33, 5, 32, 2, 40, 2, 180, 4, 33, 3, 12, 18, 11, 32, 2, 65, 152, 2, 106, 32, 4, 16, 135, 1, 65, 0, 33, 3, 32, 2, 45, 0, 153, 2, 33, 0, 32, 2, 45, 0, 152, 2, 65, 1, 113, 13, 0, 11, 12, 13, 11, 32, 2, 65, 244, 2, 106, 32, 10, 54, 2, 0, 32, 2, 65, 240, 2, 106, 32, 8, 54, 2, 0, 32, 2, 65, 236, 2, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 2, 65, 228, 2, 106, 32, 0, 41, 3, 0, 55, 2, 0, 32, 2, 32, 2, 41, 3, 176, 3, 55, 2, 220, 2, 32, 2, 65, 1, 54, 2, 216, 2, 32, 2, 40, 2, 144, 3, 33, 9, 12, 19, 11, 32, 2, 65, 216, 2, 106, 32, 2, 65, 208, 3, 106, 16, 54, 32, 2, 47, 0, 221, 2, 32, 2, 45, 0, 223, 2, 65, 16, 116, 114, 65, 0, 32, 2, 45, 0, 216, 2, 65, 1, 70, 34, 0, 27, 33, 7, 32, 2, 45, 0, 220, 2, 65, 14, 32, 0, 27, 33, 0, 32, 2, 65, 228, 2, 106, 41, 2, 0, 33, 19, 32, 2, 65, 224, 2, 106, 40, 2, 0, 33, 3, 12, 16, 11, 32, 2, 65, 144, 2, 106, 32, 1, 16, 135, 1, 2, 64, 2, 64, 32, 2, 45, 0, 144, 2, 65, 1, 113, 69, 13, 0, 2, 64, 32, 2, 45, 0, 145, 2, 65, 251, 0, 71, 13, 0, 32, 1, 16, 129, 1, 32, 2, 65, 136, 2, 106, 32, 1, 16, 127, 32, 2, 45, 0, 140, 2, 33, 3, 32, 2, 65, 128, 2, 106, 32, 2, 40, 2, 136, 2, 34, 4, 16, 135, 1, 32, 2, 45, 0, 128, 2, 65, 1, 113, 4, 64, 32, 2, 45, 0, 129, 2, 33, 0, 32, 3, 65, 1, 113, 33, 3, 3, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 2, 32, 3, 65, 255, 1, 113, 13, 1, 65, 9, 33, 0, 12, 8, 11, 32, 3, 65, 255, 1, 113, 4, 64, 65, 16, 33, 0, 12, 8, 11, 32, 4, 16, 129, 1, 32, 2, 65, 248, 1, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 248, 1, 65, 1, 113, 69, 13, 6, 32, 2, 45, 0, 249, 1, 33, 0, 11, 32, 0, 65, 255, 1, 113, 34, 6, 65, 34, 71, 4, 64, 65, 16, 33, 0, 32, 6, 65, 253, 0, 71, 13, 7, 65, 19, 33, 0, 12, 7, 11, 32, 2, 65, 232, 1, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 232, 1, 65, 1, 113, 69, 13, 5, 32, 2, 45, 0, 233, 1, 65, 34, 71, 13, 4, 32, 4, 16, 129, 1, 32, 2, 65, 216, 2, 106, 32, 4, 16, 134, 1, 32, 2, 40, 2, 224, 2, 33, 3, 32, 2, 40, 2, 220, 2, 33, 0, 32, 2, 40, 2, 216, 2, 65, 1, 71, 4, 64, 32, 0, 69, 32, 3, 69, 114, 13, 2, 32, 0, 16, 204, 1, 12, 2, 11, 32, 0, 65, 22, 70, 13, 1, 32, 2, 40, 2, 232, 2, 33, 1, 32, 2, 40, 2, 228, 2, 33, 5, 12, 6, 11, 32, 2, 65, 216, 2, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 65, 228, 2, 106, 40, 2, 0, 33, 1, 32, 2, 65, 224, 2, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 12, 6, 11, 32, 2, 65, 240, 1, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 240, 1, 65, 1, 113, 69, 13, 20, 65, 4, 33, 0, 32, 2, 45, 0, 241, 1, 65, 253, 0, 71, 13, 15, 12, 10, 11, 32, 2, 65, 216, 2, 106, 32, 4, 16, 133, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 224, 2, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 32, 2, 32, 2, 40, 2, 228, 2, 34, 1, 54, 2, 188, 4, 32, 2, 32, 5, 54, 2, 184, 4, 32, 2, 32, 3, 54, 2, 180, 4, 32, 2, 32, 0, 54, 2, 176, 4, 12, 5, 11, 32, 2, 65, 176, 4, 106, 32, 4, 16, 16, 32, 2, 40, 2, 176, 4, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 188, 4, 33, 1, 32, 2, 40, 2, 184, 4, 33, 5, 32, 2, 40, 2, 180, 4, 33, 3, 12, 5, 11, 32, 2, 65, 224, 1, 106, 32, 4, 16, 135, 1, 65, 0, 33, 3, 32, 2, 45, 0, 225, 1, 33, 0, 32, 2, 45, 0, 224, 1, 65, 1, 113, 13, 0, 11, 11, 65, 2, 33, 0, 12, 2, 11, 65, 14, 33, 0, 12, 1, 11, 65, 4, 33, 0, 11, 32, 0, 65, 8, 118, 33, 7, 32, 5, 173, 32, 1, 173, 66, 32, 134, 132, 33, 19, 12, 15, 11, 32, 2, 65, 216, 1, 106, 32, 1, 16, 135, 1, 2, 64, 2, 64, 32, 2, 45, 0, 216, 1, 65, 1, 113, 69, 13, 0, 2, 64, 32, 2, 45, 0, 217, 1, 65, 251, 0, 71, 13, 0, 32, 1, 16, 129, 1, 32, 2, 65, 208, 1, 106, 32, 1, 16, 127, 32, 2, 45, 0, 212, 1, 33, 3, 32, 2, 65, 200, 1, 106, 32, 2, 40, 2, 208, 1, 34, 4, 16, 135, 1, 32, 2, 45, 0, 200, 1, 65, 1, 113, 4, 64, 32, 2, 45, 0, 201, 1, 33, 0, 32, 3, 65, 1, 113, 33, 3, 3, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 2, 32, 3, 65, 255, 1, 113, 13, 1, 65, 9, 33, 0, 12, 8, 11, 32, 3, 65, 255, 1, 113, 4, 64, 65, 16, 33, 0, 12, 8, 11, 32, 4, 16, 129, 1, 32, 2, 65, 192, 1, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 192, 1, 65, 1, 113, 69, 13, 6, 32, 2, 45, 0, 193, 1, 33, 0, 11, 32, 0, 65, 255, 1, 113, 34, 6, 65, 34, 71, 4, 64, 65, 16, 33, 0, 32, 6, 65, 253, 0, 71, 13, 7, 65, 19, 33, 0, 12, 7, 11, 32, 2, 65, 176, 1, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 176, 1, 65, 1, 113, 69, 13, 5, 32, 2, 45, 0, 177, 1, 65, 34, 71, 13, 4, 32, 4, 16, 129, 1, 32, 2, 65, 216, 2, 106, 32, 4, 16, 134, 1, 32, 2, 40, 2, 224, 2, 33, 3, 32, 2, 40, 2, 220, 2, 33, 0, 32, 2, 40, 2, 216, 2, 65, 1, 71, 4, 64, 32, 0, 69, 32, 3, 69, 114, 13, 2, 32, 0, 16, 204, 1, 12, 2, 11, 32, 0, 65, 22, 70, 13, 1, 32, 2, 40, 2, 232, 2, 33, 1, 32, 2, 40, 2, 228, 2, 33, 5, 12, 6, 11, 32, 2, 65, 216, 2, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 65, 228, 2, 106, 40, 2, 0, 33, 1, 32, 2, 65, 224, 2, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 12, 6, 11, 32, 2, 65, 184, 1, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 184, 1, 65, 1, 113, 69, 13, 19, 65, 3, 33, 0, 32, 2, 45, 0, 185, 1, 65, 253, 0, 71, 13, 14, 12, 9, 11, 32, 2, 65, 216, 2, 106, 32, 4, 16, 133, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 224, 2, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 32, 2, 32, 2, 40, 2, 228, 2, 34, 1, 54, 2, 188, 4, 32, 2, 32, 5, 54, 2, 184, 4, 32, 2, 32, 3, 54, 2, 180, 4, 32, 2, 32, 0, 54, 2, 176, 4, 12, 5, 11, 32, 2, 65, 176, 4, 106, 32, 4, 16, 16, 32, 2, 40, 2, 176, 4, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 188, 4, 33, 1, 32, 2, 40, 2, 184, 4, 33, 5, 32, 2, 40, 2, 180, 4, 33, 3, 12, 5, 11, 32, 2, 65, 168, 1, 106, 32, 4, 16, 135, 1, 65, 0, 33, 3, 32, 2, 45, 0, 169, 1, 33, 0, 32, 2, 45, 0, 168, 1, 65, 1, 113, 13, 0, 11, 11, 65, 2, 33, 0, 12, 2, 11, 65, 14, 33, 0, 12, 1, 11, 65, 4, 33, 0, 11, 32, 0, 65, 8, 118, 33, 7, 32, 5, 173, 32, 1, 173, 66, 32, 134, 132, 33, 19, 12, 14, 11, 32, 2, 65, 160, 1, 106, 32, 1, 16, 135, 1, 2, 64, 2, 64, 32, 2, 45, 0, 160, 1, 65, 1, 113, 69, 13, 0, 2, 64, 32, 2, 45, 0, 161, 1, 65, 251, 0, 71, 13, 0, 32, 1, 16, 129, 1, 32, 2, 65, 152, 1, 106, 32, 1, 16, 127, 32, 2, 45, 0, 156, 1, 33, 3, 32, 2, 65, 144, 1, 106, 32, 2, 40, 2, 152, 1, 34, 4, 16, 135, 1, 32, 2, 45, 0, 144, 1, 65, 1, 113, 4, 64, 32, 2, 45, 0, 145, 1, 33, 0, 32, 3, 65, 1, 113, 33, 3, 3, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 2, 32, 3, 65, 255, 1, 113, 13, 1, 65, 9, 33, 0, 12, 8, 11, 32, 3, 65, 255, 1, 113, 4, 64, 65, 16, 33, 0, 12, 8, 11, 32, 4, 16, 129, 1, 32, 2, 65, 136, 1, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 136, 1, 65, 1, 113, 69, 13, 6, 32, 2, 45, 0, 137, 1, 33, 0, 11, 32, 0, 65, 255, 1, 113, 34, 6, 65, 34, 71, 4, 64, 65, 16, 33, 0, 32, 6, 65, 253, 0, 71, 13, 7, 65, 19, 33, 0, 12, 7, 11, 32, 2, 65, 248, 0, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 120, 65, 1, 113, 69, 13, 5, 32, 2, 45, 0, 121, 65, 34, 71, 13, 4, 32, 4, 16, 129, 1, 32, 2, 65, 216, 2, 106, 32, 4, 16, 134, 1, 32, 2, 40, 2, 224, 2, 33, 3, 32, 2, 40, 2, 220, 2, 33, 0, 32, 2, 40, 2, 216, 2, 65, 1, 71, 4, 64, 32, 0, 69, 32, 3, 69, 114, 13, 2, 32, 0, 16, 204, 1, 12, 2, 11, 32, 0, 65, 22, 70, 13, 1, 32, 2, 40, 2, 232, 2, 33, 1, 32, 2, 40, 2, 228, 2, 33, 5, 12, 6, 11, 32, 2, 65, 216, 2, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 65, 228, 2, 106, 40, 2, 0, 33, 1, 32, 2, 65, 224, 2, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 12, 6, 11, 32, 2, 65, 128, 1, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 128, 1, 65, 1, 113, 69, 13, 18, 65, 2, 33, 0, 32, 2, 45, 0, 129, 1, 65, 253, 0, 71, 13, 13, 12, 8, 11, 32, 2, 65, 216, 2, 106, 32, 4, 16, 133, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 224, 2, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 32, 2, 32, 2, 40, 2, 228, 2, 34, 1, 54, 2, 188, 4, 32, 2, 32, 5, 54, 2, 184, 4, 32, 2, 32, 3, 54, 2, 180, 4, 32, 2, 32, 0, 54, 2, 176, 4, 12, 5, 11, 32, 2, 65, 176, 4, 106, 32, 4, 16, 16, 32, 2, 40, 2, 176, 4, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 188, 4, 33, 1, 32, 2, 40, 2, 184, 4, 33, 5, 32, 2, 40, 2, 180, 4, 33, 3, 12, 5, 11, 32, 2, 65, 240, 0, 106, 32, 4, 16, 135, 1, 65, 0, 33, 3, 32, 2, 45, 0, 113, 33, 0, 32, 2, 45, 0, 112, 65, 1, 113, 13, 0, 11, 11, 65, 2, 33, 0, 12, 2, 11, 65, 14, 33, 0, 12, 1, 11, 65, 4, 33, 0, 11, 32, 0, 65, 8, 118, 33, 7, 32, 5, 173, 32, 1, 173, 66, 32, 134, 132, 33, 19, 12, 13, 11, 32, 2, 65, 232, 0, 106, 32, 1, 16, 135, 1, 2, 64, 2, 64, 32, 2, 45, 0, 104, 65, 1, 113, 69, 13, 0, 2, 64, 32, 2, 45, 0, 105, 65, 251, 0, 71, 13, 0, 32, 1, 16, 129, 1, 32, 2, 65, 224, 0, 106, 32, 1, 16, 127, 32, 2, 45, 0, 100, 33, 3, 32, 2, 65, 216, 0, 106, 32, 2, 40, 2, 96, 34, 4, 16, 135, 1, 32, 2, 45, 0, 88, 65, 1, 113, 4, 64, 32, 2, 45, 0, 89, 33, 0, 32, 3, 65, 1, 113, 33, 3, 3, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 2, 32, 3, 65, 255, 1, 113, 13, 1, 65, 9, 33, 0, 12, 8, 11, 32, 3, 65, 255, 1, 113, 4, 64, 65, 16, 33, 0, 12, 8, 11, 32, 4, 16, 129, 1, 32, 2, 65, 208, 0, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 80, 65, 1, 113, 69, 13, 6, 32, 2, 45, 0, 81, 33, 0, 11, 32, 0, 65, 255, 1, 113, 34, 6, 65, 34, 71, 4, 64, 65, 16, 33, 0, 32, 6, 65, 253, 0, 71, 13, 7, 65, 19, 33, 0, 12, 7, 11, 32, 2, 65, 64, 107, 32, 4, 16, 135, 1, 32, 2, 45, 0, 64, 65, 1, 113, 69, 13, 5, 32, 2, 45, 0, 65, 65, 34, 71, 13, 4, 32, 4, 16, 129, 1, 32, 2, 65, 216, 2, 106, 32, 4, 16, 134, 1, 32, 2, 40, 2, 224, 2, 33, 3, 32, 2, 40, 2, 220, 2, 33, 0, 32, 2, 40, 2, 216, 2, 65, 1, 71, 4, 64, 32, 0, 69, 32, 3, 69, 114, 13, 2, 32, 0, 16, 204, 1, 12, 2, 11, 32, 0, 65, 22, 70, 13, 1, 32, 2, 40, 2, 232, 2, 33, 1, 32, 2, 40, 2, 228, 2, 33, 5, 12, 6, 11, 32, 2, 65, 216, 2, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 65, 228, 2, 106, 40, 2, 0, 33, 1, 32, 2, 65, 224, 2, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 12, 6, 11, 32, 2, 65, 200, 0, 106, 32, 1, 16, 135, 1, 65, 1, 33, 0, 32, 2, 45, 0, 72, 65, 1, 113, 69, 13, 17, 32, 2, 45, 0, 73, 65, 253, 0, 71, 13, 12, 12, 7, 11, 32, 2, 65, 216, 2, 106, 32, 4, 16, 133, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 224, 2, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 32, 2, 32, 2, 40, 2, 228, 2, 34, 1, 54, 2, 188, 4, 32, 2, 32, 5, 54, 2, 184, 4, 32, 2, 32, 3, 54, 2, 180, 4, 32, 2, 32, 0, 54, 2, 176, 4, 12, 5, 11, 32, 2, 65, 176, 4, 106, 32, 4, 16, 16, 32, 2, 40, 2, 176, 4, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 188, 4, 33, 1, 32, 2, 40, 2, 184, 4, 33, 5, 32, 2, 40, 2, 180, 4, 33, 3, 12, 5, 11, 32, 2, 65, 56, 106, 32, 4, 16, 135, 1, 65, 0, 33, 3, 32, 2, 45, 0, 57, 33, 0, 32, 2, 45, 0, 56, 65, 1, 113, 13, 0, 11, 11, 65, 2, 33, 0, 12, 2, 11, 65, 14, 33, 0, 12, 1, 11, 65, 4, 33, 0, 11, 32, 0, 65, 8, 118, 33, 7, 32, 5, 173, 32, 1, 173, 66, 32, 134, 132, 33, 19, 12, 12, 11, 32, 2, 65, 48, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 48, 65, 1, 113, 69, 13, 3, 32, 2, 45, 0, 49, 65, 251, 0, 71, 13, 2, 32, 1, 16, 129, 1, 32, 2, 65, 40, 106, 32, 1, 16, 127, 32, 2, 45, 0, 44, 33, 3, 32, 2, 65, 32, 106, 32, 2, 40, 2, 40, 34, 4, 16, 135, 1, 32, 2, 45, 0, 32, 65, 1, 113, 69, 13, 1, 32, 2, 45, 0, 33, 33, 0, 32, 3, 65, 1, 113, 33, 3, 3, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 2, 32, 3, 65, 255, 1, 113, 13, 1, 65, 9, 33, 0, 12, 9, 11, 32, 3, 65, 255, 1, 113, 4, 64, 65, 16, 33, 0, 12, 9, 11, 32, 4, 16, 129, 1, 32, 2, 65, 24, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 24, 65, 1, 113, 69, 13, 7, 32, 2, 45, 0, 25, 33, 0, 11, 32, 0, 65, 255, 1, 113, 34, 6, 65, 34, 71, 4, 64, 65, 16, 33, 0, 32, 6, 65, 253, 0, 71, 13, 8, 65, 19, 33, 0, 12, 8, 11, 32, 2, 65, 8, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 8, 65, 1, 113, 69, 13, 6, 32, 2, 45, 0, 9, 65, 34, 71, 13, 5, 32, 4, 16, 129, 1, 32, 2, 65, 216, 2, 106, 32, 4, 16, 134, 1, 32, 2, 40, 2, 224, 2, 33, 3, 32, 2, 40, 2, 220, 2, 33, 0, 32, 2, 40, 2, 216, 2, 65, 1, 71, 4, 64, 32, 0, 69, 32, 3, 69, 114, 13, 2, 32, 0, 16, 204, 1, 12, 2, 11, 32, 0, 65, 22, 70, 13, 1, 32, 2, 40, 2, 232, 2, 33, 1, 32, 2, 40, 2, 228, 2, 33, 5, 12, 7, 11, 32, 2, 65, 216, 2, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 65, 228, 2, 106, 40, 2, 0, 33, 1, 32, 2, 65, 224, 2, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 12, 7, 11, 32, 2, 65, 16, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 16, 65, 1, 113, 69, 13, 12, 65, 0, 33, 0, 32, 2, 45, 0, 17, 65, 253, 0, 70, 13, 2, 65, 11, 33, 0, 12, 13, 11, 32, 2, 65, 216, 2, 106, 32, 4, 16, 133, 1, 32, 2, 40, 2, 216, 2, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 224, 2, 33, 5, 32, 2, 40, 2, 220, 2, 33, 3, 32, 2, 32, 2, 40, 2, 228, 2, 34, 1, 54, 2, 188, 4, 32, 2, 32, 5, 54, 2, 184, 4, 32, 2, 32, 3, 54, 2, 180, 4, 32, 2, 32, 0, 54, 2, 176, 4, 12, 6, 11, 32, 2, 65, 176, 4, 106, 32, 4, 16, 16, 32, 2, 40, 2, 176, 4, 34, 0, 65, 22, 71, 4, 64, 32, 2, 40, 2, 188, 4, 33, 1, 32, 2, 40, 2, 184, 4, 33, 5, 32, 2, 40, 2, 180, 4, 33, 3, 12, 6, 11, 32, 2, 32, 4, 16, 135, 1, 65, 0, 33, 3, 32, 2, 45, 0, 1, 33, 0, 32, 2, 45, 0, 0, 65, 1, 113, 13, 0, 11, 12, 1, 11, 32, 1, 16, 129, 1, 32, 2, 65, 216, 2, 106, 32, 2, 65, 208, 3, 106, 16, 130, 1, 32, 2, 40, 2, 216, 2, 34, 7, 65, 22, 71, 4, 64, 32, 2, 40, 2, 220, 2, 33, 3, 32, 2, 65, 224, 2, 106, 53, 2, 0, 32, 2, 65, 228, 2, 106, 53, 2, 0, 66, 32, 134, 132, 33, 19, 12, 12, 11, 32, 2, 65, 232, 3, 106, 32, 2, 65, 168, 3, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 160, 4, 106, 32, 20, 55, 3, 0, 32, 2, 65, 156, 4, 106, 32, 18, 54, 2, 0, 32, 2, 65, 148, 4, 106, 32, 14, 54, 2, 0, 32, 2, 65, 144, 4, 106, 32, 13, 54, 2, 0, 32, 2, 65, 140, 4, 106, 32, 12, 54, 2, 0, 32, 2, 65, 136, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 132, 4, 106, 32, 17, 54, 2, 0, 32, 2, 65, 248, 3, 106, 32, 19, 55, 3, 0, 32, 2, 65, 244, 3, 106, 32, 10, 54, 2, 0, 32, 2, 32, 2, 41, 3, 160, 3, 55, 3, 224, 3, 32, 2, 32, 0, 58, 0, 172, 4, 32, 2, 32, 15, 54, 2, 152, 4, 32, 2, 32, 11, 54, 2, 128, 4, 32, 2, 32, 8, 54, 2, 240, 3, 32, 2, 32, 2, 65, 176, 3, 106, 54, 2, 168, 4, 32, 2, 65, 216, 2, 106, 32, 2, 65, 224, 3, 106, 32, 0, 16, 63, 32, 2, 40, 2, 148, 3, 4, 64, 32, 9, 16, 204, 1, 11, 32, 2, 40, 2, 132, 3, 69, 13, 13, 32, 16, 16, 204, 1, 12, 13, 11, 65, 2, 33, 0, 12, 2, 11, 65, 14, 33, 0, 12, 1, 11, 65, 4, 33, 0, 11, 32, 0, 65, 8, 118, 33, 7, 32, 5, 173, 32, 1, 173, 66, 32, 134, 132, 33, 19, 12, 6, 11, 65, 11, 33, 0, 12, 5, 11, 65, 2, 33, 0, 12, 2, 11, 65, 14, 33, 0, 12, 1, 11, 65, 4, 33, 0, 11, 32, 0, 65, 8, 118, 33, 7, 32, 5, 173, 32, 1, 173, 66, 32, 134, 132, 33, 19, 12, 1, 11, 65, 4, 33, 0, 11, 32, 0, 65, 255, 1, 113, 32, 7, 65, 8, 116, 114, 33, 7, 11, 32, 2, 65, 184, 4, 106, 32, 19, 55, 3, 0, 32, 2, 32, 3, 54, 2, 180, 4, 32, 2, 32, 7, 54, 2, 176, 4, 32, 2, 65, 216, 2, 106, 65, 219, 136, 192, 0, 65, 29, 32, 2, 65, 176, 4, 106, 16, 19, 32, 2, 65, 242, 3, 106, 32, 2, 65, 232, 2, 106, 41, 3, 0, 55, 1, 0, 32, 2, 65, 234, 3, 106, 32, 2, 65, 224, 2, 106, 41, 3, 0, 55, 1, 0, 32, 2, 65, 250, 3, 106, 32, 2, 65, 240, 2, 106, 40, 2, 0, 54, 1, 0, 32, 2, 65, 192, 3, 106, 32, 2, 65, 240, 3, 106, 41, 1, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 216, 2, 55, 1, 226, 3, 32, 2, 65, 184, 3, 106, 32, 2, 65, 232, 3, 106, 41, 1, 0, 55, 3, 0, 32, 2, 65, 198, 3, 106, 32, 2, 65, 246, 3, 106, 41, 1, 0, 55, 1, 0, 32, 2, 32, 2, 41, 1, 224, 3, 55, 3, 176, 3, 32, 2, 65, 228, 2, 106, 32, 2, 65, 186, 3, 106, 41, 1, 0, 55, 2, 0, 32, 2, 65, 244, 2, 106, 32, 2, 65, 202, 3, 106, 40, 1, 0, 54, 2, 0, 32, 2, 65, 236, 2, 106, 32, 2, 65, 194, 3, 106, 41, 1, 0, 55, 2, 0, 32, 2, 32, 2, 41, 1, 178, 3, 55, 2, 220, 2, 32, 2, 65, 1, 54, 2, 216, 2, 32, 8, 69, 32, 10, 69, 114, 69, 4, 64, 32, 8, 16, 204, 1, 11, 32, 11, 69, 32, 17, 69, 114, 69, 4, 64, 32, 11, 16, 204, 1, 11, 32, 14, 4, 64, 32, 14, 65, 5, 116, 33, 0, 32, 12, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 3, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 3, 16, 204, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 0, 65, 96, 106, 34, 0, 13, 0, 11, 11, 32, 13, 69, 32, 13, 65, 5, 116, 69, 114, 69, 4, 64, 32, 12, 16, 204, 1, 11, 32, 15, 69, 32, 18, 69, 114, 13, 0, 32, 15, 16, 204, 1, 11, 2, 64, 32, 9, 69, 13, 0, 32, 2, 40, 2, 148, 3, 69, 13, 0, 32, 9, 16, 204, 1, 11, 32, 2, 40, 2, 132, 3, 69, 13, 0, 32, 16, 16, 204, 1, 11, 32, 2, 65, 160, 3, 106, 16, 141, 1, 32, 2, 65, 216, 2, 106, 65, 4, 114, 33, 1, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 32, 2, 40, 2, 216, 2, 65, 1, 71, 4, 64, 32, 2, 40, 2, 168, 3, 34, 0, 32, 2, 40, 2, 164, 3, 70, 4, 127, 32, 2, 65, 160, 3, 106, 65, 1, 16, 6, 32, 2, 40, 2, 168, 3, 5, 32, 0, 11, 32, 2, 40, 2, 160, 3, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 168, 3, 65, 1, 106, 54, 2, 168, 3, 32, 2, 65, 224, 3, 106, 32, 2, 65, 160, 3, 106, 65, 235, 144, 192, 0, 65, 2, 16, 144, 1, 32, 2, 40, 2, 224, 3, 34, 0, 65, 3, 71, 13, 1, 32, 2, 40, 2, 168, 3, 34, 0, 32, 2, 40, 2, 164, 3, 70, 4, 127, 32, 2, 65, 160, 3, 106, 65, 1, 16, 6, 32, 2, 40, 2, 168, 3, 5, 32, 0, 11, 32, 2, 40, 2, 160, 3, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 168, 3, 65, 1, 106, 54, 2, 168, 3, 32, 2, 65, 224, 3, 106, 32, 2, 65, 160, 3, 106, 16, 147, 1, 2, 64, 32, 2, 40, 2, 224, 3, 65, 1, 70, 4, 64, 32, 2, 65, 184, 3, 106, 32, 2, 65, 236, 3, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 228, 3, 55, 3, 176, 3, 12, 1, 11, 32, 2, 32, 2, 40, 2, 228, 3, 54, 2, 208, 3, 32, 2, 32, 2, 65, 232, 3, 106, 34, 0, 45, 0, 0, 58, 0, 212, 3, 32, 2, 65, 224, 3, 106, 32, 2, 65, 208, 3, 106, 32, 1, 16, 58, 32, 2, 40, 2, 224, 3, 65, 3, 71, 4, 64, 32, 2, 65, 184, 3, 106, 32, 0, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 224, 3, 55, 3, 176, 3, 12, 1, 11, 32, 2, 65, 224, 3, 106, 32, 2, 65, 208, 3, 106, 32, 2, 65, 232, 2, 106, 16, 60, 32, 2, 40, 2, 224, 3, 65, 3, 71, 4, 64, 32, 2, 65, 184, 3, 106, 32, 2, 65, 232, 3, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 224, 3, 55, 3, 176, 3, 12, 1, 11, 32, 2, 65, 224, 3, 106, 32, 2, 65, 208, 3, 106, 32, 2, 65, 244, 2, 106, 16, 59, 32, 2, 40, 2, 224, 3, 65, 3, 71, 4, 64, 32, 2, 65, 184, 3, 106, 32, 2, 65, 232, 3, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 224, 3, 55, 3, 176, 3, 12, 1, 11, 32, 2, 65, 176, 3, 106, 32, 2, 40, 2, 208, 3, 32, 2, 45, 0, 212, 3, 16, 138, 1, 11, 32, 2, 40, 2, 176, 3, 34, 0, 65, 3, 70, 4, 64, 32, 2, 40, 2, 168, 3, 34, 0, 32, 2, 40, 2, 164, 3, 70, 4, 127, 32, 2, 65, 160, 3, 106, 65, 1, 16, 6, 32, 2, 40, 2, 168, 3, 5, 32, 0, 11, 32, 2, 40, 2, 160, 3, 106, 65, 253, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 168, 3, 65, 1, 106, 34, 0, 54, 2, 168, 3, 12, 6, 11, 32, 2, 65, 184, 3, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 180, 3, 33, 5, 32, 2, 65, 188, 3, 106, 40, 2, 0, 12, 2, 11, 32, 2, 65, 176, 4, 106, 32, 2, 65, 160, 3, 106, 32, 1, 16, 55, 32, 2, 40, 2, 176, 4, 34, 0, 65, 3, 70, 13, 3, 32, 2, 65, 188, 4, 106, 40, 2, 0, 33, 1, 32, 2, 65, 184, 4, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 180, 4, 33, 5, 12, 2, 11, 32, 2, 65, 232, 3, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 228, 3, 33, 5, 32, 2, 65, 236, 3, 106, 40, 2, 0, 11, 33, 1, 32, 2, 32, 0, 54, 2, 176, 4, 11, 2, 64, 32, 2, 40, 2, 160, 3, 34, 7, 69, 13, 0, 32, 2, 40, 2, 164, 3, 69, 13, 0, 32, 7, 16, 204, 1, 11, 32, 2, 65, 188, 3, 106, 32, 1, 54, 2, 0, 32, 2, 65, 184, 3, 106, 32, 3, 54, 2, 0, 32, 2, 32, 5, 54, 2, 180, 3, 32, 2, 32, 0, 54, 2, 176, 3, 32, 2, 65, 224, 3, 106, 65, 254, 138, 192, 0, 65, 234, 0, 32, 2, 65, 176, 3, 106, 16, 24, 32, 2, 65, 184, 4, 106, 32, 2, 65, 244, 3, 106, 34, 0, 41, 2, 0, 34, 19, 55, 3, 0, 32, 2, 32, 2, 65, 236, 3, 106, 34, 1, 41, 2, 0, 34, 20, 55, 3, 176, 4, 32, 2, 41, 3, 224, 3, 33, 21, 32, 2, 65, 232, 3, 106, 34, 3, 32, 3, 40, 2, 0, 54, 2, 0, 32, 1, 32, 20, 55, 2, 0, 32, 0, 32, 19, 55, 2, 0, 32, 2, 32, 21, 55, 3, 224, 3, 65, 220, 142, 192, 0, 65, 43, 32, 2, 65, 224, 3, 106, 65, 136, 143, 192, 0, 65, 144, 134, 192, 0, 16, 235, 1, 0, 11, 32, 2, 40, 2, 168, 3, 33, 0, 11, 32, 2, 41, 3, 160, 3, 33, 19, 32, 2, 32, 0, 54, 2, 232, 3, 32, 2, 32, 19, 55, 3, 224, 3, 32, 2, 65, 224, 3, 106, 16, 117, 2, 64, 32, 2, 40, 2, 216, 2, 69, 4, 64, 32, 1, 16, 43, 32, 2, 65, 232, 2, 106, 40, 2, 0, 33, 1, 32, 2, 65, 240, 2, 106, 40, 2, 0, 34, 3, 4, 64, 32, 1, 32, 3, 65, 24, 108, 106, 33, 3, 3, 64, 2, 64, 32, 1, 40, 2, 0, 34, 5, 69, 13, 0, 32, 1, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 5, 16, 204, 1, 11, 2, 64, 32, 1, 65, 12, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 1, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 1, 65, 24, 106, 34, 1, 32, 3, 71, 13, 0, 11, 32, 2, 40, 2, 232, 2, 33, 1, 11, 32, 2, 65, 236, 2, 106, 40, 2, 0, 34, 3, 69, 32, 1, 69, 114, 32, 3, 65, 24, 108, 69, 114, 69, 4, 64, 32, 1, 16, 204, 1, 11, 32, 2, 65, 244, 2, 106, 40, 2, 0, 34, 1, 69, 13, 1, 32, 2, 65, 248, 2, 106, 40, 2, 0, 69, 13, 1, 32, 1, 16, 204, 1, 12, 1, 11, 32, 1, 16, 32, 11, 32, 2, 65, 192, 4, 106, 36, 0, 11, 163, 38, 2, 15, 127, 3, 126, 35, 0, 65, 176, 2, 107, 34, 1, 36, 0, 32, 1, 65, 224, 1, 106, 32, 0, 16, 118, 32, 1, 65, 128, 2, 106, 32, 1, 40, 2, 224, 1, 34, 13, 32, 1, 40, 2, 232, 1, 16, 128, 1, 32, 1, 65, 184, 1, 106, 32, 1, 65, 128, 2, 106, 16, 135, 1, 65, 0, 33, 0, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 45, 0, 184, 1, 65, 1, 113, 69, 13, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 2, 64, 32, 1, 45, 0, 185, 1, 34, 2, 65, 251, 0, 71, 4, 64, 32, 2, 65, 34, 70, 13, 1, 65, 10, 33, 2, 12, 24, 11, 32, 1, 65, 128, 2, 106, 16, 129, 1, 32, 1, 65, 192, 1, 106, 32, 1, 65, 128, 2, 106, 34, 5, 16, 53, 32, 1, 65, 204, 1, 106, 33, 3, 32, 1, 65, 200, 1, 106, 33, 10, 32, 1, 45, 0, 192, 1, 65, 1, 70, 4, 64, 32, 1, 65, 208, 1, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 0, 33, 4, 32, 10, 40, 2, 0, 33, 3, 32, 1, 40, 2, 196, 1, 34, 2, 65, 8, 118, 33, 0, 12, 24, 11, 32, 1, 45, 0, 193, 1, 33, 4, 32, 1, 65, 192, 1, 106, 32, 5, 16, 133, 1, 32, 1, 40, 2, 192, 1, 34, 2, 65, 22, 71, 4, 64, 32, 3, 40, 2, 0, 33, 5, 32, 10, 40, 2, 0, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 32, 2, 65, 8, 118, 33, 0, 12, 24, 11, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 1, 107, 14, 2, 5, 0, 1, 11, 32, 1, 65, 176, 1, 106, 32, 5, 16, 135, 1, 32, 1, 45, 0, 176, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 2, 12, 25, 11, 32, 1, 45, 0, 177, 1, 65, 251, 0, 71, 4, 64, 65, 14, 33, 2, 12, 25, 11, 32, 5, 16, 129, 1, 32, 1, 65, 168, 1, 106, 32, 5, 16, 127, 32, 1, 40, 2, 168, 1, 33, 7, 32, 1, 32, 1, 45, 0, 172, 1, 65, 1, 113, 34, 0, 58, 0, 244, 1, 32, 1, 32, 7, 54, 2, 240, 1, 32, 1, 65, 160, 1, 106, 32, 7, 16, 135, 1, 32, 1, 45, 0, 160, 1, 65, 1, 113, 69, 4, 64, 65, 2, 33, 2, 12, 25, 11, 32, 1, 45, 0, 161, 1, 33, 2, 32, 0, 33, 4, 2, 64, 2, 64, 2, 64, 3, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 255, 1, 113, 34, 3, 65, 44, 71, 4, 64, 32, 3, 65, 253, 0, 70, 13, 5, 32, 0, 13, 1, 65, 9, 33, 2, 12, 30, 11, 32, 4, 65, 255, 1, 113, 69, 13, 1, 11, 65, 0, 33, 0, 32, 1, 65, 0, 58, 0, 244, 1, 12, 1, 11, 32, 7, 16, 129, 1, 32, 1, 65, 152, 1, 106, 32, 7, 16, 135, 1, 32, 1, 45, 0, 152, 1, 65, 1, 113, 69, 13, 26, 32, 1, 45, 0, 153, 1, 33, 2, 11, 32, 2, 65, 255, 1, 113, 34, 3, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 3, 65, 253, 0, 70, 27, 33, 2, 12, 27, 11, 32, 1, 65, 136, 1, 106, 32, 7, 16, 135, 1, 32, 1, 45, 0, 136, 1, 65, 1, 113, 69, 13, 25, 32, 1, 45, 0, 137, 1, 65, 34, 71, 4, 64, 65, 14, 33, 2, 12, 27, 11, 32, 7, 16, 129, 1, 32, 1, 65, 192, 1, 106, 32, 7, 16, 134, 1, 32, 1, 40, 2, 204, 1, 33, 4, 32, 1, 40, 2, 200, 1, 33, 3, 32, 1, 40, 2, 196, 1, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 192, 1, 65, 1, 71, 4, 64, 65, 3, 33, 10, 2, 64, 32, 4, 65, 124, 106, 34, 4, 65, 4, 75, 13, 0, 2, 64, 2, 64, 2, 64, 32, 4, 65, 1, 107, 14, 4, 0, 3, 3, 2, 1, 11, 32, 2, 65, 212, 148, 192, 0, 71, 4, 64, 32, 2, 65, 212, 148, 192, 0, 65, 5, 16, 156, 2, 13, 3, 11, 65, 0, 33, 10, 12, 2, 11, 32, 2, 65, 217, 148, 192, 0, 71, 4, 64, 32, 2, 40, 0, 0, 65, 247, 222, 201, 219, 6, 71, 13, 2, 11, 65, 1, 33, 10, 12, 1, 11, 32, 2, 65, 198, 131, 192, 0, 71, 4, 64, 32, 2, 41, 0, 0, 66, 227, 222, 185, 163, 167, 174, 216, 177, 244, 0, 82, 13, 1, 11, 65, 2, 33, 10, 11, 32, 3, 4, 64, 32, 2, 16, 204, 1, 11, 32, 10, 65, 2, 75, 13, 1, 32, 10, 65, 1, 107, 14, 2, 3, 4, 2, 11, 32, 1, 40, 2, 208, 1, 33, 5, 12, 32, 11, 32, 1, 65, 192, 1, 106, 32, 7, 16, 133, 1, 32, 1, 40, 2, 192, 1, 34, 2, 65, 22, 70, 13, 3, 32, 1, 40, 2, 200, 1, 33, 6, 32, 1, 40, 2, 196, 1, 33, 0, 32, 1, 32, 1, 40, 2, 204, 1, 34, 5, 54, 2, 156, 2, 32, 1, 32, 6, 54, 2, 152, 2, 32, 1, 32, 0, 54, 2, 148, 2, 32, 1, 32, 2, 54, 2, 144, 2, 12, 29, 11, 32, 14, 65, 1, 70, 13, 10, 32, 1, 65, 192, 1, 106, 32, 1, 65, 240, 1, 106, 16, 50, 32, 1, 40, 2, 196, 1, 33, 8, 32, 1, 40, 2, 192, 1, 65, 1, 70, 4, 64, 32, 1, 65, 200, 1, 106, 41, 3, 0, 34, 16, 66, 32, 136, 167, 33, 4, 32, 1, 65, 208, 1, 106, 40, 2, 0, 33, 5, 32, 16, 167, 33, 3, 32, 8, 33, 2, 12, 31, 11, 65, 1, 33, 14, 12, 3, 11, 32, 12, 65, 1, 70, 13, 8, 32, 1, 65, 192, 1, 106, 32, 1, 65, 240, 1, 106, 16, 50, 32, 1, 40, 2, 196, 1, 33, 6, 32, 1, 40, 2, 192, 1, 65, 1, 70, 4, 64, 32, 1, 65, 200, 1, 106, 41, 3, 0, 34, 16, 66, 32, 136, 167, 33, 4, 32, 1, 65, 208, 1, 106, 40, 2, 0, 33, 5, 32, 16, 167, 33, 3, 32, 6, 33, 2, 12, 30, 11, 65, 1, 33, 12, 12, 2, 11, 32, 9, 13, 4, 32, 1, 65, 192, 1, 106, 32, 7, 16, 133, 1, 32, 1, 40, 2, 192, 1, 34, 2, 65, 22, 71, 4, 64, 32, 1, 40, 2, 204, 1, 33, 5, 32, 1, 40, 2, 200, 1, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 12, 31, 11, 32, 1, 65, 128, 1, 106, 32, 7, 16, 135, 1, 2, 64, 2, 127, 65, 4, 32, 1, 45, 0, 128, 1, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 1, 45, 0, 129, 1, 65, 34, 71, 13, 0, 26, 32, 7, 16, 129, 1, 32, 1, 65, 192, 1, 106, 32, 7, 16, 134, 1, 32, 1, 41, 3, 200, 1, 33, 16, 32, 1, 40, 2, 196, 1, 33, 9, 32, 1, 40, 2, 192, 1, 65, 1, 71, 13, 1, 32, 1, 40, 2, 208, 1, 33, 5, 32, 9, 11, 33, 2, 32, 16, 66, 32, 136, 167, 33, 4, 32, 16, 167, 33, 3, 12, 31, 11, 32, 16, 66, 32, 136, 167, 33, 15, 32, 16, 167, 33, 11, 12, 1, 11, 32, 1, 65, 144, 2, 106, 32, 7, 16, 16, 32, 1, 40, 2, 144, 2, 34, 2, 65, 22, 71, 13, 24, 11, 32, 1, 65, 248, 0, 106, 32, 7, 16, 135, 1, 65, 0, 33, 4, 32, 1, 45, 0, 121, 33, 2, 32, 1, 45, 0, 120, 65, 1, 113, 13, 0, 11, 65, 2, 33, 2, 12, 25, 11, 32, 14, 65, 1, 71, 13, 19, 32, 12, 65, 1, 71, 4, 64, 32, 1, 65, 192, 1, 106, 65, 217, 148, 192, 0, 65, 4, 16, 17, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 65, 200, 1, 106, 40, 2, 0, 12, 21, 11, 32, 9, 13, 1, 32, 1, 65, 192, 1, 106, 65, 198, 131, 192, 0, 65, 8, 16, 17, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 65, 200, 1, 106, 40, 2, 0, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 32, 1, 40, 2, 192, 1, 33, 2, 12, 26, 11, 32, 1, 65, 192, 1, 106, 65, 198, 131, 192, 0, 65, 8, 16, 15, 32, 1, 41, 2, 196, 1, 34, 16, 66, 32, 136, 167, 33, 4, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 40, 2, 192, 1, 33, 2, 32, 16, 167, 33, 3, 32, 11, 13, 24, 12, 25, 11, 32, 1, 65, 192, 1, 106, 32, 5, 16, 132, 1, 32, 1, 40, 2, 192, 1, 34, 2, 65, 22, 71, 13, 16, 32, 1, 65, 144, 1, 106, 32, 5, 16, 135, 1, 2, 64, 32, 1, 45, 0, 144, 1, 65, 1, 113, 4, 64, 32, 1, 45, 0, 145, 1, 65, 253, 0, 70, 13, 1, 65, 0, 33, 0, 65, 11, 33, 2, 32, 11, 69, 13, 28, 32, 9, 16, 204, 1, 12, 28, 11, 65, 0, 33, 0, 65, 4, 33, 2, 32, 11, 69, 13, 27, 32, 9, 16, 204, 1, 12, 27, 11, 32, 5, 16, 129, 1, 65, 2, 12, 5, 11, 32, 1, 65, 48, 106, 32, 5, 16, 135, 1, 32, 1, 45, 0, 48, 65, 1, 113, 69, 13, 13, 32, 1, 45, 0, 49, 65, 251, 0, 71, 13, 12, 32, 5, 16, 129, 1, 32, 1, 65, 40, 106, 32, 5, 16, 127, 32, 1, 45, 0, 44, 33, 3, 32, 1, 65, 32, 106, 32, 1, 40, 2, 40, 34, 4, 16, 135, 1, 32, 1, 45, 0, 32, 65, 1, 113, 69, 13, 11, 32, 1, 45, 0, 33, 33, 2, 32, 3, 65, 1, 113, 33, 3, 3, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 255, 1, 113, 34, 12, 65, 44, 71, 4, 64, 32, 12, 65, 253, 0, 70, 13, 2, 32, 3, 65, 255, 1, 113, 13, 1, 65, 9, 33, 2, 12, 19, 11, 32, 3, 65, 255, 1, 113, 4, 64, 65, 16, 33, 2, 12, 19, 11, 32, 4, 16, 129, 1, 32, 1, 65, 24, 106, 32, 4, 16, 135, 1, 32, 1, 45, 0, 24, 65, 1, 113, 69, 13, 17, 32, 1, 45, 0, 25, 33, 2, 11, 32, 2, 65, 255, 1, 113, 34, 12, 65, 34, 71, 4, 64, 65, 16, 33, 2, 32, 12, 65, 253, 0, 71, 13, 18, 65, 19, 33, 2, 12, 18, 11, 32, 1, 65, 8, 106, 32, 4, 16, 135, 1, 32, 1, 45, 0, 8, 65, 1, 113, 69, 13, 16, 32, 1, 45, 0, 9, 65, 34, 71, 13, 15, 32, 4, 16, 129, 1, 32, 1, 65, 192, 1, 106, 32, 4, 16, 134, 1, 32, 1, 40, 2, 200, 1, 33, 3, 32, 1, 40, 2, 196, 1, 33, 2, 32, 1, 40, 2, 192, 1, 65, 1, 71, 4, 64, 32, 2, 69, 32, 3, 69, 114, 13, 2, 32, 2, 16, 204, 1, 12, 2, 11, 32, 2, 65, 22, 70, 13, 1, 32, 1, 40, 2, 208, 1, 33, 5, 32, 1, 40, 2, 204, 1, 33, 4, 12, 17, 11, 32, 1, 65, 192, 1, 106, 32, 5, 16, 132, 1, 32, 1, 40, 2, 192, 1, 34, 2, 65, 22, 71, 4, 64, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 65, 200, 1, 106, 40, 2, 0, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 12, 17, 11, 32, 1, 65, 16, 106, 32, 5, 16, 135, 1, 32, 1, 45, 0, 16, 65, 1, 113, 69, 13, 26, 32, 1, 45, 0, 17, 65, 253, 0, 71, 4, 64, 65, 11, 33, 2, 12, 28, 11, 32, 5, 16, 129, 1, 65, 0, 12, 6, 11, 32, 1, 65, 192, 1, 106, 32, 4, 16, 133, 1, 32, 1, 40, 2, 192, 1, 34, 2, 65, 22, 71, 4, 64, 32, 1, 40, 2, 200, 1, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 32, 1, 32, 1, 40, 2, 204, 1, 34, 5, 54, 2, 156, 2, 32, 1, 32, 4, 54, 2, 152, 2, 32, 1, 32, 3, 54, 2, 148, 2, 32, 1, 32, 2, 54, 2, 144, 2, 12, 16, 11, 32, 1, 65, 144, 2, 106, 32, 4, 16, 16, 32, 1, 40, 2, 144, 2, 34, 2, 65, 22, 71, 4, 64, 32, 1, 40, 2, 156, 2, 33, 5, 32, 1, 40, 2, 152, 2, 33, 4, 32, 1, 40, 2, 148, 2, 33, 3, 12, 16, 11, 32, 1, 32, 4, 16, 135, 1, 65, 0, 33, 3, 32, 1, 45, 0, 1, 33, 2, 32, 1, 45, 0, 0, 65, 1, 113, 13, 0, 11, 12, 11, 11, 32, 1, 65, 192, 1, 106, 65, 217, 148, 192, 0, 65, 4, 16, 15, 32, 1, 41, 2, 196, 1, 34, 16, 66, 32, 136, 167, 33, 4, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 40, 2, 192, 1, 33, 2, 32, 16, 167, 33, 3, 12, 20, 11, 32, 1, 65, 192, 1, 106, 65, 212, 148, 192, 0, 65, 5, 16, 15, 32, 1, 41, 2, 196, 1, 34, 16, 66, 32, 136, 167, 33, 4, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 40, 2, 192, 1, 33, 2, 32, 16, 167, 33, 3, 12, 19, 11, 32, 1, 65, 192, 1, 106, 32, 1, 65, 128, 2, 106, 16, 53, 32, 1, 47, 0, 197, 1, 32, 1, 45, 0, 199, 1, 65, 16, 116, 114, 65, 0, 32, 1, 45, 0, 192, 1, 65, 1, 70, 34, 2, 27, 33, 0, 32, 1, 45, 0, 196, 1, 65, 14, 32, 2, 27, 33, 2, 32, 1, 65, 208, 1, 106, 40, 2, 0, 33, 5, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 4, 32, 1, 65, 200, 1, 106, 40, 2, 0, 33, 3, 12, 22, 11, 32, 1, 65, 240, 0, 106, 32, 5, 16, 135, 1, 32, 1, 45, 0, 112, 65, 1, 113, 69, 4, 64, 65, 4, 33, 2, 12, 7, 11, 32, 1, 45, 0, 113, 65, 251, 0, 71, 4, 64, 65, 14, 33, 2, 12, 7, 11, 32, 5, 16, 129, 1, 32, 1, 65, 232, 0, 106, 32, 5, 16, 127, 32, 1, 45, 0, 108, 33, 3, 32, 1, 65, 224, 0, 106, 32, 1, 40, 2, 104, 34, 0, 16, 135, 1, 32, 1, 45, 0, 96, 65, 1, 113, 69, 4, 64, 65, 2, 33, 2, 12, 7, 11, 32, 1, 45, 0, 97, 33, 2, 32, 3, 65, 1, 113, 33, 3, 2, 64, 2, 64, 2, 64, 3, 64, 2, 64, 32, 2, 65, 255, 1, 113, 34, 4, 65, 44, 71, 4, 64, 32, 4, 65, 253, 0, 70, 13, 3, 32, 3, 65, 255, 1, 113, 13, 1, 65, 9, 33, 2, 12, 10, 11, 32, 3, 65, 255, 1, 113, 4, 64, 65, 16, 33, 2, 12, 10, 11, 32, 0, 16, 129, 1, 32, 1, 65, 216, 0, 106, 32, 0, 16, 135, 1, 32, 1, 45, 0, 88, 65, 1, 113, 69, 13, 8, 32, 1, 45, 0, 89, 33, 2, 11, 32, 2, 65, 255, 1, 113, 34, 3, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 3, 65, 253, 0, 70, 27, 33, 2, 12, 9, 11, 32, 1, 65, 200, 0, 106, 32, 0, 16, 135, 1, 32, 1, 45, 0, 72, 65, 1, 113, 69, 13, 7, 32, 1, 45, 0, 73, 65, 34, 71, 4, 64, 65, 14, 33, 2, 12, 9, 11, 32, 0, 16, 129, 1, 32, 1, 65, 192, 1, 106, 32, 0, 16, 134, 1, 32, 1, 40, 2, 204, 1, 33, 4, 32, 1, 40, 2, 200, 1, 33, 3, 32, 1, 40, 2, 196, 1, 33, 2, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 192, 1, 65, 1, 71, 4, 64, 65, 1, 33, 10, 2, 64, 32, 4, 65, 7, 71, 13, 0, 32, 2, 65, 197, 130, 192, 0, 71, 4, 64, 32, 2, 65, 197, 130, 192, 0, 65, 7, 16, 156, 2, 13, 1, 11, 65, 0, 33, 10, 11, 32, 3, 4, 64, 32, 2, 16, 204, 1, 11, 32, 10, 69, 13, 1, 32, 1, 65, 192, 1, 106, 32, 0, 16, 133, 1, 32, 1, 40, 2, 192, 1, 34, 2, 65, 22, 70, 13, 2, 32, 1, 40, 2, 200, 1, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 32, 1, 32, 1, 40, 2, 204, 1, 34, 5, 54, 2, 156, 2, 32, 1, 32, 4, 54, 2, 152, 2, 32, 1, 32, 3, 54, 2, 148, 2, 32, 1, 32, 2, 54, 2, 144, 2, 12, 12, 11, 32, 1, 40, 2, 208, 1, 33, 5, 12, 11, 11, 32, 8, 13, 4, 32, 1, 65, 192, 1, 106, 32, 0, 16, 133, 1, 32, 1, 40, 2, 192, 1, 34, 2, 65, 22, 71, 4, 64, 32, 1, 40, 2, 204, 1, 33, 5, 32, 1, 40, 2, 200, 1, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 12, 13, 11, 32, 1, 65, 64, 107, 32, 0, 16, 135, 1, 2, 64, 2, 127, 65, 4, 32, 1, 45, 0, 64, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 1, 45, 0, 65, 65, 34, 71, 13, 0, 26, 32, 0, 16, 129, 1, 32, 1, 65, 192, 1, 106, 32, 0, 16, 134, 1, 32, 1, 41, 3, 200, 1, 33, 16, 32, 1, 40, 2, 196, 1, 33, 8, 32, 1, 40, 2, 192, 1, 65, 1, 71, 13, 1, 32, 1, 40, 2, 208, 1, 33, 5, 32, 8, 11, 33, 2, 32, 16, 66, 32, 136, 167, 33, 4, 32, 16, 167, 33, 3, 12, 13, 11, 32, 16, 66, 32, 136, 167, 33, 9, 32, 16, 167, 33, 6, 12, 1, 11, 32, 1, 65, 144, 2, 106, 32, 0, 16, 16, 32, 1, 40, 2, 144, 2, 34, 2, 65, 22, 71, 13, 7, 11, 32, 1, 65, 56, 106, 32, 0, 16, 135, 1, 65, 0, 33, 3, 32, 1, 45, 0, 57, 33, 2, 32, 1, 45, 0, 56, 65, 1, 113, 13, 0, 11, 65, 2, 33, 2, 12, 7, 11, 32, 8, 69, 4, 64, 32, 1, 65, 192, 1, 106, 65, 197, 130, 192, 0, 65, 7, 16, 17, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 65, 200, 1, 106, 40, 2, 0, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 32, 1, 40, 2, 192, 1, 33, 2, 12, 9, 11, 32, 1, 65, 192, 1, 106, 32, 5, 16, 132, 1, 32, 1, 40, 2, 192, 1, 34, 2, 65, 22, 70, 13, 1, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 65, 200, 1, 106, 40, 2, 0, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 32, 6, 69, 13, 8, 32, 8, 16, 204, 1, 12, 8, 11, 32, 1, 65, 192, 1, 106, 65, 197, 130, 192, 0, 65, 7, 16, 15, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 65, 200, 1, 106, 40, 2, 0, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 32, 1, 40, 2, 192, 1, 33, 2, 32, 6, 13, 6, 12, 7, 11, 32, 1, 65, 208, 0, 106, 32, 5, 16, 135, 1, 32, 1, 45, 0, 80, 65, 1, 113, 69, 4, 64, 65, 0, 33, 0, 65, 4, 33, 2, 32, 6, 69, 13, 22, 32, 8, 16, 204, 1, 12, 22, 11, 32, 1, 45, 0, 81, 65, 253, 0, 71, 13, 1, 32, 5, 16, 129, 1, 65, 1, 11, 33, 2, 32, 1, 65, 192, 1, 106, 32, 1, 65, 128, 2, 106, 16, 130, 1, 32, 1, 40, 2, 192, 1, 34, 0, 65, 22, 71, 4, 64, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 65, 200, 1, 106, 40, 2, 0, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 32, 2, 65, 1, 77, 4, 64, 32, 2, 65, 1, 107, 32, 8, 69, 32, 6, 69, 114, 114, 13, 23, 32, 8, 16, 204, 1, 12, 23, 11, 32, 9, 69, 32, 11, 69, 114, 13, 22, 32, 9, 16, 204, 1, 12, 22, 11, 32, 1, 65, 168, 2, 106, 32, 15, 54, 2, 0, 32, 1, 65, 164, 2, 106, 32, 11, 54, 2, 0, 32, 1, 65, 160, 2, 106, 32, 9, 54, 2, 0, 32, 1, 65, 156, 2, 106, 32, 6, 54, 2, 0, 32, 1, 65, 152, 2, 106, 32, 8, 54, 2, 0, 32, 1, 32, 2, 54, 2, 148, 2, 32, 1, 32, 1, 65, 128, 2, 106, 54, 2, 144, 2, 32, 1, 65, 192, 1, 106, 32, 1, 65, 144, 2, 106, 65, 4, 114, 16, 68, 32, 1, 40, 2, 228, 1, 69, 13, 22, 32, 13, 16, 204, 1, 12, 22, 11, 65, 0, 33, 0, 65, 11, 33, 2, 32, 6, 69, 13, 19, 32, 8, 16, 204, 1, 12, 19, 11, 32, 1, 40, 2, 156, 2, 33, 5, 32, 1, 40, 2, 152, 2, 33, 4, 32, 1, 40, 2, 148, 2, 33, 3, 12, 1, 11, 65, 4, 33, 2, 11, 32, 6, 69, 32, 8, 69, 114, 13, 1, 11, 32, 8, 16, 204, 1, 11, 32, 2, 65, 8, 118, 33, 0, 12, 14, 11, 65, 2, 33, 2, 12, 2, 11, 65, 14, 33, 2, 12, 1, 11, 65, 4, 33, 2, 11, 32, 2, 65, 8, 118, 33, 0, 12, 10, 11, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 65, 200, 1, 106, 40, 2, 0, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 32, 11, 69, 13, 7, 32, 9, 16, 204, 1, 12, 7, 11, 32, 1, 65, 192, 1, 106, 65, 212, 148, 192, 0, 65, 5, 16, 17, 32, 1, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 1, 65, 200, 1, 106, 40, 2, 0, 11, 33, 4, 32, 1, 40, 2, 196, 1, 33, 3, 32, 1, 40, 2, 192, 1, 33, 2, 12, 3, 11, 32, 1, 40, 2, 156, 2, 33, 5, 11, 32, 1, 41, 2, 148, 2, 34, 16, 66, 32, 136, 167, 33, 4, 32, 16, 167, 33, 3, 12, 1, 11, 65, 4, 33, 2, 11, 32, 11, 69, 32, 9, 69, 114, 13, 1, 11, 32, 9, 16, 204, 1, 11, 32, 2, 65, 8, 118, 33, 0, 12, 1, 11, 65, 4, 33, 2, 11, 32, 2, 65, 255, 1, 113, 32, 0, 65, 8, 116, 114, 33, 0, 11, 32, 1, 65, 140, 2, 106, 32, 5, 54, 2, 0, 32, 1, 65, 136, 2, 106, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 132, 2, 32, 1, 32, 0, 54, 2, 128, 2, 32, 1, 65, 144, 2, 106, 65, 226, 138, 192, 0, 65, 28, 32, 1, 65, 128, 2, 106, 16, 19, 32, 1, 65, 220, 1, 106, 32, 1, 65, 168, 2, 106, 40, 2, 0, 54, 2, 0, 32, 1, 65, 212, 1, 106, 32, 1, 65, 160, 2, 106, 41, 3, 0, 55, 2, 0, 32, 1, 65, 204, 1, 106, 32, 1, 65, 152, 2, 106, 41, 3, 0, 55, 2, 0, 32, 1, 65, 1, 54, 2, 192, 1, 32, 1, 32, 1, 41, 3, 144, 2, 55, 2, 196, 1, 32, 1, 40, 2, 228, 1, 69, 13, 0, 32, 13, 16, 204, 1, 11, 32, 1, 65, 240, 1, 106, 16, 141, 1, 32, 1, 65, 192, 1, 106, 65, 4, 114, 33, 6, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 192, 1, 65, 1, 71, 4, 64, 32, 1, 40, 2, 248, 1, 34, 0, 32, 1, 40, 2, 244, 1, 70, 4, 127, 32, 1, 65, 240, 1, 106, 65, 1, 16, 6, 32, 1, 40, 2, 248, 1, 5, 32, 0, 11, 32, 1, 40, 2, 240, 1, 106, 65, 251, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 248, 1, 65, 1, 106, 54, 2, 248, 1, 32, 1, 65, 144, 2, 106, 32, 1, 65, 240, 1, 106, 65, 235, 144, 192, 0, 65, 2, 16, 144, 1, 2, 64, 32, 1, 40, 2, 144, 2, 34, 2, 65, 3, 70, 4, 64, 32, 1, 40, 2, 248, 1, 34, 0, 32, 1, 40, 2, 244, 1, 70, 4, 127, 32, 1, 65, 240, 1, 106, 65, 1, 16, 6, 32, 1, 40, 2, 248, 1, 5, 32, 0, 11, 32, 1, 40, 2, 240, 1, 106, 65, 58, 58, 0, 0, 32, 1, 32, 1, 40, 2, 248, 1, 65, 1, 106, 54, 2, 248, 1, 32, 1, 65, 224, 1, 106, 32, 6, 16, 101, 32, 1, 65, 144, 2, 106, 32, 1, 65, 240, 1, 106, 32, 1, 40, 2, 224, 1, 34, 0, 32, 1, 40, 2, 232, 1, 16, 144, 1, 32, 1, 40, 2, 228, 1, 4, 64, 32, 0, 16, 204, 1, 11, 32, 1, 40, 2, 144, 2, 34, 2, 65, 3, 71, 13, 1, 32, 1, 40, 2, 248, 1, 34, 0, 32, 1, 40, 2, 244, 1, 70, 4, 127, 32, 1, 65, 240, 1, 106, 65, 1, 16, 6, 32, 1, 40, 2, 248, 1, 5, 32, 0, 11, 32, 1, 40, 2, 240, 1, 106, 65, 253, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 248, 1, 65, 1, 106, 34, 2, 54, 2, 248, 1, 12, 3, 11, 32, 1, 65, 156, 2, 106, 40, 2, 0, 33, 0, 32, 1, 65, 152, 2, 106, 40, 2, 0, 33, 3, 12, 3, 11, 32, 1, 65, 152, 2, 106, 40, 2, 0, 33, 3, 32, 1, 65, 156, 2, 106, 40, 2, 0, 33, 0, 12, 2, 11, 32, 1, 65, 128, 2, 106, 32, 1, 65, 240, 1, 106, 32, 6, 16, 55, 32, 1, 40, 2, 128, 2, 34, 2, 65, 3, 71, 4, 64, 32, 1, 65, 140, 2, 106, 40, 2, 0, 33, 0, 32, 1, 65, 136, 2, 106, 40, 2, 0, 33, 3, 32, 1, 40, 2, 132, 2, 33, 4, 12, 3, 11, 32, 1, 40, 2, 248, 1, 33, 2, 11, 32, 1, 41, 3, 240, 1, 33, 16, 32, 1, 32, 2, 54, 2, 152, 2, 32, 1, 32, 16, 55, 3, 144, 2, 32, 1, 65, 144, 2, 106, 16, 117, 2, 64, 32, 1, 40, 2, 192, 1, 69, 4, 64, 32, 1, 40, 2, 196, 1, 34, 0, 69, 13, 1, 32, 1, 65, 200, 1, 106, 40, 2, 0, 69, 13, 1, 32, 0, 16, 204, 1, 12, 1, 11, 32, 6, 16, 32, 11, 32, 1, 65, 176, 2, 106, 36, 0, 15, 11, 32, 1, 40, 2, 148, 2, 33, 4, 32, 1, 32, 2, 54, 2, 128, 2, 11, 2, 64, 32, 1, 40, 2, 240, 1, 34, 6, 69, 13, 0, 32, 1, 40, 2, 244, 1, 69, 13, 0, 32, 6, 16, 204, 1, 11, 32, 1, 65, 140, 2, 106, 32, 0, 54, 2, 0, 32, 1, 65, 136, 2, 106, 32, 3, 54, 2, 0, 32, 1, 32, 4, 54, 2, 132, 2, 32, 1, 32, 2, 54, 2, 128, 2, 32, 1, 65, 144, 2, 106, 65, 208, 140, 192, 0, 65, 223, 0, 32, 1, 65, 128, 2, 106, 16, 24, 32, 1, 65, 232, 1, 106, 32, 1, 65, 164, 2, 106, 34, 6, 41, 2, 0, 34, 17, 55, 3, 0, 32, 1, 32, 1, 65, 156, 2, 106, 34, 2, 41, 2, 0, 34, 18, 55, 3, 224, 1, 32, 1, 41, 3, 144, 2, 33, 16, 32, 1, 65, 152, 2, 106, 34, 0, 32, 0, 40, 2, 0, 54, 2, 0, 32, 2, 32, 18, 55, 2, 0, 32, 6, 32, 17, 55, 2, 0, 32, 1, 32, 16, 55, 3, 144, 2, 65, 220, 142, 192, 0, 65, 43, 32, 1, 65, 144, 2, 106, 65, 136, 143, 192, 0, 65, 128, 134, 192, 0, 16, 235, 1, 0, 11, 218, 24, 2, 19, 127, 3, 126, 35, 0, 65, 144, 2, 107, 34, 2, 36, 0, 32, 2, 65, 224, 0, 106, 32, 0, 16, 118, 32, 2, 65, 240, 0, 106, 32, 1, 16, 118, 32, 2, 65, 168, 1, 106, 32, 2, 40, 2, 96, 34, 15, 32, 2, 40, 2, 104, 16, 13, 32, 2, 65, 152, 1, 106, 34, 0, 32, 2, 65, 180, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 160, 1, 106, 34, 4, 32, 2, 65, 188, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 172, 1, 55, 3, 144, 1, 32, 2, 65, 192, 1, 106, 40, 2, 0, 33, 1, 32, 2, 65, 196, 1, 106, 40, 2, 0, 33, 9, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 168, 1, 65, 1, 71, 4, 64, 32, 2, 65, 200, 1, 106, 41, 3, 0, 33, 22, 32, 2, 65, 208, 1, 106, 40, 2, 0, 33, 10, 32, 2, 65, 212, 1, 106, 40, 2, 0, 33, 16, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 19, 32, 2, 65, 220, 1, 106, 40, 2, 0, 33, 11, 32, 2, 65, 224, 1, 106, 40, 2, 0, 33, 12, 32, 2, 65, 228, 1, 106, 40, 2, 0, 33, 13, 32, 2, 65, 232, 1, 106, 40, 2, 0, 33, 14, 32, 2, 65, 236, 1, 106, 40, 2, 0, 33, 17, 32, 2, 65, 240, 1, 106, 41, 3, 0, 33, 23, 32, 2, 65, 136, 1, 106, 32, 2, 65, 156, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 148, 1, 55, 3, 128, 1, 32, 2, 65, 144, 1, 106, 32, 2, 40, 2, 112, 34, 8, 32, 2, 40, 2, 120, 16, 128, 1, 32, 2, 65, 48, 106, 32, 2, 65, 144, 1, 106, 16, 135, 1, 32, 2, 45, 0, 48, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 9, 11, 32, 2, 45, 0, 49, 65, 251, 0, 71, 4, 64, 65, 14, 33, 3, 12, 9, 11, 32, 2, 65, 144, 1, 106, 16, 129, 1, 32, 2, 65, 40, 106, 32, 2, 65, 144, 1, 106, 16, 127, 32, 2, 45, 0, 44, 33, 5, 32, 2, 65, 32, 106, 32, 2, 40, 2, 40, 34, 4, 16, 135, 1, 32, 2, 45, 0, 32, 65, 1, 113, 69, 4, 64, 65, 2, 33, 3, 12, 9, 11, 32, 2, 45, 0, 33, 33, 3, 32, 5, 65, 1, 113, 33, 5, 65, 0, 33, 0, 2, 64, 3, 64, 2, 64, 32, 3, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 3, 32, 5, 65, 255, 1, 113, 13, 1, 65, 9, 33, 3, 12, 10, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 3, 12, 10, 11, 32, 4, 16, 129, 1, 32, 2, 65, 24, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 24, 65, 1, 113, 69, 13, 8, 32, 2, 45, 0, 25, 33, 3, 11, 32, 3, 65, 255, 1, 113, 34, 5, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 5, 65, 253, 0, 70, 27, 33, 3, 12, 9, 11, 32, 2, 65, 16, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 16, 65, 1, 113, 69, 13, 7, 32, 2, 45, 0, 17, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 9, 11, 32, 4, 16, 129, 1, 32, 2, 65, 168, 1, 106, 32, 4, 16, 134, 1, 32, 2, 40, 2, 180, 1, 33, 6, 32, 2, 40, 2, 176, 1, 33, 5, 32, 2, 40, 2, 172, 1, 33, 3, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 168, 1, 65, 1, 71, 4, 64, 65, 1, 33, 18, 2, 64, 32, 6, 65, 8, 71, 13, 0, 32, 3, 65, 180, 147, 192, 0, 71, 4, 64, 32, 3, 41, 0, 0, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 82, 13, 1, 11, 65, 0, 33, 18, 11, 32, 5, 4, 64, 32, 3, 16, 204, 1, 11, 32, 18, 69, 13, 1, 32, 2, 65, 168, 1, 106, 32, 4, 16, 133, 1, 32, 2, 40, 2, 168, 1, 34, 3, 65, 22, 70, 13, 2, 32, 2, 40, 2, 176, 1, 33, 5, 32, 2, 40, 2, 172, 1, 33, 6, 32, 2, 32, 2, 40, 2, 180, 1, 34, 4, 54, 2, 68, 32, 2, 32, 5, 54, 2, 64, 32, 2, 32, 6, 54, 2, 60, 32, 2, 32, 3, 54, 2, 56, 12, 10, 11, 32, 2, 40, 2, 184, 1, 33, 4, 12, 11, 11, 32, 0, 13, 6, 32, 2, 65, 168, 1, 106, 32, 4, 16, 133, 1, 32, 2, 40, 2, 168, 1, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 1, 33, 4, 32, 2, 40, 2, 176, 1, 33, 6, 32, 2, 40, 2, 172, 1, 33, 5, 12, 13, 11, 32, 2, 65, 8, 106, 32, 4, 16, 135, 1, 2, 64, 2, 127, 65, 4, 32, 2, 45, 0, 8, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 2, 45, 0, 9, 65, 34, 71, 13, 0, 26, 32, 4, 16, 129, 1, 32, 2, 65, 168, 1, 106, 32, 4, 16, 134, 1, 32, 2, 41, 3, 176, 1, 33, 21, 32, 2, 40, 2, 172, 1, 33, 0, 32, 2, 40, 2, 168, 1, 65, 1, 71, 13, 1, 32, 2, 40, 2, 184, 1, 33, 4, 32, 0, 11, 33, 3, 32, 21, 66, 32, 136, 167, 33, 6, 32, 21, 167, 33, 5, 12, 13, 11, 32, 21, 66, 32, 136, 167, 33, 20, 32, 21, 167, 33, 7, 12, 1, 11, 32, 2, 65, 56, 106, 32, 4, 16, 16, 32, 2, 40, 2, 56, 34, 3, 65, 22, 71, 13, 6, 11, 32, 2, 32, 4, 16, 135, 1, 65, 0, 33, 5, 32, 2, 45, 0, 1, 33, 3, 32, 2, 45, 0, 0, 65, 1, 113, 13, 0, 11, 65, 2, 33, 3, 12, 7, 11, 32, 0, 69, 4, 64, 32, 2, 65, 168, 1, 106, 65, 180, 147, 192, 0, 65, 8, 16, 17, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 4, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 6, 32, 2, 40, 2, 172, 1, 33, 5, 32, 2, 40, 2, 168, 1, 33, 3, 12, 9, 11, 32, 2, 65, 168, 1, 106, 32, 2, 65, 144, 1, 106, 16, 132, 1, 32, 2, 65, 180, 1, 106, 33, 4, 32, 2, 65, 176, 1, 106, 33, 5, 32, 2, 40, 2, 168, 1, 34, 3, 65, 22, 71, 4, 64, 32, 4, 40, 2, 0, 33, 4, 32, 5, 40, 2, 0, 33, 6, 32, 2, 40, 2, 172, 1, 33, 5, 32, 7, 69, 13, 9, 32, 0, 16, 204, 1, 12, 9, 11, 32, 2, 65, 168, 1, 106, 32, 2, 65, 144, 1, 106, 16, 130, 1, 32, 2, 40, 2, 168, 1, 34, 3, 65, 22, 70, 13, 1, 32, 4, 40, 2, 0, 33, 4, 32, 5, 40, 2, 0, 33, 6, 32, 2, 40, 2, 172, 1, 33, 5, 32, 7, 69, 13, 8, 32, 0, 16, 204, 1, 12, 8, 11, 32, 2, 65, 212, 0, 106, 32, 9, 54, 2, 0, 32, 2, 65, 208, 0, 106, 32, 1, 54, 2, 0, 32, 2, 65, 204, 0, 106, 32, 4, 40, 2, 0, 54, 2, 0, 32, 2, 65, 196, 0, 106, 32, 0, 41, 3, 0, 55, 2, 0, 32, 2, 32, 2, 41, 3, 144, 1, 55, 2, 60, 32, 2, 65, 1, 54, 2, 56, 32, 2, 40, 2, 112, 33, 8, 12, 8, 11, 32, 2, 65, 176, 1, 106, 32, 2, 65, 136, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 248, 1, 106, 32, 7, 173, 32, 20, 173, 66, 32, 134, 132, 55, 3, 0, 32, 2, 65, 232, 1, 106, 32, 23, 55, 3, 0, 32, 2, 65, 228, 1, 106, 32, 17, 54, 2, 0, 32, 2, 65, 220, 1, 106, 32, 13, 54, 2, 0, 32, 2, 65, 216, 1, 106, 32, 12, 54, 2, 0, 32, 2, 65, 212, 1, 106, 32, 11, 54, 2, 0, 32, 2, 65, 208, 1, 106, 32, 19, 54, 2, 0, 32, 2, 65, 204, 1, 106, 32, 16, 54, 2, 0, 32, 2, 65, 192, 1, 106, 32, 22, 55, 3, 0, 32, 2, 65, 188, 1, 106, 32, 9, 54, 2, 0, 32, 2, 32, 2, 41, 3, 128, 1, 55, 3, 168, 1, 32, 2, 32, 0, 54, 2, 244, 1, 32, 2, 32, 14, 54, 2, 224, 1, 32, 2, 32, 10, 54, 2, 200, 1, 32, 2, 32, 1, 54, 2, 184, 1, 32, 2, 32, 2, 65, 144, 1, 106, 54, 2, 240, 1, 32, 2, 65, 56, 106, 32, 2, 65, 168, 1, 106, 32, 2, 65, 244, 1, 106, 16, 62, 32, 2, 40, 2, 116, 4, 64, 32, 8, 16, 204, 1, 11, 32, 2, 40, 2, 100, 69, 13, 8, 32, 15, 16, 204, 1, 12, 8, 11, 32, 2, 65, 168, 1, 106, 65, 180, 147, 192, 0, 65, 8, 16, 15, 32, 2, 41, 2, 172, 1, 34, 21, 66, 32, 136, 167, 33, 6, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 168, 1, 33, 3, 32, 21, 167, 33, 5, 32, 7, 13, 4, 12, 5, 11, 32, 2, 40, 2, 68, 33, 4, 11, 32, 2, 41, 2, 60, 34, 21, 66, 32, 136, 167, 33, 6, 32, 21, 167, 33, 5, 12, 1, 11, 65, 4, 33, 3, 11, 32, 7, 69, 32, 0, 69, 114, 13, 1, 11, 32, 0, 16, 204, 1, 11, 32, 2, 65, 156, 1, 106, 32, 4, 54, 2, 0, 32, 2, 32, 3, 54, 2, 144, 1, 32, 2, 32, 5, 173, 32, 6, 173, 66, 32, 134, 132, 55, 2, 148, 1, 32, 2, 65, 168, 1, 106, 65, 175, 141, 192, 0, 65, 30, 32, 2, 65, 144, 1, 106, 16, 19, 32, 2, 65, 136, 2, 106, 32, 2, 65, 188, 1, 106, 41, 2, 0, 34, 21, 55, 3, 0, 32, 2, 65, 64, 107, 32, 2, 41, 2, 172, 1, 55, 3, 0, 32, 2, 65, 200, 0, 106, 32, 2, 65, 180, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 208, 0, 106, 32, 21, 55, 3, 0, 32, 2, 65, 1, 54, 2, 56, 32, 2, 32, 2, 40, 2, 168, 1, 54, 2, 60, 32, 1, 69, 32, 9, 69, 114, 69, 4, 64, 32, 1, 16, 204, 1, 11, 32, 10, 69, 32, 16, 69, 114, 69, 4, 64, 32, 10, 16, 204, 1, 11, 32, 13, 4, 64, 32, 13, 65, 5, 116, 33, 0, 32, 11, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 3, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 3, 16, 204, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 0, 65, 96, 106, 34, 0, 13, 0, 11, 11, 32, 12, 69, 32, 12, 65, 5, 116, 69, 114, 69, 4, 64, 32, 11, 16, 204, 1, 11, 32, 14, 69, 32, 17, 69, 114, 13, 0, 32, 14, 16, 204, 1, 11, 2, 64, 32, 8, 69, 13, 0, 32, 2, 40, 2, 116, 69, 13, 0, 32, 8, 16, 204, 1, 11, 32, 2, 40, 2, 100, 69, 13, 0, 32, 15, 16, 204, 1, 11, 32, 2, 65, 128, 1, 106, 16, 141, 1, 32, 2, 65, 56, 106, 65, 4, 114, 33, 1, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 32, 2, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 40, 2, 136, 1, 34, 0, 32, 2, 40, 2, 132, 1, 70, 4, 127, 32, 2, 65, 128, 1, 106, 65, 1, 16, 6, 32, 2, 40, 2, 136, 1, 5, 32, 0, 11, 32, 2, 40, 2, 128, 1, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 136, 1, 65, 1, 106, 54, 2, 136, 1, 32, 2, 65, 168, 1, 106, 32, 2, 65, 128, 1, 106, 65, 235, 144, 192, 0, 65, 2, 16, 144, 1, 32, 2, 40, 2, 168, 1, 34, 0, 65, 3, 71, 13, 1, 32, 2, 40, 2, 136, 1, 34, 0, 32, 2, 40, 2, 132, 1, 70, 4, 127, 32, 2, 65, 128, 1, 106, 65, 1, 16, 6, 32, 2, 40, 2, 136, 1, 5, 32, 0, 11, 32, 2, 40, 2, 128, 1, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 136, 1, 65, 1, 106, 54, 2, 136, 1, 32, 2, 65, 168, 1, 106, 32, 2, 65, 128, 1, 106, 16, 147, 1, 2, 64, 32, 2, 40, 2, 168, 1, 65, 1, 70, 4, 64, 32, 2, 65, 152, 1, 106, 32, 2, 65, 180, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 172, 1, 55, 3, 144, 1, 12, 1, 11, 32, 2, 32, 2, 40, 2, 172, 1, 54, 2, 112, 32, 2, 32, 2, 65, 176, 1, 106, 34, 0, 45, 0, 0, 58, 0, 116, 32, 2, 65, 168, 1, 106, 32, 2, 65, 240, 0, 106, 32, 1, 16, 58, 32, 2, 40, 2, 168, 1, 65, 3, 71, 4, 64, 32, 2, 65, 152, 1, 106, 32, 0, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 168, 1, 55, 3, 144, 1, 12, 1, 11, 32, 2, 65, 168, 1, 106, 32, 2, 65, 240, 0, 106, 32, 2, 65, 200, 0, 106, 16, 60, 32, 2, 40, 2, 168, 1, 65, 3, 71, 4, 64, 32, 2, 65, 152, 1, 106, 32, 2, 65, 176, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 168, 1, 55, 3, 144, 1, 12, 1, 11, 32, 2, 65, 168, 1, 106, 32, 2, 65, 240, 0, 106, 32, 2, 65, 212, 0, 106, 16, 59, 32, 2, 40, 2, 168, 1, 65, 3, 71, 4, 64, 32, 2, 65, 152, 1, 106, 32, 2, 65, 176, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 168, 1, 55, 3, 144, 1, 12, 1, 11, 32, 2, 65, 144, 1, 106, 32, 2, 40, 2, 112, 32, 2, 45, 0, 116, 16, 138, 1, 11, 32, 2, 40, 2, 144, 1, 34, 0, 65, 3, 70, 4, 64, 32, 2, 40, 2, 136, 1, 34, 0, 32, 2, 40, 2, 132, 1, 70, 4, 127, 32, 2, 65, 128, 1, 106, 65, 1, 16, 6, 32, 2, 40, 2, 136, 1, 5, 32, 0, 11, 32, 2, 40, 2, 128, 1, 106, 65, 253, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 136, 1, 65, 1, 106, 34, 0, 54, 2, 136, 1, 12, 6, 11, 32, 2, 65, 152, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 148, 1, 33, 4, 32, 2, 65, 156, 1, 106, 40, 2, 0, 12, 2, 11, 32, 2, 65, 128, 2, 106, 32, 2, 65, 128, 1, 106, 32, 1, 16, 55, 32, 2, 40, 2, 128, 2, 34, 0, 65, 3, 70, 13, 3, 32, 2, 65, 140, 2, 106, 40, 2, 0, 33, 1, 32, 2, 65, 136, 2, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 132, 2, 33, 4, 12, 2, 11, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 172, 1, 33, 4, 32, 2, 65, 180, 1, 106, 40, 2, 0, 11, 33, 1, 32, 2, 32, 0, 54, 2, 128, 2, 11, 2, 64, 32, 2, 40, 2, 128, 1, 34, 5, 69, 13, 0, 32, 2, 40, 2, 132, 1, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 2, 65, 156, 1, 106, 32, 1, 54, 2, 0, 32, 2, 65, 152, 1, 106, 32, 3, 54, 2, 0, 32, 2, 32, 4, 54, 2, 148, 1, 32, 2, 32, 0, 54, 2, 144, 1, 32, 2, 65, 168, 1, 106, 65, 208, 137, 192, 0, 65, 235, 0, 32, 2, 65, 144, 1, 106, 16, 24, 32, 2, 65, 136, 2, 106, 32, 2, 65, 188, 1, 106, 34, 0, 41, 2, 0, 34, 21, 55, 3, 0, 32, 2, 32, 2, 65, 180, 1, 106, 34, 1, 41, 2, 0, 34, 22, 55, 3, 128, 2, 32, 2, 41, 3, 168, 1, 33, 23, 32, 2, 65, 176, 1, 106, 34, 3, 32, 3, 40, 2, 0, 54, 2, 0, 32, 1, 32, 22, 55, 2, 0, 32, 0, 32, 21, 55, 2, 0, 32, 2, 32, 23, 55, 3, 168, 1, 65, 220, 142, 192, 0, 65, 43, 32, 2, 65, 168, 1, 106, 65, 136, 143, 192, 0, 65, 224, 133, 192, 0, 16, 235, 1, 0, 11, 32, 2, 40, 2, 136, 1, 33, 0, 11, 32, 2, 41, 3, 128, 1, 33, 21, 32, 2, 32, 0, 54, 2, 176, 1, 32, 2, 32, 21, 55, 3, 168, 1, 32, 2, 65, 168, 1, 106, 16, 117, 2, 64, 32, 2, 40, 2, 56, 69, 4, 64, 32, 1, 16, 43, 32, 2, 65, 200, 0, 106, 40, 2, 0, 33, 1, 32, 2, 65, 208, 0, 106, 40, 2, 0, 34, 3, 4, 64, 32, 1, 32, 3, 65, 24, 108, 106, 33, 3, 3, 64, 2, 64, 32, 1, 40, 2, 0, 34, 4, 69, 13, 0, 32, 1, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 4, 16, 204, 1, 11, 2, 64, 32, 1, 65, 12, 106, 40, 2, 0, 34, 4, 69, 13, 0, 32, 1, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 4, 16, 204, 1, 11, 32, 1, 65, 24, 106, 34, 1, 32, 3, 71, 13, 0, 11, 32, 2, 40, 2, 72, 33, 1, 11, 32, 2, 65, 204, 0, 106, 40, 2, 0, 34, 3, 69, 32, 1, 69, 114, 32, 3, 65, 24, 108, 69, 114, 69, 4, 64, 32, 1, 16, 204, 1, 11, 32, 2, 65, 212, 0, 106, 40, 2, 0, 34, 1, 69, 13, 1, 32, 2, 65, 216, 0, 106, 40, 2, 0, 69, 13, 1, 32, 1, 16, 204, 1, 12, 1, 11, 32, 1, 16, 32, 11, 32, 2, 65, 144, 2, 106, 36, 0, 11, 27, 0, 2, 127, 65, 8, 32, 1, 73, 4, 64, 32, 1, 32, 0, 16, 205, 1, 12, 1, 11, 32, 0, 16, 200, 1, 11, 11, 13, 0, 32, 0, 32, 1, 32, 2, 32, 3, 16, 191, 1, 11, 45, 1, 1, 127, 35, 0, 65, 16, 107, 34, 3, 36, 0, 32, 3, 32, 1, 54, 2, 12, 32, 3, 32, 0, 54, 2, 8, 32, 3, 65, 8, 106, 65, 180, 149, 192, 0, 65, 0, 32, 2, 16, 194, 1, 0, 11, 22, 0, 32, 0, 40, 2, 0, 34, 0, 40, 2, 0, 32, 0, 40, 2, 8, 32, 1, 16, 131, 2, 11, 99, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 64, 32, 0, 40, 2, 0, 34, 0, 45, 0, 0, 65, 1, 70, 4, 64, 32, 2, 32, 1, 65, 144, 156, 192, 0, 65, 4, 16, 129, 2, 32, 2, 32, 0, 65, 1, 106, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 148, 156, 192, 0, 16, 240, 1, 12, 1, 11, 32, 2, 32, 1, 65, 164, 156, 192, 0, 65, 4, 16, 129, 2, 11, 32, 2, 16, 241, 1, 32, 2, 65, 16, 106, 36, 0, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 158, 1, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 152, 1, 11, 98, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 33, 0, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 200, 149, 192, 0, 54, 2, 8, 32, 2, 65, 23, 54, 2, 36, 32, 2, 32, 0, 54, 2, 44, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 44, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 32, 2, 65, 48, 106, 36, 0, 11, 22, 0, 32, 0, 40, 2, 0, 34, 0, 40, 2, 0, 32, 0, 40, 2, 8, 32, 1, 16, 135, 2, 11, 33, 1, 1, 127, 2, 64, 32, 0, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 11, 202, 2, 1, 4, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 64, 32, 0, 40, 2, 0, 34, 0, 2, 127, 2, 64, 32, 1, 65, 128, 1, 79, 4, 64, 32, 2, 65, 0, 54, 2, 12, 32, 1, 65, 128, 16, 73, 13, 1, 32, 2, 65, 12, 106, 33, 3, 32, 1, 65, 128, 128, 4, 73, 4, 64, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 3, 12, 3, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 15, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 4, 12, 2, 11, 32, 0, 40, 2, 8, 34, 3, 32, 0, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 0, 65, 1, 16, 6, 32, 0, 40, 2, 8, 5, 32, 3, 11, 32, 0, 40, 2, 0, 106, 32, 1, 58, 0, 0, 32, 0, 32, 0, 40, 2, 8, 65, 1, 106, 54, 2, 8, 12, 2, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 12, 32, 2, 65, 12, 106, 33, 3, 65, 2, 11, 34, 1, 16, 6, 32, 0, 65, 8, 106, 34, 4, 40, 2, 0, 34, 5, 32, 0, 40, 2, 0, 106, 32, 3, 32, 1, 16, 154, 2, 26, 32, 4, 32, 1, 32, 5, 106, 54, 2, 0, 11, 32, 2, 65, 16, 106, 36, 0, 65, 0, 11, 90, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 136, 152, 192, 0, 32, 2, 65, 8, 106, 16, 227, 1, 32, 2, 65, 32, 106, 36, 0, 11, 97, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 12, 32, 3, 32, 1, 54, 2, 8, 32, 3, 65, 36, 106, 65, 1, 54, 2, 0, 32, 3, 66, 2, 55, 2, 20, 32, 3, 65, 132, 155, 192, 0, 54, 2, 16, 32, 3, 65, 24, 54, 2, 44, 32, 3, 32, 3, 65, 40, 106, 54, 2, 32, 32, 3, 32, 3, 65, 8, 106, 54, 2, 40, 32, 0, 32, 3, 65, 16, 106, 16, 86, 32, 3, 65, 48, 106, 36, 0, 11, 180, 2, 1, 3, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 2, 65, 0, 54, 2, 16, 32, 2, 66, 1, 55, 3, 8, 32, 2, 32, 1, 54, 2, 20, 32, 2, 65, 25, 54, 2, 28, 32, 2, 32, 2, 65, 20, 106, 54, 2, 24, 32, 2, 32, 2, 65, 8, 106, 54, 2, 36, 32, 2, 65, 60, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 44, 32, 2, 65, 200, 149, 192, 0, 54, 2, 40, 32, 2, 32, 2, 65, 24, 106, 54, 2, 56, 2, 64, 2, 64, 32, 2, 65, 36, 106, 65, 136, 152, 192, 0, 32, 2, 65, 40, 106, 16, 227, 1, 69, 4, 64, 2, 64, 32, 2, 40, 2, 12, 34, 3, 32, 2, 40, 2, 16, 34, 1, 70, 13, 0, 32, 3, 32, 1, 73, 13, 2, 32, 3, 69, 13, 0, 32, 2, 40, 2, 8, 34, 4, 69, 13, 0, 2, 64, 32, 1, 69, 4, 64, 65, 1, 33, 3, 32, 4, 16, 204, 1, 12, 1, 11, 32, 4, 32, 3, 65, 1, 32, 1, 16, 74, 34, 3, 69, 13, 4, 11, 32, 2, 32, 1, 54, 2, 12, 32, 2, 32, 3, 54, 2, 8, 11, 32, 0, 32, 2, 41, 3, 8, 55, 2, 4, 32, 0, 65, 20, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 16, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 64, 107, 36, 0, 15, 11, 65, 208, 149, 192, 0, 65, 55, 32, 2, 65, 40, 106, 65, 252, 152, 192, 0, 65, 208, 150, 192, 0, 16, 235, 1, 0, 11, 65, 208, 154, 192, 0, 65, 36, 65, 192, 154, 192, 0, 16, 219, 1, 0, 11, 32, 1, 65, 1, 16, 211, 1, 0, 11, 97, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 12, 32, 3, 32, 1, 54, 2, 8, 32, 3, 65, 36, 106, 65, 1, 54, 2, 0, 32, 3, 66, 2, 55, 2, 20, 32, 3, 65, 168, 155, 192, 0, 54, 2, 16, 32, 3, 65, 24, 54, 2, 44, 32, 3, 32, 3, 65, 40, 106, 54, 2, 32, 32, 3, 32, 3, 65, 8, 106, 54, 2, 40, 32, 0, 32, 3, 65, 16, 106, 16, 86, 32, 3, 65, 48, 106, 36, 0, 11, 185, 1, 1, 1, 127, 35, 0, 65, 64, 106, 34, 5, 36, 0, 32, 5, 32, 2, 54, 2, 12, 32, 5, 32, 1, 54, 2, 8, 2, 64, 32, 4, 4, 64, 32, 5, 65, 52, 106, 65, 10, 54, 2, 0, 32, 5, 65, 36, 106, 65, 2, 54, 2, 0, 32, 5, 66, 2, 55, 2, 20, 32, 5, 65, 128, 156, 192, 0, 54, 2, 16, 32, 5, 65, 24, 54, 2, 44, 32, 5, 32, 4, 54, 2, 60, 32, 5, 32, 3, 54, 2, 56, 32, 5, 32, 5, 65, 40, 106, 54, 2, 32, 32, 5, 32, 5, 65, 56, 106, 54, 2, 48, 12, 1, 11, 32, 5, 65, 36, 106, 65, 1, 54, 2, 0, 32, 5, 66, 2, 55, 2, 20, 32, 5, 65, 228, 155, 192, 0, 54, 2, 16, 32, 5, 65, 24, 54, 2, 44, 32, 5, 32, 5, 65, 40, 106, 54, 2, 32, 11, 32, 5, 32, 5, 65, 8, 106, 54, 2, 40, 32, 0, 32, 5, 65, 16, 106, 16, 86, 32, 5, 65, 64, 107, 36, 0, 11, 167, 4, 1, 4, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 2, 65, 16, 106, 32, 1, 40, 2, 0, 16, 135, 1, 2, 64, 2, 64, 32, 2, 45, 0, 16, 65, 1, 113, 69, 4, 64, 65, 2, 33, 3, 12, 1, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 17, 34, 4, 34, 3, 65, 44, 71, 4, 64, 32, 3, 65, 253, 0, 70, 13, 4, 32, 1, 45, 0, 4, 13, 1, 65, 9, 33, 3, 12, 7, 11, 32, 1, 45, 0, 4, 69, 13, 1, 11, 32, 1, 65, 0, 58, 0, 4, 12, 1, 11, 32, 1, 40, 2, 0, 16, 129, 1, 32, 2, 65, 8, 106, 32, 1, 40, 2, 0, 16, 135, 1, 32, 2, 45, 0, 8, 65, 1, 113, 69, 13, 3, 32, 2, 45, 0, 9, 33, 4, 11, 32, 4, 65, 255, 1, 113, 34, 3, 65, 253, 0, 71, 4, 64, 32, 3, 65, 34, 71, 4, 64, 65, 16, 33, 3, 12, 5, 11, 32, 2, 32, 1, 40, 2, 0, 34, 3, 16, 135, 1, 32, 2, 45, 0, 0, 65, 1, 113, 69, 13, 3, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 5, 11, 32, 3, 16, 129, 1, 32, 2, 65, 40, 106, 32, 3, 16, 134, 1, 32, 2, 65, 48, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 44, 33, 3, 32, 2, 40, 2, 40, 65, 1, 71, 4, 64, 32, 3, 69, 32, 4, 69, 114, 13, 3, 32, 3, 16, 204, 1, 12, 3, 11, 32, 3, 65, 22, 70, 13, 2, 32, 2, 65, 56, 106, 40, 2, 0, 33, 1, 32, 2, 65, 52, 106, 40, 2, 0, 33, 5, 12, 4, 11, 65, 19, 33, 3, 12, 3, 11, 32, 0, 65, 0, 59, 1, 0, 12, 3, 11, 32, 2, 65, 40, 106, 32, 1, 40, 2, 0, 16, 133, 1, 2, 64, 2, 64, 32, 2, 40, 2, 40, 34, 3, 65, 22, 71, 4, 64, 32, 2, 65, 48, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 44, 33, 4, 32, 2, 65, 36, 106, 32, 2, 65, 52, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 32, 106, 32, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 28, 32, 2, 32, 3, 54, 2, 24, 12, 1, 11, 32, 2, 65, 24, 106, 32, 1, 40, 2, 0, 16, 90, 32, 2, 40, 2, 24, 65, 22, 70, 13, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 32, 2, 41, 3, 24, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 32, 106, 41, 3, 0, 55, 2, 0, 12, 3, 11, 32, 0, 65, 128, 2, 59, 1, 0, 12, 2, 11, 65, 4, 33, 3, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 11, 32, 2, 65, 64, 107, 36, 0, 11, 241, 8, 1, 4, 127, 35, 0, 65, 128, 1, 107, 34, 2, 36, 0, 32, 2, 65, 56, 106, 32, 1, 16, 135, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 56, 65, 1, 113, 4, 64, 32, 2, 45, 0, 57, 34, 3, 65, 165, 127, 106, 34, 4, 65, 34, 77, 13, 1, 32, 3, 65, 94, 106, 34, 3, 65, 10, 75, 13, 6, 2, 64, 32, 3, 65, 1, 107, 14, 10, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 0, 11, 32, 2, 65, 16, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 16, 65, 1, 113, 69, 13, 2, 32, 2, 45, 0, 17, 65, 34, 71, 4, 64, 32, 0, 65, 14, 54, 2, 0, 12, 8, 11, 32, 1, 16, 129, 1, 32, 2, 65, 232, 0, 106, 32, 1, 16, 134, 1, 32, 2, 65, 240, 0, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 108, 33, 1, 32, 2, 40, 2, 104, 65, 1, 71, 4, 64, 32, 0, 65, 22, 54, 2, 0, 32, 1, 69, 32, 3, 69, 114, 13, 8, 32, 1, 16, 204, 1, 12, 8, 11, 32, 2, 65, 248, 0, 106, 40, 2, 0, 33, 4, 32, 2, 65, 244, 0, 106, 40, 2, 0, 33, 5, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 12, 7, 11, 32, 0, 65, 4, 54, 2, 0, 12, 6, 11, 32, 4, 65, 1, 107, 14, 34, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 1, 3, 11, 32, 0, 65, 4, 54, 2, 0, 12, 4, 11, 32, 0, 65, 11, 54, 2, 0, 12, 3, 11, 32, 2, 65, 48, 106, 32, 1, 16, 135, 1, 2, 64, 32, 2, 45, 0, 48, 65, 1, 113, 4, 64, 32, 2, 45, 0, 49, 65, 251, 0, 71, 4, 64, 32, 0, 65, 14, 54, 2, 0, 12, 5, 11, 32, 1, 16, 129, 1, 32, 2, 65, 40, 106, 32, 1, 16, 127, 32, 2, 40, 2, 40, 33, 3, 32, 2, 32, 2, 45, 0, 44, 65, 1, 113, 58, 0, 100, 32, 2, 32, 3, 54, 2, 96, 32, 2, 65, 240, 0, 106, 33, 3, 2, 127, 3, 64, 32, 2, 65, 232, 0, 106, 32, 2, 65, 224, 0, 106, 16, 89, 32, 2, 45, 0, 104, 65, 1, 70, 4, 64, 32, 2, 65, 216, 0, 106, 32, 3, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 3, 41, 2, 0, 55, 3, 80, 32, 2, 40, 2, 108, 12, 2, 11, 32, 2, 45, 0, 105, 13, 0, 11, 65, 22, 11, 33, 3, 32, 2, 65, 200, 0, 106, 34, 4, 32, 2, 65, 216, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 80, 55, 3, 64, 32, 3, 65, 22, 71, 13, 1, 32, 2, 65, 232, 0, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 104, 34, 1, 65, 22, 70, 4, 64, 32, 0, 65, 22, 54, 2, 0, 12, 5, 11, 32, 2, 65, 244, 0, 106, 40, 2, 0, 33, 3, 32, 2, 65, 240, 0, 106, 40, 2, 0, 33, 4, 32, 0, 32, 2, 40, 2, 108, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 4, 11, 32, 0, 65, 4, 54, 2, 0, 12, 3, 11, 32, 0, 32, 3, 54, 2, 0, 32, 0, 32, 2, 41, 3, 64, 55, 2, 4, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 2, 11, 32, 2, 65, 32, 106, 32, 1, 16, 135, 1, 2, 64, 32, 2, 45, 0, 32, 65, 1, 113, 4, 64, 32, 2, 45, 0, 33, 65, 219, 0, 71, 4, 64, 32, 0, 65, 14, 54, 2, 0, 12, 4, 11, 32, 1, 16, 129, 1, 32, 2, 65, 24, 106, 32, 1, 16, 127, 32, 2, 40, 2, 24, 33, 3, 32, 2, 32, 2, 45, 0, 28, 65, 1, 113, 58, 0, 100, 32, 2, 32, 3, 54, 2, 96, 32, 2, 65, 240, 0, 106, 33, 3, 2, 127, 3, 64, 32, 2, 65, 232, 0, 106, 32, 2, 65, 224, 0, 106, 16, 93, 32, 2, 45, 0, 104, 65, 1, 70, 4, 64, 32, 2, 65, 216, 0, 106, 32, 3, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 3, 41, 2, 0, 55, 3, 80, 32, 2, 40, 2, 108, 12, 2, 11, 32, 2, 45, 0, 105, 13, 0, 11, 65, 22, 11, 33, 3, 32, 2, 65, 200, 0, 106, 34, 4, 32, 2, 65, 216, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 80, 55, 3, 64, 32, 3, 65, 22, 71, 13, 1, 32, 2, 65, 232, 0, 106, 32, 1, 16, 131, 1, 32, 2, 40, 2, 104, 34, 1, 65, 22, 70, 4, 64, 32, 0, 65, 22, 54, 2, 0, 12, 4, 11, 32, 2, 65, 244, 0, 106, 40, 2, 0, 33, 3, 32, 2, 65, 240, 0, 106, 40, 2, 0, 33, 4, 32, 0, 32, 2, 40, 2, 108, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 3, 11, 32, 0, 65, 4, 54, 2, 0, 12, 2, 11, 32, 0, 32, 3, 54, 2, 0, 32, 0, 32, 2, 41, 3, 64, 55, 2, 4, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 2, 65, 8, 106, 32, 1, 16, 136, 1, 32, 2, 45, 0, 8, 65, 1, 113, 4, 64, 32, 2, 45, 0, 9, 33, 3, 3, 64, 32, 3, 65, 44, 70, 32, 3, 65, 253, 0, 70, 114, 69, 65, 0, 32, 3, 65, 221, 0, 71, 27, 69, 4, 64, 32, 0, 65, 22, 54, 2, 0, 12, 3, 11, 32, 1, 16, 129, 1, 32, 2, 32, 1, 16, 136, 1, 32, 2, 45, 0, 1, 33, 3, 32, 2, 45, 0, 0, 65, 1, 113, 13, 0, 11, 11, 32, 0, 65, 3, 54, 2, 0, 11, 32, 2, 65, 128, 1, 106, 36, 0, 11, 17, 0, 32, 0, 40, 2, 0, 32, 0, 40, 2, 8, 32, 1, 16, 135, 2, 11, 34, 0, 32, 0, 40, 2, 4, 32, 0, 65, 12, 106, 32, 0, 65, 8, 106, 32, 0, 40, 2, 0, 65, 1, 70, 27, 40, 2, 0, 32, 1, 16, 135, 2, 11, 205, 2, 1, 3, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 2, 65, 8, 106, 32, 1, 40, 2, 0, 16, 135, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 8, 65, 1, 113, 4, 64, 32, 2, 45, 0, 9, 34, 3, 34, 4, 65, 44, 70, 13, 2, 32, 4, 65, 221, 0, 70, 13, 1, 32, 1, 45, 0, 4, 13, 3, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 7, 54, 2, 0, 12, 5, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 1, 54, 2, 0, 12, 4, 11, 32, 0, 65, 0, 59, 1, 0, 12, 3, 11, 32, 1, 40, 2, 0, 16, 129, 1, 32, 2, 32, 1, 40, 2, 0, 16, 135, 1, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 33, 3, 12, 2, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 12, 2, 11, 32, 1, 65, 0, 58, 0, 4, 11, 32, 3, 65, 221, 0, 71, 4, 64, 32, 2, 65, 32, 106, 32, 1, 40, 2, 0, 16, 90, 32, 2, 65, 24, 106, 34, 1, 32, 2, 65, 44, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 16, 32, 2, 40, 2, 32, 34, 3, 65, 22, 70, 4, 64, 32, 0, 65, 128, 2, 59, 1, 0, 12, 2, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 16, 55, 2, 0, 32, 0, 65, 16, 106, 32, 1, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 19, 54, 2, 0, 11, 32, 2, 65, 48, 106, 36, 0, 11, 240, 3, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 135, 1, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 14, 54, 2, 0, 12, 2, 11, 32, 1, 16, 129, 1, 32, 2, 65, 8, 106, 32, 1, 16, 134, 1, 32, 2, 65, 20, 106, 40, 2, 0, 33, 3, 32, 2, 65, 16, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 12, 33, 1, 32, 2, 40, 2, 8, 65, 1, 71, 4, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 121, 106, 34, 4, 65, 12, 75, 13, 0, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 1, 107, 14, 12, 4, 4, 4, 4, 4, 4, 4, 0, 1, 4, 4, 3, 2, 11, 32, 1, 65, 142, 174, 192, 0, 71, 4, 64, 32, 1, 65, 142, 174, 192, 0, 65, 15, 16, 156, 2, 13, 4, 11, 32, 0, 65, 0, 59, 1, 0, 12, 6, 11, 32, 1, 65, 169, 174, 192, 0, 70, 13, 3, 32, 1, 65, 169, 174, 192, 0, 65, 16, 16, 156, 2, 69, 13, 3, 32, 1, 65, 193, 174, 192, 0, 71, 4, 64, 32, 1, 65, 193, 174, 192, 0, 65, 16, 16, 156, 2, 13, 3, 11, 32, 0, 65, 128, 4, 59, 1, 0, 12, 5, 11, 32, 1, 65, 213, 174, 192, 0, 71, 4, 64, 32, 1, 65, 213, 174, 192, 0, 65, 7, 16, 156, 2, 13, 2, 11, 32, 0, 65, 128, 6, 59, 1, 0, 12, 4, 11, 32, 1, 65, 220, 174, 192, 0, 70, 13, 2, 32, 1, 65, 220, 174, 192, 0, 65, 19, 16, 156, 2, 69, 13, 2, 11, 32, 2, 65, 8, 106, 32, 1, 32, 3, 65, 240, 174, 192, 0, 65, 5, 16, 88, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 12, 106, 32, 2, 65, 16, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 4, 106, 32, 2, 41, 3, 8, 55, 2, 0, 12, 2, 11, 32, 0, 65, 128, 2, 59, 1, 0, 12, 1, 11, 32, 0, 65, 128, 8, 59, 1, 0, 11, 32, 5, 69, 13, 2, 32, 1, 16, 204, 1, 12, 2, 11, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 32, 0, 65, 4, 106, 32, 1, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 11, 32, 2, 65, 32, 106, 36, 0, 11, 219, 4, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 135, 1, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 14, 54, 2, 0, 12, 2, 11, 32, 1, 16, 129, 1, 32, 2, 65, 8, 106, 32, 1, 16, 134, 1, 32, 2, 65, 20, 106, 40, 2, 0, 33, 3, 32, 2, 65, 16, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 12, 33, 1, 32, 2, 40, 2, 8, 65, 1, 71, 4, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 119, 106, 34, 4, 65, 5, 75, 13, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 1, 107, 14, 5, 5, 0, 2, 4, 1, 3, 11, 32, 1, 65, 220, 169, 192, 0, 71, 4, 64, 32, 1, 65, 220, 169, 192, 0, 65, 11, 16, 156, 2, 13, 5, 11, 32, 0, 65, 0, 59, 1, 0, 12, 9, 11, 32, 1, 65, 234, 169, 192, 0, 71, 4, 64, 32, 1, 65, 234, 169, 192, 0, 65, 14, 16, 156, 2, 13, 4, 11, 32, 0, 65, 128, 2, 59, 1, 0, 12, 8, 11, 32, 1, 65, 248, 169, 192, 0, 70, 13, 3, 32, 1, 65, 248, 169, 192, 0, 65, 12, 16, 156, 2, 69, 13, 3, 32, 1, 65, 179, 170, 192, 0, 71, 4, 64, 32, 1, 65, 179, 170, 192, 0, 65, 12, 16, 156, 2, 13, 3, 11, 32, 0, 65, 128, 12, 59, 1, 0, 12, 7, 11, 32, 1, 65, 132, 170, 192, 0, 70, 13, 3, 32, 1, 65, 132, 170, 192, 0, 65, 9, 16, 156, 2, 69, 13, 3, 32, 1, 65, 145, 170, 192, 0, 70, 13, 4, 32, 1, 65, 145, 170, 192, 0, 65, 9, 16, 156, 2, 69, 13, 4, 32, 1, 65, 191, 170, 192, 0, 71, 4, 64, 32, 1, 65, 191, 170, 192, 0, 65, 9, 16, 156, 2, 13, 2, 11, 32, 0, 65, 128, 14, 59, 1, 0, 12, 6, 11, 32, 1, 65, 160, 170, 192, 0, 70, 13, 4, 32, 1, 65, 160, 170, 192, 0, 65, 13, 16, 156, 2, 69, 13, 4, 11, 32, 2, 65, 8, 106, 32, 1, 32, 3, 65, 236, 172, 192, 0, 65, 8, 16, 88, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 12, 106, 32, 2, 65, 16, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 4, 106, 32, 2, 41, 3, 8, 55, 2, 0, 12, 4, 11, 32, 0, 65, 128, 4, 59, 1, 0, 12, 3, 11, 32, 0, 65, 128, 6, 59, 1, 0, 12, 2, 11, 32, 0, 65, 128, 8, 59, 1, 0, 12, 1, 11, 32, 0, 65, 128, 10, 59, 1, 0, 11, 32, 5, 69, 13, 2, 32, 1, 16, 204, 1, 12, 2, 11, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 32, 0, 65, 4, 106, 32, 1, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 11, 32, 2, 65, 32, 106, 36, 0, 11, 234, 2, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 135, 1, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 14, 54, 2, 0, 12, 2, 11, 32, 1, 16, 129, 1, 32, 2, 65, 8, 106, 32, 1, 16, 134, 1, 32, 2, 65, 20, 106, 40, 2, 0, 33, 3, 32, 2, 65, 16, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 12, 33, 1, 32, 2, 40, 2, 8, 65, 1, 71, 4, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 126, 106, 34, 4, 65, 1, 75, 13, 0, 32, 4, 65, 1, 107, 4, 64, 32, 1, 65, 157, 149, 192, 0, 71, 4, 64, 32, 1, 47, 0, 0, 65, 207, 214, 1, 71, 13, 2, 11, 32, 0, 65, 0, 59, 1, 0, 12, 3, 11, 32, 1, 65, 159, 149, 192, 0, 70, 13, 1, 32, 1, 65, 159, 149, 192, 0, 65, 3, 16, 156, 2, 69, 13, 1, 11, 32, 2, 65, 8, 106, 32, 1, 32, 3, 65, 164, 149, 192, 0, 65, 2, 16, 88, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 12, 106, 32, 2, 65, 16, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 4, 106, 32, 2, 41, 3, 8, 55, 2, 0, 12, 1, 11, 32, 0, 65, 128, 2, 59, 1, 0, 11, 32, 5, 69, 13, 2, 32, 1, 16, 204, 1, 12, 2, 11, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 32, 0, 65, 4, 106, 32, 1, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 11, 32, 2, 65, 32, 106, 36, 0, 11, 181, 3, 1, 4, 127, 35, 0, 65, 224, 0, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 135, 1, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 66, 129, 128, 128, 128, 224, 1, 55, 2, 0, 12, 4, 11, 32, 1, 16, 129, 1, 32, 2, 65, 16, 106, 32, 1, 16, 134, 1, 32, 2, 65, 28, 106, 40, 2, 0, 33, 3, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 20, 33, 1, 32, 2, 40, 2, 16, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 12, 32, 2, 32, 1, 54, 2, 8, 32, 2, 65, 16, 106, 32, 1, 32, 3, 16, 98, 32, 2, 40, 2, 16, 65, 1, 71, 13, 2, 32, 2, 65, 212, 0, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 68, 32, 2, 65, 228, 166, 192, 0, 54, 2, 64, 32, 2, 65, 24, 54, 2, 92, 32, 2, 32, 2, 65, 216, 0, 106, 54, 2, 80, 32, 2, 32, 2, 65, 8, 106, 54, 2, 88, 32, 2, 65, 48, 106, 32, 2, 65, 64, 107, 16, 212, 1, 32, 2, 65, 64, 107, 32, 2, 65, 48, 106, 16, 215, 1, 2, 64, 32, 2, 40, 2, 48, 34, 3, 69, 13, 0, 32, 2, 40, 2, 52, 69, 13, 0, 32, 3, 16, 204, 1, 11, 32, 0, 66, 129, 128, 128, 128, 192, 2, 55, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 2, 64, 55, 2, 0, 32, 0, 65, 16, 106, 32, 2, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 16, 106, 65, 4, 114, 16, 32, 12, 3, 11, 32, 2, 65, 32, 106, 40, 2, 0, 33, 5, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 5, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 3, 11, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 12, 2, 11, 32, 0, 32, 2, 41, 2, 20, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 28, 106, 40, 2, 0, 54, 2, 0, 11, 32, 4, 69, 13, 0, 32, 1, 16, 204, 1, 11, 32, 2, 65, 224, 0, 106, 36, 0, 11, 145, 40, 2, 18, 127, 8, 126, 35, 0, 65, 224, 0, 107, 34, 5, 36, 0, 2, 64, 2, 64, 2, 64, 2, 126, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 32, 2, 65, 255, 255, 255, 255, 3, 113, 70, 4, 64, 32, 2, 65, 2, 116, 34, 4, 65, 3, 110, 33, 3, 2, 64, 32, 4, 69, 4, 64, 65, 1, 33, 13, 65, 0, 33, 3, 12, 1, 11, 32, 3, 65, 1, 16, 73, 34, 13, 69, 13, 5, 11, 32, 5, 65, 0, 54, 2, 56, 32, 5, 32, 13, 54, 2, 48, 32, 5, 32, 3, 54, 2, 52, 32, 2, 16, 153, 1, 34, 12, 173, 66, 6, 126, 34, 21, 66, 32, 136, 167, 13, 3, 32, 5, 2, 127, 65, 0, 32, 21, 167, 34, 3, 69, 13, 0, 26, 32, 5, 65, 48, 106, 32, 3, 16, 6, 32, 5, 40, 2, 48, 34, 13, 32, 5, 40, 2, 56, 34, 4, 106, 32, 3, 65, 127, 106, 34, 6, 16, 155, 2, 32, 13, 32, 4, 32, 6, 106, 106, 65, 0, 58, 0, 0, 32, 3, 32, 4, 106, 11, 34, 15, 54, 2, 56, 65, 184, 201, 192, 0, 40, 2, 0, 33, 8, 2, 64, 32, 2, 65, 7, 113, 34, 7, 65, 5, 75, 13, 0, 2, 64, 2, 64, 2, 64, 2, 64, 32, 7, 65, 1, 107, 14, 5, 10, 1, 2, 3, 10, 0, 11, 65, 8, 33, 7, 12, 3, 11, 65, 10, 33, 7, 12, 2, 11, 65, 11, 33, 7, 12, 1, 11, 65, 12, 33, 7, 11, 2, 64, 65, 0, 32, 2, 32, 7, 107, 34, 3, 32, 3, 32, 2, 75, 27, 34, 7, 65, 96, 106, 34, 17, 32, 7, 75, 4, 64, 65, 0, 33, 6, 32, 12, 33, 3, 12, 1, 11, 3, 64, 32, 11, 65, 32, 106, 34, 6, 32, 11, 73, 13, 11, 32, 6, 32, 2, 75, 13, 4, 32, 10, 65, 26, 106, 34, 3, 32, 10, 73, 13, 10, 32, 3, 32, 15, 75, 13, 3, 2, 64, 2, 64, 32, 8, 32, 1, 32, 11, 106, 34, 3, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 21, 66, 255, 1, 81, 13, 0, 32, 8, 32, 3, 65, 1, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 4, 64, 32, 11, 65, 1, 106, 33, 11, 12, 1, 11, 32, 8, 32, 3, 65, 2, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 23, 66, 255, 1, 81, 4, 64, 32, 11, 65, 2, 106, 33, 11, 12, 1, 11, 32, 8, 32, 3, 65, 3, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 24, 66, 255, 1, 81, 4, 64, 32, 11, 65, 3, 106, 33, 11, 12, 1, 11, 32, 8, 32, 3, 65, 4, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 25, 66, 255, 1, 81, 4, 64, 32, 11, 65, 4, 106, 33, 11, 12, 1, 11, 32, 8, 32, 3, 65, 5, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 26, 66, 255, 1, 81, 4, 64, 32, 11, 65, 5, 106, 33, 11, 12, 1, 11, 32, 8, 32, 3, 65, 6, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 27, 66, 255, 1, 81, 4, 64, 32, 11, 65, 6, 106, 33, 11, 12, 1, 11, 32, 8, 32, 3, 65, 7, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 28, 66, 255, 1, 82, 13, 1, 32, 11, 65, 7, 106, 33, 11, 11, 32, 4, 173, 66, 8, 134, 32, 11, 173, 66, 32, 134, 132, 12, 15, 11, 32, 10, 32, 13, 106, 34, 14, 32, 22, 66, 52, 134, 32, 21, 66, 58, 134, 132, 32, 23, 66, 46, 134, 132, 32, 24, 66, 40, 134, 132, 32, 25, 66, 34, 134, 132, 32, 26, 66, 28, 134, 132, 32, 27, 66, 22, 134, 132, 32, 28, 66, 16, 134, 132, 34, 21, 66, 56, 134, 32, 21, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 32, 21, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 21, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 21, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 21, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 21, 66, 40, 136, 66, 128, 254, 3, 131, 32, 21, 66, 56, 136, 132, 132, 132, 55, 0, 0, 65, 8, 33, 4, 2, 64, 2, 64, 32, 8, 32, 3, 65, 8, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 21, 66, 255, 1, 81, 13, 0, 65, 9, 33, 4, 32, 8, 32, 3, 65, 9, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 13, 0, 65, 10, 33, 4, 32, 8, 32, 3, 65, 10, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 23, 66, 255, 1, 81, 13, 0, 65, 11, 33, 4, 32, 8, 32, 3, 65, 11, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 24, 66, 255, 1, 81, 13, 0, 65, 12, 33, 4, 32, 8, 32, 3, 65, 12, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 25, 66, 255, 1, 81, 13, 0, 65, 13, 33, 4, 32, 8, 32, 3, 65, 13, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 26, 66, 255, 1, 81, 13, 0, 65, 14, 33, 4, 32, 8, 32, 3, 65, 14, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 27, 66, 255, 1, 81, 13, 0, 65, 15, 33, 4, 32, 8, 32, 3, 65, 15, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 28, 66, 255, 1, 82, 13, 1, 11, 32, 9, 173, 66, 8, 134, 32, 4, 32, 11, 106, 173, 66, 32, 134, 132, 12, 15, 11, 32, 14, 65, 6, 106, 32, 22, 66, 52, 134, 32, 21, 66, 58, 134, 132, 32, 23, 66, 46, 134, 132, 32, 24, 66, 40, 134, 132, 32, 25, 66, 34, 134, 132, 32, 26, 66, 28, 134, 132, 32, 27, 66, 22, 134, 132, 32, 28, 66, 16, 134, 132, 34, 21, 66, 56, 134, 32, 21, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 32, 21, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 21, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 21, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 21, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 21, 66, 40, 136, 66, 128, 254, 3, 131, 32, 21, 66, 56, 136, 132, 132, 132, 55, 0, 0, 65, 16, 33, 9, 2, 64, 2, 64, 32, 8, 32, 3, 65, 16, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 21, 66, 255, 1, 81, 13, 0, 65, 17, 33, 9, 32, 8, 32, 3, 65, 17, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 13, 0, 65, 18, 33, 9, 32, 8, 32, 3, 65, 18, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 23, 66, 255, 1, 81, 13, 0, 65, 19, 33, 9, 32, 8, 32, 3, 65, 19, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 24, 66, 255, 1, 81, 13, 0, 65, 20, 33, 9, 32, 8, 32, 3, 65, 20, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 25, 66, 255, 1, 81, 13, 0, 65, 21, 33, 9, 32, 8, 32, 3, 65, 21, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 26, 66, 255, 1, 81, 13, 0, 65, 22, 33, 9, 32, 8, 32, 3, 65, 22, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 27, 66, 255, 1, 81, 13, 0, 65, 23, 33, 9, 32, 8, 32, 3, 65, 23, 106, 45, 0, 0, 34, 4, 106, 49, 0, 0, 34, 28, 66, 255, 1, 82, 13, 1, 11, 32, 4, 173, 66, 8, 134, 32, 9, 32, 11, 106, 173, 66, 32, 134, 132, 12, 15, 11, 32, 14, 65, 12, 106, 32, 22, 66, 52, 134, 32, 21, 66, 58, 134, 132, 32, 23, 66, 46, 134, 132, 32, 24, 66, 40, 134, 132, 32, 25, 66, 34, 134, 132, 32, 26, 66, 28, 134, 132, 32, 27, 66, 22, 134, 132, 32, 28, 66, 16, 134, 132, 34, 21, 66, 56, 134, 32, 21, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 32, 21, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 21, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 21, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 21, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 21, 66, 40, 136, 66, 128, 254, 3, 131, 32, 21, 66, 56, 136, 132, 132, 132, 55, 0, 0, 65, 24, 33, 4, 32, 8, 32, 3, 65, 24, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 21, 66, 255, 1, 81, 13, 8, 65, 25, 33, 4, 32, 8, 32, 3, 65, 25, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 13, 8, 65, 26, 33, 4, 32, 8, 32, 3, 65, 26, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 23, 66, 255, 1, 81, 13, 8, 65, 27, 33, 4, 32, 8, 32, 3, 65, 27, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 24, 66, 255, 1, 81, 13, 8, 65, 28, 33, 4, 32, 8, 32, 3, 65, 28, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 25, 66, 255, 1, 81, 13, 8, 65, 29, 33, 4, 32, 8, 32, 3, 65, 29, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 26, 66, 255, 1, 81, 13, 8, 65, 30, 33, 4, 32, 8, 32, 3, 65, 30, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 27, 66, 255, 1, 81, 13, 8, 65, 31, 33, 4, 32, 8, 32, 3, 65, 31, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 28, 66, 255, 1, 81, 13, 8, 32, 14, 65, 18, 106, 32, 22, 66, 52, 134, 32, 21, 66, 58, 134, 132, 32, 23, 66, 46, 134, 132, 32, 24, 66, 40, 134, 132, 32, 25, 66, 34, 134, 132, 32, 26, 66, 28, 134, 132, 32, 27, 66, 22, 134, 132, 32, 28, 66, 16, 134, 132, 34, 21, 66, 56, 134, 32, 21, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 32, 21, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 21, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 21, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 21, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 21, 66, 40, 136, 66, 128, 254, 3, 131, 32, 21, 66, 56, 136, 132, 132, 132, 55, 0, 0, 32, 12, 65, 124, 106, 34, 3, 32, 12, 75, 13, 9, 32, 10, 65, 24, 106, 33, 10, 32, 3, 33, 12, 32, 6, 34, 11, 32, 17, 77, 13, 0, 11, 11, 32, 6, 32, 7, 65, 120, 106, 34, 11, 79, 32, 11, 32, 7, 75, 114, 13, 10, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 6, 65, 8, 106, 34, 7, 32, 6, 79, 4, 64, 32, 7, 32, 2, 75, 13, 4, 32, 10, 65, 6, 106, 34, 4, 32, 10, 73, 13, 1, 32, 4, 65, 2, 106, 34, 12, 32, 4, 73, 13, 2, 32, 12, 32, 10, 73, 13, 5, 32, 12, 32, 15, 75, 13, 6, 2, 64, 32, 8, 32, 1, 32, 6, 106, 34, 12, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 21, 66, 255, 1, 81, 13, 0, 32, 8, 32, 12, 65, 1, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 4, 64, 32, 6, 65, 1, 106, 33, 6, 12, 1, 11, 32, 8, 32, 12, 65, 2, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 23, 66, 255, 1, 81, 4, 64, 32, 6, 65, 2, 106, 33, 6, 12, 1, 11, 32, 8, 32, 12, 65, 3, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 24, 66, 255, 1, 81, 4, 64, 32, 6, 65, 3, 106, 33, 6, 12, 1, 11, 32, 8, 32, 12, 65, 4, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 25, 66, 255, 1, 81, 4, 64, 32, 6, 65, 4, 106, 33, 6, 12, 1, 11, 32, 8, 32, 12, 65, 5, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 26, 66, 255, 1, 81, 4, 64, 32, 6, 65, 5, 106, 33, 6, 12, 1, 11, 32, 8, 32, 12, 65, 6, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 27, 66, 255, 1, 81, 4, 64, 32, 6, 65, 6, 106, 33, 6, 12, 1, 11, 32, 8, 32, 12, 65, 7, 106, 45, 0, 0, 34, 9, 106, 49, 0, 0, 34, 28, 66, 255, 1, 82, 13, 4, 32, 6, 65, 7, 106, 33, 6, 11, 32, 6, 173, 66, 32, 134, 32, 9, 173, 66, 8, 134, 132, 12, 21, 11, 65, 240, 153, 192, 0, 65, 28, 65, 180, 160, 192, 0, 16, 219, 1, 0, 11, 65, 240, 153, 192, 0, 65, 28, 65, 212, 160, 192, 0, 16, 219, 1, 0, 11, 65, 240, 153, 192, 0, 65, 28, 65, 228, 160, 192, 0, 16, 219, 1, 0, 11, 32, 10, 32, 13, 106, 32, 22, 66, 52, 134, 32, 21, 66, 58, 134, 132, 32, 23, 66, 46, 134, 132, 32, 24, 66, 40, 134, 132, 32, 25, 66, 34, 134, 132, 32, 26, 66, 28, 134, 132, 32, 27, 66, 22, 134, 132, 32, 28, 66, 16, 134, 132, 34, 21, 66, 56, 134, 32, 21, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 32, 21, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 21, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 21, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 21, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 21, 66, 40, 136, 66, 128, 254, 3, 131, 32, 21, 66, 56, 136, 132, 132, 132, 55, 0, 0, 32, 3, 65, 127, 106, 34, 12, 32, 3, 77, 13, 3, 65, 144, 160, 192, 0, 65, 33, 65, 132, 161, 192, 0, 16, 219, 1, 0, 11, 32, 7, 32, 2, 65, 196, 160, 192, 0, 16, 220, 1, 0, 11, 32, 10, 32, 12, 65, 244, 160, 192, 0, 16, 221, 1, 0, 11, 32, 12, 32, 15, 65, 244, 160, 192, 0, 16, 220, 1, 0, 11, 32, 4, 33, 10, 32, 7, 33, 6, 32, 12, 33, 3, 32, 7, 32, 11, 73, 13, 0, 11, 12, 11, 11, 65, 144, 159, 192, 0, 65, 33, 65, 128, 159, 192, 0, 16, 219, 1, 0, 11, 32, 3, 32, 15, 65, 228, 159, 192, 0, 16, 220, 1, 0, 11, 32, 6, 32, 2, 65, 196, 159, 192, 0, 16, 220, 1, 0, 11, 65, 132, 164, 192, 0, 65, 46, 65, 180, 164, 192, 0, 16, 233, 1, 0, 11, 32, 3, 16, 29, 0, 11, 66, 1, 33, 21, 32, 5, 40, 2, 52, 33, 3, 12, 7, 11, 32, 4, 32, 11, 106, 173, 66, 32, 134, 32, 9, 173, 66, 8, 134, 132, 12, 5, 11, 65, 144, 160, 192, 0, 65, 33, 65, 244, 159, 192, 0, 16, 219, 1, 0, 11, 65, 240, 153, 192, 0, 65, 28, 65, 212, 159, 192, 0, 16, 219, 1, 0, 11, 65, 240, 153, 192, 0, 65, 28, 65, 180, 159, 192, 0, 16, 219, 1, 0, 11, 32, 10, 33, 4, 32, 6, 33, 7, 32, 3, 33, 12, 11, 65, 0, 33, 3, 65, 0, 32, 7, 107, 33, 11, 2, 64, 2, 64, 2, 64, 3, 64, 32, 3, 65, 1, 106, 34, 3, 32, 12, 79, 4, 64, 32, 7, 32, 2, 77, 4, 64, 65, 0, 33, 11, 65, 0, 33, 14, 66, 0, 33, 22, 65, 0, 33, 10, 2, 64, 32, 2, 32, 7, 70, 13, 0, 32, 1, 32, 2, 106, 33, 18, 32, 1, 32, 7, 106, 33, 1, 65, 0, 33, 6, 65, 0, 33, 9, 65, 0, 33, 3, 65, 0, 33, 12, 3, 64, 32, 18, 32, 1, 107, 33, 19, 65, 0, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 32, 2, 32, 12, 106, 34, 16, 65, 1, 106, 34, 17, 32, 16, 73, 13, 8, 32, 2, 32, 3, 106, 33, 10, 32, 1, 32, 2, 106, 34, 20, 45, 0, 0, 34, 11, 65, 61, 71, 4, 64, 32, 10, 65, 0, 76, 13, 3, 32, 7, 32, 9, 106, 34, 1, 32, 7, 73, 13, 6, 32, 1, 173, 66, 32, 134, 66, 128, 250, 0, 132, 12, 20, 11, 32, 16, 65, 2, 113, 69, 13, 1, 32, 10, 65, 1, 106, 32, 10, 72, 13, 4, 32, 9, 32, 16, 32, 10, 27, 33, 9, 32, 19, 32, 2, 65, 1, 106, 34, 2, 71, 13, 0, 11, 32, 6, 33, 11, 12, 9, 11, 32, 7, 32, 9, 32, 16, 32, 2, 32, 3, 106, 65, 0, 74, 27, 106, 34, 1, 32, 7, 73, 13, 1, 32, 1, 173, 66, 32, 134, 66, 128, 250, 0, 132, 12, 17, 11, 32, 14, 65, 10, 70, 13, 3, 32, 8, 32, 11, 106, 49, 0, 0, 34, 21, 66, 255, 1, 82, 13, 6, 32, 7, 32, 16, 106, 34, 1, 32, 7, 73, 13, 4, 32, 11, 173, 66, 8, 134, 32, 1, 173, 66, 32, 134, 132, 12, 16, 11, 65, 240, 153, 192, 0, 65, 28, 65, 228, 161, 192, 0, 16, 219, 1, 0, 11, 65, 240, 153, 192, 0, 65, 28, 65, 244, 161, 192, 0, 16, 219, 1, 0, 11, 65, 240, 153, 192, 0, 65, 28, 65, 132, 162, 192, 0, 16, 219, 1, 0, 11, 65, 144, 160, 192, 0, 65, 33, 65, 148, 162, 192, 0, 16, 219, 1, 0, 11, 65, 240, 153, 192, 0, 65, 28, 65, 164, 162, 192, 0, 16, 219, 1, 0, 11, 65, 240, 153, 192, 0, 65, 28, 65, 212, 153, 192, 0, 16, 219, 1, 0, 11, 32, 1, 65, 127, 115, 32, 20, 65, 1, 106, 33, 1, 32, 21, 32, 14, 65, 1, 106, 34, 14, 65, 122, 108, 65, 62, 113, 173, 134, 32, 22, 132, 33, 22, 32, 11, 33, 6, 32, 10, 33, 3, 32, 17, 33, 12, 32, 18, 106, 32, 2, 71, 13, 1, 11, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 14, 65, 8, 75, 13, 0, 32, 14, 34, 10, 65, 1, 107, 14, 8, 0, 1, 2, 3, 0, 4, 5, 6, 7, 11, 32, 5, 65, 220, 0, 106, 65, 1, 54, 2, 0, 32, 5, 66, 1, 55, 2, 76, 32, 5, 65, 184, 154, 192, 0, 54, 2, 72, 32, 5, 65, 24, 54, 2, 36, 32, 5, 65, 136, 163, 192, 0, 54, 2, 32, 32, 5, 32, 5, 65, 32, 106, 54, 2, 88, 32, 5, 65, 200, 0, 106, 65, 212, 163, 192, 0, 16, 182, 1, 0, 11, 65, 8, 33, 10, 12, 5, 11, 65, 16, 33, 10, 12, 4, 11, 65, 24, 33, 10, 12, 3, 11, 65, 32, 33, 10, 12, 2, 11, 65, 40, 33, 10, 12, 1, 11, 65, 48, 33, 10, 11, 2, 64, 2, 64, 2, 64, 32, 22, 32, 10, 173, 34, 24, 134, 80, 4, 64, 32, 10, 4, 64, 66, 0, 33, 23, 66, 56, 33, 21, 3, 64, 32, 4, 32, 15, 79, 13, 3, 32, 4, 32, 13, 106, 32, 22, 32, 21, 136, 60, 0, 0, 32, 21, 66, 120, 124, 33, 21, 32, 4, 65, 1, 106, 33, 4, 32, 23, 66, 8, 124, 34, 23, 32, 24, 84, 13, 0, 11, 11, 32, 15, 32, 4, 79, 13, 2, 32, 5, 40, 2, 56, 33, 4, 12, 3, 11, 2, 64, 32, 7, 32, 14, 106, 34, 1, 32, 7, 79, 4, 64, 32, 1, 65, 127, 106, 34, 2, 32, 1, 75, 13, 1, 32, 11, 173, 66, 255, 1, 131, 66, 8, 134, 32, 2, 173, 66, 32, 134, 132, 66, 2, 132, 12, 11, 11, 65, 240, 153, 192, 0, 65, 28, 65, 228, 163, 192, 0, 16, 219, 1, 0, 11, 65, 144, 160, 192, 0, 65, 33, 65, 228, 163, 192, 0, 16, 219, 1, 0, 11, 32, 4, 32, 15, 65, 244, 163, 192, 0, 16, 218, 1, 0, 11, 32, 5, 32, 4, 54, 2, 56, 11, 32, 5, 40, 2, 52, 33, 3, 32, 5, 40, 2, 48, 33, 13, 12, 8, 11, 32, 7, 32, 2, 65, 212, 161, 192, 0, 16, 221, 1, 0, 11, 32, 7, 32, 2, 75, 13, 1, 2, 64, 32, 4, 65, 6, 106, 34, 6, 32, 4, 79, 4, 64, 32, 6, 32, 15, 75, 13, 4, 2, 64, 32, 2, 32, 7, 71, 4, 64, 32, 8, 32, 1, 32, 7, 106, 34, 14, 45, 0, 0, 34, 10, 106, 49, 0, 0, 34, 21, 66, 255, 1, 81, 4, 64, 32, 7, 33, 3, 12, 8, 11, 32, 2, 32, 11, 106, 34, 6, 65, 2, 73, 13, 1, 2, 64, 32, 8, 32, 14, 65, 1, 106, 45, 0, 0, 34, 10, 106, 49, 0, 0, 34, 22, 66, 255, 1, 82, 4, 64, 32, 6, 65, 2, 75, 13, 1, 65, 2, 32, 6, 65, 192, 157, 192, 0, 16, 218, 1, 0, 11, 32, 7, 65, 1, 106, 34, 3, 32, 7, 79, 13, 8, 65, 240, 153, 192, 0, 65, 28, 65, 176, 157, 192, 0, 16, 219, 1, 0, 11, 2, 64, 32, 8, 32, 14, 65, 2, 106, 45, 0, 0, 34, 10, 106, 49, 0, 0, 34, 23, 66, 255, 1, 82, 4, 64, 32, 6, 65, 3, 75, 13, 1, 65, 3, 32, 6, 65, 224, 157, 192, 0, 16, 218, 1, 0, 11, 32, 7, 65, 2, 106, 34, 3, 32, 7, 79, 13, 8, 65, 240, 153, 192, 0, 65, 28, 65, 208, 157, 192, 0, 16, 219, 1, 0, 11, 2, 64, 32, 8, 32, 14, 65, 3, 106, 45, 0, 0, 34, 10, 106, 49, 0, 0, 34, 24, 66, 255, 1, 82, 4, 64, 32, 6, 65, 4, 75, 13, 1, 65, 4, 32, 6, 65, 128, 158, 192, 0, 16, 218, 1, 0, 11, 32, 7, 65, 3, 106, 34, 3, 32, 7, 79, 13, 8, 65, 240, 153, 192, 0, 65, 28, 65, 240, 157, 192, 0, 16, 219, 1, 0, 11, 2, 64, 32, 8, 32, 14, 65, 4, 106, 45, 0, 0, 34, 10, 106, 49, 0, 0, 34, 25, 66, 255, 1, 82, 4, 64, 32, 6, 65, 5, 75, 13, 1, 65, 5, 32, 6, 65, 160, 158, 192, 0, 16, 218, 1, 0, 11, 32, 7, 65, 4, 106, 34, 3, 32, 7, 79, 13, 8, 65, 240, 153, 192, 0, 65, 28, 65, 144, 158, 192, 0, 16, 219, 1, 0, 11, 2, 64, 32, 8, 32, 14, 65, 5, 106, 45, 0, 0, 34, 10, 106, 49, 0, 0, 34, 26, 66, 255, 1, 82, 4, 64, 32, 6, 65, 6, 75, 13, 1, 65, 6, 32, 6, 65, 192, 158, 192, 0, 16, 218, 1, 0, 11, 32, 7, 65, 5, 106, 34, 3, 32, 7, 79, 13, 8, 65, 240, 153, 192, 0, 65, 28, 65, 176, 158, 192, 0, 16, 219, 1, 0, 11, 2, 64, 32, 8, 32, 14, 65, 6, 106, 45, 0, 0, 34, 10, 106, 49, 0, 0, 34, 27, 66, 255, 1, 82, 4, 64, 32, 6, 65, 7, 75, 13, 1, 65, 7, 32, 6, 65, 224, 158, 192, 0, 16, 218, 1, 0, 11, 32, 7, 65, 6, 106, 34, 3, 32, 7, 79, 13, 8, 65, 240, 153, 192, 0, 65, 28, 65, 208, 158, 192, 0, 16, 219, 1, 0, 11, 32, 8, 32, 14, 65, 7, 106, 45, 0, 0, 34, 10, 106, 49, 0, 0, 34, 28, 66, 255, 1, 82, 13, 3, 32, 7, 65, 7, 106, 34, 3, 32, 7, 79, 13, 7, 65, 240, 153, 192, 0, 65, 28, 65, 240, 158, 192, 0, 16, 219, 1, 0, 11, 65, 0, 65, 0, 65, 144, 157, 192, 0, 16, 218, 1, 0, 11, 65, 1, 32, 6, 65, 160, 157, 192, 0, 16, 218, 1, 0, 11, 65, 240, 153, 192, 0, 65, 28, 65, 164, 161, 192, 0, 16, 219, 1, 0, 11, 32, 11, 65, 120, 106, 33, 11, 32, 4, 32, 13, 106, 34, 6, 65, 4, 106, 32, 22, 66, 52, 134, 32, 21, 66, 58, 134, 132, 32, 23, 66, 46, 134, 132, 32, 24, 66, 40, 134, 132, 32, 25, 66, 34, 134, 132, 32, 26, 66, 28, 134, 132, 32, 27, 66, 22, 134, 132, 32, 28, 66, 16, 134, 132, 34, 21, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 21, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 66, 32, 136, 61, 0, 0, 32, 6, 32, 21, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 21, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 21, 66, 40, 136, 66, 128, 254, 3, 131, 32, 21, 66, 56, 136, 132, 132, 62, 0, 0, 32, 7, 65, 8, 106, 32, 7, 73, 32, 7, 65, 8, 106, 33, 7, 32, 4, 65, 6, 106, 33, 4, 69, 13, 0, 11, 65, 240, 153, 192, 0, 65, 28, 65, 196, 161, 192, 0, 16, 219, 1, 0, 11, 32, 7, 32, 2, 65, 148, 161, 192, 0, 16, 221, 1, 0, 11, 32, 6, 32, 15, 65, 180, 161, 192, 0, 16, 220, 1, 0, 11, 32, 3, 173, 66, 32, 134, 32, 10, 173, 66, 8, 134, 132, 11, 33, 21, 32, 5, 40, 2, 52, 33, 3, 32, 5, 40, 2, 48, 33, 13, 32, 21, 167, 65, 255, 1, 113, 65, 3, 71, 13, 0, 32, 5, 40, 2, 56, 33, 4, 12, 1, 11, 32, 3, 69, 32, 13, 69, 114, 69, 4, 64, 32, 13, 16, 204, 1, 11, 32, 5, 32, 21, 66, 32, 136, 62, 2, 44, 32, 5, 32, 21, 167, 34, 6, 54, 2, 40, 32, 5, 65, 0, 54, 2, 56, 32, 5, 66, 1, 55, 3, 48, 32, 5, 32, 5, 65, 40, 106, 54, 2, 64, 32, 5, 65, 26, 54, 2, 36, 32, 5, 32, 5, 65, 64, 107, 54, 2, 32, 32, 5, 32, 5, 65, 48, 106, 54, 2, 68, 32, 5, 65, 220, 0, 106, 65, 1, 54, 2, 0, 32, 5, 66, 1, 55, 2, 76, 32, 5, 65, 200, 149, 192, 0, 54, 2, 72, 32, 5, 32, 5, 65, 32, 106, 54, 2, 88, 32, 5, 65, 196, 0, 106, 65, 136, 152, 192, 0, 32, 5, 65, 200, 0, 106, 16, 227, 1, 69, 4, 64, 2, 64, 2, 64, 32, 5, 40, 2, 52, 34, 1, 32, 5, 40, 2, 56, 34, 3, 70, 4, 64, 32, 1, 34, 4, 33, 3, 12, 1, 11, 2, 64, 32, 1, 32, 3, 79, 4, 64, 32, 1, 69, 4, 64, 32, 3, 33, 4, 65, 0, 33, 3, 12, 3, 11, 32, 5, 40, 2, 48, 34, 2, 13, 1, 32, 3, 33, 4, 32, 1, 33, 3, 12, 2, 11, 65, 208, 154, 192, 0, 65, 36, 65, 192, 154, 192, 0, 16, 219, 1, 0, 11, 2, 64, 32, 3, 69, 4, 64, 65, 1, 33, 13, 32, 2, 16, 204, 1, 12, 1, 11, 32, 2, 32, 1, 65, 1, 32, 3, 16, 74, 34, 13, 69, 13, 2, 11, 32, 5, 32, 3, 54, 2, 52, 32, 5, 32, 13, 54, 2, 48, 32, 5, 40, 2, 56, 33, 4, 11, 32, 5, 40, 2, 48, 33, 1, 16, 157, 1, 33, 2, 32, 5, 65, 8, 106, 32, 5, 65, 208, 0, 106, 40, 2, 0, 34, 12, 54, 2, 0, 32, 5, 32, 5, 41, 2, 72, 34, 21, 55, 3, 0, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 1, 54, 2, 0, 32, 0, 65, 6, 106, 32, 6, 65, 16, 118, 59, 1, 0, 32, 0, 32, 2, 58, 0, 5, 32, 0, 65, 1, 58, 0, 4, 32, 0, 65, 20, 106, 32, 21, 55, 2, 0, 32, 0, 65, 28, 106, 32, 12, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 12, 3, 11, 32, 3, 65, 1, 16, 211, 1, 0, 11, 65, 208, 149, 192, 0, 65, 55, 32, 5, 65, 200, 0, 106, 65, 252, 152, 192, 0, 65, 208, 150, 192, 0, 16, 235, 1, 0, 11, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 32, 0, 65, 6, 106, 32, 13, 65, 16, 118, 59, 1, 0, 32, 0, 32, 13, 65, 8, 118, 58, 0, 5, 32, 0, 32, 13, 58, 0, 4, 32, 0, 65, 0, 54, 2, 0, 11, 32, 5, 65, 224, 0, 106, 36, 0, 11, 29, 0, 32, 1, 40, 2, 0, 69, 4, 64, 0, 11, 32, 0, 65, 196, 166, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 85, 1, 2, 127, 32, 1, 40, 2, 0, 33, 2, 32, 1, 65, 0, 54, 2, 0, 2, 64, 32, 2, 4, 64, 32, 1, 40, 2, 4, 33, 3, 65, 8, 65, 4, 16, 73, 34, 1, 69, 13, 1, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 0, 65, 196, 166, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 15, 11, 0, 11, 65, 8, 65, 4, 16, 211, 1, 0, 11, 172, 2, 1, 6, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 1, 40, 2, 0, 33, 7, 32, 2, 65, 16, 106, 32, 1, 40, 2, 8, 34, 4, 16, 151, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 16, 4, 64, 32, 2, 40, 2, 20, 34, 1, 65, 127, 76, 13, 1, 2, 64, 32, 1, 69, 4, 64, 65, 1, 33, 3, 12, 1, 11, 32, 1, 33, 5, 32, 1, 16, 192, 1, 34, 3, 69, 13, 3, 11, 32, 2, 65, 8, 106, 32, 4, 16, 151, 1, 32, 2, 40, 2, 8, 69, 13, 3, 32, 2, 40, 2, 12, 34, 6, 32, 1, 75, 13, 4, 32, 7, 32, 4, 32, 3, 32, 6, 16, 150, 1, 32, 2, 65, 24, 106, 32, 3, 32, 1, 16, 140, 2, 32, 2, 40, 2, 24, 65, 1, 70, 13, 5, 32, 0, 32, 1, 54, 2, 8, 32, 0, 32, 5, 54, 2, 4, 32, 0, 32, 3, 54, 2, 0, 32, 2, 65, 48, 106, 36, 0, 15, 11, 65, 184, 165, 192, 0, 65, 45, 65, 232, 165, 192, 0, 16, 75, 0, 11, 16, 28, 0, 11, 32, 1, 16, 29, 0, 11, 65, 248, 165, 192, 0, 65, 43, 65, 164, 166, 192, 0, 16, 233, 1, 0, 11, 32, 6, 32, 1, 65, 180, 166, 192, 0, 16, 220, 1, 0, 11, 32, 2, 32, 2, 41, 2, 28, 55, 2, 36, 32, 2, 32, 1, 54, 2, 32, 32, 2, 32, 5, 54, 2, 28, 32, 2, 32, 3, 54, 2, 24, 65, 153, 165, 192, 0, 65, 12, 32, 2, 65, 24, 106, 65, 236, 152, 192, 0, 65, 168, 165, 192, 0, 16, 235, 1, 0, 11, 28, 0, 32, 0, 32, 1, 41, 2, 0, 55, 2, 0, 32, 0, 65, 8, 106, 32, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 11, 188, 4, 1, 1, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 65, 1, 107, 14, 4, 2, 3, 4, 0, 1, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 8, 32, 2, 65, 60, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 44, 32, 2, 65, 132, 167, 192, 0, 54, 2, 40, 32, 2, 65, 23, 54, 2, 28, 32, 2, 32, 2, 65, 24, 106, 54, 2, 56, 32, 2, 32, 2, 65, 8, 106, 54, 2, 24, 32, 1, 32, 2, 65, 40, 106, 16, 253, 1, 33, 0, 12, 4, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 4, 32, 2, 65, 24, 106, 32, 0, 65, 16, 106, 40, 2, 0, 32, 0, 65, 24, 106, 40, 2, 0, 16, 214, 1, 32, 2, 65, 20, 106, 65, 27, 54, 2, 0, 32, 2, 65, 60, 106, 65, 2, 54, 2, 0, 32, 2, 65, 23, 54, 2, 12, 32, 2, 66, 2, 55, 2, 44, 32, 2, 65, 136, 168, 192, 0, 54, 2, 40, 32, 2, 32, 2, 65, 24, 106, 54, 2, 16, 32, 2, 32, 2, 65, 4, 106, 54, 2, 8, 32, 2, 32, 2, 65, 8, 106, 54, 2, 56, 32, 1, 32, 2, 65, 40, 106, 16, 253, 1, 33, 0, 32, 2, 40, 2, 24, 69, 13, 3, 32, 2, 40, 2, 28, 34, 1, 69, 13, 3, 32, 2, 65, 32, 106, 40, 2, 0, 69, 13, 3, 32, 1, 16, 204, 1, 12, 3, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 4, 32, 2, 65, 24, 106, 32, 0, 65, 16, 106, 40, 2, 0, 32, 0, 65, 24, 106, 40, 2, 0, 16, 214, 1, 32, 2, 65, 20, 106, 65, 27, 54, 2, 0, 32, 2, 65, 60, 106, 65, 2, 54, 2, 0, 32, 2, 65, 23, 54, 2, 12, 32, 2, 66, 2, 55, 2, 44, 32, 2, 65, 224, 167, 192, 0, 54, 2, 40, 32, 2, 32, 2, 65, 24, 106, 54, 2, 16, 32, 2, 32, 2, 65, 4, 106, 54, 2, 8, 32, 2, 32, 2, 65, 8, 106, 54, 2, 56, 32, 1, 32, 2, 65, 40, 106, 16, 253, 1, 33, 0, 32, 2, 40, 2, 24, 69, 13, 2, 32, 2, 40, 2, 28, 34, 1, 69, 13, 2, 32, 2, 65, 32, 106, 40, 2, 0, 69, 13, 2, 32, 1, 16, 204, 1, 12, 2, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 8, 32, 2, 65, 60, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 44, 32, 2, 65, 188, 167, 192, 0, 54, 2, 40, 32, 2, 65, 28, 54, 2, 28, 32, 2, 32, 2, 65, 24, 106, 54, 2, 56, 32, 2, 32, 2, 65, 8, 106, 54, 2, 24, 32, 1, 32, 2, 65, 40, 106, 16, 253, 1, 33, 0, 12, 1, 11, 32, 2, 65, 60, 106, 65, 0, 54, 2, 0, 32, 2, 65, 200, 149, 192, 0, 54, 2, 56, 32, 2, 66, 1, 55, 2, 44, 32, 2, 65, 160, 167, 192, 0, 54, 2, 40, 32, 1, 32, 2, 65, 40, 106, 16, 253, 1, 33, 0, 11, 32, 2, 65, 64, 107, 36, 0, 32, 0, 11, 78, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 65, 20, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 4, 32, 2, 65, 200, 149, 192, 0, 54, 2, 0, 32, 2, 65, 29, 54, 2, 28, 32, 2, 32, 0, 54, 2, 24, 32, 2, 32, 2, 65, 24, 106, 54, 2, 16, 32, 1, 32, 2, 16, 253, 1, 32, 2, 65, 32, 106, 36, 0, 11, 237, 75, 2, 13, 127, 3, 126, 35, 0, 65, 224, 4, 107, 34, 3, 36, 0, 32, 3, 65, 128, 3, 106, 32, 1, 32, 2, 16, 128, 1, 32, 3, 65, 248, 2, 106, 32, 3, 65, 128, 3, 106, 16, 135, 1, 65, 1, 33, 9, 65, 0, 33, 2, 2, 64, 32, 3, 45, 0, 248, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 1, 11, 2, 64, 32, 3, 45, 0, 249, 2, 34, 1, 65, 251, 0, 71, 4, 64, 32, 1, 65, 34, 71, 4, 64, 65, 10, 33, 4, 12, 3, 11, 32, 3, 65, 168, 4, 106, 32, 3, 65, 128, 3, 106, 16, 96, 32, 3, 45, 0, 168, 4, 65, 1, 71, 4, 64, 65, 14, 33, 4, 12, 3, 11, 32, 3, 47, 0, 173, 4, 32, 3, 45, 0, 175, 4, 65, 16, 116, 114, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 1, 32, 3, 45, 0, 172, 4, 33, 4, 32, 3, 32, 3, 65, 180, 4, 106, 41, 2, 0, 55, 3, 168, 4, 12, 1, 11, 32, 3, 65, 128, 3, 106, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 3, 65, 128, 3, 106, 34, 2, 16, 96, 32, 3, 65, 180, 4, 106, 33, 1, 32, 3, 65, 176, 4, 106, 33, 6, 2, 64, 2, 127, 32, 3, 45, 0, 168, 4, 65, 1, 70, 4, 64, 32, 3, 65, 184, 4, 106, 40, 2, 0, 33, 2, 32, 1, 40, 2, 0, 33, 10, 32, 3, 40, 2, 172, 4, 33, 4, 32, 6, 40, 2, 0, 12, 1, 11, 32, 3, 45, 0, 169, 4, 33, 10, 32, 3, 65, 168, 4, 106, 32, 2, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 70, 13, 1, 32, 1, 40, 2, 0, 33, 2, 32, 6, 40, 2, 0, 33, 10, 32, 3, 40, 2, 172, 4, 11, 33, 1, 32, 3, 32, 2, 54, 2, 172, 4, 32, 3, 32, 10, 54, 2, 168, 4, 32, 4, 65, 8, 118, 33, 2, 12, 1, 11, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 10, 65, 255, 1, 113, 65, 1, 70, 4, 64, 32, 3, 65, 200, 2, 106, 32, 2, 16, 135, 1, 65, 0, 33, 9, 32, 3, 45, 0, 200, 2, 65, 1, 113, 69, 13, 34, 32, 3, 45, 0, 201, 2, 34, 1, 65, 251, 0, 71, 4, 64, 32, 1, 65, 34, 71, 4, 64, 65, 10, 33, 4, 12, 37, 11, 32, 3, 65, 168, 4, 106, 32, 2, 16, 94, 32, 3, 45, 0, 168, 4, 65, 1, 70, 13, 2, 65, 14, 33, 4, 12, 36, 11, 32, 2, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 2, 34, 13, 16, 94, 32, 3, 65, 180, 4, 106, 33, 1, 32, 3, 65, 176, 4, 106, 33, 6, 32, 3, 45, 0, 168, 4, 65, 1, 70, 4, 64, 32, 3, 65, 184, 4, 106, 40, 2, 0, 33, 2, 32, 1, 40, 2, 0, 33, 5, 32, 6, 40, 2, 0, 33, 1, 32, 3, 40, 2, 172, 4, 34, 4, 65, 8, 118, 33, 9, 12, 36, 11, 32, 3, 45, 0, 169, 4, 33, 10, 32, 3, 65, 168, 4, 106, 32, 13, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 71, 4, 64, 32, 1, 40, 2, 0, 33, 2, 32, 6, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 4, 65, 8, 118, 33, 9, 12, 36, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 10, 65, 1, 107, 14, 4, 2, 3, 4, 0, 1, 11, 32, 3, 65, 192, 2, 106, 32, 13, 16, 135, 1, 32, 3, 45, 0, 192, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 38, 11, 32, 3, 45, 0, 193, 2, 65, 251, 0, 71, 4, 64, 65, 14, 33, 4, 12, 38, 11, 32, 13, 16, 129, 1, 32, 3, 65, 184, 2, 106, 32, 13, 16, 127, 32, 3, 45, 0, 188, 2, 32, 3, 65, 176, 2, 106, 32, 3, 40, 2, 184, 2, 34, 8, 16, 135, 1, 32, 3, 45, 0, 176, 2, 65, 1, 113, 69, 4, 64, 65, 2, 33, 4, 12, 38, 11, 32, 3, 45, 0, 177, 2, 33, 1, 65, 1, 113, 33, 4, 2, 64, 2, 64, 2, 64, 3, 64, 2, 64, 32, 1, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 3, 32, 4, 65, 255, 1, 113, 13, 1, 65, 9, 33, 4, 12, 41, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 4, 12, 41, 11, 32, 8, 16, 129, 1, 32, 3, 65, 168, 2, 106, 32, 8, 16, 135, 1, 32, 3, 45, 0, 168, 2, 65, 1, 113, 69, 13, 39, 32, 3, 45, 0, 169, 2, 33, 1, 11, 32, 1, 65, 255, 1, 113, 34, 1, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 1, 65, 253, 0, 70, 27, 33, 4, 12, 40, 11, 32, 3, 65, 152, 2, 106, 32, 8, 16, 135, 1, 32, 3, 45, 0, 152, 2, 65, 1, 113, 69, 13, 38, 32, 3, 45, 0, 153, 2, 65, 34, 71, 4, 64, 65, 14, 33, 4, 12, 40, 11, 32, 8, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 8, 16, 134, 1, 32, 3, 40, 2, 180, 4, 33, 5, 32, 3, 40, 2, 176, 4, 33, 1, 32, 3, 40, 2, 172, 4, 33, 4, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 168, 4, 65, 1, 71, 4, 64, 65, 1, 33, 6, 2, 64, 32, 5, 65, 4, 71, 13, 0, 32, 4, 65, 141, 170, 192, 0, 71, 4, 64, 32, 4, 40, 0, 0, 65, 235, 210, 185, 163, 6, 71, 13, 1, 11, 65, 0, 33, 6, 11, 32, 1, 4, 64, 32, 4, 16, 204, 1, 11, 32, 6, 69, 13, 1, 32, 3, 65, 168, 4, 106, 32, 8, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 70, 13, 2, 32, 3, 40, 2, 176, 4, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 32, 3, 40, 2, 180, 4, 34, 2, 54, 2, 196, 3, 32, 3, 32, 5, 54, 2, 192, 3, 32, 3, 32, 1, 54, 2, 188, 3, 32, 3, 32, 4, 54, 2, 184, 3, 12, 43, 11, 32, 3, 40, 2, 184, 4, 33, 2, 12, 42, 11, 32, 7, 13, 4, 32, 3, 65, 168, 4, 106, 32, 8, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 71, 4, 64, 32, 3, 40, 2, 180, 4, 33, 2, 32, 3, 40, 2, 176, 4, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 12, 44, 11, 32, 3, 65, 144, 2, 106, 32, 8, 16, 135, 1, 32, 3, 45, 0, 144, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 40, 11, 32, 3, 45, 0, 145, 2, 65, 34, 71, 4, 64, 65, 14, 33, 4, 12, 40, 11, 32, 8, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 8, 16, 134, 1, 32, 3, 40, 2, 180, 4, 33, 12, 32, 3, 40, 2, 176, 4, 33, 11, 32, 3, 40, 2, 172, 4, 33, 7, 32, 3, 40, 2, 168, 4, 65, 1, 71, 13, 1, 32, 3, 40, 2, 184, 4, 33, 2, 32, 11, 33, 1, 32, 7, 33, 4, 32, 12, 33, 5, 12, 43, 11, 32, 3, 65, 184, 3, 106, 32, 8, 16, 90, 32, 3, 40, 2, 184, 3, 34, 4, 65, 22, 71, 13, 37, 11, 32, 3, 65, 136, 2, 106, 32, 8, 16, 135, 1, 65, 0, 33, 4, 32, 3, 45, 0, 137, 2, 33, 1, 32, 3, 45, 0, 136, 2, 65, 1, 113, 13, 0, 11, 65, 2, 33, 4, 12, 38, 11, 32, 7, 69, 4, 64, 32, 3, 65, 168, 4, 106, 65, 141, 170, 192, 0, 65, 4, 16, 85, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 12, 40, 11, 32, 3, 65, 168, 4, 106, 32, 13, 16, 132, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 70, 13, 1, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 11, 69, 13, 39, 32, 7, 16, 204, 1, 12, 39, 11, 32, 3, 65, 168, 4, 106, 65, 141, 170, 192, 0, 65, 4, 16, 87, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 32, 11, 13, 37, 12, 38, 11, 32, 3, 65, 160, 2, 106, 32, 13, 16, 135, 1, 32, 3, 45, 0, 160, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 32, 11, 69, 13, 40, 32, 7, 16, 204, 1, 12, 40, 11, 32, 3, 45, 0, 161, 2, 65, 253, 0, 71, 13, 31, 32, 13, 16, 129, 1, 65, 4, 33, 1, 12, 6, 11, 32, 3, 65, 200, 0, 106, 32, 13, 16, 135, 1, 32, 3, 45, 0, 72, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 30, 11, 32, 3, 45, 0, 73, 65, 251, 0, 71, 4, 64, 65, 14, 33, 4, 12, 30, 11, 32, 13, 16, 129, 1, 32, 3, 65, 64, 107, 32, 13, 16, 127, 32, 3, 45, 0, 68, 32, 3, 65, 56, 106, 32, 3, 40, 2, 64, 34, 9, 16, 135, 1, 32, 3, 45, 0, 56, 65, 1, 113, 69, 4, 64, 65, 2, 33, 4, 12, 30, 11, 32, 3, 45, 0, 57, 33, 1, 65, 1, 113, 33, 4, 65, 0, 33, 6, 2, 64, 3, 64, 2, 64, 32, 1, 65, 255, 1, 113, 34, 5, 65, 44, 71, 4, 64, 32, 5, 65, 253, 0, 70, 13, 3, 32, 4, 65, 255, 1, 113, 13, 1, 65, 9, 33, 4, 12, 30, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 4, 12, 30, 11, 32, 9, 16, 129, 1, 32, 3, 65, 48, 106, 32, 9, 16, 135, 1, 32, 3, 45, 0, 48, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 30, 11, 32, 3, 45, 0, 49, 33, 1, 11, 32, 1, 65, 255, 1, 113, 34, 15, 65, 34, 71, 4, 64, 65, 19, 33, 4, 32, 15, 65, 253, 0, 70, 13, 29, 65, 16, 33, 4, 12, 29, 11, 32, 3, 65, 24, 106, 32, 9, 16, 135, 1, 32, 3, 45, 0, 24, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 29, 11, 32, 3, 45, 0, 25, 65, 34, 71, 4, 64, 65, 14, 33, 4, 12, 29, 11, 32, 9, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 9, 16, 134, 1, 32, 3, 40, 2, 180, 4, 33, 5, 32, 3, 40, 2, 176, 4, 33, 1, 32, 3, 40, 2, 172, 4, 33, 4, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 168, 4, 65, 1, 71, 4, 64, 65, 2, 33, 15, 2, 64, 32, 5, 65, 123, 106, 34, 5, 65, 2, 75, 13, 0, 2, 64, 2, 64, 32, 5, 65, 1, 107, 14, 2, 2, 1, 0, 11, 32, 4, 65, 157, 174, 192, 0, 71, 4, 64, 32, 4, 65, 157, 174, 192, 0, 65, 5, 16, 156, 2, 13, 2, 11, 65, 0, 33, 15, 12, 1, 11, 32, 4, 65, 162, 174, 192, 0, 71, 4, 64, 32, 4, 65, 162, 174, 192, 0, 65, 7, 16, 156, 2, 13, 1, 11, 65, 1, 33, 15, 11, 32, 1, 4, 64, 32, 4, 16, 204, 1, 11, 32, 15, 65, 1, 75, 13, 1, 32, 15, 65, 1, 107, 13, 2, 12, 3, 11, 32, 3, 40, 2, 184, 4, 33, 2, 12, 33, 11, 32, 3, 65, 168, 4, 106, 32, 9, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 70, 13, 2, 32, 3, 40, 2, 176, 4, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 32, 3, 40, 2, 180, 4, 34, 2, 54, 2, 196, 3, 32, 3, 32, 5, 54, 2, 192, 3, 32, 3, 32, 1, 54, 2, 188, 3, 32, 3, 32, 4, 54, 2, 184, 3, 12, 32, 11, 2, 64, 32, 7, 69, 4, 64, 32, 3, 65, 168, 4, 106, 32, 9, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 71, 4, 64, 32, 3, 40, 2, 180, 4, 33, 2, 32, 3, 40, 2, 176, 4, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 65, 0, 33, 7, 12, 34, 11, 32, 3, 65, 16, 106, 32, 9, 16, 135, 1, 32, 3, 45, 0, 16, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 33, 11, 32, 3, 45, 0, 17, 65, 34, 71, 4, 64, 65, 14, 33, 4, 12, 33, 11, 32, 9, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 9, 16, 134, 1, 32, 3, 40, 2, 180, 4, 33, 12, 32, 3, 40, 2, 176, 4, 33, 8, 32, 3, 40, 2, 172, 4, 33, 7, 32, 3, 40, 2, 168, 4, 65, 1, 71, 13, 1, 32, 3, 40, 2, 184, 4, 33, 2, 32, 7, 33, 4, 32, 8, 33, 1, 32, 12, 33, 5, 65, 0, 33, 7, 12, 33, 11, 32, 3, 65, 168, 4, 106, 65, 157, 174, 192, 0, 65, 5, 16, 87, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 12, 32, 11, 32, 8, 33, 11, 12, 2, 11, 2, 64, 32, 6, 69, 4, 64, 32, 3, 65, 184, 3, 106, 32, 9, 16, 133, 1, 32, 3, 40, 2, 184, 3, 34, 4, 65, 22, 70, 13, 1, 32, 3, 40, 2, 192, 3, 33, 5, 32, 3, 40, 2, 188, 3, 33, 1, 32, 3, 32, 3, 40, 2, 196, 3, 34, 2, 54, 2, 184, 4, 32, 3, 32, 5, 54, 2, 180, 4, 32, 3, 32, 1, 54, 2, 176, 4, 32, 3, 32, 4, 54, 2, 172, 4, 32, 3, 65, 1, 54, 2, 168, 4, 12, 34, 11, 32, 3, 65, 168, 4, 106, 65, 162, 174, 192, 0, 65, 7, 16, 87, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 32, 10, 13, 32, 12, 33, 11, 32, 3, 65, 168, 4, 106, 32, 9, 16, 97, 32, 3, 40, 2, 168, 4, 65, 1, 70, 4, 64, 32, 3, 40, 2, 184, 4, 33, 2, 32, 3, 40, 2, 180, 4, 33, 5, 32, 3, 40, 2, 176, 4, 33, 1, 32, 3, 40, 2, 172, 4, 33, 4, 12, 33, 11, 32, 3, 40, 2, 180, 4, 33, 14, 32, 3, 40, 2, 176, 4, 33, 10, 32, 3, 40, 2, 172, 4, 33, 6, 12, 1, 11, 32, 3, 65, 184, 3, 106, 32, 9, 16, 90, 32, 3, 40, 2, 184, 3, 34, 4, 65, 22, 71, 13, 27, 11, 32, 3, 65, 8, 106, 32, 9, 16, 135, 1, 65, 0, 33, 4, 32, 3, 45, 0, 9, 33, 1, 32, 3, 45, 0, 8, 65, 1, 113, 13, 0, 11, 65, 2, 33, 4, 12, 27, 11, 32, 7, 69, 4, 64, 32, 3, 65, 168, 4, 106, 65, 157, 174, 192, 0, 65, 5, 16, 85, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 65, 0, 33, 7, 12, 27, 11, 32, 6, 69, 4, 64, 32, 3, 65, 168, 4, 106, 65, 162, 174, 192, 0, 65, 7, 16, 85, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 32, 11, 69, 13, 30, 32, 7, 16, 204, 1, 12, 30, 11, 32, 3, 65, 168, 4, 106, 32, 13, 16, 132, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 71, 4, 64, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 11, 4, 64, 32, 7, 16, 204, 1, 11, 32, 10, 69, 13, 30, 32, 6, 16, 204, 1, 12, 30, 11, 32, 3, 65, 40, 106, 32, 13, 16, 135, 1, 32, 3, 45, 0, 40, 65, 1, 113, 69, 4, 64, 32, 11, 4, 64, 32, 7, 16, 204, 1, 11, 65, 0, 33, 9, 65, 4, 33, 4, 32, 10, 69, 13, 39, 32, 6, 16, 204, 1, 12, 39, 11, 32, 3, 45, 0, 41, 65, 253, 0, 71, 13, 23, 32, 13, 16, 129, 1, 65, 0, 33, 1, 12, 5, 11, 32, 3, 65, 136, 1, 106, 32, 13, 16, 135, 1, 32, 3, 45, 0, 136, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 22, 11, 32, 3, 45, 0, 137, 1, 65, 251, 0, 71, 4, 64, 65, 14, 33, 4, 12, 22, 11, 32, 13, 16, 129, 1, 32, 3, 65, 128, 1, 106, 32, 13, 16, 127, 32, 3, 45, 0, 132, 1, 32, 3, 65, 248, 0, 106, 32, 3, 40, 2, 128, 1, 34, 9, 16, 135, 1, 32, 3, 45, 0, 120, 65, 1, 113, 69, 4, 64, 65, 2, 33, 4, 12, 22, 11, 32, 3, 45, 0, 121, 33, 1, 65, 1, 113, 33, 4, 65, 0, 33, 6, 2, 64, 3, 64, 2, 64, 32, 1, 65, 255, 1, 113, 34, 5, 65, 44, 71, 4, 64, 32, 5, 65, 253, 0, 70, 13, 3, 32, 4, 65, 255, 1, 113, 13, 1, 65, 9, 33, 4, 12, 22, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 4, 12, 22, 11, 32, 9, 16, 129, 1, 32, 3, 65, 240, 0, 106, 32, 9, 16, 135, 1, 32, 3, 45, 0, 112, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 22, 11, 32, 3, 45, 0, 113, 33, 1, 11, 32, 1, 65, 255, 1, 113, 34, 15, 65, 34, 71, 4, 64, 65, 19, 33, 4, 32, 15, 65, 253, 0, 70, 13, 21, 65, 16, 33, 4, 12, 21, 11, 32, 3, 65, 224, 0, 106, 32, 9, 16, 135, 1, 32, 3, 45, 0, 96, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 21, 11, 32, 3, 45, 0, 97, 65, 34, 71, 4, 64, 65, 14, 33, 4, 12, 21, 11, 32, 9, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 9, 16, 134, 1, 32, 3, 40, 2, 180, 4, 33, 5, 32, 3, 40, 2, 176, 4, 33, 1, 32, 3, 40, 2, 172, 4, 33, 4, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 168, 4, 65, 1, 71, 4, 64, 65, 2, 33, 15, 2, 64, 32, 5, 65, 123, 106, 34, 5, 65, 3, 75, 13, 0, 2, 64, 2, 64, 32, 5, 65, 1, 107, 14, 3, 2, 2, 1, 0, 11, 32, 4, 65, 157, 174, 192, 0, 71, 4, 64, 32, 4, 65, 157, 174, 192, 0, 65, 5, 16, 156, 2, 13, 2, 11, 65, 0, 33, 15, 12, 1, 11, 32, 4, 65, 185, 174, 192, 0, 71, 4, 64, 32, 4, 41, 0, 0, 66, 242, 202, 205, 131, 247, 205, 219, 185, 229, 0, 82, 13, 1, 11, 65, 1, 33, 15, 11, 32, 1, 4, 64, 32, 4, 16, 204, 1, 11, 32, 15, 65, 1, 75, 13, 1, 32, 15, 65, 1, 107, 13, 2, 12, 3, 11, 32, 3, 40, 2, 184, 4, 33, 2, 12, 25, 11, 32, 3, 65, 168, 4, 106, 32, 9, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 70, 13, 2, 32, 3, 40, 2, 176, 4, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 32, 3, 40, 2, 180, 4, 34, 2, 54, 2, 196, 3, 32, 3, 32, 5, 54, 2, 192, 3, 32, 3, 32, 1, 54, 2, 188, 3, 32, 3, 32, 4, 54, 2, 184, 3, 12, 24, 11, 2, 64, 32, 7, 69, 4, 64, 32, 3, 65, 168, 4, 106, 32, 9, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 71, 4, 64, 32, 3, 40, 2, 180, 4, 33, 2, 32, 3, 40, 2, 176, 4, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 65, 0, 33, 7, 12, 26, 11, 32, 3, 65, 216, 0, 106, 32, 9, 16, 135, 1, 32, 3, 45, 0, 88, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 25, 11, 32, 3, 45, 0, 89, 65, 34, 71, 4, 64, 65, 14, 33, 4, 12, 25, 11, 32, 9, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 9, 16, 134, 1, 32, 3, 40, 2, 180, 4, 33, 12, 32, 3, 40, 2, 176, 4, 33, 8, 32, 3, 40, 2, 172, 4, 33, 7, 32, 3, 40, 2, 168, 4, 65, 1, 71, 13, 1, 32, 3, 40, 2, 184, 4, 33, 2, 32, 7, 33, 4, 32, 8, 33, 1, 32, 12, 33, 5, 65, 0, 33, 7, 12, 25, 11, 32, 3, 65, 168, 4, 106, 65, 157, 174, 192, 0, 65, 5, 16, 87, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 12, 24, 11, 32, 8, 33, 11, 12, 2, 11, 2, 64, 32, 6, 69, 4, 64, 32, 3, 65, 184, 3, 106, 32, 9, 16, 133, 1, 32, 3, 40, 2, 184, 3, 34, 4, 65, 22, 70, 13, 1, 32, 3, 40, 2, 192, 3, 33, 5, 32, 3, 40, 2, 188, 3, 33, 1, 32, 3, 32, 3, 40, 2, 196, 3, 34, 2, 54, 2, 184, 4, 32, 3, 32, 5, 54, 2, 180, 4, 32, 3, 32, 1, 54, 2, 176, 4, 32, 3, 32, 4, 54, 2, 172, 4, 32, 3, 65, 1, 54, 2, 168, 4, 12, 26, 11, 32, 3, 65, 168, 4, 106, 65, 185, 174, 192, 0, 65, 8, 16, 87, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 32, 10, 13, 24, 12, 25, 11, 32, 3, 65, 168, 4, 106, 32, 9, 16, 97, 32, 3, 40, 2, 168, 4, 65, 1, 70, 4, 64, 32, 3, 40, 2, 184, 4, 33, 2, 32, 3, 40, 2, 180, 4, 33, 5, 32, 3, 40, 2, 176, 4, 33, 1, 32, 3, 40, 2, 172, 4, 33, 4, 12, 25, 11, 32, 3, 40, 2, 180, 4, 33, 14, 32, 3, 40, 2, 176, 4, 33, 10, 32, 3, 40, 2, 172, 4, 33, 6, 12, 1, 11, 32, 3, 65, 184, 3, 106, 32, 9, 16, 90, 32, 3, 40, 2, 184, 3, 34, 4, 65, 22, 71, 13, 19, 11, 32, 3, 65, 208, 0, 106, 32, 9, 16, 135, 1, 65, 0, 33, 4, 32, 3, 45, 0, 81, 33, 1, 32, 3, 45, 0, 80, 65, 1, 113, 13, 0, 11, 65, 2, 33, 4, 12, 19, 11, 32, 7, 69, 4, 64, 32, 3, 65, 168, 4, 106, 65, 157, 174, 192, 0, 65, 5, 16, 85, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 65, 0, 33, 7, 12, 19, 11, 32, 6, 69, 4, 64, 32, 3, 65, 168, 4, 106, 65, 185, 174, 192, 0, 65, 8, 16, 85, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 32, 11, 69, 13, 22, 32, 7, 16, 204, 1, 12, 22, 11, 32, 3, 65, 168, 4, 106, 32, 13, 16, 132, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 71, 4, 64, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 11, 4, 64, 32, 7, 16, 204, 1, 11, 32, 10, 69, 13, 22, 32, 6, 16, 204, 1, 12, 22, 11, 32, 3, 65, 232, 0, 106, 32, 13, 16, 135, 1, 32, 3, 45, 0, 104, 65, 1, 113, 69, 4, 64, 32, 11, 4, 64, 32, 7, 16, 204, 1, 11, 65, 0, 33, 9, 65, 4, 33, 4, 32, 10, 69, 13, 38, 32, 6, 16, 204, 1, 12, 38, 11, 32, 3, 45, 0, 105, 65, 253, 0, 71, 13, 15, 32, 13, 16, 129, 1, 65, 1, 33, 1, 12, 4, 11, 32, 3, 65, 200, 1, 106, 32, 13, 16, 135, 1, 32, 3, 45, 0, 200, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 14, 11, 32, 3, 45, 0, 201, 1, 65, 251, 0, 71, 4, 64, 65, 14, 33, 4, 12, 14, 11, 32, 13, 16, 129, 1, 32, 3, 65, 192, 1, 106, 32, 13, 16, 127, 32, 3, 45, 0, 196, 1, 32, 3, 65, 184, 1, 106, 32, 3, 40, 2, 192, 1, 34, 8, 16, 135, 1, 32, 3, 45, 0, 184, 1, 65, 1, 113, 69, 4, 64, 65, 2, 33, 4, 12, 14, 11, 32, 3, 45, 0, 185, 1, 33, 1, 65, 1, 113, 33, 4, 2, 64, 2, 64, 2, 64, 3, 64, 2, 64, 32, 1, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 3, 32, 4, 65, 255, 1, 113, 13, 1, 65, 9, 33, 4, 12, 17, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 4, 12, 17, 11, 32, 8, 16, 129, 1, 32, 3, 65, 176, 1, 106, 32, 8, 16, 135, 1, 32, 3, 45, 0, 176, 1, 65, 1, 113, 69, 13, 15, 32, 3, 45, 0, 177, 1, 33, 1, 11, 32, 1, 65, 255, 1, 113, 34, 1, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 1, 65, 253, 0, 70, 27, 33, 4, 12, 16, 11, 32, 3, 65, 160, 1, 106, 32, 8, 16, 135, 1, 32, 3, 45, 0, 160, 1, 65, 1, 113, 69, 13, 14, 32, 3, 45, 0, 161, 1, 65, 34, 71, 4, 64, 65, 14, 33, 4, 12, 16, 11, 32, 8, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 8, 16, 134, 1, 32, 3, 40, 2, 180, 4, 33, 5, 32, 3, 40, 2, 176, 4, 33, 1, 32, 3, 40, 2, 172, 4, 33, 4, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 168, 4, 65, 1, 71, 4, 64, 65, 1, 33, 6, 2, 64, 32, 5, 65, 4, 71, 13, 0, 32, 4, 65, 209, 174, 192, 0, 71, 4, 64, 32, 4, 40, 0, 0, 65, 225, 200, 145, 147, 7, 71, 13, 1, 11, 65, 0, 33, 6, 11, 32, 1, 4, 64, 32, 4, 16, 204, 1, 11, 32, 6, 69, 13, 1, 32, 3, 65, 168, 4, 106, 32, 8, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 70, 13, 2, 32, 3, 40, 2, 176, 4, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 32, 3, 40, 2, 180, 4, 34, 2, 54, 2, 196, 3, 32, 3, 32, 5, 54, 2, 192, 3, 32, 3, 32, 1, 54, 2, 188, 3, 32, 3, 32, 4, 54, 2, 184, 3, 12, 19, 11, 32, 3, 40, 2, 184, 4, 33, 2, 12, 18, 11, 32, 7, 13, 4, 32, 3, 65, 168, 4, 106, 32, 8, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 71, 4, 64, 32, 3, 40, 2, 180, 4, 33, 2, 32, 3, 40, 2, 176, 4, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 12, 20, 11, 32, 3, 65, 152, 1, 106, 32, 8, 16, 135, 1, 2, 64, 2, 127, 65, 4, 32, 3, 45, 0, 152, 1, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 3, 45, 0, 153, 1, 65, 34, 71, 13, 0, 26, 32, 8, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 8, 16, 134, 1, 32, 3, 41, 3, 176, 4, 33, 16, 32, 3, 40, 2, 172, 4, 33, 7, 32, 3, 40, 2, 168, 4, 65, 1, 71, 13, 1, 32, 3, 40, 2, 184, 4, 33, 2, 32, 7, 11, 33, 4, 32, 16, 66, 32, 136, 167, 33, 5, 32, 16, 167, 33, 1, 12, 20, 11, 32, 16, 66, 32, 136, 167, 33, 12, 32, 16, 167, 33, 11, 12, 1, 11, 32, 3, 65, 184, 3, 106, 32, 8, 16, 90, 32, 3, 40, 2, 184, 3, 34, 4, 65, 22, 71, 13, 14, 11, 32, 3, 65, 144, 1, 106, 32, 8, 16, 135, 1, 65, 0, 33, 4, 32, 3, 45, 0, 145, 1, 33, 1, 32, 3, 45, 0, 144, 1, 65, 1, 113, 13, 0, 11, 65, 2, 33, 4, 12, 14, 11, 32, 7, 69, 4, 64, 32, 3, 65, 168, 4, 106, 65, 209, 174, 192, 0, 65, 4, 16, 85, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 12, 16, 11, 32, 3, 65, 168, 4, 106, 32, 13, 16, 132, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 70, 13, 1, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 11, 69, 13, 15, 32, 7, 16, 204, 1, 12, 15, 11, 32, 3, 65, 168, 4, 106, 65, 209, 174, 192, 0, 65, 4, 16, 87, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 33, 4, 32, 11, 13, 13, 12, 14, 11, 32, 3, 65, 168, 1, 106, 32, 13, 16, 135, 1, 32, 3, 45, 0, 168, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 32, 11, 69, 13, 37, 32, 7, 16, 204, 1, 12, 37, 11, 32, 3, 45, 0, 169, 1, 65, 253, 0, 71, 13, 8, 32, 13, 16, 129, 1, 65, 2, 33, 1, 12, 3, 11, 32, 3, 65, 128, 2, 106, 32, 13, 16, 135, 1, 32, 3, 45, 0, 128, 2, 65, 1, 113, 69, 13, 5, 32, 3, 45, 0, 129, 2, 65, 251, 0, 71, 13, 4, 32, 13, 16, 129, 1, 32, 3, 65, 248, 1, 106, 32, 13, 16, 127, 32, 3, 45, 0, 252, 1, 32, 3, 65, 240, 1, 106, 32, 3, 40, 2, 248, 1, 34, 6, 16, 135, 1, 32, 3, 45, 0, 240, 1, 65, 1, 113, 69, 13, 3, 32, 3, 45, 0, 241, 1, 33, 1, 65, 1, 113, 33, 4, 3, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 255, 1, 113, 34, 10, 65, 44, 71, 4, 64, 32, 10, 65, 253, 0, 70, 13, 2, 32, 4, 65, 255, 1, 113, 13, 1, 65, 9, 33, 4, 12, 11, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 4, 12, 11, 11, 32, 6, 16, 129, 1, 32, 3, 65, 232, 1, 106, 32, 6, 16, 135, 1, 32, 3, 45, 0, 232, 1, 65, 1, 113, 69, 13, 9, 32, 3, 45, 0, 233, 1, 33, 1, 11, 32, 1, 65, 255, 1, 113, 34, 10, 65, 34, 71, 4, 64, 65, 16, 33, 4, 32, 10, 65, 253, 0, 71, 13, 10, 65, 19, 33, 4, 12, 10, 11, 32, 3, 65, 216, 1, 106, 32, 6, 16, 135, 1, 32, 3, 45, 0, 216, 1, 65, 1, 113, 69, 13, 8, 32, 3, 45, 0, 217, 1, 65, 34, 71, 13, 7, 32, 6, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 6, 16, 134, 1, 32, 3, 40, 2, 176, 4, 33, 1, 32, 3, 40, 2, 172, 4, 33, 4, 32, 3, 40, 2, 168, 4, 65, 1, 71, 4, 64, 32, 4, 69, 32, 1, 69, 114, 13, 2, 32, 4, 16, 204, 1, 12, 2, 11, 32, 4, 65, 22, 70, 13, 1, 32, 3, 40, 2, 184, 4, 33, 2, 32, 3, 40, 2, 180, 4, 33, 5, 12, 9, 11, 32, 3, 65, 168, 4, 106, 32, 13, 16, 132, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 71, 4, 64, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 2, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 12, 9, 11, 32, 3, 65, 224, 1, 106, 32, 13, 16, 135, 1, 32, 3, 45, 0, 224, 1, 65, 1, 113, 69, 13, 36, 32, 3, 45, 0, 225, 1, 65, 253, 0, 71, 4, 64, 65, 11, 33, 4, 12, 38, 11, 32, 13, 16, 129, 1, 65, 3, 33, 1, 12, 4, 11, 32, 3, 65, 168, 4, 106, 32, 6, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 4, 65, 22, 71, 4, 64, 32, 3, 40, 2, 176, 4, 33, 5, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 32, 3, 40, 2, 180, 4, 34, 2, 54, 2, 196, 3, 32, 3, 32, 5, 54, 2, 192, 3, 32, 3, 32, 1, 54, 2, 188, 3, 32, 3, 32, 4, 54, 2, 184, 3, 12, 8, 11, 32, 3, 65, 184, 3, 106, 32, 6, 16, 90, 32, 3, 40, 2, 184, 3, 34, 4, 65, 22, 71, 4, 64, 32, 3, 40, 2, 196, 3, 33, 2, 32, 3, 40, 2, 192, 3, 33, 5, 32, 3, 40, 2, 188, 3, 33, 1, 12, 8, 11, 32, 3, 65, 208, 1, 106, 32, 6, 16, 135, 1, 65, 0, 33, 4, 32, 3, 45, 0, 209, 1, 33, 1, 32, 3, 45, 0, 208, 1, 65, 1, 113, 13, 0, 11, 12, 3, 11, 32, 3, 65, 240, 2, 106, 32, 2, 16, 135, 1, 65, 0, 33, 4, 2, 64, 32, 3, 45, 0, 240, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 14, 12, 1, 11, 32, 3, 45, 0, 241, 2, 34, 1, 65, 251, 0, 71, 4, 64, 32, 1, 65, 34, 71, 4, 64, 65, 10, 33, 14, 12, 2, 11, 32, 3, 65, 168, 4, 106, 32, 2, 16, 96, 32, 3, 45, 0, 168, 4, 65, 1, 71, 4, 64, 65, 14, 33, 14, 12, 2, 11, 32, 3, 47, 0, 173, 4, 32, 3, 45, 0, 175, 4, 65, 16, 116, 114, 33, 4, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 1, 32, 3, 45, 0, 172, 4, 33, 14, 32, 3, 65, 180, 4, 106, 41, 2, 0, 34, 16, 66, 32, 136, 167, 33, 12, 32, 16, 167, 33, 10, 12, 1, 11, 32, 2, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 2, 34, 5, 16, 96, 32, 3, 65, 180, 4, 106, 33, 1, 32, 3, 65, 176, 4, 106, 33, 6, 32, 3, 45, 0, 168, 4, 65, 1, 70, 4, 64, 32, 3, 65, 184, 4, 106, 40, 2, 0, 33, 12, 32, 1, 40, 2, 0, 33, 10, 32, 6, 40, 2, 0, 33, 1, 32, 3, 40, 2, 172, 4, 34, 14, 65, 8, 118, 33, 4, 12, 1, 11, 32, 3, 45, 0, 169, 4, 33, 12, 32, 3, 65, 168, 4, 106, 32, 5, 16, 133, 1, 32, 3, 40, 2, 168, 4, 34, 14, 65, 22, 71, 4, 64, 32, 1, 40, 2, 0, 33, 12, 32, 6, 40, 2, 0, 33, 10, 32, 3, 40, 2, 172, 4, 33, 1, 32, 14, 65, 8, 118, 33, 4, 12, 1, 11, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 12, 65, 1, 70, 4, 64, 32, 3, 65, 224, 2, 106, 32, 5, 16, 135, 1, 32, 3, 45, 0, 224, 2, 65, 1, 113, 69, 13, 1, 2, 64, 32, 3, 45, 0, 225, 2, 34, 1, 65, 34, 71, 4, 64, 32, 1, 65, 251, 0, 70, 13, 1, 32, 3, 66, 129, 128, 128, 128, 160, 1, 55, 3, 168, 4, 65, 10, 33, 14, 12, 5, 11, 32, 3, 65, 200, 4, 106, 32, 5, 16, 95, 32, 3, 45, 0, 200, 4, 65, 1, 70, 4, 64, 32, 3, 45, 0, 207, 4, 33, 1, 32, 3, 47, 0, 205, 4, 33, 12, 32, 3, 65, 208, 4, 106, 40, 2, 0, 33, 5, 32, 3, 45, 0, 204, 4, 33, 6, 32, 3, 65, 180, 4, 106, 32, 3, 65, 212, 4, 106, 41, 2, 0, 55, 2, 0, 32, 3, 65, 176, 4, 106, 32, 5, 54, 2, 0, 32, 3, 32, 6, 58, 0, 172, 4, 32, 3, 32, 12, 32, 1, 65, 16, 116, 114, 34, 1, 59, 0, 173, 4, 32, 3, 32, 1, 65, 16, 118, 58, 0, 175, 4, 32, 3, 65, 1, 54, 2, 168, 4, 32, 3, 40, 2, 172, 4, 33, 14, 12, 5, 11, 32, 3, 45, 0, 201, 4, 26, 32, 3, 66, 129, 128, 128, 128, 224, 1, 55, 3, 168, 4, 65, 14, 33, 14, 12, 4, 11, 32, 5, 16, 129, 1, 32, 3, 65, 168, 4, 106, 32, 5, 16, 106, 32, 3, 65, 160, 4, 106, 34, 8, 32, 3, 65, 184, 4, 106, 40, 2, 0, 54, 2, 0, 32, 3, 65, 144, 4, 106, 34, 6, 32, 3, 65, 196, 4, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 65, 176, 4, 106, 41, 3, 0, 55, 3, 152, 4, 32, 3, 32, 3, 65, 188, 4, 106, 41, 2, 0, 55, 3, 136, 4, 32, 3, 40, 2, 172, 4, 33, 1, 32, 3, 40, 2, 168, 4, 65, 1, 70, 4, 64, 32, 1, 33, 14, 12, 5, 11, 32, 3, 65, 248, 3, 106, 34, 12, 32, 3, 41, 3, 136, 4, 55, 3, 0, 32, 3, 65, 244, 3, 106, 32, 8, 40, 2, 0, 54, 2, 0, 32, 3, 65, 128, 4, 106, 32, 6, 40, 2, 0, 54, 2, 0, 32, 3, 32, 1, 54, 2, 232, 3, 32, 3, 32, 3, 41, 3, 152, 4, 55, 2, 236, 3, 32, 3, 65, 216, 2, 106, 32, 5, 16, 135, 1, 65, 4, 33, 14, 32, 3, 45, 0, 216, 2, 65, 1, 113, 69, 4, 64, 32, 3, 65, 232, 3, 106, 16, 32, 12, 6, 11, 32, 3, 45, 0, 217, 2, 65, 253, 0, 71, 13, 2, 32, 5, 16, 129, 1, 32, 3, 65, 176, 4, 106, 32, 3, 65, 232, 3, 106, 65, 4, 114, 34, 5, 65, 8, 106, 40, 2, 0, 34, 6, 54, 2, 0, 32, 3, 65, 208, 4, 106, 32, 12, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 5, 41, 2, 0, 34, 16, 55, 3, 168, 4, 32, 3, 32, 12, 41, 2, 0, 55, 3, 200, 4, 65, 1, 33, 14, 65, 0, 33, 9, 65, 0, 12, 6, 11, 32, 3, 65, 168, 4, 106, 32, 5, 16, 97, 32, 3, 65, 184, 4, 106, 40, 2, 0, 33, 12, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 10, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 1, 2, 64, 2, 127, 32, 3, 40, 2, 172, 4, 34, 8, 32, 3, 40, 2, 168, 4, 65, 1, 70, 13, 0, 26, 32, 3, 65, 232, 2, 106, 32, 5, 16, 135, 1, 32, 3, 45, 0, 232, 2, 65, 1, 113, 4, 64, 32, 3, 45, 0, 233, 2, 65, 253, 0, 70, 13, 2, 32, 8, 69, 32, 1, 69, 114, 69, 4, 64, 32, 8, 16, 204, 1, 11, 65, 11, 12, 1, 11, 32, 8, 69, 32, 1, 69, 114, 69, 4, 64, 32, 8, 16, 204, 1, 11, 65, 4, 11, 34, 14, 65, 8, 118, 33, 4, 12, 7, 11, 32, 5, 16, 129, 1, 65, 0, 33, 14, 32, 10, 33, 12, 32, 1, 33, 10, 32, 8, 33, 1, 65, 0, 33, 9, 12, 6, 11, 32, 3, 66, 129, 128, 128, 128, 192, 0, 55, 3, 168, 4, 65, 4, 33, 14, 12, 1, 11, 32, 3, 65, 232, 3, 106, 16, 32, 65, 11, 33, 14, 12, 2, 11, 32, 3, 65, 160, 4, 106, 32, 3, 65, 184, 4, 106, 40, 2, 0, 54, 2, 0, 32, 3, 65, 144, 4, 106, 32, 3, 65, 196, 4, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 65, 176, 4, 106, 41, 3, 0, 55, 3, 152, 4, 32, 3, 32, 3, 65, 188, 4, 106, 41, 2, 0, 55, 3, 136, 4, 11, 32, 3, 65, 176, 4, 106, 32, 3, 65, 160, 4, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 152, 4, 34, 16, 55, 3, 168, 4, 32, 16, 167, 33, 1, 32, 3, 41, 2, 172, 4, 33, 16, 11, 32, 14, 65, 8, 118, 11, 33, 4, 32, 16, 66, 32, 136, 167, 33, 12, 32, 16, 167, 33, 10, 11, 32, 3, 65, 224, 3, 106, 34, 5, 32, 3, 65, 208, 4, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 200, 4, 55, 3, 216, 3, 32, 14, 65, 255, 1, 113, 32, 4, 65, 8, 116, 114, 33, 8, 32, 10, 173, 32, 12, 173, 66, 32, 134, 132, 33, 16, 2, 127, 32, 9, 69, 4, 64, 32, 3, 65, 200, 3, 106, 32, 6, 54, 2, 0, 32, 3, 65, 192, 3, 106, 32, 16, 55, 3, 0, 32, 3, 65, 204, 3, 106, 32, 3, 41, 3, 216, 3, 55, 2, 0, 32, 3, 65, 212, 3, 106, 32, 5, 40, 2, 0, 54, 2, 0, 32, 3, 32, 1, 54, 2, 188, 3, 32, 3, 32, 8, 54, 2, 184, 3, 32, 3, 65, 208, 2, 106, 32, 2, 16, 135, 1, 2, 64, 32, 3, 45, 0, 208, 2, 65, 1, 113, 4, 64, 32, 3, 45, 0, 209, 2, 65, 253, 0, 71, 13, 1, 32, 2, 16, 129, 1, 32, 3, 32, 16, 55, 2, 172, 4, 32, 3, 32, 1, 54, 2, 168, 4, 32, 3, 65, 212, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 208, 3, 106, 40, 2, 0, 33, 14, 32, 3, 40, 2, 204, 3, 33, 10, 65, 0, 33, 4, 32, 8, 33, 1, 65, 0, 33, 9, 65, 0, 33, 2, 12, 42, 11, 2, 64, 32, 8, 69, 4, 64, 32, 10, 69, 32, 1, 69, 114, 13, 1, 32, 1, 16, 204, 1, 65, 4, 12, 4, 11, 32, 3, 65, 184, 3, 106, 65, 4, 114, 16, 32, 11, 65, 4, 12, 2, 11, 2, 64, 32, 8, 69, 4, 64, 32, 10, 69, 32, 1, 69, 114, 13, 1, 32, 1, 16, 204, 1, 12, 1, 11, 32, 3, 65, 184, 3, 106, 65, 4, 114, 16, 32, 11, 65, 11, 12, 1, 11, 32, 8, 11, 33, 4, 32, 3, 32, 16, 55, 3, 168, 4, 32, 4, 65, 8, 118, 12, 36, 11, 32, 3, 47, 0, 173, 4, 32, 3, 45, 0, 175, 4, 65, 16, 116, 114, 33, 9, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 1, 32, 3, 45, 0, 172, 4, 33, 4, 32, 3, 65, 180, 4, 106, 41, 2, 0, 34, 16, 66, 32, 136, 167, 33, 2, 32, 16, 167, 33, 5, 12, 33, 11, 32, 3, 65, 32, 106, 32, 2, 16, 135, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 45, 0, 32, 65, 1, 113, 4, 64, 32, 3, 45, 0, 33, 65, 253, 0, 70, 13, 5, 65, 11, 33, 4, 32, 1, 65, 3, 75, 13, 4, 32, 1, 65, 1, 107, 14, 3, 2, 3, 39, 1, 11, 65, 4, 33, 4, 32, 1, 65, 3, 77, 4, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 1, 107, 14, 3, 1, 2, 42, 0, 11, 32, 11, 69, 32, 7, 69, 114, 69, 4, 64, 32, 7, 16, 204, 1, 11, 32, 10, 69, 32, 6, 69, 114, 13, 41, 32, 6, 16, 204, 1, 12, 41, 11, 32, 11, 69, 32, 7, 69, 114, 69, 4, 64, 32, 7, 16, 204, 1, 11, 32, 10, 69, 32, 6, 69, 114, 13, 40, 32, 6, 16, 204, 1, 12, 40, 11, 32, 11, 69, 32, 7, 69, 114, 13, 39, 32, 7, 16, 204, 1, 12, 39, 11, 32, 11, 69, 32, 7, 69, 114, 13, 38, 32, 7, 16, 204, 1, 12, 38, 11, 32, 11, 69, 32, 7, 69, 114, 69, 4, 64, 32, 7, 16, 204, 1, 11, 32, 10, 69, 32, 6, 69, 114, 13, 37, 32, 6, 16, 204, 1, 12, 37, 11, 32, 11, 69, 32, 7, 69, 114, 69, 4, 64, 32, 7, 16, 204, 1, 11, 32, 10, 69, 32, 6, 69, 114, 13, 36, 32, 6, 16, 204, 1, 12, 36, 11, 32, 11, 69, 32, 7, 69, 114, 13, 35, 32, 7, 16, 204, 1, 12, 35, 11, 32, 11, 69, 32, 7, 69, 114, 13, 34, 32, 7, 16, 204, 1, 12, 34, 11, 32, 2, 16, 129, 1, 32, 3, 32, 7, 54, 2, 168, 4, 32, 3, 32, 11, 173, 32, 12, 173, 66, 32, 134, 132, 55, 2, 172, 4, 65, 0, 33, 9, 65, 1, 33, 4, 65, 0, 33, 2, 12, 36, 11, 65, 2, 33, 4, 12, 2, 11, 65, 14, 33, 4, 12, 1, 11, 65, 4, 33, 4, 11, 32, 4, 65, 8, 118, 33, 9, 12, 28, 11, 65, 11, 33, 4, 32, 11, 69, 13, 27, 32, 7, 16, 204, 1, 12, 27, 11, 32, 3, 40, 2, 196, 3, 33, 2, 32, 3, 40, 2, 192, 3, 33, 5, 32, 3, 40, 2, 188, 3, 33, 1, 12, 1, 11, 65, 4, 33, 4, 11, 32, 11, 69, 32, 7, 69, 114, 13, 1, 11, 32, 7, 16, 204, 1, 11, 32, 4, 65, 8, 118, 33, 9, 12, 22, 11, 32, 11, 4, 64, 32, 7, 16, 204, 1, 11, 65, 0, 33, 9, 65, 11, 33, 4, 32, 10, 69, 13, 21, 32, 6, 16, 204, 1, 12, 21, 11, 32, 3, 40, 2, 196, 3, 33, 2, 32, 3, 40, 2, 192, 3, 33, 5, 32, 3, 40, 2, 188, 3, 33, 1, 12, 1, 11, 32, 8, 33, 1, 32, 12, 33, 5, 65, 0, 33, 7, 11, 32, 10, 69, 32, 6, 69, 114, 13, 1, 11, 32, 6, 16, 204, 1, 11, 32, 11, 69, 32, 7, 69, 114, 13, 0, 32, 7, 16, 204, 1, 11, 32, 4, 65, 8, 118, 33, 9, 12, 15, 11, 32, 11, 4, 64, 32, 7, 16, 204, 1, 11, 65, 0, 33, 9, 65, 11, 33, 4, 32, 10, 69, 13, 14, 32, 6, 16, 204, 1, 12, 14, 11, 32, 3, 40, 2, 196, 3, 33, 2, 32, 3, 40, 2, 192, 3, 33, 5, 32, 3, 40, 2, 188, 3, 33, 1, 12, 1, 11, 32, 8, 33, 1, 32, 12, 33, 5, 65, 0, 33, 7, 11, 32, 10, 69, 32, 6, 69, 114, 13, 1, 11, 32, 6, 16, 204, 1, 11, 32, 11, 69, 32, 7, 69, 114, 13, 0, 32, 7, 16, 204, 1, 11, 32, 4, 65, 8, 118, 33, 9, 12, 8, 11, 65, 11, 33, 4, 32, 11, 69, 13, 7, 32, 7, 16, 204, 1, 12, 7, 11, 32, 3, 40, 2, 196, 3, 33, 2, 32, 3, 40, 2, 192, 3, 33, 5, 32, 3, 40, 2, 188, 3, 33, 1, 12, 2, 11, 32, 11, 33, 1, 32, 12, 33, 5, 12, 3, 11, 65, 4, 33, 4, 11, 32, 11, 69, 32, 7, 69, 114, 13, 1, 11, 32, 7, 16, 204, 1, 11, 32, 4, 65, 8, 118, 33, 9, 12, 1, 11, 65, 4, 33, 4, 11, 32, 4, 65, 255, 1, 113, 32, 9, 65, 8, 116, 114, 33, 4, 11, 32, 3, 32, 5, 173, 32, 2, 173, 66, 32, 134, 132, 55, 3, 168, 4, 32, 4, 65, 8, 118, 11, 33, 2, 65, 1, 33, 9, 11, 11, 32, 4, 65, 255, 1, 113, 32, 2, 65, 8, 116, 114, 33, 2, 32, 3, 41, 3, 168, 4, 33, 16, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 9, 69, 4, 64, 32, 3, 65, 176, 3, 106, 32, 5, 54, 2, 0, 32, 3, 65, 172, 3, 106, 32, 14, 54, 2, 0, 32, 3, 65, 168, 3, 106, 32, 10, 54, 2, 0, 32, 3, 65, 164, 3, 106, 32, 6, 54, 2, 0, 32, 3, 65, 160, 3, 106, 34, 5, 32, 12, 54, 2, 0, 32, 3, 65, 152, 3, 106, 34, 11, 32, 16, 55, 3, 0, 32, 3, 32, 1, 54, 2, 148, 3, 32, 3, 32, 2, 54, 2, 144, 3, 32, 3, 65, 168, 4, 106, 32, 3, 65, 128, 3, 106, 16, 130, 1, 32, 3, 40, 2, 168, 4, 34, 9, 65, 22, 71, 4, 64, 32, 16, 66, 32, 136, 167, 33, 8, 32, 3, 65, 180, 4, 106, 40, 2, 0, 33, 4, 32, 3, 65, 176, 4, 106, 40, 2, 0, 33, 12, 32, 3, 40, 2, 172, 4, 33, 14, 32, 16, 167, 33, 5, 32, 2, 69, 4, 64, 32, 1, 69, 4, 64, 32, 5, 69, 32, 8, 69, 114, 13, 4, 32, 5, 16, 204, 1, 12, 4, 11, 32, 11, 16, 32, 12, 3, 11, 32, 1, 65, 3, 77, 4, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 1, 107, 14, 3, 1, 2, 6, 0, 11, 32, 5, 69, 32, 8, 69, 114, 69, 4, 64, 32, 5, 16, 204, 1, 11, 32, 10, 69, 32, 6, 69, 114, 13, 5, 32, 6, 16, 204, 1, 12, 5, 11, 32, 5, 69, 32, 8, 69, 114, 69, 4, 64, 32, 5, 16, 204, 1, 11, 32, 10, 69, 32, 6, 69, 114, 13, 4, 32, 6, 16, 204, 1, 12, 4, 11, 32, 5, 69, 32, 8, 69, 114, 13, 3, 32, 5, 16, 204, 1, 12, 3, 11, 32, 5, 69, 32, 8, 69, 114, 13, 2, 32, 5, 16, 204, 1, 12, 2, 11, 32, 3, 65, 184, 4, 106, 32, 5, 65, 16, 106, 40, 2, 0, 34, 12, 54, 2, 0, 32, 3, 65, 176, 4, 106, 32, 5, 65, 8, 106, 41, 2, 0, 34, 17, 55, 3, 0, 32, 3, 32, 5, 41, 2, 0, 34, 18, 55, 3, 168, 4, 32, 0, 65, 12, 106, 32, 16, 55, 2, 0, 32, 0, 65, 8, 106, 32, 1, 54, 2, 0, 32, 0, 32, 2, 54, 2, 4, 32, 0, 65, 20, 106, 32, 18, 55, 2, 0, 32, 0, 65, 28, 106, 32, 17, 55, 2, 0, 32, 0, 65, 36, 106, 32, 12, 54, 2, 0, 32, 0, 65, 0, 54, 2, 0, 12, 2, 11, 32, 16, 66, 32, 136, 167, 33, 4, 32, 16, 167, 33, 12, 32, 1, 33, 14, 32, 2, 33, 9, 11, 32, 3, 65, 176, 4, 106, 32, 12, 173, 32, 4, 173, 66, 32, 134, 132, 55, 3, 0, 32, 3, 32, 14, 54, 2, 172, 4, 32, 3, 32, 9, 54, 2, 168, 4, 65, 166, 1, 65, 1, 16, 73, 34, 1, 69, 13, 1, 32, 3, 66, 166, 1, 55, 2, 148, 3, 32, 3, 32, 1, 54, 2, 144, 3, 32, 3, 65, 144, 3, 106, 65, 166, 1, 16, 6, 32, 3, 40, 2, 152, 3, 34, 1, 32, 3, 40, 2, 144, 3, 106, 65, 224, 150, 192, 0, 65, 166, 1, 16, 154, 2, 26, 32, 3, 65, 240, 3, 106, 32, 1, 65, 166, 1, 106, 54, 2, 0, 32, 3, 32, 3, 41, 3, 144, 3, 55, 3, 232, 3, 32, 3, 65, 0, 54, 2, 192, 3, 32, 3, 66, 1, 55, 3, 184, 3, 32, 3, 32, 3, 65, 168, 4, 106, 54, 2, 136, 4, 32, 3, 65, 30, 54, 2, 204, 4, 32, 3, 32, 3, 65, 136, 4, 106, 54, 2, 200, 4, 32, 3, 32, 3, 65, 184, 3, 106, 54, 2, 152, 4, 32, 3, 65, 164, 3, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 148, 3, 32, 3, 65, 200, 149, 192, 0, 54, 2, 144, 3, 32, 3, 32, 3, 65, 200, 4, 106, 54, 2, 160, 3, 32, 3, 65, 152, 4, 106, 65, 136, 152, 192, 0, 32, 3, 65, 144, 3, 106, 16, 227, 1, 13, 2, 2, 64, 32, 3, 40, 2, 188, 3, 34, 2, 32, 3, 40, 2, 192, 3, 34, 1, 70, 13, 0, 32, 2, 32, 1, 73, 13, 4, 32, 2, 69, 13, 0, 32, 3, 40, 2, 184, 3, 34, 12, 69, 13, 0, 2, 64, 32, 1, 69, 4, 64, 65, 1, 33, 4, 32, 12, 16, 204, 1, 12, 1, 11, 32, 12, 32, 2, 65, 1, 32, 1, 16, 74, 34, 4, 69, 13, 6, 11, 32, 3, 32, 1, 54, 2, 188, 3, 32, 3, 32, 4, 54, 2, 184, 3, 11, 32, 3, 65, 152, 3, 106, 34, 2, 32, 3, 65, 240, 3, 106, 34, 1, 40, 2, 0, 54, 2, 0, 32, 3, 65, 164, 3, 106, 34, 12, 32, 3, 65, 192, 3, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 232, 3, 55, 3, 144, 3, 32, 3, 32, 3, 41, 3, 184, 3, 55, 2, 156, 3, 16, 157, 1, 33, 5, 32, 3, 65, 194, 3, 106, 32, 2, 40, 2, 0, 54, 1, 0, 32, 1, 32, 12, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 144, 3, 55, 1, 186, 3, 32, 3, 32, 3, 41, 2, 156, 3, 55, 3, 232, 3, 2, 64, 32, 3, 40, 2, 168, 4, 65, 20, 71, 13, 0, 32, 3, 40, 2, 172, 4, 34, 2, 69, 13, 0, 32, 3, 40, 2, 176, 4, 69, 13, 0, 32, 2, 16, 204, 1, 11, 32, 0, 32, 5, 58, 0, 5, 32, 0, 65, 4, 58, 0, 4, 32, 0, 32, 3, 41, 1, 184, 3, 55, 1, 6, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 20, 106, 32, 3, 41, 3, 232, 3, 55, 2, 0, 32, 0, 65, 12, 106, 32, 3, 65, 190, 3, 106, 41, 1, 0, 55, 1, 0, 32, 0, 65, 28, 106, 32, 1, 40, 2, 0, 54, 2, 0, 11, 32, 3, 65, 224, 4, 106, 36, 0, 15, 11, 65, 166, 1, 16, 29, 0, 11, 65, 208, 149, 192, 0, 65, 55, 32, 3, 65, 144, 3, 106, 65, 252, 152, 192, 0, 65, 208, 150, 192, 0, 16, 235, 1, 0, 11, 65, 208, 154, 192, 0, 65, 36, 65, 192, 154, 192, 0, 16, 219, 1, 0, 11, 32, 1, 65, 1, 16, 211, 1, 0, 11, 207, 100, 1, 14, 127, 35, 0, 65, 192, 5, 107, 34, 2, 36, 0, 32, 2, 65, 248, 4, 106, 32, 1, 16, 95, 32, 2, 65, 132, 5, 106, 33, 4, 32, 2, 65, 128, 5, 106, 33, 6, 2, 64, 2, 64, 2, 127, 32, 2, 45, 0, 248, 4, 65, 1, 70, 4, 64, 32, 2, 65, 136, 5, 106, 40, 2, 0, 33, 1, 32, 4, 40, 2, 0, 33, 4, 32, 2, 40, 2, 252, 4, 33, 5, 32, 6, 40, 2, 0, 12, 1, 11, 32, 2, 45, 0, 249, 4, 33, 7, 32, 2, 65, 248, 4, 106, 32, 1, 16, 133, 1, 32, 2, 40, 2, 248, 4, 34, 5, 65, 22, 70, 13, 1, 32, 4, 40, 2, 0, 33, 1, 32, 6, 40, 2, 0, 33, 4, 32, 2, 40, 2, 252, 4, 11, 33, 9, 32, 0, 32, 5, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 9, 54, 2, 0, 12, 1, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 7, 65, 1, 107, 14, 7, 5, 4, 3, 2, 1, 0, 7, 6, 11, 32, 2, 65, 200, 3, 106, 32, 1, 16, 135, 1, 2, 64, 32, 0, 2, 127, 65, 4, 32, 2, 45, 0, 200, 3, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 2, 45, 0, 201, 3, 65, 251, 0, 71, 13, 0, 26, 32, 1, 16, 129, 1, 32, 2, 65, 192, 3, 106, 32, 1, 16, 127, 32, 2, 45, 0, 196, 3, 33, 9, 32, 2, 65, 184, 3, 106, 32, 2, 40, 2, 192, 3, 34, 4, 16, 135, 1, 65, 1, 33, 3, 2, 127, 2, 64, 2, 64, 32, 2, 45, 0, 184, 3, 65, 1, 113, 69, 13, 0, 32, 2, 45, 0, 185, 3, 33, 6, 32, 9, 65, 1, 113, 33, 5, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 6, 65, 255, 1, 113, 34, 7, 65, 44, 71, 4, 64, 32, 7, 65, 253, 0, 70, 13, 2, 32, 5, 65, 255, 1, 113, 13, 1, 65, 9, 33, 5, 12, 7, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 5, 12, 7, 11, 32, 4, 16, 129, 1, 32, 2, 65, 176, 3, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 176, 3, 65, 1, 113, 69, 13, 3, 32, 2, 45, 0, 177, 3, 33, 6, 11, 32, 6, 65, 255, 1, 113, 34, 9, 65, 34, 71, 4, 64, 65, 16, 33, 5, 32, 9, 65, 253, 0, 71, 13, 6, 65, 19, 33, 5, 12, 6, 11, 32, 2, 65, 168, 3, 106, 32, 4, 16, 135, 1, 32, 2, 45, 0, 168, 3, 65, 1, 113, 69, 13, 2, 32, 2, 45, 0, 169, 3, 65, 34, 71, 4, 64, 65, 14, 33, 5, 12, 6, 11, 32, 4, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 4, 16, 134, 1, 32, 2, 40, 2, 176, 5, 33, 6, 32, 2, 40, 2, 172, 5, 33, 5, 32, 2, 40, 2, 168, 5, 65, 1, 71, 4, 64, 32, 5, 69, 32, 6, 69, 114, 13, 2, 32, 5, 16, 204, 1, 12, 2, 11, 32, 5, 65, 22, 70, 13, 1, 32, 2, 40, 2, 184, 5, 33, 7, 32, 2, 40, 2, 180, 5, 33, 4, 12, 5, 11, 65, 0, 33, 3, 65, 6, 33, 5, 65, 0, 12, 5, 11, 32, 2, 65, 168, 5, 106, 32, 4, 16, 133, 1, 2, 64, 2, 64, 32, 2, 40, 2, 168, 5, 34, 5, 65, 22, 71, 4, 64, 32, 2, 40, 2, 176, 5, 33, 4, 32, 2, 40, 2, 172, 5, 33, 6, 32, 2, 32, 2, 40, 2, 180, 5, 34, 7, 54, 2, 164, 5, 32, 2, 32, 4, 54, 2, 160, 5, 32, 2, 32, 6, 54, 2, 156, 5, 32, 2, 32, 5, 54, 2, 152, 5, 12, 1, 11, 32, 2, 65, 152, 5, 106, 32, 4, 16, 90, 32, 2, 40, 2, 152, 5, 34, 5, 65, 22, 70, 13, 1, 32, 2, 40, 2, 164, 5, 33, 7, 32, 2, 40, 2, 160, 5, 33, 4, 32, 2, 40, 2, 156, 5, 33, 6, 11, 32, 5, 65, 128, 128, 124, 113, 33, 12, 32, 5, 65, 128, 126, 113, 12, 5, 11, 32, 2, 65, 160, 3, 106, 32, 4, 16, 135, 1, 65, 0, 33, 5, 32, 2, 45, 0, 161, 3, 33, 6, 32, 2, 45, 0, 160, 3, 65, 1, 113, 13, 1, 12, 2, 11, 11, 65, 4, 33, 5, 12, 1, 11, 65, 2, 33, 5, 11, 32, 5, 65, 128, 128, 124, 113, 33, 12, 32, 5, 65, 128, 126, 113, 11, 32, 2, 65, 160, 4, 106, 34, 9, 32, 2, 65, 176, 4, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 168, 4, 55, 3, 152, 4, 65, 128, 254, 3, 113, 32, 5, 65, 255, 1, 113, 114, 32, 12, 114, 34, 5, 32, 3, 13, 0, 26, 32, 2, 65, 132, 5, 106, 32, 7, 54, 2, 0, 32, 2, 65, 128, 5, 106, 32, 4, 54, 2, 0, 32, 2, 65, 136, 5, 106, 34, 10, 32, 2, 41, 3, 152, 4, 55, 3, 0, 32, 2, 65, 144, 5, 106, 32, 9, 40, 2, 0, 54, 2, 0, 32, 2, 32, 6, 54, 2, 252, 4, 32, 2, 32, 5, 54, 2, 248, 4, 32, 2, 65, 168, 5, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 168, 5, 34, 9, 65, 22, 70, 13, 1, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 172, 5, 33, 6, 32, 2, 65, 248, 4, 106, 16, 32, 32, 9, 11, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 6, 54, 2, 0, 12, 8, 11, 32, 2, 65, 228, 4, 106, 32, 7, 54, 2, 0, 32, 2, 65, 224, 4, 106, 32, 4, 54, 2, 0, 32, 2, 65, 232, 4, 106, 32, 10, 41, 2, 0, 55, 3, 0, 32, 2, 65, 240, 4, 106, 32, 10, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 6, 54, 2, 220, 4, 32, 2, 32, 5, 54, 2, 216, 4, 32, 2, 65, 152, 3, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 152, 3, 65, 1, 113, 69, 4, 64, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 32, 2, 65, 216, 4, 106, 16, 32, 12, 8, 11, 32, 2, 45, 0, 153, 3, 65, 253, 0, 70, 4, 64, 32, 1, 16, 129, 1, 32, 0, 65, 28, 106, 32, 2, 65, 240, 4, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 232, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 224, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 41, 3, 216, 4, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 12, 8, 11, 32, 0, 65, 11, 54, 2, 4, 32, 2, 65, 216, 4, 106, 16, 32, 32, 0, 65, 1, 54, 2, 0, 12, 7, 11, 32, 2, 65, 144, 3, 106, 32, 1, 16, 135, 1, 2, 64, 32, 0, 2, 127, 65, 4, 32, 2, 45, 0, 144, 3, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 2, 45, 0, 145, 3, 65, 251, 0, 71, 13, 0, 26, 32, 1, 16, 129, 1, 32, 2, 65, 136, 3, 106, 32, 1, 16, 127, 32, 2, 45, 0, 140, 3, 33, 5, 32, 2, 65, 128, 3, 106, 32, 2, 40, 2, 136, 3, 34, 6, 16, 135, 1, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 128, 3, 65, 1, 113, 69, 4, 64, 65, 2, 33, 3, 12, 1, 11, 32, 2, 45, 0, 129, 3, 33, 4, 32, 5, 65, 1, 113, 33, 5, 2, 64, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 3, 65, 44, 71, 4, 64, 32, 3, 65, 253, 0, 70, 13, 3, 32, 5, 65, 255, 1, 113, 13, 1, 65, 9, 33, 3, 12, 9, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 3, 12, 9, 11, 32, 6, 16, 129, 1, 32, 2, 65, 248, 2, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 248, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 9, 11, 32, 2, 45, 0, 249, 2, 33, 4, 11, 32, 4, 65, 255, 1, 113, 34, 11, 65, 34, 71, 4, 64, 65, 19, 33, 3, 32, 11, 65, 253, 0, 70, 13, 8, 65, 16, 33, 3, 12, 8, 11, 32, 2, 65, 240, 2, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 240, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 8, 11, 32, 2, 45, 0, 241, 2, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 8, 11, 32, 6, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 6, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 5, 32, 2, 40, 2, 176, 5, 33, 4, 32, 2, 40, 2, 172, 5, 33, 3, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 168, 5, 65, 1, 71, 4, 64, 65, 2, 33, 11, 2, 64, 32, 5, 65, 125, 106, 34, 5, 65, 3, 75, 13, 0, 2, 64, 2, 64, 32, 5, 65, 1, 107, 14, 3, 2, 2, 0, 1, 11, 32, 3, 65, 173, 170, 192, 0, 71, 4, 64, 32, 3, 65, 173, 170, 192, 0, 65, 6, 16, 156, 2, 13, 2, 11, 65, 0, 33, 11, 12, 1, 11, 32, 3, 65, 231, 169, 192, 0, 71, 4, 64, 32, 3, 65, 231, 169, 192, 0, 65, 3, 16, 156, 2, 13, 1, 11, 65, 1, 33, 11, 11, 32, 4, 4, 64, 32, 3, 16, 204, 1, 11, 32, 11, 65, 1, 75, 13, 1, 32, 11, 65, 1, 107, 13, 2, 12, 3, 11, 32, 2, 40, 2, 184, 5, 33, 13, 12, 12, 11, 32, 2, 65, 168, 5, 106, 32, 6, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 70, 13, 2, 32, 2, 40, 2, 176, 5, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 32, 2, 40, 2, 180, 5, 34, 13, 54, 2, 164, 5, 32, 2, 32, 5, 54, 2, 160, 5, 32, 2, 32, 4, 54, 2, 156, 5, 32, 2, 32, 3, 54, 2, 152, 5, 12, 11, 11, 2, 64, 32, 9, 69, 4, 64, 32, 2, 65, 168, 5, 106, 32, 6, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 5, 33, 13, 32, 2, 40, 2, 176, 5, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 65, 0, 33, 9, 12, 13, 11, 32, 2, 65, 224, 2, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 224, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 12, 11, 32, 2, 45, 0, 225, 2, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 12, 11, 32, 6, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 6, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 7, 32, 2, 40, 2, 176, 5, 33, 8, 32, 2, 40, 2, 172, 5, 33, 9, 32, 2, 40, 2, 168, 5, 65, 1, 71, 13, 1, 32, 2, 40, 2, 184, 5, 33, 13, 32, 8, 33, 4, 32, 7, 33, 5, 32, 9, 33, 3, 65, 0, 33, 9, 12, 12, 11, 32, 2, 65, 168, 5, 106, 65, 173, 170, 192, 0, 65, 6, 16, 87, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 13, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 168, 5, 33, 3, 12, 11, 11, 32, 8, 33, 14, 12, 2, 11, 32, 12, 13, 4, 32, 2, 65, 168, 5, 106, 32, 6, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 5, 33, 13, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 176, 5, 12, 8, 11, 32, 2, 65, 232, 2, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 232, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 7, 11, 32, 2, 45, 0, 233, 2, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 7, 11, 32, 6, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 6, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 15, 32, 2, 40, 2, 176, 5, 33, 10, 32, 2, 40, 2, 172, 5, 33, 12, 32, 2, 40, 2, 168, 5, 65, 1, 71, 13, 1, 32, 2, 40, 2, 184, 5, 33, 13, 32, 12, 33, 3, 32, 10, 33, 4, 32, 15, 12, 7, 11, 32, 2, 65, 152, 5, 106, 32, 6, 16, 90, 32, 2, 40, 2, 152, 5, 34, 3, 65, 22, 71, 13, 4, 11, 32, 2, 65, 216, 2, 106, 32, 6, 16, 135, 1, 65, 0, 33, 5, 32, 2, 45, 0, 217, 2, 33, 4, 32, 2, 45, 0, 216, 2, 65, 1, 113, 13, 0, 11, 65, 2, 33, 3, 12, 6, 11, 32, 9, 69, 4, 64, 32, 2, 65, 168, 5, 106, 65, 173, 170, 192, 0, 65, 6, 16, 85, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 13, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 168, 5, 33, 3, 65, 0, 33, 9, 12, 6, 11, 32, 12, 69, 4, 64, 32, 2, 65, 168, 5, 106, 65, 231, 169, 192, 0, 65, 3, 16, 85, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 8, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 65, 1, 33, 11, 32, 14, 69, 13, 9, 32, 9, 16, 204, 1, 12, 9, 11, 65, 0, 33, 11, 65, 5, 33, 3, 32, 9, 33, 4, 32, 14, 33, 5, 65, 0, 33, 6, 12, 8, 11, 32, 2, 65, 168, 5, 106, 65, 231, 169, 192, 0, 65, 3, 16, 87, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 8, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 13, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 10, 13, 5, 12, 6, 11, 32, 2, 40, 2, 164, 5, 33, 13, 32, 2, 40, 2, 160, 5, 33, 5, 32, 2, 40, 2, 156, 5, 33, 4, 12, 3, 11, 32, 10, 33, 4, 32, 15, 11, 33, 5, 32, 3, 65, 16, 118, 33, 8, 32, 3, 65, 8, 118, 33, 6, 12, 3, 11, 32, 8, 33, 4, 32, 7, 33, 5, 65, 0, 33, 9, 11, 32, 3, 65, 8, 118, 33, 6, 32, 3, 65, 16, 118, 33, 8, 32, 10, 69, 32, 12, 69, 114, 13, 1, 11, 32, 12, 16, 204, 1, 11, 65, 1, 33, 11, 32, 14, 69, 32, 9, 69, 114, 69, 4, 64, 32, 9, 16, 204, 1, 11, 32, 13, 33, 7, 11, 32, 3, 65, 255, 1, 113, 32, 6, 65, 255, 1, 113, 65, 8, 116, 114, 32, 8, 65, 16, 116, 114, 34, 8, 32, 11, 13, 0, 26, 32, 2, 65, 144, 5, 106, 32, 15, 54, 2, 0, 32, 2, 65, 140, 5, 106, 32, 10, 54, 2, 0, 32, 2, 65, 136, 5, 106, 34, 10, 32, 12, 54, 2, 0, 32, 2, 65, 132, 5, 106, 32, 7, 54, 2, 0, 32, 2, 65, 128, 5, 106, 32, 5, 54, 2, 0, 32, 2, 32, 4, 54, 2, 252, 4, 32, 2, 32, 8, 54, 2, 248, 4, 32, 2, 65, 168, 5, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 168, 5, 34, 9, 65, 22, 70, 13, 1, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 65, 248, 4, 106, 16, 32, 32, 9, 11, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 7, 11, 32, 2, 65, 228, 4, 106, 32, 7, 54, 2, 0, 32, 2, 65, 224, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 232, 4, 106, 32, 10, 41, 2, 0, 55, 3, 0, 32, 2, 65, 240, 4, 106, 32, 10, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 220, 4, 32, 2, 32, 8, 54, 2, 216, 4, 32, 2, 65, 208, 2, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 208, 2, 65, 1, 113, 69, 4, 64, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 32, 2, 65, 216, 4, 106, 16, 32, 12, 7, 11, 32, 2, 45, 0, 209, 2, 65, 253, 0, 70, 4, 64, 32, 1, 16, 129, 1, 32, 0, 65, 28, 106, 32, 2, 65, 240, 4, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 232, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 224, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 41, 3, 216, 4, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 12, 7, 11, 32, 0, 65, 11, 54, 2, 4, 32, 2, 65, 216, 4, 106, 16, 32, 32, 0, 65, 1, 54, 2, 0, 12, 6, 11, 32, 2, 65, 200, 2, 106, 32, 1, 16, 135, 1, 2, 64, 32, 0, 2, 127, 65, 4, 32, 2, 45, 0, 200, 2, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 2, 45, 0, 201, 2, 65, 251, 0, 71, 13, 0, 26, 32, 1, 16, 129, 1, 32, 2, 65, 192, 2, 106, 32, 1, 16, 127, 32, 2, 45, 0, 196, 2, 33, 5, 32, 2, 65, 184, 2, 106, 32, 2, 40, 2, 192, 2, 34, 6, 16, 135, 1, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 184, 2, 65, 1, 113, 69, 4, 64, 65, 2, 33, 3, 12, 1, 11, 32, 2, 45, 0, 185, 2, 33, 4, 32, 5, 65, 1, 113, 33, 5, 2, 64, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 3, 65, 44, 71, 4, 64, 32, 3, 65, 253, 0, 70, 13, 3, 32, 5, 65, 255, 1, 113, 13, 1, 65, 9, 33, 3, 12, 9, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 3, 12, 9, 11, 32, 6, 16, 129, 1, 32, 2, 65, 176, 2, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 176, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 9, 11, 32, 2, 45, 0, 177, 2, 33, 4, 11, 32, 4, 65, 255, 1, 113, 34, 11, 65, 34, 71, 4, 64, 65, 19, 33, 3, 32, 11, 65, 253, 0, 70, 13, 8, 65, 16, 33, 3, 12, 8, 11, 32, 2, 65, 168, 2, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 168, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 8, 11, 32, 2, 45, 0, 169, 2, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 8, 11, 32, 6, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 6, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 5, 32, 2, 40, 2, 176, 5, 33, 4, 32, 2, 40, 2, 172, 5, 33, 3, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 168, 5, 65, 1, 71, 4, 64, 65, 2, 33, 11, 2, 64, 32, 5, 65, 125, 106, 34, 5, 65, 3, 75, 13, 0, 2, 64, 2, 64, 32, 5, 65, 1, 107, 14, 3, 2, 2, 0, 1, 11, 32, 3, 65, 154, 170, 192, 0, 71, 4, 64, 32, 3, 65, 154, 170, 192, 0, 65, 6, 16, 156, 2, 13, 2, 11, 65, 0, 33, 11, 12, 1, 11, 32, 3, 65, 231, 169, 192, 0, 71, 4, 64, 32, 3, 65, 231, 169, 192, 0, 65, 3, 16, 156, 2, 13, 1, 11, 65, 1, 33, 11, 11, 32, 4, 4, 64, 32, 3, 16, 204, 1, 11, 32, 11, 65, 1, 75, 13, 1, 32, 11, 65, 1, 107, 13, 2, 12, 3, 11, 32, 2, 40, 2, 184, 5, 33, 13, 12, 12, 11, 32, 2, 65, 168, 5, 106, 32, 6, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 70, 13, 2, 32, 2, 40, 2, 176, 5, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 32, 2, 40, 2, 180, 5, 34, 13, 54, 2, 164, 5, 32, 2, 32, 5, 54, 2, 160, 5, 32, 2, 32, 4, 54, 2, 156, 5, 32, 2, 32, 3, 54, 2, 152, 5, 12, 11, 11, 2, 64, 32, 9, 69, 4, 64, 32, 2, 65, 168, 5, 106, 32, 6, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 5, 33, 13, 32, 2, 40, 2, 176, 5, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 65, 0, 33, 9, 12, 13, 11, 32, 2, 65, 152, 2, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 152, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 12, 11, 32, 2, 45, 0, 153, 2, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 12, 11, 32, 6, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 6, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 7, 32, 2, 40, 2, 176, 5, 33, 8, 32, 2, 40, 2, 172, 5, 33, 9, 32, 2, 40, 2, 168, 5, 65, 1, 71, 13, 1, 32, 2, 40, 2, 184, 5, 33, 13, 32, 8, 33, 4, 32, 7, 33, 5, 32, 9, 33, 3, 65, 0, 33, 9, 12, 12, 11, 32, 2, 65, 168, 5, 106, 65, 154, 170, 192, 0, 65, 6, 16, 87, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 13, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 168, 5, 33, 3, 12, 11, 11, 32, 8, 33, 14, 12, 2, 11, 32, 12, 13, 4, 32, 2, 65, 168, 5, 106, 32, 6, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 5, 33, 13, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 176, 5, 12, 8, 11, 32, 2, 65, 160, 2, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 160, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 7, 11, 32, 2, 45, 0, 161, 2, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 7, 11, 32, 6, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 6, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 15, 32, 2, 40, 2, 176, 5, 33, 10, 32, 2, 40, 2, 172, 5, 33, 12, 32, 2, 40, 2, 168, 5, 65, 1, 71, 13, 1, 32, 2, 40, 2, 184, 5, 33, 13, 32, 12, 33, 3, 32, 10, 33, 4, 32, 15, 12, 7, 11, 32, 2, 65, 152, 5, 106, 32, 6, 16, 90, 32, 2, 40, 2, 152, 5, 34, 3, 65, 22, 71, 13, 4, 11, 32, 2, 65, 144, 2, 106, 32, 6, 16, 135, 1, 65, 0, 33, 5, 32, 2, 45, 0, 145, 2, 33, 4, 32, 2, 45, 0, 144, 2, 65, 1, 113, 13, 0, 11, 65, 2, 33, 3, 12, 6, 11, 32, 9, 69, 4, 64, 32, 2, 65, 168, 5, 106, 65, 154, 170, 192, 0, 65, 6, 16, 85, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 13, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 168, 5, 33, 3, 65, 0, 33, 9, 12, 6, 11, 32, 12, 69, 4, 64, 32, 2, 65, 168, 5, 106, 65, 231, 169, 192, 0, 65, 3, 16, 85, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 8, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 65, 1, 33, 11, 32, 14, 69, 13, 9, 32, 9, 16, 204, 1, 12, 9, 11, 65, 0, 33, 11, 65, 4, 33, 3, 32, 9, 33, 4, 32, 14, 33, 5, 65, 0, 33, 6, 12, 8, 11, 32, 2, 65, 168, 5, 106, 65, 231, 169, 192, 0, 65, 3, 16, 87, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 8, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 13, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 10, 13, 5, 12, 6, 11, 32, 2, 40, 2, 164, 5, 33, 13, 32, 2, 40, 2, 160, 5, 33, 5, 32, 2, 40, 2, 156, 5, 33, 4, 12, 3, 11, 32, 10, 33, 4, 32, 15, 11, 33, 5, 32, 3, 65, 16, 118, 33, 8, 32, 3, 65, 8, 118, 33, 6, 12, 3, 11, 32, 8, 33, 4, 32, 7, 33, 5, 65, 0, 33, 9, 11, 32, 3, 65, 8, 118, 33, 6, 32, 3, 65, 16, 118, 33, 8, 32, 10, 69, 32, 12, 69, 114, 13, 1, 11, 32, 12, 16, 204, 1, 11, 65, 1, 33, 11, 32, 14, 69, 32, 9, 69, 114, 69, 4, 64, 32, 9, 16, 204, 1, 11, 32, 13, 33, 7, 11, 32, 3, 65, 255, 1, 113, 32, 6, 65, 255, 1, 113, 65, 8, 116, 114, 32, 8, 65, 16, 116, 114, 34, 8, 32, 11, 13, 0, 26, 32, 2, 65, 144, 5, 106, 32, 15, 54, 2, 0, 32, 2, 65, 140, 5, 106, 32, 10, 54, 2, 0, 32, 2, 65, 136, 5, 106, 34, 10, 32, 12, 54, 2, 0, 32, 2, 65, 132, 5, 106, 32, 7, 54, 2, 0, 32, 2, 65, 128, 5, 106, 32, 5, 54, 2, 0, 32, 2, 32, 4, 54, 2, 252, 4, 32, 2, 32, 8, 54, 2, 248, 4, 32, 2, 65, 168, 5, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 168, 5, 34, 9, 65, 22, 70, 13, 1, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 65, 248, 4, 106, 16, 32, 32, 9, 11, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 6, 11, 32, 2, 65, 228, 4, 106, 32, 7, 54, 2, 0, 32, 2, 65, 224, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 232, 4, 106, 32, 10, 41, 2, 0, 55, 3, 0, 32, 2, 65, 240, 4, 106, 32, 10, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 220, 4, 32, 2, 32, 8, 54, 2, 216, 4, 32, 2, 65, 136, 2, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 136, 2, 65, 1, 113, 69, 4, 64, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 32, 2, 65, 216, 4, 106, 16, 32, 12, 6, 11, 32, 2, 45, 0, 137, 2, 65, 253, 0, 70, 4, 64, 32, 1, 16, 129, 1, 32, 0, 65, 28, 106, 32, 2, 65, 240, 4, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 232, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 224, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 41, 3, 216, 4, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 12, 6, 11, 32, 0, 65, 11, 54, 2, 4, 32, 2, 65, 216, 4, 106, 16, 32, 32, 0, 65, 1, 54, 2, 0, 12, 5, 11, 32, 2, 65, 128, 2, 106, 32, 1, 16, 135, 1, 2, 64, 32, 0, 2, 127, 65, 4, 32, 2, 45, 0, 128, 2, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 2, 45, 0, 129, 2, 65, 251, 0, 71, 13, 0, 26, 32, 1, 16, 129, 1, 32, 2, 65, 248, 1, 106, 32, 1, 16, 127, 32, 2, 45, 0, 252, 1, 33, 5, 32, 2, 65, 240, 1, 106, 32, 2, 40, 2, 248, 1, 34, 8, 16, 135, 1, 65, 1, 33, 12, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 2, 64, 2, 127, 32, 2, 45, 0, 240, 1, 65, 1, 113, 69, 4, 64, 65, 0, 33, 6, 65, 2, 12, 1, 11, 32, 2, 45, 0, 241, 1, 33, 4, 32, 5, 65, 1, 113, 33, 5, 2, 64, 3, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 7, 65, 44, 71, 4, 64, 32, 7, 65, 253, 0, 70, 13, 3, 32, 5, 65, 255, 1, 113, 13, 1, 65, 9, 33, 3, 12, 9, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 3, 12, 9, 11, 32, 8, 16, 129, 1, 32, 2, 65, 232, 1, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 232, 1, 65, 1, 113, 69, 13, 7, 32, 2, 45, 0, 233, 1, 33, 4, 11, 32, 4, 65, 255, 1, 113, 34, 4, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 4, 65, 253, 0, 70, 27, 33, 3, 12, 8, 11, 32, 2, 65, 224, 1, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 224, 1, 65, 1, 113, 69, 13, 6, 32, 2, 45, 0, 225, 1, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 8, 11, 32, 8, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 8, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 5, 32, 2, 40, 2, 176, 5, 33, 4, 32, 2, 40, 2, 172, 5, 33, 3, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 168, 5, 65, 1, 71, 4, 64, 65, 1, 33, 7, 2, 64, 32, 5, 65, 4, 71, 13, 0, 32, 3, 65, 141, 170, 192, 0, 71, 4, 64, 32, 3, 40, 0, 0, 65, 235, 210, 185, 163, 6, 71, 13, 1, 11, 65, 0, 33, 7, 11, 32, 4, 4, 64, 32, 3, 16, 204, 1, 11, 32, 7, 69, 13, 1, 32, 2, 65, 168, 5, 106, 32, 8, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 70, 13, 2, 32, 2, 40, 2, 176, 5, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 32, 2, 40, 2, 180, 5, 34, 7, 54, 2, 164, 5, 32, 2, 32, 5, 54, 2, 160, 5, 32, 2, 32, 4, 54, 2, 156, 5, 32, 2, 32, 3, 54, 2, 152, 5, 12, 11, 11, 32, 2, 40, 2, 184, 5, 33, 7, 12, 10, 11, 32, 10, 69, 4, 64, 32, 2, 65, 168, 5, 106, 32, 8, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 5, 33, 7, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 176, 5, 12, 9, 11, 32, 2, 65, 216, 1, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 216, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 8, 11, 32, 2, 45, 0, 217, 1, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 8, 11, 32, 8, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 8, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 11, 32, 2, 40, 2, 176, 5, 33, 9, 32, 2, 40, 2, 172, 5, 33, 10, 32, 2, 40, 2, 168, 5, 65, 1, 71, 13, 2, 32, 2, 40, 2, 184, 5, 33, 7, 32, 10, 33, 3, 32, 9, 33, 4, 32, 11, 12, 8, 11, 32, 2, 65, 168, 5, 106, 65, 141, 170, 192, 0, 65, 4, 16, 87, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 11, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 9, 13, 10, 12, 11, 11, 32, 2, 65, 152, 5, 106, 32, 8, 16, 90, 32, 2, 40, 2, 152, 5, 34, 3, 65, 22, 71, 13, 4, 11, 32, 2, 65, 208, 1, 106, 32, 8, 16, 135, 1, 65, 0, 33, 5, 32, 2, 45, 0, 209, 1, 33, 4, 32, 2, 45, 0, 208, 1, 65, 1, 113, 13, 0, 11, 65, 2, 33, 3, 12, 6, 11, 32, 10, 69, 4, 64, 32, 2, 65, 168, 5, 106, 65, 141, 170, 192, 0, 65, 4, 16, 85, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 11, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 12, 8, 11, 65, 0, 33, 12, 32, 10, 33, 4, 32, 9, 33, 5, 32, 11, 33, 7, 65, 0, 33, 6, 65, 3, 11, 33, 3, 65, 0, 33, 11, 12, 6, 11, 32, 2, 40, 2, 164, 5, 33, 7, 32, 2, 40, 2, 160, 5, 33, 5, 32, 2, 40, 2, 156, 5, 33, 4, 12, 3, 11, 32, 9, 33, 4, 32, 11, 11, 33, 5, 32, 3, 65, 16, 118, 33, 11, 32, 3, 65, 8, 118, 33, 6, 12, 3, 11, 65, 4, 33, 3, 11, 32, 3, 65, 8, 118, 33, 6, 32, 3, 65, 16, 118, 33, 11, 32, 9, 69, 32, 10, 69, 114, 13, 1, 11, 32, 10, 16, 204, 1, 11, 32, 2, 65, 160, 4, 106, 34, 9, 32, 2, 65, 176, 4, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 168, 4, 55, 3, 152, 4, 32, 6, 65, 8, 116, 65, 128, 254, 3, 113, 32, 3, 65, 255, 1, 113, 114, 32, 11, 65, 16, 116, 114, 34, 8, 32, 12, 13, 0, 26, 32, 2, 65, 132, 5, 106, 32, 7, 54, 2, 0, 32, 2, 65, 128, 5, 106, 32, 5, 54, 2, 0, 32, 2, 65, 136, 5, 106, 34, 10, 32, 2, 41, 3, 152, 4, 55, 3, 0, 32, 2, 65, 144, 5, 106, 32, 9, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 252, 4, 32, 2, 32, 8, 54, 2, 248, 4, 32, 2, 65, 168, 5, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 168, 5, 34, 9, 65, 22, 70, 13, 1, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 65, 248, 4, 106, 16, 32, 32, 9, 11, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 5, 11, 32, 2, 65, 228, 4, 106, 32, 7, 54, 2, 0, 32, 2, 65, 224, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 232, 4, 106, 32, 10, 41, 2, 0, 55, 3, 0, 32, 2, 65, 240, 4, 106, 32, 10, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 220, 4, 32, 2, 32, 8, 54, 2, 216, 4, 32, 2, 65, 200, 1, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 200, 1, 65, 1, 113, 69, 4, 64, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 32, 2, 65, 216, 4, 106, 16, 32, 12, 5, 11, 32, 2, 45, 0, 201, 1, 65, 253, 0, 70, 4, 64, 32, 1, 16, 129, 1, 32, 0, 65, 28, 106, 32, 2, 65, 240, 4, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 232, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 224, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 41, 3, 216, 4, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 12, 5, 11, 32, 0, 65, 11, 54, 2, 4, 32, 2, 65, 216, 4, 106, 16, 32, 32, 0, 65, 1, 54, 2, 0, 12, 4, 11, 32, 2, 65, 192, 1, 106, 32, 1, 16, 135, 1, 2, 64, 32, 0, 2, 127, 65, 4, 32, 2, 45, 0, 192, 1, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 2, 45, 0, 193, 1, 65, 251, 0, 71, 13, 0, 26, 32, 1, 16, 129, 1, 32, 2, 65, 184, 1, 106, 32, 1, 16, 127, 32, 2, 45, 0, 188, 1, 33, 5, 32, 2, 65, 176, 1, 106, 32, 2, 40, 2, 184, 1, 34, 14, 16, 135, 1, 65, 1, 33, 3, 65, 2, 33, 12, 2, 64, 2, 64, 2, 127, 2, 64, 2, 127, 2, 64, 2, 64, 2, 127, 65, 0, 32, 2, 45, 0, 176, 1, 65, 1, 113, 69, 13, 0, 26, 32, 2, 45, 0, 177, 1, 33, 4, 32, 5, 65, 1, 113, 33, 5, 2, 64, 3, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 7, 65, 44, 71, 4, 64, 32, 7, 65, 253, 0, 70, 13, 3, 32, 5, 65, 255, 1, 113, 13, 1, 65, 9, 12, 9, 11, 65, 16, 32, 5, 65, 255, 1, 113, 13, 8, 26, 32, 14, 16, 129, 1, 32, 2, 65, 168, 1, 106, 32, 14, 16, 135, 1, 32, 2, 45, 0, 168, 1, 65, 1, 113, 69, 13, 7, 32, 2, 45, 0, 169, 1, 33, 4, 11, 32, 4, 65, 255, 1, 113, 34, 4, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 4, 65, 253, 0, 70, 27, 12, 8, 11, 32, 2, 65, 160, 1, 106, 32, 14, 16, 135, 1, 32, 2, 45, 0, 160, 1, 65, 1, 113, 69, 13, 6, 65, 14, 32, 2, 45, 0, 161, 1, 65, 34, 71, 13, 7, 26, 32, 14, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 14, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 5, 32, 2, 40, 2, 176, 5, 33, 4, 32, 2, 40, 2, 172, 5, 33, 8, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 168, 5, 65, 1, 71, 4, 64, 65, 1, 33, 7, 2, 64, 32, 5, 65, 3, 71, 13, 0, 32, 8, 65, 231, 169, 192, 0, 71, 4, 64, 32, 8, 65, 231, 169, 192, 0, 65, 3, 16, 156, 2, 13, 1, 11, 65, 0, 33, 7, 11, 32, 4, 4, 64, 32, 8, 16, 204, 1, 11, 32, 7, 69, 13, 1, 32, 2, 65, 168, 5, 106, 32, 14, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 8, 65, 22, 70, 13, 2, 32, 2, 40, 2, 176, 5, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 32, 2, 40, 2, 180, 5, 34, 7, 54, 2, 164, 5, 32, 2, 32, 5, 54, 2, 160, 5, 32, 2, 32, 4, 54, 2, 156, 5, 32, 2, 32, 8, 54, 2, 152, 5, 32, 8, 12, 11, 11, 32, 2, 40, 2, 184, 5, 33, 7, 32, 8, 12, 10, 11, 32, 10, 69, 4, 64, 32, 2, 65, 168, 5, 106, 32, 14, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 10, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 5, 33, 7, 32, 2, 40, 2, 172, 5, 33, 4, 32, 10, 33, 12, 32, 2, 40, 2, 176, 5, 12, 9, 11, 32, 2, 65, 152, 1, 106, 32, 14, 16, 135, 1, 32, 2, 45, 0, 152, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 12, 12, 8, 11, 32, 2, 45, 0, 153, 1, 65, 34, 71, 4, 64, 65, 14, 33, 12, 12, 8, 11, 32, 14, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 14, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 11, 32, 2, 40, 2, 176, 5, 33, 9, 32, 2, 40, 2, 172, 5, 33, 10, 32, 2, 40, 2, 168, 5, 65, 1, 71, 13, 2, 32, 2, 40, 2, 184, 5, 33, 7, 32, 10, 33, 12, 32, 9, 33, 4, 32, 11, 12, 8, 11, 32, 2, 65, 168, 5, 106, 65, 231, 169, 192, 0, 65, 3, 16, 87, 32, 2, 40, 2, 168, 5, 34, 12, 65, 16, 118, 33, 11, 32, 12, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 9, 13, 10, 12, 11, 11, 32, 2, 65, 152, 5, 106, 32, 14, 16, 90, 32, 2, 40, 2, 152, 5, 34, 8, 65, 22, 71, 13, 4, 11, 32, 2, 65, 144, 1, 106, 32, 14, 16, 135, 1, 65, 0, 33, 5, 32, 2, 45, 0, 145, 1, 33, 4, 32, 2, 45, 0, 144, 1, 65, 1, 113, 13, 0, 11, 65, 2, 12, 6, 11, 32, 10, 69, 4, 64, 32, 2, 65, 168, 5, 106, 65, 231, 169, 192, 0, 65, 3, 16, 85, 32, 2, 40, 2, 168, 5, 34, 12, 65, 16, 118, 33, 11, 32, 12, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 12, 8, 11, 65, 0, 33, 3, 32, 10, 33, 4, 32, 9, 33, 5, 32, 11, 33, 7, 65, 0, 11, 33, 6, 65, 0, 33, 11, 12, 6, 11, 32, 2, 40, 2, 164, 5, 33, 7, 32, 2, 40, 2, 160, 5, 33, 5, 32, 2, 40, 2, 156, 5, 33, 4, 32, 8, 12, 3, 11, 32, 9, 33, 4, 32, 11, 11, 33, 5, 32, 12, 65, 16, 118, 33, 11, 32, 12, 65, 8, 118, 33, 6, 12, 3, 11, 65, 4, 11, 34, 12, 65, 8, 118, 33, 6, 32, 12, 65, 16, 118, 33, 11, 32, 9, 69, 32, 10, 69, 114, 13, 1, 11, 32, 10, 16, 204, 1, 11, 32, 2, 65, 160, 4, 106, 34, 9, 32, 2, 65, 176, 4, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 168, 4, 55, 3, 152, 4, 32, 6, 65, 8, 116, 65, 128, 254, 3, 113, 32, 12, 65, 255, 1, 113, 114, 32, 11, 65, 16, 116, 114, 34, 8, 32, 3, 13, 0, 26, 32, 2, 65, 132, 5, 106, 32, 7, 54, 2, 0, 32, 2, 65, 128, 5, 106, 32, 5, 54, 2, 0, 32, 2, 65, 136, 5, 106, 34, 10, 32, 2, 41, 3, 152, 4, 55, 3, 0, 32, 2, 65, 144, 5, 106, 32, 9, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 252, 4, 32, 2, 32, 8, 54, 2, 248, 4, 32, 2, 65, 168, 5, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 168, 5, 34, 9, 65, 22, 70, 13, 1, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 65, 248, 4, 106, 16, 32, 32, 9, 11, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 4, 11, 32, 2, 65, 228, 4, 106, 32, 7, 54, 2, 0, 32, 2, 65, 224, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 232, 4, 106, 32, 10, 41, 2, 0, 55, 3, 0, 32, 2, 65, 240, 4, 106, 32, 10, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 220, 4, 32, 2, 32, 8, 54, 2, 216, 4, 32, 2, 65, 136, 1, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 136, 1, 65, 1, 113, 69, 4, 64, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 32, 2, 65, 216, 4, 106, 16, 32, 12, 4, 11, 32, 2, 45, 0, 137, 1, 65, 253, 0, 70, 4, 64, 32, 1, 16, 129, 1, 32, 0, 65, 28, 106, 32, 2, 65, 240, 4, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 232, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 224, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 41, 3, 216, 4, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 12, 4, 11, 32, 0, 65, 11, 54, 2, 4, 32, 2, 65, 216, 4, 106, 16, 32, 32, 0, 65, 1, 54, 2, 0, 12, 3, 11, 32, 2, 65, 128, 1, 106, 32, 1, 16, 135, 1, 2, 64, 32, 0, 2, 127, 65, 4, 32, 2, 45, 0, 128, 1, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 2, 45, 0, 129, 1, 65, 251, 0, 71, 13, 0, 26, 32, 1, 16, 129, 1, 32, 2, 65, 248, 0, 106, 32, 1, 16, 127, 32, 2, 45, 0, 124, 33, 5, 32, 2, 65, 240, 0, 106, 32, 2, 40, 2, 120, 34, 8, 16, 135, 1, 65, 1, 33, 12, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 2, 64, 2, 127, 32, 2, 45, 0, 112, 65, 1, 113, 69, 4, 64, 65, 0, 33, 6, 65, 2, 12, 1, 11, 32, 2, 45, 0, 113, 33, 4, 32, 5, 65, 1, 113, 33, 5, 2, 64, 3, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 7, 65, 44, 71, 4, 64, 32, 7, 65, 253, 0, 70, 13, 3, 32, 5, 65, 255, 1, 113, 13, 1, 65, 9, 33, 3, 12, 9, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 3, 12, 9, 11, 32, 8, 16, 129, 1, 32, 2, 65, 232, 0, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 104, 65, 1, 113, 69, 13, 7, 32, 2, 45, 0, 105, 33, 4, 11, 32, 4, 65, 255, 1, 113, 34, 4, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 4, 65, 253, 0, 70, 27, 33, 3, 12, 8, 11, 32, 2, 65, 224, 0, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 96, 65, 1, 113, 69, 13, 6, 32, 2, 45, 0, 97, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 8, 11, 32, 8, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 8, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 5, 32, 2, 40, 2, 176, 5, 33, 4, 32, 2, 40, 2, 172, 5, 33, 3, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 168, 5, 65, 1, 71, 4, 64, 65, 1, 33, 7, 2, 64, 32, 5, 65, 3, 71, 13, 0, 32, 3, 65, 231, 169, 192, 0, 71, 4, 64, 32, 3, 65, 231, 169, 192, 0, 65, 3, 16, 156, 2, 13, 1, 11, 65, 0, 33, 7, 11, 32, 4, 4, 64, 32, 3, 16, 204, 1, 11, 32, 7, 69, 13, 1, 32, 2, 65, 168, 5, 106, 32, 8, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 70, 13, 2, 32, 2, 40, 2, 176, 5, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 32, 2, 40, 2, 180, 5, 34, 7, 54, 2, 164, 5, 32, 2, 32, 5, 54, 2, 160, 5, 32, 2, 32, 4, 54, 2, 156, 5, 32, 2, 32, 3, 54, 2, 152, 5, 12, 11, 11, 32, 2, 40, 2, 184, 5, 33, 7, 12, 10, 11, 32, 10, 69, 4, 64, 32, 2, 65, 168, 5, 106, 32, 8, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 5, 33, 7, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 176, 5, 12, 9, 11, 32, 2, 65, 216, 0, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 88, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 8, 11, 32, 2, 45, 0, 89, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 8, 11, 32, 8, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 8, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 11, 32, 2, 40, 2, 176, 5, 33, 9, 32, 2, 40, 2, 172, 5, 33, 10, 32, 2, 40, 2, 168, 5, 65, 1, 71, 13, 2, 32, 2, 40, 2, 184, 5, 33, 7, 32, 10, 33, 3, 32, 9, 33, 4, 32, 11, 12, 8, 11, 32, 2, 65, 168, 5, 106, 65, 231, 169, 192, 0, 65, 3, 16, 87, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 11, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 9, 13, 10, 12, 11, 11, 32, 2, 65, 152, 5, 106, 32, 8, 16, 90, 32, 2, 40, 2, 152, 5, 34, 3, 65, 22, 71, 13, 4, 11, 32, 2, 65, 208, 0, 106, 32, 8, 16, 135, 1, 65, 0, 33, 5, 32, 2, 45, 0, 81, 33, 4, 32, 2, 45, 0, 80, 65, 1, 113, 13, 0, 11, 65, 2, 33, 3, 12, 6, 11, 32, 10, 69, 4, 64, 32, 2, 65, 168, 5, 106, 65, 231, 169, 192, 0, 65, 3, 16, 85, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 11, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 12, 8, 11, 65, 0, 33, 12, 32, 10, 33, 4, 32, 9, 33, 5, 32, 11, 33, 7, 65, 0, 33, 6, 65, 1, 11, 33, 3, 65, 0, 33, 11, 12, 6, 11, 32, 2, 40, 2, 164, 5, 33, 7, 32, 2, 40, 2, 160, 5, 33, 5, 32, 2, 40, 2, 156, 5, 33, 4, 12, 3, 11, 32, 9, 33, 4, 32, 11, 11, 33, 5, 32, 3, 65, 16, 118, 33, 11, 32, 3, 65, 8, 118, 33, 6, 12, 3, 11, 65, 4, 33, 3, 11, 32, 3, 65, 8, 118, 33, 6, 32, 3, 65, 16, 118, 33, 11, 32, 9, 69, 32, 10, 69, 114, 13, 1, 11, 32, 10, 16, 204, 1, 11, 32, 2, 65, 160, 4, 106, 34, 9, 32, 2, 65, 176, 4, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 168, 4, 55, 3, 152, 4, 32, 6, 65, 8, 116, 65, 128, 254, 3, 113, 32, 3, 65, 255, 1, 113, 114, 32, 11, 65, 16, 116, 114, 34, 8, 32, 12, 13, 0, 26, 32, 2, 65, 132, 5, 106, 32, 7, 54, 2, 0, 32, 2, 65, 128, 5, 106, 32, 5, 54, 2, 0, 32, 2, 65, 136, 5, 106, 34, 10, 32, 2, 41, 3, 152, 4, 55, 3, 0, 32, 2, 65, 144, 5, 106, 32, 9, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 252, 4, 32, 2, 32, 8, 54, 2, 248, 4, 32, 2, 65, 168, 5, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 168, 5, 34, 9, 65, 22, 70, 13, 1, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 65, 248, 4, 106, 16, 32, 32, 9, 11, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 3, 11, 32, 2, 65, 228, 4, 106, 32, 7, 54, 2, 0, 32, 2, 65, 224, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 232, 4, 106, 32, 10, 41, 2, 0, 55, 3, 0, 32, 2, 65, 240, 4, 106, 32, 10, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 220, 4, 32, 2, 32, 8, 54, 2, 216, 4, 32, 2, 65, 200, 0, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 72, 65, 1, 113, 69, 4, 64, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 32, 2, 65, 216, 4, 106, 16, 32, 12, 3, 11, 32, 2, 45, 0, 73, 65, 253, 0, 70, 4, 64, 32, 1, 16, 129, 1, 32, 0, 65, 28, 106, 32, 2, 65, 240, 4, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 232, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 224, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 41, 3, 216, 4, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 12, 3, 11, 32, 0, 65, 11, 54, 2, 4, 32, 2, 65, 216, 4, 106, 16, 32, 32, 0, 65, 1, 54, 2, 0, 12, 2, 11, 32, 2, 65, 64, 107, 32, 1, 16, 135, 1, 2, 64, 32, 0, 2, 127, 65, 4, 32, 2, 45, 0, 64, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 2, 45, 0, 65, 65, 251, 0, 71, 13, 0, 26, 32, 1, 16, 129, 1, 32, 2, 65, 56, 106, 32, 1, 16, 127, 32, 2, 45, 0, 60, 33, 5, 32, 2, 65, 48, 106, 32, 2, 40, 2, 56, 34, 8, 16, 135, 1, 65, 1, 33, 12, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 2, 64, 2, 127, 32, 2, 45, 0, 48, 65, 1, 113, 69, 4, 64, 65, 0, 33, 6, 65, 2, 12, 1, 11, 32, 2, 45, 0, 49, 33, 4, 32, 5, 65, 1, 113, 33, 5, 2, 64, 3, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 7, 65, 44, 71, 4, 64, 32, 7, 65, 253, 0, 70, 13, 3, 32, 5, 65, 255, 1, 113, 13, 1, 65, 9, 33, 3, 12, 9, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 3, 12, 9, 11, 32, 8, 16, 129, 1, 32, 2, 65, 40, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 40, 65, 1, 113, 69, 13, 7, 32, 2, 45, 0, 41, 33, 4, 11, 32, 4, 65, 255, 1, 113, 34, 4, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 4, 65, 253, 0, 70, 27, 33, 3, 12, 8, 11, 32, 2, 65, 32, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 32, 65, 1, 113, 69, 13, 6, 32, 2, 45, 0, 33, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 8, 11, 32, 8, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 8, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 5, 32, 2, 40, 2, 176, 5, 33, 4, 32, 2, 40, 2, 172, 5, 33, 3, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 168, 5, 65, 1, 71, 4, 64, 65, 1, 33, 7, 2, 64, 32, 5, 65, 3, 71, 13, 0, 32, 3, 65, 231, 169, 192, 0, 71, 4, 64, 32, 3, 65, 231, 169, 192, 0, 65, 3, 16, 156, 2, 13, 1, 11, 65, 0, 33, 7, 11, 32, 4, 4, 64, 32, 3, 16, 204, 1, 11, 32, 7, 69, 13, 1, 32, 2, 65, 168, 5, 106, 32, 8, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 70, 13, 2, 32, 2, 40, 2, 176, 5, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 32, 2, 40, 2, 180, 5, 34, 7, 54, 2, 164, 5, 32, 2, 32, 5, 54, 2, 160, 5, 32, 2, 32, 4, 54, 2, 156, 5, 32, 2, 32, 3, 54, 2, 152, 5, 12, 11, 11, 32, 2, 40, 2, 184, 5, 33, 7, 12, 10, 11, 32, 10, 69, 4, 64, 32, 2, 65, 168, 5, 106, 32, 8, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 5, 33, 7, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 176, 5, 12, 9, 11, 32, 2, 65, 24, 106, 32, 8, 16, 135, 1, 32, 2, 45, 0, 24, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 8, 11, 32, 2, 45, 0, 25, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 8, 11, 32, 8, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 8, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 11, 32, 2, 40, 2, 176, 5, 33, 9, 32, 2, 40, 2, 172, 5, 33, 10, 32, 2, 40, 2, 168, 5, 65, 1, 71, 13, 2, 32, 2, 40, 2, 184, 5, 33, 7, 32, 10, 33, 3, 32, 9, 33, 4, 32, 11, 12, 8, 11, 32, 2, 65, 168, 5, 106, 65, 231, 169, 192, 0, 65, 3, 16, 87, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 11, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 9, 13, 10, 12, 11, 11, 32, 2, 65, 152, 5, 106, 32, 8, 16, 90, 32, 2, 40, 2, 152, 5, 34, 3, 65, 22, 71, 13, 4, 11, 32, 2, 65, 16, 106, 32, 8, 16, 135, 1, 65, 0, 33, 5, 32, 2, 45, 0, 17, 33, 4, 32, 2, 45, 0, 16, 65, 1, 113, 13, 0, 11, 65, 2, 33, 3, 12, 6, 11, 32, 10, 69, 4, 64, 32, 2, 65, 168, 5, 106, 65, 231, 169, 192, 0, 65, 3, 16, 85, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 11, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 12, 8, 11, 65, 0, 33, 12, 32, 10, 33, 4, 32, 9, 33, 5, 32, 11, 33, 7, 65, 0, 33, 6, 65, 0, 11, 33, 3, 65, 0, 33, 11, 12, 6, 11, 32, 2, 40, 2, 164, 5, 33, 7, 32, 2, 40, 2, 160, 5, 33, 5, 32, 2, 40, 2, 156, 5, 33, 4, 12, 3, 11, 32, 9, 33, 4, 32, 11, 11, 33, 5, 32, 3, 65, 16, 118, 33, 11, 32, 3, 65, 8, 118, 33, 6, 12, 3, 11, 65, 4, 33, 3, 11, 32, 3, 65, 8, 118, 33, 6, 32, 3, 65, 16, 118, 33, 11, 32, 9, 69, 32, 10, 69, 114, 13, 1, 11, 32, 10, 16, 204, 1, 11, 32, 2, 65, 160, 4, 106, 34, 9, 32, 2, 65, 176, 4, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 168, 4, 55, 3, 152, 4, 32, 6, 65, 8, 116, 65, 128, 254, 3, 113, 32, 3, 65, 255, 1, 113, 114, 32, 11, 65, 16, 116, 114, 34, 8, 32, 12, 13, 0, 26, 32, 2, 65, 132, 5, 106, 32, 7, 54, 2, 0, 32, 2, 65, 128, 5, 106, 32, 5, 54, 2, 0, 32, 2, 65, 136, 5, 106, 34, 10, 32, 2, 41, 3, 152, 4, 55, 3, 0, 32, 2, 65, 144, 5, 106, 32, 9, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 252, 4, 32, 2, 32, 8, 54, 2, 248, 4, 32, 2, 65, 168, 5, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 168, 5, 34, 9, 65, 22, 70, 13, 1, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 65, 248, 4, 106, 16, 32, 32, 9, 11, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 2, 11, 32, 2, 65, 228, 4, 106, 32, 7, 54, 2, 0, 32, 2, 65, 224, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 232, 4, 106, 32, 10, 41, 2, 0, 55, 3, 0, 32, 2, 65, 240, 4, 106, 32, 10, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 220, 4, 32, 2, 32, 8, 54, 2, 216, 4, 32, 2, 65, 8, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 8, 65, 1, 113, 69, 4, 64, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 32, 2, 65, 216, 4, 106, 16, 32, 12, 2, 11, 32, 2, 45, 0, 9, 65, 253, 0, 70, 4, 64, 32, 1, 16, 129, 1, 32, 0, 65, 28, 106, 32, 2, 65, 240, 4, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 232, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 224, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 41, 3, 216, 4, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 12, 2, 11, 32, 0, 65, 11, 54, 2, 4, 32, 2, 65, 216, 4, 106, 16, 32, 32, 0, 65, 1, 54, 2, 0, 12, 1, 11, 32, 2, 65, 144, 4, 106, 32, 1, 16, 135, 1, 2, 64, 32, 0, 2, 127, 65, 4, 32, 2, 45, 0, 144, 4, 65, 1, 113, 69, 13, 0, 26, 65, 14, 32, 2, 45, 0, 145, 4, 65, 251, 0, 71, 13, 0, 26, 32, 1, 16, 129, 1, 32, 2, 65, 136, 4, 106, 32, 1, 16, 127, 32, 2, 45, 0, 140, 4, 33, 5, 32, 2, 65, 128, 4, 106, 32, 2, 40, 2, 136, 4, 34, 6, 16, 135, 1, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 128, 4, 65, 1, 113, 69, 4, 64, 65, 2, 33, 3, 12, 1, 11, 32, 2, 45, 0, 129, 4, 33, 4, 32, 5, 65, 1, 113, 33, 5, 2, 64, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 3, 65, 44, 71, 4, 64, 32, 3, 65, 253, 0, 70, 13, 3, 32, 5, 65, 255, 1, 113, 13, 1, 65, 9, 33, 3, 12, 9, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 3, 12, 9, 11, 32, 6, 16, 129, 1, 32, 2, 65, 248, 3, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 248, 3, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 9, 11, 32, 2, 45, 0, 249, 3, 33, 4, 11, 32, 4, 65, 255, 1, 113, 34, 11, 65, 34, 71, 4, 64, 65, 19, 33, 3, 32, 11, 65, 253, 0, 70, 13, 8, 65, 16, 33, 3, 12, 8, 11, 32, 2, 65, 240, 3, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 240, 3, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 8, 11, 32, 2, 45, 0, 241, 3, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 8, 11, 32, 6, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 6, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 5, 32, 2, 40, 2, 176, 5, 33, 4, 32, 2, 40, 2, 172, 5, 33, 3, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 168, 5, 65, 1, 71, 4, 64, 65, 2, 33, 11, 2, 64, 32, 5, 65, 121, 106, 34, 5, 65, 3, 75, 13, 0, 2, 64, 2, 64, 32, 5, 65, 1, 107, 14, 3, 2, 2, 1, 0, 11, 32, 3, 65, 200, 170, 192, 0, 71, 4, 64, 32, 3, 65, 200, 170, 192, 0, 65, 7, 16, 156, 2, 13, 2, 11, 65, 0, 33, 11, 12, 1, 11, 32, 3, 65, 207, 170, 192, 0, 71, 4, 64, 32, 3, 65, 207, 170, 192, 0, 65, 10, 16, 156, 2, 13, 1, 11, 65, 1, 33, 11, 11, 32, 4, 4, 64, 32, 3, 16, 204, 1, 11, 32, 11, 65, 1, 75, 13, 1, 32, 11, 65, 1, 107, 13, 2, 12, 3, 11, 32, 2, 40, 2, 184, 5, 33, 13, 12, 12, 11, 32, 2, 65, 168, 5, 106, 32, 6, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 70, 13, 2, 32, 2, 40, 2, 176, 5, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 32, 2, 40, 2, 180, 5, 34, 13, 54, 2, 164, 5, 32, 2, 32, 5, 54, 2, 160, 5, 32, 2, 32, 4, 54, 2, 156, 5, 32, 2, 32, 3, 54, 2, 152, 5, 12, 11, 11, 2, 64, 32, 9, 69, 4, 64, 32, 2, 65, 168, 5, 106, 32, 6, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 5, 33, 13, 32, 2, 40, 2, 176, 5, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 65, 0, 33, 9, 12, 13, 11, 32, 2, 65, 224, 3, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 224, 3, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 12, 11, 32, 2, 45, 0, 225, 3, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 12, 11, 32, 6, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 6, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 7, 32, 2, 40, 2, 176, 5, 33, 8, 32, 2, 40, 2, 172, 5, 33, 9, 32, 2, 40, 2, 168, 5, 65, 1, 71, 13, 1, 32, 2, 40, 2, 184, 5, 33, 13, 32, 8, 33, 4, 32, 7, 33, 5, 32, 9, 33, 3, 65, 0, 33, 9, 12, 12, 11, 32, 2, 65, 168, 5, 106, 65, 200, 170, 192, 0, 65, 7, 16, 87, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 13, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 168, 5, 33, 3, 12, 11, 11, 32, 8, 33, 14, 12, 2, 11, 32, 12, 13, 4, 32, 2, 65, 168, 5, 106, 32, 6, 16, 133, 1, 32, 2, 40, 2, 168, 5, 34, 3, 65, 22, 71, 4, 64, 32, 2, 40, 2, 180, 5, 33, 13, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 176, 5, 12, 8, 11, 32, 2, 65, 232, 3, 106, 32, 6, 16, 135, 1, 32, 2, 45, 0, 232, 3, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 7, 11, 32, 2, 45, 0, 233, 3, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 7, 11, 32, 6, 16, 129, 1, 32, 2, 65, 168, 5, 106, 32, 6, 16, 134, 1, 32, 2, 40, 2, 180, 5, 33, 15, 32, 2, 40, 2, 176, 5, 33, 10, 32, 2, 40, 2, 172, 5, 33, 12, 32, 2, 40, 2, 168, 5, 65, 1, 71, 13, 1, 32, 2, 40, 2, 184, 5, 33, 13, 32, 12, 33, 3, 32, 10, 33, 4, 32, 15, 12, 7, 11, 32, 2, 65, 152, 5, 106, 32, 6, 16, 90, 32, 2, 40, 2, 152, 5, 34, 3, 65, 22, 71, 13, 4, 11, 32, 2, 65, 216, 3, 106, 32, 6, 16, 135, 1, 65, 0, 33, 5, 32, 2, 45, 0, 217, 3, 33, 4, 32, 2, 45, 0, 216, 3, 65, 1, 113, 13, 0, 11, 65, 2, 33, 3, 12, 6, 11, 32, 9, 69, 4, 64, 32, 2, 65, 168, 5, 106, 65, 200, 170, 192, 0, 65, 7, 16, 85, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 13, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 40, 2, 168, 5, 33, 3, 65, 0, 33, 9, 12, 6, 11, 32, 12, 69, 4, 64, 32, 2, 65, 168, 5, 106, 65, 207, 170, 192, 0, 65, 10, 16, 85, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 8, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 65, 1, 33, 11, 32, 14, 69, 13, 9, 32, 9, 16, 204, 1, 12, 9, 11, 65, 0, 33, 11, 65, 7, 33, 3, 32, 9, 33, 4, 32, 14, 33, 5, 65, 0, 33, 6, 12, 8, 11, 32, 2, 65, 168, 5, 106, 65, 207, 170, 192, 0, 65, 10, 16, 87, 32, 2, 40, 2, 168, 5, 34, 3, 65, 16, 118, 33, 8, 32, 3, 65, 8, 118, 33, 6, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 13, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 10, 13, 5, 12, 6, 11, 32, 2, 40, 2, 164, 5, 33, 13, 32, 2, 40, 2, 160, 5, 33, 5, 32, 2, 40, 2, 156, 5, 33, 4, 12, 3, 11, 32, 10, 33, 4, 32, 15, 11, 33, 5, 32, 3, 65, 16, 118, 33, 8, 32, 3, 65, 8, 118, 33, 6, 12, 3, 11, 32, 8, 33, 4, 32, 7, 33, 5, 65, 0, 33, 9, 11, 32, 3, 65, 8, 118, 33, 6, 32, 3, 65, 16, 118, 33, 8, 32, 10, 69, 32, 12, 69, 114, 13, 1, 11, 32, 12, 16, 204, 1, 11, 65, 1, 33, 11, 32, 14, 69, 32, 9, 69, 114, 69, 4, 64, 32, 9, 16, 204, 1, 11, 32, 13, 33, 7, 11, 32, 3, 65, 255, 1, 113, 32, 6, 65, 255, 1, 113, 65, 8, 116, 114, 32, 8, 65, 16, 116, 114, 34, 8, 32, 11, 13, 0, 26, 32, 2, 65, 144, 5, 106, 32, 15, 54, 2, 0, 32, 2, 65, 140, 5, 106, 32, 10, 54, 2, 0, 32, 2, 65, 136, 5, 106, 34, 10, 32, 12, 54, 2, 0, 32, 2, 65, 132, 5, 106, 32, 7, 54, 2, 0, 32, 2, 65, 128, 5, 106, 32, 5, 54, 2, 0, 32, 2, 32, 4, 54, 2, 252, 4, 32, 2, 32, 8, 54, 2, 248, 4, 32, 2, 65, 168, 5, 106, 32, 1, 16, 132, 1, 32, 2, 40, 2, 168, 5, 34, 9, 65, 22, 70, 13, 1, 32, 2, 65, 180, 5, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 5, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 172, 5, 33, 4, 32, 2, 65, 248, 4, 106, 16, 32, 32, 9, 11, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 1, 11, 32, 2, 65, 228, 4, 106, 32, 7, 54, 2, 0, 32, 2, 65, 224, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 232, 4, 106, 32, 10, 41, 2, 0, 55, 3, 0, 32, 2, 65, 240, 4, 106, 32, 10, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 220, 4, 32, 2, 32, 8, 54, 2, 216, 4, 32, 2, 65, 208, 3, 106, 32, 1, 16, 135, 1, 32, 2, 45, 0, 208, 3, 65, 1, 113, 69, 4, 64, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 32, 2, 65, 216, 4, 106, 16, 32, 12, 1, 11, 32, 2, 45, 0, 209, 3, 65, 253, 0, 70, 4, 64, 32, 1, 16, 129, 1, 32, 0, 65, 28, 106, 32, 2, 65, 240, 4, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 20, 106, 32, 2, 65, 232, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 224, 4, 106, 41, 3, 0, 55, 2, 0, 32, 0, 32, 2, 41, 3, 216, 4, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 12, 1, 11, 32, 0, 65, 11, 54, 2, 4, 32, 2, 65, 216, 4, 106, 16, 32, 32, 0, 65, 1, 54, 2, 0, 11, 32, 2, 65, 192, 5, 106, 36, 0, 11, 22, 0, 32, 0, 32, 1, 40, 2, 8, 54, 2, 4, 32, 0, 32, 1, 40, 2, 0, 54, 2, 0, 11, 91, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 200, 149, 192, 0, 54, 2, 8, 32, 2, 65, 23, 54, 2, 36, 32, 2, 32, 0, 54, 2, 44, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 44, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 32, 2, 65, 48, 106, 36, 0, 11, 99, 1, 2, 127, 2, 64, 2, 64, 32, 0, 65, 127, 74, 4, 64, 2, 64, 32, 0, 69, 4, 64, 65, 0, 33, 0, 65, 1, 33, 2, 12, 1, 11, 32, 0, 65, 1, 16, 73, 34, 2, 69, 13, 2, 11, 65, 12, 65, 4, 16, 73, 34, 1, 69, 13, 2, 32, 1, 65, 0, 54, 2, 8, 32, 1, 32, 2, 54, 2, 0, 32, 1, 32, 0, 54, 2, 4, 32, 1, 15, 11, 16, 28, 0, 11, 32, 0, 16, 29, 0, 11, 65, 12, 65, 4, 16, 211, 1, 0, 11, 71, 1, 2, 127, 2, 64, 32, 0, 4, 64, 32, 0, 40, 2, 0, 34, 1, 69, 13, 1, 32, 0, 40, 2, 4, 32, 0, 16, 204, 1, 4, 64, 32, 1, 16, 204, 1, 11, 15, 11, 65, 132, 169, 192, 0, 65, 22, 65, 156, 169, 192, 0, 16, 75, 0, 11, 65, 172, 169, 192, 0, 65, 29, 65, 204, 169, 192, 0, 16, 75, 0, 11, 3, 0, 1, 11, 130, 1, 2, 3, 127, 1, 126, 2, 64, 65, 12, 65, 4, 16, 73, 34, 1, 4, 64, 32, 1, 65, 6, 54, 2, 8, 32, 1, 65, 6, 54, 2, 4, 32, 1, 65, 188, 145, 192, 0, 54, 2, 0, 2, 64, 32, 1, 16, 0, 34, 2, 4, 64, 32, 2, 40, 2, 0, 34, 3, 69, 13, 3, 32, 2, 41, 2, 4, 33, 4, 32, 2, 16, 204, 1, 32, 0, 32, 4, 55, 2, 4, 32, 0, 32, 3, 54, 2, 0, 12, 1, 11, 32, 0, 65, 0, 54, 2, 0, 11, 32, 1, 16, 204, 1, 15, 11, 65, 12, 65, 4, 16, 211, 1, 0, 11, 65, 172, 169, 192, 0, 65, 29, 65, 204, 169, 192, 0, 16, 75, 0, 11, 104, 1, 1, 127, 2, 64, 65, 12, 65, 4, 16, 73, 34, 4, 4, 64, 32, 4, 32, 1, 54, 2, 8, 32, 4, 32, 1, 54, 2, 4, 32, 4, 32, 0, 54, 2, 0, 65, 12, 65, 4, 16, 73, 34, 0, 69, 13, 1, 32, 0, 32, 3, 54, 2, 8, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 2, 54, 2, 0, 32, 4, 32, 0, 16, 1, 32, 0, 16, 204, 1, 32, 4, 16, 204, 1, 15, 11, 65, 12, 65, 4, 16, 211, 1, 0, 11, 65, 12, 65, 4, 16, 211, 1, 0, 11, 184, 3, 2, 3, 127, 1, 126, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 1, 40, 2, 8, 33, 3, 32, 1, 40, 2, 0, 33, 1, 2, 64, 2, 64, 2, 64, 2, 64, 65, 12, 65, 4, 16, 73, 34, 4, 4, 64, 32, 4, 32, 3, 54, 2, 8, 32, 4, 32, 3, 54, 2, 4, 32, 4, 32, 1, 54, 2, 0, 65, 32, 65, 1, 16, 73, 34, 3, 69, 13, 1, 65, 12, 65, 4, 16, 73, 34, 1, 69, 13, 2, 32, 1, 66, 32, 55, 2, 4, 32, 1, 32, 3, 54, 2, 0, 2, 64, 32, 4, 32, 1, 16, 2, 34, 3, 69, 4, 64, 32, 1, 40, 2, 0, 34, 3, 69, 13, 5, 32, 1, 41, 2, 4, 33, 5, 32, 1, 16, 204, 1, 32, 0, 65, 8, 106, 32, 5, 55, 2, 0, 32, 0, 32, 3, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 12, 1, 11, 32, 3, 40, 2, 0, 34, 1, 69, 13, 5, 32, 3, 41, 2, 4, 33, 5, 32, 3, 16, 204, 1, 32, 2, 32, 5, 55, 2, 4, 32, 2, 32, 1, 54, 2, 0, 32, 2, 65, 52, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 36, 32, 2, 65, 184, 168, 192, 0, 54, 2, 32, 32, 2, 65, 31, 54, 2, 60, 32, 2, 32, 2, 65, 56, 106, 54, 2, 48, 32, 2, 32, 2, 54, 2, 56, 32, 2, 65, 16, 106, 32, 2, 65, 32, 106, 16, 212, 1, 16, 157, 1, 33, 1, 32, 2, 65, 42, 106, 32, 2, 65, 24, 106, 40, 2, 0, 54, 1, 0, 32, 2, 32, 2, 41, 3, 16, 55, 1, 34, 32, 0, 32, 1, 58, 0, 5, 32, 0, 65, 0, 58, 0, 4, 32, 0, 32, 2, 41, 1, 32, 55, 1, 6, 32, 0, 65, 12, 106, 32, 2, 65, 38, 106, 41, 1, 0, 55, 1, 0, 32, 0, 65, 1, 54, 2, 0, 2, 64, 32, 2, 40, 2, 0, 34, 0, 69, 13, 0, 32, 2, 40, 2, 4, 69, 13, 0, 32, 0, 16, 204, 1, 11, 11, 32, 4, 16, 204, 1, 32, 2, 65, 64, 107, 36, 0, 15, 11, 65, 12, 65, 4, 16, 211, 1, 0, 11, 65, 32, 16, 29, 0, 11, 65, 12, 65, 4, 16, 211, 1, 0, 11, 65, 172, 169, 192, 0, 65, 29, 65, 204, 169, 192, 0, 16, 75, 0, 11, 65, 172, 169, 192, 0, 65, 29, 65, 204, 169, 192, 0, 16, 75, 0, 11, 187, 3, 2, 3, 127, 1, 126, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 1, 40, 2, 8, 33, 3, 32, 1, 40, 2, 0, 33, 1, 2, 64, 2, 64, 2, 64, 2, 64, 65, 12, 65, 4, 16, 73, 34, 4, 4, 64, 32, 4, 32, 3, 54, 2, 8, 32, 4, 32, 3, 54, 2, 4, 32, 4, 32, 1, 54, 2, 0, 65, 218, 0, 65, 1, 16, 73, 34, 3, 69, 13, 1, 65, 12, 65, 4, 16, 73, 34, 1, 69, 13, 2, 32, 1, 66, 218, 0, 55, 2, 4, 32, 1, 32, 3, 54, 2, 0, 2, 64, 32, 4, 32, 1, 16, 3, 34, 3, 69, 4, 64, 32, 1, 40, 2, 0, 34, 3, 69, 13, 5, 32, 1, 41, 2, 4, 33, 5, 32, 1, 16, 204, 1, 32, 0, 65, 8, 106, 32, 5, 55, 2, 0, 32, 0, 32, 3, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 12, 1, 11, 32, 3, 40, 2, 0, 34, 1, 69, 13, 5, 32, 3, 41, 2, 4, 33, 5, 32, 3, 16, 204, 1, 32, 2, 32, 5, 55, 2, 4, 32, 2, 32, 1, 54, 2, 0, 32, 2, 65, 52, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 36, 32, 2, 65, 220, 168, 192, 0, 54, 2, 32, 32, 2, 65, 31, 54, 2, 60, 32, 2, 32, 2, 65, 56, 106, 54, 2, 48, 32, 2, 32, 2, 54, 2, 56, 32, 2, 65, 16, 106, 32, 2, 65, 32, 106, 16, 212, 1, 16, 157, 1, 33, 1, 32, 2, 65, 42, 106, 32, 2, 65, 24, 106, 40, 2, 0, 54, 1, 0, 32, 2, 32, 2, 41, 3, 16, 55, 1, 34, 32, 0, 32, 1, 58, 0, 5, 32, 0, 65, 0, 58, 0, 4, 32, 0, 32, 2, 41, 1, 32, 55, 1, 6, 32, 0, 65, 12, 106, 32, 2, 65, 38, 106, 41, 1, 0, 55, 1, 0, 32, 0, 65, 1, 54, 2, 0, 2, 64, 32, 2, 40, 2, 0, 34, 0, 69, 13, 0, 32, 2, 40, 2, 4, 69, 13, 0, 32, 0, 16, 204, 1, 11, 11, 32, 4, 16, 204, 1, 32, 2, 65, 64, 107, 36, 0, 15, 11, 65, 12, 65, 4, 16, 211, 1, 0, 11, 65, 218, 0, 16, 29, 0, 11, 65, 12, 65, 4, 16, 211, 1, 0, 11, 65, 172, 169, 192, 0, 65, 29, 65, 204, 169, 192, 0, 16, 75, 0, 11, 65, 172, 169, 192, 0, 65, 29, 65, 204, 169, 192, 0, 16, 75, 0, 11, 201, 2, 1, 4, 127, 35, 0, 65, 48, 107, 34, 4, 36, 0, 2, 64, 2, 64, 65, 12, 65, 4, 16, 73, 34, 3, 4, 64, 32, 3, 32, 2, 54, 2, 8, 32, 3, 32, 2, 54, 2, 4, 32, 3, 32, 1, 54, 2, 0, 32, 3, 16, 4, 34, 1, 69, 13, 1, 32, 1, 40, 2, 0, 34, 2, 69, 13, 2, 32, 1, 40, 2, 4, 32, 1, 40, 2, 8, 33, 6, 32, 1, 16, 204, 1, 32, 4, 65, 8, 106, 32, 2, 32, 6, 16, 105, 32, 4, 65, 8, 106, 65, 4, 114, 33, 1, 2, 64, 32, 4, 40, 2, 8, 65, 1, 70, 4, 64, 32, 0, 66, 128, 128, 128, 128, 16, 55, 2, 0, 32, 0, 65, 8, 106, 32, 1, 41, 2, 0, 55, 2, 0, 32, 0, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 32, 106, 32, 1, 65, 24, 106, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 0, 32, 1, 41, 2, 0, 55, 2, 0, 32, 0, 65, 32, 106, 32, 1, 65, 32, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 24, 106, 32, 1, 65, 24, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 16, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 8, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 2, 0, 11, 4, 64, 32, 2, 16, 204, 1, 11, 32, 3, 16, 204, 1, 32, 4, 65, 48, 106, 36, 0, 15, 11, 65, 12, 65, 4, 16, 211, 1, 0, 11, 65, 132, 169, 192, 0, 65, 22, 65, 156, 169, 192, 0, 16, 75, 0, 11, 65, 172, 169, 192, 0, 65, 29, 65, 204, 169, 192, 0, 16, 75, 0, 11, 61, 1, 2, 127, 32, 0, 40, 2, 8, 33, 1, 32, 0, 40, 2, 0, 33, 2, 65, 12, 65, 4, 16, 73, 34, 0, 69, 4, 64, 65, 12, 65, 4, 16, 211, 1, 0, 11, 32, 0, 32, 1, 54, 2, 8, 32, 0, 32, 1, 54, 2, 4, 32, 0, 32, 2, 54, 2, 0, 32, 0, 11, 73, 1, 1, 127, 2, 64, 32, 1, 4, 64, 32, 1, 40, 2, 0, 34, 2, 13, 1, 65, 172, 169, 192, 0, 65, 29, 65, 204, 169, 192, 0, 16, 75, 0, 11, 65, 132, 169, 192, 0, 65, 22, 65, 156, 169, 192, 0, 16, 75, 0, 11, 32, 0, 32, 2, 54, 2, 0, 32, 0, 32, 1, 41, 2, 4, 55, 2, 4, 32, 1, 16, 204, 1, 11, 122, 1, 3, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 65, 3, 65, 1, 16, 73, 34, 2, 69, 4, 64, 65, 3, 16, 29, 0, 11, 32, 1, 66, 3, 55, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 1, 65, 3, 16, 6, 32, 0, 32, 1, 41, 3, 0, 55, 2, 0, 32, 1, 40, 2, 8, 34, 2, 32, 1, 40, 2, 0, 106, 34, 3, 65, 243, 145, 192, 0, 47, 0, 0, 59, 0, 0, 32, 0, 65, 8, 106, 32, 2, 65, 3, 106, 54, 2, 0, 32, 3, 65, 2, 106, 65, 245, 145, 192, 0, 45, 0, 0, 58, 0, 0, 32, 1, 65, 16, 106, 36, 0, 11, 213, 5, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 45, 0, 0, 65, 1, 107, 14, 7, 2, 3, 4, 5, 6, 7, 0, 1, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 0, 32, 2, 32, 0, 65, 16, 106, 54, 2, 4, 32, 2, 65, 28, 106, 65, 2, 54, 2, 0, 32, 2, 65, 44, 106, 65, 23, 54, 2, 0, 32, 2, 66, 2, 55, 2, 12, 32, 2, 65, 240, 170, 192, 0, 54, 2, 8, 32, 2, 65, 23, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 54, 2, 40, 32, 2, 32, 2, 65, 4, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 12, 7, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 4, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 228, 172, 192, 0, 54, 2, 8, 32, 2, 65, 23, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 4, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 12, 6, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 4, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 204, 172, 192, 0, 54, 2, 8, 32, 2, 65, 23, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 4, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 12, 5, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 4, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 172, 172, 192, 0, 54, 2, 8, 32, 2, 65, 23, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 4, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 12, 4, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 4, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 66, 2, 55, 2, 12, 32, 2, 65, 244, 171, 192, 0, 54, 2, 8, 32, 2, 65, 23, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 4, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 12, 3, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 0, 32, 2, 32, 0, 65, 16, 106, 54, 2, 4, 32, 2, 65, 28, 106, 65, 2, 54, 2, 0, 32, 2, 65, 44, 106, 65, 23, 54, 2, 0, 32, 2, 66, 2, 55, 2, 12, 32, 2, 65, 216, 171, 192, 0, 54, 2, 8, 32, 2, 65, 23, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 4, 106, 54, 2, 40, 32, 2, 32, 2, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 12, 2, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 0, 32, 2, 32, 0, 65, 16, 106, 54, 2, 4, 32, 2, 65, 28, 106, 65, 2, 54, 2, 0, 32, 2, 65, 44, 106, 65, 23, 54, 2, 0, 32, 2, 66, 2, 55, 2, 12, 32, 2, 65, 176, 171, 192, 0, 54, 2, 8, 32, 2, 65, 23, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 4, 106, 54, 2, 40, 32, 2, 32, 2, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 12, 1, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 200, 149, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 140, 171, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 11, 32, 2, 65, 48, 106, 36, 0, 11, 164, 4, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 45, 0, 0, 65, 1, 107, 14, 7, 2, 3, 4, 5, 6, 7, 0, 1, 11, 32, 2, 32, 1, 65, 172, 173, 192, 0, 65, 9, 16, 128, 2, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 200, 170, 192, 0, 65, 7, 32, 2, 65, 12, 106, 65, 168, 156, 192, 0, 16, 232, 1, 32, 2, 32, 0, 65, 16, 106, 54, 2, 12, 32, 2, 65, 207, 170, 192, 0, 65, 10, 32, 2, 65, 12, 106, 65, 168, 156, 192, 0, 16, 232, 1, 12, 7, 11, 32, 2, 32, 1, 65, 132, 174, 192, 0, 65, 10, 16, 128, 2, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 231, 169, 192, 0, 65, 3, 32, 2, 65, 12, 106, 65, 168, 156, 192, 0, 16, 232, 1, 12, 6, 11, 32, 2, 32, 1, 65, 247, 173, 192, 0, 65, 13, 16, 128, 2, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 231, 169, 192, 0, 65, 3, 32, 2, 65, 12, 106, 65, 168, 156, 192, 0, 16, 232, 1, 12, 5, 11, 32, 2, 32, 1, 65, 236, 173, 192, 0, 65, 11, 16, 128, 2, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 231, 169, 192, 0, 65, 3, 32, 2, 65, 12, 106, 65, 168, 156, 192, 0, 16, 232, 1, 12, 4, 11, 32, 2, 32, 1, 65, 228, 173, 192, 0, 65, 8, 16, 128, 2, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 141, 170, 192, 0, 65, 4, 32, 2, 65, 12, 106, 65, 168, 156, 192, 0, 16, 232, 1, 12, 3, 11, 32, 2, 32, 1, 65, 220, 173, 192, 0, 65, 8, 16, 128, 2, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 154, 170, 192, 0, 65, 6, 32, 2, 65, 12, 106, 65, 168, 156, 192, 0, 16, 232, 1, 32, 2, 32, 0, 65, 16, 106, 54, 2, 12, 32, 2, 65, 231, 169, 192, 0, 65, 3, 32, 2, 65, 12, 106, 65, 168, 156, 192, 0, 16, 232, 1, 12, 2, 11, 32, 2, 32, 1, 65, 208, 173, 192, 0, 65, 12, 16, 128, 2, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 173, 170, 192, 0, 65, 6, 32, 2, 65, 12, 106, 65, 168, 156, 192, 0, 16, 232, 1, 32, 2, 32, 0, 65, 16, 106, 54, 2, 12, 32, 2, 65, 231, 169, 192, 0, 65, 3, 32, 2, 65, 12, 106, 65, 168, 156, 192, 0, 16, 232, 1, 12, 1, 11, 32, 2, 32, 1, 65, 128, 171, 192, 0, 65, 12, 16, 128, 2, 11, 32, 2, 32, 0, 65, 1, 106, 54, 2, 12, 32, 2, 65, 181, 173, 192, 0, 65, 9, 32, 2, 65, 12, 106, 65, 192, 173, 192, 0, 16, 232, 1, 32, 2, 16, 239, 1, 32, 2, 65, 16, 106, 36, 0, 11, 51, 1, 1, 127, 35, 0, 65, 16, 107, 34, 0, 36, 0, 32, 0, 65, 29, 54, 2, 12, 32, 0, 65, 161, 183, 192, 0, 54, 2, 8, 32, 0, 65, 8, 106, 65, 152, 175, 192, 0, 65, 0, 65, 192, 183, 192, 0, 16, 194, 1, 0, 11, 25, 0, 32, 0, 40, 2, 0, 40, 2, 0, 34, 0, 40, 2, 0, 32, 0, 40, 2, 8, 32, 1, 16, 135, 2, 11, 29, 0, 32, 1, 40, 2, 0, 69, 4, 64, 0, 11, 32, 0, 65, 172, 175, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 85, 1, 2, 127, 32, 1, 40, 2, 0, 33, 2, 32, 1, 65, 0, 54, 2, 0, 2, 64, 32, 2, 4, 64, 32, 1, 40, 2, 4, 33, 3, 65, 8, 65, 4, 16, 73, 34, 1, 69, 13, 1, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 0, 65, 172, 175, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 15, 11, 0, 11, 65, 8, 65, 4, 16, 211, 1, 0, 11, 129, 4, 1, 2, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 34, 3, 65, 20, 77, 4, 64, 32, 3, 65, 1, 107, 14, 20, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 11, 32, 2, 65, 196, 175, 192, 0, 54, 2, 40, 65, 12, 12, 21, 11, 32, 2, 65, 182, 181, 192, 0, 54, 2, 40, 65, 34, 12, 20, 11, 32, 2, 65, 157, 181, 192, 0, 54, 2, 40, 65, 25, 12, 19, 11, 32, 2, 65, 129, 181, 192, 0, 54, 2, 40, 65, 28, 12, 18, 11, 32, 2, 65, 230, 180, 192, 0, 54, 2, 40, 65, 27, 12, 17, 11, 32, 2, 65, 199, 180, 192, 0, 54, 2, 40, 65, 31, 12, 16, 11, 32, 2, 65, 161, 180, 192, 0, 54, 2, 40, 65, 38, 12, 15, 11, 32, 2, 65, 249, 179, 192, 0, 54, 2, 40, 65, 40, 12, 14, 11, 32, 2, 65, 194, 179, 192, 0, 54, 2, 40, 65, 55, 12, 13, 11, 32, 2, 65, 155, 179, 192, 0, 54, 2, 40, 65, 39, 12, 12, 11, 32, 2, 65, 227, 178, 192, 0, 54, 2, 40, 65, 56, 12, 11, 11, 32, 2, 65, 171, 178, 192, 0, 54, 2, 40, 65, 56, 12, 10, 11, 32, 2, 65, 253, 177, 192, 0, 54, 2, 40, 65, 46, 12, 9, 11, 32, 2, 65, 229, 177, 192, 0, 54, 2, 40, 65, 24, 12, 8, 11, 32, 2, 65, 214, 177, 192, 0, 54, 2, 40, 65, 15, 12, 7, 11, 32, 2, 65, 202, 177, 192, 0, 54, 2, 40, 65, 12, 12, 6, 11, 32, 2, 65, 175, 177, 192, 0, 54, 2, 40, 65, 27, 12, 5, 11, 32, 2, 65, 148, 177, 192, 0, 54, 2, 40, 65, 27, 12, 4, 11, 32, 2, 65, 197, 176, 192, 0, 54, 2, 40, 65, 207, 0, 12, 3, 11, 32, 2, 65, 137, 176, 192, 0, 54, 2, 40, 65, 60, 12, 2, 11, 32, 2, 65, 208, 175, 192, 0, 54, 2, 40, 65, 57, 12, 1, 11, 32, 2, 32, 0, 40, 2, 4, 54, 2, 40, 32, 0, 65, 12, 106, 40, 2, 0, 11, 33, 0, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 65, 44, 54, 2, 36, 32, 2, 32, 0, 54, 2, 44, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 188, 175, 192, 0, 54, 2, 8, 32, 2, 32, 2, 65, 40, 106, 54, 2, 32, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 32, 2, 65, 48, 106, 36, 0, 11, 16, 0, 32, 0, 65, 1, 58, 0, 4, 32, 0, 32, 1, 54, 2, 0, 11, 23, 0, 32, 0, 65, 0, 54, 2, 8, 32, 0, 32, 2, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 46, 1, 2, 127, 32, 0, 40, 2, 8, 34, 1, 65, 1, 106, 34, 2, 32, 1, 79, 4, 64, 32, 0, 32, 2, 54, 2, 8, 15, 11, 65, 208, 182, 192, 0, 65, 28, 65, 176, 184, 192, 0, 16, 219, 1, 0, 11, 95, 1, 3, 127, 32, 0, 2, 127, 32, 1, 40, 2, 4, 34, 2, 32, 1, 40, 2, 8, 34, 0, 75, 4, 64, 32, 1, 40, 2, 0, 33, 3, 3, 64, 65, 18, 32, 0, 32, 3, 106, 45, 0, 0, 65, 119, 106, 34, 4, 65, 23, 75, 65, 1, 32, 4, 116, 65, 147, 128, 128, 4, 113, 69, 114, 13, 2, 26, 32, 1, 32, 0, 65, 1, 106, 34, 0, 54, 2, 8, 32, 0, 32, 2, 71, 13, 0, 11, 11, 65, 22, 11, 54, 2, 0, 11, 190, 2, 1, 6, 127, 65, 1, 33, 4, 2, 64, 32, 1, 40, 2, 4, 34, 5, 32, 1, 40, 2, 8, 34, 2, 77, 13, 0, 32, 1, 40, 2, 0, 33, 7, 2, 64, 2, 64, 2, 64, 3, 64, 65, 18, 33, 4, 32, 2, 32, 7, 106, 45, 0, 0, 34, 3, 65, 119, 106, 34, 6, 65, 35, 75, 4, 64, 32, 3, 65, 221, 0, 71, 13, 5, 32, 2, 65, 1, 106, 34, 3, 32, 2, 73, 13, 2, 32, 1, 32, 3, 54, 2, 8, 32, 0, 65, 22, 54, 2, 0, 15, 11, 2, 64, 2, 64, 32, 6, 65, 2, 107, 14, 34, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 0, 11, 65, 1, 33, 4, 32, 1, 32, 2, 65, 1, 106, 34, 2, 54, 2, 8, 32, 2, 32, 5, 71, 13, 1, 12, 5, 11, 11, 32, 2, 65, 1, 106, 34, 3, 32, 2, 73, 13, 1, 32, 1, 32, 3, 54, 2, 8, 32, 5, 32, 3, 77, 13, 3, 3, 64, 32, 3, 32, 7, 106, 45, 0, 0, 34, 2, 65, 119, 106, 34, 6, 65, 23, 75, 65, 1, 32, 6, 116, 65, 147, 128, 128, 4, 113, 69, 114, 13, 3, 32, 1, 32, 3, 65, 1, 106, 34, 3, 54, 2, 8, 32, 3, 32, 5, 71, 13, 0, 11, 12, 3, 11, 65, 208, 182, 192, 0, 65, 28, 65, 176, 184, 192, 0, 16, 219, 1, 0, 11, 65, 208, 182, 192, 0, 65, 28, 65, 176, 184, 192, 0, 16, 219, 1, 0, 11, 32, 2, 65, 221, 0, 71, 13, 0, 32, 0, 65, 19, 54, 2, 0, 15, 11, 32, 0, 32, 4, 54, 2, 0, 11, 201, 1, 1, 6, 127, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 4, 34, 4, 32, 1, 40, 2, 8, 34, 2, 75, 4, 64, 32, 1, 40, 2, 0, 33, 5, 3, 64, 65, 18, 33, 3, 32, 2, 32, 5, 106, 45, 0, 0, 34, 6, 65, 119, 106, 34, 7, 65, 35, 75, 4, 64, 32, 6, 65, 253, 0, 71, 13, 3, 32, 2, 65, 1, 106, 34, 3, 32, 2, 73, 13, 5, 32, 1, 32, 3, 54, 2, 8, 32, 0, 65, 22, 54, 2, 0, 15, 11, 2, 64, 32, 7, 65, 2, 107, 14, 34, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 0, 11, 32, 1, 32, 2, 65, 1, 106, 34, 2, 54, 2, 8, 32, 2, 32, 4, 71, 13, 0, 11, 11, 65, 2, 33, 3, 11, 32, 0, 32, 3, 54, 2, 0, 15, 11, 32, 0, 65, 19, 54, 2, 0, 15, 11, 65, 208, 182, 192, 0, 65, 28, 65, 176, 184, 192, 0, 16, 219, 1, 0, 11, 193, 1, 1, 5, 127, 2, 64, 2, 64, 32, 1, 40, 2, 4, 34, 4, 32, 1, 40, 2, 8, 34, 2, 75, 4, 64, 32, 1, 40, 2, 0, 33, 5, 3, 64, 65, 5, 33, 3, 32, 2, 32, 5, 106, 45, 0, 0, 65, 119, 106, 34, 6, 65, 49, 75, 13, 2, 2, 64, 32, 6, 65, 2, 107, 14, 48, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 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, 4, 0, 11, 32, 1, 32, 2, 65, 1, 106, 34, 2, 54, 2, 8, 32, 2, 32, 4, 71, 13, 0, 11, 11, 65, 2, 33, 3, 11, 32, 0, 32, 3, 54, 2, 0, 15, 11, 32, 2, 65, 1, 106, 34, 3, 32, 2, 73, 4, 64, 65, 208, 182, 192, 0, 65, 28, 65, 176, 184, 192, 0, 16, 219, 1, 0, 11, 32, 1, 32, 3, 54, 2, 8, 32, 0, 65, 22, 54, 2, 0, 11, 135, 18, 1, 11, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 4, 34, 7, 32, 1, 40, 2, 8, 34, 5, 75, 4, 64, 32, 1, 40, 2, 0, 33, 6, 32, 5, 33, 3, 3, 64, 2, 127, 2, 64, 32, 3, 32, 6, 106, 45, 0, 0, 65, 34, 70, 4, 64, 65, 0, 33, 9, 32, 3, 33, 8, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 32, 8, 65, 127, 106, 34, 4, 32, 8, 75, 13, 1, 32, 4, 32, 7, 79, 13, 2, 32, 4, 32, 6, 106, 45, 0, 0, 65, 220, 0, 71, 13, 4, 32, 9, 65, 1, 106, 34, 4, 32, 9, 73, 13, 3, 32, 3, 32, 4, 34, 9, 107, 34, 8, 32, 3, 77, 13, 0, 11, 65, 128, 183, 192, 0, 65, 33, 65, 208, 184, 192, 0, 16, 219, 1, 0, 11, 65, 128, 183, 192, 0, 65, 33, 65, 208, 184, 192, 0, 16, 219, 1, 0, 11, 32, 4, 32, 7, 65, 224, 184, 192, 0, 16, 218, 1, 0, 11, 65, 208, 182, 192, 0, 65, 28, 65, 240, 184, 192, 0, 16, 219, 1, 0, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 33, 8, 32, 9, 65, 1, 113, 13, 1, 32, 8, 69, 4, 64, 32, 1, 32, 4, 54, 2, 8, 32, 3, 32, 5, 79, 4, 64, 32, 7, 32, 3, 79, 4, 64, 32, 3, 32, 5, 107, 34, 9, 65, 127, 74, 4, 64, 65, 0, 33, 1, 2, 64, 2, 64, 32, 9, 69, 4, 64, 65, 1, 33, 8, 65, 0, 33, 4, 12, 1, 11, 32, 9, 34, 4, 65, 1, 16, 73, 34, 8, 69, 13, 1, 11, 32, 2, 65, 0, 54, 2, 16, 32, 2, 32, 8, 54, 2, 8, 32, 2, 32, 4, 54, 2, 12, 32, 2, 65, 0, 54, 2, 24, 32, 2, 65, 0, 54, 2, 28, 32, 9, 4, 64, 32, 5, 32, 6, 106, 33, 8, 65, 0, 33, 7, 65, 0, 33, 3, 65, 0, 33, 5, 3, 64, 32, 8, 45, 0, 0, 34, 6, 65, 32, 73, 4, 64, 65, 0, 33, 4, 12, 14, 11, 2, 64, 2, 64, 32, 2, 2, 127, 2, 64, 2, 64, 2, 64, 32, 3, 65, 1, 113, 4, 64, 2, 64, 32, 6, 65, 80, 106, 65, 255, 1, 113, 65, 10, 73, 13, 0, 65, 12, 33, 4, 32, 6, 65, 191, 127, 106, 34, 3, 65, 37, 75, 13, 21, 32, 3, 65, 6, 107, 14, 26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 11, 32, 5, 65, 3, 75, 13, 1, 32, 2, 65, 28, 106, 32, 5, 106, 32, 6, 58, 0, 0, 65, 1, 33, 3, 32, 5, 65, 1, 106, 34, 5, 65, 4, 71, 13, 6, 2, 64, 32, 2, 40, 2, 28, 34, 4, 65, 80, 106, 34, 3, 65, 255, 1, 113, 65, 10, 73, 13, 0, 2, 64, 32, 4, 65, 191, 127, 106, 65, 255, 1, 113, 65, 6, 79, 4, 64, 32, 4, 65, 159, 127, 106, 65, 255, 1, 113, 65, 6, 73, 13, 1, 12, 25, 11, 32, 4, 65, 73, 106, 33, 3, 12, 1, 11, 32, 4, 65, 169, 127, 106, 33, 3, 11, 2, 64, 32, 4, 65, 8, 118, 34, 7, 65, 80, 106, 34, 5, 65, 255, 1, 113, 65, 10, 73, 13, 0, 2, 64, 32, 7, 65, 191, 127, 106, 65, 255, 1, 113, 65, 6, 79, 4, 64, 32, 7, 65, 159, 127, 106, 65, 255, 1, 113, 65, 6, 73, 13, 1, 12, 25, 11, 32, 7, 65, 73, 106, 33, 5, 12, 1, 11, 32, 7, 65, 169, 127, 106, 33, 5, 11, 2, 64, 32, 4, 65, 16, 118, 34, 6, 65, 80, 106, 34, 7, 65, 255, 1, 113, 65, 10, 73, 13, 0, 2, 64, 32, 6, 65, 191, 127, 106, 65, 255, 1, 113, 65, 6, 79, 4, 64, 32, 6, 65, 159, 127, 106, 65, 255, 1, 113, 65, 6, 73, 13, 1, 12, 25, 11, 32, 6, 65, 73, 106, 33, 7, 12, 1, 11, 32, 6, 65, 169, 127, 106, 33, 7, 11, 2, 64, 32, 4, 65, 24, 118, 34, 6, 65, 80, 106, 34, 4, 65, 255, 1, 113, 65, 10, 73, 13, 0, 2, 64, 32, 6, 65, 191, 127, 106, 65, 255, 1, 113, 65, 6, 79, 4, 64, 32, 6, 65, 159, 127, 106, 65, 255, 1, 113, 65, 6, 73, 13, 1, 12, 25, 11, 32, 6, 65, 73, 106, 33, 4, 12, 1, 11, 32, 6, 65, 169, 127, 106, 33, 4, 11, 32, 5, 65, 8, 116, 32, 3, 65, 12, 116, 114, 32, 7, 65, 255, 1, 113, 65, 4, 116, 114, 34, 5, 32, 4, 65, 255, 1, 113, 114, 33, 3, 2, 64, 32, 5, 65, 128, 240, 3, 113, 65, 128, 176, 3, 71, 4, 64, 32, 3, 65, 128, 240, 3, 113, 65, 128, 176, 3, 70, 34, 1, 69, 13, 1, 65, 12, 33, 4, 12, 22, 11, 32, 10, 65, 1, 71, 4, 64, 32, 3, 65, 255, 255, 3, 113, 65, 255, 183, 3, 77, 4, 64, 65, 0, 33, 5, 65, 1, 33, 10, 32, 3, 33, 11, 12, 8, 11, 65, 6, 33, 4, 12, 22, 11, 32, 3, 65, 255, 255, 3, 113, 65, 128, 184, 3, 73, 4, 64, 65, 8, 33, 4, 12, 22, 11, 32, 11, 65, 255, 255, 3, 113, 65, 128, 208, 124, 106, 34, 1, 65, 255, 255, 3, 113, 34, 5, 32, 1, 71, 13, 3, 65, 15, 33, 4, 32, 3, 65, 128, 200, 0, 106, 65, 255, 255, 3, 113, 32, 5, 65, 10, 116, 114, 34, 3, 65, 128, 128, 4, 106, 34, 1, 65, 128, 128, 196, 0, 70, 32, 3, 65, 255, 255, 63, 75, 114, 32, 1, 65, 128, 240, 255, 63, 113, 65, 128, 176, 3, 70, 114, 13, 21, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 27, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 24, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 26, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 25, 32, 2, 65, 8, 106, 65, 4, 16, 6, 32, 2, 40, 2, 16, 34, 1, 32, 2, 40, 2, 8, 106, 32, 2, 40, 2, 24, 54, 0, 0, 32, 2, 32, 1, 65, 4, 106, 34, 1, 54, 2, 16, 65, 0, 33, 10, 65, 0, 33, 5, 12, 6, 11, 32, 2, 65, 8, 106, 2, 127, 2, 64, 2, 64, 65, 128, 128, 196, 0, 32, 3, 65, 255, 255, 3, 113, 32, 1, 27, 34, 1, 65, 128, 1, 79, 4, 64, 32, 1, 65, 128, 16, 73, 13, 1, 32, 1, 65, 128, 128, 4, 79, 13, 2, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 26, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 24, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 25, 65, 3, 12, 3, 11, 32, 2, 32, 1, 58, 0, 24, 65, 1, 12, 2, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 25, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 24, 65, 2, 12, 1, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 27, 32, 2, 32, 1, 65, 12, 118, 65, 128, 1, 114, 58, 0, 25, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 24, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 26, 65, 4, 11, 34, 1, 16, 6, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 8, 106, 32, 2, 65, 24, 106, 32, 1, 16, 154, 2, 26, 32, 2, 32, 1, 32, 3, 106, 34, 1, 54, 2, 16, 65, 0, 33, 5, 12, 5, 11, 32, 7, 65, 1, 113, 69, 13, 2, 65, 12, 33, 4, 32, 6, 65, 94, 106, 34, 12, 65, 211, 0, 75, 13, 19, 65, 1, 33, 3, 65, 1, 33, 7, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 12, 65, 1, 107, 14, 83, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 25, 1, 25, 25, 25, 2, 25, 25, 25, 25, 25, 25, 25, 3, 25, 25, 25, 4, 25, 5, 11, 0, 11, 32, 2, 40, 2, 12, 32, 1, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 1, 11, 32, 2, 40, 2, 8, 106, 32, 6, 58, 0, 0, 32, 2, 40, 2, 16, 65, 1, 106, 12, 8, 11, 32, 2, 40, 2, 12, 32, 1, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 1, 11, 32, 2, 40, 2, 8, 106, 65, 8, 58, 0, 0, 32, 2, 40, 2, 16, 65, 1, 106, 12, 7, 11, 32, 2, 40, 2, 12, 32, 1, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 1, 11, 32, 2, 40, 2, 8, 106, 65, 12, 58, 0, 0, 32, 2, 40, 2, 16, 65, 1, 106, 12, 6, 11, 32, 2, 40, 2, 12, 32, 1, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 1, 11, 32, 2, 40, 2, 8, 106, 65, 10, 58, 0, 0, 32, 2, 40, 2, 16, 65, 1, 106, 12, 5, 11, 32, 2, 40, 2, 12, 32, 1, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 1, 11, 32, 2, 40, 2, 8, 106, 65, 13, 58, 0, 0, 32, 2, 40, 2, 16, 65, 1, 106, 12, 4, 11, 32, 2, 40, 2, 12, 32, 1, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 1, 11, 32, 2, 40, 2, 8, 106, 65, 9, 58, 0, 0, 32, 2, 40, 2, 16, 65, 1, 106, 12, 3, 11, 32, 5, 65, 4, 65, 188, 182, 192, 0, 16, 218, 1, 0, 11, 65, 128, 183, 192, 0, 65, 33, 65, 236, 182, 192, 0, 16, 219, 1, 0, 11, 32, 6, 65, 220, 0, 70, 4, 64, 65, 1, 33, 7, 65, 0, 33, 3, 12, 3, 11, 32, 10, 65, 1, 70, 4, 64, 65, 17, 33, 4, 12, 17, 11, 32, 2, 40, 2, 12, 32, 1, 70, 4, 127, 32, 2, 65, 8, 106, 65, 1, 16, 6, 32, 2, 40, 2, 16, 5, 32, 1, 11, 32, 2, 40, 2, 8, 106, 32, 6, 58, 0, 0, 32, 2, 40, 2, 16, 65, 1, 106, 11, 34, 1, 54, 2, 16, 11, 65, 0, 33, 3, 65, 0, 33, 7, 11, 32, 8, 65, 1, 106, 33, 8, 32, 9, 65, 127, 106, 34, 9, 13, 0, 11, 65, 12, 33, 4, 32, 7, 65, 1, 113, 13, 12, 65, 17, 33, 4, 32, 10, 65, 1, 70, 13, 12, 32, 2, 40, 2, 8, 33, 8, 32, 2, 40, 2, 12, 33, 4, 11, 32, 2, 65, 32, 106, 32, 8, 32, 1, 16, 140, 2, 32, 2, 40, 2, 32, 65, 1, 70, 4, 64, 32, 4, 4, 64, 32, 8, 16, 204, 1, 11, 32, 0, 66, 129, 128, 128, 128, 240, 1, 55, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 2, 32, 55, 2, 0, 32, 0, 65, 16, 106, 32, 2, 65, 40, 106, 40, 2, 0, 54, 2, 0, 12, 13, 11, 32, 0, 32, 8, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 12, 12, 11, 32, 9, 16, 29, 0, 11, 16, 28, 0, 11, 32, 3, 32, 7, 65, 192, 184, 192, 0, 16, 220, 1, 0, 11, 32, 5, 32, 3, 65, 192, 184, 192, 0, 16, 221, 1, 0, 11, 65, 208, 182, 192, 0, 65, 28, 65, 176, 184, 192, 0, 16, 219, 1, 0, 11, 32, 3, 65, 1, 106, 12, 1, 11, 32, 8, 13, 3, 32, 4, 11, 33, 3, 32, 1, 32, 3, 54, 2, 8, 32, 7, 32, 3, 75, 13, 0, 11, 11, 32, 0, 66, 129, 128, 128, 128, 48, 55, 2, 0, 12, 2, 11, 65, 208, 182, 192, 0, 65, 28, 65, 176, 184, 192, 0, 16, 219, 1, 0, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 32, 4, 54, 2, 4, 32, 2, 40, 2, 8, 34, 0, 69, 13, 0, 32, 2, 40, 2, 12, 69, 13, 0, 32, 0, 16, 204, 1, 11, 32, 2, 65, 48, 106, 36, 0, 15, 11, 16, 122, 0, 11, 115, 1, 6, 127, 2, 64, 32, 1, 40, 2, 4, 34, 4, 32, 1, 40, 2, 8, 34, 2, 77, 13, 0, 32, 1, 40, 2, 0, 33, 5, 3, 64, 32, 2, 32, 5, 106, 45, 0, 0, 34, 6, 65, 119, 106, 34, 7, 65, 23, 75, 4, 64, 65, 1, 33, 3, 12, 2, 11, 65, 1, 32, 7, 116, 65, 147, 128, 128, 4, 113, 69, 4, 64, 65, 1, 33, 3, 12, 2, 11, 32, 1, 32, 2, 65, 1, 106, 34, 2, 54, 2, 8, 32, 4, 32, 2, 75, 13, 0, 11, 11, 32, 0, 32, 6, 58, 0, 1, 32, 0, 32, 3, 58, 0, 0, 11, 56, 1, 1, 127, 2, 127, 65, 0, 32, 1, 40, 2, 4, 32, 1, 40, 2, 8, 34, 2, 77, 13, 0, 26, 32, 1, 40, 2, 0, 32, 2, 106, 45, 0, 0, 33, 2, 65, 1, 11, 33, 1, 32, 0, 32, 2, 58, 0, 1, 32, 0, 32, 1, 58, 0, 0, 11, 69, 1, 1, 127, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 221, 0, 58, 0, 0, 32, 0, 65, 3, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 67, 0, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 253, 0, 58, 0, 0, 32, 0, 65, 3, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 123, 1, 1, 127, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 34, 3, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 253, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 34, 2, 54, 2, 8, 32, 3, 40, 2, 0, 32, 2, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 253, 0, 58, 0, 0, 32, 0, 65, 3, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 233, 1, 1, 2, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 32, 0, 40, 2, 0, 34, 3, 65, 1, 77, 4, 64, 32, 3, 65, 1, 107, 13, 1, 12, 2, 11, 32, 2, 65, 44, 106, 65, 0, 54, 2, 0, 32, 2, 65, 172, 175, 192, 0, 54, 2, 40, 32, 2, 66, 1, 55, 2, 28, 32, 2, 65, 156, 185, 192, 0, 54, 2, 24, 32, 1, 32, 2, 65, 24, 106, 16, 253, 1, 12, 2, 11, 32, 2, 65, 44, 106, 65, 0, 54, 2, 0, 32, 2, 65, 172, 175, 192, 0, 54, 2, 40, 32, 2, 66, 1, 55, 2, 28, 32, 2, 65, 180, 185, 192, 0, 54, 2, 24, 32, 1, 32, 2, 65, 24, 106, 16, 253, 1, 12, 1, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 4, 32, 2, 65, 44, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 28, 32, 2, 65, 188, 175, 192, 0, 54, 2, 24, 32, 2, 65, 45, 54, 2, 12, 32, 2, 32, 2, 65, 8, 106, 54, 2, 40, 32, 2, 32, 2, 65, 20, 106, 54, 2, 8, 32, 2, 32, 2, 65, 4, 106, 54, 2, 20, 32, 1, 32, 2, 65, 24, 106, 16, 253, 1, 11, 32, 2, 65, 48, 106, 36, 0, 11, 38, 1, 1, 127, 65, 128, 8, 65, 1, 16, 73, 34, 1, 69, 4, 64, 65, 128, 8, 16, 29, 0, 11, 32, 0, 66, 128, 8, 55, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 221, 1, 1, 5, 127, 35, 0, 65, 16, 107, 34, 4, 36, 0, 32, 4, 65, 8, 106, 65, 0, 58, 0, 0, 32, 4, 66, 0, 55, 3, 0, 32, 4, 32, 2, 65, 10, 112, 65, 48, 114, 58, 0, 9, 65, 9, 33, 3, 2, 64, 2, 64, 32, 2, 65, 10, 79, 4, 64, 65, 9, 33, 5, 3, 64, 32, 2, 65, 10, 110, 33, 6, 32, 5, 65, 127, 106, 34, 3, 32, 5, 75, 13, 2, 32, 3, 32, 4, 106, 32, 6, 65, 10, 112, 65, 48, 114, 58, 0, 0, 32, 2, 65, 228, 0, 73, 32, 3, 33, 5, 32, 6, 33, 2, 69, 13, 0, 11, 32, 3, 65, 11, 79, 13, 2, 11, 32, 1, 65, 10, 32, 3, 107, 34, 5, 16, 6, 32, 1, 65, 8, 106, 34, 6, 40, 2, 0, 34, 2, 32, 1, 40, 2, 0, 106, 32, 3, 32, 4, 106, 32, 5, 16, 154, 2, 26, 32, 0, 65, 3, 54, 2, 0, 32, 6, 32, 2, 32, 5, 106, 54, 2, 0, 32, 4, 65, 16, 106, 36, 0, 15, 11, 65, 128, 183, 192, 0, 65, 33, 65, 156, 186, 192, 0, 16, 219, 1, 0, 11, 32, 3, 65, 10, 65, 156, 186, 192, 0, 16, 221, 1, 0, 11, 241, 1, 2, 5, 127, 1, 126, 35, 0, 65, 32, 107, 34, 3, 36, 0, 32, 3, 65, 23, 106, 65, 0, 54, 0, 0, 32, 3, 65, 16, 106, 66, 0, 55, 3, 0, 32, 3, 66, 0, 55, 3, 8, 32, 3, 32, 2, 66, 10, 130, 167, 65, 48, 114, 58, 0, 27, 65, 19, 33, 4, 2, 64, 2, 64, 32, 2, 66, 10, 90, 4, 64, 65, 19, 33, 5, 3, 64, 32, 2, 66, 10, 128, 33, 8, 32, 5, 65, 127, 106, 34, 4, 32, 5, 75, 13, 2, 32, 3, 65, 8, 106, 32, 4, 106, 32, 8, 66, 10, 130, 167, 65, 48, 114, 58, 0, 0, 32, 2, 66, 228, 0, 84, 32, 4, 33, 5, 32, 8, 33, 2, 69, 13, 0, 11, 32, 4, 65, 21, 79, 13, 2, 11, 32, 1, 65, 20, 32, 4, 107, 34, 7, 16, 6, 32, 1, 65, 8, 106, 34, 6, 40, 2, 0, 34, 5, 32, 1, 40, 2, 0, 106, 32, 3, 65, 8, 106, 32, 4, 106, 32, 7, 16, 154, 2, 26, 32, 0, 65, 3, 54, 2, 0, 32, 6, 32, 5, 32, 7, 106, 54, 2, 0, 32, 3, 65, 32, 106, 36, 0, 15, 11, 65, 128, 183, 192, 0, 65, 33, 65, 172, 186, 192, 0, 16, 219, 1, 0, 11, 32, 4, 65, 20, 65, 172, 186, 192, 0, 16, 221, 1, 0, 11, 154, 14, 1, 9, 127, 35, 0, 65, 16, 107, 34, 8, 36, 0, 32, 1, 65, 8, 106, 34, 6, 40, 2, 0, 34, 4, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 6, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 6, 32, 6, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 8, 65, 0, 54, 2, 12, 2, 64, 32, 3, 69, 13, 0, 32, 2, 32, 3, 106, 33, 10, 32, 1, 65, 4, 106, 33, 7, 32, 1, 65, 8, 106, 33, 5, 3, 64, 32, 2, 65, 1, 106, 33, 6, 2, 64, 32, 2, 44, 0, 0, 34, 3, 65, 127, 74, 4, 64, 32, 3, 65, 255, 1, 113, 33, 3, 32, 6, 33, 2, 12, 1, 11, 2, 127, 32, 6, 32, 10, 70, 4, 64, 32, 10, 33, 6, 65, 0, 12, 1, 11, 32, 2, 65, 2, 106, 33, 6, 32, 2, 45, 0, 1, 65, 63, 113, 11, 33, 2, 32, 3, 65, 31, 113, 33, 11, 32, 3, 65, 255, 1, 113, 34, 12, 65, 223, 1, 77, 4, 64, 32, 2, 32, 11, 65, 6, 116, 114, 33, 3, 32, 6, 33, 2, 12, 1, 11, 2, 64, 32, 6, 32, 10, 70, 4, 64, 65, 0, 33, 9, 32, 10, 33, 3, 12, 1, 11, 32, 6, 45, 0, 0, 65, 63, 113, 33, 9, 32, 6, 65, 1, 106, 34, 3, 33, 6, 11, 32, 9, 32, 2, 65, 6, 116, 114, 33, 9, 32, 12, 65, 240, 1, 73, 4, 64, 32, 9, 32, 11, 65, 12, 116, 114, 33, 3, 32, 6, 33, 2, 12, 1, 11, 2, 127, 32, 3, 32, 10, 70, 4, 64, 32, 6, 33, 2, 65, 0, 12, 1, 11, 32, 3, 65, 1, 106, 33, 2, 32, 3, 45, 0, 0, 65, 63, 113, 11, 32, 11, 65, 18, 116, 65, 128, 128, 240, 0, 113, 32, 9, 65, 6, 116, 114, 114, 33, 3, 11, 32, 5, 2, 127, 2, 64, 32, 3, 65, 120, 106, 34, 6, 65, 26, 75, 4, 64, 32, 3, 65, 220, 0, 71, 4, 64, 32, 3, 65, 128, 128, 196, 0, 71, 13, 2, 12, 5, 11, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 220, 0, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 220, 0, 58, 0, 0, 32, 5, 40, 2, 0, 65, 1, 106, 12, 2, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 6, 65, 1, 107, 14, 26, 3, 2, 6, 1, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 4, 11, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 220, 0, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 242, 0, 58, 0, 0, 32, 5, 40, 2, 0, 65, 1, 106, 12, 6, 11, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 220, 0, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 230, 0, 58, 0, 0, 32, 5, 40, 2, 0, 65, 1, 106, 12, 5, 11, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 220, 0, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 238, 0, 58, 0, 0, 32, 5, 40, 2, 0, 65, 1, 106, 12, 4, 11, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 220, 0, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 244, 0, 58, 0, 0, 32, 5, 40, 2, 0, 65, 1, 106, 12, 3, 11, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 220, 0, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 226, 0, 58, 0, 0, 32, 5, 40, 2, 0, 65, 1, 106, 12, 2, 11, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 220, 0, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 5, 40, 2, 0, 65, 1, 106, 12, 1, 11, 32, 3, 65, 32, 79, 4, 64, 32, 1, 2, 127, 2, 64, 2, 64, 32, 3, 65, 128, 1, 79, 4, 64, 32, 3, 65, 128, 16, 73, 13, 1, 32, 3, 65, 128, 128, 4, 79, 13, 2, 32, 8, 32, 3, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 8, 32, 3, 65, 12, 118, 65, 224, 1, 114, 58, 0, 12, 32, 8, 32, 3, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 3, 12, 3, 11, 32, 8, 32, 3, 58, 0, 12, 65, 1, 12, 2, 11, 32, 8, 32, 3, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 32, 8, 32, 3, 65, 6, 118, 65, 192, 1, 114, 58, 0, 12, 65, 2, 12, 1, 11, 32, 8, 32, 3, 65, 63, 113, 65, 128, 1, 114, 58, 0, 15, 32, 8, 32, 3, 65, 18, 118, 65, 240, 1, 114, 58, 0, 12, 32, 8, 32, 3, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 8, 32, 3, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 4, 11, 34, 4, 16, 6, 32, 5, 40, 2, 0, 34, 3, 32, 1, 40, 2, 0, 106, 32, 8, 65, 12, 106, 32, 4, 16, 154, 2, 26, 32, 3, 32, 4, 106, 12, 1, 11, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 220, 0, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 245, 0, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 48, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 48, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 3, 65, 15, 113, 34, 6, 65, 10, 73, 33, 11, 32, 3, 65, 255, 1, 113, 34, 3, 65, 4, 118, 34, 9, 65, 48, 114, 32, 9, 65, 55, 106, 32, 3, 65, 160, 1, 73, 27, 33, 3, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 32, 3, 58, 0, 0, 32, 5, 32, 5, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 7, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 5, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 32, 6, 65, 48, 114, 32, 6, 65, 55, 106, 32, 11, 27, 58, 0, 0, 32, 5, 40, 2, 0, 65, 1, 106, 11, 34, 4, 54, 2, 0, 32, 2, 32, 10, 71, 13, 0, 11, 11, 32, 1, 65, 4, 106, 40, 2, 0, 32, 4, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 65, 8, 106, 40, 2, 0, 5, 32, 4, 11, 32, 1, 40, 2, 0, 106, 65, 34, 58, 0, 0, 32, 0, 65, 3, 54, 2, 0, 32, 1, 65, 8, 106, 34, 0, 32, 0, 40, 2, 0, 65, 1, 106, 54, 2, 0, 32, 8, 65, 16, 106, 36, 0, 11, 54, 1, 2, 127, 32, 1, 65, 4, 16, 6, 32, 1, 65, 8, 106, 34, 2, 40, 2, 0, 34, 3, 32, 1, 40, 2, 0, 106, 65, 238, 234, 177, 227, 6, 54, 0, 0, 32, 0, 65, 3, 54, 2, 0, 32, 2, 32, 3, 65, 4, 106, 54, 2, 0, 11, 84, 0, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 219, 0, 58, 0, 0, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 65, 1, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 86, 1, 1, 127, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 251, 0, 58, 0, 0, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 65, 1, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 186, 2, 1, 3, 127, 35, 0, 65, 16, 107, 34, 4, 36, 0, 32, 1, 40, 2, 8, 34, 5, 32, 1, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 5, 11, 32, 1, 40, 2, 0, 106, 65, 251, 0, 58, 0, 0, 65, 1, 33, 5, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 4, 32, 1, 32, 2, 32, 3, 16, 144, 1, 2, 64, 32, 4, 40, 2, 0, 34, 2, 65, 3, 70, 4, 64, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 34, 3, 40, 2, 0, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 58, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 34, 2, 54, 2, 8, 32, 3, 40, 2, 0, 32, 2, 70, 4, 127, 32, 1, 65, 1, 16, 6, 32, 1, 40, 2, 8, 5, 32, 2, 11, 32, 1, 40, 2, 0, 106, 65, 251, 0, 58, 0, 0, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 8, 106, 65, 1, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 65, 0, 33, 5, 12, 1, 11, 32, 4, 65, 12, 106, 40, 2, 0, 33, 1, 32, 4, 65, 8, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 4, 33, 6, 32, 0, 32, 2, 54, 2, 4, 32, 0, 65, 16, 106, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 6, 54, 2, 0, 11, 32, 0, 32, 5, 54, 2, 0, 32, 4, 65, 16, 106, 36, 0, 11, 240, 15, 2, 8, 127, 3, 126, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 27, 73, 4, 64, 12, 1, 11, 65, 0, 32, 1, 65, 102, 106, 34, 7, 32, 7, 32, 1, 75, 27, 33, 10, 3, 64, 32, 8, 65, 26, 106, 34, 7, 32, 8, 73, 13, 2, 32, 7, 32, 1, 75, 13, 7, 32, 6, 65, 32, 106, 34, 7, 32, 6, 73, 13, 3, 32, 7, 32, 3, 75, 13, 8, 32, 2, 32, 6, 106, 34, 5, 32, 4, 32, 0, 32, 8, 106, 34, 11, 41, 0, 0, 34, 13, 66, 56, 134, 34, 14, 66, 58, 136, 167, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 1, 106, 32, 4, 32, 14, 32, 13, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 34, 14, 66, 52, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 2, 106, 32, 4, 32, 14, 32, 13, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 13, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 34, 15, 66, 46, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 3, 106, 32, 4, 32, 15, 66, 40, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 4, 106, 32, 4, 32, 15, 66, 34, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 6, 106, 32, 4, 32, 13, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 13, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 13, 66, 40, 136, 66, 128, 254, 3, 131, 32, 13, 66, 56, 136, 132, 132, 34, 14, 167, 34, 6, 65, 22, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 7, 106, 32, 4, 32, 6, 65, 16, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 5, 106, 32, 4, 32, 14, 32, 15, 132, 66, 28, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 8, 106, 32, 4, 32, 11, 65, 6, 106, 41, 0, 0, 34, 13, 66, 56, 134, 34, 14, 66, 58, 136, 167, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 9, 106, 32, 4, 32, 14, 32, 13, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 34, 14, 66, 52, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 10, 106, 32, 4, 32, 14, 32, 13, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 13, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 34, 15, 66, 46, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 11, 106, 32, 4, 32, 15, 66, 40, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 12, 106, 32, 4, 32, 15, 66, 34, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 13, 106, 32, 4, 32, 15, 32, 13, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 13, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 13, 66, 40, 136, 66, 128, 254, 3, 131, 32, 13, 66, 56, 136, 132, 132, 34, 14, 132, 66, 28, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 14, 106, 32, 4, 32, 14, 167, 34, 6, 65, 22, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 15, 106, 32, 4, 32, 6, 65, 16, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 16, 106, 32, 4, 32, 11, 65, 12, 106, 41, 0, 0, 34, 13, 66, 56, 134, 34, 14, 66, 58, 136, 167, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 17, 106, 32, 4, 32, 14, 32, 13, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 34, 14, 66, 52, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 18, 106, 32, 4, 32, 14, 32, 13, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 13, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 34, 15, 66, 46, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 19, 106, 32, 4, 32, 15, 66, 40, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 20, 106, 32, 4, 32, 15, 66, 34, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 22, 106, 32, 4, 32, 13, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 13, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 13, 66, 40, 136, 66, 128, 254, 3, 131, 32, 13, 66, 56, 136, 132, 132, 34, 14, 167, 34, 6, 65, 22, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 23, 106, 32, 4, 32, 6, 65, 16, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 21, 106, 32, 4, 32, 14, 32, 15, 132, 66, 28, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 24, 106, 32, 4, 32, 11, 65, 18, 106, 41, 0, 0, 34, 13, 66, 56, 134, 34, 14, 66, 58, 136, 167, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 25, 106, 32, 4, 32, 14, 32, 13, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 34, 14, 66, 52, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 26, 106, 32, 4, 32, 14, 32, 13, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 13, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 34, 15, 66, 46, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 27, 106, 32, 4, 32, 15, 66, 40, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 28, 106, 32, 4, 32, 15, 66, 34, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 29, 106, 32, 4, 32, 15, 32, 13, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 13, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 13, 66, 40, 136, 66, 128, 254, 3, 131, 32, 13, 66, 56, 136, 132, 132, 34, 14, 132, 66, 28, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 30, 106, 32, 4, 32, 14, 167, 34, 6, 65, 22, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 31, 106, 32, 4, 32, 6, 65, 16, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 7, 33, 6, 32, 8, 65, 24, 106, 34, 8, 32, 10, 77, 13, 0, 11, 11, 32, 1, 32, 1, 65, 3, 112, 34, 11, 107, 34, 9, 32, 1, 75, 13, 2, 32, 8, 32, 9, 79, 4, 64, 32, 7, 33, 6, 12, 10, 11, 3, 64, 32, 8, 65, 3, 106, 34, 10, 32, 8, 73, 13, 4, 32, 10, 32, 1, 75, 13, 8, 32, 7, 65, 4, 106, 34, 6, 32, 7, 73, 13, 5, 32, 6, 32, 3, 75, 13, 9, 32, 2, 32, 7, 106, 34, 12, 32, 4, 32, 0, 32, 8, 106, 34, 5, 45, 0, 0, 34, 7, 65, 2, 118, 106, 45, 0, 0, 58, 0, 0, 32, 12, 65, 3, 106, 32, 4, 32, 5, 65, 2, 106, 45, 0, 0, 34, 8, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 12, 65, 1, 106, 32, 4, 32, 7, 65, 4, 116, 65, 48, 113, 32, 5, 65, 1, 106, 45, 0, 0, 34, 7, 65, 4, 118, 114, 106, 45, 0, 0, 58, 0, 0, 32, 12, 65, 2, 106, 32, 4, 32, 7, 65, 2, 116, 65, 60, 113, 32, 8, 65, 6, 118, 114, 106, 45, 0, 0, 58, 0, 0, 32, 6, 33, 7, 32, 10, 34, 8, 32, 9, 73, 13, 0, 11, 12, 9, 11, 65, 240, 186, 192, 0, 65, 28, 65, 176, 188, 192, 0, 16, 219, 1, 0, 11, 65, 240, 186, 192, 0, 65, 28, 65, 208, 188, 192, 0, 16, 219, 1, 0, 11, 65, 192, 186, 192, 0, 65, 33, 65, 240, 188, 192, 0, 16, 219, 1, 0, 11, 65, 240, 186, 192, 0, 65, 28, 65, 128, 189, 192, 0, 16, 219, 1, 0, 11, 65, 240, 186, 192, 0, 65, 28, 65, 160, 189, 192, 0, 16, 219, 1, 0, 11, 32, 7, 32, 1, 65, 192, 188, 192, 0, 16, 220, 1, 0, 11, 32, 7, 32, 3, 65, 224, 188, 192, 0, 16, 220, 1, 0, 11, 32, 10, 32, 1, 65, 144, 189, 192, 0, 16, 220, 1, 0, 11, 32, 6, 32, 3, 65, 176, 189, 192, 0, 16, 220, 1, 0, 11, 32, 11, 65, 127, 106, 34, 7, 65, 1, 75, 4, 64, 32, 6, 15, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 7, 65, 1, 107, 69, 4, 64, 32, 9, 32, 1, 79, 13, 2, 32, 6, 32, 3, 79, 13, 3, 32, 2, 32, 6, 106, 32, 4, 32, 0, 32, 9, 106, 45, 0, 0, 34, 7, 65, 2, 118, 106, 45, 0, 0, 58, 0, 0, 32, 9, 65, 1, 106, 34, 10, 32, 1, 79, 13, 4, 32, 6, 65, 1, 106, 34, 1, 32, 3, 79, 13, 5, 32, 1, 32, 2, 106, 32, 4, 32, 7, 65, 4, 116, 65, 48, 113, 32, 0, 32, 10, 106, 45, 0, 0, 34, 0, 65, 240, 1, 113, 65, 4, 118, 114, 106, 45, 0, 0, 58, 0, 0, 32, 6, 65, 2, 106, 34, 1, 32, 3, 79, 13, 6, 32, 1, 32, 2, 106, 32, 4, 32, 0, 65, 2, 116, 65, 60, 113, 106, 45, 0, 0, 58, 0, 0, 32, 6, 65, 3, 106, 34, 4, 32, 6, 79, 13, 1, 65, 240, 186, 192, 0, 65, 28, 65, 144, 190, 192, 0, 16, 219, 1, 0, 11, 32, 9, 32, 1, 79, 13, 6, 32, 6, 32, 3, 79, 13, 7, 32, 2, 32, 6, 106, 32, 4, 32, 0, 32, 9, 106, 45, 0, 0, 34, 0, 65, 2, 118, 106, 45, 0, 0, 58, 0, 0, 32, 6, 65, 1, 106, 34, 1, 32, 3, 79, 13, 8, 32, 1, 32, 2, 106, 32, 4, 32, 0, 65, 4, 116, 65, 48, 113, 106, 45, 0, 0, 58, 0, 0, 32, 6, 65, 2, 106, 33, 4, 11, 32, 4, 15, 11, 32, 9, 32, 1, 65, 192, 189, 192, 0, 16, 218, 1, 0, 11, 32, 6, 32, 3, 65, 208, 189, 192, 0, 16, 218, 1, 0, 11, 32, 10, 32, 1, 65, 224, 189, 192, 0, 16, 218, 1, 0, 11, 32, 1, 32, 3, 65, 240, 189, 192, 0, 16, 218, 1, 0, 11, 32, 1, 32, 3, 65, 128, 190, 192, 0, 16, 218, 1, 0, 11, 32, 9, 32, 1, 65, 160, 190, 192, 0, 16, 218, 1, 0, 11, 32, 6, 32, 3, 65, 176, 190, 192, 0, 16, 218, 1, 0, 11, 32, 1, 32, 3, 65, 192, 190, 192, 0, 16, 218, 1, 0, 11, 166, 1, 1, 2, 127, 32, 0, 32, 1, 32, 2, 32, 3, 65, 172, 201, 192, 0, 40, 2, 0, 16, 149, 1, 33, 4, 65, 0, 33, 0, 2, 64, 2, 64, 32, 4, 32, 3, 77, 4, 64, 32, 1, 65, 3, 112, 65, 3, 115, 65, 3, 112, 34, 5, 4, 64, 32, 3, 32, 4, 107, 33, 3, 32, 2, 32, 4, 106, 33, 2, 65, 0, 33, 1, 3, 64, 32, 1, 32, 3, 70, 13, 3, 32, 1, 32, 2, 106, 65, 61, 58, 0, 0, 32, 1, 65, 1, 106, 34, 0, 33, 1, 32, 0, 32, 5, 73, 13, 0, 11, 11, 32, 0, 32, 4, 106, 32, 4, 73, 13, 2, 15, 11, 32, 4, 32, 3, 65, 228, 187, 192, 0, 16, 221, 1, 0, 11, 32, 3, 32, 3, 65, 176, 191, 192, 0, 16, 218, 1, 0, 11, 65, 244, 187, 192, 0, 65, 42, 65, 160, 188, 192, 0, 16, 233, 1, 0, 11, 99, 1, 4, 127, 35, 0, 65, 32, 107, 34, 5, 36, 0, 32, 1, 65, 3, 110, 34, 2, 65, 255, 255, 255, 255, 3, 113, 32, 2, 71, 33, 3, 32, 2, 65, 2, 116, 33, 4, 2, 64, 32, 1, 32, 2, 65, 3, 108, 107, 69, 4, 64, 32, 4, 33, 1, 12, 1, 11, 32, 3, 32, 4, 65, 4, 106, 34, 1, 32, 4, 73, 114, 33, 3, 11, 32, 0, 32, 1, 54, 2, 4, 32, 0, 32, 3, 65, 1, 115, 54, 2, 0, 32, 5, 65, 32, 106, 36, 0, 11, 176, 2, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 2, 64, 32, 0, 45, 0, 0, 65, 1, 107, 14, 2, 2, 0, 1, 11, 32, 2, 32, 0, 65, 4, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 0, 45, 0, 1, 58, 0, 7, 32, 2, 65, 28, 106, 65, 2, 54, 2, 0, 32, 2, 65, 44, 106, 65, 51, 54, 2, 0, 32, 2, 66, 3, 55, 2, 12, 32, 2, 65, 224, 191, 192, 0, 54, 2, 8, 32, 2, 65, 52, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 54, 2, 40, 32, 2, 32, 2, 65, 7, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 12, 2, 11, 32, 2, 32, 0, 65, 4, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 0, 45, 0, 1, 58, 0, 7, 32, 2, 65, 28, 106, 65, 2, 54, 2, 0, 32, 2, 65, 44, 106, 65, 51, 54, 2, 0, 32, 2, 66, 3, 55, 2, 12, 32, 2, 65, 188, 192, 192, 0, 54, 2, 8, 32, 2, 65, 52, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 54, 2, 40, 32, 2, 32, 2, 65, 7, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 12, 1, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 188, 186, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 164, 192, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 253, 1, 11, 32, 2, 65, 48, 106, 36, 0, 11, 38, 1, 1, 127, 32, 0, 65, 7, 106, 34, 1, 32, 0, 73, 4, 64, 65, 212, 192, 192, 0, 65, 51, 65, 220, 193, 192, 0, 16, 233, 1, 0, 11, 32, 1, 65, 3, 118, 11, 197, 1, 1, 1, 127, 35, 0, 65, 32, 107, 34, 1, 36, 0, 32, 0, 40, 2, 0, 34, 0, 45, 0, 0, 32, 0, 65, 0, 58, 0, 0, 65, 1, 113, 4, 64, 32, 1, 65, 16, 106, 16, 185, 1, 2, 64, 32, 1, 40, 2, 16, 69, 4, 64, 32, 1, 16, 185, 1, 12, 1, 11, 32, 1, 65, 8, 106, 32, 1, 65, 24, 106, 40, 2, 0, 54, 2, 0, 32, 1, 32, 1, 41, 3, 16, 55, 3, 0, 11, 65, 0, 33, 0, 2, 64, 32, 1, 40, 2, 0, 69, 13, 0, 32, 1, 65, 24, 106, 32, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 1, 32, 1, 41, 3, 0, 55, 3, 16, 32, 1, 65, 16, 106, 16, 186, 1, 33, 0, 32, 1, 40, 2, 16, 34, 2, 69, 13, 0, 32, 1, 40, 2, 20, 69, 13, 0, 32, 2, 16, 204, 1, 11, 65, 252, 129, 193, 0, 32, 0, 58, 0, 0, 32, 1, 65, 32, 106, 36, 0, 15, 11, 65, 178, 202, 192, 0, 65, 43, 65, 160, 202, 192, 0, 16, 219, 1, 0, 11, 14, 0, 32, 1, 65, 176, 202, 192, 0, 65, 2, 16, 222, 1, 11, 40, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 12, 32, 2, 65, 12, 106, 32, 1, 16, 154, 1, 32, 2, 65, 16, 106, 36, 0, 11, 70, 1, 2, 127, 35, 0, 65, 16, 107, 34, 0, 36, 0, 65, 248, 129, 193, 0, 40, 2, 0, 65, 3, 71, 4, 64, 32, 0, 65, 1, 58, 0, 11, 32, 0, 32, 0, 65, 11, 106, 54, 2, 12, 32, 0, 65, 12, 106, 16, 187, 1, 11, 65, 252, 129, 193, 0, 45, 0, 0, 32, 0, 65, 16, 106, 36, 0, 65, 0, 71, 11, 61, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 65, 134, 203, 192, 0, 65, 9, 16, 129, 2, 32, 2, 32, 0, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 144, 203, 192, 0, 16, 240, 1, 32, 2, 16, 241, 1, 32, 2, 65, 16, 106, 36, 0, 11, 50, 0, 32, 0, 40, 2, 0, 33, 0, 32, 1, 16, 254, 1, 69, 4, 64, 32, 1, 16, 255, 1, 69, 4, 64, 32, 0, 32, 1, 16, 225, 1, 15, 11, 32, 0, 32, 1, 16, 146, 2, 15, 11, 32, 0, 32, 1, 16, 142, 2, 11, 188, 4, 2, 4, 127, 2, 126, 35, 0, 65, 224, 0, 107, 34, 3, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 41, 3, 0, 34, 7, 32, 2, 173, 66, 3, 134, 124, 34, 8, 32, 7, 90, 4, 64, 32, 0, 32, 8, 55, 3, 0, 65, 192, 0, 32, 0, 40, 2, 8, 34, 4, 107, 34, 5, 65, 193, 0, 79, 13, 1, 32, 5, 32, 2, 77, 4, 64, 32, 0, 65, 204, 0, 106, 34, 6, 32, 4, 4, 64, 32, 4, 65, 193, 0, 79, 13, 6, 32, 4, 32, 0, 65, 12, 106, 34, 4, 106, 32, 1, 32, 5, 16, 154, 2, 26, 32, 0, 65, 0, 54, 2, 8, 32, 6, 32, 4, 65, 1, 16, 161, 1, 32, 2, 32, 5, 107, 33, 2, 32, 1, 32, 5, 106, 33, 1, 11, 32, 1, 32, 2, 65, 6, 118, 16, 161, 1, 32, 2, 65, 63, 113, 34, 4, 65, 193, 0, 79, 13, 6, 32, 0, 65, 12, 106, 32, 1, 32, 2, 65, 64, 113, 106, 32, 4, 16, 154, 2, 26, 12, 7, 11, 32, 2, 32, 4, 106, 34, 5, 32, 4, 79, 4, 64, 32, 5, 65, 193, 0, 79, 13, 3, 32, 3, 32, 5, 32, 4, 107, 34, 5, 54, 2, 32, 32, 3, 32, 2, 54, 2, 36, 32, 2, 32, 5, 71, 13, 4, 32, 0, 32, 4, 106, 65, 12, 106, 32, 1, 32, 2, 16, 154, 2, 26, 32, 0, 40, 2, 8, 34, 1, 32, 2, 106, 34, 4, 32, 1, 79, 13, 7, 65, 144, 204, 192, 0, 65, 28, 65, 228, 205, 192, 0, 16, 219, 1, 0, 11, 65, 144, 204, 192, 0, 65, 28, 65, 196, 205, 192, 0, 16, 219, 1, 0, 11, 65, 144, 204, 192, 0, 65, 28, 65, 180, 209, 192, 0, 16, 219, 1, 0, 11, 65, 160, 206, 192, 0, 65, 33, 65, 196, 206, 192, 0, 16, 219, 1, 0, 11, 32, 5, 65, 192, 0, 65, 212, 205, 192, 0, 16, 220, 1, 0, 11, 32, 3, 65, 28, 106, 65, 57, 54, 2, 0, 32, 3, 65, 20, 106, 65, 58, 54, 2, 0, 32, 3, 65, 60, 106, 65, 3, 54, 2, 0, 32, 3, 32, 3, 65, 32, 106, 54, 2, 64, 32, 3, 32, 3, 65, 36, 106, 54, 2, 68, 32, 3, 65, 220, 0, 106, 65, 0, 54, 2, 0, 32, 3, 66, 3, 55, 2, 44, 32, 3, 65, 236, 207, 192, 0, 54, 2, 40, 32, 3, 65, 58, 54, 2, 12, 32, 3, 65, 192, 208, 192, 0, 54, 2, 88, 32, 3, 66, 1, 55, 2, 76, 32, 3, 65, 184, 208, 192, 0, 54, 2, 72, 32, 3, 32, 3, 65, 8, 106, 54, 2, 56, 32, 3, 32, 3, 65, 200, 0, 106, 54, 2, 24, 32, 3, 32, 3, 65, 196, 0, 106, 54, 2, 16, 32, 3, 32, 3, 65, 64, 107, 54, 2, 8, 32, 3, 65, 40, 106, 65, 216, 207, 192, 0, 16, 224, 1, 0, 11, 32, 4, 65, 192, 0, 65, 244, 205, 192, 0, 16, 221, 1, 0, 11, 32, 4, 65, 192, 0, 65, 132, 206, 192, 0, 16, 220, 1, 0, 11, 32, 0, 32, 4, 54, 2, 8, 32, 3, 65, 224, 0, 106, 36, 0, 11, 206, 63, 1, 34, 127, 32, 0, 40, 2, 28, 33, 34, 32, 0, 40, 2, 24, 33, 32, 32, 0, 40, 2, 20, 33, 30, 32, 0, 40, 2, 16, 33, 29, 32, 0, 40, 2, 12, 33, 35, 32, 0, 40, 2, 8, 33, 33, 32, 0, 40, 2, 4, 33, 31, 32, 0, 40, 2, 0, 33, 5, 32, 2, 4, 64, 32, 1, 32, 2, 65, 6, 116, 106, 33, 36, 3, 64, 32, 5, 32, 1, 40, 0, 0, 34, 2, 65, 24, 116, 32, 2, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 2, 65, 8, 118, 65, 128, 254, 3, 113, 32, 2, 65, 24, 118, 114, 114, 34, 20, 32, 34, 32, 29, 65, 26, 119, 32, 29, 65, 21, 119, 115, 32, 29, 65, 7, 119, 115, 106, 32, 30, 32, 32, 115, 32, 29, 113, 32, 32, 115, 106, 106, 65, 152, 223, 168, 148, 4, 106, 34, 16, 32, 5, 32, 33, 113, 32, 5, 32, 31, 113, 34, 2, 32, 31, 32, 33, 113, 115, 115, 32, 5, 65, 30, 119, 32, 5, 65, 19, 119, 115, 32, 5, 65, 10, 119, 115, 106, 106, 34, 13, 65, 30, 119, 32, 13, 65, 19, 119, 115, 32, 13, 65, 10, 119, 115, 32, 13, 32, 5, 32, 31, 115, 113, 32, 2, 115, 106, 32, 32, 32, 1, 65, 4, 106, 40, 0, 0, 34, 2, 65, 24, 116, 32, 2, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 2, 65, 8, 118, 65, 128, 254, 3, 113, 32, 2, 65, 24, 118, 114, 114, 34, 24, 106, 32, 16, 32, 35, 106, 34, 3, 32, 29, 32, 30, 115, 113, 32, 30, 115, 106, 32, 3, 65, 26, 119, 32, 3, 65, 21, 119, 115, 32, 3, 65, 7, 119, 115, 106, 65, 145, 137, 221, 137, 7, 106, 34, 15, 106, 34, 2, 32, 13, 113, 34, 7, 32, 5, 32, 13, 113, 115, 32, 2, 32, 5, 113, 115, 32, 2, 65, 30, 119, 32, 2, 65, 19, 119, 115, 32, 2, 65, 10, 119, 115, 106, 32, 30, 32, 1, 65, 8, 106, 40, 0, 0, 34, 16, 65, 24, 116, 32, 16, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 16, 65, 8, 118, 65, 128, 254, 3, 113, 32, 16, 65, 24, 118, 114, 114, 34, 4, 106, 32, 15, 32, 33, 106, 34, 15, 32, 3, 32, 29, 115, 113, 32, 29, 115, 106, 32, 15, 65, 26, 119, 32, 15, 65, 21, 119, 115, 32, 15, 65, 7, 119, 115, 106, 65, 207, 247, 131, 174, 123, 106, 34, 9, 106, 34, 8, 65, 30, 119, 32, 8, 65, 19, 119, 115, 32, 8, 65, 10, 119, 115, 32, 8, 32, 2, 32, 13, 115, 113, 32, 7, 115, 106, 32, 29, 32, 1, 65, 12, 106, 40, 0, 0, 34, 16, 65, 24, 116, 32, 16, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 16, 65, 8, 118, 65, 128, 254, 3, 113, 32, 16, 65, 24, 118, 114, 114, 34, 23, 106, 32, 9, 32, 31, 106, 34, 7, 32, 3, 32, 15, 115, 113, 32, 3, 115, 106, 32, 7, 65, 26, 119, 32, 7, 65, 21, 119, 115, 32, 7, 65, 7, 119, 115, 106, 65, 165, 183, 215, 205, 126, 106, 34, 12, 106, 34, 16, 32, 8, 113, 34, 19, 32, 2, 32, 8, 113, 115, 32, 2, 32, 16, 113, 115, 32, 16, 65, 30, 119, 32, 16, 65, 19, 119, 115, 32, 16, 65, 10, 119, 115, 106, 32, 3, 32, 1, 65, 16, 106, 40, 0, 0, 34, 9, 65, 24, 116, 32, 9, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 9, 65, 8, 118, 65, 128, 254, 3, 113, 32, 9, 65, 24, 118, 114, 114, 34, 10, 106, 32, 5, 32, 12, 106, 34, 3, 32, 7, 32, 15, 115, 113, 32, 15, 115, 106, 32, 3, 65, 26, 119, 32, 3, 65, 21, 119, 115, 32, 3, 65, 7, 119, 115, 106, 65, 219, 132, 219, 202, 3, 106, 34, 12, 106, 34, 9, 65, 30, 119, 32, 9, 65, 19, 119, 115, 32, 9, 65, 10, 119, 115, 32, 9, 32, 8, 32, 16, 115, 113, 32, 19, 115, 106, 32, 1, 65, 20, 106, 40, 0, 0, 34, 5, 65, 24, 116, 32, 5, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 5, 65, 8, 118, 65, 128, 254, 3, 113, 32, 5, 65, 24, 118, 114, 114, 34, 26, 32, 15, 106, 32, 12, 32, 13, 106, 34, 13, 32, 3, 32, 7, 115, 113, 32, 7, 115, 106, 32, 13, 65, 26, 119, 32, 13, 65, 21, 119, 115, 32, 13, 65, 7, 119, 115, 106, 65, 241, 163, 196, 207, 5, 106, 34, 12, 106, 34, 5, 32, 9, 113, 34, 19, 32, 9, 32, 16, 113, 115, 32, 5, 32, 16, 113, 115, 32, 5, 65, 30, 119, 32, 5, 65, 19, 119, 115, 32, 5, 65, 10, 119, 115, 106, 32, 1, 65, 24, 106, 40, 0, 0, 34, 15, 65, 24, 116, 32, 15, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 15, 65, 8, 118, 65, 128, 254, 3, 113, 32, 15, 65, 24, 118, 114, 114, 34, 14, 32, 7, 106, 32, 2, 32, 12, 106, 34, 15, 32, 3, 32, 13, 115, 113, 32, 3, 115, 106, 32, 15, 65, 26, 119, 32, 15, 65, 21, 119, 115, 32, 15, 65, 7, 119, 115, 106, 65, 164, 133, 254, 145, 121, 106, 34, 12, 106, 34, 7, 65, 30, 119, 32, 7, 65, 19, 119, 115, 32, 7, 65, 10, 119, 115, 32, 7, 32, 5, 32, 9, 115, 113, 32, 19, 115, 106, 32, 1, 65, 28, 106, 40, 0, 0, 34, 2, 65, 24, 116, 32, 2, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 2, 65, 8, 118, 65, 128, 254, 3, 113, 32, 2, 65, 24, 118, 114, 114, 34, 6, 32, 3, 106, 32, 8, 32, 12, 106, 34, 3, 32, 13, 32, 15, 115, 113, 32, 13, 115, 106, 32, 3, 65, 26, 119, 32, 3, 65, 21, 119, 115, 32, 3, 65, 7, 119, 115, 106, 65, 213, 189, 241, 216, 122, 106, 34, 8, 106, 34, 2, 32, 7, 113, 34, 12, 32, 5, 32, 7, 113, 115, 32, 2, 32, 5, 113, 115, 32, 2, 65, 30, 119, 32, 2, 65, 19, 119, 115, 32, 2, 65, 10, 119, 115, 106, 32, 13, 32, 1, 65, 32, 106, 40, 0, 0, 34, 13, 65, 24, 116, 32, 13, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 13, 65, 8, 118, 65, 128, 254, 3, 113, 32, 13, 65, 24, 118, 114, 114, 34, 11, 106, 32, 8, 32, 16, 106, 34, 13, 32, 3, 32, 15, 115, 113, 32, 15, 115, 106, 32, 13, 65, 26, 119, 32, 13, 65, 21, 119, 115, 32, 13, 65, 7, 119, 115, 106, 65, 152, 213, 158, 192, 125, 106, 34, 19, 106, 34, 8, 65, 30, 119, 32, 8, 65, 19, 119, 115, 32, 8, 65, 10, 119, 115, 32, 8, 32, 2, 32, 7, 115, 113, 32, 12, 115, 106, 32, 1, 65, 36, 106, 40, 0, 0, 34, 16, 65, 24, 116, 32, 16, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 16, 65, 8, 118, 65, 128, 254, 3, 113, 32, 16, 65, 24, 118, 114, 114, 34, 18, 32, 15, 106, 32, 9, 32, 19, 106, 34, 15, 32, 3, 32, 13, 115, 113, 32, 3, 115, 106, 32, 15, 65, 26, 119, 32, 15, 65, 21, 119, 115, 32, 15, 65, 7, 119, 115, 106, 65, 129, 182, 141, 148, 1, 106, 34, 9, 106, 34, 16, 32, 8, 113, 34, 12, 32, 2, 32, 8, 113, 115, 32, 2, 32, 16, 113, 115, 32, 16, 65, 30, 119, 32, 16, 65, 19, 119, 115, 32, 16, 65, 10, 119, 115, 106, 32, 3, 32, 1, 65, 40, 106, 40, 0, 0, 34, 3, 65, 24, 116, 32, 3, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 3, 65, 8, 118, 65, 128, 254, 3, 113, 32, 3, 65, 24, 118, 114, 114, 34, 17, 106, 32, 5, 32, 9, 106, 34, 3, 32, 13, 32, 15, 115, 113, 32, 13, 115, 106, 32, 3, 65, 26, 119, 32, 3, 65, 21, 119, 115, 32, 3, 65, 7, 119, 115, 106, 65, 190, 139, 198, 161, 2, 106, 34, 19, 106, 34, 9, 65, 30, 119, 32, 9, 65, 19, 119, 115, 32, 9, 65, 10, 119, 115, 32, 9, 32, 8, 32, 16, 115, 113, 32, 12, 115, 106, 32, 1, 65, 44, 106, 40, 0, 0, 34, 5, 65, 24, 116, 32, 5, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 5, 65, 8, 118, 65, 128, 254, 3, 113, 32, 5, 65, 24, 118, 114, 114, 34, 21, 32, 13, 106, 32, 7, 32, 19, 106, 34, 13, 32, 3, 32, 15, 115, 113, 32, 15, 115, 106, 32, 13, 65, 26, 119, 32, 13, 65, 21, 119, 115, 32, 13, 65, 7, 119, 115, 106, 65, 195, 251, 177, 168, 5, 106, 34, 7, 106, 34, 5, 32, 9, 113, 34, 12, 32, 9, 32, 16, 113, 115, 32, 5, 32, 16, 113, 115, 32, 5, 65, 30, 119, 32, 5, 65, 19, 119, 115, 32, 5, 65, 10, 119, 115, 106, 32, 15, 32, 1, 65, 48, 106, 40, 0, 0, 34, 15, 65, 24, 116, 32, 15, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 15, 65, 8, 118, 65, 128, 254, 3, 113, 32, 15, 65, 24, 118, 114, 114, 34, 22, 106, 32, 2, 32, 7, 106, 34, 15, 32, 3, 32, 13, 115, 113, 32, 3, 115, 106, 32, 15, 65, 26, 119, 32, 15, 65, 21, 119, 115, 32, 15, 65, 7, 119, 115, 106, 65, 244, 186, 249, 149, 7, 106, 34, 19, 106, 34, 7, 65, 30, 119, 32, 7, 65, 19, 119, 115, 32, 7, 65, 10, 119, 115, 32, 7, 32, 5, 32, 9, 115, 113, 32, 12, 115, 106, 32, 1, 65, 52, 106, 40, 0, 0, 34, 2, 65, 24, 116, 32, 2, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 2, 65, 8, 118, 65, 128, 254, 3, 113, 32, 2, 65, 24, 118, 114, 114, 34, 27, 32, 3, 106, 32, 8, 32, 19, 106, 34, 8, 32, 13, 32, 15, 115, 113, 32, 13, 115, 106, 32, 8, 65, 26, 119, 32, 8, 65, 21, 119, 115, 32, 8, 65, 7, 119, 115, 106, 65, 254, 227, 250, 134, 120, 106, 34, 3, 106, 34, 2, 32, 7, 113, 34, 25, 32, 5, 32, 7, 113, 115, 32, 2, 32, 5, 113, 115, 32, 2, 65, 30, 119, 32, 2, 65, 19, 119, 115, 32, 2, 65, 10, 119, 115, 106, 32, 13, 32, 1, 65, 56, 106, 40, 0, 0, 34, 13, 65, 24, 116, 32, 13, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 13, 65, 8, 118, 65, 128, 254, 3, 113, 32, 13, 65, 24, 118, 114, 114, 34, 13, 106, 32, 3, 32, 16, 106, 34, 12, 32, 8, 32, 15, 115, 113, 32, 15, 115, 106, 32, 12, 65, 26, 119, 32, 12, 65, 21, 119, 115, 32, 12, 65, 7, 119, 115, 106, 65, 167, 141, 240, 222, 121, 106, 34, 3, 106, 34, 19, 65, 30, 119, 32, 19, 65, 19, 119, 115, 32, 19, 65, 10, 119, 115, 32, 19, 32, 2, 32, 7, 115, 113, 32, 25, 115, 106, 32, 1, 65, 60, 106, 40, 0, 0, 34, 16, 65, 24, 116, 32, 16, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 16, 65, 8, 118, 65, 128, 254, 3, 113, 32, 16, 65, 24, 118, 114, 114, 34, 16, 32, 15, 106, 32, 3, 32, 9, 106, 34, 9, 32, 8, 32, 12, 115, 113, 32, 8, 115, 106, 32, 9, 65, 26, 119, 32, 9, 65, 21, 119, 115, 32, 9, 65, 7, 119, 115, 106, 65, 244, 226, 239, 140, 124, 106, 34, 25, 106, 34, 3, 32, 19, 113, 34, 28, 32, 2, 32, 19, 113, 115, 32, 2, 32, 3, 113, 115, 32, 3, 65, 30, 119, 32, 3, 65, 19, 119, 115, 32, 3, 65, 10, 119, 115, 106, 32, 24, 65, 3, 118, 32, 24, 65, 25, 119, 115, 32, 24, 65, 14, 119, 115, 32, 20, 106, 32, 18, 106, 32, 13, 65, 15, 119, 32, 13, 65, 13, 119, 115, 32, 13, 65, 10, 118, 115, 106, 34, 15, 32, 8, 106, 32, 5, 32, 25, 106, 34, 20, 32, 9, 32, 12, 115, 113, 32, 12, 115, 106, 32, 20, 65, 26, 119, 32, 20, 65, 21, 119, 115, 32, 20, 65, 7, 119, 115, 106, 65, 193, 211, 237, 164, 126, 106, 34, 8, 106, 34, 25, 65, 30, 119, 32, 25, 65, 19, 119, 115, 32, 25, 65, 10, 119, 115, 32, 25, 32, 3, 32, 19, 115, 113, 32, 28, 115, 106, 32, 4, 65, 3, 118, 32, 4, 65, 25, 119, 115, 32, 4, 65, 14, 119, 115, 32, 24, 106, 32, 17, 106, 32, 16, 65, 15, 119, 32, 16, 65, 13, 119, 115, 32, 16, 65, 10, 118, 115, 106, 34, 5, 32, 12, 106, 32, 7, 32, 8, 106, 34, 12, 32, 9, 32, 20, 115, 113, 32, 9, 115, 106, 32, 12, 65, 26, 119, 32, 12, 65, 21, 119, 115, 32, 12, 65, 7, 119, 115, 106, 65, 134, 143, 249, 253, 126, 106, 34, 24, 106, 34, 8, 32, 25, 113, 34, 28, 32, 3, 32, 25, 113, 115, 32, 3, 32, 8, 113, 115, 32, 8, 65, 30, 119, 32, 8, 65, 19, 119, 115, 32, 8, 65, 10, 119, 115, 106, 32, 23, 65, 3, 118, 32, 23, 65, 25, 119, 115, 32, 23, 65, 14, 119, 115, 32, 4, 106, 32, 21, 106, 32, 15, 65, 15, 119, 32, 15, 65, 13, 119, 115, 32, 15, 65, 10, 118, 115, 106, 34, 7, 32, 9, 106, 32, 2, 32, 24, 106, 34, 24, 32, 12, 32, 20, 115, 113, 32, 20, 115, 106, 32, 24, 65, 26, 119, 32, 24, 65, 21, 119, 115, 32, 24, 65, 7, 119, 115, 106, 65, 198, 187, 134, 254, 0, 106, 34, 9, 106, 34, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 32, 4, 32, 8, 32, 25, 115, 113, 32, 28, 115, 106, 32, 10, 65, 3, 118, 32, 10, 65, 25, 119, 115, 32, 10, 65, 14, 119, 115, 32, 23, 106, 32, 22, 106, 32, 5, 65, 15, 119, 32, 5, 65, 13, 119, 115, 32, 5, 65, 10, 118, 115, 106, 34, 2, 32, 20, 106, 32, 9, 32, 19, 106, 34, 20, 32, 12, 32, 24, 115, 113, 32, 12, 115, 106, 32, 20, 65, 26, 119, 32, 20, 65, 21, 119, 115, 32, 20, 65, 7, 119, 115, 106, 65, 204, 195, 178, 160, 2, 106, 34, 19, 106, 34, 9, 32, 4, 113, 34, 28, 32, 4, 32, 8, 113, 115, 32, 8, 32, 9, 113, 115, 32, 9, 65, 30, 119, 32, 9, 65, 19, 119, 115, 32, 9, 65, 10, 119, 115, 106, 32, 12, 32, 26, 65, 3, 118, 32, 26, 65, 25, 119, 115, 32, 26, 65, 14, 119, 115, 32, 10, 106, 32, 27, 106, 32, 7, 65, 15, 119, 32, 7, 65, 13, 119, 115, 32, 7, 65, 10, 118, 115, 106, 34, 12, 106, 32, 3, 32, 19, 106, 34, 23, 32, 20, 32, 24, 115, 113, 32, 24, 115, 106, 32, 23, 65, 26, 119, 32, 23, 65, 21, 119, 115, 32, 23, 65, 7, 119, 115, 106, 65, 239, 216, 164, 239, 2, 106, 34, 19, 106, 34, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 32, 10, 32, 4, 32, 9, 115, 113, 32, 28, 115, 106, 32, 14, 65, 3, 118, 32, 14, 65, 25, 119, 115, 32, 14, 65, 14, 119, 115, 32, 26, 106, 32, 13, 106, 32, 2, 65, 15, 119, 32, 2, 65, 13, 119, 115, 32, 2, 65, 10, 118, 115, 106, 34, 3, 32, 24, 106, 32, 19, 32, 25, 106, 34, 24, 32, 20, 32, 23, 115, 113, 32, 20, 115, 106, 32, 24, 65, 26, 119, 32, 24, 65, 21, 119, 115, 32, 24, 65, 7, 119, 115, 106, 65, 170, 137, 210, 211, 4, 106, 34, 25, 106, 34, 19, 32, 10, 113, 34, 28, 32, 9, 32, 10, 113, 115, 32, 9, 32, 19, 113, 115, 32, 19, 65, 30, 119, 32, 19, 65, 19, 119, 115, 32, 19, 65, 10, 119, 115, 106, 32, 20, 32, 6, 65, 3, 118, 32, 6, 65, 25, 119, 115, 32, 6, 65, 14, 119, 115, 32, 14, 106, 32, 16, 106, 32, 12, 65, 15, 119, 32, 12, 65, 13, 119, 115, 32, 12, 65, 10, 118, 115, 106, 34, 20, 106, 32, 8, 32, 25, 106, 34, 26, 32, 23, 32, 24, 115, 113, 32, 23, 115, 106, 32, 26, 65, 26, 119, 32, 26, 65, 21, 119, 115, 32, 26, 65, 7, 119, 115, 106, 65, 220, 211, 194, 229, 5, 106, 34, 25, 106, 34, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 32, 14, 32, 10, 32, 19, 115, 113, 32, 28, 115, 106, 32, 11, 65, 3, 118, 32, 11, 65, 25, 119, 115, 32, 11, 65, 14, 119, 115, 32, 6, 106, 32, 15, 106, 32, 3, 65, 15, 119, 32, 3, 65, 13, 119, 115, 32, 3, 65, 10, 118, 115, 106, 34, 8, 32, 23, 106, 32, 4, 32, 25, 106, 34, 23, 32, 24, 32, 26, 115, 113, 32, 24, 115, 106, 32, 23, 65, 26, 119, 32, 23, 65, 21, 119, 115, 32, 23, 65, 7, 119, 115, 106, 65, 218, 145, 230, 183, 7, 106, 34, 4, 106, 34, 25, 32, 14, 113, 34, 28, 32, 14, 32, 19, 113, 115, 32, 19, 32, 25, 113, 115, 32, 25, 65, 30, 119, 32, 25, 65, 19, 119, 115, 32, 25, 65, 10, 119, 115, 106, 32, 24, 32, 18, 65, 3, 118, 32, 18, 65, 25, 119, 115, 32, 18, 65, 14, 119, 115, 32, 11, 106, 32, 5, 106, 32, 20, 65, 15, 119, 32, 20, 65, 13, 119, 115, 32, 20, 65, 10, 118, 115, 106, 34, 24, 106, 32, 4, 32, 9, 106, 34, 6, 32, 23, 32, 26, 115, 113, 32, 26, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 210, 162, 249, 193, 121, 106, 34, 4, 106, 34, 11, 65, 30, 119, 32, 11, 65, 19, 119, 115, 32, 11, 65, 10, 119, 115, 32, 11, 32, 14, 32, 25, 115, 113, 32, 28, 115, 106, 32, 17, 65, 3, 118, 32, 17, 65, 25, 119, 115, 32, 17, 65, 14, 119, 115, 32, 18, 106, 32, 7, 106, 32, 8, 65, 15, 119, 32, 8, 65, 13, 119, 115, 32, 8, 65, 10, 118, 115, 106, 34, 9, 32, 26, 106, 32, 4, 32, 10, 106, 34, 26, 32, 6, 32, 23, 115, 113, 32, 23, 115, 106, 32, 26, 65, 26, 119, 32, 26, 65, 21, 119, 115, 32, 26, 65, 7, 119, 115, 106, 65, 237, 140, 199, 193, 122, 106, 34, 10, 106, 34, 4, 32, 11, 113, 34, 28, 32, 11, 32, 25, 113, 115, 32, 4, 32, 25, 113, 115, 32, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 106, 32, 23, 32, 21, 65, 3, 118, 32, 21, 65, 25, 119, 115, 32, 21, 65, 14, 119, 115, 32, 17, 106, 32, 2, 106, 32, 24, 65, 15, 119, 32, 24, 65, 13, 119, 115, 32, 24, 65, 10, 118, 115, 106, 34, 23, 106, 32, 10, 32, 19, 106, 34, 18, 32, 6, 32, 26, 115, 113, 32, 6, 115, 106, 32, 18, 65, 26, 119, 32, 18, 65, 21, 119, 115, 32, 18, 65, 7, 119, 115, 106, 65, 200, 207, 140, 128, 123, 106, 34, 10, 106, 34, 17, 65, 30, 119, 32, 17, 65, 19, 119, 115, 32, 17, 65, 10, 119, 115, 32, 17, 32, 4, 32, 11, 115, 113, 32, 28, 115, 106, 32, 22, 65, 3, 118, 32, 22, 65, 25, 119, 115, 32, 22, 65, 14, 119, 115, 32, 21, 106, 32, 12, 106, 32, 9, 65, 15, 119, 32, 9, 65, 13, 119, 115, 32, 9, 65, 10, 118, 115, 106, 34, 19, 32, 6, 106, 32, 10, 32, 14, 106, 34, 6, 32, 18, 32, 26, 115, 113, 32, 26, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 199, 255, 229, 250, 123, 106, 34, 14, 106, 34, 10, 32, 17, 113, 34, 28, 32, 4, 32, 17, 113, 115, 32, 4, 32, 10, 113, 115, 32, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 106, 32, 26, 32, 27, 65, 3, 118, 32, 27, 65, 25, 119, 115, 32, 27, 65, 14, 119, 115, 32, 22, 106, 32, 3, 106, 32, 23, 65, 15, 119, 32, 23, 65, 13, 119, 115, 32, 23, 65, 10, 118, 115, 106, 34, 26, 106, 32, 14, 32, 25, 106, 34, 21, 32, 6, 32, 18, 115, 113, 32, 18, 115, 106, 32, 21, 65, 26, 119, 32, 21, 65, 21, 119, 115, 32, 21, 65, 7, 119, 115, 106, 65, 243, 151, 128, 183, 124, 106, 34, 14, 106, 34, 22, 65, 30, 119, 32, 22, 65, 19, 119, 115, 32, 22, 65, 10, 119, 115, 32, 22, 32, 10, 32, 17, 115, 113, 32, 28, 115, 106, 32, 13, 65, 3, 118, 32, 13, 65, 25, 119, 115, 32, 13, 65, 14, 119, 115, 32, 27, 106, 32, 20, 106, 32, 19, 65, 15, 119, 32, 19, 65, 13, 119, 115, 32, 19, 65, 10, 118, 115, 106, 34, 25, 32, 18, 106, 32, 11, 32, 14, 106, 34, 11, 32, 6, 32, 21, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 199, 162, 158, 173, 125, 106, 34, 18, 106, 34, 14, 32, 22, 113, 34, 27, 32, 10, 32, 22, 113, 115, 32, 10, 32, 14, 113, 115, 32, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 106, 32, 16, 65, 3, 118, 32, 16, 65, 25, 119, 115, 32, 16, 65, 14, 119, 115, 32, 13, 106, 32, 8, 106, 32, 26, 65, 15, 119, 32, 26, 65, 13, 119, 115, 32, 26, 65, 10, 118, 115, 106, 34, 13, 32, 6, 106, 32, 4, 32, 18, 106, 34, 6, 32, 11, 32, 21, 115, 113, 32, 21, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 209, 198, 169, 54, 106, 34, 4, 106, 34, 18, 65, 30, 119, 32, 18, 65, 19, 119, 115, 32, 18, 65, 10, 119, 115, 32, 18, 32, 14, 32, 22, 115, 113, 32, 27, 115, 106, 32, 15, 65, 3, 118, 32, 15, 65, 25, 119, 115, 32, 15, 65, 14, 119, 115, 32, 16, 106, 32, 24, 106, 32, 25, 65, 15, 119, 32, 25, 65, 13, 119, 115, 32, 25, 65, 10, 118, 115, 106, 34, 16, 32, 21, 106, 32, 4, 32, 17, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 231, 210, 164, 161, 1, 106, 34, 21, 106, 34, 4, 32, 18, 113, 34, 27, 32, 14, 32, 18, 113, 115, 32, 4, 32, 14, 113, 115, 32, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 106, 32, 5, 65, 3, 118, 32, 5, 65, 25, 119, 115, 32, 5, 65, 14, 119, 115, 32, 15, 106, 32, 9, 106, 32, 13, 65, 15, 119, 32, 13, 65, 13, 119, 115, 32, 13, 65, 10, 118, 115, 106, 34, 15, 32, 11, 106, 32, 10, 32, 21, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 133, 149, 220, 189, 2, 106, 34, 10, 106, 34, 21, 65, 30, 119, 32, 21, 65, 19, 119, 115, 32, 21, 65, 10, 119, 115, 32, 21, 32, 4, 32, 18, 115, 113, 32, 27, 115, 106, 32, 7, 65, 3, 118, 32, 7, 65, 25, 119, 115, 32, 7, 65, 14, 119, 115, 32, 5, 106, 32, 23, 106, 32, 16, 65, 15, 119, 32, 16, 65, 13, 119, 115, 32, 16, 65, 10, 118, 115, 106, 34, 5, 32, 6, 106, 32, 10, 32, 22, 106, 34, 6, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 184, 194, 236, 240, 2, 106, 34, 22, 106, 34, 10, 32, 21, 113, 34, 27, 32, 4, 32, 21, 113, 115, 32, 4, 32, 10, 113, 115, 32, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 106, 32, 2, 65, 3, 118, 32, 2, 65, 25, 119, 115, 32, 2, 65, 14, 119, 115, 32, 7, 106, 32, 19, 106, 32, 15, 65, 15, 119, 32, 15, 65, 13, 119, 115, 32, 15, 65, 10, 118, 115, 106, 34, 7, 32, 17, 106, 32, 14, 32, 22, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 252, 219, 177, 233, 4, 106, 34, 14, 106, 34, 22, 65, 30, 119, 32, 22, 65, 19, 119, 115, 32, 22, 65, 10, 119, 115, 32, 22, 32, 10, 32, 21, 115, 113, 32, 27, 115, 106, 32, 12, 65, 3, 118, 32, 12, 65, 25, 119, 115, 32, 12, 65, 14, 119, 115, 32, 2, 106, 32, 26, 106, 32, 5, 65, 15, 119, 32, 5, 65, 13, 119, 115, 32, 5, 65, 10, 118, 115, 106, 34, 2, 32, 11, 106, 32, 14, 32, 18, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 147, 154, 224, 153, 5, 106, 34, 18, 106, 34, 14, 32, 22, 113, 34, 27, 32, 10, 32, 22, 113, 115, 32, 10, 32, 14, 113, 115, 32, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 106, 32, 3, 65, 3, 118, 32, 3, 65, 25, 119, 115, 32, 3, 65, 14, 119, 115, 32, 12, 106, 32, 25, 106, 32, 7, 65, 15, 119, 32, 7, 65, 13, 119, 115, 32, 7, 65, 10, 118, 115, 106, 34, 12, 32, 6, 106, 32, 4, 32, 18, 106, 34, 6, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 212, 230, 169, 168, 6, 106, 34, 4, 106, 34, 18, 65, 30, 119, 32, 18, 65, 19, 119, 115, 32, 18, 65, 10, 119, 115, 32, 18, 32, 14, 32, 22, 115, 113, 32, 27, 115, 106, 32, 20, 65, 3, 118, 32, 20, 65, 25, 119, 115, 32, 20, 65, 14, 119, 115, 32, 3, 106, 32, 13, 106, 32, 2, 65, 15, 119, 32, 2, 65, 13, 119, 115, 32, 2, 65, 10, 118, 115, 106, 34, 3, 32, 17, 106, 32, 4, 32, 21, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 187, 149, 168, 179, 7, 106, 34, 21, 106, 34, 4, 32, 18, 113, 34, 27, 32, 14, 32, 18, 113, 115, 32, 4, 32, 14, 113, 115, 32, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 106, 32, 8, 65, 3, 118, 32, 8, 65, 25, 119, 115, 32, 8, 65, 14, 119, 115, 32, 20, 106, 32, 16, 106, 32, 12, 65, 15, 119, 32, 12, 65, 13, 119, 115, 32, 12, 65, 10, 118, 115, 106, 34, 20, 32, 11, 106, 32, 10, 32, 21, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 174, 146, 139, 142, 120, 106, 34, 10, 106, 34, 21, 65, 30, 119, 32, 21, 65, 19, 119, 115, 32, 21, 65, 10, 119, 115, 32, 21, 32, 4, 32, 18, 115, 113, 32, 27, 115, 106, 32, 24, 65, 3, 118, 32, 24, 65, 25, 119, 115, 32, 24, 65, 14, 119, 115, 32, 8, 106, 32, 15, 106, 32, 3, 65, 15, 119, 32, 3, 65, 13, 119, 115, 32, 3, 65, 10, 118, 115, 106, 34, 8, 32, 6, 106, 32, 10, 32, 22, 106, 34, 6, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 133, 217, 200, 147, 121, 106, 34, 22, 106, 34, 10, 32, 21, 113, 34, 27, 32, 4, 32, 21, 113, 115, 32, 4, 32, 10, 113, 115, 32, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 106, 32, 9, 65, 3, 118, 32, 9, 65, 25, 119, 115, 32, 9, 65, 14, 119, 115, 32, 24, 106, 32, 5, 106, 32, 20, 65, 15, 119, 32, 20, 65, 13, 119, 115, 32, 20, 65, 10, 118, 115, 106, 34, 24, 32, 17, 106, 32, 14, 32, 22, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 161, 209, 255, 149, 122, 106, 34, 14, 106, 34, 22, 65, 30, 119, 32, 22, 65, 19, 119, 115, 32, 22, 65, 10, 119, 115, 32, 22, 32, 10, 32, 21, 115, 113, 32, 27, 115, 106, 32, 23, 65, 3, 118, 32, 23, 65, 25, 119, 115, 32, 23, 65, 14, 119, 115, 32, 9, 106, 32, 7, 106, 32, 8, 65, 15, 119, 32, 8, 65, 13, 119, 115, 32, 8, 65, 10, 118, 115, 106, 34, 9, 32, 11, 106, 32, 14, 32, 18, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 203, 204, 233, 192, 122, 106, 34, 18, 106, 34, 14, 32, 22, 113, 34, 27, 32, 10, 32, 22, 113, 115, 32, 10, 32, 14, 113, 115, 32, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 106, 32, 19, 65, 3, 118, 32, 19, 65, 25, 119, 115, 32, 19, 65, 14, 119, 115, 32, 23, 106, 32, 2, 106, 32, 24, 65, 15, 119, 32, 24, 65, 13, 119, 115, 32, 24, 65, 10, 118, 115, 106, 34, 23, 32, 6, 106, 32, 4, 32, 18, 106, 34, 6, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 240, 150, 174, 146, 124, 106, 34, 4, 106, 34, 18, 65, 30, 119, 32, 18, 65, 19, 119, 115, 32, 18, 65, 10, 119, 115, 32, 18, 32, 14, 32, 22, 115, 113, 32, 27, 115, 106, 32, 26, 65, 3, 118, 32, 26, 65, 25, 119, 115, 32, 26, 65, 14, 119, 115, 32, 19, 106, 32, 12, 106, 32, 9, 65, 15, 119, 32, 9, 65, 13, 119, 115, 32, 9, 65, 10, 118, 115, 106, 34, 19, 32, 17, 106, 32, 4, 32, 21, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 163, 163, 177, 187, 124, 106, 34, 21, 106, 34, 4, 32, 18, 113, 34, 27, 32, 14, 32, 18, 113, 115, 32, 4, 32, 14, 113, 115, 32, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 106, 32, 25, 65, 3, 118, 32, 25, 65, 25, 119, 115, 32, 25, 65, 14, 119, 115, 32, 26, 106, 32, 3, 106, 32, 23, 65, 15, 119, 32, 23, 65, 13, 119, 115, 32, 23, 65, 10, 118, 115, 106, 34, 26, 32, 11, 106, 32, 10, 32, 21, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 153, 208, 203, 140, 125, 106, 34, 10, 106, 34, 21, 65, 30, 119, 32, 21, 65, 19, 119, 115, 32, 21, 65, 10, 119, 115, 32, 21, 32, 4, 32, 18, 115, 113, 32, 27, 115, 106, 32, 13, 65, 3, 118, 32, 13, 65, 25, 119, 115, 32, 13, 65, 14, 119, 115, 32, 25, 106, 32, 20, 106, 32, 19, 65, 15, 119, 32, 19, 65, 13, 119, 115, 32, 19, 65, 10, 118, 115, 106, 34, 25, 32, 6, 106, 32, 10, 32, 22, 106, 34, 6, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 164, 140, 228, 180, 125, 106, 34, 22, 106, 34, 10, 32, 21, 113, 34, 27, 32, 4, 32, 21, 113, 115, 32, 4, 32, 10, 113, 115, 32, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 106, 32, 16, 65, 3, 118, 32, 16, 65, 25, 119, 115, 32, 16, 65, 14, 119, 115, 32, 13, 106, 32, 8, 106, 32, 26, 65, 15, 119, 32, 26, 65, 13, 119, 115, 32, 26, 65, 10, 118, 115, 106, 34, 13, 32, 17, 106, 32, 14, 32, 22, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 133, 235, 184, 160, 127, 106, 34, 14, 106, 34, 22, 65, 30, 119, 32, 22, 65, 19, 119, 115, 32, 22, 65, 10, 119, 115, 32, 22, 32, 10, 32, 21, 115, 113, 32, 27, 115, 106, 32, 15, 65, 3, 118, 32, 15, 65, 25, 119, 115, 32, 15, 65, 14, 119, 115, 32, 16, 106, 32, 24, 106, 32, 25, 65, 15, 119, 32, 25, 65, 13, 119, 115, 32, 25, 65, 10, 118, 115, 106, 34, 16, 32, 11, 106, 32, 14, 32, 18, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 240, 192, 170, 131, 1, 106, 34, 18, 106, 34, 14, 32, 22, 113, 34, 27, 32, 10, 32, 22, 113, 115, 32, 10, 32, 14, 113, 115, 32, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 106, 32, 5, 65, 3, 118, 32, 5, 65, 25, 119, 115, 32, 5, 65, 14, 119, 115, 32, 15, 106, 32, 9, 106, 32, 13, 65, 15, 119, 32, 13, 65, 13, 119, 115, 32, 13, 65, 10, 118, 115, 106, 34, 15, 32, 6, 106, 32, 4, 32, 18, 106, 34, 4, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 4, 65, 26, 119, 32, 4, 65, 21, 119, 115, 32, 4, 65, 7, 119, 115, 106, 65, 150, 130, 147, 205, 1, 106, 34, 18, 106, 34, 6, 65, 30, 119, 32, 6, 65, 19, 119, 115, 32, 6, 65, 10, 119, 115, 32, 6, 32, 14, 32, 22, 115, 113, 32, 27, 115, 106, 32, 17, 32, 7, 65, 3, 118, 32, 7, 65, 25, 119, 115, 32, 7, 65, 14, 119, 115, 32, 5, 106, 32, 23, 106, 32, 16, 65, 15, 119, 32, 16, 65, 13, 119, 115, 32, 16, 65, 10, 118, 115, 106, 34, 17, 106, 32, 18, 32, 21, 106, 34, 18, 32, 4, 32, 11, 115, 113, 32, 11, 115, 106, 32, 18, 65, 26, 119, 32, 18, 65, 21, 119, 115, 32, 18, 65, 7, 119, 115, 106, 65, 136, 216, 221, 241, 1, 106, 34, 21, 106, 34, 5, 32, 6, 113, 34, 27, 32, 6, 32, 14, 113, 115, 32, 5, 32, 14, 113, 115, 32, 5, 65, 30, 119, 32, 5, 65, 19, 119, 115, 32, 5, 65, 10, 119, 115, 106, 32, 11, 32, 2, 65, 3, 118, 32, 2, 65, 25, 119, 115, 32, 2, 65, 14, 119, 115, 32, 7, 106, 32, 19, 106, 32, 15, 65, 15, 119, 32, 15, 65, 13, 119, 115, 32, 15, 65, 10, 118, 115, 106, 34, 11, 106, 32, 10, 32, 21, 106, 34, 7, 32, 4, 32, 18, 115, 113, 32, 4, 115, 106, 32, 7, 65, 26, 119, 32, 7, 65, 21, 119, 115, 32, 7, 65, 7, 119, 115, 106, 65, 204, 238, 161, 186, 2, 106, 34, 28, 106, 34, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 32, 10, 32, 5, 32, 6, 115, 113, 32, 27, 115, 106, 32, 12, 65, 3, 118, 32, 12, 65, 25, 119, 115, 32, 12, 65, 14, 119, 115, 32, 2, 106, 32, 26, 106, 32, 17, 65, 15, 119, 32, 17, 65, 13, 119, 115, 32, 17, 65, 10, 118, 115, 106, 34, 21, 32, 4, 106, 32, 22, 32, 28, 106, 34, 4, 32, 7, 32, 18, 115, 113, 32, 18, 115, 106, 32, 4, 65, 26, 119, 32, 4, 65, 21, 119, 115, 32, 4, 65, 7, 119, 115, 106, 65, 181, 249, 194, 165, 3, 106, 34, 22, 106, 34, 2, 32, 10, 113, 34, 27, 32, 5, 32, 10, 113, 115, 32, 2, 32, 5, 113, 115, 32, 2, 65, 30, 119, 32, 2, 65, 19, 119, 115, 32, 2, 65, 10, 119, 115, 106, 32, 18, 32, 3, 65, 3, 118, 32, 3, 65, 25, 119, 115, 32, 3, 65, 14, 119, 115, 32, 12, 106, 32, 25, 106, 32, 11, 65, 15, 119, 32, 11, 65, 13, 119, 115, 32, 11, 65, 10, 118, 115, 106, 34, 18, 106, 32, 14, 32, 22, 106, 34, 12, 32, 4, 32, 7, 115, 113, 32, 7, 115, 106, 32, 12, 65, 26, 119, 32, 12, 65, 21, 119, 115, 32, 12, 65, 7, 119, 115, 106, 65, 179, 153, 240, 200, 3, 106, 34, 28, 106, 34, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 32, 14, 32, 2, 32, 10, 115, 113, 32, 27, 115, 106, 32, 20, 65, 3, 118, 32, 20, 65, 25, 119, 115, 32, 20, 65, 14, 119, 115, 32, 3, 106, 32, 13, 106, 32, 21, 65, 15, 119, 32, 21, 65, 13, 119, 115, 32, 21, 65, 10, 118, 115, 106, 34, 22, 32, 7, 106, 32, 6, 32, 28, 106, 34, 7, 32, 4, 32, 12, 115, 113, 32, 4, 115, 106, 32, 7, 65, 26, 119, 32, 7, 65, 21, 119, 115, 32, 7, 65, 7, 119, 115, 106, 65, 202, 212, 226, 246, 4, 106, 34, 27, 106, 34, 3, 32, 14, 113, 34, 28, 32, 2, 32, 14, 113, 115, 32, 2, 32, 3, 113, 115, 32, 3, 65, 30, 119, 32, 3, 65, 19, 119, 115, 32, 3, 65, 10, 119, 115, 106, 32, 8, 65, 3, 118, 32, 8, 65, 25, 119, 115, 32, 8, 65, 14, 119, 115, 32, 20, 106, 32, 16, 106, 32, 18, 65, 15, 119, 32, 18, 65, 13, 119, 115, 32, 18, 65, 10, 118, 115, 106, 34, 6, 32, 4, 106, 32, 5, 32, 27, 106, 34, 20, 32, 7, 32, 12, 115, 113, 32, 12, 115, 106, 32, 20, 65, 26, 119, 32, 20, 65, 21, 119, 115, 32, 20, 65, 7, 119, 115, 106, 65, 207, 148, 243, 220, 5, 106, 34, 5, 106, 34, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 32, 4, 32, 3, 32, 14, 115, 113, 32, 28, 115, 106, 32, 24, 65, 3, 118, 32, 24, 65, 25, 119, 115, 32, 24, 65, 14, 119, 115, 32, 8, 106, 32, 15, 106, 32, 22, 65, 15, 119, 32, 22, 65, 13, 119, 115, 32, 22, 65, 10, 118, 115, 106, 34, 27, 32, 12, 106, 32, 5, 32, 10, 106, 34, 8, 32, 7, 32, 20, 115, 113, 32, 7, 115, 106, 32, 8, 65, 26, 119, 32, 8, 65, 21, 119, 115, 32, 8, 65, 7, 119, 115, 106, 65, 243, 223, 185, 193, 6, 106, 34, 12, 106, 34, 5, 32, 4, 113, 34, 10, 32, 3, 32, 4, 113, 115, 32, 3, 32, 5, 113, 115, 32, 5, 65, 30, 119, 32, 5, 65, 19, 119, 115, 32, 5, 65, 10, 119, 115, 106, 32, 9, 65, 3, 118, 32, 9, 65, 25, 119, 115, 32, 9, 65, 14, 119, 115, 32, 24, 106, 32, 17, 106, 32, 6, 65, 15, 119, 32, 6, 65, 13, 119, 115, 32, 6, 65, 10, 118, 115, 106, 34, 24, 32, 7, 106, 32, 2, 32, 12, 106, 34, 7, 32, 8, 32, 20, 115, 113, 32, 20, 115, 106, 32, 7, 65, 26, 119, 32, 7, 65, 21, 119, 115, 32, 7, 65, 7, 119, 115, 106, 65, 238, 133, 190, 164, 7, 106, 34, 2, 106, 34, 12, 65, 30, 119, 32, 12, 65, 19, 119, 115, 32, 12, 65, 10, 119, 115, 32, 12, 32, 4, 32, 5, 115, 113, 32, 10, 115, 106, 32, 23, 65, 3, 118, 32, 23, 65, 25, 119, 115, 32, 23, 65, 14, 119, 115, 32, 9, 106, 32, 11, 106, 32, 27, 65, 15, 119, 32, 27, 65, 13, 119, 115, 32, 27, 65, 10, 118, 115, 106, 34, 10, 32, 20, 106, 32, 2, 32, 14, 106, 34, 9, 32, 7, 32, 8, 115, 113, 32, 8, 115, 106, 32, 9, 65, 26, 119, 32, 9, 65, 21, 119, 115, 32, 9, 65, 7, 119, 115, 106, 65, 239, 198, 149, 197, 7, 106, 34, 20, 106, 34, 2, 32, 12, 113, 34, 14, 32, 5, 32, 12, 113, 115, 32, 2, 32, 5, 113, 115, 32, 2, 65, 30, 119, 32, 2, 65, 19, 119, 115, 32, 2, 65, 10, 119, 115, 106, 32, 19, 65, 3, 118, 32, 19, 65, 25, 119, 115, 32, 19, 65, 14, 119, 115, 32, 23, 106, 32, 21, 106, 32, 24, 65, 15, 119, 32, 24, 65, 13, 119, 115, 32, 24, 65, 10, 118, 115, 106, 34, 23, 32, 8, 106, 32, 3, 32, 20, 106, 34, 8, 32, 7, 32, 9, 115, 113, 32, 7, 115, 106, 32, 8, 65, 26, 119, 32, 8, 65, 21, 119, 115, 32, 8, 65, 7, 119, 115, 106, 65, 148, 240, 161, 166, 120, 106, 34, 3, 106, 34, 20, 65, 30, 119, 32, 20, 65, 19, 119, 115, 32, 20, 65, 10, 119, 115, 32, 20, 32, 2, 32, 12, 115, 113, 32, 14, 115, 106, 32, 26, 65, 3, 118, 32, 26, 65, 25, 119, 115, 32, 26, 65, 14, 119, 115, 32, 19, 106, 32, 18, 106, 32, 10, 65, 15, 119, 32, 10, 65, 13, 119, 115, 32, 10, 65, 10, 118, 115, 106, 34, 19, 32, 7, 106, 32, 3, 32, 4, 106, 34, 7, 32, 8, 32, 9, 115, 113, 32, 9, 115, 106, 32, 7, 65, 26, 119, 32, 7, 65, 21, 119, 115, 32, 7, 65, 7, 119, 115, 106, 65, 136, 132, 156, 230, 120, 106, 34, 10, 106, 34, 3, 32, 20, 113, 34, 14, 32, 2, 32, 20, 113, 115, 32, 2, 32, 3, 113, 115, 32, 3, 65, 30, 119, 32, 3, 65, 19, 119, 115, 32, 3, 65, 10, 119, 115, 106, 32, 25, 65, 3, 118, 32, 25, 65, 25, 119, 115, 32, 25, 65, 14, 119, 115, 32, 26, 106, 32, 22, 106, 32, 23, 65, 15, 119, 32, 23, 65, 13, 119, 115, 32, 23, 65, 10, 118, 115, 106, 34, 4, 32, 9, 106, 32, 5, 32, 10, 106, 34, 5, 32, 7, 32, 8, 115, 113, 32, 8, 115, 106, 32, 5, 65, 26, 119, 32, 5, 65, 21, 119, 115, 32, 5, 65, 7, 119, 115, 106, 65, 250, 255, 251, 133, 121, 106, 34, 23, 106, 34, 9, 65, 30, 119, 32, 9, 65, 19, 119, 115, 32, 9, 65, 10, 119, 115, 32, 9, 32, 3, 32, 20, 115, 113, 32, 14, 115, 106, 32, 13, 65, 3, 118, 32, 13, 65, 25, 119, 115, 32, 13, 65, 14, 119, 115, 32, 25, 106, 32, 6, 106, 32, 19, 65, 15, 119, 32, 19, 65, 13, 119, 115, 32, 19, 65, 10, 118, 115, 106, 34, 19, 32, 8, 106, 32, 12, 32, 23, 106, 34, 8, 32, 5, 32, 7, 115, 113, 32, 7, 115, 106, 32, 8, 65, 26, 119, 32, 8, 65, 21, 119, 115, 32, 8, 65, 7, 119, 115, 106, 65, 235, 217, 193, 162, 122, 106, 34, 25, 106, 34, 12, 32, 9, 113, 34, 23, 32, 3, 32, 9, 113, 115, 32, 3, 32, 12, 113, 115, 32, 12, 65, 30, 119, 32, 12, 65, 19, 119, 115, 32, 12, 65, 10, 119, 115, 106, 32, 13, 32, 16, 65, 3, 118, 32, 16, 65, 25, 119, 115, 32, 16, 65, 14, 119, 115, 106, 32, 27, 106, 32, 4, 65, 15, 119, 32, 4, 65, 13, 119, 115, 32, 4, 65, 10, 118, 115, 106, 32, 7, 106, 32, 2, 32, 25, 106, 34, 2, 32, 5, 32, 8, 115, 113, 32, 5, 115, 106, 32, 2, 65, 26, 119, 32, 2, 65, 21, 119, 115, 32, 2, 65, 7, 119, 115, 106, 65, 247, 199, 230, 247, 123, 106, 34, 7, 106, 34, 13, 32, 9, 32, 12, 115, 113, 32, 23, 115, 106, 32, 13, 65, 30, 119, 32, 13, 65, 19, 119, 115, 32, 13, 65, 10, 119, 115, 106, 32, 16, 32, 15, 65, 3, 118, 32, 15, 65, 25, 119, 115, 32, 15, 65, 14, 119, 115, 106, 32, 24, 106, 32, 19, 65, 15, 119, 32, 19, 65, 13, 119, 115, 32, 19, 65, 10, 118, 115, 106, 32, 5, 106, 32, 7, 32, 20, 106, 34, 16, 32, 2, 32, 8, 115, 113, 32, 8, 115, 106, 32, 16, 65, 26, 119, 32, 16, 65, 21, 119, 115, 32, 16, 65, 7, 119, 115, 106, 65, 242, 241, 197, 179, 124, 106, 34, 15, 106, 33, 5, 32, 13, 32, 31, 106, 33, 31, 32, 12, 32, 33, 106, 33, 33, 32, 9, 32, 35, 106, 33, 35, 32, 3, 32, 29, 106, 32, 15, 106, 33, 29, 32, 16, 32, 30, 106, 33, 30, 32, 2, 32, 32, 106, 33, 32, 32, 8, 32, 34, 106, 33, 34, 32, 1, 65, 64, 107, 34, 1, 32, 36, 71, 13, 0, 11, 11, 32, 0, 32, 34, 54, 2, 28, 32, 0, 32, 32, 54, 2, 24, 32, 0, 32, 30, 54, 2, 20, 32, 0, 32, 29, 54, 2, 16, 32, 0, 32, 35, 54, 2, 12, 32, 0, 32, 33, 54, 2, 8, 32, 0, 32, 31, 54, 2, 4, 32, 0, 32, 5, 54, 2, 0, 11, 146, 3, 2, 4, 127, 1, 126, 32, 0, 65, 12, 106, 33, 2, 32, 0, 65, 204, 0, 106, 33, 3, 32, 0, 41, 3, 0, 33, 5, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 8, 34, 1, 65, 192, 0, 70, 4, 64, 32, 3, 32, 2, 65, 1, 16, 161, 1, 65, 0, 33, 1, 32, 0, 65, 0, 54, 2, 8, 12, 1, 11, 32, 1, 65, 63, 75, 13, 1, 11, 32, 0, 32, 1, 106, 65, 12, 106, 65, 128, 1, 58, 0, 0, 32, 0, 40, 2, 8, 34, 4, 65, 1, 106, 34, 1, 32, 4, 73, 13, 1, 32, 0, 32, 1, 54, 2, 8, 32, 1, 65, 193, 0, 79, 13, 2, 32, 0, 32, 1, 106, 65, 12, 106, 65, 192, 0, 32, 1, 107, 16, 155, 2, 65, 192, 0, 32, 0, 40, 2, 8, 107, 34, 1, 65, 193, 0, 79, 13, 3, 32, 1, 65, 7, 77, 4, 64, 32, 3, 32, 2, 65, 1, 16, 161, 1, 32, 0, 40, 2, 8, 34, 1, 65, 193, 0, 79, 13, 5, 32, 0, 65, 12, 106, 32, 1, 16, 155, 2, 11, 32, 0, 65, 196, 0, 106, 32, 5, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 32, 5, 66, 56, 134, 132, 32, 5, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 5, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 5, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 5, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 5, 66, 40, 136, 66, 128, 254, 3, 131, 32, 5, 66, 56, 136, 132, 132, 132, 55, 2, 0, 32, 3, 32, 2, 65, 1, 16, 161, 1, 32, 0, 65, 0, 54, 2, 8, 15, 11, 32, 1, 65, 192, 0, 65, 132, 205, 192, 0, 16, 218, 1, 0, 11, 65, 144, 204, 192, 0, 65, 28, 65, 148, 205, 192, 0, 16, 219, 1, 0, 11, 32, 1, 65, 192, 0, 65, 164, 205, 192, 0, 16, 221, 1, 0, 11, 65, 160, 206, 192, 0, 65, 33, 65, 196, 206, 192, 0, 16, 219, 1, 0, 11, 32, 1, 65, 192, 0, 65, 180, 205, 192, 0, 16, 220, 1, 0, 11, 198, 3, 1, 8, 127, 35, 0, 65, 208, 1, 107, 34, 1, 36, 0, 32, 1, 65, 0, 54, 2, 64, 32, 1, 65, 64, 107, 65, 4, 114, 33, 3, 2, 64, 3, 64, 32, 2, 32, 3, 106, 65, 0, 58, 0, 0, 32, 1, 40, 2, 64, 34, 4, 65, 1, 106, 34, 5, 32, 4, 73, 13, 1, 32, 1, 32, 5, 54, 2, 64, 32, 2, 65, 1, 106, 34, 2, 65, 192, 0, 71, 13, 0, 11, 32, 1, 65, 136, 1, 106, 32, 1, 65, 64, 107, 65, 196, 0, 16, 154, 2, 26, 32, 1, 65, 56, 106, 34, 2, 32, 1, 65, 196, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 48, 106, 34, 3, 32, 1, 65, 188, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 40, 106, 34, 4, 32, 1, 65, 180, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 32, 106, 34, 5, 32, 1, 65, 172, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 24, 106, 34, 6, 32, 1, 65, 164, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 16, 106, 34, 7, 32, 1, 65, 156, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 8, 106, 34, 8, 32, 1, 65, 148, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 32, 1, 41, 2, 140, 1, 55, 3, 0, 32, 0, 65, 0, 54, 2, 8, 32, 0, 66, 0, 55, 3, 0, 32, 0, 65, 12, 106, 32, 1, 41, 3, 0, 55, 2, 0, 32, 0, 65, 20, 106, 32, 8, 41, 3, 0, 55, 2, 0, 32, 0, 65, 28, 106, 32, 7, 41, 3, 0, 55, 2, 0, 32, 0, 65, 36, 106, 32, 6, 41, 3, 0, 55, 2, 0, 32, 0, 65, 44, 106, 32, 5, 41, 3, 0, 55, 2, 0, 32, 0, 65, 52, 106, 32, 4, 41, 3, 0, 55, 2, 0, 32, 0, 65, 60, 106, 32, 3, 41, 3, 0, 55, 2, 0, 32, 0, 65, 196, 0, 106, 32, 2, 41, 3, 0, 55, 2, 0, 32, 0, 65, 192, 208, 192, 0, 41, 2, 0, 55, 2, 76, 32, 0, 65, 212, 0, 106, 65, 200, 208, 192, 0, 41, 2, 0, 55, 2, 0, 32, 0, 65, 220, 0, 106, 65, 208, 208, 192, 0, 41, 2, 0, 55, 2, 0, 32, 0, 65, 228, 0, 106, 65, 216, 208, 192, 0, 41, 2, 0, 55, 2, 0, 32, 1, 65, 208, 1, 106, 36, 0, 15, 11, 65, 144, 204, 192, 0, 65, 28, 65, 252, 203, 192, 0, 16, 219, 1, 0, 11, 184, 3, 2, 1, 127, 4, 126, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 0, 16, 162, 1, 32, 2, 65, 8, 106, 32, 0, 65, 212, 0, 106, 41, 2, 0, 34, 3, 55, 3, 0, 32, 2, 65, 16, 106, 32, 0, 65, 220, 0, 106, 41, 2, 0, 34, 4, 55, 3, 0, 32, 2, 65, 24, 106, 32, 0, 65, 228, 0, 106, 41, 2, 0, 34, 5, 55, 3, 0, 32, 1, 32, 0, 41, 2, 76, 34, 6, 167, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 0, 32, 1, 32, 3, 167, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 8, 32, 1, 32, 4, 167, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 16, 32, 1, 32, 5, 167, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 24, 32, 2, 32, 6, 55, 3, 0, 32, 1, 32, 2, 40, 2, 4, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 4, 32, 1, 32, 2, 40, 2, 12, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 12, 32, 1, 32, 2, 40, 2, 20, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 20, 32, 1, 32, 2, 40, 2, 28, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 28, 32, 2, 65, 32, 106, 36, 0, 11, 51, 1, 1, 127, 35, 0, 65, 16, 107, 34, 0, 36, 0, 32, 0, 65, 14, 54, 2, 12, 32, 0, 65, 137, 211, 192, 0, 54, 2, 8, 32, 0, 65, 8, 106, 65, 196, 209, 192, 0, 65, 0, 65, 152, 211, 192, 0, 16, 194, 1, 0, 11, 29, 0, 32, 1, 40, 2, 0, 69, 4, 64, 0, 11, 32, 0, 65, 216, 209, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 85, 1, 2, 127, 32, 1, 40, 2, 0, 33, 2, 32, 1, 65, 0, 54, 2, 0, 2, 64, 32, 2, 4, 64, 32, 1, 40, 2, 4, 33, 3, 65, 8, 65, 4, 16, 73, 34, 1, 69, 13, 1, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 0, 65, 216, 209, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 15, 11, 0, 11, 65, 8, 65, 4, 16, 211, 1, 0, 11, 175, 3, 1, 3, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 32, 0, 40, 2, 4, 34, 4, 65, 2, 77, 4, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 1, 107, 14, 2, 1, 2, 0, 11, 16, 165, 1, 0, 11, 32, 2, 65, 44, 106, 65, 1, 54, 2, 0, 32, 2, 66, 2, 55, 2, 28, 32, 2, 65, 132, 210, 192, 0, 54, 2, 24, 32, 2, 65, 59, 54, 2, 4, 32, 2, 32, 0, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 54, 2, 40, 32, 1, 32, 2, 65, 24, 106, 16, 253, 1, 12, 2, 11, 32, 2, 65, 12, 106, 65, 59, 54, 2, 0, 32, 2, 65, 44, 106, 65, 2, 54, 2, 0, 32, 2, 66, 3, 55, 2, 28, 32, 2, 65, 156, 210, 192, 0, 54, 2, 24, 32, 2, 65, 59, 54, 2, 4, 32, 2, 32, 0, 40, 2, 0, 34, 0, 54, 2, 0, 32, 2, 32, 0, 65, 8, 106, 54, 2, 8, 32, 2, 32, 2, 54, 2, 40, 32, 1, 32, 2, 65, 24, 106, 16, 253, 1, 12, 1, 11, 32, 2, 65, 44, 106, 65, 0, 54, 2, 0, 32, 2, 65, 216, 209, 192, 0, 54, 2, 40, 32, 2, 66, 1, 55, 2, 28, 32, 2, 65, 240, 209, 192, 0, 54, 2, 24, 65, 1, 32, 1, 32, 2, 65, 24, 106, 16, 253, 1, 13, 0, 26, 32, 4, 65, 3, 116, 65, 120, 106, 65, 3, 118, 65, 1, 106, 33, 4, 32, 0, 40, 2, 0, 33, 0, 2, 64, 3, 64, 32, 2, 32, 0, 54, 2, 20, 32, 3, 4, 64, 32, 2, 65, 0, 54, 2, 44, 32, 2, 65, 216, 209, 192, 0, 54, 2, 40, 32, 2, 66, 1, 55, 2, 28, 32, 2, 65, 252, 209, 192, 0, 54, 2, 24, 32, 1, 32, 2, 65, 24, 106, 16, 253, 1, 13, 2, 11, 32, 2, 65, 1, 54, 2, 44, 32, 2, 66, 2, 55, 2, 28, 32, 2, 65, 132, 210, 192, 0, 54, 2, 24, 32, 2, 65, 60, 54, 2, 4, 32, 2, 32, 2, 54, 2, 40, 32, 2, 32, 2, 65, 20, 106, 54, 2, 0, 32, 1, 32, 2, 65, 24, 106, 16, 253, 1, 13, 1, 32, 0, 65, 8, 106, 33, 0, 32, 4, 32, 3, 65, 1, 106, 34, 3, 71, 13, 0, 11, 65, 0, 12, 1, 11, 65, 1, 11, 32, 2, 65, 48, 106, 36, 0, 11, 13, 0, 66, 249, 197, 171, 242, 205, 238, 208, 246, 189, 127, 11, 12, 0, 66, 135, 130, 186, 147, 200, 216, 177, 190, 110, 11, 97, 1, 2, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 34, 0, 40, 2, 8, 33, 3, 32, 0, 40, 2, 0, 33, 0, 32, 2, 32, 1, 16, 130, 2, 32, 3, 4, 64, 3, 64, 32, 2, 32, 0, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 192, 211, 192, 0, 16, 243, 1, 32, 0, 65, 1, 106, 33, 0, 32, 3, 65, 127, 106, 34, 3, 13, 0, 11, 11, 32, 2, 16, 244, 1, 32, 2, 65, 16, 106, 36, 0, 11, 50, 0, 32, 0, 40, 2, 0, 33, 0, 32, 1, 16, 254, 1, 69, 4, 64, 32, 1, 16, 255, 1, 69, 4, 64, 32, 0, 32, 1, 16, 141, 2, 15, 11, 32, 0, 32, 1, 16, 145, 2, 15, 11, 32, 0, 32, 1, 16, 139, 2, 11, 45, 1, 1, 127, 35, 0, 65, 16, 107, 34, 3, 36, 0, 32, 3, 32, 1, 54, 2, 12, 32, 3, 32, 0, 54, 2, 8, 32, 3, 65, 8, 106, 65, 244, 221, 192, 0, 65, 0, 32, 2, 16, 194, 1, 0, 11, 72, 0, 2, 64, 32, 0, 45, 0, 4, 13, 0, 65, 224, 133, 193, 0, 40, 2, 0, 65, 1, 71, 4, 64, 65, 224, 133, 193, 0, 66, 1, 55, 3, 0, 12, 1, 11, 65, 228, 133, 193, 0, 40, 2, 0, 69, 13, 0, 32, 0, 40, 2, 0, 65, 1, 58, 0, 4, 11, 32, 0, 40, 2, 0, 40, 2, 0, 65, 0, 58, 0, 0, 11, 33, 1, 1, 127, 2, 64, 32, 0, 40, 2, 4, 34, 1, 69, 13, 0, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 204, 1, 11, 11, 90, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 168, 211, 192, 0, 32, 2, 65, 8, 106, 16, 227, 1, 32, 2, 65, 32, 106, 36, 0, 11, 177, 1, 1, 3, 127, 2, 64, 2, 64, 32, 0, 65, 4, 106, 40, 2, 0, 34, 3, 32, 0, 40, 2, 8, 34, 1, 107, 65, 1, 73, 4, 64, 32, 1, 65, 1, 106, 34, 2, 32, 1, 73, 32, 2, 65, 0, 72, 114, 13, 1, 2, 64, 2, 64, 32, 0, 40, 2, 0, 65, 0, 32, 3, 27, 34, 1, 4, 64, 32, 2, 32, 3, 70, 13, 1, 32, 3, 69, 4, 64, 32, 2, 69, 4, 64, 65, 1, 33, 1, 12, 4, 11, 32, 2, 65, 1, 16, 73, 33, 1, 12, 2, 11, 32, 1, 32, 3, 65, 1, 32, 2, 16, 74, 33, 1, 12, 1, 11, 32, 2, 69, 4, 64, 65, 1, 33, 1, 12, 2, 11, 32, 2, 65, 1, 16, 73, 33, 1, 11, 32, 1, 69, 13, 3, 11, 32, 0, 32, 1, 54, 2, 0, 32, 0, 65, 4, 106, 32, 2, 54, 2, 0, 11, 15, 11, 16, 213, 1, 0, 11, 32, 2, 65, 1, 16, 211, 1, 0, 11, 95, 1, 2, 127, 2, 64, 32, 0, 40, 2, 0, 34, 1, 40, 2, 16, 34, 2, 69, 13, 0, 32, 2, 65, 0, 58, 0, 0, 32, 1, 40, 2, 20, 69, 13, 0, 32, 1, 40, 2, 16, 16, 204, 1, 11, 32, 1, 40, 2, 28, 16, 204, 1, 2, 64, 32, 0, 40, 2, 0, 34, 0, 65, 127, 70, 13, 0, 32, 0, 32, 0, 40, 2, 4, 34, 1, 65, 127, 106, 54, 2, 4, 32, 1, 65, 1, 71, 13, 0, 32, 0, 16, 204, 1, 11, 11, 166, 2, 1, 3, 127, 35, 0, 65, 32, 107, 34, 1, 36, 0, 2, 64, 2, 64, 65, 148, 130, 193, 0, 40, 2, 0, 34, 0, 65, 1, 106, 65, 0, 74, 4, 64, 65, 148, 130, 193, 0, 32, 0, 54, 2, 0, 65, 152, 130, 193, 0, 40, 2, 0, 34, 2, 69, 4, 64, 32, 1, 65, 0, 54, 2, 8, 32, 1, 65, 8, 106, 16, 183, 1, 33, 2, 65, 148, 130, 193, 0, 40, 2, 0, 13, 3, 65, 148, 130, 193, 0, 65, 127, 54, 2, 0, 2, 64, 65, 152, 130, 193, 0, 40, 2, 0, 34, 0, 69, 13, 0, 32, 0, 32, 0, 40, 2, 0, 34, 0, 65, 127, 106, 54, 2, 0, 32, 0, 65, 1, 71, 13, 0, 65, 152, 130, 193, 0, 16, 178, 1, 11, 65, 152, 130, 193, 0, 32, 2, 54, 2, 0, 65, 148, 130, 193, 0, 65, 148, 130, 193, 0, 40, 2, 0, 65, 1, 106, 34, 0, 54, 2, 0, 11, 32, 0, 13, 2, 65, 148, 130, 193, 0, 65, 127, 54, 2, 0, 32, 2, 32, 2, 40, 2, 0, 34, 0, 65, 1, 106, 54, 2, 0, 32, 0, 65, 127, 76, 13, 1, 65, 148, 130, 193, 0, 65, 148, 130, 193, 0, 40, 2, 0, 65, 1, 106, 54, 2, 0, 32, 1, 65, 32, 106, 36, 0, 32, 2, 15, 11, 65, 144, 213, 192, 0, 65, 24, 32, 1, 65, 24, 106, 65, 132, 215, 192, 0, 65, 168, 213, 192, 0, 16, 235, 1, 0, 11, 0, 11, 65, 172, 212, 192, 0, 65, 16, 32, 1, 65, 24, 106, 65, 228, 214, 192, 0, 65, 128, 213, 192, 0, 16, 235, 1, 0, 11, 251, 4, 1, 6, 127, 35, 0, 65, 224, 0, 107, 34, 0, 36, 0, 65, 144, 130, 193, 0, 40, 2, 0, 65, 1, 71, 4, 64, 65, 144, 130, 193, 0, 66, 1, 55, 2, 0, 65, 152, 130, 193, 0, 65, 0, 54, 2, 0, 11, 16, 179, 1, 34, 1, 65, 0, 32, 1, 40, 2, 24, 34, 2, 32, 2, 65, 2, 70, 34, 2, 27, 54, 2, 24, 32, 0, 32, 1, 54, 2, 8, 2, 64, 32, 2, 13, 0, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 8, 34, 1, 65, 28, 106, 34, 4, 40, 2, 0, 34, 2, 45, 0, 0, 69, 4, 64, 32, 2, 65, 1, 58, 0, 0, 65, 0, 33, 2, 2, 64, 65, 224, 133, 193, 0, 40, 2, 0, 65, 1, 70, 4, 64, 65, 228, 133, 193, 0, 40, 2, 0, 33, 2, 12, 1, 11, 65, 224, 133, 193, 0, 66, 1, 55, 3, 0, 11, 65, 228, 133, 193, 0, 32, 2, 54, 2, 0, 32, 1, 45, 0, 32, 13, 1, 32, 1, 32, 1, 40, 2, 24, 34, 3, 65, 1, 32, 3, 27, 54, 2, 24, 32, 3, 69, 4, 64, 32, 0, 40, 2, 8, 65, 36, 106, 32, 4, 40, 2, 0, 16, 181, 1, 65, 176, 222, 192, 0, 65, 29, 65, 236, 222, 192, 0, 16, 173, 1, 0, 11, 32, 3, 65, 2, 71, 13, 2, 32, 0, 40, 2, 8, 34, 5, 40, 2, 24, 33, 3, 32, 5, 65, 0, 54, 2, 24, 32, 0, 32, 3, 54, 2, 12, 32, 3, 65, 2, 71, 13, 3, 2, 64, 32, 2, 13, 0, 65, 224, 133, 193, 0, 40, 2, 0, 65, 1, 71, 4, 64, 65, 224, 133, 193, 0, 66, 1, 55, 3, 0, 12, 1, 11, 65, 228, 133, 193, 0, 40, 2, 0, 69, 13, 0, 32, 1, 65, 1, 58, 0, 32, 11, 32, 4, 40, 2, 0, 65, 0, 58, 0, 0, 12, 4, 11, 65, 252, 222, 192, 0, 65, 32, 65, 184, 223, 192, 0, 16, 173, 1, 0, 11, 32, 0, 32, 4, 54, 2, 72, 32, 0, 32, 2, 65, 0, 71, 58, 0, 76, 65, 148, 215, 192, 0, 65, 43, 32, 0, 65, 200, 0, 106, 65, 192, 215, 192, 0, 65, 156, 216, 192, 0, 16, 235, 1, 0, 11, 65, 172, 216, 192, 0, 65, 23, 65, 196, 216, 192, 0, 16, 173, 1, 0, 11, 32, 0, 65, 60, 106, 65, 57, 54, 2, 0, 32, 0, 65, 52, 106, 65, 193, 0, 54, 2, 0, 32, 0, 65, 36, 106, 65, 3, 54, 2, 0, 32, 0, 32, 0, 65, 12, 106, 54, 2, 64, 32, 0, 65, 212, 216, 192, 0, 54, 2, 68, 32, 0, 65, 220, 0, 106, 65, 0, 54, 2, 0, 32, 0, 66, 3, 55, 2, 20, 32, 0, 65, 160, 214, 192, 0, 54, 2, 16, 32, 0, 65, 193, 0, 54, 2, 44, 32, 0, 65, 140, 214, 192, 0, 54, 2, 88, 32, 0, 66, 1, 55, 2, 76, 32, 0, 65, 248, 216, 192, 0, 54, 2, 72, 32, 0, 32, 0, 65, 40, 106, 54, 2, 32, 32, 0, 32, 0, 65, 200, 0, 106, 54, 2, 56, 32, 0, 32, 0, 65, 196, 0, 106, 54, 2, 48, 32, 0, 32, 0, 65, 64, 107, 54, 2, 40, 32, 0, 65, 16, 106, 65, 128, 217, 192, 0, 16, 182, 1, 0, 11, 32, 0, 40, 2, 8, 34, 1, 32, 1, 40, 2, 0, 34, 1, 65, 127, 106, 54, 2, 0, 32, 1, 65, 1, 70, 4, 64, 32, 0, 65, 8, 106, 16, 178, 1, 11, 32, 0, 65, 224, 0, 106, 36, 0, 11, 48, 0, 32, 0, 32, 0, 40, 2, 4, 34, 0, 32, 1, 32, 0, 27, 54, 2, 4, 32, 0, 69, 32, 0, 32, 1, 70, 114, 69, 4, 64, 65, 228, 218, 192, 0, 65, 54, 65, 180, 219, 192, 0, 16, 173, 1, 0, 11, 11, 53, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 54, 2, 12, 32, 2, 32, 0, 54, 2, 8, 32, 2, 65, 140, 214, 192, 0, 54, 2, 4, 32, 2, 65, 140, 214, 192, 0, 54, 2, 0, 32, 2, 16, 193, 1, 0, 11, 181, 3, 2, 4, 127, 1, 126, 35, 0, 65, 48, 107, 34, 1, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 65, 0, 32, 0, 40, 2, 0, 34, 2, 69, 13, 0, 26, 32, 1, 32, 0, 41, 2, 4, 55, 2, 36, 32, 1, 32, 2, 54, 2, 32, 32, 1, 65, 16, 106, 32, 1, 65, 32, 106, 16, 102, 32, 1, 65, 8, 106, 65, 0, 32, 1, 40, 2, 16, 34, 0, 32, 1, 40, 2, 24, 16, 238, 1, 32, 1, 40, 2, 8, 13, 1, 32, 1, 65, 40, 106, 32, 1, 65, 24, 106, 40, 2, 0, 54, 2, 0, 32, 1, 32, 1, 41, 3, 16, 55, 3, 32, 32, 1, 32, 1, 65, 32, 106, 16, 184, 1, 32, 1, 40, 2, 4, 33, 4, 32, 1, 40, 2, 0, 11, 33, 2, 65, 232, 133, 193, 0, 45, 0, 0, 13, 1, 65, 232, 133, 193, 0, 65, 1, 58, 0, 0, 2, 64, 65, 240, 129, 193, 0, 41, 3, 0, 34, 5, 66, 127, 82, 4, 64, 65, 240, 129, 193, 0, 32, 5, 66, 1, 124, 55, 3, 0, 32, 5, 66, 0, 82, 13, 1, 65, 184, 214, 192, 0, 65, 43, 65, 216, 217, 192, 0, 16, 219, 1, 0, 11, 65, 144, 217, 192, 0, 65, 55, 65, 200, 217, 192, 0, 16, 173, 1, 0, 11, 65, 232, 133, 193, 0, 65, 0, 58, 0, 0, 65, 1, 65, 1, 16, 73, 34, 3, 69, 13, 2, 32, 3, 65, 0, 58, 0, 0, 65, 48, 65, 8, 16, 73, 34, 0, 69, 13, 3, 32, 0, 66, 1, 55, 2, 36, 32, 0, 65, 0, 54, 2, 24, 32, 0, 32, 4, 54, 2, 20, 32, 0, 32, 2, 54, 2, 16, 32, 0, 32, 5, 55, 3, 8, 32, 0, 66, 129, 128, 128, 128, 16, 55, 3, 0, 32, 0, 32, 3, 173, 55, 2, 28, 32, 1, 65, 48, 106, 36, 0, 32, 0, 15, 11, 32, 1, 40, 2, 12, 33, 2, 32, 1, 65, 40, 106, 32, 1, 41, 2, 20, 55, 3, 0, 32, 1, 32, 0, 54, 2, 36, 32, 1, 32, 2, 54, 2, 32, 65, 232, 217, 192, 0, 65, 47, 32, 1, 65, 32, 106, 65, 244, 214, 192, 0, 65, 152, 218, 192, 0, 16, 235, 1, 0, 11, 65, 252, 222, 192, 0, 65, 32, 65, 184, 223, 192, 0, 16, 173, 1, 0, 11, 65, 1, 65, 1, 16, 211, 1, 0, 11, 65, 48, 65, 8, 16, 211, 1, 0, 11, 186, 1, 1, 3, 127, 32, 1, 16, 177, 1, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 34, 3, 40, 2, 0, 34, 4, 70, 4, 64, 32, 1, 65, 1, 16, 6, 32, 3, 40, 2, 0, 33, 4, 32, 1, 40, 2, 8, 33, 2, 11, 32, 1, 32, 2, 65, 1, 106, 34, 3, 54, 2, 8, 32, 1, 40, 2, 0, 34, 1, 32, 2, 106, 65, 0, 58, 0, 0, 2, 64, 32, 3, 32, 4, 70, 4, 64, 32, 1, 33, 2, 12, 1, 11, 2, 64, 32, 4, 32, 3, 79, 4, 64, 32, 4, 13, 1, 32, 1, 33, 2, 12, 2, 11, 65, 208, 215, 192, 0, 65, 36, 65, 156, 212, 192, 0, 16, 219, 1, 0, 11, 32, 3, 69, 4, 64, 65, 1, 33, 2, 32, 1, 16, 204, 1, 12, 1, 11, 32, 1, 32, 4, 65, 1, 32, 3, 16, 74, 34, 2, 13, 0, 32, 3, 65, 1, 16, 211, 1, 0, 11, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 2, 54, 2, 0, 11, 9, 0, 32, 0, 65, 0, 54, 2, 0, 11, 60, 1, 2, 127, 32, 0, 40, 2, 8, 34, 1, 65, 240, 202, 192, 0, 40, 2, 0, 70, 4, 127, 32, 0, 40, 2, 0, 34, 0, 65, 236, 202, 192, 0, 40, 2, 0, 34, 2, 70, 4, 64, 65, 1, 15, 11, 32, 0, 32, 2, 32, 1, 16, 156, 2, 69, 5, 65, 0, 11, 11, 186, 3, 1, 5, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 65, 2, 114, 33, 4, 65, 248, 129, 193, 0, 40, 2, 0, 33, 1, 2, 64, 2, 64, 3, 64, 2, 64, 2, 64, 32, 1, 65, 3, 75, 13, 0, 2, 64, 2, 64, 32, 1, 65, 1, 107, 14, 3, 0, 2, 5, 1, 11, 65, 164, 220, 192, 0, 65, 42, 65, 208, 220, 192, 0, 16, 173, 1, 0, 11, 65, 248, 129, 193, 0, 65, 248, 129, 193, 0, 40, 2, 0, 34, 1, 65, 2, 32, 1, 27, 54, 2, 0, 32, 1, 13, 2, 65, 0, 33, 1, 12, 1, 11, 32, 1, 65, 3, 113, 65, 2, 71, 13, 3, 2, 64, 2, 64, 3, 64, 65, 144, 130, 193, 0, 40, 2, 0, 65, 1, 71, 4, 64, 65, 144, 130, 193, 0, 66, 1, 55, 2, 0, 65, 152, 130, 193, 0, 65, 0, 54, 2, 0, 11, 32, 1, 33, 3, 16, 179, 1, 33, 5, 65, 248, 129, 193, 0, 32, 4, 65, 248, 129, 193, 0, 40, 2, 0, 34, 1, 32, 1, 32, 3, 70, 27, 54, 2, 0, 32, 2, 65, 0, 58, 0, 8, 32, 2, 32, 5, 54, 2, 0, 32, 2, 32, 3, 65, 124, 113, 54, 2, 4, 2, 64, 32, 1, 32, 3, 70, 4, 64, 32, 2, 45, 0, 8, 69, 13, 1, 12, 3, 11, 2, 64, 32, 2, 40, 2, 0, 34, 3, 69, 13, 0, 32, 3, 32, 3, 40, 2, 0, 34, 3, 65, 127, 106, 54, 2, 0, 32, 3, 65, 1, 71, 13, 0, 32, 2, 16, 178, 1, 11, 32, 1, 65, 3, 113, 65, 2, 70, 13, 1, 12, 3, 11, 11, 3, 64, 16, 180, 1, 32, 2, 45, 0, 8, 69, 13, 0, 11, 11, 32, 2, 40, 2, 0, 34, 1, 69, 13, 0, 32, 1, 32, 1, 40, 2, 0, 34, 1, 65, 127, 106, 54, 2, 0, 32, 1, 65, 1, 71, 13, 0, 32, 2, 16, 178, 1, 65, 248, 129, 193, 0, 40, 2, 0, 33, 1, 12, 2, 11, 65, 248, 129, 193, 0, 40, 2, 0, 33, 1, 12, 1, 11, 11, 32, 2, 65, 248, 129, 193, 0, 54, 2, 0, 32, 0, 32, 1, 65, 1, 70, 65, 208, 201, 192, 0, 40, 2, 0, 17, 1, 0, 32, 2, 65, 3, 54, 2, 4, 32, 2, 16, 188, 1, 11, 32, 2, 65, 16, 106, 36, 0, 15, 11, 65, 219, 219, 192, 0, 65, 57, 65, 148, 220, 192, 0, 16, 173, 1, 0, 11, 240, 3, 1, 4, 127, 35, 0, 65, 64, 106, 34, 1, 36, 0, 32, 0, 40, 2, 0, 34, 2, 40, 2, 0, 33, 3, 32, 2, 32, 0, 40, 2, 4, 54, 2, 0, 32, 1, 32, 3, 65, 3, 113, 34, 0, 54, 2, 12, 32, 0, 65, 2, 70, 4, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 124, 113, 34, 0, 4, 64, 3, 64, 32, 0, 40, 2, 4, 32, 0, 40, 2, 0, 33, 2, 32, 0, 65, 0, 54, 2, 0, 32, 2, 69, 13, 2, 32, 0, 65, 1, 58, 0, 8, 32, 2, 40, 2, 24, 33, 0, 32, 2, 65, 2, 54, 2, 24, 32, 1, 32, 2, 54, 2, 40, 2, 64, 2, 64, 32, 0, 65, 2, 77, 4, 64, 32, 0, 65, 1, 107, 13, 2, 12, 1, 11, 65, 168, 218, 192, 0, 65, 28, 65, 196, 218, 192, 0, 16, 173, 1, 0, 11, 32, 1, 40, 2, 40, 34, 4, 65, 28, 106, 34, 2, 40, 2, 0, 34, 0, 45, 0, 0, 13, 4, 32, 0, 65, 1, 58, 0, 0, 65, 228, 133, 193, 0, 2, 127, 65, 224, 133, 193, 0, 40, 2, 0, 65, 1, 70, 4, 64, 65, 228, 133, 193, 0, 40, 2, 0, 12, 1, 11, 65, 224, 133, 193, 0, 66, 1, 55, 3, 0, 65, 0, 11, 34, 0, 54, 2, 0, 32, 4, 45, 0, 32, 13, 5, 32, 2, 40, 2, 0, 65, 0, 58, 0, 0, 11, 32, 1, 40, 2, 40, 34, 0, 32, 0, 40, 2, 0, 34, 0, 65, 127, 106, 54, 2, 0, 32, 0, 65, 1, 70, 4, 64, 32, 1, 65, 40, 106, 16, 178, 1, 11, 34, 0, 13, 0, 11, 11, 32, 1, 65, 64, 107, 36, 0, 15, 11, 65, 184, 214, 192, 0, 65, 43, 65, 240, 220, 192, 0, 16, 219, 1, 0, 11, 65, 252, 222, 192, 0, 65, 32, 65, 184, 223, 192, 0, 16, 173, 1, 0, 11, 32, 1, 32, 2, 54, 2, 16, 32, 1, 32, 0, 65, 0, 71, 58, 0, 20, 65, 148, 215, 192, 0, 65, 43, 32, 1, 65, 16, 106, 65, 192, 215, 192, 0, 65, 212, 218, 192, 0, 16, 235, 1, 0, 11, 32, 1, 65, 52, 106, 65, 193, 0, 54, 2, 0, 32, 1, 65, 36, 106, 65, 2, 54, 2, 0, 32, 1, 66, 3, 55, 2, 20, 32, 1, 65, 244, 213, 192, 0, 54, 2, 16, 32, 1, 65, 193, 0, 54, 2, 44, 32, 1, 32, 1, 65, 12, 106, 54, 2, 56, 32, 1, 65, 212, 216, 192, 0, 54, 2, 60, 32, 1, 32, 1, 65, 40, 106, 54, 2, 32, 32, 1, 32, 1, 65, 60, 106, 54, 2, 48, 32, 1, 32, 1, 65, 56, 106, 54, 2, 40, 32, 1, 65, 16, 106, 65, 224, 220, 192, 0, 16, 182, 1, 0, 11, 14, 0, 65, 128, 221, 192, 0, 65, 25, 32, 1, 16, 131, 2, 11, 3, 0, 1, 11, 75, 0, 2, 64, 65, 8, 32, 2, 73, 4, 64, 2, 127, 65, 8, 32, 2, 73, 4, 64, 32, 2, 32, 3, 16, 205, 1, 12, 1, 11, 32, 3, 16, 200, 1, 11, 34, 2, 13, 1, 65, 0, 15, 11, 32, 0, 32, 3, 16, 202, 1, 15, 11, 32, 2, 32, 0, 32, 3, 32, 1, 32, 1, 32, 3, 75, 27, 16, 154, 2, 32, 0, 16, 204, 1, 11, 40, 1, 1, 127, 2, 64, 32, 0, 16, 200, 1, 34, 1, 69, 13, 0, 32, 1, 65, 124, 106, 45, 0, 0, 65, 3, 113, 69, 13, 0, 32, 1, 32, 0, 16, 155, 2, 11, 32, 1, 11, 99, 1, 3, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 0, 40, 2, 12, 34, 2, 69, 4, 64, 65, 184, 214, 192, 0, 65, 43, 65, 176, 221, 192, 0, 16, 219, 1, 0, 11, 32, 0, 40, 2, 8, 34, 3, 69, 4, 64, 65, 184, 214, 192, 0, 65, 43, 65, 192, 221, 192, 0, 16, 219, 1, 0, 11, 32, 1, 65, 0, 54, 2, 4, 32, 1, 32, 3, 54, 2, 0, 32, 1, 65, 208, 221, 192, 0, 32, 0, 40, 2, 8, 32, 2, 16, 194, 1, 0, 11, 133, 2, 1, 2, 127, 35, 0, 65, 32, 107, 34, 4, 36, 0, 65, 1, 33, 5, 2, 64, 2, 64, 2, 64, 65, 224, 133, 193, 0, 40, 2, 0, 65, 1, 71, 4, 64, 65, 224, 133, 193, 0, 66, 129, 128, 128, 128, 16, 55, 3, 0, 12, 1, 11, 65, 228, 133, 193, 0, 65, 228, 133, 193, 0, 40, 2, 0, 65, 1, 106, 34, 5, 54, 2, 0, 32, 5, 65, 2, 75, 13, 1, 11, 32, 4, 32, 3, 54, 2, 28, 32, 4, 32, 2, 54, 2, 24, 32, 4, 65, 140, 214, 192, 0, 54, 2, 20, 32, 4, 65, 140, 214, 192, 0, 54, 2, 16, 65, 132, 130, 193, 0, 40, 2, 0, 34, 2, 65, 127, 76, 13, 0, 65, 132, 130, 193, 0, 32, 2, 65, 1, 106, 34, 2, 54, 2, 0, 65, 132, 130, 193, 0, 65, 140, 130, 193, 0, 40, 2, 0, 34, 3, 4, 127, 65, 136, 130, 193, 0, 40, 2, 0, 32, 4, 65, 8, 106, 32, 0, 32, 1, 40, 2, 16, 17, 1, 0, 32, 4, 32, 4, 41, 3, 8, 55, 3, 16, 32, 4, 65, 16, 106, 32, 3, 40, 2, 12, 17, 1, 0, 65, 132, 130, 193, 0, 40, 2, 0, 5, 32, 2, 11, 65, 127, 106, 54, 2, 0, 32, 5, 65, 1, 77, 13, 1, 11, 0, 11, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 54, 2, 12, 32, 2, 32, 0, 54, 2, 8, 0, 11, 180, 2, 1, 4, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 1, 40, 2, 4, 34, 3, 69, 4, 64, 32, 1, 65, 4, 106, 33, 3, 32, 1, 40, 2, 0, 33, 4, 32, 2, 65, 0, 54, 2, 32, 32, 2, 66, 1, 55, 3, 24, 32, 2, 32, 2, 65, 24, 106, 54, 2, 36, 32, 2, 65, 56, 106, 32, 4, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 48, 106, 32, 4, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 4, 41, 2, 0, 55, 3, 40, 32, 2, 65, 36, 106, 65, 168, 211, 192, 0, 32, 2, 65, 40, 106, 16, 227, 1, 26, 32, 2, 65, 16, 106, 34, 4, 32, 2, 40, 2, 32, 54, 2, 0, 32, 2, 32, 2, 41, 3, 24, 55, 3, 8, 2, 64, 32, 1, 40, 2, 4, 34, 5, 69, 13, 0, 32, 1, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 3, 32, 2, 41, 3, 8, 55, 2, 0, 32, 3, 65, 8, 106, 32, 4, 40, 2, 0, 54, 2, 0, 32, 3, 40, 2, 0, 33, 3, 11, 32, 1, 65, 1, 54, 2, 4, 32, 1, 65, 12, 106, 40, 2, 0, 33, 4, 32, 1, 65, 8, 106, 34, 1, 40, 2, 0, 33, 5, 32, 1, 66, 0, 55, 2, 0, 65, 12, 65, 4, 16, 73, 34, 1, 69, 4, 64, 65, 12, 65, 4, 16, 211, 1, 0, 11, 32, 1, 32, 4, 54, 2, 8, 32, 1, 32, 5, 54, 2, 4, 32, 1, 32, 3, 54, 2, 0, 32, 0, 65, 228, 221, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 2, 65, 64, 107, 36, 0, 11, 222, 1, 1, 4, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 1, 65, 4, 106, 33, 4, 32, 1, 40, 2, 4, 69, 4, 64, 32, 1, 40, 2, 0, 33, 3, 32, 2, 65, 0, 54, 2, 32, 32, 2, 66, 1, 55, 3, 24, 32, 2, 32, 2, 65, 24, 106, 54, 2, 36, 32, 2, 65, 56, 106, 32, 3, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 48, 106, 32, 3, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 3, 41, 2, 0, 55, 3, 40, 32, 2, 65, 36, 106, 65, 168, 211, 192, 0, 32, 2, 65, 40, 106, 16, 227, 1, 26, 32, 2, 65, 16, 106, 34, 3, 32, 2, 40, 2, 32, 54, 2, 0, 32, 2, 32, 2, 41, 3, 24, 55, 3, 8, 2, 64, 32, 1, 40, 2, 4, 34, 5, 69, 13, 0, 32, 1, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 5, 16, 204, 1, 11, 32, 4, 32, 2, 41, 3, 8, 55, 2, 0, 32, 4, 65, 8, 106, 32, 3, 40, 2, 0, 54, 2, 0, 11, 32, 0, 65, 228, 221, 192, 0, 54, 2, 4, 32, 0, 32, 4, 54, 2, 0, 32, 2, 65, 64, 107, 36, 0, 11, 85, 1, 2, 127, 32, 1, 40, 2, 0, 33, 2, 32, 1, 65, 0, 54, 2, 0, 2, 64, 32, 2, 4, 64, 32, 1, 40, 2, 4, 33, 3, 65, 8, 65, 4, 16, 73, 34, 1, 69, 13, 1, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 0, 65, 136, 222, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 15, 11, 0, 11, 65, 8, 65, 4, 16, 211, 1, 0, 11, 29, 0, 32, 1, 40, 2, 0, 69, 4, 64, 0, 11, 32, 0, 65, 136, 222, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 86, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 65, 152, 222, 192, 0, 65, 8, 16, 129, 2, 32, 2, 32, 0, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 244, 215, 192, 0, 16, 240, 1, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 160, 222, 192, 0, 16, 240, 1, 32, 2, 16, 241, 1, 32, 2, 65, 16, 106, 36, 0, 11, 143, 42, 2, 8, 127, 1, 126, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 245, 1, 79, 4, 64, 32, 0, 65, 205, 255, 123, 79, 13, 4, 32, 0, 65, 11, 106, 34, 0, 65, 120, 113, 33, 5, 65, 160, 130, 193, 0, 40, 2, 0, 34, 8, 69, 13, 1, 65, 0, 32, 5, 107, 33, 6, 2, 64, 2, 64, 2, 127, 65, 0, 32, 0, 65, 8, 118, 34, 0, 69, 13, 0, 26, 65, 31, 32, 5, 65, 255, 255, 255, 7, 75, 13, 0, 26, 32, 5, 65, 6, 32, 0, 103, 34, 0, 107, 65, 31, 113, 118, 65, 1, 113, 32, 0, 65, 1, 116, 107, 65, 62, 106, 11, 34, 7, 65, 2, 116, 65, 172, 132, 193, 0, 106, 40, 2, 0, 34, 0, 4, 64, 32, 5, 65, 0, 65, 25, 32, 7, 65, 1, 118, 107, 65, 31, 113, 32, 7, 65, 31, 70, 27, 116, 33, 2, 3, 64, 2, 64, 32, 0, 65, 4, 106, 40, 2, 0, 65, 120, 113, 34, 4, 32, 5, 73, 13, 0, 32, 4, 32, 5, 107, 34, 4, 32, 6, 79, 13, 0, 32, 0, 33, 3, 32, 4, 34, 6, 13, 0, 65, 0, 33, 6, 12, 3, 11, 32, 0, 65, 20, 106, 40, 2, 0, 34, 4, 32, 1, 32, 4, 32, 0, 32, 2, 65, 29, 118, 65, 4, 113, 106, 65, 16, 106, 40, 2, 0, 34, 0, 71, 27, 32, 1, 32, 4, 27, 33, 1, 32, 2, 65, 1, 116, 33, 2, 32, 0, 13, 0, 11, 32, 1, 4, 64, 32, 1, 33, 0, 12, 2, 11, 32, 3, 13, 2, 11, 65, 0, 33, 3, 65, 2, 32, 7, 65, 31, 113, 116, 34, 0, 65, 0, 32, 0, 107, 114, 32, 8, 113, 34, 0, 69, 13, 3, 32, 0, 65, 0, 32, 0, 107, 113, 104, 65, 2, 116, 65, 172, 132, 193, 0, 106, 40, 2, 0, 34, 0, 69, 13, 3, 11, 3, 64, 32, 0, 32, 3, 32, 0, 65, 4, 106, 40, 2, 0, 65, 120, 113, 34, 1, 32, 5, 79, 32, 1, 32, 5, 107, 34, 1, 32, 6, 73, 113, 34, 2, 27, 33, 3, 32, 1, 32, 6, 32, 2, 27, 33, 6, 32, 0, 40, 2, 16, 34, 1, 4, 127, 32, 1, 5, 32, 0, 65, 20, 106, 40, 2, 0, 11, 34, 0, 13, 0, 11, 32, 3, 69, 13, 2, 11, 65, 172, 133, 193, 0, 40, 2, 0, 34, 0, 32, 5, 79, 65, 0, 32, 6, 32, 0, 32, 5, 107, 79, 27, 13, 1, 32, 3, 40, 2, 24, 33, 7, 2, 64, 2, 64, 32, 3, 32, 3, 40, 2, 12, 34, 1, 70, 4, 64, 32, 3, 65, 20, 65, 16, 32, 3, 65, 20, 106, 34, 1, 40, 2, 0, 34, 2, 27, 106, 40, 2, 0, 34, 0, 13, 1, 65, 0, 33, 1, 12, 2, 11, 32, 3, 40, 2, 8, 34, 0, 32, 1, 54, 2, 12, 32, 1, 32, 0, 54, 2, 8, 12, 1, 11, 32, 1, 32, 3, 65, 16, 106, 32, 2, 27, 33, 2, 3, 64, 32, 2, 33, 4, 32, 0, 34, 1, 65, 20, 106, 34, 2, 40, 2, 0, 34, 0, 69, 4, 64, 32, 1, 65, 16, 106, 33, 2, 32, 1, 40, 2, 16, 33, 0, 11, 32, 0, 13, 0, 11, 32, 4, 65, 0, 54, 2, 0, 11, 2, 64, 32, 7, 69, 13, 0, 2, 64, 32, 3, 32, 3, 40, 2, 28, 65, 2, 116, 65, 172, 132, 193, 0, 106, 34, 0, 40, 2, 0, 71, 4, 64, 32, 7, 65, 16, 65, 20, 32, 7, 40, 2, 16, 32, 3, 70, 27, 106, 32, 1, 54, 2, 0, 32, 1, 69, 13, 2, 12, 1, 11, 32, 0, 32, 1, 54, 2, 0, 32, 1, 13, 0, 65, 160, 130, 193, 0, 65, 160, 130, 193, 0, 40, 2, 0, 65, 126, 32, 3, 40, 2, 28, 119, 113, 54, 2, 0, 12, 1, 11, 32, 1, 32, 7, 54, 2, 24, 32, 3, 40, 2, 16, 34, 0, 4, 64, 32, 1, 32, 0, 54, 2, 16, 32, 0, 32, 1, 54, 2, 24, 11, 32, 3, 65, 20, 106, 40, 2, 0, 34, 0, 69, 13, 0, 32, 1, 65, 20, 106, 32, 0, 54, 2, 0, 32, 0, 32, 1, 54, 2, 24, 11, 2, 64, 32, 6, 65, 16, 79, 4, 64, 32, 3, 32, 5, 65, 3, 114, 54, 2, 4, 32, 3, 32, 5, 106, 34, 4, 32, 6, 65, 1, 114, 54, 2, 4, 32, 4, 32, 6, 106, 32, 6, 54, 2, 0, 32, 6, 65, 128, 2, 79, 4, 64, 32, 4, 66, 0, 55, 2, 16, 32, 4, 2, 127, 65, 0, 32, 6, 65, 8, 118, 34, 0, 69, 13, 0, 26, 65, 31, 32, 6, 65, 255, 255, 255, 7, 75, 13, 0, 26, 32, 6, 65, 6, 32, 0, 103, 34, 0, 107, 65, 31, 113, 118, 65, 1, 113, 32, 0, 65, 1, 116, 107, 65, 62, 106, 11, 34, 0, 54, 2, 28, 32, 0, 65, 2, 116, 65, 172, 132, 193, 0, 106, 33, 1, 2, 64, 2, 64, 2, 64, 2, 64, 65, 160, 130, 193, 0, 40, 2, 0, 34, 2, 65, 1, 32, 0, 65, 31, 113, 116, 34, 5, 113, 4, 64, 32, 1, 40, 2, 0, 34, 2, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 6, 71, 13, 1, 32, 2, 33, 0, 12, 2, 11, 65, 160, 130, 193, 0, 32, 2, 32, 5, 114, 54, 2, 0, 32, 1, 32, 4, 54, 2, 0, 32, 4, 32, 1, 54, 2, 24, 12, 3, 11, 32, 6, 65, 0, 65, 25, 32, 0, 65, 1, 118, 107, 65, 31, 113, 32, 0, 65, 31, 70, 27, 116, 33, 1, 3, 64, 32, 2, 32, 1, 65, 29, 118, 65, 4, 113, 106, 65, 16, 106, 34, 5, 40, 2, 0, 34, 0, 69, 13, 2, 32, 1, 65, 1, 116, 33, 1, 32, 0, 33, 2, 32, 0, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 6, 71, 13, 0, 11, 11, 32, 0, 40, 2, 8, 34, 1, 32, 4, 54, 2, 12, 32, 0, 32, 4, 54, 2, 8, 32, 4, 65, 0, 54, 2, 24, 32, 4, 32, 0, 54, 2, 12, 32, 4, 32, 1, 54, 2, 8, 12, 4, 11, 32, 5, 32, 4, 54, 2, 0, 32, 4, 32, 2, 54, 2, 24, 11, 32, 4, 32, 4, 54, 2, 12, 32, 4, 32, 4, 54, 2, 8, 12, 2, 11, 32, 6, 65, 3, 118, 34, 1, 65, 3, 116, 65, 164, 130, 193, 0, 106, 33, 0, 2, 127, 65, 156, 130, 193, 0, 40, 2, 0, 34, 2, 65, 1, 32, 1, 116, 34, 1, 113, 4, 64, 32, 0, 40, 2, 8, 12, 1, 11, 65, 156, 130, 193, 0, 32, 1, 32, 2, 114, 54, 2, 0, 32, 0, 11, 33, 1, 32, 0, 32, 4, 54, 2, 8, 32, 1, 32, 4, 54, 2, 12, 32, 4, 32, 0, 54, 2, 12, 32, 4, 32, 1, 54, 2, 8, 12, 1, 11, 32, 3, 32, 5, 32, 6, 106, 34, 0, 65, 3, 114, 54, 2, 4, 32, 0, 32, 3, 106, 34, 0, 32, 0, 40, 2, 4, 65, 1, 114, 54, 2, 4, 11, 32, 3, 65, 8, 106, 15, 11, 2, 64, 2, 64, 65, 156, 130, 193, 0, 40, 2, 0, 34, 2, 65, 16, 32, 0, 65, 11, 106, 65, 120, 113, 32, 0, 65, 11, 73, 27, 34, 5, 65, 3, 118, 34, 0, 118, 34, 1, 65, 3, 113, 69, 4, 64, 32, 5, 65, 172, 133, 193, 0, 40, 2, 0, 77, 13, 3, 32, 1, 13, 1, 65, 160, 130, 193, 0, 40, 2, 0, 34, 0, 69, 13, 3, 32, 0, 65, 0, 32, 0, 107, 113, 104, 65, 2, 116, 65, 172, 132, 193, 0, 106, 40, 2, 0, 34, 1, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 5, 107, 33, 6, 32, 1, 33, 2, 3, 64, 32, 1, 40, 2, 16, 34, 0, 69, 4, 64, 32, 1, 65, 20, 106, 40, 2, 0, 34, 0, 69, 13, 4, 11, 32, 0, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 5, 107, 34, 1, 32, 6, 32, 1, 32, 6, 73, 34, 1, 27, 33, 6, 32, 0, 32, 2, 32, 1, 27, 33, 2, 32, 0, 33, 1, 12, 0, 11, 0, 11, 2, 64, 32, 1, 65, 127, 115, 65, 1, 113, 32, 0, 106, 34, 0, 65, 3, 116, 65, 156, 130, 193, 0, 106, 34, 4, 65, 16, 106, 40, 2, 0, 34, 1, 65, 8, 106, 34, 6, 40, 2, 0, 34, 3, 32, 4, 65, 8, 106, 34, 4, 71, 4, 64, 32, 3, 32, 4, 54, 2, 12, 32, 4, 32, 3, 54, 2, 8, 12, 1, 11, 65, 156, 130, 193, 0, 32, 2, 65, 126, 32, 0, 119, 113, 54, 2, 0, 11, 32, 1, 32, 0, 65, 3, 116, 34, 0, 65, 3, 114, 54, 2, 4, 32, 0, 32, 1, 106, 34, 0, 32, 0, 40, 2, 4, 65, 1, 114, 54, 2, 4, 12, 5, 11, 2, 64, 65, 2, 32, 0, 116, 34, 6, 65, 0, 32, 6, 107, 114, 32, 1, 32, 0, 116, 113, 34, 0, 65, 0, 32, 0, 107, 113, 104, 34, 1, 65, 3, 116, 65, 156, 130, 193, 0, 106, 34, 3, 65, 16, 106, 40, 2, 0, 34, 0, 65, 8, 106, 34, 4, 40, 2, 0, 34, 6, 32, 3, 65, 8, 106, 34, 3, 71, 4, 64, 32, 6, 32, 3, 54, 2, 12, 32, 3, 32, 6, 54, 2, 8, 12, 1, 11, 65, 156, 130, 193, 0, 32, 2, 65, 126, 32, 1, 119, 113, 54, 2, 0, 11, 32, 0, 32, 5, 65, 3, 114, 54, 2, 4, 32, 0, 32, 5, 106, 34, 3, 32, 1, 65, 3, 116, 34, 1, 32, 5, 107, 34, 2, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 2, 54, 2, 0, 65, 172, 133, 193, 0, 40, 2, 0, 34, 0, 4, 64, 32, 0, 65, 3, 118, 34, 6, 65, 3, 116, 65, 164, 130, 193, 0, 106, 33, 0, 65, 180, 133, 193, 0, 40, 2, 0, 33, 1, 2, 127, 65, 156, 130, 193, 0, 40, 2, 0, 34, 5, 65, 1, 32, 6, 65, 31, 113, 116, 34, 6, 113, 4, 64, 32, 0, 40, 2, 8, 12, 1, 11, 65, 156, 130, 193, 0, 32, 5, 32, 6, 114, 54, 2, 0, 32, 0, 11, 33, 6, 32, 0, 32, 1, 54, 2, 8, 32, 6, 32, 1, 54, 2, 12, 32, 1, 32, 0, 54, 2, 12, 32, 1, 32, 6, 54, 2, 8, 11, 65, 180, 133, 193, 0, 32, 3, 54, 2, 0, 65, 172, 133, 193, 0, 32, 2, 54, 2, 0, 32, 4, 15, 11, 32, 2, 40, 2, 24, 33, 7, 2, 64, 2, 64, 32, 2, 32, 2, 40, 2, 12, 34, 1, 70, 4, 64, 32, 2, 65, 20, 65, 16, 32, 2, 65, 20, 106, 34, 1, 40, 2, 0, 34, 3, 27, 106, 40, 2, 0, 34, 0, 13, 1, 65, 0, 33, 1, 12, 2, 11, 32, 2, 40, 2, 8, 34, 0, 32, 1, 54, 2, 12, 32, 1, 32, 0, 54, 2, 8, 12, 1, 11, 32, 1, 32, 2, 65, 16, 106, 32, 3, 27, 33, 3, 3, 64, 32, 3, 33, 4, 32, 0, 34, 1, 65, 20, 106, 34, 3, 40, 2, 0, 34, 0, 69, 4, 64, 32, 1, 65, 16, 106, 33, 3, 32, 1, 40, 2, 16, 33, 0, 11, 32, 0, 13, 0, 11, 32, 4, 65, 0, 54, 2, 0, 11, 32, 7, 69, 13, 2, 32, 2, 32, 2, 40, 2, 28, 65, 2, 116, 65, 172, 132, 193, 0, 106, 34, 0, 40, 2, 0, 71, 4, 64, 32, 7, 65, 16, 65, 20, 32, 7, 40, 2, 16, 32, 2, 70, 27, 106, 32, 1, 54, 2, 0, 32, 1, 69, 13, 3, 12, 2, 11, 32, 0, 32, 1, 54, 2, 0, 32, 1, 13, 1, 65, 160, 130, 193, 0, 65, 160, 130, 193, 0, 40, 2, 0, 65, 126, 32, 2, 40, 2, 28, 119, 113, 54, 2, 0, 12, 2, 11, 2, 64, 2, 64, 2, 64, 2, 64, 65, 172, 133, 193, 0, 40, 2, 0, 34, 0, 32, 5, 73, 4, 64, 65, 176, 133, 193, 0, 40, 2, 0, 34, 0, 32, 5, 75, 13, 8, 65, 0, 33, 6, 32, 5, 65, 175, 128, 4, 106, 34, 0, 65, 16, 118, 64, 0, 34, 1, 65, 127, 70, 13, 7, 32, 1, 65, 16, 116, 34, 4, 69, 13, 7, 65, 188, 133, 193, 0, 32, 0, 65, 128, 128, 124, 113, 34, 7, 65, 188, 133, 193, 0, 40, 2, 0, 106, 34, 0, 54, 2, 0, 65, 192, 133, 193, 0, 65, 192, 133, 193, 0, 40, 2, 0, 34, 1, 32, 0, 32, 1, 32, 0, 75, 27, 54, 2, 0, 65, 184, 133, 193, 0, 40, 2, 0, 34, 3, 69, 13, 1, 65, 196, 133, 193, 0, 33, 0, 3, 64, 32, 0, 40, 2, 0, 34, 1, 32, 0, 40, 2, 4, 34, 2, 106, 32, 4, 70, 13, 3, 32, 0, 40, 2, 8, 34, 0, 13, 0, 11, 12, 3, 11, 65, 180, 133, 193, 0, 40, 2, 0, 33, 1, 2, 127, 32, 0, 32, 5, 107, 34, 2, 65, 15, 77, 4, 64, 65, 180, 133, 193, 0, 65, 0, 54, 2, 0, 65, 172, 133, 193, 0, 65, 0, 54, 2, 0, 32, 1, 32, 0, 65, 3, 114, 54, 2, 4, 32, 0, 32, 1, 106, 34, 2, 65, 4, 106, 33, 0, 32, 2, 40, 2, 4, 65, 1, 114, 12, 1, 11, 65, 172, 133, 193, 0, 32, 2, 54, 2, 0, 65, 180, 133, 193, 0, 32, 1, 32, 5, 106, 34, 6, 54, 2, 0, 32, 6, 32, 2, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 2, 54, 2, 0, 32, 1, 65, 4, 106, 33, 0, 32, 5, 65, 3, 114, 11, 33, 2, 32, 0, 32, 2, 54, 2, 0, 32, 1, 65, 8, 106, 15, 11, 65, 216, 133, 193, 0, 40, 2, 0, 34, 0, 65, 0, 32, 0, 32, 4, 77, 27, 69, 4, 64, 65, 216, 133, 193, 0, 32, 4, 54, 2, 0, 11, 65, 220, 133, 193, 0, 65, 255, 31, 54, 2, 0, 65, 196, 133, 193, 0, 32, 4, 54, 2, 0, 65, 208, 133, 193, 0, 65, 0, 54, 2, 0, 65, 200, 133, 193, 0, 32, 7, 54, 2, 0, 65, 176, 130, 193, 0, 65, 164, 130, 193, 0, 54, 2, 0, 65, 184, 130, 193, 0, 65, 172, 130, 193, 0, 54, 2, 0, 65, 172, 130, 193, 0, 65, 164, 130, 193, 0, 54, 2, 0, 65, 192, 130, 193, 0, 65, 180, 130, 193, 0, 54, 2, 0, 65, 180, 130, 193, 0, 65, 172, 130, 193, 0, 54, 2, 0, 65, 200, 130, 193, 0, 65, 188, 130, 193, 0, 54, 2, 0, 65, 188, 130, 193, 0, 65, 180, 130, 193, 0, 54, 2, 0, 65, 208, 130, 193, 0, 65, 196, 130, 193, 0, 54, 2, 0, 65, 196, 130, 193, 0, 65, 188, 130, 193, 0, 54, 2, 0, 65, 216, 130, 193, 0, 65, 204, 130, 193, 0, 54, 2, 0, 65, 204, 130, 193, 0, 65, 196, 130, 193, 0, 54, 2, 0, 65, 224, 130, 193, 0, 65, 212, 130, 193, 0, 54, 2, 0, 65, 212, 130, 193, 0, 65, 204, 130, 193, 0, 54, 2, 0, 65, 232, 130, 193, 0, 65, 220, 130, 193, 0, 54, 2, 0, 65, 220, 130, 193, 0, 65, 212, 130, 193, 0, 54, 2, 0, 65, 240, 130, 193, 0, 65, 228, 130, 193, 0, 54, 2, 0, 65, 228, 130, 193, 0, 65, 220, 130, 193, 0, 54, 2, 0, 65, 236, 130, 193, 0, 65, 228, 130, 193, 0, 54, 2, 0, 65, 248, 130, 193, 0, 65, 236, 130, 193, 0, 54, 2, 0, 65, 244, 130, 193, 0, 65, 236, 130, 193, 0, 54, 2, 0, 65, 128, 131, 193, 0, 65, 244, 130, 193, 0, 54, 2, 0, 65, 252, 130, 193, 0, 65, 244, 130, 193, 0, 54, 2, 0, 65, 136, 131, 193, 0, 65, 252, 130, 193, 0, 54, 2, 0, 65, 132, 131, 193, 0, 65, 252, 130, 193, 0, 54, 2, 0, 65, 144, 131, 193, 0, 65, 132, 131, 193, 0, 54, 2, 0, 65, 140, 131, 193, 0, 65, 132, 131, 193, 0, 54, 2, 0, 65, 152, 131, 193, 0, 65, 140, 131, 193, 0, 54, 2, 0, 65, 148, 131, 193, 0, 65, 140, 131, 193, 0, 54, 2, 0, 65, 160, 131, 193, 0, 65, 148, 131, 193, 0, 54, 2, 0, 65, 156, 131, 193, 0, 65, 148, 131, 193, 0, 54, 2, 0, 65, 168, 131, 193, 0, 65, 156, 131, 193, 0, 54, 2, 0, 65, 164, 131, 193, 0, 65, 156, 131, 193, 0, 54, 2, 0, 65, 176, 131, 193, 0, 65, 164, 131, 193, 0, 54, 2, 0, 65, 184, 131, 193, 0, 65, 172, 131, 193, 0, 54, 2, 0, 65, 172, 131, 193, 0, 65, 164, 131, 193, 0, 54, 2, 0, 65, 192, 131, 193, 0, 65, 180, 131, 193, 0, 54, 2, 0, 65, 180, 131, 193, 0, 65, 172, 131, 193, 0, 54, 2, 0, 65, 200, 131, 193, 0, 65, 188, 131, 193, 0, 54, 2, 0, 65, 188, 131, 193, 0, 65, 180, 131, 193, 0, 54, 2, 0, 65, 208, 131, 193, 0, 65, 196, 131, 193, 0, 54, 2, 0, 65, 196, 131, 193, 0, 65, 188, 131, 193, 0, 54, 2, 0, 65, 216, 131, 193, 0, 65, 204, 131, 193, 0, 54, 2, 0, 65, 204, 131, 193, 0, 65, 196, 131, 193, 0, 54, 2, 0, 65, 224, 131, 193, 0, 65, 212, 131, 193, 0, 54, 2, 0, 65, 212, 131, 193, 0, 65, 204, 131, 193, 0, 54, 2, 0, 65, 232, 131, 193, 0, 65, 220, 131, 193, 0, 54, 2, 0, 65, 220, 131, 193, 0, 65, 212, 131, 193, 0, 54, 2, 0, 65, 240, 131, 193, 0, 65, 228, 131, 193, 0, 54, 2, 0, 65, 228, 131, 193, 0, 65, 220, 131, 193, 0, 54, 2, 0, 65, 248, 131, 193, 0, 65, 236, 131, 193, 0, 54, 2, 0, 65, 236, 131, 193, 0, 65, 228, 131, 193, 0, 54, 2, 0, 65, 128, 132, 193, 0, 65, 244, 131, 193, 0, 54, 2, 0, 65, 244, 131, 193, 0, 65, 236, 131, 193, 0, 54, 2, 0, 65, 136, 132, 193, 0, 65, 252, 131, 193, 0, 54, 2, 0, 65, 252, 131, 193, 0, 65, 244, 131, 193, 0, 54, 2, 0, 65, 144, 132, 193, 0, 65, 132, 132, 193, 0, 54, 2, 0, 65, 132, 132, 193, 0, 65, 252, 131, 193, 0, 54, 2, 0, 65, 152, 132, 193, 0, 65, 140, 132, 193, 0, 54, 2, 0, 65, 140, 132, 193, 0, 65, 132, 132, 193, 0, 54, 2, 0, 65, 160, 132, 193, 0, 65, 148, 132, 193, 0, 54, 2, 0, 65, 148, 132, 193, 0, 65, 140, 132, 193, 0, 54, 2, 0, 65, 168, 132, 193, 0, 65, 156, 132, 193, 0, 54, 2, 0, 65, 156, 132, 193, 0, 65, 148, 132, 193, 0, 54, 2, 0, 65, 184, 133, 193, 0, 32, 4, 54, 2, 0, 65, 164, 132, 193, 0, 65, 156, 132, 193, 0, 54, 2, 0, 65, 176, 133, 193, 0, 32, 7, 65, 88, 106, 34, 0, 54, 2, 0, 32, 4, 32, 0, 65, 1, 114, 54, 2, 4, 32, 0, 32, 4, 106, 65, 40, 54, 2, 4, 65, 212, 133, 193, 0, 65, 128, 128, 128, 1, 54, 2, 0, 12, 2, 11, 32, 0, 65, 12, 106, 40, 2, 0, 32, 4, 32, 3, 77, 114, 32, 1, 32, 3, 75, 114, 13, 0, 32, 0, 32, 2, 32, 7, 106, 54, 2, 4, 65, 184, 133, 193, 0, 65, 184, 133, 193, 0, 40, 2, 0, 34, 0, 65, 15, 106, 65, 120, 113, 34, 1, 65, 120, 106, 54, 2, 0, 65, 176, 133, 193, 0, 65, 176, 133, 193, 0, 40, 2, 0, 32, 7, 106, 34, 2, 32, 0, 32, 1, 107, 106, 65, 8, 106, 34, 3, 54, 2, 0, 32, 1, 65, 124, 106, 32, 3, 65, 1, 114, 54, 2, 0, 32, 0, 32, 2, 106, 65, 40, 54, 2, 4, 65, 212, 133, 193, 0, 65, 128, 128, 128, 1, 54, 2, 0, 12, 1, 11, 65, 216, 133, 193, 0, 65, 216, 133, 193, 0, 40, 2, 0, 34, 0, 32, 4, 32, 0, 32, 4, 73, 27, 54, 2, 0, 32, 4, 32, 7, 106, 33, 2, 65, 196, 133, 193, 0, 33, 0, 2, 64, 3, 64, 32, 2, 32, 0, 40, 2, 0, 71, 4, 64, 32, 0, 40, 2, 8, 34, 0, 13, 1, 12, 2, 11, 11, 32, 0, 65, 12, 106, 40, 2, 0, 13, 0, 32, 0, 32, 4, 54, 2, 0, 32, 0, 32, 0, 40, 2, 4, 32, 7, 106, 54, 2, 4, 32, 4, 32, 5, 65, 3, 114, 54, 2, 4, 32, 4, 32, 5, 106, 33, 0, 32, 2, 32, 4, 107, 32, 5, 107, 33, 5, 2, 64, 2, 64, 32, 2, 65, 184, 133, 193, 0, 40, 2, 0, 71, 4, 64, 65, 180, 133, 193, 0, 40, 2, 0, 32, 2, 70, 13, 1, 32, 2, 65, 4, 106, 40, 2, 0, 34, 1, 65, 3, 113, 65, 1, 70, 4, 64, 32, 2, 32, 1, 65, 120, 113, 34, 1, 16, 201, 1, 32, 1, 32, 5, 106, 33, 5, 32, 1, 32, 2, 106, 33, 2, 11, 32, 2, 32, 2, 40, 2, 4, 65, 126, 113, 54, 2, 4, 32, 0, 32, 5, 65, 1, 114, 54, 2, 4, 32, 0, 32, 5, 106, 32, 5, 54, 2, 0, 32, 5, 65, 128, 2, 79, 4, 64, 32, 0, 66, 0, 55, 2, 16, 32, 0, 2, 127, 65, 0, 32, 5, 65, 8, 118, 34, 1, 69, 13, 0, 26, 65, 31, 32, 5, 65, 255, 255, 255, 7, 75, 13, 0, 26, 32, 5, 65, 6, 32, 1, 103, 34, 1, 107, 65, 31, 113, 118, 65, 1, 113, 32, 1, 65, 1, 116, 107, 65, 62, 106, 11, 34, 1, 54, 2, 28, 32, 1, 65, 2, 116, 65, 172, 132, 193, 0, 106, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 65, 160, 130, 193, 0, 40, 2, 0, 34, 6, 65, 1, 32, 1, 65, 31, 113, 116, 34, 3, 113, 4, 64, 32, 2, 40, 2, 0, 34, 2, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 5, 71, 13, 1, 32, 2, 33, 6, 12, 2, 11, 65, 160, 130, 193, 0, 32, 3, 32, 6, 114, 54, 2, 0, 32, 2, 32, 0, 54, 2, 0, 12, 3, 11, 32, 5, 65, 0, 65, 25, 32, 1, 65, 1, 118, 107, 65, 31, 113, 32, 1, 65, 31, 70, 27, 116, 33, 1, 3, 64, 32, 2, 32, 1, 65, 29, 118, 65, 4, 113, 106, 65, 16, 106, 34, 3, 40, 2, 0, 34, 6, 69, 13, 2, 32, 1, 65, 1, 116, 33, 1, 32, 6, 34, 2, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 5, 71, 13, 0, 11, 11, 32, 6, 40, 2, 8, 34, 1, 32, 0, 54, 2, 12, 32, 6, 32, 0, 54, 2, 8, 32, 0, 65, 0, 54, 2, 24, 32, 0, 32, 6, 54, 2, 12, 32, 0, 32, 1, 54, 2, 8, 12, 5, 11, 32, 3, 32, 0, 54, 2, 0, 11, 32, 0, 32, 2, 54, 2, 24, 32, 0, 32, 0, 54, 2, 12, 32, 0, 32, 0, 54, 2, 8, 12, 3, 11, 32, 5, 65, 3, 118, 34, 2, 65, 3, 116, 65, 164, 130, 193, 0, 106, 33, 1, 2, 127, 65, 156, 130, 193, 0, 40, 2, 0, 34, 6, 65, 1, 32, 2, 116, 34, 2, 113, 4, 64, 32, 1, 40, 2, 8, 12, 1, 11, 65, 156, 130, 193, 0, 32, 2, 32, 6, 114, 54, 2, 0, 32, 1, 11, 33, 2, 32, 1, 32, 0, 54, 2, 8, 32, 2, 32, 0, 54, 2, 12, 32, 0, 32, 1, 54, 2, 12, 32, 0, 32, 2, 54, 2, 8, 12, 2, 11, 65, 184, 133, 193, 0, 32, 0, 54, 2, 0, 65, 176, 133, 193, 0, 65, 176, 133, 193, 0, 40, 2, 0, 32, 5, 106, 34, 1, 54, 2, 0, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 12, 1, 11, 65, 180, 133, 193, 0, 32, 0, 54, 2, 0, 65, 172, 133, 193, 0, 65, 172, 133, 193, 0, 40, 2, 0, 32, 5, 106, 34, 1, 54, 2, 0, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 1, 54, 2, 0, 11, 32, 4, 65, 8, 106, 15, 11, 65, 196, 133, 193, 0, 33, 0, 3, 64, 2, 64, 32, 0, 40, 2, 0, 34, 1, 32, 3, 77, 4, 64, 32, 1, 32, 0, 40, 2, 4, 106, 34, 2, 32, 3, 75, 13, 1, 11, 32, 0, 40, 2, 8, 33, 0, 12, 1, 11, 11, 65, 184, 133, 193, 0, 32, 4, 54, 2, 0, 65, 176, 133, 193, 0, 32, 7, 65, 88, 106, 34, 0, 54, 2, 0, 32, 4, 32, 0, 65, 1, 114, 54, 2, 4, 32, 0, 32, 4, 106, 65, 40, 54, 2, 4, 65, 212, 133, 193, 0, 65, 128, 128, 128, 1, 54, 2, 0, 32, 3, 32, 2, 65, 96, 106, 65, 120, 113, 65, 120, 106, 34, 0, 32, 0, 32, 3, 65, 16, 106, 73, 27, 34, 1, 65, 27, 54, 2, 4, 65, 196, 133, 193, 0, 41, 2, 0, 33, 9, 32, 1, 65, 16, 106, 65, 204, 133, 193, 0, 41, 2, 0, 55, 2, 0, 32, 1, 32, 9, 55, 2, 8, 65, 208, 133, 193, 0, 65, 0, 54, 2, 0, 65, 200, 133, 193, 0, 32, 7, 54, 2, 0, 65, 196, 133, 193, 0, 32, 4, 54, 2, 0, 65, 204, 133, 193, 0, 32, 1, 65, 8, 106, 54, 2, 0, 32, 1, 65, 28, 106, 33, 0, 3, 64, 32, 0, 65, 7, 54, 2, 0, 32, 2, 32, 0, 65, 4, 106, 34, 0, 75, 13, 0, 11, 32, 1, 32, 3, 70, 13, 0, 32, 1, 32, 1, 40, 2, 4, 65, 126, 113, 54, 2, 4, 32, 3, 32, 1, 32, 3, 107, 34, 4, 65, 1, 114, 54, 2, 4, 32, 1, 32, 4, 54, 2, 0, 32, 4, 65, 128, 2, 79, 4, 64, 32, 3, 66, 0, 55, 2, 16, 32, 3, 65, 28, 106, 2, 127, 65, 0, 32, 4, 65, 8, 118, 34, 0, 69, 13, 0, 26, 65, 31, 32, 4, 65, 255, 255, 255, 7, 75, 13, 0, 26, 32, 4, 65, 6, 32, 0, 103, 34, 0, 107, 65, 31, 113, 118, 65, 1, 113, 32, 0, 65, 1, 116, 107, 65, 62, 106, 11, 34, 0, 54, 2, 0, 32, 0, 65, 2, 116, 65, 172, 132, 193, 0, 106, 33, 1, 2, 64, 2, 64, 2, 64, 2, 64, 65, 160, 130, 193, 0, 40, 2, 0, 34, 2, 65, 1, 32, 0, 65, 31, 113, 116, 34, 7, 113, 4, 64, 32, 1, 40, 2, 0, 34, 1, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 4, 71, 13, 1, 32, 1, 33, 0, 12, 2, 11, 65, 160, 130, 193, 0, 32, 2, 32, 7, 114, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 12, 3, 11, 32, 4, 65, 0, 65, 25, 32, 0, 65, 1, 118, 107, 65, 31, 113, 32, 0, 65, 31, 70, 27, 116, 33, 2, 3, 64, 32, 1, 32, 2, 65, 29, 118, 65, 4, 113, 106, 65, 16, 106, 34, 7, 40, 2, 0, 34, 0, 69, 13, 2, 32, 2, 65, 1, 116, 33, 2, 32, 0, 33, 1, 32, 0, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 4, 71, 13, 0, 11, 11, 32, 0, 40, 2, 8, 34, 1, 32, 3, 54, 2, 12, 32, 0, 32, 3, 54, 2, 8, 32, 3, 65, 24, 106, 65, 0, 54, 2, 0, 32, 3, 32, 0, 54, 2, 12, 32, 3, 32, 1, 54, 2, 8, 12, 3, 11, 32, 7, 32, 3, 54, 2, 0, 11, 32, 3, 65, 24, 106, 32, 1, 54, 2, 0, 32, 3, 32, 3, 54, 2, 12, 32, 3, 32, 3, 54, 2, 8, 12, 1, 11, 32, 4, 65, 3, 118, 34, 1, 65, 3, 116, 65, 164, 130, 193, 0, 106, 33, 0, 2, 127, 65, 156, 130, 193, 0, 40, 2, 0, 34, 2, 65, 1, 32, 1, 116, 34, 1, 113, 4, 64, 32, 0, 40, 2, 8, 12, 1, 11, 65, 156, 130, 193, 0, 32, 1, 32, 2, 114, 54, 2, 0, 32, 0, 11, 33, 1, 32, 0, 32, 3, 54, 2, 8, 32, 1, 32, 3, 54, 2, 12, 32, 3, 32, 0, 54, 2, 12, 32, 3, 32, 1, 54, 2, 8, 11, 65, 176, 133, 193, 0, 40, 2, 0, 34, 0, 32, 5, 77, 13, 2, 12, 3, 11, 32, 1, 32, 7, 54, 2, 24, 32, 2, 40, 2, 16, 34, 0, 4, 64, 32, 1, 32, 0, 54, 2, 16, 32, 0, 32, 1, 54, 2, 24, 11, 32, 2, 65, 20, 106, 40, 2, 0, 34, 0, 69, 13, 0, 32, 1, 65, 20, 106, 32, 0, 54, 2, 0, 32, 0, 32, 1, 54, 2, 24, 11, 2, 64, 32, 6, 65, 16, 79, 4, 64, 32, 2, 32, 5, 65, 3, 114, 54, 2, 4, 32, 2, 32, 5, 106, 34, 3, 32, 6, 65, 1, 114, 54, 2, 4, 32, 3, 32, 6, 106, 32, 6, 54, 2, 0, 65, 172, 133, 193, 0, 40, 2, 0, 34, 0, 4, 64, 32, 0, 65, 3, 118, 34, 4, 65, 3, 116, 65, 164, 130, 193, 0, 106, 33, 0, 65, 180, 133, 193, 0, 40, 2, 0, 33, 1, 2, 127, 65, 156, 130, 193, 0, 40, 2, 0, 34, 5, 65, 1, 32, 4, 65, 31, 113, 116, 34, 4, 113, 4, 64, 32, 0, 40, 2, 8, 12, 1, 11, 65, 156, 130, 193, 0, 32, 4, 32, 5, 114, 54, 2, 0, 32, 0, 11, 33, 4, 32, 0, 32, 1, 54, 2, 8, 32, 4, 32, 1, 54, 2, 12, 32, 1, 32, 0, 54, 2, 12, 32, 1, 32, 4, 54, 2, 8, 11, 65, 180, 133, 193, 0, 32, 3, 54, 2, 0, 65, 172, 133, 193, 0, 32, 6, 54, 2, 0, 12, 1, 11, 32, 2, 32, 5, 32, 6, 106, 34, 0, 65, 3, 114, 54, 2, 4, 32, 0, 32, 2, 106, 34, 0, 32, 0, 40, 2, 4, 65, 1, 114, 54, 2, 4, 11, 32, 2, 65, 8, 106, 15, 11, 32, 6, 15, 11, 65, 176, 133, 193, 0, 32, 0, 32, 5, 107, 34, 1, 54, 2, 0, 65, 184, 133, 193, 0, 65, 184, 133, 193, 0, 40, 2, 0, 34, 0, 32, 5, 106, 34, 2, 54, 2, 0, 32, 2, 32, 1, 65, 1, 114, 54, 2, 4, 32, 0, 32, 5, 65, 3, 114, 54, 2, 4, 32, 0, 65, 8, 106, 11, 133, 3, 1, 4, 127, 2, 64, 2, 64, 32, 1, 65, 128, 2, 79, 4, 64, 32, 0, 65, 24, 106, 40, 2, 0, 33, 4, 2, 64, 2, 64, 32, 0, 32, 0, 40, 2, 12, 34, 2, 70, 4, 64, 32, 0, 65, 20, 65, 16, 32, 0, 65, 20, 106, 34, 2, 40, 2, 0, 34, 3, 27, 106, 40, 2, 0, 34, 1, 13, 1, 65, 0, 33, 2, 12, 2, 11, 32, 0, 40, 2, 8, 34, 1, 32, 2, 54, 2, 12, 32, 2, 32, 1, 54, 2, 8, 12, 1, 11, 32, 2, 32, 0, 65, 16, 106, 32, 3, 27, 33, 3, 3, 64, 32, 3, 33, 5, 32, 1, 34, 2, 65, 20, 106, 34, 3, 40, 2, 0, 34, 1, 69, 4, 64, 32, 2, 65, 16, 106, 33, 3, 32, 2, 40, 2, 16, 33, 1, 11, 32, 1, 13, 0, 11, 32, 5, 65, 0, 54, 2, 0, 11, 32, 4, 69, 13, 2, 32, 0, 32, 0, 65, 28, 106, 40, 2, 0, 65, 2, 116, 65, 172, 132, 193, 0, 106, 34, 1, 40, 2, 0, 71, 4, 64, 32, 4, 65, 16, 65, 20, 32, 4, 40, 2, 16, 32, 0, 70, 27, 106, 32, 2, 54, 2, 0, 32, 2, 69, 13, 3, 12, 2, 11, 32, 1, 32, 2, 54, 2, 0, 32, 2, 13, 1, 65, 160, 130, 193, 0, 65, 160, 130, 193, 0, 40, 2, 0, 65, 126, 32, 0, 40, 2, 28, 119, 113, 54, 2, 0, 15, 11, 32, 0, 65, 12, 106, 40, 2, 0, 34, 2, 32, 0, 65, 8, 106, 40, 2, 0, 34, 0, 71, 4, 64, 32, 0, 32, 2, 54, 2, 12, 32, 2, 32, 0, 54, 2, 8, 15, 11, 65, 156, 130, 193, 0, 65, 156, 130, 193, 0, 40, 2, 0, 65, 126, 32, 1, 65, 3, 118, 119, 113, 54, 2, 0, 12, 1, 11, 32, 2, 32, 4, 54, 2, 24, 32, 0, 40, 2, 16, 34, 1, 4, 64, 32, 2, 32, 1, 54, 2, 16, 32, 1, 32, 2, 54, 2, 24, 11, 32, 0, 65, 20, 106, 40, 2, 0, 34, 0, 69, 13, 0, 32, 2, 65, 20, 106, 32, 0, 54, 2, 0, 32, 0, 32, 2, 54, 2, 24, 11, 11, 147, 5, 1, 7, 127, 2, 64, 32, 1, 65, 204, 255, 123, 75, 13, 0, 65, 16, 32, 1, 65, 11, 106, 65, 120, 113, 32, 1, 65, 11, 73, 27, 33, 2, 32, 0, 65, 124, 106, 34, 5, 40, 2, 0, 34, 6, 65, 120, 113, 33, 3, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 6, 65, 3, 113, 4, 64, 32, 0, 65, 120, 106, 34, 7, 32, 3, 106, 33, 8, 32, 3, 32, 2, 79, 13, 1, 65, 184, 133, 193, 0, 40, 2, 0, 32, 8, 70, 13, 2, 65, 180, 133, 193, 0, 40, 2, 0, 32, 8, 70, 13, 3, 32, 8, 65, 4, 106, 40, 2, 0, 34, 6, 65, 2, 113, 13, 6, 32, 6, 65, 120, 113, 34, 6, 32, 3, 106, 34, 3, 32, 2, 79, 13, 4, 12, 6, 11, 32, 2, 65, 128, 2, 73, 32, 3, 32, 2, 65, 4, 114, 73, 114, 32, 3, 32, 2, 107, 65, 129, 128, 8, 79, 114, 13, 5, 12, 4, 11, 32, 3, 32, 2, 107, 34, 1, 65, 16, 73, 13, 3, 32, 5, 32, 2, 32, 6, 65, 1, 113, 114, 65, 2, 114, 54, 2, 0, 32, 2, 32, 7, 106, 34, 4, 32, 1, 65, 3, 114, 54, 2, 4, 32, 8, 32, 8, 40, 2, 4, 65, 1, 114, 54, 2, 4, 32, 4, 32, 1, 16, 203, 1, 12, 3, 11, 65, 176, 133, 193, 0, 40, 2, 0, 32, 3, 106, 34, 3, 32, 2, 77, 13, 3, 32, 5, 32, 2, 32, 6, 65, 1, 113, 114, 65, 2, 114, 54, 2, 0, 32, 2, 32, 7, 106, 34, 1, 32, 3, 32, 2, 107, 34, 4, 65, 1, 114, 54, 2, 4, 65, 176, 133, 193, 0, 32, 4, 54, 2, 0, 65, 184, 133, 193, 0, 32, 1, 54, 2, 0, 12, 2, 11, 65, 172, 133, 193, 0, 40, 2, 0, 32, 3, 106, 34, 3, 32, 2, 73, 13, 2, 2, 64, 32, 3, 32, 2, 107, 34, 1, 65, 15, 77, 4, 64, 32, 5, 32, 6, 65, 1, 113, 32, 3, 114, 65, 2, 114, 54, 2, 0, 32, 3, 32, 7, 106, 34, 1, 32, 1, 40, 2, 4, 65, 1, 114, 54, 2, 4, 65, 0, 33, 1, 12, 1, 11, 32, 5, 32, 2, 32, 6, 65, 1, 113, 114, 65, 2, 114, 54, 2, 0, 32, 2, 32, 7, 106, 34, 4, 32, 1, 65, 1, 114, 54, 2, 4, 32, 3, 32, 7, 106, 34, 2, 32, 1, 54, 2, 0, 32, 2, 32, 2, 40, 2, 4, 65, 126, 113, 54, 2, 4, 11, 65, 180, 133, 193, 0, 32, 4, 54, 2, 0, 65, 172, 133, 193, 0, 32, 1, 54, 2, 0, 12, 1, 11, 32, 8, 32, 6, 16, 201, 1, 32, 3, 32, 2, 107, 34, 1, 65, 16, 79, 4, 64, 32, 5, 32, 2, 32, 5, 40, 2, 0, 65, 1, 113, 114, 65, 2, 114, 54, 2, 0, 32, 2, 32, 7, 106, 34, 4, 32, 1, 65, 3, 114, 54, 2, 4, 32, 3, 32, 7, 106, 34, 2, 32, 2, 40, 2, 4, 65, 1, 114, 54, 2, 4, 32, 4, 32, 1, 16, 203, 1, 12, 1, 11, 32, 5, 32, 3, 32, 5, 40, 2, 0, 65, 1, 113, 114, 65, 2, 114, 54, 2, 0, 32, 3, 32, 7, 106, 34, 1, 32, 1, 40, 2, 4, 65, 1, 114, 54, 2, 4, 11, 32, 0, 33, 4, 12, 1, 11, 32, 1, 16, 200, 1, 34, 2, 69, 13, 0, 32, 2, 32, 0, 32, 1, 32, 5, 40, 2, 0, 34, 4, 65, 120, 113, 65, 4, 65, 8, 32, 4, 65, 3, 113, 27, 107, 34, 4, 32, 4, 32, 1, 75, 27, 16, 154, 2, 32, 0, 16, 204, 1, 15, 11, 32, 4, 11, 191, 6, 1, 4, 127, 32, 0, 32, 1, 106, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 4, 106, 40, 2, 0, 34, 3, 65, 1, 113, 13, 0, 32, 3, 65, 3, 113, 69, 13, 1, 32, 0, 40, 2, 0, 34, 3, 32, 1, 106, 33, 1, 32, 0, 32, 3, 107, 34, 0, 65, 180, 133, 193, 0, 40, 2, 0, 70, 4, 64, 32, 2, 40, 2, 4, 65, 3, 113, 65, 3, 71, 13, 1, 65, 172, 133, 193, 0, 32, 1, 54, 2, 0, 32, 2, 32, 2, 40, 2, 4, 65, 126, 113, 54, 2, 4, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 32, 2, 32, 1, 54, 2, 0, 15, 11, 32, 0, 32, 3, 16, 201, 1, 11, 2, 64, 32, 2, 65, 4, 106, 40, 2, 0, 34, 3, 65, 2, 113, 4, 64, 32, 2, 65, 4, 106, 32, 3, 65, 126, 113, 54, 2, 0, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 1, 54, 2, 0, 12, 1, 11, 2, 64, 32, 2, 65, 184, 133, 193, 0, 40, 2, 0, 71, 4, 64, 65, 180, 133, 193, 0, 40, 2, 0, 32, 2, 70, 13, 1, 32, 2, 32, 3, 65, 120, 113, 34, 2, 16, 201, 1, 32, 0, 32, 1, 32, 2, 106, 34, 1, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 1, 54, 2, 0, 32, 0, 65, 180, 133, 193, 0, 40, 2, 0, 71, 13, 2, 65, 172, 133, 193, 0, 32, 1, 54, 2, 0, 15, 11, 65, 184, 133, 193, 0, 32, 0, 54, 2, 0, 65, 176, 133, 193, 0, 65, 176, 133, 193, 0, 40, 2, 0, 32, 1, 106, 34, 1, 54, 2, 0, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 32, 0, 65, 180, 133, 193, 0, 40, 2, 0, 71, 13, 2, 65, 172, 133, 193, 0, 65, 0, 54, 2, 0, 65, 180, 133, 193, 0, 65, 0, 54, 2, 0, 15, 11, 65, 180, 133, 193, 0, 32, 0, 54, 2, 0, 65, 172, 133, 193, 0, 65, 172, 133, 193, 0, 40, 2, 0, 32, 1, 106, 34, 1, 54, 2, 0, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 1, 54, 2, 0, 15, 11, 32, 1, 65, 128, 2, 73, 13, 3, 32, 0, 66, 0, 55, 2, 16, 32, 0, 65, 28, 106, 2, 127, 65, 0, 32, 1, 65, 8, 118, 34, 2, 69, 13, 0, 26, 65, 31, 32, 1, 65, 255, 255, 255, 7, 75, 13, 0, 26, 32, 1, 65, 6, 32, 2, 103, 34, 2, 107, 65, 31, 113, 118, 65, 1, 113, 32, 2, 65, 1, 116, 107, 65, 62, 106, 11, 34, 3, 54, 2, 0, 32, 3, 65, 2, 116, 65, 172, 132, 193, 0, 106, 33, 2, 2, 64, 2, 64, 65, 160, 130, 193, 0, 40, 2, 0, 34, 4, 65, 1, 32, 3, 65, 31, 113, 116, 34, 5, 113, 4, 64, 32, 2, 40, 2, 0, 34, 2, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 1, 71, 13, 1, 32, 2, 33, 3, 12, 2, 11, 65, 160, 130, 193, 0, 32, 4, 32, 5, 114, 54, 2, 0, 32, 2, 32, 0, 54, 2, 0, 12, 4, 11, 32, 1, 65, 0, 65, 25, 32, 3, 65, 1, 118, 107, 65, 31, 113, 32, 3, 65, 31, 70, 27, 116, 33, 4, 3, 64, 32, 2, 32, 4, 65, 29, 118, 65, 4, 113, 106, 65, 16, 106, 34, 5, 40, 2, 0, 34, 3, 69, 13, 3, 32, 4, 65, 1, 116, 33, 4, 32, 3, 34, 2, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 1, 71, 13, 0, 11, 11, 32, 3, 40, 2, 8, 34, 1, 32, 0, 54, 2, 12, 32, 3, 32, 0, 54, 2, 8, 32, 0, 65, 24, 106, 65, 0, 54, 2, 0, 32, 0, 32, 3, 54, 2, 12, 32, 0, 32, 1, 54, 2, 8, 11, 15, 11, 32, 5, 32, 0, 54, 2, 0, 11, 32, 0, 65, 24, 106, 32, 2, 54, 2, 0, 32, 0, 32, 0, 54, 2, 12, 32, 0, 32, 0, 54, 2, 8, 15, 11, 32, 1, 65, 3, 118, 34, 2, 65, 3, 116, 65, 164, 130, 193, 0, 106, 33, 1, 2, 127, 65, 156, 130, 193, 0, 40, 2, 0, 34, 3, 65, 1, 32, 2, 116, 34, 2, 113, 4, 64, 32, 1, 40, 2, 8, 12, 1, 11, 65, 156, 130, 193, 0, 32, 2, 32, 3, 114, 54, 2, 0, 32, 1, 11, 33, 2, 32, 1, 32, 0, 54, 2, 8, 32, 2, 32, 0, 54, 2, 12, 32, 0, 32, 1, 54, 2, 12, 32, 0, 32, 2, 54, 2, 8, 11, 222, 8, 1, 5, 127, 32, 0, 65, 120, 106, 34, 1, 32, 0, 65, 124, 106, 40, 2, 0, 34, 3, 65, 120, 113, 34, 0, 106, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 1, 113, 13, 0, 32, 3, 65, 3, 113, 69, 13, 1, 32, 1, 40, 2, 0, 34, 3, 32, 0, 106, 33, 0, 32, 1, 32, 3, 107, 34, 1, 65, 180, 133, 193, 0, 40, 2, 0, 70, 4, 64, 32, 2, 40, 2, 4, 65, 3, 113, 65, 3, 71, 13, 1, 65, 172, 133, 193, 0, 32, 0, 54, 2, 0, 32, 2, 32, 2, 40, 2, 4, 65, 126, 113, 54, 2, 4, 32, 1, 32, 0, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 0, 54, 2, 0, 15, 11, 32, 1, 32, 3, 16, 201, 1, 11, 2, 64, 32, 2, 65, 4, 106, 34, 4, 40, 2, 0, 34, 3, 65, 2, 113, 4, 64, 32, 4, 32, 3, 65, 126, 113, 54, 2, 0, 32, 1, 32, 0, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 0, 54, 2, 0, 12, 1, 11, 2, 64, 32, 2, 65, 184, 133, 193, 0, 40, 2, 0, 71, 4, 64, 65, 180, 133, 193, 0, 40, 2, 0, 32, 2, 70, 13, 1, 32, 2, 32, 3, 65, 120, 113, 34, 2, 16, 201, 1, 32, 1, 32, 0, 32, 2, 106, 34, 0, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 0, 54, 2, 0, 32, 1, 65, 180, 133, 193, 0, 40, 2, 0, 71, 13, 2, 65, 172, 133, 193, 0, 32, 0, 54, 2, 0, 15, 11, 65, 184, 133, 193, 0, 32, 1, 54, 2, 0, 65, 176, 133, 193, 0, 65, 176, 133, 193, 0, 40, 2, 0, 32, 0, 106, 34, 0, 54, 2, 0, 32, 1, 32, 0, 65, 1, 114, 54, 2, 4, 65, 180, 133, 193, 0, 40, 2, 0, 32, 1, 70, 4, 64, 65, 172, 133, 193, 0, 65, 0, 54, 2, 0, 65, 180, 133, 193, 0, 65, 0, 54, 2, 0, 11, 65, 212, 133, 193, 0, 40, 2, 0, 34, 2, 32, 0, 79, 13, 2, 65, 184, 133, 193, 0, 40, 2, 0, 34, 0, 69, 13, 2, 2, 64, 65, 176, 133, 193, 0, 40, 2, 0, 34, 3, 65, 41, 73, 13, 0, 65, 196, 133, 193, 0, 33, 1, 3, 64, 32, 1, 40, 2, 0, 34, 4, 32, 0, 77, 4, 64, 32, 4, 32, 1, 40, 2, 4, 106, 32, 0, 75, 13, 2, 11, 32, 1, 40, 2, 8, 34, 1, 13, 0, 11, 11, 65, 220, 133, 193, 0, 2, 127, 65, 255, 31, 65, 204, 133, 193, 0, 40, 2, 0, 34, 0, 69, 13, 0, 26, 65, 0, 33, 1, 3, 64, 32, 1, 65, 1, 106, 33, 1, 32, 0, 40, 2, 8, 34, 0, 13, 0, 11, 32, 1, 65, 255, 31, 32, 1, 65, 255, 31, 75, 27, 11, 54, 2, 0, 32, 3, 32, 2, 77, 13, 2, 65, 212, 133, 193, 0, 65, 127, 54, 2, 0, 15, 11, 65, 180, 133, 193, 0, 32, 1, 54, 2, 0, 65, 172, 133, 193, 0, 65, 172, 133, 193, 0, 40, 2, 0, 32, 0, 106, 34, 0, 54, 2, 0, 32, 1, 32, 0, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 0, 54, 2, 0, 15, 11, 32, 0, 65, 128, 2, 73, 13, 1, 32, 1, 66, 0, 55, 2, 16, 32, 1, 65, 28, 106, 2, 127, 65, 0, 32, 0, 65, 8, 118, 34, 2, 69, 13, 0, 26, 65, 31, 32, 0, 65, 255, 255, 255, 7, 75, 13, 0, 26, 32, 0, 65, 6, 32, 2, 103, 34, 2, 107, 65, 31, 113, 118, 65, 1, 113, 32, 2, 65, 1, 116, 107, 65, 62, 106, 11, 34, 3, 54, 2, 0, 32, 3, 65, 2, 116, 65, 172, 132, 193, 0, 106, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 65, 160, 130, 193, 0, 40, 2, 0, 34, 4, 65, 1, 32, 3, 65, 31, 113, 116, 34, 5, 113, 4, 64, 32, 2, 40, 2, 0, 34, 2, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 0, 71, 13, 1, 32, 2, 33, 3, 12, 2, 11, 65, 160, 130, 193, 0, 32, 4, 32, 5, 114, 54, 2, 0, 32, 2, 32, 1, 54, 2, 0, 12, 3, 11, 32, 0, 65, 0, 65, 25, 32, 3, 65, 1, 118, 107, 65, 31, 113, 32, 3, 65, 31, 70, 27, 116, 33, 4, 3, 64, 32, 2, 32, 4, 65, 29, 118, 65, 4, 113, 106, 65, 16, 106, 34, 5, 40, 2, 0, 34, 3, 69, 13, 2, 32, 4, 65, 1, 116, 33, 4, 32, 3, 34, 2, 65, 4, 106, 40, 2, 0, 65, 120, 113, 32, 0, 71, 13, 0, 11, 11, 32, 3, 40, 2, 8, 34, 0, 32, 1, 54, 2, 12, 32, 3, 32, 1, 54, 2, 8, 32, 1, 65, 24, 106, 65, 0, 54, 2, 0, 32, 1, 32, 3, 54, 2, 12, 32, 1, 32, 0, 54, 2, 8, 12, 2, 11, 32, 5, 32, 1, 54, 2, 0, 11, 32, 1, 65, 24, 106, 32, 2, 54, 2, 0, 32, 1, 32, 1, 54, 2, 12, 32, 1, 32, 1, 54, 2, 8, 11, 65, 220, 133, 193, 0, 65, 220, 133, 193, 0, 40, 2, 0, 65, 127, 106, 34, 0, 54, 2, 0, 32, 0, 69, 13, 2, 11, 15, 11, 32, 0, 65, 3, 118, 34, 2, 65, 3, 116, 65, 164, 130, 193, 0, 106, 33, 0, 2, 127, 65, 156, 130, 193, 0, 40, 2, 0, 34, 3, 65, 1, 32, 2, 116, 34, 2, 113, 4, 64, 32, 0, 40, 2, 8, 12, 1, 11, 65, 156, 130, 193, 0, 32, 2, 32, 3, 114, 54, 2, 0, 32, 0, 11, 33, 2, 32, 0, 32, 1, 54, 2, 8, 32, 2, 32, 1, 54, 2, 12, 32, 1, 32, 0, 54, 2, 12, 32, 1, 32, 2, 54, 2, 8, 15, 11, 65, 204, 133, 193, 0, 40, 2, 0, 34, 0, 69, 4, 64, 65, 220, 133, 193, 0, 65, 255, 31, 54, 2, 0, 15, 11, 65, 0, 33, 1, 3, 64, 32, 1, 65, 1, 106, 33, 1, 32, 0, 40, 2, 8, 34, 0, 13, 0, 11, 65, 220, 133, 193, 0, 32, 1, 65, 255, 31, 32, 1, 65, 255, 31, 75, 27, 54, 2, 0, 11, 235, 2, 1, 5, 127, 2, 64, 65, 205, 255, 123, 32, 0, 65, 16, 32, 0, 65, 16, 75, 27, 34, 0, 107, 32, 1, 77, 13, 0, 32, 0, 65, 16, 32, 1, 65, 11, 106, 65, 120, 113, 32, 1, 65, 11, 73, 27, 34, 4, 106, 65, 12, 106, 16, 200, 1, 34, 2, 69, 13, 0, 32, 2, 65, 120, 106, 33, 1, 2, 64, 32, 0, 65, 127, 106, 34, 3, 32, 2, 113, 69, 4, 64, 32, 1, 33, 0, 12, 1, 11, 32, 2, 65, 124, 106, 34, 5, 40, 2, 0, 34, 6, 65, 120, 113, 32, 2, 32, 3, 106, 65, 0, 32, 0, 107, 113, 65, 120, 106, 34, 2, 32, 0, 32, 2, 106, 32, 2, 32, 1, 107, 65, 16, 75, 27, 34, 0, 32, 1, 107, 34, 2, 107, 33, 3, 32, 6, 65, 3, 113, 4, 64, 32, 0, 32, 3, 32, 0, 40, 2, 4, 65, 1, 113, 114, 65, 2, 114, 54, 2, 4, 32, 0, 32, 3, 106, 34, 3, 32, 3, 40, 2, 4, 65, 1, 114, 54, 2, 4, 32, 5, 32, 2, 32, 5, 40, 2, 0, 65, 1, 113, 114, 65, 2, 114, 54, 2, 0, 32, 0, 32, 0, 40, 2, 4, 65, 1, 114, 54, 2, 4, 32, 1, 32, 2, 16, 203, 1, 12, 1, 11, 32, 1, 40, 2, 0, 33, 1, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 1, 32, 2, 106, 54, 2, 0, 11, 2, 64, 32, 0, 65, 4, 106, 40, 2, 0, 34, 1, 65, 3, 113, 69, 13, 0, 32, 1, 65, 120, 113, 34, 2, 32, 4, 65, 16, 106, 77, 13, 0, 32, 0, 65, 4, 106, 32, 4, 32, 1, 65, 1, 113, 114, 65, 2, 114, 54, 2, 0, 32, 0, 32, 4, 106, 34, 1, 32, 2, 32, 4, 107, 34, 4, 65, 3, 114, 54, 2, 4, 32, 0, 32, 2, 106, 34, 2, 32, 2, 40, 2, 4, 65, 1, 114, 54, 2, 4, 32, 1, 32, 4, 16, 203, 1, 11, 32, 0, 65, 8, 106, 33, 3, 11, 32, 3, 11, 97, 1, 2, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 34, 0, 40, 2, 8, 33, 3, 32, 0, 40, 2, 0, 33, 0, 32, 2, 32, 1, 16, 130, 2, 32, 3, 4, 64, 3, 64, 32, 2, 32, 0, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 224, 223, 192, 0, 16, 243, 1, 32, 0, 65, 1, 106, 33, 0, 32, 3, 65, 127, 106, 34, 3, 13, 0, 11, 11, 32, 2, 16, 244, 1, 32, 2, 65, 16, 106, 36, 0, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 153, 2, 11, 14, 0, 32, 0, 40, 2, 0, 32, 1, 16, 209, 1, 65, 0, 11, 184, 2, 1, 3, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 64, 32, 0, 2, 127, 2, 64, 32, 1, 65, 128, 1, 79, 4, 64, 32, 2, 65, 0, 54, 2, 12, 32, 1, 65, 128, 16, 73, 13, 1, 32, 1, 65, 128, 128, 4, 73, 4, 64, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 3, 12, 3, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 15, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 4, 12, 2, 11, 32, 0, 40, 2, 8, 34, 3, 32, 0, 65, 4, 106, 40, 2, 0, 70, 4, 127, 32, 0, 65, 1, 16, 6, 32, 0, 40, 2, 8, 5, 32, 3, 11, 32, 0, 40, 2, 0, 106, 32, 1, 58, 0, 0, 32, 0, 32, 0, 40, 2, 8, 65, 1, 106, 54, 2, 8, 12, 2, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 12, 65, 2, 11, 34, 1, 16, 6, 32, 0, 65, 8, 106, 34, 3, 40, 2, 0, 34, 4, 32, 0, 40, 2, 0, 106, 32, 2, 65, 12, 106, 32, 1, 16, 154, 2, 26, 32, 3, 32, 1, 32, 4, 106, 54, 2, 0, 11, 32, 2, 65, 16, 106, 36, 0, 11, 90, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 200, 223, 192, 0, 32, 2, 65, 8, 106, 16, 227, 1, 32, 2, 65, 32, 106, 36, 0, 11, 26, 0, 32, 0, 32, 1, 65, 128, 130, 193, 0, 40, 2, 0, 34, 0, 65, 194, 0, 32, 0, 27, 17, 1, 0, 0, 11, 203, 2, 1, 6, 127, 35, 0, 65, 32, 107, 34, 3, 36, 0, 32, 1, 40, 2, 0, 33, 7, 2, 64, 32, 1, 40, 2, 4, 34, 6, 65, 3, 116, 34, 5, 69, 4, 64, 12, 1, 11, 32, 7, 65, 4, 106, 33, 2, 3, 64, 32, 2, 40, 2, 0, 32, 4, 106, 33, 4, 32, 2, 65, 8, 106, 33, 2, 32, 5, 65, 120, 106, 34, 5, 13, 0, 11, 11, 2, 64, 2, 64, 32, 1, 65, 20, 106, 40, 2, 0, 69, 4, 64, 32, 4, 33, 2, 12, 1, 11, 32, 6, 69, 4, 64, 65, 0, 65, 0, 65, 184, 224, 192, 0, 16, 218, 1, 0, 11, 65, 0, 33, 5, 65, 1, 33, 6, 32, 4, 65, 15, 77, 4, 64, 32, 7, 65, 4, 106, 40, 2, 0, 69, 13, 2, 11, 32, 4, 32, 4, 106, 34, 2, 32, 4, 73, 13, 1, 11, 32, 2, 65, 127, 74, 4, 64, 32, 2, 69, 4, 64, 65, 0, 33, 5, 65, 1, 33, 6, 12, 2, 11, 32, 2, 33, 5, 32, 2, 65, 1, 16, 73, 34, 6, 13, 1, 32, 2, 16, 29, 0, 11, 16, 28, 0, 11, 32, 0, 65, 0, 54, 2, 8, 32, 0, 32, 6, 54, 2, 0, 32, 0, 32, 5, 54, 2, 4, 32, 3, 32, 0, 54, 2, 4, 32, 3, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 1, 41, 2, 0, 55, 3, 8, 32, 3, 65, 4, 106, 65, 200, 223, 192, 0, 32, 3, 65, 8, 106, 16, 227, 1, 69, 4, 64, 32, 3, 65, 32, 106, 36, 0, 15, 11, 65, 216, 224, 192, 0, 65, 51, 32, 3, 65, 8, 106, 65, 200, 224, 192, 0, 65, 160, 225, 192, 0, 16, 235, 1, 0, 11, 18, 0, 65, 199, 225, 192, 0, 65, 17, 65, 216, 225, 192, 0, 16, 219, 1, 0, 11, 148, 4, 1, 4, 127, 35, 0, 65, 64, 106, 34, 3, 36, 0, 32, 3, 65, 8, 106, 32, 1, 32, 2, 16, 137, 2, 32, 3, 32, 3, 40, 2, 8, 32, 3, 40, 2, 12, 16, 137, 2, 32, 3, 32, 3, 41, 3, 0, 55, 3, 16, 32, 3, 65, 48, 106, 32, 3, 65, 16, 106, 16, 138, 2, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 48, 34, 4, 69, 4, 64, 32, 0, 65, 200, 224, 192, 0, 54, 2, 4, 65, 0, 33, 2, 12, 1, 11, 32, 2, 32, 3, 40, 2, 52, 34, 1, 71, 4, 64, 32, 2, 65, 127, 76, 13, 3, 32, 3, 65, 60, 106, 40, 2, 0, 2, 64, 32, 2, 69, 4, 64, 65, 1, 33, 5, 65, 0, 33, 2, 12, 1, 11, 32, 2, 65, 1, 16, 73, 34, 5, 69, 13, 5, 11, 32, 3, 65, 0, 54, 2, 32, 32, 3, 32, 5, 54, 2, 24, 32, 3, 32, 2, 54, 2, 28, 32, 3, 65, 24, 106, 32, 1, 16, 6, 32, 3, 40, 2, 32, 34, 2, 32, 3, 40, 2, 24, 106, 32, 4, 32, 1, 16, 154, 2, 26, 32, 3, 32, 1, 32, 2, 106, 54, 2, 32, 4, 64, 32, 3, 65, 24, 106, 65, 3, 16, 6, 32, 3, 40, 2, 32, 34, 1, 32, 3, 40, 2, 24, 106, 34, 2, 65, 232, 225, 192, 0, 47, 0, 0, 59, 0, 0, 32, 2, 65, 2, 106, 65, 234, 225, 192, 0, 45, 0, 0, 58, 0, 0, 32, 3, 32, 1, 65, 3, 106, 54, 2, 32, 11, 32, 3, 32, 3, 41, 3, 16, 55, 3, 40, 32, 3, 65, 48, 106, 32, 3, 65, 40, 106, 16, 138, 2, 32, 3, 40, 2, 48, 34, 1, 4, 64, 3, 64, 32, 3, 40, 2, 60, 32, 3, 65, 24, 106, 32, 3, 40, 2, 52, 34, 2, 16, 6, 32, 3, 40, 2, 32, 34, 5, 32, 3, 40, 2, 24, 106, 32, 1, 32, 2, 16, 154, 2, 26, 32, 3, 32, 2, 32, 5, 106, 54, 2, 32, 4, 64, 32, 3, 65, 24, 106, 65, 3, 16, 6, 32, 3, 40, 2, 32, 34, 1, 32, 3, 40, 2, 24, 106, 34, 2, 65, 232, 225, 192, 0, 47, 0, 0, 59, 0, 0, 32, 2, 65, 2, 106, 65, 234, 225, 192, 0, 45, 0, 0, 58, 0, 0, 32, 3, 32, 1, 65, 3, 106, 54, 2, 32, 11, 32, 3, 65, 48, 106, 32, 3, 65, 40, 106, 16, 138, 2, 32, 3, 40, 2, 48, 34, 1, 13, 0, 11, 11, 32, 0, 32, 3, 41, 3, 24, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 65, 32, 106, 40, 2, 0, 54, 2, 0, 12, 2, 11, 32, 0, 32, 4, 54, 2, 4, 11, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 54, 2, 0, 11, 32, 3, 65, 64, 107, 36, 0, 15, 11, 16, 28, 0, 11, 32, 2, 16, 29, 0, 11, 157, 1, 1, 4, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 64, 32, 1, 40, 2, 8, 34, 3, 65, 127, 74, 4, 64, 32, 1, 40, 2, 0, 33, 5, 2, 64, 32, 3, 69, 4, 64, 65, 1, 33, 4, 65, 0, 33, 1, 12, 1, 11, 32, 3, 33, 1, 32, 3, 65, 1, 16, 73, 34, 4, 69, 13, 2, 11, 32, 2, 65, 0, 54, 2, 8, 32, 2, 32, 4, 54, 2, 0, 32, 2, 32, 1, 54, 2, 4, 32, 2, 32, 3, 16, 6, 32, 2, 40, 2, 8, 34, 1, 32, 2, 40, 2, 0, 106, 32, 5, 32, 3, 16, 154, 2, 26, 32, 0, 65, 8, 106, 32, 1, 32, 3, 106, 54, 2, 0, 32, 0, 32, 2, 41, 3, 0, 55, 2, 0, 32, 2, 65, 16, 106, 36, 0, 15, 11, 16, 28, 0, 11, 32, 3, 16, 29, 0, 11, 100, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 65, 235, 225, 192, 0, 65, 13, 16, 128, 2, 32, 2, 32, 0, 54, 2, 12, 32, 2, 65, 248, 225, 192, 0, 65, 5, 32, 2, 65, 12, 106, 65, 128, 226, 192, 0, 16, 232, 1, 32, 2, 32, 0, 65, 12, 106, 54, 2, 12, 32, 2, 65, 144, 226, 192, 0, 65, 5, 32, 2, 65, 12, 106, 65, 152, 226, 192, 0, 16, 232, 1, 32, 2, 16, 239, 1, 32, 2, 65, 16, 106, 36, 0, 11, 14, 0, 32, 0, 40, 2, 0, 26, 3, 64, 12, 0, 11, 0, 11, 109, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 1, 54, 2, 4, 32, 3, 32, 0, 54, 2, 0, 32, 3, 65, 28, 106, 65, 2, 54, 2, 0, 32, 3, 65, 44, 106, 65, 51, 54, 2, 0, 32, 3, 66, 2, 55, 2, 12, 32, 3, 65, 144, 229, 192, 0, 54, 2, 8, 32, 3, 65, 51, 54, 2, 36, 32, 3, 32, 3, 65, 32, 106, 54, 2, 24, 32, 3, 32, 3, 54, 2, 40, 32, 3, 32, 3, 65, 4, 106, 54, 2, 32, 32, 3, 65, 8, 106, 32, 2, 16, 224, 1, 0, 11, 72, 1, 1, 127, 35, 0, 65, 32, 107, 34, 3, 36, 0, 32, 3, 65, 20, 106, 65, 0, 54, 2, 0, 32, 3, 65, 168, 226, 192, 0, 54, 2, 16, 32, 3, 66, 1, 55, 2, 4, 32, 3, 32, 1, 54, 2, 28, 32, 3, 32, 0, 54, 2, 24, 32, 3, 32, 3, 65, 24, 106, 54, 2, 0, 32, 3, 32, 2, 16, 224, 1, 0, 11, 109, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 1, 54, 2, 4, 32, 3, 32, 0, 54, 2, 0, 32, 3, 65, 28, 106, 65, 2, 54, 2, 0, 32, 3, 65, 44, 106, 65, 51, 54, 2, 0, 32, 3, 66, 2, 55, 2, 12, 32, 3, 65, 248, 232, 192, 0, 54, 2, 8, 32, 3, 65, 51, 54, 2, 36, 32, 3, 32, 3, 65, 32, 106, 54, 2, 24, 32, 3, 32, 3, 65, 4, 106, 54, 2, 40, 32, 3, 32, 3, 54, 2, 32, 32, 3, 65, 8, 106, 32, 2, 16, 224, 1, 0, 11, 109, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 1, 54, 2, 4, 32, 3, 32, 0, 54, 2, 0, 32, 3, 65, 28, 106, 65, 2, 54, 2, 0, 32, 3, 65, 44, 106, 65, 51, 54, 2, 0, 32, 3, 66, 2, 55, 2, 12, 32, 3, 65, 172, 233, 192, 0, 54, 2, 8, 32, 3, 65, 51, 54, 2, 36, 32, 3, 32, 3, 65, 32, 106, 54, 2, 24, 32, 3, 32, 3, 65, 4, 106, 54, 2, 40, 32, 3, 32, 3, 54, 2, 32, 32, 3, 65, 8, 106, 32, 2, 16, 224, 1, 0, 11, 194, 6, 1, 12, 127, 32, 0, 40, 2, 16, 33, 3, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 8, 34, 13, 65, 1, 71, 4, 64, 32, 3, 65, 1, 70, 13, 1, 32, 0, 40, 2, 24, 32, 1, 32, 2, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 33, 3, 12, 3, 11, 32, 3, 65, 1, 71, 13, 1, 11, 2, 64, 32, 2, 69, 4, 64, 65, 0, 33, 2, 12, 1, 11, 32, 1, 32, 2, 106, 33, 7, 32, 0, 65, 20, 106, 40, 2, 0, 65, 1, 106, 33, 10, 32, 1, 34, 3, 33, 11, 3, 64, 32, 3, 65, 1, 106, 33, 5, 2, 64, 2, 127, 32, 3, 44, 0, 0, 34, 4, 65, 127, 76, 4, 64, 2, 127, 32, 5, 32, 7, 70, 4, 64, 65, 0, 33, 8, 32, 7, 12, 1, 11, 32, 3, 45, 0, 1, 65, 63, 113, 33, 8, 32, 3, 65, 2, 106, 34, 5, 11, 33, 3, 32, 4, 65, 31, 113, 33, 9, 32, 8, 32, 9, 65, 6, 116, 114, 32, 4, 65, 255, 1, 113, 34, 14, 65, 223, 1, 77, 13, 1, 26, 2, 127, 32, 3, 32, 7, 70, 4, 64, 65, 0, 33, 12, 32, 7, 12, 1, 11, 32, 3, 45, 0, 0, 65, 63, 113, 33, 12, 32, 3, 65, 1, 106, 34, 5, 11, 33, 4, 32, 12, 32, 8, 65, 6, 116, 114, 33, 8, 32, 8, 32, 9, 65, 12, 116, 114, 32, 14, 65, 240, 1, 73, 13, 1, 26, 2, 127, 32, 4, 32, 7, 70, 4, 64, 32, 5, 33, 3, 65, 0, 12, 1, 11, 32, 4, 65, 1, 106, 33, 3, 32, 4, 45, 0, 0, 65, 63, 113, 11, 32, 9, 65, 18, 116, 65, 128, 128, 240, 0, 113, 32, 8, 65, 6, 116, 114, 114, 34, 4, 65, 128, 128, 196, 0, 71, 13, 2, 12, 4, 11, 32, 4, 65, 255, 1, 113, 11, 33, 4, 32, 5, 33, 3, 11, 32, 10, 65, 127, 106, 34, 10, 4, 64, 32, 6, 32, 11, 107, 32, 3, 106, 33, 6, 32, 3, 33, 11, 32, 3, 32, 7, 71, 13, 1, 12, 2, 11, 11, 32, 4, 65, 128, 128, 196, 0, 70, 13, 0, 2, 64, 32, 6, 69, 32, 2, 32, 6, 70, 114, 69, 4, 64, 65, 0, 33, 3, 32, 6, 32, 2, 79, 13, 1, 32, 1, 32, 6, 106, 44, 0, 0, 65, 64, 72, 13, 1, 11, 32, 1, 33, 3, 11, 32, 6, 32, 2, 32, 3, 27, 33, 2, 32, 3, 32, 1, 32, 3, 27, 33, 1, 11, 32, 13, 65, 1, 70, 13, 0, 12, 2, 11, 65, 0, 33, 5, 32, 2, 4, 64, 32, 2, 33, 4, 32, 1, 33, 3, 3, 64, 32, 5, 32, 3, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 70, 106, 33, 5, 32, 3, 65, 1, 106, 33, 3, 32, 4, 65, 127, 106, 34, 4, 13, 0, 11, 11, 32, 2, 32, 5, 107, 32, 0, 40, 2, 12, 34, 7, 79, 13, 1, 65, 0, 33, 6, 65, 0, 33, 5, 32, 2, 4, 64, 32, 2, 33, 4, 32, 1, 33, 3, 3, 64, 32, 5, 32, 3, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 70, 106, 33, 5, 32, 3, 65, 1, 106, 33, 3, 32, 4, 65, 127, 106, 34, 4, 13, 0, 11, 11, 32, 5, 32, 2, 107, 32, 7, 106, 34, 3, 33, 4, 2, 64, 2, 64, 2, 64, 65, 0, 32, 0, 45, 0, 32, 34, 5, 32, 5, 65, 3, 70, 27, 65, 1, 107, 14, 3, 1, 0, 1, 2, 11, 32, 3, 65, 1, 118, 33, 6, 32, 3, 65, 1, 106, 65, 1, 118, 33, 4, 12, 1, 11, 65, 0, 33, 4, 32, 3, 33, 6, 11, 32, 6, 65, 1, 106, 33, 3, 2, 64, 3, 64, 32, 3, 65, 127, 106, 34, 3, 69, 13, 1, 32, 0, 40, 2, 24, 32, 0, 40, 2, 4, 32, 0, 40, 2, 28, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 65, 1, 15, 11, 32, 0, 40, 2, 4, 33, 5, 65, 1, 33, 3, 32, 0, 40, 2, 24, 32, 1, 32, 2, 32, 0, 40, 2, 28, 40, 2, 12, 17, 2, 0, 13, 0, 32, 4, 65, 1, 106, 33, 3, 32, 0, 40, 2, 28, 33, 1, 32, 0, 40, 2, 24, 33, 0, 3, 64, 32, 3, 65, 127, 106, 34, 3, 69, 4, 64, 65, 0, 15, 11, 32, 0, 32, 5, 32, 1, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 65, 1, 15, 11, 32, 3, 15, 11, 32, 0, 40, 2, 24, 32, 1, 32, 2, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 157, 8, 1, 6, 127, 35, 0, 65, 240, 0, 107, 34, 5, 36, 0, 32, 5, 32, 3, 54, 2, 12, 32, 5, 32, 2, 54, 2, 8, 65, 1, 33, 8, 32, 1, 33, 7, 2, 64, 32, 1, 65, 129, 2, 73, 13, 0, 65, 0, 32, 1, 107, 33, 9, 65, 128, 2, 33, 6, 3, 64, 2, 64, 32, 6, 32, 1, 79, 13, 0, 65, 0, 33, 8, 32, 0, 32, 6, 106, 44, 0, 0, 65, 191, 127, 76, 13, 0, 32, 6, 33, 7, 12, 2, 11, 32, 6, 65, 127, 106, 33, 7, 65, 0, 33, 8, 32, 6, 65, 1, 70, 13, 1, 32, 6, 32, 9, 106, 32, 7, 33, 6, 65, 1, 71, 13, 0, 11, 11, 32, 5, 32, 7, 54, 2, 20, 32, 5, 32, 0, 54, 2, 16, 32, 5, 65, 0, 65, 5, 32, 8, 27, 54, 2, 28, 32, 5, 65, 168, 226, 192, 0, 65, 184, 237, 192, 0, 32, 8, 27, 54, 2, 24, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 32, 1, 75, 34, 7, 32, 3, 32, 1, 75, 114, 69, 4, 64, 32, 2, 32, 3, 75, 13, 1, 2, 64, 32, 2, 69, 32, 1, 32, 2, 70, 114, 69, 4, 64, 32, 1, 32, 2, 77, 13, 1, 32, 0, 32, 2, 106, 44, 0, 0, 65, 64, 72, 13, 1, 11, 32, 3, 33, 2, 11, 32, 5, 32, 2, 54, 2, 32, 32, 2, 69, 32, 1, 32, 2, 70, 114, 13, 2, 32, 1, 65, 1, 106, 33, 3, 3, 64, 32, 2, 32, 1, 73, 4, 64, 32, 0, 32, 2, 106, 44, 0, 0, 65, 64, 78, 13, 4, 11, 32, 2, 65, 127, 106, 33, 8, 32, 2, 65, 1, 70, 13, 4, 32, 2, 32, 3, 70, 32, 8, 33, 2, 69, 13, 0, 11, 12, 3, 11, 32, 5, 32, 2, 32, 3, 32, 7, 27, 54, 2, 40, 32, 5, 65, 196, 0, 106, 65, 3, 54, 2, 0, 32, 5, 65, 220, 0, 106, 65, 223, 0, 54, 2, 0, 32, 5, 65, 212, 0, 106, 65, 223, 0, 54, 2, 0, 32, 5, 66, 3, 55, 2, 52, 32, 5, 65, 224, 237, 192, 0, 54, 2, 48, 32, 5, 65, 51, 54, 2, 76, 32, 5, 32, 5, 65, 200, 0, 106, 54, 2, 64, 32, 5, 32, 5, 65, 24, 106, 54, 2, 88, 32, 5, 32, 5, 65, 16, 106, 54, 2, 80, 32, 5, 32, 5, 65, 40, 106, 54, 2, 72, 12, 3, 11, 32, 5, 65, 228, 0, 106, 65, 223, 0, 54, 2, 0, 32, 5, 65, 220, 0, 106, 65, 223, 0, 54, 2, 0, 32, 5, 65, 212, 0, 106, 65, 51, 54, 2, 0, 32, 5, 65, 196, 0, 106, 65, 4, 54, 2, 0, 32, 5, 66, 4, 55, 2, 52, 32, 5, 65, 156, 238, 192, 0, 54, 2, 48, 32, 5, 65, 51, 54, 2, 76, 32, 5, 32, 5, 65, 200, 0, 106, 54, 2, 64, 32, 5, 32, 5, 65, 24, 106, 54, 2, 96, 32, 5, 32, 5, 65, 16, 106, 54, 2, 88, 32, 5, 32, 5, 65, 12, 106, 54, 2, 80, 32, 5, 32, 5, 65, 8, 106, 54, 2, 72, 12, 2, 11, 32, 2, 33, 8, 11, 2, 64, 32, 1, 32, 8, 70, 13, 0, 65, 1, 33, 6, 2, 64, 2, 64, 2, 64, 32, 0, 32, 8, 106, 34, 3, 44, 0, 0, 34, 2, 65, 127, 76, 4, 64, 65, 0, 33, 6, 32, 0, 32, 1, 106, 34, 1, 33, 7, 32, 1, 32, 3, 65, 1, 106, 71, 4, 64, 32, 3, 45, 0, 1, 65, 63, 113, 33, 6, 32, 3, 65, 2, 106, 33, 7, 11, 32, 2, 65, 31, 113, 33, 9, 32, 2, 65, 255, 1, 113, 65, 223, 1, 75, 13, 1, 32, 6, 32, 9, 65, 6, 116, 114, 33, 2, 12, 2, 11, 32, 5, 32, 2, 65, 255, 1, 113, 54, 2, 36, 32, 5, 65, 40, 106, 33, 1, 12, 2, 11, 65, 0, 33, 0, 32, 1, 33, 3, 32, 1, 32, 7, 71, 4, 127, 32, 7, 65, 1, 106, 33, 3, 32, 7, 45, 0, 0, 65, 63, 113, 5, 32, 0, 11, 32, 6, 65, 6, 116, 114, 33, 0, 32, 2, 65, 255, 1, 113, 65, 240, 1, 73, 4, 64, 32, 0, 32, 9, 65, 12, 116, 114, 33, 2, 12, 1, 11, 65, 0, 33, 2, 32, 1, 32, 3, 71, 4, 127, 32, 3, 45, 0, 0, 65, 63, 113, 5, 32, 2, 11, 32, 9, 65, 18, 116, 65, 128, 128, 240, 0, 113, 32, 0, 65, 6, 116, 114, 114, 34, 2, 65, 128, 128, 196, 0, 70, 13, 2, 11, 32, 5, 32, 2, 54, 2, 36, 65, 1, 33, 6, 32, 5, 65, 40, 106, 33, 1, 32, 2, 65, 128, 1, 73, 13, 0, 65, 2, 33, 6, 32, 2, 65, 128, 16, 73, 13, 0, 65, 3, 65, 4, 32, 2, 65, 128, 128, 4, 73, 27, 33, 6, 11, 32, 5, 32, 8, 54, 2, 40, 32, 5, 32, 6, 32, 8, 106, 54, 2, 44, 32, 5, 65, 196, 0, 106, 65, 5, 54, 2, 0, 32, 5, 65, 236, 0, 106, 65, 223, 0, 54, 2, 0, 32, 5, 65, 228, 0, 106, 65, 223, 0, 54, 2, 0, 32, 5, 65, 220, 0, 106, 65, 224, 0, 54, 2, 0, 32, 5, 65, 212, 0, 106, 65, 225, 0, 54, 2, 0, 32, 5, 66, 5, 55, 2, 52, 32, 5, 65, 240, 238, 192, 0, 54, 2, 48, 32, 5, 32, 1, 54, 2, 88, 32, 5, 65, 51, 54, 2, 76, 32, 5, 32, 5, 65, 200, 0, 106, 54, 2, 64, 32, 5, 32, 5, 65, 24, 106, 54, 2, 104, 32, 5, 32, 5, 65, 16, 106, 54, 2, 96, 32, 5, 32, 5, 65, 36, 106, 54, 2, 80, 32, 5, 32, 5, 65, 32, 106, 54, 2, 72, 12, 1, 11, 65, 133, 228, 192, 0, 65, 43, 32, 4, 16, 219, 1, 0, 11, 32, 5, 65, 48, 106, 32, 4, 16, 224, 1, 0, 11, 53, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 54, 2, 12, 32, 2, 32, 0, 54, 2, 8, 32, 2, 65, 204, 228, 192, 0, 54, 2, 4, 32, 2, 65, 168, 226, 192, 0, 54, 2, 0, 32, 2, 16, 193, 1, 0, 11, 12, 0, 32, 0, 53, 2, 0, 32, 1, 16, 144, 2, 11, 96, 1, 1, 127, 65, 170, 226, 192, 0, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 45, 0, 0, 65, 1, 107, 14, 4, 1, 2, 3, 4, 0, 11, 32, 1, 65, 185, 227, 192, 0, 65, 38, 16, 222, 1, 15, 11, 32, 1, 65, 156, 227, 192, 0, 65, 29, 16, 222, 1, 15, 11, 32, 1, 65, 246, 226, 192, 0, 65, 38, 16, 222, 1, 15, 11, 65, 208, 226, 192, 0, 33, 2, 11, 32, 1, 32, 2, 65, 38, 16, 222, 1, 11, 138, 6, 1, 9, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 65, 36, 106, 32, 1, 54, 2, 0, 32, 3, 65, 3, 58, 0, 40, 32, 3, 66, 128, 128, 128, 128, 128, 4, 55, 3, 8, 32, 3, 32, 0, 54, 2, 32, 32, 3, 65, 0, 54, 2, 24, 32, 3, 65, 0, 54, 2, 16, 2, 127, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 8, 34, 4, 4, 64, 32, 2, 40, 2, 0, 33, 5, 32, 2, 40, 2, 4, 34, 8, 32, 2, 65, 12, 106, 40, 2, 0, 34, 6, 32, 6, 32, 8, 75, 27, 34, 6, 69, 13, 1, 32, 2, 65, 20, 106, 40, 2, 0, 33, 7, 32, 2, 40, 2, 16, 33, 9, 32, 0, 32, 5, 40, 2, 0, 32, 5, 40, 2, 4, 32, 1, 40, 2, 12, 17, 2, 0, 13, 3, 32, 5, 65, 12, 106, 33, 2, 2, 64, 2, 64, 3, 64, 32, 3, 32, 4, 65, 4, 106, 40, 2, 0, 54, 2, 12, 32, 3, 32, 4, 65, 28, 106, 45, 0, 0, 58, 0, 40, 32, 3, 32, 4, 65, 8, 106, 40, 2, 0, 54, 2, 8, 32, 4, 65, 24, 106, 40, 2, 0, 33, 0, 65, 0, 33, 1, 2, 64, 2, 64, 2, 64, 32, 4, 65, 20, 106, 40, 2, 0, 65, 1, 107, 14, 2, 0, 2, 1, 11, 32, 0, 32, 7, 79, 13, 3, 32, 0, 65, 3, 116, 32, 9, 106, 34, 10, 40, 2, 4, 65, 226, 0, 71, 13, 1, 32, 10, 40, 2, 0, 40, 2, 0, 33, 0, 11, 65, 1, 33, 1, 11, 32, 3, 32, 0, 54, 2, 20, 32, 3, 32, 1, 54, 2, 16, 32, 4, 65, 16, 106, 40, 2, 0, 33, 0, 65, 0, 33, 1, 2, 64, 2, 64, 2, 64, 32, 4, 65, 12, 106, 40, 2, 0, 65, 1, 107, 14, 2, 0, 2, 1, 11, 32, 0, 32, 7, 79, 13, 4, 32, 0, 65, 3, 116, 32, 9, 106, 34, 10, 40, 2, 4, 65, 226, 0, 71, 13, 1, 32, 10, 40, 2, 0, 40, 2, 0, 33, 0, 11, 65, 1, 33, 1, 11, 32, 3, 32, 0, 54, 2, 28, 32, 3, 32, 1, 54, 2, 24, 32, 4, 40, 2, 0, 34, 0, 32, 7, 73, 4, 64, 32, 9, 32, 0, 65, 3, 116, 106, 34, 0, 40, 2, 0, 32, 3, 65, 8, 106, 32, 0, 40, 2, 4, 17, 0, 0, 13, 7, 32, 11, 65, 1, 106, 34, 11, 32, 6, 79, 13, 6, 32, 4, 65, 32, 106, 33, 4, 32, 2, 65, 124, 106, 33, 0, 32, 2, 40, 2, 0, 33, 1, 32, 2, 65, 8, 106, 33, 2, 32, 3, 40, 2, 32, 32, 0, 40, 2, 0, 32, 1, 32, 3, 40, 2, 36, 40, 2, 12, 17, 2, 0, 69, 13, 1, 12, 7, 11, 11, 32, 0, 32, 7, 65, 132, 232, 192, 0, 16, 218, 1, 0, 11, 32, 0, 32, 7, 65, 148, 232, 192, 0, 16, 218, 1, 0, 11, 32, 0, 32, 7, 65, 148, 232, 192, 0, 16, 218, 1, 0, 11, 32, 2, 40, 2, 0, 33, 5, 32, 2, 40, 2, 4, 34, 8, 32, 2, 65, 20, 106, 40, 2, 0, 34, 4, 32, 4, 32, 8, 75, 27, 34, 6, 69, 13, 0, 32, 2, 40, 2, 16, 33, 4, 32, 0, 32, 5, 40, 2, 0, 32, 5, 40, 2, 4, 32, 1, 40, 2, 12, 17, 2, 0, 13, 2, 32, 5, 65, 12, 106, 33, 2, 65, 0, 33, 0, 3, 64, 32, 4, 40, 2, 0, 32, 3, 65, 8, 106, 32, 4, 65, 4, 106, 40, 2, 0, 17, 0, 0, 13, 3, 32, 0, 65, 1, 106, 34, 0, 32, 6, 79, 13, 2, 32, 4, 65, 8, 106, 33, 4, 32, 2, 65, 124, 106, 33, 1, 32, 2, 40, 2, 0, 33, 7, 32, 2, 65, 8, 106, 33, 2, 32, 3, 40, 2, 32, 32, 1, 40, 2, 0, 32, 7, 32, 3, 40, 2, 36, 40, 2, 12, 17, 2, 0, 69, 13, 0, 11, 12, 2, 11, 65, 0, 33, 6, 11, 32, 8, 32, 6, 75, 4, 64, 32, 3, 40, 2, 32, 32, 5, 32, 6, 65, 3, 116, 106, 34, 0, 40, 2, 0, 32, 0, 40, 2, 4, 32, 3, 40, 2, 36, 40, 2, 12, 17, 2, 0, 13, 1, 11, 65, 0, 12, 1, 11, 65, 1, 11, 32, 3, 65, 48, 106, 36, 0, 11, 119, 1, 3, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 2, 64, 32, 0, 32, 1, 16, 229, 1, 69, 4, 64, 32, 1, 65, 28, 106, 40, 2, 0, 33, 3, 32, 1, 40, 2, 24, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 168, 226, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 228, 227, 192, 0, 54, 2, 8, 32, 3, 32, 2, 65, 8, 106, 16, 227, 1, 69, 13, 1, 11, 32, 2, 65, 32, 106, 36, 0, 65, 1, 15, 11, 32, 0, 65, 4, 106, 32, 1, 16, 229, 1, 32, 2, 65, 32, 106, 36, 0, 11, 175, 2, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 4, 36, 0, 2, 64, 2, 64, 2, 127, 2, 64, 32, 1, 40, 2, 0, 34, 3, 65, 16, 113, 69, 4, 64, 32, 0, 40, 2, 0, 33, 2, 32, 3, 65, 32, 113, 13, 1, 32, 2, 173, 32, 1, 16, 144, 2, 12, 2, 11, 32, 0, 40, 2, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 4, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 3, 65, 48, 114, 32, 3, 65, 215, 0, 106, 32, 3, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 13, 2, 32, 1, 65, 136, 230, 192, 0, 65, 2, 32, 0, 32, 4, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 251, 1, 12, 1, 11, 65, 0, 33, 0, 3, 64, 32, 0, 32, 4, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 3, 65, 48, 114, 32, 3, 65, 55, 106, 32, 3, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 13, 2, 32, 1, 65, 136, 230, 192, 0, 65, 2, 32, 0, 32, 4, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 251, 1, 11, 32, 4, 65, 128, 1, 106, 36, 0, 15, 11, 32, 2, 65, 128, 1, 65, 248, 229, 192, 0, 16, 221, 1, 0, 11, 32, 2, 65, 128, 1, 65, 248, 229, 192, 0, 16, 221, 1, 0, 11, 28, 0, 32, 1, 40, 2, 24, 65, 236, 227, 192, 0, 65, 11, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 28, 0, 32, 1, 40, 2, 24, 65, 247, 227, 192, 0, 65, 14, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 153, 3, 2, 4, 127, 2, 126, 35, 0, 65, 64, 106, 34, 5, 36, 0, 65, 1, 33, 7, 2, 64, 32, 0, 45, 0, 4, 13, 0, 32, 0, 45, 0, 5, 33, 8, 32, 0, 40, 2, 0, 34, 6, 45, 0, 0, 65, 4, 113, 69, 4, 64, 32, 6, 40, 2, 24, 65, 193, 229, 192, 0, 65, 195, 229, 192, 0, 32, 8, 27, 65, 2, 65, 3, 32, 8, 27, 32, 6, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 32, 0, 40, 2, 0, 34, 6, 40, 2, 24, 32, 1, 32, 2, 32, 6, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 32, 0, 40, 2, 0, 34, 1, 40, 2, 24, 65, 184, 228, 192, 0, 65, 2, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 32, 3, 32, 0, 40, 2, 0, 32, 4, 40, 2, 12, 17, 0, 0, 33, 7, 12, 1, 11, 32, 8, 69, 4, 64, 32, 6, 40, 2, 24, 65, 188, 229, 192, 0, 65, 3, 32, 6, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 32, 0, 40, 2, 0, 33, 6, 11, 32, 5, 65, 1, 58, 0, 23, 32, 5, 65, 52, 106, 65, 160, 229, 192, 0, 54, 2, 0, 32, 5, 32, 6, 41, 2, 24, 55, 3, 8, 32, 5, 32, 5, 65, 23, 106, 54, 2, 16, 32, 6, 41, 2, 8, 33, 9, 32, 6, 41, 2, 16, 33, 10, 32, 5, 32, 6, 45, 0, 32, 58, 0, 56, 32, 5, 32, 10, 55, 3, 40, 32, 5, 32, 9, 55, 3, 32, 32, 5, 32, 6, 41, 2, 0, 55, 3, 24, 32, 5, 32, 5, 65, 8, 106, 54, 2, 48, 32, 5, 65, 8, 106, 32, 1, 32, 2, 16, 237, 1, 13, 0, 32, 5, 65, 8, 106, 65, 184, 228, 192, 0, 65, 2, 16, 237, 1, 13, 0, 32, 3, 32, 5, 65, 24, 106, 32, 4, 40, 2, 12, 17, 0, 0, 13, 0, 32, 5, 40, 2, 48, 65, 191, 229, 192, 0, 65, 2, 32, 5, 40, 2, 52, 40, 2, 12, 17, 2, 0, 33, 7, 11, 32, 0, 65, 1, 58, 0, 5, 32, 0, 32, 7, 58, 0, 4, 32, 5, 65, 64, 107, 36, 0, 11, 93, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 1, 54, 2, 12, 32, 3, 32, 0, 54, 2, 8, 32, 3, 65, 36, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 20, 32, 3, 65, 176, 228, 192, 0, 54, 2, 16, 32, 3, 65, 223, 0, 54, 2, 44, 32, 3, 32, 3, 65, 40, 106, 54, 2, 32, 32, 3, 32, 3, 65, 8, 106, 54, 2, 40, 32, 3, 65, 16, 106, 32, 2, 16, 224, 1, 0, 11, 17, 0, 32, 1, 32, 0, 40, 2, 0, 32, 0, 40, 2, 4, 16, 222, 1, 11, 128, 1, 1, 1, 127, 35, 0, 65, 64, 106, 34, 5, 36, 0, 32, 5, 32, 1, 54, 2, 12, 32, 5, 32, 0, 54, 2, 8, 32, 5, 32, 3, 54, 2, 20, 32, 5, 32, 2, 54, 2, 16, 32, 5, 65, 44, 106, 65, 2, 54, 2, 0, 32, 5, 65, 60, 106, 65, 227, 0, 54, 2, 0, 32, 5, 66, 2, 55, 2, 28, 32, 5, 65, 188, 228, 192, 0, 54, 2, 24, 32, 5, 65, 223, 0, 54, 2, 52, 32, 5, 32, 5, 65, 48, 106, 54, 2, 40, 32, 5, 32, 5, 65, 16, 106, 54, 2, 56, 32, 5, 32, 5, 65, 8, 106, 54, 2, 48, 32, 5, 65, 24, 106, 32, 4, 16, 224, 1, 0, 11, 20, 0, 32, 0, 40, 2, 0, 32, 1, 32, 0, 40, 2, 4, 40, 2, 12, 17, 0, 0, 11, 152, 4, 1, 7, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 2, 127, 65, 0, 32, 2, 69, 13, 0, 26, 32, 3, 65, 40, 106, 33, 8, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 32, 0, 40, 2, 8, 45, 0, 0, 4, 64, 32, 0, 40, 2, 0, 65, 184, 229, 192, 0, 65, 4, 32, 0, 40, 2, 4, 40, 2, 12, 17, 2, 0, 13, 5, 11, 32, 3, 65, 10, 54, 2, 40, 32, 3, 66, 138, 128, 128, 128, 16, 55, 3, 32, 32, 3, 32, 2, 54, 2, 28, 32, 3, 65, 0, 54, 2, 24, 32, 3, 32, 2, 54, 2, 20, 32, 3, 32, 1, 54, 2, 16, 32, 3, 65, 8, 106, 65, 10, 32, 1, 32, 2, 16, 238, 1, 2, 127, 2, 64, 2, 64, 32, 3, 40, 2, 8, 65, 1, 70, 4, 64, 32, 3, 40, 2, 12, 33, 4, 3, 64, 32, 3, 32, 4, 32, 3, 40, 2, 24, 106, 65, 1, 106, 34, 4, 54, 2, 24, 2, 64, 32, 4, 32, 3, 40, 2, 36, 34, 5, 73, 4, 64, 32, 3, 40, 2, 20, 33, 7, 12, 1, 11, 32, 3, 40, 2, 20, 34, 7, 32, 4, 73, 13, 0, 32, 5, 65, 5, 79, 13, 7, 32, 4, 32, 5, 107, 34, 6, 32, 3, 40, 2, 16, 106, 34, 9, 32, 8, 70, 13, 4, 32, 9, 32, 8, 32, 5, 16, 156, 2, 69, 13, 4, 11, 32, 3, 40, 2, 28, 34, 6, 32, 4, 73, 32, 7, 32, 6, 73, 114, 13, 2, 32, 3, 32, 3, 32, 5, 106, 65, 39, 106, 45, 0, 0, 32, 3, 40, 2, 16, 32, 4, 106, 32, 6, 32, 4, 107, 16, 238, 1, 32, 3, 40, 2, 4, 33, 4, 32, 3, 40, 2, 0, 65, 1, 70, 13, 0, 11, 11, 32, 3, 32, 3, 40, 2, 28, 54, 2, 24, 11, 32, 0, 40, 2, 8, 65, 0, 58, 0, 0, 32, 2, 12, 1, 11, 32, 0, 40, 2, 8, 65, 1, 58, 0, 0, 32, 6, 65, 1, 106, 11, 33, 4, 32, 0, 40, 2, 4, 33, 5, 32, 0, 40, 2, 0, 32, 4, 69, 32, 2, 32, 4, 70, 114, 34, 6, 69, 4, 64, 32, 2, 32, 4, 77, 13, 3, 32, 1, 32, 4, 106, 44, 0, 0, 65, 191, 127, 76, 13, 3, 11, 32, 1, 32, 4, 32, 5, 40, 2, 12, 17, 2, 0, 13, 4, 32, 6, 69, 4, 64, 32, 2, 32, 4, 77, 13, 4, 32, 1, 32, 4, 106, 44, 0, 0, 65, 191, 127, 76, 13, 4, 11, 32, 1, 32, 4, 106, 33, 1, 32, 2, 32, 4, 107, 34, 2, 13, 0, 11, 65, 0, 12, 4, 11, 32, 5, 65, 4, 65, 216, 233, 192, 0, 16, 220, 1, 0, 11, 32, 1, 32, 2, 65, 0, 32, 4, 65, 152, 237, 192, 0, 16, 223, 1, 0, 11, 32, 1, 32, 2, 32, 4, 32, 2, 65, 168, 237, 192, 0, 16, 223, 1, 0, 11, 65, 1, 11, 32, 3, 65, 48, 106, 36, 0, 11, 204, 2, 1, 5, 127, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 3, 113, 34, 4, 69, 13, 0, 65, 4, 32, 4, 107, 34, 4, 69, 13, 0, 32, 3, 32, 4, 32, 4, 32, 3, 75, 27, 34, 4, 69, 13, 0, 32, 1, 65, 255, 1, 113, 33, 5, 3, 64, 32, 2, 32, 6, 106, 45, 0, 0, 32, 5, 70, 13, 2, 32, 4, 32, 6, 65, 1, 106, 34, 6, 71, 13, 0, 11, 32, 4, 33, 5, 11, 32, 3, 65, 8, 73, 13, 1, 32, 5, 32, 3, 65, 120, 106, 34, 8, 75, 13, 1, 32, 1, 65, 255, 1, 113, 65, 129, 130, 132, 8, 108, 33, 7, 3, 64, 32, 2, 32, 5, 106, 34, 6, 65, 4, 106, 40, 2, 0, 32, 7, 115, 34, 4, 65, 127, 115, 32, 4, 65, 255, 253, 251, 119, 106, 113, 32, 6, 40, 2, 0, 32, 7, 115, 34, 4, 65, 127, 115, 32, 4, 65, 255, 253, 251, 119, 106, 113, 114, 65, 128, 129, 130, 132, 120, 113, 69, 4, 64, 32, 5, 65, 8, 106, 34, 5, 32, 8, 77, 13, 1, 11, 11, 32, 5, 32, 3, 77, 13, 1, 32, 5, 32, 3, 65, 192, 232, 192, 0, 16, 221, 1, 0, 11, 65, 1, 33, 4, 12, 1, 11, 65, 0, 33, 6, 65, 0, 33, 4, 32, 3, 32, 5, 71, 4, 64, 32, 2, 32, 5, 106, 33, 2, 32, 3, 32, 5, 107, 33, 3, 32, 1, 65, 255, 1, 113, 33, 1, 2, 64, 3, 64, 32, 2, 32, 6, 106, 45, 0, 0, 32, 1, 70, 13, 1, 32, 3, 32, 6, 65, 1, 106, 34, 6, 71, 13, 0, 11, 32, 3, 32, 5, 106, 33, 6, 12, 2, 11, 65, 1, 33, 4, 11, 32, 5, 32, 6, 106, 33, 6, 11, 32, 0, 32, 6, 54, 2, 4, 32, 0, 32, 4, 54, 2, 0, 11, 120, 1, 2, 127, 32, 0, 45, 0, 4, 33, 1, 32, 0, 45, 0, 5, 4, 64, 32, 1, 65, 255, 1, 113, 33, 2, 32, 0, 2, 127, 65, 1, 32, 2, 13, 0, 26, 32, 0, 40, 2, 0, 34, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 33, 2, 32, 1, 40, 2, 24, 33, 0, 32, 1, 45, 0, 0, 65, 4, 113, 69, 4, 64, 32, 0, 65, 199, 229, 192, 0, 65, 2, 32, 2, 17, 2, 0, 12, 1, 11, 32, 0, 65, 198, 229, 192, 0, 65, 1, 32, 2, 17, 2, 0, 11, 34, 1, 58, 0, 4, 11, 32, 1, 65, 255, 1, 113, 65, 0, 71, 11, 195, 2, 2, 3, 127, 2, 126, 35, 0, 65, 64, 106, 34, 3, 36, 0, 32, 0, 2, 127, 65, 1, 32, 0, 45, 0, 8, 13, 0, 26, 32, 0, 40, 2, 4, 33, 5, 32, 0, 40, 2, 0, 34, 4, 45, 0, 0, 65, 4, 113, 69, 4, 64, 65, 1, 32, 4, 40, 2, 24, 65, 193, 229, 192, 0, 65, 203, 229, 192, 0, 32, 5, 27, 65, 2, 65, 1, 32, 5, 27, 32, 4, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 26, 32, 1, 32, 0, 40, 2, 0, 32, 2, 40, 2, 12, 17, 0, 0, 12, 1, 11, 32, 5, 69, 4, 64, 65, 1, 32, 4, 40, 2, 24, 65, 201, 229, 192, 0, 65, 2, 32, 4, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 26, 32, 0, 40, 2, 0, 33, 4, 11, 32, 3, 65, 1, 58, 0, 23, 32, 3, 65, 52, 106, 65, 160, 229, 192, 0, 54, 2, 0, 32, 3, 32, 4, 41, 2, 24, 55, 3, 8, 32, 3, 32, 3, 65, 23, 106, 54, 2, 16, 32, 4, 41, 2, 8, 33, 6, 32, 4, 41, 2, 16, 33, 7, 32, 3, 32, 4, 45, 0, 32, 58, 0, 56, 32, 3, 32, 7, 55, 3, 40, 32, 3, 32, 6, 55, 3, 32, 32, 3, 32, 4, 41, 2, 0, 55, 3, 24, 32, 3, 32, 3, 65, 8, 106, 54, 2, 48, 65, 1, 32, 1, 32, 3, 65, 24, 106, 32, 2, 40, 2, 12, 17, 0, 0, 13, 0, 26, 32, 3, 40, 2, 48, 65, 191, 229, 192, 0, 65, 2, 32, 3, 40, 2, 52, 40, 2, 12, 17, 2, 0, 11, 58, 0, 8, 32, 0, 32, 0, 40, 2, 4, 65, 1, 106, 54, 2, 4, 32, 3, 65, 64, 107, 36, 0, 11, 150, 1, 1, 2, 127, 32, 0, 45, 0, 8, 33, 1, 32, 0, 40, 2, 4, 34, 2, 4, 64, 32, 1, 65, 255, 1, 113, 33, 1, 32, 0, 2, 127, 65, 1, 32, 1, 13, 0, 26, 2, 64, 32, 2, 65, 1, 71, 13, 0, 32, 0, 45, 0, 9, 69, 13, 0, 32, 0, 40, 2, 0, 34, 2, 45, 0, 0, 65, 4, 113, 13, 0, 65, 1, 32, 2, 40, 2, 24, 65, 204, 229, 192, 0, 65, 1, 32, 2, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 26, 11, 32, 0, 40, 2, 0, 34, 1, 40, 2, 24, 65, 205, 229, 192, 0, 65, 1, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 34, 1, 58, 0, 8, 11, 32, 1, 65, 255, 1, 113, 65, 0, 71, 11, 188, 2, 2, 3, 127, 2, 126, 35, 0, 65, 64, 106, 34, 3, 36, 0, 2, 127, 65, 1, 32, 0, 45, 0, 4, 13, 0, 26, 32, 0, 45, 0, 5, 33, 5, 32, 0, 40, 2, 0, 34, 4, 45, 0, 0, 65, 4, 113, 69, 4, 64, 32, 1, 32, 5, 4, 127, 65, 1, 32, 4, 40, 2, 24, 65, 193, 229, 192, 0, 65, 2, 32, 4, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 2, 26, 32, 0, 40, 2, 0, 5, 32, 4, 11, 32, 2, 40, 2, 12, 17, 0, 0, 12, 1, 11, 32, 5, 69, 4, 64, 65, 1, 32, 4, 40, 2, 24, 65, 206, 229, 192, 0, 65, 1, 32, 4, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 26, 32, 0, 40, 2, 0, 33, 4, 11, 32, 3, 65, 1, 58, 0, 23, 32, 3, 65, 52, 106, 65, 160, 229, 192, 0, 54, 2, 0, 32, 3, 32, 4, 41, 2, 24, 55, 3, 8, 32, 3, 32, 3, 65, 23, 106, 54, 2, 16, 32, 4, 41, 2, 8, 33, 6, 32, 4, 41, 2, 16, 33, 7, 32, 3, 32, 4, 45, 0, 32, 58, 0, 56, 32, 3, 32, 7, 55, 3, 40, 32, 3, 32, 6, 55, 3, 32, 32, 3, 32, 4, 41, 2, 0, 55, 3, 24, 32, 3, 32, 3, 65, 8, 106, 54, 2, 48, 65, 1, 32, 1, 32, 3, 65, 24, 106, 32, 2, 40, 2, 12, 17, 0, 0, 13, 0, 26, 32, 3, 40, 2, 48, 65, 191, 229, 192, 0, 65, 2, 32, 3, 40, 2, 52, 40, 2, 12, 17, 2, 0, 11, 33, 5, 32, 0, 65, 1, 58, 0, 5, 32, 0, 32, 5, 58, 0, 4, 32, 3, 65, 64, 107, 36, 0, 11, 11, 0, 32, 0, 32, 1, 32, 2, 16, 242, 1, 11, 50, 1, 1, 127, 65, 1, 33, 1, 32, 0, 45, 0, 4, 4, 127, 32, 1, 5, 32, 0, 40, 2, 0, 34, 0, 40, 2, 24, 65, 224, 229, 192, 0, 65, 1, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 11, 250, 1, 1, 2, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 65, 0, 54, 2, 12, 2, 127, 2, 64, 2, 64, 32, 1, 65, 128, 1, 79, 4, 64, 32, 1, 65, 128, 16, 73, 13, 1, 32, 2, 65, 12, 106, 33, 3, 32, 1, 65, 128, 128, 4, 79, 13, 2, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 3, 12, 3, 11, 32, 2, 32, 1, 58, 0, 12, 32, 2, 65, 12, 106, 33, 3, 65, 1, 12, 2, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 12, 32, 2, 65, 12, 106, 33, 3, 65, 2, 12, 1, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 15, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 4, 11, 33, 1, 32, 0, 32, 3, 32, 1, 16, 237, 1, 32, 2, 65, 16, 106, 36, 0, 11, 87, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 212, 231, 192, 0, 32, 2, 65, 8, 106, 16, 227, 1, 32, 2, 65, 32, 106, 36, 0, 11, 14, 0, 32, 0, 40, 2, 0, 32, 1, 32, 2, 16, 237, 1, 11, 253, 1, 1, 2, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 32, 2, 65, 0, 54, 2, 12, 2, 127, 2, 64, 2, 64, 32, 1, 65, 128, 1, 79, 4, 64, 32, 1, 65, 128, 16, 73, 13, 1, 32, 2, 65, 12, 106, 33, 0, 32, 1, 65, 128, 128, 4, 79, 13, 2, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 3, 12, 3, 11, 32, 2, 32, 1, 58, 0, 12, 32, 2, 65, 12, 106, 33, 0, 65, 1, 12, 2, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 12, 32, 2, 65, 12, 106, 33, 0, 65, 2, 12, 1, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 15, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 4, 11, 33, 1, 32, 0, 32, 1, 16, 237, 1, 32, 2, 65, 16, 106, 36, 0, 11, 90, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 212, 231, 192, 0, 32, 2, 65, 8, 106, 16, 227, 1, 32, 2, 65, 32, 106, 36, 0, 11, 87, 1, 2, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 1, 65, 28, 106, 40, 2, 0, 33, 3, 32, 1, 40, 2, 24, 32, 2, 65, 24, 106, 32, 0, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 0, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 0, 41, 2, 0, 55, 3, 8, 32, 3, 32, 2, 65, 8, 106, 16, 227, 1, 32, 2, 65, 32, 106, 36, 0, 11, 208, 5, 1, 7, 127, 65, 43, 65, 128, 128, 196, 0, 32, 0, 40, 2, 0, 34, 9, 65, 1, 113, 34, 5, 27, 33, 10, 32, 4, 32, 5, 106, 33, 8, 2, 64, 32, 9, 65, 4, 113, 69, 4, 64, 65, 0, 33, 1, 12, 1, 11, 32, 2, 4, 64, 32, 2, 33, 6, 32, 1, 33, 5, 3, 64, 32, 7, 32, 5, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 70, 106, 33, 7, 32, 5, 65, 1, 106, 33, 5, 32, 6, 65, 127, 106, 34, 6, 13, 0, 11, 11, 32, 2, 32, 8, 106, 32, 7, 107, 33, 8, 11, 65, 1, 33, 5, 2, 64, 32, 0, 40, 2, 8, 65, 1, 71, 4, 64, 32, 0, 32, 10, 32, 1, 32, 2, 16, 252, 1, 13, 1, 32, 0, 40, 2, 24, 32, 3, 32, 4, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 33, 5, 12, 1, 11, 32, 0, 65, 12, 106, 40, 2, 0, 34, 6, 32, 8, 77, 4, 64, 32, 0, 32, 10, 32, 1, 32, 2, 16, 252, 1, 13, 1, 32, 0, 40, 2, 24, 32, 3, 32, 4, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 15, 11, 2, 64, 32, 9, 65, 8, 113, 69, 4, 64, 65, 0, 33, 5, 32, 6, 32, 8, 107, 34, 6, 33, 8, 2, 64, 2, 64, 2, 64, 65, 1, 32, 0, 45, 0, 32, 34, 7, 32, 7, 65, 3, 70, 27, 65, 1, 107, 14, 3, 1, 0, 1, 2, 11, 32, 6, 65, 1, 118, 33, 5, 32, 6, 65, 1, 106, 65, 1, 118, 33, 8, 12, 1, 11, 65, 0, 33, 8, 32, 6, 33, 5, 11, 32, 5, 65, 1, 106, 33, 5, 3, 64, 32, 5, 65, 127, 106, 34, 5, 69, 13, 2, 32, 0, 40, 2, 24, 32, 0, 40, 2, 4, 32, 0, 40, 2, 28, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 65, 1, 15, 11, 32, 0, 40, 2, 4, 33, 9, 32, 0, 65, 48, 54, 2, 4, 32, 0, 45, 0, 32, 33, 11, 32, 0, 65, 1, 58, 0, 32, 32, 0, 32, 10, 32, 1, 32, 2, 16, 252, 1, 13, 1, 65, 0, 33, 5, 32, 6, 32, 8, 107, 34, 1, 33, 2, 2, 64, 2, 64, 2, 64, 65, 1, 32, 0, 45, 0, 32, 34, 6, 32, 6, 65, 3, 70, 27, 65, 1, 107, 14, 3, 1, 0, 1, 2, 11, 32, 1, 65, 1, 118, 33, 5, 32, 1, 65, 1, 106, 65, 1, 118, 33, 2, 12, 1, 11, 65, 0, 33, 2, 32, 1, 33, 5, 11, 32, 5, 65, 1, 106, 33, 5, 2, 64, 3, 64, 32, 5, 65, 127, 106, 34, 5, 69, 13, 1, 32, 0, 40, 2, 24, 32, 0, 40, 2, 4, 32, 0, 40, 2, 28, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 65, 1, 15, 11, 32, 0, 40, 2, 4, 33, 1, 65, 1, 33, 5, 32, 0, 40, 2, 24, 32, 3, 32, 4, 32, 0, 40, 2, 28, 40, 2, 12, 17, 2, 0, 13, 1, 32, 2, 65, 1, 106, 33, 7, 32, 0, 40, 2, 28, 33, 2, 32, 0, 40, 2, 24, 33, 3, 3, 64, 32, 7, 65, 127, 106, 34, 7, 4, 64, 32, 3, 32, 1, 32, 2, 40, 2, 16, 17, 0, 0, 69, 13, 1, 12, 3, 11, 11, 32, 0, 32, 11, 58, 0, 32, 32, 0, 32, 9, 54, 2, 4, 65, 0, 15, 11, 32, 0, 40, 2, 4, 33, 6, 65, 1, 33, 5, 32, 0, 32, 10, 32, 1, 32, 2, 16, 252, 1, 13, 0, 32, 0, 40, 2, 24, 32, 3, 32, 4, 32, 0, 40, 2, 28, 40, 2, 12, 17, 2, 0, 13, 0, 32, 8, 65, 1, 106, 33, 7, 32, 0, 40, 2, 28, 33, 1, 32, 0, 40, 2, 24, 33, 0, 3, 64, 32, 7, 65, 127, 106, 34, 7, 69, 4, 64, 65, 0, 15, 11, 32, 0, 32, 6, 32, 1, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 11, 32, 5, 11, 74, 0, 2, 127, 32, 1, 65, 128, 128, 196, 0, 71, 4, 64, 65, 1, 32, 0, 40, 2, 24, 32, 1, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 16, 17, 0, 0, 13, 1, 26, 11, 32, 2, 69, 4, 64, 65, 0, 15, 11, 32, 0, 40, 2, 24, 32, 2, 32, 3, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 11, 87, 1, 2, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 0, 65, 28, 106, 40, 2, 0, 33, 3, 32, 0, 40, 2, 24, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 3, 32, 2, 65, 8, 106, 16, 227, 1, 32, 2, 65, 32, 106, 36, 0, 11, 13, 0, 32, 0, 45, 0, 0, 65, 16, 113, 65, 4, 118, 11, 13, 0, 32, 0, 45, 0, 0, 65, 32, 113, 65, 5, 118, 11, 48, 0, 32, 1, 40, 2, 24, 32, 2, 32, 3, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 33, 2, 32, 0, 65, 0, 58, 0, 5, 32, 0, 32, 2, 58, 0, 4, 32, 0, 32, 1, 54, 2, 0, 11, 52, 0, 32, 0, 32, 1, 40, 2, 24, 32, 2, 32, 3, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 58, 0, 8, 32, 0, 32, 1, 54, 2, 0, 32, 0, 32, 3, 69, 58, 0, 9, 32, 0, 65, 0, 54, 2, 4, 11, 53, 1, 1, 127, 32, 1, 40, 2, 24, 65, 207, 229, 192, 0, 65, 1, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 33, 2, 32, 0, 65, 0, 58, 0, 5, 32, 0, 32, 2, 58, 0, 4, 32, 0, 32, 1, 54, 2, 0, 11, 147, 10, 2, 12, 127, 1, 126, 35, 0, 65, 32, 107, 34, 8, 36, 0, 65, 1, 33, 10, 2, 64, 2, 64, 32, 2, 40, 2, 24, 65, 34, 32, 2, 65, 28, 106, 40, 2, 0, 40, 2, 16, 17, 0, 0, 13, 0, 2, 64, 32, 1, 69, 4, 64, 12, 1, 11, 32, 0, 32, 1, 106, 33, 12, 32, 0, 33, 6, 3, 64, 2, 64, 32, 6, 33, 14, 32, 6, 65, 1, 106, 33, 5, 2, 64, 2, 127, 32, 6, 44, 0, 0, 34, 7, 65, 127, 76, 4, 64, 2, 127, 32, 5, 32, 12, 70, 4, 64, 65, 0, 33, 3, 32, 12, 12, 1, 11, 32, 6, 45, 0, 1, 65, 63, 113, 33, 3, 32, 6, 65, 2, 106, 34, 5, 11, 33, 6, 32, 7, 65, 31, 113, 33, 13, 32, 3, 32, 13, 65, 6, 116, 114, 32, 7, 65, 255, 1, 113, 34, 11, 65, 223, 1, 77, 13, 1, 26, 2, 127, 32, 6, 32, 12, 70, 4, 64, 65, 0, 33, 10, 32, 12, 12, 1, 11, 32, 6, 45, 0, 0, 65, 63, 113, 33, 10, 32, 6, 65, 1, 106, 34, 5, 11, 33, 7, 32, 10, 32, 3, 65, 6, 116, 114, 33, 3, 32, 3, 32, 13, 65, 12, 116, 114, 32, 11, 65, 240, 1, 73, 13, 1, 26, 2, 127, 32, 7, 32, 12, 70, 4, 64, 32, 5, 33, 6, 65, 0, 12, 1, 11, 32, 7, 65, 1, 106, 33, 6, 32, 7, 45, 0, 0, 65, 63, 113, 11, 32, 13, 65, 18, 116, 65, 128, 128, 240, 0, 113, 32, 3, 65, 6, 116, 114, 114, 34, 3, 65, 128, 128, 196, 0, 71, 13, 2, 12, 3, 11, 32, 7, 65, 255, 1, 113, 11, 33, 3, 32, 5, 33, 6, 11, 65, 2, 33, 5, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 119, 106, 34, 11, 65, 30, 75, 4, 64, 32, 3, 65, 220, 0, 71, 13, 1, 12, 2, 11, 65, 244, 0, 33, 7, 2, 64, 2, 64, 32, 11, 65, 1, 107, 14, 30, 1, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 4, 11, 65, 242, 0, 33, 7, 12, 3, 11, 65, 238, 0, 33, 7, 12, 2, 11, 2, 64, 32, 3, 16, 132, 2, 13, 0, 2, 64, 32, 3, 65, 128, 128, 4, 79, 4, 64, 32, 3, 65, 128, 128, 8, 73, 13, 1, 32, 3, 65, 144, 252, 71, 106, 65, 144, 252, 11, 73, 32, 3, 65, 181, 217, 115, 106, 65, 181, 219, 43, 73, 114, 32, 3, 65, 226, 139, 116, 106, 65, 226, 11, 73, 32, 3, 65, 159, 168, 116, 106, 65, 159, 24, 73, 114, 114, 32, 3, 65, 254, 255, 255, 0, 113, 65, 158, 240, 10, 70, 32, 3, 65, 222, 226, 116, 106, 65, 14, 73, 114, 32, 3, 65, 162, 178, 117, 106, 65, 34, 73, 32, 3, 65, 203, 145, 117, 106, 65, 10, 77, 114, 114, 114, 13, 2, 12, 5, 11, 32, 3, 65, 216, 239, 192, 0, 65, 41, 65, 170, 240, 192, 0, 65, 162, 2, 65, 204, 242, 192, 0, 65, 181, 2, 16, 133, 2, 69, 13, 1, 12, 4, 11, 32, 3, 65, 129, 245, 192, 0, 65, 38, 65, 205, 245, 192, 0, 65, 175, 1, 65, 252, 246, 192, 0, 65, 163, 3, 16, 133, 2, 13, 3, 11, 32, 3, 65, 1, 114, 103, 65, 2, 118, 65, 7, 115, 173, 66, 128, 128, 128, 128, 208, 0, 132, 33, 15, 65, 3, 33, 5, 11, 32, 3, 33, 7, 11, 32, 8, 32, 1, 54, 2, 4, 32, 8, 32, 0, 54, 2, 0, 32, 8, 32, 4, 54, 2, 8, 32, 8, 32, 9, 54, 2, 12, 2, 64, 2, 64, 32, 9, 32, 4, 73, 13, 0, 32, 4, 69, 32, 1, 32, 4, 70, 114, 69, 4, 64, 32, 4, 32, 1, 79, 13, 1, 32, 0, 32, 4, 106, 44, 0, 0, 65, 191, 127, 76, 13, 1, 11, 32, 9, 69, 32, 1, 32, 9, 70, 114, 69, 4, 64, 32, 9, 32, 1, 79, 13, 1, 32, 0, 32, 9, 106, 44, 0, 0, 65, 191, 127, 76, 13, 1, 11, 32, 2, 40, 2, 24, 32, 0, 32, 4, 106, 32, 9, 32, 4, 107, 32, 2, 40, 2, 28, 40, 2, 12, 17, 2, 0, 69, 13, 1, 65, 1, 33, 10, 12, 6, 11, 32, 8, 32, 8, 65, 12, 106, 54, 2, 24, 32, 8, 32, 8, 65, 8, 106, 54, 2, 20, 32, 8, 32, 8, 54, 2, 16, 32, 8, 65, 16, 106, 16, 134, 2, 0, 11, 3, 64, 32, 5, 33, 11, 65, 1, 33, 10, 65, 220, 0, 33, 4, 65, 1, 33, 5, 2, 64, 2, 126, 2, 64, 2, 64, 2, 64, 2, 64, 32, 11, 65, 1, 107, 14, 3, 1, 5, 0, 2, 11, 2, 64, 2, 64, 2, 64, 2, 64, 32, 15, 66, 32, 136, 167, 65, 255, 1, 113, 65, 1, 107, 14, 5, 3, 2, 1, 0, 6, 5, 11, 32, 15, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 48, 132, 33, 15, 65, 3, 33, 5, 65, 245, 0, 33, 4, 12, 7, 11, 32, 15, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 32, 132, 33, 15, 65, 3, 33, 5, 65, 251, 0, 33, 4, 12, 6, 11, 32, 7, 32, 15, 167, 34, 5, 65, 2, 116, 65, 28, 113, 118, 65, 15, 113, 34, 11, 65, 48, 114, 32, 11, 65, 215, 0, 106, 32, 11, 65, 10, 73, 27, 33, 4, 32, 15, 66, 127, 124, 66, 255, 255, 255, 255, 15, 131, 32, 15, 66, 128, 128, 128, 128, 112, 131, 132, 32, 5, 13, 4, 26, 32, 15, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 16, 132, 12, 4, 11, 32, 15, 66, 255, 255, 255, 255, 143, 96, 131, 33, 15, 65, 3, 33, 5, 65, 253, 0, 33, 4, 12, 4, 11, 65, 0, 33, 5, 32, 7, 33, 4, 12, 3, 11, 2, 127, 65, 1, 32, 3, 65, 128, 1, 73, 13, 0, 26, 65, 2, 32, 3, 65, 128, 16, 73, 13, 0, 26, 65, 3, 65, 4, 32, 3, 65, 128, 128, 4, 73, 27, 11, 32, 9, 106, 33, 4, 12, 4, 11, 32, 15, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 192, 0, 132, 11, 33, 15, 65, 3, 33, 5, 11, 32, 2, 40, 2, 24, 32, 4, 32, 2, 40, 2, 28, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 12, 4, 11, 32, 9, 32, 14, 107, 32, 6, 106, 33, 9, 32, 6, 32, 12, 71, 13, 1, 11, 11, 32, 4, 69, 32, 1, 32, 4, 70, 114, 13, 0, 32, 4, 32, 1, 79, 13, 2, 32, 0, 32, 4, 106, 44, 0, 0, 65, 191, 127, 76, 13, 2, 11, 65, 1, 33, 10, 32, 2, 40, 2, 24, 32, 0, 32, 4, 106, 32, 1, 32, 4, 107, 32, 2, 40, 2, 28, 40, 2, 12, 17, 2, 0, 13, 0, 32, 2, 40, 2, 24, 65, 34, 32, 2, 40, 2, 28, 40, 2, 16, 17, 0, 0, 33, 10, 11, 32, 8, 65, 32, 106, 36, 0, 32, 10, 15, 11, 32, 0, 32, 1, 32, 4, 32, 1, 65, 168, 237, 192, 0, 16, 223, 1, 0, 11, 150, 3, 1, 4, 127, 2, 64, 2, 64, 65, 0, 65, 15, 32, 0, 65, 164, 154, 4, 73, 27, 34, 1, 32, 1, 65, 8, 106, 34, 1, 32, 1, 65, 2, 116, 65, 192, 251, 192, 0, 106, 40, 2, 0, 65, 11, 116, 32, 0, 65, 11, 116, 34, 2, 75, 27, 34, 1, 32, 1, 65, 4, 106, 34, 1, 32, 1, 65, 2, 116, 65, 192, 251, 192, 0, 106, 40, 2, 0, 65, 11, 116, 32, 2, 75, 27, 34, 1, 32, 1, 65, 2, 106, 34, 1, 32, 1, 65, 2, 116, 65, 192, 251, 192, 0, 106, 40, 2, 0, 65, 11, 116, 32, 2, 75, 27, 34, 1, 32, 1, 65, 1, 106, 34, 1, 32, 1, 65, 2, 116, 65, 192, 251, 192, 0, 106, 40, 2, 0, 65, 11, 116, 32, 2, 75, 27, 34, 3, 65, 2, 116, 65, 192, 251, 192, 0, 106, 40, 2, 0, 65, 11, 116, 34, 1, 32, 2, 70, 32, 1, 32, 2, 73, 106, 32, 3, 106, 34, 2, 65, 30, 77, 4, 64, 65, 177, 5, 33, 4, 32, 2, 65, 30, 71, 4, 64, 32, 2, 65, 2, 116, 65, 196, 251, 192, 0, 106, 40, 2, 0, 65, 21, 118, 33, 4, 11, 65, 0, 33, 1, 32, 2, 65, 127, 106, 34, 3, 32, 2, 77, 4, 64, 32, 3, 65, 31, 79, 13, 3, 32, 3, 65, 2, 116, 65, 192, 251, 192, 0, 106, 40, 2, 0, 65, 255, 255, 255, 0, 113, 33, 1, 11, 2, 64, 32, 4, 32, 2, 65, 2, 116, 65, 192, 251, 192, 0, 106, 40, 2, 0, 65, 21, 118, 34, 3, 65, 1, 106, 70, 13, 0, 32, 0, 32, 1, 107, 33, 2, 32, 4, 65, 127, 106, 33, 1, 65, 0, 33, 0, 3, 64, 32, 3, 65, 176, 5, 75, 13, 3, 32, 0, 32, 3, 65, 188, 252, 192, 0, 106, 45, 0, 0, 106, 34, 0, 32, 2, 75, 13, 1, 32, 1, 32, 3, 65, 1, 106, 34, 3, 71, 13, 0, 11, 32, 1, 33, 3, 11, 32, 3, 65, 1, 113, 15, 11, 32, 2, 65, 31, 65, 196, 250, 192, 0, 16, 218, 1, 0, 11, 32, 3, 65, 177, 5, 65, 212, 250, 192, 0, 16, 218, 1, 0, 11, 32, 3, 65, 31, 65, 228, 250, 192, 0, 16, 218, 1, 0, 11, 225, 2, 1, 7, 127, 65, 1, 33, 9, 2, 64, 2, 64, 32, 2, 69, 13, 0, 32, 1, 32, 2, 65, 1, 116, 106, 33, 10, 32, 0, 65, 128, 254, 3, 113, 65, 8, 118, 33, 11, 32, 0, 65, 255, 1, 113, 33, 13, 2, 64, 3, 64, 32, 1, 65, 2, 106, 33, 12, 32, 7, 32, 1, 45, 0, 1, 34, 2, 106, 33, 8, 32, 11, 32, 1, 45, 0, 0, 34, 1, 71, 4, 64, 32, 1, 32, 11, 75, 13, 3, 32, 8, 33, 7, 32, 12, 34, 1, 32, 10, 71, 13, 1, 12, 3, 11, 32, 8, 32, 7, 79, 4, 64, 32, 8, 32, 4, 75, 13, 2, 32, 3, 32, 7, 106, 33, 1, 2, 64, 3, 64, 32, 2, 69, 13, 1, 32, 2, 65, 127, 106, 33, 2, 32, 1, 45, 0, 0, 32, 1, 65, 1, 106, 33, 1, 32, 13, 71, 13, 0, 11, 65, 0, 33, 9, 12, 5, 11, 32, 8, 33, 7, 32, 12, 34, 1, 32, 10, 71, 13, 1, 12, 3, 11, 11, 32, 7, 32, 8, 65, 184, 239, 192, 0, 16, 221, 1, 0, 11, 32, 8, 32, 4, 65, 184, 239, 192, 0, 16, 220, 1, 0, 11, 32, 6, 69, 13, 0, 32, 5, 32, 6, 106, 33, 3, 32, 0, 65, 255, 255, 3, 113, 33, 1, 3, 64, 2, 64, 32, 5, 65, 1, 106, 33, 0, 2, 127, 32, 0, 32, 5, 45, 0, 0, 34, 2, 65, 24, 116, 65, 24, 117, 34, 4, 65, 0, 78, 13, 0, 26, 32, 0, 32, 3, 70, 13, 1, 32, 5, 45, 0, 1, 32, 4, 65, 255, 0, 113, 65, 8, 116, 114, 33, 2, 32, 5, 65, 2, 106, 11, 33, 5, 32, 1, 32, 2, 107, 34, 1, 65, 0, 72, 13, 2, 32, 9, 65, 1, 115, 33, 9, 32, 3, 32, 5, 71, 13, 1, 12, 2, 11, 11, 65, 133, 228, 192, 0, 65, 43, 65, 200, 239, 192, 0, 16, 219, 1, 0, 11, 32, 9, 65, 1, 113, 11, 44, 1, 1, 127, 32, 0, 40, 2, 0, 34, 1, 40, 2, 0, 32, 1, 40, 2, 4, 32, 0, 40, 2, 4, 40, 2, 0, 32, 0, 40, 2, 8, 40, 2, 0, 65, 136, 237, 192, 0, 16, 223, 1, 0, 11, 11, 0, 32, 2, 32, 0, 32, 1, 16, 222, 1, 11, 188, 5, 2, 4, 127, 1, 126, 65, 1, 32, 1, 40, 2, 24, 65, 39, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 16, 17, 0, 0, 69, 4, 64, 65, 2, 33, 2, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 34, 0, 65, 119, 106, 34, 4, 65, 30, 75, 4, 64, 32, 0, 65, 220, 0, 71, 13, 1, 12, 2, 11, 65, 244, 0, 33, 3, 2, 64, 2, 64, 32, 4, 65, 1, 107, 14, 30, 1, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 4, 11, 65, 242, 0, 33, 3, 12, 3, 11, 65, 238, 0, 33, 3, 12, 2, 11, 2, 64, 2, 126, 32, 0, 16, 132, 2, 69, 4, 64, 2, 64, 2, 64, 32, 0, 65, 128, 128, 4, 79, 4, 64, 32, 0, 65, 128, 128, 8, 73, 13, 1, 32, 0, 65, 144, 252, 71, 106, 65, 144, 252, 11, 73, 32, 0, 65, 181, 217, 115, 106, 65, 181, 219, 43, 73, 114, 32, 0, 65, 226, 139, 116, 106, 65, 226, 11, 73, 32, 0, 65, 159, 168, 116, 106, 65, 159, 24, 73, 114, 114, 32, 0, 65, 254, 255, 255, 0, 113, 65, 158, 240, 10, 70, 32, 0, 65, 222, 226, 116, 106, 65, 14, 73, 114, 32, 0, 65, 162, 178, 117, 106, 65, 34, 73, 114, 114, 13, 2, 32, 0, 65, 203, 145, 117, 106, 65, 10, 75, 13, 5, 12, 2, 11, 32, 0, 65, 216, 239, 192, 0, 65, 41, 65, 170, 240, 192, 0, 65, 162, 2, 65, 204, 242, 192, 0, 65, 181, 2, 16, 133, 2, 69, 13, 1, 12, 4, 11, 32, 0, 65, 129, 245, 192, 0, 65, 38, 65, 205, 245, 192, 0, 65, 175, 1, 65, 252, 246, 192, 0, 65, 163, 3, 16, 133, 2, 13, 3, 11, 32, 0, 65, 1, 114, 103, 65, 2, 118, 65, 7, 115, 173, 66, 128, 128, 128, 128, 208, 0, 132, 12, 1, 11, 32, 0, 65, 1, 114, 103, 65, 2, 118, 65, 7, 115, 173, 66, 128, 128, 128, 128, 208, 0, 132, 11, 33, 6, 65, 3, 33, 2, 12, 1, 11, 65, 1, 33, 2, 11, 32, 0, 33, 3, 11, 3, 64, 32, 2, 33, 4, 65, 220, 0, 33, 0, 65, 1, 33, 2, 2, 64, 2, 126, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 1, 107, 14, 3, 1, 5, 0, 2, 11, 2, 64, 2, 64, 2, 64, 2, 64, 32, 6, 66, 32, 136, 167, 65, 255, 1, 113, 65, 1, 107, 14, 5, 3, 2, 1, 0, 6, 5, 11, 65, 245, 0, 33, 0, 32, 6, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 48, 132, 12, 6, 11, 65, 251, 0, 33, 0, 32, 6, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 32, 132, 12, 5, 11, 32, 3, 32, 6, 167, 34, 2, 65, 2, 116, 65, 28, 113, 118, 65, 15, 113, 34, 0, 65, 48, 114, 32, 0, 65, 215, 0, 106, 32, 0, 65, 10, 73, 27, 33, 0, 32, 6, 66, 127, 124, 66, 255, 255, 255, 255, 15, 131, 32, 6, 66, 128, 128, 128, 128, 112, 131, 132, 32, 2, 13, 4, 26, 32, 6, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 16, 132, 12, 4, 11, 65, 253, 0, 33, 0, 32, 6, 66, 255, 255, 255, 255, 143, 96, 131, 12, 3, 11, 65, 0, 33, 2, 32, 3, 33, 0, 12, 3, 11, 32, 1, 40, 2, 24, 65, 39, 32, 1, 40, 2, 28, 40, 2, 16, 17, 0, 0, 15, 11, 32, 6, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 192, 0, 132, 11, 33, 6, 65, 3, 33, 2, 11, 32, 1, 40, 2, 24, 32, 0, 32, 1, 40, 2, 28, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 11, 11, 16, 0, 32, 0, 32, 2, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 246, 9, 1, 10, 127, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 4, 34, 2, 4, 64, 32, 1, 40, 2, 0, 33, 7, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 32, 3, 65, 1, 106, 33, 5, 2, 127, 32, 5, 32, 3, 32, 7, 106, 34, 9, 45, 0, 0, 34, 10, 65, 24, 116, 65, 24, 117, 34, 11, 65, 127, 74, 13, 0, 26, 2, 64, 2, 64, 2, 64, 32, 10, 65, 134, 235, 192, 0, 106, 45, 0, 0, 65, 126, 106, 34, 6, 65, 2, 77, 4, 64, 32, 6, 65, 1, 107, 14, 2, 2, 3, 1, 11, 32, 2, 32, 3, 73, 13, 7, 32, 2, 32, 3, 77, 13, 8, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 7, 54, 2, 0, 32, 1, 32, 2, 32, 5, 107, 54, 2, 4, 32, 1, 32, 5, 32, 7, 106, 54, 2, 0, 12, 24, 11, 32, 3, 65, 2, 106, 32, 5, 32, 7, 106, 34, 4, 65, 0, 32, 2, 32, 5, 75, 27, 34, 6, 65, 169, 226, 192, 0, 32, 6, 27, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 70, 13, 2, 26, 32, 2, 32, 3, 73, 13, 8, 32, 2, 32, 3, 77, 13, 9, 12, 22, 11, 32, 5, 32, 7, 106, 34, 4, 65, 0, 32, 2, 32, 5, 75, 27, 34, 6, 65, 169, 226, 192, 0, 32, 6, 27, 45, 0, 0, 33, 8, 2, 64, 2, 64, 32, 10, 65, 160, 126, 106, 34, 6, 65, 13, 75, 13, 0, 2, 64, 2, 64, 32, 6, 65, 1, 107, 14, 13, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 11, 32, 8, 65, 224, 1, 113, 65, 160, 1, 70, 13, 2, 12, 22, 11, 32, 8, 65, 24, 116, 65, 24, 117, 65, 127, 74, 32, 8, 65, 160, 1, 79, 114, 13, 21, 12, 1, 11, 32, 11, 65, 31, 106, 65, 255, 1, 113, 65, 11, 77, 4, 64, 32, 8, 65, 24, 116, 65, 24, 117, 65, 127, 74, 32, 8, 65, 192, 1, 79, 114, 13, 21, 12, 1, 11, 32, 11, 65, 254, 1, 113, 65, 238, 1, 71, 32, 8, 65, 191, 1, 75, 114, 32, 8, 65, 24, 116, 65, 24, 117, 65, 127, 74, 114, 13, 20, 11, 32, 3, 65, 3, 106, 32, 7, 32, 3, 65, 2, 106, 34, 4, 106, 34, 6, 65, 0, 32, 2, 32, 4, 75, 27, 34, 5, 65, 169, 226, 192, 0, 32, 5, 27, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 70, 13, 1, 26, 32, 2, 32, 3, 73, 13, 9, 32, 3, 65, 125, 75, 13, 10, 32, 2, 32, 4, 73, 13, 11, 12, 23, 11, 32, 5, 32, 7, 106, 34, 4, 65, 0, 32, 2, 32, 5, 75, 27, 34, 6, 65, 169, 226, 192, 0, 32, 6, 27, 45, 0, 0, 33, 8, 2, 64, 2, 64, 32, 10, 65, 144, 126, 106, 34, 6, 65, 4, 75, 13, 0, 2, 64, 2, 64, 32, 6, 65, 1, 107, 14, 4, 2, 2, 2, 1, 0, 11, 32, 8, 65, 240, 0, 106, 65, 255, 1, 113, 65, 48, 73, 13, 2, 12, 20, 11, 32, 8, 65, 24, 116, 65, 24, 117, 65, 127, 74, 32, 8, 65, 144, 1, 79, 114, 13, 19, 12, 1, 11, 32, 8, 65, 191, 1, 75, 32, 11, 65, 15, 106, 65, 255, 1, 113, 65, 2, 75, 114, 32, 8, 65, 24, 116, 65, 24, 117, 65, 127, 74, 114, 13, 18, 11, 32, 7, 32, 3, 65, 2, 106, 34, 4, 106, 34, 6, 65, 0, 32, 2, 32, 4, 75, 27, 34, 5, 65, 169, 226, 192, 0, 32, 5, 27, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 13, 2, 32, 7, 32, 3, 65, 3, 106, 34, 4, 106, 34, 6, 65, 0, 32, 2, 32, 4, 75, 27, 34, 5, 65, 169, 226, 192, 0, 32, 5, 27, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 13, 3, 32, 3, 65, 4, 106, 11, 34, 3, 32, 2, 73, 13, 0, 11, 32, 1, 65, 0, 54, 2, 4, 32, 1, 65, 168, 226, 192, 0, 54, 2, 0, 32, 0, 32, 2, 54, 2, 4, 32, 0, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 65, 168, 226, 192, 0, 54, 2, 0, 15, 11, 32, 2, 32, 3, 73, 13, 8, 32, 3, 65, 125, 75, 13, 9, 32, 2, 32, 4, 73, 13, 10, 12, 19, 11, 32, 2, 32, 3, 73, 13, 10, 32, 3, 65, 124, 75, 13, 11, 32, 2, 32, 4, 73, 13, 12, 32, 1, 32, 6, 54, 2, 0, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 7, 54, 2, 0, 32, 1, 32, 2, 32, 4, 107, 54, 2, 4, 32, 0, 65, 12, 106, 65, 3, 54, 2, 0, 12, 19, 11, 32, 3, 32, 2, 65, 128, 234, 192, 0, 16, 220, 1, 0, 11, 32, 5, 32, 2, 65, 128, 234, 192, 0, 16, 220, 1, 0, 11, 32, 3, 32, 2, 65, 224, 234, 192, 0, 16, 220, 1, 0, 11, 32, 5, 32, 2, 65, 224, 234, 192, 0, 16, 220, 1, 0, 11, 32, 3, 32, 2, 65, 192, 234, 192, 0, 16, 220, 1, 0, 11, 32, 3, 32, 4, 65, 192, 234, 192, 0, 16, 221, 1, 0, 11, 32, 4, 32, 2, 65, 192, 234, 192, 0, 16, 220, 1, 0, 11, 32, 3, 32, 2, 65, 144, 234, 192, 0, 16, 220, 1, 0, 11, 32, 3, 32, 4, 65, 144, 234, 192, 0, 16, 221, 1, 0, 11, 32, 4, 32, 2, 65, 144, 234, 192, 0, 16, 220, 1, 0, 11, 32, 3, 32, 2, 65, 160, 234, 192, 0, 16, 220, 1, 0, 11, 32, 3, 32, 4, 65, 160, 234, 192, 0, 16, 221, 1, 0, 11, 32, 4, 32, 2, 65, 160, 234, 192, 0, 16, 220, 1, 0, 11, 2, 64, 32, 2, 32, 3, 79, 4, 64, 32, 2, 32, 3, 77, 13, 1, 12, 4, 11, 32, 3, 32, 2, 65, 176, 234, 192, 0, 16, 220, 1, 0, 11, 32, 5, 32, 2, 65, 176, 234, 192, 0, 16, 220, 1, 0, 11, 2, 64, 32, 2, 32, 3, 79, 4, 64, 32, 2, 32, 3, 77, 13, 1, 12, 3, 11, 32, 3, 32, 2, 65, 208, 234, 192, 0, 16, 220, 1, 0, 11, 32, 5, 32, 2, 65, 208, 234, 192, 0, 16, 220, 1, 0, 11, 32, 0, 65, 0, 54, 2, 0, 15, 11, 32, 1, 32, 4, 54, 2, 0, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 7, 54, 2, 0, 32, 1, 32, 2, 32, 5, 107, 54, 2, 4, 11, 32, 0, 65, 12, 106, 65, 1, 54, 2, 0, 12, 1, 11, 32, 1, 32, 6, 54, 2, 0, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 7, 54, 2, 0, 32, 1, 32, 2, 32, 4, 107, 54, 2, 4, 32, 0, 65, 12, 106, 65, 2, 54, 2, 0, 11, 32, 0, 65, 8, 106, 32, 9, 54, 2, 0, 11, 141, 1, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 3, 36, 0, 32, 0, 45, 0, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 3, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 4, 65, 48, 114, 32, 4, 65, 215, 0, 106, 32, 4, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 4, 64, 32, 2, 65, 128, 1, 65, 248, 229, 192, 0, 16, 221, 1, 0, 11, 32, 1, 65, 136, 230, 192, 0, 65, 2, 32, 0, 32, 3, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 251, 1, 32, 3, 65, 128, 1, 106, 36, 0, 11, 201, 7, 2, 6, 127, 2, 126, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 69, 13, 0, 65, 0, 32, 1, 107, 65, 0, 32, 1, 65, 3, 113, 27, 33, 8, 65, 0, 32, 2, 65, 121, 106, 34, 4, 32, 4, 32, 2, 75, 27, 33, 7, 65, 0, 33, 4, 3, 64, 2, 64, 32, 1, 32, 4, 106, 45, 0, 0, 34, 5, 65, 24, 116, 65, 24, 117, 34, 6, 65, 127, 76, 4, 64, 66, 128, 128, 128, 128, 128, 32, 33, 10, 32, 5, 65, 134, 235, 192, 0, 106, 45, 0, 0, 65, 126, 106, 34, 3, 65, 2, 75, 4, 64, 66, 128, 128, 128, 128, 16, 33, 9, 12, 7, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 1, 107, 14, 2, 1, 2, 0, 11, 32, 4, 65, 1, 106, 34, 3, 32, 2, 73, 13, 2, 66, 0, 33, 9, 12, 9, 11, 66, 0, 33, 9, 32, 4, 65, 1, 106, 34, 3, 32, 2, 79, 13, 8, 32, 1, 32, 3, 106, 45, 0, 0, 33, 3, 2, 64, 2, 64, 32, 5, 65, 160, 126, 106, 34, 5, 65, 13, 75, 13, 0, 2, 64, 2, 64, 32, 5, 65, 1, 107, 14, 13, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 11, 32, 3, 65, 224, 1, 113, 65, 160, 1, 70, 13, 2, 66, 128, 128, 128, 128, 16, 33, 9, 12, 12, 11, 32, 3, 65, 24, 116, 65, 24, 117, 65, 127, 74, 4, 64, 66, 128, 128, 128, 128, 16, 33, 9, 12, 12, 11, 32, 3, 65, 160, 1, 73, 13, 1, 66, 128, 128, 128, 128, 16, 33, 9, 12, 11, 11, 32, 6, 65, 31, 106, 65, 255, 1, 113, 65, 11, 77, 4, 64, 32, 3, 65, 24, 116, 65, 24, 117, 65, 127, 74, 4, 64, 66, 128, 128, 128, 128, 16, 33, 9, 12, 12, 11, 32, 3, 65, 192, 1, 73, 13, 1, 66, 128, 128, 128, 128, 16, 33, 9, 12, 11, 11, 32, 3, 65, 191, 1, 75, 4, 64, 66, 128, 128, 128, 128, 16, 33, 9, 12, 11, 11, 32, 6, 65, 254, 1, 113, 65, 238, 1, 71, 4, 64, 66, 128, 128, 128, 128, 16, 33, 9, 12, 11, 11, 32, 3, 65, 24, 116, 65, 24, 117, 65, 127, 76, 13, 0, 66, 128, 128, 128, 128, 16, 33, 9, 12, 10, 11, 66, 0, 33, 10, 32, 4, 65, 2, 106, 34, 3, 32, 2, 79, 13, 9, 32, 1, 32, 3, 106, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 70, 13, 2, 12, 7, 11, 66, 0, 33, 9, 32, 4, 65, 1, 106, 34, 3, 32, 2, 79, 13, 7, 32, 1, 32, 3, 106, 45, 0, 0, 33, 3, 2, 64, 2, 64, 32, 5, 65, 144, 126, 106, 34, 5, 65, 4, 75, 13, 0, 2, 64, 2, 64, 32, 5, 65, 1, 107, 14, 4, 2, 2, 2, 1, 0, 11, 32, 3, 65, 240, 0, 106, 65, 255, 1, 113, 65, 48, 73, 13, 2, 66, 128, 128, 128, 128, 16, 33, 9, 12, 11, 11, 32, 3, 65, 24, 116, 65, 24, 117, 65, 127, 74, 4, 64, 66, 128, 128, 128, 128, 16, 33, 9, 12, 11, 11, 32, 3, 65, 144, 1, 73, 13, 1, 66, 128, 128, 128, 128, 16, 33, 9, 12, 10, 11, 32, 3, 65, 191, 1, 75, 4, 64, 66, 128, 128, 128, 128, 16, 33, 9, 12, 10, 11, 32, 6, 65, 15, 106, 65, 255, 1, 113, 65, 2, 75, 4, 64, 66, 128, 128, 128, 128, 16, 33, 9, 12, 10, 11, 32, 3, 65, 24, 116, 65, 24, 117, 65, 127, 76, 13, 0, 66, 128, 128, 128, 128, 16, 33, 9, 12, 9, 11, 32, 4, 65, 2, 106, 34, 3, 32, 2, 79, 13, 7, 32, 1, 32, 3, 106, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 13, 6, 66, 0, 33, 10, 32, 4, 65, 3, 106, 34, 3, 32, 2, 79, 13, 8, 32, 1, 32, 3, 106, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 70, 13, 1, 66, 128, 128, 128, 128, 128, 224, 0, 33, 10, 66, 128, 128, 128, 128, 16, 33, 9, 12, 8, 11, 66, 128, 128, 128, 128, 16, 33, 9, 32, 1, 32, 3, 106, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 13, 7, 11, 32, 3, 65, 1, 106, 33, 4, 12, 1, 11, 32, 8, 32, 4, 107, 65, 3, 113, 69, 4, 64, 2, 64, 32, 4, 32, 7, 79, 13, 0, 3, 64, 32, 1, 32, 4, 106, 34, 3, 65, 4, 106, 40, 2, 0, 32, 3, 40, 2, 0, 114, 65, 128, 129, 130, 132, 120, 113, 13, 1, 32, 4, 65, 8, 106, 34, 4, 32, 7, 73, 13, 0, 11, 11, 32, 4, 32, 2, 79, 13, 1, 3, 64, 32, 1, 32, 4, 106, 44, 0, 0, 65, 0, 72, 13, 2, 32, 2, 32, 4, 65, 1, 106, 34, 4, 71, 13, 0, 11, 12, 3, 11, 32, 4, 65, 1, 106, 33, 4, 11, 32, 4, 32, 2, 73, 13, 0, 11, 11, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 8, 106, 32, 2, 54, 2, 0, 32, 0, 65, 0, 54, 2, 0, 15, 11, 66, 128, 128, 128, 128, 128, 192, 0, 33, 10, 66, 128, 128, 128, 128, 16, 33, 9, 12, 1, 11, 66, 0, 33, 10, 11, 32, 0, 32, 9, 32, 4, 173, 132, 32, 10, 132, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 11, 12, 0, 32, 0, 49, 0, 0, 32, 1, 16, 144, 2, 11, 141, 1, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 3, 36, 0, 32, 0, 40, 2, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 3, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 4, 65, 48, 114, 32, 4, 65, 215, 0, 106, 32, 4, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 4, 64, 32, 2, 65, 128, 1, 65, 248, 229, 192, 0, 16, 221, 1, 0, 11, 32, 1, 65, 136, 230, 192, 0, 65, 2, 32, 0, 32, 3, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 251, 1, 32, 3, 65, 128, 1, 106, 36, 0, 11, 175, 2, 2, 3, 127, 4, 126, 35, 0, 65, 32, 107, 34, 4, 36, 0, 2, 64, 32, 2, 69, 4, 64, 32, 0, 65, 0, 58, 0, 1, 65, 1, 33, 3, 12, 1, 11, 2, 64, 32, 1, 45, 0, 0, 65, 43, 70, 4, 64, 65, 1, 33, 3, 32, 2, 65, 127, 106, 34, 2, 69, 13, 1, 32, 1, 65, 1, 106, 33, 1, 11, 32, 4, 65, 24, 106, 33, 3, 2, 64, 2, 64, 2, 64, 3, 64, 32, 2, 69, 13, 3, 32, 1, 45, 0, 0, 65, 80, 106, 34, 5, 65, 9, 75, 13, 1, 32, 4, 32, 7, 66, 0, 66, 10, 16, 157, 2, 32, 4, 65, 16, 106, 32, 6, 66, 0, 66, 10, 16, 157, 2, 32, 4, 41, 3, 8, 66, 0, 82, 32, 3, 41, 3, 0, 34, 6, 32, 4, 41, 3, 0, 124, 34, 8, 32, 6, 84, 114, 13, 2, 32, 1, 65, 1, 106, 33, 1, 32, 2, 65, 127, 106, 33, 2, 32, 4, 41, 3, 16, 34, 9, 32, 5, 173, 124, 34, 6, 32, 9, 84, 34, 5, 32, 8, 32, 5, 173, 124, 34, 7, 32, 8, 84, 32, 6, 32, 9, 90, 27, 69, 13, 0, 11, 32, 0, 65, 2, 58, 0, 1, 65, 1, 33, 3, 12, 4, 11, 65, 1, 33, 3, 32, 0, 65, 1, 58, 0, 1, 12, 3, 11, 32, 0, 65, 2, 58, 0, 1, 65, 1, 33, 3, 12, 2, 11, 32, 0, 65, 16, 106, 32, 7, 55, 3, 0, 32, 0, 65, 8, 106, 32, 6, 55, 3, 0, 65, 0, 33, 3, 12, 1, 11, 32, 0, 65, 0, 58, 0, 1, 11, 32, 0, 32, 3, 58, 0, 0, 32, 4, 65, 32, 106, 36, 0, 11, 191, 2, 2, 5, 127, 1, 126, 35, 0, 65, 48, 107, 34, 4, 36, 0, 65, 39, 33, 2, 2, 64, 32, 0, 66, 144, 206, 0, 84, 4, 64, 32, 0, 33, 7, 12, 1, 11, 3, 64, 32, 4, 65, 9, 106, 32, 2, 106, 34, 3, 65, 124, 106, 32, 0, 32, 0, 66, 144, 206, 0, 128, 34, 7, 66, 144, 206, 0, 126, 125, 167, 34, 5, 65, 255, 255, 3, 113, 65, 228, 0, 110, 34, 6, 65, 1, 116, 65, 138, 230, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 3, 65, 126, 106, 32, 5, 32, 6, 65, 228, 0, 108, 107, 65, 255, 255, 3, 113, 65, 1, 116, 65, 138, 230, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 2, 65, 124, 106, 33, 2, 32, 0, 66, 255, 193, 215, 47, 86, 32, 7, 33, 0, 13, 0, 11, 11, 32, 7, 167, 34, 3, 65, 227, 0, 74, 4, 64, 32, 2, 65, 126, 106, 34, 2, 32, 4, 65, 9, 106, 106, 32, 7, 167, 34, 3, 32, 3, 65, 255, 255, 3, 113, 65, 228, 0, 110, 34, 3, 65, 228, 0, 108, 107, 65, 255, 255, 3, 113, 65, 1, 116, 65, 138, 230, 192, 0, 106, 47, 0, 0, 59, 0, 0, 11, 2, 64, 32, 3, 65, 10, 78, 4, 64, 32, 2, 65, 126, 106, 34, 2, 32, 4, 65, 9, 106, 106, 32, 3, 65, 1, 116, 65, 138, 230, 192, 0, 106, 47, 0, 0, 59, 0, 0, 12, 1, 11, 32, 2, 65, 127, 106, 34, 2, 32, 4, 65, 9, 106, 106, 32, 3, 65, 48, 106, 58, 0, 0, 11, 32, 1, 65, 168, 226, 192, 0, 65, 0, 32, 4, 65, 9, 106, 32, 2, 106, 65, 39, 32, 2, 107, 16, 251, 1, 32, 4, 65, 48, 106, 36, 0, 11, 140, 1, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 3, 36, 0, 32, 0, 45, 0, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 3, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 4, 65, 48, 114, 32, 4, 65, 55, 106, 32, 4, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 4, 64, 32, 2, 65, 128, 1, 65, 248, 229, 192, 0, 16, 221, 1, 0, 11, 32, 1, 65, 136, 230, 192, 0, 65, 2, 32, 0, 32, 3, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 251, 1, 32, 3, 65, 128, 1, 106, 36, 0, 11, 140, 1, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 3, 36, 0, 32, 0, 40, 2, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 3, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 4, 65, 48, 114, 32, 4, 65, 55, 106, 32, 4, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 4, 64, 32, 2, 65, 128, 1, 65, 248, 229, 192, 0, 16, 221, 1, 0, 11, 32, 1, 65, 136, 230, 192, 0, 65, 2, 32, 0, 32, 3, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 251, 1, 32, 3, 65, 128, 1, 106, 36, 0, 11, 248, 2, 2, 6, 127, 2, 126, 35, 0, 65, 208, 0, 107, 34, 4, 36, 0, 2, 127, 32, 0, 66, 144, 206, 0, 84, 65, 0, 32, 1, 80, 27, 4, 64, 65, 39, 33, 3, 32, 0, 167, 12, 1, 11, 65, 39, 33, 3, 32, 4, 65, 32, 106, 33, 5, 3, 64, 32, 4, 65, 24, 106, 32, 0, 32, 1, 16, 160, 2, 32, 4, 65, 8, 106, 32, 4, 41, 3, 24, 34, 9, 32, 5, 41, 3, 0, 34, 10, 66, 144, 206, 0, 16, 157, 2, 32, 4, 65, 41, 106, 32, 3, 106, 34, 6, 65, 124, 106, 32, 0, 32, 4, 41, 3, 8, 125, 167, 34, 7, 65, 255, 255, 3, 113, 65, 228, 0, 110, 34, 8, 65, 1, 116, 65, 138, 230, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 6, 65, 126, 106, 32, 7, 32, 8, 65, 228, 0, 108, 107, 65, 255, 255, 3, 113, 65, 1, 116, 65, 138, 230, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 0, 66, 255, 193, 215, 47, 86, 32, 1, 66, 0, 82, 32, 1, 80, 32, 3, 65, 124, 106, 33, 3, 32, 9, 33, 0, 32, 10, 33, 1, 27, 13, 0, 11, 32, 9, 167, 11, 34, 5, 65, 227, 0, 74, 4, 64, 32, 3, 65, 126, 106, 34, 3, 32, 4, 65, 41, 106, 106, 32, 5, 32, 5, 65, 255, 255, 3, 113, 65, 228, 0, 110, 34, 5, 65, 228, 0, 108, 107, 65, 255, 255, 3, 113, 65, 1, 116, 65, 138, 230, 192, 0, 106, 47, 0, 0, 59, 0, 0, 11, 2, 64, 32, 5, 65, 10, 78, 4, 64, 32, 3, 65, 126, 106, 34, 3, 32, 4, 65, 41, 106, 106, 32, 5, 65, 1, 116, 65, 138, 230, 192, 0, 106, 47, 0, 0, 59, 0, 0, 12, 1, 11, 32, 3, 65, 127, 106, 34, 3, 32, 4, 65, 41, 106, 106, 32, 5, 65, 48, 106, 58, 0, 0, 11, 32, 2, 65, 168, 226, 192, 0, 65, 0, 32, 4, 65, 41, 106, 32, 3, 106, 65, 39, 32, 3, 107, 16, 251, 1, 32, 4, 65, 208, 0, 106, 36, 0, 11, 20, 0, 32, 0, 41, 3, 0, 32, 0, 65, 8, 106, 41, 3, 0, 32, 1, 16, 147, 2, 11, 28, 0, 32, 1, 40, 2, 24, 65, 140, 251, 192, 0, 65, 5, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 162, 2, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 127, 32, 0, 40, 2, 0, 34, 0, 45, 0, 0, 65, 1, 70, 4, 64, 32, 2, 32, 1, 40, 2, 24, 65, 132, 251, 192, 0, 65, 4, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 58, 0, 8, 32, 2, 32, 1, 54, 2, 0, 32, 2, 65, 0, 58, 0, 9, 32, 2, 65, 0, 54, 2, 4, 32, 2, 32, 0, 65, 1, 106, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 208, 229, 192, 0, 16, 240, 1, 32, 2, 45, 0, 8, 33, 1, 32, 2, 40, 2, 4, 34, 0, 4, 64, 32, 1, 65, 255, 1, 113, 33, 1, 32, 2, 2, 127, 65, 1, 32, 1, 13, 0, 26, 2, 64, 32, 0, 65, 1, 71, 13, 0, 32, 2, 45, 0, 9, 69, 13, 0, 32, 2, 40, 2, 0, 34, 0, 45, 0, 0, 65, 4, 113, 13, 0, 65, 1, 32, 0, 40, 2, 24, 65, 204, 229, 192, 0, 65, 1, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 26, 11, 32, 2, 40, 2, 0, 34, 0, 40, 2, 24, 65, 205, 229, 192, 0, 65, 1, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 34, 1, 58, 0, 8, 11, 32, 1, 65, 255, 1, 113, 65, 0, 71, 12, 1, 11, 32, 1, 40, 2, 24, 65, 136, 251, 192, 0, 65, 4, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 32, 2, 65, 16, 106, 36, 0, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 229, 1, 11, 186, 2, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 4, 36, 0, 32, 0, 40, 2, 0, 33, 0, 2, 64, 2, 64, 2, 127, 2, 64, 32, 1, 40, 2, 0, 34, 3, 65, 16, 113, 69, 4, 64, 32, 0, 45, 0, 0, 33, 2, 32, 3, 65, 32, 113, 13, 1, 32, 2, 173, 66, 255, 1, 131, 32, 1, 16, 144, 2, 12, 2, 11, 32, 0, 45, 0, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 4, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 3, 65, 48, 114, 32, 3, 65, 215, 0, 106, 32, 3, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 13, 2, 32, 1, 65, 136, 230, 192, 0, 65, 2, 32, 0, 32, 4, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 251, 1, 12, 1, 11, 65, 0, 33, 0, 3, 64, 32, 0, 32, 4, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 3, 65, 48, 114, 32, 3, 65, 55, 106, 32, 3, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 13, 2, 32, 1, 65, 136, 230, 192, 0, 65, 2, 32, 0, 32, 4, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 251, 1, 11, 32, 4, 65, 128, 1, 106, 36, 0, 15, 11, 32, 2, 65, 128, 1, 65, 248, 229, 192, 0, 16, 221, 1, 0, 11, 32, 2, 65, 128, 1, 65, 248, 229, 192, 0, 16, 221, 1, 0, 11, 246, 1, 1, 2, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 1, 40, 2, 24, 65, 145, 251, 192, 0, 65, 9, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 33, 3, 32, 2, 65, 0, 58, 0, 5, 32, 2, 32, 3, 58, 0, 4, 32, 2, 32, 1, 54, 2, 0, 32, 2, 32, 0, 54, 2, 12, 32, 2, 65, 154, 251, 192, 0, 65, 11, 32, 2, 65, 12, 106, 65, 244, 250, 192, 0, 16, 232, 1, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 165, 251, 192, 0, 65, 9, 32, 2, 65, 12, 106, 65, 176, 251, 192, 0, 16, 232, 1, 32, 2, 45, 0, 4, 33, 1, 32, 2, 45, 0, 5, 4, 64, 32, 1, 65, 255, 1, 113, 33, 0, 32, 2, 2, 127, 65, 1, 32, 0, 13, 0, 26, 32, 2, 40, 2, 0, 34, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 33, 1, 32, 0, 40, 2, 24, 33, 3, 32, 0, 45, 0, 0, 65, 4, 113, 69, 4, 64, 32, 3, 65, 199, 229, 192, 0, 65, 2, 32, 1, 17, 2, 0, 12, 1, 11, 32, 3, 65, 198, 229, 192, 0, 65, 1, 32, 1, 17, 2, 0, 11, 34, 1, 58, 0, 4, 11, 32, 2, 65, 16, 106, 36, 0, 32, 1, 65, 255, 1, 113, 65, 0, 71, 11, 51, 1, 1, 127, 32, 2, 4, 64, 32, 0, 33, 3, 3, 64, 32, 3, 32, 1, 45, 0, 0, 58, 0, 0, 32, 1, 65, 1, 106, 33, 1, 32, 3, 65, 1, 106, 33, 3, 32, 2, 65, 127, 106, 34, 2, 13, 0, 11, 11, 32, 0, 11, 33, 0, 32, 1, 4, 64, 3, 64, 32, 0, 65, 0, 58, 0, 0, 32, 0, 65, 1, 106, 33, 0, 32, 1, 65, 127, 106, 34, 1, 13, 0, 11, 11, 11, 67, 1, 3, 127, 2, 64, 32, 2, 69, 13, 0, 3, 64, 32, 0, 45, 0, 0, 34, 4, 32, 1, 45, 0, 0, 34, 5, 70, 4, 64, 32, 0, 65, 1, 106, 33, 0, 32, 1, 65, 1, 106, 33, 1, 32, 2, 65, 127, 106, 34, 2, 13, 1, 12, 2, 11, 11, 32, 4, 32, 5, 107, 33, 3, 11, 32, 3, 11, 114, 1, 2, 126, 32, 0, 32, 3, 66, 32, 136, 34, 4, 32, 1, 66, 32, 136, 34, 5, 126, 32, 2, 32, 3, 126, 124, 66, 0, 124, 32, 3, 66, 255, 255, 255, 255, 15, 131, 34, 2, 32, 1, 66, 255, 255, 255, 255, 15, 131, 34, 1, 126, 34, 3, 66, 32, 136, 32, 2, 32, 5, 126, 124, 34, 2, 66, 32, 136, 124, 32, 1, 32, 4, 126, 32, 2, 66, 255, 255, 255, 255, 15, 131, 124, 34, 1, 66, 32, 136, 124, 55, 3, 8, 32, 0, 32, 3, 66, 255, 255, 255, 255, 15, 131, 32, 1, 66, 32, 134, 132, 55, 3, 0, 11, 86, 1, 1, 126, 2, 64, 32, 3, 65, 192, 0, 113, 69, 4, 64, 32, 3, 69, 13, 1, 32, 2, 32, 3, 65, 63, 113, 173, 34, 4, 134, 32, 1, 65, 0, 32, 3, 107, 65, 63, 113, 173, 136, 132, 33, 2, 32, 1, 32, 4, 134, 33, 1, 12, 1, 11, 32, 1, 32, 3, 65, 63, 113, 173, 134, 33, 2, 66, 0, 33, 1, 11, 32, 0, 32, 1, 55, 3, 0, 32, 0, 32, 2, 55, 3, 8, 11, 185, 2, 2, 3, 127, 5, 126, 35, 0, 65, 48, 107, 34, 3, 36, 0, 2, 64, 2, 64, 2, 126, 32, 2, 80, 4, 64, 32, 1, 66, 144, 206, 0, 128, 12, 1, 11, 65, 191, 127, 65, 50, 32, 2, 121, 167, 107, 34, 4, 107, 33, 5, 32, 4, 65, 193, 0, 106, 33, 4, 12, 1, 11, 33, 1, 66, 0, 33, 2, 12, 1, 11, 32, 3, 32, 1, 32, 2, 32, 5, 65, 255, 0, 113, 16, 158, 2, 32, 3, 65, 16, 106, 32, 1, 32, 2, 32, 4, 65, 255, 0, 113, 16, 161, 2, 32, 3, 65, 8, 106, 41, 3, 0, 33, 2, 32, 3, 65, 24, 106, 41, 3, 0, 33, 8, 32, 3, 41, 3, 0, 33, 1, 32, 3, 41, 3, 16, 33, 6, 32, 4, 4, 64, 3, 64, 32, 8, 66, 1, 134, 32, 6, 66, 63, 136, 132, 34, 8, 32, 6, 66, 1, 134, 32, 2, 66, 63, 136, 132, 34, 6, 66, 127, 133, 34, 7, 66, 144, 206, 0, 124, 32, 7, 84, 173, 32, 8, 66, 127, 133, 66, 0, 124, 124, 66, 63, 135, 34, 7, 66, 0, 131, 125, 32, 6, 32, 7, 66, 144, 206, 0, 131, 34, 9, 84, 173, 125, 33, 8, 32, 6, 32, 9, 125, 33, 6, 32, 2, 66, 1, 134, 32, 1, 66, 63, 136, 132, 33, 2, 32, 1, 66, 1, 134, 32, 10, 132, 33, 1, 32, 7, 66, 1, 131, 34, 7, 33, 10, 32, 4, 65, 127, 106, 34, 4, 13, 0, 11, 11, 32, 2, 66, 1, 134, 32, 1, 66, 63, 136, 132, 33, 2, 32, 7, 32, 1, 66, 1, 134, 132, 33, 1, 11, 32, 0, 32, 1, 55, 3, 0, 32, 0, 32, 2, 55, 3, 8, 32, 3, 65, 48, 106, 36, 0, 11, 56, 1, 1, 127, 35, 0, 65, 16, 107, 34, 3, 36, 0, 32, 3, 32, 1, 32, 2, 16, 159, 2, 32, 3, 41, 3, 0, 33, 1, 32, 0, 32, 3, 65, 8, 106, 41, 3, 0, 55, 3, 8, 32, 0, 32, 1, 55, 3, 0, 32, 3, 65, 16, 106, 36, 0, 11, 86, 1, 1, 126, 2, 64, 32, 3, 65, 192, 0, 113, 69, 4, 64, 32, 3, 69, 13, 1, 32, 2, 65, 0, 32, 3, 107, 65, 63, 113, 173, 134, 32, 1, 32, 3, 65, 63, 113, 173, 34, 4, 136, 132, 33, 1, 32, 2, 32, 4, 136, 33, 2, 12, 1, 11, 32, 2, 32, 3, 65, 63, 113, 173, 136, 33, 1, 66, 0, 33, 2, 11, 32, 0, 32, 1, 55, 3, 0, 32, 0, 32, 2, 55, 3, 8, 11, 11, 169, 129, 1, 8, 0, 65, 128, 128, 192, 0, 11, 225, 25, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 97, 100, 100, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 66, 97, 110, 107, 77, 115, 103, 115, 101, 110, 100, 102, 114, 111, 109, 95, 97, 100, 100, 114, 101, 115, 115, 116, 111, 95, 97, 100, 100, 114, 101, 115, 115, 97, 109, 111, 117, 110, 116, 87, 97, 115, 109, 77, 115, 103, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 99, 111, 100, 101, 95, 105, 100, 109, 115, 103, 108, 97, 98, 101, 108, 101, 120, 101, 99, 117, 116, 101, 99, 111, 110, 116, 114, 97, 99, 116, 95, 97, 100, 100, 114, 119, 97, 115, 109, 115, 116, 97, 107, 105, 110, 103, 99, 117, 115, 116, 111, 109, 98, 97, 110, 107, 83, 116, 97, 107, 105, 110, 103, 77, 115, 103, 114, 101, 100, 101, 108, 101, 103, 97, 116, 101, 115, 114, 99, 95, 118, 97, 108, 105, 100, 97, 116, 111, 114, 100, 115, 116, 95, 118, 97, 108, 105, 100, 97, 116, 111, 114, 119, 105, 116, 104, 100, 114, 97, 119, 118, 97, 108, 105, 100, 97, 116, 111, 114, 114, 101, 99, 105, 112, 105, 101, 110, 116, 117, 110, 100, 101, 108, 101, 103, 97, 116, 101, 100, 101, 108, 101, 103, 97, 116, 101, 73, 110, 105, 116, 82, 101, 115, 112, 111, 110, 115, 101, 108, 111, 103, 76, 111, 103, 65, 116, 116, 114, 105, 98, 117, 116, 101, 107, 101, 121, 118, 97, 108, 117, 101, 72, 97, 110, 100, 108, 101, 82, 101, 115, 112, 111, 110, 115, 101, 77, 105, 103, 114, 97, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 67, 111, 105, 110, 100, 101, 110, 111, 109, 66, 97, 110, 107, 81, 117, 101, 114, 121, 97, 108, 108, 95, 98, 97, 108, 97, 110, 99, 101, 115, 97, 100, 100, 114, 101, 115, 115, 98, 97, 108, 97, 110, 99, 101, 87, 97, 115, 109, 81, 117, 101, 114, 121, 114, 97, 119, 115, 109, 97, 114, 116, 83, 116, 97, 107, 105, 110, 103, 81, 117, 101, 114, 121, 118, 97, 108, 105, 100, 97, 116, 111, 114, 115, 100, 101, 108, 101, 103, 97, 116, 105, 111, 110, 100, 101, 108, 101, 103, 97, 116, 111, 114, 97, 108, 108, 95, 100, 101, 108, 101, 103, 97, 116, 105, 111, 110, 115, 98, 111, 110, 100, 101, 100, 95, 100, 101, 110, 111, 109, 65, 108, 108, 66, 97, 108, 97, 110, 99, 101, 82, 101, 115, 112, 111, 110, 115, 101, 98, 108, 111, 99, 107, 109, 101, 115, 115, 97, 103, 101, 99, 111, 110, 116, 114, 97, 99, 116, 69, 109, 112, 116, 121, 104, 101, 105, 103, 104, 116, 116, 105, 109, 101, 99, 104, 97, 105, 110, 95, 105, 100, 115, 101, 110, 100, 101, 114, 115, 101, 110, 116, 95, 102, 117, 110, 100, 115, 83, 116, 100, 69, 114, 114, 111, 114, 117, 110, 100, 101, 114, 102, 108, 111, 119, 109, 105, 110, 117, 101, 110, 100, 115, 117, 98, 116, 114, 97, 104, 101, 110, 100, 117, 110, 97, 117, 116, 104, 111, 114, 105, 122, 101, 100, 115, 101, 114, 105, 97, 108, 105, 122, 101, 95, 101, 114, 114, 115, 111, 117, 114, 99, 101, 112, 97, 114, 115, 101, 95, 101, 114, 114, 116, 97, 114, 103, 101, 116, 110, 111, 116, 95, 102, 111, 117, 110, 100, 107, 105, 110, 100, 105, 110, 118, 97, 108, 105, 100, 95, 117, 116, 102, 56, 105, 110, 118, 97, 108, 105, 100, 95, 98, 97, 115, 101, 54, 52, 103, 101, 110, 101, 114, 105, 99, 95, 101, 114, 114, 83, 101, 114, 105, 97, 108, 105, 122, 105, 110, 103, 32, 81, 117, 101, 114, 121, 82, 101, 113, 117, 101, 115, 116, 58, 32, 0, 0, 0, 119, 2, 16, 0, 26, 0, 0, 0, 81, 117, 101, 114, 105, 101, 114, 32, 115, 121, 115, 116, 101, 109, 32, 101, 114, 114, 111, 114, 58, 32, 0, 0, 156, 2, 16, 0, 22, 0, 0, 0, 47, 99, 111, 100, 101, 47, 112, 97, 99, 107, 97, 103, 101, 115, 47, 115, 116, 100, 47, 115, 114, 99, 47, 101, 120, 112, 111, 114, 116, 115, 46, 114, 115, 0, 0, 0, 188, 2, 16, 0, 33, 0, 0, 0, 115, 0, 0, 0, 13, 0, 0, 0, 188, 2, 16, 0, 33, 0, 0, 0, 62, 0, 0, 0, 13, 0, 0, 0, 188, 2, 16, 0, 33, 0, 0, 0, 95, 0, 0, 0, 13, 0, 0, 0, 188, 2, 16, 0, 33, 0, 0, 0, 82, 0, 0, 0, 13, 0, 0, 0, 99, 97, 110, 110, 111, 116, 32, 99, 111, 110, 118, 101, 114, 116, 32, 67, 111, 110, 116, 101, 120, 116, 32, 119, 105, 116, 104, 32, 100, 97, 116, 97, 32, 116, 111, 32, 73, 110, 105, 116, 82, 101, 115, 112, 111, 110, 115, 101, 13, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 100, 3, 16, 0, 0, 0, 0, 0, 97, 32, 68, 105, 115, 112, 108, 97, 121, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 114, 101, 116, 117, 114, 110, 101, 100, 32, 97, 110, 32, 101, 114, 114, 111, 114, 32, 117, 110, 101, 120, 112, 101, 99, 116, 101, 100, 108, 121, 47, 114, 117, 115, 116, 99, 47, 53, 99, 49, 102, 50, 49, 99, 51, 98, 56, 50, 50, 57, 55, 54, 55, 49, 97, 100, 51, 97, 101, 49, 101, 56, 99, 57, 52, 50, 100, 50, 99, 97, 57, 50, 101, 56, 52, 102, 50, 47, 115, 114, 99, 47, 108, 105, 98, 97, 108, 108, 111, 99, 47, 115, 116, 114, 105, 110, 103, 46, 114, 115, 0, 0, 0, 163, 3, 16, 0, 70, 0, 0, 0, 176, 8, 0, 0, 9, 0, 0, 0, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 99, 111, 110, 116, 114, 97, 99, 116, 58, 58, 82, 101, 99, 117, 114, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 116, 121, 112, 101, 115, 58, 58, 69, 110, 118, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 99, 111, 110, 116, 114, 97, 99, 116, 58, 58, 86, 101, 114, 105, 102, 105, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 99, 111, 110, 116, 114, 97, 99, 116, 58, 58, 72, 97, 110, 100, 108, 101, 77, 115, 103, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 99, 111, 110, 116, 114, 97, 99, 116, 58, 58, 73, 110, 105, 116, 77, 115, 103, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 113, 117, 101, 114, 121, 58, 58, 81, 117, 101, 114, 121, 82, 101, 113, 117, 101, 115, 116, 60, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 116, 121, 112, 101, 115, 58, 58, 69, 109, 112, 116, 121, 62, 99, 111, 114, 101, 58, 58, 114, 101, 115, 117, 108, 116, 58, 58, 82, 101, 115, 117, 108, 116, 60, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 105, 110, 105, 116, 95, 104, 97, 110, 100, 108, 101, 58, 58, 77, 105, 103, 114, 97, 116, 101, 82, 101, 115, 112, 111, 110, 115, 101, 44, 32, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 101, 114, 114, 111, 114, 115, 58, 58, 115, 116, 100, 95, 101, 114, 114, 111, 114, 58, 58, 83, 116, 100, 69, 114, 114, 111, 114, 62, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 113, 117, 101, 114, 121, 58, 58, 65, 108, 108, 66, 97, 108, 97, 110, 99, 101, 82, 101, 115, 112, 111, 110, 115, 101, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 99, 111, 110, 116, 114, 97, 99, 116, 58, 58, 81, 117, 101, 114, 121, 77, 115, 103, 99, 111, 114, 101, 58, 58, 114, 101, 115, 117, 108, 116, 58, 58, 82, 101, 115, 117, 108, 116, 60, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 105, 110, 105, 116, 95, 104, 97, 110, 100, 108, 101, 58, 58, 72, 97, 110, 100, 108, 101, 82, 101, 115, 112, 111, 110, 115, 101, 44, 32, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 101, 114, 114, 111, 114, 115, 58, 58, 115, 116, 100, 95, 101, 114, 114, 111, 114, 58, 58, 83, 116, 100, 69, 114, 114, 111, 114, 62, 99, 111, 114, 101, 58, 58, 114, 101, 115, 117, 108, 116, 58, 58, 82, 101, 115, 117, 108, 116, 60, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 105, 110, 105, 116, 95, 104, 97, 110, 100, 108, 101, 58, 58, 73, 110, 105, 116, 82, 101, 115, 112, 111, 110, 115, 101, 44, 32, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 101, 114, 114, 111, 114, 115, 58, 58, 115, 116, 100, 95, 101, 114, 114, 111, 114, 58, 58, 83, 116, 100, 69, 114, 114, 111, 114, 62, 99, 111, 114, 101, 58, 58, 114, 101, 115, 117, 108, 116, 58, 58, 82, 101, 115, 117, 108, 116, 60, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 101, 110, 99, 111, 100, 105, 110, 103, 58, 58, 66, 105, 110, 97, 114, 121, 44, 32, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 101, 114, 114, 111, 114, 115, 58, 58, 115, 116, 100, 95, 101, 114, 114, 111, 114, 58, 58, 83, 116, 100, 69, 114, 114, 111, 114, 62, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 99, 111, 110, 116, 114, 97, 99, 116, 58, 58, 77, 105, 103, 114, 97, 116, 101, 77, 115, 103, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 99, 111, 110, 116, 114, 97, 99, 116, 58, 58, 83, 116, 97, 116, 101, 0, 0, 13, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 47, 114, 117, 115, 116, 99, 47, 53, 99, 49, 102, 50, 49, 99, 51, 98, 56, 50, 50, 57, 55, 54, 55, 49, 97, 100, 51, 97, 101, 49, 101, 56, 99, 57, 52, 50, 100, 50, 99, 97, 57, 50, 101, 56, 52, 102, 50, 47, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 109, 97, 99, 114, 111, 115, 47, 109, 111, 100, 46, 114, 115, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 19, 0, 0, 0, 99, 97, 108, 108, 101, 100, 32, 96, 82, 101, 115, 117, 108, 116, 58, 58, 117, 110, 119, 114, 97, 112, 40, 41, 96, 32, 111, 110, 32, 97, 110, 32, 96, 69, 114, 114, 96, 32, 118, 97, 108, 117, 101, 0, 20, 0, 0, 0, 28, 0, 0, 0, 4, 0, 0, 0, 21, 0, 0, 0, 0, 7, 16, 0, 73, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 84, 114, 105, 101, 100, 32, 116, 111, 32, 115, 104, 114, 105, 110, 107, 32, 116, 111, 32, 97, 32, 108, 97, 114, 103, 101, 114, 32, 99, 97, 112, 97, 99, 105, 116, 121, 109, 105, 115, 115, 105, 110, 103, 32, 102, 105, 101, 108, 100, 32, 96, 96, 204, 7, 16, 0, 15, 0, 0, 0, 219, 7, 16, 0, 1, 0, 0, 0, 100, 117, 112, 108, 105, 99, 97, 116, 101, 32, 102, 105, 101, 108, 100, 32, 96, 0, 0, 0, 236, 7, 16, 0, 17, 0, 0, 0, 219, 7, 16, 0, 1, 0, 0, 0, 117, 110, 107, 110, 111, 119, 110, 32, 118, 97, 114, 105, 97, 110, 116, 32, 96, 96, 44, 32, 116, 104, 101, 114, 101, 32, 97, 114, 101, 32, 110, 111, 32, 118, 97, 114, 105, 97, 110, 116, 115, 0, 0, 0, 16, 8, 16, 0, 17, 0, 0, 0, 33, 8, 16, 0, 24, 0, 0, 0, 96, 44, 32, 101, 120, 112, 101, 99, 116, 101, 100, 32, 16, 8, 16, 0, 17, 0, 0, 0, 76, 8, 16, 0, 12, 0, 0, 0, 69, 114, 114, 79, 107, 105, 110, 118, 97, 108, 105, 100, 32, 85, 105, 110, 116, 49, 50, 56, 32, 39, 39, 32, 45, 32, 0, 0, 109, 8, 16, 0, 17, 0, 0, 0, 126, 8, 16, 0, 4, 0, 0, 0, 105, 110, 118, 97, 108, 105, 100, 32, 98, 97, 115, 101, 54, 52, 58, 32, 148, 8, 16, 0, 16, 0, 0, 0, 13, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 22, 0, 0, 0, 99, 111, 110, 102, 105, 103, 76, 101, 116, 32, 116, 104, 101, 104, 97, 99, 107, 105, 110, 103, 32, 98, 101, 103, 105, 110, 83, 116, 97, 116, 101, 97, 99, 116, 105, 111, 110, 114, 101, 108, 101, 97, 115, 101, 100, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 240, 11, 170, 115, 114, 99, 47, 99, 111, 110, 116, 114, 97, 99, 116, 46, 114, 115, 0, 0, 0, 246, 8, 16, 0, 15, 0, 0, 0, 172, 0, 0, 0, 9, 0, 0, 0, 116, 101, 115, 116, 46, 107, 101, 121, 246, 8, 16, 0, 15, 0, 0, 0, 186, 0, 0, 0, 9, 0, 0, 0, 109, 117, 115, 116, 32, 110, 111, 116, 32, 98, 101, 32, 101, 109, 112, 116, 121, 0, 0, 0, 246, 8, 16, 0, 15, 0, 0, 0, 194, 0, 0, 0, 21, 0, 0, 0, 246, 8, 16, 0, 15, 0, 0, 0, 194, 0, 0, 0, 19, 0, 0, 0, 69, 114, 114, 111, 114, 32, 105, 110, 32, 109, 101, 109, 111, 114, 121, 46, 103, 114, 111, 119, 32, 105, 110, 115, 116, 114, 117, 99, 116, 105, 111, 110, 84, 104, 105, 115, 32, 112, 97, 103, 101, 32, 105, 110, 116, 101, 110, 116, 105, 111, 110, 97, 108, 108, 121, 32, 102, 97, 117, 108, 116, 101, 100, 0, 246, 8, 16, 0, 15, 0, 0, 0, 219, 0, 0, 0, 5, 0, 0, 0, 118, 101, 114, 105, 102, 105, 101, 114, 98, 101, 110, 101, 102, 105, 99, 105, 97, 114, 121, 102, 117, 110, 100, 101, 114, 99, 112, 117, 95, 108, 111, 111, 112, 115, 116, 111, 114, 97, 103, 101, 95, 108, 111, 111, 112, 109, 101, 109, 111, 114, 121, 95, 108, 111, 111, 112, 97, 108, 108, 111, 99, 97, 116, 101, 95, 108, 97, 114, 103, 101, 95, 109, 101, 109, 111, 114, 121, 112, 97, 110, 105, 99, 0, 0, 225, 8, 16, 0, 7, 0, 0, 0, 205, 9, 16, 0, 8, 0, 0, 0, 213, 9, 16, 0, 12, 0, 0, 0, 225, 9, 16, 0, 11, 0, 0, 0, 236, 9, 16, 0, 21, 0, 0, 0, 1, 10, 16, 0, 5, 0, 0, 0, 81, 117, 101, 114, 121, 77, 115, 103, 111, 116, 104, 101, 114, 95, 98, 97, 108, 97, 110, 99, 101, 114, 101, 99, 117, 114, 115, 101, 100, 101, 112, 116, 104, 119, 111, 114, 107, 0, 0, 0, 180, 9, 16, 0, 8, 0, 0, 0, 64, 10, 16, 0, 13, 0, 0, 0, 77, 10, 16, 0, 7, 0, 0, 0, 86, 101, 114, 105, 102, 105, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 82, 101, 99, 117, 114, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 104, 97, 115, 104, 101, 100, 79, 107, 69, 114, 114, 0, 0, 157, 10, 16, 0, 2, 0, 0, 0, 159, 10, 16, 0, 3, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 33, 0, 0, 0, 34, 0, 0, 0, 200, 10, 16, 0, 0, 0, 0, 0, 97, 32, 68, 105, 115, 112, 108, 97, 121, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 114, 101, 116, 117, 114, 110, 101, 100, 32, 97, 110, 32, 101, 114, 114, 111, 114, 32, 117, 110, 101, 120, 112, 101, 99, 116, 101, 100, 108, 121, 47, 114, 117, 115, 116, 99, 47, 53, 99, 49, 102, 50, 49, 99, 51, 98, 56, 50, 50, 57, 55, 54, 55, 49, 97, 100, 51, 97, 101, 49, 101, 56, 99, 57, 52, 50, 100, 50, 99, 97, 57, 50, 101, 56, 52, 102, 50, 47, 115, 114, 99, 47, 108, 105, 98, 97, 108, 108, 111, 99, 47, 115, 116, 114, 105, 110, 103, 46, 114, 115, 0, 0, 0, 7, 11, 16, 0, 70, 0, 0, 0, 176, 8, 0, 0, 9, 0, 0, 0, 99, 111, 114, 101, 58, 58, 114, 101, 115, 117, 108, 116, 58, 58, 82, 101, 115, 117, 108, 116, 60, 99, 111, 114, 101, 58, 58, 114, 101, 115, 117, 108, 116, 58, 58, 82, 101, 115, 117, 108, 116, 60, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 101, 110, 99, 111, 100, 105, 110, 103, 58, 58, 66, 105, 110, 97, 114, 121, 44, 32, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 101, 114, 114, 111, 114, 115, 58, 58, 115, 116, 100, 95, 101, 114, 114, 111, 114, 58, 58, 83, 116, 100, 69, 114, 114, 111, 114, 62, 44, 32, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 101, 114, 114, 111, 114, 115, 58, 58, 115, 121, 115, 116, 101, 109, 95, 101, 114, 114, 111, 114, 58, 58, 83, 121, 115, 116, 101, 109, 69, 114, 114, 111, 114, 62, 0, 0, 32, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 35, 0, 0, 0, 36, 0, 0, 0, 37, 0, 0, 0, 47, 114, 117, 115, 116, 99, 47, 53, 99, 49, 102, 50, 49, 99, 51, 98, 56, 50, 50, 57, 55, 54, 55, 49, 97, 100, 51, 97, 101, 49, 101, 56, 99, 57, 52, 50, 100, 50, 99, 97, 57, 50, 101, 56, 52, 102, 50, 47, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 109, 97, 99, 114, 111, 115, 47, 109, 111, 100, 46, 114, 115, 0, 0, 0, 38, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 39, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 19, 0, 0, 0, 47, 114, 117, 115, 116, 99, 47, 53, 99, 49, 102, 50, 49, 99, 51, 98, 56, 50, 50, 57, 55, 54, 55, 49, 97, 100, 51, 97, 101, 49, 101, 56, 99, 57, 52, 50, 100, 50, 99, 97, 57, 50, 101, 56, 52, 102, 50, 47, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 111, 112, 115, 47, 97, 114, 105, 116, 104, 46, 114, 115, 140, 12, 16, 0, 72, 0, 0, 0, 174, 2, 0, 0, 51, 0, 65, 240, 153, 192, 0, 11, 145, 6, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 97, 100, 100, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 105, 110, 116, 101, 114, 110, 97, 108, 32, 101, 114, 114, 111, 114, 58, 32, 101, 110, 116, 101, 114, 101, 100, 32, 117, 110, 114, 101, 97, 99, 104, 97, 98, 108, 101, 32, 99, 111, 100, 101, 58, 32, 0, 0, 12, 13, 16, 0, 42, 0, 0, 0, 32, 12, 16, 0, 73, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 84, 114, 105, 101, 100, 32, 116, 111, 32, 115, 104, 114, 105, 110, 107, 32, 116, 111, 32, 97, 32, 108, 97, 114, 103, 101, 114, 32, 99, 97, 112, 97, 99, 105, 116, 121, 109, 105, 115, 115, 105, 110, 103, 32, 102, 105, 101, 108, 100, 32, 96, 96, 116, 13, 16, 0, 15, 0, 0, 0, 131, 13, 16, 0, 1, 0, 0, 0, 100, 117, 112, 108, 105, 99, 97, 116, 101, 32, 102, 105, 101, 108, 100, 32, 96, 0, 0, 0, 148, 13, 16, 0, 17, 0, 0, 0, 131, 13, 16, 0, 1, 0, 0, 0, 117, 110, 107, 110, 111, 119, 110, 32, 118, 97, 114, 105, 97, 110, 116, 32, 96, 96, 44, 32, 116, 104, 101, 114, 101, 32, 97, 114, 101, 32, 110, 111, 32, 118, 97, 114, 105, 97, 110, 116, 115, 0, 0, 0, 184, 13, 16, 0, 17, 0, 0, 0, 201, 13, 16, 0, 24, 0, 0, 0, 96, 44, 32, 101, 120, 112, 101, 99, 116, 101, 100, 32, 184, 13, 16, 0, 17, 0, 0, 0, 244, 13, 16, 0, 12, 0, 0, 0, 83, 111, 109, 101, 32, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 40, 0, 0, 0, 78, 111, 110, 101, 32, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 41, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 98, 97, 115, 101, 54, 52, 45, 48, 46, 49, 49, 46, 48, 47, 115, 114, 99, 47, 100, 101, 99, 111, 100, 101, 46, 114, 115, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 199, 1, 0, 0, 31, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 205, 1, 0, 0, 31, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 208, 1, 0, 0, 13, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 214, 1, 0, 0, 31, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 217, 1, 0, 0, 13, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 223, 1, 0, 0, 31, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 226, 1, 0, 0, 13, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 232, 1, 0, 0, 31, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 235, 1, 0, 0, 13, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 241, 1, 0, 0, 31, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 244, 1, 0, 0, 13, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 250, 1, 0, 0, 31, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 253, 1, 0, 0, 13, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 3, 2, 0, 0, 31, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 6, 2, 0, 0, 13, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 109, 0, 0, 0, 47, 0, 0, 0, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 109, 117, 108, 116, 105, 112, 108, 121, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 248, 0, 0, 0, 55, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 248, 0, 0, 0, 36, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 249, 0, 0, 0, 62, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 249, 0, 0, 0, 41, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 22, 1, 0, 0, 17, 0, 65, 144, 160, 192, 0, 11, 209, 26, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 115, 117, 98, 116, 114, 97, 99, 116, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 31, 1, 0, 0, 41, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 31, 1, 0, 0, 22, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 35, 1, 0, 0, 41, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 35, 1, 0, 0, 40, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 34, 1, 0, 0, 26, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 40, 1, 0, 0, 17, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 54, 1, 0, 0, 14, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 57, 1, 0, 0, 39, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 57, 1, 0, 0, 18, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 60, 1, 0, 0, 9, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 77, 1, 0, 0, 19, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 91, 1, 0, 0, 41, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 109, 1, 0, 0, 13, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 119, 1, 0, 0, 17, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 127, 1, 0, 0, 21, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 131, 1, 0, 0, 49, 0, 0, 0, 73, 109, 112, 111, 115, 115, 105, 98, 108, 101, 58, 32, 109, 117, 115, 116, 32, 111, 110, 108, 121, 32, 104, 97, 118, 101, 32, 48, 32, 116, 111, 32, 56, 32, 105, 110, 112, 117, 116, 32, 98, 121, 116, 101, 115, 32, 105, 110, 32, 108, 97, 115, 116, 32, 99, 104, 117, 110, 107, 44, 32, 119, 105, 116, 104, 32, 110, 111, 32, 105, 110, 118, 97, 108, 105, 100, 32, 108, 101, 110, 103, 116, 104, 115, 52, 17, 16, 0, 84, 0, 0, 0, 47, 114, 117, 115, 116, 99, 47, 53, 99, 49, 102, 50, 49, 99, 51, 98, 56, 50, 50, 57, 55, 54, 55, 49, 97, 100, 51, 97, 101, 49, 101, 56, 99, 57, 52, 50, 100, 50, 99, 97, 57, 50, 101, 56, 52, 102, 50, 47, 115, 114, 99, 47, 108, 105, 98, 115, 116, 100, 47, 109, 97, 99, 114, 111, 115, 46, 114, 115, 144, 17, 16, 0, 68, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 157, 1, 0, 0, 13, 0, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 166, 1, 0, 0, 9, 0, 0, 0, 79, 118, 101, 114, 102, 108, 111, 119, 32, 119, 104, 101, 110, 32, 99, 97, 108, 99, 117, 108, 97, 116, 105, 110, 103, 32, 111, 117, 116, 112, 117, 116, 32, 98, 117, 102, 102, 101, 114, 32, 108, 101, 110, 103, 116, 104, 0, 0, 56, 14, 16, 0, 85, 0, 0, 0, 146, 0, 0, 0, 32, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 98, 97, 115, 101, 54, 52, 45, 48, 46, 49, 49, 46, 48, 47, 115, 114, 99, 47, 101, 110, 99, 111, 100, 101, 46, 114, 115, 73, 110, 118, 97, 108, 105, 100, 32, 85, 84, 70, 56, 0, 0, 0, 68, 18, 16, 0, 85, 0, 0, 0, 53, 0, 0, 0, 5, 0, 0, 0, 105, 110, 116, 101, 103, 101, 114, 32, 111, 118, 101, 114, 102, 108, 111, 119, 32, 119, 104, 101, 110, 32, 99, 97, 108, 99, 117, 108, 97, 116, 105, 110, 103, 32, 98, 117, 102, 102, 101, 114, 32, 115, 105, 122, 101, 0, 0, 0, 144, 17, 16, 0, 68, 0, 0, 0, 13, 0, 0, 0, 23, 0, 0, 0, 117, 115, 105, 122, 101, 32, 111, 118, 101, 114, 102, 108, 111, 119, 32, 119, 104, 101, 110, 32, 99, 97, 108, 99, 117, 108, 97, 116, 105, 110, 103, 32, 98, 117, 102, 102, 101, 114, 32, 115, 105, 122, 101, 0, 68, 18, 16, 0, 85, 0, 0, 0, 125, 0, 0, 0, 24, 0, 0, 0, 68, 18, 16, 0, 85, 0, 0, 0, 128, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 42, 0, 0, 0, 105, 110, 118, 97, 108, 105, 100, 32, 98, 97, 115, 101, 54, 52, 58, 32, 84, 19, 16, 0, 16, 0, 0, 0, 85, 110, 115, 117, 112, 112, 111, 114, 116, 101, 100, 32, 113, 117, 101, 114, 121, 32, 116, 121, 112, 101, 58, 32, 108, 19, 16, 0, 24, 0, 0, 0, 85, 110, 107, 110, 111, 119, 110, 32, 115, 121, 115, 116, 101, 109, 32, 101, 114, 114, 111, 114, 140, 19, 16, 0, 20, 0, 0, 0, 78, 111, 32, 115, 117, 99, 104, 32, 99, 111, 110, 116, 114, 97, 99, 116, 58, 32, 0, 0, 168, 19, 16, 0, 18, 0, 0, 0, 67, 97, 110, 110, 111, 116, 32, 112, 97, 114, 115, 101, 32, 114, 101, 115, 112, 111, 110, 115, 101, 58, 32, 32, 105, 110, 58, 32, 196, 19, 16, 0, 23, 0, 0, 0, 219, 19, 16, 0, 5, 0, 0, 0, 67, 97, 110, 110, 111, 116, 32, 112, 97, 114, 115, 101, 32, 114, 101, 113, 117, 101, 115, 116, 58, 32, 0, 0, 240, 19, 16, 0, 22, 0, 0, 0, 219, 19, 16, 0, 5, 0, 0, 0, 99, 97, 110, 111, 110, 105, 99, 97, 108, 105, 122, 101, 95, 97, 100, 100, 114, 101, 115, 115, 32, 101, 114, 114, 111, 114, 101, 100, 58, 32, 0, 0, 24, 20, 16, 0, 30, 0, 0, 0, 104, 117, 109, 97, 110, 105, 122, 101, 95, 97, 100, 100, 114, 101, 115, 115, 32, 101, 114, 114, 111, 114, 101, 100, 58, 32, 0, 0, 64, 20, 16, 0, 26, 0, 0, 0, 47, 99, 111, 100, 101, 47, 112, 97, 99, 107, 97, 103, 101, 115, 47, 115, 116, 100, 47, 115, 114, 99, 47, 109, 101, 109, 111, 114, 121, 46, 114, 115, 82, 101, 103, 105, 111, 110, 32, 112, 111, 105, 110, 116, 101, 114, 32, 105, 115, 32, 110, 117, 108, 108, 0, 0, 100, 20, 16, 0, 32, 0, 0, 0, 57, 0, 0, 0, 5, 0, 0, 0, 82, 101, 103, 105, 111, 110, 32, 115, 116, 97, 114, 116, 115, 32, 97, 116, 32, 110, 117, 108, 108, 32, 112, 111, 105, 110, 116, 101, 114, 0, 0, 0, 100, 20, 16, 0, 32, 0, 0, 0, 63, 0, 0, 0, 5, 0, 0, 0, 103, 101, 110, 101, 114, 105, 99, 95, 101, 114, 114, 109, 115, 103, 105, 110, 118, 97, 108, 105, 100, 95, 98, 97, 115, 101, 54, 52, 105, 110, 118, 97, 108, 105, 100, 95, 117, 116, 102, 56, 110, 111, 116, 95, 102, 111, 117, 110, 100, 107, 105, 110, 100, 112, 97, 114, 115, 101, 95, 101, 114, 114, 116, 97, 114, 103, 101, 116, 115, 101, 114, 105, 97, 108, 105, 122, 101, 95, 101, 114, 114, 115, 111, 117, 114, 99, 101, 117, 110, 97, 117, 116, 104, 111, 114, 105, 122, 101, 100, 117, 110, 100, 101, 114, 102, 108, 111, 119, 109, 105, 110, 117, 101, 110, 100, 115, 117, 98, 116, 114, 97, 104, 101, 110, 100, 67, 97, 110, 110, 111, 116, 32, 115, 117, 98, 116, 114, 97, 99, 116, 32, 32, 102, 114, 111, 109, 32, 0, 89, 21, 16, 0, 16, 0, 0, 0, 105, 21, 16, 0, 6, 0, 0, 0, 85, 110, 97, 117, 116, 104, 111, 114, 105, 122, 101, 100, 128, 21, 16, 0, 12, 0, 0, 0, 69, 114, 114, 111, 114, 32, 115, 101, 114, 105, 97, 108, 105, 122, 105, 110, 103, 32, 116, 121, 112, 101, 32, 58, 32, 0, 0, 0, 148, 21, 16, 0, 23, 0, 0, 0, 171, 21, 16, 0, 2, 0, 0, 0, 69, 114, 114, 111, 114, 32, 112, 97, 114, 115, 105, 110, 103, 32, 105, 110, 116, 111, 32, 116, 121, 112, 101, 32, 192, 21, 16, 0, 24, 0, 0, 0, 171, 21, 16, 0, 2, 0, 0, 0, 32, 110, 111, 116, 32, 102, 111, 117, 110, 100, 0, 0, 200, 10, 16, 0, 0, 0, 0, 0, 232, 21, 16, 0, 10, 0, 0, 0, 67, 97, 110, 110, 111, 116, 32, 100, 101, 99, 111, 100, 101, 32, 85, 84, 70, 56, 32, 98, 121, 116, 101, 115, 32, 105, 110, 116, 111, 32, 115, 116, 114, 105, 110, 103, 58, 32, 0, 0, 4, 22, 16, 0, 38, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 32, 66, 97, 115, 101, 54, 52, 32, 115, 116, 114, 105, 110, 103, 58, 32, 0, 52, 22, 16, 0, 23, 0, 0, 0, 71, 101, 110, 101, 114, 105, 99, 32, 101, 114, 114, 111, 114, 58, 32, 0, 84, 22, 16, 0, 15, 0, 0, 0, 220, 20, 16, 0, 11, 0, 0, 0, 234, 20, 16, 0, 14, 0, 0, 0, 248, 20, 16, 0, 12, 0, 0, 0, 4, 21, 16, 0, 9, 0, 0, 0, 17, 21, 16, 0, 9, 0, 0, 0, 32, 21, 16, 0, 13, 0, 0, 0, 51, 21, 16, 0, 12, 0, 0, 0, 63, 21, 16, 0, 9, 0, 0, 0, 85, 110, 100, 101, 114, 102, 108, 111, 119, 98, 97, 99, 107, 116, 114, 97, 99, 101, 0, 0, 32, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 43, 0, 0, 0, 83, 101, 114, 105, 97, 108, 105, 122, 101, 69, 114, 114, 80, 97, 114, 115, 101, 69, 114, 114, 78, 111, 116, 70, 111, 117, 110, 100, 73, 110, 118, 97, 108, 105, 100, 85, 116, 102, 56, 73, 110, 118, 97, 108, 105, 100, 66, 97, 115, 101, 54, 52, 71, 101, 110, 101, 114, 105, 99, 69, 114, 114, 105, 110, 118, 97, 108, 105, 100, 95, 114, 101, 113, 117, 101, 115, 116, 101, 114, 114, 111, 114, 114, 101, 113, 117, 101, 115, 116, 105, 110, 118, 97, 108, 105, 100, 95, 114, 101, 115, 112, 111, 110, 115, 101, 114, 101, 115, 112, 111, 110, 115, 101, 110, 111, 95, 115, 117, 99, 104, 95, 99, 111, 110, 116, 114, 97, 99, 116, 97, 100, 100, 114, 117, 110, 107, 110, 111, 119, 110, 117, 110, 115, 117, 112, 112, 111, 114, 116, 101, 100, 95, 114, 101, 113, 117, 101, 115, 116, 0, 14, 23, 16, 0, 15, 0, 0, 0, 41, 23, 16, 0, 16, 0, 0, 0, 65, 23, 16, 0, 16, 0, 0, 0, 85, 23, 16, 0, 7, 0, 0, 0, 92, 23, 16, 0, 19, 0, 0, 0, 46, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 46, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 49, 0, 0, 0, 172, 23, 16, 0, 0, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 32, 74, 83, 79, 78, 74, 83, 79, 78, 32, 104, 97, 115, 32, 97, 32, 99, 111, 109, 109, 97, 32, 97, 102, 116, 101, 114, 32, 116, 104, 101, 32, 108, 97, 115, 116, 32, 118, 97, 108, 117, 101, 32, 105, 110, 32, 97, 110, 32, 97, 114, 114, 97, 121, 32, 111, 114, 32, 109, 97, 112, 46, 74, 83, 79, 78, 32, 104, 97, 115, 32, 110, 111, 110, 45, 119, 104, 105, 116, 101, 115, 112, 97, 99, 101, 32, 116, 114, 97, 105, 108, 105, 110, 103, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 115, 32, 97, 102, 116, 101, 114, 32, 116, 104, 101, 32, 118, 97, 108, 117, 101, 46, 70, 111, 117, 110, 100, 32, 97, 32, 108, 111, 110, 101, 32, 115, 117, 114, 114, 111, 103, 97, 116, 101, 44, 32, 119, 104, 105, 99, 104, 32, 99, 97, 110, 32, 101, 120, 105, 115, 116, 32, 105, 110, 32, 74, 83, 79, 78, 32, 98, 117, 116, 32, 99, 97, 110, 110, 111, 116, 32, 98, 101, 32, 101, 110, 99, 111, 100, 101, 100, 32, 116, 111, 32, 85, 84, 70, 45, 56, 46, 79, 98, 106, 101, 99, 116, 32, 107, 101, 121, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 115, 116, 114, 105, 110, 103, 46, 73, 110, 118, 97, 108, 105, 100, 32, 117, 110, 105, 99, 111, 100, 101, 32, 99, 111, 100, 101, 32, 112, 111, 105, 110, 116, 46, 73, 110, 118, 97, 108, 105, 100, 32, 116, 121, 112, 101, 73, 110, 118, 97, 108, 105, 100, 32, 110, 117, 109, 98, 101, 114, 46, 73, 110, 118, 97, 108, 105, 100, 32, 101, 115, 99, 97, 112, 101, 32, 115, 101, 113, 117, 101, 110, 99, 101, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 116, 104, 105, 115, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 116, 111, 32, 115, 116, 97, 114, 116, 32, 97, 32, 74, 83, 79, 78, 32, 118, 97, 108, 117, 101, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 116, 111, 32, 112, 97, 114, 115, 101, 32, 101, 105, 116, 104, 101, 114, 32, 97, 32, 96, 116, 114, 117, 101, 96, 44, 32, 96, 102, 97, 108, 115, 101, 96, 44, 32, 111, 114, 32, 97, 32, 96, 110, 117, 108, 108, 96, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 116, 104, 105, 115, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 116, 111, 32, 98, 101, 32, 101, 105, 116, 104, 101, 114, 32, 97, 32, 96, 39, 44, 39, 96, 32, 111, 114, 32, 97, 32, 96, 39, 125, 39, 96, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 97, 32, 108, 111, 119, 32, 115, 117, 114, 114, 111, 103, 97, 116, 101, 32, 40, 68, 67, 48, 48, 226, 128, 147, 68, 70, 70, 70, 41, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 116, 104, 105, 115, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 116, 111, 32, 98, 101, 32, 101, 105, 116, 104, 101, 114, 32, 97, 32, 96, 39, 44, 39, 96, 32, 111, 114, 97, 32, 96, 39, 93, 39, 96, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 97, 32, 104, 105, 103, 104, 32, 115, 117, 114, 114, 111, 103, 97, 116, 101, 32, 40, 68, 56, 48, 48, 226, 128, 147, 68, 66, 70, 70, 41, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 116, 104, 105, 115, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 116, 111, 32, 98, 101, 32, 97, 32, 96, 39, 58, 39, 96, 46, 69, 79, 70, 32, 119, 104, 105, 108, 101, 32, 112, 97, 114, 115, 105, 110, 103, 32, 97, 32, 74, 83, 79, 78, 32, 118, 97, 108, 117, 101, 46, 69, 79, 70, 32, 119, 104, 105, 108, 101, 32, 112, 97, 114, 115, 105, 110, 103, 32, 97, 32, 115, 116, 114, 105, 110, 103, 46, 69, 79, 70, 32, 119, 104, 105, 108, 101, 32, 112, 97, 114, 115, 105, 110, 103, 32, 97, 110, 32, 111, 98, 106, 101, 99, 116, 46, 69, 79, 70, 32, 119, 104, 105, 108, 101, 32, 112, 97, 114, 115, 105, 110, 103, 32, 97, 32, 108, 105, 115, 116, 46, 67, 111, 110, 116, 114, 111, 108, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 102, 111, 117, 110, 100, 32, 105, 110, 32, 115, 116, 114, 105, 110, 103, 46, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 115, 101, 114, 100, 101, 45, 106, 115, 111, 110, 45, 119, 97, 115, 109, 45, 48, 46, 50, 46, 49, 47, 115, 114, 99, 47, 100, 101, 47, 117, 110, 101, 115, 99, 97, 112, 101, 46, 114, 115, 0, 0, 216, 26, 16, 0, 98, 0, 0, 0, 37, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 97, 100, 100, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 216, 26, 16, 0, 98, 0, 0, 0, 51, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 115, 117, 98, 116, 114, 97, 99, 116, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 78, 111, 110, 45, 104, 101, 120, 32, 65, 83, 67, 73, 73, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 102, 111, 117, 110, 100, 0, 0, 216, 26, 16, 0, 98, 0, 0, 0, 153, 0, 0, 0, 14, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 115, 101, 114, 100, 101, 45, 106, 115, 111, 110, 45, 119, 97, 115, 109, 45, 48, 46, 50, 46, 49, 47, 115, 114, 99, 47, 100, 101, 47, 109, 111, 100, 46, 114, 115, 0, 0, 0, 208, 27, 16, 0, 93, 0, 0, 0, 30, 0, 0, 0, 9, 0, 0, 0, 208, 27, 16, 0, 93, 0, 0, 0, 137, 0, 0, 0, 52, 0, 0, 0, 208, 27, 16, 0, 93, 0, 0, 0, 123, 0, 0, 0, 43, 0, 0, 0, 208, 27, 16, 0, 93, 0, 0, 0, 123, 0, 0, 0, 32, 0, 0, 0, 208, 27, 16, 0, 93, 0, 0, 0, 124, 0, 0, 0, 33, 0, 0, 0, 85, 110, 107, 110, 111, 119, 110, 32, 115, 101, 114, 105, 97, 108, 105, 122, 97, 116, 105, 111, 110, 32, 101, 114, 114, 111, 114, 0, 128, 28, 16, 0, 27, 0, 0, 0, 66, 117, 102, 102, 101, 114, 32, 105, 115, 32, 102, 117, 108, 108, 0, 0, 164, 28, 16, 0, 14, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 115, 101, 114, 100, 101, 45, 106, 115, 111, 110, 45, 119, 97, 115, 109, 45, 48, 46, 50, 46, 49, 47, 115, 114, 99, 47, 115, 101, 114, 47, 109, 111, 100, 46, 114, 115, 0, 0, 188, 28, 16, 0, 94, 0, 0, 0, 204, 0, 0, 0, 9, 0, 0, 0, 188, 28, 16, 0, 94, 0, 0, 0, 209, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 115, 117, 98, 116, 114, 97, 99, 116, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 0, 65, 240, 186, 192, 0, 11, 161, 19, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 97, 100, 100, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 98, 97, 115, 101, 54, 52, 45, 48, 46, 49, 49, 46, 48, 47, 115, 114, 99, 47, 101, 110, 99, 111, 100, 101, 46, 114, 115, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 151, 0, 0, 0, 39, 0, 0, 0, 117, 115, 105, 122, 101, 32, 111, 118, 101, 114, 102, 108, 111, 119, 32, 119, 104, 101, 110, 32, 99, 97, 108, 99, 117, 108, 97, 116, 105, 110, 103, 32, 98, 54, 52, 32, 108, 101, 110, 103, 116, 104, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 156, 0, 0, 0, 25, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 187, 0, 0, 0, 51, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 187, 0, 0, 0, 32, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 188, 0, 0, 0, 58, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 188, 0, 0, 0, 37, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 252, 0, 0, 0, 24, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 1, 1, 0, 0, 47, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 1, 1, 0, 0, 28, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 2, 1, 0, 0, 54, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 2, 1, 0, 0, 33, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 16, 1, 0, 0, 46, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 16, 1, 0, 0, 9, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 18, 1, 0, 0, 15, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 17, 1, 0, 0, 9, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 20, 1, 0, 0, 9, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 22, 1, 0, 0, 9, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 24, 1, 0, 0, 46, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 24, 1, 0, 0, 9, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 25, 1, 0, 0, 9, 0, 0, 0, 105, 110, 116, 101, 114, 110, 97, 108, 32, 101, 114, 114, 111, 114, 58, 32, 101, 110, 116, 101, 114, 101, 100, 32, 117, 110, 114, 101, 97, 99, 104, 97, 98, 108, 101, 32, 99, 111, 100, 101, 58, 32, 0, 0, 80, 31, 16, 0, 42, 0, 0, 0, 73, 109, 112, 111, 115, 115, 105, 98, 108, 101, 32, 114, 101, 109, 97, 105, 110, 100, 101, 114, 132, 31, 16, 0, 20, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 47, 1, 0, 0, 22, 0, 0, 0, 140, 29, 16, 0, 85, 0, 0, 0, 64, 1, 0, 0, 9, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 32, 108, 97, 115, 116, 32, 115, 121, 109, 98, 111, 108, 32, 44, 32, 111, 102, 102, 115, 101, 116, 32, 46, 0, 0, 192, 31, 16, 0, 20, 0, 0, 0, 212, 31, 16, 0, 9, 0, 0, 0, 221, 31, 16, 0, 1, 0, 0, 0, 69, 110, 99, 111, 100, 101, 100, 32, 116, 101, 120, 116, 32, 99, 97, 110, 110, 111, 116, 32, 104, 97, 118, 101, 32, 97, 32, 54, 45, 98, 105, 116, 32, 114, 101, 109, 97, 105, 110, 100, 101, 114, 46, 0, 248, 31, 16, 0, 43, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 32, 98, 121, 116, 101, 32, 0, 0, 0, 44, 32, 16, 0, 13, 0, 0, 0, 212, 31, 16, 0, 9, 0, 0, 0, 221, 31, 16, 0, 1, 0, 0, 0, 79, 118, 101, 114, 102, 108, 111, 119, 32, 119, 104, 101, 110, 32, 99, 97, 108, 99, 117, 108, 97, 116, 105, 110, 103, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 99, 104, 117, 110, 107, 115, 32, 105, 110, 32, 105, 110, 112, 117, 116, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 98, 97, 115, 101, 54, 52, 45, 48, 46, 49, 49, 46, 48, 47, 115, 114, 99, 47, 100, 101, 99, 111, 100, 101, 46, 114, 115, 135, 32, 16, 0, 85, 0, 0, 0, 184, 0, 0, 0, 5, 0, 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 45, 95, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 255, 255, 255, 255, 255, 255, 255, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 255, 255, 255, 255, 255, 255, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 63, 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 255, 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 108, 33, 16, 0, 44, 33, 16, 0, 236, 32, 16, 0, 172, 35, 16, 0, 172, 34, 16, 0, 172, 33, 16, 0, 53, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 47, 114, 117, 115, 116, 99, 47, 53, 99, 49, 102, 50, 49, 99, 51, 98, 56, 50, 50, 57, 55, 54, 55, 49, 97, 100, 51, 97, 101, 49, 101, 56, 99, 57, 52, 50, 100, 50, 99, 97, 57, 50, 101, 56, 52, 102, 50, 47, 115, 114, 99, 47, 108, 105, 98, 115, 116, 100, 47, 115, 121, 110, 99, 47, 111, 110, 99, 101, 46, 114, 115, 0, 216, 36, 16, 0, 71, 0, 0, 0, 8, 1, 0, 0, 41, 0, 0, 0, 40, 41, 99, 97, 108, 108, 101, 100, 32, 96, 79, 112, 116, 105, 111, 110, 58, 58, 117, 110, 119, 114, 97, 112, 40, 41, 96, 32, 111, 110, 32, 97, 32, 96, 78, 111, 110, 101, 96, 32, 118, 97, 108, 117, 101, 82, 85, 83, 84, 95, 66, 65, 67, 75, 84, 82, 65, 67, 69, 49, 107, 37, 16, 0, 1, 0, 0, 0, 82, 85, 83, 84, 95, 76, 73, 66, 95, 66, 65, 67, 75, 84, 82, 65, 67, 69, 66, 97, 99, 107, 116, 114, 97, 99, 101, 0, 53, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 56, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 103, 101, 110, 101, 114, 105, 99, 45, 97, 114, 114, 97, 121, 45, 48, 46, 49, 52, 46, 51, 47, 115, 114, 99, 47, 108, 105, 98, 46, 114, 115, 0, 0, 0, 160, 37, 16, 0, 89, 0, 0, 0, 126, 1, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 97, 100, 100, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 98, 108, 111, 99, 107, 45, 98, 117, 102, 102, 101, 114, 45, 48, 46, 57, 46, 48, 47, 115, 114, 99, 47, 108, 105, 98, 46, 114, 115, 0, 44, 38, 16, 0, 87, 0, 0, 0, 132, 0, 0, 0, 9, 0, 0, 0, 44, 38, 16, 0, 87, 0, 0, 0, 133, 0, 0, 0, 9, 0, 0, 0, 44, 38, 16, 0, 87, 0, 0, 0, 135, 0, 0, 0, 23, 0, 0, 0, 44, 38, 16, 0, 87, 0, 0, 0, 139, 0, 0, 0, 27, 0, 0, 0, 44, 38, 16, 0, 87, 0, 0, 0, 58, 0, 0, 0, 35, 0, 0, 0, 44, 38, 16, 0, 87, 0, 0, 0, 58, 0, 0, 0, 13, 0, 0, 0, 44, 38, 16, 0, 87, 0, 0, 0, 59, 0, 0, 0, 13, 0, 0, 0, 44, 38, 16, 0, 87, 0, 0, 0, 65, 0, 0, 0, 13, 0, 0, 0, 44, 38, 16, 0, 87, 0, 0, 0, 85, 0, 0, 0, 9, 0, 65, 160, 206, 192, 0, 11, 230, 29, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 115, 117, 98, 116, 114, 97, 99, 116, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 0, 0, 0, 44, 38, 16, 0, 87, 0, 0, 0, 214, 0, 0, 0, 9, 0, 0, 0, 97, 115, 115, 101, 114, 116, 105, 111, 110, 32, 102, 97, 105, 108, 101, 100, 58, 32, 96, 40, 108, 101, 102, 116, 32, 61, 61, 32, 114, 105, 103, 104, 116, 41, 96, 10, 32, 32, 108, 101, 102, 116, 58, 32, 96, 96, 44, 10, 32, 114, 105, 103, 104, 116, 58, 32, 96, 47, 114, 117, 115, 116, 99, 47, 53, 99, 49, 102, 50, 49, 99, 51, 98, 56, 50, 50, 57, 55, 54, 55, 49, 97, 100, 51, 97, 101, 49, 101, 56, 99, 57, 52, 50, 100, 50, 99, 97, 57, 50, 101, 56, 52, 102, 50, 47, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 109, 97, 99, 114, 111, 115, 47, 109, 111, 100, 46, 114, 115, 0, 0, 141, 39, 16, 0, 73, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, 96, 58, 32, 0, 84, 39, 16, 0, 45, 0, 0, 0, 129, 39, 16, 0, 12, 0, 0, 0, 232, 39, 16, 0, 3, 0, 0, 0, 100, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 32, 97, 110, 100, 32, 115, 111, 117, 114, 99, 101, 32, 115, 108, 105, 99, 101, 115, 32, 104, 97, 118, 101, 32, 100, 105, 102, 102, 101, 114, 101, 110, 116, 32, 108, 101, 110, 103, 116, 104, 115, 4, 40, 16, 0, 52, 0, 0, 0, 103, 230, 9, 106, 133, 174, 103, 187, 114, 243, 110, 60, 58, 245, 79, 165, 127, 82, 14, 81, 140, 104, 5, 155, 171, 217, 131, 31, 25, 205, 224, 91, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 115, 104, 97, 50, 45, 48, 46, 57, 46, 49, 47, 115, 114, 99, 47, 115, 104, 97, 50, 53, 54, 46, 114, 115, 0, 0, 96, 40, 16, 0, 82, 0, 0, 0, 31, 0, 0, 0, 9, 0, 0, 0, 61, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 61, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 64, 0, 0, 0, 96, 111, 110, 101, 32, 111, 102, 32, 233, 40, 16, 0, 7, 0, 0, 0, 44, 32, 0, 0, 248, 40, 16, 0, 2, 0, 0, 0, 232, 40, 16, 0, 1, 0, 0, 0, 232, 40, 16, 0, 1, 0, 0, 0, 96, 32, 111, 114, 32, 96, 0, 0, 232, 40, 16, 0, 1, 0, 0, 0, 20, 41, 16, 0, 6, 0, 0, 0, 232, 40, 16, 0, 1, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 115, 101, 114, 100, 101, 45, 49, 46, 48, 46, 49, 48, 52, 47, 115, 114, 99, 47, 100, 101, 47, 109, 111, 100, 46, 114, 115, 101, 120, 112, 108, 105, 99, 105, 116, 32, 112, 97, 110, 105, 99, 0, 52, 41, 16, 0, 85, 0, 0, 0, 213, 8, 0, 0, 18, 0, 0, 0, 67, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 68, 0, 0, 0, 69, 0, 0, 0, 70, 0, 0, 0, 67, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 71, 0, 0, 0, 47, 114, 117, 115, 116, 99, 47, 53, 99, 49, 102, 50, 49, 99, 51, 98, 56, 50, 50, 57, 55, 54, 55, 49, 97, 100, 51, 97, 101, 49, 101, 56, 99, 57, 52, 50, 100, 50, 99, 97, 57, 50, 101, 56, 52, 102, 50, 47, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 109, 97, 99, 114, 111, 115, 47, 109, 111, 100, 46, 114, 115, 0, 0, 0, 208, 41, 16, 0, 73, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 97, 108, 114, 101, 97, 100, 121, 32, 98, 111, 114, 114, 111, 119, 101, 100, 47, 114, 117, 115, 116, 99, 47, 53, 99, 49, 102, 50, 49, 99, 51, 98, 56, 50, 50, 57, 55, 54, 55, 49, 97, 100, 51, 97, 101, 49, 101, 56, 99, 57, 52, 50, 100, 50, 99, 97, 57, 50, 101, 56, 52, 102, 50, 47, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 99, 101, 108, 108, 46, 114, 115, 0, 60, 42, 16, 0, 67, 0, 0, 0, 109, 3, 0, 0, 9, 0, 0, 0, 97, 108, 114, 101, 97, 100, 121, 32, 109, 117, 116, 97, 98, 108, 121, 32, 98, 111, 114, 114, 111, 119, 101, 100, 60, 42, 16, 0, 67, 0, 0, 0, 29, 3, 0, 0, 9, 0, 0, 0, 97, 115, 115, 101, 114, 116, 105, 111, 110, 32, 102, 97, 105, 108, 101, 100, 58, 32, 96, 40, 108, 101, 102, 116, 32, 61, 61, 32, 114, 105, 103, 104, 116, 41, 96, 10, 32, 32, 108, 101, 102, 116, 58, 32, 96, 96, 44, 10, 32, 114, 105, 103, 104, 116, 58, 32, 96, 96, 0, 0, 184, 42, 16, 0, 45, 0, 0, 0, 229, 42, 16, 0, 12, 0, 0, 0, 241, 42, 16, 0, 1, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 72, 0, 0, 0, 96, 58, 32, 0, 184, 42, 16, 0, 45, 0, 0, 0, 229, 42, 16, 0, 12, 0, 0, 0, 28, 43, 16, 0, 3, 0, 0, 0, 99, 97, 108, 108, 101, 100, 32, 96, 79, 112, 116, 105, 111, 110, 58, 58, 117, 110, 119, 114, 97, 112, 40, 41, 96, 32, 111, 110, 32, 97, 32, 96, 78, 111, 110, 101, 96, 32, 118, 97, 108, 117, 101, 0, 67, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 75, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 76, 0, 0, 0, 99, 97, 108, 108, 101, 100, 32, 96, 82, 101, 115, 117, 108, 116, 58, 58, 117, 110, 119, 114, 97, 112, 40, 41, 96, 32, 111, 110, 32, 97, 110, 32, 96, 69, 114, 114, 96, 32, 118, 97, 108, 117, 101, 0, 77, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 78, 0, 0, 0, 84, 114, 105, 101, 100, 32, 116, 111, 32, 115, 104, 114, 105, 110, 107, 32, 116, 111, 32, 97, 32, 108, 97, 114, 103, 101, 114, 32, 99, 97, 112, 97, 99, 105, 116, 121, 67, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 65, 0, 0, 0, 115, 114, 99, 47, 108, 105, 98, 115, 116, 100, 47, 116, 104, 114, 101, 97, 100, 47, 109, 111, 100, 46, 114, 115, 4, 44, 16, 0, 24, 0, 0, 0, 138, 3, 0, 0, 17, 0, 0, 0, 105, 110, 99, 111, 110, 115, 105, 115, 116, 101, 110, 116, 32, 112, 97, 114, 107, 32, 115, 116, 97, 116, 101, 0, 4, 44, 16, 0, 24, 0, 0, 0, 152, 3, 0, 0, 19, 0, 0, 0, 2, 0, 0, 0, 112, 97, 114, 107, 32, 115, 116, 97, 116, 101, 32, 99, 104, 97, 110, 103, 101, 100, 32, 117, 110, 101, 120, 112, 101, 99, 116, 101, 100, 108, 121, 0, 88, 44, 16, 0, 31, 0, 0, 0, 4, 44, 16, 0, 24, 0, 0, 0, 149, 3, 0, 0, 13, 0, 0, 0, 102, 97, 105, 108, 101, 100, 32, 116, 111, 32, 103, 101, 110, 101, 114, 97, 116, 101, 32, 117, 110, 105, 113, 117, 101, 32, 116, 104, 114, 101, 97, 100, 32, 73, 68, 58, 32, 98, 105, 116, 115, 112, 97, 99, 101, 32, 101, 120, 104, 97, 117, 115, 116, 101, 100, 0, 4, 44, 16, 0, 24, 0, 0, 0, 46, 4, 0, 0, 17, 0, 0, 0, 4, 44, 16, 0, 24, 0, 0, 0, 52, 4, 0, 0, 22, 0, 0, 0, 116, 104, 114, 101, 97, 100, 32, 110, 97, 109, 101, 32, 109, 97, 121, 32, 110, 111, 116, 32, 99, 111, 110, 116, 97, 105, 110, 32, 105, 110, 116, 101, 114, 105, 111, 114, 32, 110, 117, 108, 108, 32, 98, 121, 116, 101, 115, 0, 4, 44, 16, 0, 24, 0, 0, 0, 119, 4, 0, 0, 26, 0, 0, 0, 105, 110, 99, 111, 110, 115, 105, 115, 116, 101, 110, 116, 32, 115, 116, 97, 116, 101, 32, 105, 110, 32, 117, 110, 112, 97, 114, 107, 4, 44, 16, 0, 24, 0, 0, 0, 175, 4, 0, 0, 18, 0, 0, 0, 4, 44, 16, 0, 24, 0, 0, 0, 189, 4, 0, 0, 14, 0, 0, 0, 97, 116, 116, 101, 109, 112, 116, 101, 100, 32, 116, 111, 32, 117, 115, 101, 32, 97, 32, 99, 111, 110, 100, 105, 116, 105, 111, 110, 32, 118, 97, 114, 105, 97, 98, 108, 101, 32, 119, 105, 116, 104, 32, 116, 119, 111, 32, 109, 117, 116, 101, 120, 101, 115, 115, 114, 99, 47, 108, 105, 98, 115, 116, 100, 47, 115, 121, 110, 99, 47, 99, 111, 110, 100, 118, 97, 114, 46, 114, 115, 154, 45, 16, 0, 26, 0, 0, 0, 63, 2, 0, 0, 18, 0, 0, 0, 115, 114, 99, 47, 108, 105, 98, 115, 116, 100, 47, 115, 121, 110, 99, 47, 111, 110, 99, 101, 46, 114, 115, 97, 115, 115, 101, 114, 116, 105, 111, 110, 32, 102, 97, 105, 108, 101, 100, 58, 32, 115, 116, 97, 116, 101, 95, 97, 110, 100, 95, 113, 117, 101, 117, 101, 32, 38, 32, 83, 84, 65, 84, 69, 95, 77, 65, 83, 75, 32, 61, 61, 32, 82, 85, 78, 78, 73, 78, 71, 196, 45, 16, 0, 23, 0, 0, 0, 167, 1, 0, 0, 21, 0, 0, 0, 79, 110, 99, 101, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 104, 97, 115, 32, 112, 114, 101, 118, 105, 111, 117, 115, 108, 121, 32, 98, 101, 101, 110, 32, 112, 111, 105, 115, 111, 110, 101, 100, 0, 0, 196, 45, 16, 0, 23, 0, 0, 0, 139, 1, 0, 0, 21, 0, 0, 0, 196, 45, 16, 0, 23, 0, 0, 0, 232, 1, 0, 0, 9, 0, 0, 0, 196, 45, 16, 0, 23, 0, 0, 0, 244, 1, 0, 0, 30, 0, 0, 0, 80, 111, 105, 115, 111, 110, 69, 114, 114, 111, 114, 32, 123, 32, 105, 110, 110, 101, 114, 58, 32, 46, 46, 32, 125, 115, 114, 99, 47, 108, 105, 98, 115, 116, 100, 47, 112, 97, 110, 105, 99, 107, 105, 110, 103, 46, 114, 115, 153, 46, 16, 0, 23, 0, 0, 0, 130, 1, 0, 0, 15, 0, 0, 0, 153, 46, 16, 0, 23, 0, 0, 0, 131, 1, 0, 0, 15, 0, 0, 0, 79, 0, 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 80, 0, 0, 0, 81, 0, 0, 0, 82, 0, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 83, 0, 0, 0, 67, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 67, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 86, 0, 0, 0, 78, 117, 108, 69, 114, 114, 111, 114, 67, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 87, 0, 0, 0, 99, 97, 110, 39, 116, 32, 98, 108, 111, 99, 107, 32, 119, 105, 116, 104, 32, 119, 101, 98, 32, 97, 115, 115, 101, 109, 98, 108, 121, 115, 114, 99, 47, 108, 105, 98, 115, 116, 100, 47, 115, 121, 115, 47, 119, 97, 115, 109, 47, 99, 111, 110, 100, 118, 97, 114, 46, 114, 115, 0, 77, 47, 16, 0, 30, 0, 0, 0, 21, 0, 0, 0, 9, 0, 0, 0, 99, 97, 110, 110, 111, 116, 32, 114, 101, 99, 117, 114, 115, 105, 118, 101, 108, 121, 32, 97, 99, 113, 117, 105, 114, 101, 32, 109, 117, 116, 101, 120, 115, 114, 99, 47, 108, 105, 98, 115, 116, 100, 47, 115, 121, 115, 47, 119, 97, 115, 109, 47, 109, 117, 116, 101, 120, 46, 114, 115, 156, 47, 16, 0, 28, 0, 0, 0, 21, 0, 0, 0, 9, 0, 0, 0, 88, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 89, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 88, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 92, 0, 0, 0, 47, 114, 117, 115, 116, 99, 47, 53, 99, 49, 102, 50, 49, 99, 51, 98, 56, 50, 50, 57, 55, 54, 55, 49, 97, 100, 51, 97, 101, 49, 101, 56, 99, 57, 52, 50, 100, 50, 99, 97, 57, 50, 101, 56, 52, 102, 50, 47, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 102, 109, 116, 47, 109, 111, 100, 46, 114, 115, 0, 0, 240, 47, 16, 0, 70, 0, 0, 0, 104, 1, 0, 0, 19, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 19, 0, 0, 0, 97, 32, 102, 111, 114, 109, 97, 116, 116, 105, 110, 103, 32, 116, 114, 97, 105, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 114, 101, 116, 117, 114, 110, 101, 100, 32, 97, 110, 32, 101, 114, 114, 111, 114, 115, 114, 99, 47, 108, 105, 98, 97, 108, 108, 111, 99, 47, 102, 109, 116, 46, 114, 115, 0, 0, 139, 48, 16, 0, 19, 0, 0, 0, 74, 2, 0, 0, 5, 0, 0, 0, 115, 114, 99, 47, 108, 105, 98, 97, 108, 108, 111, 99, 47, 114, 97, 119, 95, 118, 101, 99, 46, 114, 115, 99, 97, 112, 97, 99, 105, 116, 121, 32, 111, 118, 101, 114, 102, 108, 111, 119, 176, 48, 16, 0, 23, 0, 0, 0, 68, 2, 0, 0, 5, 0, 0, 0, 239, 191, 189, 70, 114, 111, 109, 85, 116, 102, 56, 69, 114, 114, 111, 114, 98, 121, 116, 101, 115, 0, 0, 0, 88, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 93, 0, 0, 0, 101, 114, 114, 111, 114, 0, 0, 0, 88, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 94, 0, 0, 0, 96, 0, 110, 117, 109, 98, 101, 114, 32, 119, 111, 117, 108, 100, 32, 98, 101, 32, 122, 101, 114, 111, 32, 102, 111, 114, 32, 110, 111, 110, 45, 122, 101, 114, 111, 32, 116, 121, 112, 101, 110, 117, 109, 98, 101, 114, 32, 116, 111, 111, 32, 115, 109, 97, 108, 108, 32, 116, 111, 32, 102, 105, 116, 32, 105, 110, 32, 116, 97, 114, 103, 101, 116, 32, 116, 121, 112, 101, 110, 117, 109, 98, 101, 114, 32, 116, 111, 111, 32, 108, 97, 114, 103, 101, 32, 116, 111, 32, 102, 105, 116, 32, 105, 110, 32, 116, 97, 114, 103, 101, 116, 32, 116, 121, 112, 101, 105, 110, 118, 97, 108, 105, 100, 32, 100, 105, 103, 105, 116, 32, 102, 111, 117, 110, 100, 32, 105, 110, 32, 115, 116, 114, 105, 110, 103, 99, 97, 110, 110, 111, 116, 32, 112, 97, 114, 115, 101, 32, 105, 110, 116, 101, 103, 101, 114, 32, 102, 114, 111, 109, 32, 101, 109, 112, 116, 121, 32, 115, 116, 114, 105, 110, 103, 46, 46, 0, 0, 0, 223, 49, 16, 0, 2, 0, 0, 0, 66, 111, 114, 114, 111, 119, 69, 114, 114, 111, 114, 66, 111, 114, 114, 111, 119, 77, 117, 116, 69, 114, 114, 111, 114, 99, 97, 108, 108, 101, 100, 32, 96, 79, 112, 116, 105, 111, 110, 58, 58, 117, 110, 119, 114, 97, 112, 40, 41, 96, 32, 111, 110, 32, 97, 32, 96, 78, 111, 110, 101, 96, 32, 118, 97, 108, 117, 101, 40, 49, 16, 0, 0, 0, 0, 0, 58, 32, 0, 0, 40, 49, 16, 0, 0, 0, 0, 0, 56, 50, 16, 0, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 105, 110, 100, 101, 120, 32, 111, 117, 116, 32, 111, 102, 32, 98, 111, 117, 110, 100, 115, 58, 32, 116, 104, 101, 32, 108, 101, 110, 32, 105, 115, 32, 32, 98, 117, 116, 32, 116, 104, 101, 32, 105, 110, 100, 101, 120, 32, 105, 115, 32, 0, 0, 92, 50, 16, 0, 32, 0, 0, 0, 124, 50, 16, 0, 18, 0, 0, 0, 100, 0, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 102, 0, 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 32, 32, 32, 32, 32, 123, 10, 44, 10, 44, 32, 32, 123, 32, 125, 32, 125, 40, 10, 40, 44, 41, 10, 91, 100, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 105, 0, 0, 0, 93, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 102, 109, 116, 47, 110, 117, 109, 46, 114, 115, 0, 225, 50, 16, 0, 22, 0, 0, 0, 84, 0, 0, 0, 20, 0, 0, 0, 48, 120, 48, 48, 48, 49, 48, 50, 48, 51, 48, 52, 48, 53, 48, 54, 48, 55, 48, 56, 48, 57, 49, 48, 49, 49, 49, 50, 49, 51, 49, 52, 49, 53, 49, 54, 49, 55, 49, 56, 49, 57, 50, 48, 50, 49, 50, 50, 50, 51, 50, 52, 50, 53, 50, 54, 50, 55, 50, 56, 50, 57, 51, 48, 51, 49, 51, 50, 51, 51, 51, 52, 51, 53, 51, 54, 51, 55, 51, 56, 51, 57, 52, 48, 52, 49, 52, 50, 52, 51, 52, 52, 52, 53, 52, 54, 52, 55, 52, 56, 52, 57, 53, 48, 53, 49, 53, 50, 53, 51, 53, 52, 53, 53, 53, 54, 53, 55, 53, 56, 53, 57, 54, 48, 54, 49, 54, 50, 54, 51, 54, 52, 54, 53, 54, 54, 54, 55, 54, 56, 54, 57, 55, 48, 55, 49, 55, 50, 55, 51, 55, 52, 55, 53, 55, 54, 55, 55, 55, 56, 55, 57, 56, 48, 56, 49, 56, 50, 56, 51, 56, 52, 56, 53, 56, 54, 56, 55, 56, 56, 56, 57, 57, 48, 57, 49, 57, 50, 57, 51, 57, 52, 57, 53, 57, 54, 57, 55, 57, 56, 57, 57, 0, 0, 100, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 106, 0, 0, 0, 107, 0, 0, 0, 108, 0, 0, 0, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 102, 109, 116, 47, 109, 111, 100, 46, 114, 115, 0, 0, 236, 51, 16, 0, 22, 0, 0, 0, 83, 4, 0, 0, 17, 0, 0, 0, 236, 51, 16, 0, 22, 0, 0, 0, 93, 4, 0, 0, 36, 0, 0, 0, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 115, 108, 105, 99, 101, 47, 109, 101, 109, 99, 104, 114, 46, 114, 115, 0, 36, 52, 16, 0, 27, 0, 0, 0, 82, 0, 0, 0, 5, 0, 0, 0, 105, 110, 100, 101, 120, 32, 32, 111, 117, 116, 32, 111, 102, 32, 114, 97, 110, 103, 101, 32, 102, 111, 114, 32, 115, 108, 105, 99, 101, 32, 111, 102, 32, 108, 101, 110, 103, 116, 104, 32, 80, 52, 16, 0, 6, 0, 0, 0, 86, 52, 16, 0, 34, 0, 0, 0, 115, 108, 105, 99, 101, 32, 105, 110, 100, 101, 120, 32, 115, 116, 97, 114, 116, 115, 32, 97, 116, 32, 32, 98, 117, 116, 32, 101, 110, 100, 115, 32, 97, 116, 32, 0, 136, 52, 16, 0, 22, 0, 0, 0, 158, 52, 16, 0, 13, 0, 0, 0, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 115, 116, 114, 47, 112, 97, 116, 116, 101, 114, 110, 46, 114, 115, 0, 0, 188, 52, 16, 0, 26, 0, 0, 0, 139, 1, 0, 0, 38, 0, 0, 0, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 115, 116, 114, 47, 108, 111, 115, 115, 121, 46, 114, 115, 232, 52, 16, 0, 24, 0, 0, 0, 128, 0, 0, 0, 25, 0, 0, 0, 232, 52, 16, 0, 24, 0, 0, 0, 119, 0, 0, 0, 29, 0, 0, 0, 232, 52, 16, 0, 24, 0, 0, 0, 123, 0, 0, 0, 29, 0, 0, 0, 232, 52, 16, 0, 24, 0, 0, 0, 114, 0, 0, 0, 33, 0, 0, 0, 232, 52, 16, 0, 24, 0, 0, 0, 104, 0, 0, 0, 29, 0, 0, 0, 232, 52, 16, 0, 24, 0, 0, 0, 99, 0, 0, 0, 33, 0, 0, 0, 232, 52, 16, 0, 24, 0, 0, 0, 88, 0, 0, 0, 29, 0, 0, 0, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 115, 116, 114, 47, 109, 111, 100, 46, 114, 115, 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, 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, 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, 1, 1, 0, 65, 200, 236, 192, 0, 11, 51, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 0, 65, 136, 237, 192, 0, 11, 228, 20, 112, 53, 16, 0, 22, 0, 0, 0, 128, 7, 0, 0, 47, 0, 0, 0, 112, 53, 16, 0, 22, 0, 0, 0, 195, 7, 0, 0, 47, 0, 0, 0, 112, 53, 16, 0, 22, 0, 0, 0, 4, 8, 0, 0, 47, 0, 0, 0, 91, 46, 46, 46, 93, 98, 121, 116, 101, 32, 105, 110, 100, 101, 120, 32, 32, 105, 115, 32, 111, 117, 116, 32, 111, 102, 32, 98, 111, 117, 110, 100, 115, 32, 111, 102, 32, 96, 0, 0, 189, 54, 16, 0, 11, 0, 0, 0, 200, 54, 16, 0, 22, 0, 0, 0, 40, 49, 16, 0, 1, 0, 0, 0, 98, 101, 103, 105, 110, 32, 60, 61, 32, 101, 110, 100, 32, 40, 32, 60, 61, 32, 41, 32, 119, 104, 101, 110, 32, 115, 108, 105, 99, 105, 110, 103, 32, 96, 0, 0, 248, 54, 16, 0, 14, 0, 0, 0, 6, 55, 16, 0, 4, 0, 0, 0, 10, 55, 16, 0, 16, 0, 0, 0, 40, 49, 16, 0, 1, 0, 0, 0, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 99, 104, 97, 114, 32, 98, 111, 117, 110, 100, 97, 114, 121, 59, 32, 105, 116, 32, 105, 115, 32, 105, 110, 115, 105, 100, 101, 32, 32, 40, 98, 121, 116, 101, 115, 32, 41, 32, 111, 102, 32, 96, 189, 54, 16, 0, 11, 0, 0, 0, 60, 55, 16, 0, 38, 0, 0, 0, 98, 55, 16, 0, 8, 0, 0, 0, 106, 55, 16, 0, 6, 0, 0, 0, 40, 49, 16, 0, 1, 0, 0, 0, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 117, 110, 105, 99, 111, 100, 101, 47, 112, 114, 105, 110, 116, 97, 98, 108, 101, 46, 114, 115, 152, 55, 16, 0, 32, 0, 0, 0, 10, 0, 0, 0, 28, 0, 0, 0, 152, 55, 16, 0, 32, 0, 0, 0, 26, 0, 0, 0, 40, 0, 0, 0, 0, 1, 3, 5, 5, 6, 6, 3, 7, 6, 8, 8, 9, 17, 10, 28, 11, 25, 12, 20, 13, 16, 14, 13, 15, 4, 16, 3, 18, 18, 19, 9, 22, 1, 23, 5, 24, 2, 25, 3, 26, 7, 28, 2, 29, 1, 31, 22, 32, 3, 43, 3, 44, 2, 45, 11, 46, 1, 48, 3, 49, 2, 50, 1, 167, 2, 169, 2, 170, 4, 171, 8, 250, 2, 251, 5, 253, 4, 254, 3, 255, 9, 173, 120, 121, 139, 141, 162, 48, 87, 88, 139, 140, 144, 28, 29, 221, 14, 15, 75, 76, 251, 252, 46, 47, 63, 92, 93, 95, 181, 226, 132, 141, 142, 145, 146, 169, 177, 186, 187, 197, 198, 201, 202, 222, 228, 229, 255, 0, 4, 17, 18, 41, 49, 52, 55, 58, 59, 61, 73, 74, 93, 132, 142, 146, 169, 177, 180, 186, 187, 198, 202, 206, 207, 228, 229, 0, 4, 13, 14, 17, 18, 41, 49, 52, 58, 59, 69, 70, 73, 74, 94, 100, 101, 132, 145, 155, 157, 201, 206, 207, 13, 17, 41, 69, 73, 87, 100, 101, 141, 145, 169, 180, 186, 187, 197, 201, 223, 228, 229, 240, 13, 17, 69, 73, 100, 101, 128, 132, 178, 188, 190, 191, 213, 215, 240, 241, 131, 133, 139, 164, 166, 190, 191, 197, 199, 206, 207, 218, 219, 72, 152, 189, 205, 198, 206, 207, 73, 78, 79, 87, 89, 94, 95, 137, 142, 143, 177, 182, 183, 191, 193, 198, 199, 215, 17, 22, 23, 91, 92, 246, 247, 254, 255, 128, 13, 109, 113, 222, 223, 14, 15, 31, 110, 111, 28, 29, 95, 125, 126, 174, 175, 187, 188, 250, 22, 23, 30, 31, 70, 71, 78, 79, 88, 90, 92, 94, 126, 127, 181, 197, 212, 213, 220, 240, 241, 245, 114, 115, 143, 116, 117, 150, 47, 95, 38, 46, 47, 167, 175, 183, 191, 199, 207, 215, 223, 154, 64, 151, 152, 48, 143, 31, 192, 193, 206, 255, 78, 79, 90, 91, 7, 8, 15, 16, 39, 47, 238, 239, 110, 111, 55, 61, 63, 66, 69, 144, 145, 254, 255, 83, 103, 117, 200, 201, 208, 209, 216, 217, 231, 254, 255, 0, 32, 95, 34, 130, 223, 4, 130, 68, 8, 27, 4, 6, 17, 129, 172, 14, 128, 171, 53, 40, 11, 128, 224, 3, 25, 8, 1, 4, 47, 4, 52, 4, 7, 3, 1, 7, 6, 7, 17, 10, 80, 15, 18, 7, 85, 7, 3, 4, 28, 10, 9, 3, 8, 3, 7, 3, 2, 3, 3, 3, 12, 4, 5, 3, 11, 6, 1, 14, 21, 5, 58, 3, 17, 7, 6, 5, 16, 7, 87, 7, 2, 7, 21, 13, 80, 4, 67, 3, 45, 3, 1, 4, 17, 6, 15, 12, 58, 4, 29, 37, 95, 32, 109, 4, 106, 37, 128, 200, 5, 130, 176, 3, 26, 6, 130, 253, 3, 89, 7, 21, 11, 23, 9, 20, 12, 20, 12, 106, 6, 10, 6, 26, 6, 89, 7, 43, 5, 70, 10, 44, 4, 12, 4, 1, 3, 49, 11, 44, 4, 26, 6, 11, 3, 128, 172, 6, 10, 6, 33, 63, 76, 4, 45, 3, 116, 8, 60, 3, 15, 3, 60, 7, 56, 8, 43, 5, 130, 255, 17, 24, 8, 47, 17, 45, 3, 32, 16, 33, 15, 128, 140, 4, 130, 151, 25, 11, 21, 136, 148, 5, 47, 5, 59, 7, 2, 14, 24, 9, 128, 179, 45, 116, 12, 128, 214, 26, 12, 5, 128, 255, 5, 128, 223, 12, 238, 13, 3, 132, 141, 3, 55, 9, 129, 92, 20, 128, 184, 8, 128, 203, 42, 56, 3, 10, 6, 56, 8, 70, 8, 12, 6, 116, 11, 30, 3, 90, 4, 89, 9, 128, 131, 24, 28, 10, 22, 9, 76, 4, 128, 138, 6, 171, 164, 12, 23, 4, 49, 161, 4, 129, 218, 38, 7, 12, 5, 5, 128, 165, 17, 129, 109, 16, 120, 40, 42, 6, 76, 4, 128, 141, 4, 128, 190, 3, 27, 3, 15, 13, 0, 6, 1, 1, 3, 1, 4, 2, 8, 8, 9, 2, 10, 5, 11, 2, 14, 4, 16, 1, 17, 2, 18, 5, 19, 17, 20, 1, 21, 2, 23, 2, 25, 13, 28, 5, 29, 8, 36, 1, 106, 3, 107, 2, 188, 2, 209, 2, 212, 12, 213, 9, 214, 2, 215, 2, 218, 1, 224, 5, 225, 2, 232, 2, 238, 32, 240, 4, 248, 2, 249, 2, 250, 2, 251, 1, 12, 39, 59, 62, 78, 79, 143, 158, 158, 159, 6, 7, 9, 54, 61, 62, 86, 243, 208, 209, 4, 20, 24, 54, 55, 86, 87, 127, 170, 174, 175, 189, 53, 224, 18, 135, 137, 142, 158, 4, 13, 14, 17, 18, 41, 49, 52, 58, 69, 70, 73, 74, 78, 79, 100, 101, 92, 182, 183, 27, 28, 7, 8, 10, 11, 20, 23, 54, 57, 58, 168, 169, 216, 217, 9, 55, 144, 145, 168, 7, 10, 59, 62, 102, 105, 143, 146, 111, 95, 238, 239, 90, 98, 154, 155, 39, 40, 85, 157, 160, 161, 163, 164, 167, 168, 173, 186, 188, 196, 6, 11, 12, 21, 29, 58, 63, 69, 81, 166, 167, 204, 205, 160, 7, 25, 26, 34, 37, 62, 63, 197, 198, 4, 32, 35, 37, 38, 40, 51, 56, 58, 72, 74, 76, 80, 83, 85, 86, 88, 90, 92, 94, 96, 99, 101, 102, 107, 115, 120, 125, 127, 138, 164, 170, 175, 176, 192, 208, 174, 175, 121, 204, 110, 111, 147, 94, 34, 123, 5, 3, 4, 45, 3, 102, 3, 1, 47, 46, 128, 130, 29, 3, 49, 15, 28, 4, 36, 9, 30, 5, 43, 5, 68, 4, 14, 42, 128, 170, 6, 36, 4, 36, 4, 40, 8, 52, 11, 1, 128, 144, 129, 55, 9, 22, 10, 8, 128, 152, 57, 3, 99, 8, 9, 48, 22, 5, 33, 3, 27, 5, 1, 64, 56, 4, 75, 5, 47, 4, 10, 7, 9, 7, 64, 32, 39, 4, 12, 9, 54, 3, 58, 5, 26, 7, 4, 12, 7, 80, 73, 55, 51, 13, 51, 7, 46, 8, 10, 129, 38, 82, 78, 40, 8, 42, 86, 28, 20, 23, 9, 78, 4, 30, 15, 67, 14, 25, 7, 10, 6, 72, 8, 39, 9, 117, 11, 63, 65, 42, 6, 59, 5, 10, 6, 81, 6, 1, 5, 16, 3, 5, 128, 139, 98, 30, 72, 8, 10, 128, 166, 94, 34, 69, 11, 10, 6, 13, 19, 57, 7, 10, 54, 44, 4, 16, 128, 192, 60, 100, 83, 12, 72, 9, 10, 70, 69, 27, 72, 8, 83, 29, 57, 129, 7, 70, 10, 29, 3, 71, 73, 55, 3, 14, 8, 10, 6, 57, 7, 10, 129, 54, 25, 128, 183, 1, 15, 50, 13, 131, 155, 102, 117, 11, 128, 196, 138, 188, 132, 47, 143, 209, 130, 71, 161, 185, 130, 57, 7, 42, 4, 2, 96, 38, 10, 70, 10, 40, 5, 19, 130, 176, 91, 101, 75, 4, 57, 7, 17, 64, 5, 11, 2, 14, 151, 248, 8, 132, 214, 42, 9, 162, 247, 129, 31, 49, 3, 17, 4, 8, 129, 140, 137, 4, 107, 5, 13, 3, 9, 7, 16, 147, 96, 128, 246, 10, 115, 8, 110, 23, 70, 128, 154, 20, 12, 87, 9, 25, 128, 135, 129, 71, 3, 133, 66, 15, 21, 133, 80, 43, 128, 213, 45, 3, 26, 4, 2, 129, 112, 58, 5, 1, 133, 0, 128, 215, 41, 76, 4, 10, 4, 2, 131, 17, 68, 76, 61, 128, 194, 60, 6, 1, 4, 85, 5, 27, 52, 2, 129, 14, 44, 4, 100, 12, 86, 10, 128, 174, 56, 29, 13, 44, 4, 9, 7, 2, 14, 6, 128, 154, 131, 216, 8, 13, 3, 13, 3, 116, 12, 89, 7, 12, 20, 12, 4, 56, 8, 10, 6, 40, 8, 34, 78, 129, 84, 12, 21, 3, 3, 5, 7, 9, 25, 7, 7, 9, 3, 13, 7, 41, 128, 203, 37, 10, 132, 6, 115, 114, 99, 47, 108, 105, 98, 99, 111, 114, 101, 47, 117, 110, 105, 99, 111, 100, 101, 47, 117, 110, 105, 99, 111, 100, 101, 95, 100, 97, 116, 97, 46, 114, 115, 0, 0, 31, 61, 16, 0, 35, 0, 0, 0, 75, 0, 0, 0, 40, 0, 0, 0, 31, 61, 16, 0, 35, 0, 0, 0, 87, 0, 0, 0, 22, 0, 0, 0, 31, 61, 16, 0, 35, 0, 0, 0, 82, 0, 0, 0, 62, 0, 0, 0, 100, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 109, 0, 0, 0, 83, 111, 109, 101, 78, 111, 110, 101, 69, 114, 114, 111, 114, 85, 116, 102, 56, 69, 114, 114, 111, 114, 118, 97, 108, 105, 100, 95, 117, 112, 95, 116, 111, 101, 114, 114, 111, 114, 95, 108, 101, 110, 0, 0, 100, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 110, 0, 0, 0, 0, 3, 0, 0, 131, 4, 32, 0, 145, 5, 96, 0, 93, 19, 160, 0, 18, 23, 160, 30, 12, 32, 224, 30, 239, 44, 32, 43, 42, 48, 160, 43, 111, 166, 96, 44, 2, 168, 224, 44, 30, 251, 224, 45, 0, 254, 160, 53, 158, 255, 224, 53, 253, 1, 97, 54, 1, 10, 161, 54, 36, 13, 97, 55, 171, 14, 225, 56, 47, 24, 33, 57, 48, 28, 97, 70, 243, 30, 161, 74, 240, 106, 97, 78, 79, 111, 161, 78, 157, 188, 33, 79, 101, 209, 225, 79, 0, 218, 33, 80, 0, 224, 225, 81, 48, 225, 97, 83, 236, 226, 161, 84, 208, 232, 225, 84, 32, 0, 46, 85, 240, 1, 191, 85, 0, 112, 0, 7, 0, 45, 1, 1, 1, 2, 1, 2, 1, 1, 72, 11, 48, 21, 16, 1, 101, 7, 2, 6, 2, 2, 1, 4, 35, 1, 30, 27, 91, 11, 58, 9, 9, 1, 24, 4, 1, 9, 1, 3, 1, 5, 43, 3, 119, 15, 1, 32, 55, 1, 1, 1, 4, 8, 4, 1, 3, 7, 10, 2, 29, 1, 58, 1, 1, 1, 2, 4, 8, 1, 9, 1, 10, 2, 26, 1, 2, 2, 57, 1, 4, 2, 4, 2, 2, 3, 3, 1, 30, 2, 3, 1, 11, 2, 57, 1, 4, 5, 1, 2, 4, 1, 20, 2, 22, 6, 1, 1, 58, 1, 1, 2, 1, 4, 8, 1, 7, 3, 10, 2, 30, 1, 59, 1, 1, 1, 12, 1, 9, 1, 40, 1, 3, 1, 57, 3, 5, 3, 1, 4, 7, 2, 11, 2, 29, 1, 58, 1, 2, 1, 2, 1, 3, 1, 5, 2, 7, 2, 11, 2, 28, 2, 57, 2, 1, 1, 2, 4, 8, 1, 9, 1, 10, 2, 29, 1, 72, 1, 4, 1, 2, 3, 1, 1, 8, 1, 81, 1, 2, 7, 12, 8, 98, 1, 2, 9, 11, 6, 74, 2, 27, 1, 1, 1, 1, 1, 55, 14, 1, 5, 1, 2, 5, 11, 1, 36, 9, 1, 102, 4, 1, 6, 1, 2, 2, 2, 25, 2, 4, 3, 16, 4, 13, 1, 2, 2, 6, 1, 15, 1, 0, 3, 0, 3, 29, 3, 29, 2, 30, 2, 64, 2, 1, 7, 8, 1, 2, 11, 9, 1, 45, 3, 119, 2, 34, 1, 118, 3, 4, 2, 9, 1, 6, 3, 219, 2, 2, 1, 58, 1, 1, 7, 1, 1, 1, 1, 2, 8, 6, 10, 2, 1, 48, 17, 63, 4, 48, 7, 1, 1, 5, 1, 40, 9, 12, 2, 32, 4, 2, 2, 1, 3, 56, 1, 1, 2, 3, 1, 1, 3, 58, 8, 2, 2, 152, 3, 1, 13, 1, 7, 4, 1, 6, 1, 3, 2, 198, 58, 1, 5, 0, 1, 195, 33, 0, 3, 141, 1, 96, 32, 0, 6, 105, 2, 0, 4, 1, 10, 32, 2, 80, 2, 0, 1, 3, 1, 4, 1, 25, 2, 5, 1, 151, 2, 26, 18, 13, 1, 38, 8, 25, 11, 46, 3, 48, 1, 2, 4, 2, 2, 39, 1, 67, 6, 2, 2, 2, 2, 12, 1, 8, 1, 47, 1, 51, 1, 1, 3, 2, 2, 5, 2, 1, 1, 42, 2, 8, 1, 238, 1, 2, 1, 4, 1, 0, 1, 0, 16, 16, 16, 0, 2, 0, 1, 226, 1, 149, 5, 0, 3, 1, 2, 5, 4, 40, 3, 4, 1, 165, 2, 0, 4, 0, 2, 153, 11, 176, 1, 54, 15, 56, 3, 49, 4, 2, 2, 69, 3, 36, 5, 1, 8, 62, 1, 12, 2, 52, 9, 10, 4, 2, 1, 95, 3, 2, 1, 1, 2, 6, 1, 160, 1, 3, 8, 21, 2, 57, 2, 1, 1, 1, 1, 22, 1, 14, 7, 3, 5, 195, 8, 2, 3, 1, 1, 23, 1, 81, 1, 2, 6, 1, 1, 2, 1, 1, 2, 1, 2, 235, 1, 2, 4, 6, 2, 1, 2, 27, 2, 85, 8, 2, 1, 1, 2, 106, 1, 1, 1, 2, 6, 1, 1, 101, 3, 2, 4, 1, 5, 0, 9, 1, 2, 245, 1, 10, 2, 1, 1, 4, 1, 144, 4, 2, 2, 4, 1, 32, 10, 40, 6, 2, 4, 8, 1, 9, 6, 2, 3, 46, 13, 1, 2, 0, 7, 1, 6, 1, 1, 82, 22, 2, 7, 1, 2, 1, 2, 122, 6, 3, 1, 1, 2, 1, 7, 1, 1, 72, 2, 3, 1, 1, 1, 0, 2, 0, 5, 59, 7, 0, 1, 63, 4, 81, 1, 0, 2, 0, 1, 1, 3, 4, 5, 8, 8, 2, 7, 30, 4, 148, 3, 0, 55, 4, 50, 8, 1, 14, 1, 22, 5, 1, 15, 0, 7, 1, 17, 2, 7, 1, 2, 1, 5, 0, 7, 0, 4, 0, 7, 109, 7, 0, 96, 128, 240, 0, 65, 240, 129, 193, 0, 11, 1, 1} + testContract = []byte{0, 97, 115, 109, 1, 0, 0, 0, 1, 148, 1, 22, 96, 2, 127, 127, 1, 127, 96, 2, 127, 127, 0, 96, 3, 127, 127, 127, 1, 127, 96, 3, 127, 127, 127, 0, 96, 1, 127, 0, 96, 1, 127, 1, 127, 96, 4, 127, 127, 127, 127, 0, 96, 5, 127, 127, 127, 127, 127, 0, 96, 0, 0, 96, 1, 127, 1, 126, 96, 8, 127, 127, 127, 127, 127, 127, 127, 127, 0, 96, 4, 127, 127, 127, 127, 1, 127, 96, 5, 127, 127, 127, 127, 127, 1, 127, 96, 3, 127, 127, 127, 1, 126, 96, 6, 127, 127, 127, 127, 127, 127, 0, 96, 7, 127, 127, 127, 127, 127, 127, 127, 0, 96, 3, 127, 127, 126, 0, 96, 5, 127, 126, 126, 126, 126, 0, 96, 3, 126, 127, 127, 0, 96, 0, 1, 127, 96, 2, 126, 127, 1, 127, 96, 3, 126, 126, 127, 1, 127, 2, 242, 1, 12, 3, 101, 110, 118, 7, 100, 98, 95, 114, 101, 97, 100, 0, 5, 3, 101, 110, 118, 8, 100, 98, 95, 119, 114, 105, 116, 101, 0, 1, 3, 101, 110, 118, 9, 100, 98, 95, 114, 101, 109, 111, 118, 101, 0, 4, 3, 101, 110, 118, 13, 97, 100, 100, 114, 95, 118, 97, 108, 105, 100, 97, 116, 101, 0, 5, 3, 101, 110, 118, 17, 97, 100, 100, 114, 95, 99, 97, 110, 111, 110, 105, 99, 97, 108, 105, 122, 101, 0, 0, 3, 101, 110, 118, 13, 97, 100, 100, 114, 95, 104, 117, 109, 97, 110, 105, 122, 101, 0, 0, 3, 101, 110, 118, 16, 115, 101, 99, 112, 50, 53, 54, 107, 49, 95, 118, 101, 114, 105, 102, 121, 0, 2, 3, 101, 110, 118, 24, 115, 101, 99, 112, 50, 53, 54, 107, 49, 95, 114, 101, 99, 111, 118, 101, 114, 95, 112, 117, 98, 107, 101, 121, 0, 13, 3, 101, 110, 118, 14, 101, 100, 50, 53, 53, 49, 57, 95, 118, 101, 114, 105, 102, 121, 0, 2, 3, 101, 110, 118, 20, 101, 100, 50, 53, 53, 49, 57, 95, 98, 97, 116, 99, 104, 95, 118, 101, 114, 105, 102, 121, 0, 2, 3, 101, 110, 118, 5, 100, 101, 98, 117, 103, 0, 4, 3, 101, 110, 118, 11, 113, 117, 101, 114, 121, 95, 99, 104, 97, 105, 110, 0, 5, 3, 206, 2, 204, 2, 6, 6, 7, 7, 7, 3, 3, 7, 3, 0, 3, 3, 3, 1, 1, 6, 3, 1, 3, 1, 1, 6, 1, 3, 3, 1, 1, 0, 0, 3, 4, 0, 1, 9, 4, 4, 8, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 2, 7, 1, 3, 1, 3, 1, 1, 3, 1, 1, 3, 1, 1, 7, 6, 14, 8, 4, 8, 6, 0, 2, 2, 0, 0, 0, 11, 3, 3, 4, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 7, 1, 1, 0, 1, 1, 3, 1, 1, 3, 1, 1, 3, 1, 1, 1, 0, 0, 3, 3, 1, 3, 5, 4, 8, 6, 7, 3, 6, 6, 3, 10, 15, 10, 10, 3, 6, 5, 1, 0, 0, 0, 4, 4, 8, 0, 1, 1, 0, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 0, 4, 3, 16, 6, 1, 6, 3, 1, 6, 12, 6, 1, 0, 5, 4, 4, 8, 0, 1, 1, 0, 3, 3, 4, 4, 1, 3, 9, 9, 4, 0, 0, 2, 0, 5, 1, 4, 1, 19, 4, 4, 4, 1, 11, 5, 4, 6, 1, 1, 1, 1, 0, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 3, 0, 0, 5, 5, 5, 5, 5, 0, 5, 1, 0, 0, 0, 1, 0, 1, 8, 1, 3, 1, 3, 0, 0, 3, 3, 3, 2, 7, 1, 3, 3, 0, 0, 2, 0, 0, 7, 3, 0, 7, 0, 2, 3, 5, 3, 5, 3, 3, 5, 18, 0, 21, 12, 0, 0, 2, 0, 0, 0, 11, 0, 5, 5, 13, 6, 9, 2, 5, 5, 2, 0, 1, 3, 0, 1, 0, 0, 0, 3, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 17, 4, 5, 1, 112, 1, 127, 127, 5, 3, 1, 0, 17, 6, 25, 3, 127, 1, 65, 128, 128, 192, 0, 11, 127, 0, 65, 208, 137, 193, 0, 11, 127, 0, 65, 208, 137, 193, 0, 11, 7, 135, 1, 11, 6, 109, 101, 109, 111, 114, 121, 2, 0, 4, 115, 117, 100, 111, 0, 82, 11, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 0, 83, 7, 101, 120, 101, 99, 117, 116, 101, 0, 84, 5, 113, 117, 101, 114, 121, 0, 85, 7, 109, 105, 103, 114, 97, 116, 101, 0, 86, 8, 97, 108, 108, 111, 99, 97, 116, 101, 0, 146, 1, 10, 100, 101, 97, 108, 108, 111, 99, 97, 116, 101, 0, 147, 1, 19, 105, 110, 116, 101, 114, 102, 97, 99, 101, 95, 118, 101, 114, 115, 105, 111, 110, 95, 53, 0, 148, 1, 10, 95, 95, 100, 97, 116, 97, 95, 101, 110, 100, 3, 1, 11, 95, 95, 104, 101, 97, 112, 95, 98, 97, 115, 101, 3, 2, 9, 194, 1, 1, 0, 65, 1, 11, 126, 21, 53, 52, 40, 39, 117, 43, 140, 1, 50, 207, 1, 154, 2, 165, 1, 51, 49, 56, 149, 1, 150, 1, 151, 1, 152, 1, 153, 1, 154, 1, 155, 1, 156, 1, 157, 1, 158, 1, 159, 1, 160, 1, 74, 73, 61, 59, 60, 57, 163, 1, 164, 1, 207, 2, 42, 45, 108, 98, 111, 118, 110, 113, 115, 51, 112, 53, 52, 109, 127, 173, 2, 40, 43, 50, 56, 135, 1, 134, 1, 121, 119, 120, 102, 57, 144, 2, 104, 96, 45, 103, 97, 100, 105, 101, 106, 94, 53, 169, 1, 56, 171, 1, 170, 1, 45, 53, 155, 2, 196, 2, 53, 204, 1, 56, 206, 1, 205, 1, 45, 229, 1, 56, 219, 1, 217, 1, 218, 1, 214, 1, 216, 1, 234, 1, 235, 1, 236, 1, 237, 1, 57, 215, 1, 45, 56, 219, 1, 135, 2, 137, 2, 102, 133, 2, 134, 2, 161, 2, 157, 2, 193, 2, 145, 2, 163, 2, 56, 214, 1, 164, 2, 176, 2, 177, 2, 209, 2, 178, 2, 179, 2, 180, 2, 208, 2, 210, 2, 10, 199, 176, 11, 204, 2, 235, 8, 1, 5, 127, 35, 0, 65, 48, 107, 34, 5, 36, 0, 2, 64, 2, 64, 2, 64, 32, 1, 45, 0, 4, 69, 4, 64, 2, 64, 32, 1, 40, 2, 0, 34, 7, 40, 2, 8, 34, 4, 32, 7, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 7, 40, 2, 0, 33, 6, 12, 1, 11, 32, 4, 65, 1, 106, 34, 6, 32, 4, 73, 13, 2, 32, 4, 65, 1, 116, 34, 8, 32, 6, 32, 8, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 16, 12, 1, 11, 32, 5, 65, 24, 106, 65, 1, 54, 2, 0, 32, 5, 32, 4, 54, 2, 20, 32, 5, 32, 7, 40, 2, 0, 54, 2, 16, 11, 32, 5, 65, 32, 106, 32, 6, 65, 1, 32, 5, 65, 16, 106, 16, 13, 32, 5, 65, 40, 106, 40, 2, 0, 33, 4, 32, 5, 40, 2, 36, 33, 6, 32, 5, 40, 2, 32, 65, 1, 71, 4, 64, 32, 7, 32, 6, 54, 2, 0, 32, 7, 65, 4, 106, 32, 4, 54, 2, 0, 32, 7, 40, 2, 8, 33, 4, 12, 1, 11, 32, 4, 69, 13, 2, 12, 4, 11, 32, 4, 32, 6, 106, 65, 44, 58, 0, 0, 32, 7, 32, 7, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 2, 64, 32, 1, 40, 2, 0, 34, 7, 40, 2, 8, 34, 4, 32, 7, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 7, 40, 2, 0, 33, 6, 12, 1, 11, 32, 4, 65, 1, 106, 34, 6, 32, 4, 73, 13, 1, 32, 4, 65, 1, 116, 34, 8, 32, 6, 32, 8, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 16, 12, 1, 11, 32, 5, 65, 24, 106, 65, 1, 54, 2, 0, 32, 5, 32, 4, 54, 2, 20, 32, 5, 32, 7, 40, 2, 0, 54, 2, 16, 11, 32, 5, 65, 32, 106, 32, 6, 65, 1, 32, 5, 65, 16, 106, 16, 13, 32, 5, 65, 40, 106, 40, 2, 0, 33, 4, 32, 5, 40, 2, 36, 33, 6, 32, 5, 40, 2, 32, 65, 1, 71, 4, 64, 32, 7, 32, 6, 54, 2, 0, 32, 7, 65, 4, 106, 32, 4, 54, 2, 0, 32, 7, 40, 2, 8, 33, 4, 12, 1, 11, 32, 4, 69, 13, 1, 12, 3, 11, 32, 4, 32, 6, 106, 65, 34, 58, 0, 0, 32, 7, 32, 7, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 32, 1, 40, 2, 0, 34, 7, 65, 4, 106, 40, 2, 0, 34, 6, 32, 7, 65, 8, 106, 40, 2, 0, 34, 4, 107, 65, 3, 79, 4, 64, 32, 7, 40, 2, 0, 33, 6, 12, 1, 11, 32, 4, 65, 3, 106, 34, 8, 32, 4, 73, 13, 1, 32, 6, 65, 1, 116, 34, 4, 32, 8, 32, 4, 32, 8, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 6, 69, 4, 64, 32, 5, 65, 0, 54, 2, 16, 12, 1, 11, 32, 5, 65, 24, 106, 65, 1, 54, 2, 0, 32, 5, 32, 6, 54, 2, 20, 32, 5, 32, 7, 40, 2, 0, 54, 2, 16, 11, 32, 5, 65, 32, 106, 32, 4, 65, 1, 32, 5, 65, 16, 106, 16, 13, 32, 5, 65, 40, 106, 40, 2, 0, 33, 4, 32, 5, 40, 2, 36, 33, 6, 32, 5, 40, 2, 32, 65, 1, 71, 4, 64, 32, 7, 32, 6, 54, 2, 0, 32, 7, 65, 4, 106, 32, 4, 54, 2, 0, 32, 7, 65, 8, 106, 40, 2, 0, 33, 4, 12, 1, 11, 32, 4, 69, 13, 1, 12, 3, 11, 32, 4, 32, 6, 106, 34, 4, 32, 2, 47, 0, 0, 59, 0, 0, 32, 4, 65, 2, 106, 32, 2, 65, 2, 106, 45, 0, 0, 58, 0, 0, 32, 7, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 65, 3, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 6, 65, 4, 106, 40, 2, 0, 34, 2, 32, 6, 65, 8, 106, 40, 2, 0, 34, 4, 107, 65, 2, 79, 4, 64, 32, 6, 40, 2, 0, 33, 2, 12, 2, 11, 32, 4, 65, 2, 106, 34, 7, 32, 4, 73, 13, 0, 32, 2, 65, 1, 116, 34, 4, 32, 7, 32, 4, 32, 7, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 2, 69, 4, 64, 32, 5, 65, 0, 54, 2, 16, 12, 1, 11, 32, 5, 65, 24, 106, 65, 1, 54, 2, 0, 32, 5, 32, 2, 54, 2, 20, 32, 5, 32, 6, 40, 2, 0, 54, 2, 16, 11, 32, 5, 65, 32, 106, 32, 4, 65, 1, 32, 5, 65, 16, 106, 16, 13, 32, 5, 65, 40, 106, 40, 2, 0, 33, 4, 32, 5, 40, 2, 36, 33, 2, 32, 5, 40, 2, 32, 65, 1, 71, 4, 64, 32, 6, 32, 2, 54, 2, 0, 32, 6, 65, 4, 106, 32, 4, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 4, 12, 2, 11, 32, 4, 69, 13, 0, 32, 2, 32, 4, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 2, 32, 4, 106, 65, 162, 244, 0, 59, 0, 0, 32, 6, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 1, 40, 2, 0, 33, 1, 32, 5, 65, 32, 106, 32, 3, 16, 137, 1, 32, 5, 65, 16, 106, 32, 1, 32, 5, 40, 2, 32, 34, 1, 32, 5, 40, 2, 40, 16, 190, 1, 32, 5, 40, 2, 36, 4, 64, 32, 1, 16, 226, 1, 11, 32, 5, 65, 8, 106, 32, 5, 65, 28, 106, 40, 2, 0, 54, 2, 0, 32, 5, 32, 5, 41, 2, 20, 55, 3, 0, 65, 1, 33, 1, 2, 64, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 65, 0, 33, 1, 12, 1, 11, 32, 0, 32, 5, 41, 3, 0, 55, 2, 4, 32, 0, 65, 12, 106, 32, 5, 65, 8, 106, 40, 2, 0, 54, 2, 0, 11, 32, 0, 32, 1, 54, 2, 0, 32, 5, 65, 48, 106, 36, 0, 15, 11, 32, 6, 32, 4, 16, 138, 2, 0, 11, 163, 1, 1, 2, 127, 2, 64, 2, 64, 32, 2, 4, 64, 65, 1, 33, 4, 32, 1, 65, 0, 78, 13, 1, 65, 0, 33, 2, 12, 2, 11, 32, 0, 32, 1, 54, 2, 4, 65, 1, 33, 4, 65, 0, 33, 2, 12, 1, 11, 2, 127, 32, 3, 40, 2, 0, 34, 5, 69, 4, 64, 32, 2, 32, 1, 69, 13, 1, 26, 32, 1, 32, 2, 16, 87, 12, 1, 11, 32, 3, 40, 2, 4, 34, 3, 69, 4, 64, 32, 2, 32, 1, 69, 13, 1, 26, 32, 1, 32, 2, 16, 87, 12, 1, 11, 32, 5, 32, 3, 32, 2, 32, 1, 16, 88, 11, 34, 3, 69, 4, 64, 32, 0, 32, 1, 54, 2, 4, 12, 1, 11, 32, 0, 32, 3, 54, 2, 4, 65, 0, 33, 4, 32, 1, 33, 2, 11, 32, 0, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 54, 2, 0, 11, 172, 8, 1, 5, 127, 35, 0, 65, 32, 107, 34, 6, 36, 0, 2, 64, 2, 64, 2, 64, 32, 1, 45, 0, 4, 69, 4, 64, 2, 64, 32, 1, 40, 2, 0, 34, 8, 40, 2, 8, 34, 5, 32, 8, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 5, 65, 1, 106, 34, 7, 32, 5, 73, 13, 2, 32, 5, 65, 1, 116, 34, 9, 32, 7, 32, 9, 32, 7, 75, 27, 34, 7, 65, 8, 32, 7, 65, 8, 75, 27, 33, 7, 2, 64, 32, 5, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 5, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 7, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 40, 2, 8, 33, 5, 12, 1, 11, 32, 5, 69, 13, 2, 12, 4, 11, 32, 5, 32, 7, 106, 65, 44, 58, 0, 0, 32, 8, 32, 8, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 2, 64, 32, 1, 40, 2, 0, 34, 8, 40, 2, 8, 34, 5, 32, 8, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 5, 65, 1, 106, 34, 7, 32, 5, 73, 13, 1, 32, 5, 65, 1, 116, 34, 9, 32, 7, 32, 9, 32, 7, 75, 27, 34, 7, 65, 8, 32, 7, 65, 8, 75, 27, 33, 7, 2, 64, 32, 5, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 5, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 7, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 40, 2, 8, 33, 5, 12, 1, 11, 32, 5, 69, 13, 1, 12, 3, 11, 32, 5, 32, 7, 106, 65, 34, 58, 0, 0, 32, 8, 32, 8, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 32, 1, 40, 2, 0, 34, 8, 65, 4, 106, 40, 2, 0, 34, 7, 32, 8, 65, 8, 106, 40, 2, 0, 34, 5, 107, 32, 3, 79, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 3, 32, 5, 106, 34, 9, 32, 5, 73, 13, 1, 32, 7, 65, 1, 116, 34, 5, 32, 9, 32, 5, 32, 9, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 7, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 7, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 5, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 65, 8, 106, 40, 2, 0, 33, 5, 12, 1, 11, 32, 5, 69, 13, 1, 12, 3, 11, 32, 5, 32, 7, 106, 32, 2, 32, 3, 16, 212, 2, 26, 32, 8, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 32, 3, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 2, 65, 4, 106, 40, 2, 0, 34, 3, 32, 2, 65, 8, 106, 40, 2, 0, 34, 5, 107, 65, 2, 79, 4, 64, 32, 2, 40, 2, 0, 33, 3, 12, 2, 11, 32, 5, 65, 2, 106, 34, 7, 32, 5, 73, 13, 0, 32, 3, 65, 1, 116, 34, 5, 32, 7, 32, 5, 32, 7, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 3, 54, 2, 4, 32, 6, 32, 2, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 5, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 3, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 0, 32, 2, 65, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 8, 106, 40, 2, 0, 33, 5, 12, 2, 11, 32, 5, 69, 13, 0, 32, 3, 32, 5, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 5, 106, 65, 162, 244, 0, 59, 0, 0, 32, 2, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 6, 32, 1, 40, 2, 0, 32, 4, 40, 2, 0, 32, 4, 40, 2, 8, 16, 190, 1, 32, 6, 65, 24, 106, 34, 2, 32, 6, 65, 12, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 2, 4, 55, 3, 16, 65, 1, 33, 1, 2, 64, 32, 6, 40, 2, 0, 65, 1, 71, 4, 64, 65, 0, 33, 1, 12, 1, 11, 32, 0, 32, 6, 41, 3, 16, 55, 2, 4, 32, 0, 65, 12, 106, 32, 2, 40, 2, 0, 54, 2, 0, 11, 32, 0, 32, 1, 54, 2, 0, 32, 6, 65, 32, 106, 36, 0, 15, 11, 32, 7, 32, 5, 16, 138, 2, 0, 11, 167, 8, 1, 5, 127, 35, 0, 65, 32, 107, 34, 6, 36, 0, 2, 64, 2, 64, 2, 64, 32, 1, 45, 0, 4, 69, 4, 64, 2, 64, 32, 1, 40, 2, 0, 34, 8, 40, 2, 8, 34, 5, 32, 8, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 5, 65, 1, 106, 34, 7, 32, 5, 73, 13, 2, 32, 5, 65, 1, 116, 34, 9, 32, 7, 32, 9, 32, 7, 75, 27, 34, 7, 65, 8, 32, 7, 65, 8, 75, 27, 33, 7, 2, 64, 32, 5, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 5, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 7, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 40, 2, 8, 33, 5, 12, 1, 11, 32, 5, 69, 13, 2, 12, 4, 11, 32, 5, 32, 7, 106, 65, 44, 58, 0, 0, 32, 8, 32, 8, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 2, 64, 32, 1, 40, 2, 0, 34, 8, 40, 2, 8, 34, 5, 32, 8, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 5, 65, 1, 106, 34, 7, 32, 5, 73, 13, 1, 32, 5, 65, 1, 116, 34, 9, 32, 7, 32, 9, 32, 7, 75, 27, 34, 7, 65, 8, 32, 7, 65, 8, 75, 27, 33, 7, 2, 64, 32, 5, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 5, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 7, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 40, 2, 8, 33, 5, 12, 1, 11, 32, 5, 69, 13, 1, 12, 3, 11, 32, 5, 32, 7, 106, 65, 34, 58, 0, 0, 32, 8, 32, 8, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 32, 1, 40, 2, 0, 34, 8, 65, 4, 106, 40, 2, 0, 34, 7, 32, 8, 65, 8, 106, 40, 2, 0, 34, 5, 107, 32, 3, 79, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 3, 32, 5, 106, 34, 9, 32, 5, 73, 13, 1, 32, 7, 65, 1, 116, 34, 5, 32, 9, 32, 5, 32, 9, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 7, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 7, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 5, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 65, 8, 106, 40, 2, 0, 33, 5, 12, 1, 11, 32, 5, 69, 13, 1, 12, 3, 11, 32, 5, 32, 7, 106, 32, 2, 32, 3, 16, 212, 2, 26, 32, 8, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 32, 3, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 2, 65, 4, 106, 40, 2, 0, 34, 3, 32, 2, 65, 8, 106, 40, 2, 0, 34, 5, 107, 65, 2, 79, 4, 64, 32, 2, 40, 2, 0, 33, 3, 12, 2, 11, 32, 5, 65, 2, 106, 34, 7, 32, 5, 73, 13, 0, 32, 3, 65, 1, 116, 34, 5, 32, 7, 32, 5, 32, 7, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 3, 54, 2, 4, 32, 6, 32, 2, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 5, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 3, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 0, 32, 2, 65, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 8, 106, 40, 2, 0, 33, 5, 12, 2, 11, 32, 5, 69, 13, 0, 32, 3, 32, 5, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 5, 106, 65, 162, 244, 0, 59, 0, 0, 32, 2, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 6, 32, 1, 40, 2, 0, 32, 4, 41, 3, 0, 16, 189, 1, 32, 6, 65, 24, 106, 34, 2, 32, 6, 65, 12, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 2, 4, 55, 3, 16, 65, 1, 33, 1, 2, 64, 32, 6, 40, 2, 0, 65, 1, 71, 4, 64, 65, 0, 33, 1, 12, 1, 11, 32, 0, 32, 6, 41, 3, 16, 55, 2, 4, 32, 0, 65, 12, 106, 32, 2, 40, 2, 0, 54, 2, 0, 11, 32, 0, 32, 1, 54, 2, 0, 32, 6, 65, 32, 106, 36, 0, 15, 11, 32, 7, 32, 5, 16, 138, 2, 0, 11, 167, 8, 1, 5, 127, 35, 0, 65, 32, 107, 34, 6, 36, 0, 2, 64, 2, 64, 2, 64, 32, 1, 45, 0, 4, 69, 4, 64, 2, 64, 32, 1, 40, 2, 0, 34, 8, 40, 2, 8, 34, 5, 32, 8, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 5, 65, 1, 106, 34, 7, 32, 5, 73, 13, 2, 32, 5, 65, 1, 116, 34, 9, 32, 7, 32, 9, 32, 7, 75, 27, 34, 7, 65, 8, 32, 7, 65, 8, 75, 27, 33, 7, 2, 64, 32, 5, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 5, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 7, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 40, 2, 8, 33, 5, 12, 1, 11, 32, 5, 69, 13, 2, 12, 4, 11, 32, 5, 32, 7, 106, 65, 44, 58, 0, 0, 32, 8, 32, 8, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 2, 64, 32, 1, 40, 2, 0, 34, 8, 40, 2, 8, 34, 5, 32, 8, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 5, 65, 1, 106, 34, 7, 32, 5, 73, 13, 1, 32, 5, 65, 1, 116, 34, 9, 32, 7, 32, 9, 32, 7, 75, 27, 34, 7, 65, 8, 32, 7, 65, 8, 75, 27, 33, 7, 2, 64, 32, 5, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 5, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 7, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 40, 2, 8, 33, 5, 12, 1, 11, 32, 5, 69, 13, 1, 12, 3, 11, 32, 5, 32, 7, 106, 65, 34, 58, 0, 0, 32, 8, 32, 8, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 32, 1, 40, 2, 0, 34, 8, 65, 4, 106, 40, 2, 0, 34, 7, 32, 8, 65, 8, 106, 40, 2, 0, 34, 5, 107, 32, 3, 79, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 3, 32, 5, 106, 34, 9, 32, 5, 73, 13, 1, 32, 7, 65, 1, 116, 34, 5, 32, 9, 32, 5, 32, 9, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 7, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 7, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 5, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 65, 8, 106, 40, 2, 0, 33, 5, 12, 1, 11, 32, 5, 69, 13, 1, 12, 3, 11, 32, 5, 32, 7, 106, 32, 2, 32, 3, 16, 212, 2, 26, 32, 8, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 32, 3, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 2, 65, 4, 106, 40, 2, 0, 34, 3, 32, 2, 65, 8, 106, 40, 2, 0, 34, 5, 107, 65, 2, 79, 4, 64, 32, 2, 40, 2, 0, 33, 3, 12, 2, 11, 32, 5, 65, 2, 106, 34, 7, 32, 5, 73, 13, 0, 32, 3, 65, 1, 116, 34, 5, 32, 7, 32, 5, 32, 7, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 3, 54, 2, 4, 32, 6, 32, 2, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 5, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 3, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 0, 32, 2, 65, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 8, 106, 40, 2, 0, 33, 5, 12, 2, 11, 32, 5, 69, 13, 0, 32, 3, 32, 5, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 5, 106, 65, 162, 244, 0, 59, 0, 0, 32, 2, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 6, 32, 1, 40, 2, 0, 32, 4, 40, 2, 0, 16, 188, 1, 32, 6, 65, 24, 106, 34, 2, 32, 6, 65, 12, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 2, 4, 55, 3, 16, 65, 1, 33, 1, 2, 64, 32, 6, 40, 2, 0, 65, 1, 71, 4, 64, 65, 0, 33, 1, 12, 1, 11, 32, 0, 32, 6, 41, 3, 16, 55, 2, 4, 32, 0, 65, 12, 106, 32, 2, 40, 2, 0, 54, 2, 0, 11, 32, 0, 32, 1, 54, 2, 0, 32, 6, 65, 32, 106, 36, 0, 15, 11, 32, 7, 32, 5, 16, 138, 2, 0, 11, 178, 8, 1, 5, 127, 35, 0, 65, 32, 107, 34, 4, 36, 0, 2, 64, 2, 64, 2, 64, 32, 1, 45, 0, 4, 69, 4, 64, 2, 64, 32, 1, 40, 2, 0, 34, 6, 40, 2, 8, 34, 3, 32, 6, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 6, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 1, 106, 34, 5, 32, 3, 73, 13, 2, 32, 3, 65, 1, 116, 34, 7, 32, 5, 32, 7, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 4, 65, 0, 54, 2, 0, 12, 1, 11, 32, 4, 65, 8, 106, 65, 1, 54, 2, 0, 32, 4, 32, 3, 54, 2, 4, 32, 4, 32, 6, 40, 2, 0, 54, 2, 0, 11, 32, 4, 65, 16, 106, 32, 5, 65, 1, 32, 4, 16, 13, 32, 4, 65, 24, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 20, 33, 5, 32, 4, 40, 2, 16, 65, 1, 71, 4, 64, 32, 6, 32, 5, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 40, 2, 8, 33, 3, 12, 1, 11, 32, 3, 69, 13, 2, 12, 4, 11, 32, 3, 32, 5, 106, 65, 44, 58, 0, 0, 32, 6, 32, 6, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 2, 64, 32, 1, 40, 2, 0, 34, 6, 40, 2, 8, 34, 3, 32, 6, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 6, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 1, 106, 34, 5, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 7, 32, 5, 32, 7, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 4, 65, 0, 54, 2, 0, 12, 1, 11, 32, 4, 65, 8, 106, 65, 1, 54, 2, 0, 32, 4, 32, 3, 54, 2, 4, 32, 4, 32, 6, 40, 2, 0, 54, 2, 0, 11, 32, 4, 65, 16, 106, 32, 5, 65, 1, 32, 4, 16, 13, 32, 4, 65, 24, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 20, 33, 5, 32, 4, 40, 2, 16, 65, 1, 71, 4, 64, 32, 6, 32, 5, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 40, 2, 8, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 3, 11, 32, 3, 32, 5, 106, 65, 34, 58, 0, 0, 32, 6, 32, 6, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 32, 1, 40, 2, 0, 34, 6, 65, 4, 106, 40, 2, 0, 34, 5, 32, 6, 65, 8, 106, 40, 2, 0, 34, 3, 107, 65, 6, 79, 4, 64, 32, 6, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 6, 106, 34, 7, 32, 3, 73, 13, 1, 32, 5, 65, 1, 116, 34, 3, 32, 7, 32, 3, 32, 7, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 4, 65, 0, 54, 2, 0, 12, 1, 11, 32, 4, 65, 8, 106, 65, 1, 54, 2, 0, 32, 4, 32, 5, 54, 2, 4, 32, 4, 32, 6, 40, 2, 0, 54, 2, 0, 11, 32, 4, 65, 16, 106, 32, 3, 65, 1, 32, 4, 16, 13, 32, 4, 65, 24, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 20, 33, 5, 32, 4, 40, 2, 16, 65, 1, 71, 4, 64, 32, 6, 32, 5, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 3, 11, 32, 3, 32, 5, 106, 34, 3, 65, 249, 128, 192, 0, 40, 0, 0, 54, 0, 0, 32, 3, 65, 4, 106, 65, 253, 128, 192, 0, 47, 0, 0, 59, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 6, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 6, 65, 4, 106, 40, 2, 0, 34, 5, 32, 6, 65, 8, 106, 40, 2, 0, 34, 3, 107, 65, 2, 79, 4, 64, 32, 6, 40, 2, 0, 33, 5, 12, 2, 11, 32, 3, 65, 2, 106, 34, 7, 32, 3, 73, 13, 0, 32, 5, 65, 1, 116, 34, 3, 32, 7, 32, 3, 32, 7, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 4, 65, 0, 54, 2, 0, 12, 1, 11, 32, 4, 65, 8, 106, 65, 1, 54, 2, 0, 32, 4, 32, 5, 54, 2, 4, 32, 4, 32, 6, 40, 2, 0, 54, 2, 0, 11, 32, 4, 65, 16, 106, 32, 3, 65, 1, 32, 4, 16, 13, 32, 4, 65, 24, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 20, 33, 5, 32, 4, 40, 2, 16, 65, 1, 71, 4, 64, 32, 6, 32, 5, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 2, 11, 32, 3, 69, 13, 0, 12, 2, 11, 16, 139, 2, 0, 11, 32, 3, 32, 5, 106, 65, 162, 244, 0, 59, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 4, 32, 2, 32, 1, 40, 2, 0, 16, 18, 32, 4, 65, 24, 106, 34, 2, 32, 4, 65, 12, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 4, 55, 3, 16, 65, 1, 33, 1, 2, 64, 32, 4, 40, 2, 0, 65, 1, 71, 4, 64, 65, 0, 33, 1, 12, 1, 11, 32, 0, 32, 4, 41, 3, 16, 55, 2, 4, 32, 0, 65, 12, 106, 32, 2, 40, 2, 0, 54, 2, 0, 11, 32, 0, 32, 1, 54, 2, 0, 32, 4, 65, 32, 106, 36, 0, 15, 11, 32, 5, 32, 3, 16, 138, 2, 0, 11, 163, 11, 2, 4, 127, 1, 126, 35, 0, 65, 224, 0, 107, 34, 3, 36, 0, 32, 3, 65, 200, 0, 106, 32, 2, 16, 194, 1, 2, 64, 2, 64, 32, 3, 40, 2, 72, 65, 1, 70, 4, 64, 32, 0, 32, 3, 41, 2, 76, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 65, 212, 0, 106, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 3, 32, 3, 40, 2, 76, 54, 2, 0, 32, 3, 32, 3, 65, 208, 0, 106, 45, 0, 0, 58, 0, 4, 32, 3, 65, 200, 0, 106, 32, 3, 65, 244, 128, 192, 0, 65, 5, 32, 1, 65, 16, 106, 16, 14, 32, 3, 40, 2, 72, 65, 1, 70, 4, 64, 32, 0, 32, 3, 41, 2, 76, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 65, 212, 0, 106, 40, 2, 0, 54, 2, 0, 12, 1, 11, 2, 64, 2, 64, 32, 3, 45, 0, 4, 69, 4, 64, 2, 64, 32, 3, 40, 2, 0, 34, 5, 40, 2, 8, 34, 2, 32, 5, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 5, 40, 2, 0, 33, 4, 12, 1, 11, 32, 2, 65, 1, 106, 34, 4, 32, 2, 73, 13, 2, 32, 2, 65, 1, 116, 34, 6, 32, 4, 32, 6, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 2, 69, 4, 64, 32, 3, 65, 0, 54, 2, 72, 12, 1, 11, 32, 3, 65, 208, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 2, 54, 2, 76, 32, 3, 32, 5, 40, 2, 0, 54, 2, 72, 11, 32, 3, 65, 40, 106, 32, 4, 65, 1, 32, 3, 65, 200, 0, 106, 16, 13, 32, 3, 65, 48, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 44, 33, 4, 32, 3, 40, 2, 40, 65, 1, 71, 4, 64, 32, 5, 32, 4, 54, 2, 0, 32, 5, 65, 4, 106, 32, 2, 54, 2, 0, 32, 5, 40, 2, 8, 33, 2, 12, 1, 11, 32, 2, 69, 13, 2, 12, 5, 11, 32, 2, 32, 4, 106, 65, 44, 58, 0, 0, 32, 5, 32, 5, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 3, 65, 0, 58, 0, 4, 2, 64, 32, 3, 40, 2, 0, 34, 5, 40, 2, 8, 34, 2, 32, 5, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 5, 40, 2, 0, 33, 4, 12, 1, 11, 32, 2, 65, 1, 106, 34, 4, 32, 2, 73, 13, 1, 32, 2, 65, 1, 116, 34, 6, 32, 4, 32, 6, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 2, 69, 4, 64, 32, 3, 65, 0, 54, 2, 72, 12, 1, 11, 32, 3, 65, 208, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 2, 54, 2, 76, 32, 3, 32, 5, 40, 2, 0, 54, 2, 72, 11, 32, 3, 65, 40, 106, 32, 4, 65, 1, 32, 3, 65, 200, 0, 106, 16, 13, 32, 3, 65, 48, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 44, 33, 4, 32, 3, 40, 2, 40, 65, 1, 71, 4, 64, 32, 5, 32, 4, 54, 2, 0, 32, 5, 65, 4, 106, 32, 2, 54, 2, 0, 32, 5, 40, 2, 8, 33, 2, 12, 1, 11, 32, 2, 69, 13, 1, 12, 4, 11, 32, 2, 32, 4, 106, 65, 34, 58, 0, 0, 32, 5, 32, 5, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 32, 3, 40, 2, 0, 34, 5, 65, 4, 106, 40, 2, 0, 34, 4, 32, 5, 65, 8, 106, 40, 2, 0, 34, 2, 107, 65, 6, 79, 4, 64, 32, 5, 40, 2, 0, 33, 4, 12, 1, 11, 32, 2, 65, 6, 106, 34, 6, 32, 2, 73, 13, 1, 32, 4, 65, 1, 116, 34, 2, 32, 6, 32, 2, 32, 6, 75, 27, 34, 2, 65, 8, 32, 2, 65, 8, 75, 27, 33, 2, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 72, 12, 1, 11, 32, 3, 65, 208, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 76, 32, 3, 32, 5, 40, 2, 0, 54, 2, 72, 11, 32, 3, 65, 40, 106, 32, 2, 65, 1, 32, 3, 65, 200, 0, 106, 16, 13, 32, 3, 65, 48, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 44, 33, 4, 32, 3, 40, 2, 40, 65, 1, 71, 4, 64, 32, 5, 32, 4, 54, 2, 0, 32, 5, 65, 4, 106, 32, 2, 54, 2, 0, 32, 5, 65, 8, 106, 40, 2, 0, 33, 2, 12, 1, 11, 32, 2, 69, 13, 1, 12, 4, 11, 32, 2, 32, 4, 106, 34, 2, 65, 249, 128, 192, 0, 40, 0, 0, 54, 0, 0, 32, 2, 65, 4, 106, 65, 253, 128, 192, 0, 47, 0, 0, 59, 0, 0, 32, 5, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 65, 6, 106, 34, 2, 54, 2, 0, 32, 5, 65, 4, 106, 40, 2, 0, 34, 4, 32, 2, 107, 65, 2, 79, 4, 64, 32, 5, 40, 2, 0, 33, 4, 12, 2, 11, 32, 2, 65, 2, 106, 34, 6, 32, 2, 73, 13, 0, 32, 4, 65, 1, 116, 34, 2, 32, 6, 32, 2, 32, 6, 75, 27, 34, 2, 65, 8, 32, 2, 65, 8, 75, 27, 33, 2, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 72, 12, 1, 11, 32, 3, 65, 208, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 76, 32, 3, 32, 5, 40, 2, 0, 54, 2, 72, 11, 32, 3, 65, 40, 106, 32, 2, 65, 1, 32, 3, 65, 200, 0, 106, 16, 13, 32, 3, 65, 48, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 44, 33, 4, 32, 3, 40, 2, 40, 65, 1, 71, 4, 64, 32, 5, 32, 4, 54, 2, 0, 32, 5, 65, 4, 106, 32, 2, 54, 2, 0, 32, 5, 65, 8, 106, 40, 2, 0, 33, 2, 12, 2, 11, 32, 2, 13, 3, 11, 16, 139, 2, 0, 11, 32, 2, 32, 4, 106, 65, 162, 244, 0, 59, 0, 0, 32, 5, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 3, 40, 2, 0, 33, 2, 32, 3, 65, 0, 54, 2, 48, 32, 3, 66, 1, 55, 3, 40, 32, 3, 32, 1, 54, 2, 52, 32, 3, 65, 1, 54, 2, 60, 32, 3, 32, 3, 65, 52, 106, 54, 2, 56, 32, 3, 32, 3, 65, 40, 106, 54, 2, 68, 32, 3, 65, 220, 0, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 76, 32, 3, 65, 212, 134, 192, 0, 54, 2, 72, 32, 3, 32, 3, 65, 56, 106, 54, 2, 88, 2, 64, 32, 3, 65, 196, 0, 106, 65, 156, 140, 192, 0, 32, 3, 65, 200, 0, 106, 16, 156, 2, 69, 4, 64, 32, 3, 65, 200, 0, 106, 32, 2, 32, 3, 40, 2, 40, 32, 3, 40, 2, 48, 16, 190, 1, 2, 64, 32, 3, 40, 2, 40, 34, 1, 69, 13, 0, 32, 3, 40, 2, 44, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 3, 65, 32, 106, 34, 1, 32, 3, 65, 212, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 76, 55, 3, 24, 32, 3, 40, 2, 72, 65, 1, 71, 13, 1, 32, 3, 65, 16, 106, 32, 1, 40, 2, 0, 34, 1, 54, 2, 0, 32, 3, 32, 3, 41, 3, 24, 34, 7, 55, 3, 8, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 32, 7, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 12, 2, 11, 65, 220, 134, 192, 0, 65, 55, 32, 3, 65, 200, 0, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 32, 0, 32, 2, 32, 3, 45, 0, 4, 16, 184, 1, 11, 32, 3, 65, 224, 0, 106, 36, 0, 15, 11, 32, 4, 32, 2, 16, 138, 2, 0, 11, 163, 8, 1, 5, 127, 35, 0, 65, 32, 107, 34, 6, 36, 0, 2, 64, 2, 64, 2, 64, 32, 1, 45, 0, 4, 69, 4, 64, 2, 64, 32, 1, 40, 2, 0, 34, 8, 40, 2, 8, 34, 5, 32, 8, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 5, 65, 1, 106, 34, 7, 32, 5, 73, 13, 2, 32, 5, 65, 1, 116, 34, 9, 32, 7, 32, 9, 32, 7, 75, 27, 34, 7, 65, 8, 32, 7, 65, 8, 75, 27, 33, 7, 2, 64, 32, 5, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 5, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 7, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 40, 2, 8, 33, 5, 12, 1, 11, 32, 5, 69, 13, 2, 12, 4, 11, 32, 5, 32, 7, 106, 65, 44, 58, 0, 0, 32, 8, 32, 8, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 1, 65, 0, 58, 0, 4, 2, 64, 32, 1, 40, 2, 0, 34, 8, 40, 2, 8, 34, 5, 32, 8, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 5, 65, 1, 106, 34, 7, 32, 5, 73, 13, 1, 32, 5, 65, 1, 116, 34, 9, 32, 7, 32, 9, 32, 7, 75, 27, 34, 7, 65, 8, 32, 7, 65, 8, 75, 27, 33, 7, 2, 64, 32, 5, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 5, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 7, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 40, 2, 8, 33, 5, 12, 1, 11, 32, 5, 69, 13, 1, 12, 3, 11, 32, 5, 32, 7, 106, 65, 34, 58, 0, 0, 32, 8, 32, 8, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 32, 1, 40, 2, 0, 34, 8, 65, 4, 106, 40, 2, 0, 34, 7, 32, 8, 65, 8, 106, 40, 2, 0, 34, 5, 107, 32, 3, 79, 4, 64, 32, 8, 40, 2, 0, 33, 7, 12, 1, 11, 32, 3, 32, 5, 106, 34, 9, 32, 5, 73, 13, 1, 32, 7, 65, 1, 116, 34, 5, 32, 9, 32, 5, 32, 9, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 7, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 7, 54, 2, 4, 32, 6, 32, 8, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 5, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 7, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 7, 54, 2, 0, 32, 8, 65, 4, 106, 32, 5, 54, 2, 0, 32, 8, 65, 8, 106, 40, 2, 0, 33, 5, 12, 1, 11, 32, 5, 69, 13, 1, 12, 3, 11, 32, 5, 32, 7, 106, 32, 2, 32, 3, 16, 212, 2, 26, 32, 8, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 32, 3, 106, 54, 2, 0, 32, 1, 40, 2, 0, 34, 2, 65, 4, 106, 40, 2, 0, 34, 3, 32, 2, 65, 8, 106, 40, 2, 0, 34, 5, 107, 65, 2, 79, 4, 64, 32, 2, 40, 2, 0, 33, 3, 12, 2, 11, 32, 5, 65, 2, 106, 34, 7, 32, 5, 73, 13, 0, 32, 3, 65, 1, 116, 34, 5, 32, 7, 32, 5, 32, 7, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 6, 65, 0, 54, 2, 0, 12, 1, 11, 32, 6, 65, 8, 106, 65, 1, 54, 2, 0, 32, 6, 32, 3, 54, 2, 4, 32, 6, 32, 2, 40, 2, 0, 54, 2, 0, 11, 32, 6, 65, 16, 106, 32, 5, 65, 1, 32, 6, 16, 13, 32, 6, 65, 24, 106, 40, 2, 0, 33, 5, 32, 6, 40, 2, 20, 33, 3, 32, 6, 40, 2, 16, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 0, 32, 2, 65, 4, 106, 32, 5, 54, 2, 0, 32, 2, 65, 8, 106, 40, 2, 0, 33, 5, 12, 2, 11, 32, 5, 69, 13, 0, 32, 3, 32, 5, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 5, 106, 65, 162, 244, 0, 59, 0, 0, 32, 2, 65, 8, 106, 34, 2, 32, 2, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 6, 32, 4, 32, 1, 40, 2, 0, 16, 20, 32, 6, 65, 24, 106, 34, 2, 32, 6, 65, 12, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 2, 4, 55, 3, 16, 65, 1, 33, 1, 2, 64, 32, 6, 40, 2, 0, 65, 1, 71, 4, 64, 65, 0, 33, 1, 12, 1, 11, 32, 0, 32, 6, 41, 3, 16, 55, 2, 4, 32, 0, 65, 12, 106, 32, 2, 40, 2, 0, 54, 2, 0, 11, 32, 0, 32, 1, 54, 2, 0, 32, 6, 65, 32, 106, 36, 0, 15, 11, 32, 7, 32, 5, 16, 138, 2, 0, 11, 139, 4, 2, 7, 127, 1, 126, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 1, 40, 2, 0, 33, 5, 32, 3, 65, 16, 106, 32, 2, 32, 1, 40, 2, 8, 34, 4, 16, 193, 1, 2, 64, 32, 3, 40, 2, 16, 65, 1, 70, 4, 64, 32, 0, 32, 3, 41, 2, 20, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 65, 28, 106, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 3, 65, 24, 106, 45, 0, 0, 33, 2, 32, 3, 40, 2, 20, 33, 1, 32, 4, 4, 64, 32, 4, 65, 5, 116, 33, 7, 32, 2, 65, 255, 1, 113, 69, 33, 2, 32, 3, 65, 16, 106, 65, 4, 114, 33, 8, 3, 64, 32, 2, 65, 1, 113, 4, 64, 2, 64, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 34, 9, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 4, 12, 1, 11, 2, 64, 32, 2, 65, 1, 106, 34, 4, 32, 2, 73, 13, 0, 32, 2, 65, 1, 116, 34, 6, 32, 4, 32, 6, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 2, 69, 4, 64, 32, 3, 65, 0, 54, 2, 16, 12, 1, 11, 32, 1, 40, 2, 0, 33, 6, 32, 3, 65, 1, 54, 2, 24, 32, 3, 32, 2, 54, 2, 20, 32, 3, 32, 6, 54, 2, 16, 11, 32, 3, 65, 32, 106, 32, 4, 65, 1, 32, 3, 65, 16, 106, 16, 13, 32, 3, 40, 2, 36, 33, 4, 32, 3, 40, 2, 40, 33, 2, 32, 3, 40, 2, 32, 65, 1, 71, 4, 64, 32, 1, 32, 4, 54, 2, 0, 32, 9, 32, 2, 54, 2, 0, 32, 1, 40, 2, 8, 33, 2, 12, 2, 11, 32, 2, 69, 13, 0, 32, 4, 32, 2, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 2, 32, 4, 106, 65, 44, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 3, 65, 16, 106, 32, 5, 32, 1, 16, 18, 32, 3, 65, 40, 106, 32, 8, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 8, 41, 2, 0, 55, 3, 32, 32, 3, 40, 2, 16, 65, 1, 70, 4, 64, 32, 3, 65, 8, 106, 32, 3, 65, 40, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 3, 32, 3, 41, 3, 32, 34, 10, 55, 3, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 32, 10, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 12, 3, 11, 32, 5, 65, 32, 106, 33, 5, 65, 1, 33, 2, 32, 7, 65, 96, 106, 34, 7, 13, 0, 11, 65, 0, 33, 2, 11, 32, 0, 32, 1, 32, 2, 65, 255, 1, 113, 65, 0, 71, 16, 183, 1, 11, 32, 3, 65, 48, 106, 36, 0, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 141, 1, 11, 224, 15, 1, 16, 127, 35, 0, 65, 240, 0, 107, 34, 3, 36, 0, 32, 3, 65, 48, 106, 32, 1, 32, 2, 16, 174, 1, 32, 3, 65, 40, 106, 32, 3, 65, 48, 106, 16, 181, 1, 65, 1, 33, 15, 2, 64, 2, 64, 32, 3, 45, 0, 40, 65, 1, 113, 69, 4, 64, 65, 4, 33, 2, 12, 1, 11, 32, 3, 45, 0, 41, 65, 251, 0, 71, 4, 64, 65, 14, 33, 2, 12, 1, 11, 32, 3, 65, 48, 106, 16, 175, 1, 32, 3, 65, 32, 106, 32, 3, 65, 48, 106, 16, 173, 1, 32, 3, 45, 0, 36, 33, 4, 32, 3, 65, 24, 106, 32, 3, 40, 2, 32, 34, 7, 16, 181, 1, 65, 1, 33, 16, 65, 2, 33, 2, 2, 64, 2, 64, 2, 64, 32, 3, 45, 0, 24, 65, 1, 113, 69, 13, 0, 32, 3, 45, 0, 25, 33, 1, 32, 4, 65, 1, 113, 33, 4, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 255, 1, 113, 34, 5, 65, 44, 71, 4, 64, 32, 5, 65, 253, 0, 70, 13, 1, 32, 4, 65, 255, 1, 113, 13, 2, 65, 9, 33, 2, 12, 7, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 2, 12, 7, 11, 32, 7, 16, 175, 1, 32, 3, 65, 16, 106, 32, 7, 16, 181, 1, 32, 3, 45, 0, 16, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 17, 33, 1, 12, 1, 11, 2, 64, 32, 9, 4, 64, 2, 64, 32, 10, 69, 4, 64, 32, 3, 65, 64, 107, 65, 208, 146, 192, 0, 65, 11, 16, 23, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 68, 33, 1, 32, 3, 40, 2, 64, 33, 2, 12, 1, 11, 32, 8, 13, 2, 32, 3, 65, 64, 107, 65, 229, 148, 192, 0, 65, 6, 16, 23, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 68, 33, 1, 32, 3, 40, 2, 64, 33, 2, 65, 0, 33, 16, 32, 13, 69, 13, 0, 32, 10, 16, 226, 1, 11, 65, 0, 33, 11, 32, 12, 69, 4, 64, 65, 0, 33, 12, 32, 8, 13, 9, 12, 10, 11, 32, 9, 16, 226, 1, 32, 8, 13, 8, 12, 9, 11, 32, 3, 65, 64, 107, 65, 200, 146, 192, 0, 65, 8, 16, 23, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 68, 33, 1, 32, 3, 40, 2, 64, 33, 2, 65, 0, 33, 9, 12, 6, 11, 32, 3, 65, 64, 107, 32, 3, 65, 48, 106, 16, 178, 1, 32, 3, 65, 204, 0, 106, 33, 5, 32, 3, 65, 200, 0, 106, 33, 1, 32, 3, 40, 2, 64, 34, 2, 65, 21, 71, 4, 64, 32, 5, 40, 2, 0, 33, 4, 32, 1, 40, 2, 0, 33, 6, 32, 3, 40, 2, 68, 33, 1, 32, 12, 4, 64, 32, 9, 16, 226, 1, 11, 32, 13, 4, 64, 32, 10, 16, 226, 1, 11, 32, 14, 69, 13, 9, 32, 8, 16, 226, 1, 12, 9, 11, 32, 3, 65, 64, 107, 32, 3, 65, 48, 106, 16, 176, 1, 32, 3, 40, 2, 64, 34, 2, 65, 21, 71, 4, 64, 32, 5, 40, 2, 0, 33, 4, 32, 1, 40, 2, 0, 33, 6, 32, 3, 40, 2, 68, 33, 1, 32, 12, 4, 64, 32, 9, 16, 226, 1, 11, 32, 13, 4, 64, 32, 10, 16, 226, 1, 11, 32, 14, 69, 13, 9, 32, 8, 16, 226, 1, 12, 9, 11, 32, 0, 32, 9, 54, 2, 4, 32, 0, 65, 36, 106, 32, 17, 54, 2, 0, 32, 0, 65, 32, 106, 32, 14, 54, 2, 0, 32, 0, 65, 28, 106, 32, 8, 54, 2, 0, 32, 0, 65, 24, 106, 32, 18, 54, 2, 0, 32, 0, 65, 20, 106, 32, 13, 54, 2, 0, 32, 0, 65, 16, 106, 32, 10, 54, 2, 0, 32, 0, 65, 12, 106, 32, 6, 54, 2, 0, 32, 0, 65, 8, 106, 32, 12, 54, 2, 0, 65, 0, 33, 15, 12, 9, 11, 32, 1, 65, 255, 1, 113, 34, 1, 65, 34, 71, 4, 64, 65, 16, 33, 2, 32, 1, 65, 253, 0, 71, 13, 3, 65, 19, 33, 2, 12, 3, 11, 32, 3, 65, 8, 106, 32, 7, 16, 181, 1, 32, 3, 45, 0, 8, 65, 1, 113, 13, 1, 11, 65, 4, 33, 2, 12, 3, 11, 32, 3, 45, 0, 9, 65, 34, 71, 4, 64, 65, 14, 33, 2, 12, 3, 11, 32, 7, 16, 175, 1, 32, 3, 65, 64, 107, 32, 7, 16, 180, 1, 32, 3, 40, 2, 80, 33, 4, 32, 3, 40, 2, 76, 33, 11, 32, 3, 40, 2, 72, 33, 1, 32, 3, 40, 2, 68, 33, 5, 32, 3, 40, 2, 64, 65, 1, 70, 4, 64, 32, 11, 33, 6, 32, 5, 33, 2, 12, 3, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 2, 64, 2, 64, 32, 5, 4, 64, 65, 3, 33, 5, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 122, 106, 14, 6, 2, 3, 0, 3, 3, 1, 3, 11, 65, 127, 65, 0, 32, 1, 41, 0, 0, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 82, 27, 33, 5, 12, 2, 11, 65, 127, 65, 1, 32, 1, 65, 208, 146, 192, 0, 65, 11, 16, 214, 2, 27, 33, 5, 12, 1, 11, 65, 127, 65, 126, 32, 1, 65, 229, 148, 192, 0, 65, 6, 16, 214, 2, 27, 33, 5, 11, 32, 11, 4, 64, 32, 1, 16, 226, 1, 11, 32, 5, 65, 3, 113, 34, 1, 65, 3, 70, 13, 8, 32, 1, 65, 1, 107, 14, 2, 3, 7, 1, 11, 2, 64, 32, 11, 65, 122, 106, 14, 6, 6, 8, 0, 8, 8, 2, 8, 11, 32, 1, 41, 0, 0, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 82, 13, 7, 11, 32, 9, 4, 64, 32, 3, 65, 64, 107, 65, 200, 146, 192, 0, 65, 8, 16, 24, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 12, 3, 11, 32, 3, 65, 64, 107, 32, 7, 16, 179, 1, 65, 1, 33, 11, 2, 64, 2, 127, 32, 3, 40, 2, 64, 34, 5, 65, 21, 71, 4, 64, 32, 3, 40, 2, 76, 33, 4, 32, 3, 40, 2, 72, 33, 6, 32, 3, 40, 2, 68, 33, 1, 32, 5, 12, 1, 11, 32, 3, 65, 64, 107, 32, 7, 16, 25, 32, 3, 40, 2, 76, 33, 6, 32, 3, 40, 2, 72, 33, 1, 32, 3, 40, 2, 68, 33, 9, 32, 3, 40, 2, 64, 65, 1, 71, 13, 1, 32, 3, 65, 208, 0, 106, 40, 2, 0, 33, 4, 32, 9, 11, 33, 2, 65, 0, 33, 9, 32, 8, 13, 12, 12, 13, 11, 32, 1, 33, 12, 12, 7, 11, 32, 1, 65, 208, 146, 192, 0, 65, 11, 16, 214, 2, 13, 5, 11, 32, 10, 69, 13, 1, 32, 3, 65, 64, 107, 65, 208, 146, 192, 0, 65, 11, 16, 24, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 11, 33, 6, 32, 3, 40, 2, 68, 33, 1, 32, 3, 40, 2, 64, 33, 2, 12, 7, 11, 32, 3, 65, 64, 107, 32, 7, 16, 179, 1, 65, 1, 33, 11, 2, 64, 2, 127, 32, 3, 40, 2, 64, 34, 5, 65, 21, 71, 4, 64, 32, 3, 40, 2, 76, 33, 4, 32, 3, 40, 2, 72, 33, 6, 32, 3, 40, 2, 68, 33, 1, 32, 5, 12, 1, 11, 32, 3, 65, 64, 107, 32, 7, 16, 25, 32, 3, 40, 2, 76, 33, 18, 32, 3, 40, 2, 72, 33, 1, 32, 3, 40, 2, 68, 33, 10, 32, 3, 40, 2, 64, 65, 1, 71, 13, 1, 32, 3, 65, 208, 0, 106, 40, 2, 0, 33, 4, 32, 18, 33, 6, 32, 10, 11, 33, 2, 65, 0, 33, 10, 32, 8, 13, 8, 12, 9, 11, 32, 1, 33, 13, 12, 3, 11, 32, 1, 65, 229, 148, 192, 0, 65, 6, 16, 214, 2, 13, 1, 11, 32, 8, 4, 64, 32, 3, 65, 64, 107, 65, 229, 148, 192, 0, 65, 6, 16, 24, 32, 3, 65, 204, 0, 106, 40, 2, 0, 33, 4, 32, 3, 65, 200, 0, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 68, 33, 1, 32, 3, 40, 2, 64, 33, 2, 65, 1, 33, 11, 12, 6, 11, 32, 3, 65, 64, 107, 32, 7, 16, 179, 1, 65, 1, 33, 11, 2, 127, 32, 3, 40, 2, 64, 34, 1, 65, 21, 71, 4, 64, 32, 3, 40, 2, 76, 33, 4, 32, 3, 40, 2, 72, 33, 6, 32, 1, 33, 2, 32, 3, 40, 2, 68, 12, 1, 11, 32, 3, 65, 64, 107, 32, 7, 16, 25, 32, 3, 40, 2, 76, 33, 17, 32, 3, 40, 2, 72, 33, 14, 32, 3, 40, 2, 68, 33, 8, 32, 3, 40, 2, 64, 65, 1, 71, 13, 2, 32, 3, 65, 208, 0, 106, 40, 2, 0, 33, 4, 32, 8, 33, 2, 32, 17, 33, 6, 32, 14, 11, 33, 1, 12, 6, 11, 32, 3, 65, 64, 107, 32, 7, 16, 179, 1, 32, 3, 40, 2, 64, 34, 5, 65, 21, 71, 4, 64, 32, 3, 40, 2, 72, 33, 6, 32, 3, 40, 2, 68, 33, 1, 32, 3, 32, 3, 40, 2, 76, 34, 4, 54, 2, 108, 32, 3, 32, 6, 54, 2, 104, 32, 3, 32, 1, 54, 2, 100, 32, 3, 32, 5, 54, 2, 96, 32, 5, 33, 2, 12, 4, 11, 32, 3, 65, 224, 0, 106, 32, 7, 16, 26, 32, 3, 40, 2, 96, 34, 5, 65, 21, 70, 13, 0, 32, 3, 40, 2, 108, 33, 4, 32, 3, 40, 2, 104, 33, 6, 32, 3, 40, 2, 100, 33, 1, 32, 5, 33, 2, 12, 3, 11, 32, 3, 32, 7, 16, 181, 1, 65, 0, 33, 4, 32, 3, 45, 0, 1, 33, 1, 32, 3, 45, 0, 0, 65, 1, 113, 13, 1, 11, 11, 11, 65, 1, 33, 11, 32, 8, 69, 13, 1, 11, 32, 14, 69, 13, 0, 32, 8, 16, 226, 1, 11, 32, 16, 69, 32, 13, 69, 32, 10, 69, 114, 114, 69, 4, 64, 32, 10, 16, 226, 1, 11, 32, 12, 69, 32, 9, 69, 114, 32, 11, 65, 1, 115, 114, 13, 0, 32, 9, 16, 226, 1, 11, 32, 3, 65, 236, 0, 106, 32, 4, 54, 2, 0, 32, 3, 65, 232, 0, 106, 32, 6, 54, 2, 0, 32, 3, 32, 1, 54, 2, 100, 32, 3, 32, 2, 54, 2, 96, 32, 3, 65, 64, 107, 65, 240, 135, 192, 0, 65, 22, 32, 3, 65, 224, 0, 106, 16, 27, 32, 0, 65, 32, 106, 32, 3, 65, 216, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 24, 106, 32, 3, 65, 208, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 16, 106, 32, 3, 65, 200, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 8, 106, 32, 3, 41, 3, 64, 55, 3, 0, 11, 32, 0, 32, 15, 54, 2, 0, 32, 3, 65, 240, 0, 106, 36, 0, 11, 131, 2, 1, 1, 127, 35, 0, 65, 224, 0, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 4, 32, 3, 32, 1, 54, 2, 0, 32, 3, 65, 28, 106, 65, 1, 54, 2, 0, 32, 3, 66, 2, 55, 2, 12, 32, 3, 65, 224, 141, 192, 0, 54, 2, 8, 32, 3, 65, 2, 54, 2, 36, 32, 3, 32, 3, 65, 32, 106, 54, 2, 24, 32, 3, 32, 3, 54, 2, 32, 32, 3, 65, 0, 54, 2, 48, 32, 3, 66, 1, 55, 3, 40, 32, 3, 32, 3, 65, 8, 106, 54, 2, 52, 32, 3, 65, 3, 54, 2, 60, 32, 3, 32, 3, 65, 52, 106, 54, 2, 56, 32, 3, 32, 3, 65, 40, 106, 54, 2, 68, 32, 3, 65, 220, 0, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 76, 32, 3, 65, 212, 134, 192, 0, 54, 2, 72, 32, 3, 32, 3, 65, 56, 106, 54, 2, 88, 32, 3, 65, 196, 0, 106, 65, 156, 140, 192, 0, 32, 3, 65, 200, 0, 106, 16, 156, 2, 4, 64, 65, 220, 134, 192, 0, 65, 55, 32, 3, 65, 200, 0, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 32, 0, 65, 12, 106, 32, 3, 65, 48, 106, 40, 2, 0, 54, 2, 0, 32, 0, 32, 3, 41, 3, 40, 55, 2, 4, 32, 0, 65, 20, 54, 2, 0, 32, 3, 65, 224, 0, 106, 36, 0, 11, 131, 2, 1, 1, 127, 35, 0, 65, 224, 0, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 4, 32, 3, 32, 1, 54, 2, 0, 32, 3, 65, 28, 106, 65, 1, 54, 2, 0, 32, 3, 66, 2, 55, 2, 12, 32, 3, 65, 132, 142, 192, 0, 54, 2, 8, 32, 3, 65, 2, 54, 2, 36, 32, 3, 32, 3, 65, 32, 106, 54, 2, 24, 32, 3, 32, 3, 54, 2, 32, 32, 3, 65, 0, 54, 2, 48, 32, 3, 66, 1, 55, 3, 40, 32, 3, 32, 3, 65, 8, 106, 54, 2, 52, 32, 3, 65, 3, 54, 2, 60, 32, 3, 32, 3, 65, 52, 106, 54, 2, 56, 32, 3, 32, 3, 65, 40, 106, 54, 2, 68, 32, 3, 65, 220, 0, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 76, 32, 3, 65, 212, 134, 192, 0, 54, 2, 72, 32, 3, 32, 3, 65, 56, 106, 54, 2, 88, 32, 3, 65, 196, 0, 106, 65, 156, 140, 192, 0, 32, 3, 65, 200, 0, 106, 16, 156, 2, 4, 64, 65, 220, 134, 192, 0, 65, 55, 32, 3, 65, 200, 0, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 32, 0, 65, 12, 106, 32, 3, 65, 48, 106, 40, 2, 0, 54, 2, 0, 32, 0, 32, 3, 41, 3, 40, 55, 2, 4, 32, 0, 65, 20, 54, 2, 0, 32, 3, 65, 224, 0, 106, 36, 0, 11, 198, 2, 1, 5, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 181, 1, 65, 1, 33, 3, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 65, 14, 54, 2, 4, 12, 5, 11, 32, 1, 16, 175, 1, 32, 2, 65, 8, 106, 32, 1, 16, 180, 1, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 2, 65, 20, 106, 40, 2, 0, 33, 1, 32, 2, 65, 16, 106, 40, 2, 0, 33, 5, 32, 2, 40, 2, 12, 33, 6, 32, 2, 40, 2, 8, 65, 1, 70, 13, 1, 32, 6, 4, 64, 32, 0, 32, 5, 54, 2, 4, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 1, 54, 2, 0, 65, 0, 33, 3, 12, 5, 11, 32, 1, 65, 127, 76, 13, 2, 65, 0, 33, 3, 2, 64, 32, 1, 69, 4, 64, 65, 1, 33, 6, 65, 0, 33, 4, 12, 1, 11, 32, 1, 33, 4, 32, 1, 65, 1, 16, 87, 34, 6, 69, 13, 4, 11, 32, 6, 32, 5, 32, 1, 16, 212, 2, 33, 5, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 32, 0, 32, 5, 54, 2, 4, 12, 4, 11, 32, 0, 65, 4, 54, 2, 4, 12, 3, 11, 32, 0, 32, 6, 54, 2, 4, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 12, 2, 11, 16, 139, 2, 0, 11, 32, 1, 65, 1, 16, 138, 2, 0, 11, 32, 0, 32, 3, 54, 2, 0, 32, 2, 65, 32, 106, 36, 0, 11, 232, 8, 1, 4, 127, 35, 0, 65, 128, 1, 107, 34, 2, 36, 0, 32, 2, 65, 56, 106, 32, 1, 16, 181, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 56, 65, 1, 113, 4, 64, 2, 64, 2, 64, 32, 2, 45, 0, 57, 34, 3, 65, 165, 127, 106, 14, 35, 5, 1, 3, 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, 4, 1, 3, 0, 11, 32, 3, 65, 94, 106, 14, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 11, 32, 2, 65, 8, 106, 32, 1, 16, 182, 1, 32, 2, 45, 0, 8, 65, 1, 113, 4, 64, 32, 2, 45, 0, 9, 33, 3, 3, 64, 32, 3, 65, 44, 70, 32, 3, 65, 253, 0, 70, 114, 69, 65, 0, 32, 3, 65, 221, 0, 71, 27, 69, 4, 64, 32, 0, 65, 21, 54, 2, 0, 12, 8, 11, 32, 1, 16, 175, 1, 32, 2, 32, 1, 16, 182, 1, 32, 2, 45, 0, 1, 33, 3, 32, 2, 45, 0, 0, 65, 1, 113, 13, 0, 11, 11, 32, 0, 65, 3, 54, 2, 0, 12, 5, 11, 32, 0, 65, 4, 54, 2, 0, 12, 4, 11, 32, 0, 65, 11, 54, 2, 0, 12, 3, 11, 32, 2, 65, 48, 106, 32, 1, 16, 181, 1, 2, 64, 2, 64, 32, 2, 45, 0, 48, 65, 1, 113, 4, 64, 32, 2, 45, 0, 49, 65, 251, 0, 71, 13, 1, 32, 1, 16, 175, 1, 32, 2, 65, 40, 106, 32, 1, 16, 173, 1, 32, 2, 40, 2, 40, 33, 3, 32, 2, 32, 2, 45, 0, 44, 65, 1, 113, 58, 0, 100, 32, 2, 32, 3, 54, 2, 96, 2, 127, 3, 64, 32, 2, 65, 232, 0, 106, 32, 2, 65, 224, 0, 106, 16, 65, 32, 2, 45, 0, 104, 65, 1, 70, 4, 64, 32, 2, 65, 216, 0, 106, 32, 2, 65, 248, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 65, 240, 0, 106, 41, 3, 0, 55, 3, 80, 32, 2, 40, 2, 108, 12, 2, 11, 32, 2, 45, 0, 105, 13, 0, 11, 65, 21, 11, 33, 3, 32, 2, 65, 200, 0, 106, 34, 4, 32, 2, 65, 216, 0, 106, 34, 5, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 80, 55, 3, 64, 32, 3, 65, 21, 71, 13, 2, 32, 2, 65, 232, 0, 106, 32, 1, 16, 178, 1, 32, 5, 32, 2, 65, 244, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 108, 55, 3, 80, 32, 2, 40, 2, 104, 34, 1, 65, 21, 70, 4, 64, 32, 0, 65, 21, 54, 2, 0, 12, 6, 11, 32, 0, 32, 1, 54, 2, 0, 32, 0, 32, 2, 41, 3, 80, 55, 2, 4, 32, 0, 65, 12, 106, 32, 2, 65, 216, 0, 106, 40, 2, 0, 54, 2, 0, 12, 5, 11, 32, 0, 65, 4, 54, 2, 0, 12, 4, 11, 32, 0, 65, 14, 54, 2, 0, 12, 3, 11, 32, 0, 32, 3, 54, 2, 0, 32, 0, 32, 2, 41, 3, 64, 55, 2, 4, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 2, 11, 32, 2, 65, 32, 106, 32, 1, 16, 181, 1, 2, 64, 32, 2, 45, 0, 32, 65, 1, 113, 4, 64, 32, 2, 45, 0, 33, 65, 219, 0, 71, 4, 64, 32, 0, 65, 14, 54, 2, 0, 12, 4, 11, 32, 1, 16, 175, 1, 32, 2, 65, 24, 106, 32, 1, 16, 173, 1, 32, 2, 40, 2, 24, 33, 3, 32, 2, 32, 2, 45, 0, 28, 65, 1, 113, 58, 0, 100, 32, 2, 32, 3, 54, 2, 96, 2, 127, 3, 64, 32, 2, 65, 232, 0, 106, 32, 2, 65, 224, 0, 106, 16, 67, 32, 2, 45, 0, 104, 65, 1, 70, 4, 64, 32, 2, 65, 216, 0, 106, 32, 2, 65, 248, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 65, 240, 0, 106, 41, 3, 0, 55, 3, 80, 32, 2, 40, 2, 108, 12, 2, 11, 32, 2, 45, 0, 105, 13, 0, 11, 65, 21, 11, 33, 3, 32, 2, 65, 200, 0, 106, 34, 4, 32, 2, 65, 216, 0, 106, 34, 5, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 80, 55, 3, 64, 32, 3, 65, 21, 71, 13, 1, 32, 2, 65, 232, 0, 106, 32, 1, 16, 177, 1, 32, 5, 32, 2, 65, 244, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 108, 55, 3, 80, 32, 2, 40, 2, 104, 34, 1, 65, 21, 70, 4, 64, 32, 0, 65, 21, 54, 2, 0, 12, 4, 11, 32, 0, 32, 1, 54, 2, 0, 32, 0, 32, 2, 41, 3, 80, 55, 2, 4, 32, 0, 65, 12, 106, 32, 2, 65, 216, 0, 106, 40, 2, 0, 54, 2, 0, 12, 3, 11, 32, 0, 65, 4, 54, 2, 0, 12, 2, 11, 32, 0, 32, 3, 54, 2, 0, 32, 0, 32, 2, 41, 3, 64, 55, 2, 4, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 2, 65, 16, 106, 32, 1, 16, 181, 1, 2, 64, 32, 2, 45, 0, 16, 65, 1, 113, 4, 64, 32, 2, 45, 0, 17, 65, 34, 71, 4, 64, 32, 0, 65, 14, 54, 2, 0, 12, 3, 11, 32, 1, 16, 175, 1, 32, 2, 65, 232, 0, 106, 32, 1, 16, 180, 1, 32, 2, 65, 244, 0, 106, 40, 2, 0, 33, 3, 32, 2, 65, 240, 0, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 108, 33, 4, 32, 2, 40, 2, 104, 65, 1, 70, 13, 1, 32, 4, 4, 64, 32, 0, 65, 21, 54, 2, 0, 32, 1, 69, 32, 3, 69, 114, 13, 3, 32, 1, 16, 226, 1, 12, 3, 11, 32, 0, 65, 21, 54, 2, 0, 12, 2, 11, 32, 0, 65, 4, 54, 2, 0, 12, 1, 11, 32, 2, 65, 248, 0, 106, 40, 2, 0, 33, 5, 32, 0, 32, 1, 54, 2, 4, 32, 0, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 11, 32, 2, 65, 128, 1, 106, 36, 0, 11, 187, 2, 1, 3, 127, 35, 0, 65, 64, 106, 34, 4, 36, 0, 2, 64, 2, 64, 32, 2, 65, 127, 74, 4, 64, 65, 1, 33, 5, 32, 2, 4, 64, 32, 2, 33, 6, 32, 2, 65, 1, 16, 87, 34, 5, 69, 13, 2, 11, 32, 5, 32, 1, 32, 2, 16, 212, 2, 33, 1, 32, 4, 65, 0, 54, 2, 16, 32, 4, 66, 1, 55, 3, 8, 32, 4, 32, 3, 54, 2, 20, 32, 4, 65, 4, 54, 2, 28, 32, 4, 32, 4, 65, 20, 106, 54, 2, 24, 32, 4, 32, 4, 65, 8, 106, 54, 2, 36, 32, 4, 65, 60, 106, 65, 1, 54, 2, 0, 32, 4, 66, 1, 55, 2, 44, 32, 4, 65, 212, 134, 192, 0, 54, 2, 40, 32, 4, 32, 4, 65, 24, 106, 54, 2, 56, 32, 4, 65, 36, 106, 65, 156, 140, 192, 0, 32, 4, 65, 40, 106, 16, 156, 2, 13, 2, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 32, 0, 65, 8, 106, 32, 6, 54, 2, 0, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 16, 106, 32, 4, 41, 3, 8, 55, 2, 0, 32, 0, 65, 24, 106, 32, 4, 65, 16, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 7, 54, 2, 0, 2, 64, 32, 3, 40, 2, 0, 65, 20, 73, 13, 0, 32, 3, 40, 2, 4, 34, 0, 69, 13, 0, 32, 3, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 4, 65, 64, 107, 36, 0, 15, 11, 16, 139, 2, 0, 11, 32, 2, 65, 1, 16, 138, 2, 0, 11, 65, 220, 134, 192, 0, 65, 55, 32, 4, 65, 40, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 192, 32, 2, 15, 127, 6, 126, 35, 0, 65, 224, 1, 107, 34, 3, 36, 0, 32, 3, 65, 152, 1, 106, 32, 1, 32, 2, 16, 174, 1, 32, 3, 65, 144, 1, 106, 32, 3, 65, 152, 1, 106, 16, 181, 1, 32, 0, 2, 126, 2, 64, 32, 3, 45, 0, 144, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 1, 11, 32, 3, 45, 0, 145, 1, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 1, 11, 32, 3, 65, 152, 1, 106, 16, 175, 1, 32, 3, 65, 136, 1, 106, 32, 3, 65, 152, 1, 106, 16, 173, 1, 32, 3, 45, 0, 140, 1, 33, 2, 32, 3, 65, 128, 1, 106, 32, 3, 40, 2, 136, 1, 34, 11, 16, 181, 1, 2, 64, 2, 64, 2, 64, 32, 3, 45, 0, 128, 1, 65, 1, 113, 69, 4, 64, 65, 2, 33, 1, 12, 1, 11, 32, 3, 45, 0, 129, 1, 33, 1, 32, 2, 65, 1, 113, 33, 9, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 1, 32, 9, 13, 2, 65, 9, 33, 1, 12, 14, 11, 32, 9, 4, 64, 65, 16, 33, 1, 12, 14, 11, 32, 11, 16, 175, 1, 32, 3, 65, 248, 0, 106, 32, 11, 16, 181, 1, 32, 3, 45, 0, 120, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 121, 33, 1, 12, 1, 11, 32, 10, 4, 64, 32, 12, 69, 4, 64, 32, 3, 65, 176, 1, 106, 65, 191, 130, 192, 0, 65, 8, 16, 23, 32, 3, 65, 188, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 184, 1, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 3, 40, 2, 176, 1, 33, 1, 32, 15, 69, 13, 17, 32, 10, 16, 226, 1, 12, 17, 11, 32, 3, 65, 176, 1, 106, 32, 3, 65, 152, 1, 106, 16, 178, 1, 32, 3, 65, 188, 1, 106, 33, 5, 32, 3, 65, 184, 1, 106, 33, 6, 32, 3, 40, 2, 176, 1, 34, 1, 65, 21, 71, 4, 64, 32, 5, 40, 2, 0, 33, 5, 32, 6, 40, 2, 0, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 15, 4, 64, 32, 10, 16, 226, 1, 11, 32, 13, 69, 13, 17, 32, 12, 16, 226, 1, 12, 17, 11, 32, 3, 65, 176, 1, 106, 32, 3, 65, 152, 1, 106, 16, 176, 1, 32, 3, 40, 2, 176, 1, 34, 1, 65, 21, 71, 4, 64, 32, 5, 40, 2, 0, 33, 5, 32, 6, 40, 2, 0, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 15, 4, 64, 32, 10, 16, 226, 1, 11, 32, 13, 69, 13, 17, 32, 12, 16, 226, 1, 12, 17, 11, 32, 0, 32, 4, 54, 2, 8, 32, 0, 65, 56, 106, 32, 17, 173, 55, 3, 0, 32, 0, 65, 52, 106, 32, 13, 54, 2, 0, 32, 0, 65, 48, 106, 32, 12, 54, 2, 0, 32, 0, 65, 40, 106, 32, 18, 55, 3, 0, 32, 0, 65, 36, 106, 32, 15, 54, 2, 0, 32, 0, 65, 32, 106, 32, 10, 54, 2, 0, 32, 0, 65, 24, 106, 32, 23, 55, 3, 0, 32, 0, 65, 16, 106, 32, 21, 55, 3, 0, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 66, 0, 12, 17, 11, 32, 3, 65, 176, 1, 106, 65, 186, 130, 192, 0, 65, 5, 16, 23, 12, 3, 11, 32, 1, 65, 255, 1, 113, 34, 1, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 1, 65, 253, 0, 70, 27, 33, 1, 12, 12, 11, 32, 3, 65, 240, 0, 106, 32, 11, 16, 181, 1, 32, 3, 45, 0, 112, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 10, 11, 32, 3, 45, 0, 113, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 10, 11, 32, 11, 16, 175, 1, 32, 3, 65, 176, 1, 106, 32, 11, 16, 180, 1, 32, 3, 40, 2, 192, 1, 33, 6, 32, 3, 40, 2, 188, 1, 33, 9, 32, 3, 40, 2, 184, 1, 33, 7, 32, 3, 40, 2, 180, 1, 33, 1, 32, 3, 40, 2, 176, 1, 65, 1, 70, 4, 64, 32, 6, 33, 5, 32, 9, 33, 2, 32, 7, 33, 4, 12, 10, 11, 2, 64, 32, 1, 4, 64, 65, 2, 33, 1, 2, 64, 2, 64, 2, 64, 32, 6, 65, 123, 106, 14, 4, 0, 2, 2, 1, 2, 11, 65, 126, 65, 0, 32, 7, 65, 186, 130, 192, 0, 65, 5, 16, 214, 2, 27, 33, 1, 12, 1, 11, 65, 1, 65, 126, 32, 7, 41, 0, 0, 66, 227, 222, 185, 163, 167, 174, 216, 177, 244, 0, 81, 27, 33, 1, 11, 32, 9, 4, 64, 32, 7, 16, 226, 1, 11, 32, 1, 65, 30, 116, 65, 30, 117, 65, 0, 72, 13, 8, 32, 1, 65, 3, 113, 65, 1, 107, 13, 1, 12, 4, 11, 2, 64, 32, 9, 65, 123, 106, 14, 4, 0, 8, 8, 3, 8, 11, 32, 7, 65, 186, 130, 192, 0, 65, 5, 16, 214, 2, 13, 7, 11, 32, 10, 4, 64, 32, 3, 65, 176, 1, 106, 65, 186, 130, 192, 0, 65, 5, 16, 24, 32, 3, 65, 188, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 184, 1, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 3, 40, 2, 176, 1, 33, 1, 12, 10, 11, 32, 3, 65, 176, 1, 106, 32, 11, 16, 179, 1, 65, 0, 33, 10, 32, 3, 40, 2, 176, 1, 34, 1, 65, 21, 71, 4, 64, 32, 3, 40, 2, 188, 1, 33, 5, 32, 3, 40, 2, 184, 1, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 12, 10, 11, 32, 3, 65, 56, 106, 32, 11, 16, 181, 1, 32, 3, 45, 0, 56, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 10, 11, 32, 3, 45, 0, 57, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 10, 11, 32, 11, 16, 175, 1, 32, 3, 65, 48, 106, 32, 11, 16, 173, 1, 32, 3, 40, 2, 48, 33, 8, 32, 3, 32, 3, 45, 0, 52, 65, 1, 113, 34, 9, 58, 0, 172, 1, 32, 3, 32, 8, 54, 2, 168, 1, 32, 3, 65, 40, 106, 32, 8, 16, 181, 1, 65, 2, 33, 1, 32, 3, 45, 0, 40, 65, 1, 113, 69, 13, 3, 32, 3, 45, 0, 41, 33, 2, 66, 0, 33, 18, 32, 9, 33, 5, 66, 0, 33, 19, 66, 0, 33, 20, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 255, 1, 113, 34, 4, 65, 44, 71, 4, 64, 32, 4, 65, 253, 0, 70, 13, 3, 32, 9, 13, 1, 65, 9, 33, 1, 12, 14, 11, 32, 5, 65, 255, 1, 113, 69, 13, 1, 11, 65, 0, 33, 9, 32, 3, 65, 0, 58, 0, 172, 1, 12, 2, 11, 32, 8, 16, 175, 1, 32, 3, 65, 32, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 32, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 33, 33, 2, 12, 1, 11, 32, 18, 66, 1, 82, 4, 64, 32, 3, 65, 176, 1, 106, 65, 199, 130, 192, 0, 65, 6, 16, 23, 12, 4, 11, 32, 19, 66, 1, 82, 4, 64, 32, 3, 65, 176, 1, 106, 65, 205, 130, 192, 0, 65, 4, 16, 23, 12, 4, 11, 32, 20, 66, 1, 82, 4, 64, 32, 3, 65, 176, 1, 106, 65, 209, 130, 192, 0, 65, 10, 16, 23, 12, 4, 11, 32, 10, 69, 4, 64, 32, 3, 65, 176, 1, 106, 65, 219, 130, 192, 0, 65, 8, 16, 23, 12, 8, 11, 32, 3, 65, 176, 1, 106, 32, 11, 16, 178, 1, 32, 3, 40, 2, 176, 1, 34, 1, 65, 21, 71, 4, 64, 32, 3, 40, 2, 188, 1, 33, 5, 32, 3, 40, 2, 184, 1, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 14, 69, 13, 13, 32, 10, 16, 226, 1, 12, 13, 11, 32, 22, 66, 32, 136, 167, 33, 2, 32, 21, 167, 33, 5, 32, 16, 173, 33, 18, 32, 22, 167, 33, 4, 32, 14, 33, 15, 12, 14, 11, 32, 2, 65, 255, 1, 113, 34, 2, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 2, 65, 253, 0, 71, 13, 10, 65, 19, 33, 1, 12, 10, 11, 32, 3, 65, 24, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 24, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 8, 11, 32, 3, 45, 0, 25, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 8, 11, 32, 8, 16, 175, 1, 32, 3, 65, 176, 1, 106, 32, 8, 16, 180, 1, 32, 3, 40, 2, 192, 1, 33, 5, 32, 3, 40, 2, 188, 1, 33, 2, 32, 3, 40, 2, 184, 1, 33, 4, 32, 3, 40, 2, 180, 1, 33, 6, 32, 3, 40, 2, 176, 1, 65, 1, 70, 4, 64, 32, 6, 33, 1, 12, 8, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 6, 4, 64, 65, 4, 33, 7, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 5, 65, 124, 106, 14, 7, 1, 4, 0, 4, 3, 4, 2, 4, 11, 65, 124, 65, 0, 32, 4, 65, 199, 130, 192, 0, 65, 6, 16, 214, 2, 27, 33, 7, 12, 3, 11, 65, 1, 65, 124, 32, 4, 40, 0, 0, 65, 244, 210, 181, 171, 6, 70, 27, 33, 7, 12, 2, 11, 65, 124, 65, 2, 32, 4, 65, 209, 130, 192, 0, 65, 10, 16, 214, 2, 27, 33, 7, 12, 1, 11, 65, 3, 65, 124, 32, 4, 41, 0, 0, 66, 227, 208, 133, 203, 230, 237, 215, 180, 228, 0, 81, 27, 33, 7, 11, 32, 2, 4, 64, 32, 4, 16, 226, 1, 11, 32, 7, 65, 29, 116, 65, 29, 117, 65, 0, 72, 13, 10, 32, 7, 65, 7, 113, 65, 1, 107, 14, 3, 3, 5, 7, 1, 11, 2, 64, 32, 2, 65, 124, 106, 14, 7, 2, 10, 0, 10, 6, 10, 4, 10, 11, 32, 4, 65, 199, 130, 192, 0, 65, 6, 16, 214, 2, 13, 9, 11, 32, 18, 66, 1, 81, 4, 64, 32, 3, 65, 176, 1, 106, 65, 199, 130, 192, 0, 65, 6, 16, 24, 12, 8, 11, 32, 3, 65, 176, 1, 106, 32, 3, 65, 168, 1, 106, 16, 29, 32, 3, 40, 2, 176, 1, 65, 1, 70, 13, 6, 32, 3, 41, 3, 184, 1, 33, 22, 66, 1, 33, 18, 12, 9, 11, 32, 4, 40, 0, 0, 65, 244, 210, 181, 171, 6, 71, 13, 7, 11, 32, 19, 66, 1, 81, 4, 64, 32, 3, 65, 176, 1, 106, 65, 205, 130, 192, 0, 65, 4, 16, 24, 12, 6, 11, 32, 3, 65, 176, 1, 106, 32, 3, 65, 168, 1, 106, 16, 29, 32, 3, 40, 2, 176, 1, 65, 1, 70, 13, 4, 32, 3, 41, 3, 184, 1, 33, 21, 66, 1, 33, 19, 12, 7, 11, 32, 4, 65, 209, 130, 192, 0, 65, 10, 16, 214, 2, 13, 5, 11, 32, 20, 66, 1, 81, 4, 64, 32, 3, 65, 176, 1, 106, 65, 209, 130, 192, 0, 65, 10, 16, 24, 12, 4, 11, 32, 3, 65, 176, 1, 106, 32, 3, 65, 168, 1, 106, 16, 29, 32, 3, 40, 2, 176, 1, 65, 1, 70, 13, 2, 32, 3, 41, 3, 184, 1, 33, 23, 66, 1, 33, 20, 12, 5, 11, 32, 4, 41, 0, 0, 66, 227, 208, 133, 203, 230, 237, 215, 180, 228, 0, 82, 13, 3, 11, 32, 10, 4, 64, 32, 3, 65, 176, 1, 106, 65, 219, 130, 192, 0, 65, 8, 16, 24, 32, 3, 65, 188, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 184, 1, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 3, 40, 2, 176, 1, 33, 1, 32, 14, 69, 13, 11, 12, 10, 11, 32, 3, 65, 208, 1, 106, 32, 8, 16, 179, 1, 32, 3, 40, 2, 208, 1, 34, 6, 65, 21, 71, 4, 64, 32, 3, 40, 2, 216, 1, 33, 2, 32, 3, 40, 2, 212, 1, 33, 4, 32, 3, 65, 192, 1, 106, 32, 3, 40, 2, 220, 1, 34, 5, 54, 2, 0, 32, 3, 32, 2, 54, 2, 188, 1, 32, 3, 32, 4, 54, 2, 184, 1, 32, 3, 32, 6, 54, 2, 180, 1, 32, 3, 65, 1, 54, 2, 176, 1, 32, 6, 33, 1, 65, 0, 33, 10, 12, 15, 11, 32, 3, 65, 176, 1, 106, 32, 8, 16, 25, 32, 3, 40, 2, 176, 1, 65, 1, 70, 4, 64, 32, 3, 65, 192, 1, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 188, 1, 33, 2, 32, 3, 40, 2, 184, 1, 33, 4, 32, 3, 40, 2, 180, 1, 33, 1, 65, 0, 33, 10, 12, 15, 11, 32, 3, 40, 2, 188, 1, 33, 16, 32, 3, 40, 2, 184, 1, 33, 14, 32, 3, 40, 2, 180, 1, 33, 10, 12, 3, 11, 32, 3, 65, 192, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 188, 1, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 184, 1, 33, 4, 32, 3, 40, 2, 180, 1, 33, 1, 12, 7, 11, 32, 3, 65, 188, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 184, 1, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 3, 40, 2, 176, 1, 33, 1, 12, 6, 11, 32, 3, 65, 176, 1, 106, 32, 8, 16, 179, 1, 32, 3, 40, 2, 176, 1, 34, 6, 65, 21, 71, 4, 64, 32, 3, 40, 2, 184, 1, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 3, 65, 220, 1, 106, 32, 3, 40, 2, 188, 1, 34, 5, 54, 2, 0, 32, 3, 65, 216, 1, 106, 32, 2, 54, 2, 0, 32, 3, 32, 4, 54, 2, 212, 1, 32, 3, 32, 6, 54, 2, 208, 1, 32, 6, 33, 1, 12, 6, 11, 32, 3, 65, 208, 1, 106, 32, 8, 16, 26, 32, 3, 40, 2, 208, 1, 34, 6, 65, 21, 70, 13, 0, 32, 3, 65, 220, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 216, 1, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 212, 1, 33, 4, 32, 6, 33, 1, 12, 5, 11, 32, 3, 65, 16, 106, 32, 8, 16, 181, 1, 65, 0, 33, 5, 32, 3, 45, 0, 17, 33, 2, 32, 3, 45, 0, 16, 65, 1, 113, 13, 0, 11, 12, 3, 11, 32, 3, 65, 188, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 184, 1, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 3, 40, 2, 176, 1, 33, 1, 65, 0, 33, 10, 12, 8, 11, 32, 7, 41, 0, 0, 66, 227, 222, 185, 163, 167, 174, 216, 177, 244, 0, 82, 13, 4, 11, 32, 12, 4, 64, 32, 3, 65, 176, 1, 106, 65, 191, 130, 192, 0, 65, 8, 16, 24, 32, 3, 65, 188, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 184, 1, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 3, 40, 2, 176, 1, 33, 1, 32, 13, 69, 13, 9, 12, 8, 11, 32, 3, 65, 176, 1, 106, 32, 11, 16, 179, 1, 32, 3, 40, 2, 188, 1, 33, 6, 32, 3, 40, 2, 176, 1, 34, 1, 65, 21, 71, 4, 64, 32, 3, 40, 2, 184, 1, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 6, 33, 5, 12, 9, 11, 32, 3, 65, 232, 0, 106, 32, 11, 16, 181, 1, 2, 64, 32, 3, 45, 0, 104, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 1, 11, 32, 3, 45, 0, 105, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 1, 11, 32, 11, 16, 175, 1, 32, 3, 65, 224, 0, 106, 32, 11, 16, 173, 1, 32, 3, 45, 0, 100, 33, 6, 32, 3, 65, 216, 0, 106, 32, 3, 40, 2, 96, 34, 8, 16, 181, 1, 65, 2, 33, 1, 2, 64, 2, 64, 32, 3, 45, 0, 88, 65, 1, 113, 69, 4, 64, 65, 0, 33, 12, 12, 1, 11, 32, 3, 45, 0, 89, 33, 7, 32, 6, 65, 1, 113, 33, 9, 65, 0, 33, 12, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 7, 65, 255, 1, 113, 34, 14, 65, 44, 71, 4, 64, 32, 14, 65, 253, 0, 70, 13, 1, 32, 9, 13, 2, 65, 9, 33, 1, 12, 7, 11, 32, 9, 4, 64, 65, 16, 33, 1, 12, 7, 11, 32, 8, 16, 175, 1, 32, 3, 65, 208, 0, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 80, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 81, 33, 7, 12, 1, 11, 32, 12, 4, 64, 32, 3, 65, 176, 1, 106, 32, 11, 16, 178, 1, 32, 3, 40, 2, 176, 1, 34, 1, 65, 21, 70, 13, 13, 32, 3, 40, 2, 188, 1, 33, 5, 32, 3, 40, 2, 184, 1, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 13, 69, 13, 17, 32, 12, 16, 226, 1, 12, 17, 11, 32, 3, 65, 176, 1, 106, 65, 148, 129, 192, 0, 65, 7, 16, 23, 32, 3, 65, 188, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 184, 1, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 3, 40, 2, 176, 1, 33, 1, 12, 16, 11, 32, 7, 65, 255, 1, 113, 34, 6, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 6, 65, 253, 0, 71, 13, 3, 65, 19, 33, 1, 12, 3, 11, 32, 3, 65, 200, 0, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 72, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 3, 11, 32, 3, 45, 0, 73, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 3, 11, 32, 8, 16, 175, 1, 32, 3, 65, 176, 1, 106, 32, 8, 16, 180, 1, 32, 3, 40, 2, 192, 1, 33, 16, 32, 3, 40, 2, 188, 1, 33, 9, 32, 3, 40, 2, 184, 1, 33, 7, 32, 3, 40, 2, 180, 1, 33, 6, 32, 3, 40, 2, 176, 1, 65, 1, 70, 4, 64, 32, 16, 33, 5, 32, 9, 33, 2, 32, 7, 33, 4, 32, 6, 33, 1, 12, 3, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 6, 4, 64, 32, 16, 65, 7, 71, 4, 127, 65, 1, 5, 32, 7, 65, 148, 129, 192, 0, 65, 7, 16, 214, 2, 65, 0, 71, 11, 33, 14, 32, 9, 69, 32, 7, 69, 114, 13, 1, 32, 7, 16, 226, 1, 12, 1, 11, 32, 9, 65, 7, 71, 13, 1, 32, 7, 65, 148, 129, 192, 0, 65, 7, 16, 214, 2, 65, 0, 71, 33, 14, 11, 32, 14, 69, 13, 1, 11, 32, 3, 65, 176, 1, 106, 32, 8, 16, 179, 1, 32, 3, 40, 2, 176, 1, 34, 6, 65, 21, 70, 13, 1, 32, 3, 40, 2, 184, 1, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 3, 65, 220, 1, 106, 32, 3, 40, 2, 188, 1, 34, 5, 54, 2, 0, 32, 3, 65, 216, 1, 106, 32, 2, 54, 2, 0, 32, 3, 32, 4, 54, 2, 212, 1, 32, 3, 32, 6, 54, 2, 208, 1, 32, 6, 33, 1, 12, 5, 11, 32, 12, 4, 64, 32, 3, 65, 176, 1, 106, 65, 148, 129, 192, 0, 65, 7, 16, 24, 32, 3, 65, 188, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 184, 1, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 3, 40, 2, 176, 1, 33, 1, 32, 13, 69, 13, 16, 12, 6, 11, 32, 3, 65, 176, 1, 106, 32, 8, 16, 179, 1, 32, 3, 40, 2, 176, 1, 34, 6, 65, 21, 71, 4, 64, 32, 3, 40, 2, 188, 1, 33, 5, 32, 3, 40, 2, 184, 1, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 6, 33, 1, 12, 16, 11, 32, 3, 65, 176, 1, 106, 32, 8, 16, 25, 32, 3, 40, 2, 188, 1, 33, 17, 32, 3, 40, 2, 184, 1, 33, 13, 32, 3, 40, 2, 180, 1, 33, 12, 32, 3, 40, 2, 176, 1, 65, 1, 71, 13, 1, 32, 3, 65, 192, 1, 106, 40, 2, 0, 33, 5, 32, 12, 33, 1, 32, 13, 33, 4, 32, 17, 33, 2, 12, 15, 11, 32, 3, 65, 208, 1, 106, 32, 8, 16, 26, 32, 3, 40, 2, 208, 1, 34, 6, 65, 21, 70, 13, 0, 32, 3, 65, 220, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 216, 1, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 212, 1, 33, 4, 32, 6, 33, 1, 12, 3, 11, 32, 3, 65, 64, 107, 32, 8, 16, 181, 1, 65, 0, 33, 9, 32, 3, 45, 0, 65, 33, 7, 32, 3, 45, 0, 64, 65, 1, 113, 13, 1, 11, 11, 11, 32, 13, 69, 32, 12, 69, 114, 13, 10, 11, 32, 12, 16, 226, 1, 12, 9, 11, 32, 13, 33, 4, 32, 17, 33, 2, 32, 6, 33, 5, 12, 8, 11, 32, 14, 69, 32, 10, 69, 114, 13, 1, 11, 32, 10, 16, 226, 1, 65, 0, 33, 10, 12, 4, 11, 65, 0, 33, 10, 12, 3, 11, 32, 3, 65, 176, 1, 106, 32, 11, 16, 179, 1, 32, 3, 40, 2, 176, 1, 34, 1, 65, 21, 71, 4, 64, 32, 3, 40, 2, 184, 1, 33, 2, 32, 3, 40, 2, 180, 1, 33, 4, 32, 3, 32, 3, 40, 2, 188, 1, 34, 5, 54, 2, 220, 1, 32, 3, 32, 2, 54, 2, 216, 1, 32, 3, 32, 4, 54, 2, 212, 1, 32, 3, 32, 1, 54, 2, 208, 1, 12, 3, 11, 32, 3, 65, 208, 1, 106, 32, 11, 16, 26, 32, 3, 40, 2, 208, 1, 34, 1, 65, 21, 70, 13, 0, 32, 3, 40, 2, 220, 1, 33, 5, 32, 3, 40, 2, 216, 1, 33, 2, 32, 3, 40, 2, 212, 1, 33, 4, 12, 2, 11, 32, 3, 65, 8, 106, 32, 11, 16, 181, 1, 65, 0, 33, 9, 32, 3, 45, 0, 9, 33, 1, 32, 3, 45, 0, 8, 65, 1, 113, 13, 0, 11, 65, 2, 33, 1, 11, 32, 13, 69, 32, 12, 69, 114, 13, 1, 11, 32, 12, 16, 226, 1, 11, 32, 15, 69, 32, 10, 69, 114, 13, 0, 32, 10, 16, 226, 1, 11, 32, 3, 65, 220, 1, 106, 32, 5, 54, 2, 0, 32, 3, 65, 216, 1, 106, 32, 2, 54, 2, 0, 32, 3, 32, 4, 54, 2, 212, 1, 32, 3, 32, 1, 54, 2, 208, 1, 32, 3, 65, 176, 1, 106, 65, 222, 136, 192, 0, 65, 24, 32, 3, 65, 208, 1, 106, 16, 27, 32, 0, 65, 32, 106, 32, 3, 65, 200, 1, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 24, 106, 32, 3, 65, 192, 1, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 16, 106, 32, 3, 65, 184, 1, 106, 41, 3, 0, 55, 3, 0, 32, 0, 32, 3, 41, 3, 176, 1, 55, 3, 8, 66, 1, 11, 55, 3, 0, 32, 3, 65, 224, 1, 106, 36, 0, 11, 249, 3, 2, 3, 127, 2, 126, 35, 0, 65, 208, 0, 107, 34, 2, 36, 0, 32, 2, 65, 64, 107, 32, 1, 40, 2, 0, 16, 179, 1, 32, 2, 65, 56, 106, 34, 3, 32, 2, 65, 204, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 68, 55, 3, 48, 2, 64, 32, 2, 40, 2, 64, 34, 4, 65, 21, 70, 4, 64, 32, 2, 65, 40, 106, 32, 1, 40, 2, 0, 34, 1, 16, 181, 1, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 40, 65, 1, 113, 4, 64, 32, 2, 45, 0, 41, 34, 3, 65, 83, 106, 14, 4, 2, 1, 1, 3, 1, 11, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 3, 0, 12, 5, 11, 32, 3, 65, 79, 106, 65, 255, 1, 113, 65, 9, 73, 13, 2, 32, 0, 66, 129, 128, 128, 128, 224, 1, 55, 3, 0, 12, 4, 11, 32, 0, 66, 129, 128, 128, 128, 208, 1, 55, 3, 0, 12, 3, 11, 32, 1, 16, 175, 1, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 66, 0, 55, 3, 0, 12, 2, 11, 32, 1, 16, 175, 1, 32, 2, 65, 32, 106, 32, 1, 16, 182, 1, 32, 3, 65, 80, 106, 173, 66, 255, 1, 131, 33, 5, 2, 64, 2, 64, 32, 2, 45, 0, 33, 34, 3, 65, 80, 106, 65, 255, 1, 113, 65, 9, 75, 13, 0, 32, 2, 45, 0, 32, 65, 1, 113, 69, 13, 0, 3, 64, 32, 1, 16, 175, 1, 32, 2, 65, 16, 106, 32, 5, 66, 0, 66, 10, 66, 0, 16, 215, 2, 32, 2, 41, 3, 24, 80, 69, 4, 64, 32, 0, 66, 129, 128, 128, 128, 208, 1, 55, 3, 0, 32, 0, 65, 16, 106, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 66, 0, 55, 2, 0, 12, 5, 11, 32, 2, 41, 3, 16, 34, 6, 32, 3, 65, 80, 106, 173, 66, 255, 1, 131, 124, 34, 5, 32, 6, 84, 13, 2, 32, 2, 65, 8, 106, 32, 1, 16, 182, 1, 32, 2, 45, 0, 9, 34, 3, 65, 80, 106, 65, 255, 1, 113, 65, 9, 75, 13, 1, 32, 2, 45, 0, 8, 65, 1, 113, 13, 0, 11, 11, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 55, 3, 0, 12, 2, 11, 32, 0, 66, 129, 128, 128, 128, 208, 1, 55, 3, 0, 32, 0, 65, 16, 106, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 66, 0, 55, 2, 0, 12, 1, 11, 32, 0, 32, 4, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 48, 55, 2, 0, 32, 0, 65, 16, 106, 32, 3, 40, 2, 0, 54, 2, 0, 11, 32, 2, 65, 208, 0, 106, 36, 0, 11, 175, 14, 1, 13, 127, 35, 0, 65, 128, 1, 107, 34, 3, 36, 0, 32, 3, 65, 56, 106, 32, 1, 32, 2, 16, 174, 1, 32, 3, 65, 48, 106, 32, 3, 65, 56, 106, 16, 181, 1, 65, 1, 33, 15, 2, 64, 2, 64, 32, 3, 45, 0, 48, 65, 1, 113, 69, 4, 64, 65, 4, 33, 5, 12, 1, 11, 32, 3, 45, 0, 49, 65, 251, 0, 71, 4, 64, 65, 14, 33, 5, 12, 1, 11, 32, 3, 65, 56, 106, 16, 175, 1, 32, 3, 65, 40, 106, 32, 3, 65, 56, 106, 16, 173, 1, 32, 3, 40, 2, 40, 33, 10, 32, 3, 32, 3, 45, 0, 44, 65, 1, 113, 34, 1, 58, 0, 76, 32, 3, 32, 10, 54, 2, 72, 32, 3, 65, 32, 106, 32, 10, 16, 181, 1, 65, 2, 33, 5, 2, 64, 32, 3, 45, 0, 32, 65, 1, 113, 69, 13, 0, 32, 3, 45, 0, 33, 33, 2, 32, 1, 33, 4, 2, 64, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 255, 1, 113, 34, 11, 65, 44, 71, 4, 64, 32, 11, 65, 253, 0, 70, 13, 3, 32, 1, 13, 1, 65, 9, 33, 5, 32, 6, 13, 12, 12, 13, 11, 32, 4, 65, 255, 1, 113, 69, 13, 1, 11, 65, 0, 33, 1, 32, 3, 65, 0, 58, 0, 76, 12, 2, 11, 32, 10, 16, 175, 1, 32, 3, 65, 24, 106, 32, 10, 16, 181, 1, 32, 3, 45, 0, 24, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 25, 33, 2, 12, 1, 11, 2, 64, 32, 7, 4, 64, 32, 6, 13, 1, 32, 3, 65, 208, 0, 106, 65, 233, 130, 192, 0, 65, 5, 16, 23, 32, 3, 65, 220, 0, 106, 40, 2, 0, 33, 9, 32, 3, 65, 216, 0, 106, 40, 2, 0, 33, 8, 32, 3, 40, 2, 84, 33, 4, 32, 3, 40, 2, 80, 33, 5, 32, 14, 69, 13, 12, 32, 7, 16, 226, 1, 12, 12, 11, 32, 3, 65, 208, 0, 106, 65, 227, 130, 192, 0, 65, 6, 16, 23, 32, 3, 65, 220, 0, 106, 40, 2, 0, 33, 9, 32, 3, 65, 216, 0, 106, 40, 2, 0, 33, 8, 32, 3, 40, 2, 84, 33, 4, 32, 3, 40, 2, 80, 33, 5, 12, 4, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 56, 106, 16, 178, 1, 32, 3, 65, 220, 0, 106, 33, 1, 32, 3, 65, 216, 0, 106, 33, 2, 32, 3, 40, 2, 80, 34, 5, 65, 21, 71, 4, 64, 32, 1, 40, 2, 0, 33, 9, 32, 2, 40, 2, 0, 33, 8, 32, 3, 40, 2, 84, 33, 4, 32, 14, 4, 64, 32, 7, 16, 226, 1, 11, 32, 12, 4, 64, 32, 12, 65, 5, 116, 33, 2, 32, 6, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 7, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 7, 16, 226, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 11, 32, 13, 69, 32, 13, 65, 5, 116, 69, 114, 13, 11, 32, 6, 16, 226, 1, 12, 11, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 56, 106, 16, 176, 1, 32, 3, 40, 2, 80, 34, 5, 65, 21, 71, 4, 64, 32, 1, 40, 2, 0, 33, 9, 32, 2, 40, 2, 0, 33, 8, 32, 3, 40, 2, 84, 33, 4, 32, 14, 4, 64, 32, 7, 16, 226, 1, 11, 32, 12, 4, 64, 32, 12, 65, 5, 116, 33, 2, 32, 6, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 7, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 7, 16, 226, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 11, 32, 13, 69, 32, 13, 65, 5, 116, 69, 114, 13, 11, 32, 6, 16, 226, 1, 12, 11, 11, 32, 0, 32, 7, 54, 2, 4, 32, 0, 65, 24, 106, 32, 12, 54, 2, 0, 32, 0, 65, 20, 106, 32, 13, 54, 2, 0, 32, 0, 65, 16, 106, 32, 6, 54, 2, 0, 32, 0, 65, 12, 106, 32, 8, 54, 2, 0, 32, 0, 65, 8, 106, 32, 14, 54, 2, 0, 65, 0, 33, 15, 12, 11, 11, 32, 2, 65, 255, 1, 113, 34, 2, 65, 34, 71, 4, 64, 65, 16, 33, 5, 32, 2, 65, 253, 0, 71, 13, 6, 65, 19, 33, 5, 12, 6, 11, 32, 3, 65, 16, 106, 32, 10, 16, 181, 1, 32, 3, 45, 0, 16, 65, 1, 113, 13, 1, 11, 65, 4, 33, 5, 32, 6, 13, 6, 12, 7, 11, 32, 3, 45, 0, 17, 65, 34, 71, 4, 64, 65, 14, 33, 5, 32, 6, 13, 6, 12, 7, 11, 32, 10, 16, 175, 1, 32, 3, 65, 208, 0, 106, 32, 10, 16, 180, 1, 32, 3, 40, 2, 96, 33, 9, 32, 3, 40, 2, 92, 33, 11, 32, 3, 40, 2, 88, 33, 4, 32, 3, 40, 2, 84, 33, 2, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 11, 33, 8, 32, 2, 33, 5, 32, 6, 13, 6, 12, 7, 11, 2, 64, 2, 64, 2, 64, 32, 2, 4, 64, 65, 2, 33, 2, 2, 64, 2, 64, 2, 64, 32, 9, 65, 123, 106, 14, 2, 1, 0, 2, 11, 65, 126, 65, 0, 32, 4, 65, 227, 130, 192, 0, 65, 6, 16, 214, 2, 27, 33, 2, 12, 1, 11, 65, 126, 65, 1, 32, 4, 65, 233, 130, 192, 0, 65, 5, 16, 214, 2, 27, 33, 2, 11, 32, 11, 4, 64, 32, 4, 16, 226, 1, 11, 32, 2, 65, 30, 116, 65, 30, 117, 65, 0, 72, 13, 5, 32, 2, 65, 3, 113, 65, 1, 107, 13, 1, 12, 3, 11, 2, 64, 32, 11, 65, 123, 106, 14, 2, 2, 0, 5, 11, 32, 4, 65, 227, 130, 192, 0, 65, 6, 16, 214, 2, 13, 4, 11, 32, 7, 4, 64, 32, 3, 65, 208, 0, 106, 65, 227, 130, 192, 0, 65, 6, 16, 24, 32, 3, 65, 220, 0, 106, 40, 2, 0, 33, 9, 32, 3, 65, 216, 0, 106, 40, 2, 0, 33, 8, 32, 3, 40, 2, 84, 33, 4, 32, 3, 40, 2, 80, 33, 5, 32, 6, 13, 8, 12, 9, 11, 32, 3, 65, 208, 0, 106, 32, 10, 16, 179, 1, 32, 3, 40, 2, 80, 34, 2, 65, 21, 71, 4, 64, 32, 3, 40, 2, 92, 33, 9, 32, 3, 40, 2, 88, 33, 8, 32, 3, 40, 2, 84, 33, 4, 32, 2, 33, 5, 12, 3, 11, 32, 3, 65, 208, 0, 106, 32, 10, 16, 25, 32, 3, 40, 2, 92, 33, 8, 32, 3, 40, 2, 88, 33, 4, 32, 3, 40, 2, 84, 33, 7, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 224, 0, 106, 40, 2, 0, 33, 9, 32, 7, 33, 5, 12, 3, 11, 32, 4, 33, 14, 12, 4, 11, 32, 4, 65, 233, 130, 192, 0, 65, 5, 16, 214, 2, 13, 2, 11, 32, 6, 4, 64, 32, 3, 65, 208, 0, 106, 65, 233, 130, 192, 0, 65, 5, 16, 24, 32, 3, 65, 220, 0, 106, 40, 2, 0, 33, 9, 32, 3, 65, 216, 0, 106, 40, 2, 0, 33, 8, 32, 3, 40, 2, 84, 33, 4, 32, 3, 40, 2, 80, 33, 5, 12, 6, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 200, 0, 106, 16, 31, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 224, 0, 106, 40, 2, 0, 33, 9, 32, 3, 40, 2, 92, 33, 8, 32, 3, 40, 2, 88, 33, 4, 32, 3, 40, 2, 84, 33, 5, 12, 7, 11, 32, 3, 40, 2, 92, 33, 12, 32, 3, 40, 2, 88, 33, 13, 32, 3, 40, 2, 84, 33, 6, 12, 2, 11, 65, 0, 33, 7, 32, 6, 13, 4, 12, 5, 11, 32, 3, 65, 208, 0, 106, 32, 10, 16, 179, 1, 32, 3, 40, 2, 80, 34, 2, 65, 21, 71, 4, 64, 32, 3, 40, 2, 88, 33, 8, 32, 3, 40, 2, 84, 33, 4, 32, 3, 32, 3, 40, 2, 92, 34, 9, 54, 2, 124, 32, 3, 32, 8, 54, 2, 120, 32, 3, 32, 4, 54, 2, 116, 32, 3, 32, 2, 54, 2, 112, 32, 2, 33, 5, 32, 6, 13, 4, 12, 5, 11, 32, 3, 65, 240, 0, 106, 32, 10, 16, 26, 32, 3, 40, 2, 112, 34, 2, 65, 21, 70, 13, 0, 32, 3, 40, 2, 124, 33, 9, 32, 3, 40, 2, 120, 33, 8, 32, 3, 40, 2, 116, 33, 4, 32, 2, 33, 5, 32, 6, 13, 3, 12, 4, 11, 32, 3, 65, 8, 106, 32, 10, 16, 181, 1, 65, 0, 33, 4, 32, 3, 45, 0, 9, 33, 2, 32, 3, 45, 0, 8, 65, 1, 113, 13, 1, 11, 11, 32, 6, 69, 13, 1, 11, 32, 12, 4, 64, 32, 12, 65, 5, 116, 33, 2, 32, 6, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 11, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 11, 16, 226, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 11, 32, 13, 65, 5, 116, 69, 32, 13, 69, 32, 6, 69, 114, 114, 13, 0, 32, 6, 16, 226, 1, 11, 32, 14, 69, 32, 7, 69, 114, 13, 0, 32, 7, 16, 226, 1, 11, 32, 3, 65, 252, 0, 106, 32, 9, 54, 2, 0, 32, 3, 65, 248, 0, 106, 32, 8, 54, 2, 0, 32, 3, 32, 4, 54, 2, 116, 32, 3, 32, 5, 54, 2, 112, 32, 3, 65, 208, 0, 106, 65, 134, 136, 192, 0, 65, 32, 32, 3, 65, 240, 0, 106, 16, 27, 32, 0, 65, 32, 106, 32, 3, 65, 232, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 24, 106, 32, 3, 65, 224, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 16, 106, 32, 3, 65, 216, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 8, 106, 32, 3, 41, 3, 80, 55, 3, 0, 11, 32, 0, 32, 15, 54, 2, 0, 32, 3, 65, 128, 1, 106, 36, 0, 11, 175, 20, 2, 24, 127, 3, 126, 35, 0, 65, 160, 1, 107, 34, 2, 36, 0, 32, 2, 65, 224, 0, 106, 32, 1, 40, 2, 0, 16, 179, 1, 32, 2, 65, 144, 1, 106, 34, 5, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 3, 136, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 96, 34, 16, 65, 21, 70, 4, 64, 32, 2, 65, 216, 0, 106, 32, 1, 40, 2, 0, 34, 18, 16, 181, 1, 32, 2, 45, 0, 88, 65, 1, 113, 4, 64, 32, 2, 45, 0, 89, 65, 219, 0, 71, 4, 64, 32, 0, 66, 129, 128, 128, 128, 224, 1, 55, 2, 0, 12, 7, 11, 32, 18, 16, 175, 1, 32, 2, 65, 208, 0, 106, 32, 18, 16, 173, 1, 32, 2, 45, 0, 84, 32, 2, 65, 200, 0, 106, 32, 2, 40, 2, 80, 34, 13, 16, 181, 1, 65, 1, 33, 3, 32, 2, 45, 0, 72, 65, 1, 113, 69, 4, 64, 65, 8, 33, 8, 12, 6, 11, 32, 2, 45, 0, 73, 33, 1, 65, 1, 113, 33, 16, 32, 2, 65, 136, 1, 106, 65, 4, 114, 33, 14, 32, 2, 65, 224, 0, 106, 65, 4, 114, 33, 20, 32, 2, 65, 232, 0, 106, 33, 17, 32, 2, 65, 240, 0, 106, 33, 24, 65, 8, 33, 8, 2, 64, 3, 64, 2, 64, 32, 1, 65, 255, 1, 113, 34, 5, 65, 44, 71, 4, 64, 32, 5, 65, 221, 0, 70, 13, 3, 32, 16, 65, 0, 33, 16, 13, 1, 65, 7, 33, 3, 12, 8, 11, 32, 13, 16, 175, 1, 32, 2, 65, 64, 107, 32, 13, 16, 181, 1, 32, 2, 45, 0, 64, 65, 1, 113, 69, 4, 64, 65, 4, 33, 3, 12, 8, 11, 32, 2, 45, 0, 65, 33, 1, 11, 32, 1, 65, 255, 1, 113, 65, 221, 0, 70, 4, 64, 65, 19, 33, 3, 12, 7, 11, 32, 2, 65, 56, 106, 32, 13, 16, 181, 1, 65, 1, 33, 21, 65, 4, 33, 3, 2, 64, 32, 2, 45, 0, 56, 65, 1, 113, 69, 13, 0, 65, 14, 33, 3, 32, 2, 45, 0, 57, 65, 251, 0, 71, 13, 0, 32, 13, 16, 175, 1, 32, 2, 65, 48, 106, 32, 13, 16, 173, 1, 32, 2, 45, 0, 52, 33, 15, 32, 2, 65, 40, 106, 32, 2, 40, 2, 48, 34, 6, 16, 181, 1, 65, 0, 33, 11, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 40, 65, 1, 113, 69, 4, 64, 65, 2, 33, 3, 12, 1, 11, 32, 2, 45, 0, 41, 33, 3, 32, 15, 65, 1, 113, 33, 1, 66, 0, 33, 26, 65, 0, 33, 4, 65, 0, 33, 7, 65, 0, 33, 22, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 255, 1, 113, 34, 5, 65, 44, 71, 4, 64, 32, 5, 65, 253, 0, 70, 13, 1, 32, 1, 13, 2, 65, 9, 33, 3, 12, 6, 11, 32, 1, 4, 64, 65, 16, 33, 3, 12, 6, 11, 32, 6, 16, 175, 1, 32, 2, 65, 32, 106, 32, 6, 16, 181, 1, 32, 2, 45, 0, 32, 65, 1, 113, 69, 13, 2, 32, 2, 45, 0, 33, 33, 3, 12, 1, 11, 32, 11, 4, 64, 32, 26, 66, 1, 82, 4, 64, 32, 2, 65, 224, 0, 106, 65, 249, 128, 192, 0, 65, 6, 16, 23, 32, 2, 40, 2, 108, 33, 7, 32, 2, 40, 2, 104, 33, 4, 32, 2, 40, 2, 100, 33, 12, 32, 2, 40, 2, 96, 33, 3, 32, 15, 13, 7, 12, 8, 11, 32, 2, 65, 224, 0, 106, 32, 13, 16, 178, 1, 32, 2, 40, 2, 96, 34, 3, 65, 21, 70, 4, 64, 32, 25, 173, 33, 28, 65, 0, 33, 21, 12, 9, 11, 32, 2, 40, 2, 108, 33, 7, 32, 2, 40, 2, 104, 33, 4, 32, 2, 40, 2, 100, 33, 12, 32, 15, 69, 13, 7, 12, 6, 11, 32, 2, 65, 224, 0, 106, 65, 244, 128, 192, 0, 65, 5, 16, 23, 32, 2, 40, 2, 108, 33, 7, 32, 2, 40, 2, 104, 33, 4, 32, 2, 40, 2, 100, 33, 12, 32, 2, 40, 2, 96, 33, 3, 12, 6, 11, 32, 3, 65, 255, 1, 113, 34, 1, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 1, 65, 253, 0, 70, 27, 33, 3, 12, 4, 11, 32, 2, 65, 24, 106, 32, 6, 16, 181, 1, 32, 2, 45, 0, 24, 65, 1, 113, 13, 1, 11, 65, 4, 33, 3, 12, 2, 11, 32, 2, 45, 0, 25, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 2, 11, 32, 6, 16, 175, 1, 32, 2, 65, 224, 0, 106, 32, 6, 16, 180, 1, 32, 2, 40, 2, 112, 33, 23, 32, 2, 40, 2, 108, 33, 5, 32, 2, 40, 2, 104, 33, 1, 32, 2, 40, 2, 100, 33, 3, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 23, 33, 7, 32, 5, 33, 4, 32, 1, 33, 12, 12, 2, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 4, 64, 65, 2, 33, 3, 2, 64, 2, 64, 2, 64, 32, 23, 65, 123, 106, 14, 2, 0, 1, 2, 11, 65, 126, 65, 0, 32, 1, 65, 244, 128, 192, 0, 65, 5, 16, 214, 2, 27, 33, 3, 12, 1, 11, 65, 126, 65, 1, 32, 1, 65, 249, 128, 192, 0, 65, 6, 16, 214, 2, 27, 33, 3, 11, 32, 5, 4, 64, 32, 1, 16, 226, 1, 11, 32, 3, 65, 30, 116, 65, 30, 117, 65, 0, 72, 13, 5, 32, 3, 65, 3, 113, 65, 1, 107, 13, 1, 12, 3, 11, 2, 64, 32, 5, 65, 123, 106, 14, 2, 0, 2, 5, 11, 32, 1, 65, 244, 128, 192, 0, 65, 5, 16, 214, 2, 13, 4, 11, 32, 11, 4, 64, 32, 2, 65, 224, 0, 106, 65, 244, 128, 192, 0, 65, 5, 16, 24, 12, 3, 11, 32, 2, 65, 136, 1, 106, 32, 6, 16, 179, 1, 32, 2, 65, 128, 1, 106, 34, 11, 32, 14, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 14, 41, 2, 0, 55, 3, 120, 2, 64, 2, 64, 32, 2, 40, 2, 136, 1, 34, 3, 65, 21, 71, 4, 64, 32, 17, 32, 2, 41, 3, 120, 55, 2, 0, 32, 17, 65, 8, 106, 32, 11, 40, 2, 0, 54, 2, 0, 32, 2, 32, 3, 54, 2, 100, 32, 2, 65, 1, 54, 2, 96, 12, 1, 11, 32, 2, 65, 224, 0, 106, 32, 6, 16, 25, 32, 2, 40, 2, 96, 65, 1, 71, 13, 1, 32, 2, 40, 2, 100, 33, 3, 11, 32, 2, 40, 2, 112, 33, 7, 32, 2, 40, 2, 108, 33, 4, 32, 2, 40, 2, 104, 33, 12, 12, 9, 11, 32, 2, 40, 2, 108, 33, 25, 32, 2, 40, 2, 104, 33, 15, 32, 2, 40, 2, 100, 33, 11, 12, 4, 11, 32, 1, 65, 249, 128, 192, 0, 65, 6, 16, 214, 2, 13, 2, 11, 32, 26, 66, 1, 81, 4, 64, 32, 2, 65, 224, 0, 106, 65, 249, 128, 192, 0, 65, 6, 16, 24, 12, 1, 11, 32, 2, 65, 136, 1, 106, 32, 6, 16, 179, 1, 32, 2, 65, 128, 1, 106, 34, 1, 32, 14, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 14, 41, 2, 0, 55, 3, 120, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 136, 1, 34, 3, 65, 21, 70, 4, 64, 32, 2, 65, 16, 106, 32, 6, 16, 181, 1, 32, 2, 45, 0, 16, 65, 1, 113, 69, 13, 3, 32, 2, 45, 0, 17, 65, 34, 71, 4, 64, 32, 2, 66, 129, 128, 128, 128, 224, 1, 55, 3, 96, 65, 14, 33, 3, 12, 6, 11, 32, 6, 16, 175, 1, 32, 2, 65, 136, 1, 106, 32, 6, 16, 180, 1, 32, 2, 40, 2, 152, 1, 33, 7, 32, 2, 40, 2, 148, 1, 33, 4, 32, 2, 40, 2, 144, 1, 33, 1, 32, 2, 40, 2, 140, 1, 33, 3, 32, 2, 40, 2, 136, 1, 65, 1, 71, 4, 64, 32, 3, 69, 13, 2, 32, 2, 65, 224, 0, 106, 32, 1, 32, 7, 16, 64, 32, 4, 69, 13, 3, 32, 1, 16, 226, 1, 12, 3, 11, 32, 2, 32, 7, 54, 2, 112, 32, 2, 32, 4, 54, 2, 108, 32, 2, 32, 1, 54, 2, 104, 12, 4, 11, 32, 17, 32, 2, 41, 3, 120, 55, 2, 0, 32, 17, 65, 8, 106, 32, 1, 40, 2, 0, 54, 2, 0, 12, 3, 11, 32, 2, 65, 224, 0, 106, 32, 1, 32, 4, 16, 64, 11, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 40, 2, 100, 33, 3, 12, 3, 11, 32, 2, 41, 3, 104, 34, 26, 66, 32, 136, 167, 33, 4, 32, 24, 41, 3, 0, 34, 27, 66, 32, 136, 167, 33, 22, 32, 26, 167, 33, 12, 32, 27, 167, 33, 7, 66, 1, 33, 26, 12, 5, 11, 32, 2, 66, 129, 128, 128, 128, 192, 0, 55, 3, 96, 65, 4, 33, 3, 12, 1, 11, 32, 2, 32, 3, 54, 2, 100, 32, 2, 65, 1, 54, 2, 96, 11, 32, 2, 40, 2, 112, 33, 7, 32, 2, 40, 2, 108, 33, 4, 32, 2, 40, 2, 104, 33, 12, 12, 4, 11, 32, 2, 40, 2, 108, 33, 7, 32, 2, 40, 2, 104, 33, 4, 32, 2, 40, 2, 100, 33, 12, 32, 2, 40, 2, 96, 33, 3, 12, 3, 11, 32, 2, 65, 224, 0, 106, 32, 6, 16, 179, 1, 32, 2, 65, 128, 1, 106, 34, 1, 32, 20, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 20, 41, 2, 0, 55, 3, 120, 2, 64, 32, 2, 40, 2, 96, 34, 3, 65, 21, 71, 4, 64, 32, 14, 32, 2, 41, 3, 120, 55, 2, 0, 32, 14, 65, 8, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 2, 32, 3, 54, 2, 136, 1, 12, 1, 11, 32, 2, 65, 136, 1, 106, 32, 6, 16, 26, 32, 2, 40, 2, 136, 1, 34, 3, 65, 21, 70, 13, 1, 11, 32, 2, 40, 2, 148, 1, 33, 7, 32, 2, 40, 2, 144, 1, 33, 4, 32, 2, 40, 2, 140, 1, 33, 12, 12, 2, 11, 32, 2, 65, 8, 106, 32, 6, 16, 181, 1, 65, 0, 33, 1, 32, 2, 45, 0, 9, 33, 3, 32, 2, 45, 0, 8, 65, 1, 113, 13, 0, 11, 65, 2, 33, 3, 11, 32, 15, 69, 32, 11, 69, 114, 13, 1, 11, 32, 11, 16, 226, 1, 11, 11, 32, 12, 173, 32, 4, 173, 66, 32, 134, 132, 33, 26, 32, 7, 173, 33, 27, 32, 21, 13, 6, 32, 11, 69, 13, 1, 2, 64, 32, 9, 32, 10, 70, 4, 64, 32, 9, 65, 1, 106, 34, 1, 32, 9, 73, 13, 11, 32, 9, 65, 1, 116, 34, 5, 32, 1, 32, 5, 32, 1, 75, 27, 34, 1, 65, 4, 32, 1, 65, 4, 75, 27, 34, 1, 65, 255, 255, 255, 63, 113, 32, 1, 70, 65, 3, 116, 33, 5, 32, 1, 65, 5, 116, 33, 1, 2, 64, 32, 9, 69, 4, 64, 32, 2, 65, 0, 54, 2, 96, 12, 1, 11, 32, 2, 65, 8, 54, 2, 104, 32, 2, 32, 8, 54, 2, 96, 32, 2, 32, 9, 65, 5, 116, 54, 2, 100, 11, 32, 2, 65, 136, 1, 106, 32, 1, 32, 5, 32, 2, 65, 224, 0, 106, 16, 13, 32, 2, 40, 2, 140, 1, 33, 8, 32, 2, 40, 2, 144, 1, 33, 1, 32, 2, 40, 2, 136, 1, 65, 1, 70, 13, 1, 32, 1, 65, 5, 118, 33, 9, 11, 32, 8, 32, 10, 65, 5, 116, 106, 34, 1, 32, 22, 173, 66, 32, 134, 32, 27, 132, 55, 3, 8, 32, 1, 32, 26, 55, 3, 0, 32, 1, 32, 11, 54, 2, 16, 32, 1, 65, 24, 106, 32, 28, 55, 3, 0, 32, 1, 65, 20, 106, 32, 15, 54, 2, 0, 32, 2, 32, 13, 16, 181, 1, 32, 19, 65, 32, 106, 33, 19, 32, 10, 65, 1, 106, 33, 10, 32, 2, 45, 0, 1, 33, 1, 32, 2, 45, 0, 0, 65, 1, 113, 69, 13, 6, 12, 1, 11, 11, 32, 1, 69, 13, 8, 32, 8, 32, 1, 16, 138, 2, 0, 11, 32, 2, 65, 224, 0, 106, 32, 18, 16, 177, 1, 32, 2, 65, 144, 1, 106, 34, 1, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 3, 136, 1, 32, 2, 40, 2, 96, 34, 4, 65, 21, 70, 13, 2, 32, 0, 32, 4, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 136, 1, 55, 2, 0, 32, 0, 65, 16, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 10, 4, 64, 32, 8, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 19, 65, 96, 106, 34, 19, 13, 0, 11, 11, 32, 9, 69, 32, 9, 65, 5, 116, 69, 32, 8, 69, 114, 114, 13, 6, 32, 8, 16, 226, 1, 12, 6, 11, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 12, 5, 11, 32, 0, 32, 16, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 136, 1, 55, 2, 0, 32, 0, 65, 16, 106, 32, 5, 40, 2, 0, 54, 2, 0, 12, 4, 11, 32, 0, 32, 8, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 12, 106, 32, 10, 54, 2, 0, 32, 0, 65, 8, 106, 32, 9, 54, 2, 0, 12, 3, 11, 65, 1, 33, 3, 11, 32, 10, 69, 13, 0, 32, 10, 65, 5, 116, 33, 10, 32, 8, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 4, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 4, 16, 226, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 10, 65, 96, 106, 34, 10, 13, 0, 11, 11, 32, 9, 69, 32, 9, 65, 5, 116, 69, 32, 8, 69, 114, 114, 69, 4, 64, 32, 8, 16, 226, 1, 11, 32, 0, 32, 3, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 27, 62, 2, 0, 32, 0, 65, 8, 106, 32, 26, 55, 2, 0, 11, 32, 2, 65, 160, 1, 106, 36, 0, 15, 11, 16, 139, 2, 0, 11, 149, 5, 2, 2, 127, 1, 126, 35, 0, 65, 224, 0, 107, 34, 2, 36, 0, 32, 2, 65, 16, 106, 16, 187, 1, 32, 2, 65, 64, 107, 32, 2, 65, 16, 106, 16, 194, 1, 32, 0, 2, 127, 2, 64, 2, 64, 2, 64, 32, 2, 65, 40, 106, 2, 127, 32, 2, 40, 2, 64, 65, 1, 70, 4, 64, 32, 2, 65, 60, 106, 32, 2, 65, 204, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 68, 55, 2, 52, 32, 2, 65, 1, 54, 2, 48, 32, 2, 65, 48, 106, 65, 4, 114, 12, 1, 11, 32, 2, 32, 2, 40, 2, 68, 54, 2, 0, 32, 2, 32, 2, 65, 200, 0, 106, 45, 0, 0, 58, 0, 4, 32, 2, 65, 64, 107, 32, 2, 65, 200, 146, 192, 0, 65, 8, 32, 1, 16, 14, 32, 2, 40, 2, 64, 65, 1, 70, 4, 64, 32, 2, 65, 60, 106, 32, 2, 65, 204, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 68, 55, 2, 52, 32, 2, 65, 1, 54, 2, 48, 32, 2, 65, 48, 106, 65, 4, 114, 12, 1, 11, 32, 2, 65, 64, 107, 32, 2, 65, 208, 146, 192, 0, 65, 11, 32, 1, 65, 12, 106, 16, 14, 32, 2, 40, 2, 64, 65, 1, 70, 4, 64, 32, 2, 65, 60, 106, 32, 2, 65, 204, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 68, 55, 2, 52, 32, 2, 65, 1, 54, 2, 48, 32, 2, 65, 48, 106, 65, 4, 114, 12, 1, 11, 32, 2, 65, 64, 107, 32, 2, 65, 229, 148, 192, 0, 65, 6, 32, 1, 65, 24, 106, 16, 14, 32, 2, 40, 2, 64, 65, 1, 71, 13, 1, 32, 2, 65, 60, 106, 32, 2, 65, 204, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 68, 55, 2, 52, 32, 2, 65, 1, 54, 2, 48, 32, 2, 65, 48, 106, 65, 4, 114, 11, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 32, 12, 1, 11, 32, 2, 65, 48, 106, 32, 2, 40, 2, 0, 32, 2, 45, 0, 4, 16, 184, 1, 32, 2, 65, 40, 106, 32, 2, 65, 60, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 52, 55, 3, 32, 32, 2, 40, 2, 48, 65, 1, 71, 13, 1, 11, 32, 2, 65, 8, 106, 34, 1, 32, 2, 65, 40, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 32, 55, 3, 0, 2, 64, 32, 2, 40, 2, 16, 34, 3, 69, 13, 0, 32, 2, 40, 2, 20, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 2, 65, 56, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 0, 55, 3, 48, 32, 2, 65, 64, 107, 65, 240, 135, 192, 0, 65, 22, 32, 2, 65, 48, 106, 16, 33, 32, 0, 65, 32, 106, 32, 2, 65, 216, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 24, 106, 32, 2, 65, 208, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 16, 106, 32, 2, 65, 200, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 64, 55, 3, 0, 65, 1, 12, 1, 11, 32, 2, 65, 8, 106, 32, 2, 65, 24, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 2, 32, 2, 41, 3, 16, 34, 4, 55, 3, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 32, 4, 55, 2, 4, 65, 0, 11, 54, 2, 0, 32, 2, 65, 224, 0, 106, 36, 0, 11, 177, 2, 1, 3, 127, 35, 0, 65, 64, 106, 34, 4, 36, 0, 2, 64, 2, 64, 32, 2, 65, 127, 74, 4, 64, 65, 1, 33, 5, 32, 2, 4, 64, 32, 2, 33, 6, 32, 2, 65, 1, 16, 87, 34, 5, 69, 13, 2, 11, 32, 5, 32, 1, 32, 2, 16, 212, 2, 33, 1, 32, 4, 65, 0, 54, 2, 16, 32, 4, 66, 1, 55, 3, 8, 32, 4, 32, 3, 54, 2, 20, 32, 4, 65, 5, 54, 2, 28, 32, 4, 32, 4, 65, 20, 106, 54, 2, 24, 32, 4, 32, 4, 65, 8, 106, 54, 2, 36, 32, 4, 65, 60, 106, 65, 1, 54, 2, 0, 32, 4, 66, 1, 55, 2, 44, 32, 4, 65, 212, 134, 192, 0, 54, 2, 40, 32, 4, 32, 4, 65, 24, 106, 54, 2, 56, 32, 4, 65, 36, 106, 65, 156, 140, 192, 0, 32, 4, 65, 40, 106, 16, 156, 2, 13, 2, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 32, 0, 65, 8, 106, 32, 6, 54, 2, 0, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 16, 106, 32, 4, 41, 3, 8, 55, 2, 0, 32, 0, 65, 24, 106, 32, 4, 65, 16, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 8, 54, 2, 0, 2, 64, 32, 3, 40, 2, 0, 34, 0, 69, 13, 0, 32, 3, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 4, 65, 64, 107, 36, 0, 15, 11, 16, 139, 2, 0, 11, 32, 2, 65, 1, 16, 138, 2, 0, 11, 65, 220, 134, 192, 0, 65, 55, 32, 4, 65, 40, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 156, 91, 2, 16, 127, 1, 126, 35, 0, 65, 128, 2, 107, 34, 2, 36, 0, 32, 2, 16, 187, 1, 2, 64, 2, 64, 2, 64, 32, 0, 2, 127, 2, 64, 32, 2, 65, 24, 106, 2, 127, 2, 64, 32, 2, 65, 56, 106, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 0, 65, 1, 71, 4, 64, 32, 2, 40, 2, 8, 34, 3, 32, 2, 40, 2, 4, 71, 4, 64, 32, 2, 40, 2, 0, 33, 4, 12, 2, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 2, 32, 3, 65, 1, 116, 34, 4, 32, 6, 32, 4, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 2, 40, 2, 0, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 6, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 4, 32, 2, 32, 4, 54, 2, 0, 32, 2, 40, 2, 8, 33, 3, 12, 2, 11, 32, 3, 69, 13, 2, 12, 16, 11, 32, 2, 65, 32, 106, 32, 2, 32, 1, 65, 4, 106, 16, 35, 32, 2, 65, 24, 106, 32, 2, 65, 44, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 16, 32, 2, 40, 2, 32, 65, 1, 71, 13, 3, 12, 13, 11, 32, 3, 32, 4, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 2, 65, 224, 1, 106, 32, 2, 65, 234, 133, 192, 0, 65, 2, 16, 190, 1, 32, 2, 65, 216, 1, 106, 34, 3, 32, 2, 65, 236, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 228, 1, 55, 3, 208, 1, 2, 64, 32, 2, 40, 2, 224, 1, 65, 1, 71, 4, 64, 32, 2, 40, 2, 8, 34, 3, 32, 2, 40, 2, 4, 71, 4, 64, 32, 2, 40, 2, 0, 33, 4, 12, 2, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 2, 32, 3, 65, 1, 116, 34, 4, 32, 6, 32, 4, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 2, 40, 2, 0, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 6, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 4, 32, 2, 32, 4, 54, 2, 0, 32, 2, 40, 2, 8, 33, 3, 12, 2, 11, 32, 3, 69, 13, 2, 12, 16, 11, 32, 2, 65, 44, 106, 32, 3, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 208, 1, 55, 2, 36, 32, 2, 65, 1, 54, 2, 32, 32, 2, 65, 32, 106, 65, 4, 114, 12, 12, 11, 32, 3, 32, 4, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 2, 65, 224, 1, 106, 32, 2, 16, 194, 1, 32, 2, 40, 2, 224, 1, 65, 1, 70, 4, 64, 32, 2, 65, 204, 0, 106, 32, 2, 65, 236, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 228, 1, 55, 2, 68, 32, 2, 65, 1, 54, 2, 64, 32, 2, 65, 64, 107, 65, 4, 114, 12, 10, 11, 32, 2, 40, 2, 228, 1, 34, 6, 65, 8, 106, 40, 2, 0, 33, 3, 32, 2, 65, 232, 1, 106, 45, 0, 0, 69, 4, 64, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 32, 3, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 2, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 4, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 2, 12, 16, 11, 32, 3, 32, 4, 106, 65, 44, 58, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 11, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 32, 3, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 4, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 34, 58, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 34, 4, 32, 3, 107, 65, 11, 79, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 11, 106, 34, 5, 32, 3, 73, 13, 1, 32, 4, 65, 1, 116, 34, 3, 32, 5, 32, 3, 32, 5, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 34, 3, 65, 156, 134, 192, 0, 41, 0, 0, 55, 0, 0, 32, 3, 65, 7, 106, 65, 163, 134, 192, 0, 40, 0, 0, 54, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 11, 106, 34, 3, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 34, 4, 32, 3, 107, 65, 2, 79, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 2, 106, 34, 5, 32, 3, 73, 13, 1, 32, 4, 65, 1, 116, 34, 3, 32, 5, 32, 3, 32, 5, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 162, 244, 0, 59, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 1, 40, 2, 4, 33, 9, 32, 2, 65, 224, 1, 106, 32, 6, 32, 1, 65, 12, 106, 40, 2, 0, 34, 4, 16, 193, 1, 32, 2, 40, 2, 224, 1, 65, 1, 70, 4, 64, 32, 2, 65, 204, 1, 106, 32, 2, 65, 236, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 228, 1, 55, 2, 196, 1, 12, 8, 11, 32, 2, 65, 232, 1, 106, 45, 0, 0, 33, 3, 32, 2, 40, 2, 228, 1, 33, 14, 32, 4, 4, 64, 32, 9, 32, 4, 65, 232, 0, 108, 106, 33, 17, 32, 2, 65, 208, 1, 106, 65, 4, 114, 33, 11, 32, 2, 65, 224, 1, 106, 65, 4, 114, 33, 15, 3, 64, 32, 3, 65, 255, 1, 113, 69, 4, 64, 2, 64, 32, 14, 40, 2, 8, 34, 3, 32, 14, 65, 4, 106, 34, 5, 40, 2, 0, 71, 4, 64, 32, 14, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 4, 32, 3, 65, 1, 116, 34, 7, 32, 4, 32, 7, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 14, 40, 2, 0, 33, 7, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 7, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 4, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 216, 1, 33, 3, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 14, 32, 4, 54, 2, 0, 32, 5, 32, 3, 54, 2, 0, 32, 14, 40, 2, 8, 33, 3, 12, 1, 11, 32, 3, 69, 13, 4, 12, 18, 11, 32, 3, 32, 4, 106, 65, 44, 58, 0, 0, 32, 14, 32, 14, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 2, 65, 224, 1, 106, 32, 14, 16, 194, 1, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 224, 1, 65, 1, 70, 4, 64, 32, 11, 32, 2, 41, 2, 228, 1, 55, 2, 0, 32, 11, 65, 8, 106, 32, 2, 65, 236, 1, 106, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 2, 40, 2, 228, 1, 34, 4, 65, 8, 106, 34, 7, 40, 2, 0, 33, 3, 32, 2, 45, 0, 232, 1, 69, 4, 64, 2, 64, 32, 4, 65, 4, 106, 34, 12, 40, 2, 0, 32, 3, 71, 4, 64, 32, 4, 40, 2, 0, 33, 8, 12, 1, 11, 32, 3, 65, 1, 106, 34, 5, 32, 3, 73, 13, 8, 32, 3, 65, 1, 116, 34, 8, 32, 5, 32, 8, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 8, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 8, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 5, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 8, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 8, 54, 2, 0, 32, 12, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 8, 32, 8, 32, 3, 16, 138, 2, 0, 11, 32, 3, 32, 8, 106, 65, 44, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 11, 2, 64, 32, 4, 65, 4, 106, 34, 8, 40, 2, 0, 32, 3, 71, 4, 64, 32, 4, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 1, 106, 34, 5, 32, 3, 73, 13, 7, 32, 3, 65, 1, 116, 34, 12, 32, 5, 32, 12, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 12, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 12, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 5, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 5, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 5, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 22, 11, 32, 3, 32, 5, 106, 65, 34, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 34, 5, 32, 3, 107, 65, 2, 79, 4, 64, 32, 4, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 2, 106, 34, 12, 32, 3, 73, 13, 7, 32, 5, 65, 1, 116, 34, 3, 32, 12, 32, 3, 32, 12, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 12, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 5, 54, 2, 228, 1, 32, 2, 32, 12, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 5, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 5, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 22, 11, 32, 3, 32, 5, 106, 65, 233, 200, 1, 59, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 2, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 34, 5, 32, 3, 107, 65, 2, 79, 4, 64, 32, 4, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 2, 106, 34, 12, 32, 3, 73, 13, 7, 32, 5, 65, 1, 116, 34, 3, 32, 12, 32, 3, 32, 12, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 12, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 5, 54, 2, 228, 1, 32, 2, 32, 12, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 5, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 5, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 22, 11, 32, 3, 32, 5, 106, 65, 162, 244, 0, 59, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 2, 65, 224, 1, 106, 32, 4, 32, 9, 41, 3, 0, 16, 189, 1, 32, 2, 65, 184, 1, 106, 34, 12, 32, 15, 65, 8, 106, 34, 16, 40, 2, 0, 54, 2, 0, 32, 2, 32, 15, 41, 2, 0, 55, 3, 176, 1, 32, 2, 40, 2, 224, 1, 65, 1, 70, 4, 64, 32, 2, 65, 168, 1, 106, 32, 2, 65, 184, 1, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 2, 32, 2, 41, 3, 176, 1, 34, 18, 55, 3, 160, 1, 32, 11, 65, 8, 106, 32, 1, 54, 2, 0, 32, 11, 32, 18, 55, 2, 0, 12, 1, 11, 2, 64, 32, 7, 40, 2, 0, 34, 3, 32, 8, 40, 2, 0, 71, 4, 64, 32, 4, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 1, 106, 34, 5, 32, 3, 73, 13, 7, 32, 3, 65, 1, 116, 34, 10, 32, 5, 32, 10, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 10, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 10, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 5, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 5, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 5, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 22, 11, 32, 3, 32, 5, 106, 65, 44, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 3, 71, 4, 64, 32, 4, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 1, 106, 34, 5, 32, 3, 73, 13, 7, 32, 3, 65, 1, 116, 34, 10, 32, 5, 32, 10, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 10, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 10, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 5, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 5, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 5, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 22, 11, 32, 3, 32, 5, 106, 65, 34, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 34, 5, 32, 3, 107, 65, 3, 79, 4, 64, 32, 4, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 3, 106, 34, 10, 32, 3, 73, 13, 7, 32, 5, 65, 1, 116, 34, 3, 32, 10, 32, 3, 32, 10, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 10, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 5, 54, 2, 228, 1, 32, 2, 32, 10, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 5, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 5, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 22, 11, 32, 3, 32, 5, 106, 34, 3, 65, 195, 129, 192, 0, 47, 0, 0, 59, 0, 0, 32, 3, 65, 2, 106, 65, 197, 129, 192, 0, 45, 0, 0, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 3, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 34, 5, 32, 3, 107, 65, 2, 79, 4, 64, 32, 4, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 2, 106, 34, 10, 32, 3, 73, 13, 7, 32, 5, 65, 1, 116, 34, 3, 32, 10, 32, 3, 32, 10, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 10, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 5, 54, 2, 228, 1, 32, 2, 32, 10, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 5, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 5, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 22, 11, 32, 3, 32, 5, 106, 65, 162, 244, 0, 59, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 2, 65, 224, 1, 106, 32, 9, 65, 8, 106, 34, 10, 32, 4, 16, 36, 32, 12, 32, 16, 40, 2, 0, 54, 2, 0, 32, 2, 32, 15, 41, 2, 0, 55, 3, 176, 1, 32, 2, 40, 2, 224, 1, 65, 1, 70, 4, 64, 32, 2, 65, 168, 1, 106, 32, 2, 65, 184, 1, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 2, 32, 2, 41, 3, 176, 1, 34, 18, 55, 3, 160, 1, 32, 11, 65, 8, 106, 32, 1, 54, 2, 0, 32, 11, 32, 18, 55, 2, 0, 12, 1, 11, 2, 64, 32, 7, 40, 2, 0, 34, 3, 32, 8, 40, 2, 0, 71, 4, 64, 32, 4, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 1, 106, 34, 5, 32, 3, 73, 13, 7, 32, 3, 65, 1, 116, 34, 13, 32, 5, 32, 13, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 13, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 13, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 5, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 5, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 5, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 22, 11, 32, 3, 32, 5, 106, 65, 44, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 3, 71, 4, 64, 32, 4, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 1, 106, 34, 5, 32, 3, 73, 13, 7, 32, 3, 65, 1, 116, 34, 13, 32, 5, 32, 13, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 13, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 13, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 5, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 5, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 5, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 22, 11, 32, 3, 32, 5, 106, 65, 34, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 34, 5, 32, 3, 107, 65, 9, 79, 4, 64, 32, 4, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 9, 106, 34, 13, 32, 3, 73, 13, 7, 32, 5, 65, 1, 116, 34, 3, 32, 13, 32, 3, 32, 13, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 13, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 5, 54, 2, 228, 1, 32, 2, 32, 13, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 5, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 5, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 22, 11, 32, 3, 32, 5, 106, 34, 3, 65, 139, 134, 192, 0, 41, 0, 0, 55, 0, 0, 32, 3, 65, 8, 106, 65, 147, 134, 192, 0, 45, 0, 0, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 9, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 34, 5, 32, 3, 107, 65, 2, 79, 4, 64, 32, 4, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 2, 106, 34, 13, 32, 3, 73, 13, 7, 32, 5, 65, 1, 116, 34, 3, 32, 13, 32, 3, 32, 13, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 13, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 5, 54, 2, 228, 1, 32, 2, 32, 13, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 5, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 5, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 22, 11, 32, 3, 32, 5, 106, 65, 162, 244, 0, 59, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 2, 106, 54, 2, 0, 2, 64, 32, 10, 65, 200, 0, 106, 41, 3, 0, 66, 1, 82, 4, 64, 32, 2, 65, 224, 1, 106, 32, 4, 16, 191, 1, 12, 1, 11, 32, 2, 65, 224, 1, 106, 32, 4, 32, 9, 65, 216, 0, 106, 41, 3, 0, 16, 189, 1, 11, 32, 12, 32, 16, 40, 2, 0, 54, 2, 0, 32, 2, 32, 15, 41, 2, 0, 55, 3, 176, 1, 32, 2, 40, 2, 224, 1, 65, 1, 70, 4, 64, 32, 2, 65, 152, 1, 106, 32, 2, 65, 184, 1, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 2, 32, 2, 41, 3, 176, 1, 34, 18, 55, 3, 144, 1, 32, 11, 65, 8, 106, 32, 1, 54, 2, 0, 32, 11, 32, 18, 55, 2, 0, 12, 1, 11, 2, 64, 32, 7, 40, 2, 0, 34, 3, 32, 8, 40, 2, 0, 71, 4, 64, 32, 4, 40, 2, 0, 33, 9, 12, 1, 11, 32, 3, 65, 1, 106, 34, 5, 32, 3, 73, 13, 7, 32, 3, 65, 1, 116, 34, 9, 32, 5, 32, 9, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 9, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 9, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 5, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 9, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 9, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 23, 11, 32, 3, 32, 9, 106, 65, 44, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 3, 71, 4, 64, 32, 4, 40, 2, 0, 33, 9, 12, 1, 11, 32, 3, 65, 1, 106, 34, 5, 32, 3, 73, 13, 7, 32, 3, 65, 1, 116, 34, 9, 32, 5, 32, 9, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 9, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 9, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 5, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 9, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 9, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 23, 11, 32, 3, 32, 9, 106, 65, 34, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 34, 5, 32, 3, 107, 65, 8, 79, 4, 64, 32, 4, 40, 2, 0, 33, 9, 12, 1, 11, 32, 3, 65, 8, 106, 34, 9, 32, 3, 73, 13, 7, 32, 5, 65, 1, 116, 34, 3, 32, 9, 32, 3, 32, 9, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 9, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 5, 54, 2, 228, 1, 32, 2, 32, 9, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 9, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 9, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 23, 11, 32, 3, 32, 9, 106, 66, 242, 202, 193, 227, 150, 239, 215, 183, 238, 0, 55, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 8, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 34, 5, 32, 3, 107, 65, 2, 79, 4, 64, 32, 4, 40, 2, 0, 33, 9, 12, 1, 11, 32, 3, 65, 2, 106, 34, 9, 32, 3, 73, 13, 7, 32, 5, 65, 1, 116, 34, 3, 32, 9, 32, 3, 32, 9, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 9, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 5, 54, 2, 228, 1, 32, 2, 32, 9, 54, 2, 224, 1, 11, 32, 2, 65, 176, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 180, 1, 33, 9, 32, 2, 40, 2, 184, 1, 33, 3, 32, 2, 40, 2, 176, 1, 65, 1, 71, 4, 64, 32, 4, 32, 9, 54, 2, 0, 32, 8, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 7, 12, 23, 11, 32, 3, 32, 9, 106, 65, 162, 244, 0, 59, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 2, 106, 54, 2, 0, 2, 64, 2, 64, 2, 64, 2, 64, 32, 10, 65, 216, 0, 106, 45, 0, 0, 65, 1, 107, 14, 2, 2, 0, 1, 11, 32, 2, 65, 224, 1, 106, 32, 4, 65, 248, 133, 192, 0, 65, 7, 16, 192, 1, 12, 2, 11, 32, 2, 65, 224, 1, 106, 32, 4, 65, 255, 133, 192, 0, 65, 6, 16, 192, 1, 12, 1, 11, 32, 2, 65, 224, 1, 106, 32, 4, 65, 229, 133, 192, 0, 65, 5, 16, 192, 1, 11, 32, 12, 32, 16, 40, 2, 0, 54, 2, 0, 32, 2, 32, 15, 41, 2, 0, 55, 3, 176, 1, 32, 2, 40, 2, 224, 1, 65, 1, 71, 13, 1, 32, 2, 65, 168, 1, 106, 32, 2, 65, 184, 1, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 2, 32, 2, 41, 3, 176, 1, 34, 18, 55, 3, 160, 1, 32, 11, 65, 8, 106, 32, 1, 54, 2, 0, 32, 11, 32, 18, 55, 2, 0, 11, 32, 2, 65, 1, 54, 2, 208, 1, 32, 2, 65, 136, 1, 106, 32, 11, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 11, 41, 2, 0, 55, 3, 128, 1, 12, 1, 11, 32, 2, 65, 208, 1, 106, 32, 4, 65, 0, 16, 184, 1, 32, 2, 65, 136, 1, 106, 32, 11, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 11, 41, 2, 0, 55, 3, 128, 1, 32, 2, 40, 2, 208, 1, 65, 1, 71, 13, 1, 11, 32, 2, 65, 204, 1, 106, 32, 2, 65, 136, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 128, 1, 55, 2, 196, 1, 12, 10, 11, 65, 0, 33, 3, 32, 10, 65, 224, 0, 106, 34, 9, 32, 17, 71, 13, 0, 11, 11, 32, 2, 65, 192, 1, 106, 32, 14, 32, 3, 65, 255, 1, 113, 65, 0, 71, 16, 183, 1, 32, 2, 65, 232, 0, 106, 32, 2, 65, 204, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 196, 1, 55, 3, 96, 32, 2, 40, 2, 192, 1, 65, 1, 70, 13, 8, 2, 64, 32, 6, 65, 8, 106, 40, 2, 0, 34, 3, 32, 6, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 4, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 44, 58, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 32, 3, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 4, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 34, 58, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 34, 4, 32, 3, 107, 65, 8, 79, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 8, 106, 34, 5, 32, 3, 73, 13, 1, 32, 4, 65, 1, 116, 34, 3, 32, 5, 32, 3, 32, 5, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 66, 237, 202, 205, 155, 151, 236, 217, 178, 243, 0, 55, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 8, 106, 34, 3, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 34, 4, 32, 3, 107, 65, 2, 79, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 2, 106, 34, 5, 32, 3, 73, 13, 1, 32, 4, 65, 1, 116, 34, 3, 32, 5, 32, 3, 32, 5, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 162, 244, 0, 59, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 1, 40, 2, 16, 33, 4, 32, 2, 65, 224, 1, 106, 32, 6, 32, 1, 65, 24, 106, 40, 2, 0, 34, 3, 16, 193, 1, 32, 2, 40, 2, 224, 1, 65, 1, 70, 4, 64, 32, 2, 65, 220, 1, 106, 32, 2, 65, 236, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 228, 1, 55, 2, 212, 1, 12, 6, 11, 32, 2, 65, 232, 1, 106, 45, 0, 0, 33, 8, 32, 2, 65, 208, 1, 106, 32, 2, 40, 2, 228, 1, 34, 7, 32, 3, 4, 127, 32, 3, 65, 200, 0, 108, 33, 5, 32, 8, 69, 33, 8, 32, 2, 65, 224, 1, 106, 65, 4, 114, 33, 11, 3, 64, 32, 8, 65, 1, 113, 4, 64, 2, 64, 32, 7, 40, 2, 8, 34, 8, 32, 7, 65, 4, 106, 34, 14, 40, 2, 0, 71, 4, 64, 32, 7, 40, 2, 0, 33, 9, 12, 1, 11, 32, 8, 65, 1, 106, 34, 3, 32, 8, 73, 13, 4, 32, 8, 65, 1, 116, 34, 9, 32, 3, 32, 9, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 8, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 7, 40, 2, 0, 33, 9, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 8, 54, 2, 228, 1, 32, 2, 32, 9, 54, 2, 224, 1, 11, 32, 2, 65, 192, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 196, 1, 33, 9, 32, 2, 40, 2, 200, 1, 33, 3, 32, 2, 40, 2, 192, 1, 65, 1, 71, 4, 64, 32, 7, 32, 9, 54, 2, 0, 32, 14, 32, 3, 54, 2, 0, 32, 7, 40, 2, 8, 33, 8, 12, 1, 11, 32, 3, 69, 13, 4, 12, 20, 11, 32, 8, 32, 9, 106, 65, 44, 58, 0, 0, 32, 7, 32, 7, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 2, 65, 224, 1, 106, 32, 4, 32, 7, 16, 36, 32, 2, 65, 184, 1, 106, 32, 11, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 11, 41, 2, 0, 55, 3, 176, 1, 32, 2, 40, 2, 224, 1, 65, 1, 70, 4, 64, 32, 2, 65, 220, 1, 106, 32, 2, 65, 184, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 176, 1, 55, 2, 212, 1, 12, 8, 11, 32, 4, 65, 200, 0, 106, 33, 4, 65, 1, 33, 8, 32, 5, 65, 184, 127, 106, 34, 5, 13, 0, 11, 65, 0, 5, 32, 8, 11, 65, 255, 1, 113, 65, 0, 71, 16, 183, 1, 32, 2, 65, 152, 1, 106, 32, 2, 65, 220, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 212, 1, 55, 3, 144, 1, 32, 2, 40, 2, 208, 1, 65, 1, 70, 13, 6, 2, 64, 32, 6, 65, 8, 106, 40, 2, 0, 34, 3, 32, 6, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 4, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 44, 58, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 32, 3, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 4, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 34, 58, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 34, 4, 32, 3, 107, 65, 10, 79, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 10, 106, 34, 5, 32, 3, 73, 13, 1, 32, 4, 65, 1, 116, 34, 3, 32, 5, 32, 3, 32, 5, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 34, 3, 65, 167, 134, 192, 0, 41, 0, 0, 55, 0, 0, 32, 3, 65, 8, 106, 65, 175, 134, 192, 0, 47, 0, 0, 59, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 10, 106, 34, 3, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 34, 4, 32, 3, 107, 65, 2, 79, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 2, 106, 34, 5, 32, 3, 73, 13, 1, 32, 4, 65, 1, 116, 34, 3, 32, 5, 32, 3, 32, 5, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 162, 244, 0, 59, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 1, 40, 2, 28, 33, 4, 32, 2, 65, 224, 1, 106, 32, 6, 32, 1, 65, 36, 106, 40, 2, 0, 34, 5, 16, 193, 1, 32, 2, 40, 2, 224, 1, 65, 1, 70, 4, 64, 32, 2, 65, 204, 1, 106, 32, 2, 65, 236, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 228, 1, 55, 2, 196, 1, 12, 4, 11, 32, 2, 65, 232, 1, 106, 45, 0, 0, 33, 7, 32, 2, 65, 192, 1, 106, 32, 2, 40, 2, 228, 1, 34, 3, 32, 5, 4, 127, 32, 4, 32, 5, 65, 24, 108, 106, 33, 9, 32, 7, 69, 33, 8, 32, 2, 65, 208, 1, 106, 65, 4, 114, 33, 7, 3, 64, 32, 8, 65, 1, 113, 4, 64, 2, 64, 32, 3, 40, 2, 8, 34, 8, 32, 3, 65, 4, 106, 34, 11, 40, 2, 0, 71, 4, 64, 32, 3, 40, 2, 0, 33, 5, 12, 1, 11, 32, 8, 65, 1, 106, 34, 5, 32, 8, 73, 13, 4, 32, 8, 65, 1, 116, 34, 14, 32, 5, 32, 14, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 8, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 3, 40, 2, 0, 33, 14, 32, 2, 65, 1, 54, 2, 232, 1, 32, 2, 32, 8, 54, 2, 228, 1, 32, 2, 32, 14, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 5, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 40, 2, 212, 1, 33, 5, 32, 2, 40, 2, 216, 1, 33, 8, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 3, 32, 5, 54, 2, 0, 32, 11, 32, 8, 54, 2, 0, 32, 3, 40, 2, 8, 33, 8, 12, 1, 11, 32, 8, 69, 13, 4, 32, 5, 32, 8, 16, 138, 2, 0, 11, 32, 5, 32, 8, 106, 65, 44, 58, 0, 0, 32, 3, 32, 3, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 2, 65, 224, 1, 106, 32, 3, 16, 194, 1, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 224, 1, 65, 1, 70, 13, 0, 32, 2, 32, 2, 45, 0, 232, 1, 58, 0, 116, 32, 2, 32, 2, 40, 2, 228, 1, 54, 2, 112, 32, 2, 65, 224, 1, 106, 32, 2, 65, 240, 0, 106, 65, 187, 129, 192, 0, 65, 3, 32, 4, 16, 14, 32, 2, 40, 2, 224, 1, 65, 1, 70, 13, 0, 32, 2, 65, 224, 1, 106, 32, 2, 65, 240, 0, 106, 65, 186, 134, 192, 0, 65, 5, 32, 4, 65, 12, 106, 34, 4, 16, 14, 32, 2, 40, 2, 224, 1, 65, 1, 71, 13, 1, 11, 32, 7, 32, 2, 41, 2, 228, 1, 55, 2, 0, 32, 7, 65, 8, 106, 32, 2, 65, 236, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 1, 54, 2, 208, 1, 32, 2, 65, 184, 1, 106, 32, 7, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 7, 41, 2, 0, 55, 3, 176, 1, 12, 1, 11, 32, 2, 65, 208, 1, 106, 32, 2, 40, 2, 112, 32, 2, 45, 0, 116, 16, 184, 1, 32, 2, 65, 184, 1, 106, 32, 7, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 7, 41, 2, 0, 55, 3, 176, 1, 32, 2, 40, 2, 208, 1, 65, 1, 71, 13, 1, 11, 32, 2, 65, 204, 1, 106, 32, 2, 65, 184, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 176, 1, 55, 2, 196, 1, 12, 6, 11, 65, 1, 33, 8, 32, 4, 65, 12, 106, 34, 4, 32, 9, 71, 13, 0, 11, 65, 0, 5, 32, 7, 11, 65, 255, 1, 113, 65, 0, 71, 16, 183, 1, 32, 2, 65, 152, 1, 106, 32, 2, 65, 204, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 196, 1, 55, 3, 144, 1, 32, 2, 40, 2, 192, 1, 65, 1, 70, 13, 4, 2, 64, 32, 6, 65, 8, 106, 40, 2, 0, 34, 3, 32, 6, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 4, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 44, 58, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 32, 3, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 4, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 34, 58, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 34, 4, 32, 3, 107, 65, 4, 79, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 4, 106, 34, 5, 32, 3, 73, 13, 1, 32, 4, 65, 1, 116, 34, 3, 32, 5, 32, 3, 32, 5, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 228, 194, 209, 139, 6, 54, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 4, 106, 34, 3, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 34, 4, 32, 3, 107, 65, 2, 79, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 2, 106, 34, 5, 32, 3, 73, 13, 1, 32, 4, 65, 1, 116, 34, 3, 32, 5, 32, 3, 32, 5, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 6, 40, 2, 0, 33, 5, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 228, 1, 32, 2, 32, 5, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 3, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 3, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 15, 11, 32, 3, 32, 4, 106, 65, 162, 244, 0, 59, 0, 0, 32, 6, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 2, 106, 54, 2, 0, 2, 64, 32, 1, 65, 40, 106, 34, 1, 40, 2, 0, 69, 4, 64, 32, 2, 65, 224, 1, 106, 32, 6, 16, 191, 1, 12, 1, 11, 32, 2, 65, 208, 1, 106, 32, 1, 16, 137, 1, 32, 2, 65, 224, 1, 106, 32, 6, 32, 2, 40, 2, 208, 1, 34, 1, 32, 2, 40, 2, 216, 1, 16, 190, 1, 32, 2, 40, 2, 212, 1, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 2, 65, 184, 1, 106, 34, 1, 32, 2, 65, 236, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 228, 1, 55, 3, 176, 1, 32, 2, 40, 2, 224, 1, 65, 1, 70, 4, 64, 32, 2, 65, 204, 0, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 176, 1, 55, 2, 68, 32, 2, 65, 1, 54, 2, 64, 32, 2, 65, 64, 107, 65, 4, 114, 12, 10, 11, 32, 2, 65, 64, 107, 32, 6, 65, 0, 16, 184, 1, 32, 2, 65, 56, 106, 32, 2, 65, 204, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 68, 55, 3, 48, 32, 2, 40, 2, 64, 65, 1, 70, 13, 10, 32, 2, 40, 2, 8, 34, 3, 32, 2, 40, 2, 4, 71, 4, 64, 32, 2, 40, 2, 0, 33, 4, 12, 2, 11, 32, 3, 65, 1, 106, 34, 1, 32, 3, 73, 13, 0, 32, 3, 65, 1, 116, 34, 6, 32, 1, 32, 6, 32, 1, 75, 27, 34, 1, 65, 8, 32, 1, 65, 8, 75, 27, 33, 1, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 224, 1, 12, 1, 11, 32, 2, 65, 232, 1, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 228, 1, 32, 2, 32, 2, 40, 2, 0, 54, 2, 224, 1, 11, 32, 2, 65, 208, 1, 106, 32, 1, 65, 1, 32, 2, 65, 224, 1, 106, 16, 13, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 212, 1, 33, 4, 32, 2, 40, 2, 208, 1, 65, 1, 71, 4, 64, 32, 2, 32, 1, 54, 2, 4, 32, 2, 32, 4, 54, 2, 0, 32, 2, 40, 2, 8, 33, 3, 12, 2, 11, 32, 1, 69, 13, 0, 32, 4, 32, 1, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 4, 106, 65, 253, 0, 58, 0, 0, 32, 2, 65, 24, 106, 32, 2, 65, 44, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 16, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 2, 65, 200, 1, 106, 32, 2, 65, 8, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 2, 32, 2, 41, 3, 0, 34, 18, 55, 3, 192, 1, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 32, 18, 55, 2, 4, 65, 0, 12, 10, 11, 32, 2, 65, 1, 54, 2, 192, 1, 32, 2, 65, 152, 1, 106, 32, 2, 65, 192, 1, 106, 65, 4, 114, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 144, 1, 11, 32, 2, 65, 204, 0, 106, 32, 2, 65, 152, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 144, 1, 55, 2, 68, 32, 2, 65, 1, 54, 2, 64, 32, 2, 65, 64, 107, 65, 4, 114, 12, 4, 11, 32, 2, 65, 1, 54, 2, 208, 1, 32, 2, 65, 152, 1, 106, 32, 2, 65, 208, 1, 106, 65, 4, 114, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 144, 1, 11, 32, 2, 65, 204, 0, 106, 32, 2, 65, 152, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 144, 1, 55, 2, 68, 32, 2, 65, 1, 54, 2, 64, 32, 2, 65, 64, 107, 65, 4, 114, 12, 2, 11, 32, 2, 65, 1, 54, 2, 192, 1, 32, 2, 65, 232, 0, 106, 32, 2, 65, 192, 1, 106, 65, 4, 114, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 96, 11, 32, 2, 65, 204, 0, 106, 32, 2, 65, 232, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 96, 55, 2, 68, 32, 2, 65, 1, 54, 2, 64, 32, 2, 65, 64, 107, 65, 4, 114, 11, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 48, 11, 32, 2, 65, 44, 106, 32, 2, 65, 56, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 48, 55, 2, 36, 32, 2, 65, 1, 54, 2, 32, 32, 2, 65, 32, 106, 65, 4, 114, 11, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 16, 11, 32, 2, 65, 200, 1, 106, 34, 1, 32, 2, 65, 24, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 16, 55, 3, 192, 1, 2, 64, 32, 2, 40, 2, 0, 34, 3, 69, 13, 0, 32, 2, 40, 2, 4, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 2, 65, 216, 1, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 192, 1, 55, 3, 208, 1, 32, 2, 65, 224, 1, 106, 65, 246, 136, 192, 0, 65, 225, 0, 32, 2, 65, 208, 1, 106, 16, 33, 32, 0, 65, 32, 106, 32, 2, 65, 248, 1, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 24, 106, 32, 2, 65, 240, 1, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 16, 106, 32, 2, 65, 232, 1, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 224, 1, 55, 3, 0, 65, 1, 11, 54, 2, 0, 32, 2, 65, 128, 2, 106, 36, 0, 15, 11, 32, 4, 32, 3, 16, 138, 2, 0, 11, 32, 5, 32, 3, 16, 138, 2, 0, 11, 32, 9, 32, 3, 16, 138, 2, 0, 11, 226, 6, 1, 4, 127, 35, 0, 65, 32, 107, 34, 3, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 8, 34, 4, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 1, 11, 32, 4, 65, 1, 106, 34, 5, 32, 4, 73, 13, 1, 32, 4, 65, 1, 116, 34, 6, 32, 5, 32, 6, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 0, 12, 1, 11, 32, 3, 65, 8, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 4, 32, 3, 32, 1, 40, 2, 0, 54, 2, 0, 11, 32, 3, 65, 16, 106, 32, 5, 65, 1, 32, 3, 16, 13, 32, 3, 65, 24, 106, 40, 2, 0, 33, 4, 32, 3, 40, 2, 20, 33, 5, 32, 3, 40, 2, 16, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 4, 54, 2, 0, 32, 1, 40, 2, 8, 33, 4, 12, 1, 11, 32, 4, 69, 13, 1, 32, 5, 32, 4, 16, 138, 2, 0, 11, 32, 4, 32, 5, 106, 65, 251, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 3, 32, 1, 65, 229, 133, 192, 0, 65, 5, 16, 190, 1, 32, 3, 65, 24, 106, 34, 4, 32, 3, 65, 12, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 4, 55, 3, 16, 2, 64, 32, 3, 40, 2, 0, 65, 1, 71, 4, 64, 32, 1, 40, 2, 8, 34, 4, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 2, 11, 32, 4, 65, 1, 106, 34, 5, 32, 4, 73, 13, 2, 32, 4, 65, 1, 116, 34, 6, 32, 5, 32, 6, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 0, 12, 1, 11, 32, 3, 65, 8, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 4, 32, 3, 32, 1, 40, 2, 0, 54, 2, 0, 11, 32, 3, 65, 16, 106, 32, 5, 65, 1, 32, 3, 16, 13, 32, 3, 65, 24, 106, 40, 2, 0, 33, 4, 32, 3, 40, 2, 20, 33, 5, 32, 3, 40, 2, 16, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 4, 54, 2, 0, 32, 1, 40, 2, 8, 33, 4, 12, 2, 11, 32, 4, 69, 13, 2, 32, 5, 32, 4, 16, 138, 2, 0, 11, 32, 0, 32, 3, 41, 3, 16, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 3, 11, 32, 4, 32, 5, 106, 65, 58, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 3, 32, 1, 32, 2, 40, 2, 0, 32, 2, 40, 2, 8, 16, 190, 1, 32, 3, 65, 24, 106, 34, 2, 32, 3, 65, 12, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 4, 55, 3, 16, 32, 3, 40, 2, 0, 65, 1, 70, 4, 64, 32, 0, 32, 3, 41, 3, 16, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 40, 2, 0, 54, 2, 0, 12, 3, 11, 32, 1, 40, 2, 8, 34, 4, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 2, 11, 32, 4, 65, 1, 106, 34, 2, 32, 4, 73, 13, 0, 32, 4, 65, 1, 116, 34, 5, 32, 2, 32, 5, 32, 2, 75, 27, 34, 2, 65, 8, 32, 2, 65, 8, 75, 27, 33, 2, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 0, 12, 1, 11, 32, 3, 65, 8, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 4, 32, 3, 32, 1, 40, 2, 0, 54, 2, 0, 11, 32, 3, 65, 16, 106, 32, 2, 65, 1, 32, 3, 16, 13, 32, 3, 65, 24, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 20, 33, 5, 32, 3, 40, 2, 16, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 2, 54, 2, 0, 32, 1, 40, 2, 8, 33, 4, 12, 2, 11, 32, 2, 69, 13, 0, 32, 5, 32, 2, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 4, 32, 5, 106, 65, 253, 0, 58, 0, 0, 32, 0, 65, 0, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 3, 65, 32, 106, 36, 0, 11, 192, 48, 1, 5, 127, 35, 0, 65, 224, 0, 107, 34, 3, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 0, 65, 1, 107, 14, 3, 2, 3, 0, 1, 11, 32, 2, 40, 2, 8, 34, 4, 32, 2, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 2, 40, 2, 0, 33, 5, 12, 5, 11, 32, 4, 65, 1, 106, 34, 5, 32, 4, 73, 13, 5, 32, 4, 65, 1, 116, 34, 6, 32, 5, 32, 6, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 84, 32, 3, 32, 2, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 5, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 4, 32, 3, 40, 2, 60, 33, 5, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 32, 5, 54, 2, 0, 32, 2, 65, 4, 106, 32, 4, 54, 2, 0, 32, 2, 40, 2, 8, 33, 4, 12, 5, 11, 32, 4, 69, 13, 5, 12, 8, 11, 32, 2, 40, 2, 8, 34, 4, 32, 2, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 2, 40, 2, 0, 33, 5, 12, 3, 11, 32, 4, 65, 1, 106, 34, 5, 32, 4, 73, 13, 4, 32, 4, 65, 1, 116, 34, 6, 32, 5, 32, 6, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 84, 32, 3, 32, 2, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 5, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 4, 32, 3, 40, 2, 60, 33, 5, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 32, 5, 54, 2, 0, 32, 2, 65, 4, 106, 32, 4, 54, 2, 0, 32, 2, 40, 2, 8, 33, 4, 12, 3, 11, 32, 4, 69, 13, 4, 12, 7, 11, 32, 0, 32, 2, 16, 38, 12, 5, 11, 2, 64, 32, 2, 40, 2, 8, 34, 4, 32, 2, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 2, 40, 2, 0, 33, 5, 12, 1, 11, 32, 4, 65, 1, 106, 34, 5, 32, 4, 73, 13, 3, 32, 4, 65, 1, 116, 34, 6, 32, 5, 32, 6, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 84, 32, 3, 32, 2, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 5, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 4, 32, 3, 40, 2, 60, 33, 5, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 32, 5, 54, 2, 0, 32, 2, 65, 4, 106, 32, 4, 54, 2, 0, 32, 2, 40, 2, 8, 33, 4, 12, 1, 11, 32, 4, 69, 13, 3, 12, 6, 11, 32, 4, 32, 5, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 3, 65, 208, 0, 106, 32, 2, 65, 169, 130, 192, 0, 65, 7, 16, 190, 1, 32, 3, 65, 64, 107, 34, 4, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 3, 56, 2, 64, 32, 3, 40, 2, 80, 65, 1, 71, 4, 64, 32, 2, 40, 2, 8, 34, 4, 32, 2, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 2, 40, 2, 0, 33, 5, 12, 2, 11, 32, 4, 65, 1, 106, 34, 5, 32, 4, 73, 13, 4, 32, 4, 65, 1, 116, 34, 6, 32, 5, 32, 6, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 84, 32, 3, 32, 2, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 5, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 4, 32, 3, 40, 2, 60, 33, 5, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 32, 5, 54, 2, 0, 32, 2, 65, 4, 106, 32, 4, 54, 2, 0, 32, 2, 40, 2, 8, 33, 4, 12, 2, 11, 32, 4, 69, 13, 4, 12, 7, 11, 32, 0, 32, 3, 41, 3, 56, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 5, 11, 32, 4, 32, 5, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 8, 65, 1, 107, 14, 3, 1, 2, 3, 0, 11, 32, 3, 65, 208, 0, 106, 32, 2, 65, 221, 133, 192, 0, 65, 8, 16, 195, 1, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 6, 11, 32, 3, 32, 3, 40, 2, 84, 54, 2, 24, 32, 3, 32, 3, 65, 216, 0, 106, 45, 0, 0, 58, 0, 28, 32, 3, 65, 208, 0, 106, 32, 3, 65, 24, 106, 65, 239, 129, 192, 0, 65, 9, 32, 1, 65, 12, 106, 16, 14, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 6, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 24, 106, 32, 1, 65, 24, 106, 16, 17, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 6, 11, 32, 3, 65, 56, 106, 32, 3, 40, 2, 24, 32, 3, 45, 0, 28, 16, 185, 1, 12, 5, 11, 32, 3, 65, 208, 0, 106, 32, 2, 65, 211, 133, 192, 0, 65, 10, 16, 195, 1, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 5, 11, 32, 3, 32, 3, 40, 2, 84, 54, 2, 24, 32, 3, 32, 3, 65, 216, 0, 106, 45, 0, 0, 58, 0, 28, 32, 3, 65, 208, 0, 106, 32, 3, 65, 24, 106, 65, 239, 129, 192, 0, 65, 9, 32, 1, 65, 12, 106, 16, 14, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 5, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 24, 106, 32, 1, 65, 24, 106, 16, 17, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 5, 11, 32, 3, 65, 56, 106, 32, 3, 40, 2, 24, 32, 3, 45, 0, 28, 16, 185, 1, 12, 4, 11, 32, 3, 65, 208, 0, 106, 32, 2, 65, 194, 133, 192, 0, 65, 8, 16, 195, 1, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 4, 11, 32, 3, 32, 3, 40, 2, 84, 54, 2, 72, 32, 3, 32, 3, 65, 216, 0, 106, 45, 0, 0, 58, 0, 76, 32, 3, 65, 208, 0, 106, 32, 3, 65, 200, 0, 106, 65, 239, 129, 192, 0, 65, 9, 32, 1, 65, 12, 106, 16, 14, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 4, 11, 32, 3, 45, 0, 76, 13, 2, 32, 3, 40, 2, 72, 34, 6, 40, 2, 8, 34, 5, 32, 6, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 2, 11, 32, 5, 65, 1, 106, 34, 4, 32, 5, 73, 13, 6, 32, 5, 65, 1, 116, 34, 7, 32, 4, 32, 7, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 5, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 5, 54, 2, 84, 32, 3, 32, 6, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 4, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 5, 32, 3, 40, 2, 60, 33, 4, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 5, 54, 2, 0, 32, 6, 40, 2, 8, 33, 5, 12, 2, 11, 32, 5, 69, 13, 6, 12, 10, 11, 32, 3, 65, 208, 0, 106, 32, 2, 65, 158, 133, 192, 0, 65, 10, 16, 195, 1, 32, 3, 40, 2, 80, 65, 1, 71, 4, 64, 32, 3, 32, 3, 40, 2, 84, 54, 2, 24, 32, 3, 32, 3, 65, 216, 0, 106, 45, 0, 0, 58, 0, 28, 32, 3, 65, 208, 0, 106, 32, 3, 65, 24, 106, 65, 168, 133, 192, 0, 65, 13, 32, 1, 65, 12, 106, 16, 14, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 4, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 24, 106, 65, 181, 133, 192, 0, 65, 13, 32, 1, 65, 24, 106, 16, 14, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 4, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 24, 106, 32, 1, 65, 40, 106, 16, 17, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 4, 11, 32, 3, 65, 56, 106, 32, 3, 40, 2, 24, 32, 3, 45, 0, 28, 16, 185, 1, 12, 3, 11, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 4, 32, 5, 106, 65, 44, 58, 0, 0, 32, 6, 32, 6, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 3, 65, 0, 58, 0, 76, 2, 64, 32, 3, 40, 2, 72, 34, 6, 40, 2, 8, 34, 5, 32, 6, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 5, 65, 1, 106, 34, 4, 32, 5, 73, 13, 4, 32, 5, 65, 1, 116, 34, 7, 32, 4, 32, 7, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 5, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 5, 54, 2, 84, 32, 3, 32, 6, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 4, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 5, 32, 3, 40, 2, 60, 33, 4, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 5, 54, 2, 0, 32, 6, 40, 2, 8, 33, 5, 12, 1, 11, 32, 5, 69, 13, 4, 12, 8, 11, 32, 4, 32, 5, 106, 65, 34, 58, 0, 0, 32, 6, 32, 6, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 32, 3, 40, 2, 72, 34, 6, 65, 4, 106, 40, 2, 0, 34, 4, 32, 6, 65, 8, 106, 40, 2, 0, 34, 5, 107, 65, 9, 79, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 5, 65, 9, 106, 34, 7, 32, 5, 73, 13, 4, 32, 4, 65, 1, 116, 34, 5, 32, 7, 32, 5, 32, 7, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 84, 32, 3, 32, 6, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 5, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 5, 32, 3, 40, 2, 60, 33, 4, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 5, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 5, 12, 1, 11, 32, 5, 69, 13, 4, 12, 8, 11, 32, 4, 32, 5, 106, 34, 4, 65, 202, 133, 192, 0, 41, 0, 0, 55, 0, 0, 32, 4, 65, 8, 106, 65, 210, 133, 192, 0, 45, 0, 0, 58, 0, 0, 32, 6, 65, 8, 106, 34, 4, 32, 4, 40, 2, 0, 65, 9, 106, 34, 5, 54, 2, 0, 2, 64, 32, 6, 65, 4, 106, 40, 2, 0, 34, 4, 32, 5, 107, 65, 2, 79, 4, 64, 32, 6, 40, 2, 0, 33, 4, 12, 1, 11, 32, 5, 65, 2, 106, 34, 7, 32, 5, 73, 13, 4, 32, 4, 65, 1, 116, 34, 5, 32, 7, 32, 5, 32, 7, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 84, 32, 3, 32, 6, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 5, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 5, 32, 3, 40, 2, 60, 33, 4, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 6, 32, 4, 54, 2, 0, 32, 6, 65, 4, 106, 32, 5, 54, 2, 0, 32, 6, 65, 8, 106, 40, 2, 0, 33, 5, 12, 1, 11, 32, 5, 69, 13, 4, 12, 8, 11, 32, 4, 32, 5, 106, 65, 162, 244, 0, 59, 0, 0, 32, 6, 65, 8, 106, 34, 4, 32, 4, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 3, 40, 2, 72, 33, 4, 2, 64, 32, 1, 40, 2, 24, 34, 5, 69, 4, 64, 32, 3, 65, 208, 0, 106, 32, 4, 16, 191, 1, 12, 1, 11, 32, 3, 65, 208, 0, 106, 32, 4, 32, 5, 32, 1, 65, 32, 106, 40, 2, 0, 16, 190, 1, 11, 32, 3, 65, 32, 106, 34, 1, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 3, 24, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 24, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 1, 11, 32, 3, 65, 56, 106, 32, 4, 32, 3, 45, 0, 76, 16, 185, 1, 11, 32, 3, 65, 48, 106, 34, 1, 32, 3, 65, 196, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 60, 55, 3, 40, 2, 64, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 40, 2, 8, 34, 1, 32, 2, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 2, 40, 2, 0, 33, 4, 12, 2, 11, 32, 1, 65, 1, 106, 34, 4, 32, 1, 73, 13, 4, 32, 1, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 1, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 1, 54, 2, 84, 32, 3, 32, 2, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 4, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 1, 32, 3, 40, 2, 60, 33, 4, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 32, 4, 54, 2, 0, 32, 2, 65, 4, 106, 32, 1, 54, 2, 0, 32, 2, 40, 2, 8, 33, 1, 12, 2, 11, 32, 1, 69, 13, 4, 12, 9, 11, 32, 0, 32, 3, 41, 3, 40, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 40, 2, 0, 54, 2, 0, 12, 5, 11, 32, 1, 32, 4, 106, 65, 253, 0, 58, 0, 0, 32, 0, 65, 0, 54, 2, 0, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 12, 4, 11, 32, 4, 32, 5, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 3, 65, 208, 0, 106, 32, 2, 65, 182, 130, 192, 0, 65, 4, 16, 190, 1, 32, 3, 65, 16, 106, 34, 4, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 3, 8, 2, 64, 32, 3, 40, 2, 80, 65, 1, 71, 4, 64, 32, 2, 40, 2, 8, 34, 4, 32, 2, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 2, 40, 2, 0, 33, 5, 12, 2, 11, 32, 4, 65, 1, 106, 34, 5, 32, 4, 73, 13, 3, 32, 4, 65, 1, 116, 34, 6, 32, 5, 32, 6, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 84, 32, 3, 32, 2, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 5, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 4, 32, 3, 40, 2, 60, 33, 5, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 32, 5, 54, 2, 0, 32, 2, 65, 4, 106, 32, 4, 54, 2, 0, 32, 2, 40, 2, 8, 33, 4, 12, 2, 11, 32, 4, 69, 13, 3, 12, 6, 11, 32, 0, 32, 3, 41, 3, 8, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 4, 11, 32, 4, 32, 5, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 2, 64, 32, 1, 40, 2, 4, 65, 1, 70, 4, 64, 32, 3, 65, 208, 0, 106, 32, 2, 65, 203, 132, 192, 0, 65, 4, 16, 195, 1, 32, 3, 40, 2, 80, 65, 1, 71, 13, 1, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 65, 208, 0, 106, 32, 2, 65, 207, 132, 192, 0, 65, 4, 16, 195, 1, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 32, 3, 40, 2, 84, 54, 2, 40, 32, 3, 32, 3, 65, 216, 0, 106, 45, 0, 0, 58, 0, 44, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 211, 132, 192, 0, 65, 10, 32, 1, 65, 8, 106, 16, 14, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 249, 128, 192, 0, 65, 6, 32, 1, 65, 20, 106, 16, 19, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 65, 56, 106, 32, 3, 40, 2, 40, 32, 3, 45, 0, 44, 16, 185, 1, 12, 1, 11, 32, 3, 32, 3, 40, 2, 84, 54, 2, 40, 32, 3, 32, 3, 65, 216, 0, 106, 45, 0, 0, 58, 0, 44, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 249, 128, 192, 0, 65, 6, 32, 1, 65, 8, 106, 16, 19, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 1, 11, 32, 3, 65, 56, 106, 32, 3, 40, 2, 40, 32, 3, 45, 0, 44, 16, 185, 1, 11, 32, 3, 65, 32, 106, 34, 1, 32, 3, 65, 196, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 60, 55, 3, 24, 2, 64, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 40, 2, 8, 34, 1, 32, 2, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 2, 40, 2, 0, 33, 4, 12, 2, 11, 32, 1, 65, 1, 106, 34, 4, 32, 1, 73, 13, 3, 32, 1, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 1, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 1, 54, 2, 84, 32, 3, 32, 2, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 4, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 1, 32, 3, 40, 2, 60, 33, 4, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 32, 4, 54, 2, 0, 32, 2, 65, 4, 106, 32, 1, 54, 2, 0, 32, 2, 40, 2, 8, 33, 1, 12, 2, 11, 32, 1, 69, 13, 3, 12, 8, 11, 32, 0, 32, 3, 41, 3, 24, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 40, 2, 0, 54, 2, 0, 12, 4, 11, 32, 1, 32, 4, 106, 65, 253, 0, 58, 0, 0, 32, 0, 65, 0, 54, 2, 0, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 12, 3, 11, 32, 4, 32, 5, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 3, 65, 208, 0, 106, 32, 2, 65, 165, 130, 192, 0, 65, 4, 16, 190, 1, 32, 3, 65, 16, 106, 34, 4, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 3, 8, 2, 64, 32, 3, 40, 2, 80, 65, 1, 71, 4, 64, 32, 2, 40, 2, 8, 34, 4, 32, 2, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 2, 40, 2, 0, 33, 5, 12, 2, 11, 32, 4, 65, 1, 106, 34, 5, 32, 4, 73, 13, 2, 32, 4, 65, 1, 116, 34, 6, 32, 5, 32, 6, 32, 5, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 84, 32, 3, 32, 2, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 5, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 4, 32, 3, 40, 2, 60, 33, 5, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 32, 5, 54, 2, 0, 32, 2, 65, 4, 106, 32, 4, 54, 2, 0, 32, 2, 40, 2, 8, 33, 4, 12, 2, 11, 32, 4, 69, 13, 2, 12, 5, 11, 32, 0, 32, 3, 41, 3, 8, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 3, 11, 32, 4, 32, 5, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 8, 65, 1, 107, 14, 2, 1, 2, 0, 11, 32, 3, 65, 208, 0, 106, 32, 2, 65, 141, 133, 192, 0, 65, 7, 16, 195, 1, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 3, 11, 32, 3, 32, 3, 40, 2, 84, 54, 2, 40, 32, 3, 32, 3, 65, 216, 0, 106, 45, 0, 0, 58, 0, 44, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 174, 129, 192, 0, 65, 13, 32, 1, 65, 12, 106, 16, 14, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 3, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 195, 129, 192, 0, 32, 1, 65, 24, 106, 16, 12, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 3, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 207, 132, 192, 0, 65, 4, 32, 1, 65, 36, 106, 16, 19, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 3, 11, 32, 3, 65, 56, 106, 32, 3, 40, 2, 40, 32, 3, 45, 0, 44, 16, 185, 1, 12, 2, 11, 32, 3, 65, 208, 0, 106, 32, 2, 65, 246, 132, 192, 0, 65, 11, 16, 195, 1, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 32, 3, 40, 2, 84, 54, 2, 40, 32, 3, 32, 3, 65, 216, 0, 106, 45, 0, 0, 58, 0, 44, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 129, 133, 192, 0, 65, 7, 32, 1, 65, 48, 106, 16, 15, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 195, 129, 192, 0, 32, 1, 65, 12, 106, 16, 12, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 207, 132, 192, 0, 65, 4, 32, 1, 65, 24, 106, 16, 19, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 136, 133, 192, 0, 65, 5, 32, 1, 65, 36, 106, 16, 14, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 65, 56, 106, 32, 3, 40, 2, 40, 32, 3, 45, 0, 44, 16, 185, 1, 12, 1, 11, 32, 3, 65, 208, 0, 106, 32, 2, 65, 228, 132, 192, 0, 65, 7, 16, 195, 1, 32, 3, 40, 2, 80, 65, 1, 71, 4, 64, 32, 3, 32, 3, 40, 2, 84, 54, 2, 40, 32, 3, 32, 3, 65, 216, 0, 106, 45, 0, 0, 58, 0, 44, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 174, 129, 192, 0, 65, 13, 32, 1, 65, 12, 106, 16, 14, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 235, 132, 192, 0, 65, 11, 32, 1, 65, 40, 106, 16, 15, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 65, 208, 0, 106, 32, 3, 65, 40, 106, 65, 195, 129, 192, 0, 32, 1, 65, 24, 106, 16, 12, 32, 3, 40, 2, 80, 65, 1, 70, 4, 64, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 12, 2, 11, 32, 3, 65, 56, 106, 32, 3, 40, 2, 40, 32, 3, 45, 0, 44, 16, 185, 1, 12, 1, 11, 32, 3, 65, 196, 0, 106, 32, 3, 65, 220, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 84, 55, 2, 60, 32, 3, 65, 1, 54, 2, 56, 11, 32, 3, 65, 32, 106, 34, 1, 32, 3, 65, 196, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 60, 55, 3, 24, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 40, 2, 8, 34, 1, 32, 2, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 2, 40, 2, 0, 33, 4, 12, 3, 11, 32, 1, 65, 1, 106, 34, 4, 32, 1, 73, 13, 1, 32, 1, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 1, 69, 4, 64, 32, 3, 65, 0, 54, 2, 80, 12, 1, 11, 32, 3, 65, 216, 0, 106, 65, 1, 54, 2, 0, 32, 3, 32, 1, 54, 2, 84, 32, 3, 32, 2, 40, 2, 0, 54, 2, 80, 11, 32, 3, 65, 56, 106, 32, 4, 65, 1, 32, 3, 65, 208, 0, 106, 16, 13, 32, 3, 65, 64, 107, 40, 2, 0, 33, 1, 32, 3, 40, 2, 60, 33, 4, 32, 3, 40, 2, 56, 65, 1, 71, 4, 64, 32, 2, 32, 4, 54, 2, 0, 32, 2, 65, 4, 106, 32, 1, 54, 2, 0, 32, 2, 40, 2, 8, 33, 1, 12, 3, 11, 32, 1, 69, 13, 1, 12, 6, 11, 32, 0, 32, 3, 41, 3, 24, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 40, 2, 0, 54, 2, 0, 12, 2, 11, 16, 139, 2, 0, 11, 32, 1, 32, 4, 106, 65, 253, 0, 58, 0, 0, 32, 0, 65, 0, 54, 2, 0, 32, 2, 32, 2, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 3, 65, 224, 0, 106, 36, 0, 15, 11, 32, 5, 32, 4, 16, 138, 2, 0, 11, 32, 4, 32, 5, 16, 138, 2, 0, 11, 32, 4, 32, 1, 16, 138, 2, 0, 11, 182, 35, 2, 4, 127, 1, 126, 35, 0, 65, 128, 1, 107, 34, 2, 36, 0, 32, 2, 65, 8, 106, 16, 187, 1, 2, 64, 2, 64, 32, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 32, 106, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 0, 65, 1, 107, 14, 3, 3, 2, 0, 1, 11, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 71, 4, 64, 32, 2, 40, 2, 8, 33, 4, 12, 6, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 8, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 96, 12, 1, 11, 32, 2, 65, 232, 0, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 100, 32, 2, 32, 2, 40, 2, 8, 54, 2, 96, 11, 32, 2, 65, 200, 0, 106, 32, 4, 65, 1, 32, 2, 65, 224, 0, 106, 16, 13, 32, 2, 65, 208, 0, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 76, 33, 4, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 12, 32, 2, 32, 4, 54, 2, 8, 32, 2, 40, 2, 16, 33, 3, 12, 6, 11, 32, 3, 69, 13, 8, 12, 12, 11, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 71, 4, 64, 32, 2, 40, 2, 8, 33, 4, 12, 4, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 7, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 96, 12, 1, 11, 32, 2, 65, 232, 0, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 100, 32, 2, 32, 2, 40, 2, 8, 54, 2, 96, 11, 32, 2, 65, 200, 0, 106, 32, 4, 65, 1, 32, 2, 65, 224, 0, 106, 16, 13, 32, 2, 65, 208, 0, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 76, 33, 4, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 12, 32, 2, 32, 4, 54, 2, 8, 32, 2, 40, 2, 16, 33, 3, 12, 4, 11, 32, 3, 69, 13, 7, 12, 11, 11, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 71, 4, 64, 32, 2, 40, 2, 8, 33, 4, 12, 2, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 6, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 96, 12, 1, 11, 32, 2, 65, 232, 0, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 100, 32, 2, 32, 2, 40, 2, 8, 54, 2, 96, 11, 32, 2, 65, 200, 0, 106, 32, 4, 65, 1, 32, 2, 65, 224, 0, 106, 16, 13, 32, 2, 65, 208, 0, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 76, 33, 4, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 12, 32, 2, 32, 4, 54, 2, 8, 32, 2, 40, 2, 16, 33, 3, 12, 2, 11, 32, 3, 69, 13, 6, 12, 10, 11, 32, 2, 65, 40, 106, 32, 2, 65, 8, 106, 16, 38, 32, 2, 65, 32, 106, 32, 2, 65, 52, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 44, 55, 3, 24, 32, 2, 40, 2, 40, 65, 1, 71, 13, 7, 12, 4, 11, 32, 3, 32, 4, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 32, 2, 65, 224, 0, 106, 32, 2, 65, 8, 106, 65, 169, 130, 192, 0, 65, 7, 16, 190, 1, 32, 2, 65, 208, 0, 106, 34, 3, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 3, 72, 2, 64, 32, 2, 40, 2, 96, 65, 1, 71, 4, 64, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 71, 4, 64, 32, 2, 40, 2, 8, 33, 4, 12, 2, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 6, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 96, 12, 1, 11, 32, 2, 65, 232, 0, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 100, 32, 2, 32, 2, 40, 2, 8, 54, 2, 96, 11, 32, 2, 65, 200, 0, 106, 32, 4, 65, 1, 32, 2, 65, 224, 0, 106, 16, 13, 32, 2, 65, 208, 0, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 76, 33, 4, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 12, 32, 2, 32, 4, 54, 2, 8, 32, 2, 40, 2, 16, 33, 3, 12, 2, 11, 32, 3, 69, 13, 6, 12, 10, 11, 32, 2, 65, 52, 106, 32, 3, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 72, 55, 2, 44, 32, 2, 65, 1, 54, 2, 40, 32, 2, 65, 40, 106, 65, 4, 114, 12, 3, 11, 32, 3, 32, 4, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 4, 65, 1, 107, 14, 3, 1, 2, 3, 0, 11, 32, 2, 65, 224, 0, 106, 32, 2, 65, 8, 106, 65, 135, 130, 192, 0, 65, 12, 16, 195, 1, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 224, 0, 106, 65, 4, 114, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 1, 54, 2, 72, 32, 2, 32, 1, 41, 2, 0, 55, 2, 76, 12, 4, 11, 32, 2, 65, 200, 0, 106, 32, 2, 40, 2, 100, 32, 2, 65, 232, 0, 106, 45, 0, 0, 16, 185, 1, 12, 3, 11, 32, 2, 65, 224, 0, 106, 32, 2, 65, 8, 106, 65, 248, 129, 192, 0, 65, 15, 16, 195, 1, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 3, 11, 32, 2, 32, 2, 40, 2, 100, 54, 2, 88, 32, 2, 32, 2, 65, 232, 0, 106, 45, 0, 0, 58, 0, 92, 32, 2, 65, 224, 0, 106, 32, 2, 65, 216, 0, 106, 65, 230, 129, 192, 0, 65, 9, 32, 1, 65, 8, 106, 16, 14, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 3, 11, 32, 2, 65, 200, 0, 106, 32, 2, 40, 2, 88, 32, 2, 45, 0, 92, 16, 185, 1, 12, 2, 11, 32, 2, 65, 224, 0, 106, 32, 2, 65, 8, 106, 65, 220, 129, 192, 0, 65, 10, 16, 195, 1, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 2, 11, 32, 2, 32, 2, 40, 2, 100, 54, 2, 88, 32, 2, 32, 2, 65, 232, 0, 106, 45, 0, 0, 58, 0, 92, 32, 2, 65, 224, 0, 106, 32, 2, 65, 216, 0, 106, 65, 230, 129, 192, 0, 65, 9, 32, 1, 65, 8, 106, 16, 14, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 2, 11, 32, 2, 65, 224, 0, 106, 32, 2, 65, 216, 0, 106, 65, 239, 129, 192, 0, 65, 9, 32, 1, 65, 20, 106, 16, 14, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 2, 11, 32, 2, 65, 200, 0, 106, 32, 2, 40, 2, 88, 32, 2, 45, 0, 92, 16, 185, 1, 12, 1, 11, 32, 2, 65, 224, 0, 106, 32, 2, 65, 8, 106, 65, 210, 129, 192, 0, 65, 10, 16, 195, 1, 32, 2, 40, 2, 96, 65, 1, 71, 4, 64, 32, 2, 65, 200, 0, 106, 32, 2, 40, 2, 100, 32, 2, 65, 232, 0, 106, 45, 0, 0, 16, 185, 1, 12, 1, 11, 32, 2, 65, 212, 0, 106, 32, 2, 65, 224, 0, 106, 65, 4, 114, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 65, 1, 54, 2, 72, 32, 2, 32, 1, 41, 2, 0, 55, 2, 76, 11, 32, 2, 65, 64, 107, 34, 1, 32, 2, 65, 212, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 76, 55, 3, 56, 2, 64, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 40, 2, 16, 34, 1, 32, 2, 40, 2, 12, 71, 4, 64, 32, 2, 40, 2, 8, 33, 3, 12, 2, 11, 32, 1, 65, 1, 106, 34, 3, 32, 1, 73, 13, 6, 32, 1, 65, 1, 116, 34, 4, 32, 3, 32, 4, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 1, 69, 4, 64, 32, 2, 65, 0, 54, 2, 96, 12, 1, 11, 32, 2, 65, 232, 0, 106, 65, 1, 54, 2, 0, 32, 2, 32, 1, 54, 2, 100, 32, 2, 32, 2, 40, 2, 8, 54, 2, 96, 11, 32, 2, 65, 200, 0, 106, 32, 3, 65, 1, 32, 2, 65, 224, 0, 106, 16, 13, 32, 2, 65, 208, 0, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 76, 33, 3, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 32, 1, 54, 2, 12, 32, 2, 32, 3, 54, 2, 8, 32, 2, 40, 2, 16, 33, 1, 12, 2, 11, 32, 1, 69, 13, 6, 12, 11, 11, 32, 2, 65, 52, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 56, 55, 2, 44, 32, 2, 65, 1, 54, 2, 40, 32, 2, 65, 40, 106, 65, 4, 114, 12, 3, 11, 12, 5, 11, 32, 3, 32, 4, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 32, 2, 65, 224, 0, 106, 32, 2, 65, 8, 106, 65, 182, 130, 192, 0, 65, 4, 16, 190, 1, 32, 2, 65, 208, 0, 106, 34, 3, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 3, 72, 2, 64, 32, 2, 40, 2, 96, 65, 1, 71, 4, 64, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 71, 4, 64, 32, 2, 40, 2, 8, 33, 4, 12, 2, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 5, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 96, 12, 1, 11, 32, 2, 65, 232, 0, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 100, 32, 2, 32, 2, 40, 2, 8, 54, 2, 96, 11, 32, 2, 65, 200, 0, 106, 32, 4, 65, 1, 32, 2, 65, 224, 0, 106, 16, 13, 32, 2, 65, 208, 0, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 76, 33, 4, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 12, 32, 2, 32, 4, 54, 2, 8, 32, 2, 40, 2, 16, 33, 3, 12, 2, 11, 32, 3, 69, 13, 5, 12, 9, 11, 32, 2, 65, 52, 106, 32, 3, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 72, 55, 2, 44, 32, 2, 65, 1, 54, 2, 40, 32, 2, 65, 40, 106, 65, 4, 114, 12, 2, 11, 32, 3, 32, 4, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 2, 64, 2, 64, 32, 1, 40, 2, 4, 65, 1, 70, 4, 64, 32, 2, 65, 224, 0, 106, 32, 2, 65, 8, 106, 65, 136, 129, 192, 0, 65, 12, 16, 195, 1, 32, 2, 40, 2, 96, 65, 1, 71, 13, 1, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 2, 11, 32, 2, 65, 224, 0, 106, 32, 2, 65, 8, 106, 65, 155, 129, 192, 0, 65, 7, 16, 195, 1, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 2, 11, 32, 2, 32, 2, 40, 2, 100, 54, 2, 88, 32, 2, 32, 2, 65, 232, 0, 106, 45, 0, 0, 58, 0, 92, 32, 2, 65, 224, 0, 106, 32, 2, 65, 216, 0, 106, 65, 148, 129, 192, 0, 65, 7, 32, 1, 65, 8, 106, 16, 14, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 2, 11, 32, 2, 65, 224, 0, 106, 32, 2, 65, 216, 0, 106, 65, 244, 128, 192, 0, 65, 5, 32, 1, 65, 20, 106, 16, 14, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 2, 11, 32, 2, 65, 200, 0, 106, 32, 2, 40, 2, 88, 32, 2, 45, 0, 92, 16, 185, 1, 12, 1, 11, 32, 2, 32, 2, 40, 2, 100, 54, 2, 88, 32, 2, 32, 2, 65, 232, 0, 106, 45, 0, 0, 58, 0, 92, 32, 2, 65, 224, 0, 106, 32, 2, 65, 216, 0, 106, 65, 148, 129, 192, 0, 65, 7, 32, 1, 65, 8, 106, 16, 14, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 1, 11, 32, 2, 65, 200, 0, 106, 32, 2, 40, 2, 88, 32, 2, 45, 0, 92, 16, 185, 1, 11, 32, 2, 65, 64, 107, 34, 1, 32, 2, 65, 212, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 76, 55, 3, 56, 2, 64, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 40, 2, 16, 34, 1, 32, 2, 40, 2, 12, 71, 4, 64, 32, 2, 40, 2, 8, 33, 3, 12, 2, 11, 32, 1, 65, 1, 106, 34, 3, 32, 1, 73, 13, 5, 32, 1, 65, 1, 116, 34, 4, 32, 3, 32, 4, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 1, 69, 4, 64, 32, 2, 65, 0, 54, 2, 96, 12, 1, 11, 32, 2, 65, 232, 0, 106, 65, 1, 54, 2, 0, 32, 2, 32, 1, 54, 2, 100, 32, 2, 32, 2, 40, 2, 8, 54, 2, 96, 11, 32, 2, 65, 200, 0, 106, 32, 3, 65, 1, 32, 2, 65, 224, 0, 106, 16, 13, 32, 2, 65, 208, 0, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 76, 33, 3, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 32, 1, 54, 2, 12, 32, 2, 32, 3, 54, 2, 8, 32, 2, 40, 2, 16, 33, 1, 12, 2, 11, 32, 1, 69, 13, 5, 12, 10, 11, 32, 2, 65, 52, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 56, 55, 2, 44, 32, 2, 65, 1, 54, 2, 40, 32, 2, 65, 40, 106, 65, 4, 114, 12, 2, 11, 12, 4, 11, 32, 3, 32, 4, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 32, 2, 65, 224, 0, 106, 32, 2, 65, 8, 106, 65, 165, 130, 192, 0, 65, 4, 16, 190, 1, 32, 2, 65, 208, 0, 106, 34, 3, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 3, 72, 2, 64, 32, 2, 40, 2, 96, 65, 1, 71, 4, 64, 32, 2, 40, 2, 16, 34, 3, 32, 2, 40, 2, 12, 71, 4, 64, 32, 2, 40, 2, 8, 33, 4, 12, 2, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 4, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 96, 12, 1, 11, 32, 2, 65, 232, 0, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 100, 32, 2, 32, 2, 40, 2, 8, 54, 2, 96, 11, 32, 2, 65, 200, 0, 106, 32, 4, 65, 1, 32, 2, 65, 224, 0, 106, 16, 13, 32, 2, 65, 208, 0, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 76, 33, 4, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 32, 3, 54, 2, 12, 32, 2, 32, 4, 54, 2, 8, 32, 2, 40, 2, 16, 33, 3, 12, 2, 11, 32, 3, 69, 13, 4, 12, 8, 11, 32, 2, 65, 52, 106, 32, 3, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 72, 55, 2, 44, 32, 2, 65, 1, 54, 2, 40, 32, 2, 65, 40, 106, 65, 4, 114, 12, 1, 11, 32, 3, 32, 4, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 32, 1, 65, 20, 106, 33, 3, 2, 64, 2, 64, 32, 1, 40, 2, 4, 65, 1, 70, 4, 64, 32, 2, 65, 224, 0, 106, 32, 2, 65, 8, 106, 65, 171, 129, 192, 0, 65, 3, 16, 195, 1, 32, 2, 40, 2, 96, 65, 1, 71, 13, 1, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 2, 11, 32, 2, 65, 224, 0, 106, 32, 2, 65, 8, 106, 65, 190, 129, 192, 0, 65, 5, 16, 195, 1, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 2, 11, 32, 2, 32, 2, 40, 2, 100, 54, 2, 88, 32, 2, 32, 2, 65, 232, 0, 106, 45, 0, 0, 58, 0, 92, 32, 2, 65, 224, 0, 106, 32, 2, 65, 216, 0, 106, 65, 174, 129, 192, 0, 65, 13, 32, 1, 65, 8, 106, 16, 14, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 2, 11, 32, 2, 65, 224, 0, 106, 32, 2, 65, 216, 0, 106, 65, 195, 129, 192, 0, 32, 3, 16, 12, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 2, 11, 32, 2, 65, 200, 0, 106, 32, 2, 40, 2, 88, 32, 2, 45, 0, 92, 16, 185, 1, 12, 1, 11, 32, 2, 32, 2, 40, 2, 100, 54, 2, 88, 32, 2, 32, 2, 65, 232, 0, 106, 45, 0, 0, 58, 0, 92, 32, 2, 65, 224, 0, 106, 32, 2, 65, 216, 0, 106, 65, 174, 129, 192, 0, 65, 13, 32, 1, 65, 8, 106, 16, 14, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 1, 11, 32, 2, 65, 224, 0, 106, 32, 2, 65, 216, 0, 106, 65, 187, 129, 192, 0, 32, 3, 16, 12, 32, 2, 40, 2, 96, 65, 1, 70, 4, 64, 32, 2, 65, 212, 0, 106, 32, 2, 65, 236, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 100, 55, 2, 76, 32, 2, 65, 1, 54, 2, 72, 12, 1, 11, 32, 2, 65, 200, 0, 106, 32, 2, 40, 2, 88, 32, 2, 45, 0, 92, 16, 185, 1, 11, 32, 2, 65, 64, 107, 34, 1, 32, 2, 65, 212, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 76, 55, 3, 56, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 40, 2, 16, 34, 1, 32, 2, 40, 2, 12, 71, 4, 64, 32, 2, 40, 2, 8, 33, 3, 12, 5, 11, 32, 1, 65, 1, 106, 34, 3, 32, 1, 73, 13, 3, 32, 1, 65, 1, 116, 34, 4, 32, 3, 32, 4, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 1, 69, 4, 64, 32, 2, 65, 0, 54, 2, 96, 12, 1, 11, 32, 2, 65, 232, 0, 106, 65, 1, 54, 2, 0, 32, 2, 32, 1, 54, 2, 100, 32, 2, 32, 2, 40, 2, 8, 54, 2, 96, 11, 32, 2, 65, 200, 0, 106, 32, 3, 65, 1, 32, 2, 65, 224, 0, 106, 16, 13, 32, 2, 65, 208, 0, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 76, 33, 3, 32, 2, 40, 2, 72, 65, 1, 71, 4, 64, 32, 2, 32, 1, 54, 2, 12, 32, 2, 32, 3, 54, 2, 8, 32, 2, 40, 2, 16, 33, 1, 12, 5, 11, 32, 1, 69, 13, 3, 12, 8, 11, 32, 2, 65, 52, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 56, 55, 2, 44, 32, 2, 65, 1, 54, 2, 40, 32, 2, 65, 40, 106, 65, 4, 114, 11, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 24, 11, 32, 2, 65, 48, 106, 34, 1, 32, 2, 65, 32, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 24, 55, 3, 40, 2, 64, 32, 2, 40, 2, 8, 34, 3, 69, 13, 0, 32, 2, 40, 2, 12, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 2, 65, 208, 0, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 40, 55, 3, 72, 32, 2, 65, 224, 0, 106, 65, 232, 138, 192, 0, 65, 198, 0, 32, 2, 65, 200, 0, 106, 16, 33, 32, 0, 65, 32, 106, 32, 2, 65, 248, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 24, 106, 32, 2, 65, 240, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 16, 106, 32, 2, 65, 232, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 96, 55, 3, 0, 65, 1, 12, 3, 11, 16, 139, 2, 0, 11, 32, 1, 32, 3, 106, 65, 253, 0, 58, 0, 0, 32, 2, 65, 0, 54, 2, 40, 32, 2, 32, 2, 40, 2, 16, 65, 1, 106, 54, 2, 16, 32, 2, 65, 32, 106, 32, 2, 65, 52, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 44, 55, 3, 24, 11, 32, 2, 65, 48, 106, 32, 2, 65, 16, 106, 40, 2, 0, 34, 1, 54, 2, 0, 32, 2, 32, 2, 41, 3, 8, 34, 6, 55, 3, 40, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 32, 6, 55, 2, 4, 65, 0, 11, 54, 2, 0, 32, 2, 65, 128, 1, 106, 36, 0, 15, 11, 32, 4, 32, 3, 16, 138, 2, 0, 11, 32, 3, 32, 1, 16, 138, 2, 0, 11, 171, 7, 1, 4, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 8, 34, 3, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 40, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 4, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 65, 24, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 20, 33, 4, 32, 2, 40, 2, 16, 65, 1, 71, 4, 64, 32, 1, 32, 4, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 40, 2, 8, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 4, 11, 32, 3, 32, 4, 106, 65, 251, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 2, 65, 32, 106, 32, 1, 65, 176, 130, 192, 0, 65, 6, 16, 190, 1, 32, 2, 65, 24, 106, 34, 3, 32, 2, 65, 44, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 16, 2, 64, 32, 2, 40, 2, 32, 65, 1, 71, 4, 64, 32, 1, 40, 2, 8, 34, 3, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 4, 12, 2, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 2, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 40, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 4, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 65, 24, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 20, 33, 4, 32, 2, 40, 2, 16, 65, 1, 71, 4, 64, 32, 1, 32, 4, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 40, 2, 8, 33, 3, 12, 2, 11, 32, 3, 69, 13, 2, 12, 5, 11, 32, 0, 32, 2, 41, 3, 16, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 40, 2, 0, 54, 2, 0, 12, 3, 11, 32, 3, 32, 4, 106, 65, 58, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 2, 65, 32, 106, 32, 1, 16, 194, 1, 2, 64, 2, 64, 32, 2, 40, 2, 32, 65, 1, 70, 4, 64, 32, 2, 65, 8, 106, 32, 2, 65, 32, 106, 65, 4, 114, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 0, 12, 1, 11, 32, 2, 65, 16, 106, 32, 2, 40, 2, 36, 32, 2, 65, 40, 106, 45, 0, 0, 16, 184, 1, 32, 2, 65, 8, 106, 32, 2, 65, 28, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 20, 55, 3, 0, 32, 2, 40, 2, 16, 65, 1, 71, 13, 1, 11, 32, 0, 32, 2, 41, 3, 0, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 8, 106, 40, 2, 0, 54, 2, 0, 12, 3, 11, 32, 1, 40, 2, 8, 34, 3, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 4, 12, 2, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 0, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 40, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 4, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 65, 24, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 20, 33, 4, 32, 2, 40, 2, 16, 65, 1, 71, 4, 64, 32, 1, 32, 4, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 40, 2, 8, 33, 3, 12, 2, 11, 32, 3, 69, 13, 0, 12, 3, 11, 16, 139, 2, 0, 11, 32, 3, 32, 4, 106, 65, 253, 0, 58, 0, 0, 32, 0, 65, 0, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 2, 65, 48, 106, 36, 0, 15, 11, 32, 4, 32, 3, 16, 138, 2, 0, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 186, 1, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 172, 1, 11, 231, 19, 2, 14, 127, 2, 126, 35, 0, 65, 224, 1, 107, 34, 3, 36, 0, 32, 3, 65, 232, 0, 106, 32, 2, 16, 37, 2, 64, 2, 64, 32, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 104, 65, 1, 71, 4, 64, 32, 3, 65, 240, 0, 106, 34, 2, 40, 2, 0, 33, 15, 32, 3, 65, 244, 0, 106, 40, 2, 0, 33, 4, 32, 3, 40, 2, 108, 33, 12, 32, 3, 65, 64, 107, 32, 1, 16, 144, 1, 32, 3, 65, 160, 1, 106, 32, 3, 40, 2, 64, 32, 12, 32, 4, 32, 3, 40, 2, 68, 40, 2, 12, 17, 6, 0, 32, 3, 40, 2, 160, 1, 65, 1, 70, 13, 2, 32, 3, 40, 2, 164, 1, 65, 1, 70, 13, 1, 32, 3, 65, 208, 0, 106, 32, 3, 65, 176, 1, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 65, 168, 1, 106, 41, 3, 0, 55, 3, 72, 32, 3, 65, 56, 106, 32, 3, 65, 200, 0, 106, 16, 138, 1, 32, 3, 65, 216, 0, 106, 32, 3, 40, 2, 56, 32, 3, 40, 2, 60, 16, 174, 1, 32, 3, 65, 48, 106, 32, 3, 65, 216, 0, 106, 16, 181, 1, 32, 3, 45, 0, 48, 65, 1, 113, 69, 4, 64, 65, 4, 33, 4, 12, 6, 11, 32, 3, 45, 0, 49, 65, 251, 0, 71, 4, 64, 65, 14, 33, 4, 12, 6, 11, 32, 3, 65, 216, 0, 106, 16, 175, 1, 32, 3, 65, 40, 106, 32, 3, 65, 216, 0, 106, 16, 173, 1, 32, 3, 40, 2, 40, 33, 5, 32, 3, 32, 3, 45, 0, 44, 65, 1, 113, 34, 2, 58, 0, 220, 1, 32, 3, 32, 5, 54, 2, 216, 1, 32, 3, 65, 32, 106, 32, 5, 16, 181, 1, 65, 2, 33, 4, 32, 3, 45, 0, 32, 65, 1, 113, 69, 13, 5, 32, 3, 45, 0, 33, 33, 1, 32, 3, 65, 192, 1, 106, 65, 4, 114, 33, 13, 32, 3, 65, 232, 0, 106, 65, 4, 114, 33, 14, 32, 2, 33, 7, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 255, 1, 113, 34, 16, 65, 44, 71, 4, 64, 32, 16, 65, 253, 0, 70, 13, 3, 32, 2, 13, 1, 65, 9, 33, 4, 32, 6, 13, 12, 12, 13, 11, 32, 7, 65, 255, 1, 113, 69, 13, 1, 11, 65, 0, 33, 2, 32, 3, 65, 0, 58, 0, 220, 1, 12, 2, 11, 32, 5, 16, 175, 1, 32, 3, 65, 24, 106, 32, 5, 16, 181, 1, 32, 3, 45, 0, 24, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 25, 33, 1, 12, 1, 11, 2, 64, 32, 6, 4, 64, 32, 3, 65, 232, 0, 106, 32, 3, 65, 216, 0, 106, 16, 178, 1, 32, 3, 65, 244, 0, 106, 33, 1, 32, 3, 65, 240, 0, 106, 33, 2, 32, 3, 40, 2, 104, 34, 4, 65, 21, 70, 13, 1, 32, 1, 40, 2, 0, 33, 9, 32, 2, 40, 2, 0, 33, 7, 32, 3, 40, 2, 108, 33, 8, 32, 10, 4, 64, 32, 10, 65, 5, 116, 33, 1, 32, 6, 65, 20, 106, 33, 2, 3, 64, 2, 64, 32, 2, 65, 124, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 2, 40, 2, 0, 69, 13, 0, 32, 5, 16, 226, 1, 11, 32, 2, 65, 32, 106, 33, 2, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 11, 69, 32, 11, 65, 5, 116, 69, 114, 13, 11, 32, 6, 16, 226, 1, 12, 11, 11, 32, 3, 65, 232, 0, 106, 65, 249, 128, 192, 0, 65, 6, 16, 23, 32, 3, 65, 244, 0, 106, 40, 2, 0, 33, 9, 32, 3, 65, 240, 0, 106, 40, 2, 0, 33, 7, 32, 3, 40, 2, 108, 33, 8, 32, 3, 40, 2, 104, 33, 4, 12, 10, 11, 32, 3, 65, 232, 0, 106, 32, 3, 65, 216, 0, 106, 16, 176, 1, 32, 3, 40, 2, 104, 34, 4, 65, 21, 71, 4, 64, 32, 1, 40, 2, 0, 33, 9, 32, 2, 40, 2, 0, 33, 7, 32, 3, 40, 2, 108, 33, 8, 32, 10, 4, 64, 32, 10, 65, 5, 116, 33, 1, 32, 6, 65, 20, 106, 33, 2, 3, 64, 2, 64, 32, 2, 65, 124, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 2, 40, 2, 0, 69, 13, 0, 32, 5, 16, 226, 1, 11, 32, 2, 65, 32, 106, 33, 2, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 11, 69, 32, 11, 65, 5, 116, 69, 114, 13, 10, 32, 6, 16, 226, 1, 12, 10, 11, 32, 0, 32, 6, 54, 2, 4, 32, 0, 65, 12, 106, 32, 10, 54, 2, 0, 32, 0, 65, 8, 106, 32, 11, 54, 2, 0, 65, 0, 12, 10, 11, 32, 1, 65, 255, 1, 113, 34, 1, 65, 34, 71, 4, 64, 65, 16, 33, 4, 32, 1, 65, 253, 0, 71, 13, 7, 65, 19, 33, 4, 12, 7, 11, 32, 3, 65, 16, 106, 32, 5, 16, 181, 1, 32, 3, 45, 0, 16, 65, 1, 113, 13, 1, 11, 65, 4, 33, 4, 32, 6, 13, 6, 12, 7, 11, 32, 3, 45, 0, 17, 65, 34, 71, 4, 64, 65, 14, 33, 4, 32, 6, 13, 6, 12, 7, 11, 32, 5, 16, 175, 1, 32, 3, 65, 232, 0, 106, 32, 5, 16, 180, 1, 32, 3, 40, 2, 120, 33, 9, 32, 3, 40, 2, 116, 33, 7, 32, 3, 40, 2, 112, 33, 8, 32, 3, 40, 2, 108, 33, 1, 32, 3, 40, 2, 104, 65, 1, 70, 4, 64, 32, 1, 33, 4, 32, 6, 13, 6, 12, 7, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 4, 64, 32, 9, 65, 6, 71, 4, 127, 65, 1, 5, 32, 8, 65, 249, 128, 192, 0, 65, 6, 16, 214, 2, 65, 0, 71, 11, 33, 1, 32, 7, 69, 32, 8, 69, 114, 13, 1, 32, 8, 16, 226, 1, 12, 1, 11, 32, 7, 65, 6, 71, 13, 1, 32, 8, 65, 249, 128, 192, 0, 65, 6, 16, 214, 2, 65, 0, 71, 33, 1, 11, 32, 1, 69, 13, 1, 11, 32, 3, 65, 232, 0, 106, 32, 5, 16, 179, 1, 32, 3, 65, 152, 1, 106, 32, 14, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 14, 41, 2, 0, 55, 3, 144, 1, 32, 3, 40, 2, 104, 34, 1, 65, 21, 70, 13, 1, 32, 13, 32, 3, 41, 3, 144, 1, 55, 2, 0, 32, 13, 65, 8, 106, 32, 3, 65, 152, 1, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 1, 54, 2, 192, 1, 12, 2, 11, 32, 6, 4, 64, 32, 3, 65, 232, 0, 106, 65, 249, 128, 192, 0, 65, 6, 16, 24, 32, 3, 65, 244, 0, 106, 40, 2, 0, 33, 9, 32, 3, 65, 240, 0, 106, 40, 2, 0, 33, 7, 32, 3, 40, 2, 108, 33, 8, 32, 3, 40, 2, 104, 33, 4, 12, 9, 11, 32, 3, 65, 232, 0, 106, 32, 3, 65, 216, 1, 106, 16, 31, 32, 3, 40, 2, 104, 65, 1, 70, 4, 64, 32, 3, 65, 248, 0, 106, 40, 2, 0, 33, 9, 32, 3, 40, 2, 116, 33, 7, 32, 3, 40, 2, 112, 33, 8, 32, 3, 40, 2, 108, 33, 4, 12, 10, 11, 32, 3, 40, 2, 116, 33, 10, 32, 3, 40, 2, 112, 33, 11, 32, 3, 40, 2, 108, 33, 6, 12, 2, 11, 32, 3, 65, 192, 1, 106, 32, 5, 16, 26, 32, 3, 40, 2, 192, 1, 34, 1, 65, 21, 70, 13, 1, 11, 32, 3, 65, 204, 1, 106, 40, 2, 0, 33, 9, 32, 3, 65, 200, 1, 106, 40, 2, 0, 33, 7, 32, 3, 40, 2, 196, 1, 33, 8, 32, 6, 69, 4, 64, 32, 1, 33, 4, 12, 8, 11, 32, 1, 33, 4, 12, 6, 11, 32, 3, 65, 8, 106, 32, 5, 16, 181, 1, 65, 0, 33, 7, 32, 3, 45, 0, 9, 33, 1, 32, 3, 45, 0, 8, 65, 1, 113, 13, 0, 11, 12, 3, 11, 32, 3, 65, 184, 1, 106, 32, 3, 65, 136, 1, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 176, 1, 106, 32, 3, 65, 128, 1, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 168, 1, 106, 32, 3, 65, 248, 0, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 65, 240, 0, 106, 41, 3, 0, 55, 3, 160, 1, 32, 3, 65, 212, 1, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 196, 1, 32, 3, 65, 200, 131, 192, 0, 54, 2, 192, 1, 32, 3, 65, 6, 54, 2, 220, 1, 32, 3, 32, 3, 65, 216, 1, 106, 54, 2, 208, 1, 32, 3, 32, 3, 65, 160, 1, 106, 54, 2, 216, 1, 32, 3, 65, 144, 1, 106, 32, 3, 65, 192, 1, 106, 16, 140, 2, 32, 3, 65, 160, 1, 106, 16, 42, 32, 3, 65, 208, 0, 106, 32, 3, 65, 224, 0, 106, 41, 3, 0, 34, 17, 55, 3, 0, 32, 3, 32, 3, 41, 3, 88, 34, 18, 55, 3, 72, 32, 3, 40, 2, 144, 1, 33, 1, 32, 0, 65, 16, 106, 32, 3, 41, 2, 148, 1, 55, 2, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 24, 106, 32, 18, 55, 2, 0, 32, 0, 65, 32, 106, 32, 17, 55, 2, 0, 32, 0, 65, 1, 54, 2, 0, 12, 7, 11, 32, 3, 65, 224, 0, 106, 32, 3, 65, 176, 1, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 65, 168, 1, 106, 41, 3, 0, 55, 3, 88, 32, 3, 65, 252, 0, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 108, 32, 3, 65, 164, 131, 192, 0, 54, 2, 104, 32, 3, 65, 7, 54, 2, 76, 32, 3, 32, 3, 65, 200, 0, 106, 54, 2, 120, 32, 3, 32, 3, 65, 216, 0, 106, 54, 2, 72, 32, 3, 65, 192, 1, 106, 32, 3, 65, 232, 0, 106, 16, 140, 2, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 41, 3, 192, 1, 55, 2, 0, 32, 0, 65, 20, 106, 32, 3, 65, 200, 1, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 32, 3, 40, 2, 88, 34, 0, 69, 13, 5, 32, 3, 40, 2, 92, 69, 13, 5, 32, 0, 16, 226, 1, 12, 5, 11, 32, 3, 65, 128, 1, 106, 32, 3, 65, 188, 1, 106, 40, 2, 0, 54, 2, 0, 32, 3, 65, 248, 0, 106, 32, 3, 65, 180, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 3, 65, 172, 1, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 164, 1, 55, 3, 104, 32, 3, 65, 212, 1, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 196, 1, 32, 3, 65, 132, 131, 192, 0, 54, 2, 192, 1, 32, 3, 65, 8, 54, 2, 76, 32, 3, 32, 3, 65, 200, 0, 106, 54, 2, 208, 1, 32, 3, 32, 3, 65, 232, 0, 106, 54, 2, 72, 32, 3, 65, 216, 0, 106, 32, 3, 65, 192, 1, 106, 16, 140, 2, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 41, 3, 88, 55, 2, 0, 32, 0, 65, 20, 106, 32, 3, 65, 224, 0, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 104, 14, 4, 0, 1, 2, 8, 3, 11, 2, 64, 32, 3, 40, 2, 108, 34, 0, 69, 13, 0, 32, 3, 65, 240, 0, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 3, 65, 248, 0, 106, 40, 2, 0, 34, 0, 69, 13, 7, 32, 3, 65, 252, 0, 106, 40, 2, 0, 69, 13, 7, 32, 0, 16, 226, 1, 12, 7, 11, 2, 64, 32, 3, 40, 2, 108, 34, 0, 69, 13, 0, 32, 3, 65, 240, 0, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 3, 65, 248, 0, 106, 40, 2, 0, 34, 0, 69, 13, 6, 32, 3, 65, 252, 0, 106, 40, 2, 0, 69, 13, 6, 32, 0, 16, 226, 1, 12, 6, 11, 32, 3, 40, 2, 108, 34, 0, 69, 13, 5, 32, 3, 65, 240, 0, 106, 40, 2, 0, 69, 13, 5, 32, 0, 16, 226, 1, 12, 5, 11, 32, 3, 40, 2, 108, 34, 0, 69, 13, 4, 32, 3, 65, 240, 0, 106, 40, 2, 0, 69, 13, 4, 32, 0, 16, 226, 1, 12, 4, 11, 32, 6, 69, 13, 1, 11, 32, 10, 4, 64, 32, 10, 65, 5, 116, 33, 1, 32, 6, 65, 20, 106, 33, 2, 3, 64, 2, 64, 32, 2, 65, 124, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 2, 40, 2, 0, 69, 13, 0, 32, 5, 16, 226, 1, 11, 32, 2, 65, 32, 106, 33, 2, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 11, 65, 5, 116, 69, 32, 11, 69, 32, 6, 69, 114, 114, 13, 0, 32, 6, 16, 226, 1, 11, 32, 3, 65, 204, 1, 106, 32, 9, 54, 2, 0, 32, 3, 65, 200, 1, 106, 32, 7, 54, 2, 0, 32, 3, 32, 8, 54, 2, 196, 1, 32, 3, 32, 4, 54, 2, 192, 1, 32, 3, 65, 232, 0, 106, 65, 134, 138, 192, 0, 65, 39, 32, 3, 65, 192, 1, 106, 16, 27, 32, 0, 65, 32, 106, 32, 3, 65, 128, 1, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 24, 106, 32, 3, 65, 248, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 16, 106, 32, 3, 65, 240, 0, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 8, 106, 32, 3, 41, 3, 104, 55, 3, 0, 65, 1, 11, 54, 2, 0, 32, 3, 40, 2, 72, 34, 0, 69, 13, 0, 32, 3, 40, 2, 76, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 15, 69, 13, 0, 32, 12, 16, 226, 1, 11, 32, 3, 65, 224, 1, 106, 36, 0, 11, 218, 2, 1, 1, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 14, 10, 8, 8, 0, 1, 8, 2, 3, 4, 5, 6, 7, 11, 32, 0, 40, 2, 4, 34, 1, 69, 13, 7, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 7, 12, 8, 11, 32, 0, 40, 2, 4, 34, 1, 69, 13, 6, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 6, 12, 7, 11, 32, 0, 40, 2, 4, 34, 1, 69, 13, 5, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 5, 12, 6, 11, 32, 0, 40, 2, 4, 34, 1, 69, 13, 4, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 4, 12, 5, 11, 2, 64, 32, 0, 40, 2, 4, 34, 1, 69, 13, 0, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 16, 106, 40, 2, 0, 34, 1, 69, 13, 3, 32, 0, 65, 20, 106, 40, 2, 0, 69, 13, 3, 12, 4, 11, 2, 64, 32, 0, 40, 2, 4, 34, 1, 69, 13, 0, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 16, 106, 40, 2, 0, 34, 1, 69, 13, 2, 32, 0, 65, 20, 106, 40, 2, 0, 69, 13, 2, 12, 3, 11, 2, 64, 32, 0, 40, 2, 4, 34, 1, 69, 13, 0, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 16, 106, 40, 2, 0, 34, 1, 69, 13, 1, 32, 0, 65, 20, 106, 40, 2, 0, 69, 13, 1, 32, 1, 16, 226, 1, 12, 1, 11, 32, 0, 40, 2, 4, 34, 1, 69, 13, 0, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 15, 11, 32, 1, 16, 226, 1, 11, 17, 0, 32, 0, 40, 2, 0, 32, 0, 40, 2, 8, 32, 1, 16, 192, 2, 11, 230, 3, 2, 3, 127, 1, 126, 35, 0, 65, 224, 0, 107, 34, 2, 36, 0, 32, 2, 65, 56, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 64, 107, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 200, 0, 106, 32, 1, 65, 24, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 48, 2, 64, 32, 0, 65, 20, 106, 40, 2, 0, 34, 1, 32, 0, 65, 16, 106, 40, 2, 0, 71, 4, 64, 32, 0, 40, 2, 12, 33, 3, 12, 1, 11, 2, 64, 32, 1, 65, 1, 106, 34, 3, 32, 1, 73, 13, 0, 32, 1, 65, 1, 116, 34, 4, 32, 3, 32, 4, 32, 3, 75, 27, 34, 3, 65, 4, 32, 3, 65, 4, 75, 27, 173, 66, 200, 0, 126, 34, 5, 66, 32, 136, 167, 69, 65, 3, 116, 33, 3, 32, 5, 167, 33, 4, 2, 64, 32, 1, 69, 4, 64, 32, 2, 65, 0, 54, 2, 8, 12, 1, 11, 32, 2, 65, 16, 106, 65, 8, 54, 2, 0, 32, 2, 32, 1, 65, 200, 0, 108, 54, 2, 12, 32, 2, 32, 0, 40, 2, 12, 54, 2, 8, 11, 32, 2, 65, 208, 0, 106, 32, 4, 32, 3, 32, 2, 65, 8, 106, 16, 13, 32, 2, 65, 216, 0, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 84, 33, 3, 32, 2, 40, 2, 80, 65, 1, 71, 4, 64, 32, 0, 32, 3, 54, 2, 12, 32, 0, 65, 16, 106, 32, 1, 65, 200, 0, 110, 54, 2, 0, 32, 0, 40, 2, 20, 33, 1, 12, 2, 11, 32, 1, 69, 13, 0, 32, 3, 32, 1, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 1, 65, 200, 0, 108, 106, 34, 1, 65, 0, 54, 2, 0, 32, 1, 65, 28, 106, 32, 2, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 1, 65, 20, 106, 32, 2, 65, 64, 107, 41, 3, 0, 55, 2, 0, 32, 1, 65, 12, 106, 32, 2, 65, 56, 106, 41, 3, 0, 55, 2, 0, 32, 1, 32, 2, 41, 3, 48, 55, 2, 4, 32, 1, 65, 32, 106, 32, 2, 41, 3, 8, 55, 3, 0, 32, 1, 65, 40, 106, 32, 2, 65, 16, 106, 41, 3, 0, 55, 3, 0, 32, 1, 65, 48, 106, 32, 2, 65, 24, 106, 41, 3, 0, 55, 3, 0, 32, 1, 65, 56, 106, 32, 2, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 1, 65, 64, 107, 32, 2, 65, 40, 106, 41, 3, 0, 55, 3, 0, 32, 0, 32, 0, 40, 2, 20, 65, 1, 106, 54, 2, 20, 32, 2, 65, 224, 0, 106, 36, 0, 11, 13, 0, 66, 244, 249, 158, 230, 238, 163, 170, 249, 254, 0, 11, 44, 1, 1, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 1, 65, 8, 106, 32, 0, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 1, 32, 0, 41, 2, 0, 55, 3, 0, 32, 1, 16, 47, 0, 11, 44, 1, 1, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 1, 32, 0, 41, 2, 0, 55, 3, 8, 32, 1, 65, 8, 106, 65, 192, 134, 192, 0, 65, 0, 32, 0, 40, 2, 8, 16, 233, 1, 0, 11, 45, 1, 1, 127, 35, 0, 65, 16, 107, 34, 0, 36, 0, 32, 0, 65, 252, 144, 192, 0, 54, 2, 8, 32, 0, 65, 31, 54, 2, 4, 32, 0, 65, 218, 144, 192, 0, 54, 2, 0, 32, 0, 16, 46, 0, 11, 159, 1, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 32, 0, 40, 2, 0, 34, 0, 40, 2, 0, 65, 11, 70, 4, 64, 32, 2, 65, 44, 106, 65, 0, 54, 2, 0, 32, 2, 65, 212, 134, 192, 0, 54, 2, 40, 32, 2, 66, 1, 55, 2, 28, 32, 2, 65, 192, 146, 192, 0, 54, 2, 24, 32, 1, 32, 2, 65, 24, 106, 16, 183, 2, 12, 1, 11, 32, 2, 65, 44, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 28, 32, 2, 65, 212, 134, 192, 0, 54, 2, 24, 32, 2, 65, 9, 54, 2, 12, 32, 2, 32, 0, 54, 2, 20, 32, 2, 32, 2, 65, 8, 106, 54, 2, 40, 32, 2, 32, 2, 65, 20, 106, 54, 2, 8, 32, 1, 32, 2, 65, 24, 106, 16, 183, 2, 11, 32, 2, 65, 48, 106, 36, 0, 11, 11, 0, 32, 0, 40, 2, 0, 32, 1, 16, 117, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 199, 2, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 181, 2, 11, 17, 0, 32, 0, 40, 2, 0, 32, 0, 40, 2, 4, 32, 1, 16, 192, 2, 11, 157, 3, 1, 3, 127, 2, 64, 32, 0, 40, 2, 0, 69, 4, 64, 32, 0, 40, 2, 4, 33, 1, 32, 0, 65, 12, 106, 40, 2, 0, 34, 2, 4, 64, 32, 2, 65, 232, 0, 108, 33, 2, 32, 1, 65, 8, 106, 33, 1, 3, 64, 32, 1, 16, 55, 32, 1, 65, 232, 0, 106, 33, 1, 32, 2, 65, 152, 127, 106, 34, 2, 13, 0, 11, 32, 0, 40, 2, 4, 33, 1, 11, 32, 0, 65, 8, 106, 40, 2, 0, 34, 2, 69, 32, 1, 69, 114, 32, 2, 65, 232, 0, 108, 69, 114, 69, 4, 64, 32, 1, 16, 226, 1, 11, 32, 0, 65, 16, 106, 40, 2, 0, 33, 1, 32, 0, 65, 24, 106, 40, 2, 0, 34, 2, 4, 64, 32, 2, 65, 200, 0, 108, 33, 2, 3, 64, 32, 1, 16, 55, 32, 1, 65, 200, 0, 106, 33, 1, 32, 2, 65, 184, 127, 106, 34, 2, 13, 0, 11, 32, 0, 40, 2, 16, 33, 1, 11, 32, 0, 65, 20, 106, 40, 2, 0, 34, 2, 69, 32, 1, 69, 114, 32, 2, 65, 200, 0, 108, 69, 114, 69, 4, 64, 32, 1, 16, 226, 1, 11, 32, 0, 65, 28, 106, 40, 2, 0, 33, 1, 32, 0, 65, 36, 106, 40, 2, 0, 34, 2, 4, 64, 32, 1, 32, 2, 65, 24, 108, 106, 33, 2, 3, 64, 2, 64, 32, 1, 40, 2, 0, 34, 3, 69, 13, 0, 32, 1, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 3, 16, 226, 1, 11, 2, 64, 32, 1, 65, 12, 106, 40, 2, 0, 34, 3, 69, 13, 0, 32, 1, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 1, 65, 24, 106, 34, 1, 32, 2, 71, 13, 0, 11, 32, 0, 40, 2, 28, 33, 1, 11, 32, 0, 65, 32, 106, 40, 2, 0, 34, 2, 69, 32, 1, 69, 114, 32, 2, 65, 24, 108, 69, 114, 69, 4, 64, 32, 1, 16, 226, 1, 11, 32, 0, 65, 40, 106, 40, 2, 0, 34, 1, 69, 13, 1, 32, 0, 65, 44, 106, 40, 2, 0, 69, 13, 1, 32, 1, 16, 226, 1, 15, 11, 32, 0, 40, 2, 4, 34, 1, 69, 13, 0, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 11, 161, 8, 1, 3, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 14, 3, 0, 3, 1, 2, 11, 32, 0, 40, 2, 4, 69, 4, 64, 2, 64, 32, 0, 40, 2, 8, 34, 1, 69, 13, 0, 32, 0, 65, 12, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 20, 106, 40, 2, 0, 33, 1, 32, 0, 65, 28, 106, 40, 2, 0, 34, 2, 4, 64, 32, 2, 65, 5, 116, 33, 2, 32, 1, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 3, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 32, 0, 40, 2, 20, 33, 1, 11, 32, 0, 65, 24, 106, 40, 2, 0, 34, 0, 69, 32, 1, 69, 114, 32, 0, 65, 5, 116, 69, 114, 13, 3, 12, 4, 11, 32, 0, 40, 2, 8, 33, 1, 32, 0, 65, 16, 106, 40, 2, 0, 34, 2, 4, 64, 32, 2, 65, 5, 116, 33, 2, 32, 1, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 3, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 32, 0, 40, 2, 8, 33, 1, 11, 32, 0, 65, 12, 106, 40, 2, 0, 34, 0, 69, 32, 1, 69, 114, 32, 0, 65, 5, 116, 69, 114, 13, 2, 12, 3, 11, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 8, 106, 40, 2, 0, 14, 3, 0, 1, 2, 3, 11, 2, 64, 32, 0, 65, 12, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 40, 106, 40, 2, 0, 34, 1, 69, 13, 4, 32, 0, 65, 44, 106, 40, 2, 0, 69, 13, 4, 12, 6, 11, 2, 64, 32, 0, 65, 12, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 40, 106, 40, 2, 0, 34, 1, 69, 13, 3, 32, 0, 65, 44, 106, 40, 2, 0, 69, 13, 3, 12, 5, 11, 2, 64, 32, 0, 65, 12, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 24, 106, 40, 2, 0, 34, 1, 69, 13, 2, 32, 0, 65, 28, 106, 40, 2, 0, 69, 13, 2, 32, 1, 16, 226, 1, 12, 2, 11, 2, 64, 32, 0, 65, 12, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 2, 64, 32, 0, 65, 24, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 56, 106, 40, 2, 0, 34, 1, 69, 13, 1, 32, 0, 65, 60, 106, 40, 2, 0, 69, 13, 1, 12, 3, 11, 2, 64, 2, 64, 2, 64, 32, 0, 65, 8, 106, 40, 2, 0, 14, 2, 0, 1, 2, 11, 2, 64, 32, 0, 65, 12, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 2, 64, 32, 0, 65, 24, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 36, 106, 40, 2, 0, 33, 1, 32, 0, 65, 44, 106, 40, 2, 0, 34, 2, 4, 64, 32, 2, 65, 5, 116, 33, 2, 32, 1, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 3, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 32, 0, 40, 2, 36, 33, 1, 11, 32, 0, 65, 40, 106, 40, 2, 0, 34, 0, 69, 32, 1, 69, 114, 32, 0, 65, 5, 116, 69, 114, 13, 2, 12, 3, 11, 2, 64, 32, 0, 65, 12, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 24, 106, 40, 2, 0, 33, 1, 32, 0, 65, 32, 106, 40, 2, 0, 34, 2, 4, 64, 32, 2, 65, 5, 116, 33, 2, 32, 1, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 3, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 2, 65, 96, 106, 34, 2, 13, 0, 11, 32, 0, 40, 2, 24, 33, 1, 11, 32, 0, 65, 28, 106, 40, 2, 0, 34, 2, 69, 32, 1, 69, 114, 32, 2, 65, 5, 116, 69, 114, 69, 4, 64, 32, 1, 16, 226, 1, 11, 32, 0, 65, 36, 106, 40, 2, 0, 34, 1, 69, 13, 1, 32, 0, 65, 40, 106, 40, 2, 0, 69, 13, 1, 12, 3, 11, 2, 64, 32, 0, 65, 12, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 24, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 15, 11, 32, 1, 16, 226, 1, 15, 11, 32, 1, 16, 226, 1, 11, 3, 0, 1, 11, 33, 1, 1, 127, 2, 64, 32, 0, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 11, 141, 2, 1, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 14, 3, 0, 3, 1, 2, 11, 32, 0, 40, 2, 4, 2, 64, 32, 0, 65, 8, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 0, 65, 12, 106, 40, 2, 0, 69, 13, 0, 32, 2, 16, 226, 1, 11, 13, 2, 32, 0, 65, 20, 106, 40, 2, 0, 34, 1, 69, 13, 2, 32, 0, 65, 24, 106, 40, 2, 0, 69, 13, 2, 32, 1, 16, 226, 1, 15, 11, 2, 64, 2, 64, 32, 0, 40, 2, 4, 65, 127, 106, 14, 2, 0, 1, 3, 11, 32, 0, 65, 8, 106, 40, 2, 0, 34, 1, 69, 13, 2, 32, 0, 65, 12, 106, 40, 2, 0, 69, 13, 2, 32, 1, 16, 226, 1, 12, 2, 11, 2, 64, 32, 0, 65, 8, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 12, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 20, 106, 40, 2, 0, 34, 1, 69, 13, 1, 32, 0, 65, 24, 106, 40, 2, 0, 69, 13, 1, 32, 1, 16, 226, 1, 15, 11, 2, 64, 32, 0, 65, 8, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 12, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 65, 20, 106, 40, 2, 0, 34, 1, 69, 13, 0, 32, 0, 65, 24, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 11, 186, 5, 1, 4, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 33, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 128, 1, 79, 4, 64, 32, 2, 65, 0, 54, 2, 12, 32, 1, 65, 128, 16, 73, 13, 1, 32, 1, 65, 128, 128, 4, 73, 4, 64, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 3, 33, 1, 12, 4, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 15, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 4, 33, 1, 12, 3, 11, 32, 0, 40, 2, 8, 34, 3, 32, 0, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 0, 40, 2, 0, 33, 4, 12, 2, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 3, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 40, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 0, 40, 2, 0, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 4, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 65, 24, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 20, 33, 4, 32, 2, 40, 2, 16, 65, 1, 71, 4, 64, 32, 0, 32, 4, 54, 2, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 32, 0, 40, 2, 8, 33, 3, 12, 2, 11, 32, 3, 69, 13, 3, 32, 4, 32, 3, 16, 138, 2, 0, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 12, 65, 2, 33, 1, 12, 1, 11, 32, 3, 32, 4, 106, 32, 1, 58, 0, 0, 32, 0, 32, 0, 40, 2, 8, 65, 1, 106, 54, 2, 8, 12, 3, 11, 32, 0, 65, 4, 106, 40, 2, 0, 34, 4, 32, 0, 65, 8, 106, 40, 2, 0, 34, 3, 107, 32, 1, 79, 4, 64, 32, 0, 40, 2, 0, 33, 4, 12, 2, 11, 32, 1, 32, 3, 106, 34, 5, 32, 3, 73, 13, 0, 32, 4, 65, 1, 116, 34, 3, 32, 5, 32, 3, 32, 5, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 40, 106, 65, 1, 54, 2, 0, 32, 2, 32, 4, 54, 2, 36, 32, 2, 32, 0, 40, 2, 0, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 3, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 65, 24, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 20, 33, 4, 32, 2, 40, 2, 16, 65, 1, 71, 4, 64, 32, 0, 32, 4, 54, 2, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 40, 2, 0, 33, 3, 12, 2, 11, 32, 3, 69, 13, 0, 32, 4, 32, 3, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 4, 106, 32, 2, 65, 12, 106, 32, 1, 16, 212, 2, 26, 32, 0, 65, 8, 106, 34, 0, 32, 0, 40, 2, 0, 32, 1, 106, 54, 2, 0, 11, 32, 2, 65, 48, 106, 36, 0, 65, 0, 11, 90, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 156, 140, 192, 0, 32, 2, 65, 8, 106, 16, 156, 2, 32, 2, 65, 32, 106, 36, 0, 11, 143, 2, 1, 4, 127, 35, 0, 65, 32, 107, 34, 4, 36, 0, 2, 64, 32, 0, 40, 2, 0, 34, 0, 65, 4, 106, 40, 2, 0, 34, 5, 32, 0, 65, 8, 106, 40, 2, 0, 34, 3, 107, 32, 2, 79, 4, 64, 32, 0, 40, 2, 0, 33, 5, 12, 1, 11, 2, 64, 32, 2, 32, 3, 106, 34, 6, 32, 3, 73, 13, 0, 32, 5, 65, 1, 116, 34, 3, 32, 6, 32, 3, 32, 6, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 4, 65, 0, 54, 2, 16, 12, 1, 11, 32, 4, 65, 24, 106, 65, 1, 54, 2, 0, 32, 4, 32, 5, 54, 2, 20, 32, 4, 32, 0, 40, 2, 0, 54, 2, 16, 11, 32, 4, 32, 3, 65, 1, 32, 4, 65, 16, 106, 16, 13, 32, 4, 65, 8, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 4, 33, 5, 32, 4, 40, 2, 0, 65, 1, 71, 4, 64, 32, 0, 32, 5, 54, 2, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 40, 2, 0, 33, 3, 12, 2, 11, 32, 3, 69, 13, 0, 32, 5, 32, 3, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 5, 106, 32, 1, 32, 2, 16, 212, 2, 26, 32, 0, 65, 8, 106, 34, 0, 32, 0, 40, 2, 0, 32, 2, 106, 54, 2, 0, 32, 4, 65, 32, 106, 36, 0, 65, 0, 11, 167, 2, 1, 1, 127, 35, 0, 65, 240, 0, 107, 34, 5, 36, 0, 32, 5, 32, 2, 54, 2, 4, 32, 5, 32, 1, 54, 2, 0, 32, 5, 65, 28, 106, 65, 2, 54, 2, 0, 32, 5, 65, 44, 106, 65, 10, 54, 2, 0, 32, 5, 66, 2, 55, 2, 12, 32, 5, 65, 180, 142, 192, 0, 54, 2, 8, 32, 5, 65, 2, 54, 2, 36, 32, 5, 32, 4, 54, 2, 52, 32, 5, 32, 3, 54, 2, 48, 32, 5, 32, 5, 65, 32, 106, 54, 2, 24, 32, 5, 32, 5, 65, 48, 106, 54, 2, 40, 32, 5, 32, 5, 54, 2, 32, 32, 5, 65, 0, 54, 2, 64, 32, 5, 66, 1, 55, 3, 56, 32, 5, 32, 5, 65, 8, 106, 54, 2, 68, 32, 5, 65, 3, 54, 2, 76, 32, 5, 32, 5, 65, 196, 0, 106, 54, 2, 72, 32, 5, 32, 5, 65, 56, 106, 54, 2, 84, 32, 5, 65, 236, 0, 106, 65, 1, 54, 2, 0, 32, 5, 66, 1, 55, 2, 92, 32, 5, 65, 212, 134, 192, 0, 54, 2, 88, 32, 5, 32, 5, 65, 200, 0, 106, 54, 2, 104, 32, 5, 65, 212, 0, 106, 65, 156, 140, 192, 0, 32, 5, 65, 216, 0, 106, 16, 156, 2, 4, 64, 65, 220, 134, 192, 0, 65, 55, 32, 5, 65, 216, 0, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 32, 0, 65, 12, 106, 32, 5, 65, 64, 107, 40, 2, 0, 54, 2, 0, 32, 0, 32, 5, 41, 3, 56, 55, 2, 4, 32, 0, 65, 20, 54, 2, 0, 32, 5, 65, 240, 0, 106, 36, 0, 11, 254, 2, 2, 3, 127, 1, 126, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 2, 65, 32, 106, 32, 1, 40, 2, 0, 16, 179, 1, 32, 2, 65, 24, 106, 34, 3, 32, 2, 65, 44, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 16, 2, 64, 32, 2, 40, 2, 32, 34, 4, 65, 21, 70, 4, 64, 32, 2, 65, 8, 106, 32, 1, 40, 2, 0, 34, 1, 16, 181, 1, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 8, 65, 1, 113, 4, 64, 32, 2, 45, 0, 9, 34, 3, 65, 83, 106, 14, 4, 2, 1, 1, 3, 1, 11, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 12, 5, 11, 32, 3, 65, 79, 106, 65, 255, 1, 113, 65, 9, 73, 13, 2, 32, 0, 66, 129, 128, 128, 128, 224, 1, 55, 2, 0, 12, 4, 11, 32, 0, 66, 129, 128, 128, 128, 208, 1, 55, 2, 0, 12, 3, 11, 32, 1, 16, 175, 1, 32, 0, 66, 0, 55, 2, 0, 12, 2, 11, 32, 1, 16, 175, 1, 32, 3, 65, 80, 106, 65, 255, 1, 113, 33, 3, 3, 64, 32, 2, 32, 1, 16, 182, 1, 2, 64, 32, 2, 45, 0, 1, 65, 80, 106, 65, 255, 1, 113, 34, 4, 65, 9, 77, 4, 64, 32, 2, 45, 0, 0, 65, 1, 113, 13, 1, 11, 32, 0, 65, 0, 54, 2, 0, 32, 0, 32, 3, 54, 2, 4, 12, 3, 11, 32, 1, 16, 175, 1, 32, 3, 173, 66, 10, 126, 34, 5, 66, 32, 136, 167, 4, 64, 32, 0, 66, 129, 128, 128, 128, 208, 1, 55, 2, 0, 12, 3, 11, 32, 4, 32, 5, 167, 34, 4, 106, 34, 3, 32, 4, 79, 13, 0, 11, 32, 0, 66, 129, 128, 128, 128, 208, 1, 55, 2, 0, 12, 1, 11, 32, 0, 32, 4, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 16, 55, 2, 0, 32, 0, 65, 16, 106, 32, 3, 40, 2, 0, 54, 2, 0, 11, 32, 2, 65, 48, 106, 36, 0, 11, 149, 2, 1, 1, 127, 35, 0, 65, 224, 0, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 4, 32, 3, 32, 1, 54, 2, 0, 32, 3, 65, 8, 106, 32, 1, 32, 2, 16, 201, 2, 2, 64, 32, 3, 45, 0, 8, 65, 1, 70, 4, 64, 32, 3, 32, 3, 45, 0, 9, 58, 0, 39, 32, 3, 65, 204, 0, 106, 65, 2, 54, 2, 0, 32, 3, 65, 220, 0, 106, 65, 11, 54, 2, 0, 32, 3, 66, 2, 55, 2, 60, 32, 3, 65, 244, 142, 192, 0, 54, 2, 56, 32, 3, 65, 2, 54, 2, 84, 32, 3, 32, 3, 65, 208, 0, 106, 54, 2, 72, 32, 3, 32, 3, 65, 39, 106, 54, 2, 88, 32, 3, 32, 3, 54, 2, 80, 32, 3, 65, 40, 106, 32, 3, 65, 56, 106, 16, 140, 2, 32, 3, 65, 56, 106, 32, 3, 65, 40, 106, 16, 142, 2, 2, 64, 32, 3, 40, 2, 40, 34, 1, 69, 13, 0, 32, 3, 40, 2, 44, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 66, 129, 128, 128, 128, 192, 2, 55, 3, 0, 32, 0, 65, 8, 106, 32, 3, 41, 2, 56, 55, 2, 0, 32, 0, 65, 16, 106, 32, 3, 65, 64, 107, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 41, 3, 16, 55, 3, 0, 32, 0, 65, 16, 106, 32, 3, 65, 24, 106, 41, 3, 0, 55, 3, 0, 11, 32, 3, 65, 224, 0, 106, 36, 0, 11, 181, 4, 1, 4, 127, 35, 0, 65, 208, 0, 107, 34, 2, 36, 0, 32, 2, 65, 16, 106, 32, 1, 40, 2, 0, 16, 181, 1, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 16, 65, 1, 113, 69, 4, 64, 65, 2, 33, 3, 12, 1, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 17, 34, 4, 34, 3, 65, 44, 71, 4, 64, 32, 3, 65, 253, 0, 70, 13, 3, 32, 1, 45, 0, 4, 13, 1, 65, 9, 33, 3, 12, 8, 11, 32, 1, 45, 0, 4, 69, 13, 1, 11, 32, 1, 65, 0, 58, 0, 4, 12, 2, 11, 32, 1, 40, 2, 0, 16, 175, 1, 32, 2, 65, 8, 106, 32, 1, 40, 2, 0, 16, 181, 1, 32, 2, 45, 0, 8, 65, 1, 113, 69, 13, 2, 32, 2, 45, 0, 9, 33, 4, 12, 1, 11, 32, 0, 65, 0, 59, 1, 0, 12, 6, 11, 32, 4, 65, 255, 1, 113, 34, 3, 65, 253, 0, 70, 13, 2, 32, 3, 65, 34, 71, 4, 64, 65, 16, 33, 3, 12, 4, 11, 32, 2, 32, 1, 40, 2, 0, 34, 3, 16, 181, 1, 32, 2, 45, 0, 0, 65, 1, 113, 13, 1, 11, 65, 4, 33, 3, 12, 2, 11, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 2, 11, 32, 3, 16, 175, 1, 32, 2, 65, 40, 106, 32, 3, 16, 180, 1, 32, 2, 65, 52, 106, 40, 2, 0, 33, 5, 32, 2, 65, 48, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 44, 33, 3, 32, 2, 40, 2, 40, 65, 1, 71, 4, 64, 32, 5, 69, 32, 3, 69, 32, 4, 69, 114, 114, 13, 3, 32, 4, 16, 226, 1, 12, 3, 11, 32, 3, 65, 21, 70, 13, 2, 32, 2, 65, 56, 106, 40, 2, 0, 33, 1, 12, 1, 11, 65, 19, 33, 3, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 12, 1, 11, 32, 2, 65, 40, 106, 32, 1, 40, 2, 0, 16, 179, 1, 32, 2, 65, 200, 0, 106, 34, 3, 32, 2, 65, 52, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 44, 55, 3, 64, 2, 64, 2, 64, 32, 2, 40, 2, 40, 34, 4, 65, 21, 71, 4, 64, 32, 2, 65, 36, 106, 32, 3, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 24, 32, 2, 32, 2, 41, 3, 64, 55, 2, 28, 12, 1, 11, 32, 2, 65, 24, 106, 32, 1, 40, 2, 0, 16, 26, 32, 2, 40, 2, 24, 65, 21, 70, 13, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 32, 2, 41, 3, 24, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 32, 106, 41, 3, 0, 55, 2, 0, 12, 1, 11, 32, 0, 65, 128, 2, 59, 1, 0, 11, 32, 2, 65, 208, 0, 106, 36, 0, 11, 251, 1, 1, 1, 127, 35, 0, 65, 224, 0, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 4, 32, 3, 32, 1, 54, 2, 0, 32, 3, 65, 8, 106, 32, 1, 32, 2, 16, 136, 1, 2, 64, 32, 3, 40, 2, 8, 65, 1, 70, 4, 64, 32, 3, 65, 212, 0, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 68, 32, 3, 65, 212, 142, 192, 0, 54, 2, 64, 32, 3, 65, 2, 54, 2, 92, 32, 3, 32, 3, 65, 216, 0, 106, 54, 2, 80, 32, 3, 32, 3, 54, 2, 88, 32, 3, 65, 48, 106, 32, 3, 65, 64, 107, 16, 140, 2, 32, 3, 65, 64, 107, 32, 3, 65, 48, 106, 16, 142, 2, 2, 64, 32, 3, 40, 2, 48, 34, 1, 69, 13, 0, 32, 3, 40, 2, 52, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 66, 129, 128, 128, 128, 192, 2, 55, 2, 0, 32, 0, 65, 8, 106, 32, 3, 41, 2, 64, 55, 2, 0, 32, 0, 65, 16, 106, 32, 3, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 65, 16, 106, 16, 42, 12, 1, 11, 32, 0, 32, 3, 41, 2, 12, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 65, 20, 106, 40, 2, 0, 54, 2, 0, 11, 32, 3, 65, 224, 0, 106, 36, 0, 11, 207, 2, 1, 3, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 2, 65, 8, 106, 32, 1, 40, 2, 0, 16, 181, 1, 2, 64, 32, 2, 45, 0, 8, 65, 1, 113, 4, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 9, 34, 3, 34, 4, 65, 44, 71, 4, 64, 32, 4, 65, 221, 0, 71, 4, 64, 32, 1, 45, 0, 4, 69, 13, 4, 32, 1, 65, 0, 58, 0, 4, 12, 2, 11, 32, 0, 65, 0, 59, 1, 0, 12, 6, 11, 32, 1, 40, 2, 0, 16, 175, 1, 32, 2, 32, 1, 40, 2, 0, 16, 181, 1, 32, 2, 45, 0, 0, 65, 1, 113, 69, 13, 1, 32, 2, 45, 0, 1, 33, 3, 11, 32, 3, 65, 221, 0, 71, 13, 2, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 19, 54, 2, 0, 12, 4, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 12, 3, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 7, 54, 2, 0, 12, 2, 11, 32, 2, 65, 32, 106, 32, 1, 40, 2, 0, 16, 26, 32, 2, 65, 24, 106, 34, 1, 32, 2, 65, 44, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 16, 32, 2, 40, 2, 32, 34, 3, 65, 21, 70, 4, 64, 32, 0, 65, 128, 2, 59, 1, 0, 12, 2, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 16, 55, 2, 0, 32, 0, 65, 16, 106, 32, 1, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 1, 54, 2, 0, 11, 32, 2, 65, 48, 106, 36, 0, 11, 237, 1, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 181, 1, 2, 64, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 14, 54, 2, 0, 12, 3, 11, 32, 1, 16, 175, 1, 32, 2, 65, 8, 106, 32, 1, 16, 180, 1, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 2, 65, 20, 106, 40, 2, 0, 33, 3, 32, 2, 65, 16, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 12, 33, 5, 32, 2, 40, 2, 8, 65, 1, 70, 13, 1, 32, 5, 4, 64, 32, 0, 32, 1, 32, 4, 16, 69, 32, 3, 69, 13, 3, 32, 1, 16, 226, 1, 12, 3, 11, 32, 0, 32, 1, 32, 3, 16, 69, 12, 2, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 1, 54, 2, 0, 32, 0, 65, 4, 106, 32, 5, 54, 2, 0, 11, 32, 2, 65, 32, 106, 36, 0, 11, 176, 2, 1, 1, 127, 35, 0, 65, 16, 107, 34, 3, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 123, 106, 14, 20, 6, 8, 1, 2, 8, 8, 4, 3, 8, 8, 8, 8, 8, 8, 8, 8, 5, 8, 8, 0, 8, 11, 32, 1, 65, 174, 147, 192, 0, 65, 24, 16, 214, 2, 69, 13, 6, 12, 7, 11, 32, 1, 65, 200, 143, 192, 0, 65, 7, 16, 214, 2, 13, 6, 32, 0, 65, 0, 59, 1, 0, 12, 7, 11, 32, 1, 41, 0, 0, 66, 227, 224, 213, 251, 197, 237, 219, 183, 240, 0, 82, 13, 5, 32, 0, 65, 128, 2, 59, 1, 0, 12, 6, 11, 32, 1, 65, 248, 146, 192, 0, 65, 12, 16, 214, 2, 13, 4, 32, 0, 65, 128, 4, 59, 1, 0, 12, 5, 11, 32, 1, 65, 132, 147, 192, 0, 65, 11, 16, 214, 2, 13, 3, 32, 0, 65, 128, 6, 59, 1, 0, 12, 4, 11, 32, 1, 65, 143, 147, 192, 0, 65, 21, 16, 214, 2, 13, 2, 32, 0, 65, 128, 8, 59, 1, 0, 12, 3, 11, 32, 1, 65, 169, 147, 192, 0, 65, 5, 16, 214, 2, 13, 1, 32, 0, 65, 128, 10, 59, 1, 0, 12, 2, 11, 32, 0, 65, 128, 12, 59, 1, 0, 12, 1, 11, 32, 3, 32, 1, 32, 2, 65, 200, 147, 192, 0, 65, 7, 16, 62, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 12, 106, 32, 3, 65, 8, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 4, 106, 32, 3, 41, 3, 0, 55, 2, 0, 11, 32, 3, 65, 16, 106, 36, 0, 11, 163, 2, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 181, 1, 2, 64, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 65, 14, 54, 2, 0, 12, 3, 11, 32, 1, 16, 175, 1, 32, 2, 65, 8, 106, 32, 1, 16, 180, 1, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 2, 65, 20, 106, 40, 2, 0, 33, 3, 32, 2, 65, 16, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 12, 33, 5, 32, 2, 40, 2, 8, 65, 1, 70, 13, 1, 32, 5, 4, 64, 2, 64, 2, 64, 32, 4, 65, 11, 70, 4, 64, 32, 1, 65, 219, 146, 192, 0, 65, 11, 16, 214, 2, 69, 13, 1, 11, 32, 0, 32, 1, 32, 4, 65, 232, 146, 192, 0, 65, 1, 16, 62, 12, 1, 11, 32, 0, 65, 21, 54, 2, 0, 11, 32, 3, 69, 13, 3, 32, 1, 16, 226, 1, 12, 3, 11, 2, 64, 32, 3, 65, 11, 70, 4, 64, 32, 1, 65, 219, 146, 192, 0, 65, 11, 16, 214, 2, 69, 13, 1, 11, 32, 0, 32, 1, 32, 3, 65, 232, 146, 192, 0, 65, 1, 16, 62, 12, 3, 11, 32, 0, 65, 21, 54, 2, 0, 12, 2, 11, 32, 0, 65, 4, 54, 2, 0, 12, 1, 11, 32, 0, 32, 1, 54, 2, 4, 32, 0, 32, 5, 54, 2, 0, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 11, 32, 2, 65, 32, 106, 36, 0, 11, 237, 1, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 181, 1, 2, 64, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 14, 54, 2, 0, 12, 3, 11, 32, 1, 16, 175, 1, 32, 2, 65, 8, 106, 32, 1, 16, 180, 1, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 2, 65, 20, 106, 40, 2, 0, 33, 3, 32, 2, 65, 16, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 12, 33, 5, 32, 2, 40, 2, 8, 65, 1, 70, 13, 1, 32, 5, 4, 64, 32, 0, 32, 1, 32, 4, 16, 72, 32, 3, 69, 13, 3, 32, 1, 16, 226, 1, 12, 3, 11, 32, 0, 32, 1, 32, 3, 16, 72, 12, 2, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 1, 54, 2, 0, 32, 0, 65, 4, 106, 32, 5, 54, 2, 0, 11, 32, 2, 65, 32, 106, 36, 0, 11, 183, 1, 1, 1, 127, 35, 0, 65, 16, 107, 34, 3, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 121, 106, 14, 7, 0, 1, 4, 4, 4, 4, 2, 4, 11, 32, 1, 65, 149, 148, 192, 0, 65, 7, 16, 214, 2, 69, 13, 2, 12, 3, 11, 32, 1, 41, 0, 0, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 82, 13, 2, 32, 0, 65, 0, 59, 1, 0, 12, 3, 11, 32, 1, 65, 136, 148, 192, 0, 65, 13, 16, 214, 2, 13, 1, 32, 0, 65, 128, 2, 59, 1, 0, 12, 2, 11, 32, 0, 65, 128, 4, 59, 1, 0, 12, 1, 11, 32, 3, 32, 1, 32, 2, 65, 168, 148, 192, 0, 65, 3, 16, 62, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 12, 106, 32, 3, 65, 8, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 4, 106, 32, 3, 41, 3, 0, 55, 2, 0, 11, 32, 3, 65, 16, 106, 36, 0, 11, 29, 0, 32, 1, 40, 2, 0, 69, 4, 64, 0, 11, 32, 0, 65, 132, 143, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 85, 1, 2, 127, 32, 1, 40, 2, 0, 33, 2, 32, 1, 65, 0, 54, 2, 0, 2, 64, 32, 2, 4, 64, 32, 1, 40, 2, 4, 33, 3, 65, 8, 65, 4, 16, 87, 34, 1, 69, 13, 1, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 0, 65, 132, 143, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 15, 11, 0, 11, 65, 8, 65, 4, 16, 138, 2, 0, 11, 188, 13, 1, 10, 127, 35, 0, 65, 208, 1, 107, 34, 5, 36, 0, 32, 1, 40, 2, 8, 34, 7, 65, 148, 143, 192, 0, 65, 15, 32, 1, 65, 12, 106, 40, 2, 0, 34, 6, 40, 2, 40, 17, 3, 0, 32, 1, 40, 2, 4, 33, 13, 32, 1, 40, 2, 0, 33, 14, 32, 5, 65, 168, 1, 106, 32, 7, 32, 4, 40, 2, 0, 34, 8, 32, 4, 40, 2, 8, 32, 6, 40, 2, 12, 34, 10, 17, 6, 0, 32, 5, 65, 240, 0, 106, 34, 1, 32, 5, 65, 192, 1, 106, 41, 3, 0, 55, 3, 0, 32, 5, 65, 248, 0, 106, 34, 11, 32, 5, 65, 200, 1, 106, 41, 3, 0, 55, 3, 0, 32, 5, 32, 5, 65, 184, 1, 106, 41, 3, 0, 55, 3, 104, 32, 5, 65, 180, 1, 106, 34, 12, 40, 2, 0, 33, 9, 32, 5, 65, 176, 1, 106, 40, 2, 0, 33, 6, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 5, 40, 2, 168, 1, 65, 1, 71, 4, 64, 32, 5, 40, 2, 172, 1, 33, 1, 32, 5, 65, 168, 1, 106, 32, 7, 32, 4, 40, 2, 12, 34, 7, 32, 4, 65, 20, 106, 40, 2, 0, 32, 10, 17, 6, 0, 32, 5, 65, 136, 1, 106, 32, 12, 41, 2, 0, 55, 3, 0, 32, 5, 65, 144, 1, 106, 32, 5, 65, 188, 1, 106, 41, 2, 0, 55, 3, 0, 32, 5, 65, 152, 1, 106, 32, 5, 65, 196, 1, 106, 41, 2, 0, 55, 3, 0, 32, 5, 65, 160, 1, 106, 32, 5, 65, 204, 1, 106, 40, 2, 0, 54, 2, 0, 32, 5, 32, 5, 41, 2, 172, 1, 55, 3, 128, 1, 32, 5, 40, 2, 168, 1, 65, 1, 70, 13, 1, 32, 5, 65, 212, 0, 106, 32, 5, 65, 136, 1, 106, 40, 2, 0, 54, 2, 0, 32, 5, 65, 224, 0, 106, 32, 3, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 5, 32, 9, 54, 2, 72, 32, 5, 32, 6, 54, 2, 68, 32, 5, 32, 1, 54, 2, 64, 32, 5, 32, 5, 41, 3, 128, 1, 55, 2, 76, 32, 5, 32, 3, 41, 2, 0, 55, 3, 88, 32, 5, 65, 24, 106, 32, 5, 65, 64, 107, 16, 32, 32, 5, 65, 8, 106, 34, 11, 32, 5, 65, 48, 106, 41, 3, 0, 55, 3, 0, 32, 5, 65, 16, 106, 34, 12, 32, 5, 65, 56, 106, 41, 3, 0, 55, 3, 0, 32, 5, 32, 5, 65, 40, 106, 41, 3, 0, 55, 3, 0, 32, 5, 65, 36, 106, 40, 2, 0, 33, 9, 32, 5, 65, 32, 106, 40, 2, 0, 33, 10, 32, 5, 40, 2, 24, 65, 1, 70, 13, 4, 32, 14, 65, 163, 143, 192, 0, 65, 6, 32, 5, 40, 2, 28, 34, 8, 32, 9, 32, 13, 40, 2, 16, 17, 7, 0, 32, 10, 4, 64, 32, 8, 16, 226, 1, 11, 32, 1, 69, 32, 6, 69, 114, 69, 4, 64, 32, 1, 16, 226, 1, 11, 2, 64, 32, 5, 40, 2, 76, 34, 1, 69, 13, 0, 32, 5, 65, 208, 0, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 2, 64, 32, 5, 40, 2, 88, 34, 1, 69, 13, 0, 32, 5, 65, 220, 0, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 65, 7, 65, 1, 16, 87, 34, 6, 69, 13, 6, 32, 6, 65, 3, 106, 65, 172, 143, 192, 0, 40, 0, 0, 54, 0, 0, 32, 6, 65, 169, 143, 192, 0, 40, 0, 0, 54, 0, 0, 65, 13, 65, 1, 16, 87, 34, 8, 69, 13, 7, 32, 8, 65, 5, 106, 65, 181, 143, 192, 0, 41, 0, 0, 55, 0, 0, 32, 8, 65, 176, 143, 192, 0, 41, 0, 0, 55, 0, 0, 32, 5, 65, 0, 54, 2, 168, 1, 32, 5, 65, 24, 106, 65, 224, 0, 65, 4, 32, 5, 65, 168, 1, 106, 16, 13, 32, 5, 65, 32, 106, 40, 2, 0, 33, 7, 32, 5, 40, 2, 28, 33, 1, 32, 5, 40, 2, 24, 65, 1, 71, 13, 3, 32, 7, 69, 13, 8, 32, 1, 32, 7, 16, 138, 2, 0, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 9, 54, 2, 0, 32, 0, 65, 8, 106, 32, 6, 54, 2, 0, 32, 0, 65, 16, 106, 32, 5, 41, 3, 104, 55, 2, 0, 32, 0, 65, 24, 106, 32, 1, 41, 3, 0, 55, 2, 0, 32, 0, 65, 32, 106, 32, 11, 41, 3, 0, 55, 2, 0, 32, 4, 65, 4, 106, 40, 2, 0, 4, 64, 32, 8, 16, 226, 1, 11, 32, 4, 40, 2, 12, 34, 0, 69, 13, 1, 32, 4, 65, 16, 106, 40, 2, 0, 69, 13, 1, 32, 0, 16, 226, 1, 12, 1, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 41, 2, 132, 1, 55, 2, 0, 32, 0, 65, 32, 106, 32, 5, 65, 156, 1, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 24, 106, 32, 5, 65, 148, 1, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 16, 106, 32, 5, 65, 140, 1, 106, 41, 2, 0, 55, 2, 0, 32, 1, 69, 32, 6, 69, 114, 69, 4, 64, 32, 1, 16, 226, 1, 11, 32, 4, 65, 4, 106, 40, 2, 0, 4, 64, 32, 8, 16, 226, 1, 11, 32, 4, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 7, 16, 226, 1, 11, 32, 3, 40, 2, 0, 34, 0, 69, 13, 2, 32, 3, 65, 4, 106, 40, 2, 0, 69, 13, 2, 32, 0, 16, 226, 1, 12, 2, 11, 32, 1, 32, 8, 54, 2, 12, 32, 1, 66, 135, 128, 128, 128, 240, 0, 55, 2, 4, 32, 1, 32, 6, 54, 2, 0, 32, 1, 65, 16, 106, 66, 141, 128, 128, 128, 208, 1, 55, 2, 0, 32, 0, 66, 128, 128, 128, 128, 128, 1, 55, 3, 0, 32, 0, 65, 24, 106, 65, 0, 54, 2, 0, 32, 0, 65, 28, 106, 32, 1, 54, 2, 0, 32, 0, 65, 32, 106, 32, 7, 65, 24, 110, 54, 2, 0, 32, 0, 65, 8, 106, 66, 0, 55, 2, 0, 32, 0, 65, 16, 106, 66, 8, 55, 2, 0, 32, 0, 65, 36, 106, 66, 1, 55, 2, 0, 2, 64, 32, 4, 40, 2, 0, 34, 0, 69, 13, 0, 32, 4, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 2, 64, 32, 4, 40, 2, 12, 34, 0, 69, 13, 0, 32, 4, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 3, 40, 2, 12, 33, 1, 32, 3, 65, 20, 106, 40, 2, 0, 34, 0, 4, 64, 32, 0, 65, 5, 116, 33, 4, 32, 1, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 6, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 6, 16, 226, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 4, 65, 96, 106, 34, 4, 13, 0, 11, 11, 32, 3, 65, 16, 106, 40, 2, 0, 34, 0, 69, 32, 0, 65, 5, 116, 69, 114, 69, 4, 64, 32, 1, 16, 226, 1, 11, 2, 64, 32, 2, 40, 2, 24, 34, 0, 69, 13, 0, 32, 2, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 2, 40, 2, 40, 34, 0, 69, 13, 5, 32, 2, 65, 44, 106, 40, 2, 0, 69, 13, 5, 32, 0, 16, 226, 1, 12, 5, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 9, 54, 2, 0, 32, 0, 65, 8, 106, 32, 10, 54, 2, 0, 32, 0, 65, 16, 106, 32, 5, 41, 3, 0, 55, 2, 0, 32, 0, 65, 24, 106, 32, 11, 41, 3, 0, 55, 2, 0, 32, 0, 65, 32, 106, 32, 12, 41, 3, 0, 55, 2, 0, 32, 1, 69, 32, 6, 69, 114, 69, 4, 64, 32, 1, 16, 226, 1, 11, 2, 64, 32, 5, 40, 2, 76, 34, 0, 69, 13, 0, 32, 5, 65, 208, 0, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 2, 64, 32, 5, 40, 2, 88, 34, 0, 69, 13, 0, 32, 5, 65, 220, 0, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 4, 65, 4, 106, 40, 2, 0, 4, 64, 32, 8, 16, 226, 1, 11, 32, 4, 65, 16, 106, 40, 2, 0, 69, 13, 0, 32, 7, 16, 226, 1, 11, 32, 3, 40, 2, 12, 33, 1, 32, 3, 65, 20, 106, 40, 2, 0, 34, 0, 4, 64, 32, 0, 65, 5, 116, 33, 4, 32, 1, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 6, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 6, 16, 226, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 4, 65, 96, 106, 34, 4, 13, 0, 11, 11, 32, 3, 65, 16, 106, 40, 2, 0, 34, 0, 69, 32, 0, 65, 5, 116, 69, 114, 69, 4, 64, 32, 1, 16, 226, 1, 11, 2, 64, 32, 2, 40, 2, 24, 34, 0, 69, 13, 0, 32, 2, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 2, 40, 2, 40, 34, 0, 69, 13, 3, 32, 2, 65, 44, 106, 40, 2, 0, 69, 13, 3, 32, 0, 16, 226, 1, 12, 3, 11, 65, 7, 65, 1, 16, 138, 2, 0, 11, 65, 13, 65, 1, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 5, 65, 208, 1, 106, 36, 0, 11, 206, 10, 2, 14, 127, 2, 126, 35, 0, 65, 144, 1, 107, 34, 4, 36, 0, 32, 4, 65, 48, 106, 32, 1, 40, 2, 0, 34, 11, 65, 163, 143, 192, 0, 65, 6, 32, 1, 40, 2, 4, 34, 12, 40, 2, 12, 17, 6, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 40, 2, 48, 34, 7, 69, 4, 64, 65, 5, 65, 1, 16, 87, 34, 1, 69, 13, 1, 32, 1, 65, 4, 106, 65, 193, 143, 192, 0, 45, 0, 0, 58, 0, 0, 32, 1, 65, 189, 143, 192, 0, 40, 0, 0, 54, 0, 0, 32, 4, 65, 16, 106, 32, 4, 65, 240, 0, 106, 41, 3, 0, 34, 18, 55, 3, 0, 32, 4, 32, 4, 41, 3, 104, 34, 19, 55, 3, 8, 32, 0, 65, 16, 106, 66, 133, 128, 128, 128, 208, 0, 55, 3, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 65, 6, 54, 2, 0, 32, 0, 65, 24, 106, 32, 19, 55, 2, 0, 32, 0, 65, 32, 106, 32, 18, 55, 2, 0, 32, 0, 65, 1, 54, 2, 0, 12, 4, 11, 32, 4, 40, 2, 52, 33, 8, 32, 4, 65, 232, 0, 106, 32, 7, 32, 4, 65, 56, 106, 40, 2, 0, 16, 22, 32, 4, 65, 200, 0, 106, 34, 6, 32, 4, 65, 244, 0, 106, 34, 13, 41, 2, 0, 55, 3, 0, 32, 4, 65, 208, 0, 106, 34, 5, 32, 4, 65, 252, 0, 106, 34, 14, 41, 2, 0, 55, 3, 0, 32, 4, 65, 216, 0, 106, 34, 9, 32, 4, 65, 132, 1, 106, 34, 15, 41, 2, 0, 55, 3, 0, 32, 4, 65, 224, 0, 106, 34, 10, 32, 4, 65, 140, 1, 106, 34, 16, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 108, 55, 3, 64, 2, 64, 32, 4, 40, 2, 104, 65, 1, 71, 4, 64, 32, 4, 65, 40, 106, 32, 10, 40, 2, 0, 54, 2, 0, 32, 4, 65, 32, 106, 32, 9, 41, 3, 0, 55, 3, 0, 32, 4, 65, 24, 106, 32, 5, 41, 3, 0, 55, 3, 0, 32, 4, 65, 16, 106, 32, 6, 41, 3, 0, 55, 3, 0, 32, 4, 32, 4, 41, 3, 64, 55, 3, 8, 32, 4, 65, 232, 0, 106, 32, 1, 40, 2, 8, 32, 3, 40, 2, 0, 34, 17, 32, 3, 40, 2, 8, 32, 1, 65, 12, 106, 40, 2, 0, 40, 2, 12, 17, 6, 0, 32, 6, 32, 13, 41, 2, 0, 55, 3, 0, 32, 5, 32, 14, 41, 2, 0, 55, 3, 0, 32, 9, 32, 15, 41, 2, 0, 55, 3, 0, 32, 10, 32, 16, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 108, 55, 3, 64, 32, 4, 40, 2, 104, 65, 1, 70, 13, 1, 32, 4, 65, 56, 106, 34, 1, 32, 4, 65, 200, 0, 106, 34, 6, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 3, 64, 55, 3, 48, 2, 64, 32, 4, 40, 2, 8, 34, 5, 69, 13, 0, 32, 4, 40, 2, 12, 69, 13, 0, 32, 5, 16, 226, 1, 11, 32, 4, 65, 16, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 3, 48, 55, 3, 8, 32, 4, 65, 232, 0, 106, 32, 4, 65, 8, 106, 16, 32, 32, 6, 32, 4, 65, 128, 1, 106, 41, 3, 0, 55, 3, 0, 32, 4, 65, 208, 0, 106, 34, 5, 32, 4, 65, 136, 1, 106, 41, 3, 0, 55, 3, 0, 32, 4, 32, 4, 65, 248, 0, 106, 41, 3, 0, 55, 3, 64, 32, 4, 65, 244, 0, 106, 40, 2, 0, 33, 1, 32, 4, 65, 240, 0, 106, 40, 2, 0, 33, 6, 32, 4, 40, 2, 104, 65, 1, 71, 4, 64, 32, 11, 65, 163, 143, 192, 0, 65, 6, 32, 4, 40, 2, 108, 34, 5, 32, 1, 32, 12, 40, 2, 16, 17, 7, 0, 32, 6, 4, 64, 32, 5, 16, 226, 1, 11, 32, 0, 66, 128, 128, 128, 128, 128, 1, 55, 3, 0, 32, 0, 65, 40, 106, 65, 0, 54, 2, 0, 32, 0, 65, 32, 106, 66, 0, 55, 2, 0, 32, 0, 65, 24, 106, 66, 128, 128, 128, 128, 192, 0, 55, 2, 0, 32, 0, 65, 16, 106, 66, 8, 55, 2, 0, 32, 0, 65, 8, 106, 66, 0, 55, 2, 0, 2, 64, 32, 4, 40, 2, 8, 34, 0, 69, 13, 0, 32, 4, 40, 2, 12, 69, 13, 0, 32, 0, 16, 226, 1, 11, 2, 64, 32, 4, 40, 2, 20, 34, 0, 69, 13, 0, 32, 4, 65, 24, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 2, 64, 32, 4, 40, 2, 32, 34, 0, 69, 13, 0, 32, 4, 65, 36, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 8, 4, 64, 32, 7, 16, 226, 1, 11, 32, 3, 65, 4, 106, 40, 2, 0, 4, 64, 32, 17, 16, 226, 1, 11, 2, 64, 32, 2, 40, 2, 24, 34, 0, 69, 13, 0, 32, 2, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 2, 40, 2, 40, 34, 0, 69, 13, 7, 32, 2, 65, 44, 106, 40, 2, 0, 69, 13, 7, 32, 0, 16, 226, 1, 12, 7, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 6, 54, 2, 0, 32, 0, 65, 16, 106, 32, 4, 41, 3, 64, 55, 2, 0, 32, 0, 65, 24, 106, 32, 4, 65, 200, 0, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 32, 106, 32, 5, 41, 3, 0, 55, 2, 0, 12, 3, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 41, 2, 68, 55, 2, 0, 32, 0, 65, 32, 106, 32, 4, 65, 220, 0, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 24, 106, 32, 4, 65, 212, 0, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 16, 106, 32, 4, 65, 204, 0, 106, 41, 2, 0, 55, 2, 0, 12, 3, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 41, 2, 68, 55, 2, 0, 32, 0, 65, 32, 106, 32, 4, 65, 220, 0, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 24, 106, 32, 4, 65, 212, 0, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 16, 106, 32, 4, 65, 204, 0, 106, 41, 2, 0, 55, 2, 0, 12, 1, 11, 65, 5, 65, 1, 16, 138, 2, 0, 11, 2, 64, 32, 4, 40, 2, 8, 34, 0, 69, 13, 0, 32, 4, 40, 2, 12, 69, 13, 0, 32, 0, 16, 226, 1, 11, 2, 64, 32, 4, 40, 2, 20, 34, 0, 69, 13, 0, 32, 4, 65, 24, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 4, 40, 2, 32, 34, 0, 69, 13, 0, 32, 4, 65, 36, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 8, 69, 13, 0, 32, 7, 16, 226, 1, 11, 2, 64, 32, 3, 40, 2, 0, 34, 0, 69, 13, 0, 32, 3, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 2, 64, 32, 2, 40, 2, 24, 34, 0, 69, 13, 0, 32, 2, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 2, 40, 2, 40, 34, 0, 69, 13, 0, 32, 2, 65, 44, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 4, 65, 144, 1, 106, 36, 0, 11, 190, 44, 2, 16, 127, 2, 126, 35, 0, 65, 144, 2, 107, 34, 6, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 1, 107, 14, 6, 2, 3, 4, 5, 6, 0, 1, 11, 32, 6, 65, 152, 1, 106, 32, 1, 40, 2, 8, 34, 4, 65, 212, 134, 192, 0, 65, 0, 32, 1, 65, 12, 106, 40, 2, 0, 34, 1, 40, 2, 16, 34, 5, 17, 6, 0, 32, 6, 40, 2, 152, 1, 65, 1, 71, 13, 6, 32, 6, 65, 128, 2, 106, 34, 7, 32, 6, 65, 184, 1, 106, 41, 3, 0, 55, 3, 0, 32, 6, 65, 248, 1, 106, 34, 8, 32, 6, 65, 176, 1, 106, 34, 10, 41, 3, 0, 55, 3, 0, 32, 6, 65, 240, 1, 106, 34, 11, 32, 6, 65, 168, 1, 106, 34, 12, 41, 3, 0, 55, 3, 0, 32, 6, 32, 6, 65, 160, 1, 106, 34, 14, 41, 3, 0, 34, 22, 55, 3, 232, 1, 32, 22, 167, 65, 2, 71, 4, 64, 32, 10, 32, 7, 41, 3, 0, 55, 3, 0, 32, 12, 32, 8, 41, 3, 0, 55, 3, 0, 32, 14, 32, 11, 41, 3, 0, 55, 3, 0, 32, 6, 32, 6, 41, 3, 232, 1, 55, 3, 152, 1, 32, 6, 65, 132, 1, 106, 65, 1, 54, 2, 0, 32, 6, 66, 1, 55, 2, 116, 32, 6, 65, 208, 145, 192, 0, 54, 2, 112, 32, 6, 65, 12, 54, 2, 204, 1, 32, 6, 32, 6, 65, 200, 1, 106, 54, 2, 128, 1, 32, 6, 32, 6, 65, 152, 1, 106, 54, 2, 200, 1, 32, 6, 65, 200, 0, 106, 32, 6, 65, 240, 0, 106, 16, 140, 2, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 6, 41, 3, 72, 55, 2, 0, 32, 0, 65, 20, 106, 32, 6, 65, 208, 0, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 32, 6, 65, 152, 1, 106, 16, 42, 12, 23, 11, 32, 6, 65, 232, 1, 106, 16, 42, 32, 6, 65, 152, 1, 106, 32, 4, 65, 216, 145, 192, 0, 65, 26, 32, 5, 17, 6, 0, 32, 6, 40, 2, 152, 1, 65, 1, 71, 13, 7, 32, 6, 65, 128, 2, 106, 34, 5, 32, 6, 65, 184, 1, 106, 41, 3, 0, 55, 3, 0, 32, 6, 65, 248, 1, 106, 34, 7, 32, 6, 65, 176, 1, 106, 34, 8, 41, 3, 0, 55, 3, 0, 32, 6, 65, 240, 1, 106, 34, 10, 32, 6, 65, 168, 1, 106, 34, 11, 41, 3, 0, 55, 3, 0, 32, 6, 32, 6, 65, 160, 1, 106, 34, 12, 41, 3, 0, 34, 22, 55, 3, 232, 1, 32, 22, 167, 65, 2, 71, 4, 64, 32, 8, 32, 5, 41, 3, 0, 55, 3, 0, 32, 11, 32, 7, 41, 3, 0, 55, 3, 0, 32, 12, 32, 10, 41, 3, 0, 55, 3, 0, 32, 6, 32, 6, 41, 3, 232, 1, 55, 3, 152, 1, 32, 6, 65, 132, 1, 106, 65, 1, 54, 2, 0, 32, 6, 66, 1, 55, 2, 116, 32, 6, 65, 208, 145, 192, 0, 54, 2, 112, 32, 6, 65, 12, 54, 2, 204, 1, 32, 6, 32, 6, 65, 200, 1, 106, 54, 2, 128, 1, 32, 6, 32, 6, 65, 152, 1, 106, 54, 2, 200, 1, 32, 6, 65, 200, 0, 106, 32, 6, 65, 240, 0, 106, 16, 140, 2, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 6, 41, 3, 72, 55, 2, 0, 32, 0, 65, 20, 106, 32, 6, 65, 208, 0, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 32, 6, 65, 152, 1, 106, 16, 42, 12, 23, 11, 32, 6, 65, 232, 1, 106, 16, 42, 32, 6, 65, 0, 54, 2, 160, 1, 32, 6, 66, 1, 55, 3, 152, 1, 32, 6, 32, 6, 65, 152, 1, 106, 16, 139, 1, 32, 6, 65, 152, 1, 106, 32, 4, 32, 6, 32, 1, 40, 2, 20, 34, 5, 17, 3, 0, 32, 6, 40, 2, 152, 1, 65, 1, 71, 13, 8, 32, 6, 65, 128, 2, 106, 34, 1, 32, 6, 65, 184, 1, 106, 41, 3, 0, 55, 3, 0, 32, 6, 65, 248, 1, 106, 34, 7, 32, 6, 65, 176, 1, 106, 34, 8, 41, 3, 0, 55, 3, 0, 32, 6, 65, 240, 1, 106, 34, 10, 32, 6, 65, 168, 1, 106, 34, 11, 41, 3, 0, 55, 3, 0, 32, 6, 32, 6, 65, 160, 1, 106, 34, 12, 41, 3, 0, 34, 22, 55, 3, 232, 1, 32, 22, 167, 65, 2, 71, 4, 64, 32, 8, 32, 1, 41, 3, 0, 55, 3, 0, 32, 11, 32, 7, 41, 3, 0, 55, 3, 0, 32, 12, 32, 10, 41, 3, 0, 55, 3, 0, 32, 6, 32, 6, 41, 3, 232, 1, 55, 3, 152, 1, 32, 6, 65, 132, 1, 106, 65, 1, 54, 2, 0, 32, 6, 66, 1, 55, 2, 116, 32, 6, 65, 208, 145, 192, 0, 54, 2, 112, 32, 6, 65, 12, 54, 2, 204, 1, 32, 6, 32, 6, 65, 200, 1, 106, 54, 2, 128, 1, 32, 6, 32, 6, 65, 152, 1, 106, 54, 2, 200, 1, 32, 6, 65, 200, 0, 106, 32, 6, 65, 240, 0, 106, 16, 140, 2, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 6, 41, 3, 72, 55, 2, 0, 32, 0, 65, 20, 106, 32, 6, 65, 208, 0, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 32, 6, 65, 152, 1, 106, 16, 42, 12, 22, 11, 32, 6, 65, 232, 1, 106, 16, 42, 65, 3, 65, 1, 16, 87, 34, 1, 69, 13, 9, 32, 1, 65, 204, 1, 58, 0, 2, 32, 1, 65, 170, 247, 2, 59, 0, 0, 32, 6, 66, 131, 128, 128, 128, 48, 55, 2, 156, 1, 32, 6, 32, 1, 54, 2, 152, 1, 32, 6, 65, 200, 1, 106, 32, 6, 65, 152, 1, 106, 16, 139, 1, 32, 6, 65, 152, 1, 106, 32, 4, 32, 6, 65, 200, 1, 106, 32, 5, 17, 3, 0, 32, 6, 40, 2, 152, 1, 65, 1, 71, 13, 10, 32, 6, 65, 128, 2, 106, 34, 1, 32, 6, 65, 184, 1, 106, 41, 3, 0, 55, 3, 0, 32, 6, 65, 248, 1, 106, 34, 7, 32, 6, 65, 176, 1, 106, 34, 8, 41, 3, 0, 55, 3, 0, 32, 6, 65, 240, 1, 106, 34, 10, 32, 6, 65, 168, 1, 106, 34, 11, 41, 3, 0, 55, 3, 0, 32, 6, 32, 6, 65, 160, 1, 106, 34, 12, 41, 3, 0, 34, 22, 55, 3, 232, 1, 32, 22, 167, 65, 2, 71, 4, 64, 32, 8, 32, 1, 41, 3, 0, 55, 3, 0, 32, 11, 32, 7, 41, 3, 0, 55, 3, 0, 32, 12, 32, 10, 41, 3, 0, 55, 3, 0, 32, 6, 32, 6, 41, 3, 232, 1, 55, 3, 152, 1, 32, 6, 65, 132, 1, 106, 65, 1, 54, 2, 0, 32, 6, 66, 1, 55, 2, 116, 32, 6, 65, 208, 145, 192, 0, 54, 2, 112, 32, 6, 65, 12, 54, 2, 60, 32, 6, 32, 6, 65, 56, 106, 54, 2, 128, 1, 32, 6, 32, 6, 65, 152, 1, 106, 54, 2, 56, 32, 6, 65, 200, 0, 106, 32, 6, 65, 240, 0, 106, 16, 140, 2, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 6, 41, 3, 72, 55, 2, 0, 32, 0, 65, 20, 106, 32, 6, 65, 208, 0, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 32, 6, 65, 152, 1, 106, 16, 42, 12, 21, 11, 32, 6, 65, 232, 1, 106, 16, 42, 65, 17, 65, 1, 16, 87, 34, 1, 69, 13, 11, 32, 1, 66, 166, 205, 154, 181, 234, 212, 169, 211, 166, 127, 55, 0, 0, 32, 1, 65, 16, 106, 65, 166, 127, 58, 0, 0, 32, 1, 65, 8, 106, 66, 166, 205, 154, 181, 234, 212, 169, 211, 166, 127, 55, 0, 0, 32, 6, 66, 145, 128, 128, 128, 144, 2, 55, 2, 156, 1, 32, 6, 32, 1, 54, 2, 152, 1, 32, 6, 65, 200, 0, 106, 32, 6, 65, 152, 1, 106, 16, 139, 1, 32, 6, 65, 152, 1, 106, 32, 4, 32, 6, 65, 200, 0, 106, 32, 5, 17, 3, 0, 32, 6, 40, 2, 152, 1, 65, 1, 71, 13, 12, 32, 6, 65, 128, 2, 106, 34, 1, 32, 6, 65, 184, 1, 106, 41, 3, 0, 55, 3, 0, 32, 6, 65, 248, 1, 106, 32, 6, 65, 176, 1, 106, 34, 4, 41, 3, 0, 55, 3, 0, 32, 6, 65, 240, 1, 106, 32, 6, 65, 168, 1, 106, 41, 3, 0, 55, 3, 0, 32, 6, 32, 6, 65, 160, 1, 106, 41, 3, 0, 34, 22, 55, 3, 232, 1, 32, 22, 167, 65, 2, 71, 4, 64, 32, 4, 32, 1, 41, 3, 0, 55, 3, 0, 32, 6, 65, 168, 1, 106, 32, 6, 65, 248, 1, 106, 41, 3, 0, 55, 3, 0, 32, 6, 65, 160, 1, 106, 32, 6, 65, 240, 1, 106, 41, 3, 0, 55, 3, 0, 32, 6, 32, 6, 41, 3, 232, 1, 55, 3, 152, 1, 32, 6, 65, 132, 1, 106, 65, 1, 54, 2, 0, 32, 6, 66, 1, 55, 2, 116, 32, 6, 65, 208, 145, 192, 0, 54, 2, 112, 32, 6, 65, 12, 54, 2, 60, 32, 6, 32, 6, 65, 56, 106, 54, 2, 128, 1, 32, 6, 32, 6, 65, 152, 1, 106, 54, 2, 56, 32, 6, 65, 24, 106, 32, 6, 65, 240, 0, 106, 16, 140, 2, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 6, 41, 3, 24, 55, 2, 0, 32, 0, 65, 20, 106, 32, 6, 65, 32, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 32, 6, 65, 152, 1, 106, 16, 42, 32, 6, 40, 2, 72, 34, 0, 69, 13, 21, 32, 6, 40, 2, 76, 69, 13, 21, 32, 0, 16, 226, 1, 12, 21, 11, 32, 6, 65, 232, 1, 106, 16, 42, 32, 0, 65, 40, 106, 65, 0, 54, 2, 0, 32, 0, 65, 32, 106, 66, 0, 55, 2, 0, 32, 0, 65, 24, 106, 66, 128, 128, 128, 128, 192, 0, 55, 2, 0, 32, 0, 65, 16, 106, 66, 8, 55, 2, 0, 32, 0, 65, 8, 106, 66, 0, 55, 2, 0, 32, 0, 66, 128, 128, 128, 128, 128, 1, 55, 3, 0, 2, 64, 32, 6, 40, 2, 72, 34, 0, 69, 13, 0, 32, 6, 40, 2, 76, 69, 13, 0, 32, 0, 16, 226, 1, 11, 2, 64, 32, 6, 40, 2, 200, 1, 34, 0, 69, 13, 0, 32, 6, 40, 2, 204, 1, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 6, 40, 2, 0, 34, 0, 69, 13, 22, 32, 6, 40, 2, 4, 69, 13, 22, 32, 0, 16, 226, 1, 12, 22, 11, 32, 6, 65, 16, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 6, 65, 8, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 6, 32, 1, 41, 2, 0, 55, 3, 0, 32, 2, 65, 28, 106, 40, 2, 0, 33, 10, 32, 2, 65, 44, 106, 40, 2, 0, 33, 13, 32, 2, 65, 48, 106, 41, 3, 0, 33, 22, 32, 3, 65, 16, 106, 40, 2, 0, 33, 4, 32, 3, 65, 20, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 24, 33, 5, 32, 2, 40, 2, 40, 33, 2, 32, 3, 40, 2, 0, 33, 7, 32, 3, 40, 2, 4, 33, 11, 32, 3, 40, 2, 8, 33, 19, 32, 3, 40, 2, 12, 33, 3, 32, 6, 65, 200, 0, 106, 32, 6, 40, 2, 0, 65, 163, 143, 192, 0, 65, 6, 32, 6, 40, 2, 4, 40, 2, 12, 17, 6, 0, 2, 64, 2, 64, 32, 6, 40, 2, 72, 34, 12, 69, 4, 64, 65, 5, 65, 1, 16, 87, 34, 8, 69, 13, 21, 32, 8, 65, 4, 106, 65, 193, 143, 192, 0, 45, 0, 0, 58, 0, 0, 32, 8, 65, 189, 143, 192, 0, 40, 0, 0, 54, 0, 0, 32, 6, 65, 248, 0, 106, 32, 6, 65, 160, 1, 106, 41, 3, 0, 34, 22, 55, 3, 0, 32, 6, 32, 6, 41, 3, 152, 1, 34, 23, 55, 3, 112, 32, 0, 65, 16, 106, 66, 133, 128, 128, 128, 208, 0, 55, 3, 0, 32, 0, 65, 12, 106, 32, 8, 54, 2, 0, 32, 0, 65, 8, 106, 65, 6, 54, 2, 0, 32, 0, 65, 24, 106, 32, 23, 55, 2, 0, 32, 0, 65, 32, 106, 32, 22, 55, 2, 0, 32, 0, 65, 1, 54, 2, 0, 32, 7, 69, 32, 11, 69, 114, 69, 4, 64, 32, 7, 16, 226, 1, 11, 32, 1, 4, 64, 32, 1, 65, 5, 116, 33, 1, 32, 3, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 7, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 7, 16, 226, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 4, 69, 32, 4, 65, 5, 116, 69, 114, 69, 4, 64, 32, 3, 16, 226, 1, 11, 32, 5, 69, 32, 10, 69, 114, 13, 1, 32, 5, 16, 226, 1, 12, 1, 11, 32, 6, 40, 2, 76, 33, 16, 32, 6, 65, 152, 1, 106, 32, 12, 32, 6, 65, 208, 0, 106, 40, 2, 0, 16, 22, 32, 6, 65, 184, 1, 106, 40, 2, 0, 33, 17, 32, 6, 65, 180, 1, 106, 40, 2, 0, 33, 8, 32, 6, 65, 176, 1, 106, 40, 2, 0, 33, 20, 32, 6, 65, 172, 1, 106, 40, 2, 0, 33, 15, 32, 6, 65, 168, 1, 106, 40, 2, 0, 33, 9, 32, 6, 65, 164, 1, 106, 40, 2, 0, 33, 21, 32, 6, 65, 160, 1, 106, 40, 2, 0, 33, 18, 32, 6, 40, 2, 152, 1, 65, 1, 71, 4, 64, 32, 6, 40, 2, 156, 1, 33, 14, 32, 19, 32, 21, 70, 4, 64, 32, 7, 32, 14, 32, 19, 16, 214, 2, 69, 13, 3, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 8, 106, 65, 11, 54, 2, 0, 32, 14, 69, 32, 18, 69, 114, 69, 4, 64, 32, 14, 16, 226, 1, 11, 32, 9, 69, 32, 15, 69, 114, 69, 4, 64, 32, 9, 16, 226, 1, 11, 32, 8, 69, 32, 17, 69, 114, 69, 4, 64, 32, 8, 16, 226, 1, 11, 32, 16, 4, 64, 32, 12, 16, 226, 1, 11, 32, 7, 69, 32, 11, 69, 114, 69, 4, 64, 32, 7, 16, 226, 1, 11, 32, 1, 4, 64, 32, 1, 65, 5, 116, 33, 1, 32, 3, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 7, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 7, 16, 226, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 4, 69, 32, 4, 65, 5, 116, 69, 114, 69, 4, 64, 32, 3, 16, 226, 1, 11, 32, 5, 69, 32, 10, 69, 114, 69, 4, 64, 32, 5, 16, 226, 1, 11, 32, 2, 69, 32, 13, 69, 114, 13, 25, 32, 2, 16, 226, 1, 12, 25, 11, 32, 6, 65, 188, 1, 106, 40, 2, 0, 33, 14, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 36, 106, 32, 14, 54, 2, 0, 32, 0, 65, 32, 106, 32, 17, 54, 2, 0, 32, 0, 65, 28, 106, 32, 8, 54, 2, 0, 32, 0, 65, 24, 106, 32, 20, 54, 2, 0, 32, 0, 65, 20, 106, 32, 15, 54, 2, 0, 32, 0, 65, 16, 106, 32, 9, 54, 2, 0, 32, 0, 65, 12, 106, 32, 21, 54, 2, 0, 32, 0, 65, 8, 106, 32, 18, 54, 2, 0, 32, 16, 4, 64, 32, 12, 16, 226, 1, 11, 32, 7, 69, 32, 11, 69, 114, 69, 4, 64, 32, 7, 16, 226, 1, 11, 32, 1, 4, 64, 32, 1, 65, 5, 116, 33, 1, 32, 3, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 7, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 7, 16, 226, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 4, 69, 32, 4, 65, 5, 116, 69, 114, 69, 4, 64, 32, 3, 16, 226, 1, 11, 32, 5, 69, 32, 10, 69, 114, 13, 0, 32, 5, 16, 226, 1, 11, 32, 2, 69, 32, 13, 69, 114, 13, 23, 32, 2, 16, 226, 1, 12, 23, 11, 32, 6, 32, 20, 54, 2, 48, 32, 6, 32, 15, 54, 2, 44, 32, 6, 32, 9, 54, 2, 40, 32, 6, 32, 22, 62, 2, 160, 1, 32, 6, 32, 13, 54, 2, 156, 1, 32, 6, 32, 2, 54, 2, 152, 1, 32, 6, 65, 24, 106, 32, 6, 65, 152, 1, 106, 16, 139, 1, 32, 6, 65, 208, 1, 106, 32, 6, 41, 3, 24, 55, 3, 0, 32, 6, 65, 216, 1, 106, 32, 6, 65, 32, 106, 40, 2, 0, 54, 2, 0, 32, 6, 66, 128, 128, 128, 128, 16, 55, 3, 200, 1, 32, 6, 65, 152, 1, 106, 32, 6, 65, 16, 106, 32, 6, 65, 200, 1, 106, 16, 41, 32, 6, 65, 240, 1, 106, 34, 2, 32, 6, 65, 164, 1, 106, 41, 2, 0, 55, 3, 0, 32, 6, 65, 248, 1, 106, 32, 6, 65, 172, 1, 106, 41, 2, 0, 55, 3, 0, 32, 6, 65, 128, 2, 106, 32, 6, 65, 180, 1, 106, 41, 2, 0, 55, 3, 0, 32, 6, 65, 136, 2, 106, 32, 6, 65, 188, 1, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 2, 156, 1, 55, 3, 232, 1, 2, 64, 32, 6, 40, 2, 152, 1, 65, 1, 71, 4, 64, 32, 6, 65, 248, 0, 106, 34, 9, 32, 2, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 3, 232, 1, 55, 3, 112, 32, 6, 65, 200, 1, 106, 16, 58, 32, 6, 65, 208, 0, 106, 32, 9, 41, 3, 0, 34, 22, 55, 3, 0, 32, 6, 65, 64, 107, 32, 22, 62, 2, 0, 32, 6, 32, 6, 41, 3, 112, 34, 22, 55, 3, 72, 32, 6, 32, 22, 55, 3, 56, 32, 6, 65, 184, 1, 106, 66, 0, 55, 3, 0, 32, 6, 65, 168, 1, 106, 66, 0, 55, 3, 0, 32, 6, 66, 4, 55, 3, 176, 1, 32, 6, 66, 128, 128, 128, 128, 128, 1, 55, 3, 160, 1, 32, 6, 66, 8, 55, 3, 152, 1, 65, 6, 65, 1, 16, 87, 34, 9, 13, 1, 65, 6, 65, 1, 16, 138, 2, 0, 11, 32, 6, 65, 140, 1, 106, 32, 6, 65, 132, 2, 106, 41, 2, 0, 55, 2, 0, 32, 6, 65, 132, 1, 106, 32, 6, 65, 252, 1, 106, 41, 2, 0, 55, 2, 0, 32, 6, 65, 252, 0, 106, 32, 6, 65, 244, 1, 106, 41, 2, 0, 55, 2, 0, 32, 6, 32, 6, 41, 2, 236, 1, 55, 2, 116, 32, 6, 65, 200, 1, 106, 16, 58, 32, 6, 65, 232, 0, 106, 32, 6, 65, 144, 1, 106, 40, 2, 0, 54, 2, 0, 32, 6, 65, 224, 0, 106, 32, 6, 65, 136, 1, 106, 41, 3, 0, 55, 3, 0, 32, 6, 65, 216, 0, 106, 32, 6, 65, 128, 1, 106, 41, 3, 0, 55, 3, 0, 32, 6, 65, 208, 0, 106, 32, 6, 65, 248, 0, 106, 41, 3, 0, 55, 3, 0, 32, 6, 32, 6, 41, 3, 112, 55, 3, 72, 32, 0, 65, 32, 106, 32, 6, 65, 228, 0, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 24, 106, 32, 6, 65, 220, 0, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 16, 106, 32, 6, 65, 212, 0, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 8, 106, 32, 6, 41, 2, 76, 55, 2, 0, 32, 0, 65, 1, 54, 2, 0, 2, 64, 32, 6, 40, 2, 40, 34, 0, 69, 13, 0, 32, 6, 40, 2, 44, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 18, 4, 64, 32, 14, 16, 226, 1, 11, 32, 8, 69, 32, 17, 69, 114, 69, 4, 64, 32, 8, 16, 226, 1, 11, 32, 16, 4, 64, 32, 12, 16, 226, 1, 11, 32, 11, 4, 64, 32, 7, 16, 226, 1, 11, 32, 1, 4, 64, 32, 1, 65, 5, 116, 33, 1, 32, 3, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 2, 16, 226, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 4, 69, 32, 4, 65, 5, 116, 69, 114, 69, 4, 64, 32, 3, 16, 226, 1, 11, 32, 5, 69, 32, 10, 69, 114, 13, 23, 32, 5, 16, 226, 1, 12, 23, 11, 32, 9, 65, 4, 106, 65, 198, 143, 192, 0, 47, 0, 0, 59, 0, 0, 32, 9, 65, 194, 143, 192, 0, 40, 0, 0, 54, 0, 0, 65, 7, 65, 1, 16, 87, 34, 13, 69, 13, 12, 32, 13, 65, 3, 106, 65, 203, 143, 192, 0, 40, 0, 0, 54, 0, 0, 32, 13, 65, 200, 143, 192, 0, 40, 0, 0, 54, 0, 0, 32, 6, 65, 0, 54, 2, 232, 1, 32, 6, 65, 240, 0, 106, 65, 224, 0, 65, 4, 32, 6, 65, 232, 1, 106, 16, 13, 32, 6, 65, 248, 0, 106, 40, 2, 0, 33, 15, 32, 6, 40, 2, 116, 33, 2, 32, 6, 40, 2, 112, 65, 1, 70, 4, 64, 32, 15, 69, 13, 14, 32, 2, 32, 15, 16, 138, 2, 0, 11, 32, 6, 32, 2, 54, 2, 176, 1, 32, 6, 32, 15, 65, 24, 110, 54, 2, 180, 1, 32, 2, 65, 16, 106, 66, 135, 128, 128, 128, 240, 0, 55, 2, 0, 32, 2, 32, 13, 54, 2, 12, 32, 2, 66, 134, 128, 128, 128, 224, 0, 55, 2, 4, 32, 2, 32, 9, 54, 2, 0, 32, 6, 65, 1, 54, 2, 184, 1, 32, 6, 65, 200, 1, 106, 32, 6, 65, 40, 106, 16, 142, 2, 65, 11, 65, 1, 16, 87, 34, 9, 69, 13, 14, 32, 9, 65, 7, 106, 65, 214, 143, 192, 0, 40, 0, 0, 54, 0, 0, 32, 9, 65, 207, 143, 192, 0, 41, 0, 0, 55, 0, 0, 32, 6, 65, 240, 1, 106, 32, 6, 65, 208, 1, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 3, 200, 1, 55, 3, 232, 1, 32, 6, 65, 200, 0, 106, 32, 6, 65, 232, 1, 106, 16, 139, 1, 2, 64, 32, 6, 40, 2, 180, 1, 65, 1, 70, 4, 64, 32, 6, 66, 152, 128, 128, 128, 192, 0, 55, 2, 236, 1, 32, 6, 32, 6, 40, 2, 176, 1, 54, 2, 232, 1, 32, 6, 65, 240, 0, 106, 65, 224, 0, 65, 4, 32, 6, 65, 232, 1, 106, 16, 13, 32, 6, 65, 248, 0, 106, 40, 2, 0, 33, 13, 32, 6, 40, 2, 116, 33, 2, 32, 6, 40, 2, 112, 65, 1, 70, 13, 1, 32, 6, 32, 2, 54, 2, 176, 1, 32, 6, 32, 13, 65, 24, 110, 54, 2, 180, 1, 11, 32, 2, 32, 9, 54, 2, 24, 32, 2, 65, 28, 106, 66, 139, 128, 128, 128, 176, 1, 55, 2, 0, 32, 2, 65, 36, 106, 32, 6, 41, 3, 72, 55, 2, 0, 32, 2, 65, 44, 106, 32, 6, 65, 208, 0, 106, 34, 2, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 40, 2, 184, 1, 65, 1, 106, 54, 2, 184, 1, 32, 6, 65, 248, 0, 106, 32, 6, 65, 48, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 3, 40, 55, 3, 112, 32, 6, 65, 200, 0, 106, 32, 6, 65, 240, 0, 106, 16, 139, 1, 32, 6, 65, 244, 1, 106, 32, 2, 40, 2, 0, 54, 2, 0, 32, 6, 65, 248, 1, 106, 32, 6, 41, 3, 56, 55, 3, 0, 32, 6, 65, 128, 2, 106, 32, 6, 65, 64, 107, 40, 2, 0, 54, 2, 0, 32, 6, 65, 0, 54, 2, 232, 1, 32, 6, 32, 6, 41, 3, 72, 55, 2, 236, 1, 32, 6, 65, 152, 1, 106, 32, 6, 65, 232, 1, 106, 16, 44, 65, 3, 65, 1, 16, 87, 34, 2, 69, 13, 16, 32, 2, 65, 2, 106, 65, 220, 143, 192, 0, 45, 0, 0, 58, 0, 0, 32, 2, 65, 218, 143, 192, 0, 47, 0, 0, 59, 0, 0, 2, 64, 32, 6, 40, 2, 188, 1, 34, 9, 69, 13, 0, 32, 6, 65, 192, 1, 106, 40, 2, 0, 69, 13, 0, 32, 9, 16, 226, 1, 11, 32, 0, 32, 6, 41, 3, 152, 1, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 44, 106, 66, 131, 128, 128, 128, 48, 55, 2, 0, 32, 0, 65, 12, 106, 32, 6, 65, 160, 1, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 20, 106, 32, 6, 65, 168, 1, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 28, 106, 32, 6, 65, 176, 1, 106, 41, 3, 0, 55, 2, 0, 32, 6, 32, 2, 54, 2, 188, 1, 32, 0, 65, 36, 106, 32, 6, 65, 184, 1, 106, 41, 3, 0, 55, 2, 0, 32, 18, 4, 64, 32, 14, 16, 226, 1, 11, 32, 8, 69, 32, 17, 69, 114, 69, 4, 64, 32, 8, 16, 226, 1, 11, 32, 16, 4, 64, 32, 12, 16, 226, 1, 11, 32, 11, 4, 64, 32, 7, 16, 226, 1, 11, 32, 1, 4, 64, 32, 1, 65, 5, 116, 33, 1, 32, 3, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 2, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 2, 16, 226, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 4, 69, 32, 4, 65, 5, 116, 69, 114, 69, 4, 64, 32, 3, 16, 226, 1, 11, 32, 5, 69, 32, 10, 69, 114, 13, 23, 32, 5, 16, 226, 1, 12, 23, 11, 32, 13, 69, 13, 13, 32, 2, 32, 13, 16, 138, 2, 0, 11, 16, 78, 0, 11, 32, 6, 65, 168, 1, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 6, 65, 160, 1, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 6, 32, 1, 41, 2, 0, 55, 3, 152, 1, 32, 6, 65, 152, 1, 106, 16, 79, 0, 11, 16, 80, 0, 11, 32, 5, 64, 0, 34, 1, 65, 127, 70, 4, 64, 65, 18, 65, 1, 16, 87, 34, 1, 69, 13, 13, 32, 1, 65, 16, 106, 65, 216, 144, 192, 0, 47, 0, 0, 59, 0, 0, 32, 1, 65, 8, 106, 65, 208, 144, 192, 0, 41, 0, 0, 55, 0, 0, 32, 1, 65, 200, 144, 192, 0, 41, 0, 0, 55, 0, 0, 32, 6, 65, 240, 1, 106, 32, 6, 65, 160, 1, 106, 41, 3, 0, 34, 22, 55, 3, 0, 32, 6, 32, 6, 41, 3, 152, 1, 34, 23, 55, 3, 232, 1, 32, 0, 65, 16, 106, 66, 146, 128, 128, 128, 160, 2, 55, 3, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 24, 106, 32, 23, 55, 3, 0, 32, 0, 65, 32, 106, 32, 22, 55, 3, 0, 32, 0, 65, 1, 54, 2, 0, 12, 18, 11, 65, 4, 65, 1, 16, 87, 34, 4, 69, 13, 13, 32, 0, 66, 128, 128, 128, 128, 128, 1, 55, 3, 0, 32, 0, 65, 44, 106, 66, 132, 128, 128, 128, 192, 0, 55, 2, 0, 32, 0, 65, 40, 106, 32, 4, 54, 2, 0, 32, 0, 65, 32, 106, 66, 0, 55, 2, 0, 32, 0, 65, 24, 106, 66, 128, 128, 128, 128, 192, 0, 55, 2, 0, 32, 0, 65, 16, 106, 66, 8, 55, 2, 0, 32, 0, 65, 8, 106, 66, 0, 55, 2, 0, 32, 4, 32, 1, 65, 8, 116, 65, 128, 128, 252, 7, 113, 32, 1, 65, 24, 116, 114, 32, 1, 65, 8, 118, 65, 128, 254, 3, 113, 32, 1, 65, 24, 118, 114, 114, 54, 0, 0, 12, 17, 11, 16, 48, 0, 11, 32, 6, 65, 248, 0, 106, 32, 6, 65, 164, 1, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 2, 156, 1, 55, 3, 112, 65, 180, 140, 192, 0, 65, 46, 32, 6, 65, 240, 0, 106, 65, 244, 140, 192, 0, 65, 140, 145, 192, 0, 16, 162, 2, 0, 11, 32, 6, 65, 248, 0, 106, 32, 6, 65, 164, 1, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 2, 156, 1, 55, 3, 112, 65, 180, 140, 192, 0, 65, 46, 32, 6, 65, 240, 0, 106, 65, 244, 140, 192, 0, 65, 244, 145, 192, 0, 16, 162, 2, 0, 11, 32, 6, 65, 248, 0, 106, 32, 6, 65, 164, 1, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 2, 156, 1, 55, 3, 112, 65, 180, 140, 192, 0, 65, 46, 32, 6, 65, 240, 0, 106, 65, 228, 140, 192, 0, 65, 132, 146, 192, 0, 16, 162, 2, 0, 11, 65, 3, 65, 1, 16, 138, 2, 0, 11, 32, 6, 65, 248, 0, 106, 32, 6, 65, 164, 1, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 2, 156, 1, 55, 3, 112, 65, 180, 140, 192, 0, 65, 46, 32, 6, 65, 240, 0, 106, 65, 228, 140, 192, 0, 65, 148, 146, 192, 0, 16, 162, 2, 0, 11, 65, 17, 65, 1, 16, 138, 2, 0, 11, 32, 6, 65, 248, 0, 106, 32, 6, 65, 164, 1, 106, 40, 2, 0, 54, 2, 0, 32, 6, 32, 6, 41, 2, 156, 1, 55, 3, 112, 65, 180, 140, 192, 0, 65, 46, 32, 6, 65, 240, 0, 106, 65, 228, 140, 192, 0, 65, 164, 146, 192, 0, 16, 162, 2, 0, 11, 65, 7, 65, 1, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 65, 11, 65, 1, 16, 138, 2, 0, 11, 65, 3, 65, 1, 16, 138, 2, 0, 11, 65, 18, 65, 1, 16, 138, 2, 0, 11, 65, 4, 65, 1, 16, 138, 2, 0, 11, 65, 5, 65, 1, 16, 138, 2, 0, 11, 32, 6, 40, 2, 200, 1, 34, 0, 69, 13, 0, 32, 6, 40, 2, 204, 1, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 6, 40, 2, 0, 34, 0, 69, 13, 0, 32, 6, 40, 2, 4, 69, 13, 0, 32, 0, 16, 226, 1, 11, 2, 64, 32, 3, 40, 2, 0, 34, 0, 69, 13, 0, 32, 3, 65, 4, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 3, 40, 2, 12, 33, 4, 32, 3, 65, 20, 106, 40, 2, 0, 34, 0, 4, 64, 32, 0, 65, 5, 116, 33, 1, 32, 4, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 0, 40, 2, 0, 69, 13, 0, 32, 5, 16, 226, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 3, 65, 16, 106, 40, 2, 0, 34, 0, 69, 32, 0, 65, 5, 116, 69, 114, 69, 4, 64, 32, 4, 16, 226, 1, 11, 2, 64, 32, 2, 40, 2, 24, 34, 0, 69, 13, 0, 32, 2, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 2, 40, 2, 40, 34, 0, 69, 13, 0, 32, 2, 65, 44, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 6, 65, 144, 2, 106, 36, 0, 11, 53, 1, 2, 126, 66, 1, 33, 0, 3, 64, 66, 0, 32, 0, 32, 0, 66, 255, 179, 196, 195, 33, 86, 27, 34, 1, 66, 1, 124, 34, 0, 32, 1, 90, 13, 0, 11, 65, 128, 128, 192, 0, 65, 28, 65, 236, 143, 192, 0, 16, 147, 2, 0, 11, 128, 2, 2, 3, 127, 2, 126, 35, 0, 65, 64, 106, 34, 1, 36, 0, 32, 0, 40, 2, 4, 33, 2, 32, 0, 40, 2, 0, 33, 0, 2, 64, 3, 64, 32, 1, 32, 4, 55, 3, 0, 32, 1, 65, 0, 54, 2, 16, 32, 1, 66, 1, 55, 3, 8, 32, 1, 32, 1, 54, 2, 20, 32, 1, 65, 13, 54, 2, 28, 32, 1, 32, 1, 65, 20, 106, 54, 2, 24, 32, 1, 32, 1, 65, 8, 106, 54, 2, 36, 32, 1, 65, 1, 54, 2, 60, 32, 1, 66, 1, 55, 2, 44, 32, 1, 65, 212, 134, 192, 0, 54, 2, 40, 32, 1, 32, 1, 65, 24, 106, 54, 2, 56, 32, 1, 65, 36, 106, 65, 156, 140, 192, 0, 32, 1, 65, 40, 106, 16, 156, 2, 13, 1, 32, 0, 65, 252, 143, 192, 0, 65, 8, 32, 1, 40, 2, 8, 32, 1, 40, 2, 16, 32, 2, 40, 2, 16, 17, 7, 0, 2, 64, 32, 1, 40, 2, 8, 34, 3, 69, 13, 0, 32, 1, 40, 2, 12, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 1, 41, 3, 0, 34, 5, 66, 1, 124, 34, 4, 32, 5, 90, 13, 0, 11, 65, 128, 128, 192, 0, 65, 28, 65, 132, 144, 192, 0, 16, 147, 2, 0, 11, 65, 220, 134, 192, 0, 65, 55, 32, 1, 65, 40, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 168, 2, 1, 7, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 2, 64, 65, 4, 65, 4, 16, 87, 34, 0, 4, 64, 32, 0, 65, 1, 54, 2, 0, 65, 1, 33, 1, 65, 1, 33, 4, 2, 64, 2, 64, 3, 64, 32, 0, 32, 3, 106, 40, 2, 0, 34, 5, 65, 1, 106, 34, 6, 32, 5, 73, 13, 2, 32, 1, 32, 4, 70, 4, 64, 32, 1, 65, 1, 106, 34, 5, 32, 1, 73, 13, 5, 32, 2, 32, 1, 65, 2, 116, 54, 2, 20, 32, 2, 32, 0, 54, 2, 16, 32, 2, 65, 4, 54, 2, 24, 32, 2, 32, 1, 65, 1, 116, 34, 0, 32, 5, 32, 0, 32, 5, 75, 27, 34, 0, 65, 4, 32, 0, 65, 4, 75, 27, 34, 0, 65, 2, 116, 32, 0, 65, 255, 255, 255, 255, 3, 113, 32, 0, 70, 65, 2, 116, 32, 2, 65, 16, 106, 16, 13, 32, 2, 40, 2, 4, 33, 0, 32, 2, 40, 2, 8, 33, 1, 32, 2, 40, 2, 0, 65, 1, 70, 13, 2, 32, 1, 65, 2, 118, 33, 1, 11, 32, 0, 32, 3, 106, 65, 4, 106, 32, 6, 54, 2, 0, 32, 4, 65, 127, 71, 4, 64, 32, 3, 65, 4, 106, 33, 3, 32, 4, 65, 1, 106, 33, 4, 32, 0, 13, 1, 11, 11, 65, 148, 144, 192, 0, 65, 17, 65, 168, 144, 192, 0, 16, 160, 2, 0, 11, 32, 1, 69, 13, 2, 32, 0, 32, 1, 16, 138, 2, 0, 11, 65, 128, 128, 192, 0, 65, 28, 65, 184, 144, 192, 0, 16, 147, 2, 0, 11, 65, 4, 65, 4, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 133, 67, 2, 12, 127, 3, 126, 35, 0, 65, 224, 3, 107, 34, 4, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 0, 65, 1, 107, 14, 2, 1, 0, 2, 11, 32, 3, 65, 8, 106, 40, 2, 0, 33, 7, 32, 3, 40, 2, 4, 33, 11, 32, 4, 65, 232, 0, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 4, 65, 224, 0, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 4, 32, 1, 41, 2, 0, 55, 3, 88, 32, 2, 65, 44, 106, 40, 2, 0, 33, 12, 32, 4, 65, 240, 0, 106, 32, 2, 40, 2, 40, 34, 13, 32, 2, 65, 48, 106, 40, 2, 0, 34, 15, 16, 143, 2, 2, 64, 32, 7, 4, 64, 32, 4, 40, 2, 112, 33, 1, 32, 4, 40, 2, 116, 33, 5, 32, 4, 40, 2, 120, 33, 9, 32, 4, 65, 168, 1, 106, 33, 8, 32, 4, 65, 160, 1, 106, 33, 10, 32, 4, 65, 152, 1, 106, 33, 14, 32, 7, 33, 6, 3, 64, 32, 1, 33, 3, 32, 4, 65, 176, 1, 106, 16, 211, 1, 32, 4, 65, 176, 1, 106, 32, 1, 32, 9, 16, 208, 1, 32, 8, 66, 0, 55, 3, 0, 32, 10, 66, 0, 55, 3, 0, 32, 14, 66, 0, 55, 3, 0, 32, 4, 66, 0, 55, 3, 144, 1, 32, 4, 65, 160, 2, 106, 32, 4, 65, 176, 1, 106, 65, 240, 0, 16, 212, 2, 26, 32, 4, 65, 160, 2, 106, 32, 4, 65, 144, 1, 106, 16, 212, 1, 65, 32, 65, 1, 16, 87, 34, 1, 69, 13, 2, 32, 1, 32, 4, 41, 3, 144, 1, 55, 0, 0, 32, 1, 65, 24, 106, 32, 8, 41, 3, 0, 55, 0, 0, 32, 1, 65, 16, 106, 32, 10, 41, 3, 0, 55, 0, 0, 32, 1, 65, 8, 106, 32, 14, 41, 3, 0, 55, 0, 0, 32, 3, 69, 32, 5, 69, 114, 69, 4, 64, 32, 3, 16, 226, 1, 11, 65, 32, 33, 5, 65, 32, 33, 9, 32, 6, 65, 127, 106, 34, 6, 13, 0, 11, 32, 4, 32, 1, 54, 2, 112, 32, 4, 66, 160, 128, 128, 128, 128, 4, 55, 2, 116, 11, 32, 11, 69, 4, 64, 32, 4, 65, 168, 2, 106, 32, 4, 65, 248, 0, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 3, 112, 55, 3, 160, 2, 32, 4, 65, 176, 1, 106, 32, 4, 65, 160, 2, 106, 16, 139, 1, 32, 4, 40, 2, 176, 1, 33, 6, 32, 4, 40, 2, 180, 1, 33, 1, 32, 4, 40, 2, 184, 1, 33, 3, 32, 12, 4, 64, 32, 13, 16, 226, 1, 11, 32, 4, 65, 168, 3, 106, 33, 11, 12, 19, 11, 32, 4, 65, 136, 1, 106, 34, 1, 32, 7, 54, 2, 0, 32, 4, 65, 2, 54, 2, 128, 1, 32, 4, 32, 11, 65, 127, 106, 54, 2, 132, 1, 32, 4, 32, 15, 54, 2, 168, 2, 32, 4, 32, 12, 54, 2, 164, 2, 32, 4, 32, 13, 54, 2, 160, 2, 32, 4, 65, 208, 3, 106, 32, 4, 65, 160, 2, 106, 16, 139, 1, 32, 4, 65, 184, 3, 106, 16, 187, 1, 32, 4, 65, 160, 2, 106, 32, 4, 65, 184, 3, 106, 65, 149, 148, 192, 0, 65, 7, 16, 195, 1, 2, 64, 2, 64, 2, 64, 32, 4, 65, 152, 3, 106, 2, 127, 32, 4, 40, 2, 160, 2, 65, 1, 70, 4, 64, 32, 4, 65, 188, 1, 106, 32, 4, 65, 172, 2, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 164, 2, 55, 2, 180, 1, 32, 4, 65, 1, 54, 2, 176, 1, 32, 4, 65, 176, 1, 106, 65, 4, 114, 12, 1, 11, 32, 4, 32, 4, 40, 2, 164, 2, 54, 2, 160, 3, 32, 4, 32, 4, 65, 168, 2, 106, 45, 0, 0, 58, 0, 164, 3, 32, 4, 65, 160, 2, 106, 32, 4, 65, 160, 3, 106, 65, 156, 148, 192, 0, 65, 5, 32, 4, 65, 128, 1, 106, 65, 4, 114, 16, 16, 32, 4, 40, 2, 160, 2, 65, 1, 70, 4, 64, 32, 4, 65, 188, 1, 106, 32, 4, 65, 172, 2, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 164, 2, 55, 2, 180, 1, 32, 4, 65, 1, 54, 2, 176, 1, 32, 4, 65, 176, 1, 106, 65, 4, 114, 12, 1, 11, 32, 4, 65, 160, 2, 106, 32, 4, 65, 160, 3, 106, 65, 161, 148, 192, 0, 65, 4, 32, 1, 16, 16, 32, 4, 40, 2, 160, 2, 65, 1, 71, 13, 1, 32, 4, 65, 188, 1, 106, 32, 4, 65, 172, 2, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 164, 2, 55, 2, 180, 1, 32, 4, 65, 1, 54, 2, 176, 1, 32, 4, 65, 176, 1, 106, 65, 4, 114, 11, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 1, 41, 2, 0, 55, 3, 144, 3, 12, 1, 11, 32, 4, 65, 176, 1, 106, 32, 4, 40, 2, 160, 3, 32, 4, 45, 0, 164, 3, 16, 185, 1, 32, 4, 65, 152, 3, 106, 32, 4, 65, 188, 1, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 180, 1, 55, 3, 144, 3, 32, 4, 40, 2, 176, 1, 65, 1, 71, 13, 1, 11, 32, 4, 65, 176, 3, 106, 34, 1, 32, 4, 65, 152, 3, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 3, 144, 3, 55, 3, 168, 3, 2, 64, 32, 4, 40, 2, 184, 3, 34, 3, 69, 13, 0, 32, 4, 40, 2, 188, 3, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 4, 65, 184, 1, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 3, 168, 3, 55, 3, 176, 1, 32, 4, 65, 160, 2, 106, 65, 174, 139, 192, 0, 65, 23, 32, 4, 65, 176, 1, 106, 16, 33, 32, 4, 65, 168, 2, 106, 41, 3, 0, 33, 16, 32, 4, 65, 176, 2, 106, 40, 2, 0, 33, 5, 32, 4, 65, 180, 2, 106, 40, 2, 0, 33, 9, 32, 4, 65, 184, 2, 106, 40, 2, 0, 33, 8, 32, 4, 65, 188, 2, 106, 40, 2, 0, 33, 10, 32, 4, 40, 2, 160, 2, 33, 1, 32, 4, 40, 2, 164, 2, 33, 3, 2, 64, 32, 4, 40, 2, 208, 3, 34, 6, 69, 13, 0, 32, 4, 40, 2, 212, 3, 69, 13, 0, 32, 6, 16, 226, 1, 11, 32, 4, 40, 2, 112, 34, 6, 69, 13, 18, 32, 4, 40, 2, 116, 69, 13, 18, 32, 6, 16, 226, 1, 12, 18, 11, 32, 4, 65, 164, 1, 106, 32, 4, 41, 3, 184, 3, 55, 2, 0, 32, 4, 65, 160, 1, 106, 32, 4, 40, 2, 216, 3, 54, 2, 0, 32, 4, 65, 152, 1, 106, 32, 4, 41, 3, 208, 3, 55, 3, 0, 32, 4, 65, 172, 1, 106, 32, 4, 65, 192, 3, 106, 40, 2, 0, 54, 2, 0, 32, 4, 66, 3, 55, 3, 144, 1, 32, 4, 65, 160, 2, 106, 32, 4, 65, 144, 1, 106, 16, 37, 65, 1, 33, 7, 32, 4, 40, 2, 160, 2, 65, 1, 70, 13, 7, 32, 4, 65, 168, 2, 106, 34, 3, 40, 2, 0, 33, 15, 32, 4, 65, 172, 2, 106, 40, 2, 0, 33, 1, 32, 4, 40, 2, 164, 2, 33, 12, 32, 4, 65, 64, 107, 32, 4, 65, 232, 0, 106, 16, 144, 1, 32, 4, 65, 176, 1, 106, 32, 4, 40, 2, 64, 32, 12, 32, 1, 32, 4, 40, 2, 68, 40, 2, 12, 17, 6, 0, 32, 4, 40, 2, 176, 1, 65, 1, 70, 13, 9, 32, 4, 40, 2, 180, 1, 65, 1, 70, 13, 8, 32, 4, 65, 176, 3, 106, 32, 4, 65, 192, 1, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 65, 184, 1, 106, 41, 3, 0, 55, 3, 168, 3, 32, 4, 65, 56, 106, 32, 4, 65, 168, 3, 106, 16, 138, 1, 32, 4, 65, 208, 3, 106, 32, 4, 40, 2, 56, 32, 4, 40, 2, 60, 16, 174, 1, 32, 4, 65, 48, 106, 32, 4, 65, 208, 3, 106, 16, 181, 1, 32, 4, 45, 0, 48, 65, 1, 113, 69, 4, 64, 65, 4, 33, 5, 12, 14, 11, 32, 4, 45, 0, 49, 65, 251, 0, 71, 4, 64, 65, 14, 33, 5, 12, 14, 11, 32, 4, 65, 208, 3, 106, 16, 175, 1, 32, 4, 65, 40, 106, 32, 4, 65, 208, 3, 106, 16, 173, 1, 32, 4, 45, 0, 44, 33, 1, 32, 4, 65, 32, 106, 32, 4, 40, 2, 40, 34, 9, 16, 181, 1, 2, 64, 32, 4, 45, 0, 32, 65, 1, 113, 69, 4, 64, 65, 0, 33, 6, 65, 2, 33, 5, 12, 1, 11, 32, 4, 45, 0, 33, 33, 5, 32, 1, 65, 1, 113, 33, 8, 32, 4, 65, 192, 3, 106, 33, 13, 32, 4, 65, 160, 2, 106, 65, 4, 114, 33, 11, 32, 4, 65, 184, 3, 106, 65, 4, 114, 33, 14, 65, 0, 33, 6, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 5, 65, 255, 1, 113, 34, 10, 65, 44, 71, 4, 64, 32, 10, 65, 253, 0, 70, 13, 1, 32, 8, 65, 255, 1, 113, 13, 2, 65, 9, 33, 5, 12, 6, 11, 32, 8, 65, 255, 1, 113, 4, 64, 65, 16, 33, 5, 12, 6, 11, 32, 9, 16, 175, 1, 32, 4, 65, 24, 106, 32, 9, 16, 181, 1, 32, 4, 45, 0, 24, 65, 1, 113, 69, 13, 2, 32, 4, 45, 0, 25, 33, 5, 12, 1, 11, 32, 6, 4, 64, 32, 4, 65, 160, 2, 106, 32, 4, 65, 208, 3, 106, 16, 178, 1, 32, 4, 65, 172, 2, 106, 33, 9, 32, 4, 65, 168, 2, 106, 33, 8, 32, 4, 40, 2, 160, 2, 34, 5, 65, 21, 71, 4, 64, 32, 9, 40, 2, 0, 33, 7, 32, 8, 40, 2, 0, 33, 8, 32, 4, 40, 2, 164, 2, 33, 10, 32, 1, 69, 13, 20, 32, 6, 16, 226, 1, 12, 20, 11, 32, 4, 65, 160, 2, 106, 32, 4, 65, 208, 3, 106, 16, 176, 1, 32, 4, 40, 2, 160, 2, 34, 5, 65, 21, 71, 4, 64, 32, 9, 40, 2, 0, 33, 7, 32, 8, 40, 2, 0, 33, 8, 32, 4, 40, 2, 164, 2, 33, 10, 32, 1, 69, 13, 20, 32, 6, 16, 226, 1, 12, 20, 11, 65, 0, 12, 20, 11, 32, 4, 65, 160, 2, 106, 65, 223, 148, 192, 0, 65, 6, 16, 23, 32, 4, 65, 172, 2, 106, 40, 2, 0, 33, 7, 32, 4, 65, 168, 2, 106, 40, 2, 0, 33, 8, 32, 4, 40, 2, 164, 2, 33, 10, 32, 4, 40, 2, 160, 2, 33, 5, 12, 18, 11, 32, 5, 65, 255, 1, 113, 34, 8, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 8, 65, 253, 0, 70, 27, 33, 5, 12, 4, 11, 32, 4, 65, 16, 106, 32, 9, 16, 181, 1, 32, 4, 45, 0, 16, 65, 1, 113, 13, 1, 11, 65, 4, 33, 5, 12, 2, 11, 32, 4, 45, 0, 17, 65, 34, 71, 4, 64, 65, 14, 33, 5, 12, 2, 11, 32, 9, 16, 175, 1, 32, 4, 65, 160, 2, 106, 32, 9, 16, 180, 1, 32, 4, 40, 2, 176, 2, 33, 7, 32, 4, 40, 2, 172, 2, 33, 8, 32, 4, 40, 2, 168, 2, 33, 10, 32, 4, 40, 2, 164, 2, 33, 5, 32, 4, 40, 2, 160, 2, 65, 1, 70, 13, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 5, 4, 64, 32, 7, 65, 6, 71, 4, 127, 65, 1, 5, 32, 10, 65, 223, 148, 192, 0, 65, 6, 16, 214, 2, 65, 0, 71, 11, 33, 5, 32, 8, 69, 32, 10, 69, 114, 13, 1, 32, 10, 16, 226, 1, 12, 1, 11, 32, 8, 65, 6, 71, 13, 1, 32, 10, 65, 223, 148, 192, 0, 65, 6, 16, 214, 2, 65, 0, 71, 33, 5, 11, 32, 5, 69, 13, 1, 11, 32, 4, 65, 160, 2, 106, 32, 9, 16, 179, 1, 32, 4, 65, 152, 3, 106, 32, 11, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 11, 41, 2, 0, 55, 3, 144, 3, 32, 4, 40, 2, 160, 2, 34, 5, 65, 21, 70, 13, 1, 32, 14, 32, 4, 41, 3, 144, 3, 55, 2, 0, 32, 14, 65, 8, 106, 32, 4, 65, 152, 3, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 5, 54, 2, 184, 3, 12, 2, 11, 32, 6, 4, 64, 32, 4, 65, 160, 2, 106, 65, 223, 148, 192, 0, 65, 6, 16, 24, 32, 4, 65, 172, 2, 106, 40, 2, 0, 33, 7, 32, 4, 65, 168, 2, 106, 40, 2, 0, 33, 8, 32, 4, 40, 2, 164, 2, 33, 10, 32, 4, 40, 2, 160, 2, 33, 5, 32, 1, 69, 13, 21, 12, 20, 11, 32, 4, 65, 160, 2, 106, 32, 9, 16, 179, 1, 32, 4, 65, 152, 3, 106, 32, 11, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 11, 41, 2, 0, 55, 3, 144, 3, 2, 64, 2, 64, 32, 4, 40, 2, 160, 2, 34, 5, 65, 21, 70, 4, 64, 32, 4, 65, 8, 106, 32, 9, 16, 181, 1, 32, 4, 45, 0, 8, 65, 1, 113, 69, 13, 5, 32, 4, 45, 0, 9, 65, 34, 71, 4, 64, 32, 4, 66, 129, 128, 128, 128, 224, 1, 55, 3, 184, 3, 65, 14, 33, 5, 12, 22, 11, 32, 9, 16, 175, 1, 32, 4, 65, 160, 2, 106, 32, 9, 16, 180, 1, 32, 4, 40, 2, 176, 2, 33, 8, 32, 4, 40, 2, 172, 2, 33, 3, 32, 4, 40, 2, 168, 2, 33, 1, 32, 4, 40, 2, 164, 2, 33, 5, 32, 4, 40, 2, 160, 2, 65, 1, 70, 13, 6, 32, 5, 69, 13, 1, 32, 4, 65, 184, 3, 106, 32, 1, 32, 8, 16, 66, 32, 3, 69, 13, 2, 32, 1, 16, 226, 1, 12, 2, 11, 32, 13, 32, 4, 41, 3, 144, 3, 55, 2, 0, 32, 13, 65, 8, 106, 32, 4, 65, 152, 3, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 5, 54, 2, 188, 3, 32, 4, 65, 1, 54, 2, 184, 3, 12, 20, 11, 32, 4, 65, 184, 3, 106, 32, 1, 32, 3, 16, 66, 11, 32, 4, 40, 2, 184, 3, 65, 1, 70, 4, 64, 32, 4, 40, 2, 188, 3, 33, 5, 12, 19, 11, 32, 4, 40, 2, 196, 3, 33, 3, 32, 4, 40, 2, 192, 3, 33, 1, 32, 4, 40, 2, 188, 3, 33, 6, 12, 4, 11, 32, 4, 65, 184, 3, 106, 32, 9, 16, 26, 32, 4, 40, 2, 184, 3, 34, 5, 65, 21, 70, 13, 3, 11, 32, 4, 65, 196, 3, 106, 40, 2, 0, 33, 7, 32, 4, 65, 192, 3, 106, 40, 2, 0, 33, 8, 32, 4, 40, 2, 188, 3, 33, 10, 12, 4, 11, 32, 4, 66, 129, 128, 128, 128, 192, 0, 55, 3, 184, 3, 65, 4, 33, 5, 12, 15, 11, 32, 4, 32, 8, 54, 2, 200, 3, 32, 4, 32, 3, 54, 2, 196, 3, 32, 4, 32, 1, 54, 2, 192, 3, 32, 4, 32, 5, 54, 2, 188, 3, 32, 4, 65, 1, 54, 2, 184, 3, 12, 14, 11, 32, 4, 32, 9, 16, 181, 1, 65, 0, 33, 8, 32, 4, 45, 0, 1, 33, 5, 32, 4, 45, 0, 0, 65, 1, 113, 13, 0, 11, 65, 2, 33, 5, 11, 32, 1, 69, 13, 13, 32, 6, 13, 12, 12, 13, 11, 65, 32, 65, 1, 16, 138, 2, 0, 11, 32, 4, 65, 160, 1, 106, 34, 6, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 4, 65, 152, 1, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 4, 32, 1, 41, 2, 0, 55, 3, 144, 1, 32, 4, 65, 184, 1, 106, 32, 3, 41, 2, 4, 55, 3, 0, 32, 4, 65, 192, 1, 106, 32, 3, 65, 12, 106, 40, 2, 0, 54, 2, 0, 32, 4, 66, 128, 128, 128, 128, 16, 55, 3, 176, 1, 32, 4, 65, 160, 2, 106, 32, 6, 32, 4, 65, 176, 1, 106, 16, 41, 32, 4, 40, 2, 160, 2, 33, 6, 32, 4, 65, 196, 2, 106, 40, 2, 0, 33, 7, 32, 4, 65, 192, 2, 106, 40, 2, 0, 33, 5, 32, 4, 65, 188, 2, 106, 40, 2, 0, 33, 8, 32, 4, 65, 184, 2, 106, 40, 2, 0, 33, 10, 32, 4, 65, 176, 2, 106, 41, 3, 0, 33, 16, 32, 4, 65, 172, 2, 106, 40, 2, 0, 33, 1, 32, 4, 65, 168, 2, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 164, 2, 33, 9, 32, 4, 65, 176, 1, 106, 16, 58, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 176, 3, 106, 2, 127, 2, 64, 2, 64, 32, 6, 65, 1, 71, 4, 64, 32, 4, 32, 1, 54, 2, 96, 32, 4, 32, 3, 54, 2, 92, 32, 4, 32, 9, 54, 2, 88, 32, 4, 65, 184, 3, 106, 16, 187, 1, 32, 4, 65, 160, 2, 106, 32, 4, 65, 184, 3, 106, 16, 194, 1, 32, 4, 40, 2, 160, 2, 65, 1, 70, 4, 64, 32, 4, 65, 188, 1, 106, 32, 4, 65, 172, 2, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 164, 2, 55, 2, 180, 1, 32, 4, 65, 1, 54, 2, 176, 1, 32, 4, 65, 176, 1, 106, 65, 4, 114, 12, 4, 11, 32, 4, 40, 2, 164, 2, 34, 1, 65, 8, 106, 40, 2, 0, 33, 3, 32, 4, 65, 168, 2, 106, 45, 0, 0, 13, 2, 32, 1, 65, 4, 106, 40, 2, 0, 32, 3, 71, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 2, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 25, 32, 3, 65, 1, 116, 34, 7, 32, 6, 32, 7, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 4, 65, 0, 54, 2, 160, 2, 12, 1, 11, 32, 1, 40, 2, 0, 33, 7, 32, 4, 65, 168, 2, 106, 65, 1, 54, 2, 0, 32, 4, 32, 3, 54, 2, 164, 2, 32, 4, 32, 7, 54, 2, 160, 2, 11, 32, 4, 65, 144, 1, 106, 32, 6, 65, 1, 32, 4, 65, 160, 2, 106, 16, 13, 32, 4, 65, 152, 1, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 148, 1, 33, 5, 32, 4, 40, 2, 144, 1, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 3, 12, 2, 11, 32, 3, 69, 13, 25, 12, 33, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 36, 106, 32, 7, 54, 2, 0, 32, 0, 65, 32, 106, 32, 5, 54, 2, 0, 32, 0, 65, 28, 106, 32, 8, 54, 2, 0, 32, 0, 65, 24, 106, 32, 10, 54, 2, 0, 32, 0, 65, 16, 106, 32, 16, 55, 3, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 12, 11, 11, 32, 3, 32, 5, 106, 65, 44, 58, 0, 0, 32, 1, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 11, 2, 64, 32, 1, 65, 4, 106, 40, 2, 0, 32, 3, 71, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 23, 32, 3, 65, 1, 116, 34, 7, 32, 6, 32, 7, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 4, 65, 0, 54, 2, 160, 2, 12, 1, 11, 32, 1, 40, 2, 0, 33, 7, 32, 4, 65, 168, 2, 106, 65, 1, 54, 2, 0, 32, 4, 32, 3, 54, 2, 164, 2, 32, 4, 32, 7, 54, 2, 160, 2, 11, 32, 4, 65, 144, 1, 106, 32, 6, 65, 1, 32, 4, 65, 160, 2, 106, 16, 13, 32, 4, 65, 152, 1, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 148, 1, 33, 5, 32, 4, 40, 2, 144, 1, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 23, 12, 31, 11, 32, 3, 32, 5, 106, 65, 34, 58, 0, 0, 32, 1, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 1, 65, 4, 106, 40, 2, 0, 34, 6, 32, 3, 107, 65, 6, 79, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 6, 106, 34, 7, 32, 3, 73, 13, 23, 32, 6, 65, 1, 116, 34, 3, 32, 7, 32, 3, 32, 7, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 6, 69, 4, 64, 32, 4, 65, 0, 54, 2, 160, 2, 12, 1, 11, 32, 1, 40, 2, 0, 33, 7, 32, 4, 65, 168, 2, 106, 65, 1, 54, 2, 0, 32, 4, 32, 6, 54, 2, 164, 2, 32, 4, 32, 7, 54, 2, 160, 2, 11, 32, 4, 65, 144, 1, 106, 32, 3, 65, 1, 32, 4, 65, 160, 2, 106, 16, 13, 32, 4, 65, 152, 1, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 148, 1, 33, 5, 32, 4, 40, 2, 144, 1, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 23, 12, 31, 11, 32, 3, 32, 5, 106, 34, 3, 65, 249, 128, 192, 0, 40, 0, 0, 54, 0, 0, 32, 3, 65, 4, 106, 65, 253, 128, 192, 0, 47, 0, 0, 59, 0, 0, 32, 1, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 6, 106, 34, 3, 54, 2, 0, 2, 64, 32, 1, 65, 4, 106, 40, 2, 0, 34, 6, 32, 3, 107, 65, 2, 79, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 2, 106, 34, 7, 32, 3, 73, 13, 23, 32, 6, 65, 1, 116, 34, 3, 32, 7, 32, 3, 32, 7, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 6, 69, 4, 64, 32, 4, 65, 0, 54, 2, 160, 2, 12, 1, 11, 32, 1, 40, 2, 0, 33, 7, 32, 4, 65, 168, 2, 106, 65, 1, 54, 2, 0, 32, 4, 32, 6, 54, 2, 164, 2, 32, 4, 32, 7, 54, 2, 160, 2, 11, 32, 4, 65, 144, 1, 106, 32, 3, 65, 1, 32, 4, 65, 160, 2, 106, 16, 13, 32, 4, 65, 152, 1, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 148, 1, 33, 5, 32, 4, 40, 2, 144, 1, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 23, 12, 31, 11, 32, 3, 32, 5, 106, 65, 162, 244, 0, 59, 0, 0, 32, 1, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 4, 65, 160, 2, 106, 32, 4, 65, 216, 0, 106, 32, 1, 16, 20, 32, 4, 65, 216, 3, 106, 34, 3, 32, 4, 65, 172, 2, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 164, 2, 55, 3, 208, 3, 32, 4, 40, 2, 160, 2, 65, 1, 71, 13, 1, 32, 4, 65, 188, 1, 106, 32, 3, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 3, 208, 3, 55, 2, 180, 1, 32, 4, 65, 1, 54, 2, 176, 1, 32, 4, 65, 176, 1, 106, 65, 4, 114, 11, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 1, 41, 2, 0, 55, 3, 168, 3, 12, 1, 11, 65, 0, 33, 3, 32, 4, 65, 176, 1, 106, 32, 1, 65, 0, 16, 184, 1, 32, 4, 65, 176, 3, 106, 32, 4, 65, 188, 1, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 180, 1, 55, 3, 168, 3, 32, 4, 40, 2, 176, 1, 65, 1, 71, 13, 1, 11, 32, 4, 40, 2, 176, 3, 33, 1, 32, 4, 40, 2, 172, 3, 33, 3, 32, 4, 40, 2, 168, 3, 33, 6, 2, 64, 32, 4, 40, 2, 184, 3, 34, 7, 69, 13, 0, 32, 4, 40, 2, 188, 3, 69, 13, 0, 32, 7, 16, 226, 1, 11, 32, 4, 65, 184, 1, 106, 32, 1, 54, 2, 0, 32, 4, 32, 3, 54, 2, 180, 1, 32, 4, 32, 6, 54, 2, 176, 1, 32, 4, 65, 160, 2, 106, 65, 134, 138, 192, 0, 65, 39, 32, 4, 65, 176, 1, 106, 16, 33, 32, 4, 65, 168, 2, 106, 41, 3, 0, 33, 16, 32, 4, 65, 176, 2, 106, 41, 3, 0, 33, 17, 32, 4, 41, 3, 160, 2, 33, 18, 32, 0, 65, 32, 106, 32, 4, 65, 184, 2, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 24, 106, 32, 17, 55, 3, 0, 32, 0, 65, 16, 106, 32, 16, 55, 3, 0, 32, 0, 65, 8, 106, 32, 18, 55, 3, 0, 65, 1, 33, 3, 12, 1, 11, 32, 4, 41, 3, 184, 3, 33, 16, 32, 0, 65, 12, 106, 32, 4, 40, 2, 192, 3, 54, 2, 0, 32, 0, 32, 16, 55, 2, 4, 11, 32, 0, 32, 3, 54, 2, 0, 32, 4, 40, 2, 88, 33, 0, 32, 4, 40, 2, 96, 34, 1, 4, 64, 32, 1, 65, 5, 116, 33, 3, 32, 0, 65, 20, 106, 33, 1, 3, 64, 2, 64, 32, 1, 65, 124, 106, 40, 2, 0, 34, 6, 69, 13, 0, 32, 1, 40, 2, 0, 69, 13, 0, 32, 6, 16, 226, 1, 11, 32, 1, 65, 32, 106, 33, 1, 32, 3, 65, 96, 106, 34, 3, 13, 0, 11, 11, 32, 4, 40, 2, 92, 34, 1, 69, 32, 1, 65, 5, 116, 69, 114, 13, 1, 32, 0, 16, 226, 1, 12, 1, 11, 32, 4, 65, 160, 2, 106, 32, 1, 40, 2, 0, 65, 163, 143, 192, 0, 65, 6, 32, 1, 40, 2, 4, 40, 2, 12, 17, 6, 0, 32, 4, 40, 2, 160, 2, 34, 10, 69, 4, 64, 65, 5, 33, 9, 65, 5, 65, 1, 16, 87, 34, 5, 13, 2, 65, 5, 65, 1, 16, 138, 2, 0, 11, 32, 4, 40, 2, 164, 2, 33, 11, 32, 4, 65, 160, 2, 106, 32, 10, 32, 4, 65, 168, 2, 106, 34, 12, 40, 2, 0, 16, 22, 32, 4, 65, 192, 2, 106, 40, 2, 0, 33, 8, 32, 4, 65, 188, 2, 106, 40, 2, 0, 33, 1, 32, 4, 65, 180, 2, 106, 40, 2, 0, 33, 9, 32, 4, 65, 176, 2, 106, 40, 2, 0, 33, 3, 32, 0, 2, 127, 2, 64, 2, 64, 2, 64, 32, 4, 65, 216, 3, 106, 2, 127, 2, 64, 32, 4, 40, 2, 160, 2, 65, 1, 71, 4, 64, 32, 4, 40, 2, 164, 2, 33, 6, 32, 4, 32, 12, 41, 3, 0, 55, 2, 164, 2, 32, 4, 32, 6, 54, 2, 160, 2, 32, 4, 65, 176, 1, 106, 32, 4, 65, 160, 2, 106, 16, 139, 1, 32, 4, 40, 2, 176, 1, 33, 6, 32, 4, 40, 2, 180, 1, 33, 7, 32, 4, 40, 2, 184, 1, 33, 5, 32, 3, 69, 32, 9, 69, 114, 69, 4, 64, 32, 3, 16, 226, 1, 11, 32, 1, 69, 32, 8, 69, 114, 69, 4, 64, 32, 1, 16, 226, 1, 11, 32, 11, 4, 64, 32, 10, 16, 226, 1, 11, 32, 4, 32, 5, 54, 2, 192, 3, 32, 4, 32, 7, 54, 2, 188, 3, 32, 4, 32, 6, 54, 2, 184, 3, 32, 4, 65, 144, 1, 106, 16, 187, 1, 32, 4, 65, 160, 2, 106, 32, 4, 65, 144, 1, 106, 16, 194, 1, 32, 4, 40, 2, 160, 2, 65, 1, 71, 13, 1, 32, 4, 65, 188, 1, 106, 32, 4, 65, 172, 2, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 164, 2, 55, 2, 180, 1, 32, 4, 65, 1, 54, 2, 176, 1, 32, 4, 65, 176, 1, 106, 65, 4, 114, 12, 2, 11, 32, 4, 65, 196, 2, 106, 40, 2, 0, 33, 6, 32, 4, 65, 184, 2, 106, 40, 2, 0, 33, 7, 32, 4, 65, 172, 2, 106, 40, 2, 0, 33, 5, 32, 12, 40, 2, 0, 33, 12, 32, 11, 69, 13, 8, 32, 10, 16, 226, 1, 12, 8, 11, 32, 4, 32, 4, 40, 2, 164, 2, 54, 2, 88, 32, 4, 32, 4, 65, 168, 2, 106, 45, 0, 0, 58, 0, 92, 32, 4, 65, 160, 2, 106, 32, 4, 65, 216, 0, 106, 65, 200, 146, 192, 0, 65, 8, 32, 4, 65, 184, 3, 106, 16, 14, 32, 4, 40, 2, 160, 2, 65, 1, 71, 13, 1, 32, 4, 65, 188, 1, 106, 32, 4, 65, 172, 2, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 164, 2, 55, 2, 180, 1, 32, 4, 65, 1, 54, 2, 176, 1, 32, 4, 65, 176, 1, 106, 65, 4, 114, 11, 34, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 1, 41, 2, 0, 55, 3, 208, 3, 12, 1, 11, 32, 4, 65, 176, 1, 106, 32, 4, 40, 2, 88, 32, 4, 45, 0, 92, 16, 184, 1, 32, 4, 65, 216, 3, 106, 32, 4, 65, 188, 1, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 180, 1, 55, 3, 208, 3, 32, 4, 40, 2, 176, 1, 65, 1, 71, 13, 1, 11, 32, 4, 65, 152, 3, 106, 34, 1, 32, 4, 65, 216, 3, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 3, 208, 3, 55, 3, 144, 3, 2, 64, 32, 4, 40, 2, 144, 1, 34, 3, 69, 13, 0, 32, 4, 40, 2, 148, 1, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 4, 65, 184, 1, 106, 32, 1, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 3, 144, 3, 55, 3, 176, 1, 32, 4, 65, 160, 2, 106, 65, 191, 136, 192, 0, 65, 31, 32, 4, 65, 176, 1, 106, 16, 33, 32, 4, 65, 168, 2, 106, 41, 3, 0, 33, 16, 32, 4, 65, 176, 2, 106, 41, 3, 0, 33, 17, 32, 4, 41, 3, 160, 2, 33, 18, 32, 0, 65, 32, 106, 32, 4, 65, 184, 2, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 24, 106, 32, 17, 55, 3, 0, 32, 0, 65, 16, 106, 32, 16, 55, 3, 0, 32, 0, 65, 8, 106, 32, 18, 55, 3, 0, 65, 1, 12, 1, 11, 32, 4, 41, 3, 144, 1, 33, 16, 32, 0, 65, 12, 106, 32, 4, 65, 152, 1, 106, 40, 2, 0, 54, 2, 0, 32, 0, 32, 16, 55, 2, 4, 65, 0, 11, 54, 2, 0, 32, 6, 69, 32, 7, 69, 114, 13, 0, 32, 6, 16, 226, 1, 11, 2, 64, 32, 2, 40, 2, 24, 34, 0, 69, 13, 0, 32, 2, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 2, 40, 2, 40, 34, 0, 69, 13, 22, 32, 2, 65, 44, 106, 40, 2, 0, 69, 13, 22, 32, 0, 16, 226, 1, 12, 22, 11, 32, 5, 65, 4, 106, 65, 193, 143, 192, 0, 45, 0, 0, 58, 0, 0, 32, 5, 65, 189, 143, 192, 0, 40, 0, 0, 54, 0, 0, 65, 6, 33, 12, 65, 5, 33, 3, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 36, 106, 32, 6, 54, 2, 0, 32, 0, 65, 32, 106, 32, 8, 54, 2, 0, 32, 0, 65, 28, 106, 32, 1, 54, 2, 0, 32, 0, 65, 24, 106, 32, 7, 54, 2, 0, 32, 0, 65, 20, 106, 32, 9, 54, 2, 0, 32, 0, 65, 16, 106, 32, 3, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 12, 54, 2, 0, 11, 2, 64, 32, 2, 40, 2, 24, 34, 0, 69, 13, 0, 32, 2, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 2, 40, 2, 40, 34, 0, 69, 13, 19, 32, 2, 65, 44, 106, 40, 2, 0, 69, 13, 19, 32, 0, 16, 226, 1, 12, 19, 11, 32, 4, 65, 200, 1, 106, 32, 4, 65, 192, 2, 106, 41, 3, 0, 55, 3, 0, 32, 4, 65, 192, 1, 106, 32, 4, 65, 184, 2, 106, 41, 3, 0, 55, 3, 0, 32, 4, 65, 184, 1, 106, 32, 4, 65, 176, 2, 106, 41, 3, 0, 55, 3, 0, 32, 4, 32, 4, 65, 168, 2, 106, 41, 3, 0, 55, 3, 176, 1, 32, 4, 65, 204, 3, 106, 65, 1, 54, 2, 0, 32, 4, 66, 1, 55, 2, 188, 3, 32, 4, 65, 200, 131, 192, 0, 54, 2, 184, 3, 32, 4, 65, 6, 54, 2, 212, 3, 32, 4, 32, 4, 65, 208, 3, 106, 54, 2, 200, 3, 32, 4, 32, 4, 65, 176, 1, 106, 54, 2, 208, 3, 32, 4, 65, 144, 3, 106, 32, 4, 65, 184, 3, 106, 16, 140, 2, 32, 4, 65, 176, 1, 106, 16, 42, 32, 4, 40, 2, 144, 3, 33, 3, 32, 4, 41, 2, 148, 3, 33, 16, 65, 2, 33, 1, 12, 8, 11, 32, 4, 65, 192, 3, 106, 32, 4, 65, 192, 1, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 65, 184, 1, 106, 41, 3, 0, 55, 3, 184, 3, 32, 4, 65, 180, 2, 106, 65, 1, 54, 2, 0, 32, 4, 66, 1, 55, 2, 164, 2, 32, 4, 65, 164, 131, 192, 0, 54, 2, 160, 2, 32, 4, 65, 7, 54, 2, 212, 3, 32, 4, 32, 4, 65, 208, 3, 106, 54, 2, 176, 2, 32, 4, 32, 4, 65, 184, 3, 106, 54, 2, 208, 3, 32, 4, 65, 168, 3, 106, 32, 4, 65, 160, 2, 106, 16, 140, 2, 32, 4, 40, 2, 168, 3, 33, 3, 32, 4, 41, 2, 172, 3, 33, 16, 2, 64, 32, 4, 40, 2, 184, 3, 34, 1, 69, 13, 0, 32, 4, 40, 2, 188, 3, 34, 5, 69, 13, 0, 32, 1, 16, 226, 1, 11, 12, 1, 11, 32, 4, 65, 184, 2, 106, 32, 4, 65, 204, 1, 106, 40, 2, 0, 54, 2, 0, 32, 4, 65, 176, 2, 106, 32, 4, 65, 196, 1, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 4, 65, 188, 1, 106, 41, 2, 0, 55, 3, 0, 32, 4, 32, 4, 41, 2, 180, 1, 55, 3, 160, 2, 32, 4, 65, 204, 3, 106, 65, 1, 54, 2, 0, 32, 4, 66, 1, 55, 2, 188, 3, 32, 4, 65, 132, 131, 192, 0, 54, 2, 184, 3, 32, 4, 65, 8, 54, 2, 172, 3, 32, 4, 32, 4, 65, 168, 3, 106, 54, 2, 200, 3, 32, 4, 32, 4, 65, 160, 2, 106, 54, 2, 168, 3, 32, 4, 65, 208, 3, 106, 32, 4, 65, 184, 3, 106, 16, 140, 2, 32, 4, 40, 2, 208, 3, 33, 3, 32, 4, 41, 2, 212, 3, 33, 16, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 40, 2, 160, 2, 14, 4, 0, 1, 2, 4, 3, 11, 2, 64, 32, 4, 40, 2, 164, 2, 34, 1, 69, 13, 0, 32, 4, 65, 168, 2, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 4, 65, 176, 2, 106, 40, 2, 0, 34, 1, 69, 13, 3, 32, 4, 65, 180, 2, 106, 40, 2, 0, 34, 5, 69, 13, 3, 32, 1, 16, 226, 1, 12, 3, 11, 2, 64, 32, 4, 40, 2, 164, 2, 34, 1, 69, 13, 0, 32, 4, 65, 168, 2, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 4, 65, 176, 2, 106, 40, 2, 0, 34, 1, 69, 13, 2, 32, 4, 65, 180, 2, 106, 40, 2, 0, 34, 5, 69, 13, 2, 32, 1, 16, 226, 1, 12, 2, 11, 32, 4, 40, 2, 164, 2, 34, 1, 69, 13, 1, 32, 4, 65, 168, 2, 106, 40, 2, 0, 34, 5, 69, 13, 1, 32, 1, 16, 226, 1, 12, 1, 11, 32, 4, 40, 2, 164, 2, 34, 1, 69, 13, 0, 32, 4, 65, 168, 2, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 1, 16, 226, 1, 11, 65, 2, 33, 1, 12, 4, 11, 32, 4, 40, 2, 200, 3, 33, 7, 32, 4, 40, 2, 196, 3, 33, 8, 32, 4, 40, 2, 192, 3, 33, 10, 12, 1, 11, 32, 6, 16, 226, 1, 11, 32, 4, 65, 196, 3, 106, 32, 7, 54, 2, 0, 32, 4, 65, 192, 3, 106, 32, 8, 54, 2, 0, 32, 4, 32, 10, 54, 2, 188, 3, 32, 4, 32, 5, 54, 2, 184, 3, 32, 4, 65, 160, 2, 106, 65, 202, 138, 192, 0, 65, 30, 32, 4, 65, 184, 3, 106, 16, 27, 32, 4, 65, 168, 2, 106, 41, 3, 0, 33, 16, 32, 4, 65, 176, 2, 106, 40, 2, 0, 33, 5, 32, 4, 65, 180, 2, 106, 40, 2, 0, 33, 9, 32, 4, 65, 184, 2, 106, 40, 2, 0, 33, 8, 32, 4, 65, 188, 2, 106, 40, 2, 0, 33, 10, 32, 4, 40, 2, 160, 2, 33, 1, 32, 4, 40, 2, 164, 2, 33, 3, 65, 1, 11, 33, 7, 32, 4, 40, 2, 168, 3, 34, 11, 69, 13, 0, 32, 4, 40, 2, 172, 3, 69, 13, 0, 32, 11, 16, 226, 1, 11, 32, 15, 69, 13, 0, 32, 12, 16, 226, 1, 11, 32, 4, 65, 144, 1, 106, 16, 58, 2, 64, 32, 4, 40, 2, 112, 34, 11, 69, 13, 0, 32, 4, 40, 2, 116, 69, 13, 0, 32, 11, 16, 226, 1, 11, 32, 4, 65, 168, 3, 106, 33, 11, 32, 7, 69, 13, 1, 11, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 36, 106, 32, 10, 54, 2, 0, 32, 0, 65, 32, 106, 32, 8, 54, 2, 0, 32, 0, 65, 28, 106, 32, 9, 54, 2, 0, 32, 0, 65, 24, 106, 32, 5, 54, 2, 0, 32, 0, 65, 16, 106, 32, 16, 55, 3, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 1, 54, 2, 0, 32, 2, 40, 2, 24, 34, 0, 69, 13, 8, 32, 2, 65, 28, 106, 40, 2, 0, 69, 13, 8, 32, 0, 16, 226, 1, 12, 8, 11, 32, 4, 32, 3, 54, 2, 80, 32, 4, 32, 1, 54, 2, 76, 32, 4, 32, 6, 54, 2, 72, 32, 4, 65, 184, 3, 106, 16, 187, 1, 32, 4, 65, 160, 2, 106, 32, 4, 65, 184, 3, 106, 16, 194, 1, 32, 4, 40, 2, 160, 2, 65, 1, 70, 4, 64, 32, 4, 65, 188, 1, 106, 32, 4, 65, 172, 2, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 164, 2, 55, 2, 180, 1, 32, 4, 65, 1, 54, 2, 176, 1, 32, 4, 65, 176, 1, 106, 65, 4, 114, 12, 3, 11, 32, 4, 40, 2, 164, 2, 34, 1, 65, 8, 106, 40, 2, 0, 33, 3, 32, 4, 65, 168, 2, 106, 45, 0, 0, 69, 4, 64, 2, 64, 32, 1, 65, 4, 106, 40, 2, 0, 32, 3, 71, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 2, 32, 3, 65, 1, 116, 34, 7, 32, 6, 32, 7, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 4, 65, 0, 54, 2, 160, 2, 12, 1, 11, 32, 1, 40, 2, 0, 33, 7, 32, 4, 65, 168, 2, 106, 65, 1, 54, 2, 0, 32, 4, 32, 3, 54, 2, 164, 2, 32, 4, 32, 7, 54, 2, 160, 2, 11, 32, 4, 65, 144, 1, 106, 32, 6, 65, 1, 32, 4, 65, 160, 2, 106, 16, 13, 32, 4, 65, 152, 1, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 148, 1, 33, 5, 32, 4, 40, 2, 144, 1, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 2, 12, 10, 11, 32, 3, 32, 5, 106, 65, 44, 58, 0, 0, 32, 1, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 11, 2, 64, 32, 1, 65, 4, 106, 40, 2, 0, 32, 3, 71, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 7, 32, 6, 32, 7, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 4, 65, 0, 54, 2, 160, 2, 12, 1, 11, 32, 1, 40, 2, 0, 33, 7, 32, 4, 65, 168, 2, 106, 65, 1, 54, 2, 0, 32, 4, 32, 3, 54, 2, 164, 2, 32, 4, 32, 7, 54, 2, 160, 2, 11, 32, 4, 65, 144, 1, 106, 32, 6, 65, 1, 32, 4, 65, 160, 2, 106, 16, 13, 32, 4, 65, 152, 1, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 148, 1, 33, 5, 32, 4, 40, 2, 144, 1, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 9, 11, 32, 3, 32, 5, 106, 65, 34, 58, 0, 0, 32, 1, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 1, 65, 4, 106, 40, 2, 0, 34, 6, 32, 3, 107, 65, 6, 79, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 1, 11, 32, 3, 65, 6, 106, 34, 7, 32, 3, 73, 13, 1, 32, 6, 65, 1, 116, 34, 3, 32, 7, 32, 3, 32, 7, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 6, 69, 4, 64, 32, 4, 65, 0, 54, 2, 160, 2, 12, 1, 11, 32, 1, 40, 2, 0, 33, 7, 32, 4, 65, 168, 2, 106, 65, 1, 54, 2, 0, 32, 4, 32, 6, 54, 2, 164, 2, 32, 4, 32, 7, 54, 2, 160, 2, 11, 32, 4, 65, 144, 1, 106, 32, 3, 65, 1, 32, 4, 65, 160, 2, 106, 16, 13, 32, 4, 65, 152, 1, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 148, 1, 33, 5, 32, 4, 40, 2, 144, 1, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 12, 9, 11, 32, 3, 32, 5, 106, 34, 3, 65, 223, 148, 192, 0, 40, 0, 0, 54, 0, 0, 32, 3, 65, 4, 106, 65, 227, 148, 192, 0, 47, 0, 0, 59, 0, 0, 32, 1, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 6, 106, 34, 3, 54, 2, 0, 32, 1, 65, 4, 106, 40, 2, 0, 34, 6, 32, 3, 107, 65, 2, 79, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 2, 11, 32, 3, 65, 2, 106, 34, 7, 32, 3, 73, 13, 0, 32, 6, 65, 1, 116, 34, 3, 32, 7, 32, 3, 32, 7, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 6, 69, 4, 64, 32, 4, 65, 0, 54, 2, 160, 2, 12, 1, 11, 32, 1, 40, 2, 0, 33, 7, 32, 4, 65, 168, 2, 106, 65, 1, 54, 2, 0, 32, 4, 32, 6, 54, 2, 164, 2, 32, 4, 32, 7, 54, 2, 160, 2, 11, 32, 4, 65, 144, 1, 106, 32, 3, 65, 1, 32, 4, 65, 160, 2, 106, 16, 13, 32, 4, 65, 152, 1, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 148, 1, 33, 5, 32, 4, 40, 2, 144, 1, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 3, 12, 2, 11, 32, 3, 69, 13, 0, 12, 8, 11, 16, 139, 2, 0, 11, 32, 3, 32, 5, 106, 65, 162, 244, 0, 59, 0, 0, 32, 1, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 65, 2, 106, 54, 2, 0, 32, 4, 65, 144, 1, 106, 32, 4, 65, 200, 0, 106, 16, 137, 1, 32, 4, 65, 160, 2, 106, 32, 1, 32, 4, 40, 2, 144, 1, 34, 3, 32, 4, 40, 2, 152, 1, 16, 190, 1, 32, 4, 40, 2, 148, 1, 4, 64, 32, 3, 16, 226, 1, 11, 32, 4, 65, 216, 3, 106, 32, 4, 65, 172, 2, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 164, 2, 55, 3, 208, 3, 32, 4, 40, 2, 160, 2, 65, 1, 71, 13, 1, 32, 4, 65, 188, 1, 106, 32, 4, 65, 216, 3, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 3, 208, 3, 55, 2, 180, 1, 32, 4, 65, 1, 54, 2, 176, 1, 32, 4, 65, 176, 1, 106, 65, 4, 114, 11, 33, 1, 32, 11, 32, 1, 41, 2, 0, 55, 2, 0, 32, 11, 65, 8, 106, 32, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 12, 1, 11, 65, 0, 33, 3, 32, 4, 65, 176, 1, 106, 32, 1, 65, 0, 16, 184, 1, 32, 11, 32, 4, 41, 2, 180, 1, 55, 2, 0, 32, 11, 65, 8, 106, 32, 4, 65, 188, 1, 106, 40, 2, 0, 54, 2, 0, 32, 4, 40, 2, 176, 1, 65, 1, 71, 13, 1, 11, 32, 4, 40, 2, 176, 3, 33, 1, 32, 4, 40, 2, 172, 3, 33, 3, 32, 4, 40, 2, 168, 3, 33, 6, 2, 64, 32, 4, 40, 2, 184, 3, 34, 7, 69, 13, 0, 32, 4, 40, 2, 188, 3, 69, 13, 0, 32, 7, 16, 226, 1, 11, 32, 4, 65, 184, 1, 106, 32, 1, 54, 2, 0, 32, 4, 32, 3, 54, 2, 180, 1, 32, 4, 32, 6, 54, 2, 176, 1, 32, 4, 65, 160, 2, 106, 65, 202, 138, 192, 0, 65, 30, 32, 4, 65, 176, 1, 106, 16, 33, 32, 4, 65, 168, 2, 106, 41, 3, 0, 33, 16, 32, 4, 65, 176, 2, 106, 41, 3, 0, 33, 17, 32, 4, 41, 3, 160, 2, 33, 18, 32, 0, 65, 32, 106, 32, 4, 65, 184, 2, 106, 41, 3, 0, 55, 3, 0, 32, 0, 65, 24, 106, 32, 17, 55, 3, 0, 32, 0, 65, 16, 106, 32, 16, 55, 3, 0, 32, 0, 65, 8, 106, 32, 18, 55, 3, 0, 65, 1, 33, 3, 12, 1, 11, 32, 4, 41, 3, 184, 3, 33, 16, 32, 0, 65, 12, 106, 32, 4, 40, 2, 192, 3, 54, 2, 0, 32, 0, 32, 16, 55, 2, 4, 11, 32, 0, 32, 3, 54, 2, 0, 2, 64, 32, 4, 40, 2, 72, 34, 0, 69, 13, 0, 32, 4, 40, 2, 76, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 2, 40, 2, 24, 34, 0, 69, 13, 0, 32, 2, 65, 28, 106, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 4, 65, 224, 3, 106, 36, 0, 15, 11, 32, 5, 32, 3, 16, 138, 2, 0, 11, 192, 28, 2, 19, 127, 3, 126, 35, 0, 65, 192, 2, 107, 34, 2, 36, 0, 32, 2, 65, 136, 1, 106, 32, 0, 16, 162, 1, 32, 2, 65, 152, 1, 106, 32, 1, 16, 162, 1, 32, 2, 65, 168, 1, 106, 32, 2, 40, 2, 136, 1, 34, 17, 32, 2, 40, 2, 144, 1, 16, 28, 2, 64, 2, 64, 2, 64, 32, 2, 41, 3, 168, 1, 66, 1, 81, 4, 64, 32, 2, 65, 144, 2, 106, 32, 2, 65, 200, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 136, 2, 106, 32, 2, 65, 192, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 128, 2, 106, 32, 2, 65, 184, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 176, 1, 55, 3, 248, 1, 32, 2, 65, 0, 54, 2, 240, 1, 32, 2, 66, 1, 55, 3, 232, 1, 32, 2, 32, 2, 65, 248, 1, 106, 54, 2, 180, 2, 32, 2, 65, 9, 54, 2, 172, 2, 32, 2, 32, 2, 65, 180, 2, 106, 54, 2, 168, 2, 32, 2, 32, 2, 65, 232, 1, 106, 54, 2, 184, 2, 32, 2, 65, 228, 0, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 84, 32, 2, 65, 212, 134, 192, 0, 54, 2, 80, 32, 2, 32, 2, 65, 168, 2, 106, 54, 2, 96, 32, 2, 65, 184, 2, 106, 65, 156, 140, 192, 0, 32, 2, 65, 208, 0, 106, 16, 156, 2, 13, 3, 32, 2, 65, 220, 0, 106, 32, 2, 65, 240, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 232, 1, 55, 2, 84, 32, 2, 65, 1, 54, 2, 80, 32, 2, 65, 248, 1, 106, 16, 42, 32, 2, 40, 2, 152, 1, 33, 1, 12, 1, 11, 32, 2, 65, 220, 1, 106, 40, 2, 0, 33, 18, 32, 2, 65, 216, 1, 106, 40, 2, 0, 33, 15, 32, 2, 65, 204, 1, 106, 40, 2, 0, 33, 19, 32, 2, 65, 200, 1, 106, 40, 2, 0, 33, 16, 32, 2, 65, 248, 1, 106, 32, 2, 40, 2, 152, 1, 34, 1, 32, 2, 40, 2, 160, 1, 16, 174, 1, 32, 2, 65, 200, 0, 106, 32, 2, 65, 248, 1, 106, 16, 181, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 72, 65, 1, 113, 69, 13, 0, 32, 2, 45, 0, 73, 34, 0, 65, 251, 0, 71, 4, 64, 32, 0, 65, 34, 71, 4, 64, 65, 10, 33, 0, 12, 7, 11, 32, 2, 65, 168, 1, 106, 32, 2, 65, 248, 1, 106, 16, 70, 65, 14, 32, 2, 40, 2, 168, 1, 34, 0, 32, 0, 65, 21, 70, 27, 33, 0, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 172, 1, 33, 5, 12, 6, 11, 32, 2, 65, 248, 1, 106, 16, 175, 1, 32, 2, 65, 168, 1, 106, 32, 2, 65, 248, 1, 106, 34, 13, 16, 70, 32, 2, 65, 180, 1, 106, 33, 4, 32, 2, 65, 176, 1, 106, 33, 5, 32, 2, 40, 2, 168, 1, 34, 0, 65, 21, 71, 13, 4, 32, 2, 65, 168, 1, 106, 32, 13, 16, 179, 1, 32, 2, 40, 2, 168, 1, 34, 0, 65, 21, 71, 13, 4, 32, 2, 65, 64, 107, 32, 13, 16, 181, 1, 32, 2, 45, 0, 64, 65, 1, 113, 69, 13, 0, 32, 2, 45, 0, 65, 65, 251, 0, 71, 4, 64, 65, 14, 33, 0, 12, 6, 11, 32, 13, 16, 175, 1, 32, 2, 65, 56, 106, 32, 13, 16, 173, 1, 32, 2, 40, 2, 56, 33, 8, 32, 2, 32, 2, 45, 0, 60, 65, 1, 113, 34, 9, 58, 0, 172, 2, 32, 2, 32, 8, 54, 2, 168, 2, 32, 2, 65, 48, 106, 32, 8, 16, 181, 1, 65, 2, 33, 0, 32, 2, 45, 0, 48, 65, 1, 113, 69, 13, 3, 32, 2, 45, 0, 49, 33, 4, 32, 9, 33, 7, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 5, 65, 44, 71, 4, 64, 32, 5, 65, 253, 0, 70, 13, 3, 32, 9, 13, 1, 65, 9, 33, 0, 32, 6, 69, 13, 17, 12, 16, 11, 32, 7, 65, 255, 1, 113, 69, 13, 1, 11, 65, 0, 33, 9, 32, 2, 65, 0, 58, 0, 172, 2, 12, 2, 11, 32, 8, 16, 175, 1, 32, 2, 65, 40, 106, 32, 8, 16, 181, 1, 32, 2, 45, 0, 40, 65, 1, 113, 69, 13, 2, 32, 2, 45, 0, 41, 33, 4, 12, 1, 11, 32, 10, 4, 64, 32, 6, 69, 4, 64, 32, 2, 65, 168, 1, 106, 65, 249, 128, 192, 0, 65, 6, 16, 23, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 172, 1, 33, 5, 32, 2, 40, 2, 168, 1, 33, 0, 32, 14, 69, 13, 17, 32, 10, 16, 226, 1, 12, 17, 11, 32, 2, 65, 168, 1, 106, 32, 13, 16, 178, 1, 32, 2, 40, 2, 168, 1, 34, 0, 65, 21, 71, 4, 64, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 172, 1, 33, 5, 32, 14, 4, 64, 32, 10, 16, 226, 1, 11, 32, 11, 4, 64, 32, 11, 65, 5, 116, 33, 9, 32, 6, 65, 20, 106, 33, 3, 3, 64, 2, 64, 32, 3, 65, 124, 106, 40, 2, 0, 34, 8, 69, 13, 0, 32, 3, 40, 2, 0, 69, 13, 0, 32, 8, 16, 226, 1, 11, 32, 3, 65, 32, 106, 33, 3, 32, 9, 65, 96, 106, 34, 9, 13, 0, 11, 11, 32, 12, 69, 32, 12, 65, 5, 116, 69, 114, 13, 17, 32, 6, 16, 226, 1, 12, 17, 11, 32, 2, 65, 32, 106, 32, 13, 16, 181, 1, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 32, 65, 1, 113, 4, 64, 32, 2, 45, 0, 33, 65, 253, 0, 70, 13, 2, 32, 14, 4, 64, 32, 10, 16, 226, 1, 11, 32, 11, 4, 64, 32, 11, 65, 5, 116, 33, 4, 32, 6, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 0, 40, 2, 0, 34, 7, 69, 13, 0, 32, 5, 16, 226, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 4, 65, 96, 106, 34, 4, 13, 0, 11, 11, 65, 11, 33, 0, 32, 12, 13, 1, 12, 3, 11, 32, 14, 4, 64, 32, 10, 16, 226, 1, 11, 32, 11, 4, 64, 32, 11, 65, 5, 116, 33, 4, 32, 6, 65, 20, 106, 33, 0, 3, 64, 2, 64, 32, 0, 65, 124, 106, 40, 2, 0, 34, 5, 69, 13, 0, 32, 0, 40, 2, 0, 34, 7, 69, 13, 0, 32, 5, 16, 226, 1, 11, 32, 0, 65, 32, 106, 33, 0, 32, 4, 65, 96, 106, 34, 4, 13, 0, 11, 11, 32, 12, 69, 32, 12, 65, 5, 116, 69, 114, 13, 14, 32, 6, 16, 226, 1, 65, 4, 33, 0, 12, 19, 11, 32, 12, 65, 5, 116, 34, 4, 69, 13, 1, 32, 6, 16, 226, 1, 12, 18, 11, 32, 13, 16, 175, 1, 32, 2, 65, 168, 1, 106, 32, 2, 65, 248, 1, 106, 16, 176, 1, 32, 2, 40, 2, 168, 1, 34, 0, 65, 21, 71, 4, 64, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 172, 1, 33, 5, 32, 14, 4, 64, 32, 10, 16, 226, 1, 11, 32, 11, 4, 64, 32, 11, 65, 5, 116, 33, 9, 32, 6, 65, 20, 106, 33, 3, 3, 64, 2, 64, 32, 3, 65, 124, 106, 40, 2, 0, 34, 8, 69, 13, 0, 32, 3, 40, 2, 0, 69, 13, 0, 32, 8, 16, 226, 1, 11, 32, 3, 65, 32, 106, 33, 3, 32, 9, 65, 96, 106, 34, 9, 13, 0, 11, 11, 32, 12, 69, 32, 12, 65, 5, 116, 69, 114, 13, 18, 32, 6, 16, 226, 1, 12, 18, 11, 32, 2, 65, 24, 106, 32, 2, 65, 184, 2, 106, 65, 224, 128, 192, 0, 16, 145, 1, 32, 2, 65, 200, 1, 106, 34, 0, 66, 0, 55, 3, 0, 32, 2, 65, 184, 1, 106, 34, 3, 66, 0, 55, 3, 0, 32, 2, 66, 4, 55, 3, 192, 1, 32, 2, 66, 128, 128, 128, 128, 128, 1, 55, 3, 176, 1, 32, 2, 66, 8, 55, 3, 168, 1, 32, 2, 65, 232, 0, 106, 32, 11, 54, 2, 0, 32, 2, 65, 228, 0, 106, 32, 12, 54, 2, 0, 32, 2, 65, 224, 0, 106, 32, 6, 54, 2, 0, 32, 2, 65, 220, 0, 106, 32, 20, 54, 2, 0, 32, 2, 65, 216, 0, 106, 32, 14, 54, 2, 0, 32, 2, 32, 10, 54, 2, 84, 32, 2, 65, 0, 54, 2, 80, 32, 2, 65, 168, 1, 106, 32, 2, 65, 208, 0, 106, 16, 44, 32, 2, 65, 128, 2, 106, 32, 2, 41, 3, 176, 1, 55, 3, 0, 32, 2, 65, 136, 2, 106, 32, 3, 41, 3, 0, 55, 3, 0, 32, 2, 65, 144, 2, 106, 32, 2, 41, 3, 192, 1, 55, 3, 0, 32, 2, 65, 152, 2, 106, 32, 0, 41, 3, 0, 55, 3, 0, 32, 2, 65, 160, 2, 106, 32, 2, 65, 208, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 168, 1, 55, 3, 248, 1, 32, 16, 69, 32, 19, 69, 114, 69, 4, 64, 32, 16, 16, 226, 1, 11, 32, 15, 69, 32, 18, 69, 114, 69, 4, 64, 32, 15, 16, 226, 1, 11, 32, 2, 65, 252, 0, 106, 32, 2, 65, 160, 2, 106, 41, 3, 0, 55, 2, 0, 32, 2, 65, 244, 0, 106, 32, 2, 65, 152, 2, 106, 41, 3, 0, 55, 2, 0, 32, 2, 65, 236, 0, 106, 32, 2, 65, 144, 2, 106, 41, 3, 0, 55, 2, 0, 32, 2, 65, 228, 0, 106, 32, 2, 65, 136, 2, 106, 41, 3, 0, 55, 2, 0, 32, 2, 65, 220, 0, 106, 32, 2, 65, 128, 2, 106, 41, 3, 0, 55, 2, 0, 32, 2, 32, 2, 41, 3, 248, 1, 55, 2, 84, 32, 2, 65, 0, 54, 2, 80, 32, 2, 40, 2, 156, 1, 4, 64, 32, 1, 16, 226, 1, 11, 32, 2, 40, 2, 140, 1, 69, 13, 19, 32, 17, 16, 226, 1, 12, 19, 11, 12, 16, 11, 32, 2, 65, 168, 1, 106, 65, 202, 133, 192, 0, 65, 9, 16, 23, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 172, 1, 33, 5, 32, 2, 40, 2, 168, 1, 12, 3, 11, 32, 4, 65, 255, 1, 113, 34, 4, 65, 34, 71, 4, 64, 65, 16, 33, 0, 32, 4, 65, 253, 0, 71, 13, 11, 65, 19, 33, 0, 12, 11, 11, 32, 2, 65, 16, 106, 32, 8, 16, 181, 1, 32, 2, 45, 0, 16, 65, 1, 113, 13, 1, 11, 65, 4, 33, 0, 32, 6, 69, 13, 11, 12, 10, 11, 32, 2, 45, 0, 17, 65, 34, 71, 4, 64, 65, 14, 33, 0, 32, 6, 69, 13, 11, 12, 10, 11, 32, 8, 16, 175, 1, 32, 2, 65, 168, 1, 106, 32, 8, 16, 180, 1, 32, 2, 40, 2, 184, 1, 33, 7, 32, 2, 40, 2, 180, 1, 33, 4, 32, 2, 40, 2, 176, 1, 33, 5, 32, 2, 40, 2, 172, 1, 33, 3, 32, 2, 40, 2, 168, 1, 65, 1, 70, 4, 64, 32, 3, 33, 0, 32, 6, 69, 13, 11, 12, 10, 11, 2, 64, 32, 3, 4, 64, 65, 2, 33, 3, 2, 64, 2, 64, 2, 64, 32, 7, 65, 122, 106, 14, 4, 1, 2, 2, 0, 2, 11, 65, 126, 65, 0, 32, 5, 65, 202, 133, 192, 0, 65, 9, 16, 214, 2, 27, 33, 3, 12, 1, 11, 65, 126, 65, 1, 32, 5, 65, 249, 128, 192, 0, 65, 6, 16, 214, 2, 27, 33, 3, 11, 32, 4, 4, 64, 32, 5, 16, 226, 1, 11, 32, 3, 65, 30, 116, 65, 30, 117, 65, 0, 72, 13, 6, 32, 3, 65, 3, 113, 65, 1, 107, 13, 1, 12, 5, 11, 2, 64, 32, 4, 65, 122, 106, 14, 4, 4, 6, 6, 0, 6, 11, 32, 5, 65, 202, 133, 192, 0, 65, 9, 16, 214, 2, 13, 5, 11, 32, 10, 4, 64, 32, 2, 65, 168, 1, 106, 65, 202, 133, 192, 0, 65, 9, 16, 24, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 172, 1, 33, 5, 32, 2, 40, 2, 168, 1, 33, 0, 32, 6, 69, 13, 11, 12, 10, 11, 32, 2, 65, 208, 0, 106, 32, 8, 16, 179, 1, 32, 2, 40, 2, 80, 34, 3, 65, 21, 71, 4, 64, 32, 2, 40, 2, 88, 33, 4, 32, 2, 40, 2, 84, 33, 5, 32, 2, 65, 184, 1, 106, 32, 2, 40, 2, 92, 34, 7, 54, 2, 0, 32, 2, 32, 4, 54, 2, 180, 1, 32, 2, 32, 5, 54, 2, 176, 1, 32, 2, 32, 3, 54, 2, 172, 1, 32, 2, 65, 1, 54, 2, 168, 1, 65, 0, 33, 10, 32, 6, 69, 4, 64, 32, 3, 33, 0, 12, 12, 11, 32, 3, 33, 0, 12, 10, 11, 32, 2, 65, 168, 1, 106, 32, 8, 16, 25, 32, 2, 40, 2, 168, 1, 65, 1, 71, 13, 1, 32, 2, 65, 184, 1, 106, 40, 2, 0, 33, 7, 32, 2, 40, 2, 180, 1, 33, 4, 32, 2, 40, 2, 176, 1, 33, 5, 32, 2, 40, 2, 172, 1, 11, 33, 0, 65, 0, 33, 10, 32, 6, 69, 13, 9, 12, 8, 11, 32, 2, 40, 2, 180, 1, 33, 20, 32, 2, 40, 2, 176, 1, 33, 14, 32, 2, 40, 2, 172, 1, 33, 10, 12, 3, 11, 32, 5, 65, 249, 128, 192, 0, 65, 6, 16, 214, 2, 13, 1, 11, 32, 6, 4, 64, 32, 2, 65, 168, 1, 106, 65, 249, 128, 192, 0, 65, 6, 16, 24, 32, 2, 65, 180, 1, 106, 40, 2, 0, 33, 7, 32, 2, 65, 176, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 172, 1, 33, 5, 32, 2, 40, 2, 168, 1, 33, 0, 12, 6, 11, 32, 2, 65, 168, 1, 106, 32, 2, 65, 168, 2, 106, 16, 31, 32, 2, 40, 2, 168, 1, 65, 1, 70, 4, 64, 32, 2, 65, 184, 1, 106, 40, 2, 0, 33, 7, 32, 2, 40, 2, 180, 1, 33, 4, 32, 2, 40, 2, 176, 1, 33, 5, 32, 2, 40, 2, 172, 1, 33, 0, 12, 7, 11, 32, 2, 40, 2, 180, 1, 33, 11, 32, 2, 40, 2, 176, 1, 33, 12, 32, 2, 40, 2, 172, 1, 33, 6, 12, 1, 11, 32, 2, 65, 168, 1, 106, 32, 8, 16, 179, 1, 2, 64, 32, 2, 40, 2, 168, 1, 34, 3, 65, 21, 71, 4, 64, 32, 2, 40, 2, 176, 1, 33, 4, 32, 2, 40, 2, 172, 1, 33, 5, 32, 2, 65, 220, 0, 106, 32, 2, 40, 2, 180, 1, 34, 7, 54, 2, 0, 32, 2, 65, 216, 0, 106, 32, 4, 54, 2, 0, 32, 2, 32, 5, 54, 2, 84, 32, 2, 32, 3, 54, 2, 80, 32, 6, 13, 1, 32, 3, 33, 0, 12, 7, 11, 32, 2, 65, 208, 0, 106, 32, 8, 16, 26, 32, 2, 40, 2, 80, 34, 3, 65, 21, 70, 13, 1, 32, 2, 65, 220, 0, 106, 40, 2, 0, 33, 7, 32, 2, 65, 216, 0, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 84, 33, 5, 32, 6, 69, 4, 64, 32, 3, 33, 0, 12, 7, 11, 32, 3, 33, 0, 12, 5, 11, 32, 3, 33, 0, 12, 4, 11, 32, 2, 65, 8, 106, 32, 8, 16, 181, 1, 65, 0, 33, 7, 32, 2, 45, 0, 9, 33, 4, 32, 2, 45, 0, 8, 65, 1, 113, 13, 0, 11, 12, 1, 11, 65, 4, 33, 0, 12, 4, 11, 32, 6, 69, 13, 1, 11, 32, 11, 4, 64, 32, 11, 65, 5, 116, 33, 9, 32, 6, 65, 20, 106, 33, 3, 3, 64, 2, 64, 32, 3, 65, 124, 106, 40, 2, 0, 34, 8, 69, 13, 0, 32, 3, 40, 2, 0, 69, 13, 0, 32, 8, 16, 226, 1, 11, 32, 3, 65, 32, 106, 33, 3, 32, 9, 65, 96, 106, 34, 9, 13, 0, 11, 11, 32, 12, 65, 5, 116, 69, 32, 12, 69, 32, 6, 69, 114, 114, 13, 0, 32, 6, 16, 226, 1, 11, 32, 14, 69, 32, 10, 69, 114, 13, 1, 32, 10, 16, 226, 1, 12, 1, 11, 32, 4, 40, 2, 0, 33, 7, 32, 5, 40, 2, 0, 33, 4, 32, 2, 40, 2, 172, 1, 33, 5, 11, 32, 2, 65, 220, 0, 106, 34, 3, 32, 7, 54, 2, 0, 32, 2, 65, 216, 0, 106, 32, 4, 54, 2, 0, 32, 2, 32, 5, 54, 2, 84, 32, 2, 32, 0, 54, 2, 80, 32, 2, 65, 168, 1, 106, 65, 215, 137, 192, 0, 65, 22, 32, 2, 65, 208, 0, 106, 16, 27, 32, 2, 65, 240, 1, 106, 32, 2, 65, 196, 1, 106, 34, 0, 40, 2, 0, 34, 7, 54, 2, 0, 32, 2, 32, 2, 65, 188, 1, 106, 34, 9, 41, 2, 0, 34, 21, 55, 3, 232, 1, 32, 2, 65, 176, 1, 106, 34, 4, 41, 3, 0, 33, 22, 32, 2, 41, 3, 168, 1, 33, 23, 32, 2, 65, 184, 1, 106, 34, 5, 32, 5, 40, 2, 0, 54, 2, 0, 32, 4, 32, 22, 55, 3, 0, 32, 9, 32, 21, 55, 2, 0, 32, 0, 32, 7, 54, 2, 0, 32, 2, 32, 23, 55, 3, 168, 1, 32, 2, 65, 0, 54, 2, 128, 2, 32, 2, 66, 1, 55, 3, 248, 1, 32, 2, 32, 2, 65, 168, 1, 106, 54, 2, 180, 2, 32, 2, 65, 9, 54, 2, 172, 2, 32, 2, 32, 2, 65, 180, 2, 106, 54, 2, 168, 2, 32, 2, 32, 2, 65, 248, 1, 106, 54, 2, 184, 2, 32, 2, 65, 228, 0, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 84, 32, 2, 65, 212, 134, 192, 0, 54, 2, 80, 32, 2, 32, 2, 65, 168, 2, 106, 54, 2, 96, 32, 2, 65, 184, 2, 106, 65, 156, 140, 192, 0, 32, 2, 65, 208, 0, 106, 16, 156, 2, 13, 2, 32, 3, 32, 2, 65, 128, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 248, 1, 55, 2, 84, 32, 2, 65, 1, 54, 2, 80, 32, 2, 65, 168, 1, 106, 16, 42, 32, 16, 69, 32, 19, 69, 114, 69, 4, 64, 32, 16, 16, 226, 1, 11, 32, 15, 69, 32, 18, 69, 114, 13, 0, 32, 15, 16, 226, 1, 11, 2, 64, 32, 1, 69, 13, 0, 32, 2, 40, 2, 156, 1, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 2, 40, 2, 140, 1, 69, 13, 0, 32, 17, 16, 226, 1, 11, 32, 2, 65, 168, 1, 106, 32, 2, 65, 208, 0, 106, 16, 34, 32, 2, 40, 2, 168, 1, 65, 1, 71, 4, 64, 32, 2, 65, 128, 2, 106, 32, 2, 65, 180, 1, 106, 40, 2, 0, 34, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 172, 1, 34, 21, 55, 3, 248, 1, 32, 2, 65, 176, 1, 106, 32, 0, 54, 2, 0, 32, 2, 32, 21, 55, 3, 168, 1, 32, 2, 65, 168, 1, 106, 16, 161, 1, 32, 2, 65, 208, 0, 106, 16, 54, 32, 2, 65, 192, 2, 106, 36, 0, 15, 11, 32, 2, 65, 144, 2, 106, 32, 2, 65, 200, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 136, 2, 106, 32, 2, 65, 192, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 128, 2, 106, 32, 2, 65, 184, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 65, 176, 1, 106, 41, 3, 0, 55, 3, 248, 1, 65, 148, 141, 192, 0, 65, 43, 32, 2, 65, 248, 1, 106, 65, 192, 141, 192, 0, 65, 164, 132, 192, 0, 16, 162, 2, 0, 11, 65, 220, 134, 192, 0, 65, 55, 32, 2, 65, 184, 2, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 247, 30, 2, 26, 127, 3, 126, 35, 0, 65, 192, 3, 107, 34, 3, 36, 0, 32, 3, 65, 248, 0, 106, 32, 0, 16, 162, 1, 32, 3, 65, 136, 1, 106, 32, 1, 16, 162, 1, 32, 3, 65, 152, 1, 106, 32, 2, 16, 162, 1, 32, 3, 65, 128, 2, 106, 32, 3, 40, 2, 120, 34, 18, 32, 3, 40, 2, 128, 1, 16, 28, 2, 64, 2, 64, 2, 64, 32, 3, 41, 3, 128, 2, 66, 1, 81, 4, 64, 32, 3, 65, 216, 1, 106, 32, 3, 65, 160, 2, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 208, 1, 106, 32, 3, 65, 152, 2, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 200, 1, 106, 32, 3, 65, 144, 2, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 136, 2, 55, 3, 192, 1, 32, 3, 65, 0, 54, 2, 136, 3, 32, 3, 66, 1, 55, 3, 128, 3, 32, 3, 32, 3, 65, 192, 1, 106, 54, 2, 180, 3, 32, 3, 65, 9, 54, 2, 252, 1, 32, 3, 32, 3, 65, 180, 3, 106, 54, 2, 248, 1, 32, 3, 32, 3, 65, 128, 3, 106, 54, 2, 160, 3, 32, 3, 65, 212, 0, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 68, 32, 3, 65, 212, 134, 192, 0, 54, 2, 64, 32, 3, 32, 3, 65, 248, 1, 106, 54, 2, 80, 32, 3, 65, 160, 3, 106, 65, 156, 140, 192, 0, 32, 3, 65, 64, 107, 16, 156, 2, 13, 3, 32, 3, 65, 204, 0, 106, 32, 3, 65, 136, 3, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 128, 3, 55, 2, 68, 32, 3, 65, 1, 54, 2, 64, 32, 3, 65, 192, 1, 106, 16, 42, 12, 1, 11, 32, 3, 65, 184, 1, 106, 32, 3, 65, 152, 2, 106, 34, 0, 41, 3, 0, 55, 3, 0, 32, 3, 65, 176, 1, 106, 32, 3, 65, 144, 2, 106, 34, 1, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 136, 2, 55, 3, 168, 1, 32, 3, 65, 160, 2, 106, 34, 2, 40, 2, 0, 33, 12, 32, 3, 65, 164, 2, 106, 40, 2, 0, 33, 19, 32, 3, 65, 168, 2, 106, 41, 3, 0, 33, 29, 32, 3, 65, 176, 2, 106, 40, 2, 0, 33, 13, 32, 3, 65, 180, 2, 106, 40, 2, 0, 33, 20, 32, 3, 65, 184, 2, 106, 41, 3, 0, 33, 30, 32, 3, 65, 128, 2, 106, 32, 3, 40, 2, 136, 1, 34, 24, 32, 3, 40, 2, 144, 1, 16, 30, 2, 64, 32, 3, 40, 2, 128, 2, 65, 1, 70, 4, 64, 32, 3, 65, 216, 1, 106, 32, 2, 41, 3, 0, 55, 3, 0, 32, 3, 65, 208, 1, 106, 32, 0, 41, 3, 0, 55, 3, 0, 32, 3, 65, 200, 1, 106, 32, 1, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 136, 2, 55, 3, 192, 1, 32, 3, 65, 0, 54, 2, 136, 3, 32, 3, 66, 1, 55, 3, 128, 3, 32, 3, 32, 3, 65, 192, 1, 106, 54, 2, 180, 3, 32, 3, 65, 9, 54, 2, 252, 1, 32, 3, 32, 3, 65, 180, 3, 106, 54, 2, 248, 1, 32, 3, 32, 3, 65, 128, 3, 106, 54, 2, 160, 3, 32, 3, 65, 212, 0, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 68, 32, 3, 65, 212, 134, 192, 0, 54, 2, 64, 32, 3, 32, 3, 65, 248, 1, 106, 54, 2, 80, 32, 3, 65, 160, 3, 106, 65, 156, 140, 192, 0, 32, 3, 65, 64, 107, 16, 156, 2, 13, 4, 32, 3, 65, 204, 0, 106, 32, 3, 65, 136, 3, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 128, 3, 55, 2, 68, 32, 3, 65, 1, 54, 2, 64, 32, 3, 65, 192, 1, 106, 16, 42, 12, 1, 11, 32, 0, 40, 2, 0, 33, 14, 32, 3, 65, 148, 2, 106, 34, 21, 40, 2, 0, 33, 15, 32, 1, 40, 2, 0, 33, 16, 32, 3, 65, 140, 2, 106, 40, 2, 0, 33, 25, 32, 3, 40, 2, 136, 2, 33, 22, 32, 3, 40, 2, 132, 2, 33, 17, 32, 3, 65, 128, 3, 106, 32, 3, 40, 2, 152, 1, 34, 26, 32, 3, 40, 2, 160, 1, 16, 174, 1, 32, 3, 65, 56, 106, 32, 3, 65, 128, 3, 106, 16, 181, 1, 2, 64, 32, 3, 45, 0, 56, 65, 1, 113, 69, 4, 64, 65, 4, 33, 2, 12, 1, 11, 32, 3, 45, 0, 57, 65, 251, 0, 71, 4, 64, 65, 14, 33, 2, 12, 1, 11, 32, 3, 65, 128, 3, 106, 16, 175, 1, 32, 3, 65, 48, 106, 32, 3, 65, 128, 3, 106, 16, 173, 1, 32, 3, 45, 0, 52, 33, 1, 32, 3, 65, 40, 106, 32, 3, 40, 2, 48, 34, 0, 16, 181, 1, 2, 64, 2, 64, 2, 64, 32, 3, 45, 0, 40, 65, 1, 113, 69, 4, 64, 65, 2, 33, 2, 12, 1, 11, 32, 3, 45, 0, 41, 33, 2, 32, 1, 65, 1, 113, 33, 1, 32, 3, 65, 192, 1, 106, 65, 4, 114, 33, 8, 32, 3, 65, 128, 2, 106, 65, 4, 114, 33, 23, 32, 3, 65, 136, 2, 106, 33, 11, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 255, 1, 113, 34, 4, 65, 44, 71, 4, 64, 32, 4, 65, 253, 0, 70, 13, 1, 32, 1, 65, 255, 1, 113, 13, 2, 65, 9, 33, 2, 12, 9, 11, 32, 1, 65, 255, 1, 113, 4, 64, 65, 16, 33, 2, 12, 9, 11, 32, 0, 16, 175, 1, 32, 3, 65, 32, 106, 32, 0, 16, 181, 1, 32, 3, 45, 0, 32, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 33, 33, 2, 12, 1, 11, 2, 64, 32, 6, 4, 64, 32, 7, 13, 1, 32, 3, 65, 128, 2, 106, 65, 208, 146, 192, 0, 65, 11, 16, 23, 32, 3, 65, 140, 2, 106, 40, 2, 0, 33, 5, 32, 3, 65, 136, 2, 106, 40, 2, 0, 33, 1, 32, 3, 40, 2, 132, 2, 33, 4, 32, 3, 40, 2, 128, 2, 33, 2, 32, 9, 69, 13, 12, 32, 6, 16, 226, 1, 12, 12, 11, 32, 3, 65, 128, 2, 106, 65, 200, 146, 192, 0, 65, 8, 16, 23, 32, 3, 65, 140, 2, 106, 40, 2, 0, 33, 5, 32, 3, 65, 136, 2, 106, 40, 2, 0, 33, 1, 32, 3, 40, 2, 132, 2, 33, 4, 32, 3, 40, 2, 128, 2, 33, 2, 12, 4, 11, 32, 3, 65, 128, 2, 106, 32, 3, 65, 128, 3, 106, 16, 178, 1, 32, 3, 65, 140, 2, 106, 33, 0, 32, 3, 65, 136, 2, 106, 33, 1, 32, 3, 40, 2, 128, 2, 34, 2, 65, 21, 71, 4, 64, 32, 0, 40, 2, 0, 33, 5, 32, 1, 40, 2, 0, 33, 1, 32, 3, 40, 2, 132, 2, 33, 4, 32, 9, 4, 64, 32, 6, 16, 226, 1, 11, 32, 10, 69, 13, 11, 32, 7, 16, 226, 1, 12, 11, 11, 32, 3, 65, 128, 2, 106, 32, 3, 65, 128, 3, 106, 16, 176, 1, 32, 3, 40, 2, 128, 2, 34, 2, 65, 21, 71, 4, 64, 32, 0, 40, 2, 0, 33, 5, 32, 1, 40, 2, 0, 33, 1, 32, 3, 40, 2, 132, 2, 33, 4, 32, 9, 4, 64, 32, 6, 16, 226, 1, 11, 32, 10, 69, 13, 11, 32, 7, 16, 226, 1, 12, 11, 11, 32, 3, 65, 24, 106, 32, 3, 65, 184, 3, 106, 65, 224, 128, 192, 0, 16, 145, 1, 32, 3, 65, 200, 2, 106, 32, 3, 41, 3, 24, 55, 3, 0, 32, 3, 65, 196, 2, 106, 65, 180, 128, 192, 0, 54, 2, 0, 32, 3, 65, 188, 2, 106, 65, 156, 128, 192, 0, 54, 2, 0, 32, 3, 65, 136, 2, 106, 34, 0, 32, 3, 65, 176, 1, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 144, 2, 106, 34, 1, 32, 3, 65, 184, 1, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 252, 2, 106, 32, 27, 54, 2, 0, 32, 3, 65, 248, 2, 106, 32, 10, 54, 2, 0, 32, 3, 65, 244, 2, 106, 32, 7, 54, 2, 0, 32, 3, 65, 240, 2, 106, 32, 28, 54, 2, 0, 32, 3, 65, 236, 2, 106, 32, 9, 54, 2, 0, 32, 3, 65, 228, 2, 106, 32, 14, 54, 2, 0, 32, 3, 65, 224, 2, 106, 32, 15, 54, 2, 0, 32, 3, 65, 220, 2, 106, 32, 16, 54, 2, 0, 32, 3, 65, 216, 2, 106, 32, 25, 54, 2, 0, 32, 3, 65, 212, 2, 106, 32, 22, 54, 2, 0, 32, 3, 65, 176, 2, 106, 32, 30, 55, 3, 0, 32, 3, 65, 172, 2, 106, 32, 20, 54, 2, 0, 32, 3, 65, 160, 2, 106, 34, 2, 32, 29, 55, 3, 0, 32, 3, 65, 156, 2, 106, 34, 4, 32, 19, 54, 2, 0, 32, 3, 65, 192, 2, 106, 32, 3, 65, 184, 3, 106, 54, 2, 0, 32, 3, 32, 3, 41, 3, 168, 1, 55, 3, 128, 2, 32, 3, 32, 6, 54, 2, 232, 2, 32, 3, 32, 17, 54, 2, 208, 2, 32, 3, 32, 13, 54, 2, 168, 2, 32, 3, 32, 12, 54, 2, 152, 2, 32, 3, 32, 3, 65, 184, 3, 106, 54, 2, 184, 2, 32, 3, 65, 192, 1, 106, 32, 3, 65, 184, 2, 106, 32, 3, 65, 128, 2, 106, 32, 3, 65, 208, 2, 106, 32, 3, 65, 232, 2, 106, 16, 75, 32, 0, 32, 3, 65, 204, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 32, 3, 65, 212, 1, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 152, 2, 106, 34, 5, 32, 3, 65, 220, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 3, 65, 228, 1, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 168, 2, 106, 34, 6, 32, 3, 65, 236, 1, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 196, 1, 55, 3, 128, 2, 2, 64, 2, 64, 32, 3, 40, 2, 192, 1, 65, 1, 70, 4, 64, 32, 3, 65, 152, 3, 106, 32, 4, 41, 2, 0, 55, 3, 0, 32, 3, 65, 144, 3, 106, 32, 3, 65, 148, 2, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 136, 3, 106, 32, 3, 65, 140, 2, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 132, 2, 55, 3, 128, 3, 32, 3, 65, 0, 54, 2, 168, 3, 32, 3, 66, 1, 55, 3, 160, 3, 32, 3, 32, 3, 65, 128, 3, 106, 54, 2, 176, 3, 32, 3, 65, 14, 54, 2, 252, 1, 32, 3, 32, 3, 65, 176, 3, 106, 54, 2, 248, 1, 32, 3, 32, 3, 65, 160, 3, 106, 54, 2, 180, 3, 32, 3, 65, 212, 0, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 68, 32, 3, 65, 212, 134, 192, 0, 54, 2, 64, 32, 3, 32, 3, 65, 248, 1, 106, 54, 2, 80, 32, 3, 65, 180, 3, 106, 65, 156, 140, 192, 0, 32, 3, 65, 64, 107, 16, 156, 2, 13, 2, 32, 3, 65, 204, 0, 106, 32, 3, 65, 168, 3, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 160, 3, 55, 2, 68, 32, 3, 65, 1, 54, 2, 64, 32, 3, 40, 2, 128, 3, 65, 11, 70, 13, 1, 32, 3, 65, 128, 3, 106, 16, 42, 12, 1, 11, 32, 3, 65, 236, 0, 106, 32, 6, 41, 3, 0, 55, 2, 0, 32, 3, 65, 228, 0, 106, 32, 2, 41, 3, 0, 55, 2, 0, 32, 3, 65, 220, 0, 106, 32, 5, 41, 3, 0, 55, 2, 0, 32, 3, 65, 212, 0, 106, 32, 1, 41, 3, 0, 55, 2, 0, 32, 3, 65, 204, 0, 106, 32, 0, 41, 3, 0, 55, 2, 0, 32, 3, 32, 3, 41, 3, 128, 2, 55, 2, 68, 32, 3, 65, 0, 54, 2, 64, 11, 32, 3, 40, 2, 156, 1, 4, 64, 32, 26, 16, 226, 1, 11, 32, 3, 40, 2, 140, 1, 4, 64, 32, 24, 16, 226, 1, 11, 32, 3, 40, 2, 124, 69, 13, 14, 32, 18, 16, 226, 1, 12, 14, 11, 12, 14, 11, 32, 2, 65, 255, 1, 113, 34, 1, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 1, 65, 253, 0, 70, 27, 33, 2, 12, 7, 11, 32, 3, 65, 16, 106, 32, 0, 16, 181, 1, 32, 3, 45, 0, 16, 65, 1, 113, 13, 1, 11, 65, 4, 33, 2, 12, 5, 11, 32, 3, 45, 0, 17, 65, 34, 71, 4, 64, 65, 14, 33, 2, 12, 5, 11, 32, 0, 16, 175, 1, 32, 3, 65, 128, 2, 106, 32, 0, 16, 180, 1, 32, 3, 40, 2, 144, 2, 33, 5, 32, 3, 40, 2, 140, 2, 33, 1, 32, 3, 40, 2, 136, 2, 33, 4, 32, 3, 40, 2, 132, 2, 33, 2, 32, 3, 40, 2, 128, 2, 65, 1, 70, 13, 4, 2, 64, 2, 64, 2, 64, 32, 2, 4, 64, 65, 2, 33, 2, 2, 64, 2, 64, 2, 64, 32, 5, 65, 120, 106, 14, 4, 0, 2, 2, 1, 2, 11, 65, 0, 65, 126, 32, 4, 41, 0, 0, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 81, 27, 33, 2, 12, 1, 11, 65, 126, 65, 1, 32, 4, 65, 208, 146, 192, 0, 65, 11, 16, 214, 2, 27, 33, 2, 11, 32, 1, 4, 64, 32, 4, 16, 226, 1, 11, 32, 2, 65, 30, 116, 65, 30, 117, 65, 0, 72, 13, 5, 32, 2, 65, 3, 113, 65, 1, 107, 13, 1, 12, 3, 11, 2, 64, 32, 1, 65, 120, 106, 14, 4, 0, 5, 5, 2, 5, 11, 32, 4, 41, 0, 0, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 82, 13, 4, 11, 32, 6, 4, 64, 32, 3, 65, 128, 2, 106, 65, 200, 146, 192, 0, 65, 8, 16, 24, 32, 3, 65, 140, 2, 106, 40, 2, 0, 33, 5, 32, 3, 65, 136, 2, 106, 40, 2, 0, 33, 1, 32, 3, 40, 2, 132, 2, 33, 4, 32, 3, 40, 2, 128, 2, 33, 2, 12, 7, 11, 32, 3, 65, 192, 1, 106, 32, 0, 16, 179, 1, 32, 3, 65, 200, 0, 106, 32, 8, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 8, 41, 2, 0, 55, 3, 64, 2, 64, 2, 64, 32, 3, 40, 2, 192, 1, 34, 2, 65, 21, 71, 4, 64, 32, 11, 32, 3, 41, 3, 64, 55, 2, 0, 32, 11, 65, 8, 106, 32, 3, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 2, 54, 2, 132, 2, 32, 3, 65, 1, 54, 2, 128, 2, 12, 1, 11, 32, 3, 65, 128, 2, 106, 32, 0, 16, 25, 32, 3, 40, 2, 128, 2, 65, 1, 71, 13, 1, 32, 3, 40, 2, 132, 2, 33, 2, 11, 32, 3, 65, 144, 2, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 140, 2, 33, 1, 32, 3, 40, 2, 136, 2, 33, 4, 12, 3, 11, 32, 3, 40, 2, 140, 2, 33, 28, 32, 3, 40, 2, 136, 2, 33, 9, 32, 3, 40, 2, 132, 2, 33, 6, 12, 4, 11, 32, 4, 65, 208, 146, 192, 0, 65, 11, 16, 214, 2, 13, 2, 11, 32, 7, 4, 64, 32, 3, 65, 128, 2, 106, 65, 208, 146, 192, 0, 65, 11, 16, 24, 32, 3, 65, 140, 2, 106, 40, 2, 0, 33, 5, 32, 3, 65, 136, 2, 106, 40, 2, 0, 33, 1, 32, 3, 40, 2, 132, 2, 33, 4, 32, 3, 40, 2, 128, 2, 33, 2, 32, 10, 13, 6, 12, 7, 11, 32, 3, 65, 192, 1, 106, 32, 0, 16, 179, 1, 32, 3, 65, 200, 0, 106, 32, 8, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 8, 41, 2, 0, 55, 3, 64, 2, 64, 2, 64, 32, 3, 40, 2, 192, 1, 34, 2, 65, 21, 71, 4, 64, 32, 11, 32, 3, 41, 3, 64, 55, 2, 0, 32, 11, 65, 8, 106, 32, 3, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 2, 54, 2, 132, 2, 32, 3, 65, 1, 54, 2, 128, 2, 12, 1, 11, 32, 3, 65, 128, 2, 106, 32, 0, 16, 25, 32, 3, 40, 2, 128, 2, 65, 1, 71, 13, 1, 32, 3, 40, 2, 132, 2, 33, 2, 11, 32, 3, 65, 144, 2, 106, 40, 2, 0, 33, 5, 32, 3, 40, 2, 140, 2, 33, 1, 32, 3, 40, 2, 136, 2, 33, 4, 12, 7, 11, 32, 3, 40, 2, 140, 2, 33, 27, 32, 3, 40, 2, 136, 2, 33, 10, 32, 3, 40, 2, 132, 2, 33, 7, 12, 2, 11, 65, 0, 33, 6, 12, 3, 11, 32, 3, 65, 128, 2, 106, 32, 0, 16, 179, 1, 32, 3, 65, 200, 0, 106, 32, 23, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 23, 41, 2, 0, 55, 3, 64, 2, 64, 32, 3, 40, 2, 128, 2, 34, 2, 65, 21, 71, 4, 64, 32, 8, 32, 3, 41, 3, 64, 55, 2, 0, 32, 8, 65, 8, 106, 32, 3, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 2, 54, 2, 192, 1, 12, 1, 11, 32, 3, 65, 192, 1, 106, 32, 0, 16, 26, 32, 3, 40, 2, 192, 1, 34, 2, 65, 21, 70, 13, 1, 11, 32, 3, 65, 204, 1, 106, 40, 2, 0, 33, 5, 32, 3, 65, 200, 1, 106, 40, 2, 0, 33, 1, 32, 3, 40, 2, 196, 1, 33, 4, 12, 2, 11, 32, 3, 65, 8, 106, 32, 0, 16, 181, 1, 65, 0, 33, 1, 32, 3, 45, 0, 9, 33, 2, 32, 3, 45, 0, 8, 65, 1, 113, 13, 0, 11, 65, 2, 33, 2, 11, 32, 10, 69, 32, 7, 69, 114, 13, 1, 11, 32, 7, 16, 226, 1, 11, 32, 9, 69, 32, 6, 69, 114, 13, 0, 32, 6, 16, 226, 1, 11, 32, 3, 65, 204, 1, 106, 32, 5, 54, 2, 0, 32, 3, 65, 200, 1, 106, 32, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 196, 1, 32, 3, 32, 2, 54, 2, 192, 1, 32, 3, 65, 128, 2, 106, 65, 173, 138, 192, 0, 65, 29, 32, 3, 65, 192, 1, 106, 16, 27, 32, 3, 65, 168, 3, 106, 32, 3, 65, 156, 2, 106, 34, 0, 40, 2, 0, 34, 1, 54, 2, 0, 32, 3, 32, 21, 41, 2, 0, 34, 29, 55, 3, 160, 3, 32, 3, 65, 136, 2, 106, 34, 2, 41, 3, 0, 33, 30, 32, 3, 41, 3, 128, 2, 33, 31, 32, 3, 65, 144, 2, 106, 34, 4, 32, 4, 40, 2, 0, 54, 2, 0, 32, 2, 32, 30, 55, 3, 0, 32, 21, 32, 29, 55, 2, 0, 32, 0, 32, 1, 54, 2, 0, 32, 3, 32, 31, 55, 3, 128, 2, 32, 3, 65, 0, 54, 2, 136, 3, 32, 3, 66, 1, 55, 3, 128, 3, 32, 3, 32, 3, 65, 128, 2, 106, 54, 2, 180, 3, 32, 3, 65, 9, 54, 2, 252, 1, 32, 3, 32, 3, 65, 180, 3, 106, 54, 2, 248, 1, 32, 3, 32, 3, 65, 128, 3, 106, 54, 2, 64, 32, 3, 65, 212, 1, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 196, 1, 32, 3, 65, 212, 134, 192, 0, 54, 2, 192, 1, 32, 3, 32, 3, 65, 248, 1, 106, 54, 2, 208, 1, 32, 3, 65, 64, 107, 65, 156, 140, 192, 0, 32, 3, 65, 192, 1, 106, 16, 156, 2, 13, 3, 32, 3, 65, 204, 0, 106, 32, 3, 65, 136, 3, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 128, 3, 55, 2, 68, 32, 3, 65, 1, 54, 2, 64, 32, 3, 65, 128, 2, 106, 16, 42, 32, 17, 69, 32, 22, 69, 114, 69, 4, 64, 32, 17, 16, 226, 1, 11, 32, 14, 4, 64, 32, 14, 65, 5, 116, 33, 1, 32, 16, 65, 20, 106, 33, 2, 3, 64, 2, 64, 32, 2, 65, 124, 106, 40, 2, 0, 34, 0, 69, 13, 0, 32, 2, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 2, 65, 32, 106, 33, 2, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 15, 69, 32, 15, 65, 5, 116, 69, 114, 13, 0, 32, 16, 16, 226, 1, 11, 32, 12, 69, 32, 19, 69, 114, 69, 4, 64, 32, 12, 16, 226, 1, 11, 32, 13, 69, 32, 20, 69, 114, 13, 0, 32, 13, 16, 226, 1, 11, 2, 64, 32, 3, 40, 2, 152, 1, 34, 0, 69, 13, 0, 32, 3, 40, 2, 156, 1, 69, 13, 0, 32, 0, 16, 226, 1, 11, 2, 64, 32, 3, 40, 2, 136, 1, 34, 0, 69, 13, 0, 32, 3, 40, 2, 140, 1, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 3, 40, 2, 124, 69, 13, 0, 32, 18, 16, 226, 1, 11, 32, 3, 65, 128, 2, 106, 32, 3, 65, 64, 107, 16, 34, 32, 3, 40, 2, 128, 2, 65, 1, 71, 4, 64, 32, 3, 65, 200, 1, 106, 32, 3, 65, 140, 2, 106, 40, 2, 0, 34, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 132, 2, 34, 29, 55, 3, 192, 1, 32, 3, 65, 136, 2, 106, 32, 0, 54, 2, 0, 32, 3, 32, 29, 55, 3, 128, 2, 32, 3, 65, 128, 2, 106, 16, 161, 1, 32, 3, 65, 64, 107, 16, 54, 32, 3, 65, 192, 3, 106, 36, 0, 15, 11, 32, 3, 65, 216, 1, 106, 32, 3, 65, 160, 2, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 208, 1, 106, 32, 3, 65, 152, 2, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 200, 1, 106, 32, 3, 65, 144, 2, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 65, 136, 2, 106, 41, 3, 0, 55, 3, 192, 1, 65, 148, 141, 192, 0, 65, 43, 32, 3, 65, 192, 1, 106, 65, 192, 141, 192, 0, 65, 148, 132, 192, 0, 16, 162, 2, 0, 11, 65, 220, 134, 192, 0, 65, 55, 32, 3, 65, 184, 3, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 147, 60, 2, 21, 127, 3, 126, 35, 0, 65, 144, 6, 107, 34, 3, 36, 0, 32, 3, 65, 216, 3, 106, 32, 0, 16, 162, 1, 32, 3, 65, 232, 3, 106, 32, 1, 16, 162, 1, 32, 3, 65, 248, 3, 106, 32, 2, 16, 162, 1, 32, 3, 65, 224, 4, 106, 32, 3, 40, 2, 216, 3, 34, 16, 32, 3, 40, 2, 224, 3, 16, 28, 2, 64, 2, 64, 2, 64, 32, 3, 41, 3, 224, 4, 66, 1, 81, 4, 64, 32, 3, 65, 184, 4, 106, 32, 3, 65, 128, 5, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 176, 4, 106, 32, 3, 65, 248, 4, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 168, 4, 106, 32, 3, 65, 240, 4, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 232, 4, 55, 3, 160, 4, 32, 3, 65, 0, 54, 2, 216, 5, 32, 3, 66, 1, 55, 3, 208, 5, 32, 3, 32, 3, 65, 160, 4, 106, 54, 2, 132, 6, 32, 3, 65, 9, 54, 2, 220, 4, 32, 3, 32, 3, 65, 132, 6, 106, 54, 2, 216, 4, 32, 3, 32, 3, 65, 208, 5, 106, 54, 2, 240, 5, 32, 3, 65, 180, 3, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 164, 3, 32, 3, 65, 212, 134, 192, 0, 54, 2, 160, 3, 32, 3, 32, 3, 65, 216, 4, 106, 54, 2, 176, 3, 32, 3, 65, 240, 5, 106, 65, 156, 140, 192, 0, 32, 3, 65, 160, 3, 106, 16, 156, 2, 13, 3, 32, 3, 65, 172, 3, 106, 32, 3, 65, 216, 5, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 208, 5, 55, 2, 164, 3, 32, 3, 65, 1, 54, 2, 160, 3, 32, 3, 65, 160, 4, 106, 16, 42, 12, 1, 11, 32, 3, 65, 152, 4, 106, 32, 3, 65, 248, 4, 106, 34, 0, 41, 3, 0, 55, 3, 0, 32, 3, 65, 144, 4, 106, 32, 3, 65, 240, 4, 106, 34, 1, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 232, 4, 55, 3, 136, 4, 32, 3, 65, 128, 5, 106, 34, 2, 40, 2, 0, 33, 10, 32, 3, 65, 132, 5, 106, 40, 2, 0, 33, 17, 32, 3, 65, 136, 5, 106, 41, 3, 0, 33, 24, 32, 3, 65, 144, 5, 106, 40, 2, 0, 33, 11, 32, 3, 65, 148, 5, 106, 40, 2, 0, 33, 18, 32, 3, 65, 152, 5, 106, 41, 3, 0, 33, 25, 32, 3, 65, 224, 4, 106, 32, 3, 40, 2, 232, 3, 34, 21, 32, 3, 40, 2, 240, 3, 16, 30, 2, 64, 32, 3, 40, 2, 224, 4, 65, 1, 70, 4, 64, 32, 3, 65, 184, 4, 106, 32, 2, 41, 3, 0, 55, 3, 0, 32, 3, 65, 176, 4, 106, 32, 0, 41, 3, 0, 55, 3, 0, 32, 3, 65, 168, 4, 106, 32, 1, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 41, 3, 232, 4, 55, 3, 160, 4, 32, 3, 65, 0, 54, 2, 216, 5, 32, 3, 66, 1, 55, 3, 208, 5, 32, 3, 32, 3, 65, 160, 4, 106, 54, 2, 132, 6, 32, 3, 65, 9, 54, 2, 220, 4, 32, 3, 32, 3, 65, 132, 6, 106, 54, 2, 216, 4, 32, 3, 32, 3, 65, 208, 5, 106, 54, 2, 240, 5, 32, 3, 65, 180, 3, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 164, 3, 32, 3, 65, 212, 134, 192, 0, 54, 2, 160, 3, 32, 3, 32, 3, 65, 216, 4, 106, 54, 2, 176, 3, 32, 3, 65, 240, 5, 106, 65, 156, 140, 192, 0, 32, 3, 65, 160, 3, 106, 16, 156, 2, 13, 4, 32, 3, 65, 172, 3, 106, 32, 3, 65, 216, 5, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 208, 5, 55, 2, 164, 3, 32, 3, 65, 1, 54, 2, 160, 3, 32, 3, 65, 160, 4, 106, 16, 42, 12, 1, 11, 32, 0, 40, 2, 0, 33, 12, 32, 3, 65, 244, 4, 106, 40, 2, 0, 33, 13, 32, 1, 40, 2, 0, 33, 14, 32, 3, 65, 236, 4, 106, 40, 2, 0, 33, 22, 32, 3, 40, 2, 232, 4, 33, 19, 32, 3, 40, 2, 228, 4, 33, 15, 32, 3, 65, 208, 5, 106, 32, 3, 40, 2, 248, 3, 34, 23, 32, 3, 40, 2, 128, 4, 16, 174, 1, 32, 3, 65, 152, 3, 106, 32, 3, 65, 208, 5, 106, 16, 181, 1, 65, 0, 33, 0, 2, 64, 2, 64, 2, 64, 32, 3, 45, 0, 152, 3, 65, 1, 113, 69, 13, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 45, 0, 153, 3, 34, 1, 65, 251, 0, 71, 4, 64, 32, 1, 65, 34, 70, 13, 1, 65, 10, 33, 1, 12, 19, 11, 32, 3, 65, 208, 5, 106, 16, 175, 1, 32, 3, 65, 224, 4, 106, 32, 3, 65, 208, 5, 106, 34, 7, 16, 68, 32, 3, 65, 232, 4, 106, 33, 4, 32, 3, 45, 0, 224, 4, 65, 1, 70, 4, 64, 32, 3, 65, 236, 4, 106, 41, 2, 0, 33, 24, 32, 4, 40, 2, 0, 33, 4, 32, 3, 40, 2, 228, 4, 34, 1, 65, 8, 118, 33, 0, 12, 19, 11, 32, 3, 45, 0, 225, 4, 33, 2, 32, 3, 65, 224, 4, 106, 32, 7, 16, 179, 1, 32, 3, 40, 2, 224, 4, 34, 1, 65, 21, 71, 4, 64, 32, 4, 41, 3, 0, 33, 24, 32, 3, 40, 2, 228, 4, 33, 4, 32, 1, 65, 8, 118, 33, 0, 12, 19, 11, 2, 64, 32, 2, 65, 1, 107, 14, 6, 10, 9, 8, 3, 2, 0, 11, 11, 32, 3, 65, 144, 3, 106, 32, 7, 16, 181, 1, 32, 3, 45, 0, 144, 3, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 17, 11, 32, 3, 45, 0, 145, 3, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 17, 11, 32, 7, 16, 175, 1, 32, 3, 65, 136, 3, 106, 32, 7, 16, 173, 1, 32, 3, 45, 0, 140, 3, 33, 5, 32, 3, 65, 128, 3, 106, 32, 3, 40, 2, 136, 3, 34, 6, 16, 181, 1, 65, 2, 33, 1, 32, 3, 45, 0, 128, 3, 65, 1, 113, 69, 13, 15, 32, 3, 45, 0, 129, 3, 33, 4, 32, 5, 65, 1, 113, 33, 5, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 2, 65, 44, 71, 4, 64, 32, 2, 65, 253, 0, 70, 13, 1, 32, 5, 65, 255, 1, 113, 13, 2, 65, 9, 33, 1, 12, 21, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 1, 12, 21, 11, 32, 6, 16, 175, 1, 32, 3, 65, 248, 2, 106, 32, 6, 16, 181, 1, 32, 3, 45, 0, 248, 2, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 249, 2, 33, 4, 12, 1, 11, 32, 3, 65, 224, 4, 106, 32, 7, 16, 178, 1, 32, 3, 40, 2, 224, 4, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 232, 4, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 228, 4, 33, 4, 12, 21, 11, 32, 3, 65, 240, 2, 106, 32, 7, 16, 181, 1, 32, 3, 45, 0, 240, 2, 65, 1, 113, 69, 13, 21, 65, 6, 33, 1, 32, 3, 45, 0, 241, 2, 65, 253, 0, 70, 13, 15, 12, 18, 11, 32, 4, 65, 255, 1, 113, 34, 2, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 2, 65, 253, 0, 71, 13, 19, 65, 19, 33, 1, 12, 19, 11, 32, 3, 65, 232, 2, 106, 32, 6, 16, 181, 1, 32, 3, 45, 0, 232, 2, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 17, 11, 32, 3, 45, 0, 233, 2, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 17, 11, 32, 6, 16, 175, 1, 32, 3, 65, 224, 4, 106, 32, 6, 16, 180, 1, 32, 3, 40, 2, 236, 4, 33, 5, 32, 3, 40, 2, 232, 4, 33, 4, 32, 3, 40, 2, 228, 4, 33, 2, 2, 64, 32, 3, 40, 2, 224, 4, 65, 1, 71, 4, 64, 32, 5, 69, 32, 2, 69, 32, 4, 69, 114, 114, 13, 1, 32, 4, 16, 226, 1, 12, 1, 11, 32, 2, 65, 21, 70, 13, 0, 32, 3, 40, 2, 240, 4, 33, 0, 32, 2, 33, 1, 12, 17, 11, 32, 3, 65, 224, 4, 106, 32, 6, 16, 179, 1, 32, 3, 40, 2, 224, 4, 34, 2, 65, 21, 71, 4, 64, 32, 3, 40, 2, 228, 4, 33, 4, 32, 3, 65, 168, 3, 106, 32, 3, 41, 3, 232, 4, 34, 24, 55, 3, 0, 32, 3, 32, 4, 54, 2, 164, 3, 32, 3, 32, 2, 54, 2, 160, 3, 32, 2, 33, 1, 12, 18, 11, 32, 3, 65, 160, 3, 106, 32, 6, 16, 26, 32, 3, 40, 2, 160, 3, 34, 2, 65, 21, 71, 4, 64, 32, 3, 65, 168, 3, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 164, 3, 33, 4, 32, 2, 33, 1, 12, 18, 11, 32, 3, 65, 224, 2, 106, 32, 6, 16, 181, 1, 65, 0, 33, 5, 32, 3, 45, 0, 225, 2, 33, 4, 32, 3, 45, 0, 224, 2, 65, 1, 113, 13, 0, 11, 12, 15, 11, 32, 3, 65, 224, 4, 106, 32, 3, 65, 208, 5, 106, 16, 68, 32, 3, 47, 0, 229, 4, 32, 3, 45, 0, 231, 4, 65, 16, 116, 114, 65, 0, 32, 3, 45, 0, 224, 4, 65, 1, 70, 34, 1, 27, 33, 0, 32, 3, 45, 0, 228, 4, 65, 14, 32, 1, 27, 33, 1, 32, 3, 65, 236, 4, 106, 41, 2, 0, 33, 24, 32, 3, 65, 232, 4, 106, 40, 2, 0, 33, 4, 12, 17, 11, 32, 3, 65, 216, 2, 106, 32, 7, 16, 181, 1, 2, 64, 32, 3, 45, 0, 216, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 1, 11, 32, 3, 45, 0, 217, 2, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 1, 11, 32, 7, 16, 175, 1, 32, 3, 65, 208, 2, 106, 32, 7, 16, 173, 1, 32, 3, 45, 0, 212, 2, 33, 2, 32, 3, 65, 200, 2, 106, 32, 3, 40, 2, 208, 2, 34, 5, 16, 181, 1, 2, 64, 32, 3, 45, 0, 200, 2, 65, 1, 113, 4, 64, 32, 3, 45, 0, 201, 2, 33, 4, 32, 2, 65, 1, 113, 33, 2, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 1, 65, 44, 71, 4, 64, 32, 1, 65, 253, 0, 70, 13, 1, 32, 2, 65, 255, 1, 113, 13, 2, 65, 9, 33, 1, 12, 7, 11, 32, 2, 65, 255, 1, 113, 4, 64, 65, 16, 33, 1, 12, 7, 11, 32, 5, 16, 175, 1, 32, 3, 65, 192, 2, 106, 32, 5, 16, 181, 1, 32, 3, 45, 0, 192, 2, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 193, 2, 33, 4, 12, 1, 11, 32, 3, 65, 224, 4, 106, 32, 7, 16, 178, 1, 32, 3, 40, 2, 224, 4, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 232, 4, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 228, 4, 33, 4, 12, 7, 11, 32, 3, 65, 184, 2, 106, 32, 7, 16, 181, 1, 32, 3, 45, 0, 184, 2, 65, 1, 113, 69, 13, 9, 65, 5, 33, 1, 32, 3, 45, 0, 185, 2, 65, 253, 0, 71, 13, 8, 12, 16, 11, 32, 4, 65, 255, 1, 113, 34, 6, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 6, 65, 253, 0, 71, 13, 5, 65, 19, 33, 1, 12, 5, 11, 32, 3, 65, 176, 2, 106, 32, 5, 16, 181, 1, 32, 3, 45, 0, 176, 2, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 3, 11, 32, 3, 45, 0, 177, 2, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 3, 11, 32, 5, 16, 175, 1, 32, 3, 65, 224, 4, 106, 32, 5, 16, 180, 1, 32, 3, 40, 2, 236, 4, 33, 2, 32, 3, 40, 2, 232, 4, 33, 4, 32, 3, 40, 2, 228, 4, 33, 1, 2, 64, 32, 3, 40, 2, 224, 4, 65, 1, 71, 4, 64, 32, 2, 69, 32, 1, 69, 32, 4, 69, 114, 114, 13, 1, 32, 4, 16, 226, 1, 12, 1, 11, 32, 1, 65, 21, 70, 13, 0, 32, 3, 40, 2, 240, 4, 33, 0, 12, 3, 11, 32, 3, 65, 224, 4, 106, 32, 5, 16, 179, 1, 32, 3, 40, 2, 224, 4, 34, 1, 65, 21, 71, 4, 64, 32, 3, 40, 2, 228, 4, 33, 4, 32, 3, 65, 168, 3, 106, 32, 3, 41, 3, 232, 4, 34, 24, 55, 3, 0, 32, 3, 32, 4, 54, 2, 164, 3, 32, 3, 32, 1, 54, 2, 160, 3, 12, 4, 11, 32, 3, 65, 160, 3, 106, 32, 5, 16, 26, 32, 3, 40, 2, 160, 3, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 168, 3, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 164, 3, 33, 4, 12, 4, 11, 32, 3, 65, 168, 2, 106, 32, 5, 16, 181, 1, 65, 0, 33, 2, 32, 3, 45, 0, 169, 2, 33, 4, 32, 3, 45, 0, 168, 2, 65, 1, 113, 13, 0, 11, 11, 65, 2, 33, 1, 11, 32, 2, 173, 32, 0, 173, 66, 32, 134, 132, 33, 24, 11, 32, 1, 65, 8, 118, 33, 0, 12, 16, 11, 32, 3, 65, 160, 2, 106, 32, 7, 16, 181, 1, 32, 3, 45, 0, 160, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 4, 11, 32, 3, 45, 0, 161, 2, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 4, 11, 32, 7, 16, 175, 1, 32, 3, 65, 152, 2, 106, 32, 7, 16, 173, 1, 32, 3, 40, 2, 152, 2, 33, 8, 32, 3, 32, 3, 45, 0, 156, 2, 65, 1, 113, 34, 0, 58, 0, 244, 5, 32, 3, 32, 8, 54, 2, 240, 5, 32, 3, 65, 144, 2, 106, 32, 8, 16, 181, 1, 65, 2, 33, 1, 32, 3, 45, 0, 144, 2, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 145, 2, 33, 4, 32, 0, 33, 5, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 2, 65, 44, 71, 4, 64, 32, 2, 65, 253, 0, 70, 13, 3, 32, 0, 13, 1, 65, 9, 33, 1, 12, 10, 11, 32, 5, 65, 255, 1, 113, 69, 13, 1, 11, 65, 0, 33, 0, 32, 3, 65, 0, 58, 0, 244, 5, 12, 2, 11, 32, 8, 16, 175, 1, 32, 3, 65, 136, 2, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 136, 2, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 137, 2, 33, 4, 12, 1, 11, 32, 20, 65, 1, 71, 4, 64, 32, 3, 65, 224, 4, 106, 65, 164, 147, 192, 0, 65, 5, 16, 23, 32, 3, 65, 232, 4, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 228, 4, 33, 4, 32, 3, 40, 2, 224, 4, 33, 1, 12, 8, 11, 32, 3, 65, 224, 4, 106, 32, 7, 16, 178, 1, 32, 3, 40, 2, 224, 4, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 232, 4, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 228, 4, 33, 4, 12, 8, 11, 32, 3, 65, 128, 2, 106, 32, 7, 16, 181, 1, 65, 0, 33, 0, 32, 3, 45, 0, 128, 2, 65, 1, 113, 69, 13, 5, 65, 4, 33, 1, 32, 3, 45, 0, 129, 2, 65, 253, 0, 70, 13, 12, 12, 4, 11, 32, 4, 65, 255, 1, 113, 34, 6, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 6, 65, 253, 0, 71, 13, 6, 65, 19, 33, 1, 12, 6, 11, 32, 3, 65, 248, 1, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 248, 1, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 4, 11, 32, 3, 45, 0, 249, 1, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 4, 11, 32, 8, 16, 175, 1, 32, 3, 65, 224, 4, 106, 32, 8, 16, 180, 1, 32, 3, 40, 2, 240, 4, 33, 5, 32, 3, 40, 2, 236, 4, 33, 2, 32, 3, 40, 2, 232, 4, 33, 4, 32, 3, 40, 2, 228, 4, 33, 6, 32, 3, 40, 2, 224, 4, 65, 1, 70, 4, 64, 32, 6, 33, 1, 12, 4, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 6, 4, 64, 32, 5, 65, 5, 71, 4, 127, 65, 1, 5, 32, 4, 65, 164, 147, 192, 0, 65, 5, 16, 214, 2, 65, 0, 71, 11, 33, 5, 32, 2, 69, 32, 4, 69, 114, 13, 1, 32, 4, 16, 226, 1, 12, 1, 11, 32, 2, 65, 5, 71, 13, 1, 32, 4, 65, 164, 147, 192, 0, 65, 5, 16, 214, 2, 65, 0, 71, 33, 5, 11, 32, 5, 69, 13, 1, 11, 32, 3, 65, 224, 4, 106, 32, 8, 16, 179, 1, 32, 3, 40, 2, 224, 4, 34, 2, 65, 21, 70, 13, 1, 32, 3, 40, 2, 228, 4, 33, 4, 32, 3, 65, 168, 3, 106, 32, 3, 41, 3, 232, 4, 34, 24, 55, 3, 0, 32, 3, 32, 4, 54, 2, 164, 3, 32, 3, 32, 2, 54, 2, 160, 3, 32, 2, 33, 1, 12, 7, 11, 32, 20, 65, 1, 70, 4, 64, 32, 3, 65, 224, 4, 106, 65, 164, 147, 192, 0, 65, 5, 16, 24, 32, 3, 65, 232, 4, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 228, 4, 33, 4, 32, 3, 40, 2, 224, 4, 33, 1, 12, 7, 11, 32, 3, 65, 224, 4, 106, 32, 3, 65, 240, 5, 106, 16, 63, 32, 3, 40, 2, 228, 4, 33, 9, 32, 3, 40, 2, 224, 4, 65, 1, 70, 4, 64, 32, 3, 65, 236, 4, 106, 41, 2, 0, 33, 24, 32, 3, 65, 232, 4, 106, 40, 2, 0, 33, 4, 32, 9, 33, 1, 12, 7, 11, 65, 1, 33, 20, 12, 1, 11, 32, 3, 65, 160, 3, 106, 32, 8, 16, 26, 32, 3, 40, 2, 160, 3, 34, 2, 65, 21, 70, 13, 0, 32, 3, 65, 168, 3, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 164, 3, 33, 4, 32, 2, 33, 1, 12, 5, 11, 32, 3, 65, 240, 1, 106, 32, 8, 16, 181, 1, 65, 0, 33, 5, 32, 3, 45, 0, 241, 1, 33, 4, 32, 3, 45, 0, 240, 1, 65, 1, 113, 13, 0, 11, 12, 2, 11, 65, 11, 33, 1, 12, 14, 11, 65, 4, 33, 1, 12, 13, 11, 32, 2, 173, 32, 5, 173, 66, 32, 134, 132, 33, 24, 11, 32, 1, 65, 8, 118, 33, 0, 12, 11, 11, 32, 3, 65, 232, 1, 106, 32, 7, 16, 181, 1, 2, 64, 32, 3, 45, 0, 232, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 1, 11, 32, 3, 45, 0, 233, 1, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 1, 11, 32, 7, 16, 175, 1, 32, 3, 65, 224, 1, 106, 32, 7, 16, 173, 1, 32, 3, 45, 0, 228, 1, 33, 5, 32, 3, 65, 216, 1, 106, 32, 3, 40, 2, 224, 1, 34, 6, 16, 181, 1, 65, 2, 33, 1, 2, 64, 32, 3, 45, 0, 216, 1, 65, 1, 113, 69, 13, 0, 32, 3, 45, 0, 217, 1, 33, 4, 32, 5, 65, 1, 113, 33, 5, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 2, 65, 44, 71, 4, 64, 32, 2, 65, 253, 0, 70, 13, 1, 32, 5, 65, 255, 1, 113, 13, 2, 65, 9, 33, 1, 12, 6, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 1, 12, 6, 11, 32, 6, 16, 175, 1, 32, 3, 65, 208, 1, 106, 32, 6, 16, 181, 1, 32, 3, 45, 0, 208, 1, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 209, 1, 33, 4, 12, 1, 11, 32, 3, 65, 224, 4, 106, 32, 7, 16, 178, 1, 32, 3, 40, 2, 224, 4, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 232, 4, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 228, 4, 33, 4, 12, 6, 11, 32, 3, 65, 200, 1, 106, 32, 7, 16, 181, 1, 32, 3, 45, 0, 200, 1, 65, 1, 113, 69, 13, 15, 65, 3, 33, 1, 32, 3, 45, 0, 201, 1, 65, 253, 0, 71, 13, 12, 12, 9, 11, 32, 4, 65, 255, 1, 113, 34, 2, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 2, 65, 253, 0, 71, 13, 4, 65, 19, 33, 1, 12, 4, 11, 32, 3, 65, 192, 1, 106, 32, 6, 16, 181, 1, 32, 3, 45, 0, 192, 1, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 2, 11, 32, 3, 45, 0, 193, 1, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 2, 11, 32, 6, 16, 175, 1, 32, 3, 65, 224, 4, 106, 32, 6, 16, 180, 1, 32, 3, 40, 2, 236, 4, 33, 5, 32, 3, 40, 2, 232, 4, 33, 4, 32, 3, 40, 2, 228, 4, 33, 2, 2, 64, 32, 3, 40, 2, 224, 4, 65, 1, 71, 4, 64, 32, 5, 69, 32, 2, 69, 32, 4, 69, 114, 114, 13, 1, 32, 4, 16, 226, 1, 12, 1, 11, 32, 2, 65, 21, 70, 13, 0, 32, 3, 40, 2, 240, 4, 33, 0, 32, 2, 33, 1, 12, 2, 11, 32, 3, 65, 224, 4, 106, 32, 6, 16, 179, 1, 32, 3, 40, 2, 224, 4, 34, 2, 65, 21, 71, 4, 64, 32, 3, 40, 2, 228, 4, 33, 4, 32, 3, 65, 168, 3, 106, 32, 3, 41, 3, 232, 4, 34, 24, 55, 3, 0, 32, 3, 32, 4, 54, 2, 164, 3, 32, 3, 32, 2, 54, 2, 160, 3, 32, 2, 33, 1, 12, 3, 11, 32, 3, 65, 160, 3, 106, 32, 6, 16, 26, 32, 3, 40, 2, 160, 3, 34, 2, 65, 21, 71, 4, 64, 32, 3, 65, 168, 3, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 164, 3, 33, 4, 32, 2, 33, 1, 12, 3, 11, 32, 3, 65, 184, 1, 106, 32, 6, 16, 181, 1, 65, 0, 33, 5, 32, 3, 45, 0, 185, 1, 33, 4, 32, 3, 45, 0, 184, 1, 65, 1, 113, 13, 0, 11, 11, 32, 5, 173, 32, 0, 173, 66, 32, 134, 132, 33, 24, 11, 32, 1, 65, 8, 118, 33, 0, 12, 10, 11, 32, 3, 65, 176, 1, 106, 32, 7, 16, 181, 1, 2, 64, 32, 3, 45, 0, 176, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 1, 11, 32, 3, 45, 0, 177, 1, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 1, 11, 32, 7, 16, 175, 1, 32, 3, 65, 168, 1, 106, 32, 7, 16, 173, 1, 32, 3, 45, 0, 172, 1, 33, 5, 32, 3, 65, 160, 1, 106, 32, 3, 40, 2, 168, 1, 34, 6, 16, 181, 1, 65, 2, 33, 1, 2, 64, 32, 3, 45, 0, 160, 1, 65, 1, 113, 69, 13, 0, 32, 3, 45, 0, 161, 1, 33, 4, 32, 5, 65, 1, 113, 33, 5, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 2, 65, 44, 71, 4, 64, 32, 2, 65, 253, 0, 70, 13, 1, 32, 5, 65, 255, 1, 113, 13, 2, 65, 9, 33, 1, 12, 6, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 1, 12, 6, 11, 32, 6, 16, 175, 1, 32, 3, 65, 152, 1, 106, 32, 6, 16, 181, 1, 32, 3, 45, 0, 152, 1, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 153, 1, 33, 4, 12, 1, 11, 32, 3, 65, 224, 4, 106, 32, 7, 16, 178, 1, 32, 3, 40, 2, 224, 4, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 232, 4, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 228, 4, 33, 4, 12, 6, 11, 32, 3, 65, 144, 1, 106, 32, 7, 16, 181, 1, 32, 3, 45, 0, 144, 1, 65, 1, 113, 69, 13, 14, 65, 2, 33, 1, 32, 3, 45, 0, 145, 1, 65, 253, 0, 71, 13, 11, 12, 8, 11, 32, 4, 65, 255, 1, 113, 34, 2, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 2, 65, 253, 0, 71, 13, 4, 65, 19, 33, 1, 12, 4, 11, 32, 3, 65, 136, 1, 106, 32, 6, 16, 181, 1, 32, 3, 45, 0, 136, 1, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 2, 11, 32, 3, 45, 0, 137, 1, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 2, 11, 32, 6, 16, 175, 1, 32, 3, 65, 224, 4, 106, 32, 6, 16, 180, 1, 32, 3, 40, 2, 236, 4, 33, 5, 32, 3, 40, 2, 232, 4, 33, 4, 32, 3, 40, 2, 228, 4, 33, 2, 2, 64, 32, 3, 40, 2, 224, 4, 65, 1, 71, 4, 64, 32, 5, 69, 32, 2, 69, 32, 4, 69, 114, 114, 13, 1, 32, 4, 16, 226, 1, 12, 1, 11, 32, 2, 65, 21, 70, 13, 0, 32, 3, 40, 2, 240, 4, 33, 0, 32, 2, 33, 1, 12, 2, 11, 32, 3, 65, 224, 4, 106, 32, 6, 16, 179, 1, 32, 3, 40, 2, 224, 4, 34, 2, 65, 21, 71, 4, 64, 32, 3, 40, 2, 228, 4, 33, 4, 32, 3, 65, 168, 3, 106, 32, 3, 41, 3, 232, 4, 34, 24, 55, 3, 0, 32, 3, 32, 4, 54, 2, 164, 3, 32, 3, 32, 2, 54, 2, 160, 3, 32, 2, 33, 1, 12, 3, 11, 32, 3, 65, 160, 3, 106, 32, 6, 16, 26, 32, 3, 40, 2, 160, 3, 34, 2, 65, 21, 71, 4, 64, 32, 3, 65, 168, 3, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 164, 3, 33, 4, 32, 2, 33, 1, 12, 3, 11, 32, 3, 65, 128, 1, 106, 32, 6, 16, 181, 1, 65, 0, 33, 5, 32, 3, 45, 0, 129, 1, 33, 4, 32, 3, 45, 0, 128, 1, 65, 1, 113, 13, 0, 11, 11, 32, 5, 173, 32, 0, 173, 66, 32, 134, 132, 33, 24, 11, 32, 1, 65, 8, 118, 33, 0, 12, 9, 11, 32, 3, 65, 248, 0, 106, 32, 7, 16, 181, 1, 2, 64, 32, 3, 45, 0, 120, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 1, 11, 32, 3, 45, 0, 121, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 1, 11, 32, 7, 16, 175, 1, 32, 3, 65, 240, 0, 106, 32, 7, 16, 173, 1, 32, 3, 45, 0, 116, 33, 5, 32, 3, 65, 232, 0, 106, 32, 3, 40, 2, 112, 34, 6, 16, 181, 1, 65, 2, 33, 1, 2, 64, 32, 3, 45, 0, 104, 65, 1, 113, 69, 13, 0, 32, 3, 45, 0, 105, 33, 4, 32, 5, 65, 1, 113, 33, 5, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 2, 65, 44, 71, 4, 64, 32, 2, 65, 253, 0, 70, 13, 1, 32, 5, 65, 255, 1, 113, 13, 2, 65, 9, 33, 1, 12, 6, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 1, 12, 6, 11, 32, 6, 16, 175, 1, 32, 3, 65, 224, 0, 106, 32, 6, 16, 181, 1, 32, 3, 45, 0, 96, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 97, 33, 4, 12, 1, 11, 32, 3, 65, 224, 4, 106, 32, 7, 16, 178, 1, 32, 3, 40, 2, 224, 4, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 232, 4, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 228, 4, 33, 4, 12, 6, 11, 32, 3, 65, 216, 0, 106, 32, 7, 16, 181, 1, 65, 1, 33, 1, 32, 3, 45, 0, 88, 65, 1, 113, 69, 13, 13, 32, 3, 45, 0, 89, 65, 253, 0, 71, 13, 10, 12, 7, 11, 32, 4, 65, 255, 1, 113, 34, 2, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 2, 65, 253, 0, 71, 13, 4, 65, 19, 33, 1, 12, 4, 11, 32, 3, 65, 208, 0, 106, 32, 6, 16, 181, 1, 32, 3, 45, 0, 80, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 2, 11, 32, 3, 45, 0, 81, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 2, 11, 32, 6, 16, 175, 1, 32, 3, 65, 224, 4, 106, 32, 6, 16, 180, 1, 32, 3, 40, 2, 236, 4, 33, 5, 32, 3, 40, 2, 232, 4, 33, 4, 32, 3, 40, 2, 228, 4, 33, 2, 2, 64, 32, 3, 40, 2, 224, 4, 65, 1, 71, 4, 64, 32, 5, 69, 32, 2, 69, 32, 4, 69, 114, 114, 13, 1, 32, 4, 16, 226, 1, 12, 1, 11, 32, 2, 65, 21, 70, 13, 0, 32, 3, 40, 2, 240, 4, 33, 0, 32, 2, 33, 1, 12, 2, 11, 32, 3, 65, 224, 4, 106, 32, 6, 16, 179, 1, 32, 3, 40, 2, 224, 4, 34, 2, 65, 21, 71, 4, 64, 32, 3, 40, 2, 228, 4, 33, 4, 32, 3, 65, 168, 3, 106, 32, 3, 41, 3, 232, 4, 34, 24, 55, 3, 0, 32, 3, 32, 4, 54, 2, 164, 3, 32, 3, 32, 2, 54, 2, 160, 3, 32, 2, 33, 1, 12, 3, 11, 32, 3, 65, 160, 3, 106, 32, 6, 16, 26, 32, 3, 40, 2, 160, 3, 34, 2, 65, 21, 71, 4, 64, 32, 3, 65, 168, 3, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 164, 3, 33, 4, 32, 2, 33, 1, 12, 3, 11, 32, 3, 65, 200, 0, 106, 32, 6, 16, 181, 1, 65, 0, 33, 5, 32, 3, 45, 0, 73, 33, 4, 32, 3, 45, 0, 72, 65, 1, 113, 13, 0, 11, 11, 32, 5, 173, 32, 0, 173, 66, 32, 134, 132, 33, 24, 11, 32, 1, 65, 8, 118, 33, 0, 12, 8, 11, 32, 3, 65, 64, 107, 32, 7, 16, 181, 1, 32, 3, 45, 0, 64, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 3, 11, 32, 3, 45, 0, 65, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 3, 11, 32, 7, 16, 175, 1, 32, 3, 65, 56, 106, 32, 7, 16, 173, 1, 32, 3, 45, 0, 60, 33, 5, 32, 3, 65, 48, 106, 32, 3, 40, 2, 56, 34, 6, 16, 181, 1, 65, 2, 33, 1, 32, 3, 45, 0, 48, 65, 1, 113, 69, 13, 1, 32, 3, 45, 0, 49, 33, 4, 32, 5, 65, 1, 113, 33, 5, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 255, 1, 113, 34, 2, 65, 44, 71, 4, 64, 32, 2, 65, 253, 0, 70, 13, 1, 32, 5, 65, 255, 1, 113, 13, 2, 65, 9, 33, 1, 12, 7, 11, 32, 5, 65, 255, 1, 113, 4, 64, 65, 16, 33, 1, 12, 7, 11, 32, 6, 16, 175, 1, 32, 3, 65, 40, 106, 32, 6, 16, 181, 1, 32, 3, 45, 0, 40, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 41, 33, 4, 12, 1, 11, 32, 3, 65, 224, 4, 106, 32, 7, 16, 178, 1, 32, 3, 40, 2, 224, 4, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 232, 4, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 228, 4, 33, 4, 12, 7, 11, 32, 3, 65, 32, 106, 32, 7, 16, 181, 1, 32, 3, 45, 0, 32, 65, 1, 113, 69, 13, 10, 65, 0, 33, 1, 32, 3, 45, 0, 33, 65, 253, 0, 70, 13, 4, 65, 11, 33, 1, 12, 11, 11, 32, 4, 65, 255, 1, 113, 34, 2, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 2, 65, 253, 0, 71, 13, 5, 65, 19, 33, 1, 12, 5, 11, 32, 3, 65, 16, 106, 32, 6, 16, 181, 1, 32, 3, 45, 0, 16, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 3, 11, 32, 3, 45, 0, 17, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 3, 11, 32, 6, 16, 175, 1, 32, 3, 65, 224, 4, 106, 32, 6, 16, 180, 1, 32, 3, 40, 2, 236, 4, 33, 5, 32, 3, 40, 2, 232, 4, 33, 4, 32, 3, 40, 2, 228, 4, 33, 2, 2, 64, 32, 3, 40, 2, 224, 4, 65, 1, 71, 4, 64, 32, 5, 69, 32, 2, 69, 32, 4, 69, 114, 114, 13, 1, 32, 4, 16, 226, 1, 12, 1, 11, 32, 2, 65, 21, 70, 13, 0, 32, 3, 40, 2, 240, 4, 33, 0, 32, 2, 33, 1, 12, 3, 11, 32, 3, 65, 224, 4, 106, 32, 6, 16, 179, 1, 32, 3, 40, 2, 224, 4, 34, 2, 65, 21, 71, 4, 64, 32, 3, 40, 2, 228, 4, 33, 4, 32, 3, 65, 168, 3, 106, 32, 3, 41, 3, 232, 4, 34, 24, 55, 3, 0, 32, 3, 32, 4, 54, 2, 164, 3, 32, 3, 32, 2, 54, 2, 160, 3, 32, 2, 33, 1, 12, 4, 11, 32, 3, 65, 160, 3, 106, 32, 6, 16, 26, 32, 3, 40, 2, 160, 3, 34, 2, 65, 21, 71, 4, 64, 32, 3, 65, 168, 3, 106, 41, 3, 0, 33, 24, 32, 3, 40, 2, 164, 3, 33, 4, 32, 2, 33, 1, 12, 4, 11, 32, 3, 65, 8, 106, 32, 6, 16, 181, 1, 65, 0, 33, 5, 32, 3, 45, 0, 9, 33, 4, 32, 3, 45, 0, 8, 65, 1, 113, 13, 0, 11, 12, 1, 11, 32, 7, 16, 175, 1, 32, 3, 65, 224, 4, 106, 32, 3, 65, 208, 5, 106, 16, 176, 1, 32, 3, 65, 232, 4, 106, 33, 2, 32, 3, 40, 2, 224, 4, 34, 0, 65, 21, 71, 4, 64, 32, 2, 41, 3, 0, 33, 24, 32, 3, 40, 2, 228, 4, 33, 4, 12, 8, 11, 32, 3, 65, 24, 106, 32, 3, 65, 136, 6, 106, 65, 224, 128, 192, 0, 16, 145, 1, 32, 3, 65, 168, 5, 106, 32, 3, 41, 3, 24, 55, 3, 0, 32, 3, 65, 164, 5, 106, 65, 180, 128, 192, 0, 54, 2, 0, 32, 3, 65, 156, 5, 106, 65, 156, 128, 192, 0, 54, 2, 0, 32, 2, 32, 3, 65, 144, 4, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 240, 4, 106, 34, 0, 32, 3, 65, 152, 4, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 204, 5, 106, 32, 9, 54, 2, 0, 32, 3, 65, 196, 5, 106, 32, 12, 54, 2, 0, 32, 3, 65, 192, 5, 106, 32, 13, 54, 2, 0, 32, 3, 65, 188, 5, 106, 32, 14, 54, 2, 0, 32, 3, 65, 184, 5, 106, 32, 22, 54, 2, 0, 32, 3, 65, 180, 5, 106, 32, 19, 54, 2, 0, 32, 3, 65, 144, 5, 106, 32, 25, 55, 3, 0, 32, 3, 65, 140, 5, 106, 32, 18, 54, 2, 0, 32, 3, 65, 128, 5, 106, 34, 5, 32, 24, 55, 3, 0, 32, 3, 65, 252, 4, 106, 34, 6, 32, 17, 54, 2, 0, 32, 3, 65, 160, 5, 106, 32, 3, 65, 136, 6, 106, 54, 2, 0, 32, 3, 32, 3, 41, 3, 136, 4, 55, 3, 224, 4, 32, 3, 32, 1, 54, 2, 200, 5, 32, 3, 32, 15, 54, 2, 176, 5, 32, 3, 32, 11, 54, 2, 136, 5, 32, 3, 32, 10, 54, 2, 248, 4, 32, 3, 32, 3, 65, 136, 6, 106, 54, 2, 152, 5, 32, 3, 65, 160, 4, 106, 32, 3, 65, 152, 5, 106, 32, 3, 65, 224, 4, 106, 32, 3, 65, 176, 5, 106, 32, 1, 32, 9, 16, 77, 32, 2, 32, 3, 65, 172, 4, 106, 41, 2, 0, 55, 3, 0, 32, 0, 32, 3, 65, 180, 4, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 248, 4, 106, 34, 1, 32, 3, 65, 188, 4, 106, 41, 2, 0, 55, 3, 0, 32, 5, 32, 3, 65, 196, 4, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 136, 5, 106, 34, 2, 32, 3, 65, 204, 4, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 164, 4, 55, 3, 224, 4, 2, 64, 2, 64, 32, 3, 40, 2, 160, 4, 65, 1, 70, 4, 64, 32, 3, 65, 232, 5, 106, 32, 6, 41, 2, 0, 55, 3, 0, 32, 3, 65, 224, 5, 106, 32, 3, 65, 244, 4, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 216, 5, 106, 32, 3, 65, 236, 4, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 3, 41, 2, 228, 4, 55, 3, 208, 5, 32, 3, 65, 0, 54, 2, 248, 5, 32, 3, 66, 1, 55, 3, 240, 5, 32, 3, 32, 3, 65, 208, 5, 106, 54, 2, 128, 6, 32, 3, 65, 14, 54, 2, 220, 4, 32, 3, 32, 3, 65, 128, 6, 106, 54, 2, 216, 4, 32, 3, 32, 3, 65, 240, 5, 106, 54, 2, 132, 6, 32, 3, 65, 180, 3, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 164, 3, 32, 3, 65, 212, 134, 192, 0, 54, 2, 160, 3, 32, 3, 32, 3, 65, 216, 4, 106, 54, 2, 176, 3, 32, 3, 65, 132, 6, 106, 65, 156, 140, 192, 0, 32, 3, 65, 160, 3, 106, 16, 156, 2, 13, 2, 32, 3, 65, 172, 3, 106, 32, 3, 65, 248, 5, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 240, 5, 55, 2, 164, 3, 32, 3, 65, 1, 54, 2, 160, 3, 32, 3, 40, 2, 208, 5, 65, 11, 70, 13, 1, 32, 3, 65, 208, 5, 106, 16, 42, 12, 1, 11, 32, 3, 65, 204, 3, 106, 32, 2, 41, 3, 0, 55, 2, 0, 32, 3, 65, 196, 3, 106, 32, 5, 41, 3, 0, 55, 2, 0, 32, 3, 65, 188, 3, 106, 32, 1, 41, 3, 0, 55, 2, 0, 32, 3, 65, 180, 3, 106, 32, 0, 41, 3, 0, 55, 2, 0, 32, 3, 65, 172, 3, 106, 32, 3, 65, 232, 4, 106, 41, 3, 0, 55, 2, 0, 32, 3, 32, 3, 41, 3, 224, 4, 55, 2, 164, 3, 32, 3, 65, 0, 54, 2, 160, 3, 11, 32, 3, 40, 2, 252, 3, 4, 64, 32, 23, 16, 226, 1, 11, 32, 3, 40, 2, 236, 3, 4, 64, 32, 21, 16, 226, 1, 11, 32, 3, 40, 2, 220, 3, 69, 13, 11, 32, 16, 16, 226, 1, 12, 11, 11, 12, 11, 11, 32, 5, 173, 32, 0, 173, 66, 32, 134, 132, 33, 24, 11, 32, 1, 65, 8, 118, 33, 0, 12, 4, 11, 65, 11, 33, 1, 12, 3, 11, 32, 5, 173, 32, 0, 173, 66, 32, 134, 132, 33, 24, 11, 32, 1, 65, 8, 118, 33, 0, 12, 1, 11, 65, 4, 33, 1, 11, 32, 1, 65, 255, 1, 113, 32, 0, 65, 8, 116, 114, 33, 0, 11, 32, 3, 65, 168, 3, 106, 32, 24, 55, 3, 0, 32, 3, 32, 4, 54, 2, 164, 3, 32, 3, 32, 0, 54, 2, 160, 3, 32, 3, 65, 224, 4, 106, 65, 166, 136, 192, 0, 65, 25, 32, 3, 65, 160, 3, 106, 16, 27, 32, 3, 65, 184, 4, 106, 32, 3, 65, 252, 4, 106, 34, 0, 40, 2, 0, 34, 1, 54, 2, 0, 32, 3, 65, 176, 4, 106, 32, 3, 65, 244, 4, 106, 34, 2, 41, 2, 0, 34, 24, 55, 3, 0, 32, 3, 65, 168, 4, 106, 32, 3, 65, 236, 4, 106, 34, 5, 41, 2, 0, 34, 25, 55, 3, 0, 32, 3, 32, 3, 41, 2, 228, 4, 34, 26, 55, 3, 160, 4, 32, 3, 40, 2, 224, 4, 33, 9, 32, 5, 32, 25, 55, 2, 0, 32, 2, 32, 24, 55, 2, 0, 32, 0, 32, 1, 54, 2, 0, 32, 3, 32, 9, 54, 2, 224, 4, 32, 3, 32, 26, 55, 2, 228, 4, 32, 3, 65, 0, 54, 2, 216, 5, 32, 3, 66, 1, 55, 3, 208, 5, 32, 3, 32, 3, 65, 224, 4, 106, 54, 2, 132, 6, 32, 3, 65, 9, 54, 2, 220, 4, 32, 3, 32, 3, 65, 132, 6, 106, 54, 2, 216, 4, 32, 3, 32, 3, 65, 208, 5, 106, 54, 2, 240, 5, 32, 3, 65, 180, 3, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 164, 3, 32, 3, 65, 212, 134, 192, 0, 54, 2, 160, 3, 32, 3, 32, 3, 65, 216, 4, 106, 54, 2, 176, 3, 32, 3, 65, 240, 5, 106, 65, 156, 140, 192, 0, 32, 3, 65, 160, 3, 106, 16, 156, 2, 13, 3, 32, 3, 65, 172, 3, 106, 32, 3, 65, 216, 5, 106, 40, 2, 0, 54, 2, 0, 32, 3, 32, 3, 41, 3, 208, 5, 55, 2, 164, 3, 32, 3, 65, 1, 54, 2, 160, 3, 32, 3, 65, 224, 4, 106, 16, 42, 32, 15, 69, 32, 19, 69, 114, 69, 4, 64, 32, 15, 16, 226, 1, 11, 32, 12, 4, 64, 32, 12, 65, 5, 116, 33, 1, 32, 14, 65, 20, 106, 33, 2, 3, 64, 2, 64, 32, 2, 65, 124, 106, 40, 2, 0, 34, 0, 69, 13, 0, 32, 2, 40, 2, 0, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 2, 65, 32, 106, 33, 2, 32, 1, 65, 96, 106, 34, 1, 13, 0, 11, 11, 32, 13, 69, 32, 13, 65, 5, 116, 69, 114, 13, 0, 32, 14, 16, 226, 1, 11, 32, 10, 69, 32, 17, 69, 114, 69, 4, 64, 32, 10, 16, 226, 1, 11, 32, 11, 69, 32, 18, 69, 114, 13, 0, 32, 11, 16, 226, 1, 11, 2, 64, 32, 3, 40, 2, 248, 3, 34, 0, 69, 13, 0, 32, 3, 40, 2, 252, 3, 69, 13, 0, 32, 0, 16, 226, 1, 11, 2, 64, 32, 3, 40, 2, 232, 3, 34, 0, 69, 13, 0, 32, 3, 40, 2, 236, 3, 69, 13, 0, 32, 0, 16, 226, 1, 11, 32, 3, 40, 2, 220, 3, 69, 13, 0, 32, 16, 16, 226, 1, 11, 32, 3, 65, 224, 4, 106, 32, 3, 65, 160, 3, 106, 16, 34, 32, 3, 40, 2, 224, 4, 65, 1, 71, 4, 64, 32, 3, 65, 168, 4, 106, 32, 3, 65, 236, 4, 106, 40, 2, 0, 34, 0, 54, 2, 0, 32, 3, 32, 3, 41, 2, 228, 4, 34, 24, 55, 3, 160, 4, 32, 3, 65, 232, 4, 106, 32, 0, 54, 2, 0, 32, 3, 32, 24, 55, 3, 224, 4, 32, 3, 65, 224, 4, 106, 16, 161, 1, 32, 3, 65, 160, 3, 106, 16, 54, 32, 3, 65, 144, 6, 106, 36, 0, 15, 11, 32, 3, 65, 184, 4, 106, 32, 3, 65, 128, 5, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 176, 4, 106, 32, 3, 65, 248, 4, 106, 41, 3, 0, 55, 3, 0, 32, 3, 65, 168, 4, 106, 32, 3, 65, 240, 4, 106, 41, 3, 0, 55, 3, 0, 32, 3, 32, 3, 65, 232, 4, 106, 41, 3, 0, 55, 3, 160, 4, 65, 148, 141, 192, 0, 65, 43, 32, 3, 65, 160, 4, 106, 65, 192, 141, 192, 0, 65, 244, 131, 192, 0, 16, 162, 2, 0, 11, 65, 220, 134, 192, 0, 65, 55, 32, 3, 65, 136, 6, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 154, 50, 2, 17, 127, 4, 126, 35, 0, 65, 224, 3, 107, 34, 2, 36, 0, 32, 2, 65, 168, 3, 106, 32, 0, 16, 162, 1, 32, 2, 65, 184, 3, 106, 32, 1, 16, 162, 1, 32, 2, 65, 136, 2, 106, 32, 2, 40, 2, 168, 3, 34, 15, 32, 2, 40, 2, 176, 3, 16, 28, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 41, 3, 136, 2, 66, 1, 81, 4, 64, 32, 2, 65, 240, 1, 106, 32, 2, 65, 168, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 232, 1, 106, 32, 2, 65, 160, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 224, 1, 106, 32, 2, 65, 152, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 144, 2, 55, 3, 216, 1, 32, 2, 65, 0, 54, 2, 208, 3, 32, 2, 66, 1, 55, 3, 200, 3, 32, 2, 32, 2, 65, 216, 1, 106, 54, 2, 140, 3, 32, 2, 65, 9, 54, 2, 132, 2, 32, 2, 32, 2, 65, 140, 3, 106, 54, 2, 128, 2, 32, 2, 32, 2, 65, 200, 3, 106, 54, 2, 144, 3, 32, 2, 65, 252, 2, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 236, 2, 32, 2, 65, 212, 134, 192, 0, 54, 2, 232, 2, 32, 2, 32, 2, 65, 128, 2, 106, 54, 2, 248, 2, 32, 2, 65, 144, 3, 106, 65, 156, 140, 192, 0, 32, 2, 65, 232, 2, 106, 16, 156, 2, 13, 3, 32, 2, 65, 156, 3, 106, 32, 2, 65, 208, 3, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 200, 3, 55, 2, 148, 3, 32, 2, 65, 1, 54, 2, 144, 3, 32, 2, 65, 216, 1, 106, 16, 42, 32, 2, 40, 2, 184, 3, 33, 1, 12, 1, 11, 32, 2, 65, 208, 1, 106, 32, 2, 65, 160, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 200, 1, 106, 32, 2, 65, 152, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 144, 2, 55, 3, 192, 1, 32, 2, 65, 168, 2, 106, 40, 2, 0, 33, 13, 32, 2, 65, 172, 2, 106, 40, 2, 0, 33, 16, 32, 2, 65, 176, 2, 106, 41, 3, 0, 33, 19, 32, 2, 65, 184, 2, 106, 40, 2, 0, 33, 14, 32, 2, 65, 188, 2, 106, 40, 2, 0, 33, 17, 32, 2, 65, 192, 2, 106, 41, 3, 0, 33, 21, 32, 2, 65, 144, 3, 106, 32, 2, 40, 2, 184, 3, 34, 1, 32, 2, 40, 2, 192, 3, 16, 174, 1, 32, 2, 65, 184, 1, 106, 32, 2, 65, 144, 3, 106, 16, 181, 1, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 184, 1, 65, 1, 113, 69, 13, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 185, 1, 34, 0, 65, 251, 0, 71, 4, 64, 32, 0, 65, 34, 70, 13, 1, 65, 10, 33, 0, 12, 11, 11, 32, 2, 65, 144, 3, 106, 16, 175, 1, 32, 2, 65, 136, 2, 106, 32, 2, 65, 144, 3, 106, 34, 8, 16, 71, 32, 2, 65, 144, 2, 106, 33, 3, 32, 2, 45, 0, 136, 2, 65, 1, 70, 4, 64, 32, 2, 65, 148, 2, 106, 41, 2, 0, 33, 19, 32, 3, 40, 2, 0, 33, 3, 32, 2, 40, 2, 140, 2, 34, 0, 65, 8, 118, 33, 5, 12, 11, 11, 32, 2, 45, 0, 137, 2, 33, 6, 32, 2, 65, 136, 2, 106, 32, 8, 16, 179, 1, 32, 2, 40, 2, 136, 2, 34, 0, 65, 21, 71, 4, 64, 32, 3, 41, 3, 0, 33, 19, 32, 2, 40, 2, 140, 2, 33, 3, 32, 0, 65, 8, 118, 33, 5, 12, 11, 11, 2, 64, 32, 6, 65, 1, 107, 14, 2, 2, 0, 3, 11, 32, 2, 65, 176, 1, 106, 32, 8, 16, 181, 1, 32, 2, 45, 0, 176, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 0, 12, 9, 11, 32, 2, 45, 0, 177, 1, 65, 251, 0, 71, 4, 64, 65, 14, 33, 0, 12, 9, 11, 32, 8, 16, 175, 1, 32, 2, 65, 168, 1, 106, 32, 8, 16, 173, 1, 32, 2, 40, 2, 168, 1, 33, 11, 32, 2, 32, 2, 45, 0, 172, 1, 65, 1, 113, 34, 5, 58, 0, 204, 3, 32, 2, 32, 11, 54, 2, 200, 3, 32, 2, 65, 160, 1, 106, 32, 11, 16, 181, 1, 65, 2, 33, 0, 32, 2, 45, 0, 160, 1, 65, 1, 113, 69, 13, 8, 32, 2, 45, 0, 161, 1, 33, 3, 32, 5, 33, 4, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 255, 1, 113, 34, 6, 65, 44, 71, 4, 64, 32, 6, 65, 253, 0, 70, 13, 3, 32, 5, 13, 1, 65, 9, 33, 0, 12, 19, 11, 32, 4, 65, 255, 1, 113, 69, 13, 1, 11, 65, 0, 33, 5, 32, 2, 65, 0, 58, 0, 204, 3, 12, 2, 11, 32, 11, 16, 175, 1, 32, 2, 65, 152, 1, 106, 32, 11, 16, 181, 1, 32, 2, 45, 0, 152, 1, 65, 1, 113, 69, 13, 2, 32, 2, 45, 0, 153, 1, 33, 3, 12, 1, 11, 32, 12, 65, 1, 71, 4, 64, 32, 2, 65, 136, 2, 106, 65, 156, 148, 192, 0, 65, 5, 16, 23, 12, 4, 11, 32, 18, 65, 1, 71, 4, 64, 32, 2, 65, 136, 2, 106, 65, 161, 148, 192, 0, 65, 4, 16, 23, 12, 4, 11, 32, 2, 65, 136, 2, 106, 32, 8, 16, 178, 1, 32, 2, 40, 2, 136, 2, 34, 0, 65, 21, 71, 4, 64, 32, 2, 65, 148, 2, 106, 40, 2, 0, 33, 4, 32, 2, 65, 144, 2, 106, 40, 2, 0, 33, 6, 32, 2, 40, 2, 140, 2, 33, 3, 12, 16, 11, 32, 2, 65, 144, 1, 106, 32, 8, 16, 181, 1, 65, 0, 33, 5, 32, 2, 45, 0, 144, 1, 65, 1, 113, 69, 13, 16, 32, 2, 45, 0, 145, 1, 65, 253, 0, 71, 13, 14, 32, 8, 16, 175, 1, 32, 9, 173, 33, 20, 65, 2, 33, 3, 65, 0, 33, 8, 12, 10, 11, 32, 3, 65, 255, 1, 113, 34, 10, 65, 34, 71, 4, 64, 65, 16, 33, 0, 32, 10, 65, 253, 0, 71, 13, 15, 65, 19, 33, 0, 12, 15, 11, 32, 2, 65, 136, 1, 106, 32, 11, 16, 181, 1, 32, 2, 45, 0, 136, 1, 65, 1, 113, 13, 1, 11, 65, 4, 33, 0, 12, 13, 11, 32, 2, 45, 0, 137, 1, 65, 34, 71, 4, 64, 65, 14, 33, 0, 12, 13, 11, 32, 11, 16, 175, 1, 32, 2, 65, 136, 2, 106, 32, 11, 16, 180, 1, 32, 2, 40, 2, 152, 2, 33, 4, 32, 2, 40, 2, 148, 2, 33, 6, 32, 2, 40, 2, 144, 2, 33, 3, 32, 2, 40, 2, 140, 2, 33, 10, 32, 2, 40, 2, 136, 2, 65, 1, 70, 4, 64, 32, 10, 33, 0, 12, 13, 11, 2, 64, 2, 64, 2, 64, 32, 10, 4, 64, 65, 2, 33, 10, 2, 64, 2, 64, 2, 64, 32, 4, 65, 124, 106, 14, 2, 1, 0, 2, 11, 65, 126, 65, 0, 32, 3, 65, 156, 148, 192, 0, 65, 5, 16, 214, 2, 27, 33, 10, 12, 1, 11, 65, 1, 65, 126, 32, 3, 40, 0, 0, 65, 247, 222, 201, 219, 6, 70, 27, 33, 10, 11, 32, 6, 4, 64, 32, 3, 16, 226, 1, 11, 32, 10, 65, 30, 116, 65, 30, 117, 65, 0, 72, 13, 5, 32, 10, 65, 3, 113, 65, 1, 107, 13, 1, 12, 3, 11, 2, 64, 32, 6, 65, 124, 106, 14, 2, 2, 0, 5, 11, 32, 3, 65, 156, 148, 192, 0, 65, 5, 16, 214, 2, 13, 4, 11, 32, 12, 65, 1, 70, 4, 64, 32, 2, 65, 136, 2, 106, 65, 156, 148, 192, 0, 65, 5, 16, 24, 12, 3, 11, 32, 2, 65, 136, 2, 106, 32, 2, 65, 200, 3, 106, 16, 63, 32, 2, 40, 2, 140, 2, 33, 7, 32, 2, 40, 2, 136, 2, 65, 1, 70, 4, 64, 32, 2, 65, 152, 2, 106, 40, 2, 0, 33, 4, 32, 2, 65, 148, 2, 106, 40, 2, 0, 33, 6, 32, 2, 65, 144, 2, 106, 40, 2, 0, 33, 3, 32, 7, 33, 0, 12, 15, 11, 65, 1, 33, 12, 12, 4, 11, 32, 3, 40, 0, 0, 65, 247, 222, 201, 219, 6, 71, 13, 2, 11, 32, 18, 65, 1, 70, 4, 64, 32, 2, 65, 136, 2, 106, 65, 161, 148, 192, 0, 65, 4, 16, 24, 12, 1, 11, 32, 2, 65, 136, 2, 106, 32, 2, 65, 200, 3, 106, 16, 63, 32, 2, 40, 2, 140, 2, 33, 9, 32, 2, 40, 2, 136, 2, 65, 1, 70, 4, 64, 32, 2, 65, 152, 2, 106, 40, 2, 0, 33, 4, 32, 2, 65, 148, 2, 106, 40, 2, 0, 33, 6, 32, 2, 65, 144, 2, 106, 40, 2, 0, 33, 3, 32, 9, 33, 0, 12, 13, 11, 65, 1, 33, 18, 12, 2, 11, 32, 2, 65, 148, 2, 106, 40, 2, 0, 33, 4, 32, 2, 65, 144, 2, 106, 40, 2, 0, 33, 6, 32, 2, 40, 2, 140, 2, 33, 3, 32, 2, 40, 2, 136, 2, 33, 0, 12, 11, 11, 32, 2, 65, 136, 2, 106, 32, 11, 16, 179, 1, 32, 2, 40, 2, 136, 2, 34, 10, 65, 21, 71, 4, 64, 32, 2, 40, 2, 140, 2, 33, 3, 32, 2, 65, 224, 1, 106, 32, 2, 41, 3, 144, 2, 34, 19, 55, 3, 0, 32, 2, 32, 3, 54, 2, 220, 1, 32, 2, 32, 10, 54, 2, 216, 1, 32, 19, 66, 32, 136, 167, 33, 4, 32, 19, 167, 33, 6, 32, 10, 33, 0, 12, 11, 11, 32, 2, 65, 216, 1, 106, 32, 11, 16, 26, 32, 2, 40, 2, 216, 1, 34, 10, 65, 21, 70, 13, 0, 32, 2, 65, 228, 1, 106, 40, 2, 0, 33, 4, 32, 2, 65, 224, 1, 106, 40, 2, 0, 33, 6, 32, 2, 40, 2, 220, 1, 33, 3, 32, 10, 33, 0, 12, 10, 11, 32, 2, 65, 128, 1, 106, 32, 11, 16, 181, 1, 65, 0, 33, 4, 32, 2, 45, 0, 129, 1, 33, 3, 32, 2, 45, 0, 128, 1, 65, 1, 113, 13, 0, 11, 12, 8, 11, 32, 2, 65, 136, 2, 106, 32, 2, 65, 144, 3, 106, 16, 71, 32, 2, 47, 0, 141, 2, 32, 2, 45, 0, 143, 2, 65, 16, 116, 114, 65, 0, 32, 2, 45, 0, 136, 2, 65, 1, 70, 34, 0, 27, 33, 5, 32, 2, 45, 0, 140, 2, 65, 14, 32, 0, 27, 33, 0, 32, 2, 65, 148, 2, 106, 41, 2, 0, 33, 19, 32, 2, 65, 144, 2, 106, 40, 2, 0, 33, 3, 12, 9, 11, 32, 2, 65, 248, 0, 106, 32, 8, 16, 181, 1, 2, 64, 32, 2, 45, 0, 120, 65, 1, 113, 69, 4, 64, 65, 4, 33, 0, 12, 1, 11, 32, 2, 45, 0, 121, 65, 251, 0, 71, 4, 64, 65, 14, 33, 0, 12, 1, 11, 32, 8, 16, 175, 1, 32, 2, 65, 240, 0, 106, 32, 8, 16, 173, 1, 32, 2, 45, 0, 116, 33, 6, 32, 2, 65, 232, 0, 106, 32, 2, 40, 2, 112, 34, 9, 16, 181, 1, 65, 2, 33, 0, 2, 64, 2, 64, 32, 2, 45, 0, 104, 65, 1, 113, 69, 13, 0, 32, 2, 45, 0, 105, 33, 3, 32, 6, 65, 1, 113, 33, 6, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 65, 255, 1, 113, 34, 4, 65, 44, 71, 4, 64, 32, 4, 65, 253, 0, 70, 13, 1, 32, 6, 65, 255, 1, 113, 13, 2, 65, 9, 33, 0, 12, 7, 11, 32, 6, 65, 255, 1, 113, 4, 64, 65, 16, 33, 0, 12, 7, 11, 32, 9, 16, 175, 1, 32, 2, 65, 224, 0, 106, 32, 9, 16, 181, 1, 32, 2, 45, 0, 96, 65, 1, 113, 69, 13, 2, 32, 2, 45, 0, 97, 33, 3, 12, 1, 11, 2, 64, 32, 7, 4, 64, 32, 2, 65, 136, 2, 106, 32, 8, 16, 178, 1, 32, 2, 40, 2, 136, 2, 34, 0, 65, 21, 70, 13, 1, 32, 2, 65, 148, 2, 106, 40, 2, 0, 33, 4, 32, 2, 65, 144, 2, 106, 40, 2, 0, 33, 6, 32, 2, 40, 2, 140, 2, 33, 3, 32, 10, 69, 13, 9, 32, 7, 16, 226, 1, 12, 9, 11, 32, 2, 65, 136, 2, 106, 65, 148, 129, 192, 0, 65, 7, 16, 23, 32, 2, 65, 148, 2, 106, 40, 2, 0, 33, 4, 32, 2, 65, 144, 2, 106, 40, 2, 0, 33, 6, 32, 2, 40, 2, 140, 2, 33, 3, 32, 2, 40, 2, 136, 2, 33, 0, 12, 8, 11, 32, 2, 65, 216, 0, 106, 32, 8, 16, 181, 1, 2, 64, 32, 2, 45, 0, 88, 65, 1, 113, 4, 64, 32, 2, 45, 0, 89, 65, 253, 0, 70, 13, 1, 65, 0, 33, 5, 65, 11, 33, 0, 32, 10, 69, 13, 18, 32, 7, 16, 226, 1, 12, 18, 11, 65, 0, 33, 5, 65, 4, 33, 0, 32, 10, 69, 13, 17, 32, 7, 16, 226, 1, 12, 17, 11, 32, 8, 16, 175, 1, 32, 10, 173, 32, 12, 173, 66, 32, 134, 132, 33, 20, 65, 1, 33, 8, 65, 1, 33, 3, 12, 9, 11, 32, 3, 65, 255, 1, 113, 34, 3, 65, 34, 71, 4, 64, 65, 16, 33, 0, 32, 3, 65, 253, 0, 71, 13, 3, 65, 19, 33, 0, 12, 3, 11, 32, 2, 65, 208, 0, 106, 32, 9, 16, 181, 1, 32, 2, 45, 0, 80, 65, 1, 113, 13, 1, 11, 65, 4, 33, 0, 12, 3, 11, 32, 2, 45, 0, 81, 65, 34, 71, 4, 64, 65, 14, 33, 0, 12, 3, 11, 32, 9, 16, 175, 1, 32, 2, 65, 136, 2, 106, 32, 9, 16, 180, 1, 32, 2, 40, 2, 152, 2, 33, 4, 32, 2, 40, 2, 148, 2, 33, 6, 32, 2, 40, 2, 144, 2, 33, 3, 32, 2, 40, 2, 140, 2, 33, 5, 32, 2, 40, 2, 136, 2, 65, 1, 70, 4, 64, 32, 5, 33, 0, 12, 3, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 5, 4, 64, 32, 4, 65, 7, 71, 4, 127, 65, 1, 5, 32, 3, 65, 148, 129, 192, 0, 65, 7, 16, 214, 2, 65, 0, 71, 11, 33, 4, 32, 6, 69, 32, 3, 69, 114, 13, 1, 32, 3, 16, 226, 1, 12, 1, 11, 32, 6, 65, 7, 71, 13, 1, 32, 3, 65, 148, 129, 192, 0, 65, 7, 16, 214, 2, 65, 0, 71, 33, 4, 11, 32, 4, 69, 13, 1, 11, 32, 2, 65, 136, 2, 106, 32, 9, 16, 179, 1, 32, 2, 40, 2, 136, 2, 34, 5, 65, 21, 70, 13, 1, 32, 2, 40, 2, 140, 2, 33, 3, 32, 2, 65, 224, 1, 106, 32, 2, 41, 3, 144, 2, 34, 19, 55, 3, 0, 32, 2, 32, 3, 54, 2, 220, 1, 32, 2, 32, 5, 54, 2, 216, 1, 32, 19, 66, 32, 136, 167, 33, 4, 32, 19, 167, 33, 6, 32, 5, 33, 0, 12, 5, 11, 32, 7, 4, 64, 32, 2, 65, 136, 2, 106, 65, 148, 129, 192, 0, 65, 7, 16, 24, 32, 2, 65, 148, 2, 106, 40, 2, 0, 33, 4, 32, 2, 65, 144, 2, 106, 40, 2, 0, 33, 6, 32, 2, 40, 2, 140, 2, 33, 3, 32, 2, 40, 2, 136, 2, 33, 0, 32, 10, 69, 13, 7, 12, 6, 11, 32, 2, 65, 216, 1, 106, 32, 9, 16, 179, 1, 32, 2, 40, 2, 216, 1, 34, 5, 65, 21, 71, 4, 64, 32, 2, 41, 3, 224, 1, 33, 19, 32, 2, 32, 2, 40, 2, 220, 1, 34, 3, 54, 2, 144, 2, 32, 2, 32, 5, 54, 2, 140, 2, 32, 2, 65, 1, 54, 2, 136, 2, 32, 2, 32, 19, 55, 2, 148, 2, 32, 19, 66, 32, 136, 167, 33, 4, 32, 19, 167, 33, 6, 32, 5, 33, 0, 12, 7, 11, 32, 2, 65, 136, 2, 106, 32, 9, 16, 25, 32, 2, 40, 2, 136, 2, 65, 1, 70, 4, 64, 32, 2, 65, 152, 2, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 148, 2, 33, 6, 32, 2, 40, 2, 144, 2, 33, 3, 32, 2, 40, 2, 140, 2, 33, 0, 12, 7, 11, 32, 2, 40, 2, 148, 2, 33, 12, 32, 2, 40, 2, 144, 2, 33, 10, 32, 2, 40, 2, 140, 2, 33, 7, 12, 1, 11, 32, 2, 65, 216, 1, 106, 32, 9, 16, 26, 32, 2, 40, 2, 216, 1, 34, 5, 65, 21, 70, 13, 0, 32, 2, 65, 228, 1, 106, 40, 2, 0, 33, 4, 32, 2, 65, 224, 1, 106, 40, 2, 0, 33, 6, 32, 2, 40, 2, 220, 1, 33, 3, 32, 5, 33, 0, 12, 3, 11, 32, 2, 65, 200, 0, 106, 32, 9, 16, 181, 1, 65, 0, 33, 6, 32, 2, 45, 0, 73, 33, 3, 32, 2, 45, 0, 72, 65, 1, 113, 13, 1, 11, 11, 11, 32, 10, 69, 32, 7, 69, 114, 13, 1, 11, 32, 7, 16, 226, 1, 11, 32, 0, 65, 8, 118, 33, 5, 32, 6, 173, 32, 4, 173, 66, 32, 134, 132, 33, 19, 12, 8, 11, 32, 2, 65, 64, 107, 32, 8, 16, 181, 1, 65, 4, 33, 0, 32, 2, 45, 0, 64, 65, 1, 113, 69, 13, 3, 32, 2, 45, 0, 65, 65, 251, 0, 71, 13, 2, 32, 8, 16, 175, 1, 32, 2, 65, 56, 106, 32, 8, 16, 173, 1, 32, 2, 45, 0, 60, 33, 4, 32, 2, 65, 48, 106, 32, 2, 40, 2, 56, 34, 9, 16, 181, 1, 32, 2, 45, 0, 48, 65, 1, 113, 69, 13, 1, 32, 2, 45, 0, 49, 33, 3, 32, 4, 65, 1, 113, 33, 4, 3, 64, 2, 64, 2, 64, 32, 3, 65, 255, 1, 113, 34, 7, 65, 44, 71, 4, 64, 32, 7, 65, 253, 0, 70, 13, 1, 32, 4, 65, 255, 1, 113, 13, 2, 65, 9, 33, 0, 12, 7, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 0, 12, 7, 11, 32, 9, 16, 175, 1, 32, 2, 65, 40, 106, 32, 9, 16, 181, 1, 32, 2, 45, 0, 40, 65, 1, 113, 69, 13, 6, 32, 2, 45, 0, 41, 33, 3, 12, 1, 11, 32, 2, 65, 136, 2, 106, 32, 8, 16, 178, 1, 32, 2, 40, 2, 136, 2, 34, 0, 65, 21, 71, 4, 64, 32, 2, 65, 148, 2, 106, 40, 2, 0, 33, 8, 32, 2, 65, 144, 2, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 140, 2, 33, 3, 12, 6, 11, 32, 2, 65, 32, 106, 32, 8, 16, 181, 1, 32, 2, 45, 0, 32, 65, 1, 113, 69, 13, 8, 32, 2, 45, 0, 33, 65, 253, 0, 71, 13, 6, 32, 8, 16, 175, 1, 65, 0, 33, 8, 65, 0, 33, 3, 12, 2, 11, 32, 3, 65, 255, 1, 113, 34, 7, 65, 34, 71, 4, 64, 65, 16, 33, 0, 32, 7, 65, 253, 0, 71, 13, 5, 65, 19, 33, 0, 12, 5, 11, 32, 2, 65, 16, 106, 32, 9, 16, 181, 1, 32, 2, 45, 0, 16, 65, 1, 113, 69, 13, 4, 32, 2, 45, 0, 17, 65, 34, 71, 13, 3, 32, 9, 16, 175, 1, 32, 2, 65, 136, 2, 106, 32, 9, 16, 180, 1, 32, 2, 40, 2, 148, 2, 33, 4, 32, 2, 40, 2, 144, 2, 33, 3, 32, 2, 40, 2, 140, 2, 33, 7, 2, 64, 32, 2, 40, 2, 136, 2, 65, 1, 71, 4, 64, 32, 4, 69, 32, 7, 69, 32, 3, 69, 114, 114, 13, 1, 32, 3, 16, 226, 1, 12, 1, 11, 32, 7, 65, 21, 70, 13, 0, 32, 2, 40, 2, 152, 2, 33, 8, 32, 7, 33, 0, 12, 5, 11, 32, 2, 65, 136, 2, 106, 32, 9, 16, 179, 1, 32, 2, 40, 2, 136, 2, 34, 7, 65, 21, 71, 4, 64, 32, 2, 40, 2, 140, 2, 33, 3, 32, 2, 65, 224, 1, 106, 32, 2, 41, 3, 144, 2, 34, 19, 55, 3, 0, 32, 2, 32, 3, 54, 2, 220, 1, 32, 2, 32, 7, 54, 2, 216, 1, 32, 19, 66, 32, 136, 167, 33, 8, 32, 19, 167, 33, 4, 32, 7, 33, 0, 12, 5, 11, 32, 2, 65, 216, 1, 106, 32, 9, 16, 26, 32, 2, 40, 2, 216, 1, 34, 7, 65, 21, 71, 4, 64, 32, 2, 65, 228, 1, 106, 40, 2, 0, 33, 8, 32, 2, 65, 224, 1, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 220, 1, 33, 3, 32, 7, 33, 0, 12, 5, 11, 32, 2, 65, 8, 106, 32, 9, 16, 181, 1, 65, 0, 33, 4, 32, 2, 45, 0, 9, 33, 3, 32, 2, 45, 0, 8, 65, 1, 113, 13, 0, 11, 12, 1, 11, 32, 2, 65, 136, 2, 106, 32, 2, 65, 144, 3, 106, 16, 176, 1, 32, 2, 65, 144, 2, 106, 33, 0, 32, 2, 40, 2, 136, 2, 34, 5, 65, 21, 71, 4, 64, 32, 0, 41, 3, 0, 33, 19, 32, 2, 40, 2, 140, 2, 33, 3, 32, 20, 167, 69, 32, 8, 69, 32, 7, 69, 114, 114, 13, 8, 32, 7, 16, 226, 1, 12, 8, 11, 32, 2, 65, 24, 106, 32, 2, 65, 216, 3, 106, 65, 224, 128, 192, 0, 16, 145, 1, 32, 2, 65, 208, 2, 106, 32, 2, 41, 3, 24, 55, 3, 0, 32, 2, 65, 204, 2, 106, 65, 180, 128, 192, 0, 54, 2, 0, 32, 2, 65, 196, 2, 106, 65, 156, 128, 192, 0, 54, 2, 0, 32, 0, 32, 2, 65, 200, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 152, 2, 106, 34, 4, 32, 2, 65, 208, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 224, 2, 106, 32, 20, 55, 3, 0, 32, 2, 65, 220, 2, 106, 32, 7, 54, 2, 0, 32, 2, 65, 184, 2, 106, 32, 21, 55, 3, 0, 32, 2, 65, 180, 2, 106, 32, 17, 54, 2, 0, 32, 2, 65, 168, 2, 106, 34, 5, 32, 19, 55, 3, 0, 32, 2, 65, 164, 2, 106, 34, 7, 32, 16, 54, 2, 0, 32, 2, 65, 200, 2, 106, 32, 2, 65, 216, 3, 106, 54, 2, 0, 32, 2, 32, 2, 41, 3, 192, 1, 55, 3, 136, 2, 32, 2, 32, 3, 54, 2, 216, 2, 32, 2, 32, 14, 54, 2, 176, 2, 32, 2, 32, 13, 54, 2, 160, 2, 32, 2, 32, 2, 65, 216, 3, 106, 54, 2, 192, 2, 32, 2, 65, 216, 1, 106, 32, 2, 65, 192, 2, 106, 32, 2, 65, 136, 2, 106, 32, 2, 65, 216, 2, 106, 16, 81, 32, 0, 32, 2, 65, 228, 1, 106, 41, 2, 0, 55, 3, 0, 32, 4, 32, 2, 65, 236, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 160, 2, 106, 32, 2, 65, 244, 1, 106, 41, 2, 0, 55, 3, 0, 32, 5, 32, 2, 65, 252, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 220, 1, 55, 3, 136, 2, 2, 64, 2, 64, 32, 2, 40, 2, 216, 1, 65, 1, 70, 4, 64, 32, 2, 65, 128, 3, 106, 32, 7, 41, 2, 0, 55, 3, 0, 32, 2, 65, 248, 2, 106, 32, 2, 65, 156, 2, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 240, 2, 106, 32, 2, 65, 148, 2, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 140, 2, 55, 3, 232, 2, 32, 2, 65, 0, 54, 2, 208, 3, 32, 2, 66, 1, 55, 3, 200, 3, 32, 2, 32, 2, 65, 232, 2, 106, 54, 2, 136, 3, 32, 2, 65, 9, 54, 2, 132, 2, 32, 2, 32, 2, 65, 136, 3, 106, 54, 2, 128, 2, 32, 2, 32, 2, 65, 200, 3, 106, 54, 2, 140, 3, 32, 2, 65, 164, 3, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 148, 3, 32, 2, 65, 212, 134, 192, 0, 54, 2, 144, 3, 32, 2, 32, 2, 65, 128, 2, 106, 54, 2, 160, 3, 32, 2, 65, 140, 3, 106, 65, 156, 140, 192, 0, 32, 2, 65, 144, 3, 106, 16, 156, 2, 13, 2, 32, 2, 65, 156, 3, 106, 32, 2, 65, 208, 3, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 200, 3, 55, 2, 148, 3, 32, 2, 65, 1, 54, 2, 144, 3, 32, 2, 65, 232, 2, 106, 16, 42, 12, 1, 11, 32, 2, 65, 156, 3, 106, 32, 2, 65, 144, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 136, 2, 55, 2, 148, 3, 32, 2, 65, 0, 54, 2, 144, 3, 11, 32, 2, 40, 2, 188, 3, 4, 64, 32, 1, 16, 226, 1, 11, 32, 2, 40, 2, 172, 3, 69, 13, 10, 32, 15, 16, 226, 1, 12, 10, 11, 12, 10, 11, 65, 2, 33, 0, 12, 1, 11, 65, 14, 33, 0, 11, 32, 0, 65, 8, 118, 33, 5, 32, 4, 173, 32, 8, 173, 66, 32, 134, 132, 33, 19, 12, 3, 11, 65, 11, 33, 0, 12, 2, 11, 32, 0, 65, 8, 118, 33, 5, 32, 6, 173, 32, 4, 173, 66, 32, 134, 132, 33, 19, 12, 1, 11, 65, 4, 33, 0, 11, 32, 0, 65, 255, 1, 113, 32, 5, 65, 8, 116, 114, 33, 5, 11, 32, 2, 65, 224, 1, 106, 32, 19, 55, 3, 0, 32, 2, 32, 3, 54, 2, 220, 1, 32, 2, 32, 5, 54, 2, 216, 1, 32, 2, 65, 136, 2, 106, 65, 174, 139, 192, 0, 65, 23, 32, 2, 65, 216, 1, 106, 16, 27, 32, 2, 65, 248, 2, 106, 32, 2, 65, 164, 2, 106, 34, 0, 40, 2, 0, 34, 4, 54, 2, 0, 32, 2, 65, 240, 2, 106, 32, 2, 65, 156, 2, 106, 34, 5, 41, 2, 0, 34, 19, 55, 3, 0, 32, 2, 32, 2, 65, 148, 2, 106, 34, 7, 41, 2, 0, 34, 20, 55, 3, 232, 2, 32, 2, 40, 2, 136, 2, 33, 9, 32, 2, 41, 2, 140, 2, 33, 21, 32, 7, 32, 20, 55, 2, 0, 32, 5, 32, 19, 55, 2, 0, 32, 0, 32, 4, 54, 2, 0, 32, 2, 32, 21, 55, 2, 140, 2, 32, 2, 32, 9, 54, 2, 136, 2, 32, 2, 65, 0, 54, 2, 208, 3, 32, 2, 66, 1, 55, 3, 200, 3, 32, 2, 32, 2, 65, 136, 2, 106, 54, 2, 140, 3, 32, 2, 65, 9, 54, 2, 132, 2, 32, 2, 32, 2, 65, 140, 3, 106, 54, 2, 128, 2, 32, 2, 32, 2, 65, 200, 3, 106, 54, 2, 144, 3, 32, 2, 65, 236, 1, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 220, 1, 32, 2, 65, 212, 134, 192, 0, 54, 2, 216, 1, 32, 2, 32, 2, 65, 128, 2, 106, 54, 2, 232, 1, 32, 2, 65, 144, 3, 106, 65, 156, 140, 192, 0, 32, 2, 65, 216, 1, 106, 16, 156, 2, 13, 2, 32, 2, 65, 156, 3, 106, 32, 2, 65, 208, 3, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 200, 3, 55, 2, 148, 3, 32, 2, 65, 1, 54, 2, 144, 3, 32, 2, 65, 136, 2, 106, 16, 42, 32, 13, 69, 32, 16, 69, 114, 69, 4, 64, 32, 13, 16, 226, 1, 11, 32, 14, 69, 32, 17, 69, 114, 13, 0, 32, 14, 16, 226, 1, 11, 2, 64, 32, 1, 69, 13, 0, 32, 2, 40, 2, 188, 3, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 2, 40, 2, 172, 3, 69, 13, 0, 32, 15, 16, 226, 1, 11, 32, 2, 65, 184, 3, 106, 16, 187, 1, 32, 2, 65, 144, 3, 106, 65, 4, 114, 33, 4, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 144, 3, 65, 1, 71, 4, 64, 32, 2, 40, 2, 192, 3, 34, 1, 32, 2, 40, 2, 188, 3, 71, 4, 64, 32, 2, 40, 2, 184, 3, 33, 0, 12, 2, 11, 32, 1, 65, 1, 106, 34, 0, 32, 1, 73, 13, 3, 32, 1, 65, 1, 116, 34, 5, 32, 0, 32, 5, 32, 0, 75, 27, 34, 0, 65, 8, 32, 0, 65, 8, 75, 27, 33, 0, 2, 64, 32, 1, 69, 4, 64, 32, 2, 65, 0, 54, 2, 136, 2, 12, 1, 11, 32, 2, 65, 144, 2, 106, 65, 1, 54, 2, 0, 32, 2, 32, 1, 54, 2, 140, 2, 32, 2, 32, 2, 40, 2, 184, 3, 54, 2, 136, 2, 11, 32, 2, 65, 232, 2, 106, 32, 0, 65, 1, 32, 2, 65, 136, 2, 106, 16, 13, 32, 2, 65, 240, 2, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 236, 2, 33, 0, 32, 2, 40, 2, 232, 2, 65, 1, 71, 4, 64, 32, 2, 32, 1, 54, 2, 188, 3, 32, 2, 32, 0, 54, 2, 184, 3, 32, 2, 40, 2, 192, 3, 33, 1, 12, 2, 11, 32, 1, 69, 13, 3, 12, 7, 11, 32, 2, 65, 216, 1, 106, 32, 2, 65, 184, 3, 106, 32, 4, 16, 35, 32, 2, 65, 208, 3, 106, 32, 2, 65, 228, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 220, 1, 55, 3, 200, 3, 32, 2, 40, 2, 216, 1, 65, 1, 71, 13, 4, 12, 1, 11, 32, 0, 32, 1, 106, 65, 251, 0, 58, 0, 0, 32, 2, 32, 2, 40, 2, 192, 3, 65, 1, 106, 54, 2, 192, 3, 32, 2, 65, 136, 2, 106, 32, 2, 65, 184, 3, 106, 65, 234, 133, 192, 0, 65, 2, 16, 190, 1, 32, 2, 65, 240, 2, 106, 34, 0, 32, 2, 65, 148, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 140, 2, 55, 3, 232, 2, 2, 64, 32, 2, 65, 208, 3, 106, 2, 127, 2, 64, 32, 2, 40, 2, 136, 2, 65, 1, 71, 4, 64, 32, 2, 40, 2, 192, 3, 34, 1, 32, 2, 40, 2, 188, 3, 71, 4, 64, 32, 2, 40, 2, 184, 3, 33, 0, 12, 2, 11, 32, 1, 65, 1, 106, 34, 0, 32, 1, 73, 13, 5, 32, 1, 65, 1, 116, 34, 5, 32, 0, 32, 5, 32, 0, 75, 27, 34, 0, 65, 8, 32, 0, 65, 8, 75, 27, 33, 0, 2, 64, 32, 1, 69, 4, 64, 32, 2, 65, 0, 54, 2, 136, 2, 12, 1, 11, 32, 2, 65, 144, 2, 106, 65, 1, 54, 2, 0, 32, 2, 32, 1, 54, 2, 140, 2, 32, 2, 32, 2, 40, 2, 184, 3, 54, 2, 136, 2, 11, 32, 2, 65, 232, 2, 106, 32, 0, 65, 1, 32, 2, 65, 136, 2, 106, 16, 13, 32, 2, 65, 240, 2, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 236, 2, 33, 0, 32, 2, 40, 2, 232, 2, 65, 1, 71, 4, 64, 32, 2, 32, 1, 54, 2, 188, 3, 32, 2, 32, 0, 54, 2, 184, 3, 32, 2, 40, 2, 192, 3, 33, 1, 12, 2, 11, 32, 1, 69, 13, 5, 12, 9, 11, 32, 2, 65, 228, 1, 106, 32, 0, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 232, 2, 55, 2, 220, 1, 32, 2, 65, 1, 54, 2, 216, 1, 32, 2, 65, 216, 1, 106, 65, 4, 114, 12, 1, 11, 32, 0, 32, 1, 106, 65, 58, 58, 0, 0, 32, 2, 32, 2, 40, 2, 192, 3, 65, 1, 106, 54, 2, 192, 3, 32, 2, 65, 232, 2, 106, 32, 4, 16, 137, 1, 32, 2, 65, 136, 2, 106, 32, 2, 65, 184, 3, 106, 32, 2, 40, 2, 232, 2, 34, 0, 32, 2, 40, 2, 240, 2, 16, 190, 1, 32, 2, 40, 2, 236, 2, 4, 64, 32, 0, 16, 226, 1, 11, 32, 2, 65, 200, 1, 106, 34, 0, 32, 2, 65, 148, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 140, 2, 55, 3, 192, 1, 32, 2, 40, 2, 136, 2, 65, 1, 71, 13, 1, 32, 2, 65, 228, 1, 106, 32, 0, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 192, 1, 55, 2, 220, 1, 32, 2, 65, 1, 54, 2, 216, 1, 32, 2, 65, 216, 1, 106, 65, 4, 114, 11, 34, 0, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 0, 41, 2, 0, 55, 3, 200, 3, 12, 1, 11, 32, 2, 40, 2, 192, 3, 34, 1, 32, 2, 40, 2, 188, 3, 71, 4, 64, 32, 2, 40, 2, 184, 3, 33, 0, 12, 3, 11, 32, 1, 65, 1, 106, 34, 0, 32, 1, 73, 13, 1, 32, 1, 65, 1, 116, 34, 4, 32, 0, 32, 4, 32, 0, 75, 27, 34, 0, 65, 8, 32, 0, 65, 8, 75, 27, 33, 0, 2, 64, 32, 1, 69, 4, 64, 32, 2, 65, 0, 54, 2, 136, 2, 12, 1, 11, 32, 2, 65, 144, 2, 106, 65, 1, 54, 2, 0, 32, 2, 32, 1, 54, 2, 140, 2, 32, 2, 32, 2, 40, 2, 184, 3, 54, 2, 136, 2, 11, 32, 2, 65, 232, 2, 106, 32, 0, 65, 1, 32, 2, 65, 136, 2, 106, 16, 13, 32, 2, 65, 240, 2, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 236, 2, 33, 0, 32, 2, 40, 2, 232, 2, 65, 1, 71, 4, 64, 32, 2, 32, 1, 54, 2, 188, 3, 32, 2, 32, 0, 54, 2, 184, 3, 32, 2, 40, 2, 192, 3, 33, 1, 12, 3, 11, 32, 1, 69, 13, 1, 12, 5, 11, 32, 2, 65, 176, 3, 106, 34, 0, 32, 2, 65, 208, 3, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 200, 3, 55, 3, 168, 3, 2, 64, 32, 2, 40, 2, 184, 3, 34, 1, 69, 13, 0, 32, 2, 40, 2, 188, 3, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 2, 65, 240, 2, 106, 32, 0, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 168, 3, 55, 3, 232, 2, 32, 2, 65, 216, 1, 106, 65, 197, 139, 192, 0, 65, 212, 0, 32, 2, 65, 232, 2, 106, 16, 33, 32, 2, 65, 164, 2, 106, 32, 2, 65, 240, 1, 106, 34, 0, 41, 3, 0, 34, 19, 55, 2, 0, 32, 2, 65, 156, 2, 106, 32, 2, 65, 232, 1, 106, 34, 1, 41, 3, 0, 34, 20, 55, 2, 0, 32, 2, 65, 148, 2, 106, 32, 2, 65, 224, 1, 106, 34, 4, 41, 3, 0, 34, 21, 55, 2, 0, 32, 2, 32, 2, 41, 3, 216, 1, 34, 22, 55, 2, 140, 2, 32, 0, 32, 19, 55, 3, 0, 32, 1, 32, 20, 55, 3, 0, 32, 4, 32, 21, 55, 3, 0, 32, 2, 32, 22, 55, 3, 216, 1, 65, 148, 141, 192, 0, 65, 43, 32, 2, 65, 216, 1, 106, 65, 192, 141, 192, 0, 65, 180, 132, 192, 0, 16, 162, 2, 0, 11, 16, 139, 2, 0, 11, 32, 0, 32, 1, 106, 65, 253, 0, 58, 0, 0, 32, 2, 65, 208, 3, 106, 32, 2, 65, 228, 1, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 220, 1, 55, 3, 200, 3, 32, 2, 32, 2, 40, 2, 192, 3, 65, 1, 106, 54, 2, 192, 3, 11, 32, 2, 65, 224, 1, 106, 32, 2, 65, 192, 3, 106, 40, 2, 0, 34, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 184, 3, 34, 19, 55, 3, 216, 1, 32, 2, 65, 144, 2, 106, 32, 0, 54, 2, 0, 32, 2, 32, 19, 55, 3, 136, 2, 32, 2, 65, 136, 2, 106, 16, 161, 1, 32, 2, 40, 2, 148, 3, 34, 0, 69, 32, 2, 65, 152, 3, 106, 40, 2, 0, 69, 114, 33, 1, 2, 64, 32, 2, 40, 2, 144, 3, 69, 4, 64, 32, 1, 13, 1, 32, 0, 16, 226, 1, 12, 1, 11, 32, 1, 13, 0, 32, 0, 16, 226, 1, 11, 32, 2, 65, 224, 3, 106, 36, 0, 15, 11, 65, 220, 134, 192, 0, 65, 55, 32, 2, 65, 216, 3, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 32, 0, 32, 1, 16, 138, 2, 0, 11, 253, 22, 2, 18, 127, 4, 126, 35, 0, 65, 144, 3, 107, 34, 2, 36, 0, 32, 2, 65, 248, 0, 106, 32, 0, 16, 162, 1, 32, 2, 65, 136, 1, 106, 32, 1, 16, 162, 1, 32, 2, 65, 240, 1, 106, 32, 2, 40, 2, 120, 34, 12, 32, 2, 40, 2, 128, 1, 16, 28, 2, 64, 2, 64, 2, 64, 32, 2, 41, 3, 240, 1, 66, 1, 81, 4, 64, 32, 2, 65, 200, 1, 106, 32, 2, 65, 144, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 192, 1, 106, 32, 2, 65, 136, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 184, 1, 106, 32, 2, 65, 128, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 248, 1, 55, 3, 176, 1, 32, 2, 65, 0, 54, 2, 216, 2, 32, 2, 66, 1, 55, 3, 208, 2, 32, 2, 32, 2, 65, 176, 1, 106, 54, 2, 132, 3, 32, 2, 65, 9, 54, 2, 236, 1, 32, 2, 32, 2, 65, 132, 3, 106, 54, 2, 232, 1, 32, 2, 32, 2, 65, 208, 2, 106, 54, 2, 240, 2, 32, 2, 65, 212, 0, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 68, 32, 2, 65, 212, 134, 192, 0, 54, 2, 64, 32, 2, 32, 2, 65, 232, 1, 106, 54, 2, 80, 32, 2, 65, 240, 2, 106, 65, 156, 140, 192, 0, 32, 2, 65, 64, 107, 16, 156, 2, 13, 3, 32, 2, 65, 204, 0, 106, 32, 2, 65, 216, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 208, 2, 55, 2, 68, 32, 2, 65, 1, 54, 2, 64, 32, 2, 65, 176, 1, 106, 16, 42, 32, 2, 40, 2, 136, 1, 33, 1, 12, 1, 11, 32, 2, 65, 168, 1, 106, 32, 2, 65, 136, 2, 106, 34, 13, 41, 3, 0, 55, 3, 0, 32, 2, 65, 160, 1, 106, 32, 2, 65, 128, 2, 106, 34, 14, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 41, 3, 248, 1, 55, 3, 152, 1, 32, 2, 65, 144, 2, 106, 40, 2, 0, 33, 10, 32, 2, 65, 148, 2, 106, 40, 2, 0, 33, 15, 32, 2, 65, 152, 2, 106, 41, 3, 0, 33, 20, 32, 2, 65, 160, 2, 106, 40, 2, 0, 33, 11, 32, 2, 65, 164, 2, 106, 40, 2, 0, 33, 16, 32, 2, 65, 168, 2, 106, 41, 3, 0, 33, 21, 32, 2, 65, 240, 2, 106, 32, 2, 40, 2, 136, 1, 34, 1, 32, 2, 40, 2, 144, 1, 16, 174, 1, 32, 2, 65, 56, 106, 32, 2, 65, 240, 2, 106, 16, 181, 1, 2, 64, 32, 2, 45, 0, 56, 65, 1, 113, 69, 4, 64, 65, 4, 33, 0, 12, 1, 11, 32, 2, 45, 0, 57, 65, 251, 0, 71, 4, 64, 65, 14, 33, 0, 12, 1, 11, 32, 2, 65, 240, 2, 106, 16, 175, 1, 32, 2, 65, 48, 106, 32, 2, 65, 240, 2, 106, 16, 173, 1, 32, 2, 45, 0, 52, 33, 3, 32, 2, 65, 40, 106, 32, 2, 40, 2, 48, 34, 5, 16, 181, 1, 2, 64, 2, 64, 32, 2, 45, 0, 40, 65, 1, 113, 69, 4, 64, 65, 2, 33, 0, 12, 1, 11, 32, 2, 45, 0, 41, 33, 0, 32, 3, 65, 1, 113, 33, 3, 32, 2, 65, 248, 1, 106, 33, 17, 32, 2, 65, 176, 1, 106, 65, 4, 114, 33, 9, 32, 2, 65, 240, 1, 106, 65, 4, 114, 33, 18, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 255, 1, 113, 34, 4, 65, 44, 71, 4, 64, 32, 4, 65, 253, 0, 70, 13, 1, 32, 3, 65, 255, 1, 113, 13, 2, 65, 9, 33, 0, 12, 6, 11, 32, 3, 65, 255, 1, 113, 4, 64, 65, 16, 33, 0, 12, 6, 11, 32, 5, 16, 175, 1, 32, 2, 65, 32, 106, 32, 5, 16, 181, 1, 32, 2, 45, 0, 32, 65, 1, 113, 69, 13, 2, 32, 2, 45, 0, 33, 33, 0, 12, 1, 11, 32, 7, 4, 64, 32, 2, 65, 240, 1, 106, 32, 2, 65, 240, 2, 106, 16, 178, 1, 32, 2, 65, 252, 1, 106, 33, 3, 32, 2, 65, 248, 1, 106, 33, 4, 32, 2, 40, 2, 240, 1, 34, 0, 65, 21, 71, 4, 64, 32, 3, 40, 2, 0, 33, 6, 32, 4, 40, 2, 0, 33, 3, 32, 2, 40, 2, 244, 1, 33, 4, 32, 8, 69, 13, 8, 32, 7, 16, 226, 1, 12, 8, 11, 32, 2, 65, 240, 1, 106, 32, 2, 65, 240, 2, 106, 16, 176, 1, 32, 2, 40, 2, 240, 1, 34, 0, 65, 21, 71, 4, 64, 32, 3, 40, 2, 0, 33, 6, 32, 4, 40, 2, 0, 33, 3, 32, 2, 40, 2, 244, 1, 33, 4, 32, 8, 69, 13, 8, 32, 7, 16, 226, 1, 12, 8, 11, 32, 2, 65, 24, 106, 32, 2, 65, 136, 3, 106, 65, 224, 128, 192, 0, 16, 145, 1, 32, 2, 65, 184, 2, 106, 32, 2, 41, 3, 24, 55, 3, 0, 32, 2, 65, 180, 2, 106, 65, 180, 128, 192, 0, 54, 2, 0, 32, 2, 65, 172, 2, 106, 65, 156, 128, 192, 0, 54, 2, 0, 32, 2, 65, 248, 1, 106, 34, 0, 32, 2, 65, 160, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 128, 2, 106, 34, 3, 32, 2, 65, 168, 1, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 200, 2, 106, 32, 19, 54, 2, 0, 32, 2, 65, 196, 2, 106, 32, 8, 54, 2, 0, 32, 2, 65, 160, 2, 106, 32, 21, 55, 3, 0, 32, 2, 65, 156, 2, 106, 32, 16, 54, 2, 0, 32, 2, 65, 144, 2, 106, 34, 4, 32, 20, 55, 3, 0, 32, 2, 65, 140, 2, 106, 34, 5, 32, 15, 54, 2, 0, 32, 2, 65, 176, 2, 106, 32, 2, 65, 136, 3, 106, 54, 2, 0, 32, 2, 32, 2, 41, 3, 152, 1, 55, 3, 240, 1, 32, 2, 32, 7, 54, 2, 192, 2, 32, 2, 32, 11, 54, 2, 152, 2, 32, 2, 32, 10, 54, 2, 136, 2, 32, 2, 32, 2, 65, 136, 3, 106, 54, 2, 168, 2, 32, 2, 65, 176, 1, 106, 32, 2, 65, 168, 2, 106, 32, 2, 65, 240, 1, 106, 32, 2, 65, 192, 2, 106, 16, 76, 32, 0, 32, 2, 65, 188, 1, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 2, 65, 196, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 136, 2, 106, 34, 6, 32, 2, 65, 204, 1, 106, 41, 2, 0, 55, 3, 0, 32, 4, 32, 2, 65, 212, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 152, 2, 106, 34, 7, 32, 2, 65, 220, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 180, 1, 55, 3, 240, 1, 2, 64, 2, 64, 32, 2, 40, 2, 176, 1, 65, 1, 70, 4, 64, 32, 2, 65, 232, 2, 106, 32, 5, 41, 2, 0, 55, 3, 0, 32, 2, 65, 224, 2, 106, 32, 2, 65, 132, 2, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 216, 2, 106, 32, 2, 65, 252, 1, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 2, 41, 2, 244, 1, 55, 3, 208, 2, 32, 2, 65, 0, 54, 2, 248, 2, 32, 2, 66, 1, 55, 3, 240, 2, 32, 2, 32, 2, 65, 208, 2, 106, 54, 2, 128, 3, 32, 2, 65, 14, 54, 2, 236, 1, 32, 2, 32, 2, 65, 128, 3, 106, 54, 2, 232, 1, 32, 2, 32, 2, 65, 240, 2, 106, 54, 2, 132, 3, 32, 2, 65, 212, 0, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 68, 32, 2, 65, 212, 134, 192, 0, 54, 2, 64, 32, 2, 32, 2, 65, 232, 1, 106, 54, 2, 80, 32, 2, 65, 132, 3, 106, 65, 156, 140, 192, 0, 32, 2, 65, 64, 107, 16, 156, 2, 13, 2, 32, 2, 65, 204, 0, 106, 32, 2, 65, 248, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 240, 2, 55, 2, 68, 32, 2, 65, 1, 54, 2, 64, 32, 2, 40, 2, 208, 2, 65, 11, 70, 13, 1, 32, 2, 65, 208, 2, 106, 16, 42, 12, 1, 11, 32, 2, 65, 236, 0, 106, 32, 7, 41, 3, 0, 55, 2, 0, 32, 2, 65, 228, 0, 106, 32, 4, 41, 3, 0, 55, 2, 0, 32, 2, 65, 220, 0, 106, 32, 6, 41, 3, 0, 55, 2, 0, 32, 2, 65, 212, 0, 106, 32, 3, 41, 3, 0, 55, 2, 0, 32, 2, 65, 204, 0, 106, 32, 0, 41, 3, 0, 55, 2, 0, 32, 2, 32, 2, 41, 3, 240, 1, 55, 2, 68, 32, 2, 65, 0, 54, 2, 64, 11, 32, 2, 40, 2, 140, 1, 4, 64, 32, 1, 16, 226, 1, 11, 32, 2, 40, 2, 124, 69, 13, 10, 32, 12, 16, 226, 1, 12, 10, 11, 12, 10, 11, 32, 2, 65, 240, 1, 106, 65, 200, 146, 192, 0, 65, 8, 16, 23, 32, 2, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 2, 65, 248, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 244, 1, 33, 4, 32, 2, 40, 2, 240, 1, 33, 0, 12, 6, 11, 32, 0, 65, 255, 1, 113, 34, 3, 65, 34, 71, 4, 64, 65, 19, 65, 16, 32, 3, 65, 253, 0, 70, 27, 33, 0, 12, 4, 11, 32, 2, 65, 16, 106, 32, 5, 16, 181, 1, 32, 2, 45, 0, 16, 65, 1, 113, 13, 1, 11, 65, 4, 33, 0, 12, 2, 11, 32, 2, 45, 0, 17, 65, 34, 71, 4, 64, 65, 14, 33, 0, 12, 2, 11, 32, 5, 16, 175, 1, 32, 2, 65, 240, 1, 106, 32, 5, 16, 180, 1, 32, 2, 40, 2, 128, 2, 33, 6, 32, 2, 40, 2, 252, 1, 33, 3, 32, 2, 40, 2, 248, 1, 33, 4, 32, 2, 40, 2, 244, 1, 33, 0, 32, 2, 40, 2, 240, 1, 65, 1, 70, 13, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 4, 64, 32, 6, 65, 8, 71, 4, 127, 65, 1, 5, 32, 4, 41, 0, 0, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 82, 11, 33, 0, 32, 3, 69, 32, 4, 69, 114, 13, 1, 32, 4, 16, 226, 1, 12, 1, 11, 32, 3, 65, 8, 71, 13, 1, 32, 4, 41, 0, 0, 66, 246, 202, 201, 203, 230, 172, 218, 178, 242, 0, 82, 33, 0, 11, 32, 0, 69, 13, 1, 11, 32, 2, 65, 240, 1, 106, 32, 5, 16, 179, 1, 32, 2, 65, 200, 0, 106, 32, 18, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 18, 41, 2, 0, 55, 3, 64, 32, 2, 40, 2, 240, 1, 34, 0, 65, 21, 70, 13, 1, 32, 9, 32, 2, 41, 3, 64, 55, 2, 0, 32, 9, 65, 8, 106, 32, 2, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 0, 54, 2, 176, 1, 12, 2, 11, 32, 7, 4, 64, 32, 2, 65, 240, 1, 106, 65, 200, 146, 192, 0, 65, 8, 16, 24, 32, 2, 65, 252, 1, 106, 40, 2, 0, 33, 6, 32, 2, 65, 248, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 244, 1, 33, 4, 32, 2, 40, 2, 240, 1, 33, 0, 32, 8, 69, 13, 7, 12, 6, 11, 32, 2, 65, 176, 1, 106, 32, 5, 16, 179, 1, 32, 2, 65, 200, 0, 106, 32, 9, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 9, 41, 2, 0, 55, 3, 64, 2, 64, 2, 64, 32, 2, 40, 2, 176, 1, 34, 0, 65, 21, 71, 4, 64, 32, 17, 32, 2, 41, 3, 64, 55, 2, 0, 32, 17, 65, 8, 106, 32, 2, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 0, 54, 2, 244, 1, 32, 2, 65, 1, 54, 2, 240, 1, 12, 1, 11, 32, 2, 65, 240, 1, 106, 32, 5, 16, 25, 32, 2, 40, 2, 240, 1, 65, 1, 71, 13, 1, 32, 2, 40, 2, 244, 1, 33, 0, 11, 32, 2, 65, 128, 2, 106, 40, 2, 0, 33, 6, 32, 2, 40, 2, 252, 1, 33, 3, 32, 2, 40, 2, 248, 1, 33, 4, 12, 7, 11, 32, 2, 40, 2, 252, 1, 33, 19, 32, 2, 40, 2, 248, 1, 33, 8, 32, 2, 40, 2, 244, 1, 33, 7, 12, 2, 11, 32, 2, 65, 176, 1, 106, 32, 5, 16, 26, 32, 2, 40, 2, 176, 1, 34, 0, 65, 21, 70, 13, 1, 11, 32, 2, 65, 188, 1, 106, 40, 2, 0, 33, 6, 32, 2, 65, 184, 1, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 180, 1, 33, 4, 12, 2, 11, 32, 2, 65, 8, 106, 32, 5, 16, 181, 1, 65, 0, 33, 3, 32, 2, 45, 0, 9, 33, 0, 32, 2, 45, 0, 8, 65, 1, 113, 13, 0, 11, 65, 2, 33, 0, 11, 32, 8, 69, 13, 1, 32, 7, 13, 0, 12, 1, 11, 32, 7, 16, 226, 1, 11, 32, 2, 65, 188, 1, 106, 32, 6, 54, 2, 0, 32, 2, 65, 184, 1, 106, 32, 3, 54, 2, 0, 32, 2, 32, 4, 54, 2, 180, 1, 32, 2, 32, 0, 54, 2, 176, 1, 32, 2, 65, 240, 1, 106, 65, 237, 137, 192, 0, 65, 25, 32, 2, 65, 176, 1, 106, 16, 27, 32, 2, 65, 224, 2, 106, 32, 13, 41, 3, 0, 34, 20, 55, 3, 0, 32, 2, 65, 216, 2, 106, 32, 14, 41, 3, 0, 34, 21, 55, 3, 0, 32, 2, 32, 2, 65, 248, 1, 106, 34, 0, 41, 3, 0, 34, 22, 55, 3, 208, 2, 32, 2, 41, 3, 240, 1, 33, 23, 32, 0, 32, 22, 55, 3, 0, 32, 14, 32, 21, 55, 3, 0, 32, 13, 32, 20, 55, 3, 0, 32, 2, 32, 23, 55, 3, 240, 1, 32, 2, 65, 0, 54, 2, 248, 2, 32, 2, 66, 1, 55, 3, 240, 2, 32, 2, 32, 2, 65, 240, 1, 106, 54, 2, 132, 3, 32, 2, 65, 9, 54, 2, 236, 1, 32, 2, 32, 2, 65, 132, 3, 106, 54, 2, 232, 1, 32, 2, 32, 2, 65, 240, 2, 106, 54, 2, 64, 32, 2, 65, 196, 1, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 180, 1, 32, 2, 65, 212, 134, 192, 0, 54, 2, 176, 1, 32, 2, 32, 2, 65, 232, 1, 106, 54, 2, 192, 1, 32, 2, 65, 64, 107, 65, 156, 140, 192, 0, 32, 2, 65, 176, 1, 106, 16, 156, 2, 13, 2, 32, 2, 65, 204, 0, 106, 32, 2, 65, 248, 2, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 240, 2, 55, 2, 68, 32, 2, 65, 1, 54, 2, 64, 32, 2, 65, 240, 1, 106, 16, 42, 32, 10, 69, 32, 15, 69, 114, 69, 4, 64, 32, 10, 16, 226, 1, 11, 32, 11, 69, 32, 16, 69, 114, 13, 0, 32, 11, 16, 226, 1, 11, 2, 64, 32, 1, 69, 13, 0, 32, 2, 40, 2, 140, 1, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 2, 40, 2, 124, 69, 13, 0, 32, 12, 16, 226, 1, 11, 32, 2, 65, 240, 1, 106, 32, 2, 65, 64, 107, 16, 34, 32, 2, 40, 2, 240, 1, 65, 1, 71, 4, 64, 32, 2, 65, 184, 1, 106, 32, 2, 65, 252, 1, 106, 40, 2, 0, 34, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 244, 1, 34, 20, 55, 3, 176, 1, 32, 2, 65, 248, 1, 106, 32, 0, 54, 2, 0, 32, 2, 32, 20, 55, 3, 240, 1, 32, 2, 65, 240, 1, 106, 16, 161, 1, 32, 2, 65, 64, 107, 16, 54, 32, 2, 65, 144, 3, 106, 36, 0, 15, 11, 32, 2, 65, 200, 1, 106, 32, 2, 65, 144, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 192, 1, 106, 32, 2, 65, 136, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 65, 184, 1, 106, 32, 2, 65, 128, 2, 106, 41, 3, 0, 55, 3, 0, 32, 2, 32, 2, 65, 248, 1, 106, 41, 3, 0, 55, 3, 176, 1, 65, 148, 141, 192, 0, 65, 43, 32, 2, 65, 176, 1, 106, 65, 192, 141, 192, 0, 65, 132, 132, 192, 0, 16, 162, 2, 0, 11, 65, 220, 134, 192, 0, 65, 55, 32, 2, 65, 136, 3, 106, 65, 132, 141, 192, 0, 65, 224, 135, 192, 0, 16, 162, 2, 0, 11, 9, 0, 32, 0, 32, 1, 16, 220, 1, 11, 13, 0, 32, 0, 32, 1, 32, 2, 32, 3, 16, 230, 1, 11, 139, 2, 1, 4, 127, 35, 0, 65, 32, 107, 34, 3, 36, 0, 2, 64, 32, 0, 65, 4, 106, 40, 2, 0, 34, 5, 32, 0, 65, 8, 106, 40, 2, 0, 34, 4, 107, 32, 2, 32, 1, 107, 34, 6, 79, 4, 64, 32, 0, 40, 2, 0, 33, 2, 12, 1, 11, 2, 64, 32, 4, 32, 6, 106, 34, 2, 32, 4, 73, 13, 0, 32, 5, 65, 1, 116, 34, 4, 32, 2, 32, 4, 32, 2, 75, 27, 34, 2, 65, 8, 32, 2, 65, 8, 75, 27, 33, 2, 2, 64, 32, 5, 69, 4, 64, 32, 3, 65, 0, 54, 2, 16, 12, 1, 11, 32, 3, 65, 24, 106, 65, 1, 54, 2, 0, 32, 3, 32, 5, 54, 2, 20, 32, 3, 32, 0, 40, 2, 0, 54, 2, 16, 11, 32, 3, 32, 2, 32, 3, 65, 16, 106, 16, 90, 32, 3, 65, 8, 106, 40, 2, 0, 33, 4, 32, 3, 40, 2, 4, 33, 2, 32, 3, 40, 2, 0, 65, 1, 71, 4, 64, 32, 0, 32, 2, 54, 2, 0, 32, 0, 65, 4, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 40, 2, 0, 33, 4, 12, 2, 11, 32, 4, 69, 13, 0, 32, 2, 32, 4, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 2, 32, 4, 106, 32, 1, 32, 6, 16, 212, 2, 26, 32, 0, 65, 8, 106, 34, 0, 32, 0, 40, 2, 0, 32, 6, 106, 54, 2, 0, 32, 3, 65, 32, 106, 36, 0, 11, 145, 1, 1, 3, 127, 65, 1, 33, 3, 65, 1, 33, 4, 2, 64, 32, 1, 65, 0, 72, 4, 64, 65, 0, 33, 3, 12, 1, 11, 2, 127, 32, 2, 40, 2, 0, 34, 5, 69, 4, 64, 32, 1, 4, 64, 32, 1, 65, 1, 16, 87, 12, 2, 11, 65, 1, 12, 1, 11, 32, 2, 40, 2, 4, 34, 2, 69, 4, 64, 32, 1, 4, 64, 32, 1, 65, 1, 16, 87, 12, 2, 11, 65, 1, 12, 1, 11, 32, 5, 32, 2, 65, 1, 32, 1, 16, 88, 11, 34, 2, 69, 4, 64, 32, 0, 32, 1, 54, 2, 4, 12, 1, 11, 32, 0, 32, 2, 54, 2, 4, 65, 0, 33, 4, 32, 1, 33, 3, 11, 32, 0, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 11, 44, 1, 1, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 1, 65, 8, 106, 32, 0, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 1, 32, 0, 41, 2, 0, 55, 3, 0, 32, 1, 16, 92, 0, 11, 44, 1, 1, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 1, 32, 0, 41, 2, 0, 55, 3, 8, 32, 1, 65, 8, 106, 65, 236, 148, 192, 0, 65, 0, 32, 0, 40, 2, 8, 16, 233, 1, 0, 11, 39, 1, 1, 127, 35, 0, 65, 16, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 8, 32, 3, 32, 1, 54, 2, 4, 32, 3, 32, 0, 54, 2, 0, 32, 3, 16, 91, 0, 11, 11, 0, 32, 0, 40, 2, 0, 32, 1, 16, 95, 11, 239, 1, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 65, 1, 107, 14, 7, 2, 3, 4, 5, 6, 7, 0, 1, 11, 32, 2, 32, 1, 65, 208, 173, 192, 0, 65, 10, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 218, 173, 192, 0, 65, 10, 32, 2, 65, 12, 106, 65, 228, 173, 192, 0, 16, 159, 2, 32, 2, 16, 166, 2, 12, 8, 11, 32, 2, 32, 1, 65, 157, 183, 192, 0, 65, 8, 16, 187, 2, 12, 6, 11, 32, 2, 32, 1, 65, 255, 176, 192, 0, 65, 10, 16, 187, 2, 12, 5, 11, 32, 2, 32, 1, 65, 143, 183, 192, 0, 65, 14, 16, 187, 2, 12, 4, 11, 32, 2, 32, 1, 65, 158, 174, 192, 0, 65, 17, 16, 187, 2, 12, 3, 11, 32, 2, 32, 1, 65, 136, 174, 192, 0, 65, 22, 16, 187, 2, 12, 2, 11, 32, 2, 32, 1, 65, 252, 182, 192, 0, 65, 19, 16, 187, 2, 12, 1, 11, 32, 2, 32, 1, 65, 244, 173, 192, 0, 65, 20, 16, 187, 2, 11, 32, 2, 16, 168, 2, 11, 32, 2, 65, 16, 106, 36, 0, 11, 68, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 33, 0, 32, 2, 32, 1, 65, 185, 173, 192, 0, 65, 6, 16, 187, 2, 32, 2, 32, 0, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 192, 173, 192, 0, 16, 167, 2, 32, 2, 16, 168, 2, 32, 2, 65, 16, 106, 36, 0, 11, 48, 0, 32, 0, 40, 2, 0, 33, 0, 32, 1, 16, 184, 2, 4, 64, 32, 0, 32, 1, 16, 200, 2, 15, 11, 32, 1, 16, 185, 2, 4, 64, 32, 0, 32, 1, 16, 204, 2, 15, 11, 32, 0, 32, 1, 16, 155, 2, 11, 11, 0, 32, 0, 40, 2, 0, 32, 1, 16, 99, 11, 116, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 45, 0, 0, 65, 1, 107, 14, 3, 2, 3, 0, 1, 11, 32, 2, 32, 1, 65, 192, 180, 192, 0, 65, 3, 16, 187, 2, 12, 3, 11, 32, 2, 32, 1, 65, 201, 180, 192, 0, 65, 3, 16, 187, 2, 12, 2, 11, 32, 2, 32, 1, 65, 198, 180, 192, 0, 65, 3, 16, 187, 2, 12, 1, 11, 32, 2, 32, 1, 65, 195, 180, 192, 0, 65, 3, 16, 187, 2, 11, 32, 2, 16, 168, 2, 32, 2, 65, 16, 106, 36, 0, 11, 78, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 33, 0, 32, 2, 32, 1, 65, 176, 181, 192, 0, 65, 17, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 54, 2, 12, 32, 2, 65, 193, 181, 192, 0, 65, 7, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 159, 2, 32, 2, 16, 166, 2, 32, 2, 65, 16, 106, 36, 0, 11, 48, 0, 32, 0, 40, 2, 0, 33, 0, 32, 1, 16, 184, 2, 4, 64, 32, 0, 32, 1, 16, 205, 2, 15, 11, 32, 1, 16, 185, 2, 4, 64, 32, 0, 32, 1, 16, 206, 2, 15, 11, 32, 0, 32, 1, 16, 199, 2, 11, 48, 0, 32, 0, 40, 2, 0, 33, 0, 32, 1, 16, 184, 2, 4, 64, 32, 0, 32, 1, 16, 198, 2, 15, 11, 32, 1, 16, 185, 2, 4, 64, 32, 0, 32, 1, 16, 203, 2, 15, 11, 32, 0, 32, 1, 16, 196, 2, 11, 100, 1, 2, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 34, 0, 40, 2, 8, 33, 3, 32, 0, 40, 2, 0, 33, 0, 32, 2, 32, 1, 16, 188, 2, 55, 3, 0, 32, 3, 4, 64, 3, 64, 32, 2, 32, 0, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 188, 152, 192, 0, 16, 170, 2, 32, 0, 65, 1, 106, 33, 0, 32, 3, 65, 127, 106, 34, 3, 13, 0, 11, 11, 32, 2, 16, 171, 2, 32, 2, 65, 16, 106, 36, 0, 11, 22, 0, 32, 0, 40, 2, 0, 34, 0, 40, 2, 0, 32, 0, 40, 2, 8, 32, 1, 16, 189, 2, 11, 142, 1, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 33, 0, 32, 2, 32, 1, 65, 204, 180, 192, 0, 65, 13, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 24, 106, 54, 2, 12, 32, 2, 65, 217, 180, 192, 0, 65, 9, 32, 2, 65, 12, 106, 65, 228, 180, 192, 0, 16, 159, 2, 32, 2, 32, 0, 54, 2, 12, 32, 2, 65, 244, 180, 192, 0, 65, 8, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 159, 2, 32, 2, 32, 0, 65, 12, 106, 54, 2, 12, 32, 2, 65, 252, 180, 192, 0, 65, 8, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 159, 2, 32, 2, 16, 166, 2, 32, 2, 65, 16, 106, 36, 0, 11, 11, 0, 32, 0, 40, 2, 0, 32, 1, 16, 107, 11, 159, 1, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 65, 1, 107, 14, 3, 2, 3, 0, 1, 11, 32, 2, 32, 1, 65, 208, 173, 192, 0, 65, 10, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 218, 173, 192, 0, 65, 10, 32, 2, 65, 12, 106, 65, 228, 173, 192, 0, 16, 159, 2, 32, 2, 16, 166, 2, 12, 4, 11, 32, 2, 32, 1, 65, 158, 174, 192, 0, 65, 17, 16, 187, 2, 12, 2, 11, 32, 2, 32, 1, 65, 136, 174, 192, 0, 65, 22, 16, 187, 2, 12, 1, 11, 32, 2, 32, 1, 65, 244, 173, 192, 0, 65, 20, 16, 187, 2, 11, 32, 2, 16, 168, 2, 11, 32, 2, 65, 16, 106, 36, 0, 11, 22, 0, 32, 0, 40, 2, 0, 34, 0, 40, 2, 0, 32, 0, 40, 2, 8, 32, 1, 16, 192, 2, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 199, 1, 11, 98, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 33, 0, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 66, 2, 55, 2, 12, 32, 2, 65, 224, 181, 192, 0, 54, 2, 8, 32, 2, 65, 39, 54, 2, 36, 32, 2, 32, 0, 54, 2, 44, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 44, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 32, 2, 65, 48, 106, 36, 0, 11, 94, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 12, 32, 2, 65, 36, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 20, 32, 2, 65, 128, 149, 192, 0, 54, 2, 16, 32, 2, 65, 40, 54, 2, 44, 32, 2, 32, 2, 65, 40, 106, 54, 2, 32, 32, 2, 32, 2, 65, 12, 106, 54, 2, 40, 32, 1, 32, 2, 65, 16, 106, 16, 183, 2, 32, 2, 65, 48, 106, 36, 0, 11, 155, 1, 1, 1, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 0, 40, 2, 0, 33, 0, 32, 2, 65, 20, 106, 65, 3, 54, 2, 0, 32, 2, 65, 44, 106, 65, 39, 54, 2, 0, 32, 2, 65, 36, 106, 65, 39, 54, 2, 0, 32, 2, 32, 0, 65, 24, 106, 54, 2, 52, 32, 2, 32, 0, 54, 2, 56, 32, 2, 66, 3, 55, 2, 4, 32, 2, 65, 152, 181, 192, 0, 54, 2, 0, 32, 2, 65, 41, 54, 2, 28, 32, 2, 32, 0, 65, 12, 106, 54, 2, 60, 32, 2, 32, 2, 65, 24, 106, 54, 2, 16, 32, 2, 32, 2, 65, 60, 106, 54, 2, 40, 32, 2, 32, 2, 65, 56, 106, 54, 2, 32, 32, 2, 32, 2, 65, 52, 106, 54, 2, 24, 32, 1, 32, 2, 16, 183, 2, 32, 2, 65, 64, 107, 36, 0, 11, 11, 0, 32, 0, 40, 2, 0, 32, 1, 16, 114, 11, 226, 3, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 65, 1, 107, 14, 7, 2, 3, 4, 5, 6, 7, 0, 1, 11, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 192, 174, 192, 0, 54, 2, 8, 32, 2, 65, 42, 54, 2, 36, 32, 2, 32, 0, 65, 4, 106, 54, 2, 44, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 44, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 7, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 149, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 148, 184, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 6, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 149, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 128, 184, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 5, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 149, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 232, 183, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 4, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 149, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 188, 175, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 3, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 149, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 160, 175, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 2, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 149, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 192, 183, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 1, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 149, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 128, 175, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 11, 32, 2, 65, 48, 106, 36, 0, 11, 11, 0, 32, 0, 40, 2, 0, 32, 1, 16, 116, 11, 142, 2, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 65, 1, 107, 14, 3, 2, 3, 0, 1, 11, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 192, 174, 192, 0, 54, 2, 8, 32, 2, 65, 42, 54, 2, 36, 32, 2, 32, 0, 65, 4, 106, 54, 2, 44, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 44, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 3, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 149, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 188, 175, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 2, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 149, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 160, 175, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 1, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 149, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 128, 175, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 11, 32, 2, 65, 48, 106, 36, 0, 11, 233, 7, 1, 1, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 65, 1, 107, 14, 10, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1, 11, 32, 2, 65, 52, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 36, 32, 2, 65, 220, 177, 192, 0, 54, 2, 32, 32, 2, 65, 43, 54, 2, 12, 32, 2, 32, 0, 65, 4, 106, 54, 2, 60, 32, 2, 32, 2, 65, 8, 106, 54, 2, 48, 32, 2, 32, 2, 65, 60, 106, 54, 2, 8, 32, 1, 32, 2, 65, 32, 106, 16, 183, 2, 12, 10, 11, 32, 2, 65, 52, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 36, 32, 2, 65, 184, 180, 192, 0, 54, 2, 32, 32, 2, 65, 44, 54, 2, 12, 32, 2, 32, 0, 65, 4, 106, 54, 2, 60, 32, 2, 32, 2, 65, 8, 106, 54, 2, 48, 32, 2, 32, 2, 65, 60, 106, 54, 2, 8, 32, 1, 32, 2, 65, 32, 106, 16, 183, 2, 12, 9, 11, 32, 2, 65, 52, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 36, 32, 2, 65, 156, 180, 192, 0, 54, 2, 32, 32, 2, 65, 45, 54, 2, 12, 32, 2, 32, 0, 65, 4, 106, 54, 2, 60, 32, 2, 32, 2, 65, 8, 106, 54, 2, 48, 32, 2, 32, 2, 65, 60, 106, 54, 2, 8, 32, 1, 32, 2, 65, 32, 106, 16, 183, 2, 12, 8, 11, 32, 2, 65, 52, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 36, 32, 2, 65, 252, 179, 192, 0, 54, 2, 32, 32, 2, 65, 39, 54, 2, 12, 32, 2, 32, 0, 65, 4, 106, 54, 2, 60, 32, 2, 32, 2, 65, 8, 106, 54, 2, 48, 32, 2, 32, 2, 65, 60, 106, 54, 2, 8, 32, 1, 32, 2, 65, 32, 106, 16, 183, 2, 12, 7, 11, 32, 2, 65, 52, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 36, 32, 2, 65, 228, 179, 192, 0, 54, 2, 32, 32, 2, 65, 39, 54, 2, 12, 32, 2, 32, 0, 65, 4, 106, 54, 2, 60, 32, 2, 32, 2, 65, 8, 106, 54, 2, 48, 32, 2, 32, 2, 65, 60, 106, 54, 2, 8, 32, 1, 32, 2, 65, 32, 106, 16, 183, 2, 12, 6, 11, 32, 2, 65, 20, 106, 65, 46, 54, 2, 0, 32, 2, 65, 52, 106, 65, 2, 54, 2, 0, 32, 2, 32, 0, 65, 8, 106, 54, 2, 28, 32, 2, 66, 2, 55, 2, 36, 32, 2, 65, 188, 179, 192, 0, 54, 2, 32, 32, 2, 65, 46, 54, 2, 12, 32, 2, 32, 0, 65, 16, 106, 54, 2, 60, 32, 2, 32, 2, 65, 8, 106, 54, 2, 48, 32, 2, 32, 2, 65, 60, 106, 54, 2, 16, 32, 2, 32, 2, 65, 28, 106, 54, 2, 8, 32, 1, 32, 2, 65, 32, 106, 16, 183, 2, 12, 5, 11, 32, 2, 65, 52, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 36, 32, 2, 65, 144, 179, 192, 0, 54, 2, 32, 32, 2, 65, 39, 54, 2, 12, 32, 2, 32, 0, 65, 4, 106, 54, 2, 60, 32, 2, 32, 2, 65, 8, 106, 54, 2, 48, 32, 2, 32, 2, 65, 60, 106, 54, 2, 8, 32, 1, 32, 2, 65, 32, 106, 16, 183, 2, 12, 4, 11, 32, 2, 65, 52, 106, 65, 1, 54, 2, 0, 32, 2, 66, 2, 55, 2, 36, 32, 2, 65, 216, 178, 192, 0, 54, 2, 32, 32, 2, 65, 39, 54, 2, 12, 32, 2, 32, 0, 65, 4, 106, 54, 2, 60, 32, 2, 32, 2, 65, 8, 106, 54, 2, 48, 32, 2, 32, 2, 65, 60, 106, 54, 2, 8, 32, 1, 32, 2, 65, 32, 106, 16, 183, 2, 12, 3, 11, 32, 2, 65, 20, 106, 65, 39, 54, 2, 0, 32, 2, 65, 52, 106, 65, 2, 54, 2, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 28, 32, 2, 66, 2, 55, 2, 36, 32, 2, 65, 188, 178, 192, 0, 54, 2, 32, 32, 2, 65, 39, 54, 2, 12, 32, 2, 32, 0, 65, 16, 106, 54, 2, 60, 32, 2, 32, 2, 65, 8, 106, 54, 2, 48, 32, 2, 32, 2, 65, 60, 106, 54, 2, 16, 32, 2, 32, 2, 65, 28, 106, 54, 2, 8, 32, 1, 32, 2, 65, 32, 106, 16, 183, 2, 12, 2, 11, 32, 2, 65, 20, 106, 65, 39, 54, 2, 0, 32, 2, 65, 52, 106, 65, 2, 54, 2, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 28, 32, 2, 66, 2, 55, 2, 36, 32, 2, 65, 148, 178, 192, 0, 54, 2, 32, 32, 2, 65, 39, 54, 2, 12, 32, 2, 32, 0, 65, 16, 106, 54, 2, 60, 32, 2, 32, 2, 65, 8, 106, 54, 2, 48, 32, 2, 32, 2, 65, 60, 106, 54, 2, 16, 32, 2, 32, 2, 65, 28, 106, 54, 2, 8, 32, 1, 32, 2, 65, 32, 106, 16, 183, 2, 12, 1, 11, 32, 2, 65, 52, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 36, 32, 2, 65, 240, 177, 192, 0, 54, 2, 32, 32, 2, 65, 47, 54, 2, 12, 32, 2, 32, 0, 65, 4, 106, 54, 2, 60, 32, 2, 32, 2, 65, 8, 106, 54, 2, 48, 32, 2, 32, 2, 65, 60, 106, 54, 2, 8, 32, 1, 32, 2, 65, 32, 106, 16, 183, 2, 11, 32, 2, 65, 64, 107, 36, 0, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 155, 2, 11, 219, 3, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 33, 4, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 128, 1, 79, 4, 64, 32, 2, 65, 0, 54, 2, 16, 32, 1, 65, 128, 16, 73, 13, 1, 32, 2, 65, 16, 106, 33, 0, 32, 1, 65, 128, 128, 4, 73, 4, 64, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 18, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 16, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 17, 65, 3, 33, 1, 12, 5, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 19, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 16, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 18, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 17, 65, 4, 33, 1, 12, 4, 11, 32, 4, 40, 2, 8, 34, 0, 32, 4, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 4, 40, 2, 0, 33, 3, 12, 3, 11, 32, 0, 65, 1, 106, 34, 3, 32, 0, 73, 13, 1, 32, 0, 65, 1, 116, 34, 5, 32, 3, 32, 5, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 0, 69, 4, 64, 32, 2, 65, 0, 54, 2, 16, 12, 1, 11, 32, 2, 65, 24, 106, 65, 1, 54, 2, 0, 32, 2, 32, 0, 54, 2, 20, 32, 2, 32, 4, 40, 2, 0, 54, 2, 16, 11, 32, 2, 32, 3, 32, 2, 65, 16, 106, 16, 90, 32, 2, 65, 8, 106, 40, 2, 0, 33, 0, 32, 2, 40, 2, 4, 33, 3, 32, 2, 40, 2, 0, 65, 1, 71, 4, 64, 32, 4, 32, 3, 54, 2, 0, 32, 4, 65, 4, 106, 32, 0, 54, 2, 0, 32, 4, 40, 2, 8, 33, 0, 12, 3, 11, 32, 0, 69, 13, 1, 32, 3, 32, 0, 16, 138, 2, 0, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 17, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 16, 32, 2, 65, 16, 106, 33, 0, 65, 2, 33, 1, 12, 2, 11, 16, 139, 2, 0, 11, 32, 0, 32, 3, 106, 32, 1, 58, 0, 0, 32, 4, 32, 4, 40, 2, 8, 65, 1, 106, 54, 2, 8, 12, 1, 11, 32, 4, 32, 0, 32, 0, 32, 1, 106, 16, 89, 11, 32, 2, 65, 32, 106, 36, 0, 65, 0, 11, 90, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 164, 152, 192, 0, 32, 2, 65, 8, 106, 16, 156, 2, 32, 2, 65, 32, 106, 36, 0, 11, 18, 0, 32, 0, 40, 2, 0, 32, 1, 32, 1, 32, 2, 106, 16, 89, 65, 0, 11, 131, 2, 1, 1, 127, 35, 0, 65, 224, 0, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 4, 32, 3, 32, 1, 54, 2, 0, 32, 3, 65, 28, 106, 65, 1, 54, 2, 0, 32, 3, 66, 2, 55, 2, 12, 32, 3, 65, 232, 153, 192, 0, 54, 2, 8, 32, 3, 65, 48, 54, 2, 36, 32, 3, 32, 3, 65, 32, 106, 54, 2, 24, 32, 3, 32, 3, 54, 2, 32, 32, 3, 65, 0, 54, 2, 48, 32, 3, 66, 1, 55, 3, 40, 32, 3, 32, 3, 65, 8, 106, 54, 2, 52, 32, 3, 65, 49, 54, 2, 60, 32, 3, 32, 3, 65, 52, 106, 54, 2, 56, 32, 3, 32, 3, 65, 40, 106, 54, 2, 68, 32, 3, 65, 220, 0, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 76, 32, 3, 65, 128, 149, 192, 0, 54, 2, 72, 32, 3, 32, 3, 65, 56, 106, 54, 2, 88, 32, 3, 65, 196, 0, 106, 65, 164, 152, 192, 0, 32, 3, 65, 200, 0, 106, 16, 156, 2, 4, 64, 65, 136, 149, 192, 0, 65, 55, 32, 3, 65, 200, 0, 106, 65, 244, 152, 192, 0, 65, 140, 150, 192, 0, 16, 162, 2, 0, 11, 32, 0, 65, 12, 106, 32, 3, 65, 48, 106, 40, 2, 0, 54, 2, 0, 32, 0, 32, 3, 41, 3, 40, 55, 2, 4, 32, 0, 65, 20, 54, 2, 0, 32, 3, 65, 224, 0, 106, 36, 0, 11, 131, 2, 1, 1, 127, 35, 0, 65, 224, 0, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 4, 32, 3, 32, 1, 54, 2, 0, 32, 3, 65, 28, 106, 65, 1, 54, 2, 0, 32, 3, 66, 2, 55, 2, 12, 32, 3, 65, 140, 154, 192, 0, 54, 2, 8, 32, 3, 65, 48, 54, 2, 36, 32, 3, 32, 3, 65, 32, 106, 54, 2, 24, 32, 3, 32, 3, 54, 2, 32, 32, 3, 65, 0, 54, 2, 48, 32, 3, 66, 1, 55, 3, 40, 32, 3, 32, 3, 65, 8, 106, 54, 2, 52, 32, 3, 65, 49, 54, 2, 60, 32, 3, 32, 3, 65, 52, 106, 54, 2, 56, 32, 3, 32, 3, 65, 40, 106, 54, 2, 68, 32, 3, 65, 220, 0, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 76, 32, 3, 65, 128, 149, 192, 0, 54, 2, 72, 32, 3, 32, 3, 65, 56, 106, 54, 2, 88, 32, 3, 65, 196, 0, 106, 65, 164, 152, 192, 0, 32, 3, 65, 200, 0, 106, 16, 156, 2, 4, 64, 65, 136, 149, 192, 0, 65, 55, 32, 3, 65, 200, 0, 106, 65, 244, 152, 192, 0, 65, 140, 150, 192, 0, 16, 162, 2, 0, 11, 32, 0, 65, 12, 106, 32, 3, 65, 48, 106, 40, 2, 0, 54, 2, 0, 32, 0, 32, 3, 41, 3, 40, 55, 2, 4, 32, 0, 65, 20, 54, 2, 0, 32, 3, 65, 224, 0, 106, 36, 0, 11, 167, 2, 1, 1, 127, 35, 0, 65, 240, 0, 107, 34, 5, 36, 0, 32, 5, 32, 2, 54, 2, 4, 32, 5, 32, 1, 54, 2, 0, 32, 5, 65, 28, 106, 65, 2, 54, 2, 0, 32, 5, 65, 44, 106, 65, 10, 54, 2, 0, 32, 5, 66, 2, 55, 2, 12, 32, 5, 65, 188, 154, 192, 0, 54, 2, 8, 32, 5, 65, 48, 54, 2, 36, 32, 5, 32, 4, 54, 2, 52, 32, 5, 32, 3, 54, 2, 48, 32, 5, 32, 5, 65, 32, 106, 54, 2, 24, 32, 5, 32, 5, 65, 48, 106, 54, 2, 40, 32, 5, 32, 5, 54, 2, 32, 32, 5, 65, 0, 54, 2, 64, 32, 5, 66, 1, 55, 3, 56, 32, 5, 32, 5, 65, 8, 106, 54, 2, 68, 32, 5, 65, 49, 54, 2, 76, 32, 5, 32, 5, 65, 196, 0, 106, 54, 2, 72, 32, 5, 32, 5, 65, 56, 106, 54, 2, 84, 32, 5, 65, 236, 0, 106, 65, 1, 54, 2, 0, 32, 5, 66, 1, 55, 2, 92, 32, 5, 65, 128, 149, 192, 0, 54, 2, 88, 32, 5, 32, 5, 65, 200, 0, 106, 54, 2, 104, 32, 5, 65, 212, 0, 106, 65, 164, 152, 192, 0, 32, 5, 65, 216, 0, 106, 16, 156, 2, 4, 64, 65, 136, 149, 192, 0, 65, 55, 32, 5, 65, 216, 0, 106, 65, 244, 152, 192, 0, 65, 140, 150, 192, 0, 16, 162, 2, 0, 11, 32, 0, 65, 12, 106, 32, 5, 65, 64, 107, 40, 2, 0, 54, 2, 0, 32, 0, 32, 5, 41, 3, 56, 55, 2, 4, 32, 0, 65, 20, 54, 2, 0, 32, 5, 65, 240, 0, 106, 36, 0, 11, 181, 4, 1, 4, 127, 35, 0, 65, 208, 0, 107, 34, 2, 36, 0, 32, 2, 65, 16, 106, 32, 1, 40, 2, 0, 16, 181, 1, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 16, 65, 1, 113, 69, 4, 64, 65, 2, 33, 3, 12, 1, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 17, 34, 4, 34, 3, 65, 44, 71, 4, 64, 32, 3, 65, 253, 0, 70, 13, 3, 32, 1, 45, 0, 4, 13, 1, 65, 9, 33, 3, 12, 8, 11, 32, 1, 45, 0, 4, 69, 13, 1, 11, 32, 1, 65, 0, 58, 0, 4, 12, 2, 11, 32, 1, 40, 2, 0, 16, 175, 1, 32, 2, 65, 8, 106, 32, 1, 40, 2, 0, 16, 181, 1, 32, 2, 45, 0, 8, 65, 1, 113, 69, 13, 2, 32, 2, 45, 0, 9, 33, 4, 12, 1, 11, 32, 0, 65, 0, 59, 1, 0, 12, 6, 11, 32, 4, 65, 255, 1, 113, 34, 3, 65, 253, 0, 70, 13, 2, 32, 3, 65, 34, 71, 4, 64, 65, 16, 33, 3, 12, 4, 11, 32, 2, 32, 1, 40, 2, 0, 34, 3, 16, 181, 1, 32, 2, 45, 0, 0, 65, 1, 113, 13, 1, 11, 65, 4, 33, 3, 12, 2, 11, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 65, 14, 33, 3, 12, 2, 11, 32, 3, 16, 175, 1, 32, 2, 65, 40, 106, 32, 3, 16, 180, 1, 32, 2, 65, 52, 106, 40, 2, 0, 33, 5, 32, 2, 65, 48, 106, 40, 2, 0, 33, 4, 32, 2, 40, 2, 44, 33, 3, 32, 2, 40, 2, 40, 65, 1, 71, 4, 64, 32, 5, 69, 32, 3, 69, 32, 4, 69, 114, 114, 13, 3, 32, 4, 16, 226, 1, 12, 3, 11, 32, 3, 65, 21, 70, 13, 2, 32, 2, 65, 56, 106, 40, 2, 0, 33, 1, 12, 1, 11, 65, 19, 33, 3, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 12, 1, 11, 32, 2, 65, 40, 106, 32, 1, 40, 2, 0, 16, 179, 1, 32, 2, 65, 200, 0, 106, 34, 3, 32, 2, 65, 52, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 44, 55, 3, 64, 2, 64, 2, 64, 32, 2, 40, 2, 40, 34, 4, 65, 21, 71, 4, 64, 32, 2, 65, 36, 106, 32, 3, 40, 2, 0, 54, 2, 0, 32, 2, 32, 4, 54, 2, 24, 32, 2, 32, 2, 41, 3, 64, 55, 2, 28, 12, 1, 11, 32, 2, 65, 24, 106, 32, 1, 40, 2, 0, 16, 126, 32, 2, 40, 2, 24, 65, 21, 70, 13, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 32, 2, 41, 3, 24, 55, 2, 0, 32, 0, 65, 12, 106, 32, 2, 65, 32, 106, 41, 3, 0, 55, 2, 0, 12, 1, 11, 32, 0, 65, 128, 2, 59, 1, 0, 11, 32, 2, 65, 208, 0, 106, 36, 0, 11, 233, 8, 1, 4, 127, 35, 0, 65, 128, 1, 107, 34, 2, 36, 0, 32, 2, 65, 56, 106, 32, 1, 16, 181, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 56, 65, 1, 113, 4, 64, 2, 64, 2, 64, 32, 2, 45, 0, 57, 34, 3, 65, 165, 127, 106, 14, 35, 5, 1, 3, 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, 4, 1, 3, 0, 11, 32, 3, 65, 94, 106, 14, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 11, 32, 2, 65, 8, 106, 32, 1, 16, 182, 1, 32, 2, 45, 0, 8, 65, 1, 113, 4, 64, 32, 2, 45, 0, 9, 33, 3, 3, 64, 32, 3, 65, 44, 70, 32, 3, 65, 253, 0, 70, 114, 69, 65, 0, 32, 3, 65, 221, 0, 71, 27, 69, 4, 64, 32, 0, 65, 21, 54, 2, 0, 12, 8, 11, 32, 1, 16, 175, 1, 32, 2, 32, 1, 16, 182, 1, 32, 2, 45, 0, 1, 33, 3, 32, 2, 45, 0, 0, 65, 1, 113, 13, 0, 11, 11, 32, 0, 65, 3, 54, 2, 0, 12, 5, 11, 32, 0, 65, 4, 54, 2, 0, 12, 4, 11, 32, 0, 65, 11, 54, 2, 0, 12, 3, 11, 32, 2, 65, 48, 106, 32, 1, 16, 181, 1, 2, 64, 2, 64, 32, 2, 45, 0, 48, 65, 1, 113, 4, 64, 32, 2, 45, 0, 49, 65, 251, 0, 71, 13, 1, 32, 1, 16, 175, 1, 32, 2, 65, 40, 106, 32, 1, 16, 173, 1, 32, 2, 40, 2, 40, 33, 3, 32, 2, 32, 2, 45, 0, 44, 65, 1, 113, 58, 0, 100, 32, 2, 32, 3, 54, 2, 96, 2, 127, 3, 64, 32, 2, 65, 232, 0, 106, 32, 2, 65, 224, 0, 106, 16, 125, 32, 2, 45, 0, 104, 65, 1, 70, 4, 64, 32, 2, 65, 216, 0, 106, 32, 2, 65, 248, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 65, 240, 0, 106, 41, 3, 0, 55, 3, 80, 32, 2, 40, 2, 108, 12, 2, 11, 32, 2, 45, 0, 105, 13, 0, 11, 65, 21, 11, 33, 3, 32, 2, 65, 200, 0, 106, 34, 4, 32, 2, 65, 216, 0, 106, 34, 5, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 80, 55, 3, 64, 32, 3, 65, 21, 71, 13, 2, 32, 2, 65, 232, 0, 106, 32, 1, 16, 178, 1, 32, 5, 32, 2, 65, 244, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 108, 55, 3, 80, 32, 2, 40, 2, 104, 34, 1, 65, 21, 70, 4, 64, 32, 0, 65, 21, 54, 2, 0, 12, 6, 11, 32, 0, 32, 1, 54, 2, 0, 32, 0, 32, 2, 41, 3, 80, 55, 2, 4, 32, 0, 65, 12, 106, 32, 2, 65, 216, 0, 106, 40, 2, 0, 54, 2, 0, 12, 5, 11, 32, 0, 65, 4, 54, 2, 0, 12, 4, 11, 32, 0, 65, 14, 54, 2, 0, 12, 3, 11, 32, 0, 32, 3, 54, 2, 0, 32, 0, 32, 2, 41, 3, 64, 55, 2, 4, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 2, 11, 32, 2, 65, 32, 106, 32, 1, 16, 181, 1, 2, 64, 32, 2, 45, 0, 32, 65, 1, 113, 4, 64, 32, 2, 45, 0, 33, 65, 219, 0, 71, 4, 64, 32, 0, 65, 14, 54, 2, 0, 12, 4, 11, 32, 1, 16, 175, 1, 32, 2, 65, 24, 106, 32, 1, 16, 173, 1, 32, 2, 40, 2, 24, 33, 3, 32, 2, 32, 2, 45, 0, 28, 65, 1, 113, 58, 0, 100, 32, 2, 32, 3, 54, 2, 96, 2, 127, 3, 64, 32, 2, 65, 232, 0, 106, 32, 2, 65, 224, 0, 106, 16, 128, 1, 32, 2, 45, 0, 104, 65, 1, 70, 4, 64, 32, 2, 65, 216, 0, 106, 32, 2, 65, 248, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 65, 240, 0, 106, 41, 3, 0, 55, 3, 80, 32, 2, 40, 2, 108, 12, 2, 11, 32, 2, 45, 0, 105, 13, 0, 11, 65, 21, 11, 33, 3, 32, 2, 65, 200, 0, 106, 34, 4, 32, 2, 65, 216, 0, 106, 34, 5, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 3, 80, 55, 3, 64, 32, 3, 65, 21, 71, 13, 1, 32, 2, 65, 232, 0, 106, 32, 1, 16, 177, 1, 32, 5, 32, 2, 65, 244, 0, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 108, 55, 3, 80, 32, 2, 40, 2, 104, 34, 1, 65, 21, 70, 4, 64, 32, 0, 65, 21, 54, 2, 0, 12, 4, 11, 32, 0, 32, 1, 54, 2, 0, 32, 0, 32, 2, 41, 3, 80, 55, 2, 4, 32, 0, 65, 12, 106, 32, 2, 65, 216, 0, 106, 40, 2, 0, 54, 2, 0, 12, 3, 11, 32, 0, 65, 4, 54, 2, 0, 12, 2, 11, 32, 0, 32, 3, 54, 2, 0, 32, 0, 32, 2, 41, 3, 64, 55, 2, 4, 32, 0, 65, 12, 106, 32, 4, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 2, 65, 16, 106, 32, 1, 16, 181, 1, 2, 64, 32, 2, 45, 0, 16, 65, 1, 113, 4, 64, 32, 2, 45, 0, 17, 65, 34, 71, 4, 64, 32, 0, 65, 14, 54, 2, 0, 12, 3, 11, 32, 1, 16, 175, 1, 32, 2, 65, 232, 0, 106, 32, 1, 16, 180, 1, 32, 2, 65, 244, 0, 106, 40, 2, 0, 33, 3, 32, 2, 65, 240, 0, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 108, 33, 4, 32, 2, 40, 2, 104, 65, 1, 70, 13, 1, 32, 4, 4, 64, 32, 0, 65, 21, 54, 2, 0, 32, 1, 69, 32, 3, 69, 114, 13, 3, 32, 1, 16, 226, 1, 12, 3, 11, 32, 0, 65, 21, 54, 2, 0, 12, 2, 11, 32, 0, 65, 4, 54, 2, 0, 12, 1, 11, 32, 2, 65, 248, 0, 106, 40, 2, 0, 33, 5, 32, 0, 32, 1, 54, 2, 4, 32, 0, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 11, 32, 2, 65, 128, 1, 106, 36, 0, 11, 34, 0, 32, 0, 40, 2, 4, 32, 0, 65, 12, 106, 32, 0, 65, 8, 106, 32, 0, 40, 2, 0, 65, 1, 70, 27, 40, 2, 0, 32, 1, 16, 192, 2, 11, 207, 2, 1, 3, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 2, 65, 8, 106, 32, 1, 40, 2, 0, 16, 181, 1, 2, 64, 32, 2, 45, 0, 8, 65, 1, 113, 4, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 9, 34, 3, 34, 4, 65, 44, 71, 4, 64, 32, 4, 65, 221, 0, 71, 4, 64, 32, 1, 45, 0, 4, 69, 13, 4, 32, 1, 65, 0, 58, 0, 4, 12, 2, 11, 32, 0, 65, 0, 59, 1, 0, 12, 6, 11, 32, 1, 40, 2, 0, 16, 175, 1, 32, 2, 32, 1, 40, 2, 0, 16, 181, 1, 32, 2, 45, 0, 0, 65, 1, 113, 69, 13, 1, 32, 2, 45, 0, 1, 33, 3, 11, 32, 3, 65, 221, 0, 71, 13, 2, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 19, 54, 2, 0, 12, 4, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 12, 3, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 7, 54, 2, 0, 12, 2, 11, 32, 2, 65, 32, 106, 32, 1, 40, 2, 0, 16, 126, 32, 2, 65, 24, 106, 34, 1, 32, 2, 65, 44, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 41, 2, 36, 55, 3, 16, 32, 2, 40, 2, 32, 34, 3, 65, 21, 70, 4, 64, 32, 0, 65, 128, 2, 59, 1, 0, 12, 2, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 41, 3, 16, 55, 2, 0, 32, 0, 65, 16, 106, 32, 1, 40, 2, 0, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 1, 54, 2, 0, 11, 32, 2, 65, 48, 106, 36, 0, 11, 239, 1, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 181, 1, 2, 64, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 14, 54, 2, 0, 12, 3, 11, 32, 1, 16, 175, 1, 32, 2, 65, 8, 106, 32, 1, 16, 180, 1, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 2, 65, 20, 106, 40, 2, 0, 33, 3, 32, 2, 65, 16, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 12, 33, 5, 32, 2, 40, 2, 8, 65, 1, 70, 13, 1, 32, 5, 4, 64, 32, 0, 32, 1, 32, 4, 16, 130, 1, 32, 3, 69, 13, 3, 32, 1, 16, 226, 1, 12, 3, 11, 32, 0, 32, 1, 32, 3, 16, 130, 1, 12, 2, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 12, 1, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 1, 54, 2, 0, 32, 0, 65, 4, 106, 32, 5, 54, 2, 0, 11, 32, 2, 65, 32, 106, 36, 0, 11, 239, 1, 1, 1, 127, 35, 0, 65, 16, 107, 34, 3, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 121, 106, 14, 13, 4, 6, 6, 6, 6, 6, 6, 6, 2, 0, 6, 6, 1, 6, 11, 32, 1, 65, 139, 182, 192, 0, 65, 16, 16, 214, 2, 69, 13, 2, 32, 1, 65, 163, 182, 192, 0, 65, 16, 16, 214, 2, 13, 5, 32, 0, 65, 128, 4, 59, 1, 0, 12, 6, 11, 32, 1, 65, 190, 182, 192, 0, 65, 19, 16, 214, 2, 69, 13, 3, 12, 4, 11, 32, 1, 65, 240, 181, 192, 0, 65, 15, 16, 214, 2, 13, 3, 32, 0, 65, 0, 59, 1, 0, 12, 4, 11, 32, 0, 65, 128, 2, 59, 1, 0, 12, 3, 11, 32, 1, 65, 183, 182, 192, 0, 65, 7, 16, 214, 2, 13, 1, 32, 0, 65, 128, 6, 59, 1, 0, 12, 2, 11, 32, 0, 65, 128, 8, 59, 1, 0, 12, 1, 11, 32, 3, 32, 1, 32, 2, 65, 212, 182, 192, 0, 65, 5, 16, 124, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 12, 106, 32, 3, 65, 8, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 4, 106, 32, 3, 41, 3, 0, 55, 2, 0, 11, 32, 3, 65, 16, 106, 36, 0, 11, 220, 3, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 181, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 14, 54, 2, 0, 12, 6, 11, 32, 1, 16, 175, 1, 32, 2, 65, 8, 106, 32, 1, 16, 180, 1, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 2, 65, 20, 106, 40, 2, 0, 33, 3, 32, 2, 65, 16, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 12, 33, 5, 32, 2, 40, 2, 8, 65, 1, 70, 13, 1, 32, 5, 4, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 126, 106, 14, 4, 1, 7, 7, 0, 7, 11, 32, 1, 65, 255, 181, 192, 0, 65, 5, 16, 214, 2, 69, 13, 1, 12, 6, 11, 32, 1, 47, 0, 0, 65, 239, 214, 1, 71, 13, 5, 32, 0, 65, 0, 59, 1, 0, 12, 6, 11, 32, 0, 65, 128, 2, 59, 1, 0, 12, 5, 11, 2, 64, 2, 64, 2, 64, 32, 3, 65, 126, 106, 14, 4, 1, 5, 5, 0, 5, 11, 32, 1, 65, 255, 181, 192, 0, 65, 5, 16, 214, 2, 69, 13, 1, 12, 4, 11, 32, 1, 47, 0, 0, 65, 239, 214, 1, 71, 13, 3, 32, 0, 65, 0, 59, 1, 0, 12, 6, 11, 32, 0, 65, 128, 2, 59, 1, 0, 12, 5, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 12, 4, 11, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 1, 54, 2, 0, 32, 0, 65, 4, 106, 32, 5, 54, 2, 0, 12, 3, 11, 32, 2, 65, 8, 106, 32, 1, 32, 3, 65, 160, 184, 192, 0, 65, 2, 16, 124, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 12, 106, 32, 2, 65, 16, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 4, 106, 32, 2, 41, 3, 8, 55, 2, 0, 12, 2, 11, 32, 2, 65, 8, 106, 32, 1, 32, 4, 65, 160, 184, 192, 0, 65, 2, 16, 124, 32, 0, 65, 1, 58, 0, 0, 32, 0, 65, 12, 106, 32, 2, 65, 16, 106, 41, 3, 0, 55, 2, 0, 32, 0, 65, 4, 106, 32, 2, 41, 3, 8, 55, 2, 0, 11, 32, 3, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 2, 65, 32, 106, 36, 0, 11, 226, 1, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 1, 16, 181, 1, 2, 64, 2, 64, 32, 2, 45, 0, 0, 65, 1, 113, 4, 64, 32, 2, 45, 0, 1, 65, 34, 71, 4, 64, 32, 0, 66, 129, 128, 128, 128, 224, 1, 55, 2, 0, 12, 3, 11, 32, 1, 16, 175, 1, 32, 2, 65, 8, 106, 32, 1, 16, 180, 1, 32, 2, 65, 24, 106, 40, 2, 0, 33, 4, 32, 2, 65, 20, 106, 40, 2, 0, 33, 3, 32, 2, 65, 16, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 12, 33, 5, 32, 2, 40, 2, 8, 65, 1, 70, 13, 1, 32, 5, 4, 64, 32, 0, 32, 1, 32, 4, 16, 133, 1, 32, 3, 69, 13, 3, 32, 1, 16, 226, 1, 12, 3, 11, 32, 0, 32, 1, 32, 3, 16, 133, 1, 12, 2, 11, 32, 0, 66, 129, 128, 128, 128, 192, 0, 55, 2, 0, 12, 1, 11, 32, 0, 32, 5, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 16, 106, 32, 4, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 1, 54, 2, 0, 11, 32, 2, 65, 32, 106, 36, 0, 11, 251, 1, 1, 1, 127, 35, 0, 65, 224, 0, 107, 34, 3, 36, 0, 32, 3, 32, 2, 54, 2, 4, 32, 3, 32, 1, 54, 2, 0, 32, 3, 65, 8, 106, 32, 1, 32, 2, 16, 136, 1, 2, 64, 32, 3, 40, 2, 8, 65, 1, 70, 4, 64, 32, 3, 65, 212, 0, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 68, 32, 3, 65, 228, 163, 192, 0, 54, 2, 64, 32, 3, 65, 48, 54, 2, 92, 32, 3, 32, 3, 65, 216, 0, 106, 54, 2, 80, 32, 3, 32, 3, 54, 2, 88, 32, 3, 65, 48, 106, 32, 3, 65, 64, 107, 16, 140, 2, 32, 3, 65, 64, 107, 32, 3, 65, 48, 106, 16, 142, 2, 2, 64, 32, 3, 40, 2, 48, 34, 1, 69, 13, 0, 32, 3, 40, 2, 52, 69, 13, 0, 32, 1, 16, 226, 1, 11, 32, 0, 66, 129, 128, 128, 128, 192, 2, 55, 2, 0, 32, 0, 65, 8, 106, 32, 3, 41, 2, 64, 55, 2, 0, 32, 0, 65, 16, 106, 32, 3, 65, 200, 0, 106, 40, 2, 0, 54, 2, 0, 32, 3, 65, 16, 106, 16, 42, 12, 1, 11, 32, 0, 32, 3, 41, 2, 12, 55, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 65, 20, 106, 40, 2, 0, 54, 2, 0, 11, 32, 3, 65, 224, 0, 106, 36, 0, 11, 29, 0, 32, 1, 40, 2, 0, 69, 4, 64, 0, 11, 32, 0, 65, 196, 163, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 85, 1, 2, 127, 32, 1, 40, 2, 0, 33, 2, 32, 1, 65, 0, 54, 2, 0, 2, 64, 32, 2, 4, 64, 32, 1, 40, 2, 4, 33, 3, 65, 8, 65, 4, 16, 87, 34, 1, 69, 13, 1, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 0, 65, 196, 163, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 15, 11, 0, 11, 65, 8, 65, 4, 16, 138, 2, 0, 11, 233, 39, 2, 19, 127, 10, 126, 35, 0, 65, 224, 0, 107, 34, 8, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 32, 2, 65, 255, 255, 255, 255, 3, 113, 70, 4, 64, 32, 2, 65, 2, 116, 34, 7, 65, 3, 110, 33, 15, 2, 64, 32, 7, 69, 4, 64, 65, 1, 33, 14, 12, 1, 11, 32, 15, 65, 1, 16, 87, 34, 14, 69, 13, 2, 11, 32, 2, 16, 200, 1, 34, 10, 173, 66, 6, 126, 34, 22, 66, 32, 136, 167, 13, 2, 32, 22, 167, 34, 12, 4, 64, 2, 64, 32, 15, 32, 12, 79, 13, 0, 32, 15, 65, 1, 116, 34, 4, 32, 12, 32, 4, 32, 12, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 7, 69, 4, 64, 32, 8, 65, 0, 54, 2, 72, 12, 1, 11, 32, 8, 65, 208, 0, 106, 65, 1, 54, 2, 0, 32, 8, 32, 15, 54, 2, 76, 32, 8, 32, 14, 54, 2, 72, 11, 32, 8, 65, 48, 106, 32, 4, 32, 8, 65, 200, 0, 106, 16, 90, 32, 8, 65, 56, 106, 40, 2, 0, 33, 15, 32, 8, 40, 2, 52, 33, 14, 32, 8, 40, 2, 48, 65, 1, 71, 13, 0, 32, 15, 69, 13, 5, 32, 14, 32, 15, 16, 138, 2, 0, 11, 32, 14, 65, 0, 32, 12, 65, 127, 106, 34, 7, 16, 213, 2, 32, 7, 106, 65, 0, 58, 0, 0, 11, 65, 0, 33, 7, 65, 212, 217, 192, 0, 40, 2, 0, 33, 6, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 7, 113, 34, 11, 14, 6, 0, 1, 2, 3, 4, 1, 5, 11, 65, 8, 33, 11, 12, 4, 11, 66, 1, 33, 22, 32, 2, 69, 13, 16, 32, 1, 32, 2, 65, 127, 106, 34, 2, 106, 45, 0, 0, 34, 1, 65, 61, 70, 13, 16, 32, 1, 32, 6, 106, 45, 0, 0, 65, 255, 1, 71, 13, 16, 32, 1, 173, 66, 8, 134, 32, 2, 173, 66, 32, 134, 132, 33, 22, 12, 15, 11, 65, 10, 33, 11, 12, 2, 11, 65, 11, 33, 11, 12, 1, 11, 65, 12, 33, 11, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 65, 0, 32, 2, 32, 11, 107, 34, 4, 32, 4, 32, 2, 75, 27, 34, 11, 65, 96, 106, 34, 16, 32, 11, 75, 4, 64, 32, 10, 33, 4, 12, 1, 11, 3, 64, 32, 9, 65, 32, 106, 34, 7, 32, 9, 73, 13, 2, 32, 7, 32, 2, 75, 13, 13, 32, 13, 65, 26, 106, 34, 4, 32, 13, 73, 13, 3, 32, 4, 32, 12, 75, 13, 14, 2, 64, 2, 64, 32, 6, 32, 1, 32, 9, 106, 34, 4, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 13, 0, 32, 6, 32, 4, 65, 1, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 23, 66, 255, 1, 81, 4, 64, 32, 9, 65, 1, 106, 33, 9, 12, 1, 11, 32, 6, 32, 4, 65, 2, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 24, 66, 255, 1, 81, 4, 64, 32, 9, 65, 2, 106, 33, 9, 12, 1, 11, 32, 6, 32, 4, 65, 3, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 25, 66, 255, 1, 81, 4, 64, 32, 9, 65, 3, 106, 33, 9, 12, 1, 11, 32, 6, 32, 4, 65, 4, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 26, 66, 255, 1, 81, 4, 64, 32, 9, 65, 4, 106, 33, 9, 12, 1, 11, 32, 6, 32, 4, 65, 5, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 27, 66, 255, 1, 81, 4, 64, 32, 9, 65, 5, 106, 33, 9, 12, 1, 11, 32, 6, 32, 4, 65, 6, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 28, 66, 255, 1, 81, 4, 64, 32, 9, 65, 6, 106, 33, 9, 12, 1, 11, 32, 6, 32, 4, 65, 7, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 29, 66, 255, 1, 82, 13, 1, 32, 9, 65, 7, 106, 33, 9, 11, 32, 9, 173, 66, 32, 134, 32, 3, 173, 66, 8, 134, 132, 33, 22, 12, 21, 11, 32, 13, 32, 14, 106, 34, 18, 32, 23, 66, 52, 134, 32, 22, 66, 58, 134, 132, 32, 24, 66, 46, 134, 132, 32, 25, 66, 40, 134, 132, 32, 26, 66, 34, 134, 132, 32, 27, 66, 28, 134, 132, 32, 28, 66, 22, 134, 132, 32, 29, 66, 16, 134, 132, 34, 22, 66, 56, 134, 32, 22, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 32, 22, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 22, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 22, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 22, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 22, 66, 40, 136, 66, 128, 254, 3, 131, 32, 22, 66, 56, 136, 132, 132, 132, 55, 0, 0, 65, 8, 33, 5, 2, 64, 2, 64, 32, 6, 32, 4, 65, 8, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 13, 0, 65, 9, 33, 5, 32, 6, 32, 4, 65, 9, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 23, 66, 255, 1, 81, 13, 0, 65, 10, 33, 5, 32, 6, 32, 4, 65, 10, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 24, 66, 255, 1, 81, 13, 0, 65, 11, 33, 5, 32, 6, 32, 4, 65, 11, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 25, 66, 255, 1, 81, 13, 0, 65, 12, 33, 5, 32, 6, 32, 4, 65, 12, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 26, 66, 255, 1, 81, 13, 0, 65, 13, 33, 5, 32, 6, 32, 4, 65, 13, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 27, 66, 255, 1, 81, 13, 0, 65, 14, 33, 5, 32, 6, 32, 4, 65, 14, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 28, 66, 255, 1, 81, 13, 0, 65, 15, 33, 5, 32, 6, 32, 4, 65, 15, 106, 45, 0, 0, 34, 3, 106, 49, 0, 0, 34, 29, 66, 255, 1, 82, 13, 1, 11, 32, 5, 32, 9, 106, 173, 66, 32, 134, 32, 3, 173, 66, 8, 134, 132, 33, 22, 12, 21, 11, 32, 18, 65, 6, 106, 32, 23, 66, 52, 134, 32, 22, 66, 58, 134, 132, 32, 24, 66, 46, 134, 132, 32, 25, 66, 40, 134, 132, 32, 26, 66, 34, 134, 132, 32, 27, 66, 28, 134, 132, 32, 28, 66, 22, 134, 132, 32, 29, 66, 16, 134, 132, 34, 22, 66, 56, 134, 32, 22, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 32, 22, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 22, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 22, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 22, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 22, 66, 40, 136, 66, 128, 254, 3, 131, 32, 22, 66, 56, 136, 132, 132, 132, 55, 0, 0, 65, 16, 33, 3, 2, 64, 2, 64, 32, 6, 32, 4, 65, 16, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 13, 0, 65, 17, 33, 3, 32, 6, 32, 4, 65, 17, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 23, 66, 255, 1, 81, 13, 0, 65, 18, 33, 3, 32, 6, 32, 4, 65, 18, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 24, 66, 255, 1, 81, 13, 0, 65, 19, 33, 3, 32, 6, 32, 4, 65, 19, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 25, 66, 255, 1, 81, 13, 0, 65, 20, 33, 3, 32, 6, 32, 4, 65, 20, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 26, 66, 255, 1, 81, 13, 0, 65, 21, 33, 3, 32, 6, 32, 4, 65, 21, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 27, 66, 255, 1, 81, 13, 0, 65, 22, 33, 3, 32, 6, 32, 4, 65, 22, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 28, 66, 255, 1, 81, 13, 0, 65, 23, 33, 3, 32, 6, 32, 4, 65, 23, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 29, 66, 255, 1, 82, 13, 1, 11, 32, 3, 32, 9, 106, 173, 66, 32, 134, 32, 5, 173, 66, 8, 134, 132, 33, 22, 12, 21, 11, 32, 18, 65, 12, 106, 32, 23, 66, 52, 134, 32, 22, 66, 58, 134, 132, 32, 24, 66, 46, 134, 132, 32, 25, 66, 40, 134, 132, 32, 26, 66, 34, 134, 132, 32, 27, 66, 28, 134, 132, 32, 28, 66, 22, 134, 132, 32, 29, 66, 16, 134, 132, 34, 22, 66, 56, 134, 32, 22, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 32, 22, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 22, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 22, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 22, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 22, 66, 40, 136, 66, 128, 254, 3, 131, 32, 22, 66, 56, 136, 132, 132, 132, 55, 0, 0, 65, 24, 33, 3, 2, 64, 2, 64, 32, 6, 32, 4, 65, 24, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 13, 0, 65, 25, 33, 3, 32, 6, 32, 4, 65, 25, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 23, 66, 255, 1, 81, 13, 0, 65, 26, 33, 3, 32, 6, 32, 4, 65, 26, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 24, 66, 255, 1, 81, 13, 0, 65, 27, 33, 3, 32, 6, 32, 4, 65, 27, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 25, 66, 255, 1, 81, 13, 0, 65, 28, 33, 3, 32, 6, 32, 4, 65, 28, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 26, 66, 255, 1, 81, 13, 0, 65, 29, 33, 3, 32, 6, 32, 4, 65, 29, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 27, 66, 255, 1, 81, 13, 0, 65, 30, 33, 3, 32, 6, 32, 4, 65, 30, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 28, 66, 255, 1, 81, 13, 0, 65, 31, 33, 3, 32, 6, 32, 4, 65, 31, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 29, 66, 255, 1, 82, 13, 1, 11, 32, 3, 32, 9, 106, 173, 66, 32, 134, 32, 5, 173, 66, 8, 134, 132, 33, 22, 12, 21, 11, 32, 18, 65, 18, 106, 32, 23, 66, 52, 134, 32, 22, 66, 58, 134, 132, 32, 24, 66, 46, 134, 132, 32, 25, 66, 40, 134, 132, 32, 26, 66, 34, 134, 132, 32, 27, 66, 28, 134, 132, 32, 28, 66, 22, 134, 132, 32, 29, 66, 16, 134, 132, 34, 22, 66, 56, 134, 32, 22, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 32, 22, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 22, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 22, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 22, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 22, 66, 40, 136, 66, 128, 254, 3, 131, 32, 22, 66, 56, 136, 132, 132, 132, 55, 0, 0, 32, 10, 65, 124, 106, 34, 4, 32, 10, 75, 13, 4, 32, 13, 65, 24, 106, 33, 13, 32, 4, 33, 10, 32, 7, 34, 9, 32, 16, 77, 13, 0, 11, 11, 32, 7, 32, 11, 65, 120, 106, 34, 9, 79, 32, 9, 32, 11, 75, 114, 13, 16, 3, 64, 32, 7, 65, 8, 106, 34, 3, 32, 7, 73, 13, 4, 32, 3, 32, 2, 75, 13, 14, 32, 13, 65, 6, 106, 34, 11, 32, 13, 73, 13, 5, 32, 11, 65, 2, 106, 34, 10, 32, 11, 73, 13, 6, 32, 10, 32, 13, 73, 13, 15, 32, 10, 32, 12, 75, 13, 16, 2, 64, 2, 64, 32, 6, 32, 1, 32, 7, 106, 34, 10, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 13, 0, 32, 6, 32, 10, 65, 1, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 23, 66, 255, 1, 81, 4, 64, 32, 7, 65, 1, 106, 33, 7, 12, 1, 11, 32, 6, 32, 10, 65, 2, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 24, 66, 255, 1, 81, 4, 64, 32, 7, 65, 2, 106, 33, 7, 12, 1, 11, 32, 6, 32, 10, 65, 3, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 25, 66, 255, 1, 81, 4, 64, 32, 7, 65, 3, 106, 33, 7, 12, 1, 11, 32, 6, 32, 10, 65, 4, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 26, 66, 255, 1, 81, 4, 64, 32, 7, 65, 4, 106, 33, 7, 12, 1, 11, 32, 6, 32, 10, 65, 5, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 27, 66, 255, 1, 81, 4, 64, 32, 7, 65, 5, 106, 33, 7, 12, 1, 11, 32, 6, 32, 10, 65, 6, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 28, 66, 255, 1, 81, 4, 64, 32, 7, 65, 6, 106, 33, 7, 12, 1, 11, 32, 6, 32, 10, 65, 7, 106, 45, 0, 0, 34, 5, 106, 49, 0, 0, 34, 29, 66, 255, 1, 82, 13, 1, 32, 7, 65, 7, 106, 33, 7, 11, 32, 7, 173, 66, 32, 134, 32, 5, 173, 66, 8, 134, 132, 33, 22, 12, 20, 11, 32, 13, 32, 14, 106, 32, 23, 66, 52, 134, 32, 22, 66, 58, 134, 132, 32, 24, 66, 46, 134, 132, 32, 25, 66, 40, 134, 132, 32, 26, 66, 34, 134, 132, 32, 27, 66, 28, 134, 132, 32, 28, 66, 22, 134, 132, 32, 29, 66, 16, 134, 132, 34, 22, 66, 56, 134, 32, 22, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 32, 22, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 22, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 22, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 22, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 22, 66, 40, 136, 66, 128, 254, 3, 131, 32, 22, 66, 56, 136, 132, 132, 132, 55, 0, 0, 32, 4, 65, 127, 106, 34, 5, 32, 4, 75, 13, 7, 32, 5, 33, 4, 32, 3, 33, 7, 32, 11, 33, 13, 32, 3, 32, 9, 73, 13, 0, 11, 12, 17, 11, 65, 128, 151, 192, 0, 65, 28, 65, 244, 157, 192, 0, 16, 147, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 148, 158, 192, 0, 16, 147, 2, 0, 11, 65, 208, 157, 192, 0, 65, 33, 65, 180, 158, 192, 0, 16, 147, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 196, 158, 192, 0, 16, 147, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 228, 158, 192, 0, 16, 147, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 244, 158, 192, 0, 16, 147, 2, 0, 11, 65, 208, 157, 192, 0, 65, 33, 65, 148, 159, 192, 0, 16, 147, 2, 0, 11, 65, 208, 152, 192, 0, 65, 33, 65, 180, 157, 192, 0, 16, 147, 2, 0, 11, 32, 15, 65, 1, 16, 138, 2, 0, 11, 65, 208, 161, 192, 0, 65, 46, 65, 128, 162, 192, 0, 16, 160, 2, 0, 11, 16, 139, 2, 0, 11, 32, 7, 32, 2, 65, 132, 158, 192, 0, 16, 148, 2, 0, 11, 32, 4, 32, 12, 65, 164, 158, 192, 0, 16, 148, 2, 0, 11, 32, 3, 32, 2, 65, 212, 158, 192, 0, 16, 148, 2, 0, 11, 32, 13, 32, 10, 65, 132, 159, 192, 0, 16, 152, 2, 0, 11, 32, 10, 32, 12, 65, 132, 159, 192, 0, 16, 148, 2, 0, 11, 32, 4, 33, 5, 32, 7, 33, 3, 32, 13, 33, 11, 11, 32, 5, 65, 1, 32, 5, 65, 1, 75, 27, 33, 4, 65, 0, 32, 3, 107, 33, 9, 32, 2, 173, 33, 24, 32, 3, 173, 33, 23, 3, 64, 32, 4, 65, 127, 106, 34, 4, 69, 4, 64, 2, 64, 2, 64, 32, 3, 32, 2, 77, 4, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 32, 3, 70, 4, 64, 65, 0, 33, 1, 65, 0, 33, 16, 66, 0, 33, 24, 65, 0, 33, 2, 66, 0, 33, 25, 12, 1, 11, 32, 1, 32, 2, 106, 33, 19, 32, 1, 32, 3, 106, 33, 9, 66, 0, 33, 24, 65, 0, 33, 7, 65, 0, 33, 5, 65, 0, 33, 4, 65, 0, 33, 16, 65, 0, 33, 10, 3, 64, 32, 19, 32, 9, 107, 33, 20, 65, 0, 33, 2, 2, 64, 2, 64, 3, 64, 32, 2, 32, 10, 106, 34, 17, 65, 1, 106, 34, 18, 32, 17, 73, 13, 13, 32, 2, 32, 4, 106, 33, 13, 32, 2, 32, 9, 106, 34, 21, 45, 0, 0, 34, 1, 65, 61, 71, 13, 1, 32, 17, 65, 2, 113, 69, 4, 64, 32, 3, 32, 5, 32, 17, 32, 2, 32, 4, 106, 65, 0, 74, 27, 106, 34, 1, 32, 3, 73, 13, 6, 32, 1, 173, 66, 32, 134, 66, 128, 250, 0, 132, 33, 22, 12, 18, 11, 32, 13, 65, 1, 106, 32, 13, 72, 13, 6, 32, 5, 32, 17, 32, 13, 27, 33, 5, 32, 20, 32, 2, 65, 1, 106, 34, 2, 71, 13, 0, 11, 32, 7, 33, 1, 12, 1, 11, 32, 13, 65, 0, 74, 13, 12, 32, 16, 65, 10, 70, 13, 5, 32, 1, 32, 6, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 4, 64, 32, 3, 32, 17, 106, 34, 2, 32, 3, 73, 13, 7, 32, 1, 173, 66, 8, 134, 32, 2, 173, 66, 32, 134, 132, 33, 22, 12, 16, 11, 32, 9, 65, 127, 115, 32, 21, 65, 1, 106, 33, 9, 32, 22, 32, 16, 65, 1, 106, 34, 16, 65, 122, 108, 65, 62, 113, 173, 134, 32, 24, 132, 33, 24, 32, 1, 33, 7, 32, 13, 33, 4, 32, 18, 33, 10, 32, 19, 106, 32, 2, 71, 13, 1, 11, 11, 66, 0, 33, 25, 65, 0, 33, 2, 2, 126, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 16, 14, 9, 8, 0, 1, 2, 3, 0, 4, 5, 6, 0, 11, 32, 8, 65, 220, 0, 106, 65, 1, 54, 2, 0, 32, 8, 66, 1, 55, 2, 76, 32, 8, 65, 208, 153, 192, 0, 54, 2, 72, 32, 8, 65, 48, 54, 2, 36, 32, 8, 65, 152, 161, 192, 0, 54, 2, 32, 32, 8, 32, 8, 65, 32, 106, 54, 2, 88, 32, 8, 65, 200, 0, 106, 65, 160, 161, 192, 0, 16, 151, 2, 0, 11, 66, 8, 12, 5, 11, 66, 16, 12, 4, 11, 66, 24, 12, 3, 11, 66, 32, 12, 2, 11, 66, 40, 12, 1, 11, 66, 48, 11, 33, 25, 65, 1, 33, 2, 11, 32, 24, 32, 25, 134, 80, 4, 64, 32, 2, 4, 64, 32, 11, 32, 12, 32, 11, 32, 12, 75, 27, 33, 1, 66, 0, 33, 23, 66, 56, 33, 22, 3, 64, 32, 1, 32, 11, 70, 13, 9, 32, 11, 32, 14, 106, 32, 24, 32, 22, 136, 60, 0, 0, 32, 22, 66, 120, 124, 33, 22, 32, 11, 65, 1, 106, 33, 11, 32, 23, 66, 8, 124, 34, 23, 32, 25, 84, 13, 0, 11, 11, 32, 12, 32, 11, 32, 12, 32, 11, 73, 27, 33, 12, 12, 15, 11, 32, 3, 32, 16, 106, 34, 2, 32, 3, 73, 13, 4, 32, 2, 65, 127, 106, 34, 7, 32, 2, 75, 13, 5, 32, 1, 173, 66, 255, 1, 131, 66, 8, 134, 32, 7, 173, 66, 32, 134, 132, 66, 2, 132, 33, 22, 12, 12, 11, 65, 128, 151, 192, 0, 65, 28, 65, 244, 159, 192, 0, 16, 147, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 132, 160, 192, 0, 16, 147, 2, 0, 11, 65, 208, 157, 192, 0, 65, 33, 65, 164, 160, 192, 0, 16, 147, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 180, 160, 192, 0, 16, 147, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 176, 161, 192, 0, 16, 147, 2, 0, 11, 65, 208, 157, 192, 0, 65, 33, 65, 176, 161, 192, 0, 16, 147, 2, 0, 11, 32, 1, 32, 12, 65, 192, 161, 192, 0, 16, 146, 2, 0, 11, 32, 3, 32, 2, 65, 228, 159, 192, 0, 16, 153, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 148, 153, 192, 0, 16, 147, 2, 0, 11, 32, 3, 32, 5, 106, 34, 1, 32, 3, 79, 4, 64, 32, 1, 173, 66, 32, 134, 66, 128, 250, 0, 132, 33, 22, 12, 3, 11, 65, 128, 151, 192, 0, 65, 28, 65, 148, 160, 192, 0, 16, 147, 2, 0, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 23, 32, 24, 88, 4, 64, 32, 11, 65, 6, 106, 34, 7, 32, 11, 79, 4, 64, 32, 7, 32, 12, 75, 13, 2, 2, 64, 2, 64, 2, 64, 32, 2, 32, 3, 71, 4, 64, 32, 6, 32, 1, 32, 3, 106, 34, 10, 45, 0, 0, 34, 7, 106, 49, 0, 0, 34, 22, 66, 255, 1, 81, 13, 8, 32, 2, 32, 9, 106, 34, 5, 65, 2, 73, 13, 1, 32, 6, 32, 10, 65, 1, 106, 45, 0, 0, 34, 7, 106, 49, 0, 0, 34, 25, 66, 255, 1, 82, 13, 3, 32, 3, 65, 1, 106, 34, 1, 32, 3, 73, 13, 2, 32, 1, 173, 33, 23, 12, 8, 11, 65, 0, 65, 0, 65, 196, 155, 192, 0, 16, 146, 2, 0, 11, 65, 1, 65, 1, 65, 212, 155, 192, 0, 16, 146, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 228, 155, 192, 0, 16, 147, 2, 0, 11, 32, 5, 65, 2, 75, 13, 3, 65, 2, 65, 2, 65, 244, 155, 192, 0, 16, 146, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 180, 159, 192, 0, 16, 147, 2, 0, 11, 32, 3, 32, 2, 65, 164, 159, 192, 0, 16, 153, 2, 0, 11, 32, 7, 32, 12, 65, 196, 159, 192, 0, 16, 148, 2, 0, 11, 32, 6, 32, 10, 65, 2, 106, 45, 0, 0, 34, 7, 106, 49, 0, 0, 34, 26, 66, 255, 1, 81, 4, 64, 32, 3, 65, 2, 106, 34, 1, 32, 3, 79, 4, 64, 32, 1, 173, 33, 23, 12, 2, 11, 65, 128, 151, 192, 0, 65, 28, 65, 132, 156, 192, 0, 16, 147, 2, 0, 11, 32, 5, 65, 3, 77, 4, 64, 65, 3, 65, 3, 65, 148, 156, 192, 0, 16, 146, 2, 0, 11, 32, 6, 32, 10, 65, 3, 106, 45, 0, 0, 34, 7, 106, 49, 0, 0, 34, 27, 66, 255, 1, 81, 4, 64, 32, 3, 65, 3, 106, 34, 1, 32, 3, 79, 4, 64, 32, 1, 173, 33, 23, 12, 2, 11, 65, 128, 151, 192, 0, 65, 28, 65, 164, 156, 192, 0, 16, 147, 2, 0, 11, 32, 5, 65, 4, 77, 4, 64, 65, 4, 65, 4, 65, 180, 156, 192, 0, 16, 146, 2, 0, 11, 32, 6, 32, 10, 65, 4, 106, 45, 0, 0, 34, 7, 106, 49, 0, 0, 34, 28, 66, 255, 1, 81, 4, 64, 32, 3, 65, 4, 106, 34, 1, 32, 3, 79, 4, 64, 32, 1, 173, 33, 23, 12, 2, 11, 65, 128, 151, 192, 0, 65, 28, 65, 196, 156, 192, 0, 16, 147, 2, 0, 11, 32, 5, 65, 5, 77, 4, 64, 65, 5, 65, 5, 65, 212, 156, 192, 0, 16, 146, 2, 0, 11, 32, 6, 32, 10, 65, 5, 106, 45, 0, 0, 34, 7, 106, 49, 0, 0, 34, 29, 66, 255, 1, 81, 4, 64, 32, 3, 65, 5, 106, 34, 1, 32, 3, 79, 4, 64, 32, 1, 173, 33, 23, 12, 2, 11, 65, 128, 151, 192, 0, 65, 28, 65, 228, 156, 192, 0, 16, 147, 2, 0, 11, 32, 5, 65, 6, 77, 4, 64, 65, 6, 65, 6, 65, 244, 156, 192, 0, 16, 146, 2, 0, 11, 32, 6, 32, 10, 65, 6, 106, 45, 0, 0, 34, 7, 106, 49, 0, 0, 34, 30, 66, 255, 1, 81, 4, 64, 32, 3, 65, 6, 106, 34, 1, 32, 3, 79, 4, 64, 32, 1, 173, 33, 23, 12, 2, 11, 65, 128, 151, 192, 0, 65, 28, 65, 132, 157, 192, 0, 16, 147, 2, 0, 11, 32, 5, 65, 7, 77, 4, 64, 65, 7, 65, 7, 65, 148, 157, 192, 0, 16, 146, 2, 0, 11, 32, 6, 32, 10, 65, 7, 106, 45, 0, 0, 34, 7, 106, 49, 0, 0, 34, 31, 66, 255, 1, 82, 13, 2, 32, 3, 65, 7, 106, 34, 1, 32, 3, 73, 13, 1, 32, 1, 173, 33, 23, 11, 32, 23, 66, 32, 134, 32, 7, 173, 66, 8, 134, 132, 33, 22, 12, 3, 11, 65, 128, 151, 192, 0, 65, 28, 65, 164, 157, 192, 0, 16, 147, 2, 0, 11, 32, 9, 65, 120, 106, 33, 9, 32, 23, 66, 8, 124, 33, 23, 32, 11, 32, 14, 106, 34, 7, 65, 4, 106, 32, 25, 66, 52, 134, 32, 22, 66, 58, 134, 132, 32, 26, 66, 46, 134, 132, 32, 27, 66, 40, 134, 132, 32, 28, 66, 34, 134, 132, 32, 29, 66, 28, 134, 132, 32, 30, 66, 22, 134, 132, 32, 31, 66, 16, 134, 132, 34, 22, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 22, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 66, 32, 136, 61, 0, 0, 32, 7, 32, 22, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 22, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 22, 66, 40, 136, 66, 128, 254, 3, 131, 32, 22, 66, 56, 136, 132, 132, 62, 0, 0, 32, 11, 65, 6, 106, 33, 11, 32, 3, 65, 8, 106, 34, 3, 65, 120, 106, 65, 119, 77, 13, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 212, 159, 192, 0, 16, 147, 2, 0, 11, 32, 22, 167, 65, 255, 1, 113, 65, 3, 70, 13, 1, 32, 22, 66, 128, 126, 131, 33, 23, 11, 32, 15, 69, 32, 14, 69, 114, 69, 4, 64, 32, 14, 16, 226, 1, 11, 32, 8, 32, 22, 66, 255, 1, 131, 32, 23, 132, 55, 3, 40, 32, 8, 65, 0, 54, 2, 56, 32, 8, 66, 1, 55, 3, 48, 32, 8, 32, 8, 65, 40, 106, 54, 2, 64, 32, 8, 65, 50, 54, 2, 36, 32, 8, 32, 8, 65, 64, 107, 54, 2, 32, 32, 8, 32, 8, 65, 48, 106, 54, 2, 68, 32, 8, 65, 220, 0, 106, 65, 1, 54, 2, 0, 32, 8, 66, 1, 55, 2, 76, 32, 8, 65, 128, 149, 192, 0, 54, 2, 72, 32, 8, 32, 8, 65, 32, 106, 54, 2, 88, 32, 8, 65, 196, 0, 106, 65, 164, 152, 192, 0, 32, 8, 65, 200, 0, 106, 16, 156, 2, 69, 13, 1, 65, 136, 149, 192, 0, 65, 55, 32, 8, 65, 200, 0, 106, 65, 244, 152, 192, 0, 65, 140, 150, 192, 0, 16, 162, 2, 0, 11, 32, 0, 65, 12, 106, 32, 12, 54, 2, 0, 32, 0, 65, 8, 106, 32, 15, 54, 2, 0, 32, 0, 32, 14, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 12, 1, 11, 32, 8, 65, 8, 106, 34, 1, 32, 8, 65, 208, 0, 106, 41, 3, 0, 55, 3, 0, 32, 8, 32, 8, 41, 3, 72, 55, 3, 0, 32, 8, 40, 2, 48, 33, 2, 32, 0, 65, 16, 106, 32, 8, 41, 2, 52, 55, 3, 0, 32, 0, 65, 12, 106, 32, 2, 54, 2, 0, 32, 0, 65, 8, 106, 65, 3, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 24, 106, 32, 8, 41, 3, 0, 55, 2, 0, 32, 0, 65, 32, 106, 32, 1, 41, 3, 0, 55, 2, 0, 11, 32, 8, 65, 224, 0, 106, 36, 0, 11, 226, 1, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 1, 40, 2, 0, 33, 4, 32, 2, 32, 1, 40, 2, 8, 34, 5, 16, 198, 1, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 0, 4, 64, 32, 2, 40, 2, 4, 34, 1, 65, 127, 76, 13, 1, 65, 1, 33, 3, 32, 1, 4, 64, 32, 1, 16, 231, 1, 34, 3, 69, 13, 3, 11, 32, 4, 32, 5, 32, 3, 32, 1, 16, 197, 1, 32, 2, 65, 8, 106, 32, 3, 32, 1, 16, 195, 2, 32, 2, 40, 2, 8, 65, 1, 70, 13, 3, 32, 0, 32, 1, 54, 2, 8, 32, 0, 32, 1, 54, 2, 4, 32, 0, 32, 3, 54, 2, 0, 32, 2, 65, 32, 106, 36, 0, 15, 11, 65, 132, 163, 192, 0, 65, 45, 65, 180, 163, 192, 0, 16, 93, 0, 11, 16, 139, 2, 0, 11, 32, 1, 65, 1, 16, 138, 2, 0, 11, 32, 2, 32, 2, 41, 2, 12, 55, 2, 20, 32, 2, 32, 1, 54, 2, 16, 32, 2, 32, 1, 54, 2, 12, 32, 2, 32, 3, 54, 2, 8, 65, 229, 162, 192, 0, 65, 12, 32, 2, 65, 8, 106, 65, 132, 153, 192, 0, 65, 244, 162, 192, 0, 16, 162, 2, 0, 11, 22, 0, 32, 0, 32, 1, 40, 2, 8, 54, 2, 4, 32, 0, 32, 1, 40, 2, 0, 54, 2, 0, 11, 28, 0, 32, 0, 32, 1, 41, 2, 0, 55, 2, 0, 32, 0, 65, 8, 106, 32, 1, 65, 8, 106, 40, 2, 0, 54, 2, 0, 11, 188, 4, 1, 1, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 65, 1, 107, 14, 4, 2, 3, 4, 0, 1, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 8, 32, 2, 65, 60, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 44, 32, 2, 65, 132, 164, 192, 0, 54, 2, 40, 32, 2, 65, 39, 54, 2, 28, 32, 2, 32, 2, 65, 24, 106, 54, 2, 56, 32, 2, 32, 2, 65, 8, 106, 54, 2, 24, 32, 1, 32, 2, 65, 40, 106, 16, 183, 2, 33, 0, 12, 4, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 4, 32, 2, 65, 24, 106, 32, 0, 65, 16, 106, 40, 2, 0, 32, 0, 65, 24, 106, 40, 2, 0, 16, 141, 2, 32, 2, 65, 20, 106, 65, 51, 54, 2, 0, 32, 2, 65, 60, 106, 65, 2, 54, 2, 0, 32, 2, 65, 39, 54, 2, 12, 32, 2, 66, 2, 55, 2, 44, 32, 2, 65, 136, 165, 192, 0, 54, 2, 40, 32, 2, 32, 2, 65, 24, 106, 54, 2, 16, 32, 2, 32, 2, 65, 4, 106, 54, 2, 8, 32, 2, 32, 2, 65, 8, 106, 54, 2, 56, 32, 1, 32, 2, 65, 40, 106, 16, 183, 2, 33, 0, 32, 2, 40, 2, 24, 69, 13, 3, 32, 2, 40, 2, 28, 34, 1, 69, 13, 3, 32, 2, 65, 32, 106, 40, 2, 0, 69, 13, 3, 32, 1, 16, 226, 1, 12, 3, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 4, 32, 2, 65, 24, 106, 32, 0, 65, 16, 106, 40, 2, 0, 32, 0, 65, 24, 106, 40, 2, 0, 16, 141, 2, 32, 2, 65, 20, 106, 65, 51, 54, 2, 0, 32, 2, 65, 60, 106, 65, 2, 54, 2, 0, 32, 2, 65, 39, 54, 2, 12, 32, 2, 66, 2, 55, 2, 44, 32, 2, 65, 224, 164, 192, 0, 54, 2, 40, 32, 2, 32, 2, 65, 24, 106, 54, 2, 16, 32, 2, 32, 2, 65, 4, 106, 54, 2, 8, 32, 2, 32, 2, 65, 8, 106, 54, 2, 56, 32, 1, 32, 2, 65, 40, 106, 16, 183, 2, 33, 0, 32, 2, 40, 2, 24, 69, 13, 2, 32, 2, 40, 2, 28, 34, 1, 69, 13, 2, 32, 2, 65, 32, 106, 40, 2, 0, 69, 13, 2, 32, 1, 16, 226, 1, 12, 2, 11, 32, 2, 32, 0, 65, 4, 106, 54, 2, 8, 32, 2, 65, 60, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 44, 32, 2, 65, 188, 164, 192, 0, 54, 2, 40, 32, 2, 65, 39, 54, 2, 28, 32, 2, 32, 2, 65, 24, 106, 54, 2, 56, 32, 2, 32, 2, 65, 8, 106, 54, 2, 24, 32, 1, 32, 2, 65, 40, 106, 16, 183, 2, 33, 0, 12, 1, 11, 32, 2, 65, 60, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 149, 192, 0, 54, 2, 56, 32, 2, 66, 1, 55, 2, 44, 32, 2, 65, 160, 164, 192, 0, 54, 2, 40, 32, 1, 32, 2, 65, 40, 106, 16, 183, 2, 33, 0, 11, 32, 2, 65, 64, 107, 36, 0, 32, 0, 11, 78, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 65, 20, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 4, 32, 2, 65, 128, 149, 192, 0, 54, 2, 0, 32, 2, 65, 52, 54, 2, 28, 32, 2, 32, 0, 54, 2, 24, 32, 2, 32, 2, 65, 24, 106, 54, 2, 16, 32, 1, 32, 2, 16, 183, 2, 32, 2, 65, 32, 106, 36, 0, 11, 224, 2, 1, 6, 127, 35, 0, 65, 16, 107, 34, 7, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 3, 116, 34, 6, 69, 4, 64, 12, 1, 11, 32, 1, 65, 4, 106, 33, 8, 32, 6, 33, 3, 3, 64, 32, 5, 32, 8, 40, 2, 0, 106, 34, 4, 32, 5, 73, 13, 2, 32, 8, 65, 8, 106, 33, 8, 32, 4, 33, 5, 32, 3, 65, 120, 106, 34, 3, 13, 0, 11, 11, 2, 64, 32, 2, 32, 2, 65, 255, 255, 255, 255, 3, 113, 70, 4, 64, 32, 4, 32, 2, 65, 2, 116, 106, 34, 3, 32, 4, 73, 13, 1, 32, 3, 65, 127, 76, 13, 3, 2, 64, 32, 3, 69, 4, 64, 65, 1, 33, 5, 12, 1, 11, 32, 3, 65, 1, 16, 87, 34, 5, 69, 13, 5, 11, 32, 0, 65, 0, 54, 2, 8, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 5, 54, 2, 0, 32, 2, 4, 64, 32, 1, 32, 6, 106, 33, 3, 32, 7, 65, 16, 106, 33, 2, 3, 64, 32, 1, 40, 2, 0, 33, 6, 32, 7, 32, 1, 65, 4, 106, 40, 2, 0, 34, 4, 65, 24, 116, 32, 4, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 4, 65, 8, 118, 65, 128, 254, 3, 113, 32, 4, 65, 24, 118, 114, 114, 54, 2, 12, 32, 0, 32, 6, 32, 4, 32, 6, 106, 16, 89, 32, 0, 32, 7, 65, 12, 106, 32, 2, 16, 89, 32, 3, 32, 1, 65, 8, 106, 34, 1, 71, 13, 0, 11, 11, 32, 7, 65, 16, 106, 36, 0, 15, 11, 65, 208, 152, 192, 0, 65, 33, 65, 188, 165, 192, 0, 16, 147, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 204, 165, 192, 0, 16, 147, 2, 0, 11, 65, 128, 151, 192, 0, 65, 28, 65, 236, 150, 192, 0, 16, 147, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 65, 1, 16, 138, 2, 0, 11, 201, 71, 2, 14, 127, 2, 126, 35, 0, 65, 192, 3, 107, 34, 3, 36, 0, 32, 3, 65, 136, 3, 106, 32, 1, 32, 2, 16, 174, 1, 32, 3, 65, 240, 2, 106, 32, 3, 65, 136, 3, 106, 16, 181, 1, 65, 1, 33, 1, 65, 0, 33, 2, 2, 64, 32, 3, 45, 0, 240, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 10, 12, 1, 11, 2, 64, 32, 3, 45, 0, 241, 2, 34, 10, 65, 251, 0, 71, 4, 64, 32, 10, 65, 34, 71, 4, 64, 65, 10, 33, 10, 12, 3, 11, 32, 3, 65, 168, 3, 106, 32, 3, 65, 136, 3, 106, 16, 131, 1, 32, 3, 45, 0, 168, 3, 65, 1, 71, 4, 64, 65, 14, 33, 10, 12, 3, 11, 32, 3, 47, 0, 173, 3, 32, 3, 45, 0, 175, 3, 65, 16, 116, 114, 33, 2, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 4, 32, 3, 45, 0, 172, 3, 33, 10, 32, 3, 32, 3, 65, 180, 3, 106, 41, 2, 0, 34, 17, 55, 3, 168, 3, 32, 17, 66, 32, 136, 167, 33, 5, 32, 17, 167, 33, 6, 12, 1, 11, 32, 3, 65, 136, 3, 106, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 3, 65, 136, 3, 106, 34, 2, 16, 131, 1, 32, 3, 65, 176, 3, 106, 33, 5, 2, 64, 2, 127, 32, 3, 45, 0, 168, 3, 65, 1, 70, 4, 64, 32, 3, 65, 180, 3, 106, 41, 2, 0, 33, 17, 32, 3, 40, 2, 172, 3, 33, 10, 32, 5, 40, 2, 0, 12, 1, 11, 32, 3, 45, 0, 169, 3, 33, 6, 32, 3, 65, 168, 3, 106, 32, 2, 16, 179, 1, 32, 3, 40, 2, 168, 3, 34, 10, 65, 21, 70, 13, 1, 32, 5, 41, 3, 0, 33, 17, 32, 3, 40, 2, 172, 3, 11, 33, 4, 32, 10, 65, 8, 118, 33, 2, 32, 3, 32, 17, 55, 3, 168, 3, 32, 17, 66, 32, 136, 167, 33, 5, 32, 17, 167, 33, 6, 12, 1, 11, 32, 3, 65, 232, 2, 106, 32, 2, 16, 181, 1, 32, 3, 45, 0, 232, 2, 65, 1, 113, 33, 10, 32, 3, 45, 0, 233, 2, 33, 1, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 6, 65, 255, 1, 113, 65, 1, 70, 4, 64, 32, 10, 69, 13, 15, 32, 1, 65, 251, 0, 71, 4, 64, 32, 1, 65, 34, 71, 4, 64, 65, 10, 33, 1, 12, 18, 11, 32, 3, 65, 168, 3, 106, 32, 2, 16, 129, 1, 32, 3, 45, 0, 168, 3, 65, 1, 70, 13, 2, 65, 14, 33, 1, 12, 17, 11, 32, 2, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 2, 34, 12, 16, 129, 1, 32, 3, 65, 176, 3, 106, 33, 5, 2, 64, 2, 127, 32, 3, 45, 0, 168, 3, 65, 1, 70, 4, 64, 32, 3, 65, 180, 3, 106, 41, 2, 0, 33, 17, 32, 3, 40, 2, 172, 3, 33, 1, 32, 5, 40, 2, 0, 12, 1, 11, 32, 3, 45, 0, 169, 3, 33, 6, 32, 3, 65, 168, 3, 106, 32, 12, 16, 179, 1, 32, 3, 40, 2, 168, 3, 34, 1, 65, 21, 70, 13, 1, 32, 5, 41, 3, 0, 33, 17, 32, 3, 40, 2, 172, 3, 11, 33, 4, 32, 1, 65, 8, 118, 33, 13, 32, 17, 66, 32, 136, 167, 33, 5, 32, 17, 167, 33, 6, 12, 17, 11, 2, 64, 32, 6, 65, 1, 107, 14, 4, 5, 4, 3, 0, 6, 11, 32, 3, 65, 192, 2, 106, 32, 12, 16, 181, 1, 32, 3, 45, 0, 192, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 15, 11, 32, 3, 45, 0, 193, 2, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 15, 11, 32, 12, 16, 175, 1, 32, 3, 65, 184, 2, 106, 32, 12, 16, 173, 1, 32, 3, 45, 0, 188, 2, 33, 6, 32, 3, 65, 176, 2, 106, 32, 3, 40, 2, 184, 2, 34, 8, 16, 181, 1, 65, 2, 33, 1, 32, 3, 45, 0, 176, 2, 65, 1, 113, 69, 13, 12, 32, 3, 45, 0, 177, 2, 33, 5, 32, 6, 65, 1, 113, 33, 4, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 5, 65, 255, 1, 113, 34, 11, 65, 44, 71, 4, 64, 32, 11, 65, 253, 0, 70, 13, 1, 32, 4, 65, 255, 1, 113, 13, 2, 65, 9, 33, 1, 12, 18, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 1, 12, 18, 11, 32, 8, 16, 175, 1, 32, 3, 65, 168, 2, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 168, 2, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 169, 2, 33, 5, 12, 1, 11, 32, 9, 4, 64, 32, 3, 65, 168, 3, 106, 32, 12, 16, 178, 1, 32, 3, 40, 2, 168, 3, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 7, 69, 13, 20, 32, 9, 16, 226, 1, 12, 20, 11, 32, 3, 65, 160, 2, 106, 32, 12, 16, 181, 1, 2, 64, 32, 3, 45, 0, 160, 2, 65, 1, 113, 4, 64, 32, 3, 45, 0, 161, 2, 65, 253, 0, 70, 13, 1, 65, 11, 33, 1, 32, 7, 69, 13, 23, 32, 9, 16, 226, 1, 12, 23, 11, 65, 4, 33, 1, 32, 7, 69, 13, 22, 32, 9, 16, 226, 1, 12, 22, 11, 32, 12, 16, 175, 1, 65, 4, 33, 4, 32, 6, 33, 13, 12, 12, 11, 32, 3, 65, 168, 3, 106, 65, 181, 176, 192, 0, 65, 4, 16, 122, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 12, 18, 11, 32, 5, 65, 255, 1, 113, 34, 5, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 5, 65, 253, 0, 71, 13, 16, 65, 19, 33, 1, 12, 16, 11, 32, 3, 65, 152, 2, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 152, 2, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 14, 11, 32, 3, 45, 0, 153, 2, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 14, 11, 32, 8, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 8, 16, 180, 1, 32, 3, 40, 2, 184, 3, 33, 5, 32, 3, 40, 2, 180, 3, 33, 11, 32, 3, 40, 2, 176, 3, 33, 4, 32, 3, 40, 2, 172, 3, 33, 10, 32, 3, 40, 2, 168, 3, 65, 1, 70, 4, 64, 32, 11, 33, 6, 32, 10, 33, 1, 12, 14, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 10, 4, 64, 32, 5, 65, 4, 71, 4, 127, 65, 1, 5, 32, 4, 40, 0, 0, 65, 235, 210, 185, 163, 6, 71, 11, 33, 5, 32, 11, 69, 32, 4, 69, 114, 13, 1, 32, 4, 16, 226, 1, 12, 1, 11, 32, 11, 65, 4, 71, 13, 1, 32, 4, 40, 0, 0, 65, 235, 210, 185, 163, 6, 71, 33, 5, 11, 32, 5, 69, 13, 1, 11, 32, 3, 65, 168, 3, 106, 32, 8, 16, 179, 1, 32, 3, 40, 2, 168, 3, 34, 11, 65, 21, 70, 13, 1, 32, 3, 40, 2, 176, 3, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 32, 3, 40, 2, 180, 3, 34, 5, 54, 2, 132, 3, 32, 3, 32, 6, 54, 2, 128, 3, 32, 3, 32, 4, 54, 2, 252, 2, 32, 3, 32, 11, 54, 2, 248, 2, 32, 11, 33, 1, 12, 18, 11, 32, 9, 4, 64, 32, 3, 65, 168, 3, 106, 65, 181, 176, 192, 0, 65, 4, 16, 123, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 32, 7, 69, 13, 20, 12, 19, 11, 32, 3, 65, 168, 3, 106, 32, 8, 16, 179, 1, 32, 3, 40, 2, 180, 3, 33, 5, 32, 3, 40, 2, 168, 3, 34, 11, 65, 21, 71, 4, 64, 32, 3, 40, 2, 176, 3, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 11, 33, 1, 12, 20, 11, 32, 3, 65, 144, 2, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 144, 2, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 32, 7, 33, 4, 12, 20, 11, 32, 3, 45, 0, 145, 2, 65, 34, 71, 4, 64, 65, 14, 33, 1, 32, 7, 33, 4, 12, 20, 11, 32, 8, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 8, 16, 180, 1, 32, 3, 40, 2, 184, 3, 33, 6, 32, 3, 40, 2, 180, 3, 33, 7, 32, 3, 40, 2, 176, 3, 33, 4, 32, 3, 40, 2, 172, 3, 33, 11, 32, 3, 40, 2, 168, 3, 65, 1, 70, 13, 1, 32, 11, 4, 64, 32, 4, 33, 9, 12, 4, 11, 32, 7, 65, 127, 76, 13, 11, 2, 64, 32, 7, 69, 4, 64, 65, 1, 33, 9, 12, 1, 11, 32, 7, 65, 1, 16, 87, 34, 9, 69, 13, 3, 11, 32, 9, 32, 4, 32, 7, 16, 212, 2, 26, 32, 7, 33, 6, 12, 3, 11, 32, 3, 65, 248, 2, 106, 32, 8, 16, 126, 32, 3, 40, 2, 248, 2, 34, 11, 65, 21, 70, 13, 2, 32, 3, 40, 2, 132, 3, 33, 5, 32, 3, 40, 2, 128, 3, 33, 6, 32, 3, 40, 2, 252, 2, 33, 4, 32, 11, 33, 1, 12, 16, 11, 32, 6, 33, 5, 32, 7, 33, 6, 32, 11, 33, 1, 12, 17, 11, 32, 7, 65, 1, 16, 138, 2, 0, 11, 32, 3, 65, 136, 2, 106, 32, 8, 16, 181, 1, 65, 0, 33, 4, 32, 3, 45, 0, 137, 2, 33, 5, 32, 3, 45, 0, 136, 2, 65, 1, 113, 13, 0, 11, 12, 12, 11, 65, 0, 33, 5, 2, 64, 2, 64, 32, 10, 69, 4, 64, 65, 4, 33, 1, 12, 1, 11, 2, 126, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 251, 0, 71, 4, 64, 32, 1, 65, 34, 70, 13, 1, 65, 10, 33, 1, 12, 8, 11, 32, 2, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 2, 34, 7, 16, 131, 1, 32, 3, 65, 176, 3, 106, 33, 6, 32, 3, 45, 0, 168, 3, 65, 1, 70, 4, 64, 32, 3, 65, 180, 3, 106, 41, 2, 0, 33, 17, 32, 6, 40, 2, 0, 33, 4, 32, 3, 40, 2, 172, 3, 34, 1, 65, 8, 118, 33, 5, 12, 8, 11, 32, 3, 45, 0, 169, 3, 33, 5, 32, 3, 65, 168, 3, 106, 32, 7, 16, 179, 1, 32, 3, 40, 2, 168, 3, 34, 1, 65, 21, 71, 4, 64, 32, 6, 41, 3, 0, 33, 17, 32, 3, 40, 2, 172, 3, 33, 4, 32, 1, 65, 8, 118, 33, 5, 12, 8, 11, 2, 127, 32, 5, 65, 1, 70, 4, 64, 32, 3, 65, 216, 2, 106, 32, 7, 16, 181, 1, 32, 3, 45, 0, 216, 2, 65, 1, 113, 69, 13, 7, 32, 3, 45, 0, 217, 2, 65, 34, 71, 4, 64, 65, 14, 33, 1, 66, 0, 12, 9, 11, 32, 7, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 7, 16, 180, 1, 32, 3, 65, 184, 3, 106, 40, 2, 0, 33, 13, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 4, 32, 3, 40, 2, 172, 3, 33, 1, 32, 3, 40, 2, 168, 3, 65, 1, 70, 13, 5, 2, 64, 32, 1, 4, 64, 32, 4, 33, 6, 12, 1, 11, 32, 5, 65, 127, 76, 13, 17, 2, 64, 32, 5, 69, 4, 64, 65, 1, 33, 6, 12, 1, 11, 32, 5, 65, 1, 16, 87, 34, 6, 69, 13, 8, 11, 32, 6, 32, 4, 32, 5, 16, 212, 2, 26, 32, 5, 33, 13, 11, 32, 3, 65, 208, 2, 106, 32, 7, 16, 181, 1, 2, 64, 32, 3, 45, 0, 208, 2, 65, 1, 113, 4, 64, 32, 3, 45, 0, 209, 2, 65, 253, 0, 70, 13, 1, 65, 11, 33, 1, 32, 5, 69, 32, 6, 69, 114, 69, 4, 64, 32, 6, 16, 226, 1, 11, 66, 0, 12, 10, 11, 32, 5, 69, 32, 6, 69, 114, 13, 8, 32, 6, 16, 226, 1, 65, 4, 33, 1, 66, 0, 12, 9, 11, 32, 7, 16, 175, 1, 65, 0, 33, 10, 65, 1, 12, 1, 11, 32, 3, 65, 168, 3, 106, 32, 7, 16, 132, 1, 32, 3, 65, 184, 3, 106, 53, 2, 0, 33, 17, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 13, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 4, 2, 64, 2, 127, 32, 3, 40, 2, 172, 3, 34, 6, 32, 3, 40, 2, 168, 3, 65, 1, 70, 13, 0, 26, 32, 3, 65, 224, 2, 106, 32, 7, 16, 181, 1, 32, 3, 45, 0, 224, 2, 65, 1, 113, 4, 64, 32, 3, 45, 0, 225, 2, 65, 253, 0, 70, 13, 2, 32, 6, 69, 32, 4, 69, 114, 69, 4, 64, 32, 6, 16, 226, 1, 11, 65, 11, 12, 1, 11, 32, 6, 69, 32, 4, 69, 114, 69, 4, 64, 32, 6, 16, 226, 1, 11, 65, 4, 11, 34, 1, 65, 8, 118, 33, 5, 32, 13, 173, 32, 17, 66, 32, 134, 132, 33, 17, 12, 9, 11, 32, 7, 16, 175, 1, 65, 1, 33, 10, 32, 4, 33, 5, 65, 0, 11, 33, 8, 32, 3, 65, 200, 2, 106, 32, 2, 16, 181, 1, 32, 3, 45, 0, 200, 2, 65, 1, 113, 69, 13, 1, 32, 3, 45, 0, 201, 2, 65, 253, 0, 71, 13, 2, 32, 2, 16, 175, 1, 32, 3, 32, 5, 173, 32, 13, 173, 66, 32, 134, 132, 55, 2, 172, 3, 32, 3, 32, 6, 54, 2, 168, 3, 65, 0, 33, 1, 32, 8, 33, 4, 65, 0, 33, 10, 65, 0, 33, 2, 12, 28, 11, 32, 3, 65, 168, 3, 106, 32, 2, 16, 131, 1, 32, 3, 47, 0, 173, 3, 32, 3, 45, 0, 175, 3, 65, 16, 116, 114, 65, 0, 32, 3, 45, 0, 168, 3, 65, 1, 70, 34, 1, 27, 33, 5, 32, 3, 45, 0, 172, 3, 65, 14, 32, 1, 27, 33, 1, 32, 3, 65, 180, 3, 106, 41, 2, 0, 33, 17, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 4, 12, 6, 11, 32, 6, 69, 32, 5, 69, 114, 33, 1, 32, 10, 4, 64, 65, 4, 33, 10, 32, 1, 13, 7, 32, 6, 16, 226, 1, 12, 7, 11, 65, 4, 33, 10, 32, 1, 13, 6, 32, 6, 16, 226, 1, 12, 6, 11, 32, 6, 69, 32, 5, 69, 114, 33, 1, 32, 10, 4, 64, 65, 11, 33, 10, 32, 1, 13, 6, 32, 6, 16, 226, 1, 12, 6, 11, 65, 11, 33, 10, 32, 1, 13, 5, 32, 6, 16, 226, 1, 12, 5, 11, 32, 5, 173, 33, 17, 32, 13, 173, 66, 32, 134, 12, 2, 11, 32, 5, 65, 1, 16, 138, 2, 0, 11, 65, 4, 33, 1, 66, 0, 11, 33, 18, 32, 17, 32, 18, 132, 33, 17, 32, 1, 65, 8, 118, 33, 5, 11, 32, 1, 65, 255, 1, 113, 32, 5, 65, 8, 116, 114, 33, 10, 11, 32, 3, 32, 17, 55, 3, 168, 3, 32, 17, 66, 32, 136, 167, 33, 5, 32, 17, 167, 33, 6, 32, 10, 65, 8, 118, 12, 17, 11, 32, 3, 47, 0, 173, 3, 32, 3, 45, 0, 175, 3, 65, 16, 116, 114, 33, 13, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 4, 32, 3, 45, 0, 172, 3, 33, 1, 32, 3, 65, 180, 3, 106, 41, 2, 0, 34, 17, 66, 32, 136, 167, 33, 5, 32, 17, 167, 33, 6, 12, 14, 11, 32, 3, 65, 128, 2, 106, 32, 12, 16, 181, 1, 65, 4, 33, 1, 2, 64, 32, 3, 45, 0, 128, 2, 65, 1, 113, 69, 13, 0, 2, 64, 32, 3, 45, 0, 129, 2, 65, 251, 0, 71, 13, 0, 32, 12, 16, 175, 1, 32, 3, 65, 248, 1, 106, 32, 12, 16, 173, 1, 32, 3, 45, 0, 252, 1, 33, 4, 32, 3, 65, 240, 1, 106, 32, 3, 40, 2, 248, 1, 34, 5, 16, 181, 1, 32, 3, 45, 0, 240, 1, 65, 1, 113, 4, 64, 32, 3, 45, 0, 241, 1, 33, 6, 32, 4, 65, 1, 113, 33, 4, 3, 64, 2, 64, 2, 64, 32, 6, 65, 255, 1, 113, 34, 8, 65, 44, 71, 4, 64, 32, 8, 65, 253, 0, 70, 13, 1, 32, 4, 65, 255, 1, 113, 13, 2, 65, 9, 33, 1, 12, 6, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 1, 12, 6, 11, 32, 5, 16, 175, 1, 32, 3, 65, 232, 1, 106, 32, 5, 16, 181, 1, 32, 3, 45, 0, 232, 1, 65, 1, 113, 69, 13, 5, 32, 3, 45, 0, 233, 1, 33, 6, 12, 1, 11, 32, 3, 65, 168, 3, 106, 32, 12, 16, 178, 1, 32, 3, 40, 2, 168, 3, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 12, 5, 11, 32, 3, 65, 224, 1, 106, 32, 12, 16, 181, 1, 32, 3, 45, 0, 224, 1, 65, 1, 113, 69, 13, 17, 32, 3, 45, 0, 225, 1, 65, 253, 0, 71, 4, 64, 65, 11, 33, 1, 12, 19, 11, 32, 12, 16, 175, 1, 65, 3, 33, 4, 12, 9, 11, 32, 6, 65, 255, 1, 113, 34, 8, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 8, 65, 253, 0, 71, 13, 4, 65, 19, 33, 1, 12, 4, 11, 32, 3, 65, 216, 1, 106, 32, 5, 16, 181, 1, 32, 3, 45, 0, 216, 1, 65, 1, 113, 69, 13, 3, 32, 3, 45, 0, 217, 1, 65, 34, 71, 13, 2, 32, 5, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 5, 16, 180, 1, 32, 3, 40, 2, 180, 3, 33, 6, 32, 3, 40, 2, 176, 3, 33, 4, 32, 3, 40, 2, 172, 3, 33, 8, 2, 64, 32, 3, 40, 2, 168, 3, 65, 1, 71, 4, 64, 32, 6, 69, 32, 8, 69, 32, 4, 69, 114, 114, 13, 1, 32, 4, 16, 226, 1, 12, 1, 11, 32, 8, 65, 21, 70, 13, 0, 32, 3, 40, 2, 184, 3, 33, 5, 32, 8, 33, 1, 12, 4, 11, 32, 3, 65, 168, 3, 106, 32, 5, 16, 179, 1, 32, 3, 40, 2, 168, 3, 34, 8, 65, 21, 71, 4, 64, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 65, 128, 3, 106, 32, 3, 41, 3, 176, 3, 34, 17, 55, 3, 0, 32, 3, 32, 4, 54, 2, 252, 2, 32, 3, 32, 8, 54, 2, 248, 2, 32, 17, 66, 32, 136, 167, 33, 5, 32, 17, 167, 33, 6, 32, 8, 33, 1, 12, 4, 11, 32, 3, 65, 248, 2, 106, 32, 5, 16, 126, 32, 3, 40, 2, 248, 2, 34, 8, 65, 21, 71, 4, 64, 32, 3, 65, 132, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 128, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 252, 2, 33, 4, 32, 8, 33, 1, 12, 4, 11, 32, 3, 65, 208, 1, 106, 32, 5, 16, 181, 1, 65, 0, 33, 4, 32, 3, 45, 0, 209, 1, 33, 6, 32, 3, 45, 0, 208, 1, 65, 1, 113, 13, 0, 11, 11, 65, 2, 33, 1, 12, 1, 11, 65, 14, 33, 1, 11, 32, 1, 65, 8, 118, 33, 13, 12, 13, 11, 32, 3, 65, 200, 1, 106, 32, 12, 16, 181, 1, 2, 64, 32, 3, 45, 0, 200, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 1, 11, 32, 3, 45, 0, 201, 1, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 1, 11, 32, 12, 16, 175, 1, 32, 3, 65, 192, 1, 106, 32, 12, 16, 173, 1, 32, 3, 45, 0, 196, 1, 33, 6, 32, 3, 65, 184, 1, 106, 32, 3, 40, 2, 192, 1, 34, 8, 16, 181, 1, 65, 2, 33, 1, 2, 64, 2, 64, 32, 3, 45, 0, 184, 1, 65, 1, 113, 69, 13, 0, 32, 3, 45, 0, 185, 1, 33, 5, 32, 6, 65, 1, 113, 33, 4, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 5, 65, 255, 1, 113, 34, 11, 65, 44, 71, 4, 64, 32, 11, 65, 253, 0, 70, 13, 1, 32, 4, 65, 255, 1, 113, 13, 2, 65, 9, 33, 1, 12, 7, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 1, 12, 7, 11, 32, 8, 16, 175, 1, 32, 3, 65, 176, 1, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 176, 1, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 177, 1, 33, 5, 12, 1, 11, 32, 9, 4, 64, 32, 3, 65, 168, 3, 106, 32, 12, 16, 178, 1, 32, 3, 40, 2, 168, 3, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 7, 69, 13, 9, 32, 9, 16, 226, 1, 12, 9, 11, 32, 3, 65, 168, 1, 106, 32, 12, 16, 181, 1, 2, 64, 32, 3, 45, 0, 168, 1, 65, 1, 113, 4, 64, 32, 3, 45, 0, 169, 1, 65, 253, 0, 70, 13, 1, 65, 11, 33, 1, 32, 7, 69, 13, 23, 32, 9, 16, 226, 1, 12, 23, 11, 65, 4, 33, 1, 32, 7, 69, 13, 22, 32, 9, 16, 226, 1, 12, 22, 11, 32, 12, 16, 175, 1, 65, 2, 33, 4, 32, 6, 33, 13, 12, 12, 11, 32, 3, 65, 168, 3, 106, 65, 179, 182, 192, 0, 65, 4, 16, 122, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 12, 7, 11, 32, 5, 65, 255, 1, 113, 34, 5, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 5, 65, 253, 0, 71, 13, 3, 65, 19, 33, 1, 12, 3, 11, 32, 3, 65, 160, 1, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 160, 1, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 3, 11, 32, 3, 45, 0, 161, 1, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 3, 11, 32, 8, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 8, 16, 180, 1, 32, 3, 40, 2, 184, 3, 33, 5, 32, 3, 40, 2, 180, 3, 33, 11, 32, 3, 40, 2, 176, 3, 33, 4, 32, 3, 40, 2, 172, 3, 33, 10, 32, 3, 40, 2, 168, 3, 65, 1, 70, 4, 64, 32, 11, 33, 6, 32, 10, 33, 1, 12, 3, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 10, 4, 64, 32, 5, 65, 4, 71, 4, 127, 65, 1, 5, 32, 4, 40, 0, 0, 65, 225, 200, 145, 147, 7, 71, 11, 33, 5, 32, 11, 69, 32, 4, 69, 114, 13, 1, 32, 4, 16, 226, 1, 12, 1, 11, 32, 11, 65, 4, 71, 13, 1, 32, 4, 40, 0, 0, 65, 225, 200, 145, 147, 7, 71, 33, 5, 11, 32, 5, 69, 13, 1, 11, 32, 3, 65, 168, 3, 106, 32, 8, 16, 179, 1, 32, 3, 40, 2, 168, 3, 34, 11, 65, 21, 70, 13, 1, 32, 3, 40, 2, 176, 3, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 32, 3, 40, 2, 180, 3, 34, 5, 54, 2, 132, 3, 32, 3, 32, 6, 54, 2, 128, 3, 32, 3, 32, 4, 54, 2, 252, 2, 32, 3, 32, 11, 54, 2, 248, 2, 32, 11, 33, 1, 12, 7, 11, 32, 9, 4, 64, 32, 3, 65, 168, 3, 106, 65, 179, 182, 192, 0, 65, 4, 16, 123, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 32, 7, 69, 13, 9, 12, 8, 11, 32, 3, 65, 168, 3, 106, 32, 8, 16, 179, 1, 32, 3, 40, 2, 180, 3, 33, 5, 32, 3, 40, 2, 168, 3, 34, 11, 65, 21, 71, 4, 64, 32, 3, 40, 2, 176, 3, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 11, 33, 1, 12, 9, 11, 32, 3, 65, 152, 1, 106, 32, 8, 16, 181, 1, 32, 3, 45, 0, 152, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 32, 7, 33, 4, 12, 9, 11, 32, 3, 45, 0, 153, 1, 65, 34, 71, 4, 64, 65, 14, 33, 1, 32, 7, 33, 4, 12, 9, 11, 32, 8, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 8, 16, 180, 1, 32, 3, 40, 2, 184, 3, 33, 6, 32, 3, 40, 2, 180, 3, 33, 7, 32, 3, 40, 2, 176, 3, 33, 4, 32, 3, 40, 2, 172, 3, 33, 11, 32, 3, 40, 2, 168, 3, 65, 1, 70, 13, 1, 32, 11, 4, 64, 32, 4, 33, 9, 12, 4, 11, 32, 7, 65, 127, 76, 13, 11, 2, 64, 32, 7, 69, 4, 64, 65, 1, 33, 9, 12, 1, 11, 32, 7, 65, 1, 16, 87, 34, 9, 69, 13, 3, 11, 32, 9, 32, 4, 32, 7, 16, 212, 2, 26, 32, 7, 33, 6, 12, 3, 11, 32, 3, 65, 248, 2, 106, 32, 8, 16, 126, 32, 3, 40, 2, 248, 2, 34, 11, 65, 21, 70, 13, 2, 32, 3, 40, 2, 132, 3, 33, 5, 32, 3, 40, 2, 128, 3, 33, 6, 32, 3, 40, 2, 252, 2, 33, 4, 32, 11, 33, 1, 12, 5, 11, 32, 6, 33, 5, 32, 7, 33, 6, 32, 11, 33, 1, 12, 6, 11, 32, 7, 65, 1, 16, 138, 2, 0, 11, 32, 3, 65, 144, 1, 106, 32, 8, 16, 181, 1, 65, 0, 33, 4, 32, 3, 45, 0, 145, 1, 33, 5, 32, 3, 45, 0, 144, 1, 65, 1, 113, 13, 1, 11, 11, 11, 32, 7, 69, 32, 9, 69, 114, 13, 1, 11, 32, 9, 16, 226, 1, 11, 32, 1, 65, 8, 118, 33, 13, 12, 12, 11, 32, 3, 65, 136, 1, 106, 32, 12, 16, 181, 1, 2, 64, 32, 3, 45, 0, 136, 1, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 1, 11, 32, 3, 45, 0, 137, 1, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 1, 11, 32, 12, 16, 175, 1, 32, 3, 65, 128, 1, 106, 32, 12, 16, 173, 1, 32, 3, 45, 0, 132, 1, 33, 6, 32, 3, 65, 248, 0, 106, 32, 3, 40, 2, 128, 1, 34, 14, 16, 181, 1, 65, 2, 33, 1, 2, 64, 2, 64, 2, 64, 32, 3, 45, 0, 120, 65, 1, 113, 69, 13, 0, 32, 3, 45, 0, 121, 33, 5, 32, 6, 65, 1, 113, 33, 4, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 5, 65, 255, 1, 113, 34, 10, 65, 44, 71, 4, 64, 32, 10, 65, 253, 0, 70, 13, 1, 32, 4, 65, 255, 1, 113, 13, 2, 65, 9, 33, 1, 12, 7, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 1, 12, 7, 11, 32, 14, 16, 175, 1, 32, 3, 65, 240, 0, 106, 32, 14, 16, 181, 1, 32, 3, 45, 0, 112, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 113, 33, 5, 12, 1, 11, 32, 9, 4, 64, 32, 8, 69, 4, 64, 32, 3, 65, 168, 3, 106, 65, 155, 182, 192, 0, 65, 8, 16, 122, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 32, 7, 69, 13, 10, 32, 9, 16, 226, 1, 12, 10, 11, 32, 3, 65, 168, 3, 106, 32, 12, 16, 178, 1, 32, 3, 40, 2, 168, 3, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 7, 4, 64, 32, 9, 16, 226, 1, 11, 32, 11, 69, 13, 10, 32, 8, 16, 226, 1, 12, 10, 11, 32, 3, 65, 232, 0, 106, 32, 12, 16, 181, 1, 2, 64, 32, 3, 45, 0, 104, 65, 1, 113, 4, 64, 32, 3, 45, 0, 105, 65, 253, 0, 70, 13, 1, 32, 7, 4, 64, 32, 9, 16, 226, 1, 11, 65, 11, 33, 1, 65, 0, 33, 13, 32, 11, 69, 13, 23, 32, 8, 16, 226, 1, 12, 23, 11, 32, 7, 4, 64, 32, 9, 16, 226, 1, 11, 65, 4, 33, 1, 65, 0, 33, 13, 32, 11, 69, 13, 22, 32, 8, 16, 226, 1, 12, 22, 11, 32, 12, 16, 175, 1, 65, 1, 33, 4, 12, 12, 11, 32, 3, 65, 168, 3, 106, 65, 255, 181, 192, 0, 65, 5, 16, 122, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 65, 0, 33, 9, 12, 5, 11, 32, 5, 65, 255, 1, 113, 34, 5, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 5, 65, 253, 0, 71, 13, 3, 65, 19, 33, 1, 12, 3, 11, 32, 3, 65, 224, 0, 106, 32, 14, 16, 181, 1, 32, 3, 45, 0, 96, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 3, 11, 32, 3, 45, 0, 97, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 3, 11, 32, 14, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 14, 16, 180, 1, 32, 3, 40, 2, 184, 3, 33, 5, 32, 3, 40, 2, 180, 3, 33, 15, 32, 3, 40, 2, 176, 3, 33, 4, 32, 3, 40, 2, 172, 3, 33, 10, 32, 3, 40, 2, 168, 3, 65, 1, 70, 4, 64, 32, 15, 33, 6, 32, 10, 33, 1, 12, 3, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 10, 4, 64, 65, 2, 33, 10, 2, 64, 2, 64, 2, 64, 32, 5, 65, 123, 106, 14, 4, 0, 2, 2, 1, 2, 11, 65, 126, 65, 0, 32, 4, 65, 255, 181, 192, 0, 65, 5, 16, 214, 2, 27, 33, 10, 12, 1, 11, 65, 1, 65, 126, 32, 4, 41, 0, 0, 66, 242, 202, 205, 131, 247, 205, 219, 185, 229, 0, 81, 27, 33, 10, 11, 32, 15, 4, 64, 32, 4, 16, 226, 1, 11, 32, 10, 65, 30, 116, 65, 30, 117, 65, 0, 72, 13, 7, 32, 10, 65, 3, 113, 65, 1, 107, 13, 1, 12, 3, 11, 2, 64, 32, 15, 65, 123, 106, 14, 4, 0, 7, 7, 2, 7, 11, 32, 4, 65, 255, 181, 192, 0, 65, 5, 16, 214, 2, 13, 6, 11, 32, 9, 4, 64, 32, 3, 65, 168, 3, 106, 65, 255, 181, 192, 0, 65, 5, 16, 123, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 12, 10, 11, 32, 3, 65, 168, 3, 106, 32, 14, 16, 179, 1, 32, 3, 40, 2, 180, 3, 33, 5, 65, 0, 33, 9, 32, 3, 40, 2, 168, 3, 34, 10, 65, 21, 71, 4, 64, 32, 3, 40, 2, 176, 3, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 10, 33, 1, 12, 10, 11, 32, 3, 65, 216, 0, 106, 32, 14, 16, 181, 1, 32, 3, 45, 0, 88, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 5, 11, 32, 3, 45, 0, 89, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 5, 11, 32, 14, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 14, 16, 180, 1, 32, 3, 40, 2, 184, 3, 33, 13, 32, 3, 40, 2, 180, 3, 33, 6, 32, 3, 40, 2, 176, 3, 33, 4, 32, 3, 40, 2, 172, 3, 33, 5, 32, 3, 40, 2, 168, 3, 65, 1, 70, 13, 2, 32, 5, 4, 64, 32, 6, 33, 7, 32, 4, 33, 9, 12, 7, 11, 32, 6, 65, 127, 76, 13, 14, 2, 64, 32, 6, 69, 4, 64, 65, 1, 33, 9, 12, 1, 11, 32, 6, 65, 1, 16, 87, 34, 9, 69, 13, 4, 11, 32, 9, 32, 4, 32, 6, 16, 212, 2, 26, 32, 6, 33, 13, 32, 6, 33, 7, 12, 6, 11, 32, 4, 41, 0, 0, 66, 242, 202, 205, 131, 247, 205, 219, 185, 229, 0, 82, 13, 4, 11, 32, 8, 4, 64, 32, 3, 65, 168, 3, 106, 65, 155, 182, 192, 0, 65, 8, 16, 123, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 32, 11, 13, 9, 12, 10, 11, 32, 3, 65, 248, 2, 106, 32, 14, 16, 179, 1, 32, 3, 40, 2, 248, 2, 34, 8, 65, 21, 71, 4, 64, 32, 3, 40, 2, 128, 3, 33, 6, 32, 3, 40, 2, 252, 2, 33, 4, 32, 3, 32, 3, 40, 2, 132, 3, 34, 5, 54, 2, 184, 3, 32, 3, 32, 6, 54, 2, 180, 3, 32, 3, 32, 4, 54, 2, 176, 3, 32, 3, 32, 8, 54, 2, 172, 3, 32, 3, 65, 1, 54, 2, 168, 3, 32, 8, 33, 1, 12, 10, 11, 32, 3, 65, 168, 3, 106, 32, 14, 16, 132, 1, 32, 3, 40, 2, 168, 3, 65, 1, 70, 4, 64, 32, 3, 40, 2, 184, 3, 33, 5, 32, 3, 40, 2, 180, 3, 33, 6, 32, 3, 40, 2, 176, 3, 33, 4, 32, 3, 40, 2, 172, 3, 33, 1, 12, 10, 11, 32, 3, 40, 2, 180, 3, 33, 16, 32, 3, 40, 2, 176, 3, 33, 11, 32, 3, 40, 2, 172, 3, 33, 8, 12, 4, 11, 32, 5, 33, 1, 32, 13, 33, 5, 12, 6, 11, 32, 6, 65, 1, 16, 138, 2, 0, 11, 32, 6, 33, 4, 32, 13, 33, 6, 12, 4, 11, 32, 3, 65, 168, 3, 106, 32, 14, 16, 179, 1, 32, 3, 40, 2, 168, 3, 34, 10, 65, 21, 71, 4, 64, 32, 3, 40, 2, 176, 3, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 32, 3, 40, 2, 180, 3, 34, 5, 54, 2, 132, 3, 32, 3, 32, 6, 54, 2, 128, 3, 32, 3, 32, 4, 54, 2, 252, 2, 32, 3, 32, 10, 54, 2, 248, 2, 32, 10, 33, 1, 12, 4, 11, 32, 3, 65, 248, 2, 106, 32, 14, 16, 126, 32, 3, 40, 2, 248, 2, 34, 10, 65, 21, 70, 13, 0, 32, 3, 40, 2, 132, 3, 33, 5, 32, 3, 40, 2, 128, 3, 33, 6, 32, 3, 40, 2, 252, 2, 33, 4, 32, 10, 33, 1, 12, 3, 11, 32, 3, 65, 208, 0, 106, 32, 14, 16, 181, 1, 65, 0, 33, 4, 32, 3, 45, 0, 81, 33, 5, 32, 3, 45, 0, 80, 65, 1, 113, 13, 1, 11, 11, 11, 32, 11, 69, 32, 8, 69, 114, 13, 1, 11, 32, 8, 16, 226, 1, 11, 32, 7, 69, 32, 9, 69, 114, 13, 0, 32, 9, 16, 226, 1, 11, 32, 1, 65, 8, 118, 33, 13, 12, 11, 11, 32, 3, 65, 200, 0, 106, 32, 12, 16, 181, 1, 32, 3, 45, 0, 72, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 6, 11, 32, 3, 45, 0, 73, 65, 251, 0, 71, 4, 64, 65, 14, 33, 1, 12, 6, 11, 32, 12, 16, 175, 1, 32, 3, 65, 64, 107, 32, 12, 16, 173, 1, 32, 3, 45, 0, 68, 33, 6, 32, 3, 65, 56, 106, 32, 3, 40, 2, 64, 34, 14, 16, 181, 1, 65, 2, 33, 1, 32, 3, 45, 0, 56, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 57, 33, 5, 32, 6, 65, 1, 113, 33, 4, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 5, 65, 255, 1, 113, 34, 10, 65, 44, 71, 4, 64, 32, 10, 65, 253, 0, 70, 13, 1, 32, 4, 65, 255, 1, 113, 13, 2, 65, 9, 33, 1, 12, 8, 11, 32, 4, 65, 255, 1, 113, 4, 64, 65, 16, 33, 1, 12, 8, 11, 32, 14, 16, 175, 1, 32, 3, 65, 48, 106, 32, 14, 16, 181, 1, 32, 3, 45, 0, 48, 65, 1, 113, 69, 13, 2, 32, 3, 45, 0, 49, 33, 5, 12, 1, 11, 32, 9, 4, 64, 32, 8, 69, 4, 64, 32, 3, 65, 168, 3, 106, 65, 132, 182, 192, 0, 65, 7, 16, 122, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 32, 7, 69, 13, 11, 32, 9, 16, 226, 1, 12, 11, 11, 32, 3, 65, 168, 3, 106, 32, 12, 16, 178, 1, 32, 3, 40, 2, 168, 3, 34, 1, 65, 21, 71, 4, 64, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 7, 4, 64, 32, 9, 16, 226, 1, 11, 32, 11, 69, 13, 11, 32, 8, 16, 226, 1, 12, 11, 11, 32, 3, 65, 40, 106, 32, 12, 16, 181, 1, 2, 64, 32, 3, 45, 0, 40, 65, 1, 113, 4, 64, 32, 3, 45, 0, 41, 65, 253, 0, 70, 13, 1, 32, 7, 4, 64, 32, 9, 16, 226, 1, 11, 65, 11, 33, 1, 65, 0, 33, 13, 32, 11, 69, 13, 17, 32, 8, 16, 226, 1, 12, 17, 11, 32, 7, 4, 64, 32, 9, 16, 226, 1, 11, 65, 4, 33, 1, 65, 0, 33, 13, 32, 11, 69, 13, 16, 32, 8, 16, 226, 1, 12, 16, 11, 32, 12, 16, 175, 1, 65, 0, 33, 4, 12, 6, 11, 32, 3, 65, 168, 3, 106, 65, 255, 181, 192, 0, 65, 5, 16, 122, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 65, 0, 33, 9, 12, 6, 11, 32, 5, 65, 255, 1, 113, 34, 5, 65, 34, 71, 4, 64, 65, 16, 33, 1, 32, 5, 65, 253, 0, 71, 13, 6, 65, 19, 33, 1, 12, 6, 11, 32, 3, 65, 24, 106, 32, 14, 16, 181, 1, 32, 3, 45, 0, 24, 65, 1, 113, 13, 1, 11, 65, 4, 33, 1, 12, 4, 11, 32, 3, 45, 0, 25, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 4, 11, 32, 14, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 14, 16, 180, 1, 32, 3, 40, 2, 184, 3, 33, 5, 32, 3, 40, 2, 180, 3, 33, 15, 32, 3, 40, 2, 176, 3, 33, 4, 32, 3, 40, 2, 172, 3, 33, 10, 32, 3, 40, 2, 168, 3, 65, 1, 70, 4, 64, 32, 15, 33, 6, 32, 10, 33, 1, 12, 4, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 10, 4, 64, 65, 2, 33, 10, 2, 64, 2, 64, 2, 64, 32, 5, 65, 123, 106, 14, 3, 0, 2, 1, 2, 11, 65, 126, 65, 0, 32, 4, 65, 255, 181, 192, 0, 65, 5, 16, 214, 2, 27, 33, 10, 12, 1, 11, 65, 126, 65, 1, 32, 4, 65, 132, 182, 192, 0, 65, 7, 16, 214, 2, 27, 33, 10, 11, 32, 15, 4, 64, 32, 4, 16, 226, 1, 11, 32, 10, 65, 30, 116, 65, 30, 117, 65, 0, 72, 13, 7, 32, 10, 65, 3, 113, 65, 1, 107, 13, 1, 12, 3, 11, 2, 64, 32, 15, 65, 123, 106, 14, 3, 0, 7, 2, 7, 11, 32, 4, 65, 255, 181, 192, 0, 65, 5, 16, 214, 2, 13, 6, 11, 32, 9, 4, 64, 32, 3, 65, 168, 3, 106, 65, 255, 181, 192, 0, 65, 5, 16, 123, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 12, 11, 11, 32, 3, 65, 168, 3, 106, 32, 14, 16, 179, 1, 32, 3, 40, 2, 180, 3, 33, 5, 65, 0, 33, 9, 32, 3, 40, 2, 168, 3, 34, 10, 65, 21, 71, 4, 64, 32, 3, 40, 2, 176, 3, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 10, 33, 1, 12, 11, 11, 32, 3, 65, 16, 106, 32, 14, 16, 181, 1, 32, 3, 45, 0, 16, 65, 1, 113, 69, 4, 64, 65, 4, 33, 1, 12, 5, 11, 32, 3, 45, 0, 17, 65, 34, 71, 4, 64, 65, 14, 33, 1, 12, 5, 11, 32, 14, 16, 175, 1, 32, 3, 65, 168, 3, 106, 32, 14, 16, 180, 1, 32, 3, 40, 2, 184, 3, 33, 13, 32, 3, 40, 2, 180, 3, 33, 6, 32, 3, 40, 2, 176, 3, 33, 4, 32, 3, 40, 2, 172, 3, 33, 5, 32, 3, 40, 2, 168, 3, 65, 1, 70, 13, 2, 32, 5, 4, 64, 32, 6, 33, 7, 32, 4, 33, 9, 12, 7, 11, 32, 6, 65, 127, 76, 13, 8, 2, 64, 32, 6, 69, 4, 64, 65, 1, 33, 9, 12, 1, 11, 32, 6, 65, 1, 16, 87, 34, 9, 69, 13, 4, 11, 32, 9, 32, 4, 32, 6, 16, 212, 2, 26, 32, 6, 33, 13, 32, 6, 33, 7, 12, 6, 11, 32, 4, 65, 132, 182, 192, 0, 65, 7, 16, 214, 2, 13, 4, 11, 32, 8, 4, 64, 32, 3, 65, 168, 3, 106, 65, 132, 182, 192, 0, 65, 7, 16, 123, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 40, 2, 168, 3, 33, 1, 32, 11, 13, 10, 12, 11, 11, 32, 3, 65, 248, 2, 106, 32, 14, 16, 179, 1, 32, 3, 40, 2, 248, 2, 34, 8, 65, 21, 71, 4, 64, 32, 3, 40, 2, 128, 3, 33, 6, 32, 3, 40, 2, 252, 2, 33, 4, 32, 3, 32, 3, 40, 2, 132, 3, 34, 5, 54, 2, 184, 3, 32, 3, 32, 6, 54, 2, 180, 3, 32, 3, 32, 4, 54, 2, 176, 3, 32, 3, 32, 8, 54, 2, 172, 3, 32, 3, 65, 1, 54, 2, 168, 3, 32, 8, 33, 1, 12, 11, 11, 32, 3, 65, 168, 3, 106, 32, 14, 16, 132, 1, 32, 3, 40, 2, 168, 3, 65, 1, 70, 4, 64, 32, 3, 40, 2, 184, 3, 33, 5, 32, 3, 40, 2, 180, 3, 33, 6, 32, 3, 40, 2, 176, 3, 33, 4, 32, 3, 40, 2, 172, 3, 33, 1, 12, 11, 11, 32, 3, 40, 2, 180, 3, 33, 16, 32, 3, 40, 2, 176, 3, 33, 11, 32, 3, 40, 2, 172, 3, 33, 8, 12, 4, 11, 32, 5, 33, 1, 32, 13, 33, 5, 12, 7, 11, 32, 6, 65, 1, 16, 138, 2, 0, 11, 32, 6, 33, 4, 32, 13, 33, 6, 12, 5, 11, 32, 3, 65, 168, 3, 106, 32, 14, 16, 179, 1, 32, 3, 40, 2, 168, 3, 34, 10, 65, 21, 71, 4, 64, 32, 3, 40, 2, 176, 3, 33, 6, 32, 3, 40, 2, 172, 3, 33, 4, 32, 3, 32, 3, 40, 2, 180, 3, 34, 5, 54, 2, 132, 3, 32, 3, 32, 6, 54, 2, 128, 3, 32, 3, 32, 4, 54, 2, 252, 2, 32, 3, 32, 10, 54, 2, 248, 2, 32, 10, 33, 1, 12, 5, 11, 32, 3, 65, 248, 2, 106, 32, 14, 16, 126, 32, 3, 40, 2, 248, 2, 34, 10, 65, 21, 70, 13, 0, 32, 3, 40, 2, 132, 3, 33, 5, 32, 3, 40, 2, 128, 3, 33, 6, 32, 3, 40, 2, 252, 2, 33, 4, 32, 10, 33, 1, 12, 4, 11, 32, 3, 65, 8, 106, 32, 14, 16, 181, 1, 65, 0, 33, 4, 32, 3, 45, 0, 9, 33, 5, 32, 3, 45, 0, 8, 65, 1, 113, 13, 0, 11, 12, 2, 11, 16, 139, 2, 0, 11, 32, 3, 65, 32, 106, 32, 2, 16, 181, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 45, 0, 32, 65, 1, 113, 4, 64, 32, 3, 45, 0, 33, 65, 253, 0, 70, 13, 5, 65, 11, 33, 10, 32, 4, 14, 4, 1, 2, 3, 15, 4, 11, 65, 4, 33, 10, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 14, 4, 0, 1, 2, 18, 3, 11, 32, 7, 69, 32, 9, 69, 114, 69, 4, 64, 32, 9, 16, 226, 1, 11, 32, 11, 69, 32, 8, 69, 114, 13, 17, 32, 8, 16, 226, 1, 12, 17, 11, 32, 7, 69, 32, 9, 69, 114, 69, 4, 64, 32, 9, 16, 226, 1, 11, 32, 11, 69, 32, 8, 69, 114, 13, 16, 32, 8, 16, 226, 1, 12, 16, 11, 32, 7, 69, 32, 9, 69, 114, 13, 15, 32, 9, 16, 226, 1, 12, 15, 11, 32, 7, 69, 32, 9, 69, 114, 13, 14, 32, 9, 16, 226, 1, 12, 14, 11, 32, 7, 69, 32, 9, 69, 114, 69, 4, 64, 32, 9, 16, 226, 1, 11, 32, 11, 69, 32, 8, 69, 114, 13, 13, 32, 8, 16, 226, 1, 12, 13, 11, 32, 7, 69, 32, 9, 69, 114, 69, 4, 64, 32, 9, 16, 226, 1, 11, 32, 11, 69, 32, 8, 69, 114, 13, 12, 32, 8, 16, 226, 1, 12, 12, 11, 32, 7, 69, 32, 9, 69, 114, 13, 11, 32, 9, 16, 226, 1, 12, 11, 11, 32, 7, 69, 32, 9, 69, 114, 13, 10, 32, 9, 16, 226, 1, 12, 10, 11, 32, 2, 16, 175, 1, 32, 3, 32, 9, 54, 2, 168, 3, 32, 3, 32, 7, 173, 32, 13, 173, 66, 32, 134, 132, 55, 2, 172, 3, 65, 0, 33, 1, 65, 1, 33, 10, 32, 7, 33, 5, 32, 9, 33, 6, 65, 0, 33, 2, 12, 12, 11, 32, 11, 69, 32, 8, 69, 114, 13, 1, 11, 32, 8, 16, 226, 1, 11, 32, 7, 69, 32, 9, 69, 114, 13, 0, 32, 9, 16, 226, 1, 11, 32, 1, 65, 8, 118, 33, 13, 12, 4, 11, 32, 7, 69, 32, 9, 69, 114, 13, 1, 11, 32, 9, 16, 226, 1, 11, 32, 1, 65, 8, 118, 33, 13, 12, 1, 11, 65, 4, 33, 1, 11, 32, 1, 65, 255, 1, 113, 32, 13, 65, 8, 116, 114, 33, 10, 11, 32, 3, 32, 6, 173, 32, 5, 173, 66, 32, 134, 132, 55, 3, 168, 3, 32, 10, 65, 8, 118, 11, 33, 2, 65, 1, 33, 1, 11, 11, 32, 10, 65, 255, 1, 113, 32, 2, 65, 8, 116, 114, 33, 2, 2, 64, 2, 64, 32, 0, 2, 127, 2, 64, 2, 64, 32, 1, 4, 64, 32, 4, 33, 10, 32, 2, 33, 1, 12, 1, 11, 32, 3, 41, 3, 168, 3, 34, 17, 66, 32, 136, 167, 33, 9, 32, 17, 167, 33, 7, 32, 3, 65, 168, 3, 106, 32, 3, 65, 136, 3, 106, 16, 176, 1, 32, 3, 40, 2, 168, 3, 34, 1, 65, 21, 70, 13, 1, 32, 3, 65, 180, 3, 106, 40, 2, 0, 33, 5, 32, 3, 65, 176, 3, 106, 40, 2, 0, 33, 6, 32, 3, 40, 2, 172, 3, 33, 10, 32, 2, 69, 4, 64, 32, 7, 69, 32, 9, 69, 114, 33, 2, 32, 4, 69, 4, 64, 32, 2, 13, 2, 32, 7, 16, 226, 1, 12, 2, 11, 32, 2, 13, 1, 32, 7, 16, 226, 1, 12, 1, 11, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 14, 4, 0, 1, 2, 4, 3, 11, 32, 7, 69, 32, 9, 69, 114, 69, 4, 64, 32, 7, 16, 226, 1, 11, 32, 8, 69, 32, 11, 69, 114, 13, 3, 32, 8, 16, 226, 1, 12, 3, 11, 32, 7, 69, 32, 9, 69, 114, 69, 4, 64, 32, 7, 16, 226, 1, 11, 32, 8, 69, 32, 11, 69, 114, 13, 2, 32, 8, 16, 226, 1, 12, 2, 11, 32, 7, 69, 32, 9, 69, 114, 13, 1, 32, 7, 16, 226, 1, 12, 1, 11, 32, 7, 69, 32, 9, 69, 114, 13, 0, 32, 7, 16, 226, 1, 11, 32, 3, 65, 132, 3, 106, 32, 5, 54, 2, 0, 32, 3, 65, 128, 3, 106, 32, 6, 54, 2, 0, 32, 3, 32, 10, 54, 2, 252, 2, 32, 3, 32, 1, 54, 2, 248, 2, 65, 136, 1, 65, 1, 16, 87, 34, 1, 69, 13, 2, 32, 1, 65, 156, 151, 192, 0, 65, 136, 1, 16, 212, 2, 33, 1, 32, 3, 65, 0, 54, 2, 144, 3, 32, 3, 66, 1, 55, 3, 136, 3, 32, 3, 32, 3, 65, 248, 2, 106, 54, 2, 148, 3, 32, 3, 65, 53, 54, 2, 156, 3, 32, 3, 32, 3, 65, 148, 3, 106, 54, 2, 152, 3, 32, 3, 32, 3, 65, 136, 3, 106, 54, 2, 164, 3, 32, 3, 65, 188, 3, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 172, 3, 32, 3, 65, 128, 149, 192, 0, 54, 2, 168, 3, 32, 3, 32, 3, 65, 152, 3, 106, 54, 2, 184, 3, 32, 3, 65, 164, 3, 106, 65, 164, 152, 192, 0, 32, 3, 65, 168, 3, 106, 16, 156, 2, 13, 3, 32, 3, 40, 2, 136, 3, 33, 2, 32, 3, 40, 2, 140, 3, 33, 6, 32, 3, 40, 2, 144, 3, 33, 4, 2, 64, 32, 3, 40, 2, 248, 2, 65, 20, 73, 13, 0, 32, 3, 40, 2, 252, 2, 34, 7, 69, 13, 0, 32, 3, 40, 2, 128, 3, 69, 13, 0, 32, 7, 16, 226, 1, 11, 32, 0, 65, 32, 106, 32, 4, 54, 2, 0, 32, 0, 65, 28, 106, 32, 6, 54, 2, 0, 32, 0, 65, 24, 106, 32, 2, 54, 2, 0, 32, 0, 65, 16, 106, 66, 136, 129, 128, 128, 128, 17, 55, 3, 0, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 65, 7, 54, 2, 0, 65, 1, 12, 1, 11, 32, 0, 32, 2, 54, 2, 4, 32, 0, 65, 32, 106, 32, 16, 54, 2, 0, 32, 0, 65, 28, 106, 32, 11, 54, 2, 0, 32, 0, 65, 24, 106, 32, 8, 54, 2, 0, 32, 0, 65, 20, 106, 32, 13, 54, 2, 0, 32, 0, 65, 16, 106, 32, 9, 54, 2, 0, 32, 0, 65, 12, 106, 32, 7, 54, 2, 0, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 65, 0, 11, 54, 2, 0, 32, 3, 65, 192, 3, 106, 36, 0, 15, 11, 65, 136, 1, 65, 1, 16, 138, 2, 0, 11, 65, 136, 149, 192, 0, 65, 55, 32, 3, 65, 168, 3, 106, 65, 244, 152, 192, 0, 65, 140, 150, 192, 0, 16, 162, 2, 0, 11, 12, 0, 32, 0, 32, 1, 41, 2, 0, 55, 3, 0, 11, 16, 0, 32, 0, 32, 2, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 99, 1, 2, 127, 2, 64, 2, 64, 32, 0, 65, 127, 74, 4, 64, 2, 64, 32, 0, 69, 4, 64, 65, 1, 33, 2, 12, 1, 11, 32, 0, 65, 1, 16, 87, 34, 2, 69, 13, 2, 11, 65, 12, 65, 4, 16, 87, 34, 1, 69, 13, 2, 32, 1, 65, 0, 54, 2, 8, 32, 1, 32, 0, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 1, 15, 11, 16, 139, 2, 0, 11, 32, 0, 65, 1, 16, 138, 2, 0, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 71, 1, 2, 127, 2, 64, 32, 0, 4, 64, 32, 0, 40, 2, 0, 34, 1, 69, 13, 1, 32, 0, 40, 2, 4, 32, 0, 16, 226, 1, 4, 64, 32, 1, 16, 226, 1, 11, 15, 11, 65, 208, 172, 192, 0, 65, 22, 65, 232, 172, 192, 0, 16, 93, 0, 11, 65, 248, 172, 192, 0, 65, 29, 65, 152, 173, 192, 0, 16, 93, 0, 11, 3, 0, 1, 11, 126, 1, 1, 126, 2, 64, 65, 12, 65, 4, 16, 87, 34, 1, 4, 64, 32, 1, 32, 3, 54, 2, 8, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 2, 64, 32, 1, 16, 0, 34, 2, 69, 4, 64, 32, 0, 65, 0, 54, 2, 0, 12, 1, 11, 32, 2, 40, 2, 0, 34, 3, 69, 13, 2, 32, 2, 41, 2, 4, 33, 4, 32, 2, 16, 226, 1, 32, 0, 32, 4, 55, 2, 4, 32, 0, 32, 3, 54, 2, 0, 11, 32, 1, 16, 226, 1, 15, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 65, 248, 172, 192, 0, 65, 29, 65, 152, 173, 192, 0, 16, 93, 0, 11, 126, 0, 2, 64, 2, 64, 32, 4, 4, 64, 65, 12, 65, 4, 16, 87, 34, 0, 69, 13, 1, 32, 0, 32, 2, 54, 2, 8, 32, 0, 32, 2, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 65, 12, 65, 4, 16, 87, 34, 1, 69, 13, 2, 32, 1, 32, 4, 54, 2, 8, 32, 1, 32, 4, 54, 2, 4, 32, 1, 32, 3, 54, 2, 0, 32, 0, 32, 1, 16, 1, 32, 1, 16, 226, 1, 32, 0, 16, 226, 1, 15, 11, 65, 220, 165, 192, 0, 65, 136, 4, 65, 136, 170, 192, 0, 16, 93, 0, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 52, 0, 65, 12, 65, 4, 16, 87, 34, 0, 69, 4, 64, 65, 12, 65, 4, 16, 138, 2, 0, 11, 32, 0, 32, 2, 54, 2, 8, 32, 0, 32, 2, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 16, 2, 32, 0, 16, 226, 1, 11, 240, 2, 2, 2, 127, 1, 126, 35, 0, 65, 64, 106, 34, 1, 36, 0, 2, 64, 2, 64, 2, 64, 65, 12, 65, 4, 16, 87, 34, 5, 4, 64, 32, 5, 32, 3, 54, 2, 8, 32, 5, 32, 3, 54, 2, 4, 32, 5, 32, 2, 54, 2, 0, 2, 64, 32, 5, 16, 3, 34, 4, 4, 64, 32, 4, 40, 2, 0, 34, 2, 69, 13, 3, 32, 4, 41, 2, 4, 33, 6, 32, 4, 16, 226, 1, 32, 1, 32, 6, 55, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 1, 65, 52, 106, 65, 1, 54, 2, 0, 32, 1, 66, 1, 55, 2, 36, 32, 1, 65, 176, 170, 192, 0, 54, 2, 32, 32, 1, 65, 54, 54, 2, 60, 32, 1, 32, 1, 65, 56, 106, 54, 2, 48, 32, 1, 32, 1, 54, 2, 56, 32, 1, 65, 16, 106, 32, 1, 65, 32, 106, 16, 140, 2, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 41, 3, 16, 55, 2, 0, 32, 0, 65, 20, 106, 32, 1, 65, 24, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 2, 64, 32, 1, 40, 2, 0, 34, 0, 69, 13, 0, 32, 1, 40, 2, 4, 69, 13, 0, 32, 0, 16, 226, 1, 11, 12, 1, 11, 32, 3, 65, 127, 76, 13, 3, 2, 64, 32, 3, 69, 4, 64, 65, 1, 33, 4, 12, 1, 11, 32, 3, 65, 1, 16, 87, 34, 4, 69, 13, 5, 11, 32, 4, 32, 2, 32, 3, 16, 212, 2, 33, 2, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 32, 0, 32, 2, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 11, 32, 5, 16, 226, 1, 32, 1, 65, 64, 107, 36, 0, 15, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 65, 248, 172, 192, 0, 65, 29, 65, 152, 173, 192, 0, 16, 93, 0, 11, 16, 139, 2, 0, 11, 32, 3, 65, 1, 16, 138, 2, 0, 11, 140, 3, 2, 1, 127, 1, 126, 35, 0, 65, 64, 106, 34, 1, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 65, 12, 65, 4, 16, 87, 34, 4, 4, 64, 32, 4, 32, 3, 54, 2, 8, 32, 4, 32, 3, 54, 2, 4, 32, 4, 32, 2, 54, 2, 0, 65, 32, 65, 1, 16, 87, 34, 3, 69, 13, 1, 65, 12, 65, 4, 16, 87, 34, 2, 69, 13, 2, 32, 2, 66, 32, 55, 2, 4, 32, 2, 32, 3, 54, 2, 0, 2, 64, 32, 4, 32, 2, 16, 4, 34, 3, 4, 64, 32, 3, 40, 2, 0, 34, 2, 69, 13, 5, 32, 3, 41, 2, 4, 33, 5, 32, 3, 16, 226, 1, 32, 1, 32, 5, 55, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 1, 65, 52, 106, 65, 1, 54, 2, 0, 32, 1, 66, 1, 55, 2, 36, 32, 1, 65, 212, 170, 192, 0, 54, 2, 32, 32, 1, 65, 54, 54, 2, 60, 32, 1, 32, 1, 65, 56, 106, 54, 2, 48, 32, 1, 32, 1, 54, 2, 56, 32, 1, 65, 16, 106, 32, 1, 65, 32, 106, 16, 140, 2, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 41, 3, 16, 55, 2, 0, 32, 0, 65, 20, 106, 32, 1, 65, 24, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 2, 64, 32, 1, 40, 2, 0, 34, 0, 69, 13, 0, 32, 1, 40, 2, 4, 69, 13, 0, 32, 0, 16, 226, 1, 11, 12, 1, 11, 32, 2, 40, 2, 0, 34, 3, 69, 13, 5, 32, 2, 41, 2, 4, 33, 5, 32, 2, 16, 226, 1, 32, 0, 65, 8, 106, 32, 5, 55, 2, 0, 32, 0, 32, 3, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 11, 32, 4, 16, 226, 1, 32, 1, 65, 64, 107, 36, 0, 15, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 65, 32, 65, 1, 16, 138, 2, 0, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 65, 248, 172, 192, 0, 65, 29, 65, 152, 173, 192, 0, 16, 93, 0, 11, 65, 248, 172, 192, 0, 65, 29, 65, 152, 173, 192, 0, 16, 93, 0, 11, 157, 3, 2, 2, 127, 1, 126, 35, 0, 65, 64, 106, 34, 1, 36, 0, 32, 2, 40, 2, 8, 33, 3, 32, 2, 40, 2, 0, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 65, 12, 65, 4, 16, 87, 34, 4, 4, 64, 32, 4, 32, 3, 54, 2, 8, 32, 4, 32, 3, 54, 2, 4, 32, 4, 32, 2, 54, 2, 0, 65, 218, 0, 65, 1, 16, 87, 34, 3, 69, 13, 1, 65, 12, 65, 4, 16, 87, 34, 2, 69, 13, 2, 32, 2, 66, 218, 0, 55, 2, 4, 32, 2, 32, 3, 54, 2, 0, 2, 64, 32, 4, 32, 2, 16, 5, 34, 3, 4, 64, 32, 3, 40, 2, 0, 34, 2, 69, 13, 5, 32, 3, 41, 2, 4, 33, 5, 32, 3, 16, 226, 1, 32, 1, 32, 5, 55, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 1, 65, 52, 106, 65, 1, 54, 2, 0, 32, 1, 66, 1, 55, 2, 36, 32, 1, 65, 244, 170, 192, 0, 54, 2, 32, 32, 1, 65, 54, 54, 2, 60, 32, 1, 32, 1, 65, 56, 106, 54, 2, 48, 32, 1, 32, 1, 54, 2, 56, 32, 1, 65, 16, 106, 32, 1, 65, 32, 106, 16, 140, 2, 32, 0, 65, 8, 106, 65, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 41, 3, 16, 55, 2, 0, 32, 0, 65, 20, 106, 32, 1, 65, 24, 106, 40, 2, 0, 54, 2, 0, 32, 0, 65, 1, 54, 2, 0, 2, 64, 32, 1, 40, 2, 0, 34, 0, 69, 13, 0, 32, 1, 40, 2, 4, 69, 13, 0, 32, 0, 16, 226, 1, 11, 12, 1, 11, 32, 2, 40, 2, 0, 34, 3, 69, 13, 5, 32, 2, 41, 2, 4, 33, 5, 32, 2, 16, 226, 1, 32, 0, 65, 8, 106, 32, 5, 55, 2, 0, 32, 0, 32, 3, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 11, 32, 4, 16, 226, 1, 32, 1, 65, 64, 107, 36, 0, 15, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 65, 218, 0, 65, 1, 16, 138, 2, 0, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 65, 248, 172, 192, 0, 65, 29, 65, 152, 173, 192, 0, 16, 93, 0, 11, 65, 248, 172, 192, 0, 65, 29, 65, 152, 173, 192, 0, 16, 93, 0, 11, 168, 2, 0, 65, 12, 65, 4, 16, 87, 34, 1, 4, 64, 2, 64, 32, 1, 32, 3, 54, 2, 8, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 65, 12, 65, 4, 16, 87, 34, 2, 69, 13, 0, 32, 2, 32, 5, 54, 2, 8, 32, 2, 32, 5, 54, 2, 4, 32, 2, 32, 4, 54, 2, 0, 65, 12, 65, 4, 16, 87, 34, 3, 69, 13, 0, 32, 3, 32, 7, 54, 2, 8, 32, 3, 32, 7, 54, 2, 4, 32, 3, 32, 6, 54, 2, 0, 32, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 32, 2, 32, 3, 16, 6, 34, 4, 14, 11, 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 7, 0, 11, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 32, 0, 65, 4, 106, 65, 7, 54, 2, 0, 65, 1, 12, 7, 11, 32, 0, 65, 1, 58, 0, 1, 65, 0, 12, 6, 11, 32, 0, 65, 0, 58, 0, 1, 65, 0, 12, 5, 11, 65, 252, 170, 192, 0, 65, 56, 65, 180, 171, 192, 0, 16, 93, 0, 11, 32, 0, 65, 4, 106, 65, 3, 54, 2, 0, 65, 1, 12, 3, 11, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 65, 1, 12, 2, 11, 32, 0, 65, 4, 106, 65, 5, 54, 2, 0, 65, 1, 12, 1, 11, 32, 0, 65, 4, 106, 65, 1, 54, 2, 0, 65, 1, 11, 58, 0, 0, 32, 3, 16, 226, 1, 32, 2, 16, 226, 1, 32, 1, 16, 226, 1, 15, 11, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 179, 2, 1, 1, 126, 2, 64, 2, 64, 2, 64, 65, 12, 65, 4, 16, 87, 34, 1, 4, 64, 32, 1, 32, 3, 54, 2, 8, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 65, 12, 65, 4, 16, 87, 34, 2, 69, 13, 1, 32, 2, 32, 5, 54, 2, 8, 32, 2, 32, 5, 54, 2, 4, 32, 2, 32, 4, 54, 2, 0, 32, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 32, 2, 32, 6, 65, 255, 1, 113, 16, 7, 34, 7, 66, 32, 136, 167, 34, 3, 14, 7, 1, 0, 2, 3, 4, 0, 5, 0, 11, 32, 0, 65, 3, 54, 2, 4, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 12, 5, 11, 32, 7, 167, 34, 3, 69, 13, 8, 32, 3, 40, 2, 0, 34, 4, 69, 13, 9, 32, 3, 41, 2, 4, 33, 7, 32, 3, 16, 226, 1, 32, 0, 65, 8, 106, 32, 7, 55, 2, 0, 32, 0, 32, 4, 54, 2, 4, 65, 0, 12, 5, 11, 65, 252, 170, 192, 0, 65, 56, 65, 196, 171, 192, 0, 16, 93, 0, 11, 32, 0, 65, 0, 54, 2, 4, 12, 2, 11, 32, 0, 65, 1, 54, 2, 4, 65, 1, 12, 2, 11, 32, 0, 65, 2, 54, 2, 4, 11, 65, 1, 11, 54, 2, 0, 32, 2, 16, 226, 1, 32, 1, 16, 226, 1, 15, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 65, 208, 172, 192, 0, 65, 22, 65, 232, 172, 192, 0, 16, 93, 0, 11, 65, 248, 172, 192, 0, 65, 29, 65, 152, 173, 192, 0, 16, 93, 0, 11, 168, 2, 0, 65, 12, 65, 4, 16, 87, 34, 1, 4, 64, 2, 64, 32, 1, 32, 3, 54, 2, 8, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 65, 12, 65, 4, 16, 87, 34, 2, 69, 13, 0, 32, 2, 32, 5, 54, 2, 8, 32, 2, 32, 5, 54, 2, 4, 32, 2, 32, 4, 54, 2, 0, 65, 12, 65, 4, 16, 87, 34, 3, 69, 13, 0, 32, 3, 32, 7, 54, 2, 8, 32, 3, 32, 7, 54, 2, 4, 32, 3, 32, 6, 54, 2, 0, 32, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 32, 2, 32, 3, 16, 8, 34, 4, 14, 11, 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 7, 0, 11, 32, 0, 65, 8, 106, 32, 4, 54, 2, 0, 32, 0, 65, 4, 106, 65, 7, 54, 2, 0, 65, 1, 12, 7, 11, 32, 0, 65, 1, 58, 0, 1, 65, 0, 12, 6, 11, 32, 0, 65, 0, 58, 0, 1, 65, 0, 12, 5, 11, 32, 0, 65, 4, 106, 65, 2, 54, 2, 0, 65, 1, 12, 4, 11, 65, 212, 171, 192, 0, 65, 59, 65, 144, 172, 192, 0, 16, 93, 0, 11, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 65, 1, 12, 2, 11, 32, 0, 65, 4, 106, 65, 5, 54, 2, 0, 65, 1, 12, 1, 11, 32, 0, 65, 4, 106, 65, 1, 54, 2, 0, 65, 1, 11, 58, 0, 0, 32, 3, 16, 226, 1, 32, 2, 16, 226, 1, 32, 1, 16, 226, 1, 15, 11, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 172, 3, 1, 1, 127, 35, 0, 65, 48, 107, 34, 1, 36, 0, 32, 1, 32, 2, 32, 3, 16, 142, 1, 32, 1, 40, 2, 8, 33, 3, 32, 1, 40, 2, 0, 33, 8, 65, 12, 65, 4, 16, 87, 34, 2, 4, 64, 2, 64, 32, 2, 32, 3, 54, 2, 8, 32, 2, 32, 3, 54, 2, 4, 32, 2, 32, 8, 54, 2, 0, 32, 1, 65, 16, 106, 32, 4, 32, 5, 16, 142, 1, 32, 1, 40, 2, 24, 33, 4, 32, 1, 40, 2, 16, 33, 5, 65, 12, 65, 4, 16, 87, 34, 3, 69, 13, 0, 32, 3, 32, 4, 54, 2, 8, 32, 3, 32, 4, 54, 2, 4, 32, 3, 32, 5, 54, 2, 0, 32, 1, 65, 32, 106, 32, 6, 32, 7, 16, 142, 1, 32, 1, 40, 2, 40, 33, 6, 32, 1, 40, 2, 32, 33, 7, 65, 12, 65, 4, 16, 87, 34, 4, 69, 13, 0, 32, 4, 32, 6, 54, 2, 8, 32, 4, 32, 6, 54, 2, 4, 32, 4, 32, 7, 54, 2, 0, 32, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 32, 3, 32, 4, 16, 9, 34, 6, 14, 11, 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 7, 0, 11, 32, 0, 65, 8, 106, 32, 6, 54, 2, 0, 32, 0, 65, 4, 106, 65, 7, 54, 2, 0, 65, 1, 12, 7, 11, 32, 0, 65, 1, 58, 0, 1, 65, 0, 12, 6, 11, 32, 0, 65, 0, 58, 0, 1, 65, 0, 12, 5, 11, 32, 0, 65, 4, 106, 65, 2, 54, 2, 0, 65, 1, 12, 4, 11, 65, 212, 171, 192, 0, 65, 59, 65, 160, 172, 192, 0, 16, 93, 0, 11, 32, 0, 65, 4, 106, 65, 4, 54, 2, 0, 65, 1, 12, 2, 11, 32, 0, 65, 4, 106, 65, 5, 54, 2, 0, 65, 1, 12, 1, 11, 32, 0, 65, 4, 106, 65, 1, 54, 2, 0, 65, 1, 11, 58, 0, 0, 32, 4, 16, 226, 1, 32, 1, 40, 2, 36, 4, 64, 32, 7, 16, 226, 1, 11, 32, 3, 16, 226, 1, 32, 1, 40, 2, 20, 4, 64, 32, 5, 16, 226, 1, 11, 32, 2, 16, 226, 1, 32, 1, 40, 2, 4, 4, 64, 32, 8, 16, 226, 1, 11, 32, 1, 65, 48, 106, 36, 0, 15, 11, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 52, 0, 65, 12, 65, 4, 16, 87, 34, 0, 69, 4, 64, 65, 12, 65, 4, 16, 138, 2, 0, 11, 32, 0, 32, 2, 54, 2, 8, 32, 0, 32, 2, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 0, 16, 10, 32, 0, 16, 226, 1, 11, 158, 4, 2, 3, 127, 1, 126, 35, 0, 65, 128, 1, 107, 34, 1, 36, 0, 2, 64, 2, 64, 2, 64, 65, 12, 65, 4, 16, 87, 34, 4, 4, 64, 32, 4, 32, 3, 54, 2, 8, 32, 4, 32, 3, 54, 2, 4, 32, 4, 32, 2, 54, 2, 0, 32, 4, 16, 11, 34, 2, 69, 13, 1, 32, 2, 40, 2, 0, 34, 3, 69, 13, 2, 32, 2, 40, 2, 4, 33, 5, 32, 2, 40, 2, 8, 33, 6, 32, 2, 16, 226, 1, 32, 1, 32, 3, 32, 6, 16, 143, 1, 2, 64, 32, 1, 40, 2, 0, 65, 1, 70, 4, 64, 32, 1, 65, 64, 107, 32, 1, 65, 32, 106, 41, 3, 0, 55, 3, 0, 32, 1, 65, 56, 106, 32, 1, 65, 24, 106, 41, 3, 0, 55, 3, 0, 32, 1, 65, 48, 106, 32, 1, 65, 16, 106, 41, 3, 0, 55, 3, 0, 32, 1, 32, 1, 65, 8, 106, 41, 3, 0, 55, 3, 40, 32, 1, 65, 0, 54, 2, 80, 32, 1, 66, 1, 55, 3, 72, 32, 1, 32, 1, 65, 40, 106, 54, 2, 84, 32, 1, 65, 55, 54, 2, 92, 32, 1, 32, 1, 65, 212, 0, 106, 54, 2, 88, 32, 1, 32, 1, 65, 200, 0, 106, 54, 2, 100, 32, 1, 65, 252, 0, 106, 65, 1, 54, 2, 0, 32, 1, 66, 1, 55, 2, 108, 32, 1, 65, 128, 149, 192, 0, 54, 2, 104, 32, 1, 32, 1, 65, 216, 0, 106, 54, 2, 120, 32, 1, 65, 228, 0, 106, 65, 164, 152, 192, 0, 32, 1, 65, 232, 0, 106, 16, 156, 2, 13, 5, 32, 1, 65, 240, 0, 106, 32, 1, 65, 208, 0, 106, 40, 2, 0, 34, 2, 54, 2, 0, 32, 1, 32, 1, 41, 3, 72, 34, 7, 55, 3, 104, 32, 0, 66, 129, 128, 128, 128, 16, 55, 2, 0, 32, 0, 65, 8, 106, 32, 7, 55, 2, 0, 32, 0, 65, 16, 106, 32, 2, 54, 2, 0, 32, 0, 65, 28, 106, 32, 6, 54, 2, 0, 32, 0, 65, 24, 106, 32, 5, 54, 2, 0, 32, 0, 65, 20, 106, 32, 3, 54, 2, 0, 32, 1, 65, 40, 106, 16, 42, 12, 1, 11, 32, 0, 32, 1, 41, 2, 4, 55, 2, 0, 32, 0, 65, 24, 106, 32, 1, 65, 28, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 16, 106, 32, 1, 65, 20, 106, 41, 2, 0, 55, 2, 0, 32, 0, 65, 8, 106, 32, 1, 65, 12, 106, 41, 2, 0, 55, 2, 0, 32, 5, 69, 13, 0, 32, 3, 16, 226, 1, 11, 32, 4, 16, 226, 1, 32, 1, 65, 128, 1, 106, 36, 0, 15, 11, 65, 12, 65, 4, 16, 138, 2, 0, 11, 65, 208, 172, 192, 0, 65, 22, 65, 232, 172, 192, 0, 16, 93, 0, 11, 65, 248, 172, 192, 0, 65, 29, 65, 152, 173, 192, 0, 16, 93, 0, 11, 65, 136, 149, 192, 0, 65, 55, 32, 1, 65, 232, 0, 106, 65, 244, 152, 192, 0, 65, 140, 150, 192, 0, 16, 162, 2, 0, 11, 61, 1, 2, 127, 32, 0, 40, 2, 8, 33, 1, 32, 0, 40, 2, 0, 33, 2, 65, 12, 65, 4, 16, 87, 34, 0, 69, 4, 64, 65, 12, 65, 4, 16, 138, 2, 0, 11, 32, 0, 32, 1, 54, 2, 8, 32, 0, 32, 1, 54, 2, 4, 32, 0, 32, 2, 54, 2, 0, 32, 0, 11, 75, 1, 1, 127, 2, 64, 32, 1, 4, 64, 32, 1, 40, 2, 0, 34, 2, 69, 13, 1, 32, 0, 32, 2, 54, 2, 0, 32, 0, 32, 1, 41, 2, 4, 55, 2, 4, 32, 1, 16, 226, 1, 15, 11, 65, 208, 172, 192, 0, 65, 22, 65, 232, 172, 192, 0, 16, 93, 0, 11, 65, 248, 172, 192, 0, 65, 29, 65, 152, 173, 192, 0, 16, 93, 0, 11, 61, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 65, 168, 173, 192, 0, 65, 4, 16, 187, 2, 32, 2, 32, 0, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 167, 2, 32, 2, 16, 168, 2, 32, 2, 65, 16, 106, 36, 0, 11, 61, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 65, 172, 173, 192, 0, 65, 13, 16, 187, 2, 32, 2, 32, 0, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 220, 154, 192, 0, 16, 167, 2, 32, 2, 16, 168, 2, 32, 2, 65, 16, 106, 36, 0, 11, 225, 5, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 65, 1, 107, 14, 10, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1, 11, 32, 2, 32, 1, 65, 196, 175, 192, 0, 65, 12, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 208, 175, 192, 0, 65, 6, 32, 2, 65, 12, 106, 65, 216, 175, 192, 0, 16, 159, 2, 12, 10, 11, 32, 2, 32, 1, 65, 172, 177, 192, 0, 65, 15, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 208, 175, 192, 0, 65, 6, 32, 2, 65, 12, 106, 65, 188, 177, 192, 0, 16, 159, 2, 12, 9, 11, 32, 2, 32, 1, 65, 137, 177, 192, 0, 65, 16, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 208, 175, 192, 0, 65, 6, 32, 2, 65, 12, 106, 65, 156, 177, 192, 0, 16, 159, 2, 12, 8, 11, 32, 2, 32, 1, 65, 255, 176, 192, 0, 65, 10, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 151, 176, 192, 0, 65, 3, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 159, 2, 12, 7, 11, 32, 2, 32, 1, 65, 242, 176, 192, 0, 65, 13, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 151, 176, 192, 0, 65, 3, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 159, 2, 12, 6, 11, 32, 2, 32, 1, 65, 196, 176, 192, 0, 65, 15, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 8, 106, 54, 2, 12, 32, 2, 65, 211, 176, 192, 0, 65, 8, 32, 2, 65, 12, 106, 65, 220, 176, 192, 0, 16, 159, 2, 32, 2, 32, 0, 65, 16, 106, 54, 2, 12, 32, 2, 65, 236, 176, 192, 0, 65, 6, 32, 2, 65, 12, 106, 65, 220, 176, 192, 0, 16, 159, 2, 12, 5, 11, 32, 2, 32, 1, 65, 185, 176, 192, 0, 65, 11, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 151, 176, 192, 0, 65, 3, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 159, 2, 12, 4, 11, 32, 2, 32, 1, 65, 173, 176, 192, 0, 65, 8, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 181, 176, 192, 0, 65, 4, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 159, 2, 12, 3, 11, 32, 2, 32, 1, 65, 154, 176, 192, 0, 65, 8, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 162, 176, 192, 0, 65, 11, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 159, 2, 32, 2, 32, 0, 65, 16, 106, 54, 2, 12, 32, 2, 65, 151, 176, 192, 0, 65, 3, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 159, 2, 12, 2, 11, 32, 2, 32, 1, 65, 128, 176, 192, 0, 65, 12, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 140, 176, 192, 0, 65, 11, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 159, 2, 32, 2, 32, 0, 65, 16, 106, 54, 2, 12, 32, 2, 65, 151, 176, 192, 0, 65, 3, 32, 2, 65, 12, 106, 65, 204, 154, 192, 0, 16, 159, 2, 12, 1, 11, 32, 2, 32, 1, 65, 232, 175, 192, 0, 65, 8, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 208, 175, 192, 0, 65, 6, 32, 2, 65, 12, 106, 65, 240, 175, 192, 0, 16, 159, 2, 11, 32, 2, 16, 166, 2, 32, 2, 65, 16, 106, 36, 0, 11, 45, 1, 1, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 1, 65, 8, 106, 32, 0, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 1, 32, 0, 41, 2, 0, 55, 3, 0, 32, 1, 16, 167, 1, 0, 11, 44, 1, 1, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 1, 32, 0, 41, 2, 0, 55, 3, 8, 32, 1, 65, 8, 106, 65, 176, 184, 192, 0, 65, 0, 32, 0, 40, 2, 8, 16, 233, 1, 0, 11, 46, 1, 1, 127, 35, 0, 65, 16, 107, 34, 0, 36, 0, 32, 0, 65, 208, 192, 192, 0, 54, 2, 8, 32, 0, 65, 29, 54, 2, 4, 32, 0, 65, 177, 192, 192, 0, 54, 2, 0, 32, 0, 16, 166, 1, 0, 11, 25, 0, 32, 0, 40, 2, 0, 40, 2, 0, 34, 0, 40, 2, 0, 32, 0, 40, 2, 8, 32, 1, 16, 192, 2, 11, 29, 0, 32, 1, 40, 2, 0, 69, 4, 64, 0, 11, 32, 0, 65, 196, 184, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 85, 1, 2, 127, 32, 1, 40, 2, 0, 33, 2, 32, 1, 65, 0, 54, 2, 0, 2, 64, 32, 2, 4, 64, 32, 1, 40, 2, 4, 33, 3, 65, 8, 65, 4, 16, 87, 34, 1, 69, 13, 1, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 0, 65, 196, 184, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 15, 11, 0, 11, 65, 8, 65, 4, 16, 138, 2, 0, 11, 234, 3, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 65, 1, 107, 14, 20, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 0, 1, 11, 32, 2, 32, 0, 40, 2, 4, 54, 2, 40, 32, 0, 65, 12, 106, 40, 2, 0, 12, 20, 11, 32, 2, 65, 194, 190, 192, 0, 54, 2, 40, 65, 34, 12, 19, 11, 32, 2, 65, 169, 190, 192, 0, 54, 2, 40, 65, 25, 12, 18, 11, 32, 2, 65, 141, 190, 192, 0, 54, 2, 40, 65, 28, 12, 17, 11, 32, 2, 65, 242, 189, 192, 0, 54, 2, 40, 65, 27, 12, 16, 11, 32, 2, 65, 211, 189, 192, 0, 54, 2, 40, 65, 31, 12, 15, 11, 32, 2, 65, 173, 189, 192, 0, 54, 2, 40, 65, 38, 12, 14, 11, 32, 2, 65, 133, 189, 192, 0, 54, 2, 40, 65, 40, 12, 13, 11, 32, 2, 65, 206, 188, 192, 0, 54, 2, 40, 65, 55, 12, 12, 11, 32, 2, 65, 167, 188, 192, 0, 54, 2, 40, 65, 39, 12, 11, 11, 32, 2, 65, 239, 187, 192, 0, 54, 2, 40, 65, 56, 12, 10, 11, 32, 2, 65, 183, 187, 192, 0, 54, 2, 40, 65, 56, 12, 9, 11, 32, 2, 65, 137, 187, 192, 0, 54, 2, 40, 65, 46, 12, 8, 11, 32, 2, 65, 241, 186, 192, 0, 54, 2, 40, 65, 24, 12, 7, 11, 32, 2, 65, 226, 186, 192, 0, 54, 2, 40, 65, 15, 12, 6, 11, 32, 2, 65, 214, 186, 192, 0, 54, 2, 40, 65, 12, 12, 5, 11, 32, 2, 65, 187, 186, 192, 0, 54, 2, 40, 65, 27, 12, 4, 11, 32, 2, 65, 160, 186, 192, 0, 54, 2, 40, 65, 27, 12, 3, 11, 32, 2, 65, 209, 185, 192, 0, 54, 2, 40, 65, 207, 0, 12, 2, 11, 32, 2, 65, 149, 185, 192, 0, 54, 2, 40, 65, 60, 12, 1, 11, 32, 2, 65, 220, 184, 192, 0, 54, 2, 40, 65, 57, 11, 33, 0, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 65, 203, 0, 54, 2, 36, 32, 2, 32, 0, 54, 2, 44, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 212, 184, 192, 0, 54, 2, 8, 32, 2, 32, 2, 65, 40, 106, 54, 2, 32, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 32, 2, 65, 48, 106, 36, 0, 11, 16, 0, 32, 0, 65, 1, 58, 0, 4, 32, 0, 32, 1, 54, 2, 0, 11, 23, 0, 32, 0, 65, 0, 54, 2, 8, 32, 0, 32, 2, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 46, 1, 2, 127, 32, 0, 40, 2, 8, 34, 1, 65, 1, 106, 34, 2, 32, 1, 79, 4, 64, 32, 0, 32, 2, 54, 2, 8, 15, 11, 65, 224, 191, 192, 0, 65, 28, 65, 192, 193, 192, 0, 16, 147, 2, 0, 11, 95, 1, 3, 127, 32, 0, 2, 127, 32, 1, 40, 2, 4, 34, 2, 32, 1, 40, 2, 8, 34, 0, 75, 4, 64, 32, 1, 40, 2, 0, 33, 3, 3, 64, 65, 18, 32, 0, 32, 3, 106, 45, 0, 0, 65, 119, 106, 34, 4, 65, 23, 75, 65, 1, 32, 4, 116, 65, 147, 128, 128, 4, 113, 69, 114, 13, 2, 26, 32, 1, 32, 0, 65, 1, 106, 34, 0, 54, 2, 8, 32, 0, 32, 2, 71, 13, 0, 11, 11, 65, 21, 11, 54, 2, 0, 11, 182, 2, 1, 6, 127, 65, 1, 33, 4, 2, 64, 32, 1, 40, 2, 4, 34, 5, 32, 1, 40, 2, 8, 34, 2, 77, 13, 0, 32, 1, 40, 2, 0, 33, 6, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 2, 64, 65, 18, 33, 4, 2, 64, 32, 2, 32, 6, 106, 45, 0, 0, 34, 3, 65, 119, 106, 14, 36, 0, 0, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 1, 11, 65, 1, 33, 4, 32, 1, 32, 2, 65, 1, 106, 34, 2, 54, 2, 8, 32, 2, 32, 5, 71, 13, 1, 12, 6, 11, 11, 32, 3, 65, 221, 0, 71, 13, 4, 32, 2, 65, 1, 106, 34, 3, 32, 2, 73, 13, 1, 32, 1, 32, 3, 54, 2, 8, 32, 0, 65, 21, 54, 2, 0, 15, 11, 32, 2, 65, 1, 106, 34, 3, 32, 2, 73, 13, 1, 32, 1, 32, 3, 54, 2, 8, 32, 5, 32, 3, 77, 13, 3, 3, 64, 32, 3, 32, 6, 106, 45, 0, 0, 34, 2, 65, 119, 106, 34, 7, 65, 23, 75, 65, 1, 32, 7, 116, 65, 147, 128, 128, 4, 113, 69, 114, 13, 3, 32, 1, 32, 3, 65, 1, 106, 34, 3, 54, 2, 8, 32, 3, 32, 5, 71, 13, 0, 11, 12, 3, 11, 65, 224, 191, 192, 0, 65, 28, 65, 192, 193, 192, 0, 16, 147, 2, 0, 11, 65, 224, 191, 192, 0, 65, 28, 65, 192, 193, 192, 0, 16, 147, 2, 0, 11, 32, 2, 65, 221, 0, 71, 13, 0, 32, 0, 65, 19, 54, 2, 0, 15, 11, 32, 0, 32, 4, 54, 2, 0, 11, 201, 1, 1, 5, 127, 32, 1, 40, 2, 4, 34, 4, 32, 1, 40, 2, 8, 34, 2, 77, 4, 64, 32, 0, 65, 2, 54, 2, 0, 15, 11, 32, 1, 40, 2, 0, 33, 5, 2, 64, 2, 64, 2, 64, 2, 64, 3, 64, 65, 18, 33, 3, 2, 64, 32, 2, 32, 5, 106, 45, 0, 0, 34, 6, 65, 119, 106, 14, 36, 0, 0, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 11, 32, 1, 32, 2, 65, 1, 106, 34, 2, 54, 2, 8, 32, 2, 32, 4, 71, 13, 0, 11, 32, 0, 65, 2, 54, 2, 0, 15, 11, 32, 6, 65, 253, 0, 71, 13, 1, 32, 2, 65, 1, 106, 34, 3, 32, 2, 73, 13, 2, 32, 1, 32, 3, 54, 2, 8, 32, 0, 65, 21, 54, 2, 0, 15, 11, 65, 19, 33, 3, 11, 32, 0, 32, 3, 54, 2, 0, 15, 11, 65, 224, 191, 192, 0, 65, 28, 65, 192, 193, 192, 0, 16, 147, 2, 0, 11, 194, 1, 1, 4, 127, 32, 1, 40, 2, 4, 34, 4, 32, 1, 40, 2, 8, 34, 2, 77, 4, 64, 32, 0, 65, 2, 54, 2, 0, 15, 11, 32, 1, 40, 2, 0, 33, 5, 2, 64, 2, 64, 2, 64, 3, 64, 65, 5, 33, 3, 2, 64, 32, 2, 32, 5, 106, 45, 0, 0, 65, 119, 106, 14, 50, 0, 0, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 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, 2, 3, 11, 32, 1, 32, 2, 65, 1, 106, 34, 2, 54, 2, 8, 32, 2, 32, 4, 71, 13, 0, 11, 32, 0, 65, 2, 54, 2, 0, 15, 11, 32, 2, 65, 1, 106, 34, 3, 32, 2, 73, 13, 1, 32, 1, 32, 3, 54, 2, 8, 65, 21, 33, 3, 11, 32, 0, 32, 3, 54, 2, 0, 15, 11, 65, 224, 191, 192, 0, 65, 28, 65, 192, 193, 192, 0, 16, 147, 2, 0, 11, 249, 24, 1, 12, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 4, 34, 3, 32, 1, 40, 2, 8, 34, 7, 75, 4, 64, 32, 1, 40, 2, 0, 33, 9, 32, 7, 33, 8, 3, 64, 2, 64, 2, 127, 32, 8, 32, 9, 106, 45, 0, 0, 34, 5, 65, 220, 0, 71, 4, 64, 65, 0, 32, 5, 65, 34, 71, 13, 1, 26, 32, 1, 32, 8, 65, 1, 106, 34, 5, 54, 2, 8, 32, 4, 65, 1, 113, 65, 0, 33, 4, 4, 64, 32, 5, 33, 8, 12, 3, 11, 32, 10, 65, 1, 113, 69, 13, 5, 32, 8, 32, 7, 79, 4, 64, 32, 3, 32, 8, 79, 4, 64, 32, 8, 32, 7, 107, 34, 11, 65, 127, 76, 13, 8, 65, 0, 33, 5, 2, 64, 2, 64, 32, 11, 69, 4, 64, 65, 1, 33, 6, 65, 0, 33, 3, 12, 1, 11, 32, 11, 34, 3, 65, 1, 16, 87, 34, 6, 69, 13, 1, 11, 32, 2, 65, 0, 54, 2, 8, 32, 2, 65, 0, 54, 2, 12, 32, 11, 69, 13, 12, 32, 7, 32, 9, 106, 33, 8, 65, 0, 33, 10, 65, 0, 33, 1, 65, 0, 33, 7, 3, 64, 32, 8, 45, 0, 0, 34, 9, 65, 32, 73, 4, 64, 65, 0, 33, 4, 12, 15, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 1, 113, 4, 64, 2, 64, 32, 9, 65, 80, 106, 65, 255, 1, 113, 65, 10, 73, 13, 0, 65, 12, 33, 4, 32, 9, 65, 191, 127, 106, 14, 38, 0, 0, 0, 0, 0, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 25, 11, 32, 7, 65, 3, 75, 13, 1, 32, 2, 65, 12, 106, 32, 7, 106, 32, 9, 58, 0, 0, 65, 1, 33, 1, 32, 7, 65, 1, 106, 34, 7, 65, 4, 71, 13, 9, 2, 64, 32, 2, 40, 2, 12, 34, 4, 65, 80, 106, 34, 1, 65, 255, 1, 113, 65, 10, 73, 13, 0, 2, 64, 32, 4, 65, 191, 127, 106, 65, 255, 1, 113, 65, 6, 79, 4, 64, 32, 4, 65, 159, 127, 106, 65, 255, 1, 113, 65, 6, 73, 13, 1, 12, 24, 11, 32, 4, 65, 73, 106, 33, 1, 12, 1, 11, 32, 4, 65, 169, 127, 106, 33, 1, 11, 32, 4, 65, 8, 118, 34, 10, 65, 80, 106, 34, 7, 65, 255, 1, 113, 65, 10, 73, 13, 5, 32, 10, 65, 191, 127, 106, 65, 255, 1, 113, 65, 6, 73, 13, 2, 32, 10, 65, 159, 127, 106, 65, 255, 1, 113, 65, 6, 79, 13, 21, 32, 10, 65, 169, 127, 106, 33, 7, 12, 5, 11, 32, 10, 65, 1, 113, 13, 2, 32, 9, 65, 220, 0, 70, 4, 64, 65, 1, 33, 10, 65, 0, 33, 1, 12, 9, 11, 32, 12, 65, 1, 70, 4, 64, 65, 17, 33, 4, 12, 24, 11, 2, 64, 32, 3, 32, 5, 71, 13, 0, 32, 3, 65, 1, 106, 34, 1, 32, 3, 73, 13, 20, 32, 3, 65, 1, 116, 34, 4, 32, 1, 32, 4, 32, 1, 75, 27, 34, 1, 65, 8, 32, 1, 65, 8, 75, 27, 33, 1, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 1, 54, 2, 40, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 6, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 1, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 40, 2, 20, 33, 6, 32, 2, 40, 2, 24, 33, 3, 32, 2, 40, 2, 16, 65, 1, 71, 13, 0, 32, 3, 13, 6, 12, 20, 11, 32, 5, 32, 6, 106, 32, 9, 58, 0, 0, 12, 3, 11, 32, 7, 65, 4, 65, 200, 191, 192, 0, 16, 146, 2, 0, 11, 32, 10, 65, 73, 106, 33, 7, 12, 2, 11, 65, 1, 33, 1, 65, 12, 33, 4, 65, 1, 33, 10, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 9, 65, 94, 106, 14, 84, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 26, 26, 26, 26, 26, 1, 26, 26, 26, 2, 26, 26, 26, 26, 26, 26, 26, 3, 26, 26, 26, 4, 26, 5, 11, 26, 11, 2, 64, 32, 3, 32, 5, 71, 13, 0, 32, 3, 65, 1, 106, 34, 1, 32, 3, 73, 13, 22, 32, 3, 65, 1, 116, 34, 4, 32, 1, 32, 4, 32, 1, 75, 27, 34, 1, 65, 8, 32, 1, 65, 8, 75, 27, 33, 1, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 1, 54, 2, 40, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 6, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 1, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 40, 2, 20, 33, 6, 32, 2, 40, 2, 24, 33, 3, 32, 2, 40, 2, 16, 65, 1, 71, 13, 0, 32, 3, 13, 8, 12, 22, 11, 32, 5, 32, 6, 106, 32, 9, 58, 0, 0, 12, 5, 11, 2, 64, 32, 3, 32, 5, 71, 13, 0, 32, 3, 65, 1, 106, 34, 1, 32, 3, 73, 13, 21, 32, 3, 65, 1, 116, 34, 4, 32, 1, 32, 4, 32, 1, 75, 27, 34, 1, 65, 8, 32, 1, 65, 8, 75, 27, 33, 1, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 1, 54, 2, 40, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 6, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 1, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 40, 2, 20, 33, 6, 32, 2, 40, 2, 24, 33, 3, 32, 2, 40, 2, 16, 65, 1, 71, 13, 0, 32, 3, 13, 7, 12, 21, 11, 32, 5, 32, 6, 106, 65, 8, 58, 0, 0, 12, 4, 11, 2, 64, 32, 3, 32, 5, 71, 13, 0, 32, 3, 65, 1, 106, 34, 1, 32, 3, 73, 13, 20, 32, 3, 65, 1, 116, 34, 4, 32, 1, 32, 4, 32, 1, 75, 27, 34, 1, 65, 8, 32, 1, 65, 8, 75, 27, 33, 1, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 1, 54, 2, 40, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 6, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 1, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 40, 2, 20, 33, 6, 32, 2, 40, 2, 24, 33, 3, 32, 2, 40, 2, 16, 65, 1, 71, 13, 0, 32, 3, 13, 6, 12, 20, 11, 32, 5, 32, 6, 106, 65, 12, 58, 0, 0, 12, 3, 11, 2, 64, 32, 3, 32, 5, 71, 13, 0, 32, 3, 65, 1, 106, 34, 1, 32, 3, 73, 13, 19, 32, 3, 65, 1, 116, 34, 4, 32, 1, 32, 4, 32, 1, 75, 27, 34, 1, 65, 8, 32, 1, 65, 8, 75, 27, 33, 1, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 1, 54, 2, 40, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 6, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 1, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 40, 2, 20, 33, 6, 32, 2, 40, 2, 24, 33, 3, 32, 2, 40, 2, 16, 65, 1, 71, 13, 0, 32, 3, 13, 5, 12, 19, 11, 32, 5, 32, 6, 106, 65, 10, 58, 0, 0, 12, 2, 11, 2, 64, 32, 3, 32, 5, 71, 13, 0, 32, 3, 65, 1, 106, 34, 1, 32, 3, 73, 13, 18, 32, 3, 65, 1, 116, 34, 4, 32, 1, 32, 4, 32, 1, 75, 27, 34, 1, 65, 8, 32, 1, 65, 8, 75, 27, 33, 1, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 1, 54, 2, 40, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 6, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 1, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 40, 2, 20, 33, 6, 32, 2, 40, 2, 24, 33, 3, 32, 2, 40, 2, 16, 65, 1, 71, 13, 0, 32, 3, 13, 4, 12, 18, 11, 32, 5, 32, 6, 106, 65, 13, 58, 0, 0, 12, 1, 11, 2, 64, 32, 3, 32, 5, 71, 13, 0, 32, 3, 65, 1, 106, 34, 1, 32, 3, 73, 13, 17, 32, 3, 65, 1, 116, 34, 4, 32, 1, 32, 4, 32, 1, 75, 27, 34, 1, 65, 8, 32, 1, 65, 8, 75, 27, 33, 1, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 1, 54, 2, 40, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 6, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 1, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 40, 2, 20, 33, 6, 32, 2, 40, 2, 24, 33, 3, 32, 2, 40, 2, 16, 65, 1, 71, 13, 0, 32, 3, 13, 3, 12, 17, 11, 32, 5, 32, 6, 106, 65, 9, 58, 0, 0, 11, 32, 5, 65, 1, 106, 33, 5, 12, 3, 11, 2, 64, 32, 4, 65, 16, 118, 34, 9, 65, 80, 106, 34, 10, 65, 255, 1, 113, 65, 10, 73, 13, 0, 32, 9, 65, 191, 127, 106, 65, 255, 1, 113, 65, 6, 79, 4, 64, 32, 9, 65, 159, 127, 106, 65, 255, 1, 113, 65, 6, 79, 13, 17, 32, 9, 65, 169, 127, 106, 33, 10, 12, 1, 11, 32, 9, 65, 73, 106, 33, 10, 11, 2, 64, 32, 4, 65, 24, 118, 34, 9, 65, 80, 106, 34, 4, 65, 255, 1, 113, 65, 10, 73, 13, 0, 32, 9, 65, 191, 127, 106, 65, 255, 1, 113, 65, 6, 79, 4, 64, 32, 9, 65, 159, 127, 106, 65, 255, 1, 113, 65, 6, 79, 13, 17, 32, 9, 65, 169, 127, 106, 33, 4, 12, 1, 11, 32, 9, 65, 73, 106, 33, 4, 11, 32, 7, 65, 8, 116, 32, 1, 65, 12, 116, 114, 32, 10, 65, 255, 1, 113, 65, 4, 116, 114, 34, 7, 32, 4, 65, 255, 1, 113, 114, 33, 1, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 7, 65, 128, 240, 3, 113, 65, 128, 176, 3, 70, 4, 64, 32, 12, 65, 1, 70, 13, 1, 32, 1, 65, 255, 255, 3, 113, 65, 255, 183, 3, 75, 13, 3, 65, 0, 33, 7, 65, 1, 33, 12, 32, 1, 33, 13, 12, 8, 11, 32, 1, 65, 128, 240, 3, 113, 65, 128, 176, 3, 70, 34, 4, 69, 13, 1, 65, 12, 33, 4, 12, 23, 11, 32, 1, 65, 255, 255, 3, 113, 65, 128, 184, 3, 73, 4, 64, 65, 8, 33, 4, 12, 23, 11, 32, 13, 65, 255, 255, 3, 113, 65, 128, 208, 124, 106, 34, 4, 65, 255, 255, 3, 113, 34, 7, 32, 4, 71, 13, 2, 65, 15, 33, 4, 32, 1, 65, 128, 200, 0, 106, 65, 255, 255, 3, 113, 32, 7, 65, 10, 116, 114, 34, 7, 65, 128, 128, 4, 106, 34, 1, 65, 128, 128, 196, 0, 70, 32, 7, 65, 255, 255, 63, 75, 114, 32, 1, 65, 128, 240, 255, 63, 113, 65, 128, 176, 3, 70, 114, 13, 22, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 11, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 8, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 10, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 9, 32, 3, 32, 5, 107, 65, 4, 79, 4, 64, 32, 5, 65, 4, 106, 33, 4, 12, 6, 11, 32, 5, 65, 4, 106, 34, 4, 32, 5, 73, 13, 18, 32, 3, 65, 1, 116, 34, 1, 32, 4, 32, 1, 32, 4, 75, 27, 34, 1, 65, 8, 32, 1, 65, 8, 75, 27, 33, 1, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 1, 54, 2, 40, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 6, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 1, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 40, 2, 20, 33, 6, 32, 2, 40, 2, 24, 33, 3, 32, 2, 40, 2, 16, 65, 1, 71, 13, 5, 32, 3, 69, 13, 18, 12, 4, 11, 32, 3, 32, 5, 107, 2, 127, 2, 64, 2, 64, 65, 128, 128, 196, 0, 32, 1, 65, 255, 255, 3, 113, 32, 4, 27, 34, 1, 65, 128, 1, 79, 4, 64, 32, 1, 65, 128, 16, 73, 13, 1, 32, 1, 65, 128, 128, 4, 79, 13, 2, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 10, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 8, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 9, 65, 3, 12, 3, 11, 32, 2, 32, 1, 58, 0, 8, 65, 1, 12, 2, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 9, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 8, 65, 2, 12, 1, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 11, 32, 2, 32, 1, 65, 12, 118, 65, 128, 1, 114, 58, 0, 9, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 8, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 10, 65, 4, 11, 34, 4, 79, 4, 64, 32, 4, 32, 5, 106, 33, 1, 12, 3, 11, 32, 4, 32, 5, 106, 34, 1, 32, 5, 73, 13, 17, 32, 3, 65, 1, 116, 34, 7, 32, 1, 32, 7, 32, 1, 75, 27, 34, 7, 65, 8, 32, 7, 65, 8, 75, 27, 33, 7, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 32, 12, 1, 11, 32, 2, 65, 1, 54, 2, 40, 32, 2, 32, 3, 54, 2, 36, 32, 2, 32, 6, 54, 2, 32, 11, 32, 2, 65, 16, 106, 32, 7, 65, 1, 32, 2, 65, 32, 106, 16, 13, 32, 2, 40, 2, 20, 33, 6, 32, 2, 40, 2, 24, 33, 3, 32, 2, 40, 2, 16, 65, 1, 71, 13, 2, 32, 3, 13, 3, 12, 17, 11, 65, 6, 33, 4, 12, 20, 11, 65, 144, 192, 192, 0, 65, 33, 65, 252, 191, 192, 0, 16, 147, 2, 0, 11, 32, 5, 32, 6, 106, 32, 2, 65, 8, 106, 32, 4, 16, 212, 2, 26, 65, 0, 33, 7, 32, 1, 33, 5, 12, 2, 11, 32, 6, 32, 3, 16, 138, 2, 0, 11, 32, 5, 32, 6, 106, 32, 2, 40, 2, 8, 54, 0, 0, 65, 0, 33, 12, 32, 4, 33, 5, 65, 0, 33, 7, 11, 65, 0, 33, 1, 65, 0, 33, 10, 11, 32, 8, 65, 1, 106, 33, 8, 32, 11, 65, 127, 106, 34, 11, 13, 0, 11, 12, 11, 11, 32, 11, 65, 1, 16, 138, 2, 0, 11, 32, 8, 32, 3, 65, 208, 193, 192, 0, 16, 148, 2, 0, 11, 32, 7, 32, 8, 65, 208, 193, 192, 0, 16, 152, 2, 0, 11, 65, 1, 33, 10, 32, 4, 65, 1, 115, 11, 33, 4, 32, 1, 32, 8, 65, 1, 106, 34, 8, 54, 2, 8, 11, 32, 3, 32, 8, 75, 13, 0, 11, 11, 32, 0, 65, 3, 54, 2, 4, 12, 8, 11, 2, 64, 32, 8, 32, 7, 79, 4, 64, 32, 3, 32, 8, 73, 13, 1, 32, 2, 65, 32, 106, 32, 7, 32, 9, 106, 32, 8, 32, 7, 107, 16, 195, 2, 65, 1, 33, 8, 32, 2, 65, 40, 106, 40, 2, 0, 33, 1, 32, 2, 40, 2, 32, 65, 1, 71, 4, 64, 32, 2, 40, 2, 36, 33, 5, 65, 0, 33, 8, 32, 0, 65, 0, 54, 2, 4, 32, 0, 65, 12, 106, 32, 1, 54, 2, 0, 32, 0, 65, 8, 106, 32, 5, 54, 2, 0, 12, 11, 11, 32, 0, 65, 15, 54, 2, 4, 32, 0, 65, 8, 106, 32, 1, 54, 2, 0, 12, 10, 11, 32, 7, 32, 8, 65, 224, 193, 192, 0, 16, 152, 2, 0, 11, 32, 8, 32, 3, 65, 224, 193, 192, 0, 16, 148, 2, 0, 11, 16, 139, 2, 0, 11, 16, 168, 1, 0, 11, 65, 12, 33, 4, 32, 10, 65, 1, 113, 13, 1, 65, 17, 33, 4, 32, 12, 65, 1, 70, 13, 1, 11, 32, 2, 65, 32, 106, 32, 6, 32, 5, 16, 195, 2, 32, 2, 40, 2, 32, 65, 1, 71, 13, 1, 32, 3, 69, 32, 6, 69, 114, 69, 4, 64, 32, 6, 16, 226, 1, 11, 65, 15, 33, 4, 12, 2, 11, 32, 3, 69, 32, 6, 69, 114, 13, 1, 32, 6, 16, 226, 1, 12, 1, 11, 32, 0, 65, 16, 106, 32, 5, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 8, 106, 32, 6, 54, 2, 0, 32, 0, 65, 1, 54, 2, 4, 65, 0, 33, 8, 12, 2, 11, 32, 0, 32, 4, 54, 2, 4, 32, 0, 65, 12, 106, 32, 5, 54, 2, 0, 32, 0, 65, 8, 106, 32, 3, 54, 2, 0, 11, 65, 1, 33, 8, 11, 32, 0, 32, 8, 54, 2, 0, 32, 2, 65, 48, 106, 36, 0, 11, 109, 1, 6, 127, 2, 64, 32, 1, 40, 2, 4, 34, 4, 32, 1, 40, 2, 8, 34, 2, 77, 13, 0, 32, 1, 40, 2, 0, 33, 5, 3, 64, 32, 2, 32, 5, 106, 45, 0, 0, 34, 6, 65, 119, 106, 34, 7, 65, 23, 77, 65, 0, 65, 1, 32, 7, 116, 65, 147, 128, 128, 4, 113, 27, 69, 4, 64, 65, 1, 33, 3, 12, 2, 11, 32, 1, 32, 2, 65, 1, 106, 34, 2, 54, 2, 8, 32, 4, 32, 2, 75, 13, 0, 11, 11, 32, 0, 32, 6, 58, 0, 1, 32, 0, 32, 3, 58, 0, 0, 11, 56, 1, 1, 127, 2, 127, 65, 0, 32, 1, 40, 2, 4, 32, 1, 40, 2, 8, 34, 2, 77, 13, 0, 26, 32, 1, 40, 2, 0, 32, 2, 106, 45, 0, 0, 33, 2, 65, 1, 11, 33, 1, 32, 0, 32, 2, 58, 0, 1, 32, 0, 32, 1, 58, 0, 0, 11, 253, 1, 1, 3, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 2, 64, 32, 1, 40, 2, 8, 34, 3, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 4, 12, 1, 11, 2, 64, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 0, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 16, 12, 1, 11, 32, 2, 65, 24, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 20, 32, 2, 32, 1, 40, 2, 0, 54, 2, 16, 11, 32, 2, 32, 4, 65, 1, 32, 2, 65, 16, 106, 16, 13, 32, 2, 65, 8, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 4, 33, 4, 32, 2, 40, 2, 0, 65, 1, 71, 4, 64, 32, 1, 32, 4, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 40, 2, 8, 33, 3, 12, 2, 11, 32, 3, 69, 13, 0, 32, 4, 32, 3, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 4, 106, 65, 221, 0, 58, 0, 0, 32, 0, 65, 0, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 2, 65, 32, 106, 36, 0, 11, 253, 1, 1, 3, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 2, 64, 32, 1, 40, 2, 8, 34, 3, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 4, 12, 1, 11, 2, 64, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 0, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 16, 12, 1, 11, 32, 2, 65, 24, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 20, 32, 2, 32, 1, 40, 2, 0, 54, 2, 16, 11, 32, 2, 32, 4, 65, 1, 32, 2, 65, 16, 106, 16, 13, 32, 2, 65, 8, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 4, 33, 4, 32, 2, 40, 2, 0, 65, 1, 71, 4, 64, 32, 1, 32, 4, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 40, 2, 8, 33, 3, 12, 2, 11, 32, 3, 69, 13, 0, 32, 4, 32, 3, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 4, 106, 65, 253, 0, 58, 0, 0, 32, 0, 65, 0, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 2, 65, 32, 106, 36, 0, 11, 213, 3, 1, 3, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 8, 34, 3, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 4, 12, 1, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 16, 12, 1, 11, 32, 2, 65, 24, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 20, 32, 2, 32, 1, 40, 2, 0, 54, 2, 16, 11, 32, 2, 32, 4, 65, 1, 32, 2, 65, 16, 106, 16, 13, 32, 2, 65, 8, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 4, 33, 4, 32, 2, 40, 2, 0, 65, 1, 71, 4, 64, 32, 1, 32, 4, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 40, 2, 8, 33, 3, 12, 1, 11, 32, 3, 69, 13, 1, 32, 4, 32, 3, 16, 138, 2, 0, 11, 32, 3, 32, 4, 106, 65, 253, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 34, 3, 54, 2, 8, 32, 1, 65, 4, 106, 40, 2, 0, 32, 3, 71, 4, 64, 32, 1, 40, 2, 0, 33, 4, 12, 2, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 0, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 16, 12, 1, 11, 32, 2, 65, 24, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 20, 32, 2, 32, 1, 40, 2, 0, 54, 2, 16, 11, 32, 2, 32, 4, 65, 1, 32, 2, 65, 16, 106, 16, 13, 32, 2, 65, 8, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 4, 33, 4, 32, 2, 40, 2, 0, 65, 1, 71, 4, 64, 32, 1, 32, 4, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 40, 2, 8, 33, 3, 12, 2, 11, 32, 3, 69, 13, 0, 32, 4, 32, 3, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 4, 106, 65, 253, 0, 58, 0, 0, 32, 0, 65, 0, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 2, 65, 32, 106, 36, 0, 11, 162, 1, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 32, 0, 40, 2, 0, 4, 64, 32, 2, 32, 0, 54, 2, 4, 32, 2, 65, 28, 106, 65, 1, 54, 2, 0, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 212, 184, 192, 0, 54, 2, 8, 32, 2, 65, 204, 0, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 65, 44, 106, 54, 2, 32, 32, 2, 32, 2, 65, 4, 106, 54, 2, 44, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 1, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 196, 184, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 128, 194, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 11, 32, 2, 65, 48, 106, 36, 0, 11, 41, 1, 1, 127, 65, 128, 8, 65, 1, 16, 87, 34, 1, 69, 4, 64, 65, 128, 8, 65, 1, 16, 138, 2, 0, 11, 32, 0, 66, 128, 8, 55, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 162, 3, 1, 6, 127, 35, 0, 65, 48, 107, 34, 4, 36, 0, 32, 4, 65, 8, 106, 65, 0, 58, 0, 0, 32, 4, 66, 0, 55, 3, 0, 32, 4, 32, 2, 65, 10, 112, 65, 48, 114, 58, 0, 9, 65, 9, 33, 3, 2, 127, 32, 2, 65, 10, 73, 4, 64, 32, 4, 65, 9, 106, 33, 7, 65, 1, 12, 1, 11, 2, 64, 3, 64, 2, 64, 32, 2, 65, 10, 110, 33, 6, 32, 3, 65, 127, 106, 34, 5, 32, 3, 75, 13, 0, 32, 4, 32, 5, 106, 34, 7, 32, 6, 65, 10, 112, 65, 48, 114, 58, 0, 0, 32, 2, 65, 228, 0, 73, 32, 5, 33, 3, 32, 6, 33, 2, 69, 13, 1, 12, 2, 11, 11, 65, 144, 192, 192, 0, 65, 33, 65, 232, 194, 192, 0, 16, 147, 2, 0, 11, 65, 10, 32, 5, 107, 11, 33, 2, 2, 64, 32, 1, 65, 4, 106, 40, 2, 0, 34, 5, 32, 1, 65, 8, 106, 40, 2, 0, 34, 3, 107, 32, 2, 79, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 1, 11, 2, 64, 32, 2, 32, 3, 106, 34, 6, 32, 3, 73, 13, 0, 32, 5, 65, 1, 116, 34, 3, 32, 6, 32, 3, 32, 6, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 4, 65, 0, 54, 2, 32, 12, 1, 11, 32, 4, 65, 40, 106, 65, 1, 54, 2, 0, 32, 4, 32, 5, 54, 2, 36, 32, 4, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 4, 65, 16, 106, 32, 3, 65, 1, 32, 4, 65, 32, 106, 16, 13, 32, 4, 65, 24, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 20, 33, 5, 32, 4, 40, 2, 16, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 3, 12, 2, 11, 32, 3, 69, 13, 0, 32, 5, 32, 3, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 5, 106, 32, 7, 32, 2, 16, 212, 2, 26, 32, 0, 65, 0, 54, 2, 0, 32, 1, 65, 8, 106, 34, 0, 32, 0, 40, 2, 0, 32, 2, 106, 54, 2, 0, 32, 4, 65, 48, 106, 36, 0, 11, 179, 3, 2, 6, 127, 1, 126, 35, 0, 65, 64, 106, 34, 4, 36, 0, 32, 4, 65, 23, 106, 65, 0, 54, 0, 0, 32, 4, 65, 16, 106, 66, 0, 55, 3, 0, 32, 4, 66, 0, 55, 3, 8, 32, 4, 32, 2, 66, 10, 130, 167, 65, 48, 114, 58, 0, 27, 65, 19, 33, 6, 2, 127, 32, 2, 66, 10, 84, 4, 64, 32, 4, 65, 27, 106, 33, 7, 65, 1, 12, 1, 11, 2, 64, 3, 64, 2, 64, 32, 2, 66, 10, 128, 33, 9, 32, 6, 65, 127, 106, 34, 3, 32, 6, 75, 13, 0, 32, 4, 65, 8, 106, 32, 3, 106, 34, 7, 32, 9, 66, 10, 130, 167, 65, 48, 114, 58, 0, 0, 32, 2, 66, 228, 0, 84, 32, 3, 33, 6, 32, 9, 33, 2, 69, 13, 1, 12, 2, 11, 11, 65, 144, 192, 192, 0, 65, 33, 65, 248, 194, 192, 0, 16, 147, 2, 0, 11, 65, 20, 32, 3, 107, 11, 33, 6, 2, 64, 32, 1, 65, 4, 106, 40, 2, 0, 34, 5, 32, 1, 65, 8, 106, 40, 2, 0, 34, 3, 107, 32, 6, 79, 4, 64, 32, 1, 40, 2, 0, 33, 5, 12, 1, 11, 2, 64, 32, 3, 32, 6, 106, 34, 8, 32, 3, 73, 13, 0, 32, 5, 65, 1, 116, 34, 3, 32, 8, 32, 3, 32, 8, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 5, 69, 4, 64, 32, 4, 65, 0, 54, 2, 48, 12, 1, 11, 32, 4, 65, 56, 106, 65, 1, 54, 2, 0, 32, 4, 32, 5, 54, 2, 52, 32, 4, 32, 1, 40, 2, 0, 54, 2, 48, 11, 32, 4, 65, 32, 106, 32, 3, 65, 1, 32, 4, 65, 48, 106, 16, 13, 32, 4, 65, 40, 106, 40, 2, 0, 33, 3, 32, 4, 40, 2, 36, 33, 5, 32, 4, 40, 2, 32, 65, 1, 71, 4, 64, 32, 1, 32, 5, 54, 2, 0, 32, 1, 65, 4, 106, 32, 3, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 3, 12, 2, 11, 32, 3, 69, 13, 0, 32, 5, 32, 3, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 3, 32, 5, 106, 32, 7, 32, 6, 16, 212, 2, 26, 32, 0, 65, 0, 54, 2, 0, 32, 1, 65, 8, 106, 34, 0, 32, 0, 40, 2, 0, 32, 6, 106, 54, 2, 0, 32, 4, 65, 64, 107, 36, 0, 11, 250, 42, 1, 8, 127, 35, 0, 65, 48, 107, 34, 5, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 8, 106, 34, 7, 40, 2, 0, 34, 4, 32, 1, 65, 4, 106, 34, 8, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 10, 12, 1, 11, 32, 4, 65, 1, 106, 34, 10, 32, 4, 73, 13, 1, 32, 4, 65, 1, 116, 34, 6, 32, 10, 32, 6, 32, 10, 75, 27, 34, 10, 65, 8, 32, 10, 65, 8, 75, 27, 33, 10, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 40, 106, 65, 1, 54, 2, 0, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 10, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 65, 24, 106, 40, 2, 0, 33, 4, 32, 5, 40, 2, 20, 33, 10, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 1, 32, 10, 54, 2, 0, 32, 1, 65, 4, 106, 32, 4, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 4, 12, 1, 11, 32, 4, 69, 13, 1, 32, 10, 32, 4, 16, 138, 2, 0, 11, 32, 4, 32, 10, 106, 65, 34, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 32, 5, 65, 0, 54, 2, 12, 2, 64, 32, 3, 69, 13, 0, 32, 2, 32, 3, 106, 33, 10, 3, 64, 32, 2, 65, 1, 106, 33, 3, 2, 64, 32, 2, 44, 0, 0, 34, 4, 65, 0, 78, 4, 64, 32, 4, 65, 255, 1, 113, 33, 4, 32, 3, 33, 2, 12, 1, 11, 2, 127, 32, 3, 32, 10, 70, 4, 64, 32, 10, 33, 3, 65, 0, 12, 1, 11, 32, 2, 65, 2, 106, 33, 3, 32, 2, 45, 0, 1, 65, 63, 113, 11, 33, 2, 32, 4, 65, 31, 113, 33, 6, 32, 4, 65, 255, 1, 113, 34, 11, 65, 224, 1, 73, 4, 64, 32, 2, 32, 6, 65, 6, 116, 114, 33, 4, 32, 3, 33, 2, 12, 1, 11, 2, 64, 32, 3, 32, 10, 70, 4, 64, 65, 0, 33, 9, 32, 10, 33, 4, 12, 1, 11, 32, 3, 45, 0, 0, 65, 63, 113, 33, 9, 32, 3, 65, 1, 106, 34, 4, 33, 3, 11, 32, 9, 32, 2, 65, 6, 116, 114, 33, 9, 32, 11, 65, 240, 1, 73, 4, 64, 32, 9, 32, 6, 65, 12, 116, 114, 33, 4, 32, 3, 33, 2, 12, 1, 11, 2, 127, 32, 4, 32, 10, 70, 4, 64, 32, 3, 33, 2, 65, 0, 12, 1, 11, 32, 4, 65, 1, 106, 33, 2, 32, 4, 45, 0, 0, 65, 63, 113, 11, 32, 6, 65, 18, 116, 65, 128, 128, 240, 0, 113, 32, 9, 65, 6, 116, 114, 114, 33, 4, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 120, 106, 14, 27, 4, 5, 6, 1, 7, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, 11, 32, 4, 65, 220, 0, 70, 13, 1, 32, 4, 65, 128, 128, 196, 0, 71, 13, 0, 32, 7, 40, 2, 0, 33, 4, 12, 24, 11, 32, 4, 65, 32, 73, 13, 7, 32, 4, 65, 128, 1, 73, 13, 8, 32, 4, 65, 128, 16, 73, 13, 9, 32, 4, 65, 128, 128, 4, 79, 13, 10, 32, 5, 32, 4, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 5, 32, 4, 65, 12, 118, 65, 224, 1, 114, 58, 0, 12, 32, 5, 32, 4, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 3, 12, 11, 11, 32, 7, 40, 2, 0, 34, 4, 32, 8, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 20, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 23, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 20, 11, 32, 4, 69, 13, 23, 12, 25, 11, 32, 7, 40, 2, 0, 34, 4, 32, 8, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 18, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 22, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 18, 11, 32, 4, 69, 13, 22, 12, 24, 11, 32, 7, 40, 2, 0, 34, 4, 32, 8, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 16, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 21, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 16, 11, 32, 4, 69, 13, 21, 12, 23, 11, 32, 7, 40, 2, 0, 34, 4, 32, 8, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 14, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 20, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 14, 11, 32, 4, 69, 13, 20, 12, 22, 11, 32, 7, 40, 2, 0, 34, 4, 32, 8, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 12, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 19, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 12, 11, 32, 4, 69, 13, 19, 12, 21, 11, 32, 7, 40, 2, 0, 34, 4, 32, 8, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 10, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 18, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 10, 11, 32, 4, 69, 13, 18, 12, 20, 11, 32, 7, 40, 2, 0, 34, 4, 32, 8, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 8, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 17, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 8, 11, 32, 4, 69, 13, 17, 12, 19, 11, 32, 7, 40, 2, 0, 34, 3, 32, 8, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 12, 6, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 16, 32, 3, 65, 1, 116, 34, 9, 32, 6, 32, 9, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 3, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 6, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 6, 32, 5, 40, 2, 24, 33, 3, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 3, 54, 2, 0, 32, 1, 32, 6, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 6, 11, 32, 3, 69, 13, 16, 12, 19, 11, 32, 7, 40, 2, 0, 34, 3, 32, 8, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 12, 4, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 15, 32, 3, 65, 1, 116, 34, 9, 32, 6, 32, 9, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 3, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 6, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 6, 32, 5, 40, 2, 24, 33, 3, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 3, 54, 2, 0, 32, 1, 32, 6, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 4, 11, 32, 3, 69, 13, 15, 12, 18, 11, 32, 5, 32, 4, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 32, 5, 32, 4, 65, 6, 118, 65, 192, 1, 114, 58, 0, 12, 65, 2, 12, 1, 11, 32, 5, 32, 4, 65, 63, 113, 65, 128, 1, 114, 58, 0, 15, 32, 5, 32, 4, 65, 18, 118, 65, 240, 1, 114, 58, 0, 12, 32, 5, 32, 4, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 5, 32, 4, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 4, 11, 33, 4, 2, 64, 32, 8, 40, 2, 0, 34, 6, 32, 7, 40, 2, 0, 34, 3, 107, 32, 4, 79, 4, 64, 32, 1, 40, 2, 0, 33, 6, 12, 1, 11, 32, 3, 32, 4, 106, 34, 9, 32, 3, 73, 13, 13, 32, 6, 65, 1, 116, 34, 3, 32, 9, 32, 3, 32, 9, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 6, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 6, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 6, 32, 5, 40, 2, 24, 33, 3, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 3, 54, 2, 0, 32, 1, 32, 6, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 13, 12, 16, 11, 32, 3, 32, 6, 106, 32, 5, 65, 12, 106, 32, 4, 16, 212, 2, 26, 12, 9, 11, 32, 3, 32, 6, 106, 32, 4, 58, 0, 0, 65, 1, 33, 4, 12, 8, 11, 32, 3, 32, 6, 106, 65, 220, 0, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 3, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 12, 1, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 11, 32, 3, 65, 1, 116, 34, 9, 32, 6, 32, 9, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 3, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 6, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 6, 32, 5, 40, 2, 24, 33, 3, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 3, 54, 2, 0, 32, 1, 32, 6, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 11, 12, 14, 11, 32, 3, 32, 6, 106, 65, 245, 0, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 3, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 12, 1, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 11, 32, 3, 65, 1, 116, 34, 9, 32, 6, 32, 9, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 3, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 6, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 6, 32, 5, 40, 2, 24, 33, 3, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 3, 54, 2, 0, 32, 1, 32, 6, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 11, 12, 14, 11, 32, 3, 32, 6, 106, 65, 48, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 3, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 12, 1, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 11, 32, 3, 65, 1, 116, 34, 9, 32, 6, 32, 9, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 3, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 6, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 6, 32, 5, 40, 2, 24, 33, 3, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 3, 54, 2, 0, 32, 1, 32, 6, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 11, 12, 14, 11, 32, 3, 32, 6, 106, 65, 48, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 3, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 12, 1, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 11, 32, 3, 65, 1, 116, 34, 9, 32, 6, 32, 9, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 3, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 6, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 6, 32, 5, 40, 2, 24, 33, 3, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 3, 54, 2, 0, 32, 1, 32, 6, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 11, 12, 14, 11, 32, 3, 32, 6, 106, 32, 4, 65, 255, 1, 113, 34, 3, 65, 4, 118, 34, 6, 65, 48, 114, 32, 6, 65, 55, 106, 32, 3, 65, 160, 1, 73, 27, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 3, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 3, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 12, 1, 11, 32, 3, 65, 1, 106, 34, 6, 32, 3, 73, 13, 11, 32, 3, 65, 1, 116, 34, 9, 32, 6, 32, 9, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 3, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 3, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 6, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 6, 32, 5, 40, 2, 24, 33, 3, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 3, 54, 2, 0, 32, 1, 32, 6, 54, 2, 0, 32, 7, 40, 2, 0, 33, 3, 12, 1, 11, 32, 3, 69, 13, 11, 12, 14, 11, 32, 3, 32, 6, 106, 32, 4, 65, 15, 113, 34, 3, 65, 48, 114, 32, 3, 65, 55, 106, 32, 3, 65, 10, 73, 27, 58, 0, 0, 65, 1, 33, 4, 12, 7, 11, 32, 3, 32, 4, 106, 65, 220, 0, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 4, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 1, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 10, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 1, 11, 32, 4, 69, 13, 10, 12, 12, 11, 32, 3, 32, 4, 106, 65, 242, 0, 58, 0, 0, 65, 1, 33, 4, 12, 6, 11, 32, 3, 32, 4, 106, 65, 220, 0, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 4, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 1, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 9, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 1, 11, 32, 4, 69, 13, 9, 12, 11, 11, 32, 3, 32, 4, 106, 65, 230, 0, 58, 0, 0, 65, 1, 33, 4, 12, 5, 11, 32, 3, 32, 4, 106, 65, 220, 0, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 4, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 1, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 8, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 1, 11, 32, 4, 69, 13, 8, 12, 10, 11, 32, 3, 32, 4, 106, 65, 238, 0, 58, 0, 0, 65, 1, 33, 4, 12, 4, 11, 32, 3, 32, 4, 106, 65, 220, 0, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 4, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 1, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 7, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 1, 11, 32, 4, 69, 13, 7, 12, 9, 11, 32, 3, 32, 4, 106, 65, 244, 0, 58, 0, 0, 65, 1, 33, 4, 12, 3, 11, 32, 3, 32, 4, 106, 65, 220, 0, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 4, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 1, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 6, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 1, 11, 32, 4, 69, 13, 6, 12, 8, 11, 32, 3, 32, 4, 106, 65, 226, 0, 58, 0, 0, 65, 1, 33, 4, 12, 2, 11, 32, 3, 32, 4, 106, 65, 220, 0, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 4, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 1, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 5, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 1, 11, 32, 4, 69, 13, 5, 12, 7, 11, 32, 3, 32, 4, 106, 65, 34, 58, 0, 0, 65, 1, 33, 4, 12, 1, 11, 32, 3, 32, 4, 106, 65, 220, 0, 58, 0, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 34, 4, 54, 2, 0, 2, 64, 32, 8, 40, 2, 0, 32, 4, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 1, 11, 32, 4, 65, 1, 106, 34, 3, 32, 4, 73, 13, 4, 32, 4, 65, 1, 116, 34, 6, 32, 3, 32, 6, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 1, 54, 2, 40, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 3, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 40, 2, 20, 33, 3, 32, 5, 40, 2, 24, 33, 4, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 4, 54, 2, 0, 32, 1, 32, 3, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 1, 11, 32, 4, 69, 13, 4, 12, 6, 11, 32, 3, 32, 4, 106, 65, 220, 0, 58, 0, 0, 65, 1, 33, 4, 11, 32, 7, 32, 7, 40, 2, 0, 32, 4, 106, 34, 4, 54, 2, 0, 32, 2, 32, 10, 71, 13, 0, 11, 11, 32, 8, 40, 2, 0, 32, 4, 71, 4, 64, 32, 1, 40, 2, 0, 33, 2, 12, 2, 11, 32, 4, 65, 1, 106, 34, 2, 32, 4, 73, 13, 0, 32, 4, 65, 1, 116, 34, 3, 32, 2, 32, 3, 32, 2, 75, 27, 34, 2, 65, 8, 32, 2, 65, 8, 75, 27, 33, 2, 2, 64, 32, 4, 69, 4, 64, 32, 5, 65, 0, 54, 2, 32, 12, 1, 11, 32, 5, 65, 40, 106, 65, 1, 54, 2, 0, 32, 5, 32, 4, 54, 2, 36, 32, 5, 32, 1, 40, 2, 0, 54, 2, 32, 11, 32, 5, 65, 16, 106, 32, 2, 65, 1, 32, 5, 65, 32, 106, 16, 13, 32, 5, 65, 24, 106, 40, 2, 0, 33, 3, 32, 5, 40, 2, 20, 33, 2, 32, 5, 40, 2, 16, 65, 1, 71, 4, 64, 32, 8, 32, 3, 54, 2, 0, 32, 1, 32, 2, 54, 2, 0, 32, 7, 40, 2, 0, 33, 4, 12, 2, 11, 32, 3, 69, 13, 0, 32, 2, 32, 3, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 2, 32, 4, 106, 65, 34, 58, 0, 0, 32, 0, 65, 0, 54, 2, 0, 32, 7, 32, 7, 40, 2, 0, 65, 1, 106, 54, 2, 0, 32, 5, 65, 48, 106, 36, 0, 15, 11, 32, 3, 32, 4, 16, 138, 2, 0, 11, 32, 6, 32, 3, 16, 138, 2, 0, 11, 144, 2, 1, 4, 127, 35, 0, 65, 32, 107, 34, 3, 36, 0, 2, 64, 32, 1, 65, 4, 106, 40, 2, 0, 34, 4, 32, 1, 65, 8, 106, 40, 2, 0, 34, 2, 107, 65, 4, 79, 4, 64, 32, 1, 40, 2, 0, 33, 4, 12, 1, 11, 2, 64, 32, 2, 65, 4, 106, 34, 5, 32, 2, 73, 13, 0, 32, 4, 65, 1, 116, 34, 2, 32, 5, 32, 2, 32, 5, 75, 27, 34, 2, 65, 8, 32, 2, 65, 8, 75, 27, 33, 2, 2, 64, 32, 4, 69, 4, 64, 32, 3, 65, 0, 54, 2, 16, 12, 1, 11, 32, 3, 65, 24, 106, 65, 1, 54, 2, 0, 32, 3, 32, 4, 54, 2, 20, 32, 3, 32, 1, 40, 2, 0, 54, 2, 16, 11, 32, 3, 32, 2, 65, 1, 32, 3, 65, 16, 106, 16, 13, 32, 3, 65, 8, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 4, 33, 4, 32, 3, 40, 2, 0, 65, 1, 71, 4, 64, 32, 1, 32, 4, 54, 2, 0, 32, 1, 65, 4, 106, 32, 2, 54, 2, 0, 32, 1, 65, 8, 106, 40, 2, 0, 33, 2, 12, 2, 11, 32, 2, 69, 13, 0, 32, 4, 32, 2, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 2, 32, 4, 106, 65, 238, 234, 177, 227, 6, 54, 0, 0, 32, 0, 65, 0, 54, 2, 0, 32, 1, 65, 8, 106, 34, 0, 32, 0, 40, 2, 0, 65, 4, 106, 54, 2, 0, 32, 3, 65, 32, 106, 36, 0, 11, 13, 0, 32, 0, 32, 1, 32, 2, 32, 3, 16, 190, 1, 11, 142, 2, 1, 3, 127, 35, 0, 65, 32, 107, 34, 4, 36, 0, 2, 64, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 1, 11, 2, 64, 32, 2, 65, 1, 106, 34, 3, 32, 2, 73, 13, 0, 32, 2, 65, 1, 116, 34, 5, 32, 3, 32, 5, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 2, 69, 4, 64, 32, 4, 65, 0, 54, 2, 16, 12, 1, 11, 32, 4, 65, 24, 106, 65, 1, 54, 2, 0, 32, 4, 32, 2, 54, 2, 20, 32, 4, 32, 1, 40, 2, 0, 54, 2, 16, 11, 32, 4, 32, 3, 65, 1, 32, 4, 65, 16, 106, 16, 13, 32, 4, 65, 8, 106, 40, 2, 0, 33, 2, 32, 4, 40, 2, 4, 33, 3, 32, 4, 40, 2, 0, 65, 1, 71, 4, 64, 32, 1, 32, 3, 54, 2, 0, 32, 1, 65, 4, 106, 32, 2, 54, 2, 0, 32, 1, 40, 2, 8, 33, 2, 12, 2, 11, 32, 2, 69, 13, 0, 32, 3, 32, 2, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 2, 32, 3, 106, 65, 219, 0, 58, 0, 0, 32, 0, 65, 8, 106, 65, 1, 58, 0, 0, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 4, 65, 32, 106, 36, 0, 11, 142, 2, 1, 4, 127, 35, 0, 65, 32, 107, 34, 4, 36, 0, 2, 64, 32, 1, 40, 2, 8, 34, 2, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 3, 12, 1, 11, 2, 64, 32, 2, 65, 1, 106, 34, 3, 32, 2, 73, 13, 0, 32, 2, 65, 1, 116, 34, 5, 32, 3, 32, 5, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 2, 69, 4, 64, 32, 4, 65, 0, 54, 2, 16, 12, 1, 11, 32, 4, 65, 24, 106, 65, 1, 54, 2, 0, 32, 4, 32, 2, 54, 2, 20, 32, 4, 32, 1, 40, 2, 0, 54, 2, 16, 11, 32, 4, 32, 3, 65, 1, 32, 4, 65, 16, 106, 16, 13, 32, 4, 65, 8, 106, 40, 2, 0, 33, 2, 32, 4, 40, 2, 4, 33, 3, 32, 4, 40, 2, 0, 65, 1, 71, 4, 64, 32, 1, 32, 3, 54, 2, 0, 32, 1, 65, 4, 106, 32, 2, 54, 2, 0, 32, 1, 40, 2, 8, 33, 2, 12, 2, 11, 32, 2, 69, 13, 0, 32, 3, 32, 2, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 2, 32, 3, 106, 65, 251, 0, 58, 0, 0, 32, 0, 65, 8, 106, 65, 1, 58, 0, 0, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 4, 65, 32, 106, 36, 0, 11, 143, 6, 1, 4, 127, 35, 0, 65, 32, 107, 34, 4, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 8, 34, 5, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 12, 1, 11, 32, 5, 65, 1, 106, 34, 6, 32, 5, 73, 13, 1, 32, 5, 65, 1, 116, 34, 7, 32, 6, 32, 7, 32, 6, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 5, 69, 4, 64, 32, 4, 65, 0, 54, 2, 0, 12, 1, 11, 32, 4, 65, 8, 106, 65, 1, 54, 2, 0, 32, 4, 32, 5, 54, 2, 4, 32, 4, 32, 1, 40, 2, 0, 54, 2, 0, 11, 32, 4, 65, 16, 106, 32, 6, 65, 1, 32, 4, 16, 13, 32, 4, 65, 24, 106, 40, 2, 0, 33, 5, 32, 4, 40, 2, 20, 33, 6, 32, 4, 40, 2, 16, 65, 1, 71, 4, 64, 32, 1, 32, 6, 54, 2, 0, 32, 1, 65, 4, 106, 32, 5, 54, 2, 0, 32, 1, 40, 2, 8, 33, 5, 12, 1, 11, 32, 5, 69, 13, 1, 12, 4, 11, 32, 5, 32, 6, 106, 65, 251, 0, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 32, 4, 32, 1, 32, 2, 32, 3, 16, 190, 1, 32, 4, 65, 24, 106, 34, 2, 32, 4, 65, 12, 106, 40, 2, 0, 54, 2, 0, 32, 4, 32, 4, 41, 2, 4, 55, 3, 16, 2, 64, 32, 4, 40, 2, 0, 65, 1, 71, 4, 64, 32, 1, 40, 2, 8, 34, 5, 32, 1, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 12, 2, 11, 32, 5, 65, 1, 106, 34, 2, 32, 5, 73, 13, 2, 32, 5, 65, 1, 116, 34, 3, 32, 2, 32, 3, 32, 2, 75, 27, 34, 2, 65, 8, 32, 2, 65, 8, 75, 27, 33, 2, 2, 64, 32, 5, 69, 4, 64, 32, 4, 65, 0, 54, 2, 0, 12, 1, 11, 32, 4, 65, 8, 106, 65, 1, 54, 2, 0, 32, 4, 32, 5, 54, 2, 4, 32, 4, 32, 1, 40, 2, 0, 54, 2, 0, 11, 32, 4, 65, 16, 106, 32, 2, 65, 1, 32, 4, 16, 13, 32, 4, 65, 24, 106, 40, 2, 0, 33, 5, 32, 4, 40, 2, 20, 33, 6, 32, 4, 40, 2, 16, 65, 1, 71, 4, 64, 32, 1, 32, 6, 54, 2, 0, 32, 1, 65, 4, 106, 32, 5, 54, 2, 0, 32, 1, 40, 2, 8, 33, 5, 12, 2, 11, 32, 5, 69, 13, 2, 12, 5, 11, 32, 0, 32, 4, 41, 3, 16, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 32, 0, 65, 12, 106, 32, 2, 40, 2, 0, 54, 2, 0, 12, 3, 11, 32, 5, 32, 6, 106, 65, 58, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 34, 5, 54, 2, 8, 32, 1, 65, 4, 106, 40, 2, 0, 32, 5, 71, 4, 64, 32, 1, 40, 2, 0, 33, 6, 12, 2, 11, 32, 5, 65, 1, 106, 34, 2, 32, 5, 73, 13, 0, 32, 5, 65, 1, 116, 34, 3, 32, 2, 32, 3, 32, 2, 75, 27, 34, 2, 65, 8, 32, 2, 65, 8, 75, 27, 33, 2, 2, 64, 32, 5, 69, 4, 64, 32, 4, 65, 0, 54, 2, 0, 12, 1, 11, 32, 4, 65, 8, 106, 65, 1, 54, 2, 0, 32, 4, 32, 5, 54, 2, 4, 32, 4, 32, 1, 40, 2, 0, 54, 2, 0, 11, 32, 4, 65, 16, 106, 32, 2, 65, 1, 32, 4, 16, 13, 32, 4, 65, 24, 106, 40, 2, 0, 33, 5, 32, 4, 40, 2, 20, 33, 6, 32, 4, 40, 2, 16, 65, 1, 71, 4, 64, 32, 1, 32, 6, 54, 2, 0, 32, 1, 65, 4, 106, 32, 5, 54, 2, 0, 32, 1, 40, 2, 8, 33, 5, 12, 2, 11, 32, 5, 69, 13, 0, 12, 3, 11, 16, 139, 2, 0, 11, 32, 5, 32, 6, 106, 65, 251, 0, 58, 0, 0, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 65, 1, 58, 0, 0, 32, 1, 32, 1, 40, 2, 8, 65, 1, 106, 54, 2, 8, 11, 32, 4, 65, 32, 106, 36, 0, 15, 11, 32, 6, 32, 5, 16, 138, 2, 0, 11, 237, 15, 2, 8, 127, 3, 126, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 27, 73, 4, 64, 12, 1, 11, 65, 0, 32, 1, 65, 102, 106, 34, 7, 32, 7, 32, 1, 75, 27, 33, 10, 3, 64, 32, 8, 65, 26, 106, 34, 7, 32, 8, 73, 13, 2, 32, 7, 32, 1, 75, 13, 7, 32, 6, 65, 32, 106, 34, 7, 32, 6, 73, 13, 3, 32, 7, 32, 3, 75, 13, 8, 32, 2, 32, 6, 106, 34, 5, 32, 4, 32, 0, 32, 8, 106, 34, 11, 41, 0, 0, 34, 13, 66, 56, 134, 34, 14, 66, 58, 136, 167, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 1, 106, 32, 4, 32, 14, 32, 13, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 34, 14, 66, 52, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 2, 106, 32, 4, 32, 14, 32, 13, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 13, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 34, 15, 66, 46, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 3, 106, 32, 4, 32, 15, 66, 40, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 4, 106, 32, 4, 32, 15, 66, 34, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 6, 106, 32, 4, 32, 13, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 13, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 13, 66, 40, 136, 66, 128, 254, 3, 131, 32, 13, 66, 56, 136, 132, 132, 34, 14, 167, 34, 6, 65, 22, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 7, 106, 32, 4, 32, 6, 65, 16, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 5, 106, 32, 4, 32, 14, 32, 15, 132, 66, 28, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 8, 106, 32, 4, 32, 11, 65, 6, 106, 41, 0, 0, 34, 13, 66, 56, 134, 34, 14, 66, 58, 136, 167, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 9, 106, 32, 4, 32, 14, 32, 13, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 34, 14, 66, 52, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 10, 106, 32, 4, 32, 14, 32, 13, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 13, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 34, 15, 66, 46, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 11, 106, 32, 4, 32, 15, 66, 40, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 12, 106, 32, 4, 32, 15, 66, 34, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 13, 106, 32, 4, 32, 15, 32, 13, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 13, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 13, 66, 40, 136, 66, 128, 254, 3, 131, 32, 13, 66, 56, 136, 132, 132, 34, 14, 132, 66, 28, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 14, 106, 32, 4, 32, 14, 167, 34, 6, 65, 22, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 15, 106, 32, 4, 32, 6, 65, 16, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 16, 106, 32, 4, 32, 11, 65, 12, 106, 41, 0, 0, 34, 13, 66, 56, 134, 34, 14, 66, 58, 136, 167, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 17, 106, 32, 4, 32, 14, 32, 13, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 34, 14, 66, 52, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 18, 106, 32, 4, 32, 14, 32, 13, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 13, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 34, 15, 66, 46, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 19, 106, 32, 4, 32, 15, 66, 40, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 20, 106, 32, 4, 32, 15, 66, 34, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 22, 106, 32, 4, 32, 13, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 13, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 13, 66, 40, 136, 66, 128, 254, 3, 131, 32, 13, 66, 56, 136, 132, 132, 34, 14, 167, 34, 6, 65, 22, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 23, 106, 32, 4, 32, 6, 65, 16, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 21, 106, 32, 4, 32, 14, 32, 15, 132, 66, 28, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 24, 106, 32, 4, 32, 11, 65, 18, 106, 41, 0, 0, 34, 13, 66, 56, 134, 34, 14, 66, 58, 136, 167, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 25, 106, 32, 4, 32, 14, 32, 13, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 132, 34, 14, 66, 52, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 26, 106, 32, 4, 32, 14, 32, 13, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 13, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 34, 15, 66, 46, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 27, 106, 32, 4, 32, 15, 66, 40, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 28, 106, 32, 4, 32, 15, 66, 34, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 29, 106, 32, 4, 32, 15, 32, 13, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 13, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 13, 66, 40, 136, 66, 128, 254, 3, 131, 32, 13, 66, 56, 136, 132, 132, 34, 14, 132, 66, 28, 136, 167, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 30, 106, 32, 4, 32, 14, 167, 34, 6, 65, 22, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 5, 65, 31, 106, 32, 4, 32, 6, 65, 16, 118, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 7, 33, 6, 32, 8, 65, 24, 106, 34, 8, 32, 10, 77, 13, 0, 11, 11, 32, 1, 32, 1, 65, 3, 112, 34, 11, 107, 34, 9, 32, 1, 75, 13, 2, 32, 8, 32, 9, 79, 4, 64, 32, 7, 33, 6, 12, 10, 11, 3, 64, 32, 8, 65, 3, 106, 34, 10, 32, 8, 73, 13, 4, 32, 10, 32, 1, 75, 13, 8, 32, 7, 65, 4, 106, 34, 6, 32, 7, 73, 13, 5, 32, 6, 32, 3, 75, 13, 9, 32, 2, 32, 7, 106, 34, 12, 32, 4, 32, 0, 32, 8, 106, 34, 5, 45, 0, 0, 34, 7, 65, 2, 118, 106, 45, 0, 0, 58, 0, 0, 32, 12, 65, 3, 106, 32, 4, 32, 5, 65, 2, 106, 45, 0, 0, 34, 8, 65, 63, 113, 106, 45, 0, 0, 58, 0, 0, 32, 12, 65, 1, 106, 32, 4, 32, 7, 65, 4, 116, 65, 48, 113, 32, 5, 65, 1, 106, 45, 0, 0, 34, 7, 65, 4, 118, 114, 106, 45, 0, 0, 58, 0, 0, 32, 12, 65, 2, 106, 32, 4, 32, 7, 65, 2, 116, 65, 60, 113, 32, 8, 65, 6, 118, 114, 106, 45, 0, 0, 58, 0, 0, 32, 6, 33, 7, 32, 10, 34, 8, 32, 9, 73, 13, 0, 11, 12, 9, 11, 65, 192, 195, 192, 0, 65, 28, 65, 128, 197, 192, 0, 16, 147, 2, 0, 11, 65, 192, 195, 192, 0, 65, 28, 65, 160, 197, 192, 0, 16, 147, 2, 0, 11, 65, 144, 195, 192, 0, 65, 33, 65, 192, 197, 192, 0, 16, 147, 2, 0, 11, 65, 192, 195, 192, 0, 65, 28, 65, 208, 197, 192, 0, 16, 147, 2, 0, 11, 65, 192, 195, 192, 0, 65, 28, 65, 240, 197, 192, 0, 16, 147, 2, 0, 11, 32, 7, 32, 1, 65, 144, 197, 192, 0, 16, 148, 2, 0, 11, 32, 7, 32, 3, 65, 176, 197, 192, 0, 16, 148, 2, 0, 11, 32, 10, 32, 1, 65, 224, 197, 192, 0, 16, 148, 2, 0, 11, 32, 6, 32, 3, 65, 128, 198, 192, 0, 16, 148, 2, 0, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 11, 65, 127, 106, 14, 2, 1, 0, 2, 11, 32, 9, 32, 1, 79, 13, 5, 32, 6, 32, 3, 79, 13, 6, 32, 2, 32, 6, 106, 32, 4, 32, 0, 32, 9, 106, 45, 0, 0, 34, 7, 65, 2, 118, 106, 45, 0, 0, 58, 0, 0, 32, 9, 65, 1, 106, 34, 10, 32, 1, 79, 13, 7, 32, 6, 65, 1, 106, 34, 1, 32, 3, 79, 13, 8, 32, 1, 32, 2, 106, 32, 4, 32, 7, 65, 4, 116, 65, 48, 113, 32, 0, 32, 10, 106, 45, 0, 0, 34, 0, 65, 240, 1, 113, 65, 4, 118, 114, 106, 45, 0, 0, 58, 0, 0, 32, 6, 65, 2, 106, 34, 1, 32, 3, 79, 13, 9, 32, 1, 32, 2, 106, 32, 4, 32, 0, 65, 2, 116, 65, 60, 113, 106, 45, 0, 0, 58, 0, 0, 32, 6, 65, 3, 106, 34, 0, 32, 6, 73, 13, 10, 32, 0, 15, 11, 32, 9, 32, 1, 79, 13, 1, 32, 6, 32, 3, 79, 13, 2, 32, 2, 32, 6, 106, 32, 4, 32, 0, 32, 9, 106, 45, 0, 0, 34, 0, 65, 2, 118, 106, 45, 0, 0, 58, 0, 0, 32, 6, 65, 1, 106, 34, 1, 32, 3, 79, 13, 3, 32, 1, 32, 2, 106, 32, 4, 32, 0, 65, 4, 116, 65, 48, 113, 106, 45, 0, 0, 58, 0, 0, 32, 6, 65, 2, 106, 33, 6, 11, 32, 6, 15, 11, 32, 9, 32, 1, 65, 144, 198, 192, 0, 16, 146, 2, 0, 11, 32, 6, 32, 3, 65, 160, 198, 192, 0, 16, 146, 2, 0, 11, 32, 1, 32, 3, 65, 176, 198, 192, 0, 16, 146, 2, 0, 11, 32, 9, 32, 1, 65, 192, 198, 192, 0, 16, 146, 2, 0, 11, 32, 6, 32, 3, 65, 208, 198, 192, 0, 16, 146, 2, 0, 11, 32, 10, 32, 1, 65, 224, 198, 192, 0, 16, 146, 2, 0, 11, 32, 1, 32, 3, 65, 240, 198, 192, 0, 16, 146, 2, 0, 11, 32, 1, 32, 3, 65, 128, 199, 192, 0, 16, 146, 2, 0, 11, 65, 192, 195, 192, 0, 65, 28, 65, 144, 199, 192, 0, 16, 147, 2, 0, 11, 168, 1, 1, 2, 127, 2, 64, 2, 64, 32, 0, 32, 1, 32, 2, 32, 3, 65, 188, 217, 192, 0, 40, 2, 0, 16, 196, 1, 34, 5, 32, 3, 77, 4, 64, 32, 1, 65, 3, 112, 65, 3, 115, 65, 3, 112, 34, 0, 4, 64, 32, 2, 32, 5, 106, 33, 2, 32, 0, 33, 1, 32, 3, 32, 5, 107, 34, 4, 33, 3, 3, 64, 32, 3, 69, 13, 3, 32, 2, 65, 61, 58, 0, 0, 32, 3, 65, 127, 106, 33, 3, 32, 2, 65, 1, 106, 33, 2, 32, 1, 65, 127, 106, 34, 1, 13, 0, 11, 32, 0, 33, 4, 11, 32, 4, 32, 5, 106, 32, 5, 73, 13, 2, 15, 11, 32, 5, 32, 3, 65, 180, 196, 192, 0, 16, 153, 2, 0, 11, 32, 4, 32, 4, 65, 128, 200, 192, 0, 16, 146, 2, 0, 11, 65, 196, 196, 192, 0, 65, 42, 65, 240, 196, 192, 0, 16, 160, 2, 0, 11, 99, 1, 4, 127, 35, 0, 65, 32, 107, 34, 5, 36, 0, 32, 1, 65, 3, 110, 34, 2, 65, 255, 255, 255, 255, 3, 113, 32, 2, 71, 33, 3, 32, 2, 65, 2, 116, 33, 4, 2, 64, 32, 1, 32, 2, 65, 3, 108, 107, 69, 4, 64, 32, 4, 33, 1, 12, 1, 11, 32, 3, 32, 4, 65, 4, 106, 34, 1, 32, 4, 73, 114, 33, 3, 11, 32, 0, 32, 1, 54, 2, 4, 32, 0, 32, 3, 65, 1, 115, 54, 2, 0, 32, 5, 65, 32, 106, 36, 0, 11, 180, 2, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 2, 64, 32, 0, 45, 0, 0, 65, 1, 107, 14, 2, 2, 0, 1, 11, 32, 2, 32, 0, 65, 4, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 0, 45, 0, 1, 58, 0, 7, 32, 2, 65, 28, 106, 65, 2, 54, 2, 0, 32, 2, 65, 44, 106, 65, 210, 0, 54, 2, 0, 32, 2, 66, 3, 55, 2, 12, 32, 2, 65, 176, 200, 192, 0, 54, 2, 8, 32, 2, 65, 211, 0, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 54, 2, 40, 32, 2, 32, 2, 65, 7, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 2, 11, 32, 2, 32, 0, 65, 4, 106, 40, 2, 0, 54, 2, 0, 32, 2, 32, 0, 45, 0, 1, 58, 0, 7, 32, 2, 65, 28, 106, 65, 2, 54, 2, 0, 32, 2, 65, 44, 106, 65, 210, 0, 54, 2, 0, 32, 2, 66, 3, 55, 2, 12, 32, 2, 65, 140, 201, 192, 0, 54, 2, 8, 32, 2, 65, 211, 0, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 54, 2, 40, 32, 2, 32, 2, 65, 7, 106, 54, 2, 32, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 12, 1, 11, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 252, 200, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 244, 200, 192, 0, 54, 2, 8, 32, 1, 32, 2, 65, 8, 106, 16, 183, 2, 11, 32, 2, 65, 48, 106, 36, 0, 11, 38, 1, 1, 127, 32, 0, 65, 7, 106, 34, 1, 32, 0, 73, 4, 64, 65, 164, 201, 192, 0, 65, 51, 65, 172, 202, 192, 0, 16, 160, 2, 0, 11, 32, 1, 65, 3, 118, 11, 45, 1, 1, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 1, 65, 8, 106, 32, 0, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 1, 32, 0, 41, 2, 0, 55, 3, 0, 32, 1, 16, 202, 1, 0, 11, 44, 1, 1, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 1, 32, 0, 41, 2, 0, 55, 3, 8, 32, 1, 65, 8, 106, 65, 236, 217, 192, 0, 65, 0, 32, 0, 40, 2, 8, 16, 233, 1, 0, 11, 46, 1, 1, 127, 35, 0, 65, 16, 107, 34, 0, 36, 0, 32, 0, 65, 192, 219, 192, 0, 54, 2, 8, 32, 0, 65, 14, 54, 2, 4, 32, 0, 65, 177, 219, 192, 0, 54, 2, 0, 32, 0, 16, 201, 1, 0, 11, 22, 0, 32, 0, 40, 2, 0, 34, 0, 40, 2, 0, 32, 0, 40, 2, 4, 32, 1, 16, 192, 2, 11, 29, 0, 32, 1, 40, 2, 0, 69, 4, 64, 0, 11, 32, 0, 65, 128, 218, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 85, 1, 2, 127, 32, 1, 40, 2, 0, 33, 2, 32, 1, 65, 0, 54, 2, 0, 2, 64, 32, 2, 4, 64, 32, 1, 40, 2, 4, 33, 3, 65, 8, 65, 4, 16, 87, 34, 1, 69, 13, 1, 32, 1, 32, 3, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 0, 65, 128, 218, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 15, 11, 0, 11, 65, 8, 65, 4, 16, 138, 2, 0, 11, 172, 3, 1, 3, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 2, 127, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 4, 34, 4, 14, 3, 0, 1, 2, 3, 11, 16, 203, 1, 0, 11, 32, 2, 65, 44, 106, 65, 1, 54, 2, 0, 32, 2, 66, 2, 55, 2, 28, 32, 2, 65, 172, 218, 192, 0, 54, 2, 24, 32, 2, 65, 212, 0, 54, 2, 4, 32, 2, 32, 0, 40, 2, 0, 54, 2, 0, 32, 2, 32, 2, 54, 2, 40, 32, 1, 32, 2, 65, 24, 106, 16, 183, 2, 12, 2, 11, 32, 2, 65, 12, 106, 65, 212, 0, 54, 2, 0, 32, 2, 65, 44, 106, 65, 2, 54, 2, 0, 32, 2, 66, 3, 55, 2, 28, 32, 2, 65, 196, 218, 192, 0, 54, 2, 24, 32, 2, 65, 212, 0, 54, 2, 4, 32, 2, 32, 0, 40, 2, 0, 34, 0, 54, 2, 0, 32, 2, 32, 0, 65, 8, 106, 54, 2, 8, 32, 2, 32, 2, 54, 2, 40, 32, 1, 32, 2, 65, 24, 106, 16, 183, 2, 12, 1, 11, 32, 2, 65, 44, 106, 65, 0, 54, 2, 0, 32, 2, 65, 128, 218, 192, 0, 54, 2, 40, 32, 2, 66, 1, 55, 2, 28, 32, 2, 65, 152, 218, 192, 0, 54, 2, 24, 65, 1, 32, 1, 32, 2, 65, 24, 106, 16, 183, 2, 13, 0, 26, 32, 4, 65, 3, 116, 65, 120, 106, 65, 3, 118, 65, 1, 106, 33, 4, 32, 0, 40, 2, 0, 33, 0, 2, 64, 3, 64, 32, 2, 32, 0, 54, 2, 20, 32, 3, 4, 64, 32, 2, 65, 0, 54, 2, 44, 32, 2, 65, 128, 218, 192, 0, 54, 2, 40, 32, 2, 66, 1, 55, 2, 28, 32, 2, 65, 164, 218, 192, 0, 54, 2, 24, 32, 1, 32, 2, 65, 24, 106, 16, 183, 2, 13, 2, 11, 32, 2, 65, 1, 54, 2, 44, 32, 2, 66, 2, 55, 2, 28, 32, 2, 65, 172, 218, 192, 0, 54, 2, 24, 32, 2, 65, 213, 0, 54, 2, 4, 32, 2, 32, 2, 54, 2, 40, 32, 2, 32, 2, 65, 20, 106, 54, 2, 0, 32, 1, 32, 2, 65, 24, 106, 16, 183, 2, 13, 1, 32, 0, 65, 8, 106, 33, 0, 32, 4, 32, 3, 65, 1, 106, 34, 3, 71, 13, 0, 11, 65, 0, 12, 1, 11, 65, 1, 11, 32, 2, 65, 48, 106, 36, 0, 11, 228, 2, 2, 3, 127, 2, 126, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 41, 3, 0, 34, 6, 32, 2, 173, 66, 3, 134, 124, 34, 7, 32, 6, 90, 4, 64, 32, 0, 32, 7, 55, 3, 0, 65, 192, 0, 32, 0, 40, 2, 8, 34, 3, 107, 34, 4, 65, 193, 0, 79, 13, 1, 2, 64, 32, 4, 32, 2, 75, 4, 64, 32, 2, 32, 3, 106, 34, 4, 32, 3, 73, 13, 7, 32, 4, 65, 193, 0, 79, 13, 4, 32, 4, 32, 3, 107, 34, 4, 32, 2, 71, 13, 5, 32, 0, 32, 3, 106, 65, 12, 106, 32, 1, 32, 2, 16, 212, 2, 26, 32, 0, 40, 2, 8, 34, 1, 32, 2, 106, 34, 2, 32, 1, 79, 13, 1, 65, 192, 220, 192, 0, 65, 28, 65, 148, 222, 192, 0, 16, 147, 2, 0, 11, 32, 0, 65, 204, 0, 106, 34, 5, 32, 3, 4, 64, 32, 3, 65, 193, 0, 79, 13, 6, 32, 3, 32, 0, 65, 12, 106, 34, 3, 106, 32, 1, 32, 4, 16, 212, 2, 26, 32, 0, 65, 0, 54, 2, 8, 32, 5, 32, 3, 65, 1, 16, 209, 1, 32, 2, 32, 4, 107, 33, 2, 32, 1, 32, 4, 106, 33, 1, 11, 32, 1, 32, 2, 65, 6, 118, 16, 209, 1, 32, 0, 65, 12, 106, 32, 1, 32, 2, 65, 64, 113, 106, 32, 2, 65, 63, 113, 34, 2, 16, 212, 2, 26, 11, 32, 0, 32, 2, 54, 2, 8, 15, 11, 65, 192, 220, 192, 0, 65, 28, 65, 200, 224, 192, 0, 16, 147, 2, 0, 11, 65, 192, 222, 192, 0, 65, 33, 65, 228, 222, 192, 0, 16, 147, 2, 0, 11, 32, 4, 65, 192, 0, 65, 132, 222, 192, 0, 16, 148, 2, 0, 11, 32, 4, 32, 2, 16, 194, 2, 0, 11, 32, 3, 65, 192, 0, 65, 164, 222, 192, 0, 16, 153, 2, 0, 11, 65, 192, 220, 192, 0, 65, 28, 65, 244, 221, 192, 0, 16, 147, 2, 0, 11, 206, 63, 1, 34, 127, 32, 0, 40, 2, 28, 33, 34, 32, 0, 40, 2, 24, 33, 32, 32, 0, 40, 2, 20, 33, 30, 32, 0, 40, 2, 16, 33, 29, 32, 0, 40, 2, 12, 33, 35, 32, 0, 40, 2, 8, 33, 33, 32, 0, 40, 2, 4, 33, 31, 32, 0, 40, 2, 0, 33, 5, 32, 2, 4, 64, 32, 1, 32, 2, 65, 6, 116, 106, 33, 36, 3, 64, 32, 5, 32, 1, 40, 0, 0, 34, 2, 65, 24, 116, 32, 2, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 2, 65, 8, 118, 65, 128, 254, 3, 113, 32, 2, 65, 24, 118, 114, 114, 34, 20, 32, 34, 32, 29, 65, 26, 119, 32, 29, 65, 21, 119, 115, 32, 29, 65, 7, 119, 115, 106, 32, 30, 32, 32, 115, 32, 29, 113, 32, 32, 115, 106, 106, 65, 152, 223, 168, 148, 4, 106, 34, 16, 32, 5, 32, 33, 113, 32, 5, 32, 31, 113, 34, 2, 32, 31, 32, 33, 113, 115, 115, 32, 5, 65, 30, 119, 32, 5, 65, 19, 119, 115, 32, 5, 65, 10, 119, 115, 106, 106, 34, 13, 65, 30, 119, 32, 13, 65, 19, 119, 115, 32, 13, 65, 10, 119, 115, 32, 13, 32, 5, 32, 31, 115, 113, 32, 2, 115, 106, 32, 32, 32, 1, 65, 4, 106, 40, 0, 0, 34, 2, 65, 24, 116, 32, 2, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 2, 65, 8, 118, 65, 128, 254, 3, 113, 32, 2, 65, 24, 118, 114, 114, 34, 24, 106, 32, 16, 32, 35, 106, 34, 3, 32, 29, 32, 30, 115, 113, 32, 30, 115, 106, 32, 3, 65, 26, 119, 32, 3, 65, 21, 119, 115, 32, 3, 65, 7, 119, 115, 106, 65, 145, 137, 221, 137, 7, 106, 34, 15, 106, 34, 2, 32, 13, 113, 34, 7, 32, 5, 32, 13, 113, 115, 32, 2, 32, 5, 113, 115, 32, 2, 65, 30, 119, 32, 2, 65, 19, 119, 115, 32, 2, 65, 10, 119, 115, 106, 32, 30, 32, 1, 65, 8, 106, 40, 0, 0, 34, 16, 65, 24, 116, 32, 16, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 16, 65, 8, 118, 65, 128, 254, 3, 113, 32, 16, 65, 24, 118, 114, 114, 34, 4, 106, 32, 15, 32, 33, 106, 34, 15, 32, 3, 32, 29, 115, 113, 32, 29, 115, 106, 32, 15, 65, 26, 119, 32, 15, 65, 21, 119, 115, 32, 15, 65, 7, 119, 115, 106, 65, 207, 247, 131, 174, 123, 106, 34, 9, 106, 34, 8, 65, 30, 119, 32, 8, 65, 19, 119, 115, 32, 8, 65, 10, 119, 115, 32, 8, 32, 2, 32, 13, 115, 113, 32, 7, 115, 106, 32, 29, 32, 1, 65, 12, 106, 40, 0, 0, 34, 16, 65, 24, 116, 32, 16, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 16, 65, 8, 118, 65, 128, 254, 3, 113, 32, 16, 65, 24, 118, 114, 114, 34, 23, 106, 32, 9, 32, 31, 106, 34, 7, 32, 3, 32, 15, 115, 113, 32, 3, 115, 106, 32, 7, 65, 26, 119, 32, 7, 65, 21, 119, 115, 32, 7, 65, 7, 119, 115, 106, 65, 165, 183, 215, 205, 126, 106, 34, 12, 106, 34, 16, 32, 8, 113, 34, 19, 32, 2, 32, 8, 113, 115, 32, 2, 32, 16, 113, 115, 32, 16, 65, 30, 119, 32, 16, 65, 19, 119, 115, 32, 16, 65, 10, 119, 115, 106, 32, 3, 32, 1, 65, 16, 106, 40, 0, 0, 34, 9, 65, 24, 116, 32, 9, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 9, 65, 8, 118, 65, 128, 254, 3, 113, 32, 9, 65, 24, 118, 114, 114, 34, 10, 106, 32, 5, 32, 12, 106, 34, 3, 32, 7, 32, 15, 115, 113, 32, 15, 115, 106, 32, 3, 65, 26, 119, 32, 3, 65, 21, 119, 115, 32, 3, 65, 7, 119, 115, 106, 65, 219, 132, 219, 202, 3, 106, 34, 12, 106, 34, 9, 65, 30, 119, 32, 9, 65, 19, 119, 115, 32, 9, 65, 10, 119, 115, 32, 9, 32, 8, 32, 16, 115, 113, 32, 19, 115, 106, 32, 1, 65, 20, 106, 40, 0, 0, 34, 5, 65, 24, 116, 32, 5, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 5, 65, 8, 118, 65, 128, 254, 3, 113, 32, 5, 65, 24, 118, 114, 114, 34, 26, 32, 15, 106, 32, 12, 32, 13, 106, 34, 13, 32, 3, 32, 7, 115, 113, 32, 7, 115, 106, 32, 13, 65, 26, 119, 32, 13, 65, 21, 119, 115, 32, 13, 65, 7, 119, 115, 106, 65, 241, 163, 196, 207, 5, 106, 34, 12, 106, 34, 5, 32, 9, 113, 34, 19, 32, 9, 32, 16, 113, 115, 32, 5, 32, 16, 113, 115, 32, 5, 65, 30, 119, 32, 5, 65, 19, 119, 115, 32, 5, 65, 10, 119, 115, 106, 32, 1, 65, 24, 106, 40, 0, 0, 34, 15, 65, 24, 116, 32, 15, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 15, 65, 8, 118, 65, 128, 254, 3, 113, 32, 15, 65, 24, 118, 114, 114, 34, 14, 32, 7, 106, 32, 2, 32, 12, 106, 34, 15, 32, 3, 32, 13, 115, 113, 32, 3, 115, 106, 32, 15, 65, 26, 119, 32, 15, 65, 21, 119, 115, 32, 15, 65, 7, 119, 115, 106, 65, 164, 133, 254, 145, 121, 106, 34, 12, 106, 34, 7, 65, 30, 119, 32, 7, 65, 19, 119, 115, 32, 7, 65, 10, 119, 115, 32, 7, 32, 5, 32, 9, 115, 113, 32, 19, 115, 106, 32, 1, 65, 28, 106, 40, 0, 0, 34, 2, 65, 24, 116, 32, 2, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 2, 65, 8, 118, 65, 128, 254, 3, 113, 32, 2, 65, 24, 118, 114, 114, 34, 6, 32, 3, 106, 32, 8, 32, 12, 106, 34, 3, 32, 13, 32, 15, 115, 113, 32, 13, 115, 106, 32, 3, 65, 26, 119, 32, 3, 65, 21, 119, 115, 32, 3, 65, 7, 119, 115, 106, 65, 213, 189, 241, 216, 122, 106, 34, 8, 106, 34, 2, 32, 7, 113, 34, 12, 32, 5, 32, 7, 113, 115, 32, 2, 32, 5, 113, 115, 32, 2, 65, 30, 119, 32, 2, 65, 19, 119, 115, 32, 2, 65, 10, 119, 115, 106, 32, 13, 32, 1, 65, 32, 106, 40, 0, 0, 34, 13, 65, 24, 116, 32, 13, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 13, 65, 8, 118, 65, 128, 254, 3, 113, 32, 13, 65, 24, 118, 114, 114, 34, 11, 106, 32, 8, 32, 16, 106, 34, 13, 32, 3, 32, 15, 115, 113, 32, 15, 115, 106, 32, 13, 65, 26, 119, 32, 13, 65, 21, 119, 115, 32, 13, 65, 7, 119, 115, 106, 65, 152, 213, 158, 192, 125, 106, 34, 19, 106, 34, 8, 65, 30, 119, 32, 8, 65, 19, 119, 115, 32, 8, 65, 10, 119, 115, 32, 8, 32, 2, 32, 7, 115, 113, 32, 12, 115, 106, 32, 1, 65, 36, 106, 40, 0, 0, 34, 16, 65, 24, 116, 32, 16, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 16, 65, 8, 118, 65, 128, 254, 3, 113, 32, 16, 65, 24, 118, 114, 114, 34, 18, 32, 15, 106, 32, 9, 32, 19, 106, 34, 15, 32, 3, 32, 13, 115, 113, 32, 3, 115, 106, 32, 15, 65, 26, 119, 32, 15, 65, 21, 119, 115, 32, 15, 65, 7, 119, 115, 106, 65, 129, 182, 141, 148, 1, 106, 34, 9, 106, 34, 16, 32, 8, 113, 34, 12, 32, 2, 32, 8, 113, 115, 32, 2, 32, 16, 113, 115, 32, 16, 65, 30, 119, 32, 16, 65, 19, 119, 115, 32, 16, 65, 10, 119, 115, 106, 32, 3, 32, 1, 65, 40, 106, 40, 0, 0, 34, 3, 65, 24, 116, 32, 3, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 3, 65, 8, 118, 65, 128, 254, 3, 113, 32, 3, 65, 24, 118, 114, 114, 34, 17, 106, 32, 5, 32, 9, 106, 34, 3, 32, 13, 32, 15, 115, 113, 32, 13, 115, 106, 32, 3, 65, 26, 119, 32, 3, 65, 21, 119, 115, 32, 3, 65, 7, 119, 115, 106, 65, 190, 139, 198, 161, 2, 106, 34, 19, 106, 34, 9, 65, 30, 119, 32, 9, 65, 19, 119, 115, 32, 9, 65, 10, 119, 115, 32, 9, 32, 8, 32, 16, 115, 113, 32, 12, 115, 106, 32, 1, 65, 44, 106, 40, 0, 0, 34, 5, 65, 24, 116, 32, 5, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 5, 65, 8, 118, 65, 128, 254, 3, 113, 32, 5, 65, 24, 118, 114, 114, 34, 21, 32, 13, 106, 32, 7, 32, 19, 106, 34, 13, 32, 3, 32, 15, 115, 113, 32, 15, 115, 106, 32, 13, 65, 26, 119, 32, 13, 65, 21, 119, 115, 32, 13, 65, 7, 119, 115, 106, 65, 195, 251, 177, 168, 5, 106, 34, 7, 106, 34, 5, 32, 9, 113, 34, 12, 32, 9, 32, 16, 113, 115, 32, 5, 32, 16, 113, 115, 32, 5, 65, 30, 119, 32, 5, 65, 19, 119, 115, 32, 5, 65, 10, 119, 115, 106, 32, 15, 32, 1, 65, 48, 106, 40, 0, 0, 34, 15, 65, 24, 116, 32, 15, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 15, 65, 8, 118, 65, 128, 254, 3, 113, 32, 15, 65, 24, 118, 114, 114, 34, 22, 106, 32, 2, 32, 7, 106, 34, 15, 32, 3, 32, 13, 115, 113, 32, 3, 115, 106, 32, 15, 65, 26, 119, 32, 15, 65, 21, 119, 115, 32, 15, 65, 7, 119, 115, 106, 65, 244, 186, 249, 149, 7, 106, 34, 19, 106, 34, 7, 65, 30, 119, 32, 7, 65, 19, 119, 115, 32, 7, 65, 10, 119, 115, 32, 7, 32, 5, 32, 9, 115, 113, 32, 12, 115, 106, 32, 1, 65, 52, 106, 40, 0, 0, 34, 2, 65, 24, 116, 32, 2, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 2, 65, 8, 118, 65, 128, 254, 3, 113, 32, 2, 65, 24, 118, 114, 114, 34, 27, 32, 3, 106, 32, 8, 32, 19, 106, 34, 8, 32, 13, 32, 15, 115, 113, 32, 13, 115, 106, 32, 8, 65, 26, 119, 32, 8, 65, 21, 119, 115, 32, 8, 65, 7, 119, 115, 106, 65, 254, 227, 250, 134, 120, 106, 34, 3, 106, 34, 2, 32, 7, 113, 34, 25, 32, 5, 32, 7, 113, 115, 32, 2, 32, 5, 113, 115, 32, 2, 65, 30, 119, 32, 2, 65, 19, 119, 115, 32, 2, 65, 10, 119, 115, 106, 32, 13, 32, 1, 65, 56, 106, 40, 0, 0, 34, 13, 65, 24, 116, 32, 13, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 13, 65, 8, 118, 65, 128, 254, 3, 113, 32, 13, 65, 24, 118, 114, 114, 34, 13, 106, 32, 3, 32, 16, 106, 34, 12, 32, 8, 32, 15, 115, 113, 32, 15, 115, 106, 32, 12, 65, 26, 119, 32, 12, 65, 21, 119, 115, 32, 12, 65, 7, 119, 115, 106, 65, 167, 141, 240, 222, 121, 106, 34, 3, 106, 34, 19, 65, 30, 119, 32, 19, 65, 19, 119, 115, 32, 19, 65, 10, 119, 115, 32, 19, 32, 2, 32, 7, 115, 113, 32, 25, 115, 106, 32, 1, 65, 60, 106, 40, 0, 0, 34, 16, 65, 24, 116, 32, 16, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 16, 65, 8, 118, 65, 128, 254, 3, 113, 32, 16, 65, 24, 118, 114, 114, 34, 16, 32, 15, 106, 32, 3, 32, 9, 106, 34, 9, 32, 8, 32, 12, 115, 113, 32, 8, 115, 106, 32, 9, 65, 26, 119, 32, 9, 65, 21, 119, 115, 32, 9, 65, 7, 119, 115, 106, 65, 244, 226, 239, 140, 124, 106, 34, 25, 106, 34, 3, 32, 19, 113, 34, 28, 32, 2, 32, 19, 113, 115, 32, 2, 32, 3, 113, 115, 32, 3, 65, 30, 119, 32, 3, 65, 19, 119, 115, 32, 3, 65, 10, 119, 115, 106, 32, 24, 65, 3, 118, 32, 24, 65, 25, 119, 115, 32, 24, 65, 14, 119, 115, 32, 20, 106, 32, 18, 106, 32, 13, 65, 15, 119, 32, 13, 65, 13, 119, 115, 32, 13, 65, 10, 118, 115, 106, 34, 15, 32, 8, 106, 32, 5, 32, 25, 106, 34, 20, 32, 9, 32, 12, 115, 113, 32, 12, 115, 106, 32, 20, 65, 26, 119, 32, 20, 65, 21, 119, 115, 32, 20, 65, 7, 119, 115, 106, 65, 193, 211, 237, 164, 126, 106, 34, 8, 106, 34, 25, 65, 30, 119, 32, 25, 65, 19, 119, 115, 32, 25, 65, 10, 119, 115, 32, 25, 32, 3, 32, 19, 115, 113, 32, 28, 115, 106, 32, 4, 65, 3, 118, 32, 4, 65, 25, 119, 115, 32, 4, 65, 14, 119, 115, 32, 24, 106, 32, 17, 106, 32, 16, 65, 15, 119, 32, 16, 65, 13, 119, 115, 32, 16, 65, 10, 118, 115, 106, 34, 5, 32, 12, 106, 32, 7, 32, 8, 106, 34, 12, 32, 9, 32, 20, 115, 113, 32, 9, 115, 106, 32, 12, 65, 26, 119, 32, 12, 65, 21, 119, 115, 32, 12, 65, 7, 119, 115, 106, 65, 134, 143, 249, 253, 126, 106, 34, 24, 106, 34, 8, 32, 25, 113, 34, 28, 32, 3, 32, 25, 113, 115, 32, 3, 32, 8, 113, 115, 32, 8, 65, 30, 119, 32, 8, 65, 19, 119, 115, 32, 8, 65, 10, 119, 115, 106, 32, 23, 65, 3, 118, 32, 23, 65, 25, 119, 115, 32, 23, 65, 14, 119, 115, 32, 4, 106, 32, 21, 106, 32, 15, 65, 15, 119, 32, 15, 65, 13, 119, 115, 32, 15, 65, 10, 118, 115, 106, 34, 7, 32, 9, 106, 32, 2, 32, 24, 106, 34, 24, 32, 12, 32, 20, 115, 113, 32, 20, 115, 106, 32, 24, 65, 26, 119, 32, 24, 65, 21, 119, 115, 32, 24, 65, 7, 119, 115, 106, 65, 198, 187, 134, 254, 0, 106, 34, 9, 106, 34, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 32, 4, 32, 8, 32, 25, 115, 113, 32, 28, 115, 106, 32, 10, 65, 3, 118, 32, 10, 65, 25, 119, 115, 32, 10, 65, 14, 119, 115, 32, 23, 106, 32, 22, 106, 32, 5, 65, 15, 119, 32, 5, 65, 13, 119, 115, 32, 5, 65, 10, 118, 115, 106, 34, 2, 32, 20, 106, 32, 9, 32, 19, 106, 34, 20, 32, 12, 32, 24, 115, 113, 32, 12, 115, 106, 32, 20, 65, 26, 119, 32, 20, 65, 21, 119, 115, 32, 20, 65, 7, 119, 115, 106, 65, 204, 195, 178, 160, 2, 106, 34, 19, 106, 34, 9, 32, 4, 113, 34, 28, 32, 4, 32, 8, 113, 115, 32, 8, 32, 9, 113, 115, 32, 9, 65, 30, 119, 32, 9, 65, 19, 119, 115, 32, 9, 65, 10, 119, 115, 106, 32, 12, 32, 26, 65, 3, 118, 32, 26, 65, 25, 119, 115, 32, 26, 65, 14, 119, 115, 32, 10, 106, 32, 27, 106, 32, 7, 65, 15, 119, 32, 7, 65, 13, 119, 115, 32, 7, 65, 10, 118, 115, 106, 34, 12, 106, 32, 3, 32, 19, 106, 34, 23, 32, 20, 32, 24, 115, 113, 32, 24, 115, 106, 32, 23, 65, 26, 119, 32, 23, 65, 21, 119, 115, 32, 23, 65, 7, 119, 115, 106, 65, 239, 216, 164, 239, 2, 106, 34, 19, 106, 34, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 32, 10, 32, 4, 32, 9, 115, 113, 32, 28, 115, 106, 32, 14, 65, 3, 118, 32, 14, 65, 25, 119, 115, 32, 14, 65, 14, 119, 115, 32, 26, 106, 32, 13, 106, 32, 2, 65, 15, 119, 32, 2, 65, 13, 119, 115, 32, 2, 65, 10, 118, 115, 106, 34, 3, 32, 24, 106, 32, 19, 32, 25, 106, 34, 24, 32, 20, 32, 23, 115, 113, 32, 20, 115, 106, 32, 24, 65, 26, 119, 32, 24, 65, 21, 119, 115, 32, 24, 65, 7, 119, 115, 106, 65, 170, 137, 210, 211, 4, 106, 34, 25, 106, 34, 19, 32, 10, 113, 34, 28, 32, 9, 32, 10, 113, 115, 32, 9, 32, 19, 113, 115, 32, 19, 65, 30, 119, 32, 19, 65, 19, 119, 115, 32, 19, 65, 10, 119, 115, 106, 32, 20, 32, 6, 65, 3, 118, 32, 6, 65, 25, 119, 115, 32, 6, 65, 14, 119, 115, 32, 14, 106, 32, 16, 106, 32, 12, 65, 15, 119, 32, 12, 65, 13, 119, 115, 32, 12, 65, 10, 118, 115, 106, 34, 20, 106, 32, 8, 32, 25, 106, 34, 26, 32, 23, 32, 24, 115, 113, 32, 23, 115, 106, 32, 26, 65, 26, 119, 32, 26, 65, 21, 119, 115, 32, 26, 65, 7, 119, 115, 106, 65, 220, 211, 194, 229, 5, 106, 34, 25, 106, 34, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 32, 14, 32, 10, 32, 19, 115, 113, 32, 28, 115, 106, 32, 11, 65, 3, 118, 32, 11, 65, 25, 119, 115, 32, 11, 65, 14, 119, 115, 32, 6, 106, 32, 15, 106, 32, 3, 65, 15, 119, 32, 3, 65, 13, 119, 115, 32, 3, 65, 10, 118, 115, 106, 34, 8, 32, 23, 106, 32, 4, 32, 25, 106, 34, 23, 32, 24, 32, 26, 115, 113, 32, 24, 115, 106, 32, 23, 65, 26, 119, 32, 23, 65, 21, 119, 115, 32, 23, 65, 7, 119, 115, 106, 65, 218, 145, 230, 183, 7, 106, 34, 4, 106, 34, 25, 32, 14, 113, 34, 28, 32, 14, 32, 19, 113, 115, 32, 19, 32, 25, 113, 115, 32, 25, 65, 30, 119, 32, 25, 65, 19, 119, 115, 32, 25, 65, 10, 119, 115, 106, 32, 24, 32, 18, 65, 3, 118, 32, 18, 65, 25, 119, 115, 32, 18, 65, 14, 119, 115, 32, 11, 106, 32, 5, 106, 32, 20, 65, 15, 119, 32, 20, 65, 13, 119, 115, 32, 20, 65, 10, 118, 115, 106, 34, 24, 106, 32, 4, 32, 9, 106, 34, 6, 32, 23, 32, 26, 115, 113, 32, 26, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 210, 162, 249, 193, 121, 106, 34, 4, 106, 34, 11, 65, 30, 119, 32, 11, 65, 19, 119, 115, 32, 11, 65, 10, 119, 115, 32, 11, 32, 14, 32, 25, 115, 113, 32, 28, 115, 106, 32, 17, 65, 3, 118, 32, 17, 65, 25, 119, 115, 32, 17, 65, 14, 119, 115, 32, 18, 106, 32, 7, 106, 32, 8, 65, 15, 119, 32, 8, 65, 13, 119, 115, 32, 8, 65, 10, 118, 115, 106, 34, 9, 32, 26, 106, 32, 4, 32, 10, 106, 34, 26, 32, 6, 32, 23, 115, 113, 32, 23, 115, 106, 32, 26, 65, 26, 119, 32, 26, 65, 21, 119, 115, 32, 26, 65, 7, 119, 115, 106, 65, 237, 140, 199, 193, 122, 106, 34, 10, 106, 34, 4, 32, 11, 113, 34, 28, 32, 11, 32, 25, 113, 115, 32, 4, 32, 25, 113, 115, 32, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 106, 32, 23, 32, 21, 65, 3, 118, 32, 21, 65, 25, 119, 115, 32, 21, 65, 14, 119, 115, 32, 17, 106, 32, 2, 106, 32, 24, 65, 15, 119, 32, 24, 65, 13, 119, 115, 32, 24, 65, 10, 118, 115, 106, 34, 23, 106, 32, 10, 32, 19, 106, 34, 18, 32, 6, 32, 26, 115, 113, 32, 6, 115, 106, 32, 18, 65, 26, 119, 32, 18, 65, 21, 119, 115, 32, 18, 65, 7, 119, 115, 106, 65, 200, 207, 140, 128, 123, 106, 34, 10, 106, 34, 17, 65, 30, 119, 32, 17, 65, 19, 119, 115, 32, 17, 65, 10, 119, 115, 32, 17, 32, 4, 32, 11, 115, 113, 32, 28, 115, 106, 32, 22, 65, 3, 118, 32, 22, 65, 25, 119, 115, 32, 22, 65, 14, 119, 115, 32, 21, 106, 32, 12, 106, 32, 9, 65, 15, 119, 32, 9, 65, 13, 119, 115, 32, 9, 65, 10, 118, 115, 106, 34, 19, 32, 6, 106, 32, 10, 32, 14, 106, 34, 6, 32, 18, 32, 26, 115, 113, 32, 26, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 199, 255, 229, 250, 123, 106, 34, 14, 106, 34, 10, 32, 17, 113, 34, 28, 32, 4, 32, 17, 113, 115, 32, 4, 32, 10, 113, 115, 32, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 106, 32, 26, 32, 27, 65, 3, 118, 32, 27, 65, 25, 119, 115, 32, 27, 65, 14, 119, 115, 32, 22, 106, 32, 3, 106, 32, 23, 65, 15, 119, 32, 23, 65, 13, 119, 115, 32, 23, 65, 10, 118, 115, 106, 34, 26, 106, 32, 14, 32, 25, 106, 34, 21, 32, 6, 32, 18, 115, 113, 32, 18, 115, 106, 32, 21, 65, 26, 119, 32, 21, 65, 21, 119, 115, 32, 21, 65, 7, 119, 115, 106, 65, 243, 151, 128, 183, 124, 106, 34, 14, 106, 34, 22, 65, 30, 119, 32, 22, 65, 19, 119, 115, 32, 22, 65, 10, 119, 115, 32, 22, 32, 10, 32, 17, 115, 113, 32, 28, 115, 106, 32, 13, 65, 3, 118, 32, 13, 65, 25, 119, 115, 32, 13, 65, 14, 119, 115, 32, 27, 106, 32, 20, 106, 32, 19, 65, 15, 119, 32, 19, 65, 13, 119, 115, 32, 19, 65, 10, 118, 115, 106, 34, 25, 32, 18, 106, 32, 11, 32, 14, 106, 34, 11, 32, 6, 32, 21, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 199, 162, 158, 173, 125, 106, 34, 18, 106, 34, 14, 32, 22, 113, 34, 27, 32, 10, 32, 22, 113, 115, 32, 10, 32, 14, 113, 115, 32, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 106, 32, 16, 65, 3, 118, 32, 16, 65, 25, 119, 115, 32, 16, 65, 14, 119, 115, 32, 13, 106, 32, 8, 106, 32, 26, 65, 15, 119, 32, 26, 65, 13, 119, 115, 32, 26, 65, 10, 118, 115, 106, 34, 13, 32, 6, 106, 32, 4, 32, 18, 106, 34, 6, 32, 11, 32, 21, 115, 113, 32, 21, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 209, 198, 169, 54, 106, 34, 4, 106, 34, 18, 65, 30, 119, 32, 18, 65, 19, 119, 115, 32, 18, 65, 10, 119, 115, 32, 18, 32, 14, 32, 22, 115, 113, 32, 27, 115, 106, 32, 15, 65, 3, 118, 32, 15, 65, 25, 119, 115, 32, 15, 65, 14, 119, 115, 32, 16, 106, 32, 24, 106, 32, 25, 65, 15, 119, 32, 25, 65, 13, 119, 115, 32, 25, 65, 10, 118, 115, 106, 34, 16, 32, 21, 106, 32, 4, 32, 17, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 231, 210, 164, 161, 1, 106, 34, 21, 106, 34, 4, 32, 18, 113, 34, 27, 32, 14, 32, 18, 113, 115, 32, 4, 32, 14, 113, 115, 32, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 106, 32, 5, 65, 3, 118, 32, 5, 65, 25, 119, 115, 32, 5, 65, 14, 119, 115, 32, 15, 106, 32, 9, 106, 32, 13, 65, 15, 119, 32, 13, 65, 13, 119, 115, 32, 13, 65, 10, 118, 115, 106, 34, 15, 32, 11, 106, 32, 10, 32, 21, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 133, 149, 220, 189, 2, 106, 34, 10, 106, 34, 21, 65, 30, 119, 32, 21, 65, 19, 119, 115, 32, 21, 65, 10, 119, 115, 32, 21, 32, 4, 32, 18, 115, 113, 32, 27, 115, 106, 32, 7, 65, 3, 118, 32, 7, 65, 25, 119, 115, 32, 7, 65, 14, 119, 115, 32, 5, 106, 32, 23, 106, 32, 16, 65, 15, 119, 32, 16, 65, 13, 119, 115, 32, 16, 65, 10, 118, 115, 106, 34, 5, 32, 6, 106, 32, 10, 32, 22, 106, 34, 6, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 184, 194, 236, 240, 2, 106, 34, 22, 106, 34, 10, 32, 21, 113, 34, 27, 32, 4, 32, 21, 113, 115, 32, 4, 32, 10, 113, 115, 32, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 106, 32, 2, 65, 3, 118, 32, 2, 65, 25, 119, 115, 32, 2, 65, 14, 119, 115, 32, 7, 106, 32, 19, 106, 32, 15, 65, 15, 119, 32, 15, 65, 13, 119, 115, 32, 15, 65, 10, 118, 115, 106, 34, 7, 32, 17, 106, 32, 14, 32, 22, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 252, 219, 177, 233, 4, 106, 34, 14, 106, 34, 22, 65, 30, 119, 32, 22, 65, 19, 119, 115, 32, 22, 65, 10, 119, 115, 32, 22, 32, 10, 32, 21, 115, 113, 32, 27, 115, 106, 32, 12, 65, 3, 118, 32, 12, 65, 25, 119, 115, 32, 12, 65, 14, 119, 115, 32, 2, 106, 32, 26, 106, 32, 5, 65, 15, 119, 32, 5, 65, 13, 119, 115, 32, 5, 65, 10, 118, 115, 106, 34, 2, 32, 11, 106, 32, 14, 32, 18, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 147, 154, 224, 153, 5, 106, 34, 18, 106, 34, 14, 32, 22, 113, 34, 27, 32, 10, 32, 22, 113, 115, 32, 10, 32, 14, 113, 115, 32, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 106, 32, 3, 65, 3, 118, 32, 3, 65, 25, 119, 115, 32, 3, 65, 14, 119, 115, 32, 12, 106, 32, 25, 106, 32, 7, 65, 15, 119, 32, 7, 65, 13, 119, 115, 32, 7, 65, 10, 118, 115, 106, 34, 12, 32, 6, 106, 32, 4, 32, 18, 106, 34, 6, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 212, 230, 169, 168, 6, 106, 34, 4, 106, 34, 18, 65, 30, 119, 32, 18, 65, 19, 119, 115, 32, 18, 65, 10, 119, 115, 32, 18, 32, 14, 32, 22, 115, 113, 32, 27, 115, 106, 32, 20, 65, 3, 118, 32, 20, 65, 25, 119, 115, 32, 20, 65, 14, 119, 115, 32, 3, 106, 32, 13, 106, 32, 2, 65, 15, 119, 32, 2, 65, 13, 119, 115, 32, 2, 65, 10, 118, 115, 106, 34, 3, 32, 17, 106, 32, 4, 32, 21, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 187, 149, 168, 179, 7, 106, 34, 21, 106, 34, 4, 32, 18, 113, 34, 27, 32, 14, 32, 18, 113, 115, 32, 4, 32, 14, 113, 115, 32, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 106, 32, 8, 65, 3, 118, 32, 8, 65, 25, 119, 115, 32, 8, 65, 14, 119, 115, 32, 20, 106, 32, 16, 106, 32, 12, 65, 15, 119, 32, 12, 65, 13, 119, 115, 32, 12, 65, 10, 118, 115, 106, 34, 20, 32, 11, 106, 32, 10, 32, 21, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 174, 146, 139, 142, 120, 106, 34, 10, 106, 34, 21, 65, 30, 119, 32, 21, 65, 19, 119, 115, 32, 21, 65, 10, 119, 115, 32, 21, 32, 4, 32, 18, 115, 113, 32, 27, 115, 106, 32, 24, 65, 3, 118, 32, 24, 65, 25, 119, 115, 32, 24, 65, 14, 119, 115, 32, 8, 106, 32, 15, 106, 32, 3, 65, 15, 119, 32, 3, 65, 13, 119, 115, 32, 3, 65, 10, 118, 115, 106, 34, 8, 32, 6, 106, 32, 10, 32, 22, 106, 34, 6, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 133, 217, 200, 147, 121, 106, 34, 22, 106, 34, 10, 32, 21, 113, 34, 27, 32, 4, 32, 21, 113, 115, 32, 4, 32, 10, 113, 115, 32, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 106, 32, 9, 65, 3, 118, 32, 9, 65, 25, 119, 115, 32, 9, 65, 14, 119, 115, 32, 24, 106, 32, 5, 106, 32, 20, 65, 15, 119, 32, 20, 65, 13, 119, 115, 32, 20, 65, 10, 118, 115, 106, 34, 24, 32, 17, 106, 32, 14, 32, 22, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 161, 209, 255, 149, 122, 106, 34, 14, 106, 34, 22, 65, 30, 119, 32, 22, 65, 19, 119, 115, 32, 22, 65, 10, 119, 115, 32, 22, 32, 10, 32, 21, 115, 113, 32, 27, 115, 106, 32, 23, 65, 3, 118, 32, 23, 65, 25, 119, 115, 32, 23, 65, 14, 119, 115, 32, 9, 106, 32, 7, 106, 32, 8, 65, 15, 119, 32, 8, 65, 13, 119, 115, 32, 8, 65, 10, 118, 115, 106, 34, 9, 32, 11, 106, 32, 14, 32, 18, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 203, 204, 233, 192, 122, 106, 34, 18, 106, 34, 14, 32, 22, 113, 34, 27, 32, 10, 32, 22, 113, 115, 32, 10, 32, 14, 113, 115, 32, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 106, 32, 19, 65, 3, 118, 32, 19, 65, 25, 119, 115, 32, 19, 65, 14, 119, 115, 32, 23, 106, 32, 2, 106, 32, 24, 65, 15, 119, 32, 24, 65, 13, 119, 115, 32, 24, 65, 10, 118, 115, 106, 34, 23, 32, 6, 106, 32, 4, 32, 18, 106, 34, 6, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 240, 150, 174, 146, 124, 106, 34, 4, 106, 34, 18, 65, 30, 119, 32, 18, 65, 19, 119, 115, 32, 18, 65, 10, 119, 115, 32, 18, 32, 14, 32, 22, 115, 113, 32, 27, 115, 106, 32, 26, 65, 3, 118, 32, 26, 65, 25, 119, 115, 32, 26, 65, 14, 119, 115, 32, 19, 106, 32, 12, 106, 32, 9, 65, 15, 119, 32, 9, 65, 13, 119, 115, 32, 9, 65, 10, 118, 115, 106, 34, 19, 32, 17, 106, 32, 4, 32, 21, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 163, 163, 177, 187, 124, 106, 34, 21, 106, 34, 4, 32, 18, 113, 34, 27, 32, 14, 32, 18, 113, 115, 32, 4, 32, 14, 113, 115, 32, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 106, 32, 25, 65, 3, 118, 32, 25, 65, 25, 119, 115, 32, 25, 65, 14, 119, 115, 32, 26, 106, 32, 3, 106, 32, 23, 65, 15, 119, 32, 23, 65, 13, 119, 115, 32, 23, 65, 10, 118, 115, 106, 34, 26, 32, 11, 106, 32, 10, 32, 21, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 153, 208, 203, 140, 125, 106, 34, 10, 106, 34, 21, 65, 30, 119, 32, 21, 65, 19, 119, 115, 32, 21, 65, 10, 119, 115, 32, 21, 32, 4, 32, 18, 115, 113, 32, 27, 115, 106, 32, 13, 65, 3, 118, 32, 13, 65, 25, 119, 115, 32, 13, 65, 14, 119, 115, 32, 25, 106, 32, 20, 106, 32, 19, 65, 15, 119, 32, 19, 65, 13, 119, 115, 32, 19, 65, 10, 118, 115, 106, 34, 25, 32, 6, 106, 32, 10, 32, 22, 106, 34, 6, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 6, 65, 26, 119, 32, 6, 65, 21, 119, 115, 32, 6, 65, 7, 119, 115, 106, 65, 164, 140, 228, 180, 125, 106, 34, 22, 106, 34, 10, 32, 21, 113, 34, 27, 32, 4, 32, 21, 113, 115, 32, 4, 32, 10, 113, 115, 32, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 106, 32, 16, 65, 3, 118, 32, 16, 65, 25, 119, 115, 32, 16, 65, 14, 119, 115, 32, 13, 106, 32, 8, 106, 32, 26, 65, 15, 119, 32, 26, 65, 13, 119, 115, 32, 26, 65, 10, 118, 115, 106, 34, 13, 32, 17, 106, 32, 14, 32, 22, 106, 34, 17, 32, 6, 32, 11, 115, 113, 32, 11, 115, 106, 32, 17, 65, 26, 119, 32, 17, 65, 21, 119, 115, 32, 17, 65, 7, 119, 115, 106, 65, 133, 235, 184, 160, 127, 106, 34, 14, 106, 34, 22, 65, 30, 119, 32, 22, 65, 19, 119, 115, 32, 22, 65, 10, 119, 115, 32, 22, 32, 10, 32, 21, 115, 113, 32, 27, 115, 106, 32, 15, 65, 3, 118, 32, 15, 65, 25, 119, 115, 32, 15, 65, 14, 119, 115, 32, 16, 106, 32, 24, 106, 32, 25, 65, 15, 119, 32, 25, 65, 13, 119, 115, 32, 25, 65, 10, 118, 115, 106, 34, 16, 32, 11, 106, 32, 14, 32, 18, 106, 34, 11, 32, 6, 32, 17, 115, 113, 32, 6, 115, 106, 32, 11, 65, 26, 119, 32, 11, 65, 21, 119, 115, 32, 11, 65, 7, 119, 115, 106, 65, 240, 192, 170, 131, 1, 106, 34, 18, 106, 34, 14, 32, 22, 113, 34, 27, 32, 10, 32, 22, 113, 115, 32, 10, 32, 14, 113, 115, 32, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 106, 32, 5, 65, 3, 118, 32, 5, 65, 25, 119, 115, 32, 5, 65, 14, 119, 115, 32, 15, 106, 32, 9, 106, 32, 13, 65, 15, 119, 32, 13, 65, 13, 119, 115, 32, 13, 65, 10, 118, 115, 106, 34, 15, 32, 6, 106, 32, 4, 32, 18, 106, 34, 4, 32, 11, 32, 17, 115, 113, 32, 17, 115, 106, 32, 4, 65, 26, 119, 32, 4, 65, 21, 119, 115, 32, 4, 65, 7, 119, 115, 106, 65, 150, 130, 147, 205, 1, 106, 34, 18, 106, 34, 6, 65, 30, 119, 32, 6, 65, 19, 119, 115, 32, 6, 65, 10, 119, 115, 32, 6, 32, 14, 32, 22, 115, 113, 32, 27, 115, 106, 32, 17, 32, 7, 65, 3, 118, 32, 7, 65, 25, 119, 115, 32, 7, 65, 14, 119, 115, 32, 5, 106, 32, 23, 106, 32, 16, 65, 15, 119, 32, 16, 65, 13, 119, 115, 32, 16, 65, 10, 118, 115, 106, 34, 17, 106, 32, 18, 32, 21, 106, 34, 18, 32, 4, 32, 11, 115, 113, 32, 11, 115, 106, 32, 18, 65, 26, 119, 32, 18, 65, 21, 119, 115, 32, 18, 65, 7, 119, 115, 106, 65, 136, 216, 221, 241, 1, 106, 34, 21, 106, 34, 5, 32, 6, 113, 34, 27, 32, 6, 32, 14, 113, 115, 32, 5, 32, 14, 113, 115, 32, 5, 65, 30, 119, 32, 5, 65, 19, 119, 115, 32, 5, 65, 10, 119, 115, 106, 32, 11, 32, 2, 65, 3, 118, 32, 2, 65, 25, 119, 115, 32, 2, 65, 14, 119, 115, 32, 7, 106, 32, 19, 106, 32, 15, 65, 15, 119, 32, 15, 65, 13, 119, 115, 32, 15, 65, 10, 118, 115, 106, 34, 11, 106, 32, 10, 32, 21, 106, 34, 7, 32, 4, 32, 18, 115, 113, 32, 4, 115, 106, 32, 7, 65, 26, 119, 32, 7, 65, 21, 119, 115, 32, 7, 65, 7, 119, 115, 106, 65, 204, 238, 161, 186, 2, 106, 34, 28, 106, 34, 10, 65, 30, 119, 32, 10, 65, 19, 119, 115, 32, 10, 65, 10, 119, 115, 32, 10, 32, 5, 32, 6, 115, 113, 32, 27, 115, 106, 32, 12, 65, 3, 118, 32, 12, 65, 25, 119, 115, 32, 12, 65, 14, 119, 115, 32, 2, 106, 32, 26, 106, 32, 17, 65, 15, 119, 32, 17, 65, 13, 119, 115, 32, 17, 65, 10, 118, 115, 106, 34, 21, 32, 4, 106, 32, 22, 32, 28, 106, 34, 4, 32, 7, 32, 18, 115, 113, 32, 18, 115, 106, 32, 4, 65, 26, 119, 32, 4, 65, 21, 119, 115, 32, 4, 65, 7, 119, 115, 106, 65, 181, 249, 194, 165, 3, 106, 34, 22, 106, 34, 2, 32, 10, 113, 34, 27, 32, 5, 32, 10, 113, 115, 32, 2, 32, 5, 113, 115, 32, 2, 65, 30, 119, 32, 2, 65, 19, 119, 115, 32, 2, 65, 10, 119, 115, 106, 32, 18, 32, 3, 65, 3, 118, 32, 3, 65, 25, 119, 115, 32, 3, 65, 14, 119, 115, 32, 12, 106, 32, 25, 106, 32, 11, 65, 15, 119, 32, 11, 65, 13, 119, 115, 32, 11, 65, 10, 118, 115, 106, 34, 18, 106, 32, 14, 32, 22, 106, 34, 12, 32, 4, 32, 7, 115, 113, 32, 7, 115, 106, 32, 12, 65, 26, 119, 32, 12, 65, 21, 119, 115, 32, 12, 65, 7, 119, 115, 106, 65, 179, 153, 240, 200, 3, 106, 34, 28, 106, 34, 14, 65, 30, 119, 32, 14, 65, 19, 119, 115, 32, 14, 65, 10, 119, 115, 32, 14, 32, 2, 32, 10, 115, 113, 32, 27, 115, 106, 32, 20, 65, 3, 118, 32, 20, 65, 25, 119, 115, 32, 20, 65, 14, 119, 115, 32, 3, 106, 32, 13, 106, 32, 21, 65, 15, 119, 32, 21, 65, 13, 119, 115, 32, 21, 65, 10, 118, 115, 106, 34, 22, 32, 7, 106, 32, 6, 32, 28, 106, 34, 7, 32, 4, 32, 12, 115, 113, 32, 4, 115, 106, 32, 7, 65, 26, 119, 32, 7, 65, 21, 119, 115, 32, 7, 65, 7, 119, 115, 106, 65, 202, 212, 226, 246, 4, 106, 34, 27, 106, 34, 3, 32, 14, 113, 34, 28, 32, 2, 32, 14, 113, 115, 32, 2, 32, 3, 113, 115, 32, 3, 65, 30, 119, 32, 3, 65, 19, 119, 115, 32, 3, 65, 10, 119, 115, 106, 32, 8, 65, 3, 118, 32, 8, 65, 25, 119, 115, 32, 8, 65, 14, 119, 115, 32, 20, 106, 32, 16, 106, 32, 18, 65, 15, 119, 32, 18, 65, 13, 119, 115, 32, 18, 65, 10, 118, 115, 106, 34, 6, 32, 4, 106, 32, 5, 32, 27, 106, 34, 20, 32, 7, 32, 12, 115, 113, 32, 12, 115, 106, 32, 20, 65, 26, 119, 32, 20, 65, 21, 119, 115, 32, 20, 65, 7, 119, 115, 106, 65, 207, 148, 243, 220, 5, 106, 34, 5, 106, 34, 4, 65, 30, 119, 32, 4, 65, 19, 119, 115, 32, 4, 65, 10, 119, 115, 32, 4, 32, 3, 32, 14, 115, 113, 32, 28, 115, 106, 32, 24, 65, 3, 118, 32, 24, 65, 25, 119, 115, 32, 24, 65, 14, 119, 115, 32, 8, 106, 32, 15, 106, 32, 22, 65, 15, 119, 32, 22, 65, 13, 119, 115, 32, 22, 65, 10, 118, 115, 106, 34, 27, 32, 12, 106, 32, 5, 32, 10, 106, 34, 8, 32, 7, 32, 20, 115, 113, 32, 7, 115, 106, 32, 8, 65, 26, 119, 32, 8, 65, 21, 119, 115, 32, 8, 65, 7, 119, 115, 106, 65, 243, 223, 185, 193, 6, 106, 34, 12, 106, 34, 5, 32, 4, 113, 34, 10, 32, 3, 32, 4, 113, 115, 32, 3, 32, 5, 113, 115, 32, 5, 65, 30, 119, 32, 5, 65, 19, 119, 115, 32, 5, 65, 10, 119, 115, 106, 32, 9, 65, 3, 118, 32, 9, 65, 25, 119, 115, 32, 9, 65, 14, 119, 115, 32, 24, 106, 32, 17, 106, 32, 6, 65, 15, 119, 32, 6, 65, 13, 119, 115, 32, 6, 65, 10, 118, 115, 106, 34, 24, 32, 7, 106, 32, 2, 32, 12, 106, 34, 7, 32, 8, 32, 20, 115, 113, 32, 20, 115, 106, 32, 7, 65, 26, 119, 32, 7, 65, 21, 119, 115, 32, 7, 65, 7, 119, 115, 106, 65, 238, 133, 190, 164, 7, 106, 34, 2, 106, 34, 12, 65, 30, 119, 32, 12, 65, 19, 119, 115, 32, 12, 65, 10, 119, 115, 32, 12, 32, 4, 32, 5, 115, 113, 32, 10, 115, 106, 32, 23, 65, 3, 118, 32, 23, 65, 25, 119, 115, 32, 23, 65, 14, 119, 115, 32, 9, 106, 32, 11, 106, 32, 27, 65, 15, 119, 32, 27, 65, 13, 119, 115, 32, 27, 65, 10, 118, 115, 106, 34, 10, 32, 20, 106, 32, 2, 32, 14, 106, 34, 9, 32, 7, 32, 8, 115, 113, 32, 8, 115, 106, 32, 9, 65, 26, 119, 32, 9, 65, 21, 119, 115, 32, 9, 65, 7, 119, 115, 106, 65, 239, 198, 149, 197, 7, 106, 34, 20, 106, 34, 2, 32, 12, 113, 34, 14, 32, 5, 32, 12, 113, 115, 32, 2, 32, 5, 113, 115, 32, 2, 65, 30, 119, 32, 2, 65, 19, 119, 115, 32, 2, 65, 10, 119, 115, 106, 32, 19, 65, 3, 118, 32, 19, 65, 25, 119, 115, 32, 19, 65, 14, 119, 115, 32, 23, 106, 32, 21, 106, 32, 24, 65, 15, 119, 32, 24, 65, 13, 119, 115, 32, 24, 65, 10, 118, 115, 106, 34, 23, 32, 8, 106, 32, 3, 32, 20, 106, 34, 8, 32, 7, 32, 9, 115, 113, 32, 7, 115, 106, 32, 8, 65, 26, 119, 32, 8, 65, 21, 119, 115, 32, 8, 65, 7, 119, 115, 106, 65, 148, 240, 161, 166, 120, 106, 34, 3, 106, 34, 20, 65, 30, 119, 32, 20, 65, 19, 119, 115, 32, 20, 65, 10, 119, 115, 32, 20, 32, 2, 32, 12, 115, 113, 32, 14, 115, 106, 32, 26, 65, 3, 118, 32, 26, 65, 25, 119, 115, 32, 26, 65, 14, 119, 115, 32, 19, 106, 32, 18, 106, 32, 10, 65, 15, 119, 32, 10, 65, 13, 119, 115, 32, 10, 65, 10, 118, 115, 106, 34, 19, 32, 7, 106, 32, 3, 32, 4, 106, 34, 7, 32, 8, 32, 9, 115, 113, 32, 9, 115, 106, 32, 7, 65, 26, 119, 32, 7, 65, 21, 119, 115, 32, 7, 65, 7, 119, 115, 106, 65, 136, 132, 156, 230, 120, 106, 34, 10, 106, 34, 3, 32, 20, 113, 34, 14, 32, 2, 32, 20, 113, 115, 32, 2, 32, 3, 113, 115, 32, 3, 65, 30, 119, 32, 3, 65, 19, 119, 115, 32, 3, 65, 10, 119, 115, 106, 32, 25, 65, 3, 118, 32, 25, 65, 25, 119, 115, 32, 25, 65, 14, 119, 115, 32, 26, 106, 32, 22, 106, 32, 23, 65, 15, 119, 32, 23, 65, 13, 119, 115, 32, 23, 65, 10, 118, 115, 106, 34, 4, 32, 9, 106, 32, 5, 32, 10, 106, 34, 5, 32, 7, 32, 8, 115, 113, 32, 8, 115, 106, 32, 5, 65, 26, 119, 32, 5, 65, 21, 119, 115, 32, 5, 65, 7, 119, 115, 106, 65, 250, 255, 251, 133, 121, 106, 34, 23, 106, 34, 9, 65, 30, 119, 32, 9, 65, 19, 119, 115, 32, 9, 65, 10, 119, 115, 32, 9, 32, 3, 32, 20, 115, 113, 32, 14, 115, 106, 32, 13, 65, 3, 118, 32, 13, 65, 25, 119, 115, 32, 13, 65, 14, 119, 115, 32, 25, 106, 32, 6, 106, 32, 19, 65, 15, 119, 32, 19, 65, 13, 119, 115, 32, 19, 65, 10, 118, 115, 106, 34, 19, 32, 8, 106, 32, 12, 32, 23, 106, 34, 8, 32, 5, 32, 7, 115, 113, 32, 7, 115, 106, 32, 8, 65, 26, 119, 32, 8, 65, 21, 119, 115, 32, 8, 65, 7, 119, 115, 106, 65, 235, 217, 193, 162, 122, 106, 34, 25, 106, 34, 12, 32, 9, 113, 34, 23, 32, 3, 32, 9, 113, 115, 32, 3, 32, 12, 113, 115, 32, 12, 65, 30, 119, 32, 12, 65, 19, 119, 115, 32, 12, 65, 10, 119, 115, 106, 32, 13, 32, 16, 65, 3, 118, 32, 16, 65, 25, 119, 115, 32, 16, 65, 14, 119, 115, 106, 32, 27, 106, 32, 4, 65, 15, 119, 32, 4, 65, 13, 119, 115, 32, 4, 65, 10, 118, 115, 106, 32, 7, 106, 32, 2, 32, 25, 106, 34, 2, 32, 5, 32, 8, 115, 113, 32, 5, 115, 106, 32, 2, 65, 26, 119, 32, 2, 65, 21, 119, 115, 32, 2, 65, 7, 119, 115, 106, 65, 247, 199, 230, 247, 123, 106, 34, 7, 106, 34, 13, 32, 9, 32, 12, 115, 113, 32, 23, 115, 106, 32, 13, 65, 30, 119, 32, 13, 65, 19, 119, 115, 32, 13, 65, 10, 119, 115, 106, 32, 16, 32, 15, 65, 3, 118, 32, 15, 65, 25, 119, 115, 32, 15, 65, 14, 119, 115, 106, 32, 24, 106, 32, 19, 65, 15, 119, 32, 19, 65, 13, 119, 115, 32, 19, 65, 10, 118, 115, 106, 32, 5, 106, 32, 7, 32, 20, 106, 34, 16, 32, 2, 32, 8, 115, 113, 32, 8, 115, 106, 32, 16, 65, 26, 119, 32, 16, 65, 21, 119, 115, 32, 16, 65, 7, 119, 115, 106, 65, 242, 241, 197, 179, 124, 106, 34, 15, 106, 33, 5, 32, 13, 32, 31, 106, 33, 31, 32, 12, 32, 33, 106, 33, 33, 32, 9, 32, 35, 106, 33, 35, 32, 3, 32, 29, 106, 32, 15, 106, 33, 29, 32, 16, 32, 30, 106, 33, 30, 32, 2, 32, 32, 106, 33, 32, 32, 8, 32, 34, 106, 33, 34, 32, 1, 65, 64, 107, 34, 1, 32, 36, 71, 13, 0, 11, 11, 32, 0, 32, 34, 54, 2, 28, 32, 0, 32, 32, 54, 2, 24, 32, 0, 32, 30, 54, 2, 20, 32, 0, 32, 29, 54, 2, 16, 32, 0, 32, 35, 54, 2, 12, 32, 0, 32, 33, 54, 2, 8, 32, 0, 32, 31, 54, 2, 4, 32, 0, 32, 5, 54, 2, 0, 11, 152, 3, 2, 4, 127, 1, 126, 32, 0, 65, 12, 106, 33, 2, 32, 0, 65, 204, 0, 106, 33, 3, 32, 0, 41, 3, 0, 33, 5, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 8, 34, 1, 65, 192, 0, 70, 4, 64, 32, 3, 32, 2, 65, 1, 16, 209, 1, 65, 0, 33, 1, 32, 0, 65, 0, 54, 2, 8, 12, 1, 11, 32, 1, 65, 63, 75, 13, 1, 11, 32, 0, 32, 1, 106, 65, 12, 106, 65, 128, 1, 58, 0, 0, 32, 0, 40, 2, 8, 34, 4, 65, 1, 106, 34, 1, 32, 4, 73, 13, 1, 32, 0, 32, 1, 54, 2, 8, 32, 1, 65, 193, 0, 79, 13, 2, 32, 0, 32, 1, 106, 65, 12, 106, 65, 0, 65, 192, 0, 32, 1, 107, 16, 213, 2, 26, 65, 192, 0, 32, 0, 40, 2, 8, 107, 34, 1, 65, 193, 0, 79, 13, 3, 32, 1, 65, 7, 77, 4, 64, 32, 3, 32, 2, 65, 1, 16, 209, 1, 32, 0, 40, 2, 8, 34, 1, 65, 193, 0, 79, 13, 5, 32, 0, 65, 12, 106, 65, 0, 32, 1, 16, 213, 2, 26, 11, 32, 0, 65, 196, 0, 106, 32, 5, 66, 40, 134, 66, 128, 128, 128, 128, 128, 128, 192, 255, 0, 131, 32, 5, 66, 56, 134, 132, 32, 5, 66, 24, 134, 66, 128, 128, 128, 128, 128, 224, 63, 131, 32, 5, 66, 8, 134, 66, 128, 128, 128, 128, 240, 31, 131, 132, 132, 32, 5, 66, 8, 136, 66, 128, 128, 128, 248, 15, 131, 32, 5, 66, 24, 136, 66, 128, 128, 252, 7, 131, 132, 32, 5, 66, 40, 136, 66, 128, 254, 3, 131, 32, 5, 66, 56, 136, 132, 132, 132, 55, 2, 0, 32, 3, 32, 2, 65, 1, 16, 209, 1, 32, 0, 65, 0, 54, 2, 8, 15, 11, 32, 1, 65, 192, 0, 65, 180, 221, 192, 0, 16, 146, 2, 0, 11, 65, 192, 220, 192, 0, 65, 28, 65, 196, 221, 192, 0, 16, 147, 2, 0, 11, 32, 1, 65, 192, 0, 65, 212, 221, 192, 0, 16, 153, 2, 0, 11, 65, 192, 222, 192, 0, 65, 33, 65, 228, 222, 192, 0, 16, 147, 2, 0, 11, 32, 1, 65, 192, 0, 65, 228, 221, 192, 0, 16, 148, 2, 0, 11, 198, 3, 1, 8, 127, 35, 0, 65, 208, 1, 107, 34, 1, 36, 0, 32, 1, 65, 0, 54, 2, 64, 32, 1, 65, 64, 107, 65, 4, 114, 33, 3, 2, 64, 3, 64, 32, 2, 32, 3, 106, 65, 0, 58, 0, 0, 32, 1, 40, 2, 64, 34, 4, 65, 1, 106, 34, 5, 32, 4, 73, 13, 1, 32, 1, 32, 5, 54, 2, 64, 32, 2, 65, 1, 106, 34, 2, 65, 192, 0, 71, 13, 0, 11, 32, 1, 65, 136, 1, 106, 32, 1, 65, 64, 107, 65, 196, 0, 16, 212, 2, 26, 32, 1, 65, 56, 106, 34, 2, 32, 1, 65, 196, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 48, 106, 34, 3, 32, 1, 65, 188, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 40, 106, 34, 4, 32, 1, 65, 180, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 32, 106, 34, 5, 32, 1, 65, 172, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 24, 106, 34, 6, 32, 1, 65, 164, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 16, 106, 34, 7, 32, 1, 65, 156, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 65, 8, 106, 34, 8, 32, 1, 65, 148, 1, 106, 41, 2, 0, 55, 3, 0, 32, 1, 32, 1, 41, 2, 140, 1, 55, 3, 0, 32, 0, 65, 0, 54, 2, 8, 32, 0, 66, 0, 55, 3, 0, 32, 0, 65, 12, 106, 32, 1, 41, 3, 0, 55, 2, 0, 32, 0, 65, 20, 106, 32, 8, 41, 3, 0, 55, 2, 0, 32, 0, 65, 28, 106, 32, 7, 41, 3, 0, 55, 2, 0, 32, 0, 65, 36, 106, 32, 6, 41, 3, 0, 55, 2, 0, 32, 0, 65, 44, 106, 32, 5, 41, 3, 0, 55, 2, 0, 32, 0, 65, 52, 106, 32, 4, 41, 3, 0, 55, 2, 0, 32, 0, 65, 60, 106, 32, 3, 41, 3, 0, 55, 2, 0, 32, 0, 65, 196, 0, 106, 32, 2, 41, 3, 0, 55, 2, 0, 32, 0, 65, 212, 223, 192, 0, 41, 2, 0, 55, 2, 76, 32, 0, 65, 212, 0, 106, 65, 220, 223, 192, 0, 41, 2, 0, 55, 2, 0, 32, 0, 65, 220, 0, 106, 65, 228, 223, 192, 0, 41, 2, 0, 55, 2, 0, 32, 0, 65, 228, 0, 106, 65, 236, 223, 192, 0, 41, 2, 0, 55, 2, 0, 32, 1, 65, 208, 1, 106, 36, 0, 15, 11, 65, 192, 220, 192, 0, 65, 28, 65, 172, 220, 192, 0, 16, 147, 2, 0, 11, 184, 3, 2, 1, 127, 4, 126, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 0, 16, 210, 1, 32, 2, 65, 8, 106, 32, 0, 65, 212, 0, 106, 41, 2, 0, 34, 3, 55, 3, 0, 32, 2, 65, 16, 106, 32, 0, 65, 220, 0, 106, 41, 2, 0, 34, 4, 55, 3, 0, 32, 2, 65, 24, 106, 32, 0, 65, 228, 0, 106, 41, 2, 0, 34, 5, 55, 3, 0, 32, 1, 32, 0, 41, 2, 76, 34, 6, 167, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 0, 32, 1, 32, 3, 167, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 8, 32, 1, 32, 4, 167, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 16, 32, 1, 32, 5, 167, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 24, 32, 2, 32, 6, 55, 3, 0, 32, 1, 32, 2, 40, 2, 4, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 4, 32, 1, 32, 2, 40, 2, 12, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 12, 32, 1, 32, 2, 40, 2, 20, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 20, 32, 1, 32, 2, 40, 2, 28, 34, 0, 65, 24, 116, 32, 0, 65, 8, 116, 65, 128, 128, 252, 7, 113, 114, 32, 0, 65, 8, 118, 65, 128, 254, 3, 113, 32, 0, 65, 24, 118, 114, 114, 54, 0, 28, 32, 2, 65, 32, 106, 36, 0, 11, 141, 2, 1, 4, 127, 35, 0, 65, 32, 107, 34, 3, 36, 0, 2, 64, 32, 0, 65, 4, 106, 40, 2, 0, 34, 5, 32, 0, 65, 8, 106, 40, 2, 0, 34, 4, 107, 32, 2, 32, 1, 107, 34, 6, 79, 4, 64, 32, 0, 40, 2, 0, 33, 2, 12, 1, 11, 2, 64, 32, 4, 32, 6, 106, 34, 2, 32, 4, 73, 13, 0, 32, 5, 65, 1, 116, 34, 4, 32, 2, 32, 4, 32, 2, 75, 27, 34, 2, 65, 8, 32, 2, 65, 8, 75, 27, 33, 2, 2, 64, 32, 5, 69, 4, 64, 32, 3, 65, 0, 54, 2, 16, 12, 1, 11, 32, 3, 65, 24, 106, 65, 1, 54, 2, 0, 32, 3, 32, 5, 54, 2, 20, 32, 3, 32, 0, 40, 2, 0, 54, 2, 16, 11, 32, 3, 32, 2, 65, 1, 32, 3, 65, 16, 106, 16, 13, 32, 3, 65, 8, 106, 40, 2, 0, 33, 4, 32, 3, 40, 2, 4, 33, 2, 32, 3, 40, 2, 0, 65, 1, 71, 4, 64, 32, 0, 32, 2, 54, 2, 0, 32, 0, 65, 4, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 40, 2, 0, 33, 4, 12, 2, 11, 32, 4, 69, 13, 0, 32, 2, 32, 4, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 2, 32, 4, 106, 32, 1, 32, 6, 16, 212, 2, 26, 32, 0, 65, 8, 106, 34, 0, 32, 0, 40, 2, 0, 32, 6, 106, 54, 2, 0, 32, 3, 65, 32, 106, 36, 0, 11, 13, 0, 66, 225, 246, 196, 237, 133, 189, 222, 249, 138, 127, 11, 12, 0, 66, 161, 180, 233, 183, 247, 251, 205, 222, 8, 11, 33, 1, 1, 127, 2, 64, 32, 0, 40, 2, 4, 34, 1, 69, 13, 0, 32, 0, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 1, 16, 226, 1, 11, 11, 222, 3, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 33, 4, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 128, 1, 79, 4, 64, 32, 2, 65, 0, 54, 2, 16, 32, 1, 65, 128, 16, 73, 13, 1, 32, 2, 65, 16, 106, 33, 0, 32, 1, 65, 128, 128, 4, 73, 4, 64, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 18, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 16, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 17, 65, 3, 33, 1, 12, 5, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 19, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 16, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 18, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 17, 65, 4, 33, 1, 12, 4, 11, 32, 4, 40, 2, 8, 34, 0, 32, 4, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 4, 40, 2, 0, 33, 3, 12, 3, 11, 32, 0, 65, 1, 106, 34, 3, 32, 0, 73, 13, 1, 32, 0, 65, 1, 116, 34, 5, 32, 3, 32, 5, 32, 3, 75, 27, 34, 3, 65, 8, 32, 3, 65, 8, 75, 27, 33, 3, 2, 64, 32, 0, 69, 4, 64, 32, 2, 65, 0, 54, 2, 16, 12, 1, 11, 32, 2, 65, 24, 106, 65, 1, 54, 2, 0, 32, 2, 32, 0, 54, 2, 20, 32, 2, 32, 4, 40, 2, 0, 54, 2, 16, 11, 32, 2, 32, 3, 65, 1, 32, 2, 65, 16, 106, 16, 13, 32, 2, 65, 8, 106, 40, 2, 0, 33, 0, 32, 2, 40, 2, 4, 33, 3, 32, 2, 40, 2, 0, 65, 1, 71, 4, 64, 32, 4, 32, 3, 54, 2, 0, 32, 4, 65, 4, 106, 32, 0, 54, 2, 0, 32, 4, 40, 2, 8, 33, 0, 12, 3, 11, 32, 0, 69, 13, 1, 32, 3, 32, 0, 16, 138, 2, 0, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 17, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 16, 32, 2, 65, 16, 106, 33, 0, 65, 2, 33, 1, 12, 2, 11, 16, 139, 2, 0, 11, 32, 0, 32, 3, 106, 32, 1, 58, 0, 0, 32, 4, 32, 4, 40, 2, 8, 65, 1, 106, 54, 2, 8, 12, 1, 11, 32, 4, 32, 0, 32, 0, 32, 1, 106, 16, 213, 1, 11, 32, 2, 65, 32, 106, 36, 0, 65, 0, 11, 90, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 216, 224, 192, 0, 32, 2, 65, 8, 106, 16, 156, 2, 32, 2, 65, 32, 106, 36, 0, 11, 19, 0, 32, 0, 40, 2, 0, 32, 1, 32, 1, 32, 2, 106, 16, 213, 1, 65, 0, 11, 131, 3, 1, 3, 127, 32, 1, 65, 8, 77, 4, 64, 32, 0, 16, 221, 1, 15, 11, 65, 16, 65, 8, 16, 238, 1, 32, 1, 75, 4, 64, 65, 16, 65, 8, 16, 238, 1, 33, 1, 11, 2, 64, 65, 0, 16, 253, 1, 34, 3, 32, 3, 65, 8, 16, 238, 1, 107, 65, 20, 65, 8, 16, 238, 1, 107, 65, 16, 65, 8, 16, 238, 1, 107, 65, 248, 255, 123, 106, 65, 119, 113, 65, 125, 106, 34, 3, 65, 0, 65, 16, 65, 8, 16, 238, 1, 65, 2, 116, 107, 34, 2, 32, 3, 32, 2, 73, 27, 32, 1, 107, 32, 0, 77, 13, 0, 32, 1, 65, 16, 32, 0, 65, 4, 106, 65, 16, 65, 8, 16, 238, 1, 65, 123, 106, 32, 0, 75, 27, 65, 8, 16, 238, 1, 34, 3, 106, 65, 16, 65, 8, 16, 238, 1, 106, 65, 124, 106, 16, 221, 1, 34, 2, 69, 13, 0, 32, 2, 16, 254, 1, 33, 0, 2, 64, 32, 1, 65, 127, 106, 34, 4, 32, 2, 113, 69, 4, 64, 32, 0, 33, 1, 12, 1, 11, 32, 2, 32, 4, 106, 65, 0, 32, 1, 107, 113, 16, 254, 1, 33, 2, 65, 16, 65, 8, 16, 238, 1, 33, 4, 32, 0, 16, 242, 1, 32, 2, 32, 1, 32, 2, 106, 32, 2, 32, 0, 107, 32, 4, 75, 27, 34, 1, 32, 0, 107, 34, 2, 107, 33, 4, 32, 0, 16, 245, 1, 4, 64, 32, 0, 40, 2, 0, 33, 0, 32, 1, 32, 4, 54, 2, 4, 32, 1, 32, 0, 32, 2, 106, 54, 2, 0, 12, 1, 11, 32, 1, 32, 4, 16, 246, 1, 32, 0, 32, 2, 16, 246, 1, 32, 0, 32, 2, 16, 222, 1, 11, 2, 64, 32, 1, 16, 245, 1, 13, 0, 32, 1, 16, 242, 1, 34, 2, 65, 16, 65, 8, 16, 238, 1, 32, 3, 106, 77, 13, 0, 32, 1, 32, 3, 16, 251, 1, 33, 0, 32, 1, 32, 3, 16, 246, 1, 32, 0, 32, 2, 32, 3, 107, 34, 3, 16, 246, 1, 32, 0, 32, 3, 16, 222, 1, 11, 32, 1, 16, 253, 1, 33, 4, 32, 1, 16, 245, 1, 26, 11, 32, 4, 11, 201, 33, 2, 16, 127, 1, 126, 35, 0, 65, 16, 107, 34, 11, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 244, 1, 77, 4, 64, 65, 16, 32, 0, 65, 4, 106, 65, 16, 65, 8, 16, 238, 1, 65, 123, 106, 32, 0, 75, 27, 65, 8, 16, 238, 1, 33, 4, 65, 132, 134, 193, 0, 40, 2, 0, 34, 1, 32, 4, 65, 3, 118, 34, 0, 65, 31, 113, 34, 2, 118, 34, 5, 65, 3, 113, 4, 64, 2, 64, 32, 5, 65, 127, 115, 65, 1, 113, 32, 0, 106, 34, 3, 65, 3, 116, 34, 0, 65, 148, 134, 193, 0, 106, 40, 2, 0, 34, 5, 65, 8, 106, 40, 2, 0, 34, 2, 32, 0, 65, 140, 134, 193, 0, 106, 34, 0, 70, 4, 64, 65, 132, 134, 193, 0, 32, 1, 65, 126, 32, 3, 119, 113, 54, 2, 0, 12, 1, 11, 32, 2, 32, 0, 54, 2, 12, 32, 0, 32, 2, 54, 2, 8, 11, 32, 5, 32, 3, 65, 3, 116, 16, 247, 1, 32, 5, 16, 253, 1, 33, 3, 12, 5, 11, 32, 4, 65, 148, 137, 193, 0, 40, 2, 0, 77, 13, 3, 32, 5, 4, 64, 2, 64, 65, 1, 32, 2, 116, 16, 239, 1, 32, 5, 32, 2, 116, 113, 16, 240, 1, 104, 34, 2, 65, 3, 116, 34, 0, 65, 148, 134, 193, 0, 106, 40, 2, 0, 34, 3, 65, 8, 106, 40, 2, 0, 34, 1, 32, 0, 65, 140, 134, 193, 0, 106, 34, 0, 70, 4, 64, 65, 132, 134, 193, 0, 65, 132, 134, 193, 0, 40, 2, 0, 65, 126, 32, 2, 119, 113, 54, 2, 0, 12, 1, 11, 32, 1, 32, 0, 54, 2, 12, 32, 0, 32, 1, 54, 2, 8, 11, 32, 3, 32, 4, 16, 248, 1, 32, 3, 32, 4, 16, 251, 1, 34, 5, 32, 2, 65, 3, 116, 32, 4, 107, 34, 2, 16, 249, 1, 65, 148, 137, 193, 0, 40, 2, 0, 34, 0, 4, 64, 32, 0, 65, 3, 118, 34, 0, 65, 3, 116, 65, 140, 134, 193, 0, 106, 33, 7, 65, 156, 137, 193, 0, 40, 2, 0, 33, 6, 2, 127, 65, 132, 134, 193, 0, 40, 2, 0, 34, 1, 65, 1, 32, 0, 65, 31, 113, 116, 34, 0, 113, 69, 4, 64, 65, 132, 134, 193, 0, 32, 0, 32, 1, 114, 54, 2, 0, 32, 7, 12, 1, 11, 32, 7, 40, 2, 8, 11, 33, 0, 32, 7, 32, 6, 54, 2, 8, 32, 0, 32, 6, 54, 2, 12, 32, 6, 32, 7, 54, 2, 12, 32, 6, 32, 0, 54, 2, 8, 11, 65, 156, 137, 193, 0, 32, 5, 54, 2, 0, 65, 148, 137, 193, 0, 32, 2, 54, 2, 0, 32, 3, 16, 253, 1, 33, 3, 12, 5, 11, 65, 136, 134, 193, 0, 40, 2, 0, 34, 0, 69, 13, 3, 32, 0, 16, 240, 1, 104, 65, 2, 116, 65, 148, 136, 193, 0, 106, 40, 2, 0, 34, 1, 16, 242, 1, 32, 4, 107, 33, 3, 32, 1, 16, 255, 1, 34, 0, 13, 1, 12, 2, 11, 65, 0, 16, 253, 1, 34, 1, 32, 1, 65, 8, 16, 238, 1, 107, 65, 20, 65, 8, 16, 238, 1, 107, 65, 16, 65, 8, 16, 238, 1, 107, 65, 248, 255, 123, 106, 65, 119, 113, 65, 125, 106, 34, 2, 65, 0, 65, 16, 65, 8, 16, 238, 1, 65, 2, 116, 107, 34, 1, 32, 2, 32, 1, 73, 27, 32, 0, 77, 13, 3, 32, 0, 65, 4, 106, 65, 8, 16, 238, 1, 33, 4, 65, 136, 134, 193, 0, 40, 2, 0, 69, 13, 2, 65, 0, 32, 4, 107, 33, 3, 2, 64, 2, 64, 2, 127, 65, 0, 32, 4, 65, 8, 118, 34, 0, 69, 13, 0, 26, 65, 31, 32, 4, 65, 255, 255, 255, 7, 75, 13, 0, 26, 32, 4, 65, 6, 32, 0, 103, 34, 0, 107, 65, 31, 113, 118, 65, 1, 113, 32, 0, 65, 1, 116, 107, 65, 62, 106, 11, 34, 6, 65, 2, 116, 65, 148, 136, 193, 0, 106, 40, 2, 0, 34, 0, 4, 64, 32, 4, 32, 6, 16, 241, 1, 65, 31, 113, 116, 33, 7, 65, 0, 33, 1, 3, 64, 2, 64, 32, 0, 16, 242, 1, 34, 2, 32, 4, 73, 13, 0, 32, 2, 32, 4, 107, 34, 2, 32, 3, 79, 13, 0, 32, 0, 33, 1, 32, 2, 34, 3, 13, 0, 65, 0, 33, 3, 12, 3, 11, 32, 0, 65, 20, 106, 40, 2, 0, 34, 2, 32, 5, 32, 2, 32, 0, 32, 7, 65, 29, 118, 65, 4, 113, 106, 65, 16, 106, 40, 2, 0, 34, 0, 71, 27, 32, 5, 32, 2, 27, 33, 5, 32, 7, 65, 1, 116, 33, 7, 32, 0, 13, 0, 11, 32, 5, 4, 64, 32, 5, 33, 0, 12, 2, 11, 32, 1, 13, 2, 11, 65, 0, 33, 1, 65, 1, 32, 6, 65, 31, 113, 116, 16, 239, 1, 65, 136, 134, 193, 0, 40, 2, 0, 113, 34, 0, 69, 13, 4, 32, 0, 16, 240, 1, 104, 65, 2, 116, 65, 148, 136, 193, 0, 106, 40, 2, 0, 34, 0, 69, 13, 4, 11, 3, 64, 32, 0, 32, 1, 32, 0, 16, 242, 1, 34, 1, 32, 4, 79, 32, 1, 32, 4, 107, 34, 5, 32, 3, 73, 113, 34, 2, 27, 33, 1, 32, 5, 32, 3, 32, 2, 27, 33, 3, 32, 0, 16, 255, 1, 34, 0, 13, 0, 11, 32, 1, 69, 13, 3, 11, 65, 148, 137, 193, 0, 40, 2, 0, 34, 0, 32, 4, 79, 65, 0, 32, 3, 32, 0, 32, 4, 107, 79, 27, 13, 2, 32, 1, 34, 0, 32, 4, 16, 251, 1, 33, 6, 32, 0, 16, 223, 1, 2, 64, 32, 3, 65, 16, 65, 8, 16, 238, 1, 73, 4, 64, 32, 0, 32, 3, 32, 4, 106, 16, 247, 1, 12, 1, 11, 32, 0, 32, 4, 16, 248, 1, 32, 6, 32, 3, 16, 249, 1, 32, 3, 65, 255, 1, 77, 4, 64, 32, 3, 65, 3, 118, 34, 1, 65, 3, 116, 65, 140, 134, 193, 0, 106, 33, 5, 2, 127, 65, 132, 134, 193, 0, 40, 2, 0, 34, 2, 65, 1, 32, 1, 116, 34, 1, 113, 69, 4, 64, 65, 132, 134, 193, 0, 32, 1, 32, 2, 114, 54, 2, 0, 32, 5, 12, 1, 11, 32, 5, 40, 2, 8, 11, 33, 1, 32, 5, 32, 6, 54, 2, 8, 32, 1, 32, 6, 54, 2, 12, 32, 6, 32, 5, 54, 2, 12, 32, 6, 32, 1, 54, 2, 8, 12, 1, 11, 32, 6, 32, 3, 16, 224, 1, 11, 32, 0, 16, 253, 1, 34, 3, 13, 3, 12, 2, 11, 3, 64, 32, 0, 16, 242, 1, 32, 4, 107, 34, 2, 32, 3, 32, 2, 32, 3, 73, 34, 2, 27, 33, 3, 32, 0, 32, 1, 32, 2, 27, 33, 1, 32, 0, 16, 255, 1, 34, 0, 13, 0, 11, 11, 32, 1, 34, 0, 32, 4, 16, 251, 1, 33, 5, 32, 0, 16, 223, 1, 2, 64, 32, 3, 65, 16, 65, 8, 16, 238, 1, 73, 4, 64, 32, 0, 32, 3, 32, 4, 106, 16, 247, 1, 12, 1, 11, 32, 0, 32, 4, 16, 248, 1, 32, 5, 32, 3, 16, 249, 1, 65, 148, 137, 193, 0, 40, 2, 0, 34, 1, 4, 64, 32, 1, 65, 3, 118, 34, 1, 65, 3, 116, 65, 140, 134, 193, 0, 106, 33, 7, 65, 156, 137, 193, 0, 40, 2, 0, 33, 6, 2, 127, 65, 132, 134, 193, 0, 40, 2, 0, 34, 2, 65, 1, 32, 1, 65, 31, 113, 116, 34, 1, 113, 69, 4, 64, 65, 132, 134, 193, 0, 32, 1, 32, 2, 114, 54, 2, 0, 32, 7, 12, 1, 11, 32, 7, 40, 2, 8, 11, 33, 1, 32, 7, 32, 6, 54, 2, 8, 32, 1, 32, 6, 54, 2, 12, 32, 6, 32, 7, 54, 2, 12, 32, 6, 32, 1, 54, 2, 8, 11, 65, 156, 137, 193, 0, 32, 5, 54, 2, 0, 65, 148, 137, 193, 0, 32, 3, 54, 2, 0, 11, 32, 0, 16, 253, 1, 34, 3, 13, 1, 11, 65, 148, 137, 193, 0, 40, 2, 0, 34, 0, 32, 4, 79, 4, 64, 65, 156, 137, 193, 0, 40, 2, 0, 33, 2, 32, 0, 32, 4, 107, 34, 1, 65, 16, 65, 8, 16, 238, 1, 79, 4, 64, 32, 2, 32, 4, 16, 251, 1, 33, 0, 65, 148, 137, 193, 0, 32, 1, 54, 2, 0, 65, 156, 137, 193, 0, 32, 0, 54, 2, 0, 32, 0, 32, 1, 16, 249, 1, 32, 2, 32, 4, 16, 248, 1, 32, 2, 16, 253, 1, 33, 3, 12, 2, 11, 65, 156, 137, 193, 0, 65, 0, 54, 2, 0, 65, 148, 137, 193, 0, 40, 2, 0, 33, 0, 65, 148, 137, 193, 0, 65, 0, 54, 2, 0, 32, 2, 32, 0, 16, 247, 1, 32, 2, 16, 253, 1, 33, 3, 12, 1, 11, 65, 152, 137, 193, 0, 40, 2, 0, 34, 0, 32, 4, 77, 4, 64, 65, 0, 33, 3, 32, 11, 32, 4, 65, 0, 16, 253, 1, 34, 0, 107, 32, 0, 65, 8, 16, 238, 1, 106, 65, 20, 65, 8, 16, 238, 1, 106, 65, 16, 65, 8, 16, 238, 1, 106, 65, 8, 106, 65, 128, 128, 4, 16, 238, 1, 16, 132, 2, 32, 11, 40, 2, 0, 34, 8, 69, 13, 1, 32, 11, 40, 2, 8, 33, 12, 65, 164, 137, 193, 0, 32, 11, 40, 2, 4, 34, 10, 65, 164, 137, 193, 0, 40, 2, 0, 106, 34, 1, 54, 2, 0, 65, 168, 137, 193, 0, 65, 168, 137, 193, 0, 40, 2, 0, 34, 0, 32, 1, 32, 0, 32, 1, 75, 27, 54, 2, 0, 2, 64, 2, 64, 2, 64, 65, 160, 137, 193, 0, 40, 2, 0, 4, 64, 65, 172, 137, 193, 0, 33, 0, 3, 64, 32, 0, 16, 131, 2, 32, 8, 70, 13, 2, 32, 0, 40, 2, 8, 34, 0, 13, 0, 11, 12, 2, 11, 65, 192, 137, 193, 0, 40, 2, 0, 34, 0, 65, 0, 32, 8, 32, 0, 79, 27, 69, 4, 64, 65, 192, 137, 193, 0, 32, 8, 54, 2, 0, 11, 65, 196, 137, 193, 0, 65, 255, 31, 54, 2, 0, 65, 184, 137, 193, 0, 32, 12, 54, 2, 0, 65, 176, 137, 193, 0, 32, 10, 54, 2, 0, 65, 172, 137, 193, 0, 32, 8, 54, 2, 0, 65, 152, 134, 193, 0, 65, 140, 134, 193, 0, 54, 2, 0, 65, 160, 134, 193, 0, 65, 148, 134, 193, 0, 54, 2, 0, 65, 148, 134, 193, 0, 65, 140, 134, 193, 0, 54, 2, 0, 65, 168, 134, 193, 0, 65, 156, 134, 193, 0, 54, 2, 0, 65, 156, 134, 193, 0, 65, 148, 134, 193, 0, 54, 2, 0, 65, 176, 134, 193, 0, 65, 164, 134, 193, 0, 54, 2, 0, 65, 164, 134, 193, 0, 65, 156, 134, 193, 0, 54, 2, 0, 65, 184, 134, 193, 0, 65, 172, 134, 193, 0, 54, 2, 0, 65, 172, 134, 193, 0, 65, 164, 134, 193, 0, 54, 2, 0, 65, 192, 134, 193, 0, 65, 180, 134, 193, 0, 54, 2, 0, 65, 180, 134, 193, 0, 65, 172, 134, 193, 0, 54, 2, 0, 65, 200, 134, 193, 0, 65, 188, 134, 193, 0, 54, 2, 0, 65, 188, 134, 193, 0, 65, 180, 134, 193, 0, 54, 2, 0, 65, 208, 134, 193, 0, 65, 196, 134, 193, 0, 54, 2, 0, 65, 196, 134, 193, 0, 65, 188, 134, 193, 0, 54, 2, 0, 65, 216, 134, 193, 0, 65, 204, 134, 193, 0, 54, 2, 0, 65, 204, 134, 193, 0, 65, 196, 134, 193, 0, 54, 2, 0, 65, 212, 134, 193, 0, 65, 204, 134, 193, 0, 54, 2, 0, 65, 224, 134, 193, 0, 65, 212, 134, 193, 0, 54, 2, 0, 65, 220, 134, 193, 0, 65, 212, 134, 193, 0, 54, 2, 0, 65, 232, 134, 193, 0, 65, 220, 134, 193, 0, 54, 2, 0, 65, 228, 134, 193, 0, 65, 220, 134, 193, 0, 54, 2, 0, 65, 240, 134, 193, 0, 65, 228, 134, 193, 0, 54, 2, 0, 65, 236, 134, 193, 0, 65, 228, 134, 193, 0, 54, 2, 0, 65, 248, 134, 193, 0, 65, 236, 134, 193, 0, 54, 2, 0, 65, 244, 134, 193, 0, 65, 236, 134, 193, 0, 54, 2, 0, 65, 128, 135, 193, 0, 65, 244, 134, 193, 0, 54, 2, 0, 65, 252, 134, 193, 0, 65, 244, 134, 193, 0, 54, 2, 0, 65, 136, 135, 193, 0, 65, 252, 134, 193, 0, 54, 2, 0, 65, 132, 135, 193, 0, 65, 252, 134, 193, 0, 54, 2, 0, 65, 144, 135, 193, 0, 65, 132, 135, 193, 0, 54, 2, 0, 65, 140, 135, 193, 0, 65, 132, 135, 193, 0, 54, 2, 0, 65, 152, 135, 193, 0, 65, 140, 135, 193, 0, 54, 2, 0, 65, 160, 135, 193, 0, 65, 148, 135, 193, 0, 54, 2, 0, 65, 148, 135, 193, 0, 65, 140, 135, 193, 0, 54, 2, 0, 65, 168, 135, 193, 0, 65, 156, 135, 193, 0, 54, 2, 0, 65, 156, 135, 193, 0, 65, 148, 135, 193, 0, 54, 2, 0, 65, 176, 135, 193, 0, 65, 164, 135, 193, 0, 54, 2, 0, 65, 164, 135, 193, 0, 65, 156, 135, 193, 0, 54, 2, 0, 65, 184, 135, 193, 0, 65, 172, 135, 193, 0, 54, 2, 0, 65, 172, 135, 193, 0, 65, 164, 135, 193, 0, 54, 2, 0, 65, 192, 135, 193, 0, 65, 180, 135, 193, 0, 54, 2, 0, 65, 180, 135, 193, 0, 65, 172, 135, 193, 0, 54, 2, 0, 65, 200, 135, 193, 0, 65, 188, 135, 193, 0, 54, 2, 0, 65, 188, 135, 193, 0, 65, 180, 135, 193, 0, 54, 2, 0, 65, 208, 135, 193, 0, 65, 196, 135, 193, 0, 54, 2, 0, 65, 196, 135, 193, 0, 65, 188, 135, 193, 0, 54, 2, 0, 65, 216, 135, 193, 0, 65, 204, 135, 193, 0, 54, 2, 0, 65, 204, 135, 193, 0, 65, 196, 135, 193, 0, 54, 2, 0, 65, 224, 135, 193, 0, 65, 212, 135, 193, 0, 54, 2, 0, 65, 212, 135, 193, 0, 65, 204, 135, 193, 0, 54, 2, 0, 65, 232, 135, 193, 0, 65, 220, 135, 193, 0, 54, 2, 0, 65, 220, 135, 193, 0, 65, 212, 135, 193, 0, 54, 2, 0, 65, 240, 135, 193, 0, 65, 228, 135, 193, 0, 54, 2, 0, 65, 228, 135, 193, 0, 65, 220, 135, 193, 0, 54, 2, 0, 65, 248, 135, 193, 0, 65, 236, 135, 193, 0, 54, 2, 0, 65, 236, 135, 193, 0, 65, 228, 135, 193, 0, 54, 2, 0, 65, 128, 136, 193, 0, 65, 244, 135, 193, 0, 54, 2, 0, 65, 244, 135, 193, 0, 65, 236, 135, 193, 0, 54, 2, 0, 65, 136, 136, 193, 0, 65, 252, 135, 193, 0, 54, 2, 0, 65, 252, 135, 193, 0, 65, 244, 135, 193, 0, 54, 2, 0, 65, 144, 136, 193, 0, 65, 132, 136, 193, 0, 54, 2, 0, 65, 132, 136, 193, 0, 65, 252, 135, 193, 0, 54, 2, 0, 65, 140, 136, 193, 0, 65, 132, 136, 193, 0, 54, 2, 0, 65, 0, 16, 253, 1, 34, 3, 65, 8, 16, 238, 1, 33, 5, 65, 20, 65, 8, 16, 238, 1, 33, 2, 65, 16, 65, 8, 16, 238, 1, 33, 1, 32, 8, 32, 8, 16, 253, 1, 34, 0, 65, 8, 16, 238, 1, 32, 0, 107, 34, 0, 16, 251, 1, 33, 6, 65, 152, 137, 193, 0, 32, 3, 32, 10, 106, 32, 5, 107, 32, 2, 107, 32, 1, 107, 32, 0, 107, 34, 3, 54, 2, 0, 65, 160, 137, 193, 0, 32, 6, 54, 2, 0, 32, 6, 32, 3, 65, 1, 114, 54, 2, 4, 65, 0, 16, 253, 1, 34, 5, 65, 8, 16, 238, 1, 33, 2, 65, 20, 65, 8, 16, 238, 1, 33, 1, 65, 16, 65, 8, 16, 238, 1, 33, 0, 32, 6, 32, 3, 16, 251, 1, 32, 0, 32, 1, 32, 2, 32, 5, 107, 106, 106, 54, 2, 4, 65, 188, 137, 193, 0, 65, 128, 128, 128, 1, 54, 2, 0, 12, 2, 11, 32, 0, 16, 128, 2, 13, 0, 32, 0, 16, 129, 2, 32, 12, 71, 13, 0, 32, 0, 65, 160, 137, 193, 0, 40, 2, 0, 16, 130, 2, 69, 13, 0, 32, 0, 32, 0, 40, 2, 4, 32, 10, 106, 54, 2, 4, 65, 152, 137, 193, 0, 40, 2, 0, 33, 1, 65, 160, 137, 193, 0, 40, 2, 0, 34, 0, 32, 0, 16, 253, 1, 34, 0, 65, 8, 16, 238, 1, 32, 0, 107, 34, 0, 16, 251, 1, 33, 6, 65, 152, 137, 193, 0, 32, 1, 32, 10, 106, 32, 0, 107, 34, 3, 54, 2, 0, 65, 160, 137, 193, 0, 32, 6, 54, 2, 0, 32, 6, 32, 3, 65, 1, 114, 54, 2, 4, 65, 0, 16, 253, 1, 34, 5, 65, 8, 16, 238, 1, 33, 2, 65, 20, 65, 8, 16, 238, 1, 33, 1, 65, 16, 65, 8, 16, 238, 1, 33, 0, 32, 6, 32, 3, 16, 251, 1, 32, 0, 32, 1, 32, 2, 32, 5, 107, 106, 106, 54, 2, 4, 65, 188, 137, 193, 0, 65, 128, 128, 128, 1, 54, 2, 0, 12, 1, 11, 65, 192, 137, 193, 0, 65, 192, 137, 193, 0, 40, 2, 0, 34, 0, 32, 8, 32, 8, 32, 0, 75, 27, 54, 2, 0, 32, 8, 32, 10, 106, 33, 1, 65, 172, 137, 193, 0, 33, 0, 2, 64, 3, 64, 32, 1, 32, 0, 40, 2, 0, 71, 4, 64, 32, 0, 40, 2, 8, 34, 0, 13, 1, 12, 2, 11, 11, 32, 0, 16, 128, 2, 13, 0, 32, 0, 16, 129, 2, 32, 12, 71, 13, 0, 32, 0, 40, 2, 0, 33, 3, 32, 0, 32, 8, 54, 2, 0, 32, 0, 32, 0, 40, 2, 4, 32, 10, 106, 54, 2, 4, 32, 8, 16, 253, 1, 34, 5, 65, 8, 16, 238, 1, 33, 2, 32, 3, 16, 253, 1, 34, 1, 65, 8, 16, 238, 1, 33, 0, 32, 8, 32, 2, 32, 5, 107, 106, 34, 6, 32, 4, 16, 251, 1, 33, 7, 32, 6, 32, 4, 16, 248, 1, 32, 3, 32, 0, 32, 1, 107, 106, 34, 0, 32, 6, 107, 32, 4, 107, 33, 4, 32, 0, 65, 160, 137, 193, 0, 40, 2, 0, 70, 4, 64, 65, 160, 137, 193, 0, 32, 7, 54, 2, 0, 65, 152, 137, 193, 0, 65, 152, 137, 193, 0, 40, 2, 0, 32, 4, 106, 34, 0, 54, 2, 0, 32, 7, 32, 0, 65, 1, 114, 54, 2, 4, 32, 6, 16, 253, 1, 33, 3, 12, 4, 11, 32, 0, 65, 156, 137, 193, 0, 40, 2, 0, 70, 4, 64, 65, 156, 137, 193, 0, 32, 7, 54, 2, 0, 65, 148, 137, 193, 0, 65, 148, 137, 193, 0, 40, 2, 0, 32, 4, 106, 34, 0, 54, 2, 0, 32, 7, 32, 0, 16, 249, 1, 32, 6, 16, 253, 1, 33, 3, 12, 4, 11, 32, 0, 40, 2, 4, 65, 3, 113, 65, 1, 70, 4, 64, 2, 64, 32, 0, 16, 242, 1, 34, 5, 65, 255, 1, 77, 4, 64, 32, 0, 65, 12, 106, 40, 2, 0, 34, 2, 32, 0, 65, 8, 106, 40, 2, 0, 34, 1, 70, 4, 64, 65, 132, 134, 193, 0, 65, 132, 134, 193, 0, 40, 2, 0, 65, 126, 32, 5, 65, 3, 118, 119, 113, 54, 2, 0, 12, 2, 11, 32, 1, 32, 2, 54, 2, 12, 32, 2, 32, 1, 54, 2, 8, 12, 1, 11, 32, 0, 16, 223, 1, 11, 32, 4, 32, 5, 106, 33, 4, 32, 0, 32, 5, 16, 251, 1, 33, 0, 11, 32, 7, 32, 4, 32, 0, 16, 250, 1, 32, 4, 65, 255, 1, 77, 4, 64, 32, 4, 65, 3, 118, 34, 0, 65, 3, 116, 65, 140, 134, 193, 0, 106, 33, 2, 2, 127, 65, 132, 134, 193, 0, 40, 2, 0, 34, 1, 65, 1, 32, 0, 116, 34, 0, 113, 69, 4, 64, 65, 132, 134, 193, 0, 32, 0, 32, 1, 114, 54, 2, 0, 32, 2, 12, 1, 11, 32, 2, 40, 2, 8, 11, 33, 0, 32, 2, 32, 7, 54, 2, 8, 32, 0, 32, 7, 54, 2, 12, 32, 7, 32, 2, 54, 2, 12, 32, 7, 32, 0, 54, 2, 8, 32, 6, 16, 253, 1, 33, 3, 12, 4, 11, 32, 7, 32, 4, 16, 224, 1, 32, 6, 16, 253, 1, 33, 3, 12, 3, 11, 65, 160, 137, 193, 0, 40, 2, 0, 33, 9, 65, 172, 137, 193, 0, 33, 0, 2, 64, 3, 64, 32, 0, 40, 2, 0, 32, 9, 77, 4, 64, 32, 0, 16, 131, 2, 32, 9, 75, 13, 2, 11, 32, 0, 40, 2, 8, 34, 0, 13, 0, 11, 65, 0, 33, 0, 11, 32, 9, 32, 0, 16, 131, 2, 34, 7, 65, 20, 65, 8, 16, 238, 1, 34, 16, 107, 65, 105, 106, 34, 1, 16, 253, 1, 34, 0, 65, 8, 16, 238, 1, 32, 0, 107, 32, 1, 106, 34, 0, 32, 0, 65, 16, 65, 8, 16, 238, 1, 32, 9, 106, 73, 27, 34, 13, 16, 253, 1, 33, 14, 32, 13, 32, 16, 16, 251, 1, 33, 0, 65, 0, 16, 253, 1, 34, 6, 65, 8, 16, 238, 1, 33, 3, 65, 20, 65, 8, 16, 238, 1, 33, 5, 65, 16, 65, 8, 16, 238, 1, 33, 2, 32, 8, 32, 8, 16, 253, 1, 34, 1, 65, 8, 16, 238, 1, 32, 1, 107, 34, 1, 16, 251, 1, 33, 15, 65, 152, 137, 193, 0, 32, 6, 32, 10, 106, 32, 3, 107, 32, 5, 107, 32, 2, 107, 32, 1, 107, 34, 6, 54, 2, 0, 65, 160, 137, 193, 0, 32, 15, 54, 2, 0, 32, 15, 32, 6, 65, 1, 114, 54, 2, 4, 65, 0, 16, 253, 1, 34, 3, 65, 8, 16, 238, 1, 33, 5, 65, 20, 65, 8, 16, 238, 1, 33, 2, 65, 16, 65, 8, 16, 238, 1, 33, 1, 32, 15, 32, 6, 16, 251, 1, 32, 1, 32, 2, 32, 5, 32, 3, 107, 106, 106, 54, 2, 4, 65, 188, 137, 193, 0, 65, 128, 128, 128, 1, 54, 2, 0, 32, 13, 32, 16, 16, 248, 1, 65, 172, 137, 193, 0, 41, 2, 0, 33, 17, 32, 14, 65, 8, 106, 65, 180, 137, 193, 0, 41, 2, 0, 55, 2, 0, 32, 14, 32, 17, 55, 2, 0, 65, 184, 137, 193, 0, 32, 12, 54, 2, 0, 65, 176, 137, 193, 0, 32, 10, 54, 2, 0, 65, 172, 137, 193, 0, 32, 8, 54, 2, 0, 65, 180, 137, 193, 0, 32, 14, 54, 2, 0, 3, 64, 32, 0, 65, 4, 16, 251, 1, 33, 1, 32, 0, 65, 7, 54, 2, 4, 32, 7, 32, 1, 34, 0, 65, 4, 106, 75, 13, 0, 11, 32, 9, 32, 13, 70, 13, 0, 32, 9, 32, 13, 32, 9, 107, 34, 0, 32, 9, 32, 0, 16, 251, 1, 16, 250, 1, 32, 0, 65, 255, 1, 77, 4, 64, 32, 0, 65, 3, 118, 34, 0, 65, 3, 116, 65, 140, 134, 193, 0, 106, 33, 2, 2, 127, 65, 132, 134, 193, 0, 40, 2, 0, 34, 1, 65, 1, 32, 0, 116, 34, 0, 113, 69, 4, 64, 65, 132, 134, 193, 0, 32, 0, 32, 1, 114, 54, 2, 0, 32, 2, 12, 1, 11, 32, 2, 40, 2, 8, 11, 33, 0, 32, 2, 32, 9, 54, 2, 8, 32, 0, 32, 9, 54, 2, 12, 32, 9, 32, 2, 54, 2, 12, 32, 9, 32, 0, 54, 2, 8, 12, 1, 11, 32, 9, 32, 0, 16, 224, 1, 11, 65, 0, 33, 3, 65, 152, 137, 193, 0, 40, 2, 0, 34, 0, 32, 4, 77, 13, 1, 65, 152, 137, 193, 0, 32, 0, 32, 4, 107, 34, 1, 54, 2, 0, 65, 160, 137, 193, 0, 65, 160, 137, 193, 0, 40, 2, 0, 34, 2, 32, 4, 16, 251, 1, 34, 0, 54, 2, 0, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 32, 2, 32, 4, 16, 248, 1, 32, 2, 16, 253, 1, 33, 3, 12, 1, 11, 65, 152, 137, 193, 0, 32, 0, 32, 4, 107, 34, 1, 54, 2, 0, 65, 160, 137, 193, 0, 65, 160, 137, 193, 0, 40, 2, 0, 34, 2, 32, 4, 16, 251, 1, 34, 0, 54, 2, 0, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 32, 2, 32, 4, 16, 248, 1, 32, 2, 16, 253, 1, 33, 3, 11, 32, 11, 65, 16, 106, 36, 0, 32, 3, 11, 217, 4, 1, 4, 127, 32, 0, 32, 1, 16, 251, 1, 33, 2, 2, 64, 2, 64, 2, 64, 32, 0, 16, 244, 1, 13, 0, 32, 0, 40, 2, 0, 33, 3, 32, 0, 16, 245, 1, 4, 64, 32, 1, 32, 3, 106, 65, 16, 106, 33, 0, 12, 2, 11, 32, 1, 32, 3, 106, 33, 1, 2, 64, 32, 0, 32, 3, 16, 252, 1, 34, 0, 65, 156, 137, 193, 0, 40, 2, 0, 71, 4, 64, 32, 3, 65, 255, 1, 77, 4, 64, 32, 0, 65, 12, 106, 40, 2, 0, 34, 4, 32, 0, 65, 8, 106, 40, 2, 0, 34, 5, 71, 13, 2, 65, 132, 134, 193, 0, 65, 132, 134, 193, 0, 40, 2, 0, 65, 126, 32, 3, 65, 3, 118, 119, 113, 54, 2, 0, 12, 3, 11, 32, 0, 16, 223, 1, 12, 2, 11, 32, 2, 40, 2, 4, 65, 3, 113, 65, 3, 71, 13, 1, 65, 148, 137, 193, 0, 32, 1, 54, 2, 0, 32, 0, 32, 1, 32, 2, 16, 250, 1, 15, 11, 32, 5, 32, 4, 54, 2, 12, 32, 4, 32, 5, 54, 2, 8, 11, 2, 64, 32, 2, 16, 243, 1, 69, 4, 64, 65, 160, 137, 193, 0, 40, 2, 0, 32, 2, 70, 4, 64, 65, 160, 137, 193, 0, 32, 0, 54, 2, 0, 65, 152, 137, 193, 0, 65, 152, 137, 193, 0, 40, 2, 0, 32, 1, 106, 34, 1, 54, 2, 0, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 32, 0, 65, 156, 137, 193, 0, 40, 2, 0, 71, 13, 3, 65, 148, 137, 193, 0, 65, 0, 54, 2, 0, 65, 156, 137, 193, 0, 65, 0, 54, 2, 0, 15, 11, 32, 2, 65, 156, 137, 193, 0, 40, 2, 0, 70, 13, 3, 32, 2, 16, 242, 1, 34, 3, 32, 1, 106, 33, 1, 2, 64, 32, 3, 65, 255, 1, 77, 4, 64, 32, 2, 65, 12, 106, 40, 2, 0, 34, 4, 32, 2, 65, 8, 106, 40, 2, 0, 34, 2, 70, 4, 64, 65, 132, 134, 193, 0, 65, 132, 134, 193, 0, 40, 2, 0, 65, 126, 32, 3, 65, 3, 118, 119, 113, 54, 2, 0, 12, 2, 11, 32, 2, 32, 4, 54, 2, 12, 32, 4, 32, 2, 54, 2, 8, 12, 1, 11, 32, 2, 16, 223, 1, 11, 32, 0, 32, 1, 16, 249, 1, 32, 0, 65, 156, 137, 193, 0, 40, 2, 0, 71, 13, 1, 65, 148, 137, 193, 0, 32, 1, 54, 2, 0, 15, 11, 32, 0, 32, 1, 32, 2, 16, 250, 1, 11, 32, 1, 65, 255, 1, 77, 4, 64, 32, 1, 65, 3, 118, 34, 2, 65, 3, 116, 65, 140, 134, 193, 0, 106, 33, 1, 2, 127, 65, 132, 134, 193, 0, 40, 2, 0, 34, 3, 65, 1, 32, 2, 116, 34, 2, 113, 69, 4, 64, 65, 132, 134, 193, 0, 32, 2, 32, 3, 114, 54, 2, 0, 32, 1, 12, 1, 11, 32, 1, 40, 2, 8, 11, 33, 2, 32, 1, 32, 0, 54, 2, 8, 32, 2, 32, 0, 54, 2, 12, 32, 0, 32, 1, 54, 2, 12, 32, 0, 32, 2, 54, 2, 8, 15, 11, 32, 0, 32, 1, 16, 224, 1, 11, 15, 11, 65, 156, 137, 193, 0, 32, 0, 54, 2, 0, 65, 148, 137, 193, 0, 65, 148, 137, 193, 0, 40, 2, 0, 32, 1, 106, 34, 1, 54, 2, 0, 32, 0, 32, 1, 16, 249, 1, 11, 180, 2, 1, 5, 127, 32, 0, 40, 2, 24, 33, 4, 2, 64, 32, 0, 32, 0, 40, 2, 12, 71, 4, 64, 32, 0, 40, 2, 8, 34, 2, 32, 0, 40, 2, 12, 34, 1, 54, 2, 12, 32, 1, 32, 2, 54, 2, 8, 12, 1, 11, 32, 0, 65, 20, 65, 16, 32, 0, 65, 20, 106, 34, 1, 40, 2, 0, 34, 3, 27, 106, 40, 2, 0, 34, 2, 69, 4, 64, 65, 0, 33, 1, 12, 1, 11, 32, 1, 32, 0, 65, 16, 106, 32, 3, 27, 33, 3, 3, 64, 32, 3, 33, 5, 32, 2, 34, 1, 65, 20, 106, 34, 3, 40, 2, 0, 34, 2, 69, 4, 64, 32, 1, 65, 16, 106, 33, 3, 32, 1, 40, 2, 16, 33, 2, 11, 32, 2, 13, 0, 11, 32, 5, 65, 0, 54, 2, 0, 11, 2, 64, 32, 4, 69, 13, 0, 2, 64, 32, 0, 32, 0, 40, 2, 28, 65, 2, 116, 65, 148, 136, 193, 0, 106, 34, 2, 40, 2, 0, 70, 4, 64, 32, 2, 32, 1, 54, 2, 0, 32, 1, 13, 1, 65, 136, 134, 193, 0, 65, 136, 134, 193, 0, 40, 2, 0, 65, 126, 32, 0, 40, 2, 28, 119, 113, 54, 2, 0, 15, 11, 32, 4, 65, 16, 65, 20, 32, 4, 40, 2, 16, 32, 0, 70, 27, 106, 32, 1, 54, 2, 0, 32, 1, 69, 13, 1, 11, 32, 1, 32, 4, 54, 2, 24, 32, 0, 40, 2, 16, 34, 2, 4, 64, 32, 1, 32, 2, 54, 2, 16, 32, 2, 32, 1, 54, 2, 24, 11, 32, 0, 65, 20, 106, 40, 2, 0, 34, 0, 69, 13, 0, 32, 1, 65, 20, 106, 32, 0, 54, 2, 0, 32, 0, 32, 1, 54, 2, 24, 11, 11, 173, 2, 1, 5, 127, 32, 0, 66, 0, 55, 2, 16, 32, 0, 2, 127, 65, 0, 32, 1, 65, 8, 118, 34, 2, 69, 13, 0, 26, 65, 31, 32, 1, 65, 255, 255, 255, 7, 75, 13, 0, 26, 32, 1, 65, 6, 32, 2, 103, 34, 2, 107, 65, 31, 113, 118, 65, 1, 113, 32, 2, 65, 1, 116, 107, 65, 62, 106, 11, 34, 2, 54, 2, 28, 32, 2, 65, 2, 116, 65, 148, 136, 193, 0, 106, 33, 3, 32, 0, 33, 4, 2, 64, 2, 64, 65, 136, 134, 193, 0, 40, 2, 0, 34, 5, 65, 1, 32, 2, 65, 31, 113, 116, 34, 6, 113, 69, 4, 64, 65, 136, 134, 193, 0, 32, 5, 32, 6, 114, 54, 2, 0, 32, 3, 32, 0, 54, 2, 0, 12, 1, 11, 32, 3, 40, 2, 0, 33, 3, 32, 2, 16, 241, 1, 33, 2, 32, 3, 16, 242, 1, 32, 1, 70, 4, 64, 32, 3, 33, 2, 12, 2, 11, 32, 1, 32, 2, 65, 31, 113, 116, 33, 5, 3, 64, 32, 3, 32, 5, 65, 29, 118, 65, 4, 113, 106, 65, 16, 106, 34, 6, 40, 2, 0, 34, 2, 4, 64, 32, 5, 65, 1, 116, 33, 5, 32, 2, 34, 3, 16, 242, 1, 32, 1, 71, 13, 1, 12, 3, 11, 11, 32, 6, 32, 0, 54, 2, 0, 11, 32, 0, 32, 3, 54, 2, 24, 32, 4, 32, 4, 54, 2, 8, 32, 4, 32, 4, 54, 2, 12, 15, 11, 32, 2, 40, 2, 8, 34, 1, 32, 4, 54, 2, 12, 32, 2, 32, 4, 54, 2, 8, 32, 4, 32, 2, 54, 2, 12, 32, 4, 32, 1, 54, 2, 8, 32, 0, 65, 0, 54, 2, 24, 11, 100, 1, 11, 127, 65, 180, 137, 193, 0, 40, 2, 0, 34, 1, 69, 4, 64, 65, 196, 137, 193, 0, 65, 255, 31, 54, 2, 0, 65, 0, 15, 11, 3, 64, 32, 1, 34, 0, 40, 2, 8, 33, 1, 32, 0, 40, 2, 4, 33, 5, 32, 0, 40, 2, 0, 33, 2, 32, 0, 65, 12, 106, 40, 2, 0, 26, 32, 3, 65, 1, 106, 33, 3, 32, 1, 13, 0, 11, 65, 196, 137, 193, 0, 32, 3, 65, 255, 31, 32, 3, 65, 255, 31, 75, 27, 54, 2, 0, 32, 10, 11, 161, 7, 1, 6, 127, 32, 0, 16, 254, 1, 34, 0, 32, 0, 16, 242, 1, 34, 2, 16, 251, 1, 33, 1, 2, 64, 2, 64, 2, 64, 32, 0, 16, 244, 1, 13, 0, 32, 0, 40, 2, 0, 33, 3, 32, 0, 16, 245, 1, 4, 64, 32, 2, 32, 3, 106, 65, 16, 106, 33, 0, 12, 2, 11, 32, 2, 32, 3, 106, 33, 2, 2, 64, 32, 0, 32, 3, 16, 252, 1, 34, 0, 65, 156, 137, 193, 0, 40, 2, 0, 71, 4, 64, 32, 3, 65, 255, 1, 77, 4, 64, 32, 0, 65, 12, 106, 40, 2, 0, 34, 4, 32, 0, 65, 8, 106, 40, 2, 0, 34, 5, 71, 13, 2, 65, 132, 134, 193, 0, 65, 132, 134, 193, 0, 40, 2, 0, 65, 126, 32, 3, 65, 3, 118, 119, 113, 54, 2, 0, 12, 3, 11, 32, 0, 16, 223, 1, 12, 2, 11, 32, 1, 40, 2, 4, 65, 3, 113, 65, 3, 71, 13, 1, 65, 148, 137, 193, 0, 32, 2, 54, 2, 0, 32, 0, 32, 2, 32, 1, 16, 250, 1, 15, 11, 32, 5, 32, 4, 54, 2, 12, 32, 4, 32, 5, 54, 2, 8, 11, 2, 64, 2, 64, 32, 1, 16, 243, 1, 69, 4, 64, 32, 1, 65, 160, 137, 193, 0, 40, 2, 0, 71, 13, 1, 65, 160, 137, 193, 0, 32, 0, 54, 2, 0, 65, 152, 137, 193, 0, 65, 152, 137, 193, 0, 40, 2, 0, 32, 2, 106, 34, 1, 54, 2, 0, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 65, 156, 137, 193, 0, 40, 2, 0, 32, 0, 70, 4, 64, 65, 148, 137, 193, 0, 65, 0, 54, 2, 0, 65, 156, 137, 193, 0, 65, 0, 54, 2, 0, 11, 65, 188, 137, 193, 0, 40, 2, 0, 32, 1, 79, 13, 3, 65, 0, 16, 253, 1, 34, 0, 65, 8, 16, 238, 1, 33, 1, 65, 20, 65, 8, 16, 238, 1, 33, 3, 65, 16, 65, 8, 16, 238, 1, 33, 2, 65, 16, 65, 8, 16, 238, 1, 33, 4, 65, 160, 137, 193, 0, 40, 2, 0, 69, 13, 3, 32, 0, 32, 1, 107, 32, 3, 107, 32, 2, 107, 65, 248, 255, 123, 106, 65, 119, 113, 65, 125, 106, 34, 0, 65, 0, 32, 4, 65, 2, 116, 107, 34, 1, 32, 0, 32, 1, 73, 27, 69, 13, 3, 65, 0, 16, 253, 1, 34, 0, 65, 8, 16, 238, 1, 33, 1, 65, 20, 65, 8, 16, 238, 1, 33, 2, 65, 16, 65, 8, 16, 238, 1, 33, 4, 65, 0, 2, 64, 65, 152, 137, 193, 0, 40, 2, 0, 34, 5, 32, 4, 32, 2, 32, 1, 32, 0, 107, 106, 106, 34, 2, 77, 13, 0, 65, 160, 137, 193, 0, 40, 2, 0, 33, 1, 65, 172, 137, 193, 0, 33, 0, 2, 64, 3, 64, 32, 0, 40, 2, 0, 32, 1, 77, 4, 64, 32, 0, 16, 131, 2, 32, 1, 75, 13, 2, 11, 32, 0, 40, 2, 8, 34, 0, 13, 0, 11, 65, 0, 33, 0, 11, 32, 0, 16, 128, 2, 13, 0, 32, 0, 65, 12, 106, 40, 2, 0, 26, 12, 0, 11, 65, 0, 16, 225, 1, 107, 71, 13, 3, 65, 152, 137, 193, 0, 40, 2, 0, 65, 188, 137, 193, 0, 40, 2, 0, 77, 13, 3, 65, 188, 137, 193, 0, 65, 127, 54, 2, 0, 15, 11, 32, 0, 32, 2, 32, 1, 16, 250, 1, 12, 1, 11, 32, 1, 65, 156, 137, 193, 0, 40, 2, 0, 70, 13, 2, 32, 1, 16, 242, 1, 34, 3, 32, 2, 106, 33, 2, 2, 64, 32, 3, 65, 255, 1, 77, 4, 64, 32, 1, 65, 12, 106, 40, 2, 0, 34, 4, 32, 1, 65, 8, 106, 40, 2, 0, 34, 1, 70, 4, 64, 65, 132, 134, 193, 0, 65, 132, 134, 193, 0, 40, 2, 0, 65, 126, 32, 3, 65, 3, 118, 119, 113, 54, 2, 0, 12, 2, 11, 32, 1, 32, 4, 54, 2, 12, 32, 4, 32, 1, 54, 2, 8, 12, 1, 11, 32, 1, 16, 223, 1, 11, 32, 0, 32, 2, 16, 249, 1, 32, 0, 65, 156, 137, 193, 0, 40, 2, 0, 71, 13, 0, 65, 148, 137, 193, 0, 32, 2, 54, 2, 0, 15, 11, 32, 2, 65, 255, 1, 77, 4, 64, 32, 2, 65, 3, 118, 34, 3, 65, 3, 116, 65, 140, 134, 193, 0, 106, 33, 1, 2, 127, 65, 132, 134, 193, 0, 40, 2, 0, 34, 2, 65, 1, 32, 3, 116, 34, 3, 113, 69, 4, 64, 65, 132, 134, 193, 0, 32, 2, 32, 3, 114, 54, 2, 0, 32, 1, 12, 1, 11, 32, 1, 40, 2, 8, 11, 33, 3, 32, 1, 32, 0, 54, 2, 8, 32, 3, 32, 0, 54, 2, 12, 32, 0, 32, 1, 54, 2, 12, 32, 0, 32, 3, 54, 2, 8, 15, 11, 32, 0, 32, 2, 16, 224, 1, 65, 196, 137, 193, 0, 65, 196, 137, 193, 0, 40, 2, 0, 65, 127, 106, 34, 0, 54, 2, 0, 32, 0, 13, 0, 16, 225, 1, 26, 11, 15, 11, 65, 156, 137, 193, 0, 32, 0, 54, 2, 0, 65, 148, 137, 193, 0, 65, 148, 137, 193, 0, 40, 2, 0, 32, 2, 106, 34, 1, 54, 2, 0, 32, 0, 32, 1, 16, 249, 1, 11, 45, 1, 1, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 1, 65, 8, 106, 32, 0, 65, 8, 106, 40, 2, 0, 54, 2, 0, 32, 1, 32, 0, 41, 2, 0, 55, 3, 0, 32, 1, 16, 228, 1, 0, 11, 164, 1, 1, 3, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 0, 40, 2, 0, 34, 2, 65, 20, 106, 40, 2, 0, 33, 3, 2, 64, 2, 127, 2, 64, 2, 64, 32, 2, 40, 2, 4, 14, 2, 0, 1, 3, 11, 32, 3, 13, 2, 65, 0, 33, 2, 65, 240, 224, 192, 0, 12, 1, 11, 32, 3, 13, 1, 32, 2, 40, 2, 0, 34, 3, 40, 2, 4, 33, 2, 32, 3, 40, 2, 0, 11, 33, 3, 32, 1, 32, 2, 54, 2, 4, 32, 1, 32, 3, 54, 2, 0, 32, 1, 65, 252, 225, 192, 0, 32, 0, 40, 2, 4, 40, 2, 8, 32, 0, 40, 2, 8, 16, 233, 1, 0, 11, 32, 1, 65, 0, 54, 2, 4, 32, 1, 32, 2, 54, 2, 0, 32, 1, 65, 232, 225, 192, 0, 32, 0, 40, 2, 4, 40, 2, 8, 32, 0, 40, 2, 8, 16, 233, 1, 0, 11, 3, 0, 1, 11, 156, 7, 1, 6, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 65, 8, 77, 4, 64, 65, 0, 33, 2, 65, 0, 16, 253, 1, 34, 1, 32, 1, 65, 8, 16, 238, 1, 107, 65, 20, 65, 8, 16, 238, 1, 107, 65, 16, 65, 8, 16, 238, 1, 107, 65, 248, 255, 123, 106, 65, 119, 113, 65, 125, 106, 34, 1, 65, 0, 65, 16, 65, 8, 16, 238, 1, 65, 2, 116, 107, 34, 4, 32, 1, 32, 4, 73, 27, 32, 3, 77, 13, 5, 65, 16, 32, 3, 65, 4, 106, 65, 16, 65, 8, 16, 238, 1, 65, 123, 106, 32, 3, 75, 27, 65, 8, 16, 238, 1, 33, 6, 32, 0, 16, 254, 1, 34, 1, 32, 1, 16, 242, 1, 34, 5, 16, 251, 1, 33, 4, 32, 1, 16, 245, 1, 4, 64, 32, 1, 16, 242, 1, 33, 5, 32, 6, 65, 128, 2, 73, 13, 5, 32, 5, 32, 6, 65, 4, 106, 79, 4, 64, 32, 1, 33, 4, 32, 5, 32, 6, 107, 65, 129, 128, 8, 73, 13, 5, 11, 32, 1, 40, 2, 0, 34, 7, 32, 5, 106, 65, 16, 106, 33, 8, 32, 6, 65, 31, 106, 65, 128, 128, 4, 16, 238, 1, 33, 5, 65, 0, 34, 6, 69, 13, 5, 32, 6, 32, 7, 106, 34, 4, 32, 5, 32, 7, 107, 34, 7, 65, 112, 106, 34, 9, 54, 2, 4, 32, 4, 32, 9, 16, 251, 1, 65, 7, 54, 2, 4, 32, 4, 32, 7, 65, 116, 106, 16, 251, 1, 65, 0, 54, 2, 4, 65, 164, 137, 193, 0, 65, 164, 137, 193, 0, 40, 2, 0, 32, 5, 32, 8, 107, 106, 34, 5, 54, 2, 0, 65, 192, 137, 193, 0, 65, 192, 137, 193, 0, 40, 2, 0, 34, 7, 32, 6, 32, 6, 32, 7, 75, 27, 54, 2, 0, 65, 168, 137, 193, 0, 65, 168, 137, 193, 0, 40, 2, 0, 34, 6, 32, 5, 32, 6, 32, 5, 75, 27, 54, 2, 0, 12, 4, 11, 32, 5, 32, 6, 79, 4, 64, 32, 1, 33, 4, 32, 5, 32, 6, 107, 34, 5, 65, 16, 65, 8, 16, 238, 1, 73, 13, 4, 32, 1, 32, 6, 16, 251, 1, 33, 4, 32, 1, 32, 6, 16, 246, 1, 32, 4, 32, 5, 16, 246, 1, 32, 4, 32, 5, 16, 222, 1, 12, 3, 11, 65, 160, 137, 193, 0, 40, 2, 0, 32, 4, 71, 4, 64, 65, 156, 137, 193, 0, 40, 2, 0, 32, 4, 70, 4, 64, 65, 148, 137, 193, 0, 40, 2, 0, 32, 5, 106, 34, 4, 32, 6, 73, 13, 6, 2, 64, 32, 4, 32, 6, 107, 34, 5, 65, 16, 65, 8, 16, 238, 1, 79, 4, 64, 32, 1, 32, 6, 16, 251, 1, 34, 4, 32, 5, 16, 251, 1, 33, 7, 32, 1, 32, 6, 16, 246, 1, 32, 4, 32, 5, 16, 249, 1, 32, 7, 32, 7, 40, 2, 4, 65, 126, 113, 54, 2, 4, 12, 1, 11, 32, 1, 32, 4, 16, 246, 1, 65, 0, 33, 5, 65, 0, 33, 4, 11, 65, 156, 137, 193, 0, 32, 4, 54, 2, 0, 65, 148, 137, 193, 0, 32, 5, 54, 2, 0, 12, 4, 11, 32, 4, 16, 243, 1, 13, 5, 32, 4, 16, 242, 1, 34, 7, 32, 5, 106, 34, 8, 32, 6, 73, 13, 5, 32, 8, 32, 6, 107, 33, 5, 2, 64, 32, 7, 65, 255, 1, 77, 4, 64, 32, 4, 65, 12, 106, 40, 2, 0, 34, 9, 32, 4, 65, 8, 106, 40, 2, 0, 34, 4, 70, 4, 64, 65, 132, 134, 193, 0, 65, 132, 134, 193, 0, 40, 2, 0, 65, 126, 32, 7, 65, 3, 118, 119, 113, 54, 2, 0, 12, 2, 11, 32, 4, 32, 9, 54, 2, 12, 32, 9, 32, 4, 54, 2, 8, 12, 1, 11, 32, 4, 16, 223, 1, 11, 32, 5, 65, 16, 65, 8, 16, 238, 1, 73, 4, 64, 32, 1, 32, 8, 16, 246, 1, 12, 4, 11, 32, 1, 32, 6, 16, 251, 1, 33, 4, 32, 1, 32, 6, 16, 246, 1, 32, 4, 32, 5, 16, 246, 1, 32, 4, 32, 5, 16, 222, 1, 12, 3, 11, 65, 152, 137, 193, 0, 40, 2, 0, 32, 5, 106, 34, 5, 32, 6, 75, 13, 1, 12, 4, 11, 32, 3, 32, 2, 16, 220, 1, 34, 2, 69, 4, 64, 65, 0, 15, 11, 32, 2, 32, 0, 32, 3, 32, 1, 32, 1, 32, 3, 75, 27, 16, 212, 2, 26, 32, 0, 16, 226, 1, 12, 4, 11, 32, 1, 32, 6, 16, 251, 1, 33, 4, 32, 1, 32, 6, 16, 246, 1, 32, 4, 32, 5, 32, 6, 107, 34, 6, 65, 1, 114, 54, 2, 4, 65, 152, 137, 193, 0, 32, 6, 54, 2, 0, 65, 160, 137, 193, 0, 32, 4, 54, 2, 0, 11, 32, 1, 33, 4, 11, 32, 4, 69, 13, 0, 32, 4, 16, 245, 1, 26, 32, 4, 16, 253, 1, 15, 11, 32, 3, 16, 221, 1, 34, 4, 69, 13, 0, 32, 4, 32, 0, 32, 3, 32, 1, 16, 242, 1, 65, 120, 65, 124, 32, 1, 16, 245, 1, 27, 106, 34, 1, 32, 1, 32, 3, 75, 27, 16, 212, 2, 32, 0, 16, 226, 1, 15, 11, 32, 2, 11, 41, 1, 1, 127, 2, 64, 32, 0, 65, 1, 16, 220, 1, 34, 1, 69, 13, 0, 32, 1, 16, 254, 1, 16, 245, 1, 13, 0, 32, 1, 65, 0, 32, 0, 16, 213, 2, 26, 11, 32, 1, 11, 94, 1, 3, 127, 35, 0, 65, 16, 107, 34, 1, 36, 0, 32, 0, 40, 2, 12, 34, 2, 69, 4, 64, 65, 128, 225, 192, 0, 65, 43, 65, 200, 225, 192, 0, 16, 147, 2, 0, 11, 32, 0, 40, 2, 8, 34, 3, 69, 4, 64, 65, 128, 225, 192, 0, 65, 43, 65, 216, 225, 192, 0, 16, 147, 2, 0, 11, 32, 1, 32, 2, 54, 2, 8, 32, 1, 32, 0, 54, 2, 4, 32, 1, 32, 3, 54, 2, 0, 32, 1, 16, 227, 1, 0, 11, 149, 2, 1, 2, 127, 35, 0, 65, 32, 107, 34, 4, 36, 0, 65, 1, 33, 5, 65, 128, 134, 193, 0, 65, 128, 134, 193, 0, 40, 2, 0, 65, 1, 106, 54, 2, 0, 2, 64, 2, 64, 65, 200, 137, 193, 0, 40, 2, 0, 65, 1, 71, 4, 64, 65, 200, 137, 193, 0, 66, 129, 128, 128, 128, 16, 55, 3, 0, 12, 1, 11, 65, 204, 137, 193, 0, 65, 204, 137, 193, 0, 40, 2, 0, 65, 1, 106, 34, 5, 54, 2, 0, 32, 5, 65, 3, 79, 13, 1, 11, 32, 4, 32, 3, 54, 2, 28, 32, 4, 32, 2, 54, 2, 24, 32, 4, 65, 240, 224, 192, 0, 54, 2, 20, 32, 4, 65, 240, 224, 192, 0, 54, 2, 16, 65, 244, 133, 193, 0, 40, 2, 0, 34, 2, 65, 127, 76, 13, 0, 65, 244, 133, 193, 0, 32, 2, 65, 1, 106, 34, 2, 54, 2, 0, 65, 244, 133, 193, 0, 65, 252, 133, 193, 0, 40, 2, 0, 34, 3, 4, 127, 65, 248, 133, 193, 0, 40, 2, 0, 32, 4, 65, 8, 106, 32, 0, 32, 1, 40, 2, 16, 17, 1, 0, 32, 4, 32, 4, 41, 3, 8, 55, 3, 16, 32, 4, 65, 16, 106, 32, 3, 40, 2, 12, 17, 1, 0, 65, 244, 133, 193, 0, 40, 2, 0, 5, 32, 2, 11, 65, 127, 106, 54, 2, 0, 32, 5, 65, 2, 79, 13, 0, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 54, 2, 12, 32, 2, 32, 0, 54, 2, 8, 0, 11, 0, 11, 180, 2, 1, 4, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 1, 40, 2, 4, 34, 3, 69, 4, 64, 32, 1, 65, 4, 106, 33, 3, 32, 1, 40, 2, 0, 33, 4, 32, 2, 65, 0, 54, 2, 32, 32, 2, 66, 1, 55, 3, 24, 32, 2, 32, 2, 65, 24, 106, 54, 2, 36, 32, 2, 65, 56, 106, 32, 4, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 48, 106, 32, 4, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 4, 41, 2, 0, 55, 3, 40, 32, 2, 65, 36, 106, 65, 216, 224, 192, 0, 32, 2, 65, 40, 106, 16, 156, 2, 26, 32, 2, 65, 16, 106, 34, 4, 32, 2, 40, 2, 32, 54, 2, 0, 32, 2, 32, 2, 41, 3, 24, 55, 3, 8, 2, 64, 32, 1, 40, 2, 4, 34, 5, 69, 13, 0, 32, 1, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 5, 16, 226, 1, 11, 32, 3, 32, 2, 41, 3, 8, 55, 2, 0, 32, 3, 65, 8, 106, 32, 4, 40, 2, 0, 54, 2, 0, 32, 3, 40, 2, 0, 33, 3, 11, 32, 1, 65, 1, 54, 2, 4, 32, 1, 65, 12, 106, 40, 2, 0, 33, 4, 32, 1, 65, 8, 106, 34, 1, 40, 2, 0, 33, 5, 32, 1, 66, 0, 55, 2, 0, 65, 12, 65, 4, 16, 87, 34, 1, 69, 4, 64, 65, 12, 65, 4, 16, 138, 2, 0, 11, 32, 1, 32, 4, 54, 2, 8, 32, 1, 32, 5, 54, 2, 4, 32, 1, 32, 3, 54, 2, 0, 32, 0, 65, 144, 226, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 32, 2, 65, 64, 107, 36, 0, 11, 222, 1, 1, 4, 127, 35, 0, 65, 64, 106, 34, 2, 36, 0, 32, 1, 65, 4, 106, 33, 4, 32, 1, 40, 2, 4, 69, 4, 64, 32, 1, 40, 2, 0, 33, 3, 32, 2, 65, 0, 54, 2, 32, 32, 2, 66, 1, 55, 3, 24, 32, 2, 32, 2, 65, 24, 106, 54, 2, 36, 32, 2, 65, 56, 106, 32, 3, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 48, 106, 32, 3, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 3, 41, 2, 0, 55, 3, 40, 32, 2, 65, 36, 106, 65, 216, 224, 192, 0, 32, 2, 65, 40, 106, 16, 156, 2, 26, 32, 2, 65, 16, 106, 34, 3, 32, 2, 40, 2, 32, 54, 2, 0, 32, 2, 32, 2, 41, 3, 24, 55, 3, 8, 2, 64, 32, 1, 40, 2, 4, 34, 5, 69, 13, 0, 32, 1, 65, 8, 106, 40, 2, 0, 69, 13, 0, 32, 5, 16, 226, 1, 11, 32, 4, 32, 2, 41, 3, 8, 55, 2, 0, 32, 4, 65, 8, 106, 32, 3, 40, 2, 0, 54, 2, 0, 11, 32, 0, 65, 144, 226, 192, 0, 54, 2, 4, 32, 0, 32, 4, 54, 2, 0, 32, 2, 65, 64, 107, 36, 0, 11, 69, 1, 2, 127, 32, 1, 40, 2, 4, 33, 2, 32, 1, 40, 2, 0, 33, 3, 65, 8, 65, 4, 16, 87, 34, 1, 69, 4, 64, 65, 8, 65, 4, 16, 138, 2, 0, 11, 32, 1, 32, 2, 54, 2, 4, 32, 1, 32, 3, 54, 2, 0, 32, 0, 65, 160, 226, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 19, 0, 32, 0, 65, 160, 226, 192, 0, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 11, 16, 0, 32, 0, 32, 1, 106, 65, 127, 106, 65, 0, 32, 1, 107, 113, 11, 15, 0, 32, 0, 65, 1, 116, 34, 0, 65, 0, 32, 0, 107, 114, 11, 10, 0, 65, 0, 32, 0, 107, 32, 0, 113, 11, 18, 0, 65, 0, 65, 25, 32, 0, 65, 1, 118, 107, 32, 0, 65, 31, 70, 27, 11, 10, 0, 32, 0, 40, 2, 4, 65, 120, 113, 11, 13, 0, 32, 0, 45, 0, 4, 65, 2, 113, 65, 1, 118, 11, 10, 0, 32, 0, 40, 2, 4, 65, 1, 113, 11, 11, 0, 32, 0, 45, 0, 4, 65, 3, 113, 69, 11, 39, 0, 32, 0, 32, 0, 40, 2, 4, 65, 1, 113, 32, 1, 114, 65, 2, 114, 54, 2, 4, 32, 0, 32, 1, 106, 34, 0, 32, 0, 40, 2, 4, 65, 1, 114, 54, 2, 4, 11, 30, 0, 32, 0, 32, 1, 65, 3, 114, 54, 2, 4, 32, 0, 32, 1, 106, 34, 0, 32, 0, 40, 2, 4, 65, 1, 114, 54, 2, 4, 11, 12, 0, 32, 0, 32, 1, 65, 3, 114, 54, 2, 4, 11, 22, 0, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 1, 54, 2, 0, 11, 35, 0, 32, 2, 32, 2, 40, 2, 4, 65, 126, 113, 54, 2, 4, 32, 0, 32, 1, 65, 1, 114, 54, 2, 4, 32, 0, 32, 1, 106, 32, 1, 54, 2, 0, 11, 7, 0, 32, 0, 32, 1, 106, 11, 7, 0, 32, 0, 32, 1, 107, 11, 7, 0, 32, 0, 65, 8, 106, 11, 7, 0, 32, 0, 65, 120, 106, 11, 25, 1, 1, 127, 32, 0, 40, 2, 16, 34, 1, 4, 127, 32, 1, 5, 32, 0, 65, 20, 106, 40, 2, 0, 11, 11, 10, 0, 32, 0, 40, 2, 12, 65, 1, 113, 11, 10, 0, 32, 0, 40, 2, 12, 65, 1, 118, 11, 37, 1, 1, 127, 2, 64, 32, 0, 40, 2, 0, 34, 2, 32, 1, 75, 13, 0, 32, 2, 32, 0, 40, 2, 4, 106, 32, 1, 77, 13, 0, 65, 1, 15, 11, 65, 0, 11, 13, 0, 32, 0, 40, 2, 0, 32, 0, 40, 2, 4, 106, 11, 57, 1, 1, 127, 32, 1, 65, 16, 118, 64, 0, 33, 2, 32, 0, 65, 0, 54, 2, 8, 32, 0, 65, 0, 32, 1, 65, 128, 128, 124, 113, 32, 2, 65, 127, 70, 34, 1, 27, 54, 2, 4, 32, 0, 65, 0, 32, 2, 65, 16, 116, 32, 1, 27, 54, 2, 0, 11, 100, 1, 2, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 34, 0, 40, 2, 8, 33, 3, 32, 0, 40, 2, 0, 33, 0, 32, 2, 32, 1, 16, 188, 2, 55, 3, 0, 32, 3, 4, 64, 3, 64, 32, 2, 32, 0, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 200, 226, 192, 0, 16, 170, 2, 32, 0, 65, 1, 106, 33, 0, 32, 3, 65, 127, 106, 34, 3, 13, 0, 11, 11, 32, 2, 16, 171, 2, 32, 2, 65, 16, 106, 36, 0, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 211, 2, 11, 14, 0, 32, 0, 40, 2, 0, 32, 1, 16, 136, 2, 65, 0, 11, 205, 3, 1, 4, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 128, 1, 79, 4, 64, 32, 2, 65, 0, 54, 2, 16, 32, 1, 65, 128, 16, 73, 13, 1, 32, 1, 65, 128, 128, 4, 73, 4, 64, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 18, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 16, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 17, 65, 3, 33, 1, 12, 5, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 19, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 16, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 18, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 17, 65, 4, 33, 1, 12, 4, 11, 32, 0, 40, 2, 8, 34, 3, 32, 0, 65, 4, 106, 40, 2, 0, 71, 4, 64, 32, 0, 40, 2, 0, 33, 4, 12, 3, 11, 32, 3, 65, 1, 106, 34, 4, 32, 3, 73, 13, 1, 32, 3, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 3, 69, 4, 64, 32, 2, 65, 0, 54, 2, 16, 12, 1, 11, 32, 2, 65, 24, 106, 65, 1, 54, 2, 0, 32, 2, 32, 3, 54, 2, 20, 32, 2, 32, 0, 40, 2, 0, 54, 2, 16, 11, 32, 2, 32, 4, 65, 1, 32, 2, 65, 16, 106, 16, 13, 32, 2, 65, 8, 106, 40, 2, 0, 33, 3, 32, 2, 40, 2, 4, 33, 4, 32, 2, 40, 2, 0, 65, 1, 71, 4, 64, 32, 0, 32, 4, 54, 2, 0, 32, 0, 65, 4, 106, 32, 3, 54, 2, 0, 32, 0, 40, 2, 8, 33, 3, 12, 3, 11, 32, 3, 69, 13, 1, 32, 4, 32, 3, 16, 138, 2, 0, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 17, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 16, 65, 2, 33, 1, 12, 2, 11, 16, 139, 2, 0, 11, 32, 3, 32, 4, 106, 32, 1, 58, 0, 0, 32, 0, 32, 0, 40, 2, 8, 65, 1, 106, 54, 2, 8, 12, 1, 11, 32, 0, 32, 2, 65, 16, 106, 32, 2, 65, 16, 106, 32, 1, 106, 16, 213, 1, 11, 32, 2, 65, 32, 106, 36, 0, 11, 90, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 176, 226, 192, 0, 32, 2, 65, 8, 106, 16, 156, 2, 32, 2, 65, 32, 106, 36, 0, 11, 26, 0, 32, 0, 32, 1, 65, 240, 133, 193, 0, 40, 2, 0, 34, 0, 65, 218, 0, 32, 0, 27, 17, 1, 0, 0, 11, 18, 0, 65, 188, 228, 192, 0, 65, 17, 65, 208, 228, 192, 0, 16, 147, 2, 0, 11, 208, 2, 1, 6, 127, 35, 0, 65, 32, 107, 34, 3, 36, 0, 32, 1, 40, 2, 0, 33, 7, 2, 64, 32, 1, 40, 2, 4, 34, 6, 65, 3, 116, 34, 5, 69, 4, 64, 12, 1, 11, 32, 7, 65, 4, 106, 33, 2, 3, 64, 32, 2, 40, 2, 0, 32, 4, 106, 33, 4, 32, 2, 65, 8, 106, 33, 2, 32, 5, 65, 120, 106, 34, 5, 13, 0, 11, 11, 2, 64, 2, 64, 32, 1, 65, 20, 106, 40, 2, 0, 69, 4, 64, 32, 4, 33, 2, 12, 1, 11, 32, 6, 4, 64, 65, 0, 33, 5, 65, 1, 33, 6, 32, 4, 65, 15, 77, 4, 64, 32, 7, 65, 4, 106, 40, 2, 0, 69, 13, 3, 11, 32, 4, 32, 4, 106, 34, 2, 32, 4, 79, 13, 1, 12, 2, 11, 65, 0, 65, 0, 65, 164, 227, 192, 0, 16, 146, 2, 0, 11, 32, 2, 65, 127, 74, 4, 64, 32, 2, 69, 4, 64, 65, 0, 33, 5, 65, 1, 33, 6, 12, 2, 11, 32, 2, 33, 5, 32, 2, 65, 1, 16, 87, 34, 6, 13, 1, 32, 2, 65, 1, 16, 138, 2, 0, 11, 16, 139, 2, 0, 11, 32, 0, 65, 0, 54, 2, 8, 32, 0, 32, 6, 54, 2, 0, 32, 0, 32, 5, 54, 2, 4, 32, 3, 32, 0, 54, 2, 4, 32, 3, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 3, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 3, 32, 1, 41, 2, 0, 55, 3, 8, 32, 3, 65, 4, 106, 65, 176, 226, 192, 0, 32, 3, 65, 8, 106, 16, 156, 2, 69, 4, 64, 32, 3, 65, 32, 106, 36, 0, 15, 11, 65, 196, 227, 192, 0, 65, 51, 32, 3, 65, 8, 106, 65, 180, 227, 192, 0, 65, 144, 228, 192, 0, 16, 162, 2, 0, 11, 241, 7, 1, 7, 127, 35, 0, 65, 64, 106, 34, 3, 36, 0, 32, 3, 65, 8, 106, 32, 1, 32, 2, 16, 145, 1, 32, 3, 32, 3, 40, 2, 8, 32, 3, 40, 2, 12, 16, 145, 1, 32, 3, 32, 3, 41, 3, 0, 55, 3, 16, 32, 3, 65, 32, 106, 32, 3, 65, 16, 106, 16, 197, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 3, 40, 2, 32, 34, 4, 69, 4, 64, 32, 0, 65, 180, 227, 192, 0, 54, 2, 4, 65, 0, 33, 2, 12, 1, 11, 32, 3, 40, 2, 36, 34, 1, 32, 2, 71, 13, 1, 32, 0, 32, 4, 54, 2, 4, 11, 32, 0, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 54, 2, 0, 12, 1, 11, 32, 2, 65, 127, 76, 13, 1, 32, 3, 65, 44, 106, 40, 2, 0, 33, 7, 2, 64, 2, 64, 2, 64, 2, 64, 32, 2, 69, 4, 64, 65, 0, 33, 2, 65, 1, 33, 5, 12, 1, 11, 32, 2, 65, 1, 16, 87, 34, 5, 69, 13, 1, 11, 2, 64, 32, 2, 32, 1, 79, 13, 0, 32, 2, 65, 1, 116, 34, 6, 32, 1, 32, 6, 32, 1, 75, 27, 34, 6, 65, 8, 32, 6, 65, 8, 75, 27, 33, 6, 2, 64, 32, 2, 69, 4, 64, 32, 3, 65, 0, 54, 2, 32, 12, 1, 11, 32, 3, 65, 40, 106, 65, 1, 54, 2, 0, 32, 3, 32, 2, 54, 2, 36, 32, 3, 32, 5, 54, 2, 32, 11, 32, 3, 65, 48, 106, 32, 6, 65, 1, 32, 3, 65, 32, 106, 16, 13, 32, 3, 65, 56, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 52, 33, 5, 32, 3, 40, 2, 48, 65, 1, 71, 13, 0, 32, 2, 69, 13, 5, 12, 6, 11, 32, 5, 32, 4, 32, 1, 16, 212, 2, 33, 6, 32, 7, 69, 4, 64, 32, 1, 33, 4, 12, 3, 11, 32, 2, 32, 1, 107, 65, 3, 79, 4, 64, 32, 1, 65, 3, 106, 33, 4, 12, 2, 11, 32, 1, 65, 3, 106, 34, 4, 32, 1, 73, 13, 4, 32, 2, 65, 1, 116, 34, 5, 32, 4, 32, 5, 32, 4, 75, 27, 34, 5, 65, 8, 32, 5, 65, 8, 75, 27, 33, 5, 2, 64, 32, 2, 69, 4, 64, 32, 3, 65, 0, 54, 2, 32, 12, 1, 11, 32, 3, 65, 40, 106, 65, 1, 54, 2, 0, 32, 3, 32, 2, 54, 2, 36, 32, 3, 32, 6, 54, 2, 32, 11, 32, 3, 65, 48, 106, 32, 5, 65, 1, 32, 3, 65, 32, 106, 16, 13, 32, 3, 65, 56, 106, 40, 2, 0, 33, 2, 32, 3, 40, 2, 52, 33, 5, 32, 3, 40, 2, 48, 65, 1, 71, 13, 1, 32, 2, 13, 5, 12, 4, 11, 32, 2, 65, 1, 16, 138, 2, 0, 11, 32, 1, 32, 5, 106, 34, 1, 65, 224, 228, 192, 0, 47, 0, 0, 59, 0, 0, 32, 1, 65, 2, 106, 65, 226, 228, 192, 0, 45, 0, 0, 58, 0, 0, 11, 32, 3, 32, 3, 41, 3, 16, 55, 3, 24, 32, 3, 65, 32, 106, 32, 3, 65, 24, 106, 16, 197, 2, 32, 3, 40, 2, 32, 34, 6, 4, 64, 3, 64, 32, 3, 40, 2, 44, 2, 64, 32, 2, 32, 4, 107, 32, 3, 40, 2, 36, 34, 7, 79, 4, 64, 32, 4, 32, 7, 106, 33, 1, 12, 1, 11, 32, 4, 32, 7, 106, 34, 1, 32, 4, 73, 13, 4, 32, 2, 65, 1, 116, 34, 8, 32, 1, 32, 8, 32, 1, 75, 27, 34, 8, 65, 8, 32, 8, 65, 8, 75, 27, 33, 8, 2, 64, 32, 2, 69, 4, 64, 32, 3, 65, 0, 54, 2, 32, 12, 1, 11, 32, 3, 65, 1, 54, 2, 40, 32, 3, 32, 2, 54, 2, 36, 32, 3, 32, 5, 54, 2, 32, 11, 32, 3, 65, 48, 106, 32, 8, 65, 1, 32, 3, 65, 32, 106, 16, 13, 32, 3, 40, 2, 52, 33, 5, 32, 3, 40, 2, 56, 33, 2, 32, 3, 40, 2, 48, 65, 1, 71, 13, 0, 32, 2, 13, 5, 12, 4, 11, 32, 4, 32, 5, 106, 32, 6, 32, 7, 16, 212, 2, 26, 4, 127, 2, 64, 32, 2, 32, 1, 107, 65, 2, 75, 13, 0, 32, 1, 65, 3, 106, 34, 4, 32, 1, 73, 13, 5, 32, 2, 65, 1, 116, 34, 7, 32, 4, 32, 7, 32, 4, 75, 27, 34, 4, 65, 8, 32, 4, 65, 8, 75, 27, 33, 4, 2, 64, 32, 2, 69, 4, 64, 32, 3, 65, 0, 54, 2, 32, 12, 1, 11, 32, 3, 65, 1, 54, 2, 40, 32, 3, 32, 2, 54, 2, 36, 32, 3, 32, 5, 54, 2, 32, 11, 32, 3, 65, 48, 106, 32, 4, 65, 1, 32, 3, 65, 32, 106, 16, 13, 32, 3, 40, 2, 52, 33, 5, 32, 3, 40, 2, 56, 33, 2, 32, 3, 40, 2, 48, 65, 1, 71, 13, 0, 32, 2, 13, 6, 12, 5, 11, 32, 1, 32, 5, 106, 34, 4, 65, 224, 228, 192, 0, 47, 0, 0, 59, 0, 0, 32, 4, 65, 2, 106, 65, 226, 228, 192, 0, 45, 0, 0, 58, 0, 0, 32, 1, 65, 3, 106, 5, 32, 1, 11, 33, 4, 32, 3, 65, 32, 106, 32, 3, 65, 24, 106, 16, 197, 2, 32, 3, 40, 2, 32, 34, 6, 13, 0, 11, 11, 32, 0, 65, 12, 106, 32, 4, 54, 2, 0, 32, 0, 65, 8, 106, 32, 2, 54, 2, 0, 32, 0, 32, 5, 54, 2, 4, 32, 0, 65, 1, 54, 2, 0, 11, 32, 3, 65, 64, 107, 36, 0, 15, 11, 16, 139, 2, 0, 11, 32, 5, 32, 2, 16, 138, 2, 0, 11, 106, 1, 3, 127, 2, 64, 32, 1, 40, 2, 8, 34, 2, 65, 127, 74, 4, 64, 32, 1, 40, 2, 0, 33, 4, 2, 64, 32, 2, 69, 4, 64, 65, 0, 33, 1, 65, 1, 33, 3, 12, 1, 11, 32, 2, 33, 1, 32, 2, 65, 1, 16, 87, 34, 3, 69, 13, 2, 11, 32, 3, 32, 4, 32, 2, 16, 212, 2, 33, 3, 32, 0, 32, 2, 54, 2, 8, 32, 0, 32, 1, 54, 2, 4, 32, 0, 32, 3, 54, 2, 0, 15, 11, 16, 139, 2, 0, 11, 32, 2, 65, 1, 16, 138, 2, 0, 11, 89, 1, 2, 127, 2, 64, 32, 2, 65, 127, 74, 4, 64, 2, 64, 32, 2, 69, 4, 64, 65, 1, 33, 3, 12, 1, 11, 32, 2, 33, 4, 32, 2, 65, 1, 16, 87, 34, 3, 69, 13, 2, 11, 32, 0, 32, 3, 54, 2, 0, 32, 0, 32, 4, 54, 2, 4, 32, 3, 32, 1, 32, 2, 16, 212, 2, 26, 32, 0, 32, 2, 54, 2, 8, 15, 11, 16, 139, 2, 0, 11, 32, 2, 65, 1, 16, 138, 2, 0, 11, 103, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 65, 227, 228, 192, 0, 65, 13, 16, 186, 2, 55, 3, 0, 32, 2, 32, 0, 54, 2, 12, 32, 2, 65, 240, 228, 192, 0, 65, 5, 32, 2, 65, 12, 106, 65, 248, 228, 192, 0, 16, 159, 2, 32, 2, 32, 0, 65, 12, 106, 54, 2, 12, 32, 2, 65, 136, 229, 192, 0, 65, 5, 32, 2, 65, 12, 106, 65, 144, 229, 192, 0, 16, 159, 2, 32, 2, 16, 166, 2, 32, 2, 65, 16, 106, 36, 0, 11, 14, 0, 32, 0, 40, 2, 0, 26, 3, 64, 12, 0, 11, 0, 11, 111, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 1, 54, 2, 4, 32, 3, 32, 0, 54, 2, 0, 32, 3, 65, 28, 106, 65, 2, 54, 2, 0, 32, 3, 65, 44, 106, 65, 210, 0, 54, 2, 0, 32, 3, 66, 2, 55, 2, 12, 32, 3, 65, 240, 231, 192, 0, 54, 2, 8, 32, 3, 65, 210, 0, 54, 2, 36, 32, 3, 32, 3, 65, 32, 106, 54, 2, 24, 32, 3, 32, 3, 54, 2, 40, 32, 3, 32, 3, 65, 4, 106, 54, 2, 32, 32, 3, 65, 8, 106, 32, 2, 16, 151, 2, 0, 11, 72, 1, 1, 127, 35, 0, 65, 32, 107, 34, 3, 36, 0, 32, 3, 65, 20, 106, 65, 0, 54, 2, 0, 32, 3, 65, 160, 229, 192, 0, 54, 2, 16, 32, 3, 66, 1, 55, 2, 4, 32, 3, 32, 1, 54, 2, 28, 32, 3, 32, 0, 54, 2, 24, 32, 3, 32, 3, 65, 24, 106, 54, 2, 0, 32, 3, 32, 2, 16, 151, 2, 0, 11, 111, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 1, 54, 2, 4, 32, 3, 32, 0, 54, 2, 0, 32, 3, 65, 28, 106, 65, 2, 54, 2, 0, 32, 3, 65, 44, 106, 65, 210, 0, 54, 2, 0, 32, 3, 66, 2, 55, 2, 12, 32, 3, 65, 252, 236, 192, 0, 54, 2, 8, 32, 3, 65, 210, 0, 54, 2, 36, 32, 3, 32, 3, 65, 32, 106, 54, 2, 24, 32, 3, 32, 3, 65, 4, 106, 54, 2, 40, 32, 3, 32, 3, 54, 2, 32, 32, 3, 65, 8, 106, 32, 2, 16, 151, 2, 0, 11, 152, 7, 1, 10, 127, 32, 0, 40, 2, 16, 33, 3, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 8, 34, 12, 65, 1, 70, 4, 64, 32, 3, 65, 1, 71, 13, 2, 12, 1, 11, 32, 3, 65, 1, 70, 13, 0, 12, 2, 11, 32, 1, 32, 2, 106, 33, 3, 2, 64, 2, 64, 32, 0, 65, 20, 106, 40, 2, 0, 34, 8, 69, 4, 64, 32, 1, 33, 4, 12, 1, 11, 32, 1, 33, 4, 3, 64, 32, 3, 32, 4, 34, 7, 70, 13, 2, 32, 7, 65, 1, 106, 33, 4, 2, 64, 32, 7, 44, 0, 0, 34, 6, 65, 127, 74, 13, 0, 32, 6, 65, 255, 1, 113, 33, 9, 2, 127, 32, 3, 32, 4, 70, 4, 64, 65, 0, 33, 10, 32, 3, 12, 1, 11, 32, 7, 45, 0, 1, 65, 63, 113, 33, 10, 32, 7, 65, 2, 106, 34, 4, 11, 33, 6, 32, 9, 65, 224, 1, 73, 13, 0, 2, 127, 32, 3, 32, 6, 70, 4, 64, 65, 0, 33, 11, 32, 3, 12, 1, 11, 32, 6, 45, 0, 0, 65, 63, 113, 33, 11, 32, 6, 65, 1, 106, 34, 4, 11, 33, 6, 32, 9, 65, 240, 1, 73, 13, 0, 32, 3, 32, 6, 70, 4, 127, 65, 0, 5, 32, 6, 65, 1, 106, 33, 4, 32, 6, 45, 0, 0, 65, 63, 113, 11, 32, 9, 65, 18, 116, 65, 128, 128, 240, 0, 113, 32, 10, 65, 12, 116, 114, 32, 11, 65, 6, 116, 114, 114, 65, 128, 128, 196, 0, 70, 13, 3, 11, 32, 4, 32, 7, 107, 32, 5, 106, 33, 5, 32, 8, 65, 127, 106, 34, 8, 13, 0, 11, 11, 32, 3, 32, 4, 70, 13, 0, 2, 64, 32, 4, 44, 0, 0, 34, 7, 65, 127, 74, 13, 0, 2, 127, 32, 3, 32, 4, 65, 1, 106, 70, 4, 64, 32, 3, 33, 8, 65, 0, 12, 1, 11, 32, 4, 65, 2, 106, 33, 8, 32, 4, 45, 0, 1, 65, 63, 113, 65, 6, 116, 11, 32, 7, 65, 255, 1, 113, 65, 224, 1, 73, 13, 0, 2, 127, 32, 3, 32, 8, 70, 4, 64, 32, 3, 33, 6, 65, 0, 12, 1, 11, 32, 8, 65, 1, 106, 33, 6, 32, 8, 45, 0, 0, 65, 63, 113, 11, 32, 7, 65, 255, 1, 113, 65, 240, 1, 73, 13, 0, 32, 7, 65, 255, 1, 113, 33, 7, 114, 33, 4, 32, 3, 32, 6, 70, 4, 127, 65, 0, 5, 32, 6, 45, 0, 0, 65, 63, 113, 11, 32, 7, 65, 18, 116, 65, 128, 128, 240, 0, 113, 32, 4, 65, 6, 116, 114, 114, 65, 128, 128, 196, 0, 70, 13, 1, 11, 2, 64, 32, 5, 69, 32, 2, 32, 5, 70, 114, 69, 4, 64, 65, 0, 33, 3, 32, 5, 32, 2, 79, 13, 1, 32, 1, 32, 5, 106, 44, 0, 0, 65, 64, 72, 13, 1, 11, 32, 1, 33, 3, 11, 32, 5, 32, 2, 32, 3, 27, 33, 2, 32, 3, 32, 1, 32, 3, 27, 33, 1, 11, 32, 12, 65, 1, 70, 13, 0, 12, 1, 11, 2, 64, 32, 2, 4, 64, 65, 0, 33, 4, 32, 2, 33, 5, 32, 1, 33, 3, 3, 64, 32, 4, 32, 3, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 106, 33, 4, 32, 3, 65, 1, 106, 33, 3, 32, 5, 65, 127, 106, 34, 5, 13, 0, 11, 32, 4, 32, 0, 40, 2, 12, 34, 6, 79, 13, 2, 65, 0, 33, 4, 32, 2, 33, 5, 32, 1, 33, 3, 3, 64, 32, 4, 32, 3, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 106, 33, 4, 32, 3, 65, 1, 106, 33, 3, 32, 5, 65, 127, 106, 34, 5, 13, 0, 11, 12, 1, 11, 65, 0, 33, 4, 32, 0, 40, 2, 12, 34, 6, 13, 0, 12, 1, 11, 65, 0, 33, 3, 32, 6, 32, 4, 107, 34, 4, 33, 5, 2, 64, 2, 64, 2, 64, 65, 0, 32, 0, 45, 0, 32, 34, 6, 32, 6, 65, 3, 70, 27, 65, 3, 113, 65, 1, 107, 14, 3, 1, 0, 1, 2, 11, 32, 4, 65, 1, 118, 33, 3, 32, 4, 65, 1, 106, 65, 1, 118, 33, 5, 12, 1, 11, 65, 0, 33, 5, 32, 4, 33, 3, 11, 32, 3, 65, 1, 106, 33, 3, 2, 127, 2, 64, 3, 64, 32, 3, 65, 127, 106, 34, 3, 4, 64, 32, 0, 40, 2, 24, 32, 0, 40, 2, 4, 32, 0, 40, 2, 28, 40, 2, 16, 17, 0, 0, 69, 13, 1, 12, 2, 11, 11, 32, 0, 40, 2, 4, 33, 4, 65, 1, 32, 0, 40, 2, 24, 32, 1, 32, 2, 32, 0, 40, 2, 28, 40, 2, 12, 17, 2, 0, 13, 1, 26, 32, 5, 65, 1, 106, 33, 3, 32, 0, 40, 2, 28, 33, 1, 32, 0, 40, 2, 24, 33, 0, 3, 64, 32, 3, 65, 127, 106, 34, 3, 69, 4, 64, 65, 0, 15, 11, 32, 0, 32, 4, 32, 1, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 11, 65, 1, 11, 15, 11, 32, 0, 40, 2, 24, 32, 1, 32, 2, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 181, 8, 1, 6, 127, 35, 0, 65, 240, 0, 107, 34, 5, 36, 0, 32, 5, 32, 3, 54, 2, 12, 32, 5, 32, 2, 54, 2, 8, 65, 1, 33, 6, 32, 1, 33, 7, 2, 64, 32, 1, 65, 129, 2, 73, 13, 0, 65, 0, 32, 1, 107, 33, 9, 65, 128, 2, 33, 8, 3, 64, 2, 64, 32, 8, 32, 1, 79, 13, 0, 65, 0, 33, 6, 32, 0, 32, 8, 106, 44, 0, 0, 65, 191, 127, 76, 13, 0, 32, 8, 33, 7, 12, 2, 11, 32, 8, 65, 127, 106, 33, 7, 65, 0, 33, 6, 32, 8, 65, 1, 70, 13, 1, 32, 8, 32, 9, 106, 32, 7, 33, 8, 65, 1, 71, 13, 0, 11, 11, 32, 5, 32, 7, 54, 2, 20, 32, 5, 32, 0, 54, 2, 16, 32, 5, 65, 0, 65, 5, 32, 6, 27, 54, 2, 28, 32, 5, 65, 160, 229, 192, 0, 65, 168, 241, 192, 0, 32, 6, 27, 54, 2, 24, 2, 64, 2, 127, 2, 64, 2, 64, 32, 2, 32, 1, 75, 34, 6, 32, 3, 32, 1, 75, 114, 69, 4, 64, 32, 2, 32, 3, 75, 13, 1, 2, 64, 32, 2, 69, 32, 1, 32, 2, 70, 114, 69, 4, 64, 32, 1, 32, 2, 77, 13, 1, 32, 0, 32, 2, 106, 44, 0, 0, 65, 64, 72, 13, 1, 11, 32, 3, 33, 2, 11, 32, 5, 32, 2, 54, 2, 32, 32, 2, 65, 0, 32, 1, 32, 2, 71, 27, 69, 4, 64, 32, 2, 33, 6, 12, 3, 11, 32, 1, 65, 1, 106, 33, 3, 3, 64, 2, 64, 32, 2, 32, 1, 79, 13, 0, 32, 0, 32, 2, 106, 44, 0, 0, 65, 64, 72, 13, 0, 32, 2, 33, 6, 32, 5, 65, 36, 106, 12, 5, 11, 32, 2, 65, 127, 106, 33, 6, 32, 2, 65, 1, 70, 13, 3, 32, 2, 32, 3, 70, 32, 6, 33, 2, 69, 13, 0, 11, 12, 2, 11, 32, 5, 32, 2, 32, 3, 32, 6, 27, 54, 2, 40, 32, 5, 65, 196, 0, 106, 65, 3, 54, 2, 0, 32, 5, 65, 220, 0, 106, 65, 239, 0, 54, 2, 0, 32, 5, 65, 212, 0, 106, 65, 239, 0, 54, 2, 0, 32, 5, 66, 3, 55, 2, 52, 32, 5, 65, 208, 241, 192, 0, 54, 2, 48, 32, 5, 65, 210, 0, 54, 2, 76, 32, 5, 32, 5, 65, 200, 0, 106, 54, 2, 64, 32, 5, 32, 5, 65, 24, 106, 54, 2, 88, 32, 5, 32, 5, 65, 16, 106, 54, 2, 80, 32, 5, 32, 5, 65, 40, 106, 54, 2, 72, 12, 3, 11, 32, 5, 65, 228, 0, 106, 65, 239, 0, 54, 2, 0, 32, 5, 65, 220, 0, 106, 65, 239, 0, 54, 2, 0, 32, 5, 65, 212, 0, 106, 65, 210, 0, 54, 2, 0, 32, 5, 65, 196, 0, 106, 65, 4, 54, 2, 0, 32, 5, 66, 4, 55, 2, 52, 32, 5, 65, 140, 242, 192, 0, 54, 2, 48, 32, 5, 65, 210, 0, 54, 2, 76, 32, 5, 32, 5, 65, 200, 0, 106, 54, 2, 64, 32, 5, 32, 5, 65, 24, 106, 54, 2, 96, 32, 5, 32, 5, 65, 16, 106, 54, 2, 88, 32, 5, 32, 5, 65, 12, 106, 54, 2, 80, 32, 5, 32, 5, 65, 8, 106, 54, 2, 72, 12, 2, 11, 32, 5, 65, 36, 106, 11, 33, 8, 2, 64, 32, 1, 32, 6, 70, 13, 0, 65, 1, 33, 3, 65, 0, 33, 9, 2, 64, 32, 0, 32, 6, 106, 34, 7, 44, 0, 0, 34, 2, 65, 0, 78, 4, 64, 32, 5, 32, 2, 65, 255, 1, 113, 54, 2, 36, 32, 5, 65, 40, 106, 33, 1, 12, 1, 11, 32, 0, 32, 1, 106, 34, 1, 33, 3, 32, 1, 32, 7, 65, 1, 106, 71, 4, 64, 32, 7, 45, 0, 1, 65, 63, 113, 33, 9, 32, 7, 65, 2, 106, 33, 3, 11, 32, 2, 65, 31, 113, 33, 10, 2, 64, 32, 2, 65, 255, 1, 113, 65, 224, 1, 73, 4, 64, 32, 9, 32, 10, 65, 6, 116, 114, 33, 2, 12, 1, 11, 65, 0, 33, 0, 32, 1, 33, 7, 32, 1, 32, 3, 71, 4, 127, 32, 3, 65, 1, 106, 33, 7, 32, 3, 45, 0, 0, 65, 63, 113, 5, 32, 0, 11, 32, 9, 65, 6, 116, 114, 33, 0, 32, 2, 65, 255, 1, 113, 65, 240, 1, 73, 4, 64, 32, 0, 32, 10, 65, 12, 116, 114, 33, 2, 12, 1, 11, 65, 0, 33, 2, 32, 1, 32, 7, 71, 4, 127, 32, 7, 45, 0, 0, 65, 63, 113, 5, 32, 2, 11, 32, 10, 65, 18, 116, 65, 128, 128, 240, 0, 113, 32, 0, 65, 6, 116, 114, 114, 34, 2, 65, 128, 128, 196, 0, 70, 13, 2, 11, 32, 5, 32, 2, 54, 2, 36, 65, 1, 33, 3, 32, 5, 65, 40, 106, 33, 1, 32, 2, 65, 128, 1, 73, 13, 0, 65, 2, 33, 3, 32, 2, 65, 128, 16, 73, 13, 0, 65, 3, 65, 4, 32, 2, 65, 128, 128, 4, 73, 27, 33, 3, 11, 32, 5, 32, 6, 54, 2, 40, 32, 5, 32, 3, 32, 6, 106, 54, 2, 44, 32, 5, 65, 196, 0, 106, 65, 5, 54, 2, 0, 32, 5, 65, 236, 0, 106, 65, 239, 0, 54, 2, 0, 32, 5, 65, 228, 0, 106, 65, 239, 0, 54, 2, 0, 32, 5, 65, 220, 0, 106, 65, 240, 0, 54, 2, 0, 32, 5, 65, 212, 0, 106, 65, 241, 0, 54, 2, 0, 32, 5, 66, 5, 55, 2, 52, 32, 5, 65, 224, 242, 192, 0, 54, 2, 48, 32, 5, 32, 1, 54, 2, 88, 32, 5, 32, 8, 54, 2, 80, 32, 5, 65, 210, 0, 54, 2, 76, 32, 5, 32, 5, 65, 200, 0, 106, 54, 2, 64, 32, 5, 32, 5, 65, 24, 106, 54, 2, 104, 32, 5, 32, 5, 65, 16, 106, 54, 2, 96, 32, 5, 32, 5, 65, 32, 106, 54, 2, 72, 12, 1, 11, 65, 228, 230, 192, 0, 65, 43, 32, 4, 16, 147, 2, 0, 11, 32, 5, 65, 48, 106, 32, 4, 16, 151, 2, 0, 11, 53, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 54, 2, 12, 32, 2, 32, 0, 54, 2, 8, 32, 2, 65, 172, 231, 192, 0, 54, 2, 4, 32, 2, 65, 160, 229, 192, 0, 54, 2, 0, 32, 2, 16, 232, 1, 0, 11, 111, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 1, 54, 2, 4, 32, 3, 32, 0, 54, 2, 0, 32, 3, 65, 28, 106, 65, 2, 54, 2, 0, 32, 3, 65, 44, 106, 65, 210, 0, 54, 2, 0, 32, 3, 66, 2, 55, 2, 12, 32, 3, 65, 176, 237, 192, 0, 54, 2, 8, 32, 3, 65, 210, 0, 54, 2, 36, 32, 3, 32, 3, 65, 32, 106, 54, 2, 24, 32, 3, 32, 3, 65, 4, 106, 54, 2, 40, 32, 3, 32, 3, 54, 2, 32, 32, 3, 65, 8, 106, 32, 2, 16, 151, 2, 0, 11, 111, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 1, 54, 2, 4, 32, 3, 32, 0, 54, 2, 0, 32, 3, 65, 28, 106, 65, 2, 54, 2, 0, 32, 3, 65, 44, 106, 65, 210, 0, 54, 2, 0, 32, 3, 66, 2, 55, 2, 12, 32, 3, 65, 220, 236, 192, 0, 54, 2, 8, 32, 3, 65, 210, 0, 54, 2, 36, 32, 3, 32, 3, 65, 32, 106, 54, 2, 24, 32, 3, 32, 3, 65, 4, 106, 54, 2, 40, 32, 3, 32, 3, 54, 2, 32, 32, 3, 65, 8, 106, 32, 2, 16, 151, 2, 0, 11, 96, 1, 1, 127, 65, 162, 229, 192, 0, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 45, 0, 0, 65, 1, 107, 14, 4, 1, 2, 3, 4, 0, 11, 32, 1, 65, 177, 230, 192, 0, 65, 38, 16, 149, 2, 15, 11, 32, 1, 65, 148, 230, 192, 0, 65, 29, 16, 149, 2, 15, 11, 32, 1, 65, 238, 229, 192, 0, 65, 38, 16, 149, 2, 15, 11, 65, 200, 229, 192, 0, 33, 2, 11, 32, 1, 32, 2, 65, 38, 16, 149, 2, 11, 12, 0, 32, 0, 53, 2, 0, 32, 1, 16, 202, 2, 11, 177, 5, 1, 9, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 65, 36, 106, 32, 1, 54, 2, 0, 32, 3, 65, 3, 58, 0, 40, 32, 3, 66, 128, 128, 128, 128, 128, 4, 55, 3, 8, 32, 3, 32, 0, 54, 2, 32, 32, 3, 65, 0, 54, 2, 24, 32, 3, 65, 0, 54, 2, 16, 2, 127, 2, 64, 2, 64, 2, 64, 32, 2, 40, 2, 8, 34, 4, 4, 64, 32, 2, 40, 2, 0, 33, 6, 32, 2, 40, 2, 4, 34, 7, 32, 2, 65, 12, 106, 40, 2, 0, 34, 5, 32, 5, 32, 7, 75, 27, 34, 5, 69, 13, 1, 32, 0, 32, 6, 40, 2, 0, 32, 6, 40, 2, 4, 32, 1, 40, 2, 12, 17, 2, 0, 13, 3, 32, 6, 65, 12, 106, 33, 0, 32, 2, 40, 2, 16, 33, 9, 32, 5, 33, 8, 3, 64, 32, 3, 32, 4, 65, 28, 106, 45, 0, 0, 58, 0, 40, 32, 3, 32, 4, 65, 4, 106, 41, 2, 0, 66, 32, 137, 55, 3, 8, 32, 4, 65, 24, 106, 40, 2, 0, 33, 1, 65, 0, 33, 10, 65, 0, 33, 2, 2, 64, 2, 64, 2, 64, 32, 4, 65, 20, 106, 40, 2, 0, 65, 1, 107, 14, 2, 0, 2, 1, 11, 32, 1, 65, 3, 116, 32, 9, 106, 34, 11, 40, 2, 4, 65, 242, 0, 71, 13, 1, 32, 11, 40, 2, 0, 40, 2, 0, 33, 1, 11, 65, 1, 33, 2, 11, 32, 3, 32, 1, 54, 2, 20, 32, 3, 32, 2, 54, 2, 16, 32, 4, 65, 16, 106, 40, 2, 0, 33, 2, 2, 64, 2, 64, 2, 64, 32, 4, 65, 12, 106, 40, 2, 0, 65, 1, 107, 14, 2, 0, 2, 1, 11, 32, 2, 65, 3, 116, 32, 9, 106, 34, 1, 40, 2, 4, 65, 242, 0, 71, 13, 1, 32, 1, 40, 2, 0, 40, 2, 0, 33, 2, 11, 65, 1, 33, 10, 11, 32, 3, 32, 2, 54, 2, 28, 32, 3, 32, 10, 54, 2, 24, 32, 9, 32, 4, 40, 2, 0, 65, 3, 116, 106, 34, 1, 40, 2, 0, 32, 3, 65, 8, 106, 32, 1, 40, 2, 4, 17, 0, 0, 13, 4, 32, 8, 65, 127, 106, 34, 8, 69, 13, 3, 32, 4, 65, 32, 106, 33, 4, 32, 0, 65, 124, 106, 33, 1, 32, 0, 40, 2, 0, 33, 2, 32, 0, 65, 8, 106, 33, 0, 32, 3, 40, 2, 32, 32, 1, 40, 2, 0, 32, 2, 32, 3, 40, 2, 36, 40, 2, 12, 17, 2, 0, 69, 13, 0, 11, 12, 3, 11, 32, 2, 40, 2, 0, 33, 6, 32, 2, 40, 2, 4, 34, 7, 32, 2, 65, 20, 106, 40, 2, 0, 34, 5, 32, 5, 32, 7, 75, 27, 34, 5, 69, 13, 0, 32, 2, 40, 2, 16, 33, 4, 32, 0, 32, 6, 40, 2, 0, 32, 6, 40, 2, 4, 32, 1, 40, 2, 12, 17, 2, 0, 13, 2, 32, 6, 65, 12, 106, 33, 0, 32, 5, 33, 2, 3, 64, 32, 4, 40, 2, 0, 32, 3, 65, 8, 106, 32, 4, 65, 4, 106, 40, 2, 0, 17, 0, 0, 13, 3, 32, 2, 65, 127, 106, 34, 2, 69, 13, 2, 32, 4, 65, 8, 106, 33, 4, 32, 0, 65, 124, 106, 33, 1, 32, 0, 40, 2, 0, 33, 8, 32, 0, 65, 8, 106, 33, 0, 32, 3, 40, 2, 32, 32, 1, 40, 2, 0, 32, 8, 32, 3, 40, 2, 36, 40, 2, 12, 17, 2, 0, 69, 13, 0, 11, 12, 2, 11, 65, 0, 33, 5, 11, 32, 7, 32, 5, 75, 4, 64, 32, 3, 40, 2, 32, 32, 6, 32, 5, 65, 3, 116, 106, 34, 0, 40, 2, 0, 32, 0, 40, 2, 4, 32, 3, 40, 2, 36, 40, 2, 12, 17, 2, 0, 13, 1, 11, 65, 0, 12, 1, 11, 65, 1, 11, 32, 3, 65, 48, 106, 36, 0, 11, 116, 1, 3, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 2, 64, 32, 0, 32, 1, 16, 158, 2, 13, 0, 32, 1, 65, 28, 106, 40, 2, 0, 33, 3, 32, 1, 40, 2, 24, 32, 2, 65, 28, 106, 65, 0, 54, 2, 0, 32, 2, 65, 160, 229, 192, 0, 54, 2, 24, 32, 2, 66, 1, 55, 2, 12, 32, 2, 65, 220, 230, 192, 0, 54, 2, 8, 32, 3, 32, 2, 65, 8, 106, 16, 156, 2, 13, 0, 32, 0, 65, 4, 106, 32, 1, 16, 158, 2, 32, 2, 65, 32, 106, 36, 0, 15, 11, 32, 2, 65, 32, 106, 36, 0, 65, 1, 11, 172, 2, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 4, 36, 0, 2, 64, 2, 64, 2, 127, 32, 1, 40, 2, 0, 34, 3, 65, 16, 113, 4, 64, 32, 0, 40, 2, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 4, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 3, 65, 48, 114, 32, 3, 65, 215, 0, 106, 32, 3, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 13, 2, 32, 1, 65, 172, 233, 192, 0, 65, 2, 32, 0, 32, 4, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 175, 2, 12, 1, 11, 32, 0, 40, 2, 0, 33, 2, 32, 3, 65, 32, 113, 4, 64, 65, 0, 33, 0, 3, 64, 32, 0, 32, 4, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 3, 65, 48, 114, 32, 3, 65, 55, 106, 32, 3, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 13, 3, 32, 1, 65, 172, 233, 192, 0, 65, 2, 32, 0, 32, 4, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 175, 2, 12, 1, 11, 32, 2, 173, 32, 1, 16, 202, 2, 11, 32, 4, 65, 128, 1, 106, 36, 0, 15, 11, 32, 2, 65, 128, 1, 65, 156, 233, 192, 0, 16, 153, 2, 0, 11, 32, 2, 65, 128, 1, 65, 156, 233, 192, 0, 16, 153, 2, 0, 11, 152, 3, 2, 4, 127, 2, 126, 35, 0, 65, 64, 106, 34, 5, 36, 0, 65, 1, 33, 7, 2, 64, 32, 0, 45, 0, 4, 13, 0, 32, 0, 45, 0, 5, 33, 8, 32, 0, 40, 2, 0, 34, 6, 45, 0, 0, 65, 4, 113, 4, 64, 32, 8, 69, 4, 64, 32, 6, 40, 2, 24, 65, 220, 232, 192, 0, 65, 3, 32, 6, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 2, 32, 0, 40, 2, 0, 33, 6, 11, 32, 5, 65, 1, 58, 0, 23, 32, 5, 65, 52, 106, 65, 160, 232, 192, 0, 54, 2, 0, 32, 5, 32, 6, 41, 2, 24, 55, 3, 8, 32, 5, 32, 5, 65, 23, 106, 54, 2, 16, 32, 6, 41, 2, 8, 33, 9, 32, 6, 41, 2, 16, 33, 10, 32, 5, 32, 6, 45, 0, 32, 58, 0, 56, 32, 5, 32, 10, 55, 3, 40, 32, 5, 32, 9, 55, 3, 32, 32, 5, 32, 6, 41, 2, 0, 55, 3, 24, 32, 5, 32, 5, 65, 8, 106, 54, 2, 48, 32, 5, 65, 8, 106, 32, 1, 32, 2, 16, 164, 2, 13, 1, 32, 5, 65, 8, 106, 65, 152, 231, 192, 0, 65, 2, 16, 164, 2, 13, 1, 32, 3, 32, 5, 65, 24, 106, 32, 4, 40, 2, 12, 17, 0, 0, 13, 1, 32, 5, 40, 2, 48, 65, 223, 232, 192, 0, 65, 2, 32, 5, 40, 2, 52, 40, 2, 12, 17, 2, 0, 33, 7, 12, 1, 11, 32, 6, 40, 2, 24, 65, 225, 232, 192, 0, 65, 227, 232, 192, 0, 32, 8, 27, 65, 2, 65, 3, 32, 8, 27, 32, 6, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 0, 32, 0, 40, 2, 0, 34, 6, 40, 2, 24, 32, 1, 32, 2, 32, 6, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 0, 32, 0, 40, 2, 0, 34, 1, 40, 2, 24, 65, 152, 231, 192, 0, 65, 2, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 0, 32, 3, 32, 0, 40, 2, 0, 32, 4, 40, 2, 12, 17, 0, 0, 33, 7, 11, 32, 0, 65, 1, 58, 0, 5, 32, 0, 32, 7, 58, 0, 4, 32, 5, 65, 64, 107, 36, 0, 11, 93, 1, 1, 127, 35, 0, 65, 48, 107, 34, 3, 36, 0, 32, 3, 32, 1, 54, 2, 12, 32, 3, 32, 0, 54, 2, 8, 32, 3, 65, 36, 106, 65, 1, 54, 2, 0, 32, 3, 66, 1, 55, 2, 20, 32, 3, 65, 144, 231, 192, 0, 54, 2, 16, 32, 3, 65, 239, 0, 54, 2, 44, 32, 3, 32, 3, 65, 40, 106, 54, 2, 32, 32, 3, 32, 3, 65, 8, 106, 54, 2, 40, 32, 3, 65, 16, 106, 32, 2, 16, 151, 2, 0, 11, 17, 0, 32, 1, 32, 0, 40, 2, 0, 32, 0, 40, 2, 4, 16, 149, 2, 11, 128, 1, 1, 1, 127, 35, 0, 65, 64, 106, 34, 5, 36, 0, 32, 5, 32, 1, 54, 2, 12, 32, 5, 32, 0, 54, 2, 8, 32, 5, 32, 3, 54, 2, 20, 32, 5, 32, 2, 54, 2, 16, 32, 5, 65, 44, 106, 65, 2, 54, 2, 0, 32, 5, 65, 60, 106, 65, 243, 0, 54, 2, 0, 32, 5, 66, 2, 55, 2, 28, 32, 5, 65, 156, 231, 192, 0, 54, 2, 24, 32, 5, 65, 239, 0, 54, 2, 52, 32, 5, 32, 5, 65, 48, 106, 54, 2, 40, 32, 5, 32, 5, 65, 16, 106, 54, 2, 56, 32, 5, 32, 5, 65, 8, 106, 54, 2, 48, 32, 5, 65, 24, 106, 32, 4, 16, 151, 2, 0, 11, 20, 0, 32, 0, 40, 2, 0, 32, 1, 32, 0, 40, 2, 4, 40, 2, 12, 17, 0, 0, 11, 159, 3, 1, 5, 127, 35, 0, 65, 16, 107, 34, 6, 36, 0, 2, 64, 2, 127, 32, 2, 4, 64, 3, 64, 2, 64, 32, 0, 40, 2, 8, 45, 0, 0, 69, 13, 0, 32, 0, 40, 2, 0, 65, 184, 232, 192, 0, 65, 4, 32, 0, 40, 2, 4, 40, 2, 12, 17, 2, 0, 69, 13, 0, 65, 1, 12, 3, 11, 65, 0, 33, 4, 32, 2, 33, 3, 2, 127, 3, 64, 2, 64, 32, 1, 32, 4, 106, 33, 5, 2, 64, 32, 3, 65, 7, 77, 4, 64, 32, 3, 69, 13, 2, 32, 2, 32, 4, 107, 33, 7, 65, 0, 33, 3, 3, 64, 32, 3, 32, 5, 106, 45, 0, 0, 65, 10, 70, 13, 2, 32, 7, 32, 3, 65, 1, 106, 34, 3, 71, 13, 0, 11, 12, 2, 11, 32, 6, 65, 8, 106, 32, 5, 32, 3, 16, 165, 2, 32, 6, 40, 2, 8, 65, 1, 71, 13, 1, 32, 6, 40, 2, 12, 33, 3, 11, 32, 3, 32, 4, 106, 34, 3, 65, 1, 106, 33, 4, 2, 64, 32, 3, 32, 2, 79, 13, 0, 32, 1, 32, 3, 106, 45, 0, 0, 65, 10, 71, 13, 0, 65, 1, 12, 3, 11, 32, 2, 32, 4, 107, 33, 3, 32, 2, 32, 4, 79, 13, 1, 11, 11, 32, 2, 33, 4, 65, 0, 11, 33, 3, 32, 0, 40, 2, 8, 32, 3, 58, 0, 0, 32, 0, 40, 2, 4, 33, 3, 32, 0, 40, 2, 0, 33, 5, 2, 64, 2, 64, 32, 2, 32, 4, 71, 4, 64, 32, 2, 32, 4, 75, 4, 64, 32, 1, 32, 4, 106, 34, 7, 44, 0, 0, 65, 191, 127, 74, 13, 2, 11, 32, 1, 32, 2, 65, 0, 32, 4, 65, 188, 232, 192, 0, 16, 150, 2, 0, 11, 32, 5, 32, 1, 32, 4, 32, 3, 40, 2, 12, 17, 2, 0, 69, 13, 1, 65, 1, 12, 4, 11, 65, 1, 32, 5, 32, 1, 32, 4, 32, 3, 40, 2, 12, 17, 2, 0, 13, 3, 26, 32, 7, 44, 0, 0, 65, 191, 127, 76, 13, 4, 11, 32, 1, 32, 4, 106, 33, 1, 32, 2, 32, 4, 107, 34, 2, 13, 0, 11, 11, 65, 0, 11, 32, 6, 65, 16, 106, 36, 0, 15, 11, 32, 1, 32, 2, 32, 4, 32, 2, 65, 204, 232, 192, 0, 16, 150, 2, 0, 11, 187, 2, 1, 4, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 65, 3, 106, 65, 124, 113, 32, 1, 107, 34, 3, 69, 13, 0, 32, 2, 32, 3, 32, 3, 32, 2, 75, 27, 34, 4, 69, 13, 0, 65, 0, 33, 3, 2, 64, 3, 64, 32, 1, 32, 3, 106, 45, 0, 0, 65, 10, 70, 13, 1, 32, 4, 32, 3, 65, 1, 106, 34, 3, 71, 13, 0, 11, 32, 4, 32, 2, 65, 120, 106, 34, 3, 77, 13, 2, 12, 3, 11, 65, 1, 33, 1, 12, 3, 11, 32, 2, 65, 120, 106, 33, 3, 65, 0, 33, 4, 11, 3, 64, 32, 1, 32, 4, 106, 34, 5, 65, 4, 106, 40, 2, 0, 65, 138, 148, 168, 208, 0, 115, 34, 6, 65, 127, 115, 32, 6, 65, 255, 253, 251, 119, 106, 113, 32, 5, 40, 2, 0, 65, 138, 148, 168, 208, 0, 115, 34, 5, 65, 127, 115, 32, 5, 65, 255, 253, 251, 119, 106, 113, 114, 65, 128, 129, 130, 132, 120, 113, 69, 4, 64, 32, 4, 65, 8, 106, 34, 4, 32, 3, 77, 13, 1, 11, 11, 32, 4, 32, 2, 75, 13, 2, 11, 65, 0, 33, 3, 2, 127, 65, 0, 32, 2, 32, 4, 70, 13, 0, 26, 32, 1, 32, 4, 106, 33, 5, 32, 2, 32, 4, 107, 33, 1, 3, 64, 65, 1, 32, 3, 32, 5, 106, 45, 0, 0, 65, 10, 70, 13, 1, 26, 32, 1, 32, 3, 65, 1, 106, 34, 3, 71, 13, 0, 11, 32, 1, 33, 3, 65, 0, 11, 33, 1, 32, 3, 32, 4, 106, 33, 3, 11, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 1, 54, 2, 0, 15, 11, 32, 4, 32, 2, 65, 152, 236, 192, 0, 16, 153, 2, 0, 11, 119, 1, 2, 127, 32, 0, 45, 0, 4, 33, 1, 32, 0, 45, 0, 5, 4, 64, 32, 1, 65, 255, 1, 113, 33, 2, 32, 0, 2, 127, 65, 1, 32, 2, 13, 0, 26, 32, 0, 40, 2, 0, 34, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 33, 2, 32, 1, 40, 2, 24, 33, 0, 32, 1, 45, 0, 0, 65, 4, 113, 4, 64, 32, 0, 65, 230, 232, 192, 0, 65, 1, 32, 2, 17, 2, 0, 12, 1, 11, 32, 0, 65, 231, 232, 192, 0, 65, 2, 32, 2, 17, 2, 0, 11, 34, 1, 58, 0, 4, 11, 32, 1, 65, 255, 1, 113, 65, 0, 71, 11, 194, 2, 2, 3, 127, 2, 126, 35, 0, 65, 64, 106, 34, 3, 36, 0, 32, 0, 2, 127, 65, 1, 32, 0, 45, 0, 8, 13, 0, 26, 32, 0, 40, 2, 4, 33, 5, 32, 0, 40, 2, 0, 34, 4, 45, 0, 0, 65, 4, 113, 4, 64, 32, 5, 69, 4, 64, 65, 1, 32, 4, 40, 2, 24, 65, 233, 232, 192, 0, 65, 2, 32, 4, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 2, 26, 32, 0, 40, 2, 0, 33, 4, 11, 32, 3, 65, 1, 58, 0, 23, 32, 3, 65, 52, 106, 65, 160, 232, 192, 0, 54, 2, 0, 32, 3, 32, 4, 41, 2, 24, 55, 3, 8, 32, 3, 32, 3, 65, 23, 106, 54, 2, 16, 32, 4, 41, 2, 8, 33, 6, 32, 4, 41, 2, 16, 33, 7, 32, 3, 32, 4, 45, 0, 32, 58, 0, 56, 32, 3, 32, 7, 55, 3, 40, 32, 3, 32, 6, 55, 3, 32, 32, 3, 32, 4, 41, 2, 0, 55, 3, 24, 32, 3, 32, 3, 65, 8, 106, 54, 2, 48, 65, 1, 32, 1, 32, 3, 65, 24, 106, 32, 2, 40, 2, 12, 17, 0, 0, 13, 1, 26, 32, 3, 40, 2, 48, 65, 223, 232, 192, 0, 65, 2, 32, 3, 40, 2, 52, 40, 2, 12, 17, 2, 0, 12, 1, 11, 65, 1, 32, 4, 40, 2, 24, 65, 225, 232, 192, 0, 65, 235, 232, 192, 0, 32, 5, 27, 65, 2, 65, 1, 32, 5, 27, 32, 4, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 0, 26, 32, 1, 32, 0, 40, 2, 0, 32, 2, 40, 2, 12, 17, 0, 0, 11, 58, 0, 8, 32, 0, 32, 0, 40, 2, 4, 65, 1, 106, 54, 2, 4, 32, 3, 65, 64, 107, 36, 0, 11, 150, 1, 1, 2, 127, 32, 0, 45, 0, 8, 33, 1, 32, 0, 40, 2, 4, 34, 2, 4, 64, 32, 1, 65, 255, 1, 113, 33, 1, 32, 0, 2, 127, 65, 1, 32, 1, 13, 0, 26, 2, 64, 32, 2, 65, 1, 71, 13, 0, 32, 0, 45, 0, 9, 69, 13, 0, 32, 0, 40, 2, 0, 34, 2, 45, 0, 0, 65, 4, 113, 13, 0, 65, 1, 32, 2, 40, 2, 24, 65, 236, 232, 192, 0, 65, 1, 32, 2, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 26, 11, 32, 0, 40, 2, 0, 34, 1, 40, 2, 24, 65, 237, 232, 192, 0, 65, 1, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 34, 1, 58, 0, 8, 11, 32, 1, 65, 255, 1, 113, 65, 0, 71, 11, 187, 2, 2, 3, 127, 2, 126, 35, 0, 65, 64, 106, 34, 3, 36, 0, 2, 127, 65, 1, 32, 0, 45, 0, 4, 13, 0, 26, 32, 0, 45, 0, 5, 33, 5, 32, 0, 40, 2, 0, 34, 4, 45, 0, 0, 65, 4, 113, 4, 64, 32, 5, 69, 4, 64, 65, 1, 32, 4, 40, 2, 24, 65, 238, 232, 192, 0, 65, 1, 32, 4, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 2, 26, 32, 0, 40, 2, 0, 33, 4, 11, 32, 3, 65, 1, 58, 0, 23, 32, 3, 65, 52, 106, 65, 160, 232, 192, 0, 54, 2, 0, 32, 3, 32, 4, 41, 2, 24, 55, 3, 8, 32, 3, 32, 3, 65, 23, 106, 54, 2, 16, 32, 4, 41, 2, 8, 33, 6, 32, 4, 41, 2, 16, 33, 7, 32, 3, 32, 4, 45, 0, 32, 58, 0, 56, 32, 3, 32, 7, 55, 3, 40, 32, 3, 32, 6, 55, 3, 32, 32, 3, 32, 4, 41, 2, 0, 55, 3, 24, 32, 3, 32, 3, 65, 8, 106, 54, 2, 48, 65, 1, 32, 1, 32, 3, 65, 24, 106, 32, 2, 40, 2, 12, 17, 0, 0, 13, 1, 26, 32, 3, 40, 2, 48, 65, 223, 232, 192, 0, 65, 2, 32, 3, 40, 2, 52, 40, 2, 12, 17, 2, 0, 12, 1, 11, 32, 1, 32, 5, 4, 127, 65, 1, 32, 4, 40, 2, 24, 65, 225, 232, 192, 0, 65, 2, 32, 4, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 26, 32, 0, 40, 2, 0, 5, 32, 4, 11, 32, 2, 40, 2, 12, 17, 0, 0, 11, 33, 5, 32, 0, 65, 1, 58, 0, 5, 32, 0, 32, 5, 58, 0, 4, 32, 3, 65, 64, 107, 36, 0, 11, 11, 0, 32, 0, 32, 1, 32, 2, 16, 169, 2, 11, 50, 1, 1, 127, 65, 1, 33, 1, 32, 0, 45, 0, 4, 4, 127, 32, 1, 5, 32, 0, 40, 2, 0, 34, 0, 40, 2, 24, 65, 128, 233, 192, 0, 65, 1, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 11, 221, 6, 2, 3, 127, 2, 126, 32, 2, 40, 2, 0, 34, 3, 65, 19, 74, 4, 64, 2, 64, 32, 1, 2, 127, 32, 0, 66, 128, 128, 132, 254, 166, 222, 225, 17, 90, 4, 64, 32, 2, 32, 3, 65, 112, 106, 34, 3, 54, 2, 0, 32, 1, 32, 3, 106, 32, 0, 32, 0, 66, 128, 128, 132, 254, 166, 222, 225, 17, 128, 34, 0, 66, 128, 128, 132, 254, 166, 222, 225, 17, 126, 125, 34, 6, 66, 128, 128, 233, 131, 177, 222, 22, 128, 167, 65, 255, 1, 113, 65, 228, 0, 112, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 2, 40, 2, 0, 32, 1, 106, 65, 2, 106, 32, 6, 66, 128, 160, 148, 165, 141, 29, 128, 167, 65, 255, 255, 3, 113, 65, 228, 0, 112, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 2, 40, 2, 0, 32, 1, 106, 65, 4, 106, 32, 6, 66, 128, 200, 175, 160, 37, 128, 167, 65, 228, 0, 112, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 2, 40, 2, 0, 32, 1, 106, 65, 6, 106, 32, 6, 66, 128, 194, 215, 47, 128, 167, 65, 228, 0, 112, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 2, 40, 2, 0, 32, 1, 106, 65, 8, 106, 32, 6, 66, 192, 132, 61, 128, 66, 228, 0, 130, 167, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 2, 40, 2, 0, 32, 1, 106, 65, 10, 106, 32, 6, 66, 144, 206, 0, 128, 66, 228, 0, 130, 167, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 2, 40, 2, 0, 32, 1, 106, 65, 12, 106, 32, 6, 66, 228, 0, 128, 34, 7, 66, 228, 0, 130, 167, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 6, 32, 7, 66, 228, 0, 126, 125, 167, 33, 3, 65, 14, 12, 1, 11, 32, 0, 66, 128, 194, 215, 47, 84, 13, 1, 32, 2, 32, 3, 65, 120, 106, 34, 3, 54, 2, 0, 32, 1, 32, 3, 106, 32, 0, 32, 0, 66, 128, 194, 215, 47, 128, 34, 0, 66, 128, 194, 215, 47, 126, 125, 167, 34, 3, 65, 192, 132, 61, 110, 65, 255, 1, 113, 65, 228, 0, 112, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 2, 40, 2, 0, 32, 1, 106, 65, 2, 106, 32, 3, 65, 144, 206, 0, 110, 65, 255, 255, 3, 113, 65, 228, 0, 112, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 2, 40, 2, 0, 32, 1, 106, 65, 4, 106, 32, 3, 65, 228, 0, 110, 34, 4, 65, 228, 0, 112, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 3, 32, 4, 65, 228, 0, 108, 107, 33, 3, 65, 6, 11, 32, 2, 40, 2, 0, 106, 106, 32, 3, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 11, 32, 0, 167, 34, 3, 65, 144, 206, 0, 79, 4, 64, 32, 2, 32, 2, 40, 2, 0, 65, 124, 106, 34, 4, 54, 2, 0, 32, 1, 32, 4, 106, 32, 3, 32, 3, 65, 144, 206, 0, 110, 34, 3, 65, 144, 206, 0, 108, 107, 34, 4, 65, 255, 255, 3, 113, 65, 228, 0, 110, 34, 5, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 2, 40, 2, 0, 32, 1, 106, 65, 2, 106, 32, 4, 32, 5, 65, 228, 0, 108, 107, 65, 255, 255, 3, 113, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 11, 32, 3, 65, 255, 255, 3, 113, 34, 4, 65, 228, 0, 79, 4, 64, 32, 2, 32, 2, 40, 2, 0, 65, 126, 106, 34, 5, 54, 2, 0, 32, 1, 32, 5, 106, 32, 3, 32, 4, 65, 228, 0, 110, 34, 3, 65, 228, 0, 108, 107, 65, 255, 255, 3, 113, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 11, 32, 3, 65, 255, 255, 3, 113, 65, 9, 77, 4, 64, 32, 2, 32, 2, 40, 2, 0, 65, 127, 106, 34, 2, 54, 2, 0, 32, 1, 32, 2, 106, 32, 3, 65, 48, 106, 58, 0, 0, 15, 11, 32, 2, 32, 2, 40, 2, 0, 65, 126, 106, 34, 2, 54, 2, 0, 32, 1, 32, 2, 106, 32, 3, 65, 255, 255, 3, 113, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 15, 11, 65, 246, 234, 192, 0, 65, 28, 65, 148, 235, 192, 0, 16, 147, 2, 0, 11, 20, 0, 32, 0, 41, 3, 0, 32, 0, 65, 8, 106, 41, 3, 0, 32, 1, 16, 174, 2, 11, 129, 4, 2, 1, 127, 2, 126, 35, 0, 65, 144, 1, 107, 34, 3, 36, 0, 32, 3, 65, 39, 54, 2, 140, 1, 32, 3, 65, 16, 106, 2, 126, 32, 1, 66, 255, 255, 31, 88, 4, 64, 32, 1, 66, 45, 134, 32, 0, 66, 19, 136, 132, 66, 189, 162, 130, 163, 142, 171, 4, 128, 12, 1, 11, 32, 3, 65, 48, 106, 32, 0, 66, 0, 66, 243, 178, 216, 193, 158, 158, 189, 204, 149, 127, 66, 0, 16, 215, 2, 32, 3, 65, 32, 106, 32, 0, 66, 0, 66, 210, 225, 170, 218, 237, 167, 201, 135, 246, 0, 66, 0, 16, 215, 2, 32, 3, 65, 208, 0, 106, 32, 1, 66, 0, 66, 243, 178, 216, 193, 158, 158, 189, 204, 149, 127, 66, 0, 16, 215, 2, 32, 3, 65, 64, 107, 32, 1, 66, 0, 66, 210, 225, 170, 218, 237, 167, 201, 135, 246, 0, 66, 0, 16, 215, 2, 32, 3, 65, 200, 0, 106, 41, 3, 0, 32, 3, 65, 40, 106, 41, 3, 0, 32, 3, 65, 56, 106, 41, 3, 0, 34, 4, 32, 3, 41, 3, 32, 124, 34, 1, 32, 4, 84, 173, 124, 34, 5, 32, 3, 41, 3, 64, 124, 34, 4, 32, 5, 84, 173, 124, 32, 4, 32, 3, 65, 216, 0, 106, 41, 3, 0, 32, 1, 32, 3, 41, 3, 80, 124, 32, 1, 84, 173, 124, 124, 34, 1, 32, 4, 84, 173, 124, 34, 5, 66, 62, 136, 33, 4, 32, 5, 66, 2, 134, 32, 1, 66, 62, 136, 132, 11, 34, 1, 32, 4, 66, 128, 128, 224, 176, 183, 159, 183, 156, 245, 0, 66, 127, 16, 215, 2, 32, 3, 41, 3, 16, 32, 0, 124, 32, 3, 65, 229, 0, 106, 32, 3, 65, 140, 1, 106, 16, 172, 2, 2, 64, 32, 1, 32, 4, 132, 80, 13, 0, 32, 3, 65, 249, 0, 106, 65, 48, 32, 3, 40, 2, 140, 1, 65, 108, 106, 16, 213, 2, 26, 32, 3, 65, 20, 54, 2, 140, 1, 32, 3, 32, 4, 66, 45, 134, 32, 1, 66, 19, 136, 132, 34, 0, 66, 189, 162, 130, 163, 142, 171, 4, 128, 34, 4, 32, 1, 66, 128, 128, 224, 176, 183, 159, 183, 156, 245, 0, 66, 127, 16, 215, 2, 32, 3, 41, 3, 0, 32, 1, 124, 32, 3, 65, 229, 0, 106, 32, 3, 65, 140, 1, 106, 16, 172, 2, 32, 0, 66, 189, 162, 130, 163, 142, 171, 4, 84, 13, 0, 32, 3, 65, 230, 0, 106, 65, 48, 32, 3, 40, 2, 140, 1, 65, 127, 106, 16, 213, 2, 26, 32, 3, 32, 4, 167, 65, 48, 114, 58, 0, 101, 32, 3, 65, 0, 54, 2, 140, 1, 11, 32, 2, 65, 160, 229, 192, 0, 65, 0, 32, 3, 40, 2, 140, 1, 34, 2, 32, 3, 65, 229, 0, 106, 106, 65, 39, 32, 2, 107, 16, 175, 2, 32, 3, 65, 144, 1, 106, 36, 0, 11, 178, 5, 1, 7, 127, 65, 43, 65, 128, 128, 196, 0, 32, 0, 40, 2, 0, 34, 9, 65, 1, 113, 34, 5, 27, 33, 10, 32, 4, 32, 5, 106, 33, 8, 2, 64, 32, 9, 65, 4, 113, 69, 4, 64, 65, 0, 33, 1, 12, 1, 11, 32, 2, 4, 64, 32, 2, 33, 6, 32, 1, 33, 5, 3, 64, 32, 7, 32, 5, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 106, 33, 7, 32, 5, 65, 1, 106, 33, 5, 32, 6, 65, 127, 106, 34, 6, 13, 0, 11, 11, 32, 7, 32, 8, 106, 33, 8, 11, 2, 64, 2, 64, 32, 0, 40, 2, 8, 65, 1, 71, 4, 64, 32, 0, 32, 10, 32, 1, 32, 2, 16, 182, 2, 13, 1, 12, 2, 11, 32, 0, 65, 12, 106, 40, 2, 0, 34, 6, 32, 8, 77, 4, 64, 32, 0, 32, 10, 32, 1, 32, 2, 16, 182, 2, 13, 1, 12, 2, 11, 2, 64, 2, 64, 2, 64, 2, 64, 32, 9, 65, 8, 113, 4, 64, 32, 0, 40, 2, 4, 33, 9, 32, 0, 65, 48, 54, 2, 4, 32, 0, 45, 0, 32, 33, 11, 32, 0, 65, 1, 58, 0, 32, 32, 0, 32, 10, 32, 1, 32, 2, 16, 182, 2, 13, 5, 65, 0, 33, 5, 32, 6, 32, 8, 107, 34, 2, 33, 1, 65, 1, 32, 0, 45, 0, 32, 34, 6, 32, 6, 65, 3, 70, 27, 65, 3, 113, 65, 1, 107, 14, 3, 2, 1, 2, 3, 11, 65, 0, 33, 5, 32, 6, 32, 8, 107, 34, 6, 33, 8, 2, 64, 2, 64, 2, 64, 65, 1, 32, 0, 45, 0, 32, 34, 7, 32, 7, 65, 3, 70, 27, 65, 3, 113, 65, 1, 107, 14, 3, 1, 0, 1, 2, 11, 32, 6, 65, 1, 118, 33, 5, 32, 6, 65, 1, 106, 65, 1, 118, 33, 8, 12, 1, 11, 65, 0, 33, 8, 32, 6, 33, 5, 11, 32, 5, 65, 1, 106, 33, 5, 3, 64, 32, 5, 65, 127, 106, 34, 5, 69, 13, 4, 32, 0, 40, 2, 24, 32, 0, 40, 2, 4, 32, 0, 40, 2, 28, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 65, 1, 15, 11, 32, 2, 65, 1, 118, 33, 5, 32, 2, 65, 1, 106, 65, 1, 118, 33, 1, 12, 1, 11, 65, 0, 33, 1, 32, 2, 33, 5, 11, 32, 5, 65, 1, 106, 33, 5, 2, 64, 3, 64, 32, 5, 65, 127, 106, 34, 5, 69, 13, 1, 32, 0, 40, 2, 24, 32, 0, 40, 2, 4, 32, 0, 40, 2, 28, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 65, 1, 15, 11, 32, 0, 40, 2, 4, 33, 2, 32, 0, 40, 2, 24, 32, 3, 32, 4, 32, 0, 40, 2, 28, 40, 2, 12, 17, 2, 0, 13, 1, 32, 1, 65, 1, 106, 33, 7, 32, 0, 40, 2, 28, 33, 1, 32, 0, 40, 2, 24, 33, 3, 3, 64, 32, 7, 65, 127, 106, 34, 7, 4, 64, 32, 3, 32, 2, 32, 1, 40, 2, 16, 17, 0, 0, 69, 13, 1, 12, 3, 11, 11, 32, 0, 32, 11, 58, 0, 32, 32, 0, 32, 9, 54, 2, 4, 65, 0, 15, 11, 32, 0, 40, 2, 4, 33, 5, 32, 0, 32, 10, 32, 1, 32, 2, 16, 182, 2, 13, 0, 32, 0, 40, 2, 24, 32, 3, 32, 4, 32, 0, 40, 2, 28, 40, 2, 12, 17, 2, 0, 13, 0, 32, 8, 65, 1, 106, 33, 7, 32, 0, 40, 2, 28, 33, 1, 32, 0, 40, 2, 24, 33, 0, 3, 64, 32, 7, 65, 127, 106, 34, 7, 69, 4, 64, 65, 0, 15, 11, 32, 0, 32, 5, 32, 1, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 11, 65, 1, 15, 11, 32, 0, 40, 2, 24, 32, 3, 32, 4, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 250, 1, 1, 2, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 65, 0, 54, 2, 12, 2, 127, 2, 64, 2, 64, 32, 1, 65, 128, 1, 79, 4, 64, 32, 1, 65, 128, 16, 73, 13, 1, 32, 2, 65, 12, 106, 33, 3, 32, 1, 65, 128, 128, 4, 79, 13, 2, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 3, 12, 3, 11, 32, 2, 32, 1, 58, 0, 12, 32, 2, 65, 12, 106, 33, 3, 65, 1, 12, 2, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 12, 32, 2, 65, 12, 106, 33, 3, 65, 2, 12, 1, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 15, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 4, 11, 33, 1, 32, 0, 32, 3, 32, 1, 16, 164, 2, 32, 2, 65, 16, 106, 36, 0, 11, 87, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 164, 235, 192, 0, 32, 2, 65, 8, 106, 16, 156, 2, 32, 2, 65, 32, 106, 36, 0, 11, 14, 0, 32, 0, 40, 2, 0, 32, 1, 32, 2, 16, 164, 2, 11, 253, 1, 1, 2, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 0, 40, 2, 0, 32, 2, 65, 0, 54, 2, 12, 2, 127, 2, 64, 2, 64, 32, 1, 65, 128, 1, 79, 4, 64, 32, 1, 65, 128, 16, 73, 13, 1, 32, 2, 65, 12, 106, 33, 0, 32, 1, 65, 128, 128, 4, 79, 13, 2, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 224, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 3, 12, 3, 11, 32, 2, 32, 1, 58, 0, 12, 32, 2, 65, 12, 106, 33, 0, 65, 1, 12, 2, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 32, 2, 32, 1, 65, 6, 118, 65, 192, 1, 114, 58, 0, 12, 32, 2, 65, 12, 106, 33, 0, 65, 2, 12, 1, 11, 32, 2, 32, 1, 65, 63, 113, 65, 128, 1, 114, 58, 0, 15, 32, 2, 32, 1, 65, 18, 118, 65, 240, 1, 114, 58, 0, 12, 32, 2, 32, 1, 65, 6, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 14, 32, 2, 32, 1, 65, 12, 118, 65, 63, 113, 65, 128, 1, 114, 58, 0, 13, 65, 4, 11, 33, 1, 32, 0, 32, 1, 16, 164, 2, 32, 2, 65, 16, 106, 36, 0, 11, 90, 1, 1, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 2, 32, 0, 40, 2, 0, 54, 2, 4, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 2, 65, 4, 106, 65, 164, 235, 192, 0, 32, 2, 65, 8, 106, 16, 156, 2, 32, 2, 65, 32, 106, 36, 0, 11, 87, 1, 2, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 1, 65, 28, 106, 40, 2, 0, 33, 3, 32, 1, 40, 2, 24, 32, 2, 65, 24, 106, 32, 0, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 0, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 0, 41, 2, 0, 55, 3, 8, 32, 3, 32, 2, 65, 8, 106, 16, 156, 2, 32, 2, 65, 32, 106, 36, 0, 11, 74, 0, 2, 127, 32, 1, 65, 128, 128, 196, 0, 71, 4, 64, 65, 1, 32, 0, 40, 2, 24, 32, 1, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 16, 17, 0, 0, 13, 1, 26, 11, 32, 2, 69, 4, 64, 65, 0, 15, 11, 32, 0, 40, 2, 24, 32, 2, 32, 3, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 11, 87, 1, 2, 127, 35, 0, 65, 32, 107, 34, 2, 36, 0, 32, 0, 65, 28, 106, 40, 2, 0, 33, 3, 32, 0, 40, 2, 24, 32, 2, 65, 24, 106, 32, 1, 65, 16, 106, 41, 2, 0, 55, 3, 0, 32, 2, 65, 16, 106, 32, 1, 65, 8, 106, 41, 2, 0, 55, 3, 0, 32, 2, 32, 1, 41, 2, 0, 55, 3, 8, 32, 3, 32, 2, 65, 8, 106, 16, 156, 2, 32, 2, 65, 32, 106, 36, 0, 11, 13, 0, 32, 0, 45, 0, 0, 65, 16, 113, 65, 4, 118, 11, 13, 0, 32, 0, 45, 0, 0, 65, 32, 113, 65, 5, 118, 11, 38, 0, 32, 0, 173, 66, 128, 128, 128, 128, 16, 66, 0, 32, 0, 40, 2, 24, 32, 1, 32, 2, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 27, 132, 11, 52, 0, 32, 0, 32, 1, 40, 2, 24, 32, 2, 32, 3, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 58, 0, 8, 32, 0, 32, 1, 54, 2, 0, 32, 0, 32, 3, 69, 58, 0, 9, 32, 0, 65, 0, 54, 2, 4, 11, 41, 0, 32, 0, 173, 66, 128, 128, 128, 128, 16, 66, 0, 32, 0, 40, 2, 24, 65, 239, 232, 192, 0, 65, 1, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 27, 132, 11, 157, 8, 2, 11, 127, 1, 126, 65, 1, 33, 9, 2, 64, 2, 64, 32, 2, 40, 2, 24, 65, 34, 32, 2, 65, 28, 106, 40, 2, 0, 40, 2, 16, 17, 0, 0, 13, 0, 2, 64, 32, 1, 69, 4, 64, 12, 1, 11, 32, 0, 32, 1, 106, 33, 10, 32, 0, 34, 6, 33, 12, 3, 64, 2, 64, 32, 6, 65, 1, 106, 33, 5, 2, 64, 2, 64, 32, 6, 44, 0, 0, 34, 7, 65, 0, 78, 4, 64, 32, 7, 65, 255, 1, 113, 33, 4, 12, 1, 11, 2, 127, 32, 5, 32, 10, 70, 4, 64, 65, 0, 33, 4, 32, 10, 12, 1, 11, 32, 6, 45, 0, 1, 65, 63, 113, 33, 4, 32, 6, 65, 2, 106, 34, 5, 11, 33, 6, 32, 7, 65, 31, 113, 33, 11, 32, 7, 65, 255, 1, 113, 34, 13, 65, 224, 1, 73, 4, 64, 32, 4, 32, 11, 65, 6, 116, 114, 33, 4, 12, 1, 11, 2, 127, 32, 6, 32, 10, 70, 4, 64, 65, 0, 33, 9, 32, 10, 12, 1, 11, 32, 6, 45, 0, 0, 65, 63, 113, 33, 9, 32, 6, 65, 1, 106, 34, 5, 11, 33, 7, 32, 9, 32, 4, 65, 6, 116, 114, 33, 4, 32, 13, 65, 240, 1, 73, 4, 64, 32, 4, 32, 11, 65, 12, 116, 114, 33, 4, 12, 1, 11, 2, 127, 32, 7, 32, 10, 70, 4, 64, 32, 5, 33, 6, 65, 0, 12, 1, 11, 32, 7, 65, 1, 106, 33, 6, 32, 7, 45, 0, 0, 65, 63, 113, 11, 32, 11, 65, 18, 116, 65, 128, 128, 240, 0, 113, 32, 4, 65, 6, 116, 114, 114, 34, 4, 65, 128, 128, 196, 0, 71, 13, 1, 12, 2, 11, 32, 5, 33, 6, 11, 65, 2, 33, 5, 65, 244, 0, 33, 7, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 119, 106, 14, 31, 5, 1, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 4, 2, 11, 65, 242, 0, 33, 7, 12, 4, 11, 65, 238, 0, 33, 7, 12, 3, 11, 32, 4, 65, 220, 0, 70, 13, 1, 11, 32, 4, 16, 190, 2, 69, 4, 64, 32, 4, 16, 191, 2, 13, 3, 11, 32, 4, 65, 1, 114, 103, 65, 2, 118, 65, 7, 115, 173, 66, 128, 128, 128, 128, 208, 0, 132, 33, 14, 65, 3, 33, 5, 11, 32, 4, 33, 7, 11, 2, 64, 2, 64, 32, 8, 32, 3, 73, 13, 0, 32, 3, 69, 32, 1, 32, 3, 70, 114, 69, 4, 64, 32, 3, 32, 1, 79, 13, 1, 32, 0, 32, 3, 106, 44, 0, 0, 65, 191, 127, 76, 13, 1, 11, 32, 8, 69, 32, 1, 32, 8, 70, 114, 69, 4, 64, 32, 8, 32, 1, 79, 13, 1, 32, 0, 32, 8, 106, 44, 0, 0, 65, 191, 127, 76, 13, 1, 11, 32, 2, 40, 2, 24, 32, 0, 32, 3, 106, 32, 8, 32, 3, 107, 32, 2, 40, 2, 28, 40, 2, 12, 17, 2, 0, 69, 13, 1, 65, 1, 15, 11, 32, 0, 32, 1, 32, 3, 32, 8, 65, 216, 235, 192, 0, 16, 150, 2, 0, 11, 3, 64, 32, 5, 33, 11, 65, 1, 33, 9, 65, 220, 0, 33, 3, 65, 1, 33, 5, 2, 64, 2, 126, 2, 64, 2, 64, 2, 64, 2, 64, 32, 11, 65, 1, 107, 14, 3, 1, 5, 0, 2, 11, 2, 64, 2, 64, 2, 64, 2, 64, 32, 14, 66, 32, 136, 167, 65, 255, 1, 113, 65, 1, 107, 14, 5, 3, 2, 1, 0, 6, 5, 11, 32, 14, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 48, 132, 33, 14, 65, 3, 33, 5, 65, 245, 0, 33, 3, 12, 7, 11, 32, 14, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 32, 132, 33, 14, 65, 3, 33, 5, 65, 251, 0, 33, 3, 12, 6, 11, 65, 48, 65, 215, 0, 32, 7, 32, 14, 167, 34, 5, 65, 2, 116, 65, 28, 113, 118, 65, 15, 113, 34, 3, 65, 10, 73, 27, 32, 3, 106, 33, 3, 32, 14, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 16, 132, 32, 5, 69, 13, 4, 26, 32, 14, 66, 127, 124, 66, 255, 255, 255, 255, 15, 131, 32, 14, 66, 128, 128, 128, 128, 112, 131, 132, 12, 4, 11, 32, 14, 66, 255, 255, 255, 255, 143, 96, 131, 33, 14, 65, 3, 33, 5, 65, 253, 0, 33, 3, 12, 4, 11, 65, 0, 33, 5, 32, 7, 33, 3, 12, 3, 11, 2, 127, 65, 1, 32, 4, 65, 128, 1, 73, 13, 0, 26, 65, 2, 32, 4, 65, 128, 16, 73, 13, 0, 26, 65, 3, 65, 4, 32, 4, 65, 128, 128, 4, 73, 27, 11, 32, 8, 106, 33, 3, 12, 4, 11, 32, 14, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 192, 0, 132, 11, 33, 14, 65, 3, 33, 5, 11, 32, 2, 40, 2, 24, 32, 3, 32, 2, 40, 2, 28, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 12, 4, 11, 32, 8, 32, 12, 107, 32, 6, 106, 33, 8, 32, 6, 33, 12, 32, 6, 32, 10, 71, 13, 1, 11, 11, 32, 3, 69, 32, 1, 32, 3, 70, 114, 13, 0, 32, 3, 32, 1, 79, 13, 2, 32, 0, 32, 3, 106, 44, 0, 0, 65, 191, 127, 76, 13, 2, 11, 65, 1, 33, 9, 32, 2, 40, 2, 24, 32, 0, 32, 3, 106, 32, 1, 32, 3, 107, 32, 2, 40, 2, 28, 40, 2, 12, 17, 2, 0, 13, 0, 32, 2, 40, 2, 24, 65, 34, 32, 2, 40, 2, 28, 40, 2, 16, 17, 0, 0, 33, 9, 11, 32, 9, 15, 11, 32, 0, 32, 1, 32, 3, 32, 1, 65, 232, 235, 192, 0, 16, 150, 2, 0, 11, 163, 3, 1, 5, 127, 2, 64, 2, 64, 65, 0, 65, 15, 32, 0, 65, 164, 154, 4, 73, 27, 34, 1, 32, 1, 65, 8, 106, 34, 1, 32, 1, 65, 2, 116, 65, 188, 255, 192, 0, 106, 40, 2, 0, 65, 11, 116, 32, 0, 65, 11, 116, 34, 2, 75, 27, 34, 1, 32, 1, 65, 4, 106, 34, 1, 32, 1, 65, 2, 116, 65, 188, 255, 192, 0, 106, 40, 2, 0, 65, 11, 116, 32, 2, 75, 27, 34, 1, 32, 1, 65, 2, 106, 34, 1, 32, 1, 65, 2, 116, 65, 188, 255, 192, 0, 106, 40, 2, 0, 65, 11, 116, 32, 2, 75, 27, 34, 1, 32, 1, 65, 1, 106, 34, 1, 32, 1, 65, 2, 116, 65, 188, 255, 192, 0, 106, 40, 2, 0, 65, 11, 116, 32, 2, 75, 27, 34, 3, 65, 2, 116, 65, 188, 255, 192, 0, 106, 40, 2, 0, 65, 11, 116, 34, 1, 32, 2, 70, 32, 1, 32, 2, 73, 106, 32, 3, 106, 34, 2, 65, 30, 77, 4, 64, 65, 177, 5, 33, 4, 32, 2, 65, 30, 71, 4, 64, 32, 2, 65, 2, 116, 65, 192, 255, 192, 0, 106, 40, 2, 0, 65, 21, 118, 33, 4, 11, 65, 0, 33, 1, 32, 2, 65, 127, 106, 34, 3, 32, 2, 77, 4, 64, 32, 3, 65, 31, 79, 13, 3, 32, 3, 65, 2, 116, 65, 188, 255, 192, 0, 106, 40, 2, 0, 65, 255, 255, 255, 0, 113, 33, 1, 11, 2, 64, 32, 4, 32, 2, 65, 2, 116, 65, 188, 255, 192, 0, 106, 40, 2, 0, 65, 21, 118, 34, 3, 65, 1, 106, 70, 13, 0, 32, 0, 32, 1, 107, 33, 2, 32, 3, 65, 177, 5, 32, 3, 65, 177, 5, 75, 27, 33, 5, 32, 4, 65, 127, 106, 33, 1, 65, 0, 33, 0, 3, 64, 32, 3, 32, 5, 70, 13, 3, 32, 0, 32, 3, 65, 184, 128, 193, 0, 106, 45, 0, 0, 106, 34, 0, 32, 2, 75, 13, 1, 32, 1, 32, 3, 65, 1, 106, 34, 3, 71, 13, 0, 11, 32, 1, 33, 3, 11, 32, 3, 65, 1, 113, 15, 11, 32, 2, 65, 31, 65, 192, 254, 192, 0, 16, 146, 2, 0, 11, 32, 5, 65, 177, 5, 65, 208, 254, 192, 0, 16, 146, 2, 0, 11, 32, 3, 65, 31, 65, 224, 254, 192, 0, 16, 146, 2, 0, 11, 183, 6, 1, 7, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 65, 255, 255, 3, 77, 4, 64, 32, 0, 65, 128, 254, 3, 113, 65, 8, 118, 33, 6, 65, 208, 243, 192, 0, 33, 1, 32, 0, 65, 255, 1, 113, 33, 7, 3, 64, 2, 64, 32, 1, 65, 2, 106, 33, 5, 32, 2, 32, 1, 45, 0, 1, 34, 4, 106, 33, 3, 2, 64, 32, 6, 32, 1, 45, 0, 0, 34, 1, 70, 4, 64, 32, 3, 32, 2, 73, 13, 6, 32, 3, 65, 163, 2, 79, 13, 7, 32, 2, 65, 162, 244, 192, 0, 106, 33, 1, 3, 64, 32, 4, 69, 13, 2, 32, 4, 65, 127, 106, 33, 4, 32, 1, 45, 0, 0, 32, 1, 65, 1, 106, 33, 1, 32, 7, 71, 13, 0, 11, 65, 0, 33, 4, 12, 5, 11, 32, 1, 32, 6, 75, 13, 1, 32, 3, 33, 2, 32, 5, 34, 1, 65, 162, 244, 192, 0, 71, 13, 2, 12, 1, 11, 32, 3, 33, 2, 32, 5, 34, 1, 65, 162, 244, 192, 0, 71, 13, 1, 11, 11, 32, 0, 65, 255, 255, 3, 113, 33, 3, 65, 196, 246, 192, 0, 33, 1, 65, 1, 33, 4, 3, 64, 32, 1, 65, 1, 106, 33, 0, 2, 127, 32, 1, 45, 0, 0, 34, 2, 65, 24, 116, 65, 24, 117, 34, 5, 65, 127, 76, 4, 64, 32, 0, 65, 249, 248, 192, 0, 70, 13, 7, 32, 1, 45, 0, 1, 32, 5, 65, 255, 0, 113, 65, 8, 116, 114, 33, 2, 32, 1, 65, 2, 106, 12, 1, 11, 32, 0, 11, 33, 1, 32, 3, 32, 2, 107, 34, 3, 65, 0, 72, 13, 2, 32, 4, 65, 1, 115, 33, 4, 32, 1, 65, 249, 248, 192, 0, 71, 13, 0, 11, 12, 1, 11, 32, 0, 65, 255, 255, 7, 77, 4, 64, 32, 0, 65, 128, 254, 3, 113, 65, 8, 118, 33, 6, 65, 249, 248, 192, 0, 33, 1, 32, 0, 65, 255, 1, 113, 33, 7, 3, 64, 2, 64, 32, 1, 65, 2, 106, 33, 5, 32, 2, 32, 1, 45, 0, 1, 34, 4, 106, 33, 3, 2, 64, 32, 6, 32, 1, 45, 0, 0, 34, 1, 70, 4, 64, 32, 3, 32, 2, 73, 13, 9, 32, 3, 65, 176, 1, 79, 13, 10, 32, 2, 65, 197, 249, 192, 0, 106, 33, 1, 3, 64, 32, 4, 69, 13, 2, 32, 4, 65, 127, 106, 33, 4, 32, 1, 45, 0, 0, 32, 1, 65, 1, 106, 33, 1, 32, 7, 71, 13, 0, 11, 65, 0, 33, 4, 12, 5, 11, 32, 1, 32, 6, 75, 13, 1, 32, 3, 33, 2, 32, 5, 34, 1, 65, 197, 249, 192, 0, 71, 13, 2, 12, 1, 11, 32, 3, 33, 2, 32, 5, 34, 1, 65, 197, 249, 192, 0, 71, 13, 1, 11, 11, 32, 0, 65, 255, 255, 3, 113, 33, 3, 65, 244, 250, 192, 0, 33, 1, 65, 1, 33, 4, 3, 64, 32, 1, 65, 1, 106, 33, 0, 2, 127, 32, 1, 45, 0, 0, 34, 2, 65, 24, 116, 65, 24, 117, 34, 5, 65, 127, 76, 4, 64, 32, 0, 65, 151, 254, 192, 0, 70, 13, 10, 32, 1, 45, 0, 1, 32, 5, 65, 255, 0, 113, 65, 8, 116, 114, 33, 2, 32, 1, 65, 2, 106, 12, 1, 11, 32, 0, 11, 33, 1, 32, 3, 32, 2, 107, 34, 3, 65, 0, 72, 13, 2, 32, 4, 65, 1, 115, 33, 4, 32, 1, 65, 151, 254, 192, 0, 71, 13, 0, 11, 12, 1, 11, 32, 0, 65, 181, 217, 115, 106, 65, 181, 219, 43, 73, 32, 0, 65, 226, 139, 116, 106, 65, 226, 11, 73, 114, 32, 0, 65, 159, 168, 116, 106, 65, 159, 24, 73, 32, 0, 65, 222, 226, 116, 106, 65, 14, 73, 114, 114, 32, 0, 65, 254, 255, 255, 0, 113, 65, 158, 240, 10, 70, 32, 0, 65, 162, 178, 117, 106, 65, 34, 73, 114, 114, 13, 0, 32, 0, 65, 203, 145, 117, 106, 65, 11, 79, 13, 7, 11, 32, 4, 65, 1, 113, 15, 11, 32, 2, 32, 3, 65, 176, 243, 192, 0, 16, 152, 2, 0, 11, 32, 3, 65, 162, 2, 65, 176, 243, 192, 0, 16, 148, 2, 0, 11, 65, 228, 230, 192, 0, 65, 43, 65, 192, 243, 192, 0, 16, 147, 2, 0, 11, 32, 2, 32, 3, 65, 176, 243, 192, 0, 16, 152, 2, 0, 11, 32, 3, 65, 175, 1, 65, 176, 243, 192, 0, 16, 148, 2, 0, 11, 65, 228, 230, 192, 0, 65, 43, 65, 192, 243, 192, 0, 16, 147, 2, 0, 11, 32, 0, 65, 240, 131, 56, 73, 11, 11, 0, 32, 2, 32, 0, 32, 1, 16, 149, 2, 11, 129, 4, 2, 4, 127, 1, 126, 65, 1, 32, 1, 40, 2, 24, 65, 39, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 16, 17, 0, 0, 69, 4, 64, 65, 244, 0, 33, 3, 65, 2, 33, 2, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 0, 40, 2, 0, 34, 0, 65, 119, 106, 14, 31, 5, 1, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 4, 2, 11, 65, 242, 0, 33, 3, 12, 4, 11, 65, 238, 0, 33, 3, 12, 3, 11, 32, 0, 65, 220, 0, 70, 13, 1, 11, 2, 127, 2, 126, 2, 64, 32, 0, 16, 190, 2, 69, 4, 64, 32, 0, 16, 191, 2, 69, 13, 1, 65, 1, 12, 3, 11, 32, 0, 65, 1, 114, 103, 65, 2, 118, 65, 7, 115, 173, 66, 128, 128, 128, 128, 208, 0, 132, 12, 1, 11, 32, 0, 65, 1, 114, 103, 65, 2, 118, 65, 7, 115, 173, 66, 128, 128, 128, 128, 208, 0, 132, 11, 33, 6, 65, 3, 11, 33, 2, 32, 0, 33, 3, 12, 1, 11, 32, 0, 33, 3, 11, 3, 64, 32, 2, 33, 4, 65, 220, 0, 33, 0, 65, 1, 33, 2, 2, 64, 2, 126, 2, 64, 2, 64, 2, 64, 2, 64, 32, 4, 65, 1, 107, 14, 3, 1, 5, 0, 2, 11, 2, 64, 2, 64, 2, 64, 2, 64, 32, 6, 66, 32, 136, 167, 65, 255, 1, 113, 65, 1, 107, 14, 5, 3, 2, 1, 0, 6, 5, 11, 65, 245, 0, 33, 0, 32, 6, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 48, 132, 12, 6, 11, 65, 251, 0, 33, 0, 32, 6, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 32, 132, 12, 5, 11, 65, 48, 65, 215, 0, 32, 3, 32, 6, 167, 34, 4, 65, 2, 116, 65, 28, 113, 118, 65, 15, 113, 34, 0, 65, 10, 73, 27, 32, 0, 106, 33, 0, 32, 6, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 16, 132, 32, 4, 69, 13, 4, 26, 32, 6, 66, 127, 124, 66, 255, 255, 255, 255, 15, 131, 32, 6, 66, 128, 128, 128, 128, 112, 131, 132, 12, 4, 11, 65, 253, 0, 33, 0, 32, 6, 66, 255, 255, 255, 255, 143, 96, 131, 12, 3, 11, 65, 0, 33, 2, 32, 3, 33, 0, 12, 3, 11, 32, 1, 40, 2, 24, 65, 39, 32, 1, 40, 2, 28, 40, 2, 16, 17, 0, 0, 15, 11, 32, 6, 66, 255, 255, 255, 255, 143, 96, 131, 66, 128, 128, 128, 128, 192, 0, 132, 11, 33, 6, 65, 3, 33, 2, 11, 32, 1, 40, 2, 24, 32, 0, 32, 1, 40, 2, 28, 40, 2, 16, 17, 0, 0, 69, 13, 0, 11, 11, 11, 114, 1, 1, 127, 35, 0, 65, 48, 107, 34, 2, 36, 0, 32, 2, 32, 1, 54, 2, 4, 32, 2, 32, 0, 54, 2, 0, 32, 2, 65, 28, 106, 65, 2, 54, 2, 0, 32, 2, 65, 44, 106, 65, 210, 0, 54, 2, 0, 32, 2, 66, 3, 55, 2, 12, 32, 2, 65, 128, 238, 192, 0, 54, 2, 8, 32, 2, 65, 210, 0, 54, 2, 36, 32, 2, 32, 2, 65, 32, 106, 54, 2, 24, 32, 2, 32, 2, 54, 2, 40, 32, 2, 32, 2, 65, 4, 106, 54, 2, 32, 32, 2, 65, 8, 106, 65, 196, 223, 192, 0, 16, 151, 2, 0, 11, 183, 6, 2, 6, 127, 2, 126, 2, 64, 32, 2, 69, 13, 0, 65, 0, 32, 2, 65, 121, 106, 34, 4, 32, 4, 32, 2, 75, 27, 33, 7, 32, 1, 65, 3, 106, 65, 124, 113, 32, 1, 107, 33, 8, 65, 0, 33, 4, 3, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 32, 4, 106, 45, 0, 0, 34, 5, 65, 24, 116, 65, 24, 117, 34, 6, 65, 0, 78, 4, 64, 32, 8, 65, 127, 71, 13, 1, 12, 7, 11, 66, 128, 128, 128, 128, 128, 32, 33, 10, 66, 128, 128, 128, 128, 16, 33, 9, 2, 64, 2, 64, 2, 64, 32, 5, 65, 152, 238, 192, 0, 106, 45, 0, 0, 65, 126, 106, 14, 3, 0, 1, 2, 8, 11, 32, 4, 65, 1, 106, 34, 3, 32, 2, 73, 13, 3, 66, 0, 33, 10, 66, 0, 33, 9, 12, 7, 11, 66, 0, 33, 10, 32, 4, 65, 1, 106, 34, 3, 32, 2, 79, 4, 64, 66, 0, 33, 9, 12, 7, 11, 32, 1, 32, 3, 106, 45, 0, 0, 33, 3, 2, 64, 2, 64, 2, 64, 32, 5, 65, 160, 126, 106, 34, 5, 4, 64, 32, 5, 65, 13, 70, 4, 64, 12, 2, 5, 12, 3, 11, 0, 11, 32, 3, 65, 224, 1, 113, 65, 160, 1, 70, 13, 2, 12, 7, 11, 32, 3, 65, 24, 116, 65, 24, 117, 65, 127, 74, 13, 6, 32, 3, 65, 160, 1, 73, 13, 1, 12, 6, 11, 32, 6, 65, 31, 106, 65, 255, 1, 113, 65, 11, 77, 4, 64, 32, 3, 65, 24, 116, 65, 24, 117, 65, 127, 74, 13, 6, 32, 3, 65, 192, 1, 73, 13, 1, 12, 6, 11, 32, 6, 65, 254, 1, 113, 65, 238, 1, 71, 32, 3, 65, 191, 1, 75, 114, 32, 3, 65, 24, 116, 65, 24, 117, 65, 127, 74, 114, 13, 5, 11, 66, 0, 33, 9, 32, 4, 65, 2, 106, 34, 3, 32, 2, 79, 13, 6, 32, 1, 32, 3, 106, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 70, 13, 3, 12, 5, 11, 66, 0, 33, 10, 32, 4, 65, 1, 106, 34, 3, 32, 2, 79, 4, 64, 66, 0, 33, 9, 12, 6, 11, 32, 1, 32, 3, 106, 45, 0, 0, 33, 3, 2, 64, 2, 64, 2, 64, 2, 64, 32, 5, 65, 144, 126, 106, 14, 5, 0, 2, 2, 2, 1, 2, 11, 32, 3, 65, 240, 0, 106, 65, 255, 1, 113, 65, 48, 79, 13, 6, 12, 2, 11, 32, 3, 65, 24, 116, 65, 24, 117, 65, 127, 74, 32, 3, 65, 144, 1, 79, 114, 13, 5, 12, 1, 11, 32, 3, 65, 191, 1, 75, 32, 6, 65, 15, 106, 65, 255, 1, 113, 65, 2, 75, 114, 32, 3, 65, 24, 116, 65, 24, 117, 65, 127, 74, 114, 13, 4, 11, 32, 4, 65, 2, 106, 34, 3, 32, 2, 79, 4, 64, 66, 0, 33, 9, 12, 6, 11, 32, 1, 32, 3, 106, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 13, 4, 66, 0, 33, 9, 32, 4, 65, 3, 106, 34, 3, 32, 2, 79, 13, 5, 32, 1, 32, 3, 106, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 70, 13, 2, 66, 128, 128, 128, 128, 128, 224, 0, 33, 10, 66, 128, 128, 128, 128, 16, 33, 9, 12, 5, 11, 32, 8, 32, 4, 107, 65, 3, 113, 13, 5, 2, 64, 32, 4, 32, 7, 79, 13, 0, 3, 64, 32, 1, 32, 4, 106, 34, 3, 65, 4, 106, 40, 2, 0, 32, 3, 40, 2, 0, 114, 65, 128, 129, 130, 132, 120, 113, 13, 1, 32, 4, 65, 8, 106, 34, 4, 32, 7, 73, 13, 0, 11, 11, 32, 4, 32, 2, 79, 13, 6, 3, 64, 32, 1, 32, 4, 106, 44, 0, 0, 65, 0, 72, 13, 7, 32, 2, 32, 4, 65, 1, 106, 34, 4, 71, 13, 0, 11, 12, 8, 11, 32, 1, 32, 3, 106, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 13, 3, 11, 32, 3, 65, 1, 106, 33, 4, 12, 4, 11, 66, 128, 128, 128, 128, 128, 32, 33, 10, 12, 1, 11, 66, 128, 128, 128, 128, 128, 192, 0, 33, 10, 66, 128, 128, 128, 128, 16, 33, 9, 11, 32, 0, 32, 10, 32, 4, 173, 132, 32, 9, 132, 55, 2, 4, 32, 0, 65, 1, 54, 2, 0, 15, 11, 32, 4, 65, 1, 106, 33, 4, 11, 32, 4, 32, 2, 73, 13, 0, 11, 11, 32, 0, 32, 1, 54, 2, 4, 32, 0, 65, 8, 106, 32, 2, 54, 2, 0, 32, 0, 65, 0, 54, 2, 0, 11, 12, 0, 32, 0, 49, 0, 0, 32, 1, 16, 202, 2, 11, 214, 9, 1, 10, 127, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 40, 2, 4, 34, 2, 4, 64, 32, 1, 40, 2, 0, 33, 7, 3, 64, 32, 3, 65, 1, 106, 33, 5, 2, 127, 32, 5, 32, 3, 32, 7, 106, 34, 8, 45, 0, 0, 34, 10, 65, 24, 116, 65, 24, 117, 34, 11, 65, 127, 74, 13, 0, 26, 2, 64, 2, 64, 2, 64, 2, 64, 32, 10, 65, 152, 238, 192, 0, 106, 45, 0, 0, 65, 126, 106, 14, 3, 1, 2, 3, 0, 11, 32, 2, 32, 3, 73, 13, 6, 32, 2, 32, 3, 77, 13, 7, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 7, 54, 2, 0, 32, 1, 32, 2, 32, 5, 107, 54, 2, 4, 32, 1, 32, 5, 32, 7, 106, 54, 2, 0, 12, 22, 11, 32, 5, 32, 7, 106, 34, 4, 65, 0, 32, 2, 32, 5, 75, 27, 34, 6, 65, 161, 229, 192, 0, 32, 6, 27, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 4, 64, 32, 2, 32, 3, 73, 13, 8, 32, 2, 32, 3, 77, 13, 9, 12, 21, 11, 32, 3, 65, 2, 106, 12, 2, 11, 32, 5, 32, 7, 106, 34, 4, 65, 0, 32, 2, 32, 5, 75, 27, 34, 6, 65, 161, 229, 192, 0, 32, 6, 27, 45, 0, 0, 33, 9, 2, 64, 2, 64, 2, 64, 32, 10, 65, 160, 126, 106, 34, 6, 4, 64, 32, 6, 65, 13, 70, 4, 64, 12, 2, 5, 12, 3, 11, 0, 11, 32, 9, 65, 224, 1, 113, 65, 160, 1, 70, 13, 2, 12, 21, 11, 32, 9, 65, 24, 116, 65, 24, 117, 65, 127, 74, 32, 9, 65, 160, 1, 79, 114, 13, 20, 12, 1, 11, 32, 11, 65, 31, 106, 65, 255, 1, 113, 65, 11, 77, 4, 64, 32, 9, 65, 24, 116, 65, 24, 117, 65, 127, 74, 32, 9, 65, 192, 1, 79, 114, 13, 20, 12, 1, 11, 32, 11, 65, 254, 1, 113, 65, 238, 1, 71, 32, 9, 65, 191, 1, 75, 114, 32, 9, 65, 24, 116, 65, 24, 117, 65, 127, 74, 114, 13, 19, 11, 32, 7, 32, 3, 65, 2, 106, 34, 4, 106, 34, 6, 65, 0, 32, 2, 32, 4, 75, 27, 34, 5, 65, 161, 229, 192, 0, 32, 5, 27, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 4, 64, 32, 2, 32, 3, 73, 13, 9, 32, 3, 65, 126, 79, 13, 10, 32, 2, 32, 4, 73, 13, 11, 12, 22, 11, 32, 3, 65, 3, 106, 12, 1, 11, 32, 5, 32, 7, 106, 34, 4, 65, 0, 32, 2, 32, 5, 75, 27, 34, 6, 65, 161, 229, 192, 0, 32, 6, 27, 45, 0, 0, 33, 6, 2, 64, 2, 64, 2, 64, 2, 64, 32, 10, 65, 144, 126, 106, 14, 5, 0, 2, 2, 2, 1, 2, 11, 32, 6, 65, 240, 0, 106, 65, 255, 1, 113, 65, 48, 73, 13, 2, 12, 19, 11, 32, 6, 65, 24, 116, 65, 24, 117, 65, 127, 74, 32, 6, 65, 144, 1, 79, 114, 13, 18, 12, 1, 11, 32, 6, 65, 191, 1, 75, 32, 11, 65, 15, 106, 65, 255, 1, 113, 65, 2, 75, 114, 32, 6, 65, 24, 116, 65, 24, 117, 65, 127, 74, 114, 13, 17, 11, 32, 7, 32, 3, 65, 2, 106, 34, 4, 106, 34, 6, 65, 0, 32, 2, 32, 4, 75, 27, 34, 5, 65, 161, 229, 192, 0, 32, 5, 27, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 4, 64, 32, 2, 32, 3, 73, 13, 11, 32, 3, 65, 126, 79, 13, 12, 32, 2, 32, 4, 73, 13, 13, 12, 21, 11, 32, 7, 32, 3, 65, 3, 106, 34, 4, 106, 34, 6, 65, 0, 32, 2, 32, 4, 75, 27, 34, 5, 65, 161, 229, 192, 0, 32, 5, 27, 45, 0, 0, 65, 192, 1, 113, 65, 128, 1, 71, 4, 64, 32, 2, 32, 3, 73, 13, 14, 32, 3, 65, 125, 79, 13, 15, 32, 2, 32, 4, 73, 13, 16, 32, 1, 32, 6, 54, 2, 0, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 7, 54, 2, 0, 32, 1, 32, 2, 32, 4, 107, 54, 2, 4, 32, 0, 65, 12, 106, 65, 3, 54, 2, 0, 12, 22, 11, 32, 3, 65, 4, 106, 11, 34, 3, 32, 2, 73, 13, 0, 11, 32, 1, 65, 0, 54, 2, 4, 32, 1, 65, 160, 229, 192, 0, 54, 2, 0, 32, 0, 32, 2, 54, 2, 4, 32, 0, 32, 7, 54, 2, 0, 32, 0, 65, 12, 106, 65, 0, 54, 2, 0, 32, 0, 65, 8, 106, 65, 160, 229, 192, 0, 54, 2, 0, 15, 11, 32, 0, 65, 0, 54, 2, 0, 15, 11, 32, 3, 32, 2, 65, 184, 240, 192, 0, 16, 148, 2, 0, 11, 32, 5, 32, 2, 65, 184, 240, 192, 0, 16, 148, 2, 0, 11, 32, 3, 32, 2, 65, 152, 241, 192, 0, 16, 148, 2, 0, 11, 32, 5, 32, 2, 65, 152, 241, 192, 0, 16, 148, 2, 0, 11, 32, 3, 32, 2, 65, 248, 240, 192, 0, 16, 148, 2, 0, 11, 32, 3, 32, 4, 65, 248, 240, 192, 0, 16, 152, 2, 0, 11, 32, 4, 32, 2, 65, 248, 240, 192, 0, 16, 148, 2, 0, 11, 32, 3, 32, 2, 65, 200, 240, 192, 0, 16, 148, 2, 0, 11, 32, 3, 32, 4, 65, 200, 240, 192, 0, 16, 152, 2, 0, 11, 32, 4, 32, 2, 65, 200, 240, 192, 0, 16, 148, 2, 0, 11, 32, 3, 32, 2, 65, 216, 240, 192, 0, 16, 148, 2, 0, 11, 32, 3, 32, 4, 65, 216, 240, 192, 0, 16, 152, 2, 0, 11, 32, 4, 32, 2, 65, 216, 240, 192, 0, 16, 148, 2, 0, 11, 2, 64, 32, 2, 32, 3, 79, 4, 64, 32, 2, 32, 3, 77, 13, 1, 12, 3, 11, 32, 3, 32, 2, 65, 232, 240, 192, 0, 16, 148, 2, 0, 11, 32, 5, 32, 2, 65, 232, 240, 192, 0, 16, 148, 2, 0, 11, 2, 64, 32, 2, 32, 3, 79, 4, 64, 32, 2, 32, 3, 77, 13, 1, 12, 2, 11, 32, 3, 32, 2, 65, 136, 241, 192, 0, 16, 148, 2, 0, 11, 32, 5, 32, 2, 65, 136, 241, 192, 0, 16, 148, 2, 0, 11, 32, 1, 32, 4, 54, 2, 0, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 7, 54, 2, 0, 32, 1, 32, 2, 32, 5, 107, 54, 2, 4, 11, 32, 0, 65, 12, 106, 65, 1, 54, 2, 0, 12, 1, 11, 32, 1, 32, 6, 54, 2, 0, 32, 0, 32, 3, 54, 2, 4, 32, 0, 32, 7, 54, 2, 0, 32, 1, 32, 2, 32, 4, 107, 54, 2, 4, 32, 0, 65, 12, 106, 65, 2, 54, 2, 0, 11, 32, 0, 65, 8, 106, 32, 8, 54, 2, 0, 11, 141, 1, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 3, 36, 0, 32, 0, 45, 0, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 3, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 4, 65, 48, 114, 32, 4, 65, 215, 0, 106, 32, 4, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 4, 64, 32, 2, 65, 128, 1, 65, 156, 233, 192, 0, 16, 153, 2, 0, 11, 32, 1, 65, 172, 233, 192, 0, 65, 2, 32, 0, 32, 3, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 175, 2, 32, 3, 65, 128, 1, 106, 36, 0, 11, 12, 0, 32, 0, 41, 3, 0, 32, 1, 16, 202, 2, 11, 141, 1, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 3, 36, 0, 32, 0, 40, 2, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 3, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 4, 65, 48, 114, 32, 4, 65, 215, 0, 106, 32, 4, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 4, 64, 32, 2, 65, 128, 1, 65, 156, 233, 192, 0, 16, 153, 2, 0, 11, 32, 1, 65, 172, 233, 192, 0, 65, 2, 32, 0, 32, 3, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 175, 2, 32, 3, 65, 128, 1, 106, 36, 0, 11, 172, 2, 2, 3, 127, 4, 126, 35, 0, 65, 32, 107, 34, 3, 36, 0, 32, 0, 2, 127, 32, 2, 69, 4, 64, 32, 0, 65, 0, 58, 0, 1, 65, 1, 12, 1, 11, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 2, 64, 32, 1, 45, 0, 0, 65, 85, 106, 14, 3, 0, 2, 1, 2, 11, 32, 2, 65, 127, 106, 34, 2, 69, 13, 2, 32, 1, 65, 1, 106, 33, 1, 12, 1, 11, 32, 2, 65, 1, 70, 13, 1, 11, 32, 3, 65, 24, 106, 33, 5, 3, 64, 32, 2, 69, 13, 3, 32, 1, 45, 0, 0, 65, 80, 106, 34, 4, 65, 9, 75, 13, 1, 32, 3, 32, 7, 66, 0, 66, 10, 66, 0, 16, 215, 2, 32, 3, 65, 16, 106, 32, 6, 66, 0, 66, 10, 66, 0, 16, 215, 2, 32, 3, 41, 3, 8, 66, 0, 82, 32, 5, 41, 3, 0, 34, 6, 32, 3, 41, 3, 0, 124, 34, 8, 32, 6, 84, 114, 13, 2, 32, 1, 65, 1, 106, 33, 1, 32, 2, 65, 127, 106, 33, 2, 32, 3, 41, 3, 16, 34, 9, 32, 4, 173, 124, 34, 6, 32, 9, 84, 34, 4, 32, 8, 32, 4, 173, 124, 34, 7, 32, 8, 84, 32, 6, 32, 9, 90, 27, 69, 13, 0, 11, 32, 0, 65, 2, 58, 0, 1, 65, 1, 12, 3, 11, 32, 0, 65, 1, 58, 0, 1, 65, 1, 12, 2, 11, 32, 0, 65, 2, 58, 0, 1, 65, 1, 12, 1, 11, 32, 0, 65, 16, 106, 32, 7, 55, 3, 0, 32, 0, 65, 8, 106, 32, 6, 55, 3, 0, 65, 0, 11, 58, 0, 0, 32, 3, 65, 32, 106, 36, 0, 11, 191, 2, 2, 5, 127, 1, 126, 35, 0, 65, 48, 107, 34, 4, 36, 0, 65, 39, 33, 2, 2, 64, 32, 0, 66, 144, 206, 0, 84, 4, 64, 32, 0, 33, 7, 12, 1, 11, 3, 64, 32, 4, 65, 9, 106, 32, 2, 106, 34, 3, 65, 124, 106, 32, 0, 32, 0, 66, 144, 206, 0, 128, 34, 7, 66, 144, 206, 0, 126, 125, 167, 34, 5, 65, 255, 255, 3, 113, 65, 228, 0, 110, 34, 6, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 3, 65, 126, 106, 32, 5, 32, 6, 65, 228, 0, 108, 107, 65, 255, 255, 3, 113, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 32, 2, 65, 124, 106, 33, 2, 32, 0, 66, 255, 193, 215, 47, 86, 32, 7, 33, 0, 13, 0, 11, 11, 32, 7, 167, 34, 3, 65, 227, 0, 74, 4, 64, 32, 2, 65, 126, 106, 34, 2, 32, 4, 65, 9, 106, 106, 32, 7, 167, 34, 3, 32, 3, 65, 255, 255, 3, 113, 65, 228, 0, 110, 34, 3, 65, 228, 0, 108, 107, 65, 255, 255, 3, 113, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 11, 2, 64, 32, 3, 65, 9, 76, 4, 64, 32, 2, 65, 127, 106, 34, 2, 32, 4, 65, 9, 106, 106, 32, 3, 65, 48, 106, 58, 0, 0, 12, 1, 11, 32, 2, 65, 126, 106, 34, 2, 32, 4, 65, 9, 106, 106, 32, 3, 65, 1, 116, 65, 174, 233, 192, 0, 106, 47, 0, 0, 59, 0, 0, 11, 32, 1, 65, 160, 229, 192, 0, 65, 0, 32, 4, 65, 9, 106, 32, 2, 106, 65, 39, 32, 2, 107, 16, 175, 2, 32, 4, 65, 48, 106, 36, 0, 11, 140, 1, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 3, 36, 0, 32, 0, 45, 0, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 3, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 4, 65, 48, 114, 32, 4, 65, 55, 106, 32, 4, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 4, 64, 32, 2, 65, 128, 1, 65, 156, 233, 192, 0, 16, 153, 2, 0, 11, 32, 1, 65, 172, 233, 192, 0, 65, 2, 32, 0, 32, 3, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 175, 2, 32, 3, 65, 128, 1, 106, 36, 0, 11, 140, 1, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 3, 36, 0, 32, 0, 40, 2, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 3, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 4, 65, 48, 114, 32, 4, 65, 55, 106, 32, 4, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 4, 64, 32, 2, 65, 128, 1, 65, 156, 233, 192, 0, 16, 153, 2, 0, 11, 32, 1, 65, 172, 233, 192, 0, 65, 2, 32, 0, 32, 3, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 175, 2, 32, 3, 65, 128, 1, 106, 36, 0, 11, 152, 1, 2, 2, 127, 1, 126, 35, 0, 65, 128, 1, 107, 34, 2, 36, 0, 32, 0, 41, 3, 0, 33, 4, 65, 128, 1, 33, 0, 2, 64, 3, 64, 32, 0, 69, 4, 64, 65, 0, 33, 0, 12, 2, 11, 32, 0, 32, 2, 106, 65, 127, 106, 32, 4, 167, 65, 15, 113, 34, 3, 65, 48, 114, 32, 3, 65, 215, 0, 106, 32, 3, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 4, 66, 4, 136, 34, 4, 66, 0, 82, 13, 0, 11, 32, 0, 65, 129, 1, 73, 13, 0, 32, 0, 65, 128, 1, 65, 156, 233, 192, 0, 16, 153, 2, 0, 11, 32, 1, 65, 172, 233, 192, 0, 65, 2, 32, 0, 32, 2, 106, 65, 128, 1, 32, 0, 107, 16, 175, 2, 32, 2, 65, 128, 1, 106, 36, 0, 11, 151, 1, 2, 2, 127, 1, 126, 35, 0, 65, 128, 1, 107, 34, 2, 36, 0, 32, 0, 41, 3, 0, 33, 4, 65, 128, 1, 33, 0, 2, 64, 3, 64, 32, 0, 69, 4, 64, 65, 0, 33, 0, 12, 2, 11, 32, 0, 32, 2, 106, 65, 127, 106, 32, 4, 167, 65, 15, 113, 34, 3, 65, 48, 114, 32, 3, 65, 55, 106, 32, 3, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 4, 66, 4, 136, 34, 4, 66, 0, 82, 13, 0, 11, 32, 0, 65, 129, 1, 73, 13, 0, 32, 0, 65, 128, 1, 65, 156, 233, 192, 0, 16, 153, 2, 0, 11, 32, 1, 65, 172, 233, 192, 0, 65, 2, 32, 0, 32, 2, 106, 65, 128, 1, 32, 0, 107, 16, 175, 2, 32, 2, 65, 128, 1, 106, 36, 0, 11, 28, 0, 32, 1, 40, 2, 24, 65, 136, 255, 192, 0, 65, 5, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 12, 0, 32, 0, 40, 2, 0, 32, 1, 16, 158, 2, 11, 183, 2, 1, 3, 127, 35, 0, 65, 128, 1, 107, 34, 4, 36, 0, 32, 0, 40, 2, 0, 33, 0, 2, 64, 2, 64, 2, 127, 32, 1, 40, 2, 0, 34, 3, 65, 16, 113, 4, 64, 32, 0, 45, 0, 0, 33, 2, 65, 0, 33, 0, 3, 64, 32, 0, 32, 4, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 3, 65, 48, 114, 32, 3, 65, 215, 0, 106, 32, 3, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 13, 2, 32, 1, 65, 172, 233, 192, 0, 65, 2, 32, 0, 32, 4, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 175, 2, 12, 1, 11, 32, 0, 45, 0, 0, 33, 2, 32, 3, 65, 32, 113, 4, 64, 65, 0, 33, 0, 3, 64, 32, 0, 32, 4, 106, 65, 255, 0, 106, 32, 2, 65, 15, 113, 34, 3, 65, 48, 114, 32, 3, 65, 55, 106, 32, 3, 65, 10, 73, 27, 58, 0, 0, 32, 0, 65, 127, 106, 33, 0, 32, 2, 65, 4, 118, 34, 2, 13, 0, 11, 32, 0, 65, 128, 1, 106, 34, 2, 65, 129, 1, 79, 13, 3, 32, 1, 65, 172, 233, 192, 0, 65, 2, 32, 0, 32, 4, 106, 65, 128, 1, 106, 65, 0, 32, 0, 107, 16, 175, 2, 12, 1, 11, 32, 2, 173, 66, 255, 1, 131, 32, 1, 16, 202, 2, 11, 32, 4, 65, 128, 1, 106, 36, 0, 15, 11, 32, 2, 65, 128, 1, 65, 156, 233, 192, 0, 16, 153, 2, 0, 11, 32, 2, 65, 128, 1, 65, 156, 233, 192, 0, 16, 153, 2, 0, 11, 162, 2, 1, 1, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 2, 127, 32, 0, 40, 2, 0, 34, 0, 45, 0, 0, 65, 1, 70, 4, 64, 32, 2, 32, 1, 40, 2, 24, 65, 128, 255, 192, 0, 65, 4, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 58, 0, 8, 32, 2, 32, 1, 54, 2, 0, 32, 2, 65, 0, 58, 0, 9, 32, 2, 65, 0, 54, 2, 4, 32, 2, 32, 0, 65, 1, 106, 54, 2, 12, 32, 2, 32, 2, 65, 12, 106, 65, 240, 232, 192, 0, 16, 167, 2, 32, 2, 45, 0, 8, 33, 1, 32, 2, 40, 2, 4, 34, 0, 4, 64, 32, 1, 65, 255, 1, 113, 33, 1, 32, 2, 2, 127, 65, 1, 32, 1, 13, 0, 26, 2, 64, 32, 0, 65, 1, 71, 13, 0, 32, 2, 45, 0, 9, 69, 13, 0, 32, 2, 40, 2, 0, 34, 0, 45, 0, 0, 65, 4, 113, 13, 0, 65, 1, 32, 0, 40, 2, 24, 65, 236, 232, 192, 0, 65, 1, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 13, 1, 26, 11, 32, 2, 40, 2, 0, 34, 0, 40, 2, 24, 65, 237, 232, 192, 0, 65, 1, 32, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 34, 1, 58, 0, 8, 11, 32, 1, 65, 255, 1, 113, 65, 0, 71, 12, 1, 11, 32, 1, 40, 2, 24, 65, 132, 255, 192, 0, 65, 4, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 11, 32, 2, 65, 16, 106, 36, 0, 11, 240, 1, 1, 2, 127, 35, 0, 65, 16, 107, 34, 2, 36, 0, 32, 2, 32, 1, 173, 66, 128, 128, 128, 128, 16, 66, 0, 32, 1, 40, 2, 24, 65, 141, 255, 192, 0, 65, 9, 32, 1, 65, 28, 106, 40, 2, 0, 40, 2, 12, 17, 2, 0, 27, 132, 55, 3, 0, 32, 2, 32, 0, 54, 2, 12, 32, 2, 65, 150, 255, 192, 0, 65, 11, 32, 2, 65, 12, 106, 65, 240, 254, 192, 0, 16, 159, 2, 32, 2, 32, 0, 65, 4, 106, 54, 2, 12, 32, 2, 65, 161, 255, 192, 0, 65, 9, 32, 2, 65, 12, 106, 65, 172, 255, 192, 0, 16, 159, 2, 32, 2, 45, 0, 4, 33, 1, 32, 2, 45, 0, 5, 4, 64, 32, 1, 65, 255, 1, 113, 33, 0, 32, 2, 2, 127, 65, 1, 32, 0, 13, 0, 26, 32, 2, 40, 2, 0, 34, 0, 65, 28, 106, 40, 2, 0, 40, 2, 12, 33, 1, 32, 0, 40, 2, 24, 33, 3, 32, 0, 45, 0, 0, 65, 4, 113, 4, 64, 32, 3, 65, 230, 232, 192, 0, 65, 1, 32, 1, 17, 2, 0, 12, 1, 11, 32, 3, 65, 231, 232, 192, 0, 65, 2, 32, 1, 17, 2, 0, 11, 34, 1, 58, 0, 4, 11, 32, 2, 65, 16, 106, 36, 0, 32, 1, 65, 255, 1, 113, 65, 0, 71, 11, 51, 1, 1, 127, 32, 2, 4, 64, 32, 0, 33, 3, 3, 64, 32, 3, 32, 1, 45, 0, 0, 58, 0, 0, 32, 1, 65, 1, 106, 33, 1, 32, 3, 65, 1, 106, 33, 3, 32, 2, 65, 127, 106, 34, 2, 13, 0, 11, 11, 32, 0, 11, 41, 1, 1, 127, 32, 2, 4, 64, 32, 0, 33, 3, 3, 64, 32, 3, 32, 1, 58, 0, 0, 32, 3, 65, 1, 106, 33, 3, 32, 2, 65, 127, 106, 34, 2, 13, 0, 11, 11, 32, 0, 11, 67, 1, 3, 127, 2, 64, 32, 2, 69, 13, 0, 3, 64, 32, 0, 45, 0, 0, 34, 4, 32, 1, 45, 0, 0, 34, 5, 70, 4, 64, 32, 0, 65, 1, 106, 33, 0, 32, 1, 65, 1, 106, 33, 1, 32, 2, 65, 127, 106, 34, 2, 13, 1, 12, 2, 11, 11, 32, 4, 32, 5, 107, 33, 3, 11, 32, 3, 11, 110, 1, 7, 126, 32, 0, 32, 3, 66, 255, 255, 255, 255, 15, 131, 34, 5, 32, 1, 66, 32, 136, 34, 7, 126, 34, 8, 32, 3, 66, 32, 136, 34, 9, 32, 1, 66, 255, 255, 255, 255, 15, 131, 34, 10, 126, 124, 34, 6, 66, 32, 134, 34, 11, 32, 5, 32, 10, 126, 124, 34, 5, 55, 3, 0, 32, 0, 32, 5, 32, 11, 84, 173, 32, 7, 32, 9, 126, 32, 6, 32, 8, 84, 173, 66, 32, 134, 32, 6, 66, 32, 136, 132, 124, 124, 32, 1, 32, 4, 126, 32, 2, 32, 3, 126, 124, 124, 55, 3, 8, 11, 11, 159, 133, 1, 8, 0, 65, 128, 128, 192, 0, 11, 193, 29, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 97, 100, 100, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0, 25, 0, 0, 0, 26, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 27, 0, 0, 0, 67, 111, 105, 110, 100, 101, 110, 111, 109, 97, 109, 111, 117, 110, 116, 66, 97, 110, 107, 81, 117, 101, 114, 121, 97, 108, 108, 95, 98, 97, 108, 97, 110, 99, 101, 115, 97, 100, 100, 114, 101, 115, 115, 98, 97, 108, 97, 110, 99, 101, 87, 97, 115, 109, 81, 117, 101, 114, 121, 114, 97, 119, 99, 111, 110, 116, 114, 97, 99, 116, 95, 97, 100, 100, 114, 107, 101, 121, 115, 109, 97, 114, 116, 109, 115, 103, 83, 116, 97, 107, 105, 110, 103, 81, 117, 101, 114, 121, 118, 97, 108, 105, 100, 97, 116, 111, 114, 115, 100, 101, 108, 101, 103, 97, 116, 105, 111, 110, 100, 101, 108, 101, 103, 97, 116, 111, 114, 118, 97, 108, 105, 100, 97, 116, 111, 114, 97, 108, 108, 95, 100, 101, 108, 101, 103, 97, 116, 105, 111, 110, 115, 98, 111, 110, 100, 101, 100, 95, 100, 101, 110, 111, 109, 65, 108, 108, 66, 97, 108, 97, 110, 99, 101, 82, 101, 115, 112, 111, 110, 115, 101, 119, 97, 115, 109, 115, 116, 97, 107, 105, 110, 103, 99, 117, 115, 116, 111, 109, 98, 97, 110, 107, 98, 108, 111, 99, 107, 99, 111, 110, 116, 114, 97, 99, 116, 104, 101, 105, 103, 104, 116, 116, 105, 109, 101, 116, 105, 109, 101, 95, 110, 97, 110, 111, 115, 99, 104, 97, 105, 110, 95, 105, 100, 115, 101, 110, 100, 101, 114, 102, 117, 110, 100, 115, 81, 117, 101, 114, 105, 101, 114, 32, 115, 121, 115, 116, 101, 109, 32, 101, 114, 114, 111, 114, 58, 32, 110, 1, 16, 0, 22, 0, 0, 0, 81, 117, 101, 114, 105, 101, 114, 32, 99, 111, 110, 116, 114, 97, 99, 116, 32, 101, 114, 114, 111, 114, 58, 32, 140, 1, 16, 0, 24, 0, 0, 0, 83, 101, 114, 105, 97, 108, 105, 122, 105, 110, 103, 32, 81, 117, 101, 114, 121, 82, 101, 113, 117, 101, 115, 116, 58, 32, 0, 0, 172, 1, 16, 0, 26, 0, 0, 0, 47, 99, 111, 100, 101, 47, 112, 97, 99, 107, 97, 103, 101, 115, 47, 115, 116, 100, 47, 115, 114, 99, 47, 101, 120, 112, 111, 114, 116, 115, 46, 114, 115, 0, 0, 0, 208, 1, 16, 0, 33, 0, 0, 0, 117, 0, 0, 0, 26, 0, 0, 0, 208, 1, 16, 0, 33, 0, 0, 0, 137, 0, 0, 0, 26, 0, 0, 0, 208, 1, 16, 0, 33, 0, 0, 0, 91, 0, 0, 0, 26, 0, 0, 0, 208, 1, 16, 0, 33, 0, 0, 0, 157, 0, 0, 0, 26, 0, 0, 0, 208, 1, 16, 0, 33, 0, 0, 0, 193, 0, 0, 0, 26, 0, 0, 0, 66, 97, 110, 107, 77, 115, 103, 98, 117, 114, 110, 115, 101, 110, 100, 116, 111, 95, 97, 100, 100, 114, 101, 115, 115, 87, 97, 115, 109, 77, 115, 103, 109, 105, 103, 114, 97, 116, 101, 110, 101, 119, 95, 99, 111, 100, 101, 95, 105, 100, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 99, 111, 100, 101, 95, 105, 100, 108, 97, 98, 101, 108, 101, 120, 101, 99, 117, 116, 101, 83, 116, 97, 107, 105, 110, 103, 77, 115, 103, 114, 101, 100, 101, 108, 101, 103, 97, 116, 101, 115, 114, 99, 95, 118, 97, 108, 105, 100, 97, 116, 111, 114, 100, 115, 116, 95, 118, 97, 108, 105, 100, 97, 116, 111, 114, 119, 105, 116, 104, 100, 114, 97, 119, 114, 101, 99, 105, 112, 105, 101, 110, 116, 117, 110, 100, 101, 108, 101, 103, 97, 116, 101, 100, 101, 108, 101, 103, 97, 116, 101, 101, 114, 114, 111, 114, 111, 107, 69, 109, 112, 116, 121, 82, 101, 112, 108, 121, 79, 110, 115, 117, 99, 99, 101, 115, 115, 97, 108, 119, 97, 121, 115, 83, 117, 98, 77, 115, 103, 103, 97, 115, 95, 108, 105, 109, 105, 116, 82, 101, 115, 112, 111, 110, 115, 101, 115, 117, 98, 109, 101, 115, 115, 97, 103, 101, 115, 97, 116, 116, 114, 105, 98, 117, 116, 101, 115, 65, 116, 116, 114, 105, 98, 117, 116, 101, 118, 97, 108, 117, 101, 0, 15, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 84, 3, 16, 0, 0, 0, 0, 0, 97, 32, 68, 105, 115, 112, 108, 97, 121, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 114, 101, 116, 117, 114, 110, 101, 100, 32, 97, 110, 32, 101, 114, 114, 111, 114, 32, 117, 110, 101, 120, 112, 101, 99, 116, 101, 100, 108, 121, 47, 114, 117, 115, 116, 99, 47, 50, 102, 100, 55, 51, 102, 97, 98, 101, 52, 54, 57, 51, 53, 55, 97, 49, 50, 99, 50, 99, 57, 55, 52, 99, 49, 52, 48, 102, 54, 55, 101, 55, 99, 100, 100, 55, 54, 100, 48, 47, 108, 105, 98, 114, 97, 114, 121, 47, 97, 108, 108, 111, 99, 47, 115, 114, 99, 47, 115, 116, 114, 105, 110, 103, 46, 114, 115, 0, 0, 147, 3, 16, 0, 75, 0, 0, 0, 165, 8, 0, 0, 14, 0, 0, 0, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 115, 116, 97, 116, 101, 58, 58, 83, 116, 97, 116, 101, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 116, 121, 112, 101, 115, 58, 58, 77, 101, 115, 115, 97, 103, 101, 73, 110, 102, 111, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 109, 115, 103, 58, 58, 69, 120, 101, 99, 117, 116, 101, 77, 115, 103, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 109, 115, 103, 58, 58, 86, 101, 114, 105, 102, 105, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 116, 121, 112, 101, 115, 58, 58, 69, 110, 118, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 114, 101, 115, 117, 108, 116, 115, 58, 58, 99, 111, 110, 116, 114, 97, 99, 116, 95, 114, 101, 115, 117, 108, 116, 58, 58, 67, 111, 110, 116, 114, 97, 99, 116, 82, 101, 115, 117, 108, 116, 60, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 114, 101, 115, 117, 108, 116, 115, 58, 58, 114, 101, 115, 112, 111, 110, 115, 101, 58, 58, 82, 101, 115, 112, 111, 110, 115, 101, 62, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 109, 115, 103, 58, 58, 83, 117, 100, 111, 77, 115, 103, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 109, 115, 103, 58, 58, 77, 105, 103, 114, 97, 116, 101, 77, 115, 103, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 113, 117, 101, 114, 121, 58, 58, 65, 108, 108, 66, 97, 108, 97, 110, 99, 101, 82, 101, 115, 112, 111, 110, 115, 101, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 109, 115, 103, 58, 58, 73, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 77, 115, 103, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 109, 115, 103, 58, 58, 82, 101, 99, 117, 114, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 113, 117, 101, 114, 121, 58, 58, 81, 117, 101, 114, 121, 82, 101, 113, 117, 101, 115, 116, 60, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 114, 101, 115, 117, 108, 116, 115, 58, 58, 101, 109, 112, 116, 121, 58, 58, 69, 109, 112, 116, 121, 62, 104, 97, 99, 107, 97, 116, 111, 109, 58, 58, 109, 115, 103, 58, 58, 81, 117, 101, 114, 121, 77, 115, 103, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 114, 101, 115, 117, 108, 116, 115, 58, 58, 99, 111, 110, 116, 114, 97, 99, 116, 95, 114, 101, 115, 117, 108, 116, 58, 58, 67, 111, 110, 116, 114, 97, 99, 116, 82, 101, 115, 117, 108, 116, 60, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 98, 105, 110, 97, 114, 121, 58, 58, 66, 105, 110, 97, 114, 121, 62, 0, 0, 0, 15, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0, 99, 97, 108, 108, 101, 100, 32, 96, 82, 101, 115, 117, 108, 116, 58, 58, 117, 110, 119, 114, 97, 112, 95, 101, 114, 114, 40, 41, 96, 32, 111, 110, 32, 97, 110, 32, 96, 79, 107, 96, 32, 118, 97, 108, 117, 101, 0, 0, 33, 0, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 34, 0, 0, 0, 33, 0, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 35, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 36, 0, 0, 0, 99, 97, 108, 108, 101, 100, 32, 96, 82, 101, 115, 117, 108, 116, 58, 58, 117, 110, 119, 114, 97, 112, 40, 41, 96, 32, 111, 110, 32, 97, 110, 32, 96, 69, 114, 114, 96, 32, 118, 97, 108, 117, 101, 0, 37, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 109, 105, 115, 115, 105, 110, 103, 32, 102, 105, 101, 108, 100, 32, 96, 96, 208, 6, 16, 0, 15, 0, 0, 0, 223, 6, 16, 0, 1, 0, 0, 0, 100, 117, 112, 108, 105, 99, 97, 116, 101, 32, 102, 105, 101, 108, 100, 32, 96, 0, 0, 0, 240, 6, 16, 0, 17, 0, 0, 0, 223, 6, 16, 0, 1, 0, 0, 0, 117, 110, 107, 110, 111, 119, 110, 32, 118, 97, 114, 105, 97, 110, 116, 32, 96, 96, 44, 32, 101, 120, 112, 101, 99, 116, 101, 100, 32, 0, 0, 0, 20, 7, 16, 0, 17, 0, 0, 0, 37, 7, 16, 0, 12, 0, 0, 0, 105, 110, 118, 97, 108, 105, 100, 32, 98, 97, 115, 101, 54, 52, 58, 32, 68, 7, 16, 0, 16, 0, 0, 0, 105, 110, 118, 97, 108, 105, 100, 32, 85, 105, 110, 116, 49, 50, 56, 32, 39, 39, 32, 45, 32, 0, 0, 0, 92, 7, 16, 0, 17, 0, 0, 0, 109, 7, 16, 0, 4, 0, 0, 0, 15, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 38, 0, 0, 0, 104, 101, 114, 101, 32, 119, 101, 32, 103, 111, 32, 240, 159, 154, 128, 99, 111, 110, 102, 105, 103, 76, 101, 116, 32, 116, 104, 101, 104, 97, 99, 107, 105, 110, 103, 32, 98, 101, 103, 105, 110, 83, 116, 97, 116, 101, 97, 99, 116, 105, 111, 110, 114, 101, 108, 101, 97, 115, 101, 100, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 240, 11, 170, 115, 114, 99, 47, 99, 111, 110, 116, 114, 97, 99, 116, 46, 114, 115, 221, 7, 16, 0, 15, 0, 0, 0, 110, 0, 0, 0, 9, 0, 0, 0, 116, 101, 115, 116, 46, 107, 101, 121, 221, 7, 16, 0, 15, 0, 0, 0, 122, 0, 0, 0, 9, 0, 0, 0, 109, 117, 115, 116, 32, 110, 111, 116, 32, 98, 101, 32, 101, 109, 112, 116, 121, 0, 0, 0, 221, 7, 16, 0, 15, 0, 0, 0, 130, 0, 0, 0, 33, 0, 0, 0, 221, 7, 16, 0, 15, 0, 0, 0, 130, 0, 0, 0, 19, 0, 0, 0, 109, 101, 109, 111, 114, 121, 46, 103, 114, 111, 119, 32, 102, 97, 105, 108, 101, 100, 84, 104, 105, 115, 32, 112, 97, 103, 101, 32, 105, 110, 116, 101, 110, 116, 105, 111, 110, 97, 108, 108, 121, 32, 102, 97, 117, 108, 116, 101, 100, 0, 0, 0, 221, 7, 16, 0, 15, 0, 0, 0, 158, 0, 0, 0, 5, 0, 0, 0, 221, 7, 16, 0, 15, 0, 0, 0, 165, 0, 0, 0, 40, 0, 0, 0, 85, 110, 101, 120, 112, 101, 99, 116, 101, 100, 32, 101, 114, 114, 111, 114, 32, 105, 110, 32, 100, 111, 95, 117, 115, 101, 114, 95, 101, 114, 114, 111, 114, 115, 95, 105, 110, 95, 97, 112, 105, 95, 99, 97, 108, 108, 115, 58, 32, 0, 0, 0, 156, 8, 16, 0, 49, 0, 0, 0, 98, 110, 57, 51, 104, 103, 57, 51, 52, 104, 103, 48, 56, 113, 51, 52, 48, 103, 56, 117, 52, 106, 99, 97, 117, 51, 0, 0, 221, 7, 16, 0, 15, 0, 0, 0, 177, 0, 0, 0, 49, 0, 0, 0, 221, 7, 16, 0, 15, 0, 0, 0, 191, 0, 0, 0, 37, 0, 0, 0, 221, 7, 16, 0, 15, 0, 0, 0, 203, 0, 0, 0, 41, 0, 0, 0, 221, 7, 16, 0, 15, 0, 0, 0, 215, 0, 0, 0, 44, 0, 0, 0, 85, 110, 97, 117, 116, 104, 111, 114, 105, 122, 101, 100, 52, 9, 16, 0, 12, 0, 0, 0, 118, 101, 114, 105, 102, 105, 101, 114, 98, 101, 110, 101, 102, 105, 99, 105, 97, 114, 121, 115, 116, 101, 97, 108, 95, 102, 117, 110, 100, 115, 0, 0, 91, 9, 16, 0, 11, 0, 0, 0, 99, 112, 117, 95, 108, 111, 111, 112, 115, 116, 111, 114, 97, 103, 101, 95, 108, 111, 111, 112, 109, 101, 109, 111, 114, 121, 95, 108, 111, 111, 112, 97, 108, 108, 111, 99, 97, 116, 101, 95, 108, 97, 114, 103, 101, 95, 109, 101, 109, 111, 114, 121, 112, 97, 103, 101, 115, 112, 97, 110, 105, 99, 117, 115, 101, 114, 95, 101, 114, 114, 111, 114, 115, 95, 105, 110, 95, 97, 112, 105, 95, 99, 97, 108, 108, 115, 0, 0, 200, 7, 16, 0, 7, 0, 0, 0, 112, 9, 16, 0, 8, 0, 0, 0, 120, 9, 16, 0, 12, 0, 0, 0, 132, 9, 16, 0, 11, 0, 0, 0, 143, 9, 16, 0, 21, 0, 0, 0, 169, 9, 16, 0, 5, 0, 0, 0, 174, 9, 16, 0, 24, 0, 0, 0, 81, 117, 101, 114, 121, 77, 115, 103, 111, 116, 104, 101, 114, 95, 98, 97, 108, 97, 110, 99, 101, 114, 101, 99, 117, 114, 115, 101, 100, 101, 112, 116, 104, 119, 111, 114, 107, 0, 0, 0, 72, 9, 16, 0, 8, 0, 0, 0, 8, 10, 16, 0, 13, 0, 0, 0, 21, 10, 16, 0, 7, 0, 0, 0, 86, 101, 114, 105, 102, 105, 101, 114, 82, 101, 115, 112, 111, 110, 115, 101, 82, 101, 99, 117, 114, 115, 101, 82, 101, 115, 112, 111, 110, 115, 101, 104, 97, 115, 104, 101, 100, 102, 117, 110, 100, 101, 114, 0, 56, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 57, 0, 0, 0, 58, 0, 0, 0, 128, 10, 16, 0, 0, 0, 0, 0, 97, 32, 68, 105, 115, 112, 108, 97, 121, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 114, 101, 116, 117, 114, 110, 101, 100, 32, 97, 110, 32, 101, 114, 114, 111, 114, 32, 117, 110, 101, 120, 112, 101, 99, 116, 101, 100, 108, 121, 47, 114, 117, 115, 116, 99, 47, 50, 102, 100, 55, 51, 102, 97, 98, 101, 52, 54, 57, 51, 53, 55, 97, 49, 50, 99, 50, 99, 57, 55, 52, 99, 49, 52, 48, 102, 54, 55, 101, 55, 99, 100, 100, 55, 54, 100, 48, 47, 108, 105, 98, 114, 97, 114, 121, 47, 97, 108, 108, 111, 99, 47, 115, 114, 99, 47, 115, 116, 114, 105, 110, 103, 46, 114, 115, 0, 0, 191, 10, 16, 0, 75, 0, 0, 0, 165, 8, 0, 0, 14, 0, 0, 0, 47, 114, 117, 115, 116, 99, 47, 50, 102, 100, 55, 51, 102, 97, 98, 101, 52, 54, 57, 51, 53, 55, 97, 49, 50, 99, 50, 99, 57, 55, 52, 99, 49, 52, 48, 102, 54, 55, 101, 55, 99, 100, 100, 55, 54, 100, 48, 47, 108, 105, 98, 114, 97, 114, 121, 47, 99, 111, 114, 101, 47, 115, 114, 99, 47, 111, 112, 115, 47, 97, 114, 105, 116, 104, 46, 114, 115, 0, 0, 0, 28, 11, 16, 0, 77, 0, 0, 0, 107, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 97, 100, 100, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 114, 101, 115, 117, 108, 116, 115, 58, 58, 115, 121, 115, 116, 101, 109, 95, 114, 101, 115, 117, 108, 116, 58, 58, 83, 121, 115, 116, 101, 109, 82, 101, 115, 117, 108, 116, 60, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 114, 101, 115, 117, 108, 116, 115, 58, 58, 99, 111, 110, 116, 114, 97, 99, 116, 95, 114, 101, 115, 117, 108, 116, 58, 58, 67, 111, 110, 116, 114, 97, 99, 116, 82, 101, 115, 117, 108, 116, 60, 99, 111, 115, 109, 119, 97, 115, 109, 95, 115, 116, 100, 58, 58, 98, 105, 110, 97, 114, 121, 58, 58, 66, 105, 110, 97, 114, 121, 62, 62, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0, 61, 0, 0, 0, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 109, 117, 108, 116, 105, 112, 108, 121, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 36, 0, 0, 0, 63, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 64, 0, 0, 0, 28, 11, 16, 0, 77, 0, 0, 0, 226, 2, 0, 0, 1, 0, 0, 0, 105, 110, 116, 101, 114, 110, 97, 108, 32, 101, 114, 114, 111, 114, 58, 32, 101, 110, 116, 101, 114, 101, 100, 32, 117, 110, 114, 101, 97, 99, 104, 97, 98, 108, 101, 32, 99, 111, 100, 101, 58, 32, 0, 0, 164, 12, 16, 0, 42, 0, 0, 0, 109, 105, 115, 115, 105, 110, 103, 32, 102, 105, 101, 108, 100, 32, 96, 96, 216, 12, 16, 0, 15, 0, 0, 0, 231, 12, 16, 0, 1, 0, 0, 0, 100, 117, 112, 108, 105, 99, 97, 116, 101, 32, 102, 105, 101, 108, 100, 32, 96, 0, 0, 0, 248, 12, 16, 0, 17, 0, 0, 0, 231, 12, 16, 0, 1, 0, 0, 0, 117, 110, 107, 110, 111, 119, 110, 32, 118, 97, 114, 105, 97, 110, 116, 32, 96, 96, 44, 32, 101, 120, 112, 101, 99, 116, 101, 100, 32, 0, 0, 0, 28, 13, 16, 0, 17, 0, 0, 0, 45, 13, 16, 0, 12, 0, 0, 0, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 65, 0, 0, 0, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 66, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 98, 97, 115, 101, 54, 52, 45, 48, 46, 49, 51, 46, 48, 47, 115, 114, 99, 47, 100, 101, 99, 111, 100, 101, 46, 114, 115, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 210, 1, 0, 0, 31, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 216, 1, 0, 0, 31, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 219, 1, 0, 0, 13, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 225, 1, 0, 0, 31, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 228, 1, 0, 0, 13, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 234, 1, 0, 0, 31, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 237, 1, 0, 0, 13, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 243, 1, 0, 0, 31, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 246, 1, 0, 0, 13, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 252, 1, 0, 0, 31, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 255, 1, 0, 0, 13, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 5, 2, 0, 0, 31, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 8, 2, 0, 0, 13, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 14, 2, 0, 0, 31, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 17, 2, 0, 0, 13, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 110, 0, 0, 0, 47, 0, 65, 208, 157, 192, 0, 11, 133, 34, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 115, 117, 98, 116, 114, 97, 99, 116, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 3, 1, 0, 0, 55, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 3, 1, 0, 0, 36, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 4, 1, 0, 0, 62, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 4, 1, 0, 0, 41, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 33, 1, 0, 0, 17, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 42, 1, 0, 0, 41, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 42, 1, 0, 0, 22, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 46, 1, 0, 0, 41, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 46, 1, 0, 0, 40, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 45, 1, 0, 0, 26, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 51, 1, 0, 0, 17, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 65, 1, 0, 0, 14, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 68, 1, 0, 0, 39, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 71, 1, 0, 0, 9, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 88, 1, 0, 0, 19, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 102, 1, 0, 0, 41, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 120, 1, 0, 0, 13, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 130, 1, 0, 0, 17, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 138, 1, 0, 0, 21, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 142, 1, 0, 0, 49, 0, 0, 0, 73, 109, 112, 111, 115, 115, 105, 98, 108, 101, 58, 32, 109, 117, 115, 116, 32, 111, 110, 108, 121, 32, 104, 97, 118, 101, 32, 48, 32, 116, 111, 32, 56, 32, 105, 110, 112, 117, 116, 32, 98, 121, 116, 101, 115, 32, 105, 110, 32, 108, 97, 115, 116, 32, 99, 104, 117, 110, 107, 44, 32, 119, 105, 116, 104, 32, 110, 111, 32, 105, 110, 118, 97, 108, 105, 100, 32, 108, 101, 110, 103, 116, 104, 115, 68, 16, 16, 0, 84, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 157, 1, 0, 0, 14, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 168, 1, 0, 0, 13, 0, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 177, 1, 0, 0, 9, 0, 0, 0, 79, 118, 101, 114, 102, 108, 111, 119, 32, 119, 104, 101, 110, 32, 99, 97, 108, 99, 117, 108, 97, 116, 105, 110, 103, 32, 111, 117, 116, 112, 117, 116, 32, 98, 117, 102, 102, 101, 114, 32, 108, 101, 110, 103, 116, 104, 0, 0, 108, 13, 16, 0, 85, 0, 0, 0, 150, 0, 0, 0, 10, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 98, 97, 115, 101, 54, 52, 45, 48, 46, 49, 51, 46, 48, 47, 115, 114, 99, 47, 101, 110, 99, 111, 100, 101, 46, 114, 115, 73, 110, 118, 97, 108, 105, 100, 32, 85, 84, 70, 56, 0, 0, 0, 16, 17, 16, 0, 85, 0, 0, 0, 52, 0, 0, 0, 28, 0, 0, 0, 105, 110, 116, 101, 103, 101, 114, 32, 111, 118, 101, 114, 102, 108, 111, 119, 32, 119, 104, 101, 110, 32, 99, 97, 108, 99, 117, 108, 97, 116, 105, 110, 103, 32, 98, 117, 102, 102, 101, 114, 32, 115, 105, 122, 101, 0, 0, 0, 16, 17, 16, 0, 85, 0, 0, 0, 47, 0, 0, 0, 17, 0, 0, 0, 56, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 67, 0, 0, 0, 105, 110, 118, 97, 108, 105, 100, 32, 98, 97, 115, 101, 54, 52, 58, 32, 212, 17, 16, 0, 16, 0, 0, 0, 85, 110, 115, 117, 112, 112, 111, 114, 116, 101, 100, 32, 113, 117, 101, 114, 121, 32, 116, 121, 112, 101, 58, 32, 236, 17, 16, 0, 24, 0, 0, 0, 85, 110, 107, 110, 111, 119, 110, 32, 115, 121, 115, 116, 101, 109, 32, 101, 114, 114, 111, 114, 12, 18, 16, 0, 20, 0, 0, 0, 78, 111, 32, 115, 117, 99, 104, 32, 99, 111, 110, 116, 114, 97, 99, 116, 58, 32, 0, 0, 40, 18, 16, 0, 18, 0, 0, 0, 67, 97, 110, 110, 111, 116, 32, 112, 97, 114, 115, 101, 32, 114, 101, 115, 112, 111, 110, 115, 101, 58, 32, 32, 105, 110, 58, 32, 68, 18, 16, 0, 23, 0, 0, 0, 91, 18, 16, 0, 5, 0, 0, 0, 67, 97, 110, 110, 111, 116, 32, 112, 97, 114, 115, 101, 32, 114, 101, 113, 117, 101, 115, 116, 58, 32, 0, 0, 112, 18, 16, 0, 22, 0, 0, 0, 91, 18, 16, 0, 5, 0, 0, 0, 47, 99, 111, 100, 101, 47, 112, 97, 99, 107, 97, 103, 101, 115, 47, 115, 116, 100, 47, 115, 114, 99, 47, 115, 101, 99, 116, 105, 111, 110, 115, 46, 114, 115, 0, 0, 152, 18, 16, 0, 34, 0, 0, 0, 26, 0, 0, 0, 16, 0, 0, 0, 152, 18, 16, 0, 34, 0, 0, 0, 26, 0, 0, 0, 5, 0, 0, 0, 84, 76, 59, 68, 82, 58, 32, 86, 97, 108, 117, 101, 32, 109, 117, 115, 116, 32, 110, 111, 116, 32, 98, 101, 32, 101, 109, 112, 116, 121, 32, 105, 110, 32, 83, 116, 111, 114, 97, 103, 101, 58, 58, 115, 101, 116, 32, 98, 117, 116, 32, 105, 110, 32, 109, 111, 115, 116, 32, 99, 97, 115, 101, 115, 32, 121, 111, 117, 32, 99, 97, 110, 32, 117, 115, 101, 32, 83, 116, 111, 114, 97, 103, 101, 58, 58, 114, 101, 109, 111, 118, 101, 32, 105, 110, 115, 116, 101, 97, 100, 46, 32, 76, 111, 110, 103, 32, 115, 116, 111, 114, 121, 58, 32, 71, 101, 116, 116, 105, 110, 103, 32, 101, 109, 112, 116, 121, 32, 118, 97, 108, 117, 101, 115, 32, 102, 114, 111, 109, 32, 115, 116, 111, 114, 97, 103, 101, 32, 105, 115, 32, 110, 111, 116, 32, 119, 101, 108, 108, 32, 115, 117, 112, 112, 111, 114, 116, 101, 100, 32, 97, 116, 32, 116, 104, 101, 32, 109, 111, 109, 101, 110, 116, 46, 32, 83, 111, 109, 101, 32, 111, 102, 32, 111, 117, 114, 32, 105, 110, 116, 101, 114, 110, 97, 108, 32, 105, 110, 116, 101, 114, 102, 97, 99, 101, 115, 32, 99, 97, 110, 110, 111, 116, 32, 100, 105, 102, 102, 101, 114, 101, 110, 116, 105, 97, 116, 101, 32, 98, 101, 116, 119, 101, 101, 110, 32, 97, 32, 110, 111, 110, 45, 101, 120, 105, 115, 116, 101, 110, 116, 32, 107, 101, 121, 32, 97, 110, 100, 32, 97, 110, 32, 101, 109, 112, 116, 121, 32, 118, 97, 108, 117, 101, 46, 32, 82, 105, 103, 104, 116, 32, 110, 111, 119, 44, 32, 121, 111, 117, 32, 99, 97, 110, 110, 111, 116, 32, 114, 101, 108, 121, 32, 111, 110, 32, 116, 104, 101, 32, 98, 101, 104, 97, 118, 105, 111, 117, 114, 32, 111, 102, 32, 101, 109, 112, 116, 121, 32, 118, 97, 108, 117, 101, 115, 46, 32, 84, 111, 32, 112, 114, 111, 116, 101, 99, 116, 32, 121, 111, 117, 32, 102, 114, 111, 109, 32, 116, 114, 111, 117, 98, 108, 101, 32, 108, 97, 116, 101, 114, 32, 111, 110, 44, 32, 119, 101, 32, 115, 116, 111, 112, 32, 104, 101, 114, 101, 46, 32, 83, 111, 114, 114, 121, 32, 102, 111, 114, 32, 116, 104, 101, 32, 105, 110, 99, 111, 110, 118, 101, 110, 105, 101, 110, 99, 101, 33, 32, 87, 101, 32, 104, 105, 103, 104, 108, 121, 32, 119, 101, 108, 99, 111, 109, 101, 32, 121, 111, 117, 32, 116, 111, 32, 99, 111, 110, 116, 114, 105, 98, 117, 116, 101, 32, 116, 111, 32, 67, 111, 115, 109, 87, 97, 115, 109, 44, 32, 109, 97, 107, 105, 110, 103, 32, 116, 104, 105, 115, 32, 109, 111, 114, 101, 32, 115, 111, 108, 105, 100, 32, 111, 110, 101, 32, 119, 97, 121, 32, 111, 114, 32, 116, 104, 101, 32, 111, 116, 104, 101, 114, 46, 47, 99, 111, 100, 101, 47, 112, 97, 99, 107, 97, 103, 101, 115, 47, 115, 116, 100, 47, 115, 114, 99, 47, 105, 109, 112, 111, 114, 116, 115, 46, 114, 115, 0, 0, 0, 228, 20, 16, 0, 33, 0, 0, 0, 87, 0, 0, 0, 13, 0, 0, 0, 97, 100, 100, 114, 95, 118, 97, 108, 105, 100, 97, 116, 101, 32, 101, 114, 114, 111, 114, 101, 100, 58, 32, 0, 24, 21, 16, 0, 23, 0, 0, 0, 97, 100, 100, 114, 95, 99, 97, 110, 111, 110, 105, 99, 97, 108, 105, 122, 101, 32, 101, 114, 114, 111, 114, 101, 100, 58, 32, 0, 56, 21, 16, 0, 27, 0, 0, 0, 97, 100, 100, 114, 95, 104, 117, 109, 97, 110, 105, 122, 101, 32, 101, 114, 114, 111, 114, 101, 100, 58, 32, 0, 92, 21, 16, 0, 23, 0, 0, 0, 77, 101, 115, 115, 97, 103, 101, 84, 111, 111, 76, 111, 110, 103, 32, 109, 117, 115, 116, 32, 110, 111, 116, 32, 104, 97, 112, 112, 101, 110, 46, 32, 84, 104, 105, 115, 32, 105, 115, 32, 97, 32, 98, 117, 103, 32, 105, 110, 32, 116, 104, 101, 32, 86, 77, 46, 228, 20, 16, 0, 33, 0, 0, 0, 228, 0, 0, 0, 18, 0, 0, 0, 228, 20, 16, 0, 33, 0, 0, 0, 1, 1, 0, 0, 18, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 72, 97, 115, 104, 70, 111, 114, 109, 97, 116, 32, 109, 117, 115, 116, 32, 110, 111, 116, 32, 104, 97, 112, 112, 101, 110, 46, 32, 84, 104, 105, 115, 32, 105, 115, 32, 97, 32, 98, 117, 103, 32, 105, 110, 32, 116, 104, 101, 32, 86, 77, 46, 0, 228, 20, 16, 0, 33, 0, 0, 0, 27, 1, 0, 0, 18, 0, 0, 0, 228, 20, 16, 0, 33, 0, 0, 0, 59, 1, 0, 0, 18, 0, 0, 0, 47, 99, 111, 100, 101, 47, 112, 97, 99, 107, 97, 103, 101, 115, 47, 115, 116, 100, 47, 115, 114, 99, 47, 109, 101, 109, 111, 114, 121, 46, 114, 115, 82, 101, 103, 105, 111, 110, 32, 112, 111, 105, 110, 116, 101, 114, 32, 105, 115, 32, 110, 117, 108, 108, 0, 0, 48, 22, 16, 0, 32, 0, 0, 0, 57, 0, 0, 0, 5, 0, 0, 0, 82, 101, 103, 105, 111, 110, 32, 115, 116, 97, 114, 116, 115, 32, 97, 116, 32, 110, 117, 108, 108, 32, 112, 111, 105, 110, 116, 101, 114, 0, 0, 0, 48, 22, 16, 0, 32, 0, 0, 0, 63, 0, 0, 0, 5, 0, 0, 0, 65, 100, 100, 114, 67, 97, 110, 111, 110, 105, 99, 97, 108, 65, 100, 100, 114, 66, 105, 110, 97, 114, 121, 0, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 68, 0, 0, 0, 85, 110, 107, 110, 111, 119, 110, 69, 114, 114, 101, 114, 114, 111, 114, 95, 99, 111, 100, 101, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 69, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 82, 101, 99, 111, 118, 101, 114, 121, 80, 97, 114, 97, 109, 73, 110, 118, 97, 108, 105, 100, 83, 105, 103, 110, 97, 116, 117, 114, 101, 70, 111, 114, 109, 97, 116, 73, 110, 118, 97, 108, 105, 100, 72, 97, 115, 104, 70, 111, 114, 109, 97, 116, 85, 110, 107, 110, 111, 119, 110, 32, 101, 114, 114, 111, 114, 58, 32, 0, 0, 47, 23, 16, 0, 15, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 32, 114, 101, 99, 111, 118, 101, 114, 121, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 46, 32, 83, 117, 112, 112, 111, 114, 116, 101, 100, 32, 118, 97, 108, 117, 101, 115, 58, 32, 48, 32, 97, 110, 100, 32, 49, 46, 0, 0, 72, 23, 16, 0, 54, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 32, 115, 105, 103, 110, 97, 116, 117, 114, 101, 32, 102, 111, 114, 109, 97, 116, 136, 23, 16, 0, 24, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 32, 104, 97, 115, 104, 32, 102, 111, 114, 109, 97, 116, 0, 168, 23, 16, 0, 19, 0, 0, 0, 68, 105, 118, 105, 100, 101, 66, 121, 90, 101, 114, 111, 115, 111, 117, 114, 99, 101, 0, 0, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 70, 0, 0, 0, 79, 118, 101, 114, 102, 108, 111, 119, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 71, 0, 0, 0, 83, 101, 114, 105, 97, 108, 105, 122, 101, 69, 114, 114, 115, 111, 117, 114, 99, 101, 95, 116, 121, 112, 101, 109, 115, 103, 80, 97, 114, 115, 101, 69, 114, 114, 116, 97, 114, 103, 101, 116, 95, 116, 121, 112, 101, 78, 111, 116, 70, 111, 117, 110, 100, 107, 105, 110, 100, 73, 110, 118, 97, 108, 105, 100, 85, 116, 102, 56, 73, 110, 118, 97, 108, 105, 100, 68, 97, 116, 97, 83, 105, 122, 101, 101, 120, 112, 101, 99, 116, 101, 100, 0, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 72, 0, 0, 0, 97, 99, 116, 117, 97, 108, 73, 110, 118, 97, 108, 105, 100, 66, 97, 115, 101, 54, 52, 71, 101, 110, 101, 114, 105, 99, 69, 114, 114, 82, 101, 99, 111, 118, 101, 114, 80, 117, 98, 107, 101, 121, 69, 114, 114, 0, 0, 0, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 73, 0, 0, 0, 86, 101, 114, 105, 102, 105, 99, 97, 116, 105, 111, 110, 69, 114, 114, 0, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 74, 0, 0, 0, 68, 105, 118, 105, 100, 101, 32, 98, 121, 32, 122, 101, 114, 111, 58, 32, 204, 24, 16, 0, 16, 0, 0, 0, 79, 118, 101, 114, 102, 108, 111, 119, 58, 32, 0, 0, 228, 24, 16, 0, 10, 0, 0, 0, 69, 114, 114, 111, 114, 32, 115, 101, 114, 105, 97, 108, 105, 122, 105, 110, 103, 32, 116, 121, 112, 101, 32, 58, 32, 0, 0, 0, 248, 24, 16, 0, 23, 0, 0, 0, 15, 25, 16, 0, 2, 0, 0, 0, 69, 114, 114, 111, 114, 32, 112, 97, 114, 115, 105, 110, 103, 32, 105, 110, 116, 111, 32, 116, 121, 112, 101, 32, 36, 25, 16, 0, 24, 0, 0, 0, 15, 25, 16, 0, 2, 0, 0, 0, 32, 110, 111, 116, 32, 102, 111, 117, 110, 100, 0, 0, 128, 10, 16, 0, 0, 0, 0, 0, 76, 25, 16, 0, 10, 0, 0, 0, 67, 97, 110, 110, 111, 116, 32, 100, 101, 99, 111, 100, 101, 32, 85, 84, 70, 56, 32, 98, 121, 116, 101, 115, 32, 105, 110, 116, 111, 32, 115, 116, 114, 105, 110, 103, 58, 32, 0, 0, 104, 25, 16, 0, 38, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 32, 100, 97, 116, 97, 32, 115, 105, 122, 101, 58, 32, 101, 120, 112, 101, 99, 116, 101, 100, 61, 32, 97, 99, 116, 117, 97, 108, 61, 152, 25, 16, 0, 28, 0, 0, 0, 180, 25, 16, 0, 8, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 32, 66, 97, 115, 101, 54, 52, 32, 115, 116, 114, 105, 110, 103, 58, 32, 0, 204, 25, 16, 0, 23, 0, 0, 0, 71, 101, 110, 101, 114, 105, 99, 32, 101, 114, 114, 111, 114, 58, 32, 0, 236, 25, 16, 0, 15, 0, 0, 0, 82, 101, 99, 111, 118, 101, 114, 32, 112, 117, 98, 107, 101, 121, 32, 101, 114, 114, 111, 114, 58, 32, 0, 0, 4, 26, 16, 0, 22, 0, 0, 0, 86, 101, 114, 105, 102, 105, 99, 97, 116, 105, 111, 110, 32, 101, 114, 114, 111, 114, 58, 32, 36, 26, 16, 0, 20, 0, 0, 0, 80, 111, 119, 77, 117, 108, 83, 117, 98, 65, 100, 100, 79, 118, 101, 114, 102, 108, 111, 119, 69, 114, 114, 111, 114, 111, 112, 101, 114, 97, 116, 105, 111, 110, 0, 0, 56, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 40, 0, 0, 0, 111, 112, 101, 114, 97, 110, 100, 49, 111, 112, 101, 114, 97, 110, 100, 50, 67, 97, 110, 110, 111, 116, 32, 32, 119, 105, 116, 104, 32, 32, 97, 110, 100, 32, 0, 0, 132, 26, 16, 0, 7, 0, 0, 0, 139, 26, 16, 0, 6, 0, 0, 0, 145, 26, 16, 0, 5, 0, 0, 0, 68, 105, 118, 105, 100, 101, 66, 121, 90, 101, 114, 111, 69, 114, 114, 111, 114, 111, 112, 101, 114, 97, 110, 100, 67, 97, 110, 110, 111, 116, 32, 100, 101, 118, 105, 100, 101, 32, 32, 98, 121, 32, 122, 101, 114, 111, 0, 0, 200, 26, 16, 0, 14, 0, 0, 0, 214, 26, 16, 0, 8, 0, 0, 0, 105, 110, 118, 97, 108, 105, 100, 95, 114, 101, 113, 117, 101, 115, 116, 101, 114, 114, 111, 114, 114, 101, 113, 117, 101, 115, 116, 105, 110, 118, 97, 108, 105, 100, 95, 114, 101, 115, 112, 111, 110, 115, 101, 114, 101, 115, 112, 111, 110, 115, 101, 110, 111, 95, 115, 117, 99, 104, 95, 99, 111, 110, 116, 114, 97, 99, 116, 97, 100, 100, 114, 117, 110, 107, 110, 111, 119, 110, 117, 110, 115, 117, 112, 112, 111, 114, 116, 101, 100, 95, 114, 101, 113, 117, 101, 115, 116, 0, 0, 0, 240, 26, 16, 0, 15, 0, 0, 0, 11, 27, 16, 0, 16, 0, 0, 0, 35, 27, 16, 0, 16, 0, 0, 0, 55, 27, 16, 0, 7, 0, 0, 0, 62, 27, 16, 0, 19, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 80, 117, 98, 107, 101, 121, 70, 111, 114, 109, 97, 116, 77, 101, 115, 115, 97, 103, 101, 84, 111, 111, 76, 111, 110, 103, 66, 97, 116, 99, 104, 69, 114, 114, 73, 110, 118, 97, 108, 105, 100, 32, 112, 117, 98, 108, 105, 99, 32, 107, 101, 121, 32, 102, 111, 114, 109, 97, 116, 0, 0, 165, 27, 16, 0, 25, 0, 0, 0, 77, 101, 115, 115, 97, 103, 101, 32, 105, 115, 32, 108, 111, 110, 103, 101, 114, 32, 116, 104, 97, 110, 32, 115, 117, 112, 112, 111, 114, 116, 101, 100, 200, 27, 16, 0, 32, 0, 0, 0, 71, 101, 110, 101, 114, 105, 99, 32, 101, 114, 114, 111, 114, 0, 0, 0, 240, 27, 16, 0, 13, 0, 0, 0, 66, 97, 116, 99, 104, 32, 101, 114, 114, 111, 114, 0, 8, 28, 16, 0, 11, 0, 0, 0, 111, 107, 0, 0, 28, 28, 16, 0, 2, 0, 0, 0, 255, 26, 16, 0, 5, 0, 0, 0, 77, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 77, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 80, 0, 0, 0, 68, 28, 16, 0, 0, 0, 0, 0, 74, 83, 79, 78, 32, 104, 97, 115, 32, 97, 32, 99, 111, 109, 109, 97, 32, 97, 102, 116, 101, 114, 32, 116, 104, 101, 32, 108, 97, 115, 116, 32, 118, 97, 108, 117, 101, 32, 105, 110, 32, 97, 110, 32, 97, 114, 114, 97, 121, 32, 111, 114, 32, 109, 97, 112, 46, 74, 83, 79, 78, 32, 104, 97, 115, 32, 110, 111, 110, 45, 119, 104, 105, 116, 101, 115, 112, 97, 99, 101, 32, 116, 114, 97, 105, 108, 105, 110, 103, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 115, 32, 97, 102, 116, 101, 114, 32, 116, 104, 101, 32, 118, 97, 108, 117, 101, 46, 70, 111, 117, 110, 100, 32, 97, 32, 108, 111, 110, 101, 32, 115, 117, 114, 114, 111, 103, 97, 116, 101, 44, 32, 119, 104, 105, 99, 104, 32, 99, 97, 110, 32, 101, 120, 105, 115, 116, 32, 105, 110, 32, 74, 83, 79, 78, 32, 98, 117, 116, 32, 99, 97, 110, 110, 111, 116, 32, 98, 101, 32, 101, 110, 99, 111, 100, 101, 100, 32, 116, 111, 32, 85, 84, 70, 45, 56, 46, 79, 98, 106, 101, 99, 116, 32, 107, 101, 121, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 115, 116, 114, 105, 110, 103, 46, 73, 110, 118, 97, 108, 105, 100, 32, 117, 110, 105, 99, 111, 100, 101, 32, 99, 111, 100, 101, 32, 112, 111, 105, 110, 116, 46, 73, 110, 118, 97, 108, 105, 100, 32, 116, 121, 112, 101, 73, 110, 118, 97, 108, 105, 100, 32, 110, 117, 109, 98, 101, 114, 46, 73, 110, 118, 97, 108, 105, 100, 32, 101, 115, 99, 97, 112, 101, 32, 115, 101, 113, 117, 101, 110, 99, 101, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 116, 104, 105, 115, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 116, 111, 32, 115, 116, 97, 114, 116, 32, 97, 32, 74, 83, 79, 78, 32, 118, 97, 108, 117, 101, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 116, 111, 32, 112, 97, 114, 115, 101, 32, 101, 105, 116, 104, 101, 114, 32, 97, 32, 96, 116, 114, 117, 101, 96, 44, 32, 96, 102, 97, 108, 115, 101, 96, 44, 32, 111, 114, 32, 97, 32, 96, 110, 117, 108, 108, 96, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 116, 104, 105, 115, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 116, 111, 32, 98, 101, 32, 101, 105, 116, 104, 101, 114, 32, 97, 32, 96, 39, 44, 39, 96, 32, 111, 114, 32, 97, 32, 96, 39, 125, 39, 96, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 97, 32, 108, 111, 119, 32, 115, 117, 114, 114, 111, 103, 97, 116, 101, 32, 40, 68, 67, 48, 48, 226, 128, 147, 68, 70, 70, 70, 41, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 116, 104, 105, 115, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 116, 111, 32, 98, 101, 32, 101, 105, 116, 104, 101, 114, 32, 97, 32, 96, 39, 44, 39, 96, 32, 111, 114, 97, 32, 96, 39, 93, 39, 96, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 97, 32, 104, 105, 103, 104, 32, 115, 117, 114, 114, 111, 103, 97, 116, 101, 32, 40, 68, 56, 48, 48, 226, 128, 147, 68, 66, 70, 70, 41, 46, 69, 120, 112, 101, 99, 116, 101, 100, 32, 116, 104, 105, 115, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 116, 111, 32, 98, 101, 32, 97, 32, 96, 39, 58, 39, 96, 46, 69, 79, 70, 32, 119, 104, 105, 108, 101, 32, 112, 97, 114, 115, 105, 110, 103, 32, 97, 32, 74, 83, 79, 78, 32, 118, 97, 108, 117, 101, 46, 69, 79, 70, 32, 119, 104, 105, 108, 101, 32, 112, 97, 114, 115, 105, 110, 103, 32, 97, 32, 115, 116, 114, 105, 110, 103, 46, 69, 79, 70, 32, 119, 104, 105, 108, 101, 32, 112, 97, 114, 115, 105, 110, 103, 32, 97, 110, 32, 111, 98, 106, 101, 99, 116, 46, 69, 79, 70, 32, 119, 104, 105, 108, 101, 32, 112, 97, 114, 115, 105, 110, 103, 32, 97, 32, 108, 105, 115, 116, 46, 67, 111, 110, 116, 114, 111, 108, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 102, 111, 117, 110, 100, 32, 105, 110, 32, 115, 116, 114, 105, 110, 103, 46, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 115, 101, 114, 100, 101, 45, 106, 115, 111, 110, 45, 119, 97, 115, 109, 45, 48, 46, 51, 46, 49, 47, 115, 114, 99, 47, 100, 101, 47, 117, 110, 101, 115, 99, 97, 112, 101, 46, 114, 115, 0, 0, 100, 31, 16, 0, 98, 0, 0, 0, 37, 0, 0, 0, 21, 0, 65, 224, 191, 192, 0, 11, 165, 3, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 97, 100, 100, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 100, 31, 16, 0, 98, 0, 0, 0, 51, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 115, 117, 98, 116, 114, 97, 99, 116, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 78, 111, 110, 45, 104, 101, 120, 32, 65, 83, 67, 73, 73, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 102, 111, 117, 110, 100, 0, 0, 100, 31, 16, 0, 98, 0, 0, 0, 153, 0, 0, 0, 14, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 115, 101, 114, 100, 101, 45, 106, 115, 111, 110, 45, 119, 97, 115, 109, 45, 48, 46, 51, 46, 49, 47, 115, 114, 99, 47, 100, 101, 47, 109, 111, 100, 46, 114, 115, 0, 0, 0, 96, 32, 16, 0, 93, 0, 0, 0, 36, 0, 0, 0, 9, 0, 0, 0, 96, 32, 16, 0, 93, 0, 0, 0, 125, 0, 0, 0, 34, 0, 0, 0, 96, 32, 16, 0, 93, 0, 0, 0, 129, 0, 0, 0, 44, 0, 0, 0, 66, 117, 102, 102, 101, 114, 32, 105, 115, 32, 102, 117, 108, 108, 0, 0, 240, 32, 16, 0, 14, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 115, 101, 114, 100, 101, 45, 106, 115, 111, 110, 45, 119, 97, 115, 109, 45, 48, 46, 51, 46, 49, 47, 115, 114, 99, 47, 115, 101, 114, 47, 109, 111, 100, 46, 114, 115, 0, 0, 8, 33, 16, 0, 94, 0, 0, 0, 201, 0, 0, 0, 9, 0, 0, 0, 8, 33, 16, 0, 94, 0, 0, 0, 206, 0, 0, 0, 9, 0, 65, 144, 195, 192, 0, 11, 33, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 115, 117, 98, 116, 114, 97, 99, 116, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 0, 65, 192, 195, 192, 0, 11, 241, 26, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 97, 100, 100, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 98, 97, 115, 101, 54, 52, 45, 48, 46, 49, 51, 46, 48, 47, 115, 114, 99, 47, 101, 110, 99, 111, 100, 101, 46, 114, 115, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 146, 0, 0, 0, 39, 0, 0, 0, 117, 115, 105, 122, 101, 32, 111, 118, 101, 114, 102, 108, 111, 119, 32, 119, 104, 101, 110, 32, 99, 97, 108, 99, 117, 108, 97, 116, 105, 110, 103, 32, 98, 54, 52, 32, 108, 101, 110, 103, 116, 104, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 153, 0, 0, 0, 10, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 182, 0, 0, 0, 51, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 182, 0, 0, 0, 32, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 183, 0, 0, 0, 58, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 183, 0, 0, 0, 37, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 247, 0, 0, 0, 24, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 252, 0, 0, 0, 47, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 252, 0, 0, 0, 28, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 253, 0, 0, 0, 54, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 253, 0, 0, 0, 33, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 19, 1, 0, 0, 46, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 19, 1, 0, 0, 9, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 20, 1, 0, 0, 9, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 11, 1, 0, 0, 46, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 11, 1, 0, 0, 9, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 13, 1, 0, 0, 15, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 12, 1, 0, 0, 9, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 15, 1, 0, 0, 9, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 17, 1, 0, 0, 9, 0, 0, 0, 105, 110, 116, 101, 114, 110, 97, 108, 32, 101, 114, 114, 111, 114, 58, 32, 101, 110, 116, 101, 114, 101, 100, 32, 117, 110, 114, 101, 97, 99, 104, 97, 98, 108, 101, 32, 99, 111, 100, 101, 58, 32, 0, 0, 160, 35, 16, 0, 42, 0, 0, 0, 73, 109, 112, 111, 115, 115, 105, 98, 108, 101, 32, 114, 101, 109, 97, 105, 110, 100, 101, 114, 212, 35, 16, 0, 20, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 42, 1, 0, 0, 22, 0, 0, 0, 220, 33, 16, 0, 85, 0, 0, 0, 59, 1, 0, 0, 9, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 32, 108, 97, 115, 116, 32, 115, 121, 109, 98, 111, 108, 32, 44, 32, 111, 102, 102, 115, 101, 116, 32, 46, 0, 0, 16, 36, 16, 0, 20, 0, 0, 0, 36, 36, 16, 0, 9, 0, 0, 0, 45, 36, 16, 0, 1, 0, 0, 0, 69, 110, 99, 111, 100, 101, 100, 32, 116, 101, 120, 116, 32, 99, 97, 110, 110, 111, 116, 32, 104, 97, 118, 101, 32, 97, 32, 54, 45, 98, 105, 116, 32, 114, 101, 109, 97, 105, 110, 100, 101, 114, 46, 0, 72, 36, 16, 0, 43, 0, 0, 0, 73, 110, 118, 97, 108, 105, 100, 32, 98, 121, 116, 101, 32, 0, 0, 0, 124, 36, 16, 0, 13, 0, 0, 0, 36, 36, 16, 0, 9, 0, 0, 0, 45, 36, 16, 0, 1, 0, 0, 0, 79, 118, 101, 114, 102, 108, 111, 119, 32, 119, 104, 101, 110, 32, 99, 97, 108, 99, 117, 108, 97, 116, 105, 110, 103, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 99, 104, 117, 110, 107, 115, 32, 105, 110, 32, 105, 110, 112, 117, 116, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 98, 97, 115, 101, 54, 52, 45, 48, 46, 49, 51, 46, 48, 47, 115, 114, 99, 47, 100, 101, 99, 111, 100, 101, 46, 114, 115, 215, 36, 16, 0, 85, 0, 0, 0, 188, 0, 0, 0, 10, 0, 0, 0, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 96, 97, 98, 99, 100, 101, 104, 105, 106, 107, 108, 109, 112, 113, 114, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 44, 46, 47, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 45, 95, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 255, 255, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 255, 255, 255, 255, 255, 255, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 255, 38, 39, 40, 41, 42, 43, 44, 255, 45, 46, 47, 48, 255, 255, 255, 255, 49, 50, 51, 52, 53, 54, 255, 255, 55, 56, 57, 58, 59, 60, 255, 255, 61, 62, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 63, 255, 255, 255, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 255, 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 1, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 255, 255, 255, 255, 255, 255, 255, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 255, 255, 255, 255, 255, 255, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 255, 255, 255, 255, 255, 255, 255, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 255, 255, 255, 255, 255, 255, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 63, 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 255, 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 124, 38, 16, 0, 60, 38, 16, 0, 252, 37, 16, 0, 188, 37, 16, 0, 124, 37, 16, 0, 60, 37, 16, 0, 188, 43, 16, 0, 188, 42, 16, 0, 188, 41, 16, 0, 188, 40, 16, 0, 188, 39, 16, 0, 188, 38, 16, 0, 86, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 86, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 89, 0, 0, 0, 96, 111, 110, 101, 32, 111, 102, 32, 17, 45, 16, 0, 7, 0, 0, 0, 44, 32, 0, 0, 32, 45, 16, 0, 2, 0, 0, 0, 16, 45, 16, 0, 1, 0, 0, 0, 16, 45, 16, 0, 1, 0, 0, 0, 96, 32, 111, 114, 32, 96, 0, 0, 16, 45, 16, 0, 1, 0, 0, 0, 60, 45, 16, 0, 6, 0, 0, 0, 16, 45, 16, 0, 1, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 115, 101, 114, 100, 101, 45, 49, 46, 48, 46, 49, 49, 56, 47, 115, 114, 99, 47, 100, 101, 47, 109, 111, 100, 46, 114, 115, 101, 120, 112, 108, 105, 99, 105, 116, 32, 112, 97, 110, 105, 99, 0, 92, 45, 16, 0, 85, 0, 0, 0, 213, 8, 0, 0, 18, 0, 0, 0, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 103, 101, 110, 101, 114, 105, 99, 45, 97, 114, 114, 97, 121, 45, 48, 46, 49, 52, 46, 52, 47, 115, 114, 99, 47, 108, 105, 98, 46, 114, 115, 0, 0, 0, 208, 45, 16, 0, 89, 0, 0, 0, 130, 1, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 97, 100, 100, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 98, 108, 111, 99, 107, 45, 98, 117, 102, 102, 101, 114, 45, 48, 46, 57, 46, 48, 47, 115, 114, 99, 47, 108, 105, 98, 46, 114, 115, 0, 92, 46, 16, 0, 87, 0, 0, 0, 132, 0, 0, 0, 9, 0, 0, 0, 92, 46, 16, 0, 87, 0, 0, 0, 133, 0, 0, 0, 9, 0, 0, 0, 92, 46, 16, 0, 87, 0, 0, 0, 135, 0, 0, 0, 23, 0, 0, 0, 92, 46, 16, 0, 87, 0, 0, 0, 139, 0, 0, 0, 27, 0, 0, 0, 92, 46, 16, 0, 87, 0, 0, 0, 58, 0, 0, 0, 35, 0, 0, 0, 92, 46, 16, 0, 87, 0, 0, 0, 58, 0, 0, 0, 13, 0, 0, 0, 92, 46, 16, 0, 87, 0, 0, 0, 59, 0, 0, 0, 13, 0, 0, 0, 92, 46, 16, 0, 87, 0, 0, 0, 65, 0, 0, 0, 13, 0, 65, 192, 222, 192, 0, 11, 216, 16, 97, 116, 116, 101, 109, 112, 116, 32, 116, 111, 32, 115, 117, 98, 116, 114, 97, 99, 116, 32, 119, 105, 116, 104, 32, 111, 118, 101, 114, 102, 108, 111, 119, 0, 0, 0, 92, 46, 16, 0, 87, 0, 0, 0, 214, 0, 0, 0, 9, 0, 0, 0, 47, 114, 117, 115, 116, 99, 47, 50, 102, 100, 55, 51, 102, 97, 98, 101, 52, 54, 57, 51, 53, 55, 97, 49, 50, 99, 50, 99, 57, 55, 52, 99, 49, 52, 48, 102, 54, 55, 101, 55, 99, 100, 100, 55, 54, 100, 48, 47, 108, 105, 98, 114, 97, 114, 121, 47, 99, 111, 114, 101, 47, 115, 114, 99, 47, 115, 108, 105, 99, 101, 47, 109, 111, 100, 46, 114, 115, 0, 0, 0, 116, 47, 16, 0, 77, 0, 0, 0, 198, 11, 0, 0, 13, 0, 0, 0, 103, 230, 9, 106, 133, 174, 103, 187, 114, 243, 110, 60, 58, 245, 79, 165, 127, 82, 14, 81, 140, 104, 5, 155, 171, 217, 131, 31, 25, 205, 224, 91, 47, 117, 115, 114, 47, 108, 111, 99, 97, 108, 47, 99, 97, 114, 103, 111, 47, 114, 101, 103, 105, 115, 116, 114, 121, 47, 115, 114, 99, 47, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, 45, 49, 101, 99, 99, 54, 50, 57, 57, 100, 98, 57, 101, 99, 56, 50, 51, 47, 115, 104, 97, 50, 45, 48, 46, 57, 46, 50, 47, 115, 114, 99, 47, 115, 104, 97, 50, 53, 54, 46, 114, 115, 0, 0, 244, 47, 16, 0, 82, 0, 0, 0, 31, 0, 0, 0, 9, 0, 0, 0, 91, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 94, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 95, 0, 0, 0, 99, 97, 108, 108, 101, 100, 32, 96, 79, 112, 116, 105, 111, 110, 58, 58, 117, 110, 119, 114, 97, 112, 40, 41, 96, 32, 111, 110, 32, 97, 32, 96, 78, 111, 110, 101, 96, 32, 118, 97, 108, 117, 101, 108, 105, 98, 114, 97, 114, 121, 47, 115, 116, 100, 47, 115, 114, 99, 47, 112, 97, 110, 105, 99, 107, 105, 110, 103, 46, 114, 115, 0, 171, 48, 16, 0, 28, 0, 0, 0, 235, 1, 0, 0, 31, 0, 0, 0, 171, 48, 16, 0, 28, 0, 0, 0, 236, 1, 0, 0, 30, 0, 0, 0, 96, 0, 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 97, 0, 0, 0, 98, 0, 0, 0, 91, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 99, 0, 0, 0, 100, 0, 0, 0, 101, 0, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 102, 0, 0, 0, 91, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 105, 0, 0, 0, 106, 0, 0, 0, 107, 0, 0, 0, 104, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 108, 0, 0, 0, 47, 114, 117, 115, 116, 99, 47, 50, 102, 100, 55, 51, 102, 97, 98, 101, 52, 54, 57, 51, 53, 55, 97, 49, 50, 99, 50, 99, 57, 55, 52, 99, 49, 52, 48, 102, 54, 55, 101, 55, 99, 100, 100, 55, 54, 100, 48, 47, 108, 105, 98, 114, 97, 114, 121, 47, 99, 111, 114, 101, 47, 115, 114, 99, 47, 102, 109, 116, 47, 109, 111, 100, 46, 114, 115, 0, 88, 49, 16, 0, 75, 0, 0, 0, 90, 1, 0, 0, 19, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 36, 0, 0, 0, 97, 32, 102, 111, 114, 109, 97, 116, 116, 105, 110, 103, 32, 116, 114, 97, 105, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 114, 101, 116, 117, 114, 110, 101, 100, 32, 97, 110, 32, 101, 114, 114, 111, 114, 108, 105, 98, 114, 97, 114, 121, 47, 97, 108, 108, 111, 99, 47, 115, 114, 99, 47, 102, 109, 116, 46, 114, 115, 0, 247, 49, 16, 0, 24, 0, 0, 0, 66, 2, 0, 0, 28, 0, 0, 0, 108, 105, 98, 114, 97, 114, 121, 47, 97, 108, 108, 111, 99, 47, 115, 114, 99, 47, 114, 97, 119, 95, 118, 101, 99, 46, 114, 115, 99, 97, 112, 97, 99, 105, 116, 121, 32, 111, 118, 101, 114, 102, 108, 111, 119, 0, 0, 0, 32, 50, 16, 0, 28, 0, 0, 0, 24, 2, 0, 0, 5, 0, 0, 0, 239, 191, 189, 70, 114, 111, 109, 85, 116, 102, 56, 69, 114, 114, 111, 114, 98, 121, 116, 101, 115, 0, 0, 0, 104, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 109, 0, 0, 0, 101, 114, 114, 111, 114, 0, 0, 0, 104, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 110, 0, 0, 0, 96, 0, 110, 117, 109, 98, 101, 114, 32, 119, 111, 117, 108, 100, 32, 98, 101, 32, 122, 101, 114, 111, 32, 102, 111, 114, 32, 110, 111, 110, 45, 122, 101, 114, 111, 32, 116, 121, 112, 101, 110, 117, 109, 98, 101, 114, 32, 116, 111, 111, 32, 115, 109, 97, 108, 108, 32, 116, 111, 32, 102, 105, 116, 32, 105, 110, 32, 116, 97, 114, 103, 101, 116, 32, 116, 121, 112, 101, 110, 117, 109, 98, 101, 114, 32, 116, 111, 111, 32, 108, 97, 114, 103, 101, 32, 116, 111, 32, 102, 105, 116, 32, 105, 110, 32, 116, 97, 114, 103, 101, 116, 32, 116, 121, 112, 101, 105, 110, 118, 97, 108, 105, 100, 32, 100, 105, 103, 105, 116, 32, 102, 111, 117, 110, 100, 32, 105, 110, 32, 115, 116, 114, 105, 110, 103, 99, 97, 110, 110, 111, 116, 32, 112, 97, 114, 115, 101, 32, 105, 110, 116, 101, 103, 101, 114, 32, 102, 114, 111, 109, 32, 101, 109, 112, 116, 121, 32, 115, 116, 114, 105, 110, 103, 46, 46, 0, 0, 0, 87, 51, 16, 0, 2, 0, 0, 0, 99, 97, 108, 108, 101, 100, 32, 96, 79, 112, 116, 105, 111, 110, 58, 58, 117, 110, 119, 114, 97, 112, 40, 41, 96, 32, 111, 110, 32, 97, 32, 96, 78, 111, 110, 101, 96, 32, 118, 97, 108, 117, 101, 0, 160, 50, 16, 0, 0, 0, 0, 0, 58, 32, 0, 0, 160, 50, 16, 0, 0, 0, 0, 0, 152, 51, 16, 0, 2, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 117, 0, 0, 0, 105, 110, 100, 101, 120, 32, 111, 117, 116, 32, 111, 102, 32, 98, 111, 117, 110, 100, 115, 58, 32, 116, 104, 101, 32, 108, 101, 110, 32, 105, 115, 32, 32, 98, 117, 116, 32, 116, 104, 101, 32, 105, 110, 100, 101, 120, 32, 105, 115, 32, 0, 0, 188, 51, 16, 0, 32, 0, 0, 0, 220, 51, 16, 0, 18, 0, 0, 0, 108, 105, 98, 114, 97, 114, 121, 47, 99, 111, 114, 101, 47, 115, 114, 99, 47, 102, 109, 116, 47, 98, 117, 105, 108, 100, 101, 114, 115, 46, 114, 115, 116, 0, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 120, 0, 0, 0, 32, 32, 32, 32, 0, 52, 16, 0, 32, 0, 0, 0, 50, 0, 0, 0, 33, 0, 0, 0, 0, 52, 16, 0, 32, 0, 0, 0, 51, 0, 0, 0, 18, 0, 0, 0, 32, 123, 10, 44, 10, 44, 32, 32, 123, 32, 125, 32, 125, 40, 10, 40, 44, 41, 10, 91, 116, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 121, 0, 0, 0, 93, 108, 105, 98, 114, 97, 114, 121, 47, 99, 111, 114, 101, 47, 115, 114, 99, 47, 102, 109, 116, 47, 110, 117, 109, 46, 114, 115, 129, 52, 16, 0, 27, 0, 0, 0, 101, 0, 0, 0, 20, 0, 0, 0, 48, 120, 48, 48, 48, 49, 48, 50, 48, 51, 48, 52, 48, 53, 48, 54, 48, 55, 48, 56, 48, 57, 49, 48, 49, 49, 49, 50, 49, 51, 49, 52, 49, 53, 49, 54, 49, 55, 49, 56, 49, 57, 50, 48, 50, 49, 50, 50, 50, 51, 50, 52, 50, 53, 50, 54, 50, 55, 50, 56, 50, 57, 51, 48, 51, 49, 51, 50, 51, 51, 51, 52, 51, 53, 51, 54, 51, 55, 51, 56, 51, 57, 52, 48, 52, 49, 52, 50, 52, 51, 52, 52, 52, 53, 52, 54, 52, 55, 52, 56, 52, 57, 53, 48, 53, 49, 53, 50, 53, 51, 53, 52, 53, 53, 53, 54, 53, 55, 53, 56, 53, 57, 54, 48, 54, 49, 54, 50, 54, 51, 54, 52, 54, 53, 54, 54, 54, 55, 54, 56, 54, 57, 55, 48, 55, 49, 55, 50, 55, 51, 55, 52, 55, 53, 55, 54, 55, 55, 55, 56, 55, 57, 56, 48, 56, 49, 56, 50, 56, 51, 56, 52, 56, 53, 56, 54, 56, 55, 56, 56, 56, 57, 57, 48, 57, 49, 57, 50, 57, 51, 57, 52, 57, 53, 57, 54, 57, 55, 57, 56, 57, 57, 97, 115, 115, 101, 114, 116, 105, 111, 110, 32, 102, 97, 105, 108, 101, 100, 58, 32, 42, 99, 117, 114, 114, 32, 62, 32, 49, 57, 0, 0, 129, 52, 16, 0, 27, 0, 0, 0, 230, 1, 0, 0, 5, 0, 0, 0, 116, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 122, 0, 0, 0, 123, 0, 0, 0, 124, 0, 0, 0, 108, 105, 98, 114, 97, 114, 121, 47, 99, 111, 114, 101, 47, 115, 114, 99, 47, 102, 109, 116, 47, 109, 111, 100, 46, 114, 115, 0, 188, 53, 16, 0, 27, 0, 0, 0, 16, 8, 0, 0, 30, 0, 0, 0, 188, 53, 16, 0, 27, 0, 0, 0, 23, 8, 0, 0, 22, 0, 0, 0, 108, 105, 98, 114, 97, 114, 121, 47, 99, 111, 114, 101, 47, 115, 114, 99, 47, 115, 108, 105, 99, 101, 47, 109, 101, 109, 99, 104, 114, 46, 114, 115, 248, 53, 16, 0, 32, 0, 0, 0, 90, 0, 0, 0, 5, 0, 0, 0, 114, 97, 110, 103, 101, 32, 115, 116, 97, 114, 116, 32, 105, 110, 100, 101, 120, 32, 32, 111, 117, 116, 32, 111, 102, 32, 114, 97, 110, 103, 101, 32, 102, 111, 114, 32, 115, 108, 105, 99, 101, 32, 111, 102, 32, 108, 101, 110, 103, 116, 104, 32, 40, 54, 16, 0, 18, 0, 0, 0, 58, 54, 16, 0, 34, 0, 0, 0, 114, 97, 110, 103, 101, 32, 101, 110, 100, 32, 105, 110, 100, 101, 120, 32, 108, 54, 16, 0, 16, 0, 0, 0, 58, 54, 16, 0, 34, 0, 0, 0, 115, 108, 105, 99, 101, 32, 105, 110, 100, 101, 120, 32, 115, 116, 97, 114, 116, 115, 32, 97, 116, 32, 32, 98, 117, 116, 32, 101, 110, 100, 115, 32, 97, 116, 32, 0, 140, 54, 16, 0, 22, 0, 0, 0, 162, 54, 16, 0, 13, 0, 0, 0, 115, 111, 117, 114, 99, 101, 32, 115, 108, 105, 99, 101, 32, 108, 101, 110, 103, 116, 104, 32, 40, 41, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 109, 97, 116, 99, 104, 32, 100, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 32, 115, 108, 105, 99, 101, 32, 108, 101, 110, 103, 116, 104, 32, 40, 192, 54, 16, 0, 21, 0, 0, 0, 213, 54, 16, 0, 43, 0, 0, 0, 109, 52, 16, 0, 1, 0, 0, 0, 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, 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, 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, 1, 1, 0, 65, 218, 239, 192, 0, 11, 51, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 0, 65, 152, 240, 192, 0, 11, 208, 21, 108, 105, 98, 114, 97, 114, 121, 47, 99, 111, 114, 101, 47, 115, 114, 99, 47, 115, 116, 114, 47, 108, 111, 115, 115, 121, 46, 114, 115, 0, 0, 0, 24, 56, 16, 0, 29, 0, 0, 0, 130, 0, 0, 0, 25, 0, 0, 0, 24, 56, 16, 0, 29, 0, 0, 0, 121, 0, 0, 0, 29, 0, 0, 0, 24, 56, 16, 0, 29, 0, 0, 0, 125, 0, 0, 0, 29, 0, 0, 0, 24, 56, 16, 0, 29, 0, 0, 0, 116, 0, 0, 0, 33, 0, 0, 0, 24, 56, 16, 0, 29, 0, 0, 0, 106, 0, 0, 0, 29, 0, 0, 0, 24, 56, 16, 0, 29, 0, 0, 0, 101, 0, 0, 0, 33, 0, 0, 0, 24, 56, 16, 0, 29, 0, 0, 0, 90, 0, 0, 0, 29, 0, 0, 0, 91, 46, 46, 46, 93, 98, 121, 116, 101, 32, 105, 110, 100, 101, 120, 32, 32, 105, 115, 32, 111, 117, 116, 32, 111, 102, 32, 98, 111, 117, 110, 100, 115, 32, 111, 102, 32, 96, 0, 0, 173, 56, 16, 0, 11, 0, 0, 0, 184, 56, 16, 0, 22, 0, 0, 0, 160, 50, 16, 0, 1, 0, 0, 0, 98, 101, 103, 105, 110, 32, 60, 61, 32, 101, 110, 100, 32, 40, 32, 60, 61, 32, 41, 32, 119, 104, 101, 110, 32, 115, 108, 105, 99, 105, 110, 103, 32, 96, 0, 0, 232, 56, 16, 0, 14, 0, 0, 0, 246, 56, 16, 0, 4, 0, 0, 0, 250, 56, 16, 0, 16, 0, 0, 0, 160, 50, 16, 0, 1, 0, 0, 0, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 99, 104, 97, 114, 32, 98, 111, 117, 110, 100, 97, 114, 121, 59, 32, 105, 116, 32, 105, 115, 32, 105, 110, 115, 105, 100, 101, 32, 32, 40, 98, 121, 116, 101, 115, 32, 41, 32, 111, 102, 32, 96, 173, 56, 16, 0, 11, 0, 0, 0, 44, 57, 16, 0, 38, 0, 0, 0, 82, 57, 16, 0, 8, 0, 0, 0, 90, 57, 16, 0, 6, 0, 0, 0, 160, 50, 16, 0, 1, 0, 0, 0, 108, 105, 98, 114, 97, 114, 121, 47, 99, 111, 114, 101, 47, 115, 114, 99, 47, 117, 110, 105, 99, 111, 100, 101, 47, 112, 114, 105, 110, 116, 97, 98, 108, 101, 46, 114, 115, 0, 0, 0, 136, 57, 16, 0, 37, 0, 0, 0, 10, 0, 0, 0, 28, 0, 0, 0, 136, 57, 16, 0, 37, 0, 0, 0, 26, 0, 0, 0, 54, 0, 0, 0, 0, 1, 3, 5, 5, 6, 6, 3, 7, 6, 8, 8, 9, 17, 10, 28, 11, 25, 12, 20, 13, 16, 14, 13, 15, 4, 16, 3, 18, 18, 19, 9, 22, 1, 23, 5, 24, 2, 25, 3, 26, 7, 28, 2, 29, 1, 31, 22, 32, 3, 43, 3, 44, 2, 45, 11, 46, 1, 48, 3, 49, 2, 50, 1, 167, 2, 169, 2, 170, 4, 171, 8, 250, 2, 251, 5, 253, 4, 254, 3, 255, 9, 173, 120, 121, 139, 141, 162, 48, 87, 88, 139, 140, 144, 28, 29, 221, 14, 15, 75, 76, 251, 252, 46, 47, 63, 92, 93, 95, 181, 226, 132, 141, 142, 145, 146, 169, 177, 186, 187, 197, 198, 201, 202, 222, 228, 229, 255, 0, 4, 17, 18, 41, 49, 52, 55, 58, 59, 61, 73, 74, 93, 132, 142, 146, 169, 177, 180, 186, 187, 198, 202, 206, 207, 228, 229, 0, 4, 13, 14, 17, 18, 41, 49, 52, 58, 59, 69, 70, 73, 74, 94, 100, 101, 132, 145, 155, 157, 201, 206, 207, 13, 17, 41, 69, 73, 87, 100, 101, 141, 145, 169, 180, 186, 187, 197, 201, 223, 228, 229, 240, 13, 17, 69, 73, 100, 101, 128, 132, 178, 188, 190, 191, 213, 215, 240, 241, 131, 133, 139, 164, 166, 190, 191, 197, 199, 206, 207, 218, 219, 72, 152, 189, 205, 198, 206, 207, 73, 78, 79, 87, 89, 94, 95, 137, 142, 143, 177, 182, 183, 191, 193, 198, 199, 215, 17, 22, 23, 91, 92, 246, 247, 254, 255, 128, 13, 109, 113, 222, 223, 14, 15, 31, 110, 111, 28, 29, 95, 125, 126, 174, 175, 187, 188, 250, 22, 23, 30, 31, 70, 71, 78, 79, 88, 90, 92, 94, 126, 127, 181, 197, 212, 213, 220, 240, 241, 245, 114, 115, 143, 116, 117, 150, 47, 95, 38, 46, 47, 167, 175, 183, 191, 199, 207, 215, 223, 154, 64, 151, 152, 48, 143, 31, 192, 193, 206, 255, 78, 79, 90, 91, 7, 8, 15, 16, 39, 47, 238, 239, 110, 111, 55, 61, 63, 66, 69, 144, 145, 254, 255, 83, 103, 117, 200, 201, 208, 209, 216, 217, 231, 254, 255, 0, 32, 95, 34, 130, 223, 4, 130, 68, 8, 27, 4, 6, 17, 129, 172, 14, 128, 171, 53, 40, 11, 128, 224, 3, 25, 8, 1, 4, 47, 4, 52, 4, 7, 3, 1, 7, 6, 7, 17, 10, 80, 15, 18, 7, 85, 7, 3, 4, 28, 10, 9, 3, 8, 3, 7, 3, 2, 3, 3, 3, 12, 4, 5, 3, 11, 6, 1, 14, 21, 5, 58, 3, 17, 7, 6, 5, 16, 7, 87, 7, 2, 7, 21, 13, 80, 4, 67, 3, 45, 3, 1, 4, 17, 6, 15, 12, 58, 4, 29, 37, 95, 32, 109, 4, 106, 37, 128, 200, 5, 130, 176, 3, 26, 6, 130, 253, 3, 89, 7, 21, 11, 23, 9, 20, 12, 20, 12, 106, 6, 10, 6, 26, 6, 89, 7, 43, 5, 70, 10, 44, 4, 12, 4, 1, 3, 49, 11, 44, 4, 26, 6, 11, 3, 128, 172, 6, 10, 6, 33, 63, 76, 4, 45, 3, 116, 8, 60, 3, 15, 3, 60, 7, 56, 8, 43, 5, 130, 255, 17, 24, 8, 47, 17, 45, 3, 32, 16, 33, 15, 128, 140, 4, 130, 151, 25, 11, 21, 136, 148, 5, 47, 5, 59, 7, 2, 14, 24, 9, 128, 179, 45, 116, 12, 128, 214, 26, 12, 5, 128, 255, 5, 128, 223, 12, 238, 13, 3, 132, 141, 3, 55, 9, 129, 92, 20, 128, 184, 8, 128, 203, 42, 56, 3, 10, 6, 56, 8, 70, 8, 12, 6, 116, 11, 30, 3, 90, 4, 89, 9, 128, 131, 24, 28, 10, 22, 9, 76, 4, 128, 138, 6, 171, 164, 12, 23, 4, 49, 161, 4, 129, 218, 38, 7, 12, 5, 5, 128, 165, 17, 129, 109, 16, 120, 40, 42, 6, 76, 4, 128, 141, 4, 128, 190, 3, 27, 3, 15, 13, 0, 6, 1, 1, 3, 1, 4, 2, 8, 8, 9, 2, 10, 5, 11, 2, 14, 4, 16, 1, 17, 2, 18, 5, 19, 17, 20, 1, 21, 2, 23, 2, 25, 13, 28, 5, 29, 8, 36, 1, 106, 3, 107, 2, 188, 2, 209, 2, 212, 12, 213, 9, 214, 2, 215, 2, 218, 1, 224, 5, 225, 2, 232, 2, 238, 32, 240, 4, 248, 2, 249, 2, 250, 2, 251, 1, 12, 39, 59, 62, 78, 79, 143, 158, 158, 159, 6, 7, 9, 54, 61, 62, 86, 243, 208, 209, 4, 20, 24, 54, 55, 86, 87, 127, 170, 174, 175, 189, 53, 224, 18, 135, 137, 142, 158, 4, 13, 14, 17, 18, 41, 49, 52, 58, 69, 70, 73, 74, 78, 79, 100, 101, 92, 182, 183, 27, 28, 7, 8, 10, 11, 20, 23, 54, 57, 58, 168, 169, 216, 217, 9, 55, 144, 145, 168, 7, 10, 59, 62, 102, 105, 143, 146, 111, 95, 238, 239, 90, 98, 154, 155, 39, 40, 85, 157, 160, 161, 163, 164, 167, 168, 173, 186, 188, 196, 6, 11, 12, 21, 29, 58, 63, 69, 81, 166, 167, 204, 205, 160, 7, 25, 26, 34, 37, 62, 63, 197, 198, 4, 32, 35, 37, 38, 40, 51, 56, 58, 72, 74, 76, 80, 83, 85, 86, 88, 90, 92, 94, 96, 99, 101, 102, 107, 115, 120, 125, 127, 138, 164, 170, 175, 176, 192, 208, 174, 175, 121, 204, 110, 111, 147, 94, 34, 123, 5, 3, 4, 45, 3, 102, 3, 1, 47, 46, 128, 130, 29, 3, 49, 15, 28, 4, 36, 9, 30, 5, 43, 5, 68, 4, 14, 42, 128, 170, 6, 36, 4, 36, 4, 40, 8, 52, 11, 1, 128, 144, 129, 55, 9, 22, 10, 8, 128, 152, 57, 3, 99, 8, 9, 48, 22, 5, 33, 3, 27, 5, 1, 64, 56, 4, 75, 5, 47, 4, 10, 7, 9, 7, 64, 32, 39, 4, 12, 9, 54, 3, 58, 5, 26, 7, 4, 12, 7, 80, 73, 55, 51, 13, 51, 7, 46, 8, 10, 129, 38, 82, 78, 40, 8, 42, 86, 28, 20, 23, 9, 78, 4, 30, 15, 67, 14, 25, 7, 10, 6, 72, 8, 39, 9, 117, 11, 63, 65, 42, 6, 59, 5, 10, 6, 81, 6, 1, 5, 16, 3, 5, 128, 139, 98, 30, 72, 8, 10, 128, 166, 94, 34, 69, 11, 10, 6, 13, 19, 57, 7, 10, 54, 44, 4, 16, 128, 192, 60, 100, 83, 12, 72, 9, 10, 70, 69, 27, 72, 8, 83, 29, 57, 129, 7, 70, 10, 29, 3, 71, 73, 55, 3, 14, 8, 10, 6, 57, 7, 10, 129, 54, 25, 128, 183, 1, 15, 50, 13, 131, 155, 102, 117, 11, 128, 196, 138, 188, 132, 47, 143, 209, 130, 71, 161, 185, 130, 57, 7, 42, 4, 2, 96, 38, 10, 70, 10, 40, 5, 19, 130, 176, 91, 101, 75, 4, 57, 7, 17, 64, 5, 11, 2, 14, 151, 248, 8, 132, 214, 42, 9, 162, 247, 129, 31, 49, 3, 17, 4, 8, 129, 140, 137, 4, 107, 5, 13, 3, 9, 7, 16, 147, 96, 128, 246, 10, 115, 8, 110, 23, 70, 128, 154, 20, 12, 87, 9, 25, 128, 135, 129, 71, 3, 133, 66, 15, 21, 133, 80, 43, 128, 213, 45, 3, 26, 4, 2, 129, 112, 58, 5, 1, 133, 0, 128, 215, 41, 76, 4, 10, 4, 2, 131, 17, 68, 76, 61, 128, 194, 60, 6, 1, 4, 85, 5, 27, 52, 2, 129, 14, 44, 4, 100, 12, 86, 10, 128, 174, 56, 29, 13, 44, 4, 9, 7, 2, 14, 6, 128, 154, 131, 216, 8, 13, 3, 13, 3, 116, 12, 89, 7, 12, 20, 12, 4, 56, 8, 10, 6, 40, 8, 34, 78, 129, 84, 12, 21, 3, 3, 5, 7, 9, 25, 7, 7, 9, 3, 13, 7, 41, 128, 203, 37, 10, 132, 6, 108, 105, 98, 114, 97, 114, 121, 47, 99, 111, 114, 101, 47, 115, 114, 99, 47, 117, 110, 105, 99, 111, 100, 101, 47, 117, 110, 105, 99, 111, 100, 101, 95, 100, 97, 116, 97, 46, 114, 115, 0, 23, 63, 16, 0, 40, 0, 0, 0, 75, 0, 0, 0, 40, 0, 0, 0, 23, 63, 16, 0, 40, 0, 0, 0, 87, 0, 0, 0, 22, 0, 0, 0, 23, 63, 16, 0, 40, 0, 0, 0, 82, 0, 0, 0, 62, 0, 0, 0, 116, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 125, 0, 0, 0, 83, 111, 109, 101, 78, 111, 110, 101, 69, 114, 114, 111, 114, 85, 116, 102, 56, 69, 114, 114, 111, 114, 118, 97, 108, 105, 100, 95, 117, 112, 95, 116, 111, 101, 114, 114, 111, 114, 95, 108, 101, 110, 0, 0, 116, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 126, 0, 0, 0, 0, 3, 0, 0, 131, 4, 32, 0, 145, 5, 96, 0, 93, 19, 160, 0, 18, 23, 160, 30, 12, 32, 224, 30, 239, 44, 32, 43, 42, 48, 160, 43, 111, 166, 96, 44, 2, 168, 224, 44, 30, 251, 224, 45, 0, 254, 160, 53, 158, 255, 224, 53, 253, 1, 97, 54, 1, 10, 161, 54, 36, 13, 97, 55, 171, 14, 225, 56, 47, 24, 33, 57, 48, 28, 97, 70, 243, 30, 161, 74, 240, 106, 97, 78, 79, 111, 161, 78, 157, 188, 33, 79, 101, 209, 225, 79, 0, 218, 33, 80, 0, 224, 225, 81, 48, 225, 97, 83, 236, 226, 161, 84, 208, 232, 225, 84, 32, 0, 46, 85, 240, 1, 191, 85, 0, 112, 0, 7, 0, 45, 1, 1, 1, 2, 1, 2, 1, 1, 72, 11, 48, 21, 16, 1, 101, 7, 2, 6, 2, 2, 1, 4, 35, 1, 30, 27, 91, 11, 58, 9, 9, 1, 24, 4, 1, 9, 1, 3, 1, 5, 43, 3, 119, 15, 1, 32, 55, 1, 1, 1, 4, 8, 4, 1, 3, 7, 10, 2, 29, 1, 58, 1, 1, 1, 2, 4, 8, 1, 9, 1, 10, 2, 26, 1, 2, 2, 57, 1, 4, 2, 4, 2, 2, 3, 3, 1, 30, 2, 3, 1, 11, 2, 57, 1, 4, 5, 1, 2, 4, 1, 20, 2, 22, 6, 1, 1, 58, 1, 1, 2, 1, 4, 8, 1, 7, 3, 10, 2, 30, 1, 59, 1, 1, 1, 12, 1, 9, 1, 40, 1, 3, 1, 57, 3, 5, 3, 1, 4, 7, 2, 11, 2, 29, 1, 58, 1, 2, 1, 2, 1, 3, 1, 5, 2, 7, 2, 11, 2, 28, 2, 57, 2, 1, 1, 2, 4, 8, 1, 9, 1, 10, 2, 29, 1, 72, 1, 4, 1, 2, 3, 1, 1, 8, 1, 81, 1, 2, 7, 12, 8, 98, 1, 2, 9, 11, 6, 74, 2, 27, 1, 1, 1, 1, 1, 55, 14, 1, 5, 1, 2, 5, 11, 1, 36, 9, 1, 102, 4, 1, 6, 1, 2, 2, 2, 25, 2, 4, 3, 16, 4, 13, 1, 2, 2, 6, 1, 15, 1, 0, 3, 0, 3, 29, 3, 29, 2, 30, 2, 64, 2, 1, 7, 8, 1, 2, 11, 9, 1, 45, 3, 119, 2, 34, 1, 118, 3, 4, 2, 9, 1, 6, 3, 219, 2, 2, 1, 58, 1, 1, 7, 1, 1, 1, 1, 2, 8, 6, 10, 2, 1, 48, 17, 63, 4, 48, 7, 1, 1, 5, 1, 40, 9, 12, 2, 32, 4, 2, 2, 1, 3, 56, 1, 1, 2, 3, 1, 1, 3, 58, 8, 2, 2, 152, 3, 1, 13, 1, 7, 4, 1, 6, 1, 3, 2, 198, 58, 1, 5, 0, 1, 195, 33, 0, 3, 141, 1, 96, 32, 0, 6, 105, 2, 0, 4, 1, 10, 32, 2, 80, 2, 0, 1, 3, 1, 4, 1, 25, 2, 5, 1, 151, 2, 26, 18, 13, 1, 38, 8, 25, 11, 46, 3, 48, 1, 2, 4, 2, 2, 39, 1, 67, 6, 2, 2, 2, 2, 12, 1, 8, 1, 47, 1, 51, 1, 1, 3, 2, 2, 5, 2, 1, 1, 42, 2, 8, 1, 238, 1, 2, 1, 4, 1, 0, 1, 0, 16, 16, 16, 0, 2, 0, 1, 226, 1, 149, 5, 0, 3, 1, 2, 5, 4, 40, 3, 4, 1, 165, 2, 0, 4, 0, 2, 153, 11, 176, 1, 54, 15, 56, 3, 49, 4, 2, 2, 69, 3, 36, 5, 1, 8, 62, 1, 12, 2, 52, 9, 10, 4, 2, 1, 95, 3, 2, 1, 1, 2, 6, 1, 160, 1, 3, 8, 21, 2, 57, 2, 1, 1, 1, 1, 22, 1, 14, 7, 3, 5, 195, 8, 2, 3, 1, 1, 23, 1, 81, 1, 2, 6, 1, 1, 2, 1, 1, 2, 1, 2, 235, 1, 2, 4, 6, 2, 1, 2, 27, 2, 85, 8, 2, 1, 1, 2, 106, 1, 1, 1, 2, 6, 1, 1, 101, 3, 2, 4, 1, 5, 0, 9, 1, 2, 245, 1, 10, 2, 1, 1, 4, 1, 144, 4, 2, 2, 4, 1, 32, 10, 40, 6, 2, 4, 8, 1, 9, 6, 2, 3, 46, 13, 1, 2, 0, 7, 1, 6, 1, 1, 82, 22, 2, 7, 1, 2, 1, 2, 122, 6, 3, 1, 1, 2, 1, 7, 1, 1, 72, 2, 3, 1, 1, 1, 0, 2, 0, 5, 59, 7, 0, 1, 63, 4, 81, 1, 0, 2, 0, 1, 1, 3, 4, 5, 8, 8, 2, 7, 30, 4, 148, 3, 0, 55, 4, 50, 8, 1, 14, 1, 22, 5, 1, 15, 0, 7, 1, 17, 2, 7, 1, 2, 1, 5, 0, 7, 0, 4, 0, 7, 109, 7, 0, 96, 128, 240} } diff --git a/x/wasm/types/connector.go b/x/wasm/types/connector.go index 7fd19cfe6..ee0a7119b 100644 --- a/x/wasm/types/connector.go +++ b/x/wasm/types/connector.go @@ -3,24 +3,39 @@ package types import ( "fmt" + abci "github.com/tendermint/tendermint/abci/types" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + ibcclienttypes "github.com/cosmos/cosmos-sdk/x/ibc/core/02-client/types" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" ) // DefaultFeatures - Cosmwasm feature -const DefaultFeatures = "staking,terra" +const DefaultFeatures = "stargate,staking,terra" + +// ValidateAndParseEvents converts wasm LogAttributes into an sdk.Events (with 0 or 1 elements) +func ValidateAndParseEvents(contractAddr sdk.AccAddress, params EventParams, attributes ...wasmvmtypes.EventAttribute) (sdk.Events, error) { + if len(attributes) == 0 { + return nil, nil + } -// ParseEvents converts wasm LogAttributes into an sdk.Events (with 0 or 1 elements) -func ParseEvents(logs []wasmTypes.LogAttribute, contractAddr sdk.AccAddress) sdk.Events { - if len(logs) == 0 { - return nil + if len(attributes) > int(params.MaxAttributeNum) { + return nil, ErrExceedMaxContractEventAttributeNum } // we always tag with the contract address issuing this event attrs := []sdk.Attribute{sdk.NewAttribute(AttributeKeyContractAddress, contractAddr.String())} - for _, l := range logs { + for _, l := range attributes { + if len(l.Key) > int(params.MaxAttributeKeyLength) { + return nil, ErrExceedMaxContractEventAttributeKeyLength + } + + if len(l.Value) > int(params.MaxAttributeValueLength) { + return nil, ErrExceedMaxContractEventAttributeValueLength + } + // and reserve the contract_address key for our use (not contract) if l.Key != AttributeKeyContractAddress { attr := sdk.NewAttribute(l.Key, l.Value) @@ -28,11 +43,11 @@ func ParseEvents(logs []wasmTypes.LogAttribute, contractAddr sdk.AccAddress) sdk } } - return sdk.Events{sdk.NewEvent(EventTypeFromContract, attrs...)} + return sdk.Events{sdk.NewEvent(EventTypeFromContract, attrs...)}, nil } // ParseToCoin converts wasm coin to sdk.Coin -func ParseToCoin(wasmCoin wasmTypes.Coin) (coin sdk.Coin, err error) { +func ParseToCoin(wasmCoin wasmvmtypes.Coin) (coin sdk.Coin, err error) { amount, ok := sdk.NewIntFromString(wasmCoin.Amount) if !ok { err = sdkerrors.Wrap(sdkerrors.ErrInvalidCoins, fmt.Sprintf("Failed to parse %s", coin.Amount)) @@ -47,7 +62,7 @@ func ParseToCoin(wasmCoin wasmTypes.Coin) (coin sdk.Coin, err error) { } // ParseToCoins converts wasm coins to sdk.Coins -func ParseToCoins(wasmCoins []wasmTypes.Coin) (coins sdk.Coins, err error) { +func ParseToCoins(wasmCoins []wasmvmtypes.Coin) (coins sdk.Coins, err error) { for _, coin := range wasmCoins { c, err := ParseToCoin(coin) if err != nil { @@ -60,18 +75,63 @@ func ParseToCoins(wasmCoins []wasmTypes.Coin) (coins sdk.Coins, err error) { } // EncodeSdkCoin - encode sdk coin to wasm coin -func EncodeSdkCoin(coin sdk.Coin) wasmTypes.Coin { - return wasmTypes.Coin{ +func EncodeSdkCoin(coin sdk.Coin) wasmvmtypes.Coin { + return wasmvmtypes.Coin{ Denom: coin.Denom, Amount: coin.Amount.String(), } } // EncodeSdkCoins - encode sdk coins to wasm coins -func EncodeSdkCoins(coins sdk.Coins) wasmTypes.Coins { - encodedCoins := make(wasmTypes.Coins, len(coins)) +func EncodeSdkCoins(coins sdk.Coins) wasmvmtypes.Coins { + encodedCoins := make(wasmvmtypes.Coins, len(coins)) for i, c := range coins { encodedCoins[i] = EncodeSdkCoin(c) } return encodedCoins } + +// EncodeSdkEvents - encode sdk events to wasm events +func EncodeSdkEvents(events []sdk.Event) []wasmvmtypes.Event { + res := make([]wasmvmtypes.Event, len(events)) + for i, ev := range events { + res[i] = wasmvmtypes.Event{ + Type: ev.Type, + Attributes: encodeSdkAttributes(ev.Attributes), + } + } + return res +} + +func encodeSdkAttributes(attrs []abci.EventAttribute) []wasmvmtypes.EventAttribute { + res := make([]wasmvmtypes.EventAttribute, len(attrs)) + for i, attr := range attrs { + res[i] = wasmvmtypes.EventAttribute{ + Key: string(attr.Key), + Value: string(attr.Value), + } + } + return res +} + +// ConvertWasmIBCTimeoutHeightToCosmosHeight convert wasm types to cosmos type +func ConvertWasmIBCTimeoutHeightToCosmosHeight(ibcTimeoutBlock *wasmvmtypes.IBCTimeoutBlock) ibcclienttypes.Height { + if ibcTimeoutBlock == nil { + return ibcclienttypes.NewHeight(0, 0) + } + return ibcclienttypes.NewHeight(ibcTimeoutBlock.Revision, ibcTimeoutBlock.Height) +} + +// ConvertWasmIBCTimeoutTimestampToCosmosTimestamp convert wasm types to cosmos type +func ConvertWasmIBCTimeoutTimestampToCosmosTimestamp(timestamp *uint64) uint64 { + if timestamp == nil { + return 0 + } + return *timestamp +} + +// Messenger is an extension point for custom wasmVM message handling +type Messenger interface { + // DispatchMessage encodes the wasmVM message and dispatches it. + DispatchMessage(ctx sdk.Context, contractAddr sdk.AccAddress, msg wasmvmtypes.CosmosMsg) (events []sdk.Event, data []byte, err error) +} diff --git a/x/wasm/types/connector_test.go b/x/wasm/types/connector_test.go new file mode 100644 index 000000000..fd791291b --- /dev/null +++ b/x/wasm/types/connector_test.go @@ -0,0 +1,7 @@ +package types + +import "testing" + +func TestValidateAndParseEvents(t *testing.T) { + +} diff --git a/x/wasm/types/contract.go b/x/wasm/types/contract.go index b754bea1c..8e2d30c89 100644 --- a/x/wasm/types/contract.go +++ b/x/wasm/types/contract.go @@ -1,7 +1,10 @@ package types import ( - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + "encoding/binary" + + wasmvmtypes "github.com/CosmWasm/wasmvm/types" + "github.com/tendermint/tendermint/crypto" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -26,28 +29,34 @@ func NewContractInfo(codeID uint64, address, owner sdk.AccAddress, initMsg []byt } } -// NewWasmAPIParams initializes params for a contract instance -func NewWasmAPIParams(ctx sdk.Context, sender sdk.AccAddress, deposit sdk.Coins, contractAddr sdk.AccAddress) wasmTypes.Env { - return wasmTypes.Env{ - Block: wasmTypes.BlockInfo{ - Height: uint64(ctx.BlockHeight()), - Time: uint64(ctx.BlockTime().Unix()), - ChainID: ctx.ChainID(), - }, - Message: wasmTypes.MessageInfo{ - Sender: sender.String(), - SentFunds: NewWasmCoins(deposit), +// NewEnv initializes the environment for a contract instance +func NewEnv(ctx sdk.Context, contractAddr sdk.AccAddress) wasmvmtypes.Env { + env := wasmvmtypes.Env{ + Block: wasmvmtypes.BlockInfo{ + Height: uint64(ctx.BlockHeight()), + Time: uint64(ctx.BlockTime().Unix()), + TimeNanos: uint64(ctx.BlockTime().Nanosecond()), + ChainID: ctx.ChainID(), }, - Contract: wasmTypes.ContractInfo{ + Contract: wasmvmtypes.ContractInfo{ Address: contractAddr.String(), }, } + return env +} + +// NewInfo initializes the MessageInfo for a contract instance +func NewInfo(creator sdk.AccAddress, deposit sdk.Coins) wasmvmtypes.MessageInfo { + return wasmvmtypes.MessageInfo{ + Sender: creator.String(), + Funds: NewWasmCoins(deposit), + } } // NewWasmCoins translates between Cosmos SDK coins and Wasm coins -func NewWasmCoins(cosmosCoins sdk.Coins) (wasmCoins []wasmTypes.Coin) { +func NewWasmCoins(cosmosCoins sdk.Coins) (wasmCoins []wasmvmtypes.Coin) { for _, coin := range cosmosCoins { - wasmCoin := wasmTypes.Coin{ + wasmCoin := wasmvmtypes.Coin{ Denom: coin.Denom, Amount: coin.Amount.String(), } @@ -55,3 +64,19 @@ func NewWasmCoins(cosmosCoins sdk.Coins) (wasmCoins []wasmTypes.Coin) { } return wasmCoins } + +// GenerateContractAddress generates a contract address from codeID + instanceID +// and increases last instanceID +func GenerateContractAddress(codeID uint64, instanceID uint64) sdk.AccAddress { + // NOTE: It is possible to get a duplicate address if either codeID or instanceID + // overflow 32 bits. This is highly improbable, but something that could be refactored. + contractID := codeID<<32 + instanceID + return addrFromUint64(contractID) +} + +func addrFromUint64(id uint64) sdk.AccAddress { + addr := make([]byte, 20) + addr[0] = 'C' + binary.PutUvarint(addr[1:], id) + return sdk.AccAddress(crypto.AddressHash(addr)) +} diff --git a/x/wasm/types/errors.go b/x/wasm/types/errors.go index 0e118db09..6d6b56145 100644 --- a/x/wasm/types/errors.go +++ b/x/wasm/types/errors.go @@ -6,18 +6,23 @@ import ( // Wasm Errors var ( - ErrAccountExists = sdkerrors.Register(ModuleName, 2, "contract account already exists") - ErrInstantiateFailed = sdkerrors.Register(ModuleName, 3, "instantiate wasm contract failed") - ErrExecuteFailed = sdkerrors.Register(ModuleName, 4, "execute wasm contract failed") - ErrGasLimit = sdkerrors.Register(ModuleName, 5, "insufficient gas") - ErrInvalidGenesis = sdkerrors.Register(ModuleName, 6, "invalid genesis") - ErrNotFound = sdkerrors.Register(ModuleName, 7, "not found") - ErrInvalidMsg = sdkerrors.Register(ModuleName, 8, "invalid Msg from the contract") - ErrNoRegisteredQuerier = sdkerrors.Register(ModuleName, 9, "failed to find querier for route") - ErrNoRegisteredParser = sdkerrors.Register(ModuleName, 10, "failed to find parser for route") - ErrMigrationFailed = sdkerrors.Register(ModuleName, 11, "migrate wasm contract failed") - ErrNotMigratable = sdkerrors.Register(ModuleName, 12, "the contract is not migratable ") - ErrStoreCodeFailed = sdkerrors.Register(ModuleName, 13, "store wasm contract failed") - ErrContractQueryFailed = sdkerrors.Register(ModuleName, 14, "contract query failed") - ErrExceedMaxContractSize = sdkerrors.Register(ModuleName, 15, "exceeds max contract size limit") + ErrAccountExists = sdkerrors.Register(ModuleName, 2, "contract account already exists") + ErrInstantiateFailed = sdkerrors.Register(ModuleName, 3, "instantiate wasm contract failed") + ErrExecuteFailed = sdkerrors.Register(ModuleName, 4, "execute wasm contract failed") + ErrGasLimit = sdkerrors.Register(ModuleName, 5, "insufficient gas") + ErrInvalidGenesis = sdkerrors.Register(ModuleName, 6, "invalid genesis") + ErrNotFound = sdkerrors.Register(ModuleName, 7, "not found") + ErrInvalidMsg = sdkerrors.Register(ModuleName, 8, "invalid Msg from the contract") + ErrNoRegisteredQuerier = sdkerrors.Register(ModuleName, 9, "failed to find querier for route") + ErrNoRegisteredParser = sdkerrors.Register(ModuleName, 10, "failed to find parser for route") + ErrMigrationFailed = sdkerrors.Register(ModuleName, 11, "migrate wasm contract failed") + ErrNotMigratable = sdkerrors.Register(ModuleName, 12, "the contract is not migratable ") + ErrStoreCodeFailed = sdkerrors.Register(ModuleName, 13, "store wasm contract failed") + ErrContractQueryFailed = sdkerrors.Register(ModuleName, 14, "contract query failed") + ErrExceedMaxContractSize = sdkerrors.Register(ModuleName, 15, "exceeds max contract size limit") + ErrExceedMaxContractMsgSize = sdkerrors.Register(ModuleName, 16, "exceeds max contract msg size limit") + ErrExceedMaxContractDataSize = sdkerrors.Register(ModuleName, 17, "exceeds max contract data size limit") + ErrExceedMaxContractEventAttributeNum = sdkerrors.Register(ModuleName, 18, "exceeds max contract event attributes num limit") + ErrExceedMaxContractEventAttributeKeyLength = sdkerrors.Register(ModuleName, 19, "exceeds max contract event attribute key length limit") + ErrExceedMaxContractEventAttributeValueLength = sdkerrors.Register(ModuleName, 20, "exceeds max contract event attribute value length limit") ) diff --git a/x/wasm/types/expected_keeper.go b/x/wasm/types/expected_keeper.go index 567f7b29d..3b0da97b8 100644 --- a/x/wasm/types/expected_keeper.go +++ b/x/wasm/types/expected_keeper.go @@ -3,6 +3,12 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + connectiontypes "github.com/cosmos/cosmos-sdk/x/ibc/core/03-connection/types" + channeltypes "github.com/cosmos/cosmos-sdk/x/ibc/core/04-channel/types" + ibcexported "github.com/cosmos/cosmos-sdk/x/ibc/core/exported" + + abci "github.com/tendermint/tendermint/abci/types" ) // AccountKeeper - expected account keeper @@ -34,3 +40,49 @@ type TreasuryKeeper interface { GetTaxRate(ctx sdk.Context) (taxRate sdk.Dec) GetTaxCap(ctx sdk.Context, denom string) (taxCap sdk.Int) } + +// GRPCQueryHandler defines a function type which handles ABCI Query requests +// using gRPC +type GRPCQueryHandler = func(ctx sdk.Context, req abci.RequestQuery) (abci.ResponseQuery, error) + +// GRPCQueryRouter expected GRPCQueryRouter interface +type GRPCQueryRouter interface { + Route(path string) GRPCQueryHandler +} + +// ChannelKeeper defines the expected IBC channel keeper +type ChannelKeeper interface { + GetChannel(ctx sdk.Context, srcPort, srcChan string) (channel channeltypes.Channel, found bool) + GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool) + SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, packet ibcexported.PacketI) error + ChanCloseInit(ctx sdk.Context, portID, channelID string, chanCap *capabilitytypes.Capability) error + GetAllChannels(ctx sdk.Context) (channels []channeltypes.IdentifiedChannel) + IterateChannels(ctx sdk.Context, cb func(channeltypes.IdentifiedChannel) bool) +} + +// ClientKeeper defines the expected IBC client keeper +type ClientKeeper interface { + GetClientConsensusState(ctx sdk.Context, clientID string) (connection ibcexported.ConsensusState, found bool) +} + +// ConnectionKeeper defines the expected IBC connection keeper +type ConnectionKeeper interface { + GetConnection(ctx sdk.Context, connectionID string) (connection connectiontypes.ConnectionEnd, found bool) +} + +// PortKeeper defines the expected IBC port keeper +type PortKeeper interface { + BindPort(ctx sdk.Context, portID string) *capabilitytypes.Capability +} + +// CapabilityKeeper defined the expected IBC capability keeper +type CapabilityKeeper interface { + GetCapability(ctx sdk.Context, name string) (*capabilitytypes.Capability, bool) + ClaimCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) error + AuthenticateCapability(ctx sdk.Context, capability *capabilitytypes.Capability, name string) bool +} + +// ICS20TransferPortSource is a subset of the ibc transfer keeper. +type ICS20TransferPortSource interface { + GetPort(ctx sdk.Context) string +} diff --git a/x/wasm/types/keys.go b/x/wasm/types/keys.go index c916baa94..71f59d488 100644 --- a/x/wasm/types/keys.go +++ b/x/wasm/types/keys.go @@ -5,7 +5,7 @@ import ( ) const ( - // ModuleName is the name of the contract module + // ModuleName is the name of the wasm module ModuleName = "wasm" // StoreKey is the string store representation @@ -14,10 +14,10 @@ const ( // TStoreKey is the string transient store representation TStoreKey = "transient_" + ModuleName - // QuerierRoute is the querier route for the staking module + // QuerierRoute is the querier route for the wasm module QuerierRoute = ModuleName - // RouterKey is the msg router key for the staking module + // RouterKey is the msg router key for the wasm module RouterKey = ModuleName ) diff --git a/x/wasm/types/msg_binding.go b/x/wasm/types/msg_binding.go index 8ce89d6a9..c169daab5 100644 --- a/x/wasm/types/msg_binding.go +++ b/x/wasm/types/msg_binding.go @@ -3,7 +3,7 @@ package types import ( "encoding/json" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -19,8 +19,13 @@ const ( // WasmMsgParserInterface - msg parsers of each module type WasmMsgParserInterface interface { - Parse(contractAddr sdk.AccAddress, msg wasmTypes.CosmosMsg) ([]sdk.Msg, error) - ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) ([]sdk.Msg, error) + Parse(contractAddr sdk.AccAddress, msg wasmvmtypes.CosmosMsg) (sdk.Msg, error) + ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) (sdk.Msg, error) +} + +// StargateWasmMsgParserInterface - stargate msg parsers +type StargateWasmMsgParserInterface interface { + Parse(msg wasmvmtypes.CosmosMsg) (sdk.Msg, error) } // WasmCustomMsg - wasm custom msg parser @@ -30,18 +35,27 @@ type WasmCustomMsg struct { } // MsgParser - holds multiple module msg parsers -type MsgParser map[string]WasmMsgParserInterface +type MsgParser struct { + Parsers map[string]WasmMsgParserInterface + StargateParser StargateWasmMsgParserInterface +} // NewModuleMsgParser returns wasm msg parser func NewModuleMsgParser() MsgParser { - return make(MsgParser) + return MsgParser{ + Parsers: make(map[string]WasmMsgParserInterface), + } } // Parse convert Wasm raw msg to chain msg -func (p MsgParser) Parse(contractAddr sdk.AccAddress, msg wasmTypes.CosmosMsg) ([]sdk.Msg, error) { +func (p MsgParser) Parse(ctx sdk.Context, contractAddr sdk.AccAddress, msg wasmvmtypes.CosmosMsg) (sdk.Msg, error) { switch { case msg.Bank != nil: - if parser, ok := p[WasmMsgParserRouteBank]; ok { + if msg.Bank.Burn != nil { + return nil, sdkerrors.Wrap(ErrNoRegisteredParser, "Burn not supported") + } + + if parser, ok := p.Parsers[WasmMsgParserRouteBank]; ok { return parser.Parse(contractAddr, msg) } @@ -53,23 +67,32 @@ func (p MsgParser) Parse(contractAddr sdk.AccAddress, msg wasmTypes.CosmosMsg) ( return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) } - if parser, ok := p[customMsg.Route]; ok { + if parser, ok := p.Parsers[customMsg.Route]; ok { return parser.ParseCustom(contractAddr, customMsg.MsgData) } return nil, sdkerrors.Wrap(ErrNoRegisteredParser, customMsg.Route) case msg.Staking != nil: - if parser, ok := p[WasmMsgParserRouteStaking]; ok { + if parser, ok := p.Parsers[WasmMsgParserRouteStaking]; ok { return parser.Parse(contractAddr, msg) } return nil, sdkerrors.Wrap(ErrNoRegisteredParser, WasmMsgParserRouteStaking) case msg.Wasm != nil: - if parser, ok := p[WasmMsgParserRouteWasm]; ok { + if parser, ok := p.Parsers[WasmMsgParserRouteWasm]; ok { return parser.Parse(contractAddr, msg) } return nil, sdkerrors.Wrap(ErrNoRegisteredParser, WasmMsgParserRouteWasm) + case msg.Stargate != nil: + if p.StargateParser != nil { + return p.StargateParser.Parse(msg) + } + + return nil, sdkerrors.Wrap(ErrNoRegisteredParser, "stargate") + case msg.IBC != nil: + return nil, sdkerrors.Wrap(ErrNoRegisteredParser, "IBC not supported") } + return nil, sdkerrors.Wrap(ErrInvalidMsg, "failed to parse empty msg") } diff --git a/x/wasm/types/msgs.go b/x/wasm/types/msgs.go index 2febc620c..b7ac2028b 100644 --- a/x/wasm/types/msgs.go +++ b/x/wasm/types/msgs.go @@ -110,6 +110,10 @@ func (msg MsgInstantiateContract) ValidateBasic() error { return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "wasm msg byte size is too huge") } + if !json.Valid(msg.InitMsg) { + return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "wasm msg byte format is invalid json") + } + return nil } @@ -168,6 +172,10 @@ func (msg MsgExecuteContract) ValidateBasic() error { return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "wasm msg byte size is too huge") } + if !json.Valid(msg.ExecuteMsg) { + return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "wasm msg byte format is invalid json") + } + return nil } @@ -226,6 +234,10 @@ func (msg MsgMigrateContract) ValidateBasic() error { return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "wasm msg byte size is too huge") } + if !json.Valid(msg.MigrateMsg) { + return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "wasm msg byte format is invalid json") + } + return nil } diff --git a/x/wasm/types/msgs_test.go b/x/wasm/types/msgs_test.go index 28ca34738..03cfe3aaf 100644 --- a/x/wasm/types/msgs_test.go +++ b/x/wasm/types/msgs_test.go @@ -49,10 +49,11 @@ func TestMsgInstantiateCode(t *testing.T) { initCoins sdk.Coins expectPass bool }{ - {sdk.AccAddress{}, 0, []byte{}, sdk.Coins{}, false}, + {sdk.AccAddress{}, 0, []byte("{}"), sdk.Coins{}, false}, {addrs[0], 0, make([]byte, EnforcedMaxContractMsgSize+1), sdk.Coins{}, false}, - {addrs[0], 0, []byte{}, sdk.Coins{{Amount: sdk.NewInt(1)}}, false}, - {addrs[0], 0, []byte{}, sdk.Coins{}, true}, + {addrs[0], 0, []byte("{}"), sdk.Coins{{Amount: sdk.NewInt(1)}}, false}, + {addrs[0], 0, []byte("{invalid json}"), sdk.Coins{}, false}, + {addrs[0], 0, []byte("{}"), sdk.Coins{}, true}, } for i, tc := range tests { @@ -78,11 +79,12 @@ func TestMsgExecuteContract(t *testing.T) { coins sdk.Coins expectPass bool }{ - {sdk.AccAddress{}, addrs[1], []byte{}, sdk.Coins{}, false}, - {addrs[0], sdk.AccAddress{}, []byte{}, sdk.Coins{}, false}, + {sdk.AccAddress{}, addrs[1], []byte("{}"), sdk.Coins{}, false}, + {addrs[0], sdk.AccAddress{}, []byte("{}"), sdk.Coins{}, false}, {addrs[0], addrs[1], make([]byte, EnforcedMaxContractMsgSize+1), sdk.Coins{}, false}, - {addrs[0], addrs[1], []byte{}, sdk.Coins{{Amount: sdk.NewInt(1)}}, false}, - {addrs[0], addrs[1], []byte{}, sdk.Coins{}, true}, + {addrs[0], addrs[1], []byte("{}"), sdk.Coins{{Amount: sdk.NewInt(1)}}, false}, + {addrs[0], addrs[1], []byte("{invalid json}"), sdk.Coins{}, false}, + {addrs[0], addrs[1], []byte("{}"), sdk.Coins{}, true}, } for i, tc := range tests { @@ -108,11 +110,12 @@ func TestMsgMigrateContract(t *testing.T) { msg json.RawMessage expectPass bool }{ - {sdk.AccAddress{}, addrs[1], 1, []byte{}, false}, - {addrs[0], sdk.AccAddress{}, 1, []byte{}, false}, - {addrs[0], addrs[1], 0, []byte{}, false}, + {sdk.AccAddress{}, addrs[1], 1, []byte("{}"), false}, + {addrs[0], sdk.AccAddress{}, 1, []byte("{}"), false}, + {addrs[0], addrs[1], 0, []byte("{}"), false}, {addrs[0], addrs[1], 1, make([]byte, EnforcedMaxContractMsgSize+1), false}, - {addrs[0], addrs[1], 1, []byte{}, true}, + {addrs[0], addrs[1], 1, []byte("{invalid json}"), false}, + {addrs[0], addrs[1], 1, []byte("{}"), true}, } for i, tc := range tests { diff --git a/x/wasm/types/params.go b/x/wasm/types/params.go index b795bec59..8da58a3f9 100644 --- a/x/wasm/types/params.go +++ b/x/wasm/types/params.go @@ -10,32 +10,50 @@ import ( // Max params for static check const ( - EnforcedMaxContractSize = uint64(500 * 1024) // 500KB - EnforcedMaxContractGas = uint64(100_000_000) // 100,000,000 - EnforcedMaxContractMsgSize = uint64(10 * 1024) // 10KB + EnforcedMaxContractSize = uint64(500 * 1024) // 500KB + EnforcedMaxContractGas = uint64(100_000_000) // 100,000,000 + EnforcedMaxContractMsgSize = uint64(10 * 1024) // 10KB + EnforcedMaxContractDataSize = uint64(1024) // 1KB ) // Parameter keys var ( - KeyMaxContractSize = []byte("maxcontractsize") - KeyMaxContractGas = []byte("maxcontractgas") - KeyMaxContractMsgSize = []byte("maxcontractmsgsize") + KeyMaxContractSize = []byte("MaxContractSize") + KeyMaxContractGas = []byte("MaxContractGas") + KeyMaxContractMsgSize = []byte("MaxContractMsgSize") + KeyMaxContractDataSize = []byte("MaxContractDataSize") + KeyEventParams = []byte("EventParams") ) // Default parameter values const ( - DefaultMaxContractSize = EnforcedMaxContractSize // 500 KB - DefaultMaxContractGas = EnforcedMaxContractGas // 100,000,000 - DefaultMaxContractMsgSize = uint64(1 * 1024) // 1KB + DefaultMaxContractSize = EnforcedMaxContractSize // 500 KB + DefaultMaxContractGas = EnforcedMaxContractGas // 100,000,000 + DefaultMaxContractMsgSize = uint64(1 * 1024) // 1KB + DefaultMaxContractDataSize = uint64(256) // 256 bytes +) + +// Default event parameter values +var ( + DefaultEventParams = EventParams{ + MaxAttributeNum: 16, + MaxAttributeKeyLength: 64, + MaxAttributeValueLength: 256, + } ) // Constant gas parameters const ( - GasMultiplier = uint64(100) // Please note that all gas prices returned to the wasmer engine should have this multiplied + InstanceCost = uint64(40_000) // sdk gas cost for executing wasmVM engine CompileCostPerByte = uint64(2) // sdk gas cost per bytes - InstanceCost = uint64(40_000) // sdk gas cost for executing wasmer engine - HumanizeCost = uint64(5) // sdk gas cost to convert canonical address to human address - CanonicalizeCost = uint64(4) // sdk gas cost to convert human address to canonical address + + GasMultiplier = uint64(100) // Please note that all gas prices returned to the wasmVM engine should have this multiplied + HumanizeCost = uint64(5) // wasm gas cost to convert canonical address to human address + CanonicalizeCost = uint64(4) // wasm gas cost to convert human address to canonical address + + // ContractMemoryLimit is the memory limit of each contract execution (in MiB) + // constant value so all nodes run with the same limit. + ContractMemoryLimit = uint32(32) ) var _ paramstypes.ParamSet = &Params{} @@ -43,9 +61,11 @@ var _ paramstypes.ParamSet = &Params{} // DefaultParams creates default treasury module parameters func DefaultParams() Params { return Params{ - MaxContractSize: DefaultMaxContractSize, - MaxContractGas: DefaultMaxContractGas, - MaxContractMsgSize: DefaultMaxContractMsgSize, + MaxContractSize: DefaultMaxContractSize, + MaxContractGas: DefaultMaxContractGas, + MaxContractMsgSize: DefaultMaxContractMsgSize, + MaxContractDataSize: DefaultMaxContractDataSize, + EventParams: DefaultEventParams, } } @@ -57,6 +77,8 @@ func (p *Params) ParamSetPairs() paramstypes.ParamSetPairs { paramstypes.NewParamSetPair(KeyMaxContractSize, &p.MaxContractSize, validateMaxContractSize), paramstypes.NewParamSetPair(KeyMaxContractGas, &p.MaxContractGas, validateMaxContractGas), paramstypes.NewParamSetPair(KeyMaxContractMsgSize, &p.MaxContractMsgSize, validateMaxContractMsgSize), + paramstypes.NewParamSetPair(KeyMaxContractDataSize, &p.MaxContractDataSize, validateMaxContractDataSize), + paramstypes.NewParamSetPair(KeyEventParams, &p.EventParams, validateEventParams), } } @@ -126,3 +148,25 @@ func validateMaxContractMsgSize(i interface{}) error { return nil } + +func validateMaxContractDataSize(i interface{}) error { + v, ok := i.(uint64) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + if v > EnforcedMaxContractDataSize { + return fmt.Errorf("max contract data byte size %d must be equal or smaller than %d", v, EnforcedMaxContractDataSize) + } + + return nil +} + +func validateEventParams(i interface{}) error { + _, ok := i.(EventParams) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + return nil +} diff --git a/x/wasm/types/query_binding.go b/x/wasm/types/query_binding.go index e2ab1369c..935602843 100644 --- a/x/wasm/types/query_binding.go +++ b/x/wasm/types/query_binding.go @@ -3,7 +3,7 @@ package types import ( "encoding/json" - wasmTypes "github.com/CosmWasm/go-cosmwasm/types" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -11,14 +11,21 @@ import ( // WasmQuerierInterface - query registration interface for other modules type WasmQuerierInterface interface { - Query(ctx sdk.Context, request wasmTypes.QueryRequest) ([]byte, error) + Query(ctx sdk.Context, request wasmvmtypes.QueryRequest) ([]byte, error) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, error) } +// StargateWasmQuerierInterface - query registration interface for stargate querier +type StargateWasmQuerierInterface interface { + Query(ctx sdk.Context, request wasmvmtypes.QueryRequest) ([]byte, error) +} + // Querier - wasm query handler type Querier struct { - Ctx sdk.Context - Queriers map[string]WasmQuerierInterface + Ctx sdk.Context + ContractAddr sdk.AccAddress + Queriers map[string]WasmQuerierInterface + StargateQuerier StargateWasmQuerierInterface } // NewModuleQuerier return wasm querier @@ -34,7 +41,7 @@ type WasmCustomQuery struct { QueryData json.RawMessage `json:"query_data"` } -var _ wasmTypes.Querier = Querier{} +var _ wasmvmtypes.Querier = Querier{} // Routes of pre-determined wasm querier const ( @@ -52,13 +59,19 @@ func (q Querier) WithCtx(ctx sdk.Context) Querier { return q } +// WithContractAddr returns new querier with contractAddr +func (q Querier) WithContractAddr(contractAddr sdk.AccAddress) Querier { + q.ContractAddr = contractAddr + return q +} + // GasConsumed consume gas in the current context func (q Querier) GasConsumed() uint64 { return q.Ctx.GasMeter().GasConsumed() } -// Query - interface for wasmTypes.Querier -func (q Querier) Query(request wasmTypes.QueryRequest, gasLimit uint64) ([]byte, error) { +// Query - interface for wasmvmtypes.Querier +func (q Querier) Query(request wasmvmtypes.QueryRequest, gasLimit uint64) ([]byte, error) { // set a limit for a ctx // gasLimit passed from the go-cosmwasm part, so need to divide it with gas multiplier ctx := q.Ctx.WithGasMeter(sdk.NewGasMeter(gasLimit / GasMultiplier)) @@ -69,7 +82,6 @@ func (q Querier) Query(request wasmTypes.QueryRequest, gasLimit uint64) ([]byte, }() // do the query - switch { case request.Bank != nil: if querier, ok := q.Queriers[WasmQueryRouteBank]; ok { @@ -102,7 +114,15 @@ func (q Querier) Query(request wasmTypes.QueryRequest, gasLimit uint64) ([]byte, } return nil, sdkerrors.Wrap(ErrNoRegisteredQuerier, WasmQueryRouteWasm) + case request.Stargate != nil: + if q.StargateQuerier != nil { + return q.StargateQuerier.Query(ctx, request) + } + + return nil, sdkerrors.Wrap(ErrNoRegisteredQuerier, "stargate") + case request.IBC != nil: + return nil, sdkerrors.Wrap(ErrNoRegisteredQuerier, "IBC not supported") } - return nil, wasmTypes.Unknown{} + return nil, wasmvmtypes.Unknown{} } diff --git a/x/wasm/types/wasm.pb.go b/x/wasm/types/wasm.pb.go index 21811bc55..4ac854595 100644 --- a/x/wasm/types/wasm.pb.go +++ b/x/wasm/types/wasm.pb.go @@ -26,11 +26,13 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// Params defines the parameters for the oracle module. +// Params defines the parameters for the wasm module. type Params struct { - MaxContractSize uint64 `protobuf:"varint,1,opt,name=max_contract_size,json=maxContractSize,proto3" json:"max_contract_size,omitempty" yaml:"max_contract_size"` - MaxContractGas uint64 `protobuf:"varint,2,opt,name=max_contract_gas,json=maxContractGas,proto3" json:"max_contract_gas,omitempty" yaml:"max_contract_gas"` - MaxContractMsgSize uint64 `protobuf:"varint,3,opt,name=max_contract_msg_size,json=maxContractMsgSize,proto3" json:"max_contract_msg_size,omitempty" yaml:"max_contract_msg_size"` + MaxContractSize uint64 `protobuf:"varint,1,opt,name=max_contract_size,json=maxContractSize,proto3" json:"max_contract_size,omitempty" yaml:"max_contract_size"` + MaxContractGas uint64 `protobuf:"varint,2,opt,name=max_contract_gas,json=maxContractGas,proto3" json:"max_contract_gas,omitempty" yaml:"max_contract_gas"` + MaxContractMsgSize uint64 `protobuf:"varint,3,opt,name=max_contract_msg_size,json=maxContractMsgSize,proto3" json:"max_contract_msg_size,omitempty" yaml:"max_contract_msg_size"` + MaxContractDataSize uint64 `protobuf:"varint,4,opt,name=max_contract_data_size,json=maxContractDataSize,proto3" json:"max_contract_data_size,omitempty" yaml:"max_contract_data_size"` + EventParams EventParams `protobuf:"bytes,5,opt,name=event_params,json=eventParams,proto3" json:"event_params" yaml:"event_params"` } func (m *Params) Reset() { *m = Params{} } @@ -86,6 +88,81 @@ func (m *Params) GetMaxContractMsgSize() uint64 { return 0 } +func (m *Params) GetMaxContractDataSize() uint64 { + if m != nil { + return m.MaxContractDataSize + } + return 0 +} + +func (m *Params) GetEventParams() EventParams { + if m != nil { + return m.EventParams + } + return EventParams{} +} + +// EventParams defines the event related parameteres +type EventParams struct { + MaxAttributeNum uint64 `protobuf:"varint,1,opt,name=max_attribute_num,json=maxAttributeNum,proto3" json:"max_attribute_num,omitempty" yaml:"max_contract_event_attribute_num"` + MaxAttributeKeyLength uint64 `protobuf:"varint,2,opt,name=max_attribute_key_length,json=maxAttributeKeyLength,proto3" json:"max_attribute_key_length,omitempty" yaml:"max_contract_event_attribute_key_length"` + MaxAttributeValueLength uint64 `protobuf:"varint,3,opt,name=max_attribute_value_length,json=maxAttributeValueLength,proto3" json:"max_attribute_value_length,omitempty" yaml:"max_contract_event_attribute_value_length"` +} + +func (m *EventParams) Reset() { *m = EventParams{} } +func (m *EventParams) String() string { return proto.CompactTextString(m) } +func (*EventParams) ProtoMessage() {} +func (*EventParams) Descriptor() ([]byte, []int) { + return fileDescriptor_2bd5d0123068c880, []int{1} +} +func (m *EventParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EventParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventParams.Merge(m, src) +} +func (m *EventParams) XXX_Size() int { + return m.Size() +} +func (m *EventParams) XXX_DiscardUnknown() { + xxx_messageInfo_EventParams.DiscardUnknown(m) +} + +var xxx_messageInfo_EventParams proto.InternalMessageInfo + +func (m *EventParams) GetMaxAttributeNum() uint64 { + if m != nil { + return m.MaxAttributeNum + } + return 0 +} + +func (m *EventParams) GetMaxAttributeKeyLength() uint64 { + if m != nil { + return m.MaxAttributeKeyLength + } + return 0 +} + +func (m *EventParams) GetMaxAttributeValueLength() uint64 { + if m != nil { + return m.MaxAttributeValueLength + } + return 0 +} + // CodeInfo is data for the uploaded contract WASM code type CodeInfo struct { // CodeID is the sequentially increasing unique identifier @@ -100,7 +177,7 @@ func (m *CodeInfo) Reset() { *m = CodeInfo{} } func (m *CodeInfo) String() string { return proto.CompactTextString(m) } func (*CodeInfo) ProtoMessage() {} func (*CodeInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_2bd5d0123068c880, []int{1} + return fileDescriptor_2bd5d0123068c880, []int{2} } func (m *CodeInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -167,7 +244,7 @@ func (m *ContractInfo) Reset() { *m = ContractInfo{} } func (m *ContractInfo) String() string { return proto.CompactTextString(m) } func (*ContractInfo) ProtoMessage() {} func (*ContractInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_2bd5d0123068c880, []int{2} + return fileDescriptor_2bd5d0123068c880, []int{3} } func (m *ContractInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -233,6 +310,7 @@ func (m *ContractInfo) GetMigratable() bool { func init() { proto.RegisterType((*Params)(nil), "terra.wasm.v1beta1.Params") + proto.RegisterType((*EventParams)(nil), "terra.wasm.v1beta1.EventParams") proto.RegisterType((*CodeInfo)(nil), "terra.wasm.v1beta1.CodeInfo") proto.RegisterType((*ContractInfo)(nil), "terra.wasm.v1beta1.ContractInfo") } @@ -240,41 +318,53 @@ func init() { func init() { proto.RegisterFile("terra/wasm/v1beta1/wasm.proto", fileDescriptor_2bd5d0123068c880) } var fileDescriptor_2bd5d0123068c880 = []byte{ - // 531 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0x3f, 0x6b, 0xdb, 0x40, - 0x18, 0xc6, 0xad, 0xfc, 0xb1, 0x9d, 0xc3, 0x24, 0xce, 0x91, 0x50, 0x91, 0xa6, 0x3a, 0x73, 0x43, - 0x09, 0x25, 0xb5, 0x30, 0x25, 0x8b, 0x47, 0x25, 0xa5, 0x49, 0xc1, 0x50, 0x2e, 0x5b, 0x17, 0xf3, - 0x5a, 0xba, 0x9e, 0x15, 0x22, 0x9d, 0xb9, 0x53, 0x6b, 0x27, 0x9f, 0xa2, 0x63, 0xc7, 0x50, 0xfa, - 0x61, 0x3a, 0x66, 0xec, 0x24, 0x8a, 0xbd, 0x74, 0xd6, 0x54, 0x3a, 0x15, 0x9d, 0xac, 0x20, 0xd3, - 0x2c, 0xdd, 0x4e, 0xef, 0xf3, 0xd3, 0xa3, 0xe7, 0xd1, 0xf1, 0xa2, 0x67, 0x09, 0x57, 0x0a, 0xdc, - 0x29, 0xe8, 0xc8, 0xfd, 0xd4, 0x1b, 0xf1, 0x04, 0x7a, 0xe6, 0xa1, 0x3b, 0x51, 0x32, 0x91, 0x18, - 0x1b, 0xb9, 0x6b, 0x26, 0x4b, 0xf9, 0x60, 0x4f, 0x48, 0x21, 0x8d, 0xec, 0xe6, 0xa7, 0x82, 0x3c, - 0x70, 0x7c, 0xa9, 0x23, 0xa9, 0xdd, 0x11, 0x68, 0xfe, 0xe0, 0xe4, 0xcb, 0x30, 0x2e, 0x74, 0xfa, - 0xdb, 0x42, 0xf5, 0x77, 0xa0, 0x20, 0xd2, 0xf8, 0x1c, 0xed, 0x46, 0x30, 0x1b, 0xfa, 0x32, 0x4e, - 0x14, 0xf8, 0xc9, 0x50, 0x87, 0xb7, 0xdc, 0xb6, 0x3a, 0xd6, 0xd1, 0x86, 0x77, 0x98, 0xa5, 0xc4, - 0xbe, 0x81, 0xe8, 0xba, 0x4f, 0xff, 0x41, 0x28, 0xdb, 0x89, 0x60, 0x76, 0xba, 0x1c, 0x5d, 0x86, - 0xb7, 0x1c, 0xbf, 0x46, 0xed, 0x15, 0x4c, 0x80, 0xb6, 0xd7, 0x8c, 0xd1, 0xd3, 0x2c, 0x25, 0x4f, - 0x1e, 0x31, 0x12, 0xa0, 0x29, 0xdb, 0xae, 0xf8, 0xbc, 0x01, 0x8d, 0x2f, 0xd1, 0xfe, 0x0a, 0x14, - 0x69, 0x51, 0x84, 0x5a, 0x37, 0x5e, 0x9d, 0x2c, 0x25, 0x87, 0x8f, 0x78, 0x95, 0x18, 0x65, 0xb8, - 0x62, 0x38, 0xd0, 0x22, 0xcf, 0xd6, 0x6f, 0x7e, 0xb9, 0x23, 0xb5, 0x5f, 0x77, 0xc4, 0xa2, 0x5f, - 0x2d, 0xd4, 0x3c, 0x95, 0x01, 0xbf, 0x88, 0x3f, 0x48, 0x7c, 0x82, 0x1a, 0xbe, 0x0c, 0xf8, 0x30, - 0x0c, 0xca, 0xca, 0xf3, 0x94, 0xd4, 0x8d, 0x7c, 0x96, 0xa5, 0x64, 0xbb, 0xf8, 0xce, 0x12, 0xa1, - 0xac, 0x9e, 0x9f, 0x2e, 0x02, 0xdc, 0x43, 0x5b, 0x66, 0x36, 0x06, 0x3d, 0x36, 0x15, 0x5b, 0xde, - 0x5e, 0x96, 0x92, 0x76, 0x05, 0xcf, 0x25, 0xca, 0x9a, 0xf9, 0xf9, 0x1c, 0xf4, 0x18, 0x1f, 0xa3, - 0x86, 0xaf, 0x38, 0x24, 0x52, 0x99, 0x1e, 0x5b, 0x1e, 0xae, 0xf8, 0x17, 0x02, 0x65, 0x25, 0x42, - 0xbf, 0xad, 0xa1, 0x56, 0x59, 0xc1, 0x04, 0x3d, 0x46, 0x0d, 0x08, 0x02, 0xc5, 0xb5, 0x36, 0x41, - 0x57, 0x5e, 0x5f, 0x0a, 0x94, 0x95, 0x08, 0x7e, 0x8e, 0x36, 0xe5, 0x34, 0xe6, 0xca, 0x64, 0xdb, - 0xf2, 0xda, 0x59, 0x4a, 0x5a, 0x05, 0x6b, 0xc6, 0x94, 0x15, 0x72, 0xb5, 0xfe, 0xfa, 0x7f, 0xd4, - 0x7f, 0x8b, 0x9a, 0x61, 0x1c, 0x9a, 0x5f, 0x6e, 0x6f, 0x98, 0xf6, 0x6e, 0x96, 0x92, 0x9d, 0x82, - 0x2e, 0x15, 0xfa, 0x27, 0x25, 0x36, 0x8f, 0x7d, 0x19, 0x84, 0xb1, 0x70, 0xaf, 0xb4, 0x8c, 0xbb, - 0x0c, 0xa6, 0x03, 0xae, 0x35, 0x08, 0xce, 0x1a, 0x39, 0x36, 0xd0, 0x02, 0x9f, 0x20, 0x14, 0x85, - 0x42, 0x41, 0x02, 0xa3, 0x6b, 0x6e, 0x6f, 0x76, 0xac, 0xa3, 0xa6, 0xb7, 0x9f, 0xa5, 0x64, 0x77, - 0x79, 0xc5, 0x0f, 0x1a, 0x65, 0x15, 0xb0, 0xbf, 0x91, 0xdf, 0xa5, 0x77, 0xf6, 0x7d, 0xee, 0x58, - 0xf7, 0x73, 0xc7, 0xfa, 0x39, 0x77, 0xac, 0xcf, 0x0b, 0xa7, 0x76, 0xbf, 0x70, 0x6a, 0x3f, 0x16, - 0x4e, 0xed, 0xfd, 0x0b, 0x11, 0x26, 0xe3, 0x8f, 0xa3, 0xae, 0x2f, 0x23, 0xd7, 0x6c, 0xcd, 0xcb, - 0x89, 0x92, 0x57, 0xdc, 0x4f, 0x5c, 0x5f, 0x2a, 0xee, 0xce, 0x8a, 0x1d, 0x4b, 0x6e, 0x26, 0x5c, - 0x8f, 0xea, 0x66, 0x27, 0x5e, 0xfd, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x4d, 0xa9, 0xfb, 0xa1, 0x7e, - 0x03, 0x00, 0x00, + // 721 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x4d, 0x4f, 0x1b, 0x39, + 0x18, 0xc7, 0x33, 0xbc, 0x24, 0xc1, 0x44, 0xbc, 0x18, 0x58, 0x22, 0x5e, 0x62, 0xd6, 0x87, 0x5d, + 0xb4, 0xcb, 0x66, 0x16, 0x76, 0xb9, 0x70, 0xdb, 0x01, 0xb4, 0xb0, 0x5b, 0xaa, 0xca, 0x48, 0x54, + 0xea, 0x25, 0x72, 0x66, 0xdc, 0xc9, 0x40, 0x66, 0x9c, 0x8e, 0x1d, 0x20, 0x7c, 0x8a, 0x1e, 0x7b, + 0x44, 0x55, 0xbf, 0x40, 0xbf, 0x05, 0x87, 0x1e, 0x38, 0xf6, 0x64, 0x55, 0xe1, 0xd2, 0xf3, 0x1c, + 0x7b, 0xaa, 0x62, 0x67, 0x60, 0x22, 0x72, 0xa0, 0x37, 0xe7, 0xf9, 0xff, 0xfd, 0xfb, 0x3f, 0xf6, + 0x13, 0x0f, 0x58, 0x95, 0x2c, 0x8e, 0xa9, 0x7d, 0x41, 0x45, 0x68, 0x9f, 0x6f, 0xd6, 0x99, 0xa4, + 0x9b, 0xfa, 0x47, 0xb5, 0x15, 0x73, 0xc9, 0x21, 0xd4, 0x72, 0x55, 0x57, 0xfa, 0xf2, 0xd2, 0xbc, + 0xcf, 0x7d, 0xae, 0x65, 0xbb, 0xb7, 0x32, 0xce, 0xa5, 0x8a, 0xcb, 0x45, 0xc8, 0x85, 0x5d, 0xa7, + 0x82, 0xdd, 0x93, 0x5c, 0x1e, 0x44, 0x46, 0xc7, 0x1f, 0x47, 0x41, 0xfe, 0x05, 0x8d, 0x69, 0x28, + 0xe0, 0x01, 0x98, 0x0d, 0xe9, 0x65, 0xcd, 0xe5, 0x91, 0x8c, 0xa9, 0x2b, 0x6b, 0x22, 0xb8, 0x62, + 0x65, 0x6b, 0xcd, 0x5a, 0x1f, 0x73, 0x56, 0x12, 0x85, 0xca, 0x1d, 0x1a, 0x36, 0x77, 0xf0, 0x23, + 0x0b, 0x26, 0xd3, 0x21, 0xbd, 0xdc, 0xed, 0x97, 0x8e, 0x83, 0x2b, 0x06, 0xf7, 0xc1, 0xcc, 0x80, + 0xcd, 0xa7, 0xa2, 0x3c, 0xa2, 0x41, 0xcb, 0x89, 0x42, 0x8b, 0x43, 0x40, 0x3e, 0x15, 0x98, 0x4c, + 0x65, 0x38, 0xff, 0x52, 0x01, 0x8f, 0xc1, 0xc2, 0x80, 0x29, 0x14, 0xbe, 0x69, 0x6a, 0x54, 0xb3, + 0xd6, 0x12, 0x85, 0x56, 0x86, 0xb0, 0x52, 0x1b, 0x26, 0x30, 0x03, 0x3c, 0x12, 0xbe, 0xee, 0xed, + 0x04, 0xfc, 0x34, 0xe0, 0xf6, 0xa8, 0xa4, 0x86, 0x3a, 0xa6, 0xa9, 0x3f, 0x27, 0x0a, 0xad, 0x0e, + 0xa1, 0xde, 0xfb, 0x30, 0x99, 0xcb, 0x60, 0xf7, 0xa8, 0xa4, 0x9a, 0x5b, 0x03, 0x25, 0x76, 0xce, + 0x22, 0x59, 0x6b, 0xe9, 0xdb, 0x2c, 0x8f, 0xaf, 0x59, 0xeb, 0x93, 0x5b, 0xa8, 0xfa, 0x78, 0x52, + 0xd5, 0xfd, 0x9e, 0xcf, 0x5c, 0xba, 0xb3, 0x7c, 0xa3, 0x50, 0x2e, 0x51, 0x68, 0xce, 0x44, 0x66, + 0x11, 0x98, 0x4c, 0xb2, 0x07, 0xe7, 0x4e, 0xf1, 0xdd, 0x35, 0xca, 0x7d, 0xbd, 0x46, 0x16, 0xfe, + 0x34, 0x02, 0x26, 0x33, 0x0c, 0xf8, 0xd2, 0x0c, 0x8e, 0x4a, 0x19, 0x07, 0xf5, 0xb6, 0x64, 0xb5, + 0xa8, 0x1d, 0xf6, 0x07, 0xf7, 0x7b, 0xa2, 0xd0, 0xaf, 0x43, 0x4e, 0x63, 0x72, 0x06, 0x76, 0x98, + 0x39, 0xfe, 0x93, 0x96, 0x9e, 0xb7, 0x43, 0x78, 0x06, 0xca, 0x83, 0xe0, 0x33, 0xd6, 0xa9, 0x35, + 0x59, 0xe4, 0xcb, 0x46, 0x7f, 0x9e, 0x5b, 0x89, 0x42, 0xd5, 0x27, 0xf0, 0x1f, 0x36, 0x62, 0xb2, + 0x90, 0x8d, 0xf9, 0x9f, 0x75, 0x9e, 0xe9, 0x3a, 0x7c, 0x03, 0x96, 0x06, 0xc3, 0xce, 0x69, 0xb3, + 0xcd, 0xd2, 0x38, 0x33, 0xf2, 0xbf, 0x13, 0x85, 0xfe, 0x7c, 0x42, 0x5c, 0x76, 0x2b, 0x26, 0x8b, + 0xd9, 0xc0, 0x93, 0x9e, 0x64, 0x22, 0x77, 0xc6, 0xf4, 0x75, 0xbe, 0xb7, 0x40, 0x71, 0x97, 0x7b, + 0xec, 0x30, 0x7a, 0xcd, 0xe1, 0x36, 0x28, 0xb8, 0xdc, 0x63, 0xb5, 0xc0, 0x4b, 0xff, 0xfa, 0x5d, + 0x85, 0xf2, 0x5a, 0xde, 0x4b, 0x14, 0x9a, 0x32, 0xe1, 0x7d, 0x0b, 0x26, 0xf9, 0xde, 0xea, 0xd0, + 0x83, 0x9b, 0x60, 0x42, 0xd7, 0x1a, 0x54, 0x98, 0xab, 0x29, 0x39, 0xf3, 0x89, 0x42, 0x33, 0x19, + 0x7b, 0x4f, 0xc2, 0xa4, 0xd8, 0x5b, 0x1f, 0x50, 0xd1, 0x80, 0x1b, 0xa0, 0xe0, 0xc6, 0x8c, 0x4a, + 0x1e, 0xeb, 0xc3, 0x4d, 0x38, 0x30, 0xc3, 0x37, 0x02, 0x26, 0xa9, 0x05, 0x7f, 0x18, 0x01, 0xa5, + 0xf4, 0x3f, 0xa7, 0x1b, 0xdd, 0x00, 0x05, 0xea, 0x79, 0x31, 0x13, 0x42, 0x37, 0x3a, 0xb0, 0xbd, + 0x2f, 0x60, 0x92, 0x5a, 0xe0, 0x2f, 0x60, 0x9c, 0x5f, 0x44, 0x2c, 0xd6, 0xbd, 0x4d, 0x38, 0x33, + 0x89, 0x42, 0x25, 0xe3, 0xd5, 0x65, 0x4c, 0x8c, 0x9c, 0x3d, 0xfe, 0xe8, 0x0f, 0x1c, 0xff, 0x3f, + 0x50, 0x0c, 0xa2, 0x40, 0x3f, 0x3d, 0xfd, 0x8c, 0x4a, 0x8e, 0x9d, 0x28, 0x34, 0x6d, 0xdc, 0xa9, + 0x82, 0xbf, 0x29, 0x54, 0x66, 0x91, 0xcb, 0xbd, 0x20, 0xf2, 0xed, 0x53, 0xc1, 0xa3, 0x2a, 0xa1, + 0x17, 0x47, 0x4c, 0x08, 0xea, 0x33, 0x52, 0xe8, 0xd9, 0x8e, 0x84, 0x0f, 0xb7, 0x01, 0x08, 0x03, + 0x3f, 0xa6, 0x92, 0xd6, 0x9b, 0x4c, 0x3f, 0xa3, 0xa2, 0xb3, 0x90, 0x28, 0x34, 0xdb, 0x9f, 0xfb, + 0xbd, 0x86, 0x49, 0xc6, 0x68, 0x66, 0xe9, 0xec, 0xdd, 0x74, 0x2b, 0xd6, 0x6d, 0xb7, 0x62, 0x7d, + 0xe9, 0x56, 0xac, 0xb7, 0x77, 0x95, 0xdc, 0xed, 0x5d, 0x25, 0xf7, 0xf9, 0xae, 0x92, 0x7b, 0xf5, + 0x9b, 0x1f, 0xc8, 0x46, 0xbb, 0x5e, 0x75, 0x79, 0x68, 0xeb, 0x37, 0xf9, 0x47, 0x2b, 0xe6, 0xa7, + 0xcc, 0x95, 0xb6, 0xcb, 0x63, 0x66, 0x5f, 0x9a, 0x6f, 0xad, 0xec, 0xb4, 0x98, 0xa8, 0xe7, 0xf5, + 0xb7, 0xf1, 0xaf, 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x85, 0xee, 0xeb, 0x75, 0x86, 0x05, 0x00, + 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -305,6 +395,42 @@ func (this *Params) Equal(that interface{}) bool { if this.MaxContractMsgSize != that1.MaxContractMsgSize { return false } + if this.MaxContractDataSize != that1.MaxContractDataSize { + return false + } + if !this.EventParams.Equal(&that1.EventParams) { + return false + } + return true +} +func (this *EventParams) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*EventParams) + if !ok { + that2, ok := that.(EventParams) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.MaxAttributeNum != that1.MaxAttributeNum { + return false + } + if this.MaxAttributeKeyLength != that1.MaxAttributeKeyLength { + return false + } + if this.MaxAttributeValueLength != that1.MaxAttributeValueLength { + return false + } return true } func (this *ContractInfo) Equal(that interface{}) bool { @@ -363,6 +489,21 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size, err := m.EventParams.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintWasm(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + if m.MaxContractDataSize != 0 { + i = encodeVarintWasm(dAtA, i, uint64(m.MaxContractDataSize)) + i-- + dAtA[i] = 0x20 + } if m.MaxContractMsgSize != 0 { i = encodeVarintWasm(dAtA, i, uint64(m.MaxContractMsgSize)) i-- @@ -381,6 +522,44 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *EventParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EventParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.MaxAttributeValueLength != 0 { + i = encodeVarintWasm(dAtA, i, uint64(m.MaxAttributeValueLength)) + i-- + dAtA[i] = 0x18 + } + if m.MaxAttributeKeyLength != 0 { + i = encodeVarintWasm(dAtA, i, uint64(m.MaxAttributeKeyLength)) + i-- + dAtA[i] = 0x10 + } + if m.MaxAttributeNum != 0 { + i = encodeVarintWasm(dAtA, i, uint64(m.MaxAttributeNum)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *CodeInfo) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -508,6 +687,29 @@ func (m *Params) Size() (n int) { if m.MaxContractMsgSize != 0 { n += 1 + sovWasm(uint64(m.MaxContractMsgSize)) } + if m.MaxContractDataSize != 0 { + n += 1 + sovWasm(uint64(m.MaxContractDataSize)) + } + l = m.EventParams.Size() + n += 1 + l + sovWasm(uint64(l)) + return n +} + +func (m *EventParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MaxAttributeNum != 0 { + n += 1 + sovWasm(uint64(m.MaxAttributeNum)) + } + if m.MaxAttributeKeyLength != 0 { + n += 1 + sovWasm(uint64(m.MaxAttributeKeyLength)) + } + if m.MaxAttributeValueLength != 0 { + n += 1 + sovWasm(uint64(m.MaxAttributeValueLength)) + } return n } @@ -650,6 +852,165 @@ func (m *Params) Unmarshal(dAtA []byte) error { break } } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxContractDataSize", wireType) + } + m.MaxContractDataSize = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MaxContractDataSize |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EventParams", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthWasm + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.EventParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipWasm(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthWasm + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EventParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EventParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxAttributeNum", wireType) + } + m.MaxAttributeNum = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MaxAttributeNum |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxAttributeKeyLength", wireType) + } + m.MaxAttributeKeyLength = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MaxAttributeKeyLength |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxAttributeValueLength", wireType) + } + m.MaxAttributeValueLength = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MaxAttributeValueLength |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipWasm(dAtA[iNdEx:]) diff --git a/x/wasm/types/wasmer_engine.go b/x/wasm/types/wasmer_engine.go new file mode 100644 index 000000000..2f7d29888 --- /dev/null +++ b/x/wasm/types/wasmer_engine.go @@ -0,0 +1,113 @@ +package types + +import ( + wasmvm "github.com/CosmWasm/wasmvm" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" +) + +// WasmerEngine defines the WASM contract runtime engine. +type WasmerEngine interface { + + // Create will compile the wasm code, and store the resulting pre-compile + // as well as the original code. Both can be referenced later via CodeID + // This must be done one time for given code, after which it can be + // instantiated many times, and each instance called many times. + // + // For example, the code for all ERC-20 contracts should be the same. + // This function stores the code for that contract only once, but it can + // be instantiated with custom inputs in the future. + Create(code wasmvm.WasmCode) (wasmvm.Checksum, error) + + // Instantiate will create a new contract based on the given codeID. + // We can set the initMsg (contract "genesis") here, and it then receives + // an account and address and can be invoked (Execute) many times. + // + // Storage should be set with a PrefixedKVStore that this code can safely access. + // + // Under the hood, we may recompile the wasm, use a cached native compile, or even use a cached instance + // for performance. + Instantiate( + code wasmvm.Checksum, + env wasmvmtypes.Env, + info wasmvmtypes.MessageInfo, + initMsg []byte, + store wasmvm.KVStore, + goapi wasmvm.GoAPI, + querier wasmvm.Querier, + gasMeter wasmvm.GasMeter, + gasLimit uint64, + ) (*wasmvmtypes.Response, uint64, error) + + // Execute calls a given contract. Since the only difference between contracts with the same CodeID is the + // data in their local storage, and their address in the outside world, we need no ContractID here. + // (That is a detail for the external, sdk-facing, side). + // + // The caller is responsible for passing the correct `store` (which must have been initialized exactly once), + // and setting the env with relevant info on this instance (address, balance, etc) + Execute( + code wasmvm.Checksum, + env wasmvmtypes.Env, + info wasmvmtypes.MessageInfo, + executeMsg []byte, + store wasmvm.KVStore, + goapi wasmvm.GoAPI, + querier wasmvm.Querier, + gasMeter wasmvm.GasMeter, + gasLimit uint64, + ) (*wasmvmtypes.Response, uint64, error) + + // Query allows a client to execute a contract-specific query. If the result is not empty, it should be + // valid json-encoded data to return to the client. + // The meaning of path and data can be determined by the code. Path is the suffix of the abci.QueryRequest.Path + Query( + code wasmvm.Checksum, + env wasmvmtypes.Env, + queryMsg []byte, + store wasmvm.KVStore, + goapi wasmvm.GoAPI, + querier wasmvm.Querier, + gasMeter wasmvm.GasMeter, + gasLimit uint64, + ) ([]byte, uint64, error) + + // Migrate will migrate an existing contract to a new code binary. + // This takes storage of the data from the original contract and the CodeID of the new contract that should + // replace it. This allows it to run a migration step if needed, or return an error if unable to migrate + // the given data. + // + // MigrateMsg has some data on how to perform the migration. + Migrate( + codeID wasmvm.Checksum, + env wasmvmtypes.Env, + migrateMsg []byte, + store wasmvm.KVStore, + goapi wasmvm.GoAPI, + querier wasmvm.Querier, + gasMeter wasmvm.GasMeter, + gasLimit uint64, + ) (*wasmvmtypes.Response, uint64, error) + + // Reply is called on the original dispatching contract after running a submessage + Reply( + codeID wasmvm.Checksum, + env wasmvmtypes.Env, + reply wasmvmtypes.Reply, + store wasmvm.KVStore, + goapi wasmvm.GoAPI, + querier wasmvm.Querier, + gasMeter wasmvm.GasMeter, + gasLimit uint64, + ) (*wasmvmtypes.Response, uint64, error) + + // GetCode will load the original wasm code for the given code id. + // This will only succeed if that code id was previously returned from + // a call to Create. + // + // This can be used so that the (short) code id (hash) is stored in the iavl tree + // and the larger binary blobs (wasm and pre-compiles) are all managed by the + // rust library + GetCode(code wasmvm.Checksum) (wasmvm.WasmCode, error) + + // Cleanup should be called when no longer using this to free resources on the rust-side + Cleanup() +}