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()
+}