From 8632bb8c3cd97062a39b63a72c2d6fcea08bf670 Mon Sep 17 00:00:00 2001 From: Branden J Brown Date: Sun, 8 Mar 2026 21:33:46 -0400 Subject: [PATCH] all: generate json, not code This includes modifying horsebot to use the generated JSON, as well as moving the generator to another cmd/ directory. Remove the generated code while we're here. Koka tests still have to be updated, but it requires a JSON parser. --- cmd/horsebot/main.go | 68 +- cmd/horsebot/skill.go | 10 +- {horse => cmd/horsegen}/generate.go | 2 - {horse => cmd/horsegen}/sql/affinity.sql | 0 {horse => cmd/horsegen}/sql/character.sql | 0 {horse => cmd/horsegen}/sql/race.sql | 0 {horse => cmd/horsegen}/sql/saddle.sql | 0 {horse => cmd/horsegen}/sql/scenario.sql | 0 {horse => cmd/horsegen}/sql/skill-group.sql | 0 {horse => cmd/horsegen}/sql/skill.sql | 0 {horse => cmd/horsegen}/sql/spark-effect.sql | 0 {horse => cmd/horsegen}/sql/spark.sql | 0 {horse => cmd/horsegen}/sql/uma.sql | 0 go-generate.go | 13 - go.mod | 2 +- go.sum | 4 +- horse/global/character.go | 256 - horse/global/character.kk | 164 - horse/global/race.go | 2014 --- horse/global/race.kk | 913 -- horse/global/saddle.go | 1107 -- horse/global/saddle.kk | 518 - horse/global/scenario.go | 23 - horse/global/scenario.kk | 30 - horse/global/skill.go | 13794 ---------------- horse/global/skill.kk | 14417 ----------------- horse/global/spark.go | 13268 --------------- horse/global/spark.kk | 9844 ----------- horse/global/uma.go | 1711 -- horse/global/uma.kk | 1571 -- horse/skill_test.go | 27 - horsegen/README.md | 6 - horsegen/character.affinity2.sql | 44 - horsegen/character.affinity3.sql | 87 - horsegen/character.go.template | 72 - horsegen/character.kk.template | 94 - horsegen/character.sql | 9 - horsegen/gen.go | 263 - horsegen/load.go | 613 - horsegen/main.go | 227 - horsegen/race.go.template | 32 - horsegen/race.kk.template | 69 - horsegen/race.sql | 14 - horsegen/saddle.go.template | 27 - horsegen/saddle.kk.template | 58 - horsegen/saddle.sql | 20 - horsegen/scenario.go.template | 23 - horsegen/scenario.kk.template | 34 - horsegen/scenario.sql | 17 - horsegen/skill-group.sql | 14 - horsegen/skill.go.template | 79 - horsegen/skill.kk.template | 230 - horsegen/skill.sql | 98 - horsegen/spark-effect.sql | 9 - horsegen/spark.go.template | 35 - horsegen/spark.kk.template | 121 - horsegen/spark.sql | 20 - horsegen/uma.go.template | 42 - horsegen/uma.kk.template | 221 - horsegen/uma.sql | 59 - 60 files changed, 71 insertions(+), 62322 deletions(-) rename {horse => cmd/horsegen}/generate.go (99%) rename {horse => cmd/horsegen}/sql/affinity.sql (100%) rename {horse => cmd/horsegen}/sql/character.sql (100%) rename {horse => cmd/horsegen}/sql/race.sql (100%) rename {horse => cmd/horsegen}/sql/saddle.sql (100%) rename {horse => cmd/horsegen}/sql/scenario.sql (100%) rename {horse => cmd/horsegen}/sql/skill-group.sql (100%) rename {horse => cmd/horsegen}/sql/skill.sql (100%) rename {horse => cmd/horsegen}/sql/spark-effect.sql (100%) rename {horse => cmd/horsegen}/sql/spark.sql (100%) rename {horse => cmd/horsegen}/sql/uma.sql (100%) delete mode 100644 go-generate.go delete mode 100644 horse/global/character.go delete mode 100644 horse/global/character.kk delete mode 100644 horse/global/race.go delete mode 100644 horse/global/race.kk delete mode 100644 horse/global/saddle.go delete mode 100644 horse/global/saddle.kk delete mode 100644 horse/global/scenario.go delete mode 100644 horse/global/scenario.kk delete mode 100644 horse/global/skill.go delete mode 100644 horse/global/skill.kk delete mode 100644 horse/global/spark.go delete mode 100644 horse/global/spark.kk delete mode 100644 horse/global/uma.go delete mode 100644 horse/global/uma.kk delete mode 100644 horsegen/README.md delete mode 100644 horsegen/character.affinity2.sql delete mode 100644 horsegen/character.affinity3.sql delete mode 100644 horsegen/character.go.template delete mode 100644 horsegen/character.kk.template delete mode 100644 horsegen/character.sql delete mode 100644 horsegen/gen.go delete mode 100644 horsegen/load.go delete mode 100644 horsegen/main.go delete mode 100644 horsegen/race.go.template delete mode 100644 horsegen/race.kk.template delete mode 100644 horsegen/race.sql delete mode 100644 horsegen/saddle.go.template delete mode 100644 horsegen/saddle.kk.template delete mode 100644 horsegen/saddle.sql delete mode 100644 horsegen/scenario.go.template delete mode 100644 horsegen/scenario.kk.template delete mode 100644 horsegen/scenario.sql delete mode 100644 horsegen/skill-group.sql delete mode 100644 horsegen/skill.go.template delete mode 100644 horsegen/skill.kk.template delete mode 100644 horsegen/skill.sql delete mode 100644 horsegen/spark-effect.sql delete mode 100644 horsegen/spark.go.template delete mode 100644 horsegen/spark.kk.template delete mode 100644 horsegen/spark.sql delete mode 100644 horsegen/uma.go.template delete mode 100644 horsegen/uma.kk.template delete mode 100644 horsegen/uma.sql diff --git a/cmd/horsebot/main.go b/cmd/horsebot/main.go index 00ee6a9..fdd64f7 100644 --- a/cmd/horsebot/main.go +++ b/cmd/horsebot/main.go @@ -3,6 +3,8 @@ package main import ( "bytes" "context" + "encoding/json" + "errors" "flag" "fmt" "log/slog" @@ -20,11 +22,14 @@ import ( "github.com/disgoorg/disgo/rest" "git.sunturtle.xyz/zephyr/horse/horse" - "git.sunturtle.xyz/zephyr/horse/horse/global" ) func main() { var ( + // data options + skillsFile string + skillGroupsFile string + // discord bot options tokenFile string // http api options addr string @@ -34,6 +39,8 @@ func main() { level slog.Level textfmt string ) + flag.StringVar(&skillsFile, "skills", "", "json `file` containing skill data") + flag.StringVar(&skillGroupsFile, "skill-groups", "", "json `file` containing skill group data") flag.StringVar(&tokenFile, "token", "", "`file` containing the Discord bot token") flag.StringVar(&addr, "http", "", "`address` to bind HTTP API server") flag.StringVar(&route, "route", "/interactions/callback", "`path` to serve HTTP API calls") @@ -54,6 +61,14 @@ func main() { } slog.SetDefault(slog.New(lh)) + byID, byName, err := loadSkills(skillsFile) + groups, err2 := loadSkillGroups(skillGroupsFile) + if err = errors.Join(err, err2); err != nil { + slog.Error("loading data", slog.Any("err", err)) + os.Exit(1) + } + skillsByID, skillsByName, skillGroupMap = byID, byName, groups + token, err := os.ReadFile(tokenFile) if err != nil { slog.Error("reading token", slog.Any("err", err)) @@ -133,16 +148,59 @@ var commands = []discord.ApplicationCommandCreate{ }, } +// TODO(zeph): these globals could go away, but there's a bit of ceremony to doing that +var ( + skillsByID map[horse.SkillID]horse.Skill + skillsByName map[string]horse.SkillID + skillGroupMap map[horse.SkillGroupID]horse.SkillGroup +) + +func loadSkills(file string) (map[horse.SkillID]horse.Skill, map[string]horse.SkillID, error) { + b, err := os.ReadFile(file) + if err != nil { + return nil, nil, err + } + var skills []horse.Skill + if err := json.Unmarshal(b, &skills); err != nil { + return nil, nil, err + } + byID := make(map[horse.SkillID]horse.Skill, len(skills)) + byName := make(map[string]horse.SkillID, len(skills)) + for _, s := range skills { + byID[s.ID] = s + byName[s.Name] = s.ID + } + slog.Info("loaded skills", slog.Int("count", len(skills))) + return byID, byName, nil +} + +func loadSkillGroups(file string) (map[horse.SkillGroupID]horse.SkillGroup, error) { + b, err := os.ReadFile(file) + if err != nil { + return nil, err + } + var groups []horse.SkillGroup + if err := json.Unmarshal(b, &groups); err != nil { + return nil, err + } + m := make(map[horse.SkillGroupID]horse.SkillGroup, len(groups)) + for _, s := range groups { + m[s.ID] = s + } + slog.Info("loaded skill groups", slog.Int("count", len(groups))) + return m, nil +} + func skillHandler(data discord.SlashCommandInteractionData, e *handler.CommandEvent) error { q := data.String("query") id, err := strconv.ParseInt(q, 10, 32) if err == nil { // note inverted condition; this is when we have an id - id = int64(global.AllSkills[horse.SkillID(id)].ID) + id = int64(skillsByID[horse.SkillID(id)].ID) } if id == 0 { // Either we weren't given a number or the number doesn't match any skill ID. - v := global.SkillNameToID[q] + v := skillsByName[q] if v == 0 { // No such skill. m := discord.MessageCreate{ @@ -155,7 +213,7 @@ func skillHandler(data discord.SlashCommandInteractionData, e *handler.CommandEv } // TODO(zeph): search conditions and effects, give a list m := discord.MessageCreate{ - Components: []discord.LayoutComponent{RenderSkill(horse.SkillID(id), global.AllSkills, global.SkillGroups)}, + Components: []discord.LayoutComponent{RenderSkill(horse.SkillID(id), skillsByID, skillGroupMap)}, Flags: discord.MessageFlagIsComponentsV2, } return e.CreateMessage(m) @@ -177,7 +235,7 @@ func skillButton(data discord.ButtonInteractionData, e *handler.ComponentEvent) return e.CreateMessage(m) } m := discord.MessageUpdate{ - Components: &[]discord.LayoutComponent{RenderSkill(horse.SkillID(id), global.AllSkills, global.SkillGroups)}, + Components: &[]discord.LayoutComponent{RenderSkill(horse.SkillID(id), skillsByID, skillGroupMap)}, } return e.UpdateMessage(m) } diff --git a/cmd/horsebot/skill.go b/cmd/horsebot/skill.go index b734f03..0339305 100644 --- a/cmd/horsebot/skill.go +++ b/cmd/horsebot/skill.go @@ -9,10 +9,9 @@ import ( "git.sunturtle.xyz/zephyr/horse/cmd/horsebot/autocomplete" "git.sunturtle.xyz/zephyr/horse/horse" - "git.sunturtle.xyz/zephyr/horse/horse/global" ) -func RenderSkill(id horse.SkillID, all map[horse.SkillID]horse.Skill, groups map[horse.SkillGroupID][4]horse.SkillID) discord.ContainerComponent { +func RenderSkill(id horse.SkillID, all map[horse.SkillID]horse.Skill, groups map[horse.SkillGroupID]horse.SkillGroup) discord.ContainerComponent { s, ok := all[id] if !ok { return discord.NewContainer(discord.NewTextDisplayf("invalid skill ID %v made it to RenderSkill", id)) @@ -95,7 +94,8 @@ func RenderSkill(id horse.SkillID, all map[horse.SkillID]horse.Skill, groups map l := discord.NewTextDisplayf("%s ・ SP cost %d ・ Grade value %d ・ [Conditions on GameTora](https://gametora.com/umamusume/skill-condition-viewer?skill=%d)", skilltype, s.SPCost, s.GradeValue, s.ID) r.Components = append(r.Components, discord.NewSmallSeparator(), l) rel := make([]horse.Skill, 0, 4) - for _, id := range groups[s.Group] { + group := groups[s.Group] + for _, id := range [...]horse.SkillID{group.Skill1, group.Skill2, group.Skill3, group.SkillBad} { if id != 0 { rel = append(rel, all[id]) } @@ -135,8 +135,8 @@ func isDebuff(s horse.Skill) bool { var skillGlobalAuto = sync.OnceValue(func() *autocomplete.Set[discord.AutocompleteChoice] { var set autocomplete.Set[discord.AutocompleteChoice] - for _, id := range global.OrderedSkills { - s := global.AllSkills[id] + // NOTE(zeph): we're using global variables here + for _, s := range skillsByID { set.Add(s.Name, discord.AutocompleteChoiceString{Name: s.Name, Value: s.Name}) if s.UniqueOwner != "" { if s.Rarity >= 3 { diff --git a/horse/generate.go b/cmd/horsegen/generate.go similarity index 99% rename from horse/generate.go rename to cmd/horsegen/generate.go index 443f62d..9fafddc 100644 --- a/horse/generate.go +++ b/cmd/horsegen/generate.go @@ -1,5 +1,3 @@ -//go:build ignore - package main import ( diff --git a/horse/sql/affinity.sql b/cmd/horsegen/sql/affinity.sql similarity index 100% rename from horse/sql/affinity.sql rename to cmd/horsegen/sql/affinity.sql diff --git a/horse/sql/character.sql b/cmd/horsegen/sql/character.sql similarity index 100% rename from horse/sql/character.sql rename to cmd/horsegen/sql/character.sql diff --git a/horse/sql/race.sql b/cmd/horsegen/sql/race.sql similarity index 100% rename from horse/sql/race.sql rename to cmd/horsegen/sql/race.sql diff --git a/horse/sql/saddle.sql b/cmd/horsegen/sql/saddle.sql similarity index 100% rename from horse/sql/saddle.sql rename to cmd/horsegen/sql/saddle.sql diff --git a/horse/sql/scenario.sql b/cmd/horsegen/sql/scenario.sql similarity index 100% rename from horse/sql/scenario.sql rename to cmd/horsegen/sql/scenario.sql diff --git a/horse/sql/skill-group.sql b/cmd/horsegen/sql/skill-group.sql similarity index 100% rename from horse/sql/skill-group.sql rename to cmd/horsegen/sql/skill-group.sql diff --git a/horse/sql/skill.sql b/cmd/horsegen/sql/skill.sql similarity index 100% rename from horse/sql/skill.sql rename to cmd/horsegen/sql/skill.sql diff --git a/horse/sql/spark-effect.sql b/cmd/horsegen/sql/spark-effect.sql similarity index 100% rename from horse/sql/spark-effect.sql rename to cmd/horsegen/sql/spark-effect.sql diff --git a/horse/sql/spark.sql b/cmd/horsegen/sql/spark.sql similarity index 100% rename from horse/sql/spark.sql rename to cmd/horsegen/sql/spark.sql diff --git a/horse/sql/uma.sql b/cmd/horsegen/sql/uma.sql similarity index 100% rename from horse/sql/uma.sql rename to cmd/horsegen/sql/uma.sql diff --git a/go-generate.go b/go-generate.go deleted file mode 100644 index 20f36a1..0000000 --- a/go-generate.go +++ /dev/null @@ -1,13 +0,0 @@ -package main - -import "os" - -//go:generate go run ./horsegen -//go:generate go generate ./horse/... -//go:generate go fmt ./... -//go:generate go test ./... - -func main() { - os.Stderr.WriteString("go generate, not go run\n") - os.Exit(2) -} diff --git a/go.mod b/go.mod index a2a366f..f8fc982 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.25.5 require ( github.com/disgoorg/disgo v0.19.0-rc.15 github.com/junegunn/fzf v0.67.0 - golang.org/x/sync v0.14.0 + golang.org/x/sync v0.20.0 zombiezen.com/go/sqlite v1.4.2 ) diff --git a/go.sum b/go.sum index 72c2405..babb4a6 100644 --- a/go.sum +++ b/go.sum @@ -40,8 +40,8 @@ golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5Z golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8= golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= -golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= +golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= diff --git a/horse/global/character.go b/horse/global/character.go deleted file mode 100644 index c8991cc..0000000 --- a/horse/global/character.go +++ /dev/null @@ -1,256 +0,0 @@ -package global - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - CharacterSpecialWeek CharacterID = 1001 // Special Week - CharacterSilenceSuzuka CharacterID = 1002 // Silence Suzuka - CharacterTokaiTeio CharacterID = 1003 // Tokai Teio - CharacterMaruzensky CharacterID = 1004 // Maruzensky - CharacterFujiKiseki CharacterID = 1005 // Fuji Kiseki - CharacterOguriCap CharacterID = 1006 // Oguri Cap - CharacterGoldShip CharacterID = 1007 // Gold Ship - CharacterVodka CharacterID = 1008 // Vodka - CharacterDaiwaScarlet CharacterID = 1009 // Daiwa Scarlet - CharacterTaikiShuttle CharacterID = 1010 // Taiki Shuttle - CharacterGrassWonder CharacterID = 1011 // Grass Wonder - CharacterHishiAmazon CharacterID = 1012 // Hishi Amazon - CharacterMejiroMcQueen CharacterID = 1013 // Mejiro McQueen - CharacterElCondorPasa CharacterID = 1014 // El Condor Pasa - CharacterTMOperaO CharacterID = 1015 // T.M. Opera O - CharacterNaritaBrian CharacterID = 1016 // Narita Brian - CharacterSymboliRudolf CharacterID = 1017 // Symboli Rudolf - CharacterAirGroove CharacterID = 1018 // Air Groove - CharacterAgnesDigital CharacterID = 1019 // Agnes Digital - CharacterSeiunSky CharacterID = 1020 // Seiun Sky - CharacterTamamoCross CharacterID = 1021 // Tamamo Cross - CharacterFineMotion CharacterID = 1022 // Fine Motion - CharacterBiwaHayahide CharacterID = 1023 // Biwa Hayahide - CharacterMayanoTopGun CharacterID = 1024 // Mayano Top Gun - CharacterManhattanCafe CharacterID = 1025 // Manhattan Cafe - CharacterMihonoBourbon CharacterID = 1026 // Mihono Bourbon - CharacterMejiroRyan CharacterID = 1027 // Mejiro Ryan - CharacterHishiAkebono CharacterID = 1028 // Hishi Akebono - CharacterRiceShower CharacterID = 1030 // Rice Shower - CharacterAgnesTachyon CharacterID = 1032 // Agnes Tachyon - CharacterAdmireVega CharacterID = 1033 // Admire Vega - CharacterInariOne CharacterID = 1034 // Inari One - CharacterWinningTicket CharacterID = 1035 // Winning Ticket - CharacterEishinFlash CharacterID = 1037 // Eishin Flash - CharacterCurrenChan CharacterID = 1038 // Curren Chan - CharacterKawakamiPrincess CharacterID = 1039 // Kawakami Princess - CharacterGoldCity CharacterID = 1040 // Gold City - CharacterSakuraBakushinO CharacterID = 1041 // Sakura Bakushin O - CharacterSweepTosho CharacterID = 1044 // Sweep Tosho - CharacterSuperCreek CharacterID = 1045 // Super Creek - CharacterSmartFalcon CharacterID = 1046 // Smart Falcon - CharacterTosenJordan CharacterID = 1048 // Tosen Jordan - CharacterNaritaTaishin CharacterID = 1050 // Narita Taishin - CharacterNishinoFlower CharacterID = 1051 // Nishino Flower - CharacterHaruUrara CharacterID = 1052 // Haru Urara - CharacterMatikanefukukitaru CharacterID = 1056 // Matikanefukukitaru - CharacterMeishoDoto CharacterID = 1058 // Meisho Doto - CharacterMejiroDober CharacterID = 1059 // Mejiro Dober - CharacterNiceNature CharacterID = 1060 // Nice Nature - CharacterKingHalo CharacterID = 1061 // King Halo - CharacterKitasanBlack CharacterID = 1068 // Kitasan Black - CharacterSakuraChiyonoO CharacterID = 1069 // Sakura Chiyono O - CharacterMejiroArdan CharacterID = 1071 // Mejiro Ardan -) - -var OrderedCharacters = [...]CharacterID{ - CharacterSpecialWeek, - CharacterSilenceSuzuka, - CharacterTokaiTeio, - CharacterMaruzensky, - CharacterFujiKiseki, - CharacterOguriCap, - CharacterGoldShip, - CharacterVodka, - CharacterDaiwaScarlet, - CharacterTaikiShuttle, - CharacterGrassWonder, - CharacterHishiAmazon, - CharacterMejiroMcQueen, - CharacterElCondorPasa, - CharacterTMOperaO, - CharacterNaritaBrian, - CharacterSymboliRudolf, - CharacterAirGroove, - CharacterAgnesDigital, - CharacterSeiunSky, - CharacterTamamoCross, - CharacterFineMotion, - CharacterBiwaHayahide, - CharacterMayanoTopGun, - CharacterManhattanCafe, - CharacterMihonoBourbon, - CharacterMejiroRyan, - CharacterHishiAkebono, - CharacterRiceShower, - CharacterAgnesTachyon, - CharacterAdmireVega, - CharacterInariOne, - CharacterWinningTicket, - CharacterEishinFlash, - CharacterCurrenChan, - CharacterKawakamiPrincess, - CharacterGoldCity, - CharacterSakuraBakushinO, - CharacterSweepTosho, - CharacterSuperCreek, - CharacterSmartFalcon, - CharacterTosenJordan, - CharacterNaritaTaishin, - CharacterNishinoFlower, - CharacterHaruUrara, - CharacterMatikanefukukitaru, - CharacterMeishoDoto, - CharacterMejiroDober, - CharacterNiceNature, - CharacterKingHalo, - CharacterKitasanBlack, - CharacterSakuraChiyonoO, - CharacterMejiroArdan, -} - -var Characters = map[CharacterID]Character{ - CharacterSpecialWeek: {ID: 1001, Name: "Special Week"}, - CharacterSilenceSuzuka: {ID: 1002, Name: "Silence Suzuka"}, - CharacterTokaiTeio: {ID: 1003, Name: "Tokai Teio"}, - CharacterMaruzensky: {ID: 1004, Name: "Maruzensky"}, - CharacterFujiKiseki: {ID: 1005, Name: "Fuji Kiseki"}, - CharacterOguriCap: {ID: 1006, Name: "Oguri Cap"}, - CharacterGoldShip: {ID: 1007, Name: "Gold Ship"}, - CharacterVodka: {ID: 1008, Name: "Vodka"}, - CharacterDaiwaScarlet: {ID: 1009, Name: "Daiwa Scarlet"}, - CharacterTaikiShuttle: {ID: 1010, Name: "Taiki Shuttle"}, - CharacterGrassWonder: {ID: 1011, Name: "Grass Wonder"}, - CharacterHishiAmazon: {ID: 1012, Name: "Hishi Amazon"}, - CharacterMejiroMcQueen: {ID: 1013, Name: "Mejiro McQueen"}, - CharacterElCondorPasa: {ID: 1014, Name: "El Condor Pasa"}, - CharacterTMOperaO: {ID: 1015, Name: "T.M. Opera O"}, - CharacterNaritaBrian: {ID: 1016, Name: "Narita Brian"}, - CharacterSymboliRudolf: {ID: 1017, Name: "Symboli Rudolf"}, - CharacterAirGroove: {ID: 1018, Name: "Air Groove"}, - CharacterAgnesDigital: {ID: 1019, Name: "Agnes Digital"}, - CharacterSeiunSky: {ID: 1020, Name: "Seiun Sky"}, - CharacterTamamoCross: {ID: 1021, Name: "Tamamo Cross"}, - CharacterFineMotion: {ID: 1022, Name: "Fine Motion"}, - CharacterBiwaHayahide: {ID: 1023, Name: "Biwa Hayahide"}, - CharacterMayanoTopGun: {ID: 1024, Name: "Mayano Top Gun"}, - CharacterManhattanCafe: {ID: 1025, Name: "Manhattan Cafe"}, - CharacterMihonoBourbon: {ID: 1026, Name: "Mihono Bourbon"}, - CharacterMejiroRyan: {ID: 1027, Name: "Mejiro Ryan"}, - CharacterHishiAkebono: {ID: 1028, Name: "Hishi Akebono"}, - CharacterRiceShower: {ID: 1030, Name: "Rice Shower"}, - CharacterAgnesTachyon: {ID: 1032, Name: "Agnes Tachyon"}, - CharacterAdmireVega: {ID: 1033, Name: "Admire Vega"}, - CharacterInariOne: {ID: 1034, Name: "Inari One"}, - CharacterWinningTicket: {ID: 1035, Name: "Winning Ticket"}, - CharacterEishinFlash: {ID: 1037, Name: "Eishin Flash"}, - CharacterCurrenChan: {ID: 1038, Name: "Curren Chan"}, - CharacterKawakamiPrincess: {ID: 1039, Name: "Kawakami Princess"}, - CharacterGoldCity: {ID: 1040, Name: "Gold City"}, - CharacterSakuraBakushinO: {ID: 1041, Name: "Sakura Bakushin O"}, - CharacterSweepTosho: {ID: 1044, Name: "Sweep Tosho"}, - CharacterSuperCreek: {ID: 1045, Name: "Super Creek"}, - CharacterSmartFalcon: {ID: 1046, Name: "Smart Falcon"}, - CharacterTosenJordan: {ID: 1048, Name: "Tosen Jordan"}, - CharacterNaritaTaishin: {ID: 1050, Name: "Narita Taishin"}, - CharacterNishinoFlower: {ID: 1051, Name: "Nishino Flower"}, - CharacterHaruUrara: {ID: 1052, Name: "Haru Urara"}, - CharacterMatikanefukukitaru: {ID: 1056, Name: "Matikanefukukitaru"}, - CharacterMeishoDoto: {ID: 1058, Name: "Meisho Doto"}, - CharacterMejiroDober: {ID: 1059, Name: "Mejiro Dober"}, - CharacterNiceNature: {ID: 1060, Name: "Nice Nature"}, - CharacterKingHalo: {ID: 1061, Name: "King Halo"}, - CharacterKitasanBlack: {ID: 1068, Name: "Kitasan Black"}, - CharacterSakuraChiyonoO: {ID: 1069, Name: "Sakura Chiyono O"}, - CharacterMejiroArdan: {ID: 1071, Name: "Mejiro Ardan"}, -} - -var CharacterNameToID = map[string]CharacterID{ - "Special Week": 1001, - "Silence Suzuka": 1002, - "Tokai Teio": 1003, - "Maruzensky": 1004, - "Fuji Kiseki": 1005, - "Oguri Cap": 1006, - "Gold Ship": 1007, - "Vodka": 1008, - "Daiwa Scarlet": 1009, - "Taiki Shuttle": 1010, - "Grass Wonder": 1011, - "Hishi Amazon": 1012, - "Mejiro McQueen": 1013, - "El Condor Pasa": 1014, - "T.M. Opera O": 1015, - "Narita Brian": 1016, - "Symboli Rudolf": 1017, - "Air Groove": 1018, - "Agnes Digital": 1019, - "Seiun Sky": 1020, - "Tamamo Cross": 1021, - "Fine Motion": 1022, - "Biwa Hayahide": 1023, - "Mayano Top Gun": 1024, - "Manhattan Cafe": 1025, - "Mihono Bourbon": 1026, - "Mejiro Ryan": 1027, - "Hishi Akebono": 1028, - "Rice Shower": 1030, - "Agnes Tachyon": 1032, - "Admire Vega": 1033, - "Inari One": 1034, - "Winning Ticket": 1035, - "Eishin Flash": 1037, - "Curren Chan": 1038, - "Kawakami Princess": 1039, - "Gold City": 1040, - "Sakura Bakushin O": 1041, - "Sweep Tosho": 1044, - "Super Creek": 1045, - "Smart Falcon": 1046, - "Tosen Jordan": 1048, - "Narita Taishin": 1050, - "Nishino Flower": 1051, - "Haru Urara": 1052, - "Matikanefukukitaru": 1056, - "Meisho Doto": 1058, - "Mejiro Dober": 1059, - "Nice Nature": 1060, - "King Halo": 1061, - "Kitasan Black": 1068, - "Sakura Chiyono O": 1069, - "Mejiro Ardan": 1071, -} - -var pairAffinity = []int8{0, 23, 20, 11, 11, 25, 26, 26, 17, 9, 31, 14, 27, 25, 31, 33, 26, 18, 19, 30, 27, 17, 25, 26, 24, 18, 24, 12, 23, 25, 18, 0, 27, 26, 10, 25, 11, 9, 0, 29, 10, 18, 17, 0, 7, 28, 20, 22, 35, 24, 0, 17, 17, 23, 0, 18, 17, 11, 18, 19, 16, 17, 14, 18, 15, 20, 17, 19, 18, 16, 18, 18, 22, 19, 19, 18, 26, 11, 26, 18, 10, 17, 20, 17, 0, 18, 17, 10, 16, 13, 13, 0, 20, 17, 19, 17, 0, 3, 27, 19, 18, 19, 11, 0, 18, 17, 20, 18, 0, 9, 19, 18, 20, 24, 30, 17, 17, 14, 31, 24, 27, 21, 28, 26, 26, 17, 18, 23, 25, 20, 10, 20, 17, 17, 25, 21, 19, 0, 19, 18, 18, 17, 18, 17, 0, 24, 12, 25, 19, 0, 3, 17, 24, 14, 21, 13, 0, 24, 22, 11, 17, 9, 0, 17, 18, 9, 15, 17, 24, 17, 7, 8, 17, 8, 11, 11, 9, 17, 16, 12, 7, 9, 15, 9, 30, 8, 16, 10, 10, 9, 0, 10, 9, 14, 14, 15, 16, 0, 11, 16, 9, 9, 0, 7, 10, 8, 14, 8, 16, 0, 18, 10, 11, 11, 19, 17, 0, 17, 12, 17, 23, 22, 16, 11, 19, 22, 18, 13, 16, 19, 24, 9, 10, 17, 19, 11, 9, 19, 12, 18, 15, 12, 12, 0, 12, 12, 17, 16, 26, 16, 0, 18, 13, 17, 12, 0, 2, 11, 18, 15, 12, 11, 0, 24, 16, 25, 18, 18, 18, 17, 0, 20, 31, 24, 18, 30, 15, 18, 23, 20, 25, 19, 16, 26, 15, 24, 17, 18, 20, 17, 24, 25, 10, 16, 24, 17, 0, 26, 26, 10, 30, 18, 9, 0, 26, 17, 17, 17, 0, 3, 25, 18, 29, 26, 17, 0, 25, 22, 26, 19, 20, 9, 12, 20, 0, 16, 18, 9, 17, 24, 31, 17, 29, 29, 28, 19, 18, 24, 34, 16, 31, 30, 19, 18, 19, 11, 25, 18, 26, 0, 22, 21, 9, 17, 10, 9, 0, 28, 13, 18, 27, 0, 11, 19, 18, 14, 26, 11, 0, 16, 17, 26, 16, 24, 15, 17, 31, 16, 0, 34, 16, 29, 16, 21, 23, 18, 24, 17, 20, 27, 15, 17, 17, 16, 16, 14, 25, 22, 9, 15, 25, 17, 0, 24, 25, 12, 31, 17, 8, 0, 17, 18, 17, 16, 0, 3, 23, 16, 30, 24, 18, 0, 23, 14, 17, 17, 30, 17, 23, 24, 18, 34, 0, 22, 23, 16, 28, 30, 24, 18, 24, 27, 34, 14, 18, 26, 24, 17, 8, 23, 14, 17, 22, 17, 16, 0, 17, 17, 19, 26, 23, 15, 0, 25, 17, 25, 16, 0, 4, 17, 23, 24, 16, 11, 0, 30, 21, 9, 14, 17, 24, 22, 18, 9, 16, 22, 0, 19, 10, 16, 27, 17, 8, 20, 16, 24, 10, 8, 17, 16, 9, 13, 24, 11, 23, 21, 11, 8, 0, 9, 9, 23, 14, 25, 29, 0, 16, 8, 17, 8, 0, 7, 15, 16, 22, 9, 17, 0, 28, 19, 31, 18, 17, 17, 16, 30, 17, 29, 23, 19, 0, 16, 16, 35, 19, 24, 19, 16, 22, 24, 16, 14, 16, 18, 18, 23, 25, 10, 18, 23, 15, 0, 22, 22, 7, 30, 15, 10, 0, 15, 15, 15, 15, 0, 3, 23, 18, 30, 24, 23, 0, 27, 17, 14, 15, 14, 7, 11, 15, 24, 16, 16, 10, 16, 0, 14, 17, 15, 17, 17, 17, 14, 16, 21, 16, 17, 15, 10, 14, 18, 7, 17, 14, 23, 0, 17, 17, 8, 15, 7, 9, 0, 14, 9, 14, 23, 0, 8, 14, 14, 19, 14, 7, 0, 16, 17, 27, 20, 31, 8, 19, 18, 31, 21, 28, 16, 16, 14, 0, 22, 33, 26, 31, 25, 26, 24, 27, 25, 35, 28, 18, 18, 22, 17, 33, 19, 18, 0, 19, 17, 18, 17, 18, 18, 0, 34, 12, 25, 18, 0, 4, 19, 25, 16, 27, 14, 0, 22, 25, 25, 17, 24, 17, 22, 23, 17, 23, 30, 27, 35, 17, 22, 0, 26, 15, 27, 23, 29, 24, 15, 22, 23, 16, 11, 22, 17, 17, 26, 16, 15, 0, 16, 16, 14, 23, 22, 17, 0, 23, 16, 22, 15, 0, 2, 16, 24, 23, 17, 15, 0, 33, 25, 31, 19, 27, 8, 18, 20, 29, 18, 24, 17, 19, 15, 33, 26, 0, 27, 35, 24, 25, 26, 27, 23, 36, 29, 19, 18, 16, 19, 32, 19, 19, 0, 18, 19, 16, 18, 17, 16, 0, 33, 10, 25, 19, 0, 5, 17, 28, 14, 26, 12, 0, 22, 23, 33, 18, 21, 11, 13, 25, 29, 24, 18, 8, 24, 17, 26, 15, 27, 0, 29, 20, 18, 24, 25, 17, 27, 26, 24, 20, 25, 10, 23, 25, 20, 0, 27, 27, 10, 23, 11, 8, 0, 27, 12, 17, 20, 0, 2, 27, 18, 22, 32, 17, 0, 18, 16, 26, 16, 28, 11, 16, 19, 28, 17, 24, 20, 19, 17, 31, 27, 35, 29, 0, 25, 22, 26, 26, 21, 33, 26, 22, 17, 17, 15, 36, 18, 17, 0, 18, 17, 14, 15, 15, 17, 0, 33, 9, 23, 17, 0, 1, 16, 22, 16, 22, 10, 0, 26, 27, 18, 18, 26, 9, 19, 16, 19, 20, 27, 16, 16, 17, 25, 23, 24, 20, 25, 0, 24, 15, 17, 26, 25, 16, 7, 17, 17, 16, 22, 18, 18, 0, 19, 19, 17, 18, 17, 17, 0, 25, 13, 25, 18, 0, 3, 17, 23, 16, 17, 12, 0, 23, 21, 19, 18, 26, 17, 24, 26, 18, 27, 34, 24, 22, 14, 26, 29, 25, 18, 22, 24, 0, 15, 19, 24, 24, 17, 8, 24, 15, 17, 22, 19, 17, 0, 17, 18, 18, 23, 24, 15, 0, 27, 25, 25, 17, 0, 9, 18, 24, 21, 17, 10, 0, 30, 22, 30, 22, 17, 16, 9, 15, 24, 15, 14, 10, 24, 16, 24, 24, 26, 24, 26, 15, 15, 0, 22, 14, 23, 30, 18, 24, 19, 10, 25, 17, 15, 0, 15, 15, 8, 16, 10, 11, 0, 24, 16, 15, 16, 0, 2, 16, 18, 17, 26, 15, 0, 18, 18, 27, 19, 18, 12, 10, 24, 34, 17, 18, 8, 16, 21, 27, 15, 27, 25, 26, 17, 19, 22, 0, 16, 26, 26, 16, 17, 16, 10, 23, 17, 24, 0, 17, 18, 9, 16, 11, 9, 0, 33, 11, 18, 24, 0, 9, 18, 18, 14, 24, 10, 0, 16, 17, 17, 19, 23, 7, 17, 17, 16, 17, 26, 17, 14, 16, 25, 22, 23, 17, 21, 26, 24, 14, 16, 0, 23, 16, 10, 18, 14, 18, 24, 19, 18, 1, 16, 17, 18, 19, 18, 16, 1, 23, 9, 26, 16, 1, 3, 18, 24, 20, 16, 11, 0, 23, 21, 25, 18, 25, 9, 19, 18, 31, 16, 24, 16, 16, 17, 35, 23, 36, 27, 33, 25, 24, 23, 26, 23, 0, 28, 18, 17, 18, 17, 32, 17, 19, 0, 26, 20, 16, 16, 17, 16, 0, 34, 13, 24, 25, 0, 2, 18, 25, 14, 24, 10, 0, 23, 23, 26, 26, 20, 15, 11, 20, 30, 16, 17, 9, 18, 15, 28, 16, 29, 26, 26, 16, 17, 30, 26, 16, 28, 0, 19, 24, 17, 11, 25, 17, 17, 0, 20, 18, 9, 16, 10, 9, 0, 27, 17, 17, 17, 0, 3, 19, 18, 14, 25, 10, 0, 15, 17, 24, 11, 10, 9, 9, 17, 19, 14, 8, 13, 18, 10, 18, 11, 19, 24, 22, 7, 8, 18, 16, 10, 18, 19, 0, 10, 18, 8, 23, 19, 8, 0, 16, 16, 8, 14, 11, 12, 0, 18, 1, 10, 8, 0, 0, 19, 9, 19, 23, 15, 0, 13, 12, 18, 26, 20, 30, 19, 24, 18, 25, 23, 24, 23, 14, 18, 22, 18, 20, 17, 17, 24, 24, 17, 18, 17, 24, 10, 0, 16, 17, 18, 21, 18, 0, 18, 18, 16, 23, 20, 19, 0, 17, 25, 19, 18, 0, 9, 19, 17, 23, 18, 18, 0, 26, 15, 24, 18, 17, 8, 12, 25, 19, 22, 14, 11, 25, 18, 22, 17, 16, 25, 17, 17, 15, 19, 16, 14, 18, 17, 18, 16, 0, 8, 19, 24, 18, 0, 25, 24, 7, 21, 9, 14, 0, 16, 11, 15, 18, 0, 1, 23, 16, 25, 25, 16, 0, 17, 20, 12, 10, 17, 16, 18, 10, 11, 9, 17, 23, 10, 7, 17, 17, 19, 10, 15, 16, 17, 10, 10, 18, 17, 11, 8, 17, 8, 0, 15, 10, 11, 1, 10, 10, 25, 12, 17, 23, 1, 18, 4, 18, 10, 1, 11, 10, 20, 8, 12, 19, 0, 18, 15, 23, 17, 25, 10, 15, 16, 25, 15, 22, 21, 18, 17, 33, 26, 32, 23, 36, 22, 22, 25, 23, 24, 32, 25, 23, 18, 19, 15, 0, 18, 15, 0, 16, 16, 15, 14, 18, 21, 0, 32, 8, 24, 15, 0, 2, 19, 23, 19, 24, 9, 0, 28, 26, 25, 20, 21, 10, 12, 24, 18, 25, 17, 11, 23, 14, 19, 16, 19, 25, 18, 18, 19, 17, 17, 19, 17, 17, 19, 21, 24, 10, 18, 0, 17, 0, 24, 24, 10, 23, 14, 11, 0, 18, 11, 19, 18, 0, 3, 27, 18, 24, 26, 19, 0, 19, 16, 18, 17, 19, 9, 12, 17, 26, 17, 16, 8, 15, 23, 18, 15, 19, 20, 17, 18, 17, 15, 24, 18, 19, 17, 8, 18, 18, 11, 15, 17, 0, 1, 20, 20, 13, 17, 11, 8, 1, 18, 12, 18, 26, 1, 10, 18, 20, 16, 18, 10, 0, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 27, 18, 19, 10, 12, 26, 22, 24, 17, 9, 22, 17, 19, 16, 18, 27, 18, 19, 17, 15, 17, 16, 26, 20, 16, 18, 25, 10, 16, 24, 20, 0, 0, 28, 9, 23, 10, 10, 0, 19, 13, 19, 25, 0, 3, 25, 17, 21, 25, 17, 0, 17, 17, 26, 17, 18, 9, 12, 26, 21, 25, 17, 9, 22, 17, 17, 16, 19, 27, 17, 19, 18, 15, 18, 17, 20, 18, 16, 18, 24, 10, 16, 24, 20, 0, 28, 0, 10, 23, 10, 8, 0, 19, 15, 18, 19, 0, 2, 24, 17, 21, 24, 17, 0, 17, 16, 10, 10, 18, 14, 17, 10, 9, 12, 19, 23, 7, 8, 18, 14, 16, 10, 14, 17, 18, 8, 9, 18, 16, 9, 8, 16, 7, 25, 15, 10, 13, 1, 9, 10, 0, 11, 16, 23, 1, 16, 2, 17, 10, 1, 10, 9, 17, 9, 9, 17, 0, 14, 14, 25, 16, 17, 14, 16, 30, 17, 31, 26, 14, 30, 15, 17, 23, 18, 23, 15, 18, 23, 16, 16, 19, 16, 16, 14, 23, 21, 12, 14, 23, 17, 1, 23, 23, 11, 0, 16, 7, 1, 16, 17, 17, 17, 1, 5, 23, 19, 32, 25, 18, 0, 21, 14, 11, 13, 18, 15, 26, 18, 10, 17, 23, 25, 15, 7, 18, 22, 17, 11, 15, 17, 24, 10, 11, 18, 17, 10, 11, 20, 9, 17, 18, 14, 11, 0, 10, 10, 16, 16, 0, 19, 0, 17, 11, 19, 11, 0, 2, 12, 17, 16, 11, 11, 0, 24, 15, 9, 13, 17, 16, 16, 9, 9, 8, 15, 29, 10, 9, 18, 17, 16, 8, 17, 17, 15, 11, 9, 16, 16, 9, 12, 19, 14, 23, 21, 11, 8, 0, 10, 8, 23, 7, 19, 0, 0, 17, 2, 19, 8, 0, 10, 13, 16, 12, 12, 16, 0, 22, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 29, 20, 24, 11, 18, 26, 28, 17, 25, 16, 15, 14, 34, 23, 33, 27, 33, 25, 27, 24, 33, 23, 34, 27, 18, 17, 16, 18, 32, 18, 18, 0, 19, 19, 16, 16, 17, 17, 0, 0, 11, 26, 20, 0, 3, 21, 24, 14, 25, 10, 0, 24, 27, 10, 17, 12, 16, 13, 17, 13, 18, 17, 8, 15, 9, 12, 16, 10, 12, 9, 13, 25, 16, 11, 9, 13, 17, 1, 25, 11, 4, 8, 11, 12, 0, 13, 15, 2, 17, 11, 2, 0, 11, 0, 11, 12, 0, 10, 10, 10, 14, 11, 5, 0, 16, 8, 18, 19, 25, 9, 17, 17, 18, 17, 25, 17, 15, 14, 25, 22, 25, 17, 23, 25, 25, 15, 18, 26, 24, 17, 10, 19, 15, 18, 24, 19, 18, 1, 19, 18, 17, 17, 19, 19, 1, 26, 11, 0, 17, 1, 2, 19, 25, 17, 17, 10, 0, 25, 22, 17, 17, 19, 9, 12, 17, 27, 16, 16, 8, 15, 23, 18, 15, 19, 20, 17, 18, 17, 16, 24, 16, 25, 17, 8, 18, 18, 10, 15, 18, 26, 0, 25, 19, 10, 17, 11, 8, 0, 20, 12, 17, 0, 0, 10, 17, 18, 15, 18, 11, 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 7, 3, 3, 7, 2, 3, 11, 3, 4, 7, 3, 8, 4, 2, 5, 2, 1, 3, 9, 2, 9, 3, 2, 3, 0, 9, 1, 11, 2, 3, 10, 0, 3, 2, 10, 5, 2, 10, 0, 3, 10, 2, 10, 0, 0, 3, 5, 1, 5, 13, 0, 1, 1, 28, 27, 17, 10, 11, 25, 19, 23, 17, 15, 23, 14, 19, 16, 17, 27, 16, 17, 18, 16, 18, 18, 18, 19, 19, 19, 23, 10, 19, 27, 18, 0, 25, 24, 9, 23, 12, 13, 0, 21, 10, 19, 17, 0, 3, 0, 17, 24, 25, 18, 0, 18, 16, 20, 19, 24, 8, 18, 18, 18, 16, 23, 16, 18, 14, 25, 24, 28, 18, 22, 23, 24, 18, 18, 24, 25, 18, 9, 17, 16, 20, 23, 18, 20, 1, 17, 17, 17, 19, 17, 16, 1, 24, 10, 25, 18, 1, 5, 17, 0, 15, 19, 12, 0, 22, 22, 22, 18, 14, 14, 15, 29, 14, 30, 24, 22, 30, 19, 16, 23, 14, 22, 16, 16, 21, 17, 14, 20, 14, 14, 19, 23, 25, 8, 19, 24, 16, 1, 21, 21, 9, 32, 16, 12, 1, 14, 14, 17, 15, 1, 1, 24, 15, 0, 21, 14, 0, 25, 18, 35, 19, 21, 8, 12, 26, 26, 24, 16, 9, 24, 14, 27, 17, 26, 32, 22, 17, 17, 26, 24, 16, 24, 25, 23, 18, 25, 12, 24, 26, 18, 0, 25, 24, 9, 25, 11, 12, 0, 25, 11, 17, 18, 0, 5, 25, 19, 21, 0, 20, 0, 15, 16, 24, 11, 13, 16, 11, 17, 11, 18, 11, 17, 23, 7, 14, 15, 12, 17, 10, 12, 10, 15, 10, 11, 10, 10, 15, 18, 16, 19, 9, 19, 10, 0, 17, 17, 17, 18, 11, 16, 0, 10, 5, 10, 11, 0, 13, 18, 12, 14, 20, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 24, 18, 24, 25, 16, 23, 30, 28, 27, 16, 22, 33, 22, 18, 26, 23, 30, 18, 16, 23, 23, 15, 13, 26, 17, 18, 28, 19, 17, 0, 17, 17, 14, 21, 24, 22, 0, 24, 16, 25, 16, 0, 1, 18, 22, 25, 15, 9, 0, 0, 29, 17, 17, 22, 10, 16, 22, 17, 14, 21, 19, 17, 17, 25, 25, 23, 16, 27, 21, 22, 18, 17, 21, 23, 17, 12, 15, 20, 15, 26, 16, 16, 0, 17, 16, 14, 14, 15, 19, 0, 27, 8, 22, 16, 0, 1, 16, 22, 18, 16, 8, 0, 29, 0} - -var trioAffinity = []int8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 9, 11, 18, 18, 16, 17, 9, 16, 14, 18, 16, 17, 18, 15, 17, 18, 15, 18, 16, 17, 18, 9, 17, 16, 10, 15, 18, 17, 0, 18, 17, 9, 16, 10, 9, 0, 19, 10, 17, 17, 0, 3, 20, 17, 14, 18, 11, 0, 15, 16, 0, 17, 0, 8, 10, 17, 17, 18, 16, 8, 15, 14, 17, 16, 18, 18, 17, 16, 17, 15, 17, 16, 17, 17, 8, 18, 15, 10, 15, 17, 18, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 0, 9, 8, 0, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 9, 8, 7, 9, 8, 9, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 9, 1, 8, 8, 0, 0, 9, 8, 7, 8, 8, 0, 8, 8, 0, 11, 10, 8, 0, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 9, 10, 8, 10, 8, 11, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 0, 18, 17, 8, 10, 0, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 25, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 25, 17, 21, 25, 17, 0, 15, 16, 0, 18, 17, 8, 10, 18, 0, 16, 16, 8, 15, 14, 26, 15, 25, 24, 23, 16, 17, 22, 25, 16, 25, 26, 16, 17, 16, 10, 23, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 26, 10, 17, 17, 0, 3, 18, 17, 14, 25, 10, 0, 15, 16, 0, 16, 18, 7, 9, 23, 16, 0, 16, 7, 21, 14, 16, 15, 18, 24, 16, 17, 17, 14, 17, 16, 16, 16, 14, 17, 21, 9, 14, 23, 17, 0, 24, 25, 9, 23, 9, 7, 0, 17, 9, 17, 16, 0, 2, 23, 16, 21, 23, 16, 0, 15, 14, 0, 17, 16, 8, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 17, 14, 16, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 17, 9, 16, 16, 0, 2, 17, 16, 14, 16, 9, 0, 14, 14, 0, 9, 8, 8, 8, 8, 8, 7, 7, 0, 9, 7, 8, 9, 8, 8, 8, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 9, 8, 7, 8, 9, 0, 8, 8, 0, 16, 15, 8, 8, 22, 15, 21, 14, 9, 0, 14, 15, 23, 17, 22, 15, 15, 15, 22, 15, 14, 15, 15, 15, 15, 22, 10, 15, 22, 15, 0, 22, 22, 7, 23, 8, 8, 0, 15, 8, 15, 15, 0, 2, 23, 17, 21, 24, 21, 0, 15, 15, 0, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 0, 18, 17, 8, 10, 18, 26, 16, 16, 8, 15, 14, 0, 15, 25, 24, 23, 16, 17, 22, 25, 16, 25, 26, 16, 17, 16, 10, 23, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 26, 10, 17, 17, 0, 3, 18, 17, 14, 25, 10, 0, 15, 16, 0, 16, 16, 8, 8, 15, 15, 15, 14, 9, 23, 14, 15, 0, 18, 15, 16, 15, 15, 22, 15, 14, 15, 15, 8, 15, 15, 10, 15, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 15, 8, 15, 15, 0, 2, 16, 17, 14, 17, 14, 0, 15, 15, 0, 17, 18, 8, 10, 17, 25, 18, 16, 8, 17, 14, 25, 18, 0, 24, 24, 17, 18, 24, 26, 16, 25, 25, 16, 17, 15, 12, 23, 17, 17, 0, 17, 18, 9, 18, 10, 8, 0, 26, 10, 18, 17, 0, 4, 17, 19, 14, 26, 12, 0, 15, 15, 0, 18, 18, 9, 10, 24, 24, 24, 17, 8, 22, 14, 24, 15, 24, 0, 23, 16, 18, 22, 25, 16, 24, 24, 22, 18, 22, 10, 22, 24, 18, 0, 25, 25, 9, 23, 10, 8, 0, 25, 10, 17, 17, 0, 2, 25, 17, 21, 31, 17, 0, 16, 15, 0, 15, 17, 8, 8, 15, 23, 16, 14, 8, 15, 14, 23, 16, 24, 23, 0, 14, 15, 22, 23, 14, 23, 23, 16, 16, 15, 8, 23, 15, 16, 0, 16, 16, 7, 14, 8, 8, 0, 23, 8, 15, 15, 0, 0, 15, 15, 14, 22, 8, 0, 16, 15, 0, 17, 16, 7, 9, 16, 16, 17, 16, 8, 15, 14, 16, 15, 17, 16, 14, 0, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 17, 9, 17, 16, 0, 2, 17, 16, 14, 16, 10, 0, 14, 14, 0, 18, 17, 9, 10, 17, 17, 17, 17, 8, 15, 14, 17, 15, 18, 18, 15, 17, 0, 15, 19, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 19, 10, 18, 17, 0, 2, 18, 17, 14, 17, 10, 0, 15, 15, 0, 15, 15, 8, 8, 15, 22, 14, 14, 8, 22, 14, 22, 22, 24, 22, 22, 14, 15, 0, 22, 14, 22, 22, 15, 15, 15, 10, 22, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 22, 8, 15, 15, 0, 2, 15, 17, 14, 24, 13, 0, 15, 15, 0, 18, 17, 9, 10, 17, 25, 17, 17, 8, 15, 14, 25, 15, 26, 25, 23, 17, 19, 22, 0, 16, 25, 25, 16, 17, 15, 10, 23, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 27, 10, 18, 17, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 0, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 0, 17, 17, 8, 10, 17, 25, 16, 16, 8, 15, 14, 25, 15, 25, 24, 23, 16, 17, 22, 25, 16, 0, 25, 16, 17, 15, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 17, 17, 14, 24, 10, 0, 15, 15, 0, 18, 17, 8, 10, 18, 26, 16, 16, 8, 15, 14, 26, 15, 25, 24, 23, 16, 17, 22, 25, 16, 25, 0, 16, 17, 16, 10, 23, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 26, 10, 17, 17, 0, 3, 18, 17, 14, 25, 10, 0, 15, 16, 0, 9, 8, 8, 9, 15, 16, 14, 7, 8, 15, 7, 16, 8, 16, 22, 16, 7, 8, 15, 16, 7, 16, 16, 0, 8, 15, 8, 16, 16, 8, 0, 15, 15, 7, 14, 8, 8, 0, 16, 1, 8, 8, 0, 0, 15, 8, 14, 22, 15, 0, 8, 8, 0, 17, 18, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 18, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 0, 16, 15, 8, 8, 23, 16, 21, 14, 8, 22, 14, 16, 15, 15, 22, 15, 14, 15, 15, 15, 14, 15, 16, 15, 15, 0, 8, 15, 22, 15, 0, 23, 22, 7, 21, 8, 9, 0, 16, 8, 15, 15, 0, 1, 23, 15, 21, 23, 15, 0, 15, 16, 0, 10, 10, 8, 10, 10, 10, 9, 9, 8, 10, 7, 10, 10, 12, 10, 8, 9, 10, 10, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 11, 10, 8, 0, 10, 3, 10, 10, 0, 4, 10, 12, 7, 12, 12, 0, 8, 8, 0, 15, 15, 8, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 23, 22, 23, 14, 15, 22, 23, 14, 23, 23, 16, 15, 15, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 15, 0, 0, 15, 15, 14, 22, 8, 0, 15, 15, 0, 18, 17, 8, 11, 24, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 16, 17, 22, 10, 15, 0, 17, 0, 24, 24, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 0, 17, 18, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 18, 15, 10, 15, 17, 0, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 8, 10, 25, 18, 24, 16, 8, 22, 14, 18, 15, 17, 25, 16, 16, 17, 15, 17, 16, 17, 18, 15, 18, 23, 10, 15, 24, 18, 0, 0, 25, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 25, 17, 21, 25, 17, 0, 16, 16, 0, 17, 18, 8, 10, 24, 17, 25, 16, 8, 22, 14, 17, 15, 18, 25, 16, 17, 18, 15, 18, 16, 17, 17, 15, 18, 22, 10, 15, 24, 18, 0, 25, 0, 9, 23, 10, 8, 0, 18, 10, 18, 17, 0, 2, 24, 17, 21, 24, 17, 0, 16, 15, 0, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 0, 16, 16, 7, 9, 23, 16, 23, 16, 7, 23, 14, 16, 16, 18, 23, 14, 16, 16, 16, 16, 16, 16, 16, 14, 16, 21, 11, 14, 23, 16, 0, 23, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 4, 23, 18, 21, 25, 18, 0, 14, 14, 0, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 0, 9, 8, 8, 8, 9, 9, 7, 7, 8, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 0, 9, 8, 7, 7, 8, 0, 0, 9, 1, 8, 8, 0, 1, 9, 8, 7, 9, 8, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 17, 9, 10, 18, 26, 17, 17, 8, 15, 14, 26, 15, 26, 25, 23, 17, 19, 22, 27, 16, 25, 26, 16, 17, 16, 10, 23, 17, 17, 0, 18, 18, 9, 16, 10, 9, 0, 0, 10, 18, 17, 0, 3, 19, 17, 14, 25, 10, 0, 15, 16, 0, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 0, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 18, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 18, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 3, 3, 2, 2, 0, 2, 0, 3, 2, 4, 2, 0, 2, 2, 2, 2, 2, 2, 3, 0, 2, 1, 4, 0, 2, 2, 0, 3, 2, 2, 4, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 4, 0, 5, 4, 0, 0, 1, 0, 20, 17, 9, 10, 25, 18, 23, 17, 9, 23, 14, 18, 16, 17, 25, 15, 17, 18, 15, 18, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 25, 24, 9, 23, 10, 9, 0, 19, 10, 17, 17, 0, 3, 0, 17, 21, 25, 18, 0, 15, 16, 0, 17, 17, 8, 10, 17, 17, 16, 16, 8, 17, 14, 17, 17, 19, 17, 15, 16, 17, 17, 17, 16, 17, 17, 8, 17, 15, 12, 15, 17, 17, 0, 17, 17, 9, 18, 10, 8, 0, 17, 10, 17, 17, 0, 4, 17, 0, 14, 19, 12, 0, 15, 15, 0, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 7, 14, 21, 14, 0, 21, 21, 7, 21, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 14, 14, 0, 18, 17, 8, 10, 25, 25, 23, 16, 8, 24, 14, 25, 17, 26, 31, 22, 16, 17, 24, 24, 16, 24, 25, 22, 17, 23, 12, 22, 24, 17, 0, 25, 24, 9, 25, 10, 9, 0, 25, 10, 17, 17, 0, 5, 25, 19, 21, 0, 19, 0, 15, 16, 0, 11, 10, 8, 10, 17, 10, 16, 9, 9, 21, 7, 10, 14, 12, 17, 8, 10, 10, 13, 10, 9, 10, 10, 15, 10, 15, 12, 8, 17, 10, 0, 17, 17, 9, 18, 10, 8, 0, 10, 3, 10, 10, 0, 4, 18, 12, 14, 19, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 8, 8, 15, 15, 15, 14, 8, 15, 14, 15, 15, 15, 16, 16, 14, 15, 15, 15, 14, 15, 15, 8, 16, 15, 8, 15, 15, 16, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 0, 16, 15, 8, 8, 16, 16, 14, 14, 8, 15, 14, 16, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 16, 8, 15, 16, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 0, 0, 0, 17, 9, 11, 18, 18, 16, 17, 9, 16, 14, 18, 16, 17, 18, 15, 17, 18, 15, 18, 16, 17, 18, 9, 17, 16, 10, 15, 18, 17, 0, 18, 17, 9, 16, 10, 9, 0, 19, 10, 17, 17, 0, 3, 20, 17, 14, 18, 11, 0, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 9, 0, 8, 0, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 9, 8, 7, 9, 15, 9, 7, 8, 15, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 9, 8, 8, 8, 0, 0, 9, 8, 7, 8, 8, 0, 8, 8, 11, 0, 10, 8, 0, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 9, 10, 8, 10, 8, 11, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 18, 0, 17, 8, 10, 0, 18, 16, 16, 8, 15, 14, 18, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 16, 18, 0, 17, 8, 10, 18, 0, 16, 16, 8, 16, 14, 19, 15, 18, 17, 15, 16, 17, 15, 18, 16, 18, 19, 8, 17, 17, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 18, 14, 18, 10, 0, 15, 16, 16, 0, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 0, 16, 8, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 17, 14, 16, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 17, 9, 16, 16, 0, 2, 17, 16, 14, 16, 9, 0, 14, 14, 9, 0, 8, 8, 8, 8, 8, 7, 7, 0, 9, 7, 8, 9, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 10, 10, 8, 8, 10, 10, 8, 0, 8, 8, 7, 7, 10, 12, 0, 8, 1, 10, 8, 0, 0, 14, 8, 10, 8, 9, 0, 10, 8, 16, 0, 15, 8, 8, 15, 16, 14, 14, 9, 0, 14, 16, 16, 16, 15, 15, 15, 15, 15, 16, 14, 16, 16, 8, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 16, 16, 14, 15, 9, 0, 15, 15, 14, 0, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 18, 0, 17, 8, 10, 18, 19, 16, 16, 8, 16, 14, 0, 15, 18, 17, 15, 16, 17, 15, 18, 16, 18, 19, 8, 17, 17, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 18, 14, 18, 10, 0, 15, 16, 16, 0, 15, 8, 8, 15, 15, 14, 14, 9, 16, 14, 15, 0, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 16, 15, 14, 15, 9, 0, 15, 15, 17, 0, 17, 8, 10, 17, 18, 16, 16, 8, 16, 14, 18, 15, 0, 17, 15, 16, 17, 15, 18, 16, 18, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 18, 14, 17, 10, 0, 15, 15, 18, 0, 17, 9, 10, 17, 17, 16, 17, 8, 15, 14, 17, 15, 17, 0, 15, 16, 18, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 18, 17, 14, 17, 10, 0, 15, 15, 15, 0, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 0, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 17, 0, 16, 7, 9, 16, 16, 16, 16, 8, 15, 14, 16, 15, 16, 16, 14, 0, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 17, 16, 14, 16, 10, 0, 14, 14, 18, 0, 17, 9, 10, 17, 17, 16, 17, 8, 15, 14, 17, 15, 17, 18, 15, 16, 0, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 18, 17, 14, 17, 10, 0, 15, 15, 15, 0, 15, 15, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 22, 8, 22, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 15, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 18, 0, 17, 9, 10, 17, 18, 16, 17, 8, 16, 14, 18, 15, 18, 18, 15, 16, 18, 15, 0, 16, 18, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 18, 18, 14, 17, 10, 0, 15, 15, 16, 0, 16, 7, 9, 16, 16, 16, 16, 9, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 9, 18, 14, 9, 16, 18, 16, 0, 16, 16, 9, 16, 11, 9, 0, 16, 9, 18, 16, 0, 2, 18, 16, 16, 16, 9, 0, 16, 14, 17, 0, 17, 8, 10, 17, 18, 16, 16, 8, 16, 14, 18, 15, 18, 17, 15, 16, 17, 15, 18, 16, 0, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 18, 14, 17, 10, 0, 15, 15, 18, 0, 17, 15, 10, 18, 19, 16, 16, 8, 16, 14, 19, 15, 18, 17, 15, 16, 17, 22, 18, 16, 18, 0, 8, 24, 17, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 17, 17, 17, 0, 3, 18, 18, 14, 18, 10, 0, 15, 16, 9, 0, 8, 8, 9, 8, 8, 7, 7, 10, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 8, 0, 10, 8, 8, 10, 11, 8, 0, 8, 8, 7, 7, 10, 10, 0, 8, 1, 10, 8, 0, 0, 10, 8, 9, 8, 8, 0, 10, 8, 17, 0, 17, 15, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 22, 17, 18, 17, 24, 10, 0, 15, 10, 17, 19, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 17, 19, 17, 0, 2, 19, 17, 16, 17, 10, 0, 17, 15, 16, 0, 15, 8, 8, 16, 17, 14, 14, 8, 16, 14, 17, 15, 16, 15, 15, 14, 15, 15, 16, 14, 16, 17, 8, 15, 0, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 16, 14, 16, 8, 0, 15, 16, 10, 0, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 15, 0, 15, 8, 8, 15, 15, 14, 14, 10, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 16, 15, 15, 10, 17, 15, 8, 0, 17, 15, 0, 15, 15, 7, 14, 10, 10, 0, 15, 8, 17, 15, 0, 0, 17, 15, 16, 15, 8, 0, 17, 15, 18, 0, 17, 8, 11, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 11, 19, 15, 10, 17, 0, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 19, 17, 0, 2, 19, 17, 16, 17, 10, 0, 17, 15, 17, 0, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 17, 8, 10, 18, 18, 16, 16, 8, 15, 14, 18, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 16, 17, 0, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 9, 0, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 16, 0, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 10, 0, 10, 8, 10, 10, 10, 9, 9, 10, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 11, 10, 10, 10, 12, 8, 10, 10, 12, 10, 0, 10, 10, 9, 9, 0, 10, 0, 10, 3, 12, 10, 0, 2, 12, 10, 9, 10, 10, 0, 10, 8, 9, 0, 8, 8, 8, 9, 9, 7, 7, 12, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 9, 10, 10, 9, 8, 10, 10, 8, 0, 9, 8, 7, 7, 10, 0, 0, 9, 1, 10, 8, 0, 1, 13, 8, 9, 9, 8, 0, 10, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 17, 9, 10, 18, 18, 16, 17, 8, 15, 14, 18, 15, 17, 18, 15, 16, 18, 15, 18, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 19, 17, 14, 18, 10, 0, 15, 16, 10, 0, 10, 8, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 15, 10, 9, 10, 17, 1, 17, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 17, 0, 17, 8, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 10, 19, 15, 10, 17, 19, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 0, 17, 0, 2, 19, 17, 16, 17, 10, 0, 17, 15, 17, 0, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 20, 0, 17, 9, 10, 18, 18, 16, 17, 14, 16, 14, 18, 16, 17, 18, 15, 17, 18, 15, 18, 18, 17, 18, 10, 19, 16, 10, 17, 19, 17, 0, 18, 17, 9, 16, 12, 13, 0, 19, 10, 19, 17, 0, 3, 0, 17, 17, 18, 11, 0, 17, 16, 17, 0, 17, 8, 10, 17, 18, 16, 16, 8, 16, 14, 18, 15, 18, 17, 15, 16, 17, 15, 18, 16, 18, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 14, 0, 14, 7, 7, 14, 14, 14, 14, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 9, 16, 14, 7, 16, 16, 14, 0, 14, 14, 7, 14, 9, 9, 0, 14, 7, 16, 14, 0, 0, 17, 14, 0, 14, 7, 0, 16, 14, 18, 0, 17, 8, 10, 18, 18, 16, 16, 8, 15, 14, 18, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 0, 10, 0, 15, 16, 11, 0, 10, 8, 10, 10, 10, 9, 9, 9, 9, 7, 10, 9, 10, 10, 8, 10, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 11, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 15, 8, 8, 15, 15, 14, 14, 10, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 16, 15, 15, 10, 17, 15, 8, 17, 17, 15, 0, 15, 15, 7, 14, 10, 10, 0, 15, 8, 17, 15, 0, 0, 17, 15, 16, 15, 8, 0, 0, 15, 16, 0, 15, 8, 8, 16, 16, 14, 14, 8, 15, 14, 16, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 16, 8, 15, 16, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 0, 0, 17, 0, 8, 10, 17, 17, 18, 16, 8, 15, 14, 17, 16, 18, 18, 17, 16, 17, 15, 17, 16, 17, 17, 8, 18, 15, 10, 15, 17, 18, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 17, 0, 0, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 9, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 9, 0, 9, 8, 10, 10, 0, 8, 0, 10, 10, 10, 16, 15, 8, 7, 18, 15, 17, 10, 15, 17, 17, 9, 10, 16, 17, 10, 8, 11, 9, 17, 15, 11, 10, 0, 10, 10, 16, 9, 18, 16, 0, 17, 4, 17, 10, 0, 2, 10, 17, 7, 11, 11, 0, 15, 15, 17, 17, 0, 8, 10, 0, 18, 16, 17, 8, 16, 14, 17, 15, 18, 18, 16, 16, 17, 15, 17, 16, 17, 18, 9, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 0, 8, 10, 18, 0, 16, 17, 8, 16, 14, 17, 15, 19, 19, 17, 16, 17, 16, 17, 16, 17, 18, 9, 18, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 18, 16, 0, 8, 10, 16, 16, 0, 21, 8, 15, 14, 21, 16, 17, 17, 17, 18, 18, 15, 16, 16, 16, 16, 7, 18, 15, 9, 15, 18, 17, 0, 17, 17, 11, 16, 10, 8, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 17, 11, 0, 16, 14, 16, 16, 0, 8, 16, 17, 17, 21, 0, 15, 16, 14, 27, 22, 24, 17, 23, 24, 25, 14, 16, 23, 23, 17, 8, 16, 14, 16, 22, 17, 16, 0, 16, 16, 18, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 10, 0, 22, 21, 8, 8, 0, 9, 15, 8, 8, 8, 15, 0, 9, 7, 15, 16, 15, 8, 16, 15, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 16, 9, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 9, 0, 16, 15, 15, 15, 0, 9, 8, 16, 16, 15, 16, 9, 0, 14, 15, 16, 16, 16, 17, 15, 15, 15, 15, 14, 15, 16, 9, 15, 15, 8, 16, 16, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 9, 0, 16, 15, 14, 14, 0, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 17, 17, 0, 8, 18, 17, 17, 21, 27, 15, 15, 14, 0, 22, 24, 17, 22, 24, 26, 16, 17, 23, 24, 17, 8, 18, 17, 17, 23, 18, 17, 0, 17, 17, 18, 16, 18, 17, 0, 24, 11, 24, 17, 0, 2, 17, 24, 14, 19, 11, 0, 22, 22, 16, 15, 0, 9, 15, 15, 15, 16, 22, 16, 16, 14, 22, 0, 23, 15, 24, 22, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 23, 16, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 9, 0, 23, 22, 18, 17, 0, 8, 17, 18, 19, 17, 24, 15, 16, 14, 24, 23, 0, 19, 25, 23, 24, 16, 17, 23, 24, 18, 9, 18, 15, 17, 22, 18, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 18, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 18, 17, 0, 8, 10, 18, 19, 17, 17, 8, 16, 14, 17, 15, 19, 0, 18, 16, 17, 16, 17, 16, 17, 18, 9, 19, 15, 10, 15, 18, 18, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 17, 15, 0, 9, 15, 16, 17, 17, 23, 16, 17, 14, 22, 24, 25, 18, 0, 22, 22, 16, 15, 21, 22, 16, 9, 17, 15, 15, 23, 17, 16, 0, 16, 16, 14, 14, 15, 15, 0, 22, 8, 22, 16, 0, 0, 15, 22, 14, 15, 9, 0, 24, 22, 16, 16, 0, 8, 17, 16, 16, 18, 24, 15, 15, 14, 24, 22, 23, 16, 22, 0, 23, 15, 16, 23, 23, 16, 7, 17, 15, 16, 22, 18, 16, 0, 16, 16, 16, 16, 17, 15, 0, 23, 10, 23, 16, 0, 2, 16, 23, 14, 17, 11, 0, 22, 21, 17, 17, 0, 8, 17, 17, 17, 18, 25, 15, 15, 14, 26, 22, 24, 17, 22, 23, 0, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 18, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 15, 15, 0, 8, 9, 15, 16, 15, 14, 8, 15, 14, 16, 15, 16, 16, 16, 15, 15, 0, 15, 14, 15, 15, 8, 17, 16, 8, 15, 17, 15, 0, 15, 15, 7, 14, 9, 9, 0, 15, 9, 15, 16, 0, 0, 15, 15, 14, 16, 9, 0, 15, 15, 17, 17, 0, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 16, 16, 0, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 17, 17, 0, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 0, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 17, 17, 0, 8, 10, 18, 18, 16, 17, 8, 16, 14, 17, 15, 18, 18, 16, 16, 17, 15, 17, 16, 17, 0, 9, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 8, 8, 0, 8, 8, 9, 9, 7, 8, 8, 9, 7, 8, 8, 9, 9, 9, 7, 8, 8, 8, 7, 8, 9, 0, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 18, 17, 0, 8, 11, 17, 18, 18, 16, 8, 15, 14, 18, 15, 18, 19, 17, 17, 17, 17, 17, 16, 17, 17, 8, 0, 16, 10, 15, 19, 18, 0, 18, 18, 9, 16, 11, 9, 0, 17, 11, 17, 18, 0, 2, 17, 17, 14, 18, 11, 0, 16, 15, 15, 15, 0, 8, 9, 15, 15, 15, 14, 8, 15, 14, 17, 15, 15, 15, 15, 15, 15, 16, 15, 14, 15, 15, 8, 16, 0, 8, 16, 16, 15, 0, 15, 15, 7, 14, 9, 10, 0, 15, 9, 15, 15, 0, 0, 15, 15, 14, 17, 9, 0, 15, 15, 10, 10, 0, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 15, 15, 0, 9, 15, 15, 15, 15, 22, 16, 16, 14, 23, 23, 22, 15, 23, 22, 22, 15, 15, 21, 22, 15, 8, 15, 16, 15, 0, 16, 15, 0, 15, 15, 14, 14, 15, 16, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 16, 9, 0, 23, 22, 17, 17, 0, 9, 11, 17, 18, 18, 17, 9, 16, 14, 18, 16, 18, 18, 17, 18, 17, 17, 17, 16, 17, 17, 8, 19, 16, 10, 16, 0, 17, 0, 17, 17, 9, 16, 11, 9, 0, 17, 11, 17, 18, 0, 2, 17, 17, 14, 18, 12, 0, 16, 15, 18, 17, 0, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 18, 15, 10, 15, 17, 0, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 17, 0, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 18, 15, 10, 15, 17, 18, 0, 0, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 18, 17, 0, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 18, 15, 10, 15, 17, 18, 0, 18, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 9, 9, 0, 7, 16, 9, 9, 11, 18, 14, 7, 7, 18, 14, 16, 9, 14, 16, 18, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 16, 16, 0, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 10, 10, 0, 8, 18, 10, 10, 10, 16, 15, 8, 7, 18, 15, 17, 10, 15, 17, 17, 9, 10, 16, 17, 10, 8, 11, 9, 17, 15, 11, 10, 0, 10, 10, 16, 9, 0, 16, 0, 17, 4, 17, 10, 0, 2, 10, 17, 7, 11, 11, 0, 15, 15, 8, 8, 0, 8, 16, 8, 8, 8, 14, 15, 8, 7, 17, 15, 15, 8, 15, 15, 15, 9, 8, 14, 15, 8, 8, 9, 10, 15, 16, 9, 8, 0, 8, 8, 14, 7, 16, 0, 0, 15, 2, 15, 8, 0, 0, 8, 15, 7, 10, 9, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 0, 10, 24, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 10, 10, 0, 1, 4, 10, 10, 10, 9, 1, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 1, 11, 9, 3, 8, 11, 10, 0, 10, 10, 2, 9, 4, 2, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 11, 4, 0, 8, 8, 17, 17, 0, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 17, 17, 0, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 18, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 18, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 17, 17, 0, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 17, 17, 0, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 0, 14, 17, 10, 0, 22, 22, 14, 14, 0, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 17, 17, 0, 8, 11, 17, 17, 17, 16, 8, 15, 14, 19, 15, 17, 17, 15, 17, 17, 16, 17, 16, 17, 17, 8, 18, 17, 10, 16, 18, 17, 0, 17, 17, 9, 16, 11, 10, 0, 17, 11, 17, 17, 0, 2, 17, 17, 14, 0, 11, 0, 15, 15, 10, 10, 0, 9, 11, 10, 10, 11, 10, 9, 9, 7, 11, 9, 10, 10, 9, 11, 10, 9, 10, 9, 10, 10, 8, 11, 9, 10, 9, 12, 10, 0, 10, 10, 9, 9, 11, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 11, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 15, 0, 9, 15, 15, 15, 16, 22, 16, 16, 14, 22, 23, 22, 16, 24, 22, 22, 15, 15, 21, 22, 15, 8, 16, 15, 15, 23, 16, 16, 0, 16, 16, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 9, 0, 0, 22, 15, 15, 0, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 0, 0, 9, 8, 0, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 9, 8, 7, 9, 8, 9, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 9, 1, 8, 8, 0, 0, 9, 8, 7, 8, 8, 0, 8, 8, 9, 0, 8, 0, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 9, 8, 7, 9, 15, 9, 7, 8, 15, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 9, 8, 8, 8, 0, 0, 9, 8, 7, 8, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 9, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 9, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 15, 8, 14, 14, 15, 16, 7, 8, 15, 8, 9, 8, 7, 15, 8, 8, 7, 8, 8, 8, 16, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 16, 8, 8, 8, 8, 0, 15, 0, 8, 14, 14, 15, 15, 7, 8, 15, 8, 8, 10, 7, 15, 8, 10, 7, 8, 8, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 15, 8, 0, 10, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 15, 10, 8, 8, 8, 0, 8, 8, 0, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 7, 7, 8, 0, 14, 14, 7, 0, 15, 15, 15, 7, 7, 15, 7, 7, 8, 8, 14, 7, 7, 7, 7, 7, 7, 14, 7, 7, 8, 8, 7, 0, 7, 7, 7, 14, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 14, 7, 8, 0, 15, 7, 8, 8, 8, 0, 14, 14, 7, 15, 0, 15, 15, 7, 7, 15, 7, 8, 8, 8, 15, 7, 8, 7, 7, 7, 7, 14, 7, 7, 8, 8, 7, 0, 7, 7, 7, 14, 14, 7, 0, 8, 7, 7, 7, 0, 0, 8, 7, 14, 7, 8, 0, 15, 7, 8, 8, 9, 0, 15, 15, 8, 15, 15, 0, 16, 7, 8, 16, 8, 8, 9, 8, 15, 8, 8, 7, 8, 8, 8, 22, 8, 15, 9, 9, 8, 0, 8, 8, 14, 14, 15, 15, 0, 8, 8, 8, 8, 0, 7, 8, 8, 14, 8, 16, 0, 16, 8, 8, 8, 9, 0, 16, 15, 8, 15, 15, 16, 0, 7, 8, 16, 8, 9, 9, 8, 15, 8, 8, 7, 8, 8, 8, 16, 8, 8, 9, 9, 8, 0, 8, 8, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 9, 0, 17, 8, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 0, 7, 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, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 0, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 9, 0, 15, 15, 8, 15, 15, 16, 16, 7, 8, 0, 8, 8, 9, 8, 15, 8, 8, 7, 8, 8, 8, 15, 8, 8, 9, 9, 8, 0, 8, 8, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 9, 0, 16, 8, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 0, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 9, 9, 8, 0, 9, 8, 8, 7, 8, 8, 9, 7, 8, 8, 8, 0, 8, 7, 9, 8, 9, 7, 8, 8, 8, 9, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 9, 1, 8, 8, 0, 0, 9, 8, 7, 8, 8, 0, 9, 8, 8, 8, 9, 0, 8, 10, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 0, 8, 8, 8, 10, 7, 8, 8, 8, 8, 8, 8, 9, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 10, 1, 8, 8, 0, 0, 8, 8, 7, 8, 9, 0, 9, 10, 7, 7, 8, 0, 7, 7, 7, 8, 8, 8, 8, 7, 7, 8, 7, 7, 8, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 8, 0, 8, 7, 9, 9, 8, 0, 15, 15, 8, 14, 15, 15, 15, 7, 8, 15, 8, 9, 8, 7, 0, 8, 9, 7, 8, 8, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 15, 8, 0, 9, 8, 8, 8, 0, 0, 9, 8, 14, 8, 8, 0, 15, 8, 8, 15, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 0, 8, 7, 8, 15, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 9, 9, 8, 0, 8, 10, 8, 7, 8, 8, 8, 7, 8, 8, 8, 9, 10, 7, 9, 8, 0, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 11, 1, 8, 8, 0, 0, 9, 8, 7, 8, 8, 0, 8, 10, 7, 7, 7, 0, 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, 0, 7, 7, 7, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 0, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 15, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 15, 8, 7, 8, 0, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 15, 8, 0, 16, 15, 8, 14, 14, 22, 16, 7, 8, 15, 8, 9, 8, 7, 15, 15, 8, 7, 8, 15, 8, 0, 8, 15, 8, 8, 8, 0, 8, 8, 14, 14, 15, 15, 0, 8, 15, 8, 8, 0, 7, 8, 8, 14, 8, 15, 0, 16, 8, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 0, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 0, 8, 8, 8, 7, 7, 15, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 15, 8, 0, 8, 8, 8, 0, 8, 8, 14, 7, 8, 15, 0, 8, 1, 8, 8, 0, 7, 8, 8, 7, 8, 15, 0, 8, 8, 8, 8, 9, 0, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 0, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 9, 0, 9, 8, 8, 8, 9, 0, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 9, 0, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 9, 0, 9, 8, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 0, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 7, 7, 7, 0, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 7, 14, 7, 7, 7, 0, 7, 7, 0, 7, 7, 14, 0, 7, 0, 7, 7, 0, 7, 7, 7, 7, 7, 14, 0, 7, 7, 7, 7, 7, 0, 14, 14, 7, 14, 14, 14, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 0, 7, 7, 7, 0, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 14, 7, 7, 0, 14, 7, 8, 8, 8, 0, 15, 15, 8, 14, 14, 15, 15, 7, 8, 15, 8, 8, 8, 7, 15, 8, 8, 7, 8, 8, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 0, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 15, 8, 8, 8, 8, 0, 8, 8, 8, 7, 7, 15, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 15, 8, 15, 8, 8, 8, 0, 8, 8, 14, 7, 8, 0, 0, 8, 1, 8, 8, 0, 7, 8, 8, 7, 8, 15, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 8, 0, 8, 10, 8, 7, 8, 8, 8, 7, 8, 8, 8, 9, 10, 7, 9, 8, 11, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 0, 1, 8, 8, 0, 0, 9, 8, 7, 8, 8, 0, 8, 10, 1, 8, 1, 0, 8, 8, 1, 7, 7, 8, 8, 0, 1, 8, 1, 1, 1, 0, 8, 8, 1, 0, 1, 8, 1, 15, 1, 1, 1, 1, 1, 0, 1, 1, 0, 7, 8, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 7, 1, 1, 0, 8, 1, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 0, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 0, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 9, 9, 8, 0, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 9, 8, 7, 9, 8, 9, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 9, 1, 8, 8, 0, 0, 0, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 0, 7, 8, 8, 0, 8, 8, 7, 7, 7, 0, 14, 14, 7, 14, 14, 14, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 0, 7, 7, 7, 14, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 0, 7, 7, 0, 14, 7, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 0, 8, 0, 8, 8, 8, 8, 9, 0, 8, 8, 8, 8, 8, 16, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 15, 8, 15, 9, 9, 8, 0, 8, 8, 14, 7, 8, 15, 0, 8, 1, 8, 8, 0, 7, 8, 8, 7, 8, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 9, 0, 16, 15, 8, 15, 15, 16, 17, 7, 8, 16, 8, 9, 9, 8, 15, 8, 8, 7, 8, 8, 8, 16, 8, 8, 9, 9, 8, 0, 8, 8, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 9, 0, 0, 8, 8, 8, 8, 0, 8, 10, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 10, 7, 8, 8, 10, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 10, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 0, 0, 11, 10, 8, 0, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 9, 10, 8, 10, 8, 11, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 11, 0, 10, 8, 0, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 9, 10, 8, 10, 8, 11, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 10, 10, 0, 8, 0, 10, 10, 10, 16, 15, 8, 7, 18, 15, 17, 10, 15, 17, 17, 9, 10, 16, 17, 10, 8, 11, 9, 17, 15, 11, 10, 0, 10, 10, 16, 9, 18, 16, 0, 17, 4, 17, 10, 0, 2, 10, 17, 7, 11, 11, 0, 15, 15, 8, 8, 8, 0, 0, 15, 8, 14, 14, 15, 16, 7, 8, 15, 8, 9, 8, 7, 15, 8, 8, 7, 8, 8, 8, 16, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 16, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 15, 0, 0, 10, 16, 16, 15, 15, 7, 10, 15, 10, 10, 8, 9, 17, 8, 10, 9, 10, 10, 8, 17, 8, 10, 8, 10, 10, 0, 10, 10, 9, 16, 17, 8, 0, 10, 10, 10, 10, 0, 2, 10, 10, 14, 10, 10, 0, 15, 8, 10, 10, 10, 8, 0, 10, 0, 9, 9, 8, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 8, 10, 10, 10, 8, 10, 12, 0, 12, 12, 9, 9, 10, 8, 0, 10, 5, 10, 12, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 10, 14, 0, 16, 9, 0, 16, 14, 14, 7, 10, 14, 9, 9, 7, 10, 16, 8, 9, 9, 9, 9, 7, 17, 8, 9, 7, 10, 9, 0, 9, 9, 9, 16, 17, 8, 0, 9, 10, 9, 9, 0, 2, 9, 9, 14, 10, 10, 0, 14, 7, 9, 9, 16, 14, 0, 16, 9, 16, 0, 21, 14, 7, 16, 21, 16, 9, 14, 16, 23, 7, 9, 16, 16, 9, 7, 16, 7, 16, 14, 9, 9, 0, 9, 9, 16, 16, 23, 14, 0, 16, 9, 16, 9, 0, 2, 9, 16, 14, 9, 9, 0, 21, 14, 8, 8, 15, 15, 0, 15, 8, 14, 21, 0, 15, 7, 15, 22, 15, 8, 15, 14, 22, 8, 8, 14, 15, 8, 8, 15, 8, 15, 15, 8, 8, 0, 8, 8, 14, 14, 22, 15, 0, 15, 8, 15, 8, 0, 0, 8, 15, 14, 8, 8, 0, 22, 15, 8, 8, 8, 16, 0, 15, 8, 14, 14, 15, 0, 7, 8, 15, 8, 9, 8, 7, 15, 8, 8, 7, 8, 8, 8, 16, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 16, 8, 7, 7, 7, 7, 0, 7, 9, 7, 7, 7, 7, 0, 7, 7, 7, 9, 7, 9, 7, 7, 7, 7, 9, 7, 7, 7, 9, 7, 7, 7, 9, 0, 9, 9, 7, 7, 7, 7, 0, 7, 2, 7, 9, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 10, 10, 18, 8, 0, 10, 10, 10, 16, 15, 8, 7, 0, 15, 17, 10, 15, 17, 17, 9, 10, 16, 17, 10, 8, 11, 9, 17, 15, 11, 10, 0, 10, 10, 16, 9, 18, 16, 0, 17, 4, 17, 10, 0, 2, 10, 17, 7, 11, 11, 0, 15, 15, 8, 8, 15, 15, 0, 15, 8, 14, 21, 22, 15, 7, 15, 0, 15, 8, 15, 14, 22, 8, 8, 14, 15, 8, 8, 15, 8, 15, 15, 8, 8, 0, 8, 8, 14, 14, 22, 15, 0, 15, 8, 15, 8, 0, 0, 8, 15, 14, 8, 8, 0, 22, 15, 10, 10, 17, 8, 0, 10, 10, 9, 16, 15, 8, 7, 17, 15, 0, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 10, 10, 10, 9, 0, 10, 12, 9, 9, 8, 9, 9, 10, 8, 10, 0, 8, 11, 10, 8, 10, 9, 12, 10, 8, 11, 10, 10, 8, 10, 12, 0, 12, 12, 9, 9, 10, 8, 0, 10, 5, 10, 12, 0, 2, 10, 10, 7, 10, 10, 0, 9, 8, 8, 8, 15, 8, 0, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 0, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 9, 9, 17, 7, 0, 9, 11, 10, 16, 14, 7, 9, 17, 14, 16, 11, 14, 0, 16, 8, 9, 16, 18, 9, 7, 10, 10, 16, 14, 10, 11, 0, 11, 11, 16, 9, 17, 15, 0, 16, 5, 16, 11, 0, 2, 9, 16, 7, 10, 10, 0, 14, 14, 10, 10, 17, 15, 0, 17, 10, 16, 23, 22, 15, 7, 17, 22, 17, 10, 15, 16, 0, 8, 10, 16, 17, 10, 8, 17, 8, 17, 15, 10, 10, 0, 10, 10, 16, 16, 24, 15, 0, 17, 10, 17, 10, 0, 2, 10, 17, 14, 10, 10, 0, 22, 15, 8, 8, 9, 8, 0, 8, 8, 8, 7, 8, 8, 7, 9, 8, 8, 8, 8, 8, 8, 0, 8, 7, 8, 8, 8, 9, 9, 8, 8, 9, 8, 0, 8, 8, 7, 7, 9, 9, 0, 8, 2, 8, 8, 0, 0, 8, 8, 7, 9, 9, 0, 8, 8, 10, 10, 10, 8, 0, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 0, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 16, 7, 0, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 0, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 16, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 10, 10, 17, 8, 0, 10, 12, 9, 16, 15, 8, 9, 17, 15, 17, 12, 15, 18, 17, 8, 10, 16, 0, 10, 8, 10, 10, 17, 15, 10, 12, 0, 12, 12, 16, 9, 17, 15, 0, 17, 5, 17, 12, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 10, 10, 10, 8, 0, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 0, 8, 10, 8, 11, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 8, 8, 0, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 11, 16, 0, 17, 10, 17, 16, 15, 16, 7, 11, 15, 10, 11, 8, 10, 17, 9, 10, 9, 10, 10, 8, 0, 9, 10, 8, 11, 10, 0, 10, 10, 9, 16, 18, 9, 0, 10, 11, 10, 10, 0, 2, 10, 10, 14, 11, 11, 0, 16, 8, 8, 8, 9, 8, 0, 8, 10, 8, 7, 8, 8, 9, 9, 8, 8, 10, 8, 10, 8, 9, 8, 7, 10, 8, 8, 9, 0, 8, 8, 9, 10, 0, 10, 10, 7, 7, 9, 9, 0, 8, 4, 8, 10, 0, 0, 8, 8, 7, 9, 9, 0, 8, 8, 10, 10, 17, 8, 0, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 11, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 8, 8, 15, 8, 0, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 0, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 11, 11, 11, 8, 0, 10, 10, 10, 9, 8, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 9, 11, 9, 10, 8, 0, 10, 0, 10, 10, 9, 9, 11, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 11, 11, 0, 8, 8, 10, 10, 10, 8, 0, 10, 12, 9, 9, 8, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 8, 10, 10, 10, 8, 10, 0, 0, 12, 12, 9, 9, 10, 8, 0, 10, 5, 10, 12, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 8, 0, 10, 12, 9, 9, 8, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 8, 10, 10, 10, 8, 10, 12, 0, 0, 12, 9, 9, 10, 8, 0, 10, 5, 10, 12, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 10, 10, 10, 8, 0, 10, 12, 9, 9, 8, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 8, 10, 10, 10, 8, 10, 12, 0, 12, 0, 9, 9, 10, 8, 0, 10, 5, 10, 12, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 16, 7, 0, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 9, 9, 9, 14, 0, 16, 9, 16, 16, 14, 14, 7, 9, 14, 9, 9, 7, 9, 16, 7, 9, 9, 9, 9, 7, 16, 7, 9, 7, 9, 9, 0, 9, 9, 9, 0, 16, 7, 0, 9, 9, 9, 9, 0, 2, 9, 9, 14, 9, 9, 0, 14, 7, 10, 10, 18, 15, 0, 17, 10, 17, 23, 22, 15, 7, 18, 22, 17, 10, 15, 17, 24, 9, 10, 16, 17, 10, 8, 18, 9, 17, 15, 11, 10, 0, 10, 10, 16, 16, 0, 16, 0, 17, 11, 17, 10, 0, 2, 10, 17, 14, 11, 11, 0, 22, 15, 8, 8, 16, 8, 0, 8, 8, 8, 14, 15, 8, 7, 16, 15, 15, 8, 15, 15, 15, 9, 8, 14, 15, 8, 8, 9, 9, 15, 15, 9, 8, 0, 8, 8, 14, 7, 16, 0, 0, 15, 2, 15, 8, 0, 0, 8, 15, 7, 9, 9, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 17, 8, 0, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 0, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 3, 3, 4, 8, 0, 10, 5, 10, 9, 8, 8, 2, 4, 8, 3, 5, 1, 5, 10, 2, 3, 2, 5, 3, 1, 11, 4, 3, 1, 4, 5, 0, 5, 5, 2, 9, 11, 2, 0, 3, 0, 3, 5, 0, 2, 3, 3, 7, 4, 4, 0, 8, 1, 10, 10, 17, 8, 0, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 0, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 10, 10, 10, 8, 0, 10, 12, 9, 9, 8, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 8, 10, 10, 10, 8, 10, 12, 0, 12, 12, 9, 9, 10, 8, 0, 10, 5, 10, 0, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 10, 10, 10, 8, 0, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 0, 10, 7, 10, 10, 0, 8, 8, 10, 10, 17, 8, 0, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 0, 7, 10, 10, 0, 15, 15, 7, 7, 7, 14, 0, 14, 7, 14, 14, 14, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 0, 7, 7, 7, 14, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 0, 7, 7, 0, 14, 7, 10, 10, 11, 8, 0, 10, 10, 10, 9, 8, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 8, 11, 9, 10, 8, 11, 10, 0, 10, 10, 9, 9, 11, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 0, 11, 0, 8, 8, 10, 10, 11, 8, 0, 10, 10, 10, 9, 8, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 8, 11, 9, 10, 8, 11, 10, 0, 10, 10, 9, 9, 11, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 11, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 15, 16, 0, 15, 8, 14, 21, 22, 16, 7, 15, 22, 15, 9, 15, 14, 22, 8, 8, 14, 15, 8, 8, 16, 8, 15, 15, 8, 8, 0, 8, 8, 14, 14, 22, 15, 0, 15, 8, 15, 8, 0, 0, 8, 15, 14, 8, 8, 0, 0, 15, 8, 8, 15, 8, 0, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 0, 0, 18, 17, 8, 10, 0, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 25, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 25, 17, 21, 25, 17, 0, 15, 16, 18, 0, 17, 8, 10, 0, 18, 16, 16, 8, 15, 14, 18, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 16, 17, 17, 0, 8, 10, 0, 18, 16, 17, 8, 16, 14, 17, 15, 18, 18, 16, 16, 17, 15, 17, 16, 17, 18, 9, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 8, 8, 8, 0, 15, 0, 8, 14, 14, 15, 15, 7, 8, 15, 8, 8, 10, 7, 15, 8, 10, 7, 8, 8, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 15, 8, 0, 10, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 15, 10, 10, 10, 10, 15, 0, 0, 10, 16, 16, 15, 15, 7, 10, 15, 10, 10, 8, 9, 17, 8, 10, 9, 10, 10, 8, 17, 8, 10, 8, 10, 10, 0, 10, 10, 9, 16, 17, 8, 0, 10, 10, 10, 10, 0, 2, 10, 10, 14, 10, 10, 0, 15, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 8, 10, 0, 0, 16, 17, 9, 16, 15, 18, 16, 19, 18, 17, 16, 17, 15, 17, 16, 18, 20, 10, 17, 16, 10, 16, 17, 17, 0, 19, 18, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 17, 23, 16, 16, 14, 16, 0, 16, 0, 23, 15, 28, 14, 16, 21, 16, 23, 14, 16, 24, 14, 16, 16, 16, 16, 14, 23, 21, 9, 14, 23, 16, 0, 23, 23, 9, 30, 16, 7, 0, 16, 16, 16, 16, 0, 2, 23, 16, 28, 23, 16, 0, 21, 14, 16, 16, 17, 14, 16, 0, 17, 23, 0, 14, 22, 14, 16, 21, 17, 17, 15, 16, 23, 14, 16, 16, 16, 17, 8, 23, 14, 9, 14, 16, 16, 0, 16, 16, 9, 23, 16, 7, 0, 16, 16, 16, 16, 0, 2, 16, 16, 21, 16, 9, 0, 21, 14, 8, 8, 8, 15, 15, 0, 9, 15, 14, 0, 15, 8, 8, 16, 9, 8, 9, 7, 17, 8, 8, 7, 9, 9, 9, 15, 8, 8, 9, 8, 8, 0, 9, 9, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 15, 9, 22, 15, 16, 15, 15, 0, 16, 28, 22, 15, 0, 14, 15, 22, 16, 23, 16, 14, 22, 15, 15, 14, 15, 16, 16, 22, 22, 8, 15, 22, 15, 0, 22, 22, 7, 28, 15, 8, 0, 15, 15, 15, 15, 0, 0, 22, 15, 28, 22, 15, 0, 22, 15, 14, 14, 14, 7, 7, 0, 15, 14, 14, 8, 14, 0, 14, 15, 15, 14, 15, 14, 14, 14, 14, 14, 15, 15, 8, 14, 14, 7, 15, 14, 14, 0, 15, 15, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 18, 18, 17, 8, 10, 0, 18, 16, 16, 8, 15, 14, 0, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 16, 15, 15, 15, 15, 15, 0, 16, 21, 21, 16, 22, 15, 15, 0, 16, 15, 16, 14, 22, 15, 15, 14, 16, 16, 9, 22, 15, 8, 16, 15, 15, 0, 16, 16, 7, 21, 15, 8, 0, 15, 15, 15, 15, 0, 0, 15, 15, 21, 15, 8, 0, 22, 16, 17, 17, 18, 8, 10, 0, 19, 16, 17, 9, 16, 15, 17, 16, 0, 18, 17, 16, 17, 15, 17, 16, 18, 19, 10, 17, 15, 10, 16, 17, 17, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 24, 17, 18, 8, 10, 0, 18, 23, 17, 8, 23, 14, 17, 15, 18, 0, 16, 16, 17, 15, 17, 16, 17, 18, 16, 17, 22, 10, 15, 24, 17, 0, 24, 24, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 15, 15, 16, 10, 8, 0, 17, 14, 15, 9, 16, 15, 15, 16, 17, 16, 0, 14, 15, 15, 17, 14, 16, 17, 10, 15, 15, 8, 16, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 17, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 18, 16, 16, 16, 7, 9, 0, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 0, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 17, 15, 17, 0, 17, 24, 23, 17, 22, 14, 17, 22, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 24, 15, 10, 15, 17, 17, 0, 17, 17, 9, 23, 17, 8, 0, 17, 17, 17, 17, 0, 2, 17, 17, 21, 17, 10, 0, 22, 15, 15, 15, 15, 8, 8, 0, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 17, 17, 17, 10, 10, 0, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 17, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 21, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 17, 16, 16, 16, 7, 9, 0, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 17, 8, 10, 0, 18, 16, 16, 9, 15, 15, 17, 16, 18, 17, 16, 16, 17, 15, 17, 16, 0, 18, 9, 17, 15, 10, 16, 17, 17, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 18, 18, 18, 8, 10, 0, 20, 16, 17, 9, 16, 15, 18, 16, 19, 18, 17, 16, 17, 15, 17, 16, 18, 0, 10, 17, 16, 10, 16, 17, 17, 0, 19, 18, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 17, 15, 8, 9, 8, 8, 0, 10, 14, 8, 9, 16, 8, 8, 9, 10, 16, 10, 7, 8, 8, 8, 7, 9, 10, 0, 8, 15, 8, 9, 15, 8, 0, 16, 16, 7, 14, 8, 8, 0, 8, 1, 8, 8, 0, 0, 15, 8, 14, 15, 15, 0, 8, 9, 17, 17, 17, 15, 17, 0, 17, 23, 23, 15, 22, 14, 17, 22, 17, 17, 15, 16, 24, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 23, 17, 8, 0, 17, 17, 17, 17, 0, 2, 17, 17, 21, 17, 10, 0, 22, 15, 23, 16, 15, 8, 8, 0, 16, 21, 14, 8, 22, 14, 16, 15, 15, 22, 15, 14, 15, 15, 15, 14, 15, 16, 15, 15, 0, 8, 15, 22, 15, 0, 23, 22, 7, 21, 8, 9, 0, 16, 8, 15, 15, 0, 1, 23, 15, 21, 23, 15, 0, 15, 16, 10, 10, 10, 8, 10, 0, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 15, 15, 15, 8, 8, 0, 16, 14, 14, 9, 15, 15, 15, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 0, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 24, 17, 17, 8, 10, 0, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 15, 17, 22, 10, 15, 0, 17, 0, 24, 24, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 17, 17, 17, 8, 10, 0, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 18, 17, 8, 10, 0, 19, 23, 16, 9, 22, 15, 18, 16, 18, 24, 16, 16, 17, 15, 17, 16, 18, 19, 16, 17, 23, 10, 16, 24, 17, 0, 0, 25, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 25, 17, 21, 25, 17, 0, 15, 17, 24, 17, 17, 8, 10, 0, 18, 23, 16, 9, 22, 15, 17, 16, 18, 24, 16, 16, 17, 15, 17, 16, 18, 18, 16, 17, 22, 10, 16, 24, 17, 0, 25, 0, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 16, 9, 9, 9, 7, 9, 0, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 23, 16, 16, 14, 16, 0, 16, 30, 23, 14, 28, 14, 16, 21, 16, 23, 14, 16, 23, 14, 16, 16, 16, 16, 14, 23, 21, 9, 14, 23, 16, 0, 23, 23, 9, 0, 16, 7, 0, 16, 16, 16, 16, 0, 2, 23, 16, 28, 23, 16, 0, 21, 14, 10, 10, 10, 15, 17, 0, 10, 16, 16, 15, 15, 7, 10, 15, 10, 10, 8, 9, 17, 8, 10, 9, 10, 10, 8, 17, 8, 10, 8, 10, 10, 0, 10, 10, 9, 16, 0, 8, 0, 10, 10, 10, 10, 0, 2, 10, 10, 14, 10, 10, 0, 15, 8, 9, 9, 8, 8, 8, 0, 9, 7, 7, 8, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 0, 9, 8, 7, 7, 8, 0, 0, 9, 1, 8, 8, 0, 1, 9, 8, 7, 9, 8, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 17, 10, 10, 0, 18, 16, 16, 8, 15, 14, 18, 15, 17, 17, 17, 16, 17, 15, 21, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 17, 20, 10, 10, 10, 8, 10, 0, 10, 16, 16, 8, 15, 7, 10, 15, 10, 10, 8, 9, 17, 8, 10, 9, 10, 10, 1, 17, 8, 3, 8, 10, 10, 0, 10, 10, 2, 16, 10, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 14, 10, 3, 0, 15, 8, 17, 17, 17, 8, 10, 0, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 0, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 2, 0, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 25, 18, 17, 8, 10, 0, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 25, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 0, 17, 21, 25, 17, 0, 15, 16, 17, 17, 17, 8, 10, 0, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 21, 14, 14, 14, 14, 0, 14, 28, 21, 14, 28, 14, 14, 21, 14, 21, 14, 14, 21, 14, 14, 14, 14, 14, 14, 21, 21, 7, 14, 21, 14, 0, 21, 21, 7, 28, 14, 7, 0, 14, 14, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 21, 14, 25, 18, 17, 8, 10, 0, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 25, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 25, 17, 21, 0, 17, 0, 15, 16, 17, 10, 10, 8, 10, 0, 10, 16, 9, 8, 15, 7, 10, 8, 10, 17, 8, 9, 10, 8, 10, 9, 10, 10, 15, 10, 15, 10, 8, 17, 10, 0, 17, 17, 9, 16, 10, 8, 0, 10, 3, 10, 10, 0, 2, 17, 10, 14, 17, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 0, 15, 21, 21, 15, 22, 14, 15, 22, 15, 15, 15, 14, 22, 15, 15, 14, 15, 15, 8, 22, 15, 8, 15, 15, 15, 0, 15, 15, 7, 21, 15, 8, 0, 17, 15, 15, 15, 0, 0, 15, 15, 21, 15, 8, 0, 0, 17, 16, 16, 15, 10, 8, 0, 17, 14, 14, 9, 15, 15, 16, 16, 16, 15, 18, 14, 15, 15, 17, 14, 16, 17, 9, 15, 16, 8, 16, 15, 15, 0, 17, 16, 7, 14, 8, 9, 0, 20, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 17, 0, 0, 18, 17, 8, 10, 18, 0, 16, 16, 8, 15, 14, 26, 15, 25, 24, 23, 16, 17, 22, 25, 16, 25, 26, 16, 17, 16, 10, 23, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 26, 10, 17, 17, 0, 3, 18, 17, 14, 25, 10, 0, 15, 16, 18, 0, 17, 8, 10, 18, 0, 16, 16, 8, 16, 14, 19, 15, 18, 17, 15, 16, 17, 15, 18, 16, 18, 19, 8, 17, 17, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 18, 14, 18, 10, 0, 15, 16, 17, 17, 0, 8, 10, 18, 0, 16, 17, 8, 16, 14, 17, 15, 19, 19, 17, 16, 17, 16, 17, 16, 17, 18, 9, 18, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 8, 8, 8, 0, 8, 8, 0, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 10, 8, 0, 10, 0, 9, 9, 8, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 8, 10, 10, 10, 8, 10, 12, 0, 12, 12, 9, 9, 10, 8, 0, 10, 5, 10, 12, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 18, 18, 18, 8, 10, 0, 0, 16, 17, 9, 16, 15, 18, 16, 19, 18, 17, 16, 17, 15, 17, 16, 18, 20, 10, 17, 16, 10, 16, 17, 17, 0, 19, 18, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 7, 9, 16, 0, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 17, 7, 9, 17, 0, 16, 0, 7, 15, 14, 16, 14, 17, 17, 15, 16, 16, 14, 16, 16, 16, 17, 8, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 8, 8, 8, 8, 8, 9, 0, 7, 7, 0, 8, 8, 8, 9, 9, 8, 9, 7, 8, 8, 8, 7, 9, 9, 9, 8, 8, 8, 9, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 9, 15, 16, 16, 8, 8, 16, 0, 14, 15, 8, 0, 14, 16, 15, 17, 16, 16, 14, 15, 15, 16, 14, 16, 17, 9, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 14, 14, 14, 7, 9, 15, 0, 14, 14, 8, 14, 0, 14, 15, 15, 16, 15, 16, 14, 14, 21, 14, 17, 15, 8, 14, 16, 7, 15, 14, 23, 0, 17, 17, 7, 14, 7, 7, 0, 14, 9, 14, 23, 0, 7, 14, 14, 14, 14, 7, 0, 14, 15, 26, 19, 17, 8, 10, 18, 0, 16, 16, 8, 16, 14, 0, 15, 26, 25, 24, 16, 17, 23, 26, 16, 27, 28, 17, 17, 17, 10, 24, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 27, 10, 17, 17, 0, 3, 19, 18, 14, 25, 10, 0, 15, 16, 15, 15, 15, 8, 8, 16, 0, 14, 14, 9, 15, 15, 15, 0, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 25, 18, 19, 8, 10, 19, 0, 16, 17, 9, 17, 15, 26, 16, 0, 26, 26, 16, 17, 23, 26, 16, 27, 28, 18, 18, 16, 10, 24, 18, 17, 0, 18, 18, 9, 16, 10, 8, 0, 25, 10, 17, 18, 0, 2, 17, 18, 14, 24, 10, 0, 15, 16, 24, 17, 19, 8, 12, 18, 0, 16, 17, 8, 16, 16, 25, 15, 26, 0, 25, 18, 17, 24, 24, 16, 27, 26, 17, 18, 17, 10, 23, 18, 19, 0, 19, 19, 9, 16, 10, 8, 0, 25, 12, 17, 20, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 23, 15, 17, 8, 8, 17, 0, 14, 15, 9, 16, 15, 24, 16, 26, 25, 0, 14, 15, 24, 23, 14, 25, 26, 19, 16, 15, 8, 25, 16, 15, 0, 16, 16, 7, 14, 8, 8, 0, 24, 8, 15, 16, 0, 0, 16, 15, 14, 22, 8, 0, 15, 16, 16, 16, 16, 7, 11, 16, 0, 16, 16, 7, 14, 16, 16, 14, 16, 18, 14, 0, 16, 14, 16, 16, 18, 16, 7, 16, 16, 9, 14, 16, 18, 0, 18, 18, 9, 16, 9, 7, 0, 16, 11, 16, 18, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 17, 8, 10, 17, 0, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 22, 15, 16, 8, 8, 15, 0, 14, 14, 8, 15, 14, 23, 15, 23, 24, 24, 14, 15, 0, 22, 14, 23, 23, 16, 16, 15, 8, 23, 16, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 16, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 25, 18, 17, 8, 10, 17, 0, 16, 16, 8, 16, 21, 26, 15, 26, 24, 23, 16, 17, 22, 0, 16, 26, 26, 16, 17, 16, 10, 23, 17, 24, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 24, 0, 9, 17, 18, 14, 24, 10, 0, 15, 15, 16, 16, 16, 7, 9, 16, 0, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 25, 18, 17, 8, 12, 18, 0, 16, 16, 9, 16, 17, 27, 16, 27, 27, 25, 18, 17, 23, 26, 16, 0, 28, 18, 17, 18, 10, 25, 17, 19, 0, 20, 20, 9, 16, 10, 8, 0, 26, 12, 17, 19, 0, 2, 18, 18, 14, 24, 10, 0, 15, 16, 26, 19, 18, 8, 10, 20, 0, 16, 17, 9, 17, 15, 28, 16, 28, 26, 26, 16, 17, 23, 26, 16, 28, 0, 19, 17, 17, 10, 25, 17, 17, 0, 19, 18, 9, 16, 10, 9, 0, 27, 10, 17, 17, 0, 3, 19, 18, 14, 25, 10, 0, 15, 17, 16, 8, 9, 8, 8, 10, 0, 7, 8, 9, 9, 8, 17, 9, 18, 17, 19, 7, 8, 16, 16, 7, 18, 19, 0, 8, 8, 8, 18, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 17, 1, 8, 8, 0, 0, 9, 8, 7, 15, 8, 0, 8, 9, 17, 17, 18, 8, 10, 17, 0, 16, 16, 8, 15, 14, 17, 15, 18, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 0, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 16, 17, 15, 8, 10, 16, 0, 14, 14, 8, 16, 16, 17, 15, 16, 17, 15, 16, 15, 15, 16, 14, 18, 17, 8, 15, 0, 8, 15, 15, 17, 0, 18, 17, 7, 14, 8, 9, 0, 16, 10, 15, 17, 0, 1, 16, 16, 14, 16, 8, 0, 15, 16, 10, 10, 10, 8, 10, 10, 0, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 23, 15, 15, 8, 8, 16, 0, 14, 14, 9, 15, 15, 24, 16, 24, 23, 25, 14, 15, 23, 23, 14, 25, 25, 18, 15, 15, 8, 0, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 24, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 16, 17, 17, 18, 8, 10, 17, 0, 16, 16, 8, 15, 14, 17, 15, 18, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 18, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 12, 17, 0, 16, 16, 8, 15, 23, 17, 15, 17, 19, 15, 18, 17, 15, 24, 16, 19, 17, 8, 17, 17, 10, 15, 17, 0, 0, 19, 19, 9, 16, 10, 8, 0, 17, 12, 17, 26, 0, 9, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 17, 8, 12, 19, 0, 16, 16, 9, 15, 17, 18, 16, 18, 19, 16, 18, 17, 15, 17, 16, 20, 19, 9, 17, 18, 10, 16, 17, 19, 0, 0, 20, 9, 16, 10, 9, 0, 18, 12, 17, 19, 0, 3, 18, 17, 14, 18, 10, 0, 15, 17, 17, 17, 17, 8, 12, 18, 0, 16, 16, 9, 15, 17, 17, 16, 18, 19, 16, 18, 17, 15, 17, 16, 20, 18, 9, 17, 17, 10, 16, 17, 19, 0, 20, 0, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 9, 9, 9, 7, 9, 9, 0, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 16, 16, 16, 7, 9, 16, 0, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 10, 10, 10, 8, 10, 10, 0, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 8, 8, 8, 9, 0, 7, 7, 8, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 0, 9, 8, 7, 7, 8, 0, 0, 9, 1, 8, 8, 0, 1, 9, 8, 7, 9, 8, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 18, 17, 8, 10, 18, 0, 16, 16, 8, 15, 14, 27, 15, 25, 25, 24, 16, 17, 23, 25, 16, 26, 27, 17, 17, 16, 10, 24, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 19, 17, 14, 25, 10, 0, 15, 16, 10, 10, 10, 1, 5, 10, 0, 9, 10, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 12, 0, 12, 12, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 17, 17, 17, 8, 10, 17, 0, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 18, 8, 12, 17, 0, 16, 16, 8, 15, 23, 17, 15, 18, 20, 16, 18, 17, 16, 24, 16, 19, 17, 8, 18, 17, 10, 15, 18, 26, 0, 19, 19, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 9, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 2, 3, 0, 2, 2, 0, 0, 7, 3, 0, 2, 2, 0, 2, 2, 0, 9, 2, 2, 3, 0, 2, 1, 2, 0, 2, 9, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 9, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 18, 18, 17, 8, 10, 18, 0, 16, 16, 8, 15, 14, 19, 15, 17, 18, 16, 16, 17, 16, 17, 16, 18, 19, 9, 17, 16, 10, 16, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 19, 10, 17, 17, 0, 3, 0, 17, 14, 18, 10, 0, 15, 16, 17, 18, 17, 8, 10, 17, 0, 16, 16, 8, 16, 14, 18, 15, 18, 17, 15, 16, 17, 15, 18, 16, 18, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 14, 14, 14, 7, 7, 14, 0, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 25, 18, 17, 8, 10, 18, 0, 16, 16, 8, 15, 14, 25, 15, 24, 24, 22, 16, 17, 22, 24, 16, 24, 25, 15, 17, 16, 10, 22, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 25, 10, 17, 17, 0, 3, 18, 17, 14, 0, 10, 0, 15, 16, 10, 10, 10, 8, 10, 10, 0, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 15, 0, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 16, 16, 15, 8, 8, 17, 0, 14, 14, 9, 15, 15, 16, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 17, 9, 15, 16, 8, 16, 15, 15, 0, 17, 16, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 0, 0, 16, 18, 7, 9, 23, 16, 0, 16, 7, 21, 14, 16, 15, 18, 24, 16, 17, 17, 14, 17, 16, 16, 16, 14, 17, 21, 9, 14, 23, 17, 0, 24, 25, 9, 23, 9, 7, 0, 17, 9, 17, 16, 0, 2, 23, 16, 21, 23, 16, 0, 15, 14, 16, 0, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 18, 16, 0, 8, 10, 16, 16, 0, 21, 8, 15, 14, 21, 16, 17, 17, 17, 18, 18, 15, 16, 16, 16, 16, 7, 18, 15, 9, 15, 18, 17, 0, 17, 17, 11, 16, 10, 8, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 17, 11, 0, 16, 14, 7, 7, 8, 0, 14, 14, 7, 0, 15, 15, 15, 7, 7, 15, 7, 7, 8, 8, 14, 7, 7, 7, 7, 7, 7, 14, 7, 7, 8, 8, 7, 0, 7, 7, 7, 14, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 14, 7, 8, 0, 15, 7, 9, 9, 10, 14, 0, 16, 9, 0, 16, 14, 14, 7, 10, 14, 9, 9, 7, 10, 16, 8, 9, 9, 9, 9, 7, 17, 8, 9, 7, 10, 9, 0, 9, 9, 9, 16, 17, 8, 0, 9, 10, 9, 9, 0, 2, 9, 9, 14, 10, 10, 0, 14, 7, 23, 16, 16, 14, 16, 0, 16, 0, 23, 15, 28, 14, 16, 21, 16, 23, 14, 16, 24, 14, 16, 16, 16, 16, 14, 23, 21, 9, 14, 23, 16, 0, 23, 23, 9, 30, 16, 7, 0, 16, 16, 16, 16, 0, 2, 23, 16, 28, 23, 16, 0, 21, 14, 16, 16, 16, 7, 9, 16, 0, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 21, 15, 16, 23, 16, 0, 0, 15, 22, 15, 20, 22, 16, 16, 15, 18, 25, 14, 16, 17, 16, 16, 7, 23, 14, 9, 15, 17, 16, 0, 16, 16, 12, 24, 16, 7, 0, 16, 16, 16, 16, 0, 3, 16, 16, 22, 16, 10, 0, 22, 14, 7, 7, 8, 15, 14, 15, 7, 0, 15, 0, 15, 7, 7, 15, 7, 7, 8, 8, 15, 7, 7, 7, 7, 7, 7, 14, 7, 7, 8, 8, 7, 0, 7, 7, 7, 14, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 14, 7, 8, 0, 15, 7, 21, 14, 15, 15, 14, 28, 14, 0, 22, 15, 0, 14, 14, 22, 14, 21, 15, 15, 21, 14, 14, 14, 14, 14, 14, 21, 21, 7, 15, 22, 14, 0, 21, 21, 7, 28, 14, 7, 0, 14, 14, 14, 14, 0, 0, 21, 14, 28, 21, 15, 0, 22, 14, 14, 14, 14, 7, 7, 14, 14, 0, 15, 7, 14, 0, 14, 14, 14, 14, 14, 15, 14, 14, 14, 15, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 8, 15, 7, 7, 0, 14, 7, 14, 14, 0, 1, 14, 14, 16, 14, 7, 0, 14, 14, 16, 16, 21, 7, 10, 16, 16, 0, 20, 7, 14, 14, 0, 14, 16, 16, 14, 17, 18, 15, 16, 16, 16, 16, 7, 17, 15, 9, 14, 17, 16, 0, 16, 16, 11, 16, 10, 8, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 17, 10, 0, 14, 14, 15, 14, 16, 15, 14, 21, 14, 0, 22, 15, 22, 14, 14, 0, 15, 14, 16, 15, 21, 14, 14, 14, 14, 14, 7, 21, 14, 7, 15, 15, 14, 0, 14, 14, 7, 21, 14, 7, 0, 14, 14, 14, 14, 0, 0, 14, 14, 21, 14, 8, 0, 22, 14, 18, 16, 17, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 15, 0, 16, 15, 17, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 17, 9, 17, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 24, 16, 17, 7, 9, 23, 16, 0, 16, 7, 21, 14, 16, 14, 16, 0, 15, 16, 16, 14, 16, 16, 16, 16, 14, 17, 21, 9, 14, 23, 17, 0, 24, 24, 9, 23, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 15, 14, 16, 14, 17, 8, 7, 14, 14, 0, 15, 8, 15, 14, 14, 16, 15, 15, 0, 15, 14, 14, 14, 14, 14, 14, 7, 15, 14, 7, 15, 15, 15, 0, 15, 15, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 8, 0, 16, 14, 17, 16, 18, 8, 10, 16, 16, 0, 18, 8, 15, 15, 17, 15, 17, 16, 15, 0, 17, 15, 17, 17, 16, 16, 7, 17, 15, 9, 15, 18, 16, 0, 16, 17, 10, 17, 10, 8, 0, 17, 10, 17, 16, 0, 3, 16, 16, 15, 17, 11, 0, 15, 14, 17, 16, 18, 14, 16, 24, 16, 0, 25, 15, 21, 14, 18, 21, 17, 16, 14, 17, 0, 14, 17, 16, 16, 16, 7, 23, 14, 9, 14, 16, 16, 0, 16, 17, 11, 23, 16, 7, 0, 17, 16, 17, 16, 0, 2, 16, 16, 21, 16, 9, 0, 21, 14, 14, 14, 15, 7, 8, 14, 14, 0, 14, 7, 14, 14, 15, 14, 14, 14, 14, 15, 14, 0, 14, 14, 14, 14, 7, 15, 15, 7, 14, 15, 14, 0, 14, 14, 7, 14, 8, 8, 0, 14, 8, 14, 14, 0, 0, 14, 14, 14, 15, 8, 0, 14, 14, 17, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 17, 16, 14, 17, 17, 14, 0, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 17, 9, 17, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 0, 17, 7, 14, 15, 16, 14, 16, 16, 14, 17, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 10, 17, 9, 7, 0, 16, 9, 16, 16, 0, 3, 16, 16, 15, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 0, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 0, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 14, 7, 7, 7, 7, 14, 7, 0, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 14, 7, 7, 14, 7, 0, 14, 14, 7, 14, 7, 7, 0, 7, 0, 7, 7, 0, 0, 14, 7, 14, 14, 14, 0, 7, 7, 17, 16, 18, 14, 17, 23, 16, 0, 23, 14, 21, 14, 17, 21, 16, 17, 15, 17, 23, 15, 16, 16, 16, 16, 7, 0, 15, 9, 14, 17, 17, 0, 17, 17, 9, 23, 17, 8, 0, 16, 17, 16, 16, 0, 2, 16, 16, 21, 17, 10, 0, 22, 14, 21, 14, 15, 7, 8, 21, 14, 0, 14, 7, 21, 14, 15, 14, 14, 21, 14, 15, 14, 15, 14, 14, 14, 14, 14, 15, 0, 7, 14, 22, 14, 0, 21, 21, 7, 21, 8, 8, 0, 14, 8, 14, 14, 0, 0, 21, 14, 21, 22, 15, 0, 14, 14, 9, 9, 9, 7, 9, 9, 9, 0, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 0, 7, 9, 9, 0, 9, 9, 9, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 14, 14, 15, 8, 7, 14, 14, 0, 15, 8, 15, 14, 14, 15, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 0, 15, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 8, 0, 15, 14, 23, 16, 18, 8, 10, 23, 16, 0, 17, 8, 22, 14, 17, 15, 16, 23, 15, 18, 16, 15, 16, 16, 16, 16, 14, 17, 22, 9, 15, 0, 16, 0, 23, 23, 9, 23, 10, 8, 0, 16, 10, 16, 16, 0, 2, 23, 16, 21, 24, 18, 0, 15, 14, 17, 16, 17, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 17, 15, 16, 16, 14, 16, 16, 16, 16, 7, 17, 14, 9, 14, 16, 0, 0, 17, 17, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 15, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 16, 17, 7, 9, 23, 16, 0, 16, 7, 21, 14, 16, 14, 16, 24, 15, 16, 16, 14, 16, 16, 16, 16, 14, 17, 21, 9, 14, 23, 17, 0, 0, 24, 9, 23, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 15, 14, 25, 16, 17, 7, 9, 23, 16, 0, 16, 7, 21, 14, 16, 14, 17, 24, 15, 17, 17, 14, 17, 16, 16, 16, 14, 17, 21, 9, 14, 23, 17, 0, 24, 0, 9, 23, 9, 7, 0, 17, 9, 17, 16, 0, 2, 23, 16, 21, 23, 16, 0, 15, 14, 9, 9, 11, 7, 9, 9, 9, 0, 12, 7, 7, 8, 11, 7, 9, 9, 7, 10, 11, 7, 9, 10, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 10, 9, 7, 0, 9, 2, 9, 9, 0, 3, 9, 9, 8, 9, 9, 0, 7, 7, 23, 16, 16, 14, 16, 30, 16, 0, 24, 14, 28, 15, 16, 21, 16, 23, 14, 17, 23, 14, 16, 17, 16, 16, 14, 23, 21, 9, 14, 23, 16, 0, 23, 23, 10, 0, 16, 7, 0, 16, 16, 16, 16, 0, 3, 23, 16, 29, 23, 16, 0, 21, 14, 9, 9, 10, 14, 17, 16, 9, 0, 16, 14, 14, 7, 10, 14, 9, 9, 7, 10, 16, 8, 9, 9, 9, 9, 7, 17, 8, 9, 7, 10, 9, 0, 9, 9, 9, 16, 0, 8, 0, 9, 10, 9, 9, 0, 2, 9, 9, 14, 10, 10, 0, 14, 7, 7, 7, 8, 7, 8, 7, 7, 0, 7, 7, 7, 7, 8, 7, 7, 7, 7, 8, 7, 8, 7, 7, 7, 7, 7, 8, 8, 7, 7, 8, 7, 0, 7, 7, 7, 7, 8, 0, 0, 7, 1, 7, 7, 0, 0, 7, 7, 7, 8, 8, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 17, 16, 14, 17, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 0, 9, 17, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 9, 9, 10, 7, 10, 16, 9, 0, 16, 7, 14, 7, 10, 14, 9, 9, 7, 10, 16, 8, 9, 9, 9, 9, 0, 17, 8, 2, 7, 10, 9, 0, 9, 9, 2, 16, 10, 1, 0, 9, 0, 9, 9, 0, 2, 9, 9, 14, 10, 3, 0, 14, 7, 17, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 17, 16, 14, 17, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 17, 9, 0, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 0, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 0, 3, 0, 0, 1, 2, 0, 2, 2, 0, 3, 2, 0, 2, 3, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 3, 3, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 2, 0, 0, 0, 23, 16, 16, 7, 9, 23, 16, 0, 16, 7, 21, 14, 16, 14, 16, 23, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 23, 16, 0, 23, 23, 9, 23, 9, 7, 0, 16, 9, 16, 16, 0, 2, 0, 16, 21, 23, 16, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 0, 14, 16, 9, 0, 14, 14, 21, 14, 14, 14, 14, 28, 14, 0, 22, 14, 28, 16, 14, 21, 14, 21, 14, 15, 21, 14, 14, 15, 14, 14, 14, 21, 21, 7, 14, 21, 14, 0, 21, 21, 8, 29, 14, 7, 0, 14, 14, 14, 14, 0, 1, 21, 14, 0, 21, 14, 0, 21, 14, 23, 16, 17, 7, 10, 23, 16, 0, 16, 7, 21, 14, 17, 14, 16, 23, 14, 17, 16, 15, 16, 16, 16, 16, 14, 17, 22, 9, 14, 24, 16, 0, 23, 23, 9, 23, 10, 8, 0, 16, 10, 16, 16, 0, 2, 23, 16, 21, 0, 17, 0, 14, 14, 16, 9, 11, 8, 10, 16, 9, 0, 10, 8, 15, 7, 10, 8, 9, 16, 8, 11, 9, 8, 9, 9, 9, 9, 14, 10, 15, 9, 8, 18, 9, 0, 16, 16, 9, 16, 10, 8, 0, 9, 3, 9, 9, 0, 2, 16, 9, 14, 17, 0, 0, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 14, 16, 15, 14, 21, 14, 0, 22, 15, 22, 14, 14, 22, 14, 15, 16, 15, 21, 14, 14, 14, 14, 14, 7, 22, 14, 7, 15, 15, 15, 0, 15, 15, 7, 21, 14, 7, 0, 14, 14, 14, 14, 0, 0, 14, 14, 21, 14, 8, 0, 0, 14, 14, 14, 14, 7, 7, 14, 14, 0, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 0, 0, 17, 16, 8, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 17, 14, 16, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 17, 9, 16, 16, 0, 2, 17, 16, 14, 16, 9, 0, 14, 14, 17, 0, 16, 8, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 17, 14, 16, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 17, 9, 16, 16, 0, 2, 17, 16, 14, 16, 9, 0, 14, 14, 16, 16, 0, 8, 16, 17, 17, 21, 0, 15, 16, 14, 27, 22, 24, 17, 23, 24, 25, 14, 16, 23, 23, 17, 8, 16, 14, 16, 22, 17, 16, 0, 16, 16, 18, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 10, 0, 22, 21, 8, 8, 8, 0, 14, 14, 7, 15, 0, 15, 15, 7, 7, 15, 7, 8, 8, 8, 15, 7, 8, 7, 7, 7, 7, 14, 7, 7, 8, 8, 7, 0, 7, 7, 7, 14, 14, 7, 0, 8, 7, 7, 7, 0, 0, 8, 7, 14, 7, 8, 0, 15, 7, 9, 9, 16, 14, 0, 16, 9, 16, 0, 21, 14, 7, 16, 21, 16, 9, 14, 16, 23, 7, 9, 16, 16, 9, 7, 16, 7, 16, 14, 9, 9, 0, 9, 9, 16, 16, 23, 14, 0, 16, 9, 16, 9, 0, 2, 9, 16, 14, 9, 9, 0, 21, 14, 16, 16, 17, 14, 16, 0, 17, 23, 0, 14, 22, 14, 16, 21, 17, 17, 15, 16, 23, 14, 16, 16, 16, 17, 8, 23, 14, 9, 14, 16, 16, 0, 16, 16, 9, 23, 16, 7, 0, 16, 16, 16, 16, 0, 2, 16, 16, 21, 16, 9, 0, 21, 14, 16, 16, 17, 7, 9, 17, 0, 16, 0, 7, 15, 14, 16, 14, 17, 17, 15, 16, 16, 14, 16, 16, 16, 17, 8, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 21, 15, 16, 23, 16, 0, 0, 15, 22, 15, 20, 22, 16, 16, 15, 18, 25, 14, 16, 17, 16, 16, 7, 23, 14, 9, 15, 17, 16, 0, 16, 16, 12, 24, 16, 7, 0, 16, 16, 16, 16, 0, 3, 16, 16, 22, 16, 10, 0, 22, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 15, 15, 21, 14, 7, 15, 0, 0, 15, 7, 14, 22, 14, 7, 15, 15, 21, 7, 7, 14, 14, 7, 7, 14, 7, 14, 15, 8, 7, 0, 7, 7, 14, 14, 21, 14, 0, 14, 7, 14, 7, 0, 0, 7, 14, 14, 7, 8, 0, 22, 14, 14, 14, 16, 15, 14, 22, 15, 22, 0, 15, 0, 14, 14, 22, 15, 15, 16, 15, 21, 14, 14, 14, 14, 15, 8, 21, 14, 7, 15, 15, 14, 0, 14, 14, 7, 21, 14, 7, 0, 14, 14, 14, 14, 0, 0, 14, 14, 21, 14, 8, 0, 22, 14, 14, 14, 14, 7, 7, 14, 14, 15, 0, 7, 14, 0, 14, 14, 14, 14, 14, 15, 14, 14, 14, 16, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 8, 15, 7, 7, 0, 14, 7, 14, 14, 0, 1, 14, 14, 16, 14, 7, 0, 14, 14, 16, 16, 27, 7, 16, 16, 16, 20, 0, 14, 14, 14, 0, 21, 23, 16, 21, 23, 25, 14, 16, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 18, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 14, 14, 22, 15, 21, 21, 14, 22, 0, 22, 22, 14, 21, 0, 21, 14, 22, 22, 28, 14, 14, 21, 21, 14, 7, 21, 14, 14, 22, 15, 14, 0, 14, 14, 14, 21, 21, 14, 0, 21, 14, 21, 14, 0, 0, 14, 21, 21, 14, 8, 0, 29, 21, 16, 16, 24, 7, 16, 17, 17, 16, 0, 14, 15, 14, 23, 21, 0, 17, 22, 23, 23, 14, 16, 23, 23, 17, 8, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 17, 17, 17, 8, 9, 17, 17, 16, 0, 7, 15, 14, 16, 14, 17, 0, 15, 16, 17, 14, 17, 16, 16, 17, 8, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 17, 9, 16, 16, 0, 2, 17, 16, 14, 16, 9, 0, 14, 14, 14, 14, 23, 8, 14, 15, 15, 15, 0, 15, 16, 14, 21, 22, 22, 15, 0, 22, 21, 14, 14, 21, 21, 15, 8, 14, 14, 14, 22, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 8, 0, 22, 21, 16, 16, 24, 8, 16, 16, 16, 18, 0, 15, 15, 15, 23, 22, 23, 16, 22, 0, 23, 14, 16, 24, 23, 16, 7, 16, 14, 16, 22, 17, 16, 0, 16, 16, 17, 17, 16, 15, 0, 23, 9, 24, 16, 0, 3, 16, 23, 15, 16, 10, 0, 22, 21, 17, 17, 25, 15, 23, 23, 16, 25, 0, 21, 21, 14, 25, 28, 23, 17, 21, 23, 0, 14, 17, 23, 23, 16, 7, 23, 14, 16, 21, 16, 16, 0, 16, 16, 18, 23, 23, 14, 0, 24, 16, 23, 16, 0, 2, 17, 23, 21, 16, 9, 0, 28, 21, 14, 14, 14, 7, 7, 14, 14, 14, 0, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 17, 17, 16, 8, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 17, 14, 16, 17, 14, 0, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 17, 9, 16, 16, 0, 2, 17, 16, 14, 16, 9, 0, 14, 14, 16, 16, 23, 7, 16, 16, 16, 17, 0, 14, 14, 16, 23, 21, 23, 16, 21, 24, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 17, 18, 16, 14, 0, 23, 9, 23, 16, 0, 3, 16, 23, 17, 16, 9, 0, 21, 21, 16, 16, 23, 7, 16, 16, 16, 16, 0, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 23, 0, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 16, 16, 17, 7, 9, 17, 17, 16, 0, 7, 15, 14, 16, 14, 17, 17, 15, 16, 16, 14, 16, 16, 16, 0, 8, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 7, 7, 8, 7, 7, 8, 8, 7, 0, 7, 8, 7, 7, 7, 8, 8, 8, 7, 7, 7, 7, 7, 7, 8, 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 16, 16, 16, 14, 16, 23, 16, 23, 0, 14, 21, 14, 16, 21, 16, 16, 14, 16, 23, 14, 16, 16, 16, 16, 7, 0, 14, 9, 14, 16, 16, 0, 16, 16, 9, 23, 16, 7, 0, 16, 16, 16, 16, 0, 2, 16, 16, 21, 16, 9, 0, 21, 14, 14, 14, 14, 7, 7, 14, 14, 14, 0, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 0, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 9, 9, 16, 7, 16, 9, 9, 9, 0, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 16, 16, 9, 7, 9, 7, 0, 14, 9, 9, 0, 9, 9, 16, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 14, 14, 22, 8, 14, 14, 14, 15, 0, 15, 15, 14, 21, 22, 21, 14, 22, 22, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 0, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 8, 0, 22, 21, 16, 16, 17, 8, 9, 16, 16, 17, 0, 8, 15, 14, 16, 15, 16, 16, 15, 17, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 15, 0, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 10, 0, 15, 14, 16, 16, 16, 7, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 0, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 7, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 0, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 0, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 9, 9, 18, 7, 16, 9, 9, 12, 0, 14, 7, 8, 18, 14, 16, 9, 14, 17, 18, 7, 9, 17, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 10, 16, 14, 0, 16, 2, 16, 9, 0, 3, 9, 16, 8, 9, 9, 0, 14, 14, 16, 16, 16, 14, 16, 23, 16, 24, 0, 14, 21, 15, 16, 21, 16, 16, 14, 17, 23, 14, 16, 18, 16, 16, 7, 23, 14, 9, 14, 16, 16, 0, 16, 16, 10, 0, 16, 7, 0, 16, 16, 16, 16, 0, 3, 16, 16, 23, 16, 9, 0, 21, 14, 9, 9, 16, 14, 23, 16, 9, 16, 0, 21, 14, 7, 16, 21, 16, 9, 14, 16, 23, 7, 9, 16, 16, 9, 7, 16, 7, 16, 14, 9, 9, 0, 9, 9, 16, 16, 0, 14, 0, 16, 9, 16, 9, 0, 2, 9, 16, 14, 9, 9, 0, 21, 14, 7, 7, 14, 7, 14, 7, 7, 7, 0, 14, 7, 7, 14, 14, 14, 7, 14, 15, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 14, 7, 7, 0, 7, 7, 14, 7, 14, 0, 0, 14, 0, 15, 7, 0, 0, 7, 14, 7, 7, 7, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 23, 8, 16, 16, 16, 16, 0, 14, 14, 14, 23, 21, 23, 17, 21, 23, 24, 14, 17, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 0, 9, 23, 16, 0, 2, 17, 23, 14, 16, 9, 0, 21, 21, 9, 9, 9, 7, 9, 16, 10, 16, 0, 7, 14, 7, 9, 14, 9, 9, 7, 9, 16, 7, 9, 9, 9, 9, 0, 16, 7, 2, 7, 9, 9, 0, 9, 9, 2, 16, 9, 0, 0, 9, 0, 9, 9, 0, 2, 9, 9, 14, 9, 2, 0, 14, 7, 16, 16, 23, 7, 16, 16, 16, 16, 0, 14, 14, 14, 23, 21, 23, 16, 21, 24, 23, 14, 16, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 15, 0, 23, 9, 0, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 16, 16, 16, 7, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 0, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 3, 0, 0, 0, 1, 2, 0, 2, 2, 0, 3, 2, 0, 2, 3, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 3, 3, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 2, 0, 0, 0, 17, 17, 16, 8, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 17, 14, 16, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 17, 9, 16, 16, 0, 2, 0, 16, 14, 16, 9, 0, 14, 14, 16, 16, 23, 7, 16, 16, 16, 16, 0, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 0, 14, 16, 9, 0, 21, 21, 14, 14, 14, 14, 14, 21, 14, 22, 0, 14, 21, 16, 14, 21, 14, 14, 14, 15, 21, 14, 14, 17, 14, 14, 7, 21, 14, 7, 14, 14, 14, 0, 14, 14, 8, 23, 14, 7, 0, 14, 14, 14, 14, 0, 1, 14, 14, 0, 14, 7, 0, 21, 14, 16, 16, 16, 7, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 0, 9, 0, 14, 14, 9, 9, 10, 8, 9, 9, 9, 10, 0, 8, 8, 7, 9, 8, 9, 9, 8, 10, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 8, 10, 9, 0, 9, 9, 9, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 0, 0, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 22, 15, 21, 21, 14, 22, 0, 22, 22, 14, 21, 29, 21, 14, 22, 22, 28, 14, 14, 21, 21, 14, 7, 21, 14, 14, 22, 15, 14, 0, 14, 14, 14, 21, 21, 14, 0, 21, 14, 21, 14, 0, 0, 14, 21, 21, 14, 8, 0, 0, 21, 14, 14, 21, 7, 14, 14, 14, 14, 0, 14, 14, 14, 21, 21, 21, 14, 21, 21, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 21, 14, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 7, 0, 21, 0, 0, 9, 8, 8, 8, 8, 8, 7, 7, 0, 9, 7, 8, 9, 8, 8, 8, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 9, 8, 7, 8, 9, 0, 8, 8, 9, 0, 8, 8, 8, 8, 8, 7, 7, 0, 9, 7, 8, 9, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 10, 10, 8, 8, 10, 10, 8, 0, 8, 8, 7, 7, 10, 12, 0, 8, 1, 10, 8, 0, 0, 14, 8, 10, 8, 9, 0, 10, 8, 8, 8, 0, 9, 15, 8, 8, 8, 15, 0, 9, 7, 15, 16, 15, 8, 16, 15, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 16, 9, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 9, 0, 16, 15, 8, 8, 9, 0, 15, 15, 8, 15, 15, 0, 16, 7, 8, 16, 8, 8, 9, 8, 15, 8, 8, 7, 8, 8, 8, 22, 8, 15, 9, 9, 8, 0, 8, 8, 14, 14, 15, 15, 0, 8, 8, 8, 8, 0, 7, 8, 8, 14, 8, 16, 0, 16, 8, 8, 8, 15, 15, 0, 15, 8, 14, 21, 0, 15, 7, 15, 22, 15, 8, 15, 14, 22, 8, 8, 14, 15, 8, 8, 15, 8, 15, 15, 8, 8, 0, 8, 8, 14, 14, 22, 15, 0, 15, 8, 15, 8, 0, 0, 8, 15, 14, 8, 8, 0, 22, 15, 8, 8, 8, 15, 15, 0, 9, 15, 14, 0, 15, 8, 8, 16, 9, 8, 9, 7, 17, 8, 8, 7, 9, 9, 9, 15, 8, 8, 9, 8, 8, 0, 9, 9, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 15, 9, 8, 8, 8, 8, 8, 9, 0, 7, 7, 0, 8, 8, 8, 9, 9, 8, 9, 7, 8, 8, 8, 7, 9, 9, 9, 8, 8, 8, 9, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 9, 7, 7, 8, 15, 14, 15, 7, 0, 15, 0, 15, 7, 7, 15, 7, 7, 8, 8, 15, 7, 7, 7, 7, 7, 7, 14, 7, 7, 8, 8, 7, 0, 7, 7, 7, 14, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 14, 7, 8, 0, 15, 7, 7, 7, 15, 15, 21, 14, 7, 15, 0, 0, 15, 7, 14, 22, 14, 7, 15, 15, 21, 7, 7, 14, 14, 7, 7, 14, 7, 14, 15, 8, 7, 0, 7, 7, 14, 14, 21, 14, 0, 14, 7, 14, 7, 0, 0, 7, 14, 14, 7, 8, 0, 22, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 16, 15, 15, 8, 15, 15, 0, 0, 9, 8, 19, 8, 8, 11, 9, 15, 10, 8, 7, 8, 8, 10, 15, 10, 8, 11, 9, 8, 0, 8, 8, 7, 14, 15, 10, 0, 8, 8, 8, 8, 0, 0, 9, 8, 16, 8, 10, 0, 18, 10, 7, 7, 7, 7, 7, 8, 8, 7, 7, 0, 9, 0, 7, 10, 8, 7, 10, 7, 7, 9, 7, 7, 8, 8, 10, 7, 9, 7, 10, 7, 7, 0, 8, 8, 7, 7, 7, 9, 0, 7, 0, 7, 7, 0, 0, 7, 7, 9, 7, 7, 0, 9, 10, 8, 8, 15, 8, 15, 8, 8, 7, 14, 0, 8, 7, 0, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 9, 9, 16, 16, 22, 16, 9, 15, 22, 0, 19, 10, 15, 0, 16, 8, 19, 16, 22, 10, 8, 14, 16, 9, 11, 15, 10, 15, 19, 9, 8, 0, 9, 9, 14, 14, 22, 17, 0, 15, 8, 15, 8, 0, 0, 9, 15, 16, 8, 10, 0, 25, 18, 8, 8, 15, 8, 15, 9, 9, 7, 14, 0, 8, 8, 15, 16, 0, 8, 16, 14, 15, 8, 8, 14, 16, 9, 9, 8, 8, 15, 16, 8, 8, 0, 9, 9, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 16, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 8, 7, 8, 8, 8, 0, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 16, 9, 15, 9, 9, 8, 15, 0, 11, 10, 15, 19, 16, 8, 0, 15, 15, 10, 8, 14, 16, 9, 11, 8, 10, 15, 19, 9, 8, 0, 9, 9, 14, 7, 15, 17, 0, 15, 1, 15, 8, 0, 0, 8, 15, 9, 8, 9, 0, 18, 18, 8, 8, 15, 8, 14, 7, 7, 8, 15, 0, 9, 7, 14, 16, 14, 7, 15, 0, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 15, 8, 7, 0, 7, 7, 14, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 8, 14, 7, 7, 9, 0, 15, 14, 8, 8, 15, 15, 22, 17, 8, 15, 21, 0, 15, 7, 15, 22, 15, 8, 15, 14, 0, 8, 8, 14, 15, 8, 8, 15, 8, 15, 15, 8, 8, 0, 8, 8, 14, 14, 22, 15, 0, 15, 8, 15, 8, 0, 0, 8, 15, 14, 8, 8, 0, 22, 15, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 10, 9, 8, 10, 8, 8, 10, 7, 8, 0, 8, 7, 8, 8, 10, 8, 10, 8, 10, 8, 8, 0, 8, 8, 7, 7, 8, 10, 0, 8, 1, 8, 8, 0, 0, 8, 8, 9, 8, 8, 0, 10, 10, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 0, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 7, 9, 14, 7, 14, 7, 7, 7, 14, 0, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 0, 14, 7, 9, 9, 7, 14, 16, 9, 7, 0, 7, 7, 14, 7, 16, 16, 0, 14, 0, 16, 7, 0, 0, 9, 14, 9, 7, 7, 0, 16, 14, 8, 8, 15, 8, 15, 9, 9, 7, 14, 0, 8, 8, 15, 16, 16, 8, 16, 14, 15, 8, 8, 14, 0, 9, 9, 8, 8, 15, 16, 8, 8, 0, 9, 9, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 16, 8, 8, 8, 8, 8, 9, 9, 7, 7, 0, 8, 8, 8, 9, 9, 8, 9, 7, 8, 8, 8, 7, 9, 0, 9, 8, 8, 8, 9, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 9, 8, 10, 8, 8, 8, 9, 9, 7, 7, 0, 10, 10, 8, 11, 9, 8, 11, 7, 8, 10, 8, 9, 9, 9, 0, 10, 10, 8, 13, 10, 8, 0, 9, 9, 7, 7, 10, 12, 0, 8, 1, 10, 8, 0, 0, 10, 8, 11, 8, 8, 0, 12, 11, 8, 10, 8, 22, 15, 15, 8, 14, 14, 0, 15, 7, 8, 15, 8, 8, 8, 7, 15, 8, 8, 9, 8, 8, 10, 0, 8, 15, 10, 10, 8, 0, 8, 8, 14, 14, 17, 17, 0, 8, 8, 10, 8, 0, 7, 10, 8, 16, 8, 15, 0, 17, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 10, 9, 8, 10, 8, 8, 10, 7, 8, 10, 8, 7, 8, 8, 10, 8, 0, 8, 10, 8, 8, 0, 8, 8, 7, 7, 8, 10, 0, 8, 1, 8, 8, 0, 0, 8, 8, 9, 8, 8, 0, 10, 10, 8, 8, 15, 15, 15, 8, 8, 7, 14, 0, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 15, 8, 0, 15, 8, 8, 0, 8, 8, 22, 7, 15, 23, 0, 15, 1, 15, 8, 0, 7, 8, 15, 7, 8, 15, 0, 15, 15, 8, 10, 16, 9, 15, 9, 9, 8, 15, 0, 11, 10, 15, 19, 16, 8, 19, 15, 15, 10, 8, 16, 16, 9, 13, 10, 10, 15, 0, 11, 8, 0, 9, 9, 14, 7, 17, 19, 0, 15, 1, 17, 8, 0, 0, 10, 15, 11, 8, 9, 0, 20, 18, 8, 10, 9, 9, 8, 8, 8, 8, 8, 0, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 9, 8, 8, 10, 10, 8, 8, 11, 0, 8, 0, 8, 8, 7, 7, 10, 10, 0, 8, 1, 10, 8, 0, 0, 10, 8, 9, 8, 9, 0, 11, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 9, 9, 7, 7, 0, 8, 8, 8, 9, 9, 8, 9, 7, 8, 8, 8, 7, 9, 9, 9, 8, 8, 8, 9, 8, 8, 0, 0, 9, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 9, 8, 8, 8, 8, 8, 9, 9, 7, 7, 0, 8, 8, 8, 9, 9, 8, 9, 7, 8, 8, 8, 7, 9, 9, 9, 8, 8, 8, 9, 8, 8, 0, 9, 0, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 9, 7, 7, 14, 14, 14, 7, 7, 7, 14, 0, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 14, 7, 22, 14, 7, 7, 0, 7, 7, 0, 7, 14, 22, 0, 14, 0, 14, 7, 0, 7, 7, 14, 7, 7, 14, 0, 14, 14, 7, 7, 7, 14, 14, 14, 7, 14, 14, 0, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 0, 7, 7, 7, 0, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 14, 7, 7, 0, 14, 7, 8, 10, 15, 15, 22, 15, 8, 14, 21, 0, 15, 7, 15, 22, 15, 8, 15, 14, 22, 8, 8, 16, 15, 8, 10, 17, 8, 15, 17, 10, 8, 0, 8, 8, 14, 14, 0, 17, 0, 15, 8, 17, 8, 0, 0, 10, 15, 16, 8, 8, 0, 24, 15, 8, 12, 15, 15, 15, 8, 8, 7, 14, 0, 10, 9, 15, 17, 15, 8, 17, 14, 15, 10, 8, 16, 15, 8, 12, 17, 10, 23, 19, 10, 8, 0, 8, 8, 22, 7, 17, 0, 0, 15, 1, 17, 8, 0, 7, 12, 15, 11, 8, 15, 0, 19, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 15, 8, 15, 8, 8, 7, 14, 0, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 0, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 1, 1, 1, 8, 8, 8, 1, 7, 7, 0, 8, 0, 1, 8, 1, 1, 1, 0, 8, 1, 1, 0, 1, 1, 1, 8, 1, 1, 1, 1, 1, 0, 1, 1, 0, 7, 8, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 7, 1, 1, 0, 8, 1, 8, 10, 15, 8, 15, 8, 8, 7, 14, 0, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 16, 15, 8, 10, 10, 8, 15, 17, 10, 8, 0, 8, 8, 14, 7, 17, 17, 0, 15, 1, 0, 8, 0, 0, 10, 15, 9, 8, 8, 0, 17, 15, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 0, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 9, 14, 8, 8, 8, 8, 8, 7, 7, 0, 9, 7, 8, 9, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 10, 10, 8, 8, 10, 10, 8, 0, 8, 8, 7, 7, 10, 12, 0, 8, 1, 10, 8, 0, 0, 0, 8, 10, 8, 9, 0, 10, 8, 8, 8, 15, 8, 15, 8, 8, 7, 14, 0, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 0, 7, 8, 8, 0, 15, 15, 7, 10, 7, 14, 14, 14, 7, 14, 14, 0, 16, 9, 7, 16, 7, 7, 9, 7, 14, 9, 7, 9, 7, 7, 11, 16, 9, 7, 11, 9, 7, 0, 7, 7, 7, 14, 16, 11, 0, 7, 7, 9, 7, 0, 0, 10, 7, 0, 7, 7, 0, 18, 9, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 0, 8, 0, 8, 8, 9, 9, 9, 16, 8, 8, 8, 8, 8, 0, 10, 7, 8, 10, 8, 8, 9, 9, 8, 8, 8, 7, 8, 8, 8, 15, 8, 15, 9, 9, 8, 0, 8, 8, 14, 7, 8, 15, 0, 8, 1, 8, 8, 0, 7, 9, 8, 7, 8, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 16, 16, 22, 15, 8, 15, 22, 0, 18, 9, 15, 25, 15, 8, 18, 15, 22, 10, 8, 16, 15, 8, 12, 17, 10, 15, 20, 11, 8, 0, 8, 8, 14, 14, 24, 19, 0, 15, 8, 17, 8, 0, 0, 10, 15, 18, 8, 9, 0, 0, 17, 8, 8, 15, 8, 15, 9, 9, 7, 14, 0, 10, 10, 15, 18, 16, 8, 18, 14, 15, 10, 8, 14, 16, 9, 11, 8, 10, 15, 18, 8, 8, 0, 9, 9, 14, 7, 15, 17, 0, 15, 1, 15, 8, 0, 0, 8, 15, 9, 8, 8, 0, 17, 0, 0, 16, 15, 8, 8, 22, 15, 21, 14, 9, 0, 14, 15, 23, 17, 22, 15, 15, 15, 22, 15, 14, 15, 15, 15, 15, 22, 10, 15, 22, 15, 0, 22, 22, 7, 23, 8, 8, 0, 15, 8, 15, 15, 0, 2, 23, 17, 21, 24, 21, 0, 15, 15, 16, 0, 15, 8, 8, 15, 16, 14, 14, 9, 0, 14, 16, 16, 16, 15, 15, 15, 15, 15, 16, 14, 16, 16, 8, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 16, 16, 14, 15, 9, 0, 15, 15, 15, 15, 0, 9, 8, 16, 16, 15, 16, 9, 0, 14, 15, 16, 16, 16, 17, 15, 15, 15, 15, 14, 15, 16, 9, 15, 15, 8, 16, 16, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 9, 0, 16, 15, 8, 8, 9, 0, 16, 15, 8, 15, 15, 16, 0, 7, 8, 16, 8, 9, 9, 8, 15, 8, 8, 7, 8, 8, 8, 16, 8, 8, 9, 9, 8, 0, 8, 8, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 9, 0, 17, 8, 8, 8, 8, 16, 0, 15, 8, 14, 14, 15, 0, 7, 8, 15, 8, 9, 8, 7, 15, 8, 8, 7, 8, 8, 8, 16, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 16, 8, 22, 15, 16, 15, 15, 0, 16, 28, 22, 15, 0, 14, 15, 22, 16, 23, 16, 14, 22, 15, 15, 14, 15, 16, 16, 22, 22, 8, 15, 22, 15, 0, 22, 22, 7, 28, 15, 8, 0, 15, 15, 15, 15, 0, 0, 22, 15, 28, 22, 15, 0, 22, 15, 15, 16, 16, 8, 8, 16, 0, 14, 15, 8, 0, 14, 16, 15, 17, 16, 16, 14, 15, 15, 16, 14, 16, 17, 9, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 21, 14, 15, 15, 14, 28, 14, 0, 22, 15, 0, 14, 14, 22, 14, 21, 15, 15, 21, 14, 14, 14, 14, 14, 14, 21, 21, 7, 15, 22, 14, 0, 21, 21, 7, 28, 14, 7, 0, 14, 14, 14, 14, 0, 0, 21, 14, 28, 21, 15, 0, 22, 14, 14, 14, 16, 15, 14, 22, 15, 22, 0, 15, 0, 14, 14, 22, 15, 15, 16, 15, 21, 14, 14, 14, 14, 15, 8, 21, 14, 7, 15, 15, 14, 0, 14, 14, 7, 21, 14, 7, 0, 14, 14, 14, 14, 0, 0, 14, 14, 21, 14, 8, 0, 22, 14, 9, 9, 9, 16, 15, 15, 8, 15, 15, 0, 0, 9, 8, 19, 8, 8, 11, 9, 15, 10, 8, 7, 8, 8, 10, 15, 10, 8, 11, 9, 8, 0, 8, 8, 7, 14, 15, 10, 0, 8, 8, 8, 8, 0, 0, 9, 8, 16, 8, 10, 0, 18, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 0, 0, 14, 16, 14, 14, 16, 14, 14, 16, 14, 14, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 16, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 0, 14, 0, 15, 16, 15, 15, 14, 15, 15, 16, 14, 16, 16, 8, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 23, 16, 16, 16, 15, 22, 15, 22, 22, 19, 0, 16, 15, 0, 17, 15, 18, 16, 22, 24, 15, 14, 15, 15, 10, 22, 17, 10, 18, 16, 15, 0, 15, 15, 7, 23, 15, 10, 0, 15, 15, 15, 15, 0, 2, 16, 17, 23, 17, 15, 0, 25, 17, 17, 16, 16, 8, 8, 16, 17, 14, 15, 8, 0, 14, 16, 17, 0, 16, 16, 14, 15, 17, 16, 14, 16, 17, 9, 15, 16, 10, 15, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 15, 8, 15, 15, 0, 2, 15, 18, 14, 17, 10, 0, 15, 15, 22, 15, 16, 9, 9, 23, 16, 21, 15, 8, 0, 14, 15, 15, 16, 0, 16, 14, 15, 15, 15, 14, 15, 16, 16, 16, 22, 8, 15, 22, 15, 0, 22, 22, 7, 21, 8, 8, 0, 15, 8, 15, 15, 0, 0, 22, 15, 21, 22, 15, 0, 16, 15, 15, 15, 17, 9, 8, 16, 16, 15, 16, 11, 0, 16, 15, 18, 16, 16, 0, 15, 15, 17, 15, 14, 15, 16, 11, 15, 17, 8, 18, 16, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 9, 0, 18, 17, 15, 15, 15, 8, 7, 14, 14, 15, 15, 9, 0, 14, 14, 16, 14, 14, 15, 0, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 15, 15, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 15, 14, 14, 14, 9, 0, 15, 14, 15, 15, 15, 15, 15, 22, 15, 21, 21, 15, 0, 14, 15, 22, 15, 15, 15, 14, 0, 15, 15, 14, 15, 15, 8, 22, 15, 8, 15, 15, 15, 0, 15, 15, 7, 21, 15, 8, 0, 15, 15, 15, 15, 0, 0, 15, 15, 21, 15, 8, 0, 22, 15, 22, 15, 15, 8, 8, 15, 15, 14, 14, 10, 0, 16, 15, 24, 17, 15, 17, 14, 15, 0, 15, 14, 15, 15, 10, 15, 17, 10, 17, 15, 15, 0, 15, 15, 7, 16, 8, 10, 0, 15, 8, 15, 15, 0, 2, 15, 17, 16, 17, 13, 0, 17, 17, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 0, 14, 16, 15, 16, 15, 15, 14, 15, 15, 0, 14, 16, 16, 8, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 0, 14, 16, 15, 16, 15, 15, 14, 15, 15, 16, 14, 0, 16, 8, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 15, 16, 16, 8, 8, 16, 17, 14, 15, 8, 0, 14, 16, 15, 17, 16, 16, 14, 15, 15, 16, 14, 16, 0, 9, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 15, 8, 9, 8, 8, 16, 9, 14, 8, 10, 0, 9, 8, 10, 9, 16, 11, 7, 8, 10, 8, 7, 8, 9, 0, 8, 17, 8, 10, 15, 8, 0, 15, 15, 7, 14, 8, 10, 0, 8, 1, 8, 8, 0, 0, 15, 8, 16, 15, 15, 0, 10, 10, 15, 15, 15, 16, 16, 22, 15, 21, 21, 15, 0, 14, 15, 22, 15, 16, 15, 14, 22, 15, 15, 14, 15, 15, 8, 0, 15, 8, 15, 15, 15, 0, 15, 15, 7, 21, 15, 8, 0, 15, 15, 15, 15, 0, 0, 15, 15, 21, 15, 8, 0, 23, 15, 22, 16, 15, 8, 8, 22, 16, 21, 14, 10, 0, 16, 16, 17, 16, 22, 17, 14, 15, 17, 16, 14, 16, 16, 17, 15, 0, 8, 17, 22, 15, 0, 22, 22, 7, 21, 8, 10, 0, 15, 8, 15, 15, 0, 0, 22, 16, 23, 22, 15, 0, 17, 17, 10, 8, 8, 8, 8, 8, 8, 7, 7, 8, 0, 7, 8, 10, 10, 8, 8, 7, 8, 10, 8, 7, 8, 8, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 7, 9, 8, 8, 0, 8, 1, 8, 8, 0, 2, 8, 10, 7, 10, 10, 0, 8, 8, 15, 15, 16, 9, 8, 15, 15, 15, 15, 11, 0, 16, 15, 18, 15, 15, 18, 15, 15, 17, 15, 14, 15, 15, 10, 15, 17, 8, 0, 16, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 9, 0, 18, 17, 22, 15, 16, 9, 8, 22, 15, 22, 15, 9, 0, 14, 15, 16, 15, 22, 16, 15, 15, 15, 15, 14, 15, 15, 15, 15, 22, 8, 16, 0, 15, 0, 22, 22, 7, 21, 8, 8, 0, 15, 8, 15, 15, 0, 0, 22, 15, 21, 22, 16, 0, 16, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 0, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 0, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 15, 15, 8, 8, 22, 15, 21, 14, 8, 0, 14, 15, 15, 15, 22, 15, 14, 15, 15, 15, 14, 15, 15, 15, 15, 22, 8, 15, 22, 15, 0, 0, 22, 7, 21, 8, 8, 0, 15, 8, 15, 15, 0, 0, 22, 15, 21, 22, 15, 0, 15, 15, 22, 15, 15, 8, 8, 22, 15, 21, 14, 8, 0, 14, 15, 15, 15, 22, 15, 14, 15, 15, 15, 14, 15, 15, 15, 15, 22, 8, 15, 22, 15, 0, 22, 0, 7, 21, 8, 8, 0, 15, 8, 15, 15, 0, 0, 22, 15, 21, 22, 15, 0, 15, 15, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 23, 14, 14, 14, 14, 28, 14, 28, 21, 14, 0, 14, 14, 23, 16, 21, 14, 14, 21, 16, 14, 14, 14, 14, 14, 21, 21, 9, 14, 21, 14, 0, 21, 21, 7, 0, 14, 7, 0, 14, 14, 14, 14, 0, 2, 21, 16, 28, 23, 16, 0, 21, 14, 8, 8, 8, 15, 15, 15, 8, 14, 14, 15, 0, 7, 8, 15, 8, 8, 8, 7, 15, 8, 8, 7, 8, 8, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 0, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 15, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 10, 0, 9, 8, 10, 8, 8, 10, 7, 8, 10, 8, 7, 8, 8, 10, 8, 10, 8, 10, 8, 8, 0, 8, 8, 7, 7, 8, 0, 0, 8, 1, 8, 8, 0, 0, 8, 8, 9, 8, 8, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 0, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 0, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 8, 8, 8, 8, 8, 15, 8, 14, 14, 8, 0, 7, 8, 15, 8, 8, 8, 7, 15, 8, 8, 7, 8, 8, 1, 15, 8, 1, 8, 8, 8, 0, 8, 8, 0, 14, 8, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 14, 8, 1, 0, 15, 8, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 0, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 0, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 0, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 0, 1, 0, 23, 16, 15, 8, 8, 22, 15, 21, 14, 9, 0, 14, 15, 16, 15, 22, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 22, 8, 15, 22, 15, 0, 22, 22, 7, 21, 8, 8, 0, 15, 8, 15, 15, 0, 0, 0, 15, 21, 22, 16, 0, 15, 15, 17, 16, 15, 8, 8, 15, 16, 14, 14, 8, 0, 14, 16, 17, 18, 15, 15, 14, 15, 17, 16, 14, 16, 16, 8, 15, 16, 10, 15, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 15, 8, 15, 15, 0, 2, 15, 0, 14, 17, 10, 0, 15, 15, 21, 14, 14, 14, 14, 28, 14, 28, 21, 16, 0, 16, 14, 23, 14, 21, 16, 14, 21, 16, 14, 14, 14, 14, 16, 21, 23, 7, 16, 21, 14, 0, 21, 21, 7, 28, 14, 9, 0, 14, 14, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 23, 16, 24, 15, 15, 8, 8, 22, 15, 21, 14, 8, 0, 14, 15, 17, 17, 22, 15, 14, 15, 17, 15, 14, 15, 15, 15, 15, 22, 10, 15, 22, 15, 0, 22, 22, 7, 23, 8, 8, 0, 15, 8, 15, 15, 0, 2, 22, 17, 21, 0, 17, 0, 15, 15, 21, 9, 9, 9, 8, 15, 8, 15, 8, 10, 0, 7, 8, 15, 10, 15, 9, 9, 8, 13, 8, 7, 8, 8, 15, 8, 15, 10, 9, 16, 8, 0, 15, 15, 7, 16, 8, 8, 0, 8, 1, 8, 8, 0, 2, 16, 10, 14, 17, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 16, 17, 16, 22, 15, 22, 22, 18, 0, 16, 15, 25, 15, 16, 18, 15, 22, 17, 15, 14, 15, 15, 10, 23, 17, 8, 18, 16, 15, 0, 15, 15, 7, 21, 15, 10, 0, 15, 15, 15, 15, 0, 1, 15, 15, 23, 15, 9, 0, 0, 17, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 0, 16, 15, 17, 15, 15, 17, 14, 15, 17, 15, 14, 15, 15, 10, 15, 17, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 17, 0, 0, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 14, 0, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 14, 14, 0, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 0, 7, 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, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 9, 7, 7, 7, 7, 0, 7, 7, 7, 9, 7, 9, 7, 7, 7, 7, 9, 7, 7, 7, 9, 7, 7, 7, 9, 0, 9, 9, 7, 7, 7, 7, 0, 7, 2, 7, 9, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 14, 14, 14, 7, 7, 0, 15, 14, 14, 8, 14, 0, 14, 15, 15, 14, 15, 14, 14, 14, 14, 14, 15, 15, 8, 14, 14, 7, 15, 14, 14, 0, 15, 15, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 14, 14, 14, 7, 9, 15, 0, 14, 14, 8, 14, 0, 14, 15, 15, 16, 15, 16, 14, 14, 21, 14, 17, 15, 8, 14, 16, 7, 15, 14, 23, 0, 17, 17, 7, 14, 7, 7, 0, 14, 9, 14, 23, 0, 7, 14, 14, 14, 14, 7, 0, 14, 15, 14, 14, 14, 7, 7, 14, 14, 0, 15, 7, 14, 0, 14, 14, 14, 14, 14, 15, 14, 14, 14, 15, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 8, 15, 7, 7, 0, 14, 7, 14, 14, 0, 1, 14, 14, 16, 14, 7, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 15, 0, 7, 14, 0, 14, 14, 14, 14, 14, 15, 14, 14, 14, 16, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 8, 15, 7, 7, 0, 14, 7, 14, 14, 0, 1, 14, 14, 16, 14, 7, 0, 14, 14, 7, 7, 7, 7, 7, 8, 8, 7, 7, 0, 9, 0, 7, 10, 8, 7, 10, 7, 7, 9, 7, 7, 8, 8, 10, 7, 9, 7, 10, 7, 7, 0, 8, 8, 7, 7, 7, 9, 0, 7, 0, 7, 7, 0, 0, 7, 7, 9, 7, 7, 0, 9, 10, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 0, 0, 14, 16, 14, 14, 16, 14, 14, 16, 14, 14, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 14, 14, 14, 7, 7, 15, 15, 14, 14, 10, 16, 0, 14, 0, 15, 14, 17, 14, 14, 16, 14, 14, 15, 15, 10, 14, 16, 7, 17, 14, 14, 0, 15, 15, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 17, 14, 14, 14, 7, 7, 15, 15, 14, 14, 8, 14, 0, 14, 15, 0, 14, 15, 14, 14, 14, 14, 14, 15, 15, 8, 14, 14, 7, 15, 14, 14, 0, 15, 15, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 14, 14, 14, 7, 9, 14, 16, 14, 14, 7, 14, 0, 14, 14, 14, 0, 14, 16, 14, 14, 14, 14, 16, 14, 7, 14, 16, 7, 14, 14, 16, 0, 16, 16, 7, 14, 7, 7, 0, 14, 9, 14, 16, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 14, 14, 14, 7, 7, 15, 15, 14, 14, 10, 16, 0, 14, 17, 15, 14, 0, 14, 14, 16, 14, 14, 15, 15, 10, 14, 16, 7, 17, 14, 14, 0, 15, 15, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 17, 14, 14, 14, 7, 9, 14, 16, 15, 15, 7, 14, 0, 14, 14, 14, 16, 14, 0, 14, 14, 14, 15, 16, 14, 7, 14, 16, 7, 14, 14, 16, 0, 16, 16, 8, 15, 7, 7, 0, 14, 9, 14, 16, 0, 1, 14, 14, 15, 14, 7, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 16, 0, 14, 16, 14, 14, 16, 14, 14, 0, 14, 14, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 16, 14, 14, 14, 7, 7, 14, 21, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 7, 14, 14, 7, 14, 14, 21, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 21, 0, 7, 14, 14, 14, 14, 7, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 15, 16, 7, 14, 0, 14, 14, 14, 14, 14, 15, 14, 14, 14, 0, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 8, 15, 7, 7, 0, 14, 7, 14, 14, 0, 1, 14, 14, 16, 14, 7, 0, 14, 14, 14, 14, 14, 7, 9, 15, 17, 14, 14, 8, 14, 0, 14, 15, 15, 16, 15, 16, 14, 14, 14, 14, 0, 15, 8, 14, 16, 7, 15, 14, 16, 0, 17, 17, 7, 14, 7, 7, 0, 14, 9, 14, 16, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 14, 14, 14, 7, 7, 15, 15, 14, 14, 8, 14, 0, 14, 15, 15, 14, 15, 14, 14, 14, 14, 14, 15, 0, 8, 14, 14, 7, 15, 14, 14, 0, 15, 15, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 7, 7, 7, 7, 7, 8, 8, 7, 7, 10, 9, 0, 7, 10, 8, 7, 10, 7, 7, 9, 7, 7, 8, 8, 0, 7, 9, 7, 10, 7, 7, 0, 8, 8, 7, 7, 7, 9, 0, 7, 0, 7, 7, 0, 0, 7, 7, 9, 7, 7, 0, 9, 10, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 0, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 14, 14, 14, 7, 9, 14, 16, 14, 14, 9, 16, 0, 14, 16, 14, 16, 16, 16, 14, 16, 14, 14, 16, 14, 9, 14, 0, 7, 16, 14, 16, 0, 16, 16, 7, 14, 7, 9, 0, 14, 9, 14, 16, 0, 0, 14, 14, 16, 14, 7, 0, 16, 16, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 14, 14, 14, 7, 7, 15, 15, 14, 14, 10, 16, 0, 14, 17, 15, 14, 17, 14, 14, 16, 14, 14, 15, 15, 10, 14, 16, 7, 0, 14, 14, 0, 15, 15, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 17, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 0, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 14, 14, 14, 7, 9, 14, 23, 14, 14, 7, 14, 0, 14, 14, 14, 16, 14, 16, 14, 14, 21, 14, 16, 14, 7, 14, 16, 7, 14, 14, 0, 0, 16, 16, 7, 14, 7, 7, 0, 14, 9, 14, 23, 0, 7, 14, 14, 14, 14, 7, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 7, 9, 15, 17, 14, 14, 8, 14, 0, 14, 15, 15, 16, 15, 16, 14, 14, 14, 14, 17, 15, 8, 14, 16, 7, 15, 14, 16, 0, 0, 17, 7, 14, 7, 7, 0, 14, 9, 14, 16, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 14, 14, 14, 7, 9, 15, 17, 14, 14, 8, 14, 0, 14, 15, 15, 16, 15, 16, 14, 14, 14, 14, 17, 15, 8, 14, 16, 7, 15, 14, 16, 0, 17, 0, 7, 14, 7, 7, 0, 14, 9, 14, 16, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 7, 7, 7, 7, 7, 7, 7, 8, 8, 7, 7, 0, 7, 7, 7, 7, 7, 8, 7, 7, 7, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 0, 8, 7, 7, 0, 7, 0, 7, 7, 0, 1, 7, 7, 8, 7, 7, 0, 7, 7, 14, 14, 14, 7, 7, 14, 14, 15, 15, 7, 14, 0, 14, 14, 14, 14, 14, 15, 14, 14, 14, 15, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 8, 0, 7, 7, 0, 14, 7, 14, 14, 0, 1, 14, 14, 15, 14, 7, 0, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 0, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 0, 7, 9, 7, 7, 9, 7, 7, 9, 7, 7, 7, 7, 9, 7, 9, 7, 9, 7, 7, 0, 7, 7, 7, 7, 7, 0, 0, 7, 0, 7, 7, 0, 0, 7, 7, 9, 7, 7, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 0, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 7, 7, 7, 0, 2, 7, 9, 7, 7, 0, 7, 0, 7, 7, 7, 9, 7, 9, 7, 7, 7, 7, 9, 7, 0, 7, 9, 0, 7, 7, 9, 0, 9, 9, 0, 7, 0, 0, 0, 7, 0, 7, 9, 0, 0, 7, 7, 7, 7, 0, 0, 7, 7, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 0, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 14, 14, 14, 7, 9, 14, 23, 14, 14, 7, 14, 0, 14, 14, 14, 16, 14, 16, 14, 14, 21, 14, 16, 14, 7, 14, 16, 7, 14, 14, 23, 0, 16, 16, 7, 14, 7, 7, 0, 14, 9, 14, 0, 0, 7, 14, 14, 14, 14, 7, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 0, 14, 14, 14, 7, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 0, 14, 14, 7, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 16, 16, 9, 16, 0, 14, 16, 14, 14, 16, 15, 14, 16, 14, 16, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 8, 15, 7, 9, 0, 14, 7, 14, 14, 0, 1, 14, 14, 0, 14, 7, 0, 16, 16, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 0, 7, 0, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 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, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 16, 0, 14, 16, 14, 14, 16, 14, 14, 16, 14, 14, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 0, 16, 14, 14, 14, 7, 7, 15, 15, 14, 14, 10, 16, 0, 14, 17, 15, 14, 17, 14, 14, 16, 14, 14, 15, 15, 10, 14, 16, 7, 17, 14, 14, 0, 15, 15, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 0, 0, 18, 17, 8, 10, 18, 26, 16, 16, 8, 15, 14, 0, 15, 25, 24, 23, 16, 17, 22, 25, 16, 25, 26, 16, 17, 16, 10, 23, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 26, 10, 17, 17, 0, 3, 18, 17, 14, 25, 10, 0, 15, 16, 18, 0, 17, 8, 10, 18, 19, 16, 16, 8, 16, 14, 0, 15, 18, 17, 15, 16, 17, 15, 18, 16, 18, 19, 8, 17, 17, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 18, 14, 18, 10, 0, 15, 16, 17, 17, 0, 8, 18, 17, 17, 21, 27, 15, 15, 14, 0, 22, 24, 17, 22, 24, 26, 16, 17, 23, 24, 17, 8, 18, 17, 17, 23, 18, 17, 0, 17, 17, 18, 16, 18, 17, 0, 24, 11, 24, 17, 0, 2, 17, 24, 14, 19, 11, 0, 22, 22, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 0, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 18, 8, 0, 10, 10, 10, 16, 15, 8, 7, 0, 15, 17, 10, 15, 17, 17, 9, 10, 16, 17, 10, 8, 11, 9, 17, 15, 11, 10, 0, 10, 10, 16, 9, 18, 16, 0, 17, 4, 17, 10, 0, 2, 10, 17, 7, 11, 11, 0, 15, 15, 18, 18, 17, 8, 10, 0, 18, 16, 16, 8, 15, 14, 0, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 16, 26, 19, 17, 8, 10, 18, 0, 16, 16, 8, 16, 14, 0, 15, 26, 25, 24, 16, 17, 23, 26, 16, 27, 28, 17, 17, 17, 10, 24, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 27, 10, 17, 17, 0, 3, 19, 18, 14, 25, 10, 0, 15, 16, 16, 16, 21, 7, 10, 16, 16, 0, 20, 7, 14, 14, 0, 14, 16, 16, 14, 17, 18, 15, 16, 16, 16, 16, 7, 17, 15, 9, 14, 17, 16, 0, 16, 16, 11, 16, 10, 8, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 17, 10, 0, 14, 14, 16, 16, 27, 7, 16, 16, 16, 20, 0, 14, 14, 14, 0, 21, 23, 16, 21, 23, 25, 14, 16, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 18, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 8, 8, 15, 8, 15, 8, 8, 7, 14, 0, 8, 7, 0, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 0, 14, 0, 15, 16, 15, 15, 14, 15, 15, 16, 14, 16, 16, 8, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 0, 0, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 25, 18, 24, 8, 17, 17, 26, 16, 23, 15, 16, 14, 0, 22, 0, 24, 30, 23, 24, 22, 26, 23, 33, 26, 16, 17, 16, 17, 30, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 32, 10, 24, 17, 0, 2, 17, 25, 14, 24, 10, 0, 22, 22, 24, 17, 17, 8, 10, 17, 25, 16, 16, 8, 15, 14, 0, 15, 24, 0, 23, 16, 17, 23, 24, 16, 25, 25, 16, 17, 15, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 23, 15, 22, 8, 15, 15, 24, 14, 21, 15, 15, 14, 0, 22, 30, 23, 0, 21, 22, 23, 23, 21, 31, 24, 17, 15, 15, 15, 31, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 31, 8, 22, 15, 0, 0, 16, 22, 14, 22, 8, 0, 22, 22, 16, 16, 24, 7, 17, 16, 16, 17, 23, 14, 14, 14, 0, 21, 23, 16, 21, 0, 23, 15, 16, 23, 23, 16, 7, 17, 15, 16, 21, 17, 16, 0, 16, 16, 16, 16, 17, 15, 0, 23, 10, 23, 16, 0, 2, 16, 23, 14, 17, 10, 0, 21, 21, 17, 17, 26, 8, 17, 17, 17, 18, 25, 15, 15, 14, 0, 22, 24, 17, 22, 23, 0, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 18, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 22, 15, 16, 8, 9, 15, 23, 15, 14, 8, 15, 14, 0, 15, 22, 23, 23, 15, 15, 0, 22, 14, 23, 23, 16, 16, 16, 8, 23, 16, 15, 0, 15, 15, 7, 14, 9, 9, 0, 23, 9, 15, 15, 0, 0, 16, 15, 14, 23, 9, 0, 15, 15, 25, 18, 17, 8, 10, 17, 26, 16, 16, 8, 16, 14, 0, 15, 26, 24, 23, 16, 17, 22, 0, 16, 26, 26, 16, 17, 16, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 17, 18, 14, 24, 10, 0, 15, 15, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 0, 21, 23, 16, 21, 23, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 11, 0, 21, 21, 25, 18, 24, 8, 17, 17, 27, 16, 23, 15, 16, 14, 0, 22, 33, 25, 31, 23, 24, 23, 26, 23, 0, 27, 17, 17, 16, 17, 31, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 33, 10, 24, 17, 0, 2, 18, 25, 14, 24, 10, 0, 22, 22, 26, 19, 17, 8, 10, 18, 28, 16, 16, 8, 16, 14, 0, 15, 26, 25, 24, 16, 17, 23, 26, 16, 27, 0, 17, 17, 17, 10, 24, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 27, 10, 17, 17, 0, 3, 19, 18, 14, 25, 10, 0, 15, 16, 16, 8, 8, 8, 8, 8, 17, 7, 7, 8, 8, 7, 0, 8, 16, 16, 17, 7, 8, 16, 16, 7, 17, 17, 0, 8, 8, 8, 17, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 17, 1, 8, 8, 0, 0, 9, 8, 7, 15, 8, 0, 8, 8, 17, 17, 18, 8, 11, 17, 17, 17, 16, 8, 15, 14, 0, 15, 17, 17, 15, 17, 17, 16, 17, 16, 17, 17, 8, 0, 16, 10, 15, 18, 17, 0, 17, 17, 9, 16, 11, 9, 0, 17, 11, 17, 17, 0, 2, 17, 17, 14, 18, 11, 0, 15, 15, 16, 17, 17, 8, 9, 16, 17, 15, 14, 8, 16, 14, 0, 15, 16, 15, 15, 15, 15, 16, 16, 14, 16, 17, 8, 16, 0, 8, 16, 16, 15, 0, 16, 15, 7, 14, 9, 11, 0, 16, 9, 15, 15, 0, 1, 16, 16, 16, 18, 9, 0, 15, 18, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 0, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 23, 15, 23, 8, 15, 15, 24, 14, 21, 15, 15, 14, 0, 22, 30, 23, 31, 21, 22, 23, 23, 21, 31, 24, 17, 15, 16, 15, 0, 15, 15, 0, 15, 15, 14, 14, 15, 16, 0, 31, 8, 22, 15, 0, 0, 16, 22, 14, 23, 8, 0, 22, 22, 17, 17, 18, 8, 11, 17, 17, 17, 16, 8, 15, 14, 0, 15, 17, 17, 15, 17, 17, 16, 17, 16, 17, 17, 8, 18, 16, 10, 15, 0, 17, 0, 17, 17, 9, 16, 11, 9, 0, 17, 11, 17, 17, 0, 2, 17, 17, 14, 18, 11, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 0, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 17, 8, 10, 18, 18, 16, 16, 8, 15, 14, 0, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 16, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 0, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 9, 9, 18, 7, 16, 9, 9, 11, 18, 14, 7, 7, 0, 14, 16, 9, 14, 16, 18, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 0, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 10, 10, 18, 8, 18, 10, 10, 10, 16, 15, 8, 7, 0, 15, 17, 10, 15, 17, 17, 9, 10, 16, 17, 10, 8, 11, 9, 17, 15, 11, 10, 0, 10, 10, 16, 9, 0, 16, 0, 17, 4, 17, 10, 0, 2, 10, 17, 7, 11, 11, 0, 15, 15, 9, 9, 17, 8, 16, 9, 9, 8, 14, 15, 8, 7, 0, 15, 15, 8, 15, 15, 15, 9, 8, 14, 15, 9, 8, 9, 11, 15, 16, 9, 8, 0, 9, 8, 14, 7, 16, 0, 0, 16, 2, 15, 8, 0, 1, 9, 15, 7, 11, 9, 0, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 18, 24, 8, 17, 18, 27, 16, 23, 15, 15, 14, 0, 22, 32, 25, 31, 23, 24, 23, 25, 23, 33, 27, 17, 17, 16, 17, 31, 17, 17, 0, 18, 17, 16, 16, 17, 16, 0, 0, 10, 24, 17, 0, 3, 19, 24, 14, 25, 10, 0, 22, 23, 10, 10, 11, 1, 4, 10, 10, 10, 9, 1, 8, 7, 0, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 1, 11, 9, 3, 8, 11, 10, 0, 10, 10, 2, 9, 4, 2, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 11, 4, 0, 8, 8, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 0, 22, 24, 17, 22, 23, 24, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 0, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 18, 18, 17, 8, 10, 18, 19, 16, 16, 8, 15, 14, 0, 15, 17, 18, 16, 16, 17, 16, 17, 16, 18, 19, 9, 17, 16, 10, 16, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 19, 10, 17, 17, 0, 3, 0, 17, 14, 18, 10, 0, 15, 16, 17, 18, 24, 8, 17, 17, 18, 16, 23, 15, 16, 14, 0, 22, 25, 17, 22, 23, 24, 15, 18, 23, 25, 18, 8, 17, 16, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 0, 14, 17, 10, 0, 22, 22, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 16, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 16, 25, 18, 19, 8, 11, 18, 25, 17, 16, 8, 15, 14, 0, 15, 24, 24, 22, 17, 17, 23, 24, 16, 24, 25, 15, 18, 18, 10, 23, 18, 17, 0, 18, 17, 9, 16, 11, 11, 0, 25, 11, 17, 17, 0, 3, 18, 17, 14, 0, 11, 0, 15, 16, 10, 10, 11, 8, 11, 10, 10, 10, 9, 8, 8, 7, 0, 8, 10, 10, 8, 10, 10, 9, 10, 11, 10, 10, 8, 11, 9, 10, 8, 11, 10, 0, 10, 10, 9, 9, 11, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 11, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 0, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 0, 22, 16, 16, 22, 8, 15, 16, 16, 14, 21, 15, 15, 14, 0, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 16, 8, 15, 18, 15, 22, 15, 15, 0, 16, 15, 14, 14, 15, 16, 0, 23, 8, 22, 15, 0, 1, 16, 22, 16, 16, 8, 0, 22, 0, 0, 16, 16, 8, 8, 15, 15, 15, 14, 9, 23, 14, 15, 0, 18, 15, 16, 15, 15, 22, 15, 14, 15, 15, 8, 15, 15, 10, 15, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 15, 8, 15, 15, 0, 2, 16, 17, 14, 17, 14, 0, 15, 15, 16, 0, 15, 8, 8, 15, 15, 14, 14, 9, 16, 14, 15, 0, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 16, 15, 14, 15, 9, 0, 15, 15, 16, 15, 0, 9, 15, 15, 15, 16, 22, 16, 16, 14, 22, 0, 23, 15, 24, 22, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 23, 16, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 9, 0, 23, 22, 8, 8, 9, 0, 15, 15, 8, 15, 15, 16, 16, 7, 8, 0, 8, 8, 9, 8, 15, 8, 8, 7, 8, 8, 8, 15, 8, 8, 9, 9, 8, 0, 8, 8, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 9, 0, 16, 8, 8, 8, 15, 15, 0, 15, 8, 14, 21, 22, 15, 7, 15, 0, 15, 8, 15, 14, 22, 8, 8, 14, 15, 8, 8, 15, 8, 15, 15, 8, 8, 0, 8, 8, 14, 14, 22, 15, 0, 15, 8, 15, 8, 0, 0, 8, 15, 14, 8, 8, 0, 22, 15, 15, 15, 15, 15, 15, 0, 16, 21, 21, 16, 22, 15, 15, 0, 16, 15, 16, 14, 22, 15, 15, 14, 16, 16, 9, 22, 15, 8, 16, 15, 15, 0, 16, 16, 7, 21, 15, 8, 0, 15, 15, 15, 15, 0, 0, 15, 15, 21, 15, 8, 0, 22, 16, 15, 15, 15, 8, 8, 16, 0, 14, 14, 9, 15, 15, 15, 0, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 15, 14, 16, 15, 14, 21, 14, 0, 22, 15, 22, 14, 14, 0, 15, 14, 16, 15, 21, 14, 14, 14, 14, 14, 7, 21, 14, 7, 15, 15, 14, 0, 14, 14, 7, 21, 14, 7, 0, 14, 14, 14, 14, 0, 0, 14, 14, 21, 14, 8, 0, 22, 14, 14, 14, 22, 15, 21, 21, 14, 22, 0, 22, 22, 14, 21, 0, 21, 14, 22, 22, 28, 14, 14, 21, 21, 14, 7, 21, 14, 14, 22, 15, 14, 0, 14, 14, 14, 21, 21, 14, 0, 21, 14, 21, 14, 0, 0, 14, 21, 21, 14, 8, 0, 29, 21, 9, 9, 16, 16, 22, 16, 9, 15, 22, 0, 19, 10, 15, 0, 16, 8, 19, 16, 22, 10, 8, 14, 16, 9, 11, 15, 10, 15, 19, 9, 8, 0, 9, 9, 14, 14, 22, 17, 0, 15, 8, 15, 8, 0, 0, 9, 15, 16, 8, 10, 0, 25, 18, 23, 16, 16, 16, 15, 22, 15, 22, 22, 19, 0, 16, 15, 0, 17, 15, 18, 16, 22, 24, 15, 14, 15, 15, 10, 22, 17, 10, 18, 16, 15, 0, 15, 15, 7, 23, 15, 10, 0, 15, 15, 15, 15, 0, 2, 16, 17, 23, 17, 15, 0, 25, 17, 14, 14, 14, 7, 7, 15, 15, 14, 14, 10, 16, 0, 14, 0, 15, 14, 17, 14, 14, 16, 14, 14, 15, 15, 10, 14, 16, 7, 17, 14, 14, 0, 15, 15, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 17, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 0, 0, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 15, 23, 8, 15, 16, 16, 15, 21, 16, 17, 15, 22, 0, 0, 15, 24, 21, 22, 17, 15, 21, 23, 16, 9, 15, 15, 17, 23, 15, 15, 0, 16, 16, 14, 16, 15, 15, 0, 22, 8, 22, 15, 0, 2, 15, 24, 14, 17, 10, 0, 22, 23, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 0, 15, 0, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 16, 15, 24, 9, 15, 16, 16, 16, 22, 19, 18, 17, 22, 0, 24, 15, 0, 22, 22, 17, 15, 21, 23, 16, 11, 15, 17, 15, 26, 16, 15, 0, 16, 16, 14, 14, 15, 17, 0, 22, 8, 22, 15, 0, 0, 15, 22, 16, 15, 9, 0, 25, 25, 15, 15, 22, 8, 14, 14, 14, 15, 22, 16, 16, 14, 21, 0, 21, 14, 22, 0, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 22, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 15, 21, 14, 14, 9, 0, 22, 21, 15, 15, 22, 15, 22, 22, 15, 21, 28, 22, 22, 14, 22, 0, 22, 15, 22, 21, 0, 15, 15, 21, 22, 15, 8, 22, 15, 15, 22, 15, 15, 0, 15, 15, 14, 21, 22, 15, 0, 22, 15, 22, 15, 0, 0, 15, 22, 21, 15, 8, 0, 29, 22, 22, 15, 15, 8, 8, 15, 15, 14, 14, 10, 24, 16, 15, 0, 17, 15, 17, 14, 15, 0, 15, 14, 15, 15, 10, 15, 17, 10, 17, 15, 15, 0, 15, 15, 7, 16, 8, 10, 0, 15, 8, 15, 15, 0, 2, 15, 17, 16, 17, 13, 0, 17, 17, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 0, 15, 15, 15, 14, 15, 15, 0, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 14, 14, 21, 7, 14, 14, 14, 14, 21, 14, 14, 14, 21, 0, 21, 14, 21, 21, 21, 14, 14, 0, 21, 14, 7, 14, 14, 14, 21, 14, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 7, 0, 21, 21, 15, 15, 22, 8, 15, 16, 16, 14, 21, 16, 15, 15, 22, 0, 23, 15, 23, 21, 22, 15, 15, 21, 0, 16, 9, 15, 15, 15, 23, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 23, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 0, 16, 15, 16, 14, 15, 15, 15, 14, 16, 0, 9, 15, 15, 8, 16, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 8, 8, 8, 8, 8, 9, 9, 7, 7, 11, 10, 10, 8, 0, 9, 8, 11, 7, 8, 10, 8, 7, 9, 9, 0, 8, 10, 8, 11, 8, 8, 0, 9, 9, 7, 7, 8, 10, 0, 8, 1, 8, 8, 0, 0, 8, 8, 9, 8, 8, 0, 10, 11, 15, 15, 15, 15, 15, 22, 15, 21, 21, 15, 22, 14, 15, 0, 15, 15, 15, 14, 22, 15, 15, 14, 15, 15, 8, 0, 15, 8, 15, 15, 15, 0, 15, 15, 7, 21, 15, 8, 0, 15, 15, 15, 15, 0, 0, 15, 15, 21, 15, 8, 0, 22, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 17, 16, 15, 0, 15, 15, 17, 14, 15, 17, 15, 14, 15, 15, 10, 15, 0, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 17, 17, 10, 8, 15, 8, 15, 8, 8, 7, 14, 15, 10, 7, 15, 0, 17, 8, 15, 14, 15, 10, 8, 14, 15, 8, 8, 8, 8, 0, 15, 8, 8, 0, 8, 8, 14, 9, 15, 15, 0, 15, 1, 15, 8, 0, 2, 8, 17, 7, 10, 10, 0, 15, 15, 15, 15, 23, 9, 15, 16, 16, 15, 22, 19, 18, 17, 22, 0, 23, 15, 26, 22, 22, 17, 15, 21, 23, 16, 11, 15, 17, 15, 0, 16, 15, 0, 16, 16, 14, 14, 15, 17, 0, 22, 8, 22, 15, 0, 0, 15, 22, 16, 15, 9, 0, 25, 25, 15, 15, 16, 9, 8, 15, 15, 15, 15, 9, 16, 14, 15, 0, 15, 15, 16, 15, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 16, 0, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 9, 0, 16, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 0, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 0, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 0, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 0, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 0, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 16, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 7, 7, 14, 7, 14, 7, 7, 7, 14, 14, 7, 7, 14, 0, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 14, 7, 7, 0, 7, 7, 0, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 7, 14, 7, 7, 7, 0, 14, 14, 16, 14, 14, 14, 14, 21, 14, 21, 21, 14, 23, 14, 14, 0, 16, 14, 14, 14, 21, 16, 14, 14, 14, 14, 7, 21, 14, 9, 14, 14, 14, 0, 14, 14, 7, 0, 14, 7, 0, 14, 14, 14, 14, 0, 2, 14, 16, 21, 16, 9, 0, 21, 14, 8, 8, 15, 15, 22, 15, 8, 14, 21, 22, 15, 7, 15, 0, 15, 8, 15, 14, 22, 8, 8, 14, 15, 8, 8, 15, 8, 15, 15, 8, 8, 0, 8, 8, 14, 14, 0, 15, 0, 15, 8, 15, 8, 0, 0, 8, 15, 14, 8, 8, 0, 22, 15, 8, 8, 15, 8, 15, 8, 8, 7, 14, 17, 10, 9, 15, 0, 15, 8, 17, 14, 15, 10, 8, 14, 15, 8, 10, 8, 10, 15, 17, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 15, 9, 8, 8, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 0, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 0, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 8, 8, 8, 8, 8, 15, 8, 14, 14, 8, 15, 7, 8, 0, 8, 8, 8, 7, 15, 8, 8, 7, 8, 8, 1, 15, 8, 1, 8, 8, 8, 0, 8, 8, 0, 14, 8, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 14, 8, 1, 0, 15, 8, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 0, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 0, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 0, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0, 16, 16, 15, 8, 8, 15, 15, 14, 14, 9, 16, 14, 15, 0, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 0, 15, 14, 15, 9, 0, 15, 15, 17, 15, 22, 8, 15, 15, 15, 14, 21, 15, 17, 14, 22, 0, 24, 15, 22, 21, 22, 17, 15, 21, 22, 15, 8, 15, 15, 17, 22, 15, 15, 0, 15, 15, 14, 16, 15, 15, 0, 22, 8, 22, 15, 0, 2, 15, 0, 14, 17, 10, 0, 22, 22, 14, 14, 14, 14, 14, 21, 14, 21, 21, 16, 23, 16, 14, 0, 14, 14, 16, 14, 21, 16, 14, 14, 14, 14, 9, 21, 16, 7, 16, 14, 14, 0, 14, 14, 7, 21, 14, 9, 0, 14, 14, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 23, 16, 17, 15, 15, 8, 8, 15, 15, 14, 14, 8, 17, 14, 15, 0, 17, 15, 15, 14, 15, 17, 15, 14, 15, 15, 8, 15, 15, 10, 15, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 15, 8, 15, 15, 0, 2, 15, 17, 14, 0, 10, 0, 15, 15, 14, 9, 9, 9, 8, 8, 8, 8, 8, 10, 15, 7, 8, 0, 10, 8, 9, 9, 8, 13, 8, 7, 8, 8, 8, 8, 8, 10, 9, 9, 8, 0, 8, 8, 7, 9, 8, 8, 0, 8, 1, 8, 8, 0, 2, 9, 10, 7, 10, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 23, 16, 22, 22, 15, 22, 29, 25, 25, 16, 22, 0, 22, 15, 25, 22, 29, 17, 15, 21, 22, 15, 10, 22, 17, 15, 25, 16, 15, 0, 15, 15, 14, 21, 22, 17, 0, 22, 15, 22, 15, 0, 0, 15, 22, 23, 15, 9, 0, 0, 24, 15, 15, 22, 8, 15, 16, 16, 14, 21, 18, 17, 17, 22, 0, 23, 15, 25, 21, 22, 17, 15, 21, 23, 16, 11, 15, 17, 15, 25, 15, 15, 0, 16, 16, 14, 14, 15, 17, 0, 22, 8, 22, 15, 0, 0, 15, 22, 16, 15, 8, 0, 24, 0, 0, 17, 18, 8, 10, 17, 25, 18, 16, 8, 17, 14, 25, 18, 0, 24, 24, 17, 18, 24, 26, 16, 25, 25, 16, 17, 15, 12, 23, 17, 17, 0, 17, 18, 9, 18, 10, 8, 0, 26, 10, 18, 17, 0, 4, 17, 19, 14, 26, 12, 0, 15, 15, 17, 0, 17, 8, 10, 17, 18, 16, 16, 8, 16, 14, 18, 15, 0, 17, 15, 16, 17, 15, 18, 16, 18, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 18, 14, 17, 10, 0, 15, 15, 18, 17, 0, 8, 17, 18, 19, 17, 24, 15, 16, 14, 24, 23, 0, 19, 25, 23, 24, 16, 17, 23, 24, 18, 9, 18, 15, 17, 22, 18, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 18, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 0, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 17, 8, 0, 10, 10, 9, 16, 15, 8, 7, 17, 15, 0, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 17, 17, 18, 8, 10, 0, 19, 16, 17, 9, 16, 15, 17, 16, 0, 18, 17, 16, 17, 15, 17, 16, 18, 19, 10, 17, 15, 10, 16, 17, 17, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 25, 18, 19, 8, 10, 19, 0, 16, 17, 9, 17, 15, 26, 16, 0, 26, 26, 16, 17, 23, 26, 16, 27, 28, 18, 18, 16, 10, 24, 18, 17, 0, 18, 18, 9, 16, 10, 8, 0, 25, 10, 17, 18, 0, 2, 17, 18, 14, 24, 10, 0, 15, 16, 18, 16, 17, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 15, 0, 16, 15, 17, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 17, 9, 17, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 24, 7, 16, 17, 17, 16, 0, 14, 15, 14, 23, 21, 0, 17, 22, 23, 23, 14, 16, 23, 23, 17, 8, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 8, 8, 15, 8, 15, 9, 9, 7, 14, 0, 8, 8, 15, 16, 0, 8, 16, 14, 15, 8, 8, 14, 16, 9, 9, 8, 8, 15, 16, 8, 8, 0, 9, 9, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 16, 17, 16, 16, 8, 8, 16, 17, 14, 15, 8, 0, 14, 16, 17, 0, 16, 16, 14, 15, 17, 16, 14, 16, 17, 9, 15, 16, 10, 15, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 15, 8, 15, 15, 0, 2, 15, 18, 14, 17, 10, 0, 15, 15, 14, 14, 14, 7, 7, 15, 15, 14, 14, 8, 14, 0, 14, 15, 0, 14, 15, 14, 14, 14, 14, 14, 15, 15, 8, 14, 14, 7, 15, 14, 14, 0, 15, 15, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 25, 18, 24, 8, 17, 17, 26, 16, 23, 15, 16, 14, 0, 22, 0, 24, 30, 23, 24, 22, 26, 23, 33, 26, 16, 17, 16, 17, 30, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 32, 10, 24, 17, 0, 2, 17, 25, 14, 24, 10, 0, 22, 22, 18, 15, 23, 8, 15, 16, 16, 15, 21, 16, 17, 15, 22, 0, 0, 15, 24, 21, 22, 17, 15, 21, 23, 16, 9, 15, 15, 17, 23, 15, 15, 0, 16, 16, 14, 16, 15, 15, 0, 22, 8, 22, 15, 0, 2, 15, 24, 14, 17, 10, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 17, 19, 8, 10, 18, 26, 16, 17, 8, 16, 14, 24, 15, 0, 0, 24, 16, 17, 23, 24, 16, 24, 25, 16, 18, 15, 10, 22, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 24, 10, 17, 18, 0, 2, 17, 17, 14, 24, 10, 0, 15, 15, 24, 15, 25, 8, 15, 17, 26, 15, 22, 16, 16, 15, 30, 24, 0, 24, 0, 21, 22, 23, 23, 21, 31, 25, 18, 16, 15, 15, 31, 16, 15, 0, 16, 16, 14, 14, 15, 15, 0, 30, 8, 22, 16, 0, 0, 15, 22, 14, 22, 8, 0, 22, 23, 17, 16, 23, 7, 16, 16, 16, 17, 23, 14, 14, 14, 23, 21, 0, 16, 21, 0, 24, 14, 17, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 17, 16, 16, 16, 14, 0, 24, 9, 24, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 18, 17, 24, 8, 17, 17, 17, 17, 23, 15, 15, 14, 24, 22, 0, 17, 22, 24, 0, 15, 18, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 25, 10, 25, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 24, 15, 16, 8, 8, 15, 23, 14, 14, 8, 17, 14, 22, 17, 0, 23, 23, 14, 15, 0, 22, 14, 22, 22, 15, 16, 15, 10, 22, 16, 15, 0, 15, 15, 7, 16, 8, 8, 0, 22, 8, 15, 16, 0, 2, 15, 17, 14, 24, 10, 0, 15, 15, 26, 18, 17, 8, 10, 17, 26, 17, 16, 8, 16, 14, 26, 15, 0, 24, 23, 17, 18, 22, 0, 16, 26, 26, 16, 17, 16, 10, 23, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 26, 10, 18, 17, 0, 2, 17, 18, 14, 24, 10, 0, 15, 15, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 0, 16, 21, 23, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 25, 18, 24, 8, 17, 18, 27, 16, 23, 16, 16, 15, 33, 23, 0, 24, 31, 23, 24, 22, 26, 23, 0, 27, 17, 17, 16, 17, 31, 17, 17, 0, 18, 18, 16, 16, 17, 15, 0, 32, 10, 24, 17, 0, 2, 17, 25, 14, 24, 10, 0, 22, 23, 25, 18, 18, 8, 10, 19, 28, 16, 17, 9, 17, 15, 26, 16, 0, 25, 25, 16, 17, 22, 26, 16, 27, 0, 18, 17, 16, 10, 24, 17, 17, 0, 18, 18, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 17, 18, 14, 24, 10, 0, 15, 16, 16, 8, 9, 8, 8, 10, 18, 7, 8, 9, 9, 8, 16, 9, 0, 16, 18, 7, 8, 15, 16, 7, 17, 18, 0, 8, 8, 8, 17, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 16, 1, 8, 8, 0, 0, 8, 8, 7, 15, 8, 0, 8, 9, 17, 17, 18, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 0, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 0, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 16, 14, 16, 15, 0, 15, 15, 14, 15, 15, 16, 14, 16, 16, 8, 15, 0, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 12, 10, 17, 8, 17, 10, 10, 9, 16, 15, 10, 7, 17, 17, 0, 10, 15, 16, 17, 10, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 11, 17, 15, 0, 17, 3, 17, 10, 0, 4, 10, 19, 7, 12, 12, 0, 15, 15, 23, 15, 22, 8, 15, 16, 24, 14, 21, 16, 15, 15, 30, 23, 0, 22, 31, 21, 22, 22, 23, 21, 31, 24, 17, 15, 15, 15, 0, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 30, 8, 22, 15, 0, 0, 15, 22, 14, 22, 8, 0, 22, 23, 17, 17, 18, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 0, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 18, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 0, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 3, 17, 18, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 18, 18, 16, 16, 9, 15, 15, 17, 16, 0, 17, 16, 16, 17, 15, 17, 16, 18, 18, 9, 17, 15, 10, 16, 17, 17, 0, 0, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 18, 17, 17, 8, 10, 18, 18, 17, 16, 9, 15, 15, 17, 16, 0, 17, 16, 17, 18, 15, 18, 16, 18, 18, 9, 17, 15, 10, 16, 17, 17, 0, 18, 0, 9, 16, 10, 8, 0, 18, 10, 18, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 0, 9, 14, 16, 16, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 18, 16, 16, 7, 9, 16, 16, 16, 16, 7, 16, 14, 16, 16, 0, 16, 14, 16, 16, 16, 16, 16, 16, 16, 7, 16, 14, 11, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 4, 16, 18, 14, 18, 11, 0, 14, 14, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 0, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 0, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 0, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 17, 24, 8, 17, 17, 25, 17, 23, 15, 15, 14, 32, 22, 0, 24, 30, 24, 25, 22, 26, 23, 32, 25, 16, 17, 15, 17, 30, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 0, 10, 25, 17, 0, 2, 17, 24, 14, 24, 10, 0, 22, 22, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 0, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 18, 17, 24, 8, 17, 17, 17, 17, 23, 15, 15, 14, 24, 22, 0, 17, 22, 24, 25, 15, 18, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 25, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 17, 17, 18, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 0, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 18, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 4, 0, 2, 3, 0, 2, 2, 2, 4, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 5, 0, 4, 4, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 0, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 19, 18, 24, 8, 17, 17, 18, 16, 23, 15, 18, 14, 25, 24, 0, 17, 22, 23, 24, 17, 18, 23, 25, 18, 8, 17, 16, 19, 22, 17, 18, 0, 17, 17, 16, 18, 17, 15, 0, 24, 10, 24, 17, 0, 5, 17, 0, 14, 19, 12, 0, 22, 22, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 26, 17, 17, 8, 10, 17, 24, 16, 16, 8, 17, 14, 24, 17, 0, 24, 22, 16, 17, 24, 24, 16, 24, 24, 15, 17, 15, 12, 22, 17, 17, 0, 17, 17, 9, 18, 10, 8, 0, 24, 10, 17, 17, 0, 4, 17, 19, 14, 0, 12, 0, 15, 15, 12, 10, 10, 8, 10, 10, 10, 9, 9, 8, 10, 7, 10, 10, 0, 10, 8, 9, 10, 10, 10, 9, 10, 10, 8, 10, 8, 12, 8, 10, 10, 0, 10, 10, 9, 11, 10, 8, 0, 10, 3, 10, 10, 0, 4, 10, 12, 7, 12, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 0, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 0, 22, 15, 15, 22, 8, 15, 16, 16, 14, 21, 16, 15, 15, 22, 23, 0, 15, 23, 21, 22, 15, 15, 21, 23, 16, 9, 15, 15, 15, 23, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 0, 0, 18, 18, 9, 10, 24, 24, 24, 17, 8, 22, 14, 24, 15, 24, 0, 23, 16, 18, 22, 25, 16, 24, 24, 22, 18, 22, 10, 22, 24, 18, 0, 25, 25, 9, 23, 10, 8, 0, 25, 10, 17, 17, 0, 2, 25, 17, 21, 31, 17, 0, 16, 15, 18, 0, 17, 9, 10, 17, 17, 16, 17, 8, 15, 14, 17, 15, 17, 0, 15, 16, 18, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 18, 17, 14, 17, 10, 0, 15, 15, 18, 17, 0, 8, 10, 18, 19, 17, 17, 8, 16, 14, 17, 15, 19, 0, 18, 16, 17, 16, 17, 16, 17, 18, 9, 19, 15, 10, 15, 18, 18, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 9, 9, 8, 0, 9, 8, 8, 7, 8, 8, 9, 7, 8, 8, 8, 0, 8, 7, 9, 8, 9, 7, 8, 8, 8, 9, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 9, 1, 8, 8, 0, 0, 9, 8, 7, 8, 8, 0, 9, 8, 10, 10, 10, 9, 0, 10, 12, 9, 9, 8, 9, 9, 10, 8, 10, 0, 8, 11, 10, 8, 10, 9, 12, 10, 8, 11, 10, 10, 8, 10, 12, 0, 12, 12, 9, 9, 10, 8, 0, 10, 5, 10, 12, 0, 2, 10, 10, 7, 10, 10, 0, 9, 8, 24, 17, 18, 8, 10, 0, 18, 23, 17, 8, 23, 14, 17, 15, 18, 0, 16, 16, 17, 15, 17, 16, 17, 18, 16, 17, 22, 10, 15, 24, 17, 0, 24, 24, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 24, 17, 19, 8, 12, 18, 0, 16, 17, 8, 16, 16, 25, 15, 26, 0, 25, 18, 17, 24, 24, 16, 27, 26, 17, 18, 17, 10, 23, 18, 19, 0, 19, 19, 9, 16, 10, 8, 0, 25, 12, 17, 20, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 24, 16, 17, 7, 9, 23, 16, 0, 16, 7, 21, 14, 16, 14, 16, 0, 15, 16, 16, 14, 16, 16, 16, 16, 14, 17, 21, 9, 14, 23, 17, 0, 24, 24, 9, 23, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 15, 14, 17, 17, 17, 8, 9, 17, 17, 16, 0, 7, 15, 14, 16, 14, 17, 0, 15, 16, 17, 14, 17, 16, 16, 17, 8, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 17, 9, 16, 16, 0, 2, 17, 16, 14, 16, 9, 0, 14, 14, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 8, 7, 8, 8, 8, 0, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 22, 15, 16, 9, 9, 23, 16, 21, 15, 8, 0, 14, 15, 15, 16, 0, 16, 14, 15, 15, 15, 14, 15, 16, 16, 16, 22, 8, 15, 22, 15, 0, 22, 22, 7, 21, 8, 8, 0, 15, 8, 15, 15, 0, 0, 22, 15, 21, 22, 15, 0, 16, 15, 14, 14, 14, 7, 9, 14, 16, 14, 14, 7, 14, 0, 14, 14, 14, 0, 14, 16, 14, 14, 14, 14, 16, 14, 7, 14, 16, 7, 14, 14, 16, 0, 16, 16, 7, 14, 7, 7, 0, 14, 9, 14, 16, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 24, 17, 17, 8, 10, 17, 25, 16, 16, 8, 15, 14, 0, 15, 24, 0, 23, 16, 17, 23, 24, 16, 25, 25, 16, 17, 15, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 0, 15, 0, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 24, 17, 19, 8, 10, 18, 26, 16, 17, 8, 16, 14, 24, 15, 0, 0, 24, 16, 17, 23, 24, 16, 24, 25, 16, 18, 15, 10, 22, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 24, 10, 17, 18, 0, 2, 17, 17, 14, 24, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 15, 18, 8, 8, 16, 25, 15, 15, 8, 16, 14, 23, 15, 24, 0, 0, 16, 15, 24, 22, 14, 23, 24, 17, 17, 15, 8, 23, 16, 16, 0, 16, 16, 7, 14, 8, 8, 0, 23, 8, 15, 16, 0, 0, 16, 15, 14, 22, 8, 0, 16, 15, 16, 16, 16, 7, 11, 16, 18, 16, 16, 7, 14, 16, 16, 14, 16, 0, 16, 0, 16, 14, 16, 16, 18, 16, 7, 16, 16, 9, 14, 16, 18, 0, 18, 18, 9, 16, 9, 7, 0, 16, 11, 16, 18, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 18, 18, 17, 9, 10, 17, 17, 16, 17, 8, 15, 14, 17, 15, 17, 0, 15, 16, 0, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 18, 17, 14, 17, 10, 0, 15, 15, 22, 15, 16, 8, 8, 15, 24, 14, 14, 8, 15, 14, 23, 15, 23, 0, 24, 14, 15, 0, 22, 14, 23, 23, 16, 16, 15, 8, 23, 16, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 16, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 25, 18, 17, 9, 10, 17, 24, 16, 17, 8, 15, 14, 24, 15, 24, 0, 22, 16, 18, 22, 0, 16, 24, 24, 15, 17, 15, 10, 22, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 0, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 24, 17, 17, 8, 12, 17, 27, 16, 16, 8, 15, 16, 25, 15, 24, 0, 23, 18, 17, 23, 24, 16, 0, 25, 16, 17, 17, 10, 23, 17, 19, 0, 19, 19, 9, 16, 10, 8, 0, 25, 12, 17, 19, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 24, 17, 18, 8, 10, 18, 26, 16, 17, 8, 16, 14, 25, 15, 25, 0, 24, 16, 17, 23, 24, 16, 25, 0, 17, 17, 15, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 22, 8, 9, 8, 8, 16, 17, 14, 8, 8, 16, 7, 16, 8, 16, 0, 17, 7, 8, 16, 15, 7, 16, 17, 0, 8, 15, 8, 16, 15, 8, 0, 15, 15, 7, 14, 8, 8, 0, 16, 1, 8, 8, 0, 0, 16, 8, 14, 22, 15, 0, 8, 8, 18, 17, 19, 9, 11, 17, 18, 17, 16, 8, 16, 14, 17, 15, 18, 0, 17, 16, 17, 16, 17, 16, 17, 17, 8, 0, 15, 10, 15, 18, 18, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 17, 15, 22, 15, 15, 8, 10, 22, 17, 21, 14, 8, 22, 16, 15, 15, 15, 0, 15, 16, 15, 15, 15, 14, 17, 15, 15, 15, 0, 8, 15, 22, 17, 0, 24, 24, 7, 21, 8, 8, 0, 15, 10, 15, 17, 0, 0, 22, 15, 21, 22, 15, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 0, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 22, 15, 15, 8, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 22, 0, 23, 14, 15, 23, 22, 14, 23, 23, 16, 15, 15, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 24, 17, 18, 8, 10, 24, 18, 23, 16, 8, 22, 14, 17, 15, 18, 0, 16, 16, 17, 16, 17, 16, 17, 17, 15, 18, 22, 10, 15, 0, 17, 0, 24, 24, 9, 23, 10, 8, 0, 17, 10, 17, 18, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 18, 17, 18, 8, 12, 17, 19, 17, 16, 8, 15, 16, 17, 15, 17, 0, 16, 18, 17, 15, 17, 16, 19, 17, 8, 18, 17, 10, 15, 17, 0, 0, 20, 20, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 17, 18, 8, 12, 24, 19, 24, 16, 8, 22, 16, 17, 15, 17, 0, 16, 18, 17, 15, 17, 16, 19, 17, 15, 18, 24, 10, 15, 24, 20, 0, 0, 27, 9, 23, 10, 8, 0, 17, 12, 17, 19, 0, 2, 24, 17, 21, 24, 17, 0, 16, 15, 25, 17, 18, 8, 12, 24, 19, 24, 16, 8, 22, 16, 17, 15, 17, 0, 16, 18, 17, 15, 17, 16, 19, 17, 15, 18, 24, 10, 15, 24, 20, 0, 27, 0, 9, 23, 10, 8, 0, 17, 12, 17, 19, 0, 2, 24, 17, 21, 24, 17, 0, 16, 15, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 0, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 23, 16, 16, 7, 9, 23, 16, 23, 16, 7, 21, 14, 16, 14, 16, 0, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 23, 16, 0, 23, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 14, 14, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 0, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 0, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 0, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 18, 17, 9, 10, 17, 25, 16, 17, 8, 15, 14, 25, 15, 24, 0, 23, 16, 18, 23, 25, 16, 25, 25, 16, 17, 15, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 0, 10, 17, 17, 0, 2, 19, 17, 14, 24, 10, 0, 15, 15, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 0, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 12, 0, 12, 12, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 0, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 18, 8, 12, 17, 20, 16, 16, 8, 15, 16, 17, 15, 18, 0, 16, 18, 17, 16, 17, 16, 19, 17, 8, 18, 17, 10, 15, 18, 19, 0, 19, 19, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 0, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 25, 18, 17, 9, 10, 24, 18, 23, 17, 8, 22, 14, 18, 15, 17, 0, 16, 16, 18, 16, 18, 16, 18, 18, 16, 17, 22, 10, 16, 24, 17, 0, 24, 24, 9, 23, 10, 8, 0, 19, 10, 17, 17, 0, 2, 0, 17, 21, 24, 17, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 0, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 21, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 7, 14, 21, 14, 0, 21, 21, 7, 21, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 14, 14, 31, 17, 17, 8, 10, 24, 24, 23, 16, 8, 22, 14, 24, 15, 24, 0, 22, 16, 17, 22, 24, 16, 24, 24, 22, 17, 22, 10, 22, 24, 17, 0, 24, 24, 9, 23, 10, 8, 0, 24, 10, 17, 17, 0, 2, 24, 17, 21, 0, 17, 0, 15, 15, 17, 10, 10, 8, 10, 17, 10, 16, 9, 8, 15, 7, 10, 8, 10, 0, 8, 9, 10, 8, 10, 9, 10, 10, 15, 10, 15, 10, 8, 17, 10, 0, 17, 17, 9, 16, 10, 8, 0, 10, 3, 10, 10, 0, 2, 17, 10, 14, 17, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 15, 16, 9, 9, 15, 15, 15, 14, 8, 16, 14, 15, 15, 15, 0, 16, 14, 15, 15, 15, 14, 15, 15, 8, 17, 15, 8, 15, 15, 16, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 0, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 0, 15, 17, 8, 8, 15, 23, 16, 14, 8, 15, 14, 23, 16, 24, 23, 0, 14, 15, 22, 23, 14, 23, 23, 16, 16, 15, 8, 23, 15, 16, 0, 16, 16, 7, 14, 8, 8, 0, 23, 8, 15, 15, 0, 0, 15, 15, 14, 22, 8, 0, 16, 15, 15, 0, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 0, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 17, 15, 0, 9, 15, 16, 17, 17, 23, 16, 17, 14, 22, 24, 25, 18, 0, 22, 22, 16, 15, 21, 22, 16, 9, 17, 15, 15, 23, 17, 16, 0, 16, 16, 14, 14, 15, 15, 0, 22, 8, 22, 16, 0, 0, 15, 22, 14, 15, 9, 0, 24, 22, 8, 8, 9, 0, 8, 10, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 0, 8, 8, 8, 10, 7, 8, 8, 8, 8, 8, 8, 9, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 10, 1, 8, 8, 0, 0, 8, 8, 7, 8, 9, 0, 9, 10, 8, 8, 15, 8, 0, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 0, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 15, 15, 16, 10, 8, 0, 17, 14, 15, 9, 16, 15, 15, 16, 17, 16, 0, 14, 15, 15, 17, 14, 16, 17, 10, 15, 15, 8, 16, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 17, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 18, 23, 15, 17, 8, 8, 17, 0, 14, 15, 9, 16, 15, 24, 16, 26, 25, 0, 14, 15, 24, 23, 14, 25, 26, 19, 16, 15, 8, 25, 16, 15, 0, 16, 16, 7, 14, 8, 8, 0, 24, 8, 15, 16, 0, 0, 16, 15, 14, 22, 8, 0, 15, 16, 16, 14, 17, 8, 7, 14, 14, 0, 15, 8, 15, 14, 14, 16, 15, 15, 0, 15, 14, 14, 14, 14, 14, 14, 7, 15, 14, 7, 15, 15, 15, 0, 15, 15, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 8, 0, 16, 14, 14, 14, 23, 8, 14, 15, 15, 15, 0, 15, 16, 14, 21, 22, 22, 15, 0, 22, 21, 14, 14, 21, 21, 15, 8, 14, 14, 14, 22, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 8, 0, 22, 21, 8, 8, 16, 9, 15, 9, 9, 8, 15, 0, 11, 10, 15, 19, 16, 8, 0, 15, 15, 10, 8, 14, 16, 9, 11, 8, 10, 15, 19, 9, 8, 0, 9, 9, 14, 7, 15, 17, 0, 15, 1, 15, 8, 0, 0, 8, 15, 9, 8, 9, 0, 18, 18, 15, 15, 17, 9, 8, 16, 16, 15, 16, 11, 0, 16, 15, 18, 16, 16, 0, 15, 15, 17, 15, 14, 15, 16, 11, 15, 17, 8, 18, 16, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 9, 0, 18, 17, 14, 14, 14, 7, 7, 15, 15, 14, 14, 10, 16, 0, 14, 17, 15, 14, 0, 14, 14, 16, 14, 14, 15, 15, 10, 14, 16, 7, 17, 14, 14, 0, 15, 15, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 17, 23, 15, 22, 8, 15, 15, 24, 14, 21, 15, 15, 14, 0, 22, 30, 23, 0, 21, 22, 23, 23, 21, 31, 24, 17, 15, 15, 15, 31, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 31, 8, 22, 15, 0, 0, 16, 22, 14, 22, 8, 0, 22, 22, 16, 15, 24, 9, 15, 16, 16, 16, 22, 19, 18, 17, 22, 0, 24, 15, 0, 22, 22, 17, 15, 21, 23, 16, 11, 15, 17, 15, 26, 16, 15, 0, 16, 16, 14, 14, 15, 17, 0, 22, 8, 22, 15, 0, 0, 15, 22, 16, 15, 9, 0, 25, 25, 24, 15, 25, 8, 15, 17, 26, 15, 22, 16, 16, 15, 30, 24, 0, 24, 0, 21, 22, 23, 23, 21, 31, 25, 18, 16, 15, 15, 31, 16, 15, 0, 16, 16, 14, 14, 15, 15, 0, 30, 8, 22, 16, 0, 0, 15, 22, 14, 22, 8, 0, 22, 23, 23, 15, 18, 8, 8, 16, 25, 15, 15, 8, 16, 14, 23, 15, 24, 0, 0, 16, 15, 24, 22, 14, 23, 24, 17, 17, 15, 8, 23, 16, 16, 0, 16, 16, 7, 14, 8, 8, 0, 23, 8, 15, 16, 0, 0, 16, 15, 14, 22, 8, 0, 16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 22, 8, 14, 14, 14, 15, 22, 15, 15, 14, 21, 22, 21, 16, 0, 0, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 22, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 8, 0, 22, 21, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 0, 21, 0, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 22, 15, 16, 8, 8, 15, 24, 14, 14, 10, 17, 16, 23, 17, 23, 24, 0, 14, 15, 0, 22, 14, 23, 23, 18, 16, 17, 8, 25, 16, 15, 0, 15, 15, 7, 14, 8, 10, 0, 23, 8, 15, 16, 0, 0, 16, 15, 16, 22, 8, 0, 17, 17, 23, 15, 15, 10, 8, 17, 23, 14, 14, 8, 15, 14, 23, 15, 23, 22, 0, 14, 15, 22, 0, 14, 23, 23, 16, 15, 15, 8, 23, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 25, 8, 15, 15, 0, 0, 15, 15, 14, 22, 8, 0, 15, 17, 14, 14, 21, 7, 14, 14, 14, 14, 21, 14, 14, 14, 21, 21, 21, 14, 0, 21, 21, 14, 14, 0, 21, 14, 7, 14, 14, 14, 21, 14, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 7, 0, 21, 21, 23, 15, 22, 8, 15, 16, 25, 14, 21, 16, 15, 15, 31, 23, 31, 23, 0, 21, 22, 23, 23, 21, 0, 25, 18, 15, 15, 15, 32, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 31, 8, 22, 15, 0, 0, 16, 22, 14, 22, 8, 0, 22, 23, 23, 15, 16, 8, 8, 17, 26, 14, 15, 9, 16, 15, 24, 16, 25, 24, 0, 14, 15, 23, 23, 14, 25, 0, 19, 15, 15, 8, 25, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 24, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 16, 16, 8, 9, 8, 8, 10, 19, 7, 8, 11, 11, 10, 17, 11, 18, 17, 0, 7, 8, 18, 16, 7, 18, 19, 0, 8, 10, 8, 20, 8, 8, 0, 9, 9, 7, 7, 8, 10, 0, 17, 1, 8, 8, 0, 0, 9, 8, 9, 15, 8, 0, 10, 11, 16, 15, 17, 8, 8, 15, 16, 15, 14, 8, 15, 14, 15, 15, 16, 17, 0, 14, 15, 16, 15, 14, 15, 15, 8, 0, 15, 8, 15, 16, 16, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 16, 0, 0, 15, 15, 14, 15, 8, 0, 16, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 17, 16, 15, 17, 15, 15, 0, 14, 15, 17, 15, 14, 15, 15, 10, 15, 0, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 17, 17, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 0, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 0, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 23, 15, 23, 9, 15, 16, 25, 15, 22, 19, 18, 17, 31, 26, 31, 23, 0, 22, 22, 25, 23, 21, 32, 25, 20, 15, 17, 15, 0, 16, 15, 0, 16, 16, 14, 14, 15, 17, 0, 31, 8, 22, 15, 0, 0, 16, 22, 16, 22, 9, 0, 25, 25, 15, 15, 17, 9, 8, 15, 16, 15, 15, 9, 16, 14, 15, 16, 16, 16, 0, 15, 15, 16, 15, 14, 15, 15, 8, 16, 15, 8, 16, 0, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 16, 0, 0, 15, 15, 14, 15, 9, 0, 16, 15, 16, 15, 16, 8, 8, 15, 15, 15, 14, 8, 15, 14, 15, 15, 15, 16, 0, 14, 15, 15, 15, 14, 15, 15, 8, 16, 15, 8, 15, 15, 0, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 15, 16, 8, 8, 16, 16, 15, 14, 9, 15, 15, 15, 16, 16, 16, 0, 14, 15, 15, 15, 14, 16, 16, 9, 16, 15, 8, 16, 15, 16, 0, 0, 17, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 16, 16, 16, 15, 16, 8, 8, 16, 16, 15, 14, 9, 15, 15, 15, 16, 16, 16, 0, 14, 15, 15, 15, 14, 16, 16, 9, 16, 15, 8, 16, 15, 16, 0, 17, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 16, 16, 7, 7, 14, 7, 14, 7, 7, 7, 14, 14, 7, 7, 14, 14, 14, 7, 0, 14, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 14, 7, 7, 0, 7, 7, 0, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 7, 14, 7, 7, 7, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 0, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 0, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 0, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 8, 8, 15, 8, 15, 8, 8, 7, 14, 17, 10, 9, 15, 17, 15, 8, 0, 14, 15, 10, 8, 14, 15, 8, 10, 8, 10, 15, 17, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 15, 9, 8, 8, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 15, 22, 10, 15, 17, 24, 14, 21, 15, 15, 14, 31, 22, 30, 23, 0, 21, 22, 23, 25, 21, 31, 24, 17, 15, 15, 15, 31, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 0, 8, 22, 15, 0, 0, 16, 22, 14, 22, 8, 0, 22, 24, 8, 8, 8, 1, 1, 8, 8, 7, 7, 1, 8, 7, 8, 8, 8, 8, 0, 7, 8, 8, 8, 7, 8, 8, 1, 8, 8, 1, 8, 8, 8, 0, 8, 8, 0, 7, 1, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 7, 8, 1, 0, 8, 8, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 0, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 0, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 15, 15, 16, 8, 8, 15, 16, 14, 14, 8, 15, 14, 15, 15, 16, 16, 0, 14, 15, 16, 15, 14, 15, 15, 8, 16, 15, 8, 15, 16, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 15, 16, 14, 14, 8, 15, 14, 16, 15, 15, 16, 0, 14, 15, 16, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 16, 8, 15, 15, 0, 0, 0, 15, 14, 15, 8, 0, 15, 15, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 0, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 0, 14, 15, 8, 0, 22, 22, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 16, 16, 14, 16, 14, 14, 0, 14, 14, 16, 14, 14, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 16, 16, 22, 15, 15, 8, 8, 15, 22, 14, 14, 8, 15, 14, 22, 15, 22, 22, 0, 14, 15, 22, 22, 14, 22, 22, 15, 15, 15, 8, 22, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 22, 8, 15, 15, 0, 0, 15, 15, 14, 0, 8, 0, 15, 15, 8, 8, 9, 9, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 0, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 9, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 15, 24, 9, 15, 15, 15, 16, 22, 18, 18, 16, 22, 25, 22, 16, 0, 22, 22, 17, 15, 21, 22, 15, 10, 16, 17, 15, 25, 16, 16, 0, 16, 16, 14, 14, 15, 17, 0, 22, 8, 22, 15, 0, 0, 15, 22, 16, 15, 9, 0, 0, 24, 15, 15, 22, 10, 15, 18, 16, 14, 21, 18, 17, 17, 22, 25, 23, 15, 0, 21, 22, 17, 17, 21, 23, 16, 11, 15, 17, 15, 25, 15, 15, 0, 16, 16, 14, 14, 15, 17, 0, 24, 8, 22, 15, 0, 0, 15, 22, 16, 15, 8, 0, 24, 0, 0, 17, 16, 7, 9, 16, 16, 17, 16, 8, 15, 14, 16, 15, 17, 16, 14, 0, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 17, 9, 17, 16, 0, 2, 17, 16, 14, 16, 10, 0, 14, 14, 17, 0, 16, 7, 9, 16, 16, 16, 16, 8, 15, 14, 16, 15, 16, 16, 14, 0, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 17, 16, 14, 16, 10, 0, 14, 14, 16, 16, 0, 8, 17, 16, 16, 18, 24, 15, 15, 14, 24, 22, 23, 16, 22, 0, 23, 15, 16, 23, 23, 16, 7, 17, 15, 16, 22, 18, 16, 0, 16, 16, 16, 16, 17, 15, 0, 23, 10, 23, 16, 0, 2, 16, 23, 14, 17, 11, 0, 22, 21, 7, 7, 8, 0, 7, 7, 7, 8, 8, 8, 8, 7, 7, 8, 7, 7, 8, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 8, 0, 8, 7, 9, 9, 17, 7, 0, 9, 11, 10, 16, 14, 7, 9, 17, 14, 16, 11, 14, 0, 16, 8, 9, 16, 18, 9, 7, 10, 10, 16, 14, 10, 11, 0, 11, 11, 16, 9, 17, 15, 0, 16, 5, 16, 11, 0, 2, 9, 16, 7, 10, 10, 0, 14, 14, 16, 16, 16, 7, 9, 0, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 0, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 11, 16, 0, 16, 16, 7, 14, 16, 16, 14, 16, 18, 14, 0, 16, 14, 16, 16, 18, 16, 7, 16, 16, 9, 14, 16, 18, 0, 18, 18, 9, 16, 9, 7, 0, 16, 11, 16, 18, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 16, 18, 8, 10, 16, 16, 0, 18, 8, 15, 15, 17, 15, 17, 16, 15, 0, 17, 15, 17, 17, 16, 16, 7, 17, 15, 9, 15, 18, 16, 0, 16, 17, 10, 17, 10, 8, 0, 17, 10, 17, 16, 0, 3, 16, 16, 15, 17, 11, 0, 15, 14, 16, 16, 24, 8, 16, 16, 16, 18, 0, 15, 15, 15, 23, 22, 23, 16, 22, 0, 23, 14, 16, 24, 23, 16, 7, 16, 14, 16, 22, 17, 16, 0, 16, 16, 17, 17, 16, 15, 0, 23, 9, 24, 16, 0, 3, 16, 23, 15, 16, 10, 0, 22, 21, 8, 8, 15, 8, 14, 7, 7, 8, 15, 0, 9, 7, 14, 16, 14, 7, 15, 0, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 15, 8, 7, 0, 7, 7, 14, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 8, 14, 7, 7, 9, 0, 15, 14, 15, 15, 15, 8, 7, 14, 14, 15, 15, 9, 0, 14, 14, 16, 14, 14, 15, 0, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 15, 15, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 15, 14, 14, 14, 9, 0, 15, 14, 14, 14, 14, 7, 9, 14, 16, 15, 15, 7, 14, 0, 14, 14, 14, 16, 14, 0, 14, 14, 14, 15, 16, 14, 7, 14, 16, 7, 14, 14, 16, 0, 16, 16, 8, 15, 7, 7, 0, 14, 9, 14, 16, 0, 1, 14, 14, 15, 14, 7, 0, 14, 14, 16, 16, 24, 7, 17, 16, 16, 17, 23, 14, 14, 14, 0, 21, 23, 16, 21, 0, 23, 15, 16, 23, 23, 16, 7, 17, 15, 16, 21, 17, 16, 0, 16, 16, 16, 16, 17, 15, 0, 23, 10, 23, 16, 0, 2, 16, 23, 14, 17, 10, 0, 21, 21, 15, 15, 22, 8, 14, 14, 14, 15, 22, 16, 16, 14, 21, 0, 21, 14, 22, 0, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 22, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 15, 21, 14, 14, 9, 0, 22, 21, 17, 16, 23, 7, 16, 16, 16, 17, 23, 14, 14, 14, 23, 21, 0, 16, 21, 0, 24, 14, 17, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 17, 16, 16, 16, 14, 0, 24, 9, 24, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 16, 16, 16, 7, 11, 16, 18, 16, 16, 7, 14, 16, 16, 14, 16, 0, 16, 0, 16, 14, 16, 16, 18, 16, 7, 16, 16, 9, 14, 16, 18, 0, 18, 18, 9, 16, 9, 7, 0, 16, 11, 16, 18, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 14, 14, 22, 8, 14, 14, 14, 15, 22, 15, 15, 14, 21, 22, 21, 16, 0, 0, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 22, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 8, 0, 22, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 16, 23, 7, 16, 16, 16, 17, 23, 14, 14, 14, 23, 21, 24, 16, 21, 0, 0, 14, 17, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 17, 16, 16, 16, 14, 0, 24, 9, 24, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 14, 14, 15, 7, 8, 14, 14, 15, 14, 7, 14, 14, 15, 14, 14, 14, 14, 0, 14, 0, 14, 14, 14, 14, 7, 15, 15, 7, 14, 15, 14, 0, 14, 14, 7, 14, 8, 8, 0, 14, 8, 14, 14, 0, 0, 14, 14, 14, 15, 8, 0, 14, 14, 17, 16, 16, 7, 9, 16, 16, 17, 16, 7, 14, 14, 16, 14, 17, 16, 14, 0, 17, 14, 0, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 17, 9, 17, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 23, 7, 16, 16, 16, 17, 24, 14, 14, 15, 23, 21, 23, 16, 21, 0, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 17, 17, 16, 14, 0, 23, 9, 23, 16, 0, 3, 16, 23, 15, 16, 9, 0, 21, 21, 16, 16, 23, 7, 18, 16, 18, 16, 23, 14, 14, 16, 23, 21, 23, 18, 21, 0, 23, 14, 16, 23, 0, 16, 7, 16, 16, 16, 21, 16, 18, 0, 18, 18, 16, 16, 16, 14, 0, 23, 11, 23, 18, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 0, 16, 14, 16, 16, 16, 0, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 16, 16, 17, 7, 10, 16, 16, 17, 16, 7, 14, 14, 17, 14, 16, 16, 14, 0, 16, 15, 16, 16, 16, 16, 7, 0, 15, 9, 14, 17, 16, 0, 16, 16, 9, 16, 10, 8, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 17, 10, 0, 14, 14, 14, 14, 15, 7, 10, 14, 16, 15, 14, 7, 14, 16, 15, 14, 14, 16, 14, 0, 14, 15, 14, 14, 16, 14, 7, 15, 0, 7, 14, 15, 16, 0, 16, 16, 7, 14, 8, 8, 0, 14, 10, 14, 16, 0, 0, 14, 14, 14, 15, 8, 0, 14, 14, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 0, 16, 7, 9, 16, 16, 9, 7, 9, 7, 0, 14, 9, 9, 0, 9, 9, 16, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 14, 14, 22, 8, 14, 14, 14, 15, 22, 15, 15, 14, 21, 22, 21, 14, 22, 0, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 0, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 8, 0, 22, 21, 16, 16, 18, 8, 10, 16, 16, 18, 17, 8, 15, 14, 17, 15, 16, 16, 15, 0, 16, 15, 16, 16, 16, 16, 7, 17, 15, 9, 15, 0, 16, 0, 16, 16, 9, 16, 10, 8, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 17, 11, 0, 15, 14, 16, 16, 16, 7, 11, 16, 18, 16, 16, 7, 14, 16, 16, 14, 16, 18, 14, 0, 16, 14, 16, 16, 18, 16, 7, 16, 16, 9, 14, 16, 0, 0, 18, 18, 9, 16, 9, 7, 0, 16, 11, 16, 18, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 7, 11, 16, 18, 16, 16, 7, 14, 16, 16, 14, 16, 18, 14, 0, 16, 14, 16, 16, 18, 16, 7, 16, 16, 9, 14, 16, 18, 0, 0, 18, 9, 16, 9, 7, 0, 16, 11, 16, 18, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 16, 16, 7, 11, 16, 18, 17, 16, 7, 14, 16, 16, 14, 17, 18, 14, 0, 17, 14, 17, 16, 18, 16, 7, 16, 16, 9, 14, 16, 18, 0, 18, 0, 9, 16, 9, 7, 0, 17, 11, 17, 18, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 9, 9, 16, 7, 16, 9, 9, 10, 17, 14, 7, 8, 16, 14, 16, 9, 14, 0, 16, 7, 9, 17, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 10, 16, 14, 0, 16, 2, 16, 9, 0, 3, 9, 16, 8, 9, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 17, 17, 7, 14, 15, 16, 14, 16, 16, 14, 0, 16, 14, 16, 17, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 10, 0, 9, 7, 0, 16, 9, 16, 16, 0, 3, 16, 16, 16, 16, 9, 0, 14, 14, 9, 9, 17, 7, 17, 9, 9, 10, 16, 14, 7, 7, 17, 14, 16, 9, 14, 0, 16, 8, 9, 16, 16, 9, 7, 10, 8, 16, 14, 10, 9, 0, 9, 9, 16, 9, 0, 15, 0, 16, 3, 16, 9, 0, 2, 9, 16, 7, 10, 10, 0, 14, 14, 7, 7, 15, 7, 15, 7, 7, 8, 15, 14, 7, 7, 15, 14, 14, 7, 14, 0, 14, 8, 7, 14, 14, 7, 7, 8, 8, 14, 14, 8, 7, 0, 7, 7, 14, 7, 15, 0, 0, 14, 1, 15, 7, 0, 0, 7, 14, 7, 8, 8, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 16, 23, 7, 16, 16, 16, 17, 23, 14, 14, 14, 23, 21, 24, 16, 21, 0, 24, 14, 17, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 17, 16, 16, 16, 14, 0, 0, 9, 24, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 9, 9, 10, 0, 5, 9, 11, 10, 9, 0, 7, 9, 10, 7, 9, 11, 7, 0, 9, 8, 9, 9, 11, 9, 0, 10, 10, 2, 7, 10, 11, 0, 11, 11, 2, 9, 3, 1, 0, 9, 0, 9, 11, 0, 2, 9, 9, 7, 10, 3, 0, 7, 7, 17, 16, 23, 7, 16, 16, 16, 17, 24, 14, 14, 14, 23, 21, 24, 16, 21, 0, 24, 14, 17, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 17, 16, 16, 16, 15, 0, 24, 9, 0, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 16, 16, 16, 7, 11, 16, 18, 16, 16, 7, 14, 16, 16, 14, 16, 18, 14, 0, 16, 14, 16, 16, 18, 16, 7, 16, 16, 9, 14, 16, 18, 0, 18, 18, 9, 16, 9, 7, 0, 16, 11, 16, 0, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 3, 3, 0, 0, 1, 2, 0, 2, 2, 0, 0, 2, 0, 2, 3, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 3, 3, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 2, 0, 0, 0, 17, 17, 16, 7, 9, 16, 16, 16, 16, 8, 15, 14, 16, 15, 16, 16, 14, 0, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 0, 16, 14, 16, 10, 0, 14, 14, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 0, 23, 14, 16, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 0, 14, 16, 9, 0, 21, 21, 14, 14, 14, 7, 7, 14, 14, 15, 15, 7, 14, 15, 14, 14, 14, 14, 14, 0, 14, 14, 14, 15, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 8, 16, 7, 7, 0, 14, 7, 14, 14, 0, 1, 14, 14, 0, 14, 7, 0, 14, 14, 16, 16, 17, 7, 10, 16, 16, 17, 16, 7, 14, 14, 17, 14, 16, 16, 14, 0, 16, 15, 16, 16, 16, 16, 7, 17, 15, 9, 14, 17, 16, 0, 16, 16, 9, 16, 10, 8, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 0, 10, 0, 14, 14, 10, 10, 11, 8, 10, 9, 9, 11, 10, 9, 9, 7, 10, 9, 9, 9, 8, 0, 9, 8, 9, 9, 9, 9, 7, 10, 8, 9, 8, 11, 9, 0, 9, 9, 9, 9, 10, 8, 0, 9, 3, 9, 9, 0, 2, 10, 9, 7, 10, 0, 0, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 22, 8, 14, 14, 14, 15, 22, 15, 15, 14, 21, 22, 21, 14, 22, 0, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 22, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 8, 0, 0, 21, 14, 14, 21, 7, 14, 14, 14, 14, 21, 14, 14, 14, 21, 21, 21, 14, 21, 0, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 21, 14, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 7, 0, 21, 0, 0, 18, 17, 9, 10, 17, 17, 17, 17, 8, 15, 14, 17, 15, 18, 18, 15, 17, 0, 15, 19, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 19, 10, 18, 17, 0, 2, 18, 17, 14, 17, 10, 0, 15, 15, 18, 0, 17, 9, 10, 17, 17, 16, 17, 8, 15, 14, 17, 15, 17, 18, 15, 16, 0, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 18, 17, 14, 17, 10, 0, 15, 15, 17, 17, 0, 8, 17, 17, 17, 18, 25, 15, 15, 14, 26, 22, 24, 17, 22, 23, 0, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 18, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 9, 9, 8, 0, 15, 15, 8, 14, 15, 15, 15, 7, 8, 15, 8, 9, 8, 7, 0, 8, 9, 7, 8, 8, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 15, 8, 0, 9, 8, 8, 8, 0, 0, 9, 8, 14, 8, 8, 0, 15, 8, 10, 10, 17, 15, 0, 17, 10, 16, 23, 22, 15, 7, 17, 22, 17, 10, 15, 16, 0, 8, 10, 16, 17, 10, 8, 17, 8, 17, 15, 10, 10, 0, 10, 10, 16, 16, 24, 15, 0, 17, 10, 17, 10, 0, 2, 10, 17, 14, 10, 10, 0, 22, 15, 17, 17, 17, 15, 17, 0, 17, 24, 23, 17, 22, 14, 17, 22, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 24, 15, 10, 15, 17, 17, 0, 17, 17, 9, 23, 17, 8, 0, 17, 17, 17, 17, 0, 2, 17, 17, 21, 17, 10, 0, 22, 15, 17, 17, 17, 8, 10, 17, 0, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 16, 18, 14, 16, 24, 16, 0, 25, 15, 21, 14, 18, 21, 17, 16, 14, 17, 0, 14, 17, 16, 16, 16, 7, 23, 14, 9, 14, 16, 16, 0, 16, 17, 11, 23, 16, 7, 0, 17, 16, 17, 16, 0, 2, 16, 16, 21, 16, 9, 0, 21, 14, 17, 17, 25, 15, 23, 23, 16, 25, 0, 21, 21, 14, 25, 28, 23, 17, 21, 23, 0, 14, 17, 23, 23, 16, 7, 23, 14, 16, 21, 16, 16, 0, 16, 16, 18, 23, 23, 14, 0, 24, 16, 23, 16, 0, 2, 17, 23, 21, 16, 9, 0, 28, 21, 8, 8, 15, 15, 22, 17, 8, 15, 21, 0, 15, 7, 15, 22, 15, 8, 15, 14, 0, 8, 8, 14, 15, 8, 8, 15, 8, 15, 15, 8, 8, 0, 8, 8, 14, 14, 22, 15, 0, 15, 8, 15, 8, 0, 0, 8, 15, 14, 8, 8, 0, 22, 15, 15, 15, 15, 15, 15, 22, 15, 21, 21, 15, 0, 14, 15, 22, 15, 15, 15, 14, 0, 15, 15, 14, 15, 15, 8, 22, 15, 8, 15, 15, 15, 0, 15, 15, 7, 21, 15, 8, 0, 15, 15, 15, 15, 0, 0, 15, 15, 21, 15, 8, 0, 22, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 17, 17, 26, 8, 17, 17, 17, 18, 25, 15, 15, 14, 0, 22, 24, 17, 22, 23, 0, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 18, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 15, 15, 22, 15, 22, 22, 15, 21, 28, 22, 22, 14, 22, 0, 22, 15, 22, 21, 0, 15, 15, 21, 22, 15, 8, 22, 15, 15, 22, 15, 15, 0, 15, 15, 14, 21, 22, 15, 0, 22, 15, 22, 15, 0, 0, 15, 22, 21, 15, 8, 0, 29, 22, 18, 17, 24, 8, 17, 17, 17, 17, 23, 15, 15, 14, 24, 22, 0, 17, 22, 24, 0, 15, 18, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 25, 10, 25, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 18, 18, 17, 9, 10, 17, 17, 16, 17, 8, 15, 14, 17, 15, 17, 0, 15, 16, 0, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 18, 17, 14, 17, 10, 0, 15, 15, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 0, 21, 0, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 17, 16, 23, 7, 16, 16, 16, 17, 23, 14, 14, 14, 23, 21, 24, 16, 21, 0, 0, 14, 17, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 17, 16, 16, 16, 14, 0, 24, 9, 24, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 0, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 19, 18, 17, 9, 10, 17, 17, 17, 17, 8, 15, 14, 17, 15, 18, 18, 15, 17, 0, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 19, 10, 18, 17, 0, 2, 18, 17, 14, 17, 10, 0, 15, 15, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 23, 0, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 0, 15, 17, 23, 0, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 0, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 17, 17, 17, 15, 17, 24, 17, 23, 23, 15, 22, 14, 17, 22, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 23, 17, 8, 0, 17, 17, 17, 17, 0, 2, 17, 17, 21, 17, 10, 0, 22, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 0, 15, 15, 14, 15, 15, 8, 15, 0, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 0, 8, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 0, 15, 15, 21, 22, 15, 8, 15, 15, 15, 0, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 18, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 0, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 18, 10, 18, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 9, 9, 18, 7, 16, 9, 9, 11, 18, 14, 7, 7, 18, 14, 16, 9, 14, 16, 0, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 16, 16, 16, 14, 16, 23, 16, 23, 23, 14, 21, 14, 16, 21, 16, 16, 14, 16, 0, 14, 16, 16, 16, 16, 7, 23, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 16, 7, 0, 16, 16, 16, 16, 0, 2, 16, 16, 21, 16, 9, 0, 21, 14, 10, 10, 17, 15, 24, 17, 10, 16, 23, 22, 15, 7, 17, 22, 17, 10, 15, 16, 0, 8, 10, 16, 17, 10, 8, 17, 8, 17, 15, 10, 10, 0, 10, 10, 16, 16, 0, 15, 0, 17, 10, 17, 10, 0, 2, 10, 17, 14, 10, 10, 0, 22, 15, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 0, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 18, 24, 9, 17, 17, 17, 17, 24, 15, 15, 14, 24, 22, 25, 18, 22, 24, 0, 15, 19, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 0, 10, 25, 17, 0, 2, 18, 24, 14, 17, 10, 0, 22, 22, 10, 10, 10, 8, 10, 17, 10, 16, 16, 8, 15, 7, 10, 15, 10, 10, 8, 9, 0, 8, 10, 9, 10, 10, 1, 17, 8, 3, 8, 10, 10, 0, 10, 10, 2, 16, 10, 1, 0, 10, 0, 10, 10, 0, 9, 10, 10, 14, 10, 3, 0, 15, 8, 18, 17, 24, 8, 17, 17, 17, 17, 23, 15, 15, 14, 24, 22, 25, 17, 22, 24, 0, 15, 18, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 25, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 0, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 9, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 18, 18, 17, 9, 10, 17, 17, 16, 17, 8, 15, 14, 17, 15, 17, 18, 15, 16, 0, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 0, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 0, 14, 17, 10, 0, 22, 22, 14, 14, 14, 14, 14, 21, 14, 21, 21, 14, 21, 14, 14, 21, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 7, 21, 14, 7, 14, 14, 14, 0, 14, 14, 7, 21, 14, 7, 0, 14, 14, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 21, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 0, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 22, 15, 22, 22, 15, 21, 28, 22, 22, 14, 22, 29, 22, 15, 22, 21, 0, 15, 15, 21, 22, 15, 8, 22, 15, 15, 22, 15, 15, 0, 15, 15, 14, 21, 22, 15, 0, 22, 15, 22, 15, 0, 0, 15, 22, 21, 15, 8, 0, 0, 22, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 0, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 0, 0, 15, 15, 8, 8, 15, 22, 14, 14, 8, 22, 14, 22, 22, 24, 22, 22, 14, 15, 0, 22, 14, 22, 22, 15, 15, 15, 10, 22, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 22, 8, 15, 15, 0, 2, 15, 17, 14, 24, 13, 0, 15, 15, 15, 0, 15, 15, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 22, 8, 22, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 15, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 15, 15, 0, 8, 9, 15, 16, 15, 14, 8, 15, 14, 16, 15, 16, 16, 16, 15, 15, 0, 15, 14, 15, 15, 8, 17, 16, 8, 15, 17, 15, 0, 15, 15, 7, 14, 9, 9, 0, 15, 9, 15, 16, 0, 0, 15, 15, 14, 16, 9, 0, 15, 15, 8, 15, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 0, 8, 7, 8, 15, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 9, 8, 0, 8, 8, 8, 7, 8, 8, 7, 9, 8, 8, 8, 8, 8, 8, 0, 8, 7, 8, 8, 8, 9, 9, 8, 8, 9, 8, 0, 8, 8, 7, 7, 9, 9, 0, 8, 2, 8, 8, 0, 0, 8, 8, 7, 9, 9, 0, 8, 8, 15, 15, 15, 8, 8, 0, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 22, 15, 16, 8, 8, 15, 0, 14, 14, 8, 15, 14, 23, 15, 23, 24, 24, 14, 15, 0, 22, 14, 23, 23, 16, 16, 15, 8, 23, 16, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 16, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 14, 14, 15, 7, 8, 14, 14, 0, 14, 7, 14, 14, 15, 14, 14, 14, 14, 15, 14, 0, 14, 14, 14, 14, 7, 15, 15, 7, 14, 15, 14, 0, 14, 14, 7, 14, 8, 8, 0, 14, 8, 14, 14, 0, 0, 14, 14, 14, 15, 8, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 14, 0, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 10, 9, 8, 10, 8, 8, 10, 7, 8, 0, 8, 7, 8, 8, 10, 8, 10, 8, 10, 8, 8, 0, 8, 8, 7, 7, 8, 10, 0, 8, 1, 8, 8, 0, 0, 8, 8, 9, 8, 8, 0, 10, 10, 22, 15, 15, 8, 8, 15, 15, 14, 14, 10, 0, 16, 15, 24, 17, 15, 17, 14, 15, 0, 15, 14, 15, 15, 10, 15, 17, 10, 17, 15, 15, 0, 15, 15, 7, 16, 8, 10, 0, 15, 8, 15, 15, 0, 2, 15, 17, 16, 17, 13, 0, 17, 17, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 16, 0, 14, 16, 14, 14, 16, 14, 14, 0, 14, 14, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 16, 22, 15, 16, 8, 9, 15, 23, 15, 14, 8, 15, 14, 0, 15, 22, 23, 23, 15, 15, 0, 22, 14, 23, 23, 16, 16, 16, 8, 23, 16, 15, 0, 15, 15, 7, 14, 9, 9, 0, 23, 9, 15, 15, 0, 0, 16, 15, 14, 23, 9, 0, 15, 15, 22, 15, 15, 8, 8, 15, 15, 14, 14, 10, 24, 16, 15, 0, 17, 15, 17, 14, 15, 0, 15, 14, 15, 15, 10, 15, 17, 10, 17, 15, 15, 0, 15, 15, 7, 16, 8, 10, 0, 15, 8, 15, 15, 0, 2, 15, 17, 16, 17, 13, 0, 17, 17, 24, 15, 16, 8, 8, 15, 23, 14, 14, 8, 17, 14, 22, 17, 0, 23, 23, 14, 15, 0, 22, 14, 22, 22, 15, 16, 15, 10, 22, 16, 15, 0, 15, 15, 7, 16, 8, 8, 0, 22, 8, 15, 16, 0, 2, 15, 17, 14, 24, 10, 0, 15, 15, 22, 15, 16, 8, 8, 15, 24, 14, 14, 8, 15, 14, 23, 15, 23, 0, 24, 14, 15, 0, 22, 14, 23, 23, 16, 16, 15, 8, 23, 16, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 16, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 22, 15, 16, 8, 8, 15, 24, 14, 14, 10, 17, 16, 23, 17, 23, 24, 0, 14, 15, 0, 22, 14, 23, 23, 18, 16, 17, 8, 25, 16, 15, 0, 15, 15, 7, 14, 8, 10, 0, 23, 8, 15, 16, 0, 0, 16, 15, 16, 22, 8, 0, 17, 17, 14, 14, 15, 7, 8, 14, 14, 15, 14, 7, 14, 14, 15, 14, 14, 14, 14, 0, 14, 0, 14, 14, 14, 14, 7, 15, 15, 7, 14, 15, 14, 0, 14, 14, 7, 14, 8, 8, 0, 14, 8, 14, 14, 0, 0, 14, 14, 14, 15, 8, 0, 14, 14, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 0, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 15, 15, 8, 8, 15, 22, 14, 14, 8, 15, 14, 22, 15, 22, 22, 22, 14, 15, 0, 0, 14, 22, 22, 15, 15, 15, 8, 22, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 22, 8, 15, 15, 0, 0, 15, 15, 14, 22, 8, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 0, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 22, 15, 15, 8, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 22, 23, 23, 14, 15, 0, 22, 14, 0, 23, 16, 15, 15, 8, 23, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 22, 22, 15, 15, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 22, 23, 23, 14, 15, 0, 22, 14, 23, 0, 16, 22, 15, 8, 23, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 15, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 15, 8, 8, 8, 8, 8, 16, 7, 7, 10, 10, 9, 16, 10, 15, 16, 18, 7, 8, 0, 15, 7, 16, 16, 0, 8, 10, 8, 18, 8, 8, 0, 8, 8, 7, 7, 8, 10, 0, 16, 1, 8, 8, 0, 0, 9, 8, 9, 15, 8, 0, 10, 10, 15, 22, 17, 15, 9, 15, 16, 15, 14, 8, 15, 14, 16, 15, 16, 16, 16, 15, 15, 0, 15, 14, 15, 22, 8, 0, 16, 8, 15, 17, 15, 0, 15, 15, 7, 14, 9, 9, 0, 15, 16, 15, 16, 0, 0, 15, 15, 14, 16, 9, 0, 15, 15, 15, 15, 16, 8, 9, 15, 15, 15, 14, 10, 17, 16, 16, 17, 15, 15, 17, 15, 15, 0, 15, 14, 15, 15, 10, 16, 0, 8, 17, 16, 15, 0, 15, 15, 7, 14, 9, 11, 0, 15, 9, 15, 15, 0, 0, 15, 15, 16, 16, 9, 0, 17, 17, 10, 8, 8, 8, 8, 8, 8, 7, 7, 8, 10, 7, 8, 10, 10, 8, 8, 7, 8, 0, 8, 7, 8, 8, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 7, 9, 8, 8, 0, 8, 1, 8, 8, 0, 2, 8, 10, 7, 10, 10, 0, 8, 8, 22, 15, 15, 8, 8, 15, 23, 14, 14, 10, 17, 16, 23, 17, 22, 23, 25, 14, 15, 0, 22, 14, 23, 23, 18, 15, 17, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 23, 8, 15, 15, 0, 0, 16, 15, 16, 22, 8, 0, 17, 17, 15, 15, 17, 8, 9, 15, 16, 15, 14, 8, 15, 14, 16, 15, 16, 16, 16, 15, 15, 0, 15, 14, 15, 15, 8, 17, 16, 8, 15, 0, 15, 0, 15, 15, 7, 14, 9, 9, 0, 15, 9, 15, 16, 0, 0, 15, 15, 14, 16, 9, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 0, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 0, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 7, 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, 0, 7, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 16, 14, 14, 7, 7, 14, 14, 14, 14, 7, 16, 14, 14, 16, 16, 14, 14, 14, 14, 0, 14, 14, 14, 14, 7, 14, 14, 9, 14, 14, 14, 0, 14, 14, 7, 0, 7, 7, 0, 14, 7, 14, 14, 0, 2, 14, 16, 14, 16, 9, 0, 14, 14, 8, 8, 9, 8, 9, 8, 8, 8, 7, 8, 8, 7, 9, 8, 8, 8, 8, 8, 8, 0, 8, 7, 8, 8, 8, 9, 9, 8, 8, 9, 8, 0, 8, 8, 7, 7, 0, 9, 0, 8, 2, 8, 8, 0, 0, 8, 8, 7, 9, 9, 0, 8, 8, 8, 8, 9, 8, 9, 8, 8, 8, 7, 10, 10, 9, 9, 10, 8, 8, 10, 8, 8, 0, 8, 7, 8, 8, 10, 9, 11, 8, 10, 9, 8, 0, 8, 8, 7, 7, 9, 0, 0, 8, 2, 8, 8, 0, 0, 8, 8, 9, 9, 9, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 15, 15, 8, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 22, 23, 23, 14, 15, 0, 22, 14, 23, 23, 16, 15, 15, 8, 23, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 0, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 8, 15, 9, 8, 2, 8, 8, 8, 7, 1, 8, 7, 9, 8, 8, 8, 8, 8, 8, 0, 8, 7, 8, 15, 1, 16, 9, 1, 8, 9, 8, 0, 8, 8, 0, 7, 2, 2, 0, 8, 0, 8, 8, 0, 0, 8, 8, 7, 9, 2, 0, 8, 8, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 0, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 15, 15, 16, 8, 8, 15, 16, 14, 14, 8, 15, 14, 15, 15, 16, 16, 16, 14, 15, 0, 15, 14, 15, 15, 8, 16, 15, 8, 15, 16, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0, 15, 15, 15, 8, 8, 15, 16, 14, 14, 8, 15, 14, 16, 15, 15, 16, 16, 14, 15, 0, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 16, 8, 15, 15, 0, 0, 0, 15, 14, 15, 8, 0, 15, 15, 17, 15, 15, 8, 8, 15, 15, 14, 14, 8, 17, 14, 15, 17, 17, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 10, 15, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 15, 8, 15, 15, 0, 2, 15, 0, 14, 17, 10, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 16, 16, 14, 16, 14, 14, 16, 14, 14, 0, 14, 14, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 16, 16, 24, 15, 16, 8, 9, 15, 22, 15, 14, 8, 17, 14, 23, 17, 24, 22, 22, 15, 15, 0, 22, 14, 22, 22, 15, 16, 16, 10, 22, 16, 15, 0, 15, 15, 7, 16, 9, 9, 0, 22, 9, 15, 15, 0, 2, 15, 17, 14, 0, 11, 0, 15, 15, 13, 8, 9, 8, 9, 8, 8, 8, 7, 8, 13, 7, 9, 13, 10, 8, 8, 8, 8, 0, 8, 7, 8, 8, 8, 9, 9, 10, 8, 9, 8, 0, 8, 8, 7, 9, 9, 9, 0, 8, 2, 8, 8, 0, 2, 8, 10, 7, 11, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 17, 16, 15, 17, 15, 15, 17, 14, 15, 0, 15, 14, 15, 15, 10, 15, 17, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 0, 17, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 17, 16, 15, 17, 15, 15, 17, 14, 15, 0, 15, 14, 15, 15, 10, 15, 17, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 17, 0, 0, 18, 17, 9, 10, 17, 25, 17, 17, 8, 15, 14, 25, 15, 26, 25, 23, 17, 19, 22, 0, 16, 25, 25, 16, 17, 15, 10, 23, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 27, 10, 18, 17, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 18, 0, 17, 9, 10, 17, 18, 16, 17, 8, 16, 14, 18, 15, 18, 18, 15, 16, 18, 15, 0, 16, 18, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 18, 18, 14, 17, 10, 0, 15, 15, 17, 17, 0, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 9, 9, 8, 0, 8, 10, 8, 7, 8, 8, 8, 7, 8, 8, 8, 9, 10, 7, 9, 8, 0, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 11, 1, 8, 8, 0, 0, 9, 8, 7, 8, 8, 0, 8, 10, 10, 10, 10, 8, 0, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 0, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 17, 17, 17, 10, 10, 0, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 17, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 21, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 17, 25, 18, 17, 8, 10, 17, 0, 16, 16, 8, 16, 21, 26, 15, 26, 24, 23, 16, 17, 22, 0, 16, 26, 26, 16, 17, 16, 10, 23, 17, 24, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 24, 0, 9, 17, 18, 14, 24, 10, 0, 15, 15, 17, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 17, 16, 14, 17, 17, 14, 0, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 17, 9, 17, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 16, 8, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 17, 14, 16, 17, 14, 0, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 17, 9, 16, 16, 0, 2, 17, 16, 14, 16, 9, 0, 14, 14, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 0, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 0, 14, 16, 15, 16, 15, 15, 14, 15, 15, 0, 14, 16, 16, 8, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 14, 14, 14, 7, 7, 14, 21, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 7, 14, 14, 7, 14, 14, 21, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 21, 0, 7, 14, 14, 14, 14, 7, 0, 14, 14, 25, 18, 17, 8, 10, 17, 26, 16, 16, 8, 16, 14, 0, 15, 26, 24, 23, 16, 17, 22, 0, 16, 26, 26, 16, 17, 16, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 17, 18, 14, 24, 10, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 0, 15, 15, 15, 14, 15, 15, 0, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 26, 18, 17, 8, 10, 17, 26, 17, 16, 8, 16, 14, 26, 15, 0, 24, 23, 17, 18, 22, 0, 16, 26, 26, 16, 17, 16, 10, 23, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 26, 10, 18, 17, 0, 2, 17, 18, 14, 24, 10, 0, 15, 15, 25, 18, 17, 9, 10, 17, 24, 16, 17, 8, 15, 14, 24, 15, 24, 0, 22, 16, 18, 22, 0, 16, 24, 24, 15, 17, 15, 10, 22, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 23, 15, 15, 10, 8, 17, 23, 14, 14, 8, 15, 14, 23, 15, 23, 22, 0, 14, 15, 22, 0, 14, 23, 23, 16, 15, 15, 8, 23, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 25, 8, 15, 15, 0, 0, 15, 15, 14, 22, 8, 0, 15, 17, 17, 16, 16, 7, 9, 16, 16, 17, 16, 7, 14, 14, 16, 14, 17, 16, 14, 0, 17, 14, 0, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 17, 9, 17, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 19, 18, 17, 9, 10, 17, 17, 17, 17, 8, 15, 14, 17, 15, 18, 18, 15, 17, 0, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 19, 10, 18, 17, 0, 2, 18, 17, 14, 17, 10, 0, 15, 15, 22, 15, 15, 8, 8, 15, 22, 14, 14, 8, 15, 14, 22, 15, 22, 22, 22, 14, 15, 0, 0, 14, 22, 22, 15, 15, 15, 8, 22, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 22, 8, 15, 15, 0, 0, 15, 15, 14, 22, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 0, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 25, 18, 17, 8, 10, 17, 26, 16, 16, 8, 16, 14, 26, 15, 26, 24, 23, 16, 17, 22, 0, 16, 0, 26, 16, 17, 16, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 17, 18, 14, 24, 10, 0, 15, 15, 25, 18, 17, 8, 10, 17, 26, 16, 16, 8, 16, 14, 26, 15, 26, 24, 23, 16, 17, 22, 0, 16, 26, 0, 16, 17, 16, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 17, 18, 14, 24, 10, 0, 15, 15, 16, 8, 8, 8, 8, 8, 16, 7, 7, 8, 8, 7, 16, 8, 16, 15, 16, 7, 8, 15, 0, 7, 16, 16, 0, 8, 8, 8, 16, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 16, 1, 8, 8, 0, 0, 8, 8, 7, 15, 8, 0, 8, 8, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 16, 14, 16, 15, 16, 15, 15, 14, 15, 15, 0, 14, 16, 16, 8, 15, 0, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 0, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 23, 15, 15, 8, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 23, 22, 23, 14, 15, 22, 0, 14, 23, 23, 16, 15, 15, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 15, 0, 0, 15, 15, 14, 22, 8, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 24, 16, 16, 8, 15, 21, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 24, 0, 9, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 18, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 18, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 18, 10, 18, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 0, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 0, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 0, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 0, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 0, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 18, 17, 11, 10, 21, 25, 17, 17, 8, 15, 14, 25, 15, 26, 25, 25, 17, 19, 22, 0, 16, 25, 25, 16, 17, 15, 10, 23, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 0, 10, 18, 17, 0, 2, 18, 17, 14, 24, 10, 0, 15, 17, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 0, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 18, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 18, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 18, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 24, 16, 16, 8, 15, 21, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 24, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 9, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 9, 2, 2, 0, 0, 7, 2, 0, 2, 2, 0, 2, 2, 0, 0, 2, 2, 2, 0, 2, 0, 2, 0, 2, 9, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 9, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 18, 18, 17, 9, 10, 17, 17, 16, 17, 8, 15, 14, 17, 15, 17, 18, 15, 16, 18, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 17, 18, 17, 8, 10, 17, 18, 16, 16, 8, 16, 14, 18, 15, 18, 17, 15, 16, 17, 15, 0, 16, 18, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 24, 17, 17, 8, 10, 17, 24, 16, 16, 8, 15, 14, 24, 15, 24, 24, 22, 16, 17, 22, 0, 16, 24, 24, 15, 17, 15, 10, 22, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 24, 10, 17, 17, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 0, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 0, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 15, 15, 15, 10, 8, 17, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 17, 14, 15, 15, 0, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 17, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 0, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 0, 16, 7, 9, 16, 16, 16, 16, 9, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 9, 18, 14, 9, 16, 18, 16, 0, 16, 16, 9, 16, 11, 9, 0, 16, 9, 18, 16, 0, 2, 18, 16, 16, 16, 9, 0, 16, 14, 16, 16, 0, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 7, 7, 7, 0, 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, 0, 7, 7, 7, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 9, 9, 16, 7, 0, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 0, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 16, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 16, 16, 16, 7, 9, 0, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 0, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 0, 17, 7, 14, 15, 16, 14, 16, 16, 14, 17, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 10, 17, 9, 7, 0, 16, 9, 16, 16, 0, 3, 16, 16, 15, 16, 9, 0, 14, 14, 16, 16, 23, 7, 16, 16, 16, 17, 0, 14, 14, 16, 23, 21, 23, 16, 21, 24, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 17, 18, 16, 14, 0, 23, 9, 23, 16, 0, 3, 16, 23, 17, 16, 9, 0, 21, 21, 7, 9, 14, 7, 14, 7, 7, 7, 14, 0, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 0, 14, 7, 9, 9, 7, 14, 16, 9, 7, 0, 7, 7, 14, 7, 16, 16, 0, 14, 0, 16, 7, 0, 0, 9, 14, 9, 7, 7, 0, 16, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 15, 16, 7, 14, 0, 14, 14, 14, 14, 14, 15, 14, 14, 14, 0, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 8, 15, 7, 7, 0, 14, 7, 14, 14, 0, 1, 14, 14, 16, 14, 7, 0, 14, 14, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 0, 21, 23, 16, 21, 23, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 11, 0, 21, 21, 14, 14, 21, 7, 14, 14, 14, 14, 21, 14, 14, 14, 21, 0, 21, 14, 21, 21, 21, 14, 14, 0, 21, 14, 7, 14, 14, 14, 21, 14, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 7, 0, 21, 21, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 0, 16, 21, 23, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 0, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 14, 14, 21, 7, 14, 14, 14, 14, 21, 14, 14, 14, 21, 21, 21, 14, 0, 21, 21, 14, 14, 0, 21, 14, 7, 14, 14, 14, 21, 14, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 7, 0, 21, 21, 16, 16, 23, 7, 16, 16, 16, 17, 24, 14, 14, 15, 23, 21, 23, 16, 21, 0, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 17, 17, 16, 14, 0, 23, 9, 23, 16, 0, 3, 16, 23, 15, 16, 9, 0, 21, 21, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 23, 0, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 0, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 0, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 0, 0, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 0, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 7, 9, 7, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 0, 9, 7, 7, 9, 9, 7, 0, 7, 7, 7, 7, 9, 9, 0, 7, 0, 9, 7, 0, 0, 9, 7, 9, 7, 7, 0, 9, 7, 16, 18, 16, 7, 9, 16, 16, 16, 16, 9, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 9, 0, 14, 9, 16, 18, 16, 0, 16, 16, 9, 16, 11, 9, 0, 16, 9, 18, 16, 0, 2, 18, 16, 16, 16, 9, 0, 16, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 7, 14, 0, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 0, 16, 9, 7, 9, 7, 0, 14, 9, 10, 1, 9, 9, 17, 10, 16, 14, 1, 16, 2, 17, 9, 1, 2, 9, 17, 8, 9, 9, 0, 14, 14, 14, 16, 21, 7, 14, 14, 14, 14, 21, 16, 14, 14, 21, 21, 21, 14, 21, 21, 21, 14, 14, 0, 21, 14, 9, 16, 14, 14, 0, 16, 14, 0, 14, 14, 14, 14, 16, 16, 0, 21, 7, 23, 14, 0, 0, 16, 21, 16, 14, 7, 0, 23, 21, 16, 18, 16, 7, 9, 16, 16, 16, 16, 9, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 9, 18, 14, 9, 16, 0, 16, 0, 16, 16, 9, 16, 11, 9, 0, 16, 9, 18, 16, 0, 2, 18, 16, 16, 16, 9, 0, 16, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 10, 14, 16, 0, 1, 16, 16, 10, 17, 9, 7, 1, 16, 9, 17, 16, 1, 2, 16, 17, 15, 16, 9, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 0, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 0, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 9, 9, 16, 7, 16, 9, 9, 10, 17, 14, 7, 8, 16, 14, 16, 9, 14, 17, 16, 7, 9, 0, 16, 9, 7, 9, 7, 17, 14, 9, 10, 1, 9, 9, 0, 11, 16, 14, 1, 16, 2, 17, 9, 1, 3, 9, 17, 9, 9, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 17, 18, 7, 14, 15, 16, 14, 16, 16, 14, 17, 16, 14, 16, 0, 16, 16, 7, 16, 14, 10, 14, 16, 17, 1, 16, 16, 11, 0, 9, 7, 1, 16, 9, 17, 16, 1, 3, 16, 17, 17, 16, 9, 0, 14, 14, 9, 11, 16, 7, 16, 9, 9, 9, 16, 16, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 0, 16, 9, 9, 11, 7, 16, 16, 11, 9, 0, 9, 9, 16, 9, 0, 16, 0, 16, 2, 18, 9, 0, 2, 11, 16, 9, 9, 9, 0, 16, 14, 7, 9, 14, 7, 14, 7, 7, 7, 14, 16, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 0, 14, 7, 9, 9, 7, 14, 16, 9, 7, 0, 7, 7, 14, 7, 16, 0, 0, 14, 0, 16, 7, 0, 0, 9, 14, 9, 7, 7, 0, 16, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 0, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 9, 9, 9, 0, 2, 9, 9, 9, 9, 0, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 0, 9, 9, 0, 9, 7, 2, 7, 9, 9, 0, 9, 9, 2, 9, 2, 0, 0, 9, 0, 9, 9, 0, 2, 9, 9, 7, 9, 2, 0, 7, 7, 16, 18, 23, 7, 16, 16, 16, 16, 23, 16, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 0, 23, 16, 9, 18, 14, 17, 23, 18, 17, 1, 16, 16, 17, 17, 18, 16, 1, 23, 9, 0, 16, 1, 2, 18, 24, 17, 16, 9, 0, 23, 21, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 0, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 3, 3, 0, 0, 1, 2, 0, 2, 2, 0, 3, 2, 0, 2, 0, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 3, 3, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 2, 0, 0, 0, 16, 18, 16, 7, 9, 16, 16, 16, 16, 9, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 9, 18, 14, 9, 16, 18, 16, 0, 16, 16, 9, 16, 11, 9, 0, 16, 9, 18, 16, 0, 2, 0, 16, 16, 16, 9, 0, 16, 14, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 0, 23, 16, 7, 16, 14, 17, 21, 16, 17, 1, 16, 16, 17, 17, 16, 14, 1, 23, 9, 24, 16, 1, 2, 16, 0, 15, 16, 9, 0, 21, 21, 14, 16, 14, 7, 7, 14, 14, 15, 17, 9, 14, 16, 14, 14, 14, 14, 14, 15, 14, 14, 14, 0, 14, 14, 9, 16, 14, 8, 16, 16, 15, 1, 14, 14, 9, 17, 9, 9, 1, 14, 7, 17, 14, 1, 1, 16, 15, 0, 14, 7, 0, 16, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 0, 9, 0, 14, 14, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 11, 7, 9, 9, 7, 9, 9, 7, 9, 0, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 9, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 16, 21, 7, 14, 14, 14, 14, 21, 16, 14, 14, 21, 21, 21, 14, 21, 21, 21, 14, 14, 0, 21, 14, 9, 16, 14, 14, 23, 16, 14, 0, 14, 14, 14, 14, 16, 16, 0, 21, 7, 23, 14, 0, 0, 16, 21, 16, 14, 7, 0, 0, 21, 14, 14, 21, 7, 14, 14, 14, 14, 21, 14, 14, 14, 21, 21, 21, 14, 21, 21, 21, 14, 14, 0, 21, 14, 7, 14, 14, 14, 21, 14, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 7, 0, 21, 0, 0, 17, 17, 8, 10, 17, 25, 16, 16, 8, 15, 14, 25, 15, 25, 24, 23, 16, 17, 22, 25, 16, 0, 25, 16, 17, 15, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 17, 17, 14, 24, 10, 0, 15, 15, 17, 0, 17, 8, 10, 17, 18, 16, 16, 8, 16, 14, 18, 15, 18, 17, 15, 16, 17, 15, 18, 16, 0, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 18, 14, 17, 10, 0, 15, 15, 17, 17, 0, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 0, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 0, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 17, 8, 0, 10, 12, 9, 16, 15, 8, 9, 17, 15, 17, 12, 15, 18, 17, 8, 10, 16, 0, 10, 8, 10, 10, 17, 15, 10, 12, 0, 12, 12, 16, 9, 17, 15, 0, 17, 5, 17, 12, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 17, 17, 17, 8, 10, 0, 18, 16, 16, 9, 15, 15, 17, 16, 18, 17, 16, 16, 17, 15, 17, 16, 0, 18, 9, 17, 15, 10, 16, 17, 17, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 25, 18, 17, 8, 12, 18, 0, 16, 16, 9, 16, 17, 27, 16, 27, 27, 25, 18, 17, 23, 26, 16, 0, 28, 18, 17, 18, 10, 25, 17, 19, 0, 20, 20, 9, 16, 10, 8, 0, 26, 12, 17, 19, 0, 2, 18, 18, 14, 24, 10, 0, 15, 16, 16, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 0, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 23, 7, 16, 16, 16, 16, 0, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 23, 0, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 8, 8, 15, 8, 15, 9, 9, 7, 14, 0, 8, 8, 15, 16, 16, 8, 16, 14, 15, 8, 8, 14, 0, 9, 9, 8, 8, 15, 16, 8, 8, 0, 9, 9, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 16, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 0, 14, 16, 15, 16, 15, 15, 14, 15, 15, 16, 14, 0, 16, 8, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 14, 14, 14, 7, 9, 15, 17, 14, 14, 8, 14, 0, 14, 15, 15, 16, 15, 16, 14, 14, 14, 14, 0, 15, 8, 14, 16, 7, 15, 14, 16, 0, 17, 17, 7, 14, 7, 7, 0, 14, 9, 14, 16, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 25, 18, 24, 8, 17, 17, 27, 16, 23, 15, 16, 14, 0, 22, 33, 25, 31, 23, 24, 23, 26, 23, 0, 27, 17, 17, 16, 17, 31, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 33, 10, 24, 17, 0, 2, 18, 25, 14, 24, 10, 0, 22, 22, 15, 15, 22, 8, 15, 16, 16, 14, 21, 16, 15, 15, 22, 0, 23, 15, 23, 21, 22, 15, 15, 21, 0, 16, 9, 15, 15, 15, 23, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 23, 25, 18, 24, 8, 17, 18, 27, 16, 23, 16, 16, 15, 33, 23, 0, 24, 31, 23, 24, 22, 26, 23, 0, 27, 17, 17, 16, 17, 31, 17, 17, 0, 18, 18, 16, 16, 17, 15, 0, 32, 10, 24, 17, 0, 2, 17, 25, 14, 24, 10, 0, 22, 23, 24, 17, 17, 8, 12, 17, 27, 16, 16, 8, 15, 16, 25, 15, 24, 0, 23, 18, 17, 23, 24, 16, 0, 25, 16, 17, 17, 10, 23, 17, 19, 0, 19, 19, 9, 16, 10, 8, 0, 25, 12, 17, 19, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 23, 15, 22, 8, 15, 16, 25, 14, 21, 16, 15, 15, 31, 23, 31, 23, 0, 21, 22, 23, 23, 21, 0, 25, 18, 15, 15, 15, 32, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 31, 8, 22, 15, 0, 0, 16, 22, 14, 22, 8, 0, 22, 23, 16, 16, 23, 7, 18, 16, 18, 16, 23, 14, 14, 16, 23, 21, 23, 18, 21, 0, 23, 14, 16, 23, 0, 16, 7, 16, 16, 16, 21, 16, 18, 0, 18, 18, 16, 16, 16, 14, 0, 23, 11, 23, 18, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 0, 15, 17, 23, 0, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 22, 15, 15, 8, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 22, 23, 23, 14, 15, 0, 22, 14, 0, 23, 16, 15, 15, 8, 23, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 25, 18, 17, 8, 10, 17, 26, 16, 16, 8, 16, 14, 26, 15, 26, 24, 23, 16, 17, 22, 0, 16, 0, 26, 16, 17, 16, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 17, 18, 14, 24, 10, 0, 15, 15, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 0, 0, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 18, 17, 8, 10, 18, 28, 16, 16, 9, 16, 15, 27, 16, 27, 25, 25, 16, 17, 23, 26, 16, 0, 0, 18, 17, 16, 10, 25, 17, 17, 0, 18, 18, 9, 16, 10, 8, 0, 26, 10, 17, 17, 0, 2, 18, 18, 14, 24, 10, 0, 15, 16, 16, 8, 8, 8, 8, 9, 18, 7, 7, 9, 8, 8, 17, 9, 17, 16, 18, 7, 8, 16, 16, 7, 0, 18, 0, 8, 8, 8, 18, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 17, 1, 8, 8, 0, 0, 9, 8, 7, 15, 8, 0, 8, 9, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 0, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 16, 15, 8, 10, 15, 18, 14, 14, 8, 16, 16, 16, 15, 16, 17, 15, 16, 15, 15, 16, 14, 0, 16, 8, 15, 0, 8, 15, 15, 17, 0, 17, 17, 7, 14, 8, 8, 0, 15, 10, 15, 17, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 0, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 23, 15, 22, 8, 15, 16, 25, 14, 21, 16, 15, 15, 31, 23, 31, 23, 32, 21, 22, 23, 23, 21, 0, 25, 18, 15, 15, 15, 0, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 31, 8, 22, 15, 0, 0, 16, 22, 14, 22, 8, 0, 22, 23, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 0, 17, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 12, 17, 19, 16, 16, 8, 15, 16, 17, 15, 17, 19, 15, 18, 17, 15, 17, 16, 0, 17, 8, 17, 17, 10, 15, 17, 0, 0, 19, 19, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 8, 12, 18, 20, 16, 16, 9, 15, 17, 17, 16, 18, 19, 16, 18, 17, 15, 17, 16, 0, 18, 9, 17, 17, 10, 16, 17, 19, 0, 0, 20, 9, 16, 10, 8, 0, 17, 12, 17, 24, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 17, 17, 17, 8, 12, 18, 20, 16, 16, 9, 15, 17, 17, 16, 18, 19, 16, 18, 17, 15, 17, 16, 0, 18, 9, 17, 17, 10, 16, 17, 19, 0, 20, 0, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 16, 0, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 0, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 0, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 0, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 0, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 17, 24, 8, 17, 17, 26, 16, 23, 15, 15, 14, 33, 22, 32, 25, 31, 23, 24, 23, 25, 23, 0, 26, 17, 17, 15, 17, 31, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 0, 10, 24, 17, 0, 2, 18, 24, 14, 24, 10, 0, 22, 22, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 0, 10, 1, 10, 10, 3, 8, 10, 12, 0, 12, 12, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 0, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 17, 17, 17, 8, 12, 17, 19, 16, 16, 8, 15, 16, 17, 15, 17, 19, 15, 18, 17, 15, 17, 16, 0, 17, 8, 17, 17, 10, 15, 17, 19, 0, 24, 19, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 0, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 17, 17, 17, 8, 10, 17, 18, 16, 16, 8, 15, 14, 18, 15, 17, 18, 16, 16, 17, 16, 17, 16, 0, 18, 9, 17, 15, 10, 16, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 17, 18, 24, 8, 17, 17, 18, 16, 23, 15, 16, 14, 25, 22, 25, 17, 22, 23, 24, 15, 18, 23, 0, 18, 8, 17, 16, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 0, 14, 17, 10, 0, 22, 22, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 24, 17, 17, 8, 10, 17, 24, 16, 16, 8, 15, 14, 24, 15, 24, 24, 22, 16, 17, 22, 24, 16, 0, 24, 15, 17, 15, 10, 22, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 24, 10, 17, 17, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 0, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 0, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 0, 22, 15, 15, 22, 8, 15, 16, 16, 14, 21, 16, 15, 15, 22, 23, 23, 15, 23, 21, 22, 15, 15, 21, 0, 16, 9, 15, 15, 15, 23, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 0, 0, 18, 17, 8, 10, 18, 26, 16, 16, 8, 15, 14, 26, 15, 25, 24, 23, 16, 17, 22, 25, 16, 25, 0, 16, 17, 16, 10, 23, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 26, 10, 17, 17, 0, 3, 18, 17, 14, 25, 10, 0, 15, 16, 18, 0, 17, 15, 10, 18, 19, 16, 16, 8, 16, 14, 19, 15, 18, 17, 15, 16, 17, 22, 18, 16, 18, 0, 8, 24, 17, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 17, 17, 17, 0, 3, 18, 18, 14, 18, 10, 0, 15, 16, 17, 17, 0, 8, 10, 18, 18, 16, 17, 8, 16, 14, 17, 15, 18, 18, 16, 16, 17, 15, 17, 16, 17, 0, 9, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 8, 15, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 15, 8, 7, 8, 0, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 10, 8, 0, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 0, 8, 10, 8, 11, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 18, 18, 18, 8, 10, 0, 20, 16, 17, 9, 16, 15, 18, 16, 19, 18, 17, 16, 17, 15, 17, 16, 18, 0, 10, 17, 16, 10, 16, 17, 17, 0, 19, 18, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 17, 26, 19, 18, 8, 10, 20, 0, 16, 17, 9, 17, 15, 28, 16, 28, 26, 26, 16, 17, 23, 26, 16, 28, 0, 19, 17, 17, 10, 25, 17, 17, 0, 19, 18, 9, 16, 10, 9, 0, 27, 10, 17, 17, 0, 3, 19, 18, 14, 25, 10, 0, 15, 17, 16, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 0, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 17, 7, 9, 17, 17, 16, 0, 7, 15, 14, 16, 14, 17, 17, 15, 16, 16, 14, 16, 16, 16, 0, 8, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 8, 8, 8, 8, 8, 9, 9, 7, 7, 0, 8, 8, 8, 9, 9, 8, 9, 7, 8, 8, 8, 7, 9, 0, 9, 8, 8, 8, 9, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 9, 15, 16, 16, 8, 8, 16, 17, 14, 15, 8, 0, 14, 16, 15, 17, 16, 16, 14, 15, 15, 16, 14, 16, 0, 9, 15, 16, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 14, 14, 14, 7, 7, 15, 15, 14, 14, 8, 14, 0, 14, 15, 15, 14, 15, 14, 14, 14, 14, 14, 15, 0, 8, 14, 14, 7, 15, 14, 14, 0, 15, 15, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 26, 19, 17, 8, 10, 18, 28, 16, 16, 8, 16, 14, 0, 15, 26, 25, 24, 16, 17, 23, 26, 16, 27, 0, 17, 17, 17, 10, 24, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 27, 10, 17, 17, 0, 3, 19, 18, 14, 25, 10, 0, 15, 16, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 0, 16, 15, 16, 14, 15, 15, 15, 14, 16, 0, 9, 15, 15, 8, 16, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 25, 18, 18, 8, 10, 19, 28, 16, 17, 9, 17, 15, 26, 16, 0, 25, 25, 16, 17, 22, 26, 16, 27, 0, 18, 17, 16, 10, 24, 17, 17, 0, 18, 18, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 17, 18, 14, 24, 10, 0, 15, 16, 24, 17, 18, 8, 10, 18, 26, 16, 17, 8, 16, 14, 25, 15, 25, 0, 24, 16, 17, 23, 24, 16, 25, 0, 17, 17, 15, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 18, 17, 14, 24, 10, 0, 15, 15, 23, 15, 16, 8, 8, 17, 26, 14, 15, 9, 16, 15, 24, 16, 25, 24, 0, 14, 15, 23, 23, 14, 25, 0, 19, 15, 15, 8, 25, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 24, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 16, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 0, 16, 14, 16, 16, 16, 0, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 0, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 22, 22, 15, 15, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 22, 23, 23, 14, 15, 0, 22, 14, 23, 0, 16, 22, 15, 8, 23, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 15, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 25, 18, 17, 8, 10, 17, 26, 16, 16, 8, 16, 14, 26, 15, 26, 24, 23, 16, 17, 22, 0, 16, 26, 0, 16, 17, 16, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 25, 10, 17, 17, 0, 2, 17, 18, 14, 24, 10, 0, 15, 15, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 0, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 25, 18, 17, 8, 10, 18, 28, 16, 16, 9, 16, 15, 27, 16, 27, 25, 25, 16, 17, 23, 26, 16, 0, 0, 18, 17, 16, 10, 25, 17, 17, 0, 18, 18, 9, 16, 10, 8, 0, 26, 10, 17, 17, 0, 2, 18, 18, 14, 24, 10, 0, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 8, 9, 8, 8, 10, 19, 7, 8, 9, 9, 8, 17, 9, 18, 17, 19, 7, 8, 16, 16, 7, 18, 0, 0, 8, 8, 8, 18, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 17, 1, 8, 8, 0, 0, 9, 8, 7, 15, 8, 0, 8, 9, 17, 24, 17, 15, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 22, 17, 16, 17, 0, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 17, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 16, 17, 15, 8, 8, 16, 17, 14, 14, 8, 16, 14, 17, 15, 16, 15, 15, 14, 15, 15, 16, 14, 16, 0, 8, 15, 0, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 16, 14, 16, 8, 0, 15, 16, 10, 10, 10, 8, 11, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 0, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 23, 15, 15, 8, 8, 16, 25, 14, 14, 9, 15, 15, 24, 16, 24, 23, 25, 14, 15, 23, 23, 14, 25, 0, 18, 15, 15, 8, 0, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 24, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 16, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 0, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 0, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 17, 8, 10, 19, 19, 16, 16, 9, 15, 15, 18, 16, 18, 17, 16, 16, 17, 15, 17, 16, 18, 0, 9, 17, 16, 10, 16, 17, 17, 0, 0, 18, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 17, 17, 17, 17, 8, 10, 18, 18, 16, 16, 9, 15, 15, 17, 16, 18, 17, 16, 16, 17, 15, 17, 16, 18, 0, 9, 17, 15, 10, 16, 17, 17, 0, 18, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 0, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 0, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 0, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 8, 8, 8, 9, 9, 7, 7, 8, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 0, 8, 8, 9, 8, 8, 8, 8, 0, 9, 8, 7, 7, 8, 0, 0, 9, 1, 8, 8, 0, 1, 9, 8, 7, 9, 8, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 18, 17, 8, 10, 18, 27, 16, 16, 8, 15, 14, 27, 15, 25, 25, 24, 16, 17, 23, 25, 16, 26, 0, 17, 17, 16, 10, 24, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 19, 17, 14, 25, 10, 0, 15, 16, 10, 17, 10, 8, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 15, 10, 9, 10, 0, 1, 17, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 0, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 0, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 0, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 18, 18, 17, 8, 10, 18, 19, 16, 16, 8, 15, 14, 19, 15, 17, 18, 16, 16, 17, 16, 17, 16, 18, 0, 9, 17, 16, 10, 16, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 19, 10, 17, 17, 0, 3, 0, 17, 14, 18, 10, 0, 15, 16, 17, 18, 17, 8, 10, 17, 18, 16, 16, 8, 16, 14, 18, 15, 18, 17, 15, 16, 17, 15, 18, 16, 18, 0, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 25, 18, 17, 8, 10, 18, 25, 16, 16, 8, 15, 14, 25, 15, 24, 24, 22, 16, 17, 22, 24, 16, 24, 0, 15, 17, 16, 10, 22, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 25, 10, 17, 17, 0, 3, 18, 17, 14, 0, 10, 0, 15, 16, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 0, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 0, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 16, 16, 15, 8, 8, 17, 17, 14, 14, 9, 15, 15, 16, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 0, 9, 15, 16, 8, 16, 15, 15, 0, 17, 16, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 0, 0, 9, 8, 8, 9, 15, 16, 14, 7, 8, 15, 7, 16, 8, 16, 22, 16, 7, 8, 15, 16, 7, 16, 16, 0, 8, 15, 8, 16, 16, 8, 0, 15, 15, 7, 14, 8, 8, 0, 16, 1, 8, 8, 0, 0, 15, 8, 14, 22, 15, 0, 8, 8, 9, 0, 8, 8, 9, 8, 8, 7, 7, 10, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 8, 0, 10, 8, 8, 10, 11, 8, 0, 8, 8, 7, 7, 10, 10, 0, 8, 1, 10, 8, 0, 0, 10, 8, 9, 8, 8, 0, 10, 8, 8, 8, 0, 8, 8, 9, 9, 7, 8, 8, 9, 7, 8, 8, 9, 9, 9, 7, 8, 8, 8, 7, 8, 9, 0, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 9, 9, 8, 8, 0, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 15, 8, 9, 8, 8, 0, 10, 14, 8, 9, 16, 8, 8, 9, 10, 16, 10, 7, 8, 8, 8, 7, 9, 10, 0, 8, 15, 8, 9, 15, 8, 0, 16, 16, 7, 14, 8, 8, 0, 8, 1, 8, 8, 0, 0, 15, 8, 14, 15, 15, 0, 8, 9, 16, 8, 9, 8, 8, 10, 0, 7, 8, 9, 9, 8, 17, 9, 18, 17, 19, 7, 8, 16, 16, 7, 18, 19, 0, 8, 8, 8, 18, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 17, 1, 8, 8, 0, 0, 9, 8, 7, 15, 8, 0, 8, 9, 14, 7, 7, 7, 7, 14, 7, 0, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 14, 7, 7, 14, 7, 0, 14, 14, 7, 14, 7, 7, 0, 7, 0, 7, 7, 0, 0, 14, 7, 14, 14, 14, 0, 7, 7, 7, 7, 8, 7, 7, 8, 8, 7, 0, 7, 8, 7, 7, 7, 8, 8, 8, 7, 7, 7, 7, 7, 7, 8, 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 8, 10, 8, 8, 8, 9, 9, 7, 7, 0, 10, 10, 8, 11, 9, 8, 11, 7, 8, 10, 8, 9, 9, 9, 0, 10, 10, 8, 13, 10, 8, 0, 9, 9, 7, 7, 10, 12, 0, 8, 1, 10, 8, 0, 0, 10, 8, 11, 8, 8, 0, 12, 11, 15, 8, 9, 8, 8, 16, 9, 14, 8, 10, 0, 9, 8, 10, 9, 16, 11, 7, 8, 10, 8, 7, 8, 9, 0, 8, 17, 8, 10, 15, 8, 0, 15, 15, 7, 14, 8, 10, 0, 8, 1, 8, 8, 0, 0, 15, 8, 16, 15, 15, 0, 10, 10, 7, 7, 7, 7, 7, 8, 8, 7, 7, 10, 9, 0, 7, 10, 8, 7, 10, 7, 7, 9, 7, 7, 8, 8, 0, 7, 9, 7, 10, 7, 7, 0, 8, 8, 7, 7, 7, 9, 0, 7, 0, 7, 7, 0, 0, 7, 7, 9, 7, 7, 0, 9, 10, 16, 8, 8, 8, 8, 8, 17, 7, 7, 8, 8, 7, 0, 8, 16, 16, 17, 7, 8, 16, 16, 7, 17, 17, 0, 8, 8, 8, 17, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 17, 1, 8, 8, 0, 0, 9, 8, 7, 15, 8, 0, 8, 8, 8, 8, 8, 8, 8, 9, 9, 7, 7, 11, 10, 10, 8, 0, 9, 8, 11, 7, 8, 10, 8, 7, 9, 9, 0, 8, 10, 8, 11, 8, 8, 0, 9, 9, 7, 7, 8, 10, 0, 8, 1, 8, 8, 0, 0, 8, 8, 9, 8, 8, 0, 10, 11, 16, 8, 9, 8, 8, 10, 18, 7, 8, 9, 9, 8, 16, 9, 0, 16, 18, 7, 8, 15, 16, 7, 17, 18, 0, 8, 8, 8, 17, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 16, 1, 8, 8, 0, 0, 8, 8, 7, 15, 8, 0, 8, 9, 22, 8, 9, 8, 8, 16, 17, 14, 8, 8, 16, 7, 16, 8, 16, 0, 17, 7, 8, 16, 15, 7, 16, 17, 0, 8, 15, 8, 16, 15, 8, 0, 15, 15, 7, 14, 8, 8, 0, 16, 1, 8, 8, 0, 0, 16, 8, 14, 22, 15, 0, 8, 8, 16, 8, 9, 8, 8, 10, 19, 7, 8, 11, 11, 10, 17, 11, 18, 17, 0, 7, 8, 18, 16, 7, 18, 19, 0, 8, 10, 8, 20, 8, 8, 0, 9, 9, 7, 7, 8, 10, 0, 17, 1, 8, 8, 0, 0, 9, 8, 9, 15, 8, 0, 10, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 15, 8, 8, 8, 8, 8, 16, 7, 7, 10, 10, 9, 16, 10, 15, 16, 18, 7, 8, 0, 15, 7, 16, 16, 0, 8, 10, 8, 18, 8, 8, 0, 8, 8, 7, 7, 8, 10, 0, 16, 1, 8, 8, 0, 0, 9, 8, 9, 15, 8, 0, 10, 10, 16, 8, 8, 8, 8, 8, 16, 7, 7, 8, 8, 7, 16, 8, 16, 15, 16, 7, 8, 15, 0, 7, 16, 16, 0, 8, 8, 8, 16, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 16, 1, 8, 8, 0, 0, 8, 8, 7, 15, 8, 0, 8, 8, 7, 9, 7, 7, 7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 0, 9, 7, 7, 9, 9, 7, 0, 7, 7, 7, 7, 9, 9, 0, 7, 0, 9, 7, 0, 0, 9, 7, 9, 7, 7, 0, 9, 7, 16, 8, 8, 8, 8, 9, 18, 7, 7, 9, 8, 8, 17, 9, 17, 16, 18, 7, 8, 16, 16, 7, 0, 18, 0, 8, 8, 8, 18, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 17, 1, 8, 8, 0, 0, 9, 8, 7, 15, 8, 0, 8, 9, 16, 8, 9, 8, 8, 10, 19, 7, 8, 9, 9, 8, 17, 9, 18, 17, 19, 7, 8, 16, 16, 7, 18, 0, 0, 8, 8, 8, 18, 8, 8, 0, 9, 9, 7, 7, 8, 8, 0, 17, 1, 8, 8, 0, 0, 9, 8, 7, 15, 8, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 8, 8, 8, 8, 8, 7, 7, 10, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 8, 0, 0, 8, 8, 10, 10, 8, 0, 8, 8, 7, 7, 10, 10, 0, 8, 1, 10, 8, 0, 0, 10, 8, 9, 8, 8, 0, 10, 8, 15, 8, 8, 8, 8, 15, 8, 14, 7, 10, 17, 9, 8, 10, 8, 15, 10, 7, 8, 10, 8, 7, 8, 8, 0, 8, 0, 8, 10, 15, 8, 0, 15, 15, 7, 14, 8, 10, 0, 8, 1, 8, 8, 0, 0, 15, 8, 16, 15, 15, 0, 10, 10, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 0, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 16, 10, 8, 8, 8, 9, 18, 7, 7, 13, 10, 10, 17, 11, 17, 16, 20, 7, 8, 18, 16, 9, 18, 18, 0, 10, 10, 8, 0, 10, 8, 0, 9, 9, 7, 7, 10, 12, 0, 17, 1, 10, 8, 0, 0, 11, 8, 11, 15, 8, 0, 12, 11, 16, 11, 8, 8, 9, 15, 8, 14, 7, 10, 15, 7, 8, 8, 8, 15, 8, 7, 8, 8, 8, 9, 8, 8, 0, 10, 15, 8, 10, 0, 8, 0, 15, 15, 7, 14, 10, 10, 0, 8, 1, 10, 8, 0, 0, 17, 8, 16, 15, 15, 0, 10, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 0, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 8, 8, 8, 8, 16, 9, 14, 7, 9, 15, 8, 8, 9, 9, 15, 9, 7, 8, 8, 8, 7, 9, 9, 0, 8, 15, 8, 9, 15, 8, 0, 0, 16, 7, 14, 8, 8, 0, 8, 1, 8, 8, 0, 0, 15, 8, 14, 15, 15, 0, 8, 9, 15, 8, 8, 8, 8, 16, 9, 14, 7, 9, 15, 8, 8, 9, 9, 15, 9, 7, 8, 8, 8, 7, 9, 9, 0, 8, 15, 8, 9, 15, 8, 0, 16, 0, 7, 14, 8, 8, 0, 8, 1, 8, 8, 0, 0, 15, 8, 14, 15, 15, 0, 8, 9, 7, 7, 7, 7, 7, 7, 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, 0, 7, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 14, 7, 7, 7, 7, 14, 7, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 14, 7, 7, 14, 7, 0, 14, 14, 7, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 14, 7, 14, 14, 14, 0, 7, 7, 8, 10, 8, 8, 8, 8, 8, 7, 7, 10, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 8, 0, 10, 8, 8, 10, 10, 8, 0, 8, 8, 7, 7, 0, 10, 0, 8, 1, 10, 8, 0, 0, 10, 8, 9, 8, 8, 0, 10, 8, 8, 10, 8, 8, 8, 8, 8, 7, 7, 12, 10, 9, 8, 10, 8, 8, 10, 7, 8, 10, 8, 9, 8, 8, 0, 10, 10, 8, 12, 10, 8, 0, 8, 8, 7, 7, 10, 0, 0, 8, 1, 10, 8, 0, 0, 10, 8, 11, 8, 8, 0, 12, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 8, 8, 8, 8, 8, 17, 7, 7, 8, 8, 7, 17, 8, 16, 16, 17, 7, 8, 16, 16, 7, 17, 17, 0, 8, 8, 8, 17, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 0, 1, 8, 8, 0, 0, 9, 8, 7, 15, 8, 0, 8, 8, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 8, 10, 8, 8, 8, 8, 8, 7, 7, 10, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 8, 0, 10, 8, 8, 10, 10, 8, 0, 8, 8, 7, 7, 10, 10, 0, 8, 1, 0, 8, 0, 0, 10, 8, 9, 8, 8, 0, 10, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 0, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 10, 8, 8, 8, 15, 9, 14, 7, 10, 15, 7, 9, 8, 8, 16, 9, 7, 8, 9, 8, 9, 9, 9, 0, 10, 15, 8, 11, 17, 8, 0, 15, 15, 7, 14, 10, 10, 0, 9, 1, 10, 8, 0, 0, 0, 8, 16, 15, 15, 0, 10, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 0, 7, 8, 8, 0, 8, 8, 14, 9, 7, 7, 7, 14, 7, 14, 7, 11, 16, 9, 7, 9, 7, 14, 9, 7, 7, 9, 7, 9, 7, 7, 0, 9, 16, 7, 11, 16, 7, 0, 14, 14, 7, 14, 9, 11, 0, 7, 0, 9, 7, 0, 0, 16, 7, 0, 14, 14, 0, 11, 9, 22, 8, 8, 8, 8, 15, 15, 14, 7, 8, 15, 7, 15, 8, 15, 22, 15, 7, 8, 15, 15, 7, 15, 15, 0, 8, 15, 8, 15, 15, 8, 0, 15, 15, 7, 14, 8, 8, 0, 15, 1, 8, 8, 0, 0, 15, 8, 14, 0, 15, 0, 8, 8, 15, 8, 8, 8, 8, 15, 8, 14, 7, 8, 15, 7, 8, 8, 8, 15, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 15, 8, 8, 15, 8, 0, 15, 15, 7, 14, 8, 8, 0, 8, 1, 8, 8, 0, 0, 15, 8, 14, 15, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 8, 8, 8, 8, 8, 7, 7, 12, 10, 9, 8, 10, 8, 8, 10, 7, 8, 10, 8, 9, 8, 8, 0, 10, 10, 8, 12, 10, 8, 0, 8, 8, 7, 7, 10, 12, 0, 8, 1, 10, 8, 0, 0, 10, 8, 11, 8, 8, 0, 0, 10, 8, 8, 8, 8, 8, 9, 9, 7, 7, 11, 10, 10, 8, 11, 9, 8, 11, 7, 8, 10, 8, 7, 9, 9, 0, 8, 10, 8, 11, 8, 8, 0, 9, 9, 7, 7, 8, 10, 0, 8, 1, 8, 8, 0, 0, 8, 8, 9, 8, 8, 0, 10, 0, 0, 17, 18, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 18, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 17, 0, 17, 15, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 22, 17, 18, 17, 24, 10, 0, 15, 10, 17, 19, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 17, 19, 17, 0, 2, 19, 17, 16, 17, 10, 0, 17, 15, 18, 17, 0, 8, 11, 17, 18, 18, 16, 8, 15, 14, 18, 15, 18, 19, 17, 17, 17, 17, 17, 16, 17, 17, 8, 0, 16, 10, 15, 19, 18, 0, 18, 18, 9, 16, 11, 9, 0, 17, 11, 17, 18, 0, 2, 17, 17, 14, 18, 11, 0, 16, 15, 8, 15, 8, 0, 16, 15, 8, 14, 14, 22, 16, 7, 8, 15, 8, 9, 8, 7, 15, 15, 8, 7, 8, 15, 8, 0, 8, 15, 8, 8, 8, 0, 8, 8, 14, 14, 15, 15, 0, 8, 15, 8, 8, 0, 7, 8, 8, 14, 8, 15, 0, 16, 8, 10, 10, 11, 16, 0, 17, 10, 17, 16, 15, 16, 7, 11, 15, 10, 11, 8, 10, 17, 9, 10, 9, 10, 10, 8, 0, 9, 10, 8, 11, 10, 0, 10, 10, 9, 16, 18, 9, 0, 10, 11, 10, 10, 0, 2, 10, 10, 14, 11, 11, 0, 16, 8, 17, 17, 17, 15, 17, 0, 17, 23, 23, 15, 22, 14, 17, 22, 17, 17, 15, 16, 24, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 23, 17, 8, 0, 17, 17, 17, 17, 0, 2, 17, 17, 21, 17, 10, 0, 22, 15, 17, 17, 18, 8, 10, 17, 0, 16, 16, 8, 15, 14, 17, 15, 18, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 0, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 16, 18, 14, 17, 23, 16, 0, 23, 14, 21, 14, 17, 21, 16, 17, 15, 17, 23, 15, 16, 16, 16, 16, 7, 0, 15, 9, 14, 17, 17, 0, 17, 17, 9, 23, 17, 8, 0, 16, 17, 16, 16, 0, 2, 16, 16, 21, 17, 10, 0, 22, 14, 16, 16, 16, 14, 16, 23, 16, 23, 0, 14, 21, 14, 16, 21, 16, 16, 14, 16, 23, 14, 16, 16, 16, 16, 7, 0, 14, 9, 14, 16, 16, 0, 16, 16, 9, 23, 16, 7, 0, 16, 16, 16, 16, 0, 2, 16, 16, 21, 16, 9, 0, 21, 14, 8, 10, 8, 22, 15, 15, 8, 14, 14, 0, 15, 7, 8, 15, 8, 8, 8, 7, 15, 8, 8, 9, 8, 8, 10, 0, 8, 15, 10, 10, 8, 0, 8, 8, 14, 14, 17, 17, 0, 8, 8, 10, 8, 0, 7, 10, 8, 16, 8, 15, 0, 17, 8, 15, 15, 15, 16, 16, 22, 15, 21, 21, 15, 0, 14, 15, 22, 15, 16, 15, 14, 22, 15, 15, 14, 15, 15, 8, 0, 15, 8, 15, 15, 15, 0, 15, 15, 7, 21, 15, 8, 0, 15, 15, 15, 15, 0, 0, 15, 15, 21, 15, 8, 0, 23, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 0, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 17, 17, 18, 8, 11, 17, 17, 17, 16, 8, 15, 14, 0, 15, 17, 17, 15, 17, 17, 16, 17, 16, 17, 17, 8, 0, 16, 10, 15, 18, 17, 0, 17, 17, 9, 16, 11, 9, 0, 17, 11, 17, 17, 0, 2, 17, 17, 14, 18, 11, 0, 15, 15, 15, 15, 15, 15, 15, 22, 15, 21, 21, 15, 22, 14, 15, 0, 15, 15, 15, 14, 22, 15, 15, 14, 15, 15, 8, 0, 15, 8, 15, 15, 15, 0, 15, 15, 7, 21, 15, 8, 0, 15, 15, 15, 15, 0, 0, 15, 15, 21, 15, 8, 0, 22, 15, 17, 17, 18, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 0, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 0, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 18, 17, 19, 9, 11, 17, 18, 17, 16, 8, 16, 14, 17, 15, 18, 0, 17, 16, 17, 16, 17, 16, 17, 17, 8, 0, 15, 10, 15, 18, 18, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 17, 15, 16, 15, 17, 8, 8, 15, 16, 15, 14, 8, 15, 14, 15, 15, 16, 17, 0, 14, 15, 16, 15, 14, 15, 15, 8, 0, 15, 8, 15, 16, 16, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 16, 0, 0, 15, 15, 14, 15, 8, 0, 16, 15, 16, 16, 17, 7, 10, 16, 16, 17, 16, 7, 14, 14, 17, 14, 16, 16, 14, 0, 16, 15, 16, 16, 16, 16, 7, 0, 15, 9, 14, 17, 16, 0, 16, 16, 9, 16, 10, 8, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 17, 10, 0, 14, 14, 17, 17, 17, 15, 17, 24, 17, 23, 23, 15, 22, 14, 17, 22, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 23, 17, 8, 0, 17, 17, 17, 17, 0, 2, 17, 17, 21, 17, 10, 0, 22, 15, 15, 22, 17, 15, 9, 15, 16, 15, 14, 8, 15, 14, 16, 15, 16, 16, 16, 15, 15, 0, 15, 14, 15, 22, 8, 0, 16, 8, 15, 17, 15, 0, 15, 15, 7, 14, 9, 9, 0, 15, 16, 15, 16, 0, 0, 15, 15, 14, 16, 9, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 16, 18, 16, 7, 9, 16, 16, 16, 16, 9, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 9, 0, 14, 9, 16, 18, 16, 0, 16, 16, 9, 16, 11, 9, 0, 16, 9, 18, 16, 0, 2, 18, 16, 16, 16, 9, 0, 16, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 0, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 24, 17, 15, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 22, 17, 16, 17, 0, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 17, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 8, 10, 8, 8, 8, 8, 8, 7, 7, 10, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 8, 0, 0, 8, 8, 10, 10, 8, 0, 8, 8, 7, 7, 10, 10, 0, 8, 1, 10, 8, 0, 0, 10, 8, 9, 8, 8, 0, 10, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 16, 8, 9, 15, 15, 15, 14, 8, 15, 14, 16, 15, 15, 15, 15, 15, 15, 16, 15, 14, 15, 15, 8, 0, 0, 8, 15, 16, 15, 0, 15, 15, 7, 14, 9, 9, 0, 15, 9, 15, 15, 0, 0, 15, 15, 14, 16, 9, 0, 15, 15, 10, 10, 10, 15, 10, 10, 10, 9, 9, 15, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 0, 8, 0, 8, 10, 10, 0, 10, 10, 16, 9, 10, 15, 0, 10, 3, 10, 10, 0, 9, 10, 10, 7, 10, 17, 0, 8, 8, 15, 17, 15, 8, 8, 15, 15, 14, 14, 10, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 16, 15, 15, 10, 0, 15, 8, 0, 17, 15, 0, 15, 15, 7, 14, 10, 11, 0, 15, 8, 17, 15, 0, 0, 17, 15, 16, 15, 8, 0, 17, 15, 17, 19, 19, 8, 11, 17, 18, 17, 16, 10, 15, 14, 18, 15, 18, 18, 16, 17, 17, 17, 17, 18, 17, 17, 10, 0, 16, 10, 17, 0, 17, 0, 17, 17, 9, 16, 13, 11, 0, 17, 11, 19, 18, 0, 2, 19, 17, 16, 18, 11, 0, 17, 15, 18, 17, 18, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 0, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 17, 18, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 18, 0, 0, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 18, 17, 18, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 18, 0, 18, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 9, 9, 9, 14, 9, 9, 9, 9, 9, 14, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 0, 7, 16, 7, 9, 9, 0, 9, 9, 0, 9, 9, 14, 0, 9, 2, 9, 9, 0, 9, 9, 9, 7, 9, 16, 0, 7, 7, 16, 16, 16, 14, 16, 23, 16, 23, 23, 14, 21, 14, 16, 21, 16, 16, 14, 16, 23, 14, 16, 16, 16, 16, 7, 0, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 16, 7, 0, 16, 16, 16, 16, 0, 2, 16, 16, 21, 16, 9, 0, 21, 14, 10, 12, 11, 15, 18, 17, 10, 17, 16, 17, 15, 7, 11, 15, 10, 10, 8, 10, 17, 9, 10, 11, 10, 10, 10, 0, 9, 10, 10, 13, 10, 0, 10, 10, 9, 16, 0, 11, 0, 10, 11, 12, 10, 0, 2, 12, 10, 16, 11, 11, 0, 17, 8, 8, 10, 9, 15, 9, 8, 8, 8, 7, 17, 8, 7, 9, 8, 8, 8, 8, 8, 8, 9, 8, 9, 8, 8, 10, 0, 9, 15, 11, 11, 8, 0, 8, 8, 14, 7, 11, 0, 0, 8, 2, 10, 8, 0, 7, 10, 8, 9, 9, 16, 0, 10, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 0, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 10, 17, 11, 15, 11, 17, 10, 17, 16, 8, 15, 7, 11, 15, 10, 10, 8, 10, 17, 16, 10, 9, 10, 17, 1, 0, 9, 3, 8, 11, 10, 0, 10, 10, 2, 16, 11, 2, 0, 10, 0, 10, 10, 0, 2, 10, 10, 14, 11, 4, 0, 15, 8, 17, 19, 17, 8, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 10, 0, 15, 10, 17, 19, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 0, 17, 0, 2, 19, 17, 16, 17, 10, 0, 17, 15, 17, 17, 18, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 18, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 0, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 7, 2, 2, 2, 2, 2, 7, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 0, 0, 9, 0, 2, 2, 0, 2, 2, 9, 2, 2, 7, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 9, 0, 0, 0, 17, 19, 17, 8, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 10, 0, 15, 10, 17, 19, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 19, 17, 0, 2, 0, 17, 16, 17, 10, 0, 17, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 14, 16, 14, 14, 14, 21, 14, 21, 21, 16, 21, 14, 14, 21, 14, 14, 14, 14, 21, 14, 14, 16, 14, 14, 9, 0, 14, 7, 16, 16, 14, 0, 14, 14, 7, 21, 16, 9, 0, 14, 14, 16, 14, 0, 0, 16, 14, 0, 14, 7, 0, 23, 14, 17, 17, 18, 8, 11, 17, 17, 17, 16, 8, 15, 14, 18, 15, 17, 17, 15, 17, 17, 16, 17, 16, 17, 17, 8, 0, 16, 10, 15, 18, 17, 0, 17, 17, 9, 16, 11, 9, 0, 17, 11, 17, 17, 0, 2, 17, 17, 14, 0, 11, 0, 15, 15, 10, 10, 11, 15, 11, 10, 10, 10, 9, 15, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 8, 0, 9, 17, 8, 11, 10, 0, 10, 10, 16, 9, 11, 16, 0, 10, 4, 10, 10, 0, 9, 10, 10, 7, 11, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 17, 16, 16, 16, 22, 15, 22, 21, 17, 23, 14, 15, 22, 15, 17, 16, 14, 22, 15, 15, 16, 15, 15, 10, 0, 15, 8, 17, 17, 16, 0, 16, 16, 7, 21, 17, 10, 0, 15, 15, 17, 15, 0, 0, 17, 15, 23, 15, 8, 0, 0, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 0, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 0, 16, 15, 8, 8, 23, 16, 21, 14, 8, 22, 14, 16, 15, 15, 22, 15, 14, 15, 15, 15, 14, 15, 16, 15, 15, 0, 8, 15, 22, 15, 0, 23, 22, 7, 21, 8, 9, 0, 16, 8, 15, 15, 0, 1, 23, 15, 21, 23, 15, 0, 15, 16, 16, 0, 15, 8, 8, 16, 17, 14, 14, 8, 16, 14, 17, 15, 16, 15, 15, 14, 15, 15, 16, 14, 16, 17, 8, 15, 0, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 16, 14, 16, 8, 0, 15, 16, 15, 15, 0, 8, 9, 15, 15, 15, 14, 8, 15, 14, 17, 15, 15, 15, 15, 15, 15, 16, 15, 14, 15, 15, 8, 16, 0, 8, 16, 16, 15, 0, 15, 15, 7, 14, 9, 10, 0, 15, 9, 15, 15, 0, 0, 15, 15, 14, 17, 9, 0, 15, 15, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 0, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 9, 8, 0, 8, 10, 8, 7, 8, 8, 9, 9, 8, 8, 10, 8, 10, 8, 9, 8, 7, 10, 8, 8, 9, 0, 8, 8, 9, 10, 0, 10, 10, 7, 7, 9, 9, 0, 8, 4, 8, 10, 0, 0, 8, 8, 7, 9, 9, 0, 8, 8, 23, 16, 15, 8, 8, 0, 16, 21, 14, 8, 22, 14, 16, 15, 15, 22, 15, 14, 15, 15, 15, 14, 15, 16, 15, 15, 0, 8, 15, 22, 15, 0, 23, 22, 7, 21, 8, 9, 0, 16, 8, 15, 15, 0, 1, 23, 15, 21, 23, 15, 0, 15, 16, 16, 17, 15, 8, 10, 16, 0, 14, 14, 8, 16, 16, 17, 15, 16, 17, 15, 16, 15, 15, 16, 14, 18, 17, 8, 15, 0, 8, 15, 15, 17, 0, 18, 17, 7, 14, 8, 9, 0, 16, 10, 15, 17, 0, 1, 16, 16, 14, 16, 8, 0, 15, 16, 21, 14, 15, 7, 8, 21, 14, 0, 14, 7, 21, 14, 15, 14, 14, 21, 14, 15, 14, 15, 14, 14, 14, 14, 14, 15, 0, 7, 14, 22, 14, 0, 21, 21, 7, 21, 8, 8, 0, 14, 8, 14, 14, 0, 0, 21, 14, 21, 22, 15, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 14, 0, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 0, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 10, 9, 8, 10, 8, 8, 10, 7, 8, 10, 8, 7, 8, 8, 10, 8, 0, 8, 10, 8, 8, 0, 8, 8, 7, 7, 8, 10, 0, 8, 1, 8, 8, 0, 0, 8, 8, 9, 8, 8, 0, 10, 10, 22, 16, 15, 8, 8, 22, 16, 21, 14, 10, 0, 16, 16, 17, 16, 22, 17, 14, 15, 17, 16, 14, 16, 16, 17, 15, 0, 8, 17, 22, 15, 0, 22, 22, 7, 21, 8, 10, 0, 15, 8, 15, 15, 0, 0, 22, 16, 23, 22, 15, 0, 17, 17, 14, 14, 14, 7, 9, 14, 16, 14, 14, 9, 16, 0, 14, 16, 14, 16, 16, 16, 14, 16, 14, 14, 16, 14, 9, 14, 0, 7, 16, 14, 16, 0, 16, 16, 7, 14, 7, 9, 0, 14, 9, 14, 16, 0, 0, 14, 14, 16, 14, 7, 0, 16, 16, 16, 17, 17, 8, 9, 16, 17, 15, 14, 8, 16, 14, 0, 15, 16, 15, 15, 15, 15, 16, 16, 14, 16, 17, 8, 16, 0, 8, 16, 16, 15, 0, 16, 15, 7, 14, 9, 11, 0, 16, 9, 15, 15, 0, 1, 16, 16, 16, 18, 9, 0, 15, 18, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 17, 16, 15, 0, 15, 15, 17, 14, 15, 17, 15, 14, 15, 15, 10, 15, 0, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 17, 17, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 16, 14, 16, 15, 0, 15, 15, 14, 15, 15, 16, 14, 16, 16, 8, 15, 0, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 22, 15, 15, 8, 10, 22, 17, 21, 14, 8, 22, 16, 15, 15, 15, 0, 15, 16, 15, 15, 15, 14, 17, 15, 15, 15, 0, 8, 15, 22, 17, 0, 24, 24, 7, 21, 8, 8, 0, 15, 10, 15, 17, 0, 0, 22, 15, 21, 22, 15, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 17, 16, 15, 17, 15, 15, 0, 14, 15, 17, 15, 14, 15, 15, 10, 15, 0, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 17, 17, 14, 14, 15, 7, 10, 14, 16, 15, 14, 7, 14, 16, 15, 14, 14, 16, 14, 0, 14, 15, 14, 14, 16, 14, 7, 15, 0, 7, 14, 15, 16, 0, 16, 16, 7, 14, 8, 8, 0, 14, 10, 14, 16, 0, 0, 14, 14, 14, 15, 8, 0, 14, 14, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 0, 15, 15, 14, 15, 15, 8, 15, 0, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 15, 15, 16, 8, 9, 15, 15, 15, 14, 10, 17, 16, 16, 17, 15, 15, 17, 15, 15, 0, 15, 14, 15, 15, 10, 16, 0, 8, 17, 16, 15, 0, 15, 15, 7, 14, 9, 11, 0, 15, 9, 15, 15, 0, 0, 15, 15, 16, 16, 9, 0, 17, 17, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 16, 14, 16, 15, 16, 15, 15, 14, 15, 15, 0, 14, 16, 16, 8, 15, 0, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 7, 14, 0, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 15, 16, 15, 8, 10, 15, 18, 14, 14, 8, 16, 16, 16, 15, 16, 17, 15, 16, 15, 15, 16, 14, 0, 16, 8, 15, 0, 8, 15, 15, 17, 0, 17, 17, 7, 14, 8, 8, 0, 15, 10, 15, 17, 0, 0, 15, 16, 14, 15, 8, 0, 15, 15, 16, 17, 15, 8, 8, 16, 17, 14, 14, 8, 16, 14, 17, 15, 16, 15, 15, 14, 15, 15, 16, 14, 16, 0, 8, 15, 0, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 16, 14, 16, 8, 0, 15, 16, 15, 8, 8, 8, 8, 15, 8, 14, 7, 10, 17, 9, 8, 10, 8, 15, 10, 7, 8, 10, 8, 7, 8, 8, 0, 8, 0, 8, 10, 15, 8, 0, 15, 15, 7, 14, 8, 10, 0, 8, 1, 8, 8, 0, 0, 15, 8, 16, 15, 15, 0, 10, 10, 15, 15, 16, 8, 9, 15, 15, 15, 14, 8, 15, 14, 16, 15, 15, 15, 15, 15, 15, 16, 15, 14, 15, 15, 8, 0, 0, 8, 15, 16, 15, 0, 15, 15, 7, 14, 9, 9, 0, 15, 9, 15, 15, 0, 0, 15, 15, 14, 16, 9, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 0, 0, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 15, 15, 16, 8, 8, 15, 15, 14, 14, 10, 17, 16, 16, 17, 15, 15, 17, 14, 15, 17, 15, 14, 15, 15, 10, 15, 0, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 11, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 16, 8, 0, 17, 17, 22, 15, 16, 8, 9, 22, 15, 22, 14, 8, 22, 14, 16, 15, 15, 22, 15, 15, 15, 16, 15, 14, 15, 15, 15, 16, 0, 8, 15, 0, 15, 0, 22, 22, 7, 21, 9, 9, 0, 15, 9, 15, 15, 0, 0, 22, 15, 21, 23, 16, 0, 15, 15, 15, 15, 15, 8, 10, 15, 17, 14, 14, 8, 15, 16, 15, 15, 15, 17, 15, 16, 15, 15, 15, 14, 17, 15, 8, 15, 0, 8, 15, 15, 0, 0, 17, 17, 7, 14, 8, 8, 0, 15, 10, 15, 17, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 16, 15, 8, 10, 23, 18, 21, 14, 8, 22, 16, 16, 15, 15, 24, 15, 16, 15, 15, 15, 14, 17, 16, 15, 15, 0, 8, 15, 22, 17, 0, 0, 24, 7, 21, 8, 9, 0, 16, 10, 15, 17, 0, 1, 23, 15, 21, 23, 15, 0, 15, 16, 22, 15, 15, 8, 10, 22, 17, 21, 14, 8, 22, 16, 15, 15, 15, 24, 15, 16, 15, 15, 15, 14, 17, 15, 15, 15, 0, 8, 15, 22, 17, 0, 24, 0, 7, 21, 8, 8, 0, 15, 10, 15, 17, 0, 0, 22, 15, 21, 22, 15, 0, 15, 15, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 0, 7, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 21, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 7, 14, 21, 14, 0, 21, 21, 7, 0, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 21, 21, 14, 0, 14, 14, 8, 8, 9, 8, 9, 8, 8, 8, 7, 8, 8, 7, 9, 8, 8, 8, 8, 8, 8, 9, 8, 7, 8, 8, 8, 9, 0, 8, 8, 9, 8, 0, 8, 8, 7, 7, 0, 9, 0, 8, 2, 8, 8, 0, 0, 8, 8, 7, 9, 9, 0, 8, 8, 9, 9, 10, 8, 9, 9, 9, 8, 7, 10, 10, 9, 11, 10, 8, 8, 10, 8, 8, 11, 8, 7, 8, 9, 10, 9, 0, 8, 11, 9, 8, 0, 9, 8, 7, 7, 9, 0, 0, 9, 2, 8, 8, 0, 1, 9, 8, 9, 11, 9, 0, 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 15, 8, 8, 16, 16, 14, 14, 8, 15, 14, 16, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 16, 8, 15, 0, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 0, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 16, 8, 8, 9, 1, 4, 8, 10, 8, 7, 1, 8, 9, 9, 8, 8, 10, 8, 10, 8, 9, 8, 7, 10, 8, 1, 9, 0, 1, 8, 9, 10, 0, 10, 10, 0, 7, 2, 2, 0, 8, 0, 8, 10, 0, 0, 8, 8, 7, 9, 2, 0, 8, 8, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 0, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 0, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 15, 15, 15, 8, 10, 15, 17, 14, 14, 8, 15, 16, 15, 15, 15, 17, 15, 16, 15, 15, 15, 14, 17, 15, 8, 15, 0, 8, 15, 15, 17, 0, 17, 17, 7, 14, 8, 8, 0, 15, 10, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 23, 16, 15, 8, 8, 23, 16, 21, 14, 8, 22, 14, 16, 15, 15, 22, 15, 14, 15, 15, 15, 14, 15, 16, 15, 15, 0, 8, 15, 22, 15, 0, 23, 22, 7, 21, 8, 9, 0, 16, 8, 15, 15, 0, 1, 0, 15, 21, 23, 15, 0, 15, 16, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 16, 14, 16, 15, 16, 15, 15, 14, 15, 15, 16, 14, 16, 16, 8, 15, 0, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 0, 14, 15, 8, 0, 15, 15, 21, 14, 14, 7, 7, 21, 14, 21, 14, 9, 23, 16, 16, 16, 14, 21, 16, 14, 14, 16, 14, 14, 14, 14, 16, 14, 0, 7, 16, 21, 14, 0, 21, 21, 7, 21, 7, 9, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 16, 18, 23, 16, 17, 8, 9, 23, 16, 22, 14, 8, 22, 14, 18, 15, 15, 22, 15, 15, 15, 16, 15, 14, 15, 16, 15, 16, 0, 8, 16, 23, 15, 0, 23, 22, 7, 21, 9, 11, 0, 16, 9, 15, 15, 0, 1, 23, 15, 21, 0, 16, 0, 15, 16, 15, 8, 9, 8, 9, 15, 8, 15, 7, 8, 15, 7, 9, 8, 8, 15, 8, 8, 8, 9, 8, 7, 8, 8, 15, 9, 0, 8, 8, 16, 8, 0, 15, 15, 7, 14, 9, 9, 0, 8, 2, 8, 8, 0, 0, 15, 8, 14, 16, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 17, 16, 15, 17, 15, 15, 17, 14, 15, 17, 15, 14, 15, 15, 10, 15, 0, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 0, 17, 16, 16, 15, 8, 8, 16, 16, 14, 14, 10, 17, 16, 18, 17, 15, 15, 17, 14, 15, 17, 15, 14, 15, 16, 10, 15, 0, 8, 17, 15, 15, 0, 16, 15, 7, 14, 8, 11, 0, 16, 8, 15, 15, 0, 1, 16, 15, 18, 16, 8, 0, 17, 0, 0, 10, 10, 8, 10, 10, 10, 9, 9, 8, 10, 7, 10, 10, 12, 10, 8, 9, 10, 10, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 11, 10, 8, 0, 10, 3, 10, 10, 0, 4, 10, 12, 7, 12, 12, 0, 8, 8, 10, 0, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 10, 10, 0, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 8, 8, 8, 0, 8, 8, 8, 7, 7, 15, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 15, 8, 0, 8, 8, 8, 0, 8, 8, 14, 7, 8, 15, 0, 8, 1, 8, 8, 0, 7, 8, 8, 7, 8, 15, 0, 8, 8, 10, 10, 17, 8, 0, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 11, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 10, 10, 10, 8, 10, 0, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 10, 10, 10, 8, 10, 10, 0, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 9, 7, 9, 9, 9, 0, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 0, 7, 9, 9, 0, 9, 9, 9, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 9, 9, 16, 7, 16, 9, 9, 9, 0, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 16, 16, 9, 7, 9, 7, 0, 14, 9, 9, 0, 9, 9, 16, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 8, 8, 15, 15, 15, 8, 8, 7, 14, 0, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 15, 8, 0, 15, 8, 8, 0, 8, 8, 22, 7, 15, 23, 0, 15, 1, 15, 8, 0, 7, 8, 15, 7, 8, 15, 0, 15, 15, 10, 8, 8, 8, 8, 8, 8, 7, 7, 8, 0, 7, 8, 10, 10, 8, 8, 7, 8, 10, 8, 7, 8, 8, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 7, 9, 8, 8, 0, 8, 1, 8, 8, 0, 2, 8, 10, 7, 10, 10, 0, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 0, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 10, 8, 15, 8, 15, 8, 8, 7, 14, 15, 10, 7, 15, 0, 17, 8, 15, 14, 15, 10, 8, 14, 15, 8, 8, 8, 8, 0, 15, 8, 8, 0, 8, 8, 14, 9, 15, 15, 0, 15, 1, 15, 8, 0, 2, 8, 17, 7, 10, 10, 0, 15, 15, 12, 10, 17, 8, 17, 10, 10, 9, 16, 15, 10, 7, 17, 17, 0, 10, 15, 16, 17, 10, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 11, 17, 15, 0, 17, 3, 17, 10, 0, 4, 10, 19, 7, 12, 12, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 0, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 0, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 0, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 0, 16, 7, 9, 16, 16, 9, 7, 9, 7, 0, 14, 9, 9, 0, 9, 9, 16, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 0, 8, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 10, 8, 8, 8, 8, 8, 8, 7, 7, 8, 10, 7, 8, 10, 10, 8, 8, 7, 8, 0, 8, 7, 8, 8, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 7, 9, 8, 8, 0, 8, 1, 8, 8, 0, 2, 8, 10, 7, 10, 10, 0, 8, 8, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 0, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 0, 16, 9, 7, 9, 7, 0, 14, 9, 10, 1, 9, 9, 17, 10, 16, 14, 1, 16, 2, 17, 9, 1, 2, 9, 17, 8, 9, 9, 0, 14, 14, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 0, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 10, 10, 10, 8, 11, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 0, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 0, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 10, 15, 10, 10, 10, 9, 9, 15, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 0, 8, 0, 8, 10, 10, 0, 10, 10, 16, 9, 10, 15, 0, 10, 3, 10, 10, 0, 9, 10, 10, 7, 10, 17, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 0, 0, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 0, 0, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 0, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 10, 10, 10, 8, 10, 8, 0, 8, 10, 0, 1, 10, 10, 10, 10, 10, 8, 1, 10, 3, 11, 10, 1, 2, 10, 11, 8, 10, 10, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 0, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 0, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 16, 14, 16, 9, 9, 9, 16, 22, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 17, 16, 9, 7, 16, 7, 0, 14, 9, 10, 1, 9, 9, 0, 10, 16, 22, 1, 16, 2, 17, 9, 1, 9, 9, 17, 8, 9, 16, 0, 14, 14, 11, 9, 9, 7, 9, 9, 9, 9, 9, 7, 9, 7, 9, 9, 11, 9, 7, 9, 9, 9, 9, 10, 9, 9, 7, 9, 7, 0, 7, 9, 10, 1, 9, 9, 10, 0, 9, 7, 1, 9, 2, 10, 9, 1, 4, 9, 12, 8, 11, 11, 0, 7, 7, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 0, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 8, 8, 15, 15, 15, 8, 8, 7, 14, 23, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 15, 8, 0, 15, 8, 8, 0, 8, 8, 22, 7, 15, 0, 0, 15, 1, 15, 8, 0, 7, 8, 15, 7, 8, 15, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 0, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 3, 3, 3, 1, 3, 3, 3, 2, 2, 1, 1, 0, 3, 1, 3, 3, 1, 2, 3, 1, 3, 2, 3, 3, 1, 3, 1, 0, 1, 3, 3, 0, 3, 3, 2, 2, 3, 1, 0, 3, 0, 3, 3, 0, 2, 3, 3, 0, 3, 3, 0, 1, 1, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 17, 17, 10, 8, 10, 8, 0, 15, 10, 11, 1, 10, 10, 17, 10, 17, 15, 1, 17, 3, 0, 10, 1, 2, 10, 18, 8, 10, 10, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 0, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 2, 7, 2, 2, 2, 2, 2, 7, 2, 0, 2, 2, 4, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 9, 0, 0, 0, 2, 2, 0, 2, 2, 9, 4, 2, 7, 0, 2, 2, 2, 2, 0, 0, 2, 4, 0, 4, 11, 0, 0, 0, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 0, 10, 7, 10, 10, 0, 8, 8, 12, 10, 17, 8, 17, 10, 10, 9, 16, 15, 10, 7, 17, 17, 19, 10, 15, 16, 17, 10, 10, 17, 17, 10, 8, 10, 8, 0, 15, 10, 11, 1, 10, 10, 17, 12, 17, 15, 1, 17, 3, 18, 10, 1, 4, 10, 0, 8, 12, 12, 0, 15, 15, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 7, 7, 7, 7, 0, 7, 7, 8, 1, 7, 7, 8, 8, 7, 7, 1, 7, 0, 8, 7, 1, 0, 7, 8, 0, 7, 7, 0, 7, 7, 12, 10, 10, 8, 10, 10, 10, 9, 9, 8, 10, 7, 10, 10, 12, 10, 8, 9, 10, 10, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 11, 10, 8, 0, 10, 3, 10, 10, 0, 4, 10, 12, 7, 0, 12, 0, 8, 8, 12, 10, 10, 15, 10, 10, 10, 9, 9, 15, 10, 7, 10, 10, 12, 10, 8, 9, 10, 10, 10, 9, 10, 10, 8, 17, 8, 0, 8, 10, 10, 0, 10, 10, 16, 11, 10, 15, 0, 10, 3, 10, 10, 0, 11, 10, 12, 7, 12, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 0, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 0, 15, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 0, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 0, 0, 15, 15, 8, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 23, 22, 23, 14, 15, 22, 23, 14, 23, 23, 16, 15, 15, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 15, 0, 0, 15, 15, 14, 22, 8, 0, 15, 15, 15, 0, 15, 8, 8, 15, 15, 14, 14, 10, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 16, 15, 15, 10, 17, 15, 8, 0, 17, 15, 0, 15, 15, 7, 14, 10, 10, 0, 15, 8, 17, 15, 0, 0, 17, 15, 16, 15, 8, 0, 17, 15, 15, 15, 0, 9, 15, 15, 15, 15, 22, 16, 16, 14, 23, 23, 22, 15, 23, 22, 22, 15, 15, 21, 22, 15, 8, 15, 16, 15, 0, 16, 15, 0, 15, 15, 14, 14, 15, 16, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 16, 9, 0, 23, 22, 8, 8, 9, 0, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 0, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 9, 0, 9, 8, 8, 8, 15, 8, 0, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 0, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 15, 15, 15, 8, 8, 0, 16, 14, 14, 9, 15, 15, 15, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 0, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 23, 15, 15, 8, 8, 16, 0, 14, 14, 9, 15, 15, 24, 16, 24, 23, 25, 14, 15, 23, 23, 14, 25, 25, 18, 15, 15, 8, 0, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 24, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 16, 14, 14, 15, 8, 7, 14, 14, 0, 15, 8, 15, 14, 14, 15, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 0, 15, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 8, 0, 15, 14, 14, 14, 22, 8, 14, 14, 14, 15, 0, 15, 15, 14, 21, 22, 21, 14, 22, 22, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 0, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 8, 0, 22, 21, 8, 10, 16, 9, 15, 9, 9, 8, 15, 0, 11, 10, 15, 19, 16, 8, 19, 15, 15, 10, 8, 16, 16, 9, 13, 10, 10, 15, 0, 11, 8, 0, 9, 9, 14, 7, 17, 19, 0, 15, 1, 17, 8, 0, 0, 10, 15, 11, 8, 9, 0, 20, 18, 15, 15, 16, 9, 8, 15, 15, 15, 15, 11, 0, 16, 15, 18, 15, 15, 18, 15, 15, 17, 15, 14, 15, 15, 10, 15, 17, 8, 0, 16, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 9, 0, 18, 17, 14, 14, 14, 7, 7, 15, 15, 14, 14, 10, 16, 0, 14, 17, 15, 14, 17, 14, 14, 16, 14, 14, 15, 15, 10, 14, 16, 7, 0, 14, 14, 0, 15, 15, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 17, 23, 15, 23, 8, 15, 15, 24, 14, 21, 15, 15, 14, 0, 22, 30, 23, 31, 21, 22, 23, 23, 21, 31, 24, 17, 15, 16, 15, 0, 15, 15, 0, 15, 15, 14, 14, 15, 16, 0, 31, 8, 22, 15, 0, 0, 16, 22, 14, 23, 8, 0, 22, 22, 15, 15, 23, 9, 15, 16, 16, 15, 22, 19, 18, 17, 22, 0, 23, 15, 26, 22, 22, 17, 15, 21, 23, 16, 11, 15, 17, 15, 0, 16, 15, 0, 16, 16, 14, 14, 15, 17, 0, 22, 8, 22, 15, 0, 0, 15, 22, 16, 15, 9, 0, 25, 25, 23, 15, 22, 8, 15, 16, 24, 14, 21, 16, 15, 15, 30, 23, 0, 22, 31, 21, 22, 22, 23, 21, 31, 24, 17, 15, 15, 15, 0, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 30, 8, 22, 15, 0, 0, 15, 22, 14, 22, 8, 0, 22, 23, 22, 15, 15, 8, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 22, 0, 23, 14, 15, 23, 22, 14, 23, 23, 16, 15, 15, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 23, 15, 23, 9, 15, 16, 25, 15, 22, 19, 18, 17, 31, 26, 31, 23, 0, 22, 22, 25, 23, 21, 32, 25, 20, 15, 17, 15, 0, 16, 15, 0, 16, 16, 14, 14, 15, 17, 0, 31, 8, 22, 15, 0, 0, 16, 22, 16, 22, 9, 0, 25, 25, 14, 14, 22, 8, 14, 14, 14, 15, 22, 15, 15, 14, 21, 22, 21, 14, 22, 0, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 0, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 8, 0, 22, 21, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 0, 15, 15, 21, 22, 15, 8, 15, 15, 15, 0, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 22, 15, 15, 8, 8, 15, 23, 14, 14, 10, 17, 16, 23, 17, 22, 23, 25, 14, 15, 0, 22, 14, 23, 23, 18, 15, 17, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 23, 8, 15, 15, 0, 0, 16, 15, 16, 22, 8, 0, 17, 17, 23, 15, 15, 8, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 23, 22, 23, 14, 15, 22, 0, 14, 23, 23, 16, 15, 15, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 23, 8, 15, 15, 0, 0, 15, 15, 14, 22, 8, 0, 15, 15, 14, 16, 21, 7, 14, 14, 14, 14, 21, 16, 14, 14, 21, 21, 21, 14, 21, 21, 21, 14, 14, 0, 21, 14, 9, 16, 14, 14, 0, 16, 14, 0, 14, 14, 14, 14, 16, 16, 0, 21, 7, 23, 14, 0, 0, 16, 21, 16, 14, 7, 0, 23, 21, 23, 15, 22, 8, 15, 16, 25, 14, 21, 16, 15, 15, 31, 23, 31, 23, 32, 21, 22, 23, 23, 21, 0, 25, 18, 15, 15, 15, 0, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 31, 8, 22, 15, 0, 0, 16, 22, 14, 22, 8, 0, 22, 23, 23, 15, 15, 8, 8, 16, 25, 14, 14, 9, 15, 15, 24, 16, 24, 23, 25, 14, 15, 23, 23, 14, 25, 0, 18, 15, 15, 8, 0, 15, 15, 0, 16, 16, 7, 14, 8, 8, 0, 24, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 16, 16, 10, 8, 8, 8, 9, 18, 7, 7, 13, 10, 10, 17, 11, 17, 16, 20, 7, 8, 18, 16, 9, 18, 18, 0, 10, 10, 8, 0, 10, 8, 0, 9, 9, 7, 7, 10, 12, 0, 17, 1, 10, 8, 0, 0, 11, 8, 11, 15, 8, 0, 12, 11, 15, 17, 15, 8, 8, 15, 15, 14, 14, 10, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 16, 15, 15, 10, 0, 15, 8, 0, 17, 15, 0, 15, 15, 7, 14, 10, 11, 0, 15, 8, 17, 15, 0, 0, 17, 15, 16, 15, 8, 0, 17, 15, 15, 15, 16, 8, 8, 15, 15, 14, 14, 10, 17, 16, 16, 17, 15, 15, 17, 14, 15, 17, 15, 14, 15, 15, 10, 15, 0, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 11, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 16, 8, 0, 17, 17, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 0, 0, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 17, 16, 9, 8, 15, 15, 15, 15, 11, 16, 14, 15, 16, 15, 15, 16, 15, 15, 15, 15, 16, 15, 15, 10, 17, 15, 8, 0, 0, 15, 0, 15, 15, 7, 14, 10, 10, 0, 15, 8, 17, 15, 0, 0, 17, 15, 16, 15, 9, 0, 18, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 0, 15, 0, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 0, 15, 15, 0, 0, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 0, 15, 15, 0, 16, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 7, 7, 14, 7, 14, 7, 7, 7, 14, 14, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 0, 7, 7, 0, 7, 7, 0, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 7, 14, 7, 7, 7, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 0, 14, 14, 0, 14, 14, 7, 0, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 8, 10, 15, 8, 15, 8, 8, 7, 14, 17, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 16, 15, 8, 10, 10, 8, 15, 0, 10, 8, 0, 8, 8, 14, 7, 0, 17, 0, 15, 1, 17, 8, 0, 0, 10, 15, 9, 8, 8, 0, 17, 15, 8, 10, 16, 8, 15, 8, 8, 7, 14, 19, 10, 9, 16, 17, 15, 8, 17, 14, 15, 10, 8, 16, 15, 8, 12, 11, 11, 15, 0, 10, 8, 0, 8, 8, 14, 7, 17, 0, 0, 15, 1, 17, 8, 0, 0, 10, 15, 11, 9, 8, 0, 19, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 15, 22, 8, 15, 15, 24, 14, 21, 15, 15, 14, 31, 22, 30, 23, 31, 21, 22, 23, 23, 21, 31, 24, 17, 15, 15, 15, 0, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 0, 8, 22, 15, 0, 0, 16, 22, 14, 22, 8, 0, 22, 22, 8, 8, 8, 1, 1, 8, 8, 7, 7, 1, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 1, 8, 8, 1, 0, 8, 8, 0, 8, 8, 0, 7, 1, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 7, 8, 1, 0, 8, 8, 15, 17, 22, 8, 15, 15, 15, 14, 21, 17, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 23, 22, 15, 10, 17, 15, 15, 0, 17, 15, 0, 15, 15, 14, 14, 17, 17, 0, 22, 8, 0, 15, 0, 0, 17, 22, 16, 15, 8, 0, 24, 22, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 17, 15, 8, 8, 15, 16, 14, 14, 10, 15, 14, 16, 15, 15, 16, 16, 14, 15, 16, 15, 16, 16, 16, 11, 17, 15, 8, 0, 17, 15, 0, 15, 15, 7, 14, 10, 10, 0, 16, 8, 17, 15, 0, 0, 0, 15, 16, 15, 8, 0, 17, 15, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 0, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 0, 14, 15, 8, 0, 22, 22, 14, 16, 14, 7, 7, 14, 14, 14, 14, 11, 16, 16, 14, 16, 14, 14, 16, 14, 14, 16, 14, 16, 14, 14, 11, 16, 16, 7, 0, 16, 14, 0, 14, 14, 7, 14, 9, 11, 0, 14, 7, 16, 14, 0, 0, 16, 14, 0, 14, 7, 0, 18, 16, 22, 15, 16, 8, 8, 15, 22, 14, 14, 8, 15, 14, 23, 15, 22, 22, 22, 14, 15, 22, 22, 14, 22, 22, 15, 15, 16, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 9, 0, 22, 8, 15, 15, 0, 0, 15, 15, 14, 0, 8, 0, 15, 15, 8, 8, 9, 9, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 0, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 17, 23, 9, 15, 15, 15, 15, 22, 20, 18, 16, 22, 25, 22, 15, 25, 22, 22, 17, 15, 23, 22, 15, 12, 17, 17, 15, 0, 18, 15, 0, 15, 15, 14, 14, 17, 19, 0, 22, 8, 24, 15, 0, 0, 17, 22, 18, 15, 9, 0, 0, 24, 15, 15, 22, 8, 15, 16, 16, 14, 21, 18, 17, 17, 22, 25, 23, 15, 25, 21, 22, 17, 15, 21, 23, 16, 11, 15, 17, 15, 0, 15, 15, 0, 16, 16, 14, 14, 15, 17, 0, 22, 8, 22, 15, 0, 0, 15, 22, 16, 15, 8, 0, 24, 0, 0, 18, 17, 8, 11, 24, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 16, 17, 22, 10, 15, 0, 17, 0, 24, 24, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 18, 0, 17, 8, 11, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 11, 19, 15, 10, 17, 0, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 19, 17, 0, 2, 19, 17, 16, 17, 10, 0, 17, 15, 17, 17, 0, 9, 11, 17, 18, 18, 17, 9, 16, 14, 18, 16, 18, 18, 17, 18, 17, 17, 17, 16, 17, 17, 8, 19, 16, 10, 16, 0, 17, 0, 17, 17, 9, 16, 11, 9, 0, 17, 11, 17, 18, 0, 2, 17, 17, 14, 18, 12, 0, 16, 15, 8, 8, 9, 0, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 9, 0, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 9, 0, 9, 8, 11, 11, 11, 8, 0, 10, 10, 10, 9, 8, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 9, 11, 9, 10, 8, 0, 10, 0, 10, 10, 9, 9, 11, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 11, 11, 0, 8, 8, 24, 17, 17, 8, 10, 0, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 15, 17, 22, 10, 15, 0, 17, 0, 24, 24, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 17, 17, 18, 8, 10, 17, 0, 16, 16, 8, 15, 14, 17, 15, 18, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 18, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 23, 16, 18, 8, 10, 23, 16, 0, 17, 8, 22, 14, 17, 15, 16, 23, 15, 18, 16, 15, 16, 16, 16, 16, 14, 17, 22, 9, 15, 0, 16, 0, 23, 23, 9, 23, 10, 8, 0, 16, 10, 16, 16, 0, 2, 23, 16, 21, 24, 18, 0, 15, 14, 16, 16, 17, 8, 9, 16, 16, 17, 0, 8, 15, 14, 16, 15, 16, 16, 15, 17, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 15, 0, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 10, 0, 15, 14, 8, 10, 9, 9, 8, 8, 8, 8, 8, 0, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 9, 8, 8, 10, 10, 8, 8, 11, 0, 8, 0, 8, 8, 7, 7, 10, 10, 0, 8, 1, 10, 8, 0, 0, 10, 8, 9, 8, 9, 0, 11, 8, 22, 15, 16, 9, 8, 22, 15, 22, 15, 9, 0, 14, 15, 16, 15, 22, 16, 15, 15, 15, 15, 14, 15, 15, 15, 15, 22, 8, 16, 0, 15, 0, 22, 22, 7, 21, 8, 8, 0, 15, 8, 15, 15, 0, 0, 22, 15, 21, 22, 16, 0, 16, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 0, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 17, 17, 18, 8, 11, 17, 17, 17, 16, 8, 15, 14, 0, 15, 17, 17, 15, 17, 17, 16, 17, 16, 17, 17, 8, 18, 16, 10, 15, 0, 17, 0, 17, 17, 9, 16, 11, 9, 0, 17, 11, 17, 17, 0, 2, 17, 17, 14, 18, 11, 0, 15, 15, 15, 15, 16, 9, 8, 15, 15, 15, 15, 9, 16, 14, 15, 0, 15, 15, 16, 15, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 16, 0, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 9, 0, 16, 15, 17, 17, 18, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 0, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 18, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 18, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 24, 17, 18, 8, 10, 24, 18, 23, 16, 8, 22, 14, 17, 15, 18, 0, 16, 16, 17, 16, 17, 16, 17, 17, 15, 18, 22, 10, 15, 0, 17, 0, 24, 24, 9, 23, 10, 8, 0, 17, 10, 17, 18, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 15, 15, 17, 9, 8, 15, 16, 15, 15, 9, 16, 14, 15, 16, 16, 16, 0, 15, 15, 16, 15, 14, 15, 15, 8, 16, 15, 8, 16, 0, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 16, 0, 0, 15, 15, 14, 15, 9, 0, 16, 15, 16, 16, 18, 8, 10, 16, 16, 18, 17, 8, 15, 14, 17, 15, 16, 16, 15, 0, 16, 15, 16, 16, 16, 16, 7, 17, 15, 9, 15, 0, 16, 0, 16, 16, 9, 16, 10, 8, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 17, 11, 0, 15, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 15, 17, 8, 9, 15, 16, 15, 14, 8, 15, 14, 16, 15, 16, 16, 16, 15, 15, 0, 15, 14, 15, 15, 8, 17, 16, 8, 15, 0, 15, 0, 15, 15, 7, 14, 9, 9, 0, 15, 9, 15, 16, 0, 0, 15, 15, 14, 16, 9, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 16, 18, 16, 7, 9, 16, 16, 16, 16, 9, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 9, 18, 14, 9, 16, 0, 16, 0, 16, 16, 9, 16, 11, 9, 0, 16, 9, 18, 16, 0, 2, 18, 16, 16, 16, 9, 0, 16, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 0, 17, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 0, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 16, 11, 8, 8, 9, 15, 8, 14, 7, 10, 15, 7, 8, 8, 8, 15, 8, 7, 8, 8, 8, 9, 8, 8, 0, 10, 15, 8, 10, 0, 8, 0, 15, 15, 7, 14, 10, 10, 0, 8, 1, 10, 8, 0, 0, 17, 8, 16, 15, 15, 0, 10, 8, 17, 19, 19, 8, 11, 17, 18, 17, 16, 10, 15, 14, 18, 15, 18, 18, 16, 17, 17, 17, 17, 18, 17, 17, 10, 0, 16, 10, 17, 0, 17, 0, 17, 17, 9, 16, 13, 11, 0, 17, 11, 19, 18, 0, 2, 19, 17, 16, 18, 11, 0, 17, 15, 22, 15, 16, 8, 9, 22, 15, 22, 14, 8, 22, 14, 16, 15, 15, 22, 15, 15, 15, 16, 15, 14, 15, 15, 15, 16, 0, 8, 15, 0, 15, 0, 22, 22, 7, 21, 9, 9, 0, 15, 9, 15, 15, 0, 0, 22, 15, 21, 23, 16, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 0, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 15, 17, 16, 9, 8, 15, 15, 15, 15, 11, 16, 14, 15, 16, 15, 15, 16, 15, 15, 15, 15, 16, 15, 15, 10, 17, 15, 8, 0, 0, 15, 0, 15, 15, 7, 14, 10, 10, 0, 15, 8, 17, 15, 0, 0, 17, 15, 16, 15, 9, 0, 18, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 0, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 17, 17, 8, 10, 24, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 15, 17, 22, 10, 15, 0, 17, 0, 0, 24, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 24, 17, 17, 8, 10, 24, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 15, 17, 22, 10, 15, 0, 17, 0, 24, 0, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 0, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 23, 16, 16, 7, 9, 23, 16, 23, 16, 7, 21, 14, 16, 14, 16, 23, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 0, 16, 0, 23, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 14, 14, 10, 12, 11, 8, 11, 10, 10, 10, 9, 10, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 11, 10, 10, 10, 13, 9, 10, 10, 0, 10, 0, 10, 10, 9, 9, 0, 11, 0, 10, 4, 12, 10, 0, 2, 12, 10, 9, 11, 11, 0, 10, 8, 8, 10, 9, 8, 9, 8, 8, 8, 7, 10, 8, 7, 9, 8, 8, 8, 8, 8, 8, 9, 8, 9, 8, 8, 10, 11, 9, 8, 10, 0, 8, 0, 8, 8, 7, 7, 11, 0, 0, 8, 2, 10, 8, 0, 0, 10, 8, 9, 9, 9, 0, 10, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 0, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 10, 10, 11, 1, 4, 10, 10, 10, 9, 1, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 1, 11, 9, 3, 8, 0, 10, 0, 10, 10, 2, 9, 4, 2, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 11, 4, 0, 8, 8, 17, 19, 17, 8, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 10, 19, 15, 10, 17, 0, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 0, 17, 0, 2, 19, 17, 16, 17, 10, 0, 17, 15, 17, 17, 18, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 18, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 18, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 0, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 24, 19, 17, 8, 10, 24, 17, 23, 16, 10, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 18, 17, 17, 17, 19, 22, 10, 17, 0, 17, 0, 24, 24, 9, 23, 12, 10, 0, 17, 10, 19, 17, 0, 2, 0, 17, 23, 24, 17, 0, 17, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 21, 16, 14, 7, 7, 21, 14, 21, 14, 9, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 16, 14, 14, 16, 16, 21, 7, 16, 0, 14, 0, 21, 21, 7, 21, 9, 9, 0, 14, 7, 16, 14, 0, 0, 23, 14, 0, 21, 14, 0, 16, 14, 24, 17, 18, 8, 11, 24, 17, 24, 16, 8, 22, 14, 18, 15, 17, 24, 15, 17, 17, 16, 17, 16, 17, 17, 15, 18, 23, 10, 15, 0, 17, 0, 24, 24, 9, 23, 11, 9, 0, 17, 11, 17, 17, 0, 2, 24, 17, 21, 0, 18, 0, 15, 15, 17, 10, 12, 9, 11, 17, 10, 18, 10, 9, 16, 7, 11, 9, 10, 17, 9, 11, 10, 9, 10, 9, 10, 10, 15, 11, 16, 10, 9, 0, 10, 0, 17, 17, 9, 16, 11, 9, 0, 10, 4, 10, 10, 0, 2, 17, 10, 14, 18, 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 17, 16, 9, 8, 15, 15, 15, 15, 11, 16, 14, 15, 16, 15, 15, 16, 15, 15, 15, 15, 16, 15, 15, 10, 17, 15, 8, 18, 0, 15, 0, 15, 15, 7, 14, 10, 10, 0, 15, 8, 17, 15, 0, 0, 17, 15, 16, 15, 9, 0, 0, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 0, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 0, 17, 18, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 18, 15, 10, 15, 17, 0, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 17, 0, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 18, 17, 0, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 18, 15, 10, 15, 17, 0, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 10, 8, 0, 10, 12, 9, 9, 8, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 8, 10, 10, 10, 8, 10, 0, 0, 12, 12, 9, 9, 10, 8, 0, 10, 5, 10, 12, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 17, 17, 17, 8, 10, 0, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 12, 17, 0, 16, 16, 8, 15, 23, 17, 15, 17, 19, 15, 18, 17, 15, 24, 16, 19, 17, 8, 17, 17, 10, 15, 17, 0, 0, 19, 19, 9, 16, 10, 8, 0, 17, 12, 17, 26, 0, 9, 17, 17, 14, 17, 10, 0, 15, 15, 17, 16, 17, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 17, 15, 16, 16, 14, 16, 16, 16, 16, 7, 17, 14, 9, 14, 16, 0, 0, 17, 17, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 15, 14, 16, 16, 16, 7, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 0, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 0, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 0, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 14, 14, 14, 7, 9, 14, 23, 14, 14, 7, 14, 0, 14, 14, 14, 16, 14, 16, 14, 14, 21, 14, 16, 14, 7, 14, 16, 7, 14, 14, 0, 0, 16, 16, 7, 14, 7, 7, 0, 14, 9, 14, 23, 0, 7, 14, 14, 14, 14, 7, 0, 14, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 0, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 0, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 0, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 0, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 3, 17, 18, 14, 17, 10, 0, 15, 15, 18, 17, 18, 8, 12, 17, 19, 17, 16, 8, 15, 16, 17, 15, 17, 0, 16, 18, 17, 15, 17, 16, 19, 17, 8, 18, 17, 10, 15, 17, 0, 0, 20, 20, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 16, 15, 16, 8, 8, 15, 15, 15, 14, 8, 15, 14, 15, 15, 15, 16, 0, 14, 15, 15, 15, 14, 15, 15, 8, 16, 15, 8, 15, 15, 0, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 16, 15, 16, 16, 16, 7, 11, 16, 18, 16, 16, 7, 14, 16, 16, 14, 16, 18, 14, 0, 16, 14, 16, 16, 18, 16, 7, 16, 16, 9, 14, 16, 0, 0, 18, 18, 9, 16, 9, 7, 0, 16, 11, 16, 18, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 0, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 17, 17, 17, 8, 10, 17, 24, 16, 16, 8, 15, 21, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 24, 0, 9, 17, 17, 14, 17, 10, 0, 15, 15, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 10, 14, 16, 0, 1, 16, 16, 10, 17, 9, 7, 1, 16, 9, 17, 16, 1, 2, 16, 17, 15, 16, 9, 0, 14, 14, 17, 17, 17, 8, 12, 17, 19, 16, 16, 8, 15, 16, 17, 15, 17, 19, 15, 18, 17, 15, 17, 16, 0, 17, 8, 17, 17, 10, 15, 17, 0, 0, 19, 19, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 0, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 0, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 18, 17, 18, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 0, 0, 18, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 15, 15, 15, 8, 10, 15, 17, 14, 14, 8, 15, 16, 15, 15, 15, 17, 15, 16, 15, 15, 15, 14, 17, 15, 8, 15, 0, 8, 15, 15, 0, 0, 17, 17, 7, 14, 8, 8, 0, 15, 10, 15, 17, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 10, 10, 10, 8, 10, 8, 0, 8, 10, 0, 1, 10, 10, 10, 10, 10, 8, 1, 10, 3, 11, 10, 1, 2, 10, 11, 8, 10, 10, 0, 8, 8, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 0, 15, 0, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 0, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 18, 17, 18, 8, 12, 17, 19, 17, 16, 8, 15, 16, 17, 15, 17, 20, 16, 18, 17, 15, 17, 16, 19, 17, 8, 18, 17, 10, 15, 17, 0, 0, 0, 20, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 18, 17, 18, 8, 12, 17, 19, 17, 16, 8, 15, 16, 17, 15, 17, 20, 16, 18, 17, 15, 17, 16, 19, 17, 8, 18, 17, 10, 15, 17, 0, 0, 20, 0, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 10, 9, 9, 7, 9, 7, 10, 7, 9, 0, 1, 9, 9, 0, 10, 9, 7, 1, 9, 2, 10, 9, 1, 2, 9, 10, 8, 9, 9, 0, 7, 7, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 17, 16, 16, 7, 16, 14, 10, 14, 16, 0, 1, 16, 16, 10, 0, 9, 7, 1, 16, 9, 17, 16, 1, 2, 16, 17, 15, 16, 9, 0, 14, 14, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 0, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 8, 8, 7, 7, 8, 0, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 0, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 0, 0, 12, 12, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 17, 17, 17, 8, 17, 15, 11, 15, 17, 0, 1, 17, 17, 10, 17, 10, 8, 1, 17, 10, 0, 17, 1, 2, 17, 18, 15, 17, 10, 0, 15, 15, 17, 17, 17, 8, 12, 17, 26, 16, 16, 8, 15, 23, 17, 15, 17, 19, 15, 18, 17, 15, 24, 16, 19, 17, 8, 17, 17, 10, 15, 17, 0, 0, 19, 19, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 9, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 2, 0, 2, 2, 9, 2, 2, 0, 0, 7, 2, 0, 3, 2, 0, 2, 2, 0, 9, 2, 2, 2, 0, 2, 0, 2, 0, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 9, 0, 0, 2, 3, 0, 2, 2, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 18, 17, 15, 16, 17, 15, 17, 17, 17, 17, 8, 17, 15, 11, 15, 17, 0, 1, 17, 17, 10, 17, 10, 8, 1, 17, 10, 18, 17, 1, 3, 17, 0, 15, 17, 10, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 7, 14, 14, 8, 14, 14, 0, 1, 14, 14, 8, 15, 7, 7, 1, 14, 7, 15, 14, 1, 0, 14, 15, 0, 14, 7, 0, 14, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 0, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 15, 16, 8, 8, 15, 15, 15, 14, 8, 15, 14, 15, 15, 15, 16, 16, 14, 15, 15, 15, 14, 15, 15, 8, 16, 15, 8, 15, 15, 0, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 0, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 8, 10, 25, 18, 24, 16, 8, 22, 14, 18, 15, 17, 25, 16, 16, 17, 15, 17, 16, 17, 18, 15, 18, 23, 10, 15, 24, 18, 0, 0, 25, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 25, 17, 21, 25, 17, 0, 16, 16, 18, 0, 17, 8, 10, 18, 18, 16, 16, 8, 15, 14, 18, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 16, 18, 17, 0, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 18, 15, 10, 15, 17, 18, 0, 0, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 10, 8, 0, 10, 12, 9, 9, 8, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 8, 10, 10, 10, 8, 10, 12, 0, 0, 12, 9, 9, 10, 8, 0, 10, 5, 10, 12, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 25, 18, 17, 8, 10, 0, 19, 23, 16, 9, 22, 15, 18, 16, 18, 24, 16, 16, 17, 15, 17, 16, 18, 19, 16, 17, 23, 10, 16, 24, 17, 0, 0, 25, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 25, 17, 21, 25, 17, 0, 15, 17, 18, 18, 17, 8, 12, 19, 0, 16, 16, 9, 15, 17, 18, 16, 18, 19, 16, 18, 17, 15, 17, 16, 20, 19, 9, 17, 18, 10, 16, 17, 19, 0, 0, 20, 9, 16, 10, 9, 0, 18, 12, 17, 19, 0, 3, 18, 17, 14, 18, 10, 0, 15, 17, 24, 16, 17, 7, 9, 23, 16, 0, 16, 7, 21, 14, 16, 14, 16, 24, 15, 16, 16, 14, 16, 16, 16, 16, 14, 17, 21, 9, 14, 23, 17, 0, 0, 24, 9, 23, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 15, 14, 16, 16, 16, 7, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 0, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 8, 8, 8, 8, 8, 9, 9, 7, 7, 0, 8, 8, 8, 9, 9, 8, 9, 7, 8, 8, 8, 7, 9, 9, 9, 8, 8, 8, 9, 8, 8, 0, 0, 9, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 9, 22, 15, 15, 8, 8, 22, 15, 21, 14, 8, 0, 14, 15, 15, 15, 22, 15, 14, 15, 15, 15, 14, 15, 15, 15, 15, 22, 8, 15, 22, 15, 0, 0, 22, 7, 21, 8, 8, 0, 15, 8, 15, 15, 0, 0, 22, 15, 21, 22, 15, 0, 15, 15, 14, 14, 14, 7, 9, 15, 17, 14, 14, 8, 14, 0, 14, 15, 15, 16, 15, 16, 14, 14, 14, 14, 17, 15, 8, 14, 16, 7, 15, 14, 16, 0, 0, 17, 7, 14, 7, 7, 0, 14, 9, 14, 16, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 18, 18, 17, 8, 10, 18, 18, 16, 16, 8, 15, 14, 0, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 16, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 0, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 0, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 17, 17, 17, 8, 10, 18, 18, 16, 16, 9, 15, 15, 17, 16, 0, 17, 16, 16, 17, 15, 17, 16, 18, 18, 9, 17, 15, 10, 16, 17, 17, 0, 0, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 25, 17, 18, 8, 12, 24, 19, 24, 16, 8, 22, 16, 17, 15, 17, 0, 16, 18, 17, 15, 17, 16, 19, 17, 15, 18, 24, 10, 15, 24, 20, 0, 0, 27, 9, 23, 10, 8, 0, 17, 12, 17, 19, 0, 2, 24, 17, 21, 24, 17, 0, 16, 15, 16, 15, 16, 8, 8, 16, 16, 15, 14, 9, 15, 15, 15, 16, 16, 16, 0, 14, 15, 15, 15, 14, 16, 16, 9, 16, 15, 8, 16, 15, 16, 0, 0, 17, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 16, 16, 16, 16, 16, 7, 11, 16, 18, 16, 16, 7, 14, 16, 16, 14, 16, 18, 14, 0, 16, 14, 16, 16, 18, 16, 7, 16, 16, 9, 14, 16, 18, 0, 0, 18, 9, 16, 9, 7, 0, 16, 11, 16, 18, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 0, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 0, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 17, 8, 12, 18, 20, 16, 16, 9, 15, 17, 17, 16, 18, 19, 16, 18, 17, 15, 17, 16, 0, 18, 9, 17, 17, 10, 16, 17, 19, 0, 0, 20, 9, 16, 10, 8, 0, 17, 12, 17, 24, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 18, 18, 17, 8, 10, 19, 19, 16, 16, 9, 15, 15, 18, 16, 18, 17, 16, 16, 17, 15, 17, 16, 18, 0, 9, 17, 16, 10, 16, 17, 17, 0, 0, 18, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 17, 15, 8, 8, 8, 8, 16, 9, 14, 7, 9, 15, 8, 8, 9, 9, 15, 9, 7, 8, 8, 8, 7, 9, 9, 0, 8, 15, 8, 9, 15, 8, 0, 0, 16, 7, 14, 8, 8, 0, 8, 1, 8, 8, 0, 0, 15, 8, 14, 15, 15, 0, 8, 9, 18, 17, 18, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 18, 0, 0, 18, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 23, 16, 15, 8, 10, 23, 18, 21, 14, 8, 22, 16, 16, 15, 15, 24, 15, 16, 15, 15, 15, 14, 17, 16, 15, 15, 0, 8, 15, 22, 17, 0, 0, 24, 7, 21, 8, 9, 0, 16, 10, 15, 17, 0, 1, 23, 15, 21, 23, 15, 0, 15, 16, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 0, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 0, 15, 15, 0, 0, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 24, 17, 17, 8, 10, 24, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 15, 17, 22, 10, 15, 0, 17, 0, 0, 24, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 18, 17, 18, 8, 12, 17, 19, 17, 16, 8, 15, 16, 17, 15, 17, 20, 16, 18, 17, 15, 17, 16, 19, 17, 8, 18, 17, 10, 15, 17, 0, 0, 0, 20, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 17, 18, 8, 12, 25, 20, 24, 16, 9, 22, 17, 17, 16, 18, 27, 17, 18, 17, 15, 17, 16, 20, 18, 16, 18, 24, 10, 16, 24, 20, 0, 0, 0, 9, 23, 10, 8, 0, 17, 12, 17, 19, 0, 2, 24, 17, 21, 24, 17, 0, 16, 16, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 0, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 23, 16, 16, 7, 9, 23, 16, 23, 16, 7, 21, 14, 16, 14, 16, 23, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 23, 16, 0, 0, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 14, 14, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 0, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 8, 8, 8, 9, 9, 7, 7, 8, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 0, 0, 8, 7, 7, 8, 0, 0, 9, 1, 8, 8, 0, 1, 9, 8, 7, 9, 8, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 17, 8, 10, 18, 18, 16, 16, 8, 15, 14, 18, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 16, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 12, 0, 0, 12, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 12, 17, 19, 16, 16, 8, 15, 16, 17, 15, 17, 19, 15, 18, 17, 15, 17, 16, 24, 17, 8, 17, 17, 10, 15, 17, 19, 0, 0, 19, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 0, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 25, 18, 17, 8, 10, 25, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 0, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 0, 17, 21, 25, 17, 0, 15, 16, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 21, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 7, 14, 21, 14, 0, 0, 21, 7, 21, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 14, 14, 25, 18, 17, 8, 10, 25, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 0, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 25, 17, 21, 0, 17, 0, 15, 16, 17, 10, 10, 8, 10, 17, 10, 16, 9, 8, 15, 7, 10, 8, 10, 17, 8, 9, 10, 8, 10, 9, 10, 10, 15, 10, 15, 10, 8, 17, 10, 0, 0, 17, 9, 16, 10, 8, 0, 10, 3, 10, 10, 0, 2, 17, 10, 14, 17, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 15, 16, 8, 8, 15, 15, 15, 14, 8, 15, 14, 15, 15, 15, 16, 16, 14, 15, 15, 15, 14, 15, 15, 8, 16, 15, 8, 15, 15, 16, 0, 0, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 16, 16, 15, 8, 8, 17, 17, 14, 14, 9, 15, 15, 16, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 17, 9, 15, 16, 8, 16, 15, 15, 0, 0, 16, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 0, 0, 17, 18, 8, 10, 24, 17, 25, 16, 8, 22, 14, 17, 15, 18, 25, 16, 17, 18, 15, 18, 16, 17, 17, 15, 18, 22, 10, 15, 24, 18, 0, 25, 0, 9, 23, 10, 8, 0, 18, 10, 18, 17, 0, 2, 24, 17, 21, 24, 17, 0, 16, 15, 17, 0, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 18, 17, 0, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 18, 15, 10, 15, 17, 18, 0, 18, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 0, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 10, 8, 0, 10, 12, 9, 9, 8, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 8, 10, 10, 10, 8, 10, 12, 0, 12, 0, 9, 9, 10, 8, 0, 10, 5, 10, 12, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 24, 17, 17, 8, 10, 0, 18, 23, 16, 9, 22, 15, 17, 16, 18, 24, 16, 16, 17, 15, 17, 16, 18, 18, 16, 17, 22, 10, 16, 24, 17, 0, 25, 0, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 16, 17, 17, 17, 8, 12, 18, 0, 16, 16, 9, 15, 17, 17, 16, 18, 19, 16, 18, 17, 15, 17, 16, 20, 18, 9, 17, 17, 10, 16, 17, 19, 0, 20, 0, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 25, 16, 17, 7, 9, 23, 16, 0, 16, 7, 21, 14, 16, 14, 17, 24, 15, 17, 17, 14, 17, 16, 16, 16, 14, 17, 21, 9, 14, 23, 17, 0, 24, 0, 9, 23, 9, 7, 0, 17, 9, 17, 16, 0, 2, 23, 16, 21, 23, 16, 0, 15, 14, 16, 16, 16, 7, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 0, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 8, 8, 8, 8, 8, 9, 9, 7, 7, 0, 8, 8, 8, 9, 9, 8, 9, 7, 8, 8, 8, 7, 9, 9, 9, 8, 8, 8, 9, 8, 8, 0, 9, 0, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 9, 22, 15, 15, 8, 8, 22, 15, 21, 14, 8, 0, 14, 15, 15, 15, 22, 15, 14, 15, 15, 15, 14, 15, 15, 15, 15, 22, 8, 15, 22, 15, 0, 22, 0, 7, 21, 8, 8, 0, 15, 8, 15, 15, 0, 0, 22, 15, 21, 22, 15, 0, 15, 15, 14, 14, 14, 7, 9, 15, 17, 14, 14, 8, 14, 0, 14, 15, 15, 16, 15, 16, 14, 14, 14, 14, 17, 15, 8, 14, 16, 7, 15, 14, 16, 0, 17, 0, 7, 14, 7, 7, 0, 14, 9, 14, 16, 0, 0, 14, 14, 14, 14, 7, 0, 14, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 0, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 0, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 16, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 18, 17, 17, 8, 10, 18, 18, 17, 16, 9, 15, 15, 17, 16, 0, 17, 16, 17, 18, 15, 18, 16, 18, 18, 9, 17, 15, 10, 16, 17, 17, 0, 18, 0, 9, 16, 10, 8, 0, 18, 10, 18, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 25, 17, 18, 8, 12, 24, 19, 24, 16, 8, 22, 16, 17, 15, 17, 0, 16, 18, 17, 15, 17, 16, 19, 17, 15, 18, 24, 10, 15, 24, 20, 0, 27, 0, 9, 23, 10, 8, 0, 17, 12, 17, 19, 0, 2, 24, 17, 21, 24, 17, 0, 16, 15, 16, 15, 16, 8, 8, 16, 16, 15, 14, 9, 15, 15, 15, 16, 16, 16, 0, 14, 15, 15, 15, 14, 16, 16, 9, 16, 15, 8, 16, 15, 16, 0, 17, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 16, 16, 17, 16, 16, 7, 11, 16, 18, 17, 16, 7, 14, 16, 16, 14, 17, 18, 14, 0, 17, 14, 17, 16, 18, 16, 7, 16, 16, 9, 14, 16, 18, 0, 18, 0, 9, 16, 9, 7, 0, 17, 11, 17, 18, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 18, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 0, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 18, 10, 18, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 18, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 18, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 18, 10, 18, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 0, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 17, 8, 12, 18, 20, 16, 16, 9, 15, 17, 17, 16, 18, 19, 16, 18, 17, 15, 17, 16, 0, 18, 9, 17, 17, 10, 16, 17, 19, 0, 20, 0, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 17, 17, 17, 8, 10, 18, 18, 16, 16, 9, 15, 15, 17, 16, 18, 17, 16, 16, 17, 15, 17, 16, 18, 0, 9, 17, 15, 10, 16, 17, 17, 0, 18, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 16, 15, 8, 8, 8, 8, 16, 9, 14, 7, 9, 15, 8, 8, 9, 9, 15, 9, 7, 8, 8, 8, 7, 9, 9, 0, 8, 15, 8, 9, 15, 8, 0, 16, 0, 7, 14, 8, 8, 0, 8, 1, 8, 8, 0, 0, 15, 8, 14, 15, 15, 0, 8, 9, 18, 17, 18, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 17, 18, 16, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 18, 0, 18, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 22, 15, 15, 8, 10, 22, 17, 21, 14, 8, 22, 16, 15, 15, 15, 24, 15, 16, 15, 15, 15, 14, 17, 15, 15, 15, 0, 8, 15, 22, 17, 0, 24, 0, 7, 21, 8, 8, 0, 15, 10, 15, 17, 0, 0, 22, 15, 21, 22, 15, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 0, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 0, 15, 15, 0, 16, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 16, 24, 17, 17, 8, 10, 24, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 15, 17, 22, 10, 15, 0, 17, 0, 24, 0, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 24, 17, 0, 15, 15, 18, 17, 18, 8, 12, 17, 19, 17, 16, 8, 15, 16, 17, 15, 17, 20, 16, 18, 17, 15, 17, 16, 19, 17, 8, 18, 17, 10, 15, 17, 0, 0, 20, 0, 9, 16, 10, 8, 0, 17, 12, 17, 19, 0, 2, 17, 17, 14, 17, 10, 0, 16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 17, 18, 8, 12, 25, 20, 24, 16, 9, 22, 17, 17, 16, 18, 27, 17, 18, 17, 15, 17, 16, 20, 18, 16, 18, 24, 10, 16, 24, 20, 0, 0, 0, 9, 23, 10, 8, 0, 17, 12, 17, 19, 0, 2, 24, 17, 21, 24, 17, 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 0, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 23, 16, 16, 7, 9, 23, 16, 23, 16, 7, 21, 14, 16, 14, 16, 23, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 23, 16, 0, 23, 0, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 14, 14, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 0, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 0, 7, 7, 8, 0, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 18, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 0, 10, 18, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 12, 0, 12, 0, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 18, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 18, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 18, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 12, 17, 19, 16, 16, 8, 15, 16, 17, 15, 17, 19, 15, 18, 17, 15, 17, 16, 19, 17, 8, 17, 17, 10, 15, 17, 19, 0, 19, 0, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 0, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 24, 17, 17, 8, 10, 24, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 15, 17, 22, 10, 15, 24, 17, 0, 24, 0, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 0, 17, 21, 24, 17, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 21, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 7, 14, 21, 14, 0, 21, 0, 7, 21, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 14, 14, 24, 17, 17, 8, 10, 24, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 15, 17, 22, 10, 15, 24, 17, 0, 24, 0, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 0, 17, 0, 15, 15, 17, 10, 10, 8, 10, 17, 10, 16, 9, 8, 15, 7, 10, 8, 10, 17, 8, 9, 10, 8, 10, 9, 10, 10, 15, 10, 15, 10, 8, 17, 10, 0, 17, 0, 9, 16, 10, 8, 0, 10, 3, 10, 10, 0, 2, 17, 10, 14, 17, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 15, 16, 8, 8, 15, 15, 15, 14, 8, 15, 14, 15, 15, 15, 16, 16, 14, 15, 15, 15, 14, 15, 15, 8, 16, 15, 8, 15, 15, 16, 0, 16, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 16, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 0, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 9, 0, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 9, 9, 0, 7, 16, 9, 9, 11, 18, 14, 7, 7, 18, 14, 16, 9, 14, 16, 18, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 7, 7, 7, 0, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 7, 14, 7, 7, 7, 0, 7, 7, 0, 7, 7, 14, 0, 7, 0, 7, 7, 0, 7, 7, 7, 7, 7, 14, 0, 7, 7, 9, 9, 16, 7, 0, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 9, 9, 9, 7, 9, 0, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 9, 9, 9, 7, 9, 9, 0, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 9, 9, 11, 7, 9, 9, 9, 0, 12, 7, 7, 8, 11, 7, 9, 9, 7, 10, 11, 7, 9, 10, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 10, 9, 7, 0, 9, 2, 9, 9, 0, 3, 9, 9, 8, 9, 9, 0, 7, 7, 9, 9, 18, 7, 16, 9, 9, 12, 0, 14, 7, 8, 18, 14, 16, 9, 14, 17, 18, 7, 9, 17, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 10, 16, 14, 0, 16, 2, 16, 9, 0, 3, 9, 16, 8, 9, 9, 0, 14, 14, 7, 7, 14, 14, 14, 7, 7, 7, 14, 0, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 14, 7, 22, 14, 7, 7, 0, 7, 7, 0, 7, 14, 22, 0, 14, 0, 14, 7, 0, 7, 7, 14, 7, 7, 14, 0, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 7, 7, 0, 7, 7, 7, 7, 7, 8, 7, 7, 7, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 0, 8, 7, 7, 0, 7, 0, 7, 7, 0, 1, 7, 7, 8, 7, 7, 0, 7, 7, 9, 9, 18, 7, 16, 9, 9, 11, 18, 14, 7, 7, 0, 14, 16, 9, 14, 16, 18, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 7, 7, 14, 7, 14, 7, 7, 7, 14, 14, 7, 7, 14, 0, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 14, 7, 7, 0, 7, 7, 0, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 7, 14, 7, 7, 7, 0, 14, 14, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 0, 9, 14, 16, 16, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 0, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 7, 7, 14, 7, 14, 7, 7, 7, 14, 14, 7, 7, 14, 14, 14, 7, 0, 14, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 14, 7, 7, 0, 7, 7, 0, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 7, 14, 7, 7, 7, 0, 14, 14, 9, 9, 16, 7, 16, 9, 9, 10, 17, 14, 7, 8, 16, 14, 16, 9, 14, 0, 16, 7, 9, 17, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 10, 16, 14, 0, 16, 2, 16, 9, 0, 3, 9, 16, 8, 9, 9, 0, 14, 14, 9, 9, 18, 7, 16, 9, 9, 11, 18, 14, 7, 7, 18, 14, 16, 9, 14, 16, 0, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 7, 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, 0, 7, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 0, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 9, 9, 16, 7, 16, 9, 9, 10, 17, 14, 7, 8, 16, 14, 16, 9, 14, 17, 16, 7, 9, 0, 16, 9, 7, 9, 7, 17, 14, 9, 10, 1, 9, 9, 0, 11, 16, 14, 1, 16, 2, 17, 9, 1, 3, 9, 17, 9, 9, 9, 0, 14, 14, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 16, 0, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 0, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 7, 7, 7, 7, 7, 7, 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, 0, 7, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 9, 9, 9, 14, 9, 9, 9, 9, 9, 14, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 0, 7, 16, 7, 9, 9, 0, 9, 9, 0, 9, 9, 14, 0, 9, 2, 9, 9, 0, 9, 9, 9, 7, 9, 16, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 0, 7, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 9, 9, 16, 14, 16, 9, 9, 9, 16, 22, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 17, 16, 9, 7, 16, 7, 0, 14, 9, 10, 1, 9, 9, 0, 10, 16, 22, 1, 16, 2, 17, 9, 1, 9, 9, 17, 8, 9, 16, 0, 14, 14, 7, 7, 14, 7, 14, 7, 7, 7, 14, 14, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 0, 7, 7, 0, 7, 7, 0, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 7, 14, 7, 7, 7, 0, 14, 14, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 0, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 10, 9, 9, 7, 9, 7, 10, 7, 9, 0, 1, 9, 9, 0, 10, 9, 7, 1, 9, 2, 10, 9, 1, 2, 9, 10, 8, 9, 9, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 0, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 0, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 7, 9, 9, 9, 10, 10, 7, 7, 8, 9, 7, 9, 9, 7, 10, 9, 7, 9, 11, 9, 9, 7, 9, 7, 10, 7, 9, 10, 1, 9, 9, 0, 0, 9, 7, 1, 9, 2, 10, 9, 1, 3, 9, 10, 9, 9, 9, 0, 7, 7, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 0, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 7, 7, 14, 14, 14, 7, 7, 7, 14, 22, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 14, 7, 22, 14, 7, 7, 0, 7, 7, 0, 7, 14, 0, 0, 14, 0, 14, 7, 0, 7, 7, 14, 7, 7, 14, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 0, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0, 2, 2, 2, 0, 2, 2, 0, 0, 0, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 17, 16, 9, 7, 9, 7, 17, 14, 9, 10, 1, 9, 9, 0, 10, 16, 14, 1, 16, 2, 0, 9, 1, 2, 9, 17, 8, 9, 9, 0, 14, 14, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 0, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 2, 7, 2, 2, 2, 3, 3, 7, 0, 1, 2, 0, 2, 2, 0, 3, 2, 0, 2, 3, 2, 2, 0, 9, 0, 9, 0, 2, 2, 0, 2, 2, 0, 3, 2, 7, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 9, 0, 0, 0, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 0, 9, 7, 9, 9, 0, 7, 7, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 17, 16, 9, 7, 9, 7, 17, 14, 9, 10, 1, 9, 9, 0, 10, 16, 14, 1, 16, 2, 17, 9, 1, 2, 9, 0, 8, 9, 9, 0, 14, 14, 7, 7, 7, 7, 7, 7, 7, 8, 8, 7, 7, 8, 7, 7, 7, 7, 7, 8, 7, 7, 7, 9, 7, 7, 7, 7, 7, 8, 7, 7, 8, 1, 7, 7, 0, 9, 7, 7, 1, 7, 0, 8, 7, 1, 1, 7, 8, 0, 7, 7, 0, 7, 7, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 0, 9, 0, 7, 7, 9, 9, 9, 14, 9, 9, 9, 9, 9, 14, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 16, 7, 16, 7, 9, 9, 0, 9, 9, 0, 9, 9, 14, 0, 9, 2, 9, 9, 0, 9, 9, 9, 7, 9, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 14, 7, 14, 7, 7, 7, 14, 14, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 14, 7, 7, 0, 7, 7, 0, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 7, 14, 7, 7, 7, 0, 0, 14, 7, 7, 14, 7, 14, 7, 7, 7, 14, 14, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 14, 7, 7, 0, 7, 7, 0, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 7, 14, 7, 7, 7, 0, 14, 0, 0, 16, 16, 7, 9, 23, 16, 23, 16, 7, 23, 14, 16, 16, 18, 23, 14, 16, 16, 16, 16, 16, 16, 16, 14, 16, 21, 11, 14, 23, 16, 0, 23, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 4, 23, 18, 21, 25, 18, 0, 14, 14, 16, 0, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 0, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 7, 7, 7, 0, 14, 14, 7, 14, 14, 14, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 0, 7, 7, 7, 0, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 14, 7, 7, 0, 14, 7, 9, 9, 9, 14, 0, 16, 9, 16, 16, 14, 14, 7, 9, 14, 9, 9, 7, 9, 16, 7, 9, 9, 9, 9, 7, 16, 7, 9, 7, 9, 9, 0, 9, 9, 9, 0, 16, 7, 0, 9, 9, 9, 9, 0, 2, 9, 9, 14, 9, 9, 0, 14, 7, 23, 16, 16, 14, 16, 0, 16, 30, 23, 14, 28, 14, 16, 21, 16, 23, 14, 16, 23, 14, 16, 16, 16, 16, 14, 23, 21, 9, 14, 23, 16, 0, 23, 23, 9, 0, 16, 7, 0, 16, 16, 16, 16, 0, 2, 23, 16, 28, 23, 16, 0, 21, 14, 16, 16, 16, 7, 9, 16, 0, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 23, 16, 16, 14, 16, 30, 16, 0, 24, 14, 28, 15, 16, 21, 16, 23, 14, 17, 23, 14, 16, 17, 16, 16, 14, 23, 21, 9, 14, 23, 16, 0, 23, 23, 10, 0, 16, 7, 0, 16, 16, 16, 16, 0, 3, 23, 16, 29, 23, 16, 0, 21, 14, 16, 16, 16, 14, 16, 23, 16, 24, 0, 14, 21, 15, 16, 21, 16, 16, 14, 17, 23, 14, 16, 18, 16, 16, 7, 23, 14, 9, 14, 16, 16, 0, 16, 16, 10, 0, 16, 7, 0, 16, 16, 16, 16, 0, 3, 16, 16, 23, 16, 9, 0, 21, 14, 7, 7, 7, 14, 14, 14, 7, 14, 14, 0, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 0, 7, 7, 7, 0, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 14, 7, 7, 0, 14, 7, 23, 14, 14, 14, 14, 28, 14, 28, 21, 14, 0, 14, 14, 23, 16, 21, 14, 14, 21, 16, 14, 14, 14, 14, 14, 21, 21, 9, 14, 21, 14, 0, 21, 21, 7, 0, 14, 7, 0, 14, 14, 14, 14, 0, 2, 21, 16, 28, 23, 16, 0, 21, 14, 14, 14, 14, 7, 7, 14, 14, 15, 15, 7, 14, 0, 14, 14, 14, 14, 14, 15, 14, 14, 14, 15, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 8, 0, 7, 7, 0, 14, 7, 14, 14, 0, 1, 14, 14, 15, 14, 7, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 0, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 14, 14, 14, 14, 21, 14, 21, 21, 14, 23, 14, 14, 0, 16, 14, 14, 14, 21, 16, 14, 14, 14, 14, 7, 21, 14, 9, 14, 14, 14, 0, 14, 14, 7, 0, 14, 7, 0, 14, 14, 14, 14, 0, 2, 14, 16, 21, 16, 9, 0, 21, 14, 18, 16, 16, 7, 9, 16, 16, 16, 16, 7, 16, 14, 16, 16, 0, 16, 14, 16, 16, 16, 16, 16, 16, 16, 7, 16, 14, 11, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 4, 16, 18, 14, 18, 11, 0, 14, 14, 23, 16, 16, 7, 9, 23, 16, 23, 16, 7, 21, 14, 16, 14, 16, 0, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 23, 16, 0, 23, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 0, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 17, 17, 7, 14, 15, 16, 14, 16, 16, 14, 0, 16, 14, 16, 17, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 10, 0, 9, 7, 0, 16, 9, 16, 16, 0, 3, 16, 16, 16, 16, 9, 0, 14, 14, 16, 16, 16, 14, 16, 23, 16, 23, 23, 14, 21, 14, 16, 21, 16, 16, 14, 16, 0, 14, 16, 16, 16, 16, 7, 23, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 16, 7, 0, 16, 16, 16, 16, 0, 2, 16, 16, 21, 16, 9, 0, 21, 14, 16, 14, 14, 7, 7, 14, 14, 14, 14, 7, 16, 14, 14, 16, 16, 14, 14, 14, 14, 0, 14, 14, 14, 14, 7, 14, 14, 9, 14, 14, 14, 0, 14, 14, 7, 0, 7, 7, 0, 14, 7, 14, 14, 0, 2, 14, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 0, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 17, 18, 7, 14, 15, 16, 14, 16, 16, 14, 17, 16, 14, 16, 0, 16, 16, 7, 16, 14, 10, 14, 16, 17, 1, 16, 16, 11, 0, 9, 7, 1, 16, 9, 17, 16, 1, 3, 16, 17, 17, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 0, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 0, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 14, 7, 7, 7, 7, 14, 7, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 14, 7, 7, 14, 7, 0, 14, 14, 7, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 14, 7, 14, 14, 14, 0, 7, 7, 16, 16, 16, 14, 16, 23, 16, 23, 23, 14, 21, 14, 16, 21, 16, 16, 14, 16, 23, 14, 16, 16, 16, 16, 7, 0, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 16, 7, 0, 16, 16, 16, 16, 0, 2, 16, 16, 21, 16, 9, 0, 21, 14, 21, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 7, 14, 21, 14, 0, 21, 21, 7, 0, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 21, 21, 14, 0, 14, 14, 11, 9, 9, 7, 9, 9, 9, 9, 9, 7, 9, 7, 9, 9, 11, 9, 7, 9, 9, 9, 9, 10, 9, 9, 7, 9, 7, 0, 7, 9, 10, 1, 9, 9, 10, 0, 9, 7, 1, 9, 2, 10, 9, 1, 4, 9, 12, 8, 11, 11, 0, 7, 7, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 0, 14, 14, 0, 14, 14, 7, 0, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 23, 16, 16, 7, 9, 23, 16, 23, 16, 7, 21, 14, 16, 14, 16, 23, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 0, 16, 0, 23, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 17, 16, 16, 7, 16, 14, 10, 14, 16, 0, 1, 16, 16, 10, 0, 9, 7, 1, 16, 9, 17, 16, 1, 2, 16, 17, 15, 16, 9, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 23, 16, 16, 7, 9, 23, 16, 23, 16, 7, 21, 14, 16, 14, 16, 23, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 23, 16, 0, 0, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 14, 14, 23, 16, 16, 7, 9, 23, 16, 23, 16, 7, 21, 14, 16, 14, 16, 23, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 23, 16, 0, 23, 0, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 23, 16, 21, 23, 16, 0, 14, 14, 9, 9, 9, 7, 9, 9, 9, 10, 10, 7, 7, 8, 9, 7, 9, 9, 7, 10, 9, 7, 9, 11, 9, 9, 7, 9, 7, 10, 7, 9, 10, 1, 9, 9, 0, 0, 9, 7, 1, 9, 2, 10, 9, 1, 3, 9, 10, 9, 9, 9, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 14, 16, 16, 9, 16, 16, 14, 14, 7, 9, 14, 9, 9, 7, 9, 16, 7, 9, 9, 9, 9, 7, 16, 7, 9, 7, 9, 9, 0, 9, 9, 9, 0, 0, 7, 0, 9, 9, 9, 9, 0, 2, 9, 9, 14, 9, 9, 0, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 0, 7, 0, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 0, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 9, 9, 9, 7, 9, 16, 9, 16, 16, 7, 14, 7, 9, 14, 9, 9, 7, 9, 16, 7, 9, 9, 9, 9, 0, 16, 7, 2, 7, 9, 9, 0, 9, 9, 2, 0, 9, 0, 0, 9, 0, 9, 9, 0, 2, 9, 9, 14, 9, 2, 0, 14, 7, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 17, 16, 16, 7, 16, 14, 10, 14, 16, 17, 1, 16, 16, 10, 0, 9, 7, 1, 16, 9, 0, 16, 1, 2, 16, 17, 15, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 0, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 4, 2, 2, 0, 2, 2, 2, 3, 3, 0, 2, 1, 2, 2, 4, 2, 0, 3, 2, 2, 2, 3, 2, 2, 0, 2, 0, 4, 0, 2, 2, 0, 2, 2, 3, 0, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 4, 1, 4, 4, 0, 0, 0, 23, 16, 16, 7, 9, 23, 16, 23, 16, 7, 21, 14, 16, 14, 16, 23, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 23, 16, 0, 23, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 0, 16, 21, 23, 16, 0, 14, 14, 18, 16, 16, 7, 9, 16, 16, 16, 16, 7, 16, 14, 16, 16, 18, 16, 14, 16, 16, 16, 16, 17, 16, 16, 7, 16, 14, 12, 14, 16, 17, 1, 16, 16, 10, 0, 9, 7, 1, 16, 9, 17, 16, 1, 4, 16, 0, 15, 18, 11, 0, 14, 14, 21, 14, 14, 14, 14, 28, 14, 29, 23, 14, 28, 15, 14, 21, 14, 21, 14, 16, 21, 14, 14, 17, 14, 14, 14, 21, 21, 8, 14, 21, 15, 1, 21, 21, 9, 0, 14, 7, 1, 14, 14, 15, 14, 1, 1, 21, 15, 0, 21, 14, 0, 21, 14, 25, 16, 16, 7, 9, 23, 16, 23, 16, 7, 23, 14, 16, 16, 18, 23, 14, 16, 16, 16, 16, 16, 16, 16, 14, 16, 21, 11, 14, 23, 16, 0, 23, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 4, 23, 18, 21, 0, 18, 0, 14, 14, 18, 9, 9, 7, 9, 16, 9, 16, 9, 7, 16, 7, 9, 9, 11, 16, 7, 9, 9, 9, 9, 9, 9, 9, 14, 9, 14, 11, 7, 16, 9, 0, 16, 16, 9, 0, 9, 7, 0, 9, 2, 9, 9, 0, 4, 16, 11, 14, 18, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 21, 14, 21, 21, 14, 21, 14, 14, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 7, 21, 14, 7, 14, 14, 14, 0, 14, 14, 7, 0, 14, 7, 0, 14, 14, 14, 14, 0, 0, 14, 14, 21, 14, 7, 0, 0, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 0, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 0, 0, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 10, 0, 10, 8, 10, 10, 10, 9, 9, 10, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 11, 10, 10, 10, 12, 8, 10, 10, 12, 10, 0, 10, 10, 9, 9, 0, 10, 0, 10, 3, 12, 10, 0, 2, 12, 10, 9, 10, 10, 0, 10, 8, 10, 10, 0, 8, 18, 10, 10, 10, 16, 15, 8, 7, 18, 15, 17, 10, 15, 17, 17, 9, 10, 16, 17, 10, 8, 11, 9, 17, 15, 11, 10, 0, 10, 10, 16, 9, 0, 16, 0, 17, 4, 17, 10, 0, 2, 10, 17, 7, 11, 11, 0, 15, 15, 8, 8, 8, 0, 15, 15, 8, 14, 14, 15, 15, 7, 8, 15, 8, 8, 8, 7, 15, 8, 8, 7, 8, 8, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 0, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 15, 8, 10, 10, 18, 15, 0, 17, 10, 17, 23, 22, 15, 7, 18, 22, 17, 10, 15, 17, 24, 9, 10, 16, 17, 10, 8, 18, 9, 17, 15, 11, 10, 0, 10, 10, 16, 16, 0, 16, 0, 17, 11, 17, 10, 0, 2, 10, 17, 14, 11, 11, 0, 22, 15, 10, 10, 10, 15, 17, 0, 10, 16, 16, 15, 15, 7, 10, 15, 10, 10, 8, 9, 17, 8, 10, 9, 10, 10, 8, 17, 8, 10, 8, 10, 10, 0, 10, 10, 9, 16, 0, 8, 0, 10, 10, 10, 10, 0, 2, 10, 10, 14, 10, 10, 0, 15, 8, 10, 10, 10, 8, 10, 10, 0, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 10, 14, 17, 16, 9, 0, 16, 14, 14, 7, 10, 14, 9, 9, 7, 10, 16, 8, 9, 9, 9, 9, 7, 17, 8, 9, 7, 10, 9, 0, 9, 9, 9, 16, 0, 8, 0, 9, 10, 9, 9, 0, 2, 9, 9, 14, 10, 10, 0, 14, 7, 9, 9, 16, 14, 23, 16, 9, 16, 0, 21, 14, 7, 16, 21, 16, 9, 14, 16, 23, 7, 9, 16, 16, 9, 7, 16, 7, 16, 14, 9, 9, 0, 9, 9, 16, 16, 0, 14, 0, 16, 9, 16, 9, 0, 2, 9, 16, 14, 9, 9, 0, 21, 14, 8, 10, 15, 15, 22, 15, 8, 14, 21, 0, 15, 7, 15, 22, 15, 8, 15, 14, 22, 8, 8, 16, 15, 8, 10, 17, 8, 15, 17, 10, 8, 0, 8, 8, 14, 14, 0, 17, 0, 15, 8, 17, 8, 0, 0, 10, 15, 16, 8, 8, 0, 24, 15, 8, 8, 8, 15, 15, 15, 8, 14, 14, 15, 0, 7, 8, 15, 8, 8, 8, 7, 15, 8, 8, 7, 8, 8, 8, 15, 8, 8, 8, 8, 8, 0, 8, 8, 7, 14, 0, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 8, 0, 15, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 0, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 10, 10, 18, 8, 18, 10, 10, 10, 16, 15, 8, 7, 0, 15, 17, 10, 15, 17, 17, 9, 10, 16, 17, 10, 8, 11, 9, 17, 15, 11, 10, 0, 10, 10, 16, 9, 0, 16, 0, 17, 4, 17, 10, 0, 2, 10, 17, 7, 11, 11, 0, 15, 15, 8, 8, 15, 15, 22, 15, 8, 14, 21, 22, 15, 7, 15, 0, 15, 8, 15, 14, 22, 8, 8, 14, 15, 8, 8, 15, 8, 15, 15, 8, 8, 0, 8, 8, 14, 14, 0, 15, 0, 15, 8, 15, 8, 0, 0, 8, 15, 14, 8, 8, 0, 22, 15, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 0, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 0, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 0, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 0, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 0, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 9, 9, 17, 7, 17, 9, 9, 10, 16, 14, 7, 7, 17, 14, 16, 9, 14, 0, 16, 8, 9, 16, 16, 9, 7, 10, 8, 16, 14, 10, 9, 0, 9, 9, 16, 9, 0, 15, 0, 16, 3, 16, 9, 0, 2, 9, 16, 7, 10, 10, 0, 14, 14, 10, 10, 17, 15, 24, 17, 10, 16, 23, 22, 15, 7, 17, 22, 17, 10, 15, 16, 0, 8, 10, 16, 17, 10, 8, 17, 8, 17, 15, 10, 10, 0, 10, 10, 16, 16, 0, 15, 0, 17, 10, 17, 10, 0, 2, 10, 17, 14, 10, 10, 0, 22, 15, 8, 8, 9, 8, 9, 8, 8, 8, 7, 8, 8, 7, 9, 8, 8, 8, 8, 8, 8, 0, 8, 7, 8, 8, 8, 9, 9, 8, 8, 9, 8, 0, 8, 8, 7, 7, 0, 9, 0, 8, 2, 8, 8, 0, 0, 8, 8, 7, 9, 9, 0, 8, 8, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 0, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 11, 16, 7, 16, 9, 9, 9, 16, 16, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 0, 16, 9, 9, 11, 7, 16, 16, 11, 9, 0, 9, 9, 16, 9, 0, 16, 0, 16, 2, 18, 9, 0, 2, 11, 16, 9, 9, 9, 0, 16, 14, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 0, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 0, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 0, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 8, 10, 8, 8, 8, 8, 8, 7, 7, 10, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 8, 0, 10, 8, 8, 10, 10, 8, 0, 8, 8, 7, 7, 0, 10, 0, 8, 1, 10, 8, 0, 0, 10, 8, 9, 8, 8, 0, 10, 8, 10, 12, 11, 15, 18, 17, 10, 17, 16, 17, 15, 7, 11, 15, 10, 10, 8, 10, 17, 9, 10, 11, 10, 10, 10, 0, 9, 10, 10, 13, 10, 0, 10, 10, 9, 16, 0, 11, 0, 10, 11, 12, 10, 0, 2, 12, 10, 16, 11, 11, 0, 17, 8, 8, 8, 9, 8, 9, 8, 8, 8, 7, 8, 8, 7, 9, 8, 8, 8, 8, 8, 8, 9, 8, 7, 8, 8, 8, 9, 0, 8, 8, 9, 8, 0, 8, 8, 7, 7, 0, 9, 0, 8, 2, 8, 8, 0, 0, 8, 8, 7, 9, 9, 0, 8, 8, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 0, 15, 0, 17, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 8, 10, 15, 8, 15, 8, 8, 7, 14, 17, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 16, 15, 8, 10, 10, 8, 15, 0, 10, 8, 0, 8, 8, 14, 7, 0, 17, 0, 15, 1, 17, 8, 0, 0, 10, 15, 9, 8, 8, 0, 17, 15, 10, 12, 11, 8, 11, 10, 10, 10, 9, 10, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 11, 10, 10, 10, 13, 9, 10, 10, 0, 10, 0, 10, 10, 9, 9, 0, 11, 0, 10, 4, 12, 10, 0, 2, 12, 10, 9, 11, 11, 0, 10, 8, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 0, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 0, 10, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 0, 9, 9, 0, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 0, 14, 0, 16, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 9, 9, 9, 14, 16, 16, 9, 16, 16, 14, 14, 7, 9, 14, 9, 9, 7, 9, 16, 7, 9, 9, 9, 9, 7, 16, 7, 9, 7, 9, 9, 0, 9, 9, 9, 0, 0, 7, 0, 9, 9, 9, 9, 0, 2, 9, 9, 14, 9, 9, 0, 14, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 16, 8, 16, 8, 8, 8, 14, 17, 8, 7, 16, 15, 15, 8, 15, 15, 15, 9, 8, 16, 15, 8, 10, 11, 9, 15, 17, 11, 8, 0, 8, 8, 14, 7, 0, 0, 0, 15, 2, 17, 8, 0, 0, 10, 15, 9, 9, 9, 0, 17, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 0, 15, 0, 0, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 3, 3, 4, 8, 11, 10, 3, 10, 9, 8, 8, 0, 4, 8, 3, 3, 1, 3, 10, 2, 3, 2, 3, 3, 1, 11, 2, 3, 1, 4, 3, 0, 3, 3, 2, 9, 0, 2, 0, 3, 0, 3, 3, 0, 2, 3, 3, 7, 4, 4, 0, 8, 1, 10, 12, 17, 8, 17, 10, 10, 9, 16, 17, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 18, 17, 10, 10, 12, 8, 17, 17, 12, 10, 0, 10, 10, 16, 9, 0, 17, 0, 17, 3, 0, 10, 0, 2, 12, 17, 9, 10, 10, 0, 17, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 0, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 10, 12, 10, 8, 10, 10, 10, 9, 9, 10, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 11, 10, 10, 10, 12, 8, 10, 10, 12, 10, 0, 10, 10, 9, 9, 0, 10, 0, 10, 3, 12, 10, 0, 2, 0, 10, 9, 10, 10, 0, 10, 8, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 0, 15, 0, 17, 3, 17, 10, 0, 2, 10, 0, 7, 10, 10, 0, 15, 15, 7, 9, 7, 14, 14, 14, 7, 14, 14, 16, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 9, 7, 7, 9, 16, 7, 7, 9, 9, 7, 0, 7, 7, 7, 14, 0, 9, 0, 7, 7, 9, 7, 0, 0, 9, 7, 0, 7, 7, 0, 16, 7, 10, 10, 11, 8, 11, 10, 10, 10, 9, 8, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 8, 11, 9, 10, 8, 11, 10, 0, 10, 10, 9, 9, 0, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 0, 11, 0, 8, 8, 10, 10, 11, 8, 11, 10, 10, 10, 9, 8, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 8, 11, 9, 10, 8, 11, 10, 0, 10, 10, 9, 9, 0, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 11, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 15, 15, 22, 15, 8, 14, 21, 24, 15, 7, 15, 22, 15, 8, 15, 14, 22, 8, 8, 16, 15, 8, 10, 17, 8, 15, 17, 10, 8, 0, 8, 8, 14, 14, 0, 17, 0, 15, 8, 17, 8, 0, 0, 10, 15, 16, 8, 8, 0, 0, 15, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 0, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 0, 0, 9, 8, 8, 8, 9, 9, 7, 7, 8, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 0, 9, 8, 7, 7, 8, 0, 0, 9, 1, 8, 8, 0, 1, 9, 8, 7, 9, 8, 0, 8, 9, 9, 0, 8, 8, 8, 9, 9, 7, 7, 12, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 9, 10, 10, 9, 8, 10, 10, 8, 0, 9, 8, 7, 7, 10, 0, 0, 9, 1, 10, 8, 0, 1, 13, 8, 9, 9, 8, 0, 10, 9, 8, 8, 0, 8, 16, 8, 8, 8, 14, 15, 8, 7, 17, 15, 15, 8, 15, 15, 15, 9, 8, 14, 15, 8, 8, 9, 10, 15, 16, 9, 8, 0, 8, 8, 14, 7, 16, 0, 0, 15, 2, 15, 8, 0, 0, 8, 15, 7, 10, 9, 0, 15, 15, 8, 8, 8, 0, 8, 8, 8, 7, 7, 15, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 15, 8, 15, 8, 8, 8, 0, 8, 8, 14, 7, 8, 0, 0, 8, 1, 8, 8, 0, 7, 8, 8, 7, 8, 15, 0, 8, 8, 8, 8, 16, 8, 0, 8, 8, 8, 14, 15, 8, 7, 16, 15, 15, 8, 15, 15, 15, 9, 8, 14, 15, 8, 8, 9, 9, 15, 15, 9, 8, 0, 8, 8, 14, 7, 16, 0, 0, 15, 2, 15, 8, 0, 0, 8, 15, 7, 9, 9, 0, 15, 15, 9, 9, 8, 8, 8, 0, 9, 7, 7, 8, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 0, 9, 8, 7, 7, 8, 0, 0, 9, 1, 8, 8, 0, 1, 9, 8, 7, 9, 8, 0, 8, 9, 9, 9, 8, 8, 8, 9, 0, 7, 7, 8, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 0, 9, 8, 7, 7, 8, 0, 0, 9, 1, 8, 8, 0, 1, 9, 8, 7, 9, 8, 0, 8, 9, 7, 7, 8, 7, 8, 7, 7, 0, 7, 7, 7, 7, 8, 7, 7, 7, 7, 8, 7, 8, 7, 7, 7, 7, 7, 8, 8, 7, 7, 8, 7, 0, 7, 7, 7, 7, 8, 0, 0, 7, 1, 7, 7, 0, 0, 7, 7, 7, 8, 8, 0, 7, 7, 7, 7, 14, 7, 14, 7, 7, 7, 0, 14, 7, 7, 14, 14, 14, 7, 14, 15, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 14, 7, 7, 0, 7, 7, 14, 7, 14, 0, 0, 14, 0, 15, 7, 0, 0, 7, 14, 7, 7, 7, 0, 14, 14, 8, 12, 15, 15, 15, 8, 8, 7, 14, 0, 10, 9, 15, 17, 15, 8, 17, 14, 15, 10, 8, 16, 15, 8, 12, 17, 10, 23, 19, 10, 8, 0, 8, 8, 22, 7, 17, 0, 0, 15, 1, 17, 8, 0, 7, 12, 15, 11, 8, 15, 0, 19, 17, 8, 8, 8, 8, 8, 8, 8, 7, 7, 10, 0, 9, 8, 10, 8, 8, 10, 7, 8, 10, 8, 7, 8, 8, 10, 8, 10, 8, 10, 8, 8, 0, 8, 8, 7, 7, 8, 0, 0, 8, 1, 8, 8, 0, 0, 8, 8, 9, 8, 8, 0, 10, 10, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 0, 7, 9, 7, 7, 9, 7, 7, 9, 7, 7, 7, 7, 9, 7, 9, 7, 9, 7, 7, 0, 7, 7, 7, 7, 7, 0, 0, 7, 0, 7, 7, 0, 0, 7, 7, 9, 7, 7, 0, 9, 9, 9, 9, 17, 8, 16, 9, 9, 8, 14, 15, 8, 7, 0, 15, 15, 8, 15, 15, 15, 9, 8, 14, 15, 9, 8, 9, 11, 15, 16, 9, 8, 0, 9, 8, 14, 7, 16, 0, 0, 16, 2, 15, 8, 0, 1, 9, 15, 7, 11, 9, 0, 15, 16, 8, 8, 15, 8, 15, 8, 8, 7, 14, 17, 10, 9, 15, 0, 15, 8, 17, 14, 15, 10, 8, 14, 15, 8, 10, 8, 10, 15, 17, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 15, 9, 8, 8, 0, 17, 17, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 0, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 0, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 0, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 15, 8, 15, 8, 8, 7, 14, 17, 10, 9, 15, 17, 15, 8, 0, 14, 15, 10, 8, 14, 15, 8, 10, 8, 10, 15, 17, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 15, 9, 8, 8, 0, 17, 17, 7, 7, 15, 7, 15, 7, 7, 8, 15, 14, 7, 7, 15, 14, 14, 7, 14, 0, 14, 8, 7, 14, 14, 7, 7, 8, 8, 14, 14, 8, 7, 0, 7, 7, 14, 7, 15, 0, 0, 14, 1, 15, 7, 0, 0, 7, 14, 7, 8, 8, 0, 14, 14, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 0, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 8, 8, 9, 8, 9, 8, 8, 8, 7, 10, 10, 9, 9, 10, 8, 8, 10, 8, 8, 0, 8, 7, 8, 8, 10, 9, 11, 8, 10, 9, 8, 0, 8, 8, 7, 7, 9, 0, 0, 8, 2, 8, 8, 0, 0, 8, 8, 9, 9, 9, 0, 10, 10, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 0, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 0, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 7, 9, 14, 7, 14, 7, 7, 7, 14, 16, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 0, 14, 7, 9, 9, 7, 14, 16, 9, 7, 0, 7, 7, 14, 7, 16, 0, 0, 14, 0, 16, 7, 0, 0, 9, 14, 9, 7, 7, 0, 16, 14, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 0, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 9, 9, 8, 8, 8, 9, 9, 7, 7, 8, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 0, 8, 8, 9, 8, 8, 8, 8, 0, 9, 8, 7, 7, 8, 0, 0, 9, 1, 8, 8, 0, 1, 9, 8, 7, 9, 8, 0, 8, 9, 8, 10, 8, 8, 8, 8, 8, 7, 7, 12, 10, 9, 8, 10, 8, 8, 10, 7, 8, 10, 8, 9, 8, 8, 0, 10, 10, 8, 12, 10, 8, 0, 8, 8, 7, 7, 10, 0, 0, 8, 1, 10, 8, 0, 0, 10, 8, 11, 8, 8, 0, 12, 10, 8, 10, 9, 15, 9, 8, 8, 8, 7, 17, 8, 7, 9, 8, 8, 8, 8, 8, 8, 9, 8, 9, 8, 8, 10, 0, 9, 15, 11, 11, 8, 0, 8, 8, 14, 7, 11, 0, 0, 8, 2, 10, 8, 0, 7, 10, 8, 9, 9, 16, 0, 10, 8, 9, 9, 10, 8, 9, 9, 9, 8, 7, 10, 10, 9, 11, 10, 8, 8, 10, 8, 8, 11, 8, 7, 8, 9, 10, 9, 0, 8, 11, 9, 8, 0, 9, 8, 7, 7, 9, 0, 0, 9, 2, 8, 8, 0, 1, 9, 8, 9, 11, 9, 0, 10, 11, 8, 8, 15, 15, 15, 8, 8, 7, 14, 23, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 15, 8, 0, 15, 8, 8, 0, 8, 8, 22, 7, 15, 0, 0, 15, 1, 15, 8, 0, 7, 8, 15, 7, 8, 15, 0, 15, 15, 8, 10, 16, 8, 15, 8, 8, 7, 14, 19, 10, 9, 16, 17, 15, 8, 17, 14, 15, 10, 8, 16, 15, 8, 12, 11, 11, 15, 0, 10, 8, 0, 8, 8, 14, 7, 17, 0, 0, 15, 1, 17, 8, 0, 0, 10, 15, 11, 9, 8, 0, 19, 17, 8, 10, 9, 8, 9, 8, 8, 8, 7, 10, 8, 7, 9, 8, 8, 8, 8, 8, 8, 9, 8, 9, 8, 8, 10, 11, 9, 8, 10, 0, 8, 0, 8, 8, 7, 7, 11, 0, 0, 8, 2, 10, 8, 0, 0, 10, 8, 9, 9, 9, 0, 10, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 8, 8, 7, 7, 8, 0, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 8, 8, 8, 9, 9, 7, 7, 8, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 0, 0, 8, 7, 7, 8, 0, 0, 9, 1, 8, 8, 0, 1, 9, 8, 7, 9, 8, 0, 8, 9, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 0, 7, 7, 8, 0, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 7, 7, 14, 14, 14, 7, 7, 7, 14, 22, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 14, 7, 22, 14, 7, 7, 0, 7, 7, 0, 7, 14, 0, 0, 14, 0, 14, 7, 0, 7, 7, 14, 7, 7, 14, 0, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 0, 7, 0, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 7, 0, 7, 7, 8, 10, 16, 8, 16, 8, 8, 8, 14, 17, 8, 7, 16, 15, 15, 8, 15, 15, 15, 9, 8, 16, 15, 8, 10, 11, 9, 15, 17, 11, 8, 0, 8, 8, 14, 7, 0, 0, 0, 15, 2, 17, 8, 0, 0, 10, 15, 9, 9, 9, 0, 17, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 15, 8, 15, 9, 9, 7, 14, 15, 8, 7, 16, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 9, 8, 8, 9, 15, 15, 8, 8, 0, 9, 8, 14, 7, 15, 0, 0, 0, 1, 15, 8, 0, 1, 9, 15, 7, 9, 8, 0, 15, 16, 1, 1, 2, 1, 2, 1, 1, 1, 0, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 1, 1, 2, 2, 1, 1, 2, 1, 0, 1, 1, 0, 0, 2, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 2, 2, 0, 1, 1, 8, 10, 15, 8, 15, 8, 8, 7, 15, 17, 8, 7, 15, 15, 15, 8, 15, 15, 15, 8, 8, 16, 15, 8, 10, 10, 8, 15, 17, 10, 8, 0, 8, 8, 14, 7, 17, 0, 0, 15, 1, 0, 8, 0, 0, 10, 15, 9, 8, 8, 0, 17, 15, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 0, 0, 8, 1, 8, 0, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 7, 0, 1, 1, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 1, 7, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 7, 0, 0, 1, 9, 13, 8, 8, 8, 9, 9, 7, 7, 12, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 9, 10, 10, 9, 8, 10, 10, 8, 0, 9, 8, 7, 7, 10, 0, 0, 9, 1, 10, 8, 0, 1, 0, 8, 9, 9, 8, 0, 10, 9, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 0, 7, 8, 8, 0, 15, 15, 7, 9, 7, 7, 7, 7, 7, 7, 7, 11, 9, 9, 7, 9, 7, 7, 9, 7, 7, 9, 7, 9, 7, 7, 11, 9, 9, 7, 11, 9, 7, 0, 7, 7, 7, 7, 9, 0, 0, 7, 0, 9, 7, 0, 0, 9, 7, 0, 7, 7, 0, 11, 9, 9, 9, 10, 8, 9, 9, 9, 8, 7, 8, 8, 7, 11, 8, 8, 8, 8, 8, 8, 9, 8, 7, 8, 9, 8, 9, 11, 8, 9, 9, 8, 0, 9, 8, 7, 7, 9, 0, 0, 9, 2, 8, 8, 0, 1, 9, 8, 7, 0, 9, 0, 8, 9, 8, 8, 9, 15, 9, 8, 8, 8, 7, 15, 8, 7, 9, 8, 8, 8, 8, 8, 8, 9, 8, 7, 8, 8, 8, 16, 9, 15, 8, 9, 8, 0, 8, 8, 14, 7, 9, 0, 0, 8, 2, 8, 8, 0, 7, 8, 8, 7, 9, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 15, 8, 15, 8, 8, 7, 14, 19, 10, 9, 15, 17, 15, 8, 17, 14, 15, 10, 8, 16, 15, 8, 12, 10, 10, 15, 19, 10, 8, 0, 8, 8, 14, 7, 17, 0, 0, 15, 1, 17, 8, 0, 0, 10, 15, 11, 8, 8, 0, 0, 17, 9, 9, 15, 8, 15, 9, 9, 7, 14, 17, 10, 9, 16, 17, 15, 8, 17, 14, 15, 10, 8, 14, 15, 9, 10, 8, 11, 15, 17, 8, 8, 0, 9, 8, 14, 7, 15, 0, 0, 16, 1, 15, 8, 0, 1, 9, 15, 9, 9, 8, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 17, 9, 10, 18, 26, 17, 17, 8, 15, 14, 26, 15, 26, 25, 23, 17, 19, 22, 27, 16, 25, 26, 16, 17, 16, 10, 23, 17, 17, 0, 18, 18, 9, 16, 10, 9, 0, 0, 10, 18, 17, 0, 3, 19, 17, 14, 25, 10, 0, 15, 16, 19, 0, 17, 9, 10, 18, 18, 16, 17, 8, 15, 14, 18, 15, 17, 18, 15, 16, 18, 15, 18, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 19, 17, 14, 18, 10, 0, 15, 16, 17, 17, 0, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 0, 10, 24, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 9, 9, 8, 0, 8, 10, 8, 7, 8, 8, 8, 7, 8, 8, 8, 9, 10, 7, 9, 8, 11, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 0, 1, 8, 8, 0, 0, 9, 8, 7, 8, 8, 0, 8, 10, 10, 10, 17, 8, 0, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 0, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 18, 18, 17, 10, 10, 0, 18, 16, 16, 8, 15, 14, 18, 15, 17, 17, 17, 16, 17, 15, 21, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 17, 20, 26, 18, 17, 8, 10, 18, 0, 16, 16, 8, 15, 14, 27, 15, 25, 25, 24, 16, 17, 23, 25, 16, 26, 27, 17, 17, 16, 10, 24, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 19, 17, 14, 25, 10, 0, 15, 16, 17, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 17, 16, 14, 17, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 0, 9, 17, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 23, 8, 16, 16, 16, 16, 0, 14, 14, 14, 23, 21, 23, 17, 21, 23, 24, 14, 17, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 0, 9, 23, 16, 0, 2, 17, 23, 14, 16, 9, 0, 21, 21, 8, 8, 15, 8, 15, 8, 8, 7, 14, 0, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 0, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 0, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 0, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 0, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 26, 18, 24, 8, 17, 18, 27, 16, 23, 15, 15, 14, 0, 22, 32, 25, 31, 23, 24, 23, 25, 23, 33, 27, 17, 17, 16, 17, 31, 17, 17, 0, 18, 17, 16, 16, 17, 16, 0, 0, 10, 24, 17, 0, 3, 19, 24, 14, 25, 10, 0, 22, 23, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 0, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 0, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 26, 17, 24, 8, 17, 17, 25, 17, 23, 15, 15, 14, 32, 22, 0, 24, 30, 24, 25, 22, 26, 23, 32, 25, 16, 17, 15, 17, 30, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 0, 10, 25, 17, 0, 2, 17, 24, 14, 24, 10, 0, 22, 22, 25, 18, 17, 9, 10, 17, 25, 16, 17, 8, 15, 14, 25, 15, 24, 0, 23, 16, 18, 23, 25, 16, 25, 25, 16, 17, 15, 10, 23, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 0, 10, 17, 17, 0, 2, 19, 17, 14, 24, 10, 0, 15, 15, 23, 15, 22, 10, 15, 17, 24, 14, 21, 15, 15, 14, 31, 22, 30, 23, 0, 21, 22, 23, 25, 21, 31, 24, 17, 15, 15, 15, 31, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 0, 8, 22, 15, 0, 0, 16, 22, 14, 22, 8, 0, 22, 24, 17, 16, 23, 7, 16, 16, 16, 17, 23, 14, 14, 14, 23, 21, 24, 16, 21, 0, 24, 14, 17, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 17, 16, 16, 16, 14, 0, 0, 9, 24, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 19, 18, 24, 9, 17, 17, 17, 17, 24, 15, 15, 14, 24, 22, 25, 18, 22, 24, 0, 15, 19, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 0, 10, 25, 17, 0, 2, 18, 24, 14, 17, 10, 0, 22, 22, 22, 15, 15, 8, 8, 15, 23, 14, 14, 8, 15, 14, 23, 15, 22, 23, 23, 14, 15, 0, 22, 14, 23, 23, 16, 15, 15, 8, 23, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 0, 8, 15, 15, 0, 0, 16, 15, 14, 22, 8, 0, 15, 15, 27, 18, 17, 11, 10, 21, 25, 17, 17, 8, 15, 14, 25, 15, 26, 25, 25, 17, 19, 22, 0, 16, 25, 25, 16, 17, 15, 10, 23, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 0, 10, 18, 17, 0, 2, 18, 17, 14, 24, 10, 0, 15, 17, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 0, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 0, 9, 23, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 25, 17, 24, 8, 17, 17, 26, 16, 23, 15, 15, 14, 33, 22, 32, 25, 31, 23, 24, 23, 25, 23, 0, 26, 17, 17, 15, 17, 31, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 0, 10, 24, 17, 0, 2, 18, 24, 14, 24, 10, 0, 22, 22, 26, 18, 17, 8, 10, 18, 27, 16, 16, 8, 15, 14, 27, 15, 25, 25, 24, 16, 17, 23, 25, 16, 26, 0, 17, 17, 16, 10, 24, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 19, 17, 14, 25, 10, 0, 15, 16, 16, 8, 8, 8, 8, 8, 17, 7, 7, 8, 8, 7, 17, 8, 16, 16, 17, 7, 8, 16, 16, 7, 17, 17, 0, 8, 8, 8, 17, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 0, 1, 8, 8, 0, 0, 9, 8, 7, 15, 8, 0, 8, 8, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 0, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 16, 16, 15, 8, 8, 16, 16, 14, 14, 8, 15, 14, 16, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 16, 8, 15, 0, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 0, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 16, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 0, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 0, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 23, 15, 22, 8, 15, 15, 24, 14, 21, 15, 15, 14, 31, 22, 30, 23, 31, 21, 22, 23, 23, 21, 31, 24, 17, 15, 15, 15, 0, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 0, 8, 22, 15, 0, 0, 16, 22, 14, 22, 8, 0, 22, 22, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 0, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 0, 10, 17, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 17, 8, 10, 18, 18, 16, 16, 8, 15, 14, 18, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 18, 17, 14, 18, 10, 0, 15, 16, 18, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 18, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 0, 10, 18, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 16, 16, 9, 7, 9, 7, 16, 14, 9, 9, 0, 9, 9, 0, 9, 16, 14, 0, 0, 2, 16, 9, 0, 2, 9, 16, 7, 9, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 0, 9, 16, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 0, 15, 0, 0, 3, 17, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 9, 9, 15, 8, 15, 9, 9, 7, 14, 15, 8, 7, 16, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 9, 8, 8, 9, 15, 15, 8, 8, 0, 9, 8, 14, 7, 15, 0, 0, 0, 1, 15, 8, 0, 1, 9, 15, 7, 9, 8, 0, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 0, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 18, 17, 24, 8, 17, 17, 17, 17, 23, 15, 15, 14, 24, 22, 25, 17, 22, 24, 25, 15, 18, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 0, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 0, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 0, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 19, 19, 17, 9, 10, 18, 19, 16, 17, 8, 15, 14, 19, 15, 17, 19, 16, 16, 18, 16, 18, 16, 18, 19, 9, 17, 16, 10, 16, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 0, 17, 14, 18, 10, 0, 15, 16, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 0, 10, 24, 17, 0, 2, 17, 0, 14, 17, 10, 0, 22, 22, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 0, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 25, 18, 17, 8, 10, 18, 25, 16, 16, 8, 15, 14, 25, 15, 24, 24, 22, 16, 17, 22, 24, 16, 24, 25, 15, 17, 16, 10, 22, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 18, 17, 14, 0, 10, 0, 15, 16, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 0, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 22, 8, 15, 17, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 0, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 0, 24, 16, 16, 22, 10, 15, 20, 16, 14, 21, 15, 15, 14, 23, 22, 22, 15, 24, 21, 22, 15, 17, 21, 22, 16, 8, 15, 16, 15, 22, 15, 15, 0, 16, 15, 14, 14, 15, 16, 0, 0, 8, 22, 15, 0, 1, 16, 22, 14, 16, 8, 0, 24, 0, 0, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 10, 0, 10, 8, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 15, 10, 9, 10, 17, 1, 17, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 10, 10, 0, 1, 4, 10, 10, 10, 9, 1, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 1, 11, 9, 3, 8, 11, 10, 0, 10, 10, 2, 9, 4, 2, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 11, 4, 0, 8, 8, 1, 8, 1, 0, 8, 8, 1, 7, 7, 8, 8, 0, 1, 8, 1, 1, 1, 0, 8, 8, 1, 0, 1, 8, 1, 15, 1, 1, 1, 1, 1, 0, 1, 1, 0, 7, 8, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 7, 1, 1, 0, 8, 1, 3, 3, 4, 8, 0, 10, 5, 10, 9, 8, 8, 2, 4, 8, 3, 5, 1, 5, 10, 2, 3, 2, 5, 3, 1, 11, 4, 3, 1, 4, 5, 0, 5, 5, 2, 9, 11, 2, 0, 3, 0, 3, 5, 0, 2, 3, 3, 7, 4, 4, 0, 8, 1, 10, 10, 10, 8, 10, 0, 10, 16, 16, 8, 15, 7, 10, 15, 10, 10, 8, 9, 17, 8, 10, 9, 10, 10, 1, 17, 8, 3, 8, 10, 10, 0, 10, 10, 2, 16, 10, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 14, 10, 3, 0, 15, 8, 10, 10, 10, 1, 5, 10, 0, 9, 10, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 12, 0, 12, 12, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 9, 9, 10, 7, 10, 16, 9, 0, 16, 7, 14, 7, 10, 14, 9, 9, 7, 10, 16, 8, 9, 9, 9, 9, 0, 17, 8, 2, 7, 10, 9, 0, 9, 9, 2, 16, 10, 1, 0, 9, 0, 9, 9, 0, 2, 9, 9, 14, 10, 3, 0, 14, 7, 9, 9, 9, 7, 9, 16, 10, 16, 0, 7, 14, 7, 9, 14, 9, 9, 7, 9, 16, 7, 9, 9, 9, 9, 0, 16, 7, 2, 7, 9, 9, 0, 9, 9, 2, 16, 9, 0, 0, 9, 0, 9, 9, 0, 2, 9, 9, 14, 9, 2, 0, 14, 7, 1, 1, 1, 8, 8, 8, 1, 7, 7, 0, 8, 0, 1, 8, 1, 1, 1, 0, 8, 1, 1, 0, 1, 1, 1, 8, 1, 1, 1, 1, 1, 0, 1, 1, 0, 7, 8, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 7, 1, 1, 0, 8, 1, 8, 8, 8, 8, 8, 15, 8, 14, 14, 8, 0, 7, 8, 15, 8, 8, 8, 7, 15, 8, 8, 7, 8, 8, 1, 15, 8, 1, 8, 8, 8, 0, 8, 8, 0, 14, 8, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 14, 8, 1, 0, 15, 8, 7, 7, 7, 0, 2, 7, 9, 7, 7, 0, 7, 0, 7, 7, 7, 9, 7, 9, 7, 7, 7, 7, 9, 7, 0, 7, 9, 0, 7, 7, 9, 0, 9, 9, 0, 7, 0, 0, 0, 7, 0, 7, 9, 0, 0, 7, 7, 7, 7, 0, 0, 7, 7, 10, 10, 11, 1, 4, 10, 10, 10, 9, 1, 8, 7, 0, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 1, 11, 9, 3, 8, 11, 10, 0, 10, 10, 2, 9, 4, 2, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 11, 4, 0, 8, 8, 8, 8, 8, 8, 8, 15, 8, 14, 14, 8, 15, 7, 8, 0, 8, 8, 8, 7, 15, 8, 8, 7, 8, 8, 1, 15, 8, 1, 8, 8, 8, 0, 8, 8, 0, 14, 8, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 14, 8, 1, 0, 15, 8, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 0, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 0, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 12, 0, 12, 12, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 8, 8, 8, 1, 1, 8, 8, 7, 7, 1, 8, 7, 8, 8, 8, 8, 0, 7, 8, 8, 8, 7, 8, 8, 1, 8, 8, 1, 8, 8, 8, 0, 8, 8, 0, 7, 1, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 7, 8, 1, 0, 8, 8, 9, 9, 10, 0, 5, 9, 11, 10, 9, 0, 7, 9, 10, 7, 9, 11, 7, 0, 9, 8, 9, 9, 11, 9, 0, 10, 10, 2, 7, 10, 11, 0, 11, 11, 2, 9, 3, 1, 0, 9, 0, 9, 11, 0, 2, 9, 9, 7, 10, 3, 0, 7, 7, 10, 10, 10, 8, 10, 17, 10, 16, 16, 8, 15, 7, 10, 15, 10, 10, 8, 9, 0, 8, 10, 9, 10, 10, 1, 17, 8, 3, 8, 10, 10, 0, 10, 10, 2, 16, 10, 1, 0, 10, 0, 10, 10, 0, 9, 10, 10, 14, 10, 3, 0, 15, 8, 8, 15, 9, 8, 2, 8, 8, 8, 7, 1, 8, 7, 9, 8, 8, 8, 8, 8, 8, 0, 8, 7, 8, 15, 1, 16, 9, 1, 8, 9, 8, 0, 8, 8, 0, 7, 2, 2, 0, 8, 0, 8, 8, 0, 0, 8, 8, 7, 9, 2, 0, 8, 8, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 0, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 9, 9, 9, 0, 2, 9, 9, 9, 9, 0, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 0, 9, 9, 0, 9, 7, 2, 7, 9, 9, 0, 9, 9, 2, 9, 2, 0, 0, 9, 0, 9, 9, 0, 2, 9, 9, 7, 9, 2, 0, 7, 7, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 0, 10, 1, 10, 10, 3, 8, 10, 12, 0, 12, 12, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 10, 17, 10, 8, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 15, 10, 9, 10, 0, 1, 17, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 10, 17, 11, 15, 11, 17, 10, 17, 16, 8, 15, 7, 11, 15, 10, 10, 8, 10, 17, 16, 10, 9, 10, 17, 1, 0, 9, 3, 8, 11, 10, 0, 10, 10, 2, 16, 11, 2, 0, 10, 0, 10, 10, 0, 2, 10, 10, 14, 11, 4, 0, 15, 8, 8, 8, 9, 1, 4, 8, 10, 8, 7, 1, 8, 9, 9, 8, 8, 10, 8, 10, 8, 9, 8, 7, 10, 8, 1, 9, 0, 1, 8, 9, 10, 0, 10, 10, 0, 7, 2, 2, 0, 8, 0, 8, 10, 0, 0, 8, 8, 7, 9, 2, 0, 8, 8, 3, 3, 3, 1, 3, 3, 3, 2, 2, 1, 1, 0, 3, 1, 3, 3, 1, 2, 3, 1, 3, 2, 3, 3, 1, 3, 1, 0, 1, 3, 3, 0, 3, 3, 2, 2, 3, 1, 0, 3, 0, 3, 3, 0, 2, 3, 3, 0, 3, 3, 0, 1, 1, 8, 8, 8, 1, 1, 8, 8, 7, 7, 1, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 1, 8, 8, 1, 0, 8, 8, 0, 8, 8, 0, 7, 1, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 7, 8, 1, 0, 8, 8, 10, 10, 11, 1, 4, 10, 10, 10, 9, 1, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 1, 11, 9, 3, 8, 0, 10, 0, 10, 10, 2, 9, 4, 2, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 11, 4, 0, 8, 8, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 0, 0, 12, 12, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 12, 0, 0, 12, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 12, 0, 12, 0, 2, 9, 3, 1, 0, 10, 0, 10, 12, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0, 2, 2, 2, 0, 2, 2, 0, 0, 0, 9, 9, 9, 7, 9, 16, 9, 16, 16, 7, 14, 7, 9, 14, 9, 9, 7, 9, 16, 7, 9, 9, 9, 9, 0, 16, 7, 2, 7, 9, 9, 0, 9, 9, 2, 0, 9, 0, 0, 9, 0, 9, 9, 0, 2, 9, 9, 14, 9, 2, 0, 14, 7, 3, 3, 4, 8, 11, 10, 3, 10, 9, 8, 8, 0, 4, 8, 3, 3, 1, 3, 10, 2, 3, 2, 3, 3, 1, 11, 2, 3, 1, 4, 3, 0, 3, 3, 2, 9, 0, 2, 0, 3, 0, 3, 3, 0, 2, 3, 3, 7, 4, 4, 0, 8, 1, 1, 1, 2, 1, 2, 1, 1, 1, 0, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 1, 1, 2, 2, 1, 1, 2, 1, 0, 1, 1, 0, 0, 2, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 2, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 0, 0, 10, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 0, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 12, 0, 12, 12, 2, 9, 3, 1, 0, 10, 0, 10, 0, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 9, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 0, 10, 7, 10, 3, 0, 8, 8, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 0, 7, 10, 3, 0, 8, 8, 7, 7, 7, 7, 7, 14, 7, 14, 14, 7, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 0, 14, 7, 0, 7, 7, 7, 0, 7, 7, 0, 14, 7, 0, 0, 7, 0, 7, 7, 0, 0, 7, 7, 0, 7, 0, 0, 14, 7, 10, 10, 11, 1, 4, 10, 10, 10, 9, 1, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 1, 11, 9, 3, 8, 11, 10, 0, 10, 10, 2, 9, 4, 2, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 0, 4, 0, 8, 8, 3, 3, 4, 1, 4, 3, 3, 3, 2, 1, 1, 0, 4, 1, 3, 3, 1, 3, 3, 2, 3, 2, 3, 3, 1, 4, 2, 3, 1, 4, 3, 0, 3, 3, 2, 2, 4, 2, 0, 3, 0, 3, 3, 0, 2, 3, 3, 0, 4, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 15, 8, 14, 14, 8, 15, 7, 8, 15, 8, 8, 8, 7, 15, 8, 8, 7, 8, 8, 1, 15, 8, 1, 8, 8, 8, 0, 8, 8, 0, 14, 8, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 14, 8, 1, 0, 0, 8, 8, 8, 8, 1, 1, 8, 8, 7, 7, 1, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 1, 8, 8, 1, 8, 8, 8, 0, 8, 8, 0, 7, 1, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 7, 8, 1, 0, 8, 0, 0, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 18, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 18, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 0, 17, 8, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 10, 19, 15, 10, 17, 19, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 0, 17, 0, 2, 19, 17, 16, 17, 10, 0, 17, 15, 17, 17, 0, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 0, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 17, 8, 0, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 0, 10, 0, 2, 10, 17, 7, 10, 10, 0, 15, 15, 17, 17, 17, 8, 10, 0, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 0, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 17, 16, 14, 17, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 17, 9, 16, 9, 7, 0, 17, 9, 0, 16, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 23, 7, 16, 16, 16, 16, 0, 14, 14, 14, 23, 21, 23, 16, 21, 24, 23, 14, 16, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 15, 0, 23, 9, 0, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 8, 10, 15, 8, 15, 8, 8, 7, 14, 0, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 16, 15, 8, 10, 10, 8, 15, 17, 10, 8, 0, 8, 8, 14, 7, 17, 17, 0, 15, 1, 0, 8, 0, 0, 10, 15, 9, 8, 8, 0, 17, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 0, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 0, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 0, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 14, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 0, 22, 24, 17, 22, 23, 24, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 0, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 0, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 18, 17, 24, 8, 17, 17, 17, 17, 23, 15, 15, 14, 24, 22, 0, 17, 22, 24, 25, 15, 18, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 25, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 0, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 0, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 0, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 22, 17, 16, 23, 7, 16, 16, 16, 17, 24, 14, 14, 14, 23, 21, 24, 16, 21, 0, 24, 14, 17, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 17, 16, 16, 16, 15, 0, 24, 9, 0, 16, 0, 2, 16, 23, 14, 16, 9, 0, 21, 21, 18, 17, 24, 8, 17, 17, 17, 17, 23, 15, 15, 14, 24, 22, 25, 17, 22, 24, 0, 15, 18, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 25, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 0, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 18, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 18, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 18, 9, 16, 10, 8, 0, 18, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 16, 18, 23, 7, 16, 16, 16, 16, 23, 16, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 0, 23, 16, 9, 18, 14, 17, 23, 18, 17, 1, 16, 16, 17, 17, 18, 16, 1, 23, 9, 0, 16, 1, 2, 18, 24, 17, 16, 9, 0, 23, 21, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 0, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 0, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 8, 10, 8, 8, 8, 8, 8, 7, 7, 10, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 8, 0, 10, 8, 8, 10, 10, 8, 0, 8, 8, 7, 7, 10, 10, 0, 8, 1, 0, 8, 0, 0, 10, 8, 9, 8, 8, 0, 10, 8, 17, 19, 17, 8, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 10, 0, 15, 10, 17, 19, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 0, 17, 0, 2, 19, 17, 16, 17, 10, 0, 17, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 0, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 0, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 17, 17, 10, 8, 10, 8, 0, 15, 10, 11, 1, 10, 10, 17, 10, 17, 15, 1, 17, 3, 0, 10, 1, 2, 10, 18, 8, 10, 10, 0, 15, 15, 15, 17, 22, 8, 15, 15, 15, 14, 21, 17, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 23, 22, 15, 10, 17, 15, 15, 0, 17, 15, 0, 15, 15, 14, 14, 17, 17, 0, 22, 8, 0, 15, 0, 0, 17, 22, 16, 15, 8, 0, 24, 22, 17, 19, 17, 8, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 10, 19, 15, 10, 17, 0, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 0, 17, 0, 2, 19, 17, 16, 17, 10, 0, 17, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 17, 17, 17, 8, 17, 15, 11, 15, 17, 0, 1, 17, 17, 10, 17, 10, 8, 1, 17, 10, 0, 17, 1, 2, 17, 18, 15, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 18, 17, 17, 8, 10, 17, 17, 17, 16, 8, 15, 14, 17, 15, 18, 17, 15, 17, 18, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 18, 10, 0, 17, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 17, 16, 9, 7, 9, 7, 17, 14, 9, 10, 1, 9, 9, 0, 10, 16, 14, 1, 16, 2, 0, 9, 1, 2, 9, 17, 8, 9, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 17, 16, 16, 7, 16, 14, 10, 14, 16, 17, 1, 16, 16, 10, 0, 9, 7, 1, 16, 9, 0, 16, 1, 2, 16, 17, 15, 16, 9, 0, 14, 14, 10, 12, 17, 8, 17, 10, 10, 9, 16, 17, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 18, 17, 10, 10, 12, 8, 17, 17, 12, 10, 0, 10, 10, 16, 9, 0, 17, 0, 17, 3, 0, 10, 0, 2, 12, 17, 9, 10, 10, 0, 17, 15, 8, 10, 15, 8, 15, 8, 8, 7, 15, 17, 8, 7, 15, 15, 15, 8, 15, 15, 15, 8, 8, 16, 15, 8, 10, 10, 8, 15, 17, 10, 8, 0, 8, 8, 14, 7, 17, 0, 0, 15, 1, 0, 8, 0, 0, 10, 15, 9, 8, 8, 0, 17, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 18, 17, 24, 8, 17, 17, 17, 17, 23, 15, 15, 14, 24, 22, 25, 17, 22, 24, 25, 15, 18, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 18, 16, 16, 17, 15, 0, 0, 10, 0, 17, 0, 2, 17, 24, 14, 17, 10, 0, 22, 22, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 0, 10, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 17, 19, 17, 8, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 10, 19, 15, 10, 17, 19, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 0, 17, 0, 2, 0, 17, 16, 17, 10, 0, 17, 15, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 24, 24, 17, 8, 17, 15, 18, 22, 17, 18, 1, 17, 17, 17, 17, 17, 15, 1, 24, 10, 0, 17, 1, 2, 17, 0, 15, 17, 10, 0, 22, 22, 14, 16, 14, 7, 7, 14, 14, 14, 14, 9, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 14, 14, 9, 16, 14, 8, 16, 16, 15, 1, 14, 14, 8, 15, 9, 9, 1, 14, 7, 0, 14, 1, 0, 16, 15, 0, 14, 7, 0, 16, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 0, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 17, 22, 8, 15, 15, 15, 14, 21, 17, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 23, 22, 15, 10, 17, 15, 15, 24, 17, 15, 0, 15, 15, 14, 14, 17, 17, 0, 22, 8, 0, 15, 0, 0, 17, 22, 16, 15, 8, 0, 0, 22, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 0, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 0, 0, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 0, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 0, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 18, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 18, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 0, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 10, 10, 10, 8, 0, 10, 12, 9, 9, 8, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 8, 10, 10, 10, 8, 10, 12, 0, 12, 12, 9, 9, 10, 8, 0, 10, 5, 10, 0, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 17, 17, 17, 8, 10, 0, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 18, 8, 12, 17, 0, 16, 16, 8, 15, 23, 17, 15, 18, 20, 16, 18, 17, 16, 24, 16, 19, 17, 8, 18, 17, 10, 15, 18, 26, 0, 19, 19, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 9, 17, 17, 14, 17, 10, 0, 15, 15, 16, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 0, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 0, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 0, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 0, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 14, 14, 14, 7, 9, 14, 23, 14, 14, 7, 14, 0, 14, 14, 14, 16, 14, 16, 14, 14, 21, 14, 16, 14, 7, 14, 16, 7, 14, 14, 23, 0, 16, 16, 7, 14, 7, 7, 0, 14, 9, 14, 0, 0, 7, 14, 14, 14, 14, 7, 0, 14, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 0, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 0, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 17, 17, 18, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 0, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 18, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 18, 8, 12, 17, 20, 16, 16, 8, 15, 16, 17, 15, 18, 0, 16, 18, 17, 16, 17, 16, 19, 17, 8, 18, 17, 10, 15, 18, 19, 0, 19, 19, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 15, 16, 8, 8, 15, 16, 14, 14, 8, 15, 14, 15, 15, 16, 16, 0, 14, 15, 16, 15, 14, 15, 15, 8, 16, 15, 8, 15, 16, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 16, 16, 16, 7, 11, 16, 18, 16, 16, 7, 14, 16, 16, 14, 16, 18, 14, 0, 16, 14, 16, 16, 18, 16, 7, 16, 16, 9, 14, 16, 18, 0, 18, 18, 9, 16, 9, 7, 0, 16, 11, 16, 0, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 15, 16, 8, 8, 15, 16, 14, 14, 8, 15, 14, 15, 15, 16, 16, 16, 14, 15, 0, 15, 14, 15, 15, 8, 16, 15, 8, 15, 16, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 17, 17, 17, 8, 10, 17, 24, 16, 16, 8, 15, 21, 17, 15, 17, 17, 15, 16, 17, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 24, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 9, 17, 17, 14, 17, 10, 0, 15, 15, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 0, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 17, 17, 17, 8, 12, 17, 19, 16, 16, 8, 15, 16, 17, 15, 17, 19, 15, 18, 17, 15, 17, 16, 0, 17, 8, 17, 17, 10, 15, 17, 19, 0, 24, 19, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 0, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 0, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 17, 17, 18, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 18, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 0, 15, 10, 15, 18, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 15, 15, 15, 8, 10, 15, 17, 14, 14, 8, 15, 16, 15, 15, 15, 17, 15, 16, 15, 15, 15, 14, 17, 15, 8, 15, 0, 8, 15, 15, 17, 0, 17, 17, 7, 14, 8, 8, 0, 15, 10, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 0, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 15, 17, 17, 18, 8, 10, 17, 18, 16, 16, 8, 15, 14, 17, 15, 18, 18, 16, 16, 17, 16, 17, 16, 17, 17, 8, 18, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 12, 17, 26, 16, 16, 8, 15, 23, 17, 15, 17, 19, 15, 18, 17, 15, 24, 16, 19, 17, 8, 17, 17, 10, 15, 17, 0, 0, 19, 19, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 9, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 8, 12, 17, 19, 16, 16, 8, 15, 16, 17, 15, 17, 19, 15, 18, 17, 15, 17, 16, 24, 17, 8, 17, 17, 10, 15, 17, 19, 0, 0, 19, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 12, 17, 19, 16, 16, 8, 15, 16, 17, 15, 17, 19, 15, 18, 17, 15, 17, 16, 19, 17, 8, 17, 17, 10, 15, 17, 19, 0, 19, 0, 9, 16, 10, 8, 0, 17, 12, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 0, 0, 2, 9, 9, 7, 9, 9, 0, 7, 7, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 0, 9, 7, 0, 16, 9, 16, 0, 0, 2, 16, 16, 14, 16, 9, 0, 14, 14, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 0, 8, 0, 10, 3, 10, 0, 0, 2, 10, 10, 7, 10, 10, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 0, 0, 8, 1, 8, 0, 0, 0, 8, 8, 7, 8, 8, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 0, 10, 17, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 10, 10, 10, 1, 5, 10, 12, 9, 9, 1, 8, 9, 10, 8, 10, 12, 8, 11, 10, 8, 10, 9, 12, 10, 1, 10, 10, 3, 8, 10, 12, 0, 12, 12, 2, 9, 3, 1, 0, 10, 0, 10, 0, 0, 2, 10, 10, 7, 10, 3, 0, 8, 8, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 0, 0, 2, 17, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 9, 2, 2, 0, 0, 7, 2, 0, 2, 2, 0, 2, 2, 0, 9, 2, 2, 2, 0, 2, 0, 2, 0, 2, 9, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 0, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 0, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 0, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 3, 3, 2, 2, 0, 2, 0, 3, 2, 4, 2, 0, 2, 2, 2, 2, 2, 2, 3, 0, 2, 1, 4, 0, 2, 2, 0, 3, 2, 2, 4, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 4, 0, 5, 4, 0, 0, 1, 3, 0, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 2, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 3, 3, 2, 0, 2, 0, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 3, 3, 2, 0, 2, 3, 0, 2, 2, 0, 0, 7, 3, 0, 2, 2, 0, 2, 2, 0, 9, 2, 2, 3, 0, 2, 1, 2, 0, 2, 9, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 9, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 2, 2, 2, 0, 2, 2, 2, 0, 3, 0, 0, 1, 2, 0, 2, 2, 0, 3, 2, 0, 2, 3, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 3, 3, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 3, 0, 0, 0, 1, 2, 0, 2, 2, 0, 3, 2, 0, 2, 3, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 3, 3, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 2, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0, 4, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 4, 0, 2, 3, 0, 2, 2, 2, 4, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 5, 0, 4, 4, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 0, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 3, 3, 0, 0, 1, 2, 0, 2, 2, 0, 0, 2, 0, 2, 3, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 3, 3, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 0, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 9, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 9, 2, 2, 0, 0, 7, 2, 0, 2, 2, 0, 2, 2, 0, 0, 2, 2, 2, 0, 2, 0, 2, 0, 2, 9, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 9, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 3, 3, 0, 0, 1, 2, 0, 2, 2, 0, 3, 2, 0, 2, 0, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 3, 3, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 0, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 3, 3, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 0, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 7, 2, 2, 2, 2, 2, 7, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 0, 0, 9, 0, 2, 2, 0, 2, 2, 9, 2, 2, 7, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 9, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 4, 2, 2, 7, 2, 2, 2, 2, 2, 7, 2, 0, 2, 2, 4, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 9, 0, 0, 0, 2, 2, 0, 2, 2, 9, 4, 2, 7, 0, 2, 2, 2, 2, 0, 0, 2, 4, 0, 4, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 0, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 9, 2, 2, 0, 0, 7, 2, 0, 3, 2, 0, 2, 2, 0, 9, 2, 2, 2, 0, 2, 0, 2, 0, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 9, 0, 0, 2, 3, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 0, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 0, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 7, 2, 2, 2, 3, 3, 7, 0, 1, 2, 0, 2, 2, 0, 3, 2, 0, 2, 3, 2, 2, 0, 9, 0, 9, 0, 2, 2, 0, 2, 2, 0, 3, 2, 7, 0, 2, 2, 2, 2, 0, 0, 2, 2, 1, 2, 9, 0, 0, 0, 4, 2, 2, 0, 2, 2, 2, 3, 3, 0, 2, 1, 2, 2, 4, 2, 0, 3, 2, 2, 2, 3, 2, 2, 0, 2, 0, 4, 0, 2, 2, 0, 2, 2, 3, 0, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 4, 1, 4, 4, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 1, 1, 0, 7, 0, 1, 1, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 1, 7, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 0, 2, 2, 2, 0, 0, 3, 2, 0, 3, 2, 0, 0, 1, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 9, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 9, 2, 2, 0, 0, 7, 2, 0, 2, 2, 0, 2, 2, 0, 9, 2, 2, 2, 0, 2, 0, 2, 0, 2, 9, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 0, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 0, 2, 0, 3, 2, 0, 0, 1, 4, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 5, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 4, 0, 2, 3, 0, 2, 2, 2, 4, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 2, 0, 2, 3, 3, 2, 2, 0, 2, 0, 3, 2, 4, 2, 0, 2, 2, 2, 2, 2, 2, 3, 0, 2, 1, 4, 0, 2, 2, 0, 3, 2, 2, 4, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 4, 0, 0, 4, 0, 0, 1, 4, 2, 2, 7, 2, 2, 2, 2, 2, 7, 2, 0, 2, 2, 4, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 9, 0, 11, 0, 2, 2, 0, 2, 2, 9, 4, 2, 7, 0, 2, 2, 2, 2, 0, 0, 2, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 20, 17, 9, 10, 25, 18, 23, 17, 9, 23, 14, 18, 16, 17, 25, 15, 17, 18, 15, 18, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 25, 24, 9, 23, 10, 9, 0, 19, 10, 17, 17, 0, 3, 0, 17, 21, 25, 18, 0, 15, 16, 20, 0, 17, 9, 10, 18, 18, 16, 17, 14, 16, 14, 18, 16, 17, 18, 15, 17, 18, 15, 18, 18, 17, 18, 10, 19, 16, 10, 17, 19, 17, 0, 18, 17, 9, 16, 12, 13, 0, 19, 10, 19, 17, 0, 3, 0, 17, 17, 18, 11, 0, 17, 16, 17, 17, 0, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 9, 9, 8, 0, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 9, 8, 7, 9, 8, 9, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 9, 1, 8, 8, 0, 0, 0, 8, 7, 8, 8, 0, 8, 8, 10, 10, 10, 8, 0, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 0, 10, 7, 10, 10, 0, 8, 8, 25, 18, 17, 8, 10, 0, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 25, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 0, 17, 21, 25, 17, 0, 15, 16, 18, 18, 17, 8, 10, 18, 0, 16, 16, 8, 15, 14, 19, 15, 17, 18, 16, 16, 17, 16, 17, 16, 18, 19, 9, 17, 16, 10, 16, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 19, 10, 17, 17, 0, 3, 0, 17, 14, 18, 10, 0, 15, 16, 23, 16, 16, 7, 9, 23, 16, 0, 16, 7, 21, 14, 16, 14, 16, 23, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 23, 16, 0, 23, 23, 9, 23, 9, 7, 0, 16, 9, 16, 16, 0, 2, 0, 16, 21, 23, 16, 0, 14, 14, 17, 17, 16, 8, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 17, 14, 16, 17, 14, 17, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 17, 9, 16, 16, 0, 2, 0, 16, 14, 16, 9, 0, 14, 14, 9, 14, 8, 8, 8, 8, 8, 7, 7, 0, 9, 7, 8, 9, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 10, 10, 8, 8, 10, 10, 8, 0, 8, 8, 7, 7, 10, 12, 0, 8, 1, 10, 8, 0, 0, 0, 8, 10, 8, 9, 0, 10, 8, 23, 16, 15, 8, 8, 22, 15, 21, 14, 9, 0, 14, 15, 16, 15, 22, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 22, 8, 15, 22, 15, 0, 22, 22, 7, 21, 8, 8, 0, 15, 8, 15, 15, 0, 0, 0, 15, 21, 22, 16, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 0, 14, 14, 14, 7, 0, 14, 14, 18, 18, 17, 8, 10, 18, 19, 16, 16, 8, 15, 14, 0, 15, 17, 18, 16, 16, 17, 16, 17, 16, 18, 19, 9, 17, 16, 10, 16, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 19, 10, 17, 17, 0, 3, 0, 17, 14, 18, 10, 0, 15, 16, 16, 16, 15, 8, 8, 15, 15, 14, 14, 9, 16, 14, 15, 0, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 0, 15, 14, 15, 9, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 0, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 25, 18, 17, 9, 10, 24, 18, 23, 17, 8, 22, 14, 18, 15, 17, 0, 16, 16, 18, 16, 18, 16, 18, 18, 16, 17, 22, 10, 16, 24, 17, 0, 24, 24, 9, 23, 10, 8, 0, 19, 10, 17, 17, 0, 2, 0, 17, 21, 24, 17, 0, 15, 15, 15, 15, 15, 8, 8, 15, 16, 14, 14, 8, 15, 14, 16, 15, 15, 16, 0, 14, 15, 16, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 16, 8, 15, 15, 0, 0, 0, 15, 14, 15, 8, 0, 15, 15, 17, 17, 16, 7, 9, 16, 16, 16, 16, 8, 15, 14, 16, 15, 16, 16, 14, 0, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 0, 16, 14, 16, 10, 0, 14, 14, 18, 18, 17, 9, 10, 17, 17, 16, 17, 8, 15, 14, 17, 15, 17, 18, 15, 16, 0, 15, 18, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 15, 15, 15, 8, 8, 15, 16, 14, 14, 8, 15, 14, 16, 15, 15, 16, 16, 14, 15, 0, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 16, 8, 15, 15, 0, 0, 0, 15, 14, 15, 8, 0, 15, 15, 18, 18, 17, 9, 10, 17, 17, 16, 17, 8, 15, 14, 17, 15, 17, 18, 15, 16, 18, 15, 0, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 16, 18, 16, 7, 9, 16, 16, 16, 16, 9, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 9, 18, 14, 9, 16, 18, 16, 0, 16, 16, 9, 16, 11, 9, 0, 16, 9, 18, 16, 0, 2, 0, 16, 16, 16, 9, 0, 16, 14, 17, 17, 17, 8, 10, 17, 18, 16, 16, 8, 15, 14, 18, 15, 17, 18, 16, 16, 17, 16, 17, 16, 0, 18, 9, 17, 15, 10, 16, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 18, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 18, 18, 17, 8, 10, 18, 19, 16, 16, 8, 15, 14, 19, 15, 17, 18, 16, 16, 17, 16, 17, 16, 18, 0, 9, 17, 16, 10, 16, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 19, 10, 17, 17, 0, 3, 0, 17, 14, 18, 10, 0, 15, 16, 15, 10, 8, 8, 8, 15, 9, 14, 7, 10, 15, 7, 9, 8, 8, 16, 9, 7, 8, 9, 8, 9, 9, 9, 0, 10, 15, 8, 11, 17, 8, 0, 15, 15, 7, 14, 10, 10, 0, 9, 1, 10, 8, 0, 0, 0, 8, 16, 15, 15, 0, 10, 8, 17, 19, 17, 8, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 10, 0, 15, 10, 17, 19, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 19, 17, 0, 2, 0, 17, 16, 17, 10, 0, 17, 15, 23, 16, 15, 8, 8, 23, 16, 21, 14, 8, 22, 14, 16, 15, 15, 22, 15, 14, 15, 15, 15, 14, 15, 16, 15, 15, 0, 8, 15, 22, 15, 0, 23, 22, 7, 21, 8, 9, 0, 16, 8, 15, 15, 0, 1, 0, 15, 21, 23, 15, 0, 15, 16, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 0, 10, 7, 10, 10, 0, 8, 8, 15, 17, 15, 8, 8, 15, 16, 14, 14, 10, 15, 14, 16, 15, 15, 16, 16, 14, 15, 16, 15, 16, 16, 16, 11, 17, 15, 8, 0, 17, 15, 0, 15, 15, 7, 14, 10, 10, 0, 16, 8, 17, 15, 0, 0, 0, 15, 16, 15, 8, 0, 17, 15, 24, 19, 17, 8, 10, 24, 17, 23, 16, 10, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 18, 17, 17, 17, 19, 22, 10, 17, 0, 17, 0, 24, 24, 9, 23, 12, 10, 0, 17, 10, 19, 17, 0, 2, 0, 17, 23, 24, 17, 0, 17, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 18, 17, 8, 10, 25, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 0, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 0, 17, 21, 25, 17, 0, 15, 16, 24, 17, 17, 8, 10, 24, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 15, 17, 22, 10, 15, 24, 17, 0, 24, 0, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 0, 17, 21, 24, 17, 0, 15, 15, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 0, 9, 7, 9, 9, 0, 7, 7, 23, 16, 16, 7, 9, 23, 16, 23, 16, 7, 21, 14, 16, 14, 16, 23, 14, 16, 16, 14, 16, 16, 16, 16, 14, 16, 21, 9, 14, 23, 16, 0, 23, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 2, 0, 16, 21, 23, 16, 0, 14, 14, 10, 12, 10, 8, 10, 10, 10, 9, 9, 10, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 11, 10, 10, 10, 12, 8, 10, 10, 12, 10, 0, 10, 10, 9, 9, 0, 10, 0, 10, 3, 12, 10, 0, 2, 0, 10, 9, 10, 10, 0, 10, 8, 9, 13, 8, 8, 8, 9, 9, 7, 7, 12, 8, 7, 9, 8, 8, 8, 8, 7, 8, 8, 8, 9, 8, 9, 10, 10, 9, 8, 10, 10, 8, 0, 9, 8, 7, 7, 10, 0, 0, 9, 1, 10, 8, 0, 1, 0, 8, 9, 9, 8, 0, 10, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 17, 9, 10, 18, 19, 16, 17, 8, 15, 14, 19, 15, 17, 19, 16, 16, 18, 16, 18, 16, 18, 19, 9, 17, 16, 10, 16, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 0, 17, 14, 18, 10, 0, 15, 16, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 0, 10, 7, 10, 3, 0, 8, 8, 17, 19, 17, 8, 10, 17, 17, 16, 16, 10, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 18, 17, 17, 10, 19, 15, 10, 17, 19, 17, 0, 17, 17, 9, 16, 12, 10, 0, 17, 10, 0, 17, 0, 2, 0, 17, 16, 17, 10, 0, 17, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 0, 17, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 2, 3, 3, 2, 2, 0, 0, 0, 3, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 3, 0, 2, 1, 2, 0, 2, 2, 0, 3, 2, 2, 2, 2, 1, 0, 3, 2, 2, 2, 0, 0, 0, 2, 0, 3, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 0, 0, 14, 17, 10, 0, 15, 15, 21, 17, 14, 7, 7, 21, 14, 21, 14, 10, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 16, 14, 14, 16, 16, 21, 7, 16, 23, 14, 0, 21, 21, 7, 21, 9, 9, 0, 14, 7, 16, 14, 0, 0, 0, 14, 0, 21, 14, 0, 16, 14, 25, 18, 17, 8, 10, 25, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 25, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 0, 17, 21, 0, 17, 0, 15, 16, 18, 11, 10, 8, 10, 17, 10, 16, 9, 9, 16, 7, 10, 9, 10, 17, 8, 10, 10, 8, 10, 9, 10, 10, 15, 10, 15, 10, 8, 17, 10, 0, 17, 17, 9, 16, 10, 8, 0, 10, 3, 10, 10, 0, 2, 0, 10, 14, 17, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 17, 15, 8, 8, 15, 15, 14, 14, 10, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 16, 15, 15, 10, 17, 15, 8, 17, 17, 15, 0, 15, 15, 7, 14, 10, 10, 0, 15, 8, 17, 15, 0, 0, 0, 15, 16, 15, 8, 0, 0, 15, 16, 16, 15, 8, 8, 16, 16, 14, 14, 8, 15, 14, 16, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 16, 8, 15, 16, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 0, 15, 14, 16, 8, 0, 15, 0, 0, 17, 17, 8, 10, 17, 17, 16, 16, 8, 17, 14, 17, 17, 19, 17, 15, 16, 17, 17, 17, 16, 17, 17, 8, 17, 15, 12, 15, 17, 17, 0, 17, 17, 9, 18, 10, 8, 0, 17, 10, 17, 17, 0, 4, 17, 0, 14, 19, 12, 0, 15, 15, 17, 0, 17, 8, 10, 17, 18, 16, 16, 8, 16, 14, 18, 15, 18, 17, 15, 16, 17, 15, 18, 16, 18, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 17, 17, 0, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 0, 14, 17, 10, 0, 22, 22, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 0, 7, 8, 8, 0, 8, 8, 10, 10, 17, 8, 0, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 17, 15, 0, 17, 3, 17, 10, 0, 2, 10, 0, 7, 10, 10, 0, 15, 15, 17, 17, 17, 8, 10, 0, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 17, 18, 17, 8, 10, 17, 0, 16, 16, 8, 16, 14, 18, 15, 18, 17, 15, 16, 17, 15, 18, 16, 18, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 16, 16, 16, 7, 9, 16, 16, 0, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 0, 14, 16, 9, 0, 14, 14, 16, 16, 23, 7, 16, 16, 16, 16, 0, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 0, 14, 16, 9, 0, 21, 21, 8, 8, 15, 8, 15, 8, 8, 7, 14, 0, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 0, 7, 8, 8, 0, 15, 15, 17, 16, 15, 8, 8, 15, 16, 14, 14, 8, 0, 14, 16, 17, 18, 15, 15, 14, 15, 17, 16, 14, 16, 16, 8, 15, 16, 10, 15, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 15, 8, 15, 15, 0, 2, 15, 0, 14, 17, 10, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 0, 14, 14, 7, 0, 14, 14, 17, 18, 24, 8, 17, 17, 18, 16, 23, 15, 16, 14, 0, 22, 25, 17, 22, 23, 24, 15, 18, 23, 25, 18, 8, 17, 16, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 0, 14, 17, 10, 0, 22, 22, 17, 15, 22, 8, 15, 15, 15, 14, 21, 15, 17, 14, 22, 0, 24, 15, 22, 21, 22, 17, 15, 21, 22, 15, 8, 15, 15, 17, 22, 15, 15, 0, 15, 15, 14, 16, 15, 15, 0, 22, 8, 22, 15, 0, 2, 15, 0, 14, 17, 10, 0, 22, 22, 19, 18, 24, 8, 17, 17, 18, 16, 23, 15, 18, 14, 25, 24, 0, 17, 22, 23, 24, 17, 18, 23, 25, 18, 8, 17, 16, 19, 22, 17, 18, 0, 17, 17, 16, 18, 17, 15, 0, 24, 10, 24, 17, 0, 5, 17, 0, 14, 19, 12, 0, 22, 22, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 0, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 0, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 0, 14, 15, 8, 0, 22, 22, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 0, 23, 14, 16, 23, 23, 16, 7, 16, 14, 16, 21, 16, 16, 0, 16, 16, 16, 16, 16, 14, 0, 23, 9, 23, 16, 0, 2, 16, 0, 14, 16, 9, 0, 21, 21, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 0, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 0, 14, 17, 10, 0, 22, 22, 17, 15, 15, 8, 8, 15, 15, 14, 14, 8, 17, 14, 15, 17, 17, 15, 15, 14, 15, 0, 15, 14, 15, 15, 8, 15, 15, 10, 15, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 15, 8, 15, 15, 0, 2, 15, 0, 14, 17, 10, 0, 15, 15, 17, 18, 17, 8, 10, 17, 18, 16, 16, 8, 16, 14, 18, 15, 18, 17, 15, 16, 17, 15, 0, 16, 18, 18, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 16, 16, 23, 7, 16, 16, 16, 16, 23, 14, 14, 14, 23, 21, 23, 16, 21, 23, 23, 14, 16, 0, 23, 16, 7, 16, 14, 17, 21, 16, 17, 1, 16, 16, 17, 17, 16, 14, 1, 23, 9, 24, 16, 1, 2, 16, 0, 15, 16, 9, 0, 21, 21, 17, 18, 24, 8, 17, 17, 18, 16, 23, 15, 16, 14, 25, 22, 25, 17, 22, 23, 24, 15, 18, 23, 0, 18, 8, 17, 16, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 24, 10, 24, 17, 0, 2, 17, 0, 14, 17, 10, 0, 22, 22, 17, 18, 17, 8, 10, 17, 18, 16, 16, 8, 16, 14, 18, 15, 18, 17, 15, 16, 17, 15, 18, 16, 18, 0, 8, 17, 16, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 0, 7, 8, 8, 0, 8, 8, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 0, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 15, 16, 15, 8, 8, 15, 16, 14, 14, 8, 16, 14, 16, 15, 16, 15, 15, 14, 15, 15, 16, 14, 16, 16, 8, 15, 0, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 0, 14, 15, 8, 0, 15, 15, 12, 10, 17, 8, 17, 10, 10, 9, 16, 15, 10, 7, 17, 17, 19, 10, 15, 16, 17, 10, 10, 17, 17, 10, 8, 10, 8, 0, 15, 10, 11, 1, 10, 10, 17, 12, 17, 15, 1, 17, 3, 18, 10, 1, 4, 10, 0, 8, 12, 12, 0, 15, 15, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 0, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 0, 14, 15, 8, 0, 22, 22, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 0, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 18, 17, 15, 16, 17, 15, 17, 17, 17, 17, 8, 17, 15, 11, 15, 17, 0, 1, 17, 17, 10, 17, 10, 8, 1, 17, 10, 18, 17, 1, 3, 17, 0, 15, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 0, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 0, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 9, 9, 16, 7, 16, 9, 9, 9, 16, 14, 7, 7, 16, 14, 16, 9, 14, 16, 16, 7, 9, 17, 16, 9, 7, 9, 7, 17, 14, 9, 10, 1, 9, 9, 0, 10, 16, 14, 1, 16, 2, 17, 9, 1, 2, 9, 0, 8, 9, 9, 0, 14, 14, 18, 16, 16, 7, 9, 16, 16, 16, 16, 7, 16, 14, 16, 16, 18, 16, 14, 16, 16, 16, 16, 17, 16, 16, 7, 16, 14, 12, 14, 16, 17, 1, 16, 16, 10, 0, 9, 7, 1, 16, 9, 17, 16, 1, 4, 16, 0, 15, 18, 11, 0, 14, 14, 10, 10, 17, 8, 17, 10, 10, 9, 16, 15, 8, 7, 17, 15, 17, 10, 15, 16, 17, 8, 10, 16, 17, 10, 8, 10, 8, 17, 15, 10, 10, 0, 10, 10, 16, 9, 0, 15, 0, 17, 3, 17, 10, 0, 2, 10, 0, 7, 10, 10, 0, 15, 15, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 0, 0, 15, 1, 15, 8, 0, 0, 8, 0, 7, 8, 8, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 23, 24, 17, 8, 17, 15, 17, 22, 17, 17, 0, 17, 17, 16, 16, 17, 15, 0, 0, 10, 24, 17, 0, 2, 17, 0, 14, 17, 10, 0, 22, 22, 10, 10, 10, 1, 3, 10, 10, 9, 9, 1, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 1, 10, 8, 3, 8, 10, 10, 0, 10, 10, 2, 9, 3, 1, 0, 10, 0, 10, 10, 0, 2, 10, 0, 7, 10, 3, 0, 8, 8, 17, 17, 24, 8, 17, 17, 17, 16, 23, 15, 15, 14, 24, 22, 24, 17, 22, 23, 24, 15, 17, 24, 24, 17, 8, 17, 15, 18, 22, 17, 18, 1, 17, 17, 17, 17, 17, 15, 1, 24, 10, 0, 17, 1, 2, 17, 0, 15, 17, 10, 0, 22, 22, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 0, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 4, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 5, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 4, 0, 2, 3, 0, 2, 2, 2, 4, 2, 0, 0, 2, 2, 2, 2, 0, 0, 2, 0, 0, 4, 4, 0, 0, 0, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 0, 0, 14, 17, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 7, 14, 14, 8, 14, 14, 15, 1, 14, 14, 8, 15, 7, 7, 1, 14, 7, 15, 14, 1, 0, 14, 0, 0, 14, 7, 0, 14, 14, 19, 17, 17, 8, 10, 17, 17, 16, 16, 8, 17, 14, 17, 17, 19, 17, 15, 16, 17, 17, 17, 16, 17, 17, 8, 17, 15, 12, 15, 17, 17, 0, 17, 17, 9, 18, 10, 8, 0, 17, 10, 17, 17, 0, 4, 17, 0, 14, 0, 12, 0, 15, 15, 12, 10, 10, 8, 10, 10, 10, 9, 9, 8, 10, 7, 10, 10, 12, 10, 8, 9, 10, 10, 10, 9, 10, 10, 8, 10, 8, 12, 8, 10, 10, 0, 10, 10, 9, 11, 10, 8, 0, 10, 3, 10, 10, 0, 4, 10, 0, 7, 12, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 0, 14, 15, 8, 0, 0, 22, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 0, 14, 15, 8, 0, 22, 0, 0, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 7, 14, 21, 14, 0, 21, 21, 7, 21, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 14, 14, 14, 0, 14, 7, 7, 14, 14, 14, 14, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 9, 16, 14, 7, 16, 16, 14, 0, 14, 14, 7, 14, 9, 9, 0, 14, 7, 16, 14, 0, 0, 17, 14, 0, 14, 7, 0, 16, 14, 14, 14, 0, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 7, 7, 7, 0, 14, 14, 7, 14, 14, 14, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 0, 7, 7, 7, 14, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 0, 7, 7, 0, 14, 7, 7, 7, 7, 14, 0, 14, 7, 14, 14, 14, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 0, 7, 7, 7, 14, 14, 7, 0, 7, 7, 7, 7, 0, 0, 7, 7, 0, 7, 7, 0, 14, 7, 21, 14, 14, 14, 14, 0, 14, 28, 21, 14, 28, 14, 14, 21, 14, 21, 14, 14, 21, 14, 14, 14, 14, 14, 14, 21, 21, 7, 14, 21, 14, 0, 21, 21, 7, 28, 14, 7, 0, 14, 14, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 21, 14, 14, 14, 14, 7, 7, 14, 0, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 21, 14, 14, 14, 14, 28, 14, 0, 22, 14, 28, 16, 14, 21, 14, 21, 14, 15, 21, 14, 14, 15, 14, 14, 14, 21, 21, 7, 14, 21, 14, 0, 21, 21, 8, 29, 14, 7, 0, 14, 14, 14, 14, 0, 1, 21, 14, 0, 21, 14, 0, 21, 14, 14, 14, 14, 14, 14, 21, 14, 22, 0, 14, 21, 16, 14, 21, 14, 14, 14, 15, 21, 14, 14, 17, 14, 14, 7, 21, 14, 7, 14, 14, 14, 0, 14, 14, 8, 23, 14, 7, 0, 14, 14, 14, 14, 0, 1, 14, 14, 0, 14, 7, 0, 21, 14, 7, 10, 7, 14, 14, 14, 7, 14, 14, 0, 16, 9, 7, 16, 7, 7, 9, 7, 14, 9, 7, 9, 7, 7, 11, 16, 9, 7, 11, 9, 7, 0, 7, 7, 7, 14, 16, 11, 0, 7, 7, 9, 7, 0, 0, 10, 7, 0, 7, 7, 0, 18, 9, 21, 14, 14, 14, 14, 28, 14, 28, 21, 16, 0, 16, 14, 23, 14, 21, 16, 14, 21, 16, 14, 14, 14, 14, 16, 21, 23, 7, 16, 21, 14, 0, 21, 21, 7, 28, 14, 9, 0, 14, 14, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 23, 16, 14, 14, 14, 7, 7, 14, 14, 16, 16, 9, 16, 0, 14, 16, 14, 14, 16, 15, 14, 16, 14, 16, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 8, 15, 7, 9, 0, 14, 7, 14, 14, 0, 1, 14, 14, 0, 14, 7, 0, 16, 16, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 16, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 16, 14, 14, 14, 14, 14, 21, 14, 21, 21, 16, 23, 16, 14, 0, 14, 14, 16, 14, 21, 16, 14, 14, 14, 14, 9, 21, 16, 7, 16, 14, 14, 0, 14, 14, 7, 21, 14, 9, 0, 14, 14, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 23, 16, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 21, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 7, 14, 21, 14, 0, 21, 21, 7, 21, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 16, 16, 14, 16, 14, 14, 0, 14, 14, 16, 14, 14, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 16, 16, 14, 14, 14, 7, 7, 14, 14, 15, 15, 7, 14, 15, 14, 14, 14, 14, 14, 0, 14, 14, 14, 15, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 8, 16, 7, 7, 0, 14, 7, 14, 14, 0, 1, 14, 14, 0, 14, 7, 0, 14, 14, 14, 14, 14, 14, 14, 21, 14, 21, 21, 14, 21, 14, 14, 21, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 7, 21, 14, 7, 14, 14, 14, 0, 14, 14, 7, 21, 14, 7, 0, 14, 14, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 21, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 16, 16, 14, 16, 14, 14, 16, 14, 14, 0, 14, 14, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 16, 16, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 14, 16, 14, 7, 7, 14, 14, 15, 17, 9, 14, 16, 14, 14, 14, 14, 14, 15, 14, 14, 14, 0, 14, 14, 9, 16, 14, 8, 16, 16, 15, 1, 14, 14, 9, 17, 9, 9, 1, 14, 7, 17, 14, 1, 1, 16, 15, 0, 14, 7, 0, 16, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 14, 9, 7, 7, 7, 14, 7, 14, 7, 11, 16, 9, 7, 9, 7, 14, 9, 7, 7, 9, 7, 9, 7, 7, 0, 9, 16, 7, 11, 16, 7, 0, 14, 14, 7, 14, 9, 11, 0, 7, 0, 9, 7, 0, 0, 16, 7, 0, 14, 14, 0, 11, 9, 14, 16, 14, 14, 14, 21, 14, 21, 21, 16, 21, 14, 14, 21, 14, 14, 14, 14, 21, 14, 14, 16, 14, 14, 9, 0, 14, 7, 16, 16, 14, 0, 14, 14, 7, 21, 16, 9, 0, 14, 14, 16, 14, 0, 0, 16, 14, 0, 14, 7, 0, 23, 14, 21, 14, 14, 7, 7, 21, 14, 21, 14, 9, 23, 16, 16, 16, 14, 21, 16, 14, 14, 16, 14, 14, 14, 14, 16, 14, 0, 7, 16, 21, 14, 0, 21, 21, 7, 21, 7, 9, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 16, 18, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 7, 7, 7, 7, 0, 7, 7, 8, 1, 7, 7, 8, 8, 7, 7, 1, 7, 0, 8, 7, 1, 0, 7, 8, 0, 7, 7, 0, 7, 7, 14, 16, 14, 7, 7, 14, 14, 14, 14, 11, 16, 16, 14, 16, 14, 14, 16, 14, 14, 16, 14, 16, 14, 14, 11, 16, 16, 7, 0, 16, 14, 0, 14, 14, 7, 14, 9, 11, 0, 14, 7, 16, 14, 0, 0, 16, 14, 0, 14, 7, 0, 18, 16, 21, 16, 14, 7, 7, 21, 14, 21, 14, 9, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 16, 14, 14, 16, 16, 21, 7, 16, 0, 14, 0, 21, 21, 7, 21, 9, 9, 0, 14, 7, 16, 14, 0, 0, 23, 14, 0, 21, 14, 0, 16, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 7, 14, 14, 8, 14, 14, 0, 1, 14, 14, 8, 15, 7, 7, 1, 14, 7, 15, 14, 1, 0, 14, 15, 0, 14, 7, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 21, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 7, 14, 21, 14, 0, 0, 21, 7, 21, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 14, 14, 21, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 7, 14, 21, 14, 0, 21, 0, 7, 21, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 21, 14, 0, 14, 14, 7, 7, 7, 7, 7, 7, 7, 8, 8, 7, 7, 8, 7, 7, 7, 7, 7, 8, 7, 7, 7, 9, 7, 7, 7, 7, 7, 8, 7, 7, 8, 1, 7, 7, 0, 9, 7, 7, 1, 7, 0, 8, 7, 1, 1, 7, 8, 0, 7, 7, 0, 7, 7, 21, 14, 14, 14, 14, 28, 14, 29, 23, 14, 28, 15, 14, 21, 14, 21, 14, 16, 21, 14, 14, 17, 14, 14, 14, 21, 21, 8, 14, 21, 15, 1, 21, 21, 9, 0, 14, 7, 1, 14, 14, 15, 14, 1, 1, 21, 15, 0, 21, 14, 0, 21, 14, 7, 9, 7, 14, 14, 14, 7, 14, 14, 16, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 9, 7, 7, 9, 16, 7, 7, 9, 9, 7, 0, 7, 7, 7, 14, 0, 9, 0, 7, 7, 9, 7, 0, 0, 9, 7, 0, 7, 7, 0, 16, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 11, 9, 9, 7, 9, 7, 7, 9, 7, 7, 9, 7, 9, 7, 7, 11, 9, 9, 7, 11, 9, 7, 0, 7, 7, 7, 7, 9, 0, 0, 7, 0, 9, 7, 0, 0, 9, 7, 0, 7, 7, 0, 11, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 0, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 7, 7, 7, 7, 7, 14, 7, 14, 14, 7, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 0, 14, 7, 0, 7, 7, 7, 0, 7, 7, 0, 14, 7, 0, 0, 7, 0, 7, 7, 0, 0, 7, 7, 0, 7, 0, 0, 14, 7, 14, 16, 14, 7, 7, 14, 14, 14, 14, 9, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 14, 14, 9, 16, 14, 8, 16, 16, 15, 1, 14, 14, 8, 15, 9, 9, 1, 14, 7, 0, 14, 1, 0, 16, 15, 0, 14, 7, 0, 16, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 0, 0, 0, 14, 14, 0, 14, 7, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 17, 14, 7, 7, 21, 14, 21, 14, 10, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 16, 14, 14, 16, 16, 21, 7, 16, 23, 14, 0, 21, 21, 7, 21, 9, 9, 0, 14, 7, 16, 14, 0, 0, 0, 14, 0, 21, 14, 0, 16, 14, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 7, 14, 14, 8, 14, 14, 15, 1, 14, 14, 8, 15, 7, 7, 1, 14, 7, 15, 14, 1, 0, 14, 0, 0, 14, 7, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 7, 14, 21, 14, 0, 21, 21, 7, 21, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 0, 14, 0, 14, 14, 14, 7, 7, 7, 7, 14, 7, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 7, 7, 14, 7, 14, 7, 7, 14, 7, 0, 14, 14, 7, 14, 7, 7, 0, 7, 0, 7, 7, 0, 0, 14, 7, 0, 14, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 16, 14, 14, 14, 21, 14, 21, 21, 18, 23, 16, 14, 23, 14, 14, 16, 14, 21, 16, 14, 16, 14, 14, 11, 23, 16, 7, 18, 16, 14, 0, 14, 14, 7, 21, 16, 11, 0, 14, 14, 16, 14, 0, 0, 16, 14, 0, 14, 7, 0, 0, 16, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 16, 16, 16, 16, 14, 14, 16, 14, 14, 16, 14, 14, 14, 14, 9, 14, 18, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 16, 0, 0, 18, 17, 8, 10, 25, 25, 23, 16, 8, 24, 14, 25, 17, 26, 31, 22, 16, 17, 24, 24, 16, 24, 25, 22, 17, 23, 12, 22, 24, 17, 0, 25, 24, 9, 25, 10, 9, 0, 25, 10, 17, 17, 0, 5, 25, 19, 21, 0, 19, 0, 15, 16, 18, 0, 17, 8, 10, 18, 18, 16, 16, 8, 15, 14, 18, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 18, 8, 17, 16, 10, 15, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 18, 10, 17, 17, 0, 3, 18, 17, 14, 0, 10, 0, 15, 16, 17, 17, 0, 8, 11, 17, 17, 17, 16, 8, 15, 14, 19, 15, 17, 17, 15, 17, 17, 16, 17, 16, 17, 17, 8, 18, 17, 10, 16, 18, 17, 0, 17, 17, 9, 16, 11, 10, 0, 17, 11, 17, 17, 0, 2, 17, 17, 14, 0, 11, 0, 15, 15, 8, 8, 8, 0, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 0, 8, 0, 8, 8, 10, 10, 11, 8, 0, 10, 10, 10, 9, 8, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 8, 11, 9, 10, 8, 11, 10, 0, 10, 10, 9, 9, 11, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 0, 11, 0, 8, 8, 25, 18, 17, 8, 10, 0, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 25, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 25, 17, 21, 0, 17, 0, 15, 16, 25, 18, 17, 8, 10, 18, 0, 16, 16, 8, 15, 14, 25, 15, 24, 24, 22, 16, 17, 22, 24, 16, 24, 25, 15, 17, 16, 10, 22, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 25, 10, 17, 17, 0, 3, 18, 17, 14, 0, 10, 0, 15, 16, 23, 16, 17, 7, 10, 23, 16, 0, 16, 7, 21, 14, 17, 14, 16, 23, 14, 17, 16, 15, 16, 16, 16, 16, 14, 17, 22, 9, 14, 24, 16, 0, 23, 23, 9, 23, 10, 8, 0, 16, 10, 16, 16, 0, 2, 23, 16, 21, 0, 17, 0, 14, 14, 16, 16, 16, 7, 9, 16, 16, 16, 0, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 0, 9, 0, 14, 14, 8, 8, 8, 8, 8, 8, 8, 7, 7, 0, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 0, 8, 0, 8, 8, 24, 15, 15, 8, 8, 22, 15, 21, 14, 8, 0, 14, 15, 17, 17, 22, 15, 14, 15, 17, 15, 14, 15, 15, 15, 15, 22, 10, 15, 22, 15, 0, 22, 22, 7, 23, 8, 8, 0, 15, 8, 15, 15, 0, 2, 22, 17, 21, 0, 17, 0, 15, 15, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 0, 7, 0, 14, 14, 25, 18, 19, 8, 11, 18, 25, 17, 16, 8, 15, 14, 0, 15, 24, 24, 22, 17, 17, 23, 24, 16, 24, 25, 15, 18, 18, 10, 23, 18, 17, 0, 18, 17, 9, 16, 11, 11, 0, 25, 11, 17, 17, 0, 3, 18, 17, 14, 0, 11, 0, 15, 16, 17, 15, 15, 8, 8, 15, 15, 14, 14, 8, 17, 14, 15, 0, 17, 15, 15, 14, 15, 17, 15, 14, 15, 15, 8, 15, 15, 10, 15, 15, 15, 0, 15, 15, 7, 16, 8, 8, 0, 15, 8, 15, 15, 0, 2, 15, 17, 14, 0, 10, 0, 15, 15, 26, 17, 17, 8, 10, 17, 24, 16, 16, 8, 17, 14, 24, 17, 0, 24, 22, 16, 17, 24, 24, 16, 24, 24, 15, 17, 15, 12, 22, 17, 17, 0, 17, 17, 9, 18, 10, 8, 0, 24, 10, 17, 17, 0, 4, 17, 19, 14, 0, 12, 0, 15, 15, 31, 17, 17, 8, 10, 24, 24, 23, 16, 8, 22, 14, 24, 15, 24, 0, 22, 16, 17, 22, 24, 16, 24, 24, 22, 17, 22, 10, 22, 24, 17, 0, 24, 24, 9, 23, 10, 8, 0, 24, 10, 17, 17, 0, 2, 24, 17, 21, 0, 17, 0, 15, 15, 22, 15, 15, 8, 8, 15, 22, 14, 14, 8, 15, 14, 22, 15, 22, 22, 0, 14, 15, 22, 22, 14, 22, 22, 15, 15, 15, 8, 22, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 22, 8, 15, 15, 0, 0, 15, 15, 14, 0, 8, 0, 15, 15, 16, 16, 17, 7, 10, 16, 16, 17, 16, 7, 14, 14, 17, 14, 16, 16, 14, 0, 16, 15, 16, 16, 16, 16, 7, 17, 15, 9, 14, 17, 16, 0, 16, 16, 9, 16, 10, 8, 0, 16, 10, 16, 16, 0, 2, 16, 16, 14, 0, 10, 0, 14, 14, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 0, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 24, 15, 16, 8, 9, 15, 22, 15, 14, 8, 17, 14, 23, 17, 24, 22, 22, 15, 15, 0, 22, 14, 22, 22, 15, 16, 16, 10, 22, 16, 15, 0, 15, 15, 7, 16, 9, 9, 0, 22, 9, 15, 15, 0, 2, 15, 17, 14, 0, 11, 0, 15, 15, 24, 17, 17, 8, 10, 17, 24, 16, 16, 8, 15, 14, 24, 15, 24, 24, 22, 16, 17, 22, 0, 16, 24, 24, 15, 17, 15, 10, 22, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 24, 10, 17, 17, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 16, 16, 16, 7, 9, 16, 16, 16, 16, 7, 14, 14, 16, 14, 16, 16, 14, 16, 16, 14, 16, 0, 16, 16, 7, 16, 14, 9, 14, 16, 16, 0, 16, 16, 9, 16, 9, 7, 0, 16, 9, 16, 16, 0, 2, 16, 16, 14, 0, 9, 0, 14, 14, 24, 17, 17, 8, 10, 17, 24, 16, 16, 8, 15, 14, 24, 15, 24, 24, 22, 16, 17, 22, 24, 16, 0, 24, 15, 17, 15, 10, 22, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 24, 10, 17, 17, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 25, 18, 17, 8, 10, 18, 25, 16, 16, 8, 15, 14, 25, 15, 24, 24, 22, 16, 17, 22, 24, 16, 24, 0, 15, 17, 16, 10, 22, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 25, 10, 17, 17, 0, 3, 18, 17, 14, 0, 10, 0, 15, 16, 22, 8, 8, 8, 8, 15, 15, 14, 7, 8, 15, 7, 15, 8, 15, 22, 15, 7, 8, 15, 15, 7, 15, 15, 0, 8, 15, 8, 15, 15, 8, 0, 15, 15, 7, 14, 8, 8, 0, 15, 1, 8, 8, 0, 0, 15, 8, 14, 0, 15, 0, 8, 8, 17, 17, 18, 8, 11, 17, 17, 17, 16, 8, 15, 14, 18, 15, 17, 17, 15, 17, 17, 16, 17, 16, 17, 17, 8, 0, 16, 10, 15, 18, 17, 0, 17, 17, 9, 16, 11, 9, 0, 17, 11, 17, 17, 0, 2, 17, 17, 14, 0, 11, 0, 15, 15, 23, 16, 17, 8, 9, 23, 16, 22, 14, 8, 22, 14, 18, 15, 15, 22, 15, 15, 15, 16, 15, 14, 15, 16, 15, 16, 0, 8, 16, 23, 15, 0, 23, 22, 7, 21, 9, 11, 0, 16, 9, 15, 15, 0, 1, 23, 15, 21, 0, 16, 0, 15, 16, 12, 10, 10, 8, 10, 10, 10, 9, 9, 8, 10, 7, 10, 10, 12, 10, 8, 9, 10, 10, 10, 9, 10, 10, 8, 10, 8, 0, 8, 10, 10, 0, 10, 10, 9, 11, 10, 8, 0, 10, 3, 10, 10, 0, 4, 10, 12, 7, 0, 12, 0, 8, 8, 22, 15, 16, 8, 8, 15, 22, 14, 14, 8, 15, 14, 23, 15, 22, 22, 22, 14, 15, 22, 22, 14, 22, 22, 15, 15, 16, 8, 0, 15, 15, 0, 15, 15, 7, 14, 8, 9, 0, 22, 8, 15, 15, 0, 0, 15, 15, 14, 0, 8, 0, 15, 15, 24, 17, 18, 8, 11, 24, 17, 24, 16, 8, 22, 14, 18, 15, 17, 24, 15, 17, 17, 16, 17, 16, 17, 17, 15, 18, 23, 10, 15, 0, 17, 0, 24, 24, 9, 23, 11, 9, 0, 17, 11, 17, 17, 0, 2, 24, 17, 21, 0, 18, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 0, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 17, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 18, 17, 8, 10, 25, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 0, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 25, 17, 21, 0, 17, 0, 15, 16, 24, 17, 17, 8, 10, 24, 17, 23, 16, 8, 22, 14, 17, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 17, 15, 17, 22, 10, 15, 24, 17, 0, 24, 0, 9, 23, 10, 8, 0, 17, 10, 17, 17, 0, 2, 24, 17, 21, 0, 17, 0, 15, 15, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 0, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 0, 9, 0, 7, 7, 25, 16, 16, 7, 9, 23, 16, 23, 16, 7, 23, 14, 16, 16, 18, 23, 14, 16, 16, 16, 16, 16, 16, 16, 14, 16, 21, 11, 14, 23, 16, 0, 23, 23, 9, 0, 9, 7, 0, 16, 9, 16, 16, 0, 4, 23, 18, 21, 0, 18, 0, 14, 14, 10, 10, 11, 8, 11, 10, 10, 10, 9, 8, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 8, 11, 9, 10, 8, 11, 10, 0, 10, 10, 9, 9, 0, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 0, 11, 0, 8, 8, 9, 9, 10, 8, 9, 9, 9, 8, 7, 8, 8, 7, 11, 8, 8, 8, 8, 8, 8, 9, 8, 7, 8, 9, 8, 9, 11, 8, 9, 9, 8, 0, 9, 8, 7, 7, 9, 0, 0, 9, 2, 8, 8, 0, 1, 9, 8, 7, 0, 9, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 18, 17, 8, 10, 18, 25, 16, 16, 8, 15, 14, 25, 15, 24, 24, 22, 16, 17, 22, 24, 16, 24, 25, 15, 17, 16, 10, 22, 17, 17, 0, 18, 17, 9, 16, 10, 9, 0, 0, 10, 17, 17, 0, 3, 18, 17, 14, 0, 10, 0, 15, 16, 10, 10, 11, 1, 4, 10, 10, 10, 9, 1, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 1, 11, 9, 3, 8, 11, 10, 0, 10, 10, 2, 9, 4, 2, 0, 10, 0, 10, 10, 0, 2, 10, 10, 7, 0, 4, 0, 8, 8, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 0, 17, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 17, 17, 17, 8, 10, 17, 17, 16, 16, 8, 15, 14, 17, 15, 17, 17, 15, 16, 17, 15, 17, 16, 17, 17, 8, 17, 15, 10, 15, 17, 17, 0, 17, 17, 9, 16, 10, 8, 0, 17, 10, 17, 0, 0, 2, 17, 17, 14, 0, 10, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 2, 0, 2, 3, 3, 2, 2, 0, 2, 0, 3, 2, 4, 2, 0, 2, 2, 2, 2, 2, 2, 3, 0, 2, 1, 4, 0, 2, 2, 0, 3, 2, 2, 4, 2, 1, 0, 3, 2, 2, 2, 0, 0, 3, 4, 0, 0, 4, 0, 0, 1, 25, 18, 17, 8, 10, 25, 18, 23, 16, 8, 22, 14, 18, 15, 17, 24, 15, 16, 17, 15, 17, 16, 17, 18, 15, 17, 23, 10, 15, 24, 17, 0, 25, 24, 9, 23, 10, 9, 0, 18, 10, 17, 17, 0, 3, 0, 17, 21, 0, 17, 0, 15, 16, 19, 17, 17, 8, 10, 17, 17, 16, 16, 8, 17, 14, 17, 17, 19, 17, 15, 16, 17, 17, 17, 16, 17, 17, 8, 17, 15, 12, 15, 17, 17, 0, 17, 17, 9, 18, 10, 8, 0, 17, 10, 17, 17, 0, 4, 17, 0, 14, 0, 12, 0, 15, 15, 21, 14, 14, 7, 7, 21, 14, 21, 14, 7, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 7, 14, 21, 14, 0, 21, 21, 7, 21, 7, 7, 0, 14, 7, 14, 14, 0, 0, 21, 14, 0, 0, 14, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 10, 11, 8, 11, 17, 10, 17, 9, 8, 17, 7, 11, 10, 12, 17, 8, 10, 10, 11, 10, 9, 10, 10, 15, 11, 16, 12, 8, 18, 10, 0, 17, 17, 9, 18, 11, 9, 0, 10, 4, 10, 10, 0, 4, 17, 12, 14, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 0, 8, 0, 0, 15, 16, 16, 15, 8, 8, 16, 16, 14, 14, 8, 15, 14, 16, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 16, 8, 15, 16, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 0, 8, 0, 15, 0, 0, 11, 10, 8, 10, 17, 10, 16, 9, 9, 21, 7, 10, 14, 12, 17, 8, 10, 10, 13, 10, 9, 10, 10, 15, 10, 15, 12, 8, 17, 10, 0, 17, 17, 9, 18, 10, 8, 0, 10, 3, 10, 10, 0, 4, 18, 12, 14, 19, 0, 0, 8, 8, 11, 0, 10, 8, 10, 10, 10, 9, 9, 9, 9, 7, 10, 9, 10, 10, 8, 10, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 11, 10, 7, 10, 0, 0, 8, 8, 10, 10, 0, 9, 11, 10, 10, 11, 10, 9, 9, 7, 11, 9, 10, 10, 9, 11, 10, 9, 10, 9, 10, 10, 8, 11, 9, 10, 9, 12, 10, 0, 10, 10, 9, 9, 11, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 11, 0, 0, 9, 8, 8, 8, 9, 0, 8, 8, 8, 8, 8, 16, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 15, 8, 15, 9, 9, 8, 0, 8, 8, 14, 7, 8, 15, 0, 8, 1, 8, 8, 0, 7, 8, 8, 7, 8, 0, 0, 9, 8, 10, 10, 11, 8, 0, 10, 10, 10, 9, 8, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 8, 11, 9, 10, 8, 11, 10, 0, 10, 10, 9, 9, 11, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 11, 0, 0, 8, 8, 17, 10, 10, 8, 10, 0, 10, 16, 9, 8, 15, 7, 10, 8, 10, 17, 8, 9, 10, 8, 10, 9, 10, 10, 15, 10, 15, 10, 8, 17, 10, 0, 17, 17, 9, 16, 10, 8, 0, 10, 3, 10, 10, 0, 2, 17, 10, 14, 17, 0, 0, 8, 8, 10, 10, 10, 8, 10, 10, 0, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 16, 9, 11, 8, 10, 16, 9, 0, 10, 8, 15, 7, 10, 8, 9, 16, 8, 11, 9, 8, 9, 9, 9, 9, 14, 10, 15, 9, 8, 18, 9, 0, 16, 16, 9, 16, 10, 8, 0, 9, 3, 9, 9, 0, 2, 16, 9, 14, 17, 0, 0, 8, 7, 9, 9, 10, 8, 9, 9, 9, 10, 0, 8, 8, 7, 9, 8, 9, 9, 8, 10, 9, 7, 9, 9, 9, 9, 7, 9, 7, 9, 8, 10, 9, 0, 9, 9, 9, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 0, 0, 8, 7, 9, 9, 9, 16, 8, 8, 8, 8, 8, 0, 10, 7, 8, 10, 8, 8, 9, 9, 8, 8, 8, 7, 8, 8, 8, 15, 8, 15, 9, 9, 8, 0, 8, 8, 14, 7, 8, 15, 0, 8, 1, 8, 8, 0, 7, 9, 8, 7, 8, 0, 0, 9, 8, 21, 9, 9, 9, 8, 15, 8, 15, 8, 10, 0, 7, 8, 15, 10, 15, 9, 9, 8, 13, 8, 7, 8, 8, 15, 8, 15, 10, 9, 16, 8, 0, 15, 15, 7, 16, 8, 8, 0, 8, 1, 8, 8, 0, 2, 16, 10, 14, 17, 0, 0, 9, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 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, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 0, 0, 7, 7, 10, 10, 11, 8, 11, 10, 10, 10, 9, 8, 8, 7, 0, 8, 10, 10, 8, 10, 10, 9, 10, 11, 10, 10, 8, 11, 9, 10, 8, 11, 10, 0, 10, 10, 9, 9, 11, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 11, 0, 0, 8, 8, 14, 9, 9, 9, 8, 8, 8, 8, 8, 10, 15, 7, 8, 0, 10, 8, 9, 9, 8, 13, 8, 7, 8, 8, 8, 8, 8, 10, 9, 9, 8, 0, 8, 8, 7, 9, 8, 8, 0, 8, 1, 8, 8, 0, 2, 9, 10, 7, 10, 0, 0, 9, 8, 12, 10, 10, 8, 10, 10, 10, 9, 9, 8, 10, 7, 10, 10, 0, 10, 8, 9, 10, 10, 10, 9, 10, 10, 8, 10, 8, 12, 8, 10, 10, 0, 10, 10, 9, 11, 10, 8, 0, 10, 3, 10, 10, 0, 4, 10, 12, 7, 12, 0, 0, 8, 8, 17, 10, 10, 8, 10, 17, 10, 16, 9, 8, 15, 7, 10, 8, 10, 0, 8, 9, 10, 8, 10, 9, 10, 10, 15, 10, 15, 10, 8, 17, 10, 0, 17, 17, 9, 16, 10, 8, 0, 10, 3, 10, 10, 0, 2, 17, 10, 14, 17, 0, 0, 8, 8, 8, 8, 9, 9, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 0, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 9, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 0, 0, 9, 8, 10, 10, 11, 8, 10, 9, 9, 11, 10, 9, 9, 7, 10, 9, 9, 9, 8, 0, 9, 8, 9, 9, 9, 9, 7, 10, 8, 9, 8, 11, 9, 0, 9, 9, 9, 9, 10, 8, 0, 9, 3, 9, 9, 0, 2, 10, 9, 7, 10, 0, 0, 8, 7, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 0, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 13, 8, 9, 8, 9, 8, 8, 8, 7, 8, 13, 7, 9, 13, 10, 8, 8, 8, 8, 0, 8, 7, 8, 8, 8, 9, 9, 10, 8, 9, 8, 0, 8, 8, 7, 9, 9, 9, 0, 8, 2, 8, 8, 0, 2, 8, 10, 7, 11, 0, 0, 8, 8, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 0, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 9, 9, 9, 7, 9, 9, 9, 9, 9, 7, 7, 7, 11, 7, 9, 9, 7, 9, 9, 7, 9, 0, 9, 9, 7, 9, 7, 9, 7, 9, 9, 0, 9, 9, 9, 9, 9, 7, 0, 9, 2, 9, 9, 0, 2, 9, 9, 7, 9, 0, 0, 7, 7, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 0, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 0, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 15, 8, 8, 8, 8, 15, 8, 14, 7, 8, 15, 7, 8, 8, 8, 15, 8, 7, 8, 8, 8, 7, 8, 8, 0, 8, 15, 8, 8, 15, 8, 0, 15, 15, 7, 14, 8, 8, 0, 8, 1, 8, 8, 0, 0, 15, 8, 14, 15, 0, 0, 8, 8, 10, 10, 11, 15, 11, 10, 10, 10, 9, 15, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 8, 0, 9, 17, 8, 11, 10, 0, 10, 10, 16, 9, 11, 16, 0, 10, 4, 10, 10, 0, 9, 10, 10, 7, 11, 0, 0, 8, 8, 15, 8, 9, 8, 9, 15, 8, 15, 7, 8, 15, 7, 9, 8, 8, 15, 8, 8, 8, 9, 8, 7, 8, 8, 15, 9, 0, 8, 8, 16, 8, 0, 15, 15, 7, 14, 9, 9, 0, 8, 2, 8, 8, 0, 0, 15, 8, 14, 16, 0, 0, 8, 8, 12, 10, 10, 15, 10, 10, 10, 9, 9, 15, 10, 7, 10, 10, 12, 10, 8, 9, 10, 10, 10, 9, 10, 10, 8, 17, 8, 0, 8, 10, 10, 0, 10, 10, 16, 11, 10, 15, 0, 10, 3, 10, 10, 0, 11, 10, 12, 7, 12, 0, 0, 8, 8, 8, 8, 9, 9, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 0, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 0, 0, 9, 8, 17, 10, 12, 9, 11, 17, 10, 18, 10, 9, 16, 7, 11, 9, 10, 17, 9, 11, 10, 9, 10, 9, 10, 10, 15, 11, 16, 10, 9, 0, 10, 0, 17, 17, 9, 16, 11, 9, 0, 10, 4, 10, 10, 0, 2, 17, 10, 14, 18, 0, 0, 9, 8, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 0, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 10, 10, 8, 10, 17, 10, 16, 9, 8, 15, 7, 10, 8, 10, 17, 8, 9, 10, 8, 10, 9, 10, 10, 15, 10, 15, 10, 8, 17, 10, 0, 0, 17, 9, 16, 10, 8, 0, 10, 3, 10, 10, 0, 2, 17, 10, 14, 17, 0, 0, 8, 8, 17, 10, 10, 8, 10, 17, 10, 16, 9, 8, 15, 7, 10, 8, 10, 17, 8, 9, 10, 8, 10, 9, 10, 10, 15, 10, 15, 10, 8, 17, 10, 0, 17, 0, 9, 16, 10, 8, 0, 10, 3, 10, 10, 0, 2, 17, 10, 14, 17, 0, 0, 8, 8, 9, 9, 9, 14, 9, 9, 9, 9, 9, 14, 7, 7, 9, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9, 9, 7, 16, 7, 16, 7, 9, 9, 0, 9, 9, 0, 9, 9, 14, 0, 9, 2, 9, 9, 0, 9, 9, 9, 7, 9, 0, 0, 7, 7, 18, 9, 9, 7, 9, 16, 9, 16, 9, 7, 16, 7, 9, 9, 11, 16, 7, 9, 9, 9, 9, 9, 9, 9, 14, 9, 14, 11, 7, 16, 9, 0, 16, 16, 9, 0, 9, 7, 0, 9, 2, 9, 9, 0, 4, 16, 11, 14, 18, 0, 0, 7, 7, 10, 10, 11, 8, 11, 10, 10, 10, 9, 8, 8, 7, 11, 8, 10, 10, 8, 10, 10, 9, 10, 9, 10, 10, 8, 11, 9, 10, 8, 11, 10, 0, 10, 10, 9, 9, 0, 9, 0, 10, 4, 10, 10, 0, 2, 10, 10, 7, 11, 0, 0, 8, 8, 8, 8, 9, 15, 9, 8, 8, 8, 7, 15, 8, 7, 9, 8, 8, 8, 8, 8, 8, 9, 8, 7, 8, 8, 8, 16, 9, 15, 8, 9, 8, 0, 8, 8, 14, 7, 9, 0, 0, 8, 2, 8, 8, 0, 7, 8, 8, 7, 9, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 0, 3, 10, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 3, 3, 4, 1, 4, 3, 3, 3, 2, 1, 1, 0, 4, 1, 3, 3, 1, 3, 3, 2, 3, 2, 3, 3, 1, 4, 2, 3, 1, 4, 3, 0, 3, 3, 2, 2, 4, 2, 0, 3, 0, 3, 3, 0, 2, 3, 3, 0, 4, 0, 0, 1, 1, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 0, 10, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 10, 10, 10, 8, 10, 10, 10, 9, 9, 8, 8, 7, 10, 8, 10, 10, 8, 9, 10, 8, 10, 9, 10, 10, 8, 10, 8, 10, 8, 10, 10, 0, 10, 10, 9, 9, 10, 8, 0, 10, 3, 10, 0, 0, 2, 10, 10, 7, 10, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 2, 7, 2, 2, 2, 2, 2, 7, 2, 0, 2, 2, 4, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 9, 0, 11, 0, 2, 2, 0, 2, 2, 9, 4, 2, 7, 0, 2, 2, 2, 2, 0, 0, 2, 4, 0, 4, 0, 0, 0, 0, 18, 11, 10, 8, 10, 17, 10, 16, 9, 9, 16, 7, 10, 9, 10, 17, 8, 10, 10, 8, 10, 9, 10, 10, 15, 10, 15, 10, 8, 17, 10, 0, 17, 17, 9, 16, 10, 8, 0, 10, 3, 10, 10, 0, 2, 0, 10, 14, 17, 0, 0, 8, 8, 12, 10, 10, 8, 10, 10, 10, 9, 9, 8, 10, 7, 10, 10, 12, 10, 8, 9, 10, 10, 10, 9, 10, 10, 8, 10, 8, 12, 8, 10, 10, 0, 10, 10, 9, 11, 10, 8, 0, 10, 3, 10, 10, 0, 4, 10, 0, 7, 12, 0, 0, 8, 8, 14, 7, 7, 7, 7, 14, 7, 14, 7, 7, 14, 7, 7, 7, 7, 14, 7, 7, 7, 7, 7, 7, 7, 7, 14, 7, 14, 7, 7, 14, 7, 0, 14, 14, 7, 14, 7, 7, 0, 7, 0, 7, 7, 0, 0, 14, 7, 0, 14, 0, 0, 7, 7, 19, 10, 11, 8, 11, 17, 10, 17, 9, 8, 17, 7, 11, 10, 12, 17, 8, 10, 10, 11, 10, 9, 10, 10, 15, 11, 16, 12, 8, 18, 10, 0, 17, 17, 9, 18, 11, 9, 0, 10, 4, 10, 10, 0, 4, 17, 12, 14, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 9, 9, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 9, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 8, 8, 15, 15, 15, 14, 8, 15, 14, 15, 15, 15, 16, 16, 14, 15, 15, 15, 14, 15, 15, 8, 16, 15, 8, 15, 15, 16, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 15, 0, 15, 8, 8, 15, 15, 14, 14, 10, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 16, 15, 15, 10, 17, 15, 8, 17, 17, 15, 0, 15, 15, 7, 14, 10, 10, 0, 15, 8, 17, 15, 0, 0, 17, 15, 16, 15, 8, 0, 0, 15, 16, 15, 0, 9, 15, 15, 15, 16, 22, 16, 16, 14, 22, 23, 22, 16, 24, 22, 22, 15, 15, 21, 22, 15, 8, 16, 15, 15, 23, 16, 16, 0, 16, 16, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 9, 0, 0, 22, 8, 8, 9, 0, 16, 15, 8, 15, 15, 16, 17, 7, 8, 16, 8, 9, 9, 8, 15, 8, 8, 7, 8, 8, 8, 16, 8, 8, 9, 9, 8, 0, 8, 8, 7, 14, 15, 8, 0, 8, 8, 8, 8, 0, 0, 8, 8, 14, 8, 9, 0, 0, 8, 8, 8, 15, 16, 0, 15, 8, 14, 21, 22, 16, 7, 15, 22, 15, 9, 15, 14, 22, 8, 8, 14, 15, 8, 8, 16, 8, 15, 15, 8, 8, 0, 8, 8, 14, 14, 22, 15, 0, 15, 8, 15, 8, 0, 0, 8, 15, 14, 8, 8, 0, 0, 15, 15, 15, 15, 15, 15, 0, 15, 21, 21, 15, 22, 14, 15, 22, 15, 15, 15, 14, 22, 15, 15, 14, 15, 15, 8, 22, 15, 8, 15, 15, 15, 0, 15, 15, 7, 21, 15, 8, 0, 17, 15, 15, 15, 0, 0, 15, 15, 21, 15, 8, 0, 0, 17, 15, 15, 15, 8, 8, 15, 0, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 15, 14, 16, 15, 14, 21, 14, 0, 22, 15, 22, 14, 14, 22, 14, 15, 16, 15, 21, 14, 14, 14, 14, 14, 7, 22, 14, 7, 15, 15, 15, 0, 15, 15, 7, 21, 14, 7, 0, 14, 14, 14, 14, 0, 0, 14, 14, 21, 14, 8, 0, 0, 14, 14, 14, 22, 15, 21, 21, 14, 22, 0, 22, 22, 14, 21, 29, 21, 14, 22, 22, 28, 14, 14, 21, 21, 14, 7, 21, 14, 14, 22, 15, 14, 0, 14, 14, 14, 21, 21, 14, 0, 21, 14, 21, 14, 0, 0, 14, 21, 21, 14, 8, 0, 0, 21, 8, 10, 16, 16, 22, 15, 8, 15, 22, 0, 18, 9, 15, 25, 15, 8, 18, 15, 22, 10, 8, 16, 15, 8, 12, 17, 10, 15, 20, 11, 8, 0, 8, 8, 14, 14, 24, 19, 0, 15, 8, 17, 8, 0, 0, 10, 15, 18, 8, 9, 0, 0, 17, 15, 15, 16, 17, 16, 22, 15, 22, 22, 18, 0, 16, 15, 25, 15, 16, 18, 15, 22, 17, 15, 14, 15, 15, 10, 23, 17, 8, 18, 16, 15, 0, 15, 15, 7, 21, 15, 10, 0, 15, 15, 15, 15, 0, 1, 15, 15, 23, 15, 9, 0, 0, 17, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 16, 0, 14, 16, 14, 14, 16, 14, 14, 16, 14, 14, 14, 14, 9, 14, 16, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 0, 16, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 0, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 0, 22, 15, 15, 23, 16, 22, 22, 15, 22, 29, 25, 25, 16, 22, 0, 22, 15, 25, 22, 29, 17, 15, 21, 22, 15, 10, 22, 17, 15, 25, 16, 15, 0, 15, 15, 14, 21, 22, 17, 0, 22, 15, 22, 15, 0, 0, 15, 22, 23, 15, 9, 0, 0, 24, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 0, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 0, 22, 16, 15, 16, 9, 9, 15, 15, 15, 14, 8, 16, 14, 15, 15, 15, 0, 16, 14, 15, 15, 15, 14, 15, 15, 8, 17, 15, 8, 15, 15, 16, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 16, 15, 24, 9, 15, 15, 15, 16, 22, 18, 18, 16, 22, 25, 22, 16, 0, 22, 22, 17, 15, 21, 22, 15, 10, 16, 17, 15, 25, 16, 16, 0, 16, 16, 14, 14, 15, 17, 0, 22, 8, 22, 15, 0, 0, 15, 22, 16, 15, 9, 0, 0, 24, 14, 14, 22, 8, 14, 14, 14, 15, 22, 15, 15, 14, 21, 22, 21, 14, 22, 0, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 22, 15, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 8, 0, 0, 21, 15, 15, 22, 15, 22, 22, 15, 21, 28, 22, 22, 14, 22, 29, 22, 15, 22, 21, 0, 15, 15, 21, 22, 15, 8, 22, 15, 15, 22, 15, 15, 0, 15, 15, 14, 21, 22, 15, 0, 22, 15, 22, 15, 0, 0, 15, 22, 21, 15, 8, 0, 0, 22, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 17, 16, 15, 17, 15, 15, 17, 14, 15, 0, 15, 14, 15, 15, 10, 15, 17, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 0, 17, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 0, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 14, 16, 21, 7, 14, 14, 14, 14, 21, 16, 14, 14, 21, 21, 21, 14, 21, 21, 21, 14, 14, 0, 21, 14, 9, 16, 14, 14, 23, 16, 14, 0, 14, 14, 14, 14, 16, 16, 0, 21, 7, 23, 14, 0, 0, 16, 21, 16, 14, 7, 0, 0, 21, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 0, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 0, 22, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 0, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 8, 10, 8, 8, 8, 8, 8, 7, 7, 12, 10, 9, 8, 10, 8, 8, 10, 7, 8, 10, 8, 9, 8, 8, 0, 10, 10, 8, 12, 10, 8, 0, 8, 8, 7, 7, 10, 12, 0, 8, 1, 10, 8, 0, 0, 10, 8, 11, 8, 8, 0, 0, 10, 16, 17, 16, 16, 16, 22, 15, 22, 21, 17, 23, 14, 15, 22, 15, 17, 16, 14, 22, 15, 15, 16, 15, 15, 10, 0, 15, 8, 17, 17, 16, 0, 16, 16, 7, 21, 17, 10, 0, 15, 15, 17, 15, 0, 0, 17, 15, 23, 15, 8, 0, 0, 15, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 17, 16, 15, 17, 15, 15, 17, 14, 15, 17, 15, 14, 15, 15, 10, 15, 0, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 0, 17, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 0, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 0, 15, 15, 17, 23, 9, 15, 15, 15, 15, 22, 20, 18, 16, 22, 25, 22, 15, 25, 22, 22, 17, 15, 23, 22, 15, 12, 17, 17, 15, 0, 18, 15, 0, 15, 15, 14, 14, 17, 19, 0, 22, 8, 24, 15, 0, 0, 17, 22, 18, 15, 9, 0, 0, 24, 15, 17, 16, 9, 8, 15, 15, 15, 15, 11, 16, 14, 15, 16, 15, 15, 16, 15, 15, 15, 15, 16, 15, 15, 10, 17, 15, 8, 18, 0, 15, 0, 15, 15, 7, 14, 10, 10, 0, 15, 8, 17, 15, 0, 0, 17, 15, 16, 15, 9, 0, 0, 15, 16, 15, 16, 8, 8, 15, 15, 15, 14, 8, 15, 14, 15, 15, 15, 16, 16, 14, 15, 15, 15, 14, 15, 15, 8, 16, 15, 8, 15, 15, 0, 0, 16, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 15, 16, 8, 8, 15, 15, 15, 14, 8, 15, 14, 15, 15, 15, 16, 16, 14, 15, 15, 15, 14, 15, 15, 8, 16, 15, 8, 15, 15, 16, 0, 0, 16, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 16, 15, 16, 8, 8, 15, 15, 15, 14, 8, 15, 14, 15, 15, 15, 16, 16, 14, 15, 15, 15, 14, 15, 15, 8, 16, 15, 8, 15, 15, 16, 0, 16, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 7, 7, 14, 7, 14, 7, 7, 7, 14, 14, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 14, 7, 7, 0, 7, 7, 0, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 7, 14, 7, 7, 7, 0, 0, 14, 14, 14, 14, 14, 14, 21, 14, 21, 21, 14, 21, 14, 14, 21, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 7, 21, 14, 7, 14, 14, 14, 0, 14, 14, 7, 0, 14, 7, 0, 14, 14, 14, 14, 0, 0, 14, 14, 21, 14, 7, 0, 0, 14, 8, 10, 15, 15, 22, 15, 8, 14, 21, 24, 15, 7, 15, 22, 15, 8, 15, 14, 22, 8, 8, 16, 15, 8, 10, 17, 8, 15, 17, 10, 8, 0, 8, 8, 14, 14, 0, 17, 0, 15, 8, 17, 8, 0, 0, 10, 15, 16, 8, 8, 0, 0, 15, 8, 10, 15, 8, 15, 8, 8, 7, 14, 19, 10, 9, 15, 17, 15, 8, 17, 14, 15, 10, 8, 16, 15, 8, 12, 10, 10, 15, 19, 10, 8, 0, 8, 8, 14, 7, 17, 0, 0, 15, 1, 17, 8, 0, 0, 10, 15, 11, 8, 8, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 22, 8, 15, 17, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 0, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 0, 24, 8, 8, 8, 8, 8, 15, 8, 14, 14, 8, 15, 7, 8, 15, 8, 8, 8, 7, 15, 8, 8, 7, 8, 8, 1, 15, 8, 1, 8, 8, 8, 0, 8, 8, 0, 14, 8, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 14, 8, 1, 0, 0, 8, 15, 17, 22, 8, 15, 15, 15, 14, 21, 17, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 23, 22, 15, 10, 17, 15, 15, 24, 17, 15, 0, 15, 15, 14, 14, 17, 17, 0, 22, 8, 0, 15, 0, 0, 17, 22, 16, 15, 8, 0, 0, 22, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 17, 15, 8, 8, 15, 15, 14, 14, 10, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 16, 15, 15, 10, 17, 15, 8, 17, 17, 15, 0, 15, 15, 7, 14, 10, 10, 0, 15, 8, 17, 15, 0, 0, 0, 15, 16, 15, 8, 0, 0, 15, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 0, 14, 15, 8, 0, 0, 22, 14, 16, 14, 14, 14, 21, 14, 21, 21, 18, 23, 16, 14, 23, 14, 14, 16, 14, 21, 16, 14, 16, 14, 14, 11, 23, 16, 7, 18, 16, 14, 0, 14, 14, 7, 21, 16, 11, 0, 14, 14, 16, 14, 0, 0, 16, 14, 0, 14, 7, 0, 0, 16, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 0, 8, 0, 0, 15, 8, 8, 9, 9, 8, 8, 8, 8, 8, 9, 9, 7, 8, 9, 8, 8, 9, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 9, 9, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 22, 8, 15, 17, 15, 14, 21, 17, 17, 16, 22, 24, 22, 15, 24, 21, 22, 17, 15, 21, 22, 15, 10, 15, 17, 15, 24, 15, 15, 0, 15, 15, 14, 14, 15, 17, 0, 24, 8, 22, 15, 0, 0, 15, 22, 16, 15, 8, 0, 0, 0, 0, 16, 15, 8, 8, 16, 16, 14, 14, 8, 15, 14, 16, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 16, 8, 15, 16, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 0, 16, 0, 15, 8, 8, 16, 16, 14, 14, 8, 15, 14, 16, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 16, 8, 15, 16, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 0, 15, 15, 0, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 0, 8, 8, 8, 0, 8, 10, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 10, 7, 8, 8, 10, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 10, 1, 8, 8, 0, 0, 8, 8, 7, 8, 8, 0, 8, 0, 8, 8, 15, 8, 0, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 0, 16, 16, 15, 10, 8, 0, 17, 14, 14, 9, 15, 15, 16, 16, 16, 15, 18, 14, 15, 15, 17, 14, 16, 17, 9, 15, 16, 8, 16, 15, 15, 0, 17, 16, 7, 14, 8, 9, 0, 20, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 17, 0, 16, 16, 15, 8, 8, 17, 0, 14, 14, 9, 15, 15, 16, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 17, 9, 15, 16, 8, 16, 15, 15, 0, 17, 16, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 0, 14, 14, 14, 7, 7, 14, 14, 0, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 14, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 0, 14, 14, 21, 7, 14, 14, 14, 14, 0, 14, 14, 14, 21, 21, 21, 14, 21, 21, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 21, 14, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 7, 0, 21, 0, 8, 8, 15, 8, 15, 9, 9, 7, 14, 0, 10, 10, 15, 18, 16, 8, 18, 14, 15, 10, 8, 14, 16, 9, 11, 8, 10, 15, 18, 8, 8, 0, 9, 9, 14, 7, 15, 17, 0, 15, 1, 15, 8, 0, 0, 8, 15, 9, 8, 8, 0, 17, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 0, 16, 15, 17, 15, 15, 17, 14, 15, 17, 15, 14, 15, 15, 10, 15, 17, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 17, 0, 14, 14, 14, 7, 7, 15, 15, 14, 14, 10, 16, 0, 14, 17, 15, 14, 17, 14, 14, 16, 14, 14, 15, 15, 10, 14, 16, 7, 17, 14, 14, 0, 15, 15, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 16, 14, 7, 0, 16, 0, 16, 16, 22, 8, 15, 16, 16, 14, 21, 15, 15, 14, 0, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 16, 8, 15, 18, 15, 22, 15, 15, 0, 16, 15, 14, 14, 15, 16, 0, 23, 8, 22, 15, 0, 1, 16, 22, 16, 16, 8, 0, 22, 0, 15, 15, 22, 8, 15, 16, 16, 14, 21, 18, 17, 17, 22, 0, 23, 15, 25, 21, 22, 17, 15, 21, 23, 16, 11, 15, 17, 15, 25, 15, 15, 0, 16, 16, 14, 14, 15, 17, 0, 22, 8, 22, 15, 0, 0, 15, 22, 16, 15, 8, 0, 24, 0, 15, 15, 22, 8, 15, 16, 16, 14, 21, 16, 15, 15, 22, 23, 0, 15, 23, 21, 22, 15, 15, 21, 23, 16, 9, 15, 15, 15, 23, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 0, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 15, 15, 22, 10, 15, 18, 16, 14, 21, 18, 17, 17, 22, 25, 23, 15, 0, 21, 22, 17, 17, 21, 23, 16, 11, 15, 17, 15, 25, 15, 15, 0, 16, 16, 14, 14, 15, 17, 0, 24, 8, 22, 15, 0, 0, 15, 22, 16, 15, 8, 0, 24, 0, 14, 14, 21, 7, 14, 14, 14, 14, 21, 14, 14, 14, 21, 21, 21, 14, 21, 0, 21, 14, 14, 21, 21, 14, 7, 14, 14, 14, 21, 14, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 7, 0, 21, 0, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 0, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 10, 17, 16, 15, 17, 15, 15, 17, 14, 15, 0, 15, 14, 15, 15, 10, 15, 17, 8, 17, 15, 15, 0, 15, 15, 7, 14, 8, 10, 0, 15, 8, 15, 15, 0, 0, 15, 15, 16, 15, 8, 0, 17, 0, 15, 15, 15, 10, 8, 17, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 17, 14, 15, 15, 0, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 17, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 14, 14, 21, 7, 14, 14, 14, 14, 21, 14, 14, 14, 21, 21, 21, 14, 21, 21, 21, 14, 14, 0, 21, 14, 7, 14, 14, 14, 21, 14, 14, 0, 14, 14, 14, 14, 14, 14, 0, 21, 7, 21, 14, 0, 0, 14, 21, 14, 14, 7, 0, 21, 0, 15, 15, 22, 8, 15, 16, 16, 14, 21, 16, 15, 15, 22, 23, 23, 15, 23, 21, 22, 15, 15, 21, 0, 16, 9, 15, 15, 15, 23, 15, 15, 0, 16, 16, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 0, 16, 16, 15, 8, 8, 17, 17, 14, 14, 9, 15, 15, 16, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 0, 9, 15, 16, 8, 16, 15, 15, 0, 17, 16, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 0, 8, 8, 8, 8, 8, 9, 9, 7, 7, 11, 10, 10, 8, 11, 9, 8, 11, 7, 8, 10, 8, 7, 9, 9, 0, 8, 10, 8, 11, 8, 8, 0, 9, 9, 7, 7, 8, 10, 0, 8, 1, 8, 8, 0, 0, 8, 8, 9, 8, 8, 0, 10, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 0, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 16, 16, 15, 8, 8, 16, 16, 14, 14, 10, 17, 16, 18, 17, 15, 15, 17, 14, 15, 17, 15, 14, 15, 16, 10, 15, 0, 8, 17, 15, 15, 0, 16, 15, 7, 14, 8, 11, 0, 16, 8, 15, 15, 0, 1, 16, 15, 18, 16, 8, 0, 17, 0, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 0, 15, 8, 8, 0, 8, 8, 14, 7, 15, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 0, 15, 15, 22, 8, 15, 16, 16, 14, 21, 18, 17, 17, 22, 25, 23, 15, 25, 21, 22, 17, 15, 21, 23, 16, 11, 15, 17, 15, 0, 15, 15, 0, 16, 16, 14, 14, 15, 17, 0, 22, 8, 22, 15, 0, 0, 15, 22, 16, 15, 8, 0, 24, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 0, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 0, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 15, 8, 8, 17, 17, 14, 14, 9, 15, 15, 16, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 17, 9, 15, 16, 8, 16, 15, 15, 0, 0, 16, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 16, 8, 0, 15, 0, 15, 15, 15, 8, 8, 16, 16, 14, 14, 9, 15, 15, 15, 16, 16, 15, 16, 14, 15, 15, 15, 14, 16, 16, 9, 15, 15, 8, 16, 15, 15, 0, 16, 0, 7, 14, 8, 8, 0, 15, 8, 15, 15, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 7, 7, 14, 7, 14, 7, 7, 7, 14, 14, 7, 7, 14, 14, 14, 7, 14, 14, 14, 7, 7, 14, 14, 7, 7, 7, 7, 14, 14, 7, 7, 0, 7, 7, 0, 7, 14, 14, 0, 14, 0, 14, 7, 0, 0, 7, 14, 7, 7, 7, 0, 14, 0, 14, 14, 14, 7, 7, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 7, 14, 14, 14, 0, 14, 14, 7, 0, 7, 7, 0, 14, 7, 14, 14, 0, 0, 14, 14, 14, 14, 7, 0, 14, 0, 8, 8, 15, 8, 15, 8, 8, 7, 14, 15, 8, 7, 15, 15, 15, 8, 15, 14, 15, 8, 8, 14, 15, 8, 8, 8, 8, 15, 15, 8, 8, 0, 8, 8, 14, 7, 0, 15, 0, 15, 1, 15, 8, 0, 0, 8, 15, 7, 8, 8, 0, 15, 0, 9, 9, 15, 8, 15, 9, 9, 7, 14, 17, 10, 9, 16, 17, 15, 8, 17, 14, 15, 10, 8, 14, 15, 9, 10, 8, 11, 15, 17, 8, 8, 0, 9, 8, 14, 7, 15, 0, 0, 16, 1, 15, 8, 0, 1, 9, 15, 9, 9, 8, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 22, 10, 15, 20, 16, 14, 21, 15, 15, 14, 23, 22, 22, 15, 24, 21, 22, 15, 17, 21, 22, 16, 8, 15, 16, 15, 22, 15, 15, 0, 16, 15, 14, 14, 15, 16, 0, 0, 8, 22, 15, 0, 1, 16, 22, 14, 16, 8, 0, 24, 0, 8, 8, 8, 1, 1, 8, 8, 7, 7, 1, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 1, 8, 8, 1, 8, 8, 8, 0, 8, 8, 0, 7, 1, 1, 0, 8, 0, 8, 8, 0, 0, 8, 8, 7, 8, 1, 0, 8, 0, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 0, 15, 0, 0, 15, 22, 14, 15, 8, 0, 22, 0, 15, 15, 15, 8, 8, 15, 15, 14, 14, 8, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 8, 15, 15, 8, 15, 15, 15, 0, 15, 15, 7, 14, 8, 8, 0, 15, 8, 15, 0, 0, 0, 15, 15, 14, 15, 8, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 16, 16, 15, 8, 8, 16, 16, 14, 14, 8, 15, 14, 16, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 16, 8, 15, 16, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 0, 15, 14, 16, 8, 0, 15, 0, 15, 15, 22, 8, 15, 15, 15, 14, 21, 15, 15, 14, 22, 22, 22, 15, 22, 21, 22, 15, 15, 21, 22, 15, 8, 15, 15, 15, 22, 15, 15, 0, 15, 15, 14, 14, 15, 15, 0, 22, 8, 22, 15, 0, 0, 15, 0, 14, 15, 8, 0, 22, 0, 14, 14, 14, 7, 7, 14, 14, 14, 14, 9, 16, 16, 16, 16, 14, 14, 16, 14, 14, 16, 14, 14, 14, 14, 9, 14, 18, 7, 16, 14, 14, 0, 14, 14, 7, 14, 7, 9, 0, 14, 7, 14, 14, 0, 0, 14, 14, 0, 14, 7, 0, 16, 0, 16, 16, 15, 8, 8, 16, 16, 14, 14, 8, 15, 14, 16, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 16, 8, 15, 16, 8, 15, 15, 15, 0, 16, 15, 7, 14, 8, 9, 0, 16, 8, 15, 15, 0, 1, 16, 15, 14, 0, 8, 0, 15, 0, 8, 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 7, 7, 8, 8, 0, 8, 1, 8, 8, 0, 0, 8, 8, 7, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 22, 8, 15, 17, 15, 14, 21, 17, 17, 16, 22, 24, 22, 15, 24, 21, 22, 17, 15, 21, 22, 15, 10, 15, 17, 15, 24, 15, 15, 0, 15, 15, 14, 14, 15, 17, 0, 24, 8, 22, 15, 0, 0, 15, 22, 16, 15, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} - -func PairAffinity(a, b CharacterID) int { - if _, ok := Characters[a]; !ok { - return 0 - } - if _, ok := Characters[b]; !ok { - return 0 - } - return int(pairAffinity[a*53+b]) -} - -func TrioAffinity(a, b, c CharacterID) int { - if _, ok := Characters[a]; !ok { - return 0 - } - if _, ok := Characters[b]; !ok { - return 0 - } - if _, ok := Characters[c]; !ok { - return 0 - } - return int(trioAffinity[a*53*53+b*53+c]) -} diff --git a/horse/global/character.kk b/horse/global/character.kk deleted file mode 100644 index 62d6978..0000000 --- a/horse/global/character.kk +++ /dev/null @@ -1,164 +0,0 @@ -module horse/global/character - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import std/data/rb-map -import horse/game-id -pub import horse/character - -extern create-id-table(): vector - c inline "int32_t arr[] = {1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1030,1032,1033,1034,1035,1037,1038,1039,1040,1041,1044,1045,1046,1048,1050,1051,1052,1056,1058,1059,1060,1061,1068,1069,1071,};\nkk_vector_from_cint32array(arr, (kk_ssize_t)53, kk_context())" - js inline "[1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1030,1032,1033,1034,1035,1037,1038,1039,1040,1041,1044,1045,1046,1048,1050,1051,1052,1056,1058,1059,1060,1061,1068,1069,1071,]" -// Vector of all character ID values in order for easy iterating. -pub val all = once(create-id-table) - -val name2id = once() - var m: rbmap := empty() - all().foreach() fn(id) m := m.set(Character-id(id).show, id) - m - -// Get the character ID that has the given exact name. -// If no character matches the name, the result is an invalid ID. -pub fun from-name(name: string): character-id - Character-id(name2id().rb-map/lookup(name).default(0)) - -// Get the name for a character. -// If no character matches the ID, the result is the numeric ID. -pub fun show(c: character-id): string - match c.game-id - 1001 -> "Special Week" - 1002 -> "Silence Suzuka" - 1003 -> "Tokai Teio" - 1004 -> "Maruzensky" - 1005 -> "Fuji Kiseki" - 1006 -> "Oguri Cap" - 1007 -> "Gold Ship" - 1008 -> "Vodka" - 1009 -> "Daiwa Scarlet" - 1010 -> "Taiki Shuttle" - 1011 -> "Grass Wonder" - 1012 -> "Hishi Amazon" - 1013 -> "Mejiro McQueen" - 1014 -> "El Condor Pasa" - 1015 -> "T.M. Opera O" - 1016 -> "Narita Brian" - 1017 -> "Symboli Rudolf" - 1018 -> "Air Groove" - 1019 -> "Agnes Digital" - 1020 -> "Seiun Sky" - 1021 -> "Tamamo Cross" - 1022 -> "Fine Motion" - 1023 -> "Biwa Hayahide" - 1024 -> "Mayano Top Gun" - 1025 -> "Manhattan Cafe" - 1026 -> "Mihono Bourbon" - 1027 -> "Mejiro Ryan" - 1028 -> "Hishi Akebono" - 1030 -> "Rice Shower" - 1032 -> "Agnes Tachyon" - 1033 -> "Admire Vega" - 1034 -> "Inari One" - 1035 -> "Winning Ticket" - 1037 -> "Eishin Flash" - 1038 -> "Curren Chan" - 1039 -> "Kawakami Princess" - 1040 -> "Gold City" - 1041 -> "Sakura Bakushin O" - 1044 -> "Sweep Tosho" - 1045 -> "Super Creek" - 1046 -> "Smart Falcon" - 1048 -> "Tosen Jordan" - 1050 -> "Narita Taishin" - 1051 -> "Nishino Flower" - 1052 -> "Haru Urara" - 1056 -> "Matikanefukukitaru" - 1058 -> "Meisho Doto" - 1059 -> "Mejiro Dober" - 1060 -> "Nice Nature" - 1061 -> "King Halo" - 1068 -> "Kitasan Black" - 1069 -> "Sakura Chiyono O" - 1071 -> "Mejiro Ardan" - x -> "character " ++ x.show - -fun character/index(c: character-id): int - match c.game-id - 1001 -> 0 - 1002 -> 1 - 1003 -> 2 - 1004 -> 3 - 1005 -> 4 - 1006 -> 5 - 1007 -> 6 - 1008 -> 7 - 1009 -> 8 - 1010 -> 9 - 1011 -> 10 - 1012 -> 11 - 1013 -> 12 - 1014 -> 13 - 1015 -> 14 - 1016 -> 15 - 1017 -> 16 - 1018 -> 17 - 1019 -> 18 - 1020 -> 19 - 1021 -> 20 - 1022 -> 21 - 1023 -> 22 - 1024 -> 23 - 1025 -> 24 - 1026 -> 25 - 1027 -> 26 - 1028 -> 27 - 1030 -> 28 - 1032 -> 29 - 1033 -> 30 - 1034 -> 31 - 1035 -> 32 - 1037 -> 33 - 1038 -> 34 - 1039 -> 35 - 1040 -> 36 - 1041 -> 37 - 1044 -> 38 - 1045 -> 39 - 1046 -> 40 - 1048 -> 41 - 1050 -> 42 - 1051 -> 43 - 1052 -> 44 - 1056 -> 45 - 1058 -> 46 - 1059 -> 47 - 1060 -> 48 - 1061 -> 49 - 1068 -> 50 - 1069 -> 51 - 1071 -> 52 - _ -> -99999999 - -// Create the table of all pair affinities. -// The affinity is the value at a.index*count + b.index. -extern global/create-pair-table(): vector - c inline "int32_t arr[] = {0,23,20,11,11,25,26,26,17,9,31,14,27,25,31,33,26,18,19,30,27,17,25,26,24,18,24,12,23,25,18,0,27,26,10,25,11,9,0,29,10,18,17,0,7,28,20,22,35,24,0,17,17,23,0,18,17,11,18,19,16,17,14,18,15,20,17,19,18,16,18,18,22,19,19,18,26,11,26,18,10,17,20,17,0,18,17,10,16,13,13,0,20,17,19,17,0,3,27,19,18,19,11,0,18,17,20,18,0,9,19,18,20,24,30,17,17,14,31,24,27,21,28,26,26,17,18,23,25,20,10,20,17,17,25,21,19,0,19,18,18,17,18,17,0,24,12,25,19,0,3,17,24,14,21,13,0,24,22,11,17,9,0,17,18,9,15,17,24,17,7,8,17,8,11,11,9,17,16,12,7,9,15,9,30,8,16,10,10,9,0,10,9,14,14,15,16,0,11,16,9,9,0,7,10,8,14,8,16,0,18,10,11,11,19,17,0,17,12,17,23,22,16,11,19,22,18,13,16,19,24,9,10,17,19,11,9,19,12,18,15,12,12,0,12,12,17,16,26,16,0,18,13,17,12,0,2,11,18,15,12,11,0,24,16,25,18,18,18,17,0,20,31,24,18,30,15,18,23,20,25,19,16,26,15,24,17,18,20,17,24,25,10,16,24,17,0,26,26,10,30,18,9,0,26,17,17,17,0,3,25,18,29,26,17,0,25,22,26,19,20,9,12,20,0,16,18,9,17,24,31,17,29,29,28,19,18,24,34,16,31,30,19,18,19,11,25,18,26,0,22,21,9,17,10,9,0,28,13,18,27,0,11,19,18,14,26,11,0,16,17,26,16,24,15,17,31,16,0,34,16,29,16,21,23,18,24,17,20,27,15,17,17,16,16,14,25,22,9,15,25,17,0,24,25,12,31,17,8,0,17,18,17,16,0,3,23,16,30,24,18,0,23,14,17,17,30,17,23,24,18,34,0,22,23,16,28,30,24,18,24,27,34,14,18,26,24,17,8,23,14,17,22,17,16,0,17,17,19,26,23,15,0,25,17,25,16,0,4,17,23,24,16,11,0,30,21,9,14,17,24,22,18,9,16,22,0,19,10,16,27,17,8,20,16,24,10,8,17,16,9,13,24,11,23,21,11,8,0,9,9,23,14,25,29,0,16,8,17,8,0,7,15,16,22,9,17,0,28,19,31,18,17,17,16,30,17,29,23,19,0,16,16,35,19,24,19,16,22,24,16,14,16,18,18,23,25,10,18,23,15,0,22,22,7,30,15,10,0,15,15,15,15,0,3,23,18,30,24,23,0,27,17,14,15,14,7,11,15,24,16,16,10,16,0,14,17,15,17,17,17,14,16,21,16,17,15,10,14,18,7,17,14,23,0,17,17,8,15,7,9,0,14,9,14,23,0,8,14,14,19,14,7,0,16,17,27,20,31,8,19,18,31,21,28,16,16,14,0,22,33,26,31,25,26,24,27,25,35,28,18,18,22,17,33,19,18,0,19,17,18,17,18,18,0,34,12,25,18,0,4,19,25,16,27,14,0,22,25,25,17,24,17,22,23,17,23,30,27,35,17,22,0,26,15,27,23,29,24,15,22,23,16,11,22,17,17,26,16,15,0,16,16,14,23,22,17,0,23,16,22,15,0,2,16,24,23,17,15,0,33,25,31,19,27,8,18,20,29,18,24,17,19,15,33,26,0,27,35,24,25,26,27,23,36,29,19,18,16,19,32,19,19,0,18,19,16,18,17,16,0,33,10,25,19,0,5,17,28,14,26,12,0,22,23,33,18,21,11,13,25,29,24,18,8,24,17,26,15,27,0,29,20,18,24,25,17,27,26,24,20,25,10,23,25,20,0,27,27,10,23,11,8,0,27,12,17,20,0,2,27,18,22,32,17,0,18,16,26,16,28,11,16,19,28,17,24,20,19,17,31,27,35,29,0,25,22,26,26,21,33,26,22,17,17,15,36,18,17,0,18,17,14,15,15,17,0,33,9,23,17,0,1,16,22,16,22,10,0,26,27,18,18,26,9,19,16,19,20,27,16,16,17,25,23,24,20,25,0,24,15,17,26,25,16,7,17,17,16,22,18,18,0,19,19,17,18,17,17,0,25,13,25,18,0,3,17,23,16,17,12,0,23,21,19,18,26,17,24,26,18,27,34,24,22,14,26,29,25,18,22,24,0,15,19,24,24,17,8,24,15,17,22,19,17,0,17,18,18,23,24,15,0,27,25,25,17,0,9,18,24,21,17,10,0,30,22,30,22,17,16,9,15,24,15,14,10,24,16,24,24,26,24,26,15,15,0,22,14,23,30,18,24,19,10,25,17,15,0,15,15,8,16,10,11,0,24,16,15,16,0,2,16,18,17,26,15,0,18,18,27,19,18,12,10,24,34,17,18,8,16,21,27,15,27,25,26,17,19,22,0,16,26,26,16,17,16,10,23,17,24,0,17,18,9,16,11,9,0,33,11,18,24,0,9,18,18,14,24,10,0,16,17,17,19,23,7,17,17,16,17,26,17,14,16,25,22,23,17,21,26,24,14,16,0,23,16,10,18,14,18,24,19,18,1,16,17,18,19,18,16,1,23,9,26,16,1,3,18,24,20,16,11,0,23,21,25,18,25,9,19,18,31,16,24,16,16,17,35,23,36,27,33,25,24,23,26,23,0,28,18,17,18,17,32,17,19,0,26,20,16,16,17,16,0,34,13,24,25,0,2,18,25,14,24,10,0,23,23,26,26,20,15,11,20,30,16,17,9,18,15,28,16,29,26,26,16,17,30,26,16,28,0,19,24,17,11,25,17,17,0,20,18,9,16,10,9,0,27,17,17,17,0,3,19,18,14,25,10,0,15,17,24,11,10,9,9,17,19,14,8,13,18,10,18,11,19,24,22,7,8,18,16,10,18,19,0,10,18,8,23,19,8,0,16,16,8,14,11,12,0,18,1,10,8,0,0,19,9,19,23,15,0,13,12,18,26,20,30,19,24,18,25,23,24,23,14,18,22,18,20,17,17,24,24,17,18,17,24,10,0,16,17,18,21,18,0,18,18,16,23,20,19,0,17,25,19,18,0,9,19,17,23,18,18,0,26,15,24,18,17,8,12,25,19,22,14,11,25,18,22,17,16,25,17,17,15,19,16,14,18,17,18,16,0,8,19,24,18,0,25,24,7,21,9,14,0,16,11,15,18,0,1,23,16,25,25,16,0,17,20,12,10,17,16,18,10,11,9,17,23,10,7,17,17,19,10,15,16,17,10,10,18,17,11,8,17,8,0,15,10,11,1,10,10,25,12,17,23,1,18,4,18,10,1,11,10,20,8,12,19,0,18,15,23,17,25,10,15,16,25,15,22,21,18,17,33,26,32,23,36,22,22,25,23,24,32,25,23,18,19,15,0,18,15,0,16,16,15,14,18,21,0,32,8,24,15,0,2,19,23,19,24,9,0,28,26,25,20,21,10,12,24,18,25,17,11,23,14,19,16,19,25,18,18,19,17,17,19,17,17,19,21,24,10,18,0,17,0,24,24,10,23,14,11,0,18,11,19,18,0,3,27,18,24,26,19,0,19,16,18,17,19,9,12,17,26,17,16,8,15,23,18,15,19,20,17,18,17,15,24,18,19,17,8,18,18,11,15,17,0,1,20,20,13,17,11,8,1,18,12,18,26,1,10,18,20,16,18,10,0,17,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,27,18,19,10,12,26,22,24,17,9,22,17,19,16,18,27,18,19,17,15,17,16,26,20,16,18,25,10,16,24,20,0,0,28,9,23,10,10,0,19,13,19,25,0,3,25,17,21,25,17,0,17,17,26,17,18,9,12,26,21,25,17,9,22,17,17,16,19,27,17,19,18,15,18,17,20,18,16,18,24,10,16,24,20,0,28,0,10,23,10,8,0,19,15,18,19,0,2,24,17,21,24,17,0,17,16,10,10,18,14,17,10,9,12,19,23,7,8,18,14,16,10,14,17,18,8,9,18,16,9,8,16,7,25,15,10,13,1,9,10,0,11,16,23,1,16,2,17,10,1,10,9,17,9,9,17,0,14,14,25,16,17,14,16,30,17,31,26,14,30,15,17,23,18,23,15,18,23,16,16,19,16,16,14,23,21,12,14,23,17,1,23,23,11,0,16,7,1,16,17,17,17,1,5,23,19,32,25,18,0,21,14,11,13,18,15,26,18,10,17,23,25,15,7,18,22,17,11,15,17,24,10,11,18,17,10,11,20,9,17,18,14,11,0,10,10,16,16,0,19,0,17,11,19,11,0,2,12,17,16,11,11,0,24,15,9,13,17,16,16,9,9,8,15,29,10,9,18,17,16,8,17,17,15,11,9,16,16,9,12,19,14,23,21,11,8,0,10,8,23,7,19,0,0,17,2,19,8,0,10,13,16,12,12,16,0,22,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,29,20,24,11,18,26,28,17,25,16,15,14,34,23,33,27,33,25,27,24,33,23,34,27,18,17,16,18,32,18,18,0,19,19,16,16,17,17,0,0,11,26,20,0,3,21,24,14,25,10,0,24,27,10,17,12,16,13,17,13,18,17,8,15,9,12,16,10,12,9,13,25,16,11,9,13,17,1,25,11,4,8,11,12,0,13,15,2,17,11,2,0,11,0,11,12,0,10,10,10,14,11,5,0,16,8,18,19,25,9,17,17,18,17,25,17,15,14,25,22,25,17,23,25,25,15,18,26,24,17,10,19,15,18,24,19,18,1,19,18,17,17,19,19,1,26,11,0,17,1,2,19,25,17,17,10,0,25,22,17,17,19,9,12,17,27,16,16,8,15,23,18,15,19,20,17,18,17,16,24,16,25,17,8,18,18,10,15,18,26,0,25,19,10,17,11,8,0,20,12,17,0,0,10,17,18,15,18,11,0,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,7,3,3,7,2,3,11,3,4,7,3,8,4,2,5,2,1,3,9,2,9,3,2,3,0,9,1,11,2,3,10,0,3,2,10,5,2,10,0,3,10,2,10,0,0,3,5,1,5,13,0,1,1,28,27,17,10,11,25,19,23,17,15,23,14,19,16,17,27,16,17,18,16,18,18,18,19,19,19,23,10,19,27,18,0,25,24,9,23,12,13,0,21,10,19,17,0,3,0,17,24,25,18,0,18,16,20,19,24,8,18,18,18,16,23,16,18,14,25,24,28,18,22,23,24,18,18,24,25,18,9,17,16,20,23,18,20,1,17,17,17,19,17,16,1,24,10,25,18,1,5,17,0,15,19,12,0,22,22,22,18,14,14,15,29,14,30,24,22,30,19,16,23,14,22,16,16,21,17,14,20,14,14,19,23,25,8,19,24,16,1,21,21,9,32,16,12,1,14,14,17,15,1,1,24,15,0,21,14,0,25,18,35,19,21,8,12,26,26,24,16,9,24,14,27,17,26,32,22,17,17,26,24,16,24,25,23,18,25,12,24,26,18,0,25,24,9,25,11,12,0,25,11,17,18,0,5,25,19,21,0,20,0,15,16,24,11,13,16,11,17,11,18,11,17,23,7,14,15,12,17,10,12,10,15,10,11,10,10,15,18,16,19,9,19,10,0,17,17,17,18,11,16,0,10,5,10,11,0,13,18,12,14,20,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,18,24,18,24,25,16,23,30,28,27,16,22,33,22,18,26,23,30,18,16,23,23,15,13,26,17,18,28,19,17,0,17,17,14,21,24,22,0,24,16,25,16,0,1,18,22,25,15,9,0,0,29,17,17,22,10,16,22,17,14,21,19,17,17,25,25,23,16,27,21,22,18,17,21,23,17,12,15,20,15,26,16,16,0,17,16,14,14,15,19,0,27,8,22,16,0,1,16,22,18,16,8,0,29,0,};\nkk_vector_from_cint32array(arr, (kk_ssize_t)53 * (kk_ssize_t)53, kk_context())" - js inline "[0,23,20,11,11,25,26,26,17,9,31,14,27,25,31,33,26,18,19,30,27,17,25,26,24,18,24,12,23,25,18,0,27,26,10,25,11,9,0,29,10,18,17,0,7,28,20,22,35,24,0,17,17,23,0,18,17,11,18,19,16,17,14,18,15,20,17,19,18,16,18,18,22,19,19,18,26,11,26,18,10,17,20,17,0,18,17,10,16,13,13,0,20,17,19,17,0,3,27,19,18,19,11,0,18,17,20,18,0,9,19,18,20,24,30,17,17,14,31,24,27,21,28,26,26,17,18,23,25,20,10,20,17,17,25,21,19,0,19,18,18,17,18,17,0,24,12,25,19,0,3,17,24,14,21,13,0,24,22,11,17,9,0,17,18,9,15,17,24,17,7,8,17,8,11,11,9,17,16,12,7,9,15,9,30,8,16,10,10,9,0,10,9,14,14,15,16,0,11,16,9,9,0,7,10,8,14,8,16,0,18,10,11,11,19,17,0,17,12,17,23,22,16,11,19,22,18,13,16,19,24,9,10,17,19,11,9,19,12,18,15,12,12,0,12,12,17,16,26,16,0,18,13,17,12,0,2,11,18,15,12,11,0,24,16,25,18,18,18,17,0,20,31,24,18,30,15,18,23,20,25,19,16,26,15,24,17,18,20,17,24,25,10,16,24,17,0,26,26,10,30,18,9,0,26,17,17,17,0,3,25,18,29,26,17,0,25,22,26,19,20,9,12,20,0,16,18,9,17,24,31,17,29,29,28,19,18,24,34,16,31,30,19,18,19,11,25,18,26,0,22,21,9,17,10,9,0,28,13,18,27,0,11,19,18,14,26,11,0,16,17,26,16,24,15,17,31,16,0,34,16,29,16,21,23,18,24,17,20,27,15,17,17,16,16,14,25,22,9,15,25,17,0,24,25,12,31,17,8,0,17,18,17,16,0,3,23,16,30,24,18,0,23,14,17,17,30,17,23,24,18,34,0,22,23,16,28,30,24,18,24,27,34,14,18,26,24,17,8,23,14,17,22,17,16,0,17,17,19,26,23,15,0,25,17,25,16,0,4,17,23,24,16,11,0,30,21,9,14,17,24,22,18,9,16,22,0,19,10,16,27,17,8,20,16,24,10,8,17,16,9,13,24,11,23,21,11,8,0,9,9,23,14,25,29,0,16,8,17,8,0,7,15,16,22,9,17,0,28,19,31,18,17,17,16,30,17,29,23,19,0,16,16,35,19,24,19,16,22,24,16,14,16,18,18,23,25,10,18,23,15,0,22,22,7,30,15,10,0,15,15,15,15,0,3,23,18,30,24,23,0,27,17,14,15,14,7,11,15,24,16,16,10,16,0,14,17,15,17,17,17,14,16,21,16,17,15,10,14,18,7,17,14,23,0,17,17,8,15,7,9,0,14,9,14,23,0,8,14,14,19,14,7,0,16,17,27,20,31,8,19,18,31,21,28,16,16,14,0,22,33,26,31,25,26,24,27,25,35,28,18,18,22,17,33,19,18,0,19,17,18,17,18,18,0,34,12,25,18,0,4,19,25,16,27,14,0,22,25,25,17,24,17,22,23,17,23,30,27,35,17,22,0,26,15,27,23,29,24,15,22,23,16,11,22,17,17,26,16,15,0,16,16,14,23,22,17,0,23,16,22,15,0,2,16,24,23,17,15,0,33,25,31,19,27,8,18,20,29,18,24,17,19,15,33,26,0,27,35,24,25,26,27,23,36,29,19,18,16,19,32,19,19,0,18,19,16,18,17,16,0,33,10,25,19,0,5,17,28,14,26,12,0,22,23,33,18,21,11,13,25,29,24,18,8,24,17,26,15,27,0,29,20,18,24,25,17,27,26,24,20,25,10,23,25,20,0,27,27,10,23,11,8,0,27,12,17,20,0,2,27,18,22,32,17,0,18,16,26,16,28,11,16,19,28,17,24,20,19,17,31,27,35,29,0,25,22,26,26,21,33,26,22,17,17,15,36,18,17,0,18,17,14,15,15,17,0,33,9,23,17,0,1,16,22,16,22,10,0,26,27,18,18,26,9,19,16,19,20,27,16,16,17,25,23,24,20,25,0,24,15,17,26,25,16,7,17,17,16,22,18,18,0,19,19,17,18,17,17,0,25,13,25,18,0,3,17,23,16,17,12,0,23,21,19,18,26,17,24,26,18,27,34,24,22,14,26,29,25,18,22,24,0,15,19,24,24,17,8,24,15,17,22,19,17,0,17,18,18,23,24,15,0,27,25,25,17,0,9,18,24,21,17,10,0,30,22,30,22,17,16,9,15,24,15,14,10,24,16,24,24,26,24,26,15,15,0,22,14,23,30,18,24,19,10,25,17,15,0,15,15,8,16,10,11,0,24,16,15,16,0,2,16,18,17,26,15,0,18,18,27,19,18,12,10,24,34,17,18,8,16,21,27,15,27,25,26,17,19,22,0,16,26,26,16,17,16,10,23,17,24,0,17,18,9,16,11,9,0,33,11,18,24,0,9,18,18,14,24,10,0,16,17,17,19,23,7,17,17,16,17,26,17,14,16,25,22,23,17,21,26,24,14,16,0,23,16,10,18,14,18,24,19,18,1,16,17,18,19,18,16,1,23,9,26,16,1,3,18,24,20,16,11,0,23,21,25,18,25,9,19,18,31,16,24,16,16,17,35,23,36,27,33,25,24,23,26,23,0,28,18,17,18,17,32,17,19,0,26,20,16,16,17,16,0,34,13,24,25,0,2,18,25,14,24,10,0,23,23,26,26,20,15,11,20,30,16,17,9,18,15,28,16,29,26,26,16,17,30,26,16,28,0,19,24,17,11,25,17,17,0,20,18,9,16,10,9,0,27,17,17,17,0,3,19,18,14,25,10,0,15,17,24,11,10,9,9,17,19,14,8,13,18,10,18,11,19,24,22,7,8,18,16,10,18,19,0,10,18,8,23,19,8,0,16,16,8,14,11,12,0,18,1,10,8,0,0,19,9,19,23,15,0,13,12,18,26,20,30,19,24,18,25,23,24,23,14,18,22,18,20,17,17,24,24,17,18,17,24,10,0,16,17,18,21,18,0,18,18,16,23,20,19,0,17,25,19,18,0,9,19,17,23,18,18,0,26,15,24,18,17,8,12,25,19,22,14,11,25,18,22,17,16,25,17,17,15,19,16,14,18,17,18,16,0,8,19,24,18,0,25,24,7,21,9,14,0,16,11,15,18,0,1,23,16,25,25,16,0,17,20,12,10,17,16,18,10,11,9,17,23,10,7,17,17,19,10,15,16,17,10,10,18,17,11,8,17,8,0,15,10,11,1,10,10,25,12,17,23,1,18,4,18,10,1,11,10,20,8,12,19,0,18,15,23,17,25,10,15,16,25,15,22,21,18,17,33,26,32,23,36,22,22,25,23,24,32,25,23,18,19,15,0,18,15,0,16,16,15,14,18,21,0,32,8,24,15,0,2,19,23,19,24,9,0,28,26,25,20,21,10,12,24,18,25,17,11,23,14,19,16,19,25,18,18,19,17,17,19,17,17,19,21,24,10,18,0,17,0,24,24,10,23,14,11,0,18,11,19,18,0,3,27,18,24,26,19,0,19,16,18,17,19,9,12,17,26,17,16,8,15,23,18,15,19,20,17,18,17,15,24,18,19,17,8,18,18,11,15,17,0,1,20,20,13,17,11,8,1,18,12,18,26,1,10,18,20,16,18,10,0,17,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,27,18,19,10,12,26,22,24,17,9,22,17,19,16,18,27,18,19,17,15,17,16,26,20,16,18,25,10,16,24,20,0,0,28,9,23,10,10,0,19,13,19,25,0,3,25,17,21,25,17,0,17,17,26,17,18,9,12,26,21,25,17,9,22,17,17,16,19,27,17,19,18,15,18,17,20,18,16,18,24,10,16,24,20,0,28,0,10,23,10,8,0,19,15,18,19,0,2,24,17,21,24,17,0,17,16,10,10,18,14,17,10,9,12,19,23,7,8,18,14,16,10,14,17,18,8,9,18,16,9,8,16,7,25,15,10,13,1,9,10,0,11,16,23,1,16,2,17,10,1,10,9,17,9,9,17,0,14,14,25,16,17,14,16,30,17,31,26,14,30,15,17,23,18,23,15,18,23,16,16,19,16,16,14,23,21,12,14,23,17,1,23,23,11,0,16,7,1,16,17,17,17,1,5,23,19,32,25,18,0,21,14,11,13,18,15,26,18,10,17,23,25,15,7,18,22,17,11,15,17,24,10,11,18,17,10,11,20,9,17,18,14,11,0,10,10,16,16,0,19,0,17,11,19,11,0,2,12,17,16,11,11,0,24,15,9,13,17,16,16,9,9,8,15,29,10,9,18,17,16,8,17,17,15,11,9,16,16,9,12,19,14,23,21,11,8,0,10,8,23,7,19,0,0,17,2,19,8,0,10,13,16,12,12,16,0,22,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,29,20,24,11,18,26,28,17,25,16,15,14,34,23,33,27,33,25,27,24,33,23,34,27,18,17,16,18,32,18,18,0,19,19,16,16,17,17,0,0,11,26,20,0,3,21,24,14,25,10,0,24,27,10,17,12,16,13,17,13,18,17,8,15,9,12,16,10,12,9,13,25,16,11,9,13,17,1,25,11,4,8,11,12,0,13,15,2,17,11,2,0,11,0,11,12,0,10,10,10,14,11,5,0,16,8,18,19,25,9,17,17,18,17,25,17,15,14,25,22,25,17,23,25,25,15,18,26,24,17,10,19,15,18,24,19,18,1,19,18,17,17,19,19,1,26,11,0,17,1,2,19,25,17,17,10,0,25,22,17,17,19,9,12,17,27,16,16,8,15,23,18,15,19,20,17,18,17,16,24,16,25,17,8,18,18,10,15,18,26,0,25,19,10,17,11,8,0,20,12,17,0,0,10,17,18,15,18,11,0,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,7,3,3,7,2,3,11,3,4,7,3,8,4,2,5,2,1,3,9,2,9,3,2,3,0,9,1,11,2,3,10,0,3,2,10,5,2,10,0,3,10,2,10,0,0,3,5,1,5,13,0,1,1,28,27,17,10,11,25,19,23,17,15,23,14,19,16,17,27,16,17,18,16,18,18,18,19,19,19,23,10,19,27,18,0,25,24,9,23,12,13,0,21,10,19,17,0,3,0,17,24,25,18,0,18,16,20,19,24,8,18,18,18,16,23,16,18,14,25,24,28,18,22,23,24,18,18,24,25,18,9,17,16,20,23,18,20,1,17,17,17,19,17,16,1,24,10,25,18,1,5,17,0,15,19,12,0,22,22,22,18,14,14,15,29,14,30,24,22,30,19,16,23,14,22,16,16,21,17,14,20,14,14,19,23,25,8,19,24,16,1,21,21,9,32,16,12,1,14,14,17,15,1,1,24,15,0,21,14,0,25,18,35,19,21,8,12,26,26,24,16,9,24,14,27,17,26,32,22,17,17,26,24,16,24,25,23,18,25,12,24,26,18,0,25,24,9,25,11,12,0,25,11,17,18,0,5,25,19,21,0,20,0,15,16,24,11,13,16,11,17,11,18,11,17,23,7,14,15,12,17,10,12,10,15,10,11,10,10,15,18,16,19,9,19,10,0,17,17,17,18,11,16,0,10,5,10,11,0,13,18,12,14,20,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,18,24,18,24,25,16,23,30,28,27,16,22,33,22,18,26,23,30,18,16,23,23,15,13,26,17,18,28,19,17,0,17,17,14,21,24,22,0,24,16,25,16,0,1,18,22,25,15,9,0,0,29,17,17,22,10,16,22,17,14,21,19,17,17,25,25,23,16,27,21,22,18,17,21,23,17,12,15,20,15,26,16,16,0,17,16,14,14,15,19,0,27,8,22,16,0,1,16,22,18,16,8,0,29,0,]" -val global/pair-table = global/create-pair-table() - -// Base affinity between a pair using the global ruleset. -pub fun global/pair-affinity(a: character-id, b: character-id): int - global/pair-table.at(a.index * 53 + b.index).default(0) - -// Create the table of all trio affinities. -// The affinity is the value at a.index*count*count + b.index*count + c.index. -extern global/create-trio-table(): vector - c inline "int32_t arr[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,9,11,18,18,16,17,9,16,14,18,16,17,18,15,17,18,15,18,16,17,18,9,17,16,10,15,18,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,20,17,14,18,11,0,15,16,0,17,0,8,10,17,17,18,16,8,15,14,17,16,18,18,17,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,0,9,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,8,9,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,9,8,7,8,8,0,8,8,0,11,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,9,10,8,10,8,11,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,0,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,15,16,0,18,17,8,10,18,0,16,16,8,15,14,26,15,25,24,23,16,17,22,25,16,25,26,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,0,16,18,7,9,23,16,0,16,7,21,14,16,15,18,24,16,17,17,14,17,16,16,16,14,17,21,9,14,23,17,0,24,25,9,23,9,7,0,17,9,17,16,0,2,23,16,21,23,16,0,15,14,0,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,0,9,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,9,8,7,8,9,0,8,8,0,16,15,8,8,22,15,21,14,9,0,14,15,23,17,22,15,15,15,22,15,14,15,15,15,15,22,10,15,22,15,0,22,22,7,23,8,8,0,15,8,15,15,0,2,23,17,21,24,21,0,15,15,0,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,0,18,17,8,10,18,26,16,16,8,15,14,0,15,25,24,23,16,17,22,25,16,25,26,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,0,16,16,8,8,15,15,15,14,9,23,14,15,0,18,15,16,15,15,22,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,16,17,14,17,14,0,15,15,0,17,18,8,10,17,25,18,16,8,17,14,25,18,0,24,24,17,18,24,26,16,25,25,16,17,15,12,23,17,17,0,17,18,9,18,10,8,0,26,10,18,17,0,4,17,19,14,26,12,0,15,15,0,18,18,9,10,24,24,24,17,8,22,14,24,15,24,0,23,16,18,22,25,16,24,24,22,18,22,10,22,24,18,0,25,25,9,23,10,8,0,25,10,17,17,0,2,25,17,21,31,17,0,16,15,0,15,17,8,8,15,23,16,14,8,15,14,23,16,24,23,0,14,15,22,23,14,23,23,16,16,15,8,23,15,16,0,16,16,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,16,15,0,17,16,7,9,16,16,17,16,8,15,14,16,15,17,16,14,0,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,17,16,14,16,10,0,14,14,0,18,17,9,10,17,17,17,17,8,15,14,17,15,18,18,15,17,0,15,19,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,19,10,18,17,0,2,18,17,14,17,10,0,15,15,0,15,15,8,8,15,22,14,14,8,22,14,22,22,24,22,22,14,15,0,22,14,22,22,15,15,15,10,22,15,15,0,15,15,7,16,8,8,0,22,8,15,15,0,2,15,17,14,24,13,0,15,15,0,18,17,9,10,17,25,17,17,8,15,14,25,15,26,25,23,17,19,22,0,16,25,25,16,17,15,10,23,17,17,0,17,18,9,16,10,8,0,27,10,18,17,0,2,18,17,14,24,10,0,15,15,0,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,0,17,17,8,10,17,25,16,16,8,15,14,25,15,25,24,23,16,17,22,25,16,0,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,17,14,24,10,0,15,15,0,18,17,8,10,18,26,16,16,8,15,14,26,15,25,24,23,16,17,22,25,16,25,0,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,0,9,8,8,9,15,16,14,7,8,15,7,16,8,16,22,16,7,8,15,16,7,16,16,0,8,15,8,16,16,8,0,15,15,7,14,8,8,0,16,1,8,8,0,0,15,8,14,22,15,0,8,8,0,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,0,16,15,8,8,23,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,23,15,21,23,15,0,15,16,0,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,12,12,0,8,8,0,15,15,8,8,15,23,14,14,8,15,14,23,15,23,22,23,14,15,22,23,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,15,15,0,18,17,8,11,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,16,17,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,0,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,8,10,25,18,24,16,8,22,14,18,15,17,25,16,16,17,15,17,16,17,18,15,18,23,10,15,24,18,0,0,25,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,16,16,0,17,18,8,10,24,17,25,16,8,22,14,17,15,18,25,16,17,18,15,18,16,17,17,15,18,22,10,15,24,18,0,25,0,9,23,10,8,0,18,10,18,17,0,2,24,17,21,24,17,0,16,15,0,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,0,16,16,7,9,23,16,23,16,7,23,14,16,16,18,23,14,16,16,16,16,16,16,16,14,16,21,11,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,4,23,18,21,25,18,0,14,14,0,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,0,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,17,9,10,18,26,17,17,8,15,14,26,15,26,25,23,17,19,22,27,16,25,26,16,17,16,10,23,17,17,0,18,18,9,16,10,9,0,0,10,18,17,0,3,19,17,14,25,10,0,15,16,0,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,0,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,0,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,0,2,3,3,2,2,0,2,0,3,2,4,2,0,2,2,2,2,2,2,3,0,2,1,4,0,2,2,0,3,2,2,4,2,1,0,3,2,2,2,0,0,3,4,0,5,4,0,0,1,0,20,17,9,10,25,18,23,17,9,23,14,18,16,17,25,15,17,18,15,18,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,19,10,17,17,0,3,0,17,21,25,18,0,15,16,0,17,17,8,10,17,17,16,16,8,17,14,17,17,19,17,15,16,17,17,17,16,17,17,8,17,15,12,15,17,17,0,17,17,9,18,10,8,0,17,10,17,17,0,4,17,0,14,19,12,0,15,15,0,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,0,18,17,8,10,25,25,23,16,8,24,14,25,17,26,31,22,16,17,24,24,16,24,25,22,17,23,12,22,24,17,0,25,24,9,25,10,9,0,25,10,17,17,0,5,25,19,21,0,19,0,15,16,0,11,10,8,10,17,10,16,9,9,21,7,10,14,12,17,8,10,10,13,10,9,10,10,15,10,15,12,8,17,10,0,17,17,9,18,10,8,0,10,3,10,10,0,4,18,12,14,19,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,0,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,0,0,17,9,11,18,18,16,17,9,16,14,18,16,17,18,15,17,18,15,18,16,17,18,9,17,16,10,15,18,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,20,17,14,18,11,0,15,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,9,0,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,15,9,7,8,15,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,9,8,8,8,0,0,9,8,7,8,8,0,8,8,11,0,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,9,10,8,10,8,11,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,18,0,17,8,10,0,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,18,0,17,8,10,18,0,16,16,8,16,14,19,15,18,17,15,16,17,15,18,16,18,19,8,17,17,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,18,14,18,10,0,15,16,16,0,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,0,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,9,0,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,9,8,8,10,10,8,8,10,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,14,8,10,8,9,0,10,8,16,0,15,8,8,15,16,14,14,9,0,14,16,16,16,15,15,15,15,15,16,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,16,16,14,15,9,0,15,15,14,0,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,18,0,17,8,10,18,19,16,16,8,16,14,0,15,18,17,15,16,17,15,18,16,18,19,8,17,17,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,18,14,18,10,0,15,16,16,0,15,8,8,15,15,14,14,9,16,14,15,0,15,15,15,15,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,16,15,14,15,9,0,15,15,17,0,17,8,10,17,18,16,16,8,16,14,18,15,0,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,18,14,17,10,0,15,15,18,0,17,9,10,17,17,16,17,8,15,14,17,15,17,0,15,16,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,15,0,15,8,8,15,15,14,14,8,15,14,15,15,15,15,0,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,0,16,7,9,16,16,16,16,8,15,14,16,15,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,17,16,14,16,10,0,14,14,18,0,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,15,0,15,15,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,22,8,22,15,8,15,15,15,0,15,15,7,14,8,8,0,15,15,15,15,0,0,15,15,14,15,8,0,15,15,18,0,17,9,10,17,18,16,17,8,16,14,18,15,18,18,15,16,18,15,0,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,18,14,17,10,0,15,15,16,0,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,17,0,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,0,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,18,14,17,10,0,15,15,18,0,17,15,10,18,19,16,16,8,16,14,19,15,18,17,15,16,17,22,18,16,18,0,8,24,17,10,15,17,17,0,18,17,9,16,10,9,0,18,17,17,17,0,3,18,18,14,18,10,0,15,16,9,0,8,8,9,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,11,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,17,0,17,15,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,22,17,18,17,24,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,17,19,17,0,2,19,17,16,17,10,0,17,15,16,0,15,8,8,16,17,14,14,8,16,14,17,15,16,15,15,14,15,15,16,14,16,17,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,16,14,16,8,0,15,16,10,0,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,15,0,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,0,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,8,0,17,15,18,0,17,8,11,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,11,19,15,10,17,0,17,0,17,17,9,16,12,10,0,17,10,19,17,0,2,19,17,16,17,10,0,17,15,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,9,0,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,16,0,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,0,10,8,10,10,10,9,9,10,8,7,10,8,10,10,8,9,10,8,10,11,10,10,10,12,8,10,10,12,10,0,10,10,9,9,0,10,0,10,3,12,10,0,2,12,10,9,10,10,0,10,8,9,0,8,8,8,9,9,7,7,12,8,7,9,8,8,8,8,7,8,8,8,9,8,9,10,10,9,8,10,10,8,0,9,8,7,7,10,0,0,9,1,10,8,0,1,13,8,9,9,8,0,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,17,9,10,18,18,16,17,8,15,14,18,15,17,18,15,16,18,15,18,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,18,10,0,15,16,10,0,10,8,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,15,10,9,10,17,1,17,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,17,0,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,20,0,17,9,10,18,18,16,17,14,16,14,18,16,17,18,15,17,18,15,18,18,17,18,10,19,16,10,17,19,17,0,18,17,9,16,12,13,0,19,10,19,17,0,3,0,17,17,18,11,0,17,16,17,0,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,14,0,14,7,7,14,14,14,14,10,14,14,14,14,14,14,14,14,14,14,14,16,14,14,9,16,14,7,16,16,14,0,14,14,7,14,9,9,0,14,7,16,14,0,0,17,14,0,14,7,0,16,14,18,0,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,0,10,0,15,16,11,0,10,8,10,10,10,9,9,9,9,7,10,9,10,10,8,10,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,11,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,17,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,8,0,0,15,16,0,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,0,17,0,8,10,17,17,18,16,8,15,14,17,16,18,18,17,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,17,0,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,10,10,0,8,0,10,10,10,16,15,8,7,18,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,18,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,17,17,0,8,10,0,18,16,17,8,16,14,17,15,18,18,16,16,17,15,17,16,17,18,9,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,0,8,10,18,0,16,17,8,16,14,17,15,19,19,17,16,17,16,17,16,17,18,9,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,18,16,0,8,10,16,16,0,21,8,15,14,21,16,17,17,17,18,18,15,16,16,16,16,7,18,15,9,15,18,17,0,17,17,11,16,10,8,0,16,10,16,16,0,2,16,16,14,17,11,0,16,14,16,16,0,8,16,17,17,21,0,15,16,14,27,22,24,17,23,24,25,14,16,23,23,17,8,16,14,16,22,17,16,0,16,16,18,16,16,14,0,23,9,23,16,0,2,16,23,14,16,10,0,22,21,8,8,0,9,15,8,8,8,15,0,9,7,15,16,15,8,16,15,15,8,8,14,15,8,8,8,8,15,16,9,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,9,0,16,15,15,15,0,9,8,16,16,15,16,9,0,14,15,16,16,16,17,15,15,15,15,14,15,16,9,15,15,8,16,16,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,9,0,16,15,14,14,0,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,17,17,0,8,18,17,17,21,27,15,15,14,0,22,24,17,22,24,26,16,17,23,24,17,8,18,17,17,23,18,17,0,17,17,18,16,18,17,0,24,11,24,17,0,2,17,24,14,19,11,0,22,22,16,15,0,9,15,15,15,16,22,16,16,14,22,0,23,15,24,22,22,15,15,21,22,15,8,15,15,15,23,16,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,9,0,23,22,18,17,0,8,17,18,19,17,24,15,16,14,24,23,0,19,25,23,24,16,17,23,24,18,9,18,15,17,22,18,17,0,17,17,16,16,17,15,0,24,10,24,18,0,2,17,24,14,17,10,0,22,22,18,17,0,8,10,18,19,17,17,8,16,14,17,15,19,0,18,16,17,16,17,16,17,18,9,19,15,10,15,18,18,0,18,18,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,16,15,17,15,0,9,15,16,17,17,23,16,17,14,22,24,25,18,0,22,22,16,15,21,22,16,9,17,15,15,23,17,16,0,16,16,14,14,15,15,0,22,8,22,16,0,0,15,22,14,15,9,0,24,22,16,16,0,8,17,16,16,18,24,15,15,14,24,22,23,16,22,0,23,15,16,23,23,16,7,17,15,16,22,18,16,0,16,16,16,16,17,15,0,23,10,23,16,0,2,16,23,14,17,11,0,22,21,17,17,0,8,17,17,17,18,25,15,15,14,26,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,18,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,15,15,0,8,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,15,8,17,16,8,15,17,15,0,15,15,7,14,9,9,0,15,9,15,16,0,0,15,15,14,16,9,0,15,15,17,17,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,16,16,0,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,17,17,0,8,10,18,18,16,17,8,16,14,17,15,18,18,16,16,17,15,17,16,17,0,9,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,8,8,0,8,8,9,9,7,8,8,9,7,8,8,9,9,9,7,8,8,8,7,8,9,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,18,17,0,8,11,17,18,18,16,8,15,14,18,15,18,19,17,17,17,17,17,16,17,17,8,0,16,10,15,19,18,0,18,18,9,16,11,9,0,17,11,17,18,0,2,17,17,14,18,11,0,16,15,15,15,0,8,9,15,15,15,14,8,15,14,17,15,15,15,15,15,15,16,15,14,15,15,8,16,0,8,16,16,15,0,15,15,7,14,9,10,0,15,9,15,15,0,0,15,15,14,17,9,0,15,15,10,10,0,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,15,15,0,9,15,15,15,15,22,16,16,14,23,23,22,15,23,22,22,15,15,21,22,15,8,15,16,15,0,16,15,0,15,15,14,14,15,16,0,22,8,22,15,0,0,15,22,14,16,9,0,23,22,17,17,0,9,11,17,18,18,17,9,16,14,18,16,18,18,17,18,17,17,17,16,17,17,8,19,16,10,16,0,17,0,17,17,9,16,11,9,0,17,11,17,18,0,2,17,17,14,18,12,0,16,15,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,9,9,0,7,16,9,9,11,18,14,7,7,18,14,16,9,14,16,18,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,0,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,0,8,18,10,10,10,16,15,8,7,18,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,0,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,8,8,0,8,16,8,8,8,14,15,8,7,17,15,15,8,15,15,15,9,8,14,15,8,8,9,10,15,16,9,8,0,8,8,14,7,16,0,0,15,2,15,8,0,0,8,15,7,10,9,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,17,24,14,17,10,0,22,22,10,10,0,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,0,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,17,17,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,14,14,0,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,17,17,0,8,11,17,17,17,16,8,15,14,19,15,17,17,15,17,17,16,17,16,17,17,8,18,17,10,16,18,17,0,17,17,9,16,11,10,0,17,11,17,17,0,2,17,17,14,0,11,0,15,15,10,10,0,9,11,10,10,11,10,9,9,7,11,9,10,10,9,11,10,9,10,9,10,10,8,11,9,10,9,12,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,0,9,15,15,15,16,22,16,16,14,22,23,22,16,24,22,22,15,15,21,22,15,8,16,15,15,23,16,16,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,9,0,0,22,15,15,0,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,0,9,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,8,9,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,9,8,7,8,8,0,8,8,9,0,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,15,9,7,8,15,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,9,8,8,8,0,0,9,8,7,8,8,0,8,8,8,8,0,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,0,0,15,8,14,14,15,16,7,8,15,8,9,8,7,15,8,8,7,8,8,8,16,8,8,8,8,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,16,8,8,8,8,0,15,0,8,14,14,15,15,7,8,15,8,8,10,7,15,8,10,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,15,8,0,10,8,8,8,0,0,8,8,14,8,8,0,15,10,8,8,8,0,8,8,0,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,7,7,8,0,14,14,7,0,15,15,15,7,7,15,7,7,8,8,14,7,7,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,14,7,8,0,15,7,8,8,8,0,14,14,7,15,0,15,15,7,7,15,7,8,8,8,15,7,8,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,8,7,7,7,0,0,8,7,14,7,8,0,15,7,8,8,9,0,15,15,8,15,15,0,16,7,8,16,8,8,9,8,15,8,8,7,8,8,8,22,8,15,9,9,8,0,8,8,14,14,15,15,0,8,8,8,8,0,7,8,8,14,8,16,0,16,8,8,8,9,0,16,15,8,15,15,16,0,7,8,16,8,9,9,8,15,8,8,7,8,8,8,16,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,17,8,7,7,7,0,7,7,7,7,7,7,7,0,7,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,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,8,8,8,0,8,8,8,7,7,8,8,7,0,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,9,0,15,15,8,15,15,16,16,7,8,0,8,8,9,8,15,8,8,7,8,8,8,15,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,16,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,0,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,9,9,8,0,9,8,8,7,8,8,9,7,8,8,8,0,8,7,9,8,9,7,8,8,8,9,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,9,8,7,8,8,0,9,8,8,8,9,0,8,10,8,8,8,9,9,7,8,9,8,8,0,8,8,8,10,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,10,1,8,8,0,0,8,8,7,8,9,0,9,10,7,7,8,0,7,7,7,8,8,8,8,7,7,8,7,7,8,0,7,7,7,7,7,7,7,7,7,7,8,8,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,8,0,8,7,9,9,8,0,15,15,8,14,15,15,15,7,8,15,8,9,8,7,0,8,9,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,15,8,0,9,8,8,8,0,0,9,8,14,8,8,0,15,8,8,15,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,0,8,7,8,15,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,8,8,8,8,0,0,8,8,7,8,8,0,8,8,9,9,8,0,8,10,8,7,8,8,8,7,8,8,8,9,10,7,9,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,11,1,8,8,0,0,9,8,7,8,8,0,8,10,7,7,7,0,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,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,0,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,15,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,15,8,7,8,0,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,8,8,8,8,0,0,8,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,15,8,0,16,15,8,14,14,22,16,7,8,15,8,9,8,7,15,15,8,7,8,15,8,0,8,15,8,8,8,0,8,8,14,14,15,15,0,8,15,8,8,0,7,8,8,14,8,15,0,16,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,0,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,15,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,15,8,0,8,8,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,8,8,7,8,15,0,8,8,8,8,9,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,0,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,8,8,9,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,0,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,0,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,0,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,7,7,7,0,7,7,7,7,7,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,14,7,14,7,7,7,0,7,7,0,7,7,14,0,7,0,7,7,0,7,7,7,7,7,14,0,7,7,7,7,7,0,14,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,0,14,7,0,7,7,7,7,0,0,7,7,14,7,7,0,14,7,8,8,8,0,15,15,8,14,14,15,15,7,8,15,8,8,8,7,15,8,8,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,0,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,8,8,8,8,0,8,8,8,7,7,15,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,15,8,15,8,8,8,0,8,8,14,7,8,0,0,8,1,8,8,0,7,8,8,7,8,15,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,8,0,8,10,8,7,8,8,8,7,8,8,8,9,10,7,9,8,11,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,0,1,8,8,0,0,9,8,7,8,8,0,8,10,1,8,1,0,8,8,1,7,7,8,8,0,1,8,1,1,1,0,8,8,1,0,1,8,1,15,1,1,1,1,1,0,1,1,0,7,8,1,0,1,0,1,1,0,0,1,1,7,1,1,0,8,1,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,0,8,0,0,8,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,7,0,0,0,0,0,0,7,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,9,9,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,8,9,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,0,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,0,7,8,8,0,8,8,7,7,7,0,14,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,0,7,7,0,14,7,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,0,8,0,8,8,8,8,9,0,8,8,8,8,8,16,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,15,8,15,9,9,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,8,8,7,8,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,9,0,16,15,8,15,15,16,17,7,8,16,8,9,9,8,15,8,8,7,8,8,8,16,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,0,8,8,8,8,0,8,10,8,7,7,8,8,7,8,8,8,8,10,7,8,8,10,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,10,1,8,8,0,0,8,8,7,8,8,0,8,0,0,11,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,9,10,8,10,8,11,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,11,0,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,9,10,8,10,8,11,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,0,8,0,10,10,10,16,15,8,7,18,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,18,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,8,8,8,0,0,15,8,14,14,15,16,7,8,15,8,9,8,7,15,8,8,7,8,8,8,16,8,8,8,8,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,16,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,15,0,0,10,16,16,15,15,7,10,15,10,10,8,9,17,8,10,9,10,10,8,17,8,10,8,10,10,0,10,10,9,16,17,8,0,10,10,10,10,0,2,10,10,14,10,10,0,15,8,10,10,10,8,0,10,0,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,9,9,10,14,0,16,9,0,16,14,14,7,10,14,9,9,7,10,16,8,9,9,9,9,7,17,8,9,7,10,9,0,9,9,9,16,17,8,0,9,10,9,9,0,2,9,9,14,10,10,0,14,7,9,9,16,14,0,16,9,16,0,21,14,7,16,21,16,9,14,16,23,7,9,16,16,9,7,16,7,16,14,9,9,0,9,9,16,16,23,14,0,16,9,16,9,0,2,9,16,14,9,9,0,21,14,8,8,15,15,0,15,8,14,21,0,15,7,15,22,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,8,8,8,16,0,15,8,14,14,15,0,7,8,15,8,9,8,7,15,8,8,7,8,8,8,16,8,8,8,8,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,16,8,7,7,7,7,0,7,9,7,7,7,7,0,7,7,7,9,7,9,7,7,7,7,9,7,7,7,9,7,7,7,9,0,9,9,7,7,7,7,0,7,2,7,9,0,0,7,7,7,7,7,0,7,7,10,10,18,8,0,10,10,10,16,15,8,7,0,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,18,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,8,8,15,15,0,15,8,14,21,22,15,7,15,0,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,10,10,17,8,0,10,10,9,16,15,8,7,17,15,0,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,10,10,9,0,10,12,9,9,8,9,9,10,8,10,0,8,11,10,8,10,9,12,10,8,11,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,9,8,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,9,9,17,7,0,9,11,10,16,14,7,9,17,14,16,11,14,0,16,8,9,16,18,9,7,10,10,16,14,10,11,0,11,11,16,9,17,15,0,16,5,16,11,0,2,9,16,7,10,10,0,14,14,10,10,17,15,0,17,10,16,23,22,15,7,17,22,17,10,15,16,0,8,10,16,17,10,8,17,8,17,15,10,10,0,10,10,16,16,24,15,0,17,10,17,10,0,2,10,17,14,10,10,0,22,15,8,8,9,8,0,8,8,8,7,8,8,7,9,8,8,8,8,8,8,0,8,7,8,8,8,9,9,8,8,9,8,0,8,8,7,7,9,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,16,7,0,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,0,16,9,7,9,7,16,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,10,10,17,8,0,10,12,9,16,15,8,9,17,15,17,12,15,18,17,8,10,16,0,10,8,10,10,17,15,10,12,0,12,12,16,9,17,15,0,17,5,17,12,0,2,10,17,7,10,10,0,15,15,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,11,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,8,8,0,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,11,16,0,17,10,17,16,15,16,7,11,15,10,11,8,10,17,9,10,9,10,10,8,0,9,10,8,11,10,0,10,10,9,16,18,9,0,10,11,10,10,0,2,10,10,14,11,11,0,16,8,8,8,9,8,0,8,10,8,7,8,8,9,9,8,8,10,8,10,8,9,8,7,10,8,8,9,0,8,8,9,10,0,10,10,7,7,9,9,0,8,4,8,10,0,0,8,8,7,9,9,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,11,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,0,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,11,11,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,9,11,9,10,8,0,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,11,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,0,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,0,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,0,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,9,9,16,7,0,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,9,9,9,14,0,16,9,16,16,14,14,7,9,14,9,9,7,9,16,7,9,9,9,9,7,16,7,9,7,9,9,0,9,9,9,0,16,7,0,9,9,9,9,0,2,9,9,14,9,9,0,14,7,10,10,18,15,0,17,10,17,23,22,15,7,18,22,17,10,15,17,24,9,10,16,17,10,8,18,9,17,15,11,10,0,10,10,16,16,0,16,0,17,11,17,10,0,2,10,17,14,11,11,0,22,15,8,8,16,8,0,8,8,8,14,15,8,7,16,15,15,8,15,15,15,9,8,14,15,8,8,9,9,15,15,9,8,0,8,8,14,7,16,0,0,15,2,15,8,0,0,8,15,7,9,9,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,3,3,4,8,0,10,5,10,9,8,8,2,4,8,3,5,1,5,10,2,3,2,5,3,1,11,4,3,1,4,5,0,5,5,2,9,11,2,0,3,0,3,5,0,2,3,3,7,4,4,0,8,1,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,0,10,0,2,10,17,7,10,10,0,15,15,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,0,0,2,10,10,7,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,0,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,0,10,7,10,10,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,0,7,10,10,0,15,15,7,7,7,14,0,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,0,7,7,0,14,7,10,10,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,0,11,0,8,8,10,10,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,15,16,0,15,8,14,21,22,16,7,15,22,15,9,15,14,22,8,8,14,15,8,8,16,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,0,15,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,0,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,15,16,18,0,17,8,10,0,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,17,17,0,8,10,0,18,16,17,8,16,14,17,15,18,18,16,16,17,15,17,16,17,18,9,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,8,8,8,0,15,0,8,14,14,15,15,7,8,15,8,8,10,7,15,8,10,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,15,8,0,10,8,8,8,0,0,8,8,14,8,8,0,15,10,10,10,10,15,0,0,10,16,16,15,15,7,10,15,10,10,8,9,17,8,10,9,10,10,8,17,8,10,8,10,10,0,10,10,9,16,17,8,0,10,10,10,10,0,2,10,10,14,10,10,0,15,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,8,10,0,0,16,17,9,16,15,18,16,19,18,17,16,17,15,17,16,18,20,10,17,16,10,16,17,17,0,19,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,23,16,16,14,16,0,16,0,23,15,28,14,16,21,16,23,14,16,24,14,16,16,16,16,14,23,21,9,14,23,16,0,23,23,9,30,16,7,0,16,16,16,16,0,2,23,16,28,23,16,0,21,14,16,16,17,14,16,0,17,23,0,14,22,14,16,21,17,17,15,16,23,14,16,16,16,17,8,23,14,9,14,16,16,0,16,16,9,23,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,8,8,8,15,15,0,9,15,14,0,15,8,8,16,9,8,9,7,17,8,8,7,9,9,9,15,8,8,9,8,8,0,9,9,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,9,22,15,16,15,15,0,16,28,22,15,0,14,15,22,16,23,16,14,22,15,15,14,15,16,16,22,22,8,15,22,15,0,22,22,7,28,15,8,0,15,15,15,15,0,0,22,15,28,22,15,0,22,15,14,14,14,7,7,0,15,14,14,8,14,0,14,15,15,14,15,14,14,14,14,14,15,15,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,18,18,17,8,10,0,18,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,15,15,15,15,15,0,16,21,21,16,22,15,15,0,16,15,16,14,22,15,15,14,16,16,9,22,15,8,16,15,15,0,16,16,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,16,17,17,18,8,10,0,19,16,17,9,16,15,17,16,0,18,17,16,17,15,17,16,18,19,10,17,15,10,16,17,17,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,24,17,18,8,10,0,18,23,17,8,23,14,17,15,18,0,16,16,17,15,17,16,17,18,16,17,22,10,15,24,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,15,15,16,10,8,0,17,14,15,9,16,15,15,16,17,16,0,14,15,15,17,14,16,17,10,15,15,8,16,15,15,0,16,16,7,14,8,8,0,17,8,15,15,0,0,15,15,14,15,8,0,15,18,16,16,16,7,9,0,16,16,16,7,14,14,16,14,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,17,17,15,17,0,17,24,23,17,22,14,17,22,17,17,15,16,0,15,17,16,17,17,8,24,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,15,15,15,8,8,0,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,17,17,10,10,0,17,16,16,8,15,14,17,15,17,17,17,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,21,10,17,17,0,2,17,17,14,17,10,0,15,17,16,16,16,7,9,0,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,0,18,16,16,9,15,15,17,16,18,17,16,16,17,15,17,16,0,18,9,17,15,10,16,17,17,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,18,18,18,8,10,0,20,16,17,9,16,15,18,16,19,18,17,16,17,15,17,16,18,0,10,17,16,10,16,17,17,0,19,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,15,8,9,8,8,0,10,14,8,9,16,8,8,9,10,16,10,7,8,8,8,7,9,10,0,8,15,8,9,15,8,0,16,16,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,17,17,17,15,17,0,17,23,23,15,22,14,17,22,17,17,15,16,24,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,23,16,15,8,8,0,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,23,15,21,23,15,0,15,16,10,10,10,8,10,0,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,15,15,15,8,8,0,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,24,17,17,8,10,0,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,8,10,0,19,23,16,9,22,15,18,16,18,24,16,16,17,15,17,16,18,19,16,17,23,10,16,24,17,0,0,25,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,15,17,24,17,17,8,10,0,18,23,16,9,22,15,17,16,18,24,16,16,17,15,17,16,18,18,16,17,22,10,16,24,17,0,25,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,16,9,9,9,7,9,0,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,23,16,16,14,16,0,16,30,23,14,28,14,16,21,16,23,14,16,23,14,16,16,16,16,14,23,21,9,14,23,16,0,23,23,9,0,16,7,0,16,16,16,16,0,2,23,16,28,23,16,0,21,14,10,10,10,15,17,0,10,16,16,15,15,7,10,15,10,10,8,9,17,8,10,9,10,10,8,17,8,10,8,10,10,0,10,10,9,16,0,8,0,10,10,10,10,0,2,10,10,14,10,10,0,15,8,9,9,8,8,8,0,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,10,10,0,18,16,16,8,15,14,18,15,17,17,17,16,17,15,21,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,18,10,0,17,20,10,10,10,8,10,0,10,16,16,8,15,7,10,15,10,10,8,9,17,8,10,9,10,10,1,17,8,3,8,10,10,0,10,10,2,16,10,1,0,10,0,10,10,0,2,10,10,14,10,3,0,15,8,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,0,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,25,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,25,17,0,15,16,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,21,14,14,14,14,0,14,28,21,14,28,14,14,21,14,21,14,14,21,14,14,14,14,14,14,21,21,7,14,21,14,0,21,21,7,28,14,7,0,14,14,14,14,0,0,21,14,0,21,14,0,21,14,25,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,0,17,0,15,16,17,10,10,8,10,0,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,15,15,0,15,21,21,15,22,14,15,22,15,15,15,14,22,15,15,14,15,15,8,22,15,8,15,15,15,0,15,15,7,21,15,8,0,17,15,15,15,0,0,15,15,21,15,8,0,0,17,16,16,15,10,8,0,17,14,14,9,15,15,16,16,16,15,18,14,15,15,17,14,16,17,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,20,8,15,15,0,1,16,15,14,16,8,0,17,0,0,18,17,8,10,18,0,16,16,8,15,14,26,15,25,24,23,16,17,22,25,16,25,26,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,18,0,17,8,10,18,0,16,16,8,16,14,19,15,18,17,15,16,17,15,18,16,18,19,8,17,17,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,18,14,18,10,0,15,16,17,17,0,8,10,18,0,16,17,8,16,14,17,15,19,19,17,16,17,16,17,16,17,18,9,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,8,8,8,0,8,8,0,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,0,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,18,18,18,8,10,0,0,16,17,9,16,15,18,16,19,18,17,16,17,15,17,16,18,20,10,17,16,10,16,17,17,0,19,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,7,9,16,0,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,17,7,9,17,0,16,0,7,15,14,16,14,17,17,15,16,16,14,16,16,16,17,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,10,16,16,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,9,0,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,9,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,15,16,16,8,8,16,0,14,15,8,0,14,16,15,17,16,16,14,15,15,16,14,16,17,9,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,9,15,0,14,14,8,14,0,14,15,15,16,15,16,14,14,21,14,17,15,8,14,16,7,15,14,23,0,17,17,7,14,7,7,0,14,9,14,23,0,7,14,14,14,14,7,0,14,15,26,19,17,8,10,18,0,16,16,8,16,14,0,15,26,25,24,16,17,23,26,16,27,28,17,17,17,10,24,17,17,0,18,17,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,16,15,15,15,8,8,16,0,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,25,18,19,8,10,19,0,16,17,9,17,15,26,16,0,26,26,16,17,23,26,16,27,28,18,18,16,10,24,18,17,0,18,18,9,16,10,8,0,25,10,17,18,0,2,17,18,14,24,10,0,15,16,24,17,19,8,12,18,0,16,17,8,16,16,25,15,26,0,25,18,17,24,24,16,27,26,17,18,17,10,23,18,19,0,19,19,9,16,10,8,0,25,12,17,20,0,2,18,17,14,24,10,0,15,15,23,15,17,8,8,17,0,14,15,9,16,15,24,16,26,25,0,14,15,24,23,14,25,26,19,16,15,8,25,16,15,0,16,16,7,14,8,8,0,24,8,15,16,0,0,16,15,14,22,8,0,15,16,16,16,16,7,11,16,0,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,17,0,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,22,15,16,8,8,15,0,14,14,8,15,14,23,15,23,24,24,14,15,0,22,14,23,23,16,16,15,8,23,16,15,0,15,15,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,15,15,25,18,17,8,10,17,0,16,16,8,16,21,26,15,26,24,23,16,17,22,0,16,26,26,16,17,16,10,23,17,24,0,17,17,9,16,10,8,0,25,10,17,24,0,9,17,18,14,24,10,0,15,15,16,16,16,7,9,16,0,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,25,18,17,8,12,18,0,16,16,9,16,17,27,16,27,27,25,18,17,23,26,16,0,28,18,17,18,10,25,17,19,0,20,20,9,16,10,8,0,26,12,17,19,0,2,18,18,14,24,10,0,15,16,26,19,18,8,10,20,0,16,17,9,17,15,28,16,28,26,26,16,17,23,26,16,28,0,19,17,17,10,25,17,17,0,19,18,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,17,16,8,9,8,8,10,0,7,8,9,9,8,17,9,18,17,19,7,8,16,16,7,18,19,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,17,17,18,8,10,17,0,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,16,17,15,8,10,16,0,14,14,8,16,16,17,15,16,17,15,16,15,15,16,14,18,17,8,15,0,8,15,15,17,0,18,17,7,14,8,9,0,16,10,15,17,0,1,16,16,14,16,8,0,15,16,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,23,15,15,8,8,16,0,14,14,9,15,15,24,16,24,23,25,14,15,23,23,14,25,25,18,15,15,8,0,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,17,17,18,8,10,17,0,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,0,16,16,8,15,23,17,15,17,19,15,18,17,15,24,16,19,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,26,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,8,12,19,0,16,16,9,15,17,18,16,18,19,16,18,17,15,17,16,20,19,9,17,18,10,16,17,19,0,0,20,9,16,10,9,0,18,12,17,19,0,3,18,17,14,18,10,0,15,17,17,17,17,8,12,18,0,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,20,18,9,17,17,10,16,17,19,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,16,9,9,9,7,9,9,0,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,16,16,16,7,9,16,0,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,8,8,8,9,0,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,18,17,8,10,18,0,16,16,8,15,14,27,15,25,25,24,16,17,23,25,16,26,27,17,17,16,10,24,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,25,10,0,15,16,10,10,10,1,5,10,0,9,10,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,0,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,18,8,12,17,0,16,16,8,15,23,17,15,18,20,16,18,17,16,24,16,19,17,8,18,17,10,15,18,26,0,19,19,9,16,10,8,0,17,12,17,0,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,0,2,2,0,0,7,3,0,2,2,0,2,2,0,9,2,2,3,0,2,1,2,0,2,9,0,3,2,2,2,2,1,0,3,2,2,9,0,0,3,2,0,3,2,0,0,1,18,18,17,8,10,18,0,16,16,8,15,14,19,15,17,18,16,16,17,16,17,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,17,18,17,8,10,17,0,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,14,14,14,7,7,14,0,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,25,18,17,8,10,18,0,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,25,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,25,10,17,17,0,3,18,17,14,0,10,0,15,16,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,0,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,16,16,15,8,8,17,0,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,17,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,0,16,18,7,9,23,16,0,16,7,21,14,16,15,18,24,16,17,17,14,17,16,16,16,14,17,21,9,14,23,17,0,24,25,9,23,9,7,0,17,9,17,16,0,2,23,16,21,23,16,0,15,14,16,0,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,18,16,0,8,10,16,16,0,21,8,15,14,21,16,17,17,17,18,18,15,16,16,16,16,7,18,15,9,15,18,17,0,17,17,11,16,10,8,0,16,10,16,16,0,2,16,16,14,17,11,0,16,14,7,7,8,0,14,14,7,0,15,15,15,7,7,15,7,7,8,8,14,7,7,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,14,7,8,0,15,7,9,9,10,14,0,16,9,0,16,14,14,7,10,14,9,9,7,10,16,8,9,9,9,9,7,17,8,9,7,10,9,0,9,9,9,16,17,8,0,9,10,9,9,0,2,9,9,14,10,10,0,14,7,23,16,16,14,16,0,16,0,23,15,28,14,16,21,16,23,14,16,24,14,16,16,16,16,14,23,21,9,14,23,16,0,23,23,9,30,16,7,0,16,16,16,16,0,2,23,16,28,23,16,0,21,14,16,16,16,7,9,16,0,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,21,15,16,23,16,0,0,15,22,15,20,22,16,16,15,18,25,14,16,17,16,16,7,23,14,9,15,17,16,0,16,16,12,24,16,7,0,16,16,16,16,0,3,16,16,22,16,10,0,22,14,7,7,8,15,14,15,7,0,15,0,15,7,7,15,7,7,8,8,15,7,7,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,14,7,8,0,15,7,21,14,15,15,14,28,14,0,22,15,0,14,14,22,14,21,15,15,21,14,14,14,14,14,14,21,21,7,15,22,14,0,21,21,7,28,14,7,0,14,14,14,14,0,0,21,14,28,21,15,0,22,14,14,14,14,7,7,14,14,0,15,7,14,0,14,14,14,14,14,15,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,16,16,21,7,10,16,16,0,20,7,14,14,0,14,16,16,14,17,18,15,16,16,16,16,7,17,15,9,14,17,16,0,16,16,11,16,10,8,0,16,10,16,16,0,2,16,16,14,17,10,0,14,14,15,14,16,15,14,21,14,0,22,15,22,14,14,0,15,14,16,15,21,14,14,14,14,14,7,21,14,7,15,15,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,22,14,18,16,17,7,9,16,16,0,16,7,14,14,16,15,0,16,15,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,24,16,17,7,9,23,16,0,16,7,21,14,16,14,16,0,15,16,16,14,16,16,16,16,14,17,21,9,14,23,17,0,24,24,9,23,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,15,14,16,14,17,8,7,14,14,0,15,8,15,14,14,16,15,15,0,15,14,14,14,14,14,14,7,15,14,7,15,15,15,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,8,0,16,14,17,16,18,8,10,16,16,0,18,8,15,15,17,15,17,16,15,0,17,15,17,17,16,16,7,17,15,9,15,18,16,0,16,17,10,17,10,8,0,17,10,17,16,0,3,16,16,15,17,11,0,15,14,17,16,18,14,16,24,16,0,25,15,21,14,18,21,17,16,14,17,0,14,17,16,16,16,7,23,14,9,14,16,16,0,16,17,11,23,16,7,0,17,16,17,16,0,2,16,16,21,16,9,0,21,14,14,14,15,7,8,14,14,0,14,7,14,14,15,14,14,14,14,15,14,0,14,14,14,14,7,15,15,7,14,15,14,0,14,14,7,14,8,8,0,14,8,14,14,0,0,14,14,14,15,8,0,14,14,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,0,17,7,14,15,16,14,16,16,14,17,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,10,17,9,7,0,16,9,16,16,0,3,16,16,15,16,9,0,14,14,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,0,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,14,7,7,7,7,14,7,0,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,0,7,14,7,7,14,7,0,14,14,7,14,7,7,0,7,0,7,7,0,0,14,7,14,14,14,0,7,7,17,16,18,14,17,23,16,0,23,14,21,14,17,21,16,17,15,17,23,15,16,16,16,16,7,0,15,9,14,17,17,0,17,17,9,23,17,8,0,16,17,16,16,0,2,16,16,21,17,10,0,22,14,21,14,15,7,8,21,14,0,14,7,21,14,15,14,14,21,14,15,14,15,14,14,14,14,14,15,0,7,14,22,14,0,21,21,7,21,8,8,0,14,8,14,14,0,0,21,14,21,22,15,0,14,14,9,9,9,7,9,9,9,0,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,0,7,9,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,14,14,15,8,7,14,14,0,15,8,15,14,14,15,14,14,15,15,14,14,14,14,14,14,7,14,14,7,0,15,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,8,0,15,14,23,16,18,8,10,23,16,0,17,8,22,14,17,15,16,23,15,18,16,15,16,16,16,16,14,17,22,9,15,0,16,0,23,23,9,23,10,8,0,16,10,16,16,0,2,23,16,21,24,18,0,15,14,17,16,17,7,9,16,16,0,16,7,14,14,16,14,16,17,15,16,16,14,16,16,16,16,7,17,14,9,14,16,0,0,17,17,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,15,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,16,17,7,9,23,16,0,16,7,21,14,16,14,16,24,15,16,16,14,16,16,16,16,14,17,21,9,14,23,17,0,0,24,9,23,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,15,14,25,16,17,7,9,23,16,0,16,7,21,14,16,14,17,24,15,17,17,14,17,16,16,16,14,17,21,9,14,23,17,0,24,0,9,23,9,7,0,17,9,17,16,0,2,23,16,21,23,16,0,15,14,9,9,11,7,9,9,9,0,12,7,7,8,11,7,9,9,7,10,11,7,9,10,9,9,7,9,7,9,7,9,9,0,9,9,0,10,9,7,0,9,2,9,9,0,3,9,9,8,9,9,0,7,7,23,16,16,14,16,30,16,0,24,14,28,15,16,21,16,23,14,17,23,14,16,17,16,16,14,23,21,9,14,23,16,0,23,23,10,0,16,7,0,16,16,16,16,0,3,23,16,29,23,16,0,21,14,9,9,10,14,17,16,9,0,16,14,14,7,10,14,9,9,7,10,16,8,9,9,9,9,7,17,8,9,7,10,9,0,9,9,9,16,0,8,0,9,10,9,9,0,2,9,9,14,10,10,0,14,7,7,7,8,7,8,7,7,0,7,7,7,7,8,7,7,7,7,8,7,8,7,7,7,7,7,8,8,7,7,8,7,0,7,7,7,7,8,0,0,7,1,7,7,0,0,7,7,7,8,8,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,0,9,17,16,0,2,16,16,14,16,9,0,14,14,9,9,10,7,10,16,9,0,16,7,14,7,10,14,9,9,7,10,16,8,9,9,9,9,0,17,8,2,7,10,9,0,9,9,2,16,10,1,0,9,0,9,9,0,2,9,9,14,10,3,0,14,7,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,0,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,0,3,0,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,23,16,16,7,9,23,16,0,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,23,9,7,0,16,9,16,16,0,2,0,16,21,23,16,0,14,14,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,0,14,16,9,0,14,14,21,14,14,14,14,28,14,0,22,14,28,16,14,21,14,21,14,15,21,14,14,15,14,14,14,21,21,7,14,21,14,0,21,21,8,29,14,7,0,14,14,14,14,0,1,21,14,0,21,14,0,21,14,23,16,17,7,10,23,16,0,16,7,21,14,17,14,16,23,14,17,16,15,16,16,16,16,14,17,22,9,14,24,16,0,23,23,9,23,10,8,0,16,10,16,16,0,2,23,16,21,0,17,0,14,14,16,9,11,8,10,16,9,0,10,8,15,7,10,8,9,16,8,11,9,8,9,9,9,9,14,10,15,9,8,18,9,0,16,16,9,16,10,8,0,9,3,9,9,0,2,16,9,14,17,0,0,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,14,16,15,14,21,14,0,22,15,22,14,14,22,14,15,16,15,21,14,14,14,14,14,7,22,14,7,15,15,15,0,15,15,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,0,14,14,14,14,7,7,14,14,0,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,0,0,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,17,0,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,16,16,0,8,16,17,17,21,0,15,16,14,27,22,24,17,23,24,25,14,16,23,23,17,8,16,14,16,22,17,16,0,16,16,18,16,16,14,0,23,9,23,16,0,2,16,23,14,16,10,0,22,21,8,8,8,0,14,14,7,15,0,15,15,7,7,15,7,8,8,8,15,7,8,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,8,7,7,7,0,0,8,7,14,7,8,0,15,7,9,9,16,14,0,16,9,16,0,21,14,7,16,21,16,9,14,16,23,7,9,16,16,9,7,16,7,16,14,9,9,0,9,9,16,16,23,14,0,16,9,16,9,0,2,9,16,14,9,9,0,21,14,16,16,17,14,16,0,17,23,0,14,22,14,16,21,17,17,15,16,23,14,16,16,16,17,8,23,14,9,14,16,16,0,16,16,9,23,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,16,16,17,7,9,17,0,16,0,7,15,14,16,14,17,17,15,16,16,14,16,16,16,17,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,10,16,16,0,2,16,16,14,16,9,0,14,14,16,16,21,15,16,23,16,0,0,15,22,15,20,22,16,16,15,18,25,14,16,17,16,16,7,23,14,9,15,17,16,0,16,16,12,24,16,7,0,16,16,16,16,0,3,16,16,22,16,10,0,22,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,15,15,21,14,7,15,0,0,15,7,14,22,14,7,15,15,21,7,7,14,14,7,7,14,7,14,15,8,7,0,7,7,14,14,21,14,0,14,7,14,7,0,0,7,14,14,7,8,0,22,14,14,14,16,15,14,22,15,22,0,15,0,14,14,22,15,15,16,15,21,14,14,14,14,15,8,21,14,7,15,15,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,22,14,14,14,14,7,7,14,14,15,0,7,14,0,14,14,14,14,14,15,14,14,14,16,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,16,16,27,7,16,16,16,20,0,14,14,14,0,21,23,16,21,23,25,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,18,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,14,14,22,15,21,21,14,22,0,22,22,14,21,0,21,14,22,22,28,14,14,21,21,14,7,21,14,14,22,15,14,0,14,14,14,21,21,14,0,21,14,21,14,0,0,14,21,21,14,8,0,29,21,16,16,24,7,16,17,17,16,0,14,15,14,23,21,0,17,22,23,23,14,16,23,23,17,8,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,17,17,17,8,9,17,17,16,0,7,15,14,16,14,17,0,15,16,17,14,17,16,16,17,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,14,14,23,8,14,15,15,15,0,15,16,14,21,22,22,15,0,22,21,14,14,21,21,15,8,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,16,16,24,8,16,16,16,18,0,15,15,15,23,22,23,16,22,0,23,14,16,24,23,16,7,16,14,16,22,17,16,0,16,16,17,17,16,15,0,23,9,24,16,0,3,16,23,15,16,10,0,22,21,17,17,25,15,23,23,16,25,0,21,21,14,25,28,23,17,21,23,0,14,17,23,23,16,7,23,14,16,21,16,16,0,16,16,18,23,23,14,0,24,16,23,16,0,2,17,23,21,16,9,0,28,21,14,14,14,7,7,14,14,14,0,7,14,14,14,14,14,14,14,14,14,0,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,17,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,16,16,23,7,16,16,16,17,0,14,14,16,23,21,23,16,21,24,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,17,18,16,14,0,23,9,23,16,0,3,16,23,17,16,9,0,21,21,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,23,23,14,16,23,0,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,16,16,17,7,9,17,17,16,0,7,15,14,16,14,17,17,15,16,16,14,16,16,16,0,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,7,7,8,7,7,8,8,7,0,7,8,7,7,7,8,8,8,7,7,7,7,7,7,8,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,16,16,16,14,16,23,16,23,0,14,21,14,16,21,16,16,14,16,23,14,16,16,16,16,7,0,14,9,14,16,16,0,16,16,9,23,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,14,14,14,7,7,14,14,14,0,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,0,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,9,9,16,7,16,9,9,9,0,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,0,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,14,14,22,8,14,14,14,15,0,15,15,14,21,22,21,14,22,22,21,14,14,21,21,14,7,14,14,14,0,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,16,16,17,8,9,16,16,17,0,8,15,14,16,15,16,16,15,17,16,14,16,16,16,16,7,16,14,9,15,0,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,10,0,15,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,0,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,0,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,0,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,9,9,18,7,16,9,9,12,0,14,7,8,18,14,16,9,14,17,18,7,9,17,16,9,7,9,7,16,14,9,9,0,9,9,0,10,16,14,0,16,2,16,9,0,3,9,16,8,9,9,0,14,14,16,16,16,14,16,23,16,24,0,14,21,15,16,21,16,16,14,17,23,14,16,18,16,16,7,23,14,9,14,16,16,0,16,16,10,0,16,7,0,16,16,16,16,0,3,16,16,23,16,9,0,21,14,9,9,16,14,23,16,9,16,0,21,14,7,16,21,16,9,14,16,23,7,9,16,16,9,7,16,7,16,14,9,9,0,9,9,16,16,0,14,0,16,9,16,9,0,2,9,16,14,9,9,0,21,14,7,7,14,7,14,7,7,7,0,14,7,7,14,14,14,7,14,15,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,14,7,14,0,0,14,0,15,7,0,0,7,14,7,7,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,23,8,16,16,16,16,0,14,14,14,23,21,23,17,21,23,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,0,9,23,16,0,2,17,23,14,16,9,0,21,21,9,9,9,7,9,16,10,16,0,7,14,7,9,14,9,9,7,9,16,7,9,9,9,9,0,16,7,2,7,9,9,0,9,9,2,16,9,0,0,9,0,9,9,0,2,9,9,14,9,2,0,14,7,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,24,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,15,0,23,9,0,16,0,2,16,23,14,16,9,0,21,21,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,3,0,0,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,17,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,0,16,14,16,9,0,14,14,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,23,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,0,14,16,9,0,21,21,14,14,14,14,14,21,14,22,0,14,21,16,14,21,14,14,14,15,21,14,14,17,14,14,7,21,14,7,14,14,14,0,14,14,8,23,14,7,0,14,14,14,14,0,1,14,14,0,14,7,0,21,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,0,9,0,14,14,9,9,10,8,9,9,9,10,0,8,8,7,9,8,9,9,8,10,9,7,9,9,9,9,7,9,7,9,8,10,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,0,0,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,22,15,21,21,14,22,0,22,22,14,21,29,21,14,22,22,28,14,14,21,21,14,7,21,14,14,22,15,14,0,14,14,14,21,21,14,0,21,14,21,14,0,0,14,21,21,14,8,0,0,21,14,14,21,7,14,14,14,14,0,14,14,14,21,21,21,14,21,21,21,14,14,21,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,0,9,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,9,8,7,8,9,0,8,8,9,0,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,9,8,8,10,10,8,8,10,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,14,8,10,8,9,0,10,8,8,8,0,9,15,8,8,8,15,0,9,7,15,16,15,8,16,15,15,8,8,14,15,8,8,8,8,15,16,9,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,9,0,16,15,8,8,9,0,15,15,8,15,15,0,16,7,8,16,8,8,9,8,15,8,8,7,8,8,8,22,8,15,9,9,8,0,8,8,14,14,15,15,0,8,8,8,8,0,7,8,8,14,8,16,0,16,8,8,8,15,15,0,15,8,14,21,0,15,7,15,22,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,8,8,8,15,15,0,9,15,14,0,15,8,8,16,9,8,9,7,17,8,8,7,9,9,9,15,8,8,9,8,8,0,9,9,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,9,8,8,8,8,8,9,0,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,9,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,7,7,8,15,14,15,7,0,15,0,15,7,7,15,7,7,8,8,15,7,7,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,14,7,8,0,15,7,7,7,15,15,21,14,7,15,0,0,15,7,14,22,14,7,15,15,21,7,7,14,14,7,7,14,7,14,15,8,7,0,7,7,14,14,21,14,0,14,7,14,7,0,0,7,14,14,7,8,0,22,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,16,15,15,8,15,15,0,0,9,8,19,8,8,11,9,15,10,8,7,8,8,10,15,10,8,11,9,8,0,8,8,7,14,15,10,0,8,8,8,8,0,0,9,8,16,8,10,0,18,10,7,7,7,7,7,8,8,7,7,0,9,0,7,10,8,7,10,7,7,9,7,7,8,8,10,7,9,7,10,7,7,0,8,8,7,7,7,9,0,7,0,7,7,0,0,7,7,9,7,7,0,9,10,8,8,15,8,15,8,8,7,14,0,8,7,0,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,9,9,16,16,22,16,9,15,22,0,19,10,15,0,16,8,19,16,22,10,8,14,16,9,11,15,10,15,19,9,8,0,9,9,14,14,22,17,0,15,8,15,8,0,0,9,15,16,8,10,0,25,18,8,8,15,8,15,9,9,7,14,0,8,8,15,16,0,8,16,14,15,8,8,14,16,9,9,8,8,15,16,8,8,0,9,9,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,16,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,0,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,16,9,15,9,9,8,15,0,11,10,15,19,16,8,0,15,15,10,8,14,16,9,11,8,10,15,19,9,8,0,9,9,14,7,15,17,0,15,1,15,8,0,0,8,15,9,8,9,0,18,18,8,8,15,8,14,7,7,8,15,0,9,7,14,16,14,7,15,0,14,7,7,14,14,7,7,7,7,14,15,8,7,0,7,7,14,7,14,14,0,14,0,14,7,0,0,8,14,7,7,9,0,15,14,8,8,15,15,22,17,8,15,21,0,15,7,15,22,15,8,15,14,0,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,8,8,8,8,8,8,8,7,7,0,10,9,8,10,8,8,10,7,8,0,8,7,8,8,10,8,10,8,10,8,8,0,8,8,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,7,9,14,7,14,7,7,7,14,0,7,7,14,14,14,7,14,14,14,7,7,0,14,7,9,9,7,14,16,9,7,0,7,7,14,7,16,16,0,14,0,16,7,0,0,9,14,9,7,7,0,16,14,8,8,15,8,15,9,9,7,14,0,8,8,15,16,16,8,16,14,15,8,8,14,0,9,9,8,8,15,16,8,8,0,9,9,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,16,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,0,9,8,8,8,9,8,8,0,9,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,8,10,8,8,8,9,9,7,7,0,10,10,8,11,9,8,11,7,8,10,8,9,9,9,0,10,10,8,13,10,8,0,9,9,7,7,10,12,0,8,1,10,8,0,0,10,8,11,8,8,0,12,11,8,10,8,22,15,15,8,14,14,0,15,7,8,15,8,8,8,7,15,8,8,9,8,8,10,0,8,15,10,10,8,0,8,8,14,14,17,17,0,8,8,10,8,0,7,10,8,16,8,15,0,17,8,8,8,8,8,8,8,8,7,7,0,10,9,8,10,8,8,10,7,8,10,8,7,8,8,10,8,0,8,10,8,8,0,8,8,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,8,8,15,15,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,15,8,0,15,8,8,0,8,8,22,7,15,23,0,15,1,15,8,0,7,8,15,7,8,15,0,15,15,8,10,16,9,15,9,9,8,15,0,11,10,15,19,16,8,19,15,15,10,8,16,16,9,13,10,10,15,0,11,8,0,9,9,14,7,17,19,0,15,1,17,8,0,0,10,15,11,8,9,0,20,18,8,10,9,9,8,8,8,8,8,0,9,7,8,9,8,8,9,8,8,8,8,9,8,8,10,10,8,8,11,0,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,9,0,11,8,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,0,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,9,0,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,7,7,14,14,14,7,7,7,14,0,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,14,7,22,14,7,7,0,7,7,0,7,14,22,0,14,0,14,7,0,7,7,14,7,7,14,0,14,14,7,7,7,14,14,14,7,14,14,0,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,0,14,7,0,7,7,7,7,0,0,7,7,14,7,7,0,14,7,8,10,15,15,22,15,8,14,21,0,15,7,15,22,15,8,15,14,22,8,8,16,15,8,10,17,8,15,17,10,8,0,8,8,14,14,0,17,0,15,8,17,8,0,0,10,15,16,8,8,0,24,15,8,12,15,15,15,8,8,7,14,0,10,9,15,17,15,8,17,14,15,10,8,16,15,8,12,17,10,23,19,10,8,0,8,8,22,7,17,0,0,15,1,17,8,0,7,12,15,11,8,15,0,19,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,0,1,15,8,0,0,8,15,7,8,8,0,15,15,1,1,1,8,8,8,1,7,7,0,8,0,1,8,1,1,1,0,8,1,1,0,1,1,1,8,1,1,1,1,1,0,1,1,0,7,8,1,0,1,0,1,1,0,0,1,1,7,1,1,0,8,1,8,10,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,16,15,8,10,10,8,15,17,10,8,0,8,8,14,7,17,17,0,15,1,0,8,0,0,10,15,9,8,8,0,17,15,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,7,0,0,0,0,0,0,7,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,9,14,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,9,8,8,10,10,8,8,10,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,0,8,10,8,9,0,10,8,8,8,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,0,7,8,8,0,15,15,7,10,7,14,14,14,7,14,14,0,16,9,7,16,7,7,9,7,14,9,7,9,7,7,11,16,9,7,11,9,7,0,7,7,7,14,16,11,0,7,7,9,7,0,0,10,7,0,7,7,0,18,9,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,0,8,0,8,8,9,9,9,16,8,8,8,8,8,0,10,7,8,10,8,8,9,9,8,8,8,7,8,8,8,15,8,15,9,9,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,9,8,7,8,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,16,16,22,15,8,15,22,0,18,9,15,25,15,8,18,15,22,10,8,16,15,8,12,17,10,15,20,11,8,0,8,8,14,14,24,19,0,15,8,17,8,0,0,10,15,18,8,9,0,0,17,8,8,15,8,15,9,9,7,14,0,10,10,15,18,16,8,18,14,15,10,8,14,16,9,11,8,10,15,18,8,8,0,9,9,14,7,15,17,0,15,1,15,8,0,0,8,15,9,8,8,0,17,0,0,16,15,8,8,22,15,21,14,9,0,14,15,23,17,22,15,15,15,22,15,14,15,15,15,15,22,10,15,22,15,0,22,22,7,23,8,8,0,15,8,15,15,0,2,23,17,21,24,21,0,15,15,16,0,15,8,8,15,16,14,14,9,0,14,16,16,16,15,15,15,15,15,16,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,16,16,14,15,9,0,15,15,15,15,0,9,8,16,16,15,16,9,0,14,15,16,16,16,17,15,15,15,15,14,15,16,9,15,15,8,16,16,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,9,0,16,15,8,8,9,0,16,15,8,15,15,16,0,7,8,16,8,9,9,8,15,8,8,7,8,8,8,16,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,17,8,8,8,8,16,0,15,8,14,14,15,0,7,8,15,8,9,8,7,15,8,8,7,8,8,8,16,8,8,8,8,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,16,8,22,15,16,15,15,0,16,28,22,15,0,14,15,22,16,23,16,14,22,15,15,14,15,16,16,22,22,8,15,22,15,0,22,22,7,28,15,8,0,15,15,15,15,0,0,22,15,28,22,15,0,22,15,15,16,16,8,8,16,0,14,15,8,0,14,16,15,17,16,16,14,15,15,16,14,16,17,9,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,21,14,15,15,14,28,14,0,22,15,0,14,14,22,14,21,15,15,21,14,14,14,14,14,14,21,21,7,15,22,14,0,21,21,7,28,14,7,0,14,14,14,14,0,0,21,14,28,21,15,0,22,14,14,14,16,15,14,22,15,22,0,15,0,14,14,22,15,15,16,15,21,14,14,14,14,15,8,21,14,7,15,15,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,22,14,9,9,9,16,15,15,8,15,15,0,0,9,8,19,8,8,11,9,15,10,8,7,8,8,10,15,10,8,11,9,8,0,8,8,7,14,15,10,0,8,8,8,8,0,0,9,8,16,8,10,0,18,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,9,0,0,14,16,14,14,16,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,16,15,16,15,8,8,15,16,14,14,8,0,14,0,15,16,15,15,14,15,15,16,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,23,16,16,16,15,22,15,22,22,19,0,16,15,0,17,15,18,16,22,24,15,14,15,15,10,22,17,10,18,16,15,0,15,15,7,23,15,10,0,15,15,15,15,0,2,16,17,23,17,15,0,25,17,17,16,16,8,8,16,17,14,15,8,0,14,16,17,0,16,16,14,15,17,16,14,16,17,9,15,16,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,18,14,17,10,0,15,15,22,15,16,9,9,23,16,21,15,8,0,14,15,15,16,0,16,14,15,15,15,14,15,16,16,16,22,8,15,22,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,16,15,15,15,17,9,8,16,16,15,16,11,0,16,15,18,16,16,0,15,15,17,15,14,15,16,11,15,17,8,18,16,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,9,0,18,17,15,15,15,8,7,14,14,15,15,9,0,14,14,16,14,14,15,0,14,14,14,14,14,14,7,14,14,7,15,15,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,15,14,14,14,9,0,15,14,15,15,15,15,15,22,15,21,21,15,0,14,15,22,15,15,15,14,0,15,15,14,15,15,8,22,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,15,22,15,15,8,8,15,15,14,14,10,0,16,15,24,17,15,17,14,15,0,15,14,15,15,10,15,17,10,17,15,15,0,15,15,7,16,8,10,0,15,8,15,15,0,2,15,17,16,17,13,0,17,17,15,16,15,8,8,15,16,14,14,8,0,14,16,15,16,15,15,14,15,15,0,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,7,14,14,14,14,7,0,14,14,14,14,14,14,14,14,14,14,0,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,15,16,15,8,8,15,16,14,14,8,0,14,16,15,16,15,15,14,15,15,16,14,0,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,15,16,16,8,8,16,17,14,15,8,0,14,16,15,17,16,16,14,15,15,16,14,16,0,9,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,15,8,9,8,8,16,9,14,8,10,0,9,8,10,9,16,11,7,8,10,8,7,8,9,0,8,17,8,10,15,8,0,15,15,7,14,8,10,0,8,1,8,8,0,0,15,8,16,15,15,0,10,10,15,15,15,16,16,22,15,21,21,15,0,14,15,22,15,16,15,14,22,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,23,15,22,16,15,8,8,22,16,21,14,10,0,16,16,17,16,22,17,14,15,17,16,14,16,16,17,15,0,8,17,22,15,0,22,22,7,21,8,10,0,15,8,15,15,0,0,22,16,23,22,15,0,17,17,10,8,8,8,8,8,8,7,7,8,0,7,8,10,10,8,8,7,8,10,8,7,8,8,8,8,8,0,8,8,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,8,10,7,10,10,0,8,8,15,15,16,9,8,15,15,15,15,11,0,16,15,18,15,15,18,15,15,17,15,14,15,15,10,15,17,8,0,16,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,9,0,18,17,22,15,16,9,8,22,15,22,15,9,0,14,15,16,15,22,16,15,15,15,15,14,15,15,15,15,22,8,16,0,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,16,0,16,15,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,15,15,8,8,22,15,21,14,8,0,14,15,15,15,22,15,14,15,15,15,14,15,15,15,15,22,8,15,22,15,0,0,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,15,15,22,15,15,8,8,22,15,21,14,8,0,14,15,15,15,22,15,14,15,15,15,14,15,15,15,15,22,8,15,22,15,0,22,0,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,15,15,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,23,14,14,14,14,28,14,28,21,14,0,14,14,23,16,21,14,14,21,16,14,14,14,14,14,21,21,9,14,21,14,0,21,21,7,0,14,7,0,14,14,14,14,0,2,21,16,28,23,16,0,21,14,8,8,8,15,15,15,8,14,14,15,0,7,8,15,8,8,8,7,15,8,8,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,0,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,8,8,8,8,8,8,8,8,7,7,10,0,9,8,10,8,8,10,7,8,10,8,7,8,8,10,8,10,8,10,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,0,8,15,15,0,0,15,15,14,15,8,0,15,15,8,8,8,8,8,15,8,14,14,8,0,7,8,15,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,15,8,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,1,0,23,16,15,8,8,22,15,21,14,9,0,14,15,16,15,22,15,15,15,15,15,14,15,15,15,15,22,8,15,22,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,0,15,21,22,16,0,15,15,17,16,15,8,8,15,16,14,14,8,0,14,16,17,18,15,15,14,15,17,16,14,16,16,8,15,16,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,0,14,17,10,0,15,15,21,14,14,14,14,28,14,28,21,16,0,16,14,23,14,21,16,14,21,16,14,14,14,14,16,21,23,7,16,21,14,0,21,21,7,28,14,9,0,14,14,14,14,0,0,21,14,0,21,14,0,23,16,24,15,15,8,8,22,15,21,14,8,0,14,15,17,17,22,15,14,15,17,15,14,15,15,15,15,22,10,15,22,15,0,22,22,7,23,8,8,0,15,8,15,15,0,2,22,17,21,0,17,0,15,15,21,9,9,9,8,15,8,15,8,10,0,7,8,15,10,15,9,9,8,13,8,7,8,8,15,8,15,10,9,16,8,0,15,15,7,16,8,8,0,8,1,8,8,0,2,16,10,14,17,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,16,17,16,22,15,22,22,18,0,16,15,25,15,16,18,15,22,17,15,14,15,15,10,23,17,8,18,16,15,0,15,15,7,21,15,10,0,15,15,15,15,0,1,15,15,23,15,9,0,0,17,15,15,15,8,8,15,15,14,14,10,0,16,15,17,15,15,17,14,15,17,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,0,0,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,0,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,0,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,7,7,7,0,7,7,7,7,7,7,7,0,7,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,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,7,7,7,7,0,7,9,7,7,7,7,0,7,7,7,9,7,9,7,7,7,7,9,7,7,7,9,7,7,7,9,0,9,9,7,7,7,7,0,7,2,7,9,0,0,7,7,7,7,7,0,7,7,14,14,14,7,7,0,15,14,14,8,14,0,14,15,15,14,15,14,14,14,14,14,15,15,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,14,14,14,7,9,15,0,14,14,8,14,0,14,15,15,16,15,16,14,14,21,14,17,15,8,14,16,7,15,14,23,0,17,17,7,14,7,7,0,14,9,14,23,0,7,14,14,14,14,7,0,14,15,14,14,14,7,7,14,14,0,15,7,14,0,14,14,14,14,14,15,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,14,14,14,7,7,14,14,15,0,7,14,0,14,14,14,14,14,15,14,14,14,16,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,7,7,7,7,7,8,8,7,7,0,9,0,7,10,8,7,10,7,7,9,7,7,8,8,10,7,9,7,10,7,7,0,8,8,7,7,7,9,0,7,0,7,7,0,0,7,7,9,7,7,0,9,10,14,14,14,7,7,14,14,14,14,9,0,0,14,16,14,14,16,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,7,14,0,0,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,7,15,15,14,14,10,16,0,14,0,15,14,17,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,14,14,14,7,7,15,15,14,14,8,14,0,14,15,0,14,15,14,14,14,14,14,15,15,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,14,14,14,7,9,14,16,14,14,7,14,0,14,14,14,0,14,16,14,14,14,14,16,14,7,14,16,7,14,14,16,0,16,16,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,14,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,0,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,14,14,14,7,9,14,16,15,15,7,14,0,14,14,14,16,14,0,14,14,14,15,16,14,7,14,16,7,14,14,16,0,16,16,8,15,7,7,0,14,9,14,16,0,1,14,14,15,14,7,0,14,14,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,0,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,7,14,14,14,14,9,16,0,14,16,14,14,16,14,14,0,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,16,14,14,14,7,7,14,21,14,14,7,14,0,14,14,14,14,14,14,14,14,0,14,14,14,7,14,14,7,14,14,21,0,14,14,7,14,7,7,0,14,7,14,21,0,7,14,14,14,14,7,0,14,14,14,14,14,7,7,14,14,15,16,7,14,0,14,14,14,14,14,15,14,14,14,0,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,0,15,8,14,16,7,15,14,16,0,17,17,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,14,14,14,7,7,15,15,14,14,8,14,0,14,15,15,14,15,14,14,14,14,14,15,0,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,7,7,7,7,7,8,8,7,7,10,9,0,7,10,8,7,10,7,7,9,7,7,8,8,0,7,9,7,10,7,7,0,8,8,7,7,7,9,0,7,0,7,7,0,0,7,7,9,7,7,0,9,10,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,0,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,9,14,16,14,14,9,16,0,14,16,14,16,16,16,14,16,14,14,16,14,9,14,0,7,16,14,16,0,16,16,7,14,7,9,0,14,9,14,16,0,0,14,14,16,14,7,0,16,16,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,17,14,14,16,14,14,15,15,10,14,16,7,0,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,0,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,9,14,23,14,14,7,14,0,14,14,14,16,14,16,14,14,21,14,16,14,7,14,16,7,14,14,0,0,16,16,7,14,7,7,0,14,9,14,23,0,7,14,14,14,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,17,15,8,14,16,7,15,14,16,0,0,17,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,17,15,8,14,16,7,15,14,16,0,17,0,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,7,7,7,7,7,7,7,8,8,7,7,0,7,7,7,7,7,8,7,7,7,8,7,7,7,7,7,7,7,7,7,0,7,7,0,8,7,7,0,7,0,7,7,0,1,7,7,8,7,7,0,7,7,14,14,14,7,7,14,14,15,15,7,14,0,14,14,14,14,14,15,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,0,7,7,0,14,7,14,14,0,1,14,14,15,14,7,0,14,14,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,0,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,9,9,0,7,9,7,7,9,7,7,9,7,7,7,7,9,7,9,7,9,7,7,0,7,7,7,7,7,0,0,7,0,7,7,0,0,7,7,9,7,7,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,0,7,14,14,0,0,14,14,14,14,7,0,14,14,7,7,7,0,2,7,9,7,7,0,7,0,7,7,7,9,7,9,7,7,7,7,9,7,0,7,9,0,7,7,9,0,9,9,0,7,0,0,0,7,0,7,9,0,0,7,7,7,7,0,0,7,7,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,0,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,9,14,23,14,14,7,14,0,14,14,14,16,14,16,14,14,21,14,16,14,7,14,16,7,14,14,23,0,16,16,7,14,7,7,0,14,9,14,0,0,7,14,14,14,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,0,0,0,0,0,0,0,0,1,0,0,7,1,0,0,0,0,0,0,0,0,7,0,0,0,1,1,0,0,0,0,0,0,7,0,0,0,0,1,0,0,0,0,0,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,0,14,14,14,7,0,14,14,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,0,14,14,7,0,14,14,14,14,14,7,7,14,14,16,16,9,16,0,14,16,14,14,16,15,14,16,14,16,14,14,9,14,16,7,16,14,14,0,14,14,8,15,7,9,0,14,7,14,14,0,1,14,14,0,14,7,0,16,16,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,0,7,0,14,14,7,7,7,7,7,7,7,7,7,7,7,0,7,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,0,7,0,7,7,0,0,7,7,7,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,9,16,0,14,16,14,14,16,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,0,16,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,17,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,0,0,18,17,8,10,18,26,16,16,8,15,14,0,15,25,24,23,16,17,22,25,16,25,26,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,18,0,17,8,10,18,19,16,16,8,16,14,0,15,18,17,15,16,17,15,18,16,18,19,8,17,17,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,18,14,18,10,0,15,16,17,17,0,8,18,17,17,21,27,15,15,14,0,22,24,17,22,24,26,16,17,23,24,17,8,18,17,17,23,18,17,0,17,17,18,16,18,17,0,24,11,24,17,0,2,17,24,14,19,11,0,22,22,8,8,8,0,8,8,8,7,7,8,8,7,0,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,18,8,0,10,10,10,16,15,8,7,0,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,18,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,18,18,17,8,10,0,18,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,26,19,17,8,10,18,0,16,16,8,16,14,0,15,26,25,24,16,17,23,26,16,27,28,17,17,17,10,24,17,17,0,18,17,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,16,16,16,21,7,10,16,16,0,20,7,14,14,0,14,16,16,14,17,18,15,16,16,16,16,7,17,15,9,14,17,16,0,16,16,11,16,10,8,0,16,10,16,16,0,2,16,16,14,17,10,0,14,14,16,16,27,7,16,16,16,20,0,14,14,14,0,21,23,16,21,23,25,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,18,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,8,8,15,8,15,8,8,7,14,0,8,7,0,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,15,16,15,8,8,15,16,14,14,8,0,14,0,15,16,15,15,14,15,15,16,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,0,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,0,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,25,18,24,8,17,17,26,16,23,15,16,14,0,22,0,24,30,23,24,22,26,23,33,26,16,17,16,17,30,17,17,0,17,17,16,16,17,15,0,32,10,24,17,0,2,17,25,14,24,10,0,22,22,24,17,17,8,10,17,25,16,16,8,15,14,0,15,24,0,23,16,17,23,24,16,25,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,23,15,22,8,15,15,24,14,21,15,15,14,0,22,30,23,0,21,22,23,23,21,31,24,17,15,15,15,31,15,15,0,15,15,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,22,16,16,24,7,17,16,16,17,23,14,14,14,0,21,23,16,21,0,23,15,16,23,23,16,7,17,15,16,21,17,16,0,16,16,16,16,17,15,0,23,10,23,16,0,2,16,23,14,17,10,0,21,21,17,17,26,8,17,17,17,18,25,15,15,14,0,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,18,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,22,15,16,8,9,15,23,15,14,8,15,14,0,15,22,23,23,15,15,0,22,14,23,23,16,16,16,8,23,16,15,0,15,15,7,14,9,9,0,23,9,15,15,0,0,16,15,14,23,9,0,15,15,25,18,17,8,10,17,26,16,16,8,16,14,0,15,26,24,23,16,17,22,0,16,26,26,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,16,16,23,7,16,16,16,16,23,14,14,14,0,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,11,0,21,21,25,18,24,8,17,17,27,16,23,15,16,14,0,22,33,25,31,23,24,23,26,23,0,27,17,17,16,17,31,17,17,0,17,17,16,16,17,15,0,33,10,24,17,0,2,18,25,14,24,10,0,22,22,26,19,17,8,10,18,28,16,16,8,16,14,0,15,26,25,24,16,17,23,26,16,27,0,17,17,17,10,24,17,17,0,18,17,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,16,16,8,8,8,8,8,17,7,7,8,8,7,0,8,16,16,17,7,8,16,16,7,17,17,0,8,8,8,17,8,8,0,8,8,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,8,17,17,18,8,11,17,17,17,16,8,15,14,0,15,17,17,15,17,17,16,17,16,17,17,8,0,16,10,15,18,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,18,11,0,15,15,16,17,17,8,9,16,17,15,14,8,16,14,0,15,16,15,15,15,15,16,16,14,16,17,8,16,0,8,16,16,15,0,16,15,7,14,9,11,0,16,9,15,15,0,1,16,16,16,18,9,0,15,18,10,10,17,8,17,10,10,9,16,15,8,7,0,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,23,15,23,8,15,15,24,14,21,15,15,14,0,22,30,23,31,21,22,23,23,21,31,24,17,15,16,15,0,15,15,0,15,15,14,14,15,16,0,31,8,22,15,0,0,16,22,14,23,8,0,22,22,17,17,18,8,11,17,17,17,16,8,15,14,0,15,17,17,15,17,17,16,17,16,17,17,8,18,16,10,15,0,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,18,11,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,8,10,18,18,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,9,9,18,7,16,9,9,11,18,14,7,7,0,14,16,9,14,16,18,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,0,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,18,8,18,10,10,10,16,15,8,7,0,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,0,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,9,9,17,8,16,9,9,8,14,15,8,7,0,15,15,8,15,15,15,9,8,14,15,9,8,9,11,15,16,9,8,0,9,8,14,7,16,0,0,16,2,15,8,0,1,9,15,7,11,9,0,15,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,18,24,8,17,18,27,16,23,15,15,14,0,22,32,25,31,23,24,23,25,23,33,27,17,17,16,17,31,17,17,0,18,17,16,16,17,16,0,0,10,24,17,0,3,19,24,14,25,10,0,22,23,10,10,11,1,4,10,10,10,9,1,8,7,0,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,17,17,24,8,17,17,17,16,23,15,15,14,0,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,0,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,18,18,17,8,10,18,19,16,16,8,15,14,0,15,17,18,16,16,17,16,17,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,17,18,24,8,17,17,18,16,23,15,16,14,0,22,25,17,22,23,24,15,18,23,25,18,8,17,16,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,14,14,14,7,7,14,14,14,14,7,14,14,0,14,14,14,14,14,14,14,14,14,14,14,7,14,16,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,16,25,18,19,8,11,18,25,17,16,8,15,14,0,15,24,24,22,17,17,23,24,16,24,25,15,18,18,10,23,18,17,0,18,17,9,16,11,11,0,25,11,17,17,0,3,18,17,14,0,11,0,15,16,10,10,11,8,11,10,10,10,9,8,8,7,0,8,10,10,8,10,10,9,10,11,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,0,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,16,16,22,8,15,16,16,14,21,15,15,14,0,22,22,15,22,21,22,15,15,21,22,16,8,15,18,15,22,15,15,0,16,15,14,14,15,16,0,23,8,22,15,0,1,16,22,16,16,8,0,22,0,0,16,16,8,8,15,15,15,14,9,23,14,15,0,18,15,16,15,15,22,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,16,17,14,17,14,0,15,15,16,0,15,8,8,15,15,14,14,9,16,14,15,0,15,15,15,15,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,16,15,14,15,9,0,15,15,16,15,0,9,15,15,15,16,22,16,16,14,22,0,23,15,24,22,22,15,15,21,22,15,8,15,15,15,23,16,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,9,0,23,22,8,8,9,0,15,15,8,15,15,16,16,7,8,0,8,8,9,8,15,8,8,7,8,8,8,15,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,16,8,8,8,15,15,0,15,8,14,21,22,15,7,15,0,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,15,15,15,15,15,0,16,21,21,16,22,15,15,0,16,15,16,14,22,15,15,14,16,16,9,22,15,8,16,15,15,0,16,16,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,16,15,15,15,8,8,16,0,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,15,14,16,15,14,21,14,0,22,15,22,14,14,0,15,14,16,15,21,14,14,14,14,14,7,21,14,7,15,15,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,22,14,14,14,22,15,21,21,14,22,0,22,22,14,21,0,21,14,22,22,28,14,14,21,21,14,7,21,14,14,22,15,14,0,14,14,14,21,21,14,0,21,14,21,14,0,0,14,21,21,14,8,0,29,21,9,9,16,16,22,16,9,15,22,0,19,10,15,0,16,8,19,16,22,10,8,14,16,9,11,15,10,15,19,9,8,0,9,9,14,14,22,17,0,15,8,15,8,0,0,9,15,16,8,10,0,25,18,23,16,16,16,15,22,15,22,22,19,0,16,15,0,17,15,18,16,22,24,15,14,15,15,10,22,17,10,18,16,15,0,15,15,7,23,15,10,0,15,15,15,15,0,2,16,17,23,17,15,0,25,17,14,14,14,7,7,15,15,14,14,10,16,0,14,0,15,14,17,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,15,15,22,8,15,15,15,14,21,15,15,14,0,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,15,23,8,15,16,16,15,21,16,17,15,22,0,0,15,24,21,22,17,15,21,23,16,9,15,15,17,23,15,15,0,16,16,14,16,15,15,0,22,8,22,15,0,2,15,24,14,17,10,0,22,23,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,0,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,16,15,24,9,15,16,16,16,22,19,18,17,22,0,24,15,0,22,22,17,15,21,23,16,11,15,17,15,26,16,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,25,25,15,15,22,8,14,14,14,15,22,16,16,14,21,0,21,14,22,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,15,21,14,14,9,0,22,21,15,15,22,15,22,22,15,21,28,22,22,14,22,0,22,15,22,21,0,15,15,21,22,15,8,22,15,15,22,15,15,0,15,15,14,21,22,15,0,22,15,22,15,0,0,15,22,21,15,8,0,29,22,22,15,15,8,8,15,15,14,14,10,24,16,15,0,17,15,17,14,15,0,15,14,15,15,10,15,17,10,17,15,15,0,15,15,7,16,8,10,0,15,8,15,15,0,2,15,17,16,17,13,0,17,17,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,14,14,21,7,14,14,14,14,21,14,14,14,21,0,21,14,21,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,21,15,15,22,8,15,16,16,14,21,16,15,15,22,0,23,15,23,21,22,15,15,21,0,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,23,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,0,9,15,15,8,16,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,8,8,8,8,8,9,9,7,7,11,10,10,8,0,9,8,11,7,8,10,8,7,9,9,0,8,10,8,11,8,8,0,9,9,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,11,15,15,15,15,15,22,15,21,21,15,22,14,15,0,15,15,15,14,22,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,15,15,15,15,8,8,15,15,14,14,10,17,16,15,0,15,15,17,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,17,10,8,15,8,15,8,8,7,14,15,10,7,15,0,17,8,15,14,15,10,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,9,15,15,0,15,1,15,8,0,2,8,17,7,10,10,0,15,15,15,15,23,9,15,16,16,15,22,19,18,17,22,0,23,15,26,22,22,17,15,21,23,16,11,15,17,15,0,16,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,25,25,15,15,16,9,8,15,15,15,15,9,16,14,15,0,15,15,16,15,15,15,15,14,15,15,8,15,15,8,16,0,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,9,0,16,15,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,7,7,14,7,14,7,7,7,14,14,7,7,14,0,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,16,14,14,14,14,21,14,21,21,14,23,14,14,0,16,14,14,14,21,16,14,14,14,14,7,21,14,9,14,14,14,0,14,14,7,0,14,7,0,14,14,14,14,0,2,14,16,21,16,9,0,21,14,8,8,15,15,22,15,8,14,21,22,15,7,15,0,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,0,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,8,8,15,8,15,8,8,7,14,17,10,9,15,0,15,8,17,14,15,10,8,14,15,8,10,8,10,15,17,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,9,8,8,0,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,22,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,15,22,14,15,8,0,22,22,8,8,8,8,8,15,8,14,14,8,15,7,8,0,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,15,8,15,15,22,8,15,15,15,14,21,15,15,14,22,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,22,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,0,0,16,16,15,8,8,15,15,14,14,9,16,14,15,0,15,15,15,15,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,0,15,14,15,9,0,15,15,17,15,22,8,15,15,15,14,21,15,17,14,22,0,24,15,22,21,22,17,15,21,22,15,8,15,15,17,22,15,15,0,15,15,14,16,15,15,0,22,8,22,15,0,2,15,0,14,17,10,0,22,22,14,14,14,14,14,21,14,21,21,16,23,16,14,0,14,14,16,14,21,16,14,14,14,14,9,21,16,7,16,14,14,0,14,14,7,21,14,9,0,14,14,14,14,0,0,14,14,0,14,7,0,23,16,17,15,15,8,8,15,15,14,14,8,17,14,15,0,17,15,15,14,15,17,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,17,14,0,10,0,15,15,14,9,9,9,8,8,8,8,8,10,15,7,8,0,10,8,9,9,8,13,8,7,8,8,8,8,8,10,9,9,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,9,10,7,10,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,23,16,22,22,15,22,29,25,25,16,22,0,22,15,25,22,29,17,15,21,22,15,10,22,17,15,25,16,15,0,15,15,14,21,22,17,0,22,15,22,15,0,0,15,22,23,15,9,0,0,24,15,15,22,8,15,16,16,14,21,18,17,17,22,0,23,15,25,21,22,17,15,21,23,16,11,15,17,15,25,15,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,8,0,24,0,0,17,18,8,10,17,25,18,16,8,17,14,25,18,0,24,24,17,18,24,26,16,25,25,16,17,15,12,23,17,17,0,17,18,9,18,10,8,0,26,10,18,17,0,4,17,19,14,26,12,0,15,15,17,0,17,8,10,17,18,16,16,8,16,14,18,15,0,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,18,14,17,10,0,15,15,18,17,0,8,17,18,19,17,24,15,16,14,24,23,0,19,25,23,24,16,17,23,24,18,9,18,15,17,22,18,17,0,17,17,16,16,17,15,0,24,10,24,18,0,2,17,24,14,17,10,0,22,22,8,8,8,0,8,8,8,7,7,8,8,7,8,8,0,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,0,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,17,17,18,8,10,0,19,16,17,9,16,15,17,16,0,18,17,16,17,15,17,16,18,19,10,17,15,10,16,17,17,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,25,18,19,8,10,19,0,16,17,9,17,15,26,16,0,26,26,16,17,23,26,16,27,28,18,18,16,10,24,18,17,0,18,18,9,16,10,8,0,25,10,17,18,0,2,17,18,14,24,10,0,15,16,18,16,17,7,9,16,16,0,16,7,14,14,16,15,0,16,15,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,16,16,24,7,16,17,17,16,0,14,15,14,23,21,0,17,22,23,23,14,16,23,23,17,8,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,8,8,15,8,15,9,9,7,14,0,8,8,15,16,0,8,16,14,15,8,8,14,16,9,9,8,8,15,16,8,8,0,9,9,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,16,17,16,16,8,8,16,17,14,15,8,0,14,16,17,0,16,16,14,15,17,16,14,16,17,9,15,16,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,18,14,17,10,0,15,15,14,14,14,7,7,15,15,14,14,8,14,0,14,15,0,14,15,14,14,14,14,14,15,15,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,25,18,24,8,17,17,26,16,23,15,16,14,0,22,0,24,30,23,24,22,26,23,33,26,16,17,16,17,30,17,17,0,17,17,16,16,17,15,0,32,10,24,17,0,2,17,25,14,24,10,0,22,22,18,15,23,8,15,16,16,15,21,16,17,15,22,0,0,15,24,21,22,17,15,21,23,16,9,15,15,17,23,15,15,0,16,16,14,16,15,15,0,22,8,22,15,0,2,15,24,14,17,10,0,22,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,19,8,10,18,26,16,17,8,16,14,24,15,0,0,24,16,17,23,24,16,24,25,16,18,15,10,22,18,17,0,17,17,9,16,10,8,0,24,10,17,18,0,2,17,17,14,24,10,0,15,15,24,15,25,8,15,17,26,15,22,16,16,15,30,24,0,24,0,21,22,23,23,21,31,25,18,16,15,15,31,16,15,0,16,16,14,14,15,15,0,30,8,22,16,0,0,15,22,14,22,8,0,22,23,17,16,23,7,16,16,16,17,23,14,14,14,23,21,0,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,24,9,24,16,0,2,16,23,14,16,9,0,21,21,18,17,24,8,17,17,17,17,23,15,15,14,24,22,0,17,22,24,0,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,25,17,0,2,17,24,14,17,10,0,22,22,24,15,16,8,8,15,23,14,14,8,17,14,22,17,0,23,23,14,15,0,22,14,22,22,15,16,15,10,22,16,15,0,15,15,7,16,8,8,0,22,8,15,16,0,2,15,17,14,24,10,0,15,15,26,18,17,8,10,17,26,17,16,8,16,14,26,15,0,24,23,17,18,22,0,16,26,26,16,17,16,10,23,17,17,0,17,18,9,16,10,8,0,26,10,18,17,0,2,17,18,14,24,10,0,15,15,16,16,23,7,16,16,16,16,23,14,14,14,23,21,0,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,25,18,24,8,17,18,27,16,23,16,16,15,33,23,0,24,31,23,24,22,26,23,0,27,17,17,16,17,31,17,17,0,18,18,16,16,17,15,0,32,10,24,17,0,2,17,25,14,24,10,0,22,23,25,18,18,8,10,19,28,16,17,9,17,15,26,16,0,25,25,16,17,22,26,16,27,0,18,17,16,10,24,17,17,0,18,18,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,16,16,8,9,8,8,10,18,7,8,9,9,8,16,9,0,16,18,7,8,15,16,7,17,18,0,8,8,8,17,8,8,0,9,9,7,7,8,8,0,16,1,8,8,0,0,8,8,7,15,8,0,8,9,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,15,16,15,8,8,15,16,14,14,8,16,14,16,15,0,15,15,14,15,15,16,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,12,10,17,8,17,10,10,9,16,15,10,7,17,17,0,10,15,16,17,10,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,11,17,15,0,17,3,17,10,0,4,10,19,7,12,12,0,15,15,23,15,22,8,15,16,24,14,21,16,15,15,30,23,0,22,31,21,22,22,23,21,31,24,17,15,15,15,0,15,15,0,16,16,14,14,15,15,0,30,8,22,15,0,0,15,22,14,22,8,0,22,23,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,0,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,3,17,18,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,18,18,16,16,9,15,15,17,16,0,17,16,16,17,15,17,16,18,18,9,17,15,10,16,17,17,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,18,17,17,8,10,18,18,17,16,9,15,15,17,16,0,17,16,17,18,15,18,16,18,18,9,17,15,10,16,17,17,0,18,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,16,9,9,16,7,16,9,9,9,16,14,7,7,16,14,0,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,18,16,16,7,9,16,16,16,16,7,16,14,16,16,0,16,14,16,16,16,16,16,16,16,7,16,14,11,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,4,16,18,14,18,11,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,0,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,0,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,17,24,8,17,17,25,17,23,15,15,14,32,22,0,24,30,24,25,22,26,23,32,25,16,17,15,17,30,17,17,0,17,18,16,16,17,15,0,0,10,25,17,0,2,17,24,14,24,10,0,22,22,10,10,10,1,3,10,10,9,9,1,8,7,10,8,0,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,18,17,24,8,17,17,17,17,23,15,15,14,24,22,0,17,22,24,25,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,2,0,2,2,2,2,2,0,2,0,2,2,0,2,0,2,2,2,2,2,2,2,0,2,0,4,0,2,3,0,2,2,2,4,2,0,0,2,2,2,2,0,0,2,5,0,4,4,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,0,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,19,18,24,8,17,17,18,16,23,15,18,14,25,24,0,17,22,23,24,17,18,23,25,18,8,17,16,19,22,17,18,0,17,17,16,18,17,15,0,24,10,24,17,0,5,17,0,14,19,12,0,22,22,14,14,14,7,7,14,14,14,14,7,14,14,14,14,0,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,26,17,17,8,10,17,24,16,16,8,17,14,24,17,0,24,22,16,17,24,24,16,24,24,15,17,15,12,22,17,17,0,17,17,9,18,10,8,0,24,10,17,17,0,4,17,19,14,0,12,0,15,15,12,10,10,8,10,10,10,9,9,8,10,7,10,10,0,10,8,9,10,10,10,9,10,10,8,10,8,12,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,12,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,0,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,15,15,22,8,15,16,16,14,21,16,15,15,22,23,0,15,23,21,22,15,15,21,23,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,0,18,18,9,10,24,24,24,17,8,22,14,24,15,24,0,23,16,18,22,25,16,24,24,22,18,22,10,22,24,18,0,25,25,9,23,10,8,0,25,10,17,17,0,2,25,17,21,31,17,0,16,15,18,0,17,9,10,17,17,16,17,8,15,14,17,15,17,0,15,16,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,18,17,0,8,10,18,19,17,17,8,16,14,17,15,19,0,18,16,17,16,17,16,17,18,9,19,15,10,15,18,18,0,18,18,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,16,15,9,9,8,0,9,8,8,7,8,8,9,7,8,8,8,0,8,7,9,8,9,7,8,8,8,9,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,9,8,7,8,8,0,9,8,10,10,10,9,0,10,12,9,9,8,9,9,10,8,10,0,8,11,10,8,10,9,12,10,8,11,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,9,8,24,17,18,8,10,0,18,23,17,8,23,14,17,15,18,0,16,16,17,15,17,16,17,18,16,17,22,10,15,24,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,24,17,19,8,12,18,0,16,17,8,16,16,25,15,26,0,25,18,17,24,24,16,27,26,17,18,17,10,23,18,19,0,19,19,9,16,10,8,0,25,12,17,20,0,2,18,17,14,24,10,0,15,15,24,16,17,7,9,23,16,0,16,7,21,14,16,14,16,0,15,16,16,14,16,16,16,16,14,17,21,9,14,23,17,0,24,24,9,23,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,15,14,17,17,17,8,9,17,17,16,0,7,15,14,16,14,17,0,15,16,17,14,17,16,16,17,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,0,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,22,15,16,9,9,23,16,21,15,8,0,14,15,15,16,0,16,14,15,15,15,14,15,16,16,16,22,8,15,22,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,16,15,14,14,14,7,9,14,16,14,14,7,14,0,14,14,14,0,14,16,14,14,14,14,16,14,7,14,16,7,14,14,16,0,16,16,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,14,24,17,17,8,10,17,25,16,16,8,15,14,0,15,24,0,23,16,17,23,24,16,25,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,0,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,24,17,19,8,10,18,26,16,17,8,16,14,24,15,0,0,24,16,17,23,24,16,24,25,16,18,15,10,22,18,17,0,17,17,9,16,10,8,0,24,10,17,18,0,2,17,17,14,24,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,15,18,8,8,16,25,15,15,8,16,14,23,15,24,0,0,16,15,24,22,14,23,24,17,17,15,8,23,16,16,0,16,16,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,16,15,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,0,16,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,0,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,22,15,16,8,8,15,24,14,14,8,15,14,23,15,23,0,24,14,15,0,22,14,23,23,16,16,15,8,23,16,15,0,15,15,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,15,15,25,18,17,9,10,17,24,16,17,8,15,14,24,15,24,0,22,16,18,22,0,16,24,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,0,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,24,17,17,8,12,17,27,16,16,8,15,16,25,15,24,0,23,18,17,23,24,16,0,25,16,17,17,10,23,17,19,0,19,19,9,16,10,8,0,25,12,17,19,0,2,18,17,14,24,10,0,15,15,24,17,18,8,10,18,26,16,17,8,16,14,25,15,25,0,24,16,17,23,24,16,25,0,17,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,22,8,9,8,8,16,17,14,8,8,16,7,16,8,16,0,17,7,8,16,15,7,16,17,0,8,15,8,16,15,8,0,15,15,7,14,8,8,0,16,1,8,8,0,0,16,8,14,22,15,0,8,8,18,17,19,9,11,17,18,17,16,8,16,14,17,15,18,0,17,16,17,16,17,16,17,17,8,0,15,10,15,18,18,0,18,18,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,17,15,22,15,15,8,10,22,17,21,14,8,22,16,15,15,15,0,15,16,15,15,15,14,17,15,15,15,0,8,15,22,17,0,24,24,7,21,8,8,0,15,10,15,17,0,0,22,15,21,22,15,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,0,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,0,23,14,15,23,22,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,16,15,14,22,8,0,15,15,24,17,18,8,10,24,18,23,16,8,22,14,17,15,18,0,16,16,17,16,17,16,17,17,15,18,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,18,0,2,24,17,21,24,17,0,15,15,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,0,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,20,20,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,17,18,8,12,24,19,24,16,8,22,16,17,15,17,0,16,18,17,15,17,16,19,17,15,18,24,10,15,24,20,0,0,27,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,15,25,17,18,8,12,24,19,24,16,8,22,16,17,15,17,0,16,18,17,15,17,16,19,17,15,18,24,10,15,24,20,0,27,0,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,0,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,0,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,0,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,0,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,9,10,17,25,16,17,8,15,14,25,15,24,0,23,16,18,23,25,16,25,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,19,17,14,24,10,0,15,15,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,0,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,0,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,18,8,12,17,20,16,16,8,15,16,17,15,18,0,16,18,17,16,17,16,19,17,8,18,17,10,15,18,19,0,19,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,0,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,25,18,17,9,10,24,18,23,17,8,22,14,18,15,17,0,16,16,18,16,18,16,18,18,16,17,22,10,16,24,17,0,24,24,9,23,10,8,0,19,10,17,17,0,2,0,17,21,24,17,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,0,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,0,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,31,17,17,8,10,24,24,23,16,8,22,14,24,15,24,0,22,16,17,22,24,16,24,24,22,17,22,10,22,24,17,0,24,24,9,23,10,8,0,24,10,17,17,0,2,24,17,21,0,17,0,15,15,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,0,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,9,9,15,15,15,14,8,16,14,15,15,15,0,16,14,15,15,15,14,15,15,8,17,15,8,15,15,16,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,0,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,15,17,8,8,15,23,16,14,8,15,14,23,16,24,23,0,14,15,22,23,14,23,23,16,16,15,8,23,15,16,0,16,16,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,16,15,15,0,15,8,8,15,15,14,14,8,15,14,15,15,15,15,0,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,15,0,9,15,16,17,17,23,16,17,14,22,24,25,18,0,22,22,16,15,21,22,16,9,17,15,15,23,17,16,0,16,16,14,14,15,15,0,22,8,22,16,0,0,15,22,14,15,9,0,24,22,8,8,9,0,8,10,8,8,8,9,9,7,8,9,8,8,0,8,8,8,10,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,10,1,8,8,0,0,8,8,7,8,9,0,9,10,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,15,15,16,10,8,0,17,14,15,9,16,15,15,16,17,16,0,14,15,15,17,14,16,17,10,15,15,8,16,15,15,0,16,16,7,14,8,8,0,17,8,15,15,0,0,15,15,14,15,8,0,15,18,23,15,17,8,8,17,0,14,15,9,16,15,24,16,26,25,0,14,15,24,23,14,25,26,19,16,15,8,25,16,15,0,16,16,7,14,8,8,0,24,8,15,16,0,0,16,15,14,22,8,0,15,16,16,14,17,8,7,14,14,0,15,8,15,14,14,16,15,15,0,15,14,14,14,14,14,14,7,15,14,7,15,15,15,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,8,0,16,14,14,14,23,8,14,15,15,15,0,15,16,14,21,22,22,15,0,22,21,14,14,21,21,15,8,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,8,8,16,9,15,9,9,8,15,0,11,10,15,19,16,8,0,15,15,10,8,14,16,9,11,8,10,15,19,9,8,0,9,9,14,7,15,17,0,15,1,15,8,0,0,8,15,9,8,9,0,18,18,15,15,17,9,8,16,16,15,16,11,0,16,15,18,16,16,0,15,15,17,15,14,15,16,11,15,17,8,18,16,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,9,0,18,17,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,0,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,23,15,22,8,15,15,24,14,21,15,15,14,0,22,30,23,0,21,22,23,23,21,31,24,17,15,15,15,31,15,15,0,15,15,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,22,16,15,24,9,15,16,16,16,22,19,18,17,22,0,24,15,0,22,22,17,15,21,23,16,11,15,17,15,26,16,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,25,25,24,15,25,8,15,17,26,15,22,16,16,15,30,24,0,24,0,21,22,23,23,21,31,25,18,16,15,15,31,16,15,0,16,16,14,14,15,15,0,30,8,22,16,0,0,15,22,14,22,8,0,22,23,23,15,18,8,8,16,25,15,15,8,16,14,23,15,24,0,0,16,15,24,22,14,23,24,17,17,15,8,23,16,16,0,16,16,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,16,0,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,0,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,22,15,16,8,8,15,24,14,14,10,17,16,23,17,23,24,0,14,15,0,22,14,23,23,18,16,17,8,25,16,15,0,15,15,7,14,8,10,0,23,8,15,16,0,0,16,15,16,22,8,0,17,17,23,15,15,10,8,17,23,14,14,8,15,14,23,15,23,22,0,14,15,22,0,14,23,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,25,8,15,15,0,0,15,15,14,22,8,0,15,17,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,0,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,21,23,15,22,8,15,16,25,14,21,16,15,15,31,23,31,23,0,21,22,23,23,21,0,25,18,15,15,15,32,15,15,0,16,16,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,23,23,15,16,8,8,17,26,14,15,9,16,15,24,16,25,24,0,14,15,23,23,14,25,0,19,15,15,8,25,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,16,8,9,8,8,10,19,7,8,11,11,10,17,11,18,17,0,7,8,18,16,7,18,19,0,8,10,8,20,8,8,0,9,9,7,7,8,10,0,17,1,8,8,0,0,9,8,9,15,8,0,10,11,16,15,17,8,8,15,16,15,14,8,15,14,15,15,16,17,0,14,15,16,15,14,15,15,8,0,15,8,15,16,16,0,16,16,7,14,8,8,0,15,8,15,16,0,0,15,15,14,15,8,0,16,15,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,0,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,17,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,23,15,23,9,15,16,25,15,22,19,18,17,31,26,31,23,0,22,22,25,23,21,32,25,20,15,17,15,0,16,15,0,16,16,14,14,15,17,0,31,8,22,15,0,0,16,22,16,22,9,0,25,25,15,15,17,9,8,15,16,15,15,9,16,14,15,16,16,16,0,15,15,16,15,14,15,15,8,16,15,8,16,0,15,0,15,15,7,14,8,8,0,15,8,15,16,0,0,15,15,14,15,9,0,16,15,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,0,14,15,15,15,14,15,15,8,16,15,8,15,15,0,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,8,8,16,16,15,14,9,15,15,15,16,16,16,0,14,15,15,15,14,16,16,9,16,15,8,16,15,16,0,0,17,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,16,16,15,16,8,8,16,16,15,14,9,15,15,15,16,16,16,0,14,15,15,15,14,16,16,9,16,15,8,16,15,16,0,17,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,16,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,0,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,0,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,0,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,8,8,15,8,15,8,8,7,14,17,10,9,15,17,15,8,0,14,15,10,8,14,15,8,10,8,10,15,17,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,9,8,8,0,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,15,22,10,15,17,24,14,21,15,15,14,31,22,30,23,0,21,22,23,25,21,31,24,17,15,15,15,31,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,16,22,14,22,8,0,22,24,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,0,7,8,8,8,7,8,8,1,8,8,1,8,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,8,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,22,15,15,16,8,8,15,16,14,14,8,15,14,15,15,16,16,0,14,15,16,15,14,15,15,8,16,15,8,15,16,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,16,14,14,8,15,14,16,15,15,16,0,14,15,16,15,14,16,16,9,15,15,8,16,15,15,0,15,15,7,14,8,8,0,16,8,15,15,0,0,0,15,14,15,8,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,22,14,14,14,7,7,14,14,14,14,9,16,16,14,16,14,14,0,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,16,22,15,15,8,8,15,22,14,14,8,15,14,22,15,22,22,0,14,15,22,22,14,22,22,15,15,15,8,22,15,15,0,15,15,7,14,8,8,0,22,8,15,15,0,0,15,15,14,0,8,0,15,15,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,0,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,24,9,15,15,15,16,22,18,18,16,22,25,22,16,0,22,22,17,15,21,22,15,10,16,17,15,25,16,16,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,0,24,15,15,22,10,15,18,16,14,21,18,17,17,22,25,23,15,0,21,22,17,17,21,23,16,11,15,17,15,25,15,15,0,16,16,14,14,15,17,0,24,8,22,15,0,0,15,22,16,15,8,0,24,0,0,17,16,7,9,16,16,17,16,8,15,14,16,15,17,16,14,0,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,17,16,14,16,10,0,14,14,17,0,16,7,9,16,16,16,16,8,15,14,16,15,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,17,16,14,16,10,0,14,14,16,16,0,8,17,16,16,18,24,15,15,14,24,22,23,16,22,0,23,15,16,23,23,16,7,17,15,16,22,18,16,0,16,16,16,16,17,15,0,23,10,23,16,0,2,16,23,14,17,11,0,22,21,7,7,8,0,7,7,7,8,8,8,8,7,7,8,7,7,8,0,7,7,7,7,7,7,7,7,7,7,8,8,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,8,0,8,7,9,9,17,7,0,9,11,10,16,14,7,9,17,14,16,11,14,0,16,8,9,16,18,9,7,10,10,16,14,10,11,0,11,11,16,9,17,15,0,16,5,16,11,0,2,9,16,7,10,10,0,14,14,16,16,16,7,9,0,16,16,16,7,14,14,16,14,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,11,16,0,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,17,16,18,8,10,16,16,0,18,8,15,15,17,15,17,16,15,0,17,15,17,17,16,16,7,17,15,9,15,18,16,0,16,17,10,17,10,8,0,17,10,17,16,0,3,16,16,15,17,11,0,15,14,16,16,24,8,16,16,16,18,0,15,15,15,23,22,23,16,22,0,23,14,16,24,23,16,7,16,14,16,22,17,16,0,16,16,17,17,16,15,0,23,9,24,16,0,3,16,23,15,16,10,0,22,21,8,8,15,8,14,7,7,8,15,0,9,7,14,16,14,7,15,0,14,7,7,14,14,7,7,7,7,14,15,8,7,0,7,7,14,7,14,14,0,14,0,14,7,0,0,8,14,7,7,9,0,15,14,15,15,15,8,7,14,14,15,15,9,0,14,14,16,14,14,15,0,14,14,14,14,14,14,7,14,14,7,15,15,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,15,14,14,14,9,0,15,14,14,14,14,7,9,14,16,15,15,7,14,0,14,14,14,16,14,0,14,14,14,15,16,14,7,14,16,7,14,14,16,0,16,16,8,15,7,7,0,14,9,14,16,0,1,14,14,15,14,7,0,14,14,16,16,24,7,17,16,16,17,23,14,14,14,0,21,23,16,21,0,23,15,16,23,23,16,7,17,15,16,21,17,16,0,16,16,16,16,17,15,0,23,10,23,16,0,2,16,23,14,17,10,0,21,21,15,15,22,8,14,14,14,15,22,16,16,14,21,0,21,14,22,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,15,21,14,14,9,0,22,21,17,16,23,7,16,16,16,17,23,14,14,14,23,21,0,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,24,9,24,16,0,2,16,23,14,16,9,0,21,21,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,0,16,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,16,0,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,16,23,7,16,16,16,17,23,14,14,14,23,21,24,16,21,0,0,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,24,9,24,16,0,2,16,23,14,16,9,0,21,21,14,14,15,7,8,14,14,15,14,7,14,14,15,14,14,14,14,0,14,0,14,14,14,14,7,15,15,7,14,15,14,0,14,14,7,14,8,8,0,14,8,14,14,0,0,14,14,14,15,8,0,14,14,17,16,16,7,9,16,16,17,16,7,14,14,16,14,17,16,14,0,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,16,16,23,7,16,16,16,17,24,14,14,15,23,21,23,16,21,0,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,17,17,16,14,0,23,9,23,16,0,3,16,23,15,16,9,0,21,21,16,16,23,7,18,16,18,16,23,14,14,16,23,21,23,18,21,0,23,14,16,23,0,16,7,16,16,16,21,16,18,0,18,18,16,16,16,14,0,23,11,23,18,0,2,16,23,14,16,9,0,21,21,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,0,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,16,16,17,7,10,16,16,17,16,7,14,14,17,14,16,16,14,0,16,15,16,16,16,16,7,0,15,9,14,17,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,17,10,0,14,14,14,14,15,7,10,14,16,15,14,7,14,16,15,14,14,16,14,0,14,15,14,14,16,14,7,15,0,7,14,15,16,0,16,16,7,14,8,8,0,14,10,14,16,0,0,14,14,14,15,8,0,14,14,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,0,16,7,9,16,16,9,7,9,7,0,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,14,22,0,21,14,14,21,21,14,7,14,14,14,0,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,16,16,18,8,10,16,16,18,17,8,15,14,17,15,16,16,15,0,16,15,16,16,16,16,7,17,15,9,15,0,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,17,11,0,15,14,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,0,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,0,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,17,16,16,7,11,16,18,17,16,7,14,16,16,14,17,18,14,0,17,14,17,16,18,16,7,16,16,9,14,16,18,0,18,0,9,16,9,7,0,17,11,17,18,0,2,16,16,14,16,9,0,14,14,9,9,16,7,16,9,9,10,17,14,7,8,16,14,16,9,14,0,16,7,9,17,16,9,7,9,7,16,14,9,9,0,9,9,0,10,16,14,0,16,2,16,9,0,3,9,16,8,9,9,0,14,14,16,16,16,7,9,16,16,17,17,7,14,15,16,14,16,16,14,0,16,14,16,17,16,16,7,16,14,9,14,16,16,0,16,16,10,0,9,7,0,16,9,16,16,0,3,16,16,16,16,9,0,14,14,9,9,17,7,17,9,9,10,16,14,7,7,17,14,16,9,14,0,16,8,9,16,16,9,7,10,8,16,14,10,9,0,9,9,16,9,0,15,0,16,3,16,9,0,2,9,16,7,10,10,0,14,14,7,7,15,7,15,7,7,8,15,14,7,7,15,14,14,7,14,0,14,8,7,14,14,7,7,8,8,14,14,8,7,0,7,7,14,7,15,0,0,14,1,15,7,0,0,7,14,7,8,8,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,16,23,7,16,16,16,17,23,14,14,14,23,21,24,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,0,9,24,16,0,2,16,23,14,16,9,0,21,21,9,9,10,0,5,9,11,10,9,0,7,9,10,7,9,11,7,0,9,8,9,9,11,9,0,10,10,2,7,10,11,0,11,11,2,9,3,1,0,9,0,9,11,0,2,9,9,7,10,3,0,7,7,17,16,23,7,16,16,16,17,24,14,14,14,23,21,24,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,15,0,24,9,0,16,0,2,16,23,14,16,9,0,21,21,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,0,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,3,3,0,0,1,2,0,2,2,0,0,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,17,17,16,7,9,16,16,16,16,8,15,14,16,15,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,0,16,14,16,10,0,14,14,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,0,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,0,14,16,9,0,21,21,14,14,14,7,7,14,14,15,15,7,14,15,14,14,14,14,14,0,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,16,7,7,0,14,7,14,14,0,1,14,14,0,14,7,0,14,14,16,16,17,7,10,16,16,17,16,7,14,14,17,14,16,16,14,0,16,15,16,16,16,16,7,17,15,9,14,17,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,0,10,0,14,14,10,10,11,8,10,9,9,11,10,9,9,7,10,9,9,9,8,0,9,8,9,9,9,9,7,10,8,9,8,11,9,0,9,9,9,9,10,8,0,9,3,9,9,0,2,10,9,7,10,0,0,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,14,22,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,0,21,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,21,0,21,14,14,21,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,0,18,17,9,10,17,17,17,17,8,15,14,17,15,18,18,15,17,0,15,19,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,19,10,18,17,0,2,18,17,14,17,10,0,15,15,18,0,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,17,17,0,8,17,17,17,18,25,15,15,14,26,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,18,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,9,9,8,0,15,15,8,14,15,15,15,7,8,15,8,9,8,7,0,8,9,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,15,8,0,9,8,8,8,0,0,9,8,14,8,8,0,15,8,10,10,17,15,0,17,10,16,23,22,15,7,17,22,17,10,15,16,0,8,10,16,17,10,8,17,8,17,15,10,10,0,10,10,16,16,24,15,0,17,10,17,10,0,2,10,17,14,10,10,0,22,15,17,17,17,15,17,0,17,24,23,17,22,14,17,22,17,17,15,16,0,15,17,16,17,17,8,24,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,17,17,17,8,10,17,0,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,16,18,14,16,24,16,0,25,15,21,14,18,21,17,16,14,17,0,14,17,16,16,16,7,23,14,9,14,16,16,0,16,17,11,23,16,7,0,17,16,17,16,0,2,16,16,21,16,9,0,21,14,17,17,25,15,23,23,16,25,0,21,21,14,25,28,23,17,21,23,0,14,17,23,23,16,7,23,14,16,21,16,16,0,16,16,18,23,23,14,0,24,16,23,16,0,2,17,23,21,16,9,0,28,21,8,8,15,15,22,17,8,15,21,0,15,7,15,22,15,8,15,14,0,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,15,15,15,15,15,22,15,21,21,15,0,14,15,22,15,15,15,14,0,15,15,14,15,15,8,22,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,0,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,17,17,26,8,17,17,17,18,25,15,15,14,0,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,18,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,15,15,22,15,22,22,15,21,28,22,22,14,22,0,22,15,22,21,0,15,15,21,22,15,8,22,15,15,22,15,15,0,15,15,14,21,22,15,0,22,15,22,15,0,0,15,22,21,15,8,0,29,22,18,17,24,8,17,17,17,17,23,15,15,14,24,22,0,17,22,24,0,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,25,17,0,2,17,24,14,17,10,0,22,22,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,0,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,0,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,17,16,23,7,16,16,16,17,23,14,14,14,23,21,24,16,21,0,0,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,24,9,24,16,0,2,16,23,14,16,9,0,21,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,0,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,19,18,17,9,10,17,17,17,17,8,15,14,17,15,18,18,15,17,0,15,0,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,19,10,18,17,0,2,18,17,14,17,10,0,15,15,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,0,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,0,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,0,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,17,17,17,15,17,24,17,23,23,15,22,14,17,22,17,17,15,16,0,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,0,15,15,14,15,15,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,0,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,0,15,15,21,22,15,8,15,15,15,0,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,15,9,9,18,7,16,9,9,11,18,14,7,7,18,14,16,9,14,16,0,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,16,14,16,23,16,23,23,14,21,14,16,21,16,16,14,16,0,14,16,16,16,16,7,23,14,9,14,16,16,0,16,16,9,0,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,10,10,17,15,24,17,10,16,23,22,15,7,17,22,17,10,15,16,0,8,10,16,17,10,8,17,8,17,15,10,10,0,10,10,16,16,0,15,0,17,10,17,10,0,2,10,17,14,10,10,0,22,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,0,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,18,24,9,17,17,17,17,24,15,15,14,24,22,25,18,22,24,0,15,19,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,0,10,25,17,0,2,18,24,14,17,10,0,22,22,10,10,10,8,10,17,10,16,16,8,15,7,10,15,10,10,8,9,0,8,10,9,10,10,1,17,8,3,8,10,10,0,10,10,2,16,10,1,0,10,0,10,10,0,9,10,10,14,10,3,0,15,8,18,17,24,8,17,17,17,17,23,15,15,14,24,22,25,17,22,24,0,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,0,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,9,2,2,0,0,2,2,0,2,2,0,0,0,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,14,14,14,14,14,21,14,21,21,14,21,14,14,21,14,14,14,14,0,14,14,14,14,14,7,21,14,7,14,14,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,0,14,7,0,21,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,0,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,15,22,22,15,21,28,22,22,14,22,29,22,15,22,21,0,15,15,21,22,15,8,22,15,15,22,15,15,0,15,15,14,21,22,15,0,22,15,22,15,0,0,15,22,21,15,8,0,0,22,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,0,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,0,15,15,8,8,15,22,14,14,8,22,14,22,22,24,22,22,14,15,0,22,14,22,22,15,15,15,10,22,15,15,0,15,15,7,16,8,8,0,22,8,15,15,0,2,15,17,14,24,13,0,15,15,15,0,15,15,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,22,8,22,15,8,15,15,15,0,15,15,7,14,8,8,0,15,15,15,15,0,0,15,15,14,15,8,0,15,15,15,15,0,8,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,15,8,17,16,8,15,17,15,0,15,15,7,14,9,9,0,15,9,15,16,0,0,15,15,14,16,9,0,15,15,8,15,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,0,8,7,8,15,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,8,8,8,8,0,0,8,8,7,8,8,0,8,8,8,8,9,8,0,8,8,8,7,8,8,7,9,8,8,8,8,8,8,0,8,7,8,8,8,9,9,8,8,9,8,0,8,8,7,7,9,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,15,15,15,8,8,0,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,22,15,16,8,8,15,0,14,14,8,15,14,23,15,23,24,24,14,15,0,22,14,23,23,16,16,15,8,23,16,15,0,15,15,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,15,15,14,14,15,7,8,14,14,0,14,7,14,14,15,14,14,14,14,15,14,0,14,14,14,14,7,15,15,7,14,15,14,0,14,14,7,14,8,8,0,14,8,14,14,0,0,14,14,14,15,8,0,14,14,14,14,14,7,7,14,14,14,0,7,14,14,14,14,14,14,14,14,14,0,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,8,8,8,8,8,8,8,7,7,0,10,9,8,10,8,8,10,7,8,0,8,7,8,8,10,8,10,8,10,8,8,0,8,8,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,22,15,15,8,8,15,15,14,14,10,0,16,15,24,17,15,17,14,15,0,15,14,15,15,10,15,17,10,17,15,15,0,15,15,7,16,8,10,0,15,8,15,15,0,2,15,17,16,17,13,0,17,17,14,14,14,7,7,14,14,14,14,9,16,0,14,16,14,14,16,14,14,0,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,16,22,15,16,8,9,15,23,15,14,8,15,14,0,15,22,23,23,15,15,0,22,14,23,23,16,16,16,8,23,16,15,0,15,15,7,14,9,9,0,23,9,15,15,0,0,16,15,14,23,9,0,15,15,22,15,15,8,8,15,15,14,14,10,24,16,15,0,17,15,17,14,15,0,15,14,15,15,10,15,17,10,17,15,15,0,15,15,7,16,8,10,0,15,8,15,15,0,2,15,17,16,17,13,0,17,17,24,15,16,8,8,15,23,14,14,8,17,14,22,17,0,23,23,14,15,0,22,14,22,22,15,16,15,10,22,16,15,0,15,15,7,16,8,8,0,22,8,15,16,0,2,15,17,14,24,10,0,15,15,22,15,16,8,8,15,24,14,14,8,15,14,23,15,23,0,24,14,15,0,22,14,23,23,16,16,15,8,23,16,15,0,15,15,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,15,15,22,15,16,8,8,15,24,14,14,10,17,16,23,17,23,24,0,14,15,0,22,14,23,23,18,16,17,8,25,16,15,0,15,15,7,14,8,10,0,23,8,15,16,0,0,16,15,16,22,8,0,17,17,14,14,15,7,8,14,14,15,14,7,14,14,15,14,14,14,14,0,14,0,14,14,14,14,7,15,15,7,14,15,14,0,14,14,7,14,8,8,0,14,8,14,14,0,0,14,14,14,15,8,0,14,14,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,0,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,15,15,8,8,15,22,14,14,8,15,14,22,15,22,22,22,14,15,0,0,14,22,22,15,15,15,8,22,15,15,0,15,15,7,14,8,8,0,22,8,15,15,0,0,15,15,14,22,8,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,0,14,0,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,0,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,16,15,14,22,8,0,15,15,22,22,15,15,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,23,0,16,22,15,8,23,15,15,0,15,15,7,14,8,8,0,23,15,15,15,0,0,16,15,14,22,8,0,15,15,15,8,8,8,8,8,16,7,7,10,10,9,16,10,15,16,18,7,8,0,15,7,16,16,0,8,10,8,18,8,8,0,8,8,7,7,8,10,0,16,1,8,8,0,0,9,8,9,15,8,0,10,10,15,22,17,15,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,22,8,0,16,8,15,17,15,0,15,15,7,14,9,9,0,15,16,15,16,0,0,15,15,14,16,9,0,15,15,15,15,16,8,9,15,15,15,14,10,17,16,16,17,15,15,17,15,15,0,15,14,15,15,10,16,0,8,17,16,15,0,15,15,7,14,9,11,0,15,9,15,15,0,0,15,15,16,16,9,0,17,17,10,8,8,8,8,8,8,7,7,8,10,7,8,10,10,8,8,7,8,0,8,7,8,8,8,8,8,0,8,8,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,8,10,7,10,10,0,8,8,22,15,15,8,8,15,23,14,14,10,17,16,23,17,22,23,25,14,15,0,22,14,23,23,18,15,17,8,0,15,15,0,15,15,7,14,8,10,0,23,8,15,15,0,0,16,15,16,22,8,0,17,17,15,15,17,8,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,15,8,17,16,8,15,0,15,0,15,15,7,14,9,9,0,15,9,15,16,0,0,15,15,14,16,9,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,0,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,7,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,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,16,14,14,7,7,14,14,14,14,7,16,14,14,16,16,14,14,14,14,0,14,14,14,14,7,14,14,9,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,2,14,16,14,16,9,0,14,14,8,8,9,8,9,8,8,8,7,8,8,7,9,8,8,8,8,8,8,0,8,7,8,8,8,9,9,8,8,9,8,0,8,8,7,7,0,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,8,8,9,8,9,8,8,8,7,10,10,9,9,10,8,8,10,8,8,0,8,7,8,8,10,9,11,8,10,9,8,0,8,8,7,7,9,0,0,8,2,8,8,0,0,8,8,9,9,9,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,23,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,0,8,15,15,0,0,16,15,14,22,8,0,15,15,8,15,9,8,2,8,8,8,7,1,8,7,9,8,8,8,8,8,8,0,8,7,8,15,1,16,9,1,8,9,8,0,8,8,0,7,2,2,0,8,0,8,8,0,0,8,8,7,9,2,0,8,8,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,15,15,16,8,8,15,16,14,14,8,15,14,15,15,16,16,16,14,15,0,15,14,15,15,8,16,15,8,15,16,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,0,0,15,15,15,8,8,15,16,14,14,8,15,14,16,15,15,16,16,14,15,0,15,14,16,16,9,15,15,8,16,15,15,0,15,15,7,14,8,8,0,16,8,15,15,0,0,0,15,14,15,8,0,15,15,17,15,15,8,8,15,15,14,14,8,17,14,15,17,17,15,15,14,15,0,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,0,14,17,10,0,15,15,14,14,14,7,7,14,14,14,14,9,16,16,14,16,14,14,16,14,14,0,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,16,24,15,16,8,9,15,22,15,14,8,17,14,23,17,24,22,22,15,15,0,22,14,22,22,15,16,16,10,22,16,15,0,15,15,7,16,9,9,0,22,9,15,15,0,2,15,17,14,0,11,0,15,15,13,8,9,8,9,8,8,8,7,8,13,7,9,13,10,8,8,8,8,0,8,7,8,8,8,9,9,10,8,9,8,0,8,8,7,9,9,9,0,8,2,8,8,0,2,8,10,7,11,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,0,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,0,17,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,0,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,0,0,18,17,9,10,17,25,17,17,8,15,14,25,15,26,25,23,17,19,22,0,16,25,25,16,17,15,10,23,17,17,0,17,18,9,16,10,8,0,27,10,18,17,0,2,18,17,14,24,10,0,15,15,18,0,17,9,10,17,18,16,17,8,16,14,18,15,18,18,15,16,18,15,0,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,18,14,17,10,0,15,15,17,17,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,9,9,8,0,8,10,8,7,8,8,8,7,8,8,8,9,10,7,9,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,11,1,8,8,0,0,9,8,7,8,8,0,8,10,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,17,17,17,10,10,0,17,16,16,8,15,14,17,15,17,17,17,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,21,10,17,17,0,2,17,17,14,17,10,0,15,17,25,18,17,8,10,17,0,16,16,8,16,21,26,15,26,24,23,16,17,22,0,16,26,26,16,17,16,10,23,17,24,0,17,17,9,16,10,8,0,25,10,17,24,0,9,17,18,14,24,10,0,15,15,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,17,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,15,16,15,8,8,15,16,14,14,8,0,14,16,15,16,15,15,14,15,15,0,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,7,14,21,14,14,7,14,0,14,14,14,14,14,14,14,14,0,14,14,14,7,14,14,7,14,14,21,0,14,14,7,14,7,7,0,14,7,14,21,0,7,14,14,14,14,7,0,14,14,25,18,17,8,10,17,26,16,16,8,16,14,0,15,26,24,23,16,17,22,0,16,26,26,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,26,18,17,8,10,17,26,17,16,8,16,14,26,15,0,24,23,17,18,22,0,16,26,26,16,17,16,10,23,17,17,0,17,18,9,16,10,8,0,26,10,18,17,0,2,17,18,14,24,10,0,15,15,25,18,17,9,10,17,24,16,17,8,15,14,24,15,24,0,22,16,18,22,0,16,24,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,23,15,15,10,8,17,23,14,14,8,15,14,23,15,23,22,0,14,15,22,0,14,23,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,25,8,15,15,0,0,15,15,14,22,8,0,15,17,17,16,16,7,9,16,16,17,16,7,14,14,16,14,17,16,14,0,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,19,18,17,9,10,17,17,17,17,8,15,14,17,15,18,18,15,17,0,15,0,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,19,10,18,17,0,2,18,17,14,17,10,0,15,15,22,15,15,8,8,15,22,14,14,8,15,14,22,15,22,22,22,14,15,0,0,14,22,22,15,15,15,8,22,15,15,0,15,15,7,14,8,8,0,22,8,15,15,0,0,15,15,14,22,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,0,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,25,18,17,8,10,17,26,16,16,8,16,14,26,15,26,24,23,16,17,22,0,16,0,26,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,25,18,17,8,10,17,26,16,16,8,16,14,26,15,26,24,23,16,17,22,0,16,26,0,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,16,8,8,8,8,8,16,7,7,8,8,7,16,8,16,15,16,7,8,15,0,7,16,16,0,8,8,8,16,8,8,0,8,8,7,7,8,8,0,16,1,8,8,0,0,8,8,7,15,8,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,16,15,8,8,15,16,14,14,8,16,14,16,15,16,15,15,14,15,15,0,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,23,15,15,8,8,15,23,14,14,8,15,14,23,15,23,22,23,14,15,22,0,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,24,16,16,8,15,21,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,24,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,0,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,0,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,18,17,11,10,21,25,17,17,8,15,14,25,15,26,25,25,17,19,22,0,16,25,25,16,17,15,10,23,17,17,0,17,18,9,16,10,8,0,0,10,18,17,0,2,18,17,14,24,10,0,15,17,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,0,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,24,16,16,8,15,21,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,24,0,17,17,9,16,10,8,0,17,10,17,0,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,9,2,2,0,0,7,2,0,2,2,0,2,2,0,0,2,2,2,0,2,0,2,0,2,9,0,2,2,2,2,2,0,0,2,2,2,9,0,0,2,2,0,2,2,0,0,0,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,17,18,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,0,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,0,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,24,17,17,8,10,17,24,16,16,8,15,14,24,15,24,24,22,16,17,22,0,16,24,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,24,10,17,17,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,15,15,10,8,17,15,14,14,8,15,14,15,15,15,15,17,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,17,8,15,15,0,0,15,15,14,15,8,0,15,0,0,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,0,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,16,16,0,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,7,7,7,0,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,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,9,9,16,7,0,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,0,16,9,7,9,7,16,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,16,7,9,0,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,0,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,0,17,7,14,15,16,14,16,16,14,17,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,10,17,9,7,0,16,9,16,16,0,3,16,16,15,16,9,0,14,14,16,16,23,7,16,16,16,17,0,14,14,16,23,21,23,16,21,24,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,17,18,16,14,0,23,9,23,16,0,3,16,23,17,16,9,0,21,21,7,9,14,7,14,7,7,7,14,0,7,7,14,14,14,7,14,14,14,7,7,0,14,7,9,9,7,14,16,9,7,0,7,7,14,7,16,16,0,14,0,16,7,0,0,9,14,9,7,7,0,16,14,14,14,14,7,7,14,14,14,14,7,0,14,14,14,14,14,14,14,14,14,14,0,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,7,14,14,15,16,7,14,0,14,14,14,14,14,15,14,14,14,0,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,16,16,23,7,16,16,16,16,23,14,14,14,0,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,11,0,21,21,14,14,21,7,14,14,14,14,21,14,14,14,21,0,21,14,21,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,21,16,16,23,7,16,16,16,16,23,14,14,14,23,21,0,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,0,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,0,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,21,16,16,23,7,16,16,16,17,24,14,14,15,23,21,23,16,21,0,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,17,17,16,14,0,23,9,23,16,0,3,16,23,15,16,9,0,21,21,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,0,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,0,14,0,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,0,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,0,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,7,9,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,0,7,7,0,9,7,7,9,9,7,0,7,7,7,7,9,9,0,7,0,9,7,0,0,9,7,9,7,7,0,9,7,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,0,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,0,14,14,7,14,0,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,0,16,9,7,9,7,0,14,9,10,1,9,9,17,10,16,14,1,16,2,17,9,1,2,9,17,8,9,9,0,14,14,14,16,21,7,14,14,14,14,21,16,14,14,21,21,21,14,21,21,21,14,14,0,21,14,9,16,14,14,0,16,14,0,14,14,14,14,16,16,0,21,7,23,14,0,0,16,21,16,14,7,0,23,21,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,0,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,10,14,16,0,1,16,16,10,17,9,7,1,16,9,17,16,1,2,16,17,15,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,0,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,0,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,9,9,16,7,16,9,9,10,17,14,7,8,16,14,16,9,14,17,16,7,9,0,16,9,7,9,7,17,14,9,10,1,9,9,0,11,16,14,1,16,2,17,9,1,3,9,17,9,9,9,0,14,14,16,16,16,7,9,16,16,17,18,7,14,15,16,14,16,16,14,17,16,14,16,0,16,16,7,16,14,10,14,16,17,1,16,16,11,0,9,7,1,16,9,17,16,1,3,16,17,17,16,9,0,14,14,9,11,16,7,16,9,9,9,16,16,7,7,16,14,16,9,14,16,16,7,9,0,16,9,9,11,7,16,16,11,9,0,9,9,16,9,0,16,0,16,2,18,9,0,2,11,16,9,9,9,0,16,14,7,9,14,7,14,7,7,7,14,16,7,7,14,14,14,7,14,14,14,7,7,0,14,7,9,9,7,14,16,9,7,0,7,7,14,7,16,0,0,14,0,16,7,0,0,9,14,9,7,7,0,16,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,0,9,23,16,0,2,16,23,14,16,9,0,21,21,9,9,9,0,2,9,9,9,9,0,7,7,9,7,9,9,7,9,9,7,9,0,9,9,0,9,7,2,7,9,9,0,9,9,2,9,2,0,0,9,0,9,9,0,2,9,9,7,9,2,0,7,7,16,18,23,7,16,16,16,16,23,16,14,14,23,21,23,16,21,23,23,14,16,0,23,16,9,18,14,17,23,18,17,1,16,16,17,17,18,16,1,23,9,0,16,1,2,18,24,17,16,9,0,23,21,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,2,2,2,0,2,2,2,3,3,0,0,1,2,0,2,2,0,3,2,0,2,0,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,0,16,16,16,9,0,16,14,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,17,21,16,17,1,16,16,17,17,16,14,1,23,9,24,16,1,2,16,0,15,16,9,0,21,21,14,16,14,7,7,14,14,15,17,9,14,16,14,14,14,14,14,15,14,14,14,0,14,14,9,16,14,8,16,16,15,1,14,14,9,17,9,9,1,14,7,17,14,1,1,16,15,0,14,7,0,16,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,0,9,0,14,14,9,9,9,7,9,9,9,9,9,7,7,7,11,7,9,9,7,9,9,7,9,0,9,9,7,9,7,9,7,9,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,16,21,7,14,14,14,14,21,16,14,14,21,21,21,14,21,21,21,14,14,0,21,14,9,16,14,14,23,16,14,0,14,14,14,14,16,16,0,21,7,23,14,0,0,16,21,16,14,7,0,0,21,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,21,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,0,17,17,8,10,17,25,16,16,8,15,14,25,15,25,24,23,16,17,22,25,16,0,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,17,14,24,10,0,15,15,17,0,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,0,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,18,14,17,10,0,15,15,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,0,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,17,8,0,10,12,9,16,15,8,9,17,15,17,12,15,18,17,8,10,16,0,10,8,10,10,17,15,10,12,0,12,12,16,9,17,15,0,17,5,17,12,0,2,10,17,7,10,10,0,15,15,17,17,17,8,10,0,18,16,16,9,15,15,17,16,18,17,16,16,17,15,17,16,0,18,9,17,15,10,16,17,17,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,25,18,17,8,12,18,0,16,16,9,16,17,27,16,27,27,25,18,17,23,26,16,0,28,18,17,18,10,25,17,19,0,20,20,9,16,10,8,0,26,12,17,19,0,2,18,18,14,24,10,0,15,16,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,0,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,23,23,14,16,23,0,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,8,8,15,8,15,9,9,7,14,0,8,8,15,16,16,8,16,14,15,8,8,14,0,9,9,8,8,15,16,8,8,0,9,9,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,16,15,16,15,8,8,15,16,14,14,8,0,14,16,15,16,15,15,14,15,15,16,14,0,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,0,15,8,14,16,7,15,14,16,0,17,17,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,25,18,24,8,17,17,27,16,23,15,16,14,0,22,33,25,31,23,24,23,26,23,0,27,17,17,16,17,31,17,17,0,17,17,16,16,17,15,0,33,10,24,17,0,2,18,25,14,24,10,0,22,22,15,15,22,8,15,16,16,14,21,16,15,15,22,0,23,15,23,21,22,15,15,21,0,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,23,25,18,24,8,17,18,27,16,23,16,16,15,33,23,0,24,31,23,24,22,26,23,0,27,17,17,16,17,31,17,17,0,18,18,16,16,17,15,0,32,10,24,17,0,2,17,25,14,24,10,0,22,23,24,17,17,8,12,17,27,16,16,8,15,16,25,15,24,0,23,18,17,23,24,16,0,25,16,17,17,10,23,17,19,0,19,19,9,16,10,8,0,25,12,17,19,0,2,18,17,14,24,10,0,15,15,23,15,22,8,15,16,25,14,21,16,15,15,31,23,31,23,0,21,22,23,23,21,0,25,18,15,15,15,32,15,15,0,16,16,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,23,16,16,23,7,18,16,18,16,23,14,14,16,23,21,23,18,21,0,23,14,16,23,0,16,7,16,16,16,21,16,18,0,18,18,16,16,16,14,0,23,11,23,18,0,2,16,23,14,16,9,0,21,21,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,0,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,0,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,16,15,14,22,8,0,15,15,25,18,17,8,10,17,26,16,16,8,16,14,26,15,26,24,23,16,17,22,0,16,0,26,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,0,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,8,10,18,28,16,16,9,16,15,27,16,27,25,25,16,17,23,26,16,0,0,18,17,16,10,25,17,17,0,18,18,9,16,10,8,0,26,10,17,17,0,2,18,18,14,24,10,0,15,16,16,8,8,8,8,9,18,7,7,9,8,8,17,9,17,16,18,7,8,16,16,7,0,18,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,0,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,16,15,8,10,15,18,14,14,8,16,16,16,15,16,17,15,16,15,15,16,14,0,16,8,15,0,8,15,15,17,0,17,17,7,14,8,8,0,15,10,15,17,0,0,15,16,14,15,8,0,15,15,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,0,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,23,15,22,8,15,16,25,14,21,16,15,15,31,23,31,23,32,21,22,23,23,21,0,25,18,15,15,15,0,15,15,0,16,16,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,23,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,0,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,0,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,12,18,20,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,0,18,9,17,17,10,16,17,19,0,0,20,9,16,10,8,0,17,12,17,24,0,2,17,17,14,17,10,0,15,16,17,17,17,8,12,18,20,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,0,18,9,17,17,10,16,17,19,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,16,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,0,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,0,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,0,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,0,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,17,24,8,17,17,26,16,23,15,15,14,33,22,32,25,31,23,24,23,25,23,0,26,17,17,15,17,31,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,18,24,14,24,10,0,22,22,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,0,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,0,17,8,17,17,10,15,17,19,0,24,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,0,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,17,17,17,8,10,17,18,16,16,8,15,14,18,15,17,18,16,16,17,16,17,16,0,18,9,17,15,10,16,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,17,18,24,8,17,17,18,16,23,15,16,14,25,22,25,17,22,23,24,15,18,23,0,18,8,17,16,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,0,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,24,17,17,8,10,17,24,16,16,8,15,14,24,15,24,24,22,16,17,22,24,16,0,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,24,10,17,17,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,0,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,0,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,15,15,22,8,15,16,16,14,21,16,15,15,22,23,23,15,23,21,22,15,15,21,0,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,0,18,17,8,10,18,26,16,16,8,15,14,26,15,25,24,23,16,17,22,25,16,25,0,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,18,0,17,15,10,18,19,16,16,8,16,14,19,15,18,17,15,16,17,22,18,16,18,0,8,24,17,10,15,17,17,0,18,17,9,16,10,9,0,18,17,17,17,0,3,18,18,14,18,10,0,15,16,17,17,0,8,10,18,18,16,17,8,16,14,17,15,18,18,16,16,17,15,17,16,17,0,9,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,8,15,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,15,8,7,8,0,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,8,8,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,11,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,18,18,18,8,10,0,20,16,17,9,16,15,18,16,19,18,17,16,17,15,17,16,18,0,10,17,16,10,16,17,17,0,19,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,26,19,18,8,10,20,0,16,17,9,17,15,28,16,28,26,26,16,17,23,26,16,28,0,19,17,17,10,25,17,17,0,19,18,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,17,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,17,7,9,17,17,16,0,7,15,14,16,14,17,17,15,16,16,14,16,16,16,0,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,0,9,8,8,8,9,8,8,0,9,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,15,16,16,8,8,16,17,14,15,8,0,14,16,15,17,16,16,14,15,15,16,14,16,0,9,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,7,15,15,14,14,8,14,0,14,15,15,14,15,14,14,14,14,14,15,0,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,26,19,17,8,10,18,28,16,16,8,16,14,0,15,26,25,24,16,17,23,26,16,27,0,17,17,17,10,24,17,17,0,18,17,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,16,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,0,9,15,15,8,16,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,25,18,18,8,10,19,28,16,17,9,17,15,26,16,0,25,25,16,17,22,26,16,27,0,18,17,16,10,24,17,17,0,18,18,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,16,24,17,18,8,10,18,26,16,17,8,16,14,25,15,25,0,24,16,17,23,24,16,25,0,17,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,23,15,16,8,8,17,26,14,15,9,16,15,24,16,25,24,0,14,15,23,23,14,25,0,19,15,15,8,25,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,0,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,22,22,15,15,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,23,0,16,22,15,8,23,15,15,0,15,15,7,14,8,8,0,23,15,15,15,0,0,16,15,14,22,8,0,15,15,25,18,17,8,10,17,26,16,16,8,16,14,26,15,26,24,23,16,17,22,0,16,26,0,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,25,18,17,8,10,18,28,16,16,9,16,15,27,16,27,25,25,16,17,23,26,16,0,0,18,17,16,10,25,17,17,0,18,18,9,16,10,8,0,26,10,17,17,0,2,18,18,14,24,10,0,15,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,8,9,8,8,10,19,7,8,9,9,8,17,9,18,17,19,7,8,16,16,7,18,0,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,17,24,17,15,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,22,17,16,17,0,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,17,17,17,0,2,17,17,14,17,10,0,15,15,16,17,15,8,8,16,17,14,14,8,16,14,17,15,16,15,15,14,15,15,16,14,16,0,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,16,14,16,8,0,15,16,10,10,10,8,11,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,23,15,15,8,8,16,25,14,14,9,15,15,24,16,24,23,25,14,15,23,23,14,25,0,18,15,15,8,0,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,8,10,19,19,16,16,9,15,15,18,16,18,17,16,16,17,15,17,16,18,0,9,17,16,10,16,17,17,0,0,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,17,17,17,8,10,18,18,16,16,9,15,15,17,16,18,17,16,16,17,15,17,16,18,0,9,17,15,10,16,17,17,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,0,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,0,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,18,17,8,10,18,27,16,16,8,15,14,27,15,25,25,24,16,17,23,25,16,26,0,17,17,16,10,24,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,25,10,0,15,16,10,17,10,8,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,15,10,9,10,0,1,17,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,0,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,18,18,17,8,10,18,19,16,16,8,15,14,19,15,17,18,16,16,17,16,17,16,18,0,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,17,18,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,0,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,0,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,25,18,17,8,10,18,25,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,0,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,25,10,17,17,0,3,18,17,14,0,10,0,15,16,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,0,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,16,16,15,8,8,17,17,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,0,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,0,9,8,8,9,15,16,14,7,8,15,7,16,8,16,22,16,7,8,15,16,7,16,16,0,8,15,8,16,16,8,0,15,15,7,14,8,8,0,16,1,8,8,0,0,15,8,14,22,15,0,8,8,9,0,8,8,9,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,11,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,8,8,0,8,8,9,9,7,8,8,9,7,8,8,9,9,9,7,8,8,8,7,8,9,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,9,9,8,8,0,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,15,8,9,8,8,0,10,14,8,9,16,8,8,9,10,16,10,7,8,8,8,7,9,10,0,8,15,8,9,15,8,0,16,16,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,16,8,9,8,8,10,0,7,8,9,9,8,17,9,18,17,19,7,8,16,16,7,18,19,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,14,7,7,7,7,14,7,0,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,0,7,14,7,7,14,7,0,14,14,7,14,7,7,0,7,0,7,7,0,0,14,7,14,14,14,0,7,7,7,7,8,7,7,8,8,7,0,7,8,7,7,7,8,8,8,7,7,7,7,7,7,8,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,8,10,8,8,8,9,9,7,7,0,10,10,8,11,9,8,11,7,8,10,8,9,9,9,0,10,10,8,13,10,8,0,9,9,7,7,10,12,0,8,1,10,8,0,0,10,8,11,8,8,0,12,11,15,8,9,8,8,16,9,14,8,10,0,9,8,10,9,16,11,7,8,10,8,7,8,9,0,8,17,8,10,15,8,0,15,15,7,14,8,10,0,8,1,8,8,0,0,15,8,16,15,15,0,10,10,7,7,7,7,7,8,8,7,7,10,9,0,7,10,8,7,10,7,7,9,7,7,8,8,0,7,9,7,10,7,7,0,8,8,7,7,7,9,0,7,0,7,7,0,0,7,7,9,7,7,0,9,10,16,8,8,8,8,8,17,7,7,8,8,7,0,8,16,16,17,7,8,16,16,7,17,17,0,8,8,8,17,8,8,0,8,8,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,8,8,8,8,8,8,9,9,7,7,11,10,10,8,0,9,8,11,7,8,10,8,7,9,9,0,8,10,8,11,8,8,0,9,9,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,11,16,8,9,8,8,10,18,7,8,9,9,8,16,9,0,16,18,7,8,15,16,7,17,18,0,8,8,8,17,8,8,0,9,9,7,7,8,8,0,16,1,8,8,0,0,8,8,7,15,8,0,8,9,22,8,9,8,8,16,17,14,8,8,16,7,16,8,16,0,17,7,8,16,15,7,16,17,0,8,15,8,16,15,8,0,15,15,7,14,8,8,0,16,1,8,8,0,0,16,8,14,22,15,0,8,8,16,8,9,8,8,10,19,7,8,11,11,10,17,11,18,17,0,7,8,18,16,7,18,19,0,8,10,8,20,8,8,0,9,9,7,7,8,10,0,17,1,8,8,0,0,9,8,9,15,8,0,10,11,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,0,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,15,8,8,8,8,8,16,7,7,10,10,9,16,10,15,16,18,7,8,0,15,7,16,16,0,8,10,8,18,8,8,0,8,8,7,7,8,10,0,16,1,8,8,0,0,9,8,9,15,8,0,10,10,16,8,8,8,8,8,16,7,7,8,8,7,16,8,16,15,16,7,8,15,0,7,16,16,0,8,8,8,16,8,8,0,8,8,7,7,8,8,0,16,1,8,8,0,0,8,8,7,15,8,0,8,8,7,9,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,0,7,7,0,9,7,7,9,9,7,0,7,7,7,7,9,9,0,7,0,9,7,0,0,9,7,9,7,7,0,9,7,16,8,8,8,8,9,18,7,7,9,8,8,17,9,17,16,18,7,8,16,16,7,0,18,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,16,8,9,8,8,10,19,7,8,9,9,8,17,9,18,17,19,7,8,16,16,7,18,0,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,0,8,8,10,10,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,15,8,8,8,8,15,8,14,7,10,17,9,8,10,8,15,10,7,8,10,8,7,8,8,0,8,0,8,10,15,8,0,15,15,7,14,8,10,0,8,1,8,8,0,0,15,8,16,15,15,0,10,10,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,0,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,16,10,8,8,8,9,18,7,7,13,10,10,17,11,17,16,20,7,8,18,16,9,18,18,0,10,10,8,0,10,8,0,9,9,7,7,10,12,0,17,1,10,8,0,0,11,8,11,15,8,0,12,11,16,11,8,8,9,15,8,14,7,10,15,7,8,8,8,15,8,7,8,8,8,9,8,8,0,10,15,8,10,0,8,0,15,15,7,14,10,10,0,8,1,10,8,0,0,17,8,16,15,15,0,10,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,8,8,8,8,16,9,14,7,9,15,8,8,9,9,15,9,7,8,8,8,7,9,9,0,8,15,8,9,15,8,0,0,16,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,15,8,8,8,8,16,9,14,7,9,15,8,8,9,9,15,9,7,8,8,8,7,9,9,0,8,15,8,9,15,8,0,16,0,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,7,7,7,7,7,7,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,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,14,7,7,7,7,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,0,7,14,7,7,14,7,0,14,14,7,0,7,7,0,7,0,7,7,0,0,14,7,14,14,14,0,7,7,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,10,8,0,8,8,7,7,0,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,8,10,8,8,8,8,8,7,7,12,10,9,8,10,8,8,10,7,8,10,8,9,8,8,0,10,10,8,12,10,8,0,8,8,7,7,10,0,0,8,1,10,8,0,0,10,8,11,8,8,0,12,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,8,8,8,8,8,17,7,7,8,8,7,17,8,16,16,17,7,8,16,16,7,17,17,0,8,8,8,17,8,8,0,8,8,7,7,8,8,0,0,1,8,8,0,0,9,8,7,15,8,0,8,8,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,0,1,1,0,1,1,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,10,8,0,8,8,7,7,10,10,0,8,1,0,8,0,0,10,8,9,8,8,0,10,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,10,8,8,8,15,9,14,7,10,15,7,9,8,8,16,9,7,8,9,8,9,9,9,0,10,15,8,11,17,8,0,15,15,7,14,10,10,0,9,1,10,8,0,0,0,8,16,15,15,0,10,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,0,7,8,8,0,8,8,14,9,7,7,7,14,7,14,7,11,16,9,7,9,7,14,9,7,7,9,7,9,7,7,0,9,16,7,11,16,7,0,14,14,7,14,9,11,0,7,0,9,7,0,0,16,7,0,14,14,0,11,9,22,8,8,8,8,15,15,14,7,8,15,7,15,8,15,22,15,7,8,15,15,7,15,15,0,8,15,8,15,15,8,0,15,15,7,14,8,8,0,15,1,8,8,0,0,15,8,14,0,15,0,8,8,15,8,8,8,8,15,8,14,7,8,15,7,8,8,8,15,8,7,8,8,8,7,8,8,0,8,15,8,8,15,8,0,15,15,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,8,8,8,8,8,7,7,12,10,9,8,10,8,8,10,7,8,10,8,9,8,8,0,10,10,8,12,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,10,8,11,8,8,0,0,10,8,8,8,8,8,9,9,7,7,11,10,10,8,11,9,8,11,7,8,10,8,7,9,9,0,8,10,8,11,8,8,0,9,9,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,0,0,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,17,0,17,15,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,22,17,18,17,24,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,17,19,17,0,2,19,17,16,17,10,0,17,15,18,17,0,8,11,17,18,18,16,8,15,14,18,15,18,19,17,17,17,17,17,16,17,17,8,0,16,10,15,19,18,0,18,18,9,16,11,9,0,17,11,17,18,0,2,17,17,14,18,11,0,16,15,8,15,8,0,16,15,8,14,14,22,16,7,8,15,8,9,8,7,15,15,8,7,8,15,8,0,8,15,8,8,8,0,8,8,14,14,15,15,0,8,15,8,8,0,7,8,8,14,8,15,0,16,8,10,10,11,16,0,17,10,17,16,15,16,7,11,15,10,11,8,10,17,9,10,9,10,10,8,0,9,10,8,11,10,0,10,10,9,16,18,9,0,10,11,10,10,0,2,10,10,14,11,11,0,16,8,17,17,17,15,17,0,17,23,23,15,22,14,17,22,17,17,15,16,24,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,17,17,18,8,10,17,0,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,17,16,18,14,17,23,16,0,23,14,21,14,17,21,16,17,15,17,23,15,16,16,16,16,7,0,15,9,14,17,17,0,17,17,9,23,17,8,0,16,17,16,16,0,2,16,16,21,17,10,0,22,14,16,16,16,14,16,23,16,23,0,14,21,14,16,21,16,16,14,16,23,14,16,16,16,16,7,0,14,9,14,16,16,0,16,16,9,23,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,8,10,8,22,15,15,8,14,14,0,15,7,8,15,8,8,8,7,15,8,8,9,8,8,10,0,8,15,10,10,8,0,8,8,14,14,17,17,0,8,8,10,8,0,7,10,8,16,8,15,0,17,8,15,15,15,16,16,22,15,21,21,15,0,14,15,22,15,16,15,14,22,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,23,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,0,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,17,17,18,8,11,17,17,17,16,8,15,14,0,15,17,17,15,17,17,16,17,16,17,17,8,0,16,10,15,18,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,18,11,0,15,15,15,15,15,15,15,22,15,21,21,15,22,14,15,0,15,15,15,14,22,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,18,17,19,9,11,17,18,17,16,8,16,14,17,15,18,0,17,16,17,16,17,16,17,17,8,0,15,10,15,18,18,0,18,18,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,17,15,16,15,17,8,8,15,16,15,14,8,15,14,15,15,16,17,0,14,15,16,15,14,15,15,8,0,15,8,15,16,16,0,16,16,7,14,8,8,0,15,8,15,16,0,0,15,15,14,15,8,0,16,15,16,16,17,7,10,16,16,17,16,7,14,14,17,14,16,16,14,0,16,15,16,16,16,16,7,0,15,9,14,17,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,17,10,0,14,14,17,17,17,15,17,24,17,23,23,15,22,14,17,22,17,17,15,16,0,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,15,22,17,15,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,22,8,0,16,8,15,17,15,0,15,15,7,14,9,9,0,15,16,15,16,0,0,15,15,14,16,9,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,0,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,0,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,24,17,15,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,22,17,16,17,0,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,17,17,17,0,2,17,17,14,17,10,0,15,15,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,0,8,8,10,10,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,16,8,9,15,15,15,14,8,15,14,16,15,15,15,15,15,15,16,15,14,15,15,8,0,0,8,15,16,15,0,15,15,7,14,9,9,0,15,9,15,15,0,0,15,15,14,16,9,0,15,15,10,10,10,15,10,10,10,9,9,15,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,0,8,0,8,10,10,0,10,10,16,9,10,15,0,10,3,10,10,0,9,10,10,7,10,17,0,8,8,15,17,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,0,15,8,0,17,15,0,15,15,7,14,10,11,0,15,8,17,15,0,0,17,15,16,15,8,0,17,15,17,19,19,8,11,17,18,17,16,10,15,14,18,15,18,18,16,17,17,17,17,18,17,17,10,0,16,10,17,0,17,0,17,17,9,16,13,11,0,17,11,19,18,0,2,19,17,16,18,11,0,17,15,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,9,9,9,14,9,9,9,9,9,14,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,0,7,16,7,9,9,0,9,9,0,9,9,14,0,9,2,9,9,0,9,9,9,7,9,16,0,7,7,16,16,16,14,16,23,16,23,23,14,21,14,16,21,16,16,14,16,23,14,16,16,16,16,7,0,14,9,14,16,16,0,16,16,9,0,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,10,12,11,15,18,17,10,17,16,17,15,7,11,15,10,10,8,10,17,9,10,11,10,10,10,0,9,10,10,13,10,0,10,10,9,16,0,11,0,10,11,12,10,0,2,12,10,16,11,11,0,17,8,8,10,9,15,9,8,8,8,7,17,8,7,9,8,8,8,8,8,8,9,8,9,8,8,10,0,9,15,11,11,8,0,8,8,14,7,11,0,0,8,2,10,8,0,7,10,8,9,9,16,0,10,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,10,17,11,15,11,17,10,17,16,8,15,7,11,15,10,10,8,10,17,16,10,9,10,17,1,0,9,3,8,11,10,0,10,10,2,16,11,2,0,10,0,10,10,0,2,10,10,14,11,4,0,15,8,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,7,2,2,2,2,2,7,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,0,0,9,0,2,2,0,2,2,9,2,2,7,0,2,2,2,2,0,0,2,2,0,2,9,0,0,0,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,19,17,0,2,0,17,16,17,10,0,17,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,14,16,14,14,14,21,14,21,21,16,21,14,14,21,14,14,14,14,21,14,14,16,14,14,9,0,14,7,16,16,14,0,14,14,7,21,16,9,0,14,14,16,14,0,0,16,14,0,14,7,0,23,14,17,17,18,8,11,17,17,17,16,8,15,14,18,15,17,17,15,17,17,16,17,16,17,17,8,0,16,10,15,18,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,0,11,0,15,15,10,10,11,15,11,10,10,10,9,15,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,0,9,17,8,11,10,0,10,10,16,9,11,16,0,10,4,10,10,0,9,10,10,7,11,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,17,16,16,16,22,15,22,21,17,23,14,15,22,15,17,16,14,22,15,15,16,15,15,10,0,15,8,17,17,16,0,16,16,7,21,17,10,0,15,15,17,15,0,0,17,15,23,15,8,0,0,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,16,15,8,8,23,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,23,15,21,23,15,0,15,16,16,0,15,8,8,16,17,14,14,8,16,14,17,15,16,15,15,14,15,15,16,14,16,17,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,16,14,16,8,0,15,16,15,15,0,8,9,15,15,15,14,8,15,14,17,15,15,15,15,15,15,16,15,14,15,15,8,16,0,8,16,16,15,0,15,15,7,14,9,10,0,15,9,15,15,0,0,15,15,14,17,9,0,15,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,0,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,9,8,0,8,10,8,7,8,8,9,9,8,8,10,8,10,8,9,8,7,10,8,8,9,0,8,8,9,10,0,10,10,7,7,9,9,0,8,4,8,10,0,0,8,8,7,9,9,0,8,8,23,16,15,8,8,0,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,23,15,21,23,15,0,15,16,16,17,15,8,10,16,0,14,14,8,16,16,17,15,16,17,15,16,15,15,16,14,18,17,8,15,0,8,15,15,17,0,18,17,7,14,8,9,0,16,10,15,17,0,1,16,16,14,16,8,0,15,16,21,14,15,7,8,21,14,0,14,7,21,14,15,14,14,21,14,15,14,15,14,14,14,14,14,15,0,7,14,22,14,0,21,21,7,21,8,8,0,14,8,14,14,0,0,21,14,21,22,15,0,14,14,14,14,14,7,7,14,14,14,0,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,0,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,8,8,8,8,8,8,8,7,7,0,10,9,8,10,8,8,10,7,8,10,8,7,8,8,10,8,0,8,10,8,8,0,8,8,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,22,16,15,8,8,22,16,21,14,10,0,16,16,17,16,22,17,14,15,17,16,14,16,16,17,15,0,8,17,22,15,0,22,22,7,21,8,10,0,15,8,15,15,0,0,22,16,23,22,15,0,17,17,14,14,14,7,9,14,16,14,14,9,16,0,14,16,14,16,16,16,14,16,14,14,16,14,9,14,0,7,16,14,16,0,16,16,7,14,7,9,0,14,9,14,16,0,0,14,14,16,14,7,0,16,16,16,17,17,8,9,16,17,15,14,8,16,14,0,15,16,15,15,15,15,16,16,14,16,17,8,16,0,8,16,16,15,0,16,15,7,14,9,11,0,16,9,15,15,0,1,16,16,16,18,9,0,15,18,15,15,15,8,8,15,15,14,14,10,17,16,15,0,15,15,17,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,17,15,16,15,8,8,15,16,14,14,8,16,14,16,15,0,15,15,14,15,15,16,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,22,15,15,8,10,22,17,21,14,8,22,16,15,15,15,0,15,16,15,15,15,14,17,15,15,15,0,8,15,22,17,0,24,24,7,21,8,8,0,15,10,15,17,0,0,22,15,21,22,15,0,15,15,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,0,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,17,14,14,15,7,10,14,16,15,14,7,14,16,15,14,14,16,14,0,14,15,14,14,16,14,7,15,0,7,14,15,16,0,16,16,7,14,8,8,0,14,10,14,16,0,0,14,14,14,15,8,0,14,14,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,0,15,15,14,15,15,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,15,15,16,8,9,15,15,15,14,10,17,16,16,17,15,15,17,15,15,0,15,14,15,15,10,16,0,8,17,16,15,0,15,15,7,14,9,11,0,15,9,15,15,0,0,15,15,16,16,9,0,17,17,15,16,15,8,8,15,16,14,14,8,16,14,16,15,16,15,15,14,15,15,0,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,0,14,14,7,14,0,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,15,16,15,8,10,15,18,14,14,8,16,16,16,15,16,17,15,16,15,15,16,14,0,16,8,15,0,8,15,15,17,0,17,17,7,14,8,8,0,15,10,15,17,0,0,15,16,14,15,8,0,15,15,16,17,15,8,8,16,17,14,14,8,16,14,17,15,16,15,15,14,15,15,16,14,16,0,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,16,14,16,8,0,15,16,15,8,8,8,8,15,8,14,7,10,17,9,8,10,8,15,10,7,8,10,8,7,8,8,0,8,0,8,10,15,8,0,15,15,7,14,8,10,0,8,1,8,8,0,0,15,8,16,15,15,0,10,10,15,15,16,8,9,15,15,15,14,8,15,14,16,15,15,15,15,15,15,16,15,14,15,15,8,0,0,8,15,16,15,0,15,15,7,14,9,9,0,15,9,15,15,0,0,15,15,14,16,9,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,0,0,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,15,15,16,8,8,15,15,14,14,10,17,16,16,17,15,15,17,14,15,17,15,14,15,15,10,15,0,8,0,15,15,0,15,15,7,14,8,11,0,15,8,15,15,0,0,15,15,16,16,8,0,17,17,22,15,16,8,9,22,15,22,14,8,22,14,16,15,15,22,15,15,15,16,15,14,15,15,15,16,0,8,15,0,15,0,22,22,7,21,9,9,0,15,9,15,15,0,0,22,15,21,23,16,0,15,15,15,15,15,8,10,15,17,14,14,8,15,16,15,15,15,17,15,16,15,15,15,14,17,15,8,15,0,8,15,15,0,0,17,17,7,14,8,8,0,15,10,15,17,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,16,15,8,10,23,18,21,14,8,22,16,16,15,15,24,15,16,15,15,15,14,17,16,15,15,0,8,15,22,17,0,0,24,7,21,8,9,0,16,10,15,17,0,1,23,15,21,23,15,0,15,16,22,15,15,8,10,22,17,21,14,8,22,16,15,15,15,24,15,16,15,15,15,14,17,15,15,15,0,8,15,22,17,0,24,0,7,21,8,8,0,15,10,15,17,0,0,22,15,21,22,15,0,15,15,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,0,7,14,21,14,0,21,21,7,0,7,7,0,14,7,14,14,0,0,21,14,21,21,14,0,14,14,8,8,9,8,9,8,8,8,7,8,8,7,9,8,8,8,8,8,8,9,8,7,8,8,8,9,0,8,8,9,8,0,8,8,7,7,0,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,9,9,10,8,9,9,9,8,7,10,10,9,11,10,8,8,10,8,8,11,8,7,8,9,10,9,0,8,11,9,8,0,9,8,7,7,9,0,0,9,2,8,8,0,1,9,8,9,11,9,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,0,8,15,15,0,1,16,15,14,16,8,0,15,16,8,8,9,1,4,8,10,8,7,1,8,9,9,8,8,10,8,10,8,9,8,7,10,8,1,9,0,1,8,9,10,0,10,10,0,7,2,2,0,8,0,8,10,0,0,8,8,7,9,2,0,8,8,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,15,15,15,8,10,15,17,14,14,8,15,16,15,15,15,17,15,16,15,15,15,14,17,15,8,15,0,8,15,15,17,0,17,17,7,14,8,8,0,15,10,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,23,16,15,8,8,23,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,0,15,21,23,15,0,15,16,15,16,15,8,8,15,16,14,14,8,16,14,16,15,16,15,15,14,15,15,16,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,0,14,15,8,0,15,15,21,14,14,7,7,21,14,21,14,9,23,16,16,16,14,21,16,14,14,16,14,14,14,14,16,14,0,7,16,21,14,0,21,21,7,21,7,9,0,14,7,14,14,0,0,21,14,0,21,14,0,16,18,23,16,17,8,9,23,16,22,14,8,22,14,18,15,15,22,15,15,15,16,15,14,15,16,15,16,0,8,16,23,15,0,23,22,7,21,9,11,0,16,9,15,15,0,1,23,15,21,0,16,0,15,16,15,8,9,8,9,15,8,15,7,8,15,7,9,8,8,15,8,8,8,9,8,7,8,8,15,9,0,8,8,16,8,0,15,15,7,14,9,9,0,8,2,8,8,0,0,15,8,14,16,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,0,17,16,16,15,8,8,16,16,14,14,10,17,16,18,17,15,15,17,14,15,17,15,14,15,16,10,15,0,8,17,15,15,0,16,15,7,14,8,11,0,16,8,15,15,0,1,16,15,18,16,8,0,17,0,0,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,12,12,0,8,8,10,0,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,0,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,8,8,0,8,8,8,7,7,15,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,15,8,0,8,8,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,8,8,7,8,15,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,11,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,10,10,8,10,0,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,9,7,9,9,9,0,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,0,7,9,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,16,7,16,9,9,9,0,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,0,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,8,8,15,15,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,15,8,0,15,8,8,0,8,8,22,7,15,23,0,15,1,15,8,0,7,8,15,7,8,15,0,15,15,10,8,8,8,8,8,8,7,7,8,0,7,8,10,10,8,8,7,8,10,8,7,8,8,8,8,8,0,8,8,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,8,10,7,10,10,0,8,8,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,10,10,17,8,17,10,10,9,16,15,8,7,0,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,8,15,8,15,8,8,7,14,15,10,7,15,0,17,8,15,14,15,10,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,9,15,15,0,15,1,15,8,0,2,8,17,7,10,10,0,15,15,12,10,17,8,17,10,10,9,16,15,10,7,17,17,0,10,15,16,17,10,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,11,17,15,0,17,3,17,10,0,4,10,19,7,12,12,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,0,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,0,16,7,9,16,16,9,7,9,7,0,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,0,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,8,8,8,8,8,8,7,7,8,10,7,8,10,10,8,8,7,8,0,8,7,8,8,8,8,8,0,8,8,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,8,10,7,10,10,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,0,16,9,7,9,7,0,14,9,10,1,9,9,17,10,16,14,1,16,2,17,9,1,2,9,17,8,9,9,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,0,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,10,10,8,11,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,0,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,15,10,10,10,9,9,15,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,0,8,0,8,10,10,0,10,10,16,9,10,15,0,10,3,10,10,0,9,10,10,7,10,17,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,0,0,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,0,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,0,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,10,10,10,8,10,8,0,8,10,0,1,10,10,10,10,10,8,1,10,3,11,10,1,2,10,11,8,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,0,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,0,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,16,14,16,9,9,9,16,22,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,16,7,0,14,9,10,1,9,9,0,10,16,22,1,16,2,17,9,1,9,9,17,8,9,16,0,14,14,11,9,9,7,9,9,9,9,9,7,9,7,9,9,11,9,7,9,9,9,9,10,9,9,7,9,7,0,7,9,10,1,9,9,10,0,9,7,1,9,2,10,9,1,4,9,12,8,11,11,0,7,7,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,8,15,15,15,8,8,7,14,23,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,15,8,0,15,8,8,0,8,8,22,7,15,0,0,15,1,15,8,0,7,8,15,7,8,15,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,3,3,3,1,3,3,3,2,2,1,1,0,3,1,3,3,1,2,3,1,3,2,3,3,1,3,1,0,1,3,3,0,3,3,2,2,3,1,0,3,0,3,3,0,2,3,3,0,3,3,0,1,1,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,17,17,10,8,10,8,0,15,10,11,1,10,10,17,10,17,15,1,17,3,0,10,1,2,10,18,8,10,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,0,0,2,10,10,7,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,4,2,2,7,2,2,2,2,2,7,2,0,2,2,4,2,0,2,2,2,2,2,2,2,0,9,0,0,0,2,2,0,2,2,9,4,2,7,0,2,2,2,2,0,0,2,4,0,4,11,0,0,0,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,0,10,7,10,10,0,8,8,12,10,17,8,17,10,10,9,16,15,10,7,17,17,19,10,15,16,17,10,10,17,17,10,8,10,8,0,15,10,11,1,10,10,17,12,17,15,1,17,3,18,10,1,4,10,0,8,12,12,0,15,15,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,0,7,7,8,1,7,7,8,8,7,7,1,7,0,8,7,1,0,7,8,0,7,7,0,7,7,12,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,0,12,0,8,8,12,10,10,15,10,10,10,9,9,15,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,17,8,0,8,10,10,0,10,10,16,11,10,15,0,10,3,10,10,0,11,10,12,7,12,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,0,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,0,15,15,8,8,15,23,14,14,8,15,14,23,15,23,22,23,14,15,22,23,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,15,15,15,0,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,0,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,8,0,17,15,15,15,0,9,15,15,15,15,22,16,16,14,23,23,22,15,23,22,22,15,15,21,22,15,8,15,16,15,0,16,15,0,15,15,14,14,15,16,0,22,8,22,15,0,0,15,22,14,16,9,0,23,22,8,8,9,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,0,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,0,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,15,15,15,8,8,0,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,23,15,15,8,8,16,0,14,14,9,15,15,24,16,24,23,25,14,15,23,23,14,25,25,18,15,15,8,0,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,14,14,15,8,7,14,14,0,15,8,15,14,14,15,14,14,15,15,14,14,14,14,14,14,7,14,14,7,0,15,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,8,0,15,14,14,14,22,8,14,14,14,15,0,15,15,14,21,22,21,14,22,22,21,14,14,21,21,14,7,14,14,14,0,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,8,10,16,9,15,9,9,8,15,0,11,10,15,19,16,8,19,15,15,10,8,16,16,9,13,10,10,15,0,11,8,0,9,9,14,7,17,19,0,15,1,17,8,0,0,10,15,11,8,9,0,20,18,15,15,16,9,8,15,15,15,15,11,0,16,15,18,15,15,18,15,15,17,15,14,15,15,10,15,17,8,0,16,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,9,0,18,17,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,17,14,14,16,14,14,15,15,10,14,16,7,0,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,23,15,23,8,15,15,24,14,21,15,15,14,0,22,30,23,31,21,22,23,23,21,31,24,17,15,16,15,0,15,15,0,15,15,14,14,15,16,0,31,8,22,15,0,0,16,22,14,23,8,0,22,22,15,15,23,9,15,16,16,15,22,19,18,17,22,0,23,15,26,22,22,17,15,21,23,16,11,15,17,15,0,16,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,25,25,23,15,22,8,15,16,24,14,21,16,15,15,30,23,0,22,31,21,22,22,23,21,31,24,17,15,15,15,0,15,15,0,16,16,14,14,15,15,0,30,8,22,15,0,0,15,22,14,22,8,0,22,23,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,0,23,14,15,23,22,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,16,15,14,22,8,0,15,15,23,15,23,9,15,16,25,15,22,19,18,17,31,26,31,23,0,22,22,25,23,21,32,25,20,15,17,15,0,16,15,0,16,16,14,14,15,17,0,31,8,22,15,0,0,16,22,16,22,9,0,25,25,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,14,22,0,21,14,14,21,21,14,7,14,14,14,0,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,0,15,15,21,22,15,8,15,15,15,0,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,22,15,15,8,8,15,23,14,14,10,17,16,23,17,22,23,25,14,15,0,22,14,23,23,18,15,17,8,0,15,15,0,15,15,7,14,8,10,0,23,8,15,15,0,0,16,15,16,22,8,0,17,17,23,15,15,8,8,15,23,14,14,8,15,14,23,15,23,22,23,14,15,22,0,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,15,15,14,16,21,7,14,14,14,14,21,16,14,14,21,21,21,14,21,21,21,14,14,0,21,14,9,16,14,14,0,16,14,0,14,14,14,14,16,16,0,21,7,23,14,0,0,16,21,16,14,7,0,23,21,23,15,22,8,15,16,25,14,21,16,15,15,31,23,31,23,32,21,22,23,23,21,0,25,18,15,15,15,0,15,15,0,16,16,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,23,23,15,15,8,8,16,25,14,14,9,15,15,24,16,24,23,25,14,15,23,23,14,25,0,18,15,15,8,0,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,16,10,8,8,8,9,18,7,7,13,10,10,17,11,17,16,20,7,8,18,16,9,18,18,0,10,10,8,0,10,8,0,9,9,7,7,10,12,0,17,1,10,8,0,0,11,8,11,15,8,0,12,11,15,17,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,0,15,8,0,17,15,0,15,15,7,14,10,11,0,15,8,17,15,0,0,17,15,16,15,8,0,17,15,15,15,16,8,8,15,15,14,14,10,17,16,16,17,15,15,17,14,15,17,15,14,15,15,10,15,0,8,0,15,15,0,15,15,7,14,8,11,0,15,8,15,15,0,0,15,15,16,16,8,0,17,17,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,0,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,16,9,8,15,15,15,15,11,16,14,15,16,15,15,16,15,15,15,15,16,15,15,10,17,15,8,0,0,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,9,0,18,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,0,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,0,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,0,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,8,10,15,8,15,8,8,7,14,17,8,7,15,15,15,8,15,14,15,8,8,16,15,8,10,10,8,15,0,10,8,0,8,8,14,7,0,17,0,15,1,17,8,0,0,10,15,9,8,8,0,17,15,8,10,16,8,15,8,8,7,14,19,10,9,16,17,15,8,17,14,15,10,8,16,15,8,12,11,11,15,0,10,8,0,8,8,14,7,17,0,0,15,1,17,8,0,0,10,15,11,9,8,0,19,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,15,22,8,15,15,24,14,21,15,15,14,31,22,30,23,31,21,22,23,23,21,31,24,17,15,15,15,0,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,16,22,14,22,8,0,22,22,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,8,7,8,8,8,7,8,8,1,8,8,1,0,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,8,15,17,22,8,15,15,15,14,21,17,15,14,22,22,22,15,22,21,22,15,15,23,22,15,10,17,15,15,0,17,15,0,15,15,14,14,17,17,0,22,8,0,15,0,0,17,22,16,15,8,0,24,22,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,0,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,15,8,8,15,16,14,14,10,15,14,16,15,15,16,16,14,15,16,15,16,16,16,11,17,15,8,0,17,15,0,15,15,7,14,10,10,0,16,8,17,15,0,0,0,15,16,15,8,0,17,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,0,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,22,14,16,14,7,7,14,14,14,14,11,16,16,14,16,14,14,16,14,14,16,14,16,14,14,11,16,16,7,0,16,14,0,14,14,7,14,9,11,0,14,7,16,14,0,0,16,14,0,14,7,0,18,16,22,15,16,8,8,15,22,14,14,8,15,14,23,15,22,22,22,14,15,22,22,14,22,22,15,15,16,8,0,15,15,0,15,15,7,14,8,9,0,22,8,15,15,0,0,15,15,14,0,8,0,15,15,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,0,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,23,9,15,15,15,15,22,20,18,16,22,25,22,15,25,22,22,17,15,23,22,15,12,17,17,15,0,18,15,0,15,15,14,14,17,19,0,22,8,24,15,0,0,17,22,18,15,9,0,0,24,15,15,22,8,15,16,16,14,21,18,17,17,22,25,23,15,25,21,22,17,15,21,23,16,11,15,17,15,0,15,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,8,0,24,0,0,18,17,8,11,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,16,17,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,18,0,17,8,11,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,11,19,15,10,17,0,17,0,17,17,9,16,12,10,0,17,10,19,17,0,2,19,17,16,17,10,0,17,15,17,17,0,9,11,17,18,18,17,9,16,14,18,16,18,18,17,18,17,17,17,16,17,17,8,19,16,10,16,0,17,0,17,17,9,16,11,9,0,17,11,17,18,0,2,17,17,14,18,12,0,16,15,8,8,9,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,0,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,11,11,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,9,11,9,10,8,0,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,11,0,8,8,24,17,17,8,10,0,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,17,17,18,8,10,17,0,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,23,16,18,8,10,23,16,0,17,8,22,14,17,15,16,23,15,18,16,15,16,16,16,16,14,17,22,9,15,0,16,0,23,23,9,23,10,8,0,16,10,16,16,0,2,23,16,21,24,18,0,15,14,16,16,17,8,9,16,16,17,0,8,15,14,16,15,16,16,15,17,16,14,16,16,16,16,7,16,14,9,15,0,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,10,0,15,14,8,10,9,9,8,8,8,8,8,0,9,7,8,9,8,8,9,8,8,8,8,9,8,8,10,10,8,8,11,0,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,9,0,11,8,22,15,16,9,8,22,15,22,15,9,0,14,15,16,15,22,16,15,15,15,15,14,15,15,15,15,22,8,16,0,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,16,0,16,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,0,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,17,17,18,8,11,17,17,17,16,8,15,14,0,15,17,17,15,17,17,16,17,16,17,17,8,18,16,10,15,0,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,18,11,0,15,15,15,15,16,9,8,15,15,15,15,9,16,14,15,0,15,15,16,15,15,15,15,14,15,15,8,15,15,8,16,0,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,9,0,16,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,24,17,18,8,10,24,18,23,16,8,22,14,17,15,18,0,16,16,17,16,17,16,17,17,15,18,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,18,0,2,24,17,21,24,17,0,15,15,15,15,17,9,8,15,16,15,15,9,16,14,15,16,16,16,0,15,15,16,15,14,15,15,8,16,15,8,16,0,15,0,15,15,7,14,8,8,0,15,8,15,16,0,0,15,15,14,15,9,0,16,15,16,16,18,8,10,16,16,18,17,8,15,14,17,15,16,16,15,0,16,15,16,16,16,16,7,17,15,9,15,0,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,17,11,0,15,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,15,17,8,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,15,8,17,16,8,15,0,15,0,15,15,7,14,9,9,0,15,9,15,16,0,0,15,15,14,16,9,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,0,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,0,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,16,11,8,8,9,15,8,14,7,10,15,7,8,8,8,15,8,7,8,8,8,9,8,8,0,10,15,8,10,0,8,0,15,15,7,14,10,10,0,8,1,10,8,0,0,17,8,16,15,15,0,10,8,17,19,19,8,11,17,18,17,16,10,15,14,18,15,18,18,16,17,17,17,17,18,17,17,10,0,16,10,17,0,17,0,17,17,9,16,13,11,0,17,11,19,18,0,2,19,17,16,18,11,0,17,15,22,15,16,8,9,22,15,22,14,8,22,14,16,15,15,22,15,15,15,16,15,14,15,15,15,16,0,8,15,0,15,0,22,22,7,21,9,9,0,15,9,15,15,0,0,22,15,21,23,16,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,0,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,15,17,16,9,8,15,15,15,15,11,16,14,15,16,15,15,16,15,15,15,15,16,15,15,10,17,15,8,0,0,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,9,0,18,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,0,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,0,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,0,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,10,12,11,8,11,10,10,10,9,10,8,7,11,8,10,10,8,10,10,9,10,11,10,10,10,13,9,10,10,0,10,0,10,10,9,9,0,11,0,10,4,12,10,0,2,12,10,9,11,11,0,10,8,8,10,9,8,9,8,8,8,7,10,8,7,9,8,8,8,8,8,8,9,8,9,8,8,10,11,9,8,10,0,8,0,8,8,7,7,11,0,0,8,2,10,8,0,0,10,8,9,9,9,0,10,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,10,10,11,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,0,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,0,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,0,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,24,19,17,8,10,24,17,23,16,10,22,14,17,15,17,24,15,16,17,15,17,18,17,17,17,19,22,10,17,0,17,0,24,24,9,23,12,10,0,17,10,19,17,0,2,0,17,23,24,17,0,17,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,21,16,14,7,7,21,14,21,14,9,21,14,14,14,14,21,14,14,14,14,14,16,14,14,16,16,21,7,16,0,14,0,21,21,7,21,9,9,0,14,7,16,14,0,0,23,14,0,21,14,0,16,14,24,17,18,8,11,24,17,24,16,8,22,14,18,15,17,24,15,17,17,16,17,16,17,17,15,18,23,10,15,0,17,0,24,24,9,23,11,9,0,17,11,17,17,0,2,24,17,21,0,18,0,15,15,17,10,12,9,11,17,10,18,10,9,16,7,11,9,10,17,9,11,10,9,10,9,10,10,15,11,16,10,9,0,10,0,17,17,9,16,11,9,0,10,4,10,10,0,2,17,10,14,18,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,16,9,8,15,15,15,15,11,16,14,15,16,15,15,16,15,15,15,15,16,15,15,10,17,15,8,18,0,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,9,0,0,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,0,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,0,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,0,16,16,8,15,23,17,15,17,19,15,18,17,15,24,16,19,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,26,0,9,17,17,14,17,10,0,15,15,17,16,17,7,9,16,16,0,16,7,14,14,16,14,16,17,15,16,16,14,16,16,16,16,7,17,14,9,14,16,0,0,17,17,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,15,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,0,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,14,14,14,7,9,14,23,14,14,7,14,0,14,14,14,16,14,16,14,14,21,14,16,14,7,14,16,7,14,14,0,0,16,16,7,14,7,7,0,14,9,14,23,0,7,14,14,14,14,7,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,0,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,3,17,18,14,17,10,0,15,15,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,0,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,20,20,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,0,14,15,15,15,14,15,15,8,16,15,8,15,15,0,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,15,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,0,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,17,17,8,10,17,24,16,16,8,15,21,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,24,0,9,17,17,14,17,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,10,14,16,0,1,16,16,10,17,9,7,1,16,9,17,16,1,2,16,17,15,16,9,0,14,14,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,0,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,15,15,15,8,10,15,17,14,14,8,15,16,15,15,15,17,15,16,15,15,15,14,17,15,8,15,0,8,15,15,0,0,17,17,7,14,8,8,0,15,10,15,17,0,0,15,15,14,15,8,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,10,10,10,8,10,8,0,8,10,0,1,10,10,10,10,10,8,1,10,3,11,10,1,2,10,11,8,10,10,0,8,8,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,0,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,20,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,0,20,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,20,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,10,9,9,7,9,7,10,7,9,0,1,9,9,0,10,9,7,1,9,2,10,9,1,2,9,10,8,9,9,0,7,7,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,17,16,16,7,16,14,10,14,16,0,1,16,16,10,0,9,7,1,16,9,17,16,1,2,16,17,15,16,9,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,0,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,0,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,17,17,17,8,17,15,11,15,17,0,1,17,17,10,17,10,8,1,17,10,0,17,1,2,17,18,15,17,10,0,15,15,17,17,17,8,12,17,26,16,16,8,15,23,17,15,17,19,15,18,17,15,24,16,19,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,0,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,2,2,2,0,2,2,9,2,2,0,0,7,2,0,3,2,0,2,2,0,9,2,2,2,0,2,0,2,0,2,0,0,2,2,2,2,2,0,0,2,2,2,9,0,0,2,3,0,2,2,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,18,17,15,16,17,15,17,17,17,17,8,17,15,11,15,17,0,1,17,17,10,17,10,8,1,17,10,18,17,1,3,17,0,15,17,10,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,15,14,14,7,14,14,8,14,14,0,1,14,14,8,15,7,7,1,14,7,15,14,1,0,14,15,0,14,7,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,0,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,0,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,8,10,25,18,24,16,8,22,14,18,15,17,25,16,16,17,15,17,16,17,18,15,18,23,10,15,24,18,0,0,25,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,16,16,18,0,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,0,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,0,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,25,18,17,8,10,0,19,23,16,9,22,15,18,16,18,24,16,16,17,15,17,16,18,19,16,17,23,10,16,24,17,0,0,25,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,15,17,18,18,17,8,12,19,0,16,16,9,15,17,18,16,18,19,16,18,17,15,17,16,20,19,9,17,18,10,16,17,19,0,0,20,9,16,10,9,0,18,12,17,19,0,3,18,17,14,18,10,0,15,17,24,16,17,7,9,23,16,0,16,7,21,14,16,14,16,24,15,16,16,14,16,16,16,16,14,17,21,9,14,23,17,0,0,24,9,23,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,15,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,0,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,0,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,22,15,15,8,8,22,15,21,14,8,0,14,15,15,15,22,15,14,15,15,15,14,15,15,15,15,22,8,15,22,15,0,0,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,15,15,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,17,15,8,14,16,7,15,14,16,0,0,17,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,18,18,17,8,10,18,18,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,17,17,17,8,10,18,18,16,16,9,15,15,17,16,0,17,16,16,17,15,17,16,18,18,9,17,15,10,16,17,17,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,25,17,18,8,12,24,19,24,16,8,22,16,17,15,17,0,16,18,17,15,17,16,19,17,15,18,24,10,15,24,20,0,0,27,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,15,16,15,16,8,8,16,16,15,14,9,15,15,15,16,16,16,0,14,15,15,15,14,16,16,9,16,15,8,16,15,16,0,0,17,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,16,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,0,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,0,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,0,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,17,17,8,12,18,20,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,0,18,9,17,17,10,16,17,19,0,0,20,9,16,10,8,0,17,12,17,24,0,2,17,17,14,17,10,0,15,16,18,18,17,8,10,19,19,16,16,9,15,15,18,16,18,17,16,16,17,15,17,16,18,0,9,17,16,10,16,17,17,0,0,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,15,8,8,8,8,16,9,14,7,9,15,8,8,9,9,15,9,7,8,8,8,7,9,9,0,8,15,8,9,15,8,0,0,16,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,23,16,15,8,10,23,18,21,14,8,22,16,16,15,15,24,15,16,15,15,15,14,17,16,15,15,0,8,15,22,17,0,0,24,7,21,8,9,0,16,10,15,17,0,1,23,15,21,23,15,0,15,16,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,0,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,0,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,20,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,0,20,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,17,18,8,12,25,20,24,16,9,22,17,17,16,18,27,17,18,17,15,17,16,20,18,16,18,24,10,16,24,20,0,0,0,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,16,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,0,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,0,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,0,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,0,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,18,10,0,15,16,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,0,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,24,17,8,17,17,10,15,17,19,0,0,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,0,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,0,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,25,17,0,15,16,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,0,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,0,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,0,17,0,15,16,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,0,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,16,16,15,8,8,17,17,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,17,9,15,16,8,16,15,15,0,0,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,0,17,18,8,10,24,17,25,16,8,22,14,17,15,18,25,16,17,18,15,18,16,17,17,15,18,22,10,15,24,18,0,25,0,9,23,10,8,0,18,10,18,17,0,2,24,17,21,24,17,0,16,15,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,0,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,0,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,24,17,17,8,10,0,18,23,16,9,22,15,17,16,18,24,16,16,17,15,17,16,18,18,16,17,22,10,16,24,17,0,25,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,16,17,17,17,8,12,18,0,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,20,18,9,17,17,10,16,17,19,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,16,25,16,17,7,9,23,16,0,16,7,21,14,16,14,17,24,15,17,17,14,17,16,16,16,14,17,21,9,14,23,17,0,24,0,9,23,9,7,0,17,9,17,16,0,2,23,16,21,23,16,0,15,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,0,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,9,0,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,22,15,15,8,8,22,15,21,14,8,0,14,15,15,15,22,15,14,15,15,15,14,15,15,15,15,22,8,15,22,15,0,22,0,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,15,15,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,17,15,8,14,16,7,15,14,16,0,17,0,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,18,17,17,8,10,18,18,17,16,9,15,15,17,16,0,17,16,17,18,15,18,16,18,18,9,17,15,10,16,17,17,0,18,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,16,25,17,18,8,12,24,19,24,16,8,22,16,17,15,17,0,16,18,17,15,17,16,19,17,15,18,24,10,15,24,20,0,27,0,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,15,16,15,16,8,8,16,16,15,14,9,15,15,15,16,16,16,0,14,15,15,15,14,16,16,9,16,15,8,16,15,16,0,17,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,16,17,16,16,7,11,16,18,17,16,7,14,16,16,14,17,18,14,0,17,14,17,16,18,16,7,16,16,9,14,16,18,0,18,0,9,16,9,7,0,17,11,17,18,0,2,16,16,14,16,9,0,14,14,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,0,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,17,17,8,12,18,20,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,0,18,9,17,17,10,16,17,19,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,16,17,17,17,8,10,18,18,16,16,9,15,15,17,16,18,17,16,16,17,15,17,16,18,0,9,17,15,10,16,17,17,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,15,8,8,8,8,16,9,14,7,9,15,8,8,9,9,15,9,7,8,8,8,7,9,9,0,8,15,8,9,15,8,0,16,0,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,22,15,15,8,10,22,17,21,14,8,22,16,15,15,15,24,15,16,15,15,15,14,17,15,15,15,0,8,15,22,17,0,24,0,7,21,8,8,0,15,10,15,17,0,0,22,15,21,22,15,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,0,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,20,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,17,18,8,12,25,20,24,16,9,22,17,17,16,18,27,17,18,17,15,17,16,20,18,16,18,24,10,16,24,20,0,0,0,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,0,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,0,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,0,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,0,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,0,10,18,17,0,2,17,17,14,17,10,0,15,15,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,0,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,19,17,8,17,17,10,15,17,19,0,19,0,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,0,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,24,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,0,17,21,24,17,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,0,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,24,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,0,17,0,15,15,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,0,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,0,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,0,7,16,9,9,11,18,14,7,7,18,14,16,9,14,16,18,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,7,7,7,0,7,7,7,7,7,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,14,7,14,7,7,7,0,7,7,0,7,7,14,0,7,0,7,7,0,7,7,7,7,7,14,0,7,7,9,9,16,7,0,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,9,9,9,7,9,0,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,9,7,9,9,0,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,11,7,9,9,9,0,12,7,7,8,11,7,9,9,7,10,11,7,9,10,9,9,7,9,7,9,7,9,9,0,9,9,0,10,9,7,0,9,2,9,9,0,3,9,9,8,9,9,0,7,7,9,9,18,7,16,9,9,12,0,14,7,8,18,14,16,9,14,17,18,7,9,17,16,9,7,9,7,16,14,9,9,0,9,9,0,10,16,14,0,16,2,16,9,0,3,9,16,8,9,9,0,14,14,7,7,14,14,14,7,7,7,14,0,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,14,7,22,14,7,7,0,7,7,0,7,14,22,0,14,0,14,7,0,7,7,14,7,7,14,0,14,14,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,8,8,7,7,0,7,7,7,7,7,8,7,7,7,8,7,7,7,7,7,7,7,7,7,0,7,7,0,8,7,7,0,7,0,7,7,0,1,7,7,8,7,7,0,7,7,9,9,18,7,16,9,9,11,18,14,7,7,0,14,16,9,14,16,18,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,7,7,14,7,14,7,7,7,14,14,7,7,14,0,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,9,9,16,7,16,9,9,9,16,14,7,7,16,14,0,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,0,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,0,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,9,9,16,7,16,9,9,10,17,14,7,8,16,14,16,9,14,0,16,7,9,17,16,9,7,9,7,16,14,9,9,0,9,9,0,10,16,14,0,16,2,16,9,0,3,9,16,8,9,9,0,14,14,9,9,18,7,16,9,9,11,18,14,7,7,18,14,16,9,14,16,0,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,7,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,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,0,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,16,7,16,9,9,10,17,14,7,8,16,14,16,9,14,17,16,7,9,0,16,9,7,9,7,17,14,9,10,1,9,9,0,11,16,14,1,16,2,17,9,1,3,9,17,9,9,9,0,14,14,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,0,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,0,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,7,7,7,7,7,7,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,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,9,9,9,14,9,9,9,9,9,14,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,0,7,16,7,9,9,0,9,9,0,9,9,14,0,9,2,9,9,0,9,9,9,7,9,16,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,9,9,16,14,16,9,9,9,16,22,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,16,7,0,14,9,10,1,9,9,0,10,16,22,1,16,2,17,9,1,9,9,17,8,9,16,0,14,14,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,0,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,0,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,10,9,9,7,9,7,10,7,9,0,1,9,9,0,10,9,7,1,9,2,10,9,1,2,9,10,8,9,9,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,0,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,0,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,7,9,9,9,10,10,7,7,8,9,7,9,9,7,10,9,7,9,11,9,9,7,9,7,10,7,9,10,1,9,9,0,0,9,7,1,9,2,10,9,1,3,9,10,9,9,9,0,7,7,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,0,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,7,7,14,14,14,7,7,7,14,22,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,14,7,22,14,7,7,0,7,7,0,7,14,0,0,14,0,14,7,0,7,7,14,7,7,14,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,0,2,16,9,0,2,9,16,7,9,9,0,14,14,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,0,2,2,0,0,2,0,2,2,0,2,2,2,0,2,2,0,0,0,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,9,7,17,14,9,10,1,9,9,0,10,16,14,1,16,2,0,9,1,2,9,17,8,9,9,0,14,14,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,0,0,2,9,9,7,9,9,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,2,2,2,7,2,2,2,3,3,7,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,9,0,9,0,2,2,0,2,2,0,3,2,7,0,2,2,2,2,0,0,2,2,1,2,9,0,0,0,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,0,9,7,9,9,0,7,7,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,9,7,17,14,9,10,1,9,9,0,10,16,14,1,16,2,17,9,1,2,9,0,8,9,9,0,14,14,7,7,7,7,7,7,7,8,8,7,7,8,7,7,7,7,7,8,7,7,7,9,7,7,7,7,7,8,7,7,8,1,7,7,0,9,7,7,1,7,0,8,7,1,1,7,8,0,7,7,0,7,7,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,0,9,0,7,7,9,9,9,14,9,9,9,9,9,14,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,16,7,16,7,9,9,0,9,9,0,9,9,14,0,9,2,9,9,0,9,9,9,7,9,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,0,14,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,0,0,16,16,7,9,23,16,23,16,7,23,14,16,16,18,23,14,16,16,16,16,16,16,16,14,16,21,11,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,4,23,18,21,25,18,0,14,14,16,0,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,0,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,7,7,7,0,14,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,0,14,7,0,7,7,7,7,0,0,7,7,14,7,7,0,14,7,9,9,9,14,0,16,9,16,16,14,14,7,9,14,9,9,7,9,16,7,9,9,9,9,7,16,7,9,7,9,9,0,9,9,9,0,16,7,0,9,9,9,9,0,2,9,9,14,9,9,0,14,7,23,16,16,14,16,0,16,30,23,14,28,14,16,21,16,23,14,16,23,14,16,16,16,16,14,23,21,9,14,23,16,0,23,23,9,0,16,7,0,16,16,16,16,0,2,23,16,28,23,16,0,21,14,16,16,16,7,9,16,0,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,23,16,16,14,16,30,16,0,24,14,28,15,16,21,16,23,14,17,23,14,16,17,16,16,14,23,21,9,14,23,16,0,23,23,10,0,16,7,0,16,16,16,16,0,3,23,16,29,23,16,0,21,14,16,16,16,14,16,23,16,24,0,14,21,15,16,21,16,16,14,17,23,14,16,18,16,16,7,23,14,9,14,16,16,0,16,16,10,0,16,7,0,16,16,16,16,0,3,16,16,23,16,9,0,21,14,7,7,7,14,14,14,7,14,14,0,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,0,14,7,0,7,7,7,7,0,0,7,7,14,7,7,0,14,7,23,14,14,14,14,28,14,28,21,14,0,14,14,23,16,21,14,14,21,16,14,14,14,14,14,21,21,9,14,21,14,0,21,21,7,0,14,7,0,14,14,14,14,0,2,21,16,28,23,16,0,21,14,14,14,14,7,7,14,14,15,15,7,14,0,14,14,14,14,14,15,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,0,7,7,0,14,7,14,14,0,1,14,14,15,14,7,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,0,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,14,14,14,14,21,14,21,21,14,23,14,14,0,16,14,14,14,21,16,14,14,14,14,7,21,14,9,14,14,14,0,14,14,7,0,14,7,0,14,14,14,14,0,2,14,16,21,16,9,0,21,14,18,16,16,7,9,16,16,16,16,7,16,14,16,16,0,16,14,16,16,16,16,16,16,16,7,16,14,11,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,4,16,18,14,18,11,0,14,14,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,0,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,0,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,16,16,16,7,9,16,16,17,17,7,14,15,16,14,16,16,14,0,16,14,16,17,16,16,7,16,14,9,14,16,16,0,16,16,10,0,9,7,0,16,9,16,16,0,3,16,16,16,16,9,0,14,14,16,16,16,14,16,23,16,23,23,14,21,14,16,21,16,16,14,16,0,14,16,16,16,16,7,23,14,9,14,16,16,0,16,16,9,0,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,16,14,14,7,7,14,14,14,14,7,16,14,14,16,16,14,14,14,14,0,14,14,14,14,7,14,14,9,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,2,14,16,14,16,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,0,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,17,18,7,14,15,16,14,16,16,14,17,16,14,16,0,16,16,7,16,14,10,14,16,17,1,16,16,11,0,9,7,1,16,9,17,16,1,3,16,17,17,16,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,0,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,14,7,7,7,7,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,0,7,14,7,7,14,7,0,14,14,7,0,7,7,0,7,0,7,7,0,0,14,7,14,14,14,0,7,7,16,16,16,14,16,23,16,23,23,14,21,14,16,21,16,16,14,16,23,14,16,16,16,16,7,0,14,9,14,16,16,0,16,16,9,0,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,0,7,14,21,14,0,21,21,7,0,7,7,0,14,7,14,14,0,0,21,14,21,21,14,0,14,14,11,9,9,7,9,9,9,9,9,7,9,7,9,9,11,9,7,9,9,9,9,10,9,9,7,9,7,0,7,9,10,1,9,9,10,0,9,7,1,9,2,10,9,1,4,9,12,8,11,11,0,7,7,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,0,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,0,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,17,16,16,7,16,14,10,14,16,0,1,16,16,10,0,9,7,1,16,9,17,16,1,2,16,17,15,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,0,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,0,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,9,9,9,7,9,9,9,10,10,7,7,8,9,7,9,9,7,10,9,7,9,11,9,9,7,9,7,10,7,9,10,1,9,9,0,0,9,7,1,9,2,10,9,1,3,9,10,9,9,9,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,14,16,16,9,16,16,14,14,7,9,14,9,9,7,9,16,7,9,9,9,9,7,16,7,9,7,9,9,0,9,9,9,0,0,7,0,9,9,9,9,0,2,9,9,14,9,9,0,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,0,7,0,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,0,9,16,16,0,2,16,16,14,16,9,0,14,14,9,9,9,7,9,16,9,16,16,7,14,7,9,14,9,9,7,9,16,7,9,9,9,9,0,16,7,2,7,9,9,0,9,9,2,0,9,0,0,9,0,9,9,0,2,9,9,14,9,2,0,14,7,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,17,16,16,7,16,14,10,14,16,17,1,16,16,10,0,9,7,1,16,9,0,16,1,2,16,17,15,16,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,4,2,2,0,2,2,2,3,3,0,2,1,2,2,4,2,0,3,2,2,2,3,2,2,0,2,0,4,0,2,2,0,2,2,3,0,2,0,0,2,2,2,2,0,0,2,4,1,4,4,0,0,0,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,0,16,21,23,16,0,14,14,18,16,16,7,9,16,16,16,16,7,16,14,16,16,18,16,14,16,16,16,16,17,16,16,7,16,14,12,14,16,17,1,16,16,10,0,9,7,1,16,9,17,16,1,4,16,0,15,18,11,0,14,14,21,14,14,14,14,28,14,29,23,14,28,15,14,21,14,21,14,16,21,14,14,17,14,14,14,21,21,8,14,21,15,1,21,21,9,0,14,7,1,14,14,15,14,1,1,21,15,0,21,14,0,21,14,25,16,16,7,9,23,16,23,16,7,23,14,16,16,18,23,14,16,16,16,16,16,16,16,14,16,21,11,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,4,23,18,21,0,18,0,14,14,18,9,9,7,9,16,9,16,9,7,16,7,9,9,11,16,7,9,9,9,9,9,9,9,14,9,14,11,7,16,9,0,16,16,9,0,9,7,0,9,2,9,9,0,4,16,11,14,18,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,14,14,21,14,21,21,14,21,14,14,21,14,14,14,14,21,14,14,14,14,14,7,21,14,7,14,14,14,0,14,14,7,0,14,7,0,14,14,14,14,0,0,14,14,21,14,7,0,0,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,0,0,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,0,10,8,10,10,10,9,9,10,8,7,10,8,10,10,8,9,10,8,10,11,10,10,10,12,8,10,10,12,10,0,10,10,9,9,0,10,0,10,3,12,10,0,2,12,10,9,10,10,0,10,8,10,10,0,8,18,10,10,10,16,15,8,7,18,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,0,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,8,8,8,0,15,15,8,14,14,15,15,7,8,15,8,8,8,7,15,8,8,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,0,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,8,10,10,18,15,0,17,10,17,23,22,15,7,18,22,17,10,15,17,24,9,10,16,17,10,8,18,9,17,15,11,10,0,10,10,16,16,0,16,0,17,11,17,10,0,2,10,17,14,11,11,0,22,15,10,10,10,15,17,0,10,16,16,15,15,7,10,15,10,10,8,9,17,8,10,9,10,10,8,17,8,10,8,10,10,0,10,10,9,16,0,8,0,10,10,10,10,0,2,10,10,14,10,10,0,15,8,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,10,14,17,16,9,0,16,14,14,7,10,14,9,9,7,10,16,8,9,9,9,9,7,17,8,9,7,10,9,0,9,9,9,16,0,8,0,9,10,9,9,0,2,9,9,14,10,10,0,14,7,9,9,16,14,23,16,9,16,0,21,14,7,16,21,16,9,14,16,23,7,9,16,16,9,7,16,7,16,14,9,9,0,9,9,16,16,0,14,0,16,9,16,9,0,2,9,16,14,9,9,0,21,14,8,10,15,15,22,15,8,14,21,0,15,7,15,22,15,8,15,14,22,8,8,16,15,8,10,17,8,15,17,10,8,0,8,8,14,14,0,17,0,15,8,17,8,0,0,10,15,16,8,8,0,24,15,8,8,8,15,15,15,8,14,14,15,0,7,8,15,8,8,8,7,15,8,8,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,0,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,8,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,0,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,10,10,18,8,18,10,10,10,16,15,8,7,0,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,0,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,8,8,15,15,22,15,8,14,21,22,15,7,15,0,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,0,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,10,10,17,8,17,10,10,9,16,15,8,7,17,15,0,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,0,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,0,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,9,9,17,7,17,9,9,10,16,14,7,7,17,14,16,9,14,0,16,8,9,16,16,9,7,10,8,16,14,10,9,0,9,9,16,9,0,15,0,16,3,16,9,0,2,9,16,7,10,10,0,14,14,10,10,17,15,24,17,10,16,23,22,15,7,17,22,17,10,15,16,0,8,10,16,17,10,8,17,8,17,15,10,10,0,10,10,16,16,0,15,0,17,10,17,10,0,2,10,17,14,10,10,0,22,15,8,8,9,8,9,8,8,8,7,8,8,7,9,8,8,8,8,8,8,0,8,7,8,8,8,9,9,8,8,9,8,0,8,8,7,7,0,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,11,16,7,16,9,9,9,16,16,7,7,16,14,16,9,14,16,16,7,9,0,16,9,9,11,7,16,16,11,9,0,9,9,16,9,0,16,0,16,2,18,9,0,2,11,16,9,9,9,0,16,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,0,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,10,8,0,8,8,7,7,0,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,10,12,11,15,18,17,10,17,16,17,15,7,11,15,10,10,8,10,17,9,10,11,10,10,10,0,9,10,10,13,10,0,10,10,9,16,0,11,0,10,11,12,10,0,2,12,10,16,11,11,0,17,8,8,8,9,8,9,8,8,8,7,8,8,7,9,8,8,8,8,8,8,9,8,7,8,8,8,9,0,8,8,9,8,0,8,8,7,7,0,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,10,15,8,15,8,8,7,14,17,8,7,15,15,15,8,15,14,15,8,8,16,15,8,10,10,8,15,0,10,8,0,8,8,14,7,0,17,0,15,1,17,8,0,0,10,15,9,8,8,0,17,15,10,12,11,8,11,10,10,10,9,10,8,7,11,8,10,10,8,10,10,9,10,11,10,10,10,13,9,10,10,0,10,0,10,10,9,9,0,11,0,10,4,12,10,0,2,12,10,9,11,11,0,10,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,0,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,0,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,0,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,0,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,9,9,9,14,16,16,9,16,16,14,14,7,9,14,9,9,7,9,16,7,9,9,9,9,7,16,7,9,7,9,9,0,9,9,9,0,0,7,0,9,9,9,9,0,2,9,9,14,9,9,0,14,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,16,8,16,8,8,8,14,17,8,7,16,15,15,8,15,15,15,9,8,16,15,8,10,11,9,15,17,11,8,0,8,8,14,7,0,0,0,15,2,17,8,0,0,10,15,9,9,9,0,17,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,3,3,4,8,11,10,3,10,9,8,8,0,4,8,3,3,1,3,10,2,3,2,3,3,1,11,2,3,1,4,3,0,3,3,2,9,0,2,0,3,0,3,3,0,2,3,3,7,4,4,0,8,1,10,12,17,8,17,10,10,9,16,17,8,7,17,15,17,10,15,16,17,8,10,18,17,10,10,12,8,17,17,12,10,0,10,10,16,9,0,17,0,17,3,0,10,0,2,12,17,9,10,10,0,17,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,0,0,2,10,10,7,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,0,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,10,12,10,8,10,10,10,9,9,10,8,7,10,8,10,10,8,9,10,8,10,11,10,10,10,12,8,10,10,12,10,0,10,10,9,9,0,10,0,10,3,12,10,0,2,0,10,9,10,10,0,10,8,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,0,7,10,10,0,15,15,7,9,7,14,14,14,7,14,14,16,14,7,7,14,7,7,7,7,14,7,7,9,7,7,9,16,7,7,9,9,7,0,7,7,7,14,0,9,0,7,7,9,7,0,0,9,7,0,7,7,0,16,7,10,10,11,8,11,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,0,9,0,10,4,10,10,0,2,10,10,7,0,11,0,8,8,10,10,11,8,11,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,0,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,15,15,22,15,8,14,21,24,15,7,15,22,15,8,15,14,22,8,8,16,15,8,10,17,8,15,17,10,8,0,8,8,14,14,0,17,0,15,8,17,8,0,0,10,15,16,8,8,0,0,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,0,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,0,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,9,0,8,8,8,9,9,7,7,12,8,7,9,8,8,8,8,7,8,8,8,9,8,9,10,10,9,8,10,10,8,0,9,8,7,7,10,0,0,9,1,10,8,0,1,13,8,9,9,8,0,10,9,8,8,0,8,16,8,8,8,14,15,8,7,17,15,15,8,15,15,15,9,8,14,15,8,8,9,10,15,16,9,8,0,8,8,14,7,16,0,0,15,2,15,8,0,0,8,15,7,10,9,0,15,15,8,8,8,0,8,8,8,7,7,15,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,15,8,15,8,8,8,0,8,8,14,7,8,0,0,8,1,8,8,0,7,8,8,7,8,15,0,8,8,8,8,16,8,0,8,8,8,14,15,8,7,16,15,15,8,15,15,15,9,8,14,15,8,8,9,9,15,15,9,8,0,8,8,14,7,16,0,0,15,2,15,8,0,0,8,15,7,9,9,0,15,15,9,9,8,8,8,0,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,9,9,8,8,8,9,0,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,7,7,8,7,8,7,7,0,7,7,7,7,8,7,7,7,7,8,7,8,7,7,7,7,7,8,8,7,7,8,7,0,7,7,7,7,8,0,0,7,1,7,7,0,0,7,7,7,8,8,0,7,7,7,7,14,7,14,7,7,7,0,14,7,7,14,14,14,7,14,15,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,14,7,14,0,0,14,0,15,7,0,0,7,14,7,7,7,0,14,14,8,12,15,15,15,8,8,7,14,0,10,9,15,17,15,8,17,14,15,10,8,16,15,8,12,17,10,23,19,10,8,0,8,8,22,7,17,0,0,15,1,17,8,0,7,12,15,11,8,15,0,19,17,8,8,8,8,8,8,8,7,7,10,0,9,8,10,8,8,10,7,8,10,8,7,8,8,10,8,10,8,10,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,7,7,7,7,7,7,7,7,7,9,9,0,7,9,7,7,9,7,7,9,7,7,7,7,9,7,9,7,9,7,7,0,7,7,7,7,7,0,0,7,0,7,7,0,0,7,7,9,7,7,0,9,9,9,9,17,8,16,9,9,8,14,15,8,7,0,15,15,8,15,15,15,9,8,14,15,9,8,9,11,15,16,9,8,0,9,8,14,7,16,0,0,16,2,15,8,0,1,9,15,7,11,9,0,15,16,8,8,15,8,15,8,8,7,14,17,10,9,15,0,15,8,17,14,15,10,8,14,15,8,10,8,10,15,17,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,9,8,8,0,17,17,8,8,15,8,15,8,8,7,14,15,8,7,15,15,0,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,0,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,15,8,15,8,8,7,14,17,10,9,15,17,15,8,0,14,15,10,8,14,15,8,10,8,10,15,17,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,9,8,8,0,17,17,7,7,15,7,15,7,7,8,15,14,7,7,15,14,14,7,14,0,14,8,7,14,14,7,7,8,8,14,14,8,7,0,7,7,14,7,15,0,0,14,1,15,7,0,0,7,14,7,8,8,0,14,14,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,0,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,8,8,9,8,9,8,8,8,7,10,10,9,9,10,8,8,10,8,8,0,8,7,8,8,10,9,11,8,10,9,8,0,8,8,7,7,9,0,0,8,2,8,8,0,0,8,8,9,9,9,0,10,10,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,7,9,14,7,14,7,7,7,14,16,7,7,14,14,14,7,14,14,14,7,7,0,14,7,9,9,7,14,16,9,7,0,7,7,14,7,16,0,0,14,0,16,7,0,0,9,14,9,7,7,0,16,14,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,0,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,9,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,0,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,8,10,8,8,8,8,8,7,7,12,10,9,8,10,8,8,10,7,8,10,8,9,8,8,0,10,10,8,12,10,8,0,8,8,7,7,10,0,0,8,1,10,8,0,0,10,8,11,8,8,0,12,10,8,10,9,15,9,8,8,8,7,17,8,7,9,8,8,8,8,8,8,9,8,9,8,8,10,0,9,15,11,11,8,0,8,8,14,7,11,0,0,8,2,10,8,0,7,10,8,9,9,16,0,10,8,9,9,10,8,9,9,9,8,7,10,10,9,11,10,8,8,10,8,8,11,8,7,8,9,10,9,0,8,11,9,8,0,9,8,7,7,9,0,0,9,2,8,8,0,1,9,8,9,11,9,0,10,11,8,8,15,15,15,8,8,7,14,23,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,15,8,0,15,8,8,0,8,8,22,7,15,0,0,15,1,15,8,0,7,8,15,7,8,15,0,15,15,8,10,16,8,15,8,8,7,14,19,10,9,16,17,15,8,17,14,15,10,8,16,15,8,12,11,11,15,0,10,8,0,8,8,14,7,17,0,0,15,1,17,8,0,0,10,15,11,9,8,0,19,17,8,10,9,8,9,8,8,8,7,10,8,7,9,8,8,8,8,8,8,9,8,9,8,8,10,11,9,8,10,0,8,0,8,8,7,7,11,0,0,8,2,10,8,0,0,10,8,9,9,9,0,10,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,0,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,0,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,7,7,14,14,14,7,7,7,14,22,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,14,7,22,14,7,7,0,7,7,0,7,14,0,0,14,0,14,7,0,7,7,14,7,7,14,0,14,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,0,7,0,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,8,10,16,8,16,8,8,8,14,17,8,7,16,15,15,8,15,15,15,9,8,16,15,8,10,11,9,15,17,11,8,0,8,8,14,7,0,0,0,15,2,17,8,0,0,10,15,9,9,9,0,17,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,15,8,15,9,9,7,14,15,8,7,16,15,15,8,15,14,15,8,8,14,15,9,8,8,9,15,15,8,8,0,9,8,14,7,15,0,0,0,1,15,8,0,1,9,15,7,9,8,0,15,16,1,1,2,1,2,1,1,1,0,1,1,0,2,1,1,1,1,1,1,2,1,0,1,1,1,2,2,1,1,2,1,0,1,1,0,0,2,0,0,1,0,1,1,0,0,1,1,0,2,2,0,1,1,8,10,15,8,15,8,8,7,15,17,8,7,15,15,15,8,15,15,15,8,8,16,15,8,10,10,8,15,17,10,8,0,8,8,14,7,17,0,0,15,1,0,8,0,0,10,15,9,8,8,0,17,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,7,0,1,1,0,0,7,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,7,1,7,0,0,0,0,1,0,7,0,0,0,0,1,0,0,0,0,0,1,0,0,1,7,0,0,1,9,13,8,8,8,9,9,7,7,12,8,7,9,8,8,8,8,7,8,8,8,9,8,9,10,10,9,8,10,10,8,0,9,8,7,7,10,0,0,9,1,10,8,0,1,0,8,9,9,8,0,10,9,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,0,7,8,8,0,15,15,7,9,7,7,7,7,7,7,7,11,9,9,7,9,7,7,9,7,7,9,7,9,7,7,11,9,9,7,11,9,7,0,7,7,7,7,9,0,0,7,0,9,7,0,0,9,7,0,7,7,0,11,9,9,9,10,8,9,9,9,8,7,8,8,7,11,8,8,8,8,8,8,9,8,7,8,9,8,9,11,8,9,9,8,0,9,8,7,7,9,0,0,9,2,8,8,0,1,9,8,7,0,9,0,8,9,8,8,9,15,9,8,8,8,7,15,8,7,9,8,8,8,8,8,8,9,8,7,8,8,8,16,9,15,8,9,8,0,8,8,14,7,9,0,0,8,2,8,8,0,7,8,8,7,9,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,15,8,15,8,8,7,14,19,10,9,15,17,15,8,17,14,15,10,8,16,15,8,12,10,10,15,19,10,8,0,8,8,14,7,17,0,0,15,1,17,8,0,0,10,15,11,8,8,0,0,17,9,9,15,8,15,9,9,7,14,17,10,9,16,17,15,8,17,14,15,10,8,14,15,9,10,8,11,15,17,8,8,0,9,8,14,7,15,0,0,16,1,15,8,0,1,9,15,9,9,8,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,17,9,10,18,26,17,17,8,15,14,26,15,26,25,23,17,19,22,27,16,25,26,16,17,16,10,23,17,17,0,18,18,9,16,10,9,0,0,10,18,17,0,3,19,17,14,25,10,0,15,16,19,0,17,9,10,18,18,16,17,8,15,14,18,15,17,18,15,16,18,15,18,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,18,10,0,15,16,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,17,24,14,17,10,0,22,22,9,9,8,0,8,10,8,7,8,8,8,7,8,8,8,9,10,7,9,8,11,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,0,1,8,8,0,0,9,8,7,8,8,0,8,10,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,18,18,17,10,10,0,18,16,16,8,15,14,18,15,17,17,17,16,17,15,21,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,18,10,0,17,20,26,18,17,8,10,18,0,16,16,8,15,14,27,15,25,25,24,16,17,23,25,16,26,27,17,17,16,10,24,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,25,10,0,15,16,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,0,9,17,16,0,2,16,16,14,16,9,0,14,14,17,17,23,8,16,16,16,16,0,14,14,14,23,21,23,17,21,23,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,0,9,23,16,0,2,17,23,14,16,9,0,21,21,8,8,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,0,1,15,8,0,0,8,15,7,8,8,0,15,15,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,0,8,15,15,0,0,15,15,14,15,8,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,0,7,14,14,0,0,14,14,14,14,7,0,14,14,26,18,24,8,17,18,27,16,23,15,15,14,0,22,32,25,31,23,24,23,25,23,33,27,17,17,16,17,31,17,17,0,18,17,16,16,17,16,0,0,10,24,17,0,3,19,24,14,25,10,0,22,23,15,15,22,8,15,15,15,14,21,15,15,14,22,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,15,22,14,15,8,0,22,22,26,17,24,8,17,17,25,17,23,15,15,14,32,22,0,24,30,24,25,22,26,23,32,25,16,17,15,17,30,17,17,0,17,18,16,16,17,15,0,0,10,25,17,0,2,17,24,14,24,10,0,22,22,25,18,17,9,10,17,25,16,17,8,15,14,25,15,24,0,23,16,18,23,25,16,25,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,19,17,14,24,10,0,15,15,23,15,22,10,15,17,24,14,21,15,15,14,31,22,30,23,0,21,22,23,25,21,31,24,17,15,15,15,31,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,16,22,14,22,8,0,22,24,17,16,23,7,16,16,16,17,23,14,14,14,23,21,24,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,0,9,24,16,0,2,16,23,14,16,9,0,21,21,19,18,24,9,17,17,17,17,24,15,15,14,24,22,25,18,22,24,0,15,19,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,0,10,25,17,0,2,18,24,14,17,10,0,22,22,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,23,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,0,8,15,15,0,0,16,15,14,22,8,0,15,15,27,18,17,11,10,21,25,17,17,8,15,14,25,15,26,25,25,17,19,22,0,16,25,25,16,17,15,10,23,17,17,0,17,18,9,16,10,8,0,0,10,18,17,0,2,18,17,14,24,10,0,15,17,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,0,9,23,16,0,2,16,23,14,16,9,0,21,21,25,17,24,8,17,17,26,16,23,15,15,14,33,22,32,25,31,23,24,23,25,23,0,26,17,17,15,17,31,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,18,24,14,24,10,0,22,22,26,18,17,8,10,18,27,16,16,8,15,14,27,15,25,25,24,16,17,23,25,16,26,0,17,17,16,10,24,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,25,10,0,15,16,16,8,8,8,8,8,17,7,7,8,8,7,17,8,16,16,17,7,8,16,16,7,17,17,0,8,8,8,17,8,8,0,8,8,7,7,8,8,0,0,1,8,8,0,0,9,8,7,15,8,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,0,8,15,15,0,1,16,15,14,16,8,0,15,16,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,23,15,22,8,15,15,24,14,21,15,15,14,31,22,30,23,31,21,22,23,23,21,31,24,17,15,15,15,0,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,16,22,14,22,8,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,18,10,0,15,16,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,0,10,18,17,0,2,17,17,14,17,10,0,15,15,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,0,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,0,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,9,9,15,8,15,9,9,7,14,15,8,7,16,15,15,8,15,14,15,8,8,14,15,9,8,8,9,15,15,8,8,0,9,8,14,7,15,0,0,0,1,15,8,0,1,9,15,7,9,8,0,15,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,0,0,10,10,0,2,10,10,7,10,3,0,8,8,18,17,24,8,17,17,17,17,23,15,15,14,24,22,25,17,22,24,25,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,0,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,0,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,0,2,2,2,0,0,3,2,0,3,2,0,0,1,19,19,17,9,10,18,19,16,17,8,15,14,19,15,17,19,16,16,18,16,18,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,0,17,14,18,10,0,15,16,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,17,0,14,17,10,0,22,22,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,0,7,14,14,0,0,14,14,0,14,7,0,14,14,25,18,17,8,10,18,25,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,25,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,0,10,0,15,16,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,0,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,17,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,15,22,14,15,8,0,0,24,16,16,22,10,15,20,16,14,21,15,15,14,23,22,22,15,24,21,22,15,17,21,22,16,8,15,16,15,22,15,15,0,16,15,14,14,15,16,0,0,8,22,15,0,1,16,22,14,16,8,0,24,0,0,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,10,0,10,8,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,15,10,9,10,17,1,17,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,10,10,0,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,1,8,1,0,8,8,1,7,7,8,8,0,1,8,1,1,1,0,8,8,1,0,1,8,1,15,1,1,1,1,1,0,1,1,0,7,8,1,0,1,0,1,1,0,0,1,1,7,1,1,0,8,1,3,3,4,8,0,10,5,10,9,8,8,2,4,8,3,5,1,5,10,2,3,2,5,3,1,11,4,3,1,4,5,0,5,5,2,9,11,2,0,3,0,3,5,0,2,3,3,7,4,4,0,8,1,10,10,10,8,10,0,10,16,16,8,15,7,10,15,10,10,8,9,17,8,10,9,10,10,1,17,8,3,8,10,10,0,10,10,2,16,10,1,0,10,0,10,10,0,2,10,10,14,10,3,0,15,8,10,10,10,1,5,10,0,9,10,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,9,9,10,7,10,16,9,0,16,7,14,7,10,14,9,9,7,10,16,8,9,9,9,9,0,17,8,2,7,10,9,0,9,9,2,16,10,1,0,9,0,9,9,0,2,9,9,14,10,3,0,14,7,9,9,9,7,9,16,10,16,0,7,14,7,9,14,9,9,7,9,16,7,9,9,9,9,0,16,7,2,7,9,9,0,9,9,2,16,9,0,0,9,0,9,9,0,2,9,9,14,9,2,0,14,7,1,1,1,8,8,8,1,7,7,0,8,0,1,8,1,1,1,0,8,1,1,0,1,1,1,8,1,1,1,1,1,0,1,1,0,7,8,1,0,1,0,1,1,0,0,1,1,7,1,1,0,8,1,8,8,8,8,8,15,8,14,14,8,0,7,8,15,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,15,8,7,7,7,0,2,7,9,7,7,0,7,0,7,7,7,9,7,9,7,7,7,7,9,7,0,7,9,0,7,7,9,0,9,9,0,7,0,0,0,7,0,7,9,0,0,7,7,7,7,0,0,7,7,10,10,11,1,4,10,10,10,9,1,8,7,0,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,8,8,8,8,8,15,8,14,14,8,15,7,8,0,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,15,8,10,10,10,1,3,10,10,9,9,1,8,7,10,8,0,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,0,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,0,7,8,8,8,7,8,8,1,8,8,1,8,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,8,9,9,10,0,5,9,11,10,9,0,7,9,10,7,9,11,7,0,9,8,9,9,11,9,0,10,10,2,7,10,11,0,11,11,2,9,3,1,0,9,0,9,11,0,2,9,9,7,10,3,0,7,7,10,10,10,8,10,17,10,16,16,8,15,7,10,15,10,10,8,9,0,8,10,9,10,10,1,17,8,3,8,10,10,0,10,10,2,16,10,1,0,10,0,10,10,0,9,10,10,14,10,3,0,15,8,8,15,9,8,2,8,8,8,7,1,8,7,9,8,8,8,8,8,8,0,8,7,8,15,1,16,9,1,8,9,8,0,8,8,0,7,2,2,0,8,0,8,8,0,0,8,8,7,9,2,0,8,8,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,0,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,9,9,9,0,2,9,9,9,9,0,7,7,9,7,9,9,7,9,9,7,9,0,9,9,0,9,7,2,7,9,9,0,9,9,2,9,2,0,0,9,0,9,9,0,2,9,9,7,9,2,0,7,7,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,0,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,10,17,10,8,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,15,10,9,10,0,1,17,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,0,1,1,0,1,1,10,17,11,15,11,17,10,17,16,8,15,7,11,15,10,10,8,10,17,16,10,9,10,17,1,0,9,3,8,11,10,0,10,10,2,16,11,2,0,10,0,10,10,0,2,10,10,14,11,4,0,15,8,8,8,9,1,4,8,10,8,7,1,8,9,9,8,8,10,8,10,8,9,8,7,10,8,1,9,0,1,8,9,10,0,10,10,0,7,2,2,0,8,0,8,10,0,0,8,8,7,9,2,0,8,8,3,3,3,1,3,3,3,2,2,1,1,0,3,1,3,3,1,2,3,1,3,2,3,3,1,3,1,0,1,3,3,0,3,3,2,2,3,1,0,3,0,3,3,0,2,3,3,0,3,3,0,1,1,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,8,7,8,8,8,7,8,8,1,8,8,1,0,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,8,10,10,11,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,0,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,0,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,0,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,0,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,0,2,2,0,0,2,0,2,2,0,2,2,2,0,2,2,0,0,0,9,9,9,7,9,16,9,16,16,7,14,7,9,14,9,9,7,9,16,7,9,9,9,9,0,16,7,2,7,9,9,0,9,9,2,0,9,0,0,9,0,9,9,0,2,9,9,14,9,2,0,14,7,3,3,4,8,11,10,3,10,9,8,8,0,4,8,3,3,1,3,10,2,3,2,3,3,1,11,2,3,1,4,3,0,3,3,2,9,0,2,0,3,0,3,3,0,2,3,3,7,4,4,0,8,1,1,1,2,1,2,1,1,1,0,1,1,0,2,1,1,1,1,1,1,2,1,0,1,1,1,2,2,1,1,2,1,0,1,1,0,0,2,0,0,1,0,1,1,0,0,1,1,0,2,2,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,0,0,10,10,0,2,10,10,7,10,3,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,0,10,0,2,10,10,7,10,3,0,8,8,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,0,0,2,10,10,7,10,3,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,9,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,0,2,2,0,0,2,2,0,2,2,0,0,0,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,0,10,7,10,3,0,8,8,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,0,7,10,3,0,8,8,7,7,7,7,7,14,7,14,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,0,14,7,0,7,7,7,0,7,7,0,14,7,0,0,7,0,7,7,0,0,7,7,0,7,0,0,14,7,10,10,11,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,0,4,0,8,8,3,3,4,1,4,3,3,3,2,1,1,0,4,1,3,3,1,3,3,2,3,2,3,3,1,4,2,3,1,4,3,0,3,3,2,2,4,2,0,3,0,3,3,0,2,3,3,0,4,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,15,8,14,14,8,15,7,8,15,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,0,8,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,8,7,8,8,8,7,8,8,1,8,8,1,8,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,0,0,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,17,0,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,0,8,0,0,8,8,7,8,8,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,0,10,0,2,10,17,7,10,10,0,15,15,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,0,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,0,16,0,2,16,16,14,16,9,0,14,14,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,24,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,15,0,23,9,0,16,0,2,16,23,14,16,9,0,21,21,8,10,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,16,15,8,10,10,8,15,17,10,8,0,8,8,14,7,17,17,0,15,1,0,8,0,0,10,15,9,8,8,0,17,15,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,0,14,0,0,14,14,14,14,7,0,14,14,17,17,24,8,17,17,17,16,23,15,15,14,0,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,15,15,22,8,15,15,15,14,21,15,15,14,22,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,22,18,17,24,8,17,17,17,17,23,15,15,14,24,22,0,17,22,24,25,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,0,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,22,17,16,23,7,16,16,16,17,24,14,14,14,23,21,24,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,15,0,24,9,0,16,0,2,16,23,14,16,9,0,21,21,18,17,24,8,17,17,17,17,23,15,15,14,24,22,25,17,22,24,0,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,0,17,0,2,17,24,14,17,10,0,22,22,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,16,18,23,7,16,16,16,16,23,16,14,14,23,21,23,16,21,23,23,14,16,0,23,16,9,18,14,17,23,18,17,1,16,16,17,17,18,16,1,23,9,0,16,1,2,18,24,17,16,9,0,23,21,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,10,8,0,8,8,7,7,10,10,0,8,1,0,8,0,0,10,8,9,8,8,0,10,8,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,17,17,10,8,10,8,0,15,10,11,1,10,10,17,10,17,15,1,17,3,0,10,1,2,10,18,8,10,10,0,15,15,15,17,22,8,15,15,15,14,21,17,15,14,22,22,22,15,22,21,22,15,15,23,22,15,10,17,15,15,0,17,15,0,15,15,14,14,17,17,0,22,8,0,15,0,0,17,22,16,15,8,0,24,22,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,0,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,17,17,17,8,17,15,11,15,17,0,1,17,17,10,17,10,8,1,17,10,0,17,1,2,17,18,15,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,9,7,17,14,9,10,1,9,9,0,10,16,14,1,16,2,0,9,1,2,9,17,8,9,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,17,16,16,7,16,14,10,14,16,17,1,16,16,10,0,9,7,1,16,9,0,16,1,2,16,17,15,16,9,0,14,14,10,12,17,8,17,10,10,9,16,17,8,7,17,15,17,10,15,16,17,8,10,18,17,10,10,12,8,17,17,12,10,0,10,10,16,9,0,17,0,17,3,0,10,0,2,12,17,9,10,10,0,17,15,8,10,15,8,15,8,8,7,15,17,8,7,15,15,15,8,15,15,15,8,8,16,15,8,10,10,8,15,17,10,8,0,8,8,14,7,17,0,0,15,1,0,8,0,0,10,15,9,8,8,0,17,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,18,17,24,8,17,17,17,17,23,15,15,14,24,22,25,17,22,24,25,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,0,10,0,17,0,2,17,24,14,17,10,0,22,22,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,0,10,0,2,10,10,7,10,3,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,0,2,0,0,2,2,0,2,2,0,0,0,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,0,17,16,17,10,0,17,15,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,24,24,17,8,17,15,18,22,17,18,1,17,17,17,17,17,15,1,24,10,0,17,1,2,17,0,15,17,10,0,22,22,14,16,14,7,7,14,14,14,14,9,14,14,14,14,14,14,14,14,14,14,14,17,14,14,9,16,14,8,16,16,15,1,14,14,8,15,9,9,1,14,7,0,14,1,0,16,15,0,14,7,0,16,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,0,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,22,8,15,15,15,14,21,17,15,14,22,22,22,15,22,21,22,15,15,23,22,15,10,17,15,15,24,17,15,0,15,15,14,14,17,17,0,22,8,0,15,0,0,17,22,16,15,8,0,0,22,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,0,0,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,17,17,0,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,0,0,2,10,10,7,10,10,0,8,8,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,17,17,18,8,12,17,0,16,16,8,15,23,17,15,18,20,16,18,17,16,24,16,19,17,8,18,17,10,15,18,26,0,19,19,9,16,10,8,0,17,12,17,0,0,9,17,17,14,17,10,0,15,15,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,14,14,14,7,9,14,23,14,14,7,14,0,14,14,14,16,14,16,14,14,21,14,16,14,7,14,16,7,14,14,23,0,16,16,7,14,7,7,0,14,9,14,0,0,7,14,14,14,14,7,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,17,17,18,8,12,17,20,16,16,8,15,16,17,15,18,0,16,18,17,16,17,16,19,17,8,18,17,10,15,18,19,0,19,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,15,15,16,8,8,15,16,14,14,8,15,14,15,15,16,16,0,14,15,16,15,14,15,15,8,16,15,8,15,16,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,0,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,15,15,16,8,8,15,16,14,14,8,15,14,15,15,16,16,16,14,15,0,15,14,15,15,8,16,15,8,15,16,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,17,17,17,8,10,17,24,16,16,8,15,21,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,24,0,17,17,9,16,10,8,0,17,10,17,0,0,9,17,17,14,17,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,0,17,8,17,17,10,15,17,19,0,24,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,17,17,18,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,15,15,15,8,10,15,17,14,14,8,15,16,15,15,15,17,15,16,15,15,15,14,17,15,8,15,0,8,15,15,17,0,17,17,7,14,8,8,0,15,10,15,0,0,0,15,15,14,15,8,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,0,0,2,10,10,7,10,10,0,8,8,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,0,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,26,16,16,8,15,23,17,15,17,19,15,18,17,15,24,16,19,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,0,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,24,17,8,17,17,10,15,17,19,0,0,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,19,17,8,17,17,10,15,17,19,0,19,0,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,0,0,2,9,9,7,9,9,0,7,7,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,0,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,0,10,17,0,0,2,17,17,14,17,10,0,15,15,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,0,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,9,2,2,0,0,7,2,0,2,2,0,2,2,0,9,2,2,2,0,2,0,2,0,2,9,0,2,2,2,2,2,0,0,2,2,2,0,0,0,2,2,0,2,2,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,0,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,0,14,17,10,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,0,0,0,14,14,0,14,7,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,0,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,0,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,0,2,3,3,2,2,0,2,0,3,2,4,2,0,2,2,2,2,2,2,3,0,2,1,4,0,2,2,0,3,2,2,4,2,1,0,3,2,2,2,0,0,3,4,0,5,4,0,0,1,3,0,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,2,2,0,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,7,0,0,0,0,0,0,7,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,2,2,2,0,0,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,3,3,2,0,2,0,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,3,3,2,0,2,3,0,2,2,0,0,7,3,0,2,2,0,2,2,0,9,2,2,3,0,2,1,2,0,2,9,0,3,2,2,2,2,1,0,3,2,2,9,0,0,3,2,0,3,2,0,0,1,2,2,2,0,2,2,2,0,3,0,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,2,2,2,0,2,2,2,3,0,0,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,7,0,0,0,0,0,0,7,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,1,0,0,0,0,0,0,0,7,1,1,0,0,0,0,0,0,0,0,1,0,0,7,1,0,0,0,0,0,0,0,0,7,0,0,0,1,1,0,0,0,0,0,0,7,0,0,0,0,1,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,0,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,2,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,0,0,4,2,2,0,2,2,2,2,2,0,2,0,2,2,0,2,0,2,2,2,2,2,2,2,0,2,0,4,0,2,3,0,2,2,2,4,2,0,0,2,2,2,2,0,0,2,5,0,4,4,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,0,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,3,3,0,0,1,2,0,2,2,0,0,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,0,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,9,2,2,0,0,2,2,0,2,2,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,0,0,2,2,2,0,2,2,9,2,2,0,0,7,2,0,2,2,0,2,2,0,0,2,2,2,0,2,0,2,0,2,9,0,2,2,2,2,2,0,0,2,2,2,9,0,0,2,2,0,2,2,0,0,0,2,2,2,0,2,2,2,3,3,0,0,1,2,0,2,2,0,3,2,0,2,0,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,0,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,0,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,7,2,2,2,2,2,7,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,0,0,9,0,2,2,0,2,2,9,2,2,7,0,2,2,2,2,0,0,2,2,0,2,9,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,4,2,2,7,2,2,2,2,2,7,2,0,2,2,4,2,0,2,2,2,2,2,2,2,0,9,0,0,0,2,2,0,2,2,9,4,2,7,0,2,2,2,2,0,0,2,4,0,4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,0,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,2,2,2,0,2,2,9,2,2,0,0,7,2,0,3,2,0,2,2,0,9,2,2,2,0,2,0,2,0,2,0,0,2,2,2,2,2,0,0,2,2,2,9,0,0,2,3,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,0,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,0,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,2,2,2,7,2,2,2,3,3,7,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,9,0,9,0,2,2,0,2,2,0,3,2,7,0,2,2,2,2,0,0,2,2,1,2,9,0,0,0,4,2,2,0,2,2,2,3,3,0,2,1,2,2,4,2,0,3,2,2,2,3,2,2,0,2,0,4,0,2,2,0,2,2,3,0,2,0,0,2,2,2,2,0,0,2,4,1,4,4,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,0,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,1,1,0,7,0,1,1,0,0,7,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,7,1,7,0,0,0,0,1,0,7,0,0,0,0,1,0,0,0,0,0,1,0,0,1,7,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,0,2,2,2,0,0,3,2,0,3,2,0,0,1,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,9,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,0,2,2,0,0,2,2,0,2,2,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,0,2,0,0,2,2,0,2,2,0,0,0,2,2,2,0,2,2,9,2,2,0,0,7,2,0,2,2,0,2,2,0,9,2,2,2,0,2,0,2,0,2,9,0,2,2,2,2,2,0,0,2,2,2,0,0,0,2,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,0,2,0,3,2,0,0,1,4,2,2,0,2,2,2,2,2,0,2,0,2,2,5,2,0,2,2,2,2,2,2,2,0,2,0,4,0,2,3,0,2,2,2,4,2,0,0,2,2,2,2,0,0,2,0,0,4,4,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,2,0,2,3,3,2,2,0,2,0,3,2,4,2,0,2,2,2,2,2,2,3,0,2,1,4,0,2,2,0,3,2,2,4,2,1,0,3,2,2,2,0,0,3,4,0,0,4,0,0,1,4,2,2,7,2,2,2,2,2,7,2,0,2,2,4,2,0,2,2,2,2,2,2,2,0,9,0,11,0,2,2,0,2,2,9,4,2,7,0,2,2,2,2,0,0,2,4,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,20,17,9,10,25,18,23,17,9,23,14,18,16,17,25,15,17,18,15,18,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,19,10,17,17,0,3,0,17,21,25,18,0,15,16,20,0,17,9,10,18,18,16,17,14,16,14,18,16,17,18,15,17,18,15,18,18,17,18,10,19,16,10,17,19,17,0,18,17,9,16,12,13,0,19,10,19,17,0,3,0,17,17,18,11,0,17,16,17,17,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,9,9,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,8,9,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,0,8,7,8,8,0,8,8,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,0,10,7,10,10,0,8,8,25,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,25,17,0,15,16,18,18,17,8,10,18,0,16,16,8,15,14,19,15,17,18,16,16,17,16,17,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,23,16,16,7,9,23,16,0,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,23,9,7,0,16,9,16,16,0,2,0,16,21,23,16,0,14,14,17,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,0,16,14,16,9,0,14,14,9,14,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,9,8,8,10,10,8,8,10,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,0,8,10,8,9,0,10,8,23,16,15,8,8,22,15,21,14,9,0,14,15,16,15,22,15,15,15,15,15,14,15,15,15,15,22,8,15,22,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,0,15,21,22,16,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,0,14,14,14,7,0,14,14,18,18,17,8,10,18,19,16,16,8,15,14,0,15,17,18,16,16,17,16,17,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,16,16,15,8,8,15,15,14,14,9,16,14,15,0,15,15,15,15,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,0,15,14,15,9,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,0,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,25,18,17,9,10,24,18,23,17,8,22,14,18,15,17,0,16,16,18,16,18,16,18,18,16,17,22,10,16,24,17,0,24,24,9,23,10,8,0,19,10,17,17,0,2,0,17,21,24,17,0,15,15,15,15,15,8,8,15,16,14,14,8,15,14,16,15,15,16,0,14,15,16,15,14,16,16,9,15,15,8,16,15,15,0,15,15,7,14,8,8,0,16,8,15,15,0,0,0,15,14,15,8,0,15,15,17,17,16,7,9,16,16,16,16,8,15,14,16,15,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,0,16,14,16,10,0,14,14,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,15,15,15,8,8,15,16,14,14,8,15,14,16,15,15,16,16,14,15,0,15,14,16,16,9,15,15,8,16,15,15,0,15,15,7,14,8,8,0,16,8,15,15,0,0,0,15,14,15,8,0,15,15,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,0,16,16,16,9,0,16,14,17,17,17,8,10,17,18,16,16,8,15,14,18,15,17,18,16,16,17,16,17,16,0,18,9,17,15,10,16,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,18,18,17,8,10,18,19,16,16,8,15,14,19,15,17,18,16,16,17,16,17,16,18,0,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,15,10,8,8,8,15,9,14,7,10,15,7,9,8,8,16,9,7,8,9,8,9,9,9,0,10,15,8,11,17,8,0,15,15,7,14,10,10,0,9,1,10,8,0,0,0,8,16,15,15,0,10,8,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,19,17,0,2,0,17,16,17,10,0,17,15,23,16,15,8,8,23,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,0,15,21,23,15,0,15,16,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,0,10,7,10,10,0,8,8,15,17,15,8,8,15,16,14,14,10,15,14,16,15,15,16,16,14,15,16,15,16,16,16,11,17,15,8,0,17,15,0,15,15,7,14,10,10,0,16,8,17,15,0,0,0,15,16,15,8,0,17,15,24,19,17,8,10,24,17,23,16,10,22,14,17,15,17,24,15,16,17,15,17,18,17,17,17,19,22,10,17,0,17,0,24,24,9,23,12,10,0,17,10,19,17,0,2,0,17,23,24,17,0,17,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,0,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,25,17,0,15,16,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,24,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,0,17,21,24,17,0,15,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,0,9,7,9,9,0,7,7,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,0,16,21,23,16,0,14,14,10,12,10,8,10,10,10,9,9,10,8,7,10,8,10,10,8,9,10,8,10,11,10,10,10,12,8,10,10,12,10,0,10,10,9,9,0,10,0,10,3,12,10,0,2,0,10,9,10,10,0,10,8,9,13,8,8,8,9,9,7,7,12,8,7,9,8,8,8,8,7,8,8,8,9,8,9,10,10,9,8,10,10,8,0,9,8,7,7,10,0,0,9,1,10,8,0,1,0,8,9,9,8,0,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,17,9,10,18,19,16,17,8,15,14,19,15,17,19,16,16,18,16,18,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,0,17,14,18,10,0,15,16,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,0,10,7,10,3,0,8,8,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,0,17,16,17,10,0,17,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,0,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,0,2,0,3,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,0,14,17,10,0,15,15,21,17,14,7,7,21,14,21,14,10,21,14,14,14,14,21,14,14,14,14,14,16,14,14,16,16,21,7,16,23,14,0,21,21,7,21,9,9,0,14,7,16,14,0,0,0,14,0,21,14,0,16,14,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,0,17,0,15,16,18,11,10,8,10,17,10,16,9,9,16,7,10,9,10,17,8,10,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,0,10,14,17,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,17,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,0,15,16,15,8,0,0,15,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,0,15,14,16,8,0,15,0,0,17,17,8,10,17,17,16,16,8,17,14,17,17,19,17,15,16,17,17,17,16,17,17,8,17,15,12,15,17,17,0,17,17,9,18,10,8,0,17,10,17,17,0,4,17,0,14,19,12,0,15,15,17,0,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,0,7,8,8,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,0,7,10,10,0,15,15,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,17,18,17,8,10,17,0,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,0,14,16,9,0,14,14,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,23,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,0,14,16,9,0,21,21,8,8,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,0,7,8,8,0,15,15,17,16,15,8,8,15,16,14,14,8,0,14,16,17,18,15,15,14,15,17,16,14,16,16,8,15,16,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,0,14,17,10,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,0,14,14,7,0,14,14,17,18,24,8,17,17,18,16,23,15,16,14,0,22,25,17,22,23,24,15,18,23,25,18,8,17,16,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,17,15,22,8,15,15,15,14,21,15,17,14,22,0,24,15,22,21,22,17,15,21,22,15,8,15,15,17,22,15,15,0,15,15,14,16,15,15,0,22,8,22,15,0,2,15,0,14,17,10,0,22,22,19,18,24,8,17,17,18,16,23,15,18,14,25,24,0,17,22,23,24,17,18,23,25,18,8,17,16,19,22,17,18,0,17,17,16,18,17,15,0,24,10,24,17,0,5,17,0,14,19,12,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,0,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,22,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,0,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,0,14,16,9,0,21,21,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,17,15,15,8,8,15,15,14,14,8,17,14,15,17,17,15,15,14,15,0,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,0,14,17,10,0,15,15,17,18,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,0,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,17,21,16,17,1,16,16,17,17,16,14,1,23,9,24,16,1,2,16,0,15,16,9,0,21,21,17,18,24,8,17,17,18,16,23,15,16,14,25,22,25,17,22,23,24,15,18,23,0,18,8,17,16,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,17,18,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,0,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,0,7,8,8,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,15,16,15,8,8,15,16,14,14,8,16,14,16,15,16,15,15,14,15,15,16,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,0,14,15,8,0,15,15,12,10,17,8,17,10,10,9,16,15,10,7,17,17,19,10,15,16,17,10,10,17,17,10,8,10,8,0,15,10,11,1,10,10,17,12,17,15,1,17,3,18,10,1,4,10,0,8,12,12,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,0,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,18,17,15,16,17,15,17,17,17,17,8,17,15,11,15,17,0,1,17,17,10,17,10,8,1,17,10,18,17,1,3,17,0,15,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,9,7,17,14,9,10,1,9,9,0,10,16,14,1,16,2,17,9,1,2,9,0,8,9,9,0,14,14,18,16,16,7,9,16,16,16,16,7,16,14,16,16,18,16,14,16,16,16,16,17,16,16,7,16,14,12,14,16,17,1,16,16,10,0,9,7,1,16,9,17,16,1,4,16,0,15,18,11,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,0,7,10,10,0,15,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,0,7,8,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,17,0,14,17,10,0,22,22,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,0,7,10,3,0,8,8,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,24,24,17,8,17,15,18,22,17,18,1,17,17,17,17,17,15,1,24,10,0,17,1,2,17,0,15,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,0,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,4,2,2,0,2,2,2,2,2,0,2,0,2,2,5,2,0,2,2,2,2,2,2,2,0,2,0,4,0,2,3,0,2,2,2,4,2,0,0,2,2,2,2,0,0,2,0,0,4,4,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,0,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,15,14,14,7,14,14,8,14,14,15,1,14,14,8,15,7,7,1,14,7,15,14,1,0,14,0,0,14,7,0,14,14,19,17,17,8,10,17,17,16,16,8,17,14,17,17,19,17,15,16,17,17,17,16,17,17,8,17,15,12,15,17,17,0,17,17,9,18,10,8,0,17,10,17,17,0,4,17,0,14,0,12,0,15,15,12,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,12,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,0,7,12,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,0,22,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,0,0,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,14,0,14,7,7,14,14,14,14,10,14,14,14,14,14,14,14,14,14,14,14,16,14,14,9,16,14,7,16,16,14,0,14,14,7,14,9,9,0,14,7,16,14,0,0,17,14,0,14,7,0,16,14,14,14,0,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,7,7,7,0,14,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,0,7,7,0,14,7,7,7,7,14,0,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,0,7,7,0,14,7,21,14,14,14,14,0,14,28,21,14,28,14,14,21,14,21,14,14,21,14,14,14,14,14,14,21,21,7,14,21,14,0,21,21,7,28,14,7,0,14,14,14,14,0,0,21,14,0,21,14,0,21,14,14,14,14,7,7,14,0,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,21,14,14,14,14,28,14,0,22,14,28,16,14,21,14,21,14,15,21,14,14,15,14,14,14,21,21,7,14,21,14,0,21,21,8,29,14,7,0,14,14,14,14,0,1,21,14,0,21,14,0,21,14,14,14,14,14,14,21,14,22,0,14,21,16,14,21,14,14,14,15,21,14,14,17,14,14,7,21,14,7,14,14,14,0,14,14,8,23,14,7,0,14,14,14,14,0,1,14,14,0,14,7,0,21,14,7,10,7,14,14,14,7,14,14,0,16,9,7,16,7,7,9,7,14,9,7,9,7,7,11,16,9,7,11,9,7,0,7,7,7,14,16,11,0,7,7,9,7,0,0,10,7,0,7,7,0,18,9,21,14,14,14,14,28,14,28,21,16,0,16,14,23,14,21,16,14,21,16,14,14,14,14,16,21,23,7,16,21,14,0,21,21,7,28,14,9,0,14,14,14,14,0,0,21,14,0,21,14,0,23,16,14,14,14,7,7,14,14,16,16,9,16,0,14,16,14,14,16,15,14,16,14,16,14,14,9,14,16,7,16,14,14,0,14,14,8,15,7,9,0,14,7,14,14,0,1,14,14,0,14,7,0,16,16,14,14,14,7,7,14,14,14,14,7,14,14,0,14,14,14,14,14,14,14,14,14,14,14,7,14,16,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,16,14,14,14,14,14,21,14,21,21,16,23,16,14,0,14,14,16,14,21,16,14,14,14,14,9,21,16,7,16,14,14,0,14,14,7,21,14,9,0,14,14,14,14,0,0,14,14,0,14,7,0,23,16,14,14,14,7,7,14,14,14,14,7,14,14,14,14,0,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,0,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,14,14,14,7,7,14,14,14,14,9,16,16,14,16,14,14,0,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,16,14,14,14,7,7,14,14,15,15,7,14,15,14,14,14,14,14,0,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,16,7,7,0,14,7,14,14,0,1,14,14,0,14,7,0,14,14,14,14,14,14,14,21,14,21,21,14,21,14,14,21,14,14,14,14,0,14,14,14,14,14,7,21,14,7,14,14,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,0,14,7,0,21,14,14,14,14,7,7,14,14,14,14,9,16,16,14,16,14,14,16,14,14,0,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,16,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,0,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,14,16,14,7,7,14,14,15,17,9,14,16,14,14,14,14,14,15,14,14,14,0,14,14,9,16,14,8,16,16,15,1,14,14,9,17,9,9,1,14,7,17,14,1,1,16,15,0,14,7,0,16,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,0,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,0,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,14,9,7,7,7,14,7,14,7,11,16,9,7,9,7,14,9,7,7,9,7,9,7,7,0,9,16,7,11,16,7,0,14,14,7,14,9,11,0,7,0,9,7,0,0,16,7,0,14,14,0,11,9,14,16,14,14,14,21,14,21,21,16,21,14,14,21,14,14,14,14,21,14,14,16,14,14,9,0,14,7,16,16,14,0,14,14,7,21,16,9,0,14,14,16,14,0,0,16,14,0,14,7,0,23,14,21,14,14,7,7,21,14,21,14,9,23,16,16,16,14,21,16,14,14,16,14,14,14,14,16,14,0,7,16,21,14,0,21,21,7,21,7,9,0,14,7,14,14,0,0,21,14,0,21,14,0,16,18,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,0,7,7,8,1,7,7,8,8,7,7,1,7,0,8,7,1,0,7,8,0,7,7,0,7,7,14,16,14,7,7,14,14,14,14,11,16,16,14,16,14,14,16,14,14,16,14,16,14,14,11,16,16,7,0,16,14,0,14,14,7,14,9,11,0,14,7,16,14,0,0,16,14,0,14,7,0,18,16,21,16,14,7,7,21,14,21,14,9,21,14,14,14,14,21,14,14,14,14,14,16,14,14,16,16,21,7,16,0,14,0,21,21,7,21,9,9,0,14,7,16,14,0,0,23,14,0,21,14,0,16,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,15,14,14,7,14,14,8,14,14,0,1,14,14,8,15,7,7,1,14,7,15,14,1,0,14,15,0,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,0,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,0,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,0,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,7,7,7,7,7,7,7,8,8,7,7,8,7,7,7,7,7,8,7,7,7,9,7,7,7,7,7,8,7,7,8,1,7,7,0,9,7,7,1,7,0,8,7,1,1,7,8,0,7,7,0,7,7,21,14,14,14,14,28,14,29,23,14,28,15,14,21,14,21,14,16,21,14,14,17,14,14,14,21,21,8,14,21,15,1,21,21,9,0,14,7,1,14,14,15,14,1,1,21,15,0,21,14,0,21,14,7,9,7,14,14,14,7,14,14,16,14,7,7,14,7,7,7,7,14,7,7,9,7,7,9,16,7,7,9,9,7,0,7,7,7,14,0,9,0,7,7,9,7,0,0,9,7,0,7,7,0,16,7,7,9,7,7,7,7,7,7,7,11,9,9,7,9,7,7,9,7,7,9,7,9,7,7,11,9,9,7,11,9,7,0,7,7,7,7,9,0,0,7,0,9,7,0,0,9,7,0,7,7,0,11,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,0,7,14,14,0,0,14,14,0,14,7,0,14,14,7,7,7,7,7,14,7,14,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,0,14,7,0,7,7,7,0,7,7,0,14,7,0,0,7,0,7,7,0,0,7,7,0,7,0,0,14,7,14,16,14,7,7,14,14,14,14,9,14,14,14,14,14,14,14,14,14,14,14,17,14,14,9,16,14,8,16,16,15,1,14,14,8,15,9,9,1,14,7,0,14,1,0,16,15,0,14,7,0,16,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,0,0,0,14,14,0,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,17,14,7,7,21,14,21,14,10,21,14,14,14,14,21,14,14,14,14,14,16,14,14,16,16,21,7,16,23,14,0,21,21,7,21,9,9,0,14,7,16,14,0,0,0,14,0,21,14,0,16,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,15,14,14,7,14,14,8,14,14,15,1,14,14,8,15,7,7,1,14,7,15,14,1,0,14,0,0,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,0,14,0,14,14,14,7,7,7,7,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,14,7,14,7,7,14,7,0,14,14,7,14,7,7,0,7,0,7,7,0,0,14,7,0,14,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,16,14,14,14,21,14,21,21,18,23,16,14,23,14,14,16,14,21,16,14,16,14,14,11,23,16,7,18,16,14,0,14,14,7,21,16,11,0,14,14,16,14,0,0,16,14,0,14,7,0,0,16,14,14,14,7,7,14,14,14,14,9,16,16,16,16,14,14,16,14,14,16,14,14,14,14,9,14,18,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,0,0,18,17,8,10,25,25,23,16,8,24,14,25,17,26,31,22,16,17,24,24,16,24,25,22,17,23,12,22,24,17,0,25,24,9,25,10,9,0,25,10,17,17,0,5,25,19,21,0,19,0,15,16,18,0,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,0,10,0,15,16,17,17,0,8,11,17,17,17,16,8,15,14,19,15,17,17,15,17,17,16,17,16,17,17,8,18,17,10,16,18,17,0,17,17,9,16,11,10,0,17,11,17,17,0,2,17,17,14,0,11,0,15,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,0,8,0,8,8,10,10,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,0,11,0,8,8,25,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,0,17,0,15,16,25,18,17,8,10,18,0,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,25,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,25,10,17,17,0,3,18,17,14,0,10,0,15,16,23,16,17,7,10,23,16,0,16,7,21,14,17,14,16,23,14,17,16,15,16,16,16,16,14,17,22,9,14,24,16,0,23,23,9,23,10,8,0,16,10,16,16,0,2,23,16,21,0,17,0,14,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,0,9,0,14,14,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,0,8,0,8,8,24,15,15,8,8,22,15,21,14,8,0,14,15,17,17,22,15,14,15,17,15,14,15,15,15,15,22,10,15,22,15,0,22,22,7,23,8,8,0,15,8,15,15,0,2,22,17,21,0,17,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,0,7,0,14,14,25,18,19,8,11,18,25,17,16,8,15,14,0,15,24,24,22,17,17,23,24,16,24,25,15,18,18,10,23,18,17,0,18,17,9,16,11,11,0,25,11,17,17,0,3,18,17,14,0,11,0,15,16,17,15,15,8,8,15,15,14,14,8,17,14,15,0,17,15,15,14,15,17,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,17,14,0,10,0,15,15,26,17,17,8,10,17,24,16,16,8,17,14,24,17,0,24,22,16,17,24,24,16,24,24,15,17,15,12,22,17,17,0,17,17,9,18,10,8,0,24,10,17,17,0,4,17,19,14,0,12,0,15,15,31,17,17,8,10,24,24,23,16,8,22,14,24,15,24,0,22,16,17,22,24,16,24,24,22,17,22,10,22,24,17,0,24,24,9,23,10,8,0,24,10,17,17,0,2,24,17,21,0,17,0,15,15,22,15,15,8,8,15,22,14,14,8,15,14,22,15,22,22,0,14,15,22,22,14,22,22,15,15,15,8,22,15,15,0,15,15,7,14,8,8,0,22,8,15,15,0,0,15,15,14,0,8,0,15,15,16,16,17,7,10,16,16,17,16,7,14,14,17,14,16,16,14,0,16,15,16,16,16,16,7,17,15,9,14,17,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,0,10,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,0,10,0,15,15,24,15,16,8,9,15,22,15,14,8,17,14,23,17,24,22,22,15,15,0,22,14,22,22,15,16,16,10,22,16,15,0,15,15,7,16,9,9,0,22,9,15,15,0,2,15,17,14,0,11,0,15,15,24,17,17,8,10,17,24,16,16,8,15,14,24,15,24,24,22,16,17,22,0,16,24,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,24,10,17,17,0,2,17,17,14,0,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,0,9,0,14,14,24,17,17,8,10,17,24,16,16,8,15,14,24,15,24,24,22,16,17,22,24,16,0,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,24,10,17,17,0,2,17,17,14,0,10,0,15,15,25,18,17,8,10,18,25,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,0,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,25,10,17,17,0,3,18,17,14,0,10,0,15,16,22,8,8,8,8,15,15,14,7,8,15,7,15,8,15,22,15,7,8,15,15,7,15,15,0,8,15,8,15,15,8,0,15,15,7,14,8,8,0,15,1,8,8,0,0,15,8,14,0,15,0,8,8,17,17,18,8,11,17,17,17,16,8,15,14,18,15,17,17,15,17,17,16,17,16,17,17,8,0,16,10,15,18,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,0,11,0,15,15,23,16,17,8,9,23,16,22,14,8,22,14,18,15,15,22,15,15,15,16,15,14,15,16,15,16,0,8,16,23,15,0,23,22,7,21,9,11,0,16,9,15,15,0,1,23,15,21,0,16,0,15,16,12,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,0,12,0,8,8,22,15,16,8,8,15,22,14,14,8,15,14,23,15,22,22,22,14,15,22,22,14,22,22,15,15,16,8,0,15,15,0,15,15,7,14,8,9,0,22,8,15,15,0,0,15,15,14,0,8,0,15,15,24,17,18,8,11,24,17,24,16,8,22,14,18,15,17,24,15,17,17,16,17,16,17,17,15,18,23,10,15,0,17,0,24,24,9,23,11,9,0,17,11,17,17,0,2,24,17,21,0,18,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,0,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,0,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,0,17,0,15,16,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,24,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,0,17,0,15,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,0,9,0,7,7,25,16,16,7,9,23,16,23,16,7,23,14,16,16,18,23,14,16,16,16,16,16,16,16,14,16,21,11,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,4,23,18,21,0,18,0,14,14,10,10,11,8,11,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,0,9,0,10,4,10,10,0,2,10,10,7,0,11,0,8,8,9,9,10,8,9,9,9,8,7,8,8,7,11,8,8,8,8,8,8,9,8,7,8,9,8,9,11,8,9,9,8,0,9,8,7,7,9,0,0,9,2,8,8,0,1,9,8,7,0,9,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,8,10,18,25,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,25,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,0,10,0,15,16,10,10,11,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,0,4,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,0,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,0,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,2,0,2,3,3,2,2,0,2,0,3,2,4,2,0,2,2,2,2,2,2,3,0,2,1,4,0,2,2,0,3,2,2,4,2,1,0,3,2,2,2,0,0,3,4,0,0,4,0,0,1,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,0,17,0,15,16,19,17,17,8,10,17,17,16,16,8,17,14,17,17,19,17,15,16,17,17,17,16,17,17,8,17,15,12,15,17,17,0,17,17,9,18,10,8,0,17,10,17,17,0,4,17,0,14,0,12,0,15,15,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,0,14,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,10,11,8,11,17,10,17,9,8,17,7,11,10,12,17,8,10,10,11,10,9,10,10,15,11,16,12,8,18,10,0,17,17,9,18,11,9,0,10,4,10,10,0,4,17,12,14,0,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,0,8,0,0,15,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,0,8,0,15,0,0,11,10,8,10,17,10,16,9,9,21,7,10,14,12,17,8,10,10,13,10,9,10,10,15,10,15,12,8,17,10,0,17,17,9,18,10,8,0,10,3,10,10,0,4,18,12,14,19,0,0,8,8,11,0,10,8,10,10,10,9,9,9,9,7,10,9,10,10,8,10,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,11,10,7,10,0,0,8,8,10,10,0,9,11,10,10,11,10,9,9,7,11,9,10,10,9,11,10,9,10,9,10,10,8,11,9,10,9,12,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,9,8,8,8,9,0,8,8,8,8,8,16,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,15,8,15,9,9,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,8,8,7,8,0,0,9,8,10,10,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,17,10,10,8,10,0,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,16,9,11,8,10,16,9,0,10,8,15,7,10,8,9,16,8,11,9,8,9,9,9,9,14,10,15,9,8,18,9,0,16,16,9,16,10,8,0,9,3,9,9,0,2,16,9,14,17,0,0,8,7,9,9,10,8,9,9,9,10,0,8,8,7,9,8,9,9,8,10,9,7,9,9,9,9,7,9,7,9,8,10,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,0,0,8,7,9,9,9,16,8,8,8,8,8,0,10,7,8,10,8,8,9,9,8,8,8,7,8,8,8,15,8,15,9,9,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,9,8,7,8,0,0,9,8,21,9,9,9,8,15,8,15,8,10,0,7,8,15,10,15,9,9,8,13,8,7,8,8,15,8,15,10,9,16,8,0,15,15,7,16,8,8,0,8,1,8,8,0,2,16,10,14,17,0,0,9,8,7,7,7,7,7,7,7,7,7,7,7,0,7,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,0,7,0,7,7,0,0,7,7,7,7,0,0,7,7,10,10,11,8,11,10,10,10,9,8,8,7,0,8,10,10,8,10,10,9,10,11,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,14,9,9,9,8,8,8,8,8,10,15,7,8,0,10,8,9,9,8,13,8,7,8,8,8,8,8,10,9,9,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,9,10,7,10,0,0,9,8,12,10,10,8,10,10,10,9,9,8,10,7,10,10,0,10,8,9,10,10,10,9,10,10,8,10,8,12,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,12,0,0,8,8,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,0,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,0,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,9,8,10,10,11,8,10,9,9,11,10,9,9,7,10,9,9,9,8,0,9,8,9,9,9,9,7,10,8,9,8,11,9,0,9,9,9,9,10,8,0,9,3,9,9,0,2,10,9,7,10,0,0,8,7,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,0,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,13,8,9,8,9,8,8,8,7,8,13,7,9,13,10,8,8,8,8,0,8,7,8,8,8,9,9,10,8,9,8,0,8,8,7,9,9,9,0,8,2,8,8,0,2,8,10,7,11,0,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,9,9,9,7,9,9,9,9,9,7,7,7,11,7,9,9,7,9,9,7,9,0,9,9,7,9,7,9,7,9,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,0,0,7,7,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,0,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,15,8,8,8,8,15,8,14,7,8,15,7,8,8,8,15,8,7,8,8,8,7,8,8,0,8,15,8,8,15,8,0,15,15,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,0,0,8,8,10,10,11,15,11,10,10,10,9,15,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,0,9,17,8,11,10,0,10,10,16,9,11,16,0,10,4,10,10,0,9,10,10,7,11,0,0,8,8,15,8,9,8,9,15,8,15,7,8,15,7,9,8,8,15,8,8,8,9,8,7,8,8,15,9,0,8,8,16,8,0,15,15,7,14,9,9,0,8,2,8,8,0,0,15,8,14,16,0,0,8,8,12,10,10,15,10,10,10,9,9,15,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,17,8,0,8,10,10,0,10,10,16,11,10,15,0,10,3,10,10,0,11,10,12,7,12,0,0,8,8,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,0,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,9,8,17,10,12,9,11,17,10,18,10,9,16,7,11,9,10,17,9,11,10,9,10,9,10,10,15,11,16,10,9,0,10,0,17,17,9,16,11,9,0,10,4,10,10,0,2,17,10,14,18,0,0,9,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,0,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,0,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,0,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,9,9,9,14,9,9,9,9,9,14,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,16,7,16,7,9,9,0,9,9,0,9,9,14,0,9,2,9,9,0,9,9,9,7,9,0,0,7,7,18,9,9,7,9,16,9,16,9,7,16,7,9,9,11,16,7,9,9,9,9,9,9,9,14,9,14,11,7,16,9,0,16,16,9,0,9,7,0,9,2,9,9,0,4,16,11,14,18,0,0,7,7,10,10,11,8,11,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,0,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,8,8,9,15,9,8,8,8,7,15,8,7,9,8,8,8,8,8,8,9,8,7,8,8,8,16,9,15,8,9,8,0,8,8,14,7,9,0,0,8,2,8,8,0,7,8,8,7,9,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,0,3,10,10,0,2,10,10,7,10,0,0,8,8,3,3,4,1,4,3,3,3,2,1,1,0,4,1,3,3,1,3,3,2,3,2,3,3,1,4,2,3,1,4,3,0,3,3,2,2,4,2,0,3,0,3,3,0,2,3,3,0,4,0,0,1,1,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,0,10,0,2,10,10,7,10,0,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,0,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,2,7,2,2,2,2,2,7,2,0,2,2,4,2,0,2,2,2,2,2,2,2,0,9,0,11,0,2,2,0,2,2,9,4,2,7,0,2,2,2,2,0,0,2,4,0,4,0,0,0,0,18,11,10,8,10,17,10,16,9,9,16,7,10,9,10,17,8,10,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,0,10,14,17,0,0,8,8,12,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,12,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,0,7,12,0,0,8,8,14,7,7,7,7,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,14,7,14,7,7,14,7,0,14,14,7,14,7,7,0,7,0,7,7,0,0,14,7,0,14,0,0,7,7,19,10,11,8,11,17,10,17,9,8,17,7,11,10,12,17,8,10,10,11,10,9,10,10,15,11,16,12,8,18,10,0,17,17,9,18,11,9,0,10,4,10,10,0,4,17,12,14,0,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,0,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,0,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,17,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,8,0,0,15,16,15,0,9,15,15,15,16,22,16,16,14,22,23,22,16,24,22,22,15,15,21,22,15,8,16,15,15,23,16,16,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,9,0,0,22,8,8,9,0,16,15,8,15,15,16,17,7,8,16,8,9,9,8,15,8,8,7,8,8,8,16,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,0,8,8,8,15,16,0,15,8,14,21,22,16,7,15,22,15,9,15,14,22,8,8,14,15,8,8,16,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,0,15,15,15,15,15,15,0,15,21,21,15,22,14,15,22,15,15,15,14,22,15,15,14,15,15,8,22,15,8,15,15,15,0,15,15,7,21,15,8,0,17,15,15,15,0,0,15,15,21,15,8,0,0,17,15,15,15,8,8,15,0,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,14,16,15,14,21,14,0,22,15,22,14,14,22,14,15,16,15,21,14,14,14,14,14,7,22,14,7,15,15,15,0,15,15,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,0,14,14,14,22,15,21,21,14,22,0,22,22,14,21,29,21,14,22,22,28,14,14,21,21,14,7,21,14,14,22,15,14,0,14,14,14,21,21,14,0,21,14,21,14,0,0,14,21,21,14,8,0,0,21,8,10,16,16,22,15,8,15,22,0,18,9,15,25,15,8,18,15,22,10,8,16,15,8,12,17,10,15,20,11,8,0,8,8,14,14,24,19,0,15,8,17,8,0,0,10,15,18,8,9,0,0,17,15,15,16,17,16,22,15,22,22,18,0,16,15,25,15,16,18,15,22,17,15,14,15,15,10,23,17,8,18,16,15,0,15,15,7,21,15,10,0,15,15,15,15,0,1,15,15,23,15,9,0,0,17,14,14,14,7,7,14,14,14,14,9,16,0,14,16,14,14,16,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,0,16,15,15,22,8,15,15,15,14,21,15,15,14,0,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,15,15,23,16,22,22,15,22,29,25,25,16,22,0,22,15,25,22,29,17,15,21,22,15,10,22,17,15,25,16,15,0,15,15,14,21,22,17,0,22,15,22,15,0,0,15,22,23,15,9,0,0,24,15,15,22,8,15,15,15,14,21,15,15,14,22,22,0,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,16,15,16,9,9,15,15,15,14,8,16,14,15,15,15,0,16,14,15,15,15,14,15,15,8,17,15,8,15,15,16,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,16,15,24,9,15,15,15,16,22,18,18,16,22,25,22,16,0,22,22,17,15,21,22,15,10,16,17,15,25,16,16,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,0,24,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,14,22,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,0,21,15,15,22,15,22,22,15,21,28,22,22,14,22,29,22,15,22,21,0,15,15,21,22,15,8,22,15,15,22,15,15,0,15,15,14,21,22,15,0,22,15,22,15,0,0,15,22,21,15,8,0,0,22,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,0,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,0,17,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,14,16,21,7,14,14,14,14,21,16,14,14,21,21,21,14,21,21,21,14,14,0,21,14,9,16,14,14,23,16,14,0,14,14,14,14,16,16,0,21,7,23,14,0,0,16,21,16,14,7,0,0,21,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,0,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,0,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,8,10,8,8,8,8,8,7,7,12,10,9,8,10,8,8,10,7,8,10,8,9,8,8,0,10,10,8,12,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,10,8,11,8,8,0,0,10,16,17,16,16,16,22,15,22,21,17,23,14,15,22,15,17,16,14,22,15,15,16,15,15,10,0,15,8,17,17,16,0,16,16,7,21,17,10,0,15,15,17,15,0,0,17,15,23,15,8,0,0,15,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,0,17,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,0,15,15,17,23,9,15,15,15,15,22,20,18,16,22,25,22,15,25,22,22,17,15,23,22,15,12,17,17,15,0,18,15,0,15,15,14,14,17,19,0,22,8,24,15,0,0,17,22,18,15,9,0,0,24,15,17,16,9,8,15,15,15,15,11,16,14,15,16,15,15,16,15,15,15,15,16,15,15,10,17,15,8,18,0,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,9,0,0,15,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,0,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,0,14,14,14,14,14,14,21,14,21,21,14,21,14,14,21,14,14,14,14,21,14,14,14,14,14,7,21,14,7,14,14,14,0,14,14,7,0,14,7,0,14,14,14,14,0,0,14,14,21,14,7,0,0,14,8,10,15,15,22,15,8,14,21,24,15,7,15,22,15,8,15,14,22,8,8,16,15,8,10,17,8,15,17,10,8,0,8,8,14,14,0,17,0,15,8,17,8,0,0,10,15,16,8,8,0,0,15,8,10,15,8,15,8,8,7,14,19,10,9,15,17,15,8,17,14,15,10,8,16,15,8,12,10,10,15,19,10,8,0,8,8,14,7,17,0,0,15,1,17,8,0,0,10,15,11,8,8,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,17,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,15,22,14,15,8,0,0,24,8,8,8,8,8,15,8,14,14,8,15,7,8,15,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,0,8,15,17,22,8,15,15,15,14,21,17,15,14,22,22,22,15,22,21,22,15,15,23,22,15,10,17,15,15,24,17,15,0,15,15,14,14,17,17,0,22,8,0,15,0,0,17,22,16,15,8,0,0,22,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,17,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,0,15,16,15,8,0,0,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,0,22,14,16,14,14,14,21,14,21,21,18,23,16,14,23,14,14,16,14,21,16,14,16,14,14,11,23,16,7,18,16,14,0,14,14,7,21,16,11,0,14,14,16,14,0,0,16,14,0,14,7,0,0,16,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,0,8,0,0,15,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,17,15,14,21,17,17,16,22,24,22,15,24,21,22,17,15,21,22,15,10,15,17,15,24,15,15,0,15,15,14,14,15,17,0,24,8,22,15,0,0,15,22,16,15,8,0,0,0,0,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,16,0,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,15,15,0,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,8,8,8,0,8,10,8,7,7,8,8,7,8,8,8,8,10,7,8,8,10,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,10,1,8,8,0,0,8,8,7,8,8,0,8,0,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,16,16,15,10,8,0,17,14,14,9,15,15,16,16,16,15,18,14,15,15,17,14,16,17,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,20,8,15,15,0,1,16,15,14,16,8,0,17,0,16,16,15,8,8,17,0,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,17,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,14,14,14,7,7,14,14,0,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,0,14,14,21,7,14,14,14,14,0,14,14,14,21,21,21,14,21,21,21,14,14,21,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,8,8,15,8,15,9,9,7,14,0,10,10,15,18,16,8,18,14,15,10,8,14,16,9,11,8,10,15,18,8,8,0,9,9,14,7,15,17,0,15,1,15,8,0,0,8,15,9,8,8,0,17,0,15,15,15,8,8,15,15,14,14,10,0,16,15,17,15,15,17,14,15,17,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,0,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,17,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,0,16,16,22,8,15,16,16,14,21,15,15,14,0,22,22,15,22,21,22,15,15,21,22,16,8,15,18,15,22,15,15,0,16,15,14,14,15,16,0,23,8,22,15,0,1,16,22,16,16,8,0,22,0,15,15,22,8,15,16,16,14,21,18,17,17,22,0,23,15,25,21,22,17,15,21,23,16,11,15,17,15,25,15,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,8,0,24,0,15,15,22,8,15,16,16,14,21,16,15,15,22,23,0,15,23,21,22,15,15,21,23,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,0,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,15,15,22,10,15,18,16,14,21,18,17,17,22,25,23,15,0,21,22,17,17,21,23,16,11,15,17,15,25,15,15,0,16,16,14,14,15,17,0,24,8,22,15,0,0,15,22,16,15,8,0,24,0,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,21,0,21,14,14,21,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,0,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,0,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,0,15,15,15,10,8,17,15,14,14,8,15,14,15,15,15,15,17,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,17,8,15,15,0,0,15,15,14,15,8,0,15,0,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,21,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,15,15,22,8,15,16,16,14,21,16,15,15,22,23,23,15,23,21,22,15,15,21,0,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,16,16,15,8,8,17,17,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,0,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,8,8,8,8,8,9,9,7,7,11,10,10,8,11,9,8,11,7,8,10,8,7,9,9,0,8,10,8,11,8,8,0,9,9,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,16,16,15,8,8,16,16,14,14,10,17,16,18,17,15,15,17,14,15,17,15,14,15,16,10,15,0,8,17,15,15,0,16,15,7,14,8,11,0,16,8,15,15,0,1,16,15,18,16,8,0,17,0,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,15,15,22,8,15,16,16,14,21,18,17,17,22,25,23,15,25,21,22,17,15,21,23,16,11,15,17,15,0,15,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,8,0,24,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,0,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,15,8,8,17,17,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,17,9,15,16,8,16,15,15,0,0,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,0,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,0,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,0,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,9,9,15,8,15,9,9,7,14,17,10,9,16,17,15,8,17,14,15,10,8,14,15,9,10,8,11,15,17,8,8,0,9,8,14,7,15,0,0,16,1,15,8,0,1,9,15,9,9,8,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,22,10,15,20,16,14,21,15,15,14,23,22,22,15,24,21,22,15,17,21,22,16,8,15,16,15,22,15,15,0,16,15,14,14,15,16,0,0,8,22,15,0,1,16,22,14,16,8,0,24,0,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,8,7,8,8,8,7,8,8,1,8,8,1,8,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,0,15,14,16,8,0,15,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,0,14,14,14,7,7,14,14,14,14,9,16,16,16,16,14,14,16,14,14,16,14,14,14,14,9,14,18,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,0,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,0,8,0,15,0,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,17,15,14,21,17,17,16,22,24,22,15,24,21,22,17,15,21,22,15,10,15,17,15,24,15,15,0,15,15,14,14,15,17,0,24,8,22,15,0,0,15,22,16,15,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};\nkk_vector_from_cint32array(arr, (kk_ssize_t)53 * (kk_ssize_t)53 * (kk_ssize_t)53, kk_context())" - js inline "[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,9,11,18,18,16,17,9,16,14,18,16,17,18,15,17,18,15,18,16,17,18,9,17,16,10,15,18,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,20,17,14,18,11,0,15,16,0,17,0,8,10,17,17,18,16,8,15,14,17,16,18,18,17,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,0,9,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,8,9,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,9,8,7,8,8,0,8,8,0,11,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,9,10,8,10,8,11,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,0,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,15,16,0,18,17,8,10,18,0,16,16,8,15,14,26,15,25,24,23,16,17,22,25,16,25,26,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,0,16,18,7,9,23,16,0,16,7,21,14,16,15,18,24,16,17,17,14,17,16,16,16,14,17,21,9,14,23,17,0,24,25,9,23,9,7,0,17,9,17,16,0,2,23,16,21,23,16,0,15,14,0,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,0,9,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,9,8,7,8,9,0,8,8,0,16,15,8,8,22,15,21,14,9,0,14,15,23,17,22,15,15,15,22,15,14,15,15,15,15,22,10,15,22,15,0,22,22,7,23,8,8,0,15,8,15,15,0,2,23,17,21,24,21,0,15,15,0,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,0,18,17,8,10,18,26,16,16,8,15,14,0,15,25,24,23,16,17,22,25,16,25,26,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,0,16,16,8,8,15,15,15,14,9,23,14,15,0,18,15,16,15,15,22,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,16,17,14,17,14,0,15,15,0,17,18,8,10,17,25,18,16,8,17,14,25,18,0,24,24,17,18,24,26,16,25,25,16,17,15,12,23,17,17,0,17,18,9,18,10,8,0,26,10,18,17,0,4,17,19,14,26,12,0,15,15,0,18,18,9,10,24,24,24,17,8,22,14,24,15,24,0,23,16,18,22,25,16,24,24,22,18,22,10,22,24,18,0,25,25,9,23,10,8,0,25,10,17,17,0,2,25,17,21,31,17,0,16,15,0,15,17,8,8,15,23,16,14,8,15,14,23,16,24,23,0,14,15,22,23,14,23,23,16,16,15,8,23,15,16,0,16,16,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,16,15,0,17,16,7,9,16,16,17,16,8,15,14,16,15,17,16,14,0,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,17,16,14,16,10,0,14,14,0,18,17,9,10,17,17,17,17,8,15,14,17,15,18,18,15,17,0,15,19,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,19,10,18,17,0,2,18,17,14,17,10,0,15,15,0,15,15,8,8,15,22,14,14,8,22,14,22,22,24,22,22,14,15,0,22,14,22,22,15,15,15,10,22,15,15,0,15,15,7,16,8,8,0,22,8,15,15,0,2,15,17,14,24,13,0,15,15,0,18,17,9,10,17,25,17,17,8,15,14,25,15,26,25,23,17,19,22,0,16,25,25,16,17,15,10,23,17,17,0,17,18,9,16,10,8,0,27,10,18,17,0,2,18,17,14,24,10,0,15,15,0,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,0,17,17,8,10,17,25,16,16,8,15,14,25,15,25,24,23,16,17,22,25,16,0,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,17,14,24,10,0,15,15,0,18,17,8,10,18,26,16,16,8,15,14,26,15,25,24,23,16,17,22,25,16,25,0,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,0,9,8,8,9,15,16,14,7,8,15,7,16,8,16,22,16,7,8,15,16,7,16,16,0,8,15,8,16,16,8,0,15,15,7,14,8,8,0,16,1,8,8,0,0,15,8,14,22,15,0,8,8,0,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,0,16,15,8,8,23,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,23,15,21,23,15,0,15,16,0,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,12,12,0,8,8,0,15,15,8,8,15,23,14,14,8,15,14,23,15,23,22,23,14,15,22,23,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,15,15,0,18,17,8,11,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,16,17,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,0,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,8,10,25,18,24,16,8,22,14,18,15,17,25,16,16,17,15,17,16,17,18,15,18,23,10,15,24,18,0,0,25,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,16,16,0,17,18,8,10,24,17,25,16,8,22,14,17,15,18,25,16,17,18,15,18,16,17,17,15,18,22,10,15,24,18,0,25,0,9,23,10,8,0,18,10,18,17,0,2,24,17,21,24,17,0,16,15,0,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,0,16,16,7,9,23,16,23,16,7,23,14,16,16,18,23,14,16,16,16,16,16,16,16,14,16,21,11,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,4,23,18,21,25,18,0,14,14,0,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,0,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,17,9,10,18,26,17,17,8,15,14,26,15,26,25,23,17,19,22,27,16,25,26,16,17,16,10,23,17,17,0,18,18,9,16,10,9,0,0,10,18,17,0,3,19,17,14,25,10,0,15,16,0,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,0,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,0,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,0,2,3,3,2,2,0,2,0,3,2,4,2,0,2,2,2,2,2,2,3,0,2,1,4,0,2,2,0,3,2,2,4,2,1,0,3,2,2,2,0,0,3,4,0,5,4,0,0,1,0,20,17,9,10,25,18,23,17,9,23,14,18,16,17,25,15,17,18,15,18,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,19,10,17,17,0,3,0,17,21,25,18,0,15,16,0,17,17,8,10,17,17,16,16,8,17,14,17,17,19,17,15,16,17,17,17,16,17,17,8,17,15,12,15,17,17,0,17,17,9,18,10,8,0,17,10,17,17,0,4,17,0,14,19,12,0,15,15,0,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,0,18,17,8,10,25,25,23,16,8,24,14,25,17,26,31,22,16,17,24,24,16,24,25,22,17,23,12,22,24,17,0,25,24,9,25,10,9,0,25,10,17,17,0,5,25,19,21,0,19,0,15,16,0,11,10,8,10,17,10,16,9,9,21,7,10,14,12,17,8,10,10,13,10,9,10,10,15,10,15,12,8,17,10,0,17,17,9,18,10,8,0,10,3,10,10,0,4,18,12,14,19,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,0,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,0,0,17,9,11,18,18,16,17,9,16,14,18,16,17,18,15,17,18,15,18,16,17,18,9,17,16,10,15,18,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,20,17,14,18,11,0,15,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,9,0,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,15,9,7,8,15,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,9,8,8,8,0,0,9,8,7,8,8,0,8,8,11,0,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,9,10,8,10,8,11,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,18,0,17,8,10,0,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,18,0,17,8,10,18,0,16,16,8,16,14,19,15,18,17,15,16,17,15,18,16,18,19,8,17,17,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,18,14,18,10,0,15,16,16,0,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,0,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,9,0,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,9,8,8,10,10,8,8,10,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,14,8,10,8,9,0,10,8,16,0,15,8,8,15,16,14,14,9,0,14,16,16,16,15,15,15,15,15,16,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,16,16,14,15,9,0,15,15,14,0,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,18,0,17,8,10,18,19,16,16,8,16,14,0,15,18,17,15,16,17,15,18,16,18,19,8,17,17,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,18,14,18,10,0,15,16,16,0,15,8,8,15,15,14,14,9,16,14,15,0,15,15,15,15,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,16,15,14,15,9,0,15,15,17,0,17,8,10,17,18,16,16,8,16,14,18,15,0,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,18,14,17,10,0,15,15,18,0,17,9,10,17,17,16,17,8,15,14,17,15,17,0,15,16,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,15,0,15,8,8,15,15,14,14,8,15,14,15,15,15,15,0,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,0,16,7,9,16,16,16,16,8,15,14,16,15,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,17,16,14,16,10,0,14,14,18,0,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,15,0,15,15,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,22,8,22,15,8,15,15,15,0,15,15,7,14,8,8,0,15,15,15,15,0,0,15,15,14,15,8,0,15,15,18,0,17,9,10,17,18,16,17,8,16,14,18,15,18,18,15,16,18,15,0,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,18,14,17,10,0,15,15,16,0,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,17,0,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,0,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,18,14,17,10,0,15,15,18,0,17,15,10,18,19,16,16,8,16,14,19,15,18,17,15,16,17,22,18,16,18,0,8,24,17,10,15,17,17,0,18,17,9,16,10,9,0,18,17,17,17,0,3,18,18,14,18,10,0,15,16,9,0,8,8,9,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,11,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,17,0,17,15,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,22,17,18,17,24,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,17,19,17,0,2,19,17,16,17,10,0,17,15,16,0,15,8,8,16,17,14,14,8,16,14,17,15,16,15,15,14,15,15,16,14,16,17,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,16,14,16,8,0,15,16,10,0,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,15,0,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,0,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,8,0,17,15,18,0,17,8,11,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,11,19,15,10,17,0,17,0,17,17,9,16,12,10,0,17,10,19,17,0,2,19,17,16,17,10,0,17,15,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,9,0,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,16,0,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,0,10,8,10,10,10,9,9,10,8,7,10,8,10,10,8,9,10,8,10,11,10,10,10,12,8,10,10,12,10,0,10,10,9,9,0,10,0,10,3,12,10,0,2,12,10,9,10,10,0,10,8,9,0,8,8,8,9,9,7,7,12,8,7,9,8,8,8,8,7,8,8,8,9,8,9,10,10,9,8,10,10,8,0,9,8,7,7,10,0,0,9,1,10,8,0,1,13,8,9,9,8,0,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,17,9,10,18,18,16,17,8,15,14,18,15,17,18,15,16,18,15,18,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,18,10,0,15,16,10,0,10,8,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,15,10,9,10,17,1,17,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,17,0,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,20,0,17,9,10,18,18,16,17,14,16,14,18,16,17,18,15,17,18,15,18,18,17,18,10,19,16,10,17,19,17,0,18,17,9,16,12,13,0,19,10,19,17,0,3,0,17,17,18,11,0,17,16,17,0,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,14,0,14,7,7,14,14,14,14,10,14,14,14,14,14,14,14,14,14,14,14,16,14,14,9,16,14,7,16,16,14,0,14,14,7,14,9,9,0,14,7,16,14,0,0,17,14,0,14,7,0,16,14,18,0,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,0,10,0,15,16,11,0,10,8,10,10,10,9,9,9,9,7,10,9,10,10,8,10,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,11,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,17,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,8,0,0,15,16,0,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,0,17,0,8,10,17,17,18,16,8,15,14,17,16,18,18,17,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,17,0,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,10,10,0,8,0,10,10,10,16,15,8,7,18,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,18,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,17,17,0,8,10,0,18,16,17,8,16,14,17,15,18,18,16,16,17,15,17,16,17,18,9,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,0,8,10,18,0,16,17,8,16,14,17,15,19,19,17,16,17,16,17,16,17,18,9,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,18,16,0,8,10,16,16,0,21,8,15,14,21,16,17,17,17,18,18,15,16,16,16,16,7,18,15,9,15,18,17,0,17,17,11,16,10,8,0,16,10,16,16,0,2,16,16,14,17,11,0,16,14,16,16,0,8,16,17,17,21,0,15,16,14,27,22,24,17,23,24,25,14,16,23,23,17,8,16,14,16,22,17,16,0,16,16,18,16,16,14,0,23,9,23,16,0,2,16,23,14,16,10,0,22,21,8,8,0,9,15,8,8,8,15,0,9,7,15,16,15,8,16,15,15,8,8,14,15,8,8,8,8,15,16,9,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,9,0,16,15,15,15,0,9,8,16,16,15,16,9,0,14,15,16,16,16,17,15,15,15,15,14,15,16,9,15,15,8,16,16,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,9,0,16,15,14,14,0,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,17,17,0,8,18,17,17,21,27,15,15,14,0,22,24,17,22,24,26,16,17,23,24,17,8,18,17,17,23,18,17,0,17,17,18,16,18,17,0,24,11,24,17,0,2,17,24,14,19,11,0,22,22,16,15,0,9,15,15,15,16,22,16,16,14,22,0,23,15,24,22,22,15,15,21,22,15,8,15,15,15,23,16,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,9,0,23,22,18,17,0,8,17,18,19,17,24,15,16,14,24,23,0,19,25,23,24,16,17,23,24,18,9,18,15,17,22,18,17,0,17,17,16,16,17,15,0,24,10,24,18,0,2,17,24,14,17,10,0,22,22,18,17,0,8,10,18,19,17,17,8,16,14,17,15,19,0,18,16,17,16,17,16,17,18,9,19,15,10,15,18,18,0,18,18,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,16,15,17,15,0,9,15,16,17,17,23,16,17,14,22,24,25,18,0,22,22,16,15,21,22,16,9,17,15,15,23,17,16,0,16,16,14,14,15,15,0,22,8,22,16,0,0,15,22,14,15,9,0,24,22,16,16,0,8,17,16,16,18,24,15,15,14,24,22,23,16,22,0,23,15,16,23,23,16,7,17,15,16,22,18,16,0,16,16,16,16,17,15,0,23,10,23,16,0,2,16,23,14,17,11,0,22,21,17,17,0,8,17,17,17,18,25,15,15,14,26,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,18,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,15,15,0,8,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,15,8,17,16,8,15,17,15,0,15,15,7,14,9,9,0,15,9,15,16,0,0,15,15,14,16,9,0,15,15,17,17,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,16,16,0,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,17,17,0,8,10,18,18,16,17,8,16,14,17,15,18,18,16,16,17,15,17,16,17,0,9,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,8,8,0,8,8,9,9,7,8,8,9,7,8,8,9,9,9,7,8,8,8,7,8,9,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,18,17,0,8,11,17,18,18,16,8,15,14,18,15,18,19,17,17,17,17,17,16,17,17,8,0,16,10,15,19,18,0,18,18,9,16,11,9,0,17,11,17,18,0,2,17,17,14,18,11,0,16,15,15,15,0,8,9,15,15,15,14,8,15,14,17,15,15,15,15,15,15,16,15,14,15,15,8,16,0,8,16,16,15,0,15,15,7,14,9,10,0,15,9,15,15,0,0,15,15,14,17,9,0,15,15,10,10,0,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,15,15,0,9,15,15,15,15,22,16,16,14,23,23,22,15,23,22,22,15,15,21,22,15,8,15,16,15,0,16,15,0,15,15,14,14,15,16,0,22,8,22,15,0,0,15,22,14,16,9,0,23,22,17,17,0,9,11,17,18,18,17,9,16,14,18,16,18,18,17,18,17,17,17,16,17,17,8,19,16,10,16,0,17,0,17,17,9,16,11,9,0,17,11,17,18,0,2,17,17,14,18,12,0,16,15,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,9,9,0,7,16,9,9,11,18,14,7,7,18,14,16,9,14,16,18,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,0,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,0,8,18,10,10,10,16,15,8,7,18,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,0,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,8,8,0,8,16,8,8,8,14,15,8,7,17,15,15,8,15,15,15,9,8,14,15,8,8,9,10,15,16,9,8,0,8,8,14,7,16,0,0,15,2,15,8,0,0,8,15,7,10,9,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,17,24,14,17,10,0,22,22,10,10,0,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,0,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,17,17,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,14,14,0,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,17,17,0,8,11,17,17,17,16,8,15,14,19,15,17,17,15,17,17,16,17,16,17,17,8,18,17,10,16,18,17,0,17,17,9,16,11,10,0,17,11,17,17,0,2,17,17,14,0,11,0,15,15,10,10,0,9,11,10,10,11,10,9,9,7,11,9,10,10,9,11,10,9,10,9,10,10,8,11,9,10,9,12,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,0,9,15,15,15,16,22,16,16,14,22,23,22,16,24,22,22,15,15,21,22,15,8,16,15,15,23,16,16,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,9,0,0,22,15,15,0,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,0,9,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,8,9,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,9,8,7,8,8,0,8,8,9,0,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,15,9,7,8,15,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,9,8,8,8,0,0,9,8,7,8,8,0,8,8,8,8,0,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,0,0,15,8,14,14,15,16,7,8,15,8,9,8,7,15,8,8,7,8,8,8,16,8,8,8,8,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,16,8,8,8,8,0,15,0,8,14,14,15,15,7,8,15,8,8,10,7,15,8,10,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,15,8,0,10,8,8,8,0,0,8,8,14,8,8,0,15,10,8,8,8,0,8,8,0,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,7,7,8,0,14,14,7,0,15,15,15,7,7,15,7,7,8,8,14,7,7,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,14,7,8,0,15,7,8,8,8,0,14,14,7,15,0,15,15,7,7,15,7,8,8,8,15,7,8,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,8,7,7,7,0,0,8,7,14,7,8,0,15,7,8,8,9,0,15,15,8,15,15,0,16,7,8,16,8,8,9,8,15,8,8,7,8,8,8,22,8,15,9,9,8,0,8,8,14,14,15,15,0,8,8,8,8,0,7,8,8,14,8,16,0,16,8,8,8,9,0,16,15,8,15,15,16,0,7,8,16,8,9,9,8,15,8,8,7,8,8,8,16,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,17,8,7,7,7,0,7,7,7,7,7,7,7,0,7,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,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,8,8,8,0,8,8,8,7,7,8,8,7,0,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,9,0,15,15,8,15,15,16,16,7,8,0,8,8,9,8,15,8,8,7,8,8,8,15,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,16,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,0,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,9,9,8,0,9,8,8,7,8,8,9,7,8,8,8,0,8,7,9,8,9,7,8,8,8,9,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,9,8,7,8,8,0,9,8,8,8,9,0,8,10,8,8,8,9,9,7,8,9,8,8,0,8,8,8,10,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,10,1,8,8,0,0,8,8,7,8,9,0,9,10,7,7,8,0,7,7,7,8,8,8,8,7,7,8,7,7,8,0,7,7,7,7,7,7,7,7,7,7,8,8,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,8,0,8,7,9,9,8,0,15,15,8,14,15,15,15,7,8,15,8,9,8,7,0,8,9,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,15,8,0,9,8,8,8,0,0,9,8,14,8,8,0,15,8,8,15,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,0,8,7,8,15,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,8,8,8,8,0,0,8,8,7,8,8,0,8,8,9,9,8,0,8,10,8,7,8,8,8,7,8,8,8,9,10,7,9,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,11,1,8,8,0,0,9,8,7,8,8,0,8,10,7,7,7,0,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,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,0,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,15,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,15,8,7,8,0,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,8,8,8,8,0,0,8,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,15,8,0,16,15,8,14,14,22,16,7,8,15,8,9,8,7,15,15,8,7,8,15,8,0,8,15,8,8,8,0,8,8,14,14,15,15,0,8,15,8,8,0,7,8,8,14,8,15,0,16,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,0,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,15,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,15,8,0,8,8,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,8,8,7,8,15,0,8,8,8,8,9,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,0,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,8,8,9,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,0,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,0,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,0,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,7,7,7,0,7,7,7,7,7,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,14,7,14,7,7,7,0,7,7,0,7,7,14,0,7,0,7,7,0,7,7,7,7,7,14,0,7,7,7,7,7,0,14,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,0,14,7,0,7,7,7,7,0,0,7,7,14,7,7,0,14,7,8,8,8,0,15,15,8,14,14,15,15,7,8,15,8,8,8,7,15,8,8,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,0,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,8,8,8,8,0,8,8,8,7,7,15,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,15,8,15,8,8,8,0,8,8,14,7,8,0,0,8,1,8,8,0,7,8,8,7,8,15,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,8,0,8,10,8,7,8,8,8,7,8,8,8,9,10,7,9,8,11,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,0,1,8,8,0,0,9,8,7,8,8,0,8,10,1,8,1,0,8,8,1,7,7,8,8,0,1,8,1,1,1,0,8,8,1,0,1,8,1,15,1,1,1,1,1,0,1,1,0,7,8,1,0,1,0,1,1,0,0,1,1,7,1,1,0,8,1,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,0,8,0,0,8,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,7,0,0,0,0,0,0,7,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,9,9,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,8,9,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,0,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,0,7,8,8,0,8,8,7,7,7,0,14,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,0,7,7,0,14,7,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,0,8,0,8,8,8,8,9,0,8,8,8,8,8,16,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,15,8,15,9,9,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,8,8,7,8,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,9,0,16,15,8,15,15,16,17,7,8,16,8,9,9,8,15,8,8,7,8,8,8,16,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,0,8,8,8,8,0,8,10,8,7,7,8,8,7,8,8,8,8,10,7,8,8,10,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,10,1,8,8,0,0,8,8,7,8,8,0,8,0,0,11,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,9,10,8,10,8,11,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,11,0,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,9,10,8,10,8,11,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,0,8,0,10,10,10,16,15,8,7,18,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,18,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,8,8,8,0,0,15,8,14,14,15,16,7,8,15,8,9,8,7,15,8,8,7,8,8,8,16,8,8,8,8,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,16,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,15,0,0,10,16,16,15,15,7,10,15,10,10,8,9,17,8,10,9,10,10,8,17,8,10,8,10,10,0,10,10,9,16,17,8,0,10,10,10,10,0,2,10,10,14,10,10,0,15,8,10,10,10,8,0,10,0,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,9,9,10,14,0,16,9,0,16,14,14,7,10,14,9,9,7,10,16,8,9,9,9,9,7,17,8,9,7,10,9,0,9,9,9,16,17,8,0,9,10,9,9,0,2,9,9,14,10,10,0,14,7,9,9,16,14,0,16,9,16,0,21,14,7,16,21,16,9,14,16,23,7,9,16,16,9,7,16,7,16,14,9,9,0,9,9,16,16,23,14,0,16,9,16,9,0,2,9,16,14,9,9,0,21,14,8,8,15,15,0,15,8,14,21,0,15,7,15,22,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,8,8,8,16,0,15,8,14,14,15,0,7,8,15,8,9,8,7,15,8,8,7,8,8,8,16,8,8,8,8,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,16,8,7,7,7,7,0,7,9,7,7,7,7,0,7,7,7,9,7,9,7,7,7,7,9,7,7,7,9,7,7,7,9,0,9,9,7,7,7,7,0,7,2,7,9,0,0,7,7,7,7,7,0,7,7,10,10,18,8,0,10,10,10,16,15,8,7,0,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,18,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,8,8,15,15,0,15,8,14,21,22,15,7,15,0,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,10,10,17,8,0,10,10,9,16,15,8,7,17,15,0,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,10,10,9,0,10,12,9,9,8,9,9,10,8,10,0,8,11,10,8,10,9,12,10,8,11,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,9,8,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,9,9,17,7,0,9,11,10,16,14,7,9,17,14,16,11,14,0,16,8,9,16,18,9,7,10,10,16,14,10,11,0,11,11,16,9,17,15,0,16,5,16,11,0,2,9,16,7,10,10,0,14,14,10,10,17,15,0,17,10,16,23,22,15,7,17,22,17,10,15,16,0,8,10,16,17,10,8,17,8,17,15,10,10,0,10,10,16,16,24,15,0,17,10,17,10,0,2,10,17,14,10,10,0,22,15,8,8,9,8,0,8,8,8,7,8,8,7,9,8,8,8,8,8,8,0,8,7,8,8,8,9,9,8,8,9,8,0,8,8,7,7,9,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,16,7,0,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,0,16,9,7,9,7,16,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,10,10,17,8,0,10,12,9,16,15,8,9,17,15,17,12,15,18,17,8,10,16,0,10,8,10,10,17,15,10,12,0,12,12,16,9,17,15,0,17,5,17,12,0,2,10,17,7,10,10,0,15,15,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,11,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,8,8,0,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,11,16,0,17,10,17,16,15,16,7,11,15,10,11,8,10,17,9,10,9,10,10,8,0,9,10,8,11,10,0,10,10,9,16,18,9,0,10,11,10,10,0,2,10,10,14,11,11,0,16,8,8,8,9,8,0,8,10,8,7,8,8,9,9,8,8,10,8,10,8,9,8,7,10,8,8,9,0,8,8,9,10,0,10,10,7,7,9,9,0,8,4,8,10,0,0,8,8,7,9,9,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,11,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,0,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,11,11,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,9,11,9,10,8,0,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,11,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,0,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,0,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,0,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,9,9,16,7,0,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,9,9,9,14,0,16,9,16,16,14,14,7,9,14,9,9,7,9,16,7,9,9,9,9,7,16,7,9,7,9,9,0,9,9,9,0,16,7,0,9,9,9,9,0,2,9,9,14,9,9,0,14,7,10,10,18,15,0,17,10,17,23,22,15,7,18,22,17,10,15,17,24,9,10,16,17,10,8,18,9,17,15,11,10,0,10,10,16,16,0,16,0,17,11,17,10,0,2,10,17,14,11,11,0,22,15,8,8,16,8,0,8,8,8,14,15,8,7,16,15,15,8,15,15,15,9,8,14,15,8,8,9,9,15,15,9,8,0,8,8,14,7,16,0,0,15,2,15,8,0,0,8,15,7,9,9,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,3,3,4,8,0,10,5,10,9,8,8,2,4,8,3,5,1,5,10,2,3,2,5,3,1,11,4,3,1,4,5,0,5,5,2,9,11,2,0,3,0,3,5,0,2,3,3,7,4,4,0,8,1,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,0,10,0,2,10,17,7,10,10,0,15,15,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,0,0,2,10,10,7,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,0,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,0,10,7,10,10,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,0,7,10,10,0,15,15,7,7,7,14,0,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,0,7,7,0,14,7,10,10,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,0,11,0,8,8,10,10,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,15,16,0,15,8,14,21,22,16,7,15,22,15,9,15,14,22,8,8,14,15,8,8,16,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,0,15,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,0,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,15,16,18,0,17,8,10,0,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,17,17,0,8,10,0,18,16,17,8,16,14,17,15,18,18,16,16,17,15,17,16,17,18,9,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,8,8,8,0,15,0,8,14,14,15,15,7,8,15,8,8,10,7,15,8,10,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,15,8,0,10,8,8,8,0,0,8,8,14,8,8,0,15,10,10,10,10,15,0,0,10,16,16,15,15,7,10,15,10,10,8,9,17,8,10,9,10,10,8,17,8,10,8,10,10,0,10,10,9,16,17,8,0,10,10,10,10,0,2,10,10,14,10,10,0,15,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,8,10,0,0,16,17,9,16,15,18,16,19,18,17,16,17,15,17,16,18,20,10,17,16,10,16,17,17,0,19,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,23,16,16,14,16,0,16,0,23,15,28,14,16,21,16,23,14,16,24,14,16,16,16,16,14,23,21,9,14,23,16,0,23,23,9,30,16,7,0,16,16,16,16,0,2,23,16,28,23,16,0,21,14,16,16,17,14,16,0,17,23,0,14,22,14,16,21,17,17,15,16,23,14,16,16,16,17,8,23,14,9,14,16,16,0,16,16,9,23,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,8,8,8,15,15,0,9,15,14,0,15,8,8,16,9,8,9,7,17,8,8,7,9,9,9,15,8,8,9,8,8,0,9,9,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,9,22,15,16,15,15,0,16,28,22,15,0,14,15,22,16,23,16,14,22,15,15,14,15,16,16,22,22,8,15,22,15,0,22,22,7,28,15,8,0,15,15,15,15,0,0,22,15,28,22,15,0,22,15,14,14,14,7,7,0,15,14,14,8,14,0,14,15,15,14,15,14,14,14,14,14,15,15,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,18,18,17,8,10,0,18,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,15,15,15,15,15,0,16,21,21,16,22,15,15,0,16,15,16,14,22,15,15,14,16,16,9,22,15,8,16,15,15,0,16,16,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,16,17,17,18,8,10,0,19,16,17,9,16,15,17,16,0,18,17,16,17,15,17,16,18,19,10,17,15,10,16,17,17,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,24,17,18,8,10,0,18,23,17,8,23,14,17,15,18,0,16,16,17,15,17,16,17,18,16,17,22,10,15,24,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,15,15,16,10,8,0,17,14,15,9,16,15,15,16,17,16,0,14,15,15,17,14,16,17,10,15,15,8,16,15,15,0,16,16,7,14,8,8,0,17,8,15,15,0,0,15,15,14,15,8,0,15,18,16,16,16,7,9,0,16,16,16,7,14,14,16,14,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,17,17,15,17,0,17,24,23,17,22,14,17,22,17,17,15,16,0,15,17,16,17,17,8,24,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,15,15,15,8,8,0,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,17,17,10,10,0,17,16,16,8,15,14,17,15,17,17,17,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,21,10,17,17,0,2,17,17,14,17,10,0,15,17,16,16,16,7,9,0,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,0,18,16,16,9,15,15,17,16,18,17,16,16,17,15,17,16,0,18,9,17,15,10,16,17,17,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,18,18,18,8,10,0,20,16,17,9,16,15,18,16,19,18,17,16,17,15,17,16,18,0,10,17,16,10,16,17,17,0,19,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,15,8,9,8,8,0,10,14,8,9,16,8,8,9,10,16,10,7,8,8,8,7,9,10,0,8,15,8,9,15,8,0,16,16,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,17,17,17,15,17,0,17,23,23,15,22,14,17,22,17,17,15,16,24,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,23,16,15,8,8,0,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,23,15,21,23,15,0,15,16,10,10,10,8,10,0,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,15,15,15,8,8,0,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,24,17,17,8,10,0,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,8,10,0,19,23,16,9,22,15,18,16,18,24,16,16,17,15,17,16,18,19,16,17,23,10,16,24,17,0,0,25,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,15,17,24,17,17,8,10,0,18,23,16,9,22,15,17,16,18,24,16,16,17,15,17,16,18,18,16,17,22,10,16,24,17,0,25,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,16,9,9,9,7,9,0,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,23,16,16,14,16,0,16,30,23,14,28,14,16,21,16,23,14,16,23,14,16,16,16,16,14,23,21,9,14,23,16,0,23,23,9,0,16,7,0,16,16,16,16,0,2,23,16,28,23,16,0,21,14,10,10,10,15,17,0,10,16,16,15,15,7,10,15,10,10,8,9,17,8,10,9,10,10,8,17,8,10,8,10,10,0,10,10,9,16,0,8,0,10,10,10,10,0,2,10,10,14,10,10,0,15,8,9,9,8,8,8,0,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,10,10,0,18,16,16,8,15,14,18,15,17,17,17,16,17,15,21,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,18,10,0,17,20,10,10,10,8,10,0,10,16,16,8,15,7,10,15,10,10,8,9,17,8,10,9,10,10,1,17,8,3,8,10,10,0,10,10,2,16,10,1,0,10,0,10,10,0,2,10,10,14,10,3,0,15,8,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,0,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,25,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,25,17,0,15,16,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,21,14,14,14,14,0,14,28,21,14,28,14,14,21,14,21,14,14,21,14,14,14,14,14,14,21,21,7,14,21,14,0,21,21,7,28,14,7,0,14,14,14,14,0,0,21,14,0,21,14,0,21,14,25,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,0,17,0,15,16,17,10,10,8,10,0,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,15,15,0,15,21,21,15,22,14,15,22,15,15,15,14,22,15,15,14,15,15,8,22,15,8,15,15,15,0,15,15,7,21,15,8,0,17,15,15,15,0,0,15,15,21,15,8,0,0,17,16,16,15,10,8,0,17,14,14,9,15,15,16,16,16,15,18,14,15,15,17,14,16,17,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,20,8,15,15,0,1,16,15,14,16,8,0,17,0,0,18,17,8,10,18,0,16,16,8,15,14,26,15,25,24,23,16,17,22,25,16,25,26,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,18,0,17,8,10,18,0,16,16,8,16,14,19,15,18,17,15,16,17,15,18,16,18,19,8,17,17,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,18,14,18,10,0,15,16,17,17,0,8,10,18,0,16,17,8,16,14,17,15,19,19,17,16,17,16,17,16,17,18,9,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,8,8,8,0,8,8,0,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,0,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,18,18,18,8,10,0,0,16,17,9,16,15,18,16,19,18,17,16,17,15,17,16,18,20,10,17,16,10,16,17,17,0,19,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,7,9,16,0,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,17,7,9,17,0,16,0,7,15,14,16,14,17,17,15,16,16,14,16,16,16,17,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,10,16,16,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,9,0,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,9,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,15,16,16,8,8,16,0,14,15,8,0,14,16,15,17,16,16,14,15,15,16,14,16,17,9,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,9,15,0,14,14,8,14,0,14,15,15,16,15,16,14,14,21,14,17,15,8,14,16,7,15,14,23,0,17,17,7,14,7,7,0,14,9,14,23,0,7,14,14,14,14,7,0,14,15,26,19,17,8,10,18,0,16,16,8,16,14,0,15,26,25,24,16,17,23,26,16,27,28,17,17,17,10,24,17,17,0,18,17,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,16,15,15,15,8,8,16,0,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,25,18,19,8,10,19,0,16,17,9,17,15,26,16,0,26,26,16,17,23,26,16,27,28,18,18,16,10,24,18,17,0,18,18,9,16,10,8,0,25,10,17,18,0,2,17,18,14,24,10,0,15,16,24,17,19,8,12,18,0,16,17,8,16,16,25,15,26,0,25,18,17,24,24,16,27,26,17,18,17,10,23,18,19,0,19,19,9,16,10,8,0,25,12,17,20,0,2,18,17,14,24,10,0,15,15,23,15,17,8,8,17,0,14,15,9,16,15,24,16,26,25,0,14,15,24,23,14,25,26,19,16,15,8,25,16,15,0,16,16,7,14,8,8,0,24,8,15,16,0,0,16,15,14,22,8,0,15,16,16,16,16,7,11,16,0,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,17,0,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,22,15,16,8,8,15,0,14,14,8,15,14,23,15,23,24,24,14,15,0,22,14,23,23,16,16,15,8,23,16,15,0,15,15,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,15,15,25,18,17,8,10,17,0,16,16,8,16,21,26,15,26,24,23,16,17,22,0,16,26,26,16,17,16,10,23,17,24,0,17,17,9,16,10,8,0,25,10,17,24,0,9,17,18,14,24,10,0,15,15,16,16,16,7,9,16,0,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,25,18,17,8,12,18,0,16,16,9,16,17,27,16,27,27,25,18,17,23,26,16,0,28,18,17,18,10,25,17,19,0,20,20,9,16,10,8,0,26,12,17,19,0,2,18,18,14,24,10,0,15,16,26,19,18,8,10,20,0,16,17,9,17,15,28,16,28,26,26,16,17,23,26,16,28,0,19,17,17,10,25,17,17,0,19,18,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,17,16,8,9,8,8,10,0,7,8,9,9,8,17,9,18,17,19,7,8,16,16,7,18,19,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,17,17,18,8,10,17,0,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,16,17,15,8,10,16,0,14,14,8,16,16,17,15,16,17,15,16,15,15,16,14,18,17,8,15,0,8,15,15,17,0,18,17,7,14,8,9,0,16,10,15,17,0,1,16,16,14,16,8,0,15,16,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,23,15,15,8,8,16,0,14,14,9,15,15,24,16,24,23,25,14,15,23,23,14,25,25,18,15,15,8,0,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,17,17,18,8,10,17,0,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,0,16,16,8,15,23,17,15,17,19,15,18,17,15,24,16,19,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,26,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,8,12,19,0,16,16,9,15,17,18,16,18,19,16,18,17,15,17,16,20,19,9,17,18,10,16,17,19,0,0,20,9,16,10,9,0,18,12,17,19,0,3,18,17,14,18,10,0,15,17,17,17,17,8,12,18,0,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,20,18,9,17,17,10,16,17,19,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,16,9,9,9,7,9,9,0,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,16,16,16,7,9,16,0,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,8,8,8,9,0,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,18,17,8,10,18,0,16,16,8,15,14,27,15,25,25,24,16,17,23,25,16,26,27,17,17,16,10,24,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,25,10,0,15,16,10,10,10,1,5,10,0,9,10,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,0,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,18,8,12,17,0,16,16,8,15,23,17,15,18,20,16,18,17,16,24,16,19,17,8,18,17,10,15,18,26,0,19,19,9,16,10,8,0,17,12,17,0,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,0,2,2,0,0,7,3,0,2,2,0,2,2,0,9,2,2,3,0,2,1,2,0,2,9,0,3,2,2,2,2,1,0,3,2,2,9,0,0,3,2,0,3,2,0,0,1,18,18,17,8,10,18,0,16,16,8,15,14,19,15,17,18,16,16,17,16,17,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,17,18,17,8,10,17,0,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,14,14,14,7,7,14,0,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,25,18,17,8,10,18,0,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,25,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,25,10,17,17,0,3,18,17,14,0,10,0,15,16,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,0,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,16,16,15,8,8,17,0,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,17,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,0,16,18,7,9,23,16,0,16,7,21,14,16,15,18,24,16,17,17,14,17,16,16,16,14,17,21,9,14,23,17,0,24,25,9,23,9,7,0,17,9,17,16,0,2,23,16,21,23,16,0,15,14,16,0,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,18,16,0,8,10,16,16,0,21,8,15,14,21,16,17,17,17,18,18,15,16,16,16,16,7,18,15,9,15,18,17,0,17,17,11,16,10,8,0,16,10,16,16,0,2,16,16,14,17,11,0,16,14,7,7,8,0,14,14,7,0,15,15,15,7,7,15,7,7,8,8,14,7,7,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,14,7,8,0,15,7,9,9,10,14,0,16,9,0,16,14,14,7,10,14,9,9,7,10,16,8,9,9,9,9,7,17,8,9,7,10,9,0,9,9,9,16,17,8,0,9,10,9,9,0,2,9,9,14,10,10,0,14,7,23,16,16,14,16,0,16,0,23,15,28,14,16,21,16,23,14,16,24,14,16,16,16,16,14,23,21,9,14,23,16,0,23,23,9,30,16,7,0,16,16,16,16,0,2,23,16,28,23,16,0,21,14,16,16,16,7,9,16,0,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,21,15,16,23,16,0,0,15,22,15,20,22,16,16,15,18,25,14,16,17,16,16,7,23,14,9,15,17,16,0,16,16,12,24,16,7,0,16,16,16,16,0,3,16,16,22,16,10,0,22,14,7,7,8,15,14,15,7,0,15,0,15,7,7,15,7,7,8,8,15,7,7,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,14,7,8,0,15,7,21,14,15,15,14,28,14,0,22,15,0,14,14,22,14,21,15,15,21,14,14,14,14,14,14,21,21,7,15,22,14,0,21,21,7,28,14,7,0,14,14,14,14,0,0,21,14,28,21,15,0,22,14,14,14,14,7,7,14,14,0,15,7,14,0,14,14,14,14,14,15,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,16,16,21,7,10,16,16,0,20,7,14,14,0,14,16,16,14,17,18,15,16,16,16,16,7,17,15,9,14,17,16,0,16,16,11,16,10,8,0,16,10,16,16,0,2,16,16,14,17,10,0,14,14,15,14,16,15,14,21,14,0,22,15,22,14,14,0,15,14,16,15,21,14,14,14,14,14,7,21,14,7,15,15,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,22,14,18,16,17,7,9,16,16,0,16,7,14,14,16,15,0,16,15,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,24,16,17,7,9,23,16,0,16,7,21,14,16,14,16,0,15,16,16,14,16,16,16,16,14,17,21,9,14,23,17,0,24,24,9,23,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,15,14,16,14,17,8,7,14,14,0,15,8,15,14,14,16,15,15,0,15,14,14,14,14,14,14,7,15,14,7,15,15,15,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,8,0,16,14,17,16,18,8,10,16,16,0,18,8,15,15,17,15,17,16,15,0,17,15,17,17,16,16,7,17,15,9,15,18,16,0,16,17,10,17,10,8,0,17,10,17,16,0,3,16,16,15,17,11,0,15,14,17,16,18,14,16,24,16,0,25,15,21,14,18,21,17,16,14,17,0,14,17,16,16,16,7,23,14,9,14,16,16,0,16,17,11,23,16,7,0,17,16,17,16,0,2,16,16,21,16,9,0,21,14,14,14,15,7,8,14,14,0,14,7,14,14,15,14,14,14,14,15,14,0,14,14,14,14,7,15,15,7,14,15,14,0,14,14,7,14,8,8,0,14,8,14,14,0,0,14,14,14,15,8,0,14,14,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,0,17,7,14,15,16,14,16,16,14,17,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,10,17,9,7,0,16,9,16,16,0,3,16,16,15,16,9,0,14,14,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,0,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,14,7,7,7,7,14,7,0,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,0,7,14,7,7,14,7,0,14,14,7,14,7,7,0,7,0,7,7,0,0,14,7,14,14,14,0,7,7,17,16,18,14,17,23,16,0,23,14,21,14,17,21,16,17,15,17,23,15,16,16,16,16,7,0,15,9,14,17,17,0,17,17,9,23,17,8,0,16,17,16,16,0,2,16,16,21,17,10,0,22,14,21,14,15,7,8,21,14,0,14,7,21,14,15,14,14,21,14,15,14,15,14,14,14,14,14,15,0,7,14,22,14,0,21,21,7,21,8,8,0,14,8,14,14,0,0,21,14,21,22,15,0,14,14,9,9,9,7,9,9,9,0,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,0,7,9,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,14,14,15,8,7,14,14,0,15,8,15,14,14,15,14,14,15,15,14,14,14,14,14,14,7,14,14,7,0,15,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,8,0,15,14,23,16,18,8,10,23,16,0,17,8,22,14,17,15,16,23,15,18,16,15,16,16,16,16,14,17,22,9,15,0,16,0,23,23,9,23,10,8,0,16,10,16,16,0,2,23,16,21,24,18,0,15,14,17,16,17,7,9,16,16,0,16,7,14,14,16,14,16,17,15,16,16,14,16,16,16,16,7,17,14,9,14,16,0,0,17,17,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,15,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,16,17,7,9,23,16,0,16,7,21,14,16,14,16,24,15,16,16,14,16,16,16,16,14,17,21,9,14,23,17,0,0,24,9,23,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,15,14,25,16,17,7,9,23,16,0,16,7,21,14,16,14,17,24,15,17,17,14,17,16,16,16,14,17,21,9,14,23,17,0,24,0,9,23,9,7,0,17,9,17,16,0,2,23,16,21,23,16,0,15,14,9,9,11,7,9,9,9,0,12,7,7,8,11,7,9,9,7,10,11,7,9,10,9,9,7,9,7,9,7,9,9,0,9,9,0,10,9,7,0,9,2,9,9,0,3,9,9,8,9,9,0,7,7,23,16,16,14,16,30,16,0,24,14,28,15,16,21,16,23,14,17,23,14,16,17,16,16,14,23,21,9,14,23,16,0,23,23,10,0,16,7,0,16,16,16,16,0,3,23,16,29,23,16,0,21,14,9,9,10,14,17,16,9,0,16,14,14,7,10,14,9,9,7,10,16,8,9,9,9,9,7,17,8,9,7,10,9,0,9,9,9,16,0,8,0,9,10,9,9,0,2,9,9,14,10,10,0,14,7,7,7,8,7,8,7,7,0,7,7,7,7,8,7,7,7,7,8,7,8,7,7,7,7,7,8,8,7,7,8,7,0,7,7,7,7,8,0,0,7,1,7,7,0,0,7,7,7,8,8,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,0,9,17,16,0,2,16,16,14,16,9,0,14,14,9,9,10,7,10,16,9,0,16,7,14,7,10,14,9,9,7,10,16,8,9,9,9,9,0,17,8,2,7,10,9,0,9,9,2,16,10,1,0,9,0,9,9,0,2,9,9,14,10,3,0,14,7,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,0,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,0,3,0,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,23,16,16,7,9,23,16,0,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,23,9,7,0,16,9,16,16,0,2,0,16,21,23,16,0,14,14,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,0,14,16,9,0,14,14,21,14,14,14,14,28,14,0,22,14,28,16,14,21,14,21,14,15,21,14,14,15,14,14,14,21,21,7,14,21,14,0,21,21,8,29,14,7,0,14,14,14,14,0,1,21,14,0,21,14,0,21,14,23,16,17,7,10,23,16,0,16,7,21,14,17,14,16,23,14,17,16,15,16,16,16,16,14,17,22,9,14,24,16,0,23,23,9,23,10,8,0,16,10,16,16,0,2,23,16,21,0,17,0,14,14,16,9,11,8,10,16,9,0,10,8,15,7,10,8,9,16,8,11,9,8,9,9,9,9,14,10,15,9,8,18,9,0,16,16,9,16,10,8,0,9,3,9,9,0,2,16,9,14,17,0,0,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,14,16,15,14,21,14,0,22,15,22,14,14,22,14,15,16,15,21,14,14,14,14,14,7,22,14,7,15,15,15,0,15,15,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,0,14,14,14,14,7,7,14,14,0,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,0,0,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,17,0,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,16,16,0,8,16,17,17,21,0,15,16,14,27,22,24,17,23,24,25,14,16,23,23,17,8,16,14,16,22,17,16,0,16,16,18,16,16,14,0,23,9,23,16,0,2,16,23,14,16,10,0,22,21,8,8,8,0,14,14,7,15,0,15,15,7,7,15,7,8,8,8,15,7,8,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,8,7,7,7,0,0,8,7,14,7,8,0,15,7,9,9,16,14,0,16,9,16,0,21,14,7,16,21,16,9,14,16,23,7,9,16,16,9,7,16,7,16,14,9,9,0,9,9,16,16,23,14,0,16,9,16,9,0,2,9,16,14,9,9,0,21,14,16,16,17,14,16,0,17,23,0,14,22,14,16,21,17,17,15,16,23,14,16,16,16,17,8,23,14,9,14,16,16,0,16,16,9,23,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,16,16,17,7,9,17,0,16,0,7,15,14,16,14,17,17,15,16,16,14,16,16,16,17,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,10,16,16,0,2,16,16,14,16,9,0,14,14,16,16,21,15,16,23,16,0,0,15,22,15,20,22,16,16,15,18,25,14,16,17,16,16,7,23,14,9,15,17,16,0,16,16,12,24,16,7,0,16,16,16,16,0,3,16,16,22,16,10,0,22,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,15,15,21,14,7,15,0,0,15,7,14,22,14,7,15,15,21,7,7,14,14,7,7,14,7,14,15,8,7,0,7,7,14,14,21,14,0,14,7,14,7,0,0,7,14,14,7,8,0,22,14,14,14,16,15,14,22,15,22,0,15,0,14,14,22,15,15,16,15,21,14,14,14,14,15,8,21,14,7,15,15,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,22,14,14,14,14,7,7,14,14,15,0,7,14,0,14,14,14,14,14,15,14,14,14,16,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,16,16,27,7,16,16,16,20,0,14,14,14,0,21,23,16,21,23,25,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,18,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,14,14,22,15,21,21,14,22,0,22,22,14,21,0,21,14,22,22,28,14,14,21,21,14,7,21,14,14,22,15,14,0,14,14,14,21,21,14,0,21,14,21,14,0,0,14,21,21,14,8,0,29,21,16,16,24,7,16,17,17,16,0,14,15,14,23,21,0,17,22,23,23,14,16,23,23,17,8,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,17,17,17,8,9,17,17,16,0,7,15,14,16,14,17,0,15,16,17,14,17,16,16,17,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,14,14,23,8,14,15,15,15,0,15,16,14,21,22,22,15,0,22,21,14,14,21,21,15,8,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,16,16,24,8,16,16,16,18,0,15,15,15,23,22,23,16,22,0,23,14,16,24,23,16,7,16,14,16,22,17,16,0,16,16,17,17,16,15,0,23,9,24,16,0,3,16,23,15,16,10,0,22,21,17,17,25,15,23,23,16,25,0,21,21,14,25,28,23,17,21,23,0,14,17,23,23,16,7,23,14,16,21,16,16,0,16,16,18,23,23,14,0,24,16,23,16,0,2,17,23,21,16,9,0,28,21,14,14,14,7,7,14,14,14,0,7,14,14,14,14,14,14,14,14,14,0,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,17,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,16,16,23,7,16,16,16,17,0,14,14,16,23,21,23,16,21,24,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,17,18,16,14,0,23,9,23,16,0,3,16,23,17,16,9,0,21,21,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,23,23,14,16,23,0,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,16,16,17,7,9,17,17,16,0,7,15,14,16,14,17,17,15,16,16,14,16,16,16,0,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,7,7,8,7,7,8,8,7,0,7,8,7,7,7,8,8,8,7,7,7,7,7,7,8,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,16,16,16,14,16,23,16,23,0,14,21,14,16,21,16,16,14,16,23,14,16,16,16,16,7,0,14,9,14,16,16,0,16,16,9,23,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,14,14,14,7,7,14,14,14,0,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,0,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,9,9,16,7,16,9,9,9,0,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,0,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,14,14,22,8,14,14,14,15,0,15,15,14,21,22,21,14,22,22,21,14,14,21,21,14,7,14,14,14,0,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,16,16,17,8,9,16,16,17,0,8,15,14,16,15,16,16,15,17,16,14,16,16,16,16,7,16,14,9,15,0,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,10,0,15,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,0,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,0,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,0,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,9,9,18,7,16,9,9,12,0,14,7,8,18,14,16,9,14,17,18,7,9,17,16,9,7,9,7,16,14,9,9,0,9,9,0,10,16,14,0,16,2,16,9,0,3,9,16,8,9,9,0,14,14,16,16,16,14,16,23,16,24,0,14,21,15,16,21,16,16,14,17,23,14,16,18,16,16,7,23,14,9,14,16,16,0,16,16,10,0,16,7,0,16,16,16,16,0,3,16,16,23,16,9,0,21,14,9,9,16,14,23,16,9,16,0,21,14,7,16,21,16,9,14,16,23,7,9,16,16,9,7,16,7,16,14,9,9,0,9,9,16,16,0,14,0,16,9,16,9,0,2,9,16,14,9,9,0,21,14,7,7,14,7,14,7,7,7,0,14,7,7,14,14,14,7,14,15,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,14,7,14,0,0,14,0,15,7,0,0,7,14,7,7,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,23,8,16,16,16,16,0,14,14,14,23,21,23,17,21,23,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,0,9,23,16,0,2,17,23,14,16,9,0,21,21,9,9,9,7,9,16,10,16,0,7,14,7,9,14,9,9,7,9,16,7,9,9,9,9,0,16,7,2,7,9,9,0,9,9,2,16,9,0,0,9,0,9,9,0,2,9,9,14,9,2,0,14,7,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,24,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,15,0,23,9,0,16,0,2,16,23,14,16,9,0,21,21,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,3,0,0,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,17,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,0,16,14,16,9,0,14,14,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,23,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,0,14,16,9,0,21,21,14,14,14,14,14,21,14,22,0,14,21,16,14,21,14,14,14,15,21,14,14,17,14,14,7,21,14,7,14,14,14,0,14,14,8,23,14,7,0,14,14,14,14,0,1,14,14,0,14,7,0,21,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,0,9,0,14,14,9,9,10,8,9,9,9,10,0,8,8,7,9,8,9,9,8,10,9,7,9,9,9,9,7,9,7,9,8,10,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,0,0,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,22,15,21,21,14,22,0,22,22,14,21,29,21,14,22,22,28,14,14,21,21,14,7,21,14,14,22,15,14,0,14,14,14,21,21,14,0,21,14,21,14,0,0,14,21,21,14,8,0,0,21,14,14,21,7,14,14,14,14,0,14,14,14,21,21,21,14,21,21,21,14,14,21,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,0,9,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,9,8,7,8,9,0,8,8,9,0,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,9,8,8,10,10,8,8,10,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,14,8,10,8,9,0,10,8,8,8,0,9,15,8,8,8,15,0,9,7,15,16,15,8,16,15,15,8,8,14,15,8,8,8,8,15,16,9,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,9,0,16,15,8,8,9,0,15,15,8,15,15,0,16,7,8,16,8,8,9,8,15,8,8,7,8,8,8,22,8,15,9,9,8,0,8,8,14,14,15,15,0,8,8,8,8,0,7,8,8,14,8,16,0,16,8,8,8,15,15,0,15,8,14,21,0,15,7,15,22,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,8,8,8,15,15,0,9,15,14,0,15,8,8,16,9,8,9,7,17,8,8,7,9,9,9,15,8,8,9,8,8,0,9,9,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,9,8,8,8,8,8,9,0,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,9,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,7,7,8,15,14,15,7,0,15,0,15,7,7,15,7,7,8,8,15,7,7,7,7,7,7,14,7,7,8,8,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,14,7,8,0,15,7,7,7,15,15,21,14,7,15,0,0,15,7,14,22,14,7,15,15,21,7,7,14,14,7,7,14,7,14,15,8,7,0,7,7,14,14,21,14,0,14,7,14,7,0,0,7,14,14,7,8,0,22,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,16,15,15,8,15,15,0,0,9,8,19,8,8,11,9,15,10,8,7,8,8,10,15,10,8,11,9,8,0,8,8,7,14,15,10,0,8,8,8,8,0,0,9,8,16,8,10,0,18,10,7,7,7,7,7,8,8,7,7,0,9,0,7,10,8,7,10,7,7,9,7,7,8,8,10,7,9,7,10,7,7,0,8,8,7,7,7,9,0,7,0,7,7,0,0,7,7,9,7,7,0,9,10,8,8,15,8,15,8,8,7,14,0,8,7,0,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,9,9,16,16,22,16,9,15,22,0,19,10,15,0,16,8,19,16,22,10,8,14,16,9,11,15,10,15,19,9,8,0,9,9,14,14,22,17,0,15,8,15,8,0,0,9,15,16,8,10,0,25,18,8,8,15,8,15,9,9,7,14,0,8,8,15,16,0,8,16,14,15,8,8,14,16,9,9,8,8,15,16,8,8,0,9,9,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,16,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,0,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,16,9,15,9,9,8,15,0,11,10,15,19,16,8,0,15,15,10,8,14,16,9,11,8,10,15,19,9,8,0,9,9,14,7,15,17,0,15,1,15,8,0,0,8,15,9,8,9,0,18,18,8,8,15,8,14,7,7,8,15,0,9,7,14,16,14,7,15,0,14,7,7,14,14,7,7,7,7,14,15,8,7,0,7,7,14,7,14,14,0,14,0,14,7,0,0,8,14,7,7,9,0,15,14,8,8,15,15,22,17,8,15,21,0,15,7,15,22,15,8,15,14,0,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,8,8,8,8,8,8,8,7,7,0,10,9,8,10,8,8,10,7,8,0,8,7,8,8,10,8,10,8,10,8,8,0,8,8,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,7,9,14,7,14,7,7,7,14,0,7,7,14,14,14,7,14,14,14,7,7,0,14,7,9,9,7,14,16,9,7,0,7,7,14,7,16,16,0,14,0,16,7,0,0,9,14,9,7,7,0,16,14,8,8,15,8,15,9,9,7,14,0,8,8,15,16,16,8,16,14,15,8,8,14,0,9,9,8,8,15,16,8,8,0,9,9,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,16,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,0,9,8,8,8,9,8,8,0,9,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,8,10,8,8,8,9,9,7,7,0,10,10,8,11,9,8,11,7,8,10,8,9,9,9,0,10,10,8,13,10,8,0,9,9,7,7,10,12,0,8,1,10,8,0,0,10,8,11,8,8,0,12,11,8,10,8,22,15,15,8,14,14,0,15,7,8,15,8,8,8,7,15,8,8,9,8,8,10,0,8,15,10,10,8,0,8,8,14,14,17,17,0,8,8,10,8,0,7,10,8,16,8,15,0,17,8,8,8,8,8,8,8,8,7,7,0,10,9,8,10,8,8,10,7,8,10,8,7,8,8,10,8,0,8,10,8,8,0,8,8,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,8,8,15,15,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,15,8,0,15,8,8,0,8,8,22,7,15,23,0,15,1,15,8,0,7,8,15,7,8,15,0,15,15,8,10,16,9,15,9,9,8,15,0,11,10,15,19,16,8,19,15,15,10,8,16,16,9,13,10,10,15,0,11,8,0,9,9,14,7,17,19,0,15,1,17,8,0,0,10,15,11,8,9,0,20,18,8,10,9,9,8,8,8,8,8,0,9,7,8,9,8,8,9,8,8,8,8,9,8,8,10,10,8,8,11,0,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,9,0,11,8,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,0,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,9,0,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,7,7,14,14,14,7,7,7,14,0,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,14,7,22,14,7,7,0,7,7,0,7,14,22,0,14,0,14,7,0,7,7,14,7,7,14,0,14,14,7,7,7,14,14,14,7,14,14,0,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,0,14,7,0,7,7,7,7,0,0,7,7,14,7,7,0,14,7,8,10,15,15,22,15,8,14,21,0,15,7,15,22,15,8,15,14,22,8,8,16,15,8,10,17,8,15,17,10,8,0,8,8,14,14,0,17,0,15,8,17,8,0,0,10,15,16,8,8,0,24,15,8,12,15,15,15,8,8,7,14,0,10,9,15,17,15,8,17,14,15,10,8,16,15,8,12,17,10,23,19,10,8,0,8,8,22,7,17,0,0,15,1,17,8,0,7,12,15,11,8,15,0,19,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,0,1,15,8,0,0,8,15,7,8,8,0,15,15,1,1,1,8,8,8,1,7,7,0,8,0,1,8,1,1,1,0,8,1,1,0,1,1,1,8,1,1,1,1,1,0,1,1,0,7,8,1,0,1,0,1,1,0,0,1,1,7,1,1,0,8,1,8,10,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,16,15,8,10,10,8,15,17,10,8,0,8,8,14,7,17,17,0,15,1,0,8,0,0,10,15,9,8,8,0,17,15,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,7,0,0,0,0,0,0,7,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,9,14,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,9,8,8,10,10,8,8,10,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,0,8,10,8,9,0,10,8,8,8,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,0,7,8,8,0,15,15,7,10,7,14,14,14,7,14,14,0,16,9,7,16,7,7,9,7,14,9,7,9,7,7,11,16,9,7,11,9,7,0,7,7,7,14,16,11,0,7,7,9,7,0,0,10,7,0,7,7,0,18,9,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,0,8,0,8,8,9,9,9,16,8,8,8,8,8,0,10,7,8,10,8,8,9,9,8,8,8,7,8,8,8,15,8,15,9,9,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,9,8,7,8,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,16,16,22,15,8,15,22,0,18,9,15,25,15,8,18,15,22,10,8,16,15,8,12,17,10,15,20,11,8,0,8,8,14,14,24,19,0,15,8,17,8,0,0,10,15,18,8,9,0,0,17,8,8,15,8,15,9,9,7,14,0,10,10,15,18,16,8,18,14,15,10,8,14,16,9,11,8,10,15,18,8,8,0,9,9,14,7,15,17,0,15,1,15,8,0,0,8,15,9,8,8,0,17,0,0,16,15,8,8,22,15,21,14,9,0,14,15,23,17,22,15,15,15,22,15,14,15,15,15,15,22,10,15,22,15,0,22,22,7,23,8,8,0,15,8,15,15,0,2,23,17,21,24,21,0,15,15,16,0,15,8,8,15,16,14,14,9,0,14,16,16,16,15,15,15,15,15,16,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,16,16,14,15,9,0,15,15,15,15,0,9,8,16,16,15,16,9,0,14,15,16,16,16,17,15,15,15,15,14,15,16,9,15,15,8,16,16,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,9,0,16,15,8,8,9,0,16,15,8,15,15,16,0,7,8,16,8,9,9,8,15,8,8,7,8,8,8,16,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,17,8,8,8,8,16,0,15,8,14,14,15,0,7,8,15,8,9,8,7,15,8,8,7,8,8,8,16,8,8,8,8,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,8,0,16,8,22,15,16,15,15,0,16,28,22,15,0,14,15,22,16,23,16,14,22,15,15,14,15,16,16,22,22,8,15,22,15,0,22,22,7,28,15,8,0,15,15,15,15,0,0,22,15,28,22,15,0,22,15,15,16,16,8,8,16,0,14,15,8,0,14,16,15,17,16,16,14,15,15,16,14,16,17,9,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,21,14,15,15,14,28,14,0,22,15,0,14,14,22,14,21,15,15,21,14,14,14,14,14,14,21,21,7,15,22,14,0,21,21,7,28,14,7,0,14,14,14,14,0,0,21,14,28,21,15,0,22,14,14,14,16,15,14,22,15,22,0,15,0,14,14,22,15,15,16,15,21,14,14,14,14,15,8,21,14,7,15,15,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,22,14,9,9,9,16,15,15,8,15,15,0,0,9,8,19,8,8,11,9,15,10,8,7,8,8,10,15,10,8,11,9,8,0,8,8,7,14,15,10,0,8,8,8,8,0,0,9,8,16,8,10,0,18,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,9,0,0,14,16,14,14,16,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,16,15,16,15,8,8,15,16,14,14,8,0,14,0,15,16,15,15,14,15,15,16,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,23,16,16,16,15,22,15,22,22,19,0,16,15,0,17,15,18,16,22,24,15,14,15,15,10,22,17,10,18,16,15,0,15,15,7,23,15,10,0,15,15,15,15,0,2,16,17,23,17,15,0,25,17,17,16,16,8,8,16,17,14,15,8,0,14,16,17,0,16,16,14,15,17,16,14,16,17,9,15,16,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,18,14,17,10,0,15,15,22,15,16,9,9,23,16,21,15,8,0,14,15,15,16,0,16,14,15,15,15,14,15,16,16,16,22,8,15,22,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,16,15,15,15,17,9,8,16,16,15,16,11,0,16,15,18,16,16,0,15,15,17,15,14,15,16,11,15,17,8,18,16,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,9,0,18,17,15,15,15,8,7,14,14,15,15,9,0,14,14,16,14,14,15,0,14,14,14,14,14,14,7,14,14,7,15,15,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,15,14,14,14,9,0,15,14,15,15,15,15,15,22,15,21,21,15,0,14,15,22,15,15,15,14,0,15,15,14,15,15,8,22,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,15,22,15,15,8,8,15,15,14,14,10,0,16,15,24,17,15,17,14,15,0,15,14,15,15,10,15,17,10,17,15,15,0,15,15,7,16,8,10,0,15,8,15,15,0,2,15,17,16,17,13,0,17,17,15,16,15,8,8,15,16,14,14,8,0,14,16,15,16,15,15,14,15,15,0,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,7,14,14,14,14,7,0,14,14,14,14,14,14,14,14,14,14,0,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,15,16,15,8,8,15,16,14,14,8,0,14,16,15,16,15,15,14,15,15,16,14,0,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,15,16,16,8,8,16,17,14,15,8,0,14,16,15,17,16,16,14,15,15,16,14,16,0,9,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,15,8,9,8,8,16,9,14,8,10,0,9,8,10,9,16,11,7,8,10,8,7,8,9,0,8,17,8,10,15,8,0,15,15,7,14,8,10,0,8,1,8,8,0,0,15,8,16,15,15,0,10,10,15,15,15,16,16,22,15,21,21,15,0,14,15,22,15,16,15,14,22,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,23,15,22,16,15,8,8,22,16,21,14,10,0,16,16,17,16,22,17,14,15,17,16,14,16,16,17,15,0,8,17,22,15,0,22,22,7,21,8,10,0,15,8,15,15,0,0,22,16,23,22,15,0,17,17,10,8,8,8,8,8,8,7,7,8,0,7,8,10,10,8,8,7,8,10,8,7,8,8,8,8,8,0,8,8,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,8,10,7,10,10,0,8,8,15,15,16,9,8,15,15,15,15,11,0,16,15,18,15,15,18,15,15,17,15,14,15,15,10,15,17,8,0,16,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,9,0,18,17,22,15,16,9,8,22,15,22,15,9,0,14,15,16,15,22,16,15,15,15,15,14,15,15,15,15,22,8,16,0,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,16,0,16,15,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,15,15,8,8,22,15,21,14,8,0,14,15,15,15,22,15,14,15,15,15,14,15,15,15,15,22,8,15,22,15,0,0,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,15,15,22,15,15,8,8,22,15,21,14,8,0,14,15,15,15,22,15,14,15,15,15,14,15,15,15,15,22,8,15,22,15,0,22,0,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,15,15,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,23,14,14,14,14,28,14,28,21,14,0,14,14,23,16,21,14,14,21,16,14,14,14,14,14,21,21,9,14,21,14,0,21,21,7,0,14,7,0,14,14,14,14,0,2,21,16,28,23,16,0,21,14,8,8,8,15,15,15,8,14,14,15,0,7,8,15,8,8,8,7,15,8,8,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,0,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,8,8,8,8,8,8,8,8,7,7,10,0,9,8,10,8,8,10,7,8,10,8,7,8,8,10,8,10,8,10,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,0,8,15,15,0,0,15,15,14,15,8,0,15,15,8,8,8,8,8,15,8,14,14,8,0,7,8,15,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,15,8,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,1,0,23,16,15,8,8,22,15,21,14,9,0,14,15,16,15,22,15,15,15,15,15,14,15,15,15,15,22,8,15,22,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,0,15,21,22,16,0,15,15,17,16,15,8,8,15,16,14,14,8,0,14,16,17,18,15,15,14,15,17,16,14,16,16,8,15,16,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,0,14,17,10,0,15,15,21,14,14,14,14,28,14,28,21,16,0,16,14,23,14,21,16,14,21,16,14,14,14,14,16,21,23,7,16,21,14,0,21,21,7,28,14,9,0,14,14,14,14,0,0,21,14,0,21,14,0,23,16,24,15,15,8,8,22,15,21,14,8,0,14,15,17,17,22,15,14,15,17,15,14,15,15,15,15,22,10,15,22,15,0,22,22,7,23,8,8,0,15,8,15,15,0,2,22,17,21,0,17,0,15,15,21,9,9,9,8,15,8,15,8,10,0,7,8,15,10,15,9,9,8,13,8,7,8,8,15,8,15,10,9,16,8,0,15,15,7,16,8,8,0,8,1,8,8,0,2,16,10,14,17,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,16,17,16,22,15,22,22,18,0,16,15,25,15,16,18,15,22,17,15,14,15,15,10,23,17,8,18,16,15,0,15,15,7,21,15,10,0,15,15,15,15,0,1,15,15,23,15,9,0,0,17,15,15,15,8,8,15,15,14,14,10,0,16,15,17,15,15,17,14,15,17,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,0,0,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,0,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,0,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,7,7,7,0,7,7,7,7,7,7,7,0,7,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,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,7,7,7,7,0,7,9,7,7,7,7,0,7,7,7,9,7,9,7,7,7,7,9,7,7,7,9,7,7,7,9,0,9,9,7,7,7,7,0,7,2,7,9,0,0,7,7,7,7,7,0,7,7,14,14,14,7,7,0,15,14,14,8,14,0,14,15,15,14,15,14,14,14,14,14,15,15,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,14,14,14,7,9,15,0,14,14,8,14,0,14,15,15,16,15,16,14,14,21,14,17,15,8,14,16,7,15,14,23,0,17,17,7,14,7,7,0,14,9,14,23,0,7,14,14,14,14,7,0,14,15,14,14,14,7,7,14,14,0,15,7,14,0,14,14,14,14,14,15,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,14,14,14,7,7,14,14,15,0,7,14,0,14,14,14,14,14,15,14,14,14,16,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,7,7,7,7,7,8,8,7,7,0,9,0,7,10,8,7,10,7,7,9,7,7,8,8,10,7,9,7,10,7,7,0,8,8,7,7,7,9,0,7,0,7,7,0,0,7,7,9,7,7,0,9,10,14,14,14,7,7,14,14,14,14,9,0,0,14,16,14,14,16,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,7,14,0,0,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,7,15,15,14,14,10,16,0,14,0,15,14,17,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,14,14,14,7,7,15,15,14,14,8,14,0,14,15,0,14,15,14,14,14,14,14,15,15,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,14,14,14,7,9,14,16,14,14,7,14,0,14,14,14,0,14,16,14,14,14,14,16,14,7,14,16,7,14,14,16,0,16,16,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,14,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,0,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,14,14,14,7,9,14,16,15,15,7,14,0,14,14,14,16,14,0,14,14,14,15,16,14,7,14,16,7,14,14,16,0,16,16,8,15,7,7,0,14,9,14,16,0,1,14,14,15,14,7,0,14,14,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,0,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,7,14,14,14,14,9,16,0,14,16,14,14,16,14,14,0,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,16,14,14,14,7,7,14,21,14,14,7,14,0,14,14,14,14,14,14,14,14,0,14,14,14,7,14,14,7,14,14,21,0,14,14,7,14,7,7,0,14,7,14,21,0,7,14,14,14,14,7,0,14,14,14,14,14,7,7,14,14,15,16,7,14,0,14,14,14,14,14,15,14,14,14,0,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,0,15,8,14,16,7,15,14,16,0,17,17,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,14,14,14,7,7,15,15,14,14,8,14,0,14,15,15,14,15,14,14,14,14,14,15,0,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,7,7,7,7,7,8,8,7,7,10,9,0,7,10,8,7,10,7,7,9,7,7,8,8,0,7,9,7,10,7,7,0,8,8,7,7,7,9,0,7,0,7,7,0,0,7,7,9,7,7,0,9,10,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,0,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,9,14,16,14,14,9,16,0,14,16,14,16,16,16,14,16,14,14,16,14,9,14,0,7,16,14,16,0,16,16,7,14,7,9,0,14,9,14,16,0,0,14,14,16,14,7,0,16,16,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,17,14,14,16,14,14,15,15,10,14,16,7,0,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,0,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,9,14,23,14,14,7,14,0,14,14,14,16,14,16,14,14,21,14,16,14,7,14,16,7,14,14,0,0,16,16,7,14,7,7,0,14,9,14,23,0,7,14,14,14,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,17,15,8,14,16,7,15,14,16,0,0,17,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,17,15,8,14,16,7,15,14,16,0,17,0,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,7,7,7,7,7,7,7,8,8,7,7,0,7,7,7,7,7,8,7,7,7,8,7,7,7,7,7,7,7,7,7,0,7,7,0,8,7,7,0,7,0,7,7,0,1,7,7,8,7,7,0,7,7,14,14,14,7,7,14,14,15,15,7,14,0,14,14,14,14,14,15,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,0,7,7,0,14,7,14,14,0,1,14,14,15,14,7,0,14,14,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,0,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,9,9,0,7,9,7,7,9,7,7,9,7,7,7,7,9,7,9,7,9,7,7,0,7,7,7,7,7,0,0,7,0,7,7,0,0,7,7,9,7,7,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,0,7,14,14,0,0,14,14,14,14,7,0,14,14,7,7,7,0,2,7,9,7,7,0,7,0,7,7,7,9,7,9,7,7,7,7,9,7,0,7,9,0,7,7,9,0,9,9,0,7,0,0,0,7,0,7,9,0,0,7,7,7,7,0,0,7,7,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,0,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,9,14,23,14,14,7,14,0,14,14,14,16,14,16,14,14,21,14,16,14,7,14,16,7,14,14,23,0,16,16,7,14,7,7,0,14,9,14,0,0,7,14,14,14,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,0,0,0,0,0,0,0,0,1,0,0,7,1,0,0,0,0,0,0,0,0,7,0,0,0,1,1,0,0,0,0,0,0,7,0,0,0,0,1,0,0,0,0,0,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,0,14,14,14,7,0,14,14,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,0,14,14,7,0,14,14,14,14,14,7,7,14,14,16,16,9,16,0,14,16,14,14,16,15,14,16,14,16,14,14,9,14,16,7,16,14,14,0,14,14,8,15,7,9,0,14,7,14,14,0,1,14,14,0,14,7,0,16,16,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,0,7,0,14,14,7,7,7,7,7,7,7,7,7,7,7,0,7,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,0,7,0,7,7,0,0,7,7,7,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,9,16,0,14,16,14,14,16,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,0,16,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,17,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,0,0,18,17,8,10,18,26,16,16,8,15,14,0,15,25,24,23,16,17,22,25,16,25,26,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,18,0,17,8,10,18,19,16,16,8,16,14,0,15,18,17,15,16,17,15,18,16,18,19,8,17,17,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,18,14,18,10,0,15,16,17,17,0,8,18,17,17,21,27,15,15,14,0,22,24,17,22,24,26,16,17,23,24,17,8,18,17,17,23,18,17,0,17,17,18,16,18,17,0,24,11,24,17,0,2,17,24,14,19,11,0,22,22,8,8,8,0,8,8,8,7,7,8,8,7,0,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,18,8,0,10,10,10,16,15,8,7,0,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,18,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,18,18,17,8,10,0,18,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,26,19,17,8,10,18,0,16,16,8,16,14,0,15,26,25,24,16,17,23,26,16,27,28,17,17,17,10,24,17,17,0,18,17,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,16,16,16,21,7,10,16,16,0,20,7,14,14,0,14,16,16,14,17,18,15,16,16,16,16,7,17,15,9,14,17,16,0,16,16,11,16,10,8,0,16,10,16,16,0,2,16,16,14,17,10,0,14,14,16,16,27,7,16,16,16,20,0,14,14,14,0,21,23,16,21,23,25,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,18,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,8,8,15,8,15,8,8,7,14,0,8,7,0,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,15,16,15,8,8,15,16,14,14,8,0,14,0,15,16,15,15,14,15,15,16,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,0,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,0,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,25,18,24,8,17,17,26,16,23,15,16,14,0,22,0,24,30,23,24,22,26,23,33,26,16,17,16,17,30,17,17,0,17,17,16,16,17,15,0,32,10,24,17,0,2,17,25,14,24,10,0,22,22,24,17,17,8,10,17,25,16,16,8,15,14,0,15,24,0,23,16,17,23,24,16,25,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,23,15,22,8,15,15,24,14,21,15,15,14,0,22,30,23,0,21,22,23,23,21,31,24,17,15,15,15,31,15,15,0,15,15,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,22,16,16,24,7,17,16,16,17,23,14,14,14,0,21,23,16,21,0,23,15,16,23,23,16,7,17,15,16,21,17,16,0,16,16,16,16,17,15,0,23,10,23,16,0,2,16,23,14,17,10,0,21,21,17,17,26,8,17,17,17,18,25,15,15,14,0,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,18,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,22,15,16,8,9,15,23,15,14,8,15,14,0,15,22,23,23,15,15,0,22,14,23,23,16,16,16,8,23,16,15,0,15,15,7,14,9,9,0,23,9,15,15,0,0,16,15,14,23,9,0,15,15,25,18,17,8,10,17,26,16,16,8,16,14,0,15,26,24,23,16,17,22,0,16,26,26,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,16,16,23,7,16,16,16,16,23,14,14,14,0,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,11,0,21,21,25,18,24,8,17,17,27,16,23,15,16,14,0,22,33,25,31,23,24,23,26,23,0,27,17,17,16,17,31,17,17,0,17,17,16,16,17,15,0,33,10,24,17,0,2,18,25,14,24,10,0,22,22,26,19,17,8,10,18,28,16,16,8,16,14,0,15,26,25,24,16,17,23,26,16,27,0,17,17,17,10,24,17,17,0,18,17,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,16,16,8,8,8,8,8,17,7,7,8,8,7,0,8,16,16,17,7,8,16,16,7,17,17,0,8,8,8,17,8,8,0,8,8,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,8,17,17,18,8,11,17,17,17,16,8,15,14,0,15,17,17,15,17,17,16,17,16,17,17,8,0,16,10,15,18,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,18,11,0,15,15,16,17,17,8,9,16,17,15,14,8,16,14,0,15,16,15,15,15,15,16,16,14,16,17,8,16,0,8,16,16,15,0,16,15,7,14,9,11,0,16,9,15,15,0,1,16,16,16,18,9,0,15,18,10,10,17,8,17,10,10,9,16,15,8,7,0,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,23,15,23,8,15,15,24,14,21,15,15,14,0,22,30,23,31,21,22,23,23,21,31,24,17,15,16,15,0,15,15,0,15,15,14,14,15,16,0,31,8,22,15,0,0,16,22,14,23,8,0,22,22,17,17,18,8,11,17,17,17,16,8,15,14,0,15,17,17,15,17,17,16,17,16,17,17,8,18,16,10,15,0,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,18,11,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,8,10,18,18,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,9,9,18,7,16,9,9,11,18,14,7,7,0,14,16,9,14,16,18,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,0,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,18,8,18,10,10,10,16,15,8,7,0,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,0,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,9,9,17,8,16,9,9,8,14,15,8,7,0,15,15,8,15,15,15,9,8,14,15,9,8,9,11,15,16,9,8,0,9,8,14,7,16,0,0,16,2,15,8,0,1,9,15,7,11,9,0,15,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,18,24,8,17,18,27,16,23,15,15,14,0,22,32,25,31,23,24,23,25,23,33,27,17,17,16,17,31,17,17,0,18,17,16,16,17,16,0,0,10,24,17,0,3,19,24,14,25,10,0,22,23,10,10,11,1,4,10,10,10,9,1,8,7,0,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,17,17,24,8,17,17,17,16,23,15,15,14,0,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,0,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,18,18,17,8,10,18,19,16,16,8,15,14,0,15,17,18,16,16,17,16,17,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,17,18,24,8,17,17,18,16,23,15,16,14,0,22,25,17,22,23,24,15,18,23,25,18,8,17,16,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,14,14,14,7,7,14,14,14,14,7,14,14,0,14,14,14,14,14,14,14,14,14,14,14,7,14,16,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,16,25,18,19,8,11,18,25,17,16,8,15,14,0,15,24,24,22,17,17,23,24,16,24,25,15,18,18,10,23,18,17,0,18,17,9,16,11,11,0,25,11,17,17,0,3,18,17,14,0,11,0,15,16,10,10,11,8,11,10,10,10,9,8,8,7,0,8,10,10,8,10,10,9,10,11,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,0,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,16,16,22,8,15,16,16,14,21,15,15,14,0,22,22,15,22,21,22,15,15,21,22,16,8,15,18,15,22,15,15,0,16,15,14,14,15,16,0,23,8,22,15,0,1,16,22,16,16,8,0,22,0,0,16,16,8,8,15,15,15,14,9,23,14,15,0,18,15,16,15,15,22,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,16,17,14,17,14,0,15,15,16,0,15,8,8,15,15,14,14,9,16,14,15,0,15,15,15,15,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,16,15,14,15,9,0,15,15,16,15,0,9,15,15,15,16,22,16,16,14,22,0,23,15,24,22,22,15,15,21,22,15,8,15,15,15,23,16,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,9,0,23,22,8,8,9,0,15,15,8,15,15,16,16,7,8,0,8,8,9,8,15,8,8,7,8,8,8,15,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,16,8,8,8,15,15,0,15,8,14,21,22,15,7,15,0,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,15,15,15,15,15,0,16,21,21,16,22,15,15,0,16,15,16,14,22,15,15,14,16,16,9,22,15,8,16,15,15,0,16,16,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,16,15,15,15,8,8,16,0,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,15,14,16,15,14,21,14,0,22,15,22,14,14,0,15,14,16,15,21,14,14,14,14,14,7,21,14,7,15,15,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,22,14,14,14,22,15,21,21,14,22,0,22,22,14,21,0,21,14,22,22,28,14,14,21,21,14,7,21,14,14,22,15,14,0,14,14,14,21,21,14,0,21,14,21,14,0,0,14,21,21,14,8,0,29,21,9,9,16,16,22,16,9,15,22,0,19,10,15,0,16,8,19,16,22,10,8,14,16,9,11,15,10,15,19,9,8,0,9,9,14,14,22,17,0,15,8,15,8,0,0,9,15,16,8,10,0,25,18,23,16,16,16,15,22,15,22,22,19,0,16,15,0,17,15,18,16,22,24,15,14,15,15,10,22,17,10,18,16,15,0,15,15,7,23,15,10,0,15,15,15,15,0,2,16,17,23,17,15,0,25,17,14,14,14,7,7,15,15,14,14,10,16,0,14,0,15,14,17,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,15,15,22,8,15,15,15,14,21,15,15,14,0,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,15,23,8,15,16,16,15,21,16,17,15,22,0,0,15,24,21,22,17,15,21,23,16,9,15,15,17,23,15,15,0,16,16,14,16,15,15,0,22,8,22,15,0,2,15,24,14,17,10,0,22,23,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,0,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,16,15,24,9,15,16,16,16,22,19,18,17,22,0,24,15,0,22,22,17,15,21,23,16,11,15,17,15,26,16,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,25,25,15,15,22,8,14,14,14,15,22,16,16,14,21,0,21,14,22,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,15,21,14,14,9,0,22,21,15,15,22,15,22,22,15,21,28,22,22,14,22,0,22,15,22,21,0,15,15,21,22,15,8,22,15,15,22,15,15,0,15,15,14,21,22,15,0,22,15,22,15,0,0,15,22,21,15,8,0,29,22,22,15,15,8,8,15,15,14,14,10,24,16,15,0,17,15,17,14,15,0,15,14,15,15,10,15,17,10,17,15,15,0,15,15,7,16,8,10,0,15,8,15,15,0,2,15,17,16,17,13,0,17,17,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,14,14,21,7,14,14,14,14,21,14,14,14,21,0,21,14,21,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,21,15,15,22,8,15,16,16,14,21,16,15,15,22,0,23,15,23,21,22,15,15,21,0,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,23,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,0,9,15,15,8,16,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,8,8,8,8,8,9,9,7,7,11,10,10,8,0,9,8,11,7,8,10,8,7,9,9,0,8,10,8,11,8,8,0,9,9,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,11,15,15,15,15,15,22,15,21,21,15,22,14,15,0,15,15,15,14,22,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,15,15,15,15,8,8,15,15,14,14,10,17,16,15,0,15,15,17,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,17,10,8,15,8,15,8,8,7,14,15,10,7,15,0,17,8,15,14,15,10,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,9,15,15,0,15,1,15,8,0,2,8,17,7,10,10,0,15,15,15,15,23,9,15,16,16,15,22,19,18,17,22,0,23,15,26,22,22,17,15,21,23,16,11,15,17,15,0,16,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,25,25,15,15,16,9,8,15,15,15,15,9,16,14,15,0,15,15,16,15,15,15,15,14,15,15,8,15,15,8,16,0,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,9,0,16,15,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,7,7,14,7,14,7,7,7,14,14,7,7,14,0,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,16,14,14,14,14,21,14,21,21,14,23,14,14,0,16,14,14,14,21,16,14,14,14,14,7,21,14,9,14,14,14,0,14,14,7,0,14,7,0,14,14,14,14,0,2,14,16,21,16,9,0,21,14,8,8,15,15,22,15,8,14,21,22,15,7,15,0,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,0,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,8,8,15,8,15,8,8,7,14,17,10,9,15,0,15,8,17,14,15,10,8,14,15,8,10,8,10,15,17,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,9,8,8,0,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,22,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,15,22,14,15,8,0,22,22,8,8,8,8,8,15,8,14,14,8,15,7,8,0,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,15,8,15,15,22,8,15,15,15,14,21,15,15,14,22,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,22,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,0,0,16,16,15,8,8,15,15,14,14,9,16,14,15,0,15,15,15,15,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,0,15,14,15,9,0,15,15,17,15,22,8,15,15,15,14,21,15,17,14,22,0,24,15,22,21,22,17,15,21,22,15,8,15,15,17,22,15,15,0,15,15,14,16,15,15,0,22,8,22,15,0,2,15,0,14,17,10,0,22,22,14,14,14,14,14,21,14,21,21,16,23,16,14,0,14,14,16,14,21,16,14,14,14,14,9,21,16,7,16,14,14,0,14,14,7,21,14,9,0,14,14,14,14,0,0,14,14,0,14,7,0,23,16,17,15,15,8,8,15,15,14,14,8,17,14,15,0,17,15,15,14,15,17,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,17,14,0,10,0,15,15,14,9,9,9,8,8,8,8,8,10,15,7,8,0,10,8,9,9,8,13,8,7,8,8,8,8,8,10,9,9,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,9,10,7,10,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,23,16,22,22,15,22,29,25,25,16,22,0,22,15,25,22,29,17,15,21,22,15,10,22,17,15,25,16,15,0,15,15,14,21,22,17,0,22,15,22,15,0,0,15,22,23,15,9,0,0,24,15,15,22,8,15,16,16,14,21,18,17,17,22,0,23,15,25,21,22,17,15,21,23,16,11,15,17,15,25,15,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,8,0,24,0,0,17,18,8,10,17,25,18,16,8,17,14,25,18,0,24,24,17,18,24,26,16,25,25,16,17,15,12,23,17,17,0,17,18,9,18,10,8,0,26,10,18,17,0,4,17,19,14,26,12,0,15,15,17,0,17,8,10,17,18,16,16,8,16,14,18,15,0,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,18,14,17,10,0,15,15,18,17,0,8,17,18,19,17,24,15,16,14,24,23,0,19,25,23,24,16,17,23,24,18,9,18,15,17,22,18,17,0,17,17,16,16,17,15,0,24,10,24,18,0,2,17,24,14,17,10,0,22,22,8,8,8,0,8,8,8,7,7,8,8,7,8,8,0,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,0,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,17,17,18,8,10,0,19,16,17,9,16,15,17,16,0,18,17,16,17,15,17,16,18,19,10,17,15,10,16,17,17,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,25,18,19,8,10,19,0,16,17,9,17,15,26,16,0,26,26,16,17,23,26,16,27,28,18,18,16,10,24,18,17,0,18,18,9,16,10,8,0,25,10,17,18,0,2,17,18,14,24,10,0,15,16,18,16,17,7,9,16,16,0,16,7,14,14,16,15,0,16,15,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,16,16,24,7,16,17,17,16,0,14,15,14,23,21,0,17,22,23,23,14,16,23,23,17,8,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,8,8,15,8,15,9,9,7,14,0,8,8,15,16,0,8,16,14,15,8,8,14,16,9,9,8,8,15,16,8,8,0,9,9,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,16,17,16,16,8,8,16,17,14,15,8,0,14,16,17,0,16,16,14,15,17,16,14,16,17,9,15,16,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,18,14,17,10,0,15,15,14,14,14,7,7,15,15,14,14,8,14,0,14,15,0,14,15,14,14,14,14,14,15,15,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,25,18,24,8,17,17,26,16,23,15,16,14,0,22,0,24,30,23,24,22,26,23,33,26,16,17,16,17,30,17,17,0,17,17,16,16,17,15,0,32,10,24,17,0,2,17,25,14,24,10,0,22,22,18,15,23,8,15,16,16,15,21,16,17,15,22,0,0,15,24,21,22,17,15,21,23,16,9,15,15,17,23,15,15,0,16,16,14,16,15,15,0,22,8,22,15,0,2,15,24,14,17,10,0,22,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,19,8,10,18,26,16,17,8,16,14,24,15,0,0,24,16,17,23,24,16,24,25,16,18,15,10,22,18,17,0,17,17,9,16,10,8,0,24,10,17,18,0,2,17,17,14,24,10,0,15,15,24,15,25,8,15,17,26,15,22,16,16,15,30,24,0,24,0,21,22,23,23,21,31,25,18,16,15,15,31,16,15,0,16,16,14,14,15,15,0,30,8,22,16,0,0,15,22,14,22,8,0,22,23,17,16,23,7,16,16,16,17,23,14,14,14,23,21,0,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,24,9,24,16,0,2,16,23,14,16,9,0,21,21,18,17,24,8,17,17,17,17,23,15,15,14,24,22,0,17,22,24,0,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,25,17,0,2,17,24,14,17,10,0,22,22,24,15,16,8,8,15,23,14,14,8,17,14,22,17,0,23,23,14,15,0,22,14,22,22,15,16,15,10,22,16,15,0,15,15,7,16,8,8,0,22,8,15,16,0,2,15,17,14,24,10,0,15,15,26,18,17,8,10,17,26,17,16,8,16,14,26,15,0,24,23,17,18,22,0,16,26,26,16,17,16,10,23,17,17,0,17,18,9,16,10,8,0,26,10,18,17,0,2,17,18,14,24,10,0,15,15,16,16,23,7,16,16,16,16,23,14,14,14,23,21,0,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,25,18,24,8,17,18,27,16,23,16,16,15,33,23,0,24,31,23,24,22,26,23,0,27,17,17,16,17,31,17,17,0,18,18,16,16,17,15,0,32,10,24,17,0,2,17,25,14,24,10,0,22,23,25,18,18,8,10,19,28,16,17,9,17,15,26,16,0,25,25,16,17,22,26,16,27,0,18,17,16,10,24,17,17,0,18,18,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,16,16,8,9,8,8,10,18,7,8,9,9,8,16,9,0,16,18,7,8,15,16,7,17,18,0,8,8,8,17,8,8,0,9,9,7,7,8,8,0,16,1,8,8,0,0,8,8,7,15,8,0,8,9,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,15,16,15,8,8,15,16,14,14,8,16,14,16,15,0,15,15,14,15,15,16,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,12,10,17,8,17,10,10,9,16,15,10,7,17,17,0,10,15,16,17,10,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,11,17,15,0,17,3,17,10,0,4,10,19,7,12,12,0,15,15,23,15,22,8,15,16,24,14,21,16,15,15,30,23,0,22,31,21,22,22,23,21,31,24,17,15,15,15,0,15,15,0,16,16,14,14,15,15,0,30,8,22,15,0,0,15,22,14,22,8,0,22,23,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,0,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,3,17,18,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,18,18,16,16,9,15,15,17,16,0,17,16,16,17,15,17,16,18,18,9,17,15,10,16,17,17,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,18,17,17,8,10,18,18,17,16,9,15,15,17,16,0,17,16,17,18,15,18,16,18,18,9,17,15,10,16,17,17,0,18,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,16,9,9,16,7,16,9,9,9,16,14,7,7,16,14,0,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,18,16,16,7,9,16,16,16,16,7,16,14,16,16,0,16,14,16,16,16,16,16,16,16,7,16,14,11,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,4,16,18,14,18,11,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,0,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,0,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,17,24,8,17,17,25,17,23,15,15,14,32,22,0,24,30,24,25,22,26,23,32,25,16,17,15,17,30,17,17,0,17,18,16,16,17,15,0,0,10,25,17,0,2,17,24,14,24,10,0,22,22,10,10,10,1,3,10,10,9,9,1,8,7,10,8,0,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,18,17,24,8,17,17,17,17,23,15,15,14,24,22,0,17,22,24,25,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,2,0,2,2,2,2,2,0,2,0,2,2,0,2,0,2,2,2,2,2,2,2,0,2,0,4,0,2,3,0,2,2,2,4,2,0,0,2,2,2,2,0,0,2,5,0,4,4,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,0,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,19,18,24,8,17,17,18,16,23,15,18,14,25,24,0,17,22,23,24,17,18,23,25,18,8,17,16,19,22,17,18,0,17,17,16,18,17,15,0,24,10,24,17,0,5,17,0,14,19,12,0,22,22,14,14,14,7,7,14,14,14,14,7,14,14,14,14,0,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,26,17,17,8,10,17,24,16,16,8,17,14,24,17,0,24,22,16,17,24,24,16,24,24,15,17,15,12,22,17,17,0,17,17,9,18,10,8,0,24,10,17,17,0,4,17,19,14,0,12,0,15,15,12,10,10,8,10,10,10,9,9,8,10,7,10,10,0,10,8,9,10,10,10,9,10,10,8,10,8,12,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,12,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,0,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,15,15,22,8,15,16,16,14,21,16,15,15,22,23,0,15,23,21,22,15,15,21,23,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,0,18,18,9,10,24,24,24,17,8,22,14,24,15,24,0,23,16,18,22,25,16,24,24,22,18,22,10,22,24,18,0,25,25,9,23,10,8,0,25,10,17,17,0,2,25,17,21,31,17,0,16,15,18,0,17,9,10,17,17,16,17,8,15,14,17,15,17,0,15,16,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,18,17,0,8,10,18,19,17,17,8,16,14,17,15,19,0,18,16,17,16,17,16,17,18,9,19,15,10,15,18,18,0,18,18,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,16,15,9,9,8,0,9,8,8,7,8,8,9,7,8,8,8,0,8,7,9,8,9,7,8,8,8,9,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,9,8,7,8,8,0,9,8,10,10,10,9,0,10,12,9,9,8,9,9,10,8,10,0,8,11,10,8,10,9,12,10,8,11,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,9,8,24,17,18,8,10,0,18,23,17,8,23,14,17,15,18,0,16,16,17,15,17,16,17,18,16,17,22,10,15,24,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,24,17,19,8,12,18,0,16,17,8,16,16,25,15,26,0,25,18,17,24,24,16,27,26,17,18,17,10,23,18,19,0,19,19,9,16,10,8,0,25,12,17,20,0,2,18,17,14,24,10,0,15,15,24,16,17,7,9,23,16,0,16,7,21,14,16,14,16,0,15,16,16,14,16,16,16,16,14,17,21,9,14,23,17,0,24,24,9,23,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,15,14,17,17,17,8,9,17,17,16,0,7,15,14,16,14,17,0,15,16,17,14,17,16,16,17,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,0,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,22,15,16,9,9,23,16,21,15,8,0,14,15,15,16,0,16,14,15,15,15,14,15,16,16,16,22,8,15,22,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,16,15,14,14,14,7,9,14,16,14,14,7,14,0,14,14,14,0,14,16,14,14,14,14,16,14,7,14,16,7,14,14,16,0,16,16,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,14,24,17,17,8,10,17,25,16,16,8,15,14,0,15,24,0,23,16,17,23,24,16,25,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,0,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,24,17,19,8,10,18,26,16,17,8,16,14,24,15,0,0,24,16,17,23,24,16,24,25,16,18,15,10,22,18,17,0,17,17,9,16,10,8,0,24,10,17,18,0,2,17,17,14,24,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,15,18,8,8,16,25,15,15,8,16,14,23,15,24,0,0,16,15,24,22,14,23,24,17,17,15,8,23,16,16,0,16,16,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,16,15,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,0,16,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,0,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,22,15,16,8,8,15,24,14,14,8,15,14,23,15,23,0,24,14,15,0,22,14,23,23,16,16,15,8,23,16,15,0,15,15,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,15,15,25,18,17,9,10,17,24,16,17,8,15,14,24,15,24,0,22,16,18,22,0,16,24,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,0,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,24,17,17,8,12,17,27,16,16,8,15,16,25,15,24,0,23,18,17,23,24,16,0,25,16,17,17,10,23,17,19,0,19,19,9,16,10,8,0,25,12,17,19,0,2,18,17,14,24,10,0,15,15,24,17,18,8,10,18,26,16,17,8,16,14,25,15,25,0,24,16,17,23,24,16,25,0,17,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,22,8,9,8,8,16,17,14,8,8,16,7,16,8,16,0,17,7,8,16,15,7,16,17,0,8,15,8,16,15,8,0,15,15,7,14,8,8,0,16,1,8,8,0,0,16,8,14,22,15,0,8,8,18,17,19,9,11,17,18,17,16,8,16,14,17,15,18,0,17,16,17,16,17,16,17,17,8,0,15,10,15,18,18,0,18,18,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,17,15,22,15,15,8,10,22,17,21,14,8,22,16,15,15,15,0,15,16,15,15,15,14,17,15,15,15,0,8,15,22,17,0,24,24,7,21,8,8,0,15,10,15,17,0,0,22,15,21,22,15,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,0,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,0,23,14,15,23,22,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,16,15,14,22,8,0,15,15,24,17,18,8,10,24,18,23,16,8,22,14,17,15,18,0,16,16,17,16,17,16,17,17,15,18,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,18,0,2,24,17,21,24,17,0,15,15,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,0,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,20,20,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,17,18,8,12,24,19,24,16,8,22,16,17,15,17,0,16,18,17,15,17,16,19,17,15,18,24,10,15,24,20,0,0,27,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,15,25,17,18,8,12,24,19,24,16,8,22,16,17,15,17,0,16,18,17,15,17,16,19,17,15,18,24,10,15,24,20,0,27,0,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,0,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,0,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,0,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,0,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,9,10,17,25,16,17,8,15,14,25,15,24,0,23,16,18,23,25,16,25,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,19,17,14,24,10,0,15,15,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,0,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,0,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,18,8,12,17,20,16,16,8,15,16,17,15,18,0,16,18,17,16,17,16,19,17,8,18,17,10,15,18,19,0,19,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,0,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,25,18,17,9,10,24,18,23,17,8,22,14,18,15,17,0,16,16,18,16,18,16,18,18,16,17,22,10,16,24,17,0,24,24,9,23,10,8,0,19,10,17,17,0,2,0,17,21,24,17,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,0,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,0,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,31,17,17,8,10,24,24,23,16,8,22,14,24,15,24,0,22,16,17,22,24,16,24,24,22,17,22,10,22,24,17,0,24,24,9,23,10,8,0,24,10,17,17,0,2,24,17,21,0,17,0,15,15,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,0,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,9,9,15,15,15,14,8,16,14,15,15,15,0,16,14,15,15,15,14,15,15,8,17,15,8,15,15,16,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,0,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,15,17,8,8,15,23,16,14,8,15,14,23,16,24,23,0,14,15,22,23,14,23,23,16,16,15,8,23,15,16,0,16,16,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,16,15,15,0,15,8,8,15,15,14,14,8,15,14,15,15,15,15,0,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,15,0,9,15,16,17,17,23,16,17,14,22,24,25,18,0,22,22,16,15,21,22,16,9,17,15,15,23,17,16,0,16,16,14,14,15,15,0,22,8,22,16,0,0,15,22,14,15,9,0,24,22,8,8,9,0,8,10,8,8,8,9,9,7,8,9,8,8,0,8,8,8,10,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,10,1,8,8,0,0,8,8,7,8,9,0,9,10,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,15,15,16,10,8,0,17,14,15,9,16,15,15,16,17,16,0,14,15,15,17,14,16,17,10,15,15,8,16,15,15,0,16,16,7,14,8,8,0,17,8,15,15,0,0,15,15,14,15,8,0,15,18,23,15,17,8,8,17,0,14,15,9,16,15,24,16,26,25,0,14,15,24,23,14,25,26,19,16,15,8,25,16,15,0,16,16,7,14,8,8,0,24,8,15,16,0,0,16,15,14,22,8,0,15,16,16,14,17,8,7,14,14,0,15,8,15,14,14,16,15,15,0,15,14,14,14,14,14,14,7,15,14,7,15,15,15,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,8,0,16,14,14,14,23,8,14,15,15,15,0,15,16,14,21,22,22,15,0,22,21,14,14,21,21,15,8,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,8,8,16,9,15,9,9,8,15,0,11,10,15,19,16,8,0,15,15,10,8,14,16,9,11,8,10,15,19,9,8,0,9,9,14,7,15,17,0,15,1,15,8,0,0,8,15,9,8,9,0,18,18,15,15,17,9,8,16,16,15,16,11,0,16,15,18,16,16,0,15,15,17,15,14,15,16,11,15,17,8,18,16,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,9,0,18,17,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,0,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,23,15,22,8,15,15,24,14,21,15,15,14,0,22,30,23,0,21,22,23,23,21,31,24,17,15,15,15,31,15,15,0,15,15,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,22,16,15,24,9,15,16,16,16,22,19,18,17,22,0,24,15,0,22,22,17,15,21,23,16,11,15,17,15,26,16,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,25,25,24,15,25,8,15,17,26,15,22,16,16,15,30,24,0,24,0,21,22,23,23,21,31,25,18,16,15,15,31,16,15,0,16,16,14,14,15,15,0,30,8,22,16,0,0,15,22,14,22,8,0,22,23,23,15,18,8,8,16,25,15,15,8,16,14,23,15,24,0,0,16,15,24,22,14,23,24,17,17,15,8,23,16,16,0,16,16,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,16,0,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,0,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,22,15,16,8,8,15,24,14,14,10,17,16,23,17,23,24,0,14,15,0,22,14,23,23,18,16,17,8,25,16,15,0,15,15,7,14,8,10,0,23,8,15,16,0,0,16,15,16,22,8,0,17,17,23,15,15,10,8,17,23,14,14,8,15,14,23,15,23,22,0,14,15,22,0,14,23,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,25,8,15,15,0,0,15,15,14,22,8,0,15,17,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,0,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,21,23,15,22,8,15,16,25,14,21,16,15,15,31,23,31,23,0,21,22,23,23,21,0,25,18,15,15,15,32,15,15,0,16,16,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,23,23,15,16,8,8,17,26,14,15,9,16,15,24,16,25,24,0,14,15,23,23,14,25,0,19,15,15,8,25,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,16,8,9,8,8,10,19,7,8,11,11,10,17,11,18,17,0,7,8,18,16,7,18,19,0,8,10,8,20,8,8,0,9,9,7,7,8,10,0,17,1,8,8,0,0,9,8,9,15,8,0,10,11,16,15,17,8,8,15,16,15,14,8,15,14,15,15,16,17,0,14,15,16,15,14,15,15,8,0,15,8,15,16,16,0,16,16,7,14,8,8,0,15,8,15,16,0,0,15,15,14,15,8,0,16,15,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,0,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,17,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,23,15,23,9,15,16,25,15,22,19,18,17,31,26,31,23,0,22,22,25,23,21,32,25,20,15,17,15,0,16,15,0,16,16,14,14,15,17,0,31,8,22,15,0,0,16,22,16,22,9,0,25,25,15,15,17,9,8,15,16,15,15,9,16,14,15,16,16,16,0,15,15,16,15,14,15,15,8,16,15,8,16,0,15,0,15,15,7,14,8,8,0,15,8,15,16,0,0,15,15,14,15,9,0,16,15,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,0,14,15,15,15,14,15,15,8,16,15,8,15,15,0,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,8,8,16,16,15,14,9,15,15,15,16,16,16,0,14,15,15,15,14,16,16,9,16,15,8,16,15,16,0,0,17,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,16,16,15,16,8,8,16,16,15,14,9,15,15,15,16,16,16,0,14,15,15,15,14,16,16,9,16,15,8,16,15,16,0,17,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,16,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,0,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,0,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,0,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,8,8,15,8,15,8,8,7,14,17,10,9,15,17,15,8,0,14,15,10,8,14,15,8,10,8,10,15,17,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,9,8,8,0,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,15,22,10,15,17,24,14,21,15,15,14,31,22,30,23,0,21,22,23,25,21,31,24,17,15,15,15,31,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,16,22,14,22,8,0,22,24,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,0,7,8,8,8,7,8,8,1,8,8,1,8,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,8,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,22,15,15,16,8,8,15,16,14,14,8,15,14,15,15,16,16,0,14,15,16,15,14,15,15,8,16,15,8,15,16,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,16,14,14,8,15,14,16,15,15,16,0,14,15,16,15,14,16,16,9,15,15,8,16,15,15,0,15,15,7,14,8,8,0,16,8,15,15,0,0,0,15,14,15,8,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,22,14,14,14,7,7,14,14,14,14,9,16,16,14,16,14,14,0,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,16,22,15,15,8,8,15,22,14,14,8,15,14,22,15,22,22,0,14,15,22,22,14,22,22,15,15,15,8,22,15,15,0,15,15,7,14,8,8,0,22,8,15,15,0,0,15,15,14,0,8,0,15,15,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,0,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,24,9,15,15,15,16,22,18,18,16,22,25,22,16,0,22,22,17,15,21,22,15,10,16,17,15,25,16,16,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,0,24,15,15,22,10,15,18,16,14,21,18,17,17,22,25,23,15,0,21,22,17,17,21,23,16,11,15,17,15,25,15,15,0,16,16,14,14,15,17,0,24,8,22,15,0,0,15,22,16,15,8,0,24,0,0,17,16,7,9,16,16,17,16,8,15,14,16,15,17,16,14,0,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,17,16,14,16,10,0,14,14,17,0,16,7,9,16,16,16,16,8,15,14,16,15,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,17,16,14,16,10,0,14,14,16,16,0,8,17,16,16,18,24,15,15,14,24,22,23,16,22,0,23,15,16,23,23,16,7,17,15,16,22,18,16,0,16,16,16,16,17,15,0,23,10,23,16,0,2,16,23,14,17,11,0,22,21,7,7,8,0,7,7,7,8,8,8,8,7,7,8,7,7,8,0,7,7,7,7,7,7,7,7,7,7,8,8,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,8,0,8,7,9,9,17,7,0,9,11,10,16,14,7,9,17,14,16,11,14,0,16,8,9,16,18,9,7,10,10,16,14,10,11,0,11,11,16,9,17,15,0,16,5,16,11,0,2,9,16,7,10,10,0,14,14,16,16,16,7,9,0,16,16,16,7,14,14,16,14,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,11,16,0,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,17,16,18,8,10,16,16,0,18,8,15,15,17,15,17,16,15,0,17,15,17,17,16,16,7,17,15,9,15,18,16,0,16,17,10,17,10,8,0,17,10,17,16,0,3,16,16,15,17,11,0,15,14,16,16,24,8,16,16,16,18,0,15,15,15,23,22,23,16,22,0,23,14,16,24,23,16,7,16,14,16,22,17,16,0,16,16,17,17,16,15,0,23,9,24,16,0,3,16,23,15,16,10,0,22,21,8,8,15,8,14,7,7,8,15,0,9,7,14,16,14,7,15,0,14,7,7,14,14,7,7,7,7,14,15,8,7,0,7,7,14,7,14,14,0,14,0,14,7,0,0,8,14,7,7,9,0,15,14,15,15,15,8,7,14,14,15,15,9,0,14,14,16,14,14,15,0,14,14,14,14,14,14,7,14,14,7,15,15,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,15,14,14,14,9,0,15,14,14,14,14,7,9,14,16,15,15,7,14,0,14,14,14,16,14,0,14,14,14,15,16,14,7,14,16,7,14,14,16,0,16,16,8,15,7,7,0,14,9,14,16,0,1,14,14,15,14,7,0,14,14,16,16,24,7,17,16,16,17,23,14,14,14,0,21,23,16,21,0,23,15,16,23,23,16,7,17,15,16,21,17,16,0,16,16,16,16,17,15,0,23,10,23,16,0,2,16,23,14,17,10,0,21,21,15,15,22,8,14,14,14,15,22,16,16,14,21,0,21,14,22,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,15,21,14,14,9,0,22,21,17,16,23,7,16,16,16,17,23,14,14,14,23,21,0,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,24,9,24,16,0,2,16,23,14,16,9,0,21,21,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,0,16,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,16,0,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,16,23,7,16,16,16,17,23,14,14,14,23,21,24,16,21,0,0,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,24,9,24,16,0,2,16,23,14,16,9,0,21,21,14,14,15,7,8,14,14,15,14,7,14,14,15,14,14,14,14,0,14,0,14,14,14,14,7,15,15,7,14,15,14,0,14,14,7,14,8,8,0,14,8,14,14,0,0,14,14,14,15,8,0,14,14,17,16,16,7,9,16,16,17,16,7,14,14,16,14,17,16,14,0,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,16,16,23,7,16,16,16,17,24,14,14,15,23,21,23,16,21,0,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,17,17,16,14,0,23,9,23,16,0,3,16,23,15,16,9,0,21,21,16,16,23,7,18,16,18,16,23,14,14,16,23,21,23,18,21,0,23,14,16,23,0,16,7,16,16,16,21,16,18,0,18,18,16,16,16,14,0,23,11,23,18,0,2,16,23,14,16,9,0,21,21,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,0,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,16,16,17,7,10,16,16,17,16,7,14,14,17,14,16,16,14,0,16,15,16,16,16,16,7,0,15,9,14,17,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,17,10,0,14,14,14,14,15,7,10,14,16,15,14,7,14,16,15,14,14,16,14,0,14,15,14,14,16,14,7,15,0,7,14,15,16,0,16,16,7,14,8,8,0,14,10,14,16,0,0,14,14,14,15,8,0,14,14,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,0,16,7,9,16,16,9,7,9,7,0,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,14,22,0,21,14,14,21,21,14,7,14,14,14,0,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,16,16,18,8,10,16,16,18,17,8,15,14,17,15,16,16,15,0,16,15,16,16,16,16,7,17,15,9,15,0,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,17,11,0,15,14,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,0,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,0,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,17,16,16,7,11,16,18,17,16,7,14,16,16,14,17,18,14,0,17,14,17,16,18,16,7,16,16,9,14,16,18,0,18,0,9,16,9,7,0,17,11,17,18,0,2,16,16,14,16,9,0,14,14,9,9,16,7,16,9,9,10,17,14,7,8,16,14,16,9,14,0,16,7,9,17,16,9,7,9,7,16,14,9,9,0,9,9,0,10,16,14,0,16,2,16,9,0,3,9,16,8,9,9,0,14,14,16,16,16,7,9,16,16,17,17,7,14,15,16,14,16,16,14,0,16,14,16,17,16,16,7,16,14,9,14,16,16,0,16,16,10,0,9,7,0,16,9,16,16,0,3,16,16,16,16,9,0,14,14,9,9,17,7,17,9,9,10,16,14,7,7,17,14,16,9,14,0,16,8,9,16,16,9,7,10,8,16,14,10,9,0,9,9,16,9,0,15,0,16,3,16,9,0,2,9,16,7,10,10,0,14,14,7,7,15,7,15,7,7,8,15,14,7,7,15,14,14,7,14,0,14,8,7,14,14,7,7,8,8,14,14,8,7,0,7,7,14,7,15,0,0,14,1,15,7,0,0,7,14,7,8,8,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,16,23,7,16,16,16,17,23,14,14,14,23,21,24,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,0,9,24,16,0,2,16,23,14,16,9,0,21,21,9,9,10,0,5,9,11,10,9,0,7,9,10,7,9,11,7,0,9,8,9,9,11,9,0,10,10,2,7,10,11,0,11,11,2,9,3,1,0,9,0,9,11,0,2,9,9,7,10,3,0,7,7,17,16,23,7,16,16,16,17,24,14,14,14,23,21,24,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,15,0,24,9,0,16,0,2,16,23,14,16,9,0,21,21,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,0,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,3,3,0,0,1,2,0,2,2,0,0,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,17,17,16,7,9,16,16,16,16,8,15,14,16,15,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,0,16,14,16,10,0,14,14,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,0,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,0,14,16,9,0,21,21,14,14,14,7,7,14,14,15,15,7,14,15,14,14,14,14,14,0,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,16,7,7,0,14,7,14,14,0,1,14,14,0,14,7,0,14,14,16,16,17,7,10,16,16,17,16,7,14,14,17,14,16,16,14,0,16,15,16,16,16,16,7,17,15,9,14,17,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,0,10,0,14,14,10,10,11,8,10,9,9,11,10,9,9,7,10,9,9,9,8,0,9,8,9,9,9,9,7,10,8,9,8,11,9,0,9,9,9,9,10,8,0,9,3,9,9,0,2,10,9,7,10,0,0,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,14,22,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,0,21,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,21,0,21,14,14,21,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,0,18,17,9,10,17,17,17,17,8,15,14,17,15,18,18,15,17,0,15,19,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,19,10,18,17,0,2,18,17,14,17,10,0,15,15,18,0,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,17,17,0,8,17,17,17,18,25,15,15,14,26,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,18,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,9,9,8,0,15,15,8,14,15,15,15,7,8,15,8,9,8,7,0,8,9,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,15,8,0,9,8,8,8,0,0,9,8,14,8,8,0,15,8,10,10,17,15,0,17,10,16,23,22,15,7,17,22,17,10,15,16,0,8,10,16,17,10,8,17,8,17,15,10,10,0,10,10,16,16,24,15,0,17,10,17,10,0,2,10,17,14,10,10,0,22,15,17,17,17,15,17,0,17,24,23,17,22,14,17,22,17,17,15,16,0,15,17,16,17,17,8,24,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,17,17,17,8,10,17,0,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,16,18,14,16,24,16,0,25,15,21,14,18,21,17,16,14,17,0,14,17,16,16,16,7,23,14,9,14,16,16,0,16,17,11,23,16,7,0,17,16,17,16,0,2,16,16,21,16,9,0,21,14,17,17,25,15,23,23,16,25,0,21,21,14,25,28,23,17,21,23,0,14,17,23,23,16,7,23,14,16,21,16,16,0,16,16,18,23,23,14,0,24,16,23,16,0,2,17,23,21,16,9,0,28,21,8,8,15,15,22,17,8,15,21,0,15,7,15,22,15,8,15,14,0,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,15,15,15,15,15,22,15,21,21,15,0,14,15,22,15,15,15,14,0,15,15,14,15,15,8,22,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,0,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,17,17,26,8,17,17,17,18,25,15,15,14,0,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,18,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,15,15,22,15,22,22,15,21,28,22,22,14,22,0,22,15,22,21,0,15,15,21,22,15,8,22,15,15,22,15,15,0,15,15,14,21,22,15,0,22,15,22,15,0,0,15,22,21,15,8,0,29,22,18,17,24,8,17,17,17,17,23,15,15,14,24,22,0,17,22,24,0,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,25,17,0,2,17,24,14,17,10,0,22,22,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,0,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,17,14,17,10,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,0,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,17,16,23,7,16,16,16,17,23,14,14,14,23,21,24,16,21,0,0,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,24,9,24,16,0,2,16,23,14,16,9,0,21,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,0,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,19,18,17,9,10,17,17,17,17,8,15,14,17,15,18,18,15,17,0,15,0,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,19,10,18,17,0,2,18,17,14,17,10,0,15,15,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,0,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,0,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,0,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,17,17,17,15,17,24,17,23,23,15,22,14,17,22,17,17,15,16,0,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,0,15,15,14,15,15,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,0,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,0,15,15,21,22,15,8,15,15,15,0,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,15,9,9,18,7,16,9,9,11,18,14,7,7,18,14,16,9,14,16,0,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,16,14,16,23,16,23,23,14,21,14,16,21,16,16,14,16,0,14,16,16,16,16,7,23,14,9,14,16,16,0,16,16,9,0,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,10,10,17,15,24,17,10,16,23,22,15,7,17,22,17,10,15,16,0,8,10,16,17,10,8,17,8,17,15,10,10,0,10,10,16,16,0,15,0,17,10,17,10,0,2,10,17,14,10,10,0,22,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,0,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,18,24,9,17,17,17,17,24,15,15,14,24,22,25,18,22,24,0,15,19,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,0,10,25,17,0,2,18,24,14,17,10,0,22,22,10,10,10,8,10,17,10,16,16,8,15,7,10,15,10,10,8,9,0,8,10,9,10,10,1,17,8,3,8,10,10,0,10,10,2,16,10,1,0,10,0,10,10,0,9,10,10,14,10,3,0,15,8,18,17,24,8,17,17,17,17,23,15,15,14,24,22,25,17,22,24,0,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,0,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,9,2,2,0,0,2,2,0,2,2,0,0,0,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,14,14,14,14,14,21,14,21,21,14,21,14,14,21,14,14,14,14,0,14,14,14,14,14,7,21,14,7,14,14,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,0,14,7,0,21,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,0,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,15,22,22,15,21,28,22,22,14,22,29,22,15,22,21,0,15,15,21,22,15,8,22,15,15,22,15,15,0,15,15,14,21,22,15,0,22,15,22,15,0,0,15,22,21,15,8,0,0,22,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,0,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,0,15,15,8,8,15,22,14,14,8,22,14,22,22,24,22,22,14,15,0,22,14,22,22,15,15,15,10,22,15,15,0,15,15,7,16,8,8,0,22,8,15,15,0,2,15,17,14,24,13,0,15,15,15,0,15,15,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,22,8,22,15,8,15,15,15,0,15,15,7,14,8,8,0,15,15,15,15,0,0,15,15,14,15,8,0,15,15,15,15,0,8,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,15,8,17,16,8,15,17,15,0,15,15,7,14,9,9,0,15,9,15,16,0,0,15,15,14,16,9,0,15,15,8,15,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,0,8,7,8,15,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,8,8,8,8,0,0,8,8,7,8,8,0,8,8,8,8,9,8,0,8,8,8,7,8,8,7,9,8,8,8,8,8,8,0,8,7,8,8,8,9,9,8,8,9,8,0,8,8,7,7,9,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,15,15,15,8,8,0,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,22,15,16,8,8,15,0,14,14,8,15,14,23,15,23,24,24,14,15,0,22,14,23,23,16,16,15,8,23,16,15,0,15,15,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,15,15,14,14,15,7,8,14,14,0,14,7,14,14,15,14,14,14,14,15,14,0,14,14,14,14,7,15,15,7,14,15,14,0,14,14,7,14,8,8,0,14,8,14,14,0,0,14,14,14,15,8,0,14,14,14,14,14,7,7,14,14,14,0,7,14,14,14,14,14,14,14,14,14,0,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,8,8,8,8,8,8,8,7,7,0,10,9,8,10,8,8,10,7,8,0,8,7,8,8,10,8,10,8,10,8,8,0,8,8,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,22,15,15,8,8,15,15,14,14,10,0,16,15,24,17,15,17,14,15,0,15,14,15,15,10,15,17,10,17,15,15,0,15,15,7,16,8,10,0,15,8,15,15,0,2,15,17,16,17,13,0,17,17,14,14,14,7,7,14,14,14,14,9,16,0,14,16,14,14,16,14,14,0,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,16,22,15,16,8,9,15,23,15,14,8,15,14,0,15,22,23,23,15,15,0,22,14,23,23,16,16,16,8,23,16,15,0,15,15,7,14,9,9,0,23,9,15,15,0,0,16,15,14,23,9,0,15,15,22,15,15,8,8,15,15,14,14,10,24,16,15,0,17,15,17,14,15,0,15,14,15,15,10,15,17,10,17,15,15,0,15,15,7,16,8,10,0,15,8,15,15,0,2,15,17,16,17,13,0,17,17,24,15,16,8,8,15,23,14,14,8,17,14,22,17,0,23,23,14,15,0,22,14,22,22,15,16,15,10,22,16,15,0,15,15,7,16,8,8,0,22,8,15,16,0,2,15,17,14,24,10,0,15,15,22,15,16,8,8,15,24,14,14,8,15,14,23,15,23,0,24,14,15,0,22,14,23,23,16,16,15,8,23,16,15,0,15,15,7,14,8,8,0,23,8,15,16,0,0,16,15,14,22,8,0,15,15,22,15,16,8,8,15,24,14,14,10,17,16,23,17,23,24,0,14,15,0,22,14,23,23,18,16,17,8,25,16,15,0,15,15,7,14,8,10,0,23,8,15,16,0,0,16,15,16,22,8,0,17,17,14,14,15,7,8,14,14,15,14,7,14,14,15,14,14,14,14,0,14,0,14,14,14,14,7,15,15,7,14,15,14,0,14,14,7,14,8,8,0,14,8,14,14,0,0,14,14,14,15,8,0,14,14,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,0,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,15,15,8,8,15,22,14,14,8,15,14,22,15,22,22,22,14,15,0,0,14,22,22,15,15,15,8,22,15,15,0,15,15,7,14,8,8,0,22,8,15,15,0,0,15,15,14,22,8,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,0,14,0,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,0,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,16,15,14,22,8,0,15,15,22,22,15,15,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,23,0,16,22,15,8,23,15,15,0,15,15,7,14,8,8,0,23,15,15,15,0,0,16,15,14,22,8,0,15,15,15,8,8,8,8,8,16,7,7,10,10,9,16,10,15,16,18,7,8,0,15,7,16,16,0,8,10,8,18,8,8,0,8,8,7,7,8,10,0,16,1,8,8,0,0,9,8,9,15,8,0,10,10,15,22,17,15,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,22,8,0,16,8,15,17,15,0,15,15,7,14,9,9,0,15,16,15,16,0,0,15,15,14,16,9,0,15,15,15,15,16,8,9,15,15,15,14,10,17,16,16,17,15,15,17,15,15,0,15,14,15,15,10,16,0,8,17,16,15,0,15,15,7,14,9,11,0,15,9,15,15,0,0,15,15,16,16,9,0,17,17,10,8,8,8,8,8,8,7,7,8,10,7,8,10,10,8,8,7,8,0,8,7,8,8,8,8,8,0,8,8,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,8,10,7,10,10,0,8,8,22,15,15,8,8,15,23,14,14,10,17,16,23,17,22,23,25,14,15,0,22,14,23,23,18,15,17,8,0,15,15,0,15,15,7,14,8,10,0,23,8,15,15,0,0,16,15,16,22,8,0,17,17,15,15,17,8,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,15,8,17,16,8,15,0,15,0,15,15,7,14,9,9,0,15,9,15,16,0,0,15,15,14,16,9,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,0,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,7,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,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,16,14,14,7,7,14,14,14,14,7,16,14,14,16,16,14,14,14,14,0,14,14,14,14,7,14,14,9,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,2,14,16,14,16,9,0,14,14,8,8,9,8,9,8,8,8,7,8,8,7,9,8,8,8,8,8,8,0,8,7,8,8,8,9,9,8,8,9,8,0,8,8,7,7,0,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,8,8,9,8,9,8,8,8,7,10,10,9,9,10,8,8,10,8,8,0,8,7,8,8,10,9,11,8,10,9,8,0,8,8,7,7,9,0,0,8,2,8,8,0,0,8,8,9,9,9,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,23,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,0,8,15,15,0,0,16,15,14,22,8,0,15,15,8,15,9,8,2,8,8,8,7,1,8,7,9,8,8,8,8,8,8,0,8,7,8,15,1,16,9,1,8,9,8,0,8,8,0,7,2,2,0,8,0,8,8,0,0,8,8,7,9,2,0,8,8,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,15,15,16,8,8,15,16,14,14,8,15,14,15,15,16,16,16,14,15,0,15,14,15,15,8,16,15,8,15,16,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,0,0,15,15,15,8,8,15,16,14,14,8,15,14,16,15,15,16,16,14,15,0,15,14,16,16,9,15,15,8,16,15,15,0,15,15,7,14,8,8,0,16,8,15,15,0,0,0,15,14,15,8,0,15,15,17,15,15,8,8,15,15,14,14,8,17,14,15,17,17,15,15,14,15,0,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,0,14,17,10,0,15,15,14,14,14,7,7,14,14,14,14,9,16,16,14,16,14,14,16,14,14,0,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,16,24,15,16,8,9,15,22,15,14,8,17,14,23,17,24,22,22,15,15,0,22,14,22,22,15,16,16,10,22,16,15,0,15,15,7,16,9,9,0,22,9,15,15,0,2,15,17,14,0,11,0,15,15,13,8,9,8,9,8,8,8,7,8,13,7,9,13,10,8,8,8,8,0,8,7,8,8,8,9,9,10,8,9,8,0,8,8,7,9,9,9,0,8,2,8,8,0,2,8,10,7,11,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,0,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,0,17,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,0,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,0,0,18,17,9,10,17,25,17,17,8,15,14,25,15,26,25,23,17,19,22,0,16,25,25,16,17,15,10,23,17,17,0,17,18,9,16,10,8,0,27,10,18,17,0,2,18,17,14,24,10,0,15,15,18,0,17,9,10,17,18,16,17,8,16,14,18,15,18,18,15,16,18,15,0,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,18,18,14,17,10,0,15,15,17,17,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,9,9,8,0,8,10,8,7,8,8,8,7,8,8,8,9,10,7,9,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,11,1,8,8,0,0,9,8,7,8,8,0,8,10,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,17,17,17,10,10,0,17,16,16,8,15,14,17,15,17,17,17,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,21,10,17,17,0,2,17,17,14,17,10,0,15,17,25,18,17,8,10,17,0,16,16,8,16,21,26,15,26,24,23,16,17,22,0,16,26,26,16,17,16,10,23,17,24,0,17,17,9,16,10,8,0,25,10,17,24,0,9,17,18,14,24,10,0,15,15,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,17,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,17,16,14,16,9,0,14,14,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,15,16,15,8,8,15,16,14,14,8,0,14,16,15,16,15,15,14,15,15,0,14,16,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,7,14,21,14,14,7,14,0,14,14,14,14,14,14,14,14,0,14,14,14,7,14,14,7,14,14,21,0,14,14,7,14,7,7,0,14,7,14,21,0,7,14,14,14,14,7,0,14,14,25,18,17,8,10,17,26,16,16,8,16,14,0,15,26,24,23,16,17,22,0,16,26,26,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,26,18,17,8,10,17,26,17,16,8,16,14,26,15,0,24,23,17,18,22,0,16,26,26,16,17,16,10,23,17,17,0,17,18,9,16,10,8,0,26,10,18,17,0,2,17,18,14,24,10,0,15,15,25,18,17,9,10,17,24,16,17,8,15,14,24,15,24,0,22,16,18,22,0,16,24,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,23,15,15,10,8,17,23,14,14,8,15,14,23,15,23,22,0,14,15,22,0,14,23,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,25,8,15,15,0,0,15,15,14,22,8,0,15,17,17,16,16,7,9,16,16,17,16,7,14,14,16,14,17,16,14,0,17,14,0,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,17,16,0,2,16,16,14,16,9,0,14,14,19,18,17,9,10,17,17,17,17,8,15,14,17,15,18,18,15,17,0,15,0,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,19,10,18,17,0,2,18,17,14,17,10,0,15,15,22,15,15,8,8,15,22,14,14,8,15,14,22,15,22,22,22,14,15,0,0,14,22,22,15,15,15,8,22,15,15,0,15,15,7,14,8,8,0,22,8,15,15,0,0,15,15,14,22,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,0,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,25,18,17,8,10,17,26,16,16,8,16,14,26,15,26,24,23,16,17,22,0,16,0,26,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,25,18,17,8,10,17,26,16,16,8,16,14,26,15,26,24,23,16,17,22,0,16,26,0,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,16,8,8,8,8,8,16,7,7,8,8,7,16,8,16,15,16,7,8,15,0,7,16,16,0,8,8,8,16,8,8,0,8,8,7,7,8,8,0,16,1,8,8,0,0,8,8,7,15,8,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,16,15,8,8,15,16,14,14,8,16,14,16,15,16,15,15,14,15,15,0,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,23,15,15,8,8,15,23,14,14,8,15,14,23,15,23,22,23,14,15,22,0,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,24,16,16,8,15,21,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,24,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,0,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,0,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,18,17,11,10,21,25,17,17,8,15,14,25,15,26,25,25,17,19,22,0,16,25,25,16,17,15,10,23,17,17,0,17,18,9,16,10,8,0,0,10,18,17,0,2,18,17,14,24,10,0,15,17,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,0,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,24,16,16,8,15,21,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,24,0,17,17,9,16,10,8,0,17,10,17,0,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,9,2,2,0,0,7,2,0,2,2,0,2,2,0,0,2,2,2,0,2,0,2,0,2,9,0,2,2,2,2,2,0,0,2,2,2,9,0,0,2,2,0,2,2,0,0,0,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,17,18,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,0,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,0,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,24,17,17,8,10,17,24,16,16,8,15,14,24,15,24,24,22,16,17,22,0,16,24,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,24,10,17,17,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,15,15,10,8,17,15,14,14,8,15,14,15,15,15,15,17,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,17,8,15,15,0,0,15,15,14,15,8,0,15,0,0,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,0,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,16,16,0,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,7,7,7,0,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,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,9,9,16,7,0,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,0,16,9,7,9,7,16,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,16,7,9,0,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,0,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,0,17,7,14,15,16,14,16,16,14,17,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,10,17,9,7,0,16,9,16,16,0,3,16,16,15,16,9,0,14,14,16,16,23,7,16,16,16,17,0,14,14,16,23,21,23,16,21,24,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,17,18,16,14,0,23,9,23,16,0,3,16,23,17,16,9,0,21,21,7,9,14,7,14,7,7,7,14,0,7,7,14,14,14,7,14,14,14,7,7,0,14,7,9,9,7,14,16,9,7,0,7,7,14,7,16,16,0,14,0,16,7,0,0,9,14,9,7,7,0,16,14,14,14,14,7,7,14,14,14,14,7,0,14,14,14,14,14,14,14,14,14,14,0,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,14,14,14,7,7,14,14,15,16,7,14,0,14,14,14,14,14,15,14,14,14,0,14,14,7,14,14,7,14,14,14,0,14,14,8,15,7,7,0,14,7,14,14,0,1,14,14,16,14,7,0,14,14,16,16,23,7,16,16,16,16,23,14,14,14,0,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,11,0,21,21,14,14,21,7,14,14,14,14,21,14,14,14,21,0,21,14,21,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,21,16,16,23,7,16,16,16,16,23,14,14,14,23,21,0,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,0,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,0,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,21,16,16,23,7,16,16,16,17,24,14,14,15,23,21,23,16,21,0,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,17,17,16,14,0,23,9,23,16,0,3,16,23,15,16,9,0,21,21,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,0,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,0,14,0,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,0,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,0,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,7,9,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,0,7,7,0,9,7,7,9,9,7,0,7,7,7,7,9,9,0,7,0,9,7,0,0,9,7,9,7,7,0,9,7,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,0,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,0,14,14,7,14,0,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,0,16,9,7,9,7,0,14,9,10,1,9,9,17,10,16,14,1,16,2,17,9,1,2,9,17,8,9,9,0,14,14,14,16,21,7,14,14,14,14,21,16,14,14,21,21,21,14,21,21,21,14,14,0,21,14,9,16,14,14,0,16,14,0,14,14,14,14,16,16,0,21,7,23,14,0,0,16,21,16,14,7,0,23,21,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,0,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,10,14,16,0,1,16,16,10,17,9,7,1,16,9,17,16,1,2,16,17,15,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,0,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,0,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,9,9,16,7,16,9,9,10,17,14,7,8,16,14,16,9,14,17,16,7,9,0,16,9,7,9,7,17,14,9,10,1,9,9,0,11,16,14,1,16,2,17,9,1,3,9,17,9,9,9,0,14,14,16,16,16,7,9,16,16,17,18,7,14,15,16,14,16,16,14,17,16,14,16,0,16,16,7,16,14,10,14,16,17,1,16,16,11,0,9,7,1,16,9,17,16,1,3,16,17,17,16,9,0,14,14,9,11,16,7,16,9,9,9,16,16,7,7,16,14,16,9,14,16,16,7,9,0,16,9,9,11,7,16,16,11,9,0,9,9,16,9,0,16,0,16,2,18,9,0,2,11,16,9,9,9,0,16,14,7,9,14,7,14,7,7,7,14,16,7,7,14,14,14,7,14,14,14,7,7,0,14,7,9,9,7,14,16,9,7,0,7,7,14,7,16,0,0,14,0,16,7,0,0,9,14,9,7,7,0,16,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,0,9,23,16,0,2,16,23,14,16,9,0,21,21,9,9,9,0,2,9,9,9,9,0,7,7,9,7,9,9,7,9,9,7,9,0,9,9,0,9,7,2,7,9,9,0,9,9,2,9,2,0,0,9,0,9,9,0,2,9,9,7,9,2,0,7,7,16,18,23,7,16,16,16,16,23,16,14,14,23,21,23,16,21,23,23,14,16,0,23,16,9,18,14,17,23,18,17,1,16,16,17,17,18,16,1,23,9,0,16,1,2,18,24,17,16,9,0,23,21,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,2,2,2,0,2,2,2,3,3,0,0,1,2,0,2,2,0,3,2,0,2,0,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,0,16,16,16,9,0,16,14,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,17,21,16,17,1,16,16,17,17,16,14,1,23,9,24,16,1,2,16,0,15,16,9,0,21,21,14,16,14,7,7,14,14,15,17,9,14,16,14,14,14,14,14,15,14,14,14,0,14,14,9,16,14,8,16,16,15,1,14,14,9,17,9,9,1,14,7,17,14,1,1,16,15,0,14,7,0,16,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,0,9,0,14,14,9,9,9,7,9,9,9,9,9,7,7,7,11,7,9,9,7,9,9,7,9,0,9,9,7,9,7,9,7,9,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,16,21,7,14,14,14,14,21,16,14,14,21,21,21,14,21,21,21,14,14,0,21,14,9,16,14,14,23,16,14,0,14,14,14,14,16,16,0,21,7,23,14,0,0,16,21,16,14,7,0,0,21,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,21,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,0,17,17,8,10,17,25,16,16,8,15,14,25,15,25,24,23,16,17,22,25,16,0,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,17,14,24,10,0,15,15,17,0,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,0,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,18,14,17,10,0,15,15,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,0,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,17,8,0,10,12,9,16,15,8,9,17,15,17,12,15,18,17,8,10,16,0,10,8,10,10,17,15,10,12,0,12,12,16,9,17,15,0,17,5,17,12,0,2,10,17,7,10,10,0,15,15,17,17,17,8,10,0,18,16,16,9,15,15,17,16,18,17,16,16,17,15,17,16,0,18,9,17,15,10,16,17,17,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,25,18,17,8,12,18,0,16,16,9,16,17,27,16,27,27,25,18,17,23,26,16,0,28,18,17,18,10,25,17,19,0,20,20,9,16,10,8,0,26,12,17,19,0,2,18,18,14,24,10,0,15,16,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,0,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,23,23,14,16,23,0,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,8,8,15,8,15,9,9,7,14,0,8,8,15,16,16,8,16,14,15,8,8,14,0,9,9,8,8,15,16,8,8,0,9,9,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,16,15,16,15,8,8,15,16,14,14,8,0,14,16,15,16,15,15,14,15,15,16,14,0,16,8,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,0,15,8,14,16,7,15,14,16,0,17,17,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,25,18,24,8,17,17,27,16,23,15,16,14,0,22,33,25,31,23,24,23,26,23,0,27,17,17,16,17,31,17,17,0,17,17,16,16,17,15,0,33,10,24,17,0,2,18,25,14,24,10,0,22,22,15,15,22,8,15,16,16,14,21,16,15,15,22,0,23,15,23,21,22,15,15,21,0,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,23,25,18,24,8,17,18,27,16,23,16,16,15,33,23,0,24,31,23,24,22,26,23,0,27,17,17,16,17,31,17,17,0,18,18,16,16,17,15,0,32,10,24,17,0,2,17,25,14,24,10,0,22,23,24,17,17,8,12,17,27,16,16,8,15,16,25,15,24,0,23,18,17,23,24,16,0,25,16,17,17,10,23,17,19,0,19,19,9,16,10,8,0,25,12,17,19,0,2,18,17,14,24,10,0,15,15,23,15,22,8,15,16,25,14,21,16,15,15,31,23,31,23,0,21,22,23,23,21,0,25,18,15,15,15,32,15,15,0,16,16,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,23,16,16,23,7,18,16,18,16,23,14,14,16,23,21,23,18,21,0,23,14,16,23,0,16,7,16,16,16,21,16,18,0,18,18,16,16,16,14,0,23,11,23,18,0,2,16,23,14,16,9,0,21,21,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,0,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,24,14,17,10,0,22,22,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,0,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,16,15,14,22,8,0,15,15,25,18,17,8,10,17,26,16,16,8,16,14,26,15,26,24,23,16,17,22,0,16,0,26,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,0,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,23,14,16,9,0,21,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,8,10,18,28,16,16,9,16,15,27,16,27,25,25,16,17,23,26,16,0,0,18,17,16,10,25,17,17,0,18,18,9,16,10,8,0,26,10,17,17,0,2,18,18,14,24,10,0,15,16,16,8,8,8,8,9,18,7,7,9,8,8,17,9,17,16,18,7,8,16,16,7,0,18,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,0,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,16,15,8,10,15,18,14,14,8,16,16,16,15,16,17,15,16,15,15,16,14,0,16,8,15,0,8,15,15,17,0,17,17,7,14,8,8,0,15,10,15,17,0,0,15,16,14,15,8,0,15,15,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,0,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,23,15,22,8,15,16,25,14,21,16,15,15,31,23,31,23,32,21,22,23,23,21,0,25,18,15,15,15,0,15,15,0,16,16,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,23,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,0,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,0,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,12,18,20,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,0,18,9,17,17,10,16,17,19,0,0,20,9,16,10,8,0,17,12,17,24,0,2,17,17,14,17,10,0,15,16,17,17,17,8,12,18,20,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,0,18,9,17,17,10,16,17,19,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,16,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,0,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,0,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,0,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,0,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,17,24,8,17,17,26,16,23,15,15,14,33,22,32,25,31,23,24,23,25,23,0,26,17,17,15,17,31,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,18,24,14,24,10,0,22,22,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,0,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,0,17,8,17,17,10,15,17,19,0,24,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,0,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,17,17,17,8,10,17,18,16,16,8,15,14,18,15,17,18,16,16,17,16,17,16,0,18,9,17,15,10,16,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,17,18,24,8,17,17,18,16,23,15,16,14,25,22,25,17,22,23,24,15,18,23,0,18,8,17,16,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,0,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,24,17,17,8,10,17,24,16,16,8,15,14,24,15,24,24,22,16,17,22,24,16,0,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,24,10,17,17,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,0,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,0,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,15,15,22,8,15,16,16,14,21,16,15,15,22,23,23,15,23,21,22,15,15,21,0,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,0,18,17,8,10,18,26,16,16,8,15,14,26,15,25,24,23,16,17,22,25,16,25,0,16,17,16,10,23,17,17,0,18,17,9,16,10,9,0,26,10,17,17,0,3,18,17,14,25,10,0,15,16,18,0,17,15,10,18,19,16,16,8,16,14,19,15,18,17,15,16,17,22,18,16,18,0,8,24,17,10,15,17,17,0,18,17,9,16,10,9,0,18,17,17,17,0,3,18,18,14,18,10,0,15,16,17,17,0,8,10,18,18,16,17,8,16,14,17,15,18,18,16,16,17,15,17,16,17,0,9,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,8,15,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,15,8,7,8,0,8,15,8,8,8,8,8,0,8,8,7,7,8,8,0,8,8,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,11,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,18,18,18,8,10,0,20,16,17,9,16,15,18,16,19,18,17,16,17,15,17,16,18,0,10,17,16,10,16,17,17,0,19,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,26,19,18,8,10,20,0,16,17,9,17,15,28,16,28,26,26,16,17,23,26,16,28,0,19,17,17,10,25,17,17,0,19,18,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,17,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,17,7,9,17,17,16,0,7,15,14,16,14,17,17,15,16,16,14,16,16,16,0,8,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,0,9,8,8,8,9,8,8,0,9,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,15,16,16,8,8,16,17,14,15,8,0,14,16,15,17,16,16,14,15,15,16,14,16,0,9,15,16,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,7,15,15,14,14,8,14,0,14,15,15,14,15,14,14,14,14,14,15,0,8,14,14,7,15,14,14,0,15,15,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,15,26,19,17,8,10,18,28,16,16,8,16,14,0,15,26,25,24,16,17,23,26,16,27,0,17,17,17,10,24,17,17,0,18,17,9,16,10,9,0,27,10,17,17,0,3,19,18,14,25,10,0,15,16,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,0,9,15,15,8,16,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,25,18,18,8,10,19,28,16,17,9,17,15,26,16,0,25,25,16,17,22,26,16,27,0,18,17,16,10,24,17,17,0,18,18,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,16,24,17,18,8,10,18,26,16,17,8,16,14,25,15,25,0,24,16,17,23,24,16,25,0,17,17,15,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,18,17,14,24,10,0,15,15,23,15,16,8,8,17,26,14,15,9,16,15,24,16,25,24,0,14,15,23,23,14,25,0,19,15,15,8,25,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,0,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,22,22,15,15,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,23,0,16,22,15,8,23,15,15,0,15,15,7,14,8,8,0,23,15,15,15,0,0,16,15,14,22,8,0,15,15,25,18,17,8,10,17,26,16,16,8,16,14,26,15,26,24,23,16,17,22,0,16,26,0,16,17,16,10,23,17,17,0,17,17,9,16,10,8,0,25,10,17,17,0,2,17,18,14,24,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,0,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,25,18,17,8,10,18,28,16,16,9,16,15,27,16,27,25,25,16,17,23,26,16,0,0,18,17,16,10,25,17,17,0,18,18,9,16,10,8,0,26,10,17,17,0,2,18,18,14,24,10,0,15,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,8,9,8,8,10,19,7,8,9,9,8,17,9,18,17,19,7,8,16,16,7,18,0,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,17,24,17,15,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,22,17,16,17,0,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,17,17,17,0,2,17,17,14,17,10,0,15,15,16,17,15,8,8,16,17,14,14,8,16,14,17,15,16,15,15,14,15,15,16,14,16,0,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,16,14,16,8,0,15,16,10,10,10,8,11,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,23,15,15,8,8,16,25,14,14,9,15,15,24,16,24,23,25,14,15,23,23,14,25,0,18,15,15,8,0,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,8,10,19,19,16,16,9,15,15,18,16,18,17,16,16,17,15,17,16,18,0,9,17,16,10,16,17,17,0,0,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,17,17,17,8,10,18,18,16,16,9,15,15,17,16,18,17,16,16,17,15,17,16,18,0,9,17,15,10,16,17,17,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,0,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,0,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,18,17,8,10,18,27,16,16,8,15,14,27,15,25,25,24,16,17,23,25,16,26,0,17,17,16,10,24,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,25,10,0,15,16,10,17,10,8,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,15,10,9,10,0,1,17,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,0,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,18,18,17,8,10,18,19,16,16,8,15,14,19,15,17,18,16,16,17,16,17,16,18,0,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,17,18,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,0,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,0,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,25,18,17,8,10,18,25,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,0,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,25,10,17,17,0,3,18,17,14,0,10,0,15,16,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,0,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,16,16,15,8,8,17,17,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,0,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,0,9,8,8,9,15,16,14,7,8,15,7,16,8,16,22,16,7,8,15,16,7,16,16,0,8,15,8,16,16,8,0,15,15,7,14,8,8,0,16,1,8,8,0,0,15,8,14,22,15,0,8,8,9,0,8,8,9,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,11,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,8,8,0,8,8,9,9,7,8,8,9,7,8,8,9,9,9,7,8,8,8,7,8,9,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,9,9,8,8,0,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,15,8,9,8,8,0,10,14,8,9,16,8,8,9,10,16,10,7,8,8,8,7,9,10,0,8,15,8,9,15,8,0,16,16,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,16,8,9,8,8,10,0,7,8,9,9,8,17,9,18,17,19,7,8,16,16,7,18,19,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,14,7,7,7,7,14,7,0,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,0,7,14,7,7,14,7,0,14,14,7,14,7,7,0,7,0,7,7,0,0,14,7,14,14,14,0,7,7,7,7,8,7,7,8,8,7,0,7,8,7,7,7,8,8,8,7,7,7,7,7,7,8,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,8,10,8,8,8,9,9,7,7,0,10,10,8,11,9,8,11,7,8,10,8,9,9,9,0,10,10,8,13,10,8,0,9,9,7,7,10,12,0,8,1,10,8,0,0,10,8,11,8,8,0,12,11,15,8,9,8,8,16,9,14,8,10,0,9,8,10,9,16,11,7,8,10,8,7,8,9,0,8,17,8,10,15,8,0,15,15,7,14,8,10,0,8,1,8,8,0,0,15,8,16,15,15,0,10,10,7,7,7,7,7,8,8,7,7,10,9,0,7,10,8,7,10,7,7,9,7,7,8,8,0,7,9,7,10,7,7,0,8,8,7,7,7,9,0,7,0,7,7,0,0,7,7,9,7,7,0,9,10,16,8,8,8,8,8,17,7,7,8,8,7,0,8,16,16,17,7,8,16,16,7,17,17,0,8,8,8,17,8,8,0,8,8,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,8,8,8,8,8,8,9,9,7,7,11,10,10,8,0,9,8,11,7,8,10,8,7,9,9,0,8,10,8,11,8,8,0,9,9,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,11,16,8,9,8,8,10,18,7,8,9,9,8,16,9,0,16,18,7,8,15,16,7,17,18,0,8,8,8,17,8,8,0,9,9,7,7,8,8,0,16,1,8,8,0,0,8,8,7,15,8,0,8,9,22,8,9,8,8,16,17,14,8,8,16,7,16,8,16,0,17,7,8,16,15,7,16,17,0,8,15,8,16,15,8,0,15,15,7,14,8,8,0,16,1,8,8,0,0,16,8,14,22,15,0,8,8,16,8,9,8,8,10,19,7,8,11,11,10,17,11,18,17,0,7,8,18,16,7,18,19,0,8,10,8,20,8,8,0,9,9,7,7,8,10,0,17,1,8,8,0,0,9,8,9,15,8,0,10,11,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,0,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,15,8,8,8,8,8,16,7,7,10,10,9,16,10,15,16,18,7,8,0,15,7,16,16,0,8,10,8,18,8,8,0,8,8,7,7,8,10,0,16,1,8,8,0,0,9,8,9,15,8,0,10,10,16,8,8,8,8,8,16,7,7,8,8,7,16,8,16,15,16,7,8,15,0,7,16,16,0,8,8,8,16,8,8,0,8,8,7,7,8,8,0,16,1,8,8,0,0,8,8,7,15,8,0,8,8,7,9,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,0,7,7,0,9,7,7,9,9,7,0,7,7,7,7,9,9,0,7,0,9,7,0,0,9,7,9,7,7,0,9,7,16,8,8,8,8,9,18,7,7,9,8,8,17,9,17,16,18,7,8,16,16,7,0,18,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,16,8,9,8,8,10,19,7,8,9,9,8,17,9,18,17,19,7,8,16,16,7,18,0,0,8,8,8,18,8,8,0,9,9,7,7,8,8,0,17,1,8,8,0,0,9,8,7,15,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,0,8,8,10,10,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,15,8,8,8,8,15,8,14,7,10,17,9,8,10,8,15,10,7,8,10,8,7,8,8,0,8,0,8,10,15,8,0,15,15,7,14,8,10,0,8,1,8,8,0,0,15,8,16,15,15,0,10,10,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,0,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,16,10,8,8,8,9,18,7,7,13,10,10,17,11,17,16,20,7,8,18,16,9,18,18,0,10,10,8,0,10,8,0,9,9,7,7,10,12,0,17,1,10,8,0,0,11,8,11,15,8,0,12,11,16,11,8,8,9,15,8,14,7,10,15,7,8,8,8,15,8,7,8,8,8,9,8,8,0,10,15,8,10,0,8,0,15,15,7,14,10,10,0,8,1,10,8,0,0,17,8,16,15,15,0,10,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,8,8,8,8,16,9,14,7,9,15,8,8,9,9,15,9,7,8,8,8,7,9,9,0,8,15,8,9,15,8,0,0,16,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,15,8,8,8,8,16,9,14,7,9,15,8,8,9,9,15,9,7,8,8,8,7,9,9,0,8,15,8,9,15,8,0,16,0,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,7,7,7,7,7,7,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,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,14,7,7,7,7,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,0,7,14,7,7,14,7,0,14,14,7,0,7,7,0,7,0,7,7,0,0,14,7,14,14,14,0,7,7,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,10,8,0,8,8,7,7,0,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,8,10,8,8,8,8,8,7,7,12,10,9,8,10,8,8,10,7,8,10,8,9,8,8,0,10,10,8,12,10,8,0,8,8,7,7,10,0,0,8,1,10,8,0,0,10,8,11,8,8,0,12,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,8,8,8,8,8,17,7,7,8,8,7,17,8,16,16,17,7,8,16,16,7,17,17,0,8,8,8,17,8,8,0,8,8,7,7,8,8,0,0,1,8,8,0,0,9,8,7,15,8,0,8,8,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,0,1,1,0,1,1,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,10,8,0,8,8,7,7,10,10,0,8,1,0,8,0,0,10,8,9,8,8,0,10,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,10,8,8,8,15,9,14,7,10,15,7,9,8,8,16,9,7,8,9,8,9,9,9,0,10,15,8,11,17,8,0,15,15,7,14,10,10,0,9,1,10,8,0,0,0,8,16,15,15,0,10,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,0,7,8,8,0,8,8,14,9,7,7,7,14,7,14,7,11,16,9,7,9,7,14,9,7,7,9,7,9,7,7,0,9,16,7,11,16,7,0,14,14,7,14,9,11,0,7,0,9,7,0,0,16,7,0,14,14,0,11,9,22,8,8,8,8,15,15,14,7,8,15,7,15,8,15,22,15,7,8,15,15,7,15,15,0,8,15,8,15,15,8,0,15,15,7,14,8,8,0,15,1,8,8,0,0,15,8,14,0,15,0,8,8,15,8,8,8,8,15,8,14,7,8,15,7,8,8,8,15,8,7,8,8,8,7,8,8,0,8,15,8,8,15,8,0,15,15,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,8,8,8,8,8,7,7,12,10,9,8,10,8,8,10,7,8,10,8,9,8,8,0,10,10,8,12,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,10,8,11,8,8,0,0,10,8,8,8,8,8,9,9,7,7,11,10,10,8,11,9,8,11,7,8,10,8,7,9,9,0,8,10,8,11,8,8,0,9,9,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,0,0,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,17,0,17,15,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,22,17,18,17,24,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,17,19,17,0,2,19,17,16,17,10,0,17,15,18,17,0,8,11,17,18,18,16,8,15,14,18,15,18,19,17,17,17,17,17,16,17,17,8,0,16,10,15,19,18,0,18,18,9,16,11,9,0,17,11,17,18,0,2,17,17,14,18,11,0,16,15,8,15,8,0,16,15,8,14,14,22,16,7,8,15,8,9,8,7,15,15,8,7,8,15,8,0,8,15,8,8,8,0,8,8,14,14,15,15,0,8,15,8,8,0,7,8,8,14,8,15,0,16,8,10,10,11,16,0,17,10,17,16,15,16,7,11,15,10,11,8,10,17,9,10,9,10,10,8,0,9,10,8,11,10,0,10,10,9,16,18,9,0,10,11,10,10,0,2,10,10,14,11,11,0,16,8,17,17,17,15,17,0,17,23,23,15,22,14,17,22,17,17,15,16,24,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,17,17,18,8,10,17,0,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,17,16,18,14,17,23,16,0,23,14,21,14,17,21,16,17,15,17,23,15,16,16,16,16,7,0,15,9,14,17,17,0,17,17,9,23,17,8,0,16,17,16,16,0,2,16,16,21,17,10,0,22,14,16,16,16,14,16,23,16,23,0,14,21,14,16,21,16,16,14,16,23,14,16,16,16,16,7,0,14,9,14,16,16,0,16,16,9,23,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,8,10,8,22,15,15,8,14,14,0,15,7,8,15,8,8,8,7,15,8,8,9,8,8,10,0,8,15,10,10,8,0,8,8,14,14,17,17,0,8,8,10,8,0,7,10,8,16,8,15,0,17,8,15,15,15,16,16,22,15,21,21,15,0,14,15,22,15,16,15,14,22,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,23,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,0,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,17,17,18,8,11,17,17,17,16,8,15,14,0,15,17,17,15,17,17,16,17,16,17,17,8,0,16,10,15,18,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,18,11,0,15,15,15,15,15,15,15,22,15,21,21,15,22,14,15,0,15,15,15,14,22,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,21,15,8,0,15,15,15,15,0,0,15,15,21,15,8,0,22,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,18,17,19,9,11,17,18,17,16,8,16,14,17,15,18,0,17,16,17,16,17,16,17,17,8,0,15,10,15,18,18,0,18,18,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,17,15,16,15,17,8,8,15,16,15,14,8,15,14,15,15,16,17,0,14,15,16,15,14,15,15,8,0,15,8,15,16,16,0,16,16,7,14,8,8,0,15,8,15,16,0,0,15,15,14,15,8,0,16,15,16,16,17,7,10,16,16,17,16,7,14,14,17,14,16,16,14,0,16,15,16,16,16,16,7,0,15,9,14,17,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,17,10,0,14,14,17,17,17,15,17,24,17,23,23,15,22,14,17,22,17,17,15,16,0,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,23,17,8,0,17,17,17,17,0,2,17,17,21,17,10,0,22,15,15,22,17,15,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,22,8,0,16,8,15,17,15,0,15,15,7,14,9,9,0,15,16,15,16,0,0,15,15,14,16,9,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,0,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,0,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,24,17,15,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,22,17,16,17,0,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,17,17,17,0,2,17,17,14,17,10,0,15,15,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,0,8,8,10,10,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,16,8,9,15,15,15,14,8,15,14,16,15,15,15,15,15,15,16,15,14,15,15,8,0,0,8,15,16,15,0,15,15,7,14,9,9,0,15,9,15,15,0,0,15,15,14,16,9,0,15,15,10,10,10,15,10,10,10,9,9,15,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,0,8,0,8,10,10,0,10,10,16,9,10,15,0,10,3,10,10,0,9,10,10,7,10,17,0,8,8,15,17,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,0,15,8,0,17,15,0,15,15,7,14,10,11,0,15,8,17,15,0,0,17,15,16,15,8,0,17,15,17,19,19,8,11,17,18,17,16,10,15,14,18,15,18,18,16,17,17,17,17,18,17,17,10,0,16,10,17,0,17,0,17,17,9,16,13,11,0,17,11,19,18,0,2,19,17,16,18,11,0,17,15,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,9,9,9,14,9,9,9,9,9,14,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,0,7,16,7,9,9,0,9,9,0,9,9,14,0,9,2,9,9,0,9,9,9,7,9,16,0,7,7,16,16,16,14,16,23,16,23,23,14,21,14,16,21,16,16,14,16,23,14,16,16,16,16,7,0,14,9,14,16,16,0,16,16,9,0,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,10,12,11,15,18,17,10,17,16,17,15,7,11,15,10,10,8,10,17,9,10,11,10,10,10,0,9,10,10,13,10,0,10,10,9,16,0,11,0,10,11,12,10,0,2,12,10,16,11,11,0,17,8,8,10,9,15,9,8,8,8,7,17,8,7,9,8,8,8,8,8,8,9,8,9,8,8,10,0,9,15,11,11,8,0,8,8,14,7,11,0,0,8,2,10,8,0,7,10,8,9,9,16,0,10,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,10,17,11,15,11,17,10,17,16,8,15,7,11,15,10,10,8,10,17,16,10,9,10,17,1,0,9,3,8,11,10,0,10,10,2,16,11,2,0,10,0,10,10,0,2,10,10,14,11,4,0,15,8,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,7,2,2,2,2,2,7,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,0,0,9,0,2,2,0,2,2,9,2,2,7,0,2,2,2,2,0,0,2,2,0,2,9,0,0,0,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,19,17,0,2,0,17,16,17,10,0,17,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,14,16,14,14,14,21,14,21,21,16,21,14,14,21,14,14,14,14,21,14,14,16,14,14,9,0,14,7,16,16,14,0,14,14,7,21,16,9,0,14,14,16,14,0,0,16,14,0,14,7,0,23,14,17,17,18,8,11,17,17,17,16,8,15,14,18,15,17,17,15,17,17,16,17,16,17,17,8,0,16,10,15,18,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,0,11,0,15,15,10,10,11,15,11,10,10,10,9,15,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,0,9,17,8,11,10,0,10,10,16,9,11,16,0,10,4,10,10,0,9,10,10,7,11,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,17,16,16,16,22,15,22,21,17,23,14,15,22,15,17,16,14,22,15,15,16,15,15,10,0,15,8,17,17,16,0,16,16,7,21,17,10,0,15,15,17,15,0,0,17,15,23,15,8,0,0,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,16,15,8,8,23,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,23,15,21,23,15,0,15,16,16,0,15,8,8,16,17,14,14,8,16,14,17,15,16,15,15,14,15,15,16,14,16,17,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,16,14,16,8,0,15,16,15,15,0,8,9,15,15,15,14,8,15,14,17,15,15,15,15,15,15,16,15,14,15,15,8,16,0,8,16,16,15,0,15,15,7,14,9,10,0,15,9,15,15,0,0,15,15,14,17,9,0,15,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,0,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,9,8,0,8,10,8,7,8,8,9,9,8,8,10,8,10,8,9,8,7,10,8,8,9,0,8,8,9,10,0,10,10,7,7,9,9,0,8,4,8,10,0,0,8,8,7,9,9,0,8,8,23,16,15,8,8,0,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,23,15,21,23,15,0,15,16,16,17,15,8,10,16,0,14,14,8,16,16,17,15,16,17,15,16,15,15,16,14,18,17,8,15,0,8,15,15,17,0,18,17,7,14,8,9,0,16,10,15,17,0,1,16,16,14,16,8,0,15,16,21,14,15,7,8,21,14,0,14,7,21,14,15,14,14,21,14,15,14,15,14,14,14,14,14,15,0,7,14,22,14,0,21,21,7,21,8,8,0,14,8,14,14,0,0,21,14,21,22,15,0,14,14,14,14,14,7,7,14,14,14,0,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,0,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,8,8,8,8,8,8,8,7,7,0,10,9,8,10,8,8,10,7,8,10,8,7,8,8,10,8,0,8,10,8,8,0,8,8,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,22,16,15,8,8,22,16,21,14,10,0,16,16,17,16,22,17,14,15,17,16,14,16,16,17,15,0,8,17,22,15,0,22,22,7,21,8,10,0,15,8,15,15,0,0,22,16,23,22,15,0,17,17,14,14,14,7,9,14,16,14,14,9,16,0,14,16,14,16,16,16,14,16,14,14,16,14,9,14,0,7,16,14,16,0,16,16,7,14,7,9,0,14,9,14,16,0,0,14,14,16,14,7,0,16,16,16,17,17,8,9,16,17,15,14,8,16,14,0,15,16,15,15,15,15,16,16,14,16,17,8,16,0,8,16,16,15,0,16,15,7,14,9,11,0,16,9,15,15,0,1,16,16,16,18,9,0,15,18,15,15,15,8,8,15,15,14,14,10,17,16,15,0,15,15,17,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,17,15,16,15,8,8,15,16,14,14,8,16,14,16,15,0,15,15,14,15,15,16,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,22,15,15,8,10,22,17,21,14,8,22,16,15,15,15,0,15,16,15,15,15,14,17,15,15,15,0,8,15,22,17,0,24,24,7,21,8,8,0,15,10,15,17,0,0,22,15,21,22,15,0,15,15,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,0,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,17,14,14,15,7,10,14,16,15,14,7,14,16,15,14,14,16,14,0,14,15,14,14,16,14,7,15,0,7,14,15,16,0,16,16,7,14,8,8,0,14,10,14,16,0,0,14,14,14,15,8,0,14,14,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,0,15,15,14,15,15,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,15,15,16,8,9,15,15,15,14,10,17,16,16,17,15,15,17,15,15,0,15,14,15,15,10,16,0,8,17,16,15,0,15,15,7,14,9,11,0,15,9,15,15,0,0,15,15,16,16,9,0,17,17,15,16,15,8,8,15,16,14,14,8,16,14,16,15,16,15,15,14,15,15,0,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,16,14,15,8,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,0,14,14,7,14,0,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,15,16,15,8,10,15,18,14,14,8,16,16,16,15,16,17,15,16,15,15,16,14,0,16,8,15,0,8,15,15,17,0,17,17,7,14,8,8,0,15,10,15,17,0,0,15,16,14,15,8,0,15,15,16,17,15,8,8,16,17,14,14,8,16,14,17,15,16,15,15,14,15,15,16,14,16,0,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,16,14,16,8,0,15,16,15,8,8,8,8,15,8,14,7,10,17,9,8,10,8,15,10,7,8,10,8,7,8,8,0,8,0,8,10,15,8,0,15,15,7,14,8,10,0,8,1,8,8,0,0,15,8,16,15,15,0,10,10,15,15,16,8,9,15,15,15,14,8,15,14,16,15,15,15,15,15,15,16,15,14,15,15,8,0,0,8,15,16,15,0,15,15,7,14,9,9,0,15,9,15,15,0,0,15,15,14,16,9,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,0,0,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,15,15,16,8,8,15,15,14,14,10,17,16,16,17,15,15,17,14,15,17,15,14,15,15,10,15,0,8,0,15,15,0,15,15,7,14,8,11,0,15,8,15,15,0,0,15,15,16,16,8,0,17,17,22,15,16,8,9,22,15,22,14,8,22,14,16,15,15,22,15,15,15,16,15,14,15,15,15,16,0,8,15,0,15,0,22,22,7,21,9,9,0,15,9,15,15,0,0,22,15,21,23,16,0,15,15,15,15,15,8,10,15,17,14,14,8,15,16,15,15,15,17,15,16,15,15,15,14,17,15,8,15,0,8,15,15,0,0,17,17,7,14,8,8,0,15,10,15,17,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,16,15,8,10,23,18,21,14,8,22,16,16,15,15,24,15,16,15,15,15,14,17,16,15,15,0,8,15,22,17,0,0,24,7,21,8,9,0,16,10,15,17,0,1,23,15,21,23,15,0,15,16,22,15,15,8,10,22,17,21,14,8,22,16,15,15,15,24,15,16,15,15,15,14,17,15,15,15,0,8,15,22,17,0,24,0,7,21,8,8,0,15,10,15,17,0,0,22,15,21,22,15,0,15,15,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,0,7,14,21,14,0,21,21,7,0,7,7,0,14,7,14,14,0,0,21,14,21,21,14,0,14,14,8,8,9,8,9,8,8,8,7,8,8,7,9,8,8,8,8,8,8,9,8,7,8,8,8,9,0,8,8,9,8,0,8,8,7,7,0,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,9,9,10,8,9,9,9,8,7,10,10,9,11,10,8,8,10,8,8,11,8,7,8,9,10,9,0,8,11,9,8,0,9,8,7,7,9,0,0,9,2,8,8,0,1,9,8,9,11,9,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,0,8,15,15,0,1,16,15,14,16,8,0,15,16,8,8,9,1,4,8,10,8,7,1,8,9,9,8,8,10,8,10,8,9,8,7,10,8,1,9,0,1,8,9,10,0,10,10,0,7,2,2,0,8,0,8,10,0,0,8,8,7,9,2,0,8,8,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,15,15,15,8,10,15,17,14,14,8,15,16,15,15,15,17,15,16,15,15,15,14,17,15,8,15,0,8,15,15,17,0,17,17,7,14,8,8,0,15,10,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,23,16,15,8,8,23,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,0,15,21,23,15,0,15,16,15,16,15,8,8,15,16,14,14,8,16,14,16,15,16,15,15,14,15,15,16,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,0,14,15,8,0,15,15,21,14,14,7,7,21,14,21,14,9,23,16,16,16,14,21,16,14,14,16,14,14,14,14,16,14,0,7,16,21,14,0,21,21,7,21,7,9,0,14,7,14,14,0,0,21,14,0,21,14,0,16,18,23,16,17,8,9,23,16,22,14,8,22,14,18,15,15,22,15,15,15,16,15,14,15,16,15,16,0,8,16,23,15,0,23,22,7,21,9,11,0,16,9,15,15,0,1,23,15,21,0,16,0,15,16,15,8,9,8,9,15,8,15,7,8,15,7,9,8,8,15,8,8,8,9,8,7,8,8,15,9,0,8,8,16,8,0,15,15,7,14,9,9,0,8,2,8,8,0,0,15,8,14,16,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,0,17,16,16,15,8,8,16,16,14,14,10,17,16,18,17,15,15,17,14,15,17,15,14,15,16,10,15,0,8,17,15,15,0,16,15,7,14,8,11,0,16,8,15,15,0,1,16,15,18,16,8,0,17,0,0,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,12,12,0,8,8,10,0,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,0,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,8,8,0,8,8,8,7,7,15,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,15,8,0,8,8,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,8,8,7,8,15,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,11,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,10,10,8,10,0,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,9,7,9,9,9,0,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,0,7,9,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,16,7,16,9,9,9,0,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,0,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,8,8,15,15,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,15,8,0,15,8,8,0,8,8,22,7,15,23,0,15,1,15,8,0,7,8,15,7,8,15,0,15,15,10,8,8,8,8,8,8,7,7,8,0,7,8,10,10,8,8,7,8,10,8,7,8,8,8,8,8,0,8,8,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,8,10,7,10,10,0,8,8,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,0,7,7,7,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,10,10,17,8,17,10,10,9,16,15,8,7,0,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,8,15,8,15,8,8,7,14,15,10,7,15,0,17,8,15,14,15,10,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,9,15,15,0,15,1,15,8,0,2,8,17,7,10,10,0,15,15,12,10,17,8,17,10,10,9,16,15,10,7,17,17,0,10,15,16,17,10,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,11,17,15,0,17,3,17,10,0,4,10,19,7,12,12,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,0,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,0,16,7,9,16,16,9,7,9,7,0,14,9,9,0,9,9,16,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,0,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,8,8,8,8,8,8,7,7,8,10,7,8,10,10,8,8,7,8,0,8,7,8,8,8,8,8,0,8,8,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,8,10,7,10,10,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,0,16,9,7,9,7,0,14,9,10,1,9,9,17,10,16,14,1,16,2,17,9,1,2,9,17,8,9,9,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,0,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,10,10,8,11,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,0,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,15,10,10,10,9,9,15,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,0,8,0,8,10,10,0,10,10,16,9,10,15,0,10,3,10,10,0,9,10,10,7,10,17,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,0,0,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,0,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,0,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,10,10,10,8,10,8,0,8,10,0,1,10,10,10,10,10,8,1,10,3,11,10,1,2,10,11,8,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,0,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,0,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,16,14,16,9,9,9,16,22,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,16,7,0,14,9,10,1,9,9,0,10,16,22,1,16,2,17,9,1,9,9,17,8,9,16,0,14,14,11,9,9,7,9,9,9,9,9,7,9,7,9,9,11,9,7,9,9,9,9,10,9,9,7,9,7,0,7,9,10,1,9,9,10,0,9,7,1,9,2,10,9,1,4,9,12,8,11,11,0,7,7,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,8,15,15,15,8,8,7,14,23,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,15,8,0,15,8,8,0,8,8,22,7,15,0,0,15,1,15,8,0,7,8,15,7,8,15,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,3,3,3,1,3,3,3,2,2,1,1,0,3,1,3,3,1,2,3,1,3,2,3,3,1,3,1,0,1,3,3,0,3,3,2,2,3,1,0,3,0,3,3,0,2,3,3,0,3,3,0,1,1,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,17,17,10,8,10,8,0,15,10,11,1,10,10,17,10,17,15,1,17,3,0,10,1,2,10,18,8,10,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,0,0,2,10,10,7,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,4,2,2,7,2,2,2,2,2,7,2,0,2,2,4,2,0,2,2,2,2,2,2,2,0,9,0,0,0,2,2,0,2,2,9,4,2,7,0,2,2,2,2,0,0,2,4,0,4,11,0,0,0,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,0,10,7,10,10,0,8,8,12,10,17,8,17,10,10,9,16,15,10,7,17,17,19,10,15,16,17,10,10,17,17,10,8,10,8,0,15,10,11,1,10,10,17,12,17,15,1,17,3,18,10,1,4,10,0,8,12,12,0,15,15,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,0,7,7,8,1,7,7,8,8,7,7,1,7,0,8,7,1,0,7,8,0,7,7,0,7,7,12,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,0,12,0,8,8,12,10,10,15,10,10,10,9,9,15,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,17,8,0,8,10,10,0,10,10,16,11,10,15,0,10,3,10,10,0,11,10,12,7,12,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,0,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,0,15,15,8,8,15,23,14,14,8,15,14,23,15,23,22,23,14,15,22,23,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,15,15,15,0,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,0,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,8,0,17,15,15,15,0,9,15,15,15,15,22,16,16,14,23,23,22,15,23,22,22,15,15,21,22,15,8,15,16,15,0,16,15,0,15,15,14,14,15,16,0,22,8,22,15,0,0,15,22,14,16,9,0,23,22,8,8,9,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,0,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,0,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,15,15,15,8,8,0,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,23,15,15,8,8,16,0,14,14,9,15,15,24,16,24,23,25,14,15,23,23,14,25,25,18,15,15,8,0,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,14,14,15,8,7,14,14,0,15,8,15,14,14,15,14,14,15,15,14,14,14,14,14,14,7,14,14,7,0,15,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,8,0,15,14,14,14,22,8,14,14,14,15,0,15,15,14,21,22,21,14,22,22,21,14,14,21,21,14,7,14,14,14,0,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,8,10,16,9,15,9,9,8,15,0,11,10,15,19,16,8,19,15,15,10,8,16,16,9,13,10,10,15,0,11,8,0,9,9,14,7,17,19,0,15,1,17,8,0,0,10,15,11,8,9,0,20,18,15,15,16,9,8,15,15,15,15,11,0,16,15,18,15,15,18,15,15,17,15,14,15,15,10,15,17,8,0,16,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,9,0,18,17,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,17,14,14,16,14,14,15,15,10,14,16,7,0,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,17,23,15,23,8,15,15,24,14,21,15,15,14,0,22,30,23,31,21,22,23,23,21,31,24,17,15,16,15,0,15,15,0,15,15,14,14,15,16,0,31,8,22,15,0,0,16,22,14,23,8,0,22,22,15,15,23,9,15,16,16,15,22,19,18,17,22,0,23,15,26,22,22,17,15,21,23,16,11,15,17,15,0,16,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,25,25,23,15,22,8,15,16,24,14,21,16,15,15,30,23,0,22,31,21,22,22,23,21,31,24,17,15,15,15,0,15,15,0,16,16,14,14,15,15,0,30,8,22,15,0,0,15,22,14,22,8,0,22,23,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,0,23,14,15,23,22,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,16,15,14,22,8,0,15,15,23,15,23,9,15,16,25,15,22,19,18,17,31,26,31,23,0,22,22,25,23,21,32,25,20,15,17,15,0,16,15,0,16,16,14,14,15,17,0,31,8,22,15,0,0,16,22,16,22,9,0,25,25,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,14,22,0,21,14,14,21,21,14,7,14,14,14,0,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,22,21,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,0,15,15,21,22,15,8,15,15,15,0,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,22,22,15,15,8,8,15,23,14,14,10,17,16,23,17,22,23,25,14,15,0,22,14,23,23,18,15,17,8,0,15,15,0,15,15,7,14,8,10,0,23,8,15,15,0,0,16,15,16,22,8,0,17,17,23,15,15,8,8,15,23,14,14,8,15,14,23,15,23,22,23,14,15,22,0,14,23,23,16,15,15,8,0,15,15,0,15,15,7,14,8,8,0,23,8,15,15,0,0,15,15,14,22,8,0,15,15,14,16,21,7,14,14,14,14,21,16,14,14,21,21,21,14,21,21,21,14,14,0,21,14,9,16,14,14,0,16,14,0,14,14,14,14,16,16,0,21,7,23,14,0,0,16,21,16,14,7,0,23,21,23,15,22,8,15,16,25,14,21,16,15,15,31,23,31,23,32,21,22,23,23,21,0,25,18,15,15,15,0,15,15,0,16,16,14,14,15,15,0,31,8,22,15,0,0,16,22,14,22,8,0,22,23,23,15,15,8,8,16,25,14,14,9,15,15,24,16,24,23,25,14,15,23,23,14,25,0,18,15,15,8,0,15,15,0,16,16,7,14,8,8,0,24,8,15,15,0,0,16,15,14,22,8,0,15,16,16,10,8,8,8,9,18,7,7,13,10,10,17,11,17,16,20,7,8,18,16,9,18,18,0,10,10,8,0,10,8,0,9,9,7,7,10,12,0,17,1,10,8,0,0,11,8,11,15,8,0,12,11,15,17,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,0,15,8,0,17,15,0,15,15,7,14,10,11,0,15,8,17,15,0,0,17,15,16,15,8,0,17,15,15,15,16,8,8,15,15,14,14,10,17,16,16,17,15,15,17,14,15,17,15,14,15,15,10,15,0,8,0,15,15,0,15,15,7,14,8,11,0,15,8,15,15,0,0,15,15,16,16,8,0,17,17,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,0,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,16,9,8,15,15,15,15,11,16,14,15,16,15,15,16,15,15,15,15,16,15,15,10,17,15,8,0,0,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,9,0,18,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,0,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,0,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,0,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,8,10,15,8,15,8,8,7,14,17,8,7,15,15,15,8,15,14,15,8,8,16,15,8,10,10,8,15,0,10,8,0,8,8,14,7,0,17,0,15,1,17,8,0,0,10,15,9,8,8,0,17,15,8,10,16,8,15,8,8,7,14,19,10,9,16,17,15,8,17,14,15,10,8,16,15,8,12,11,11,15,0,10,8,0,8,8,14,7,17,0,0,15,1,17,8,0,0,10,15,11,9,8,0,19,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,15,22,8,15,15,24,14,21,15,15,14,31,22,30,23,31,21,22,23,23,21,31,24,17,15,15,15,0,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,16,22,14,22,8,0,22,22,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,8,7,8,8,8,7,8,8,1,8,8,1,0,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,8,15,17,22,8,15,15,15,14,21,17,15,14,22,22,22,15,22,21,22,15,15,23,22,15,10,17,15,15,0,17,15,0,15,15,14,14,17,17,0,22,8,0,15,0,0,17,22,16,15,8,0,24,22,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,0,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,15,8,8,15,16,14,14,10,15,14,16,15,15,16,16,14,15,16,15,16,16,16,11,17,15,8,0,17,15,0,15,15,7,14,10,10,0,16,8,17,15,0,0,0,15,16,15,8,0,17,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,0,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,22,14,16,14,7,7,14,14,14,14,11,16,16,14,16,14,14,16,14,14,16,14,16,14,14,11,16,16,7,0,16,14,0,14,14,7,14,9,11,0,14,7,16,14,0,0,16,14,0,14,7,0,18,16,22,15,16,8,8,15,22,14,14,8,15,14,23,15,22,22,22,14,15,22,22,14,22,22,15,15,16,8,0,15,15,0,15,15,7,14,8,9,0,22,8,15,15,0,0,15,15,14,0,8,0,15,15,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,0,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,23,9,15,15,15,15,22,20,18,16,22,25,22,15,25,22,22,17,15,23,22,15,12,17,17,15,0,18,15,0,15,15,14,14,17,19,0,22,8,24,15,0,0,17,22,18,15,9,0,0,24,15,15,22,8,15,16,16,14,21,18,17,17,22,25,23,15,25,21,22,17,15,21,23,16,11,15,17,15,0,15,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,8,0,24,0,0,18,17,8,11,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,16,17,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,18,0,17,8,11,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,11,19,15,10,17,0,17,0,17,17,9,16,12,10,0,17,10,19,17,0,2,19,17,16,17,10,0,17,15,17,17,0,9,11,17,18,18,17,9,16,14,18,16,18,18,17,18,17,17,17,16,17,17,8,19,16,10,16,0,17,0,17,17,9,16,11,9,0,17,11,17,18,0,2,17,17,14,18,12,0,16,15,8,8,9,0,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,0,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,9,0,9,8,11,11,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,9,11,9,10,8,0,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,11,0,8,8,24,17,17,8,10,0,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,17,17,18,8,10,17,0,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,23,16,18,8,10,23,16,0,17,8,22,14,17,15,16,23,15,18,16,15,16,16,16,16,14,17,22,9,15,0,16,0,23,23,9,23,10,8,0,16,10,16,16,0,2,23,16,21,24,18,0,15,14,16,16,17,8,9,16,16,17,0,8,15,14,16,15,16,16,15,17,16,14,16,16,16,16,7,16,14,9,15,0,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,10,0,15,14,8,10,9,9,8,8,8,8,8,0,9,7,8,9,8,8,9,8,8,8,8,9,8,8,10,10,8,8,11,0,8,0,8,8,7,7,10,10,0,8,1,10,8,0,0,10,8,9,8,9,0,11,8,22,15,16,9,8,22,15,22,15,9,0,14,15,16,15,22,16,15,15,15,15,14,15,15,15,15,22,8,16,0,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,16,0,16,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,0,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,17,17,18,8,11,17,17,17,16,8,15,14,0,15,17,17,15,17,17,16,17,16,17,17,8,18,16,10,15,0,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,18,11,0,15,15,15,15,16,9,8,15,15,15,15,9,16,14,15,0,15,15,16,15,15,15,15,14,15,15,8,15,15,8,16,0,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,9,0,16,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,18,0,2,17,17,14,17,10,0,15,15,24,17,18,8,10,24,18,23,16,8,22,14,17,15,18,0,16,16,17,16,17,16,17,17,15,18,22,10,15,0,17,0,24,24,9,23,10,8,0,17,10,17,18,0,2,24,17,21,24,17,0,15,15,15,15,17,9,8,15,16,15,15,9,16,14,15,16,16,16,0,15,15,16,15,14,15,15,8,16,15,8,16,0,15,0,15,15,7,14,8,8,0,15,8,15,16,0,0,15,15,14,15,9,0,16,15,16,16,18,8,10,16,16,18,17,8,15,14,17,15,16,16,15,0,16,15,16,16,16,16,7,17,15,9,15,0,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,17,11,0,15,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,15,17,8,9,15,16,15,14,8,15,14,16,15,16,16,16,15,15,0,15,14,15,15,8,17,16,8,15,0,15,0,15,15,7,14,9,9,0,15,9,15,16,0,0,15,15,14,16,9,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,0,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,18,16,16,16,9,0,16,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,0,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,16,11,8,8,9,15,8,14,7,10,15,7,8,8,8,15,8,7,8,8,8,9,8,8,0,10,15,8,10,0,8,0,15,15,7,14,10,10,0,8,1,10,8,0,0,17,8,16,15,15,0,10,8,17,19,19,8,11,17,18,17,16,10,15,14,18,15,18,18,16,17,17,17,17,18,17,17,10,0,16,10,17,0,17,0,17,17,9,16,13,11,0,17,11,19,18,0,2,19,17,16,18,11,0,17,15,22,15,16,8,9,22,15,22,14,8,22,14,16,15,15,22,15,15,15,16,15,14,15,15,15,16,0,8,15,0,15,0,22,22,7,21,9,9,0,15,9,15,15,0,0,22,15,21,23,16,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,0,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,15,17,16,9,8,15,15,15,15,11,16,14,15,16,15,15,16,15,15,15,15,16,15,15,10,17,15,8,0,0,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,9,0,18,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,0,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,0,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,0,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,10,12,11,8,11,10,10,10,9,10,8,7,11,8,10,10,8,10,10,9,10,11,10,10,10,13,9,10,10,0,10,0,10,10,9,9,0,11,0,10,4,12,10,0,2,12,10,9,11,11,0,10,8,8,10,9,8,9,8,8,8,7,10,8,7,9,8,8,8,8,8,8,9,8,9,8,8,10,11,9,8,10,0,8,0,8,8,7,7,11,0,0,8,2,10,8,0,0,10,8,9,9,9,0,10,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,10,10,11,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,0,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,0,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,0,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,24,19,17,8,10,24,17,23,16,10,22,14,17,15,17,24,15,16,17,15,17,18,17,17,17,19,22,10,17,0,17,0,24,24,9,23,12,10,0,17,10,19,17,0,2,0,17,23,24,17,0,17,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,21,16,14,7,7,21,14,21,14,9,21,14,14,14,14,21,14,14,14,14,14,16,14,14,16,16,21,7,16,0,14,0,21,21,7,21,9,9,0,14,7,16,14,0,0,23,14,0,21,14,0,16,14,24,17,18,8,11,24,17,24,16,8,22,14,18,15,17,24,15,17,17,16,17,16,17,17,15,18,23,10,15,0,17,0,24,24,9,23,11,9,0,17,11,17,17,0,2,24,17,21,0,18,0,15,15,17,10,12,9,11,17,10,18,10,9,16,7,11,9,10,17,9,11,10,9,10,9,10,10,15,11,16,10,9,0,10,0,17,17,9,16,11,9,0,10,4,10,10,0,2,17,10,14,18,0,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,16,9,8,15,15,15,15,11,16,14,15,16,15,15,16,15,15,15,15,16,15,15,10,17,15,8,18,0,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,9,0,0,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,0,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,0,0,12,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,0,16,16,8,15,23,17,15,17,19,15,18,17,15,24,16,19,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,26,0,9,17,17,14,17,10,0,15,15,17,16,17,7,9,16,16,0,16,7,14,14,16,14,16,17,15,16,16,14,16,16,16,16,7,17,14,9,14,16,0,0,17,17,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,15,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,0,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,14,14,14,7,9,14,23,14,14,7,14,0,14,14,14,16,14,16,14,14,21,14,16,14,7,14,16,7,14,14,0,0,16,16,7,14,7,7,0,14,9,14,23,0,7,14,14,14,14,7,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,0,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,3,17,18,14,17,10,0,15,15,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,0,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,20,20,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,0,14,15,15,15,14,15,15,8,16,15,8,15,15,0,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,15,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,0,0,18,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,17,17,8,10,17,24,16,16,8,15,21,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,24,0,9,17,17,14,17,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,10,14,16,0,1,16,16,10,17,9,7,1,16,9,17,16,1,2,16,17,15,16,9,0,14,14,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,0,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,0,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,0,0,18,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,15,15,15,8,10,15,17,14,14,8,15,16,15,15,15,17,15,16,15,15,15,14,17,15,8,15,0,8,15,15,0,0,17,17,7,14,8,8,0,15,10,15,17,0,0,15,15,14,15,8,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,10,10,10,8,10,8,0,8,10,0,1,10,10,10,10,10,8,1,10,3,11,10,1,2,10,11,8,10,10,0,8,8,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,0,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,20,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,0,20,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,20,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,10,9,9,7,9,7,10,7,9,0,1,9,9,0,10,9,7,1,9,2,10,9,1,2,9,10,8,9,9,0,7,7,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,17,16,16,7,16,14,10,14,16,0,1,16,16,10,0,9,7,1,16,9,17,16,1,2,16,17,15,16,9,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,0,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,0,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,17,17,17,8,17,15,11,15,17,0,1,17,17,10,17,10,8,1,17,10,0,17,1,2,17,18,15,17,10,0,15,15,17,17,17,8,12,17,26,16,16,8,15,23,17,15,17,19,15,18,17,15,24,16,19,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,0,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,2,2,2,0,2,2,9,2,2,0,0,7,2,0,3,2,0,2,2,0,9,2,2,2,0,2,0,2,0,2,0,0,2,2,2,2,2,0,0,2,2,2,9,0,0,2,3,0,2,2,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,18,17,15,16,17,15,17,17,17,17,8,17,15,11,15,17,0,1,17,17,10,17,10,8,1,17,10,18,17,1,3,17,0,15,17,10,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,15,14,14,7,14,14,8,14,14,0,1,14,14,8,15,7,7,1,14,7,15,14,1,0,14,15,0,14,7,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,0,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,0,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,8,10,25,18,24,16,8,22,14,18,15,17,25,16,16,17,15,17,16,17,18,15,18,23,10,15,24,18,0,0,25,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,16,16,18,0,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,0,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,0,12,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,25,18,17,8,10,0,19,23,16,9,22,15,18,16,18,24,16,16,17,15,17,16,18,19,16,17,23,10,16,24,17,0,0,25,9,23,10,9,0,18,10,17,17,0,3,25,17,21,25,17,0,15,17,18,18,17,8,12,19,0,16,16,9,15,17,18,16,18,19,16,18,17,15,17,16,20,19,9,17,18,10,16,17,19,0,0,20,9,16,10,9,0,18,12,17,19,0,3,18,17,14,18,10,0,15,17,24,16,17,7,9,23,16,0,16,7,21,14,16,14,16,24,15,16,16,14,16,16,16,16,14,17,21,9,14,23,17,0,0,24,9,23,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,15,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,0,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,0,9,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,22,15,15,8,8,22,15,21,14,8,0,14,15,15,15,22,15,14,15,15,15,14,15,15,15,15,22,8,15,22,15,0,0,22,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,15,15,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,17,15,8,14,16,7,15,14,16,0,0,17,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,18,18,17,8,10,18,18,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,16,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,17,17,17,8,10,18,18,16,16,9,15,15,17,16,0,17,16,16,17,15,17,16,18,18,9,17,15,10,16,17,17,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,25,17,18,8,12,24,19,24,16,8,22,16,17,15,17,0,16,18,17,15,17,16,19,17,15,18,24,10,15,24,20,0,0,27,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,15,16,15,16,8,8,16,16,15,14,9,15,15,15,16,16,16,0,14,15,15,15,14,16,16,9,16,15,8,16,15,16,0,0,17,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,16,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,0,18,9,16,9,7,0,16,11,16,18,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,0,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,0,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,17,17,8,12,18,20,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,0,18,9,17,17,10,16,17,19,0,0,20,9,16,10,8,0,17,12,17,24,0,2,17,17,14,17,10,0,15,16,18,18,17,8,10,19,19,16,16,9,15,15,18,16,18,17,16,16,17,15,17,16,18,0,9,17,16,10,16,17,17,0,0,18,9,16,10,9,0,18,10,17,17,0,3,18,17,14,18,10,0,15,17,15,8,8,8,8,16,9,14,7,9,15,8,8,9,9,15,9,7,8,8,8,7,9,9,0,8,15,8,9,15,8,0,0,16,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,0,18,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,23,16,15,8,10,23,18,21,14,8,22,16,16,15,15,24,15,16,15,15,15,14,17,16,15,15,0,8,15,22,17,0,0,24,7,21,8,9,0,16,10,15,17,0,1,23,15,21,23,15,0,15,16,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,0,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,0,24,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,20,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,0,20,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,17,18,8,12,25,20,24,16,9,22,17,17,16,18,27,17,18,17,15,17,16,20,18,16,18,24,10,16,24,20,0,0,0,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,16,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,0,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,0,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,0,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,0,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,18,10,0,15,16,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,0,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,24,17,8,17,17,10,15,17,19,0,0,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,0,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,0,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,25,17,0,15,16,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,0,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,0,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,0,17,0,15,16,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,0,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,16,16,15,8,8,17,17,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,17,9,15,16,8,16,15,15,0,0,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,0,17,18,8,10,24,17,25,16,8,22,14,17,15,18,25,16,17,18,15,18,16,17,17,15,18,22,10,15,24,18,0,25,0,9,23,10,8,0,18,10,18,17,0,2,24,17,21,24,17,0,16,15,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,18,17,0,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,18,15,10,15,17,18,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,0,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,0,9,9,10,8,0,10,5,10,12,0,2,10,10,7,10,10,0,8,8,24,17,17,8,10,0,18,23,16,9,22,15,17,16,18,24,16,16,17,15,17,16,18,18,16,17,22,10,16,24,17,0,25,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,16,17,17,17,8,12,18,0,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,20,18,9,17,17,10,16,17,19,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,16,25,16,17,7,9,23,16,0,16,7,21,14,16,14,17,24,15,17,17,14,17,16,16,16,14,17,21,9,14,23,17,0,24,0,9,23,9,7,0,17,9,17,16,0,2,23,16,21,23,16,0,15,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,0,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,9,9,7,7,0,8,8,8,9,9,8,9,7,8,8,8,7,9,9,9,8,8,8,9,8,8,0,9,0,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,8,0,8,9,22,15,15,8,8,22,15,21,14,8,0,14,15,15,15,22,15,14,15,15,15,14,15,15,15,15,22,8,15,22,15,0,22,0,7,21,8,8,0,15,8,15,15,0,0,22,15,21,22,15,0,15,15,14,14,14,7,9,15,17,14,14,8,14,0,14,15,15,16,15,16,14,14,14,14,17,15,8,14,16,7,15,14,16,0,17,0,7,14,7,7,0,14,9,14,16,0,0,14,14,14,14,7,0,14,15,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,16,16,14,14,9,15,15,15,0,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,18,17,17,8,10,18,18,17,16,9,15,15,17,16,0,17,16,17,18,15,18,16,18,18,9,17,15,10,16,17,17,0,18,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,16,25,17,18,8,12,24,19,24,16,8,22,16,17,15,17,0,16,18,17,15,17,16,19,17,15,18,24,10,15,24,20,0,27,0,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,15,16,15,16,8,8,16,16,15,14,9,15,15,15,16,16,16,0,14,15,15,15,14,16,16,9,16,15,8,16,15,16,0,17,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,16,16,17,16,16,7,11,16,18,17,16,7,14,16,16,14,17,18,14,0,17,14,17,16,18,16,7,16,16,9,14,16,18,0,18,0,9,16,9,7,0,17,11,17,18,0,2,16,16,14,16,9,0,14,14,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,15,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,18,17,0,2,17,17,14,17,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,0,9,16,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,17,17,17,8,12,18,20,16,16,9,15,17,17,16,18,19,16,18,17,15,17,16,0,18,9,17,17,10,16,17,19,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,15,16,17,17,17,8,10,18,18,16,16,9,15,15,17,16,18,17,16,16,17,15,17,16,18,0,9,17,15,10,16,17,17,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,15,16,15,8,8,8,8,16,9,14,7,9,15,8,8,9,9,15,9,7,8,8,8,7,9,9,0,8,15,8,9,15,8,0,16,0,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,15,0,8,9,18,17,18,8,10,17,17,17,16,8,15,14,17,15,17,18,16,16,17,15,17,16,17,17,8,0,15,10,15,17,18,0,18,0,9,16,10,8,0,17,10,17,17,0,2,17,17,14,17,10,0,16,15,22,15,15,8,10,22,17,21,14,8,22,16,15,15,15,24,15,16,15,15,15,14,17,15,15,15,0,8,15,22,17,0,24,0,7,21,8,8,0,15,10,15,17,0,0,22,15,21,22,15,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,0,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,0,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,16,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,0,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,24,17,0,15,15,18,17,18,8,12,17,19,17,16,8,15,16,17,15,17,20,16,18,17,15,17,16,19,17,8,18,17,10,15,17,0,0,20,0,9,16,10,8,0,17,12,17,19,0,2,17,17,14,17,10,0,16,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,17,18,8,12,25,20,24,16,9,22,17,17,16,18,27,17,18,17,15,17,16,20,18,16,18,24,10,16,24,20,0,0,0,9,23,10,8,0,17,12,17,19,0,2,24,17,21,24,17,0,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,0,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,0,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,0,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,0,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,0,10,18,17,0,2,17,17,14,17,10,0,15,15,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,0,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,19,17,8,17,17,10,15,17,19,0,19,0,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,0,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,24,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,0,17,21,24,17,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,0,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,24,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,0,17,0,15,15,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,0,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,0,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,0,7,16,9,9,11,18,14,7,7,18,14,16,9,14,16,18,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,7,7,7,0,7,7,7,7,7,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,14,7,14,7,7,7,0,7,7,0,7,7,14,0,7,0,7,7,0,7,7,7,7,7,14,0,7,7,9,9,16,7,0,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,9,9,9,7,9,0,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,9,7,9,9,0,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,11,7,9,9,9,0,12,7,7,8,11,7,9,9,7,10,11,7,9,10,9,9,7,9,7,9,7,9,9,0,9,9,0,10,9,7,0,9,2,9,9,0,3,9,9,8,9,9,0,7,7,9,9,18,7,16,9,9,12,0,14,7,8,18,14,16,9,14,17,18,7,9,17,16,9,7,9,7,16,14,9,9,0,9,9,0,10,16,14,0,16,2,16,9,0,3,9,16,8,9,9,0,14,14,7,7,14,14,14,7,7,7,14,0,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,14,7,22,14,7,7,0,7,7,0,7,14,22,0,14,0,14,7,0,7,7,14,7,7,14,0,14,14,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,8,8,7,7,0,7,7,7,7,7,8,7,7,7,8,7,7,7,7,7,7,7,7,7,0,7,7,0,8,7,7,0,7,0,7,7,0,1,7,7,8,7,7,0,7,7,9,9,18,7,16,9,9,11,18,14,7,7,0,14,16,9,14,16,18,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,7,7,14,7,14,7,7,7,14,14,7,7,14,0,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,9,9,16,7,16,9,9,9,16,14,7,7,16,14,0,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,0,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,0,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,9,9,16,7,16,9,9,10,17,14,7,8,16,14,16,9,14,0,16,7,9,17,16,9,7,9,7,16,14,9,9,0,9,9,0,10,16,14,0,16,2,16,9,0,3,9,16,8,9,9,0,14,14,9,9,18,7,16,9,9,11,18,14,7,7,18,14,16,9,14,16,0,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,7,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,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,0,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,16,7,16,9,9,10,17,14,7,8,16,14,16,9,14,17,16,7,9,0,16,9,7,9,7,17,14,9,10,1,9,9,0,11,16,14,1,16,2,17,9,1,3,9,17,9,9,9,0,14,14,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,0,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,0,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,7,7,7,7,7,7,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,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,9,9,9,14,9,9,9,9,9,14,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,0,7,16,7,9,9,0,9,9,0,9,9,14,0,9,2,9,9,0,9,9,9,7,9,16,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,0,7,7,0,7,7,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,9,9,16,14,16,9,9,9,16,22,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,16,7,0,14,9,10,1,9,9,0,10,16,22,1,16,2,17,9,1,9,9,17,8,9,16,0,14,14,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,0,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,14,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,0,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,10,9,9,7,9,7,10,7,9,0,1,9,9,0,10,9,7,1,9,2,10,9,1,2,9,10,8,9,9,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,0,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,0,0,9,9,7,0,9,2,9,9,0,2,9,9,7,9,9,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,7,9,9,9,10,10,7,7,8,9,7,9,9,7,10,9,7,9,11,9,9,7,9,7,10,7,9,10,1,9,9,0,0,9,7,1,9,2,10,9,1,3,9,10,9,9,9,0,7,7,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,0,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,7,7,14,14,14,7,7,7,14,22,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,14,7,22,14,7,7,0,7,7,0,7,14,0,0,14,0,14,7,0,7,7,14,7,7,14,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,0,2,16,9,0,2,9,16,7,9,9,0,14,14,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,0,2,2,0,0,2,0,2,2,0,2,2,2,0,2,2,0,0,0,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,9,7,17,14,9,10,1,9,9,0,10,16,14,1,16,2,0,9,1,2,9,17,8,9,9,0,14,14,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,0,0,2,9,9,7,9,9,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,2,2,2,7,2,2,2,3,3,7,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,9,0,9,0,2,2,0,2,2,0,3,2,7,0,2,2,2,2,0,0,2,2,1,2,9,0,0,0,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,0,9,7,9,9,0,7,7,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,9,7,17,14,9,10,1,9,9,0,10,16,14,1,16,2,17,9,1,2,9,0,8,9,9,0,14,14,7,7,7,7,7,7,7,8,8,7,7,8,7,7,7,7,7,8,7,7,7,9,7,7,7,7,7,8,7,7,8,1,7,7,0,9,7,7,1,7,0,8,7,1,1,7,8,0,7,7,0,7,7,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,0,9,0,7,7,9,9,9,14,9,9,9,9,9,14,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,16,7,16,7,9,9,0,9,9,0,9,9,14,0,9,2,9,9,0,9,9,9,7,9,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,0,14,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,0,0,16,16,7,9,23,16,23,16,7,23,14,16,16,18,23,14,16,16,16,16,16,16,16,14,16,21,11,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,4,23,18,21,25,18,0,14,14,16,0,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,0,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,7,7,7,0,14,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,0,14,7,0,7,7,7,7,0,0,7,7,14,7,7,0,14,7,9,9,9,14,0,16,9,16,16,14,14,7,9,14,9,9,7,9,16,7,9,9,9,9,7,16,7,9,7,9,9,0,9,9,9,0,16,7,0,9,9,9,9,0,2,9,9,14,9,9,0,14,7,23,16,16,14,16,0,16,30,23,14,28,14,16,21,16,23,14,16,23,14,16,16,16,16,14,23,21,9,14,23,16,0,23,23,9,0,16,7,0,16,16,16,16,0,2,23,16,28,23,16,0,21,14,16,16,16,7,9,16,0,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,23,16,16,14,16,30,16,0,24,14,28,15,16,21,16,23,14,17,23,14,16,17,16,16,14,23,21,9,14,23,16,0,23,23,10,0,16,7,0,16,16,16,16,0,3,23,16,29,23,16,0,21,14,16,16,16,14,16,23,16,24,0,14,21,15,16,21,16,16,14,17,23,14,16,18,16,16,7,23,14,9,14,16,16,0,16,16,10,0,16,7,0,16,16,16,16,0,3,16,16,23,16,9,0,21,14,7,7,7,14,14,14,7,14,14,0,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,0,14,7,0,7,7,7,7,0,0,7,7,14,7,7,0,14,7,23,14,14,14,14,28,14,28,21,14,0,14,14,23,16,21,14,14,21,16,14,14,14,14,14,21,21,9,14,21,14,0,21,21,7,0,14,7,0,14,14,14,14,0,2,21,16,28,23,16,0,21,14,14,14,14,7,7,14,14,15,15,7,14,0,14,14,14,14,14,15,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,0,7,7,0,14,7,14,14,0,1,14,14,15,14,7,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,0,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,14,14,14,14,21,14,21,21,14,23,14,14,0,16,14,14,14,21,16,14,14,14,14,7,21,14,9,14,14,14,0,14,14,7,0,14,7,0,14,14,14,14,0,2,14,16,21,16,9,0,21,14,18,16,16,7,9,16,16,16,16,7,16,14,16,16,0,16,14,16,16,16,16,16,16,16,7,16,14,11,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,4,16,18,14,18,11,0,14,14,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,0,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,0,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,16,16,16,7,9,16,16,17,17,7,14,15,16,14,16,16,14,0,16,14,16,17,16,16,7,16,14,9,14,16,16,0,16,16,10,0,9,7,0,16,9,16,16,0,3,16,16,16,16,9,0,14,14,16,16,16,14,16,23,16,23,23,14,21,14,16,21,16,16,14,16,0,14,16,16,16,16,7,23,14,9,14,16,16,0,16,16,9,0,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,16,14,14,7,7,14,14,14,14,7,16,14,14,16,16,14,14,14,14,0,14,14,14,14,7,14,14,9,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,2,14,16,14,16,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,0,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,17,18,7,14,15,16,14,16,16,14,17,16,14,16,0,16,16,7,16,14,10,14,16,17,1,16,16,11,0,9,7,1,16,9,17,16,1,3,16,17,17,16,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,0,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,0,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,16,0,2,16,16,14,16,9,0,14,14,14,7,7,7,7,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,0,7,14,7,7,14,7,0,14,14,7,0,7,7,0,7,0,7,7,0,0,14,7,14,14,14,0,7,7,16,16,16,14,16,23,16,23,23,14,21,14,16,21,16,16,14,16,23,14,16,16,16,16,7,0,14,9,14,16,16,0,16,16,9,0,16,7,0,16,16,16,16,0,2,16,16,21,16,9,0,21,14,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,0,7,14,21,14,0,21,21,7,0,7,7,0,14,7,14,14,0,0,21,14,21,21,14,0,14,14,11,9,9,7,9,9,9,9,9,7,9,7,9,9,11,9,7,9,9,9,9,10,9,9,7,9,7,0,7,9,10,1,9,9,10,0,9,7,1,9,2,10,9,1,4,9,12,8,11,11,0,7,7,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,0,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,14,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,0,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,17,16,16,7,16,14,10,14,16,0,1,16,16,10,0,9,7,1,16,9,17,16,1,2,16,17,15,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,0,23,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,0,9,0,9,7,0,16,9,16,16,0,2,23,16,21,23,16,0,14,14,9,9,9,7,9,9,9,10,10,7,7,8,9,7,9,9,7,10,9,7,9,11,9,9,7,9,7,10,7,9,10,1,9,9,0,0,9,7,1,9,2,10,9,1,3,9,10,9,9,9,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,14,16,16,9,16,16,14,14,7,9,14,9,9,7,9,16,7,9,9,9,9,7,16,7,9,7,9,9,0,9,9,9,0,0,7,0,9,9,9,9,0,2,9,9,14,9,9,0,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,0,7,0,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,0,9,16,16,0,2,16,16,14,16,9,0,14,14,9,9,9,7,9,16,9,16,16,7,14,7,9,14,9,9,7,9,16,7,9,9,9,9,0,16,7,2,7,9,9,0,9,9,2,0,9,0,0,9,0,9,9,0,2,9,9,14,9,2,0,14,7,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,17,16,16,7,16,14,10,14,16,17,1,16,16,10,0,9,7,1,16,9,0,16,1,2,16,17,15,16,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,4,2,2,0,2,2,2,3,3,0,2,1,2,2,4,2,0,3,2,2,2,3,2,2,0,2,0,4,0,2,2,0,2,2,3,0,2,0,0,2,2,2,2,0,0,2,4,1,4,4,0,0,0,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,0,16,21,23,16,0,14,14,18,16,16,7,9,16,16,16,16,7,16,14,16,16,18,16,14,16,16,16,16,17,16,16,7,16,14,12,14,16,17,1,16,16,10,0,9,7,1,16,9,17,16,1,4,16,0,15,18,11,0,14,14,21,14,14,14,14,28,14,29,23,14,28,15,14,21,14,21,14,16,21,14,14,17,14,14,14,21,21,8,14,21,15,1,21,21,9,0,14,7,1,14,14,15,14,1,1,21,15,0,21,14,0,21,14,25,16,16,7,9,23,16,23,16,7,23,14,16,16,18,23,14,16,16,16,16,16,16,16,14,16,21,11,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,4,23,18,21,0,18,0,14,14,18,9,9,7,9,16,9,16,9,7,16,7,9,9,11,16,7,9,9,9,9,9,9,9,14,9,14,11,7,16,9,0,16,16,9,0,9,7,0,9,2,9,9,0,4,16,11,14,18,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,14,14,21,14,21,21,14,21,14,14,21,14,14,14,14,21,14,14,14,14,14,7,21,14,7,14,14,14,0,14,14,7,0,14,7,0,14,14,14,14,0,0,14,14,21,14,7,0,0,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,0,0,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,0,10,8,10,10,10,9,9,10,8,7,10,8,10,10,8,9,10,8,10,11,10,10,10,12,8,10,10,12,10,0,10,10,9,9,0,10,0,10,3,12,10,0,2,12,10,9,10,10,0,10,8,10,10,0,8,18,10,10,10,16,15,8,7,18,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,0,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,8,8,8,0,15,15,8,14,14,15,15,7,8,15,8,8,8,7,15,8,8,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,0,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,8,10,10,18,15,0,17,10,17,23,22,15,7,18,22,17,10,15,17,24,9,10,16,17,10,8,18,9,17,15,11,10,0,10,10,16,16,0,16,0,17,11,17,10,0,2,10,17,14,11,11,0,22,15,10,10,10,15,17,0,10,16,16,15,15,7,10,15,10,10,8,9,17,8,10,9,10,10,8,17,8,10,8,10,10,0,10,10,9,16,0,8,0,10,10,10,10,0,2,10,10,14,10,10,0,15,8,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,10,14,17,16,9,0,16,14,14,7,10,14,9,9,7,10,16,8,9,9,9,9,7,17,8,9,7,10,9,0,9,9,9,16,0,8,0,9,10,9,9,0,2,9,9,14,10,10,0,14,7,9,9,16,14,23,16,9,16,0,21,14,7,16,21,16,9,14,16,23,7,9,16,16,9,7,16,7,16,14,9,9,0,9,9,16,16,0,14,0,16,9,16,9,0,2,9,16,14,9,9,0,21,14,8,10,15,15,22,15,8,14,21,0,15,7,15,22,15,8,15,14,22,8,8,16,15,8,10,17,8,15,17,10,8,0,8,8,14,14,0,17,0,15,8,17,8,0,0,10,15,16,8,8,0,24,15,8,8,8,15,15,15,8,14,14,15,0,7,8,15,8,8,8,7,15,8,8,7,8,8,8,15,8,8,8,8,8,0,8,8,7,14,0,8,0,8,8,8,8,0,0,8,8,14,8,8,0,15,8,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,7,0,7,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,10,10,18,8,18,10,10,10,16,15,8,7,0,15,17,10,15,17,17,9,10,16,17,10,8,11,9,17,15,11,10,0,10,10,16,9,0,16,0,17,4,17,10,0,2,10,17,7,11,11,0,15,15,8,8,15,15,22,15,8,14,21,22,15,7,15,0,15,8,15,14,22,8,8,14,15,8,8,15,8,15,15,8,8,0,8,8,14,14,0,15,0,15,8,15,8,0,0,8,15,14,8,8,0,22,15,10,10,17,8,17,10,10,9,16,15,8,7,17,15,0,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,0,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,0,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,0,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,9,9,17,7,17,9,9,10,16,14,7,7,17,14,16,9,14,0,16,8,9,16,16,9,7,10,8,16,14,10,9,0,9,9,16,9,0,15,0,16,3,16,9,0,2,9,16,7,10,10,0,14,14,10,10,17,15,24,17,10,16,23,22,15,7,17,22,17,10,15,16,0,8,10,16,17,10,8,17,8,17,15,10,10,0,10,10,16,16,0,15,0,17,10,17,10,0,2,10,17,14,10,10,0,22,15,8,8,9,8,9,8,8,8,7,8,8,7,9,8,8,8,8,8,8,0,8,7,8,8,8,9,9,8,8,9,8,0,8,8,7,7,0,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,11,16,7,16,9,9,9,16,16,7,7,16,14,16,9,14,16,16,7,9,0,16,9,9,11,7,16,16,11,9,0,9,9,16,9,0,16,0,16,2,18,9,0,2,11,16,9,9,9,0,16,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,0,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,10,8,0,8,8,7,7,0,10,0,8,1,10,8,0,0,10,8,9,8,8,0,10,8,10,12,11,15,18,17,10,17,16,17,15,7,11,15,10,10,8,10,17,9,10,11,10,10,10,0,9,10,10,13,10,0,10,10,9,16,0,11,0,10,11,12,10,0,2,12,10,16,11,11,0,17,8,8,8,9,8,9,8,8,8,7,8,8,7,9,8,8,8,8,8,8,9,8,7,8,8,8,9,0,8,8,9,8,0,8,8,7,7,0,9,0,8,2,8,8,0,0,8,8,7,9,9,0,8,8,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,17,7,10,10,0,15,15,8,10,15,8,15,8,8,7,14,17,8,7,15,15,15,8,15,14,15,8,8,16,15,8,10,10,8,15,0,10,8,0,8,8,14,7,0,17,0,15,1,17,8,0,0,10,15,9,8,8,0,17,15,10,12,11,8,11,10,10,10,9,10,8,7,11,8,10,10,8,10,10,9,10,11,10,10,10,13,9,10,10,0,10,0,10,10,9,9,0,11,0,10,4,12,10,0,2,12,10,9,11,11,0,10,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,0,0,10,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,0,10,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,0,9,9,0,8,0,10,3,10,10,0,2,10,10,7,10,10,0,8,8,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,0,14,0,16,2,16,9,0,2,9,16,7,9,9,0,14,14,9,9,9,14,16,16,9,16,16,14,14,7,9,14,9,9,7,9,16,7,9,9,9,9,7,16,7,9,7,9,9,0,9,9,9,0,0,7,0,9,9,9,9,0,2,9,9,14,9,9,0,14,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,16,8,16,8,8,8,14,17,8,7,16,15,15,8,15,15,15,9,8,16,15,8,10,11,9,15,17,11,8,0,8,8,14,7,0,0,0,15,2,17,8,0,0,10,15,9,9,9,0,17,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,3,3,4,8,11,10,3,10,9,8,8,0,4,8,3,3,1,3,10,2,3,2,3,3,1,11,2,3,1,4,3,0,3,3,2,9,0,2,0,3,0,3,3,0,2,3,3,7,4,4,0,8,1,10,12,17,8,17,10,10,9,16,17,8,7,17,15,17,10,15,16,17,8,10,18,17,10,10,12,8,17,17,12,10,0,10,10,16,9,0,17,0,17,3,0,10,0,2,12,17,9,10,10,0,17,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,0,0,2,10,10,7,10,10,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,0,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,10,12,10,8,10,10,10,9,9,10,8,7,10,8,10,10,8,9,10,8,10,11,10,10,10,12,8,10,10,12,10,0,10,10,9,9,0,10,0,10,3,12,10,0,2,0,10,9,10,10,0,10,8,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,0,7,10,10,0,15,15,7,9,7,14,14,14,7,14,14,16,14,7,7,14,7,7,7,7,14,7,7,9,7,7,9,16,7,7,9,9,7,0,7,7,7,14,0,9,0,7,7,9,7,0,0,9,7,0,7,7,0,16,7,10,10,11,8,11,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,0,9,0,10,4,10,10,0,2,10,10,7,0,11,0,8,8,10,10,11,8,11,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,0,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,15,15,22,15,8,14,21,24,15,7,15,22,15,8,15,14,22,8,8,16,15,8,10,17,8,15,17,10,8,0,8,8,14,14,0,17,0,15,8,17,8,0,0,10,15,16,8,8,0,0,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,0,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,0,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,9,0,8,8,8,9,9,7,7,12,8,7,9,8,8,8,8,7,8,8,8,9,8,9,10,10,9,8,10,10,8,0,9,8,7,7,10,0,0,9,1,10,8,0,1,13,8,9,9,8,0,10,9,8,8,0,8,16,8,8,8,14,15,8,7,17,15,15,8,15,15,15,9,8,14,15,8,8,9,10,15,16,9,8,0,8,8,14,7,16,0,0,15,2,15,8,0,0,8,15,7,10,9,0,15,15,8,8,8,0,8,8,8,7,7,15,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,15,8,15,8,8,8,0,8,8,14,7,8,0,0,8,1,8,8,0,7,8,8,7,8,15,0,8,8,8,8,16,8,0,8,8,8,14,15,8,7,16,15,15,8,15,15,15,9,8,14,15,8,8,9,9,15,15,9,8,0,8,8,14,7,16,0,0,15,2,15,8,0,0,8,15,7,9,9,0,15,15,9,9,8,8,8,0,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,9,9,8,8,8,9,0,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,7,7,8,7,8,7,7,0,7,7,7,7,8,7,7,7,7,8,7,8,7,7,7,7,7,8,8,7,7,8,7,0,7,7,7,7,8,0,0,7,1,7,7,0,0,7,7,7,8,8,0,7,7,7,7,14,7,14,7,7,7,0,14,7,7,14,14,14,7,14,15,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,14,7,14,0,0,14,0,15,7,0,0,7,14,7,7,7,0,14,14,8,12,15,15,15,8,8,7,14,0,10,9,15,17,15,8,17,14,15,10,8,16,15,8,12,17,10,23,19,10,8,0,8,8,22,7,17,0,0,15,1,17,8,0,7,12,15,11,8,15,0,19,17,8,8,8,8,8,8,8,7,7,10,0,9,8,10,8,8,10,7,8,10,8,7,8,8,10,8,10,8,10,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,9,8,8,0,10,10,7,7,7,7,7,7,7,7,7,9,9,0,7,9,7,7,9,7,7,9,7,7,7,7,9,7,9,7,9,7,7,0,7,7,7,7,7,0,0,7,0,7,7,0,0,7,7,9,7,7,0,9,9,9,9,17,8,16,9,9,8,14,15,8,7,0,15,15,8,15,15,15,9,8,14,15,9,8,9,11,15,16,9,8,0,9,8,14,7,16,0,0,16,2,15,8,0,1,9,15,7,11,9,0,15,16,8,8,15,8,15,8,8,7,14,17,10,9,15,0,15,8,17,14,15,10,8,14,15,8,10,8,10,15,17,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,9,8,8,0,17,17,8,8,15,8,15,8,8,7,14,15,8,7,15,15,0,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,0,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,8,8,15,8,15,8,8,7,14,17,10,9,15,17,15,8,0,14,15,10,8,14,15,8,10,8,10,15,17,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,9,8,8,0,17,17,7,7,15,7,15,7,7,8,15,14,7,7,15,14,14,7,14,0,14,8,7,14,14,7,7,8,8,14,14,8,7,0,7,7,14,7,15,0,0,14,1,15,7,0,0,7,14,7,8,8,0,14,14,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,0,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,8,8,9,8,9,8,8,8,7,10,10,9,9,10,8,8,10,8,8,0,8,7,8,8,10,9,11,8,10,9,8,0,8,8,7,7,9,0,0,8,2,8,8,0,0,8,8,9,9,9,0,10,10,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,0,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,7,9,14,7,14,7,7,7,14,16,7,7,14,14,14,7,14,14,14,7,7,0,14,7,9,9,7,14,16,9,7,0,7,7,14,7,16,0,0,14,0,16,7,0,0,9,14,9,7,7,0,16,14,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,0,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,15,7,8,8,0,15,15,9,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,0,8,8,9,8,8,8,8,0,9,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,8,10,8,8,8,8,8,7,7,12,10,9,8,10,8,8,10,7,8,10,8,9,8,8,0,10,10,8,12,10,8,0,8,8,7,7,10,0,0,8,1,10,8,0,0,10,8,11,8,8,0,12,10,8,10,9,15,9,8,8,8,7,17,8,7,9,8,8,8,8,8,8,9,8,9,8,8,10,0,9,15,11,11,8,0,8,8,14,7,11,0,0,8,2,10,8,0,7,10,8,9,9,16,0,10,8,9,9,10,8,9,9,9,8,7,10,10,9,11,10,8,8,10,8,8,11,8,7,8,9,10,9,0,8,11,9,8,0,9,8,7,7,9,0,0,9,2,8,8,0,1,9,8,9,11,9,0,10,11,8,8,15,15,15,8,8,7,14,23,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,15,8,0,15,8,8,0,8,8,22,7,15,0,0,15,1,15,8,0,7,8,15,7,8,15,0,15,15,8,10,16,8,15,8,8,7,14,19,10,9,16,17,15,8,17,14,15,10,8,16,15,8,12,11,11,15,0,10,8,0,8,8,14,7,17,0,0,15,1,17,8,0,0,10,15,11,9,8,0,19,17,8,10,9,8,9,8,8,8,7,10,8,7,9,8,8,8,8,8,8,9,8,9,8,8,10,11,9,8,10,0,8,0,8,8,7,7,11,0,0,8,2,10,8,0,0,10,8,9,9,9,0,10,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,0,0,8,8,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,8,8,8,9,9,7,7,8,8,7,9,8,8,8,8,7,8,8,8,7,8,9,8,8,9,8,8,8,8,0,0,8,7,7,8,0,0,9,1,8,8,0,1,9,8,7,9,8,0,8,9,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,0,7,7,8,0,0,8,1,8,8,0,0,8,8,7,8,8,0,8,8,7,7,14,14,14,7,7,7,14,22,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,14,7,22,14,7,7,0,7,7,0,7,14,0,0,14,0,14,7,0,7,7,14,7,7,14,0,14,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,0,7,0,0,7,0,7,7,0,0,7,7,7,7,7,0,7,7,8,10,16,8,16,8,8,8,14,17,8,7,16,15,15,8,15,15,15,9,8,16,15,8,10,11,9,15,17,11,8,0,8,8,14,7,0,0,0,15,2,17,8,0,0,10,15,9,9,9,0,17,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,15,8,15,9,9,7,14,15,8,7,16,15,15,8,15,14,15,8,8,14,15,9,8,8,9,15,15,8,8,0,9,8,14,7,15,0,0,0,1,15,8,0,1,9,15,7,9,8,0,15,16,1,1,2,1,2,1,1,1,0,1,1,0,2,1,1,1,1,1,1,2,1,0,1,1,1,2,2,1,1,2,1,0,1,1,0,0,2,0,0,1,0,1,1,0,0,1,1,0,2,2,0,1,1,8,10,15,8,15,8,8,7,15,17,8,7,15,15,15,8,15,15,15,8,8,16,15,8,10,10,8,15,17,10,8,0,8,8,14,7,17,0,0,15,1,0,8,0,0,10,15,9,8,8,0,17,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,7,0,1,1,0,0,7,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,7,1,7,0,0,0,0,1,0,7,0,0,0,0,1,0,0,0,0,0,1,0,0,1,7,0,0,1,9,13,8,8,8,9,9,7,7,12,8,7,9,8,8,8,8,7,8,8,8,9,8,9,10,10,9,8,10,10,8,0,9,8,7,7,10,0,0,9,1,10,8,0,1,0,8,9,9,8,0,10,9,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,0,7,8,8,0,15,15,7,9,7,7,7,7,7,7,7,11,9,9,7,9,7,7,9,7,7,9,7,9,7,7,11,9,9,7,11,9,7,0,7,7,7,7,9,0,0,7,0,9,7,0,0,9,7,0,7,7,0,11,9,9,9,10,8,9,9,9,8,7,8,8,7,11,8,8,8,8,8,8,9,8,7,8,9,8,9,11,8,9,9,8,0,9,8,7,7,9,0,0,9,2,8,8,0,1,9,8,7,0,9,0,8,9,8,8,9,15,9,8,8,8,7,15,8,7,9,8,8,8,8,8,8,9,8,7,8,8,8,16,9,15,8,9,8,0,8,8,14,7,9,0,0,8,2,8,8,0,7,8,8,7,9,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,15,8,15,8,8,7,14,19,10,9,15,17,15,8,17,14,15,10,8,16,15,8,12,10,10,15,19,10,8,0,8,8,14,7,17,0,0,15,1,17,8,0,0,10,15,11,8,8,0,0,17,9,9,15,8,15,9,9,7,14,17,10,9,16,17,15,8,17,14,15,10,8,14,15,9,10,8,11,15,17,8,8,0,9,8,14,7,15,0,0,16,1,15,8,0,1,9,15,9,9,8,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,17,9,10,18,26,17,17,8,15,14,26,15,26,25,23,17,19,22,27,16,25,26,16,17,16,10,23,17,17,0,18,18,9,16,10,9,0,0,10,18,17,0,3,19,17,14,25,10,0,15,16,19,0,17,9,10,18,18,16,17,8,15,14,18,15,17,18,15,16,18,15,18,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,18,10,0,15,16,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,17,24,14,17,10,0,22,22,9,9,8,0,8,10,8,7,8,8,8,7,8,8,8,9,10,7,9,8,11,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,0,1,8,8,0,0,9,8,7,8,8,0,8,10,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,18,18,17,10,10,0,18,16,16,8,15,14,18,15,17,17,17,16,17,15,21,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,18,10,0,17,20,26,18,17,8,10,18,0,16,16,8,15,14,27,15,25,25,24,16,17,23,25,16,26,27,17,17,16,10,24,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,25,10,0,15,16,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,0,9,17,16,0,2,16,16,14,16,9,0,14,14,17,17,23,8,16,16,16,16,0,14,14,14,23,21,23,17,21,23,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,0,9,23,16,0,2,17,23,14,16,9,0,21,21,8,8,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,0,1,15,8,0,0,8,15,7,8,8,0,15,15,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,0,8,15,15,0,0,15,15,14,15,8,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,0,7,14,14,0,0,14,14,14,14,7,0,14,14,26,18,24,8,17,18,27,16,23,15,15,14,0,22,32,25,31,23,24,23,25,23,33,27,17,17,16,17,31,17,17,0,18,17,16,16,17,16,0,0,10,24,17,0,3,19,24,14,25,10,0,22,23,15,15,22,8,15,15,15,14,21,15,15,14,22,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,15,22,14,15,8,0,22,22,26,17,24,8,17,17,25,17,23,15,15,14,32,22,0,24,30,24,25,22,26,23,32,25,16,17,15,17,30,17,17,0,17,18,16,16,17,15,0,0,10,25,17,0,2,17,24,14,24,10,0,22,22,25,18,17,9,10,17,25,16,17,8,15,14,25,15,24,0,23,16,18,23,25,16,25,25,16,17,15,10,23,17,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,19,17,14,24,10,0,15,15,23,15,22,10,15,17,24,14,21,15,15,14,31,22,30,23,0,21,22,23,25,21,31,24,17,15,15,15,31,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,16,22,14,22,8,0,22,24,17,16,23,7,16,16,16,17,23,14,14,14,23,21,24,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,14,0,0,9,24,16,0,2,16,23,14,16,9,0,21,21,19,18,24,9,17,17,17,17,24,15,15,14,24,22,25,18,22,24,0,15,19,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,0,10,25,17,0,2,18,24,14,17,10,0,22,22,22,15,15,8,8,15,23,14,14,8,15,14,23,15,22,23,23,14,15,0,22,14,23,23,16,15,15,8,23,15,15,0,15,15,7,14,8,8,0,0,8,15,15,0,0,16,15,14,22,8,0,15,15,27,18,17,11,10,21,25,17,17,8,15,14,25,15,26,25,25,17,19,22,0,16,25,25,16,17,15,10,23,17,17,0,17,18,9,16,10,8,0,0,10,18,17,0,2,18,17,14,24,10,0,15,17,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,0,9,23,16,0,2,16,23,14,16,9,0,21,21,25,17,24,8,17,17,26,16,23,15,15,14,33,22,32,25,31,23,24,23,25,23,0,26,17,17,15,17,31,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,18,24,14,24,10,0,22,22,26,18,17,8,10,18,27,16,16,8,15,14,27,15,25,25,24,16,17,23,25,16,26,0,17,17,16,10,24,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,19,17,14,25,10,0,15,16,16,8,8,8,8,8,17,7,7,8,8,7,17,8,16,16,17,7,8,16,16,7,17,17,0,8,8,8,17,8,8,0,8,8,7,7,8,8,0,0,1,8,8,0,0,9,8,7,15,8,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,0,8,15,15,15,0,16,15,7,14,8,9,0,0,8,15,15,0,1,16,15,14,16,8,0,15,16,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,0,15,10,10,0,10,10,16,9,17,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,23,15,22,8,15,15,24,14,21,15,15,14,31,22,30,23,31,21,22,23,23,21,31,24,17,15,15,15,0,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,16,22,14,22,8,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,0,10,17,17,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,0,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,18,10,0,15,16,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,0,10,18,17,0,2,17,17,14,17,10,0,15,15,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,16,16,9,7,9,7,16,14,9,9,0,9,9,0,9,16,14,0,0,2,16,9,0,2,9,16,7,9,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,0,9,16,16,0,2,16,16,14,16,9,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,0,3,17,10,0,2,10,17,7,10,10,0,15,15,9,9,15,8,15,9,9,7,14,15,8,7,16,15,15,8,15,14,15,8,8,14,15,9,8,8,9,15,15,8,8,0,9,8,14,7,15,0,0,0,1,15,8,0,1,9,15,7,9,8,0,15,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,0,0,10,10,0,2,10,10,7,10,3,0,8,8,18,17,24,8,17,17,17,17,23,15,15,14,24,22,25,17,22,24,25,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,0,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,0,10,17,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,0,2,2,2,0,0,3,2,0,3,2,0,0,1,19,19,17,9,10,18,19,16,17,8,15,14,19,15,17,19,16,16,18,16,18,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,0,17,14,18,10,0,15,16,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,17,0,14,17,10,0,22,22,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,0,7,14,14,0,0,14,14,0,14,7,0,14,14,25,18,17,8,10,18,25,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,25,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,0,10,0,15,16,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,0,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,17,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,15,22,14,15,8,0,0,24,16,16,22,10,15,20,16,14,21,15,15,14,23,22,22,15,24,21,22,15,17,21,22,16,8,15,16,15,22,15,15,0,16,15,14,14,15,16,0,0,8,22,15,0,1,16,22,14,16,8,0,24,0,0,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,10,0,10,8,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,15,10,9,10,17,1,17,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,10,10,0,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,1,8,1,0,8,8,1,7,7,8,8,0,1,8,1,1,1,0,8,8,1,0,1,8,1,15,1,1,1,1,1,0,1,1,0,7,8,1,0,1,0,1,1,0,0,1,1,7,1,1,0,8,1,3,3,4,8,0,10,5,10,9,8,8,2,4,8,3,5,1,5,10,2,3,2,5,3,1,11,4,3,1,4,5,0,5,5,2,9,11,2,0,3,0,3,5,0,2,3,3,7,4,4,0,8,1,10,10,10,8,10,0,10,16,16,8,15,7,10,15,10,10,8,9,17,8,10,9,10,10,1,17,8,3,8,10,10,0,10,10,2,16,10,1,0,10,0,10,10,0,2,10,10,14,10,3,0,15,8,10,10,10,1,5,10,0,9,10,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,9,9,10,7,10,16,9,0,16,7,14,7,10,14,9,9,7,10,16,8,9,9,9,9,0,17,8,2,7,10,9,0,9,9,2,16,10,1,0,9,0,9,9,0,2,9,9,14,10,3,0,14,7,9,9,9,7,9,16,10,16,0,7,14,7,9,14,9,9,7,9,16,7,9,9,9,9,0,16,7,2,7,9,9,0,9,9,2,16,9,0,0,9,0,9,9,0,2,9,9,14,9,2,0,14,7,1,1,1,8,8,8,1,7,7,0,8,0,1,8,1,1,1,0,8,1,1,0,1,1,1,8,1,1,1,1,1,0,1,1,0,7,8,1,0,1,0,1,1,0,0,1,1,7,1,1,0,8,1,8,8,8,8,8,15,8,14,14,8,0,7,8,15,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,15,8,7,7,7,0,2,7,9,7,7,0,7,0,7,7,7,9,7,9,7,7,7,7,9,7,0,7,9,0,7,7,9,0,9,9,0,7,0,0,0,7,0,7,9,0,0,7,7,7,7,0,0,7,7,10,10,11,1,4,10,10,10,9,1,8,7,0,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,8,8,8,8,8,15,8,14,14,8,15,7,8,0,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,15,8,10,10,10,1,3,10,10,9,9,1,8,7,10,8,0,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,0,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,0,7,8,8,8,7,8,8,1,8,8,1,8,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,8,9,9,10,0,5,9,11,10,9,0,7,9,10,7,9,11,7,0,9,8,9,9,11,9,0,10,10,2,7,10,11,0,11,11,2,9,3,1,0,9,0,9,11,0,2,9,9,7,10,3,0,7,7,10,10,10,8,10,17,10,16,16,8,15,7,10,15,10,10,8,9,0,8,10,9,10,10,1,17,8,3,8,10,10,0,10,10,2,16,10,1,0,10,0,10,10,0,9,10,10,14,10,3,0,15,8,8,15,9,8,2,8,8,8,7,1,8,7,9,8,8,8,8,8,8,0,8,7,8,15,1,16,9,1,8,9,8,0,8,8,0,7,2,2,0,8,0,8,8,0,0,8,8,7,9,2,0,8,8,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,0,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,9,9,9,0,2,9,9,9,9,0,7,7,9,7,9,9,7,9,9,7,9,0,9,9,0,9,7,2,7,9,9,0,9,9,2,9,2,0,0,9,0,9,9,0,2,9,9,7,9,2,0,7,7,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,0,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,10,17,10,8,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,15,10,9,10,0,1,17,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,10,7,10,3,0,8,8,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,0,1,1,0,1,1,10,17,11,15,11,17,10,17,16,8,15,7,11,15,10,10,8,10,17,16,10,9,10,17,1,0,9,3,8,11,10,0,10,10,2,16,11,2,0,10,0,10,10,0,2,10,10,14,11,4,0,15,8,8,8,9,1,4,8,10,8,7,1,8,9,9,8,8,10,8,10,8,9,8,7,10,8,1,9,0,1,8,9,10,0,10,10,0,7,2,2,0,8,0,8,10,0,0,8,8,7,9,2,0,8,8,3,3,3,1,3,3,3,2,2,1,1,0,3,1,3,3,1,2,3,1,3,2,3,3,1,3,1,0,1,3,3,0,3,3,2,2,3,1,0,3,0,3,3,0,2,3,3,0,3,3,0,1,1,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,8,7,8,8,8,7,8,8,1,8,8,1,0,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,8,10,10,11,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,0,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,11,4,0,8,8,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,0,0,12,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,0,12,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,0,2,9,3,1,0,10,0,10,12,0,2,10,10,7,10,3,0,8,8,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,0,2,2,0,0,2,0,2,2,0,2,2,2,0,2,2,0,0,0,9,9,9,7,9,16,9,16,16,7,14,7,9,14,9,9,7,9,16,7,9,9,9,9,0,16,7,2,7,9,9,0,9,9,2,0,9,0,0,9,0,9,9,0,2,9,9,14,9,2,0,14,7,3,3,4,8,11,10,3,10,9,8,8,0,4,8,3,3,1,3,10,2,3,2,3,3,1,11,2,3,1,4,3,0,3,3,2,9,0,2,0,3,0,3,3,0,2,3,3,7,4,4,0,8,1,1,1,2,1,2,1,1,1,0,1,1,0,2,1,1,1,1,1,1,2,1,0,1,1,1,2,2,1,1,2,1,0,1,1,0,0,2,0,0,1,0,1,1,0,0,1,1,0,2,2,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,0,0,10,10,0,2,10,10,7,10,3,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,0,10,0,2,10,10,7,10,3,0,8,8,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,0,0,2,10,10,7,10,3,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,9,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,0,2,2,0,0,2,2,0,2,2,0,0,0,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,0,10,7,10,3,0,8,8,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,0,7,10,3,0,8,8,7,7,7,7,7,14,7,14,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,0,14,7,0,7,7,7,0,7,7,0,14,7,0,0,7,0,7,7,0,0,7,7,0,7,0,0,14,7,10,10,11,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,0,4,0,8,8,3,3,4,1,4,3,3,3,2,1,1,0,4,1,3,3,1,3,3,2,3,2,3,3,1,4,2,3,1,4,3,0,3,3,2,2,4,2,0,3,0,3,3,0,2,3,3,0,4,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,15,8,14,14,8,15,7,8,15,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,0,8,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,8,7,8,8,8,7,8,8,1,8,8,1,8,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,0,0,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,17,0,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,0,8,0,0,8,8,7,8,8,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,0,10,0,2,10,17,7,10,10,0,15,15,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,0,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,17,16,16,7,9,16,16,0,16,7,14,14,16,14,17,16,14,17,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,17,9,16,9,7,0,17,9,0,16,0,2,16,16,14,16,9,0,14,14,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,24,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,15,0,23,9,0,16,0,2,16,23,14,16,9,0,21,21,8,10,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,16,15,8,10,10,8,15,17,10,8,0,8,8,14,7,17,17,0,15,1,0,8,0,0,10,15,9,8,8,0,17,15,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,0,14,0,0,14,14,14,14,7,0,14,14,17,17,24,8,17,17,17,16,23,15,15,14,0,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,15,15,22,8,15,15,15,14,21,15,15,14,22,0,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,22,18,17,24,8,17,17,17,17,23,15,15,14,24,22,0,17,22,24,25,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,0,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,22,17,16,23,7,16,16,16,17,24,14,14,14,23,21,24,16,21,0,24,14,17,23,23,16,7,16,14,16,21,16,16,0,16,17,16,16,16,15,0,24,9,0,16,0,2,16,23,14,16,9,0,21,21,18,17,24,8,17,17,17,17,23,15,15,14,24,22,25,17,22,24,0,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,25,10,0,17,0,2,17,24,14,17,10,0,22,22,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,0,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,18,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,16,18,23,7,16,16,16,16,23,16,14,14,23,21,23,16,21,23,23,14,16,0,23,16,9,18,14,17,23,18,17,1,16,16,17,17,18,16,1,23,9,0,16,1,2,18,24,17,16,9,0,23,21,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,0,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,0,17,0,2,17,24,14,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,8,10,8,8,8,8,8,7,7,10,8,7,8,8,8,8,8,7,8,8,8,9,8,8,0,10,8,8,10,10,8,0,8,8,7,7,10,10,0,8,1,0,8,0,0,10,8,9,8,8,0,10,8,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,0,15,0,0,15,15,14,15,8,0,15,15,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,17,17,10,8,10,8,0,15,10,11,1,10,10,17,10,17,15,1,17,3,0,10,1,2,10,18,8,10,10,0,15,15,15,17,22,8,15,15,15,14,21,17,15,14,22,22,22,15,22,21,22,15,15,23,22,15,10,17,15,15,0,17,15,0,15,15,14,14,17,17,0,22,8,0,15,0,0,17,22,16,15,8,0,24,22,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,0,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,19,17,16,17,10,0,17,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,17,17,17,8,17,15,11,15,17,0,1,17,17,10,17,10,8,1,17,10,0,17,1,2,17,18,15,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,17,10,0,15,15,18,17,17,8,10,17,17,17,16,8,15,14,17,15,18,17,15,17,18,15,18,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,18,10,0,17,0,2,17,17,14,17,10,0,15,15,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,9,7,17,14,9,10,1,9,9,0,10,16,14,1,16,2,0,9,1,2,9,17,8,9,9,0,14,14,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,17,16,16,7,16,14,10,14,16,17,1,16,16,10,0,9,7,1,16,9,0,16,1,2,16,17,15,16,9,0,14,14,10,12,17,8,17,10,10,9,16,17,8,7,17,15,17,10,15,16,17,8,10,18,17,10,10,12,8,17,17,12,10,0,10,10,16,9,0,17,0,17,3,0,10,0,2,12,17,9,10,10,0,17,15,8,10,15,8,15,8,8,7,15,17,8,7,15,15,15,8,15,15,15,8,8,16,15,8,10,10,8,15,17,10,8,0,8,8,14,7,17,0,0,15,1,0,8,0,0,10,15,9,8,8,0,17,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,18,17,24,8,17,17,17,17,23,15,15,14,24,22,25,17,22,24,25,15,18,23,24,17,8,17,15,17,22,17,17,0,17,18,16,16,17,15,0,0,10,0,17,0,2,17,24,14,17,10,0,22,22,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,0,10,0,2,10,10,7,10,3,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,0,2,0,0,2,2,0,2,2,0,0,0,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,0,17,16,17,10,0,17,15,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,24,24,17,8,17,15,18,22,17,18,1,17,17,17,17,17,15,1,24,10,0,17,1,2,17,0,15,17,10,0,22,22,14,16,14,7,7,14,14,14,14,9,14,14,14,14,14,14,14,14,14,14,14,17,14,14,9,16,14,8,16,16,15,1,14,14,8,15,9,9,1,14,7,0,14,1,0,16,15,0,14,7,0,16,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,0,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,22,8,15,15,15,14,21,17,15,14,22,22,22,15,22,21,22,15,15,23,22,15,10,17,15,15,24,17,15,0,15,15,14,14,17,17,0,22,8,0,15,0,0,17,22,16,15,8,0,0,22,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,0,0,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,17,0,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,17,17,0,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,10,10,10,8,0,10,12,9,9,8,8,9,10,8,10,12,8,11,10,8,10,9,12,10,8,10,10,10,8,10,12,0,12,12,9,9,10,8,0,10,5,10,0,0,2,10,10,7,10,10,0,8,8,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,17,17,18,8,12,17,0,16,16,8,15,23,17,15,18,20,16,18,17,16,24,16,19,17,8,18,17,10,15,18,26,0,19,19,9,16,10,8,0,17,12,17,0,0,9,17,17,14,17,10,0,15,15,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,15,15,15,8,8,15,15,14,14,8,0,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,14,14,14,7,9,14,23,14,14,7,14,0,14,14,14,16,14,16,14,14,21,14,16,14,7,14,16,7,14,14,23,0,16,16,7,14,7,7,0,14,9,14,0,0,7,14,14,14,14,7,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,0,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,15,15,15,8,8,15,15,14,14,8,15,14,15,0,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,0,18,16,16,17,16,17,16,17,17,8,18,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,17,17,18,8,12,17,20,16,16,8,15,16,17,15,18,0,16,18,17,16,17,16,19,17,8,18,17,10,15,18,19,0,19,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,15,15,16,8,8,15,16,14,14,8,15,14,15,15,16,16,0,14,15,16,15,14,15,15,8,16,15,8,15,16,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,16,16,16,7,11,16,18,16,16,7,14,16,16,14,16,18,14,0,16,14,16,16,18,16,7,16,16,9,14,16,18,0,18,18,9,16,9,7,0,16,11,16,0,0,2,16,16,14,16,9,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,15,15,16,8,8,15,16,14,14,8,15,14,15,15,16,16,16,14,15,0,15,14,15,15,8,16,15,8,15,16,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,17,17,17,8,10,17,24,16,16,8,15,21,17,15,17,17,15,16,17,15,0,16,17,17,8,17,15,10,15,17,24,0,17,17,9,16,10,8,0,17,10,17,0,0,9,17,17,14,17,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,0,17,8,17,17,10,15,17,19,0,24,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,0,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,17,17,18,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,0,15,10,15,18,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,15,15,15,8,10,15,17,14,14,8,15,16,15,15,15,17,15,16,15,15,15,14,17,15,8,15,0,8,15,15,17,0,17,17,7,14,8,8,0,15,10,15,0,0,0,15,15,14,15,8,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,0,0,2,10,10,7,10,10,0,8,8,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,0,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,15,17,17,18,8,10,17,18,16,16,8,15,14,17,15,18,18,16,16,17,16,17,16,17,17,8,18,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,26,16,16,8,15,23,17,15,17,19,15,18,17,15,24,16,19,17,8,17,17,10,15,17,0,0,19,19,9,16,10,8,0,17,12,17,0,0,9,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,24,17,8,17,17,10,15,17,19,0,0,19,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,17,17,17,8,12,17,19,16,16,8,15,16,17,15,17,19,15,18,17,15,17,16,19,17,8,17,17,10,15,17,19,0,19,0,9,16,10,8,0,17,12,17,0,0,2,17,17,14,17,10,0,15,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,0,0,2,9,9,7,9,9,0,7,7,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,0,9,7,0,16,9,16,0,0,2,16,16,14,16,9,0,14,14,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,0,8,0,10,3,10,0,0,2,10,10,7,10,10,0,8,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,0,0,8,1,8,0,0,0,8,8,7,8,8,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,0,10,17,0,0,2,17,17,14,17,10,0,15,15,10,10,10,1,5,10,12,9,9,1,8,9,10,8,10,12,8,11,10,8,10,9,12,10,1,10,10,3,8,10,12,0,12,12,2,9,3,1,0,10,0,10,0,0,2,10,10,7,10,3,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,0,0,2,17,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,9,2,2,0,0,7,2,0,2,2,0,2,2,0,9,2,2,2,0,2,0,2,0,2,9,0,2,2,2,2,2,0,0,2,2,2,0,0,0,2,2,0,2,2,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,0,17,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,0,14,17,10,0,15,15,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,0,0,0,14,14,0,14,7,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,0,10,0,15,15,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,0,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,0,15,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,0,2,3,3,2,2,0,2,0,3,2,4,2,0,2,2,2,2,2,2,3,0,2,1,4,0,2,2,0,3,2,2,4,2,1,0,3,2,2,2,0,0,3,4,0,5,4,0,0,1,3,0,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,2,2,0,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,7,0,0,0,0,0,0,7,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,2,2,2,0,0,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,3,3,2,0,2,0,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,3,3,2,0,2,3,0,2,2,0,0,7,3,0,2,2,0,2,2,0,9,2,2,3,0,2,1,2,0,2,9,0,3,2,2,2,2,1,0,3,2,2,9,0,0,3,2,0,3,2,0,0,1,2,2,2,0,2,2,2,0,3,0,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,2,2,2,0,2,2,2,3,0,0,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,7,0,0,0,0,0,0,7,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,1,0,0,0,0,0,0,0,7,1,1,0,0,0,0,0,0,0,0,1,0,0,7,1,0,0,0,0,0,0,0,0,7,0,0,0,1,1,0,0,0,0,0,0,7,0,0,0,0,1,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,0,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,2,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,0,0,4,2,2,0,2,2,2,2,2,0,2,0,2,2,0,2,0,2,2,2,2,2,2,2,0,2,0,4,0,2,3,0,2,2,2,4,2,0,0,2,2,2,2,0,0,2,5,0,4,4,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,0,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,3,3,0,0,1,2,0,2,2,0,0,2,0,2,3,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,0,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,9,2,2,0,0,2,2,0,2,2,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,2,2,0,0,0,2,2,2,0,2,2,9,2,2,0,0,7,2,0,2,2,0,2,2,0,0,2,2,2,0,2,0,2,0,2,9,0,2,2,2,2,2,0,0,2,2,2,9,0,0,2,2,0,2,2,0,0,0,2,2,2,0,2,2,2,3,3,0,0,1,2,0,2,2,0,3,2,0,2,0,2,2,0,2,0,2,0,2,2,0,2,2,3,3,2,0,0,2,2,2,2,0,0,2,2,1,2,2,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,0,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,0,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,7,2,2,2,2,2,7,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,0,0,9,0,2,2,0,2,2,9,2,2,7,0,2,2,2,2,0,0,2,2,0,2,9,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,4,2,2,7,2,2,2,2,2,7,2,0,2,2,4,2,0,2,2,2,2,2,2,2,0,9,0,0,0,2,2,0,2,2,9,4,2,7,0,2,2,2,2,0,0,2,4,0,4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,0,2,0,2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,2,2,2,0,2,2,9,2,2,0,0,7,2,0,3,2,0,2,2,0,9,2,2,2,0,2,0,2,0,2,0,0,2,2,2,2,2,0,0,2,2,2,9,0,0,2,3,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,0,2,2,2,2,1,0,3,2,2,2,0,0,3,2,0,3,2,0,0,1,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,0,2,2,2,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,2,2,2,7,2,2,2,3,3,7,0,1,2,0,2,2,0,3,2,0,2,3,2,2,0,9,0,9,0,2,2,0,2,2,0,3,2,7,0,2,2,2,2,0,0,2,2,1,2,9,0,0,0,4,2,2,0,2,2,2,3,3,0,2,1,2,2,4,2,0,3,2,2,2,3,2,2,0,2,0,4,0,2,2,0,2,2,3,0,2,0,0,2,2,2,2,0,0,2,4,1,4,4,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,0,0,0,2,2,2,2,0,0,2,2,0,2,2,0,0,0,1,1,0,7,0,1,1,0,0,7,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,7,1,7,0,0,0,0,1,0,7,0,0,0,0,1,0,0,0,0,0,1,0,0,1,7,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,0,2,2,2,0,0,3,2,0,3,2,0,0,1,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,9,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,0,2,2,0,0,2,2,0,2,2,0,0,0,2,2,2,0,2,2,2,2,2,0,0,0,2,0,2,2,0,2,2,0,2,2,2,2,0,2,0,2,0,2,2,0,2,2,2,2,2,0,0,2,2,0,2,0,0,2,2,0,2,2,0,0,0,2,2,2,0,2,2,9,2,2,0,0,7,2,0,2,2,0,2,2,0,9,2,2,2,0,2,0,2,0,2,9,0,2,2,2,2,2,0,0,2,2,2,0,0,0,2,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,0,2,0,3,2,0,0,1,4,2,2,0,2,2,2,2,2,0,2,0,2,2,5,2,0,2,2,2,2,2,2,2,0,2,0,4,0,2,3,0,2,2,2,4,2,0,0,2,2,2,2,0,0,2,0,0,4,4,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,2,0,2,3,3,2,2,0,2,0,3,2,4,2,0,2,2,2,2,2,2,3,0,2,1,4,0,2,2,0,3,2,2,4,2,1,0,3,2,2,2,0,0,3,4,0,0,4,0,0,1,4,2,2,7,2,2,2,2,2,7,2,0,2,2,4,2,0,2,2,2,2,2,2,2,0,9,0,11,0,2,2,0,2,2,9,4,2,7,0,2,2,2,2,0,0,2,4,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,20,17,9,10,25,18,23,17,9,23,14,18,16,17,25,15,17,18,15,18,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,19,10,17,17,0,3,0,17,21,25,18,0,15,16,20,0,17,9,10,18,18,16,17,14,16,14,18,16,17,18,15,17,18,15,18,18,17,18,10,19,16,10,17,19,17,0,18,17,9,16,12,13,0,19,10,19,17,0,3,0,17,17,18,11,0,17,16,17,17,0,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,9,9,8,0,8,8,8,7,8,8,8,7,8,8,8,9,8,7,9,8,9,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,9,1,8,8,0,0,0,8,7,8,8,0,8,8,10,10,10,8,0,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,0,10,7,10,10,0,8,8,25,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,25,17,0,15,16,18,18,17,8,10,18,0,16,16,8,15,14,19,15,17,18,16,16,17,16,17,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,23,16,16,7,9,23,16,0,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,23,9,7,0,16,9,16,16,0,2,0,16,21,23,16,0,14,14,17,17,16,8,9,16,16,16,0,7,14,14,16,14,16,17,14,16,17,14,17,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,17,9,16,16,0,2,0,16,14,16,9,0,14,14,9,14,8,8,8,8,8,7,7,0,9,7,8,9,8,8,8,8,8,8,8,9,8,8,10,10,8,8,10,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,0,8,10,8,9,0,10,8,23,16,15,8,8,22,15,21,14,9,0,14,15,16,15,22,15,15,15,15,15,14,15,15,15,15,22,8,15,22,15,0,22,22,7,21,8,8,0,15,8,15,15,0,0,0,15,21,22,16,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,0,14,14,14,7,0,14,14,18,18,17,8,10,18,19,16,16,8,15,14,0,15,17,18,16,16,17,16,17,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,16,16,15,8,8,15,15,14,14,9,16,14,15,0,15,15,15,15,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,0,15,14,15,9,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,0,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,25,18,17,9,10,24,18,23,17,8,22,14,18,15,17,0,16,16,18,16,18,16,18,18,16,17,22,10,16,24,17,0,24,24,9,23,10,8,0,19,10,17,17,0,2,0,17,21,24,17,0,15,15,15,15,15,8,8,15,16,14,14,8,15,14,16,15,15,16,0,14,15,16,15,14,16,16,9,15,15,8,16,15,15,0,15,15,7,14,8,8,0,16,8,15,15,0,0,0,15,14,15,8,0,15,15,17,17,16,7,9,16,16,16,16,8,15,14,16,15,16,16,14,0,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,0,16,14,16,10,0,14,14,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,0,15,18,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,15,15,15,8,8,15,16,14,14,8,15,14,16,15,15,16,16,14,15,0,15,14,16,16,9,15,15,8,16,15,15,0,15,15,7,14,8,8,0,16,8,15,15,0,0,0,15,14,15,8,0,15,15,18,18,17,9,10,17,17,16,17,8,15,14,17,15,17,18,15,16,18,15,0,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,16,18,16,7,9,16,16,16,16,9,14,14,16,14,16,16,14,16,16,14,16,0,16,16,9,18,14,9,16,18,16,0,16,16,9,16,11,9,0,16,9,18,16,0,2,0,16,16,16,9,0,16,14,17,17,17,8,10,17,18,16,16,8,15,14,18,15,17,18,16,16,17,16,17,16,0,18,9,17,15,10,16,17,17,0,17,17,9,16,10,8,0,18,10,17,17,0,2,0,17,14,17,10,0,15,15,18,18,17,8,10,18,19,16,16,8,15,14,19,15,17,18,16,16,17,16,17,16,18,0,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,19,10,17,17,0,3,0,17,14,18,10,0,15,16,15,10,8,8,8,15,9,14,7,10,15,7,9,8,8,16,9,7,8,9,8,9,9,9,0,10,15,8,11,17,8,0,15,15,7,14,10,10,0,9,1,10,8,0,0,0,8,16,15,15,0,10,8,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,0,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,19,17,0,2,0,17,16,17,10,0,17,15,23,16,15,8,8,23,16,21,14,8,22,14,16,15,15,22,15,14,15,15,15,14,15,16,15,15,0,8,15,22,15,0,23,22,7,21,8,9,0,16,8,15,15,0,1,0,15,21,23,15,0,15,16,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,0,10,7,10,10,0,8,8,15,17,15,8,8,15,16,14,14,10,15,14,16,15,15,16,16,14,15,16,15,16,16,16,11,17,15,8,0,17,15,0,15,15,7,14,10,10,0,16,8,17,15,0,0,0,15,16,15,8,0,17,15,24,19,17,8,10,24,17,23,16,10,22,14,17,15,17,24,15,16,17,15,17,18,17,17,17,19,22,10,17,0,17,0,24,24,9,23,12,10,0,17,10,19,17,0,2,0,17,23,24,17,0,17,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,0,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,25,17,0,15,16,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,24,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,0,17,21,24,17,0,15,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,0,9,7,9,9,0,7,7,23,16,16,7,9,23,16,23,16,7,21,14,16,14,16,23,14,16,16,14,16,16,16,16,14,16,21,9,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,2,0,16,21,23,16,0,14,14,10,12,10,8,10,10,10,9,9,10,8,7,10,8,10,10,8,9,10,8,10,11,10,10,10,12,8,10,10,12,10,0,10,10,9,9,0,10,0,10,3,12,10,0,2,0,10,9,10,10,0,10,8,9,13,8,8,8,9,9,7,7,12,8,7,9,8,8,8,8,7,8,8,8,9,8,9,10,10,9,8,10,10,8,0,9,8,7,7,10,0,0,9,1,10,8,0,1,0,8,9,9,8,0,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,17,9,10,18,19,16,17,8,15,14,19,15,17,19,16,16,18,16,18,16,18,19,9,17,16,10,16,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,0,17,14,18,10,0,15,16,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,0,10,7,10,3,0,8,8,17,19,17,8,10,17,17,16,16,10,15,14,17,15,17,17,15,16,17,15,17,18,17,17,10,19,15,10,17,19,17,0,17,17,9,16,12,10,0,17,10,0,17,0,2,0,17,16,17,10,0,17,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,0,17,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,2,0,2,3,3,2,2,0,0,0,3,0,2,2,0,2,2,0,2,2,2,3,0,2,1,2,0,2,2,0,3,2,2,2,2,1,0,3,2,2,2,0,0,0,2,0,3,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,0,14,17,10,0,15,15,21,17,14,7,7,21,14,21,14,10,21,14,14,14,14,21,14,14,14,14,14,16,14,14,16,16,21,7,16,23,14,0,21,21,7,21,9,9,0,14,7,16,14,0,0,0,14,0,21,14,0,16,14,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,0,17,0,15,16,18,11,10,8,10,17,10,16,9,9,16,7,10,9,10,17,8,10,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,0,10,14,17,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,17,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,0,15,16,15,8,0,0,15,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,0,15,14,16,8,0,15,0,0,17,17,8,10,17,17,16,16,8,17,14,17,17,19,17,15,16,17,17,17,16,17,17,8,17,15,12,15,17,17,0,17,17,9,18,10,8,0,17,10,17,17,0,4,17,0,14,19,12,0,15,15,17,0,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,17,17,0,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,0,7,8,8,0,8,8,10,10,17,8,0,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,17,15,0,17,3,17,10,0,2,10,0,7,10,10,0,15,15,17,17,17,8,10,0,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,17,18,17,8,10,17,0,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,16,16,16,7,9,16,16,0,16,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,0,14,16,9,0,14,14,16,16,23,7,16,16,16,16,0,14,14,14,23,21,23,16,21,23,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,0,14,16,9,0,21,21,8,8,15,8,15,8,8,7,14,0,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,0,7,8,8,0,15,15,17,16,15,8,8,15,16,14,14,8,0,14,16,17,18,15,15,14,15,17,16,14,16,16,8,15,16,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,0,14,17,10,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,0,14,14,7,0,14,14,17,18,24,8,17,17,18,16,23,15,16,14,0,22,25,17,22,23,24,15,18,23,25,18,8,17,16,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,17,15,22,8,15,15,15,14,21,15,17,14,22,0,24,15,22,21,22,17,15,21,22,15,8,15,15,17,22,15,15,0,15,15,14,16,15,15,0,22,8,22,15,0,2,15,0,14,17,10,0,22,22,19,18,24,8,17,17,18,16,23,15,18,14,25,24,0,17,22,23,24,17,18,23,25,18,8,17,16,19,22,17,18,0,17,17,16,18,17,15,0,24,10,24,17,0,5,17,0,14,19,12,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,0,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,0,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,22,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,0,23,14,16,23,23,16,7,16,14,16,21,16,16,0,16,16,16,16,16,14,0,23,9,23,16,0,2,16,0,14,16,9,0,21,21,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,0,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,17,15,15,8,8,15,15,14,14,8,17,14,15,17,17,15,15,14,15,0,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,0,14,17,10,0,15,15,17,18,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,0,16,18,18,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,16,16,23,7,16,16,16,16,23,14,14,14,23,21,23,16,21,23,23,14,16,0,23,16,7,16,14,17,21,16,17,1,16,16,17,17,16,14,1,23,9,24,16,1,2,16,0,15,16,9,0,21,21,17,18,24,8,17,17,18,16,23,15,16,14,25,22,25,17,22,23,24,15,18,23,0,18,8,17,16,17,22,17,17,0,17,17,16,16,17,15,0,24,10,24,17,0,2,17,0,14,17,10,0,22,22,17,18,17,8,10,17,18,16,16,8,16,14,18,15,18,17,15,16,17,15,18,16,18,0,8,17,16,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,0,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,0,7,8,8,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,0,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,15,16,15,8,8,15,16,14,14,8,16,14,16,15,16,15,15,14,15,15,16,14,16,16,8,15,0,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,0,14,15,8,0,15,15,12,10,17,8,17,10,10,9,16,15,10,7,17,17,19,10,15,16,17,10,10,17,17,10,8,10,8,0,15,10,11,1,10,10,17,12,17,15,1,17,3,18,10,1,4,10,0,8,12,12,0,15,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,0,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,0,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,18,17,15,16,17,15,17,17,17,17,8,17,15,11,15,17,0,1,17,17,10,17,10,8,1,17,10,18,17,1,3,17,0,15,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,0,17,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,0,9,16,10,8,0,17,10,17,17,0,2,17,0,14,17,10,0,15,15,9,9,16,7,16,9,9,9,16,14,7,7,16,14,16,9,14,16,16,7,9,17,16,9,7,9,7,17,14,9,10,1,9,9,0,10,16,14,1,16,2,17,9,1,2,9,0,8,9,9,0,14,14,18,16,16,7,9,16,16,16,16,7,16,14,16,16,18,16,14,16,16,16,16,17,16,16,7,16,14,12,14,16,17,1,16,16,10,0,9,7,1,16,9,17,16,1,4,16,0,15,18,11,0,14,14,10,10,17,8,17,10,10,9,16,15,8,7,17,15,17,10,15,16,17,8,10,16,17,10,8,10,8,17,15,10,10,0,10,10,16,9,0,15,0,17,3,17,10,0,2,10,0,7,10,10,0,15,15,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,0,0,15,1,15,8,0,0,8,0,7,8,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,23,24,17,8,17,15,17,22,17,17,0,17,17,16,16,17,15,0,0,10,24,17,0,2,17,0,14,17,10,0,22,22,10,10,10,1,3,10,10,9,9,1,8,7,10,8,10,10,8,9,10,8,10,9,10,10,1,10,8,3,8,10,10,0,10,10,2,9,3,1,0,10,0,10,10,0,2,10,0,7,10,3,0,8,8,17,17,24,8,17,17,17,16,23,15,15,14,24,22,24,17,22,23,24,15,17,24,24,17,8,17,15,18,22,17,18,1,17,17,17,17,17,15,1,24,10,0,17,1,2,17,0,15,17,10,0,22,22,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,0,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,4,2,2,0,2,2,2,2,2,0,2,0,2,2,5,2,0,2,2,2,2,2,2,2,0,2,0,4,0,2,3,0,2,2,2,4,2,0,0,2,2,2,2,0,0,2,0,0,4,4,0,0,0,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,0,0,14,17,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,15,14,14,7,14,14,8,14,14,15,1,14,14,8,15,7,7,1,14,7,15,14,1,0,14,0,0,14,7,0,14,14,19,17,17,8,10,17,17,16,16,8,17,14,17,17,19,17,15,16,17,17,17,16,17,17,8,17,15,12,15,17,17,0,17,17,9,18,10,8,0,17,10,17,17,0,4,17,0,14,0,12,0,15,15,12,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,12,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,0,7,12,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,0,22,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,0,0,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,14,0,14,7,7,14,14,14,14,10,14,14,14,14,14,14,14,14,14,14,14,16,14,14,9,16,14,7,16,16,14,0,14,14,7,14,9,9,0,14,7,16,14,0,0,17,14,0,14,7,0,16,14,14,14,0,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,7,7,7,0,14,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,0,7,7,0,14,7,7,7,7,14,0,14,7,14,14,14,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,14,7,7,7,7,7,0,7,7,7,14,14,7,0,7,7,7,7,0,0,7,7,0,7,7,0,14,7,21,14,14,14,14,0,14,28,21,14,28,14,14,21,14,21,14,14,21,14,14,14,14,14,14,21,21,7,14,21,14,0,21,21,7,28,14,7,0,14,14,14,14,0,0,21,14,0,21,14,0,21,14,14,14,14,7,7,14,0,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,21,14,14,14,14,28,14,0,22,14,28,16,14,21,14,21,14,15,21,14,14,15,14,14,14,21,21,7,14,21,14,0,21,21,8,29,14,7,0,14,14,14,14,0,1,21,14,0,21,14,0,21,14,14,14,14,14,14,21,14,22,0,14,21,16,14,21,14,14,14,15,21,14,14,17,14,14,7,21,14,7,14,14,14,0,14,14,8,23,14,7,0,14,14,14,14,0,1,14,14,0,14,7,0,21,14,7,10,7,14,14,14,7,14,14,0,16,9,7,16,7,7,9,7,14,9,7,9,7,7,11,16,9,7,11,9,7,0,7,7,7,14,16,11,0,7,7,9,7,0,0,10,7,0,7,7,0,18,9,21,14,14,14,14,28,14,28,21,16,0,16,14,23,14,21,16,14,21,16,14,14,14,14,16,21,23,7,16,21,14,0,21,21,7,28,14,9,0,14,14,14,14,0,0,21,14,0,21,14,0,23,16,14,14,14,7,7,14,14,16,16,9,16,0,14,16,14,14,16,15,14,16,14,16,14,14,9,14,16,7,16,14,14,0,14,14,8,15,7,9,0,14,7,14,14,0,1,14,14,0,14,7,0,16,16,14,14,14,7,7,14,14,14,14,7,14,14,0,14,14,14,14,14,14,14,14,14,14,14,7,14,16,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,16,14,14,14,14,14,21,14,21,21,16,23,16,14,0,14,14,16,14,21,16,14,14,14,14,9,21,16,7,16,14,14,0,14,14,7,21,14,9,0,14,14,14,14,0,0,14,14,0,14,7,0,23,16,14,14,14,7,7,14,14,14,14,7,14,14,14,14,0,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,0,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,14,14,14,7,7,14,14,14,14,9,16,16,14,16,14,14,0,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,16,14,14,14,7,7,14,14,15,15,7,14,15,14,14,14,14,14,0,14,14,14,15,14,14,7,14,14,7,14,14,14,0,14,14,8,16,7,7,0,14,7,14,14,0,1,14,14,0,14,7,0,14,14,14,14,14,14,14,21,14,21,21,14,21,14,14,21,14,14,14,14,0,14,14,14,14,14,7,21,14,7,14,14,14,0,14,14,7,21,14,7,0,14,14,14,14,0,0,14,14,0,14,7,0,21,14,14,14,14,7,7,14,14,14,14,9,16,16,14,16,14,14,16,14,14,0,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,16,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,0,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,14,16,14,7,7,14,14,15,17,9,14,16,14,14,14,14,14,15,14,14,14,0,14,14,9,16,14,8,16,16,15,1,14,14,9,17,9,9,1,14,7,17,14,1,1,16,15,0,14,7,0,16,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,0,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,0,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,0,14,7,0,14,14,14,9,7,7,7,14,7,14,7,11,16,9,7,9,7,14,9,7,7,9,7,9,7,7,0,9,16,7,11,16,7,0,14,14,7,14,9,11,0,7,0,9,7,0,0,16,7,0,14,14,0,11,9,14,16,14,14,14,21,14,21,21,16,21,14,14,21,14,14,14,14,21,14,14,16,14,14,9,0,14,7,16,16,14,0,14,14,7,21,16,9,0,14,14,16,14,0,0,16,14,0,14,7,0,23,14,21,14,14,7,7,21,14,21,14,9,23,16,16,16,14,21,16,14,14,16,14,14,14,14,16,14,0,7,16,21,14,0,21,21,7,21,7,9,0,14,7,14,14,0,0,21,14,0,21,14,0,16,18,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,0,7,7,8,1,7,7,8,8,7,7,1,7,0,8,7,1,0,7,8,0,7,7,0,7,7,14,16,14,7,7,14,14,14,14,11,16,16,14,16,14,14,16,14,14,16,14,16,14,14,11,16,16,7,0,16,14,0,14,14,7,14,9,11,0,14,7,16,14,0,0,16,14,0,14,7,0,18,16,21,16,14,7,7,21,14,21,14,9,21,14,14,14,14,21,14,14,14,14,14,16,14,14,16,16,21,7,16,0,14,0,21,21,7,21,9,9,0,14,7,16,14,0,0,23,14,0,21,14,0,16,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,15,14,14,7,14,14,8,14,14,0,1,14,14,8,15,7,7,1,14,7,15,14,1,0,14,15,0,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,0,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,0,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,0,7,21,7,7,0,14,7,14,14,0,0,21,14,0,21,14,0,14,14,7,7,7,7,7,7,7,8,8,7,7,8,7,7,7,7,7,8,7,7,7,9,7,7,7,7,7,8,7,7,8,1,7,7,0,9,7,7,1,7,0,8,7,1,1,7,8,0,7,7,0,7,7,21,14,14,14,14,28,14,29,23,14,28,15,14,21,14,21,14,16,21,14,14,17,14,14,14,21,21,8,14,21,15,1,21,21,9,0,14,7,1,14,14,15,14,1,1,21,15,0,21,14,0,21,14,7,9,7,14,14,14,7,14,14,16,14,7,7,14,7,7,7,7,14,7,7,9,7,7,9,16,7,7,9,9,7,0,7,7,7,14,0,9,0,7,7,9,7,0,0,9,7,0,7,7,0,16,7,7,9,7,7,7,7,7,7,7,11,9,9,7,9,7,7,9,7,7,9,7,9,7,7,11,9,9,7,11,9,7,0,7,7,7,7,9,0,0,7,0,9,7,0,0,9,7,0,7,7,0,11,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,0,7,14,14,0,0,14,14,0,14,7,0,14,14,7,7,7,7,7,14,7,14,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,0,14,7,0,7,7,7,0,7,7,0,14,7,0,0,7,0,7,7,0,0,7,7,0,7,0,0,14,7,14,16,14,7,7,14,14,14,14,9,14,14,14,14,14,14,14,14,14,14,14,17,14,14,9,16,14,8,16,16,15,1,14,14,8,15,9,9,1,14,7,0,14,1,0,16,15,0,14,7,0,16,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,0,0,0,14,14,0,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,17,14,7,7,21,14,21,14,10,21,14,14,14,14,21,14,14,14,14,14,16,14,14,16,16,21,7,16,23,14,0,21,21,7,21,9,9,0,14,7,16,14,0,0,0,14,0,21,14,0,16,14,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,15,14,14,7,14,14,8,14,14,15,1,14,14,8,15,7,7,1,14,7,15,14,1,0,14,0,0,14,7,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,0,14,0,14,14,14,7,7,7,7,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,14,7,14,7,7,14,7,0,14,14,7,14,7,7,0,7,0,7,7,0,0,14,7,0,14,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,16,14,14,14,21,14,21,21,18,23,16,14,23,14,14,16,14,21,16,14,16,14,14,11,23,16,7,18,16,14,0,14,14,7,21,16,11,0,14,14,16,14,0,0,16,14,0,14,7,0,0,16,14,14,14,7,7,14,14,14,14,9,16,16,16,16,14,14,16,14,14,16,14,14,14,14,9,14,18,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,0,0,18,17,8,10,25,25,23,16,8,24,14,25,17,26,31,22,16,17,24,24,16,24,25,22,17,23,12,22,24,17,0,25,24,9,25,10,9,0,25,10,17,17,0,5,25,19,21,0,19,0,15,16,18,0,17,8,10,18,18,16,16,8,15,14,18,15,17,17,15,16,17,15,17,16,17,18,8,17,16,10,15,17,17,0,18,17,9,16,10,9,0,18,10,17,17,0,3,18,17,14,0,10,0,15,16,17,17,0,8,11,17,17,17,16,8,15,14,19,15,17,17,15,17,17,16,17,16,17,17,8,18,17,10,16,18,17,0,17,17,9,16,11,10,0,17,11,17,17,0,2,17,17,14,0,11,0,15,15,8,8,8,0,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,0,8,0,8,8,10,10,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,0,11,0,8,8,25,18,17,8,10,0,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,0,17,0,15,16,25,18,17,8,10,18,0,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,25,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,25,10,17,17,0,3,18,17,14,0,10,0,15,16,23,16,17,7,10,23,16,0,16,7,21,14,17,14,16,23,14,17,16,15,16,16,16,16,14,17,22,9,14,24,16,0,23,23,9,23,10,8,0,16,10,16,16,0,2,23,16,21,0,17,0,14,14,16,16,16,7,9,16,16,16,0,7,14,14,16,14,16,16,14,16,16,14,16,16,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,0,9,0,14,14,8,8,8,8,8,8,8,7,7,0,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,0,8,0,8,8,24,15,15,8,8,22,15,21,14,8,0,14,15,17,17,22,15,14,15,17,15,14,15,15,15,15,22,10,15,22,15,0,22,22,7,23,8,8,0,15,8,15,15,0,2,22,17,21,0,17,0,15,15,14,14,14,7,7,14,14,14,14,7,14,0,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,0,7,0,14,14,25,18,19,8,11,18,25,17,16,8,15,14,0,15,24,24,22,17,17,23,24,16,24,25,15,18,18,10,23,18,17,0,18,17,9,16,11,11,0,25,11,17,17,0,3,18,17,14,0,11,0,15,16,17,15,15,8,8,15,15,14,14,8,17,14,15,0,17,15,15,14,15,17,15,14,15,15,8,15,15,10,15,15,15,0,15,15,7,16,8,8,0,15,8,15,15,0,2,15,17,14,0,10,0,15,15,26,17,17,8,10,17,24,16,16,8,17,14,24,17,0,24,22,16,17,24,24,16,24,24,15,17,15,12,22,17,17,0,17,17,9,18,10,8,0,24,10,17,17,0,4,17,19,14,0,12,0,15,15,31,17,17,8,10,24,24,23,16,8,22,14,24,15,24,0,22,16,17,22,24,16,24,24,22,17,22,10,22,24,17,0,24,24,9,23,10,8,0,24,10,17,17,0,2,24,17,21,0,17,0,15,15,22,15,15,8,8,15,22,14,14,8,15,14,22,15,22,22,0,14,15,22,22,14,22,22,15,15,15,8,22,15,15,0,15,15,7,14,8,8,0,22,8,15,15,0,0,15,15,14,0,8,0,15,15,16,16,17,7,10,16,16,17,16,7,14,14,17,14,16,16,14,0,16,15,16,16,16,16,7,17,15,9,14,17,16,0,16,16,9,16,10,8,0,16,10,16,16,0,2,16,16,14,0,10,0,14,14,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,0,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,0,10,0,15,15,24,15,16,8,9,15,22,15,14,8,17,14,23,17,24,22,22,15,15,0,22,14,22,22,15,16,16,10,22,16,15,0,15,15,7,16,9,9,0,22,9,15,15,0,2,15,17,14,0,11,0,15,15,24,17,17,8,10,17,24,16,16,8,15,14,24,15,24,24,22,16,17,22,0,16,24,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,24,10,17,17,0,2,17,17,14,0,10,0,15,15,16,16,16,7,9,16,16,16,16,7,14,14,16,14,16,16,14,16,16,14,16,0,16,16,7,16,14,9,14,16,16,0,16,16,9,16,9,7,0,16,9,16,16,0,2,16,16,14,0,9,0,14,14,24,17,17,8,10,17,24,16,16,8,15,14,24,15,24,24,22,16,17,22,24,16,0,24,15,17,15,10,22,17,17,0,17,17,9,16,10,8,0,24,10,17,17,0,2,17,17,14,0,10,0,15,15,25,18,17,8,10,18,25,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,0,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,25,10,17,17,0,3,18,17,14,0,10,0,15,16,22,8,8,8,8,15,15,14,7,8,15,7,15,8,15,22,15,7,8,15,15,7,15,15,0,8,15,8,15,15,8,0,15,15,7,14,8,8,0,15,1,8,8,0,0,15,8,14,0,15,0,8,8,17,17,18,8,11,17,17,17,16,8,15,14,18,15,17,17,15,17,17,16,17,16,17,17,8,0,16,10,15,18,17,0,17,17,9,16,11,9,0,17,11,17,17,0,2,17,17,14,0,11,0,15,15,23,16,17,8,9,23,16,22,14,8,22,14,18,15,15,22,15,15,15,16,15,14,15,16,15,16,0,8,16,23,15,0,23,22,7,21,9,11,0,16,9,15,15,0,1,23,15,21,0,16,0,15,16,12,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,0,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,0,12,0,8,8,22,15,16,8,8,15,22,14,14,8,15,14,23,15,22,22,22,14,15,22,22,14,22,22,15,15,16,8,0,15,15,0,15,15,7,14,8,9,0,22,8,15,15,0,0,15,15,14,0,8,0,15,15,24,17,18,8,11,24,17,24,16,8,22,14,18,15,17,24,15,17,17,16,17,16,17,17,15,18,23,10,15,0,17,0,24,24,9,23,11,9,0,17,11,17,17,0,2,24,17,21,0,18,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,0,0,17,17,9,16,10,8,0,17,10,17,17,0,2,17,17,14,0,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,0,24,9,23,10,9,0,18,10,17,17,0,3,25,17,21,0,17,0,15,16,24,17,17,8,10,24,17,23,16,8,22,14,17,15,17,24,15,16,17,15,17,16,17,17,15,17,22,10,15,24,17,0,24,0,9,23,10,8,0,17,10,17,17,0,2,24,17,21,0,17,0,15,15,9,9,9,7,9,9,9,9,9,7,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,9,7,9,7,9,9,0,9,9,0,9,9,7,0,9,2,9,9,0,2,9,9,7,0,9,0,7,7,25,16,16,7,9,23,16,23,16,7,23,14,16,16,18,23,14,16,16,16,16,16,16,16,14,16,21,11,14,23,16,0,23,23,9,0,9,7,0,16,9,16,16,0,4,23,18,21,0,18,0,14,14,10,10,11,8,11,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,0,9,0,10,4,10,10,0,2,10,10,7,0,11,0,8,8,9,9,10,8,9,9,9,8,7,8,8,7,11,8,8,8,8,8,8,9,8,7,8,9,8,9,11,8,9,9,8,0,9,8,7,7,9,0,0,9,2,8,8,0,1,9,8,7,0,9,0,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,18,17,8,10,18,25,16,16,8,15,14,25,15,24,24,22,16,17,22,24,16,24,25,15,17,16,10,22,17,17,0,18,17,9,16,10,9,0,0,10,17,17,0,3,18,17,14,0,10,0,15,16,10,10,11,1,4,10,10,10,9,1,8,7,11,8,10,10,8,10,10,9,10,9,10,10,1,11,9,3,8,11,10,0,10,10,2,9,4,2,0,10,0,10,10,0,2,10,10,7,0,4,0,8,8,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,0,17,0,2,17,17,14,0,10,0,15,15,17,17,17,8,10,17,17,16,16,8,15,14,17,15,17,17,15,16,17,15,17,16,17,17,8,17,15,10,15,17,17,0,17,17,9,16,10,8,0,17,10,17,0,0,2,17,17,14,0,10,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,2,0,2,3,3,2,2,0,2,0,3,2,4,2,0,2,2,2,2,2,2,3,0,2,1,4,0,2,2,0,3,2,2,4,2,1,0,3,2,2,2,0,0,3,4,0,0,4,0,0,1,25,18,17,8,10,25,18,23,16,8,22,14,18,15,17,24,15,16,17,15,17,16,17,18,15,17,23,10,15,24,17,0,25,24,9,23,10,9,0,18,10,17,17,0,3,0,17,21,0,17,0,15,16,19,17,17,8,10,17,17,16,16,8,17,14,17,17,19,17,15,16,17,17,17,16,17,17,8,17,15,12,15,17,17,0,17,17,9,18,10,8,0,17,10,17,17,0,4,17,0,14,0,12,0,15,15,21,14,14,7,7,21,14,21,14,7,21,14,14,14,14,21,14,14,14,14,14,14,14,14,14,14,21,7,14,21,14,0,21,21,7,21,7,7,0,14,7,14,14,0,0,21,14,0,0,14,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,10,11,8,11,17,10,17,9,8,17,7,11,10,12,17,8,10,10,11,10,9,10,10,15,11,16,12,8,18,10,0,17,17,9,18,11,9,0,10,4,10,10,0,4,17,12,14,0,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,0,8,0,0,15,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,0,8,0,15,0,0,11,10,8,10,17,10,16,9,9,21,7,10,14,12,17,8,10,10,13,10,9,10,10,15,10,15,12,8,17,10,0,17,17,9,18,10,8,0,10,3,10,10,0,4,18,12,14,19,0,0,8,8,11,0,10,8,10,10,10,9,9,9,9,7,10,9,10,10,8,10,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,11,10,7,10,0,0,8,8,10,10,0,9,11,10,10,11,10,9,9,7,11,9,10,10,9,11,10,9,10,9,10,10,8,11,9,10,9,12,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,9,8,8,8,9,0,8,8,8,8,8,16,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,15,8,15,9,9,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,8,8,7,8,0,0,9,8,10,10,11,8,0,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,17,10,10,8,10,0,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,10,10,10,8,10,10,0,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,16,9,11,8,10,16,9,0,10,8,15,7,10,8,9,16,8,11,9,8,9,9,9,9,14,10,15,9,8,18,9,0,16,16,9,16,10,8,0,9,3,9,9,0,2,16,9,14,17,0,0,8,7,9,9,10,8,9,9,9,10,0,8,8,7,9,8,9,9,8,10,9,7,9,9,9,9,7,9,7,9,8,10,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,0,0,8,7,9,9,9,16,8,8,8,8,8,0,10,7,8,10,8,8,9,9,8,8,8,7,8,8,8,15,8,15,9,9,8,0,8,8,14,7,8,15,0,8,1,8,8,0,7,9,8,7,8,0,0,9,8,21,9,9,9,8,15,8,15,8,10,0,7,8,15,10,15,9,9,8,13,8,7,8,8,15,8,15,10,9,16,8,0,15,15,7,16,8,8,0,8,1,8,8,0,2,16,10,14,17,0,0,9,8,7,7,7,7,7,7,7,7,7,7,7,0,7,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,0,7,0,7,7,0,0,7,7,7,7,0,0,7,7,10,10,11,8,11,10,10,10,9,8,8,7,0,8,10,10,8,10,10,9,10,11,10,10,8,11,9,10,8,11,10,0,10,10,9,9,11,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,14,9,9,9,8,8,8,8,8,10,15,7,8,0,10,8,9,9,8,13,8,7,8,8,8,8,8,10,9,9,8,0,8,8,7,9,8,8,0,8,1,8,8,0,2,9,10,7,10,0,0,9,8,12,10,10,8,10,10,10,9,9,8,10,7,10,10,0,10,8,9,10,10,10,9,10,10,8,10,8,12,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,12,7,12,0,0,8,8,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,0,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,0,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,9,8,10,10,11,8,10,9,9,11,10,9,9,7,10,9,9,9,8,0,9,8,9,9,9,9,7,10,8,9,8,11,9,0,9,9,9,9,10,8,0,9,3,9,9,0,2,10,9,7,10,0,0,8,7,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,0,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,13,8,9,8,9,8,8,8,7,8,13,7,9,13,10,8,8,8,8,0,8,7,8,8,8,9,9,10,8,9,8,0,8,8,7,9,9,9,0,8,2,8,8,0,2,8,10,7,11,0,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,0,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,9,9,9,7,9,9,9,9,9,7,7,7,11,7,9,9,7,9,9,7,9,0,9,9,7,9,7,9,7,9,9,0,9,9,9,9,9,7,0,9,2,9,9,0,2,9,9,7,9,0,0,7,7,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,0,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,0,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,15,8,8,8,8,15,8,14,7,8,15,7,8,8,8,15,8,7,8,8,8,7,8,8,0,8,15,8,8,15,8,0,15,15,7,14,8,8,0,8,1,8,8,0,0,15,8,14,15,0,0,8,8,10,10,11,15,11,10,10,10,9,15,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,0,9,17,8,11,10,0,10,10,16,9,11,16,0,10,4,10,10,0,9,10,10,7,11,0,0,8,8,15,8,9,8,9,15,8,15,7,8,15,7,9,8,8,15,8,8,8,9,8,7,8,8,15,9,0,8,8,16,8,0,15,15,7,14,9,9,0,8,2,8,8,0,0,15,8,14,16,0,0,8,8,12,10,10,15,10,10,10,9,9,15,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,17,8,0,8,10,10,0,10,10,16,11,10,15,0,10,3,10,10,0,11,10,12,7,12,0,0,8,8,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,0,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,9,8,17,10,12,9,11,17,10,18,10,9,16,7,11,9,10,17,9,11,10,9,10,9,10,10,15,11,16,10,9,0,10,0,17,17,9,16,11,9,0,10,4,10,10,0,2,17,10,14,18,0,0,9,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,0,0,10,10,9,9,10,8,0,10,3,10,10,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,0,17,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,17,10,10,8,10,17,10,16,9,8,15,7,10,8,10,17,8,9,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,0,9,16,10,8,0,10,3,10,10,0,2,17,10,14,17,0,0,8,8,9,9,9,14,9,9,9,9,9,14,7,7,9,7,9,9,7,9,9,7,9,9,9,9,7,16,7,16,7,9,9,0,9,9,0,9,9,14,0,9,2,9,9,0,9,9,9,7,9,0,0,7,7,18,9,9,7,9,16,9,16,9,7,16,7,9,9,11,16,7,9,9,9,9,9,9,9,14,9,14,11,7,16,9,0,16,16,9,0,9,7,0,9,2,9,9,0,4,16,11,14,18,0,0,7,7,10,10,11,8,11,10,10,10,9,8,8,7,11,8,10,10,8,10,10,9,10,9,10,10,8,11,9,10,8,11,10,0,10,10,9,9,0,9,0,10,4,10,10,0,2,10,10,7,11,0,0,8,8,8,8,9,15,9,8,8,8,7,15,8,7,9,8,8,8,8,8,8,9,8,7,8,8,8,16,9,15,8,9,8,0,8,8,14,7,9,0,0,8,2,8,8,0,7,8,8,7,9,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,0,3,10,10,0,2,10,10,7,10,0,0,8,8,3,3,4,1,4,3,3,3,2,1,1,0,4,1,3,3,1,3,3,2,3,2,3,3,1,4,2,3,1,4,3,0,3,3,2,2,4,2,0,3,0,3,3,0,2,3,3,0,4,0,0,1,1,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,0,10,0,2,10,10,7,10,0,0,8,8,10,10,10,8,10,10,10,9,9,8,8,7,10,8,10,10,8,9,10,8,10,9,10,10,8,10,8,10,8,10,10,0,10,10,9,9,10,8,0,10,3,10,0,0,2,10,10,7,10,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,2,7,2,2,2,2,2,7,2,0,2,2,4,2,0,2,2,2,2,2,2,2,0,9,0,11,0,2,2,0,2,2,9,4,2,7,0,2,2,2,2,0,0,2,4,0,4,0,0,0,0,18,11,10,8,10,17,10,16,9,9,16,7,10,9,10,17,8,10,10,8,10,9,10,10,15,10,15,10,8,17,10,0,17,17,9,16,10,8,0,10,3,10,10,0,2,0,10,14,17,0,0,8,8,12,10,10,8,10,10,10,9,9,8,10,7,10,10,12,10,8,9,10,10,10,9,10,10,8,10,8,12,8,10,10,0,10,10,9,11,10,8,0,10,3,10,10,0,4,10,0,7,12,0,0,8,8,14,7,7,7,7,14,7,14,7,7,14,7,7,7,7,14,7,7,7,7,7,7,7,7,14,7,14,7,7,14,7,0,14,14,7,14,7,7,0,7,0,7,7,0,0,14,7,0,14,0,0,7,7,19,10,11,8,11,17,10,17,9,8,17,7,11,10,12,17,8,10,10,11,10,9,10,10,15,11,16,12,8,18,10,0,17,17,9,18,11,9,0,10,4,10,10,0,4,17,12,14,0,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,0,8,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,0,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,17,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,8,0,0,15,16,15,0,9,15,15,15,16,22,16,16,14,22,23,22,16,24,22,22,15,15,21,22,15,8,16,15,15,23,16,16,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,9,0,0,22,8,8,9,0,16,15,8,15,15,16,17,7,8,16,8,9,9,8,15,8,8,7,8,8,8,16,8,8,9,9,8,0,8,8,7,14,15,8,0,8,8,8,8,0,0,8,8,14,8,9,0,0,8,8,8,15,16,0,15,8,14,21,22,16,7,15,22,15,9,15,14,22,8,8,14,15,8,8,16,8,15,15,8,8,0,8,8,14,14,22,15,0,15,8,15,8,0,0,8,15,14,8,8,0,0,15,15,15,15,15,15,0,15,21,21,15,22,14,15,22,15,15,15,14,22,15,15,14,15,15,8,22,15,8,15,15,15,0,15,15,7,21,15,8,0,17,15,15,15,0,0,15,15,21,15,8,0,0,17,15,15,15,8,8,15,0,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,15,14,16,15,14,21,14,0,22,15,22,14,14,22,14,15,16,15,21,14,14,14,14,14,7,22,14,7,15,15,15,0,15,15,7,21,14,7,0,14,14,14,14,0,0,14,14,21,14,8,0,0,14,14,14,22,15,21,21,14,22,0,22,22,14,21,29,21,14,22,22,28,14,14,21,21,14,7,21,14,14,22,15,14,0,14,14,14,21,21,14,0,21,14,21,14,0,0,14,21,21,14,8,0,0,21,8,10,16,16,22,15,8,15,22,0,18,9,15,25,15,8,18,15,22,10,8,16,15,8,12,17,10,15,20,11,8,0,8,8,14,14,24,19,0,15,8,17,8,0,0,10,15,18,8,9,0,0,17,15,15,16,17,16,22,15,22,22,18,0,16,15,25,15,16,18,15,22,17,15,14,15,15,10,23,17,8,18,16,15,0,15,15,7,21,15,10,0,15,15,15,15,0,1,15,15,23,15,9,0,0,17,14,14,14,7,7,14,14,14,14,9,16,0,14,16,14,14,16,14,14,16,14,14,14,14,9,14,16,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,0,16,15,15,22,8,15,15,15,14,21,15,15,14,0,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,15,15,23,16,22,22,15,22,29,25,25,16,22,0,22,15,25,22,29,17,15,21,22,15,10,22,17,15,25,16,15,0,15,15,14,21,22,17,0,22,15,22,15,0,0,15,22,23,15,9,0,0,24,15,15,22,8,15,15,15,14,21,15,15,14,22,22,0,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,16,15,16,9,9,15,15,15,14,8,16,14,15,15,15,0,16,14,15,15,15,14,15,15,8,17,15,8,15,15,16,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,16,15,24,9,15,15,15,16,22,18,18,16,22,25,22,16,0,22,22,17,15,21,22,15,10,16,17,15,25,16,16,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,9,0,0,24,14,14,22,8,14,14,14,15,22,15,15,14,21,22,21,14,22,0,21,14,14,21,21,14,7,14,14,14,22,15,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,8,0,0,21,15,15,22,15,22,22,15,21,28,22,22,14,22,29,22,15,22,21,0,15,15,21,22,15,8,22,15,15,22,15,15,0,15,15,14,21,22,15,0,22,15,22,15,0,0,15,22,21,15,8,0,0,22,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,0,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,0,17,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,14,16,21,7,14,14,14,14,21,16,14,14,21,21,21,14,21,21,21,14,14,0,21,14,9,16,14,14,23,16,14,0,14,14,14,14,16,16,0,21,7,23,14,0,0,16,21,16,14,7,0,0,21,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,0,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,0,22,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,0,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,8,10,8,8,8,8,8,7,7,12,10,9,8,10,8,8,10,7,8,10,8,9,8,8,0,10,10,8,12,10,8,0,8,8,7,7,10,12,0,8,1,10,8,0,0,10,8,11,8,8,0,0,10,16,17,16,16,16,22,15,22,21,17,23,14,15,22,15,17,16,14,22,15,15,16,15,15,10,0,15,8,17,17,16,0,16,16,7,21,17,10,0,15,15,17,15,0,0,17,15,23,15,8,0,0,15,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,17,15,14,15,15,10,15,0,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,0,17,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,0,15,15,17,23,9,15,15,15,15,22,20,18,16,22,25,22,15,25,22,22,17,15,23,22,15,12,17,17,15,0,18,15,0,15,15,14,14,17,19,0,22,8,24,15,0,0,17,22,18,15,9,0,0,24,15,17,16,9,8,15,15,15,15,11,16,14,15,16,15,15,16,15,15,15,15,16,15,15,10,17,15,8,18,0,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,17,15,16,15,9,0,0,15,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,0,0,16,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,0,16,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,16,15,16,8,8,15,15,15,14,8,15,14,15,15,15,16,16,14,15,15,15,14,15,15,8,16,15,8,15,15,16,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,0,15,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,0,14,14,14,14,14,14,21,14,21,21,14,21,14,14,21,14,14,14,14,21,14,14,14,14,14,7,21,14,7,14,14,14,0,14,14,7,0,14,7,0,14,14,14,14,0,0,14,14,21,14,7,0,0,14,8,10,15,15,22,15,8,14,21,24,15,7,15,22,15,8,15,14,22,8,8,16,15,8,10,17,8,15,17,10,8,0,8,8,14,14,0,17,0,15,8,17,8,0,0,10,15,16,8,8,0,0,15,8,10,15,8,15,8,8,7,14,19,10,9,15,17,15,8,17,14,15,10,8,16,15,8,12,10,10,15,19,10,8,0,8,8,14,7,17,0,0,15,1,17,8,0,0,10,15,11,8,8,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,17,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,0,8,22,15,0,0,15,22,14,15,8,0,0,24,8,8,8,8,8,15,8,14,14,8,15,7,8,15,8,8,8,7,15,8,8,7,8,8,1,15,8,1,8,8,8,0,8,8,0,14,8,1,0,8,0,8,8,0,0,8,8,14,8,1,0,0,8,15,17,22,8,15,15,15,14,21,17,15,14,22,22,22,15,22,21,22,15,15,23,22,15,10,17,15,15,24,17,15,0,15,15,14,14,17,17,0,22,8,0,15,0,0,17,22,16,15,8,0,0,22,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,15,8,8,15,15,14,14,10,15,14,15,15,15,15,15,14,15,15,15,16,15,15,10,17,15,8,17,17,15,0,15,15,7,14,10,10,0,15,8,17,15,0,0,0,15,16,15,8,0,0,15,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,0,22,14,16,14,14,14,21,14,21,21,18,23,16,14,23,14,14,16,14,21,16,14,16,14,14,11,23,16,7,18,16,14,0,14,14,7,21,16,11,0,14,14,16,14,0,0,16,14,0,14,7,0,0,16,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,0,8,0,0,15,8,8,9,9,8,8,8,8,8,9,9,7,8,9,8,8,9,8,8,8,8,7,8,8,8,8,8,8,9,9,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,17,15,14,21,17,17,16,22,24,22,15,24,21,22,17,15,21,22,15,10,15,17,15,24,15,15,0,15,15,14,14,15,17,0,24,8,22,15,0,0,15,22,16,15,8,0,0,0,0,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,16,0,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,15,15,0,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,8,8,8,0,8,10,8,7,7,8,8,7,8,8,8,8,10,7,8,8,10,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,10,1,8,8,0,0,8,8,7,8,8,0,8,0,8,8,15,8,0,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,16,16,15,10,8,0,17,14,14,9,15,15,16,16,16,15,18,14,15,15,17,14,16,17,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,20,8,15,15,0,1,16,15,14,16,8,0,17,0,16,16,15,8,8,17,0,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,17,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,14,14,14,7,7,14,14,0,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,14,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,0,14,14,21,7,14,14,14,14,0,14,14,14,21,21,21,14,21,21,21,14,14,21,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,8,8,15,8,15,9,9,7,14,0,10,10,15,18,16,8,18,14,15,10,8,14,16,9,11,8,10,15,18,8,8,0,9,9,14,7,15,17,0,15,1,15,8,0,0,8,15,9,8,8,0,17,0,15,15,15,8,8,15,15,14,14,10,0,16,15,17,15,15,17,14,15,17,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,0,14,14,14,7,7,15,15,14,14,10,16,0,14,17,15,14,17,14,14,16,14,14,15,15,10,14,16,7,17,14,14,0,15,15,7,14,7,9,0,14,7,14,14,0,0,14,14,16,14,7,0,16,0,16,16,22,8,15,16,16,14,21,15,15,14,0,22,22,15,22,21,22,15,15,21,22,16,8,15,18,15,22,15,15,0,16,15,14,14,15,16,0,23,8,22,15,0,1,16,22,16,16,8,0,22,0,15,15,22,8,15,16,16,14,21,18,17,17,22,0,23,15,25,21,22,17,15,21,23,16,11,15,17,15,25,15,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,8,0,24,0,15,15,22,8,15,16,16,14,21,16,15,15,22,23,0,15,23,21,22,15,15,21,23,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,0,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,15,15,22,10,15,18,16,14,21,18,17,17,22,25,23,15,0,21,22,17,17,21,23,16,11,15,17,15,25,15,15,0,16,16,14,14,15,17,0,24,8,22,15,0,0,15,22,16,15,8,0,24,0,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,21,0,21,14,14,21,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,0,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,15,15,15,8,8,15,15,14,14,10,17,16,15,17,15,15,17,14,15,0,15,14,15,15,10,15,17,8,17,15,15,0,15,15,7,14,8,10,0,15,8,15,15,0,0,15,15,16,15,8,0,17,0,15,15,15,10,8,17,15,14,14,8,15,14,15,15,15,15,17,14,15,15,0,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,17,8,15,15,0,0,15,15,14,15,8,0,15,0,14,14,21,7,14,14,14,14,21,14,14,14,21,21,21,14,21,21,21,14,14,0,21,14,7,14,14,14,21,14,14,0,14,14,14,14,14,14,0,21,7,21,14,0,0,14,21,14,14,7,0,21,0,15,15,22,8,15,16,16,14,21,16,15,15,22,23,23,15,23,21,22,15,15,21,0,16,9,15,15,15,23,15,15,0,16,16,14,14,15,15,0,22,8,22,15,0,0,15,22,14,15,8,0,22,0,16,16,15,8,8,17,17,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,0,9,15,16,8,16,15,15,0,17,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,8,8,8,8,8,9,9,7,7,11,10,10,8,11,9,8,11,7,8,10,8,7,9,9,0,8,10,8,11,8,8,0,9,9,7,7,8,10,0,8,1,8,8,0,0,8,8,9,8,8,0,10,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,0,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,16,16,15,8,8,16,16,14,14,10,17,16,18,17,15,15,17,14,15,17,15,14,15,16,10,15,0,8,17,15,15,0,16,15,7,14,8,11,0,16,8,15,15,0,1,16,15,18,16,8,0,17,0,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,0,15,8,8,0,8,8,14,7,15,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,15,15,22,8,15,16,16,14,21,18,17,17,22,25,23,15,25,21,22,17,15,21,23,16,11,15,17,15,0,15,15,0,16,16,14,14,15,17,0,22,8,22,15,0,0,15,22,16,15,8,0,24,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,0,15,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,0,0,15,15,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,15,8,8,17,17,14,14,9,15,15,16,16,16,15,16,14,15,15,15,14,16,17,9,15,16,8,16,15,15,0,0,16,7,14,8,9,0,16,8,15,15,0,1,16,15,14,16,8,0,15,0,15,15,15,8,8,16,16,14,14,9,15,15,15,16,16,15,16,14,15,15,15,14,16,16,9,15,15,8,16,15,15,0,16,0,7,14,8,8,0,15,8,15,15,0,0,15,15,14,15,8,0,15,0,7,7,14,7,14,7,7,7,14,14,7,7,14,14,14,7,14,14,14,7,7,14,14,7,7,7,7,14,14,7,7,0,7,7,0,7,14,14,0,14,0,14,7,0,0,7,14,7,7,7,0,14,0,14,14,14,7,7,14,14,14,14,7,14,14,14,14,14,14,14,14,14,14,14,14,14,14,7,14,14,7,14,14,14,0,14,14,7,0,7,7,0,14,7,14,14,0,0,14,14,14,14,7,0,14,0,8,8,15,8,15,8,8,7,14,15,8,7,15,15,15,8,15,14,15,8,8,14,15,8,8,8,8,15,15,8,8,0,8,8,14,7,0,15,0,15,1,15,8,0,0,8,15,7,8,8,0,15,0,9,9,15,8,15,9,9,7,14,17,10,9,16,17,15,8,17,14,15,10,8,14,15,9,10,8,11,15,17,8,8,0,9,8,14,7,15,0,0,16,1,15,8,0,1,9,15,9,9,8,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,22,10,15,20,16,14,21,15,15,14,23,22,22,15,24,21,22,15,17,21,22,16,8,15,16,15,22,15,15,0,16,15,14,14,15,16,0,0,8,22,15,0,1,16,22,14,16,8,0,24,0,8,8,8,1,1,8,8,7,7,1,8,7,8,8,8,8,8,7,8,8,8,7,8,8,1,8,8,1,8,8,8,0,8,8,0,7,1,1,0,8,0,8,8,0,0,8,8,7,8,1,0,8,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,0,15,0,0,15,22,14,15,8,0,22,0,15,15,15,8,8,15,15,14,14,8,15,14,15,15,15,15,15,14,15,15,15,14,15,15,8,15,15,8,15,15,15,0,15,15,7,14,8,8,0,15,8,15,0,0,0,15,15,14,15,8,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,0,15,14,16,8,0,15,0,15,15,22,8,15,15,15,14,21,15,15,14,22,22,22,15,22,21,22,15,15,21,22,15,8,15,15,15,22,15,15,0,15,15,14,14,15,15,0,22,8,22,15,0,0,15,0,14,15,8,0,22,0,14,14,14,7,7,14,14,14,14,9,16,16,16,16,14,14,16,14,14,16,14,14,14,14,9,14,18,7,16,14,14,0,14,14,7,14,7,9,0,14,7,14,14,0,0,14,14,0,14,7,0,16,0,16,16,15,8,8,16,16,14,14,8,15,14,16,15,15,15,15,14,15,15,15,14,15,16,8,15,16,8,15,15,15,0,16,15,7,14,8,9,0,16,8,15,15,0,1,16,15,14,0,8,0,15,0,8,8,8,8,8,8,8,7,7,8,8,7,8,8,8,8,8,7,8,8,8,7,8,8,8,8,8,8,8,8,8,0,8,8,7,7,8,8,0,8,1,8,8,0,0,8,8,7,8,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,22,8,15,17,15,14,21,17,17,16,22,24,22,15,24,21,22,17,15,21,22,15,10,15,17,15,24,15,15,0,15,15,14,14,15,17,0,24,8,22,15,0,0,15,22,16,15,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,]" -val global/trio-table = global/create-trio-table() - -// Base affinity for a trio using the global ruleset. -pub fun global/trio-affinity(a: character-id, b: character-id, c: character-id): int - global/trio-table.at(a.index * 53 * 53 + b.index * 53 + c.index).default(0) diff --git a/horse/global/race.go b/horse/global/race.go deleted file mode 100644 index fe25d3e..0000000 --- a/horse/global/race.go +++ /dev/null @@ -1,2014 +0,0 @@ -package global - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - RaceFebruaryStakes RaceID = 1001 // February Stakes - RaceTakamatsunomiyaKinen RaceID = 1002 // Takamatsunomiya Kinen - RaceOsakaHai RaceID = 1003 // Osaka Hai - RaceOkaSho RaceID = 1004 // Oka Sho - RaceSatsukiSho RaceID = 1005 // Satsuki Sho - RaceTennoShoSpring RaceID = 1006 // Tenno Sho (Spring) - RaceNHKMileCup RaceID = 1007 // NHK Mile Cup - RaceVictoriaMile RaceID = 1008 // Victoria Mile - RaceJapaneseOaks RaceID = 1009 // Japanese Oaks - RaceTokyoYushunJapaneseDerby RaceID = 1010 // Tokyo Yushun (Japanese Derby) - RaceYasudaKinen RaceID = 1011 // Yasuda Kinen - RaceTakarazukaKinen RaceID = 1012 // Takarazuka Kinen - RaceSprintersStakes RaceID = 1013 // Sprinters Stakes - RaceShukaSho RaceID = 1014 // Shuka Sho - RaceKikukaSho RaceID = 1015 // Kikuka Sho - RaceTennoShoAutumn RaceID = 1016 // Tenno Sho (Autumn) - RaceQueenElizabethIICup RaceID = 1017 // Queen Elizabeth II Cup - RaceMileChampionship RaceID = 1018 // Mile Championship - RaceJapanCup RaceID = 1019 // Japan Cup - RaceChampionsCup RaceID = 1020 // Champions Cup - RaceHanshinJuvenileFillies RaceID = 1021 // Hanshin Juvenile Fillies - RaceAsahiHaiFuturityStakes RaceID = 1022 // Asahi Hai Futurity Stakes - RaceArimaKinen RaceID = 1023 // Arima Kinen - RaceHopefulStakes RaceID = 1024 // Hopeful Stakes - RaceTakarazukaKinenAlt1025 RaceID = 1025 // Takarazuka Kinen - RaceKikukaShoAlt1026 RaceID = 1026 // Kikuka Sho - RaceTennoShoSpringAlt1027 RaceID = 1027 // Tenno Sho (Spring) - RaceSatsukiShoAlt1028 RaceID = 1028 // Satsuki Sho - RaceTeioSho RaceID = 1101 // Teio Sho - RaceJapanDirtDerby RaceID = 1102 // Japan Dirt Derby - RaceJBCLadiesClassic RaceID = 1103 // JBC Ladies’ Classic - RaceJBCSprint RaceID = 1104 // JBC Sprint - RaceJBCClassic RaceID = 1105 // JBC Classic - RaceTokyoDaishoten RaceID = 1106 // Tokyo Daishoten - RaceNikkeiShinshunHai RaceID = 2001 // Nikkei Shinshun Hai - RaceTokaiStakes RaceID = 2002 // Tokai Stakes - RaceAmericanJCC RaceID = 2003 // American JCC - RaceKyotoKinen RaceID = 2004 // Kyoto Kinen - RaceNakayamaKinen RaceID = 2005 // Nakayama Kinen - RaceYayoiSho RaceID = 2006 // Yayoi Sho - RaceKinkoSho RaceID = 2007 // Kinko Sho - RaceFilliesRevue RaceID = 2008 // Fillies' Revue - RaceHanshinDaishoten RaceID = 2009 // Hanshin Daishoten - RaceSpringStakes RaceID = 2010 // Spring Stakes - RaceNikkeiSho RaceID = 2011 // Nikkei Sho - RaceHanshinUmamusumeStakes RaceID = 2012 // Hanshin Umamusume Stakes - RaceNewZealandTrophy RaceID = 2013 // New Zealand Trophy - RaceMilersCup RaceID = 2014 // Milers Cup - RaceFloraStakes RaceID = 2015 // Flora Stakes - RaceAobaSho RaceID = 2016 // Aoba Sho - RaceKyotoShimbunHai RaceID = 2017 // Kyoto Shimbun Hai - RaceKeioHaiSpringCup RaceID = 2018 // Keio Hai Spring Cup - RaceMeguroKinen RaceID = 2019 // Meguro Kinen - RaceSapporoKinen RaceID = 2020 // Sapporo Kinen - RaceCentaurStakes RaceID = 2021 // Centaur Stakes - RaceRoseStakes RaceID = 2022 // Rose Stakes - RaceStLiteKinen RaceID = 2023 // St. Lite Kinen - RaceKobeShimbunHai RaceID = 2024 // Kobe Shimbun Hai - RaceAllComers RaceID = 2025 // All Comers - RaceMainichiOkan RaceID = 2026 // Mainichi Okan - RaceKyotoDaishoten RaceID = 2027 // Kyoto Daishoten - RaceFuchuUmamusumeStakes RaceID = 2028 // Fuchu Umamusume Stakes - RaceSwanStakes RaceID = 2029 // Swan Stakes - RaceKeioHaiJuniorStakes RaceID = 2030 // Keio Hai Junior Stakes - RaceCopaRepublicaArgentina RaceID = 2031 // Copa Republica Argentina - RaceDailyHaiJuniorStakes RaceID = 2032 // Daily Hai Junior Stakes - RaceStayersStakes RaceID = 2033 // Stayers Stakes - RaceHanshinCup RaceID = 2034 // Hanshin Cup - RaceSpringStakesAlt2035 RaceID = 2035 // Spring Stakes - RaceKyotoKimpai RaceID = 3001 // Kyoto Kimpai - RaceNakayamaKimpai RaceID = 3002 // Nakayama Kimpai - RaceShinzanKinen RaceID = 3003 // Shinzan Kinen - RaceFairyStakes RaceID = 3004 // Fairy Stakes - RaceAichiHai RaceID = 3005 // Aichi Hai - RaceKeiseiHai RaceID = 3006 // Keisei Hai - RaceSilkRoadStakes RaceID = 3007 // Silk Road Stakes - RaceNegishiStakes RaceID = 3008 // Negishi Stakes - RaceKisaragiSho RaceID = 3009 // Kisaragi Sho - RaceTokyoShimbunHai RaceID = 3010 // Tokyo Shimbun Hai - RaceQueenCup RaceID = 3011 // Queen Cup - RaceKyodoNewsHai RaceID = 3012 // Kyodo News Hai - RaceKyotoUmamusumeStakes RaceID = 3013 // Kyoto Umamusume Stakes - RaceDiamondStakes RaceID = 3014 // Diamond Stakes - RaceKokuraDaishoten RaceID = 3015 // Kokura Daishoten - RaceArlingtonCup RaceID = 3016 // Arlington Cup - RaceHankyuHai RaceID = 3017 // Hankyu Hai - RaceTulipSho RaceID = 3018 // Tulip Sho - RaceOceanStakes RaceID = 3019 // Ocean Stakes - RaceNakayamaUmamusumeStakes RaceID = 3020 // Nakayama Umamusume Stakes - RaceFalconStakes RaceID = 3021 // Falcon Stakes - RaceFlowerCup RaceID = 3022 // Flower Cup - RaceMainichiHai RaceID = 3023 // Mainichi Hai - RaceMarchStakes RaceID = 3024 // March Stakes - RaceLordDerbyChallengeTrophy RaceID = 3025 // Lord Derby Challenge Trophy - RaceAntaresStakes RaceID = 3026 // Antares Stakes - RaceFukushimaUmamusumeStakes RaceID = 3027 // Fukushima Umamusume Stakes - RaceNiigataDaishoten RaceID = 3028 // Niigata Daishoten - RaceHeianStakes RaceID = 3029 // Heian Stakes - RaceNaruoKinen RaceID = 3030 // Naruo Kinen - RaceMermaidStakes RaceID = 3031 // Mermaid Stakes - RaceEpsomCup RaceID = 3032 // Epsom Cup - RaceUnicornStakes RaceID = 3033 // Unicorn Stakes - RaceHakodateSprintStakes RaceID = 3034 // Hakodate Sprint Stakes - RaceCBCSho RaceID = 3035 // CBC Sho - RaceRadioNikkeiSho RaceID = 3036 // Radio Nikkei Sho - RaceProcyonStakes RaceID = 3037 // Procyon Stakes - RaceTanabataSho RaceID = 3038 // Tanabata Sho - RaceHakodateKinen RaceID = 3039 // Hakodate Kinen - RaceChukyoKinen RaceID = 3040 // Chukyo Kinen - RaceHakodateJuniorStakes RaceID = 3041 // Hakodate Junior Stakes - RaceIbisSummerDash RaceID = 3042 // Ibis Summer Dash - RaceQueenStakes RaceID = 3043 // Queen Stakes - RaceKokuraKinen RaceID = 3044 // Kokura Kinen - RaceLeopardStakes RaceID = 3045 // Leopard Stakes - RaceSekiyaKinen RaceID = 3046 // Sekiya Kinen - RaceElmStakes RaceID = 3047 // Elm Stakes - RaceKitakyushuKinen RaceID = 3048 // Kitakyushu Kinen - RaceNiigataJuniorStakes RaceID = 3049 // Niigata Junior Stakes - RaceKeenelandCup RaceID = 3050 // Keeneland Cup - RaceSapporoJuniorStakes RaceID = 3051 // Sapporo Junior Stakes - RaceKokuraJuniorStakes RaceID = 3052 // Kokura Junior Stakes - RaceNiigataKinen RaceID = 3053 // Niigata Kinen - RaceShionStakes RaceID = 3054 // Shion Stakes - RaceKeiseiHaiAutumnHandicap RaceID = 3055 // Keisei Hai Autumn Handicap - RaceSiriusStakes RaceID = 3056 // Sirius Stakes - RaceSaudiArabiaRoyalCup RaceID = 3057 // Saudi Arabia Royal Cup - RaceFujiStakes RaceID = 3058 // Fuji Stakes - RaceArtemisStakes RaceID = 3059 // Artemis Stakes - RaceFantasyStakes RaceID = 3060 // Fantasy Stakes - RaceMiyakoStakes RaceID = 3061 // Miyako Stakes - RaceMusashinoStakes RaceID = 3062 // Musashino Stakes - RaceFukushimaKinen RaceID = 3063 // Fukushima Kinen - RaceTokyoSportsHaiJuniorStakes RaceID = 3064 // Tokyo Sports Hai Junior Stakes - RaceKyotoJuniorStakes RaceID = 3065 // Kyoto Junior Stakes - RaceKeihanHai RaceID = 3066 // Keihan Hai - RaceChallengeCup RaceID = 3067 // Challenge Cup - RaceChunichiShimbunHai RaceID = 3068 // Chunichi Shimbun Hai - RaceCapellaStakes RaceID = 3069 // Capella Stakes - RaceTurquoiseStakes RaceID = 3070 // Turquoise Stakes - RaceManyoStakes RaceID = 4001 // Manyo Stakes - RaceJuniorCup RaceID = 4002 // Junior Cup - RaceYodoTankyoriStakes RaceID = 4003 // Yodo Tankyori Stakes - RacePolluxStakes RaceID = 4004 // Pollux Stakes - RaceJanuaryStakes RaceID = 4005 // January Stakes - RaceNewYearStakes RaceID = 4006 // New Year Stakes - RaceKobaiStakes RaceID = 4007 // Kobai Stakes - RaceSubaruStakes RaceID = 4008 // Subaru Stakes - RaceWakagomaStakes RaceID = 4009 // Wakagoma Stakes - RaceCarbuncleStakes RaceID = 4010 // Carbuncle Stakes - RaceShirafujiStakes RaceID = 4011 // Shirafuji Stakes - RaceCrocusStakes RaceID = 4012 // Crocus Stakes - RaceYamatoStakes RaceID = 4013 // Yamato Stakes - RaceElfinStakes RaceID = 4014 // Elfin Stakes - RaceRakuyoStakes RaceID = 4015 // Rakuyo Stakes - RaceAldebaranStakes RaceID = 4016 // Aldebaran Stakes - RaceValentineStakes RaceID = 4017 // Valentine Stakes - RaceHyacinthStakes RaceID = 4018 // Hyacinth Stakes - RaceSobuStakes RaceID = 4019 // Sobu Stakes - RaceSumireStakes RaceID = 4020 // Sumire Stakes - RaceOsakajoStakes RaceID = 4021 // Osakajo Stakes - RacePolarisStakes RaceID = 4022 // Polaris Stakes - RaceNigawaStakes RaceID = 4023 // Nigawa Stakes - RaceAnemoneStakes RaceID = 4024 // Anemone Stakes - RaceShoryuStakes RaceID = 4025 // Shoryu Stakes - RaceKochiStakes RaceID = 4026 // Kochi Stakes - RaceWakabaStakes RaceID = 4027 // Wakaba Stakes - RaceChibaStakes RaceID = 4028 // Chiba Stakes - RaceRokkoStakes RaceID = 4030 // Rokko Stakes - RaceCoralStakes RaceID = 4031 // Coral Stakes - RaceMargueriteStakes RaceID = 4032 // Marguerite Stakes - RaceFukuryuStakes RaceID = 4033 // Fukuryu Stakes - RaceWasurenagusaSho RaceID = 4035 // Wasurenagusa Sho - RaceKeiyoStakes RaceID = 4036 // Keiyo Stakes - RaceShunraiStakes RaceID = 4037 // Shunrai Stakes - RaceFukushimaMimpoHai RaceID = 4038 // Fukushima Mimpo Hai - RaceTachibanaStakes RaceID = 4039 // Tachibana Stakes - RaceOasisStakes RaceID = 4040 // Oasis Stakes - RaceTennozanStakes RaceID = 4041 // Tennozan Stakes - RaceTangoStakes RaceID = 4042 // Tango Stakes - RaceSweetpeaStakes RaceID = 4043 // Sweetpea Stakes - RaceTanigawadakeStakes RaceID = 4044 // Tanigawadake Stakes - RacePrincipalStakes RaceID = 4045 // Principal Stakes - RaceMetropolitanStakes RaceID = 4046 // Metropolitan Stakes - RaceKuramaStakes RaceID = 4047 // Kurama Stakes - RaceBrilliantStakes RaceID = 4048 // Brilliant Stakes - RaceMiyakoojiStakes RaceID = 4049 // Miyakooji Stakes - RaceAoiStakes RaceID = 4050 // Aoi Stakes - RaceRittoStakes RaceID = 4051 // Ritto Stakes - RaceSeiryuStakes RaceID = 4052 // Seiryu Stakes - RaceMayStakes RaceID = 4053 // May Stakes - RaceHosuStakes RaceID = 4054 // Hosu Stakes - RaceIdatenStakes RaceID = 4055 // Idaten Stakes - RaceShirayuriStakes RaceID = 4056 // Shirayuri Stakes - RaceKeyakiStakes RaceID = 4057 // Keyaki Stakes - RaceAzuchijoStakes RaceID = 4058 // Azuchijo Stakes - RaceAkhaltekeStakes RaceID = 4059 // Akhalteke Stakes - RaceTempozanStakes RaceID = 4060 // Tempozan Stakes - RaceYonagoStakes RaceID = 4061 // Yonago Stakes - RaceOnumaStakes RaceID = 4062 // Onuma Stakes - RaceParadiseStakes RaceID = 4063 // Paradise Stakes - RaceTomoeSho RaceID = 4064 // Tomoe Sho - RaceMarineStakes RaceID = 4065 // Marine Stakes - RaceMeitetsuHai RaceID = 4066 // Meitetsu Hai - RaceChukyoJuniorStakes RaceID = 4068 // Chukyo Junior Stakes - RaceFukushimaTVOpen RaceID = 4069 // Fukushima TV Open - RaceDahliaSho RaceID = 4070 // Dahlia Sho - RaceSapporoNikkeiOpen RaceID = 4071 // Sapporo Nikkei Open - RaceUHBSho RaceID = 4072 // UHB Sho - RaceAsoStakes RaceID = 4073 // Aso Stakes - RacePhoenixSho RaceID = 4074 // Phoenix Sho - RaceCosmosSho RaceID = 4075 // Cosmos Sho - RaceNSTSho RaceID = 4076 // NST Sho - RaceCloverSho RaceID = 4077 // Clover Sho - RaceHimawariSho RaceID = 4078 // Himawari Sho - RaceBSNSho RaceID = 4079 // BSN Sho - RaceKokuraNikkeiOpen RaceID = 4080 // Kokura Nikkei Open - RaceTokiStakes RaceID = 4081 // Toki Stakes - RaceTanchoStakes RaceID = 4082 // Tancho Stakes - RaceSuzuranSho RaceID = 4083 // Suzuran Sho - RaceEnifStakes RaceID = 4084 // Enif Stakes - RaceNojigikuStakes RaceID = 4085 // Nojigiku Stakes - RaceRadioNipponSho RaceID = 4086 // Radio Nippon Sho - RaceKikyoStakes RaceID = 4087 // Kikyo Stakes - RaceFuyoStakes RaceID = 4088 // Fuyo Stakes - RaceCannaStakes RaceID = 4089 // Canna Stakes - RacePortIslandStakes RaceID = 4090 // Port Island Stakes - RaceOpalStakes RaceID = 4091 // Opal Stakes - RaceGreenChannelCup RaceID = 4092 // Green Channel Cup - RaceMomijiStakes RaceID = 4093 // Momiji Stakes - RaceOctoberStakes RaceID = 4094 // October Stakes - RaceShinetsuStakes RaceID = 4095 // Shinetsu Stakes - RaceIvyStakes RaceID = 4096 // Ivy Stakes - RaceMuromachiStakes RaceID = 4097 // Muromachi Stakes - RaceBrazilCup RaceID = 4098 // Brazil Cup - RaceHagiStakes RaceID = 4099 // Hagi Stakes - RaceCassiopeiaStakes RaceID = 4100 // Cassiopeia Stakes - RaceLumiereAutumnDash RaceID = 4101 // Lumiere Autumn Dash - RaceOroCup RaceID = 4102 // Oro Cup - RaceFukushimaJuniorStakes RaceID = 4103 // Fukushima Junior Stakes - RaceAndromedaStakes RaceID = 4104 // Andromeda Stakes - RaceShimotsukiStakes RaceID = 4105 // Shimotsuki Stakes - RaceFukushimaMinyuCup RaceID = 4106 // Fukushima Minyu Cup - RaceCapitalStakes RaceID = 4107 // Capital Stakes - RaceAutumnLeafStakes RaceID = 4108 // Autumn Leaf Stakes - RaceLapisLazuliStakes RaceID = 4109 // Lapis Lazuli Stakes - RaceShiwasuStakes RaceID = 4110 // Shiwasu Stakes - RaceRigelStakes RaceID = 4111 // Rigel Stakes - RaceTanzaniteStakes RaceID = 4112 // Tanzanite Stakes - RaceDecemberStakes RaceID = 4113 // December Stakes - RaceChristmasRoseStakes RaceID = 4114 // Christmas Rose Stakes - RaceGalaxyStakes RaceID = 4115 // Galaxy Stakes - RaceBetelgeuseStakes RaceID = 4116 // Betelgeuse Stakes - RaceKitakyushuTankyoriStakes RaceID = 4118 // Kitakyushu Tankyori Stakes - RaceAzumakofujiStakes RaceID = 4119 // Azumakofuji Stakes - RaceSleipnirStakes RaceID = 4120 // Sleipnir Stakes - RaceSannomiyaStakes RaceID = 4121 // Sannomiya Stakes - RaceKanetsuStakes RaceID = 4122 // Kanetsu Stakes - RaceNagatsukiStakes RaceID = 4123 // Nagatsuki Stakes - RaceUzumasaStakes RaceID = 4124 // Uzumasa Stakes - RaceAsterSho RaceID = 4501 // Aster Sho - RaceSaffronSho RaceID = 4502 // Saffron Sho - RaceRindoSho RaceID = 4503 // Rindo Sho - RaceShigikuSho RaceID = 4504 // Shigiku Sho - RacePlatanusSho RaceID = 4505 // Platanus Sho - RaceNadeshikoSho RaceID = 4506 // Nadeshiko Sho - RaceHyakunichisoTokubetsu RaceID = 4507 // Hyakunichiso Tokubetsu - RaceKimmokuseiTokubetsu RaceID = 4508 // Kimmokusei Tokubetsu - RaceOxalisSho RaceID = 4509 // Oxalis Sho - RaceKigikuSho RaceID = 4510 // Kigiku Sho - RaceMochinokiSho RaceID = 4511 // Mochinoki Sho - RaceAkamatsuSho RaceID = 4512 // Akamatsu Sho - RaceShumeigikuSho RaceID = 4513 // Shumeigiku Sho - RaceCattleyaSho RaceID = 4514 // Cattleya Sho - RaceBegoniaSho RaceID = 4515 // Begonia Sho - RaceShiragikuSho RaceID = 4516 // Shiragiku Sho - RaceHabotanSho RaceID = 4517 // Habotan Sho - RaceKoyamakiSho RaceID = 4518 // Koyamaki Sho - RaceManryoSho RaceID = 4519 // Manryo Sho - RaceKuromatsuSho RaceID = 4520 // Kuromatsu Sho - RaceEricaSho RaceID = 4521 // Erica Sho - RaceTsuwabukiSho RaceID = 4522 // Tsuwabuki Sho - RaceHiiragiSho RaceID = 4523 // Hiiragi Sho - RaceSazankaSho RaceID = 4524 // Sazanka Sho - RaceKantsubakiSho RaceID = 4525 // Kantsubaki Sho - RaceSenryoSho RaceID = 4526 // Senryo Sho -) - -var AllRaces = map[RaceID]Race{ - RaceFebruaryStakes: { - ID: 1001, - Name: "February Stakes", - Thumbnail: 1001, - }, - RaceTakamatsunomiyaKinen: { - ID: 1002, - Name: "Takamatsunomiya Kinen", - Thumbnail: 1002, - }, - RaceOsakaHai: { - ID: 1003, - Name: "Osaka Hai", - Thumbnail: 1003, - }, - RaceOkaSho: { - ID: 1004, - Name: "Oka Sho", - Thumbnail: 1004, - }, - RaceSatsukiSho: { - ID: 1005, - Name: "Satsuki Sho", - Thumbnail: 1005, - }, - RaceTennoShoSpring: { - ID: 1006, - Name: "Tenno Sho (Spring)", - Thumbnail: 1006, - }, - RaceNHKMileCup: { - ID: 1007, - Name: "NHK Mile Cup", - Thumbnail: 1007, - }, - RaceVictoriaMile: { - ID: 1008, - Name: "Victoria Mile", - Thumbnail: 1008, - }, - RaceJapaneseOaks: { - ID: 1009, - Name: "Japanese Oaks", - Thumbnail: 1009, - }, - RaceTokyoYushunJapaneseDerby: { - ID: 1010, - Name: "Tokyo Yushun (Japanese Derby)", - Thumbnail: 1010, - }, - RaceYasudaKinen: { - ID: 1011, - Name: "Yasuda Kinen", - Thumbnail: 1011, - }, - RaceTakarazukaKinen: { - ID: 1012, - Name: "Takarazuka Kinen", - Thumbnail: 1012, - }, - RaceSprintersStakes: { - ID: 1013, - Name: "Sprinters Stakes", - Thumbnail: 1013, - }, - RaceShukaSho: { - ID: 1014, - Name: "Shuka Sho", - Thumbnail: 1014, - }, - RaceKikukaSho: { - ID: 1015, - Name: "Kikuka Sho", - Thumbnail: 1015, - }, - RaceTennoShoAutumn: { - ID: 1016, - Name: "Tenno Sho (Autumn)", - Thumbnail: 1016, - }, - RaceQueenElizabethIICup: { - ID: 1017, - Name: "Queen Elizabeth II Cup", - Thumbnail: 1017, - }, - RaceMileChampionship: { - ID: 1018, - Name: "Mile Championship", - Thumbnail: 1018, - }, - RaceJapanCup: { - ID: 1019, - Name: "Japan Cup", - Thumbnail: 1019, - }, - RaceChampionsCup: { - ID: 1020, - Name: "Champions Cup", - Thumbnail: 1020, - }, - RaceHanshinJuvenileFillies: { - ID: 1021, - Name: "Hanshin Juvenile Fillies", - Thumbnail: 1021, - }, - RaceAsahiHaiFuturityStakes: { - ID: 1022, - Name: "Asahi Hai Futurity Stakes", - Thumbnail: 1022, - }, - RaceArimaKinen: { - ID: 1023, - Name: "Arima Kinen", - Thumbnail: 1023, - }, - RaceHopefulStakes: { - ID: 1024, - Name: "Hopeful Stakes", - Thumbnail: 1024, - }, - RaceTakarazukaKinenAlt1025: { - ID: 1025, - Name: "Takarazuka Kinen" + " (Alternate 1025)", - Thumbnail: 1012, - Primary: 1012, - }, - RaceKikukaShoAlt1026: { - ID: 1026, - Name: "Kikuka Sho" + " (Alternate 1026)", - Thumbnail: 1015, - Primary: 1015, - }, - RaceTennoShoSpringAlt1027: { - ID: 1027, - Name: "Tenno Sho (Spring)" + " (Alternate 1027)", - Thumbnail: 1027, - Primary: 1006, - }, - RaceSatsukiShoAlt1028: { - ID: 1028, - Name: "Satsuki Sho" + " (Alternate 1028)", - Thumbnail: 1028, - Primary: 1005, - }, - RaceTeioSho: { - ID: 1101, - Name: "Teio Sho", - Thumbnail: 1101, - }, - RaceJapanDirtDerby: { - ID: 1102, - Name: "Japan Dirt Derby", - Thumbnail: 1102, - }, - RaceJBCLadiesClassic: { - ID: 1103, - Name: "JBC Ladies’ Classic", - Thumbnail: 1103, - }, - RaceJBCSprint: { - ID: 1104, - Name: "JBC Sprint", - Thumbnail: 1104, - }, - RaceJBCClassic: { - ID: 1105, - Name: "JBC Classic", - Thumbnail: 1105, - }, - RaceTokyoDaishoten: { - ID: 1106, - Name: "Tokyo Daishoten", - Thumbnail: 1106, - }, - RaceNikkeiShinshunHai: { - ID: 2001, - Name: "Nikkei Shinshun Hai", - Thumbnail: 2001, - }, - RaceTokaiStakes: { - ID: 2002, - Name: "Tokai Stakes", - Thumbnail: 2002, - }, - RaceAmericanJCC: { - ID: 2003, - Name: "American JCC", - Thumbnail: 2003, - }, - RaceKyotoKinen: { - ID: 2004, - Name: "Kyoto Kinen", - Thumbnail: 2004, - }, - RaceNakayamaKinen: { - ID: 2005, - Name: "Nakayama Kinen", - Thumbnail: 2005, - }, - RaceYayoiSho: { - ID: 2006, - Name: "Yayoi Sho", - Thumbnail: 2006, - }, - RaceKinkoSho: { - ID: 2007, - Name: "Kinko Sho", - Thumbnail: 2007, - }, - RaceFilliesRevue: { - ID: 2008, - Name: "Fillies' Revue", - Thumbnail: 2008, - }, - RaceHanshinDaishoten: { - ID: 2009, - Name: "Hanshin Daishoten", - Thumbnail: 2009, - }, - RaceSpringStakes: { - ID: 2010, - Name: "Spring Stakes", - Thumbnail: 2010, - }, - RaceNikkeiSho: { - ID: 2011, - Name: "Nikkei Sho", - Thumbnail: 2011, - }, - RaceHanshinUmamusumeStakes: { - ID: 2012, - Name: "Hanshin Umamusume Stakes", - Thumbnail: 2012, - }, - RaceNewZealandTrophy: { - ID: 2013, - Name: "New Zealand Trophy", - Thumbnail: 2013, - }, - RaceMilersCup: { - ID: 2014, - Name: "Milers Cup", - Thumbnail: 2014, - }, - RaceFloraStakes: { - ID: 2015, - Name: "Flora Stakes", - Thumbnail: 2015, - }, - RaceAobaSho: { - ID: 2016, - Name: "Aoba Sho", - Thumbnail: 2016, - }, - RaceKyotoShimbunHai: { - ID: 2017, - Name: "Kyoto Shimbun Hai", - Thumbnail: 2017, - }, - RaceKeioHaiSpringCup: { - ID: 2018, - Name: "Keio Hai Spring Cup", - Thumbnail: 2018, - }, - RaceMeguroKinen: { - ID: 2019, - Name: "Meguro Kinen", - Thumbnail: 2019, - }, - RaceSapporoKinen: { - ID: 2020, - Name: "Sapporo Kinen", - Thumbnail: 2020, - }, - RaceCentaurStakes: { - ID: 2021, - Name: "Centaur Stakes", - Thumbnail: 2021, - }, - RaceRoseStakes: { - ID: 2022, - Name: "Rose Stakes", - Thumbnail: 2022, - }, - RaceStLiteKinen: { - ID: 2023, - Name: "St. Lite Kinen", - Thumbnail: 2023, - }, - RaceKobeShimbunHai: { - ID: 2024, - Name: "Kobe Shimbun Hai", - Thumbnail: 2024, - }, - RaceAllComers: { - ID: 2025, - Name: "All Comers", - Thumbnail: 2025, - }, - RaceMainichiOkan: { - ID: 2026, - Name: "Mainichi Okan", - Thumbnail: 2026, - }, - RaceKyotoDaishoten: { - ID: 2027, - Name: "Kyoto Daishoten", - Thumbnail: 2027, - }, - RaceFuchuUmamusumeStakes: { - ID: 2028, - Name: "Fuchu Umamusume Stakes", - Thumbnail: 2028, - }, - RaceSwanStakes: { - ID: 2029, - Name: "Swan Stakes", - Thumbnail: 2029, - }, - RaceKeioHaiJuniorStakes: { - ID: 2030, - Name: "Keio Hai Junior Stakes", - Thumbnail: 2030, - }, - RaceCopaRepublicaArgentina: { - ID: 2031, - Name: "Copa Republica Argentina", - Thumbnail: 2031, - }, - RaceDailyHaiJuniorStakes: { - ID: 2032, - Name: "Daily Hai Junior Stakes", - Thumbnail: 2032, - }, - RaceStayersStakes: { - ID: 2033, - Name: "Stayers Stakes", - Thumbnail: 2033, - }, - RaceHanshinCup: { - ID: 2034, - Name: "Hanshin Cup", - Thumbnail: 2034, - }, - RaceSpringStakesAlt2035: { - ID: 2035, - Name: "Spring Stakes" + " (Alternate 2035)", - Thumbnail: 2010, - Primary: 2010, - }, - RaceKyotoKimpai: { - ID: 3001, - Name: "Kyoto Kimpai", - Thumbnail: 3001, - }, - RaceNakayamaKimpai: { - ID: 3002, - Name: "Nakayama Kimpai", - Thumbnail: 3002, - }, - RaceShinzanKinen: { - ID: 3003, - Name: "Shinzan Kinen", - Thumbnail: 3003, - }, - RaceFairyStakes: { - ID: 3004, - Name: "Fairy Stakes", - Thumbnail: 3004, - }, - RaceAichiHai: { - ID: 3005, - Name: "Aichi Hai", - Thumbnail: 3005, - }, - RaceKeiseiHai: { - ID: 3006, - Name: "Keisei Hai", - Thumbnail: 3006, - }, - RaceSilkRoadStakes: { - ID: 3007, - Name: "Silk Road Stakes", - Thumbnail: 3007, - }, - RaceNegishiStakes: { - ID: 3008, - Name: "Negishi Stakes", - Thumbnail: 3008, - }, - RaceKisaragiSho: { - ID: 3009, - Name: "Kisaragi Sho", - Thumbnail: 3009, - }, - RaceTokyoShimbunHai: { - ID: 3010, - Name: "Tokyo Shimbun Hai", - Thumbnail: 3010, - }, - RaceQueenCup: { - ID: 3011, - Name: "Queen Cup", - Thumbnail: 3011, - }, - RaceKyodoNewsHai: { - ID: 3012, - Name: "Kyodo News Hai", - Thumbnail: 3012, - }, - RaceKyotoUmamusumeStakes: { - ID: 3013, - Name: "Kyoto Umamusume Stakes", - Thumbnail: 3013, - }, - RaceDiamondStakes: { - ID: 3014, - Name: "Diamond Stakes", - Thumbnail: 3014, - }, - RaceKokuraDaishoten: { - ID: 3015, - Name: "Kokura Daishoten", - Thumbnail: 3015, - }, - RaceArlingtonCup: { - ID: 3016, - Name: "Arlington Cup", - Thumbnail: 3016, - }, - RaceHankyuHai: { - ID: 3017, - Name: "Hankyu Hai", - Thumbnail: 3017, - }, - RaceTulipSho: { - ID: 3018, - Name: "Tulip Sho", - Thumbnail: 3018, - }, - RaceOceanStakes: { - ID: 3019, - Name: "Ocean Stakes", - Thumbnail: 3019, - }, - RaceNakayamaUmamusumeStakes: { - ID: 3020, - Name: "Nakayama Umamusume Stakes", - Thumbnail: 3020, - }, - RaceFalconStakes: { - ID: 3021, - Name: "Falcon Stakes", - Thumbnail: 3021, - }, - RaceFlowerCup: { - ID: 3022, - Name: "Flower Cup", - Thumbnail: 3022, - }, - RaceMainichiHai: { - ID: 3023, - Name: "Mainichi Hai", - Thumbnail: 3023, - }, - RaceMarchStakes: { - ID: 3024, - Name: "March Stakes", - Thumbnail: 3024, - }, - RaceLordDerbyChallengeTrophy: { - ID: 3025, - Name: "Lord Derby Challenge Trophy", - Thumbnail: 3025, - }, - RaceAntaresStakes: { - ID: 3026, - Name: "Antares Stakes", - Thumbnail: 3026, - }, - RaceFukushimaUmamusumeStakes: { - ID: 3027, - Name: "Fukushima Umamusume Stakes", - Thumbnail: 3027, - }, - RaceNiigataDaishoten: { - ID: 3028, - Name: "Niigata Daishoten", - Thumbnail: 3028, - }, - RaceHeianStakes: { - ID: 3029, - Name: "Heian Stakes", - Thumbnail: 3029, - }, - RaceNaruoKinen: { - ID: 3030, - Name: "Naruo Kinen", - Thumbnail: 3030, - }, - RaceMermaidStakes: { - ID: 3031, - Name: "Mermaid Stakes", - Thumbnail: 3031, - }, - RaceEpsomCup: { - ID: 3032, - Name: "Epsom Cup", - Thumbnail: 3032, - }, - RaceUnicornStakes: { - ID: 3033, - Name: "Unicorn Stakes", - Thumbnail: 3033, - }, - RaceHakodateSprintStakes: { - ID: 3034, - Name: "Hakodate Sprint Stakes", - Thumbnail: 3034, - }, - RaceCBCSho: { - ID: 3035, - Name: "CBC Sho", - Thumbnail: 3035, - }, - RaceRadioNikkeiSho: { - ID: 3036, - Name: "Radio Nikkei Sho", - Thumbnail: 3036, - }, - RaceProcyonStakes: { - ID: 3037, - Name: "Procyon Stakes", - Thumbnail: 3037, - }, - RaceTanabataSho: { - ID: 3038, - Name: "Tanabata Sho", - Thumbnail: 3038, - }, - RaceHakodateKinen: { - ID: 3039, - Name: "Hakodate Kinen", - Thumbnail: 3039, - }, - RaceChukyoKinen: { - ID: 3040, - Name: "Chukyo Kinen", - Thumbnail: 3040, - }, - RaceHakodateJuniorStakes: { - ID: 3041, - Name: "Hakodate Junior Stakes", - Thumbnail: 3041, - }, - RaceIbisSummerDash: { - ID: 3042, - Name: "Ibis Summer Dash", - Thumbnail: 3042, - }, - RaceQueenStakes: { - ID: 3043, - Name: "Queen Stakes", - Thumbnail: 3043, - }, - RaceKokuraKinen: { - ID: 3044, - Name: "Kokura Kinen", - Thumbnail: 3044, - }, - RaceLeopardStakes: { - ID: 3045, - Name: "Leopard Stakes", - Thumbnail: 3045, - }, - RaceSekiyaKinen: { - ID: 3046, - Name: "Sekiya Kinen", - Thumbnail: 3046, - }, - RaceElmStakes: { - ID: 3047, - Name: "Elm Stakes", - Thumbnail: 3047, - }, - RaceKitakyushuKinen: { - ID: 3048, - Name: "Kitakyushu Kinen", - Thumbnail: 3048, - }, - RaceNiigataJuniorStakes: { - ID: 3049, - Name: "Niigata Junior Stakes", - Thumbnail: 3049, - }, - RaceKeenelandCup: { - ID: 3050, - Name: "Keeneland Cup", - Thumbnail: 3050, - }, - RaceSapporoJuniorStakes: { - ID: 3051, - Name: "Sapporo Junior Stakes", - Thumbnail: 3051, - }, - RaceKokuraJuniorStakes: { - ID: 3052, - Name: "Kokura Junior Stakes", - Thumbnail: 3052, - }, - RaceNiigataKinen: { - ID: 3053, - Name: "Niigata Kinen", - Thumbnail: 3053, - }, - RaceShionStakes: { - ID: 3054, - Name: "Shion Stakes", - Thumbnail: 3054, - }, - RaceKeiseiHaiAutumnHandicap: { - ID: 3055, - Name: "Keisei Hai Autumn Handicap", - Thumbnail: 3055, - }, - RaceSiriusStakes: { - ID: 3056, - Name: "Sirius Stakes", - Thumbnail: 3056, - }, - RaceSaudiArabiaRoyalCup: { - ID: 3057, - Name: "Saudi Arabia Royal Cup", - Thumbnail: 3057, - }, - RaceFujiStakes: { - ID: 3058, - Name: "Fuji Stakes", - Thumbnail: 3058, - }, - RaceArtemisStakes: { - ID: 3059, - Name: "Artemis Stakes", - Thumbnail: 3059, - }, - RaceFantasyStakes: { - ID: 3060, - Name: "Fantasy Stakes", - Thumbnail: 3060, - }, - RaceMiyakoStakes: { - ID: 3061, - Name: "Miyako Stakes", - Thumbnail: 3061, - }, - RaceMusashinoStakes: { - ID: 3062, - Name: "Musashino Stakes", - Thumbnail: 3062, - }, - RaceFukushimaKinen: { - ID: 3063, - Name: "Fukushima Kinen", - Thumbnail: 3063, - }, - RaceTokyoSportsHaiJuniorStakes: { - ID: 3064, - Name: "Tokyo Sports Hai Junior Stakes", - Thumbnail: 3064, - }, - RaceKyotoJuniorStakes: { - ID: 3065, - Name: "Kyoto Junior Stakes", - Thumbnail: 3065, - }, - RaceKeihanHai: { - ID: 3066, - Name: "Keihan Hai", - Thumbnail: 3066, - }, - RaceChallengeCup: { - ID: 3067, - Name: "Challenge Cup", - Thumbnail: 3067, - }, - RaceChunichiShimbunHai: { - ID: 3068, - Name: "Chunichi Shimbun Hai", - Thumbnail: 3068, - }, - RaceCapellaStakes: { - ID: 3069, - Name: "Capella Stakes", - Thumbnail: 3069, - }, - RaceTurquoiseStakes: { - ID: 3070, - Name: "Turquoise Stakes", - Thumbnail: 3070, - }, - RaceManyoStakes: { - ID: 4001, - Name: "Manyo Stakes", - Thumbnail: 4001, - }, - RaceJuniorCup: { - ID: 4002, - Name: "Junior Cup", - Thumbnail: 4002, - }, - RaceYodoTankyoriStakes: { - ID: 4003, - Name: "Yodo Tankyori Stakes", - Thumbnail: 4003, - }, - RacePolluxStakes: { - ID: 4004, - Name: "Pollux Stakes", - Thumbnail: 4004, - }, - RaceJanuaryStakes: { - ID: 4005, - Name: "January Stakes", - Thumbnail: 4005, - }, - RaceNewYearStakes: { - ID: 4006, - Name: "New Year Stakes", - Thumbnail: 4006, - }, - RaceKobaiStakes: { - ID: 4007, - Name: "Kobai Stakes", - Thumbnail: 4007, - }, - RaceSubaruStakes: { - ID: 4008, - Name: "Subaru Stakes", - Thumbnail: 4008, - }, - RaceWakagomaStakes: { - ID: 4009, - Name: "Wakagoma Stakes", - Thumbnail: 4009, - }, - RaceCarbuncleStakes: { - ID: 4010, - Name: "Carbuncle Stakes", - Thumbnail: 4010, - }, - RaceShirafujiStakes: { - ID: 4011, - Name: "Shirafuji Stakes", - Thumbnail: 4011, - }, - RaceCrocusStakes: { - ID: 4012, - Name: "Crocus Stakes", - Thumbnail: 4012, - }, - RaceYamatoStakes: { - ID: 4013, - Name: "Yamato Stakes", - Thumbnail: 4013, - }, - RaceElfinStakes: { - ID: 4014, - Name: "Elfin Stakes", - Thumbnail: 4014, - }, - RaceRakuyoStakes: { - ID: 4015, - Name: "Rakuyo Stakes", - Thumbnail: 4015, - }, - RaceAldebaranStakes: { - ID: 4016, - Name: "Aldebaran Stakes", - Thumbnail: 4016, - }, - RaceValentineStakes: { - ID: 4017, - Name: "Valentine Stakes", - Thumbnail: 4017, - }, - RaceHyacinthStakes: { - ID: 4018, - Name: "Hyacinth Stakes", - Thumbnail: 4018, - }, - RaceSobuStakes: { - ID: 4019, - Name: "Sobu Stakes", - Thumbnail: 4019, - }, - RaceSumireStakes: { - ID: 4020, - Name: "Sumire Stakes", - Thumbnail: 4020, - }, - RaceOsakajoStakes: { - ID: 4021, - Name: "Osakajo Stakes", - Thumbnail: 4021, - }, - RacePolarisStakes: { - ID: 4022, - Name: "Polaris Stakes", - Thumbnail: 4022, - }, - RaceNigawaStakes: { - ID: 4023, - Name: "Nigawa Stakes", - Thumbnail: 4023, - }, - RaceAnemoneStakes: { - ID: 4024, - Name: "Anemone Stakes", - Thumbnail: 4024, - }, - RaceShoryuStakes: { - ID: 4025, - Name: "Shoryu Stakes", - Thumbnail: 4025, - }, - RaceKochiStakes: { - ID: 4026, - Name: "Kochi Stakes", - Thumbnail: 4026, - }, - RaceWakabaStakes: { - ID: 4027, - Name: "Wakaba Stakes", - Thumbnail: 4027, - }, - RaceChibaStakes: { - ID: 4028, - Name: "Chiba Stakes", - Thumbnail: 4028, - }, - RaceRokkoStakes: { - ID: 4030, - Name: "Rokko Stakes", - Thumbnail: 4030, - }, - RaceCoralStakes: { - ID: 4031, - Name: "Coral Stakes", - Thumbnail: 4031, - }, - RaceMargueriteStakes: { - ID: 4032, - Name: "Marguerite Stakes", - Thumbnail: 4032, - }, - RaceFukuryuStakes: { - ID: 4033, - Name: "Fukuryu Stakes", - Thumbnail: 4033, - }, - RaceWasurenagusaSho: { - ID: 4035, - Name: "Wasurenagusa Sho", - Thumbnail: 4035, - }, - RaceKeiyoStakes: { - ID: 4036, - Name: "Keiyo Stakes", - Thumbnail: 4036, - }, - RaceShunraiStakes: { - ID: 4037, - Name: "Shunrai Stakes", - Thumbnail: 4037, - }, - RaceFukushimaMimpoHai: { - ID: 4038, - Name: "Fukushima Mimpo Hai", - Thumbnail: 4038, - }, - RaceTachibanaStakes: { - ID: 4039, - Name: "Tachibana Stakes", - Thumbnail: 4039, - }, - RaceOasisStakes: { - ID: 4040, - Name: "Oasis Stakes", - Thumbnail: 4040, - }, - RaceTennozanStakes: { - ID: 4041, - Name: "Tennozan Stakes", - Thumbnail: 4041, - }, - RaceTangoStakes: { - ID: 4042, - Name: "Tango Stakes", - Thumbnail: 4042, - }, - RaceSweetpeaStakes: { - ID: 4043, - Name: "Sweetpea Stakes", - Thumbnail: 4043, - }, - RaceTanigawadakeStakes: { - ID: 4044, - Name: "Tanigawadake Stakes", - Thumbnail: 4044, - }, - RacePrincipalStakes: { - ID: 4045, - Name: "Principal Stakes", - Thumbnail: 4045, - }, - RaceMetropolitanStakes: { - ID: 4046, - Name: "Metropolitan Stakes", - Thumbnail: 4046, - }, - RaceKuramaStakes: { - ID: 4047, - Name: "Kurama Stakes", - Thumbnail: 4047, - }, - RaceBrilliantStakes: { - ID: 4048, - Name: "Brilliant Stakes", - Thumbnail: 4048, - }, - RaceMiyakoojiStakes: { - ID: 4049, - Name: "Miyakooji Stakes", - Thumbnail: 4049, - }, - RaceAoiStakes: { - ID: 4050, - Name: "Aoi Stakes", - Thumbnail: 4050, - }, - RaceRittoStakes: { - ID: 4051, - Name: "Ritto Stakes", - Thumbnail: 4051, - }, - RaceSeiryuStakes: { - ID: 4052, - Name: "Seiryu Stakes", - Thumbnail: 4052, - }, - RaceMayStakes: { - ID: 4053, - Name: "May Stakes", - Thumbnail: 4053, - }, - RaceHosuStakes: { - ID: 4054, - Name: "Hosu Stakes", - Thumbnail: 4054, - }, - RaceIdatenStakes: { - ID: 4055, - Name: "Idaten Stakes", - Thumbnail: 4055, - }, - RaceShirayuriStakes: { - ID: 4056, - Name: "Shirayuri Stakes", - Thumbnail: 4056, - }, - RaceKeyakiStakes: { - ID: 4057, - Name: "Keyaki Stakes", - Thumbnail: 4057, - }, - RaceAzuchijoStakes: { - ID: 4058, - Name: "Azuchijo Stakes", - Thumbnail: 4058, - }, - RaceAkhaltekeStakes: { - ID: 4059, - Name: "Akhalteke Stakes", - Thumbnail: 4059, - }, - RaceTempozanStakes: { - ID: 4060, - Name: "Tempozan Stakes", - Thumbnail: 4060, - }, - RaceYonagoStakes: { - ID: 4061, - Name: "Yonago Stakes", - Thumbnail: 4061, - }, - RaceOnumaStakes: { - ID: 4062, - Name: "Onuma Stakes", - Thumbnail: 4062, - }, - RaceParadiseStakes: { - ID: 4063, - Name: "Paradise Stakes", - Thumbnail: 4063, - }, - RaceTomoeSho: { - ID: 4064, - Name: "Tomoe Sho", - Thumbnail: 4064, - }, - RaceMarineStakes: { - ID: 4065, - Name: "Marine Stakes", - Thumbnail: 4065, - }, - RaceMeitetsuHai: { - ID: 4066, - Name: "Meitetsu Hai", - Thumbnail: 4066, - }, - RaceChukyoJuniorStakes: { - ID: 4068, - Name: "Chukyo Junior Stakes", - Thumbnail: 4068, - }, - RaceFukushimaTVOpen: { - ID: 4069, - Name: "Fukushima TV Open", - Thumbnail: 4069, - }, - RaceDahliaSho: { - ID: 4070, - Name: "Dahlia Sho", - Thumbnail: 4070, - }, - RaceSapporoNikkeiOpen: { - ID: 4071, - Name: "Sapporo Nikkei Open", - Thumbnail: 4071, - }, - RaceUHBSho: { - ID: 4072, - Name: "UHB Sho", - Thumbnail: 4072, - }, - RaceAsoStakes: { - ID: 4073, - Name: "Aso Stakes", - Thumbnail: 4073, - }, - RacePhoenixSho: { - ID: 4074, - Name: "Phoenix Sho", - Thumbnail: 4074, - }, - RaceCosmosSho: { - ID: 4075, - Name: "Cosmos Sho", - Thumbnail: 4075, - }, - RaceNSTSho: { - ID: 4076, - Name: "NST Sho", - Thumbnail: 4076, - }, - RaceCloverSho: { - ID: 4077, - Name: "Clover Sho", - Thumbnail: 4077, - }, - RaceHimawariSho: { - ID: 4078, - Name: "Himawari Sho", - Thumbnail: 4078, - }, - RaceBSNSho: { - ID: 4079, - Name: "BSN Sho", - Thumbnail: 4079, - }, - RaceKokuraNikkeiOpen: { - ID: 4080, - Name: "Kokura Nikkei Open", - Thumbnail: 4080, - }, - RaceTokiStakes: { - ID: 4081, - Name: "Toki Stakes", - Thumbnail: 4081, - }, - RaceTanchoStakes: { - ID: 4082, - Name: "Tancho Stakes", - Thumbnail: 4082, - }, - RaceSuzuranSho: { - ID: 4083, - Name: "Suzuran Sho", - Thumbnail: 4083, - }, - RaceEnifStakes: { - ID: 4084, - Name: "Enif Stakes", - Thumbnail: 4084, - }, - RaceNojigikuStakes: { - ID: 4085, - Name: "Nojigiku Stakes", - Thumbnail: 4085, - }, - RaceRadioNipponSho: { - ID: 4086, - Name: "Radio Nippon Sho", - Thumbnail: 4086, - }, - RaceKikyoStakes: { - ID: 4087, - Name: "Kikyo Stakes", - Thumbnail: 4087, - }, - RaceFuyoStakes: { - ID: 4088, - Name: "Fuyo Stakes", - Thumbnail: 4088, - }, - RaceCannaStakes: { - ID: 4089, - Name: "Canna Stakes", - Thumbnail: 4089, - }, - RacePortIslandStakes: { - ID: 4090, - Name: "Port Island Stakes", - Thumbnail: 4090, - }, - RaceOpalStakes: { - ID: 4091, - Name: "Opal Stakes", - Thumbnail: 4091, - }, - RaceGreenChannelCup: { - ID: 4092, - Name: "Green Channel Cup", - Thumbnail: 4092, - }, - RaceMomijiStakes: { - ID: 4093, - Name: "Momiji Stakes", - Thumbnail: 4093, - }, - RaceOctoberStakes: { - ID: 4094, - Name: "October Stakes", - Thumbnail: 4094, - }, - RaceShinetsuStakes: { - ID: 4095, - Name: "Shinetsu Stakes", - Thumbnail: 4095, - }, - RaceIvyStakes: { - ID: 4096, - Name: "Ivy Stakes", - Thumbnail: 4096, - }, - RaceMuromachiStakes: { - ID: 4097, - Name: "Muromachi Stakes", - Thumbnail: 4097, - }, - RaceBrazilCup: { - ID: 4098, - Name: "Brazil Cup", - Thumbnail: 4098, - }, - RaceHagiStakes: { - ID: 4099, - Name: "Hagi Stakes", - Thumbnail: 4099, - }, - RaceCassiopeiaStakes: { - ID: 4100, - Name: "Cassiopeia Stakes", - Thumbnail: 4100, - }, - RaceLumiereAutumnDash: { - ID: 4101, - Name: "Lumiere Autumn Dash", - Thumbnail: 4101, - }, - RaceOroCup: { - ID: 4102, - Name: "Oro Cup", - Thumbnail: 4102, - }, - RaceFukushimaJuniorStakes: { - ID: 4103, - Name: "Fukushima Junior Stakes", - Thumbnail: 4103, - }, - RaceAndromedaStakes: { - ID: 4104, - Name: "Andromeda Stakes", - Thumbnail: 4104, - }, - RaceShimotsukiStakes: { - ID: 4105, - Name: "Shimotsuki Stakes", - Thumbnail: 4105, - }, - RaceFukushimaMinyuCup: { - ID: 4106, - Name: "Fukushima Minyu Cup", - Thumbnail: 4106, - }, - RaceCapitalStakes: { - ID: 4107, - Name: "Capital Stakes", - Thumbnail: 4107, - }, - RaceAutumnLeafStakes: { - ID: 4108, - Name: "Autumn Leaf Stakes", - Thumbnail: 4108, - }, - RaceLapisLazuliStakes: { - ID: 4109, - Name: "Lapis Lazuli Stakes", - Thumbnail: 4109, - }, - RaceShiwasuStakes: { - ID: 4110, - Name: "Shiwasu Stakes", - Thumbnail: 4110, - }, - RaceRigelStakes: { - ID: 4111, - Name: "Rigel Stakes", - Thumbnail: 4111, - }, - RaceTanzaniteStakes: { - ID: 4112, - Name: "Tanzanite Stakes", - Thumbnail: 4112, - }, - RaceDecemberStakes: { - ID: 4113, - Name: "December Stakes", - Thumbnail: 4113, - }, - RaceChristmasRoseStakes: { - ID: 4114, - Name: "Christmas Rose Stakes", - Thumbnail: 4114, - }, - RaceGalaxyStakes: { - ID: 4115, - Name: "Galaxy Stakes", - Thumbnail: 4115, - }, - RaceBetelgeuseStakes: { - ID: 4116, - Name: "Betelgeuse Stakes", - Thumbnail: 4116, - }, - RaceKitakyushuTankyoriStakes: { - ID: 4118, - Name: "Kitakyushu Tankyori Stakes", - Thumbnail: 4117, - }, - RaceAzumakofujiStakes: { - ID: 4119, - Name: "Azumakofuji Stakes", - Thumbnail: 4118, - }, - RaceSleipnirStakes: { - ID: 4120, - Name: "Sleipnir Stakes", - Thumbnail: 4119, - }, - RaceSannomiyaStakes: { - ID: 4121, - Name: "Sannomiya Stakes", - Thumbnail: 4120, - }, - RaceKanetsuStakes: { - ID: 4122, - Name: "Kanetsu Stakes", - Thumbnail: 4121, - }, - RaceNagatsukiStakes: { - ID: 4123, - Name: "Nagatsuki Stakes", - Thumbnail: 4122, - }, - RaceUzumasaStakes: { - ID: 4124, - Name: "Uzumasa Stakes", - Thumbnail: 4123, - }, - RaceAsterSho: { - ID: 4501, - Name: "Aster Sho", - Thumbnail: 4501, - }, - RaceSaffronSho: { - ID: 4502, - Name: "Saffron Sho", - Thumbnail: 4502, - }, - RaceRindoSho: { - ID: 4503, - Name: "Rindo Sho", - Thumbnail: 4503, - }, - RaceShigikuSho: { - ID: 4504, - Name: "Shigiku Sho", - Thumbnail: 4504, - }, - RacePlatanusSho: { - ID: 4505, - Name: "Platanus Sho", - Thumbnail: 4505, - }, - RaceNadeshikoSho: { - ID: 4506, - Name: "Nadeshiko Sho", - Thumbnail: 4506, - }, - RaceHyakunichisoTokubetsu: { - ID: 4507, - Name: "Hyakunichiso Tokubetsu", - Thumbnail: 4507, - }, - RaceKimmokuseiTokubetsu: { - ID: 4508, - Name: "Kimmokusei Tokubetsu", - Thumbnail: 4508, - }, - RaceOxalisSho: { - ID: 4509, - Name: "Oxalis Sho", - Thumbnail: 4509, - }, - RaceKigikuSho: { - ID: 4510, - Name: "Kigiku Sho", - Thumbnail: 4510, - }, - RaceMochinokiSho: { - ID: 4511, - Name: "Mochinoki Sho", - Thumbnail: 4511, - }, - RaceAkamatsuSho: { - ID: 4512, - Name: "Akamatsu Sho", - Thumbnail: 4512, - }, - RaceShumeigikuSho: { - ID: 4513, - Name: "Shumeigiku Sho", - Thumbnail: 4513, - }, - RaceCattleyaSho: { - ID: 4514, - Name: "Cattleya Sho", - Thumbnail: 4514, - }, - RaceBegoniaSho: { - ID: 4515, - Name: "Begonia Sho", - Thumbnail: 4515, - }, - RaceShiragikuSho: { - ID: 4516, - Name: "Shiragiku Sho", - Thumbnail: 4516, - }, - RaceHabotanSho: { - ID: 4517, - Name: "Habotan Sho", - Thumbnail: 4517, - }, - RaceKoyamakiSho: { - ID: 4518, - Name: "Koyamaki Sho", - Thumbnail: 4518, - }, - RaceManryoSho: { - ID: 4519, - Name: "Manryo Sho", - Thumbnail: 4519, - }, - RaceKuromatsuSho: { - ID: 4520, - Name: "Kuromatsu Sho", - Thumbnail: 4520, - }, - RaceEricaSho: { - ID: 4521, - Name: "Erica Sho", - Thumbnail: 4521, - }, - RaceTsuwabukiSho: { - ID: 4522, - Name: "Tsuwabuki Sho", - Thumbnail: 4522, - }, - RaceHiiragiSho: { - ID: 4523, - Name: "Hiiragi Sho", - Thumbnail: 4523, - }, - RaceSazankaSho: { - ID: 4524, - Name: "Sazanka Sho", - Thumbnail: 4524, - }, - RaceKantsubakiSho: { - ID: 4525, - Name: "Kantsubaki Sho", - Thumbnail: 4525, - }, - RaceSenryoSho: { - ID: 4526, - Name: "Senryo Sho", - Thumbnail: 4526, - }, -} - -var RaceNameToID = map[string]RaceID{ - "February Stakes": 1001, - "Takamatsunomiya Kinen": 1002, - "Osaka Hai": 1003, - "Oka Sho": 1004, - "Satsuki Sho": 1005, - "Tenno Sho (Spring)": 1006, - "NHK Mile Cup": 1007, - "Victoria Mile": 1008, - "Japanese Oaks": 1009, - "Tokyo Yushun (Japanese Derby)": 1010, - "Yasuda Kinen": 1011, - "Takarazuka Kinen": 1012, - "Sprinters Stakes": 1013, - "Shuka Sho": 1014, - "Kikuka Sho": 1015, - "Tenno Sho (Autumn)": 1016, - "Queen Elizabeth II Cup": 1017, - "Mile Championship": 1018, - "Japan Cup": 1019, - "Champions Cup": 1020, - "Hanshin Juvenile Fillies": 1021, - "Asahi Hai Futurity Stakes": 1022, - "Arima Kinen": 1023, - "Hopeful Stakes": 1024, - "Takarazuka Kinen" + " (Alternate 1025)": 1025, - "Kikuka Sho" + " (Alternate 1026)": 1026, - "Tenno Sho (Spring)" + " (Alternate 1027)": 1027, - "Satsuki Sho" + " (Alternate 1028)": 1028, - "Teio Sho": 1101, - "Japan Dirt Derby": 1102, - "JBC Ladies’ Classic": 1103, - "JBC Sprint": 1104, - "JBC Classic": 1105, - "Tokyo Daishoten": 1106, - "Nikkei Shinshun Hai": 2001, - "Tokai Stakes": 2002, - "American JCC": 2003, - "Kyoto Kinen": 2004, - "Nakayama Kinen": 2005, - "Yayoi Sho": 2006, - "Kinko Sho": 2007, - "Fillies' Revue": 2008, - "Hanshin Daishoten": 2009, - "Spring Stakes": 2010, - "Nikkei Sho": 2011, - "Hanshin Umamusume Stakes": 2012, - "New Zealand Trophy": 2013, - "Milers Cup": 2014, - "Flora Stakes": 2015, - "Aoba Sho": 2016, - "Kyoto Shimbun Hai": 2017, - "Keio Hai Spring Cup": 2018, - "Meguro Kinen": 2019, - "Sapporo Kinen": 2020, - "Centaur Stakes": 2021, - "Rose Stakes": 2022, - "St. Lite Kinen": 2023, - "Kobe Shimbun Hai": 2024, - "All Comers": 2025, - "Mainichi Okan": 2026, - "Kyoto Daishoten": 2027, - "Fuchu Umamusume Stakes": 2028, - "Swan Stakes": 2029, - "Keio Hai Junior Stakes": 2030, - "Copa Republica Argentina": 2031, - "Daily Hai Junior Stakes": 2032, - "Stayers Stakes": 2033, - "Hanshin Cup": 2034, - "Spring Stakes" + " (Alternate 2035)": 2035, - "Kyoto Kimpai": 3001, - "Nakayama Kimpai": 3002, - "Shinzan Kinen": 3003, - "Fairy Stakes": 3004, - "Aichi Hai": 3005, - "Keisei Hai": 3006, - "Silk Road Stakes": 3007, - "Negishi Stakes": 3008, - "Kisaragi Sho": 3009, - "Tokyo Shimbun Hai": 3010, - "Queen Cup": 3011, - "Kyodo News Hai": 3012, - "Kyoto Umamusume Stakes": 3013, - "Diamond Stakes": 3014, - "Kokura Daishoten": 3015, - "Arlington Cup": 3016, - "Hankyu Hai": 3017, - "Tulip Sho": 3018, - "Ocean Stakes": 3019, - "Nakayama Umamusume Stakes": 3020, - "Falcon Stakes": 3021, - "Flower Cup": 3022, - "Mainichi Hai": 3023, - "March Stakes": 3024, - "Lord Derby Challenge Trophy": 3025, - "Antares Stakes": 3026, - "Fukushima Umamusume Stakes": 3027, - "Niigata Daishoten": 3028, - "Heian Stakes": 3029, - "Naruo Kinen": 3030, - "Mermaid Stakes": 3031, - "Epsom Cup": 3032, - "Unicorn Stakes": 3033, - "Hakodate Sprint Stakes": 3034, - "CBC Sho": 3035, - "Radio Nikkei Sho": 3036, - "Procyon Stakes": 3037, - "Tanabata Sho": 3038, - "Hakodate Kinen": 3039, - "Chukyo Kinen": 3040, - "Hakodate Junior Stakes": 3041, - "Ibis Summer Dash": 3042, - "Queen Stakes": 3043, - "Kokura Kinen": 3044, - "Leopard Stakes": 3045, - "Sekiya Kinen": 3046, - "Elm Stakes": 3047, - "Kitakyushu Kinen": 3048, - "Niigata Junior Stakes": 3049, - "Keeneland Cup": 3050, - "Sapporo Junior Stakes": 3051, - "Kokura Junior Stakes": 3052, - "Niigata Kinen": 3053, - "Shion Stakes": 3054, - "Keisei Hai Autumn Handicap": 3055, - "Sirius Stakes": 3056, - "Saudi Arabia Royal Cup": 3057, - "Fuji Stakes": 3058, - "Artemis Stakes": 3059, - "Fantasy Stakes": 3060, - "Miyako Stakes": 3061, - "Musashino Stakes": 3062, - "Fukushima Kinen": 3063, - "Tokyo Sports Hai Junior Stakes": 3064, - "Kyoto Junior Stakes": 3065, - "Keihan Hai": 3066, - "Challenge Cup": 3067, - "Chunichi Shimbun Hai": 3068, - "Capella Stakes": 3069, - "Turquoise Stakes": 3070, - "Manyo Stakes": 4001, - "Junior Cup": 4002, - "Yodo Tankyori Stakes": 4003, - "Pollux Stakes": 4004, - "January Stakes": 4005, - "New Year Stakes": 4006, - "Kobai Stakes": 4007, - "Subaru Stakes": 4008, - "Wakagoma Stakes": 4009, - "Carbuncle Stakes": 4010, - "Shirafuji Stakes": 4011, - "Crocus Stakes": 4012, - "Yamato Stakes": 4013, - "Elfin Stakes": 4014, - "Rakuyo Stakes": 4015, - "Aldebaran Stakes": 4016, - "Valentine Stakes": 4017, - "Hyacinth Stakes": 4018, - "Sobu Stakes": 4019, - "Sumire Stakes": 4020, - "Osakajo Stakes": 4021, - "Polaris Stakes": 4022, - "Nigawa Stakes": 4023, - "Anemone Stakes": 4024, - "Shoryu Stakes": 4025, - "Kochi Stakes": 4026, - "Wakaba Stakes": 4027, - "Chiba Stakes": 4028, - "Rokko Stakes": 4030, - "Coral Stakes": 4031, - "Marguerite Stakes": 4032, - "Fukuryu Stakes": 4033, - "Wasurenagusa Sho": 4035, - "Keiyo Stakes": 4036, - "Shunrai Stakes": 4037, - "Fukushima Mimpo Hai": 4038, - "Tachibana Stakes": 4039, - "Oasis Stakes": 4040, - "Tennozan Stakes": 4041, - "Tango Stakes": 4042, - "Sweetpea Stakes": 4043, - "Tanigawadake Stakes": 4044, - "Principal Stakes": 4045, - "Metropolitan Stakes": 4046, - "Kurama Stakes": 4047, - "Brilliant Stakes": 4048, - "Miyakooji Stakes": 4049, - "Aoi Stakes": 4050, - "Ritto Stakes": 4051, - "Seiryu Stakes": 4052, - "May Stakes": 4053, - "Hosu Stakes": 4054, - "Idaten Stakes": 4055, - "Shirayuri Stakes": 4056, - "Keyaki Stakes": 4057, - "Azuchijo Stakes": 4058, - "Akhalteke Stakes": 4059, - "Tempozan Stakes": 4060, - "Yonago Stakes": 4061, - "Onuma Stakes": 4062, - "Paradise Stakes": 4063, - "Tomoe Sho": 4064, - "Marine Stakes": 4065, - "Meitetsu Hai": 4066, - "Chukyo Junior Stakes": 4068, - "Fukushima TV Open": 4069, - "Dahlia Sho": 4070, - "Sapporo Nikkei Open": 4071, - "UHB Sho": 4072, - "Aso Stakes": 4073, - "Phoenix Sho": 4074, - "Cosmos Sho": 4075, - "NST Sho": 4076, - "Clover Sho": 4077, - "Himawari Sho": 4078, - "BSN Sho": 4079, - "Kokura Nikkei Open": 4080, - "Toki Stakes": 4081, - "Tancho Stakes": 4082, - "Suzuran Sho": 4083, - "Enif Stakes": 4084, - "Nojigiku Stakes": 4085, - "Radio Nippon Sho": 4086, - "Kikyo Stakes": 4087, - "Fuyo Stakes": 4088, - "Canna Stakes": 4089, - "Port Island Stakes": 4090, - "Opal Stakes": 4091, - "Green Channel Cup": 4092, - "Momiji Stakes": 4093, - "October Stakes": 4094, - "Shinetsu Stakes": 4095, - "Ivy Stakes": 4096, - "Muromachi Stakes": 4097, - "Brazil Cup": 4098, - "Hagi Stakes": 4099, - "Cassiopeia Stakes": 4100, - "Lumiere Autumn Dash": 4101, - "Oro Cup": 4102, - "Fukushima Junior Stakes": 4103, - "Andromeda Stakes": 4104, - "Shimotsuki Stakes": 4105, - "Fukushima Minyu Cup": 4106, - "Capital Stakes": 4107, - "Autumn Leaf Stakes": 4108, - "Lapis Lazuli Stakes": 4109, - "Shiwasu Stakes": 4110, - "Rigel Stakes": 4111, - "Tanzanite Stakes": 4112, - "December Stakes": 4113, - "Christmas Rose Stakes": 4114, - "Galaxy Stakes": 4115, - "Betelgeuse Stakes": 4116, - "Kitakyushu Tankyori Stakes": 4118, - "Azumakofuji Stakes": 4119, - "Sleipnir Stakes": 4120, - "Sannomiya Stakes": 4121, - "Kanetsu Stakes": 4122, - "Nagatsuki Stakes": 4123, - "Uzumasa Stakes": 4124, - "Aster Sho": 4501, - "Saffron Sho": 4502, - "Rindo Sho": 4503, - "Shigiku Sho": 4504, - "Platanus Sho": 4505, - "Nadeshiko Sho": 4506, - "Hyakunichiso Tokubetsu": 4507, - "Kimmokusei Tokubetsu": 4508, - "Oxalis Sho": 4509, - "Kigiku Sho": 4510, - "Mochinoki Sho": 4511, - "Akamatsu Sho": 4512, - "Shumeigiku Sho": 4513, - "Cattleya Sho": 4514, - "Begonia Sho": 4515, - "Shiragiku Sho": 4516, - "Habotan Sho": 4517, - "Koyamaki Sho": 4518, - "Manryo Sho": 4519, - "Kuromatsu Sho": 4520, - "Erica Sho": 4521, - "Tsuwabuki Sho": 4522, - "Hiiragi Sho": 4523, - "Sazanka Sho": 4524, - "Kantsubaki Sho": 4525, - "Senryo Sho": 4526, -} diff --git a/horse/global/race.kk b/horse/global/race.kk deleted file mode 100644 index 8afd257..0000000 --- a/horse/global/race.kk +++ /dev/null @@ -1,913 +0,0 @@ -module horse/global/race - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import std/data/rb-map -import horse/game-id -pub import horse/race - -extern create-id-table(): vector - c inline "int32_t arr[] = {1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1101,1102,1103,1104,1105,1106,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,3001,3002,3003,3004,3005,3006,3007,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3022,3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,4001,4002,4003,4004,4005,4006,4007,4008,4009,4010,4011,4012,4013,4014,4015,4016,4017,4018,4019,4020,4021,4022,4023,4024,4025,4026,4027,4028,4030,4031,4032,4033,4035,4036,4037,4038,4039,4040,4041,4042,4043,4044,4045,4046,4047,4048,4049,4050,4051,4052,4053,4054,4055,4056,4057,4058,4059,4060,4061,4062,4063,4064,4065,4066,4068,4069,4070,4071,4072,4073,4074,4075,4076,4077,4078,4079,4080,4081,4082,4083,4084,4085,4086,4087,4088,4089,4090,4091,4092,4093,4094,4095,4096,4097,4098,4099,4100,4101,4102,4103,4104,4105,4106,4107,4108,4109,4110,4111,4112,4113,4114,4115,4116,4118,4119,4120,4121,4122,4123,4124,4501,4502,4503,4504,4505,4506,4507,4508,4509,4510,4511,4512,4513,4514,4515,4516,4517,4518,4519,4520,4521,4522,4523,4524,4525,4526,};\nkk_vector_from_cint32array(arr, (kk_ssize_t)285, kk_context())" - js inline "[1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1101,1102,1103,1104,1105,1106,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,3001,3002,3003,3004,3005,3006,3007,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3022,3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,4001,4002,4003,4004,4005,4006,4007,4008,4009,4010,4011,4012,4013,4014,4015,4016,4017,4018,4019,4020,4021,4022,4023,4024,4025,4026,4027,4028,4030,4031,4032,4033,4035,4036,4037,4038,4039,4040,4041,4042,4043,4044,4045,4046,4047,4048,4049,4050,4051,4052,4053,4054,4055,4056,4057,4058,4059,4060,4061,4062,4063,4064,4065,4066,4068,4069,4070,4071,4072,4073,4074,4075,4076,4077,4078,4079,4080,4081,4082,4083,4084,4085,4086,4087,4088,4089,4090,4091,4092,4093,4094,4095,4096,4097,4098,4099,4100,4101,4102,4103,4104,4105,4106,4107,4108,4109,4110,4111,4112,4113,4114,4115,4116,4118,4119,4120,4121,4122,4123,4124,4501,4502,4503,4504,4505,4506,4507,4508,4509,4510,4511,4512,4513,4514,4515,4516,4517,4518,4519,4520,4521,4522,4523,4524,4525,4526,]" -// Vector of all race IDs in order for easy iterating. -pub val all = once(create-id-table) - -val name2id = once() - var m: rbmap := empty() - all().foreach() fn(id) m := m.set(Race-id(id).show, id) - m - -// Get the race ID that has the given exact name. -// Alternate versions of races have an indication of their ID in their names. -// If no race matches the name, the result is an invalid ID. -pub fun from-name(name: string): race-id - Race-id(name2id().rb-map/lookup(name).default(0)) - -// Get the name for a race. -// Alternate versions of races have an indication of their ID in their names. -// If no race matches the ID, the result is the numeric ID. -pub fun show(r: race-id): string - match r.game-id - 1001 -> "February Stakes" - 1002 -> "Takamatsunomiya Kinen" - 1003 -> "Osaka Hai" - 1004 -> "Oka Sho" - 1005 -> "Satsuki Sho" - 1006 -> "Tenno Sho (Spring)" - 1007 -> "NHK Mile Cup" - 1008 -> "Victoria Mile" - 1009 -> "Japanese Oaks" - 1010 -> "Tokyo Yushun (Japanese Derby)" - 1011 -> "Yasuda Kinen" - 1012 -> "Takarazuka Kinen" - 1013 -> "Sprinters Stakes" - 1014 -> "Shuka Sho" - 1015 -> "Kikuka Sho" - 1016 -> "Tenno Sho (Autumn)" - 1017 -> "Queen Elizabeth II Cup" - 1018 -> "Mile Championship" - 1019 -> "Japan Cup" - 1020 -> "Champions Cup" - 1021 -> "Hanshin Juvenile Fillies" - 1022 -> "Asahi Hai Futurity Stakes" - 1023 -> "Arima Kinen" - 1024 -> "Hopeful Stakes" - 1025 -> "Takarazuka Kinen" ++ " (Alternate 1025)" - 1026 -> "Kikuka Sho" ++ " (Alternate 1026)" - 1027 -> "Tenno Sho (Spring)" ++ " (Alternate 1027)" - 1028 -> "Satsuki Sho" ++ " (Alternate 1028)" - 1101 -> "Teio Sho" - 1102 -> "Japan Dirt Derby" - 1103 -> "JBC Ladies’ Classic" - 1104 -> "JBC Sprint" - 1105 -> "JBC Classic" - 1106 -> "Tokyo Daishoten" - 2001 -> "Nikkei Shinshun Hai" - 2002 -> "Tokai Stakes" - 2003 -> "American JCC" - 2004 -> "Kyoto Kinen" - 2005 -> "Nakayama Kinen" - 2006 -> "Yayoi Sho" - 2007 -> "Kinko Sho" - 2008 -> "Fillies' Revue" - 2009 -> "Hanshin Daishoten" - 2010 -> "Spring Stakes" - 2011 -> "Nikkei Sho" - 2012 -> "Hanshin Umamusume Stakes" - 2013 -> "New Zealand Trophy" - 2014 -> "Milers Cup" - 2015 -> "Flora Stakes" - 2016 -> "Aoba Sho" - 2017 -> "Kyoto Shimbun Hai" - 2018 -> "Keio Hai Spring Cup" - 2019 -> "Meguro Kinen" - 2020 -> "Sapporo Kinen" - 2021 -> "Centaur Stakes" - 2022 -> "Rose Stakes" - 2023 -> "St. Lite Kinen" - 2024 -> "Kobe Shimbun Hai" - 2025 -> "All Comers" - 2026 -> "Mainichi Okan" - 2027 -> "Kyoto Daishoten" - 2028 -> "Fuchu Umamusume Stakes" - 2029 -> "Swan Stakes" - 2030 -> "Keio Hai Junior Stakes" - 2031 -> "Copa Republica Argentina" - 2032 -> "Daily Hai Junior Stakes" - 2033 -> "Stayers Stakes" - 2034 -> "Hanshin Cup" - 2035 -> "Spring Stakes" ++ " (Alternate 2035)" - 3001 -> "Kyoto Kimpai" - 3002 -> "Nakayama Kimpai" - 3003 -> "Shinzan Kinen" - 3004 -> "Fairy Stakes" - 3005 -> "Aichi Hai" - 3006 -> "Keisei Hai" - 3007 -> "Silk Road Stakes" - 3008 -> "Negishi Stakes" - 3009 -> "Kisaragi Sho" - 3010 -> "Tokyo Shimbun Hai" - 3011 -> "Queen Cup" - 3012 -> "Kyodo News Hai" - 3013 -> "Kyoto Umamusume Stakes" - 3014 -> "Diamond Stakes" - 3015 -> "Kokura Daishoten" - 3016 -> "Arlington Cup" - 3017 -> "Hankyu Hai" - 3018 -> "Tulip Sho" - 3019 -> "Ocean Stakes" - 3020 -> "Nakayama Umamusume Stakes" - 3021 -> "Falcon Stakes" - 3022 -> "Flower Cup" - 3023 -> "Mainichi Hai" - 3024 -> "March Stakes" - 3025 -> "Lord Derby Challenge Trophy" - 3026 -> "Antares Stakes" - 3027 -> "Fukushima Umamusume Stakes" - 3028 -> "Niigata Daishoten" - 3029 -> "Heian Stakes" - 3030 -> "Naruo Kinen" - 3031 -> "Mermaid Stakes" - 3032 -> "Epsom Cup" - 3033 -> "Unicorn Stakes" - 3034 -> "Hakodate Sprint Stakes" - 3035 -> "CBC Sho" - 3036 -> "Radio Nikkei Sho" - 3037 -> "Procyon Stakes" - 3038 -> "Tanabata Sho" - 3039 -> "Hakodate Kinen" - 3040 -> "Chukyo Kinen" - 3041 -> "Hakodate Junior Stakes" - 3042 -> "Ibis Summer Dash" - 3043 -> "Queen Stakes" - 3044 -> "Kokura Kinen" - 3045 -> "Leopard Stakes" - 3046 -> "Sekiya Kinen" - 3047 -> "Elm Stakes" - 3048 -> "Kitakyushu Kinen" - 3049 -> "Niigata Junior Stakes" - 3050 -> "Keeneland Cup" - 3051 -> "Sapporo Junior Stakes" - 3052 -> "Kokura Junior Stakes" - 3053 -> "Niigata Kinen" - 3054 -> "Shion Stakes" - 3055 -> "Keisei Hai Autumn Handicap" - 3056 -> "Sirius Stakes" - 3057 -> "Saudi Arabia Royal Cup" - 3058 -> "Fuji Stakes" - 3059 -> "Artemis Stakes" - 3060 -> "Fantasy Stakes" - 3061 -> "Miyako Stakes" - 3062 -> "Musashino Stakes" - 3063 -> "Fukushima Kinen" - 3064 -> "Tokyo Sports Hai Junior Stakes" - 3065 -> "Kyoto Junior Stakes" - 3066 -> "Keihan Hai" - 3067 -> "Challenge Cup" - 3068 -> "Chunichi Shimbun Hai" - 3069 -> "Capella Stakes" - 3070 -> "Turquoise Stakes" - 4001 -> "Manyo Stakes" - 4002 -> "Junior Cup" - 4003 -> "Yodo Tankyori Stakes" - 4004 -> "Pollux Stakes" - 4005 -> "January Stakes" - 4006 -> "New Year Stakes" - 4007 -> "Kobai Stakes" - 4008 -> "Subaru Stakes" - 4009 -> "Wakagoma Stakes" - 4010 -> "Carbuncle Stakes" - 4011 -> "Shirafuji Stakes" - 4012 -> "Crocus Stakes" - 4013 -> "Yamato Stakes" - 4014 -> "Elfin Stakes" - 4015 -> "Rakuyo Stakes" - 4016 -> "Aldebaran Stakes" - 4017 -> "Valentine Stakes" - 4018 -> "Hyacinth Stakes" - 4019 -> "Sobu Stakes" - 4020 -> "Sumire Stakes" - 4021 -> "Osakajo Stakes" - 4022 -> "Polaris Stakes" - 4023 -> "Nigawa Stakes" - 4024 -> "Anemone Stakes" - 4025 -> "Shoryu Stakes" - 4026 -> "Kochi Stakes" - 4027 -> "Wakaba Stakes" - 4028 -> "Chiba Stakes" - 4030 -> "Rokko Stakes" - 4031 -> "Coral Stakes" - 4032 -> "Marguerite Stakes" - 4033 -> "Fukuryu Stakes" - 4035 -> "Wasurenagusa Sho" - 4036 -> "Keiyo Stakes" - 4037 -> "Shunrai Stakes" - 4038 -> "Fukushima Mimpo Hai" - 4039 -> "Tachibana Stakes" - 4040 -> "Oasis Stakes" - 4041 -> "Tennozan Stakes" - 4042 -> "Tango Stakes" - 4043 -> "Sweetpea Stakes" - 4044 -> "Tanigawadake Stakes" - 4045 -> "Principal Stakes" - 4046 -> "Metropolitan Stakes" - 4047 -> "Kurama Stakes" - 4048 -> "Brilliant Stakes" - 4049 -> "Miyakooji Stakes" - 4050 -> "Aoi Stakes" - 4051 -> "Ritto Stakes" - 4052 -> "Seiryu Stakes" - 4053 -> "May Stakes" - 4054 -> "Hosu Stakes" - 4055 -> "Idaten Stakes" - 4056 -> "Shirayuri Stakes" - 4057 -> "Keyaki Stakes" - 4058 -> "Azuchijo Stakes" - 4059 -> "Akhalteke Stakes" - 4060 -> "Tempozan Stakes" - 4061 -> "Yonago Stakes" - 4062 -> "Onuma Stakes" - 4063 -> "Paradise Stakes" - 4064 -> "Tomoe Sho" - 4065 -> "Marine Stakes" - 4066 -> "Meitetsu Hai" - 4068 -> "Chukyo Junior Stakes" - 4069 -> "Fukushima TV Open" - 4070 -> "Dahlia Sho" - 4071 -> "Sapporo Nikkei Open" - 4072 -> "UHB Sho" - 4073 -> "Aso Stakes" - 4074 -> "Phoenix Sho" - 4075 -> "Cosmos Sho" - 4076 -> "NST Sho" - 4077 -> "Clover Sho" - 4078 -> "Himawari Sho" - 4079 -> "BSN Sho" - 4080 -> "Kokura Nikkei Open" - 4081 -> "Toki Stakes" - 4082 -> "Tancho Stakes" - 4083 -> "Suzuran Sho" - 4084 -> "Enif Stakes" - 4085 -> "Nojigiku Stakes" - 4086 -> "Radio Nippon Sho" - 4087 -> "Kikyo Stakes" - 4088 -> "Fuyo Stakes" - 4089 -> "Canna Stakes" - 4090 -> "Port Island Stakes" - 4091 -> "Opal Stakes" - 4092 -> "Green Channel Cup" - 4093 -> "Momiji Stakes" - 4094 -> "October Stakes" - 4095 -> "Shinetsu Stakes" - 4096 -> "Ivy Stakes" - 4097 -> "Muromachi Stakes" - 4098 -> "Brazil Cup" - 4099 -> "Hagi Stakes" - 4100 -> "Cassiopeia Stakes" - 4101 -> "Lumiere Autumn Dash" - 4102 -> "Oro Cup" - 4103 -> "Fukushima Junior Stakes" - 4104 -> "Andromeda Stakes" - 4105 -> "Shimotsuki Stakes" - 4106 -> "Fukushima Minyu Cup" - 4107 -> "Capital Stakes" - 4108 -> "Autumn Leaf Stakes" - 4109 -> "Lapis Lazuli Stakes" - 4110 -> "Shiwasu Stakes" - 4111 -> "Rigel Stakes" - 4112 -> "Tanzanite Stakes" - 4113 -> "December Stakes" - 4114 -> "Christmas Rose Stakes" - 4115 -> "Galaxy Stakes" - 4116 -> "Betelgeuse Stakes" - 4118 -> "Kitakyushu Tankyori Stakes" - 4119 -> "Azumakofuji Stakes" - 4120 -> "Sleipnir Stakes" - 4121 -> "Sannomiya Stakes" - 4122 -> "Kanetsu Stakes" - 4123 -> "Nagatsuki Stakes" - 4124 -> "Uzumasa Stakes" - 4501 -> "Aster Sho" - 4502 -> "Saffron Sho" - 4503 -> "Rindo Sho" - 4504 -> "Shigiku Sho" - 4505 -> "Platanus Sho" - 4506 -> "Nadeshiko Sho" - 4507 -> "Hyakunichiso Tokubetsu" - 4508 -> "Kimmokusei Tokubetsu" - 4509 -> "Oxalis Sho" - 4510 -> "Kigiku Sho" - 4511 -> "Mochinoki Sho" - 4512 -> "Akamatsu Sho" - 4513 -> "Shumeigiku Sho" - 4514 -> "Cattleya Sho" - 4515 -> "Begonia Sho" - 4516 -> "Shiragiku Sho" - 4517 -> "Habotan Sho" - 4518 -> "Koyamaki Sho" - 4519 -> "Manryo Sho" - 4520 -> "Kuromatsu Sho" - 4521 -> "Erica Sho" - 4522 -> "Tsuwabuki Sho" - 4523 -> "Hiiragi Sho" - 4524 -> "Sazanka Sho" - 4525 -> "Kantsubaki Sho" - 4526 -> "Senryo Sho" - x -> "race " ++ x.show - -// Get the grade for a race. -// If no race matches the ID, the result is Pre-OP. -pub fun grade(r: race-id): grade - match r.game-id - 1001 -> G1 - 1002 -> G1 - 1003 -> G1 - 1004 -> G1 - 1005 -> G1 - 1006 -> G1 - 1007 -> G1 - 1008 -> G1 - 1009 -> G1 - 1010 -> G1 - 1011 -> G1 - 1012 -> G1 - 1013 -> G1 - 1014 -> G1 - 1015 -> G1 - 1016 -> G1 - 1017 -> G1 - 1018 -> G1 - 1019 -> G1 - 1020 -> G1 - 1021 -> G1 - 1022 -> G1 - 1023 -> G1 - 1024 -> G1 - 1025 -> G1 - 1026 -> G1 - 1027 -> G1 - 1028 -> G1 - 1101 -> G1 - 1102 -> G1 - 1103 -> G1 - 1104 -> G1 - 1105 -> G1 - 1106 -> G1 - 2001 -> G2 - 2002 -> G2 - 2003 -> G2 - 2004 -> G2 - 2005 -> G2 - 2006 -> G2 - 2007 -> G2 - 2008 -> G2 - 2009 -> G2 - 2010 -> G2 - 2011 -> G2 - 2012 -> G2 - 2013 -> G2 - 2014 -> G2 - 2015 -> G2 - 2016 -> G2 - 2017 -> G2 - 2018 -> G2 - 2019 -> G2 - 2020 -> G2 - 2021 -> G2 - 2022 -> G2 - 2023 -> G2 - 2024 -> G2 - 2025 -> G2 - 2026 -> G2 - 2027 -> G2 - 2028 -> G2 - 2029 -> G2 - 2030 -> G2 - 2031 -> G2 - 2032 -> G2 - 2033 -> G2 - 2034 -> G2 - 2035 -> G2 - 3001 -> G3 - 3002 -> G3 - 3003 -> G3 - 3004 -> G3 - 3005 -> G3 - 3006 -> G3 - 3007 -> G3 - 3008 -> G3 - 3009 -> G3 - 3010 -> G3 - 3011 -> G3 - 3012 -> G3 - 3013 -> G3 - 3014 -> G3 - 3015 -> G3 - 3016 -> G3 - 3017 -> G3 - 3018 -> G2 - 3019 -> G3 - 3020 -> G3 - 3021 -> G3 - 3022 -> G3 - 3023 -> G3 - 3024 -> G3 - 3025 -> G3 - 3026 -> G3 - 3027 -> G3 - 3028 -> G3 - 3029 -> G3 - 3030 -> G3 - 3031 -> G3 - 3032 -> G3 - 3033 -> G3 - 3034 -> G3 - 3035 -> G3 - 3036 -> G3 - 3037 -> G3 - 3038 -> G3 - 3039 -> G3 - 3040 -> G3 - 3041 -> G3 - 3042 -> G3 - 3043 -> G3 - 3044 -> G3 - 3045 -> G3 - 3046 -> G3 - 3047 -> G3 - 3048 -> G3 - 3049 -> G3 - 3050 -> G3 - 3051 -> G3 - 3052 -> G3 - 3053 -> G3 - 3054 -> G3 - 3055 -> G3 - 3056 -> G3 - 3057 -> G3 - 3058 -> G2 - 3059 -> G3 - 3060 -> G3 - 3061 -> G3 - 3062 -> G3 - 3063 -> G3 - 3064 -> G3 - 3065 -> G3 - 3066 -> G3 - 3067 -> G3 - 3068 -> G3 - 3069 -> G3 - 3070 -> G3 - 4001 -> OP - 4002 -> OP - 4003 -> OP - 4004 -> OP - 4005 -> OP - 4006 -> OP - 4007 -> OP - 4008 -> OP - 4009 -> OP - 4010 -> OP - 4011 -> OP - 4012 -> OP - 4013 -> OP - 4014 -> OP - 4015 -> OP - 4016 -> OP - 4017 -> OP - 4018 -> OP - 4019 -> OP - 4020 -> OP - 4021 -> OP - 4022 -> OP - 4023 -> OP - 4024 -> OP - 4025 -> OP - 4026 -> OP - 4027 -> OP - 4028 -> OP - 4030 -> OP - 4031 -> OP - 4032 -> OP - 4033 -> OP - 4035 -> OP - 4036 -> OP - 4037 -> OP - 4038 -> OP - 4039 -> OP - 4040 -> OP - 4041 -> OP - 4042 -> OP - 4043 -> OP - 4044 -> OP - 4045 -> OP - 4046 -> OP - 4047 -> OP - 4048 -> OP - 4049 -> OP - 4050 -> G3 - 4051 -> OP - 4052 -> OP - 4053 -> OP - 4054 -> OP - 4055 -> OP - 4056 -> OP - 4057 -> OP - 4058 -> OP - 4059 -> OP - 4060 -> OP - 4061 -> OP - 4062 -> OP - 4063 -> OP - 4064 -> OP - 4065 -> OP - 4066 -> OP - 4068 -> OP - 4069 -> OP - 4070 -> OP - 4071 -> OP - 4072 -> OP - 4073 -> OP - 4074 -> OP - 4075 -> OP - 4076 -> OP - 4077 -> OP - 4078 -> OP - 4079 -> OP - 4080 -> OP - 4081 -> OP - 4082 -> OP - 4083 -> OP - 4084 -> OP - 4085 -> OP - 4086 -> OP - 4087 -> OP - 4088 -> OP - 4089 -> OP - 4090 -> OP - 4091 -> OP - 4092 -> OP - 4093 -> OP - 4094 -> OP - 4095 -> OP - 4096 -> OP - 4097 -> OP - 4098 -> OP - 4099 -> OP - 4100 -> OP - 4101 -> OP - 4102 -> OP - 4103 -> OP - 4104 -> OP - 4105 -> OP - 4106 -> OP - 4107 -> OP - 4108 -> OP - 4109 -> OP - 4110 -> OP - 4111 -> OP - 4112 -> OP - 4113 -> OP - 4114 -> OP - 4115 -> OP - 4116 -> OP - 4118 -> OP - 4119 -> OP - 4120 -> OP - 4121 -> OP - 4122 -> OP - 4123 -> OP - 4124 -> OP - 4501 -> Pre-OP - 4502 -> Pre-OP - 4503 -> Pre-OP - 4504 -> Pre-OP - 4505 -> Pre-OP - 4506 -> Pre-OP - 4507 -> Pre-OP - 4508 -> Pre-OP - 4509 -> Pre-OP - 4510 -> Pre-OP - 4511 -> Pre-OP - 4512 -> Pre-OP - 4513 -> Pre-OP - 4514 -> Pre-OP - 4515 -> Pre-OP - 4516 -> Pre-OP - 4517 -> Pre-OP - 4518 -> Pre-OP - 4519 -> Pre-OP - 4520 -> Pre-OP - 4521 -> Pre-OP - 4522 -> Pre-OP - 4523 -> Pre-OP - 4524 -> Pre-OP - 4525 -> Pre-OP - 4526 -> Pre-OP - _ -> Pre-OP - -// Get the thumbnail ID for a race. -// If no race matches the ID, the result is an invalid ID. -pub fun thumbnail(r: race-id): race-thumbnail-id - match r.game-id - 1001 -> Race-thumbnail-id(1001) - 1002 -> Race-thumbnail-id(1002) - 1003 -> Race-thumbnail-id(1003) - 1004 -> Race-thumbnail-id(1004) - 1005 -> Race-thumbnail-id(1005) - 1006 -> Race-thumbnail-id(1006) - 1007 -> Race-thumbnail-id(1007) - 1008 -> Race-thumbnail-id(1008) - 1009 -> Race-thumbnail-id(1009) - 1010 -> Race-thumbnail-id(1010) - 1011 -> Race-thumbnail-id(1011) - 1012 -> Race-thumbnail-id(1012) - 1013 -> Race-thumbnail-id(1013) - 1014 -> Race-thumbnail-id(1014) - 1015 -> Race-thumbnail-id(1015) - 1016 -> Race-thumbnail-id(1016) - 1017 -> Race-thumbnail-id(1017) - 1018 -> Race-thumbnail-id(1018) - 1019 -> Race-thumbnail-id(1019) - 1020 -> Race-thumbnail-id(1020) - 1021 -> Race-thumbnail-id(1021) - 1022 -> Race-thumbnail-id(1022) - 1023 -> Race-thumbnail-id(1023) - 1024 -> Race-thumbnail-id(1024) - 1025 -> Race-thumbnail-id(1012) - 1026 -> Race-thumbnail-id(1015) - 1027 -> Race-thumbnail-id(1027) - 1028 -> Race-thumbnail-id(1028) - 1101 -> Race-thumbnail-id(1101) - 1102 -> Race-thumbnail-id(1102) - 1103 -> Race-thumbnail-id(1103) - 1104 -> Race-thumbnail-id(1104) - 1105 -> Race-thumbnail-id(1105) - 1106 -> Race-thumbnail-id(1106) - 2001 -> Race-thumbnail-id(2001) - 2002 -> Race-thumbnail-id(2002) - 2003 -> Race-thumbnail-id(2003) - 2004 -> Race-thumbnail-id(2004) - 2005 -> Race-thumbnail-id(2005) - 2006 -> Race-thumbnail-id(2006) - 2007 -> Race-thumbnail-id(2007) - 2008 -> Race-thumbnail-id(2008) - 2009 -> Race-thumbnail-id(2009) - 2010 -> Race-thumbnail-id(2010) - 2011 -> Race-thumbnail-id(2011) - 2012 -> Race-thumbnail-id(2012) - 2013 -> Race-thumbnail-id(2013) - 2014 -> Race-thumbnail-id(2014) - 2015 -> Race-thumbnail-id(2015) - 2016 -> Race-thumbnail-id(2016) - 2017 -> Race-thumbnail-id(2017) - 2018 -> Race-thumbnail-id(2018) - 2019 -> Race-thumbnail-id(2019) - 2020 -> Race-thumbnail-id(2020) - 2021 -> Race-thumbnail-id(2021) - 2022 -> Race-thumbnail-id(2022) - 2023 -> Race-thumbnail-id(2023) - 2024 -> Race-thumbnail-id(2024) - 2025 -> Race-thumbnail-id(2025) - 2026 -> Race-thumbnail-id(2026) - 2027 -> Race-thumbnail-id(2027) - 2028 -> Race-thumbnail-id(2028) - 2029 -> Race-thumbnail-id(2029) - 2030 -> Race-thumbnail-id(2030) - 2031 -> Race-thumbnail-id(2031) - 2032 -> Race-thumbnail-id(2032) - 2033 -> Race-thumbnail-id(2033) - 2034 -> Race-thumbnail-id(2034) - 2035 -> Race-thumbnail-id(2010) - 3001 -> Race-thumbnail-id(3001) - 3002 -> Race-thumbnail-id(3002) - 3003 -> Race-thumbnail-id(3003) - 3004 -> Race-thumbnail-id(3004) - 3005 -> Race-thumbnail-id(3005) - 3006 -> Race-thumbnail-id(3006) - 3007 -> Race-thumbnail-id(3007) - 3008 -> Race-thumbnail-id(3008) - 3009 -> Race-thumbnail-id(3009) - 3010 -> Race-thumbnail-id(3010) - 3011 -> Race-thumbnail-id(3011) - 3012 -> Race-thumbnail-id(3012) - 3013 -> Race-thumbnail-id(3013) - 3014 -> Race-thumbnail-id(3014) - 3015 -> Race-thumbnail-id(3015) - 3016 -> Race-thumbnail-id(3016) - 3017 -> Race-thumbnail-id(3017) - 3018 -> Race-thumbnail-id(3018) - 3019 -> Race-thumbnail-id(3019) - 3020 -> Race-thumbnail-id(3020) - 3021 -> Race-thumbnail-id(3021) - 3022 -> Race-thumbnail-id(3022) - 3023 -> Race-thumbnail-id(3023) - 3024 -> Race-thumbnail-id(3024) - 3025 -> Race-thumbnail-id(3025) - 3026 -> Race-thumbnail-id(3026) - 3027 -> Race-thumbnail-id(3027) - 3028 -> Race-thumbnail-id(3028) - 3029 -> Race-thumbnail-id(3029) - 3030 -> Race-thumbnail-id(3030) - 3031 -> Race-thumbnail-id(3031) - 3032 -> Race-thumbnail-id(3032) - 3033 -> Race-thumbnail-id(3033) - 3034 -> Race-thumbnail-id(3034) - 3035 -> Race-thumbnail-id(3035) - 3036 -> Race-thumbnail-id(3036) - 3037 -> Race-thumbnail-id(3037) - 3038 -> Race-thumbnail-id(3038) - 3039 -> Race-thumbnail-id(3039) - 3040 -> Race-thumbnail-id(3040) - 3041 -> Race-thumbnail-id(3041) - 3042 -> Race-thumbnail-id(3042) - 3043 -> Race-thumbnail-id(3043) - 3044 -> Race-thumbnail-id(3044) - 3045 -> Race-thumbnail-id(3045) - 3046 -> Race-thumbnail-id(3046) - 3047 -> Race-thumbnail-id(3047) - 3048 -> Race-thumbnail-id(3048) - 3049 -> Race-thumbnail-id(3049) - 3050 -> Race-thumbnail-id(3050) - 3051 -> Race-thumbnail-id(3051) - 3052 -> Race-thumbnail-id(3052) - 3053 -> Race-thumbnail-id(3053) - 3054 -> Race-thumbnail-id(3054) - 3055 -> Race-thumbnail-id(3055) - 3056 -> Race-thumbnail-id(3056) - 3057 -> Race-thumbnail-id(3057) - 3058 -> Race-thumbnail-id(3058) - 3059 -> Race-thumbnail-id(3059) - 3060 -> Race-thumbnail-id(3060) - 3061 -> Race-thumbnail-id(3061) - 3062 -> Race-thumbnail-id(3062) - 3063 -> Race-thumbnail-id(3063) - 3064 -> Race-thumbnail-id(3064) - 3065 -> Race-thumbnail-id(3065) - 3066 -> Race-thumbnail-id(3066) - 3067 -> Race-thumbnail-id(3067) - 3068 -> Race-thumbnail-id(3068) - 3069 -> Race-thumbnail-id(3069) - 3070 -> Race-thumbnail-id(3070) - 4001 -> Race-thumbnail-id(4001) - 4002 -> Race-thumbnail-id(4002) - 4003 -> Race-thumbnail-id(4003) - 4004 -> Race-thumbnail-id(4004) - 4005 -> Race-thumbnail-id(4005) - 4006 -> Race-thumbnail-id(4006) - 4007 -> Race-thumbnail-id(4007) - 4008 -> Race-thumbnail-id(4008) - 4009 -> Race-thumbnail-id(4009) - 4010 -> Race-thumbnail-id(4010) - 4011 -> Race-thumbnail-id(4011) - 4012 -> Race-thumbnail-id(4012) - 4013 -> Race-thumbnail-id(4013) - 4014 -> Race-thumbnail-id(4014) - 4015 -> Race-thumbnail-id(4015) - 4016 -> Race-thumbnail-id(4016) - 4017 -> Race-thumbnail-id(4017) - 4018 -> Race-thumbnail-id(4018) - 4019 -> Race-thumbnail-id(4019) - 4020 -> Race-thumbnail-id(4020) - 4021 -> Race-thumbnail-id(4021) - 4022 -> Race-thumbnail-id(4022) - 4023 -> Race-thumbnail-id(4023) - 4024 -> Race-thumbnail-id(4024) - 4025 -> Race-thumbnail-id(4025) - 4026 -> Race-thumbnail-id(4026) - 4027 -> Race-thumbnail-id(4027) - 4028 -> Race-thumbnail-id(4028) - 4030 -> Race-thumbnail-id(4030) - 4031 -> Race-thumbnail-id(4031) - 4032 -> Race-thumbnail-id(4032) - 4033 -> Race-thumbnail-id(4033) - 4035 -> Race-thumbnail-id(4035) - 4036 -> Race-thumbnail-id(4036) - 4037 -> Race-thumbnail-id(4037) - 4038 -> Race-thumbnail-id(4038) - 4039 -> Race-thumbnail-id(4039) - 4040 -> Race-thumbnail-id(4040) - 4041 -> Race-thumbnail-id(4041) - 4042 -> Race-thumbnail-id(4042) - 4043 -> Race-thumbnail-id(4043) - 4044 -> Race-thumbnail-id(4044) - 4045 -> Race-thumbnail-id(4045) - 4046 -> Race-thumbnail-id(4046) - 4047 -> Race-thumbnail-id(4047) - 4048 -> Race-thumbnail-id(4048) - 4049 -> Race-thumbnail-id(4049) - 4050 -> Race-thumbnail-id(4050) - 4051 -> Race-thumbnail-id(4051) - 4052 -> Race-thumbnail-id(4052) - 4053 -> Race-thumbnail-id(4053) - 4054 -> Race-thumbnail-id(4054) - 4055 -> Race-thumbnail-id(4055) - 4056 -> Race-thumbnail-id(4056) - 4057 -> Race-thumbnail-id(4057) - 4058 -> Race-thumbnail-id(4058) - 4059 -> Race-thumbnail-id(4059) - 4060 -> Race-thumbnail-id(4060) - 4061 -> Race-thumbnail-id(4061) - 4062 -> Race-thumbnail-id(4062) - 4063 -> Race-thumbnail-id(4063) - 4064 -> Race-thumbnail-id(4064) - 4065 -> Race-thumbnail-id(4065) - 4066 -> Race-thumbnail-id(4066) - 4068 -> Race-thumbnail-id(4068) - 4069 -> Race-thumbnail-id(4069) - 4070 -> Race-thumbnail-id(4070) - 4071 -> Race-thumbnail-id(4071) - 4072 -> Race-thumbnail-id(4072) - 4073 -> Race-thumbnail-id(4073) - 4074 -> Race-thumbnail-id(4074) - 4075 -> Race-thumbnail-id(4075) - 4076 -> Race-thumbnail-id(4076) - 4077 -> Race-thumbnail-id(4077) - 4078 -> Race-thumbnail-id(4078) - 4079 -> Race-thumbnail-id(4079) - 4080 -> Race-thumbnail-id(4080) - 4081 -> Race-thumbnail-id(4081) - 4082 -> Race-thumbnail-id(4082) - 4083 -> Race-thumbnail-id(4083) - 4084 -> Race-thumbnail-id(4084) - 4085 -> Race-thumbnail-id(4085) - 4086 -> Race-thumbnail-id(4086) - 4087 -> Race-thumbnail-id(4087) - 4088 -> Race-thumbnail-id(4088) - 4089 -> Race-thumbnail-id(4089) - 4090 -> Race-thumbnail-id(4090) - 4091 -> Race-thumbnail-id(4091) - 4092 -> Race-thumbnail-id(4092) - 4093 -> Race-thumbnail-id(4093) - 4094 -> Race-thumbnail-id(4094) - 4095 -> Race-thumbnail-id(4095) - 4096 -> Race-thumbnail-id(4096) - 4097 -> Race-thumbnail-id(4097) - 4098 -> Race-thumbnail-id(4098) - 4099 -> Race-thumbnail-id(4099) - 4100 -> Race-thumbnail-id(4100) - 4101 -> Race-thumbnail-id(4101) - 4102 -> Race-thumbnail-id(4102) - 4103 -> Race-thumbnail-id(4103) - 4104 -> Race-thumbnail-id(4104) - 4105 -> Race-thumbnail-id(4105) - 4106 -> Race-thumbnail-id(4106) - 4107 -> Race-thumbnail-id(4107) - 4108 -> Race-thumbnail-id(4108) - 4109 -> Race-thumbnail-id(4109) - 4110 -> Race-thumbnail-id(4110) - 4111 -> Race-thumbnail-id(4111) - 4112 -> Race-thumbnail-id(4112) - 4113 -> Race-thumbnail-id(4113) - 4114 -> Race-thumbnail-id(4114) - 4115 -> Race-thumbnail-id(4115) - 4116 -> Race-thumbnail-id(4116) - 4118 -> Race-thumbnail-id(4117) - 4119 -> Race-thumbnail-id(4118) - 4120 -> Race-thumbnail-id(4119) - 4121 -> Race-thumbnail-id(4120) - 4122 -> Race-thumbnail-id(4121) - 4123 -> Race-thumbnail-id(4122) - 4124 -> Race-thumbnail-id(4123) - 4501 -> Race-thumbnail-id(4501) - 4502 -> Race-thumbnail-id(4502) - 4503 -> Race-thumbnail-id(4503) - 4504 -> Race-thumbnail-id(4504) - 4505 -> Race-thumbnail-id(4505) - 4506 -> Race-thumbnail-id(4506) - 4507 -> Race-thumbnail-id(4507) - 4508 -> Race-thumbnail-id(4508) - 4509 -> Race-thumbnail-id(4509) - 4510 -> Race-thumbnail-id(4510) - 4511 -> Race-thumbnail-id(4511) - 4512 -> Race-thumbnail-id(4512) - 4513 -> Race-thumbnail-id(4513) - 4514 -> Race-thumbnail-id(4514) - 4515 -> Race-thumbnail-id(4515) - 4516 -> Race-thumbnail-id(4516) - 4517 -> Race-thumbnail-id(4517) - 4518 -> Race-thumbnail-id(4518) - 4519 -> Race-thumbnail-id(4519) - 4520 -> Race-thumbnail-id(4520) - 4521 -> Race-thumbnail-id(4521) - 4522 -> Race-thumbnail-id(4522) - 4523 -> Race-thumbnail-id(4523) - 4524 -> Race-thumbnail-id(4524) - 4525 -> Race-thumbnail-id(4525) - 4526 -> Race-thumbnail-id(4526) - _ -> Race-thumbnail-id(0) - -// Get the primary ID for a race. -// For races which are the primary version, or if no race matches the given ID, -// the result is the input. -pub fun primary(r: race-id): race-id - match r.game-id - 1025 -> Race-id(1012) - 1026 -> Race-id(1015) - 1027 -> Race-id(1006) - 1028 -> Race-id(1005) - 2035 -> Race-id(2010) - _ -> r diff --git a/horse/global/saddle.go b/horse/global/saddle.go deleted file mode 100644 index 50a83de..0000000 --- a/horse/global/saddle.go +++ /dev/null @@ -1,1107 +0,0 @@ -package global - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - SaddleClassicTripleCrown SaddleID = 1 // Classic Triple Crown - SaddleSeniorAutumnTripleCrown SaddleID = 2 // Senior Autumn Triple Crown - SaddleTripleTiara SaddleID = 3 // Triple Tiara - SaddleSeniorSpringTripleCrown SaddleID = 4 // Senior Spring Triple Crown - SaddleTennoSweep SaddleID = 5 // Tenno Sweep - SaddleDualGrandPrix SaddleID = 6 // Dual Grand Prix - SaddleDualMiles SaddleID = 7 // Dual Miles - SaddleDualSprints SaddleID = 8 // Dual Sprints - SaddleDualDirts SaddleID = 9 // Dual Dirts - SaddleArimaKinen SaddleID = 10 // Arima Kinen - SaddleJapanC SaddleID = 11 // Japan C. - SaddleJapaneseDerby SaddleID = 12 // Japanese Derby - SaddleTennoShoSpring SaddleID = 13 // Tenno Sho (Spring) - SaddleTakarazukaKinen SaddleID = 14 // Takarazuka Kinen - SaddleTennoShoAutumn SaddleID = 15 // Tenno Sho (Autumn) - SaddleKikukaSho SaddleID = 16 // Kikuka Sho - SaddleOsakaHai SaddleID = 17 // Osaka Hai - SaddleSatsukiSho SaddleID = 18 // Satsuki Sho - SaddleJapaneseOaks SaddleID = 19 // Japanese Oaks - SaddleTakamatsunomiyaKinen SaddleID = 20 // Takamatsunomiya Kinen - SaddleYasudaKinen SaddleID = 21 // Yasuda Kinen - SaddleSprintersS SaddleID = 22 // Sprinters S. - SaddleMileCh SaddleID = 23 // Mile Ch. - SaddleOkaSho SaddleID = 24 // Oka Sho - SaddleVictoriaMile SaddleID = 25 // Victoria Mile - SaddleQueenElizabethIICup SaddleID = 26 // Queen Elizabeth II Cup - SaddleNHKMileC SaddleID = 27 // NHK Mile C. - SaddleShukaSho SaddleID = 28 // Shuka Sho - SaddleChampionsC SaddleID = 29 // Champions C. - SaddleFebruaryS SaddleID = 30 // February S. - SaddleJBCClassic SaddleID = 31 // JBC Classic - SaddleTokyoDaishoten SaddleID = 32 // Tokyo Daishoten - SaddleAsahiHaiFS SaddleID = 33 // Asahi Hai F.S. - SaddleHopefulS SaddleID = 34 // Hopeful S. - SaddleHanshinJF SaddleID = 35 // Hanshin J.F. - SaddleTeioSho SaddleID = 36 // Teio Sho - SaddleJBCSprint SaddleID = 37 // JBC Sprint - SaddleJDDerby SaddleID = 38 // J.D. Derby - SaddleJBCLClassic SaddleID = 39 // JBC L. Classic - SaddleNikkeiShinshunHai SaddleID = 40 // Nikkei Shinshun Hai - SaddleTokaiS SaddleID = 41 // Tokai S. - SaddleAmericanJCC SaddleID = 42 // American JCC - SaddleKyotoKinen SaddleID = 43 // Kyoto Kinen - SaddleNakayamaKinen SaddleID = 44 // Nakayama Kinen - SaddleYayoiSho SaddleID = 45 // Yayoi Sho - SaddleKinkoSho SaddleID = 46 // Kinko Sho - SaddleFilliesRevue SaddleID = 47 // Fillies' Revue - SaddleHanshinDaishoten SaddleID = 48 // Hanshin Daishoten - SaddleSpringS SaddleID = 49 // Spring S. - SaddleNikkeiSho SaddleID = 50 // Nikkei Sho - SaddleHanshinUmamusumeS SaddleID = 51 // Hanshin Umamusume S. - SaddleNewZealandT SaddleID = 52 // New Zealand T. - SaddleYomiuriMilersC SaddleID = 53 // Yomiuri Milers C. - SaddleFloraS SaddleID = 54 // Flora S. - SaddleAobaSho SaddleID = 55 // Aoba Sho - SaddleKyotoShimbunHai SaddleID = 56 // Kyoto Shimbun Hai - SaddleKeioHaiSpringC SaddleID = 57 // Keio Hai Spring C. - SaddleMeguroKinen SaddleID = 58 // Meguro Kinen - SaddleSapporoKinen SaddleID = 59 // Sapporo Kinen - SaddleCentaurS SaddleID = 60 // Centaur S. - SaddleRoseS SaddleID = 61 // Rose S. - SaddleStLiteKinen SaddleID = 62 // St. Lite Kinen - SaddleKobeShimbunHai SaddleID = 63 // Kobe Shimbun Hai - SaddleAllComers SaddleID = 64 // All Comers - SaddleMainichiOkan SaddleID = 65 // Mainichi Okan - SaddleKyotoDaishoten SaddleID = 66 // Kyoto Daishoten - SaddleFuchuUmamusumeS SaddleID = 67 // Fuchu Umamusume S. - SaddleSwanS SaddleID = 68 // Swan S. - SaddleKeioHaiJuniorS SaddleID = 69 // Keio Hai Junior S. - SaddleCopaRepublicaArgentina SaddleID = 70 // Copa Republica Argentina - SaddleDailyHaiJuniorS SaddleID = 71 // Daily Hai Junior S. - SaddleStayersS SaddleID = 72 // Stayers S. - SaddleHanshinC SaddleID = 73 // Hanshin C. - SaddleKyotoKimpai SaddleID = 74 // Kyoto Kimpai - SaddleNakayamaKimpai SaddleID = 75 // Nakayama Kimpai - SaddleShinzanKinen SaddleID = 76 // Shinzan Kinen - SaddleFairyS SaddleID = 77 // Fairy S. - SaddleAichiHai SaddleID = 78 // Aichi Hai - SaddleKeiseiHai SaddleID = 79 // Keisei Hai - SaddleSilkRoadS SaddleID = 80 // Silk Road S. - SaddleNegishiS SaddleID = 81 // Negishi S. - SaddleKisaragiSho SaddleID = 82 // Kisaragi Sho - SaddleTokyoShimbunHai SaddleID = 83 // Tokyo Shimbun Hai - SaddleQueenC SaddleID = 84 // Queen C. - SaddleKyodoNewsHai SaddleID = 85 // Kyodo News Hai - SaddleKyotoUmamusumeS SaddleID = 86 // Kyoto Umamusume S. - SaddleDiamondS SaddleID = 87 // Diamond S. - SaddleKokuraDaishoten SaddleID = 88 // Kokura Daishoten - SaddleArlingtonC SaddleID = 89 // Arlington C. - SaddleHankyuHai SaddleID = 90 // Hankyu Hai - SaddleTulipSho SaddleID = 91 // Tulip Sho - SaddleOceanS SaddleID = 92 // Ocean S. - SaddleNakayamaUmamusumeS SaddleID = 93 // Nakayama Umamusume S. - SaddleFalconS SaddleID = 94 // Falcon S. - SaddleFlowerC SaddleID = 95 // Flower C. - SaddleMainichiHai SaddleID = 96 // Mainichi Hai - SaddleMarchS SaddleID = 97 // March S. - SaddleLordDerbyCT SaddleID = 98 // Lord Derby C.T. - SaddleAntaresS SaddleID = 99 // Antares S. - SaddleFukushimaUmamusumeS SaddleID = 100 // Fukushima Umamusume S. - SaddleNiigataDaishoten SaddleID = 101 // Niigata Daishoten - SaddleHeianS SaddleID = 102 // Heian S. - SaddleNaruoKinen SaddleID = 103 // Naruo Kinen - SaddleMermaidS SaddleID = 104 // Mermaid S. - SaddleEpsomC SaddleID = 105 // Epsom C. - SaddleUnicornS SaddleID = 106 // Unicorn S. - SaddleHakodateSprintS SaddleID = 107 // Hakodate Sprint S. - SaddleCBCSho SaddleID = 108 // CBC Sho - SaddleRadioNikkeiSho SaddleID = 109 // Radio Nikkei Sho - SaddleProcyonS SaddleID = 110 // Procyon S. - SaddleTanabataSho SaddleID = 111 // Tanabata Sho - SaddleHakodateKinen SaddleID = 112 // Hakodate Kinen - SaddleChukyoKinen SaddleID = 113 // Chukyo Kinen - SaddleHakodateJuniorS SaddleID = 114 // Hakodate Junior S. - SaddleIbisSummerD SaddleID = 115 // Ibis Summer D. - SaddleQueenS SaddleID = 116 // Queen S. - SaddleKokuraKinen SaddleID = 117 // Kokura Kinen - SaddleLeopardS SaddleID = 118 // Leopard S. - SaddleSekiyaKinen SaddleID = 119 // Sekiya Kinen - SaddleElmS SaddleID = 120 // Elm S. - SaddleKitakyushuKinen SaddleID = 121 // Kitakyushu Kinen - SaddleNiigataJuniorS SaddleID = 122 // Niigata Junior S. - SaddleKeenelandC SaddleID = 123 // Keeneland C. - SaddleSapporoJuniorS SaddleID = 124 // Sapporo Junior S. - SaddleKokuraJuniorS SaddleID = 125 // Kokura Junior S. - SaddleNiigataKinen SaddleID = 126 // Niigata Kinen - SaddleShionS SaddleID = 127 // Shion S. - SaddleKeiseiHaiAH SaddleID = 128 // Keisei Hai A.H. - SaddleSiriusS SaddleID = 129 // Sirius S. - SaddleSaudiArabiaRC SaddleID = 130 // Saudi Arabia R.C. - SaddleFujiS SaddleID = 131 // Fuji S. - SaddleArtemisS SaddleID = 132 // Artemis S. - SaddleFantasyS SaddleID = 133 // Fantasy S. - SaddleMiyakoS SaddleID = 134 // Miyako S. - SaddleMusashinoS SaddleID = 135 // Musashino S. - SaddleFukushimaKinen SaddleID = 136 // Fukushima Kinen - SaddleTokyoSportsHaiJuniorS SaddleID = 137 // Tokyo Sports Hai Junior S. - SaddleKyotoJuniorS SaddleID = 138 // Kyoto Junior S. - SaddleKeihanHai SaddleID = 139 // Keihan Hai - SaddleChallengeC SaddleID = 140 // Challenge C. - SaddleChunichiShimbunHai SaddleID = 141 // Chunichi Shimbun Hai - SaddleCapellaS SaddleID = 142 // Capella S. - SaddleTurquoiseS SaddleID = 143 // Turquoise S. - SaddleClassicTripleCrownAlt1 SaddleID = 144 // Classic Triple Crown - SaddleSeniorSpringTripleCrownAlt1 SaddleID = 145 // Senior Spring Triple Crown - SaddleDualGrandPrixAlt1 SaddleID = 146 // Dual Grand Prix - SaddleTakarazukaKinenAlt1 SaddleID = 147 // Takarazuka Kinen - SaddleKikukaShoAlt1 SaddleID = 148 // Kikuka Sho - SaddleSpringSAlt1 SaddleID = 149 // Spring S. - SaddleAoiS SaddleID = 150 // Aoi S. - SaddleSeniorSpringTripleCrownAlt2 SaddleID = 151 // Senior Spring Triple Crown - SaddleTennoSweepAlt1 SaddleID = 152 // Tenno Sweep - SaddleTennoShoSpringAlt1 SaddleID = 153 // Tenno Sho (Spring) - SaddleClassicTripleCrownAlt2 SaddleID = 154 // Classic Triple Crown - SaddleSatsukiShoAlt1 SaddleID = 155 // Satsuki Sho -) - -var AllSaddles = map[SaddleID]Saddle{ - SaddleClassicTripleCrown: { - ID: 1, - Name: "Classic Triple Crown", - Races: []RaceID{100501, 101001, 101501}, - Type: SaddleTypeHonor, - }, - SaddleSeniorAutumnTripleCrown: { - ID: 2, - Name: "Senior Autumn Triple Crown", - Races: []RaceID{101601, 101901, 102301}, - Type: SaddleTypeHonor, - }, - SaddleTripleTiara: { - ID: 3, - Name: "Triple Tiara", - Races: []RaceID{100401, 100901, 101401}, - Type: SaddleTypeHonor, - }, - SaddleSeniorSpringTripleCrown: { - ID: 4, - Name: "Senior Spring Triple Crown", - Races: []RaceID{100301, 100601, 101201}, - Type: SaddleTypeHonor, - }, - SaddleTennoSweep: { - ID: 5, - Name: "Tenno Sweep", - Races: []RaceID{100601, 101601}, - Type: SaddleTypeHonor, - }, - SaddleDualGrandPrix: { - ID: 6, - Name: "Dual Grand Prix", - Races: []RaceID{101201, 102301}, - Type: SaddleTypeHonor, - }, - SaddleDualMiles: { - ID: 7, - Name: "Dual Miles", - Races: []RaceID{101101, 101801}, - Type: SaddleTypeHonor, - }, - SaddleDualSprints: { - ID: 8, - Name: "Dual Sprints", - Races: []RaceID{101301, 100201}, - Type: SaddleTypeHonor, - }, - SaddleDualDirts: { - ID: 9, - Name: "Dual Dirts", - Races: []RaceID{100101, 102001}, - Type: SaddleTypeHonor, - }, - SaddleArimaKinen: { - ID: 10, - Name: "Arima Kinen", - Races: []RaceID{102301}, - Type: SaddleTypeG1, - }, - SaddleJapanC: { - ID: 11, - Name: "Japan C.", - Races: []RaceID{101901}, - Type: SaddleTypeG1, - }, - SaddleJapaneseDerby: { - ID: 12, - Name: "Japanese Derby", - Races: []RaceID{101001}, - Type: SaddleTypeG1, - }, - SaddleTennoShoSpring: { - ID: 13, - Name: "Tenno Sho (Spring)", - Races: []RaceID{100601}, - Type: SaddleTypeG1, - }, - SaddleTakarazukaKinen: { - ID: 14, - Name: "Takarazuka Kinen", - Races: []RaceID{101201}, - Type: SaddleTypeG1, - }, - SaddleTennoShoAutumn: { - ID: 15, - Name: "Tenno Sho (Autumn)", - Races: []RaceID{101601}, - Type: SaddleTypeG1, - }, - SaddleKikukaSho: { - ID: 16, - Name: "Kikuka Sho", - Races: []RaceID{101501}, - Type: SaddleTypeG1, - }, - SaddleOsakaHai: { - ID: 17, - Name: "Osaka Hai", - Races: []RaceID{100301}, - Type: SaddleTypeG1, - }, - SaddleSatsukiSho: { - ID: 18, - Name: "Satsuki Sho", - Races: []RaceID{100501}, - Type: SaddleTypeG1, - }, - SaddleJapaneseOaks: { - ID: 19, - Name: "Japanese Oaks", - Races: []RaceID{100901}, - Type: SaddleTypeG1, - }, - SaddleTakamatsunomiyaKinen: { - ID: 20, - Name: "Takamatsunomiya Kinen", - Races: []RaceID{100201}, - Type: SaddleTypeG1, - }, - SaddleYasudaKinen: { - ID: 21, - Name: "Yasuda Kinen", - Races: []RaceID{101101}, - Type: SaddleTypeG1, - }, - SaddleSprintersS: { - ID: 22, - Name: "Sprinters S.", - Races: []RaceID{101301}, - Type: SaddleTypeG1, - }, - SaddleMileCh: { - ID: 23, - Name: "Mile Ch.", - Races: []RaceID{101801}, - Type: SaddleTypeG1, - }, - SaddleOkaSho: { - ID: 24, - Name: "Oka Sho", - Races: []RaceID{100401}, - Type: SaddleTypeG1, - }, - SaddleVictoriaMile: { - ID: 25, - Name: "Victoria Mile", - Races: []RaceID{100801}, - Type: SaddleTypeG1, - }, - SaddleQueenElizabethIICup: { - ID: 26, - Name: "Queen Elizabeth II Cup", - Races: []RaceID{101701}, - Type: SaddleTypeG1, - }, - SaddleNHKMileC: { - ID: 27, - Name: "NHK Mile C.", - Races: []RaceID{100701}, - Type: SaddleTypeG1, - }, - SaddleShukaSho: { - ID: 28, - Name: "Shuka Sho", - Races: []RaceID{101401}, - Type: SaddleTypeG1, - }, - SaddleChampionsC: { - ID: 29, - Name: "Champions C.", - Races: []RaceID{102001}, - Type: SaddleTypeG1, - }, - SaddleFebruaryS: { - ID: 30, - Name: "February S.", - Races: []RaceID{100101}, - Type: SaddleTypeG1, - }, - SaddleJBCClassic: { - ID: 31, - Name: "JBC Classic", - Races: []RaceID{110501}, - Type: SaddleTypeG1, - }, - SaddleTokyoDaishoten: { - ID: 32, - Name: "Tokyo Daishoten", - Races: []RaceID{110601}, - Type: SaddleTypeG1, - }, - SaddleAsahiHaiFS: { - ID: 33, - Name: "Asahi Hai F.S.", - Races: []RaceID{102201}, - Type: SaddleTypeG1, - }, - SaddleHopefulS: { - ID: 34, - Name: "Hopeful S.", - Races: []RaceID{102401}, - Type: SaddleTypeG1, - }, - SaddleHanshinJF: { - ID: 35, - Name: "Hanshin J.F.", - Races: []RaceID{102101}, - Type: SaddleTypeG1, - }, - SaddleTeioSho: { - ID: 36, - Name: "Teio Sho", - Races: []RaceID{110101}, - Type: SaddleTypeG1, - }, - SaddleJBCSprint: { - ID: 37, - Name: "JBC Sprint", - Races: []RaceID{110401}, - Type: SaddleTypeG1, - }, - SaddleJDDerby: { - ID: 38, - Name: "J.D. Derby", - Races: []RaceID{110201}, - Type: SaddleTypeG1, - }, - SaddleJBCLClassic: { - ID: 39, - Name: "JBC L. Classic", - Races: []RaceID{110301}, - Type: SaddleTypeG1, - }, - SaddleNikkeiShinshunHai: { - ID: 40, - Name: "Nikkei Shinshun Hai", - Races: []RaceID{200101}, - Type: SaddleTypeG2, - }, - SaddleTokaiS: { - ID: 41, - Name: "Tokai S.", - Races: []RaceID{200201}, - Type: SaddleTypeG2, - }, - SaddleAmericanJCC: { - ID: 42, - Name: "American JCC", - Races: []RaceID{200301}, - Type: SaddleTypeG2, - }, - SaddleKyotoKinen: { - ID: 43, - Name: "Kyoto Kinen", - Races: []RaceID{200401}, - Type: SaddleTypeG2, - }, - SaddleNakayamaKinen: { - ID: 44, - Name: "Nakayama Kinen", - Races: []RaceID{200501}, - Type: SaddleTypeG2, - }, - SaddleYayoiSho: { - ID: 45, - Name: "Yayoi Sho", - Races: []RaceID{200601}, - Type: SaddleTypeG2, - }, - SaddleKinkoSho: { - ID: 46, - Name: "Kinko Sho", - Races: []RaceID{200701}, - Type: SaddleTypeG2, - }, - SaddleFilliesRevue: { - ID: 47, - Name: "Fillies' Revue", - Races: []RaceID{200801}, - Type: SaddleTypeG2, - }, - SaddleHanshinDaishoten: { - ID: 48, - Name: "Hanshin Daishoten", - Races: []RaceID{200901}, - Type: SaddleTypeG2, - }, - SaddleSpringS: { - ID: 49, - Name: "Spring S.", - Races: []RaceID{201001}, - Type: SaddleTypeG2, - }, - SaddleNikkeiSho: { - ID: 50, - Name: "Nikkei Sho", - Races: []RaceID{201101}, - Type: SaddleTypeG2, - }, - SaddleHanshinUmamusumeS: { - ID: 51, - Name: "Hanshin Umamusume S.", - Races: []RaceID{201201}, - Type: SaddleTypeG2, - }, - SaddleNewZealandT: { - ID: 52, - Name: "New Zealand T.", - Races: []RaceID{201301}, - Type: SaddleTypeG2, - }, - SaddleYomiuriMilersC: { - ID: 53, - Name: "Yomiuri Milers C.", - Races: []RaceID{201401}, - Type: SaddleTypeG2, - }, - SaddleFloraS: { - ID: 54, - Name: "Flora S.", - Races: []RaceID{201501}, - Type: SaddleTypeG2, - }, - SaddleAobaSho: { - ID: 55, - Name: "Aoba Sho", - Races: []RaceID{201601}, - Type: SaddleTypeG2, - }, - SaddleKyotoShimbunHai: { - ID: 56, - Name: "Kyoto Shimbun Hai", - Races: []RaceID{201701}, - Type: SaddleTypeG2, - }, - SaddleKeioHaiSpringC: { - ID: 57, - Name: "Keio Hai Spring C.", - Races: []RaceID{201801}, - Type: SaddleTypeG2, - }, - SaddleMeguroKinen: { - ID: 58, - Name: "Meguro Kinen", - Races: []RaceID{201901}, - Type: SaddleTypeG2, - }, - SaddleSapporoKinen: { - ID: 59, - Name: "Sapporo Kinen", - Races: []RaceID{202001}, - Type: SaddleTypeG2, - }, - SaddleCentaurS: { - ID: 60, - Name: "Centaur S.", - Races: []RaceID{202101}, - Type: SaddleTypeG2, - }, - SaddleRoseS: { - ID: 61, - Name: "Rose S.", - Races: []RaceID{202201}, - Type: SaddleTypeG2, - }, - SaddleStLiteKinen: { - ID: 62, - Name: "St. Lite Kinen", - Races: []RaceID{202301}, - Type: SaddleTypeG2, - }, - SaddleKobeShimbunHai: { - ID: 63, - Name: "Kobe Shimbun Hai", - Races: []RaceID{202401}, - Type: SaddleTypeG2, - }, - SaddleAllComers: { - ID: 64, - Name: "All Comers", - Races: []RaceID{202501}, - Type: SaddleTypeG2, - }, - SaddleMainichiOkan: { - ID: 65, - Name: "Mainichi Okan", - Races: []RaceID{202601}, - Type: SaddleTypeG2, - }, - SaddleKyotoDaishoten: { - ID: 66, - Name: "Kyoto Daishoten", - Races: []RaceID{202701}, - Type: SaddleTypeG2, - }, - SaddleFuchuUmamusumeS: { - ID: 67, - Name: "Fuchu Umamusume S.", - Races: []RaceID{202801}, - Type: SaddleTypeG2, - }, - SaddleSwanS: { - ID: 68, - Name: "Swan S.", - Races: []RaceID{202901}, - Type: SaddleTypeG2, - }, - SaddleKeioHaiJuniorS: { - ID: 69, - Name: "Keio Hai Junior S.", - Races: []RaceID{203001}, - Type: SaddleTypeG2, - }, - SaddleCopaRepublicaArgentina: { - ID: 70, - Name: "Copa Republica Argentina", - Races: []RaceID{203101}, - Type: SaddleTypeG2, - }, - SaddleDailyHaiJuniorS: { - ID: 71, - Name: "Daily Hai Junior S.", - Races: []RaceID{203201}, - Type: SaddleTypeG2, - }, - SaddleStayersS: { - ID: 72, - Name: "Stayers S.", - Races: []RaceID{203301}, - Type: SaddleTypeG2, - }, - SaddleHanshinC: { - ID: 73, - Name: "Hanshin C.", - Races: []RaceID{203401}, - Type: SaddleTypeG2, - }, - SaddleKyotoKimpai: { - ID: 74, - Name: "Kyoto Kimpai", - Races: []RaceID{300101}, - Type: SaddleTypeG3, - }, - SaddleNakayamaKimpai: { - ID: 75, - Name: "Nakayama Kimpai", - Races: []RaceID{300201}, - Type: SaddleTypeG3, - }, - SaddleShinzanKinen: { - ID: 76, - Name: "Shinzan Kinen", - Races: []RaceID{300301}, - Type: SaddleTypeG3, - }, - SaddleFairyS: { - ID: 77, - Name: "Fairy S.", - Races: []RaceID{300401}, - Type: SaddleTypeG3, - }, - SaddleAichiHai: { - ID: 78, - Name: "Aichi Hai", - Races: []RaceID{300501}, - Type: SaddleTypeG3, - }, - SaddleKeiseiHai: { - ID: 79, - Name: "Keisei Hai", - Races: []RaceID{300601}, - Type: SaddleTypeG3, - }, - SaddleSilkRoadS: { - ID: 80, - Name: "Silk Road S.", - Races: []RaceID{300701}, - Type: SaddleTypeG3, - }, - SaddleNegishiS: { - ID: 81, - Name: "Negishi S.", - Races: []RaceID{300801}, - Type: SaddleTypeG3, - }, - SaddleKisaragiSho: { - ID: 82, - Name: "Kisaragi Sho", - Races: []RaceID{300901}, - Type: SaddleTypeG3, - }, - SaddleTokyoShimbunHai: { - ID: 83, - Name: "Tokyo Shimbun Hai", - Races: []RaceID{301001}, - Type: SaddleTypeG3, - }, - SaddleQueenC: { - ID: 84, - Name: "Queen C.", - Races: []RaceID{301101}, - Type: SaddleTypeG3, - }, - SaddleKyodoNewsHai: { - ID: 85, - Name: "Kyodo News Hai", - Races: []RaceID{301201}, - Type: SaddleTypeG3, - }, - SaddleKyotoUmamusumeS: { - ID: 86, - Name: "Kyoto Umamusume S.", - Races: []RaceID{301301}, - Type: SaddleTypeG3, - }, - SaddleDiamondS: { - ID: 87, - Name: "Diamond S.", - Races: []RaceID{301401}, - Type: SaddleTypeG3, - }, - SaddleKokuraDaishoten: { - ID: 88, - Name: "Kokura Daishoten", - Races: []RaceID{301501}, - Type: SaddleTypeG3, - }, - SaddleArlingtonC: { - ID: 89, - Name: "Arlington C.", - Races: []RaceID{301601}, - Type: SaddleTypeG3, - }, - SaddleHankyuHai: { - ID: 90, - Name: "Hankyu Hai", - Races: []RaceID{301701}, - Type: SaddleTypeG3, - }, - SaddleTulipSho: { - ID: 91, - Name: "Tulip Sho", - Races: []RaceID{301801}, - Type: SaddleTypeG2, - }, - SaddleOceanS: { - ID: 92, - Name: "Ocean S.", - Races: []RaceID{301901}, - Type: SaddleTypeG3, - }, - SaddleNakayamaUmamusumeS: { - ID: 93, - Name: "Nakayama Umamusume S.", - Races: []RaceID{302001}, - Type: SaddleTypeG3, - }, - SaddleFalconS: { - ID: 94, - Name: "Falcon S.", - Races: []RaceID{302101}, - Type: SaddleTypeG3, - }, - SaddleFlowerC: { - ID: 95, - Name: "Flower C.", - Races: []RaceID{302201}, - Type: SaddleTypeG3, - }, - SaddleMainichiHai: { - ID: 96, - Name: "Mainichi Hai", - Races: []RaceID{302301}, - Type: SaddleTypeG3, - }, - SaddleMarchS: { - ID: 97, - Name: "March S.", - Races: []RaceID{302401}, - Type: SaddleTypeG3, - }, - SaddleLordDerbyCT: { - ID: 98, - Name: "Lord Derby C.T.", - Races: []RaceID{302501}, - Type: SaddleTypeG3, - }, - SaddleAntaresS: { - ID: 99, - Name: "Antares S.", - Races: []RaceID{302601}, - Type: SaddleTypeG3, - }, - SaddleFukushimaUmamusumeS: { - ID: 100, - Name: "Fukushima Umamusume S.", - Races: []RaceID{302701}, - Type: SaddleTypeG3, - }, - SaddleNiigataDaishoten: { - ID: 101, - Name: "Niigata Daishoten", - Races: []RaceID{302801}, - Type: SaddleTypeG3, - }, - SaddleHeianS: { - ID: 102, - Name: "Heian S.", - Races: []RaceID{302901}, - Type: SaddleTypeG3, - }, - SaddleNaruoKinen: { - ID: 103, - Name: "Naruo Kinen", - Races: []RaceID{303001}, - Type: SaddleTypeG3, - }, - SaddleMermaidS: { - ID: 104, - Name: "Mermaid S.", - Races: []RaceID{303101}, - Type: SaddleTypeG3, - }, - SaddleEpsomC: { - ID: 105, - Name: "Epsom C.", - Races: []RaceID{303201}, - Type: SaddleTypeG3, - }, - SaddleUnicornS: { - ID: 106, - Name: "Unicorn S.", - Races: []RaceID{303301}, - Type: SaddleTypeG3, - }, - SaddleHakodateSprintS: { - ID: 107, - Name: "Hakodate Sprint S.", - Races: []RaceID{303401}, - Type: SaddleTypeG3, - }, - SaddleCBCSho: { - ID: 108, - Name: "CBC Sho", - Races: []RaceID{303501}, - Type: SaddleTypeG3, - }, - SaddleRadioNikkeiSho: { - ID: 109, - Name: "Radio Nikkei Sho", - Races: []RaceID{303601}, - Type: SaddleTypeG3, - }, - SaddleProcyonS: { - ID: 110, - Name: "Procyon S.", - Races: []RaceID{303701}, - Type: SaddleTypeG3, - }, - SaddleTanabataSho: { - ID: 111, - Name: "Tanabata Sho", - Races: []RaceID{303801}, - Type: SaddleTypeG3, - }, - SaddleHakodateKinen: { - ID: 112, - Name: "Hakodate Kinen", - Races: []RaceID{303901}, - Type: SaddleTypeG3, - }, - SaddleChukyoKinen: { - ID: 113, - Name: "Chukyo Kinen", - Races: []RaceID{304001}, - Type: SaddleTypeG3, - }, - SaddleHakodateJuniorS: { - ID: 114, - Name: "Hakodate Junior S.", - Races: []RaceID{304101}, - Type: SaddleTypeG3, - }, - SaddleIbisSummerD: { - ID: 115, - Name: "Ibis Summer D.", - Races: []RaceID{304201}, - Type: SaddleTypeG3, - }, - SaddleQueenS: { - ID: 116, - Name: "Queen S.", - Races: []RaceID{304301}, - Type: SaddleTypeG3, - }, - SaddleKokuraKinen: { - ID: 117, - Name: "Kokura Kinen", - Races: []RaceID{304401}, - Type: SaddleTypeG3, - }, - SaddleLeopardS: { - ID: 118, - Name: "Leopard S.", - Races: []RaceID{304501}, - Type: SaddleTypeG3, - }, - SaddleSekiyaKinen: { - ID: 119, - Name: "Sekiya Kinen", - Races: []RaceID{304601}, - Type: SaddleTypeG3, - }, - SaddleElmS: { - ID: 120, - Name: "Elm S.", - Races: []RaceID{304701}, - Type: SaddleTypeG3, - }, - SaddleKitakyushuKinen: { - ID: 121, - Name: "Kitakyushu Kinen", - Races: []RaceID{304801}, - Type: SaddleTypeG3, - }, - SaddleNiigataJuniorS: { - ID: 122, - Name: "Niigata Junior S.", - Races: []RaceID{304901}, - Type: SaddleTypeG3, - }, - SaddleKeenelandC: { - ID: 123, - Name: "Keeneland C.", - Races: []RaceID{305001}, - Type: SaddleTypeG3, - }, - SaddleSapporoJuniorS: { - ID: 124, - Name: "Sapporo Junior S.", - Races: []RaceID{305101}, - Type: SaddleTypeG3, - }, - SaddleKokuraJuniorS: { - ID: 125, - Name: "Kokura Junior S.", - Races: []RaceID{305201}, - Type: SaddleTypeG3, - }, - SaddleNiigataKinen: { - ID: 126, - Name: "Niigata Kinen", - Races: []RaceID{305301}, - Type: SaddleTypeG3, - }, - SaddleShionS: { - ID: 127, - Name: "Shion S.", - Races: []RaceID{305401}, - Type: SaddleTypeG3, - }, - SaddleKeiseiHaiAH: { - ID: 128, - Name: "Keisei Hai A.H.", - Races: []RaceID{305501}, - Type: SaddleTypeG3, - }, - SaddleSiriusS: { - ID: 129, - Name: "Sirius S.", - Races: []RaceID{305601}, - Type: SaddleTypeG3, - }, - SaddleSaudiArabiaRC: { - ID: 130, - Name: "Saudi Arabia R.C.", - Races: []RaceID{305701}, - Type: SaddleTypeG3, - }, - SaddleFujiS: { - ID: 131, - Name: "Fuji S.", - Races: []RaceID{305801}, - Type: SaddleTypeG2, - }, - SaddleArtemisS: { - ID: 132, - Name: "Artemis S.", - Races: []RaceID{305901}, - Type: SaddleTypeG3, - }, - SaddleFantasyS: { - ID: 133, - Name: "Fantasy S.", - Races: []RaceID{306001}, - Type: SaddleTypeG3, - }, - SaddleMiyakoS: { - ID: 134, - Name: "Miyako S.", - Races: []RaceID{306101}, - Type: SaddleTypeG3, - }, - SaddleMusashinoS: { - ID: 135, - Name: "Musashino S.", - Races: []RaceID{306201}, - Type: SaddleTypeG3, - }, - SaddleFukushimaKinen: { - ID: 136, - Name: "Fukushima Kinen", - Races: []RaceID{306301}, - Type: SaddleTypeG3, - }, - SaddleTokyoSportsHaiJuniorS: { - ID: 137, - Name: "Tokyo Sports Hai Junior S.", - Races: []RaceID{306401}, - Type: SaddleTypeG3, - }, - SaddleKyotoJuniorS: { - ID: 138, - Name: "Kyoto Junior S.", - Races: []RaceID{306501}, - Type: SaddleTypeG3, - }, - SaddleKeihanHai: { - ID: 139, - Name: "Keihan Hai", - Races: []RaceID{306601}, - Type: SaddleTypeG3, - }, - SaddleChallengeC: { - ID: 140, - Name: "Challenge C.", - Races: []RaceID{306701}, - Type: SaddleTypeG3, - }, - SaddleChunichiShimbunHai: { - ID: 141, - Name: "Chunichi Shimbun Hai", - Races: []RaceID{306801}, - Type: SaddleTypeG3, - }, - SaddleCapellaS: { - ID: 142, - Name: "Capella S.", - Races: []RaceID{306901}, - Type: SaddleTypeG3, - }, - SaddleTurquoiseS: { - ID: 143, - Name: "Turquoise S.", - Races: []RaceID{307001}, - Type: SaddleTypeG3, - }, - SaddleClassicTripleCrownAlt1: { - ID: 144, - Name: "Classic Triple Crown" + " (Alternate 1)", - Races: []RaceID{100501, 101001, 102601}, - Type: SaddleTypeHonor, - Primary: 1, - }, - SaddleSeniorSpringTripleCrownAlt1: { - ID: 145, - Name: "Senior Spring Triple Crown" + " (Alternate 1)", - Races: []RaceID{100301, 100601, 102501}, - Type: SaddleTypeHonor, - Primary: 4, - }, - SaddleDualGrandPrixAlt1: { - ID: 146, - Name: "Dual Grand Prix" + " (Alternate 1)", - Races: []RaceID{102501, 102301}, - Type: SaddleTypeHonor, - Primary: 6, - }, - SaddleTakarazukaKinenAlt1: { - ID: 147, - Name: "Takarazuka Kinen" + " (Alternate 1)", - Races: []RaceID{102501}, - Type: SaddleTypeG1, - Primary: 14, - }, - SaddleKikukaShoAlt1: { - ID: 148, - Name: "Kikuka Sho" + " (Alternate 1)", - Races: []RaceID{102601}, - Type: SaddleTypeG1, - Primary: 16, - }, - SaddleSpringSAlt1: { - ID: 149, - Name: "Spring S." + " (Alternate 1)", - Races: []RaceID{203501}, - Type: SaddleTypeG2, - Primary: 49, - }, - SaddleAoiS: { - ID: 150, - Name: "Aoi S.", - Races: []RaceID{405001}, - Type: SaddleTypeG3, - }, - SaddleSeniorSpringTripleCrownAlt2: { - ID: 151, - Name: "Senior Spring Triple Crown" + " (Alternate 2)", - Races: []RaceID{100301, 102701, 101201}, - Type: SaddleTypeHonor, - Primary: 4, - }, - SaddleTennoSweepAlt1: { - ID: 152, - Name: "Tenno Sweep" + " (Alternate 1)", - Races: []RaceID{102701, 101601}, - Type: SaddleTypeHonor, - Primary: 5, - }, - SaddleTennoShoSpringAlt1: { - ID: 153, - Name: "Tenno Sho (Spring)" + " (Alternate 1)", - Races: []RaceID{102701}, - Type: SaddleTypeG1, - Primary: 13, - }, - SaddleClassicTripleCrownAlt2: { - ID: 154, - Name: "Classic Triple Crown" + " (Alternate 2)", - Races: []RaceID{102801, 101001, 101501}, - Type: SaddleTypeHonor, - Primary: 1, - }, - SaddleSatsukiShoAlt1: { - ID: 155, - Name: "Satsuki Sho" + " (Alternate 1)", - Races: []RaceID{102801}, - Type: SaddleTypeG1, - Primary: 18, - }, -} diff --git a/horse/global/saddle.kk b/horse/global/saddle.kk deleted file mode 100644 index ed920ec..0000000 --- a/horse/global/saddle.kk +++ /dev/null @@ -1,518 +0,0 @@ -module horse/global/saddle - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import horse/game-id -pub import horse/race -pub import horse/global/race - -extern create-id-table(): vector - c inline "int32_t arr[] = {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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,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,91,92,93,94,95,96,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,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,};\nkk_vector_from_cint32array(arr, (kk_ssize_t)155, kk_context())" - js inline "[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,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,91,92,93,94,95,96,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,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,]" -// Vector of all saddle IDs in order for easy iterating. -pub val all = once(create-id-table) - -// Get the name for a saddle. -// Alternate versions of saddles have an indication of their ID in their names. -// If no saddle matches the ID, the result contains the numeric ID. -pub fun show(s: saddle-id): string - match s.game-id - 1 -> "Classic Triple Crown" - 2 -> "Senior Autumn Triple Crown" - 3 -> "Triple Tiara" - 4 -> "Senior Spring Triple Crown" - 5 -> "Tenno Sweep" - 6 -> "Dual Grand Prix" - 7 -> "Dual Miles" - 8 -> "Dual Sprints" - 9 -> "Dual Dirts" - 10 -> "Arima Kinen" - 11 -> "Japan C." - 12 -> "Japanese Derby" - 13 -> "Tenno Sho (Spring)" - 14 -> "Takarazuka Kinen" - 15 -> "Tenno Sho (Autumn)" - 16 -> "Kikuka Sho" - 17 -> "Osaka Hai" - 18 -> "Satsuki Sho" - 19 -> "Japanese Oaks" - 20 -> "Takamatsunomiya Kinen" - 21 -> "Yasuda Kinen" - 22 -> "Sprinters S." - 23 -> "Mile Ch." - 24 -> "Oka Sho" - 25 -> "Victoria Mile" - 26 -> "Queen Elizabeth II Cup" - 27 -> "NHK Mile C." - 28 -> "Shuka Sho" - 29 -> "Champions C." - 30 -> "February S." - 31 -> "JBC Classic" - 32 -> "Tokyo Daishoten" - 33 -> "Asahi Hai F.S." - 34 -> "Hopeful S." - 35 -> "Hanshin J.F." - 36 -> "Teio Sho" - 37 -> "JBC Sprint" - 38 -> "J.D. Derby" - 39 -> "JBC L. Classic" - 40 -> "Nikkei Shinshun Hai" - 41 -> "Tokai S." - 42 -> "American JCC" - 43 -> "Kyoto Kinen" - 44 -> "Nakayama Kinen" - 45 -> "Yayoi Sho" - 46 -> "Kinko Sho" - 47 -> "Fillies' Revue" - 48 -> "Hanshin Daishoten" - 49 -> "Spring S." - 50 -> "Nikkei Sho" - 51 -> "Hanshin Umamusume S." - 52 -> "New Zealand T." - 53 -> "Yomiuri Milers C." - 54 -> "Flora S." - 55 -> "Aoba Sho" - 56 -> "Kyoto Shimbun Hai" - 57 -> "Keio Hai Spring C." - 58 -> "Meguro Kinen" - 59 -> "Sapporo Kinen" - 60 -> "Centaur S." - 61 -> "Rose S." - 62 -> "St. Lite Kinen" - 63 -> "Kobe Shimbun Hai" - 64 -> "All Comers" - 65 -> "Mainichi Okan" - 66 -> "Kyoto Daishoten" - 67 -> "Fuchu Umamusume S." - 68 -> "Swan S." - 69 -> "Keio Hai Junior S." - 70 -> "Copa Republica Argentina" - 71 -> "Daily Hai Junior S." - 72 -> "Stayers S." - 73 -> "Hanshin C." - 74 -> "Kyoto Kimpai" - 75 -> "Nakayama Kimpai" - 76 -> "Shinzan Kinen" - 77 -> "Fairy S." - 78 -> "Aichi Hai" - 79 -> "Keisei Hai" - 80 -> "Silk Road S." - 81 -> "Negishi S." - 82 -> "Kisaragi Sho" - 83 -> "Tokyo Shimbun Hai" - 84 -> "Queen C." - 85 -> "Kyodo News Hai" - 86 -> "Kyoto Umamusume S." - 87 -> "Diamond S." - 88 -> "Kokura Daishoten" - 89 -> "Arlington C." - 90 -> "Hankyu Hai" - 91 -> "Tulip Sho" - 92 -> "Ocean S." - 93 -> "Nakayama Umamusume S." - 94 -> "Falcon S." - 95 -> "Flower C." - 96 -> "Mainichi Hai" - 97 -> "March S." - 98 -> "Lord Derby C.T." - 99 -> "Antares S." - 100 -> "Fukushima Umamusume S." - 101 -> "Niigata Daishoten" - 102 -> "Heian S." - 103 -> "Naruo Kinen" - 104 -> "Mermaid S." - 105 -> "Epsom C." - 106 -> "Unicorn S." - 107 -> "Hakodate Sprint S." - 108 -> "CBC Sho" - 109 -> "Radio Nikkei Sho" - 110 -> "Procyon S." - 111 -> "Tanabata Sho" - 112 -> "Hakodate Kinen" - 113 -> "Chukyo Kinen" - 114 -> "Hakodate Junior S." - 115 -> "Ibis Summer D." - 116 -> "Queen S." - 117 -> "Kokura Kinen" - 118 -> "Leopard S." - 119 -> "Sekiya Kinen" - 120 -> "Elm S." - 121 -> "Kitakyushu Kinen" - 122 -> "Niigata Junior S." - 123 -> "Keeneland C." - 124 -> "Sapporo Junior S." - 125 -> "Kokura Junior S." - 126 -> "Niigata Kinen" - 127 -> "Shion S." - 128 -> "Keisei Hai A.H." - 129 -> "Sirius S." - 130 -> "Saudi Arabia R.C." - 131 -> "Fuji S." - 132 -> "Artemis S." - 133 -> "Fantasy S." - 134 -> "Miyako S." - 135 -> "Musashino S." - 136 -> "Fukushima Kinen" - 137 -> "Tokyo Sports Hai Junior S." - 138 -> "Kyoto Junior S." - 139 -> "Keihan Hai" - 140 -> "Challenge C." - 141 -> "Chunichi Shimbun Hai" - 142 -> "Capella S." - 143 -> "Turquoise S." - 144 -> "Classic Triple Crown" ++ " (Alternate 144)" - 145 -> "Senior Spring Triple Crown" ++ " (Alternate 145)" - 146 -> "Dual Grand Prix" ++ " (Alternate 146)" - 147 -> "Takarazuka Kinen" ++ " (Alternate 147)" - 148 -> "Kikuka Sho" ++ " (Alternate 148)" - 149 -> "Spring S." ++ " (Alternate 149)" - 150 -> "Aoi S." - 151 -> "Senior Spring Triple Crown" ++ " (Alternate 151)" - 152 -> "Tenno Sweep" ++ " (Alternate 152)" - 153 -> "Tenno Sho (Spring)" ++ " (Alternate 153)" - 154 -> "Classic Triple Crown" ++ " (Alternate 154)" - 155 -> "Satsuki Sho" ++ " (Alternate 155)" - x -> "saddle " ++ x.show - -// Get the list of races that entitle a horse to a saddle. -// If no saddle matches the ID, the result is the empty list. -pub fun races(s: saddle-id): list - match s.game-id - 1 -> [Race-id(100501), Race-id(101001), Race-id(101501), ] - 2 -> [Race-id(101601), Race-id(101901), Race-id(102301), ] - 3 -> [Race-id(100401), Race-id(100901), Race-id(101401), ] - 4 -> [Race-id(100301), Race-id(100601), Race-id(101201), ] - 5 -> [Race-id(100601), Race-id(101601), ] - 6 -> [Race-id(101201), Race-id(102301), ] - 7 -> [Race-id(101101), Race-id(101801), ] - 8 -> [Race-id(101301), Race-id(100201), ] - 9 -> [Race-id(100101), Race-id(102001), ] - 10 -> [Race-id(102301), ] - 11 -> [Race-id(101901), ] - 12 -> [Race-id(101001), ] - 13 -> [Race-id(100601), ] - 14 -> [Race-id(101201), ] - 15 -> [Race-id(101601), ] - 16 -> [Race-id(101501), ] - 17 -> [Race-id(100301), ] - 18 -> [Race-id(100501), ] - 19 -> [Race-id(100901), ] - 20 -> [Race-id(100201), ] - 21 -> [Race-id(101101), ] - 22 -> [Race-id(101301), ] - 23 -> [Race-id(101801), ] - 24 -> [Race-id(100401), ] - 25 -> [Race-id(100801), ] - 26 -> [Race-id(101701), ] - 27 -> [Race-id(100701), ] - 28 -> [Race-id(101401), ] - 29 -> [Race-id(102001), ] - 30 -> [Race-id(100101), ] - 31 -> [Race-id(110501), ] - 32 -> [Race-id(110601), ] - 33 -> [Race-id(102201), ] - 34 -> [Race-id(102401), ] - 35 -> [Race-id(102101), ] - 36 -> [Race-id(110101), ] - 37 -> [Race-id(110401), ] - 38 -> [Race-id(110201), ] - 39 -> [Race-id(110301), ] - 40 -> [Race-id(200101), ] - 41 -> [Race-id(200201), ] - 42 -> [Race-id(200301), ] - 43 -> [Race-id(200401), ] - 44 -> [Race-id(200501), ] - 45 -> [Race-id(200601), ] - 46 -> [Race-id(200701), ] - 47 -> [Race-id(200801), ] - 48 -> [Race-id(200901), ] - 49 -> [Race-id(201001), ] - 50 -> [Race-id(201101), ] - 51 -> [Race-id(201201), ] - 52 -> [Race-id(201301), ] - 53 -> [Race-id(201401), ] - 54 -> [Race-id(201501), ] - 55 -> [Race-id(201601), ] - 56 -> [Race-id(201701), ] - 57 -> [Race-id(201801), ] - 58 -> [Race-id(201901), ] - 59 -> [Race-id(202001), ] - 60 -> [Race-id(202101), ] - 61 -> [Race-id(202201), ] - 62 -> [Race-id(202301), ] - 63 -> [Race-id(202401), ] - 64 -> [Race-id(202501), ] - 65 -> [Race-id(202601), ] - 66 -> [Race-id(202701), ] - 67 -> [Race-id(202801), ] - 68 -> [Race-id(202901), ] - 69 -> [Race-id(203001), ] - 70 -> [Race-id(203101), ] - 71 -> [Race-id(203201), ] - 72 -> [Race-id(203301), ] - 73 -> [Race-id(203401), ] - 74 -> [Race-id(300101), ] - 75 -> [Race-id(300201), ] - 76 -> [Race-id(300301), ] - 77 -> [Race-id(300401), ] - 78 -> [Race-id(300501), ] - 79 -> [Race-id(300601), ] - 80 -> [Race-id(300701), ] - 81 -> [Race-id(300801), ] - 82 -> [Race-id(300901), ] - 83 -> [Race-id(301001), ] - 84 -> [Race-id(301101), ] - 85 -> [Race-id(301201), ] - 86 -> [Race-id(301301), ] - 87 -> [Race-id(301401), ] - 88 -> [Race-id(301501), ] - 89 -> [Race-id(301601), ] - 90 -> [Race-id(301701), ] - 91 -> [Race-id(301801), ] - 92 -> [Race-id(301901), ] - 93 -> [Race-id(302001), ] - 94 -> [Race-id(302101), ] - 95 -> [Race-id(302201), ] - 96 -> [Race-id(302301), ] - 97 -> [Race-id(302401), ] - 98 -> [Race-id(302501), ] - 99 -> [Race-id(302601), ] - 100 -> [Race-id(302701), ] - 101 -> [Race-id(302801), ] - 102 -> [Race-id(302901), ] - 103 -> [Race-id(303001), ] - 104 -> [Race-id(303101), ] - 105 -> [Race-id(303201), ] - 106 -> [Race-id(303301), ] - 107 -> [Race-id(303401), ] - 108 -> [Race-id(303501), ] - 109 -> [Race-id(303601), ] - 110 -> [Race-id(303701), ] - 111 -> [Race-id(303801), ] - 112 -> [Race-id(303901), ] - 113 -> [Race-id(304001), ] - 114 -> [Race-id(304101), ] - 115 -> [Race-id(304201), ] - 116 -> [Race-id(304301), ] - 117 -> [Race-id(304401), ] - 118 -> [Race-id(304501), ] - 119 -> [Race-id(304601), ] - 120 -> [Race-id(304701), ] - 121 -> [Race-id(304801), ] - 122 -> [Race-id(304901), ] - 123 -> [Race-id(305001), ] - 124 -> [Race-id(305101), ] - 125 -> [Race-id(305201), ] - 126 -> [Race-id(305301), ] - 127 -> [Race-id(305401), ] - 128 -> [Race-id(305501), ] - 129 -> [Race-id(305601), ] - 130 -> [Race-id(305701), ] - 131 -> [Race-id(305801), ] - 132 -> [Race-id(305901), ] - 133 -> [Race-id(306001), ] - 134 -> [Race-id(306101), ] - 135 -> [Race-id(306201), ] - 136 -> [Race-id(306301), ] - 137 -> [Race-id(306401), ] - 138 -> [Race-id(306501), ] - 139 -> [Race-id(306601), ] - 140 -> [Race-id(306701), ] - 141 -> [Race-id(306801), ] - 142 -> [Race-id(306901), ] - 143 -> [Race-id(307001), ] - 144 -> [Race-id(100501), Race-id(101001), Race-id(102601), ] - 145 -> [Race-id(100301), Race-id(100601), Race-id(102501), ] - 146 -> [Race-id(102501), Race-id(102301), ] - 147 -> [Race-id(102501), ] - 148 -> [Race-id(102601), ] - 149 -> [Race-id(203501), ] - 150 -> [Race-id(405001), ] - 151 -> [Race-id(100301), Race-id(102701), Race-id(101201), ] - 152 -> [Race-id(102701), Race-id(101601), ] - 153 -> [Race-id(102701), ] - 154 -> [Race-id(102801), Race-id(101001), Race-id(101501), ] - 155 -> [Race-id(102801), ] - _ -> [] - -// Get a saddle's type. -// If no saddle matches the ID, the result is Honor. -pub fun saddle-type(s: saddle-id): saddle-type - match s.game-id - 1 -> Honor - 2 -> Honor - 3 -> Honor - 4 -> Honor - 5 -> Honor - 6 -> Honor - 7 -> Honor - 8 -> Honor - 9 -> Honor - 10 -> G1-Win - 11 -> G1-Win - 12 -> G1-Win - 13 -> G1-Win - 14 -> G1-Win - 15 -> G1-Win - 16 -> G1-Win - 17 -> G1-Win - 18 -> G1-Win - 19 -> G1-Win - 20 -> G1-Win - 21 -> G1-Win - 22 -> G1-Win - 23 -> G1-Win - 24 -> G1-Win - 25 -> G1-Win - 26 -> G1-Win - 27 -> G1-Win - 28 -> G1-Win - 29 -> G1-Win - 30 -> G1-Win - 31 -> G1-Win - 32 -> G1-Win - 33 -> G1-Win - 34 -> G1-Win - 35 -> G1-Win - 36 -> G1-Win - 37 -> G1-Win - 38 -> G1-Win - 39 -> G1-Win - 40 -> G2-Win - 41 -> G2-Win - 42 -> G2-Win - 43 -> G2-Win - 44 -> G2-Win - 45 -> G2-Win - 46 -> G2-Win - 47 -> G2-Win - 48 -> G2-Win - 49 -> G2-Win - 50 -> G2-Win - 51 -> G2-Win - 52 -> G2-Win - 53 -> G2-Win - 54 -> G2-Win - 55 -> G2-Win - 56 -> G2-Win - 57 -> G2-Win - 58 -> G2-Win - 59 -> G2-Win - 60 -> G2-Win - 61 -> G2-Win - 62 -> G2-Win - 63 -> G2-Win - 64 -> G2-Win - 65 -> G2-Win - 66 -> G2-Win - 67 -> G2-Win - 68 -> G2-Win - 69 -> G2-Win - 70 -> G2-Win - 71 -> G2-Win - 72 -> G2-Win - 73 -> G2-Win - 74 -> G3-Win - 75 -> G3-Win - 76 -> G3-Win - 77 -> G3-Win - 78 -> G3-Win - 79 -> G3-Win - 80 -> G3-Win - 81 -> G3-Win - 82 -> G3-Win - 83 -> G3-Win - 84 -> G3-Win - 85 -> G3-Win - 86 -> G3-Win - 87 -> G3-Win - 88 -> G3-Win - 89 -> G3-Win - 90 -> G3-Win - 91 -> G2-Win - 92 -> G3-Win - 93 -> G3-Win - 94 -> G3-Win - 95 -> G3-Win - 96 -> G3-Win - 97 -> G3-Win - 98 -> G3-Win - 99 -> G3-Win - 100 -> G3-Win - 101 -> G3-Win - 102 -> G3-Win - 103 -> G3-Win - 104 -> G3-Win - 105 -> G3-Win - 106 -> G3-Win - 107 -> G3-Win - 108 -> G3-Win - 109 -> G3-Win - 110 -> G3-Win - 111 -> G3-Win - 112 -> G3-Win - 113 -> G3-Win - 114 -> G3-Win - 115 -> G3-Win - 116 -> G3-Win - 117 -> G3-Win - 118 -> G3-Win - 119 -> G3-Win - 120 -> G3-Win - 121 -> G3-Win - 122 -> G3-Win - 123 -> G3-Win - 124 -> G3-Win - 125 -> G3-Win - 126 -> G3-Win - 127 -> G3-Win - 128 -> G3-Win - 129 -> G3-Win - 130 -> G3-Win - 131 -> G2-Win - 132 -> G3-Win - 133 -> G3-Win - 134 -> G3-Win - 135 -> G3-Win - 136 -> G3-Win - 137 -> G3-Win - 138 -> G3-Win - 139 -> G3-Win - 140 -> G3-Win - 141 -> G3-Win - 142 -> G3-Win - 143 -> G3-Win - 144 -> Honor - 145 -> Honor - 146 -> Honor - 147 -> G1-Win - 148 -> G1-Win - 149 -> G2-Win - 150 -> G3-Win - 151 -> Honor - 152 -> Honor - 153 -> G1-Win - 154 -> Honor - 155 -> G1-Win - _ -> Honor - -// Get the primary ID for a saddle. -// For saddles which are the primary version, or if no saddle matches the given ID, -// the result is the input. -pub fun primary(s: saddle-id): saddle-id - match s.game-id - 144 -> Saddle-id(1) - 145 -> Saddle-id(4) - 146 -> Saddle-id(6) - 147 -> Saddle-id(14) - 148 -> Saddle-id(16) - 149 -> Saddle-id(49) - 151 -> Saddle-id(4) - 152 -> Saddle-id(5) - 153 -> Saddle-id(13) - 154 -> Saddle-id(1) - 155 -> Saddle-id(18) - _ -> s diff --git a/horse/global/scenario.go b/horse/global/scenario.go deleted file mode 100644 index cd86309..0000000 --- a/horse/global/scenario.go +++ /dev/null @@ -1,23 +0,0 @@ -package global - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - ScenarioURAFinale ScenarioID = 1 // URA Finale - ScenarioUnityCup ScenarioID = 2 // Unity Cup -) - -var AllScenarios = map[ScenarioID]Scenario{ - ScenarioURAFinale: { - ID: 1, - Name: "URA Finale", - Title: "The Beginning: URA Finale", - }, - ScenarioUnityCup: { - ID: 2, - Name: "Unity Cup", - Title: "Unity Cup: Shine On, Team Spirit!", - }, -} diff --git a/horse/global/scenario.kk b/horse/global/scenario.kk deleted file mode 100644 index 39ada23..0000000 --- a/horse/global/scenario.kk +++ /dev/null @@ -1,30 +0,0 @@ -module horse/global/scenario - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import horse/game-id - -extern create-id-table(): vector - c inline "int32_t arr[] = {1,2,};\nkk_vector_from_cint32array(arr, (kk_ssize_t)2, kk_context())" - js inline "[1,2,]" -// Vector of all scenario IDs in order for easy iterating. -pub val all = once(create-id-table) - -// Get the name for a scenario. -// If no scenario matches the ID, the result contains the numeric ID. -pub fun show(s: scenario-id): string - match s.game-id - 1 -> "URA Finale" - 2 -> "Unity Cup" - x -> "scenario " ++ x.show - -// Get the full title for a scenario, e.g. "The Beginning: URA Finale". -// If no scenario matches the ID, the result contains the numeric ID. -pub fun title(s: scenario-id): string - match s.game-id - 1 -> "The Beginning: URA Finale" - 2 -> "Unity Cup: Shine On, Team Spirit!" - x -> "scenario " ++ x.show diff --git a/horse/global/skill.go b/horse/global/skill.go deleted file mode 100644 index ccb648b..0000000 --- a/horse/global/skill.go +++ /dev/null @@ -1,13794 +0,0 @@ -package global - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - SkillWarningShot SkillID = 10071 // Warning Shot! - SkillXceleration SkillID = 10081 // Xceleration - SkillRedAce SkillID = 10091 // Red Ace - SkillFocusedMind SkillID = 10111 // Focused Mind - SkillCorazónArdiente SkillID = 10141 // Corazón ☆ Ardiente - SkillEmpresssPride SkillID = 10181 // Empress's Pride - SkillFirstPlaceKiss SkillID = 10241 // 1st Place Kiss☆ - SkillFeeltheBurn SkillID = 10271 // Feel the Burn! - SkillIntroductiontoPhysiology SkillID = 10321 // Introduction to Physiology - SkillVIsforVictory SkillID = 10351 // V Is for Victory! - SkillClassRepSpeedBakushin SkillID = 10411 // Class Rep + Speed = Bakushin - SkillClearHeart SkillID = 10451 // Clear Heart - SkillSuperDuperStoked SkillID = 10521 // Super-Duper Stoked - SkillLuckBewithMe SkillID = 10561 // Luck Be with Me! - SkillICanWinSometimesRight SkillID = 10601 // I Can Win Sometimes, Right? - SkillCallMeKing SkillID = 10611 // Call Me King - SkillShootingStar SkillID = 100011 // Shooting Star - SkillTheViewfromtheLeadIsMine SkillID = 100021 // The View from the Lead Is Mine! - SkillSkyHighTeioStep SkillID = 100031 // Sky-High Teio Step - SkillRedShiftLP1211M SkillID = 100041 // Red Shift/LP1211-M - SkillLightsofVaudeville SkillID = 100051 // Lights of Vaudeville - SkillTriumphantPulse SkillID = 100061 // Triumphant Pulse - SkillAnchorsAweigh SkillID = 100071 // Anchors Aweigh! - SkillCutandDrive SkillID = 100081 // Cut and Drive! - SkillResplendentRedAce SkillID = 100091 // Resplendent Red Ace - SkillShootingforVictory SkillID = 100101 // Shooting for Victory! - SkillWhereTheresaWillTheresaWay SkillID = 100111 // Where There's a Will, There's a Way - SkillYouandMeOneonOne SkillID = 100121 // You and Me! One-on-One! - SkillTheDutyofDignityCalls SkillID = 100131 // The Duty of Dignity Calls - SkillVictoriaporplancha SkillID = 100141 // Victoria por plancha ☆ - SkillThisDanceIsforVittoria SkillID = 100151 // This Dance Is for Vittoria! - SkillShadowBreak SkillID = 100161 // Shadow Break - SkillBeholdThineEmperorsDivineMight SkillID = 100171 // Behold Thine Emperor's Divine Might - SkillBlazingPride SkillID = 100181 // Blazing Pride - SkillOMGTheFinalSprint SkillID = 100191 // OMG! (゚∀゚) The Final Sprint! ☆ - SkillAnglingandScheming SkillID = 100201 // Angling and Scheming - SkillWhiteLightningCominThrough SkillID = 100211 // White Lightning Comin' Through! - SkillFairyTale SkillID = 100221 // Fairy Tale - SkillWinQED SkillID = 100231 // ∴win Q.E.D. - SkillFlashyLanding SkillID = 100241 // Flashy☆Landing - SkillChasingAfterYou SkillID = 100251 // Chasing After You - SkillG00FirstFInfinity SkillID = 100261 // G00 1st. F∞; - SkillLetsPumpSomeIron SkillID = 100271 // Let's Pump Some Iron! - SkillYUMMYSPEED SkillID = 100281 // YUMMY☆SPEED! - SkillBlueRoseCloser SkillID = 100301 // Blue Rose Closer - SkillUma2 SkillID = 100321 // U=ma2 - SkillShootingStarofDioskouroi SkillID = 100331 // Shooting Star of Dioskouroi - SkillOurTickettoWin SkillID = 100351 // Our Ticket to Win! - SkillSchwarzesSchwert SkillID = 100371 // Schwarzes Schwert - SkillLookatCurren SkillID = 100381 // #LookatCurren - SkillAPrincessMustSeizeVictory SkillID = 100391 // A Princess Must Seize Victory! - SkillKEEPITREAL SkillID = 100401 // KEEP IT REAL. - SkillGeniusxBakushinVictory SkillID = 100411 // Genius x Bakushin = Victory - SkillPureHeart SkillID = 100451 // Pure Heart - SkillSPARKLYSTARDOM SkillID = 100461 // SPARKLY☆STARDOM - SkillPopAndPolish SkillID = 100481 // Pop & Polish - SkillNemesis SkillID = 100501 // Nemesis - SkillSuperDuperClimax SkillID = 100521 // Super-Duper Climax - SkillISeeVictoryinMyFuture SkillID = 100561 // I See Victory in My Future! - SkillINeverGoofUp SkillID = 100581 // I Never Goof Up! - SkillMovingPastandBeyond SkillID = 100591 // Moving Past, and Beyond - SkillJustaLittleFarther SkillID = 100601 // Just a Little Farther! - SkillPridefulKing SkillID = 100611 // Prideful King - SkillAmbitiontoSurpasstheSakura SkillID = 100691 // Ambition to Surpass the Sakura - SkillALifelongDreamAMomentsFlight SkillID = 100711 // A Lifelong Dream, A Moment's Flight - SkillDazzlnDiver SkillID = 110011 // Dazzl'n ♪ Diver - SkillCertainVictory SkillID = 110031 // Certain Victory - SkillAKissforCourage SkillID = 110041 // A Kiss for Courage - SkillFestiveMiracle SkillID = 110061 // Festive Miracle - SkillSuperiorHeal SkillID = 110111 // Superior Heal - SkillLegacyoftheStrong SkillID = 110131 // Legacy of the Strong - SkillCondorsFury SkillID = 110141 // Condor's Fury - SkillBarcaroleofBlessings SkillID = 110151 // Barcarole of Blessings - SkillArrowsWhistleShadowsDisperse SkillID = 110171 // Arrows Whistle, Shadows Disperse - SkillEternalMoments SkillID = 110181 // Eternal Moments - SkillPresentsfromX SkillID = 110231 // Presents from X - SkillFloweryManeuver SkillID = 110241 // Flowery☆Maneuver - SkillOperationCacao SkillID = 110261 // Operation Cacao - SkillEveryRoseHasItsFangs SkillID = 110301 // Every Rose Has Its Fangs - SkillGutenAppetit SkillID = 110371 // Guten Appetit ♪ - SkillDancingintheLeaves SkillID = 110401 // Dancing in the Leaves - SkillGiveMummyaHug SkillID = 110451 // Give Mummy a Hug ♡ - Skill114thTimestheCharm SkillID = 110521 // 114th Time's the Charm - SkillBountifulHarvest SkillID = 110561 // Bountiful Harvest - SkillRightHandedLv2 SkillID = 200011 // Right-Handed ◎ - SkillRightHanded SkillID = 200012 // Right-Handed ○ - SkillRightHandedX SkillID = 200013 // Right-Handed × - SkillLeftHandedLv2 SkillID = 200021 // Left-Handed ◎ - SkillLeftHanded SkillID = 200022 // Left-Handed ○ - SkillLeftHandedX SkillID = 200023 // Left-Handed × - SkillTokyoRacecourseLv2 SkillID = 200031 // Tokyo Racecourse ◎ - SkillTokyoRacecourse SkillID = 200032 // Tokyo Racecourse ○ - SkillTokyoRacecourseX SkillID = 200033 // Tokyo Racecourse × - SkillNakayamaRacecourseLv2 SkillID = 200041 // Nakayama Racecourse ◎ - SkillNakayamaRacecourse SkillID = 200042 // Nakayama Racecourse ○ - SkillNakayamaRacecourseX SkillID = 200043 // Nakayama Racecourse × - SkillHanshinRacecourseLv2 SkillID = 200051 // Hanshin Racecourse ◎ - SkillHanshinRacecourse SkillID = 200052 // Hanshin Racecourse ○ - SkillHanshinRacecourseX SkillID = 200053 // Hanshin Racecourse × - SkillKyotoRacecourseLv2 SkillID = 200061 // Kyoto Racecourse ◎ - SkillKyotoRacecourse SkillID = 200062 // Kyoto Racecourse ○ - SkillKyotoRacecourseX SkillID = 200063 // Kyoto Racecourse × - SkillYodoInvicta SkillID = 200064 // Yodo Invicta - SkillChukyoRacecourseLv2 SkillID = 200071 // Chukyo Racecourse ◎ - SkillChukyoRacecourse SkillID = 200072 // Chukyo Racecourse ○ - SkillChukyoRacecourseX SkillID = 200073 // Chukyo Racecourse × - SkillSapporoRacecourseLv2 SkillID = 200081 // Sapporo Racecourse ◎ - SkillSapporoRacecourse SkillID = 200082 // Sapporo Racecourse ○ - SkillSapporoRacecourseX SkillID = 200083 // Sapporo Racecourse × - SkillHakodateRacecourseLv2 SkillID = 200091 // Hakodate Racecourse ◎ - SkillHakodateRacecourse SkillID = 200092 // Hakodate Racecourse ○ - SkillHakodateRacecourseX SkillID = 200093 // Hakodate Racecourse × - SkillFukushimaRacecourseLv2 SkillID = 200101 // Fukushima Racecourse ◎ - SkillFukushimaRacecourse SkillID = 200102 // Fukushima Racecourse ○ - SkillFukushimaRacecourseX SkillID = 200103 // Fukushima Racecourse × - SkillNiigataRacecourseLv2 SkillID = 200111 // Niigata Racecourse ◎ - SkillNiigataRacecourse SkillID = 200112 // Niigata Racecourse ○ - SkillNiigataRacecourseX SkillID = 200113 // Niigata Racecourse × - SkillKokuraRacecourseLv2 SkillID = 200121 // Kokura Racecourse ◎ - SkillKokuraRacecourse SkillID = 200122 // Kokura Racecourse ○ - SkillKokuraRacecourseX SkillID = 200123 // Kokura Racecourse × - SkillStandardDistanceLv2 SkillID = 200131 // Standard Distance ◎ - SkillStandardDistance SkillID = 200132 // Standard Distance ○ - SkillStandardDistanceX SkillID = 200133 // Standard Distance × - SkillNonStandardDistanceLv2 SkillID = 200141 // Non-Standard Distance ◎ - SkillNonStandardDistance SkillID = 200142 // Non-Standard Distance ○ - SkillNonStandardDistanceX SkillID = 200143 // Non-Standard Distance × - SkillFirmConditionsLv2 SkillID = 200151 // Firm Conditions ◎ - SkillFirmConditions SkillID = 200152 // Firm Conditions ○ - SkillFirmConditionsX SkillID = 200153 // Firm Conditions × - SkillWetConditionsLv2 SkillID = 200161 // Wet Conditions ◎ - SkillWetConditions SkillID = 200162 // Wet Conditions ○ - SkillWetConditionsX SkillID = 200163 // Wet Conditions × - SkillSpringRunnerLv2 SkillID = 200171 // Spring Runner ◎ - SkillSpringRunner SkillID = 200172 // Spring Runner ○ - SkillSpringRunnerX SkillID = 200173 // Spring Runner × - SkillSpringSpectacle SkillID = 200174 // Spring Spectacle - SkillSummerRunnerLv2 SkillID = 200181 // Summer Runner ◎ - SkillSummerRunner SkillID = 200182 // Summer Runner ○ - SkillSummerRunnerX SkillID = 200183 // Summer Runner × - SkillFallRunnerLv2 SkillID = 200191 // Fall Runner ◎ - SkillFallRunner SkillID = 200192 // Fall Runner ○ - SkillFallRunnerX SkillID = 200193 // Fall Runner × - SkillFallFrenzy SkillID = 200194 // Fall Frenzy - SkillWinterRunnerLv2 SkillID = 200201 // Winter Runner ◎ - SkillWinterRunner SkillID = 200202 // Winter Runner ○ - SkillWinterRunnerX SkillID = 200203 // Winter Runner × - SkillSunnyDaysLv2 SkillID = 200211 // Sunny Days ◎ - SkillSunnyDays SkillID = 200212 // Sunny Days ○ - SkillCloudyDaysLv2 SkillID = 200221 // Cloudy Days ◎ - SkillCloudyDays SkillID = 200222 // Cloudy Days ○ - SkillRainyDaysLv2 SkillID = 200231 // Rainy Days ◎ - SkillRainyDays SkillID = 200232 // Rainy Days ○ - SkillRainyDaysX SkillID = 200233 // Rainy Days × - SkillSnowyDaysLv2 SkillID = 200241 // Snowy Days ◎ - SkillSnowyDays SkillID = 200242 // Snowy Days ○ - SkillInnerPostProficiencyLv2 SkillID = 200251 // Inner Post Proficiency ◎ - SkillInnerPostProficiency SkillID = 200252 // Inner Post Proficiency ○ - SkillInnerPostAverseness SkillID = 200253 // Inner Post Averseness - SkillOuterPostProficiencyLv2 SkillID = 200261 // Outer Post Proficiency ◎ - SkillOuterPostProficiency SkillID = 200262 // Outer Post Proficiency ○ - SkillOuterPostAverseness SkillID = 200263 // Outer Post Averseness - SkillMaverickLv2 SkillID = 200271 // Maverick ◎ - SkillMaverick SkillID = 200272 // Maverick ○ - SkillCompetitiveSpiritLv2 SkillID = 200281 // Competitive Spirit ◎ - SkillCompetitiveSpirit SkillID = 200282 // Competitive Spirit ○ - SkillWallflower SkillID = 200283 // Wallflower - SkillTargetinSightLv2 SkillID = 200291 // Target in Sight ◎ - SkillTargetinSight SkillID = 200292 // Target in Sight ○ - SkillLongShotLv2 SkillID = 200301 // Long Shot ◎ - SkillLongShot SkillID = 200302 // Long Shot ○ - SkillG1Averseness SkillID = 200311 // G1 Averseness - SkillPaddockFright SkillID = 200321 // Paddock Fright - SkillProfessorofCurvature SkillID = 200331 // Professor of Curvature - SkillCornerAdept SkillID = 200332 // Corner Adept ○ - SkillCornerAdeptX SkillID = 200333 // Corner Adept × - SkillCornerConnoisseur SkillID = 200341 // Corner Connoisseur - SkillCornerAcceleration SkillID = 200342 // Corner Acceleration ○ - SkillCornerAccelerationX SkillID = 200343 // Corner Acceleration × - SkillSwingingMaestro SkillID = 200351 // Swinging Maestro - SkillCornerRecovery SkillID = 200352 // Corner Recovery ○ - SkillCornerRecoveryX SkillID = 200353 // Corner Recovery × - SkillBeelineBurst SkillID = 200361 // Beeline Burst - SkillStraightawayAdept SkillID = 200362 // Straightaway Adept - SkillRushingGale SkillID = 200371 // Rushing Gale! - SkillStraightawayAcceleration SkillID = 200372 // Straightaway Acceleration - SkillBreathofFreshAir SkillID = 200381 // Breath of Fresh Air - SkillStraightawayRecovery SkillID = 200382 // Straightaway Recovery - SkillRampRevulsion SkillID = 200391 // Ramp Revulsion - SkillPackphobia SkillID = 200401 // Packphobia - SkillDefeatist SkillID = 200411 // Defeatist - SkillReckless SkillID = 200421 // Reckless - SkillConcentration SkillID = 200431 // Concentration - SkillFocus SkillID = 200432 // Focus - SkillGatekept SkillID = 200433 // Gatekept - SkillIronWill SkillID = 200441 // Iron Will - SkillLayLow SkillID = 200442 // Lay Low - SkillCenterStage SkillID = 200451 // Center Stage - SkillPrudentPositioning SkillID = 200452 // Prudent Positioning - SkillItsOn SkillID = 200461 // It's On! - SkillRampUp SkillID = 200462 // Ramp Up - SkillIndomitable SkillID = 200471 // Indomitable - SkillPaceStrategy SkillID = 200472 // Pace Strategy - SkillUnruffled SkillID = 200481 // Unruffled - SkillCalminaCrowd SkillID = 200482 // Calm in a Crowd - SkillNoStoppingMe SkillID = 200491 // No Stopping Me! - SkillNimbleNavigator SkillID = 200492 // Nimble Navigator - SkillLaneLegerdemain SkillID = 200501 // Lane Legerdemain - SkillGowiththeFlow SkillID = 200502 // Go with the Flow - SkillInBodyandMind SkillID = 200511 // In Body and Mind - SkillHomestretchHaste SkillID = 200512 // Homestretch Haste - SkillRunningIdle SkillID = 200521 // Running Idle - SkillTakingtheLead SkillID = 200531 // Taking the Lead - SkillEarlyLead SkillID = 200532 // Early Lead - SkillEscapeArtist SkillID = 200541 // Escape Artist - SkillFastPaced SkillID = 200542 // Fast-Paced - SkillUnrestrained SkillID = 200551 // Unrestrained - SkillFinalPush SkillID = 200552 // Final Push - SkillCalmandCollected SkillID = 200561 // Calm and Collected - SkillStaminatoSpare SkillID = 200562 // Stamina to Spare - SkillRacePlanner SkillID = 200571 // Race Planner - SkillPreferredPosition SkillID = 200572 // Preferred Position - SkillSpeedStar SkillID = 200581 // Speed Star - SkillPreparedtoPass SkillID = 200582 // Prepared to Pass - SkillFastAndFurious SkillID = 200591 // Fast & Furious - SkillPositionPilfer SkillID = 200592 // Position Pilfer - SkillOnYourLeft SkillID = 200601 // On Your Left! - SkillSlickSurge SkillID = 200602 // Slick Surge - SkillRisingDragon SkillID = 200611 // Rising Dragon - SkillOuterSwell SkillID = 200612 // Outer Swell - SkillSleepingLion SkillID = 200621 // Sleeping Lion - SkillStandingBy SkillID = 200622 // Standing By - SkillSturmundDrang SkillID = 200631 // Sturm und Drang - SkillMasterfulGambit SkillID = 200632 // Masterful Gambit - SkillEncroachingShadow SkillID = 200641 // Encroaching Shadow - SkillStraightawaySpurt SkillID = 200642 // Straightaway Spurt - SkillTurboSprint SkillID = 200651 // Turbo Sprint - SkillSprintingGear SkillID = 200652 // Sprinting Gear - SkillWaitandSee SkillID = 200662 // Wait-and-See - SkillBlindingFlash SkillID = 200671 // Blinding Flash - SkillGapCloser SkillID = 200672 // Gap Closer - SkillMileMaven SkillID = 200681 // Mile Maven - SkillProductivePlan SkillID = 200682 // Productive Plan - SkillKeenEye SkillID = 200691 // Keen Eye - SkillWatchfulEye SkillID = 200692 // Watchful Eye - SkillFuriousFeat SkillID = 200701 // Furious Feat - SkillUpdrafters SkillID = 200702 // Updrafters - SkillTrackblazer SkillID = 200711 // Trackblazer - SkillRosyOutlook SkillID = 200712 // Rosy Outlook - SkillKillerTunes SkillID = 200721 // Killer Tunes - SkillUpTempo SkillID = 200722 // Up-Tempo - SkillUnyielding SkillID = 200731 // Unyielding - SkillSteadfast SkillID = 200732 // Steadfast - SkillCooldown SkillID = 200741 // Cooldown - SkillDeepBreaths SkillID = 200742 // Deep Breaths - SkillInnateExperience SkillID = 200751 // Innate Experience - SkillInsideScoop SkillID = 200752 // Inside Scoop - SkillAdrenalineRush SkillID = 200761 // Adrenaline Rush - SkillExtraTank SkillID = 200762 // Extra Tank - SkillTrickFront SkillID = 200771 // Trick (Front) - SkillTantalizingTrick SkillID = 200772 // Tantalizing Trick - SkillTrickRear SkillID = 200781 // Trick (Rear) - SkillFrenziedFrontRunners SkillID = 200791 // Frenzied Front Runners - SkillFrenziedPaceChasers SkillID = 200801 // Frenzied Pace Chasers - SkillFrenziedLateSurgers SkillID = 200811 // Frenzied Late Surgers - SkillFrenziedEndClosers SkillID = 200821 // Frenzied End Closers - SkillSubduedFrontRunners SkillID = 200831 // Subdued Front Runners - SkillFlusteredFrontRunners SkillID = 200841 // Flustered Front Runners - SkillHesitantFrontRunners SkillID = 200851 // Hesitant Front Runners - SkillSubduedPaceChasers SkillID = 200861 // Subdued Pace Chasers - SkillFlusteredPaceChasers SkillID = 200871 // Flustered Pace Chasers - SkillHesitantPaceChasers SkillID = 200881 // Hesitant Pace Chasers - SkillSubduedLateSurgers SkillID = 200891 // Subdued Late Surgers - SkillFlusteredLateSurgers SkillID = 200901 // Flustered Late Surgers - SkillHesitantLateSurgers SkillID = 200911 // Hesitant Late Surgers - SkillSubduedEndClosers SkillID = 200921 // Subdued End Closers - SkillFlusteredEndClosers SkillID = 200931 // Flustered End Closers - SkillHesitantEndClosers SkillID = 200941 // Hesitant End Closers - SkillOiRacecourseLv2 SkillID = 200951 // Oi Racecourse ◎ - SkillOiRacecourse SkillID = 200952 // Oi Racecourse ○ - SkillOiRacecourseX SkillID = 200953 // Oi Racecourse × - SkillSprintStraightawaysLv2 SkillID = 200961 // Sprint Straightaways ◎ - SkillSprintStraightaways SkillID = 200962 // Sprint Straightaways ○ - SkillSprintCornersLv2 SkillID = 200971 // Sprint Corners ◎ - SkillSprintCorners SkillID = 200972 // Sprint Corners ○ - SkillStaggeringLead SkillID = 200981 // Staggering Lead - SkillHugeLead SkillID = 200982 // Huge Lead - SkillPlanX SkillID = 200991 // Plan X - SkillCountermeasure SkillID = 200992 // Countermeasure - SkillPerfectPrep SkillID = 201001 // Perfect Prep! - SkillMeticulousMeasures SkillID = 201002 // Meticulous Measures - SkillAdoredbyAll SkillID = 201011 // Adored by All - SkillIntimidate SkillID = 201012 // Intimidate - SkillYouveGotNoShot SkillID = 201021 // You've Got No Shot - SkillStopRightThere SkillID = 201022 // Stop Right There! - SkillMileStraightawaysLv2 SkillID = 201031 // Mile Straightaways ◎ - SkillMileStraightaways SkillID = 201032 // Mile Straightaways ○ - SkillMileCornersLv2 SkillID = 201041 // Mile Corners ◎ - SkillMileCorners SkillID = 201042 // Mile Corners ○ - SkillChangingGears SkillID = 201051 // Changing Gears - SkillShiftingGears SkillID = 201052 // Shifting Gears - SkillStepontheGas SkillID = 201061 // Step on the Gas! - SkillAcceleration SkillID = 201062 // Acceleration - SkillBigSisterly SkillID = 201071 // Big-Sisterly - SkillUnyieldingSpirit SkillID = 201072 // Unyielding Spirit - SkillGreedforSpeed SkillID = 201081 // Greed for Speed - SkillSpeedEater SkillID = 201082 // Speed Eater - SkillBattleFormation SkillID = 201091 // Battle Formation - SkillOpeningGambit SkillID = 201092 // Opening Gambit - SkillMediumStraightawaysLv2 SkillID = 201101 // Medium Straightaways ◎ - SkillMediumStraightaways SkillID = 201102 // Medium Straightaways ○ - SkillFlashForward SkillID = 201103 // Flash Forward - SkillMediumCornersLv2 SkillID = 201111 // Medium Corners ◎ - SkillMediumCorners SkillID = 201112 // Medium Corners ○ - SkillClairvoyance SkillID = 201121 // Clairvoyance - SkillHawkeye SkillID = 201122 // Hawkeye - SkillLightningStep SkillID = 201131 // Lightning Step - SkillThunderboltStep SkillID = 201132 // Thunderbolt Step - SkillMiraculousStep SkillID = 201141 // Miraculous Step - SkillSoftStep SkillID = 201142 // Soft Step - SkillDominator SkillID = 201151 // Dominator - SkillTether SkillID = 201152 // Tether - SkillMystifyingMurmur SkillID = 201161 // Mystifying Murmur - SkillMurmur SkillID = 201162 // Murmur - SkillLongStraightawaysLv2 SkillID = 201171 // Long Straightaways ◎ - SkillLongStraightaways SkillID = 201172 // Long Straightaways ○ - SkillLongCornersLv2 SkillID = 201181 // Long Corners ◎ - SkillLongCorners SkillID = 201182 // Long Corners ○ - SkillVanguardSpirit SkillID = 201191 // Vanguard Spirit - SkillKeepingtheLead SkillID = 201192 // Keeping the Lead - SkillVIPPass SkillID = 201201 // VIP Pass - SkillPassingPro SkillID = 201202 // Passing Pro - SkillOverwhelmingPressure SkillID = 201211 // Overwhelming Pressure - SkillPressure SkillID = 201212 // Pressure - SkillStaminaSiphon SkillID = 201221 // Stamina Siphon - SkillStaminaEater SkillID = 201222 // Stamina Eater - SkillIllusionist SkillID = 201231 // Illusionist - SkillSmokeScreen SkillID = 201232 // Smoke Screen - SkillFrontRunnerStraightawaysLv2 SkillID = 201241 // Front Runner Straightaways ◎ - SkillFrontRunnerStraightaways SkillID = 201242 // Front Runner Straightaways ○ - SkillFrontRunnerCornersLv2 SkillID = 201251 // Front Runner Corners ◎ - SkillFrontRunnerCorners SkillID = 201252 // Front Runner Corners ○ - SkillSixthSense SkillID = 201261 // Sixth Sense - SkillDodgingDanger SkillID = 201262 // Dodging Danger - SkillLeadersPride SkillID = 201272 // Leader's Pride - SkillRestless SkillID = 201281 // Restless - SkillMoxie SkillID = 201282 // Moxie - SkillReignition SkillID = 201291 // Reignition - SkillSecondWind SkillID = 201292 // Second Wind - SkillRestart SkillID = 201302 // Restart - SkillPaceChaserStraightawaysLv2 SkillID = 201311 // Pace Chaser Straightaways ◎ - SkillPaceChaserStraightaways SkillID = 201312 // Pace Chaser Straightaways ○ - SkillPaceChaserCornersLv2 SkillID = 201321 // Pace Chaser Corners ◎ - SkillPaceChaserCorners SkillID = 201322 // Pace Chaser Corners ○ - SkillTechnician SkillID = 201331 // Technician - SkillShrewdStep SkillID = 201332 // Shrewd Step - SkillDeterminedDescent SkillID = 201341 // Determined Descent - SkillStraightDescent SkillID = 201342 // Straight Descent - SkillGourmand SkillID = 201351 // Gourmand - SkillHydrate SkillID = 201352 // Hydrate - SkillShatterproof SkillID = 201361 // Shatterproof - SkillTacticalTweak SkillID = 201362 // Tactical Tweak - SkillDazzlingDisorientation SkillID = 201371 // Dazzling Disorientation - SkillDisorient SkillID = 201372 // Disorient - SkillLateSurgerStraightawaysLv2 SkillID = 201381 // Late Surger Straightaways ◎ - SkillLateSurgerStraightaways SkillID = 201382 // Late Surger Straightaways ○ - SkillLateSurgerCornersLv2 SkillID = 201391 // Late Surger Corners ◎ - SkillLateSurgerCorners SkillID = 201392 // Late Surger Corners ○ - SkillHardWorker SkillID = 201401 // Hard Worker - SkillFighter SkillID = 201402 // Fighter - SkillFifteenMillionCC SkillID = 201411 // 15,000,000 CC - SkillOneMillionCC SkillID = 201412 // 1,500,000 CC - SkillRelax SkillID = 201421 // Relax - SkillASmallBreather SkillID = 201422 // A Small Breather - SkillTheBiggerPicture SkillID = 201431 // The Bigger Picture - SkillStudious SkillID = 201432 // Studious - SkillAllSeeingEyes SkillID = 201441 // All-Seeing Eyes - SkillSharpGaze SkillID = 201442 // Sharp Gaze - SkillEndCloserStraightawaysLv2 SkillID = 201451 // End Closer Straightaways ◎ - SkillEndCloserStraightaways SkillID = 201452 // End Closer Straightaways ○ - SkillEndCloserCornersLv2 SkillID = 201461 // End Closer Corners ◎ - SkillEndCloserCorners SkillID = 201462 // End Closer Corners ○ - SkillTheCoastIsClear SkillID = 201471 // The Coast Is Clear! - SkillICanSeeRightThroughYou SkillID = 201472 // I Can See Right Through You - SkillGoHomeSpecialist SkillID = 201481 // Go-Home Specialist - SkillAfterSchoolStroll SkillID = 201482 // After-School Stroll - SkillSerenity SkillID = 201491 // Serenity - SkillLevelheaded SkillID = 201492 // Levelheaded - SkillCrusader SkillID = 201501 // Crusader - SkillStrategist SkillID = 201502 // Strategist - SkillPetrifyingGaze SkillID = 201511 // Petrifying Gaze - SkillIntenseGaze SkillID = 201512 // Intense Gaze - SkillFrontRunnerSavvyLv2 SkillID = 201521 // Front Runner Savvy ◎ - SkillFrontRunnerSavvy SkillID = 201522 // Front Runner Savvy ○ - SkillPaceChaserSavvyLv2 SkillID = 201531 // Pace Chaser Savvy ◎ - SkillPaceChaserSavvy SkillID = 201532 // Pace Chaser Savvy ○ - SkillLateSurgerSavvyLv2 SkillID = 201541 // Late Surger Savvy ◎ - SkillLateSurgerSavvy SkillID = 201542 // Late Surger Savvy ○ - SkillEndCloserSavvyLv2 SkillID = 201551 // End Closer Savvy ◎ - SkillEndCloserSavvy SkillID = 201552 // End Closer Savvy ○ - SkillSuperLuckySeven SkillID = 201561 // Super Lucky Seven - SkillLuckySeven SkillID = 201562 // Lucky Seven - SkillTripleSevens SkillID = 201571 // Triple 7s - SkillHighlander SkillID = 201581 // Highlander - SkillUmaStan SkillID = 201591 // Uma Stan - SkillSuperstan SkillID = 201592 // Superstan - SkillGroundwork SkillID = 201601 // Groundwork - SkillTailHeldHigh SkillID = 201611 // Tail Held High - SkillTailNine SkillID = 201612 // Tail Nine - SkillShakeItOut SkillID = 201621 // Shake It Out - SkillSympathy SkillID = 201631 // Sympathy - SkillLoneWolf SkillID = 201641 // Lone Wolf - SkillSlipstream SkillID = 201651 // Slipstream - SkillPlaytimesOver SkillID = 201661 // Playtime's Over! - SkillTrendingintheCharts SkillID = 201671 // Trending in the Charts! - SkillTopPick SkillID = 201672 // Top Pick - SkillLeadtheCharge SkillID = 201681 // Lead the Charge! - SkillForwardMarch SkillID = 201682 // Forward, March! - SkillLieinWait SkillID = 201691 // Lie in Wait - SkillBeStill SkillID = 201692 // Be Still - SkillComeWhatMay SkillID = 201701 // Come What May - SkillAllIveGot SkillID = 201702 // All I've Got - SkillNailArt SkillID = 201801 // ♡ 3D Nail Art - SkillHeadOn SkillID = 201902 // Head-On - SkillFamiliarGround SkillID = 202002 // Familiar Ground - SkillHeadliner SkillID = 202011 // Headliner - SkillFeatureAct SkillID = 202012 // Feature Act - SkillDaringStrike SkillID = 202021 // Daring Strike - SkillEarlyStart SkillID = 202022 // Early Start - SkillNothingVentured SkillID = 202031 // Nothing Ventured - SkillRiskyBusiness SkillID = 202032 // Risky Business - SkillInHighSpirits SkillID = 202041 // In High Spirits - SkillLightasaFeather SkillID = 202042 // Light as a Feather - SkillRunaway SkillID = 202051 // Runaway - SkillBurningSpiritSPD SkillID = 210011 // Burning Spirit SPD - SkillIgnitedSpiritSPD SkillID = 210012 // Ignited Spirit SPD - SkillBurningSpiritSTA SkillID = 210021 // Burning Spirit STA - SkillIgnitedSpiritSTA SkillID = 210022 // Ignited Spirit STA - SkillBurningSpiritPWR SkillID = 210031 // Burning Spirit PWR - SkillIgnitedSpiritPWR SkillID = 210032 // Ignited Spirit PWR - SkillBurningSpiritGUTS SkillID = 210041 // Burning Spirit GUTS - SkillIgnitedSpiritGUTS SkillID = 210042 // Ignited Spirit GUTS - SkillBurningSpiritWIT SkillID = 210051 // Burning Spirit WIT - SkillIgnitedSpiritWIT SkillID = 210052 // Ignited Spirit WIT - SkillUnquenchedThirst SkillID = 300011 // Unquenched Thirst - SkillUnchanging SkillID = 300021 // Unchanging - SkillTowardstheSceneryISeek SkillID = 300031 // Towards the Scenery I Seek - SkillCreepingAnxiety SkillID = 300041 // Creeping Anxiety - SkillBlatantFear SkillID = 300051 // Blatant Fear - SkillDreamRun SkillID = 300061 // Dream Run - SkillShowMeWhatLiesBeyond SkillID = 300071 // Show Me What Lies Beyond! - SkillHoiyaHaveaGoodRun SkillID = 300081 // Hoiya! Have a Good Run! - SkillAsaFriendandRival SkillID = 300091 // As a Friend and Rival - SkillCheersofaFellowDreamer SkillID = 300101 // Cheers of a Fellow Dreamer - SkillShootingStarInherit SkillID = 900011 // Shooting Star - SkillTheViewfromtheLeadIsMineInherit SkillID = 900021 // The View from the Lead Is Mine! - SkillSkyHighTeioStepInherit SkillID = 900031 // Sky-High Teio Step - SkillRedShiftLP1211MInherit SkillID = 900041 // Red Shift/LP1211-M - SkillLightsofVaudevilleInherit SkillID = 900051 // Lights of Vaudeville - SkillTriumphantPulseInherit SkillID = 900061 // Triumphant Pulse - SkillAnchorsAweighInherit SkillID = 900071 // Anchors Aweigh! - SkillCutandDriveInherit SkillID = 900081 // Cut and Drive! - SkillResplendentRedAceInherit SkillID = 900091 // Resplendent Red Ace - SkillShootingforVictoryInherit SkillID = 900101 // Shooting for Victory! - SkillWhereTheresaWillTheresaWayInherit SkillID = 900111 // Where There's a Will, There's a Way - SkillYouandMeOneonOneInherit SkillID = 900121 // You and Me! One-on-One! - SkillTheDutyofDignityCallsInherit SkillID = 900131 // The Duty of Dignity Calls - SkillVictoriaporplanchaInherit SkillID = 900141 // Victoria por plancha ☆ - SkillThisDanceIsforVittoriaInherit SkillID = 900151 // This Dance Is for Vittoria! - SkillShadowBreakInherit SkillID = 900161 // Shadow Break - SkillBeholdThineEmperorsDivineMightInherit SkillID = 900171 // Behold Thine Emperor's Divine Might - SkillBlazingPrideInherit SkillID = 900181 // Blazing Pride - SkillOMGTheFinalSprintInherit SkillID = 900191 // OMG! (゚∀゚) The Final Sprint! ☆ - SkillAnglingandSchemingInherit SkillID = 900201 // Angling and Scheming - SkillWhiteLightningCominThroughInherit SkillID = 900211 // White Lightning Comin' Through! - SkillFairyTaleInherit SkillID = 900221 // Fairy Tale - SkillWinQEDInherit SkillID = 900231 // ∴win Q.E.D. - SkillFlashyLandingInherit SkillID = 900241 // Flashy☆Landing - SkillChasingAfterYouInherit SkillID = 900251 // Chasing After You - SkillG00FirstFInfinityInherit SkillID = 900261 // G00 1st. F∞; - SkillLetsPumpSomeIronInherit SkillID = 900271 // Let's Pump Some Iron! - SkillYUMMYSPEEDInherit SkillID = 900281 // YUMMY☆SPEED! - SkillBlueRoseCloserInherit SkillID = 900301 // Blue Rose Closer - SkillUma2Inherit SkillID = 900321 // U=ma2 - SkillShootingStarofDioskouroiInherit SkillID = 900331 // Shooting Star of Dioskouroi - SkillOurTickettoWinInherit SkillID = 900351 // Our Ticket to Win! - SkillSchwarzesSchwertInherit SkillID = 900371 // Schwarzes Schwert - SkillLookatCurrenInherit SkillID = 900381 // #LookatCurren - SkillAPrincessMustSeizeVictoryInherit SkillID = 900391 // A Princess Must Seize Victory! - SkillKEEPITREALInherit SkillID = 900401 // KEEP IT REAL. - SkillGeniusxBakushinVictoryInherit SkillID = 900411 // Genius x Bakushin = Victory - SkillPureHeartInherit SkillID = 900451 // Pure Heart - SkillSPARKLYSTARDOMInherit SkillID = 900461 // SPARKLY☆STARDOM - SkillPopAndPolishInherit SkillID = 900481 // Pop & Polish - SkillNemesisInherit SkillID = 900501 // Nemesis - SkillSuperDuperClimaxInherit SkillID = 900521 // Super-Duper Climax - SkillISeeVictoryinMyFutureInherit SkillID = 900561 // I See Victory in My Future! - SkillINeverGoofUpInherit SkillID = 900581 // I Never Goof Up! - SkillMovingPastandBeyondInherit SkillID = 900591 // Moving Past, and Beyond - SkillJustaLittleFartherInherit SkillID = 900601 // Just a Little Farther! - SkillPridefulKingInherit SkillID = 900611 // Prideful King - SkillAmbitiontoSurpasstheSakuraInherit SkillID = 900691 // Ambition to Surpass the Sakura - SkillALifelongDreamAMomentsFlightInherit SkillID = 900711 // A Lifelong Dream, A Moment's Flight - SkillDazzlnDiverInherit SkillID = 910011 // Dazzl'n ♪ Diver - SkillCertainVictoryInherit SkillID = 910031 // Certain Victory - SkillAKissforCourageInherit SkillID = 910041 // A Kiss for Courage - SkillFestiveMiracleInherit SkillID = 910061 // Festive Miracle - SkillSuperiorHealInherit SkillID = 910111 // Superior Heal - SkillLegacyoftheStrongInherit SkillID = 910131 // Legacy of the Strong - SkillCondorsFuryInherit SkillID = 910141 // Condor's Fury - SkillBarcaroleofBlessingsInherit SkillID = 910151 // Barcarole of Blessings - SkillArrowsWhistleShadowsDisperseInherit SkillID = 910171 // Arrows Whistle, Shadows Disperse - SkillEternalMomentsInherit SkillID = 910181 // Eternal Moments - SkillPresentsfromXInherit SkillID = 910231 // Presents from X - SkillFloweryManeuverInherit SkillID = 910241 // Flowery☆Maneuver - SkillOperationCacaoInherit SkillID = 910261 // Operation Cacao - SkillEveryRoseHasItsFangsInherit SkillID = 910301 // Every Rose Has Its Fangs - SkillGutenAppetitInherit SkillID = 910371 // Guten Appetit ♪ - SkillDancingintheLeavesInherit SkillID = 910401 // Dancing in the Leaves - SkillGiveMummyaHugInherit SkillID = 910451 // Give Mummy a Hug ♡ - Skill114thTimestheCharmInherit SkillID = 910521 // 114th Time's the Charm - SkillBountifulHarvestInherit SkillID = 910561 // Bountiful Harvest - SkillCarnivalBonus SkillID = 1000011 // Carnival Bonus -) - -var OrderedSkills = [...]SkillID{ - SkillWarningShot, - SkillXceleration, - SkillRedAce, - SkillFocusedMind, - SkillCorazónArdiente, - SkillEmpresssPride, - SkillFirstPlaceKiss, - SkillFeeltheBurn, - SkillIntroductiontoPhysiology, - SkillVIsforVictory, - SkillClassRepSpeedBakushin, - SkillClearHeart, - SkillSuperDuperStoked, - SkillLuckBewithMe, - SkillICanWinSometimesRight, - SkillCallMeKing, - SkillShootingStar, - SkillTheViewfromtheLeadIsMine, - SkillSkyHighTeioStep, - SkillRedShiftLP1211M, - SkillLightsofVaudeville, - SkillTriumphantPulse, - SkillAnchorsAweigh, - SkillCutandDrive, - SkillResplendentRedAce, - SkillShootingforVictory, - SkillWhereTheresaWillTheresaWay, - SkillYouandMeOneonOne, - SkillTheDutyofDignityCalls, - SkillVictoriaporplancha, - SkillThisDanceIsforVittoria, - SkillShadowBreak, - SkillBeholdThineEmperorsDivineMight, - SkillBlazingPride, - SkillOMGTheFinalSprint, - SkillAnglingandScheming, - SkillWhiteLightningCominThrough, - SkillFairyTale, - SkillWinQED, - SkillFlashyLanding, - SkillChasingAfterYou, - SkillG00FirstFInfinity, - SkillLetsPumpSomeIron, - SkillYUMMYSPEED, - SkillBlueRoseCloser, - SkillUma2, - SkillShootingStarofDioskouroi, - SkillOurTickettoWin, - SkillSchwarzesSchwert, - SkillLookatCurren, - SkillAPrincessMustSeizeVictory, - SkillKEEPITREAL, - SkillGeniusxBakushinVictory, - SkillPureHeart, - SkillSPARKLYSTARDOM, - SkillPopAndPolish, - SkillNemesis, - SkillSuperDuperClimax, - SkillISeeVictoryinMyFuture, - SkillINeverGoofUp, - SkillMovingPastandBeyond, - SkillJustaLittleFarther, - SkillPridefulKing, - SkillAmbitiontoSurpasstheSakura, - SkillALifelongDreamAMomentsFlight, - SkillDazzlnDiver, - SkillCertainVictory, - SkillAKissforCourage, - SkillFestiveMiracle, - SkillSuperiorHeal, - SkillLegacyoftheStrong, - SkillCondorsFury, - SkillBarcaroleofBlessings, - SkillArrowsWhistleShadowsDisperse, - SkillEternalMoments, - SkillPresentsfromX, - SkillFloweryManeuver, - SkillOperationCacao, - SkillEveryRoseHasItsFangs, - SkillGutenAppetit, - SkillDancingintheLeaves, - SkillGiveMummyaHug, - Skill114thTimestheCharm, - SkillBountifulHarvest, - SkillRightHandedLv2, - SkillRightHanded, - SkillRightHandedX, - SkillLeftHandedLv2, - SkillLeftHanded, - SkillLeftHandedX, - SkillTokyoRacecourseLv2, - SkillTokyoRacecourse, - SkillTokyoRacecourseX, - SkillNakayamaRacecourseLv2, - SkillNakayamaRacecourse, - SkillNakayamaRacecourseX, - SkillHanshinRacecourseLv2, - SkillHanshinRacecourse, - SkillHanshinRacecourseX, - SkillKyotoRacecourseLv2, - SkillKyotoRacecourse, - SkillKyotoRacecourseX, - SkillYodoInvicta, - SkillChukyoRacecourseLv2, - SkillChukyoRacecourse, - SkillChukyoRacecourseX, - SkillSapporoRacecourseLv2, - SkillSapporoRacecourse, - SkillSapporoRacecourseX, - SkillHakodateRacecourseLv2, - SkillHakodateRacecourse, - SkillHakodateRacecourseX, - SkillFukushimaRacecourseLv2, - SkillFukushimaRacecourse, - SkillFukushimaRacecourseX, - SkillNiigataRacecourseLv2, - SkillNiigataRacecourse, - SkillNiigataRacecourseX, - SkillKokuraRacecourseLv2, - SkillKokuraRacecourse, - SkillKokuraRacecourseX, - SkillStandardDistanceLv2, - SkillStandardDistance, - SkillStandardDistanceX, - SkillNonStandardDistanceLv2, - SkillNonStandardDistance, - SkillNonStandardDistanceX, - SkillFirmConditionsLv2, - SkillFirmConditions, - SkillFirmConditionsX, - SkillWetConditionsLv2, - SkillWetConditions, - SkillWetConditionsX, - SkillSpringRunnerLv2, - SkillSpringRunner, - SkillSpringRunnerX, - SkillSpringSpectacle, - SkillSummerRunnerLv2, - SkillSummerRunner, - SkillSummerRunnerX, - SkillFallRunnerLv2, - SkillFallRunner, - SkillFallRunnerX, - SkillFallFrenzy, - SkillWinterRunnerLv2, - SkillWinterRunner, - SkillWinterRunnerX, - SkillSunnyDaysLv2, - SkillSunnyDays, - SkillCloudyDaysLv2, - SkillCloudyDays, - SkillRainyDaysLv2, - SkillRainyDays, - SkillRainyDaysX, - SkillSnowyDaysLv2, - SkillSnowyDays, - SkillInnerPostProficiencyLv2, - SkillInnerPostProficiency, - SkillInnerPostAverseness, - SkillOuterPostProficiencyLv2, - SkillOuterPostProficiency, - SkillOuterPostAverseness, - SkillMaverickLv2, - SkillMaverick, - SkillCompetitiveSpiritLv2, - SkillCompetitiveSpirit, - SkillWallflower, - SkillTargetinSightLv2, - SkillTargetinSight, - SkillLongShotLv2, - SkillLongShot, - SkillG1Averseness, - SkillPaddockFright, - SkillProfessorofCurvature, - SkillCornerAdept, - SkillCornerAdeptX, - SkillCornerConnoisseur, - SkillCornerAcceleration, - SkillCornerAccelerationX, - SkillSwingingMaestro, - SkillCornerRecovery, - SkillCornerRecoveryX, - SkillBeelineBurst, - SkillStraightawayAdept, - SkillRushingGale, - SkillStraightawayAcceleration, - SkillBreathofFreshAir, - SkillStraightawayRecovery, - SkillRampRevulsion, - SkillPackphobia, - SkillDefeatist, - SkillReckless, - SkillConcentration, - SkillFocus, - SkillGatekept, - SkillIronWill, - SkillLayLow, - SkillCenterStage, - SkillPrudentPositioning, - SkillItsOn, - SkillRampUp, - SkillIndomitable, - SkillPaceStrategy, - SkillUnruffled, - SkillCalminaCrowd, - SkillNoStoppingMe, - SkillNimbleNavigator, - SkillLaneLegerdemain, - SkillGowiththeFlow, - SkillInBodyandMind, - SkillHomestretchHaste, - SkillRunningIdle, - SkillTakingtheLead, - SkillEarlyLead, - SkillEscapeArtist, - SkillFastPaced, - SkillUnrestrained, - SkillFinalPush, - SkillCalmandCollected, - SkillStaminatoSpare, - SkillRacePlanner, - SkillPreferredPosition, - SkillSpeedStar, - SkillPreparedtoPass, - SkillFastAndFurious, - SkillPositionPilfer, - SkillOnYourLeft, - SkillSlickSurge, - SkillRisingDragon, - SkillOuterSwell, - SkillSleepingLion, - SkillStandingBy, - SkillSturmundDrang, - SkillMasterfulGambit, - SkillEncroachingShadow, - SkillStraightawaySpurt, - SkillTurboSprint, - SkillSprintingGear, - SkillWaitandSee, - SkillBlindingFlash, - SkillGapCloser, - SkillMileMaven, - SkillProductivePlan, - SkillKeenEye, - SkillWatchfulEye, - SkillFuriousFeat, - SkillUpdrafters, - SkillTrackblazer, - SkillRosyOutlook, - SkillKillerTunes, - SkillUpTempo, - SkillUnyielding, - SkillSteadfast, - SkillCooldown, - SkillDeepBreaths, - SkillInnateExperience, - SkillInsideScoop, - SkillAdrenalineRush, - SkillExtraTank, - SkillTrickFront, - SkillTantalizingTrick, - SkillTrickRear, - SkillFrenziedFrontRunners, - SkillFrenziedPaceChasers, - SkillFrenziedLateSurgers, - SkillFrenziedEndClosers, - SkillSubduedFrontRunners, - SkillFlusteredFrontRunners, - SkillHesitantFrontRunners, - SkillSubduedPaceChasers, - SkillFlusteredPaceChasers, - SkillHesitantPaceChasers, - SkillSubduedLateSurgers, - SkillFlusteredLateSurgers, - SkillHesitantLateSurgers, - SkillSubduedEndClosers, - SkillFlusteredEndClosers, - SkillHesitantEndClosers, - SkillOiRacecourseLv2, - SkillOiRacecourse, - SkillOiRacecourseX, - SkillSprintStraightawaysLv2, - SkillSprintStraightaways, - SkillSprintCornersLv2, - SkillSprintCorners, - SkillStaggeringLead, - SkillHugeLead, - SkillPlanX, - SkillCountermeasure, - SkillPerfectPrep, - SkillMeticulousMeasures, - SkillAdoredbyAll, - SkillIntimidate, - SkillYouveGotNoShot, - SkillStopRightThere, - SkillMileStraightawaysLv2, - SkillMileStraightaways, - SkillMileCornersLv2, - SkillMileCorners, - SkillChangingGears, - SkillShiftingGears, - SkillStepontheGas, - SkillAcceleration, - SkillBigSisterly, - SkillUnyieldingSpirit, - SkillGreedforSpeed, - SkillSpeedEater, - SkillBattleFormation, - SkillOpeningGambit, - SkillMediumStraightawaysLv2, - SkillMediumStraightaways, - SkillFlashForward, - SkillMediumCornersLv2, - SkillMediumCorners, - SkillClairvoyance, - SkillHawkeye, - SkillLightningStep, - SkillThunderboltStep, - SkillMiraculousStep, - SkillSoftStep, - SkillDominator, - SkillTether, - SkillMystifyingMurmur, - SkillMurmur, - SkillLongStraightawaysLv2, - SkillLongStraightaways, - SkillLongCornersLv2, - SkillLongCorners, - SkillVanguardSpirit, - SkillKeepingtheLead, - SkillVIPPass, - SkillPassingPro, - SkillOverwhelmingPressure, - SkillPressure, - SkillStaminaSiphon, - SkillStaminaEater, - SkillIllusionist, - SkillSmokeScreen, - SkillFrontRunnerStraightawaysLv2, - SkillFrontRunnerStraightaways, - SkillFrontRunnerCornersLv2, - SkillFrontRunnerCorners, - SkillSixthSense, - SkillDodgingDanger, - SkillLeadersPride, - SkillRestless, - SkillMoxie, - SkillReignition, - SkillSecondWind, - SkillRestart, - SkillPaceChaserStraightawaysLv2, - SkillPaceChaserStraightaways, - SkillPaceChaserCornersLv2, - SkillPaceChaserCorners, - SkillTechnician, - SkillShrewdStep, - SkillDeterminedDescent, - SkillStraightDescent, - SkillGourmand, - SkillHydrate, - SkillShatterproof, - SkillTacticalTweak, - SkillDazzlingDisorientation, - SkillDisorient, - SkillLateSurgerStraightawaysLv2, - SkillLateSurgerStraightaways, - SkillLateSurgerCornersLv2, - SkillLateSurgerCorners, - SkillHardWorker, - SkillFighter, - SkillFifteenMillionCC, - SkillOneMillionCC, - SkillRelax, - SkillASmallBreather, - SkillTheBiggerPicture, - SkillStudious, - SkillAllSeeingEyes, - SkillSharpGaze, - SkillEndCloserStraightawaysLv2, - SkillEndCloserStraightaways, - SkillEndCloserCornersLv2, - SkillEndCloserCorners, - SkillTheCoastIsClear, - SkillICanSeeRightThroughYou, - SkillGoHomeSpecialist, - SkillAfterSchoolStroll, - SkillSerenity, - SkillLevelheaded, - SkillCrusader, - SkillStrategist, - SkillPetrifyingGaze, - SkillIntenseGaze, - SkillFrontRunnerSavvyLv2, - SkillFrontRunnerSavvy, - SkillPaceChaserSavvyLv2, - SkillPaceChaserSavvy, - SkillLateSurgerSavvyLv2, - SkillLateSurgerSavvy, - SkillEndCloserSavvyLv2, - SkillEndCloserSavvy, - SkillSuperLuckySeven, - SkillLuckySeven, - SkillTripleSevens, - SkillHighlander, - SkillUmaStan, - SkillSuperstan, - SkillGroundwork, - SkillTailHeldHigh, - SkillTailNine, - SkillShakeItOut, - SkillSympathy, - SkillLoneWolf, - SkillSlipstream, - SkillPlaytimesOver, - SkillTrendingintheCharts, - SkillTopPick, - SkillLeadtheCharge, - SkillForwardMarch, - SkillLieinWait, - SkillBeStill, - SkillComeWhatMay, - SkillAllIveGot, - SkillNailArt, - SkillHeadOn, - SkillFamiliarGround, - SkillHeadliner, - SkillFeatureAct, - SkillDaringStrike, - SkillEarlyStart, - SkillNothingVentured, - SkillRiskyBusiness, - SkillInHighSpirits, - SkillLightasaFeather, - SkillRunaway, - SkillBurningSpiritSPD, - SkillIgnitedSpiritSPD, - SkillBurningSpiritSTA, - SkillIgnitedSpiritSTA, - SkillBurningSpiritPWR, - SkillIgnitedSpiritPWR, - SkillBurningSpiritGUTS, - SkillIgnitedSpiritGUTS, - SkillBurningSpiritWIT, - SkillIgnitedSpiritWIT, - SkillUnquenchedThirst, - SkillUnchanging, - SkillTowardstheSceneryISeek, - SkillCreepingAnxiety, - SkillBlatantFear, - SkillDreamRun, - SkillShowMeWhatLiesBeyond, - SkillHoiyaHaveaGoodRun, - SkillAsaFriendandRival, - SkillCheersofaFellowDreamer, - SkillShootingStarInherit, - SkillTheViewfromtheLeadIsMineInherit, - SkillSkyHighTeioStepInherit, - SkillRedShiftLP1211MInherit, - SkillLightsofVaudevilleInherit, - SkillTriumphantPulseInherit, - SkillAnchorsAweighInherit, - SkillCutandDriveInherit, - SkillResplendentRedAceInherit, - SkillShootingforVictoryInherit, - SkillWhereTheresaWillTheresaWayInherit, - SkillYouandMeOneonOneInherit, - SkillTheDutyofDignityCallsInherit, - SkillVictoriaporplanchaInherit, - SkillThisDanceIsforVittoriaInherit, - SkillShadowBreakInherit, - SkillBeholdThineEmperorsDivineMightInherit, - SkillBlazingPrideInherit, - SkillOMGTheFinalSprintInherit, - SkillAnglingandSchemingInherit, - SkillWhiteLightningCominThroughInherit, - SkillFairyTaleInherit, - SkillWinQEDInherit, - SkillFlashyLandingInherit, - SkillChasingAfterYouInherit, - SkillG00FirstFInfinityInherit, - SkillLetsPumpSomeIronInherit, - SkillYUMMYSPEEDInherit, - SkillBlueRoseCloserInherit, - SkillUma2Inherit, - SkillShootingStarofDioskouroiInherit, - SkillOurTickettoWinInherit, - SkillSchwarzesSchwertInherit, - SkillLookatCurrenInherit, - SkillAPrincessMustSeizeVictoryInherit, - SkillKEEPITREALInherit, - SkillGeniusxBakushinVictoryInherit, - SkillPureHeartInherit, - SkillSPARKLYSTARDOMInherit, - SkillPopAndPolishInherit, - SkillNemesisInherit, - SkillSuperDuperClimaxInherit, - SkillISeeVictoryinMyFutureInherit, - SkillINeverGoofUpInherit, - SkillMovingPastandBeyondInherit, - SkillJustaLittleFartherInherit, - SkillPridefulKingInherit, - SkillAmbitiontoSurpasstheSakuraInherit, - SkillALifelongDreamAMomentsFlightInherit, - SkillDazzlnDiverInherit, - SkillCertainVictoryInherit, - SkillAKissforCourageInherit, - SkillFestiveMiracleInherit, - SkillSuperiorHealInherit, - SkillLegacyoftheStrongInherit, - SkillCondorsFuryInherit, - SkillBarcaroleofBlessingsInherit, - SkillArrowsWhistleShadowsDisperseInherit, - SkillEternalMomentsInherit, - SkillPresentsfromXInherit, - SkillFloweryManeuverInherit, - SkillOperationCacaoInherit, - SkillEveryRoseHasItsFangsInherit, - SkillGutenAppetitInherit, - SkillDancingintheLeavesInherit, - SkillGiveMummyaHugInherit, - Skill114thTimestheCharmInherit, - SkillBountifulHarvestInherit, - SkillCarnivalBonus, -} - -var AllSkills = map[SkillID]Skill{ - SkillWarningShot: { - ID: 10071, - Name: "Warning Shot!", - Description: "Slightly increase velocity with a long spurt starting halfway through the race.", - Group: 1007, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "distance_rate>=50&distance_rate<=60&order_rate>50", - Duration: 60000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Red Strife] Gold Ship", - IconID: 20013, - }, - SkillXceleration: { - ID: 10081, - Name: "Xceleration", - Description: "Become stronger at challenging rivals and moderately increase velocity when positioned toward the front with 200m or less remaining.", - Group: 1008, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "order>=3&order_rate<=50&remain_distance<=200&bashin_diff_infront<=1@order>=3&order_rate<=50&remain_distance<=200&bashin_diff_behind<=1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Wild Top Gear] Vodka", - IconID: 20013, - }, - SkillRedAce: { - ID: 10091, - Name: "Red Ace", - Description: "Slightly swell with the determination to be number one when positioned toward the front in the second half of the race.", - Group: 1009, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order==1&bashin_diff_behind<=1@distance_rate>=50&order==2&is_overtake==1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Peak Blue] Daiwa Scarlet", - IconID: 20013, - }, - SkillFocusedMind: { - ID: 10111, - Name: "Focused Mind", - Description: "Moderately increase velocity with a strong turn of foot when passing another runner toward the back on the final straight.", - Group: 1011, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&change_order_onetime<0&order>=3", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Stone-Piercing Blue] Grass Wonder", - IconID: 20013, - }, - SkillCorazónArdiente: { - ID: 10141, - Name: "Corazón ☆ Ardiente", - Description: "Slightly hang on to the advantage when positioned toward the front with energy to spare on the final straight.", - Group: 1014, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&hp_per>=30&order<=2", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[El☆Número 1] El Condor Pasa", - IconID: 20013, - }, - SkillEmpresssPride: { - ID: 10181, - Name: "Empress's Pride", - Description: "Moderately increase velocity with the stride of an empress when passing another runner from midpack or further back on the final corner.", - Group: 1018, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&order>=3&change_order_onetime<0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Empress Road] Air Groove", - IconID: 20013, - }, - SkillFirstPlaceKiss: { - ID: 10241, - Name: "1st Place Kiss☆", - Description: "Slightly increase ability to break out of the pack on the straight after engaging in a challenge toward the front on the final corner or later.", - Group: 1024, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&blocked_side_continuetime>=2&order<=3", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Scramble☆Zone] Mayano Top Gun", - IconID: 20013, - }, - SkillFeeltheBurn: { - ID: 10271, - Name: "Feel the Burn!", - Description: "Moderately increase acceleration in an attempt to move up on a corner late-race.", - Group: 1027, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "phase>=2&corner!=0&order_rate>=65&order_rate<=70", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Down the Line] Mejiro Ryan", - IconID: 20043, - }, - SkillIntroductiontoPhysiology: { - ID: 10321, - Name: "Introduction to Physiology", - Description: "Moderately recover endurance and slightly increase velocity for a moderate duration when sitting off the pace on a corner in the second half of the race.", - Group: 1032, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "distance_rate>=50&corner!=0&order>=3&order_rate<=40", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Tach-nology] Agnes Tachyon", - IconID: 20023, - }, - SkillVIsforVictory: { - ID: 10351, - Name: "V Is for Victory!", - Description: "Moderately increase velocity with winning ambition when positioned toward the front on the final straight after engaging in a challenge on the final corner or later.", - Group: 1035, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Precondition: "is_finalcorner==1&blocked_side_continuetime>=2", - Condition: "is_finalcorner==1&corner==0&order<=5", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Get to Winning!] Winning Ticket", - IconID: 20013, - }, - SkillClassRepSpeedBakushin: { - ID: 10411, - Name: "Class Rep + Speed = Bakushin", - Description: "Moderately increase velocity with BAKUSHIN power when engaged in a challenge toward the front in the second half of the race.", - Group: 1041, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order<=3&blocked_side_continuetime>=2", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Blossom in Learning] Sakura Bakushin O", - IconID: 20013, - }, - SkillClearHeart: { - ID: 10451, - Name: "Clear Heart", - Description: "Recover endurance when well-positioned mid-race.", - Group: 1045, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "phase_random==1&order>=2&order_rate<=40", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Murmuring Stream] Super Creek", - IconID: 20023, - }, - SkillSuperDuperStoked: { - ID: 10521, - Name: "Super-Duper Stoked", - Description: "Moderately recover endurance with a glance at nearby runners when positioned toward the back on the final corner.", - Group: 1052, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&order_rate>50&near_count>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Bestest Prize ♪] Haru Urara", - IconID: 20023, - }, - SkillLuckBewithMe: { - ID: 10561, - Name: "Luck Be with Me!", - Description: "Moderately clear a path forward with the power of divination when the way ahead is jammed late-race.", - Group: 1056, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "phase>=2&order>=3&blocked_front==1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Rising☆Fortune] Matikanefukukitaru", - IconID: 20013, - }, - SkillICanWinSometimesRight: { - ID: 10601, - Name: "I Can Win Sometimes, Right?", - Description: "Moderately increase velocity with an arousal of fighting spirit when positioned 3rd and about to lose late-race.", - Group: 1060, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "phase>=2&order==3&bashin_diff_behind<=1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Poinsettia Ribbon] Nice Nature", - IconID: 20013, - }, - SkillCallMeKing: { - ID: 10611, - Name: "Call Me King", - Description: "Increase velocity in a true display of skill with 200m remaining after racing calmly.", - Group: 1061, - Rarity: 3, - GroupRate: 1, - GradeValue: 240, - Activations: []Activation{ - { - Condition: "temptation_count==0&remain_distance<=201&remain_distance>=199&order>=4&order_rate<=70", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[King of Emeralds] King Halo", - IconID: 20013, - }, - SkillShootingStar: { - ID: 100011, - Name: "Shooting Star", - Description: "Ride the momentum to increase velocity and very slightly increase acceleration after passing another runner toward the front late-race.", - Group: 10001, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase>=2&order>=1&order_rate<=50&change_order_onetime<0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Special Dreamer] Special Week", - IconID: 20013, - }, - SkillTheViewfromtheLeadIsMine: { - ID: 100021, - Name: "The View from the Lead Is Mine!", - Description: "Increase velocity by drawing on all remaining strength when in the lead by a fair margin in the second half of the race.", - Group: 10002, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order==1&bashin_diff_behind>=1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Innocent Silence] Silence Suzuka", - IconID: 20013, - }, - SkillSkyHighTeioStep: { - ID: 100031, - Name: "Sky-High Teio Step", - Description: "Greatly increase velocity with flashy footwork when closing the gap to runners ahead on the final straight.", - Group: 10003, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&order<=3&bashin_diff_infront<=1&is_overtake==1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 4500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Peak Joy] Tokai Teio", - IconID: 20013, - }, - SkillRedShiftLP1211M: { - ID: 100041, - Name: "Red Shift/LP1211-M", - Description: "Increase acceleration by shifting gears when positioned toward the front on the final corner or later.", - Group: 10004, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&order<=5&order_rate<=50", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Formula R] Maruzensky", - IconID: 20043, - }, - SkillLightsofVaudeville: { - ID: 100051, - Name: "Lights of Vaudeville", - Description: "Greatly increase velocity with a dazzling display when just breaking out of the pack toward the front on the final straight.", - Group: 10005, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&order_rate<=30&behind_near_lane_time_set1>=1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 4500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Shooting Star Revue] Fuji Kiseki", - IconID: 20013, - }, - SkillTriumphantPulse: { - ID: 100061, - Name: "Triumphant Pulse", - Description: "Greatly increase ability to break out of the pack by opening up a path when positioned toward the front with 200m remaining.", - Group: 10006, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "order>=2&order<=5&order_rate<=50&remain_distance<=201&remain_distance>=199", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 4500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Starlight Beat] Oguri Cap", - IconID: 20013, - }, - SkillAnchorsAweigh: { - ID: 100071, - Name: "Anchors Aweigh!", - Description: "Moderately increase velocity steadily with a long spurt starting halfway through the race.", - Group: 10007, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&distance_rate<=60&order_rate>50", - Duration: 60000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Red Strife] Gold Ship", - IconID: 20013, - }, - SkillCutandDrive: { - ID: 100081, - Name: "Cut and Drive!", - Description: "Become stronger at challenging rivals and increase velocity when positioned toward the front with 200m or less remaining.", - Group: 10008, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "order>=3&order_rate<=50&remain_distance<=200&bashin_diff_infront<=1@order>=3&order_rate<=50&remain_distance<=200&bashin_diff_behind<=1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Wild Top Gear] Vodka", - IconID: 20013, - }, - SkillResplendentRedAce: { - ID: 100091, - Name: "Resplendent Red Ace", - Description: "Swell with the determination to be number one when positioned toward the front in the second half of the race.", - Group: 10009, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order==1&bashin_diff_behind<=1@distance_rate>=50&order==2&is_overtake==1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Peak Blue] Daiwa Scarlet", - IconID: 20013, - }, - SkillShootingforVictory: { - ID: 100101, - Name: "Shooting for Victory!", - Description: "Increase acceleration with a pow, a wow, and a bang when well-positioned upon approaching the final straight.", - Group: 10010, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner_laterhalf==1&corner!=0&order>=3&order_rate<=40", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Wild Frontier] Taiki Shuttle", - IconID: 20043, - }, - SkillWhereTheresaWillTheresaWay: { - ID: 100111, - Name: "Where There's a Will, There's a Way", - Description: "Increase velocity with a strong turn of foot when passing another runner toward the back on the final straight.", - Group: 10011, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&change_order_onetime<0&order>=3", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Stone-Piercing Blue] Grass Wonder", - IconID: 20013, - }, - SkillYouandMeOneonOne: { - ID: 100121, - Name: "You and Me! One-on-One!", - Description: "Increase velocity on the final straight after passing another runner on the outside toward the back on the final corner or later.", - Group: 10012, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Precondition: "is_finalcorner==1&is_behind_in==1&change_order_onetime<0&order_rate>=40", - Condition: "is_finalcorner==1&corner==0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Azure Amazon] Hishi Amazon", - IconID: 20013, - }, - SkillTheDutyofDignityCalls: { - ID: 100131, - Name: "The Duty of Dignity Calls", - Description: "Increase velocity with the determination to not be overtaken when positioned toward the front on the final corner.", - Group: 10013, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&distance_diff_rate<=30", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Frontline Elegance] Mejiro McQueen", - IconID: 20013, - }, - SkillVictoriaporplancha: { - ID: 100141, - Name: "Victoria por plancha ☆", - Description: "Hang onto the advantage when positioned toward the front with energy to spare on the final straight.", - Group: 10014, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&hp_per>=30&order<=2", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[El☆Número 1] El Condor Pasa", - IconID: 20013, - }, - SkillThisDanceIsforVittoria: { - ID: 100151, - Name: "This Dance Is for Vittoria!", - Description: "Increase velocity with royal brilliance when positioned toward the front and close to the runner ahead or behind on the final corner or later.", - Group: 10015, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&bashin_diff_behind<=1&order<=4@is_finalcorner==1&bashin_diff_infront<=1&order<=4", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[O Sole Suo!] T.M. Opera O", - IconID: 20013, - }, - SkillShadowBreak: { - ID: 100161, - Name: "Shadow Break", - Description: "Increase velocity with beastly strength when passing another runner on the outside on the final corner or later. If the skill user engaged in a challenge mid-race, greatly increase velocity instead.", - Group: 10016, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Precondition: "phase==1&blocked_side_continuetime>=2", - Condition: "is_finalcorner==1&order>=2&order_rate<=75&is_behind_in==1&change_order_onetime<0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 4500, Target: 1, TargetValue: 0}, - }, - }, - { - Condition: "is_finalcorner==1&order>=2&order_rate<=75&is_behind_in==1&change_order_onetime<0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Maverick] Narita Brian", - IconID: 20013, - }, - SkillBeholdThineEmperorsDivineMight: { - ID: 100171, - Name: "Behold Thine Emperor's Divine Might", - Description: "Greatly increase velocity on the final straight after passing another runner 3 times late-race.", - Group: 10017, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&change_order_up_end_after>=3&corner==0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 4500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Emperor's Path] Symboli Rudolf", - IconID: 20013, - }, - SkillBlazingPride: { - ID: 100181, - Name: "Blazing Pride", - Description: "Increase velocity with the stride of an empress when passing another runner from midpack or further back on the final corner.", - Group: 10018, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&order>=3&change_order_onetime<0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Empress Road] Air Groove", - IconID: 20013, - }, - SkillOMGTheFinalSprint: { - ID: 100191, - Name: "OMG! (゚∀゚) The Final Sprint! ☆", - Description: "Increase velocity and navigation with the pure euphoria of being within breathing distance of precious waifus after passing another runner 2 times late-race.", - Group: 10019, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "change_order_up_end_after>=2", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - {Type: 28, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Full-Color Fangirling] Agnes Digital", - IconID: 20013, - }, - SkillAnglingandScheming: { - ID: 100201, - Name: "Angling and Scheming", - Description: "Increase acceleration at an opportune moment when in the lead on a corner late-race.", - Group: 10020, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase>=2&corner!=0&order==1", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Reeling in the Big One] Seiun Sky", - IconID: 20043, - }, - SkillWhiteLightningCominThrough: { - ID: 100211, - Name: "White Lightning Comin' Through!", - Description: "Bolt down the track like lightning when well-positioned or aiming for the front from midpack on a straight in the second half of the race.", - Group: 10021, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&corner==0&order_rate>=70&order_rate<=75&is_overtake==1@distance_rate>=50&corner==0&order_rate<=30&order_rate>=20", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Fast as Lightning] Tamamo Cross", - IconID: 20013, - }, - SkillFairyTale: { - ID: 100221, - Name: "Fairy Tale", - Description: "Increase velocity with the excitement of running when engaged in a challenge while well-positioned in the second half of the race.", - Group: 10022, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order>=2&order_rate<=40&blocked_side_continuetime>=2", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Noble Seamair] Fine Motion", - IconID: 20013, - }, - SkillWinQED: { - ID: 100231, - Name: "∴win Q.E.D.", - Description: "Increase velocity by deriving the winning equation when passing another runner toward the front on the final corner or later.", - Group: 10023, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&change_order_onetime<0&order<=4", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[pf. Winning Equation...] Biwa Hayahide", - IconID: 20013, - }, - SkillFlashyLanding: { - ID: 100241, - Name: "Flashy☆Landing", - Description: "Increase ability to break out of the pack on the straight after engaging in a challenge toward the front on the final corner or later.", - Group: 10024, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&blocked_side_continuetime>=2&order<=3", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Scramble☆Zone] Mayano Top Gun", - IconID: 20013, - }, - SkillChasingAfterYou: { - ID: 100251, - Name: "Chasing After You", - Description: "Chase after an unseen friend when in midpack in the second half of the race, moderately increasing velocity steadily and very slightly intimidating runners ahead.", - Group: 10025, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order_rate>=40&order_rate<=70", - Duration: 60000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 21, ValueUsage: 1, Value: -500, Target: 9, TargetValue: 5}, - }, - }, - }, - UniqueOwner: "[Creeping Shadow] Manhattan Cafe", - IconID: 20013, - }, - SkillG00FirstFInfinity: { - ID: 100261, - Name: "G00 1st. F∞;", - Description: "Increase velocity when positioned toward the front after making it to the final straight without faltering.", - Group: 10026, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_badstart==0&temptation_count==0&order<=3&is_finalcorner==1&corner==0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[MB-19890425] Mihono Bourbon", - IconID: 20013, - }, - SkillLetsPumpSomeIron: { - ID: 100271, - Name: "Let's Pump Some Iron!", - Description: "Increase acceleration in an attempt to move up on a corner late-race.", - Group: 10027, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase>=2&corner!=0&order_rate>=65&order_rate<=70", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Down the Line] Mejiro Ryan", - IconID: 20043, - }, - SkillYUMMYSPEED: { - ID: 100281, - Name: "YUMMY☆SPEED!", - Description: "Kick forward hard with renewed vigor when starting to get tired while well-positioned halfway through the race.", - Group: 10028, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=45&distance_rate<=60&order>=3&order_rate<=50&hp_per<=70", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Buono ☆ Alla Moda] Hishi Akebono", - IconID: 20013, - }, - SkillBlueRoseCloser: { - ID: 100301, - Name: "Blue Rose Closer", - Description: "Increase velocity with strong willpower on the final straight after passing another runner in the front part of the pack on the final corner or later.", - Group: 10030, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Precondition: "is_finalcorner==1&order<=4&change_order_onetime<0", - Condition: "is_finalcorner==1&corner==0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Rosy Dreams] Rice Shower", - IconID: 20013, - }, - SkillUma2: { - ID: 100321, - Name: "U=ma2", - Description: "Recover endurance and moderately increase velocity for a moderate duration when sitting off the pace on a corner in the second half of the race.", - Group: 10032, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&corner!=0&order>=3&order_rate<=40", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Tach-nology] Agnes Tachyon", - IconID: 20023, - }, - SkillShootingStarofDioskouroi: { - ID: 100331, - Name: "Shooting Star of Dioskouroi", - Description: "Increase velocity with guidance from the stars when far from the lead on the final straight. If positioned around the very back, greatly increase velocity instead.", - Group: 10033, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&distance_diff_top>=5&order_rate<80", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - { - Condition: "is_finalcorner==1&corner==0&distance_diff_top>=5&order_rate>=80", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 4500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Starry Nocturne] Admire Vega", - IconID: 20013, - }, - SkillOurTickettoWin: { - ID: 100351, - Name: "Our Ticket to Win!", - Description: "Increase velocity with winning ambition when positioned toward the front on the final straight after engaging in a challenge on the final corner or later.", - Group: 10035, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Precondition: "is_finalcorner==1&blocked_side_continuetime>=2", - Condition: "is_finalcorner==1&corner==0&order<=5", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Get to Winning!] Winning Ticket", - IconID: 20013, - }, - SkillSchwarzesSchwert: { - ID: 100371, - Name: "Schwarzes Schwert", - Description: "Increase velocity in a dash for the lead after running calmly and according to plan up until the final straight.", - Group: 10037, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_badstart==0&temptation_count==0&order>=3&is_finalcorner==1&corner==0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Meisterschaft] Eishin Flash", - IconID: 20013, - }, - SkillLookatCurren: { - ID: 100381, - Name: "#LookatCurren", - Description: "Gain momentum and begin to advance when passing another runner while well-positioned around halfway through the race.", - Group: 10038, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&distance_rate<=65&order>=2&order_rate<=40&change_order_onetime<0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Fille Éclair] Curren Chan", - IconID: 20013, - }, - SkillAPrincessMustSeizeVictory: { - ID: 100391, - Name: "A Princess Must Seize Victory!", - Description: "Increase velocity with pretty princess power when engaged in a challenge on the final straight.", - Group: 10039, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&blocked_side_continuetime>=2", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Princess of Pink] Kawakami Princess", - IconID: 20013, - }, - SkillKEEPITREAL: { - ID: 100401, - Name: "KEEP IT REAL.", - Description: "Moderately increase acceleration steadily with a wink when starting to make a move from midpack in the second half of the race.", - Group: 10040, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order_rate>=40&order_rate<=70&is_overtake==1", - Duration: 60000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Authentic / 1928] Gold City", - IconID: 20043, - }, - SkillGeniusxBakushinVictory: { - ID: 100411, - Name: "Genius x Bakushin = Victory", - Description: "Increase velocity with BAKUSHIN power when engaged in a challenge toward the front in the second half of the race.", - Group: 10041, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order<=3&blocked_side_continuetime>=2", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Blossom in Learning] Sakura Bakushin O", - IconID: 20013, - }, - SkillPureHeart: { - ID: 100451, - Name: "Pure Heart", - Description: "Greatly recover endurance when well-positioned mid-race.", - Group: 10045, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase_random==1&order>=2&order_rate<=40", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 750, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Murmuring Stream] Super Creek", - IconID: 20023, - }, - SkillSPARKLYSTARDOM: { - ID: 100461, - Name: "SPARKLY☆STARDOM", - Description: "Become empowered to keep the spotlight when positioned toward the front and close to the runner behind on a straight mid-race.", - Group: 10046, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase==1&corner==0&order<=2&bashin_diff_behind<=1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[LOVE☆4EVER] Smart Falcon", - IconID: 20013, - }, - SkillPopAndPolish: { - ID: 100481, - Name: "Pop & Polish", - Description: "Get hyped and increase velocity when pressured by or passing another runner while well-positioned on the final straight.", - Group: 10048, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&order>=2&order_rate<=30&overtake_target_time>=2@is_finalcorner==1&corner==0&order_rate<=20&change_order_onetime<0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Jokester ☆ Vibes] Tosen Jordan", - IconID: 20013, - }, - SkillNemesis: { - ID: 100501, - Name: "Nemesis", - Description: "Increase velocity with smoldering ambition when moving up from midpack on the final corner or later.", - Group: 10050, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&order_rate>=40&order_rate<=75&is_overtake==1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Nevertheless] Narita Taishin", - IconID: 20013, - }, - SkillSuperDuperClimax: { - ID: 100521, - Name: "Super-Duper Climax", - Description: "Recover endurance with a glance at nearby runners when positioned toward the back on the final corner.", - Group: 10052, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&order_rate>50&near_count>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Bestest Prize ♪] Haru Urara", - IconID: 20023, - }, - SkillISeeVictoryinMyFuture: { - ID: 100561, - Name: "I See Victory in My Future!", - Description: "Clear a path forward with the power of divination when the way ahead is jammed late-race.", - Group: 10056, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase>=2&order>=3&blocked_front==1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Rising☆Fortune] Matikanefukukitaru", - IconID: 20013, - }, - SkillINeverGoofUp: { - ID: 100581, - Name: "I Never Goof Up!", - Description: "Aim for the front with unwavering determination when passing another runner from midpack or further back on a corner late-race.", - Group: 10058, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase>=2&corner!=0&order>=3&change_order_onetime<0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Turbulent Blue] Meisho Doto", - IconID: 20013, - }, - SkillMovingPastandBeyond: { - ID: 100591, - Name: "Moving Past, and Beyond", - Description: "Having run the race calmly, increase acceleration with hardened determination when making a move mid-race, or on a crucial corner late-race whilst in midpack.", - Group: 10059, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase>=2&corner!=0&is_finalcorner==0&temptation_count==0&order_rate>=50&order_rate<=70@phase==1&corner!=0&is_finalcorner==1&temptation_count==0&order_rate>=50&order_rate<=70", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Off the Line] Mejiro Dober", - IconID: 20043, - }, - SkillJustaLittleFarther: { - ID: 100601, - Name: "Just a Little Farther!", - Description: "Increase velocity with flaring fighting spirit when positioned 3rd and about to lose late-race.", - Group: 10060, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase>=2&order==3&bashin_diff_behind<=1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Poinsettia Ribbon] Nice Nature", - IconID: 20013, - }, - SkillPridefulKing: { - ID: 100611, - Name: "Prideful King", - Description: "Greatly increase velocity in a true display of skill with 200m remaining after racing calmly.", - Group: 10061, - Rarity: 4, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "temptation_count==0&remain_distance<=201&remain_distance>=199&order>=4&order_rate<=70", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 4500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[King of Emeralds] King Halo", - IconID: 20013, - }, - SkillAmbitiontoSurpasstheSakura: { - ID: 100691, - Name: "Ambition to Surpass the Sakura", - Description: "Increase velocity with blossoming ambition when well-positioned and close to the runner ahead with 300m or less remaining.", - Group: 10069, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "remain_distance<=300&order_rate<=40&bashin_diff_infront<=1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Strength in Full Bloom] Sakura Chiyono O", - IconID: 20013, - }, - SkillALifelongDreamAMomentsFlight: { - ID: 100711, - Name: "A Lifelong Dream, A Moment's Flight", - Description: "Seize the moment when close to the runner behind on the final straight, slightly consuming endurance to greatly increase velocity for a moderate duration.", - Group: 10071, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&bashin_diff_behind<=1", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 4500, Target: 1, TargetValue: 0}, - {Type: 9, ValueUsage: 1, Value: -100, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Crystalline] Mejiro Ardan", - IconID: 20013, - }, - SkillDazzlnDiver: { - ID: 110011, - Name: "Dazzl'n ♪ Diver", - Description: "Recover endurance by relaxing after activating 2 skills when positioned midpack mid-race.", - Group: 11001, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase==1&order>=2&order_rate<=70&activate_count_middle>=2", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Hopp'n♪Happy Heart] Special Week", - IconID: 20023, - }, - SkillCertainVictory: { - ID: 110031, - Name: "Certain Victory", - Description: "Greatly increase velocity with an indomitable fighting spirit on the final straight after being on the heels of another runner toward the front on the final corner or later.", - Group: 11003, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Precondition: "is_finalcorner==1&is_overtake==1&order<=5&order_rate<=50&overtake_target_no_order_up_time>=2", - Condition: "is_finalcorner==1&corner==0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 4500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Beyond the Horizon] Tokai Teio", - IconID: 20013, - }, - SkillAKissforCourage: { - ID: 110041, - Name: "A Kiss for Courage", - Description: "Increase velocity enthusiastically when positioned toward the front in the second half of the race after recovering endurance with a skill.", - Group: 11004, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&activate_count_heal>=1&order<=3", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Hot☆Summer Night] Maruzensky", - IconID: 20013, - }, - SkillFestiveMiracle: { - ID: 110061, - Name: "Festive Miracle", - Description: "Control breathing and kick forward hard toward victory in the second half of the race after recovering endurance with skills at least 3 times.", - Group: 11006, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "activate_count_heal>=3&distance_rate>=50", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - {Type: 9, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Ashen Miracle] Oguri Cap", - IconID: 20013, - }, - SkillSuperiorHeal: { - ID: 110111, - Name: "Superior Heal", - Description: "Greatly recover endurance with a gentle light when overtaken toward the back mid-race.", - Group: 11011, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase==1&change_order_onetime>0&order_rate>=40", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 750, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Saintly Jade Cleric] Grass Wonder", - IconID: 20023, - }, - SkillLegacyoftheStrong: { - ID: 110131, - Name: "Legacy of the Strong", - Description: "Increase velocity continuously when pressured by another runner and running out of energy toward the front on the final corner or later.", - Group: 11013, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&hp_per<=45&order<=3&order_rate<=50&bashin_diff_behind<=1&overtake_target_time>=1", - Duration: 60000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[End of the Skies] Mejiro McQueen", - IconID: 20013, - }, - SkillCondorsFury: { - ID: 110141, - Name: "Condor's Fury", - Description: "Increase acceleration with blazing passion when aiming for the front from midpack on the final corner.", - Group: 11014, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&is_overtake==1&order>=4&order_rate<=75", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Kukulkan Warrior] El Condor Pasa", - IconID: 20043, - }, - SkillBarcaroleofBlessings: { - ID: 110151, - Name: "Barcarole of Blessings", - Description: "Increase velocity for a moderate duration when in the front part of the pack with 400m remaining. If at least 7 skills have been activated, greatly increase velocity for a moderate duration instead.", - Group: 11015, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "remain_distance<=401&remain_distance>=399&order_rate<=40&activate_count_all>=7", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 4500, Target: 1, TargetValue: 0}, - }, - }, - { - Condition: "remain_distance<=401&remain_distance>=399&order_rate<=40&activate_count_all<=6", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[New Year, Same Radiance!] T.M. Opera O", - IconID: 20013, - }, - SkillArrowsWhistleShadowsDisperse: { - ID: 110171, - Name: "Arrows Whistle, Shadows Disperse", - Description: "Increase velocity with a blazing spirit when pressured by another runner in the front part of the pack on the final corner or later.", - Group: 11017, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&order_rate<=40&overtake_target_time>=2", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Archer by Moonlight] Symboli Rudolf", - IconID: 20013, - }, - SkillEternalMoments: { - ID: 110181, - Name: "Eternal Moments", - Description: "Increase velocity when starting to make a move from a position toward the front mid-race.", - Group: 11018, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase==1&order>=3&order_rate<=50&is_overtake==1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Quercus Civilis] Air Groove", - IconID: 20013, - }, - SkillPresentsfromX: { - ID: 110231, - Name: "Presents from X", - Description: "Increase velocity by deriving a path to victory mid-race after staying well-positioned from the start of the race up until the second half.", - Group: 11023, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "order_rate_in40_continue==1&phase==1&distance_rate>=50&order>=2&order_rate<=40", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Rouge Caroler] Biwa Hayahide", - IconID: 20013, - }, - SkillFloweryManeuver: { - ID: 110241, - Name: "Flowery☆Maneuver", - Description: "Increase velocity when passing another runner toward the front on the final corner. If passing toward the back, increase acceleration instead.", - Group: 11024, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&order_rate<=40&change_order_onetime<0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - { - Condition: "is_finalcorner==1&corner!=0&order_rate>=50&order_rate<=80&change_order_onetime<0", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Sunlight Bouquet] Mayano Top Gun", - IconID: 20013, - }, - SkillOperationCacao: { - ID: 110261, - Name: "Operation Cacao", - Description: "Take a slight breather and increase velocity when in the front part of the pack and detecting another runner coming from behind on a corner mid-race.", - Group: 11026, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "order<=4&phase==1&corner!=0&bashin_diff_behind<=3", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[CODE: ICING] Mihono Bourbon", - IconID: 20013, - }, - SkillEveryRoseHasItsFangs: { - ID: 110301, - Name: "Every Rose Has Its Fangs", - Description: "Suck endurance from runners ahead when well-positioned and pressured by another runner mid-race.", - Group: 11030, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "phase==1&order>=2&order_rate<=50&overtake_target_time>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - {Type: 9, ValueUsage: 1, Value: -50, Target: 9, TargetValue: 18}, - }, - }, - }, - UniqueOwner: "[Vampire Makeover!] Rice Shower", - IconID: 20023, - }, - SkillGutenAppetit: { - ID: 110371, - Name: "Guten Appetit ♪", - Description: "Increase velocity continuously with a patissiere's pride on the final straight after passing another runner 3 times on the final corner or later.", - Group: 11037, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "change_order_up_finalcorner_after>=3&is_finalcorner==1&corner==0", - Duration: 60000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Precise Chocolatier] Eishin Flash", - IconID: 20013, - }, - SkillDancingintheLeaves: { - ID: 110401, - Name: "Dancing in the Leaves", - Description: "Increase ability to break out of the pack when engaged in a challenge in midpack on the final corner.", - Group: 11040, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&order_rate>=30&order_rate<=70&blocked_side_continuetime>=2", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Autumn Cosmos] Gold City", - IconID: 20013, - }, - SkillGiveMummyaHug: { - ID: 110451, - Name: "Give Mummy a Hug ♡", - Description: "Increase ability to break out of the pack when well-positioned and close to the runner ahead on the final straight.", - Group: 11045, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&order<=4&bashin_diff_infront<=1", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Chiffon-Wrapped Mummy] Super Creek", - IconID: 20013, - }, - Skill114thTimestheCharm: { - ID: 110521, - Name: "114th Time's the Charm", - Description: "Give max effort when far from the lead on the final corner, moderately increasing velocity steadily for a duration proportional to distance from the lead.", - Group: 11052, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&distance_diff_top>=7", - Duration: 50000, - DurScale: 2, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[New Year ♪ New Urara!] Haru Urara", - IconID: 20013, - }, - SkillBountifulHarvest: { - ID: 110561, - Name: "Bountiful Harvest", - Description: "Increase velocity with a surge of great fortune when pressured by another runner toward the back in the second half of the race.", - Group: 11056, - Rarity: 5, - GroupRate: 1, - GradeValue: 340, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order_rate>=40&overtake_target_time>=2", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Lucky Tidings] Matikanefukukitaru", - IconID: 20013, - }, - SkillRightHandedLv2: { - ID: 200011, - Name: "Right-Handed ◎", - Description: "Increase performance on right-handed tracks.", - Group: 20001, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "rotation==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10011, - }, - SkillRightHanded: { - ID: 200012, - Name: "Right-Handed ○", - Description: "Moderately increase performance on right-handed tracks.", - Group: 20001, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "rotation==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10011, - }, - SkillRightHandedX: { - ID: 200013, - Name: "Right-Handed ×", - Description: "Moderately decrease performance on right-handed tracks.", - Group: 20001, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "rotation==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10014, - }, - SkillLeftHandedLv2: { - ID: 200021, - Name: "Left-Handed ◎", - Description: "Increase performance on left-handed tracks.", - Group: 20002, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "rotation==2", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10011, - }, - SkillLeftHanded: { - ID: 200022, - Name: "Left-Handed ○", - Description: "Moderately increase performance on left-handed tracks.", - Group: 20002, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "rotation==2", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10011, - }, - SkillLeftHandedX: { - ID: 200023, - Name: "Left-Handed ×", - Description: "Moderately decrease performance on left-handed tracks.", - Group: 20002, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "rotation==2", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10014, - }, - SkillTokyoRacecourseLv2: { - ID: 200031, - Name: "Tokyo Racecourse ◎", - Description: "Increase performance at Tokyo Racecourse.", - Group: 20003, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "track_id==10006", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10021, - }, - SkillTokyoRacecourse: { - ID: 200032, - Name: "Tokyo Racecourse ○", - Description: "Moderately increase performance at Tokyo Racecourse.", - Group: 20003, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "track_id==10006", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillTokyoRacecourseX: { - ID: 200033, - Name: "Tokyo Racecourse ×", - Description: "Moderately decrease performance at Tokyo Racecourse.", - Group: 20003, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "track_id==10006", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10024, - }, - SkillNakayamaRacecourseLv2: { - ID: 200041, - Name: "Nakayama Racecourse ◎", - Description: "Increase performance at Nakayama Racecourse.", - Group: 20004, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "track_id==10005", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10021, - }, - SkillNakayamaRacecourse: { - ID: 200042, - Name: "Nakayama Racecourse ○", - Description: "Moderately increase performance at Nakayama Racecourse.", - Group: 20004, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "track_id==10005", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillNakayamaRacecourseX: { - ID: 200043, - Name: "Nakayama Racecourse ×", - Description: "Moderately decrease performance at Nakayama Racecourse.", - Group: 20004, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "track_id==10005", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10024, - }, - SkillHanshinRacecourseLv2: { - ID: 200051, - Name: "Hanshin Racecourse ◎", - Description: "Increase performance at Hanshin Racecourse.", - Group: 20005, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "track_id==10009", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10021, - }, - SkillHanshinRacecourse: { - ID: 200052, - Name: "Hanshin Racecourse ○", - Description: "Moderately increase performance at Hanshin Racecourse.", - Group: 20005, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "track_id==10009", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillHanshinRacecourseX: { - ID: 200053, - Name: "Hanshin Racecourse ×", - Description: "Moderately decrease performance at Hanshin Racecourse.", - Group: 20005, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "track_id==10009", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10024, - }, - SkillKyotoRacecourseLv2: { - ID: 200061, - Name: "Kyoto Racecourse ◎", - Description: "Increase performance at Kyoto Racecourse.", - Group: 20006, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "track_id==10008", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10021, - }, - SkillKyotoRacecourse: { - ID: 200062, - Name: "Kyoto Racecourse ○", - Description: "Moderately increase performance at Kyoto Racecourse.", - Group: 20006, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "track_id==10008", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillKyotoRacecourseX: { - ID: 200063, - Name: "Kyoto Racecourse ×", - Description: "Moderately decrease performance at Kyoto Racecourse.", - Group: 20006, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "track_id==10008", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10024, - }, - SkillYodoInvicta: { - ID: 200064, - Name: "Yodo Invicta", - Description: "Increase performance at Kyoto Racecourse, boosting Stamina and Wit.", - Group: 20006, - Rarity: 2, - GroupRate: 3, - GradeValue: 461, - Activations: []Activation{ - { - Condition: "track_id==10008", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - {Type: 5, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 10022, - }, - SkillChukyoRacecourseLv2: { - ID: 200071, - Name: "Chukyo Racecourse ◎", - Description: "Increase performance at Chukyo Racecourse.", - Group: 20007, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "track_id==10007", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10021, - }, - SkillChukyoRacecourse: { - ID: 200072, - Name: "Chukyo Racecourse ○", - Description: "Moderately increase performance at Chukyo Racecourse.", - Group: 20007, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "track_id==10007", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillChukyoRacecourseX: { - ID: 200073, - Name: "Chukyo Racecourse ×", - Description: "Moderately decrease performance at Chukyo Racecourse.", - Group: 20007, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "track_id==10007", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10024, - }, - SkillSapporoRacecourseLv2: { - ID: 200081, - Name: "Sapporo Racecourse ◎", - Description: "Increase performance at Sapporo Racecourse.", - Group: 20008, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "track_id==10001", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillSapporoRacecourse: { - ID: 200082, - Name: "Sapporo Racecourse ○", - Description: "Moderately increase performance at Sapporo Racecourse.", - Group: 20008, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "track_id==10001", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 70, - IconID: 10021, - }, - SkillSapporoRacecourseX: { - ID: 200083, - Name: "Sapporo Racecourse ×", - Description: "Moderately decrease performance at Sapporo Racecourse.", - Group: 20008, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "track_id==10001", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 40, - IconID: 10024, - }, - SkillHakodateRacecourseLv2: { - ID: 200091, - Name: "Hakodate Racecourse ◎", - Description: "Increase performance at Hakodate Racecourse.", - Group: 20009, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "track_id==10002", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillHakodateRacecourse: { - ID: 200092, - Name: "Hakodate Racecourse ○", - Description: "Moderately increase performance at Hakodate Racecourse.", - Group: 20009, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "track_id==10002", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 70, - IconID: 10021, - }, - SkillHakodateRacecourseX: { - ID: 200093, - Name: "Hakodate Racecourse ×", - Description: "Moderately decrease performance at Hakodate Racecourse.", - Group: 20009, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "track_id==10002", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 40, - IconID: 10024, - }, - SkillFukushimaRacecourseLv2: { - ID: 200101, - Name: "Fukushima Racecourse ◎", - Description: "Increase performance at Fukushima Racecourse.", - Group: 20010, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "track_id==10004", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillFukushimaRacecourse: { - ID: 200102, - Name: "Fukushima Racecourse ○", - Description: "Moderately increase performance at Fukushima Racecourse.", - Group: 20010, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "track_id==10004", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 70, - IconID: 10021, - }, - SkillFukushimaRacecourseX: { - ID: 200103, - Name: "Fukushima Racecourse ×", - Description: "Moderately decrease performance at Fukushima Racecourse.", - Group: 20010, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "track_id==10004", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 40, - IconID: 10024, - }, - SkillNiigataRacecourseLv2: { - ID: 200111, - Name: "Niigata Racecourse ◎", - Description: "Increase performance at Niigata Racecourse.", - Group: 20011, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "track_id==10003", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillNiigataRacecourse: { - ID: 200112, - Name: "Niigata Racecourse ○", - Description: "Moderately increase performance at Niigata Racecourse.", - Group: 20011, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "track_id==10003", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 70, - IconID: 10021, - }, - SkillNiigataRacecourseX: { - ID: 200113, - Name: "Niigata Racecourse ×", - Description: "Moderately decrease performance at Niigata Racecourse.", - Group: 20011, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "track_id==10003", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 40, - IconID: 10024, - }, - SkillKokuraRacecourseLv2: { - ID: 200121, - Name: "Kokura Racecourse ◎", - Description: "Increase performance at Kokura Racecourse.", - Group: 20012, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "track_id==10010", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillKokuraRacecourse: { - ID: 200122, - Name: "Kokura Racecourse ○", - Description: "Moderately increase performance at Kokura Racecourse.", - Group: 20012, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "track_id==10010", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 70, - IconID: 10021, - }, - SkillKokuraRacecourseX: { - ID: 200123, - Name: "Kokura Racecourse ×", - Description: "Moderately decrease performance at Kokura Racecourse.", - Group: 20012, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "track_id==10010", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 40, - IconID: 10024, - }, - SkillStandardDistanceLv2: { - ID: 200131, - Name: "Standard Distance ◎", - Description: "Increase performance over standard distances (multiples of 400m).", - Group: 20013, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "is_basis_distance==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10021, - }, - SkillStandardDistance: { - ID: 200132, - Name: "Standard Distance ○", - Description: "Moderately increase performance over standard distances (multiples of 400m).", - Group: 20013, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "is_basis_distance==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillStandardDistanceX: { - ID: 200133, - Name: "Standard Distance ×", - Description: "Moderately decrease performance over standard distances (multiples of 400m).", - Group: 20013, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "is_basis_distance==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10024, - }, - SkillNonStandardDistanceLv2: { - ID: 200141, - Name: "Non-Standard Distance ◎", - Description: "Increase performance over non-standard distances (non-multiples of 400m).", - Group: 20014, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "is_basis_distance==0", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10021, - }, - SkillNonStandardDistance: { - ID: 200142, - Name: "Non-Standard Distance ○", - Description: "Moderately increase performance over non-standard distances (non-multiples of 400m).", - Group: 20014, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "is_basis_distance==0", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillNonStandardDistanceX: { - ID: 200143, - Name: "Non-Standard Distance ×", - Description: "Moderately decrease performance over non-standard distances (non-multiples of 400m).", - Group: 20014, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "is_basis_distance==0", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10024, - }, - SkillFirmConditionsLv2: { - ID: 200151, - Name: "Firm Conditions ◎", - Description: "Increase performance on firm ground.", - Group: 20015, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "ground_condition==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 3, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10031, - }, - SkillFirmConditions: { - ID: 200152, - Name: "Firm Conditions ○", - Description: "Moderately increase performance on firm ground.", - Group: 20015, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "ground_condition==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 3, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10031, - }, - SkillFirmConditionsX: { - ID: 200153, - Name: "Firm Conditions ×", - Description: "Moderately decrease performance on firm ground.", - Group: 20015, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "ground_condition==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 3, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10034, - }, - SkillWetConditionsLv2: { - ID: 200161, - Name: "Wet Conditions ◎", - Description: "Increase performance on good, soft, and heavy ground.", - Group: 20016, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "ground_condition==2@ground_condition==3@ground_condition==4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 3, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10031, - }, - SkillWetConditions: { - ID: 200162, - Name: "Wet Conditions ○", - Description: "Moderately increase performance on good, soft, and heavy ground.", - Group: 20016, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "ground_condition==2@ground_condition==3@ground_condition==4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 3, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10031, - }, - SkillWetConditionsX: { - ID: 200163, - Name: "Wet Conditions ×", - Description: "Moderately decrease performance on good, soft, and heavy ground.", - Group: 20016, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "ground_condition==2@ground_condition==3@ground_condition==4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 3, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10034, - }, - SkillSpringRunnerLv2: { - ID: 200171, - Name: "Spring Runner ◎", - Description: "Increase performance in spring.", - Group: 20017, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "season==1@season==5", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10011, - }, - SkillSpringRunner: { - ID: 200172, - Name: "Spring Runner ○", - Description: "Moderately increase performance in spring.", - Group: 20017, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "season==1@season==5", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10011, - }, - SkillSpringRunnerX: { - ID: 200173, - Name: "Spring Runner ×", - Description: "Moderately decrease performance in spring.", - Group: 20017, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "season==1@season==5", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10014, - }, - SkillSpringSpectacle: { - ID: 200174, - Name: "Spring Spectacle", - Description: "Increase performance in spring, boosting Speed and Power.", - Group: 20017, - Rarity: 2, - GroupRate: 3, - GradeValue: 461, - Activations: []Activation{ - { - Condition: "season==1@season==5", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - {Type: 3, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 10012, - }, - SkillSummerRunnerLv2: { - ID: 200181, - Name: "Summer Runner ◎", - Description: "Increase performance in summer.", - Group: 20018, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "season==2", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10011, - }, - SkillSummerRunner: { - ID: 200182, - Name: "Summer Runner ○", - Description: "Moderately increase performance in summer.", - Group: 20018, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "season==2", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10011, - }, - SkillSummerRunnerX: { - ID: 200183, - Name: "Summer Runner ×", - Description: "Moderately decrease performance in summer.", - Group: 20018, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "season==2", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10014, - }, - SkillFallRunnerLv2: { - ID: 200191, - Name: "Fall Runner ◎", - Description: "Increase performance in fall.", - Group: 20019, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "season==3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10011, - }, - SkillFallRunner: { - ID: 200192, - Name: "Fall Runner ○", - Description: "Moderately increase performance in fall.", - Group: 20019, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "season==3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10011, - }, - SkillFallRunnerX: { - ID: 200193, - Name: "Fall Runner ×", - Description: "Moderately decrease performance in fall.", - Group: 20019, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "season==3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10014, - }, - SkillFallFrenzy: { - ID: 200194, - Name: "Fall Frenzy", - Description: "Increase performance in fall, boosting Speed and Power.", - Group: 20019, - Rarity: 2, - GroupRate: 3, - GradeValue: 461, - Activations: []Activation{ - { - Condition: "season==3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - {Type: 3, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 10012, - }, - SkillWinterRunnerLv2: { - ID: 200201, - Name: "Winter Runner ◎", - Description: "Increase performance in winter.", - Group: 20020, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "season==4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10011, - }, - SkillWinterRunner: { - ID: 200202, - Name: "Winter Runner ○", - Description: "Moderately increase performance in winter.", - Group: 20020, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "season==4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10011, - }, - SkillWinterRunnerX: { - ID: 200203, - Name: "Winter Runner ×", - Description: "Moderately decrease performance in winter.", - Group: 20020, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "season==4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10014, - }, - SkillSunnyDaysLv2: { - ID: 200211, - Name: "Sunny Days ◎", - Description: "Increase performance in sunny weather.", - Group: 20021, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "weather==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 4, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10041, - }, - SkillSunnyDays: { - ID: 200212, - Name: "Sunny Days ○", - Description: "Moderately increase performance in sunny weather.", - Group: 20021, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "weather==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 4, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10041, - }, - SkillCloudyDaysLv2: { - ID: 200221, - Name: "Cloudy Days ◎", - Description: "Increase performance in cloudy weather.", - Group: 20022, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "weather==2", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 4, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10041, - }, - SkillCloudyDays: { - ID: 200222, - Name: "Cloudy Days ○", - Description: "Moderately increase performance in cloudy weather.", - Group: 20022, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "weather==2", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 4, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10041, - }, - SkillRainyDaysLv2: { - ID: 200231, - Name: "Rainy Days ◎", - Description: "Increase performance in rainy weather.", - Group: 20023, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "weather==3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 4, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10041, - }, - SkillRainyDays: { - ID: 200232, - Name: "Rainy Days ○", - Description: "Moderately increase performance in rainy weather.", - Group: 20023, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "weather==3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 4, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10041, - }, - SkillRainyDaysX: { - ID: 200233, - Name: "Rainy Days ×", - Description: "Moderately decrease performance in rainy weather.", - Group: 20023, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "weather==3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 4, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10044, - }, - SkillSnowyDaysLv2: { - ID: 200241, - Name: "Snowy Days ◎", - Description: "Increase performance in snowy weather.", - Group: 20024, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "weather==4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 4, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10041, - }, - SkillSnowyDays: { - ID: 200242, - Name: "Snowy Days ○", - Description: "Moderately increase performance in snowy weather.", - Group: 20024, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "weather==4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 4, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10041, - }, - SkillInnerPostProficiencyLv2: { - ID: 200251, - Name: "Inner Post Proficiency ◎", - Description: "Increase performance in brackets 1–3.", - Group: 20025, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "post_number<=3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 5, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10051, - }, - SkillInnerPostProficiency: { - ID: 200252, - Name: "Inner Post Proficiency ○", - Description: "Moderately increase performance in brackets 1–3.", - Group: 20025, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "post_number<=3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 5, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10051, - }, - SkillInnerPostAverseness: { - ID: 200253, - Name: "Inner Post Averseness", - Description: "Moderately decrease performance in brackets 1–3.", - Group: 20025, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "post_number<=3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 5, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10054, - }, - SkillOuterPostProficiencyLv2: { - ID: 200261, - Name: "Outer Post Proficiency ◎", - Description: "Increase performance in brackets 6–8.", - Group: 20026, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "post_number>=6", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10011, - }, - SkillOuterPostProficiency: { - ID: 200262, - Name: "Outer Post Proficiency ○", - Description: "Moderately increase performance in brackets 6–8.", - Group: 20026, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "post_number>=6", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10011, - }, - SkillOuterPostAverseness: { - ID: 200263, - Name: "Outer Post Averseness", - Description: "Moderately decrease performance in brackets 6–8.", - Group: 20026, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "post_number>=6", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10014, - }, - SkillMaverickLv2: { - ID: 200271, - Name: "Maverick ◎", - Description: "Greatly increase performance when no other runners are using the same strategy.", - Group: 20027, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "running_style_count_same<=1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 800000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10011, - }, - SkillMaverick: { - ID: 200272, - Name: "Maverick ○", - Description: "Increase performance when no other runners are using the same strategy.", - Group: 20027, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "running_style_count_same<=1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10011, - }, - SkillCompetitiveSpiritLv2: { - ID: 200281, - Name: "Competitive Spirit ◎", - Description: "Increase performance when many other runners are using the same strategy.", - Group: 20028, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "running_style_count_same_rate>=40", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 3, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10031, - }, - SkillCompetitiveSpirit: { - ID: 200282, - Name: "Competitive Spirit ○", - Description: "Moderately increase performance when many other runners are using the same strategy.", - Group: 20028, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "running_style_count_same_rate>=40", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 3, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10031, - }, - SkillWallflower: { - ID: 200283, - Name: "Wallflower", - Description: "Moderately decrease performance when many other runners are using the same strategy.", - Group: 20028, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "running_style_count_same_rate>=40", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 3, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10034, - }, - SkillTargetinSightLv2: { - ID: 200291, - Name: "Target in Sight ◎", - Description: "Increase performance when the favorite is using the same strategy.", - Group: 20029, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "running_style_equal_popularity_one==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 4, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10041, - }, - SkillTargetinSight: { - ID: 200292, - Name: "Target in Sight ○", - Description: "Moderately increase performance when the favorite is using the same strategy.", - Group: 20029, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "running_style_equal_popularity_one==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 4, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10041, - }, - SkillLongShotLv2: { - ID: 200301, - Name: "Long Shot ◎", - Description: "Increase performance when 4th favorite or below.", - Group: 20030, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "popularity>=4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10011, - }, - SkillLongShot: { - ID: 200302, - Name: "Long Shot ○", - Description: "Moderately increase performance when 4th favorite or below.", - Group: 20030, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "popularity>=4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10011, - }, - SkillG1Averseness: { - ID: 200311, - Name: "G1 Averseness", - Description: "Moderately decrease performance in G1 or otherwise important races.", - Group: 20031, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "grade==100", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10014, - }, - SkillPaddockFright: { - ID: 200321, - Name: "Paddock Fright", - Description: "Moderately decrease performance when the favorite.", - Group: 20032, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "popularity==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10024, - }, - SkillProfessorofCurvature: { - ID: 200331, - Name: "Professor of Curvature", - Description: "Increase velocity on a corner with skilled turning.", - Group: 20033, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "all_corner_random==1", - Duration: 24000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20012, - }, - SkillCornerAdept: { - ID: 200332, - Name: "Corner Adept ○", - Description: "Slightly increase velocity on a corner with skilled turning.", - Group: 20033, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "all_corner_random==1", - Duration: 24000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20011, - }, - SkillCornerAdeptX: { - ID: 200333, - Name: "Corner Adept ×", - Description: "Moderately decrease velocity on a corner with clumsy turning.", - Group: 20033, - Rarity: 1, - GroupRate: -1, - GradeValue: -262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "all_corner_random==1", - Duration: 24000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20014, - }, - SkillCornerConnoisseur: { - ID: 200341, - Name: "Corner Connoisseur", - Description: "Increase acceleration on a corner with masterful turning.", - Group: 20034, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20042, - }, - SkillCornerAcceleration: { - ID: 200342, - Name: "Corner Acceleration ○", - Description: "Slightly increase acceleration on a corner with masterful turning.", - Group: 20034, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20041, - }, - SkillCornerAccelerationX: { - ID: 200343, - Name: "Corner Acceleration ×", - Description: "Moderately decrease acceleration on a corner with awkward turning.", - Group: 20034, - Rarity: 1, - GroupRate: -1, - GradeValue: -262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: -2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20044, - }, - SkillSwingingMaestro: { - ID: 200351, - Name: "Swinging Maestro", - Description: "Recover endurance on a corner with efficient turning.", - Group: 20035, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "corner_random==1@corner_random==2@corner_random==3@corner_random==4", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20022, - }, - SkillCornerRecovery: { - ID: 200352, - Name: "Corner Recovery ○", - Description: "Slightly recover endurance on a corner with efficient turning.", - Group: 20035, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "corner_random==1@corner_random==2@corner_random==3@corner_random==4", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20021, - }, - SkillCornerRecoveryX: { - ID: 200353, - Name: "Corner Recovery ×", - Description: "Moderately lose endurance on a corner with inefficient turning.", - Group: 20035, - Rarity: 1, - GroupRate: -1, - GradeValue: -262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "corner_random==1@corner_random==2@corner_random==3@corner_random==4", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -200, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20024, - }, - SkillBeelineBurst: { - ID: 200361, - Name: "Beeline Burst", - Description: "Increase velocity on a straight.", - Group: 20036, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "straight_random==1", - Duration: 24000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20012, - }, - SkillStraightawayAdept: { - ID: 200362, - Name: "Straightaway Adept", - Description: "Slightly increase velocity on a straight.", - Group: 20036, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "straight_random==1", - Duration: 24000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20011, - }, - SkillRushingGale: { - ID: 200371, - Name: "Rushing Gale!", - Description: "Increase acceleration on a straight.", - Group: 20037, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20042, - }, - SkillStraightawayAcceleration: { - ID: 200372, - Name: "Straightaway Acceleration", - Description: "Slightly increase acceleration on a straight.", - Group: 20037, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20041, - }, - SkillBreathofFreshAir: { - ID: 200381, - Name: "Breath of Fresh Air", - Description: "Recover endurance on a straight.", - Group: 20038, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "straight_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20022, - }, - SkillStraightawayRecovery: { - ID: 200382, - Name: "Straightaway Recovery", - Description: "Slightly recover endurance on a straight.", - Group: 20038, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "straight_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20021, - }, - SkillRampRevulsion: { - ID: 200391, - Name: "Ramp Revulsion", - Description: "Moderately increase fatigue on an uphill.", - Group: 20039, - Rarity: 1, - GroupRate: -1, - GradeValue: -262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "up_slope_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -200, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20024, - }, - SkillPackphobia: { - ID: 200401, - Name: "Packphobia", - Description: "Moderately lose endurance when surrounded.", - Group: 20040, - Rarity: 1, - GroupRate: -1, - GradeValue: -262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "accumulatetime>=2&is_surrounded==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -200, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20024, - }, - SkillDefeatist: { - ID: 200411, - Name: "Defeatist", - Description: "Moderately increase urge to give up when positioned around the very back on the final straight.", - Group: 20041, - Rarity: 1, - GroupRate: -1, - GradeValue: -262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "last_straight_random==1&distance_diff_rate>=75", - Duration: 30000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20014, - }, - SkillReckless: { - ID: 200421, - Name: "Reckless", - Description: "Moderately increase carelessness when in the lead with around 200m remaining.", - Group: 20042, - Rarity: 1, - GroupRate: -1, - GradeValue: -262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "remain_distance==200&order==1&bashin_diff_behind>=1", - Duration: 30000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20014, - }, - SkillConcentration: { - ID: 200431, - Name: "Concentration", - Description: "Decrease time lost to slow starts.", - Group: 20043, - Rarity: 2, - GroupRate: 2, - GradeValue: 394, - WitCheck: true, - Activations: []Activation{ - { - Condition: "always==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 10, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20062, - }, - SkillFocus: { - ID: 200432, - Name: "Focus", - Description: "Slightly decrease time lost to slow starts.", - Group: 20043, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - WitCheck: true, - Activations: []Activation{ - { - Condition: "always==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 10, ValueUsage: 1, Value: 9000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20061, - }, - SkillGatekept: { - ID: 200433, - Name: "Gatekept", - Description: "Moderately increase time lost to slow starts.", - Group: 20043, - Rarity: 1, - GroupRate: -1, - GradeValue: -174, - WitCheck: true, - Activations: []Activation{ - { - Condition: "always==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 10, ValueUsage: 1, Value: 15000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 70, - IconID: 20064, - }, - SkillIronWill: { - ID: 200441, - Name: "Iron Will", - Description: "Recover endurance when the way ahead is jammed early-race or mid-race.", - Group: 20044, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase<=1&accumulatetime>=5&blocked_front_continuetime>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20022, - }, - SkillLayLow: { - ID: 200442, - Name: "Lay Low", - Description: "Slightly recover endurance when the way ahead is jammed early-race or mid-race.", - Group: 20044, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase<=1&accumulatetime>=5&blocked_front_continuetime>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20021, - }, - SkillCenterStage: { - ID: 200451, - Name: "Center Stage", - Description: "Greatly increase navigation early-race.", - Group: 20045, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 450, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20052, - }, - SkillPrudentPositioning: { - ID: 200452, - Name: "Prudent Positioning", - Description: "Increase navigation early-race.", - Group: 20045, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20051, - }, - SkillItsOn: { - ID: 200461, - Name: "It's On!", - Description: "Increase velocity when passing another runner mid-race.", - Group: 20046, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&change_order_onetime<0", - Duration: 18000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20012, - }, - SkillRampUp: { - ID: 200462, - Name: "Ramp Up", - Description: "Slightly increase velocity when passing another runner mid-race.", - Group: 20046, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&change_order_onetime<0", - Duration: 18000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20011, - }, - SkillIndomitable: { - ID: 200471, - Name: "Indomitable", - Description: "Recover endurance when passed by another runner mid-race.", - Group: 20047, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&change_order_onetime>0", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20022, - }, - SkillPaceStrategy: { - ID: 200472, - Name: "Pace Strategy", - Description: "Slightly recover endurance when passed by another runner mid-race.", - Group: 20047, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&change_order_onetime>0", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20021, - }, - SkillUnruffled: { - ID: 200481, - Name: "Unruffled", - Description: "Recover endurance when surrounded mid-race.", - Group: 20048, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&is_surrounded==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20022, - }, - SkillCalminaCrowd: { - ID: 200482, - Name: "Calm in a Crowd", - Description: "Slightly recover endurance when surrounded mid-race.", - Group: 20048, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&is_surrounded==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20021, - }, - SkillNoStoppingMe: { - ID: 200491, - Name: "No Stopping Me!", - Description: "Increase maneuverability when the way ahead is blocked in the last spurt.", - Group: 20049, - Rarity: 2, - GroupRate: 2, - GradeValue: 394, - WitCheck: true, - Activations: []Activation{ - { - Condition: "infront_near_lane_time>=1&is_lastspurt==1&hp_per>=1", - Duration: 30000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - {Type: 28, ValueUsage: 1, Value: 250, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 150, - IconID: 20042, - }, - SkillNimbleNavigator: { - ID: 200492, - Name: "Nimble Navigator", - Description: "Slightly increase maneuverability when the way ahead is blocked in the last spurt.", - Group: 20049, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - WitCheck: true, - Activations: []Activation{ - { - Condition: "infront_near_lane_time>=1&is_lastspurt==1&hp_per>=1", - Duration: 30000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - {Type: 28, ValueUsage: 1, Value: 50, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 150, - IconID: 20041, - }, - SkillLaneLegerdemain: { - ID: 200501, - Name: "Lane Legerdemain", - Description: "Increase navigation late-race.", - Group: 20050, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20052, - }, - SkillGowiththeFlow: { - ID: 200502, - Name: "Go with the Flow", - Description: "Moderately increase navigation late-race.", - Group: 20050, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 250, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20051, - }, - SkillInBodyandMind: { - ID: 200511, - Name: "In Body and Mind", - Description: "Increase velocity in the last spurt.", - Group: 20051, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_lastspurt==1&phase_random==3", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20012, - }, - SkillHomestretchHaste: { - ID: 200512, - Name: "Homestretch Haste", - Description: "Slightly increase velocity in the last spurt.", - Group: 20051, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_lastspurt==1&phase_random==3", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20011, - }, - SkillRunningIdle: { - ID: 200521, - Name: "Running Idle", - Description: "Moderately increase fatigue when in the lead by too large of a margin.", - Group: 20052, - Rarity: 1, - GroupRate: -1, - GradeValue: -262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "accumulatetime>=2&order==1&bashin_diff_behind>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -200, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20024, - }, - SkillTakingtheLead: { - ID: 200531, - Name: "Taking the Lead", - Description: "Increase ability to go to the front early-race. (Front Runner)", - Group: 20053, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&phase==0", - Duration: 12000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20042, - }, - SkillEarlyLead: { - ID: 200532, - Name: "Early Lead", - Description: "Slightly increase ability to go to the front early-race. (Front Runner)", - Group: 20053, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&phase==0", - Duration: 12000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20041, - }, - SkillEscapeArtist: { - ID: 200541, - Name: "Escape Artist", - Description: "Increase ability to go to the front mid-race. (Front Runner)", - Group: 20054, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&phase_random==1&order_rate<=50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20012, - }, - SkillFastPaced: { - ID: 200542, - Name: "Fast-Paced", - Description: "Slightly increase ability to go to the front mid-race. (Front Runner)", - Group: 20054, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&phase_random==1&order_rate<=50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20011, - }, - SkillUnrestrained: { - ID: 200551, - Name: "Unrestrained", - Description: "Increase ability to keep the lead on the final corner. (Front Runner)", - Group: 20055, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&is_finalcorner_random==1&order==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20042, - }, - SkillFinalPush: { - ID: 200552, - Name: "Final Push", - Description: "Slightly increase ability to keep the lead on the final corner. (Front Runner)", - Group: 20055, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&is_finalcorner_random==1&order==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20041, - }, - SkillCalmandCollected: { - ID: 200561, - Name: "Calm and Collected", - Description: "Decrease fatigue upon approaching mid-race. (Pace Chaser)", - Group: 20056, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&phase_laterhalf_random==0&order_rate<=50", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20022, - }, - SkillStaminatoSpare: { - ID: 200562, - Name: "Stamina to Spare", - Description: "Slightly decrease fatigue upon approaching mid-race. (Pace Chaser)", - Group: 20056, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&phase_laterhalf_random==0&order_rate<=50", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20021, - }, - SkillRacePlanner: { - ID: 200571, - Name: "Race Planner", - Description: "Decrease fatigue mid-race. (Pace Chaser)", - Group: 20057, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&phase_random==1&order_rate<=50", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20022, - }, - SkillPreferredPosition: { - ID: 200572, - Name: "Preferred Position", - Description: "Slightly decrease fatigue mid-race. (Pace Chaser)", - Group: 20057, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&phase_random==1&order_rate<=50", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20021, - }, - SkillSpeedStar: { - ID: 200581, - Name: "Speed Star", - Description: "Increase ability to break out of the pack on the final corner. (Pace Chaser)", - Group: 20058, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&is_finalcorner_random==1&order_rate<=50", - Duration: 18000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20012, - }, - SkillPreparedtoPass: { - ID: 200582, - Name: "Prepared to Pass", - Description: "Slightly increase ability to break out of the pack on the final corner. (Pace Chaser)", - Group: 20058, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&is_finalcorner_random==1&order_rate<=50", - Duration: 18000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20011, - }, - SkillFastAndFurious: { - ID: 200591, - Name: "Fast & Furious", - Description: "Increase velocity mid-race. (Late Surger)", - Group: 20059, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_random==1&order_rate>50", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20012, - }, - SkillPositionPilfer: { - ID: 200592, - Name: "Position Pilfer", - Description: "Slightly increase velocity mid-race. (Late Surger)", - Group: 20059, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_random==1&order_rate>50", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20011, - }, - SkillOnYourLeft: { - ID: 200601, - Name: "On Your Left!", - Description: "Increase acceleration late-race. (Late Surger)", - Group: 20060, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_random==2&order_rate>50", - Duration: 18000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20042, - }, - SkillSlickSurge: { - ID: 200602, - Name: "Slick Surge", - Description: "Slightly increase acceleration late-race. (Late Surger)", - Group: 20060, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_random==2&order_rate>50", - Duration: 18000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20041, - }, - SkillRisingDragon: { - ID: 200611, - Name: "Rising Dragon", - Description: "Increase velocity when passing another runner on the outside on the final corner. (Late Surger)", - Group: 20061, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&is_finalcorner==1&corner!=0&is_behind_in==1&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20012, - }, - SkillOuterSwell: { - ID: 200612, - Name: "Outer Swell", - Description: "Slightly increase velocity when passing another runner on the outside on the final corner. (Late Surger)", - Group: 20061, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&is_finalcorner==1&corner!=0&is_behind_in==1&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20011, - }, - SkillSleepingLion: { - ID: 200621, - Name: "Sleeping Lion", - Description: "Decrease fatigue mid-race. (End Closer)", - Group: 20062, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&phase_random==1&distance_diff_rate>=75", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20022, - }, - SkillStandingBy: { - ID: 200622, - Name: "Standing By", - Description: "Slightly decrease fatigue mid-race. (End Closer)", - Group: 20062, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&phase_random==1&distance_diff_rate>=75", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20021, - }, - SkillSturmundDrang: { - ID: 200631, - Name: "Sturm und Drang", - Description: "Move up in preparation to close the gap when positioned toward the back late-race. (End Closer)", - Group: 20063, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&phase_random==2&distance_diff_rate>=50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20012, - }, - SkillMasterfulGambit: { - ID: 200632, - Name: "Masterful Gambit", - Description: "Slightly move up in preparation to close the gap when positioned toward the back late-race. (End Closer)", - Group: 20063, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&phase_random==2&distance_diff_rate>=50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20011, - }, - SkillEncroachingShadow: { - ID: 200641, - Name: "Encroaching Shadow", - Description: "Increase acceleration on a straight in the last spurt. (End Closer)", - Group: 20064, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&is_lastspurt==1&corner==0", - Duration: 9000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20042, - }, - SkillStraightawaySpurt: { - ID: 200642, - Name: "Straightaway Spurt", - Description: "Slightly increase acceleration on a straight in the last spurt. (End Closer)", - Group: 20064, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&is_lastspurt==1&corner==0", - Duration: 9000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20041, - }, - SkillTurboSprint: { - ID: 200651, - Name: "Turbo Sprint", - Description: "Increase acceleration on a straight. (Sprint)", - Group: 20065, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20042, - }, - SkillSprintingGear: { - ID: 200652, - Name: "Sprinting Gear", - Description: "Slightly increase acceleration on a straight. (Sprint)", - Group: 20065, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20041, - }, - SkillWaitandSee: { - ID: 200662, - Name: "Wait-and-See", - Description: "Slightly decrease fatigue and very slightly increase acceleration when positioned toward the back mid-race. (Sprint)", - Group: 20066, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_random==1&order_rate>50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20021, - }, - SkillBlindingFlash: { - ID: 200671, - Name: "Blinding Flash", - Description: "Increase spurting ability when positioned toward the back late-race. (Sprint)", - Group: 20067, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_random==2&order_rate>50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillGapCloser: { - ID: 200672, - Name: "Gap Closer", - Description: "Slightly increase spurting ability when positioned toward the back late-race. (Sprint)", - Group: 20067, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_random==2&order_rate>50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillMileMaven: { - ID: 200681, - Name: "Mile Maven", - Description: "Widen the margin when positioned toward the front early-race. (Mile)", - Group: 20068, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_random==0&accumulatetime>=5&order_rate<=50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillProductivePlan: { - ID: 200682, - Name: "Productive Plan", - Description: "Slightly widen the margin when positioned toward the front early-race. (Mile)", - Group: 20068, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_random==0&accumulatetime>=5&order_rate<=50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillKeenEye: { - ID: 200691, - Name: "Keen Eye", - Description: "Decrease fatigue, then moderately decrease velocity of runners ahead when positioned toward the back upon approaching mid-race. (Mile)", - Group: 20069, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_laterhalf_random==0&order_rate>50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - {Type: 21, ValueUsage: 1, Value: -2000, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 160, - IconID: 20022, - }, - SkillWatchfulEye: { - ID: 200692, - Name: "Watchful Eye", - Description: "Slightly decrease fatigue, then very slightly decrease velocity of runners ahead when positioned toward the back upon approaching mid-race. (Mile)", - Group: 20069, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_laterhalf_random==0&order_rate>50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - {Type: 21, ValueUsage: 1, Value: -500, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 160, - IconID: 20021, - }, - SkillFuriousFeat: { - ID: 200701, - Name: "Furious Feat", - Description: "Increase passing ability when positioned toward the back late-race. (Mile)", - Group: 20070, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_random==2&order_rate>50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20042, - }, - SkillUpdrafters: { - ID: 200702, - Name: "Updrafters", - Description: "Slightly increase passing ability when positioned toward the back late-race. (Mile)", - Group: 20070, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_random==2&order_rate>50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20041, - }, - SkillTrackblazer: { - ID: 200711, - Name: "Trackblazer", - Description: "Decrease fatigue when positioned toward the front mid-race. (Medium)", - Group: 20071, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase_random==1&order<=3", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20022, - }, - SkillRosyOutlook: { - ID: 200712, - Name: "Rosy Outlook", - Description: "Slightly decrease fatigue when positioned toward the front mid-race. (Medium)", - Group: 20071, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase_random==1&order<=3", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20021, - }, - SkillKillerTunes: { - ID: 200721, - Name: "Killer Tunes", - Description: "Increase positioning ability when positioned toward the front mid-race. (Medium)", - Group: 20072, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase_random==1&order_rate<=50", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillUpTempo: { - ID: 200722, - Name: "Up-Tempo", - Description: "Slightly increase positioning ability when positioned toward the front mid-race. (Medium)", - Group: 20072, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase_random==1&order_rate<=50", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillUnyielding: { - ID: 200731, - Name: "Unyielding", - Description: "Increase ability to fight back when passed by another runner on the final corner. (Medium)", - Group: 20073, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&is_finalcorner==1&corner!=0&change_order_onetime>0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillSteadfast: { - ID: 200732, - Name: "Steadfast", - Description: "Slightly increase ability to fight back when passed by another runner on the final corner. (Medium)", - Group: 20073, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&is_finalcorner==1&corner!=0&change_order_onetime>0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillCooldown: { - ID: 200741, - Name: "Cooldown", - Description: "Decrease fatigue by taking a breather upon entering a straight. (Long)", - Group: 20074, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&straight_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20022, - }, - SkillDeepBreaths: { - ID: 200742, - Name: "Deep Breaths", - Description: "Slightly decrease fatigue by taking a breather upon entering a straight. (Long)", - Group: 20074, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&straight_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20021, - }, - SkillInnateExperience: { - ID: 200751, - Name: "Innate Experience", - Description: "Increase velocity when near the inner rail on the final corner. (Long)", - Group: 20075, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&is_finalcorner==1&corner!=0&lane_type==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillInsideScoop: { - ID: 200752, - Name: "Inside Scoop", - Description: "Slightly increase velocity when near the inner rail on the final corner. (Long)", - Group: 20075, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&is_finalcorner==1&corner!=0&lane_type==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillAdrenalineRush: { - ID: 200761, - Name: "Adrenaline Rush", - Description: "Regain the energy to run when close to exhausting strength. (Long)", - Group: 20076, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&hp_per<=30", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20022, - }, - SkillExtraTank: { - ID: 200762, - Name: "Extra Tank", - Description: "Slightly regain the energy to run when close to exhausting strength. (Long)", - Group: 20076, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&hp_per<=30", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20021, - }, - SkillTrickFront: { - ID: 200771, - Name: "Trick (Front)", - Description: "Slightly increase fatigue for rushed runners behind when positioned toward the front mid-race.", - Group: 20077, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&order_rate<=50&temptation_count_behind>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 20, TargetValue: 10}, - }, - }, - }, - SPCost: 140, - IconID: 30051, - }, - SkillTantalizingTrick: { - ID: 200772, - Name: "Tantalizing Trick", - Description: "Increase fatigue for rushed runners behind when positioned toward the front mid-race.", - Group: 20077, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&order_rate<=50&temptation_count_behind>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -300, Target: 20, TargetValue: 10}, - }, - }, - }, - SPCost: 140, - IconID: 30052, - }, - SkillTrickRear: { - ID: 200781, - Name: "Trick (Rear)", - Description: "Slightly increase fatigue for rushed runners ahead when positioned toward the back mid-race.", - Group: 20078, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&order_rate>50&temptation_count_infront>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 19, TargetValue: 10}, - }, - }, - }, - SPCost: 140, - IconID: 30051, - }, - SkillFrenziedFrontRunners: { - ID: 200791, - Name: "Frenzied Front Runners", - Description: "Increase time needed for front runners to calm down when they become rushed.", - Group: 20079, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_temptation_count_nige>=1&is_temptation==0", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 13, ValueUsage: 1, Value: 50000, Target: 21, TargetValue: 1}, - }, - }, - }, - SPCost: 130, - IconID: 30041, - }, - SkillFrenziedPaceChasers: { - ID: 200801, - Name: "Frenzied Pace Chasers", - Description: "Increase time needed for pace chasers to calm down when they become rushed.", - Group: 20080, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_temptation_count_senko>=1&is_temptation==0", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 13, ValueUsage: 1, Value: 50000, Target: 21, TargetValue: 2}, - }, - }, - }, - SPCost: 130, - IconID: 30041, - }, - SkillFrenziedLateSurgers: { - ID: 200811, - Name: "Frenzied Late Surgers", - Description: "Increase time needed for late surgers to calm down when they become rushed.", - Group: 20081, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_temptation_count_sashi>=1&is_temptation==0", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 13, ValueUsage: 1, Value: 50000, Target: 21, TargetValue: 3}, - }, - }, - }, - SPCost: 130, - IconID: 30041, - }, - SkillFrenziedEndClosers: { - ID: 200821, - Name: "Frenzied End Closers", - Description: "Increase time needed for end closers to calm down when they become rushed.", - Group: 20082, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_temptation_count_oikomi>=1&is_temptation==0", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 13, ValueUsage: 1, Value: 50000, Target: 21, TargetValue: 4}, - }, - }, - }, - SPCost: 130, - IconID: 30041, - }, - SkillSubduedFrontRunners: { - ID: 200831, - Name: "Subdued Front Runners", - Description: "Slightly increase fatigue for front runners early-race.", - Group: 20083, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_nige_otherself>=1&phase_random==0&accumulatetime>=5", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 18, TargetValue: 1}, - }, - }, - }, - SPCost: 130, - IconID: 30051, - }, - SkillFlusteredFrontRunners: { - ID: 200841, - Name: "Flustered Front Runners", - Description: "Slightly increase fatigue for front runners mid-race.", - Group: 20084, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_nige_otherself>=1&phase_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 18, TargetValue: 1}, - }, - }, - }, - SPCost: 130, - IconID: 30051, - }, - SkillHesitantFrontRunners: { - ID: 200851, - Name: "Hesitant Front Runners", - Description: "Slightly decrease velocity of front runners late-race.", - Group: 20085, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_nige_otherself>=1&phase_random==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -1500, Target: 18, TargetValue: 1}, - }, - }, - }, - SPCost: 130, - IconID: 30011, - }, - SkillSubduedPaceChasers: { - ID: 200861, - Name: "Subdued Pace Chasers", - Description: "Slightly increase fatigue for pace chasers early-race.", - Group: 20086, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_senko_otherself>=1&phase_random==0&accumulatetime>=5", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 18, TargetValue: 2}, - }, - }, - }, - SPCost: 130, - IconID: 30051, - }, - SkillFlusteredPaceChasers: { - ID: 200871, - Name: "Flustered Pace Chasers", - Description: "Slightly increase fatigue for pace chasers mid-race.", - Group: 20087, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_senko_otherself>=1&phase_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 18, TargetValue: 2}, - }, - }, - }, - SPCost: 130, - IconID: 30051, - }, - SkillHesitantPaceChasers: { - ID: 200881, - Name: "Hesitant Pace Chasers", - Description: "Slightly decrease velocity of pace chasers late-race.", - Group: 20088, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_senko_otherself>=1&phase_random==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -1500, Target: 18, TargetValue: 2}, - }, - }, - }, - SPCost: 130, - IconID: 30011, - }, - SkillSubduedLateSurgers: { - ID: 200891, - Name: "Subdued Late Surgers", - Description: "Slightly increase fatigue for late surgers early-race.", - Group: 20089, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_sashi_otherself>=1&phase_random==0&accumulatetime>=5", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 18, TargetValue: 3}, - }, - }, - }, - SPCost: 130, - IconID: 30051, - }, - SkillFlusteredLateSurgers: { - ID: 200901, - Name: "Flustered Late Surgers", - Description: "Slightly increase fatigue for late surgers mid-race.", - Group: 20090, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_sashi_otherself>=1&phase_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 18, TargetValue: 3}, - }, - }, - }, - SPCost: 130, - IconID: 30051, - }, - SkillHesitantLateSurgers: { - ID: 200911, - Name: "Hesitant Late Surgers", - Description: "Slightly decrease velocity of late surgers late-race.", - Group: 20091, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_sashi_otherself>=1&phase_random==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -1500, Target: 18, TargetValue: 3}, - }, - }, - }, - SPCost: 130, - IconID: 30011, - }, - SkillSubduedEndClosers: { - ID: 200921, - Name: "Subdued End Closers", - Description: "Slightly increase fatigue for end closers early-race.", - Group: 20092, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_oikomi_otherself>=1&phase_random==0&accumulatetime>=5", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 18, TargetValue: 4}, - }, - }, - }, - SPCost: 130, - IconID: 30051, - }, - SkillFlusteredEndClosers: { - ID: 200931, - Name: "Flustered End Closers", - Description: "Slightly increase fatigue for end closers mid-race.", - Group: 20093, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_oikomi_otherself>=1&phase_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 18, TargetValue: 4}, - }, - }, - }, - SPCost: 130, - IconID: 30051, - }, - SkillHesitantEndClosers: { - ID: 200941, - Name: "Hesitant End Closers", - Description: "Slightly decrease velocity of end closers late-race.", - Group: 20094, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style_count_oikomi_otherself>=1&phase_random==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -1500, Target: 18, TargetValue: 4}, - }, - }, - }, - SPCost: 130, - IconID: 30011, - }, - SkillOiRacecourseLv2: { - ID: 200951, - Name: "Oi Racecourse ◎", - Description: "Increase performance at Oi Racecourse.", - Group: 20095, - Rarity: 1, - GroupRate: 2, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "track_id==10101", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10021, - }, - SkillOiRacecourse: { - ID: 200952, - Name: "Oi Racecourse ○", - Description: "Moderately increase performance at Oi Racecourse.", - Group: 20095, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "track_id==10101", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 90, - IconID: 10021, - }, - SkillOiRacecourseX: { - ID: 200953, - Name: "Oi Racecourse ×", - Description: "Moderately decrease performance at Oi Racecourse.", - Group: 20095, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "track_id==10101", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10024, - }, - SkillSprintStraightawaysLv2: { - ID: 200961, - Name: "Sprint Straightaways ◎", - Description: "Moderately increase velocity on a straight. (Sprint)", - Group: 20096, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20011, - }, - SkillSprintStraightaways: { - ID: 200962, - Name: "Sprint Straightaways ○", - Description: "Slightly increase velocity on a straight. (Sprint)", - Group: 20096, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20011, - }, - SkillSprintCornersLv2: { - ID: 200971, - Name: "Sprint Corners ◎", - Description: "Moderately increase velocity on a corner. (Sprint)", - Group: 20097, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20011, - }, - SkillSprintCorners: { - ID: 200972, - Name: "Sprint Corners ○", - Description: "Slightly increase velocity on a corner. (Sprint)", - Group: 20097, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20011, - }, - SkillStaggeringLead: { - ID: 200981, - Name: "Staggering Lead", - Description: "Increase ability to maintain the lead when leading by a large margin mid-race. (Sprint)", - Group: 20098, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase==1&bashin_diff_behind>=3&order==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20012, - }, - SkillHugeLead: { - ID: 200982, - Name: "Huge Lead", - Description: "Slightly increase ability to maintain the lead when leading by a large margin mid-race. (Sprint)", - Group: 20098, - Rarity: 1, - GroupRate: 1, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase==1&bashin_diff_behind>=3&order==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20011, - }, - SkillPlanX: { - ID: 200991, - Name: "Plan X", - Description: "Increase passing ability when positioned toward the front upon approaching late-race. (Sprint)", - Group: 20099, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_laterhalf_random==1&order>=2&order_rate<=50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20042, - }, - SkillCountermeasure: { - ID: 200992, - Name: "Countermeasure", - Description: "Slightly increase passing ability when positioned toward the front upon approaching late-race. (Sprint)", - Group: 20099, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_laterhalf_random==1&order>=2&order_rate<=50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20041, - }, - SkillPerfectPrep: { - ID: 201001, - Name: "Perfect Prep!", - Description: "Prepare to make for the finish line for a medium duration mid-race. (Sprint)", - Group: 20100, - Rarity: 2, - GroupRate: 2, - GradeValue: 394, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_random==1", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20052, - }, - SkillMeticulousMeasures: { - ID: 201002, - Name: "Meticulous Measures", - Description: "Moderately prepare to make for the finish line for a medium duration mid-race. (Sprint)", - Group: 20100, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_random==1", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 250, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20051, - }, - SkillAdoredbyAll: { - ID: 201011, - Name: "Adored by All", - Description: "Intimidate runners behind when positioned toward the front early-race. (Sprint)", - Group: 20101, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_random==0&order_rate<=50&accumulatetime>=5", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -2500, Target: 10, TargetValue: 18}, - }, - }, - }, - SPCost: 170, - IconID: 30012, - }, - SkillIntimidate: { - ID: 201012, - Name: "Intimidate", - Description: "Moderately intimidate runners behind when positioned toward the front early-race. (Sprint)", - Group: 20101, - Rarity: 1, - GroupRate: 1, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_random==0&order_rate<=50&accumulatetime>=5", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -2000, Target: 10, TargetValue: 18}, - }, - }, - }, - SPCost: 170, - IconID: 30011, - }, - SkillYouveGotNoShot: { - ID: 201021, - Name: "You've Got No Shot", - Description: "Cause panic in and moderately dull movement for runners ahead when positioned toward the back early-race. (Sprint)", - Group: 20102, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_random==0&order_rate>50&accumulatetime>=5", - Duration: 12000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -300, Target: 9, TargetValue: 18}, - {Type: 31, ValueUsage: 1, Value: -2000, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 170, - IconID: 30052, - }, - SkillStopRightThere: { - ID: 201022, - Name: "Stop Right There!", - Description: "Slightly cause panic in and very slightly dull movement for runners ahead when positioned toward the back early-race. (Sprint)", - Group: 20102, - Rarity: 1, - GroupRate: 1, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_random==0&order_rate>50&accumulatetime>=5", - Duration: 12000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 9, TargetValue: 18}, - {Type: 31, ValueUsage: 1, Value: -500, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 170, - IconID: 30051, - }, - SkillMileStraightawaysLv2: { - ID: 201031, - Name: "Mile Straightaways ◎", - Description: "Moderately increase velocity on a straight. (Mile)", - Group: 20103, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20011, - }, - SkillMileStraightaways: { - ID: 201032, - Name: "Mile Straightaways ○", - Description: "Slightly increase velocity on a straight. (Mile)", - Group: 20103, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20011, - }, - SkillMileCornersLv2: { - ID: 201041, - Name: "Mile Corners ◎", - Description: "Moderately increase velocity on a corner. (Mile)", - Group: 20104, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20011, - }, - SkillMileCorners: { - ID: 201042, - Name: "Mile Corners ○", - Description: "Slightly increase velocity on a corner. (Mile)", - Group: 20104, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20011, - }, - SkillChangingGears: { - ID: 201051, - Name: "Changing Gears", - Description: "Increase passing ability when positioned toward the front mid-race. (Mile)", - Group: 20105, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_random==1&order_rate<=50", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillShiftingGears: { - ID: 201052, - Name: "Shifting Gears", - Description: "Slightly increase passing ability when positioned toward the front mid-race. (Mile)", - Group: 20105, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_random==1&order_rate<=50", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillStepontheGas: { - ID: 201061, - Name: "Step on the Gas!", - Description: "Increase acceleration when passing another runner mid-race. (Mile)", - Group: 20106, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase==1&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20042, - }, - SkillAcceleration: { - ID: 201062, - Name: "Acceleration", - Description: "Slightly increase acceleration when passing another runner mid-race. (Mile)", - Group: 20106, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase==1&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20041, - }, - SkillBigSisterly: { - ID: 201071, - Name: "Big-Sisterly", - Description: "Increase passing ability. (Mile)", - Group: 20107, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&is_overtake==1&accumulatetime>=5", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20012, - }, - SkillUnyieldingSpirit: { - ID: 201072, - Name: "Unyielding Spirit", - Description: "Slightly increase passing ability. (Mile)", - Group: 20107, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&is_overtake==1&accumulatetime>=5", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20011, - }, - SkillGreedforSpeed: { - ID: 201081, - Name: "Greed for Speed", - Description: "Moderately steal velocity from runners behind when positioned toward the front mid-race. (Mile)", - Group: 20108, - Rarity: 2, - GroupRate: 2, - GradeValue: 461, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_random==1&order<=3", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -2000, Target: 10, TargetValue: 5}, - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 30012, - }, - SkillSpeedEater: { - ID: 201082, - Name: "Speed Eater", - Description: "Slightly steal velocity from runners behind when positioned toward the front mid-race. (Mile)", - Group: 20108, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_random==1&order<=3", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -1500, Target: 10, TargetValue: 5}, - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 30011, - }, - SkillBattleFormation: { - ID: 201091, - Name: "Battle Formation", - Description: "Dull movement for runners ahead when positioned toward the back early-race. (Mile)", - Group: 20109, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_random==0&order_rate>50&accumulatetime>=3", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: -3000, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 160, - IconID: 30022, - }, - SkillOpeningGambit: { - ID: 201092, - Name: "Opening Gambit", - Description: "Slightly dull movement for runners ahead when positioned toward the back early-race. (Mile)", - Group: 20109, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==2&phase_random==0&order_rate>50&accumulatetime>=3", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: -1000, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 160, - IconID: 30021, - }, - SkillMediumStraightawaysLv2: { - ID: 201101, - Name: "Medium Straightaways ◎", - Description: "Moderately increase velocity on a straight. (Medium)", - Group: 20110, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20011, - }, - SkillMediumStraightaways: { - ID: 201102, - Name: "Medium Straightaways ○", - Description: "Slightly increase velocity on a straight. (Medium)", - Group: 20110, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20011, - }, - SkillFlashForward: { - ID: 201103, - Name: "Flash Forward", - Description: "Increase velocity on a straight. (Medium)", - Group: 20110, - Rarity: 2, - GroupRate: 3, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 150, - IconID: 20012, - }, - SkillMediumCornersLv2: { - ID: 201111, - Name: "Medium Corners ◎", - Description: "Moderately increase velocity on a corner. (Medium)", - Group: 20111, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20011, - }, - SkillMediumCorners: { - ID: 201112, - Name: "Medium Corners ○", - Description: "Slightly increase velocity on a corner. (Medium)", - Group: 20111, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20011, - }, - SkillClairvoyance: { - ID: 201121, - Name: "Clairvoyance", - Description: "Widen field of view with heightened observation early-race. (Medium)", - Group: 20112, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase_random==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: 150000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20092, - }, - SkillHawkeye: { - ID: 201122, - Name: "Hawkeye", - Description: "Moderately widen field of view with heightened observation early-race. (Medium)", - Group: 20112, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase_random==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: 100000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20091, - }, - SkillLightningStep: { - ID: 201131, - Name: "Lightning Step", - Description: "Avoid becoming surrounded for a medium duration when positioned toward the back mid-race. (Medium)", - Group: 20113, - Rarity: 2, - GroupRate: 2, - GradeValue: 394, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase_random==1&order_rate>50", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20052, - }, - SkillThunderboltStep: { - ID: 201132, - Name: "Thunderbolt Step", - Description: "Moderately avoid becoming surrounded for a medium duration when positioned toward the back mid-race. (Medium)", - Group: 20113, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase_random==1&order_rate>50", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 250, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20051, - }, - SkillMiraculousStep: { - ID: 201141, - Name: "Miraculous Step", - Description: "Decrease fatigue when moving sideways. (Medium)", - Group: 20114, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&is_move_lane==1&accumulatetime>=10@distance_type==3&is_move_lane==2&accumulatetime>=10", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20022, - }, - SkillSoftStep: { - ID: 201142, - Name: "Soft Step", - Description: "Slightly decrease fatigue when moving sideways. (Medium)", - Group: 20114, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&is_move_lane==1&accumulatetime>=10@distance_type==3&is_move_lane==2&accumulatetime>=10", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20021, - }, - SkillDominator: { - ID: 201151, - Name: "Dominator", - Description: "Decrease velocity of runners ahead when positioned toward the back late-race. (Medium)", - Group: 20115, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase_random==2&order_rate>50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -2500, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 160, - IconID: 30012, - }, - SkillTether: { - ID: 201152, - Name: "Tether", - Description: "Slightly decrease velocity of runners ahead when positioned toward the back late-race. (Medium)", - Group: 20115, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase_random==2&order_rate>50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -1500, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 160, - IconID: 30011, - }, - SkillMystifyingMurmur: { - ID: 201161, - Name: "Mystifying Murmur", - Description: "Disturb runners directly ahead mid-race. (Medium)", - Group: 20116, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase==1&blocked_front_continuetime>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -300, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 160, - IconID: 30052, - }, - SkillMurmur: { - ID: 201162, - Name: "Murmur", - Description: "Slightly disturb runners directly ahead mid-race. (Medium)", - Group: 20116, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&phase==1&blocked_front_continuetime>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 160, - IconID: 30051, - }, - SkillLongStraightawaysLv2: { - ID: 201171, - Name: "Long Straightaways ◎", - Description: "Moderately increase velocity on a straight. (Long)", - Group: 20117, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20011, - }, - SkillLongStraightaways: { - ID: 201172, - Name: "Long Straightaways ○", - Description: "Slightly increase velocity on a straight. (Long)", - Group: 20117, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20011, - }, - SkillLongCornersLv2: { - ID: 201181, - Name: "Long Corners ◎", - Description: "Moderately increase velocity on a corner. (Long)", - Group: 20118, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20011, - }, - SkillLongCorners: { - ID: 201182, - Name: "Long Corners ○", - Description: "Slightly increase velocity on a corner. (Long)", - Group: 20118, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20011, - }, - SkillVanguardSpirit: { - ID: 201191, - Name: "Vanguard Spirit", - Description: "Increase ability to maintain the lead when leading by a fair margin mid-race. (Long)", - Group: 20119, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&phase_random==1&bashin_diff_behind>=1&order==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillKeepingtheLead: { - ID: 201192, - Name: "Keeping the Lead", - Description: "Slightly increase ability to maintain the lead when leading by a fair margin mid-race. (Long)", - Group: 20119, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&phase_random==1&bashin_diff_behind>=1&order==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillVIPPass: { - ID: 201201, - Name: "VIP Pass", - Description: "Decrease fatigue when determined to pass another runner. (Long)", - Group: 20120, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&is_overtake==1&accumulatetime>=5", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20022, - }, - SkillPassingPro: { - ID: 201202, - Name: "Passing Pro", - Description: "Slightly decrease fatigue when determined to pass another runner. (Long)", - Group: 20120, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&is_overtake==1&accumulatetime>=5", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20021, - }, - SkillOverwhelmingPressure: { - ID: 201211, - Name: "Overwhelming Pressure", - Description: "Increase velocity when passing another runner late-race. (Long)", - Group: 20121, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&phase==2&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillPressure: { - ID: 201212, - Name: "Pressure", - Description: "Slightly increase velocity when passing another runner late-race. (Long)", - Group: 20121, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&phase==2&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillStaminaSiphon: { - ID: 201221, - Name: "Stamina Siphon", - Description: "Slightly steal endurance from runners ahead when positioned toward the back mid-race. (Long)", - Group: 20122, - Rarity: 2, - GroupRate: 2, - GradeValue: 461, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&phase_random==1&order>=5", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 9, TargetValue: 5}, - {Type: 9, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 30052, - }, - SkillStaminaEater: { - ID: 201222, - Name: "Stamina Eater", - Description: "Very slightly steal endurance from runners ahead when positioned toward the back mid-race. (Long)", - Group: 20122, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&phase_random==1&order>=5", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -50, Target: 9, TargetValue: 5}, - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 30051, - }, - SkillIllusionist: { - ID: 201231, - Name: "Illusionist", - Description: "Narrow the field of view for runners ahead late-race. (Long)", - Group: 20123, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&phase_random==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: -100000, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 110, - IconID: 30072, - }, - SkillSmokeScreen: { - ID: 201232, - Name: "Smoke Screen", - Description: "Moderately narrow the field of view for runners ahead late-race. (Long)", - Group: 20123, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&phase_random==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: -50000, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 110, - IconID: 30071, - }, - SkillFrontRunnerStraightawaysLv2: { - ID: 201241, - Name: "Front Runner Straightaways ◎", - Description: "Moderately increase velocity on a straight. (Front Runner)", - Group: 20124, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20011, - }, - SkillFrontRunnerStraightaways: { - ID: 201242, - Name: "Front Runner Straightaways ○", - Description: "Slightly increase velocity on a straight. (Front Runner)", - Group: 20124, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 20011, - }, - SkillFrontRunnerCornersLv2: { - ID: 201251, - Name: "Front Runner Corners ◎", - Description: "Moderately increase velocity on a corner. (Front Runner)", - Group: 20125, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20011, - }, - SkillFrontRunnerCorners: { - ID: 201252, - Name: "Front Runner Corners ○", - Description: "Slightly increase velocity on a corner. (Front Runner)", - Group: 20125, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 20011, - }, - SkillSixthSense: { - ID: 201261, - Name: "Sixth Sense", - Description: "Avoid becoming surrounded early-race. (Front Runner)", - Group: 20126, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&phase==0&blocked_front_continuetime>=1@running_style==1&phase==0&blocked_side_continuetime>=1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - {Type: 35, ValueUsage: 1, Value: 5000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20052, - }, - SkillDodgingDanger: { - ID: 201262, - Name: "Dodging Danger", - Description: "Moderately avoid becoming surrounded early-race. (Front Runner)", - Group: 20126, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&phase==0&blocked_front_continuetime>=1@running_style==1&phase==0&blocked_side_continuetime>=1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 250, Target: 1, TargetValue: 0}, - {Type: 35, ValueUsage: 1, Value: 5000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20051, - }, - SkillLeadersPride: { - ID: 201272, - Name: "Leader's Pride", - Description: "Slightly increase ability to pass or challenge another runner early-race or mid-race. (Front Runner)", - Group: 20127, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&phase<=1&change_order_onetime>0&accumulatetime>=5@running_style==1&phase<=1&blocked_side_continuetime>=2&accumulatetime>=5", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20011, - }, - SkillRestless: { - ID: 201281, - Name: "Restless", - Description: "Reduce fatigue on an uphill. (Front Runner)", - Group: 20128, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&slope==1&accumulatetime>=10", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20022, - }, - SkillMoxie: { - ID: 201282, - Name: "Moxie", - Description: "Slightly reduce fatigue on an uphill. (Front Runner)", - Group: 20128, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&slope==1&accumulatetime>=10", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20021, - }, - SkillReignition: { - ID: 201291, - Name: "Reignition", - Description: "Increase acceleration when not in the lead mid-race. (Front Runner)", - Group: 20129, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&phase_random==1&order>=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20042, - }, - SkillSecondWind: { - ID: 201292, - Name: "Second Wind", - Description: "Slightly increase acceleration when not in the lead mid-race. (Front Runner)", - Group: 20129, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&phase_random==1&order>=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20041, - }, - SkillRestart: { - ID: 201302, - Name: "Restart", - Description: "Slightly dull movement for runners ahead when not in the lead early-race. (Front Runner)", - Group: 20130, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==1&phase_random==0&order>=2&accumulatetime>=5", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: -1000, Target: 9, TargetValue: 18}, - }, - }, - }, - SPCost: 130, - IconID: 30021, - }, - SkillPaceChaserStraightawaysLv2: { - ID: 201311, - Name: "Pace Chaser Straightaways ◎", - Description: "Moderately increase velocity on a straight. (Pace Chaser)", - Group: 20131, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20011, - }, - SkillPaceChaserStraightaways: { - ID: 201312, - Name: "Pace Chaser Straightaways ○", - Description: "Slightly increase velocity on a straight. (Pace Chaser)", - Group: 20131, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 20011, - }, - SkillPaceChaserCornersLv2: { - ID: 201321, - Name: "Pace Chaser Corners ◎", - Description: "Moderately increase velocity on a corner. (Pace Chaser)", - Group: 20132, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20011, - }, - SkillPaceChaserCorners: { - ID: 201322, - Name: "Pace Chaser Corners ○", - Description: "Slightly increase velocity on a corner. (Pace Chaser)", - Group: 20132, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 20011, - }, - SkillTechnician: { - ID: 201331, - Name: "Technician", - Description: "Moderately increase ability to navigate smoothly. (Pace Chaser)", - Group: 20133, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&is_move_lane==1@running_style==2&is_move_lane==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20042, - }, - SkillShrewdStep: { - ID: 201332, - Name: "Shrewd Step", - Description: "Slightly increase ability to navigate smoothly. (Pace Chaser)", - Group: 20133, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&is_move_lane==1@running_style==2&is_move_lane==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20041, - }, - SkillDeterminedDescent: { - ID: 201341, - Name: "Determined Descent", - Description: "Moderately improve running on a downhill. (Pace Chaser)", - Group: 20134, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&down_slope_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20042, - }, - SkillStraightDescent: { - ID: 201342, - Name: "Straight Descent", - Description: "Slightly improve running on a downhill. (Pace Chaser)", - Group: 20134, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&down_slope_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20041, - }, - SkillGourmand: { - ID: 201351, - Name: "Gourmand", - Description: "Recover endurance mid-race. (Pace Chaser)", - Group: 20135, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&phase_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20022, - }, - SkillHydrate: { - ID: 201352, - Name: "Hydrate", - Description: "Slightly recover endurance mid-race. (Pace Chaser)", - Group: 20135, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&phase_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20021, - }, - SkillShatterproof: { - ID: 201361, - Name: "Shatterproof", - Description: "Moderately increase acceleration when positioned toward the back mid-race. (Pace Chaser)", - Group: 20136, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&phase_random==1&order_rate>40", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20042, - }, - SkillTacticalTweak: { - ID: 201362, - Name: "Tactical Tweak", - Description: "Slightly increase acceleration when positioned toward the back mid-race. (Pace Chaser)", - Group: 20136, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&phase_random==1&order_rate>40", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20041, - }, - SkillDazzlingDisorientation: { - ID: 201371, - Name: "Dazzling Disorientation", - Description: "Moderately narrow the field of view for runners behind when positioned toward the front late-race. (Pace Chaser)", - Group: 20137, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&phase_random==2&order_rate<=50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: -50000, Target: 10, TargetValue: 18}, - }, - }, - }, - SPCost: 110, - IconID: 30072, - }, - SkillDisorient: { - ID: 201372, - Name: "Disorient", - Description: "Slightly narrow the field of view for runners behind when positioned toward the front late-race. (Pace Chaser)", - Group: 20137, - Rarity: 1, - GroupRate: 1, - GradeValue: 85, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&phase_random==2&order_rate<=50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: -30000, Target: 10, TargetValue: 18}, - }, - }, - }, - SPCost: 110, - IconID: 30071, - }, - SkillLateSurgerStraightawaysLv2: { - ID: 201381, - Name: "Late Surger Straightaways ◎", - Description: "Moderately increase velocity on a straight. (Late Surger)", - Group: 20138, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20011, - }, - SkillLateSurgerStraightaways: { - ID: 201382, - Name: "Late Surger Straightaways ○", - Description: "Slightly increase velocity on a straight. (Late Surger)", - Group: 20138, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 20011, - }, - SkillLateSurgerCornersLv2: { - ID: 201391, - Name: "Late Surger Corners ◎", - Description: "Moderately increase velocity on a corner. (Late Surger)", - Group: 20139, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20011, - }, - SkillLateSurgerCorners: { - ID: 201392, - Name: "Late Surger Corners ○", - Description: "Slightly increase velocity on a corner. (Late Surger)", - Group: 20139, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 20011, - }, - SkillHardWorker: { - ID: 201401, - Name: "Hard Worker", - Description: "Moderately increase acceleration for a medium duration when trying to pass another runner. (Late Surger)", - Group: 20140, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&is_overtake==1&accumulatetime>=5", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20042, - }, - SkillFighter: { - ID: 201402, - Name: "Fighter", - Description: "Slightly increase acceleration for a medium duration when trying to pass another runner. (Late Surger)", - Group: 20140, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&is_overtake==1&accumulatetime>=5", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20041, - }, - SkillFifteenMillionCC: { - ID: 201411, - Name: "15,000,000 CC", - Description: "Increase velocity on an uphill. (Late Surger)", - Group: 20141, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&up_slope_random==1", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20012, - }, - SkillOneMillionCC: { - ID: 201412, - Name: "1,500,000 CC", - Description: "Slightly increase velocity on an uphill. (Late Surger)", - Group: 20141, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&up_slope_random==1", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20011, - }, - SkillRelax: { - ID: 201421, - Name: "Relax", - Description: "Recover endurance late-race. (Late Surger)", - Group: 20142, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_random==2", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20022, - }, - SkillASmallBreather: { - ID: 201422, - Name: "A Small Breather", - Description: "Slightly recover endurance late-race. (Late Surger)", - Group: 20142, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_random==2", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20021, - }, - SkillTheBiggerPicture: { - ID: 201431, - Name: "The Bigger Picture", - Description: "Widen field of view with heightened observation mid-race. (Late Surger)", - Group: 20143, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: 150000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20092, - }, - SkillStudious: { - ID: 201432, - Name: "Studious", - Description: "Slightly widen field of view with heightened observation mid-race. (Late Surger)", - Group: 20143, - Rarity: 1, - GroupRate: 1, - GradeValue: 85, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: 50000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20091, - }, - SkillAllSeeingEyes: { - ID: 201441, - Name: "All-Seeing Eyes", - Description: "Startle other runners late-race. (Late Surger)", - Group: 20144, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_random==2&order_rate>50", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -300, Target: 4, TargetValue: 18}, - }, - }, - }, - SPCost: 180, - IconID: 30052, - }, - SkillSharpGaze: { - ID: 201442, - Name: "Sharp Gaze", - Description: "Slightly startle other runners late-race. (Late Surger)", - Group: 20144, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_random==2&order_rate>50", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: -100, Target: 4, TargetValue: 18}, - }, - }, - }, - SPCost: 180, - IconID: 30051, - }, - SkillEndCloserStraightawaysLv2: { - ID: 201451, - Name: "End Closer Straightaways ◎", - Description: "Moderately increase velocity on a straight. (End Closer)", - Group: 20145, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20011, - }, - SkillEndCloserStraightaways: { - ID: 201452, - Name: "End Closer Straightaways ○", - Description: "Slightly increase velocity on a straight. (End Closer)", - Group: 20145, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&straight_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 20011, - }, - SkillEndCloserCornersLv2: { - ID: 201461, - Name: "End Closer Corners ◎", - Description: "Moderately increase velocity on a corner. (End Closer)", - Group: 20146, - Rarity: 1, - GroupRate: 2, - GradeValue: 262, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20011, - }, - SkillEndCloserCorners: { - ID: 201462, - Name: "End Closer Corners ○", - Description: "Slightly increase velocity on a corner. (End Closer)", - Group: 20146, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&all_corner_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 20011, - }, - SkillTheCoastIsClear: { - ID: 201471, - Name: "The Coast Is Clear!", - Description: "Moderately widen field of view with situational awareness when moving sideways. (End Closer)", - Group: 20147, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&is_move_lane==1@running_style==4&is_move_lane==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: 100000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20092, - }, - SkillICanSeeRightThroughYou: { - ID: 201472, - Name: "I Can See Right Through You", - Description: "Slightly widen field of view with situational awareness when moving sideways. (End Closer)", - Group: 20147, - Rarity: 1, - GroupRate: 1, - GradeValue: 85, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&is_move_lane==1@running_style==4&is_move_lane==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: 50000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20091, - }, - SkillGoHomeSpecialist: { - ID: 201481, - Name: "Go-Home Specialist", - Description: "Reduce fatigue on a downhill. (End Closer)", - Group: 20148, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&slope==2&accumulatetime>=10", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20022, - }, - SkillAfterSchoolStroll: { - ID: 201482, - Name: "After-School Stroll", - Description: "Slightly reduce fatigue on a downhill. (End Closer)", - Group: 20148, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&slope==2&accumulatetime>=10", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 170, - IconID: 20021, - }, - SkillSerenity: { - ID: 201491, - Name: "Serenity", - Description: "Regain composure by calming down when the way ahead is jammed. (End Closer)", - Group: 20149, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&blocked_front_continuetime>=1&accumulatetime>=10", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20022, - }, - SkillLevelheaded: { - ID: 201492, - Name: "Levelheaded", - Description: "Slightly regain composure by calming down when the way ahead is jammed. (End Closer)", - Group: 20149, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&blocked_front_continuetime>=1&accumulatetime>=10", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20021, - }, - SkillCrusader: { - ID: 201501, - Name: "Crusader", - Description: "Widen field of view when positioned toward the back late-race. (End Closer)", - Group: 20150, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&phase_random==2&order_rate>50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: 150000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20092, - }, - SkillStrategist: { - ID: 201502, - Name: "Strategist", - Description: "Slightly widen field of view when positioned toward the back late-race. (End Closer)", - Group: 20150, - Rarity: 1, - GroupRate: 1, - GradeValue: 85, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&phase_random==2&order_rate>50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 8, ValueUsage: 1, Value: 50000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 20091, - }, - SkillPetrifyingGaze: { - ID: 201511, - Name: "Petrifying Gaze", - Description: "Unnerve runners in focus late-race. (End Closer)", - Group: 20151, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&phase_random==2&order>=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -2500, Target: 4, TargetValue: 18}, - }, - }, - }, - SPCost: 180, - IconID: 30012, - }, - SkillIntenseGaze: { - ID: 201512, - Name: "Intense Gaze", - Description: "Slightly unnerve runners in focus late-race. (End Closer)", - Group: 20151, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&phase_random==2&order>=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -1500, Target: 4, TargetValue: 18}, - }, - }, - }, - SPCost: 180, - IconID: 30011, - }, - SkillFrontRunnerSavvyLv2: { - ID: 201521, - Name: "Front Runner Savvy ◎", - Description: "Increase ability to get into a good position. (Front Runner)", - Group: 20152, - Rarity: 1, - GroupRate: 2, - GradeValue: 217, - Activations: []Activation{ - { - Condition: "running_style==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 5, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - {Type: 8, ValueUsage: 1, Value: 100000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 10051, - }, - SkillFrontRunnerSavvy: { - ID: 201522, - Name: "Front Runner Savvy ○", - Description: "Moderately increase ability to get into a good position. (Front Runner)", - Group: 20152, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "running_style==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 5, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - {Type: 8, ValueUsage: 1, Value: 50000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10051, - }, - SkillPaceChaserSavvyLv2: { - ID: 201531, - Name: "Pace Chaser Savvy ◎", - Description: "Increase ability to get into a good position. (Pace Chaser)", - Group: 20153, - Rarity: 1, - GroupRate: 2, - GradeValue: 217, - Activations: []Activation{ - { - Condition: "running_style==2", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 5, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - {Type: 8, ValueUsage: 1, Value: 100000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 10051, - }, - SkillPaceChaserSavvy: { - ID: 201532, - Name: "Pace Chaser Savvy ○", - Description: "Moderately increase ability to get into a good position. (Pace Chaser)", - Group: 20153, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "running_style==2", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 5, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - {Type: 8, ValueUsage: 1, Value: 50000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10051, - }, - SkillLateSurgerSavvyLv2: { - ID: 201541, - Name: "Late Surger Savvy ◎", - Description: "Increase ability to get into a good position. (Late Surger)", - Group: 20154, - Rarity: 1, - GroupRate: 2, - GradeValue: 217, - Activations: []Activation{ - { - Condition: "running_style==3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 5, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - {Type: 8, ValueUsage: 1, Value: 100000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 10051, - }, - SkillLateSurgerSavvy: { - ID: 201542, - Name: "Late Surger Savvy ○", - Description: "Moderately increase ability to get into a good position. (Late Surger)", - Group: 20154, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "running_style==3", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 5, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - {Type: 8, ValueUsage: 1, Value: 50000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10051, - }, - SkillEndCloserSavvyLv2: { - ID: 201551, - Name: "End Closer Savvy ◎", - Description: "Increase ability to get into a good position. (End Closer)", - Group: 20155, - Rarity: 1, - GroupRate: 2, - GradeValue: 217, - Activations: []Activation{ - { - Condition: "running_style==4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 5, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - {Type: 8, ValueUsage: 1, Value: 100000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 130, - IconID: 10051, - }, - SkillEndCloserSavvy: { - ID: 201552, - Name: "End Closer Savvy ○", - Description: "Moderately increase ability to get into a good position. (End Closer)", - Group: 20155, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - Activations: []Activation{ - { - Condition: "running_style==4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 5, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - {Type: 8, ValueUsage: 1, Value: 50000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10051, - }, - SkillSuperLuckySeven: { - ID: 201561, - Name: "Super Lucky Seven", - Description: "Good things may happen when in bracket 7.", - Group: 20156, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "random_lot==50&post_number==7", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - {Type: 2, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - {Type: 3, ValueUsage: 1, Value: 600000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10062, - }, - SkillLuckySeven: { - ID: 201562, - Name: "Lucky Seven", - Description: "Moderately good things may happen when in bracket 7.", - Group: 20156, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - WitCheck: true, - Activations: []Activation{ - { - Condition: "random_lot==50&post_number==7", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - {Type: 3, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 110, - IconID: 10061, - }, - SkillTripleSevens: { - ID: 201571, - Name: "Triple 7s", - Description: "Slightly gain energy with 777m remaining.", - Group: 20157, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "remain_distance<=778&remain_distance>=776", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20021, - }, - SkillHighlander: { - ID: 201581, - Name: "Highlander", - Description: "Slightly improve running on an uphill.", - Group: 20158, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "up_slope_random==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20041, - }, - SkillUmaStan: { - ID: 201591, - Name: "Uma Stan", - Description: "Slightly increase velocity when close to many runners.", - Group: 20159, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "near_count>=3&accumulatetime>=5", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillSuperstan: { - ID: 201592, - Name: "Superstan", - Description: "Increase velocity when close to many runners.", - Group: 20159, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "near_count>=3&accumulatetime>=5", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillGroundwork: { - ID: 201601, - Name: "Groundwork", - Description: "Slightly increase acceleration after activating many skills early-race.", - Group: 20160, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "activate_count_start>=3", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20041, - }, - SkillTailHeldHigh: { - ID: 201611, - Name: "Tail Held High", - Description: "Slightly increase velocity after activating many skills mid-race.", - Group: 20161, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "activate_count_middle>=3", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20011, - }, - SkillTailNine: { - ID: 201612, - Name: "Tail Nine", - Description: "Increase velocity after activating many skills mid-race.", - Group: 20161, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "activate_count_middle>=3", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20012, - }, - SkillShakeItOut: { - ID: 201621, - Name: "Shake It Out", - Description: "Slightly recover endurance after activating many skills late-race.", - Group: 20162, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "activate_count_end_after>=3", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 100, - IconID: 20021, - }, - SkillSympathy: { - ID: 201631, - Name: "Sympathy", - Description: "Moderately increase performance when many runners share a sympathetic heart.", - Group: 20163, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "same_skill_horse_count>=5", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 70, - IconID: 10011, - }, - SkillLoneWolf: { - ID: 201641, - Name: "Lone Wolf", - Description: "Moderately increase performance when no other runners have the heart of a lone wolf.", - Group: 20164, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - Activations: []Activation{ - { - Condition: "same_skill_horse_count==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 70, - IconID: 10011, - }, - SkillSlipstream: { - ID: 201651, - Name: "Slipstream", - Description: "Slightly decrease wind resistance when following directly behind another runner.", - Group: 20165, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "infront_near_lane_time>=3&accumulatetime>=10", - Duration: 30000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillPlaytimesOver: { - ID: 201661, - Name: "Playtime's Over!", - Description: "Slightly increase velocity when followed by another runner directly behind for a long time.", - Group: 20166, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "behind_near_lane_time>=3&accumulatetime>=10", - Duration: 30000, - DurScale: 1, - Cooldown: 300000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillTrendingintheCharts: { - ID: 201671, - Name: "Trending in the Charts!", - Description: "Increase velocity when engaged in a challenge mid-race. (Dirt)", - Group: 20167, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "ground_type==2&phase==1&blocked_side_continuetime>=2", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20012, - }, - SkillTopPick: { - ID: 201672, - Name: "Top Pick", - Description: "Slightly increase velocity when engaged in a challenge mid-race. (Dirt)", - Group: 20167, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "ground_type==2&phase==1&blocked_side_continuetime>=2", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20011, - }, - SkillLeadtheCharge: { - ID: 201681, - Name: "Lead the Charge!", - Description: "Prepare to aim for the front late-race. (Dirt)", - Group: 20168, - Rarity: 2, - GroupRate: 2, - GradeValue: 394, - WitCheck: true, - Activations: []Activation{ - { - Condition: "ground_type==2&phase_random==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20052, - }, - SkillForwardMarch: { - ID: 201682, - Name: "Forward, March!", - Description: "Moderately prepare to aim for the front late-race. (Dirt)", - Group: 20168, - Rarity: 1, - GroupRate: 1, - GradeValue: 174, - WitCheck: true, - Activations: []Activation{ - { - Condition: "ground_type==2&phase_random==2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 1, Value: 250, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 140, - IconID: 20051, - }, - SkillLieinWait: { - ID: 201691, - Name: "Lie in Wait", - Description: "Recover endurance when positioned toward the back upon approaching mid-race. (Late Surger)", - Group: 20169, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_laterhalf_random==0&order_rate>=50", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20022, - }, - SkillBeStill: { - ID: 201692, - Name: "Be Still", - Description: "Slightly recover endurance when positioned toward the back upon approaching mid-race. (Late Surger)", - Group: 20169, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==3&phase_laterhalf_random==0&order_rate>=50", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20021, - }, - SkillComeWhatMay: { - ID: 201701, - Name: "Come What May", - Description: "Increase velocity when well-positioned on a straight in the last spurt. (Medium)", - Group: 20170, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&is_lastspurt==1&corner==0&order_rate>=20&order_rate<=60", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillAllIveGot: { - ID: 201702, - Name: "All I've Got", - Description: "Slightly increase velocity when well-positioned on a straight in the last spurt. (Medium)", - Group: 20170, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==3&is_lastspurt==1&corner==0&order_rate>=20&order_rate<=60", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillNailArt: { - ID: 201801, - Name: "♡ 3D Nail Art", - Description: "Moderately decrease performance on firm ground.", - Group: 20180, - Rarity: 1, - GroupRate: -1, - GradeValue: -129, - Activations: []Activation{ - { - Condition: "ground_condition==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 50, - IconID: 10014, - }, - SkillHeadOn: { - ID: 201902, - Name: "Head-On", - Description: "Slightly increase acceleration when positioned toward the front late-race. (Pace Chaser)", - Group: 20190, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==2&phase_random==2&order_rate<=50", - Duration: 18000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20041, - }, - SkillFamiliarGround: { - ID: 202002, - Name: "Familiar Ground", - Description: "Slightly recover endurance when positioned toward the back mid-race. (Dirt)", - Group: 20200, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "ground_type==2&phase_random==1&order_rate>=50", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20021, - }, - SkillHeadliner: { - ID: 202011, - Name: "Headliner", - Description: "Increase velocity when positioned toward the front upon approaching late-race. (Long)", - Group: 20201, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&phase_laterhalf_random==1&order_rate<=50", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillFeatureAct: { - ID: 202012, - Name: "Feature Act", - Description: "Slightly increase velocity when positioned toward the front upon approaching late-race. (Long)", - Group: 20201, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==4&phase_laterhalf_random==1&order_rate<=50", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillDaringStrike: { - ID: 202021, - Name: "Daring Strike", - Description: "Moderately increase velocity for a medium duration when positioned toward the back mid-race. (End Closer)", - Group: 20202, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&phase_random==1&order_rate>=50", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20012, - }, - SkillEarlyStart: { - ID: 202022, - Name: "Early Start", - Description: "Very slightly increase velocity for a medium duration when positioned toward the back mid-race. (End Closer)", - Group: 20202, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "running_style==4&phase_random==1&order_rate>=50", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 180, - IconID: 20011, - }, - SkillNothingVentured: { - ID: 202031, - Name: "Nothing Ventured", - Description: "Greatly increase velocity in the second half of the race, but also greatly increase fatigue sometimes.", - Group: 20203, - Rarity: 2, - GroupRate: 2, - GradeValue: 334, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate_after_random==50", - Duration: 18000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 4500, Target: 1, TargetValue: 0}, - {Type: 9, ValueUsage: 8, Value: -10000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20012, - }, - SkillRiskyBusiness: { - ID: 202032, - Name: "Risky Business", - Description: "Moderately increase velocity in the second half of the race, but also greatly increase fatigue sometimes.", - Group: 20203, - Rarity: 1, - GroupRate: 1, - GradeValue: 129, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate_after_random==50", - Duration: 18000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 9, ValueUsage: 8, Value: -10000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 120, - IconID: 20011, - }, - SkillInHighSpirits: { - ID: 202041, - Name: "In High Spirits", - Description: "Increase velocity when positioned toward the front upon approaching late-race. (Sprint)", - Group: 20204, - Rarity: 2, - GroupRate: 2, - GradeValue: 508, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_laterhalf_random==1&order_rate<=50", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20012, - }, - SkillLightasaFeather: { - ID: 202042, - Name: "Light as a Feather", - Description: "Slightly increase velocity when positioned toward the front upon approaching late-race. (Sprint)", - Group: 20204, - Rarity: 1, - GroupRate: 1, - GradeValue: 217, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_type==1&phase_laterhalf_random==1&order_rate<=50", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 160, - IconID: 20011, - }, - SkillRunaway: { - ID: 202051, - Name: "Runaway", - Description: "Attempt to gain an especially large lead and keep it until the finish. (Front Runner)", - Group: 20205, - Rarity: 2, - GroupRate: 2, - GradeValue: 370, - Activations: []Activation{ - { - Condition: "running_style==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 6, ValueUsage: 1, Value: 0, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 200, - IconID: 40012, - }, - SkillBurningSpiritSPD: { - ID: 210011, - Name: "Burning Spirit SPD", - Description: "Burn bright with team spirit, increasing velocity in proportion to the total Speed of racing team members mid-race.", - Group: 21001, - Rarity: 2, - GroupRate: 2, - GradeValue: 633, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==1", - Duration: 18000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 3, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 200, - IconID: 20102, - }, - SkillIgnitedSpiritSPD: { - ID: 210012, - Name: "Ignited Spirit SPD", - Description: "Burn bright with team spirit, slightly increasing velocity in proportion to the total Speed of racing team members mid-race.", - Group: 21001, - Rarity: 1, - GroupRate: 1, - GradeValue: 263, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==1", - Duration: 18000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 3, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 200, - IconID: 20101, - }, - SkillBurningSpiritSTA: { - ID: 210021, - Name: "Burning Spirit STA", - Description: "Burn bright with team spirit, recovering endurance in proportion to the total Stamina of racing team members mid-race.", - Group: 21002, - Rarity: 2, - GroupRate: 2, - GradeValue: 633, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 4, Value: 550, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 200, - IconID: 20112, - }, - SkillIgnitedSpiritSTA: { - ID: 210022, - Name: "Ignited Spirit STA", - Description: "Burn bright with team spirit, slightly recovering endurance in proportion to the total Stamina of racing team members mid-race.", - Group: 21002, - Rarity: 1, - GroupRate: 1, - GradeValue: 263, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 4, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 200, - IconID: 20111, - }, - SkillBurningSpiritPWR: { - ID: 210031, - Name: "Burning Spirit PWR", - Description: "Burn bright with team spirit, increasing acceleration in proportion to the total Power of racing team members late-race.", - Group: 21003, - Rarity: 2, - GroupRate: 2, - GradeValue: 633, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==2", - Duration: 12000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 5, Value: 4000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 200, - IconID: 20122, - }, - SkillIgnitedSpiritPWR: { - ID: 210032, - Name: "Ignited Spirit PWR", - Description: "Burn bright with team spirit, slightly increasing acceleration in proportion to the total Power of racing team members late-race.", - Group: 21003, - Rarity: 1, - GroupRate: 1, - GradeValue: 263, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==2", - Duration: 12000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 5, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 200, - IconID: 20121, - }, - SkillBurningSpiritGUTS: { - ID: 210041, - Name: "Burning Spirit GUTS", - Description: "Burn bright with team spirit, increasing vigor in proportion to the total Guts of racing team members late-race.", - Group: 21004, - Rarity: 2, - GroupRate: 2, - GradeValue: 633, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==2", - Duration: 18000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 6, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 6, Value: 3000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 200, - IconID: 20102, - }, - SkillIgnitedSpiritGUTS: { - ID: 210042, - Name: "Ignited Spirit GUTS", - Description: "Burn bright with team spirit, very slightly increasing vigor in proportion to the total Guts of racing team members late-race.", - Group: 21004, - Rarity: 1, - GroupRate: 1, - GradeValue: 263, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==2", - Duration: 18000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 6, Value: 500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 6, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 200, - IconID: 20101, - }, - SkillBurningSpiritWIT: { - ID: 210051, - Name: "Burning Spirit WIT", - Description: "Burn bright with team spirit, increasing strategic navigation for a medium duration in proportion to the total Wit of racing team members early-race.", - Group: 21005, - Rarity: 2, - GroupRate: 2, - GradeValue: 633, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==0", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 7, Value: 350, Target: 1, TargetValue: 0}, - {Type: 8, ValueUsage: 7, Value: 150000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 200, - IconID: 20132, - }, - SkillIgnitedSpiritWIT: { - ID: 210052, - Name: "Ignited Spirit WIT", - Description: "Burn bright with team spirit, slightly increasing strategic navigation for a medium duration in proportion to the total Wit of racing team members early-race.", - Group: 21005, - Rarity: 1, - GroupRate: 1, - GradeValue: 263, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==0", - Duration: 40000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 28, ValueUsage: 7, Value: 150, Target: 1, TargetValue: 0}, - {Type: 8, ValueUsage: 7, Value: 50000, Target: 1, TargetValue: 0}, - }, - }, - }, - SPCost: 200, - IconID: 20131, - }, - SkillUnquenchedThirst: { - ID: 300011, - Name: "Unquenched Thirst", - Description: "Moderately increase performance with the desire to race.", - Group: 30001, - Rarity: 1, - GroupRate: 1, - GradeValue: 0, - Activations: []Activation{ - { - Condition: "track_id==10008", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - IconID: 10021, - }, - SkillUnchanging: { - ID: 300021, - Name: "Unchanging", - Description: "Greatly increase performance with the same ambition of days past.", - Group: 30002, - Rarity: 2, - GroupRate: 1, - GradeValue: 0, - Activations: []Activation{ - { - Condition: "season==4", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 800000, Target: 1, TargetValue: 0}, - }, - }, - }, - IconID: 10012, - }, - SkillTowardstheSceneryISeek: { - ID: 300031, - Name: "Towards the Scenery I Seek", - Description: "Moderately increase performance in pursuit of that long sought-after scenery.", - Group: 30003, - Rarity: 1, - GroupRate: 1, - GradeValue: 0, - Activations: []Activation{ - { - Condition: "always==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 1, TargetValue: 0}, - }, - }, - }, - IconID: 10011, - }, - SkillCreepingAnxiety: { - ID: 300041, - Name: "Creeping Anxiety", - Description: "Moderately decrease performance due to Trainer's anxiety.", - Group: 30004, - Rarity: 1, - GroupRate: 1, - GradeValue: 0, - Activations: []Activation{ - { - Condition: "always==1", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: -400000, Target: 1, TargetValue: 0}, - }, - }, - }, - IconID: 10014, - }, - SkillBlatantFear: { - ID: 300051, - Name: "Blatant Fear", - Description: "Greatly decrease velocity on a corner in the second half of the race due to Trainer's obvious anxiety.", - Group: 30005, - Rarity: 2, - GroupRate: 1, - GradeValue: 0, - Activations: []Activation{ - { - Condition: "remain_distance>=800&remain_distance<=850", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 21, ValueUsage: 1, Value: -3000, Target: 1, TargetValue: 0}, - }, - }, - }, - IconID: 20015, - }, - SkillDreamRun: { - ID: 300061, - Name: "Dream Run", - Description: "Increase velocity on the final straight due to a strong desire to cross the finish line carrying everyone's hopes and dreams.", - Group: 30006, - Rarity: 2, - GroupRate: 1, - GradeValue: 0, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0", - Duration: 50000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 3500, Target: 1, TargetValue: 0}, - }, - }, - }, - IconID: 20012, - }, - SkillShowMeWhatLiesBeyond: { - ID: 300071, - Name: "Show Me What Lies Beyond!", - Description: "Moderately increase Silence Suzuka's performance thanks to the desire to see her running reach new heights.", - Group: 30007, - Rarity: 1, - GroupRate: 1, - GradeValue: 0, - Activations: []Activation{ - { - Condition: "is_exist_chara_id==1002", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 1, ValueUsage: 1, Value: 400000, Target: 22, TargetValue: 1002}, - }, - }, - }, - IconID: 10011, - }, - SkillHoiyaHaveaGoodRun: { - ID: 300081, - Name: "Hoiya! Have a Good Run!", - Description: "Moderately increase Silence Suzuka's performance thanks to a charm that guarantees a satisfying run.", - Group: 30008, - Rarity: 1, - GroupRate: 1, - GradeValue: 0, - Activations: []Activation{ - { - Condition: "is_exist_chara_id==1002", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 2, ValueUsage: 1, Value: 400000, Target: 22, TargetValue: 1002}, - }, - }, - }, - IconID: 10021, - }, - SkillAsaFriendandRival: { - ID: 300091, - Name: "As a Friend and Rival", - Description: "Moderately increase Silence Suzuka's performance through the happiness felt seeing a friend find their running style.", - Group: 30009, - Rarity: 1, - GroupRate: 1, - GradeValue: 0, - Activations: []Activation{ - { - Condition: "is_exist_chara_id==1002", - Duration: -1, - DurScale: 1, - Abilities: []Ability{ - {Type: 3, ValueUsage: 1, Value: 400000, Target: 22, TargetValue: 1002}, - }, - }, - }, - IconID: 10031, - }, - SkillCheersofaFellowDreamer: { - ID: 300101, - Name: "Cheers of a Fellow Dreamer", - Description: "Recover Silence Suzuka's endurance on a corner in the second half of the race through a friend's cheers of support.", - Group: 30010, - Rarity: 2, - GroupRate: 1, - GradeValue: 0, - Activations: []Activation{ - { - Condition: "is_exist_chara_id==1002&remain_distance_viewer_id>=800&remain_distance_viewer_id<=850", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 550, Target: 22, TargetValue: 1002}, - }, - }, - }, - IconID: 20022, - }, - SkillShootingStarInherit: { - ID: 900011, - Name: "Shooting Star" + " (Inherited)", - Description: "Slightly increase velocity and very minimally increase acceleration after passing another runner toward the front late-race.", - Group: 10001, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase>=2&order>=1&order_rate<=50&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Special Dreamer] Special Week", - SPCost: 200, - IconID: 20011, - }, - SkillTheViewfromtheLeadIsMineInherit: { - ID: 900021, - Name: "The View from the Lead Is Mine!" + " (Inherited)", - Description: "Slightly increase velocity when in the lead by a fair margin in the second half of the race.", - Group: 10002, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order==1&bashin_diff_behind>=1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Innocent Silence] Silence Suzuka", - SPCost: 200, - IconID: 20011, - }, - SkillSkyHighTeioStepInherit: { - ID: 900031, - Name: "Sky-High Teio Step" + " (Inherited)", - Description: "Moderately increase velocity when closing the gap to runners ahead on the final straight.", - Group: 10003, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&order<=3&bashin_diff_infront<=1&is_overtake==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Peak Joy] Tokai Teio", - SPCost: 200, - IconID: 20011, - }, - SkillRedShiftLP1211MInherit: { - ID: 900041, - Name: "Red Shift/LP1211-M" + " (Inherited)", - Description: "Slightly increase acceleration when positioned toward the front on the final corner or later.", - Group: 10004, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&order<=5&order_rate<=50", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Formula R] Maruzensky", - SPCost: 200, - IconID: 20041, - }, - SkillLightsofVaudevilleInherit: { - ID: 900051, - Name: "Lights of Vaudeville" + " (Inherited)", - Description: "Moderately increase velocity when just breaking out of the pack toward the front on the final straight.", - Group: 10005, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&order_rate<=30&behind_near_lane_time_set1>=1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Shooting Star Revue] Fuji Kiseki", - SPCost: 200, - IconID: 20011, - }, - SkillTriumphantPulseInherit: { - ID: 900061, - Name: "Triumphant Pulse" + " (Inherited)", - Description: "Moderately increase ability to break out of the pack when positioned toward the front with 200m remaining.", - Group: 10006, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "order>=2&order<=5&order_rate<=50&remain_distance<=201&remain_distance>=199", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Starlight Beat] Oguri Cap", - SPCost: 200, - IconID: 20011, - }, - SkillAnchorsAweighInherit: { - ID: 900071, - Name: "Anchors Aweigh!" + " (Inherited)", - Description: "Very slightly increase velocity steadily with a long spurt starting halfway through the race.", - Group: 10007, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&distance_rate<=60&order_rate>50", - Duration: 36000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Red Strife] Gold Ship", - SPCost: 200, - IconID: 20011, - }, - SkillCutandDriveInherit: { - ID: 900081, - Name: "Cut and Drive!" + " (Inherited)", - Description: "Slightly increase velocity when positioned toward the front with 200m or less remaining.", - Group: 10008, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "order>=3&order_rate<=50&remain_distance<=200&bashin_diff_infront<=1@order>=3&order_rate<=50&remain_distance<=200&bashin_diff_behind<=1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Wild Top Gear] Vodka", - SPCost: 200, - IconID: 20011, - }, - SkillResplendentRedAceInherit: { - ID: 900091, - Name: "Resplendent Red Ace" + " (Inherited)", - Description: "Very slightly swell with the determination to be number one when positioned toward the front in the second half of the race.", - Group: 10009, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order==1&bashin_diff_behind<=1@distance_rate>=50&order==2&is_overtake==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Peak Blue] Daiwa Scarlet", - SPCost: 200, - IconID: 20011, - }, - SkillShootingforVictoryInherit: { - ID: 900101, - Name: "Shooting for Victory!" + " (Inherited)", - Description: "Slightly increase acceleration when well-positioned upon approaching the final straight.", - Group: 10010, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner_laterhalf==1&corner!=0&order>=3&order_rate<=40", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Wild Frontier] Taiki Shuttle", - SPCost: 200, - IconID: 20041, - }, - SkillWhereTheresaWillTheresaWayInherit: { - ID: 900111, - Name: "Where There's a Will, There's a Way" + " (Inherited)", - Description: "Slightly increase velocity when passing another runner toward the back on the final straight.", - Group: 10011, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&change_order_onetime<0&order>=3", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Stone-Piercing Blue] Grass Wonder", - SPCost: 200, - IconID: 20011, - }, - SkillYouandMeOneonOneInherit: { - ID: 900121, - Name: "You and Me! One-on-One!" + " (Inherited)", - Description: "Slightly increase velocity on the final straight after passing another runner on the outside toward the back on the final corner or later.", - Group: 10012, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Precondition: "is_finalcorner==1&is_behind_in==1&change_order_onetime<0&order_rate>=40", - Condition: "is_finalcorner==1&corner==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Azure Amazon] Hishi Amazon", - SPCost: 200, - IconID: 20011, - }, - SkillTheDutyofDignityCallsInherit: { - ID: 900131, - Name: "The Duty of Dignity Calls" + " (Inherited)", - Description: "Slightly increase velocity when positioned toward the front on the final corner.", - Group: 10013, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&distance_diff_rate<=30", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Frontline Elegance] Mejiro McQueen", - SPCost: 200, - IconID: 20011, - }, - SkillVictoriaporplanchaInherit: { - ID: 900141, - Name: "Victoria por plancha ☆" + " (Inherited)", - Description: "Very slightly hang on to the advantage when positioned toward the front with energy to spare on the final straight.", - Group: 10014, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&hp_per>=30&order<=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[El☆Número 1] El Condor Pasa", - SPCost: 200, - IconID: 20011, - }, - SkillThisDanceIsforVittoriaInherit: { - ID: 900151, - Name: "This Dance Is for Vittoria!" + " (Inherited)", - Description: "Slightly increase velocity when positioned toward the front and close to the runner ahead or behind on the final corner or later.", - Group: 10015, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&bashin_diff_behind<=1&order<=4@is_finalcorner==1&bashin_diff_infront<=1&order<=4", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[O Sole Suo!] T.M. Opera O", - SPCost: 200, - IconID: 20011, - }, - SkillShadowBreakInherit: { - ID: 900161, - Name: "Shadow Break" + " (Inherited)", - Description: "Slightly increase velocity when passing another runner on the outside on the final corner or later. If the skill user engaged in a challenge mid-race, moderately increase velocity instead.", - Group: 10016, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Precondition: "phase==1&blocked_side_continuetime>=2", - Condition: "is_finalcorner==1&order>=2&order_rate<=75&is_behind_in==1&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - { - Condition: "is_finalcorner==1&order>=2&order_rate<=75&is_behind_in==1&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Maverick] Narita Brian", - SPCost: 200, - IconID: 20011, - }, - SkillBeholdThineEmperorsDivineMightInherit: { - ID: 900171, - Name: "Behold Thine Emperor's Divine Might" + " (Inherited)", - Description: "Moderately increase velocity on the final straight after passing another runner 3 times late-race.", - Group: 10017, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&change_order_up_end_after>=3&corner==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Emperor's Path] Symboli Rudolf", - SPCost: 200, - IconID: 20011, - }, - SkillBlazingPrideInherit: { - ID: 900181, - Name: "Blazing Pride" + " (Inherited)", - Description: "Slightly increase velocity when passing another runner from midpack or further back on the final corner.", - Group: 10018, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&order>=3&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Empress Road] Air Groove", - SPCost: 200, - IconID: 20011, - }, - SkillOMGTheFinalSprintInherit: { - ID: 900191, - Name: "OMG! (゚∀゚) The Final Sprint! ☆" + " (Inherited)", - Description: "Slightly increase velocity and navigation after passing another runner 2 times late-race.", - Group: 10019, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "change_order_up_end_after>=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - {Type: 28, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Full-Color Fangirling] Agnes Digital", - SPCost: 200, - IconID: 20011, - }, - SkillAnglingandSchemingInherit: { - ID: 900201, - Name: "Angling and Scheming" + " (Inherited)", - Description: "Slightly increase acceleration when in the lead on a corner late-race.", - Group: 10020, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase>=2&corner!=0&order==1", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Reeling in the Big One] Seiun Sky", - SPCost: 200, - IconID: 20041, - }, - SkillWhiteLightningCominThroughInherit: { - ID: 900211, - Name: "White Lightning Comin' Through!" + " (Inherited)", - Description: "Slightly bolt down the track when well-positioned or aiming for the front from midpack on a straight in the second half of the race.", - Group: 10021, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&corner==0&order_rate>=70&order_rate<=75&is_overtake==1@distance_rate>=50&corner==0&order_rate<=30&order_rate>=20", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Fast as Lightning] Tamamo Cross", - SPCost: 200, - IconID: 20011, - }, - SkillFairyTaleInherit: { - ID: 900221, - Name: "Fairy Tale" + " (Inherited)", - Description: "Slightly increase velocity when engaged in a challenge while well-positioned in the second half of the race.", - Group: 10022, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order>=2&order_rate<=40&blocked_side_continuetime>=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Noble Seamair] Fine Motion", - SPCost: 200, - IconID: 20011, - }, - SkillWinQEDInherit: { - ID: 900231, - Name: "∴win Q.E.D." + " (Inherited)", - Description: "Slightly increase velocity when passing another runner toward the front on the final corner or later.", - Group: 10023, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&change_order_onetime<0&order<=4", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[pf. Winning Equation...] Biwa Hayahide", - SPCost: 200, - IconID: 20011, - }, - SkillFlashyLandingInherit: { - ID: 900241, - Name: "Flashy☆Landing" + " (Inherited)", - Description: "Very slightly increase ability to break out of the pack on the straight after engaging in a challenge toward the front on the final corner or later.", - Group: 10024, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&blocked_side_continuetime>=2&order<=3", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Scramble☆Zone] Mayano Top Gun", - SPCost: 200, - IconID: 20011, - }, - SkillChasingAfterYouInherit: { - ID: 900251, - Name: "Chasing After You" + " (Inherited)", - Description: "Very slightly increase velocity steadily and very minimally intimidate runners ahead when in midpack in the second half of the race.", - Group: 10025, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order_rate>=40&order_rate<=70", - Duration: 36000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - {Type: 21, ValueUsage: 1, Value: -250, Target: 9, TargetValue: 5}, - }, - }, - }, - UniqueOwner: "[Creeping Shadow] Manhattan Cafe", - SPCost: 200, - IconID: 20011, - }, - SkillG00FirstFInfinityInherit: { - ID: 900261, - Name: "G00 1st. F∞;" + " (Inherited)", - Description: "Slightly increase velocity when positioned toward the front after making it to the final straight without faltering.", - Group: 10026, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_badstart==0&temptation_count==0&order<=3&is_finalcorner==1&corner==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[MB-19890425] Mihono Bourbon", - SPCost: 200, - IconID: 20011, - }, - SkillLetsPumpSomeIronInherit: { - ID: 900271, - Name: "Let's Pump Some Iron!" + " (Inherited)", - Description: "Slightly increase acceleration in an attempt to move up on a corner late-race.", - Group: 10027, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase>=2&corner!=0&order_rate>=65&order_rate<=70", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Down the Line] Mejiro Ryan", - SPCost: 200, - IconID: 20041, - }, - SkillYUMMYSPEEDInherit: { - ID: 900281, - Name: "YUMMY☆SPEED!" + " (Inherited)", - Description: "Very slightly kick forward when moderately tired while well-positioned halfway through the race.", - Group: 10028, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=45&distance_rate<=60&order>=3&order_rate<=50&hp_per<=70", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Buono ☆ Alla Moda] Hishi Akebono", - SPCost: 200, - IconID: 20011, - }, - SkillBlueRoseCloserInherit: { - ID: 900301, - Name: "Blue Rose Closer" + " (Inherited)", - Description: "Slightly increase velocity on the final straight after passing another runner in the front part of the pack on the final corner or later.", - Group: 10030, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Precondition: "is_finalcorner==1&order<=4&change_order_onetime<0", - Condition: "is_finalcorner==1&corner==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Rosy Dreams] Rice Shower", - SPCost: 200, - IconID: 20011, - }, - SkillUma2Inherit: { - ID: 900321, - Name: "U=ma2" + " (Inherited)", - Description: "Slightly recover endurance and very slightly increase velocity for a moderate duration when sitting off the pace on a corner in the second half of the race.", - Group: 10032, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&corner!=0&order>=3&order_rate<=40", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Tach-nology] Agnes Tachyon", - SPCost: 200, - IconID: 20021, - }, - SkillShootingStarofDioskouroiInherit: { - ID: 900331, - Name: "Shooting Star of Dioskouroi" + " (Inherited)", - Description: "Slightly increase velocity when far from the lead on the final straight. If positioned around the very back, moderately increase velocity instead.", - Group: 10033, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&distance_diff_top>=5&order_rate<80", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - { - Condition: "is_finalcorner==1&corner==0&distance_diff_top>=5&order_rate>=80", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Starry Nocturne] Admire Vega", - SPCost: 200, - IconID: 20011, - }, - SkillOurTickettoWinInherit: { - ID: 900351, - Name: "Our Ticket to Win!" + " (Inherited)", - Description: "Slightly increase velocity when positioned toward the front on the final straight after engaging in a challenge on the final corner or later.", - Group: 10035, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Precondition: "is_finalcorner==1&blocked_side_continuetime>=2", - Condition: "is_finalcorner==1&corner==0&order<=5", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Get to Winning!] Winning Ticket", - SPCost: 200, - IconID: 20011, - }, - SkillSchwarzesSchwertInherit: { - ID: 900371, - Name: "Schwarzes Schwert" + " (Inherited)", - Description: "Slightly increase velocity in a dash for the lead after running calmly and according to plan up until the final straight.", - Group: 10037, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_badstart==0&temptation_count==0&order>=3&is_finalcorner==1&corner==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Meisterschaft] Eishin Flash", - SPCost: 200, - IconID: 20011, - }, - SkillLookatCurrenInherit: { - ID: 900381, - Name: "#LookatCurren" + " (Inherited)", - Description: "Very slightly begin to advance when passing another runner while well-positioned around halfway through the race.", - Group: 10038, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&distance_rate<=65&order>=2&order_rate<=40&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Fille Éclair] Curren Chan", - SPCost: 200, - IconID: 20011, - }, - SkillAPrincessMustSeizeVictoryInherit: { - ID: 900391, - Name: "A Princess Must Seize Victory!" + " (Inherited)", - Description: "Slightly increase velocity when engaged in a challenge on the final straight.", - Group: 10039, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&blocked_side_continuetime>=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Princess of Pink] Kawakami Princess", - SPCost: 200, - IconID: 20011, - }, - SkillKEEPITREALInherit: { - ID: 900401, - Name: "KEEP IT REAL." + " (Inherited)", - Description: "Very slightly increase acceleration steadily when starting to make a move from midpack in the second half of the race.", - Group: 10040, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order_rate>=40&order_rate<=70&is_overtake==1", - Duration: 36000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Authentic / 1928] Gold City", - SPCost: 200, - IconID: 20041, - }, - SkillGeniusxBakushinVictoryInherit: { - ID: 900411, - Name: "Genius x Bakushin = Victory" + " (Inherited)", - Description: "Slightly increase velocity when engaged in a challenge toward the front in the second half of the race.", - Group: 10041, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order<=3&blocked_side_continuetime>=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Blossom in Learning] Sakura Bakushin O", - SPCost: 200, - IconID: 20011, - }, - SkillPureHeartInherit: { - ID: 900451, - Name: "Pure Heart" + " (Inherited)", - Description: "Moderately recover endurance when well-positioned mid-race.", - Group: 10045, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase_random==1&order>=2&order_rate<=40", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Murmuring Stream] Super Creek", - SPCost: 200, - IconID: 20021, - }, - SkillSPARKLYSTARDOMInherit: { - ID: 900461, - Name: "SPARKLY☆STARDOM" + " (Inherited)", - Description: "Become very slightly empowered to keep the advantage when positioned toward the front and close to the runner behind on a straight mid-race.", - Group: 10046, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&corner==0&order<=2&bashin_diff_behind<=1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[LOVE☆4EVER] Smart Falcon", - SPCost: 200, - IconID: 20011, - }, - SkillPopAndPolishInherit: { - ID: 900481, - Name: "Pop & Polish" + " (Inherited)", - Description: "Slightly increase velocity when pressured by or passing another runner while well-positioned on the final straight.", - Group: 10048, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&order>=2&order_rate<=30&overtake_target_time>=2@is_finalcorner==1&corner==0&order_rate<=20&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Jokester ☆ Vibes] Tosen Jordan", - SPCost: 200, - IconID: 20011, - }, - SkillNemesisInherit: { - ID: 900501, - Name: "Nemesis" + " (Inherited)", - Description: "Slightly increase velocity when moving up from midpack on the final corner or later.", - Group: 10050, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&order_rate>=40&order_rate<=75&is_overtake==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Nevertheless] Narita Taishin", - SPCost: 200, - IconID: 20011, - }, - SkillSuperDuperClimaxInherit: { - ID: 900521, - Name: "Super-Duper Climax" + " (Inherited)", - Description: "Slightly recover endurance with a glance at nearby runners when positioned toward the back on the final corner.", - Group: 10052, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&order_rate>50&near_count>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Bestest Prize ♪] Haru Urara", - SPCost: 200, - IconID: 20021, - }, - SkillISeeVictoryinMyFutureInherit: { - ID: 900561, - Name: "I See Victory in My Future!" + " (Inherited)", - Description: "Slightly clear a path forward depending on divination results when the way ahead is jammed late-race.", - Group: 10056, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase>=2&order>=3&blocked_front==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Rising☆Fortune] Matikanefukukitaru", - SPCost: 200, - IconID: 20011, - }, - SkillINeverGoofUpInherit: { - ID: 900581, - Name: "I Never Goof Up!" + " (Inherited)", - Description: "Very slightly aim for the front when passing another runner from midpack or further back on a corner late-race.", - Group: 10058, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase>=2&corner!=0&order>=3&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Turbulent Blue] Meisho Doto", - SPCost: 200, - IconID: 20011, - }, - SkillMovingPastandBeyondInherit: { - ID: 900591, - Name: "Moving Past, and Beyond" + " (Inherited)", - Description: "Having run the race calmly, slightly increase acceleration when making a move mid-race, or on a crucial corner late-race whilst in midpack.", - Group: 10059, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase>=2&corner!=0&is_finalcorner==0&temptation_count==0&order_rate>=50&order_rate<=70@phase==1&corner!=0&is_finalcorner==1&temptation_count==0&order_rate>=50&order_rate<=70", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Off the Line] Mejiro Dober", - SPCost: 200, - IconID: 20041, - }, - SkillJustaLittleFartherInherit: { - ID: 900601, - Name: "Just a Little Farther!" + " (Inherited)", - Description: "Slightly increase velocity when positioned 3rd and about to lose late-race.", - Group: 10060, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase>=2&order==3&bashin_diff_behind<=1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Poinsettia Ribbon] Nice Nature", - SPCost: 200, - IconID: 20011, - }, - SkillPridefulKingInherit: { - ID: 900611, - Name: "Prideful King" + " (Inherited)", - Description: "Moderately increase velocity in a true display of skill with 200m remaining after racing calmly.", - Group: 10061, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "temptation_count==0&remain_distance<=201&remain_distance>=199&order>=4&order_rate<=70", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[King of Emeralds] King Halo", - SPCost: 200, - IconID: 20011, - }, - SkillAmbitiontoSurpasstheSakuraInherit: { - ID: 900691, - Name: "Ambition to Surpass the Sakura" + " (Inherited)", - Description: "Slightly increase velocity when well-positioned and close to the runner ahead with 300m or less remaining.", - Group: 10069, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "remain_distance<=300&order_rate<=40&bashin_diff_infront<=1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Strength in Full Bloom] Sakura Chiyono O", - SPCost: 200, - IconID: 20011, - }, - SkillALifelongDreamAMomentsFlightInherit: { - ID: 900711, - Name: "A Lifelong Dream, A Moment's Flight" + " (Inherited)", - Description: "Slightly consume endurance to moderately increase velocity for a moderate duration when close to the runner behind on the final straight.", - Group: 10071, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&bashin_diff_behind<=1", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - {Type: 9, ValueUsage: 1, Value: -100, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Crystalline] Mejiro Ardan", - SPCost: 200, - IconID: 20011, - }, - SkillDazzlnDiverInherit: { - ID: 910011, - Name: "Dazzl'n ♪ Diver" + " (Inherited)", - Description: "Slightly recover endurance after activating 2 skills mid-race.", - Group: 11001, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&order>=2&order_rate<=70&activate_count_middle>=2", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Hopp'n♪Happy Heart] Special Week", - SPCost: 200, - IconID: 20021, - }, - SkillCertainVictoryInherit: { - ID: 910031, - Name: "Certain Victory" + " (Inherited)", - Description: "Moderately increase velocity on the final straight after being on the heels of another runner toward the front on the final corner or later.", - Group: 11003, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Precondition: "is_finalcorner==1&is_overtake==1&order<=5&order_rate<=50&overtake_target_no_order_up_time>=2", - Condition: "is_finalcorner==1&corner==0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Beyond the Horizon] Tokai Teio", - SPCost: 200, - IconID: 20011, - }, - SkillAKissforCourageInherit: { - ID: 910041, - Name: "A Kiss for Courage" + " (Inherited)", - Description: "Slightly increase velocity when positioned toward the front in the second half of the race after recovering endurance with a skill.", - Group: 11004, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&activate_count_heal>=1&order<=3", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Hot☆Summer Night] Maruzensky", - SPCost: 200, - IconID: 20011, - }, - SkillFestiveMiracleInherit: { - ID: 910061, - Name: "Festive Miracle" + " (Inherited)", - Description: "Very slightly control breathing and kick forward toward victory in the second half of the race after recovering endurance with skills at least 3 times.", - Group: 11006, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "activate_count_heal>=3&distance_rate>=50", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - {Type: 9, ValueUsage: 1, Value: 50, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Ashen Miracle] Oguri Cap", - SPCost: 200, - IconID: 20011, - }, - SkillSuperiorHealInherit: { - ID: 910111, - Name: "Superior Heal" + " (Inherited)", - Description: "Moderately recover endurance when overtaken toward the back mid-race.", - Group: 11011, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&change_order_onetime>0&order_rate>=40", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 350, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Saintly Jade Cleric] Grass Wonder", - SPCost: 200, - IconID: 20021, - }, - SkillLegacyoftheStrongInherit: { - ID: 910131, - Name: "Legacy of the Strong" + " (Inherited)", - Description: "Slightly increase velocity continuously when pressured by another runner and running out of energy toward the front on the final corner or later.", - Group: 11013, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&hp_per<=45&order<=3&order_rate<=50&bashin_diff_behind<=1&overtake_target_time>=1", - Duration: 36000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[End of the Skies] Mejiro McQueen", - SPCost: 200, - IconID: 20011, - }, - SkillCondorsFuryInherit: { - ID: 910141, - Name: "Condor's Fury" + " (Inherited)", - Description: "Slightly increase acceleration when aiming for the front from midpack on the final corner.", - Group: 11014, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&is_overtake==1&order>=4&order_rate<=75", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Kukulkan Warrior] El Condor Pasa", - SPCost: 200, - IconID: 20041, - }, - SkillBarcaroleofBlessingsInherit: { - ID: 910151, - Name: "Barcarole of Blessings" + " (Inherited)", - Description: "Slightly increase velocity for a moderate duration when in the front part of the pack with 400m remaining. If at least 7 skills have been activated, moderately increase velocity for a moderate duration instead.", - Group: 11015, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "remain_distance<=401&remain_distance>=399&order_rate<=40&activate_count_all>=7", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 2500, Target: 1, TargetValue: 0}, - }, - }, - { - Condition: "remain_distance<=401&remain_distance>=399&order_rate<=40&activate_count_all<=6", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[New Year, Same Radiance!] T.M. Opera O", - SPCost: 200, - IconID: 20011, - }, - SkillArrowsWhistleShadowsDisperseInherit: { - ID: 910171, - Name: "Arrows Whistle, Shadows Disperse" + " (Inherited)", - Description: "Slightly increase velocity when pressured by another runner in the front part of the pack on the final corner or later.", - Group: 11017, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&order_rate<=40&overtake_target_time>=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Archer by Moonlight] Symboli Rudolf", - SPCost: 200, - IconID: 20011, - }, - SkillEternalMomentsInherit: { - ID: 910181, - Name: "Eternal Moments" + " (Inherited)", - Description: "Slightly increase velocity when starting to make a move from a position toward the front mid-race.", - Group: 11018, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&order>=3&order_rate<=50&is_overtake==1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Quercus Civilis] Air Groove", - SPCost: 200, - IconID: 20011, - }, - SkillPresentsfromXInherit: { - ID: 910231, - Name: "Presents from X" + " (Inherited)", - Description: "Slightly increase velocity mid-race after staying well-positioned from the start of the race up until the second half.", - Group: 11023, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "order_rate_in40_continue==1&phase==1&distance_rate>=50&order>=2&order_rate<=40", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Rouge Caroler] Biwa Hayahide", - SPCost: 200, - IconID: 20011, - }, - SkillFloweryManeuverInherit: { - ID: 910241, - Name: "Flowery☆Maneuver" + " (Inherited)", - Description: "Slightly increase velocity when passing another runner toward the front on the final corner. If passing toward the back, slightly increase acceleration instead.", - Group: 11024, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&order_rate<=40&change_order_onetime<0", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - { - Condition: "is_finalcorner==1&corner!=0&order_rate>=50&order_rate<=80&change_order_onetime<0", - Duration: 24000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 31, ValueUsage: 1, Value: 2000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Sunlight Bouquet] Mayano Top Gun", - SPCost: 200, - IconID: 20011, - }, - SkillOperationCacaoInherit: { - ID: 910261, - Name: "Operation Cacao" + " (Inherited)", - Description: "Take a minimal breather and slightly increase velocity when in the front part of the pack and there's another runner coming from behind on a corner mid-race.", - Group: 11026, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "order<=4&phase==1&corner!=0&bashin_diff_behind<=3", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - {Type: 9, ValueUsage: 1, Value: 35, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[CODE: ICING] Mihono Bourbon", - SPCost: 200, - IconID: 20011, - }, - SkillEveryRoseHasItsFangsInherit: { - ID: 910301, - Name: "Every Rose Has Its Fangs" + " (Inherited)", - Description: "Slightly drain endurance from runners ahead when well-positioned and pressured by another runner mid-race.", - Group: 11030, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "phase==1&order>=2&order_rate<=50&overtake_target_time>=1", - Duration: 0, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 9, ValueUsage: 1, Value: 150, Target: 1, TargetValue: 0}, - {Type: 9, ValueUsage: 1, Value: -25, Target: 9, TargetValue: 18}, - }, - }, - }, - UniqueOwner: "[Vampire Makeover!] Rice Shower", - SPCost: 200, - IconID: 20021, - }, - SkillGutenAppetitInherit: { - ID: 910371, - Name: "Guten Appetit ♪" + " (Inherited)", - Description: "Slightly increase velocity continuously on the final straight after passing another runner 3 times on the final corner or later.", - Group: 11037, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "change_order_up_finalcorner_after>=3&is_finalcorner==1&corner==0", - Duration: 36000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Precise Chocolatier] Eishin Flash", - SPCost: 200, - IconID: 20011, - }, - SkillDancingintheLeavesInherit: { - ID: 910401, - Name: "Dancing in the Leaves" + " (Inherited)", - Description: "Very slightly increase ability to break out of the pack when engaged in a challenge in midpack on the final corner.", - Group: 11040, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&order_rate>=30&order_rate<=70&blocked_side_continuetime>=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Autumn Cosmos] Gold City", - SPCost: 200, - IconID: 20011, - }, - SkillGiveMummyaHugInherit: { - ID: 910451, - Name: "Give Mummy a Hug ♡" + " (Inherited)", - Description: "Very slightly increase ability to break out of the pack when well-positioned and close to the runner ahead on the final straight.", - Group: 11045, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner==0&order<=4&bashin_diff_infront<=1", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - {Type: 31, ValueUsage: 1, Value: 1000, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Chiffon-Wrapped Mummy] Super Creek", - SPCost: 200, - IconID: 20011, - }, - Skill114thTimestheCharmInherit: { - ID: 910521, - Name: "114th Time's the Charm" + " (Inherited)", - Description: "Give max effort when far from the lead on the final corner, very slightly increasing velocity steadily for a duration proportional to distance from the lead.", - Group: 11052, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "is_finalcorner==1&corner!=0&distance_diff_top>=7", - Duration: 30000, - DurScale: 2, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[New Year ♪ New Urara!] Haru Urara", - SPCost: 200, - IconID: 20011, - }, - SkillBountifulHarvestInherit: { - ID: 910561, - Name: "Bountiful Harvest" + " (Inherited)", - Description: "Slightly increase velocity with a surge of fortune when pressured by another runner toward the back in the second half of the race.", - Group: 11056, - Rarity: 1, - GroupRate: 2, - GradeValue: 180, - WitCheck: true, - Activations: []Activation{ - { - Condition: "distance_rate>=50&order_rate>=40&overtake_target_time>=2", - Duration: 30000, - DurScale: 1, - Cooldown: 5000000, - Abilities: []Ability{ - {Type: 27, ValueUsage: 1, Value: 1500, Target: 1, TargetValue: 0}, - }, - }, - }, - UniqueOwner: "[Lucky Tidings] Matikanefukukitaru", - SPCost: 200, - IconID: 20011, - }, - SkillCarnivalBonus: { - ID: 1000011, - Name: "Carnival Bonus", - Description: "Increase attributes by +{0}% in the Racing Carnival. {1}% chance to also raise runner's mood to Great. This skill will disappear when the event ends.", - Group: 100001, - Rarity: 1, - GroupRate: 1, - GradeValue: 0, - Activations: []Activation{}, - IconID: 1010011, - }, -} - -var SkillNameToID = map[string]SkillID{ - "Warning Shot!": 10071, - "Xceleration": 10081, - "Red Ace": 10091, - "Focused Mind": 10111, - "Corazón ☆ Ardiente": 10141, - "Empress's Pride": 10181, - "1st Place Kiss☆": 10241, - "Feel the Burn!": 10271, - "Introduction to Physiology": 10321, - "V Is for Victory!": 10351, - "Class Rep + Speed = Bakushin": 10411, - "Clear Heart": 10451, - "Super-Duper Stoked": 10521, - "Luck Be with Me!": 10561, - "I Can Win Sometimes, Right?": 10601, - "Call Me King": 10611, - "Shooting Star": 100011, - "The View from the Lead Is Mine!": 100021, - "Sky-High Teio Step": 100031, - "Red Shift/LP1211-M": 100041, - "Lights of Vaudeville": 100051, - "Triumphant Pulse": 100061, - "Anchors Aweigh!": 100071, - "Cut and Drive!": 100081, - "Resplendent Red Ace": 100091, - "Shooting for Victory!": 100101, - "Where There's a Will, There's a Way": 100111, - "You and Me! One-on-One!": 100121, - "The Duty of Dignity Calls": 100131, - "Victoria por plancha ☆": 100141, - "This Dance Is for Vittoria!": 100151, - "Shadow Break": 100161, - "Behold Thine Emperor's Divine Might": 100171, - "Blazing Pride": 100181, - "OMG! (゚∀゚) The Final Sprint! ☆": 100191, - "Angling and Scheming": 100201, - "White Lightning Comin' Through!": 100211, - "Fairy Tale": 100221, - "∴win Q.E.D.": 100231, - "Flashy☆Landing": 100241, - "Chasing After You": 100251, - "G00 1st. F∞;": 100261, - "Let's Pump Some Iron!": 100271, - "YUMMY☆SPEED!": 100281, - "Blue Rose Closer": 100301, - "U=ma2": 100321, - "Shooting Star of Dioskouroi": 100331, - "Our Ticket to Win!": 100351, - "Schwarzes Schwert": 100371, - "#LookatCurren": 100381, - "A Princess Must Seize Victory!": 100391, - "KEEP IT REAL.": 100401, - "Genius x Bakushin = Victory": 100411, - "Pure Heart": 100451, - "SPARKLY☆STARDOM": 100461, - "Pop & Polish": 100481, - "Nemesis": 100501, - "Super-Duper Climax": 100521, - "I See Victory in My Future!": 100561, - "I Never Goof Up!": 100581, - "Moving Past, and Beyond": 100591, - "Just a Little Farther!": 100601, - "Prideful King": 100611, - "Ambition to Surpass the Sakura": 100691, - "A Lifelong Dream, A Moment's Flight": 100711, - "Dazzl'n ♪ Diver": 110011, - "Certain Victory": 110031, - "A Kiss for Courage": 110041, - "Festive Miracle": 110061, - "Superior Heal": 110111, - "Legacy of the Strong": 110131, - "Condor's Fury": 110141, - "Barcarole of Blessings": 110151, - "Arrows Whistle, Shadows Disperse": 110171, - "Eternal Moments": 110181, - "Presents from X": 110231, - "Flowery☆Maneuver": 110241, - "Operation Cacao": 110261, - "Every Rose Has Its Fangs": 110301, - "Guten Appetit ♪": 110371, - "Dancing in the Leaves": 110401, - "Give Mummy a Hug ♡": 110451, - "114th Time's the Charm": 110521, - "Bountiful Harvest": 110561, - "Right-Handed ◎": 200011, - "Right-Handed ○": 200012, - "Right-Handed ×": 200013, - "Left-Handed ◎": 200021, - "Left-Handed ○": 200022, - "Left-Handed ×": 200023, - "Tokyo Racecourse ◎": 200031, - "Tokyo Racecourse ○": 200032, - "Tokyo Racecourse ×": 200033, - "Nakayama Racecourse ◎": 200041, - "Nakayama Racecourse ○": 200042, - "Nakayama Racecourse ×": 200043, - "Hanshin Racecourse ◎": 200051, - "Hanshin Racecourse ○": 200052, - "Hanshin Racecourse ×": 200053, - "Kyoto Racecourse ◎": 200061, - "Kyoto Racecourse ○": 200062, - "Kyoto Racecourse ×": 200063, - "Yodo Invicta": 200064, - "Chukyo Racecourse ◎": 200071, - "Chukyo Racecourse ○": 200072, - "Chukyo Racecourse ×": 200073, - "Sapporo Racecourse ◎": 200081, - "Sapporo Racecourse ○": 200082, - "Sapporo Racecourse ×": 200083, - "Hakodate Racecourse ◎": 200091, - "Hakodate Racecourse ○": 200092, - "Hakodate Racecourse ×": 200093, - "Fukushima Racecourse ◎": 200101, - "Fukushima Racecourse ○": 200102, - "Fukushima Racecourse ×": 200103, - "Niigata Racecourse ◎": 200111, - "Niigata Racecourse ○": 200112, - "Niigata Racecourse ×": 200113, - "Kokura Racecourse ◎": 200121, - "Kokura Racecourse ○": 200122, - "Kokura Racecourse ×": 200123, - "Standard Distance ◎": 200131, - "Standard Distance ○": 200132, - "Standard Distance ×": 200133, - "Non-Standard Distance ◎": 200141, - "Non-Standard Distance ○": 200142, - "Non-Standard Distance ×": 200143, - "Firm Conditions ◎": 200151, - "Firm Conditions ○": 200152, - "Firm Conditions ×": 200153, - "Wet Conditions ◎": 200161, - "Wet Conditions ○": 200162, - "Wet Conditions ×": 200163, - "Spring Runner ◎": 200171, - "Spring Runner ○": 200172, - "Spring Runner ×": 200173, - "Spring Spectacle": 200174, - "Summer Runner ◎": 200181, - "Summer Runner ○": 200182, - "Summer Runner ×": 200183, - "Fall Runner ◎": 200191, - "Fall Runner ○": 200192, - "Fall Runner ×": 200193, - "Fall Frenzy": 200194, - "Winter Runner ◎": 200201, - "Winter Runner ○": 200202, - "Winter Runner ×": 200203, - "Sunny Days ◎": 200211, - "Sunny Days ○": 200212, - "Cloudy Days ◎": 200221, - "Cloudy Days ○": 200222, - "Rainy Days ◎": 200231, - "Rainy Days ○": 200232, - "Rainy Days ×": 200233, - "Snowy Days ◎": 200241, - "Snowy Days ○": 200242, - "Inner Post Proficiency ◎": 200251, - "Inner Post Proficiency ○": 200252, - "Inner Post Averseness": 200253, - "Outer Post Proficiency ◎": 200261, - "Outer Post Proficiency ○": 200262, - "Outer Post Averseness": 200263, - "Maverick ◎": 200271, - "Maverick ○": 200272, - "Competitive Spirit ◎": 200281, - "Competitive Spirit ○": 200282, - "Wallflower": 200283, - "Target in Sight ◎": 200291, - "Target in Sight ○": 200292, - "Long Shot ◎": 200301, - "Long Shot ○": 200302, - "G1 Averseness": 200311, - "Paddock Fright": 200321, - "Professor of Curvature": 200331, - "Corner Adept ○": 200332, - "Corner Adept ×": 200333, - "Corner Connoisseur": 200341, - "Corner Acceleration ○": 200342, - "Corner Acceleration ×": 200343, - "Swinging Maestro": 200351, - "Corner Recovery ○": 200352, - "Corner Recovery ×": 200353, - "Beeline Burst": 200361, - "Straightaway Adept": 200362, - "Rushing Gale!": 200371, - "Straightaway Acceleration": 200372, - "Breath of Fresh Air": 200381, - "Straightaway Recovery": 200382, - "Ramp Revulsion": 200391, - "Packphobia": 200401, - "Defeatist": 200411, - "Reckless": 200421, - "Concentration": 200431, - "Focus": 200432, - "Gatekept": 200433, - "Iron Will": 200441, - "Lay Low": 200442, - "Center Stage": 200451, - "Prudent Positioning": 200452, - "It's On!": 200461, - "Ramp Up": 200462, - "Indomitable": 200471, - "Pace Strategy": 200472, - "Unruffled": 200481, - "Calm in a Crowd": 200482, - "No Stopping Me!": 200491, - "Nimble Navigator": 200492, - "Lane Legerdemain": 200501, - "Go with the Flow": 200502, - "In Body and Mind": 200511, - "Homestretch Haste": 200512, - "Running Idle": 200521, - "Taking the Lead": 200531, - "Early Lead": 200532, - "Escape Artist": 200541, - "Fast-Paced": 200542, - "Unrestrained": 200551, - "Final Push": 200552, - "Calm and Collected": 200561, - "Stamina to Spare": 200562, - "Race Planner": 200571, - "Preferred Position": 200572, - "Speed Star": 200581, - "Prepared to Pass": 200582, - "Fast & Furious": 200591, - "Position Pilfer": 200592, - "On Your Left!": 200601, - "Slick Surge": 200602, - "Rising Dragon": 200611, - "Outer Swell": 200612, - "Sleeping Lion": 200621, - "Standing By": 200622, - "Sturm und Drang": 200631, - "Masterful Gambit": 200632, - "Encroaching Shadow": 200641, - "Straightaway Spurt": 200642, - "Turbo Sprint": 200651, - "Sprinting Gear": 200652, - "Wait-and-See": 200662, - "Blinding Flash": 200671, - "Gap Closer": 200672, - "Mile Maven": 200681, - "Productive Plan": 200682, - "Keen Eye": 200691, - "Watchful Eye": 200692, - "Furious Feat": 200701, - "Updrafters": 200702, - "Trackblazer": 200711, - "Rosy Outlook": 200712, - "Killer Tunes": 200721, - "Up-Tempo": 200722, - "Unyielding": 200731, - "Steadfast": 200732, - "Cooldown": 200741, - "Deep Breaths": 200742, - "Innate Experience": 200751, - "Inside Scoop": 200752, - "Adrenaline Rush": 200761, - "Extra Tank": 200762, - "Trick (Front)": 200771, - "Tantalizing Trick": 200772, - "Trick (Rear)": 200781, - "Frenzied Front Runners": 200791, - "Frenzied Pace Chasers": 200801, - "Frenzied Late Surgers": 200811, - "Frenzied End Closers": 200821, - "Subdued Front Runners": 200831, - "Flustered Front Runners": 200841, - "Hesitant Front Runners": 200851, - "Subdued Pace Chasers": 200861, - "Flustered Pace Chasers": 200871, - "Hesitant Pace Chasers": 200881, - "Subdued Late Surgers": 200891, - "Flustered Late Surgers": 200901, - "Hesitant Late Surgers": 200911, - "Subdued End Closers": 200921, - "Flustered End Closers": 200931, - "Hesitant End Closers": 200941, - "Oi Racecourse ◎": 200951, - "Oi Racecourse ○": 200952, - "Oi Racecourse ×": 200953, - "Sprint Straightaways ◎": 200961, - "Sprint Straightaways ○": 200962, - "Sprint Corners ◎": 200971, - "Sprint Corners ○": 200972, - "Staggering Lead": 200981, - "Huge Lead": 200982, - "Plan X": 200991, - "Countermeasure": 200992, - "Perfect Prep!": 201001, - "Meticulous Measures": 201002, - "Adored by All": 201011, - "Intimidate": 201012, - "You've Got No Shot": 201021, - "Stop Right There!": 201022, - "Mile Straightaways ◎": 201031, - "Mile Straightaways ○": 201032, - "Mile Corners ◎": 201041, - "Mile Corners ○": 201042, - "Changing Gears": 201051, - "Shifting Gears": 201052, - "Step on the Gas!": 201061, - "Acceleration": 201062, - "Big-Sisterly": 201071, - "Unyielding Spirit": 201072, - "Greed for Speed": 201081, - "Speed Eater": 201082, - "Battle Formation": 201091, - "Opening Gambit": 201092, - "Medium Straightaways ◎": 201101, - "Medium Straightaways ○": 201102, - "Flash Forward": 201103, - "Medium Corners ◎": 201111, - "Medium Corners ○": 201112, - "Clairvoyance": 201121, - "Hawkeye": 201122, - "Lightning Step": 201131, - "Thunderbolt Step": 201132, - "Miraculous Step": 201141, - "Soft Step": 201142, - "Dominator": 201151, - "Tether": 201152, - "Mystifying Murmur": 201161, - "Murmur": 201162, - "Long Straightaways ◎": 201171, - "Long Straightaways ○": 201172, - "Long Corners ◎": 201181, - "Long Corners ○": 201182, - "Vanguard Spirit": 201191, - "Keeping the Lead": 201192, - "VIP Pass": 201201, - "Passing Pro": 201202, - "Overwhelming Pressure": 201211, - "Pressure": 201212, - "Stamina Siphon": 201221, - "Stamina Eater": 201222, - "Illusionist": 201231, - "Smoke Screen": 201232, - "Front Runner Straightaways ◎": 201241, - "Front Runner Straightaways ○": 201242, - "Front Runner Corners ◎": 201251, - "Front Runner Corners ○": 201252, - "Sixth Sense": 201261, - "Dodging Danger": 201262, - "Leader's Pride": 201272, - "Restless": 201281, - "Moxie": 201282, - "Reignition": 201291, - "Second Wind": 201292, - "Restart": 201302, - "Pace Chaser Straightaways ◎": 201311, - "Pace Chaser Straightaways ○": 201312, - "Pace Chaser Corners ◎": 201321, - "Pace Chaser Corners ○": 201322, - "Technician": 201331, - "Shrewd Step": 201332, - "Determined Descent": 201341, - "Straight Descent": 201342, - "Gourmand": 201351, - "Hydrate": 201352, - "Shatterproof": 201361, - "Tactical Tweak": 201362, - "Dazzling Disorientation": 201371, - "Disorient": 201372, - "Late Surger Straightaways ◎": 201381, - "Late Surger Straightaways ○": 201382, - "Late Surger Corners ◎": 201391, - "Late Surger Corners ○": 201392, - "Hard Worker": 201401, - "Fighter": 201402, - "15,000,000 CC": 201411, - "1,500,000 CC": 201412, - "Relax": 201421, - "A Small Breather": 201422, - "The Bigger Picture": 201431, - "Studious": 201432, - "All-Seeing Eyes": 201441, - "Sharp Gaze": 201442, - "End Closer Straightaways ◎": 201451, - "End Closer Straightaways ○": 201452, - "End Closer Corners ◎": 201461, - "End Closer Corners ○": 201462, - "The Coast Is Clear!": 201471, - "I Can See Right Through You": 201472, - "Go-Home Specialist": 201481, - "After-School Stroll": 201482, - "Serenity": 201491, - "Levelheaded": 201492, - "Crusader": 201501, - "Strategist": 201502, - "Petrifying Gaze": 201511, - "Intense Gaze": 201512, - "Front Runner Savvy ◎": 201521, - "Front Runner Savvy ○": 201522, - "Pace Chaser Savvy ◎": 201531, - "Pace Chaser Savvy ○": 201532, - "Late Surger Savvy ◎": 201541, - "Late Surger Savvy ○": 201542, - "End Closer Savvy ◎": 201551, - "End Closer Savvy ○": 201552, - "Super Lucky Seven": 201561, - "Lucky Seven": 201562, - "Triple 7s": 201571, - "Highlander": 201581, - "Uma Stan": 201591, - "Superstan": 201592, - "Groundwork": 201601, - "Tail Held High": 201611, - "Tail Nine": 201612, - "Shake It Out": 201621, - "Sympathy": 201631, - "Lone Wolf": 201641, - "Slipstream": 201651, - "Playtime's Over!": 201661, - "Trending in the Charts!": 201671, - "Top Pick": 201672, - "Lead the Charge!": 201681, - "Forward, March!": 201682, - "Lie in Wait": 201691, - "Be Still": 201692, - "Come What May": 201701, - "All I've Got": 201702, - "♡ 3D Nail Art": 201801, - "Head-On": 201902, - "Familiar Ground": 202002, - "Headliner": 202011, - "Feature Act": 202012, - "Daring Strike": 202021, - "Early Start": 202022, - "Nothing Ventured": 202031, - "Risky Business": 202032, - "In High Spirits": 202041, - "Light as a Feather": 202042, - "Runaway": 202051, - "Burning Spirit SPD": 210011, - "Ignited Spirit SPD": 210012, - "Burning Spirit STA": 210021, - "Ignited Spirit STA": 210022, - "Burning Spirit PWR": 210031, - "Ignited Spirit PWR": 210032, - "Burning Spirit GUTS": 210041, - "Ignited Spirit GUTS": 210042, - "Burning Spirit WIT": 210051, - "Ignited Spirit WIT": 210052, - "Unquenched Thirst": 300011, - "Unchanging": 300021, - "Towards the Scenery I Seek": 300031, - "Creeping Anxiety": 300041, - "Blatant Fear": 300051, - "Dream Run": 300061, - "Show Me What Lies Beyond!": 300071, - "Hoiya! Have a Good Run!": 300081, - "As a Friend and Rival": 300091, - "Cheers of a Fellow Dreamer": 300101, - "Shooting Star" + " (Inherited)": 900011, - "The View from the Lead Is Mine!" + " (Inherited)": 900021, - "Sky-High Teio Step" + " (Inherited)": 900031, - "Red Shift/LP1211-M" + " (Inherited)": 900041, - "Lights of Vaudeville" + " (Inherited)": 900051, - "Triumphant Pulse" + " (Inherited)": 900061, - "Anchors Aweigh!" + " (Inherited)": 900071, - "Cut and Drive!" + " (Inherited)": 900081, - "Resplendent Red Ace" + " (Inherited)": 900091, - "Shooting for Victory!" + " (Inherited)": 900101, - "Where There's a Will, There's a Way" + " (Inherited)": 900111, - "You and Me! One-on-One!" + " (Inherited)": 900121, - "The Duty of Dignity Calls" + " (Inherited)": 900131, - "Victoria por plancha ☆" + " (Inherited)": 900141, - "This Dance Is for Vittoria!" + " (Inherited)": 900151, - "Shadow Break" + " (Inherited)": 900161, - "Behold Thine Emperor's Divine Might" + " (Inherited)": 900171, - "Blazing Pride" + " (Inherited)": 900181, - "OMG! (゚∀゚) The Final Sprint! ☆" + " (Inherited)": 900191, - "Angling and Scheming" + " (Inherited)": 900201, - "White Lightning Comin' Through!" + " (Inherited)": 900211, - "Fairy Tale" + " (Inherited)": 900221, - "∴win Q.E.D." + " (Inherited)": 900231, - "Flashy☆Landing" + " (Inherited)": 900241, - "Chasing After You" + " (Inherited)": 900251, - "G00 1st. F∞;" + " (Inherited)": 900261, - "Let's Pump Some Iron!" + " (Inherited)": 900271, - "YUMMY☆SPEED!" + " (Inherited)": 900281, - "Blue Rose Closer" + " (Inherited)": 900301, - "U=ma2" + " (Inherited)": 900321, - "Shooting Star of Dioskouroi" + " (Inherited)": 900331, - "Our Ticket to Win!" + " (Inherited)": 900351, - "Schwarzes Schwert" + " (Inherited)": 900371, - "#LookatCurren" + " (Inherited)": 900381, - "A Princess Must Seize Victory!" + " (Inherited)": 900391, - "KEEP IT REAL." + " (Inherited)": 900401, - "Genius x Bakushin = Victory" + " (Inherited)": 900411, - "Pure Heart" + " (Inherited)": 900451, - "SPARKLY☆STARDOM" + " (Inherited)": 900461, - "Pop & Polish" + " (Inherited)": 900481, - "Nemesis" + " (Inherited)": 900501, - "Super-Duper Climax" + " (Inherited)": 900521, - "I See Victory in My Future!" + " (Inherited)": 900561, - "I Never Goof Up!" + " (Inherited)": 900581, - "Moving Past, and Beyond" + " (Inherited)": 900591, - "Just a Little Farther!" + " (Inherited)": 900601, - "Prideful King" + " (Inherited)": 900611, - "Ambition to Surpass the Sakura" + " (Inherited)": 900691, - "A Lifelong Dream, A Moment's Flight" + " (Inherited)": 900711, - "Dazzl'n ♪ Diver" + " (Inherited)": 910011, - "Certain Victory" + " (Inherited)": 910031, - "A Kiss for Courage" + " (Inherited)": 910041, - "Festive Miracle" + " (Inherited)": 910061, - "Superior Heal" + " (Inherited)": 910111, - "Legacy of the Strong" + " (Inherited)": 910131, - "Condor's Fury" + " (Inherited)": 910141, - "Barcarole of Blessings" + " (Inherited)": 910151, - "Arrows Whistle, Shadows Disperse" + " (Inherited)": 910171, - "Eternal Moments" + " (Inherited)": 910181, - "Presents from X" + " (Inherited)": 910231, - "Flowery☆Maneuver" + " (Inherited)": 910241, - "Operation Cacao" + " (Inherited)": 910261, - "Every Rose Has Its Fangs" + " (Inherited)": 910301, - "Guten Appetit ♪" + " (Inherited)": 910371, - "Dancing in the Leaves" + " (Inherited)": 910401, - "Give Mummy a Hug ♡" + " (Inherited)": 910451, - "114th Time's the Charm" + " (Inherited)": 910521, - "Bountiful Harvest" + " (Inherited)": 910561, - "Carnival Bonus": 1000011, -} - -var SkillGroups = map[SkillGroupID][4]SkillID{ - 1007: {SkillWarningShot}, - 1008: {SkillXceleration}, - 1009: {SkillRedAce}, - 1011: {SkillFocusedMind}, - 1014: {SkillCorazónArdiente}, - 1018: {SkillEmpresssPride}, - 1024: {SkillFirstPlaceKiss}, - 1027: {SkillFeeltheBurn}, - 1032: {SkillIntroductiontoPhysiology}, - 1035: {SkillVIsforVictory}, - 1041: {SkillClassRepSpeedBakushin}, - 1045: {SkillClearHeart}, - 1052: {SkillSuperDuperStoked}, - 1056: {SkillLuckBewithMe}, - 1060: {SkillICanWinSometimesRight}, - 1061: {SkillCallMeKing}, - 10001: {SkillShootingStar, SkillShootingStarInherit}, - 10002: {SkillTheViewfromtheLeadIsMine, SkillTheViewfromtheLeadIsMineInherit}, - 10003: {SkillSkyHighTeioStep, SkillSkyHighTeioStepInherit}, - 10004: {SkillRedShiftLP1211M, SkillRedShiftLP1211MInherit}, - 10005: {SkillLightsofVaudeville, SkillLightsofVaudevilleInherit}, - 10006: {SkillTriumphantPulse, SkillTriumphantPulseInherit}, - 10007: {SkillAnchorsAweigh, SkillAnchorsAweighInherit}, - 10008: {SkillCutandDrive, SkillCutandDriveInherit}, - 10009: {SkillResplendentRedAce, SkillResplendentRedAceInherit}, - 10010: {SkillShootingforVictory, SkillShootingforVictoryInherit}, - 10011: {SkillWhereTheresaWillTheresaWay, SkillWhereTheresaWillTheresaWayInherit}, - 10012: {SkillYouandMeOneonOne, SkillYouandMeOneonOneInherit}, - 10013: {SkillTheDutyofDignityCalls, SkillTheDutyofDignityCallsInherit}, - 10014: {SkillVictoriaporplancha, SkillVictoriaporplanchaInherit}, - 10015: {SkillThisDanceIsforVittoria, SkillThisDanceIsforVittoriaInherit}, - 10016: {SkillShadowBreak, SkillShadowBreakInherit}, - 10017: {SkillBeholdThineEmperorsDivineMight, SkillBeholdThineEmperorsDivineMightInherit}, - 10018: {SkillBlazingPride, SkillBlazingPrideInherit}, - 10019: {SkillOMGTheFinalSprint, SkillOMGTheFinalSprintInherit}, - 10020: {SkillAnglingandScheming, SkillAnglingandSchemingInherit}, - 10021: {SkillWhiteLightningCominThrough, SkillWhiteLightningCominThroughInherit}, - 10022: {SkillFairyTale, SkillFairyTaleInherit}, - 10023: {SkillWinQED, SkillWinQEDInherit}, - 10024: {SkillFlashyLanding, SkillFlashyLandingInherit}, - 10025: {SkillChasingAfterYou, SkillChasingAfterYouInherit}, - 10026: {SkillG00FirstFInfinity, SkillG00FirstFInfinityInherit}, - 10027: {SkillLetsPumpSomeIron, SkillLetsPumpSomeIronInherit}, - 10028: {SkillYUMMYSPEED, SkillYUMMYSPEEDInherit}, - 10030: {SkillBlueRoseCloser, SkillBlueRoseCloserInherit}, - 10032: {SkillUma2, SkillUma2Inherit}, - 10033: {SkillShootingStarofDioskouroi, SkillShootingStarofDioskouroiInherit}, - 10035: {SkillOurTickettoWin, SkillOurTickettoWinInherit}, - 10037: {SkillSchwarzesSchwert, SkillSchwarzesSchwertInherit}, - 10038: {SkillLookatCurren, SkillLookatCurrenInherit}, - 10039: {SkillAPrincessMustSeizeVictory, SkillAPrincessMustSeizeVictoryInherit}, - 10040: {SkillKEEPITREAL, SkillKEEPITREALInherit}, - 10041: {SkillGeniusxBakushinVictory, SkillGeniusxBakushinVictoryInherit}, - 10045: {SkillPureHeart, SkillPureHeartInherit}, - 10046: {SkillSPARKLYSTARDOM, SkillSPARKLYSTARDOMInherit}, - 10048: {SkillPopAndPolish, SkillPopAndPolishInherit}, - 10050: {SkillNemesis, SkillNemesisInherit}, - 10052: {SkillSuperDuperClimax, SkillSuperDuperClimaxInherit}, - 10056: {SkillISeeVictoryinMyFuture, SkillISeeVictoryinMyFutureInherit}, - 10058: {SkillINeverGoofUp, SkillINeverGoofUpInherit}, - 10059: {SkillMovingPastandBeyond, SkillMovingPastandBeyondInherit}, - 10060: {SkillJustaLittleFarther, SkillJustaLittleFartherInherit}, - 10061: {SkillPridefulKing, SkillPridefulKingInherit}, - 10069: {SkillAmbitiontoSurpasstheSakura, SkillAmbitiontoSurpasstheSakuraInherit}, - 10071: {SkillALifelongDreamAMomentsFlight, SkillALifelongDreamAMomentsFlightInherit}, - 11001: {SkillDazzlnDiver, SkillDazzlnDiverInherit}, - 11003: {SkillCertainVictory, SkillCertainVictoryInherit}, - 11004: {SkillAKissforCourage, SkillAKissforCourageInherit}, - 11006: {SkillFestiveMiracle, SkillFestiveMiracleInherit}, - 11011: {SkillSuperiorHeal, SkillSuperiorHealInherit}, - 11013: {SkillLegacyoftheStrong, SkillLegacyoftheStrongInherit}, - 11014: {SkillCondorsFury, SkillCondorsFuryInherit}, - 11015: {SkillBarcaroleofBlessings, SkillBarcaroleofBlessingsInherit}, - 11017: {SkillArrowsWhistleShadowsDisperse, SkillArrowsWhistleShadowsDisperseInherit}, - 11018: {SkillEternalMoments, SkillEternalMomentsInherit}, - 11023: {SkillPresentsfromX, SkillPresentsfromXInherit}, - 11024: {SkillFloweryManeuver, SkillFloweryManeuverInherit}, - 11026: {SkillOperationCacao, SkillOperationCacaoInherit}, - 11030: {SkillEveryRoseHasItsFangs, SkillEveryRoseHasItsFangsInherit}, - 11037: {SkillGutenAppetit, SkillGutenAppetitInherit}, - 11040: {SkillDancingintheLeaves, SkillDancingintheLeavesInherit}, - 11045: {SkillGiveMummyaHug, SkillGiveMummyaHugInherit}, - 11052: {Skill114thTimestheCharm, Skill114thTimestheCharmInherit}, - 11056: {SkillBountifulHarvest, SkillBountifulHarvestInherit}, - 20001: {SkillRightHandedLv2, SkillRightHanded, SkillRightHandedX}, - 20002: {SkillLeftHandedLv2, SkillLeftHanded, SkillLeftHandedX}, - 20003: {SkillTokyoRacecourseLv2, SkillTokyoRacecourse, SkillTokyoRacecourseX}, - 20004: {SkillNakayamaRacecourseLv2, SkillNakayamaRacecourse, SkillNakayamaRacecourseX}, - 20005: {SkillHanshinRacecourseLv2, SkillHanshinRacecourse, SkillHanshinRacecourseX}, - 20006: {SkillKyotoRacecourseLv2, SkillKyotoRacecourse, SkillKyotoRacecourseX, SkillYodoInvicta}, - 20007: {SkillChukyoRacecourseLv2, SkillChukyoRacecourse, SkillChukyoRacecourseX}, - 20008: {SkillSapporoRacecourseLv2, SkillSapporoRacecourse, SkillSapporoRacecourseX}, - 20009: {SkillHakodateRacecourseLv2, SkillHakodateRacecourse, SkillHakodateRacecourseX}, - 20010: {SkillFukushimaRacecourseLv2, SkillFukushimaRacecourse, SkillFukushimaRacecourseX}, - 20011: {SkillNiigataRacecourseLv2, SkillNiigataRacecourse, SkillNiigataRacecourseX}, - 20012: {SkillKokuraRacecourseLv2, SkillKokuraRacecourse, SkillKokuraRacecourseX}, - 20013: {SkillStandardDistanceLv2, SkillStandardDistance, SkillStandardDistanceX}, - 20014: {SkillNonStandardDistanceLv2, SkillNonStandardDistance, SkillNonStandardDistanceX}, - 20015: {SkillFirmConditionsLv2, SkillFirmConditions, SkillFirmConditionsX}, - 20016: {SkillWetConditionsLv2, SkillWetConditions, SkillWetConditionsX}, - 20017: {SkillSpringRunnerLv2, SkillSpringRunner, SkillSpringRunnerX, SkillSpringSpectacle}, - 20018: {SkillSummerRunnerLv2, SkillSummerRunner, SkillSummerRunnerX}, - 20019: {SkillFallRunnerLv2, SkillFallRunner, SkillFallRunnerX, SkillFallFrenzy}, - 20020: {SkillWinterRunnerLv2, SkillWinterRunner, SkillWinterRunnerX}, - 20021: {SkillSunnyDaysLv2, SkillSunnyDays}, - 20022: {SkillCloudyDaysLv2, SkillCloudyDays}, - 20023: {SkillRainyDaysLv2, SkillRainyDays, SkillRainyDaysX}, - 20024: {SkillSnowyDaysLv2, SkillSnowyDays}, - 20025: {SkillInnerPostProficiencyLv2, SkillInnerPostProficiency, SkillInnerPostAverseness}, - 20026: {SkillOuterPostProficiencyLv2, SkillOuterPostProficiency, SkillOuterPostAverseness}, - 20027: {SkillMaverickLv2, SkillMaverick}, - 20028: {SkillCompetitiveSpiritLv2, SkillCompetitiveSpirit, SkillWallflower}, - 20029: {SkillTargetinSightLv2, SkillTargetinSight}, - 20030: {SkillLongShotLv2, SkillLongShot}, - 20033: {SkillProfessorofCurvature, SkillCornerAdept, SkillCornerAdeptX}, - 20034: {SkillCornerConnoisseur, SkillCornerAcceleration, SkillCornerAccelerationX}, - 20035: {SkillSwingingMaestro, SkillCornerRecovery, SkillCornerRecoveryX}, - 20036: {SkillBeelineBurst, SkillStraightawayAdept}, - 20037: {SkillRushingGale, SkillStraightawayAcceleration}, - 20038: {SkillBreathofFreshAir, SkillStraightawayRecovery}, - 20043: {SkillConcentration, SkillFocus, SkillGatekept}, - 20044: {SkillIronWill, SkillLayLow}, - 20045: {SkillCenterStage, SkillPrudentPositioning}, - 20046: {SkillItsOn, SkillRampUp}, - 20047: {SkillIndomitable, SkillPaceStrategy}, - 20048: {SkillUnruffled, SkillCalminaCrowd}, - 20049: {SkillNoStoppingMe, SkillNimbleNavigator}, - 20050: {SkillLaneLegerdemain, SkillGowiththeFlow}, - 20051: {SkillInBodyandMind, SkillHomestretchHaste}, - 20053: {SkillTakingtheLead, SkillEarlyLead}, - 20054: {SkillEscapeArtist, SkillFastPaced}, - 20055: {SkillUnrestrained, SkillFinalPush}, - 20056: {SkillCalmandCollected, SkillStaminatoSpare}, - 20057: {SkillRacePlanner, SkillPreferredPosition}, - 20058: {SkillSpeedStar, SkillPreparedtoPass}, - 20059: {SkillFastAndFurious, SkillPositionPilfer}, - 20060: {SkillOnYourLeft, SkillSlickSurge}, - 20061: {SkillRisingDragon, SkillOuterSwell}, - 20062: {SkillSleepingLion, SkillStandingBy}, - 20063: {SkillSturmundDrang, SkillMasterfulGambit}, - 20064: {SkillEncroachingShadow, SkillStraightawaySpurt}, - 20065: {SkillTurboSprint, SkillSprintingGear}, - 20066: {SkillWaitandSee}, - 20067: {SkillBlindingFlash, SkillGapCloser}, - 20068: {SkillMileMaven, SkillProductivePlan}, - 20069: {SkillKeenEye, SkillWatchfulEye}, - 20070: {SkillFuriousFeat, SkillUpdrafters}, - 20071: {SkillTrackblazer, SkillRosyOutlook}, - 20072: {SkillKillerTunes, SkillUpTempo}, - 20073: {SkillUnyielding, SkillSteadfast}, - 20074: {SkillCooldown, SkillDeepBreaths}, - 20075: {SkillInnateExperience, SkillInsideScoop}, - 20076: {SkillAdrenalineRush, SkillExtraTank}, - 20077: {SkillTrickFront, SkillTantalizingTrick}, - 20078: {SkillTrickRear}, - 20079: {SkillFrenziedFrontRunners}, - 20080: {SkillFrenziedPaceChasers}, - 20081: {SkillFrenziedLateSurgers}, - 20082: {SkillFrenziedEndClosers}, - 20083: {SkillSubduedFrontRunners}, - 20084: {SkillFlusteredFrontRunners}, - 20085: {SkillHesitantFrontRunners}, - 20086: {SkillSubduedPaceChasers}, - 20087: {SkillFlusteredPaceChasers}, - 20088: {SkillHesitantPaceChasers}, - 20089: {SkillSubduedLateSurgers}, - 20090: {SkillFlusteredLateSurgers}, - 20091: {SkillHesitantLateSurgers}, - 20092: {SkillSubduedEndClosers}, - 20093: {SkillFlusteredEndClosers}, - 20094: {SkillHesitantEndClosers}, - 20095: {SkillOiRacecourseLv2, SkillOiRacecourse, SkillOiRacecourseX}, - 20096: {SkillSprintStraightawaysLv2, SkillSprintStraightaways}, - 20097: {SkillSprintCornersLv2, SkillSprintCorners}, - 20098: {SkillStaggeringLead, SkillHugeLead}, - 20099: {SkillPlanX, SkillCountermeasure}, - 20100: {SkillPerfectPrep, SkillMeticulousMeasures}, - 20101: {SkillAdoredbyAll, SkillIntimidate}, - 20102: {SkillYouveGotNoShot, SkillStopRightThere}, - 20103: {SkillMileStraightawaysLv2, SkillMileStraightaways}, - 20104: {SkillMileCornersLv2, SkillMileCorners}, - 20105: {SkillChangingGears, SkillShiftingGears}, - 20106: {SkillStepontheGas, SkillAcceleration}, - 20107: {SkillBigSisterly, SkillUnyieldingSpirit}, - 20108: {SkillGreedforSpeed, SkillSpeedEater}, - 20109: {SkillBattleFormation, SkillOpeningGambit}, - 20110: {SkillMediumStraightawaysLv2, SkillMediumStraightaways, SkillFlashForward}, - 20111: {SkillMediumCornersLv2, SkillMediumCorners}, - 20112: {SkillClairvoyance, SkillHawkeye}, - 20113: {SkillLightningStep, SkillThunderboltStep}, - 20114: {SkillMiraculousStep, SkillSoftStep}, - 20115: {SkillDominator, SkillTether}, - 20116: {SkillMystifyingMurmur, SkillMurmur}, - 20117: {SkillLongStraightawaysLv2, SkillLongStraightaways}, - 20118: {SkillLongCornersLv2, SkillLongCorners}, - 20119: {SkillVanguardSpirit, SkillKeepingtheLead}, - 20120: {SkillVIPPass, SkillPassingPro}, - 20121: {SkillOverwhelmingPressure, SkillPressure}, - 20122: {SkillStaminaSiphon, SkillStaminaEater}, - 20123: {SkillIllusionist, SkillSmokeScreen}, - 20124: {SkillFrontRunnerStraightawaysLv2, SkillFrontRunnerStraightaways}, - 20125: {SkillFrontRunnerCornersLv2, SkillFrontRunnerCorners}, - 20126: {SkillSixthSense, SkillDodgingDanger}, - 20127: {SkillLeadersPride}, - 20128: {SkillRestless, SkillMoxie}, - 20129: {SkillReignition, SkillSecondWind}, - 20130: {SkillRestart}, - 20131: {SkillPaceChaserStraightawaysLv2, SkillPaceChaserStraightaways}, - 20132: {SkillPaceChaserCornersLv2, SkillPaceChaserCorners}, - 20133: {SkillTechnician, SkillShrewdStep}, - 20134: {SkillDeterminedDescent, SkillStraightDescent}, - 20135: {SkillGourmand, SkillHydrate}, - 20136: {SkillShatterproof, SkillTacticalTweak}, - 20137: {SkillDazzlingDisorientation, SkillDisorient}, - 20138: {SkillLateSurgerStraightawaysLv2, SkillLateSurgerStraightaways}, - 20139: {SkillLateSurgerCornersLv2, SkillLateSurgerCorners}, - 20140: {SkillHardWorker, SkillFighter}, - 20141: {SkillFifteenMillionCC, SkillOneMillionCC}, - 20142: {SkillRelax, SkillASmallBreather}, - 20143: {SkillTheBiggerPicture, SkillStudious}, - 20144: {SkillAllSeeingEyes, SkillSharpGaze}, - 20145: {SkillEndCloserStraightawaysLv2, SkillEndCloserStraightaways}, - 20146: {SkillEndCloserCornersLv2, SkillEndCloserCorners}, - 20147: {SkillTheCoastIsClear, SkillICanSeeRightThroughYou}, - 20148: {SkillGoHomeSpecialist, SkillAfterSchoolStroll}, - 20149: {SkillSerenity, SkillLevelheaded}, - 20150: {SkillCrusader, SkillStrategist}, - 20151: {SkillPetrifyingGaze, SkillIntenseGaze}, - 20152: {SkillFrontRunnerSavvyLv2, SkillFrontRunnerSavvy}, - 20153: {SkillPaceChaserSavvyLv2, SkillPaceChaserSavvy}, - 20154: {SkillLateSurgerSavvyLv2, SkillLateSurgerSavvy}, - 20155: {SkillEndCloserSavvyLv2, SkillEndCloserSavvy}, - 20156: {SkillSuperLuckySeven, SkillLuckySeven}, - 20157: {SkillTripleSevens}, - 20158: {SkillHighlander}, - 20159: {SkillUmaStan, SkillSuperstan}, - 20160: {SkillGroundwork}, - 20161: {SkillTailHeldHigh, SkillTailNine}, - 20162: {SkillShakeItOut}, - 20163: {SkillSympathy}, - 20164: {SkillLoneWolf}, - 20165: {SkillSlipstream}, - 20166: {SkillPlaytimesOver}, - 20167: {SkillTrendingintheCharts, SkillTopPick}, - 20168: {SkillLeadtheCharge, SkillForwardMarch}, - 20169: {SkillLieinWait, SkillBeStill}, - 20170: {SkillComeWhatMay, SkillAllIveGot}, - 20190: {SkillHeadOn}, - 20200: {SkillFamiliarGround}, - 20201: {SkillHeadliner, SkillFeatureAct}, - 20202: {SkillDaringStrike, SkillEarlyStart}, - 20203: {SkillNothingVentured, SkillRiskyBusiness}, - 20204: {SkillInHighSpirits, SkillLightasaFeather}, - 21001: {SkillBurningSpiritSPD, SkillIgnitedSpiritSPD}, - 21002: {SkillBurningSpiritSTA, SkillIgnitedSpiritSTA}, - 21003: {SkillBurningSpiritPWR, SkillIgnitedSpiritPWR}, - 21004: {SkillBurningSpiritGUTS, SkillIgnitedSpiritGUTS}, - 21005: {SkillBurningSpiritWIT, SkillIgnitedSpiritWIT}, - 30001: {SkillUnquenchedThirst}, - 30002: {SkillUnchanging}, - 30003: {SkillTowardstheSceneryISeek}, - 30004: {SkillCreepingAnxiety}, - 30005: {SkillBlatantFear}, - 30006: {SkillDreamRun}, - 30007: {SkillShowMeWhatLiesBeyond}, - 30008: {SkillHoiyaHaveaGoodRun}, - 30009: {SkillAsaFriendandRival}, - 30010: {SkillCheersofaFellowDreamer}, - 100001: {SkillCarnivalBonus}, -} diff --git a/horse/global/skill.kk b/horse/global/skill.kk deleted file mode 100644 index cc23d00..0000000 --- a/horse/global/skill.kk +++ /dev/null @@ -1,14417 +0,0 @@ -module horse/global/skill - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import std/data/rb-map -import std/num/decimal -import horse/game-id -import horse/movement -pub import horse/skill - -extern create-id-table(): vector - c inline "int32_t arr[] = {10071,10081,10091,10111,10141,10181,10241,10271,10321,10351,10411,10451,10521,10561,10601,10611,100011,100021,100031,100041,100051,100061,100071,100081,100091,100101,100111,100121,100131,100141,100151,100161,100171,100181,100191,100201,100211,100221,100231,100241,100251,100261,100271,100281,100301,100321,100331,100351,100371,100381,100391,100401,100411,100451,100461,100481,100501,100521,100561,100581,100591,100601,100611,100691,100711,110011,110031,110041,110061,110111,110131,110141,110151,110171,110181,110231,110241,110261,110301,110371,110401,110451,110521,110561,200011,200012,200013,200021,200022,200023,200031,200032,200033,200041,200042,200043,200051,200052,200053,200061,200062,200063,200064,200071,200072,200073,200081,200082,200083,200091,200092,200093,200101,200102,200103,200111,200112,200113,200121,200122,200123,200131,200132,200133,200141,200142,200143,200151,200152,200153,200161,200162,200163,200171,200172,200173,200174,200181,200182,200183,200191,200192,200193,200194,200201,200202,200203,200211,200212,200221,200222,200231,200232,200233,200241,200242,200251,200252,200253,200261,200262,200263,200271,200272,200281,200282,200283,200291,200292,200301,200302,200311,200321,200331,200332,200333,200341,200342,200343,200351,200352,200353,200361,200362,200371,200372,200381,200382,200391,200401,200411,200421,200431,200432,200433,200441,200442,200451,200452,200461,200462,200471,200472,200481,200482,200491,200492,200501,200502,200511,200512,200521,200531,200532,200541,200542,200551,200552,200561,200562,200571,200572,200581,200582,200591,200592,200601,200602,200611,200612,200621,200622,200631,200632,200641,200642,200651,200652,200662,200671,200672,200681,200682,200691,200692,200701,200702,200711,200712,200721,200722,200731,200732,200741,200742,200751,200752,200761,200762,200771,200772,200781,200791,200801,200811,200821,200831,200841,200851,200861,200871,200881,200891,200901,200911,200921,200931,200941,200951,200952,200953,200961,200962,200971,200972,200981,200982,200991,200992,201001,201002,201011,201012,201021,201022,201031,201032,201041,201042,201051,201052,201061,201062,201071,201072,201081,201082,201091,201092,201101,201102,201103,201111,201112,201121,201122,201131,201132,201141,201142,201151,201152,201161,201162,201171,201172,201181,201182,201191,201192,201201,201202,201211,201212,201221,201222,201231,201232,201241,201242,201251,201252,201261,201262,201272,201281,201282,201291,201292,201302,201311,201312,201321,201322,201331,201332,201341,201342,201351,201352,201361,201362,201371,201372,201381,201382,201391,201392,201401,201402,201411,201412,201421,201422,201431,201432,201441,201442,201451,201452,201461,201462,201471,201472,201481,201482,201491,201492,201501,201502,201511,201512,201521,201522,201531,201532,201541,201542,201551,201552,201561,201562,201571,201581,201591,201592,201601,201611,201612,201621,201631,201641,201651,201661,201671,201672,201681,201682,201691,201692,201701,201702,201801,201902,202002,202011,202012,202021,202022,202031,202032,202041,202042,202051,210011,210012,210021,210022,210031,210032,210041,210042,210051,210052,300011,300021,300031,300041,300051,300061,300071,300081,300091,300101,900011,900021,900031,900041,900051,900061,900071,900081,900091,900101,900111,900121,900131,900141,900151,900161,900171,900181,900191,900201,900211,900221,900231,900241,900251,900261,900271,900281,900301,900321,900331,900351,900371,900381,900391,900401,900411,900451,900461,900481,900501,900521,900561,900581,900591,900601,900611,900691,900711,910011,910031,910041,910061,910111,910131,910141,910151,910171,910181,910231,910241,910261,910301,910371,910401,910451,910521,910561,1000011,};\nkk_vector_from_cint32array(arr, (kk_ssize_t)523, kk_context())" - js inline "[10071,10081,10091,10111,10141,10181,10241,10271,10321,10351,10411,10451,10521,10561,10601,10611,100011,100021,100031,100041,100051,100061,100071,100081,100091,100101,100111,100121,100131,100141,100151,100161,100171,100181,100191,100201,100211,100221,100231,100241,100251,100261,100271,100281,100301,100321,100331,100351,100371,100381,100391,100401,100411,100451,100461,100481,100501,100521,100561,100581,100591,100601,100611,100691,100711,110011,110031,110041,110061,110111,110131,110141,110151,110171,110181,110231,110241,110261,110301,110371,110401,110451,110521,110561,200011,200012,200013,200021,200022,200023,200031,200032,200033,200041,200042,200043,200051,200052,200053,200061,200062,200063,200064,200071,200072,200073,200081,200082,200083,200091,200092,200093,200101,200102,200103,200111,200112,200113,200121,200122,200123,200131,200132,200133,200141,200142,200143,200151,200152,200153,200161,200162,200163,200171,200172,200173,200174,200181,200182,200183,200191,200192,200193,200194,200201,200202,200203,200211,200212,200221,200222,200231,200232,200233,200241,200242,200251,200252,200253,200261,200262,200263,200271,200272,200281,200282,200283,200291,200292,200301,200302,200311,200321,200331,200332,200333,200341,200342,200343,200351,200352,200353,200361,200362,200371,200372,200381,200382,200391,200401,200411,200421,200431,200432,200433,200441,200442,200451,200452,200461,200462,200471,200472,200481,200482,200491,200492,200501,200502,200511,200512,200521,200531,200532,200541,200542,200551,200552,200561,200562,200571,200572,200581,200582,200591,200592,200601,200602,200611,200612,200621,200622,200631,200632,200641,200642,200651,200652,200662,200671,200672,200681,200682,200691,200692,200701,200702,200711,200712,200721,200722,200731,200732,200741,200742,200751,200752,200761,200762,200771,200772,200781,200791,200801,200811,200821,200831,200841,200851,200861,200871,200881,200891,200901,200911,200921,200931,200941,200951,200952,200953,200961,200962,200971,200972,200981,200982,200991,200992,201001,201002,201011,201012,201021,201022,201031,201032,201041,201042,201051,201052,201061,201062,201071,201072,201081,201082,201091,201092,201101,201102,201103,201111,201112,201121,201122,201131,201132,201141,201142,201151,201152,201161,201162,201171,201172,201181,201182,201191,201192,201201,201202,201211,201212,201221,201222,201231,201232,201241,201242,201251,201252,201261,201262,201272,201281,201282,201291,201292,201302,201311,201312,201321,201322,201331,201332,201341,201342,201351,201352,201361,201362,201371,201372,201381,201382,201391,201392,201401,201402,201411,201412,201421,201422,201431,201432,201441,201442,201451,201452,201461,201462,201471,201472,201481,201482,201491,201492,201501,201502,201511,201512,201521,201522,201531,201532,201541,201542,201551,201552,201561,201562,201571,201581,201591,201592,201601,201611,201612,201621,201631,201641,201651,201661,201671,201672,201681,201682,201691,201692,201701,201702,201801,201902,202002,202011,202012,202021,202022,202031,202032,202041,202042,202051,210011,210012,210021,210022,210031,210032,210041,210042,210051,210052,300011,300021,300031,300041,300051,300061,300071,300081,300091,300101,900011,900021,900031,900041,900051,900061,900071,900081,900091,900101,900111,900121,900131,900141,900151,900161,900171,900181,900191,900201,900211,900221,900231,900241,900251,900261,900271,900281,900301,900321,900331,900351,900371,900381,900391,900401,900411,900451,900461,900481,900501,900521,900561,900581,900591,900601,900611,900691,900711,910011,910031,910041,910061,910111,910131,910141,910151,910171,910181,910231,910241,910261,910301,910371,910401,910451,910521,910561,1000011,]" -// Vector of all skill ID values in order for easy iterating. -pub val all = once(create-id-table) - -val name2id = once() - var m: rbmap := empty() - all().foreach() fn(id) m := m.set(Skill-id(id).show, id) - m - -// Get the skill ID that has the given exact name. -// Inherited skills have `" (Inherited)"` appended to their names. -// If no skill matches the name, the result is an invalid ID. -pub fun from-name(name: string): skill-id - Skill-id(name2id().rb-map/lookup(name).default(0)) - -// Get the name for a skill. -// Inherited skills have `" (Inherited)"` appended to their names. -// If no skill matches the ID, the result is the numeric ID. -pub fun show(s: skill-id): string - match s.game-id - 10071 -> "Warning Shot!" - 10081 -> "Xceleration" - 10091 -> "Red Ace" - 10111 -> "Focused Mind" - 10141 -> "Corazón ☆ Ardiente" - 10181 -> "Empress's Pride" - 10241 -> "1st Place Kiss☆" - 10271 -> "Feel the Burn!" - 10321 -> "Introduction to Physiology" - 10351 -> "V Is for Victory!" - 10411 -> "Class Rep + Speed = Bakushin" - 10451 -> "Clear Heart" - 10521 -> "Super-Duper Stoked" - 10561 -> "Luck Be with Me!" - 10601 -> "I Can Win Sometimes, Right?" - 10611 -> "Call Me King" - 100011 -> "Shooting Star" - 100021 -> "The View from the Lead Is Mine!" - 100031 -> "Sky-High Teio Step" - 100041 -> "Red Shift/LP1211-M" - 100051 -> "Lights of Vaudeville" - 100061 -> "Triumphant Pulse" - 100071 -> "Anchors Aweigh!" - 100081 -> "Cut and Drive!" - 100091 -> "Resplendent Red Ace" - 100101 -> "Shooting for Victory!" - 100111 -> "Where There's a Will, There's a Way" - 100121 -> "You and Me! One-on-One!" - 100131 -> "The Duty of Dignity Calls" - 100141 -> "Victoria por plancha ☆" - 100151 -> "This Dance Is for Vittoria!" - 100161 -> "Shadow Break" - 100171 -> "Behold Thine Emperor's Divine Might" - 100181 -> "Blazing Pride" - 100191 -> "OMG! (゚∀゚) The Final Sprint! ☆" - 100201 -> "Angling and Scheming" - 100211 -> "White Lightning Comin' Through!" - 100221 -> "Fairy Tale" - 100231 -> "∴win Q.E.D." - 100241 -> "Flashy☆Landing" - 100251 -> "Chasing After You" - 100261 -> "G00 1st. F∞;" - 100271 -> "Let's Pump Some Iron!" - 100281 -> "YUMMY☆SPEED!" - 100301 -> "Blue Rose Closer" - 100321 -> "U=ma2" - 100331 -> "Shooting Star of Dioskouroi" - 100351 -> "Our Ticket to Win!" - 100371 -> "Schwarzes Schwert" - 100381 -> "#LookatCurren" - 100391 -> "A Princess Must Seize Victory!" - 100401 -> "KEEP IT REAL." - 100411 -> "Genius x Bakushin = Victory" - 100451 -> "Pure Heart" - 100461 -> "SPARKLY☆STARDOM" - 100481 -> "Pop & Polish" - 100501 -> "Nemesis" - 100521 -> "Super-Duper Climax" - 100561 -> "I See Victory in My Future!" - 100581 -> "I Never Goof Up!" - 100591 -> "Moving Past, and Beyond" - 100601 -> "Just a Little Farther!" - 100611 -> "Prideful King" - 100691 -> "Ambition to Surpass the Sakura" - 100711 -> "A Lifelong Dream, A Moment's Flight" - 110011 -> "Dazzl'n ♪ Diver" - 110031 -> "Certain Victory" - 110041 -> "A Kiss for Courage" - 110061 -> "Festive Miracle" - 110111 -> "Superior Heal" - 110131 -> "Legacy of the Strong" - 110141 -> "Condor's Fury" - 110151 -> "Barcarole of Blessings" - 110171 -> "Arrows Whistle, Shadows Disperse" - 110181 -> "Eternal Moments" - 110231 -> "Presents from X" - 110241 -> "Flowery☆Maneuver" - 110261 -> "Operation Cacao" - 110301 -> "Every Rose Has Its Fangs" - 110371 -> "Guten Appetit ♪" - 110401 -> "Dancing in the Leaves" - 110451 -> "Give Mummy a Hug ♡" - 110521 -> "114th Time's the Charm" - 110561 -> "Bountiful Harvest" - 200011 -> "Right-Handed ◎" - 200012 -> "Right-Handed ○" - 200013 -> "Right-Handed ×" - 200021 -> "Left-Handed ◎" - 200022 -> "Left-Handed ○" - 200023 -> "Left-Handed ×" - 200031 -> "Tokyo Racecourse ◎" - 200032 -> "Tokyo Racecourse ○" - 200033 -> "Tokyo Racecourse ×" - 200041 -> "Nakayama Racecourse ◎" - 200042 -> "Nakayama Racecourse ○" - 200043 -> "Nakayama Racecourse ×" - 200051 -> "Hanshin Racecourse ◎" - 200052 -> "Hanshin Racecourse ○" - 200053 -> "Hanshin Racecourse ×" - 200061 -> "Kyoto Racecourse ◎" - 200062 -> "Kyoto Racecourse ○" - 200063 -> "Kyoto Racecourse ×" - 200064 -> "Yodo Invicta" - 200071 -> "Chukyo Racecourse ◎" - 200072 -> "Chukyo Racecourse ○" - 200073 -> "Chukyo Racecourse ×" - 200081 -> "Sapporo Racecourse ◎" - 200082 -> "Sapporo Racecourse ○" - 200083 -> "Sapporo Racecourse ×" - 200091 -> "Hakodate Racecourse ◎" - 200092 -> "Hakodate Racecourse ○" - 200093 -> "Hakodate Racecourse ×" - 200101 -> "Fukushima Racecourse ◎" - 200102 -> "Fukushima Racecourse ○" - 200103 -> "Fukushima Racecourse ×" - 200111 -> "Niigata Racecourse ◎" - 200112 -> "Niigata Racecourse ○" - 200113 -> "Niigata Racecourse ×" - 200121 -> "Kokura Racecourse ◎" - 200122 -> "Kokura Racecourse ○" - 200123 -> "Kokura Racecourse ×" - 200131 -> "Standard Distance ◎" - 200132 -> "Standard Distance ○" - 200133 -> "Standard Distance ×" - 200141 -> "Non-Standard Distance ◎" - 200142 -> "Non-Standard Distance ○" - 200143 -> "Non-Standard Distance ×" - 200151 -> "Firm Conditions ◎" - 200152 -> "Firm Conditions ○" - 200153 -> "Firm Conditions ×" - 200161 -> "Wet Conditions ◎" - 200162 -> "Wet Conditions ○" - 200163 -> "Wet Conditions ×" - 200171 -> "Spring Runner ◎" - 200172 -> "Spring Runner ○" - 200173 -> "Spring Runner ×" - 200174 -> "Spring Spectacle" - 200181 -> "Summer Runner ◎" - 200182 -> "Summer Runner ○" - 200183 -> "Summer Runner ×" - 200191 -> "Fall Runner ◎" - 200192 -> "Fall Runner ○" - 200193 -> "Fall Runner ×" - 200194 -> "Fall Frenzy" - 200201 -> "Winter Runner ◎" - 200202 -> "Winter Runner ○" - 200203 -> "Winter Runner ×" - 200211 -> "Sunny Days ◎" - 200212 -> "Sunny Days ○" - 200221 -> "Cloudy Days ◎" - 200222 -> "Cloudy Days ○" - 200231 -> "Rainy Days ◎" - 200232 -> "Rainy Days ○" - 200233 -> "Rainy Days ×" - 200241 -> "Snowy Days ◎" - 200242 -> "Snowy Days ○" - 200251 -> "Inner Post Proficiency ◎" - 200252 -> "Inner Post Proficiency ○" - 200253 -> "Inner Post Averseness" - 200261 -> "Outer Post Proficiency ◎" - 200262 -> "Outer Post Proficiency ○" - 200263 -> "Outer Post Averseness" - 200271 -> "Maverick ◎" - 200272 -> "Maverick ○" - 200281 -> "Competitive Spirit ◎" - 200282 -> "Competitive Spirit ○" - 200283 -> "Wallflower" - 200291 -> "Target in Sight ◎" - 200292 -> "Target in Sight ○" - 200301 -> "Long Shot ◎" - 200302 -> "Long Shot ○" - 200311 -> "G1 Averseness" - 200321 -> "Paddock Fright" - 200331 -> "Professor of Curvature" - 200332 -> "Corner Adept ○" - 200333 -> "Corner Adept ×" - 200341 -> "Corner Connoisseur" - 200342 -> "Corner Acceleration ○" - 200343 -> "Corner Acceleration ×" - 200351 -> "Swinging Maestro" - 200352 -> "Corner Recovery ○" - 200353 -> "Corner Recovery ×" - 200361 -> "Beeline Burst" - 200362 -> "Straightaway Adept" - 200371 -> "Rushing Gale!" - 200372 -> "Straightaway Acceleration" - 200381 -> "Breath of Fresh Air" - 200382 -> "Straightaway Recovery" - 200391 -> "Ramp Revulsion" - 200401 -> "Packphobia" - 200411 -> "Defeatist" - 200421 -> "Reckless" - 200431 -> "Concentration" - 200432 -> "Focus" - 200433 -> "Gatekept" - 200441 -> "Iron Will" - 200442 -> "Lay Low" - 200451 -> "Center Stage" - 200452 -> "Prudent Positioning" - 200461 -> "It's On!" - 200462 -> "Ramp Up" - 200471 -> "Indomitable" - 200472 -> "Pace Strategy" - 200481 -> "Unruffled" - 200482 -> "Calm in a Crowd" - 200491 -> "No Stopping Me!" - 200492 -> "Nimble Navigator" - 200501 -> "Lane Legerdemain" - 200502 -> "Go with the Flow" - 200511 -> "In Body and Mind" - 200512 -> "Homestretch Haste" - 200521 -> "Running Idle" - 200531 -> "Taking the Lead" - 200532 -> "Early Lead" - 200541 -> "Escape Artist" - 200542 -> "Fast-Paced" - 200551 -> "Unrestrained" - 200552 -> "Final Push" - 200561 -> "Calm and Collected" - 200562 -> "Stamina to Spare" - 200571 -> "Race Planner" - 200572 -> "Preferred Position" - 200581 -> "Speed Star" - 200582 -> "Prepared to Pass" - 200591 -> "Fast & Furious" - 200592 -> "Position Pilfer" - 200601 -> "On Your Left!" - 200602 -> "Slick Surge" - 200611 -> "Rising Dragon" - 200612 -> "Outer Swell" - 200621 -> "Sleeping Lion" - 200622 -> "Standing By" - 200631 -> "Sturm und Drang" - 200632 -> "Masterful Gambit" - 200641 -> "Encroaching Shadow" - 200642 -> "Straightaway Spurt" - 200651 -> "Turbo Sprint" - 200652 -> "Sprinting Gear" - 200662 -> "Wait-and-See" - 200671 -> "Blinding Flash" - 200672 -> "Gap Closer" - 200681 -> "Mile Maven" - 200682 -> "Productive Plan" - 200691 -> "Keen Eye" - 200692 -> "Watchful Eye" - 200701 -> "Furious Feat" - 200702 -> "Updrafters" - 200711 -> "Trackblazer" - 200712 -> "Rosy Outlook" - 200721 -> "Killer Tunes" - 200722 -> "Up-Tempo" - 200731 -> "Unyielding" - 200732 -> "Steadfast" - 200741 -> "Cooldown" - 200742 -> "Deep Breaths" - 200751 -> "Innate Experience" - 200752 -> "Inside Scoop" - 200761 -> "Adrenaline Rush" - 200762 -> "Extra Tank" - 200771 -> "Trick (Front)" - 200772 -> "Tantalizing Trick" - 200781 -> "Trick (Rear)" - 200791 -> "Frenzied Front Runners" - 200801 -> "Frenzied Pace Chasers" - 200811 -> "Frenzied Late Surgers" - 200821 -> "Frenzied End Closers" - 200831 -> "Subdued Front Runners" - 200841 -> "Flustered Front Runners" - 200851 -> "Hesitant Front Runners" - 200861 -> "Subdued Pace Chasers" - 200871 -> "Flustered Pace Chasers" - 200881 -> "Hesitant Pace Chasers" - 200891 -> "Subdued Late Surgers" - 200901 -> "Flustered Late Surgers" - 200911 -> "Hesitant Late Surgers" - 200921 -> "Subdued End Closers" - 200931 -> "Flustered End Closers" - 200941 -> "Hesitant End Closers" - 200951 -> "Oi Racecourse ◎" - 200952 -> "Oi Racecourse ○" - 200953 -> "Oi Racecourse ×" - 200961 -> "Sprint Straightaways ◎" - 200962 -> "Sprint Straightaways ○" - 200971 -> "Sprint Corners ◎" - 200972 -> "Sprint Corners ○" - 200981 -> "Staggering Lead" - 200982 -> "Huge Lead" - 200991 -> "Plan X" - 200992 -> "Countermeasure" - 201001 -> "Perfect Prep!" - 201002 -> "Meticulous Measures" - 201011 -> "Adored by All" - 201012 -> "Intimidate" - 201021 -> "You've Got No Shot" - 201022 -> "Stop Right There!" - 201031 -> "Mile Straightaways ◎" - 201032 -> "Mile Straightaways ○" - 201041 -> "Mile Corners ◎" - 201042 -> "Mile Corners ○" - 201051 -> "Changing Gears" - 201052 -> "Shifting Gears" - 201061 -> "Step on the Gas!" - 201062 -> "Acceleration" - 201071 -> "Big-Sisterly" - 201072 -> "Unyielding Spirit" - 201081 -> "Greed for Speed" - 201082 -> "Speed Eater" - 201091 -> "Battle Formation" - 201092 -> "Opening Gambit" - 201101 -> "Medium Straightaways ◎" - 201102 -> "Medium Straightaways ○" - 201103 -> "Flash Forward" - 201111 -> "Medium Corners ◎" - 201112 -> "Medium Corners ○" - 201121 -> "Clairvoyance" - 201122 -> "Hawkeye" - 201131 -> "Lightning Step" - 201132 -> "Thunderbolt Step" - 201141 -> "Miraculous Step" - 201142 -> "Soft Step" - 201151 -> "Dominator" - 201152 -> "Tether" - 201161 -> "Mystifying Murmur" - 201162 -> "Murmur" - 201171 -> "Long Straightaways ◎" - 201172 -> "Long Straightaways ○" - 201181 -> "Long Corners ◎" - 201182 -> "Long Corners ○" - 201191 -> "Vanguard Spirit" - 201192 -> "Keeping the Lead" - 201201 -> "VIP Pass" - 201202 -> "Passing Pro" - 201211 -> "Overwhelming Pressure" - 201212 -> "Pressure" - 201221 -> "Stamina Siphon" - 201222 -> "Stamina Eater" - 201231 -> "Illusionist" - 201232 -> "Smoke Screen" - 201241 -> "Front Runner Straightaways ◎" - 201242 -> "Front Runner Straightaways ○" - 201251 -> "Front Runner Corners ◎" - 201252 -> "Front Runner Corners ○" - 201261 -> "Sixth Sense" - 201262 -> "Dodging Danger" - 201272 -> "Leader's Pride" - 201281 -> "Restless" - 201282 -> "Moxie" - 201291 -> "Reignition" - 201292 -> "Second Wind" - 201302 -> "Restart" - 201311 -> "Pace Chaser Straightaways ◎" - 201312 -> "Pace Chaser Straightaways ○" - 201321 -> "Pace Chaser Corners ◎" - 201322 -> "Pace Chaser Corners ○" - 201331 -> "Technician" - 201332 -> "Shrewd Step" - 201341 -> "Determined Descent" - 201342 -> "Straight Descent" - 201351 -> "Gourmand" - 201352 -> "Hydrate" - 201361 -> "Shatterproof" - 201362 -> "Tactical Tweak" - 201371 -> "Dazzling Disorientation" - 201372 -> "Disorient" - 201381 -> "Late Surger Straightaways ◎" - 201382 -> "Late Surger Straightaways ○" - 201391 -> "Late Surger Corners ◎" - 201392 -> "Late Surger Corners ○" - 201401 -> "Hard Worker" - 201402 -> "Fighter" - 201411 -> "15,000,000 CC" - 201412 -> "1,500,000 CC" - 201421 -> "Relax" - 201422 -> "A Small Breather" - 201431 -> "The Bigger Picture" - 201432 -> "Studious" - 201441 -> "All-Seeing Eyes" - 201442 -> "Sharp Gaze" - 201451 -> "End Closer Straightaways ◎" - 201452 -> "End Closer Straightaways ○" - 201461 -> "End Closer Corners ◎" - 201462 -> "End Closer Corners ○" - 201471 -> "The Coast Is Clear!" - 201472 -> "I Can See Right Through You" - 201481 -> "Go-Home Specialist" - 201482 -> "After-School Stroll" - 201491 -> "Serenity" - 201492 -> "Levelheaded" - 201501 -> "Crusader" - 201502 -> "Strategist" - 201511 -> "Petrifying Gaze" - 201512 -> "Intense Gaze" - 201521 -> "Front Runner Savvy ◎" - 201522 -> "Front Runner Savvy ○" - 201531 -> "Pace Chaser Savvy ◎" - 201532 -> "Pace Chaser Savvy ○" - 201541 -> "Late Surger Savvy ◎" - 201542 -> "Late Surger Savvy ○" - 201551 -> "End Closer Savvy ◎" - 201552 -> "End Closer Savvy ○" - 201561 -> "Super Lucky Seven" - 201562 -> "Lucky Seven" - 201571 -> "Triple 7s" - 201581 -> "Highlander" - 201591 -> "Uma Stan" - 201592 -> "Superstan" - 201601 -> "Groundwork" - 201611 -> "Tail Held High" - 201612 -> "Tail Nine" - 201621 -> "Shake It Out" - 201631 -> "Sympathy" - 201641 -> "Lone Wolf" - 201651 -> "Slipstream" - 201661 -> "Playtime's Over!" - 201671 -> "Trending in the Charts!" - 201672 -> "Top Pick" - 201681 -> "Lead the Charge!" - 201682 -> "Forward, March!" - 201691 -> "Lie in Wait" - 201692 -> "Be Still" - 201701 -> "Come What May" - 201702 -> "All I've Got" - 201801 -> "♡ 3D Nail Art" - 201902 -> "Head-On" - 202002 -> "Familiar Ground" - 202011 -> "Headliner" - 202012 -> "Feature Act" - 202021 -> "Daring Strike" - 202022 -> "Early Start" - 202031 -> "Nothing Ventured" - 202032 -> "Risky Business" - 202041 -> "In High Spirits" - 202042 -> "Light as a Feather" - 202051 -> "Runaway" - 210011 -> "Burning Spirit SPD" - 210012 -> "Ignited Spirit SPD" - 210021 -> "Burning Spirit STA" - 210022 -> "Ignited Spirit STA" - 210031 -> "Burning Spirit PWR" - 210032 -> "Ignited Spirit PWR" - 210041 -> "Burning Spirit GUTS" - 210042 -> "Ignited Spirit GUTS" - 210051 -> "Burning Spirit WIT" - 210052 -> "Ignited Spirit WIT" - 300011 -> "Unquenched Thirst" - 300021 -> "Unchanging" - 300031 -> "Towards the Scenery I Seek" - 300041 -> "Creeping Anxiety" - 300051 -> "Blatant Fear" - 300061 -> "Dream Run" - 300071 -> "Show Me What Lies Beyond!" - 300081 -> "Hoiya! Have a Good Run!" - 300091 -> "As a Friend and Rival" - 300101 -> "Cheers of a Fellow Dreamer" - 900011 -> "Shooting Star" ++ " (Inherited)" - 900021 -> "The View from the Lead Is Mine!" ++ " (Inherited)" - 900031 -> "Sky-High Teio Step" ++ " (Inherited)" - 900041 -> "Red Shift/LP1211-M" ++ " (Inherited)" - 900051 -> "Lights of Vaudeville" ++ " (Inherited)" - 900061 -> "Triumphant Pulse" ++ " (Inherited)" - 900071 -> "Anchors Aweigh!" ++ " (Inherited)" - 900081 -> "Cut and Drive!" ++ " (Inherited)" - 900091 -> "Resplendent Red Ace" ++ " (Inherited)" - 900101 -> "Shooting for Victory!" ++ " (Inherited)" - 900111 -> "Where There's a Will, There's a Way" ++ " (Inherited)" - 900121 -> "You and Me! One-on-One!" ++ " (Inherited)" - 900131 -> "The Duty of Dignity Calls" ++ " (Inherited)" - 900141 -> "Victoria por plancha ☆" ++ " (Inherited)" - 900151 -> "This Dance Is for Vittoria!" ++ " (Inherited)" - 900161 -> "Shadow Break" ++ " (Inherited)" - 900171 -> "Behold Thine Emperor's Divine Might" ++ " (Inherited)" - 900181 -> "Blazing Pride" ++ " (Inherited)" - 900191 -> "OMG! (゚∀゚) The Final Sprint! ☆" ++ " (Inherited)" - 900201 -> "Angling and Scheming" ++ " (Inherited)" - 900211 -> "White Lightning Comin' Through!" ++ " (Inherited)" - 900221 -> "Fairy Tale" ++ " (Inherited)" - 900231 -> "∴win Q.E.D." ++ " (Inherited)" - 900241 -> "Flashy☆Landing" ++ " (Inherited)" - 900251 -> "Chasing After You" ++ " (Inherited)" - 900261 -> "G00 1st. F∞;" ++ " (Inherited)" - 900271 -> "Let's Pump Some Iron!" ++ " (Inherited)" - 900281 -> "YUMMY☆SPEED!" ++ " (Inherited)" - 900301 -> "Blue Rose Closer" ++ " (Inherited)" - 900321 -> "U=ma2" ++ " (Inherited)" - 900331 -> "Shooting Star of Dioskouroi" ++ " (Inherited)" - 900351 -> "Our Ticket to Win!" ++ " (Inherited)" - 900371 -> "Schwarzes Schwert" ++ " (Inherited)" - 900381 -> "#LookatCurren" ++ " (Inherited)" - 900391 -> "A Princess Must Seize Victory!" ++ " (Inherited)" - 900401 -> "KEEP IT REAL." ++ " (Inherited)" - 900411 -> "Genius x Bakushin = Victory" ++ " (Inherited)" - 900451 -> "Pure Heart" ++ " (Inherited)" - 900461 -> "SPARKLY☆STARDOM" ++ " (Inherited)" - 900481 -> "Pop & Polish" ++ " (Inherited)" - 900501 -> "Nemesis" ++ " (Inherited)" - 900521 -> "Super-Duper Climax" ++ " (Inherited)" - 900561 -> "I See Victory in My Future!" ++ " (Inherited)" - 900581 -> "I Never Goof Up!" ++ " (Inherited)" - 900591 -> "Moving Past, and Beyond" ++ " (Inherited)" - 900601 -> "Just a Little Farther!" ++ " (Inherited)" - 900611 -> "Prideful King" ++ " (Inherited)" - 900691 -> "Ambition to Surpass the Sakura" ++ " (Inherited)" - 900711 -> "A Lifelong Dream, A Moment's Flight" ++ " (Inherited)" - 910011 -> "Dazzl'n ♪ Diver" ++ " (Inherited)" - 910031 -> "Certain Victory" ++ " (Inherited)" - 910041 -> "A Kiss for Courage" ++ " (Inherited)" - 910061 -> "Festive Miracle" ++ " (Inherited)" - 910111 -> "Superior Heal" ++ " (Inherited)" - 910131 -> "Legacy of the Strong" ++ " (Inherited)" - 910141 -> "Condor's Fury" ++ " (Inherited)" - 910151 -> "Barcarole of Blessings" ++ " (Inherited)" - 910171 -> "Arrows Whistle, Shadows Disperse" ++ " (Inherited)" - 910181 -> "Eternal Moments" ++ " (Inherited)" - 910231 -> "Presents from X" ++ " (Inherited)" - 910241 -> "Flowery☆Maneuver" ++ " (Inherited)" - 910261 -> "Operation Cacao" ++ " (Inherited)" - 910301 -> "Every Rose Has Its Fangs" ++ " (Inherited)" - 910371 -> "Guten Appetit ♪" ++ " (Inherited)" - 910401 -> "Dancing in the Leaves" ++ " (Inherited)" - 910451 -> "Give Mummy a Hug ♡" ++ " (Inherited)" - 910521 -> "114th Time's the Charm" ++ " (Inherited)" - 910561 -> "Bountiful Harvest" ++ " (Inherited)" - 1000011 -> "Carnival Bonus" - x -> "skill " ++ x.show - -// Get the description for a skill. -// If no skill matches the ID, the result is the empty string. -pub fun description(s: skill-id): string - match s.game-id - 10071 -> "Slightly increase velocity with a long spurt starting halfway through the race." - 10081 -> "Become stronger at challenging rivals and moderately increase velocity when positioned toward the front with 200m or less remaining." - 10091 -> "Slightly swell with the determination to be number one when positioned toward the front in the second half of the race." - 10111 -> "Moderately increase velocity with a strong turn of foot when passing another runner toward the back on the final straight." - 10141 -> "Slightly hang on to the advantage when positioned toward the front with energy to spare on the final straight." - 10181 -> "Moderately increase velocity with the stride of an empress when passing another runner from midpack or further back on the final corner." - 10241 -> "Slightly increase ability to break out of the pack on the straight after engaging in a challenge toward the front on the final corner or later." - 10271 -> "Moderately increase acceleration in an attempt to move up on a corner late-race." - 10321 -> "Moderately recover endurance and slightly increase velocity for a moderate duration when sitting off the pace on a corner in the second half of the race." - 10351 -> "Moderately increase velocity with winning ambition when positioned toward the front on the final straight after engaging in a challenge on the final corner or later." - 10411 -> "Moderately increase velocity with BAKUSHIN power when engaged in a challenge toward the front in the second half of the race." - 10451 -> "Recover endurance when well-positioned mid-race." - 10521 -> "Moderately recover endurance with a glance at nearby runners when positioned toward the back on the final corner." - 10561 -> "Moderately clear a path forward with the power of divination when the way ahead is jammed late-race." - 10601 -> "Moderately increase velocity with an arousal of fighting spirit when positioned 3rd and about to lose late-race." - 10611 -> "Increase velocity in a true display of skill with 200m remaining after racing calmly." - 100011 -> "Ride the momentum to increase velocity and very slightly increase acceleration after passing another runner toward the front late-race." - 100021 -> "Increase velocity by drawing on all remaining strength when in the lead by a fair margin in the second half of the race." - 100031 -> "Greatly increase velocity with flashy footwork when closing the gap to runners ahead on the final straight." - 100041 -> "Increase acceleration by shifting gears when positioned toward the front on the final corner or later." - 100051 -> "Greatly increase velocity with a dazzling display when just breaking out of the pack toward the front on the final straight." - 100061 -> "Greatly increase ability to break out of the pack by opening up a path when positioned toward the front with 200m remaining." - 100071 -> "Moderately increase velocity steadily with a long spurt starting halfway through the race." - 100081 -> "Become stronger at challenging rivals and increase velocity when positioned toward the front with 200m or less remaining." - 100091 -> "Swell with the determination to be number one when positioned toward the front in the second half of the race." - 100101 -> "Increase acceleration with a pow, a wow, and a bang when well-positioned upon approaching the final straight." - 100111 -> "Increase velocity with a strong turn of foot when passing another runner toward the back on the final straight." - 100121 -> "Increase velocity on the final straight after passing another runner on the outside toward the back on the final corner or later." - 100131 -> "Increase velocity with the determination to not be overtaken when positioned toward the front on the final corner." - 100141 -> "Hang onto the advantage when positioned toward the front with energy to spare on the final straight." - 100151 -> "Increase velocity with royal brilliance when positioned toward the front and close to the runner ahead or behind on the final corner or later." - 100161 -> "Increase velocity with beastly strength when passing another runner on the outside on the final corner or later. If the skill user engaged in a challenge mid-race, greatly increase velocity instead." - 100171 -> "Greatly increase velocity on the final straight after passing another runner 3 times late-race." - 100181 -> "Increase velocity with the stride of an empress when passing another runner from midpack or further back on the final corner." - 100191 -> "Increase velocity and navigation with the pure euphoria of being within breathing distance of precious waifus after passing another runner 2 times late-race." - 100201 -> "Increase acceleration at an opportune moment when in the lead on a corner late-race." - 100211 -> "Bolt down the track like lightning when well-positioned or aiming for the front from midpack on a straight in the second half of the race." - 100221 -> "Increase velocity with the excitement of running when engaged in a challenge while well-positioned in the second half of the race." - 100231 -> "Increase velocity by deriving the winning equation when passing another runner toward the front on the final corner or later." - 100241 -> "Increase ability to break out of the pack on the straight after engaging in a challenge toward the front on the final corner or later." - 100251 -> "Chase after an unseen friend when in midpack in the second half of the race, moderately increasing velocity steadily and very slightly intimidating runners ahead." - 100261 -> "Increase velocity when positioned toward the front after making it to the final straight without faltering." - 100271 -> "Increase acceleration in an attempt to move up on a corner late-race." - 100281 -> "Kick forward hard with renewed vigor when starting to get tired while well-positioned halfway through the race." - 100301 -> "Increase velocity with strong willpower on the final straight after passing another runner in the front part of the pack on the final corner or later." - 100321 -> "Recover endurance and moderately increase velocity for a moderate duration when sitting off the pace on a corner in the second half of the race." - 100331 -> "Increase velocity with guidance from the stars when far from the lead on the final straight. If positioned around the very back, greatly increase velocity instead." - 100351 -> "Increase velocity with winning ambition when positioned toward the front on the final straight after engaging in a challenge on the final corner or later." - 100371 -> "Increase velocity in a dash for the lead after running calmly and according to plan up until the final straight." - 100381 -> "Gain momentum and begin to advance when passing another runner while well-positioned around halfway through the race." - 100391 -> "Increase velocity with pretty princess power when engaged in a challenge on the final straight." - 100401 -> "Moderately increase acceleration steadily with a wink when starting to make a move from midpack in the second half of the race." - 100411 -> "Increase velocity with BAKUSHIN power when engaged in a challenge toward the front in the second half of the race." - 100451 -> "Greatly recover endurance when well-positioned mid-race." - 100461 -> "Become empowered to keep the spotlight when positioned toward the front and close to the runner behind on a straight mid-race." - 100481 -> "Get hyped and increase velocity when pressured by or passing another runner while well-positioned on the final straight." - 100501 -> "Increase velocity with smoldering ambition when moving up from midpack on the final corner or later." - 100521 -> "Recover endurance with a glance at nearby runners when positioned toward the back on the final corner." - 100561 -> "Clear a path forward with the power of divination when the way ahead is jammed late-race." - 100581 -> "Aim for the front with unwavering determination when passing another runner from midpack or further back on a corner late-race." - 100591 -> "Having run the race calmly, increase acceleration with hardened determination when making a move mid-race, or on a crucial corner late-race whilst in midpack." - 100601 -> "Increase velocity with flaring fighting spirit when positioned 3rd and about to lose late-race." - 100611 -> "Greatly increase velocity in a true display of skill with 200m remaining after racing calmly." - 100691 -> "Increase velocity with blossoming ambition when well-positioned and close to the runner ahead with 300m or less remaining." - 100711 -> "Seize the moment when close to the runner behind on the final straight, slightly consuming endurance to greatly increase velocity for a moderate duration." - 110011 -> "Recover endurance by relaxing after activating 2 skills when positioned midpack mid-race." - 110031 -> "Greatly increase velocity with an indomitable fighting spirit on the final straight after being on the heels of another runner toward the front on the final corner or later." - 110041 -> "Increase velocity enthusiastically when positioned toward the front in the second half of the race after recovering endurance with a skill." - 110061 -> "Control breathing and kick forward hard toward victory in the second half of the race after recovering endurance with skills at least 3 times." - 110111 -> "Greatly recover endurance with a gentle light when overtaken toward the back mid-race." - 110131 -> "Increase velocity continuously when pressured by another runner and running out of energy toward the front on the final corner or later." - 110141 -> "Increase acceleration with blazing passion when aiming for the front from midpack on the final corner." - 110151 -> "Increase velocity for a moderate duration when in the front part of the pack with 400m remaining. If at least 7 skills have been activated, greatly increase velocity for a moderate duration instead." - 110171 -> "Increase velocity with a blazing spirit when pressured by another runner in the front part of the pack on the final corner or later." - 110181 -> "Increase velocity when starting to make a move from a position toward the front mid-race." - 110231 -> "Increase velocity by deriving a path to victory mid-race after staying well-positioned from the start of the race up until the second half." - 110241 -> "Increase velocity when passing another runner toward the front on the final corner. If passing toward the back, increase acceleration instead." - 110261 -> "Take a slight breather and increase velocity when in the front part of the pack and detecting another runner coming from behind on a corner mid-race." - 110301 -> "Suck endurance from runners ahead when well-positioned and pressured by another runner mid-race." - 110371 -> "Increase velocity continuously with a patissiere's pride on the final straight after passing another runner 3 times on the final corner or later." - 110401 -> "Increase ability to break out of the pack when engaged in a challenge in midpack on the final corner." - 110451 -> "Increase ability to break out of the pack when well-positioned and close to the runner ahead on the final straight." - 110521 -> "Give max effort when far from the lead on the final corner, moderately increasing velocity steadily for a duration proportional to distance from the lead." - 110561 -> "Increase velocity with a surge of great fortune when pressured by another runner toward the back in the second half of the race." - 200011 -> "Increase performance on right-handed tracks." - 200012 -> "Moderately increase performance on right-handed tracks." - 200013 -> "Moderately decrease performance on right-handed tracks." - 200021 -> "Increase performance on left-handed tracks." - 200022 -> "Moderately increase performance on left-handed tracks." - 200023 -> "Moderately decrease performance on left-handed tracks." - 200031 -> "Increase performance at Tokyo Racecourse." - 200032 -> "Moderately increase performance at Tokyo Racecourse." - 200033 -> "Moderately decrease performance at Tokyo Racecourse." - 200041 -> "Increase performance at Nakayama Racecourse." - 200042 -> "Moderately increase performance at Nakayama Racecourse." - 200043 -> "Moderately decrease performance at Nakayama Racecourse." - 200051 -> "Increase performance at Hanshin Racecourse." - 200052 -> "Moderately increase performance at Hanshin Racecourse." - 200053 -> "Moderately decrease performance at Hanshin Racecourse." - 200061 -> "Increase performance at Kyoto Racecourse." - 200062 -> "Moderately increase performance at Kyoto Racecourse." - 200063 -> "Moderately decrease performance at Kyoto Racecourse." - 200064 -> "Increase performance at Kyoto Racecourse, boosting Stamina and Wit." - 200071 -> "Increase performance at Chukyo Racecourse." - 200072 -> "Moderately increase performance at Chukyo Racecourse." - 200073 -> "Moderately decrease performance at Chukyo Racecourse." - 200081 -> "Increase performance at Sapporo Racecourse." - 200082 -> "Moderately increase performance at Sapporo Racecourse." - 200083 -> "Moderately decrease performance at Sapporo Racecourse." - 200091 -> "Increase performance at Hakodate Racecourse." - 200092 -> "Moderately increase performance at Hakodate Racecourse." - 200093 -> "Moderately decrease performance at Hakodate Racecourse." - 200101 -> "Increase performance at Fukushima Racecourse." - 200102 -> "Moderately increase performance at Fukushima Racecourse." - 200103 -> "Moderately decrease performance at Fukushima Racecourse." - 200111 -> "Increase performance at Niigata Racecourse." - 200112 -> "Moderately increase performance at Niigata Racecourse." - 200113 -> "Moderately decrease performance at Niigata Racecourse." - 200121 -> "Increase performance at Kokura Racecourse." - 200122 -> "Moderately increase performance at Kokura Racecourse." - 200123 -> "Moderately decrease performance at Kokura Racecourse." - 200131 -> "Increase performance over standard distances (multiples of 400m)." - 200132 -> "Moderately increase performance over standard distances (multiples of 400m)." - 200133 -> "Moderately decrease performance over standard distances (multiples of 400m)." - 200141 -> "Increase performance over non-standard distances (non-multiples of 400m)." - 200142 -> "Moderately increase performance over non-standard distances (non-multiples of 400m)." - 200143 -> "Moderately decrease performance over non-standard distances (non-multiples of 400m)." - 200151 -> "Increase performance on firm ground." - 200152 -> "Moderately increase performance on firm ground." - 200153 -> "Moderately decrease performance on firm ground." - 200161 -> "Increase performance on good, soft, and heavy ground." - 200162 -> "Moderately increase performance on good, soft, and heavy ground." - 200163 -> "Moderately decrease performance on good, soft, and heavy ground." - 200171 -> "Increase performance in spring." - 200172 -> "Moderately increase performance in spring." - 200173 -> "Moderately decrease performance in spring." - 200174 -> "Increase performance in spring, boosting Speed and Power." - 200181 -> "Increase performance in summer." - 200182 -> "Moderately increase performance in summer." - 200183 -> "Moderately decrease performance in summer." - 200191 -> "Increase performance in fall." - 200192 -> "Moderately increase performance in fall." - 200193 -> "Moderately decrease performance in fall." - 200194 -> "Increase performance in fall, boosting Speed and Power." - 200201 -> "Increase performance in winter." - 200202 -> "Moderately increase performance in winter." - 200203 -> "Moderately decrease performance in winter." - 200211 -> "Increase performance in sunny weather." - 200212 -> "Moderately increase performance in sunny weather." - 200221 -> "Increase performance in cloudy weather." - 200222 -> "Moderately increase performance in cloudy weather." - 200231 -> "Increase performance in rainy weather." - 200232 -> "Moderately increase performance in rainy weather." - 200233 -> "Moderately decrease performance in rainy weather." - 200241 -> "Increase performance in snowy weather." - 200242 -> "Moderately increase performance in snowy weather." - 200251 -> "Increase performance in brackets 1–3." - 200252 -> "Moderately increase performance in brackets 1–3." - 200253 -> "Moderately decrease performance in brackets 1–3." - 200261 -> "Increase performance in brackets 6–8." - 200262 -> "Moderately increase performance in brackets 6–8." - 200263 -> "Moderately decrease performance in brackets 6–8." - 200271 -> "Greatly increase performance when no other runners are using the same strategy." - 200272 -> "Increase performance when no other runners are using the same strategy." - 200281 -> "Increase performance when many other runners are using the same strategy." - 200282 -> "Moderately increase performance when many other runners are using the same strategy." - 200283 -> "Moderately decrease performance when many other runners are using the same strategy." - 200291 -> "Increase performance when the favorite is using the same strategy." - 200292 -> "Moderately increase performance when the favorite is using the same strategy." - 200301 -> "Increase performance when 4th favorite or below." - 200302 -> "Moderately increase performance when 4th favorite or below." - 200311 -> "Moderately decrease performance in G1 or otherwise important races." - 200321 -> "Moderately decrease performance when the favorite." - 200331 -> "Increase velocity on a corner with skilled turning." - 200332 -> "Slightly increase velocity on a corner with skilled turning." - 200333 -> "Moderately decrease velocity on a corner with clumsy turning." - 200341 -> "Increase acceleration on a corner with masterful turning." - 200342 -> "Slightly increase acceleration on a corner with masterful turning." - 200343 -> "Moderately decrease acceleration on a corner with awkward turning." - 200351 -> "Recover endurance on a corner with efficient turning." - 200352 -> "Slightly recover endurance on a corner with efficient turning." - 200353 -> "Moderately lose endurance on a corner with inefficient turning." - 200361 -> "Increase velocity on a straight." - 200362 -> "Slightly increase velocity on a straight." - 200371 -> "Increase acceleration on a straight." - 200372 -> "Slightly increase acceleration on a straight." - 200381 -> "Recover endurance on a straight." - 200382 -> "Slightly recover endurance on a straight." - 200391 -> "Moderately increase fatigue on an uphill." - 200401 -> "Moderately lose endurance when surrounded." - 200411 -> "Moderately increase urge to give up when positioned around the very back on the final straight." - 200421 -> "Moderately increase carelessness when in the lead with around 200m remaining." - 200431 -> "Decrease time lost to slow starts." - 200432 -> "Slightly decrease time lost to slow starts." - 200433 -> "Moderately increase time lost to slow starts." - 200441 -> "Recover endurance when the way ahead is jammed early-race or mid-race." - 200442 -> "Slightly recover endurance when the way ahead is jammed early-race or mid-race." - 200451 -> "Greatly increase navigation early-race." - 200452 -> "Increase navigation early-race." - 200461 -> "Increase velocity when passing another runner mid-race." - 200462 -> "Slightly increase velocity when passing another runner mid-race." - 200471 -> "Recover endurance when passed by another runner mid-race." - 200472 -> "Slightly recover endurance when passed by another runner mid-race." - 200481 -> "Recover endurance when surrounded mid-race." - 200482 -> "Slightly recover endurance when surrounded mid-race." - 200491 -> "Increase maneuverability when the way ahead is blocked in the last spurt." - 200492 -> "Slightly increase maneuverability when the way ahead is blocked in the last spurt." - 200501 -> "Increase navigation late-race." - 200502 -> "Moderately increase navigation late-race." - 200511 -> "Increase velocity in the last spurt." - 200512 -> "Slightly increase velocity in the last spurt." - 200521 -> "Moderately increase fatigue when in the lead by too large of a margin." - 200531 -> "Increase ability to go to the front early-race. (Front Runner)" - 200532 -> "Slightly increase ability to go to the front early-race. (Front Runner)" - 200541 -> "Increase ability to go to the front mid-race. (Front Runner)" - 200542 -> "Slightly increase ability to go to the front mid-race. (Front Runner)" - 200551 -> "Increase ability to keep the lead on the final corner. (Front Runner)" - 200552 -> "Slightly increase ability to keep the lead on the final corner. (Front Runner)" - 200561 -> "Decrease fatigue upon approaching mid-race. (Pace Chaser)" - 200562 -> "Slightly decrease fatigue upon approaching mid-race. (Pace Chaser)" - 200571 -> "Decrease fatigue mid-race. (Pace Chaser)" - 200572 -> "Slightly decrease fatigue mid-race. (Pace Chaser)" - 200581 -> "Increase ability to break out of the pack on the final corner. (Pace Chaser)" - 200582 -> "Slightly increase ability to break out of the pack on the final corner. (Pace Chaser)" - 200591 -> "Increase velocity mid-race. (Late Surger)" - 200592 -> "Slightly increase velocity mid-race. (Late Surger)" - 200601 -> "Increase acceleration late-race. (Late Surger)" - 200602 -> "Slightly increase acceleration late-race. (Late Surger)" - 200611 -> "Increase velocity when passing another runner on the outside on the final corner. (Late Surger)" - 200612 -> "Slightly increase velocity when passing another runner on the outside on the final corner. (Late Surger)" - 200621 -> "Decrease fatigue mid-race. (End Closer)" - 200622 -> "Slightly decrease fatigue mid-race. (End Closer)" - 200631 -> "Move up in preparation to close the gap when positioned toward the back late-race. (End Closer)" - 200632 -> "Slightly move up in preparation to close the gap when positioned toward the back late-race. (End Closer)" - 200641 -> "Increase acceleration on a straight in the last spurt. (End Closer)" - 200642 -> "Slightly increase acceleration on a straight in the last spurt. (End Closer)" - 200651 -> "Increase acceleration on a straight. (Sprint)" - 200652 -> "Slightly increase acceleration on a straight. (Sprint)" - 200662 -> "Slightly decrease fatigue and very slightly increase acceleration when positioned toward the back mid-race. (Sprint)" - 200671 -> "Increase spurting ability when positioned toward the back late-race. (Sprint)" - 200672 -> "Slightly increase spurting ability when positioned toward the back late-race. (Sprint)" - 200681 -> "Widen the margin when positioned toward the front early-race. (Mile)" - 200682 -> "Slightly widen the margin when positioned toward the front early-race. (Mile)" - 200691 -> "Decrease fatigue, then moderately decrease velocity of runners ahead when positioned toward the back upon approaching mid-race. (Mile)" - 200692 -> "Slightly decrease fatigue, then very slightly decrease velocity of runners ahead when positioned toward the back upon approaching mid-race. (Mile)" - 200701 -> "Increase passing ability when positioned toward the back late-race. (Mile)" - 200702 -> "Slightly increase passing ability when positioned toward the back late-race. (Mile)" - 200711 -> "Decrease fatigue when positioned toward the front mid-race. (Medium)" - 200712 -> "Slightly decrease fatigue when positioned toward the front mid-race. (Medium)" - 200721 -> "Increase positioning ability when positioned toward the front mid-race. (Medium)" - 200722 -> "Slightly increase positioning ability when positioned toward the front mid-race. (Medium)" - 200731 -> "Increase ability to fight back when passed by another runner on the final corner. (Medium)" - 200732 -> "Slightly increase ability to fight back when passed by another runner on the final corner. (Medium)" - 200741 -> "Decrease fatigue by taking a breather upon entering a straight. (Long)" - 200742 -> "Slightly decrease fatigue by taking a breather upon entering a straight. (Long)" - 200751 -> "Increase velocity when near the inner rail on the final corner. (Long)" - 200752 -> "Slightly increase velocity when near the inner rail on the final corner. (Long)" - 200761 -> "Regain the energy to run when close to exhausting strength. (Long)" - 200762 -> "Slightly regain the energy to run when close to exhausting strength. (Long)" - 200771 -> "Slightly increase fatigue for rushed runners behind when positioned toward the front mid-race." - 200772 -> "Increase fatigue for rushed runners behind when positioned toward the front mid-race." - 200781 -> "Slightly increase fatigue for rushed runners ahead when positioned toward the back mid-race." - 200791 -> "Increase time needed for front runners to calm down when they become rushed." - 200801 -> "Increase time needed for pace chasers to calm down when they become rushed." - 200811 -> "Increase time needed for late surgers to calm down when they become rushed." - 200821 -> "Increase time needed for end closers to calm down when they become rushed." - 200831 -> "Slightly increase fatigue for front runners early-race." - 200841 -> "Slightly increase fatigue for front runners mid-race." - 200851 -> "Slightly decrease velocity of front runners late-race." - 200861 -> "Slightly increase fatigue for pace chasers early-race." - 200871 -> "Slightly increase fatigue for pace chasers mid-race." - 200881 -> "Slightly decrease velocity of pace chasers late-race." - 200891 -> "Slightly increase fatigue for late surgers early-race." - 200901 -> "Slightly increase fatigue for late surgers mid-race." - 200911 -> "Slightly decrease velocity of late surgers late-race." - 200921 -> "Slightly increase fatigue for end closers early-race." - 200931 -> "Slightly increase fatigue for end closers mid-race." - 200941 -> "Slightly decrease velocity of end closers late-race." - 200951 -> "Increase performance at Oi Racecourse." - 200952 -> "Moderately increase performance at Oi Racecourse." - 200953 -> "Moderately decrease performance at Oi Racecourse." - 200961 -> "Moderately increase velocity on a straight. (Sprint)" - 200962 -> "Slightly increase velocity on a straight. (Sprint)" - 200971 -> "Moderately increase velocity on a corner. (Sprint)" - 200972 -> "Slightly increase velocity on a corner. (Sprint)" - 200981 -> "Increase ability to maintain the lead when leading by a large margin mid-race. (Sprint)" - 200982 -> "Slightly increase ability to maintain the lead when leading by a large margin mid-race. (Sprint)" - 200991 -> "Increase passing ability when positioned toward the front upon approaching late-race. (Sprint)" - 200992 -> "Slightly increase passing ability when positioned toward the front upon approaching late-race. (Sprint)" - 201001 -> "Prepare to make for the finish line for a medium duration mid-race. (Sprint)" - 201002 -> "Moderately prepare to make for the finish line for a medium duration mid-race. (Sprint)" - 201011 -> "Intimidate runners behind when positioned toward the front early-race. (Sprint)" - 201012 -> "Moderately intimidate runners behind when positioned toward the front early-race. (Sprint)" - 201021 -> "Cause panic in and moderately dull movement for runners ahead when positioned toward the back early-race. (Sprint)" - 201022 -> "Slightly cause panic in and very slightly dull movement for runners ahead when positioned toward the back early-race. (Sprint)" - 201031 -> "Moderately increase velocity on a straight. (Mile)" - 201032 -> "Slightly increase velocity on a straight. (Mile)" - 201041 -> "Moderately increase velocity on a corner. (Mile)" - 201042 -> "Slightly increase velocity on a corner. (Mile)" - 201051 -> "Increase passing ability when positioned toward the front mid-race. (Mile)" - 201052 -> "Slightly increase passing ability when positioned toward the front mid-race. (Mile)" - 201061 -> "Increase acceleration when passing another runner mid-race. (Mile)" - 201062 -> "Slightly increase acceleration when passing another runner mid-race. (Mile)" - 201071 -> "Increase passing ability. (Mile)" - 201072 -> "Slightly increase passing ability. (Mile)" - 201081 -> "Moderately steal velocity from runners behind when positioned toward the front mid-race. (Mile)" - 201082 -> "Slightly steal velocity from runners behind when positioned toward the front mid-race. (Mile)" - 201091 -> "Dull movement for runners ahead when positioned toward the back early-race. (Mile)" - 201092 -> "Slightly dull movement for runners ahead when positioned toward the back early-race. (Mile)" - 201101 -> "Moderately increase velocity on a straight. (Medium)" - 201102 -> "Slightly increase velocity on a straight. (Medium)" - 201103 -> "Increase velocity on a straight. (Medium)" - 201111 -> "Moderately increase velocity on a corner. (Medium)" - 201112 -> "Slightly increase velocity on a corner. (Medium)" - 201121 -> "Widen field of view with heightened observation early-race. (Medium)" - 201122 -> "Moderately widen field of view with heightened observation early-race. (Medium)" - 201131 -> "Avoid becoming surrounded for a medium duration when positioned toward the back mid-race. (Medium)" - 201132 -> "Moderately avoid becoming surrounded for a medium duration when positioned toward the back mid-race. (Medium)" - 201141 -> "Decrease fatigue when moving sideways. (Medium)" - 201142 -> "Slightly decrease fatigue when moving sideways. (Medium)" - 201151 -> "Decrease velocity of runners ahead when positioned toward the back late-race. (Medium)" - 201152 -> "Slightly decrease velocity of runners ahead when positioned toward the back late-race. (Medium)" - 201161 -> "Disturb runners directly ahead mid-race. (Medium)" - 201162 -> "Slightly disturb runners directly ahead mid-race. (Medium)" - 201171 -> "Moderately increase velocity on a straight. (Long)" - 201172 -> "Slightly increase velocity on a straight. (Long)" - 201181 -> "Moderately increase velocity on a corner. (Long)" - 201182 -> "Slightly increase velocity on a corner. (Long)" - 201191 -> "Increase ability to maintain the lead when leading by a fair margin mid-race. (Long)" - 201192 -> "Slightly increase ability to maintain the lead when leading by a fair margin mid-race. (Long)" - 201201 -> "Decrease fatigue when determined to pass another runner. (Long)" - 201202 -> "Slightly decrease fatigue when determined to pass another runner. (Long)" - 201211 -> "Increase velocity when passing another runner late-race. (Long)" - 201212 -> "Slightly increase velocity when passing another runner late-race. (Long)" - 201221 -> "Slightly steal endurance from runners ahead when positioned toward the back mid-race. (Long)" - 201222 -> "Very slightly steal endurance from runners ahead when positioned toward the back mid-race. (Long)" - 201231 -> "Narrow the field of view for runners ahead late-race. (Long)" - 201232 -> "Moderately narrow the field of view for runners ahead late-race. (Long)" - 201241 -> "Moderately increase velocity on a straight. (Front Runner)" - 201242 -> "Slightly increase velocity on a straight. (Front Runner)" - 201251 -> "Moderately increase velocity on a corner. (Front Runner)" - 201252 -> "Slightly increase velocity on a corner. (Front Runner)" - 201261 -> "Avoid becoming surrounded early-race. (Front Runner)" - 201262 -> "Moderately avoid becoming surrounded early-race. (Front Runner)" - 201272 -> "Slightly increase ability to pass or challenge another runner early-race or mid-race. (Front Runner)" - 201281 -> "Reduce fatigue on an uphill. (Front Runner)" - 201282 -> "Slightly reduce fatigue on an uphill. (Front Runner)" - 201291 -> "Increase acceleration when not in the lead mid-race. (Front Runner)" - 201292 -> "Slightly increase acceleration when not in the lead mid-race. (Front Runner)" - 201302 -> "Slightly dull movement for runners ahead when not in the lead early-race. (Front Runner)" - 201311 -> "Moderately increase velocity on a straight. (Pace Chaser)" - 201312 -> "Slightly increase velocity on a straight. (Pace Chaser)" - 201321 -> "Moderately increase velocity on a corner. (Pace Chaser)" - 201322 -> "Slightly increase velocity on a corner. (Pace Chaser)" - 201331 -> "Moderately increase ability to navigate smoothly. (Pace Chaser)" - 201332 -> "Slightly increase ability to navigate smoothly. (Pace Chaser)" - 201341 -> "Moderately improve running on a downhill. (Pace Chaser)" - 201342 -> "Slightly improve running on a downhill. (Pace Chaser)" - 201351 -> "Recover endurance mid-race. (Pace Chaser)" - 201352 -> "Slightly recover endurance mid-race. (Pace Chaser)" - 201361 -> "Moderately increase acceleration when positioned toward the back mid-race. (Pace Chaser)" - 201362 -> "Slightly increase acceleration when positioned toward the back mid-race. (Pace Chaser)" - 201371 -> "Moderately narrow the field of view for runners behind when positioned toward the front late-race. (Pace Chaser)" - 201372 -> "Slightly narrow the field of view for runners behind when positioned toward the front late-race. (Pace Chaser)" - 201381 -> "Moderately increase velocity on a straight. (Late Surger)" - 201382 -> "Slightly increase velocity on a straight. (Late Surger)" - 201391 -> "Moderately increase velocity on a corner. (Late Surger)" - 201392 -> "Slightly increase velocity on a corner. (Late Surger)" - 201401 -> "Moderately increase acceleration for a medium duration when trying to pass another runner. (Late Surger)" - 201402 -> "Slightly increase acceleration for a medium duration when trying to pass another runner. (Late Surger)" - 201411 -> "Increase velocity on an uphill. (Late Surger)" - 201412 -> "Slightly increase velocity on an uphill. (Late Surger)" - 201421 -> "Recover endurance late-race. (Late Surger)" - 201422 -> "Slightly recover endurance late-race. (Late Surger)" - 201431 -> "Widen field of view with heightened observation mid-race. (Late Surger)" - 201432 -> "Slightly widen field of view with heightened observation mid-race. (Late Surger)" - 201441 -> "Startle other runners late-race. (Late Surger)" - 201442 -> "Slightly startle other runners late-race. (Late Surger)" - 201451 -> "Moderately increase velocity on a straight. (End Closer)" - 201452 -> "Slightly increase velocity on a straight. (End Closer)" - 201461 -> "Moderately increase velocity on a corner. (End Closer)" - 201462 -> "Slightly increase velocity on a corner. (End Closer)" - 201471 -> "Moderately widen field of view with situational awareness when moving sideways. (End Closer)" - 201472 -> "Slightly widen field of view with situational awareness when moving sideways. (End Closer)" - 201481 -> "Reduce fatigue on a downhill. (End Closer)" - 201482 -> "Slightly reduce fatigue on a downhill. (End Closer)" - 201491 -> "Regain composure by calming down when the way ahead is jammed. (End Closer)" - 201492 -> "Slightly regain composure by calming down when the way ahead is jammed. (End Closer)" - 201501 -> "Widen field of view when positioned toward the back late-race. (End Closer)" - 201502 -> "Slightly widen field of view when positioned toward the back late-race. (End Closer)" - 201511 -> "Unnerve runners in focus late-race. (End Closer)" - 201512 -> "Slightly unnerve runners in focus late-race. (End Closer)" - 201521 -> "Increase ability to get into a good position. (Front Runner)" - 201522 -> "Moderately increase ability to get into a good position. (Front Runner)" - 201531 -> "Increase ability to get into a good position. (Pace Chaser)" - 201532 -> "Moderately increase ability to get into a good position. (Pace Chaser)" - 201541 -> "Increase ability to get into a good position. (Late Surger)" - 201542 -> "Moderately increase ability to get into a good position. (Late Surger)" - 201551 -> "Increase ability to get into a good position. (End Closer)" - 201552 -> "Moderately increase ability to get into a good position. (End Closer)" - 201561 -> "Good things may happen when in bracket 7." - 201562 -> "Moderately good things may happen when in bracket 7." - 201571 -> "Slightly gain energy with 777m remaining." - 201581 -> "Slightly improve running on an uphill." - 201591 -> "Slightly increase velocity when close to many runners." - 201592 -> "Increase velocity when close to many runners." - 201601 -> "Slightly increase acceleration after activating many skills early-race." - 201611 -> "Slightly increase velocity after activating many skills mid-race." - 201612 -> "Increase velocity after activating many skills mid-race." - 201621 -> "Slightly recover endurance after activating many skills late-race." - 201631 -> "Moderately increase performance when many runners share a sympathetic heart." - 201641 -> "Moderately increase performance when no other runners have the heart of a lone wolf." - 201651 -> "Slightly decrease wind resistance when following directly behind another runner." - 201661 -> "Slightly increase velocity when followed by another runner directly behind for a long time." - 201671 -> "Increase velocity when engaged in a challenge mid-race. (Dirt)" - 201672 -> "Slightly increase velocity when engaged in a challenge mid-race. (Dirt)" - 201681 -> "Prepare to aim for the front late-race. (Dirt)" - 201682 -> "Moderately prepare to aim for the front late-race. (Dirt)" - 201691 -> "Recover endurance when positioned toward the back upon approaching mid-race. (Late Surger)" - 201692 -> "Slightly recover endurance when positioned toward the back upon approaching mid-race. (Late Surger)" - 201701 -> "Increase velocity when well-positioned on a straight in the last spurt. (Medium)" - 201702 -> "Slightly increase velocity when well-positioned on a straight in the last spurt. (Medium)" - 201801 -> "Moderately decrease performance on firm ground." - 201902 -> "Slightly increase acceleration when positioned toward the front late-race. (Pace Chaser)" - 202002 -> "Slightly recover endurance when positioned toward the back mid-race. (Dirt)" - 202011 -> "Increase velocity when positioned toward the front upon approaching late-race. (Long)" - 202012 -> "Slightly increase velocity when positioned toward the front upon approaching late-race. (Long)" - 202021 -> "Moderately increase velocity for a medium duration when positioned toward the back mid-race. (End Closer)" - 202022 -> "Very slightly increase velocity for a medium duration when positioned toward the back mid-race. (End Closer)" - 202031 -> "Greatly increase velocity in the second half of the race, but also greatly increase fatigue sometimes." - 202032 -> "Moderately increase velocity in the second half of the race, but also greatly increase fatigue sometimes." - 202041 -> "Increase velocity when positioned toward the front upon approaching late-race. (Sprint)" - 202042 -> "Slightly increase velocity when positioned toward the front upon approaching late-race. (Sprint)" - 202051 -> "Attempt to gain an especially large lead and keep it until the finish. (Front Runner)" - 210011 -> "Burn bright with team spirit, increasing velocity in proportion to the total Speed of racing team members mid-race." - 210012 -> "Burn bright with team spirit, slightly increasing velocity in proportion to the total Speed of racing team members mid-race." - 210021 -> "Burn bright with team spirit, recovering endurance in proportion to the total Stamina of racing team members mid-race." - 210022 -> "Burn bright with team spirit, slightly recovering endurance in proportion to the total Stamina of racing team members mid-race." - 210031 -> "Burn bright with team spirit, increasing acceleration in proportion to the total Power of racing team members late-race." - 210032 -> "Burn bright with team spirit, slightly increasing acceleration in proportion to the total Power of racing team members late-race." - 210041 -> "Burn bright with team spirit, increasing vigor in proportion to the total Guts of racing team members late-race." - 210042 -> "Burn bright with team spirit, very slightly increasing vigor in proportion to the total Guts of racing team members late-race." - 210051 -> "Burn bright with team spirit, increasing strategic navigation for a medium duration in proportion to the total Wit of racing team members early-race." - 210052 -> "Burn bright with team spirit, slightly increasing strategic navigation for a medium duration in proportion to the total Wit of racing team members early-race." - 300011 -> "Moderately increase performance with the desire to race." - 300021 -> "Greatly increase performance with the same ambition of days past." - 300031 -> "Moderately increase performance in pursuit of that long sought-after scenery." - 300041 -> "Moderately decrease performance due to Trainer's anxiety." - 300051 -> "Greatly decrease velocity on a corner in the second half of the race due to Trainer's obvious anxiety." - 300061 -> "Increase velocity on the final straight due to a strong desire to cross the finish line carrying everyone's hopes and dreams." - 300071 -> "Moderately increase Silence Suzuka's performance thanks to the desire to see her running reach new heights." - 300081 -> "Moderately increase Silence Suzuka's performance thanks to a charm that guarantees a satisfying run." - 300091 -> "Moderately increase Silence Suzuka's performance through the happiness felt seeing a friend find their running style." - 300101 -> "Recover Silence Suzuka's endurance on a corner in the second half of the race through a friend's cheers of support." - 900011 -> "Slightly increase velocity and very minimally increase acceleration after passing another runner toward the front late-race." - 900021 -> "Slightly increase velocity when in the lead by a fair margin in the second half of the race." - 900031 -> "Moderately increase velocity when closing the gap to runners ahead on the final straight." - 900041 -> "Slightly increase acceleration when positioned toward the front on the final corner or later." - 900051 -> "Moderately increase velocity when just breaking out of the pack toward the front on the final straight." - 900061 -> "Moderately increase ability to break out of the pack when positioned toward the front with 200m remaining." - 900071 -> "Very slightly increase velocity steadily with a long spurt starting halfway through the race." - 900081 -> "Slightly increase velocity when positioned toward the front with 200m or less remaining." - 900091 -> "Very slightly swell with the determination to be number one when positioned toward the front in the second half of the race." - 900101 -> "Slightly increase acceleration when well-positioned upon approaching the final straight." - 900111 -> "Slightly increase velocity when passing another runner toward the back on the final straight." - 900121 -> "Slightly increase velocity on the final straight after passing another runner on the outside toward the back on the final corner or later." - 900131 -> "Slightly increase velocity when positioned toward the front on the final corner." - 900141 -> "Very slightly hang on to the advantage when positioned toward the front with energy to spare on the final straight." - 900151 -> "Slightly increase velocity when positioned toward the front and close to the runner ahead or behind on the final corner or later." - 900161 -> "Slightly increase velocity when passing another runner on the outside on the final corner or later. If the skill user engaged in a challenge mid-race, moderately increase velocity instead." - 900171 -> "Moderately increase velocity on the final straight after passing another runner 3 times late-race." - 900181 -> "Slightly increase velocity when passing another runner from midpack or further back on the final corner." - 900191 -> "Slightly increase velocity and navigation after passing another runner 2 times late-race." - 900201 -> "Slightly increase acceleration when in the lead on a corner late-race." - 900211 -> "Slightly bolt down the track when well-positioned or aiming for the front from midpack on a straight in the second half of the race." - 900221 -> "Slightly increase velocity when engaged in a challenge while well-positioned in the second half of the race." - 900231 -> "Slightly increase velocity when passing another runner toward the front on the final corner or later." - 900241 -> "Very slightly increase ability to break out of the pack on the straight after engaging in a challenge toward the front on the final corner or later." - 900251 -> "Very slightly increase velocity steadily and very minimally intimidate runners ahead when in midpack in the second half of the race." - 900261 -> "Slightly increase velocity when positioned toward the front after making it to the final straight without faltering." - 900271 -> "Slightly increase acceleration in an attempt to move up on a corner late-race." - 900281 -> "Very slightly kick forward when moderately tired while well-positioned halfway through the race." - 900301 -> "Slightly increase velocity on the final straight after passing another runner in the front part of the pack on the final corner or later." - 900321 -> "Slightly recover endurance and very slightly increase velocity for a moderate duration when sitting off the pace on a corner in the second half of the race." - 900331 -> "Slightly increase velocity when far from the lead on the final straight. If positioned around the very back, moderately increase velocity instead." - 900351 -> "Slightly increase velocity when positioned toward the front on the final straight after engaging in a challenge on the final corner or later." - 900371 -> "Slightly increase velocity in a dash for the lead after running calmly and according to plan up until the final straight." - 900381 -> "Very slightly begin to advance when passing another runner while well-positioned around halfway through the race." - 900391 -> "Slightly increase velocity when engaged in a challenge on the final straight." - 900401 -> "Very slightly increase acceleration steadily when starting to make a move from midpack in the second half of the race." - 900411 -> "Slightly increase velocity when engaged in a challenge toward the front in the second half of the race." - 900451 -> "Moderately recover endurance when well-positioned mid-race." - 900461 -> "Become very slightly empowered to keep the advantage when positioned toward the front and close to the runner behind on a straight mid-race." - 900481 -> "Slightly increase velocity when pressured by or passing another runner while well-positioned on the final straight." - 900501 -> "Slightly increase velocity when moving up from midpack on the final corner or later." - 900521 -> "Slightly recover endurance with a glance at nearby runners when positioned toward the back on the final corner." - 900561 -> "Slightly clear a path forward depending on divination results when the way ahead is jammed late-race." - 900581 -> "Very slightly aim for the front when passing another runner from midpack or further back on a corner late-race." - 900591 -> "Having run the race calmly, slightly increase acceleration when making a move mid-race, or on a crucial corner late-race whilst in midpack." - 900601 -> "Slightly increase velocity when positioned 3rd and about to lose late-race." - 900611 -> "Moderately increase velocity in a true display of skill with 200m remaining after racing calmly." - 900691 -> "Slightly increase velocity when well-positioned and close to the runner ahead with 300m or less remaining." - 900711 -> "Slightly consume endurance to moderately increase velocity for a moderate duration when close to the runner behind on the final straight." - 910011 -> "Slightly recover endurance after activating 2 skills mid-race." - 910031 -> "Moderately increase velocity on the final straight after being on the heels of another runner toward the front on the final corner or later." - 910041 -> "Slightly increase velocity when positioned toward the front in the second half of the race after recovering endurance with a skill." - 910061 -> "Very slightly control breathing and kick forward toward victory in the second half of the race after recovering endurance with skills at least 3 times." - 910111 -> "Moderately recover endurance when overtaken toward the back mid-race." - 910131 -> "Slightly increase velocity continuously when pressured by another runner and running out of energy toward the front on the final corner or later." - 910141 -> "Slightly increase acceleration when aiming for the front from midpack on the final corner." - 910151 -> "Slightly increase velocity for a moderate duration when in the front part of the pack with 400m remaining. If at least 7 skills have been activated, moderately increase velocity for a moderate duration instead." - 910171 -> "Slightly increase velocity when pressured by another runner in the front part of the pack on the final corner or later." - 910181 -> "Slightly increase velocity when starting to make a move from a position toward the front mid-race." - 910231 -> "Slightly increase velocity mid-race after staying well-positioned from the start of the race up until the second half." - 910241 -> "Slightly increase velocity when passing another runner toward the front on the final corner. If passing toward the back, slightly increase acceleration instead." - 910261 -> "Take a minimal breather and slightly increase velocity when in the front part of the pack and there's another runner coming from behind on a corner mid-race." - 910301 -> "Slightly drain endurance from runners ahead when well-positioned and pressured by another runner mid-race." - 910371 -> "Slightly increase velocity continuously on the final straight after passing another runner 3 times on the final corner or later." - 910401 -> "Very slightly increase ability to break out of the pack when engaged in a challenge in midpack on the final corner." - 910451 -> "Very slightly increase ability to break out of the pack when well-positioned and close to the runner ahead on the final straight." - 910521 -> "Give max effort when far from the lead on the final corner, very slightly increasing velocity steadily for a duration proportional to distance from the lead." - 910561 -> "Slightly increase velocity with a surge of fortune when pressured by another runner toward the back in the second half of the race." - 1000011 -> "Increase attributes by +{0}% in the Racing Carnival. {1}% chance to also raise runner's mood to Great. This skill will disappear when the event ends." - _ -> "" - -// Get the skill group ID for a skill. -// If no skill matches the ID, the result is an invalid ID. -pub fun group(s: skill-id): skill-group-id - match s.game-id - 10071 -> Skill-group-id(1007) - 10081 -> Skill-group-id(1008) - 10091 -> Skill-group-id(1009) - 10111 -> Skill-group-id(1011) - 10141 -> Skill-group-id(1014) - 10181 -> Skill-group-id(1018) - 10241 -> Skill-group-id(1024) - 10271 -> Skill-group-id(1027) - 10321 -> Skill-group-id(1032) - 10351 -> Skill-group-id(1035) - 10411 -> Skill-group-id(1041) - 10451 -> Skill-group-id(1045) - 10521 -> Skill-group-id(1052) - 10561 -> Skill-group-id(1056) - 10601 -> Skill-group-id(1060) - 10611 -> Skill-group-id(1061) - 100011 -> Skill-group-id(10001) - 100021 -> Skill-group-id(10002) - 100031 -> Skill-group-id(10003) - 100041 -> Skill-group-id(10004) - 100051 -> Skill-group-id(10005) - 100061 -> Skill-group-id(10006) - 100071 -> Skill-group-id(10007) - 100081 -> Skill-group-id(10008) - 100091 -> Skill-group-id(10009) - 100101 -> Skill-group-id(10010) - 100111 -> Skill-group-id(10011) - 100121 -> Skill-group-id(10012) - 100131 -> Skill-group-id(10013) - 100141 -> Skill-group-id(10014) - 100151 -> Skill-group-id(10015) - 100161 -> Skill-group-id(10016) - 100171 -> Skill-group-id(10017) - 100181 -> Skill-group-id(10018) - 100191 -> Skill-group-id(10019) - 100201 -> Skill-group-id(10020) - 100211 -> Skill-group-id(10021) - 100221 -> Skill-group-id(10022) - 100231 -> Skill-group-id(10023) - 100241 -> Skill-group-id(10024) - 100251 -> Skill-group-id(10025) - 100261 -> Skill-group-id(10026) - 100271 -> Skill-group-id(10027) - 100281 -> Skill-group-id(10028) - 100301 -> Skill-group-id(10030) - 100321 -> Skill-group-id(10032) - 100331 -> Skill-group-id(10033) - 100351 -> Skill-group-id(10035) - 100371 -> Skill-group-id(10037) - 100381 -> Skill-group-id(10038) - 100391 -> Skill-group-id(10039) - 100401 -> Skill-group-id(10040) - 100411 -> Skill-group-id(10041) - 100451 -> Skill-group-id(10045) - 100461 -> Skill-group-id(10046) - 100481 -> Skill-group-id(10048) - 100501 -> Skill-group-id(10050) - 100521 -> Skill-group-id(10052) - 100561 -> Skill-group-id(10056) - 100581 -> Skill-group-id(10058) - 100591 -> Skill-group-id(10059) - 100601 -> Skill-group-id(10060) - 100611 -> Skill-group-id(10061) - 100691 -> Skill-group-id(10069) - 100711 -> Skill-group-id(10071) - 110011 -> Skill-group-id(11001) - 110031 -> Skill-group-id(11003) - 110041 -> Skill-group-id(11004) - 110061 -> Skill-group-id(11006) - 110111 -> Skill-group-id(11011) - 110131 -> Skill-group-id(11013) - 110141 -> Skill-group-id(11014) - 110151 -> Skill-group-id(11015) - 110171 -> Skill-group-id(11017) - 110181 -> Skill-group-id(11018) - 110231 -> Skill-group-id(11023) - 110241 -> Skill-group-id(11024) - 110261 -> Skill-group-id(11026) - 110301 -> Skill-group-id(11030) - 110371 -> Skill-group-id(11037) - 110401 -> Skill-group-id(11040) - 110451 -> Skill-group-id(11045) - 110521 -> Skill-group-id(11052) - 110561 -> Skill-group-id(11056) - 200011 -> Skill-group-id(20001) - 200012 -> Skill-group-id(20001) - 200013 -> Skill-group-id(20001) - 200021 -> Skill-group-id(20002) - 200022 -> Skill-group-id(20002) - 200023 -> Skill-group-id(20002) - 200031 -> Skill-group-id(20003) - 200032 -> Skill-group-id(20003) - 200033 -> Skill-group-id(20003) - 200041 -> Skill-group-id(20004) - 200042 -> Skill-group-id(20004) - 200043 -> Skill-group-id(20004) - 200051 -> Skill-group-id(20005) - 200052 -> Skill-group-id(20005) - 200053 -> Skill-group-id(20005) - 200061 -> Skill-group-id(20006) - 200062 -> Skill-group-id(20006) - 200063 -> Skill-group-id(20006) - 200064 -> Skill-group-id(20006) - 200071 -> Skill-group-id(20007) - 200072 -> Skill-group-id(20007) - 200073 -> Skill-group-id(20007) - 200081 -> Skill-group-id(20008) - 200082 -> Skill-group-id(20008) - 200083 -> Skill-group-id(20008) - 200091 -> Skill-group-id(20009) - 200092 -> Skill-group-id(20009) - 200093 -> Skill-group-id(20009) - 200101 -> Skill-group-id(20010) - 200102 -> Skill-group-id(20010) - 200103 -> Skill-group-id(20010) - 200111 -> Skill-group-id(20011) - 200112 -> Skill-group-id(20011) - 200113 -> Skill-group-id(20011) - 200121 -> Skill-group-id(20012) - 200122 -> Skill-group-id(20012) - 200123 -> Skill-group-id(20012) - 200131 -> Skill-group-id(20013) - 200132 -> Skill-group-id(20013) - 200133 -> Skill-group-id(20013) - 200141 -> Skill-group-id(20014) - 200142 -> Skill-group-id(20014) - 200143 -> Skill-group-id(20014) - 200151 -> Skill-group-id(20015) - 200152 -> Skill-group-id(20015) - 200153 -> Skill-group-id(20015) - 200161 -> Skill-group-id(20016) - 200162 -> Skill-group-id(20016) - 200163 -> Skill-group-id(20016) - 200171 -> Skill-group-id(20017) - 200172 -> Skill-group-id(20017) - 200173 -> Skill-group-id(20017) - 200174 -> Skill-group-id(20017) - 200181 -> Skill-group-id(20018) - 200182 -> Skill-group-id(20018) - 200183 -> Skill-group-id(20018) - 200191 -> Skill-group-id(20019) - 200192 -> Skill-group-id(20019) - 200193 -> Skill-group-id(20019) - 200194 -> Skill-group-id(20019) - 200201 -> Skill-group-id(20020) - 200202 -> Skill-group-id(20020) - 200203 -> Skill-group-id(20020) - 200211 -> Skill-group-id(20021) - 200212 -> Skill-group-id(20021) - 200221 -> Skill-group-id(20022) - 200222 -> Skill-group-id(20022) - 200231 -> Skill-group-id(20023) - 200232 -> Skill-group-id(20023) - 200233 -> Skill-group-id(20023) - 200241 -> Skill-group-id(20024) - 200242 -> Skill-group-id(20024) - 200251 -> Skill-group-id(20025) - 200252 -> Skill-group-id(20025) - 200253 -> Skill-group-id(20025) - 200261 -> Skill-group-id(20026) - 200262 -> Skill-group-id(20026) - 200263 -> Skill-group-id(20026) - 200271 -> Skill-group-id(20027) - 200272 -> Skill-group-id(20027) - 200281 -> Skill-group-id(20028) - 200282 -> Skill-group-id(20028) - 200283 -> Skill-group-id(20028) - 200291 -> Skill-group-id(20029) - 200292 -> Skill-group-id(20029) - 200301 -> Skill-group-id(20030) - 200302 -> Skill-group-id(20030) - 200311 -> Skill-group-id(20031) - 200321 -> Skill-group-id(20032) - 200331 -> Skill-group-id(20033) - 200332 -> Skill-group-id(20033) - 200333 -> Skill-group-id(20033) - 200341 -> Skill-group-id(20034) - 200342 -> Skill-group-id(20034) - 200343 -> Skill-group-id(20034) - 200351 -> Skill-group-id(20035) - 200352 -> Skill-group-id(20035) - 200353 -> Skill-group-id(20035) - 200361 -> Skill-group-id(20036) - 200362 -> Skill-group-id(20036) - 200371 -> Skill-group-id(20037) - 200372 -> Skill-group-id(20037) - 200381 -> Skill-group-id(20038) - 200382 -> Skill-group-id(20038) - 200391 -> Skill-group-id(20039) - 200401 -> Skill-group-id(20040) - 200411 -> Skill-group-id(20041) - 200421 -> Skill-group-id(20042) - 200431 -> Skill-group-id(20043) - 200432 -> Skill-group-id(20043) - 200433 -> Skill-group-id(20043) - 200441 -> Skill-group-id(20044) - 200442 -> Skill-group-id(20044) - 200451 -> Skill-group-id(20045) - 200452 -> Skill-group-id(20045) - 200461 -> Skill-group-id(20046) - 200462 -> Skill-group-id(20046) - 200471 -> Skill-group-id(20047) - 200472 -> Skill-group-id(20047) - 200481 -> Skill-group-id(20048) - 200482 -> Skill-group-id(20048) - 200491 -> Skill-group-id(20049) - 200492 -> Skill-group-id(20049) - 200501 -> Skill-group-id(20050) - 200502 -> Skill-group-id(20050) - 200511 -> Skill-group-id(20051) - 200512 -> Skill-group-id(20051) - 200521 -> Skill-group-id(20052) - 200531 -> Skill-group-id(20053) - 200532 -> Skill-group-id(20053) - 200541 -> Skill-group-id(20054) - 200542 -> Skill-group-id(20054) - 200551 -> Skill-group-id(20055) - 200552 -> Skill-group-id(20055) - 200561 -> Skill-group-id(20056) - 200562 -> Skill-group-id(20056) - 200571 -> Skill-group-id(20057) - 200572 -> Skill-group-id(20057) - 200581 -> Skill-group-id(20058) - 200582 -> Skill-group-id(20058) - 200591 -> Skill-group-id(20059) - 200592 -> Skill-group-id(20059) - 200601 -> Skill-group-id(20060) - 200602 -> Skill-group-id(20060) - 200611 -> Skill-group-id(20061) - 200612 -> Skill-group-id(20061) - 200621 -> Skill-group-id(20062) - 200622 -> Skill-group-id(20062) - 200631 -> Skill-group-id(20063) - 200632 -> Skill-group-id(20063) - 200641 -> Skill-group-id(20064) - 200642 -> Skill-group-id(20064) - 200651 -> Skill-group-id(20065) - 200652 -> Skill-group-id(20065) - 200662 -> Skill-group-id(20066) - 200671 -> Skill-group-id(20067) - 200672 -> Skill-group-id(20067) - 200681 -> Skill-group-id(20068) - 200682 -> Skill-group-id(20068) - 200691 -> Skill-group-id(20069) - 200692 -> Skill-group-id(20069) - 200701 -> Skill-group-id(20070) - 200702 -> Skill-group-id(20070) - 200711 -> Skill-group-id(20071) - 200712 -> Skill-group-id(20071) - 200721 -> Skill-group-id(20072) - 200722 -> Skill-group-id(20072) - 200731 -> Skill-group-id(20073) - 200732 -> Skill-group-id(20073) - 200741 -> Skill-group-id(20074) - 200742 -> Skill-group-id(20074) - 200751 -> Skill-group-id(20075) - 200752 -> Skill-group-id(20075) - 200761 -> Skill-group-id(20076) - 200762 -> Skill-group-id(20076) - 200771 -> Skill-group-id(20077) - 200772 -> Skill-group-id(20077) - 200781 -> Skill-group-id(20078) - 200791 -> Skill-group-id(20079) - 200801 -> Skill-group-id(20080) - 200811 -> Skill-group-id(20081) - 200821 -> Skill-group-id(20082) - 200831 -> Skill-group-id(20083) - 200841 -> Skill-group-id(20084) - 200851 -> Skill-group-id(20085) - 200861 -> Skill-group-id(20086) - 200871 -> Skill-group-id(20087) - 200881 -> Skill-group-id(20088) - 200891 -> Skill-group-id(20089) - 200901 -> Skill-group-id(20090) - 200911 -> Skill-group-id(20091) - 200921 -> Skill-group-id(20092) - 200931 -> Skill-group-id(20093) - 200941 -> Skill-group-id(20094) - 200951 -> Skill-group-id(20095) - 200952 -> Skill-group-id(20095) - 200953 -> Skill-group-id(20095) - 200961 -> Skill-group-id(20096) - 200962 -> Skill-group-id(20096) - 200971 -> Skill-group-id(20097) - 200972 -> Skill-group-id(20097) - 200981 -> Skill-group-id(20098) - 200982 -> Skill-group-id(20098) - 200991 -> Skill-group-id(20099) - 200992 -> Skill-group-id(20099) - 201001 -> Skill-group-id(20100) - 201002 -> Skill-group-id(20100) - 201011 -> Skill-group-id(20101) - 201012 -> Skill-group-id(20101) - 201021 -> Skill-group-id(20102) - 201022 -> Skill-group-id(20102) - 201031 -> Skill-group-id(20103) - 201032 -> Skill-group-id(20103) - 201041 -> Skill-group-id(20104) - 201042 -> Skill-group-id(20104) - 201051 -> Skill-group-id(20105) - 201052 -> Skill-group-id(20105) - 201061 -> Skill-group-id(20106) - 201062 -> Skill-group-id(20106) - 201071 -> Skill-group-id(20107) - 201072 -> Skill-group-id(20107) - 201081 -> Skill-group-id(20108) - 201082 -> Skill-group-id(20108) - 201091 -> Skill-group-id(20109) - 201092 -> Skill-group-id(20109) - 201101 -> Skill-group-id(20110) - 201102 -> Skill-group-id(20110) - 201103 -> Skill-group-id(20110) - 201111 -> Skill-group-id(20111) - 201112 -> Skill-group-id(20111) - 201121 -> Skill-group-id(20112) - 201122 -> Skill-group-id(20112) - 201131 -> Skill-group-id(20113) - 201132 -> Skill-group-id(20113) - 201141 -> Skill-group-id(20114) - 201142 -> Skill-group-id(20114) - 201151 -> Skill-group-id(20115) - 201152 -> Skill-group-id(20115) - 201161 -> Skill-group-id(20116) - 201162 -> Skill-group-id(20116) - 201171 -> Skill-group-id(20117) - 201172 -> Skill-group-id(20117) - 201181 -> Skill-group-id(20118) - 201182 -> Skill-group-id(20118) - 201191 -> Skill-group-id(20119) - 201192 -> Skill-group-id(20119) - 201201 -> Skill-group-id(20120) - 201202 -> Skill-group-id(20120) - 201211 -> Skill-group-id(20121) - 201212 -> Skill-group-id(20121) - 201221 -> Skill-group-id(20122) - 201222 -> Skill-group-id(20122) - 201231 -> Skill-group-id(20123) - 201232 -> Skill-group-id(20123) - 201241 -> Skill-group-id(20124) - 201242 -> Skill-group-id(20124) - 201251 -> Skill-group-id(20125) - 201252 -> Skill-group-id(20125) - 201261 -> Skill-group-id(20126) - 201262 -> Skill-group-id(20126) - 201272 -> Skill-group-id(20127) - 201281 -> Skill-group-id(20128) - 201282 -> Skill-group-id(20128) - 201291 -> Skill-group-id(20129) - 201292 -> Skill-group-id(20129) - 201302 -> Skill-group-id(20130) - 201311 -> Skill-group-id(20131) - 201312 -> Skill-group-id(20131) - 201321 -> Skill-group-id(20132) - 201322 -> Skill-group-id(20132) - 201331 -> Skill-group-id(20133) - 201332 -> Skill-group-id(20133) - 201341 -> Skill-group-id(20134) - 201342 -> Skill-group-id(20134) - 201351 -> Skill-group-id(20135) - 201352 -> Skill-group-id(20135) - 201361 -> Skill-group-id(20136) - 201362 -> Skill-group-id(20136) - 201371 -> Skill-group-id(20137) - 201372 -> Skill-group-id(20137) - 201381 -> Skill-group-id(20138) - 201382 -> Skill-group-id(20138) - 201391 -> Skill-group-id(20139) - 201392 -> Skill-group-id(20139) - 201401 -> Skill-group-id(20140) - 201402 -> Skill-group-id(20140) - 201411 -> Skill-group-id(20141) - 201412 -> Skill-group-id(20141) - 201421 -> Skill-group-id(20142) - 201422 -> Skill-group-id(20142) - 201431 -> Skill-group-id(20143) - 201432 -> Skill-group-id(20143) - 201441 -> Skill-group-id(20144) - 201442 -> Skill-group-id(20144) - 201451 -> Skill-group-id(20145) - 201452 -> Skill-group-id(20145) - 201461 -> Skill-group-id(20146) - 201462 -> Skill-group-id(20146) - 201471 -> Skill-group-id(20147) - 201472 -> Skill-group-id(20147) - 201481 -> Skill-group-id(20148) - 201482 -> Skill-group-id(20148) - 201491 -> Skill-group-id(20149) - 201492 -> Skill-group-id(20149) - 201501 -> Skill-group-id(20150) - 201502 -> Skill-group-id(20150) - 201511 -> Skill-group-id(20151) - 201512 -> Skill-group-id(20151) - 201521 -> Skill-group-id(20152) - 201522 -> Skill-group-id(20152) - 201531 -> Skill-group-id(20153) - 201532 -> Skill-group-id(20153) - 201541 -> Skill-group-id(20154) - 201542 -> Skill-group-id(20154) - 201551 -> Skill-group-id(20155) - 201552 -> Skill-group-id(20155) - 201561 -> Skill-group-id(20156) - 201562 -> Skill-group-id(20156) - 201571 -> Skill-group-id(20157) - 201581 -> Skill-group-id(20158) - 201591 -> Skill-group-id(20159) - 201592 -> Skill-group-id(20159) - 201601 -> Skill-group-id(20160) - 201611 -> Skill-group-id(20161) - 201612 -> Skill-group-id(20161) - 201621 -> Skill-group-id(20162) - 201631 -> Skill-group-id(20163) - 201641 -> Skill-group-id(20164) - 201651 -> Skill-group-id(20165) - 201661 -> Skill-group-id(20166) - 201671 -> Skill-group-id(20167) - 201672 -> Skill-group-id(20167) - 201681 -> Skill-group-id(20168) - 201682 -> Skill-group-id(20168) - 201691 -> Skill-group-id(20169) - 201692 -> Skill-group-id(20169) - 201701 -> Skill-group-id(20170) - 201702 -> Skill-group-id(20170) - 201801 -> Skill-group-id(20180) - 201902 -> Skill-group-id(20190) - 202002 -> Skill-group-id(20200) - 202011 -> Skill-group-id(20201) - 202012 -> Skill-group-id(20201) - 202021 -> Skill-group-id(20202) - 202022 -> Skill-group-id(20202) - 202031 -> Skill-group-id(20203) - 202032 -> Skill-group-id(20203) - 202041 -> Skill-group-id(20204) - 202042 -> Skill-group-id(20204) - 202051 -> Skill-group-id(20205) - 210011 -> Skill-group-id(21001) - 210012 -> Skill-group-id(21001) - 210021 -> Skill-group-id(21002) - 210022 -> Skill-group-id(21002) - 210031 -> Skill-group-id(21003) - 210032 -> Skill-group-id(21003) - 210041 -> Skill-group-id(21004) - 210042 -> Skill-group-id(21004) - 210051 -> Skill-group-id(21005) - 210052 -> Skill-group-id(21005) - 300011 -> Skill-group-id(30001) - 300021 -> Skill-group-id(30002) - 300031 -> Skill-group-id(30003) - 300041 -> Skill-group-id(30004) - 300051 -> Skill-group-id(30005) - 300061 -> Skill-group-id(30006) - 300071 -> Skill-group-id(30007) - 300081 -> Skill-group-id(30008) - 300091 -> Skill-group-id(30009) - 300101 -> Skill-group-id(30010) - 900011 -> Skill-group-id(10001) - 900021 -> Skill-group-id(10002) - 900031 -> Skill-group-id(10003) - 900041 -> Skill-group-id(10004) - 900051 -> Skill-group-id(10005) - 900061 -> Skill-group-id(10006) - 900071 -> Skill-group-id(10007) - 900081 -> Skill-group-id(10008) - 900091 -> Skill-group-id(10009) - 900101 -> Skill-group-id(10010) - 900111 -> Skill-group-id(10011) - 900121 -> Skill-group-id(10012) - 900131 -> Skill-group-id(10013) - 900141 -> Skill-group-id(10014) - 900151 -> Skill-group-id(10015) - 900161 -> Skill-group-id(10016) - 900171 -> Skill-group-id(10017) - 900181 -> Skill-group-id(10018) - 900191 -> Skill-group-id(10019) - 900201 -> Skill-group-id(10020) - 900211 -> Skill-group-id(10021) - 900221 -> Skill-group-id(10022) - 900231 -> Skill-group-id(10023) - 900241 -> Skill-group-id(10024) - 900251 -> Skill-group-id(10025) - 900261 -> Skill-group-id(10026) - 900271 -> Skill-group-id(10027) - 900281 -> Skill-group-id(10028) - 900301 -> Skill-group-id(10030) - 900321 -> Skill-group-id(10032) - 900331 -> Skill-group-id(10033) - 900351 -> Skill-group-id(10035) - 900371 -> Skill-group-id(10037) - 900381 -> Skill-group-id(10038) - 900391 -> Skill-group-id(10039) - 900401 -> Skill-group-id(10040) - 900411 -> Skill-group-id(10041) - 900451 -> Skill-group-id(10045) - 900461 -> Skill-group-id(10046) - 900481 -> Skill-group-id(10048) - 900501 -> Skill-group-id(10050) - 900521 -> Skill-group-id(10052) - 900561 -> Skill-group-id(10056) - 900581 -> Skill-group-id(10058) - 900591 -> Skill-group-id(10059) - 900601 -> Skill-group-id(10060) - 900611 -> Skill-group-id(10061) - 900691 -> Skill-group-id(10069) - 900711 -> Skill-group-id(10071) - 910011 -> Skill-group-id(11001) - 910031 -> Skill-group-id(11003) - 910041 -> Skill-group-id(11004) - 910061 -> Skill-group-id(11006) - 910111 -> Skill-group-id(11011) - 910131 -> Skill-group-id(11013) - 910141 -> Skill-group-id(11014) - 910151 -> Skill-group-id(11015) - 910171 -> Skill-group-id(11017) - 910181 -> Skill-group-id(11018) - 910231 -> Skill-group-id(11023) - 910241 -> Skill-group-id(11024) - 910261 -> Skill-group-id(11026) - 910301 -> Skill-group-id(11030) - 910371 -> Skill-group-id(11037) - 910401 -> Skill-group-id(11040) - 910451 -> Skill-group-id(11045) - 910521 -> Skill-group-id(11052) - 910561 -> Skill-group-id(11056) - 1000011 -> Skill-group-id(100001) - _ -> Skill-group-id(0) - -// Get the rarity of a skill. -// If no skill matches the ID, the result is Common. -pub fun rarity(s: skill-id): rarity - match s.game-id - 10071 -> Unique-Low - 10081 -> Unique-Low - 10091 -> Unique-Low - 10111 -> Unique-Low - 10141 -> Unique-Low - 10181 -> Unique-Low - 10241 -> Unique-Low - 10271 -> Unique-Low - 10321 -> Unique-Low - 10351 -> Unique-Low - 10411 -> Unique-Low - 10451 -> Unique-Low - 10521 -> Unique-Low - 10561 -> Unique-Low - 10601 -> Unique-Low - 10611 -> Unique-Low - 100011 -> Unique - 100021 -> Unique - 100031 -> Unique - 100041 -> Unique - 100051 -> Unique - 100061 -> Unique - 100071 -> Unique-Upgraded - 100081 -> Unique-Upgraded - 100091 -> Unique-Upgraded - 100101 -> Unique - 100111 -> Unique-Upgraded - 100121 -> Unique - 100131 -> Unique - 100141 -> Unique-Upgraded - 100151 -> Unique - 100161 -> Unique - 100171 -> Unique - 100181 -> Unique-Upgraded - 100191 -> Unique - 100201 -> Unique - 100211 -> Unique - 100221 -> Unique - 100231 -> Unique - 100241 -> Unique-Upgraded - 100251 -> Unique - 100261 -> Unique - 100271 -> Unique-Upgraded - 100281 -> Unique - 100301 -> Unique - 100321 -> Unique-Upgraded - 100331 -> Unique - 100351 -> Unique-Upgraded - 100371 -> Unique - 100381 -> Unique - 100391 -> Unique - 100401 -> Unique - 100411 -> Unique-Upgraded - 100451 -> Unique-Upgraded - 100461 -> Unique - 100481 -> Unique - 100501 -> Unique - 100521 -> Unique-Upgraded - 100561 -> Unique-Upgraded - 100581 -> Unique - 100591 -> Unique - 100601 -> Unique-Upgraded - 100611 -> Unique-Upgraded - 100691 -> Unique - 100711 -> Unique - 110011 -> Unique - 110031 -> Unique - 110041 -> Unique - 110061 -> Unique - 110111 -> Unique - 110131 -> Unique - 110141 -> Unique - 110151 -> Unique - 110171 -> Unique - 110181 -> Unique - 110231 -> Unique - 110241 -> Unique - 110261 -> Unique - 110301 -> Unique - 110371 -> Unique - 110401 -> Unique - 110451 -> Unique - 110521 -> Unique - 110561 -> Unique - 200011 -> Common - 200012 -> Common - 200013 -> Common - 200021 -> Common - 200022 -> Common - 200023 -> Common - 200031 -> Common - 200032 -> Common - 200033 -> Common - 200041 -> Common - 200042 -> Common - 200043 -> Common - 200051 -> Common - 200052 -> Common - 200053 -> Common - 200061 -> Common - 200062 -> Common - 200063 -> Common - 200064 -> Rare - 200071 -> Common - 200072 -> Common - 200073 -> Common - 200081 -> Common - 200082 -> Common - 200083 -> Common - 200091 -> Common - 200092 -> Common - 200093 -> Common - 200101 -> Common - 200102 -> Common - 200103 -> Common - 200111 -> Common - 200112 -> Common - 200113 -> Common - 200121 -> Common - 200122 -> Common - 200123 -> Common - 200131 -> Common - 200132 -> Common - 200133 -> Common - 200141 -> Common - 200142 -> Common - 200143 -> Common - 200151 -> Common - 200152 -> Common - 200153 -> Common - 200161 -> Common - 200162 -> Common - 200163 -> Common - 200171 -> Common - 200172 -> Common - 200173 -> Common - 200174 -> Rare - 200181 -> Common - 200182 -> Common - 200183 -> Common - 200191 -> Common - 200192 -> Common - 200193 -> Common - 200194 -> Rare - 200201 -> Common - 200202 -> Common - 200203 -> Common - 200211 -> Common - 200212 -> Common - 200221 -> Common - 200222 -> Common - 200231 -> Common - 200232 -> Common - 200233 -> Common - 200241 -> Common - 200242 -> Common - 200251 -> Common - 200252 -> Common - 200253 -> Common - 200261 -> Common - 200262 -> Common - 200263 -> Common - 200271 -> Common - 200272 -> Common - 200281 -> Common - 200282 -> Common - 200283 -> Common - 200291 -> Common - 200292 -> Common - 200301 -> Common - 200302 -> Common - 200311 -> Common - 200321 -> Common - 200331 -> Rare - 200332 -> Common - 200333 -> Common - 200341 -> Rare - 200342 -> Common - 200343 -> Common - 200351 -> Rare - 200352 -> Common - 200353 -> Common - 200361 -> Rare - 200362 -> Common - 200371 -> Rare - 200372 -> Common - 200381 -> Rare - 200382 -> Common - 200391 -> Common - 200401 -> Common - 200411 -> Common - 200421 -> Common - 200431 -> Rare - 200432 -> Common - 200433 -> Common - 200441 -> Rare - 200442 -> Common - 200451 -> Rare - 200452 -> Common - 200461 -> Rare - 200462 -> Common - 200471 -> Rare - 200472 -> Common - 200481 -> Rare - 200482 -> Common - 200491 -> Rare - 200492 -> Common - 200501 -> Rare - 200502 -> Common - 200511 -> Rare - 200512 -> Common - 200521 -> Common - 200531 -> Rare - 200532 -> Common - 200541 -> Rare - 200542 -> Common - 200551 -> Rare - 200552 -> Common - 200561 -> Rare - 200562 -> Common - 200571 -> Rare - 200572 -> Common - 200581 -> Rare - 200582 -> Common - 200591 -> Rare - 200592 -> Common - 200601 -> Rare - 200602 -> Common - 200611 -> Rare - 200612 -> Common - 200621 -> Rare - 200622 -> Common - 200631 -> Rare - 200632 -> Common - 200641 -> Rare - 200642 -> Common - 200651 -> Rare - 200652 -> Common - 200662 -> Common - 200671 -> Rare - 200672 -> Common - 200681 -> Rare - 200682 -> Common - 200691 -> Rare - 200692 -> Common - 200701 -> Rare - 200702 -> Common - 200711 -> Rare - 200712 -> Common - 200721 -> Rare - 200722 -> Common - 200731 -> Rare - 200732 -> Common - 200741 -> Rare - 200742 -> Common - 200751 -> Rare - 200752 -> Common - 200761 -> Rare - 200762 -> Common - 200771 -> Common - 200772 -> Rare - 200781 -> Common - 200791 -> Common - 200801 -> Common - 200811 -> Common - 200821 -> Common - 200831 -> Common - 200841 -> Common - 200851 -> Common - 200861 -> Common - 200871 -> Common - 200881 -> Common - 200891 -> Common - 200901 -> Common - 200911 -> Common - 200921 -> Common - 200931 -> Common - 200941 -> Common - 200951 -> Common - 200952 -> Common - 200953 -> Common - 200961 -> Common - 200962 -> Common - 200971 -> Common - 200972 -> Common - 200981 -> Rare - 200982 -> Common - 200991 -> Rare - 200992 -> Common - 201001 -> Rare - 201002 -> Common - 201011 -> Rare - 201012 -> Common - 201021 -> Rare - 201022 -> Common - 201031 -> Common - 201032 -> Common - 201041 -> Common - 201042 -> Common - 201051 -> Rare - 201052 -> Common - 201061 -> Rare - 201062 -> Common - 201071 -> Rare - 201072 -> Common - 201081 -> Rare - 201082 -> Common - 201091 -> Rare - 201092 -> Common - 201101 -> Common - 201102 -> Common - 201103 -> Rare - 201111 -> Common - 201112 -> Common - 201121 -> Rare - 201122 -> Common - 201131 -> Rare - 201132 -> Common - 201141 -> Rare - 201142 -> Common - 201151 -> Rare - 201152 -> Common - 201161 -> Rare - 201162 -> Common - 201171 -> Common - 201172 -> Common - 201181 -> Common - 201182 -> Common - 201191 -> Rare - 201192 -> Common - 201201 -> Rare - 201202 -> Common - 201211 -> Rare - 201212 -> Common - 201221 -> Rare - 201222 -> Common - 201231 -> Rare - 201232 -> Common - 201241 -> Common - 201242 -> Common - 201251 -> Common - 201252 -> Common - 201261 -> Rare - 201262 -> Common - 201272 -> Common - 201281 -> Rare - 201282 -> Common - 201291 -> Rare - 201292 -> Common - 201302 -> Common - 201311 -> Common - 201312 -> Common - 201321 -> Common - 201322 -> Common - 201331 -> Rare - 201332 -> Common - 201341 -> Rare - 201342 -> Common - 201351 -> Rare - 201352 -> Common - 201361 -> Rare - 201362 -> Common - 201371 -> Rare - 201372 -> Common - 201381 -> Common - 201382 -> Common - 201391 -> Common - 201392 -> Common - 201401 -> Rare - 201402 -> Common - 201411 -> Rare - 201412 -> Common - 201421 -> Rare - 201422 -> Common - 201431 -> Rare - 201432 -> Common - 201441 -> Rare - 201442 -> Common - 201451 -> Common - 201452 -> Common - 201461 -> Common - 201462 -> Common - 201471 -> Rare - 201472 -> Common - 201481 -> Rare - 201482 -> Common - 201491 -> Rare - 201492 -> Common - 201501 -> Rare - 201502 -> Common - 201511 -> Rare - 201512 -> Common - 201521 -> Common - 201522 -> Common - 201531 -> Common - 201532 -> Common - 201541 -> Common - 201542 -> Common - 201551 -> Common - 201552 -> Common - 201561 -> Rare - 201562 -> Common - 201571 -> Common - 201581 -> Common - 201591 -> Common - 201592 -> Rare - 201601 -> Common - 201611 -> Common - 201612 -> Rare - 201621 -> Common - 201631 -> Common - 201641 -> Common - 201651 -> Common - 201661 -> Common - 201671 -> Rare - 201672 -> Common - 201681 -> Rare - 201682 -> Common - 201691 -> Rare - 201692 -> Common - 201701 -> Rare - 201702 -> Common - 201801 -> Common - 201902 -> Common - 202002 -> Common - 202011 -> Rare - 202012 -> Common - 202021 -> Rare - 202022 -> Common - 202031 -> Rare - 202032 -> Common - 202041 -> Rare - 202042 -> Common - 202051 -> Rare - 210011 -> Rare - 210012 -> Common - 210021 -> Rare - 210022 -> Common - 210031 -> Rare - 210032 -> Common - 210041 -> Rare - 210042 -> Common - 210051 -> Rare - 210052 -> Common - 300011 -> Common - 300021 -> Rare - 300031 -> Common - 300041 -> Common - 300051 -> Rare - 300061 -> Rare - 300071 -> Common - 300081 -> Common - 300091 -> Common - 300101 -> Rare - 900011 -> Common - 900021 -> Common - 900031 -> Common - 900041 -> Common - 900051 -> Common - 900061 -> Common - 900071 -> Common - 900081 -> Common - 900091 -> Common - 900101 -> Common - 900111 -> Common - 900121 -> Common - 900131 -> Common - 900141 -> Common - 900151 -> Common - 900161 -> Common - 900171 -> Common - 900181 -> Common - 900191 -> Common - 900201 -> Common - 900211 -> Common - 900221 -> Common - 900231 -> Common - 900241 -> Common - 900251 -> Common - 900261 -> Common - 900271 -> Common - 900281 -> Common - 900301 -> Common - 900321 -> Common - 900331 -> Common - 900351 -> Common - 900371 -> Common - 900381 -> Common - 900391 -> Common - 900401 -> Common - 900411 -> Common - 900451 -> Common - 900461 -> Common - 900481 -> Common - 900501 -> Common - 900521 -> Common - 900561 -> Common - 900581 -> Common - 900591 -> Common - 900601 -> Common - 900611 -> Common - 900691 -> Common - 900711 -> Common - 910011 -> Common - 910031 -> Common - 910041 -> Common - 910061 -> Common - 910111 -> Common - 910131 -> Common - 910141 -> Common - 910151 -> Common - 910171 -> Common - 910181 -> Common - 910231 -> Common - 910241 -> Common - 910261 -> Common - 910301 -> Common - 910371 -> Common - 910401 -> Common - 910451 -> Common - 910521 -> Common - 910561 -> Common - 1000011 -> Common - _ -> Common - -// Get the group rate of a skill. -// If no skill matches the ID, the result is 0. -pub fun group-rate(s: skill-id): int - match s.game-id - 10071 -> 1 - 10081 -> 1 - 10091 -> 1 - 10111 -> 1 - 10141 -> 1 - 10181 -> 1 - 10241 -> 1 - 10271 -> 1 - 10321 -> 1 - 10351 -> 1 - 10411 -> 1 - 10451 -> 1 - 10521 -> 1 - 10561 -> 1 - 10601 -> 1 - 10611 -> 1 - 100011 -> 1 - 100021 -> 1 - 100031 -> 1 - 100041 -> 1 - 100051 -> 1 - 100061 -> 1 - 100071 -> 1 - 100081 -> 1 - 100091 -> 1 - 100101 -> 1 - 100111 -> 1 - 100121 -> 1 - 100131 -> 1 - 100141 -> 1 - 100151 -> 1 - 100161 -> 1 - 100171 -> 1 - 100181 -> 1 - 100191 -> 1 - 100201 -> 1 - 100211 -> 1 - 100221 -> 1 - 100231 -> 1 - 100241 -> 1 - 100251 -> 1 - 100261 -> 1 - 100271 -> 1 - 100281 -> 1 - 100301 -> 1 - 100321 -> 1 - 100331 -> 1 - 100351 -> 1 - 100371 -> 1 - 100381 -> 1 - 100391 -> 1 - 100401 -> 1 - 100411 -> 1 - 100451 -> 1 - 100461 -> 1 - 100481 -> 1 - 100501 -> 1 - 100521 -> 1 - 100561 -> 1 - 100581 -> 1 - 100591 -> 1 - 100601 -> 1 - 100611 -> 1 - 100691 -> 1 - 100711 -> 1 - 110011 -> 1 - 110031 -> 1 - 110041 -> 1 - 110061 -> 1 - 110111 -> 1 - 110131 -> 1 - 110141 -> 1 - 110151 -> 1 - 110171 -> 1 - 110181 -> 1 - 110231 -> 1 - 110241 -> 1 - 110261 -> 1 - 110301 -> 1 - 110371 -> 1 - 110401 -> 1 - 110451 -> 1 - 110521 -> 1 - 110561 -> 1 - 200011 -> 2 - 200012 -> 1 - 200013 -> -1 - 200021 -> 2 - 200022 -> 1 - 200023 -> -1 - 200031 -> 2 - 200032 -> 1 - 200033 -> -1 - 200041 -> 2 - 200042 -> 1 - 200043 -> -1 - 200051 -> 2 - 200052 -> 1 - 200053 -> -1 - 200061 -> 2 - 200062 -> 1 - 200063 -> -1 - 200064 -> 3 - 200071 -> 2 - 200072 -> 1 - 200073 -> -1 - 200081 -> 2 - 200082 -> 1 - 200083 -> -1 - 200091 -> 2 - 200092 -> 1 - 200093 -> -1 - 200101 -> 2 - 200102 -> 1 - 200103 -> -1 - 200111 -> 2 - 200112 -> 1 - 200113 -> -1 - 200121 -> 2 - 200122 -> 1 - 200123 -> -1 - 200131 -> 2 - 200132 -> 1 - 200133 -> -1 - 200141 -> 2 - 200142 -> 1 - 200143 -> -1 - 200151 -> 2 - 200152 -> 1 - 200153 -> -1 - 200161 -> 2 - 200162 -> 1 - 200163 -> -1 - 200171 -> 2 - 200172 -> 1 - 200173 -> -1 - 200174 -> 3 - 200181 -> 2 - 200182 -> 1 - 200183 -> -1 - 200191 -> 2 - 200192 -> 1 - 200193 -> -1 - 200194 -> 3 - 200201 -> 2 - 200202 -> 1 - 200203 -> -1 - 200211 -> 2 - 200212 -> 1 - 200221 -> 2 - 200222 -> 1 - 200231 -> 2 - 200232 -> 1 - 200233 -> -1 - 200241 -> 2 - 200242 -> 1 - 200251 -> 2 - 200252 -> 1 - 200253 -> -1 - 200261 -> 2 - 200262 -> 1 - 200263 -> -1 - 200271 -> 2 - 200272 -> 1 - 200281 -> 2 - 200282 -> 1 - 200283 -> -1 - 200291 -> 2 - 200292 -> 1 - 200301 -> 2 - 200302 -> 1 - 200311 -> -1 - 200321 -> -1 - 200331 -> 2 - 200332 -> 1 - 200333 -> -1 - 200341 -> 2 - 200342 -> 1 - 200343 -> -1 - 200351 -> 2 - 200352 -> 1 - 200353 -> -1 - 200361 -> 2 - 200362 -> 1 - 200371 -> 2 - 200372 -> 1 - 200381 -> 2 - 200382 -> 1 - 200391 -> -1 - 200401 -> -1 - 200411 -> -1 - 200421 -> -1 - 200431 -> 2 - 200432 -> 1 - 200433 -> -1 - 200441 -> 2 - 200442 -> 1 - 200451 -> 2 - 200452 -> 1 - 200461 -> 2 - 200462 -> 1 - 200471 -> 2 - 200472 -> 1 - 200481 -> 2 - 200482 -> 1 - 200491 -> 2 - 200492 -> 1 - 200501 -> 2 - 200502 -> 1 - 200511 -> 2 - 200512 -> 1 - 200521 -> -1 - 200531 -> 2 - 200532 -> 1 - 200541 -> 2 - 200542 -> 1 - 200551 -> 2 - 200552 -> 1 - 200561 -> 2 - 200562 -> 1 - 200571 -> 2 - 200572 -> 1 - 200581 -> 2 - 200582 -> 1 - 200591 -> 2 - 200592 -> 1 - 200601 -> 2 - 200602 -> 1 - 200611 -> 2 - 200612 -> 1 - 200621 -> 2 - 200622 -> 1 - 200631 -> 2 - 200632 -> 1 - 200641 -> 2 - 200642 -> 1 - 200651 -> 2 - 200652 -> 1 - 200662 -> 1 - 200671 -> 2 - 200672 -> 1 - 200681 -> 2 - 200682 -> 1 - 200691 -> 2 - 200692 -> 1 - 200701 -> 2 - 200702 -> 1 - 200711 -> 2 - 200712 -> 1 - 200721 -> 2 - 200722 -> 1 - 200731 -> 2 - 200732 -> 1 - 200741 -> 2 - 200742 -> 1 - 200751 -> 2 - 200752 -> 1 - 200761 -> 2 - 200762 -> 1 - 200771 -> 1 - 200772 -> 2 - 200781 -> 1 - 200791 -> 1 - 200801 -> 1 - 200811 -> 1 - 200821 -> 1 - 200831 -> 1 - 200841 -> 1 - 200851 -> 1 - 200861 -> 1 - 200871 -> 1 - 200881 -> 1 - 200891 -> 1 - 200901 -> 1 - 200911 -> 1 - 200921 -> 1 - 200931 -> 1 - 200941 -> 1 - 200951 -> 2 - 200952 -> 1 - 200953 -> -1 - 200961 -> 2 - 200962 -> 1 - 200971 -> 2 - 200972 -> 1 - 200981 -> 2 - 200982 -> 1 - 200991 -> 2 - 200992 -> 1 - 201001 -> 2 - 201002 -> 1 - 201011 -> 2 - 201012 -> 1 - 201021 -> 2 - 201022 -> 1 - 201031 -> 2 - 201032 -> 1 - 201041 -> 2 - 201042 -> 1 - 201051 -> 2 - 201052 -> 1 - 201061 -> 2 - 201062 -> 1 - 201071 -> 2 - 201072 -> 1 - 201081 -> 2 - 201082 -> 1 - 201091 -> 2 - 201092 -> 1 - 201101 -> 2 - 201102 -> 1 - 201103 -> 3 - 201111 -> 2 - 201112 -> 1 - 201121 -> 2 - 201122 -> 1 - 201131 -> 2 - 201132 -> 1 - 201141 -> 2 - 201142 -> 1 - 201151 -> 2 - 201152 -> 1 - 201161 -> 2 - 201162 -> 1 - 201171 -> 2 - 201172 -> 1 - 201181 -> 2 - 201182 -> 1 - 201191 -> 2 - 201192 -> 1 - 201201 -> 2 - 201202 -> 1 - 201211 -> 2 - 201212 -> 1 - 201221 -> 2 - 201222 -> 1 - 201231 -> 2 - 201232 -> 1 - 201241 -> 2 - 201242 -> 1 - 201251 -> 2 - 201252 -> 1 - 201261 -> 2 - 201262 -> 1 - 201272 -> 1 - 201281 -> 2 - 201282 -> 1 - 201291 -> 2 - 201292 -> 1 - 201302 -> 1 - 201311 -> 2 - 201312 -> 1 - 201321 -> 2 - 201322 -> 1 - 201331 -> 2 - 201332 -> 1 - 201341 -> 2 - 201342 -> 1 - 201351 -> 2 - 201352 -> 1 - 201361 -> 2 - 201362 -> 1 - 201371 -> 2 - 201372 -> 1 - 201381 -> 2 - 201382 -> 1 - 201391 -> 2 - 201392 -> 1 - 201401 -> 2 - 201402 -> 1 - 201411 -> 2 - 201412 -> 1 - 201421 -> 2 - 201422 -> 1 - 201431 -> 2 - 201432 -> 1 - 201441 -> 2 - 201442 -> 1 - 201451 -> 2 - 201452 -> 1 - 201461 -> 2 - 201462 -> 1 - 201471 -> 2 - 201472 -> 1 - 201481 -> 2 - 201482 -> 1 - 201491 -> 2 - 201492 -> 1 - 201501 -> 2 - 201502 -> 1 - 201511 -> 2 - 201512 -> 1 - 201521 -> 2 - 201522 -> 1 - 201531 -> 2 - 201532 -> 1 - 201541 -> 2 - 201542 -> 1 - 201551 -> 2 - 201552 -> 1 - 201561 -> 2 - 201562 -> 1 - 201571 -> 1 - 201581 -> 1 - 201591 -> 1 - 201592 -> 2 - 201601 -> 1 - 201611 -> 1 - 201612 -> 2 - 201621 -> 1 - 201631 -> 1 - 201641 -> 1 - 201651 -> 1 - 201661 -> 1 - 201671 -> 2 - 201672 -> 1 - 201681 -> 2 - 201682 -> 1 - 201691 -> 2 - 201692 -> 1 - 201701 -> 2 - 201702 -> 1 - 201801 -> -1 - 201902 -> 1 - 202002 -> 1 - 202011 -> 2 - 202012 -> 1 - 202021 -> 2 - 202022 -> 1 - 202031 -> 2 - 202032 -> 1 - 202041 -> 2 - 202042 -> 1 - 202051 -> 2 - 210011 -> 2 - 210012 -> 1 - 210021 -> 2 - 210022 -> 1 - 210031 -> 2 - 210032 -> 1 - 210041 -> 2 - 210042 -> 1 - 210051 -> 2 - 210052 -> 1 - 300011 -> 1 - 300021 -> 1 - 300031 -> 1 - 300041 -> 1 - 300051 -> 1 - 300061 -> 1 - 300071 -> 1 - 300081 -> 1 - 300091 -> 1 - 300101 -> 1 - 900011 -> 2 - 900021 -> 2 - 900031 -> 2 - 900041 -> 2 - 900051 -> 2 - 900061 -> 2 - 900071 -> 2 - 900081 -> 2 - 900091 -> 2 - 900101 -> 2 - 900111 -> 2 - 900121 -> 2 - 900131 -> 2 - 900141 -> 2 - 900151 -> 2 - 900161 -> 2 - 900171 -> 2 - 900181 -> 2 - 900191 -> 2 - 900201 -> 2 - 900211 -> 2 - 900221 -> 2 - 900231 -> 2 - 900241 -> 2 - 900251 -> 2 - 900261 -> 2 - 900271 -> 2 - 900281 -> 2 - 900301 -> 2 - 900321 -> 2 - 900331 -> 2 - 900351 -> 2 - 900371 -> 2 - 900381 -> 2 - 900391 -> 2 - 900401 -> 2 - 900411 -> 2 - 900451 -> 2 - 900461 -> 2 - 900481 -> 2 - 900501 -> 2 - 900521 -> 2 - 900561 -> 2 - 900581 -> 2 - 900591 -> 2 - 900601 -> 2 - 900611 -> 2 - 900691 -> 2 - 900711 -> 2 - 910011 -> 2 - 910031 -> 2 - 910041 -> 2 - 910061 -> 2 - 910111 -> 2 - 910131 -> 2 - 910141 -> 2 - 910151 -> 2 - 910171 -> 2 - 910181 -> 2 - 910231 -> 2 - 910241 -> 2 - 910261 -> 2 - 910301 -> 2 - 910371 -> 2 - 910401 -> 2 - 910451 -> 2 - 910521 -> 2 - 910561 -> 2 - 1000011 -> 1 - _ -> 0 - -// Get the grade value of a skill. -// If no skill matches the ID, the result is 0. -pub fun grade-value(s: skill-id): int - match s.game-id - 10071 -> 240 - 10081 -> 240 - 10091 -> 240 - 10111 -> 240 - 10141 -> 240 - 10181 -> 240 - 10241 -> 240 - 10271 -> 240 - 10321 -> 240 - 10351 -> 240 - 10411 -> 240 - 10451 -> 240 - 10521 -> 240 - 10561 -> 240 - 10601 -> 240 - 10611 -> 240 - 100011 -> 340 - 100021 -> 340 - 100031 -> 340 - 100041 -> 340 - 100051 -> 340 - 100061 -> 340 - 100071 -> 340 - 100081 -> 340 - 100091 -> 340 - 100101 -> 340 - 100111 -> 340 - 100121 -> 340 - 100131 -> 340 - 100141 -> 340 - 100151 -> 340 - 100161 -> 340 - 100171 -> 340 - 100181 -> 340 - 100191 -> 340 - 100201 -> 340 - 100211 -> 340 - 100221 -> 340 - 100231 -> 340 - 100241 -> 340 - 100251 -> 340 - 100261 -> 340 - 100271 -> 340 - 100281 -> 340 - 100301 -> 340 - 100321 -> 340 - 100331 -> 340 - 100351 -> 340 - 100371 -> 340 - 100381 -> 340 - 100391 -> 340 - 100401 -> 340 - 100411 -> 340 - 100451 -> 340 - 100461 -> 340 - 100481 -> 340 - 100501 -> 340 - 100521 -> 340 - 100561 -> 340 - 100581 -> 340 - 100591 -> 340 - 100601 -> 340 - 100611 -> 340 - 100691 -> 340 - 100711 -> 340 - 110011 -> 340 - 110031 -> 340 - 110041 -> 340 - 110061 -> 340 - 110111 -> 340 - 110131 -> 340 - 110141 -> 340 - 110151 -> 340 - 110171 -> 340 - 110181 -> 340 - 110231 -> 340 - 110241 -> 340 - 110261 -> 340 - 110301 -> 340 - 110371 -> 340 - 110401 -> 340 - 110451 -> 340 - 110521 -> 340 - 110561 -> 340 - 200011 -> 174 - 200012 -> 129 - 200013 -> -129 - 200021 -> 174 - 200022 -> 129 - 200023 -> -129 - 200031 -> 174 - 200032 -> 129 - 200033 -> -129 - 200041 -> 174 - 200042 -> 129 - 200043 -> -129 - 200051 -> 174 - 200052 -> 129 - 200053 -> -129 - 200061 -> 174 - 200062 -> 129 - 200063 -> -129 - 200064 -> 461 - 200071 -> 174 - 200072 -> 129 - 200073 -> -129 - 200081 -> 174 - 200082 -> 129 - 200083 -> -129 - 200091 -> 174 - 200092 -> 129 - 200093 -> -129 - 200101 -> 174 - 200102 -> 129 - 200103 -> -129 - 200111 -> 174 - 200112 -> 129 - 200113 -> -129 - 200121 -> 174 - 200122 -> 129 - 200123 -> -129 - 200131 -> 174 - 200132 -> 129 - 200133 -> -129 - 200141 -> 174 - 200142 -> 129 - 200143 -> -129 - 200151 -> 174 - 200152 -> 129 - 200153 -> -129 - 200161 -> 174 - 200162 -> 129 - 200163 -> -129 - 200171 -> 174 - 200172 -> 129 - 200173 -> -129 - 200174 -> 461 - 200181 -> 174 - 200182 -> 129 - 200183 -> -129 - 200191 -> 174 - 200192 -> 129 - 200193 -> -129 - 200194 -> 461 - 200201 -> 174 - 200202 -> 129 - 200203 -> -129 - 200211 -> 174 - 200212 -> 129 - 200221 -> 174 - 200222 -> 129 - 200231 -> 174 - 200232 -> 129 - 200233 -> -129 - 200241 -> 174 - 200242 -> 129 - 200251 -> 174 - 200252 -> 129 - 200253 -> -129 - 200261 -> 174 - 200262 -> 129 - 200263 -> -129 - 200271 -> 174 - 200272 -> 129 - 200281 -> 174 - 200282 -> 129 - 200283 -> -129 - 200291 -> 174 - 200292 -> 129 - 200301 -> 174 - 200302 -> 129 - 200311 -> -129 - 200321 -> -129 - 200331 -> 508 - 200332 -> 217 - 200333 -> -262 - 200341 -> 508 - 200342 -> 217 - 200343 -> -262 - 200351 -> 508 - 200352 -> 217 - 200353 -> -262 - 200361 -> 508 - 200362 -> 217 - 200371 -> 508 - 200372 -> 217 - 200381 -> 508 - 200382 -> 217 - 200391 -> -262 - 200401 -> -262 - 200411 -> -262 - 200421 -> -262 - 200431 -> 394 - 200432 -> 129 - 200433 -> -174 - 200441 -> 508 - 200442 -> 217 - 200451 -> 334 - 200452 -> 129 - 200461 -> 508 - 200462 -> 217 - 200471 -> 508 - 200472 -> 217 - 200481 -> 508 - 200482 -> 217 - 200491 -> 394 - 200492 -> 174 - 200501 -> 334 - 200502 -> 129 - 200511 -> 508 - 200512 -> 217 - 200521 -> -262 - 200531 -> 334 - 200532 -> 217 - 200541 -> 508 - 200542 -> 217 - 200551 -> 508 - 200552 -> 217 - 200561 -> 508 - 200562 -> 217 - 200571 -> 508 - 200572 -> 217 - 200581 -> 508 - 200582 -> 217 - 200591 -> 508 - 200592 -> 217 - 200601 -> 508 - 200602 -> 217 - 200611 -> 508 - 200612 -> 217 - 200621 -> 508 - 200622 -> 217 - 200631 -> 508 - 200632 -> 217 - 200641 -> 508 - 200642 -> 217 - 200651 -> 508 - 200652 -> 217 - 200662 -> 217 - 200671 -> 508 - 200672 -> 217 - 200681 -> 508 - 200682 -> 217 - 200691 -> 508 - 200692 -> 217 - 200701 -> 508 - 200702 -> 217 - 200711 -> 508 - 200712 -> 217 - 200721 -> 508 - 200722 -> 217 - 200731 -> 508 - 200732 -> 217 - 200741 -> 508 - 200742 -> 217 - 200751 -> 508 - 200752 -> 217 - 200761 -> 508 - 200762 -> 217 - 200771 -> 217 - 200772 -> 508 - 200781 -> 217 - 200791 -> 174 - 200801 -> 174 - 200811 -> 174 - 200821 -> 174 - 200831 -> 217 - 200841 -> 217 - 200851 -> 217 - 200861 -> 217 - 200871 -> 217 - 200881 -> 217 - 200891 -> 217 - 200901 -> 217 - 200911 -> 217 - 200921 -> 217 - 200931 -> 217 - 200941 -> 217 - 200951 -> 174 - 200952 -> 129 - 200953 -> -129 - 200961 -> 262 - 200962 -> 217 - 200971 -> 262 - 200972 -> 217 - 200981 -> 508 - 200982 -> 262 - 200991 -> 508 - 200992 -> 217 - 201001 -> 394 - 201002 -> 174 - 201011 -> 508 - 201012 -> 262 - 201021 -> 508 - 201022 -> 262 - 201031 -> 262 - 201032 -> 217 - 201041 -> 262 - 201042 -> 217 - 201051 -> 508 - 201052 -> 217 - 201061 -> 508 - 201062 -> 217 - 201071 -> 334 - 201072 -> 217 - 201081 -> 461 - 201082 -> 217 - 201091 -> 508 - 201092 -> 217 - 201101 -> 262 - 201102 -> 217 - 201103 -> 508 - 201111 -> 262 - 201112 -> 217 - 201121 -> 334 - 201122 -> 129 - 201131 -> 394 - 201132 -> 174 - 201141 -> 508 - 201142 -> 217 - 201151 -> 508 - 201152 -> 217 - 201161 -> 508 - 201162 -> 217 - 201171 -> 262 - 201172 -> 217 - 201181 -> 262 - 201182 -> 217 - 201191 -> 508 - 201192 -> 217 - 201201 -> 508 - 201202 -> 217 - 201211 -> 508 - 201212 -> 217 - 201221 -> 461 - 201222 -> 217 - 201231 -> 334 - 201232 -> 129 - 201241 -> 262 - 201242 -> 217 - 201251 -> 262 - 201252 -> 217 - 201261 -> 334 - 201262 -> 129 - 201272 -> 217 - 201281 -> 508 - 201282 -> 217 - 201291 -> 508 - 201292 -> 217 - 201302 -> 217 - 201311 -> 262 - 201312 -> 217 - 201321 -> 262 - 201322 -> 217 - 201331 -> 334 - 201332 -> 217 - 201341 -> 334 - 201342 -> 217 - 201351 -> 508 - 201352 -> 217 - 201361 -> 334 - 201362 -> 217 - 201371 -> 334 - 201372 -> 85 - 201381 -> 262 - 201382 -> 217 - 201391 -> 262 - 201392 -> 217 - 201401 -> 334 - 201402 -> 217 - 201411 -> 334 - 201412 -> 217 - 201421 -> 508 - 201422 -> 217 - 201431 -> 334 - 201432 -> 85 - 201441 -> 508 - 201442 -> 217 - 201451 -> 262 - 201452 -> 217 - 201461 -> 262 - 201462 -> 217 - 201471 -> 334 - 201472 -> 85 - 201481 -> 508 - 201482 -> 217 - 201491 -> 508 - 201492 -> 217 - 201501 -> 334 - 201502 -> 85 - 201511 -> 508 - 201512 -> 217 - 201521 -> 217 - 201522 -> 174 - 201531 -> 217 - 201532 -> 174 - 201541 -> 217 - 201542 -> 174 - 201551 -> 217 - 201552 -> 174 - 201561 -> 334 - 201562 -> 174 - 201571 -> 217 - 201581 -> 217 - 201591 -> 217 - 201592 -> 508 - 201601 -> 217 - 201611 -> 217 - 201612 -> 508 - 201621 -> 217 - 201631 -> 129 - 201641 -> 129 - 201651 -> 217 - 201661 -> 217 - 201671 -> 508 - 201672 -> 217 - 201681 -> 394 - 201682 -> 174 - 201691 -> 508 - 201692 -> 217 - 201701 -> 508 - 201702 -> 217 - 201801 -> -129 - 201902 -> 217 - 202002 -> 217 - 202011 -> 508 - 202012 -> 217 - 202021 -> 508 - 202022 -> 217 - 202031 -> 334 - 202032 -> 129 - 202041 -> 508 - 202042 -> 217 - 202051 -> 370 - 210011 -> 633 - 210012 -> 263 - 210021 -> 633 - 210022 -> 263 - 210031 -> 633 - 210032 -> 263 - 210041 -> 633 - 210042 -> 263 - 210051 -> 633 - 210052 -> 263 - 300011 -> 0 - 300021 -> 0 - 300031 -> 0 - 300041 -> 0 - 300051 -> 0 - 300061 -> 0 - 300071 -> 0 - 300081 -> 0 - 300091 -> 0 - 300101 -> 0 - 900011 -> 180 - 900021 -> 180 - 900031 -> 180 - 900041 -> 180 - 900051 -> 180 - 900061 -> 180 - 900071 -> 180 - 900081 -> 180 - 900091 -> 180 - 900101 -> 180 - 900111 -> 180 - 900121 -> 180 - 900131 -> 180 - 900141 -> 180 - 900151 -> 180 - 900161 -> 180 - 900171 -> 180 - 900181 -> 180 - 900191 -> 180 - 900201 -> 180 - 900211 -> 180 - 900221 -> 180 - 900231 -> 180 - 900241 -> 180 - 900251 -> 180 - 900261 -> 180 - 900271 -> 180 - 900281 -> 180 - 900301 -> 180 - 900321 -> 180 - 900331 -> 180 - 900351 -> 180 - 900371 -> 180 - 900381 -> 180 - 900391 -> 180 - 900401 -> 180 - 900411 -> 180 - 900451 -> 180 - 900461 -> 180 - 900481 -> 180 - 900501 -> 180 - 900521 -> 180 - 900561 -> 180 - 900581 -> 180 - 900591 -> 180 - 900601 -> 180 - 900611 -> 180 - 900691 -> 180 - 900711 -> 180 - 910011 -> 180 - 910031 -> 180 - 910041 -> 180 - 910061 -> 180 - 910111 -> 180 - 910131 -> 180 - 910141 -> 180 - 910151 -> 180 - 910171 -> 180 - 910181 -> 180 - 910231 -> 180 - 910241 -> 180 - 910261 -> 180 - 910301 -> 180 - 910371 -> 180 - 910401 -> 180 - 910451 -> 180 - 910521 -> 180 - 910561 -> 180 - 1000011 -> 0 - _ -> 0 - -// Get whether a skill is a wit check. -// If no skill matches the ID, the result is False. -pub fun wit-check(s: skill-id): bool - match s.game-id - 10071 -> False - 10081 -> False - 10091 -> False - 10111 -> False - 10141 -> False - 10181 -> False - 10241 -> False - 10271 -> False - 10321 -> False - 10351 -> False - 10411 -> False - 10451 -> False - 10521 -> False - 10561 -> False - 10601 -> False - 10611 -> False - 100011 -> False - 100021 -> False - 100031 -> False - 100041 -> False - 100051 -> False - 100061 -> False - 100071 -> False - 100081 -> False - 100091 -> False - 100101 -> False - 100111 -> False - 100121 -> False - 100131 -> False - 100141 -> False - 100151 -> False - 100161 -> False - 100171 -> False - 100181 -> False - 100191 -> False - 100201 -> False - 100211 -> False - 100221 -> False - 100231 -> False - 100241 -> False - 100251 -> False - 100261 -> False - 100271 -> False - 100281 -> False - 100301 -> False - 100321 -> False - 100331 -> False - 100351 -> False - 100371 -> False - 100381 -> False - 100391 -> False - 100401 -> False - 100411 -> False - 100451 -> False - 100461 -> False - 100481 -> False - 100501 -> False - 100521 -> False - 100561 -> False - 100581 -> False - 100591 -> False - 100601 -> False - 100611 -> False - 100691 -> False - 100711 -> False - 110011 -> False - 110031 -> False - 110041 -> False - 110061 -> False - 110111 -> False - 110131 -> False - 110141 -> False - 110151 -> False - 110171 -> False - 110181 -> False - 110231 -> False - 110241 -> False - 110261 -> False - 110301 -> False - 110371 -> False - 110401 -> False - 110451 -> False - 110521 -> False - 110561 -> False - 200011 -> False - 200012 -> False - 200013 -> False - 200021 -> False - 200022 -> False - 200023 -> False - 200031 -> False - 200032 -> False - 200033 -> False - 200041 -> False - 200042 -> False - 200043 -> False - 200051 -> False - 200052 -> False - 200053 -> False - 200061 -> False - 200062 -> False - 200063 -> False - 200064 -> False - 200071 -> False - 200072 -> False - 200073 -> False - 200081 -> False - 200082 -> False - 200083 -> False - 200091 -> False - 200092 -> False - 200093 -> False - 200101 -> False - 200102 -> False - 200103 -> False - 200111 -> False - 200112 -> False - 200113 -> False - 200121 -> False - 200122 -> False - 200123 -> False - 200131 -> False - 200132 -> False - 200133 -> False - 200141 -> False - 200142 -> False - 200143 -> False - 200151 -> False - 200152 -> False - 200153 -> False - 200161 -> False - 200162 -> False - 200163 -> False - 200171 -> False - 200172 -> False - 200173 -> False - 200174 -> False - 200181 -> False - 200182 -> False - 200183 -> False - 200191 -> False - 200192 -> False - 200193 -> False - 200194 -> False - 200201 -> False - 200202 -> False - 200203 -> False - 200211 -> False - 200212 -> False - 200221 -> False - 200222 -> False - 200231 -> False - 200232 -> False - 200233 -> False - 200241 -> False - 200242 -> False - 200251 -> False - 200252 -> False - 200253 -> False - 200261 -> False - 200262 -> False - 200263 -> False - 200271 -> False - 200272 -> False - 200281 -> False - 200282 -> False - 200283 -> False - 200291 -> False - 200292 -> False - 200301 -> False - 200302 -> False - 200311 -> False - 200321 -> False - 200331 -> True - 200332 -> True - 200333 -> True - 200341 -> True - 200342 -> True - 200343 -> True - 200351 -> True - 200352 -> True - 200353 -> True - 200361 -> True - 200362 -> True - 200371 -> True - 200372 -> True - 200381 -> True - 200382 -> True - 200391 -> True - 200401 -> True - 200411 -> True - 200421 -> True - 200431 -> True - 200432 -> True - 200433 -> True - 200441 -> True - 200442 -> True - 200451 -> True - 200452 -> True - 200461 -> True - 200462 -> True - 200471 -> True - 200472 -> True - 200481 -> True - 200482 -> True - 200491 -> True - 200492 -> True - 200501 -> True - 200502 -> True - 200511 -> True - 200512 -> True - 200521 -> True - 200531 -> True - 200532 -> True - 200541 -> True - 200542 -> True - 200551 -> True - 200552 -> True - 200561 -> True - 200562 -> True - 200571 -> True - 200572 -> True - 200581 -> True - 200582 -> True - 200591 -> True - 200592 -> True - 200601 -> True - 200602 -> True - 200611 -> True - 200612 -> True - 200621 -> True - 200622 -> True - 200631 -> True - 200632 -> True - 200641 -> True - 200642 -> True - 200651 -> True - 200652 -> True - 200662 -> True - 200671 -> True - 200672 -> True - 200681 -> True - 200682 -> True - 200691 -> True - 200692 -> True - 200701 -> True - 200702 -> True - 200711 -> True - 200712 -> True - 200721 -> True - 200722 -> True - 200731 -> True - 200732 -> True - 200741 -> True - 200742 -> True - 200751 -> True - 200752 -> True - 200761 -> True - 200762 -> True - 200771 -> True - 200772 -> True - 200781 -> True - 200791 -> True - 200801 -> True - 200811 -> True - 200821 -> True - 200831 -> True - 200841 -> True - 200851 -> True - 200861 -> True - 200871 -> True - 200881 -> True - 200891 -> True - 200901 -> True - 200911 -> True - 200921 -> True - 200931 -> True - 200941 -> True - 200951 -> False - 200952 -> False - 200953 -> False - 200961 -> True - 200962 -> True - 200971 -> True - 200972 -> True - 200981 -> True - 200982 -> True - 200991 -> True - 200992 -> True - 201001 -> True - 201002 -> True - 201011 -> True - 201012 -> True - 201021 -> True - 201022 -> True - 201031 -> True - 201032 -> True - 201041 -> True - 201042 -> True - 201051 -> True - 201052 -> True - 201061 -> True - 201062 -> True - 201071 -> True - 201072 -> True - 201081 -> True - 201082 -> True - 201091 -> True - 201092 -> True - 201101 -> True - 201102 -> True - 201103 -> True - 201111 -> True - 201112 -> True - 201121 -> True - 201122 -> True - 201131 -> True - 201132 -> True - 201141 -> True - 201142 -> True - 201151 -> True - 201152 -> True - 201161 -> True - 201162 -> True - 201171 -> True - 201172 -> True - 201181 -> True - 201182 -> True - 201191 -> True - 201192 -> True - 201201 -> True - 201202 -> True - 201211 -> True - 201212 -> True - 201221 -> True - 201222 -> True - 201231 -> True - 201232 -> True - 201241 -> True - 201242 -> True - 201251 -> True - 201252 -> True - 201261 -> True - 201262 -> True - 201272 -> True - 201281 -> True - 201282 -> True - 201291 -> True - 201292 -> True - 201302 -> True - 201311 -> True - 201312 -> True - 201321 -> True - 201322 -> True - 201331 -> True - 201332 -> True - 201341 -> True - 201342 -> True - 201351 -> True - 201352 -> True - 201361 -> True - 201362 -> True - 201371 -> True - 201372 -> True - 201381 -> True - 201382 -> True - 201391 -> True - 201392 -> True - 201401 -> True - 201402 -> True - 201411 -> True - 201412 -> True - 201421 -> True - 201422 -> True - 201431 -> True - 201432 -> True - 201441 -> True - 201442 -> True - 201451 -> True - 201452 -> True - 201461 -> True - 201462 -> True - 201471 -> True - 201472 -> True - 201481 -> True - 201482 -> True - 201491 -> True - 201492 -> True - 201501 -> True - 201502 -> True - 201511 -> True - 201512 -> True - 201521 -> False - 201522 -> False - 201531 -> False - 201532 -> False - 201541 -> False - 201542 -> False - 201551 -> False - 201552 -> False - 201561 -> True - 201562 -> True - 201571 -> True - 201581 -> True - 201591 -> True - 201592 -> True - 201601 -> True - 201611 -> True - 201612 -> True - 201621 -> True - 201631 -> False - 201641 -> False - 201651 -> True - 201661 -> True - 201671 -> True - 201672 -> True - 201681 -> True - 201682 -> True - 201691 -> True - 201692 -> True - 201701 -> True - 201702 -> True - 201801 -> False - 201902 -> True - 202002 -> True - 202011 -> True - 202012 -> True - 202021 -> True - 202022 -> True - 202031 -> True - 202032 -> True - 202041 -> True - 202042 -> True - 202051 -> False - 210011 -> True - 210012 -> True - 210021 -> True - 210022 -> True - 210031 -> True - 210032 -> True - 210041 -> True - 210042 -> True - 210051 -> True - 210052 -> True - 300011 -> False - 300021 -> False - 300031 -> False - 300041 -> False - 300051 -> False - 300061 -> False - 300071 -> False - 300081 -> False - 300091 -> False - 300101 -> False - 900011 -> True - 900021 -> True - 900031 -> True - 900041 -> True - 900051 -> True - 900061 -> True - 900071 -> True - 900081 -> True - 900091 -> True - 900101 -> True - 900111 -> True - 900121 -> True - 900131 -> True - 900141 -> True - 900151 -> True - 900161 -> True - 900171 -> True - 900181 -> True - 900191 -> True - 900201 -> True - 900211 -> True - 900221 -> True - 900231 -> True - 900241 -> True - 900251 -> True - 900261 -> True - 900271 -> True - 900281 -> True - 900301 -> True - 900321 -> True - 900331 -> True - 900351 -> True - 900371 -> True - 900381 -> True - 900391 -> True - 900401 -> True - 900411 -> True - 900451 -> True - 900461 -> True - 900481 -> True - 900501 -> True - 900521 -> True - 900561 -> True - 900581 -> True - 900591 -> True - 900601 -> True - 900611 -> True - 900691 -> True - 900711 -> True - 910011 -> True - 910031 -> True - 910041 -> True - 910061 -> True - 910111 -> True - 910131 -> True - 910141 -> True - 910151 -> True - 910171 -> True - 910181 -> True - 910231 -> True - 910241 -> True - 910261 -> True - 910301 -> True - 910371 -> True - 910401 -> True - 910451 -> True - 910521 -> True - 910561 -> True - 1000011 -> False - _ -> False - -// Get the activations of a skill. -// If no skill matches the ID, the result is an empty list. -pub fun activations(s: skill-id): list - match s.game-id - 10071 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&distance_rate<=60&order_rate>50", - duration = 60000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10081 -> [ - Activation( - precondition = "", - condition = "order>=3&order_rate<=50&remain_distance<=200&bashin_diff_infront<=1@order>=3&order_rate<=50&remain_distance<=200&bashin_diff_behind<=1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10091 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order==1&bashin_diff_behind<=1@distance_rate>=50&order==2&is_overtake==1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10111 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&change_order_onetime<0&order>=3", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10141 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&hp_per>=30&order<=2", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10181 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order>=3&change_order_onetime<0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10241 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&blocked_side_continuetime>=2&order<=3", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10271 -> [ - Activation( - precondition = "", - condition = "phase>=2&corner!=0&order_rate>=65&order_rate<=70", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10321 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&corner!=0&order>=3&order_rate<=40", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10351 -> [ - Activation( - precondition = "is_finalcorner==1&blocked_side_continuetime>=2", - condition = "is_finalcorner==1&corner==0&order<=5", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10411 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order<=3&blocked_side_continuetime>=2", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10451 -> [ - Activation( - precondition = "", - condition = "phase_random==1&order>=2&order_rate<=40", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10521 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order_rate>50&near_count>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10561 -> [ - Activation( - precondition = "", - condition = "phase>=2&order>=3&blocked_front==1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10601 -> [ - Activation( - precondition = "", - condition = "phase>=2&order==3&bashin_diff_behind<=1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 10611 -> [ - Activation( - precondition = "", - condition = "temptation_count==0&remain_distance<=201&remain_distance>=199&order>=4&order_rate<=70", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100011 -> [ - Activation( - precondition = "", - condition = "phase>=2&order>=1&order_rate<=50&change_order_onetime<0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100021 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order==1&bashin_diff_behind>=1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100031 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&order<=3&bashin_diff_infront<=1&is_overtake==1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(4500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100041 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&order<=5&order_rate<=50", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100051 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&order_rate<=30&behind_near_lane_time_set1>=1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(4500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100061 -> [ - Activation( - precondition = "", - condition = "order>=2&order<=5&order_rate<=50&remain_distance<=201&remain_distance>=199", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(4500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100071 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&distance_rate<=60&order_rate>50", - duration = 60000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100081 -> [ - Activation( - precondition = "", - condition = "order>=3&order_rate<=50&remain_distance<=200&bashin_diff_infront<=1@order>=3&order_rate<=50&remain_distance<=200&bashin_diff_behind<=1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100091 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order==1&bashin_diff_behind<=1@distance_rate>=50&order==2&is_overtake==1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100101 -> [ - Activation( - precondition = "", - condition = "is_finalcorner_laterhalf==1&corner!=0&order>=3&order_rate<=40", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100111 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&change_order_onetime<0&order>=3", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100121 -> [ - Activation( - precondition = "is_finalcorner==1&is_behind_in==1&change_order_onetime<0&order_rate>=40", - condition = "is_finalcorner==1&corner==0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100131 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&distance_diff_rate<=30", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100141 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&hp_per>=30&order<=2", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100151 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&bashin_diff_behind<=1&order<=4@is_finalcorner==1&bashin_diff_infront<=1&order<=4", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100161 -> [ - Activation( - precondition = "phase==1&blocked_side_continuetime>=2", - condition = "is_finalcorner==1&order>=2&order_rate<=75&is_behind_in==1&change_order_onetime<0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(4500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - Activation( - precondition = "", - condition = "is_finalcorner==1&order>=2&order_rate<=75&is_behind_in==1&change_order_onetime<0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100171 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&change_order_up_end_after>=3&corner==0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(4500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100181 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order>=3&change_order_onetime<0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100191 -> [ - Activation( - precondition = "", - condition = "change_order_up_end_after>=2", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Lane-Speed(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100201 -> [ - Activation( - precondition = "", - condition = "phase>=2&corner!=0&order==1", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100211 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&corner==0&order_rate>=70&order_rate<=75&is_overtake==1@distance_rate>=50&corner==0&order_rate<=30&order_rate>=20", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100221 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order>=2&order_rate<=40&blocked_side_continuetime>=2", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100231 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&change_order_onetime<0&order<=4", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100241 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&blocked_side_continuetime>=2&order<=3", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100251 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order_rate>=40&order_rate<=70", - duration = 60000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Current-Speed(-500.decimal(-4)), - value-usage = Direct, - target = Ahead(5) - ), - ] - ), - ] - 100261 -> [ - Activation( - precondition = "", - condition = "is_badstart==0&temptation_count==0&order<=3&is_finalcorner==1&corner==0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100271 -> [ - Activation( - precondition = "", - condition = "phase>=2&corner!=0&order_rate>=65&order_rate<=70", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100281 -> [ - Activation( - precondition = "", - condition = "distance_rate>=45&distance_rate<=60&order>=3&order_rate<=50&hp_per<=70", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100301 -> [ - Activation( - precondition = "is_finalcorner==1&order<=4&change_order_onetime<0", - condition = "is_finalcorner==1&corner==0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100321 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&corner!=0&order>=3&order_rate<=40", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100331 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&distance_diff_top>=5&order_rate<80", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&distance_diff_top>=5&order_rate>=80", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(4500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100351 -> [ - Activation( - precondition = "is_finalcorner==1&blocked_side_continuetime>=2", - condition = "is_finalcorner==1&corner==0&order<=5", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100371 -> [ - Activation( - precondition = "", - condition = "is_badstart==0&temptation_count==0&order>=3&is_finalcorner==1&corner==0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100381 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&distance_rate<=65&order>=2&order_rate<=40&change_order_onetime<0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100391 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&blocked_side_continuetime>=2", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100401 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order_rate>=40&order_rate<=70&is_overtake==1", - duration = 60000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100411 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order<=3&blocked_side_continuetime>=2", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100451 -> [ - Activation( - precondition = "", - condition = "phase_random==1&order>=2&order_rate<=40", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(750.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100461 -> [ - Activation( - precondition = "", - condition = "phase==1&corner==0&order<=2&bashin_diff_behind<=1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100481 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&order>=2&order_rate<=30&overtake_target_time>=2@is_finalcorner==1&corner==0&order_rate<=20&change_order_onetime<0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100501 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&order_rate>=40&order_rate<=75&is_overtake==1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100521 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order_rate>50&near_count>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100561 -> [ - Activation( - precondition = "", - condition = "phase>=2&order>=3&blocked_front==1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100581 -> [ - Activation( - precondition = "", - condition = "phase>=2&corner!=0&order>=3&change_order_onetime<0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100591 -> [ - Activation( - precondition = "", - condition = "phase>=2&corner!=0&is_finalcorner==0&temptation_count==0&order_rate>=50&order_rate<=70@phase==1&corner!=0&is_finalcorner==1&temptation_count==0&order_rate>=50&order_rate<=70", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100601 -> [ - Activation( - precondition = "", - condition = "phase>=2&order==3&bashin_diff_behind<=1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100611 -> [ - Activation( - precondition = "", - condition = "temptation_count==0&remain_distance<=201&remain_distance>=199&order>=4&order_rate<=70", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(4500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100691 -> [ - Activation( - precondition = "", - condition = "remain_distance<=300&order_rate<=40&bashin_diff_infront<=1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 100711 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&bashin_diff_behind<=1", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(4500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110011 -> [ - Activation( - precondition = "", - condition = "phase==1&order>=2&order_rate<=70&activate_count_middle>=2", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110031 -> [ - Activation( - precondition = "is_finalcorner==1&is_overtake==1&order<=5&order_rate<=50&overtake_target_no_order_up_time>=2", - condition = "is_finalcorner==1&corner==0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(4500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110041 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&activate_count_heal>=1&order<=3", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110061 -> [ - Activation( - precondition = "", - condition = "activate_count_heal>=3&distance_rate>=50", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = HP(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110111 -> [ - Activation( - precondition = "", - condition = "phase==1&change_order_onetime>0&order_rate>=40", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(750.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110131 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&hp_per<=45&order<=3&order_rate<=50&bashin_diff_behind<=1&overtake_target_time>=1", - duration = 60000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110141 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&is_overtake==1&order>=4&order_rate<=75", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110151 -> [ - Activation( - precondition = "", - condition = "remain_distance<=401&remain_distance>=399&order_rate<=40&activate_count_all>=7", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(4500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - Activation( - precondition = "", - condition = "remain_distance<=401&remain_distance>=399&order_rate<=40&activate_count_all<=6", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110171 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&order_rate<=40&overtake_target_time>=2", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110181 -> [ - Activation( - precondition = "", - condition = "phase==1&order>=3&order_rate<=50&is_overtake==1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110231 -> [ - Activation( - precondition = "", - condition = "order_rate_in40_continue==1&phase==1&distance_rate>=50&order>=2&order_rate<=40", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110241 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order_rate<=40&change_order_onetime<0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order_rate>=50&order_rate<=80&change_order_onetime<0", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110261 -> [ - Activation( - precondition = "", - condition = "order<=4&phase==1&corner!=0&bashin_diff_behind<=3", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110301 -> [ - Activation( - precondition = "", - condition = "phase==1&order>=2&order_rate<=50&overtake_target_time>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = HP(-50.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 110371 -> [ - Activation( - precondition = "", - condition = "change_order_up_finalcorner_after>=3&is_finalcorner==1&corner==0", - duration = 60000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110401 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order_rate>=30&order_rate<=70&blocked_side_continuetime>=2", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110451 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&order<=4&bashin_diff_infront<=1", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110521 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&distance_diff_top>=7", - duration = 50000.decimal(-4), - dur-scale = Front-Distance-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 110561 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order_rate>=40&overtake_target_time>=2", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200011 -> [ - Activation( - precondition = "", - condition = "rotation==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200012 -> [ - Activation( - precondition = "", - condition = "rotation==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200013 -> [ - Activation( - precondition = "", - condition = "rotation==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200021 -> [ - Activation( - precondition = "", - condition = "rotation==2", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200022 -> [ - Activation( - precondition = "", - condition = "rotation==2", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200023 -> [ - Activation( - precondition = "", - condition = "rotation==2", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200031 -> [ - Activation( - precondition = "", - condition = "track_id==10006", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200032 -> [ - Activation( - precondition = "", - condition = "track_id==10006", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200033 -> [ - Activation( - precondition = "", - condition = "track_id==10006", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200041 -> [ - Activation( - precondition = "", - condition = "track_id==10005", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200042 -> [ - Activation( - precondition = "", - condition = "track_id==10005", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200043 -> [ - Activation( - precondition = "", - condition = "track_id==10005", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200051 -> [ - Activation( - precondition = "", - condition = "track_id==10009", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200052 -> [ - Activation( - precondition = "", - condition = "track_id==10009", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200053 -> [ - Activation( - precondition = "", - condition = "track_id==10009", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200061 -> [ - Activation( - precondition = "", - condition = "track_id==10008", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200062 -> [ - Activation( - precondition = "", - condition = "track_id==10008", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200063 -> [ - Activation( - precondition = "", - condition = "track_id==10008", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200064 -> [ - Activation( - precondition = "", - condition = "track_id==10008", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Passive-Wit(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200071 -> [ - Activation( - precondition = "", - condition = "track_id==10007", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200072 -> [ - Activation( - precondition = "", - condition = "track_id==10007", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200073 -> [ - Activation( - precondition = "", - condition = "track_id==10007", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200081 -> [ - Activation( - precondition = "", - condition = "track_id==10001", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200082 -> [ - Activation( - precondition = "", - condition = "track_id==10001", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200083 -> [ - Activation( - precondition = "", - condition = "track_id==10001", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200091 -> [ - Activation( - precondition = "", - condition = "track_id==10002", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200092 -> [ - Activation( - precondition = "", - condition = "track_id==10002", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200093 -> [ - Activation( - precondition = "", - condition = "track_id==10002", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200101 -> [ - Activation( - precondition = "", - condition = "track_id==10004", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200102 -> [ - Activation( - precondition = "", - condition = "track_id==10004", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200103 -> [ - Activation( - precondition = "", - condition = "track_id==10004", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200111 -> [ - Activation( - precondition = "", - condition = "track_id==10003", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200112 -> [ - Activation( - precondition = "", - condition = "track_id==10003", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200113 -> [ - Activation( - precondition = "", - condition = "track_id==10003", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200121 -> [ - Activation( - precondition = "", - condition = "track_id==10010", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200122 -> [ - Activation( - precondition = "", - condition = "track_id==10010", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200123 -> [ - Activation( - precondition = "", - condition = "track_id==10010", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200131 -> [ - Activation( - precondition = "", - condition = "is_basis_distance==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200132 -> [ - Activation( - precondition = "", - condition = "is_basis_distance==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200133 -> [ - Activation( - precondition = "", - condition = "is_basis_distance==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200141 -> [ - Activation( - precondition = "", - condition = "is_basis_distance==0", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200142 -> [ - Activation( - precondition = "", - condition = "is_basis_distance==0", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200143 -> [ - Activation( - precondition = "", - condition = "is_basis_distance==0", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200151 -> [ - Activation( - precondition = "", - condition = "ground_condition==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Power(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200152 -> [ - Activation( - precondition = "", - condition = "ground_condition==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Power(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200153 -> [ - Activation( - precondition = "", - condition = "ground_condition==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Power(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200161 -> [ - Activation( - precondition = "", - condition = "ground_condition==2@ground_condition==3@ground_condition==4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Power(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200162 -> [ - Activation( - precondition = "", - condition = "ground_condition==2@ground_condition==3@ground_condition==4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Power(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200163 -> [ - Activation( - precondition = "", - condition = "ground_condition==2@ground_condition==3@ground_condition==4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Power(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200171 -> [ - Activation( - precondition = "", - condition = "season==1@season==5", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200172 -> [ - Activation( - precondition = "", - condition = "season==1@season==5", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200173 -> [ - Activation( - precondition = "", - condition = "season==1@season==5", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200174 -> [ - Activation( - precondition = "", - condition = "season==1@season==5", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Passive-Power(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200181 -> [ - Activation( - precondition = "", - condition = "season==2", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200182 -> [ - Activation( - precondition = "", - condition = "season==2", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200183 -> [ - Activation( - precondition = "", - condition = "season==2", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200191 -> [ - Activation( - precondition = "", - condition = "season==3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200192 -> [ - Activation( - precondition = "", - condition = "season==3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200193 -> [ - Activation( - precondition = "", - condition = "season==3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200194 -> [ - Activation( - precondition = "", - condition = "season==3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Passive-Power(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200201 -> [ - Activation( - precondition = "", - condition = "season==4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200202 -> [ - Activation( - precondition = "", - condition = "season==4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200203 -> [ - Activation( - precondition = "", - condition = "season==4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200211 -> [ - Activation( - precondition = "", - condition = "weather==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Guts(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200212 -> [ - Activation( - precondition = "", - condition = "weather==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Guts(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200221 -> [ - Activation( - precondition = "", - condition = "weather==2", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Guts(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200222 -> [ - Activation( - precondition = "", - condition = "weather==2", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Guts(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200231 -> [ - Activation( - precondition = "", - condition = "weather==3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Guts(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200232 -> [ - Activation( - precondition = "", - condition = "weather==3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Guts(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200233 -> [ - Activation( - precondition = "", - condition = "weather==3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Guts(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200241 -> [ - Activation( - precondition = "", - condition = "weather==4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Guts(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200242 -> [ - Activation( - precondition = "", - condition = "weather==4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Guts(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200251 -> [ - Activation( - precondition = "", - condition = "post_number<=3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Wit(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200252 -> [ - Activation( - precondition = "", - condition = "post_number<=3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Wit(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200253 -> [ - Activation( - precondition = "", - condition = "post_number<=3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Wit(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200261 -> [ - Activation( - precondition = "", - condition = "post_number>=6", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200262 -> [ - Activation( - precondition = "", - condition = "post_number>=6", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200263 -> [ - Activation( - precondition = "", - condition = "post_number>=6", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200271 -> [ - Activation( - precondition = "", - condition = "running_style_count_same<=1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(800000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200272 -> [ - Activation( - precondition = "", - condition = "running_style_count_same<=1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200281 -> [ - Activation( - precondition = "", - condition = "running_style_count_same_rate>=40", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Power(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200282 -> [ - Activation( - precondition = "", - condition = "running_style_count_same_rate>=40", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Power(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200283 -> [ - Activation( - precondition = "", - condition = "running_style_count_same_rate>=40", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Power(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200291 -> [ - Activation( - precondition = "", - condition = "running_style_equal_popularity_one==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Guts(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200292 -> [ - Activation( - precondition = "", - condition = "running_style_equal_popularity_one==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Guts(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200301 -> [ - Activation( - precondition = "", - condition = "popularity>=4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200302 -> [ - Activation( - precondition = "", - condition = "popularity>=4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200311 -> [ - Activation( - precondition = "", - condition = "grade==100", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200321 -> [ - Activation( - precondition = "", - condition = "popularity==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200331 -> [ - Activation( - precondition = "", - condition = "all_corner_random==1", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200332 -> [ - Activation( - precondition = "", - condition = "all_corner_random==1", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200333 -> [ - Activation( - precondition = "", - condition = "all_corner_random==1", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200341 -> [ - Activation( - precondition = "", - condition = "all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200342 -> [ - Activation( - precondition = "", - condition = "all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200343 -> [ - Activation( - precondition = "", - condition = "all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(-2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200351 -> [ - Activation( - precondition = "", - condition = "corner_random==1@corner_random==2@corner_random==3@corner_random==4", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200352 -> [ - Activation( - precondition = "", - condition = "corner_random==1@corner_random==2@corner_random==3@corner_random==4", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200353 -> [ - Activation( - precondition = "", - condition = "corner_random==1@corner_random==2@corner_random==3@corner_random==4", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-200.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200361 -> [ - Activation( - precondition = "", - condition = "straight_random==1", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200362 -> [ - Activation( - precondition = "", - condition = "straight_random==1", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200371 -> [ - Activation( - precondition = "", - condition = "straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200372 -> [ - Activation( - precondition = "", - condition = "straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200381 -> [ - Activation( - precondition = "", - condition = "straight_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200382 -> [ - Activation( - precondition = "", - condition = "straight_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200391 -> [ - Activation( - precondition = "", - condition = "up_slope_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-200.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200401 -> [ - Activation( - precondition = "", - condition = "accumulatetime>=2&is_surrounded==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-200.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200411 -> [ - Activation( - precondition = "", - condition = "last_straight_random==1&distance_diff_rate>=75", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200421 -> [ - Activation( - precondition = "", - condition = "remain_distance==200&order==1&bashin_diff_behind>=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200431 -> [ - Activation( - precondition = "", - condition = "always==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Gate-Delay(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200432 -> [ - Activation( - precondition = "", - condition = "always==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Gate-Delay(9000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200433 -> [ - Activation( - precondition = "", - condition = "always==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Gate-Delay(15000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200441 -> [ - Activation( - precondition = "", - condition = "phase<=1&accumulatetime>=5&blocked_front_continuetime>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200442 -> [ - Activation( - precondition = "", - condition = "phase<=1&accumulatetime>=5&blocked_front_continuetime>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200451 -> [ - Activation( - precondition = "", - condition = "phase_random==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(450.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200452 -> [ - Activation( - precondition = "", - condition = "phase_random==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200461 -> [ - Activation( - precondition = "", - condition = "phase==1&change_order_onetime<0", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200462 -> [ - Activation( - precondition = "", - condition = "phase==1&change_order_onetime<0", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200471 -> [ - Activation( - precondition = "", - condition = "phase==1&change_order_onetime>0", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200472 -> [ - Activation( - precondition = "", - condition = "phase==1&change_order_onetime>0", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200481 -> [ - Activation( - precondition = "", - condition = "phase==1&is_surrounded==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200482 -> [ - Activation( - precondition = "", - condition = "phase==1&is_surrounded==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200491 -> [ - Activation( - precondition = "", - condition = "infront_near_lane_time>=1&is_lastspurt==1&hp_per>=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Lane-Speed(250.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200492 -> [ - Activation( - precondition = "", - condition = "infront_near_lane_time>=1&is_lastspurt==1&hp_per>=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Lane-Speed(50.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200501 -> [ - Activation( - precondition = "", - condition = "phase_random==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200502 -> [ - Activation( - precondition = "", - condition = "phase_random==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(250.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200511 -> [ - Activation( - precondition = "", - condition = "is_lastspurt==1&phase_random==3", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200512 -> [ - Activation( - precondition = "", - condition = "is_lastspurt==1&phase_random==3", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200521 -> [ - Activation( - precondition = "", - condition = "accumulatetime>=2&order==1&bashin_diff_behind>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-200.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200531 -> [ - Activation( - precondition = "", - condition = "running_style==1&phase==0", - duration = 12000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200532 -> [ - Activation( - precondition = "", - condition = "running_style==1&phase==0", - duration = 12000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200541 -> [ - Activation( - precondition = "", - condition = "running_style==1&phase_random==1&order_rate<=50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200542 -> [ - Activation( - precondition = "", - condition = "running_style==1&phase_random==1&order_rate<=50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200551 -> [ - Activation( - precondition = "", - condition = "running_style==1&is_finalcorner_random==1&order==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200552 -> [ - Activation( - precondition = "", - condition = "running_style==1&is_finalcorner_random==1&order==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200561 -> [ - Activation( - precondition = "", - condition = "running_style==2&phase_laterhalf_random==0&order_rate<=50", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200562 -> [ - Activation( - precondition = "", - condition = "running_style==2&phase_laterhalf_random==0&order_rate<=50", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200571 -> [ - Activation( - precondition = "", - condition = "running_style==2&phase_random==1&order_rate<=50", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200572 -> [ - Activation( - precondition = "", - condition = "running_style==2&phase_random==1&order_rate<=50", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200581 -> [ - Activation( - precondition = "", - condition = "running_style==2&is_finalcorner_random==1&order_rate<=50", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200582 -> [ - Activation( - precondition = "", - condition = "running_style==2&is_finalcorner_random==1&order_rate<=50", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200591 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_random==1&order_rate>50", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200592 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_random==1&order_rate>50", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200601 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_random==2&order_rate>50", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200602 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_random==2&order_rate>50", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200611 -> [ - Activation( - precondition = "", - condition = "running_style==3&is_finalcorner==1&corner!=0&is_behind_in==1&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200612 -> [ - Activation( - precondition = "", - condition = "running_style==3&is_finalcorner==1&corner!=0&is_behind_in==1&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200621 -> [ - Activation( - precondition = "", - condition = "running_style==4&phase_random==1&distance_diff_rate>=75", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200622 -> [ - Activation( - precondition = "", - condition = "running_style==4&phase_random==1&distance_diff_rate>=75", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200631 -> [ - Activation( - precondition = "", - condition = "running_style==4&phase_random==2&distance_diff_rate>=50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200632 -> [ - Activation( - precondition = "", - condition = "running_style==4&phase_random==2&distance_diff_rate>=50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200641 -> [ - Activation( - precondition = "", - condition = "running_style==4&is_lastspurt==1&corner==0", - duration = 9000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200642 -> [ - Activation( - precondition = "", - condition = "running_style==4&is_lastspurt==1&corner==0", - duration = 9000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200651 -> [ - Activation( - precondition = "", - condition = "distance_type==1&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200652 -> [ - Activation( - precondition = "", - condition = "distance_type==1&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200662 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_random==1&order_rate>50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200671 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_random==2&order_rate>50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200672 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_random==2&order_rate>50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200681 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_random==0&accumulatetime>=5&order_rate<=50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200682 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_random==0&accumulatetime>=5&order_rate<=50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200691 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_laterhalf_random==0&order_rate>50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Current-Speed(-2000.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 200692 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_laterhalf_random==0&order_rate>50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Current-Speed(-500.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 200701 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_random==2&order_rate>50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200702 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_random==2&order_rate>50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200711 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase_random==1&order<=3", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200712 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase_random==1&order<=3", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200721 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase_random==1&order_rate<=50", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200722 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase_random==1&order_rate<=50", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200731 -> [ - Activation( - precondition = "", - condition = "distance_type==3&is_finalcorner==1&corner!=0&change_order_onetime>0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200732 -> [ - Activation( - precondition = "", - condition = "distance_type==3&is_finalcorner==1&corner!=0&change_order_onetime>0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200741 -> [ - Activation( - precondition = "", - condition = "distance_type==4&straight_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200742 -> [ - Activation( - precondition = "", - condition = "distance_type==4&straight_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200751 -> [ - Activation( - precondition = "", - condition = "distance_type==4&is_finalcorner==1&corner!=0&lane_type==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200752 -> [ - Activation( - precondition = "", - condition = "distance_type==4&is_finalcorner==1&corner!=0&lane_type==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200761 -> [ - Activation( - precondition = "", - condition = "distance_type==4&hp_per<=30", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200762 -> [ - Activation( - precondition = "", - condition = "distance_type==4&hp_per<=30", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200771 -> [ - Activation( - precondition = "", - condition = "phase==1&order_rate<=50&temptation_count_behind>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Rushing-Behind(10) - ), - ] - ), - ] - 200772 -> [ - Activation( - precondition = "", - condition = "phase==1&order_rate<=50&temptation_count_behind>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-300.decimal(-4)), - value-usage = Direct, - target = Rushing-Behind(10) - ), - ] - ), - ] - 200781 -> [ - Activation( - precondition = "", - condition = "phase==1&order_rate>50&temptation_count_infront>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Rushing-Ahead(10) - ), - ] - ), - ] - 200791 -> [ - Activation( - precondition = "", - condition = "running_style_temptation_count_nige>=1&is_temptation==0", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Frenzy(50000.decimal(-4)), - value-usage = Direct, - target = Rushing-Style(Front-Runner) - ), - ] - ), - ] - 200801 -> [ - Activation( - precondition = "", - condition = "running_style_temptation_count_senko>=1&is_temptation==0", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Frenzy(50000.decimal(-4)), - value-usage = Direct, - target = Rushing-Style(Pace-Chaser) - ), - ] - ), - ] - 200811 -> [ - Activation( - precondition = "", - condition = "running_style_temptation_count_sashi>=1&is_temptation==0", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Frenzy(50000.decimal(-4)), - value-usage = Direct, - target = Rushing-Style(Late-Surger) - ), - ] - ), - ] - 200821 -> [ - Activation( - precondition = "", - condition = "running_style_temptation_count_oikomi>=1&is_temptation==0", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Frenzy(50000.decimal(-4)), - value-usage = Direct, - target = Rushing-Style(End-Closer) - ), - ] - ), - ] - 200831 -> [ - Activation( - precondition = "", - condition = "running_style_count_nige_otherself>=1&phase_random==0&accumulatetime>=5", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Style(Front-Runner) - ), - ] - ), - ] - 200841 -> [ - Activation( - precondition = "", - condition = "running_style_count_nige_otherself>=1&phase_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Style(Front-Runner) - ), - ] - ), - ] - 200851 -> [ - Activation( - precondition = "", - condition = "running_style_count_nige_otherself>=1&phase_random==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-1500.decimal(-4)), - value-usage = Direct, - target = Style(Front-Runner) - ), - ] - ), - ] - 200861 -> [ - Activation( - precondition = "", - condition = "running_style_count_senko_otherself>=1&phase_random==0&accumulatetime>=5", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Style(Pace-Chaser) - ), - ] - ), - ] - 200871 -> [ - Activation( - precondition = "", - condition = "running_style_count_senko_otherself>=1&phase_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Style(Pace-Chaser) - ), - ] - ), - ] - 200881 -> [ - Activation( - precondition = "", - condition = "running_style_count_senko_otherself>=1&phase_random==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-1500.decimal(-4)), - value-usage = Direct, - target = Style(Pace-Chaser) - ), - ] - ), - ] - 200891 -> [ - Activation( - precondition = "", - condition = "running_style_count_sashi_otherself>=1&phase_random==0&accumulatetime>=5", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Style(Late-Surger) - ), - ] - ), - ] - 200901 -> [ - Activation( - precondition = "", - condition = "running_style_count_sashi_otherself>=1&phase_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Style(Late-Surger) - ), - ] - ), - ] - 200911 -> [ - Activation( - precondition = "", - condition = "running_style_count_sashi_otherself>=1&phase_random==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-1500.decimal(-4)), - value-usage = Direct, - target = Style(Late-Surger) - ), - ] - ), - ] - 200921 -> [ - Activation( - precondition = "", - condition = "running_style_count_oikomi_otherself>=1&phase_random==0&accumulatetime>=5", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Style(End-Closer) - ), - ] - ), - ] - 200931 -> [ - Activation( - precondition = "", - condition = "running_style_count_oikomi_otherself>=1&phase_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Style(End-Closer) - ), - ] - ), - ] - 200941 -> [ - Activation( - precondition = "", - condition = "running_style_count_oikomi_otherself>=1&phase_random==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-1500.decimal(-4)), - value-usage = Direct, - target = Style(End-Closer) - ), - ] - ), - ] - 200951 -> [ - Activation( - precondition = "", - condition = "track_id==10101", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200952 -> [ - Activation( - precondition = "", - condition = "track_id==10101", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200953 -> [ - Activation( - precondition = "", - condition = "track_id==10101", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200961 -> [ - Activation( - precondition = "", - condition = "distance_type==1&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200962 -> [ - Activation( - precondition = "", - condition = "distance_type==1&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200971 -> [ - Activation( - precondition = "", - condition = "distance_type==1&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200972 -> [ - Activation( - precondition = "", - condition = "distance_type==1&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200981 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase==1&bashin_diff_behind>=3&order==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200982 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase==1&bashin_diff_behind>=3&order==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200991 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_laterhalf_random==1&order>=2&order_rate<=50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 200992 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_laterhalf_random==1&order>=2&order_rate<=50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201001 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_random==1", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201002 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_random==1", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(250.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201011 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_random==0&order_rate<=50&accumulatetime>=5", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-2500.decimal(-4)), - value-usage = Direct, - target = Behind(18) - ), - ] - ), - ] - 201012 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_random==0&order_rate<=50&accumulatetime>=5", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-2000.decimal(-4)), - value-usage = Direct, - target = Behind(18) - ), - ] - ), - ] - 201021 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_random==0&order_rate>50&accumulatetime>=5", - duration = 12000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-300.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - Ability( - ability-type = Accel(-2000.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 201022 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_random==0&order_rate>50&accumulatetime>=5", - duration = 12000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - Ability( - ability-type = Accel(-500.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 201031 -> [ - Activation( - precondition = "", - condition = "distance_type==2&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201032 -> [ - Activation( - precondition = "", - condition = "distance_type==2&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201041 -> [ - Activation( - precondition = "", - condition = "distance_type==2&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201042 -> [ - Activation( - precondition = "", - condition = "distance_type==2&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201051 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_random==1&order_rate<=50", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201052 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_random==1&order_rate<=50", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201061 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase==1&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201062 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase==1&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201071 -> [ - Activation( - precondition = "", - condition = "distance_type==2&is_overtake==1&accumulatetime>=5", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201072 -> [ - Activation( - precondition = "", - condition = "distance_type==2&is_overtake==1&accumulatetime>=5", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201081 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_random==1&order<=3", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-2000.decimal(-4)), - value-usage = Direct, - target = Behind(5) - ), - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201082 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_random==1&order<=3", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-1500.decimal(-4)), - value-usage = Direct, - target = Behind(5) - ), - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201091 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_random==0&order_rate>50&accumulatetime>=3", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(-3000.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 201092 -> [ - Activation( - precondition = "", - condition = "distance_type==2&phase_random==0&order_rate>50&accumulatetime>=3", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(-1000.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 201101 -> [ - Activation( - precondition = "", - condition = "distance_type==3&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201102 -> [ - Activation( - precondition = "", - condition = "distance_type==3&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201103 -> [ - Activation( - precondition = "", - condition = "distance_type==3&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201111 -> [ - Activation( - precondition = "", - condition = "distance_type==3&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201112 -> [ - Activation( - precondition = "", - condition = "distance_type==3&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201121 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase_random==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(150000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201122 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase_random==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(100000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201131 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase_random==1&order_rate>50", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201132 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase_random==1&order_rate>50", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(250.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201141 -> [ - Activation( - precondition = "", - condition = "distance_type==3&is_move_lane==1&accumulatetime>=10@distance_type==3&is_move_lane==2&accumulatetime>=10", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201142 -> [ - Activation( - precondition = "", - condition = "distance_type==3&is_move_lane==1&accumulatetime>=10@distance_type==3&is_move_lane==2&accumulatetime>=10", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201151 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase_random==2&order_rate>50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-2500.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 201152 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase_random==2&order_rate>50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-1500.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 201161 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase==1&blocked_front_continuetime>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-300.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 201162 -> [ - Activation( - precondition = "", - condition = "distance_type==3&phase==1&blocked_front_continuetime>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 201171 -> [ - Activation( - precondition = "", - condition = "distance_type==4&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201172 -> [ - Activation( - precondition = "", - condition = "distance_type==4&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201181 -> [ - Activation( - precondition = "", - condition = "distance_type==4&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201182 -> [ - Activation( - precondition = "", - condition = "distance_type==4&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201191 -> [ - Activation( - precondition = "", - condition = "distance_type==4&phase_random==1&bashin_diff_behind>=1&order==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201192 -> [ - Activation( - precondition = "", - condition = "distance_type==4&phase_random==1&bashin_diff_behind>=1&order==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201201 -> [ - Activation( - precondition = "", - condition = "distance_type==4&is_overtake==1&accumulatetime>=5", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201202 -> [ - Activation( - precondition = "", - condition = "distance_type==4&is_overtake==1&accumulatetime>=5", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201211 -> [ - Activation( - precondition = "", - condition = "distance_type==4&phase==2&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201212 -> [ - Activation( - precondition = "", - condition = "distance_type==4&phase==2&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201221 -> [ - Activation( - precondition = "", - condition = "distance_type==4&phase_random==1&order>=5", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Ahead(5) - ), - Ability( - ability-type = HP(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201222 -> [ - Activation( - precondition = "", - condition = "distance_type==4&phase_random==1&order>=5", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-50.decimal(-4)), - value-usage = Direct, - target = Ahead(5) - ), - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201231 -> [ - Activation( - precondition = "", - condition = "distance_type==4&phase_random==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(-100000.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 201232 -> [ - Activation( - precondition = "", - condition = "distance_type==4&phase_random==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(-50000.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 201241 -> [ - Activation( - precondition = "", - condition = "running_style==1&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201242 -> [ - Activation( - precondition = "", - condition = "running_style==1&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201251 -> [ - Activation( - precondition = "", - condition = "running_style==1&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201252 -> [ - Activation( - precondition = "", - condition = "running_style==1&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201261 -> [ - Activation( - precondition = "", - condition = "running_style==1&phase==0&blocked_front_continuetime>=1@running_style==1&phase==0&blocked_side_continuetime>=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Lane-Change(5000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201262 -> [ - Activation( - precondition = "", - condition = "running_style==1&phase==0&blocked_front_continuetime>=1@running_style==1&phase==0&blocked_side_continuetime>=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(250.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Lane-Change(5000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201272 -> [ - Activation( - precondition = "", - condition = "running_style==1&phase<=1&change_order_onetime>0&accumulatetime>=5@running_style==1&phase<=1&blocked_side_continuetime>=2&accumulatetime>=5", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201281 -> [ - Activation( - precondition = "", - condition = "running_style==1&slope==1&accumulatetime>=10", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201282 -> [ - Activation( - precondition = "", - condition = "running_style==1&slope==1&accumulatetime>=10", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201291 -> [ - Activation( - precondition = "", - condition = "running_style==1&phase_random==1&order>=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201292 -> [ - Activation( - precondition = "", - condition = "running_style==1&phase_random==1&order>=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201302 -> [ - Activation( - precondition = "", - condition = "running_style==1&phase_random==0&order>=2&accumulatetime>=5", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(-1000.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 201311 -> [ - Activation( - precondition = "", - condition = "running_style==2&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201312 -> [ - Activation( - precondition = "", - condition = "running_style==2&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201321 -> [ - Activation( - precondition = "", - condition = "running_style==2&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201322 -> [ - Activation( - precondition = "", - condition = "running_style==2&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201331 -> [ - Activation( - precondition = "", - condition = "running_style==2&is_move_lane==1@running_style==2&is_move_lane==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201332 -> [ - Activation( - precondition = "", - condition = "running_style==2&is_move_lane==1@running_style==2&is_move_lane==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201341 -> [ - Activation( - precondition = "", - condition = "running_style==2&down_slope_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201342 -> [ - Activation( - precondition = "", - condition = "running_style==2&down_slope_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201351 -> [ - Activation( - precondition = "", - condition = "running_style==2&phase_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201352 -> [ - Activation( - precondition = "", - condition = "running_style==2&phase_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201361 -> [ - Activation( - precondition = "", - condition = "running_style==2&phase_random==1&order_rate>40", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201362 -> [ - Activation( - precondition = "", - condition = "running_style==2&phase_random==1&order_rate>40", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201371 -> [ - Activation( - precondition = "", - condition = "running_style==2&phase_random==2&order_rate<=50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(-50000.decimal(-4)), - value-usage = Direct, - target = Behind(18) - ), - ] - ), - ] - 201372 -> [ - Activation( - precondition = "", - condition = "running_style==2&phase_random==2&order_rate<=50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(-30000.decimal(-4)), - value-usage = Direct, - target = Behind(18) - ), - ] - ), - ] - 201381 -> [ - Activation( - precondition = "", - condition = "running_style==3&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201382 -> [ - Activation( - precondition = "", - condition = "running_style==3&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201391 -> [ - Activation( - precondition = "", - condition = "running_style==3&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201392 -> [ - Activation( - precondition = "", - condition = "running_style==3&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201401 -> [ - Activation( - precondition = "", - condition = "running_style==3&is_overtake==1&accumulatetime>=5", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201402 -> [ - Activation( - precondition = "", - condition = "running_style==3&is_overtake==1&accumulatetime>=5", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201411 -> [ - Activation( - precondition = "", - condition = "running_style==3&up_slope_random==1", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201412 -> [ - Activation( - precondition = "", - condition = "running_style==3&up_slope_random==1", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201421 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_random==2", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201422 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_random==2", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201431 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(150000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201432 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(50000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201441 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_random==2&order_rate>50", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-300.decimal(-4)), - value-usage = Direct, - target = Sympathizers - ), - ] - ), - ] - 201442 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_random==2&order_rate>50", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Sympathizers - ), - ] - ), - ] - 201451 -> [ - Activation( - precondition = "", - condition = "running_style==4&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201452 -> [ - Activation( - precondition = "", - condition = "running_style==4&straight_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201461 -> [ - Activation( - precondition = "", - condition = "running_style==4&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201462 -> [ - Activation( - precondition = "", - condition = "running_style==4&all_corner_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201471 -> [ - Activation( - precondition = "", - condition = "running_style==4&is_move_lane==1@running_style==4&is_move_lane==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(100000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201472 -> [ - Activation( - precondition = "", - condition = "running_style==4&is_move_lane==1@running_style==4&is_move_lane==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(50000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201481 -> [ - Activation( - precondition = "", - condition = "running_style==4&slope==2&accumulatetime>=10", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201482 -> [ - Activation( - precondition = "", - condition = "running_style==4&slope==2&accumulatetime>=10", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201491 -> [ - Activation( - precondition = "", - condition = "running_style==4&blocked_front_continuetime>=1&accumulatetime>=10", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201492 -> [ - Activation( - precondition = "", - condition = "running_style==4&blocked_front_continuetime>=1&accumulatetime>=10", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201501 -> [ - Activation( - precondition = "", - condition = "running_style==4&phase_random==2&order_rate>50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(150000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201502 -> [ - Activation( - precondition = "", - condition = "running_style==4&phase_random==2&order_rate>50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Vision(50000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201511 -> [ - Activation( - precondition = "", - condition = "running_style==4&phase_random==2&order>=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-2500.decimal(-4)), - value-usage = Direct, - target = Sympathizers - ), - ] - ), - ] - 201512 -> [ - Activation( - precondition = "", - condition = "running_style==4&phase_random==2&order>=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-1500.decimal(-4)), - value-usage = Direct, - target = Sympathizers - ), - ] - ), - ] - 201521 -> [ - Activation( - precondition = "", - condition = "running_style==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Wit(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Vision(100000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201522 -> [ - Activation( - precondition = "", - condition = "running_style==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Wit(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Vision(50000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201531 -> [ - Activation( - precondition = "", - condition = "running_style==2", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Wit(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Vision(100000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201532 -> [ - Activation( - precondition = "", - condition = "running_style==2", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Wit(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Vision(50000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201541 -> [ - Activation( - precondition = "", - condition = "running_style==3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Wit(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Vision(100000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201542 -> [ - Activation( - precondition = "", - condition = "running_style==3", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Wit(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Vision(50000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201551 -> [ - Activation( - precondition = "", - condition = "running_style==4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Wit(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Vision(100000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201552 -> [ - Activation( - precondition = "", - condition = "running_style==4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Wit(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Vision(50000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201561 -> [ - Activation( - precondition = "", - condition = "random_lot==50&post_number==7", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Passive-Stamina(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Passive-Power(600000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201562 -> [ - Activation( - precondition = "", - condition = "random_lot==50&post_number==7", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Passive-Power(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201571 -> [ - Activation( - precondition = "", - condition = "remain_distance<=778&remain_distance>=776", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201581 -> [ - Activation( - precondition = "", - condition = "up_slope_random==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201591 -> [ - Activation( - precondition = "", - condition = "near_count>=3&accumulatetime>=5", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201592 -> [ - Activation( - precondition = "", - condition = "near_count>=3&accumulatetime>=5", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201601 -> [ - Activation( - precondition = "", - condition = "activate_count_start>=3", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201611 -> [ - Activation( - precondition = "", - condition = "activate_count_middle>=3", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201612 -> [ - Activation( - precondition = "", - condition = "activate_count_middle>=3", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201621 -> [ - Activation( - precondition = "", - condition = "activate_count_end_after>=3", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201631 -> [ - Activation( - precondition = "", - condition = "same_skill_horse_count>=5", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201641 -> [ - Activation( - precondition = "", - condition = "same_skill_horse_count==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201651 -> [ - Activation( - precondition = "", - condition = "infront_near_lane_time>=3&accumulatetime>=10", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201661 -> [ - Activation( - precondition = "", - condition = "behind_near_lane_time>=3&accumulatetime>=10", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 300000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201671 -> [ - Activation( - precondition = "", - condition = "ground_type==2&phase==1&blocked_side_continuetime>=2", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201672 -> [ - Activation( - precondition = "", - condition = "ground_type==2&phase==1&blocked_side_continuetime>=2", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201681 -> [ - Activation( - precondition = "", - condition = "ground_type==2&phase_random==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201682 -> [ - Activation( - precondition = "", - condition = "ground_type==2&phase_random==2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(250.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201691 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_laterhalf_random==0&order_rate>=50", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201692 -> [ - Activation( - precondition = "", - condition = "running_style==3&phase_laterhalf_random==0&order_rate>=50", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201701 -> [ - Activation( - precondition = "", - condition = "distance_type==3&is_lastspurt==1&corner==0&order_rate>=20&order_rate<=60", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201702 -> [ - Activation( - precondition = "", - condition = "distance_type==3&is_lastspurt==1&corner==0&order_rate>=20&order_rate<=60", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201801 -> [ - Activation( - precondition = "", - condition = "ground_condition==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 201902 -> [ - Activation( - precondition = "", - condition = "running_style==2&phase_random==2&order_rate<=50", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 202002 -> [ - Activation( - precondition = "", - condition = "ground_type==2&phase_random==1&order_rate>=50", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 202011 -> [ - Activation( - precondition = "", - condition = "distance_type==4&phase_laterhalf_random==1&order_rate<=50", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 202012 -> [ - Activation( - precondition = "", - condition = "distance_type==4&phase_laterhalf_random==1&order_rate<=50", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 202021 -> [ - Activation( - precondition = "", - condition = "running_style==4&phase_random==1&order_rate>=50", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 202022 -> [ - Activation( - precondition = "", - condition = "running_style==4&phase_random==1&order_rate>=50", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 202031 -> [ - Activation( - precondition = "", - condition = "distance_rate_after_random==50", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(4500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = HP(-10000.decimal(-4)), - value-usage = Multiply-Random, - target = Self - ), - ] - ), - ] - 202032 -> [ - Activation( - precondition = "", - condition = "distance_rate_after_random==50", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = HP(-10000.decimal(-4)), - value-usage = Multiply-Random, - target = Self - ), - ] - ), - ] - 202041 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_laterhalf_random==1&order_rate<=50", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 202042 -> [ - Activation( - precondition = "", - condition = "distance_type==1&phase_laterhalf_random==1&order_rate<=50", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 202051 -> [ - Activation( - precondition = "", - condition = "running_style==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Great-Escape, - value-usage = Direct, - target = Self - ), - ] - ), - ] - 210011 -> [ - Activation( - precondition = "", - condition = "phase_random==1", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Team-Speed, - target = Self - ), - ] - ), - ] - 210012 -> [ - Activation( - precondition = "", - condition = "phase_random==1", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Team-Speed, - target = Self - ), - ] - ), - ] - 210021 -> [ - Activation( - precondition = "", - condition = "phase_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Team-Stamina, - target = Self - ), - ] - ), - ] - 210022 -> [ - Activation( - precondition = "", - condition = "phase_random==1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Team-Stamina, - target = Self - ), - ] - ), - ] - 210031 -> [ - Activation( - precondition = "", - condition = "phase_random==2", - duration = 12000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(4000.decimal(-4)), - value-usage = Team-Power, - target = Self - ), - ] - ), - ] - 210032 -> [ - Activation( - precondition = "", - condition = "phase_random==2", - duration = 12000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Team-Power, - target = Self - ), - ] - ), - ] - 210041 -> [ - Activation( - precondition = "", - condition = "phase_random==2", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Team-Guts, - target = Self - ), - Ability( - ability-type = Accel(3000.decimal(-4)), - value-usage = Team-Guts, - target = Self - ), - ] - ), - ] - 210042 -> [ - Activation( - precondition = "", - condition = "phase_random==2", - duration = 18000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Team-Guts, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Team-Guts, - target = Self - ), - ] - ), - ] - 210051 -> [ - Activation( - precondition = "", - condition = "phase_random==0", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(350.decimal(-4)), - value-usage = Team-Wit, - target = Self - ), - Ability( - ability-type = Vision(150000.decimal(-4)), - value-usage = Team-Wit, - target = Self - ), - ] - ), - ] - 210052 -> [ - Activation( - precondition = "", - condition = "phase_random==0", - duration = 40000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Lane-Speed(150.decimal(-4)), - value-usage = Team-Wit, - target = Self - ), - Ability( - ability-type = Vision(50000.decimal(-4)), - value-usage = Team-Wit, - target = Self - ), - ] - ), - ] - 300011 -> [ - Activation( - precondition = "", - condition = "track_id==10008", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 300021 -> [ - Activation( - precondition = "", - condition = "season==4", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(800000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 300031 -> [ - Activation( - precondition = "", - condition = "always==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 300041 -> [ - Activation( - precondition = "", - condition = "always==1", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(-400000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 300051 -> [ - Activation( - precondition = "", - condition = "remain_distance>=800&remain_distance<=850", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Current-Speed(-3000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 300061 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0", - duration = 50000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(3500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 300071 -> [ - Activation( - precondition = "", - condition = "is_exist_chara_id==1002", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Speed(400000.decimal(-4)), - value-usage = Direct, - target = Specific-Character(Character-id(1002)) - ), - ] - ), - ] - 300081 -> [ - Activation( - precondition = "", - condition = "is_exist_chara_id==1002", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Stamina(400000.decimal(-4)), - value-usage = Direct, - target = Specific-Character(Character-id(1002)) - ), - ] - ), - ] - 300091 -> [ - Activation( - precondition = "", - condition = "is_exist_chara_id==1002", - duration = -1.decimal, - dur-scale = Direct-Dur, - cooldown = 0.decimal, - abilities = [ - Ability( - ability-type = Passive-Power(400000.decimal(-4)), - value-usage = Direct, - target = Specific-Character(Character-id(1002)) - ), - ] - ), - ] - 300101 -> [ - Activation( - precondition = "", - condition = "is_exist_chara_id==1002&remain_distance_viewer_id>=800&remain_distance_viewer_id<=850", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(550.decimal(-4)), - value-usage = Direct, - target = Specific-Character(Character-id(1002)) - ), - ] - ), - ] - 900011 -> [ - Activation( - precondition = "", - condition = "phase>=2&order>=1&order_rate<=50&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900021 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order==1&bashin_diff_behind>=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900031 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&order<=3&bashin_diff_infront<=1&is_overtake==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900041 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&order<=5&order_rate<=50", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900051 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&order_rate<=30&behind_near_lane_time_set1>=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900061 -> [ - Activation( - precondition = "", - condition = "order>=2&order<=5&order_rate<=50&remain_distance<=201&remain_distance>=199", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900071 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&distance_rate<=60&order_rate>50", - duration = 36000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900081 -> [ - Activation( - precondition = "", - condition = "order>=3&order_rate<=50&remain_distance<=200&bashin_diff_infront<=1@order>=3&order_rate<=50&remain_distance<=200&bashin_diff_behind<=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900091 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order==1&bashin_diff_behind<=1@distance_rate>=50&order==2&is_overtake==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900101 -> [ - Activation( - precondition = "", - condition = "is_finalcorner_laterhalf==1&corner!=0&order>=3&order_rate<=40", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900111 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&change_order_onetime<0&order>=3", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900121 -> [ - Activation( - precondition = "is_finalcorner==1&is_behind_in==1&change_order_onetime<0&order_rate>=40", - condition = "is_finalcorner==1&corner==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900131 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&distance_diff_rate<=30", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900141 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&hp_per>=30&order<=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900151 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&bashin_diff_behind<=1&order<=4@is_finalcorner==1&bashin_diff_infront<=1&order<=4", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900161 -> [ - Activation( - precondition = "phase==1&blocked_side_continuetime>=2", - condition = "is_finalcorner==1&order>=2&order_rate<=75&is_behind_in==1&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - Activation( - precondition = "", - condition = "is_finalcorner==1&order>=2&order_rate<=75&is_behind_in==1&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900171 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&change_order_up_end_after>=3&corner==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900181 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order>=3&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900191 -> [ - Activation( - precondition = "", - condition = "change_order_up_end_after>=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Lane-Speed(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900201 -> [ - Activation( - precondition = "", - condition = "phase>=2&corner!=0&order==1", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900211 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&corner==0&order_rate>=70&order_rate<=75&is_overtake==1@distance_rate>=50&corner==0&order_rate<=30&order_rate>=20", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900221 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order>=2&order_rate<=40&blocked_side_continuetime>=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900231 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&change_order_onetime<0&order<=4", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900241 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&blocked_side_continuetime>=2&order<=3", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900251 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order_rate>=40&order_rate<=70", - duration = 36000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Current-Speed(-250.decimal(-4)), - value-usage = Direct, - target = Ahead(5) - ), - ] - ), - ] - 900261 -> [ - Activation( - precondition = "", - condition = "is_badstart==0&temptation_count==0&order<=3&is_finalcorner==1&corner==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900271 -> [ - Activation( - precondition = "", - condition = "phase>=2&corner!=0&order_rate>=65&order_rate<=70", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900281 -> [ - Activation( - precondition = "", - condition = "distance_rate>=45&distance_rate<=60&order>=3&order_rate<=50&hp_per<=70", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900301 -> [ - Activation( - precondition = "is_finalcorner==1&order<=4&change_order_onetime<0", - condition = "is_finalcorner==1&corner==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900321 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&corner!=0&order>=3&order_rate<=40", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900331 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&distance_diff_top>=5&order_rate<80", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&distance_diff_top>=5&order_rate>=80", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900351 -> [ - Activation( - precondition = "is_finalcorner==1&blocked_side_continuetime>=2", - condition = "is_finalcorner==1&corner==0&order<=5", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900371 -> [ - Activation( - precondition = "", - condition = "is_badstart==0&temptation_count==0&order>=3&is_finalcorner==1&corner==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900381 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&distance_rate<=65&order>=2&order_rate<=40&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900391 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&blocked_side_continuetime>=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900401 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order_rate>=40&order_rate<=70&is_overtake==1", - duration = 36000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900411 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order<=3&blocked_side_continuetime>=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900451 -> [ - Activation( - precondition = "", - condition = "phase_random==1&order>=2&order_rate<=40", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900461 -> [ - Activation( - precondition = "", - condition = "phase==1&corner==0&order<=2&bashin_diff_behind<=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900481 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&order>=2&order_rate<=30&overtake_target_time>=2@is_finalcorner==1&corner==0&order_rate<=20&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900501 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&order_rate>=40&order_rate<=75&is_overtake==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900521 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order_rate>50&near_count>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900561 -> [ - Activation( - precondition = "", - condition = "phase>=2&order>=3&blocked_front==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900581 -> [ - Activation( - precondition = "", - condition = "phase>=2&corner!=0&order>=3&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900591 -> [ - Activation( - precondition = "", - condition = "phase>=2&corner!=0&is_finalcorner==0&temptation_count==0&order_rate>=50&order_rate<=70@phase==1&corner!=0&is_finalcorner==1&temptation_count==0&order_rate>=50&order_rate<=70", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900601 -> [ - Activation( - precondition = "", - condition = "phase>=2&order==3&bashin_diff_behind<=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900611 -> [ - Activation( - precondition = "", - condition = "temptation_count==0&remain_distance<=201&remain_distance>=199&order>=4&order_rate<=70", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900691 -> [ - Activation( - precondition = "", - condition = "remain_distance<=300&order_rate<=40&bashin_diff_infront<=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 900711 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&bashin_diff_behind<=1", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = HP(-100.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910011 -> [ - Activation( - precondition = "", - condition = "phase==1&order>=2&order_rate<=70&activate_count_middle>=2", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910031 -> [ - Activation( - precondition = "is_finalcorner==1&is_overtake==1&order<=5&order_rate<=50&overtake_target_no_order_up_time>=2", - condition = "is_finalcorner==1&corner==0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910041 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&activate_count_heal>=1&order<=3", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910061 -> [ - Activation( - precondition = "", - condition = "activate_count_heal>=3&distance_rate>=50", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = HP(50.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910111 -> [ - Activation( - precondition = "", - condition = "phase==1&change_order_onetime>0&order_rate>=40", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(350.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910131 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&hp_per<=45&order<=3&order_rate<=50&bashin_diff_behind<=1&overtake_target_time>=1", - duration = 36000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910141 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&is_overtake==1&order>=4&order_rate<=75", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910151 -> [ - Activation( - precondition = "", - condition = "remain_distance<=401&remain_distance>=399&order_rate<=40&activate_count_all>=7", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(2500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - Activation( - precondition = "", - condition = "remain_distance<=401&remain_distance>=399&order_rate<=40&activate_count_all<=6", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910171 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&order_rate<=40&overtake_target_time>=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910181 -> [ - Activation( - precondition = "", - condition = "phase==1&order>=3&order_rate<=50&is_overtake==1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910231 -> [ - Activation( - precondition = "", - condition = "order_rate_in40_continue==1&phase==1&distance_rate>=50&order>=2&order_rate<=40", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910241 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order_rate<=40&change_order_onetime<0", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order_rate>=50&order_rate<=80&change_order_onetime<0", - duration = 24000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Accel(2000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910261 -> [ - Activation( - precondition = "", - condition = "order<=4&phase==1&corner!=0&bashin_diff_behind<=3", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = HP(35.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910301 -> [ - Activation( - precondition = "", - condition = "phase==1&order>=2&order_rate<=50&overtake_target_time>=1", - duration = 0.decimal, - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = HP(150.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = HP(-25.decimal(-4)), - value-usage = Direct, - target = Ahead(18) - ), - ] - ), - ] - 910371 -> [ - Activation( - precondition = "", - condition = "change_order_up_finalcorner_after>=3&is_finalcorner==1&corner==0", - duration = 36000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910401 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&order_rate>=30&order_rate<=70&blocked_side_continuetime>=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910451 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner==0&order<=4&bashin_diff_infront<=1", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - Ability( - ability-type = Accel(1000.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910521 -> [ - Activation( - precondition = "", - condition = "is_finalcorner==1&corner!=0&distance_diff_top>=7", - duration = 30000.decimal(-4), - dur-scale = Front-Distance-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 910561 -> [ - Activation( - precondition = "", - condition = "distance_rate>=50&order_rate>=40&overtake_target_time>=2", - duration = 30000.decimal(-4), - dur-scale = Direct-Dur, - cooldown = 5000000.decimal(-4), - abilities = [ - Ability( - ability-type = Target-Speed(1500.decimal(-4)), - value-usage = Direct, - target = Self - ), - ] - ), - ] - 1000011 -> [ - ] - _ -> Nil - -// Get the owner of a unique skill. -// If the skill is not unique, or if there is no skill with the given ID, -// the result is Nothing. -pub fun unique-owner(s: skill-id): maybe - match s.game-id - 10071 -> Just(Uma-id(100701)) - 10081 -> Just(Uma-id(100801)) - 10091 -> Just(Uma-id(100901)) - 10111 -> Just(Uma-id(101101)) - 10141 -> Just(Uma-id(101401)) - 10181 -> Just(Uma-id(101801)) - 10241 -> Just(Uma-id(102401)) - 10271 -> Just(Uma-id(102701)) - 10321 -> Just(Uma-id(103201)) - 10351 -> Just(Uma-id(103501)) - 10411 -> Just(Uma-id(104101)) - 10451 -> Just(Uma-id(104501)) - 10521 -> Just(Uma-id(105201)) - 10561 -> Just(Uma-id(105601)) - 10601 -> Just(Uma-id(106001)) - 10611 -> Just(Uma-id(106101)) - 100011 -> Just(Uma-id(100101)) - 100021 -> Just(Uma-id(100201)) - 100031 -> Just(Uma-id(100301)) - 100041 -> Just(Uma-id(100401)) - 100051 -> Just(Uma-id(100501)) - 100061 -> Just(Uma-id(100601)) - 100071 -> Just(Uma-id(100701)) - 100081 -> Just(Uma-id(100801)) - 100091 -> Just(Uma-id(100901)) - 100101 -> Just(Uma-id(101001)) - 100111 -> Just(Uma-id(101101)) - 100121 -> Just(Uma-id(101201)) - 100131 -> Just(Uma-id(101301)) - 100141 -> Just(Uma-id(101401)) - 100151 -> Just(Uma-id(101501)) - 100161 -> Just(Uma-id(101601)) - 100171 -> Just(Uma-id(101701)) - 100181 -> Just(Uma-id(101801)) - 100191 -> Just(Uma-id(101901)) - 100201 -> Just(Uma-id(102001)) - 100211 -> Just(Uma-id(102101)) - 100221 -> Just(Uma-id(102201)) - 100231 -> Just(Uma-id(102301)) - 100241 -> Just(Uma-id(102401)) - 100251 -> Just(Uma-id(102501)) - 100261 -> Just(Uma-id(102601)) - 100271 -> Just(Uma-id(102701)) - 100281 -> Just(Uma-id(102801)) - 100301 -> Just(Uma-id(103001)) - 100321 -> Just(Uma-id(103201)) - 100331 -> Just(Uma-id(103301)) - 100351 -> Just(Uma-id(103501)) - 100371 -> Just(Uma-id(103701)) - 100381 -> Just(Uma-id(103801)) - 100391 -> Just(Uma-id(103901)) - 100401 -> Just(Uma-id(104001)) - 100411 -> Just(Uma-id(104101)) - 100451 -> Just(Uma-id(104501)) - 100461 -> Just(Uma-id(104601)) - 100481 -> Just(Uma-id(104801)) - 100501 -> Just(Uma-id(105001)) - 100521 -> Just(Uma-id(105201)) - 100561 -> Just(Uma-id(105601)) - 100581 -> Just(Uma-id(105801)) - 100591 -> Just(Uma-id(105901)) - 100601 -> Just(Uma-id(106001)) - 100611 -> Just(Uma-id(106101)) - 100691 -> Just(Uma-id(106901)) - 100711 -> Just(Uma-id(107101)) - 110011 -> Just(Uma-id(100102)) - 110031 -> Just(Uma-id(100302)) - 110041 -> Just(Uma-id(100402)) - 110061 -> Just(Uma-id(100602)) - 110111 -> Just(Uma-id(101102)) - 110131 -> Just(Uma-id(101302)) - 110141 -> Just(Uma-id(101402)) - 110151 -> Just(Uma-id(101502)) - 110171 -> Just(Uma-id(101702)) - 110181 -> Just(Uma-id(101802)) - 110231 -> Just(Uma-id(102302)) - 110241 -> Just(Uma-id(102402)) - 110261 -> Just(Uma-id(102602)) - 110301 -> Just(Uma-id(103002)) - 110371 -> Just(Uma-id(103702)) - 110401 -> Just(Uma-id(104002)) - 110451 -> Just(Uma-id(104502)) - 110521 -> Just(Uma-id(105202)) - 110561 -> Just(Uma-id(105602)) - 900011 -> Just(Uma-id(100101)) - 900021 -> Just(Uma-id(100201)) - 900031 -> Just(Uma-id(100301)) - 900041 -> Just(Uma-id(100401)) - 900051 -> Just(Uma-id(100501)) - 900061 -> Just(Uma-id(100601)) - 900071 -> Just(Uma-id(100701)) - 900081 -> Just(Uma-id(100801)) - 900091 -> Just(Uma-id(100901)) - 900101 -> Just(Uma-id(101001)) - 900111 -> Just(Uma-id(101101)) - 900121 -> Just(Uma-id(101201)) - 900131 -> Just(Uma-id(101301)) - 900141 -> Just(Uma-id(101401)) - 900151 -> Just(Uma-id(101501)) - 900161 -> Just(Uma-id(101601)) - 900171 -> Just(Uma-id(101701)) - 900181 -> Just(Uma-id(101801)) - 900191 -> Just(Uma-id(101901)) - 900201 -> Just(Uma-id(102001)) - 900211 -> Just(Uma-id(102101)) - 900221 -> Just(Uma-id(102201)) - 900231 -> Just(Uma-id(102301)) - 900241 -> Just(Uma-id(102401)) - 900251 -> Just(Uma-id(102501)) - 900261 -> Just(Uma-id(102601)) - 900271 -> Just(Uma-id(102701)) - 900281 -> Just(Uma-id(102801)) - 900301 -> Just(Uma-id(103001)) - 900321 -> Just(Uma-id(103201)) - 900331 -> Just(Uma-id(103301)) - 900351 -> Just(Uma-id(103501)) - 900371 -> Just(Uma-id(103701)) - 900381 -> Just(Uma-id(103801)) - 900391 -> Just(Uma-id(103901)) - 900401 -> Just(Uma-id(104001)) - 900411 -> Just(Uma-id(104101)) - 900451 -> Just(Uma-id(104501)) - 900461 -> Just(Uma-id(104601)) - 900481 -> Just(Uma-id(104801)) - 900501 -> Just(Uma-id(105001)) - 900521 -> Just(Uma-id(105201)) - 900561 -> Just(Uma-id(105601)) - 900581 -> Just(Uma-id(105801)) - 900591 -> Just(Uma-id(105901)) - 900601 -> Just(Uma-id(106001)) - 900611 -> Just(Uma-id(106101)) - 900691 -> Just(Uma-id(106901)) - 900711 -> Just(Uma-id(107101)) - 910011 -> Just(Uma-id(100102)) - 910031 -> Just(Uma-id(100302)) - 910041 -> Just(Uma-id(100402)) - 910061 -> Just(Uma-id(100602)) - 910111 -> Just(Uma-id(101102)) - 910131 -> Just(Uma-id(101302)) - 910141 -> Just(Uma-id(101402)) - 910151 -> Just(Uma-id(101502)) - 910171 -> Just(Uma-id(101702)) - 910181 -> Just(Uma-id(101802)) - 910231 -> Just(Uma-id(102302)) - 910241 -> Just(Uma-id(102402)) - 910261 -> Just(Uma-id(102602)) - 910301 -> Just(Uma-id(103002)) - 910371 -> Just(Uma-id(103702)) - 910401 -> Just(Uma-id(104002)) - 910451 -> Just(Uma-id(104502)) - 910521 -> Just(Uma-id(105202)) - 910561 -> Just(Uma-id(105602)) - _ -> Nothing - -// Get the SP cost of a skill. -// If there is no skill with the given ID, the result is 0. -pub fun sp-cost(s: skill-id): int - match s.game-id - 10071 -> 0 - 10081 -> 0 - 10091 -> 0 - 10111 -> 0 - 10141 -> 0 - 10181 -> 0 - 10241 -> 0 - 10271 -> 0 - 10321 -> 0 - 10351 -> 0 - 10411 -> 0 - 10451 -> 0 - 10521 -> 0 - 10561 -> 0 - 10601 -> 0 - 10611 -> 0 - 100011 -> 0 - 100021 -> 0 - 100031 -> 0 - 100041 -> 0 - 100051 -> 0 - 100061 -> 0 - 100071 -> 0 - 100081 -> 0 - 100091 -> 0 - 100101 -> 0 - 100111 -> 0 - 100121 -> 0 - 100131 -> 0 - 100141 -> 0 - 100151 -> 0 - 100161 -> 0 - 100171 -> 0 - 100181 -> 0 - 100191 -> 0 - 100201 -> 0 - 100211 -> 0 - 100221 -> 0 - 100231 -> 0 - 100241 -> 0 - 100251 -> 0 - 100261 -> 0 - 100271 -> 0 - 100281 -> 0 - 100301 -> 0 - 100321 -> 0 - 100331 -> 0 - 100351 -> 0 - 100371 -> 0 - 100381 -> 0 - 100391 -> 0 - 100401 -> 0 - 100411 -> 0 - 100451 -> 0 - 100461 -> 0 - 100481 -> 0 - 100501 -> 0 - 100521 -> 0 - 100561 -> 0 - 100581 -> 0 - 100591 -> 0 - 100601 -> 0 - 100611 -> 0 - 100691 -> 0 - 100711 -> 0 - 110011 -> 0 - 110031 -> 0 - 110041 -> 0 - 110061 -> 0 - 110111 -> 0 - 110131 -> 0 - 110141 -> 0 - 110151 -> 0 - 110171 -> 0 - 110181 -> 0 - 110231 -> 0 - 110241 -> 0 - 110261 -> 0 - 110301 -> 0 - 110371 -> 0 - 110401 -> 0 - 110451 -> 0 - 110521 -> 0 - 110561 -> 0 - 200011 -> 110 - 200012 -> 90 - 200013 -> 50 - 200021 -> 110 - 200022 -> 90 - 200023 -> 50 - 200031 -> 110 - 200032 -> 90 - 200033 -> 50 - 200041 -> 110 - 200042 -> 90 - 200043 -> 50 - 200051 -> 110 - 200052 -> 90 - 200053 -> 50 - 200061 -> 110 - 200062 -> 90 - 200063 -> 50 - 200064 -> 130 - 200071 -> 110 - 200072 -> 90 - 200073 -> 50 - 200081 -> 90 - 200082 -> 70 - 200083 -> 40 - 200091 -> 90 - 200092 -> 70 - 200093 -> 40 - 200101 -> 90 - 200102 -> 70 - 200103 -> 40 - 200111 -> 90 - 200112 -> 70 - 200113 -> 40 - 200121 -> 90 - 200122 -> 70 - 200123 -> 40 - 200131 -> 110 - 200132 -> 90 - 200133 -> 50 - 200141 -> 110 - 200142 -> 90 - 200143 -> 50 - 200151 -> 110 - 200152 -> 90 - 200153 -> 50 - 200161 -> 110 - 200162 -> 90 - 200163 -> 50 - 200171 -> 110 - 200172 -> 90 - 200173 -> 50 - 200174 -> 130 - 200181 -> 110 - 200182 -> 90 - 200183 -> 50 - 200191 -> 110 - 200192 -> 90 - 200193 -> 50 - 200194 -> 130 - 200201 -> 110 - 200202 -> 90 - 200203 -> 50 - 200211 -> 110 - 200212 -> 90 - 200221 -> 110 - 200222 -> 90 - 200231 -> 110 - 200232 -> 90 - 200233 -> 50 - 200241 -> 110 - 200242 -> 90 - 200251 -> 110 - 200252 -> 90 - 200253 -> 50 - 200261 -> 110 - 200262 -> 90 - 200263 -> 50 - 200271 -> 110 - 200272 -> 90 - 200281 -> 110 - 200282 -> 90 - 200283 -> 50 - 200291 -> 110 - 200292 -> 90 - 200301 -> 110 - 200302 -> 90 - 200311 -> 50 - 200321 -> 50 - 200331 -> 180 - 200332 -> 180 - 200333 -> 100 - 200341 -> 180 - 200342 -> 180 - 200343 -> 100 - 200351 -> 170 - 200352 -> 170 - 200353 -> 100 - 200361 -> 170 - 200362 -> 170 - 200371 -> 170 - 200372 -> 170 - 200381 -> 170 - 200382 -> 170 - 200391 -> 100 - 200401 -> 100 - 200411 -> 100 - 200421 -> 100 - 200431 -> 140 - 200432 -> 140 - 200433 -> 70 - 200441 -> 160 - 200442 -> 160 - 200451 -> 120 - 200452 -> 120 - 200461 -> 170 - 200462 -> 170 - 200471 -> 170 - 200472 -> 170 - 200481 -> 170 - 200482 -> 170 - 200491 -> 150 - 200492 -> 150 - 200501 -> 120 - 200502 -> 120 - 200511 -> 170 - 200512 -> 170 - 200521 -> 100 - 200531 -> 120 - 200532 -> 120 - 200541 -> 180 - 200542 -> 180 - 200551 -> 180 - 200552 -> 180 - 200561 -> 180 - 200562 -> 180 - 200571 -> 180 - 200572 -> 180 - 200581 -> 180 - 200582 -> 180 - 200591 -> 180 - 200592 -> 180 - 200601 -> 180 - 200602 -> 180 - 200611 -> 180 - 200612 -> 180 - 200621 -> 180 - 200622 -> 180 - 200631 -> 180 - 200632 -> 180 - 200641 -> 180 - 200642 -> 180 - 200651 -> 160 - 200652 -> 160 - 200662 -> 160 - 200671 -> 160 - 200672 -> 160 - 200681 -> 160 - 200682 -> 160 - 200691 -> 160 - 200692 -> 160 - 200701 -> 160 - 200702 -> 160 - 200711 -> 160 - 200712 -> 160 - 200721 -> 160 - 200722 -> 160 - 200731 -> 160 - 200732 -> 160 - 200741 -> 160 - 200742 -> 160 - 200751 -> 160 - 200752 -> 160 - 200761 -> 160 - 200762 -> 160 - 200771 -> 140 - 200772 -> 140 - 200781 -> 140 - 200791 -> 130 - 200801 -> 130 - 200811 -> 130 - 200821 -> 130 - 200831 -> 130 - 200841 -> 130 - 200851 -> 130 - 200861 -> 130 - 200871 -> 130 - 200881 -> 130 - 200891 -> 130 - 200901 -> 130 - 200911 -> 130 - 200921 -> 130 - 200931 -> 130 - 200941 -> 130 - 200951 -> 110 - 200952 -> 90 - 200953 -> 50 - 200961 -> 110 - 200962 -> 100 - 200971 -> 110 - 200972 -> 100 - 200981 -> 170 - 200982 -> 170 - 200991 -> 160 - 200992 -> 160 - 201001 -> 140 - 201002 -> 140 - 201011 -> 170 - 201012 -> 170 - 201021 -> 170 - 201022 -> 170 - 201031 -> 110 - 201032 -> 100 - 201041 -> 110 - 201042 -> 100 - 201051 -> 160 - 201052 -> 160 - 201061 -> 160 - 201062 -> 160 - 201071 -> 120 - 201072 -> 120 - 201081 -> 160 - 201082 -> 160 - 201091 -> 160 - 201092 -> 160 - 201101 -> 110 - 201102 -> 100 - 201103 -> 150 - 201111 -> 110 - 201112 -> 100 - 201121 -> 110 - 201122 -> 110 - 201131 -> 140 - 201132 -> 140 - 201141 -> 160 - 201142 -> 160 - 201151 -> 160 - 201152 -> 160 - 201161 -> 160 - 201162 -> 160 - 201171 -> 110 - 201172 -> 100 - 201181 -> 110 - 201182 -> 100 - 201191 -> 160 - 201192 -> 160 - 201201 -> 160 - 201202 -> 160 - 201211 -> 160 - 201212 -> 160 - 201221 -> 160 - 201222 -> 160 - 201231 -> 110 - 201232 -> 110 - 201241 -> 140 - 201242 -> 130 - 201251 -> 140 - 201252 -> 130 - 201261 -> 110 - 201262 -> 110 - 201272 -> 180 - 201281 -> 180 - 201282 -> 180 - 201291 -> 180 - 201292 -> 180 - 201302 -> 130 - 201311 -> 140 - 201312 -> 130 - 201321 -> 140 - 201322 -> 130 - 201331 -> 120 - 201332 -> 120 - 201341 -> 120 - 201342 -> 120 - 201351 -> 180 - 201352 -> 180 - 201361 -> 120 - 201362 -> 120 - 201371 -> 110 - 201372 -> 110 - 201381 -> 140 - 201382 -> 130 - 201391 -> 140 - 201392 -> 130 - 201401 -> 120 - 201402 -> 120 - 201411 -> 120 - 201412 -> 120 - 201421 -> 180 - 201422 -> 180 - 201431 -> 120 - 201432 -> 120 - 201441 -> 180 - 201442 -> 180 - 201451 -> 140 - 201452 -> 130 - 201461 -> 140 - 201462 -> 130 - 201471 -> 110 - 201472 -> 110 - 201481 -> 170 - 201482 -> 170 - 201491 -> 180 - 201492 -> 180 - 201501 -> 110 - 201502 -> 110 - 201511 -> 180 - 201512 -> 180 - 201521 -> 130 - 201522 -> 110 - 201531 -> 130 - 201532 -> 110 - 201541 -> 130 - 201542 -> 110 - 201551 -> 130 - 201552 -> 110 - 201561 -> 110 - 201562 -> 110 - 201571 -> 160 - 201581 -> 160 - 201591 -> 160 - 201592 -> 160 - 201601 -> 100 - 201611 -> 100 - 201612 -> 180 - 201621 -> 100 - 201631 -> 70 - 201641 -> 70 - 201651 -> 160 - 201661 -> 160 - 201671 -> 180 - 201672 -> 180 - 201681 -> 140 - 201682 -> 140 - 201691 -> 180 - 201692 -> 180 - 201701 -> 160 - 201702 -> 160 - 201801 -> 50 - 201902 -> 180 - 202002 -> 180 - 202011 -> 160 - 202012 -> 160 - 202021 -> 180 - 202022 -> 180 - 202031 -> 120 - 202032 -> 120 - 202041 -> 160 - 202042 -> 160 - 202051 -> 200 - 210011 -> 200 - 210012 -> 200 - 210021 -> 200 - 210022 -> 200 - 210031 -> 200 - 210032 -> 200 - 210041 -> 200 - 210042 -> 200 - 210051 -> 200 - 210052 -> 200 - 300011 -> 0 - 300021 -> 0 - 300031 -> 0 - 300041 -> 0 - 300051 -> 0 - 300061 -> 0 - 300071 -> 0 - 300081 -> 0 - 300091 -> 0 - 300101 -> 0 - 900011 -> 200 - 900021 -> 200 - 900031 -> 200 - 900041 -> 200 - 900051 -> 200 - 900061 -> 200 - 900071 -> 200 - 900081 -> 200 - 900091 -> 200 - 900101 -> 200 - 900111 -> 200 - 900121 -> 200 - 900131 -> 200 - 900141 -> 200 - 900151 -> 200 - 900161 -> 200 - 900171 -> 200 - 900181 -> 200 - 900191 -> 200 - 900201 -> 200 - 900211 -> 200 - 900221 -> 200 - 900231 -> 200 - 900241 -> 200 - 900251 -> 200 - 900261 -> 200 - 900271 -> 200 - 900281 -> 200 - 900301 -> 200 - 900321 -> 200 - 900331 -> 200 - 900351 -> 200 - 900371 -> 200 - 900381 -> 200 - 900391 -> 200 - 900401 -> 200 - 900411 -> 200 - 900451 -> 200 - 900461 -> 200 - 900481 -> 200 - 900501 -> 200 - 900521 -> 200 - 900561 -> 200 - 900581 -> 200 - 900591 -> 200 - 900601 -> 200 - 900611 -> 200 - 900691 -> 200 - 900711 -> 200 - 910011 -> 200 - 910031 -> 200 - 910041 -> 200 - 910061 -> 200 - 910111 -> 200 - 910131 -> 200 - 910141 -> 200 - 910151 -> 200 - 910171 -> 200 - 910181 -> 200 - 910231 -> 200 - 910241 -> 200 - 910261 -> 200 - 910301 -> 200 - 910371 -> 200 - 910401 -> 200 - 910451 -> 200 - 910521 -> 200 - 910561 -> 200 - 1000011 -> 0 - _ -> 0 - -// Get the icon ID of a skill. -// If there is no skill with the given ID, the result is an invalid ID. -pub fun icon-id(s: skill-id): skill-icon-id - match s.game-id - 10071 -> Skill-icon-id(20013) - 10081 -> Skill-icon-id(20013) - 10091 -> Skill-icon-id(20013) - 10111 -> Skill-icon-id(20013) - 10141 -> Skill-icon-id(20013) - 10181 -> Skill-icon-id(20013) - 10241 -> Skill-icon-id(20013) - 10271 -> Skill-icon-id(20043) - 10321 -> Skill-icon-id(20023) - 10351 -> Skill-icon-id(20013) - 10411 -> Skill-icon-id(20013) - 10451 -> Skill-icon-id(20023) - 10521 -> Skill-icon-id(20023) - 10561 -> Skill-icon-id(20013) - 10601 -> Skill-icon-id(20013) - 10611 -> Skill-icon-id(20013) - 100011 -> Skill-icon-id(20013) - 100021 -> Skill-icon-id(20013) - 100031 -> Skill-icon-id(20013) - 100041 -> Skill-icon-id(20043) - 100051 -> Skill-icon-id(20013) - 100061 -> Skill-icon-id(20013) - 100071 -> Skill-icon-id(20013) - 100081 -> Skill-icon-id(20013) - 100091 -> Skill-icon-id(20013) - 100101 -> Skill-icon-id(20043) - 100111 -> Skill-icon-id(20013) - 100121 -> Skill-icon-id(20013) - 100131 -> Skill-icon-id(20013) - 100141 -> Skill-icon-id(20013) - 100151 -> Skill-icon-id(20013) - 100161 -> Skill-icon-id(20013) - 100171 -> Skill-icon-id(20013) - 100181 -> Skill-icon-id(20013) - 100191 -> Skill-icon-id(20013) - 100201 -> Skill-icon-id(20043) - 100211 -> Skill-icon-id(20013) - 100221 -> Skill-icon-id(20013) - 100231 -> Skill-icon-id(20013) - 100241 -> Skill-icon-id(20013) - 100251 -> Skill-icon-id(20013) - 100261 -> Skill-icon-id(20013) - 100271 -> Skill-icon-id(20043) - 100281 -> Skill-icon-id(20013) - 100301 -> Skill-icon-id(20013) - 100321 -> Skill-icon-id(20023) - 100331 -> Skill-icon-id(20013) - 100351 -> Skill-icon-id(20013) - 100371 -> Skill-icon-id(20013) - 100381 -> Skill-icon-id(20013) - 100391 -> Skill-icon-id(20013) - 100401 -> Skill-icon-id(20043) - 100411 -> Skill-icon-id(20013) - 100451 -> Skill-icon-id(20023) - 100461 -> Skill-icon-id(20013) - 100481 -> Skill-icon-id(20013) - 100501 -> Skill-icon-id(20013) - 100521 -> Skill-icon-id(20023) - 100561 -> Skill-icon-id(20013) - 100581 -> Skill-icon-id(20013) - 100591 -> Skill-icon-id(20043) - 100601 -> Skill-icon-id(20013) - 100611 -> Skill-icon-id(20013) - 100691 -> Skill-icon-id(20013) - 100711 -> Skill-icon-id(20013) - 110011 -> Skill-icon-id(20023) - 110031 -> Skill-icon-id(20013) - 110041 -> Skill-icon-id(20013) - 110061 -> Skill-icon-id(20013) - 110111 -> Skill-icon-id(20023) - 110131 -> Skill-icon-id(20013) - 110141 -> Skill-icon-id(20043) - 110151 -> Skill-icon-id(20013) - 110171 -> Skill-icon-id(20013) - 110181 -> Skill-icon-id(20013) - 110231 -> Skill-icon-id(20013) - 110241 -> Skill-icon-id(20013) - 110261 -> Skill-icon-id(20013) - 110301 -> Skill-icon-id(20023) - 110371 -> Skill-icon-id(20013) - 110401 -> Skill-icon-id(20013) - 110451 -> Skill-icon-id(20013) - 110521 -> Skill-icon-id(20013) - 110561 -> Skill-icon-id(20013) - 200011 -> Skill-icon-id(10011) - 200012 -> Skill-icon-id(10011) - 200013 -> Skill-icon-id(10014) - 200021 -> Skill-icon-id(10011) - 200022 -> Skill-icon-id(10011) - 200023 -> Skill-icon-id(10014) - 200031 -> Skill-icon-id(10021) - 200032 -> Skill-icon-id(10021) - 200033 -> Skill-icon-id(10024) - 200041 -> Skill-icon-id(10021) - 200042 -> Skill-icon-id(10021) - 200043 -> Skill-icon-id(10024) - 200051 -> Skill-icon-id(10021) - 200052 -> Skill-icon-id(10021) - 200053 -> Skill-icon-id(10024) - 200061 -> Skill-icon-id(10021) - 200062 -> Skill-icon-id(10021) - 200063 -> Skill-icon-id(10024) - 200064 -> Skill-icon-id(10022) - 200071 -> Skill-icon-id(10021) - 200072 -> Skill-icon-id(10021) - 200073 -> Skill-icon-id(10024) - 200081 -> Skill-icon-id(10021) - 200082 -> Skill-icon-id(10021) - 200083 -> Skill-icon-id(10024) - 200091 -> Skill-icon-id(10021) - 200092 -> Skill-icon-id(10021) - 200093 -> Skill-icon-id(10024) - 200101 -> Skill-icon-id(10021) - 200102 -> Skill-icon-id(10021) - 200103 -> Skill-icon-id(10024) - 200111 -> Skill-icon-id(10021) - 200112 -> Skill-icon-id(10021) - 200113 -> Skill-icon-id(10024) - 200121 -> Skill-icon-id(10021) - 200122 -> Skill-icon-id(10021) - 200123 -> Skill-icon-id(10024) - 200131 -> Skill-icon-id(10021) - 200132 -> Skill-icon-id(10021) - 200133 -> Skill-icon-id(10024) - 200141 -> Skill-icon-id(10021) - 200142 -> Skill-icon-id(10021) - 200143 -> Skill-icon-id(10024) - 200151 -> Skill-icon-id(10031) - 200152 -> Skill-icon-id(10031) - 200153 -> Skill-icon-id(10034) - 200161 -> Skill-icon-id(10031) - 200162 -> Skill-icon-id(10031) - 200163 -> Skill-icon-id(10034) - 200171 -> Skill-icon-id(10011) - 200172 -> Skill-icon-id(10011) - 200173 -> Skill-icon-id(10014) - 200174 -> Skill-icon-id(10012) - 200181 -> Skill-icon-id(10011) - 200182 -> Skill-icon-id(10011) - 200183 -> Skill-icon-id(10014) - 200191 -> Skill-icon-id(10011) - 200192 -> Skill-icon-id(10011) - 200193 -> Skill-icon-id(10014) - 200194 -> Skill-icon-id(10012) - 200201 -> Skill-icon-id(10011) - 200202 -> Skill-icon-id(10011) - 200203 -> Skill-icon-id(10014) - 200211 -> Skill-icon-id(10041) - 200212 -> Skill-icon-id(10041) - 200221 -> Skill-icon-id(10041) - 200222 -> Skill-icon-id(10041) - 200231 -> Skill-icon-id(10041) - 200232 -> Skill-icon-id(10041) - 200233 -> Skill-icon-id(10044) - 200241 -> Skill-icon-id(10041) - 200242 -> Skill-icon-id(10041) - 200251 -> Skill-icon-id(10051) - 200252 -> Skill-icon-id(10051) - 200253 -> Skill-icon-id(10054) - 200261 -> Skill-icon-id(10011) - 200262 -> Skill-icon-id(10011) - 200263 -> Skill-icon-id(10014) - 200271 -> Skill-icon-id(10011) - 200272 -> Skill-icon-id(10011) - 200281 -> Skill-icon-id(10031) - 200282 -> Skill-icon-id(10031) - 200283 -> Skill-icon-id(10034) - 200291 -> Skill-icon-id(10041) - 200292 -> Skill-icon-id(10041) - 200301 -> Skill-icon-id(10011) - 200302 -> Skill-icon-id(10011) - 200311 -> Skill-icon-id(10014) - 200321 -> Skill-icon-id(10024) - 200331 -> Skill-icon-id(20012) - 200332 -> Skill-icon-id(20011) - 200333 -> Skill-icon-id(20014) - 200341 -> Skill-icon-id(20042) - 200342 -> Skill-icon-id(20041) - 200343 -> Skill-icon-id(20044) - 200351 -> Skill-icon-id(20022) - 200352 -> Skill-icon-id(20021) - 200353 -> Skill-icon-id(20024) - 200361 -> Skill-icon-id(20012) - 200362 -> Skill-icon-id(20011) - 200371 -> Skill-icon-id(20042) - 200372 -> Skill-icon-id(20041) - 200381 -> Skill-icon-id(20022) - 200382 -> Skill-icon-id(20021) - 200391 -> Skill-icon-id(20024) - 200401 -> Skill-icon-id(20024) - 200411 -> Skill-icon-id(20014) - 200421 -> Skill-icon-id(20014) - 200431 -> Skill-icon-id(20062) - 200432 -> Skill-icon-id(20061) - 200433 -> Skill-icon-id(20064) - 200441 -> Skill-icon-id(20022) - 200442 -> Skill-icon-id(20021) - 200451 -> Skill-icon-id(20052) - 200452 -> Skill-icon-id(20051) - 200461 -> Skill-icon-id(20012) - 200462 -> Skill-icon-id(20011) - 200471 -> Skill-icon-id(20022) - 200472 -> Skill-icon-id(20021) - 200481 -> Skill-icon-id(20022) - 200482 -> Skill-icon-id(20021) - 200491 -> Skill-icon-id(20042) - 200492 -> Skill-icon-id(20041) - 200501 -> Skill-icon-id(20052) - 200502 -> Skill-icon-id(20051) - 200511 -> Skill-icon-id(20012) - 200512 -> Skill-icon-id(20011) - 200521 -> Skill-icon-id(20024) - 200531 -> Skill-icon-id(20042) - 200532 -> Skill-icon-id(20041) - 200541 -> Skill-icon-id(20012) - 200542 -> Skill-icon-id(20011) - 200551 -> Skill-icon-id(20042) - 200552 -> Skill-icon-id(20041) - 200561 -> Skill-icon-id(20022) - 200562 -> Skill-icon-id(20021) - 200571 -> Skill-icon-id(20022) - 200572 -> Skill-icon-id(20021) - 200581 -> Skill-icon-id(20012) - 200582 -> Skill-icon-id(20011) - 200591 -> Skill-icon-id(20012) - 200592 -> Skill-icon-id(20011) - 200601 -> Skill-icon-id(20042) - 200602 -> Skill-icon-id(20041) - 200611 -> Skill-icon-id(20012) - 200612 -> Skill-icon-id(20011) - 200621 -> Skill-icon-id(20022) - 200622 -> Skill-icon-id(20021) - 200631 -> Skill-icon-id(20012) - 200632 -> Skill-icon-id(20011) - 200641 -> Skill-icon-id(20042) - 200642 -> Skill-icon-id(20041) - 200651 -> Skill-icon-id(20042) - 200652 -> Skill-icon-id(20041) - 200662 -> Skill-icon-id(20021) - 200671 -> Skill-icon-id(20012) - 200672 -> Skill-icon-id(20011) - 200681 -> Skill-icon-id(20012) - 200682 -> Skill-icon-id(20011) - 200691 -> Skill-icon-id(20022) - 200692 -> Skill-icon-id(20021) - 200701 -> Skill-icon-id(20042) - 200702 -> Skill-icon-id(20041) - 200711 -> Skill-icon-id(20022) - 200712 -> Skill-icon-id(20021) - 200721 -> Skill-icon-id(20012) - 200722 -> Skill-icon-id(20011) - 200731 -> Skill-icon-id(20012) - 200732 -> Skill-icon-id(20011) - 200741 -> Skill-icon-id(20022) - 200742 -> Skill-icon-id(20021) - 200751 -> Skill-icon-id(20012) - 200752 -> Skill-icon-id(20011) - 200761 -> Skill-icon-id(20022) - 200762 -> Skill-icon-id(20021) - 200771 -> Skill-icon-id(30051) - 200772 -> Skill-icon-id(30052) - 200781 -> Skill-icon-id(30051) - 200791 -> Skill-icon-id(30041) - 200801 -> Skill-icon-id(30041) - 200811 -> Skill-icon-id(30041) - 200821 -> Skill-icon-id(30041) - 200831 -> Skill-icon-id(30051) - 200841 -> Skill-icon-id(30051) - 200851 -> Skill-icon-id(30011) - 200861 -> Skill-icon-id(30051) - 200871 -> Skill-icon-id(30051) - 200881 -> Skill-icon-id(30011) - 200891 -> Skill-icon-id(30051) - 200901 -> Skill-icon-id(30051) - 200911 -> Skill-icon-id(30011) - 200921 -> Skill-icon-id(30051) - 200931 -> Skill-icon-id(30051) - 200941 -> Skill-icon-id(30011) - 200951 -> Skill-icon-id(10021) - 200952 -> Skill-icon-id(10021) - 200953 -> Skill-icon-id(10024) - 200961 -> Skill-icon-id(20011) - 200962 -> Skill-icon-id(20011) - 200971 -> Skill-icon-id(20011) - 200972 -> Skill-icon-id(20011) - 200981 -> Skill-icon-id(20012) - 200982 -> Skill-icon-id(20011) - 200991 -> Skill-icon-id(20042) - 200992 -> Skill-icon-id(20041) - 201001 -> Skill-icon-id(20052) - 201002 -> Skill-icon-id(20051) - 201011 -> Skill-icon-id(30012) - 201012 -> Skill-icon-id(30011) - 201021 -> Skill-icon-id(30052) - 201022 -> Skill-icon-id(30051) - 201031 -> Skill-icon-id(20011) - 201032 -> Skill-icon-id(20011) - 201041 -> Skill-icon-id(20011) - 201042 -> Skill-icon-id(20011) - 201051 -> Skill-icon-id(20012) - 201052 -> Skill-icon-id(20011) - 201061 -> Skill-icon-id(20042) - 201062 -> Skill-icon-id(20041) - 201071 -> Skill-icon-id(20012) - 201072 -> Skill-icon-id(20011) - 201081 -> Skill-icon-id(30012) - 201082 -> Skill-icon-id(30011) - 201091 -> Skill-icon-id(30022) - 201092 -> Skill-icon-id(30021) - 201101 -> Skill-icon-id(20011) - 201102 -> Skill-icon-id(20011) - 201103 -> Skill-icon-id(20012) - 201111 -> Skill-icon-id(20011) - 201112 -> Skill-icon-id(20011) - 201121 -> Skill-icon-id(20092) - 201122 -> Skill-icon-id(20091) - 201131 -> Skill-icon-id(20052) - 201132 -> Skill-icon-id(20051) - 201141 -> Skill-icon-id(20022) - 201142 -> Skill-icon-id(20021) - 201151 -> Skill-icon-id(30012) - 201152 -> Skill-icon-id(30011) - 201161 -> Skill-icon-id(30052) - 201162 -> Skill-icon-id(30051) - 201171 -> Skill-icon-id(20011) - 201172 -> Skill-icon-id(20011) - 201181 -> Skill-icon-id(20011) - 201182 -> Skill-icon-id(20011) - 201191 -> Skill-icon-id(20012) - 201192 -> Skill-icon-id(20011) - 201201 -> Skill-icon-id(20022) - 201202 -> Skill-icon-id(20021) - 201211 -> Skill-icon-id(20012) - 201212 -> Skill-icon-id(20011) - 201221 -> Skill-icon-id(30052) - 201222 -> Skill-icon-id(30051) - 201231 -> Skill-icon-id(30072) - 201232 -> Skill-icon-id(30071) - 201241 -> Skill-icon-id(20011) - 201242 -> Skill-icon-id(20011) - 201251 -> Skill-icon-id(20011) - 201252 -> Skill-icon-id(20011) - 201261 -> Skill-icon-id(20052) - 201262 -> Skill-icon-id(20051) - 201272 -> Skill-icon-id(20011) - 201281 -> Skill-icon-id(20022) - 201282 -> Skill-icon-id(20021) - 201291 -> Skill-icon-id(20042) - 201292 -> Skill-icon-id(20041) - 201302 -> Skill-icon-id(30021) - 201311 -> Skill-icon-id(20011) - 201312 -> Skill-icon-id(20011) - 201321 -> Skill-icon-id(20011) - 201322 -> Skill-icon-id(20011) - 201331 -> Skill-icon-id(20042) - 201332 -> Skill-icon-id(20041) - 201341 -> Skill-icon-id(20042) - 201342 -> Skill-icon-id(20041) - 201351 -> Skill-icon-id(20022) - 201352 -> Skill-icon-id(20021) - 201361 -> Skill-icon-id(20042) - 201362 -> Skill-icon-id(20041) - 201371 -> Skill-icon-id(30072) - 201372 -> Skill-icon-id(30071) - 201381 -> Skill-icon-id(20011) - 201382 -> Skill-icon-id(20011) - 201391 -> Skill-icon-id(20011) - 201392 -> Skill-icon-id(20011) - 201401 -> Skill-icon-id(20042) - 201402 -> Skill-icon-id(20041) - 201411 -> Skill-icon-id(20012) - 201412 -> Skill-icon-id(20011) - 201421 -> Skill-icon-id(20022) - 201422 -> Skill-icon-id(20021) - 201431 -> Skill-icon-id(20092) - 201432 -> Skill-icon-id(20091) - 201441 -> Skill-icon-id(30052) - 201442 -> Skill-icon-id(30051) - 201451 -> Skill-icon-id(20011) - 201452 -> Skill-icon-id(20011) - 201461 -> Skill-icon-id(20011) - 201462 -> Skill-icon-id(20011) - 201471 -> Skill-icon-id(20092) - 201472 -> Skill-icon-id(20091) - 201481 -> Skill-icon-id(20022) - 201482 -> Skill-icon-id(20021) - 201491 -> Skill-icon-id(20022) - 201492 -> Skill-icon-id(20021) - 201501 -> Skill-icon-id(20092) - 201502 -> Skill-icon-id(20091) - 201511 -> Skill-icon-id(30012) - 201512 -> Skill-icon-id(30011) - 201521 -> Skill-icon-id(10051) - 201522 -> Skill-icon-id(10051) - 201531 -> Skill-icon-id(10051) - 201532 -> Skill-icon-id(10051) - 201541 -> Skill-icon-id(10051) - 201542 -> Skill-icon-id(10051) - 201551 -> Skill-icon-id(10051) - 201552 -> Skill-icon-id(10051) - 201561 -> Skill-icon-id(10062) - 201562 -> Skill-icon-id(10061) - 201571 -> Skill-icon-id(20021) - 201581 -> Skill-icon-id(20041) - 201591 -> Skill-icon-id(20011) - 201592 -> Skill-icon-id(20012) - 201601 -> Skill-icon-id(20041) - 201611 -> Skill-icon-id(20011) - 201612 -> Skill-icon-id(20012) - 201621 -> Skill-icon-id(20021) - 201631 -> Skill-icon-id(10011) - 201641 -> Skill-icon-id(10011) - 201651 -> Skill-icon-id(20011) - 201661 -> Skill-icon-id(20011) - 201671 -> Skill-icon-id(20012) - 201672 -> Skill-icon-id(20011) - 201681 -> Skill-icon-id(20052) - 201682 -> Skill-icon-id(20051) - 201691 -> Skill-icon-id(20022) - 201692 -> Skill-icon-id(20021) - 201701 -> Skill-icon-id(20012) - 201702 -> Skill-icon-id(20011) - 201801 -> Skill-icon-id(10014) - 201902 -> Skill-icon-id(20041) - 202002 -> Skill-icon-id(20021) - 202011 -> Skill-icon-id(20012) - 202012 -> Skill-icon-id(20011) - 202021 -> Skill-icon-id(20012) - 202022 -> Skill-icon-id(20011) - 202031 -> Skill-icon-id(20012) - 202032 -> Skill-icon-id(20011) - 202041 -> Skill-icon-id(20012) - 202042 -> Skill-icon-id(20011) - 202051 -> Skill-icon-id(40012) - 210011 -> Skill-icon-id(20102) - 210012 -> Skill-icon-id(20101) - 210021 -> Skill-icon-id(20112) - 210022 -> Skill-icon-id(20111) - 210031 -> Skill-icon-id(20122) - 210032 -> Skill-icon-id(20121) - 210041 -> Skill-icon-id(20102) - 210042 -> Skill-icon-id(20101) - 210051 -> Skill-icon-id(20132) - 210052 -> Skill-icon-id(20131) - 300011 -> Skill-icon-id(10021) - 300021 -> Skill-icon-id(10012) - 300031 -> Skill-icon-id(10011) - 300041 -> Skill-icon-id(10014) - 300051 -> Skill-icon-id(20015) - 300061 -> Skill-icon-id(20012) - 300071 -> Skill-icon-id(10011) - 300081 -> Skill-icon-id(10021) - 300091 -> Skill-icon-id(10031) - 300101 -> Skill-icon-id(20022) - 900011 -> Skill-icon-id(20011) - 900021 -> Skill-icon-id(20011) - 900031 -> Skill-icon-id(20011) - 900041 -> Skill-icon-id(20041) - 900051 -> Skill-icon-id(20011) - 900061 -> Skill-icon-id(20011) - 900071 -> Skill-icon-id(20011) - 900081 -> Skill-icon-id(20011) - 900091 -> Skill-icon-id(20011) - 900101 -> Skill-icon-id(20041) - 900111 -> Skill-icon-id(20011) - 900121 -> Skill-icon-id(20011) - 900131 -> Skill-icon-id(20011) - 900141 -> Skill-icon-id(20011) - 900151 -> Skill-icon-id(20011) - 900161 -> Skill-icon-id(20011) - 900171 -> Skill-icon-id(20011) - 900181 -> Skill-icon-id(20011) - 900191 -> Skill-icon-id(20011) - 900201 -> Skill-icon-id(20041) - 900211 -> Skill-icon-id(20011) - 900221 -> Skill-icon-id(20011) - 900231 -> Skill-icon-id(20011) - 900241 -> Skill-icon-id(20011) - 900251 -> Skill-icon-id(20011) - 900261 -> Skill-icon-id(20011) - 900271 -> Skill-icon-id(20041) - 900281 -> Skill-icon-id(20011) - 900301 -> Skill-icon-id(20011) - 900321 -> Skill-icon-id(20021) - 900331 -> Skill-icon-id(20011) - 900351 -> Skill-icon-id(20011) - 900371 -> Skill-icon-id(20011) - 900381 -> Skill-icon-id(20011) - 900391 -> Skill-icon-id(20011) - 900401 -> Skill-icon-id(20041) - 900411 -> Skill-icon-id(20011) - 900451 -> Skill-icon-id(20021) - 900461 -> Skill-icon-id(20011) - 900481 -> Skill-icon-id(20011) - 900501 -> Skill-icon-id(20011) - 900521 -> Skill-icon-id(20021) - 900561 -> Skill-icon-id(20011) - 900581 -> Skill-icon-id(20011) - 900591 -> Skill-icon-id(20041) - 900601 -> Skill-icon-id(20011) - 900611 -> Skill-icon-id(20011) - 900691 -> Skill-icon-id(20011) - 900711 -> Skill-icon-id(20011) - 910011 -> Skill-icon-id(20021) - 910031 -> Skill-icon-id(20011) - 910041 -> Skill-icon-id(20011) - 910061 -> Skill-icon-id(20011) - 910111 -> Skill-icon-id(20021) - 910131 -> Skill-icon-id(20011) - 910141 -> Skill-icon-id(20041) - 910151 -> Skill-icon-id(20011) - 910171 -> Skill-icon-id(20011) - 910181 -> Skill-icon-id(20011) - 910231 -> Skill-icon-id(20011) - 910241 -> Skill-icon-id(20011) - 910261 -> Skill-icon-id(20011) - 910301 -> Skill-icon-id(20021) - 910371 -> Skill-icon-id(20011) - 910401 -> Skill-icon-id(20011) - 910451 -> Skill-icon-id(20011) - 910521 -> Skill-icon-id(20011) - 910561 -> Skill-icon-id(20011) - 1000011 -> Skill-icon-id(1010011) - _ -> Skill-icon-id(0) - -// Get the name for a skill group. -// Skill group names are the name of the base skill in the group. -// If there is no skill group with the given ID, the result is the numeric ID. -pub fun skill-group/show(sg: skill-group-id): string - match sg.game-id - 1007 ->"Warning Shot!" - 1008 ->"Xceleration" - 1009 ->"Red Ace" - 1011 ->"Focused Mind" - 1014 ->"Corazón ☆ Ardiente" - 1018 ->"Empress's Pride" - 1024 ->"1st Place Kiss☆" - 1027 ->"Feel the Burn!" - 1032 ->"Introduction to Physiology" - 1035 ->"V Is for Victory!" - 1041 ->"Class Rep + Speed = Bakushin" - 1045 ->"Clear Heart" - 1052 ->"Super-Duper Stoked" - 1056 ->"Luck Be with Me!" - 1060 ->"I Can Win Sometimes, Right?" - 1061 ->"Call Me King" - 10001 ->"Shooting Star" - 10002 ->"The View from the Lead Is Mine!" - 10003 ->"Sky-High Teio Step" - 10004 ->"Red Shift/LP1211-M" - 10005 ->"Lights of Vaudeville" - 10006 ->"Triumphant Pulse" - 10007 ->"Anchors Aweigh!" - 10008 ->"Cut and Drive!" - 10009 ->"Resplendent Red Ace" - 10010 ->"Shooting for Victory!" - 10011 ->"Where There's a Will, There's a Way" - 10012 ->"You and Me! One-on-One!" - 10013 ->"The Duty of Dignity Calls" - 10014 ->"Victoria por plancha ☆" - 10015 ->"This Dance Is for Vittoria!" - 10016 ->"Shadow Break" - 10017 ->"Behold Thine Emperor's Divine Might" - 10018 ->"Blazing Pride" - 10019 ->"OMG! (゚∀゚) The Final Sprint! ☆" - 10020 ->"Angling and Scheming" - 10021 ->"White Lightning Comin' Through!" - 10022 ->"Fairy Tale" - 10023 ->"∴win Q.E.D." - 10024 ->"Flashy☆Landing" - 10025 ->"Chasing After You" - 10026 ->"G00 1st. F∞;" - 10027 ->"Let's Pump Some Iron!" - 10028 ->"YUMMY☆SPEED!" - 10030 ->"Blue Rose Closer" - 10032 ->"U=ma2" - 10033 ->"Shooting Star of Dioskouroi" - 10035 ->"Our Ticket to Win!" - 10037 ->"Schwarzes Schwert" - 10038 ->"#LookatCurren" - 10039 ->"A Princess Must Seize Victory!" - 10040 ->"KEEP IT REAL." - 10041 ->"Genius x Bakushin = Victory" - 10045 ->"Pure Heart" - 10046 ->"SPARKLY☆STARDOM" - 10048 ->"Pop & Polish" - 10050 ->"Nemesis" - 10052 ->"Super-Duper Climax" - 10056 ->"I See Victory in My Future!" - 10058 ->"I Never Goof Up!" - 10059 ->"Moving Past, and Beyond" - 10060 ->"Just a Little Farther!" - 10061 ->"Prideful King" - 10069 ->"Ambition to Surpass the Sakura" - 10071 ->"A Lifelong Dream, A Moment's Flight" - 11001 ->"Dazzl'n ♪ Diver" - 11003 ->"Certain Victory" - 11004 ->"A Kiss for Courage" - 11006 ->"Festive Miracle" - 11011 ->"Superior Heal" - 11013 ->"Legacy of the Strong" - 11014 ->"Condor's Fury" - 11015 ->"Barcarole of Blessings" - 11017 ->"Arrows Whistle, Shadows Disperse" - 11018 ->"Eternal Moments" - 11023 ->"Presents from X" - 11024 ->"Flowery☆Maneuver" - 11026 ->"Operation Cacao" - 11030 ->"Every Rose Has Its Fangs" - 11037 ->"Guten Appetit ♪" - 11040 ->"Dancing in the Leaves" - 11045 ->"Give Mummy a Hug ♡" - 11052 ->"114th Time's the Charm" - 11056 ->"Bountiful Harvest" - 20001 ->"Right-Handed ○" - 20002 ->"Left-Handed ○" - 20003 ->"Tokyo Racecourse ○" - 20004 ->"Nakayama Racecourse ○" - 20005 ->"Hanshin Racecourse ○" - 20006 ->"Kyoto Racecourse ○" - 20007 ->"Chukyo Racecourse ○" - 20008 ->"Sapporo Racecourse ○" - 20009 ->"Hakodate Racecourse ○" - 20010 ->"Fukushima Racecourse ○" - 20011 ->"Niigata Racecourse ○" - 20012 ->"Kokura Racecourse ○" - 20013 ->"Standard Distance ○" - 20014 ->"Non-Standard Distance ○" - 20015 ->"Firm Conditions ○" - 20016 ->"Wet Conditions ○" - 20017 ->"Spring Runner ○" - 20018 ->"Summer Runner ○" - 20019 ->"Fall Runner ○" - 20020 ->"Winter Runner ○" - 20021 ->"Sunny Days ○" - 20022 ->"Cloudy Days ○" - 20023 ->"Rainy Days ○" - 20024 ->"Snowy Days ○" - 20025 ->"Inner Post Proficiency ○" - 20026 ->"Outer Post Proficiency ○" - 20027 ->"Maverick ○" - 20028 ->"Competitive Spirit ○" - 20029 ->"Target in Sight ○" - 20030 ->"Long Shot ○" - 20033 ->"Corner Adept ○" - 20034 ->"Corner Acceleration ○" - 20035 ->"Corner Recovery ○" - 20036 ->"Straightaway Adept" - 20037 ->"Straightaway Acceleration" - 20038 ->"Straightaway Recovery" - 20043 ->"Focus" - 20044 ->"Lay Low" - 20045 ->"Prudent Positioning" - 20046 ->"Ramp Up" - 20047 ->"Pace Strategy" - 20048 ->"Calm in a Crowd" - 20049 ->"Nimble Navigator" - 20050 ->"Go with the Flow" - 20051 ->"Homestretch Haste" - 20053 ->"Early Lead" - 20054 ->"Fast-Paced" - 20055 ->"Final Push" - 20056 ->"Stamina to Spare" - 20057 ->"Preferred Position" - 20058 ->"Prepared to Pass" - 20059 ->"Position Pilfer" - 20060 ->"Slick Surge" - 20061 ->"Outer Swell" - 20062 ->"Standing By" - 20063 ->"Masterful Gambit" - 20064 ->"Straightaway Spurt" - 20065 ->"Sprinting Gear" - 20066 ->"Wait-and-See" - 20067 ->"Gap Closer" - 20068 ->"Productive Plan" - 20069 ->"Watchful Eye" - 20070 ->"Updrafters" - 20071 ->"Rosy Outlook" - 20072 ->"Up-Tempo" - 20073 ->"Steadfast" - 20074 ->"Deep Breaths" - 20075 ->"Inside Scoop" - 20076 ->"Extra Tank" - 20077 ->"Trick (Front)" - 20078 ->"Trick (Rear)" - 20079 ->"Frenzied Front Runners" - 20080 ->"Frenzied Pace Chasers" - 20081 ->"Frenzied Late Surgers" - 20082 ->"Frenzied End Closers" - 20083 ->"Subdued Front Runners" - 20084 ->"Flustered Front Runners" - 20085 ->"Hesitant Front Runners" - 20086 ->"Subdued Pace Chasers" - 20087 ->"Flustered Pace Chasers" - 20088 ->"Hesitant Pace Chasers" - 20089 ->"Subdued Late Surgers" - 20090 ->"Flustered Late Surgers" - 20091 ->"Hesitant Late Surgers" - 20092 ->"Subdued End Closers" - 20093 ->"Flustered End Closers" - 20094 ->"Hesitant End Closers" - 20095 ->"Oi Racecourse ○" - 20096 ->"Sprint Straightaways ○" - 20097 ->"Sprint Corners ○" - 20098 ->"Huge Lead" - 20099 ->"Countermeasure" - 20100 ->"Meticulous Measures" - 20101 ->"Intimidate" - 20102 ->"Stop Right There!" - 20103 ->"Mile Straightaways ○" - 20104 ->"Mile Corners ○" - 20105 ->"Shifting Gears" - 20106 ->"Acceleration" - 20107 ->"Unyielding Spirit" - 20108 ->"Speed Eater" - 20109 ->"Opening Gambit" - 20110 ->"Medium Straightaways ○" - 20111 ->"Medium Corners ○" - 20112 ->"Hawkeye" - 20113 ->"Thunderbolt Step" - 20114 ->"Soft Step" - 20115 ->"Tether" - 20116 ->"Murmur" - 20117 ->"Long Straightaways ○" - 20118 ->"Long Corners ○" - 20119 ->"Keeping the Lead" - 20120 ->"Passing Pro" - 20121 ->"Pressure" - 20122 ->"Stamina Eater" - 20123 ->"Smoke Screen" - 20124 ->"Front Runner Straightaways ○" - 20125 ->"Front Runner Corners ○" - 20126 ->"Dodging Danger" - 20127 ->"Leader's Pride" - 20128 ->"Moxie" - 20129 ->"Second Wind" - 20130 ->"Restart" - 20131 ->"Pace Chaser Straightaways ○" - 20132 ->"Pace Chaser Corners ○" - 20133 ->"Shrewd Step" - 20134 ->"Straight Descent" - 20135 ->"Hydrate" - 20136 ->"Tactical Tweak" - 20137 ->"Disorient" - 20138 ->"Late Surger Straightaways ○" - 20139 ->"Late Surger Corners ○" - 20140 ->"Fighter" - 20141 ->"1,500,000 CC" - 20142 ->"A Small Breather" - 20143 ->"Studious" - 20144 ->"Sharp Gaze" - 20145 ->"End Closer Straightaways ○" - 20146 ->"End Closer Corners ○" - 20147 ->"I Can See Right Through You" - 20148 ->"After-School Stroll" - 20149 ->"Levelheaded" - 20150 ->"Strategist" - 20151 ->"Intense Gaze" - 20152 ->"Front Runner Savvy ○" - 20153 ->"Pace Chaser Savvy ○" - 20154 ->"Late Surger Savvy ○" - 20155 ->"End Closer Savvy ○" - 20156 ->"Lucky Seven" - 20157 ->"Triple 7s" - 20158 ->"Highlander" - 20159 ->"Uma Stan" - 20160 ->"Groundwork" - 20161 ->"Tail Held High" - 20162 ->"Shake It Out" - 20163 ->"Sympathy" - 20164 ->"Lone Wolf" - 20165 ->"Slipstream" - 20166 ->"Playtime's Over!" - 20167 ->"Top Pick" - 20168 ->"Forward, March!" - 20169 ->"Be Still" - 20170 ->"All I've Got" - 20190 ->"Head-On" - 20200 ->"Familiar Ground" - 20201 ->"Feature Act" - 20202 ->"Early Start" - 20203 ->"Risky Business" - 20204 ->"Light as a Feather" - 21001 ->"Ignited Spirit SPD" - 21002 ->"Ignited Spirit STA" - 21003 ->"Ignited Spirit PWR" - 21004 ->"Ignited Spirit GUTS" - 21005 ->"Ignited Spirit WIT" - 30001 ->"Unquenched Thirst" - 30002 ->"Unchanging" - 30003 ->"Towards the Scenery I Seek" - 30004 ->"Creeping Anxiety" - 30005 ->"Blatant Fear" - 30006 ->"Dream Run" - 30007 ->"Show Me What Lies Beyond!" - 30008 ->"Hoiya! Have a Good Run!" - 30009 ->"As a Friend and Rival" - 30010 ->"Cheers of a Fellow Dreamer" - 100001 ->"Carnival Bonus" - x -> "skill group " ++ x.show - -// Get the list of skills in a skill group. -pub fun skill-group/skills(sg: skill-group-id): list - match sg.game-id - 1007 -> [Skill-id(10071), ] - 1008 -> [Skill-id(10081), ] - 1009 -> [Skill-id(10091), ] - 1011 -> [Skill-id(10111), ] - 1014 -> [Skill-id(10141), ] - 1018 -> [Skill-id(10181), ] - 1024 -> [Skill-id(10241), ] - 1027 -> [Skill-id(10271), ] - 1032 -> [Skill-id(10321), ] - 1035 -> [Skill-id(10351), ] - 1041 -> [Skill-id(10411), ] - 1045 -> [Skill-id(10451), ] - 1052 -> [Skill-id(10521), ] - 1056 -> [Skill-id(10561), ] - 1060 -> [Skill-id(10601), ] - 1061 -> [Skill-id(10611), ] - 10001 -> [Skill-id(100011), Skill-id(900011), ] - 10002 -> [Skill-id(100021), Skill-id(900021), ] - 10003 -> [Skill-id(100031), Skill-id(900031), ] - 10004 -> [Skill-id(100041), Skill-id(900041), ] - 10005 -> [Skill-id(100051), Skill-id(900051), ] - 10006 -> [Skill-id(100061), Skill-id(900061), ] - 10007 -> [Skill-id(100071), Skill-id(900071), ] - 10008 -> [Skill-id(100081), Skill-id(900081), ] - 10009 -> [Skill-id(100091), Skill-id(900091), ] - 10010 -> [Skill-id(100101), Skill-id(900101), ] - 10011 -> [Skill-id(100111), Skill-id(900111), ] - 10012 -> [Skill-id(100121), Skill-id(900121), ] - 10013 -> [Skill-id(100131), Skill-id(900131), ] - 10014 -> [Skill-id(100141), Skill-id(900141), ] - 10015 -> [Skill-id(100151), Skill-id(900151), ] - 10016 -> [Skill-id(100161), Skill-id(900161), ] - 10017 -> [Skill-id(100171), Skill-id(900171), ] - 10018 -> [Skill-id(100181), Skill-id(900181), ] - 10019 -> [Skill-id(100191), Skill-id(900191), ] - 10020 -> [Skill-id(100201), Skill-id(900201), ] - 10021 -> [Skill-id(100211), Skill-id(900211), ] - 10022 -> [Skill-id(100221), Skill-id(900221), ] - 10023 -> [Skill-id(100231), Skill-id(900231), ] - 10024 -> [Skill-id(100241), Skill-id(900241), ] - 10025 -> [Skill-id(100251), Skill-id(900251), ] - 10026 -> [Skill-id(100261), Skill-id(900261), ] - 10027 -> [Skill-id(100271), Skill-id(900271), ] - 10028 -> [Skill-id(100281), Skill-id(900281), ] - 10030 -> [Skill-id(100301), Skill-id(900301), ] - 10032 -> [Skill-id(100321), Skill-id(900321), ] - 10033 -> [Skill-id(100331), Skill-id(900331), ] - 10035 -> [Skill-id(100351), Skill-id(900351), ] - 10037 -> [Skill-id(100371), Skill-id(900371), ] - 10038 -> [Skill-id(100381), Skill-id(900381), ] - 10039 -> [Skill-id(100391), Skill-id(900391), ] - 10040 -> [Skill-id(100401), Skill-id(900401), ] - 10041 -> [Skill-id(100411), Skill-id(900411), ] - 10045 -> [Skill-id(100451), Skill-id(900451), ] - 10046 -> [Skill-id(100461), Skill-id(900461), ] - 10048 -> [Skill-id(100481), Skill-id(900481), ] - 10050 -> [Skill-id(100501), Skill-id(900501), ] - 10052 -> [Skill-id(100521), Skill-id(900521), ] - 10056 -> [Skill-id(100561), Skill-id(900561), ] - 10058 -> [Skill-id(100581), Skill-id(900581), ] - 10059 -> [Skill-id(100591), Skill-id(900591), ] - 10060 -> [Skill-id(100601), Skill-id(900601), ] - 10061 -> [Skill-id(100611), Skill-id(900611), ] - 10069 -> [Skill-id(100691), Skill-id(900691), ] - 10071 -> [Skill-id(100711), Skill-id(900711), ] - 11001 -> [Skill-id(110011), Skill-id(910011), ] - 11003 -> [Skill-id(110031), Skill-id(910031), ] - 11004 -> [Skill-id(110041), Skill-id(910041), ] - 11006 -> [Skill-id(110061), Skill-id(910061), ] - 11011 -> [Skill-id(110111), Skill-id(910111), ] - 11013 -> [Skill-id(110131), Skill-id(910131), ] - 11014 -> [Skill-id(110141), Skill-id(910141), ] - 11015 -> [Skill-id(110151), Skill-id(910151), ] - 11017 -> [Skill-id(110171), Skill-id(910171), ] - 11018 -> [Skill-id(110181), Skill-id(910181), ] - 11023 -> [Skill-id(110231), Skill-id(910231), ] - 11024 -> [Skill-id(110241), Skill-id(910241), ] - 11026 -> [Skill-id(110261), Skill-id(910261), ] - 11030 -> [Skill-id(110301), Skill-id(910301), ] - 11037 -> [Skill-id(110371), Skill-id(910371), ] - 11040 -> [Skill-id(110401), Skill-id(910401), ] - 11045 -> [Skill-id(110451), Skill-id(910451), ] - 11052 -> [Skill-id(110521), Skill-id(910521), ] - 11056 -> [Skill-id(110561), Skill-id(910561), ] - 20001 -> [Skill-id(200011), Skill-id(200012), Skill-id(200013), ] - 20002 -> [Skill-id(200021), Skill-id(200022), Skill-id(200023), ] - 20003 -> [Skill-id(200031), Skill-id(200032), Skill-id(200033), ] - 20004 -> [Skill-id(200041), Skill-id(200042), Skill-id(200043), ] - 20005 -> [Skill-id(200051), Skill-id(200052), Skill-id(200053), ] - 20006 -> [Skill-id(200061), Skill-id(200062), Skill-id(200063), Skill-id(200064), ] - 20007 -> [Skill-id(200071), Skill-id(200072), Skill-id(200073), ] - 20008 -> [Skill-id(200081), Skill-id(200082), Skill-id(200083), ] - 20009 -> [Skill-id(200091), Skill-id(200092), Skill-id(200093), ] - 20010 -> [Skill-id(200101), Skill-id(200102), Skill-id(200103), ] - 20011 -> [Skill-id(200111), Skill-id(200112), Skill-id(200113), ] - 20012 -> [Skill-id(200121), Skill-id(200122), Skill-id(200123), ] - 20013 -> [Skill-id(200131), Skill-id(200132), Skill-id(200133), ] - 20014 -> [Skill-id(200141), Skill-id(200142), Skill-id(200143), ] - 20015 -> [Skill-id(200151), Skill-id(200152), Skill-id(200153), ] - 20016 -> [Skill-id(200161), Skill-id(200162), Skill-id(200163), ] - 20017 -> [Skill-id(200171), Skill-id(200172), Skill-id(200173), Skill-id(200174), ] - 20018 -> [Skill-id(200181), Skill-id(200182), Skill-id(200183), ] - 20019 -> [Skill-id(200191), Skill-id(200192), Skill-id(200193), Skill-id(200194), ] - 20020 -> [Skill-id(200201), Skill-id(200202), Skill-id(200203), ] - 20021 -> [Skill-id(200211), Skill-id(200212), ] - 20022 -> [Skill-id(200221), Skill-id(200222), ] - 20023 -> [Skill-id(200231), Skill-id(200232), Skill-id(200233), ] - 20024 -> [Skill-id(200241), Skill-id(200242), ] - 20025 -> [Skill-id(200251), Skill-id(200252), Skill-id(200253), ] - 20026 -> [Skill-id(200261), Skill-id(200262), Skill-id(200263), ] - 20027 -> [Skill-id(200271), Skill-id(200272), ] - 20028 -> [Skill-id(200281), Skill-id(200282), Skill-id(200283), ] - 20029 -> [Skill-id(200291), Skill-id(200292), ] - 20030 -> [Skill-id(200301), Skill-id(200302), ] - 20033 -> [Skill-id(200331), Skill-id(200332), Skill-id(200333), ] - 20034 -> [Skill-id(200341), Skill-id(200342), Skill-id(200343), ] - 20035 -> [Skill-id(200351), Skill-id(200352), Skill-id(200353), ] - 20036 -> [Skill-id(200361), Skill-id(200362), ] - 20037 -> [Skill-id(200371), Skill-id(200372), ] - 20038 -> [Skill-id(200381), Skill-id(200382), ] - 20043 -> [Skill-id(200431), Skill-id(200432), Skill-id(200433), ] - 20044 -> [Skill-id(200441), Skill-id(200442), ] - 20045 -> [Skill-id(200451), Skill-id(200452), ] - 20046 -> [Skill-id(200461), Skill-id(200462), ] - 20047 -> [Skill-id(200471), Skill-id(200472), ] - 20048 -> [Skill-id(200481), Skill-id(200482), ] - 20049 -> [Skill-id(200491), Skill-id(200492), ] - 20050 -> [Skill-id(200501), Skill-id(200502), ] - 20051 -> [Skill-id(200511), Skill-id(200512), ] - 20053 -> [Skill-id(200531), Skill-id(200532), ] - 20054 -> [Skill-id(200541), Skill-id(200542), ] - 20055 -> [Skill-id(200551), Skill-id(200552), ] - 20056 -> [Skill-id(200561), Skill-id(200562), ] - 20057 -> [Skill-id(200571), Skill-id(200572), ] - 20058 -> [Skill-id(200581), Skill-id(200582), ] - 20059 -> [Skill-id(200591), Skill-id(200592), ] - 20060 -> [Skill-id(200601), Skill-id(200602), ] - 20061 -> [Skill-id(200611), Skill-id(200612), ] - 20062 -> [Skill-id(200621), Skill-id(200622), ] - 20063 -> [Skill-id(200631), Skill-id(200632), ] - 20064 -> [Skill-id(200641), Skill-id(200642), ] - 20065 -> [Skill-id(200651), Skill-id(200652), ] - 20066 -> [Skill-id(200662), ] - 20067 -> [Skill-id(200671), Skill-id(200672), ] - 20068 -> [Skill-id(200681), Skill-id(200682), ] - 20069 -> [Skill-id(200691), Skill-id(200692), ] - 20070 -> [Skill-id(200701), Skill-id(200702), ] - 20071 -> [Skill-id(200711), Skill-id(200712), ] - 20072 -> [Skill-id(200721), Skill-id(200722), ] - 20073 -> [Skill-id(200731), Skill-id(200732), ] - 20074 -> [Skill-id(200741), Skill-id(200742), ] - 20075 -> [Skill-id(200751), Skill-id(200752), ] - 20076 -> [Skill-id(200761), Skill-id(200762), ] - 20077 -> [Skill-id(200771), Skill-id(200772), ] - 20078 -> [Skill-id(200781), ] - 20079 -> [Skill-id(200791), ] - 20080 -> [Skill-id(200801), ] - 20081 -> [Skill-id(200811), ] - 20082 -> [Skill-id(200821), ] - 20083 -> [Skill-id(200831), ] - 20084 -> [Skill-id(200841), ] - 20085 -> [Skill-id(200851), ] - 20086 -> [Skill-id(200861), ] - 20087 -> [Skill-id(200871), ] - 20088 -> [Skill-id(200881), ] - 20089 -> [Skill-id(200891), ] - 20090 -> [Skill-id(200901), ] - 20091 -> [Skill-id(200911), ] - 20092 -> [Skill-id(200921), ] - 20093 -> [Skill-id(200931), ] - 20094 -> [Skill-id(200941), ] - 20095 -> [Skill-id(200951), Skill-id(200952), Skill-id(200953), ] - 20096 -> [Skill-id(200961), Skill-id(200962), ] - 20097 -> [Skill-id(200971), Skill-id(200972), ] - 20098 -> [Skill-id(200981), Skill-id(200982), ] - 20099 -> [Skill-id(200991), Skill-id(200992), ] - 20100 -> [Skill-id(201001), Skill-id(201002), ] - 20101 -> [Skill-id(201011), Skill-id(201012), ] - 20102 -> [Skill-id(201021), Skill-id(201022), ] - 20103 -> [Skill-id(201031), Skill-id(201032), ] - 20104 -> [Skill-id(201041), Skill-id(201042), ] - 20105 -> [Skill-id(201051), Skill-id(201052), ] - 20106 -> [Skill-id(201061), Skill-id(201062), ] - 20107 -> [Skill-id(201071), Skill-id(201072), ] - 20108 -> [Skill-id(201081), Skill-id(201082), ] - 20109 -> [Skill-id(201091), Skill-id(201092), ] - 20110 -> [Skill-id(201101), Skill-id(201102), Skill-id(201103), ] - 20111 -> [Skill-id(201111), Skill-id(201112), ] - 20112 -> [Skill-id(201121), Skill-id(201122), ] - 20113 -> [Skill-id(201131), Skill-id(201132), ] - 20114 -> [Skill-id(201141), Skill-id(201142), ] - 20115 -> [Skill-id(201151), Skill-id(201152), ] - 20116 -> [Skill-id(201161), Skill-id(201162), ] - 20117 -> [Skill-id(201171), Skill-id(201172), ] - 20118 -> [Skill-id(201181), Skill-id(201182), ] - 20119 -> [Skill-id(201191), Skill-id(201192), ] - 20120 -> [Skill-id(201201), Skill-id(201202), ] - 20121 -> [Skill-id(201211), Skill-id(201212), ] - 20122 -> [Skill-id(201221), Skill-id(201222), ] - 20123 -> [Skill-id(201231), Skill-id(201232), ] - 20124 -> [Skill-id(201241), Skill-id(201242), ] - 20125 -> [Skill-id(201251), Skill-id(201252), ] - 20126 -> [Skill-id(201261), Skill-id(201262), ] - 20127 -> [Skill-id(201272), ] - 20128 -> [Skill-id(201281), Skill-id(201282), ] - 20129 -> [Skill-id(201291), Skill-id(201292), ] - 20130 -> [Skill-id(201302), ] - 20131 -> [Skill-id(201311), Skill-id(201312), ] - 20132 -> [Skill-id(201321), Skill-id(201322), ] - 20133 -> [Skill-id(201331), Skill-id(201332), ] - 20134 -> [Skill-id(201341), Skill-id(201342), ] - 20135 -> [Skill-id(201351), Skill-id(201352), ] - 20136 -> [Skill-id(201361), Skill-id(201362), ] - 20137 -> [Skill-id(201371), Skill-id(201372), ] - 20138 -> [Skill-id(201381), Skill-id(201382), ] - 20139 -> [Skill-id(201391), Skill-id(201392), ] - 20140 -> [Skill-id(201401), Skill-id(201402), ] - 20141 -> [Skill-id(201411), Skill-id(201412), ] - 20142 -> [Skill-id(201421), Skill-id(201422), ] - 20143 -> [Skill-id(201431), Skill-id(201432), ] - 20144 -> [Skill-id(201441), Skill-id(201442), ] - 20145 -> [Skill-id(201451), Skill-id(201452), ] - 20146 -> [Skill-id(201461), Skill-id(201462), ] - 20147 -> [Skill-id(201471), Skill-id(201472), ] - 20148 -> [Skill-id(201481), Skill-id(201482), ] - 20149 -> [Skill-id(201491), Skill-id(201492), ] - 20150 -> [Skill-id(201501), Skill-id(201502), ] - 20151 -> [Skill-id(201511), Skill-id(201512), ] - 20152 -> [Skill-id(201521), Skill-id(201522), ] - 20153 -> [Skill-id(201531), Skill-id(201532), ] - 20154 -> [Skill-id(201541), Skill-id(201542), ] - 20155 -> [Skill-id(201551), Skill-id(201552), ] - 20156 -> [Skill-id(201561), Skill-id(201562), ] - 20157 -> [Skill-id(201571), ] - 20158 -> [Skill-id(201581), ] - 20159 -> [Skill-id(201591), Skill-id(201592), ] - 20160 -> [Skill-id(201601), ] - 20161 -> [Skill-id(201611), Skill-id(201612), ] - 20162 -> [Skill-id(201621), ] - 20163 -> [Skill-id(201631), ] - 20164 -> [Skill-id(201641), ] - 20165 -> [Skill-id(201651), ] - 20166 -> [Skill-id(201661), ] - 20167 -> [Skill-id(201671), Skill-id(201672), ] - 20168 -> [Skill-id(201681), Skill-id(201682), ] - 20169 -> [Skill-id(201691), Skill-id(201692), ] - 20170 -> [Skill-id(201701), Skill-id(201702), ] - 20190 -> [Skill-id(201902), ] - 20200 -> [Skill-id(202002), ] - 20201 -> [Skill-id(202011), Skill-id(202012), ] - 20202 -> [Skill-id(202021), Skill-id(202022), ] - 20203 -> [Skill-id(202031), Skill-id(202032), ] - 20204 -> [Skill-id(202041), Skill-id(202042), ] - 21001 -> [Skill-id(210011), Skill-id(210012), ] - 21002 -> [Skill-id(210021), Skill-id(210022), ] - 21003 -> [Skill-id(210031), Skill-id(210032), ] - 21004 -> [Skill-id(210041), Skill-id(210042), ] - 21005 -> [Skill-id(210051), Skill-id(210052), ] - 30001 -> [Skill-id(300011), ] - 30002 -> [Skill-id(300021), ] - 30003 -> [Skill-id(300031), ] - 30004 -> [Skill-id(300041), ] - 30005 -> [Skill-id(300051), ] - 30006 -> [Skill-id(300061), ] - 30007 -> [Skill-id(300071), ] - 30008 -> [Skill-id(300081), ] - 30009 -> [Skill-id(300091), ] - 30010 -> [Skill-id(300101), ] - 100001 -> [Skill-id(1000011), ] - _ -> Nil \ No newline at end of file diff --git a/horse/global/spark.go b/horse/global/spark.go deleted file mode 100644 index 1090e50..0000000 --- a/horse/global/spark.go +++ /dev/null @@ -1,13268 +0,0 @@ -package global - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - SparkSpeedLv1 SparkID = 101 // Speed - SparkSpeedLv2 SparkID = 102 // Speed - SparkSpeedLv3 SparkID = 103 // Speed - SparkStaminaLv1 SparkID = 201 // Stamina - SparkStaminaLv2 SparkID = 202 // Stamina - SparkStaminaLv3 SparkID = 203 // Stamina - SparkPowerLv1 SparkID = 301 // Power - SparkPowerLv2 SparkID = 302 // Power - SparkPowerLv3 SparkID = 303 // Power - SparkGutsLv1 SparkID = 401 // Guts - SparkGutsLv2 SparkID = 402 // Guts - SparkGutsLv3 SparkID = 403 // Guts - SparkWitLv1 SparkID = 501 // Wit - SparkWitLv2 SparkID = 502 // Wit - SparkWitLv3 SparkID = 503 // Wit - SparkTurfLv1 SparkID = 1101 // Turf - SparkTurfLv2 SparkID = 1102 // Turf - SparkTurfLv3 SparkID = 1103 // Turf - SparkDirtLv1 SparkID = 1201 // Dirt - SparkDirtLv2 SparkID = 1202 // Dirt - SparkDirtLv3 SparkID = 1203 // Dirt - SparkFrontRunnerLv1 SparkID = 2101 // Front Runner - SparkFrontRunnerLv2 SparkID = 2102 // Front Runner - SparkFrontRunnerLv3 SparkID = 2103 // Front Runner - SparkPaceChaserLv1 SparkID = 2201 // Pace Chaser - SparkPaceChaserLv2 SparkID = 2202 // Pace Chaser - SparkPaceChaserLv3 SparkID = 2203 // Pace Chaser - SparkLateSurgerLv1 SparkID = 2301 // Late Surger - SparkLateSurgerLv2 SparkID = 2302 // Late Surger - SparkLateSurgerLv3 SparkID = 2303 // Late Surger - SparkEndCloserLv1 SparkID = 2401 // End Closer - SparkEndCloserLv2 SparkID = 2402 // End Closer - SparkEndCloserLv3 SparkID = 2403 // End Closer - SparkSprintLv1 SparkID = 3101 // Sprint - SparkSprintLv2 SparkID = 3102 // Sprint - SparkSprintLv3 SparkID = 3103 // Sprint - SparkMileLv1 SparkID = 3201 // Mile - SparkMileLv2 SparkID = 3202 // Mile - SparkMileLv3 SparkID = 3203 // Mile - SparkMediumLv1 SparkID = 3301 // Medium - SparkMediumLv2 SparkID = 3302 // Medium - SparkMediumLv3 SparkID = 3303 // Medium - SparkLongLv1 SparkID = 3401 // Long - SparkLongLv2 SparkID = 3402 // Long - SparkLongLv3 SparkID = 3403 // Long - SparkFebruarySLv1 SparkID = 1000101 // February S. - SparkFebruarySLv2 SparkID = 1000102 // February S. - SparkFebruarySLv3 SparkID = 1000103 // February S. - SparkTakamatsunomiyaKinenLv1 SparkID = 1000201 // Takamatsunomiya Kinen - SparkTakamatsunomiyaKinenLv2 SparkID = 1000202 // Takamatsunomiya Kinen - SparkTakamatsunomiyaKinenLv3 SparkID = 1000203 // Takamatsunomiya Kinen - SparkOsakaHaiLv1 SparkID = 1000301 // Osaka Hai - SparkOsakaHaiLv2 SparkID = 1000302 // Osaka Hai - SparkOsakaHaiLv3 SparkID = 1000303 // Osaka Hai - SparkOkaShoLv1 SparkID = 1000401 // Oka Sho - SparkOkaShoLv2 SparkID = 1000402 // Oka Sho - SparkOkaShoLv3 SparkID = 1000403 // Oka Sho - SparkSatsukiShoLv1 SparkID = 1000501 // Satsuki Sho - SparkSatsukiShoLv2 SparkID = 1000502 // Satsuki Sho - SparkSatsukiShoLv3 SparkID = 1000503 // Satsuki Sho - SparkTennoShoSpringLv1 SparkID = 1000601 // Tenno Sho (Spring) - SparkTennoShoSpringLv2 SparkID = 1000602 // Tenno Sho (Spring) - SparkTennoShoSpringLv3 SparkID = 1000603 // Tenno Sho (Spring) - SparkNHKMileCLv1 SparkID = 1000701 // NHK Mile C. - SparkNHKMileCLv2 SparkID = 1000702 // NHK Mile C. - SparkNHKMileCLv3 SparkID = 1000703 // NHK Mile C. - SparkVictoriaMileLv1 SparkID = 1000801 // Victoria Mile - SparkVictoriaMileLv2 SparkID = 1000802 // Victoria Mile - SparkVictoriaMileLv3 SparkID = 1000803 // Victoria Mile - SparkJapaneseOaksLv1 SparkID = 1000901 // Japanese Oaks - SparkJapaneseOaksLv2 SparkID = 1000902 // Japanese Oaks - SparkJapaneseOaksLv3 SparkID = 1000903 // Japanese Oaks - SparkJapaneseDerbyLv1 SparkID = 1001001 // Japanese Derby - SparkJapaneseDerbyLv2 SparkID = 1001002 // Japanese Derby - SparkJapaneseDerbyLv3 SparkID = 1001003 // Japanese Derby - SparkYasudaKinenLv1 SparkID = 1001101 // Yasuda Kinen - SparkYasudaKinenLv2 SparkID = 1001102 // Yasuda Kinen - SparkYasudaKinenLv3 SparkID = 1001103 // Yasuda Kinen - SparkTakarazukaKinenLv1 SparkID = 1001201 // Takarazuka Kinen - SparkTakarazukaKinenLv2 SparkID = 1001202 // Takarazuka Kinen - SparkTakarazukaKinenLv3 SparkID = 1001203 // Takarazuka Kinen - SparkSprintersSLv1 SparkID = 1001301 // Sprinters S. - SparkSprintersSLv2 SparkID = 1001302 // Sprinters S. - SparkSprintersSLv3 SparkID = 1001303 // Sprinters S. - SparkShukaShoLv1 SparkID = 1001401 // Shuka Sho - SparkShukaShoLv2 SparkID = 1001402 // Shuka Sho - SparkShukaShoLv3 SparkID = 1001403 // Shuka Sho - SparkKikukaShoLv1 SparkID = 1001501 // Kikuka Sho - SparkKikukaShoLv2 SparkID = 1001502 // Kikuka Sho - SparkKikukaShoLv3 SparkID = 1001503 // Kikuka Sho - SparkTennoShoAutumnLv1 SparkID = 1001601 // Tenno Sho (Autumn) - SparkTennoShoAutumnLv2 SparkID = 1001602 // Tenno Sho (Autumn) - SparkTennoShoAutumnLv3 SparkID = 1001603 // Tenno Sho (Autumn) - SparkQueenElizabethIICupLv1 SparkID = 1001701 // Queen Elizabeth II Cup - SparkQueenElizabethIICupLv2 SparkID = 1001702 // Queen Elizabeth II Cup - SparkQueenElizabethIICupLv3 SparkID = 1001703 // Queen Elizabeth II Cup - SparkMileChLv1 SparkID = 1001801 // Mile Ch. - SparkMileChLv2 SparkID = 1001802 // Mile Ch. - SparkMileChLv3 SparkID = 1001803 // Mile Ch. - SparkJapanCLv1 SparkID = 1001901 // Japan C. - SparkJapanCLv2 SparkID = 1001902 // Japan C. - SparkJapanCLv3 SparkID = 1001903 // Japan C. - SparkChampionsCLv1 SparkID = 1002001 // Champions C. - SparkChampionsCLv2 SparkID = 1002002 // Champions C. - SparkChampionsCLv3 SparkID = 1002003 // Champions C. - SparkHanshinJFLv1 SparkID = 1002101 // Hanshin J.F. - SparkHanshinJFLv2 SparkID = 1002102 // Hanshin J.F. - SparkHanshinJFLv3 SparkID = 1002103 // Hanshin J.F. - SparkAsahiHaiFSLv1 SparkID = 1002201 // Asahi Hai F.S. - SparkAsahiHaiFSLv2 SparkID = 1002202 // Asahi Hai F.S. - SparkAsahiHaiFSLv3 SparkID = 1002203 // Asahi Hai F.S. - SparkArimaKinenLv1 SparkID = 1002301 // Arima Kinen - SparkArimaKinenLv2 SparkID = 1002302 // Arima Kinen - SparkArimaKinenLv3 SparkID = 1002303 // Arima Kinen - SparkHopefulSLv1 SparkID = 1002401 // Hopeful S. - SparkHopefulSLv2 SparkID = 1002402 // Hopeful S. - SparkHopefulSLv3 SparkID = 1002403 // Hopeful S. - SparkTeioShoLv1 SparkID = 1002501 // Teio Sho - SparkTeioShoLv2 SparkID = 1002502 // Teio Sho - SparkTeioShoLv3 SparkID = 1002503 // Teio Sho - SparkJDDerbyLv1 SparkID = 1002601 // J.D. Derby - SparkJDDerbyLv2 SparkID = 1002602 // J.D. Derby - SparkJDDerbyLv3 SparkID = 1002603 // J.D. Derby - SparkJBCLClassicLv1 SparkID = 1002701 // JBC L. Classic - SparkJBCLClassicLv2 SparkID = 1002702 // JBC L. Classic - SparkJBCLClassicLv3 SparkID = 1002703 // JBC L. Classic - SparkJBCSprintLv1 SparkID = 1002801 // JBC Sprint - SparkJBCSprintLv2 SparkID = 1002802 // JBC Sprint - SparkJBCSprintLv3 SparkID = 1002803 // JBC Sprint - SparkJBCClassicLv1 SparkID = 1002901 // JBC Classic - SparkJBCClassicLv2 SparkID = 1002902 // JBC Classic - SparkJBCClassicLv3 SparkID = 1002903 // JBC Classic - SparkTokyoDaishotenLv1 SparkID = 1003001 // Tokyo Daishoten - SparkTokyoDaishotenLv2 SparkID = 1003002 // Tokyo Daishoten - SparkTokyoDaishotenLv3 SparkID = 1003003 // Tokyo Daishoten - SparkRightHandedLv1 SparkID = 2000101 // Right-Handed ○ - SparkRightHandedLv2 SparkID = 2000102 // Right-Handed ○ - SparkRightHandedLv3 SparkID = 2000103 // Right-Handed ○ - SparkLeftHandedLv1 SparkID = 2000201 // Left-Handed ○ - SparkLeftHandedLv2 SparkID = 2000202 // Left-Handed ○ - SparkLeftHandedLv3 SparkID = 2000203 // Left-Handed ○ - SparkTokyoRacecourseLv1 SparkID = 2000301 // Tokyo Racecourse ○ - SparkTokyoRacecourseLv2 SparkID = 2000302 // Tokyo Racecourse ○ - SparkTokyoRacecourseLv3 SparkID = 2000303 // Tokyo Racecourse ○ - SparkNakayamaRacecourseLv1 SparkID = 2000401 // Nakayama Racecourse ○ - SparkNakayamaRacecourseLv2 SparkID = 2000402 // Nakayama Racecourse ○ - SparkNakayamaRacecourseLv3 SparkID = 2000403 // Nakayama Racecourse ○ - SparkHanshinRacecourseLv1 SparkID = 2000501 // Hanshin Racecourse ○ - SparkHanshinRacecourseLv2 SparkID = 2000502 // Hanshin Racecourse ○ - SparkHanshinRacecourseLv3 SparkID = 2000503 // Hanshin Racecourse ○ - SparkKyotoRacecourseLv1 SparkID = 2000601 // Kyoto Racecourse ○ - SparkKyotoRacecourseLv2 SparkID = 2000602 // Kyoto Racecourse ○ - SparkKyotoRacecourseLv3 SparkID = 2000603 // Kyoto Racecourse ○ - SparkChukyoRacecourseLv1 SparkID = 2000701 // Chukyo Racecourse ○ - SparkChukyoRacecourseLv2 SparkID = 2000702 // Chukyo Racecourse ○ - SparkChukyoRacecourseLv3 SparkID = 2000703 // Chukyo Racecourse ○ - SparkSapporoRacecourseLv1 SparkID = 2000801 // Sapporo Racecourse ○ - SparkSapporoRacecourseLv2 SparkID = 2000802 // Sapporo Racecourse ○ - SparkSapporoRacecourseLv3 SparkID = 2000803 // Sapporo Racecourse ○ - SparkHakodateRacecourseLv1 SparkID = 2000901 // Hakodate Racecourse ○ - SparkHakodateRacecourseLv2 SparkID = 2000902 // Hakodate Racecourse ○ - SparkHakodateRacecourseLv3 SparkID = 2000903 // Hakodate Racecourse ○ - SparkFukushimaRacecourseLv1 SparkID = 2001001 // Fukushima Racecourse ○ - SparkFukushimaRacecourseLv2 SparkID = 2001002 // Fukushima Racecourse ○ - SparkFukushimaRacecourseLv3 SparkID = 2001003 // Fukushima Racecourse ○ - SparkNiigataRacecourseLv1 SparkID = 2001101 // Niigata Racecourse ○ - SparkNiigataRacecourseLv2 SparkID = 2001102 // Niigata Racecourse ○ - SparkNiigataRacecourseLv3 SparkID = 2001103 // Niigata Racecourse ○ - SparkKokuraRacecourseLv1 SparkID = 2001201 // Kokura Racecourse ○ - SparkKokuraRacecourseLv2 SparkID = 2001202 // Kokura Racecourse ○ - SparkKokuraRacecourseLv3 SparkID = 2001203 // Kokura Racecourse ○ - SparkStandardDistanceLv1 SparkID = 2001301 // Standard Distance ○ - SparkStandardDistanceLv2 SparkID = 2001302 // Standard Distance ○ - SparkStandardDistanceLv3 SparkID = 2001303 // Standard Distance ○ - SparkNonStandardDistanceLv1 SparkID = 2001401 // Non-Standard Distance ○ - SparkNonStandardDistanceLv2 SparkID = 2001402 // Non-Standard Distance ○ - SparkNonStandardDistanceLv3 SparkID = 2001403 // Non-Standard Distance ○ - SparkFirmConditionsLv1 SparkID = 2001501 // Firm Conditions ○ - SparkFirmConditionsLv2 SparkID = 2001502 // Firm Conditions ○ - SparkFirmConditionsLv3 SparkID = 2001503 // Firm Conditions ○ - SparkWetConditionsLv1 SparkID = 2001601 // Wet Conditions ○ - SparkWetConditionsLv2 SparkID = 2001602 // Wet Conditions ○ - SparkWetConditionsLv3 SparkID = 2001603 // Wet Conditions ○ - SparkSpringRunnerLv1 SparkID = 2001701 // Spring Runner ○ - SparkSpringRunnerLv2 SparkID = 2001702 // Spring Runner ○ - SparkSpringRunnerLv3 SparkID = 2001703 // Spring Runner ○ - SparkSummerRunnerLv1 SparkID = 2001801 // Summer Runner ○ - SparkSummerRunnerLv2 SparkID = 2001802 // Summer Runner ○ - SparkSummerRunnerLv3 SparkID = 2001803 // Summer Runner ○ - SparkFallRunnerLv1 SparkID = 2001901 // Fall Runner ○ - SparkFallRunnerLv2 SparkID = 2001902 // Fall Runner ○ - SparkFallRunnerLv3 SparkID = 2001903 // Fall Runner ○ - SparkWinterRunnerLv1 SparkID = 2002001 // Winter Runner ○ - SparkWinterRunnerLv2 SparkID = 2002002 // Winter Runner ○ - SparkWinterRunnerLv3 SparkID = 2002003 // Winter Runner ○ - SparkSunnyDaysLv1 SparkID = 2002101 // Sunny Days ○ - SparkSunnyDaysLv2 SparkID = 2002102 // Sunny Days ○ - SparkSunnyDaysLv3 SparkID = 2002103 // Sunny Days ○ - SparkCloudyDaysLv1 SparkID = 2002201 // Cloudy Days ○ - SparkCloudyDaysLv2 SparkID = 2002202 // Cloudy Days ○ - SparkCloudyDaysLv3 SparkID = 2002203 // Cloudy Days ○ - SparkRainyDaysLv1 SparkID = 2002301 // Rainy Days ○ - SparkRainyDaysLv2 SparkID = 2002302 // Rainy Days ○ - SparkRainyDaysLv3 SparkID = 2002303 // Rainy Days ○ - SparkSnowyDaysLv1 SparkID = 2002401 // Snowy Days ○ - SparkSnowyDaysLv2 SparkID = 2002402 // Snowy Days ○ - SparkSnowyDaysLv3 SparkID = 2002403 // Snowy Days ○ - SparkInnerPostProficiencyLv1 SparkID = 2002501 // Inner Post Proficiency ○ - SparkInnerPostProficiencyLv2 SparkID = 2002502 // Inner Post Proficiency ○ - SparkInnerPostProficiencyLv3 SparkID = 2002503 // Inner Post Proficiency ○ - SparkOuterPostProficiencyLv1 SparkID = 2002601 // Outer Post Proficiency ○ - SparkOuterPostProficiencyLv2 SparkID = 2002602 // Outer Post Proficiency ○ - SparkOuterPostProficiencyLv3 SparkID = 2002603 // Outer Post Proficiency ○ - SparkMaverickLv1 SparkID = 2002701 // Maverick ○ - SparkMaverickLv2 SparkID = 2002702 // Maverick ○ - SparkMaverickLv3 SparkID = 2002703 // Maverick ○ - SparkCompetitiveSpiritLv1 SparkID = 2002801 // Competitive Spirit ○ - SparkCompetitiveSpiritLv2 SparkID = 2002802 // Competitive Spirit ○ - SparkCompetitiveSpiritLv3 SparkID = 2002803 // Competitive Spirit ○ - SparkTargetinSightLv1 SparkID = 2002901 // Target in Sight ○ - SparkTargetinSightLv2 SparkID = 2002902 // Target in Sight ○ - SparkTargetinSightLv3 SparkID = 2002903 // Target in Sight ○ - SparkLongShotLv1 SparkID = 2003001 // Long Shot ○ - SparkLongShotLv2 SparkID = 2003002 // Long Shot ○ - SparkLongShotLv3 SparkID = 2003003 // Long Shot ○ - SparkCornerAdeptLv1 SparkID = 2003301 // Corner Adept ○ - SparkCornerAdeptLv2 SparkID = 2003302 // Corner Adept ○ - SparkCornerAdeptLv3 SparkID = 2003303 // Corner Adept ○ - SparkCornerAccelerationLv1 SparkID = 2003401 // Corner Acceleration ○ - SparkCornerAccelerationLv2 SparkID = 2003402 // Corner Acceleration ○ - SparkCornerAccelerationLv3 SparkID = 2003403 // Corner Acceleration ○ - SparkCornerRecoveryLv1 SparkID = 2003501 // Corner Recovery ○ - SparkCornerRecoveryLv2 SparkID = 2003502 // Corner Recovery ○ - SparkCornerRecoveryLv3 SparkID = 2003503 // Corner Recovery ○ - SparkStraightawayAdeptLv1 SparkID = 2003601 // Straightaway Adept - SparkStraightawayAdeptLv2 SparkID = 2003602 // Straightaway Adept - SparkStraightawayAdeptLv3 SparkID = 2003603 // Straightaway Adept - SparkStraightawayAccelerationLv1 SparkID = 2003701 // Straightaway Acceleration - SparkStraightawayAccelerationLv2 SparkID = 2003702 // Straightaway Acceleration - SparkStraightawayAccelerationLv3 SparkID = 2003703 // Straightaway Acceleration - SparkStraightawayRecoveryLv1 SparkID = 2003801 // Straightaway Recovery - SparkStraightawayRecoveryLv2 SparkID = 2003802 // Straightaway Recovery - SparkStraightawayRecoveryLv3 SparkID = 2003803 // Straightaway Recovery - SparkFocusLv1 SparkID = 2004301 // Focus - SparkFocusLv2 SparkID = 2004302 // Focus - SparkFocusLv3 SparkID = 2004303 // Focus - SparkLayLowLv1 SparkID = 2004401 // Lay Low - SparkLayLowLv2 SparkID = 2004402 // Lay Low - SparkLayLowLv3 SparkID = 2004403 // Lay Low - SparkPrudentPositioningLv1 SparkID = 2004501 // Prudent Positioning - SparkPrudentPositioningLv2 SparkID = 2004502 // Prudent Positioning - SparkPrudentPositioningLv3 SparkID = 2004503 // Prudent Positioning - SparkRampUpLv1 SparkID = 2004601 // Ramp Up - SparkRampUpLv2 SparkID = 2004602 // Ramp Up - SparkRampUpLv3 SparkID = 2004603 // Ramp Up - SparkPaceStrategyLv1 SparkID = 2004701 // Pace Strategy - SparkPaceStrategyLv2 SparkID = 2004702 // Pace Strategy - SparkPaceStrategyLv3 SparkID = 2004703 // Pace Strategy - SparkCalminaCrowdLv1 SparkID = 2004801 // Calm in a Crowd - SparkCalminaCrowdLv2 SparkID = 2004802 // Calm in a Crowd - SparkCalminaCrowdLv3 SparkID = 2004803 // Calm in a Crowd - SparkNimbleNavigatorLv1 SparkID = 2004901 // Nimble Navigator - SparkNimbleNavigatorLv2 SparkID = 2004902 // Nimble Navigator - SparkNimbleNavigatorLv3 SparkID = 2004903 // Nimble Navigator - SparkGowiththeFlowLv1 SparkID = 2005001 // Go with the Flow - SparkGowiththeFlowLv2 SparkID = 2005002 // Go with the Flow - SparkGowiththeFlowLv3 SparkID = 2005003 // Go with the Flow - SparkHomestretchHasteLv1 SparkID = 2005101 // Homestretch Haste - SparkHomestretchHasteLv2 SparkID = 2005102 // Homestretch Haste - SparkHomestretchHasteLv3 SparkID = 2005103 // Homestretch Haste - SparkEarlyLeadLv1 SparkID = 2005301 // Early Lead - SparkEarlyLeadLv2 SparkID = 2005302 // Early Lead - SparkEarlyLeadLv3 SparkID = 2005303 // Early Lead - SparkFastPacedLv1 SparkID = 2005401 // Fast-Paced - SparkFastPacedLv2 SparkID = 2005402 // Fast-Paced - SparkFastPacedLv3 SparkID = 2005403 // Fast-Paced - SparkFinalPushLv1 SparkID = 2005501 // Final Push - SparkFinalPushLv2 SparkID = 2005502 // Final Push - SparkFinalPushLv3 SparkID = 2005503 // Final Push - SparkStaminatoSpareLv1 SparkID = 2005601 // Stamina to Spare - SparkStaminatoSpareLv2 SparkID = 2005602 // Stamina to Spare - SparkStaminatoSpareLv3 SparkID = 2005603 // Stamina to Spare - SparkPreferredPositionLv1 SparkID = 2005701 // Preferred Position - SparkPreferredPositionLv2 SparkID = 2005702 // Preferred Position - SparkPreferredPositionLv3 SparkID = 2005703 // Preferred Position - SparkPreparedtoPassLv1 SparkID = 2005801 // Prepared to Pass - SparkPreparedtoPassLv2 SparkID = 2005802 // Prepared to Pass - SparkPreparedtoPassLv3 SparkID = 2005803 // Prepared to Pass - SparkPositionPilferLv1 SparkID = 2005901 // Position Pilfer - SparkPositionPilferLv2 SparkID = 2005902 // Position Pilfer - SparkPositionPilferLv3 SparkID = 2005903 // Position Pilfer - SparkSlickSurgeLv1 SparkID = 2006001 // Slick Surge - SparkSlickSurgeLv2 SparkID = 2006002 // Slick Surge - SparkSlickSurgeLv3 SparkID = 2006003 // Slick Surge - SparkOuterSwellLv1 SparkID = 2006101 // Outer Swell - SparkOuterSwellLv2 SparkID = 2006102 // Outer Swell - SparkOuterSwellLv3 SparkID = 2006103 // Outer Swell - SparkStandingByLv1 SparkID = 2006201 // Standing By - SparkStandingByLv2 SparkID = 2006202 // Standing By - SparkStandingByLv3 SparkID = 2006203 // Standing By - SparkMasterfulGambitLv1 SparkID = 2006301 // Masterful Gambit - SparkMasterfulGambitLv2 SparkID = 2006302 // Masterful Gambit - SparkMasterfulGambitLv3 SparkID = 2006303 // Masterful Gambit - SparkStraightawaySpurtLv1 SparkID = 2006401 // Straightaway Spurt - SparkStraightawaySpurtLv2 SparkID = 2006402 // Straightaway Spurt - SparkStraightawaySpurtLv3 SparkID = 2006403 // Straightaway Spurt - SparkSprintingGearLv1 SparkID = 2006501 // Sprinting Gear - SparkSprintingGearLv2 SparkID = 2006502 // Sprinting Gear - SparkSprintingGearLv3 SparkID = 2006503 // Sprinting Gear - SparkWaitandSeeLv1 SparkID = 2006601 // Wait-and-See - SparkWaitandSeeLv2 SparkID = 2006602 // Wait-and-See - SparkWaitandSeeLv3 SparkID = 2006603 // Wait-and-See - SparkGapCloserLv1 SparkID = 2006701 // Gap Closer - SparkGapCloserLv2 SparkID = 2006702 // Gap Closer - SparkGapCloserLv3 SparkID = 2006703 // Gap Closer - SparkProductivePlanLv1 SparkID = 2006801 // Productive Plan - SparkProductivePlanLv2 SparkID = 2006802 // Productive Plan - SparkProductivePlanLv3 SparkID = 2006803 // Productive Plan - SparkWatchfulEyeLv1 SparkID = 2006901 // Watchful Eye - SparkWatchfulEyeLv2 SparkID = 2006902 // Watchful Eye - SparkWatchfulEyeLv3 SparkID = 2006903 // Watchful Eye - SparkUpdraftersLv1 SparkID = 2007001 // Updrafters - SparkUpdraftersLv2 SparkID = 2007002 // Updrafters - SparkUpdraftersLv3 SparkID = 2007003 // Updrafters - SparkRosyOutlookLv1 SparkID = 2007101 // Rosy Outlook - SparkRosyOutlookLv2 SparkID = 2007102 // Rosy Outlook - SparkRosyOutlookLv3 SparkID = 2007103 // Rosy Outlook - SparkUpTempoLv1 SparkID = 2007201 // Up-Tempo - SparkUpTempoLv2 SparkID = 2007202 // Up-Tempo - SparkUpTempoLv3 SparkID = 2007203 // Up-Tempo - SparkSteadfastLv1 SparkID = 2007301 // Steadfast - SparkSteadfastLv2 SparkID = 2007302 // Steadfast - SparkSteadfastLv3 SparkID = 2007303 // Steadfast - SparkDeepBreathsLv1 SparkID = 2007401 // Deep Breaths - SparkDeepBreathsLv2 SparkID = 2007402 // Deep Breaths - SparkDeepBreathsLv3 SparkID = 2007403 // Deep Breaths - SparkInsideScoopLv1 SparkID = 2007501 // Inside Scoop - SparkInsideScoopLv2 SparkID = 2007502 // Inside Scoop - SparkInsideScoopLv3 SparkID = 2007503 // Inside Scoop - SparkExtraTankLv1 SparkID = 2007601 // Extra Tank - SparkExtraTankLv2 SparkID = 2007602 // Extra Tank - SparkExtraTankLv3 SparkID = 2007603 // Extra Tank - SparkTrickFrontLv1 SparkID = 2007701 // Trick (Front) - SparkTrickFrontLv2 SparkID = 2007702 // Trick (Front) - SparkTrickFrontLv3 SparkID = 2007703 // Trick (Front) - SparkTrickRearLv1 SparkID = 2007801 // Trick (Rear) - SparkTrickRearLv2 SparkID = 2007802 // Trick (Rear) - SparkTrickRearLv3 SparkID = 2007803 // Trick (Rear) - SparkFrenziedFrontRunnersLv1 SparkID = 2007901 // Frenzied Front Runners - SparkFrenziedFrontRunnersLv2 SparkID = 2007902 // Frenzied Front Runners - SparkFrenziedFrontRunnersLv3 SparkID = 2007903 // Frenzied Front Runners - SparkFrenziedPaceChasersLv1 SparkID = 2008001 // Frenzied Pace Chasers - SparkFrenziedPaceChasersLv2 SparkID = 2008002 // Frenzied Pace Chasers - SparkFrenziedPaceChasersLv3 SparkID = 2008003 // Frenzied Pace Chasers - SparkFrenziedLateSurgersLv1 SparkID = 2008101 // Frenzied Late Surgers - SparkFrenziedLateSurgersLv2 SparkID = 2008102 // Frenzied Late Surgers - SparkFrenziedLateSurgersLv3 SparkID = 2008103 // Frenzied Late Surgers - SparkFrenziedEndClosersLv1 SparkID = 2008201 // Frenzied End Closers - SparkFrenziedEndClosersLv2 SparkID = 2008202 // Frenzied End Closers - SparkFrenziedEndClosersLv3 SparkID = 2008203 // Frenzied End Closers - SparkSubduedFrontRunnersLv1 SparkID = 2008301 // Subdued Front Runners - SparkSubduedFrontRunnersLv2 SparkID = 2008302 // Subdued Front Runners - SparkSubduedFrontRunnersLv3 SparkID = 2008303 // Subdued Front Runners - SparkFlusteredFrontRunnersLv1 SparkID = 2008401 // Flustered Front Runners - SparkFlusteredFrontRunnersLv2 SparkID = 2008402 // Flustered Front Runners - SparkFlusteredFrontRunnersLv3 SparkID = 2008403 // Flustered Front Runners - SparkHesitantFrontRunnersLv1 SparkID = 2008501 // Hesitant Front Runners - SparkHesitantFrontRunnersLv2 SparkID = 2008502 // Hesitant Front Runners - SparkHesitantFrontRunnersLv3 SparkID = 2008503 // Hesitant Front Runners - SparkSubduedPaceChasersLv1 SparkID = 2008601 // Subdued Pace Chasers - SparkSubduedPaceChasersLv2 SparkID = 2008602 // Subdued Pace Chasers - SparkSubduedPaceChasersLv3 SparkID = 2008603 // Subdued Pace Chasers - SparkFlusteredPaceChasersLv1 SparkID = 2008701 // Flustered Pace Chasers - SparkFlusteredPaceChasersLv2 SparkID = 2008702 // Flustered Pace Chasers - SparkFlusteredPaceChasersLv3 SparkID = 2008703 // Flustered Pace Chasers - SparkHesitantPaceChasersLv1 SparkID = 2008801 // Hesitant Pace Chasers - SparkHesitantPaceChasersLv2 SparkID = 2008802 // Hesitant Pace Chasers - SparkHesitantPaceChasersLv3 SparkID = 2008803 // Hesitant Pace Chasers - SparkSubduedLateSurgersLv1 SparkID = 2008901 // Subdued Late Surgers - SparkSubduedLateSurgersLv2 SparkID = 2008902 // Subdued Late Surgers - SparkSubduedLateSurgersLv3 SparkID = 2008903 // Subdued Late Surgers - SparkFlusteredLateSurgersLv1 SparkID = 2009001 // Flustered Late Surgers - SparkFlusteredLateSurgersLv2 SparkID = 2009002 // Flustered Late Surgers - SparkFlusteredLateSurgersLv3 SparkID = 2009003 // Flustered Late Surgers - SparkHesitantLateSurgersLv1 SparkID = 2009101 // Hesitant Late Surgers - SparkHesitantLateSurgersLv2 SparkID = 2009102 // Hesitant Late Surgers - SparkHesitantLateSurgersLv3 SparkID = 2009103 // Hesitant Late Surgers - SparkSubduedEndClosersLv1 SparkID = 2009201 // Subdued End Closers - SparkSubduedEndClosersLv2 SparkID = 2009202 // Subdued End Closers - SparkSubduedEndClosersLv3 SparkID = 2009203 // Subdued End Closers - SparkFlusteredEndClosersLv1 SparkID = 2009301 // Flustered End Closers - SparkFlusteredEndClosersLv2 SparkID = 2009302 // Flustered End Closers - SparkFlusteredEndClosersLv3 SparkID = 2009303 // Flustered End Closers - SparkHesitantEndClosersLv1 SparkID = 2009401 // Hesitant End Closers - SparkHesitantEndClosersLv2 SparkID = 2009402 // Hesitant End Closers - SparkHesitantEndClosersLv3 SparkID = 2009403 // Hesitant End Closers - SparkOiRacecourseLv1 SparkID = 2009501 // Oi Racecourse ○ - SparkOiRacecourseLv2 SparkID = 2009502 // Oi Racecourse ○ - SparkOiRacecourseLv3 SparkID = 2009503 // Oi Racecourse ○ - SparkSprintStraightawaysLv1 SparkID = 2009601 // Sprint Straightaways ○ - SparkSprintStraightawaysLv2 SparkID = 2009602 // Sprint Straightaways ○ - SparkSprintStraightawaysLv3 SparkID = 2009603 // Sprint Straightaways ○ - SparkSprintCornersLv1 SparkID = 2009701 // Sprint Corners ○ - SparkSprintCornersLv2 SparkID = 2009702 // Sprint Corners ○ - SparkSprintCornersLv3 SparkID = 2009703 // Sprint Corners ○ - SparkHugeLeadLv1 SparkID = 2009801 // Huge Lead - SparkHugeLeadLv2 SparkID = 2009802 // Huge Lead - SparkHugeLeadLv3 SparkID = 2009803 // Huge Lead - SparkCountermeasureLv1 SparkID = 2009901 // Countermeasure - SparkCountermeasureLv2 SparkID = 2009902 // Countermeasure - SparkCountermeasureLv3 SparkID = 2009903 // Countermeasure - SparkMeticulousMeasuresLv1 SparkID = 2010001 // Meticulous Measures - SparkMeticulousMeasuresLv2 SparkID = 2010002 // Meticulous Measures - SparkMeticulousMeasuresLv3 SparkID = 2010003 // Meticulous Measures - SparkIntimidateLv1 SparkID = 2010101 // Intimidate - SparkIntimidateLv2 SparkID = 2010102 // Intimidate - SparkIntimidateLv3 SparkID = 2010103 // Intimidate - SparkStopRightThereLv1 SparkID = 2010201 // Stop Right There! - SparkStopRightThereLv2 SparkID = 2010202 // Stop Right There! - SparkStopRightThereLv3 SparkID = 2010203 // Stop Right There! - SparkMileStraightawaysLv1 SparkID = 2010301 // Mile Straightaways ○ - SparkMileStraightawaysLv2 SparkID = 2010302 // Mile Straightaways ○ - SparkMileStraightawaysLv3 SparkID = 2010303 // Mile Straightaways ○ - SparkMileCornersLv1 SparkID = 2010401 // Mile Corners ○ - SparkMileCornersLv2 SparkID = 2010402 // Mile Corners ○ - SparkMileCornersLv3 SparkID = 2010403 // Mile Corners ○ - SparkShiftingGearsLv1 SparkID = 2010501 // Shifting Gears - SparkShiftingGearsLv2 SparkID = 2010502 // Shifting Gears - SparkShiftingGearsLv3 SparkID = 2010503 // Shifting Gears - SparkAccelerationLv1 SparkID = 2010601 // Acceleration - SparkAccelerationLv2 SparkID = 2010602 // Acceleration - SparkAccelerationLv3 SparkID = 2010603 // Acceleration - SparkUnyieldingSpiritLv1 SparkID = 2010701 // Unyielding Spirit - SparkUnyieldingSpiritLv2 SparkID = 2010702 // Unyielding Spirit - SparkUnyieldingSpiritLv3 SparkID = 2010703 // Unyielding Spirit - SparkSpeedEaterLv1 SparkID = 2010801 // Speed Eater - SparkSpeedEaterLv2 SparkID = 2010802 // Speed Eater - SparkSpeedEaterLv3 SparkID = 2010803 // Speed Eater - SparkOpeningGambitLv1 SparkID = 2010901 // Opening Gambit - SparkOpeningGambitLv2 SparkID = 2010902 // Opening Gambit - SparkOpeningGambitLv3 SparkID = 2010903 // Opening Gambit - SparkMediumStraightawaysLv1 SparkID = 2011001 // Medium Straightaways ○ - SparkMediumStraightawaysLv2 SparkID = 2011002 // Medium Straightaways ○ - SparkMediumStraightawaysLv3 SparkID = 2011003 // Medium Straightaways ○ - SparkMediumCornersLv1 SparkID = 2011101 // Medium Corners ○ - SparkMediumCornersLv2 SparkID = 2011102 // Medium Corners ○ - SparkMediumCornersLv3 SparkID = 2011103 // Medium Corners ○ - SparkHawkeyeLv1 SparkID = 2011201 // Hawkeye - SparkHawkeyeLv2 SparkID = 2011202 // Hawkeye - SparkHawkeyeLv3 SparkID = 2011203 // Hawkeye - SparkThunderboltStepLv1 SparkID = 2011301 // Thunderbolt Step - SparkThunderboltStepLv2 SparkID = 2011302 // Thunderbolt Step - SparkThunderboltStepLv3 SparkID = 2011303 // Thunderbolt Step - SparkSoftStepLv1 SparkID = 2011401 // Soft Step - SparkSoftStepLv2 SparkID = 2011402 // Soft Step - SparkSoftStepLv3 SparkID = 2011403 // Soft Step - SparkTetherLv1 SparkID = 2011501 // Tether - SparkTetherLv2 SparkID = 2011502 // Tether - SparkTetherLv3 SparkID = 2011503 // Tether - SparkMurmurLv1 SparkID = 2011601 // Murmur - SparkMurmurLv2 SparkID = 2011602 // Murmur - SparkMurmurLv3 SparkID = 2011603 // Murmur - SparkLongStraightawaysLv1 SparkID = 2011701 // Long Straightaways ○ - SparkLongStraightawaysLv2 SparkID = 2011702 // Long Straightaways ○ - SparkLongStraightawaysLv3 SparkID = 2011703 // Long Straightaways ○ - SparkLongCornersLv1 SparkID = 2011801 // Long Corners ○ - SparkLongCornersLv2 SparkID = 2011802 // Long Corners ○ - SparkLongCornersLv3 SparkID = 2011803 // Long Corners ○ - SparkKeepingtheLeadLv1 SparkID = 2011901 // Keeping the Lead - SparkKeepingtheLeadLv2 SparkID = 2011902 // Keeping the Lead - SparkKeepingtheLeadLv3 SparkID = 2011903 // Keeping the Lead - SparkPassingProLv1 SparkID = 2012001 // Passing Pro - SparkPassingProLv2 SparkID = 2012002 // Passing Pro - SparkPassingProLv3 SparkID = 2012003 // Passing Pro - SparkPressureLv1 SparkID = 2012101 // Pressure - SparkPressureLv2 SparkID = 2012102 // Pressure - SparkPressureLv3 SparkID = 2012103 // Pressure - SparkStaminaEaterLv1 SparkID = 2012201 // Stamina Eater - SparkStaminaEaterLv2 SparkID = 2012202 // Stamina Eater - SparkStaminaEaterLv3 SparkID = 2012203 // Stamina Eater - SparkSmokeScreenLv1 SparkID = 2012301 // Smoke Screen - SparkSmokeScreenLv2 SparkID = 2012302 // Smoke Screen - SparkSmokeScreenLv3 SparkID = 2012303 // Smoke Screen - SparkFrontRunnerStraightawaysLv1 SparkID = 2012401 // Front Runner Straightaways ○ - SparkFrontRunnerStraightawaysLv2 SparkID = 2012402 // Front Runner Straightaways ○ - SparkFrontRunnerStraightawaysLv3 SparkID = 2012403 // Front Runner Straightaways ○ - SparkFrontRunnerCornersLv1 SparkID = 2012501 // Front Runner Corners ○ - SparkFrontRunnerCornersLv2 SparkID = 2012502 // Front Runner Corners ○ - SparkFrontRunnerCornersLv3 SparkID = 2012503 // Front Runner Corners ○ - SparkDodgingDangerLv1 SparkID = 2012601 // Dodging Danger - SparkDodgingDangerLv2 SparkID = 2012602 // Dodging Danger - SparkDodgingDangerLv3 SparkID = 2012603 // Dodging Danger - SparkLeadersPrideLv1 SparkID = 2012701 // Leader's Pride - SparkLeadersPrideLv2 SparkID = 2012702 // Leader's Pride - SparkLeadersPrideLv3 SparkID = 2012703 // Leader's Pride - SparkMoxieLv1 SparkID = 2012801 // Moxie - SparkMoxieLv2 SparkID = 2012802 // Moxie - SparkMoxieLv3 SparkID = 2012803 // Moxie - SparkSecondWindLv1 SparkID = 2012901 // Second Wind - SparkSecondWindLv2 SparkID = 2012902 // Second Wind - SparkSecondWindLv3 SparkID = 2012903 // Second Wind - SparkRestartLv1 SparkID = 2013001 // Restart - SparkRestartLv2 SparkID = 2013002 // Restart - SparkRestartLv3 SparkID = 2013003 // Restart - SparkPaceChaserStraightawaysLv1 SparkID = 2013101 // Pace Chaser Straightaways ○ - SparkPaceChaserStraightawaysLv2 SparkID = 2013102 // Pace Chaser Straightaways ○ - SparkPaceChaserStraightawaysLv3 SparkID = 2013103 // Pace Chaser Straightaways ○ - SparkPaceChaserCornersLv1 SparkID = 2013201 // Pace Chaser Corners ○ - SparkPaceChaserCornersLv2 SparkID = 2013202 // Pace Chaser Corners ○ - SparkPaceChaserCornersLv3 SparkID = 2013203 // Pace Chaser Corners ○ - SparkShrewdStepLv1 SparkID = 2013301 // Shrewd Step - SparkShrewdStepLv2 SparkID = 2013302 // Shrewd Step - SparkShrewdStepLv3 SparkID = 2013303 // Shrewd Step - SparkStraightDescentLv1 SparkID = 2013401 // Straight Descent - SparkStraightDescentLv2 SparkID = 2013402 // Straight Descent - SparkStraightDescentLv3 SparkID = 2013403 // Straight Descent - SparkHydrateLv1 SparkID = 2013501 // Hydrate - SparkHydrateLv2 SparkID = 2013502 // Hydrate - SparkHydrateLv3 SparkID = 2013503 // Hydrate - SparkTacticalTweakLv1 SparkID = 2013601 // Tactical Tweak - SparkTacticalTweakLv2 SparkID = 2013602 // Tactical Tweak - SparkTacticalTweakLv3 SparkID = 2013603 // Tactical Tweak - SparkDisorientLv1 SparkID = 2013701 // Disorient - SparkDisorientLv2 SparkID = 2013702 // Disorient - SparkDisorientLv3 SparkID = 2013703 // Disorient - SparkLateSurgerStraightawaysLv1 SparkID = 2013801 // Late Surger Straightaways ○ - SparkLateSurgerStraightawaysLv2 SparkID = 2013802 // Late Surger Straightaways ○ - SparkLateSurgerStraightawaysLv3 SparkID = 2013803 // Late Surger Straightaways ○ - SparkLateSurgerCornersLv1 SparkID = 2013901 // Late Surger Corners ○ - SparkLateSurgerCornersLv2 SparkID = 2013902 // Late Surger Corners ○ - SparkLateSurgerCornersLv3 SparkID = 2013903 // Late Surger Corners ○ - SparkFighterLv1 SparkID = 2014001 // Fighter - SparkFighterLv2 SparkID = 2014002 // Fighter - SparkFighterLv3 SparkID = 2014003 // Fighter - SparkOneMillionCCLv1 SparkID = 2014101 // 1,500,000 CC - SparkOneMillionCCLv2 SparkID = 2014102 // 1,500,000 CC - SparkOneMillionCCLv3 SparkID = 2014103 // 1,500,000 CC - SparkASmallBreatherLv1 SparkID = 2014201 // A Small Breather - SparkASmallBreatherLv2 SparkID = 2014202 // A Small Breather - SparkASmallBreatherLv3 SparkID = 2014203 // A Small Breather - SparkStudiousLv1 SparkID = 2014301 // Studious - SparkStudiousLv2 SparkID = 2014302 // Studious - SparkStudiousLv3 SparkID = 2014303 // Studious - SparkSharpGazeLv1 SparkID = 2014401 // Sharp Gaze - SparkSharpGazeLv2 SparkID = 2014402 // Sharp Gaze - SparkSharpGazeLv3 SparkID = 2014403 // Sharp Gaze - SparkEndCloserStraightawaysLv1 SparkID = 2014501 // End Closer Straightaways ○ - SparkEndCloserStraightawaysLv2 SparkID = 2014502 // End Closer Straightaways ○ - SparkEndCloserStraightawaysLv3 SparkID = 2014503 // End Closer Straightaways ○ - SparkEndCloserCornersLv1 SparkID = 2014601 // End Closer Corners ○ - SparkEndCloserCornersLv2 SparkID = 2014602 // End Closer Corners ○ - SparkEndCloserCornersLv3 SparkID = 2014603 // End Closer Corners ○ - SparkICanSeeRightThroughYouLv1 SparkID = 2014701 // I Can See Right Through You - SparkICanSeeRightThroughYouLv2 SparkID = 2014702 // I Can See Right Through You - SparkICanSeeRightThroughYouLv3 SparkID = 2014703 // I Can See Right Through You - SparkAfterSchoolStrollLv1 SparkID = 2014801 // After-School Stroll - SparkAfterSchoolStrollLv2 SparkID = 2014802 // After-School Stroll - SparkAfterSchoolStrollLv3 SparkID = 2014803 // After-School Stroll - SparkLevelheadedLv1 SparkID = 2014901 // Levelheaded - SparkLevelheadedLv2 SparkID = 2014902 // Levelheaded - SparkLevelheadedLv3 SparkID = 2014903 // Levelheaded - SparkStrategistLv1 SparkID = 2015001 // Strategist - SparkStrategistLv2 SparkID = 2015002 // Strategist - SparkStrategistLv3 SparkID = 2015003 // Strategist - SparkIntenseGazeLv1 SparkID = 2015101 // Intense Gaze - SparkIntenseGazeLv2 SparkID = 2015102 // Intense Gaze - SparkIntenseGazeLv3 SparkID = 2015103 // Intense Gaze - SparkFrontRunnerSavvyLv1 SparkID = 2015201 // Front Runner Savvy ○ - SparkFrontRunnerSavvyLv2 SparkID = 2015202 // Front Runner Savvy ○ - SparkFrontRunnerSavvyLv3 SparkID = 2015203 // Front Runner Savvy ○ - SparkPaceChaserSavvyLv1 SparkID = 2015301 // Pace Chaser Savvy ○ - SparkPaceChaserSavvyLv2 SparkID = 2015302 // Pace Chaser Savvy ○ - SparkPaceChaserSavvyLv3 SparkID = 2015303 // Pace Chaser Savvy ○ - SparkLateSurgerSavvyLv1 SparkID = 2015401 // Late Surger Savvy ○ - SparkLateSurgerSavvyLv2 SparkID = 2015402 // Late Surger Savvy ○ - SparkLateSurgerSavvyLv3 SparkID = 2015403 // Late Surger Savvy ○ - SparkEndCloserSavvyLv1 SparkID = 2015501 // End Closer Savvy ○ - SparkEndCloserSavvyLv2 SparkID = 2015502 // End Closer Savvy ○ - SparkEndCloserSavvyLv3 SparkID = 2015503 // End Closer Savvy ○ - SparkLuckySevenLv1 SparkID = 2015601 // Lucky Seven - SparkLuckySevenLv2 SparkID = 2015602 // Lucky Seven - SparkLuckySevenLv3 SparkID = 2015603 // Lucky Seven - SparkTripleSevensLv1 SparkID = 2015701 // Triple 7s - SparkTripleSevensLv2 SparkID = 2015702 // Triple 7s - SparkTripleSevensLv3 SparkID = 2015703 // Triple 7s - SparkHighlanderLv1 SparkID = 2015801 // Highlander - SparkHighlanderLv2 SparkID = 2015802 // Highlander - SparkHighlanderLv3 SparkID = 2015803 // Highlander - SparkUmaStanLv1 SparkID = 2015901 // Uma Stan - SparkUmaStanLv2 SparkID = 2015902 // Uma Stan - SparkUmaStanLv3 SparkID = 2015903 // Uma Stan - SparkGroundworkLv1 SparkID = 2016001 // Groundwork - SparkGroundworkLv2 SparkID = 2016002 // Groundwork - SparkGroundworkLv3 SparkID = 2016003 // Groundwork - SparkTailHeldHighLv1 SparkID = 2016101 // Tail Held High - SparkTailHeldHighLv2 SparkID = 2016102 // Tail Held High - SparkTailHeldHighLv3 SparkID = 2016103 // Tail Held High - SparkShakeItOutLv1 SparkID = 2016201 // Shake It Out - SparkShakeItOutLv2 SparkID = 2016202 // Shake It Out - SparkShakeItOutLv3 SparkID = 2016203 // Shake It Out - SparkSympathyLv1 SparkID = 2016301 // Sympathy - SparkSympathyLv2 SparkID = 2016302 // Sympathy - SparkSympathyLv3 SparkID = 2016303 // Sympathy - SparkLoneWolfLv1 SparkID = 2016401 // Lone Wolf - SparkLoneWolfLv2 SparkID = 2016402 // Lone Wolf - SparkLoneWolfLv3 SparkID = 2016403 // Lone Wolf - SparkSlipstreamLv1 SparkID = 2016501 // Slipstream - SparkSlipstreamLv2 SparkID = 2016502 // Slipstream - SparkSlipstreamLv3 SparkID = 2016503 // Slipstream - SparkPlaytimesOverLv1 SparkID = 2016601 // Playtime's Over! - SparkPlaytimesOverLv2 SparkID = 2016602 // Playtime's Over! - SparkPlaytimesOverLv3 SparkID = 2016603 // Playtime's Over! - SparkTopPickLv1 SparkID = 2016701 // Top Pick - SparkTopPickLv2 SparkID = 2016702 // Top Pick - SparkTopPickLv3 SparkID = 2016703 // Top Pick - SparkForwardMarchLv1 SparkID = 2016801 // Forward, March! - SparkForwardMarchLv2 SparkID = 2016802 // Forward, March! - SparkForwardMarchLv3 SparkID = 2016803 // Forward, March! - SparkBeStillLv1 SparkID = 2016901 // Be Still - SparkBeStillLv2 SparkID = 2016902 // Be Still - SparkBeStillLv3 SparkID = 2016903 // Be Still - SparkAllIveGotLv1 SparkID = 2017001 // All I've Got - SparkAllIveGotLv2 SparkID = 2017002 // All I've Got - SparkAllIveGotLv3 SparkID = 2017003 // All I've Got - SparkHeadOnLv1 SparkID = 2019001 // Head-On - SparkHeadOnLv2 SparkID = 2019002 // Head-On - SparkHeadOnLv3 SparkID = 2019003 // Head-On - SparkFamiliarGroundLv1 SparkID = 2020001 // Familiar Ground - SparkFamiliarGroundLv2 SparkID = 2020002 // Familiar Ground - SparkFamiliarGroundLv3 SparkID = 2020003 // Familiar Ground - SparkFeatureActLv1 SparkID = 2020101 // Feature Act - SparkFeatureActLv2 SparkID = 2020102 // Feature Act - SparkFeatureActLv3 SparkID = 2020103 // Feature Act - SparkEarlyStartLv1 SparkID = 2020201 // Early Start - SparkEarlyStartLv2 SparkID = 2020202 // Early Start - SparkEarlyStartLv3 SparkID = 2020203 // Early Start - SparkRiskyBusinessLv1 SparkID = 2020301 // Risky Business - SparkRiskyBusinessLv2 SparkID = 2020302 // Risky Business - SparkRiskyBusinessLv3 SparkID = 2020303 // Risky Business - SparkLightasaFeatherLv1 SparkID = 2020401 // Light as a Feather - SparkLightasaFeatherLv2 SparkID = 2020402 // Light as a Feather - SparkLightasaFeatherLv3 SparkID = 2020403 // Light as a Feather - SparkIgnitedSpiritSPDLv1 SparkID = 2100101 // Ignited Spirit SPD - SparkIgnitedSpiritSPDLv2 SparkID = 2100102 // Ignited Spirit SPD - SparkIgnitedSpiritSPDLv3 SparkID = 2100103 // Ignited Spirit SPD - SparkIgnitedSpiritSTALv1 SparkID = 2100201 // Ignited Spirit STA - SparkIgnitedSpiritSTALv2 SparkID = 2100202 // Ignited Spirit STA - SparkIgnitedSpiritSTALv3 SparkID = 2100203 // Ignited Spirit STA - SparkIgnitedSpiritPWRLv1 SparkID = 2100301 // Ignited Spirit PWR - SparkIgnitedSpiritPWRLv2 SparkID = 2100302 // Ignited Spirit PWR - SparkIgnitedSpiritPWRLv3 SparkID = 2100303 // Ignited Spirit PWR - SparkIgnitedSpiritGUTSLv1 SparkID = 2100401 // Ignited Spirit GUTS - SparkIgnitedSpiritGUTSLv2 SparkID = 2100402 // Ignited Spirit GUTS - SparkIgnitedSpiritGUTSLv3 SparkID = 2100403 // Ignited Spirit GUTS - SparkIgnitedSpiritWITLv1 SparkID = 2100501 // Ignited Spirit WIT - SparkIgnitedSpiritWITLv2 SparkID = 2100502 // Ignited Spirit WIT - SparkIgnitedSpiritWITLv3 SparkID = 2100503 // Ignited Spirit WIT - SparkURAFinaleLv1 SparkID = 3000101 // URA Finale - SparkURAFinaleLv2 SparkID = 3000102 // URA Finale - SparkURAFinaleLv3 SparkID = 3000103 // URA Finale - SparkUnityCupLv1 SparkID = 3000201 // Unity Cup - SparkUnityCupLv2 SparkID = 3000202 // Unity Cup - SparkUnityCupLv3 SparkID = 3000203 // Unity Cup - SparkShootingStarLv1 SparkID = 10010101 // Shooting Star - SparkShootingStarLv2 SparkID = 10010102 // Shooting Star - SparkShootingStarLv3 SparkID = 10010103 // Shooting Star - SparkDazzlnDiverLv1 SparkID = 10010201 // Dazzl'n ♪ Diver - SparkDazzlnDiverLv2 SparkID = 10010202 // Dazzl'n ♪ Diver - SparkDazzlnDiverLv3 SparkID = 10010203 // Dazzl'n ♪ Diver - SparkTheViewfromtheLeadIsMineLv1 SparkID = 10020101 // The View from the Lead Is Mine! - SparkTheViewfromtheLeadIsMineLv2 SparkID = 10020102 // The View from the Lead Is Mine! - SparkTheViewfromtheLeadIsMineLv3 SparkID = 10020103 // The View from the Lead Is Mine! - SparkSkyHighTeioStepLv1 SparkID = 10030101 // Sky-High Teio Step - SparkSkyHighTeioStepLv2 SparkID = 10030102 // Sky-High Teio Step - SparkSkyHighTeioStepLv3 SparkID = 10030103 // Sky-High Teio Step - SparkCertainVictoryLv1 SparkID = 10030201 // Certain Victory - SparkCertainVictoryLv2 SparkID = 10030202 // Certain Victory - SparkCertainVictoryLv3 SparkID = 10030203 // Certain Victory - SparkRedShiftLP1211MLv1 SparkID = 10040101 // Red Shift/LP1211-M - SparkRedShiftLP1211MLv2 SparkID = 10040102 // Red Shift/LP1211-M - SparkRedShiftLP1211MLv3 SparkID = 10040103 // Red Shift/LP1211-M - SparkAKissforCourageLv1 SparkID = 10040201 // A Kiss for Courage - SparkAKissforCourageLv2 SparkID = 10040202 // A Kiss for Courage - SparkAKissforCourageLv3 SparkID = 10040203 // A Kiss for Courage - SparkLightsofVaudevilleLv1 SparkID = 10050101 // Lights of Vaudeville - SparkLightsofVaudevilleLv2 SparkID = 10050102 // Lights of Vaudeville - SparkLightsofVaudevilleLv3 SparkID = 10050103 // Lights of Vaudeville - SparkTriumphantPulseLv1 SparkID = 10060101 // Triumphant Pulse - SparkTriumphantPulseLv2 SparkID = 10060102 // Triumphant Pulse - SparkTriumphantPulseLv3 SparkID = 10060103 // Triumphant Pulse - SparkFestiveMiracleLv1 SparkID = 10060201 // Festive Miracle - SparkFestiveMiracleLv2 SparkID = 10060202 // Festive Miracle - SparkFestiveMiracleLv3 SparkID = 10060203 // Festive Miracle - SparkAnchorsAweighLv1 SparkID = 10070101 // Anchors Aweigh! - SparkAnchorsAweighLv2 SparkID = 10070102 // Anchors Aweigh! - SparkAnchorsAweighLv3 SparkID = 10070103 // Anchors Aweigh! - SparkCutandDriveLv1 SparkID = 10080101 // Cut and Drive! - SparkCutandDriveLv2 SparkID = 10080102 // Cut and Drive! - SparkCutandDriveLv3 SparkID = 10080103 // Cut and Drive! - SparkResplendentRedAceLv1 SparkID = 10090101 // Resplendent Red Ace - SparkResplendentRedAceLv2 SparkID = 10090102 // Resplendent Red Ace - SparkResplendentRedAceLv3 SparkID = 10090103 // Resplendent Red Ace - SparkShootingforVictoryLv1 SparkID = 10100101 // Shooting for Victory! - SparkShootingforVictoryLv2 SparkID = 10100102 // Shooting for Victory! - SparkShootingforVictoryLv3 SparkID = 10100103 // Shooting for Victory! - SparkWhereTheresaWillTheresaWayLv1 SparkID = 10110101 // Where There's a Will, There's a Way - SparkWhereTheresaWillTheresaWayLv2 SparkID = 10110102 // Where There's a Will, There's a Way - SparkWhereTheresaWillTheresaWayLv3 SparkID = 10110103 // Where There's a Will, There's a Way - SparkSuperiorHealLv1 SparkID = 10110201 // Superior Heal - SparkSuperiorHealLv2 SparkID = 10110202 // Superior Heal - SparkSuperiorHealLv3 SparkID = 10110203 // Superior Heal - SparkYouandMeOneonOneLv1 SparkID = 10120101 // You and Me! One-on-One! - SparkYouandMeOneonOneLv2 SparkID = 10120102 // You and Me! One-on-One! - SparkYouandMeOneonOneLv3 SparkID = 10120103 // You and Me! One-on-One! - SparkTheDutyofDignityCallsLv1 SparkID = 10130101 // The Duty of Dignity Calls - SparkTheDutyofDignityCallsLv2 SparkID = 10130102 // The Duty of Dignity Calls - SparkTheDutyofDignityCallsLv3 SparkID = 10130103 // The Duty of Dignity Calls - SparkLegacyoftheStrongLv1 SparkID = 10130201 // Legacy of the Strong - SparkLegacyoftheStrongLv2 SparkID = 10130202 // Legacy of the Strong - SparkLegacyoftheStrongLv3 SparkID = 10130203 // Legacy of the Strong - SparkVictoriaporplanchaLv1 SparkID = 10140101 // Victoria por plancha ☆ - SparkVictoriaporplanchaLv2 SparkID = 10140102 // Victoria por plancha ☆ - SparkVictoriaporplanchaLv3 SparkID = 10140103 // Victoria por plancha ☆ - SparkCondorsFuryLv1 SparkID = 10140201 // Condor's Fury - SparkCondorsFuryLv2 SparkID = 10140202 // Condor's Fury - SparkCondorsFuryLv3 SparkID = 10140203 // Condor's Fury - SparkThisDanceIsforVittoriaLv1 SparkID = 10150101 // This Dance Is for Vittoria! - SparkThisDanceIsforVittoriaLv2 SparkID = 10150102 // This Dance Is for Vittoria! - SparkThisDanceIsforVittoriaLv3 SparkID = 10150103 // This Dance Is for Vittoria! - SparkBarcaroleofBlessingsLv1 SparkID = 10150201 // Barcarole of Blessings - SparkBarcaroleofBlessingsLv2 SparkID = 10150202 // Barcarole of Blessings - SparkBarcaroleofBlessingsLv3 SparkID = 10150203 // Barcarole of Blessings - SparkShadowBreakLv1 SparkID = 10160101 // Shadow Break - SparkShadowBreakLv2 SparkID = 10160102 // Shadow Break - SparkShadowBreakLv3 SparkID = 10160103 // Shadow Break - SparkBeholdThineEmperorsDivineMightLv1 SparkID = 10170101 // Behold Thine Emperor's Divine Might - SparkBeholdThineEmperorsDivineMightLv2 SparkID = 10170102 // Behold Thine Emperor's Divine Might - SparkBeholdThineEmperorsDivineMightLv3 SparkID = 10170103 // Behold Thine Emperor's Divine Might - SparkArrowsWhistleShadowsDisperseLv1 SparkID = 10170201 // Arrows Whistle, Shadows Disperse - SparkArrowsWhistleShadowsDisperseLv2 SparkID = 10170202 // Arrows Whistle, Shadows Disperse - SparkArrowsWhistleShadowsDisperseLv3 SparkID = 10170203 // Arrows Whistle, Shadows Disperse - SparkBlazingPrideLv1 SparkID = 10180101 // Blazing Pride - SparkBlazingPrideLv2 SparkID = 10180102 // Blazing Pride - SparkBlazingPrideLv3 SparkID = 10180103 // Blazing Pride - SparkEternalMomentsLv1 SparkID = 10180201 // Eternal Moments - SparkEternalMomentsLv2 SparkID = 10180202 // Eternal Moments - SparkEternalMomentsLv3 SparkID = 10180203 // Eternal Moments - SparkOMGTheFinalSprintLv1 SparkID = 10190101 // OMG! (゚∀゚) The Final Sprint! ☆ - SparkOMGTheFinalSprintLv2 SparkID = 10190102 // OMG! (゚∀゚) The Final Sprint! ☆ - SparkOMGTheFinalSprintLv3 SparkID = 10190103 // OMG! (゚∀゚) The Final Sprint! ☆ - SparkAnglingandSchemingLv1 SparkID = 10200101 // Angling and Scheming - SparkAnglingandSchemingLv2 SparkID = 10200102 // Angling and Scheming - SparkAnglingandSchemingLv3 SparkID = 10200103 // Angling and Scheming - SparkWhiteLightningCominThroughLv1 SparkID = 10210101 // White Lightning Comin' Through! - SparkWhiteLightningCominThroughLv2 SparkID = 10210102 // White Lightning Comin' Through! - SparkWhiteLightningCominThroughLv3 SparkID = 10210103 // White Lightning Comin' Through! - SparkFairyTaleLv1 SparkID = 10220101 // Fairy Tale - SparkFairyTaleLv2 SparkID = 10220102 // Fairy Tale - SparkFairyTaleLv3 SparkID = 10220103 // Fairy Tale - SparkWinQEDLv1 SparkID = 10230101 // ∴win Q.E.D. - SparkWinQEDLv2 SparkID = 10230102 // ∴win Q.E.D. - SparkWinQEDLv3 SparkID = 10230103 // ∴win Q.E.D. - SparkPresentsfromXLv1 SparkID = 10230201 // Presents from X - SparkPresentsfromXLv2 SparkID = 10230202 // Presents from X - SparkPresentsfromXLv3 SparkID = 10230203 // Presents from X - SparkFlashyLandingLv1 SparkID = 10240101 // Flashy☆Landing - SparkFlashyLandingLv2 SparkID = 10240102 // Flashy☆Landing - SparkFlashyLandingLv3 SparkID = 10240103 // Flashy☆Landing - SparkFloweryManeuverLv1 SparkID = 10240201 // Flowery☆Maneuver - SparkFloweryManeuverLv2 SparkID = 10240202 // Flowery☆Maneuver - SparkFloweryManeuverLv3 SparkID = 10240203 // Flowery☆Maneuver - SparkChasingafterYouLv1 SparkID = 10250101 // Chasing after You - SparkChasingafterYouLv2 SparkID = 10250102 // Chasing after You - SparkChasingafterYouLv3 SparkID = 10250103 // Chasing after You - SparkG00FirstFInfinityLv1 SparkID = 10260101 // G00 1st. F∞; - SparkG00FirstFInfinityLv2 SparkID = 10260102 // G00 1st. F∞; - SparkG00FirstFInfinityLv3 SparkID = 10260103 // G00 1st. F∞; - SparkOperationCacaoLv1 SparkID = 10260201 // Operation Cacao - SparkOperationCacaoLv2 SparkID = 10260202 // Operation Cacao - SparkOperationCacaoLv3 SparkID = 10260203 // Operation Cacao - SparkLetsPumpSomeIronLv1 SparkID = 10270101 // Let's Pump Some Iron! - SparkLetsPumpSomeIronLv2 SparkID = 10270102 // Let's Pump Some Iron! - SparkLetsPumpSomeIronLv3 SparkID = 10270103 // Let's Pump Some Iron! - SparkYUMMYSPEEDLv1 SparkID = 10280101 // YUMMY☆SPEED! - SparkYUMMYSPEEDLv2 SparkID = 10280102 // YUMMY☆SPEED! - SparkYUMMYSPEEDLv3 SparkID = 10280103 // YUMMY☆SPEED! - SparkBlueRoseCloserLv1 SparkID = 10300101 // Blue Rose Closer - SparkBlueRoseCloserLv2 SparkID = 10300102 // Blue Rose Closer - SparkBlueRoseCloserLv3 SparkID = 10300103 // Blue Rose Closer - SparkEveryRoseHasItsFangsLv1 SparkID = 10300201 // Every Rose Has Its Fangs - SparkEveryRoseHasItsFangsLv2 SparkID = 10300202 // Every Rose Has Its Fangs - SparkEveryRoseHasItsFangsLv3 SparkID = 10300203 // Every Rose Has Its Fangs - SparkUma2Lv1 SparkID = 10320101 // U=ma2 - SparkUma2Lv2 SparkID = 10320102 // U=ma2 - SparkUma2Lv3 SparkID = 10320103 // U=ma2 - SparkShootingStarofDioskouroiLv1 SparkID = 10330101 // Shooting Star of Dioskouroi - SparkShootingStarofDioskouroiLv2 SparkID = 10330102 // Shooting Star of Dioskouroi - SparkShootingStarofDioskouroiLv3 SparkID = 10330103 // Shooting Star of Dioskouroi - SparkOurTickettoWinLv1 SparkID = 10350101 // Our Ticket to Win! - SparkOurTickettoWinLv2 SparkID = 10350102 // Our Ticket to Win! - SparkOurTickettoWinLv3 SparkID = 10350103 // Our Ticket to Win! - SparkSchwarzesSchwertLv1 SparkID = 10370101 // Schwarzes Schwert - SparkSchwarzesSchwertLv2 SparkID = 10370102 // Schwarzes Schwert - SparkSchwarzesSchwertLv3 SparkID = 10370103 // Schwarzes Schwert - SparkGutenAppetitLv1 SparkID = 10370201 // Guten Appetit ♪ - SparkGutenAppetitLv2 SparkID = 10370202 // Guten Appetit ♪ - SparkGutenAppetitLv3 SparkID = 10370203 // Guten Appetit ♪ - SparkLookatCurrenLv1 SparkID = 10380101 // #LookatCurren - SparkLookatCurrenLv2 SparkID = 10380102 // #LookatCurren - SparkLookatCurrenLv3 SparkID = 10380103 // #LookatCurren - SparkAPrincessMustSeizeVictoryLv1 SparkID = 10390101 // A Princess Must Seize Victory! - SparkAPrincessMustSeizeVictoryLv2 SparkID = 10390102 // A Princess Must Seize Victory! - SparkAPrincessMustSeizeVictoryLv3 SparkID = 10390103 // A Princess Must Seize Victory! - SparkKEEPITREALLv1 SparkID = 10400101 // KEEP IT REAL. - SparkKEEPITREALLv2 SparkID = 10400102 // KEEP IT REAL. - SparkKEEPITREALLv3 SparkID = 10400103 // KEEP IT REAL. - SparkDancingintheLeavesLv1 SparkID = 10400201 // Dancing in the Leaves - SparkDancingintheLeavesLv2 SparkID = 10400202 // Dancing in the Leaves - SparkDancingintheLeavesLv3 SparkID = 10400203 // Dancing in the Leaves - SparkGeniusxBakushinVictoryLv1 SparkID = 10410101 // Genius x Bakushin = Victory - SparkGeniusxBakushinVictoryLv2 SparkID = 10410102 // Genius x Bakushin = Victory - SparkGeniusxBakushinVictoryLv3 SparkID = 10410103 // Genius x Bakushin = Victory - SparkPureHeartLv1 SparkID = 10450101 // Pure Heart - SparkPureHeartLv2 SparkID = 10450102 // Pure Heart - SparkPureHeartLv3 SparkID = 10450103 // Pure Heart - SparkGiveMummyaHugLv1 SparkID = 10450201 // Give Mummy a Hug ♡ - SparkGiveMummyaHugLv2 SparkID = 10450202 // Give Mummy a Hug ♡ - SparkGiveMummyaHugLv3 SparkID = 10450203 // Give Mummy a Hug ♡ - SparkSPARKLYSTARDOMLv1 SparkID = 10460101 // SPARKLY☆STARDOM - SparkSPARKLYSTARDOMLv2 SparkID = 10460102 // SPARKLY☆STARDOM - SparkSPARKLYSTARDOMLv3 SparkID = 10460103 // SPARKLY☆STARDOM - SparkPopAndPolishLv1 SparkID = 10480101 // Pop & Polish - SparkPopAndPolishLv2 SparkID = 10480102 // Pop & Polish - SparkPopAndPolishLv3 SparkID = 10480103 // Pop & Polish - SparkNemesisLv1 SparkID = 10500101 // Nemesis - SparkNemesisLv2 SparkID = 10500102 // Nemesis - SparkNemesisLv3 SparkID = 10500103 // Nemesis - SparkSuperDuperClimaxLv1 SparkID = 10520101 // Super-Duper Climax - SparkSuperDuperClimaxLv2 SparkID = 10520102 // Super-Duper Climax - SparkSuperDuperClimaxLv3 SparkID = 10520103 // Super-Duper Climax - Spark114thTimestheCharmLv1 SparkID = 10520201 // 114th Time's the Charm - Spark114thTimestheCharmLv2 SparkID = 10520202 // 114th Time's the Charm - Spark114thTimestheCharmLv3 SparkID = 10520203 // 114th Time's the Charm - SparkISeeVictoryinMyFutureLv1 SparkID = 10560101 // I See Victory in My Future! - SparkISeeVictoryinMyFutureLv2 SparkID = 10560102 // I See Victory in My Future! - SparkISeeVictoryinMyFutureLv3 SparkID = 10560103 // I See Victory in My Future! - SparkBountifulHarvestLv1 SparkID = 10560201 // Bountiful Harvest - SparkBountifulHarvestLv2 SparkID = 10560202 // Bountiful Harvest - SparkBountifulHarvestLv3 SparkID = 10560203 // Bountiful Harvest - SparkINeverGoofUpLv1 SparkID = 10580101 // I Never Goof Up! - SparkINeverGoofUpLv2 SparkID = 10580102 // I Never Goof Up! - SparkINeverGoofUpLv3 SparkID = 10580103 // I Never Goof Up! - SparkMovingPastandBeyondLv1 SparkID = 10590101 // Moving Past, and Beyond - SparkMovingPastandBeyondLv2 SparkID = 10590102 // Moving Past, and Beyond - SparkMovingPastandBeyondLv3 SparkID = 10590103 // Moving Past, and Beyond - SparkJustaLittleFartherLv1 SparkID = 10600101 // Just a Little Farther! - SparkJustaLittleFartherLv2 SparkID = 10600102 // Just a Little Farther! - SparkJustaLittleFartherLv3 SparkID = 10600103 // Just a Little Farther! - SparkPridefulKingLv1 SparkID = 10610101 // Prideful King - SparkPridefulKingLv2 SparkID = 10610102 // Prideful King - SparkPridefulKingLv3 SparkID = 10610103 // Prideful King - SparkAmbitiontoSurpasstheSakuraLv1 SparkID = 10690101 // Ambition to Surpass the Sakura - SparkAmbitiontoSurpasstheSakuraLv2 SparkID = 10690102 // Ambition to Surpass the Sakura - SparkAmbitiontoSurpasstheSakuraLv3 SparkID = 10690103 // Ambition to Surpass the Sakura - SparkALifelongDreamAMomentsFlightLv1 SparkID = 10710101 // A Lifelong Dream, A Moment's Flight - SparkALifelongDreamAMomentsFlightLv2 SparkID = 10710102 // A Lifelong Dream, A Moment's Flight - SparkALifelongDreamAMomentsFlightLv3 SparkID = 10710103 // A Lifelong Dream, A Moment's Flight -) - -var AllSparks = map[SparkID]Spark{ - SparkSpeedLv1: { - ID: 101, - Name: "Speed", - Description: "A Spark that increases Speed.", - Group: 1, - Rarity: 1, - Type: 1, - Effects: [][]SparkEffect{ - {{1, 1, 0}}, - {{1, 4, 0}}, - {{1, 7, 0}}, - {{1, 10, 0}}, - {{1, 13, 0}}, - {{1, 16, 0}}, - {{1, 19, 0}}, - {{1, 22, 0}}, - {{1, 25, 0}}, - {{1, 28, 0}}, - }, - }, - SparkSpeedLv2: { - ID: 102, - Name: "Speed", - Description: "A Spark that increases Speed.", - Group: 1, - Rarity: 2, - Type: 1, - Effects: [][]SparkEffect{ - {{1, 1, 0}}, - {{1, 4, 0}}, - {{1, 7, 0}}, - {{1, 10, 0}}, - {{1, 13, 0}}, - {{1, 16, 0}}, - {{1, 19, 0}}, - {{1, 22, 0}}, - {{1, 25, 0}}, - {{1, 28, 0}}, - }, - }, - SparkSpeedLv3: { - ID: 103, - Name: "Speed", - Description: "A Spark that increases Speed.", - Group: 1, - Rarity: 3, - Type: 1, - Effects: [][]SparkEffect{ - {{1, 1, 0}}, - {{1, 4, 0}}, - {{1, 7, 0}}, - {{1, 10, 0}}, - {{1, 13, 0}}, - {{1, 16, 0}}, - {{1, 19, 0}}, - {{1, 22, 0}}, - {{1, 25, 0}}, - {{1, 28, 0}}, - }, - }, - SparkStaminaLv1: { - ID: 201, - Name: "Stamina", - Description: "A Spark that increases Stamina.", - Group: 2, - Rarity: 1, - Type: 1, - Effects: [][]SparkEffect{ - {{2, 1, 0}}, - {{2, 4, 0}}, - {{2, 7, 0}}, - {{2, 10, 0}}, - {{2, 13, 0}}, - {{2, 16, 0}}, - {{2, 19, 0}}, - {{2, 22, 0}}, - {{2, 25, 0}}, - {{2, 28, 0}}, - }, - }, - SparkStaminaLv2: { - ID: 202, - Name: "Stamina", - Description: "A Spark that increases Stamina.", - Group: 2, - Rarity: 2, - Type: 1, - Effects: [][]SparkEffect{ - {{2, 1, 0}}, - {{2, 4, 0}}, - {{2, 7, 0}}, - {{2, 10, 0}}, - {{2, 13, 0}}, - {{2, 16, 0}}, - {{2, 19, 0}}, - {{2, 22, 0}}, - {{2, 25, 0}}, - {{2, 28, 0}}, - }, - }, - SparkStaminaLv3: { - ID: 203, - Name: "Stamina", - Description: "A Spark that increases Stamina.", - Group: 2, - Rarity: 3, - Type: 1, - Effects: [][]SparkEffect{ - {{2, 1, 0}}, - {{2, 4, 0}}, - {{2, 7, 0}}, - {{2, 10, 0}}, - {{2, 13, 0}}, - {{2, 16, 0}}, - {{2, 19, 0}}, - {{2, 22, 0}}, - {{2, 25, 0}}, - {{2, 28, 0}}, - }, - }, - SparkPowerLv1: { - ID: 301, - Name: "Power", - Description: "A Spark that increases Power.", - Group: 3, - Rarity: 1, - Type: 1, - Effects: [][]SparkEffect{ - {{3, 1, 0}}, - {{3, 4, 0}}, - {{3, 7, 0}}, - {{3, 10, 0}}, - {{3, 13, 0}}, - {{3, 16, 0}}, - {{3, 19, 0}}, - {{3, 22, 0}}, - {{3, 25, 0}}, - {{3, 28, 0}}, - }, - }, - SparkPowerLv2: { - ID: 302, - Name: "Power", - Description: "A Spark that increases Power.", - Group: 3, - Rarity: 2, - Type: 1, - Effects: [][]SparkEffect{ - {{3, 1, 0}}, - {{3, 4, 0}}, - {{3, 7, 0}}, - {{3, 10, 0}}, - {{3, 13, 0}}, - {{3, 16, 0}}, - {{3, 19, 0}}, - {{3, 22, 0}}, - {{3, 25, 0}}, - {{3, 28, 0}}, - }, - }, - SparkPowerLv3: { - ID: 303, - Name: "Power", - Description: "A Spark that increases Power.", - Group: 3, - Rarity: 3, - Type: 1, - Effects: [][]SparkEffect{ - {{3, 1, 0}}, - {{3, 4, 0}}, - {{3, 7, 0}}, - {{3, 10, 0}}, - {{3, 13, 0}}, - {{3, 16, 0}}, - {{3, 19, 0}}, - {{3, 22, 0}}, - {{3, 25, 0}}, - {{3, 28, 0}}, - }, - }, - SparkGutsLv1: { - ID: 401, - Name: "Guts", - Description: "A Spark that increases Guts.", - Group: 4, - Rarity: 1, - Type: 1, - Effects: [][]SparkEffect{ - {{4, 1, 0}}, - {{4, 4, 0}}, - {{4, 7, 0}}, - {{4, 10, 0}}, - {{4, 13, 0}}, - {{4, 16, 0}}, - {{4, 19, 0}}, - {{4, 22, 0}}, - {{4, 25, 0}}, - {{4, 28, 0}}, - }, - }, - SparkGutsLv2: { - ID: 402, - Name: "Guts", - Description: "A Spark that increases Guts.", - Group: 4, - Rarity: 2, - Type: 1, - Effects: [][]SparkEffect{ - {{4, 1, 0}}, - {{4, 4, 0}}, - {{4, 7, 0}}, - {{4, 10, 0}}, - {{4, 13, 0}}, - {{4, 16, 0}}, - {{4, 19, 0}}, - {{4, 22, 0}}, - {{4, 25, 0}}, - {{4, 28, 0}}, - }, - }, - SparkGutsLv3: { - ID: 403, - Name: "Guts", - Description: "A Spark that increases Guts.", - Group: 4, - Rarity: 3, - Type: 1, - Effects: [][]SparkEffect{ - {{4, 1, 0}}, - {{4, 4, 0}}, - {{4, 7, 0}}, - {{4, 10, 0}}, - {{4, 13, 0}}, - {{4, 16, 0}}, - {{4, 19, 0}}, - {{4, 22, 0}}, - {{4, 25, 0}}, - {{4, 28, 0}}, - }, - }, - SparkWitLv1: { - ID: 501, - Name: "Wit", - Description: "A Spark that increases Wit.", - Group: 5, - Rarity: 1, - Type: 1, - Effects: [][]SparkEffect{ - {{5, 1, 0}}, - {{5, 4, 0}}, - {{5, 7, 0}}, - {{5, 10, 0}}, - {{5, 13, 0}}, - {{5, 16, 0}}, - {{5, 19, 0}}, - {{5, 22, 0}}, - {{5, 25, 0}}, - {{5, 28, 0}}, - }, - }, - SparkWitLv2: { - ID: 502, - Name: "Wit", - Description: "A Spark that increases Wit.", - Group: 5, - Rarity: 2, - Type: 1, - Effects: [][]SparkEffect{ - {{5, 1, 0}}, - {{5, 4, 0}}, - {{5, 7, 0}}, - {{5, 10, 0}}, - {{5, 13, 0}}, - {{5, 16, 0}}, - {{5, 19, 0}}, - {{5, 22, 0}}, - {{5, 25, 0}}, - {{5, 28, 0}}, - }, - }, - SparkWitLv3: { - ID: 503, - Name: "Wit", - Description: "A Spark that increases Wit.", - Group: 5, - Rarity: 3, - Type: 1, - Effects: [][]SparkEffect{ - {{5, 1, 0}}, - {{5, 4, 0}}, - {{5, 7, 0}}, - {{5, 10, 0}}, - {{5, 13, 0}}, - {{5, 16, 0}}, - {{5, 19, 0}}, - {{5, 22, 0}}, - {{5, 25, 0}}, - {{5, 28, 0}}, - }, - }, - SparkTurfLv1: { - ID: 1101, - Name: "Turf", - Description: "A Spark that increases Turf Aptitude.", - Group: 11, - Rarity: 1, - Type: 2, - Effects: [][]SparkEffect{ - {{11, 1, 0}}, - {{11, 2, 0}}, - }, - }, - SparkTurfLv2: { - ID: 1102, - Name: "Turf", - Description: "A Spark that increases Turf Aptitude.", - Group: 11, - Rarity: 2, - Type: 2, - Effects: [][]SparkEffect{ - {{11, 1, 0}}, - {{11, 2, 0}}, - }, - }, - SparkTurfLv3: { - ID: 1103, - Name: "Turf", - Description: "A Spark that increases Turf Aptitude.", - Group: 11, - Rarity: 3, - Type: 2, - Effects: [][]SparkEffect{ - {{11, 1, 0}}, - {{11, 2, 0}}, - }, - }, - SparkDirtLv1: { - ID: 1201, - Name: "Dirt", - Description: "A Spark that increases Dirt Aptitude.", - Group: 12, - Rarity: 1, - Type: 2, - Effects: [][]SparkEffect{ - {{12, 1, 0}}, - {{12, 2, 0}}, - }, - }, - SparkDirtLv2: { - ID: 1202, - Name: "Dirt", - Description: "A Spark that increases Dirt Aptitude.", - Group: 12, - Rarity: 2, - Type: 2, - Effects: [][]SparkEffect{ - {{12, 1, 0}}, - {{12, 2, 0}}, - }, - }, - SparkDirtLv3: { - ID: 1203, - Name: "Dirt", - Description: "A Spark that increases Dirt Aptitude.", - Group: 12, - Rarity: 3, - Type: 2, - Effects: [][]SparkEffect{ - {{12, 1, 0}}, - {{12, 2, 0}}, - }, - }, - SparkFrontRunnerLv1: { - ID: 2101, - Name: "Front Runner", - Description: "A Spark that increases Front Runner Aptitude.", - Group: 21, - Rarity: 1, - Type: 2, - Effects: [][]SparkEffect{ - {{21, 1, 0}}, - {{21, 2, 0}}, - }, - }, - SparkFrontRunnerLv2: { - ID: 2102, - Name: "Front Runner", - Description: "A Spark that increases Front Runner Aptitude.", - Group: 21, - Rarity: 2, - Type: 2, - Effects: [][]SparkEffect{ - {{21, 1, 0}}, - {{21, 2, 0}}, - }, - }, - SparkFrontRunnerLv3: { - ID: 2103, - Name: "Front Runner", - Description: "A Spark that increases Front Runner Aptitude.", - Group: 21, - Rarity: 3, - Type: 2, - Effects: [][]SparkEffect{ - {{21, 1, 0}}, - {{21, 2, 0}}, - }, - }, - SparkPaceChaserLv1: { - ID: 2201, - Name: "Pace Chaser", - Description: "A Spark that increases Pace Chaser Aptitude.", - Group: 22, - Rarity: 1, - Type: 2, - Effects: [][]SparkEffect{ - {{22, 1, 0}}, - {{22, 2, 0}}, - }, - }, - SparkPaceChaserLv2: { - ID: 2202, - Name: "Pace Chaser", - Description: "A Spark that increases Pace Chaser Aptitude.", - Group: 22, - Rarity: 2, - Type: 2, - Effects: [][]SparkEffect{ - {{22, 1, 0}}, - {{22, 2, 0}}, - }, - }, - SparkPaceChaserLv3: { - ID: 2203, - Name: "Pace Chaser", - Description: "A Spark that increases Pace Chaser Aptitude.", - Group: 22, - Rarity: 3, - Type: 2, - Effects: [][]SparkEffect{ - {{22, 1, 0}}, - {{22, 2, 0}}, - }, - }, - SparkLateSurgerLv1: { - ID: 2301, - Name: "Late Surger", - Description: "A Spark that increases Late Surger Aptitude.", - Group: 23, - Rarity: 1, - Type: 2, - Effects: [][]SparkEffect{ - {{23, 1, 0}}, - {{23, 2, 0}}, - }, - }, - SparkLateSurgerLv2: { - ID: 2302, - Name: "Late Surger", - Description: "A Spark that increases Late Surger Aptitude.", - Group: 23, - Rarity: 2, - Type: 2, - Effects: [][]SparkEffect{ - {{23, 1, 0}}, - {{23, 2, 0}}, - }, - }, - SparkLateSurgerLv3: { - ID: 2303, - Name: "Late Surger", - Description: "A Spark that increases Late Surger Aptitude.", - Group: 23, - Rarity: 3, - Type: 2, - Effects: [][]SparkEffect{ - {{23, 1, 0}}, - {{23, 2, 0}}, - }, - }, - SparkEndCloserLv1: { - ID: 2401, - Name: "End Closer", - Description: "A Spark that increases End Closer Aptitude.", - Group: 24, - Rarity: 1, - Type: 2, - Effects: [][]SparkEffect{ - {{24, 1, 0}}, - {{24, 2, 0}}, - }, - }, - SparkEndCloserLv2: { - ID: 2402, - Name: "End Closer", - Description: "A Spark that increases End Closer Aptitude.", - Group: 24, - Rarity: 2, - Type: 2, - Effects: [][]SparkEffect{ - {{24, 1, 0}}, - {{24, 2, 0}}, - }, - }, - SparkEndCloserLv3: { - ID: 2403, - Name: "End Closer", - Description: "A Spark that increases End Closer Aptitude.", - Group: 24, - Rarity: 3, - Type: 2, - Effects: [][]SparkEffect{ - {{24, 1, 0}}, - {{24, 2, 0}}, - }, - }, - SparkSprintLv1: { - ID: 3101, - Name: "Sprint", - Description: "A Spark that increases Sprint-Distance Aptitude.", - Group: 31, - Rarity: 1, - Type: 2, - Effects: [][]SparkEffect{ - {{31, 1, 0}}, - {{31, 2, 0}}, - }, - }, - SparkSprintLv2: { - ID: 3102, - Name: "Sprint", - Description: "A Spark that increases Sprint-Distance Aptitude.", - Group: 31, - Rarity: 2, - Type: 2, - Effects: [][]SparkEffect{ - {{31, 1, 0}}, - {{31, 2, 0}}, - }, - }, - SparkSprintLv3: { - ID: 3103, - Name: "Sprint", - Description: "A Spark that increases Sprint-Distance Aptitude.", - Group: 31, - Rarity: 3, - Type: 2, - Effects: [][]SparkEffect{ - {{31, 1, 0}}, - {{31, 2, 0}}, - }, - }, - SparkMileLv1: { - ID: 3201, - Name: "Mile", - Description: "A Spark that increases Mile-Distance Aptitude.", - Group: 32, - Rarity: 1, - Type: 2, - Effects: [][]SparkEffect{ - {{32, 1, 0}}, - {{32, 2, 0}}, - }, - }, - SparkMileLv2: { - ID: 3202, - Name: "Mile", - Description: "A Spark that increases Mile-Distance Aptitude.", - Group: 32, - Rarity: 2, - Type: 2, - Effects: [][]SparkEffect{ - {{32, 1, 0}}, - {{32, 2, 0}}, - }, - }, - SparkMileLv3: { - ID: 3203, - Name: "Mile", - Description: "A Spark that increases Mile-Distance Aptitude.", - Group: 32, - Rarity: 3, - Type: 2, - Effects: [][]SparkEffect{ - {{32, 1, 0}}, - {{32, 2, 0}}, - }, - }, - SparkMediumLv1: { - ID: 3301, - Name: "Medium", - Description: "A Spark that increases Medium-Distance Aptitude.", - Group: 33, - Rarity: 1, - Type: 2, - Effects: [][]SparkEffect{ - {{33, 1, 0}}, - {{33, 2, 0}}, - }, - }, - SparkMediumLv2: { - ID: 3302, - Name: "Medium", - Description: "A Spark that increases Medium-Distance Aptitude.", - Group: 33, - Rarity: 2, - Type: 2, - Effects: [][]SparkEffect{ - {{33, 1, 0}}, - {{33, 2, 0}}, - }, - }, - SparkMediumLv3: { - ID: 3303, - Name: "Medium", - Description: "A Spark that increases Medium-Distance Aptitude.", - Group: 33, - Rarity: 3, - Type: 2, - Effects: [][]SparkEffect{ - {{33, 1, 0}}, - {{33, 2, 0}}, - }, - }, - SparkLongLv1: { - ID: 3401, - Name: "Long", - Description: "A Spark that increases Long-Distance Aptitude.", - Group: 34, - Rarity: 1, - Type: 2, - Effects: [][]SparkEffect{ - {{34, 1, 0}}, - {{34, 2, 0}}, - }, - }, - SparkLongLv2: { - ID: 3402, - Name: "Long", - Description: "A Spark that increases Long-Distance Aptitude.", - Group: 34, - Rarity: 2, - Type: 2, - Effects: [][]SparkEffect{ - {{34, 1, 0}}, - {{34, 2, 0}}, - }, - }, - SparkLongLv3: { - ID: 3403, - Name: "Long", - Description: "A Spark that increases Long-Distance Aptitude.", - Group: 34, - Rarity: 3, - Type: 2, - Effects: [][]SparkEffect{ - {{34, 1, 0}}, - {{34, 2, 0}}, - }, - }, - SparkFebruarySLv1: { - ID: 1000101, - Name: "February S.", - Description: "A Spark that increases Power and gives a skill hint for \"Winter Runner ○\".", - Group: 10001, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200202, 1}}, - {{3, 6, 0}, {41, 200202, 1}}, - {{3, 9, 0}, {41, 200202, 1}}, - }, - }, - SparkFebruarySLv2: { - ID: 1000102, - Name: "February S.", - Description: "A Spark that increases Power and gives a skill hint for \"Winter Runner ○\".", - Group: 10001, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200202, 1}}, - {{3, 6, 0}, {41, 200202, 1}}, - {{3, 9, 0}, {41, 200202, 1}}, - }, - }, - SparkFebruarySLv3: { - ID: 1000103, - Name: "February S.", - Description: "A Spark that increases Power and gives a skill hint for \"Winter Runner ○\".", - Group: 10001, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200202, 1}}, - {{3, 6, 0}, {41, 200202, 1}}, - {{3, 9, 0}, {41, 200202, 1}}, - }, - }, - SparkTakamatsunomiyaKinenLv1: { - ID: 1000201, - Name: "Takamatsunomiya Kinen", - Description: "A Spark that increases Speed and gives a skill hint for \"Chukyo Racecourse ○\".", - Group: 10002, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200072, 1}}, - {{1, 6, 0}, {41, 200072, 1}}, - {{1, 9, 0}, {41, 200072, 1}}, - }, - }, - SparkTakamatsunomiyaKinenLv2: { - ID: 1000202, - Name: "Takamatsunomiya Kinen", - Description: "A Spark that increases Speed and gives a skill hint for \"Chukyo Racecourse ○\".", - Group: 10002, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200072, 1}}, - {{1, 6, 0}, {41, 200072, 1}}, - {{1, 9, 0}, {41, 200072, 1}}, - }, - }, - SparkTakamatsunomiyaKinenLv3: { - ID: 1000203, - Name: "Takamatsunomiya Kinen", - Description: "A Spark that increases Speed and gives a skill hint for \"Chukyo Racecourse ○\".", - Group: 10002, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200072, 1}}, - {{1, 6, 0}, {41, 200072, 1}}, - {{1, 9, 0}, {41, 200072, 1}}, - }, - }, - SparkOsakaHaiLv1: { - ID: 1000301, - Name: "Osaka Hai", - Description: "A Spark that increases Guts and gives a skill hint for \"Standard Distance ○\".", - Group: 10003, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200132, 1}}, - {{4, 6, 0}, {41, 200132, 1}}, - {{4, 9, 0}, {41, 200132, 1}}, - }, - }, - SparkOsakaHaiLv2: { - ID: 1000302, - Name: "Osaka Hai", - Description: "A Spark that increases Guts and gives a skill hint for \"Standard Distance ○\".", - Group: 10003, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200132, 1}}, - {{4, 6, 0}, {41, 200132, 1}}, - {{4, 9, 0}, {41, 200132, 1}}, - }, - }, - SparkOsakaHaiLv3: { - ID: 1000303, - Name: "Osaka Hai", - Description: "A Spark that increases Guts and gives a skill hint for \"Standard Distance ○\".", - Group: 10003, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200132, 1}}, - {{4, 6, 0}, {41, 200132, 1}}, - {{4, 9, 0}, {41, 200132, 1}}, - }, - }, - SparkOkaShoLv1: { - ID: 1000401, - Name: "Oka Sho", - Description: "A Spark that increases Guts and gives a skill hint for \"Hanshin Racecourse ○\".", - Group: 10004, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200052, 1}}, - {{4, 6, 0}, {41, 200052, 1}}, - {{4, 9, 0}, {41, 200052, 1}}, - }, - }, - SparkOkaShoLv2: { - ID: 1000402, - Name: "Oka Sho", - Description: "A Spark that increases Guts and gives a skill hint for \"Hanshin Racecourse ○\".", - Group: 10004, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200052, 1}}, - {{4, 6, 0}, {41, 200052, 1}}, - {{4, 9, 0}, {41, 200052, 1}}, - }, - }, - SparkOkaShoLv3: { - ID: 1000403, - Name: "Oka Sho", - Description: "A Spark that increases Guts and gives a skill hint for \"Hanshin Racecourse ○\".", - Group: 10004, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200052, 1}}, - {{4, 6, 0}, {41, 200052, 1}}, - {{4, 9, 0}, {41, 200052, 1}}, - }, - }, - SparkSatsukiShoLv1: { - ID: 1000501, - Name: "Satsuki Sho", - Description: "A Spark that increases Power and gives a skill hint for \"Nakayama Racecourse ○\".", - Group: 10005, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200042, 1}}, - {{3, 6, 0}, {41, 200042, 1}}, - {{3, 9, 0}, {41, 200042, 1}}, - }, - }, - SparkSatsukiShoLv2: { - ID: 1000502, - Name: "Satsuki Sho", - Description: "A Spark that increases Power and gives a skill hint for \"Nakayama Racecourse ○\".", - Group: 10005, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200042, 1}}, - {{3, 6, 0}, {41, 200042, 1}}, - {{3, 9, 0}, {41, 200042, 1}}, - }, - }, - SparkSatsukiShoLv3: { - ID: 1000503, - Name: "Satsuki Sho", - Description: "A Spark that increases Power and gives a skill hint for \"Nakayama Racecourse ○\".", - Group: 10005, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200042, 1}}, - {{3, 6, 0}, {41, 200042, 1}}, - {{3, 9, 0}, {41, 200042, 1}}, - }, - }, - SparkTennoShoSpringLv1: { - ID: 1000601, - Name: "Tenno Sho (Spring)", - Description: "A Spark that increases Stamina and gives a skill hint for \"Spring Runner ○\".", - Group: 10006, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200172, 1}}, - {{2, 6, 0}, {41, 200172, 1}}, - {{2, 9, 0}, {41, 200172, 1}}, - }, - }, - SparkTennoShoSpringLv2: { - ID: 1000602, - Name: "Tenno Sho (Spring)", - Description: "A Spark that increases Stamina and gives a skill hint for \"Spring Runner ○\".", - Group: 10006, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200172, 1}}, - {{2, 6, 0}, {41, 200172, 1}}, - {{2, 9, 0}, {41, 200172, 1}}, - }, - }, - SparkTennoShoSpringLv3: { - ID: 1000603, - Name: "Tenno Sho (Spring)", - Description: "A Spark that increases Stamina and gives a skill hint for \"Spring Runner ○\".", - Group: 10006, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200172, 1}}, - {{2, 6, 0}, {41, 200172, 1}}, - {{2, 9, 0}, {41, 200172, 1}}, - }, - }, - SparkNHKMileCLv1: { - ID: 1000701, - Name: "NHK Mile C.", - Description: "A Spark that increases Speed and Power.", - Group: 10007, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {3, 3, 0}}, - {{1, 6, 0}, {3, 6, 0}}, - {{1, 9, 0}, {3, 9, 0}}, - }, - }, - SparkNHKMileCLv2: { - ID: 1000702, - Name: "NHK Mile C.", - Description: "A Spark that increases Speed and Power.", - Group: 10007, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {3, 3, 0}}, - {{1, 6, 0}, {3, 6, 0}}, - {{1, 9, 0}, {3, 9, 0}}, - }, - }, - SparkNHKMileCLv3: { - ID: 1000703, - Name: "NHK Mile C.", - Description: "A Spark that increases Speed and Power.", - Group: 10007, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {3, 3, 0}}, - {{1, 6, 0}, {3, 6, 0}}, - {{1, 9, 0}, {3, 9, 0}}, - }, - }, - SparkVictoriaMileLv1: { - ID: 1000801, - Name: "Victoria Mile", - Description: "A Spark that increases Speed and Power.", - Group: 10008, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {3, 3, 0}}, - {{1, 6, 0}, {3, 6, 0}}, - {{1, 9, 0}, {3, 9, 0}}, - }, - }, - SparkVictoriaMileLv2: { - ID: 1000802, - Name: "Victoria Mile", - Description: "A Spark that increases Speed and Power.", - Group: 10008, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {3, 3, 0}}, - {{1, 6, 0}, {3, 6, 0}}, - {{1, 9, 0}, {3, 9, 0}}, - }, - }, - SparkVictoriaMileLv3: { - ID: 1000803, - Name: "Victoria Mile", - Description: "A Spark that increases Speed and Power.", - Group: 10008, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {3, 3, 0}}, - {{1, 6, 0}, {3, 6, 0}}, - {{1, 9, 0}, {3, 9, 0}}, - }, - }, - SparkJapaneseOaksLv1: { - ID: 1000901, - Name: "Japanese Oaks", - Description: "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10009, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200032, 1}}, - {{2, 6, 0}, {41, 200032, 1}}, - {{2, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkJapaneseOaksLv2: { - ID: 1000902, - Name: "Japanese Oaks", - Description: "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10009, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200032, 1}}, - {{2, 6, 0}, {41, 200032, 1}}, - {{2, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkJapaneseOaksLv3: { - ID: 1000903, - Name: "Japanese Oaks", - Description: "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10009, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200032, 1}}, - {{2, 6, 0}, {41, 200032, 1}}, - {{2, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkJapaneseDerbyLv1: { - ID: 1001001, - Name: "Japanese Derby", - Description: "A Spark that increases Guts and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10010, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200032, 1}}, - {{4, 6, 0}, {41, 200032, 1}}, - {{4, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkJapaneseDerbyLv2: { - ID: 1001002, - Name: "Japanese Derby", - Description: "A Spark that increases Guts and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10010, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200032, 1}}, - {{4, 6, 0}, {41, 200032, 1}}, - {{4, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkJapaneseDerbyLv3: { - ID: 1001003, - Name: "Japanese Derby", - Description: "A Spark that increases Guts and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10010, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200032, 1}}, - {{4, 6, 0}, {41, 200032, 1}}, - {{4, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkYasudaKinenLv1: { - ID: 1001101, - Name: "Yasuda Kinen", - Description: "A Spark that increases Speed and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10011, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200032, 1}}, - {{1, 6, 0}, {41, 200032, 1}}, - {{1, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkYasudaKinenLv2: { - ID: 1001102, - Name: "Yasuda Kinen", - Description: "A Spark that increases Speed and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10011, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200032, 1}}, - {{1, 6, 0}, {41, 200032, 1}}, - {{1, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkYasudaKinenLv3: { - ID: 1001103, - Name: "Yasuda Kinen", - Description: "A Spark that increases Speed and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10011, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200032, 1}}, - {{1, 6, 0}, {41, 200032, 1}}, - {{1, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkTakarazukaKinenLv1: { - ID: 1001201, - Name: "Takarazuka Kinen", - Description: "A Spark that increases Guts and gives a skill hint for \"Summer Runner ○\".", - Group: 10012, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200182, 1}}, - {{4, 6, 0}, {41, 200182, 1}}, - {{4, 9, 0}, {41, 200182, 1}}, - }, - }, - SparkTakarazukaKinenLv2: { - ID: 1001202, - Name: "Takarazuka Kinen", - Description: "A Spark that increases Guts and gives a skill hint for \"Summer Runner ○\".", - Group: 10012, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200182, 1}}, - {{4, 6, 0}, {41, 200182, 1}}, - {{4, 9, 0}, {41, 200182, 1}}, - }, - }, - SparkTakarazukaKinenLv3: { - ID: 1001203, - Name: "Takarazuka Kinen", - Description: "A Spark that increases Guts and gives a skill hint for \"Summer Runner ○\".", - Group: 10012, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200182, 1}}, - {{4, 6, 0}, {41, 200182, 1}}, - {{4, 9, 0}, {41, 200182, 1}}, - }, - }, - SparkSprintersSLv1: { - ID: 1001301, - Name: "Sprinters S.", - Description: "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\".", - Group: 10013, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200132, 1}}, - {{1, 6, 0}, {41, 200132, 1}}, - {{1, 9, 0}, {41, 200132, 1}}, - }, - }, - SparkSprintersSLv2: { - ID: 1001302, - Name: "Sprinters S.", - Description: "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\".", - Group: 10013, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200132, 1}}, - {{1, 6, 0}, {41, 200132, 1}}, - {{1, 9, 0}, {41, 200132, 1}}, - }, - }, - SparkSprintersSLv3: { - ID: 1001303, - Name: "Sprinters S.", - Description: "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\".", - Group: 10013, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200132, 1}}, - {{1, 6, 0}, {41, 200132, 1}}, - {{1, 9, 0}, {41, 200132, 1}}, - }, - }, - SparkShukaShoLv1: { - ID: 1001401, - Name: "Shuka Sho", - Description: "A Spark that increases Wit and gives a skill hint for \"Kyoto Racecourse ○\".", - Group: 10014, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{5, 3, 0}, {41, 200062, 1}}, - {{5, 6, 0}, {41, 200062, 1}}, - {{5, 9, 0}, {41, 200062, 1}}, - }, - }, - SparkShukaShoLv2: { - ID: 1001402, - Name: "Shuka Sho", - Description: "A Spark that increases Wit and gives a skill hint for \"Kyoto Racecourse ○\".", - Group: 10014, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{5, 3, 0}, {41, 200062, 1}}, - {{5, 6, 0}, {41, 200062, 1}}, - {{5, 9, 0}, {41, 200062, 1}}, - }, - }, - SparkShukaShoLv3: { - ID: 1001403, - Name: "Shuka Sho", - Description: "A Spark that increases Wit and gives a skill hint for \"Kyoto Racecourse ○\".", - Group: 10014, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{5, 3, 0}, {41, 200062, 1}}, - {{5, 6, 0}, {41, 200062, 1}}, - {{5, 9, 0}, {41, 200062, 1}}, - }, - }, - SparkKikukaShoLv1: { - ID: 1001501, - Name: "Kikuka Sho", - Description: "A Spark that increases Stamina and gives a skill hint for \"Kyoto Racecourse ○\".", - Group: 10015, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200062, 1}}, - {{2, 6, 0}, {41, 200062, 1}}, - {{2, 9, 0}, {41, 200062, 1}}, - }, - }, - SparkKikukaShoLv2: { - ID: 1001502, - Name: "Kikuka Sho", - Description: "A Spark that increases Stamina and gives a skill hint for \"Kyoto Racecourse ○\".", - Group: 10015, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200062, 1}}, - {{2, 6, 0}, {41, 200062, 1}}, - {{2, 9, 0}, {41, 200062, 1}}, - }, - }, - SparkKikukaShoLv3: { - ID: 1001503, - Name: "Kikuka Sho", - Description: "A Spark that increases Stamina and gives a skill hint for \"Kyoto Racecourse ○\".", - Group: 10015, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200062, 1}}, - {{2, 6, 0}, {41, 200062, 1}}, - {{2, 9, 0}, {41, 200062, 1}}, - }, - }, - SparkTennoShoAutumnLv1: { - ID: 1001601, - Name: "Tenno Sho (Autumn)", - Description: "A Spark that increases Speed and gives a skill hint for \"Fall Runner ○\".", - Group: 10016, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200192, 1}}, - {{1, 6, 0}, {41, 200192, 1}}, - {{1, 9, 0}, {41, 200192, 1}}, - }, - }, - SparkTennoShoAutumnLv2: { - ID: 1001602, - Name: "Tenno Sho (Autumn)", - Description: "A Spark that increases Speed and gives a skill hint for \"Fall Runner ○\".", - Group: 10016, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200192, 1}}, - {{1, 6, 0}, {41, 200192, 1}}, - {{1, 9, 0}, {41, 200192, 1}}, - }, - }, - SparkTennoShoAutumnLv3: { - ID: 1001603, - Name: "Tenno Sho (Autumn)", - Description: "A Spark that increases Speed and gives a skill hint for \"Fall Runner ○\".", - Group: 10016, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200192, 1}}, - {{1, 6, 0}, {41, 200192, 1}}, - {{1, 9, 0}, {41, 200192, 1}}, - }, - }, - SparkQueenElizabethIICupLv1: { - ID: 1001701, - Name: "Queen Elizabeth II Cup", - Description: "A Spark that increases Stamina and gives a skill hint for \"Non-Standard Distance ○\".", - Group: 10017, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200142, 1}}, - {{2, 6, 0}, {41, 200142, 1}}, - {{2, 9, 0}, {41, 200142, 1}}, - }, - }, - SparkQueenElizabethIICupLv2: { - ID: 1001702, - Name: "Queen Elizabeth II Cup", - Description: "A Spark that increases Stamina and gives a skill hint for \"Non-Standard Distance ○\".", - Group: 10017, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200142, 1}}, - {{2, 6, 0}, {41, 200142, 1}}, - {{2, 9, 0}, {41, 200142, 1}}, - }, - }, - SparkQueenElizabethIICupLv3: { - ID: 1001703, - Name: "Queen Elizabeth II Cup", - Description: "A Spark that increases Stamina and gives a skill hint for \"Non-Standard Distance ○\".", - Group: 10017, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200142, 1}}, - {{2, 6, 0}, {41, 200142, 1}}, - {{2, 9, 0}, {41, 200142, 1}}, - }, - }, - SparkMileChLv1: { - ID: 1001801, - Name: "Mile Ch.", - Description: "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\".", - Group: 10018, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200132, 1}}, - {{1, 6, 0}, {41, 200132, 1}}, - {{1, 9, 0}, {41, 200132, 1}}, - }, - }, - SparkMileChLv2: { - ID: 1001802, - Name: "Mile Ch.", - Description: "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\".", - Group: 10018, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200132, 1}}, - {{1, 6, 0}, {41, 200132, 1}}, - {{1, 9, 0}, {41, 200132, 1}}, - }, - }, - SparkMileChLv3: { - ID: 1001803, - Name: "Mile Ch.", - Description: "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\".", - Group: 10018, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {41, 200132, 1}}, - {{1, 6, 0}, {41, 200132, 1}}, - {{1, 9, 0}, {41, 200132, 1}}, - }, - }, - SparkJapanCLv1: { - ID: 1001901, - Name: "Japan C.", - Description: "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10019, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200032, 1}}, - {{2, 6, 0}, {41, 200032, 1}}, - {{2, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkJapanCLv2: { - ID: 1001902, - Name: "Japan C.", - Description: "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10019, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200032, 1}}, - {{2, 6, 0}, {41, 200032, 1}}, - {{2, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkJapanCLv3: { - ID: 1001903, - Name: "Japan C.", - Description: "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 10019, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {41, 200032, 1}}, - {{2, 6, 0}, {41, 200032, 1}}, - {{2, 9, 0}, {41, 200032, 1}}, - }, - }, - SparkChampionsCLv1: { - ID: 1002001, - Name: "Champions C.", - Description: "A Spark that increases Power and gives a skill hint for \"Chukyo Racecourse ○\".", - Group: 10020, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200072, 1}}, - {{3, 6, 0}, {41, 200072, 1}}, - {{3, 9, 0}, {41, 200072, 1}}, - }, - }, - SparkChampionsCLv2: { - ID: 1002002, - Name: "Champions C.", - Description: "A Spark that increases Power and gives a skill hint for \"Chukyo Racecourse ○\".", - Group: 10020, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200072, 1}}, - {{3, 6, 0}, {41, 200072, 1}}, - {{3, 9, 0}, {41, 200072, 1}}, - }, - }, - SparkChampionsCLv3: { - ID: 1002003, - Name: "Champions C.", - Description: "A Spark that increases Power and gives a skill hint for \"Chukyo Racecourse ○\".", - Group: 10020, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200072, 1}}, - {{3, 6, 0}, {41, 200072, 1}}, - {{3, 9, 0}, {41, 200072, 1}}, - }, - }, - SparkHanshinJFLv1: { - ID: 1002101, - Name: "Hanshin J.F.", - Description: "A Spark that increases Speed and Power.", - Group: 10021, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {3, 3, 0}}, - {{1, 6, 0}, {3, 6, 0}}, - {{1, 9, 0}, {3, 9, 0}}, - }, - }, - SparkHanshinJFLv2: { - ID: 1002102, - Name: "Hanshin J.F.", - Description: "A Spark that increases Speed and Power.", - Group: 10021, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {3, 3, 0}}, - {{1, 6, 0}, {3, 6, 0}}, - {{1, 9, 0}, {3, 9, 0}}, - }, - }, - SparkHanshinJFLv3: { - ID: 1002103, - Name: "Hanshin J.F.", - Description: "A Spark that increases Speed and Power.", - Group: 10021, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {3, 3, 0}}, - {{1, 6, 0}, {3, 6, 0}}, - {{1, 9, 0}, {3, 9, 0}}, - }, - }, - SparkAsahiHaiFSLv1: { - ID: 1002201, - Name: "Asahi Hai F.S.", - Description: "A Spark that increases Speed and Guts.", - Group: 10022, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {4, 3, 0}}, - {{1, 6, 0}, {4, 6, 0}}, - {{1, 9, 0}, {4, 9, 0}}, - }, - }, - SparkAsahiHaiFSLv2: { - ID: 1002202, - Name: "Asahi Hai F.S.", - Description: "A Spark that increases Speed and Guts.", - Group: 10022, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {4, 3, 0}}, - {{1, 6, 0}, {4, 6, 0}}, - {{1, 9, 0}, {4, 9, 0}}, - }, - }, - SparkAsahiHaiFSLv3: { - ID: 1002203, - Name: "Asahi Hai F.S.", - Description: "A Spark that increases Speed and Guts.", - Group: 10022, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {4, 3, 0}}, - {{1, 6, 0}, {4, 6, 0}}, - {{1, 9, 0}, {4, 9, 0}}, - }, - }, - SparkArimaKinenLv1: { - ID: 1002301, - Name: "Arima Kinen", - Description: "A Spark that increases Guts and gives a skill hint for \"Nakayama Racecourse ○\".", - Group: 10023, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200042, 1}}, - {{4, 6, 0}, {41, 200042, 1}}, - {{4, 9, 0}, {41, 200042, 1}}, - }, - }, - SparkArimaKinenLv2: { - ID: 1002302, - Name: "Arima Kinen", - Description: "A Spark that increases Guts and gives a skill hint for \"Nakayama Racecourse ○\".", - Group: 10023, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200042, 1}}, - {{4, 6, 0}, {41, 200042, 1}}, - {{4, 9, 0}, {41, 200042, 1}}, - }, - }, - SparkArimaKinenLv3: { - ID: 1002303, - Name: "Arima Kinen", - Description: "A Spark that increases Guts and gives a skill hint for \"Nakayama Racecourse ○\".", - Group: 10023, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{4, 3, 0}, {41, 200042, 1}}, - {{4, 6, 0}, {41, 200042, 1}}, - {{4, 9, 0}, {41, 200042, 1}}, - }, - }, - SparkHopefulSLv1: { - ID: 1002401, - Name: "Hopeful S.", - Description: "A Spark that increases Speed and Stamina.", - Group: 10024, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {2, 3, 0}}, - {{1, 6, 0}, {2, 6, 0}}, - {{1, 9, 0}, {2, 9, 0}}, - }, - }, - SparkHopefulSLv2: { - ID: 1002402, - Name: "Hopeful S.", - Description: "A Spark that increases Speed and Stamina.", - Group: 10024, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {2, 3, 0}}, - {{1, 6, 0}, {2, 6, 0}}, - {{1, 9, 0}, {2, 9, 0}}, - }, - }, - SparkHopefulSLv3: { - ID: 1002403, - Name: "Hopeful S.", - Description: "A Spark that increases Speed and Stamina.", - Group: 10024, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {2, 3, 0}}, - {{1, 6, 0}, {2, 6, 0}}, - {{1, 9, 0}, {2, 9, 0}}, - }, - }, - SparkTeioShoLv1: { - ID: 1002501, - Name: "Teio Sho", - Description: "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\".", - Group: 10025, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200952, 1}}, - {{3, 6, 0}, {41, 200952, 1}}, - {{3, 9, 0}, {41, 200952, 1}}, - }, - }, - SparkTeioShoLv2: { - ID: 1002502, - Name: "Teio Sho", - Description: "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\".", - Group: 10025, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200952, 1}}, - {{3, 6, 0}, {41, 200952, 1}}, - {{3, 9, 0}, {41, 200952, 1}}, - }, - }, - SparkTeioShoLv3: { - ID: 1002503, - Name: "Teio Sho", - Description: "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\".", - Group: 10025, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200952, 1}}, - {{3, 6, 0}, {41, 200952, 1}}, - {{3, 9, 0}, {41, 200952, 1}}, - }, - }, - SparkJDDerbyLv1: { - ID: 1002601, - Name: "J.D. Derby", - Description: "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\".", - Group: 10026, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200952, 1}}, - {{3, 6, 0}, {41, 200952, 1}}, - {{3, 9, 0}, {41, 200952, 1}}, - }, - }, - SparkJDDerbyLv2: { - ID: 1002602, - Name: "J.D. Derby", - Description: "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\".", - Group: 10026, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200952, 1}}, - {{3, 6, 0}, {41, 200952, 1}}, - {{3, 9, 0}, {41, 200952, 1}}, - }, - }, - SparkJDDerbyLv3: { - ID: 1002603, - Name: "J.D. Derby", - Description: "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\".", - Group: 10026, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200952, 1}}, - {{3, 6, 0}, {41, 200952, 1}}, - {{3, 9, 0}, {41, 200952, 1}}, - }, - }, - SparkJBCLClassicLv1: { - ID: 1002701, - Name: "JBC L. Classic", - Description: "A Spark that increases Speed and Guts.", - Group: 10027, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {4, 3, 0}}, - {{1, 6, 0}, {4, 6, 0}}, - {{1, 9, 0}, {4, 9, 0}}, - }, - }, - SparkJBCLClassicLv2: { - ID: 1002702, - Name: "JBC L. Classic", - Description: "A Spark that increases Speed and Guts.", - Group: 10027, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {4, 3, 0}}, - {{1, 6, 0}, {4, 6, 0}}, - {{1, 9, 0}, {4, 9, 0}}, - }, - }, - SparkJBCLClassicLv3: { - ID: 1002703, - Name: "JBC L. Classic", - Description: "A Spark that increases Speed and Guts.", - Group: 10027, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{1, 3, 0}, {4, 3, 0}}, - {{1, 6, 0}, {4, 6, 0}}, - {{1, 9, 0}, {4, 9, 0}}, - }, - }, - SparkJBCSprintLv1: { - ID: 1002801, - Name: "JBC Sprint", - Description: "A Spark that increases Power and Guts.", - Group: 10028, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {4, 3, 0}}, - {{3, 6, 0}, {4, 6, 0}}, - {{3, 9, 0}, {4, 9, 0}}, - }, - }, - SparkJBCSprintLv2: { - ID: 1002802, - Name: "JBC Sprint", - Description: "A Spark that increases Power and Guts.", - Group: 10028, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {4, 3, 0}}, - {{3, 6, 0}, {4, 6, 0}}, - {{3, 9, 0}, {4, 9, 0}}, - }, - }, - SparkJBCSprintLv3: { - ID: 1002803, - Name: "JBC Sprint", - Description: "A Spark that increases Power and Guts.", - Group: 10028, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {4, 3, 0}}, - {{3, 6, 0}, {4, 6, 0}}, - {{3, 9, 0}, {4, 9, 0}}, - }, - }, - SparkJBCClassicLv1: { - ID: 1002901, - Name: "JBC Classic", - Description: "A Spark that increases Stamina and Guts.", - Group: 10029, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {4, 3, 0}}, - {{2, 6, 0}, {4, 6, 0}}, - {{2, 9, 0}, {4, 9, 0}}, - }, - }, - SparkJBCClassicLv2: { - ID: 1002902, - Name: "JBC Classic", - Description: "A Spark that increases Stamina and Guts.", - Group: 10029, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {4, 3, 0}}, - {{2, 6, 0}, {4, 6, 0}}, - {{2, 9, 0}, {4, 9, 0}}, - }, - }, - SparkJBCClassicLv3: { - ID: 1002903, - Name: "JBC Classic", - Description: "A Spark that increases Stamina and Guts.", - Group: 10029, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{2, 3, 0}, {4, 3, 0}}, - {{2, 6, 0}, {4, 6, 0}}, - {{2, 9, 0}, {4, 9, 0}}, - }, - }, - SparkTokyoDaishotenLv1: { - ID: 1003001, - Name: "Tokyo Daishoten", - Description: "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\".", - Group: 10030, - Rarity: 1, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200952, 1}}, - {{3, 6, 0}, {41, 200952, 1}}, - {{3, 9, 0}, {41, 200952, 1}}, - }, - }, - SparkTokyoDaishotenLv2: { - ID: 1003002, - Name: "Tokyo Daishoten", - Description: "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\".", - Group: 10030, - Rarity: 2, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200952, 1}}, - {{3, 6, 0}, {41, 200952, 1}}, - {{3, 9, 0}, {41, 200952, 1}}, - }, - }, - SparkTokyoDaishotenLv3: { - ID: 1003003, - Name: "Tokyo Daishoten", - Description: "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\".", - Group: 10030, - Rarity: 3, - Type: 5, - Effects: [][]SparkEffect{ - {{3, 3, 0}, {41, 200952, 1}}, - {{3, 6, 0}, {41, 200952, 1}}, - {{3, 9, 0}, {41, 200952, 1}}, - }, - }, - SparkRightHandedLv1: { - ID: 2000101, - Name: "Right-Handed ○", - Description: "A Spark that gives a skill hint for \"Right-Handed ○\".", - Group: 20001, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200012, 1}}, - {{41, 200012, 2}}, - {{41, 200012, 3}}, - {{41, 200012, 4}}, - {{41, 200012, 5}}, - }, - }, - SparkRightHandedLv2: { - ID: 2000102, - Name: "Right-Handed ○", - Description: "A Spark that gives a skill hint for \"Right-Handed ○\".", - Group: 20001, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200012, 1}}, - {{41, 200012, 2}}, - {{41, 200012, 3}}, - {{41, 200012, 4}}, - {{41, 200012, 5}}, - }, - }, - SparkRightHandedLv3: { - ID: 2000103, - Name: "Right-Handed ○", - Description: "A Spark that gives a skill hint for \"Right-Handed ○\".", - Group: 20001, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200012, 1}}, - {{41, 200012, 2}}, - {{41, 200012, 3}}, - {{41, 200012, 4}}, - {{41, 200012, 5}}, - }, - }, - SparkLeftHandedLv1: { - ID: 2000201, - Name: "Left-Handed ○", - Description: "A Spark that gives a skill hint for \"Left-Handed ○\".", - Group: 20002, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200022, 1}}, - {{41, 200022, 2}}, - {{41, 200022, 3}}, - {{41, 200022, 4}}, - {{41, 200022, 5}}, - }, - }, - SparkLeftHandedLv2: { - ID: 2000202, - Name: "Left-Handed ○", - Description: "A Spark that gives a skill hint for \"Left-Handed ○\".", - Group: 20002, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200022, 1}}, - {{41, 200022, 2}}, - {{41, 200022, 3}}, - {{41, 200022, 4}}, - {{41, 200022, 5}}, - }, - }, - SparkLeftHandedLv3: { - ID: 2000203, - Name: "Left-Handed ○", - Description: "A Spark that gives a skill hint for \"Left-Handed ○\".", - Group: 20002, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200022, 1}}, - {{41, 200022, 2}}, - {{41, 200022, 3}}, - {{41, 200022, 4}}, - {{41, 200022, 5}}, - }, - }, - SparkTokyoRacecourseLv1: { - ID: 2000301, - Name: "Tokyo Racecourse ○", - Description: "A Spark that gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 20003, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200032, 1}}, - {{41, 200032, 2}}, - {{41, 200032, 3}}, - {{41, 200032, 4}}, - {{41, 200032, 5}}, - }, - }, - SparkTokyoRacecourseLv2: { - ID: 2000302, - Name: "Tokyo Racecourse ○", - Description: "A Spark that gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 20003, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200032, 1}}, - {{41, 200032, 2}}, - {{41, 200032, 3}}, - {{41, 200032, 4}}, - {{41, 200032, 5}}, - }, - }, - SparkTokyoRacecourseLv3: { - ID: 2000303, - Name: "Tokyo Racecourse ○", - Description: "A Spark that gives a skill hint for \"Tokyo Racecourse ○\".", - Group: 20003, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200032, 1}}, - {{41, 200032, 2}}, - {{41, 200032, 3}}, - {{41, 200032, 4}}, - {{41, 200032, 5}}, - }, - }, - SparkNakayamaRacecourseLv1: { - ID: 2000401, - Name: "Nakayama Racecourse ○", - Description: "A Spark that gives a skill hint for \"Nakayama Racecourse ○\".", - Group: 20004, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200042, 1}}, - {{41, 200042, 2}}, - {{41, 200042, 3}}, - {{41, 200042, 4}}, - {{41, 200042, 5}}, - }, - }, - SparkNakayamaRacecourseLv2: { - ID: 2000402, - Name: "Nakayama Racecourse ○", - Description: "A Spark that gives a skill hint for \"Nakayama Racecourse ○\".", - Group: 20004, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200042, 1}}, - {{41, 200042, 2}}, - {{41, 200042, 3}}, - {{41, 200042, 4}}, - {{41, 200042, 5}}, - }, - }, - SparkNakayamaRacecourseLv3: { - ID: 2000403, - Name: "Nakayama Racecourse ○", - Description: "A Spark that gives a skill hint for \"Nakayama Racecourse ○\".", - Group: 20004, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200042, 1}}, - {{41, 200042, 2}}, - {{41, 200042, 3}}, - {{41, 200042, 4}}, - {{41, 200042, 5}}, - }, - }, - SparkHanshinRacecourseLv1: { - ID: 2000501, - Name: "Hanshin Racecourse ○", - Description: "A Spark that gives a skill hint for \"Hanshin Racecourse ○\".", - Group: 20005, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200052, 1}}, - {{41, 200052, 2}}, - {{41, 200052, 3}}, - {{41, 200052, 4}}, - {{41, 200052, 5}}, - }, - }, - SparkHanshinRacecourseLv2: { - ID: 2000502, - Name: "Hanshin Racecourse ○", - Description: "A Spark that gives a skill hint for \"Hanshin Racecourse ○\".", - Group: 20005, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200052, 1}}, - {{41, 200052, 2}}, - {{41, 200052, 3}}, - {{41, 200052, 4}}, - {{41, 200052, 5}}, - }, - }, - SparkHanshinRacecourseLv3: { - ID: 2000503, - Name: "Hanshin Racecourse ○", - Description: "A Spark that gives a skill hint for \"Hanshin Racecourse ○\".", - Group: 20005, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200052, 1}}, - {{41, 200052, 2}}, - {{41, 200052, 3}}, - {{41, 200052, 4}}, - {{41, 200052, 5}}, - }, - }, - SparkKyotoRacecourseLv1: { - ID: 2000601, - Name: "Kyoto Racecourse ○", - Description: "A Spark that gives a skill hint for \"Kyoto Racecourse ○\".", - Group: 20006, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200062, 1}}, - {{41, 200062, 2}}, - {{41, 200062, 3}}, - {{41, 200062, 4}}, - {{41, 200062, 5}}, - }, - }, - SparkKyotoRacecourseLv2: { - ID: 2000602, - Name: "Kyoto Racecourse ○", - Description: "A Spark that gives a skill hint for \"Kyoto Racecourse ○\".", - Group: 20006, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200062, 1}}, - {{41, 200062, 2}}, - {{41, 200062, 3}}, - {{41, 200062, 4}}, - {{41, 200062, 5}}, - }, - }, - SparkKyotoRacecourseLv3: { - ID: 2000603, - Name: "Kyoto Racecourse ○", - Description: "A Spark that gives a skill hint for \"Kyoto Racecourse ○\".", - Group: 20006, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200062, 1}}, - {{41, 200062, 2}}, - {{41, 200062, 3}}, - {{41, 200062, 4}}, - {{41, 200062, 5}}, - }, - }, - SparkChukyoRacecourseLv1: { - ID: 2000701, - Name: "Chukyo Racecourse ○", - Description: "A Spark that gives a skill hint for \"Chukyo Racecourse ○\".", - Group: 20007, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200072, 1}}, - {{41, 200072, 2}}, - {{41, 200072, 3}}, - {{41, 200072, 4}}, - {{41, 200072, 5}}, - }, - }, - SparkChukyoRacecourseLv2: { - ID: 2000702, - Name: "Chukyo Racecourse ○", - Description: "A Spark that gives a skill hint for \"Chukyo Racecourse ○\".", - Group: 20007, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200072, 1}}, - {{41, 200072, 2}}, - {{41, 200072, 3}}, - {{41, 200072, 4}}, - {{41, 200072, 5}}, - }, - }, - SparkChukyoRacecourseLv3: { - ID: 2000703, - Name: "Chukyo Racecourse ○", - Description: "A Spark that gives a skill hint for \"Chukyo Racecourse ○\".", - Group: 20007, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200072, 1}}, - {{41, 200072, 2}}, - {{41, 200072, 3}}, - {{41, 200072, 4}}, - {{41, 200072, 5}}, - }, - }, - SparkSapporoRacecourseLv1: { - ID: 2000801, - Name: "Sapporo Racecourse ○", - Description: "A Spark that gives a skill hint for \"Sapporo Racecourse ○\".", - Group: 20008, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200082, 1}}, - {{41, 200082, 2}}, - {{41, 200082, 3}}, - {{41, 200082, 4}}, - {{41, 200082, 5}}, - }, - }, - SparkSapporoRacecourseLv2: { - ID: 2000802, - Name: "Sapporo Racecourse ○", - Description: "A Spark that gives a skill hint for \"Sapporo Racecourse ○\".", - Group: 20008, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200082, 1}}, - {{41, 200082, 2}}, - {{41, 200082, 3}}, - {{41, 200082, 4}}, - {{41, 200082, 5}}, - }, - }, - SparkSapporoRacecourseLv3: { - ID: 2000803, - Name: "Sapporo Racecourse ○", - Description: "A Spark that gives a skill hint for \"Sapporo Racecourse ○\".", - Group: 20008, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200082, 1}}, - {{41, 200082, 2}}, - {{41, 200082, 3}}, - {{41, 200082, 4}}, - {{41, 200082, 5}}, - }, - }, - SparkHakodateRacecourseLv1: { - ID: 2000901, - Name: "Hakodate Racecourse ○", - Description: "A Spark that gives a skill hint for \"Hakodate Racecourse ○\".", - Group: 20009, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200092, 1}}, - {{41, 200092, 2}}, - {{41, 200092, 3}}, - {{41, 200092, 4}}, - {{41, 200092, 5}}, - }, - }, - SparkHakodateRacecourseLv2: { - ID: 2000902, - Name: "Hakodate Racecourse ○", - Description: "A Spark that gives a skill hint for \"Hakodate Racecourse ○\".", - Group: 20009, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200092, 1}}, - {{41, 200092, 2}}, - {{41, 200092, 3}}, - {{41, 200092, 4}}, - {{41, 200092, 5}}, - }, - }, - SparkHakodateRacecourseLv3: { - ID: 2000903, - Name: "Hakodate Racecourse ○", - Description: "A Spark that gives a skill hint for \"Hakodate Racecourse ○\".", - Group: 20009, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200092, 1}}, - {{41, 200092, 2}}, - {{41, 200092, 3}}, - {{41, 200092, 4}}, - {{41, 200092, 5}}, - }, - }, - SparkFukushimaRacecourseLv1: { - ID: 2001001, - Name: "Fukushima Racecourse ○", - Description: "A Spark that gives a skill hint for \"Fukushima Racecourse ○\".", - Group: 20010, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200102, 1}}, - {{41, 200102, 2}}, - {{41, 200102, 3}}, - {{41, 200102, 4}}, - {{41, 200102, 5}}, - }, - }, - SparkFukushimaRacecourseLv2: { - ID: 2001002, - Name: "Fukushima Racecourse ○", - Description: "A Spark that gives a skill hint for \"Fukushima Racecourse ○\".", - Group: 20010, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200102, 1}}, - {{41, 200102, 2}}, - {{41, 200102, 3}}, - {{41, 200102, 4}}, - {{41, 200102, 5}}, - }, - }, - SparkFukushimaRacecourseLv3: { - ID: 2001003, - Name: "Fukushima Racecourse ○", - Description: "A Spark that gives a skill hint for \"Fukushima Racecourse ○\".", - Group: 20010, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200102, 1}}, - {{41, 200102, 2}}, - {{41, 200102, 3}}, - {{41, 200102, 4}}, - {{41, 200102, 5}}, - }, - }, - SparkNiigataRacecourseLv1: { - ID: 2001101, - Name: "Niigata Racecourse ○", - Description: "A Spark that gives a skill hint for \"Niigata Racecourse ○\".", - Group: 20011, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200112, 1}}, - {{41, 200112, 2}}, - {{41, 200112, 3}}, - {{41, 200112, 4}}, - {{41, 200112, 5}}, - }, - }, - SparkNiigataRacecourseLv2: { - ID: 2001102, - Name: "Niigata Racecourse ○", - Description: "A Spark that gives a skill hint for \"Niigata Racecourse ○\".", - Group: 20011, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200112, 1}}, - {{41, 200112, 2}}, - {{41, 200112, 3}}, - {{41, 200112, 4}}, - {{41, 200112, 5}}, - }, - }, - SparkNiigataRacecourseLv3: { - ID: 2001103, - Name: "Niigata Racecourse ○", - Description: "A Spark that gives a skill hint for \"Niigata Racecourse ○\".", - Group: 20011, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200112, 1}}, - {{41, 200112, 2}}, - {{41, 200112, 3}}, - {{41, 200112, 4}}, - {{41, 200112, 5}}, - }, - }, - SparkKokuraRacecourseLv1: { - ID: 2001201, - Name: "Kokura Racecourse ○", - Description: "A Spark that gives a skill hint for \"Kokura Racecourse ○\".", - Group: 20012, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200122, 1}}, - {{41, 200122, 2}}, - {{41, 200122, 3}}, - {{41, 200122, 4}}, - {{41, 200122, 5}}, - }, - }, - SparkKokuraRacecourseLv2: { - ID: 2001202, - Name: "Kokura Racecourse ○", - Description: "A Spark that gives a skill hint for \"Kokura Racecourse ○\".", - Group: 20012, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200122, 1}}, - {{41, 200122, 2}}, - {{41, 200122, 3}}, - {{41, 200122, 4}}, - {{41, 200122, 5}}, - }, - }, - SparkKokuraRacecourseLv3: { - ID: 2001203, - Name: "Kokura Racecourse ○", - Description: "A Spark that gives a skill hint for \"Kokura Racecourse ○\".", - Group: 20012, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200122, 1}}, - {{41, 200122, 2}}, - {{41, 200122, 3}}, - {{41, 200122, 4}}, - {{41, 200122, 5}}, - }, - }, - SparkStandardDistanceLv1: { - ID: 2001301, - Name: "Standard Distance ○", - Description: "A Spark that gives a skill hint for \"Standard Distance ○\".", - Group: 20013, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200132, 1}}, - {{41, 200132, 2}}, - {{41, 200132, 3}}, - {{41, 200132, 4}}, - {{41, 200132, 5}}, - }, - }, - SparkStandardDistanceLv2: { - ID: 2001302, - Name: "Standard Distance ○", - Description: "A Spark that gives a skill hint for \"Standard Distance ○\".", - Group: 20013, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200132, 1}}, - {{41, 200132, 2}}, - {{41, 200132, 3}}, - {{41, 200132, 4}}, - {{41, 200132, 5}}, - }, - }, - SparkStandardDistanceLv3: { - ID: 2001303, - Name: "Standard Distance ○", - Description: "A Spark that gives a skill hint for \"Standard Distance ○\".", - Group: 20013, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200132, 1}}, - {{41, 200132, 2}}, - {{41, 200132, 3}}, - {{41, 200132, 4}}, - {{41, 200132, 5}}, - }, - }, - SparkNonStandardDistanceLv1: { - ID: 2001401, - Name: "Non-Standard Distance ○", - Description: "A Spark that gives a skill hint for \"Non-Standard Distance ○\".", - Group: 20014, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200142, 1}}, - {{41, 200142, 2}}, - {{41, 200142, 3}}, - {{41, 200142, 4}}, - {{41, 200142, 5}}, - }, - }, - SparkNonStandardDistanceLv2: { - ID: 2001402, - Name: "Non-Standard Distance ○", - Description: "A Spark that gives a skill hint for \"Non-Standard Distance ○\".", - Group: 20014, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200142, 1}}, - {{41, 200142, 2}}, - {{41, 200142, 3}}, - {{41, 200142, 4}}, - {{41, 200142, 5}}, - }, - }, - SparkNonStandardDistanceLv3: { - ID: 2001403, - Name: "Non-Standard Distance ○", - Description: "A Spark that gives a skill hint for \"Non-Standard Distance ○\".", - Group: 20014, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200142, 1}}, - {{41, 200142, 2}}, - {{41, 200142, 3}}, - {{41, 200142, 4}}, - {{41, 200142, 5}}, - }, - }, - SparkFirmConditionsLv1: { - ID: 2001501, - Name: "Firm Conditions ○", - Description: "A Spark that gives a skill hint for \"Firm Conditions ○\".", - Group: 20015, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200152, 1}}, - {{41, 200152, 2}}, - {{41, 200152, 3}}, - {{41, 200152, 4}}, - {{41, 200152, 5}}, - }, - }, - SparkFirmConditionsLv2: { - ID: 2001502, - Name: "Firm Conditions ○", - Description: "A Spark that gives a skill hint for \"Firm Conditions ○\".", - Group: 20015, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200152, 1}}, - {{41, 200152, 2}}, - {{41, 200152, 3}}, - {{41, 200152, 4}}, - {{41, 200152, 5}}, - }, - }, - SparkFirmConditionsLv3: { - ID: 2001503, - Name: "Firm Conditions ○", - Description: "A Spark that gives a skill hint for \"Firm Conditions ○\".", - Group: 20015, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200152, 1}}, - {{41, 200152, 2}}, - {{41, 200152, 3}}, - {{41, 200152, 4}}, - {{41, 200152, 5}}, - }, - }, - SparkWetConditionsLv1: { - ID: 2001601, - Name: "Wet Conditions ○", - Description: "A Spark that gives a skill hint for \"Wet Conditions ○\".", - Group: 20016, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200162, 1}}, - {{41, 200162, 2}}, - {{41, 200162, 3}}, - {{41, 200162, 4}}, - {{41, 200162, 5}}, - }, - }, - SparkWetConditionsLv2: { - ID: 2001602, - Name: "Wet Conditions ○", - Description: "A Spark that gives a skill hint for \"Wet Conditions ○\".", - Group: 20016, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200162, 1}}, - {{41, 200162, 2}}, - {{41, 200162, 3}}, - {{41, 200162, 4}}, - {{41, 200162, 5}}, - }, - }, - SparkWetConditionsLv3: { - ID: 2001603, - Name: "Wet Conditions ○", - Description: "A Spark that gives a skill hint for \"Wet Conditions ○\".", - Group: 20016, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200162, 1}}, - {{41, 200162, 2}}, - {{41, 200162, 3}}, - {{41, 200162, 4}}, - {{41, 200162, 5}}, - }, - }, - SparkSpringRunnerLv1: { - ID: 2001701, - Name: "Spring Runner ○", - Description: "A Spark that gives a skill hint for \"Spring Runner ○\".", - Group: 20017, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200172, 1}}, - {{41, 200172, 2}}, - {{41, 200172, 3}}, - {{41, 200172, 4}}, - {{41, 200172, 5}}, - }, - }, - SparkSpringRunnerLv2: { - ID: 2001702, - Name: "Spring Runner ○", - Description: "A Spark that gives a skill hint for \"Spring Runner ○\".", - Group: 20017, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200172, 1}}, - {{41, 200172, 2}}, - {{41, 200172, 3}}, - {{41, 200172, 4}}, - {{41, 200172, 5}}, - }, - }, - SparkSpringRunnerLv3: { - ID: 2001703, - Name: "Spring Runner ○", - Description: "A Spark that gives a skill hint for \"Spring Runner ○\".", - Group: 20017, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200172, 1}}, - {{41, 200172, 2}}, - {{41, 200172, 3}}, - {{41, 200172, 4}}, - {{41, 200172, 5}}, - }, - }, - SparkSummerRunnerLv1: { - ID: 2001801, - Name: "Summer Runner ○", - Description: "A Spark that gives a skill hint for \"Summer Runner ○\".", - Group: 20018, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200182, 1}}, - {{41, 200182, 2}}, - {{41, 200182, 3}}, - {{41, 200182, 4}}, - {{41, 200182, 5}}, - }, - }, - SparkSummerRunnerLv2: { - ID: 2001802, - Name: "Summer Runner ○", - Description: "A Spark that gives a skill hint for \"Summer Runner ○\".", - Group: 20018, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200182, 1}}, - {{41, 200182, 2}}, - {{41, 200182, 3}}, - {{41, 200182, 4}}, - {{41, 200182, 5}}, - }, - }, - SparkSummerRunnerLv3: { - ID: 2001803, - Name: "Summer Runner ○", - Description: "A Spark that gives a skill hint for \"Summer Runner ○\".", - Group: 20018, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200182, 1}}, - {{41, 200182, 2}}, - {{41, 200182, 3}}, - {{41, 200182, 4}}, - {{41, 200182, 5}}, - }, - }, - SparkFallRunnerLv1: { - ID: 2001901, - Name: "Fall Runner ○", - Description: "A Spark that gives a skill hint for \"Fall Runner ○\".", - Group: 20019, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200192, 1}}, - {{41, 200192, 2}}, - {{41, 200192, 3}}, - {{41, 200192, 4}}, - {{41, 200192, 5}}, - }, - }, - SparkFallRunnerLv2: { - ID: 2001902, - Name: "Fall Runner ○", - Description: "A Spark that gives a skill hint for \"Fall Runner ○\".", - Group: 20019, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200192, 1}}, - {{41, 200192, 2}}, - {{41, 200192, 3}}, - {{41, 200192, 4}}, - {{41, 200192, 5}}, - }, - }, - SparkFallRunnerLv3: { - ID: 2001903, - Name: "Fall Runner ○", - Description: "A Spark that gives a skill hint for \"Fall Runner ○\".", - Group: 20019, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200192, 1}}, - {{41, 200192, 2}}, - {{41, 200192, 3}}, - {{41, 200192, 4}}, - {{41, 200192, 5}}, - }, - }, - SparkWinterRunnerLv1: { - ID: 2002001, - Name: "Winter Runner ○", - Description: "A Spark that gives a skill hint for \"Winter Runner ○\".", - Group: 20020, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200202, 1}}, - {{41, 200202, 2}}, - {{41, 200202, 3}}, - {{41, 200202, 4}}, - {{41, 200202, 5}}, - }, - }, - SparkWinterRunnerLv2: { - ID: 2002002, - Name: "Winter Runner ○", - Description: "A Spark that gives a skill hint for \"Winter Runner ○\".", - Group: 20020, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200202, 1}}, - {{41, 200202, 2}}, - {{41, 200202, 3}}, - {{41, 200202, 4}}, - {{41, 200202, 5}}, - }, - }, - SparkWinterRunnerLv3: { - ID: 2002003, - Name: "Winter Runner ○", - Description: "A Spark that gives a skill hint for \"Winter Runner ○\".", - Group: 20020, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200202, 1}}, - {{41, 200202, 2}}, - {{41, 200202, 3}}, - {{41, 200202, 4}}, - {{41, 200202, 5}}, - }, - }, - SparkSunnyDaysLv1: { - ID: 2002101, - Name: "Sunny Days ○", - Description: "A Spark that gives a skill hint for \"Sunny Days ○\".", - Group: 20021, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200212, 1}}, - {{41, 200212, 2}}, - {{41, 200212, 3}}, - {{41, 200212, 4}}, - {{41, 200212, 5}}, - }, - }, - SparkSunnyDaysLv2: { - ID: 2002102, - Name: "Sunny Days ○", - Description: "A Spark that gives a skill hint for \"Sunny Days ○\".", - Group: 20021, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200212, 1}}, - {{41, 200212, 2}}, - {{41, 200212, 3}}, - {{41, 200212, 4}}, - {{41, 200212, 5}}, - }, - }, - SparkSunnyDaysLv3: { - ID: 2002103, - Name: "Sunny Days ○", - Description: "A Spark that gives a skill hint for \"Sunny Days ○\".", - Group: 20021, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200212, 1}}, - {{41, 200212, 2}}, - {{41, 200212, 3}}, - {{41, 200212, 4}}, - {{41, 200212, 5}}, - }, - }, - SparkCloudyDaysLv1: { - ID: 2002201, - Name: "Cloudy Days ○", - Description: "A Spark that gives a skill hint for \"Cloudy Days ○\".", - Group: 20022, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200222, 1}}, - {{41, 200222, 2}}, - {{41, 200222, 3}}, - {{41, 200222, 4}}, - {{41, 200222, 5}}, - }, - }, - SparkCloudyDaysLv2: { - ID: 2002202, - Name: "Cloudy Days ○", - Description: "A Spark that gives a skill hint for \"Cloudy Days ○\".", - Group: 20022, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200222, 1}}, - {{41, 200222, 2}}, - {{41, 200222, 3}}, - {{41, 200222, 4}}, - {{41, 200222, 5}}, - }, - }, - SparkCloudyDaysLv3: { - ID: 2002203, - Name: "Cloudy Days ○", - Description: "A Spark that gives a skill hint for \"Cloudy Days ○\".", - Group: 20022, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200222, 1}}, - {{41, 200222, 2}}, - {{41, 200222, 3}}, - {{41, 200222, 4}}, - {{41, 200222, 5}}, - }, - }, - SparkRainyDaysLv1: { - ID: 2002301, - Name: "Rainy Days ○", - Description: "A Spark that gives a skill hint for \"Rainy Days ○\".", - Group: 20023, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200232, 1}}, - {{41, 200232, 2}}, - {{41, 200232, 3}}, - {{41, 200232, 4}}, - {{41, 200232, 5}}, - }, - }, - SparkRainyDaysLv2: { - ID: 2002302, - Name: "Rainy Days ○", - Description: "A Spark that gives a skill hint for \"Rainy Days ○\".", - Group: 20023, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200232, 1}}, - {{41, 200232, 2}}, - {{41, 200232, 3}}, - {{41, 200232, 4}}, - {{41, 200232, 5}}, - }, - }, - SparkRainyDaysLv3: { - ID: 2002303, - Name: "Rainy Days ○", - Description: "A Spark that gives a skill hint for \"Rainy Days ○\".", - Group: 20023, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200232, 1}}, - {{41, 200232, 2}}, - {{41, 200232, 3}}, - {{41, 200232, 4}}, - {{41, 200232, 5}}, - }, - }, - SparkSnowyDaysLv1: { - ID: 2002401, - Name: "Snowy Days ○", - Description: "A Spark that gives a skill hint for \"Snowy Days ○\".", - Group: 20024, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200242, 1}}, - {{41, 200242, 2}}, - {{41, 200242, 3}}, - {{41, 200242, 4}}, - {{41, 200242, 5}}, - }, - }, - SparkSnowyDaysLv2: { - ID: 2002402, - Name: "Snowy Days ○", - Description: "A Spark that gives a skill hint for \"Snowy Days ○\".", - Group: 20024, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200242, 1}}, - {{41, 200242, 2}}, - {{41, 200242, 3}}, - {{41, 200242, 4}}, - {{41, 200242, 5}}, - }, - }, - SparkSnowyDaysLv3: { - ID: 2002403, - Name: "Snowy Days ○", - Description: "A Spark that gives a skill hint for \"Snowy Days ○\".", - Group: 20024, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200242, 1}}, - {{41, 200242, 2}}, - {{41, 200242, 3}}, - {{41, 200242, 4}}, - {{41, 200242, 5}}, - }, - }, - SparkInnerPostProficiencyLv1: { - ID: 2002501, - Name: "Inner Post Proficiency ○", - Description: "A Spark that gives a skill hint for \"Inner Post Proficiency ○\".", - Group: 20025, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200252, 1}}, - {{41, 200252, 2}}, - {{41, 200252, 3}}, - {{41, 200252, 4}}, - {{41, 200252, 5}}, - }, - }, - SparkInnerPostProficiencyLv2: { - ID: 2002502, - Name: "Inner Post Proficiency ○", - Description: "A Spark that gives a skill hint for \"Inner Post Proficiency ○\".", - Group: 20025, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200252, 1}}, - {{41, 200252, 2}}, - {{41, 200252, 3}}, - {{41, 200252, 4}}, - {{41, 200252, 5}}, - }, - }, - SparkInnerPostProficiencyLv3: { - ID: 2002503, - Name: "Inner Post Proficiency ○", - Description: "A Spark that gives a skill hint for \"Inner Post Proficiency ○\".", - Group: 20025, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200252, 1}}, - {{41, 200252, 2}}, - {{41, 200252, 3}}, - {{41, 200252, 4}}, - {{41, 200252, 5}}, - }, - }, - SparkOuterPostProficiencyLv1: { - ID: 2002601, - Name: "Outer Post Proficiency ○", - Description: "A Spark that gives a skill hint for \"Outer Post Proficiency ○\".", - Group: 20026, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200262, 1}}, - {{41, 200262, 2}}, - {{41, 200262, 3}}, - {{41, 200262, 4}}, - {{41, 200262, 5}}, - }, - }, - SparkOuterPostProficiencyLv2: { - ID: 2002602, - Name: "Outer Post Proficiency ○", - Description: "A Spark that gives a skill hint for \"Outer Post Proficiency ○\".", - Group: 20026, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200262, 1}}, - {{41, 200262, 2}}, - {{41, 200262, 3}}, - {{41, 200262, 4}}, - {{41, 200262, 5}}, - }, - }, - SparkOuterPostProficiencyLv3: { - ID: 2002603, - Name: "Outer Post Proficiency ○", - Description: "A Spark that gives a skill hint for \"Outer Post Proficiency ○\".", - Group: 20026, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200262, 1}}, - {{41, 200262, 2}}, - {{41, 200262, 3}}, - {{41, 200262, 4}}, - {{41, 200262, 5}}, - }, - }, - SparkMaverickLv1: { - ID: 2002701, - Name: "Maverick ○", - Description: "A Spark that gives a skill hint for \"Maverick ○\".", - Group: 20027, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200272, 1}}, - {{41, 200272, 2}}, - {{41, 200272, 3}}, - {{41, 200272, 4}}, - {{41, 200272, 5}}, - }, - }, - SparkMaverickLv2: { - ID: 2002702, - Name: "Maverick ○", - Description: "A Spark that gives a skill hint for \"Maverick ○\".", - Group: 20027, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200272, 1}}, - {{41, 200272, 2}}, - {{41, 200272, 3}}, - {{41, 200272, 4}}, - {{41, 200272, 5}}, - }, - }, - SparkMaverickLv3: { - ID: 2002703, - Name: "Maverick ○", - Description: "A Spark that gives a skill hint for \"Maverick ○\".", - Group: 20027, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200272, 1}}, - {{41, 200272, 2}}, - {{41, 200272, 3}}, - {{41, 200272, 4}}, - {{41, 200272, 5}}, - }, - }, - SparkCompetitiveSpiritLv1: { - ID: 2002801, - Name: "Competitive Spirit ○", - Description: "A Spark that gives a skill hint for \"Competitive Spirit ○\".", - Group: 20028, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200282, 1}}, - {{41, 200282, 2}}, - {{41, 200282, 3}}, - {{41, 200282, 4}}, - {{41, 200282, 5}}, - }, - }, - SparkCompetitiveSpiritLv2: { - ID: 2002802, - Name: "Competitive Spirit ○", - Description: "A Spark that gives a skill hint for \"Competitive Spirit ○\".", - Group: 20028, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200282, 1}}, - {{41, 200282, 2}}, - {{41, 200282, 3}}, - {{41, 200282, 4}}, - {{41, 200282, 5}}, - }, - }, - SparkCompetitiveSpiritLv3: { - ID: 2002803, - Name: "Competitive Spirit ○", - Description: "A Spark that gives a skill hint for \"Competitive Spirit ○\".", - Group: 20028, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200282, 1}}, - {{41, 200282, 2}}, - {{41, 200282, 3}}, - {{41, 200282, 4}}, - {{41, 200282, 5}}, - }, - }, - SparkTargetinSightLv1: { - ID: 2002901, - Name: "Target in Sight ○", - Description: "A Spark that gives a skill hint for \"Target in Sight ○\".", - Group: 20029, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200292, 1}}, - {{41, 200292, 2}}, - {{41, 200292, 3}}, - {{41, 200292, 4}}, - {{41, 200292, 5}}, - }, - }, - SparkTargetinSightLv2: { - ID: 2002902, - Name: "Target in Sight ○", - Description: "A Spark that gives a skill hint for \"Target in Sight ○\".", - Group: 20029, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200292, 1}}, - {{41, 200292, 2}}, - {{41, 200292, 3}}, - {{41, 200292, 4}}, - {{41, 200292, 5}}, - }, - }, - SparkTargetinSightLv3: { - ID: 2002903, - Name: "Target in Sight ○", - Description: "A Spark that gives a skill hint for \"Target in Sight ○\".", - Group: 20029, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200292, 1}}, - {{41, 200292, 2}}, - {{41, 200292, 3}}, - {{41, 200292, 4}}, - {{41, 200292, 5}}, - }, - }, - SparkLongShotLv1: { - ID: 2003001, - Name: "Long Shot ○", - Description: "A Spark that gives a skill hint for \"Long Shot ○\".", - Group: 20030, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200302, 1}}, - {{41, 200302, 2}}, - {{41, 200302, 3}}, - {{41, 200302, 4}}, - {{41, 200302, 5}}, - }, - }, - SparkLongShotLv2: { - ID: 2003002, - Name: "Long Shot ○", - Description: "A Spark that gives a skill hint for \"Long Shot ○\".", - Group: 20030, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200302, 1}}, - {{41, 200302, 2}}, - {{41, 200302, 3}}, - {{41, 200302, 4}}, - {{41, 200302, 5}}, - }, - }, - SparkLongShotLv3: { - ID: 2003003, - Name: "Long Shot ○", - Description: "A Spark that gives a skill hint for \"Long Shot ○\".", - Group: 20030, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200302, 1}}, - {{41, 200302, 2}}, - {{41, 200302, 3}}, - {{41, 200302, 4}}, - {{41, 200302, 5}}, - }, - }, - SparkCornerAdeptLv1: { - ID: 2003301, - Name: "Corner Adept ○", - Description: "A Spark that gives a skill hint for \"Corner Adept ○\".", - Group: 20033, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200332, 1}}, - {{41, 200332, 2}}, - {{41, 200332, 3}}, - {{41, 200332, 4}}, - {{41, 200332, 5}}, - }, - }, - SparkCornerAdeptLv2: { - ID: 2003302, - Name: "Corner Adept ○", - Description: "A Spark that gives a skill hint for \"Corner Adept ○\".", - Group: 20033, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200332, 1}}, - {{41, 200332, 2}}, - {{41, 200332, 3}}, - {{41, 200332, 4}}, - {{41, 200332, 5}}, - }, - }, - SparkCornerAdeptLv3: { - ID: 2003303, - Name: "Corner Adept ○", - Description: "A Spark that gives a skill hint for \"Corner Adept ○\".", - Group: 20033, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200332, 1}}, - {{41, 200332, 2}}, - {{41, 200332, 3}}, - {{41, 200332, 4}}, - {{41, 200332, 5}}, - }, - }, - SparkCornerAccelerationLv1: { - ID: 2003401, - Name: "Corner Acceleration ○", - Description: "A Spark that gives a skill hint for \"Corner Acceleration ○\".", - Group: 20034, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200342, 1}}, - {{41, 200342, 2}}, - {{41, 200342, 3}}, - {{41, 200342, 4}}, - {{41, 200342, 5}}, - }, - }, - SparkCornerAccelerationLv2: { - ID: 2003402, - Name: "Corner Acceleration ○", - Description: "A Spark that gives a skill hint for \"Corner Acceleration ○\".", - Group: 20034, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200342, 1}}, - {{41, 200342, 2}}, - {{41, 200342, 3}}, - {{41, 200342, 4}}, - {{41, 200342, 5}}, - }, - }, - SparkCornerAccelerationLv3: { - ID: 2003403, - Name: "Corner Acceleration ○", - Description: "A Spark that gives a skill hint for \"Corner Acceleration ○\".", - Group: 20034, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200342, 1}}, - {{41, 200342, 2}}, - {{41, 200342, 3}}, - {{41, 200342, 4}}, - {{41, 200342, 5}}, - }, - }, - SparkCornerRecoveryLv1: { - ID: 2003501, - Name: "Corner Recovery ○", - Description: "A Spark that gives a skill hint for \"Corner Recovery ○\".", - Group: 20035, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200352, 1}}, - {{41, 200352, 2}}, - {{41, 200352, 3}}, - {{41, 200352, 4}}, - {{41, 200352, 5}}, - }, - }, - SparkCornerRecoveryLv2: { - ID: 2003502, - Name: "Corner Recovery ○", - Description: "A Spark that gives a skill hint for \"Corner Recovery ○\".", - Group: 20035, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200352, 1}}, - {{41, 200352, 2}}, - {{41, 200352, 3}}, - {{41, 200352, 4}}, - {{41, 200352, 5}}, - }, - }, - SparkCornerRecoveryLv3: { - ID: 2003503, - Name: "Corner Recovery ○", - Description: "A Spark that gives a skill hint for \"Corner Recovery ○\".", - Group: 20035, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200352, 1}}, - {{41, 200352, 2}}, - {{41, 200352, 3}}, - {{41, 200352, 4}}, - {{41, 200352, 5}}, - }, - }, - SparkStraightawayAdeptLv1: { - ID: 2003601, - Name: "Straightaway Adept", - Description: "A Spark that gives a skill hint for \"Straightaway Adept\".", - Group: 20036, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200362, 1}}, - {{41, 200362, 2}}, - {{41, 200362, 3}}, - {{41, 200362, 4}}, - {{41, 200362, 5}}, - }, - }, - SparkStraightawayAdeptLv2: { - ID: 2003602, - Name: "Straightaway Adept", - Description: "A Spark that gives a skill hint for \"Straightaway Adept\".", - Group: 20036, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200362, 1}}, - {{41, 200362, 2}}, - {{41, 200362, 3}}, - {{41, 200362, 4}}, - {{41, 200362, 5}}, - }, - }, - SparkStraightawayAdeptLv3: { - ID: 2003603, - Name: "Straightaway Adept", - Description: "A Spark that gives a skill hint for \"Straightaway Adept\".", - Group: 20036, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200362, 1}}, - {{41, 200362, 2}}, - {{41, 200362, 3}}, - {{41, 200362, 4}}, - {{41, 200362, 5}}, - }, - }, - SparkStraightawayAccelerationLv1: { - ID: 2003701, - Name: "Straightaway Acceleration", - Description: "A Spark that gives a skill hint for \"Straightaway Acceleration\".", - Group: 20037, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200372, 1}}, - {{41, 200372, 2}}, - {{41, 200372, 3}}, - {{41, 200372, 4}}, - {{41, 200372, 5}}, - }, - }, - SparkStraightawayAccelerationLv2: { - ID: 2003702, - Name: "Straightaway Acceleration", - Description: "A Spark that gives a skill hint for \"Straightaway Acceleration\".", - Group: 20037, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200372, 1}}, - {{41, 200372, 2}}, - {{41, 200372, 3}}, - {{41, 200372, 4}}, - {{41, 200372, 5}}, - }, - }, - SparkStraightawayAccelerationLv3: { - ID: 2003703, - Name: "Straightaway Acceleration", - Description: "A Spark that gives a skill hint for \"Straightaway Acceleration\".", - Group: 20037, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200372, 1}}, - {{41, 200372, 2}}, - {{41, 200372, 3}}, - {{41, 200372, 4}}, - {{41, 200372, 5}}, - }, - }, - SparkStraightawayRecoveryLv1: { - ID: 2003801, - Name: "Straightaway Recovery", - Description: "A Spark that gives a skill hint for \"Straightaway Recovery\".", - Group: 20038, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200382, 1}}, - {{41, 200382, 2}}, - {{41, 200382, 3}}, - {{41, 200382, 4}}, - {{41, 200382, 5}}, - }, - }, - SparkStraightawayRecoveryLv2: { - ID: 2003802, - Name: "Straightaway Recovery", - Description: "A Spark that gives a skill hint for \"Straightaway Recovery\".", - Group: 20038, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200382, 1}}, - {{41, 200382, 2}}, - {{41, 200382, 3}}, - {{41, 200382, 4}}, - {{41, 200382, 5}}, - }, - }, - SparkStraightawayRecoveryLv3: { - ID: 2003803, - Name: "Straightaway Recovery", - Description: "A Spark that gives a skill hint for \"Straightaway Recovery\".", - Group: 20038, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200382, 1}}, - {{41, 200382, 2}}, - {{41, 200382, 3}}, - {{41, 200382, 4}}, - {{41, 200382, 5}}, - }, - }, - SparkFocusLv1: { - ID: 2004301, - Name: "Focus", - Description: "A Spark that gives a skill hint for \"Focus\".", - Group: 20043, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200432, 1}}, - {{41, 200432, 2}}, - {{41, 200432, 3}}, - {{41, 200432, 4}}, - {{41, 200432, 5}}, - }, - }, - SparkFocusLv2: { - ID: 2004302, - Name: "Focus", - Description: "A Spark that gives a skill hint for \"Focus\".", - Group: 20043, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200432, 1}}, - {{41, 200432, 2}}, - {{41, 200432, 3}}, - {{41, 200432, 4}}, - {{41, 200432, 5}}, - }, - }, - SparkFocusLv3: { - ID: 2004303, - Name: "Focus", - Description: "A Spark that gives a skill hint for \"Focus\".", - Group: 20043, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200432, 1}}, - {{41, 200432, 2}}, - {{41, 200432, 3}}, - {{41, 200432, 4}}, - {{41, 200432, 5}}, - }, - }, - SparkLayLowLv1: { - ID: 2004401, - Name: "Lay Low", - Description: "A Spark that gives a skill hint for \"Lay Low\".", - Group: 20044, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200442, 1}}, - {{41, 200442, 2}}, - {{41, 200442, 3}}, - {{41, 200442, 4}}, - {{41, 200442, 5}}, - }, - }, - SparkLayLowLv2: { - ID: 2004402, - Name: "Lay Low", - Description: "A Spark that gives a skill hint for \"Lay Low\".", - Group: 20044, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200442, 1}}, - {{41, 200442, 2}}, - {{41, 200442, 3}}, - {{41, 200442, 4}}, - {{41, 200442, 5}}, - }, - }, - SparkLayLowLv3: { - ID: 2004403, - Name: "Lay Low", - Description: "A Spark that gives a skill hint for \"Lay Low\".", - Group: 20044, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200442, 1}}, - {{41, 200442, 2}}, - {{41, 200442, 3}}, - {{41, 200442, 4}}, - {{41, 200442, 5}}, - }, - }, - SparkPrudentPositioningLv1: { - ID: 2004501, - Name: "Prudent Positioning", - Description: "A Spark that gives a skill hint for \"Prudent Positioning\".", - Group: 20045, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200452, 1}}, - {{41, 200452, 2}}, - {{41, 200452, 3}}, - {{41, 200452, 4}}, - {{41, 200452, 5}}, - }, - }, - SparkPrudentPositioningLv2: { - ID: 2004502, - Name: "Prudent Positioning", - Description: "A Spark that gives a skill hint for \"Prudent Positioning\".", - Group: 20045, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200452, 1}}, - {{41, 200452, 2}}, - {{41, 200452, 3}}, - {{41, 200452, 4}}, - {{41, 200452, 5}}, - }, - }, - SparkPrudentPositioningLv3: { - ID: 2004503, - Name: "Prudent Positioning", - Description: "A Spark that gives a skill hint for \"Prudent Positioning\".", - Group: 20045, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200452, 1}}, - {{41, 200452, 2}}, - {{41, 200452, 3}}, - {{41, 200452, 4}}, - {{41, 200452, 5}}, - }, - }, - SparkRampUpLv1: { - ID: 2004601, - Name: "Ramp Up", - Description: "A Spark that gives a skill hint for \"Ramp Up\".", - Group: 20046, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200462, 1}}, - {{41, 200462, 2}}, - {{41, 200462, 3}}, - {{41, 200462, 4}}, - {{41, 200462, 5}}, - }, - }, - SparkRampUpLv2: { - ID: 2004602, - Name: "Ramp Up", - Description: "A Spark that gives a skill hint for \"Ramp Up\".", - Group: 20046, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200462, 1}}, - {{41, 200462, 2}}, - {{41, 200462, 3}}, - {{41, 200462, 4}}, - {{41, 200462, 5}}, - }, - }, - SparkRampUpLv3: { - ID: 2004603, - Name: "Ramp Up", - Description: "A Spark that gives a skill hint for \"Ramp Up\".", - Group: 20046, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200462, 1}}, - {{41, 200462, 2}}, - {{41, 200462, 3}}, - {{41, 200462, 4}}, - {{41, 200462, 5}}, - }, - }, - SparkPaceStrategyLv1: { - ID: 2004701, - Name: "Pace Strategy", - Description: "A Spark that gives a skill hint for \"Pace Strategy\".", - Group: 20047, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200472, 1}}, - {{41, 200472, 2}}, - {{41, 200472, 3}}, - {{41, 200472, 4}}, - {{41, 200472, 5}}, - }, - }, - SparkPaceStrategyLv2: { - ID: 2004702, - Name: "Pace Strategy", - Description: "A Spark that gives a skill hint for \"Pace Strategy\".", - Group: 20047, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200472, 1}}, - {{41, 200472, 2}}, - {{41, 200472, 3}}, - {{41, 200472, 4}}, - {{41, 200472, 5}}, - }, - }, - SparkPaceStrategyLv3: { - ID: 2004703, - Name: "Pace Strategy", - Description: "A Spark that gives a skill hint for \"Pace Strategy\".", - Group: 20047, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200472, 1}}, - {{41, 200472, 2}}, - {{41, 200472, 3}}, - {{41, 200472, 4}}, - {{41, 200472, 5}}, - }, - }, - SparkCalminaCrowdLv1: { - ID: 2004801, - Name: "Calm in a Crowd", - Description: "A Spark that gives a skill hint for \"Calm in a Crowd\".", - Group: 20048, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200482, 1}}, - {{41, 200482, 2}}, - {{41, 200482, 3}}, - {{41, 200482, 4}}, - {{41, 200482, 5}}, - }, - }, - SparkCalminaCrowdLv2: { - ID: 2004802, - Name: "Calm in a Crowd", - Description: "A Spark that gives a skill hint for \"Calm in a Crowd\".", - Group: 20048, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200482, 1}}, - {{41, 200482, 2}}, - {{41, 200482, 3}}, - {{41, 200482, 4}}, - {{41, 200482, 5}}, - }, - }, - SparkCalminaCrowdLv3: { - ID: 2004803, - Name: "Calm in a Crowd", - Description: "A Spark that gives a skill hint for \"Calm in a Crowd\".", - Group: 20048, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200482, 1}}, - {{41, 200482, 2}}, - {{41, 200482, 3}}, - {{41, 200482, 4}}, - {{41, 200482, 5}}, - }, - }, - SparkNimbleNavigatorLv1: { - ID: 2004901, - Name: "Nimble Navigator", - Description: "A Spark that gives a skill hint for \"Nimble Navigator\".", - Group: 20049, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200492, 1}}, - {{41, 200492, 2}}, - {{41, 200492, 3}}, - {{41, 200492, 4}}, - {{41, 200492, 5}}, - }, - }, - SparkNimbleNavigatorLv2: { - ID: 2004902, - Name: "Nimble Navigator", - Description: "A Spark that gives a skill hint for \"Nimble Navigator\".", - Group: 20049, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200492, 1}}, - {{41, 200492, 2}}, - {{41, 200492, 3}}, - {{41, 200492, 4}}, - {{41, 200492, 5}}, - }, - }, - SparkNimbleNavigatorLv3: { - ID: 2004903, - Name: "Nimble Navigator", - Description: "A Spark that gives a skill hint for \"Nimble Navigator\".", - Group: 20049, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200492, 1}}, - {{41, 200492, 2}}, - {{41, 200492, 3}}, - {{41, 200492, 4}}, - {{41, 200492, 5}}, - }, - }, - SparkGowiththeFlowLv1: { - ID: 2005001, - Name: "Go with the Flow", - Description: "A Spark that gives a skill hint for \"Go with the Flow\".", - Group: 20050, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200502, 1}}, - {{41, 200502, 2}}, - {{41, 200502, 3}}, - {{41, 200502, 4}}, - {{41, 200502, 5}}, - }, - }, - SparkGowiththeFlowLv2: { - ID: 2005002, - Name: "Go with the Flow", - Description: "A Spark that gives a skill hint for \"Go with the Flow\".", - Group: 20050, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200502, 1}}, - {{41, 200502, 2}}, - {{41, 200502, 3}}, - {{41, 200502, 4}}, - {{41, 200502, 5}}, - }, - }, - SparkGowiththeFlowLv3: { - ID: 2005003, - Name: "Go with the Flow", - Description: "A Spark that gives a skill hint for \"Go with the Flow\".", - Group: 20050, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200502, 1}}, - {{41, 200502, 2}}, - {{41, 200502, 3}}, - {{41, 200502, 4}}, - {{41, 200502, 5}}, - }, - }, - SparkHomestretchHasteLv1: { - ID: 2005101, - Name: "Homestretch Haste", - Description: "A Spark that gives a skill hint for \"Homestretch Haste\".", - Group: 20051, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200512, 1}}, - {{41, 200512, 2}}, - {{41, 200512, 3}}, - {{41, 200512, 4}}, - {{41, 200512, 5}}, - }, - }, - SparkHomestretchHasteLv2: { - ID: 2005102, - Name: "Homestretch Haste", - Description: "A Spark that gives a skill hint for \"Homestretch Haste\".", - Group: 20051, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200512, 1}}, - {{41, 200512, 2}}, - {{41, 200512, 3}}, - {{41, 200512, 4}}, - {{41, 200512, 5}}, - }, - }, - SparkHomestretchHasteLv3: { - ID: 2005103, - Name: "Homestretch Haste", - Description: "A Spark that gives a skill hint for \"Homestretch Haste\".", - Group: 20051, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200512, 1}}, - {{41, 200512, 2}}, - {{41, 200512, 3}}, - {{41, 200512, 4}}, - {{41, 200512, 5}}, - }, - }, - SparkEarlyLeadLv1: { - ID: 2005301, - Name: "Early Lead", - Description: "A Spark that gives a skill hint for \"Early Lead\".", - Group: 20053, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200532, 1}}, - {{41, 200532, 2}}, - {{41, 200532, 3}}, - {{41, 200532, 4}}, - {{41, 200532, 5}}, - }, - }, - SparkEarlyLeadLv2: { - ID: 2005302, - Name: "Early Lead", - Description: "A Spark that gives a skill hint for \"Early Lead\".", - Group: 20053, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200532, 1}}, - {{41, 200532, 2}}, - {{41, 200532, 3}}, - {{41, 200532, 4}}, - {{41, 200532, 5}}, - }, - }, - SparkEarlyLeadLv3: { - ID: 2005303, - Name: "Early Lead", - Description: "A Spark that gives a skill hint for \"Early Lead\".", - Group: 20053, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200532, 1}}, - {{41, 200532, 2}}, - {{41, 200532, 3}}, - {{41, 200532, 4}}, - {{41, 200532, 5}}, - }, - }, - SparkFastPacedLv1: { - ID: 2005401, - Name: "Fast-Paced", - Description: "A Spark that gives a skill hint for \"Fast-Paced\".", - Group: 20054, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200542, 1}}, - {{41, 200542, 2}}, - {{41, 200542, 3}}, - {{41, 200542, 4}}, - {{41, 200542, 5}}, - }, - }, - SparkFastPacedLv2: { - ID: 2005402, - Name: "Fast-Paced", - Description: "A Spark that gives a skill hint for \"Fast-Paced\".", - Group: 20054, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200542, 1}}, - {{41, 200542, 2}}, - {{41, 200542, 3}}, - {{41, 200542, 4}}, - {{41, 200542, 5}}, - }, - }, - SparkFastPacedLv3: { - ID: 2005403, - Name: "Fast-Paced", - Description: "A Spark that gives a skill hint for \"Fast-Paced\".", - Group: 20054, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200542, 1}}, - {{41, 200542, 2}}, - {{41, 200542, 3}}, - {{41, 200542, 4}}, - {{41, 200542, 5}}, - }, - }, - SparkFinalPushLv1: { - ID: 2005501, - Name: "Final Push", - Description: "A Spark that gives a skill hint for \"Final Push\".", - Group: 20055, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200552, 1}}, - {{41, 200552, 2}}, - {{41, 200552, 3}}, - {{41, 200552, 4}}, - {{41, 200552, 5}}, - }, - }, - SparkFinalPushLv2: { - ID: 2005502, - Name: "Final Push", - Description: "A Spark that gives a skill hint for \"Final Push\".", - Group: 20055, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200552, 1}}, - {{41, 200552, 2}}, - {{41, 200552, 3}}, - {{41, 200552, 4}}, - {{41, 200552, 5}}, - }, - }, - SparkFinalPushLv3: { - ID: 2005503, - Name: "Final Push", - Description: "A Spark that gives a skill hint for \"Final Push\".", - Group: 20055, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200552, 1}}, - {{41, 200552, 2}}, - {{41, 200552, 3}}, - {{41, 200552, 4}}, - {{41, 200552, 5}}, - }, - }, - SparkStaminatoSpareLv1: { - ID: 2005601, - Name: "Stamina to Spare", - Description: "A Spark that gives a skill hint for \"Stamina to Spare\".", - Group: 20056, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200562, 1}}, - {{41, 200562, 2}}, - {{41, 200562, 3}}, - {{41, 200562, 4}}, - {{41, 200562, 5}}, - }, - }, - SparkStaminatoSpareLv2: { - ID: 2005602, - Name: "Stamina to Spare", - Description: "A Spark that gives a skill hint for \"Stamina to Spare\".", - Group: 20056, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200562, 1}}, - {{41, 200562, 2}}, - {{41, 200562, 3}}, - {{41, 200562, 4}}, - {{41, 200562, 5}}, - }, - }, - SparkStaminatoSpareLv3: { - ID: 2005603, - Name: "Stamina to Spare", - Description: "A Spark that gives a skill hint for \"Stamina to Spare\".", - Group: 20056, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200562, 1}}, - {{41, 200562, 2}}, - {{41, 200562, 3}}, - {{41, 200562, 4}}, - {{41, 200562, 5}}, - }, - }, - SparkPreferredPositionLv1: { - ID: 2005701, - Name: "Preferred Position", - Description: "A Spark that gives a skill hint for \"Preferred Position\".", - Group: 20057, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200572, 1}}, - {{41, 200572, 2}}, - {{41, 200572, 3}}, - {{41, 200572, 4}}, - {{41, 200572, 5}}, - }, - }, - SparkPreferredPositionLv2: { - ID: 2005702, - Name: "Preferred Position", - Description: "A Spark that gives a skill hint for \"Preferred Position\".", - Group: 20057, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200572, 1}}, - {{41, 200572, 2}}, - {{41, 200572, 3}}, - {{41, 200572, 4}}, - {{41, 200572, 5}}, - }, - }, - SparkPreferredPositionLv3: { - ID: 2005703, - Name: "Preferred Position", - Description: "A Spark that gives a skill hint for \"Preferred Position\".", - Group: 20057, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200572, 1}}, - {{41, 200572, 2}}, - {{41, 200572, 3}}, - {{41, 200572, 4}}, - {{41, 200572, 5}}, - }, - }, - SparkPreparedtoPassLv1: { - ID: 2005801, - Name: "Prepared to Pass", - Description: "A Spark that gives a skill hint for \"Prepared to Pass\".", - Group: 20058, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200582, 1}}, - {{41, 200582, 2}}, - {{41, 200582, 3}}, - {{41, 200582, 4}}, - {{41, 200582, 5}}, - }, - }, - SparkPreparedtoPassLv2: { - ID: 2005802, - Name: "Prepared to Pass", - Description: "A Spark that gives a skill hint for \"Prepared to Pass\".", - Group: 20058, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200582, 1}}, - {{41, 200582, 2}}, - {{41, 200582, 3}}, - {{41, 200582, 4}}, - {{41, 200582, 5}}, - }, - }, - SparkPreparedtoPassLv3: { - ID: 2005803, - Name: "Prepared to Pass", - Description: "A Spark that gives a skill hint for \"Prepared to Pass\".", - Group: 20058, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200582, 1}}, - {{41, 200582, 2}}, - {{41, 200582, 3}}, - {{41, 200582, 4}}, - {{41, 200582, 5}}, - }, - }, - SparkPositionPilferLv1: { - ID: 2005901, - Name: "Position Pilfer", - Description: "A Spark that gives a skill hint for \"Position Pilfer\".", - Group: 20059, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200592, 1}}, - {{41, 200592, 2}}, - {{41, 200592, 3}}, - {{41, 200592, 4}}, - {{41, 200592, 5}}, - }, - }, - SparkPositionPilferLv2: { - ID: 2005902, - Name: "Position Pilfer", - Description: "A Spark that gives a skill hint for \"Position Pilfer\".", - Group: 20059, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200592, 1}}, - {{41, 200592, 2}}, - {{41, 200592, 3}}, - {{41, 200592, 4}}, - {{41, 200592, 5}}, - }, - }, - SparkPositionPilferLv3: { - ID: 2005903, - Name: "Position Pilfer", - Description: "A Spark that gives a skill hint for \"Position Pilfer\".", - Group: 20059, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200592, 1}}, - {{41, 200592, 2}}, - {{41, 200592, 3}}, - {{41, 200592, 4}}, - {{41, 200592, 5}}, - }, - }, - SparkSlickSurgeLv1: { - ID: 2006001, - Name: "Slick Surge", - Description: "A Spark that gives a skill hint for \"Slick Surge\".", - Group: 20060, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200602, 1}}, - {{41, 200602, 2}}, - {{41, 200602, 3}}, - {{41, 200602, 4}}, - {{41, 200602, 5}}, - }, - }, - SparkSlickSurgeLv2: { - ID: 2006002, - Name: "Slick Surge", - Description: "A Spark that gives a skill hint for \"Slick Surge\".", - Group: 20060, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200602, 1}}, - {{41, 200602, 2}}, - {{41, 200602, 3}}, - {{41, 200602, 4}}, - {{41, 200602, 5}}, - }, - }, - SparkSlickSurgeLv3: { - ID: 2006003, - Name: "Slick Surge", - Description: "A Spark that gives a skill hint for \"Slick Surge\".", - Group: 20060, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200602, 1}}, - {{41, 200602, 2}}, - {{41, 200602, 3}}, - {{41, 200602, 4}}, - {{41, 200602, 5}}, - }, - }, - SparkOuterSwellLv1: { - ID: 2006101, - Name: "Outer Swell", - Description: "A Spark that gives a skill hint for \"Outer Swell\".", - Group: 20061, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200612, 1}}, - {{41, 200612, 2}}, - {{41, 200612, 3}}, - {{41, 200612, 4}}, - {{41, 200612, 5}}, - }, - }, - SparkOuterSwellLv2: { - ID: 2006102, - Name: "Outer Swell", - Description: "A Spark that gives a skill hint for \"Outer Swell\".", - Group: 20061, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200612, 1}}, - {{41, 200612, 2}}, - {{41, 200612, 3}}, - {{41, 200612, 4}}, - {{41, 200612, 5}}, - }, - }, - SparkOuterSwellLv3: { - ID: 2006103, - Name: "Outer Swell", - Description: "A Spark that gives a skill hint for \"Outer Swell\".", - Group: 20061, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200612, 1}}, - {{41, 200612, 2}}, - {{41, 200612, 3}}, - {{41, 200612, 4}}, - {{41, 200612, 5}}, - }, - }, - SparkStandingByLv1: { - ID: 2006201, - Name: "Standing By", - Description: "A Spark that gives a skill hint for \"Standing By\".", - Group: 20062, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200622, 1}}, - {{41, 200622, 2}}, - {{41, 200622, 3}}, - {{41, 200622, 4}}, - {{41, 200622, 5}}, - }, - }, - SparkStandingByLv2: { - ID: 2006202, - Name: "Standing By", - Description: "A Spark that gives a skill hint for \"Standing By\".", - Group: 20062, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200622, 1}}, - {{41, 200622, 2}}, - {{41, 200622, 3}}, - {{41, 200622, 4}}, - {{41, 200622, 5}}, - }, - }, - SparkStandingByLv3: { - ID: 2006203, - Name: "Standing By", - Description: "A Spark that gives a skill hint for \"Standing By\".", - Group: 20062, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200622, 1}}, - {{41, 200622, 2}}, - {{41, 200622, 3}}, - {{41, 200622, 4}}, - {{41, 200622, 5}}, - }, - }, - SparkMasterfulGambitLv1: { - ID: 2006301, - Name: "Masterful Gambit", - Description: "A Spark that gives a skill hint for \"Masterful Gambit\".", - Group: 20063, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200632, 1}}, - {{41, 200632, 2}}, - {{41, 200632, 3}}, - {{41, 200632, 4}}, - {{41, 200632, 5}}, - }, - }, - SparkMasterfulGambitLv2: { - ID: 2006302, - Name: "Masterful Gambit", - Description: "A Spark that gives a skill hint for \"Masterful Gambit\".", - Group: 20063, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200632, 1}}, - {{41, 200632, 2}}, - {{41, 200632, 3}}, - {{41, 200632, 4}}, - {{41, 200632, 5}}, - }, - }, - SparkMasterfulGambitLv3: { - ID: 2006303, - Name: "Masterful Gambit", - Description: "A Spark that gives a skill hint for \"Masterful Gambit\".", - Group: 20063, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200632, 1}}, - {{41, 200632, 2}}, - {{41, 200632, 3}}, - {{41, 200632, 4}}, - {{41, 200632, 5}}, - }, - }, - SparkStraightawaySpurtLv1: { - ID: 2006401, - Name: "Straightaway Spurt", - Description: "A Spark that gives a skill hint for \"Straightaway Spurt\".", - Group: 20064, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200642, 1}}, - {{41, 200642, 2}}, - {{41, 200642, 3}}, - {{41, 200642, 4}}, - {{41, 200642, 5}}, - }, - }, - SparkStraightawaySpurtLv2: { - ID: 2006402, - Name: "Straightaway Spurt", - Description: "A Spark that gives a skill hint for \"Straightaway Spurt\".", - Group: 20064, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200642, 1}}, - {{41, 200642, 2}}, - {{41, 200642, 3}}, - {{41, 200642, 4}}, - {{41, 200642, 5}}, - }, - }, - SparkStraightawaySpurtLv3: { - ID: 2006403, - Name: "Straightaway Spurt", - Description: "A Spark that gives a skill hint for \"Straightaway Spurt\".", - Group: 20064, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200642, 1}}, - {{41, 200642, 2}}, - {{41, 200642, 3}}, - {{41, 200642, 4}}, - {{41, 200642, 5}}, - }, - }, - SparkSprintingGearLv1: { - ID: 2006501, - Name: "Sprinting Gear", - Description: "A Spark that gives a skill hint for \"Sprinting Gear\".", - Group: 20065, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200652, 1}}, - {{41, 200652, 2}}, - {{41, 200652, 3}}, - {{41, 200652, 4}}, - {{41, 200652, 5}}, - }, - }, - SparkSprintingGearLv2: { - ID: 2006502, - Name: "Sprinting Gear", - Description: "A Spark that gives a skill hint for \"Sprinting Gear\".", - Group: 20065, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200652, 1}}, - {{41, 200652, 2}}, - {{41, 200652, 3}}, - {{41, 200652, 4}}, - {{41, 200652, 5}}, - }, - }, - SparkSprintingGearLv3: { - ID: 2006503, - Name: "Sprinting Gear", - Description: "A Spark that gives a skill hint for \"Sprinting Gear\".", - Group: 20065, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200652, 1}}, - {{41, 200652, 2}}, - {{41, 200652, 3}}, - {{41, 200652, 4}}, - {{41, 200652, 5}}, - }, - }, - SparkWaitandSeeLv1: { - ID: 2006601, - Name: "Wait-and-See", - Description: "A Spark that gives a skill hint for \"Wait-and-See\".", - Group: 20066, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200662, 1}}, - {{41, 200662, 2}}, - {{41, 200662, 3}}, - {{41, 200662, 4}}, - {{41, 200662, 5}}, - }, - }, - SparkWaitandSeeLv2: { - ID: 2006602, - Name: "Wait-and-See", - Description: "A Spark that gives a skill hint for \"Wait-and-See\".", - Group: 20066, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200662, 1}}, - {{41, 200662, 2}}, - {{41, 200662, 3}}, - {{41, 200662, 4}}, - {{41, 200662, 5}}, - }, - }, - SparkWaitandSeeLv3: { - ID: 2006603, - Name: "Wait-and-See", - Description: "A Spark that gives a skill hint for \"Wait-and-See\".", - Group: 20066, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200662, 1}}, - {{41, 200662, 2}}, - {{41, 200662, 3}}, - {{41, 200662, 4}}, - {{41, 200662, 5}}, - }, - }, - SparkGapCloserLv1: { - ID: 2006701, - Name: "Gap Closer", - Description: "A Spark that gives a skill hint for \"Gap Closer\".", - Group: 20067, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200672, 1}}, - {{41, 200672, 2}}, - {{41, 200672, 3}}, - {{41, 200672, 4}}, - {{41, 200672, 5}}, - }, - }, - SparkGapCloserLv2: { - ID: 2006702, - Name: "Gap Closer", - Description: "A Spark that gives a skill hint for \"Gap Closer\".", - Group: 20067, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200672, 1}}, - {{41, 200672, 2}}, - {{41, 200672, 3}}, - {{41, 200672, 4}}, - {{41, 200672, 5}}, - }, - }, - SparkGapCloserLv3: { - ID: 2006703, - Name: "Gap Closer", - Description: "A Spark that gives a skill hint for \"Gap Closer\".", - Group: 20067, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200672, 1}}, - {{41, 200672, 2}}, - {{41, 200672, 3}}, - {{41, 200672, 4}}, - {{41, 200672, 5}}, - }, - }, - SparkProductivePlanLv1: { - ID: 2006801, - Name: "Productive Plan", - Description: "A Spark that gives a skill hint for \"Productive Plan\".", - Group: 20068, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200682, 1}}, - {{41, 200682, 2}}, - {{41, 200682, 3}}, - {{41, 200682, 4}}, - {{41, 200682, 5}}, - }, - }, - SparkProductivePlanLv2: { - ID: 2006802, - Name: "Productive Plan", - Description: "A Spark that gives a skill hint for \"Productive Plan\".", - Group: 20068, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200682, 1}}, - {{41, 200682, 2}}, - {{41, 200682, 3}}, - {{41, 200682, 4}}, - {{41, 200682, 5}}, - }, - }, - SparkProductivePlanLv3: { - ID: 2006803, - Name: "Productive Plan", - Description: "A Spark that gives a skill hint for \"Productive Plan\".", - Group: 20068, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200682, 1}}, - {{41, 200682, 2}}, - {{41, 200682, 3}}, - {{41, 200682, 4}}, - {{41, 200682, 5}}, - }, - }, - SparkWatchfulEyeLv1: { - ID: 2006901, - Name: "Watchful Eye", - Description: "A Spark that gives a skill hint for \"Watchful Eye\".", - Group: 20069, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200692, 1}}, - {{41, 200692, 2}}, - {{41, 200692, 3}}, - {{41, 200692, 4}}, - {{41, 200692, 5}}, - }, - }, - SparkWatchfulEyeLv2: { - ID: 2006902, - Name: "Watchful Eye", - Description: "A Spark that gives a skill hint for \"Watchful Eye\".", - Group: 20069, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200692, 1}}, - {{41, 200692, 2}}, - {{41, 200692, 3}}, - {{41, 200692, 4}}, - {{41, 200692, 5}}, - }, - }, - SparkWatchfulEyeLv3: { - ID: 2006903, - Name: "Watchful Eye", - Description: "A Spark that gives a skill hint for \"Watchful Eye\".", - Group: 20069, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200692, 1}}, - {{41, 200692, 2}}, - {{41, 200692, 3}}, - {{41, 200692, 4}}, - {{41, 200692, 5}}, - }, - }, - SparkUpdraftersLv1: { - ID: 2007001, - Name: "Updrafters", - Description: "A Spark that gives a skill hint for \"Updrafters\".", - Group: 20070, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200702, 1}}, - {{41, 200702, 2}}, - {{41, 200702, 3}}, - {{41, 200702, 4}}, - {{41, 200702, 5}}, - }, - }, - SparkUpdraftersLv2: { - ID: 2007002, - Name: "Updrafters", - Description: "A Spark that gives a skill hint for \"Updrafters\".", - Group: 20070, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200702, 1}}, - {{41, 200702, 2}}, - {{41, 200702, 3}}, - {{41, 200702, 4}}, - {{41, 200702, 5}}, - }, - }, - SparkUpdraftersLv3: { - ID: 2007003, - Name: "Updrafters", - Description: "A Spark that gives a skill hint for \"Updrafters\".", - Group: 20070, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200702, 1}}, - {{41, 200702, 2}}, - {{41, 200702, 3}}, - {{41, 200702, 4}}, - {{41, 200702, 5}}, - }, - }, - SparkRosyOutlookLv1: { - ID: 2007101, - Name: "Rosy Outlook", - Description: "A Spark that gives a skill hint for \"Rosy Outlook\".", - Group: 20071, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200712, 1}}, - {{41, 200712, 2}}, - {{41, 200712, 3}}, - {{41, 200712, 4}}, - {{41, 200712, 5}}, - }, - }, - SparkRosyOutlookLv2: { - ID: 2007102, - Name: "Rosy Outlook", - Description: "A Spark that gives a skill hint for \"Rosy Outlook\".", - Group: 20071, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200712, 1}}, - {{41, 200712, 2}}, - {{41, 200712, 3}}, - {{41, 200712, 4}}, - {{41, 200712, 5}}, - }, - }, - SparkRosyOutlookLv3: { - ID: 2007103, - Name: "Rosy Outlook", - Description: "A Spark that gives a skill hint for \"Rosy Outlook\".", - Group: 20071, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200712, 1}}, - {{41, 200712, 2}}, - {{41, 200712, 3}}, - {{41, 200712, 4}}, - {{41, 200712, 5}}, - }, - }, - SparkUpTempoLv1: { - ID: 2007201, - Name: "Up-Tempo", - Description: "A Spark that gives a skill hint for \"Up-Tempo\".", - Group: 20072, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200722, 1}}, - {{41, 200722, 2}}, - {{41, 200722, 3}}, - {{41, 200722, 4}}, - {{41, 200722, 5}}, - }, - }, - SparkUpTempoLv2: { - ID: 2007202, - Name: "Up-Tempo", - Description: "A Spark that gives a skill hint for \"Up-Tempo\".", - Group: 20072, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200722, 1}}, - {{41, 200722, 2}}, - {{41, 200722, 3}}, - {{41, 200722, 4}}, - {{41, 200722, 5}}, - }, - }, - SparkUpTempoLv3: { - ID: 2007203, - Name: "Up-Tempo", - Description: "A Spark that gives a skill hint for \"Up-Tempo\".", - Group: 20072, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200722, 1}}, - {{41, 200722, 2}}, - {{41, 200722, 3}}, - {{41, 200722, 4}}, - {{41, 200722, 5}}, - }, - }, - SparkSteadfastLv1: { - ID: 2007301, - Name: "Steadfast", - Description: "A Spark that gives a skill hint for \"Steadfast\".", - Group: 20073, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200732, 1}}, - {{41, 200732, 2}}, - {{41, 200732, 3}}, - {{41, 200732, 4}}, - {{41, 200732, 5}}, - }, - }, - SparkSteadfastLv2: { - ID: 2007302, - Name: "Steadfast", - Description: "A Spark that gives a skill hint for \"Steadfast\".", - Group: 20073, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200732, 1}}, - {{41, 200732, 2}}, - {{41, 200732, 3}}, - {{41, 200732, 4}}, - {{41, 200732, 5}}, - }, - }, - SparkSteadfastLv3: { - ID: 2007303, - Name: "Steadfast", - Description: "A Spark that gives a skill hint for \"Steadfast\".", - Group: 20073, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200732, 1}}, - {{41, 200732, 2}}, - {{41, 200732, 3}}, - {{41, 200732, 4}}, - {{41, 200732, 5}}, - }, - }, - SparkDeepBreathsLv1: { - ID: 2007401, - Name: "Deep Breaths", - Description: "A Spark that gives a skill hint for \"Deep Breaths\".", - Group: 20074, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200742, 1}}, - {{41, 200742, 2}}, - {{41, 200742, 3}}, - {{41, 200742, 4}}, - {{41, 200742, 5}}, - }, - }, - SparkDeepBreathsLv2: { - ID: 2007402, - Name: "Deep Breaths", - Description: "A Spark that gives a skill hint for \"Deep Breaths\".", - Group: 20074, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200742, 1}}, - {{41, 200742, 2}}, - {{41, 200742, 3}}, - {{41, 200742, 4}}, - {{41, 200742, 5}}, - }, - }, - SparkDeepBreathsLv3: { - ID: 2007403, - Name: "Deep Breaths", - Description: "A Spark that gives a skill hint for \"Deep Breaths\".", - Group: 20074, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200742, 1}}, - {{41, 200742, 2}}, - {{41, 200742, 3}}, - {{41, 200742, 4}}, - {{41, 200742, 5}}, - }, - }, - SparkInsideScoopLv1: { - ID: 2007501, - Name: "Inside Scoop", - Description: "A Spark that gives a skill hint for \"Inside Scoop\".", - Group: 20075, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200752, 1}}, - {{41, 200752, 2}}, - {{41, 200752, 3}}, - {{41, 200752, 4}}, - {{41, 200752, 5}}, - }, - }, - SparkInsideScoopLv2: { - ID: 2007502, - Name: "Inside Scoop", - Description: "A Spark that gives a skill hint for \"Inside Scoop\".", - Group: 20075, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200752, 1}}, - {{41, 200752, 2}}, - {{41, 200752, 3}}, - {{41, 200752, 4}}, - {{41, 200752, 5}}, - }, - }, - SparkInsideScoopLv3: { - ID: 2007503, - Name: "Inside Scoop", - Description: "A Spark that gives a skill hint for \"Inside Scoop\".", - Group: 20075, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200752, 1}}, - {{41, 200752, 2}}, - {{41, 200752, 3}}, - {{41, 200752, 4}}, - {{41, 200752, 5}}, - }, - }, - SparkExtraTankLv1: { - ID: 2007601, - Name: "Extra Tank", - Description: "A Spark that gives a skill hint for \"Extra Tank\".", - Group: 20076, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200762, 1}}, - {{41, 200762, 2}}, - {{41, 200762, 3}}, - {{41, 200762, 4}}, - {{41, 200762, 5}}, - }, - }, - SparkExtraTankLv2: { - ID: 2007602, - Name: "Extra Tank", - Description: "A Spark that gives a skill hint for \"Extra Tank\".", - Group: 20076, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200762, 1}}, - {{41, 200762, 2}}, - {{41, 200762, 3}}, - {{41, 200762, 4}}, - {{41, 200762, 5}}, - }, - }, - SparkExtraTankLv3: { - ID: 2007603, - Name: "Extra Tank", - Description: "A Spark that gives a skill hint for \"Extra Tank\".", - Group: 20076, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200762, 1}}, - {{41, 200762, 2}}, - {{41, 200762, 3}}, - {{41, 200762, 4}}, - {{41, 200762, 5}}, - }, - }, - SparkTrickFrontLv1: { - ID: 2007701, - Name: "Trick (Front)", - Description: "A Spark that gives a skill hint for \"Trick (Front)\".", - Group: 20077, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200771, 1}}, - {{41, 200771, 2}}, - {{41, 200771, 3}}, - {{41, 200771, 4}}, - {{41, 200771, 5}}, - }, - }, - SparkTrickFrontLv2: { - ID: 2007702, - Name: "Trick (Front)", - Description: "A Spark that gives a skill hint for \"Trick (Front)\".", - Group: 20077, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200771, 1}}, - {{41, 200771, 2}}, - {{41, 200771, 3}}, - {{41, 200771, 4}}, - {{41, 200771, 5}}, - }, - }, - SparkTrickFrontLv3: { - ID: 2007703, - Name: "Trick (Front)", - Description: "A Spark that gives a skill hint for \"Trick (Front)\".", - Group: 20077, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200771, 1}}, - {{41, 200771, 2}}, - {{41, 200771, 3}}, - {{41, 200771, 4}}, - {{41, 200771, 5}}, - }, - }, - SparkTrickRearLv1: { - ID: 2007801, - Name: "Trick (Rear)", - Description: "A Spark that gives a skill hint for \"Trick (Rear)\".", - Group: 20078, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200781, 1}}, - {{41, 200781, 2}}, - {{41, 200781, 3}}, - {{41, 200781, 4}}, - {{41, 200781, 5}}, - }, - }, - SparkTrickRearLv2: { - ID: 2007802, - Name: "Trick (Rear)", - Description: "A Spark that gives a skill hint for \"Trick (Rear)\".", - Group: 20078, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200781, 1}}, - {{41, 200781, 2}}, - {{41, 200781, 3}}, - {{41, 200781, 4}}, - {{41, 200781, 5}}, - }, - }, - SparkTrickRearLv3: { - ID: 2007803, - Name: "Trick (Rear)", - Description: "A Spark that gives a skill hint for \"Trick (Rear)\".", - Group: 20078, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200781, 1}}, - {{41, 200781, 2}}, - {{41, 200781, 3}}, - {{41, 200781, 4}}, - {{41, 200781, 5}}, - }, - }, - SparkFrenziedFrontRunnersLv1: { - ID: 2007901, - Name: "Frenzied Front Runners", - Description: "A Spark that gives a skill hint for \"Frenzied Front Runners\".", - Group: 20079, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200791, 1}}, - {{41, 200791, 2}}, - {{41, 200791, 3}}, - {{41, 200791, 4}}, - {{41, 200791, 5}}, - }, - }, - SparkFrenziedFrontRunnersLv2: { - ID: 2007902, - Name: "Frenzied Front Runners", - Description: "A Spark that gives a skill hint for \"Frenzied Front Runners\".", - Group: 20079, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200791, 1}}, - {{41, 200791, 2}}, - {{41, 200791, 3}}, - {{41, 200791, 4}}, - {{41, 200791, 5}}, - }, - }, - SparkFrenziedFrontRunnersLv3: { - ID: 2007903, - Name: "Frenzied Front Runners", - Description: "A Spark that gives a skill hint for \"Frenzied Front Runners\".", - Group: 20079, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200791, 1}}, - {{41, 200791, 2}}, - {{41, 200791, 3}}, - {{41, 200791, 4}}, - {{41, 200791, 5}}, - }, - }, - SparkFrenziedPaceChasersLv1: { - ID: 2008001, - Name: "Frenzied Pace Chasers", - Description: "A Spark that gives a skill hint for \"Frenzied Pace Chasers\".", - Group: 20080, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200801, 1}}, - {{41, 200801, 2}}, - {{41, 200801, 3}}, - {{41, 200801, 4}}, - {{41, 200801, 5}}, - }, - }, - SparkFrenziedPaceChasersLv2: { - ID: 2008002, - Name: "Frenzied Pace Chasers", - Description: "A Spark that gives a skill hint for \"Frenzied Pace Chasers\".", - Group: 20080, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200801, 1}}, - {{41, 200801, 2}}, - {{41, 200801, 3}}, - {{41, 200801, 4}}, - {{41, 200801, 5}}, - }, - }, - SparkFrenziedPaceChasersLv3: { - ID: 2008003, - Name: "Frenzied Pace Chasers", - Description: "A Spark that gives a skill hint for \"Frenzied Pace Chasers\".", - Group: 20080, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200801, 1}}, - {{41, 200801, 2}}, - {{41, 200801, 3}}, - {{41, 200801, 4}}, - {{41, 200801, 5}}, - }, - }, - SparkFrenziedLateSurgersLv1: { - ID: 2008101, - Name: "Frenzied Late Surgers", - Description: "A Spark that gives a skill hint for \"Frenzied Late Surgers\".", - Group: 20081, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200811, 1}}, - {{41, 200811, 2}}, - {{41, 200811, 3}}, - {{41, 200811, 4}}, - {{41, 200811, 5}}, - }, - }, - SparkFrenziedLateSurgersLv2: { - ID: 2008102, - Name: "Frenzied Late Surgers", - Description: "A Spark that gives a skill hint for \"Frenzied Late Surgers\".", - Group: 20081, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200811, 1}}, - {{41, 200811, 2}}, - {{41, 200811, 3}}, - {{41, 200811, 4}}, - {{41, 200811, 5}}, - }, - }, - SparkFrenziedLateSurgersLv3: { - ID: 2008103, - Name: "Frenzied Late Surgers", - Description: "A Spark that gives a skill hint for \"Frenzied Late Surgers\".", - Group: 20081, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200811, 1}}, - {{41, 200811, 2}}, - {{41, 200811, 3}}, - {{41, 200811, 4}}, - {{41, 200811, 5}}, - }, - }, - SparkFrenziedEndClosersLv1: { - ID: 2008201, - Name: "Frenzied End Closers", - Description: "A Spark that gives a skill hint for \"Frenzied End Closers\".", - Group: 20082, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200821, 1}}, - {{41, 200821, 2}}, - {{41, 200821, 3}}, - {{41, 200821, 4}}, - {{41, 200821, 5}}, - }, - }, - SparkFrenziedEndClosersLv2: { - ID: 2008202, - Name: "Frenzied End Closers", - Description: "A Spark that gives a skill hint for \"Frenzied End Closers\".", - Group: 20082, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200821, 1}}, - {{41, 200821, 2}}, - {{41, 200821, 3}}, - {{41, 200821, 4}}, - {{41, 200821, 5}}, - }, - }, - SparkFrenziedEndClosersLv3: { - ID: 2008203, - Name: "Frenzied End Closers", - Description: "A Spark that gives a skill hint for \"Frenzied End Closers\".", - Group: 20082, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200821, 1}}, - {{41, 200821, 2}}, - {{41, 200821, 3}}, - {{41, 200821, 4}}, - {{41, 200821, 5}}, - }, - }, - SparkSubduedFrontRunnersLv1: { - ID: 2008301, - Name: "Subdued Front Runners", - Description: "A Spark that gives a skill hint for \"Subdued Front Runners\".", - Group: 20083, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200831, 1}}, - {{41, 200831, 2}}, - {{41, 200831, 3}}, - {{41, 200831, 4}}, - {{41, 200831, 5}}, - }, - }, - SparkSubduedFrontRunnersLv2: { - ID: 2008302, - Name: "Subdued Front Runners", - Description: "A Spark that gives a skill hint for \"Subdued Front Runners\".", - Group: 20083, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200831, 1}}, - {{41, 200831, 2}}, - {{41, 200831, 3}}, - {{41, 200831, 4}}, - {{41, 200831, 5}}, - }, - }, - SparkSubduedFrontRunnersLv3: { - ID: 2008303, - Name: "Subdued Front Runners", - Description: "A Spark that gives a skill hint for \"Subdued Front Runners\".", - Group: 20083, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200831, 1}}, - {{41, 200831, 2}}, - {{41, 200831, 3}}, - {{41, 200831, 4}}, - {{41, 200831, 5}}, - }, - }, - SparkFlusteredFrontRunnersLv1: { - ID: 2008401, - Name: "Flustered Front Runners", - Description: "A Spark that gives a skill hint for \"Flustered Front Runners\".", - Group: 20084, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200841, 1}}, - {{41, 200841, 2}}, - {{41, 200841, 3}}, - {{41, 200841, 4}}, - {{41, 200841, 5}}, - }, - }, - SparkFlusteredFrontRunnersLv2: { - ID: 2008402, - Name: "Flustered Front Runners", - Description: "A Spark that gives a skill hint for \"Flustered Front Runners\".", - Group: 20084, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200841, 1}}, - {{41, 200841, 2}}, - {{41, 200841, 3}}, - {{41, 200841, 4}}, - {{41, 200841, 5}}, - }, - }, - SparkFlusteredFrontRunnersLv3: { - ID: 2008403, - Name: "Flustered Front Runners", - Description: "A Spark that gives a skill hint for \"Flustered Front Runners\".", - Group: 20084, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200841, 1}}, - {{41, 200841, 2}}, - {{41, 200841, 3}}, - {{41, 200841, 4}}, - {{41, 200841, 5}}, - }, - }, - SparkHesitantFrontRunnersLv1: { - ID: 2008501, - Name: "Hesitant Front Runners", - Description: "A Spark that gives a skill hint for \"Hesitant Front Runners\".", - Group: 20085, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200851, 1}}, - {{41, 200851, 2}}, - {{41, 200851, 3}}, - {{41, 200851, 4}}, - {{41, 200851, 5}}, - }, - }, - SparkHesitantFrontRunnersLv2: { - ID: 2008502, - Name: "Hesitant Front Runners", - Description: "A Spark that gives a skill hint for \"Hesitant Front Runners\".", - Group: 20085, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200851, 1}}, - {{41, 200851, 2}}, - {{41, 200851, 3}}, - {{41, 200851, 4}}, - {{41, 200851, 5}}, - }, - }, - SparkHesitantFrontRunnersLv3: { - ID: 2008503, - Name: "Hesitant Front Runners", - Description: "A Spark that gives a skill hint for \"Hesitant Front Runners\".", - Group: 20085, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200851, 1}}, - {{41, 200851, 2}}, - {{41, 200851, 3}}, - {{41, 200851, 4}}, - {{41, 200851, 5}}, - }, - }, - SparkSubduedPaceChasersLv1: { - ID: 2008601, - Name: "Subdued Pace Chasers", - Description: "A Spark that gives a skill hint for \"Subdued Pace Chasers\".", - Group: 20086, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200861, 1}}, - {{41, 200861, 2}}, - {{41, 200861, 3}}, - {{41, 200861, 4}}, - {{41, 200861, 5}}, - }, - }, - SparkSubduedPaceChasersLv2: { - ID: 2008602, - Name: "Subdued Pace Chasers", - Description: "A Spark that gives a skill hint for \"Subdued Pace Chasers\".", - Group: 20086, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200861, 1}}, - {{41, 200861, 2}}, - {{41, 200861, 3}}, - {{41, 200861, 4}}, - {{41, 200861, 5}}, - }, - }, - SparkSubduedPaceChasersLv3: { - ID: 2008603, - Name: "Subdued Pace Chasers", - Description: "A Spark that gives a skill hint for \"Subdued Pace Chasers\".", - Group: 20086, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200861, 1}}, - {{41, 200861, 2}}, - {{41, 200861, 3}}, - {{41, 200861, 4}}, - {{41, 200861, 5}}, - }, - }, - SparkFlusteredPaceChasersLv1: { - ID: 2008701, - Name: "Flustered Pace Chasers", - Description: "A Spark that gives a skill hint for \"Flustered Pace Chasers\".", - Group: 20087, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200871, 1}}, - {{41, 200871, 2}}, - {{41, 200871, 3}}, - {{41, 200871, 4}}, - {{41, 200871, 5}}, - }, - }, - SparkFlusteredPaceChasersLv2: { - ID: 2008702, - Name: "Flustered Pace Chasers", - Description: "A Spark that gives a skill hint for \"Flustered Pace Chasers\".", - Group: 20087, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200871, 1}}, - {{41, 200871, 2}}, - {{41, 200871, 3}}, - {{41, 200871, 4}}, - {{41, 200871, 5}}, - }, - }, - SparkFlusteredPaceChasersLv3: { - ID: 2008703, - Name: "Flustered Pace Chasers", - Description: "A Spark that gives a skill hint for \"Flustered Pace Chasers\".", - Group: 20087, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200871, 1}}, - {{41, 200871, 2}}, - {{41, 200871, 3}}, - {{41, 200871, 4}}, - {{41, 200871, 5}}, - }, - }, - SparkHesitantPaceChasersLv1: { - ID: 2008801, - Name: "Hesitant Pace Chasers", - Description: "A Spark that gives a skill hint for \"Hesitant Pace Chasers\".", - Group: 20088, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200881, 1}}, - {{41, 200881, 2}}, - {{41, 200881, 3}}, - {{41, 200881, 4}}, - {{41, 200881, 5}}, - }, - }, - SparkHesitantPaceChasersLv2: { - ID: 2008802, - Name: "Hesitant Pace Chasers", - Description: "A Spark that gives a skill hint for \"Hesitant Pace Chasers\".", - Group: 20088, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200881, 1}}, - {{41, 200881, 2}}, - {{41, 200881, 3}}, - {{41, 200881, 4}}, - {{41, 200881, 5}}, - }, - }, - SparkHesitantPaceChasersLv3: { - ID: 2008803, - Name: "Hesitant Pace Chasers", - Description: "A Spark that gives a skill hint for \"Hesitant Pace Chasers\".", - Group: 20088, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200881, 1}}, - {{41, 200881, 2}}, - {{41, 200881, 3}}, - {{41, 200881, 4}}, - {{41, 200881, 5}}, - }, - }, - SparkSubduedLateSurgersLv1: { - ID: 2008901, - Name: "Subdued Late Surgers", - Description: "A Spark that gives a skill hint for \"Subdued Late Surgers\".", - Group: 20089, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200891, 1}}, - {{41, 200891, 2}}, - {{41, 200891, 3}}, - {{41, 200891, 4}}, - {{41, 200891, 5}}, - }, - }, - SparkSubduedLateSurgersLv2: { - ID: 2008902, - Name: "Subdued Late Surgers", - Description: "A Spark that gives a skill hint for \"Subdued Late Surgers\".", - Group: 20089, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200891, 1}}, - {{41, 200891, 2}}, - {{41, 200891, 3}}, - {{41, 200891, 4}}, - {{41, 200891, 5}}, - }, - }, - SparkSubduedLateSurgersLv3: { - ID: 2008903, - Name: "Subdued Late Surgers", - Description: "A Spark that gives a skill hint for \"Subdued Late Surgers\".", - Group: 20089, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200891, 1}}, - {{41, 200891, 2}}, - {{41, 200891, 3}}, - {{41, 200891, 4}}, - {{41, 200891, 5}}, - }, - }, - SparkFlusteredLateSurgersLv1: { - ID: 2009001, - Name: "Flustered Late Surgers", - Description: "A Spark that gives a skill hint for \"Flustered Late Surgers\".", - Group: 20090, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200901, 1}}, - {{41, 200901, 2}}, - {{41, 200901, 3}}, - {{41, 200901, 4}}, - {{41, 200901, 5}}, - }, - }, - SparkFlusteredLateSurgersLv2: { - ID: 2009002, - Name: "Flustered Late Surgers", - Description: "A Spark that gives a skill hint for \"Flustered Late Surgers\".", - Group: 20090, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200901, 1}}, - {{41, 200901, 2}}, - {{41, 200901, 3}}, - {{41, 200901, 4}}, - {{41, 200901, 5}}, - }, - }, - SparkFlusteredLateSurgersLv3: { - ID: 2009003, - Name: "Flustered Late Surgers", - Description: "A Spark that gives a skill hint for \"Flustered Late Surgers\".", - Group: 20090, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200901, 1}}, - {{41, 200901, 2}}, - {{41, 200901, 3}}, - {{41, 200901, 4}}, - {{41, 200901, 5}}, - }, - }, - SparkHesitantLateSurgersLv1: { - ID: 2009101, - Name: "Hesitant Late Surgers", - Description: "A Spark that gives a skill hint for \"Hesitant Late Surgers\".", - Group: 20091, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200911, 1}}, - {{41, 200911, 2}}, - {{41, 200911, 3}}, - {{41, 200911, 4}}, - {{41, 200911, 5}}, - }, - }, - SparkHesitantLateSurgersLv2: { - ID: 2009102, - Name: "Hesitant Late Surgers", - Description: "A Spark that gives a skill hint for \"Hesitant Late Surgers\".", - Group: 20091, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200911, 1}}, - {{41, 200911, 2}}, - {{41, 200911, 3}}, - {{41, 200911, 4}}, - {{41, 200911, 5}}, - }, - }, - SparkHesitantLateSurgersLv3: { - ID: 2009103, - Name: "Hesitant Late Surgers", - Description: "A Spark that gives a skill hint for \"Hesitant Late Surgers\".", - Group: 20091, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200911, 1}}, - {{41, 200911, 2}}, - {{41, 200911, 3}}, - {{41, 200911, 4}}, - {{41, 200911, 5}}, - }, - }, - SparkSubduedEndClosersLv1: { - ID: 2009201, - Name: "Subdued End Closers", - Description: "A Spark that gives a skill hint for \"Subdued End Closers\".", - Group: 20092, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200921, 1}}, - {{41, 200921, 2}}, - {{41, 200921, 3}}, - {{41, 200921, 4}}, - {{41, 200921, 5}}, - }, - }, - SparkSubduedEndClosersLv2: { - ID: 2009202, - Name: "Subdued End Closers", - Description: "A Spark that gives a skill hint for \"Subdued End Closers\".", - Group: 20092, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200921, 1}}, - {{41, 200921, 2}}, - {{41, 200921, 3}}, - {{41, 200921, 4}}, - {{41, 200921, 5}}, - }, - }, - SparkSubduedEndClosersLv3: { - ID: 2009203, - Name: "Subdued End Closers", - Description: "A Spark that gives a skill hint for \"Subdued End Closers\".", - Group: 20092, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200921, 1}}, - {{41, 200921, 2}}, - {{41, 200921, 3}}, - {{41, 200921, 4}}, - {{41, 200921, 5}}, - }, - }, - SparkFlusteredEndClosersLv1: { - ID: 2009301, - Name: "Flustered End Closers", - Description: "A Spark that gives a skill hint for \"Flustered End Closers\".", - Group: 20093, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200931, 1}}, - {{41, 200931, 2}}, - {{41, 200931, 3}}, - {{41, 200931, 4}}, - {{41, 200931, 5}}, - }, - }, - SparkFlusteredEndClosersLv2: { - ID: 2009302, - Name: "Flustered End Closers", - Description: "A Spark that gives a skill hint for \"Flustered End Closers\".", - Group: 20093, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200931, 1}}, - {{41, 200931, 2}}, - {{41, 200931, 3}}, - {{41, 200931, 4}}, - {{41, 200931, 5}}, - }, - }, - SparkFlusteredEndClosersLv3: { - ID: 2009303, - Name: "Flustered End Closers", - Description: "A Spark that gives a skill hint for \"Flustered End Closers\".", - Group: 20093, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200931, 1}}, - {{41, 200931, 2}}, - {{41, 200931, 3}}, - {{41, 200931, 4}}, - {{41, 200931, 5}}, - }, - }, - SparkHesitantEndClosersLv1: { - ID: 2009401, - Name: "Hesitant End Closers", - Description: "A Spark that gives a skill hint for \"Hesitant End Closers\".", - Group: 20094, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200941, 1}}, - {{41, 200941, 2}}, - {{41, 200941, 3}}, - {{41, 200941, 4}}, - {{41, 200941, 5}}, - }, - }, - SparkHesitantEndClosersLv2: { - ID: 2009402, - Name: "Hesitant End Closers", - Description: "A Spark that gives a skill hint for \"Hesitant End Closers\".", - Group: 20094, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200941, 1}}, - {{41, 200941, 2}}, - {{41, 200941, 3}}, - {{41, 200941, 4}}, - {{41, 200941, 5}}, - }, - }, - SparkHesitantEndClosersLv3: { - ID: 2009403, - Name: "Hesitant End Closers", - Description: "A Spark that gives a skill hint for \"Hesitant End Closers\".", - Group: 20094, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200941, 1}}, - {{41, 200941, 2}}, - {{41, 200941, 3}}, - {{41, 200941, 4}}, - {{41, 200941, 5}}, - }, - }, - SparkOiRacecourseLv1: { - ID: 2009501, - Name: "Oi Racecourse ○", - Description: "A Spark that gives a skill hint for \"Oi Racecourse ○\".", - Group: 20095, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200952, 1}}, - {{41, 200952, 2}}, - {{41, 200952, 3}}, - {{41, 200952, 4}}, - {{41, 200952, 5}}, - }, - }, - SparkOiRacecourseLv2: { - ID: 2009502, - Name: "Oi Racecourse ○", - Description: "A Spark that gives a skill hint for \"Oi Racecourse ○\".", - Group: 20095, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200952, 1}}, - {{41, 200952, 2}}, - {{41, 200952, 3}}, - {{41, 200952, 4}}, - {{41, 200952, 5}}, - }, - }, - SparkOiRacecourseLv3: { - ID: 2009503, - Name: "Oi Racecourse ○", - Description: "A Spark that gives a skill hint for \"Oi Racecourse ○\".", - Group: 20095, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200952, 1}}, - {{41, 200952, 2}}, - {{41, 200952, 3}}, - {{41, 200952, 4}}, - {{41, 200952, 5}}, - }, - }, - SparkSprintStraightawaysLv1: { - ID: 2009601, - Name: "Sprint Straightaways ○", - Description: "A Spark that gives a skill hint for \"Sprint Straightaways ○\".", - Group: 20096, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200962, 1}}, - {{41, 200962, 2}}, - {{41, 200962, 3}}, - {{41, 200962, 4}}, - {{41, 200962, 5}}, - }, - }, - SparkSprintStraightawaysLv2: { - ID: 2009602, - Name: "Sprint Straightaways ○", - Description: "A Spark that gives a skill hint for \"Sprint Straightaways ○\".", - Group: 20096, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200962, 1}}, - {{41, 200962, 2}}, - {{41, 200962, 3}}, - {{41, 200962, 4}}, - {{41, 200962, 5}}, - }, - }, - SparkSprintStraightawaysLv3: { - ID: 2009603, - Name: "Sprint Straightaways ○", - Description: "A Spark that gives a skill hint for \"Sprint Straightaways ○\".", - Group: 20096, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200962, 1}}, - {{41, 200962, 2}}, - {{41, 200962, 3}}, - {{41, 200962, 4}}, - {{41, 200962, 5}}, - }, - }, - SparkSprintCornersLv1: { - ID: 2009701, - Name: "Sprint Corners ○", - Description: "A Spark that gives a skill hint for \"Sprint Corners ○\".", - Group: 20097, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200972, 1}}, - {{41, 200972, 2}}, - {{41, 200972, 3}}, - {{41, 200972, 4}}, - {{41, 200972, 5}}, - }, - }, - SparkSprintCornersLv2: { - ID: 2009702, - Name: "Sprint Corners ○", - Description: "A Spark that gives a skill hint for \"Sprint Corners ○\".", - Group: 20097, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200972, 1}}, - {{41, 200972, 2}}, - {{41, 200972, 3}}, - {{41, 200972, 4}}, - {{41, 200972, 5}}, - }, - }, - SparkSprintCornersLv3: { - ID: 2009703, - Name: "Sprint Corners ○", - Description: "A Spark that gives a skill hint for \"Sprint Corners ○\".", - Group: 20097, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200972, 1}}, - {{41, 200972, 2}}, - {{41, 200972, 3}}, - {{41, 200972, 4}}, - {{41, 200972, 5}}, - }, - }, - SparkHugeLeadLv1: { - ID: 2009801, - Name: "Huge Lead", - Description: "A Spark that gives a skill hint for \"Huge Lead\".", - Group: 20098, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200982, 1}}, - {{41, 200982, 2}}, - {{41, 200982, 3}}, - {{41, 200982, 4}}, - {{41, 200982, 5}}, - }, - }, - SparkHugeLeadLv2: { - ID: 2009802, - Name: "Huge Lead", - Description: "A Spark that gives a skill hint for \"Huge Lead\".", - Group: 20098, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200982, 1}}, - {{41, 200982, 2}}, - {{41, 200982, 3}}, - {{41, 200982, 4}}, - {{41, 200982, 5}}, - }, - }, - SparkHugeLeadLv3: { - ID: 2009803, - Name: "Huge Lead", - Description: "A Spark that gives a skill hint for \"Huge Lead\".", - Group: 20098, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200982, 1}}, - {{41, 200982, 2}}, - {{41, 200982, 3}}, - {{41, 200982, 4}}, - {{41, 200982, 5}}, - }, - }, - SparkCountermeasureLv1: { - ID: 2009901, - Name: "Countermeasure", - Description: "A Spark that gives a skill hint for \"Countermeasure\".", - Group: 20099, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200992, 1}}, - {{41, 200992, 2}}, - {{41, 200992, 3}}, - {{41, 200992, 4}}, - {{41, 200992, 5}}, - }, - }, - SparkCountermeasureLv2: { - ID: 2009902, - Name: "Countermeasure", - Description: "A Spark that gives a skill hint for \"Countermeasure\".", - Group: 20099, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200992, 1}}, - {{41, 200992, 2}}, - {{41, 200992, 3}}, - {{41, 200992, 4}}, - {{41, 200992, 5}}, - }, - }, - SparkCountermeasureLv3: { - ID: 2009903, - Name: "Countermeasure", - Description: "A Spark that gives a skill hint for \"Countermeasure\".", - Group: 20099, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 200992, 1}}, - {{41, 200992, 2}}, - {{41, 200992, 3}}, - {{41, 200992, 4}}, - {{41, 200992, 5}}, - }, - }, - SparkMeticulousMeasuresLv1: { - ID: 2010001, - Name: "Meticulous Measures", - Description: "A Spark that gives a skill hint for \"Meticulous Measures\".", - Group: 20100, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201002, 1}}, - {{41, 201002, 2}}, - {{41, 201002, 3}}, - {{41, 201002, 4}}, - {{41, 201002, 5}}, - }, - }, - SparkMeticulousMeasuresLv2: { - ID: 2010002, - Name: "Meticulous Measures", - Description: "A Spark that gives a skill hint for \"Meticulous Measures\".", - Group: 20100, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201002, 1}}, - {{41, 201002, 2}}, - {{41, 201002, 3}}, - {{41, 201002, 4}}, - {{41, 201002, 5}}, - }, - }, - SparkMeticulousMeasuresLv3: { - ID: 2010003, - Name: "Meticulous Measures", - Description: "A Spark that gives a skill hint for \"Meticulous Measures\".", - Group: 20100, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201002, 1}}, - {{41, 201002, 2}}, - {{41, 201002, 3}}, - {{41, 201002, 4}}, - {{41, 201002, 5}}, - }, - }, - SparkIntimidateLv1: { - ID: 2010101, - Name: "Intimidate", - Description: "A Spark that gives a skill hint for \"Intimidate\".", - Group: 20101, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201012, 1}}, - {{41, 201012, 2}}, - {{41, 201012, 3}}, - {{41, 201012, 4}}, - {{41, 201012, 5}}, - }, - }, - SparkIntimidateLv2: { - ID: 2010102, - Name: "Intimidate", - Description: "A Spark that gives a skill hint for \"Intimidate\".", - Group: 20101, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201012, 1}}, - {{41, 201012, 2}}, - {{41, 201012, 3}}, - {{41, 201012, 4}}, - {{41, 201012, 5}}, - }, - }, - SparkIntimidateLv3: { - ID: 2010103, - Name: "Intimidate", - Description: "A Spark that gives a skill hint for \"Intimidate\".", - Group: 20101, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201012, 1}}, - {{41, 201012, 2}}, - {{41, 201012, 3}}, - {{41, 201012, 4}}, - {{41, 201012, 5}}, - }, - }, - SparkStopRightThereLv1: { - ID: 2010201, - Name: "Stop Right There!", - Description: "A Spark that gives a skill hint for \"Stop Right There!\".", - Group: 20102, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201022, 1}}, - {{41, 201022, 2}}, - {{41, 201022, 3}}, - {{41, 201022, 4}}, - {{41, 201022, 5}}, - }, - }, - SparkStopRightThereLv2: { - ID: 2010202, - Name: "Stop Right There!", - Description: "A Spark that gives a skill hint for \"Stop Right There!\".", - Group: 20102, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201022, 1}}, - {{41, 201022, 2}}, - {{41, 201022, 3}}, - {{41, 201022, 4}}, - {{41, 201022, 5}}, - }, - }, - SparkStopRightThereLv3: { - ID: 2010203, - Name: "Stop Right There!", - Description: "A Spark that gives a skill hint for \"Stop Right There!\".", - Group: 20102, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201022, 1}}, - {{41, 201022, 2}}, - {{41, 201022, 3}}, - {{41, 201022, 4}}, - {{41, 201022, 5}}, - }, - }, - SparkMileStraightawaysLv1: { - ID: 2010301, - Name: "Mile Straightaways ○", - Description: "A Spark that gives a skill hint for \"Mile Straightaways ○\".", - Group: 20103, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201032, 1}}, - {{41, 201032, 2}}, - {{41, 201032, 3}}, - {{41, 201032, 4}}, - {{41, 201032, 5}}, - }, - }, - SparkMileStraightawaysLv2: { - ID: 2010302, - Name: "Mile Straightaways ○", - Description: "A Spark that gives a skill hint for \"Mile Straightaways ○\".", - Group: 20103, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201032, 1}}, - {{41, 201032, 2}}, - {{41, 201032, 3}}, - {{41, 201032, 4}}, - {{41, 201032, 5}}, - }, - }, - SparkMileStraightawaysLv3: { - ID: 2010303, - Name: "Mile Straightaways ○", - Description: "A Spark that gives a skill hint for \"Mile Straightaways ○\".", - Group: 20103, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201032, 1}}, - {{41, 201032, 2}}, - {{41, 201032, 3}}, - {{41, 201032, 4}}, - {{41, 201032, 5}}, - }, - }, - SparkMileCornersLv1: { - ID: 2010401, - Name: "Mile Corners ○", - Description: "A Spark that gives a skill hint for \"Mile Corners ○\".", - Group: 20104, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201042, 1}}, - {{41, 201042, 2}}, - {{41, 201042, 3}}, - {{41, 201042, 4}}, - {{41, 201042, 5}}, - }, - }, - SparkMileCornersLv2: { - ID: 2010402, - Name: "Mile Corners ○", - Description: "A Spark that gives a skill hint for \"Mile Corners ○\".", - Group: 20104, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201042, 1}}, - {{41, 201042, 2}}, - {{41, 201042, 3}}, - {{41, 201042, 4}}, - {{41, 201042, 5}}, - }, - }, - SparkMileCornersLv3: { - ID: 2010403, - Name: "Mile Corners ○", - Description: "A Spark that gives a skill hint for \"Mile Corners ○\".", - Group: 20104, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201042, 1}}, - {{41, 201042, 2}}, - {{41, 201042, 3}}, - {{41, 201042, 4}}, - {{41, 201042, 5}}, - }, - }, - SparkShiftingGearsLv1: { - ID: 2010501, - Name: "Shifting Gears", - Description: "A Spark that gives a skill hint for \"Shifting Gears\".", - Group: 20105, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201052, 1}}, - {{41, 201052, 2}}, - {{41, 201052, 3}}, - {{41, 201052, 4}}, - {{41, 201052, 5}}, - }, - }, - SparkShiftingGearsLv2: { - ID: 2010502, - Name: "Shifting Gears", - Description: "A Spark that gives a skill hint for \"Shifting Gears\".", - Group: 20105, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201052, 1}}, - {{41, 201052, 2}}, - {{41, 201052, 3}}, - {{41, 201052, 4}}, - {{41, 201052, 5}}, - }, - }, - SparkShiftingGearsLv3: { - ID: 2010503, - Name: "Shifting Gears", - Description: "A Spark that gives a skill hint for \"Shifting Gears\".", - Group: 20105, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201052, 1}}, - {{41, 201052, 2}}, - {{41, 201052, 3}}, - {{41, 201052, 4}}, - {{41, 201052, 5}}, - }, - }, - SparkAccelerationLv1: { - ID: 2010601, - Name: "Acceleration", - Description: "A Spark that gives a skill hint for \"Acceleration\".", - Group: 20106, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201062, 1}}, - {{41, 201062, 2}}, - {{41, 201062, 3}}, - {{41, 201062, 4}}, - {{41, 201062, 5}}, - }, - }, - SparkAccelerationLv2: { - ID: 2010602, - Name: "Acceleration", - Description: "A Spark that gives a skill hint for \"Acceleration\".", - Group: 20106, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201062, 1}}, - {{41, 201062, 2}}, - {{41, 201062, 3}}, - {{41, 201062, 4}}, - {{41, 201062, 5}}, - }, - }, - SparkAccelerationLv3: { - ID: 2010603, - Name: "Acceleration", - Description: "A Spark that gives a skill hint for \"Acceleration\".", - Group: 20106, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201062, 1}}, - {{41, 201062, 2}}, - {{41, 201062, 3}}, - {{41, 201062, 4}}, - {{41, 201062, 5}}, - }, - }, - SparkUnyieldingSpiritLv1: { - ID: 2010701, - Name: "Unyielding Spirit", - Description: "A Spark that gives a skill hint for \"Unyielding Spirit\".", - Group: 20107, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201072, 1}}, - {{41, 201072, 2}}, - {{41, 201072, 3}}, - {{41, 201072, 4}}, - {{41, 201072, 5}}, - }, - }, - SparkUnyieldingSpiritLv2: { - ID: 2010702, - Name: "Unyielding Spirit", - Description: "A Spark that gives a skill hint for \"Unyielding Spirit\".", - Group: 20107, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201072, 1}}, - {{41, 201072, 2}}, - {{41, 201072, 3}}, - {{41, 201072, 4}}, - {{41, 201072, 5}}, - }, - }, - SparkUnyieldingSpiritLv3: { - ID: 2010703, - Name: "Unyielding Spirit", - Description: "A Spark that gives a skill hint for \"Unyielding Spirit\".", - Group: 20107, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201072, 1}}, - {{41, 201072, 2}}, - {{41, 201072, 3}}, - {{41, 201072, 4}}, - {{41, 201072, 5}}, - }, - }, - SparkSpeedEaterLv1: { - ID: 2010801, - Name: "Speed Eater", - Description: "A Spark that gives a skill hint for \"Speed Eater\".", - Group: 20108, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201082, 1}}, - {{41, 201082, 2}}, - {{41, 201082, 3}}, - {{41, 201082, 4}}, - {{41, 201082, 5}}, - }, - }, - SparkSpeedEaterLv2: { - ID: 2010802, - Name: "Speed Eater", - Description: "A Spark that gives a skill hint for \"Speed Eater\".", - Group: 20108, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201082, 1}}, - {{41, 201082, 2}}, - {{41, 201082, 3}}, - {{41, 201082, 4}}, - {{41, 201082, 5}}, - }, - }, - SparkSpeedEaterLv3: { - ID: 2010803, - Name: "Speed Eater", - Description: "A Spark that gives a skill hint for \"Speed Eater\".", - Group: 20108, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201082, 1}}, - {{41, 201082, 2}}, - {{41, 201082, 3}}, - {{41, 201082, 4}}, - {{41, 201082, 5}}, - }, - }, - SparkOpeningGambitLv1: { - ID: 2010901, - Name: "Opening Gambit", - Description: "A Spark that gives a skill hint for \"Opening Gambit\".", - Group: 20109, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201092, 1}}, - {{41, 201092, 2}}, - {{41, 201092, 3}}, - {{41, 201092, 4}}, - {{41, 201092, 5}}, - }, - }, - SparkOpeningGambitLv2: { - ID: 2010902, - Name: "Opening Gambit", - Description: "A Spark that gives a skill hint for \"Opening Gambit\".", - Group: 20109, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201092, 1}}, - {{41, 201092, 2}}, - {{41, 201092, 3}}, - {{41, 201092, 4}}, - {{41, 201092, 5}}, - }, - }, - SparkOpeningGambitLv3: { - ID: 2010903, - Name: "Opening Gambit", - Description: "A Spark that gives a skill hint for \"Opening Gambit\".", - Group: 20109, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201092, 1}}, - {{41, 201092, 2}}, - {{41, 201092, 3}}, - {{41, 201092, 4}}, - {{41, 201092, 5}}, - }, - }, - SparkMediumStraightawaysLv1: { - ID: 2011001, - Name: "Medium Straightaways ○", - Description: "A Spark that gives a skill hint for \"Medium Straightaways ○\".", - Group: 20110, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201102, 1}}, - {{41, 201102, 2}}, - {{41, 201102, 3}}, - {{41, 201102, 4}}, - {{41, 201102, 5}}, - }, - }, - SparkMediumStraightawaysLv2: { - ID: 2011002, - Name: "Medium Straightaways ○", - Description: "A Spark that gives a skill hint for \"Medium Straightaways ○\".", - Group: 20110, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201102, 1}}, - {{41, 201102, 2}}, - {{41, 201102, 3}}, - {{41, 201102, 4}}, - {{41, 201102, 5}}, - }, - }, - SparkMediumStraightawaysLv3: { - ID: 2011003, - Name: "Medium Straightaways ○", - Description: "A Spark that gives a skill hint for \"Medium Straightaways ○\".", - Group: 20110, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201102, 1}}, - {{41, 201102, 2}}, - {{41, 201102, 3}}, - {{41, 201102, 4}}, - {{41, 201102, 5}}, - }, - }, - SparkMediumCornersLv1: { - ID: 2011101, - Name: "Medium Corners ○", - Description: "A Spark that gives a skill hint for \"Medium Corners ○\".", - Group: 20111, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201112, 1}}, - {{41, 201112, 2}}, - {{41, 201112, 3}}, - {{41, 201112, 4}}, - {{41, 201112, 5}}, - }, - }, - SparkMediumCornersLv2: { - ID: 2011102, - Name: "Medium Corners ○", - Description: "A Spark that gives a skill hint for \"Medium Corners ○\".", - Group: 20111, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201112, 1}}, - {{41, 201112, 2}}, - {{41, 201112, 3}}, - {{41, 201112, 4}}, - {{41, 201112, 5}}, - }, - }, - SparkMediumCornersLv3: { - ID: 2011103, - Name: "Medium Corners ○", - Description: "A Spark that gives a skill hint for \"Medium Corners ○\".", - Group: 20111, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201112, 1}}, - {{41, 201112, 2}}, - {{41, 201112, 3}}, - {{41, 201112, 4}}, - {{41, 201112, 5}}, - }, - }, - SparkHawkeyeLv1: { - ID: 2011201, - Name: "Hawkeye", - Description: "A Spark that gives a skill hint for \"Hawkeye\".", - Group: 20112, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201122, 1}}, - {{41, 201122, 2}}, - {{41, 201122, 3}}, - {{41, 201122, 4}}, - {{41, 201122, 5}}, - }, - }, - SparkHawkeyeLv2: { - ID: 2011202, - Name: "Hawkeye", - Description: "A Spark that gives a skill hint for \"Hawkeye\".", - Group: 20112, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201122, 1}}, - {{41, 201122, 2}}, - {{41, 201122, 3}}, - {{41, 201122, 4}}, - {{41, 201122, 5}}, - }, - }, - SparkHawkeyeLv3: { - ID: 2011203, - Name: "Hawkeye", - Description: "A Spark that gives a skill hint for \"Hawkeye\".", - Group: 20112, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201122, 1}}, - {{41, 201122, 2}}, - {{41, 201122, 3}}, - {{41, 201122, 4}}, - {{41, 201122, 5}}, - }, - }, - SparkThunderboltStepLv1: { - ID: 2011301, - Name: "Thunderbolt Step", - Description: "A Spark that gives a skill hint for \"Thunderbolt Step\".", - Group: 20113, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201132, 1}}, - {{41, 201132, 2}}, - {{41, 201132, 3}}, - {{41, 201132, 4}}, - {{41, 201132, 5}}, - }, - }, - SparkThunderboltStepLv2: { - ID: 2011302, - Name: "Thunderbolt Step", - Description: "A Spark that gives a skill hint for \"Thunderbolt Step\".", - Group: 20113, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201132, 1}}, - {{41, 201132, 2}}, - {{41, 201132, 3}}, - {{41, 201132, 4}}, - {{41, 201132, 5}}, - }, - }, - SparkThunderboltStepLv3: { - ID: 2011303, - Name: "Thunderbolt Step", - Description: "A Spark that gives a skill hint for \"Thunderbolt Step\".", - Group: 20113, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201132, 1}}, - {{41, 201132, 2}}, - {{41, 201132, 3}}, - {{41, 201132, 4}}, - {{41, 201132, 5}}, - }, - }, - SparkSoftStepLv1: { - ID: 2011401, - Name: "Soft Step", - Description: "A Spark that gives a skill hint for \"Soft Step\".", - Group: 20114, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201142, 1}}, - {{41, 201142, 2}}, - {{41, 201142, 3}}, - {{41, 201142, 4}}, - {{41, 201142, 5}}, - }, - }, - SparkSoftStepLv2: { - ID: 2011402, - Name: "Soft Step", - Description: "A Spark that gives a skill hint for \"Soft Step\".", - Group: 20114, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201142, 1}}, - {{41, 201142, 2}}, - {{41, 201142, 3}}, - {{41, 201142, 4}}, - {{41, 201142, 5}}, - }, - }, - SparkSoftStepLv3: { - ID: 2011403, - Name: "Soft Step", - Description: "A Spark that gives a skill hint for \"Soft Step\".", - Group: 20114, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201142, 1}}, - {{41, 201142, 2}}, - {{41, 201142, 3}}, - {{41, 201142, 4}}, - {{41, 201142, 5}}, - }, - }, - SparkTetherLv1: { - ID: 2011501, - Name: "Tether", - Description: "A Spark that gives a skill hint for \"Tether\".", - Group: 20115, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201152, 1}}, - {{41, 201152, 2}}, - {{41, 201152, 3}}, - {{41, 201152, 4}}, - {{41, 201152, 5}}, - }, - }, - SparkTetherLv2: { - ID: 2011502, - Name: "Tether", - Description: "A Spark that gives a skill hint for \"Tether\".", - Group: 20115, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201152, 1}}, - {{41, 201152, 2}}, - {{41, 201152, 3}}, - {{41, 201152, 4}}, - {{41, 201152, 5}}, - }, - }, - SparkTetherLv3: { - ID: 2011503, - Name: "Tether", - Description: "A Spark that gives a skill hint for \"Tether\".", - Group: 20115, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201152, 1}}, - {{41, 201152, 2}}, - {{41, 201152, 3}}, - {{41, 201152, 4}}, - {{41, 201152, 5}}, - }, - }, - SparkMurmurLv1: { - ID: 2011601, - Name: "Murmur", - Description: "A Spark that gives a skill hint for \"Murmur\".", - Group: 20116, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201162, 1}}, - {{41, 201162, 2}}, - {{41, 201162, 3}}, - {{41, 201162, 4}}, - {{41, 201162, 5}}, - }, - }, - SparkMurmurLv2: { - ID: 2011602, - Name: "Murmur", - Description: "A Spark that gives a skill hint for \"Murmur\".", - Group: 20116, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201162, 1}}, - {{41, 201162, 2}}, - {{41, 201162, 3}}, - {{41, 201162, 4}}, - {{41, 201162, 5}}, - }, - }, - SparkMurmurLv3: { - ID: 2011603, - Name: "Murmur", - Description: "A Spark that gives a skill hint for \"Murmur\".", - Group: 20116, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201162, 1}}, - {{41, 201162, 2}}, - {{41, 201162, 3}}, - {{41, 201162, 4}}, - {{41, 201162, 5}}, - }, - }, - SparkLongStraightawaysLv1: { - ID: 2011701, - Name: "Long Straightaways ○", - Description: "A Spark that gives a skill hint for \"Long Straightaways ○\".", - Group: 20117, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201172, 1}}, - {{41, 201172, 2}}, - {{41, 201172, 3}}, - {{41, 201172, 4}}, - {{41, 201172, 5}}, - }, - }, - SparkLongStraightawaysLv2: { - ID: 2011702, - Name: "Long Straightaways ○", - Description: "A Spark that gives a skill hint for \"Long Straightaways ○\".", - Group: 20117, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201172, 1}}, - {{41, 201172, 2}}, - {{41, 201172, 3}}, - {{41, 201172, 4}}, - {{41, 201172, 5}}, - }, - }, - SparkLongStraightawaysLv3: { - ID: 2011703, - Name: "Long Straightaways ○", - Description: "A Spark that gives a skill hint for \"Long Straightaways ○\".", - Group: 20117, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201172, 1}}, - {{41, 201172, 2}}, - {{41, 201172, 3}}, - {{41, 201172, 4}}, - {{41, 201172, 5}}, - }, - }, - SparkLongCornersLv1: { - ID: 2011801, - Name: "Long Corners ○", - Description: "A Spark that gives a skill hint for \"Long Corners ○\".", - Group: 20118, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201182, 1}}, - {{41, 201182, 2}}, - {{41, 201182, 3}}, - {{41, 201182, 4}}, - {{41, 201182, 5}}, - }, - }, - SparkLongCornersLv2: { - ID: 2011802, - Name: "Long Corners ○", - Description: "A Spark that gives a skill hint for \"Long Corners ○\".", - Group: 20118, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201182, 1}}, - {{41, 201182, 2}}, - {{41, 201182, 3}}, - {{41, 201182, 4}}, - {{41, 201182, 5}}, - }, - }, - SparkLongCornersLv3: { - ID: 2011803, - Name: "Long Corners ○", - Description: "A Spark that gives a skill hint for \"Long Corners ○\".", - Group: 20118, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201182, 1}}, - {{41, 201182, 2}}, - {{41, 201182, 3}}, - {{41, 201182, 4}}, - {{41, 201182, 5}}, - }, - }, - SparkKeepingtheLeadLv1: { - ID: 2011901, - Name: "Keeping the Lead", - Description: "A Spark that gives a skill hint for \"Keeping the Lead\".", - Group: 20119, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201192, 1}}, - {{41, 201192, 2}}, - {{41, 201192, 3}}, - {{41, 201192, 4}}, - {{41, 201192, 5}}, - }, - }, - SparkKeepingtheLeadLv2: { - ID: 2011902, - Name: "Keeping the Lead", - Description: "A Spark that gives a skill hint for \"Keeping the Lead\".", - Group: 20119, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201192, 1}}, - {{41, 201192, 2}}, - {{41, 201192, 3}}, - {{41, 201192, 4}}, - {{41, 201192, 5}}, - }, - }, - SparkKeepingtheLeadLv3: { - ID: 2011903, - Name: "Keeping the Lead", - Description: "A Spark that gives a skill hint for \"Keeping the Lead\".", - Group: 20119, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201192, 1}}, - {{41, 201192, 2}}, - {{41, 201192, 3}}, - {{41, 201192, 4}}, - {{41, 201192, 5}}, - }, - }, - SparkPassingProLv1: { - ID: 2012001, - Name: "Passing Pro", - Description: "A Spark that gives a skill hint for \"Passing Pro\".", - Group: 20120, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201202, 1}}, - {{41, 201202, 2}}, - {{41, 201202, 3}}, - {{41, 201202, 4}}, - {{41, 201202, 5}}, - }, - }, - SparkPassingProLv2: { - ID: 2012002, - Name: "Passing Pro", - Description: "A Spark that gives a skill hint for \"Passing Pro\".", - Group: 20120, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201202, 1}}, - {{41, 201202, 2}}, - {{41, 201202, 3}}, - {{41, 201202, 4}}, - {{41, 201202, 5}}, - }, - }, - SparkPassingProLv3: { - ID: 2012003, - Name: "Passing Pro", - Description: "A Spark that gives a skill hint for \"Passing Pro\".", - Group: 20120, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201202, 1}}, - {{41, 201202, 2}}, - {{41, 201202, 3}}, - {{41, 201202, 4}}, - {{41, 201202, 5}}, - }, - }, - SparkPressureLv1: { - ID: 2012101, - Name: "Pressure", - Description: "A Spark that gives a skill hint for \"Pressure\".", - Group: 20121, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201212, 1}}, - {{41, 201212, 2}}, - {{41, 201212, 3}}, - {{41, 201212, 4}}, - {{41, 201212, 5}}, - }, - }, - SparkPressureLv2: { - ID: 2012102, - Name: "Pressure", - Description: "A Spark that gives a skill hint for \"Pressure\".", - Group: 20121, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201212, 1}}, - {{41, 201212, 2}}, - {{41, 201212, 3}}, - {{41, 201212, 4}}, - {{41, 201212, 5}}, - }, - }, - SparkPressureLv3: { - ID: 2012103, - Name: "Pressure", - Description: "A Spark that gives a skill hint for \"Pressure\".", - Group: 20121, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201212, 1}}, - {{41, 201212, 2}}, - {{41, 201212, 3}}, - {{41, 201212, 4}}, - {{41, 201212, 5}}, - }, - }, - SparkStaminaEaterLv1: { - ID: 2012201, - Name: "Stamina Eater", - Description: "A Spark that gives a skill hint for \"Stamina Eater\".", - Group: 20122, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201222, 1}}, - {{41, 201222, 2}}, - {{41, 201222, 3}}, - {{41, 201222, 4}}, - {{41, 201222, 5}}, - }, - }, - SparkStaminaEaterLv2: { - ID: 2012202, - Name: "Stamina Eater", - Description: "A Spark that gives a skill hint for \"Stamina Eater\".", - Group: 20122, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201222, 1}}, - {{41, 201222, 2}}, - {{41, 201222, 3}}, - {{41, 201222, 4}}, - {{41, 201222, 5}}, - }, - }, - SparkStaminaEaterLv3: { - ID: 2012203, - Name: "Stamina Eater", - Description: "A Spark that gives a skill hint for \"Stamina Eater\".", - Group: 20122, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201222, 1}}, - {{41, 201222, 2}}, - {{41, 201222, 3}}, - {{41, 201222, 4}}, - {{41, 201222, 5}}, - }, - }, - SparkSmokeScreenLv1: { - ID: 2012301, - Name: "Smoke Screen", - Description: "A Spark that gives a skill hint for \"Smoke Screen\".", - Group: 20123, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201232, 1}}, - {{41, 201232, 2}}, - {{41, 201232, 3}}, - {{41, 201232, 4}}, - {{41, 201232, 5}}, - }, - }, - SparkSmokeScreenLv2: { - ID: 2012302, - Name: "Smoke Screen", - Description: "A Spark that gives a skill hint for \"Smoke Screen\".", - Group: 20123, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201232, 1}}, - {{41, 201232, 2}}, - {{41, 201232, 3}}, - {{41, 201232, 4}}, - {{41, 201232, 5}}, - }, - }, - SparkSmokeScreenLv3: { - ID: 2012303, - Name: "Smoke Screen", - Description: "A Spark that gives a skill hint for \"Smoke Screen\".", - Group: 20123, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201232, 1}}, - {{41, 201232, 2}}, - {{41, 201232, 3}}, - {{41, 201232, 4}}, - {{41, 201232, 5}}, - }, - }, - SparkFrontRunnerStraightawaysLv1: { - ID: 2012401, - Name: "Front Runner Straightaways ○", - Description: "A Spark that gives a skill hint for \"Front Runner Straightaways ○\".", - Group: 20124, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201242, 1}}, - {{41, 201242, 2}}, - {{41, 201242, 3}}, - {{41, 201242, 4}}, - {{41, 201242, 5}}, - }, - }, - SparkFrontRunnerStraightawaysLv2: { - ID: 2012402, - Name: "Front Runner Straightaways ○", - Description: "A Spark that gives a skill hint for \"Front Runner Straightaways ○\".", - Group: 20124, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201242, 1}}, - {{41, 201242, 2}}, - {{41, 201242, 3}}, - {{41, 201242, 4}}, - {{41, 201242, 5}}, - }, - }, - SparkFrontRunnerStraightawaysLv3: { - ID: 2012403, - Name: "Front Runner Straightaways ○", - Description: "A Spark that gives a skill hint for \"Front Runner Straightaways ○\".", - Group: 20124, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201242, 1}}, - {{41, 201242, 2}}, - {{41, 201242, 3}}, - {{41, 201242, 4}}, - {{41, 201242, 5}}, - }, - }, - SparkFrontRunnerCornersLv1: { - ID: 2012501, - Name: "Front Runner Corners ○", - Description: "A Spark that gives a skill hint for \"Front Runner Corners ○\".", - Group: 20125, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201252, 1}}, - {{41, 201252, 2}}, - {{41, 201252, 3}}, - {{41, 201252, 4}}, - {{41, 201252, 5}}, - }, - }, - SparkFrontRunnerCornersLv2: { - ID: 2012502, - Name: "Front Runner Corners ○", - Description: "A Spark that gives a skill hint for \"Front Runner Corners ○\".", - Group: 20125, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201252, 1}}, - {{41, 201252, 2}}, - {{41, 201252, 3}}, - {{41, 201252, 4}}, - {{41, 201252, 5}}, - }, - }, - SparkFrontRunnerCornersLv3: { - ID: 2012503, - Name: "Front Runner Corners ○", - Description: "A Spark that gives a skill hint for \"Front Runner Corners ○\".", - Group: 20125, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201252, 1}}, - {{41, 201252, 2}}, - {{41, 201252, 3}}, - {{41, 201252, 4}}, - {{41, 201252, 5}}, - }, - }, - SparkDodgingDangerLv1: { - ID: 2012601, - Name: "Dodging Danger", - Description: "A Spark that gives a skill hint for \"Dodging Danger\".", - Group: 20126, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201262, 1}}, - {{41, 201262, 2}}, - {{41, 201262, 3}}, - {{41, 201262, 4}}, - {{41, 201262, 5}}, - }, - }, - SparkDodgingDangerLv2: { - ID: 2012602, - Name: "Dodging Danger", - Description: "A Spark that gives a skill hint for \"Dodging Danger\".", - Group: 20126, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201262, 1}}, - {{41, 201262, 2}}, - {{41, 201262, 3}}, - {{41, 201262, 4}}, - {{41, 201262, 5}}, - }, - }, - SparkDodgingDangerLv3: { - ID: 2012603, - Name: "Dodging Danger", - Description: "A Spark that gives a skill hint for \"Dodging Danger\".", - Group: 20126, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201262, 1}}, - {{41, 201262, 2}}, - {{41, 201262, 3}}, - {{41, 201262, 4}}, - {{41, 201262, 5}}, - }, - }, - SparkLeadersPrideLv1: { - ID: 2012701, - Name: "Leader's Pride", - Description: "A Spark that gives a skill hint for \"Leader's Pride\".", - Group: 20127, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201272, 1}}, - {{41, 201272, 2}}, - {{41, 201272, 3}}, - {{41, 201272, 4}}, - {{41, 201272, 5}}, - }, - }, - SparkLeadersPrideLv2: { - ID: 2012702, - Name: "Leader's Pride", - Description: "A Spark that gives a skill hint for \"Leader's Pride\".", - Group: 20127, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201272, 1}}, - {{41, 201272, 2}}, - {{41, 201272, 3}}, - {{41, 201272, 4}}, - {{41, 201272, 5}}, - }, - }, - SparkLeadersPrideLv3: { - ID: 2012703, - Name: "Leader's Pride", - Description: "A Spark that gives a skill hint for \"Leader's Pride\".", - Group: 20127, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201272, 1}}, - {{41, 201272, 2}}, - {{41, 201272, 3}}, - {{41, 201272, 4}}, - {{41, 201272, 5}}, - }, - }, - SparkMoxieLv1: { - ID: 2012801, - Name: "Moxie", - Description: "A Spark that gives a skill hint for \"Moxie\".", - Group: 20128, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201282, 1}}, - {{41, 201282, 2}}, - {{41, 201282, 3}}, - {{41, 201282, 4}}, - {{41, 201282, 5}}, - }, - }, - SparkMoxieLv2: { - ID: 2012802, - Name: "Moxie", - Description: "A Spark that gives a skill hint for \"Moxie\".", - Group: 20128, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201282, 1}}, - {{41, 201282, 2}}, - {{41, 201282, 3}}, - {{41, 201282, 4}}, - {{41, 201282, 5}}, - }, - }, - SparkMoxieLv3: { - ID: 2012803, - Name: "Moxie", - Description: "A Spark that gives a skill hint for \"Moxie\".", - Group: 20128, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201282, 1}}, - {{41, 201282, 2}}, - {{41, 201282, 3}}, - {{41, 201282, 4}}, - {{41, 201282, 5}}, - }, - }, - SparkSecondWindLv1: { - ID: 2012901, - Name: "Second Wind", - Description: "A Spark that gives a skill hint for \"Second Wind\".", - Group: 20129, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201292, 1}}, - {{41, 201292, 2}}, - {{41, 201292, 3}}, - {{41, 201292, 4}}, - {{41, 201292, 5}}, - }, - }, - SparkSecondWindLv2: { - ID: 2012902, - Name: "Second Wind", - Description: "A Spark that gives a skill hint for \"Second Wind\".", - Group: 20129, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201292, 1}}, - {{41, 201292, 2}}, - {{41, 201292, 3}}, - {{41, 201292, 4}}, - {{41, 201292, 5}}, - }, - }, - SparkSecondWindLv3: { - ID: 2012903, - Name: "Second Wind", - Description: "A Spark that gives a skill hint for \"Second Wind\".", - Group: 20129, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201292, 1}}, - {{41, 201292, 2}}, - {{41, 201292, 3}}, - {{41, 201292, 4}}, - {{41, 201292, 5}}, - }, - }, - SparkRestartLv1: { - ID: 2013001, - Name: "Restart", - Description: "A Spark that gives a skill hint for \"Restart\".", - Group: 20130, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201302, 1}}, - {{41, 201302, 2}}, - {{41, 201302, 3}}, - {{41, 201302, 4}}, - {{41, 201302, 5}}, - }, - }, - SparkRestartLv2: { - ID: 2013002, - Name: "Restart", - Description: "A Spark that gives a skill hint for \"Restart\".", - Group: 20130, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201302, 1}}, - {{41, 201302, 2}}, - {{41, 201302, 3}}, - {{41, 201302, 4}}, - {{41, 201302, 5}}, - }, - }, - SparkRestartLv3: { - ID: 2013003, - Name: "Restart", - Description: "A Spark that gives a skill hint for \"Restart\".", - Group: 20130, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201302, 1}}, - {{41, 201302, 2}}, - {{41, 201302, 3}}, - {{41, 201302, 4}}, - {{41, 201302, 5}}, - }, - }, - SparkPaceChaserStraightawaysLv1: { - ID: 2013101, - Name: "Pace Chaser Straightaways ○", - Description: "A Spark that gives a skill hint for \"Pace Chaser Straightaways ○\".", - Group: 20131, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201312, 1}}, - {{41, 201312, 2}}, - {{41, 201312, 3}}, - {{41, 201312, 4}}, - {{41, 201312, 5}}, - }, - }, - SparkPaceChaserStraightawaysLv2: { - ID: 2013102, - Name: "Pace Chaser Straightaways ○", - Description: "A Spark that gives a skill hint for \"Pace Chaser Straightaways ○\".", - Group: 20131, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201312, 1}}, - {{41, 201312, 2}}, - {{41, 201312, 3}}, - {{41, 201312, 4}}, - {{41, 201312, 5}}, - }, - }, - SparkPaceChaserStraightawaysLv3: { - ID: 2013103, - Name: "Pace Chaser Straightaways ○", - Description: "A Spark that gives a skill hint for \"Pace Chaser Straightaways ○\".", - Group: 20131, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201312, 1}}, - {{41, 201312, 2}}, - {{41, 201312, 3}}, - {{41, 201312, 4}}, - {{41, 201312, 5}}, - }, - }, - SparkPaceChaserCornersLv1: { - ID: 2013201, - Name: "Pace Chaser Corners ○", - Description: "A Spark that gives a skill hint for \"Pace Chaser Corners ○\".", - Group: 20132, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201322, 1}}, - {{41, 201322, 2}}, - {{41, 201322, 3}}, - {{41, 201322, 4}}, - {{41, 201322, 5}}, - }, - }, - SparkPaceChaserCornersLv2: { - ID: 2013202, - Name: "Pace Chaser Corners ○", - Description: "A Spark that gives a skill hint for \"Pace Chaser Corners ○\".", - Group: 20132, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201322, 1}}, - {{41, 201322, 2}}, - {{41, 201322, 3}}, - {{41, 201322, 4}}, - {{41, 201322, 5}}, - }, - }, - SparkPaceChaserCornersLv3: { - ID: 2013203, - Name: "Pace Chaser Corners ○", - Description: "A Spark that gives a skill hint for \"Pace Chaser Corners ○\".", - Group: 20132, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201322, 1}}, - {{41, 201322, 2}}, - {{41, 201322, 3}}, - {{41, 201322, 4}}, - {{41, 201322, 5}}, - }, - }, - SparkShrewdStepLv1: { - ID: 2013301, - Name: "Shrewd Step", - Description: "A Spark that gives a skill hint for \"Shrewd Step\".", - Group: 20133, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201332, 1}}, - {{41, 201332, 2}}, - {{41, 201332, 3}}, - {{41, 201332, 4}}, - {{41, 201332, 5}}, - }, - }, - SparkShrewdStepLv2: { - ID: 2013302, - Name: "Shrewd Step", - Description: "A Spark that gives a skill hint for \"Shrewd Step\".", - Group: 20133, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201332, 1}}, - {{41, 201332, 2}}, - {{41, 201332, 3}}, - {{41, 201332, 4}}, - {{41, 201332, 5}}, - }, - }, - SparkShrewdStepLv3: { - ID: 2013303, - Name: "Shrewd Step", - Description: "A Spark that gives a skill hint for \"Shrewd Step\".", - Group: 20133, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201332, 1}}, - {{41, 201332, 2}}, - {{41, 201332, 3}}, - {{41, 201332, 4}}, - {{41, 201332, 5}}, - }, - }, - SparkStraightDescentLv1: { - ID: 2013401, - Name: "Straight Descent", - Description: "A Spark that gives a skill hint for \"Straight Descent\".", - Group: 20134, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201342, 1}}, - {{41, 201342, 2}}, - {{41, 201342, 3}}, - {{41, 201342, 4}}, - {{41, 201342, 5}}, - }, - }, - SparkStraightDescentLv2: { - ID: 2013402, - Name: "Straight Descent", - Description: "A Spark that gives a skill hint for \"Straight Descent\".", - Group: 20134, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201342, 1}}, - {{41, 201342, 2}}, - {{41, 201342, 3}}, - {{41, 201342, 4}}, - {{41, 201342, 5}}, - }, - }, - SparkStraightDescentLv3: { - ID: 2013403, - Name: "Straight Descent", - Description: "A Spark that gives a skill hint for \"Straight Descent\".", - Group: 20134, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201342, 1}}, - {{41, 201342, 2}}, - {{41, 201342, 3}}, - {{41, 201342, 4}}, - {{41, 201342, 5}}, - }, - }, - SparkHydrateLv1: { - ID: 2013501, - Name: "Hydrate", - Description: "A Spark that gives a skill hint for \"Hydrate\".", - Group: 20135, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201352, 1}}, - {{41, 201352, 2}}, - {{41, 201352, 3}}, - {{41, 201352, 4}}, - {{41, 201352, 5}}, - }, - }, - SparkHydrateLv2: { - ID: 2013502, - Name: "Hydrate", - Description: "A Spark that gives a skill hint for \"Hydrate\".", - Group: 20135, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201352, 1}}, - {{41, 201352, 2}}, - {{41, 201352, 3}}, - {{41, 201352, 4}}, - {{41, 201352, 5}}, - }, - }, - SparkHydrateLv3: { - ID: 2013503, - Name: "Hydrate", - Description: "A Spark that gives a skill hint for \"Hydrate\".", - Group: 20135, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201352, 1}}, - {{41, 201352, 2}}, - {{41, 201352, 3}}, - {{41, 201352, 4}}, - {{41, 201352, 5}}, - }, - }, - SparkTacticalTweakLv1: { - ID: 2013601, - Name: "Tactical Tweak", - Description: "A Spark that gives a skill hint for \"Tactical Tweak\".", - Group: 20136, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201362, 1}}, - {{41, 201362, 2}}, - {{41, 201362, 3}}, - {{41, 201362, 4}}, - {{41, 201362, 5}}, - }, - }, - SparkTacticalTweakLv2: { - ID: 2013602, - Name: "Tactical Tweak", - Description: "A Spark that gives a skill hint for \"Tactical Tweak\".", - Group: 20136, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201362, 1}}, - {{41, 201362, 2}}, - {{41, 201362, 3}}, - {{41, 201362, 4}}, - {{41, 201362, 5}}, - }, - }, - SparkTacticalTweakLv3: { - ID: 2013603, - Name: "Tactical Tweak", - Description: "A Spark that gives a skill hint for \"Tactical Tweak\".", - Group: 20136, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201362, 1}}, - {{41, 201362, 2}}, - {{41, 201362, 3}}, - {{41, 201362, 4}}, - {{41, 201362, 5}}, - }, - }, - SparkDisorientLv1: { - ID: 2013701, - Name: "Disorient", - Description: "A Spark that gives a skill hint for \"Disorient\".", - Group: 20137, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201372, 1}}, - {{41, 201372, 2}}, - {{41, 201372, 3}}, - {{41, 201372, 4}}, - {{41, 201372, 5}}, - }, - }, - SparkDisorientLv2: { - ID: 2013702, - Name: "Disorient", - Description: "A Spark that gives a skill hint for \"Disorient\".", - Group: 20137, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201372, 1}}, - {{41, 201372, 2}}, - {{41, 201372, 3}}, - {{41, 201372, 4}}, - {{41, 201372, 5}}, - }, - }, - SparkDisorientLv3: { - ID: 2013703, - Name: "Disorient", - Description: "A Spark that gives a skill hint for \"Disorient\".", - Group: 20137, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201372, 1}}, - {{41, 201372, 2}}, - {{41, 201372, 3}}, - {{41, 201372, 4}}, - {{41, 201372, 5}}, - }, - }, - SparkLateSurgerStraightawaysLv1: { - ID: 2013801, - Name: "Late Surger Straightaways ○", - Description: "A Spark that gives a skill hint for \"Late Surger Straightaways ○\".", - Group: 20138, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201382, 1}}, - {{41, 201382, 2}}, - {{41, 201382, 3}}, - {{41, 201382, 4}}, - {{41, 201382, 5}}, - }, - }, - SparkLateSurgerStraightawaysLv2: { - ID: 2013802, - Name: "Late Surger Straightaways ○", - Description: "A Spark that gives a skill hint for \"Late Surger Straightaways ○\".", - Group: 20138, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201382, 1}}, - {{41, 201382, 2}}, - {{41, 201382, 3}}, - {{41, 201382, 4}}, - {{41, 201382, 5}}, - }, - }, - SparkLateSurgerStraightawaysLv3: { - ID: 2013803, - Name: "Late Surger Straightaways ○", - Description: "A Spark that gives a skill hint for \"Late Surger Straightaways ○\".", - Group: 20138, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201382, 1}}, - {{41, 201382, 2}}, - {{41, 201382, 3}}, - {{41, 201382, 4}}, - {{41, 201382, 5}}, - }, - }, - SparkLateSurgerCornersLv1: { - ID: 2013901, - Name: "Late Surger Corners ○", - Description: "A Spark that gives a skill hint for \"Late Surger Corners ○\".", - Group: 20139, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201392, 1}}, - {{41, 201392, 2}}, - {{41, 201392, 3}}, - {{41, 201392, 4}}, - {{41, 201392, 5}}, - }, - }, - SparkLateSurgerCornersLv2: { - ID: 2013902, - Name: "Late Surger Corners ○", - Description: "A Spark that gives a skill hint for \"Late Surger Corners ○\".", - Group: 20139, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201392, 1}}, - {{41, 201392, 2}}, - {{41, 201392, 3}}, - {{41, 201392, 4}}, - {{41, 201392, 5}}, - }, - }, - SparkLateSurgerCornersLv3: { - ID: 2013903, - Name: "Late Surger Corners ○", - Description: "A Spark that gives a skill hint for \"Late Surger Corners ○\".", - Group: 20139, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201392, 1}}, - {{41, 201392, 2}}, - {{41, 201392, 3}}, - {{41, 201392, 4}}, - {{41, 201392, 5}}, - }, - }, - SparkFighterLv1: { - ID: 2014001, - Name: "Fighter", - Description: "A Spark that gives a skill hint for \"Fighter\".", - Group: 20140, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201402, 1}}, - {{41, 201402, 2}}, - {{41, 201402, 3}}, - {{41, 201402, 4}}, - {{41, 201402, 5}}, - }, - }, - SparkFighterLv2: { - ID: 2014002, - Name: "Fighter", - Description: "A Spark that gives a skill hint for \"Fighter\".", - Group: 20140, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201402, 1}}, - {{41, 201402, 2}}, - {{41, 201402, 3}}, - {{41, 201402, 4}}, - {{41, 201402, 5}}, - }, - }, - SparkFighterLv3: { - ID: 2014003, - Name: "Fighter", - Description: "A Spark that gives a skill hint for \"Fighter\".", - Group: 20140, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201402, 1}}, - {{41, 201402, 2}}, - {{41, 201402, 3}}, - {{41, 201402, 4}}, - {{41, 201402, 5}}, - }, - }, - SparkOneMillionCCLv1: { - ID: 2014101, - Name: "1,500,000 CC", - Description: "A Spark that gives a skill hint for \"1,500,000 CC\".", - Group: 20141, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201412, 1}}, - {{41, 201412, 2}}, - {{41, 201412, 3}}, - {{41, 201412, 4}}, - {{41, 201412, 5}}, - }, - }, - SparkOneMillionCCLv2: { - ID: 2014102, - Name: "1,500,000 CC", - Description: "A Spark that gives a skill hint for \"1,500,000 CC\".", - Group: 20141, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201412, 1}}, - {{41, 201412, 2}}, - {{41, 201412, 3}}, - {{41, 201412, 4}}, - {{41, 201412, 5}}, - }, - }, - SparkOneMillionCCLv3: { - ID: 2014103, - Name: "1,500,000 CC", - Description: "A Spark that gives a skill hint for \"1,500,000 CC\".", - Group: 20141, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201412, 1}}, - {{41, 201412, 2}}, - {{41, 201412, 3}}, - {{41, 201412, 4}}, - {{41, 201412, 5}}, - }, - }, - SparkASmallBreatherLv1: { - ID: 2014201, - Name: "A Small Breather", - Description: "A Spark that gives a skill hint for \"A Small Breather\".", - Group: 20142, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201422, 1}}, - {{41, 201422, 2}}, - {{41, 201422, 3}}, - {{41, 201422, 4}}, - {{41, 201422, 5}}, - }, - }, - SparkASmallBreatherLv2: { - ID: 2014202, - Name: "A Small Breather", - Description: "A Spark that gives a skill hint for \"A Small Breather\".", - Group: 20142, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201422, 1}}, - {{41, 201422, 2}}, - {{41, 201422, 3}}, - {{41, 201422, 4}}, - {{41, 201422, 5}}, - }, - }, - SparkASmallBreatherLv3: { - ID: 2014203, - Name: "A Small Breather", - Description: "A Spark that gives a skill hint for \"A Small Breather\".", - Group: 20142, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201422, 1}}, - {{41, 201422, 2}}, - {{41, 201422, 3}}, - {{41, 201422, 4}}, - {{41, 201422, 5}}, - }, - }, - SparkStudiousLv1: { - ID: 2014301, - Name: "Studious", - Description: "A Spark that gives a skill hint for \"Studious\".", - Group: 20143, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201432, 1}}, - {{41, 201432, 2}}, - {{41, 201432, 3}}, - {{41, 201432, 4}}, - {{41, 201432, 5}}, - }, - }, - SparkStudiousLv2: { - ID: 2014302, - Name: "Studious", - Description: "A Spark that gives a skill hint for \"Studious\".", - Group: 20143, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201432, 1}}, - {{41, 201432, 2}}, - {{41, 201432, 3}}, - {{41, 201432, 4}}, - {{41, 201432, 5}}, - }, - }, - SparkStudiousLv3: { - ID: 2014303, - Name: "Studious", - Description: "A Spark that gives a skill hint for \"Studious\".", - Group: 20143, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201432, 1}}, - {{41, 201432, 2}}, - {{41, 201432, 3}}, - {{41, 201432, 4}}, - {{41, 201432, 5}}, - }, - }, - SparkSharpGazeLv1: { - ID: 2014401, - Name: "Sharp Gaze", - Description: "A Spark that gives a skill hint for \"Sharp Gaze\".", - Group: 20144, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201442, 1}}, - {{41, 201442, 2}}, - {{41, 201442, 3}}, - {{41, 201442, 4}}, - {{41, 201442, 5}}, - }, - }, - SparkSharpGazeLv2: { - ID: 2014402, - Name: "Sharp Gaze", - Description: "A Spark that gives a skill hint for \"Sharp Gaze\".", - Group: 20144, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201442, 1}}, - {{41, 201442, 2}}, - {{41, 201442, 3}}, - {{41, 201442, 4}}, - {{41, 201442, 5}}, - }, - }, - SparkSharpGazeLv3: { - ID: 2014403, - Name: "Sharp Gaze", - Description: "A Spark that gives a skill hint for \"Sharp Gaze\".", - Group: 20144, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201442, 1}}, - {{41, 201442, 2}}, - {{41, 201442, 3}}, - {{41, 201442, 4}}, - {{41, 201442, 5}}, - }, - }, - SparkEndCloserStraightawaysLv1: { - ID: 2014501, - Name: "End Closer Straightaways ○", - Description: "A Spark that gives a skill hint for \"End Closer Straightaways ○\".", - Group: 20145, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201452, 1}}, - {{41, 201452, 2}}, - {{41, 201452, 3}}, - {{41, 201452, 4}}, - {{41, 201452, 5}}, - }, - }, - SparkEndCloserStraightawaysLv2: { - ID: 2014502, - Name: "End Closer Straightaways ○", - Description: "A Spark that gives a skill hint for \"End Closer Straightaways ○\".", - Group: 20145, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201452, 1}}, - {{41, 201452, 2}}, - {{41, 201452, 3}}, - {{41, 201452, 4}}, - {{41, 201452, 5}}, - }, - }, - SparkEndCloserStraightawaysLv3: { - ID: 2014503, - Name: "End Closer Straightaways ○", - Description: "A Spark that gives a skill hint for \"End Closer Straightaways ○\".", - Group: 20145, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201452, 1}}, - {{41, 201452, 2}}, - {{41, 201452, 3}}, - {{41, 201452, 4}}, - {{41, 201452, 5}}, - }, - }, - SparkEndCloserCornersLv1: { - ID: 2014601, - Name: "End Closer Corners ○", - Description: "A Spark that gives a skill hint for \"End Closer Corners ○\".", - Group: 20146, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201462, 1}}, - {{41, 201462, 2}}, - {{41, 201462, 3}}, - {{41, 201462, 4}}, - {{41, 201462, 5}}, - }, - }, - SparkEndCloserCornersLv2: { - ID: 2014602, - Name: "End Closer Corners ○", - Description: "A Spark that gives a skill hint for \"End Closer Corners ○\".", - Group: 20146, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201462, 1}}, - {{41, 201462, 2}}, - {{41, 201462, 3}}, - {{41, 201462, 4}}, - {{41, 201462, 5}}, - }, - }, - SparkEndCloserCornersLv3: { - ID: 2014603, - Name: "End Closer Corners ○", - Description: "A Spark that gives a skill hint for \"End Closer Corners ○\".", - Group: 20146, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201462, 1}}, - {{41, 201462, 2}}, - {{41, 201462, 3}}, - {{41, 201462, 4}}, - {{41, 201462, 5}}, - }, - }, - SparkICanSeeRightThroughYouLv1: { - ID: 2014701, - Name: "I Can See Right Through You", - Description: "A Spark that gives a skill hint for \"I Can See Right Through You\".", - Group: 20147, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201472, 1}}, - {{41, 201472, 2}}, - {{41, 201472, 3}}, - {{41, 201472, 4}}, - {{41, 201472, 5}}, - }, - }, - SparkICanSeeRightThroughYouLv2: { - ID: 2014702, - Name: "I Can See Right Through You", - Description: "A Spark that gives a skill hint for \"I Can See Right Through You\".", - Group: 20147, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201472, 1}}, - {{41, 201472, 2}}, - {{41, 201472, 3}}, - {{41, 201472, 4}}, - {{41, 201472, 5}}, - }, - }, - SparkICanSeeRightThroughYouLv3: { - ID: 2014703, - Name: "I Can See Right Through You", - Description: "A Spark that gives a skill hint for \"I Can See Right Through You\".", - Group: 20147, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201472, 1}}, - {{41, 201472, 2}}, - {{41, 201472, 3}}, - {{41, 201472, 4}}, - {{41, 201472, 5}}, - }, - }, - SparkAfterSchoolStrollLv1: { - ID: 2014801, - Name: "After-School Stroll", - Description: "A Spark that gives a skill hint for \"After-School Stroll\".", - Group: 20148, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201482, 1}}, - {{41, 201482, 2}}, - {{41, 201482, 3}}, - {{41, 201482, 4}}, - {{41, 201482, 5}}, - }, - }, - SparkAfterSchoolStrollLv2: { - ID: 2014802, - Name: "After-School Stroll", - Description: "A Spark that gives a skill hint for \"After-School Stroll\".", - Group: 20148, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201482, 1}}, - {{41, 201482, 2}}, - {{41, 201482, 3}}, - {{41, 201482, 4}}, - {{41, 201482, 5}}, - }, - }, - SparkAfterSchoolStrollLv3: { - ID: 2014803, - Name: "After-School Stroll", - Description: "A Spark that gives a skill hint for \"After-School Stroll\".", - Group: 20148, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201482, 1}}, - {{41, 201482, 2}}, - {{41, 201482, 3}}, - {{41, 201482, 4}}, - {{41, 201482, 5}}, - }, - }, - SparkLevelheadedLv1: { - ID: 2014901, - Name: "Levelheaded", - Description: "A Spark that gives a skill hint for \"Levelheaded\".", - Group: 20149, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201492, 1}}, - {{41, 201492, 2}}, - {{41, 201492, 3}}, - {{41, 201492, 4}}, - {{41, 201492, 5}}, - }, - }, - SparkLevelheadedLv2: { - ID: 2014902, - Name: "Levelheaded", - Description: "A Spark that gives a skill hint for \"Levelheaded\".", - Group: 20149, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201492, 1}}, - {{41, 201492, 2}}, - {{41, 201492, 3}}, - {{41, 201492, 4}}, - {{41, 201492, 5}}, - }, - }, - SparkLevelheadedLv3: { - ID: 2014903, - Name: "Levelheaded", - Description: "A Spark that gives a skill hint for \"Levelheaded\".", - Group: 20149, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201492, 1}}, - {{41, 201492, 2}}, - {{41, 201492, 3}}, - {{41, 201492, 4}}, - {{41, 201492, 5}}, - }, - }, - SparkStrategistLv1: { - ID: 2015001, - Name: "Strategist", - Description: "A Spark that gives a skill hint for \"Strategist\".", - Group: 20150, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201502, 1}}, - {{41, 201502, 2}}, - {{41, 201502, 3}}, - {{41, 201502, 4}}, - {{41, 201502, 5}}, - }, - }, - SparkStrategistLv2: { - ID: 2015002, - Name: "Strategist", - Description: "A Spark that gives a skill hint for \"Strategist\".", - Group: 20150, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201502, 1}}, - {{41, 201502, 2}}, - {{41, 201502, 3}}, - {{41, 201502, 4}}, - {{41, 201502, 5}}, - }, - }, - SparkStrategistLv3: { - ID: 2015003, - Name: "Strategist", - Description: "A Spark that gives a skill hint for \"Strategist\".", - Group: 20150, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201502, 1}}, - {{41, 201502, 2}}, - {{41, 201502, 3}}, - {{41, 201502, 4}}, - {{41, 201502, 5}}, - }, - }, - SparkIntenseGazeLv1: { - ID: 2015101, - Name: "Intense Gaze", - Description: "A Spark that gives a skill hint for \"Intense Gaze\".", - Group: 20151, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201512, 1}}, - {{41, 201512, 2}}, - {{41, 201512, 3}}, - {{41, 201512, 4}}, - {{41, 201512, 5}}, - }, - }, - SparkIntenseGazeLv2: { - ID: 2015102, - Name: "Intense Gaze", - Description: "A Spark that gives a skill hint for \"Intense Gaze\".", - Group: 20151, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201512, 1}}, - {{41, 201512, 2}}, - {{41, 201512, 3}}, - {{41, 201512, 4}}, - {{41, 201512, 5}}, - }, - }, - SparkIntenseGazeLv3: { - ID: 2015103, - Name: "Intense Gaze", - Description: "A Spark that gives a skill hint for \"Intense Gaze\".", - Group: 20151, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201512, 1}}, - {{41, 201512, 2}}, - {{41, 201512, 3}}, - {{41, 201512, 4}}, - {{41, 201512, 5}}, - }, - }, - SparkFrontRunnerSavvyLv1: { - ID: 2015201, - Name: "Front Runner Savvy ○", - Description: "A Spark that gives a skill hint for \"Front Runner Savvy ○\".", - Group: 20152, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201522, 1}}, - {{41, 201522, 2}}, - {{41, 201522, 3}}, - {{41, 201522, 4}}, - {{41, 201522, 5}}, - }, - }, - SparkFrontRunnerSavvyLv2: { - ID: 2015202, - Name: "Front Runner Savvy ○", - Description: "A Spark that gives a skill hint for \"Front Runner Savvy ○\".", - Group: 20152, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201522, 1}}, - {{41, 201522, 2}}, - {{41, 201522, 3}}, - {{41, 201522, 4}}, - {{41, 201522, 5}}, - }, - }, - SparkFrontRunnerSavvyLv3: { - ID: 2015203, - Name: "Front Runner Savvy ○", - Description: "A Spark that gives a skill hint for \"Front Runner Savvy ○\".", - Group: 20152, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201522, 1}}, - {{41, 201522, 2}}, - {{41, 201522, 3}}, - {{41, 201522, 4}}, - {{41, 201522, 5}}, - }, - }, - SparkPaceChaserSavvyLv1: { - ID: 2015301, - Name: "Pace Chaser Savvy ○", - Description: "A Spark that gives a skill hint for \"Pace Chaser Savvy ○\".", - Group: 20153, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201532, 1}}, - {{41, 201532, 2}}, - {{41, 201532, 3}}, - {{41, 201532, 4}}, - {{41, 201532, 5}}, - }, - }, - SparkPaceChaserSavvyLv2: { - ID: 2015302, - Name: "Pace Chaser Savvy ○", - Description: "A Spark that gives a skill hint for \"Pace Chaser Savvy ○\".", - Group: 20153, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201532, 1}}, - {{41, 201532, 2}}, - {{41, 201532, 3}}, - {{41, 201532, 4}}, - {{41, 201532, 5}}, - }, - }, - SparkPaceChaserSavvyLv3: { - ID: 2015303, - Name: "Pace Chaser Savvy ○", - Description: "A Spark that gives a skill hint for \"Pace Chaser Savvy ○\".", - Group: 20153, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201532, 1}}, - {{41, 201532, 2}}, - {{41, 201532, 3}}, - {{41, 201532, 4}}, - {{41, 201532, 5}}, - }, - }, - SparkLateSurgerSavvyLv1: { - ID: 2015401, - Name: "Late Surger Savvy ○", - Description: "A Spark that gives a skill hint for \"Late Surger Savvy ○\".", - Group: 20154, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201542, 1}}, - {{41, 201542, 2}}, - {{41, 201542, 3}}, - {{41, 201542, 4}}, - {{41, 201542, 5}}, - }, - }, - SparkLateSurgerSavvyLv2: { - ID: 2015402, - Name: "Late Surger Savvy ○", - Description: "A Spark that gives a skill hint for \"Late Surger Savvy ○\".", - Group: 20154, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201542, 1}}, - {{41, 201542, 2}}, - {{41, 201542, 3}}, - {{41, 201542, 4}}, - {{41, 201542, 5}}, - }, - }, - SparkLateSurgerSavvyLv3: { - ID: 2015403, - Name: "Late Surger Savvy ○", - Description: "A Spark that gives a skill hint for \"Late Surger Savvy ○\".", - Group: 20154, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201542, 1}}, - {{41, 201542, 2}}, - {{41, 201542, 3}}, - {{41, 201542, 4}}, - {{41, 201542, 5}}, - }, - }, - SparkEndCloserSavvyLv1: { - ID: 2015501, - Name: "End Closer Savvy ○", - Description: "A Spark that gives a skill hint for \"End Closer Savvy ○\".", - Group: 20155, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201552, 1}}, - {{41, 201552, 2}}, - {{41, 201552, 3}}, - {{41, 201552, 4}}, - {{41, 201552, 5}}, - }, - }, - SparkEndCloserSavvyLv2: { - ID: 2015502, - Name: "End Closer Savvy ○", - Description: "A Spark that gives a skill hint for \"End Closer Savvy ○\".", - Group: 20155, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201552, 1}}, - {{41, 201552, 2}}, - {{41, 201552, 3}}, - {{41, 201552, 4}}, - {{41, 201552, 5}}, - }, - }, - SparkEndCloserSavvyLv3: { - ID: 2015503, - Name: "End Closer Savvy ○", - Description: "A Spark that gives a skill hint for \"End Closer Savvy ○\".", - Group: 20155, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201552, 1}}, - {{41, 201552, 2}}, - {{41, 201552, 3}}, - {{41, 201552, 4}}, - {{41, 201552, 5}}, - }, - }, - SparkLuckySevenLv1: { - ID: 2015601, - Name: "Lucky Seven", - Description: "A Spark that gives a skill hint for \"Lucky Seven\".", - Group: 20156, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201562, 1}}, - {{41, 201562, 2}}, - {{41, 201562, 3}}, - {{41, 201562, 4}}, - {{41, 201562, 5}}, - }, - }, - SparkLuckySevenLv2: { - ID: 2015602, - Name: "Lucky Seven", - Description: "A Spark that gives a skill hint for \"Lucky Seven\".", - Group: 20156, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201562, 1}}, - {{41, 201562, 2}}, - {{41, 201562, 3}}, - {{41, 201562, 4}}, - {{41, 201562, 5}}, - }, - }, - SparkLuckySevenLv3: { - ID: 2015603, - Name: "Lucky Seven", - Description: "A Spark that gives a skill hint for \"Lucky Seven\".", - Group: 20156, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201562, 1}}, - {{41, 201562, 2}}, - {{41, 201562, 3}}, - {{41, 201562, 4}}, - {{41, 201562, 5}}, - }, - }, - SparkTripleSevensLv1: { - ID: 2015701, - Name: "Triple 7s", - Description: "A Spark that gives a skill hint for \"Triple 7s\".", - Group: 20157, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201571, 1}}, - {{41, 201571, 2}}, - {{41, 201571, 3}}, - {{41, 201571, 4}}, - {{41, 201571, 5}}, - }, - }, - SparkTripleSevensLv2: { - ID: 2015702, - Name: "Triple 7s", - Description: "A Spark that gives a skill hint for \"Triple 7s\".", - Group: 20157, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201571, 1}}, - {{41, 201571, 2}}, - {{41, 201571, 3}}, - {{41, 201571, 4}}, - {{41, 201571, 5}}, - }, - }, - SparkTripleSevensLv3: { - ID: 2015703, - Name: "Triple 7s", - Description: "A Spark that gives a skill hint for \"Triple 7s\".", - Group: 20157, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201571, 1}}, - {{41, 201571, 2}}, - {{41, 201571, 3}}, - {{41, 201571, 4}}, - {{41, 201571, 5}}, - }, - }, - SparkHighlanderLv1: { - ID: 2015801, - Name: "Highlander", - Description: "A Spark that gives a skill hint for \"Highlander\".", - Group: 20158, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201581, 1}}, - {{41, 201581, 2}}, - {{41, 201581, 3}}, - {{41, 201581, 4}}, - {{41, 201581, 5}}, - }, - }, - SparkHighlanderLv2: { - ID: 2015802, - Name: "Highlander", - Description: "A Spark that gives a skill hint for \"Highlander\".", - Group: 20158, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201581, 1}}, - {{41, 201581, 2}}, - {{41, 201581, 3}}, - {{41, 201581, 4}}, - {{41, 201581, 5}}, - }, - }, - SparkHighlanderLv3: { - ID: 2015803, - Name: "Highlander", - Description: "A Spark that gives a skill hint for \"Highlander\".", - Group: 20158, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201581, 1}}, - {{41, 201581, 2}}, - {{41, 201581, 3}}, - {{41, 201581, 4}}, - {{41, 201581, 5}}, - }, - }, - SparkUmaStanLv1: { - ID: 2015901, - Name: "Uma Stan", - Description: "A Spark that gives a skill hint for \"Uma Stan\".", - Group: 20159, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201591, 1}}, - {{41, 201591, 2}}, - {{41, 201591, 3}}, - {{41, 201591, 4}}, - {{41, 201591, 5}}, - }, - }, - SparkUmaStanLv2: { - ID: 2015902, - Name: "Uma Stan", - Description: "A Spark that gives a skill hint for \"Uma Stan\".", - Group: 20159, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201591, 1}}, - {{41, 201591, 2}}, - {{41, 201591, 3}}, - {{41, 201591, 4}}, - {{41, 201591, 5}}, - }, - }, - SparkUmaStanLv3: { - ID: 2015903, - Name: "Uma Stan", - Description: "A Spark that gives a skill hint for \"Uma Stan\".", - Group: 20159, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201591, 1}}, - {{41, 201591, 2}}, - {{41, 201591, 3}}, - {{41, 201591, 4}}, - {{41, 201591, 5}}, - }, - }, - SparkGroundworkLv1: { - ID: 2016001, - Name: "Groundwork", - Description: "A Spark that gives a skill hint for \"Groundwork\".", - Group: 20160, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201601, 1}}, - {{41, 201601, 2}}, - {{41, 201601, 3}}, - {{41, 201601, 4}}, - {{41, 201601, 5}}, - }, - }, - SparkGroundworkLv2: { - ID: 2016002, - Name: "Groundwork", - Description: "A Spark that gives a skill hint for \"Groundwork\".", - Group: 20160, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201601, 1}}, - {{41, 201601, 2}}, - {{41, 201601, 3}}, - {{41, 201601, 4}}, - {{41, 201601, 5}}, - }, - }, - SparkGroundworkLv3: { - ID: 2016003, - Name: "Groundwork", - Description: "A Spark that gives a skill hint for \"Groundwork\".", - Group: 20160, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201601, 1}}, - {{41, 201601, 2}}, - {{41, 201601, 3}}, - {{41, 201601, 4}}, - {{41, 201601, 5}}, - }, - }, - SparkTailHeldHighLv1: { - ID: 2016101, - Name: "Tail Held High", - Description: "A Spark that gives a skill hint for \"Tail Held High\".", - Group: 20161, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201611, 1}}, - {{41, 201611, 2}}, - {{41, 201611, 3}}, - {{41, 201611, 4}}, - {{41, 201611, 5}}, - }, - }, - SparkTailHeldHighLv2: { - ID: 2016102, - Name: "Tail Held High", - Description: "A Spark that gives a skill hint for \"Tail Held High\".", - Group: 20161, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201611, 1}}, - {{41, 201611, 2}}, - {{41, 201611, 3}}, - {{41, 201611, 4}}, - {{41, 201611, 5}}, - }, - }, - SparkTailHeldHighLv3: { - ID: 2016103, - Name: "Tail Held High", - Description: "A Spark that gives a skill hint for \"Tail Held High\".", - Group: 20161, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201611, 1}}, - {{41, 201611, 2}}, - {{41, 201611, 3}}, - {{41, 201611, 4}}, - {{41, 201611, 5}}, - }, - }, - SparkShakeItOutLv1: { - ID: 2016201, - Name: "Shake It Out", - Description: "A Spark that gives a skill hint for \"Shake It Out\".", - Group: 20162, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201621, 1}}, - {{41, 201621, 2}}, - {{41, 201621, 3}}, - {{41, 201621, 4}}, - {{41, 201621, 5}}, - }, - }, - SparkShakeItOutLv2: { - ID: 2016202, - Name: "Shake It Out", - Description: "A Spark that gives a skill hint for \"Shake It Out\".", - Group: 20162, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201621, 1}}, - {{41, 201621, 2}}, - {{41, 201621, 3}}, - {{41, 201621, 4}}, - {{41, 201621, 5}}, - }, - }, - SparkShakeItOutLv3: { - ID: 2016203, - Name: "Shake It Out", - Description: "A Spark that gives a skill hint for \"Shake It Out\".", - Group: 20162, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201621, 1}}, - {{41, 201621, 2}}, - {{41, 201621, 3}}, - {{41, 201621, 4}}, - {{41, 201621, 5}}, - }, - }, - SparkSympathyLv1: { - ID: 2016301, - Name: "Sympathy", - Description: "A Spark that gives a skill hint for \"Sympathy\".", - Group: 20163, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201631, 1}}, - {{41, 201631, 2}}, - {{41, 201631, 3}}, - {{41, 201631, 4}}, - {{41, 201631, 5}}, - }, - }, - SparkSympathyLv2: { - ID: 2016302, - Name: "Sympathy", - Description: "A Spark that gives a skill hint for \"Sympathy\".", - Group: 20163, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201631, 1}}, - {{41, 201631, 2}}, - {{41, 201631, 3}}, - {{41, 201631, 4}}, - {{41, 201631, 5}}, - }, - }, - SparkSympathyLv3: { - ID: 2016303, - Name: "Sympathy", - Description: "A Spark that gives a skill hint for \"Sympathy\".", - Group: 20163, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201631, 1}}, - {{41, 201631, 2}}, - {{41, 201631, 3}}, - {{41, 201631, 4}}, - {{41, 201631, 5}}, - }, - }, - SparkLoneWolfLv1: { - ID: 2016401, - Name: "Lone Wolf", - Description: "A Spark that gives a skill hint for \"Lone Wolf\".", - Group: 20164, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201641, 1}}, - {{41, 201641, 2}}, - {{41, 201641, 3}}, - {{41, 201641, 4}}, - {{41, 201641, 5}}, - }, - }, - SparkLoneWolfLv2: { - ID: 2016402, - Name: "Lone Wolf", - Description: "A Spark that gives a skill hint for \"Lone Wolf\".", - Group: 20164, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201641, 1}}, - {{41, 201641, 2}}, - {{41, 201641, 3}}, - {{41, 201641, 4}}, - {{41, 201641, 5}}, - }, - }, - SparkLoneWolfLv3: { - ID: 2016403, - Name: "Lone Wolf", - Description: "A Spark that gives a skill hint for \"Lone Wolf\".", - Group: 20164, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201641, 1}}, - {{41, 201641, 2}}, - {{41, 201641, 3}}, - {{41, 201641, 4}}, - {{41, 201641, 5}}, - }, - }, - SparkSlipstreamLv1: { - ID: 2016501, - Name: "Slipstream", - Description: "A Spark that gives a skill hint for \"Slipstream\".", - Group: 20165, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201651, 1}}, - {{41, 201651, 2}}, - {{41, 201651, 3}}, - {{41, 201651, 4}}, - {{41, 201651, 5}}, - }, - }, - SparkSlipstreamLv2: { - ID: 2016502, - Name: "Slipstream", - Description: "A Spark that gives a skill hint for \"Slipstream\".", - Group: 20165, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201651, 1}}, - {{41, 201651, 2}}, - {{41, 201651, 3}}, - {{41, 201651, 4}}, - {{41, 201651, 5}}, - }, - }, - SparkSlipstreamLv3: { - ID: 2016503, - Name: "Slipstream", - Description: "A Spark that gives a skill hint for \"Slipstream\".", - Group: 20165, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201651, 1}}, - {{41, 201651, 2}}, - {{41, 201651, 3}}, - {{41, 201651, 4}}, - {{41, 201651, 5}}, - }, - }, - SparkPlaytimesOverLv1: { - ID: 2016601, - Name: "Playtime's Over!", - Description: "A Spark that gives a skill hint for \"Playtime's Over!\".", - Group: 20166, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201661, 1}}, - {{41, 201661, 2}}, - {{41, 201661, 3}}, - {{41, 201661, 4}}, - {{41, 201661, 5}}, - }, - }, - SparkPlaytimesOverLv2: { - ID: 2016602, - Name: "Playtime's Over!", - Description: "A Spark that gives a skill hint for \"Playtime's Over!\".", - Group: 20166, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201661, 1}}, - {{41, 201661, 2}}, - {{41, 201661, 3}}, - {{41, 201661, 4}}, - {{41, 201661, 5}}, - }, - }, - SparkPlaytimesOverLv3: { - ID: 2016603, - Name: "Playtime's Over!", - Description: "A Spark that gives a skill hint for \"Playtime's Over!\".", - Group: 20166, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201661, 1}}, - {{41, 201661, 2}}, - {{41, 201661, 3}}, - {{41, 201661, 4}}, - {{41, 201661, 5}}, - }, - }, - SparkTopPickLv1: { - ID: 2016701, - Name: "Top Pick", - Description: "A Spark that gives a skill hint for \"Top Pick\".", - Group: 20167, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201672, 1}}, - {{41, 201672, 2}}, - {{41, 201672, 3}}, - {{41, 201672, 4}}, - {{41, 201672, 5}}, - }, - }, - SparkTopPickLv2: { - ID: 2016702, - Name: "Top Pick", - Description: "A Spark that gives a skill hint for \"Top Pick\".", - Group: 20167, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201672, 1}}, - {{41, 201672, 2}}, - {{41, 201672, 3}}, - {{41, 201672, 4}}, - {{41, 201672, 5}}, - }, - }, - SparkTopPickLv3: { - ID: 2016703, - Name: "Top Pick", - Description: "A Spark that gives a skill hint for \"Top Pick\".", - Group: 20167, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201672, 1}}, - {{41, 201672, 2}}, - {{41, 201672, 3}}, - {{41, 201672, 4}}, - {{41, 201672, 5}}, - }, - }, - SparkForwardMarchLv1: { - ID: 2016801, - Name: "Forward, March!", - Description: "A Spark that gives a skill hint for \"Forward, March!\".", - Group: 20168, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201682, 1}}, - {{41, 201682, 2}}, - {{41, 201682, 3}}, - {{41, 201682, 4}}, - {{41, 201682, 5}}, - }, - }, - SparkForwardMarchLv2: { - ID: 2016802, - Name: "Forward, March!", - Description: "A Spark that gives a skill hint for \"Forward, March!\".", - Group: 20168, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201682, 1}}, - {{41, 201682, 2}}, - {{41, 201682, 3}}, - {{41, 201682, 4}}, - {{41, 201682, 5}}, - }, - }, - SparkForwardMarchLv3: { - ID: 2016803, - Name: "Forward, March!", - Description: "A Spark that gives a skill hint for \"Forward, March!\".", - Group: 20168, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201682, 1}}, - {{41, 201682, 2}}, - {{41, 201682, 3}}, - {{41, 201682, 4}}, - {{41, 201682, 5}}, - }, - }, - SparkBeStillLv1: { - ID: 2016901, - Name: "Be Still", - Description: "A Spark that gives a skill hint for \"Be Still\".", - Group: 20169, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201692, 1}}, - {{41, 201692, 2}}, - {{41, 201692, 3}}, - {{41, 201692, 4}}, - {{41, 201692, 5}}, - }, - }, - SparkBeStillLv2: { - ID: 2016902, - Name: "Be Still", - Description: "A Spark that gives a skill hint for \"Be Still\".", - Group: 20169, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201692, 1}}, - {{41, 201692, 2}}, - {{41, 201692, 3}}, - {{41, 201692, 4}}, - {{41, 201692, 5}}, - }, - }, - SparkBeStillLv3: { - ID: 2016903, - Name: "Be Still", - Description: "A Spark that gives a skill hint for \"Be Still\".", - Group: 20169, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201692, 1}}, - {{41, 201692, 2}}, - {{41, 201692, 3}}, - {{41, 201692, 4}}, - {{41, 201692, 5}}, - }, - }, - SparkAllIveGotLv1: { - ID: 2017001, - Name: "All I've Got", - Description: "A Spark that gives a skill hint for \"All I've Got\".", - Group: 20170, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201702, 1}}, - {{41, 201702, 2}}, - {{41, 201702, 3}}, - {{41, 201702, 4}}, - {{41, 201702, 5}}, - }, - }, - SparkAllIveGotLv2: { - ID: 2017002, - Name: "All I've Got", - Description: "A Spark that gives a skill hint for \"All I've Got\".", - Group: 20170, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201702, 1}}, - {{41, 201702, 2}}, - {{41, 201702, 3}}, - {{41, 201702, 4}}, - {{41, 201702, 5}}, - }, - }, - SparkAllIveGotLv3: { - ID: 2017003, - Name: "All I've Got", - Description: "A Spark that gives a skill hint for \"All I've Got\".", - Group: 20170, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201702, 1}}, - {{41, 201702, 2}}, - {{41, 201702, 3}}, - {{41, 201702, 4}}, - {{41, 201702, 5}}, - }, - }, - SparkHeadOnLv1: { - ID: 2019001, - Name: "Head-On", - Description: "A Spark that gives a skill hint for \"Head-On\".", - Group: 20190, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201902, 1}}, - {{41, 201902, 2}}, - {{41, 201902, 3}}, - {{41, 201902, 4}}, - {{41, 201902, 5}}, - }, - }, - SparkHeadOnLv2: { - ID: 2019002, - Name: "Head-On", - Description: "A Spark that gives a skill hint for \"Head-On\".", - Group: 20190, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201902, 1}}, - {{41, 201902, 2}}, - {{41, 201902, 3}}, - {{41, 201902, 4}}, - {{41, 201902, 5}}, - }, - }, - SparkHeadOnLv3: { - ID: 2019003, - Name: "Head-On", - Description: "A Spark that gives a skill hint for \"Head-On\".", - Group: 20190, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 201902, 1}}, - {{41, 201902, 2}}, - {{41, 201902, 3}}, - {{41, 201902, 4}}, - {{41, 201902, 5}}, - }, - }, - SparkFamiliarGroundLv1: { - ID: 2020001, - Name: "Familiar Ground", - Description: "A Spark that gives a skill hint for \"Familiar Ground\".", - Group: 20200, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202002, 1}}, - {{41, 202002, 2}}, - {{41, 202002, 3}}, - {{41, 202002, 4}}, - {{41, 202002, 5}}, - }, - }, - SparkFamiliarGroundLv2: { - ID: 2020002, - Name: "Familiar Ground", - Description: "A Spark that gives a skill hint for \"Familiar Ground\".", - Group: 20200, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202002, 1}}, - {{41, 202002, 2}}, - {{41, 202002, 3}}, - {{41, 202002, 4}}, - {{41, 202002, 5}}, - }, - }, - SparkFamiliarGroundLv3: { - ID: 2020003, - Name: "Familiar Ground", - Description: "A Spark that gives a skill hint for \"Familiar Ground\".", - Group: 20200, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202002, 1}}, - {{41, 202002, 2}}, - {{41, 202002, 3}}, - {{41, 202002, 4}}, - {{41, 202002, 5}}, - }, - }, - SparkFeatureActLv1: { - ID: 2020101, - Name: "Feature Act", - Description: "A Spark that gives a skill hint for \"Feature Act\".", - Group: 20201, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202012, 1}}, - {{41, 202012, 2}}, - {{41, 202012, 3}}, - {{41, 202012, 4}}, - {{41, 202012, 5}}, - }, - }, - SparkFeatureActLv2: { - ID: 2020102, - Name: "Feature Act", - Description: "A Spark that gives a skill hint for \"Feature Act\".", - Group: 20201, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202012, 1}}, - {{41, 202012, 2}}, - {{41, 202012, 3}}, - {{41, 202012, 4}}, - {{41, 202012, 5}}, - }, - }, - SparkFeatureActLv3: { - ID: 2020103, - Name: "Feature Act", - Description: "A Spark that gives a skill hint for \"Feature Act\".", - Group: 20201, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202012, 1}}, - {{41, 202012, 2}}, - {{41, 202012, 3}}, - {{41, 202012, 4}}, - {{41, 202012, 5}}, - }, - }, - SparkEarlyStartLv1: { - ID: 2020201, - Name: "Early Start", - Description: "A Spark that gives a skill hint for \"Early Start\".", - Group: 20202, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202022, 1}}, - {{41, 202022, 2}}, - {{41, 202022, 3}}, - {{41, 202022, 4}}, - {{41, 202022, 5}}, - }, - }, - SparkEarlyStartLv2: { - ID: 2020202, - Name: "Early Start", - Description: "A Spark that gives a skill hint for \"Early Start\".", - Group: 20202, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202022, 1}}, - {{41, 202022, 2}}, - {{41, 202022, 3}}, - {{41, 202022, 4}}, - {{41, 202022, 5}}, - }, - }, - SparkEarlyStartLv3: { - ID: 2020203, - Name: "Early Start", - Description: "A Spark that gives a skill hint for \"Early Start\".", - Group: 20202, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202022, 1}}, - {{41, 202022, 2}}, - {{41, 202022, 3}}, - {{41, 202022, 4}}, - {{41, 202022, 5}}, - }, - }, - SparkRiskyBusinessLv1: { - ID: 2020301, - Name: "Risky Business", - Description: "A Spark that gives a skill hint for \"Risky Business\".", - Group: 20203, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202032, 1}}, - {{41, 202032, 2}}, - {{41, 202032, 3}}, - {{41, 202032, 4}}, - {{41, 202032, 5}}, - }, - }, - SparkRiskyBusinessLv2: { - ID: 2020302, - Name: "Risky Business", - Description: "A Spark that gives a skill hint for \"Risky Business\".", - Group: 20203, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202032, 1}}, - {{41, 202032, 2}}, - {{41, 202032, 3}}, - {{41, 202032, 4}}, - {{41, 202032, 5}}, - }, - }, - SparkRiskyBusinessLv3: { - ID: 2020303, - Name: "Risky Business", - Description: "A Spark that gives a skill hint for \"Risky Business\".", - Group: 20203, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202032, 1}}, - {{41, 202032, 2}}, - {{41, 202032, 3}}, - {{41, 202032, 4}}, - {{41, 202032, 5}}, - }, - }, - SparkLightasaFeatherLv1: { - ID: 2020401, - Name: "Light as a Feather", - Description: "A Spark that gives a skill hint for \"Light as a Feather\".", - Group: 20204, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202042, 1}}, - {{41, 202042, 2}}, - {{41, 202042, 3}}, - {{41, 202042, 4}}, - {{41, 202042, 5}}, - }, - }, - SparkLightasaFeatherLv2: { - ID: 2020402, - Name: "Light as a Feather", - Description: "A Spark that gives a skill hint for \"Light as a Feather\".", - Group: 20204, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202042, 1}}, - {{41, 202042, 2}}, - {{41, 202042, 3}}, - {{41, 202042, 4}}, - {{41, 202042, 5}}, - }, - }, - SparkLightasaFeatherLv3: { - ID: 2020403, - Name: "Light as a Feather", - Description: "A Spark that gives a skill hint for \"Light as a Feather\".", - Group: 20204, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 202042, 1}}, - {{41, 202042, 2}}, - {{41, 202042, 3}}, - {{41, 202042, 4}}, - {{41, 202042, 5}}, - }, - }, - SparkIgnitedSpiritSPDLv1: { - ID: 2100101, - Name: "Ignited Spirit SPD", - Description: "A Spark that gives a skill hint for \"Ignited Spirit SPD\".", - Group: 21001, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210012, 1}}, - {{41, 210012, 2}}, - {{41, 210012, 3}}, - {{41, 210012, 4}}, - {{41, 210012, 5}}, - }, - }, - SparkIgnitedSpiritSPDLv2: { - ID: 2100102, - Name: "Ignited Spirit SPD", - Description: "A Spark that gives a skill hint for \"Ignited Spirit SPD\".", - Group: 21001, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210012, 1}}, - {{41, 210012, 2}}, - {{41, 210012, 3}}, - {{41, 210012, 4}}, - {{41, 210012, 5}}, - }, - }, - SparkIgnitedSpiritSPDLv3: { - ID: 2100103, - Name: "Ignited Spirit SPD", - Description: "A Spark that gives a skill hint for \"Ignited Spirit SPD\".", - Group: 21001, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210012, 1}}, - {{41, 210012, 2}}, - {{41, 210012, 3}}, - {{41, 210012, 4}}, - {{41, 210012, 5}}, - }, - }, - SparkIgnitedSpiritSTALv1: { - ID: 2100201, - Name: "Ignited Spirit STA", - Description: "A Spark that gives a skill hint for \"Ignited Spirit STA\".", - Group: 21002, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210022, 1}}, - {{41, 210022, 2}}, - {{41, 210022, 3}}, - {{41, 210022, 4}}, - {{41, 210022, 5}}, - }, - }, - SparkIgnitedSpiritSTALv2: { - ID: 2100202, - Name: "Ignited Spirit STA", - Description: "A Spark that gives a skill hint for \"Ignited Spirit STA\".", - Group: 21002, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210022, 1}}, - {{41, 210022, 2}}, - {{41, 210022, 3}}, - {{41, 210022, 4}}, - {{41, 210022, 5}}, - }, - }, - SparkIgnitedSpiritSTALv3: { - ID: 2100203, - Name: "Ignited Spirit STA", - Description: "A Spark that gives a skill hint for \"Ignited Spirit STA\".", - Group: 21002, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210022, 1}}, - {{41, 210022, 2}}, - {{41, 210022, 3}}, - {{41, 210022, 4}}, - {{41, 210022, 5}}, - }, - }, - SparkIgnitedSpiritPWRLv1: { - ID: 2100301, - Name: "Ignited Spirit PWR", - Description: "A Spark that gives a skill hint for \"Ignited Spirit PWR\".", - Group: 21003, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210032, 1}}, - {{41, 210032, 2}}, - {{41, 210032, 3}}, - {{41, 210032, 4}}, - {{41, 210032, 5}}, - }, - }, - SparkIgnitedSpiritPWRLv2: { - ID: 2100302, - Name: "Ignited Spirit PWR", - Description: "A Spark that gives a skill hint for \"Ignited Spirit PWR\".", - Group: 21003, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210032, 1}}, - {{41, 210032, 2}}, - {{41, 210032, 3}}, - {{41, 210032, 4}}, - {{41, 210032, 5}}, - }, - }, - SparkIgnitedSpiritPWRLv3: { - ID: 2100303, - Name: "Ignited Spirit PWR", - Description: "A Spark that gives a skill hint for \"Ignited Spirit PWR\".", - Group: 21003, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210032, 1}}, - {{41, 210032, 2}}, - {{41, 210032, 3}}, - {{41, 210032, 4}}, - {{41, 210032, 5}}, - }, - }, - SparkIgnitedSpiritGUTSLv1: { - ID: 2100401, - Name: "Ignited Spirit GUTS", - Description: "A Spark that gives a skill hint for \"Ignited Spirit GUTS\".", - Group: 21004, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210042, 1}}, - {{41, 210042, 2}}, - {{41, 210042, 3}}, - {{41, 210042, 4}}, - {{41, 210042, 5}}, - }, - }, - SparkIgnitedSpiritGUTSLv2: { - ID: 2100402, - Name: "Ignited Spirit GUTS", - Description: "A Spark that gives a skill hint for \"Ignited Spirit GUTS\".", - Group: 21004, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210042, 1}}, - {{41, 210042, 2}}, - {{41, 210042, 3}}, - {{41, 210042, 4}}, - {{41, 210042, 5}}, - }, - }, - SparkIgnitedSpiritGUTSLv3: { - ID: 2100403, - Name: "Ignited Spirit GUTS", - Description: "A Spark that gives a skill hint for \"Ignited Spirit GUTS\".", - Group: 21004, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210042, 1}}, - {{41, 210042, 2}}, - {{41, 210042, 3}}, - {{41, 210042, 4}}, - {{41, 210042, 5}}, - }, - }, - SparkIgnitedSpiritWITLv1: { - ID: 2100501, - Name: "Ignited Spirit WIT", - Description: "A Spark that gives a skill hint for \"Ignited Spirit WIT\".", - Group: 21005, - Rarity: 1, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210052, 1}}, - {{41, 210052, 2}}, - {{41, 210052, 3}}, - {{41, 210052, 4}}, - {{41, 210052, 5}}, - }, - }, - SparkIgnitedSpiritWITLv2: { - ID: 2100502, - Name: "Ignited Spirit WIT", - Description: "A Spark that gives a skill hint for \"Ignited Spirit WIT\".", - Group: 21005, - Rarity: 2, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210052, 1}}, - {{41, 210052, 2}}, - {{41, 210052, 3}}, - {{41, 210052, 4}}, - {{41, 210052, 5}}, - }, - }, - SparkIgnitedSpiritWITLv3: { - ID: 2100503, - Name: "Ignited Spirit WIT", - Description: "A Spark that gives a skill hint for \"Ignited Spirit WIT\".", - Group: 21005, - Rarity: 3, - Type: 4, - Effects: [][]SparkEffect{ - {{41, 210052, 1}}, - {{41, 210052, 2}}, - {{41, 210052, 3}}, - {{41, 210052, 4}}, - {{41, 210052, 5}}, - }, - }, - SparkURAFinaleLv1: { - ID: 3000101, - Name: "URA Finale", - Description: "A Spark that increases Speed and Stamina.", - Group: 30001, - Rarity: 1, - Type: 6, - Effects: [][]SparkEffect{ - {{1, 10, 0}, {2, 10, 0}}, - {{1, 20, 0}, {2, 20, 0}}, - {{1, 30, 0}, {2, 30, 0}}, - }, - }, - SparkURAFinaleLv2: { - ID: 3000102, - Name: "URA Finale", - Description: "A Spark that increases Speed and Stamina.", - Group: 30001, - Rarity: 2, - Type: 6, - Effects: [][]SparkEffect{ - {{1, 10, 0}, {2, 10, 0}}, - {{1, 20, 0}, {2, 20, 0}}, - {{1, 30, 0}, {2, 30, 0}}, - }, - }, - SparkURAFinaleLv3: { - ID: 3000103, - Name: "URA Finale", - Description: "A Spark that increases Speed and Stamina.", - Group: 30001, - Rarity: 3, - Type: 6, - Effects: [][]SparkEffect{ - {{1, 10, 0}, {2, 10, 0}}, - {{1, 20, 0}, {2, 20, 0}}, - {{1, 30, 0}, {2, 30, 0}}, - }, - }, - SparkUnityCupLv1: { - ID: 3000201, - Name: "Unity Cup", - Description: "A Spark that increases power and wits.", - Group: 30002, - Rarity: 1, - Type: 6, - Effects: [][]SparkEffect{ - {{3, 10, 0}, {5, 10, 0}}, - {{3, 20, 0}, {5, 20, 0}}, - {{3, 30, 0}, {5, 30, 0}}, - }, - }, - SparkUnityCupLv2: { - ID: 3000202, - Name: "Unity Cup", - Description: "A Spark that increases power and wits.", - Group: 30002, - Rarity: 2, - Type: 6, - Effects: [][]SparkEffect{ - {{3, 10, 0}, {5, 10, 0}}, - {{3, 20, 0}, {5, 20, 0}}, - {{3, 30, 0}, {5, 30, 0}}, - }, - }, - SparkUnityCupLv3: { - ID: 3000203, - Name: "Unity Cup", - Description: "A Spark that increases power and wits.", - Group: 30002, - Rarity: 3, - Type: 6, - Effects: [][]SparkEffect{ - {{3, 10, 0}, {5, 10, 0}}, - {{3, 20, 0}, {5, 20, 0}}, - {{3, 30, 0}, {5, 30, 0}}, - }, - }, - SparkShootingStarLv1: { - ID: 10010101, - Name: "Shooting Star", - Description: "A Spark that gives a skill hint for \"Shooting Star\".", - Group: 100101, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900011, 1}}, - {{41, 900011, 2}}, - {{41, 900011, 3}}, - }, - }, - SparkShootingStarLv2: { - ID: 10010102, - Name: "Shooting Star", - Description: "A Spark that gives a skill hint for \"Shooting Star\".", - Group: 100101, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900011, 1}}, - {{41, 900011, 2}}, - {{41, 900011, 3}}, - }, - }, - SparkShootingStarLv3: { - ID: 10010103, - Name: "Shooting Star", - Description: "A Spark that gives a skill hint for \"Shooting Star\".", - Group: 100101, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900011, 1}}, - {{41, 900011, 2}}, - {{41, 900011, 3}}, - }, - }, - SparkDazzlnDiverLv1: { - ID: 10010201, - Name: "Dazzl'n ♪ Diver", - Description: "A Spark that gives a skill hint for \"Dazzl'n ♪ Diver\".", - Group: 100102, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910011, 1}}, - {{41, 910011, 2}}, - {{41, 910011, 3}}, - }, - }, - SparkDazzlnDiverLv2: { - ID: 10010202, - Name: "Dazzl'n ♪ Diver", - Description: "A Spark that gives a skill hint for \"Dazzl'n ♪ Diver\".", - Group: 100102, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910011, 1}}, - {{41, 910011, 2}}, - {{41, 910011, 3}}, - }, - }, - SparkDazzlnDiverLv3: { - ID: 10010203, - Name: "Dazzl'n ♪ Diver", - Description: "A Spark that gives a skill hint for \"Dazzl'n ♪ Diver\".", - Group: 100102, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910011, 1}}, - {{41, 910011, 2}}, - {{41, 910011, 3}}, - }, - }, - SparkTheViewfromtheLeadIsMineLv1: { - ID: 10020101, - Name: "The View from the Lead Is Mine!", - Description: "A Spark that gives a skill hint for \"The View from the Lead Is Mine!\".", - Group: 100201, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900021, 1}}, - {{41, 900021, 2}}, - {{41, 900021, 3}}, - }, - }, - SparkTheViewfromtheLeadIsMineLv2: { - ID: 10020102, - Name: "The View from the Lead Is Mine!", - Description: "A Spark that gives a skill hint for \"The View from the Lead Is Mine!\".", - Group: 100201, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900021, 1}}, - {{41, 900021, 2}}, - {{41, 900021, 3}}, - }, - }, - SparkTheViewfromtheLeadIsMineLv3: { - ID: 10020103, - Name: "The View from the Lead Is Mine!", - Description: "A Spark that gives a skill hint for \"The View from the Lead Is Mine!\".", - Group: 100201, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900021, 1}}, - {{41, 900021, 2}}, - {{41, 900021, 3}}, - }, - }, - SparkSkyHighTeioStepLv1: { - ID: 10030101, - Name: "Sky-High Teio Step", - Description: "A Spark that gives a skill hint for \"Sky-High Teio Step\".", - Group: 100301, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900031, 1}}, - {{41, 900031, 2}}, - {{41, 900031, 3}}, - }, - }, - SparkSkyHighTeioStepLv2: { - ID: 10030102, - Name: "Sky-High Teio Step", - Description: "A Spark that gives a skill hint for \"Sky-High Teio Step\".", - Group: 100301, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900031, 1}}, - {{41, 900031, 2}}, - {{41, 900031, 3}}, - }, - }, - SparkSkyHighTeioStepLv3: { - ID: 10030103, - Name: "Sky-High Teio Step", - Description: "A Spark that gives a skill hint for \"Sky-High Teio Step\".", - Group: 100301, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900031, 1}}, - {{41, 900031, 2}}, - {{41, 900031, 3}}, - }, - }, - SparkCertainVictoryLv1: { - ID: 10030201, - Name: "Certain Victory", - Description: "A Spark that gives a skill hint for \"Certain Victory\".", - Group: 100302, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910031, 1}}, - {{41, 910031, 2}}, - {{41, 910031, 3}}, - }, - }, - SparkCertainVictoryLv2: { - ID: 10030202, - Name: "Certain Victory", - Description: "A Spark that gives a skill hint for \"Certain Victory\".", - Group: 100302, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910031, 1}}, - {{41, 910031, 2}}, - {{41, 910031, 3}}, - }, - }, - SparkCertainVictoryLv3: { - ID: 10030203, - Name: "Certain Victory", - Description: "A Spark that gives a skill hint for \"Certain Victory\".", - Group: 100302, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910031, 1}}, - {{41, 910031, 2}}, - {{41, 910031, 3}}, - }, - }, - SparkRedShiftLP1211MLv1: { - ID: 10040101, - Name: "Red Shift/LP1211-M", - Description: "A Spark that gives a skill hint for \"Red Shift/LP1211-M\".", - Group: 100401, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900041, 1}}, - {{41, 900041, 2}}, - {{41, 900041, 3}}, - }, - }, - SparkRedShiftLP1211MLv2: { - ID: 10040102, - Name: "Red Shift/LP1211-M", - Description: "A Spark that gives a skill hint for \"Red Shift/LP1211-M\".", - Group: 100401, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900041, 1}}, - {{41, 900041, 2}}, - {{41, 900041, 3}}, - }, - }, - SparkRedShiftLP1211MLv3: { - ID: 10040103, - Name: "Red Shift/LP1211-M", - Description: "A Spark that gives a skill hint for \"Red Shift/LP1211-M\".", - Group: 100401, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900041, 1}}, - {{41, 900041, 2}}, - {{41, 900041, 3}}, - }, - }, - SparkAKissforCourageLv1: { - ID: 10040201, - Name: "A Kiss for Courage", - Description: "A Spark that gives a skill hint for \"A Kiss for Courage\".", - Group: 100402, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910041, 1}}, - {{41, 910041, 2}}, - {{41, 910041, 3}}, - }, - }, - SparkAKissforCourageLv2: { - ID: 10040202, - Name: "A Kiss for Courage", - Description: "A Spark that gives a skill hint for \"A Kiss for Courage\".", - Group: 100402, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910041, 1}}, - {{41, 910041, 2}}, - {{41, 910041, 3}}, - }, - }, - SparkAKissforCourageLv3: { - ID: 10040203, - Name: "A Kiss for Courage", - Description: "A Spark that gives a skill hint for \"A Kiss for Courage\".", - Group: 100402, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910041, 1}}, - {{41, 910041, 2}}, - {{41, 910041, 3}}, - }, - }, - SparkLightsofVaudevilleLv1: { - ID: 10050101, - Name: "Lights of Vaudeville", - Description: "A Spark that gives a skill hint for \"Lights of Vaudeville\".", - Group: 100501, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900051, 1}}, - {{41, 900051, 2}}, - {{41, 900051, 3}}, - }, - }, - SparkLightsofVaudevilleLv2: { - ID: 10050102, - Name: "Lights of Vaudeville", - Description: "A Spark that gives a skill hint for \"Lights of Vaudeville\".", - Group: 100501, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900051, 1}}, - {{41, 900051, 2}}, - {{41, 900051, 3}}, - }, - }, - SparkLightsofVaudevilleLv3: { - ID: 10050103, - Name: "Lights of Vaudeville", - Description: "A Spark that gives a skill hint for \"Lights of Vaudeville\".", - Group: 100501, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900051, 1}}, - {{41, 900051, 2}}, - {{41, 900051, 3}}, - }, - }, - SparkTriumphantPulseLv1: { - ID: 10060101, - Name: "Triumphant Pulse", - Description: "A Spark that gives a skill hint for \"Triumphant Pulse\".", - Group: 100601, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900061, 1}}, - {{41, 900061, 2}}, - {{41, 900061, 3}}, - }, - }, - SparkTriumphantPulseLv2: { - ID: 10060102, - Name: "Triumphant Pulse", - Description: "A Spark that gives a skill hint for \"Triumphant Pulse\".", - Group: 100601, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900061, 1}}, - {{41, 900061, 2}}, - {{41, 900061, 3}}, - }, - }, - SparkTriumphantPulseLv3: { - ID: 10060103, - Name: "Triumphant Pulse", - Description: "A Spark that gives a skill hint for \"Triumphant Pulse\".", - Group: 100601, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900061, 1}}, - {{41, 900061, 2}}, - {{41, 900061, 3}}, - }, - }, - SparkFestiveMiracleLv1: { - ID: 10060201, - Name: "Festive Miracle", - Description: "A Spark that gives a skill hint for \"Festive Miracle\".", - Group: 100602, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910061, 1}}, - {{41, 910061, 2}}, - {{41, 910061, 3}}, - }, - }, - SparkFestiveMiracleLv2: { - ID: 10060202, - Name: "Festive Miracle", - Description: "A Spark that gives a skill hint for \"Festive Miracle\".", - Group: 100602, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910061, 1}}, - {{41, 910061, 2}}, - {{41, 910061, 3}}, - }, - }, - SparkFestiveMiracleLv3: { - ID: 10060203, - Name: "Festive Miracle", - Description: "A Spark that gives a skill hint for \"Festive Miracle\".", - Group: 100602, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910061, 1}}, - {{41, 910061, 2}}, - {{41, 910061, 3}}, - }, - }, - SparkAnchorsAweighLv1: { - ID: 10070101, - Name: "Anchors Aweigh!", - Description: "A Spark that gives a skill hint for \"Anchors Aweigh!\".", - Group: 100701, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900071, 1}}, - {{41, 900071, 2}}, - {{41, 900071, 3}}, - }, - }, - SparkAnchorsAweighLv2: { - ID: 10070102, - Name: "Anchors Aweigh!", - Description: "A Spark that gives a skill hint for \"Anchors Aweigh!\".", - Group: 100701, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900071, 1}}, - {{41, 900071, 2}}, - {{41, 900071, 3}}, - }, - }, - SparkAnchorsAweighLv3: { - ID: 10070103, - Name: "Anchors Aweigh!", - Description: "A Spark that gives a skill hint for \"Anchors Aweigh!\".", - Group: 100701, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900071, 1}}, - {{41, 900071, 2}}, - {{41, 900071, 3}}, - }, - }, - SparkCutandDriveLv1: { - ID: 10080101, - Name: "Cut and Drive!", - Description: "A Spark that gives a skill hint for \"Cut and Drive!\".", - Group: 100801, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900081, 1}}, - {{41, 900081, 2}}, - {{41, 900081, 3}}, - }, - }, - SparkCutandDriveLv2: { - ID: 10080102, - Name: "Cut and Drive!", - Description: "A Spark that gives a skill hint for \"Cut and Drive!\".", - Group: 100801, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900081, 1}}, - {{41, 900081, 2}}, - {{41, 900081, 3}}, - }, - }, - SparkCutandDriveLv3: { - ID: 10080103, - Name: "Cut and Drive!", - Description: "A Spark that gives a skill hint for \"Cut and Drive!\".", - Group: 100801, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900081, 1}}, - {{41, 900081, 2}}, - {{41, 900081, 3}}, - }, - }, - SparkResplendentRedAceLv1: { - ID: 10090101, - Name: "Resplendent Red Ace", - Description: "A Spark that gives a skill hint for \"Resplendent Red Ace\".", - Group: 100901, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900091, 1}}, - {{41, 900091, 2}}, - {{41, 900091, 3}}, - }, - }, - SparkResplendentRedAceLv2: { - ID: 10090102, - Name: "Resplendent Red Ace", - Description: "A Spark that gives a skill hint for \"Resplendent Red Ace\".", - Group: 100901, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900091, 1}}, - {{41, 900091, 2}}, - {{41, 900091, 3}}, - }, - }, - SparkResplendentRedAceLv3: { - ID: 10090103, - Name: "Resplendent Red Ace", - Description: "A Spark that gives a skill hint for \"Resplendent Red Ace\".", - Group: 100901, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900091, 1}}, - {{41, 900091, 2}}, - {{41, 900091, 3}}, - }, - }, - SparkShootingforVictoryLv1: { - ID: 10100101, - Name: "Shooting for Victory!", - Description: "A Spark that gives a skill hint for \"Shooting for Victory!\".", - Group: 101001, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900101, 1}}, - {{41, 900101, 2}}, - {{41, 900101, 3}}, - }, - }, - SparkShootingforVictoryLv2: { - ID: 10100102, - Name: "Shooting for Victory!", - Description: "A Spark that gives a skill hint for \"Shooting for Victory!\".", - Group: 101001, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900101, 1}}, - {{41, 900101, 2}}, - {{41, 900101, 3}}, - }, - }, - SparkShootingforVictoryLv3: { - ID: 10100103, - Name: "Shooting for Victory!", - Description: "A Spark that gives a skill hint for \"Shooting for Victory!\".", - Group: 101001, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900101, 1}}, - {{41, 900101, 2}}, - {{41, 900101, 3}}, - }, - }, - SparkWhereTheresaWillTheresaWayLv1: { - ID: 10110101, - Name: "Where There's a Will, There's a Way", - Description: "A Spark that gives a skill hint for \"Where There's a Will, There's a Way\".", - Group: 101101, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900111, 1}}, - {{41, 900111, 2}}, - {{41, 900111, 3}}, - }, - }, - SparkWhereTheresaWillTheresaWayLv2: { - ID: 10110102, - Name: "Where There's a Will, There's a Way", - Description: "A Spark that gives a skill hint for \"Where There's a Will, There's a Way\".", - Group: 101101, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900111, 1}}, - {{41, 900111, 2}}, - {{41, 900111, 3}}, - }, - }, - SparkWhereTheresaWillTheresaWayLv3: { - ID: 10110103, - Name: "Where There's a Will, There's a Way", - Description: "A Spark that gives a skill hint for \"Where There's a Will, There's a Way\".", - Group: 101101, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900111, 1}}, - {{41, 900111, 2}}, - {{41, 900111, 3}}, - }, - }, - SparkSuperiorHealLv1: { - ID: 10110201, - Name: "Superior Heal", - Description: "A Spark that gives a skill hint for \"Superior Heal\".", - Group: 101102, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910111, 1}}, - {{41, 910111, 2}}, - {{41, 910111, 3}}, - }, - }, - SparkSuperiorHealLv2: { - ID: 10110202, - Name: "Superior Heal", - Description: "A Spark that gives a skill hint for \"Superior Heal\".", - Group: 101102, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910111, 1}}, - {{41, 910111, 2}}, - {{41, 910111, 3}}, - }, - }, - SparkSuperiorHealLv3: { - ID: 10110203, - Name: "Superior Heal", - Description: "A Spark that gives a skill hint for \"Superior Heal\".", - Group: 101102, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910111, 1}}, - {{41, 910111, 2}}, - {{41, 910111, 3}}, - }, - }, - SparkYouandMeOneonOneLv1: { - ID: 10120101, - Name: "You and Me! One-on-One!", - Description: "A Spark that gives a skill hint for \"You and Me! One-on-One!\".", - Group: 101201, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900121, 1}}, - {{41, 900121, 2}}, - {{41, 900121, 3}}, - }, - }, - SparkYouandMeOneonOneLv2: { - ID: 10120102, - Name: "You and Me! One-on-One!", - Description: "A Spark that gives a skill hint for \"You and Me! One-on-One!\".", - Group: 101201, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900121, 1}}, - {{41, 900121, 2}}, - {{41, 900121, 3}}, - }, - }, - SparkYouandMeOneonOneLv3: { - ID: 10120103, - Name: "You and Me! One-on-One!", - Description: "A Spark that gives a skill hint for \"You and Me! One-on-One!\".", - Group: 101201, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900121, 1}}, - {{41, 900121, 2}}, - {{41, 900121, 3}}, - }, - }, - SparkTheDutyofDignityCallsLv1: { - ID: 10130101, - Name: "The Duty of Dignity Calls", - Description: "A Spark that gives a skill hint for \"The Duty of Dignity Calls\".", - Group: 101301, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900131, 1}}, - {{41, 900131, 2}}, - {{41, 900131, 3}}, - }, - }, - SparkTheDutyofDignityCallsLv2: { - ID: 10130102, - Name: "The Duty of Dignity Calls", - Description: "A Spark that gives a skill hint for \"The Duty of Dignity Calls\".", - Group: 101301, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900131, 1}}, - {{41, 900131, 2}}, - {{41, 900131, 3}}, - }, - }, - SparkTheDutyofDignityCallsLv3: { - ID: 10130103, - Name: "The Duty of Dignity Calls", - Description: "A Spark that gives a skill hint for \"The Duty of Dignity Calls\".", - Group: 101301, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900131, 1}}, - {{41, 900131, 2}}, - {{41, 900131, 3}}, - }, - }, - SparkLegacyoftheStrongLv1: { - ID: 10130201, - Name: "Legacy of the Strong", - Description: "A Spark that gives a skill hint for \"Legacy of the Strong\".", - Group: 101302, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910131, 1}}, - {{41, 910131, 2}}, - {{41, 910131, 3}}, - }, - }, - SparkLegacyoftheStrongLv2: { - ID: 10130202, - Name: "Legacy of the Strong", - Description: "A Spark that gives a skill hint for \"Legacy of the Strong\".", - Group: 101302, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910131, 1}}, - {{41, 910131, 2}}, - {{41, 910131, 3}}, - }, - }, - SparkLegacyoftheStrongLv3: { - ID: 10130203, - Name: "Legacy of the Strong", - Description: "A Spark that gives a skill hint for \"Legacy of the Strong\".", - Group: 101302, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910131, 1}}, - {{41, 910131, 2}}, - {{41, 910131, 3}}, - }, - }, - SparkVictoriaporplanchaLv1: { - ID: 10140101, - Name: "Victoria por plancha ☆", - Description: "A Spark that gives a skill hint for \"Victoria por plancha ☆\".", - Group: 101401, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900141, 1}}, - {{41, 900141, 2}}, - {{41, 900141, 3}}, - }, - }, - SparkVictoriaporplanchaLv2: { - ID: 10140102, - Name: "Victoria por plancha ☆", - Description: "A Spark that gives a skill hint for \"Victoria por plancha ☆\".", - Group: 101401, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900141, 1}}, - {{41, 900141, 2}}, - {{41, 900141, 3}}, - }, - }, - SparkVictoriaporplanchaLv3: { - ID: 10140103, - Name: "Victoria por plancha ☆", - Description: "A Spark that gives a skill hint for \"Victoria por plancha ☆\".", - Group: 101401, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900141, 1}}, - {{41, 900141, 2}}, - {{41, 900141, 3}}, - }, - }, - SparkCondorsFuryLv1: { - ID: 10140201, - Name: "Condor's Fury", - Description: "A Spark that gives a skill hint for \"Condor's Fury\".", - Group: 101402, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910141, 1}}, - {{41, 910141, 2}}, - {{41, 910141, 3}}, - }, - }, - SparkCondorsFuryLv2: { - ID: 10140202, - Name: "Condor's Fury", - Description: "A Spark that gives a skill hint for \"Condor's Fury\".", - Group: 101402, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910141, 1}}, - {{41, 910141, 2}}, - {{41, 910141, 3}}, - }, - }, - SparkCondorsFuryLv3: { - ID: 10140203, - Name: "Condor's Fury", - Description: "A Spark that gives a skill hint for \"Condor's Fury\".", - Group: 101402, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910141, 1}}, - {{41, 910141, 2}}, - {{41, 910141, 3}}, - }, - }, - SparkThisDanceIsforVittoriaLv1: { - ID: 10150101, - Name: "This Dance Is for Vittoria!", - Description: "A Spark that gives a skill hint for \"This Dance Is for Vittoria!\".", - Group: 101501, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900151, 1}}, - {{41, 900151, 2}}, - {{41, 900151, 3}}, - }, - }, - SparkThisDanceIsforVittoriaLv2: { - ID: 10150102, - Name: "This Dance Is for Vittoria!", - Description: "A Spark that gives a skill hint for \"This Dance Is for Vittoria!\".", - Group: 101501, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900151, 1}}, - {{41, 900151, 2}}, - {{41, 900151, 3}}, - }, - }, - SparkThisDanceIsforVittoriaLv3: { - ID: 10150103, - Name: "This Dance Is for Vittoria!", - Description: "A Spark that gives a skill hint for \"This Dance Is for Vittoria!\".", - Group: 101501, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900151, 1}}, - {{41, 900151, 2}}, - {{41, 900151, 3}}, - }, - }, - SparkBarcaroleofBlessingsLv1: { - ID: 10150201, - Name: "Barcarole of Blessings", - Description: "A Spark that gives a skill hint for \"Barcarole of Blessings\".", - Group: 101502, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910151, 1}}, - {{41, 910151, 2}}, - {{41, 910151, 3}}, - }, - }, - SparkBarcaroleofBlessingsLv2: { - ID: 10150202, - Name: "Barcarole of Blessings", - Description: "A Spark that gives a skill hint for \"Barcarole of Blessings\".", - Group: 101502, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910151, 1}}, - {{41, 910151, 2}}, - {{41, 910151, 3}}, - }, - }, - SparkBarcaroleofBlessingsLv3: { - ID: 10150203, - Name: "Barcarole of Blessings", - Description: "A Spark that gives a skill hint for \"Barcarole of Blessings\".", - Group: 101502, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910151, 1}}, - {{41, 910151, 2}}, - {{41, 910151, 3}}, - }, - }, - SparkShadowBreakLv1: { - ID: 10160101, - Name: "Shadow Break", - Description: "A Spark that gives a skill hint for \"Shadow Break\".", - Group: 101601, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900161, 1}}, - {{41, 900161, 2}}, - {{41, 900161, 3}}, - }, - }, - SparkShadowBreakLv2: { - ID: 10160102, - Name: "Shadow Break", - Description: "A Spark that gives a skill hint for \"Shadow Break\".", - Group: 101601, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900161, 1}}, - {{41, 900161, 2}}, - {{41, 900161, 3}}, - }, - }, - SparkShadowBreakLv3: { - ID: 10160103, - Name: "Shadow Break", - Description: "A Spark that gives a skill hint for \"Shadow Break\".", - Group: 101601, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900161, 1}}, - {{41, 900161, 2}}, - {{41, 900161, 3}}, - }, - }, - SparkBeholdThineEmperorsDivineMightLv1: { - ID: 10170101, - Name: "Behold Thine Emperor's Divine Might", - Description: "A Spark that gives a skill hint for \"Behold Thine Emperor's Divine Might\".", - Group: 101701, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900171, 1}}, - {{41, 900171, 2}}, - {{41, 900171, 3}}, - }, - }, - SparkBeholdThineEmperorsDivineMightLv2: { - ID: 10170102, - Name: "Behold Thine Emperor's Divine Might", - Description: "A Spark that gives a skill hint for \"Behold Thine Emperor's Divine Might\".", - Group: 101701, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900171, 1}}, - {{41, 900171, 2}}, - {{41, 900171, 3}}, - }, - }, - SparkBeholdThineEmperorsDivineMightLv3: { - ID: 10170103, - Name: "Behold Thine Emperor's Divine Might", - Description: "A Spark that gives a skill hint for \"Behold Thine Emperor's Divine Might\".", - Group: 101701, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900171, 1}}, - {{41, 900171, 2}}, - {{41, 900171, 3}}, - }, - }, - SparkArrowsWhistleShadowsDisperseLv1: { - ID: 10170201, - Name: "Arrows Whistle, Shadows Disperse", - Description: "A Spark that gives a skill hint for \"Arrows Whistle, Shadows Disperse\".", - Group: 101702, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910171, 1}}, - {{41, 910171, 2}}, - {{41, 910171, 3}}, - }, - }, - SparkArrowsWhistleShadowsDisperseLv2: { - ID: 10170202, - Name: "Arrows Whistle, Shadows Disperse", - Description: "A Spark that gives a skill hint for \"Arrows Whistle, Shadows Disperse\".", - Group: 101702, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910171, 1}}, - {{41, 910171, 2}}, - {{41, 910171, 3}}, - }, - }, - SparkArrowsWhistleShadowsDisperseLv3: { - ID: 10170203, - Name: "Arrows Whistle, Shadows Disperse", - Description: "A Spark that gives a skill hint for \"Arrows Whistle, Shadows Disperse\".", - Group: 101702, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910171, 1}}, - {{41, 910171, 2}}, - {{41, 910171, 3}}, - }, - }, - SparkBlazingPrideLv1: { - ID: 10180101, - Name: "Blazing Pride", - Description: "A Spark that gives a skill hint for \"Blazing Pride\".", - Group: 101801, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900181, 1}}, - {{41, 900181, 2}}, - {{41, 900181, 3}}, - }, - }, - SparkBlazingPrideLv2: { - ID: 10180102, - Name: "Blazing Pride", - Description: "A Spark that gives a skill hint for \"Blazing Pride\".", - Group: 101801, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900181, 1}}, - {{41, 900181, 2}}, - {{41, 900181, 3}}, - }, - }, - SparkBlazingPrideLv3: { - ID: 10180103, - Name: "Blazing Pride", - Description: "A Spark that gives a skill hint for \"Blazing Pride\".", - Group: 101801, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900181, 1}}, - {{41, 900181, 2}}, - {{41, 900181, 3}}, - }, - }, - SparkEternalMomentsLv1: { - ID: 10180201, - Name: "Eternal Moments", - Description: "A Spark that gives a skill hint for \"Eternal Moments\".", - Group: 101802, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910181, 1}}, - {{41, 910181, 2}}, - {{41, 910181, 3}}, - }, - }, - SparkEternalMomentsLv2: { - ID: 10180202, - Name: "Eternal Moments", - Description: "A Spark that gives a skill hint for \"Eternal Moments\".", - Group: 101802, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910181, 1}}, - {{41, 910181, 2}}, - {{41, 910181, 3}}, - }, - }, - SparkEternalMomentsLv3: { - ID: 10180203, - Name: "Eternal Moments", - Description: "A Spark that gives a skill hint for \"Eternal Moments\".", - Group: 101802, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910181, 1}}, - {{41, 910181, 2}}, - {{41, 910181, 3}}, - }, - }, - SparkOMGTheFinalSprintLv1: { - ID: 10190101, - Name: "OMG! (゚∀゚) The Final Sprint! ☆", - Description: "A Spark that gives a skill hint for \"OMG! (゚∀゚) The Final Sprint! ☆\".", - Group: 101901, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900191, 1}}, - {{41, 900191, 2}}, - {{41, 900191, 3}}, - }, - }, - SparkOMGTheFinalSprintLv2: { - ID: 10190102, - Name: "OMG! (゚∀゚) The Final Sprint! ☆", - Description: "A Spark that gives a skill hint for \"OMG! (゚∀゚) The Final Sprint! ☆\".", - Group: 101901, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900191, 1}}, - {{41, 900191, 2}}, - {{41, 900191, 3}}, - }, - }, - SparkOMGTheFinalSprintLv3: { - ID: 10190103, - Name: "OMG! (゚∀゚) The Final Sprint! ☆", - Description: "A Spark that gives a skill hint for \"OMG! (゚∀゚) The Final Sprint! ☆\".", - Group: 101901, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900191, 1}}, - {{41, 900191, 2}}, - {{41, 900191, 3}}, - }, - }, - SparkAnglingandSchemingLv1: { - ID: 10200101, - Name: "Angling and Scheming", - Description: "A Spark that gives a skill hint for \"Angling and Scheming\".", - Group: 102001, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900201, 1}}, - {{41, 900201, 2}}, - {{41, 900201, 3}}, - }, - }, - SparkAnglingandSchemingLv2: { - ID: 10200102, - Name: "Angling and Scheming", - Description: "A Spark that gives a skill hint for \"Angling and Scheming\".", - Group: 102001, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900201, 1}}, - {{41, 900201, 2}}, - {{41, 900201, 3}}, - }, - }, - SparkAnglingandSchemingLv3: { - ID: 10200103, - Name: "Angling and Scheming", - Description: "A Spark that gives a skill hint for \"Angling and Scheming\".", - Group: 102001, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900201, 1}}, - {{41, 900201, 2}}, - {{41, 900201, 3}}, - }, - }, - SparkWhiteLightningCominThroughLv1: { - ID: 10210101, - Name: "White Lightning Comin' Through!", - Description: "A Spark that gives a skill hint for \"White Lightning Comin' Through!\".", - Group: 102101, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900211, 1}}, - {{41, 900211, 2}}, - {{41, 900211, 3}}, - }, - }, - SparkWhiteLightningCominThroughLv2: { - ID: 10210102, - Name: "White Lightning Comin' Through!", - Description: "A Spark that gives a skill hint for \"White Lightning Comin' Through!\".", - Group: 102101, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900211, 1}}, - {{41, 900211, 2}}, - {{41, 900211, 3}}, - }, - }, - SparkWhiteLightningCominThroughLv3: { - ID: 10210103, - Name: "White Lightning Comin' Through!", - Description: "A Spark that gives a skill hint for \"White Lightning Comin' Through!\".", - Group: 102101, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900211, 1}}, - {{41, 900211, 2}}, - {{41, 900211, 3}}, - }, - }, - SparkFairyTaleLv1: { - ID: 10220101, - Name: "Fairy Tale", - Description: "A Spark that gives a skill hint for \"Fairy Tale\".", - Group: 102201, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900221, 1}}, - {{41, 900221, 2}}, - {{41, 900221, 3}}, - }, - }, - SparkFairyTaleLv2: { - ID: 10220102, - Name: "Fairy Tale", - Description: "A Spark that gives a skill hint for \"Fairy Tale\".", - Group: 102201, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900221, 1}}, - {{41, 900221, 2}}, - {{41, 900221, 3}}, - }, - }, - SparkFairyTaleLv3: { - ID: 10220103, - Name: "Fairy Tale", - Description: "A Spark that gives a skill hint for \"Fairy Tale\".", - Group: 102201, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900221, 1}}, - {{41, 900221, 2}}, - {{41, 900221, 3}}, - }, - }, - SparkWinQEDLv1: { - ID: 10230101, - Name: "∴win Q.E.D.", - Description: "A Spark that gives a skill hint for \"∴win Q.E.D.\".", - Group: 102301, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900231, 1}}, - {{41, 900231, 2}}, - {{41, 900231, 3}}, - }, - }, - SparkWinQEDLv2: { - ID: 10230102, - Name: "∴win Q.E.D.", - Description: "A Spark that gives a skill hint for \"∴win Q.E.D.\".", - Group: 102301, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900231, 1}}, - {{41, 900231, 2}}, - {{41, 900231, 3}}, - }, - }, - SparkWinQEDLv3: { - ID: 10230103, - Name: "∴win Q.E.D.", - Description: "A Spark that gives a skill hint for \"∴win Q.E.D.\".", - Group: 102301, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900231, 1}}, - {{41, 900231, 2}}, - {{41, 900231, 3}}, - }, - }, - SparkPresentsfromXLv1: { - ID: 10230201, - Name: "Presents from X", - Description: "A Spark that gives a skill hint for \"Presents from X\".", - Group: 102302, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910231, 1}}, - {{41, 910231, 2}}, - {{41, 910231, 3}}, - }, - }, - SparkPresentsfromXLv2: { - ID: 10230202, - Name: "Presents from X", - Description: "A Spark that gives a skill hint for \"Presents from X\".", - Group: 102302, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910231, 1}}, - {{41, 910231, 2}}, - {{41, 910231, 3}}, - }, - }, - SparkPresentsfromXLv3: { - ID: 10230203, - Name: "Presents from X", - Description: "A Spark that gives a skill hint for \"Presents from X\".", - Group: 102302, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910231, 1}}, - {{41, 910231, 2}}, - {{41, 910231, 3}}, - }, - }, - SparkFlashyLandingLv1: { - ID: 10240101, - Name: "Flashy☆Landing", - Description: "A Spark that gives a skill hint for \"Flashy☆Landing\".", - Group: 102401, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900241, 1}}, - {{41, 900241, 2}}, - {{41, 900241, 3}}, - }, - }, - SparkFlashyLandingLv2: { - ID: 10240102, - Name: "Flashy☆Landing", - Description: "A Spark that gives a skill hint for \"Flashy☆Landing\".", - Group: 102401, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900241, 1}}, - {{41, 900241, 2}}, - {{41, 900241, 3}}, - }, - }, - SparkFlashyLandingLv3: { - ID: 10240103, - Name: "Flashy☆Landing", - Description: "A Spark that gives a skill hint for \"Flashy☆Landing\".", - Group: 102401, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900241, 1}}, - {{41, 900241, 2}}, - {{41, 900241, 3}}, - }, - }, - SparkFloweryManeuverLv1: { - ID: 10240201, - Name: "Flowery☆Maneuver", - Description: "A Spark that gives a skill hint for \"Flowery☆Maneuver\".", - Group: 102402, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910241, 1}}, - {{41, 910241, 2}}, - {{41, 910241, 3}}, - }, - }, - SparkFloweryManeuverLv2: { - ID: 10240202, - Name: "Flowery☆Maneuver", - Description: "A Spark that gives a skill hint for \"Flowery☆Maneuver\".", - Group: 102402, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910241, 1}}, - {{41, 910241, 2}}, - {{41, 910241, 3}}, - }, - }, - SparkFloweryManeuverLv3: { - ID: 10240203, - Name: "Flowery☆Maneuver", - Description: "A Spark that gives a skill hint for \"Flowery☆Maneuver\".", - Group: 102402, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910241, 1}}, - {{41, 910241, 2}}, - {{41, 910241, 3}}, - }, - }, - SparkChasingafterYouLv1: { - ID: 10250101, - Name: "Chasing after You", - Description: "A Spark that gives a skill hint for \"Chasing after You\".", - Group: 102501, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900251, 1}}, - {{41, 900251, 2}}, - {{41, 900251, 3}}, - }, - }, - SparkChasingafterYouLv2: { - ID: 10250102, - Name: "Chasing after You", - Description: "A Spark that gives a skill hint for \"Chasing after You\".", - Group: 102501, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900251, 1}}, - {{41, 900251, 2}}, - {{41, 900251, 3}}, - }, - }, - SparkChasingafterYouLv3: { - ID: 10250103, - Name: "Chasing after You", - Description: "A Spark that gives a skill hint for \"Chasing after You\".", - Group: 102501, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900251, 1}}, - {{41, 900251, 2}}, - {{41, 900251, 3}}, - }, - }, - SparkG00FirstFInfinityLv1: { - ID: 10260101, - Name: "G00 1st. F∞;", - Description: "A Spark that gives a skill hint for \"G00 1st. F∞;\".", - Group: 102601, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900261, 1}}, - {{41, 900261, 2}}, - {{41, 900261, 3}}, - }, - }, - SparkG00FirstFInfinityLv2: { - ID: 10260102, - Name: "G00 1st. F∞;", - Description: "A Spark that gives a skill hint for \"G00 1st. F∞;\".", - Group: 102601, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900261, 1}}, - {{41, 900261, 2}}, - {{41, 900261, 3}}, - }, - }, - SparkG00FirstFInfinityLv3: { - ID: 10260103, - Name: "G00 1st. F∞;", - Description: "A Spark that gives a skill hint for \"G00 1st. F∞;\".", - Group: 102601, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900261, 1}}, - {{41, 900261, 2}}, - {{41, 900261, 3}}, - }, - }, - SparkOperationCacaoLv1: { - ID: 10260201, - Name: "Operation Cacao", - Description: "A Spark that gives a skill hint for \"Operation Cacao\".", - Group: 102602, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910261, 1}}, - {{41, 910261, 2}}, - {{41, 910261, 3}}, - }, - }, - SparkOperationCacaoLv2: { - ID: 10260202, - Name: "Operation Cacao", - Description: "A Spark that gives a skill hint for \"Operation Cacao\".", - Group: 102602, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910261, 1}}, - {{41, 910261, 2}}, - {{41, 910261, 3}}, - }, - }, - SparkOperationCacaoLv3: { - ID: 10260203, - Name: "Operation Cacao", - Description: "A Spark that gives a skill hint for \"Operation Cacao\".", - Group: 102602, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910261, 1}}, - {{41, 910261, 2}}, - {{41, 910261, 3}}, - }, - }, - SparkLetsPumpSomeIronLv1: { - ID: 10270101, - Name: "Let's Pump Some Iron!", - Description: "A Spark that gives a skill hint for \"Let's Pump Some Iron!\".", - Group: 102701, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900271, 1}}, - {{41, 900271, 2}}, - {{41, 900271, 3}}, - }, - }, - SparkLetsPumpSomeIronLv2: { - ID: 10270102, - Name: "Let's Pump Some Iron!", - Description: "A Spark that gives a skill hint for \"Let's Pump Some Iron!\".", - Group: 102701, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900271, 1}}, - {{41, 900271, 2}}, - {{41, 900271, 3}}, - }, - }, - SparkLetsPumpSomeIronLv3: { - ID: 10270103, - Name: "Let's Pump Some Iron!", - Description: "A Spark that gives a skill hint for \"Let's Pump Some Iron!\".", - Group: 102701, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900271, 1}}, - {{41, 900271, 2}}, - {{41, 900271, 3}}, - }, - }, - SparkYUMMYSPEEDLv1: { - ID: 10280101, - Name: "YUMMY☆SPEED!", - Description: "A Spark that gives a skill hint for \"YUMMY☆SPEED!\".", - Group: 102801, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900281, 1}}, - {{41, 900281, 2}}, - {{41, 900281, 3}}, - }, - }, - SparkYUMMYSPEEDLv2: { - ID: 10280102, - Name: "YUMMY☆SPEED!", - Description: "A Spark that gives a skill hint for \"YUMMY☆SPEED!\".", - Group: 102801, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900281, 1}}, - {{41, 900281, 2}}, - {{41, 900281, 3}}, - }, - }, - SparkYUMMYSPEEDLv3: { - ID: 10280103, - Name: "YUMMY☆SPEED!", - Description: "A Spark that gives a skill hint for \"YUMMY☆SPEED!\".", - Group: 102801, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900281, 1}}, - {{41, 900281, 2}}, - {{41, 900281, 3}}, - }, - }, - SparkBlueRoseCloserLv1: { - ID: 10300101, - Name: "Blue Rose Closer", - Description: "A Spark that gives a skill hint for \"Blue Rose Closer\".", - Group: 103001, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900301, 1}}, - {{41, 900301, 2}}, - {{41, 900301, 3}}, - }, - }, - SparkBlueRoseCloserLv2: { - ID: 10300102, - Name: "Blue Rose Closer", - Description: "A Spark that gives a skill hint for \"Blue Rose Closer\".", - Group: 103001, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900301, 1}}, - {{41, 900301, 2}}, - {{41, 900301, 3}}, - }, - }, - SparkBlueRoseCloserLv3: { - ID: 10300103, - Name: "Blue Rose Closer", - Description: "A Spark that gives a skill hint for \"Blue Rose Closer\".", - Group: 103001, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900301, 1}}, - {{41, 900301, 2}}, - {{41, 900301, 3}}, - }, - }, - SparkEveryRoseHasItsFangsLv1: { - ID: 10300201, - Name: "Every Rose Has Its Fangs", - Description: "A Spark that gives a skill hint for \"Every Rose Has Its Fangs\".", - Group: 103002, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910301, 1}}, - {{41, 910301, 2}}, - {{41, 910301, 3}}, - }, - }, - SparkEveryRoseHasItsFangsLv2: { - ID: 10300202, - Name: "Every Rose Has Its Fangs", - Description: "A Spark that gives a skill hint for \"Every Rose Has Its Fangs\".", - Group: 103002, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910301, 1}}, - {{41, 910301, 2}}, - {{41, 910301, 3}}, - }, - }, - SparkEveryRoseHasItsFangsLv3: { - ID: 10300203, - Name: "Every Rose Has Its Fangs", - Description: "A Spark that gives a skill hint for \"Every Rose Has Its Fangs\".", - Group: 103002, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910301, 1}}, - {{41, 910301, 2}}, - {{41, 910301, 3}}, - }, - }, - SparkUma2Lv1: { - ID: 10320101, - Name: "U=ma2", - Description: "A Spark that gives a skill hint for \"U=ma2\".", - Group: 103201, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900321, 1}}, - {{41, 900321, 2}}, - {{41, 900321, 3}}, - }, - }, - SparkUma2Lv2: { - ID: 10320102, - Name: "U=ma2", - Description: "A Spark that gives a skill hint for \"U=ma2\".", - Group: 103201, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900321, 1}}, - {{41, 900321, 2}}, - {{41, 900321, 3}}, - }, - }, - SparkUma2Lv3: { - ID: 10320103, - Name: "U=ma2", - Description: "A Spark that gives a skill hint for \"U=ma2\".", - Group: 103201, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900321, 1}}, - {{41, 900321, 2}}, - {{41, 900321, 3}}, - }, - }, - SparkShootingStarofDioskouroiLv1: { - ID: 10330101, - Name: "Shooting Star of Dioskouroi", - Description: "A Spark that gives a skill hint for \"Shooting Star of Dioskouroi\".", - Group: 103301, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900331, 1}}, - {{41, 900331, 2}}, - {{41, 900331, 3}}, - }, - }, - SparkShootingStarofDioskouroiLv2: { - ID: 10330102, - Name: "Shooting Star of Dioskouroi", - Description: "A Spark that gives a skill hint for \"Shooting Star of Dioskouroi\".", - Group: 103301, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900331, 1}}, - {{41, 900331, 2}}, - {{41, 900331, 3}}, - }, - }, - SparkShootingStarofDioskouroiLv3: { - ID: 10330103, - Name: "Shooting Star of Dioskouroi", - Description: "A Spark that gives a skill hint for \"Shooting Star of Dioskouroi\".", - Group: 103301, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900331, 1}}, - {{41, 900331, 2}}, - {{41, 900331, 3}}, - }, - }, - SparkOurTickettoWinLv1: { - ID: 10350101, - Name: "Our Ticket to Win!", - Description: "A Spark that gives a skill hint for \"Our Ticket to Win!\".", - Group: 103501, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900351, 1}}, - {{41, 900351, 2}}, - {{41, 900351, 3}}, - }, - }, - SparkOurTickettoWinLv2: { - ID: 10350102, - Name: "Our Ticket to Win!", - Description: "A Spark that gives a skill hint for \"Our Ticket to Win!\".", - Group: 103501, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900351, 1}}, - {{41, 900351, 2}}, - {{41, 900351, 3}}, - }, - }, - SparkOurTickettoWinLv3: { - ID: 10350103, - Name: "Our Ticket to Win!", - Description: "A Spark that gives a skill hint for \"Our Ticket to Win!\".", - Group: 103501, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900351, 1}}, - {{41, 900351, 2}}, - {{41, 900351, 3}}, - }, - }, - SparkSchwarzesSchwertLv1: { - ID: 10370101, - Name: "Schwarzes Schwert", - Description: "A Spark that gives a skill hint for \"Schwarzes Schwert\".", - Group: 103701, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900371, 1}}, - {{41, 900371, 2}}, - {{41, 900371, 3}}, - }, - }, - SparkSchwarzesSchwertLv2: { - ID: 10370102, - Name: "Schwarzes Schwert", - Description: "A Spark that gives a skill hint for \"Schwarzes Schwert\".", - Group: 103701, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900371, 1}}, - {{41, 900371, 2}}, - {{41, 900371, 3}}, - }, - }, - SparkSchwarzesSchwertLv3: { - ID: 10370103, - Name: "Schwarzes Schwert", - Description: "A Spark that gives a skill hint for \"Schwarzes Schwert\".", - Group: 103701, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900371, 1}}, - {{41, 900371, 2}}, - {{41, 900371, 3}}, - }, - }, - SparkGutenAppetitLv1: { - ID: 10370201, - Name: "Guten Appetit ♪", - Description: "A Spark that gives a skill hint for \"Guten Appetit ♪\".", - Group: 103702, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910371, 1}}, - {{41, 910371, 2}}, - {{41, 910371, 3}}, - }, - }, - SparkGutenAppetitLv2: { - ID: 10370202, - Name: "Guten Appetit ♪", - Description: "A Spark that gives a skill hint for \"Guten Appetit ♪\".", - Group: 103702, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910371, 1}}, - {{41, 910371, 2}}, - {{41, 910371, 3}}, - }, - }, - SparkGutenAppetitLv3: { - ID: 10370203, - Name: "Guten Appetit ♪", - Description: "A Spark that gives a skill hint for \"Guten Appetit ♪\".", - Group: 103702, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910371, 1}}, - {{41, 910371, 2}}, - {{41, 910371, 3}}, - }, - }, - SparkLookatCurrenLv1: { - ID: 10380101, - Name: "#LookatCurren", - Description: "A Spark that gives a skill hint for \"#LookatCurren\".", - Group: 103801, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900381, 1}}, - {{41, 900381, 2}}, - {{41, 900381, 3}}, - }, - }, - SparkLookatCurrenLv2: { - ID: 10380102, - Name: "#LookatCurren", - Description: "A Spark that gives a skill hint for \"#LookatCurren\".", - Group: 103801, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900381, 1}}, - {{41, 900381, 2}}, - {{41, 900381, 3}}, - }, - }, - SparkLookatCurrenLv3: { - ID: 10380103, - Name: "#LookatCurren", - Description: "A Spark that gives a skill hint for \"#LookatCurren\".", - Group: 103801, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900381, 1}}, - {{41, 900381, 2}}, - {{41, 900381, 3}}, - }, - }, - SparkAPrincessMustSeizeVictoryLv1: { - ID: 10390101, - Name: "A Princess Must Seize Victory!", - Description: "A Spark that gives a skill hint for \"A Princess Must Seize Victory!\".", - Group: 103901, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900391, 1}}, - {{41, 900391, 2}}, - {{41, 900391, 3}}, - }, - }, - SparkAPrincessMustSeizeVictoryLv2: { - ID: 10390102, - Name: "A Princess Must Seize Victory!", - Description: "A Spark that gives a skill hint for \"A Princess Must Seize Victory!\".", - Group: 103901, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900391, 1}}, - {{41, 900391, 2}}, - {{41, 900391, 3}}, - }, - }, - SparkAPrincessMustSeizeVictoryLv3: { - ID: 10390103, - Name: "A Princess Must Seize Victory!", - Description: "A Spark that gives a skill hint for \"A Princess Must Seize Victory!\".", - Group: 103901, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900391, 1}}, - {{41, 900391, 2}}, - {{41, 900391, 3}}, - }, - }, - SparkKEEPITREALLv1: { - ID: 10400101, - Name: "KEEP IT REAL.", - Description: "A Spark that gives a skill hint for \"KEEP IT REAL.\".", - Group: 104001, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900401, 1}}, - {{41, 900401, 2}}, - {{41, 900401, 3}}, - }, - }, - SparkKEEPITREALLv2: { - ID: 10400102, - Name: "KEEP IT REAL.", - Description: "A Spark that gives a skill hint for \"KEEP IT REAL.\".", - Group: 104001, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900401, 1}}, - {{41, 900401, 2}}, - {{41, 900401, 3}}, - }, - }, - SparkKEEPITREALLv3: { - ID: 10400103, - Name: "KEEP IT REAL.", - Description: "A Spark that gives a skill hint for \"KEEP IT REAL.\".", - Group: 104001, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900401, 1}}, - {{41, 900401, 2}}, - {{41, 900401, 3}}, - }, - }, - SparkDancingintheLeavesLv1: { - ID: 10400201, - Name: "Dancing in the Leaves", - Description: "A Spark that gives a skill hint for \"Dancing in the Leaves\".", - Group: 104002, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910401, 1}}, - {{41, 910401, 2}}, - {{41, 910401, 3}}, - }, - }, - SparkDancingintheLeavesLv2: { - ID: 10400202, - Name: "Dancing in the Leaves", - Description: "A Spark that gives a skill hint for \"Dancing in the Leaves\".", - Group: 104002, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910401, 1}}, - {{41, 910401, 2}}, - {{41, 910401, 3}}, - }, - }, - SparkDancingintheLeavesLv3: { - ID: 10400203, - Name: "Dancing in the Leaves", - Description: "A Spark that gives a skill hint for \"Dancing in the Leaves\".", - Group: 104002, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910401, 1}}, - {{41, 910401, 2}}, - {{41, 910401, 3}}, - }, - }, - SparkGeniusxBakushinVictoryLv1: { - ID: 10410101, - Name: "Genius x Bakushin = Victory", - Description: "A Spark that gives a skill hint for \"Genius x Bakushin = Victory\".", - Group: 104101, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900411, 1}}, - {{41, 900411, 2}}, - {{41, 900411, 3}}, - }, - }, - SparkGeniusxBakushinVictoryLv2: { - ID: 10410102, - Name: "Genius x Bakushin = Victory", - Description: "A Spark that gives a skill hint for \"Genius x Bakushin = Victory\".", - Group: 104101, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900411, 1}}, - {{41, 900411, 2}}, - {{41, 900411, 3}}, - }, - }, - SparkGeniusxBakushinVictoryLv3: { - ID: 10410103, - Name: "Genius x Bakushin = Victory", - Description: "A Spark that gives a skill hint for \"Genius x Bakushin = Victory\".", - Group: 104101, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900411, 1}}, - {{41, 900411, 2}}, - {{41, 900411, 3}}, - }, - }, - SparkPureHeartLv1: { - ID: 10450101, - Name: "Pure Heart", - Description: "A Spark that gives a skill hint for \"Pure Heart\".", - Group: 104501, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900451, 1}}, - {{41, 900451, 2}}, - {{41, 900451, 3}}, - }, - }, - SparkPureHeartLv2: { - ID: 10450102, - Name: "Pure Heart", - Description: "A Spark that gives a skill hint for \"Pure Heart\".", - Group: 104501, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900451, 1}}, - {{41, 900451, 2}}, - {{41, 900451, 3}}, - }, - }, - SparkPureHeartLv3: { - ID: 10450103, - Name: "Pure Heart", - Description: "A Spark that gives a skill hint for \"Pure Heart\".", - Group: 104501, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900451, 1}}, - {{41, 900451, 2}}, - {{41, 900451, 3}}, - }, - }, - SparkGiveMummyaHugLv1: { - ID: 10450201, - Name: "Give Mummy a Hug ♡", - Description: "A Spark that gives a skill hint for \"Give Mummy a Hug ♡\".", - Group: 104502, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910451, 1}}, - {{41, 910451, 2}}, - {{41, 910451, 3}}, - }, - }, - SparkGiveMummyaHugLv2: { - ID: 10450202, - Name: "Give Mummy a Hug ♡", - Description: "A Spark that gives a skill hint for \"Give Mummy a Hug ♡\".", - Group: 104502, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910451, 1}}, - {{41, 910451, 2}}, - {{41, 910451, 3}}, - }, - }, - SparkGiveMummyaHugLv3: { - ID: 10450203, - Name: "Give Mummy a Hug ♡", - Description: "A Spark that gives a skill hint for \"Give Mummy a Hug ♡\".", - Group: 104502, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910451, 1}}, - {{41, 910451, 2}}, - {{41, 910451, 3}}, - }, - }, - SparkSPARKLYSTARDOMLv1: { - ID: 10460101, - Name: "SPARKLY☆STARDOM", - Description: "A Spark that gives a skill hint for \"SPARKLY☆STARDOM\".", - Group: 104601, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900461, 1}}, - {{41, 900461, 2}}, - {{41, 900461, 3}}, - }, - }, - SparkSPARKLYSTARDOMLv2: { - ID: 10460102, - Name: "SPARKLY☆STARDOM", - Description: "A Spark that gives a skill hint for \"SPARKLY☆STARDOM\".", - Group: 104601, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900461, 1}}, - {{41, 900461, 2}}, - {{41, 900461, 3}}, - }, - }, - SparkSPARKLYSTARDOMLv3: { - ID: 10460103, - Name: "SPARKLY☆STARDOM", - Description: "A Spark that gives a skill hint for \"SPARKLY☆STARDOM\".", - Group: 104601, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900461, 1}}, - {{41, 900461, 2}}, - {{41, 900461, 3}}, - }, - }, - SparkPopAndPolishLv1: { - ID: 10480101, - Name: "Pop & Polish", - Description: "A Spark that gives a skill hint for \"Pop & Polish\".", - Group: 104801, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900481, 1}}, - {{41, 900481, 2}}, - {{41, 900481, 3}}, - }, - }, - SparkPopAndPolishLv2: { - ID: 10480102, - Name: "Pop & Polish", - Description: "A Spark that gives a skill hint for \"Pop & Polish\".", - Group: 104801, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900481, 1}}, - {{41, 900481, 2}}, - {{41, 900481, 3}}, - }, - }, - SparkPopAndPolishLv3: { - ID: 10480103, - Name: "Pop & Polish", - Description: "A Spark that gives a skill hint for \"Pop & Polish\".", - Group: 104801, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900481, 1}}, - {{41, 900481, 2}}, - {{41, 900481, 3}}, - }, - }, - SparkNemesisLv1: { - ID: 10500101, - Name: "Nemesis", - Description: "A Spark that gives a skill hint for \"Nemesis\".", - Group: 105001, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900501, 1}}, - {{41, 900501, 2}}, - {{41, 900501, 3}}, - }, - }, - SparkNemesisLv2: { - ID: 10500102, - Name: "Nemesis", - Description: "A Spark that gives a skill hint for \"Nemesis\".", - Group: 105001, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900501, 1}}, - {{41, 900501, 2}}, - {{41, 900501, 3}}, - }, - }, - SparkNemesisLv3: { - ID: 10500103, - Name: "Nemesis", - Description: "A Spark that gives a skill hint for \"Nemesis\".", - Group: 105001, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900501, 1}}, - {{41, 900501, 2}}, - {{41, 900501, 3}}, - }, - }, - SparkSuperDuperClimaxLv1: { - ID: 10520101, - Name: "Super-Duper Climax", - Description: "A Spark that gives a skill hint for \"Super-Duper Climax\".", - Group: 105201, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900521, 1}}, - {{41, 900521, 2}}, - {{41, 900521, 3}}, - }, - }, - SparkSuperDuperClimaxLv2: { - ID: 10520102, - Name: "Super-Duper Climax", - Description: "A Spark that gives a skill hint for \"Super-Duper Climax\".", - Group: 105201, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900521, 1}}, - {{41, 900521, 2}}, - {{41, 900521, 3}}, - }, - }, - SparkSuperDuperClimaxLv3: { - ID: 10520103, - Name: "Super-Duper Climax", - Description: "A Spark that gives a skill hint for \"Super-Duper Climax\".", - Group: 105201, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900521, 1}}, - {{41, 900521, 2}}, - {{41, 900521, 3}}, - }, - }, - Spark114thTimestheCharmLv1: { - ID: 10520201, - Name: "114th Time's the Charm", - Description: "A Spark that gives a skill hint for \"114th Time's the Charm\".", - Group: 105202, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910521, 1}}, - {{41, 910521, 2}}, - {{41, 910521, 3}}, - }, - }, - Spark114thTimestheCharmLv2: { - ID: 10520202, - Name: "114th Time's the Charm", - Description: "A Spark that gives a skill hint for \"114th Time's the Charm\".", - Group: 105202, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910521, 1}}, - {{41, 910521, 2}}, - {{41, 910521, 3}}, - }, - }, - Spark114thTimestheCharmLv3: { - ID: 10520203, - Name: "114th Time's the Charm", - Description: "A Spark that gives a skill hint for \"114th Time's the Charm\".", - Group: 105202, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910521, 1}}, - {{41, 910521, 2}}, - {{41, 910521, 3}}, - }, - }, - SparkISeeVictoryinMyFutureLv1: { - ID: 10560101, - Name: "I See Victory in My Future!", - Description: "A Spark that gives a skill hint for \"I See Victory in My Future!\".", - Group: 105601, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900561, 1}}, - {{41, 900561, 2}}, - {{41, 900561, 3}}, - }, - }, - SparkISeeVictoryinMyFutureLv2: { - ID: 10560102, - Name: "I See Victory in My Future!", - Description: "A Spark that gives a skill hint for \"I See Victory in My Future!\".", - Group: 105601, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900561, 1}}, - {{41, 900561, 2}}, - {{41, 900561, 3}}, - }, - }, - SparkISeeVictoryinMyFutureLv3: { - ID: 10560103, - Name: "I See Victory in My Future!", - Description: "A Spark that gives a skill hint for \"I See Victory in My Future!\".", - Group: 105601, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900561, 1}}, - {{41, 900561, 2}}, - {{41, 900561, 3}}, - }, - }, - SparkBountifulHarvestLv1: { - ID: 10560201, - Name: "Bountiful Harvest", - Description: "A Spark that gives a skill hint for \"Bountiful Harvest\".", - Group: 105602, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910561, 1}}, - {{41, 910561, 2}}, - {{41, 910561, 3}}, - }, - }, - SparkBountifulHarvestLv2: { - ID: 10560202, - Name: "Bountiful Harvest", - Description: "A Spark that gives a skill hint for \"Bountiful Harvest\".", - Group: 105602, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910561, 1}}, - {{41, 910561, 2}}, - {{41, 910561, 3}}, - }, - }, - SparkBountifulHarvestLv3: { - ID: 10560203, - Name: "Bountiful Harvest", - Description: "A Spark that gives a skill hint for \"Bountiful Harvest\".", - Group: 105602, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 910561, 1}}, - {{41, 910561, 2}}, - {{41, 910561, 3}}, - }, - }, - SparkINeverGoofUpLv1: { - ID: 10580101, - Name: "I Never Goof Up!", - Description: "A Spark that gives a skill hint for \"I Never Goof Up!\".", - Group: 105801, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900581, 1}}, - {{41, 900581, 2}}, - {{41, 900581, 3}}, - }, - }, - SparkINeverGoofUpLv2: { - ID: 10580102, - Name: "I Never Goof Up!", - Description: "A Spark that gives a skill hint for \"I Never Goof Up!\".", - Group: 105801, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900581, 1}}, - {{41, 900581, 2}}, - {{41, 900581, 3}}, - }, - }, - SparkINeverGoofUpLv3: { - ID: 10580103, - Name: "I Never Goof Up!", - Description: "A Spark that gives a skill hint for \"I Never Goof Up!\".", - Group: 105801, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900581, 1}}, - {{41, 900581, 2}}, - {{41, 900581, 3}}, - }, - }, - SparkMovingPastandBeyondLv1: { - ID: 10590101, - Name: "Moving Past, and Beyond", - Description: "A Spark that gives a skill hint for \"Moving Past, and Beyond\".", - Group: 105901, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900591, 1}}, - {{41, 900591, 2}}, - {{41, 900591, 3}}, - }, - }, - SparkMovingPastandBeyondLv2: { - ID: 10590102, - Name: "Moving Past, and Beyond", - Description: "A Spark that gives a skill hint for \"Moving Past, and Beyond\".", - Group: 105901, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900591, 1}}, - {{41, 900591, 2}}, - {{41, 900591, 3}}, - }, - }, - SparkMovingPastandBeyondLv3: { - ID: 10590103, - Name: "Moving Past, and Beyond", - Description: "A Spark that gives a skill hint for \"Moving Past, and Beyond\".", - Group: 105901, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900591, 1}}, - {{41, 900591, 2}}, - {{41, 900591, 3}}, - }, - }, - SparkJustaLittleFartherLv1: { - ID: 10600101, - Name: "Just a Little Farther!", - Description: "A Spark that gives a skill hint for \"Just a Little Farther!\".", - Group: 106001, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900601, 1}}, - {{41, 900601, 2}}, - {{41, 900601, 3}}, - }, - }, - SparkJustaLittleFartherLv2: { - ID: 10600102, - Name: "Just a Little Farther!", - Description: "A Spark that gives a skill hint for \"Just a Little Farther!\".", - Group: 106001, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900601, 1}}, - {{41, 900601, 2}}, - {{41, 900601, 3}}, - }, - }, - SparkJustaLittleFartherLv3: { - ID: 10600103, - Name: "Just a Little Farther!", - Description: "A Spark that gives a skill hint for \"Just a Little Farther!\".", - Group: 106001, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900601, 1}}, - {{41, 900601, 2}}, - {{41, 900601, 3}}, - }, - }, - SparkPridefulKingLv1: { - ID: 10610101, - Name: "Prideful King", - Description: "A Spark that gives a skill hint for \"Prideful King\".", - Group: 106101, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900611, 1}}, - {{41, 900611, 2}}, - {{41, 900611, 3}}, - }, - }, - SparkPridefulKingLv2: { - ID: 10610102, - Name: "Prideful King", - Description: "A Spark that gives a skill hint for \"Prideful King\".", - Group: 106101, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900611, 1}}, - {{41, 900611, 2}}, - {{41, 900611, 3}}, - }, - }, - SparkPridefulKingLv3: { - ID: 10610103, - Name: "Prideful King", - Description: "A Spark that gives a skill hint for \"Prideful King\".", - Group: 106101, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900611, 1}}, - {{41, 900611, 2}}, - {{41, 900611, 3}}, - }, - }, - SparkAmbitiontoSurpasstheSakuraLv1: { - ID: 10690101, - Name: "Ambition to Surpass the Sakura", - Description: "A Spark that gives a skill hint for \"Ambition to Surpass the Sakura\".", - Group: 106901, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900691, 1}}, - {{41, 900691, 2}}, - {{41, 900691, 3}}, - }, - }, - SparkAmbitiontoSurpasstheSakuraLv2: { - ID: 10690102, - Name: "Ambition to Surpass the Sakura", - Description: "A Spark that gives a skill hint for \"Ambition to Surpass the Sakura\".", - Group: 106901, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900691, 1}}, - {{41, 900691, 2}}, - {{41, 900691, 3}}, - }, - }, - SparkAmbitiontoSurpasstheSakuraLv3: { - ID: 10690103, - Name: "Ambition to Surpass the Sakura", - Description: "A Spark that gives a skill hint for \"Ambition to Surpass the Sakura\".", - Group: 106901, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900691, 1}}, - {{41, 900691, 2}}, - {{41, 900691, 3}}, - }, - }, - SparkALifelongDreamAMomentsFlightLv1: { - ID: 10710101, - Name: "A Lifelong Dream, A Moment's Flight", - Description: "A Spark that gives a skill hint for \"A Lifelong Dream, A Moment's Flight\".", - Group: 107101, - Rarity: 1, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900711, 1}}, - {{41, 900711, 2}}, - {{41, 900711, 3}}, - }, - }, - SparkALifelongDreamAMomentsFlightLv2: { - ID: 10710102, - Name: "A Lifelong Dream, A Moment's Flight", - Description: "A Spark that gives a skill hint for \"A Lifelong Dream, A Moment's Flight\".", - Group: 107101, - Rarity: 2, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900711, 1}}, - {{41, 900711, 2}}, - {{41, 900711, 3}}, - }, - }, - SparkALifelongDreamAMomentsFlightLv3: { - ID: 10710103, - Name: "A Lifelong Dream, A Moment's Flight", - Description: "A Spark that gives a skill hint for \"A Lifelong Dream, A Moment's Flight\".", - Group: 107101, - Rarity: 3, - Type: 3, - Effects: [][]SparkEffect{ - {{41, 900711, 1}}, - {{41, 900711, 2}}, - {{41, 900711, 3}}, - }, - }, -} diff --git a/horse/global/spark.kk b/horse/global/spark.kk deleted file mode 100644 index bfb8ccf..0000000 --- a/horse/global/spark.kk +++ /dev/null @@ -1,9844 +0,0 @@ -module horse/global/spark - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import horse/game-id -pub import horse/spark - -extern create-id-table(): vector - c inline "int32_t arr[] = {101,102,103,201,202,203,301,302,303,401,402,403,501,502,503,1101,1102,1103,1201,1202,1203,2101,2102,2103,2201,2202,2203,2301,2302,2303,2401,2402,2403,3101,3102,3103,3201,3202,3203,3301,3302,3303,3401,3402,3403,1000101,1000102,1000103,1000201,1000202,1000203,1000301,1000302,1000303,1000401,1000402,1000403,1000501,1000502,1000503,1000601,1000602,1000603,1000701,1000702,1000703,1000801,1000802,1000803,1000901,1000902,1000903,1001001,1001002,1001003,1001101,1001102,1001103,1001201,1001202,1001203,1001301,1001302,1001303,1001401,1001402,1001403,1001501,1001502,1001503,1001601,1001602,1001603,1001701,1001702,1001703,1001801,1001802,1001803,1001901,1001902,1001903,1002001,1002002,1002003,1002101,1002102,1002103,1002201,1002202,1002203,1002301,1002302,1002303,1002401,1002402,1002403,1002501,1002502,1002503,1002601,1002602,1002603,1002701,1002702,1002703,1002801,1002802,1002803,1002901,1002902,1002903,1003001,1003002,1003003,2000101,2000102,2000103,2000201,2000202,2000203,2000301,2000302,2000303,2000401,2000402,2000403,2000501,2000502,2000503,2000601,2000602,2000603,2000701,2000702,2000703,2000801,2000802,2000803,2000901,2000902,2000903,2001001,2001002,2001003,2001101,2001102,2001103,2001201,2001202,2001203,2001301,2001302,2001303,2001401,2001402,2001403,2001501,2001502,2001503,2001601,2001602,2001603,2001701,2001702,2001703,2001801,2001802,2001803,2001901,2001902,2001903,2002001,2002002,2002003,2002101,2002102,2002103,2002201,2002202,2002203,2002301,2002302,2002303,2002401,2002402,2002403,2002501,2002502,2002503,2002601,2002602,2002603,2002701,2002702,2002703,2002801,2002802,2002803,2002901,2002902,2002903,2003001,2003002,2003003,2003301,2003302,2003303,2003401,2003402,2003403,2003501,2003502,2003503,2003601,2003602,2003603,2003701,2003702,2003703,2003801,2003802,2003803,2004301,2004302,2004303,2004401,2004402,2004403,2004501,2004502,2004503,2004601,2004602,2004603,2004701,2004702,2004703,2004801,2004802,2004803,2004901,2004902,2004903,2005001,2005002,2005003,2005101,2005102,2005103,2005301,2005302,2005303,2005401,2005402,2005403,2005501,2005502,2005503,2005601,2005602,2005603,2005701,2005702,2005703,2005801,2005802,2005803,2005901,2005902,2005903,2006001,2006002,2006003,2006101,2006102,2006103,2006201,2006202,2006203,2006301,2006302,2006303,2006401,2006402,2006403,2006501,2006502,2006503,2006601,2006602,2006603,2006701,2006702,2006703,2006801,2006802,2006803,2006901,2006902,2006903,2007001,2007002,2007003,2007101,2007102,2007103,2007201,2007202,2007203,2007301,2007302,2007303,2007401,2007402,2007403,2007501,2007502,2007503,2007601,2007602,2007603,2007701,2007702,2007703,2007801,2007802,2007803,2007901,2007902,2007903,2008001,2008002,2008003,2008101,2008102,2008103,2008201,2008202,2008203,2008301,2008302,2008303,2008401,2008402,2008403,2008501,2008502,2008503,2008601,2008602,2008603,2008701,2008702,2008703,2008801,2008802,2008803,2008901,2008902,2008903,2009001,2009002,2009003,2009101,2009102,2009103,2009201,2009202,2009203,2009301,2009302,2009303,2009401,2009402,2009403,2009501,2009502,2009503,2009601,2009602,2009603,2009701,2009702,2009703,2009801,2009802,2009803,2009901,2009902,2009903,2010001,2010002,2010003,2010101,2010102,2010103,2010201,2010202,2010203,2010301,2010302,2010303,2010401,2010402,2010403,2010501,2010502,2010503,2010601,2010602,2010603,2010701,2010702,2010703,2010801,2010802,2010803,2010901,2010902,2010903,2011001,2011002,2011003,2011101,2011102,2011103,2011201,2011202,2011203,2011301,2011302,2011303,2011401,2011402,2011403,2011501,2011502,2011503,2011601,2011602,2011603,2011701,2011702,2011703,2011801,2011802,2011803,2011901,2011902,2011903,2012001,2012002,2012003,2012101,2012102,2012103,2012201,2012202,2012203,2012301,2012302,2012303,2012401,2012402,2012403,2012501,2012502,2012503,2012601,2012602,2012603,2012701,2012702,2012703,2012801,2012802,2012803,2012901,2012902,2012903,2013001,2013002,2013003,2013101,2013102,2013103,2013201,2013202,2013203,2013301,2013302,2013303,2013401,2013402,2013403,2013501,2013502,2013503,2013601,2013602,2013603,2013701,2013702,2013703,2013801,2013802,2013803,2013901,2013902,2013903,2014001,2014002,2014003,2014101,2014102,2014103,2014201,2014202,2014203,2014301,2014302,2014303,2014401,2014402,2014403,2014501,2014502,2014503,2014601,2014602,2014603,2014701,2014702,2014703,2014801,2014802,2014803,2014901,2014902,2014903,2015001,2015002,2015003,2015101,2015102,2015103,2015201,2015202,2015203,2015301,2015302,2015303,2015401,2015402,2015403,2015501,2015502,2015503,2015601,2015602,2015603,2015701,2015702,2015703,2015801,2015802,2015803,2015901,2015902,2015903,2016001,2016002,2016003,2016101,2016102,2016103,2016201,2016202,2016203,2016301,2016302,2016303,2016401,2016402,2016403,2016501,2016502,2016503,2016601,2016602,2016603,2016701,2016702,2016703,2016801,2016802,2016803,2016901,2016902,2016903,2017001,2017002,2017003,2019001,2019002,2019003,2020001,2020002,2020003,2020101,2020102,2020103,2020201,2020202,2020203,2020301,2020302,2020303,2020401,2020402,2020403,2100101,2100102,2100103,2100201,2100202,2100203,2100301,2100302,2100303,2100401,2100402,2100403,2100501,2100502,2100503,3000101,3000102,3000103,3000201,3000202,3000203,10010101,10010102,10010103,10010201,10010202,10010203,10020101,10020102,10020103,10030101,10030102,10030103,10030201,10030202,10030203,10040101,10040102,10040103,10040201,10040202,10040203,10050101,10050102,10050103,10060101,10060102,10060103,10060201,10060202,10060203,10070101,10070102,10070103,10080101,10080102,10080103,10090101,10090102,10090103,10100101,10100102,10100103,10110101,10110102,10110103,10110201,10110202,10110203,10120101,10120102,10120103,10130101,10130102,10130103,10130201,10130202,10130203,10140101,10140102,10140103,10140201,10140202,10140203,10150101,10150102,10150103,10150201,10150202,10150203,10160101,10160102,10160103,10170101,10170102,10170103,10170201,10170202,10170203,10180101,10180102,10180103,10180201,10180202,10180203,10190101,10190102,10190103,10200101,10200102,10200103,10210101,10210102,10210103,10220101,10220102,10220103,10230101,10230102,10230103,10230201,10230202,10230203,10240101,10240102,10240103,10240201,10240202,10240203,10250101,10250102,10250103,10260101,10260102,10260103,10260201,10260202,10260203,10270101,10270102,10270103,10280101,10280102,10280103,10300101,10300102,10300103,10300201,10300202,10300203,10320101,10320102,10320103,10330101,10330102,10330103,10350101,10350102,10350103,10370101,10370102,10370103,10370201,10370202,10370203,10380101,10380102,10380103,10390101,10390102,10390103,10400101,10400102,10400103,10400201,10400202,10400203,10410101,10410102,10410103,10450101,10450102,10450103,10450201,10450202,10450203,10460101,10460102,10460103,10480101,10480102,10480103,10500101,10500102,10500103,10520101,10520102,10520103,10520201,10520202,10520203,10560101,10560102,10560103,10560201,10560202,10560203,10580101,10580102,10580103,10590101,10590102,10590103,10600101,10600102,10600103,10610101,10610102,10610103,10690101,10690102,10690103,10710101,10710102,10710103,};\nkk_vector_from_cint32array(arr, (kk_ssize_t)867, kk_context())" - js inline "[101,102,103,201,202,203,301,302,303,401,402,403,501,502,503,1101,1102,1103,1201,1202,1203,2101,2102,2103,2201,2202,2203,2301,2302,2303,2401,2402,2403,3101,3102,3103,3201,3202,3203,3301,3302,3303,3401,3402,3403,1000101,1000102,1000103,1000201,1000202,1000203,1000301,1000302,1000303,1000401,1000402,1000403,1000501,1000502,1000503,1000601,1000602,1000603,1000701,1000702,1000703,1000801,1000802,1000803,1000901,1000902,1000903,1001001,1001002,1001003,1001101,1001102,1001103,1001201,1001202,1001203,1001301,1001302,1001303,1001401,1001402,1001403,1001501,1001502,1001503,1001601,1001602,1001603,1001701,1001702,1001703,1001801,1001802,1001803,1001901,1001902,1001903,1002001,1002002,1002003,1002101,1002102,1002103,1002201,1002202,1002203,1002301,1002302,1002303,1002401,1002402,1002403,1002501,1002502,1002503,1002601,1002602,1002603,1002701,1002702,1002703,1002801,1002802,1002803,1002901,1002902,1002903,1003001,1003002,1003003,2000101,2000102,2000103,2000201,2000202,2000203,2000301,2000302,2000303,2000401,2000402,2000403,2000501,2000502,2000503,2000601,2000602,2000603,2000701,2000702,2000703,2000801,2000802,2000803,2000901,2000902,2000903,2001001,2001002,2001003,2001101,2001102,2001103,2001201,2001202,2001203,2001301,2001302,2001303,2001401,2001402,2001403,2001501,2001502,2001503,2001601,2001602,2001603,2001701,2001702,2001703,2001801,2001802,2001803,2001901,2001902,2001903,2002001,2002002,2002003,2002101,2002102,2002103,2002201,2002202,2002203,2002301,2002302,2002303,2002401,2002402,2002403,2002501,2002502,2002503,2002601,2002602,2002603,2002701,2002702,2002703,2002801,2002802,2002803,2002901,2002902,2002903,2003001,2003002,2003003,2003301,2003302,2003303,2003401,2003402,2003403,2003501,2003502,2003503,2003601,2003602,2003603,2003701,2003702,2003703,2003801,2003802,2003803,2004301,2004302,2004303,2004401,2004402,2004403,2004501,2004502,2004503,2004601,2004602,2004603,2004701,2004702,2004703,2004801,2004802,2004803,2004901,2004902,2004903,2005001,2005002,2005003,2005101,2005102,2005103,2005301,2005302,2005303,2005401,2005402,2005403,2005501,2005502,2005503,2005601,2005602,2005603,2005701,2005702,2005703,2005801,2005802,2005803,2005901,2005902,2005903,2006001,2006002,2006003,2006101,2006102,2006103,2006201,2006202,2006203,2006301,2006302,2006303,2006401,2006402,2006403,2006501,2006502,2006503,2006601,2006602,2006603,2006701,2006702,2006703,2006801,2006802,2006803,2006901,2006902,2006903,2007001,2007002,2007003,2007101,2007102,2007103,2007201,2007202,2007203,2007301,2007302,2007303,2007401,2007402,2007403,2007501,2007502,2007503,2007601,2007602,2007603,2007701,2007702,2007703,2007801,2007802,2007803,2007901,2007902,2007903,2008001,2008002,2008003,2008101,2008102,2008103,2008201,2008202,2008203,2008301,2008302,2008303,2008401,2008402,2008403,2008501,2008502,2008503,2008601,2008602,2008603,2008701,2008702,2008703,2008801,2008802,2008803,2008901,2008902,2008903,2009001,2009002,2009003,2009101,2009102,2009103,2009201,2009202,2009203,2009301,2009302,2009303,2009401,2009402,2009403,2009501,2009502,2009503,2009601,2009602,2009603,2009701,2009702,2009703,2009801,2009802,2009803,2009901,2009902,2009903,2010001,2010002,2010003,2010101,2010102,2010103,2010201,2010202,2010203,2010301,2010302,2010303,2010401,2010402,2010403,2010501,2010502,2010503,2010601,2010602,2010603,2010701,2010702,2010703,2010801,2010802,2010803,2010901,2010902,2010903,2011001,2011002,2011003,2011101,2011102,2011103,2011201,2011202,2011203,2011301,2011302,2011303,2011401,2011402,2011403,2011501,2011502,2011503,2011601,2011602,2011603,2011701,2011702,2011703,2011801,2011802,2011803,2011901,2011902,2011903,2012001,2012002,2012003,2012101,2012102,2012103,2012201,2012202,2012203,2012301,2012302,2012303,2012401,2012402,2012403,2012501,2012502,2012503,2012601,2012602,2012603,2012701,2012702,2012703,2012801,2012802,2012803,2012901,2012902,2012903,2013001,2013002,2013003,2013101,2013102,2013103,2013201,2013202,2013203,2013301,2013302,2013303,2013401,2013402,2013403,2013501,2013502,2013503,2013601,2013602,2013603,2013701,2013702,2013703,2013801,2013802,2013803,2013901,2013902,2013903,2014001,2014002,2014003,2014101,2014102,2014103,2014201,2014202,2014203,2014301,2014302,2014303,2014401,2014402,2014403,2014501,2014502,2014503,2014601,2014602,2014603,2014701,2014702,2014703,2014801,2014802,2014803,2014901,2014902,2014903,2015001,2015002,2015003,2015101,2015102,2015103,2015201,2015202,2015203,2015301,2015302,2015303,2015401,2015402,2015403,2015501,2015502,2015503,2015601,2015602,2015603,2015701,2015702,2015703,2015801,2015802,2015803,2015901,2015902,2015903,2016001,2016002,2016003,2016101,2016102,2016103,2016201,2016202,2016203,2016301,2016302,2016303,2016401,2016402,2016403,2016501,2016502,2016503,2016601,2016602,2016603,2016701,2016702,2016703,2016801,2016802,2016803,2016901,2016902,2016903,2017001,2017002,2017003,2019001,2019002,2019003,2020001,2020002,2020003,2020101,2020102,2020103,2020201,2020202,2020203,2020301,2020302,2020303,2020401,2020402,2020403,2100101,2100102,2100103,2100201,2100202,2100203,2100301,2100302,2100303,2100401,2100402,2100403,2100501,2100502,2100503,3000101,3000102,3000103,3000201,3000202,3000203,10010101,10010102,10010103,10010201,10010202,10010203,10020101,10020102,10020103,10030101,10030102,10030103,10030201,10030202,10030203,10040101,10040102,10040103,10040201,10040202,10040203,10050101,10050102,10050103,10060101,10060102,10060103,10060201,10060202,10060203,10070101,10070102,10070103,10080101,10080102,10080103,10090101,10090102,10090103,10100101,10100102,10100103,10110101,10110102,10110103,10110201,10110202,10110203,10120101,10120102,10120103,10130101,10130102,10130103,10130201,10130202,10130203,10140101,10140102,10140103,10140201,10140202,10140203,10150101,10150102,10150103,10150201,10150202,10150203,10160101,10160102,10160103,10170101,10170102,10170103,10170201,10170202,10170203,10180101,10180102,10180103,10180201,10180202,10180203,10190101,10190102,10190103,10200101,10200102,10200103,10210101,10210102,10210103,10220101,10220102,10220103,10230101,10230102,10230103,10230201,10230202,10230203,10240101,10240102,10240103,10240201,10240202,10240203,10250101,10250102,10250103,10260101,10260102,10260103,10260201,10260202,10260203,10270101,10270102,10270103,10280101,10280102,10280103,10300101,10300102,10300103,10300201,10300202,10300203,10320101,10320102,10320103,10330101,10330102,10330103,10350101,10350102,10350103,10370101,10370102,10370103,10370201,10370202,10370203,10380101,10380102,10380103,10390101,10390102,10390103,10400101,10400102,10400103,10400201,10400202,10400203,10410101,10410102,10410103,10450101,10450102,10450103,10450201,10450202,10450203,10460101,10460102,10460103,10480101,10480102,10480103,10500101,10500102,10500103,10520101,10520102,10520103,10520201,10520202,10520203,10560101,10560102,10560103,10560201,10560202,10560203,10580101,10580102,10580103,10590101,10590102,10590103,10600101,10600102,10600103,10610101,10610102,10610103,10690101,10690102,10690103,10710101,10710102,10710103,]" -// Vector of all spark IDs in order for easy iterating. -pub val all = once(create-id-table) - -// Get the name for a spark. -// The name does not indicate the spark level. -// If no spark matches the ID, the result contains the numeric ID. -pub fun show(s: spark-id): string - match s.game-id - 101 -> "Speed" - 102 -> "Speed" - 103 -> "Speed" - 201 -> "Stamina" - 202 -> "Stamina" - 203 -> "Stamina" - 301 -> "Power" - 302 -> "Power" - 303 -> "Power" - 401 -> "Guts" - 402 -> "Guts" - 403 -> "Guts" - 501 -> "Wit" - 502 -> "Wit" - 503 -> "Wit" - 1101 -> "Turf" - 1102 -> "Turf" - 1103 -> "Turf" - 1201 -> "Dirt" - 1202 -> "Dirt" - 1203 -> "Dirt" - 2101 -> "Front Runner" - 2102 -> "Front Runner" - 2103 -> "Front Runner" - 2201 -> "Pace Chaser" - 2202 -> "Pace Chaser" - 2203 -> "Pace Chaser" - 2301 -> "Late Surger" - 2302 -> "Late Surger" - 2303 -> "Late Surger" - 2401 -> "End Closer" - 2402 -> "End Closer" - 2403 -> "End Closer" - 3101 -> "Sprint" - 3102 -> "Sprint" - 3103 -> "Sprint" - 3201 -> "Mile" - 3202 -> "Mile" - 3203 -> "Mile" - 3301 -> "Medium" - 3302 -> "Medium" - 3303 -> "Medium" - 3401 -> "Long" - 3402 -> "Long" - 3403 -> "Long" - 1000101 -> "February S." - 1000102 -> "February S." - 1000103 -> "February S." - 1000201 -> "Takamatsunomiya Kinen" - 1000202 -> "Takamatsunomiya Kinen" - 1000203 -> "Takamatsunomiya Kinen" - 1000301 -> "Osaka Hai" - 1000302 -> "Osaka Hai" - 1000303 -> "Osaka Hai" - 1000401 -> "Oka Sho" - 1000402 -> "Oka Sho" - 1000403 -> "Oka Sho" - 1000501 -> "Satsuki Sho" - 1000502 -> "Satsuki Sho" - 1000503 -> "Satsuki Sho" - 1000601 -> "Tenno Sho (Spring)" - 1000602 -> "Tenno Sho (Spring)" - 1000603 -> "Tenno Sho (Spring)" - 1000701 -> "NHK Mile C." - 1000702 -> "NHK Mile C." - 1000703 -> "NHK Mile C." - 1000801 -> "Victoria Mile" - 1000802 -> "Victoria Mile" - 1000803 -> "Victoria Mile" - 1000901 -> "Japanese Oaks" - 1000902 -> "Japanese Oaks" - 1000903 -> "Japanese Oaks" - 1001001 -> "Japanese Derby" - 1001002 -> "Japanese Derby" - 1001003 -> "Japanese Derby" - 1001101 -> "Yasuda Kinen" - 1001102 -> "Yasuda Kinen" - 1001103 -> "Yasuda Kinen" - 1001201 -> "Takarazuka Kinen" - 1001202 -> "Takarazuka Kinen" - 1001203 -> "Takarazuka Kinen" - 1001301 -> "Sprinters S." - 1001302 -> "Sprinters S." - 1001303 -> "Sprinters S." - 1001401 -> "Shuka Sho" - 1001402 -> "Shuka Sho" - 1001403 -> "Shuka Sho" - 1001501 -> "Kikuka Sho" - 1001502 -> "Kikuka Sho" - 1001503 -> "Kikuka Sho" - 1001601 -> "Tenno Sho (Autumn)" - 1001602 -> "Tenno Sho (Autumn)" - 1001603 -> "Tenno Sho (Autumn)" - 1001701 -> "Queen Elizabeth II Cup" - 1001702 -> "Queen Elizabeth II Cup" - 1001703 -> "Queen Elizabeth II Cup" - 1001801 -> "Mile Ch." - 1001802 -> "Mile Ch." - 1001803 -> "Mile Ch." - 1001901 -> "Japan C." - 1001902 -> "Japan C." - 1001903 -> "Japan C." - 1002001 -> "Champions C." - 1002002 -> "Champions C." - 1002003 -> "Champions C." - 1002101 -> "Hanshin J.F." - 1002102 -> "Hanshin J.F." - 1002103 -> "Hanshin J.F." - 1002201 -> "Asahi Hai F.S." - 1002202 -> "Asahi Hai F.S." - 1002203 -> "Asahi Hai F.S." - 1002301 -> "Arima Kinen" - 1002302 -> "Arima Kinen" - 1002303 -> "Arima Kinen" - 1002401 -> "Hopeful S." - 1002402 -> "Hopeful S." - 1002403 -> "Hopeful S." - 1002501 -> "Teio Sho" - 1002502 -> "Teio Sho" - 1002503 -> "Teio Sho" - 1002601 -> "J.D. Derby" - 1002602 -> "J.D. Derby" - 1002603 -> "J.D. Derby" - 1002701 -> "JBC L. Classic" - 1002702 -> "JBC L. Classic" - 1002703 -> "JBC L. Classic" - 1002801 -> "JBC Sprint" - 1002802 -> "JBC Sprint" - 1002803 -> "JBC Sprint" - 1002901 -> "JBC Classic" - 1002902 -> "JBC Classic" - 1002903 -> "JBC Classic" - 1003001 -> "Tokyo Daishoten" - 1003002 -> "Tokyo Daishoten" - 1003003 -> "Tokyo Daishoten" - 2000101 -> "Right-Handed ○" - 2000102 -> "Right-Handed ○" - 2000103 -> "Right-Handed ○" - 2000201 -> "Left-Handed ○" - 2000202 -> "Left-Handed ○" - 2000203 -> "Left-Handed ○" - 2000301 -> "Tokyo Racecourse ○" - 2000302 -> "Tokyo Racecourse ○" - 2000303 -> "Tokyo Racecourse ○" - 2000401 -> "Nakayama Racecourse ○" - 2000402 -> "Nakayama Racecourse ○" - 2000403 -> "Nakayama Racecourse ○" - 2000501 -> "Hanshin Racecourse ○" - 2000502 -> "Hanshin Racecourse ○" - 2000503 -> "Hanshin Racecourse ○" - 2000601 -> "Kyoto Racecourse ○" - 2000602 -> "Kyoto Racecourse ○" - 2000603 -> "Kyoto Racecourse ○" - 2000701 -> "Chukyo Racecourse ○" - 2000702 -> "Chukyo Racecourse ○" - 2000703 -> "Chukyo Racecourse ○" - 2000801 -> "Sapporo Racecourse ○" - 2000802 -> "Sapporo Racecourse ○" - 2000803 -> "Sapporo Racecourse ○" - 2000901 -> "Hakodate Racecourse ○" - 2000902 -> "Hakodate Racecourse ○" - 2000903 -> "Hakodate Racecourse ○" - 2001001 -> "Fukushima Racecourse ○" - 2001002 -> "Fukushima Racecourse ○" - 2001003 -> "Fukushima Racecourse ○" - 2001101 -> "Niigata Racecourse ○" - 2001102 -> "Niigata Racecourse ○" - 2001103 -> "Niigata Racecourse ○" - 2001201 -> "Kokura Racecourse ○" - 2001202 -> "Kokura Racecourse ○" - 2001203 -> "Kokura Racecourse ○" - 2001301 -> "Standard Distance ○" - 2001302 -> "Standard Distance ○" - 2001303 -> "Standard Distance ○" - 2001401 -> "Non-Standard Distance ○" - 2001402 -> "Non-Standard Distance ○" - 2001403 -> "Non-Standard Distance ○" - 2001501 -> "Firm Conditions ○" - 2001502 -> "Firm Conditions ○" - 2001503 -> "Firm Conditions ○" - 2001601 -> "Wet Conditions ○" - 2001602 -> "Wet Conditions ○" - 2001603 -> "Wet Conditions ○" - 2001701 -> "Spring Runner ○" - 2001702 -> "Spring Runner ○" - 2001703 -> "Spring Runner ○" - 2001801 -> "Summer Runner ○" - 2001802 -> "Summer Runner ○" - 2001803 -> "Summer Runner ○" - 2001901 -> "Fall Runner ○" - 2001902 -> "Fall Runner ○" - 2001903 -> "Fall Runner ○" - 2002001 -> "Winter Runner ○" - 2002002 -> "Winter Runner ○" - 2002003 -> "Winter Runner ○" - 2002101 -> "Sunny Days ○" - 2002102 -> "Sunny Days ○" - 2002103 -> "Sunny Days ○" - 2002201 -> "Cloudy Days ○" - 2002202 -> "Cloudy Days ○" - 2002203 -> "Cloudy Days ○" - 2002301 -> "Rainy Days ○" - 2002302 -> "Rainy Days ○" - 2002303 -> "Rainy Days ○" - 2002401 -> "Snowy Days ○" - 2002402 -> "Snowy Days ○" - 2002403 -> "Snowy Days ○" - 2002501 -> "Inner Post Proficiency ○" - 2002502 -> "Inner Post Proficiency ○" - 2002503 -> "Inner Post Proficiency ○" - 2002601 -> "Outer Post Proficiency ○" - 2002602 -> "Outer Post Proficiency ○" - 2002603 -> "Outer Post Proficiency ○" - 2002701 -> "Maverick ○" - 2002702 -> "Maverick ○" - 2002703 -> "Maverick ○" - 2002801 -> "Competitive Spirit ○" - 2002802 -> "Competitive Spirit ○" - 2002803 -> "Competitive Spirit ○" - 2002901 -> "Target in Sight ○" - 2002902 -> "Target in Sight ○" - 2002903 -> "Target in Sight ○" - 2003001 -> "Long Shot ○" - 2003002 -> "Long Shot ○" - 2003003 -> "Long Shot ○" - 2003301 -> "Corner Adept ○" - 2003302 -> "Corner Adept ○" - 2003303 -> "Corner Adept ○" - 2003401 -> "Corner Acceleration ○" - 2003402 -> "Corner Acceleration ○" - 2003403 -> "Corner Acceleration ○" - 2003501 -> "Corner Recovery ○" - 2003502 -> "Corner Recovery ○" - 2003503 -> "Corner Recovery ○" - 2003601 -> "Straightaway Adept" - 2003602 -> "Straightaway Adept" - 2003603 -> "Straightaway Adept" - 2003701 -> "Straightaway Acceleration" - 2003702 -> "Straightaway Acceleration" - 2003703 -> "Straightaway Acceleration" - 2003801 -> "Straightaway Recovery" - 2003802 -> "Straightaway Recovery" - 2003803 -> "Straightaway Recovery" - 2004301 -> "Focus" - 2004302 -> "Focus" - 2004303 -> "Focus" - 2004401 -> "Lay Low" - 2004402 -> "Lay Low" - 2004403 -> "Lay Low" - 2004501 -> "Prudent Positioning" - 2004502 -> "Prudent Positioning" - 2004503 -> "Prudent Positioning" - 2004601 -> "Ramp Up" - 2004602 -> "Ramp Up" - 2004603 -> "Ramp Up" - 2004701 -> "Pace Strategy" - 2004702 -> "Pace Strategy" - 2004703 -> "Pace Strategy" - 2004801 -> "Calm in a Crowd" - 2004802 -> "Calm in a Crowd" - 2004803 -> "Calm in a Crowd" - 2004901 -> "Nimble Navigator" - 2004902 -> "Nimble Navigator" - 2004903 -> "Nimble Navigator" - 2005001 -> "Go with the Flow" - 2005002 -> "Go with the Flow" - 2005003 -> "Go with the Flow" - 2005101 -> "Homestretch Haste" - 2005102 -> "Homestretch Haste" - 2005103 -> "Homestretch Haste" - 2005301 -> "Early Lead" - 2005302 -> "Early Lead" - 2005303 -> "Early Lead" - 2005401 -> "Fast-Paced" - 2005402 -> "Fast-Paced" - 2005403 -> "Fast-Paced" - 2005501 -> "Final Push" - 2005502 -> "Final Push" - 2005503 -> "Final Push" - 2005601 -> "Stamina to Spare" - 2005602 -> "Stamina to Spare" - 2005603 -> "Stamina to Spare" - 2005701 -> "Preferred Position" - 2005702 -> "Preferred Position" - 2005703 -> "Preferred Position" - 2005801 -> "Prepared to Pass" - 2005802 -> "Prepared to Pass" - 2005803 -> "Prepared to Pass" - 2005901 -> "Position Pilfer" - 2005902 -> "Position Pilfer" - 2005903 -> "Position Pilfer" - 2006001 -> "Slick Surge" - 2006002 -> "Slick Surge" - 2006003 -> "Slick Surge" - 2006101 -> "Outer Swell" - 2006102 -> "Outer Swell" - 2006103 -> "Outer Swell" - 2006201 -> "Standing By" - 2006202 -> "Standing By" - 2006203 -> "Standing By" - 2006301 -> "Masterful Gambit" - 2006302 -> "Masterful Gambit" - 2006303 -> "Masterful Gambit" - 2006401 -> "Straightaway Spurt" - 2006402 -> "Straightaway Spurt" - 2006403 -> "Straightaway Spurt" - 2006501 -> "Sprinting Gear" - 2006502 -> "Sprinting Gear" - 2006503 -> "Sprinting Gear" - 2006601 -> "Wait-and-See" - 2006602 -> "Wait-and-See" - 2006603 -> "Wait-and-See" - 2006701 -> "Gap Closer" - 2006702 -> "Gap Closer" - 2006703 -> "Gap Closer" - 2006801 -> "Productive Plan" - 2006802 -> "Productive Plan" - 2006803 -> "Productive Plan" - 2006901 -> "Watchful Eye" - 2006902 -> "Watchful Eye" - 2006903 -> "Watchful Eye" - 2007001 -> "Updrafters" - 2007002 -> "Updrafters" - 2007003 -> "Updrafters" - 2007101 -> "Rosy Outlook" - 2007102 -> "Rosy Outlook" - 2007103 -> "Rosy Outlook" - 2007201 -> "Up-Tempo" - 2007202 -> "Up-Tempo" - 2007203 -> "Up-Tempo" - 2007301 -> "Steadfast" - 2007302 -> "Steadfast" - 2007303 -> "Steadfast" - 2007401 -> "Deep Breaths" - 2007402 -> "Deep Breaths" - 2007403 -> "Deep Breaths" - 2007501 -> "Inside Scoop" - 2007502 -> "Inside Scoop" - 2007503 -> "Inside Scoop" - 2007601 -> "Extra Tank" - 2007602 -> "Extra Tank" - 2007603 -> "Extra Tank" - 2007701 -> "Trick (Front)" - 2007702 -> "Trick (Front)" - 2007703 -> "Trick (Front)" - 2007801 -> "Trick (Rear)" - 2007802 -> "Trick (Rear)" - 2007803 -> "Trick (Rear)" - 2007901 -> "Frenzied Front Runners" - 2007902 -> "Frenzied Front Runners" - 2007903 -> "Frenzied Front Runners" - 2008001 -> "Frenzied Pace Chasers" - 2008002 -> "Frenzied Pace Chasers" - 2008003 -> "Frenzied Pace Chasers" - 2008101 -> "Frenzied Late Surgers" - 2008102 -> "Frenzied Late Surgers" - 2008103 -> "Frenzied Late Surgers" - 2008201 -> "Frenzied End Closers" - 2008202 -> "Frenzied End Closers" - 2008203 -> "Frenzied End Closers" - 2008301 -> "Subdued Front Runners" - 2008302 -> "Subdued Front Runners" - 2008303 -> "Subdued Front Runners" - 2008401 -> "Flustered Front Runners" - 2008402 -> "Flustered Front Runners" - 2008403 -> "Flustered Front Runners" - 2008501 -> "Hesitant Front Runners" - 2008502 -> "Hesitant Front Runners" - 2008503 -> "Hesitant Front Runners" - 2008601 -> "Subdued Pace Chasers" - 2008602 -> "Subdued Pace Chasers" - 2008603 -> "Subdued Pace Chasers" - 2008701 -> "Flustered Pace Chasers" - 2008702 -> "Flustered Pace Chasers" - 2008703 -> "Flustered Pace Chasers" - 2008801 -> "Hesitant Pace Chasers" - 2008802 -> "Hesitant Pace Chasers" - 2008803 -> "Hesitant Pace Chasers" - 2008901 -> "Subdued Late Surgers" - 2008902 -> "Subdued Late Surgers" - 2008903 -> "Subdued Late Surgers" - 2009001 -> "Flustered Late Surgers" - 2009002 -> "Flustered Late Surgers" - 2009003 -> "Flustered Late Surgers" - 2009101 -> "Hesitant Late Surgers" - 2009102 -> "Hesitant Late Surgers" - 2009103 -> "Hesitant Late Surgers" - 2009201 -> "Subdued End Closers" - 2009202 -> "Subdued End Closers" - 2009203 -> "Subdued End Closers" - 2009301 -> "Flustered End Closers" - 2009302 -> "Flustered End Closers" - 2009303 -> "Flustered End Closers" - 2009401 -> "Hesitant End Closers" - 2009402 -> "Hesitant End Closers" - 2009403 -> "Hesitant End Closers" - 2009501 -> "Oi Racecourse ○" - 2009502 -> "Oi Racecourse ○" - 2009503 -> "Oi Racecourse ○" - 2009601 -> "Sprint Straightaways ○" - 2009602 -> "Sprint Straightaways ○" - 2009603 -> "Sprint Straightaways ○" - 2009701 -> "Sprint Corners ○" - 2009702 -> "Sprint Corners ○" - 2009703 -> "Sprint Corners ○" - 2009801 -> "Huge Lead" - 2009802 -> "Huge Lead" - 2009803 -> "Huge Lead" - 2009901 -> "Countermeasure" - 2009902 -> "Countermeasure" - 2009903 -> "Countermeasure" - 2010001 -> "Meticulous Measures" - 2010002 -> "Meticulous Measures" - 2010003 -> "Meticulous Measures" - 2010101 -> "Intimidate" - 2010102 -> "Intimidate" - 2010103 -> "Intimidate" - 2010201 -> "Stop Right There!" - 2010202 -> "Stop Right There!" - 2010203 -> "Stop Right There!" - 2010301 -> "Mile Straightaways ○" - 2010302 -> "Mile Straightaways ○" - 2010303 -> "Mile Straightaways ○" - 2010401 -> "Mile Corners ○" - 2010402 -> "Mile Corners ○" - 2010403 -> "Mile Corners ○" - 2010501 -> "Shifting Gears" - 2010502 -> "Shifting Gears" - 2010503 -> "Shifting Gears" - 2010601 -> "Acceleration" - 2010602 -> "Acceleration" - 2010603 -> "Acceleration" - 2010701 -> "Unyielding Spirit" - 2010702 -> "Unyielding Spirit" - 2010703 -> "Unyielding Spirit" - 2010801 -> "Speed Eater" - 2010802 -> "Speed Eater" - 2010803 -> "Speed Eater" - 2010901 -> "Opening Gambit" - 2010902 -> "Opening Gambit" - 2010903 -> "Opening Gambit" - 2011001 -> "Medium Straightaways ○" - 2011002 -> "Medium Straightaways ○" - 2011003 -> "Medium Straightaways ○" - 2011101 -> "Medium Corners ○" - 2011102 -> "Medium Corners ○" - 2011103 -> "Medium Corners ○" - 2011201 -> "Hawkeye" - 2011202 -> "Hawkeye" - 2011203 -> "Hawkeye" - 2011301 -> "Thunderbolt Step" - 2011302 -> "Thunderbolt Step" - 2011303 -> "Thunderbolt Step" - 2011401 -> "Soft Step" - 2011402 -> "Soft Step" - 2011403 -> "Soft Step" - 2011501 -> "Tether" - 2011502 -> "Tether" - 2011503 -> "Tether" - 2011601 -> "Murmur" - 2011602 -> "Murmur" - 2011603 -> "Murmur" - 2011701 -> "Long Straightaways ○" - 2011702 -> "Long Straightaways ○" - 2011703 -> "Long Straightaways ○" - 2011801 -> "Long Corners ○" - 2011802 -> "Long Corners ○" - 2011803 -> "Long Corners ○" - 2011901 -> "Keeping the Lead" - 2011902 -> "Keeping the Lead" - 2011903 -> "Keeping the Lead" - 2012001 -> "Passing Pro" - 2012002 -> "Passing Pro" - 2012003 -> "Passing Pro" - 2012101 -> "Pressure" - 2012102 -> "Pressure" - 2012103 -> "Pressure" - 2012201 -> "Stamina Eater" - 2012202 -> "Stamina Eater" - 2012203 -> "Stamina Eater" - 2012301 -> "Smoke Screen" - 2012302 -> "Smoke Screen" - 2012303 -> "Smoke Screen" - 2012401 -> "Front Runner Straightaways ○" - 2012402 -> "Front Runner Straightaways ○" - 2012403 -> "Front Runner Straightaways ○" - 2012501 -> "Front Runner Corners ○" - 2012502 -> "Front Runner Corners ○" - 2012503 -> "Front Runner Corners ○" - 2012601 -> "Dodging Danger" - 2012602 -> "Dodging Danger" - 2012603 -> "Dodging Danger" - 2012701 -> "Leader's Pride" - 2012702 -> "Leader's Pride" - 2012703 -> "Leader's Pride" - 2012801 -> "Moxie" - 2012802 -> "Moxie" - 2012803 -> "Moxie" - 2012901 -> "Second Wind" - 2012902 -> "Second Wind" - 2012903 -> "Second Wind" - 2013001 -> "Restart" - 2013002 -> "Restart" - 2013003 -> "Restart" - 2013101 -> "Pace Chaser Straightaways ○" - 2013102 -> "Pace Chaser Straightaways ○" - 2013103 -> "Pace Chaser Straightaways ○" - 2013201 -> "Pace Chaser Corners ○" - 2013202 -> "Pace Chaser Corners ○" - 2013203 -> "Pace Chaser Corners ○" - 2013301 -> "Shrewd Step" - 2013302 -> "Shrewd Step" - 2013303 -> "Shrewd Step" - 2013401 -> "Straight Descent" - 2013402 -> "Straight Descent" - 2013403 -> "Straight Descent" - 2013501 -> "Hydrate" - 2013502 -> "Hydrate" - 2013503 -> "Hydrate" - 2013601 -> "Tactical Tweak" - 2013602 -> "Tactical Tweak" - 2013603 -> "Tactical Tweak" - 2013701 -> "Disorient" - 2013702 -> "Disorient" - 2013703 -> "Disorient" - 2013801 -> "Late Surger Straightaways ○" - 2013802 -> "Late Surger Straightaways ○" - 2013803 -> "Late Surger Straightaways ○" - 2013901 -> "Late Surger Corners ○" - 2013902 -> "Late Surger Corners ○" - 2013903 -> "Late Surger Corners ○" - 2014001 -> "Fighter" - 2014002 -> "Fighter" - 2014003 -> "Fighter" - 2014101 -> "1,500,000 CC" - 2014102 -> "1,500,000 CC" - 2014103 -> "1,500,000 CC" - 2014201 -> "A Small Breather" - 2014202 -> "A Small Breather" - 2014203 -> "A Small Breather" - 2014301 -> "Studious" - 2014302 -> "Studious" - 2014303 -> "Studious" - 2014401 -> "Sharp Gaze" - 2014402 -> "Sharp Gaze" - 2014403 -> "Sharp Gaze" - 2014501 -> "End Closer Straightaways ○" - 2014502 -> "End Closer Straightaways ○" - 2014503 -> "End Closer Straightaways ○" - 2014601 -> "End Closer Corners ○" - 2014602 -> "End Closer Corners ○" - 2014603 -> "End Closer Corners ○" - 2014701 -> "I Can See Right Through You" - 2014702 -> "I Can See Right Through You" - 2014703 -> "I Can See Right Through You" - 2014801 -> "After-School Stroll" - 2014802 -> "After-School Stroll" - 2014803 -> "After-School Stroll" - 2014901 -> "Levelheaded" - 2014902 -> "Levelheaded" - 2014903 -> "Levelheaded" - 2015001 -> "Strategist" - 2015002 -> "Strategist" - 2015003 -> "Strategist" - 2015101 -> "Intense Gaze" - 2015102 -> "Intense Gaze" - 2015103 -> "Intense Gaze" - 2015201 -> "Front Runner Savvy ○" - 2015202 -> "Front Runner Savvy ○" - 2015203 -> "Front Runner Savvy ○" - 2015301 -> "Pace Chaser Savvy ○" - 2015302 -> "Pace Chaser Savvy ○" - 2015303 -> "Pace Chaser Savvy ○" - 2015401 -> "Late Surger Savvy ○" - 2015402 -> "Late Surger Savvy ○" - 2015403 -> "Late Surger Savvy ○" - 2015501 -> "End Closer Savvy ○" - 2015502 -> "End Closer Savvy ○" - 2015503 -> "End Closer Savvy ○" - 2015601 -> "Lucky Seven" - 2015602 -> "Lucky Seven" - 2015603 -> "Lucky Seven" - 2015701 -> "Triple 7s" - 2015702 -> "Triple 7s" - 2015703 -> "Triple 7s" - 2015801 -> "Highlander" - 2015802 -> "Highlander" - 2015803 -> "Highlander" - 2015901 -> "Uma Stan" - 2015902 -> "Uma Stan" - 2015903 -> "Uma Stan" - 2016001 -> "Groundwork" - 2016002 -> "Groundwork" - 2016003 -> "Groundwork" - 2016101 -> "Tail Held High" - 2016102 -> "Tail Held High" - 2016103 -> "Tail Held High" - 2016201 -> "Shake It Out" - 2016202 -> "Shake It Out" - 2016203 -> "Shake It Out" - 2016301 -> "Sympathy" - 2016302 -> "Sympathy" - 2016303 -> "Sympathy" - 2016401 -> "Lone Wolf" - 2016402 -> "Lone Wolf" - 2016403 -> "Lone Wolf" - 2016501 -> "Slipstream" - 2016502 -> "Slipstream" - 2016503 -> "Slipstream" - 2016601 -> "Playtime's Over!" - 2016602 -> "Playtime's Over!" - 2016603 -> "Playtime's Over!" - 2016701 -> "Top Pick" - 2016702 -> "Top Pick" - 2016703 -> "Top Pick" - 2016801 -> "Forward, March!" - 2016802 -> "Forward, March!" - 2016803 -> "Forward, March!" - 2016901 -> "Be Still" - 2016902 -> "Be Still" - 2016903 -> "Be Still" - 2017001 -> "All I've Got" - 2017002 -> "All I've Got" - 2017003 -> "All I've Got" - 2019001 -> "Head-On" - 2019002 -> "Head-On" - 2019003 -> "Head-On" - 2020001 -> "Familiar Ground" - 2020002 -> "Familiar Ground" - 2020003 -> "Familiar Ground" - 2020101 -> "Feature Act" - 2020102 -> "Feature Act" - 2020103 -> "Feature Act" - 2020201 -> "Early Start" - 2020202 -> "Early Start" - 2020203 -> "Early Start" - 2020301 -> "Risky Business" - 2020302 -> "Risky Business" - 2020303 -> "Risky Business" - 2020401 -> "Light as a Feather" - 2020402 -> "Light as a Feather" - 2020403 -> "Light as a Feather" - 2100101 -> "Ignited Spirit SPD" - 2100102 -> "Ignited Spirit SPD" - 2100103 -> "Ignited Spirit SPD" - 2100201 -> "Ignited Spirit STA" - 2100202 -> "Ignited Spirit STA" - 2100203 -> "Ignited Spirit STA" - 2100301 -> "Ignited Spirit PWR" - 2100302 -> "Ignited Spirit PWR" - 2100303 -> "Ignited Spirit PWR" - 2100401 -> "Ignited Spirit GUTS" - 2100402 -> "Ignited Spirit GUTS" - 2100403 -> "Ignited Spirit GUTS" - 2100501 -> "Ignited Spirit WIT" - 2100502 -> "Ignited Spirit WIT" - 2100503 -> "Ignited Spirit WIT" - 3000101 -> "URA Finale" - 3000102 -> "URA Finale" - 3000103 -> "URA Finale" - 3000201 -> "Unity Cup" - 3000202 -> "Unity Cup" - 3000203 -> "Unity Cup" - 10010101 -> "Shooting Star" - 10010102 -> "Shooting Star" - 10010103 -> "Shooting Star" - 10010201 -> "Dazzl'n ♪ Diver" - 10010202 -> "Dazzl'n ♪ Diver" - 10010203 -> "Dazzl'n ♪ Diver" - 10020101 -> "The View from the Lead Is Mine!" - 10020102 -> "The View from the Lead Is Mine!" - 10020103 -> "The View from the Lead Is Mine!" - 10030101 -> "Sky-High Teio Step" - 10030102 -> "Sky-High Teio Step" - 10030103 -> "Sky-High Teio Step" - 10030201 -> "Certain Victory" - 10030202 -> "Certain Victory" - 10030203 -> "Certain Victory" - 10040101 -> "Red Shift/LP1211-M" - 10040102 -> "Red Shift/LP1211-M" - 10040103 -> "Red Shift/LP1211-M" - 10040201 -> "A Kiss for Courage" - 10040202 -> "A Kiss for Courage" - 10040203 -> "A Kiss for Courage" - 10050101 -> "Lights of Vaudeville" - 10050102 -> "Lights of Vaudeville" - 10050103 -> "Lights of Vaudeville" - 10060101 -> "Triumphant Pulse" - 10060102 -> "Triumphant Pulse" - 10060103 -> "Triumphant Pulse" - 10060201 -> "Festive Miracle" - 10060202 -> "Festive Miracle" - 10060203 -> "Festive Miracle" - 10070101 -> "Anchors Aweigh!" - 10070102 -> "Anchors Aweigh!" - 10070103 -> "Anchors Aweigh!" - 10080101 -> "Cut and Drive!" - 10080102 -> "Cut and Drive!" - 10080103 -> "Cut and Drive!" - 10090101 -> "Resplendent Red Ace" - 10090102 -> "Resplendent Red Ace" - 10090103 -> "Resplendent Red Ace" - 10100101 -> "Shooting for Victory!" - 10100102 -> "Shooting for Victory!" - 10100103 -> "Shooting for Victory!" - 10110101 -> "Where There's a Will, There's a Way" - 10110102 -> "Where There's a Will, There's a Way" - 10110103 -> "Where There's a Will, There's a Way" - 10110201 -> "Superior Heal" - 10110202 -> "Superior Heal" - 10110203 -> "Superior Heal" - 10120101 -> "You and Me! One-on-One!" - 10120102 -> "You and Me! One-on-One!" - 10120103 -> "You and Me! One-on-One!" - 10130101 -> "The Duty of Dignity Calls" - 10130102 -> "The Duty of Dignity Calls" - 10130103 -> "The Duty of Dignity Calls" - 10130201 -> "Legacy of the Strong" - 10130202 -> "Legacy of the Strong" - 10130203 -> "Legacy of the Strong" - 10140101 -> "Victoria por plancha ☆" - 10140102 -> "Victoria por plancha ☆" - 10140103 -> "Victoria por plancha ☆" - 10140201 -> "Condor's Fury" - 10140202 -> "Condor's Fury" - 10140203 -> "Condor's Fury" - 10150101 -> "This Dance Is for Vittoria!" - 10150102 -> "This Dance Is for Vittoria!" - 10150103 -> "This Dance Is for Vittoria!" - 10150201 -> "Barcarole of Blessings" - 10150202 -> "Barcarole of Blessings" - 10150203 -> "Barcarole of Blessings" - 10160101 -> "Shadow Break" - 10160102 -> "Shadow Break" - 10160103 -> "Shadow Break" - 10170101 -> "Behold Thine Emperor's Divine Might" - 10170102 -> "Behold Thine Emperor's Divine Might" - 10170103 -> "Behold Thine Emperor's Divine Might" - 10170201 -> "Arrows Whistle, Shadows Disperse" - 10170202 -> "Arrows Whistle, Shadows Disperse" - 10170203 -> "Arrows Whistle, Shadows Disperse" - 10180101 -> "Blazing Pride" - 10180102 -> "Blazing Pride" - 10180103 -> "Blazing Pride" - 10180201 -> "Eternal Moments" - 10180202 -> "Eternal Moments" - 10180203 -> "Eternal Moments" - 10190101 -> "OMG! (゚∀゚) The Final Sprint! ☆" - 10190102 -> "OMG! (゚∀゚) The Final Sprint! ☆" - 10190103 -> "OMG! (゚∀゚) The Final Sprint! ☆" - 10200101 -> "Angling and Scheming" - 10200102 -> "Angling and Scheming" - 10200103 -> "Angling and Scheming" - 10210101 -> "White Lightning Comin' Through!" - 10210102 -> "White Lightning Comin' Through!" - 10210103 -> "White Lightning Comin' Through!" - 10220101 -> "Fairy Tale" - 10220102 -> "Fairy Tale" - 10220103 -> "Fairy Tale" - 10230101 -> "∴win Q.E.D." - 10230102 -> "∴win Q.E.D." - 10230103 -> "∴win Q.E.D." - 10230201 -> "Presents from X" - 10230202 -> "Presents from X" - 10230203 -> "Presents from X" - 10240101 -> "Flashy☆Landing" - 10240102 -> "Flashy☆Landing" - 10240103 -> "Flashy☆Landing" - 10240201 -> "Flowery☆Maneuver" - 10240202 -> "Flowery☆Maneuver" - 10240203 -> "Flowery☆Maneuver" - 10250101 -> "Chasing after You" - 10250102 -> "Chasing after You" - 10250103 -> "Chasing after You" - 10260101 -> "G00 1st. F∞;" - 10260102 -> "G00 1st. F∞;" - 10260103 -> "G00 1st. F∞;" - 10260201 -> "Operation Cacao" - 10260202 -> "Operation Cacao" - 10260203 -> "Operation Cacao" - 10270101 -> "Let's Pump Some Iron!" - 10270102 -> "Let's Pump Some Iron!" - 10270103 -> "Let's Pump Some Iron!" - 10280101 -> "YUMMY☆SPEED!" - 10280102 -> "YUMMY☆SPEED!" - 10280103 -> "YUMMY☆SPEED!" - 10300101 -> "Blue Rose Closer" - 10300102 -> "Blue Rose Closer" - 10300103 -> "Blue Rose Closer" - 10300201 -> "Every Rose Has Its Fangs" - 10300202 -> "Every Rose Has Its Fangs" - 10300203 -> "Every Rose Has Its Fangs" - 10320101 -> "U=ma2" - 10320102 -> "U=ma2" - 10320103 -> "U=ma2" - 10330101 -> "Shooting Star of Dioskouroi" - 10330102 -> "Shooting Star of Dioskouroi" - 10330103 -> "Shooting Star of Dioskouroi" - 10350101 -> "Our Ticket to Win!" - 10350102 -> "Our Ticket to Win!" - 10350103 -> "Our Ticket to Win!" - 10370101 -> "Schwarzes Schwert" - 10370102 -> "Schwarzes Schwert" - 10370103 -> "Schwarzes Schwert" - 10370201 -> "Guten Appetit ♪" - 10370202 -> "Guten Appetit ♪" - 10370203 -> "Guten Appetit ♪" - 10380101 -> "#LookatCurren" - 10380102 -> "#LookatCurren" - 10380103 -> "#LookatCurren" - 10390101 -> "A Princess Must Seize Victory!" - 10390102 -> "A Princess Must Seize Victory!" - 10390103 -> "A Princess Must Seize Victory!" - 10400101 -> "KEEP IT REAL." - 10400102 -> "KEEP IT REAL." - 10400103 -> "KEEP IT REAL." - 10400201 -> "Dancing in the Leaves" - 10400202 -> "Dancing in the Leaves" - 10400203 -> "Dancing in the Leaves" - 10410101 -> "Genius x Bakushin = Victory" - 10410102 -> "Genius x Bakushin = Victory" - 10410103 -> "Genius x Bakushin = Victory" - 10450101 -> "Pure Heart" - 10450102 -> "Pure Heart" - 10450103 -> "Pure Heart" - 10450201 -> "Give Mummy a Hug ♡" - 10450202 -> "Give Mummy a Hug ♡" - 10450203 -> "Give Mummy a Hug ♡" - 10460101 -> "SPARKLY☆STARDOM" - 10460102 -> "SPARKLY☆STARDOM" - 10460103 -> "SPARKLY☆STARDOM" - 10480101 -> "Pop & Polish" - 10480102 -> "Pop & Polish" - 10480103 -> "Pop & Polish" - 10500101 -> "Nemesis" - 10500102 -> "Nemesis" - 10500103 -> "Nemesis" - 10520101 -> "Super-Duper Climax" - 10520102 -> "Super-Duper Climax" - 10520103 -> "Super-Duper Climax" - 10520201 -> "114th Time's the Charm" - 10520202 -> "114th Time's the Charm" - 10520203 -> "114th Time's the Charm" - 10560101 -> "I See Victory in My Future!" - 10560102 -> "I See Victory in My Future!" - 10560103 -> "I See Victory in My Future!" - 10560201 -> "Bountiful Harvest" - 10560202 -> "Bountiful Harvest" - 10560203 -> "Bountiful Harvest" - 10580101 -> "I Never Goof Up!" - 10580102 -> "I Never Goof Up!" - 10580103 -> "I Never Goof Up!" - 10590101 -> "Moving Past, and Beyond" - 10590102 -> "Moving Past, and Beyond" - 10590103 -> "Moving Past, and Beyond" - 10600101 -> "Just a Little Farther!" - 10600102 -> "Just a Little Farther!" - 10600103 -> "Just a Little Farther!" - 10610101 -> "Prideful King" - 10610102 -> "Prideful King" - 10610103 -> "Prideful King" - 10690101 -> "Ambition to Surpass the Sakura" - 10690102 -> "Ambition to Surpass the Sakura" - 10690103 -> "Ambition to Surpass the Sakura" - 10710101 -> "A Lifelong Dream, A Moment's Flight" - 10710102 -> "A Lifelong Dream, A Moment's Flight" - 10710103 -> "A Lifelong Dream, A Moment's Flight" - x -> "spark " ++ x.show - -// Get the description for a spark. -// The description does not indicate the spark level. -// If no spark matches the ID, the result contains the numeric ID. -pub fun description(s: spark-id): string - match s.game-id - 101 -> "A Spark that increases Speed." - 102 -> "A Spark that increases Speed." - 103 -> "A Spark that increases Speed." - 201 -> "A Spark that increases Stamina." - 202 -> "A Spark that increases Stamina." - 203 -> "A Spark that increases Stamina." - 301 -> "A Spark that increases Power." - 302 -> "A Spark that increases Power." - 303 -> "A Spark that increases Power." - 401 -> "A Spark that increases Guts." - 402 -> "A Spark that increases Guts." - 403 -> "A Spark that increases Guts." - 501 -> "A Spark that increases Wit." - 502 -> "A Spark that increases Wit." - 503 -> "A Spark that increases Wit." - 1101 -> "A Spark that increases Turf Aptitude." - 1102 -> "A Spark that increases Turf Aptitude." - 1103 -> "A Spark that increases Turf Aptitude." - 1201 -> "A Spark that increases Dirt Aptitude." - 1202 -> "A Spark that increases Dirt Aptitude." - 1203 -> "A Spark that increases Dirt Aptitude." - 2101 -> "A Spark that increases Front Runner Aptitude." - 2102 -> "A Spark that increases Front Runner Aptitude." - 2103 -> "A Spark that increases Front Runner Aptitude." - 2201 -> "A Spark that increases Pace Chaser Aptitude." - 2202 -> "A Spark that increases Pace Chaser Aptitude." - 2203 -> "A Spark that increases Pace Chaser Aptitude." - 2301 -> "A Spark that increases Late Surger Aptitude." - 2302 -> "A Spark that increases Late Surger Aptitude." - 2303 -> "A Spark that increases Late Surger Aptitude." - 2401 -> "A Spark that increases End Closer Aptitude." - 2402 -> "A Spark that increases End Closer Aptitude." - 2403 -> "A Spark that increases End Closer Aptitude." - 3101 -> "A Spark that increases Sprint-Distance Aptitude." - 3102 -> "A Spark that increases Sprint-Distance Aptitude." - 3103 -> "A Spark that increases Sprint-Distance Aptitude." - 3201 -> "A Spark that increases Mile-Distance Aptitude." - 3202 -> "A Spark that increases Mile-Distance Aptitude." - 3203 -> "A Spark that increases Mile-Distance Aptitude." - 3301 -> "A Spark that increases Medium-Distance Aptitude." - 3302 -> "A Spark that increases Medium-Distance Aptitude." - 3303 -> "A Spark that increases Medium-Distance Aptitude." - 3401 -> "A Spark that increases Long-Distance Aptitude." - 3402 -> "A Spark that increases Long-Distance Aptitude." - 3403 -> "A Spark that increases Long-Distance Aptitude." - 1000101 -> "A Spark that increases Power and gives a skill hint for \"Winter Runner ○\"." - 1000102 -> "A Spark that increases Power and gives a skill hint for \"Winter Runner ○\"." - 1000103 -> "A Spark that increases Power and gives a skill hint for \"Winter Runner ○\"." - 1000201 -> "A Spark that increases Speed and gives a skill hint for \"Chukyo Racecourse ○\"." - 1000202 -> "A Spark that increases Speed and gives a skill hint for \"Chukyo Racecourse ○\"." - 1000203 -> "A Spark that increases Speed and gives a skill hint for \"Chukyo Racecourse ○\"." - 1000301 -> "A Spark that increases Guts and gives a skill hint for \"Standard Distance ○\"." - 1000302 -> "A Spark that increases Guts and gives a skill hint for \"Standard Distance ○\"." - 1000303 -> "A Spark that increases Guts and gives a skill hint for \"Standard Distance ○\"." - 1000401 -> "A Spark that increases Guts and gives a skill hint for \"Hanshin Racecourse ○\"." - 1000402 -> "A Spark that increases Guts and gives a skill hint for \"Hanshin Racecourse ○\"." - 1000403 -> "A Spark that increases Guts and gives a skill hint for \"Hanshin Racecourse ○\"." - 1000501 -> "A Spark that increases Power and gives a skill hint for \"Nakayama Racecourse ○\"." - 1000502 -> "A Spark that increases Power and gives a skill hint for \"Nakayama Racecourse ○\"." - 1000503 -> "A Spark that increases Power and gives a skill hint for \"Nakayama Racecourse ○\"." - 1000601 -> "A Spark that increases Stamina and gives a skill hint for \"Spring Runner ○\"." - 1000602 -> "A Spark that increases Stamina and gives a skill hint for \"Spring Runner ○\"." - 1000603 -> "A Spark that increases Stamina and gives a skill hint for \"Spring Runner ○\"." - 1000701 -> "A Spark that increases Speed and Power." - 1000702 -> "A Spark that increases Speed and Power." - 1000703 -> "A Spark that increases Speed and Power." - 1000801 -> "A Spark that increases Speed and Power." - 1000802 -> "A Spark that increases Speed and Power." - 1000803 -> "A Spark that increases Speed and Power." - 1000901 -> "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\"." - 1000902 -> "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\"." - 1000903 -> "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\"." - 1001001 -> "A Spark that increases Guts and gives a skill hint for \"Tokyo Racecourse ○\"." - 1001002 -> "A Spark that increases Guts and gives a skill hint for \"Tokyo Racecourse ○\"." - 1001003 -> "A Spark that increases Guts and gives a skill hint for \"Tokyo Racecourse ○\"." - 1001101 -> "A Spark that increases Speed and gives a skill hint for \"Tokyo Racecourse ○\"." - 1001102 -> "A Spark that increases Speed and gives a skill hint for \"Tokyo Racecourse ○\"." - 1001103 -> "A Spark that increases Speed and gives a skill hint for \"Tokyo Racecourse ○\"." - 1001201 -> "A Spark that increases Guts and gives a skill hint for \"Summer Runner ○\"." - 1001202 -> "A Spark that increases Guts and gives a skill hint for \"Summer Runner ○\"." - 1001203 -> "A Spark that increases Guts and gives a skill hint for \"Summer Runner ○\"." - 1001301 -> "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\"." - 1001302 -> "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\"." - 1001303 -> "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\"." - 1001401 -> "A Spark that increases Wit and gives a skill hint for \"Kyoto Racecourse ○\"." - 1001402 -> "A Spark that increases Wit and gives a skill hint for \"Kyoto Racecourse ○\"." - 1001403 -> "A Spark that increases Wit and gives a skill hint for \"Kyoto Racecourse ○\"." - 1001501 -> "A Spark that increases Stamina and gives a skill hint for \"Kyoto Racecourse ○\"." - 1001502 -> "A Spark that increases Stamina and gives a skill hint for \"Kyoto Racecourse ○\"." - 1001503 -> "A Spark that increases Stamina and gives a skill hint for \"Kyoto Racecourse ○\"." - 1001601 -> "A Spark that increases Speed and gives a skill hint for \"Fall Runner ○\"." - 1001602 -> "A Spark that increases Speed and gives a skill hint for \"Fall Runner ○\"." - 1001603 -> "A Spark that increases Speed and gives a skill hint for \"Fall Runner ○\"." - 1001701 -> "A Spark that increases Stamina and gives a skill hint for \"Non-Standard Distance ○\"." - 1001702 -> "A Spark that increases Stamina and gives a skill hint for \"Non-Standard Distance ○\"." - 1001703 -> "A Spark that increases Stamina and gives a skill hint for \"Non-Standard Distance ○\"." - 1001801 -> "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\"." - 1001802 -> "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\"." - 1001803 -> "A Spark that increases Speed and gives a skill hint for \"Standard Distance ○\"." - 1001901 -> "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\"." - 1001902 -> "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\"." - 1001903 -> "A Spark that increases Stamina and gives a skill hint for \"Tokyo Racecourse ○\"." - 1002001 -> "A Spark that increases Power and gives a skill hint for \"Chukyo Racecourse ○\"." - 1002002 -> "A Spark that increases Power and gives a skill hint for \"Chukyo Racecourse ○\"." - 1002003 -> "A Spark that increases Power and gives a skill hint for \"Chukyo Racecourse ○\"." - 1002101 -> "A Spark that increases Speed and Power." - 1002102 -> "A Spark that increases Speed and Power." - 1002103 -> "A Spark that increases Speed and Power." - 1002201 -> "A Spark that increases Speed and Guts." - 1002202 -> "A Spark that increases Speed and Guts." - 1002203 -> "A Spark that increases Speed and Guts." - 1002301 -> "A Spark that increases Guts and gives a skill hint for \"Nakayama Racecourse ○\"." - 1002302 -> "A Spark that increases Guts and gives a skill hint for \"Nakayama Racecourse ○\"." - 1002303 -> "A Spark that increases Guts and gives a skill hint for \"Nakayama Racecourse ○\"." - 1002401 -> "A Spark that increases Speed and Stamina." - 1002402 -> "A Spark that increases Speed and Stamina." - 1002403 -> "A Spark that increases Speed and Stamina." - 1002501 -> "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\"." - 1002502 -> "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\"." - 1002503 -> "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\"." - 1002601 -> "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\"." - 1002602 -> "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\"." - 1002603 -> "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\"." - 1002701 -> "A Spark that increases Speed and Guts." - 1002702 -> "A Spark that increases Speed and Guts." - 1002703 -> "A Spark that increases Speed and Guts." - 1002801 -> "A Spark that increases Power and Guts." - 1002802 -> "A Spark that increases Power and Guts." - 1002803 -> "A Spark that increases Power and Guts." - 1002901 -> "A Spark that increases Stamina and Guts." - 1002902 -> "A Spark that increases Stamina and Guts." - 1002903 -> "A Spark that increases Stamina and Guts." - 1003001 -> "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\"." - 1003002 -> "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\"." - 1003003 -> "A Spark that increases Power and gives a skill hint for \"Oi Racecourse ○\"." - 2000101 -> "A Spark that gives a skill hint for \"Right-Handed ○\"." - 2000102 -> "A Spark that gives a skill hint for \"Right-Handed ○\"." - 2000103 -> "A Spark that gives a skill hint for \"Right-Handed ○\"." - 2000201 -> "A Spark that gives a skill hint for \"Left-Handed ○\"." - 2000202 -> "A Spark that gives a skill hint for \"Left-Handed ○\"." - 2000203 -> "A Spark that gives a skill hint for \"Left-Handed ○\"." - 2000301 -> "A Spark that gives a skill hint for \"Tokyo Racecourse ○\"." - 2000302 -> "A Spark that gives a skill hint for \"Tokyo Racecourse ○\"." - 2000303 -> "A Spark that gives a skill hint for \"Tokyo Racecourse ○\"." - 2000401 -> "A Spark that gives a skill hint for \"Nakayama Racecourse ○\"." - 2000402 -> "A Spark that gives a skill hint for \"Nakayama Racecourse ○\"." - 2000403 -> "A Spark that gives a skill hint for \"Nakayama Racecourse ○\"." - 2000501 -> "A Spark that gives a skill hint for \"Hanshin Racecourse ○\"." - 2000502 -> "A Spark that gives a skill hint for \"Hanshin Racecourse ○\"." - 2000503 -> "A Spark that gives a skill hint for \"Hanshin Racecourse ○\"." - 2000601 -> "A Spark that gives a skill hint for \"Kyoto Racecourse ○\"." - 2000602 -> "A Spark that gives a skill hint for \"Kyoto Racecourse ○\"." - 2000603 -> "A Spark that gives a skill hint for \"Kyoto Racecourse ○\"." - 2000701 -> "A Spark that gives a skill hint for \"Chukyo Racecourse ○\"." - 2000702 -> "A Spark that gives a skill hint for \"Chukyo Racecourse ○\"." - 2000703 -> "A Spark that gives a skill hint for \"Chukyo Racecourse ○\"." - 2000801 -> "A Spark that gives a skill hint for \"Sapporo Racecourse ○\"." - 2000802 -> "A Spark that gives a skill hint for \"Sapporo Racecourse ○\"." - 2000803 -> "A Spark that gives a skill hint for \"Sapporo Racecourse ○\"." - 2000901 -> "A Spark that gives a skill hint for \"Hakodate Racecourse ○\"." - 2000902 -> "A Spark that gives a skill hint for \"Hakodate Racecourse ○\"." - 2000903 -> "A Spark that gives a skill hint for \"Hakodate Racecourse ○\"." - 2001001 -> "A Spark that gives a skill hint for \"Fukushima Racecourse ○\"." - 2001002 -> "A Spark that gives a skill hint for \"Fukushima Racecourse ○\"." - 2001003 -> "A Spark that gives a skill hint for \"Fukushima Racecourse ○\"." - 2001101 -> "A Spark that gives a skill hint for \"Niigata Racecourse ○\"." - 2001102 -> "A Spark that gives a skill hint for \"Niigata Racecourse ○\"." - 2001103 -> "A Spark that gives a skill hint for \"Niigata Racecourse ○\"." - 2001201 -> "A Spark that gives a skill hint for \"Kokura Racecourse ○\"." - 2001202 -> "A Spark that gives a skill hint for \"Kokura Racecourse ○\"." - 2001203 -> "A Spark that gives a skill hint for \"Kokura Racecourse ○\"." - 2001301 -> "A Spark that gives a skill hint for \"Standard Distance ○\"." - 2001302 -> "A Spark that gives a skill hint for \"Standard Distance ○\"." - 2001303 -> "A Spark that gives a skill hint for \"Standard Distance ○\"." - 2001401 -> "A Spark that gives a skill hint for \"Non-Standard Distance ○\"." - 2001402 -> "A Spark that gives a skill hint for \"Non-Standard Distance ○\"." - 2001403 -> "A Spark that gives a skill hint for \"Non-Standard Distance ○\"." - 2001501 -> "A Spark that gives a skill hint for \"Firm Conditions ○\"." - 2001502 -> "A Spark that gives a skill hint for \"Firm Conditions ○\"." - 2001503 -> "A Spark that gives a skill hint for \"Firm Conditions ○\"." - 2001601 -> "A Spark that gives a skill hint for \"Wet Conditions ○\"." - 2001602 -> "A Spark that gives a skill hint for \"Wet Conditions ○\"." - 2001603 -> "A Spark that gives a skill hint for \"Wet Conditions ○\"." - 2001701 -> "A Spark that gives a skill hint for \"Spring Runner ○\"." - 2001702 -> "A Spark that gives a skill hint for \"Spring Runner ○\"." - 2001703 -> "A Spark that gives a skill hint for \"Spring Runner ○\"." - 2001801 -> "A Spark that gives a skill hint for \"Summer Runner ○\"." - 2001802 -> "A Spark that gives a skill hint for \"Summer Runner ○\"." - 2001803 -> "A Spark that gives a skill hint for \"Summer Runner ○\"." - 2001901 -> "A Spark that gives a skill hint for \"Fall Runner ○\"." - 2001902 -> "A Spark that gives a skill hint for \"Fall Runner ○\"." - 2001903 -> "A Spark that gives a skill hint for \"Fall Runner ○\"." - 2002001 -> "A Spark that gives a skill hint for \"Winter Runner ○\"." - 2002002 -> "A Spark that gives a skill hint for \"Winter Runner ○\"." - 2002003 -> "A Spark that gives a skill hint for \"Winter Runner ○\"." - 2002101 -> "A Spark that gives a skill hint for \"Sunny Days ○\"." - 2002102 -> "A Spark that gives a skill hint for \"Sunny Days ○\"." - 2002103 -> "A Spark that gives a skill hint for \"Sunny Days ○\"." - 2002201 -> "A Spark that gives a skill hint for \"Cloudy Days ○\"." - 2002202 -> "A Spark that gives a skill hint for \"Cloudy Days ○\"." - 2002203 -> "A Spark that gives a skill hint for \"Cloudy Days ○\"." - 2002301 -> "A Spark that gives a skill hint for \"Rainy Days ○\"." - 2002302 -> "A Spark that gives a skill hint for \"Rainy Days ○\"." - 2002303 -> "A Spark that gives a skill hint for \"Rainy Days ○\"." - 2002401 -> "A Spark that gives a skill hint for \"Snowy Days ○\"." - 2002402 -> "A Spark that gives a skill hint for \"Snowy Days ○\"." - 2002403 -> "A Spark that gives a skill hint for \"Snowy Days ○\"." - 2002501 -> "A Spark that gives a skill hint for \"Inner Post Proficiency ○\"." - 2002502 -> "A Spark that gives a skill hint for \"Inner Post Proficiency ○\"." - 2002503 -> "A Spark that gives a skill hint for \"Inner Post Proficiency ○\"." - 2002601 -> "A Spark that gives a skill hint for \"Outer Post Proficiency ○\"." - 2002602 -> "A Spark that gives a skill hint for \"Outer Post Proficiency ○\"." - 2002603 -> "A Spark that gives a skill hint for \"Outer Post Proficiency ○\"." - 2002701 -> "A Spark that gives a skill hint for \"Maverick ○\"." - 2002702 -> "A Spark that gives a skill hint for \"Maverick ○\"." - 2002703 -> "A Spark that gives a skill hint for \"Maverick ○\"." - 2002801 -> "A Spark that gives a skill hint for \"Competitive Spirit ○\"." - 2002802 -> "A Spark that gives a skill hint for \"Competitive Spirit ○\"." - 2002803 -> "A Spark that gives a skill hint for \"Competitive Spirit ○\"." - 2002901 -> "A Spark that gives a skill hint for \"Target in Sight ○\"." - 2002902 -> "A Spark that gives a skill hint for \"Target in Sight ○\"." - 2002903 -> "A Spark that gives a skill hint for \"Target in Sight ○\"." - 2003001 -> "A Spark that gives a skill hint for \"Long Shot ○\"." - 2003002 -> "A Spark that gives a skill hint for \"Long Shot ○\"." - 2003003 -> "A Spark that gives a skill hint for \"Long Shot ○\"." - 2003301 -> "A Spark that gives a skill hint for \"Corner Adept ○\"." - 2003302 -> "A Spark that gives a skill hint for \"Corner Adept ○\"." - 2003303 -> "A Spark that gives a skill hint for \"Corner Adept ○\"." - 2003401 -> "A Spark that gives a skill hint for \"Corner Acceleration ○\"." - 2003402 -> "A Spark that gives a skill hint for \"Corner Acceleration ○\"." - 2003403 -> "A Spark that gives a skill hint for \"Corner Acceleration ○\"." - 2003501 -> "A Spark that gives a skill hint for \"Corner Recovery ○\"." - 2003502 -> "A Spark that gives a skill hint for \"Corner Recovery ○\"." - 2003503 -> "A Spark that gives a skill hint for \"Corner Recovery ○\"." - 2003601 -> "A Spark that gives a skill hint for \"Straightaway Adept\"." - 2003602 -> "A Spark that gives a skill hint for \"Straightaway Adept\"." - 2003603 -> "A Spark that gives a skill hint for \"Straightaway Adept\"." - 2003701 -> "A Spark that gives a skill hint for \"Straightaway Acceleration\"." - 2003702 -> "A Spark that gives a skill hint for \"Straightaway Acceleration\"." - 2003703 -> "A Spark that gives a skill hint for \"Straightaway Acceleration\"." - 2003801 -> "A Spark that gives a skill hint for \"Straightaway Recovery\"." - 2003802 -> "A Spark that gives a skill hint for \"Straightaway Recovery\"." - 2003803 -> "A Spark that gives a skill hint for \"Straightaway Recovery\"." - 2004301 -> "A Spark that gives a skill hint for \"Focus\"." - 2004302 -> "A Spark that gives a skill hint for \"Focus\"." - 2004303 -> "A Spark that gives a skill hint for \"Focus\"." - 2004401 -> "A Spark that gives a skill hint for \"Lay Low\"." - 2004402 -> "A Spark that gives a skill hint for \"Lay Low\"." - 2004403 -> "A Spark that gives a skill hint for \"Lay Low\"." - 2004501 -> "A Spark that gives a skill hint for \"Prudent Positioning\"." - 2004502 -> "A Spark that gives a skill hint for \"Prudent Positioning\"." - 2004503 -> "A Spark that gives a skill hint for \"Prudent Positioning\"." - 2004601 -> "A Spark that gives a skill hint for \"Ramp Up\"." - 2004602 -> "A Spark that gives a skill hint for \"Ramp Up\"." - 2004603 -> "A Spark that gives a skill hint for \"Ramp Up\"." - 2004701 -> "A Spark that gives a skill hint for \"Pace Strategy\"." - 2004702 -> "A Spark that gives a skill hint for \"Pace Strategy\"." - 2004703 -> "A Spark that gives a skill hint for \"Pace Strategy\"." - 2004801 -> "A Spark that gives a skill hint for \"Calm in a Crowd\"." - 2004802 -> "A Spark that gives a skill hint for \"Calm in a Crowd\"." - 2004803 -> "A Spark that gives a skill hint for \"Calm in a Crowd\"." - 2004901 -> "A Spark that gives a skill hint for \"Nimble Navigator\"." - 2004902 -> "A Spark that gives a skill hint for \"Nimble Navigator\"." - 2004903 -> "A Spark that gives a skill hint for \"Nimble Navigator\"." - 2005001 -> "A Spark that gives a skill hint for \"Go with the Flow\"." - 2005002 -> "A Spark that gives a skill hint for \"Go with the Flow\"." - 2005003 -> "A Spark that gives a skill hint for \"Go with the Flow\"." - 2005101 -> "A Spark that gives a skill hint for \"Homestretch Haste\"." - 2005102 -> "A Spark that gives a skill hint for \"Homestretch Haste\"." - 2005103 -> "A Spark that gives a skill hint for \"Homestretch Haste\"." - 2005301 -> "A Spark that gives a skill hint for \"Early Lead\"." - 2005302 -> "A Spark that gives a skill hint for \"Early Lead\"." - 2005303 -> "A Spark that gives a skill hint for \"Early Lead\"." - 2005401 -> "A Spark that gives a skill hint for \"Fast-Paced\"." - 2005402 -> "A Spark that gives a skill hint for \"Fast-Paced\"." - 2005403 -> "A Spark that gives a skill hint for \"Fast-Paced\"." - 2005501 -> "A Spark that gives a skill hint for \"Final Push\"." - 2005502 -> "A Spark that gives a skill hint for \"Final Push\"." - 2005503 -> "A Spark that gives a skill hint for \"Final Push\"." - 2005601 -> "A Spark that gives a skill hint for \"Stamina to Spare\"." - 2005602 -> "A Spark that gives a skill hint for \"Stamina to Spare\"." - 2005603 -> "A Spark that gives a skill hint for \"Stamina to Spare\"." - 2005701 -> "A Spark that gives a skill hint for \"Preferred Position\"." - 2005702 -> "A Spark that gives a skill hint for \"Preferred Position\"." - 2005703 -> "A Spark that gives a skill hint for \"Preferred Position\"." - 2005801 -> "A Spark that gives a skill hint for \"Prepared to Pass\"." - 2005802 -> "A Spark that gives a skill hint for \"Prepared to Pass\"." - 2005803 -> "A Spark that gives a skill hint for \"Prepared to Pass\"." - 2005901 -> "A Spark that gives a skill hint for \"Position Pilfer\"." - 2005902 -> "A Spark that gives a skill hint for \"Position Pilfer\"." - 2005903 -> "A Spark that gives a skill hint for \"Position Pilfer\"." - 2006001 -> "A Spark that gives a skill hint for \"Slick Surge\"." - 2006002 -> "A Spark that gives a skill hint for \"Slick Surge\"." - 2006003 -> "A Spark that gives a skill hint for \"Slick Surge\"." - 2006101 -> "A Spark that gives a skill hint for \"Outer Swell\"." - 2006102 -> "A Spark that gives a skill hint for \"Outer Swell\"." - 2006103 -> "A Spark that gives a skill hint for \"Outer Swell\"." - 2006201 -> "A Spark that gives a skill hint for \"Standing By\"." - 2006202 -> "A Spark that gives a skill hint for \"Standing By\"." - 2006203 -> "A Spark that gives a skill hint for \"Standing By\"." - 2006301 -> "A Spark that gives a skill hint for \"Masterful Gambit\"." - 2006302 -> "A Spark that gives a skill hint for \"Masterful Gambit\"." - 2006303 -> "A Spark that gives a skill hint for \"Masterful Gambit\"." - 2006401 -> "A Spark that gives a skill hint for \"Straightaway Spurt\"." - 2006402 -> "A Spark that gives a skill hint for \"Straightaway Spurt\"." - 2006403 -> "A Spark that gives a skill hint for \"Straightaway Spurt\"." - 2006501 -> "A Spark that gives a skill hint for \"Sprinting Gear\"." - 2006502 -> "A Spark that gives a skill hint for \"Sprinting Gear\"." - 2006503 -> "A Spark that gives a skill hint for \"Sprinting Gear\"." - 2006601 -> "A Spark that gives a skill hint for \"Wait-and-See\"." - 2006602 -> "A Spark that gives a skill hint for \"Wait-and-See\"." - 2006603 -> "A Spark that gives a skill hint for \"Wait-and-See\"." - 2006701 -> "A Spark that gives a skill hint for \"Gap Closer\"." - 2006702 -> "A Spark that gives a skill hint for \"Gap Closer\"." - 2006703 -> "A Spark that gives a skill hint for \"Gap Closer\"." - 2006801 -> "A Spark that gives a skill hint for \"Productive Plan\"." - 2006802 -> "A Spark that gives a skill hint for \"Productive Plan\"." - 2006803 -> "A Spark that gives a skill hint for \"Productive Plan\"." - 2006901 -> "A Spark that gives a skill hint for \"Watchful Eye\"." - 2006902 -> "A Spark that gives a skill hint for \"Watchful Eye\"." - 2006903 -> "A Spark that gives a skill hint for \"Watchful Eye\"." - 2007001 -> "A Spark that gives a skill hint for \"Updrafters\"." - 2007002 -> "A Spark that gives a skill hint for \"Updrafters\"." - 2007003 -> "A Spark that gives a skill hint for \"Updrafters\"." - 2007101 -> "A Spark that gives a skill hint for \"Rosy Outlook\"." - 2007102 -> "A Spark that gives a skill hint for \"Rosy Outlook\"." - 2007103 -> "A Spark that gives a skill hint for \"Rosy Outlook\"." - 2007201 -> "A Spark that gives a skill hint for \"Up-Tempo\"." - 2007202 -> "A Spark that gives a skill hint for \"Up-Tempo\"." - 2007203 -> "A Spark that gives a skill hint for \"Up-Tempo\"." - 2007301 -> "A Spark that gives a skill hint for \"Steadfast\"." - 2007302 -> "A Spark that gives a skill hint for \"Steadfast\"." - 2007303 -> "A Spark that gives a skill hint for \"Steadfast\"." - 2007401 -> "A Spark that gives a skill hint for \"Deep Breaths\"." - 2007402 -> "A Spark that gives a skill hint for \"Deep Breaths\"." - 2007403 -> "A Spark that gives a skill hint for \"Deep Breaths\"." - 2007501 -> "A Spark that gives a skill hint for \"Inside Scoop\"." - 2007502 -> "A Spark that gives a skill hint for \"Inside Scoop\"." - 2007503 -> "A Spark that gives a skill hint for \"Inside Scoop\"." - 2007601 -> "A Spark that gives a skill hint for \"Extra Tank\"." - 2007602 -> "A Spark that gives a skill hint for \"Extra Tank\"." - 2007603 -> "A Spark that gives a skill hint for \"Extra Tank\"." - 2007701 -> "A Spark that gives a skill hint for \"Trick (Front)\"." - 2007702 -> "A Spark that gives a skill hint for \"Trick (Front)\"." - 2007703 -> "A Spark that gives a skill hint for \"Trick (Front)\"." - 2007801 -> "A Spark that gives a skill hint for \"Trick (Rear)\"." - 2007802 -> "A Spark that gives a skill hint for \"Trick (Rear)\"." - 2007803 -> "A Spark that gives a skill hint for \"Trick (Rear)\"." - 2007901 -> "A Spark that gives a skill hint for \"Frenzied Front Runners\"." - 2007902 -> "A Spark that gives a skill hint for \"Frenzied Front Runners\"." - 2007903 -> "A Spark that gives a skill hint for \"Frenzied Front Runners\"." - 2008001 -> "A Spark that gives a skill hint for \"Frenzied Pace Chasers\"." - 2008002 -> "A Spark that gives a skill hint for \"Frenzied Pace Chasers\"." - 2008003 -> "A Spark that gives a skill hint for \"Frenzied Pace Chasers\"." - 2008101 -> "A Spark that gives a skill hint for \"Frenzied Late Surgers\"." - 2008102 -> "A Spark that gives a skill hint for \"Frenzied Late Surgers\"." - 2008103 -> "A Spark that gives a skill hint for \"Frenzied Late Surgers\"." - 2008201 -> "A Spark that gives a skill hint for \"Frenzied End Closers\"." - 2008202 -> "A Spark that gives a skill hint for \"Frenzied End Closers\"." - 2008203 -> "A Spark that gives a skill hint for \"Frenzied End Closers\"." - 2008301 -> "A Spark that gives a skill hint for \"Subdued Front Runners\"." - 2008302 -> "A Spark that gives a skill hint for \"Subdued Front Runners\"." - 2008303 -> "A Spark that gives a skill hint for \"Subdued Front Runners\"." - 2008401 -> "A Spark that gives a skill hint for \"Flustered Front Runners\"." - 2008402 -> "A Spark that gives a skill hint for \"Flustered Front Runners\"." - 2008403 -> "A Spark that gives a skill hint for \"Flustered Front Runners\"." - 2008501 -> "A Spark that gives a skill hint for \"Hesitant Front Runners\"." - 2008502 -> "A Spark that gives a skill hint for \"Hesitant Front Runners\"." - 2008503 -> "A Spark that gives a skill hint for \"Hesitant Front Runners\"." - 2008601 -> "A Spark that gives a skill hint for \"Subdued Pace Chasers\"." - 2008602 -> "A Spark that gives a skill hint for \"Subdued Pace Chasers\"." - 2008603 -> "A Spark that gives a skill hint for \"Subdued Pace Chasers\"." - 2008701 -> "A Spark that gives a skill hint for \"Flustered Pace Chasers\"." - 2008702 -> "A Spark that gives a skill hint for \"Flustered Pace Chasers\"." - 2008703 -> "A Spark that gives a skill hint for \"Flustered Pace Chasers\"." - 2008801 -> "A Spark that gives a skill hint for \"Hesitant Pace Chasers\"." - 2008802 -> "A Spark that gives a skill hint for \"Hesitant Pace Chasers\"." - 2008803 -> "A Spark that gives a skill hint for \"Hesitant Pace Chasers\"." - 2008901 -> "A Spark that gives a skill hint for \"Subdued Late Surgers\"." - 2008902 -> "A Spark that gives a skill hint for \"Subdued Late Surgers\"." - 2008903 -> "A Spark that gives a skill hint for \"Subdued Late Surgers\"." - 2009001 -> "A Spark that gives a skill hint for \"Flustered Late Surgers\"." - 2009002 -> "A Spark that gives a skill hint for \"Flustered Late Surgers\"." - 2009003 -> "A Spark that gives a skill hint for \"Flustered Late Surgers\"." - 2009101 -> "A Spark that gives a skill hint for \"Hesitant Late Surgers\"." - 2009102 -> "A Spark that gives a skill hint for \"Hesitant Late Surgers\"." - 2009103 -> "A Spark that gives a skill hint for \"Hesitant Late Surgers\"." - 2009201 -> "A Spark that gives a skill hint for \"Subdued End Closers\"." - 2009202 -> "A Spark that gives a skill hint for \"Subdued End Closers\"." - 2009203 -> "A Spark that gives a skill hint for \"Subdued End Closers\"." - 2009301 -> "A Spark that gives a skill hint for \"Flustered End Closers\"." - 2009302 -> "A Spark that gives a skill hint for \"Flustered End Closers\"." - 2009303 -> "A Spark that gives a skill hint for \"Flustered End Closers\"." - 2009401 -> "A Spark that gives a skill hint for \"Hesitant End Closers\"." - 2009402 -> "A Spark that gives a skill hint for \"Hesitant End Closers\"." - 2009403 -> "A Spark that gives a skill hint for \"Hesitant End Closers\"." - 2009501 -> "A Spark that gives a skill hint for \"Oi Racecourse ○\"." - 2009502 -> "A Spark that gives a skill hint for \"Oi Racecourse ○\"." - 2009503 -> "A Spark that gives a skill hint for \"Oi Racecourse ○\"." - 2009601 -> "A Spark that gives a skill hint for \"Sprint Straightaways ○\"." - 2009602 -> "A Spark that gives a skill hint for \"Sprint Straightaways ○\"." - 2009603 -> "A Spark that gives a skill hint for \"Sprint Straightaways ○\"." - 2009701 -> "A Spark that gives a skill hint for \"Sprint Corners ○\"." - 2009702 -> "A Spark that gives a skill hint for \"Sprint Corners ○\"." - 2009703 -> "A Spark that gives a skill hint for \"Sprint Corners ○\"." - 2009801 -> "A Spark that gives a skill hint for \"Huge Lead\"." - 2009802 -> "A Spark that gives a skill hint for \"Huge Lead\"." - 2009803 -> "A Spark that gives a skill hint for \"Huge Lead\"." - 2009901 -> "A Spark that gives a skill hint for \"Countermeasure\"." - 2009902 -> "A Spark that gives a skill hint for \"Countermeasure\"." - 2009903 -> "A Spark that gives a skill hint for \"Countermeasure\"." - 2010001 -> "A Spark that gives a skill hint for \"Meticulous Measures\"." - 2010002 -> "A Spark that gives a skill hint for \"Meticulous Measures\"." - 2010003 -> "A Spark that gives a skill hint for \"Meticulous Measures\"." - 2010101 -> "A Spark that gives a skill hint for \"Intimidate\"." - 2010102 -> "A Spark that gives a skill hint for \"Intimidate\"." - 2010103 -> "A Spark that gives a skill hint for \"Intimidate\"." - 2010201 -> "A Spark that gives a skill hint for \"Stop Right There!\"." - 2010202 -> "A Spark that gives a skill hint for \"Stop Right There!\"." - 2010203 -> "A Spark that gives a skill hint for \"Stop Right There!\"." - 2010301 -> "A Spark that gives a skill hint for \"Mile Straightaways ○\"." - 2010302 -> "A Spark that gives a skill hint for \"Mile Straightaways ○\"." - 2010303 -> "A Spark that gives a skill hint for \"Mile Straightaways ○\"." - 2010401 -> "A Spark that gives a skill hint for \"Mile Corners ○\"." - 2010402 -> "A Spark that gives a skill hint for \"Mile Corners ○\"." - 2010403 -> "A Spark that gives a skill hint for \"Mile Corners ○\"." - 2010501 -> "A Spark that gives a skill hint for \"Shifting Gears\"." - 2010502 -> "A Spark that gives a skill hint for \"Shifting Gears\"." - 2010503 -> "A Spark that gives a skill hint for \"Shifting Gears\"." - 2010601 -> "A Spark that gives a skill hint for \"Acceleration\"." - 2010602 -> "A Spark that gives a skill hint for \"Acceleration\"." - 2010603 -> "A Spark that gives a skill hint for \"Acceleration\"." - 2010701 -> "A Spark that gives a skill hint for \"Unyielding Spirit\"." - 2010702 -> "A Spark that gives a skill hint for \"Unyielding Spirit\"." - 2010703 -> "A Spark that gives a skill hint for \"Unyielding Spirit\"." - 2010801 -> "A Spark that gives a skill hint for \"Speed Eater\"." - 2010802 -> "A Spark that gives a skill hint for \"Speed Eater\"." - 2010803 -> "A Spark that gives a skill hint for \"Speed Eater\"." - 2010901 -> "A Spark that gives a skill hint for \"Opening Gambit\"." - 2010902 -> "A Spark that gives a skill hint for \"Opening Gambit\"." - 2010903 -> "A Spark that gives a skill hint for \"Opening Gambit\"." - 2011001 -> "A Spark that gives a skill hint for \"Medium Straightaways ○\"." - 2011002 -> "A Spark that gives a skill hint for \"Medium Straightaways ○\"." - 2011003 -> "A Spark that gives a skill hint for \"Medium Straightaways ○\"." - 2011101 -> "A Spark that gives a skill hint for \"Medium Corners ○\"." - 2011102 -> "A Spark that gives a skill hint for \"Medium Corners ○\"." - 2011103 -> "A Spark that gives a skill hint for \"Medium Corners ○\"." - 2011201 -> "A Spark that gives a skill hint for \"Hawkeye\"." - 2011202 -> "A Spark that gives a skill hint for \"Hawkeye\"." - 2011203 -> "A Spark that gives a skill hint for \"Hawkeye\"." - 2011301 -> "A Spark that gives a skill hint for \"Thunderbolt Step\"." - 2011302 -> "A Spark that gives a skill hint for \"Thunderbolt Step\"." - 2011303 -> "A Spark that gives a skill hint for \"Thunderbolt Step\"." - 2011401 -> "A Spark that gives a skill hint for \"Soft Step\"." - 2011402 -> "A Spark that gives a skill hint for \"Soft Step\"." - 2011403 -> "A Spark that gives a skill hint for \"Soft Step\"." - 2011501 -> "A Spark that gives a skill hint for \"Tether\"." - 2011502 -> "A Spark that gives a skill hint for \"Tether\"." - 2011503 -> "A Spark that gives a skill hint for \"Tether\"." - 2011601 -> "A Spark that gives a skill hint for \"Murmur\"." - 2011602 -> "A Spark that gives a skill hint for \"Murmur\"." - 2011603 -> "A Spark that gives a skill hint for \"Murmur\"." - 2011701 -> "A Spark that gives a skill hint for \"Long Straightaways ○\"." - 2011702 -> "A Spark that gives a skill hint for \"Long Straightaways ○\"." - 2011703 -> "A Spark that gives a skill hint for \"Long Straightaways ○\"." - 2011801 -> "A Spark that gives a skill hint for \"Long Corners ○\"." - 2011802 -> "A Spark that gives a skill hint for \"Long Corners ○\"." - 2011803 -> "A Spark that gives a skill hint for \"Long Corners ○\"." - 2011901 -> "A Spark that gives a skill hint for \"Keeping the Lead\"." - 2011902 -> "A Spark that gives a skill hint for \"Keeping the Lead\"." - 2011903 -> "A Spark that gives a skill hint for \"Keeping the Lead\"." - 2012001 -> "A Spark that gives a skill hint for \"Passing Pro\"." - 2012002 -> "A Spark that gives a skill hint for \"Passing Pro\"." - 2012003 -> "A Spark that gives a skill hint for \"Passing Pro\"." - 2012101 -> "A Spark that gives a skill hint for \"Pressure\"." - 2012102 -> "A Spark that gives a skill hint for \"Pressure\"." - 2012103 -> "A Spark that gives a skill hint for \"Pressure\"." - 2012201 -> "A Spark that gives a skill hint for \"Stamina Eater\"." - 2012202 -> "A Spark that gives a skill hint for \"Stamina Eater\"." - 2012203 -> "A Spark that gives a skill hint for \"Stamina Eater\"." - 2012301 -> "A Spark that gives a skill hint for \"Smoke Screen\"." - 2012302 -> "A Spark that gives a skill hint for \"Smoke Screen\"." - 2012303 -> "A Spark that gives a skill hint for \"Smoke Screen\"." - 2012401 -> "A Spark that gives a skill hint for \"Front Runner Straightaways ○\"." - 2012402 -> "A Spark that gives a skill hint for \"Front Runner Straightaways ○\"." - 2012403 -> "A Spark that gives a skill hint for \"Front Runner Straightaways ○\"." - 2012501 -> "A Spark that gives a skill hint for \"Front Runner Corners ○\"." - 2012502 -> "A Spark that gives a skill hint for \"Front Runner Corners ○\"." - 2012503 -> "A Spark that gives a skill hint for \"Front Runner Corners ○\"." - 2012601 -> "A Spark that gives a skill hint for \"Dodging Danger\"." - 2012602 -> "A Spark that gives a skill hint for \"Dodging Danger\"." - 2012603 -> "A Spark that gives a skill hint for \"Dodging Danger\"." - 2012701 -> "A Spark that gives a skill hint for \"Leader's Pride\"." - 2012702 -> "A Spark that gives a skill hint for \"Leader's Pride\"." - 2012703 -> "A Spark that gives a skill hint for \"Leader's Pride\"." - 2012801 -> "A Spark that gives a skill hint for \"Moxie\"." - 2012802 -> "A Spark that gives a skill hint for \"Moxie\"." - 2012803 -> "A Spark that gives a skill hint for \"Moxie\"." - 2012901 -> "A Spark that gives a skill hint for \"Second Wind\"." - 2012902 -> "A Spark that gives a skill hint for \"Second Wind\"." - 2012903 -> "A Spark that gives a skill hint for \"Second Wind\"." - 2013001 -> "A Spark that gives a skill hint for \"Restart\"." - 2013002 -> "A Spark that gives a skill hint for \"Restart\"." - 2013003 -> "A Spark that gives a skill hint for \"Restart\"." - 2013101 -> "A Spark that gives a skill hint for \"Pace Chaser Straightaways ○\"." - 2013102 -> "A Spark that gives a skill hint for \"Pace Chaser Straightaways ○\"." - 2013103 -> "A Spark that gives a skill hint for \"Pace Chaser Straightaways ○\"." - 2013201 -> "A Spark that gives a skill hint for \"Pace Chaser Corners ○\"." - 2013202 -> "A Spark that gives a skill hint for \"Pace Chaser Corners ○\"." - 2013203 -> "A Spark that gives a skill hint for \"Pace Chaser Corners ○\"." - 2013301 -> "A Spark that gives a skill hint for \"Shrewd Step\"." - 2013302 -> "A Spark that gives a skill hint for \"Shrewd Step\"." - 2013303 -> "A Spark that gives a skill hint for \"Shrewd Step\"." - 2013401 -> "A Spark that gives a skill hint for \"Straight Descent\"." - 2013402 -> "A Spark that gives a skill hint for \"Straight Descent\"." - 2013403 -> "A Spark that gives a skill hint for \"Straight Descent\"." - 2013501 -> "A Spark that gives a skill hint for \"Hydrate\"." - 2013502 -> "A Spark that gives a skill hint for \"Hydrate\"." - 2013503 -> "A Spark that gives a skill hint for \"Hydrate\"." - 2013601 -> "A Spark that gives a skill hint for \"Tactical Tweak\"." - 2013602 -> "A Spark that gives a skill hint for \"Tactical Tweak\"." - 2013603 -> "A Spark that gives a skill hint for \"Tactical Tweak\"." - 2013701 -> "A Spark that gives a skill hint for \"Disorient\"." - 2013702 -> "A Spark that gives a skill hint for \"Disorient\"." - 2013703 -> "A Spark that gives a skill hint for \"Disorient\"." - 2013801 -> "A Spark that gives a skill hint for \"Late Surger Straightaways ○\"." - 2013802 -> "A Spark that gives a skill hint for \"Late Surger Straightaways ○\"." - 2013803 -> "A Spark that gives a skill hint for \"Late Surger Straightaways ○\"." - 2013901 -> "A Spark that gives a skill hint for \"Late Surger Corners ○\"." - 2013902 -> "A Spark that gives a skill hint for \"Late Surger Corners ○\"." - 2013903 -> "A Spark that gives a skill hint for \"Late Surger Corners ○\"." - 2014001 -> "A Spark that gives a skill hint for \"Fighter\"." - 2014002 -> "A Spark that gives a skill hint for \"Fighter\"." - 2014003 -> "A Spark that gives a skill hint for \"Fighter\"." - 2014101 -> "A Spark that gives a skill hint for \"1,500,000 CC\"." - 2014102 -> "A Spark that gives a skill hint for \"1,500,000 CC\"." - 2014103 -> "A Spark that gives a skill hint for \"1,500,000 CC\"." - 2014201 -> "A Spark that gives a skill hint for \"A Small Breather\"." - 2014202 -> "A Spark that gives a skill hint for \"A Small Breather\"." - 2014203 -> "A Spark that gives a skill hint for \"A Small Breather\"." - 2014301 -> "A Spark that gives a skill hint for \"Studious\"." - 2014302 -> "A Spark that gives a skill hint for \"Studious\"." - 2014303 -> "A Spark that gives a skill hint for \"Studious\"." - 2014401 -> "A Spark that gives a skill hint for \"Sharp Gaze\"." - 2014402 -> "A Spark that gives a skill hint for \"Sharp Gaze\"." - 2014403 -> "A Spark that gives a skill hint for \"Sharp Gaze\"." - 2014501 -> "A Spark that gives a skill hint for \"End Closer Straightaways ○\"." - 2014502 -> "A Spark that gives a skill hint for \"End Closer Straightaways ○\"." - 2014503 -> "A Spark that gives a skill hint for \"End Closer Straightaways ○\"." - 2014601 -> "A Spark that gives a skill hint for \"End Closer Corners ○\"." - 2014602 -> "A Spark that gives a skill hint for \"End Closer Corners ○\"." - 2014603 -> "A Spark that gives a skill hint for \"End Closer Corners ○\"." - 2014701 -> "A Spark that gives a skill hint for \"I Can See Right Through You\"." - 2014702 -> "A Spark that gives a skill hint for \"I Can See Right Through You\"." - 2014703 -> "A Spark that gives a skill hint for \"I Can See Right Through You\"." - 2014801 -> "A Spark that gives a skill hint for \"After-School Stroll\"." - 2014802 -> "A Spark that gives a skill hint for \"After-School Stroll\"." - 2014803 -> "A Spark that gives a skill hint for \"After-School Stroll\"." - 2014901 -> "A Spark that gives a skill hint for \"Levelheaded\"." - 2014902 -> "A Spark that gives a skill hint for \"Levelheaded\"." - 2014903 -> "A Spark that gives a skill hint for \"Levelheaded\"." - 2015001 -> "A Spark that gives a skill hint for \"Strategist\"." - 2015002 -> "A Spark that gives a skill hint for \"Strategist\"." - 2015003 -> "A Spark that gives a skill hint for \"Strategist\"." - 2015101 -> "A Spark that gives a skill hint for \"Intense Gaze\"." - 2015102 -> "A Spark that gives a skill hint for \"Intense Gaze\"." - 2015103 -> "A Spark that gives a skill hint for \"Intense Gaze\"." - 2015201 -> "A Spark that gives a skill hint for \"Front Runner Savvy ○\"." - 2015202 -> "A Spark that gives a skill hint for \"Front Runner Savvy ○\"." - 2015203 -> "A Spark that gives a skill hint for \"Front Runner Savvy ○\"." - 2015301 -> "A Spark that gives a skill hint for \"Pace Chaser Savvy ○\"." - 2015302 -> "A Spark that gives a skill hint for \"Pace Chaser Savvy ○\"." - 2015303 -> "A Spark that gives a skill hint for \"Pace Chaser Savvy ○\"." - 2015401 -> "A Spark that gives a skill hint for \"Late Surger Savvy ○\"." - 2015402 -> "A Spark that gives a skill hint for \"Late Surger Savvy ○\"." - 2015403 -> "A Spark that gives a skill hint for \"Late Surger Savvy ○\"." - 2015501 -> "A Spark that gives a skill hint for \"End Closer Savvy ○\"." - 2015502 -> "A Spark that gives a skill hint for \"End Closer Savvy ○\"." - 2015503 -> "A Spark that gives a skill hint for \"End Closer Savvy ○\"." - 2015601 -> "A Spark that gives a skill hint for \"Lucky Seven\"." - 2015602 -> "A Spark that gives a skill hint for \"Lucky Seven\"." - 2015603 -> "A Spark that gives a skill hint for \"Lucky Seven\"." - 2015701 -> "A Spark that gives a skill hint for \"Triple 7s\"." - 2015702 -> "A Spark that gives a skill hint for \"Triple 7s\"." - 2015703 -> "A Spark that gives a skill hint for \"Triple 7s\"." - 2015801 -> "A Spark that gives a skill hint for \"Highlander\"." - 2015802 -> "A Spark that gives a skill hint for \"Highlander\"." - 2015803 -> "A Spark that gives a skill hint for \"Highlander\"." - 2015901 -> "A Spark that gives a skill hint for \"Uma Stan\"." - 2015902 -> "A Spark that gives a skill hint for \"Uma Stan\"." - 2015903 -> "A Spark that gives a skill hint for \"Uma Stan\"." - 2016001 -> "A Spark that gives a skill hint for \"Groundwork\"." - 2016002 -> "A Spark that gives a skill hint for \"Groundwork\"." - 2016003 -> "A Spark that gives a skill hint for \"Groundwork\"." - 2016101 -> "A Spark that gives a skill hint for \"Tail Held High\"." - 2016102 -> "A Spark that gives a skill hint for \"Tail Held High\"." - 2016103 -> "A Spark that gives a skill hint for \"Tail Held High\"." - 2016201 -> "A Spark that gives a skill hint for \"Shake It Out\"." - 2016202 -> "A Spark that gives a skill hint for \"Shake It Out\"." - 2016203 -> "A Spark that gives a skill hint for \"Shake It Out\"." - 2016301 -> "A Spark that gives a skill hint for \"Sympathy\"." - 2016302 -> "A Spark that gives a skill hint for \"Sympathy\"." - 2016303 -> "A Spark that gives a skill hint for \"Sympathy\"." - 2016401 -> "A Spark that gives a skill hint for \"Lone Wolf\"." - 2016402 -> "A Spark that gives a skill hint for \"Lone Wolf\"." - 2016403 -> "A Spark that gives a skill hint for \"Lone Wolf\"." - 2016501 -> "A Spark that gives a skill hint for \"Slipstream\"." - 2016502 -> "A Spark that gives a skill hint for \"Slipstream\"." - 2016503 -> "A Spark that gives a skill hint for \"Slipstream\"." - 2016601 -> "A Spark that gives a skill hint for \"Playtime's Over!\"." - 2016602 -> "A Spark that gives a skill hint for \"Playtime's Over!\"." - 2016603 -> "A Spark that gives a skill hint for \"Playtime's Over!\"." - 2016701 -> "A Spark that gives a skill hint for \"Top Pick\"." - 2016702 -> "A Spark that gives a skill hint for \"Top Pick\"." - 2016703 -> "A Spark that gives a skill hint for \"Top Pick\"." - 2016801 -> "A Spark that gives a skill hint for \"Forward, March!\"." - 2016802 -> "A Spark that gives a skill hint for \"Forward, March!\"." - 2016803 -> "A Spark that gives a skill hint for \"Forward, March!\"." - 2016901 -> "A Spark that gives a skill hint for \"Be Still\"." - 2016902 -> "A Spark that gives a skill hint for \"Be Still\"." - 2016903 -> "A Spark that gives a skill hint for \"Be Still\"." - 2017001 -> "A Spark that gives a skill hint for \"All I've Got\"." - 2017002 -> "A Spark that gives a skill hint for \"All I've Got\"." - 2017003 -> "A Spark that gives a skill hint for \"All I've Got\"." - 2019001 -> "A Spark that gives a skill hint for \"Head-On\"." - 2019002 -> "A Spark that gives a skill hint for \"Head-On\"." - 2019003 -> "A Spark that gives a skill hint for \"Head-On\"." - 2020001 -> "A Spark that gives a skill hint for \"Familiar Ground\"." - 2020002 -> "A Spark that gives a skill hint for \"Familiar Ground\"." - 2020003 -> "A Spark that gives a skill hint for \"Familiar Ground\"." - 2020101 -> "A Spark that gives a skill hint for \"Feature Act\"." - 2020102 -> "A Spark that gives a skill hint for \"Feature Act\"." - 2020103 -> "A Spark that gives a skill hint for \"Feature Act\"." - 2020201 -> "A Spark that gives a skill hint for \"Early Start\"." - 2020202 -> "A Spark that gives a skill hint for \"Early Start\"." - 2020203 -> "A Spark that gives a skill hint for \"Early Start\"." - 2020301 -> "A Spark that gives a skill hint for \"Risky Business\"." - 2020302 -> "A Spark that gives a skill hint for \"Risky Business\"." - 2020303 -> "A Spark that gives a skill hint for \"Risky Business\"." - 2020401 -> "A Spark that gives a skill hint for \"Light as a Feather\"." - 2020402 -> "A Spark that gives a skill hint for \"Light as a Feather\"." - 2020403 -> "A Spark that gives a skill hint for \"Light as a Feather\"." - 2100101 -> "A Spark that gives a skill hint for \"Ignited Spirit SPD\"." - 2100102 -> "A Spark that gives a skill hint for \"Ignited Spirit SPD\"." - 2100103 -> "A Spark that gives a skill hint for \"Ignited Spirit SPD\"." - 2100201 -> "A Spark that gives a skill hint for \"Ignited Spirit STA\"." - 2100202 -> "A Spark that gives a skill hint for \"Ignited Spirit STA\"." - 2100203 -> "A Spark that gives a skill hint for \"Ignited Spirit STA\"." - 2100301 -> "A Spark that gives a skill hint for \"Ignited Spirit PWR\"." - 2100302 -> "A Spark that gives a skill hint for \"Ignited Spirit PWR\"." - 2100303 -> "A Spark that gives a skill hint for \"Ignited Spirit PWR\"." - 2100401 -> "A Spark that gives a skill hint for \"Ignited Spirit GUTS\"." - 2100402 -> "A Spark that gives a skill hint for \"Ignited Spirit GUTS\"." - 2100403 -> "A Spark that gives a skill hint for \"Ignited Spirit GUTS\"." - 2100501 -> "A Spark that gives a skill hint for \"Ignited Spirit WIT\"." - 2100502 -> "A Spark that gives a skill hint for \"Ignited Spirit WIT\"." - 2100503 -> "A Spark that gives a skill hint for \"Ignited Spirit WIT\"." - 3000101 -> "A Spark that increases Speed and Stamina." - 3000102 -> "A Spark that increases Speed and Stamina." - 3000103 -> "A Spark that increases Speed and Stamina." - 3000201 -> "A Spark that increases power and wits." - 3000202 -> "A Spark that increases power and wits." - 3000203 -> "A Spark that increases power and wits." - 10010101 -> "A Spark that gives a skill hint for \"Shooting Star\"." - 10010102 -> "A Spark that gives a skill hint for \"Shooting Star\"." - 10010103 -> "A Spark that gives a skill hint for \"Shooting Star\"." - 10010201 -> "A Spark that gives a skill hint for \"Dazzl'n ♪ Diver\"." - 10010202 -> "A Spark that gives a skill hint for \"Dazzl'n ♪ Diver\"." - 10010203 -> "A Spark that gives a skill hint for \"Dazzl'n ♪ Diver\"." - 10020101 -> "A Spark that gives a skill hint for \"The View from the Lead Is Mine!\"." - 10020102 -> "A Spark that gives a skill hint for \"The View from the Lead Is Mine!\"." - 10020103 -> "A Spark that gives a skill hint for \"The View from the Lead Is Mine!\"." - 10030101 -> "A Spark that gives a skill hint for \"Sky-High Teio Step\"." - 10030102 -> "A Spark that gives a skill hint for \"Sky-High Teio Step\"." - 10030103 -> "A Spark that gives a skill hint for \"Sky-High Teio Step\"." - 10030201 -> "A Spark that gives a skill hint for \"Certain Victory\"." - 10030202 -> "A Spark that gives a skill hint for \"Certain Victory\"." - 10030203 -> "A Spark that gives a skill hint for \"Certain Victory\"." - 10040101 -> "A Spark that gives a skill hint for \"Red Shift/LP1211-M\"." - 10040102 -> "A Spark that gives a skill hint for \"Red Shift/LP1211-M\"." - 10040103 -> "A Spark that gives a skill hint for \"Red Shift/LP1211-M\"." - 10040201 -> "A Spark that gives a skill hint for \"A Kiss for Courage\"." - 10040202 -> "A Spark that gives a skill hint for \"A Kiss for Courage\"." - 10040203 -> "A Spark that gives a skill hint for \"A Kiss for Courage\"." - 10050101 -> "A Spark that gives a skill hint for \"Lights of Vaudeville\"." - 10050102 -> "A Spark that gives a skill hint for \"Lights of Vaudeville\"." - 10050103 -> "A Spark that gives a skill hint for \"Lights of Vaudeville\"." - 10060101 -> "A Spark that gives a skill hint for \"Triumphant Pulse\"." - 10060102 -> "A Spark that gives a skill hint for \"Triumphant Pulse\"." - 10060103 -> "A Spark that gives a skill hint for \"Triumphant Pulse\"." - 10060201 -> "A Spark that gives a skill hint for \"Festive Miracle\"." - 10060202 -> "A Spark that gives a skill hint for \"Festive Miracle\"." - 10060203 -> "A Spark that gives a skill hint for \"Festive Miracle\"." - 10070101 -> "A Spark that gives a skill hint for \"Anchors Aweigh!\"." - 10070102 -> "A Spark that gives a skill hint for \"Anchors Aweigh!\"." - 10070103 -> "A Spark that gives a skill hint for \"Anchors Aweigh!\"." - 10080101 -> "A Spark that gives a skill hint for \"Cut and Drive!\"." - 10080102 -> "A Spark that gives a skill hint for \"Cut and Drive!\"." - 10080103 -> "A Spark that gives a skill hint for \"Cut and Drive!\"." - 10090101 -> "A Spark that gives a skill hint for \"Resplendent Red Ace\"." - 10090102 -> "A Spark that gives a skill hint for \"Resplendent Red Ace\"." - 10090103 -> "A Spark that gives a skill hint for \"Resplendent Red Ace\"." - 10100101 -> "A Spark that gives a skill hint for \"Shooting for Victory!\"." - 10100102 -> "A Spark that gives a skill hint for \"Shooting for Victory!\"." - 10100103 -> "A Spark that gives a skill hint for \"Shooting for Victory!\"." - 10110101 -> "A Spark that gives a skill hint for \"Where There's a Will, There's a Way\"." - 10110102 -> "A Spark that gives a skill hint for \"Where There's a Will, There's a Way\"." - 10110103 -> "A Spark that gives a skill hint for \"Where There's a Will, There's a Way\"." - 10110201 -> "A Spark that gives a skill hint for \"Superior Heal\"." - 10110202 -> "A Spark that gives a skill hint for \"Superior Heal\"." - 10110203 -> "A Spark that gives a skill hint for \"Superior Heal\"." - 10120101 -> "A Spark that gives a skill hint for \"You and Me! One-on-One!\"." - 10120102 -> "A Spark that gives a skill hint for \"You and Me! One-on-One!\"." - 10120103 -> "A Spark that gives a skill hint for \"You and Me! One-on-One!\"." - 10130101 -> "A Spark that gives a skill hint for \"The Duty of Dignity Calls\"." - 10130102 -> "A Spark that gives a skill hint for \"The Duty of Dignity Calls\"." - 10130103 -> "A Spark that gives a skill hint for \"The Duty of Dignity Calls\"." - 10130201 -> "A Spark that gives a skill hint for \"Legacy of the Strong\"." - 10130202 -> "A Spark that gives a skill hint for \"Legacy of the Strong\"." - 10130203 -> "A Spark that gives a skill hint for \"Legacy of the Strong\"." - 10140101 -> "A Spark that gives a skill hint for \"Victoria por plancha ☆\"." - 10140102 -> "A Spark that gives a skill hint for \"Victoria por plancha ☆\"." - 10140103 -> "A Spark that gives a skill hint for \"Victoria por plancha ☆\"." - 10140201 -> "A Spark that gives a skill hint for \"Condor's Fury\"." - 10140202 -> "A Spark that gives a skill hint for \"Condor's Fury\"." - 10140203 -> "A Spark that gives a skill hint for \"Condor's Fury\"." - 10150101 -> "A Spark that gives a skill hint for \"This Dance Is for Vittoria!\"." - 10150102 -> "A Spark that gives a skill hint for \"This Dance Is for Vittoria!\"." - 10150103 -> "A Spark that gives a skill hint for \"This Dance Is for Vittoria!\"." - 10150201 -> "A Spark that gives a skill hint for \"Barcarole of Blessings\"." - 10150202 -> "A Spark that gives a skill hint for \"Barcarole of Blessings\"." - 10150203 -> "A Spark that gives a skill hint for \"Barcarole of Blessings\"." - 10160101 -> "A Spark that gives a skill hint for \"Shadow Break\"." - 10160102 -> "A Spark that gives a skill hint for \"Shadow Break\"." - 10160103 -> "A Spark that gives a skill hint for \"Shadow Break\"." - 10170101 -> "A Spark that gives a skill hint for \"Behold Thine Emperor's Divine Might\"." - 10170102 -> "A Spark that gives a skill hint for \"Behold Thine Emperor's Divine Might\"." - 10170103 -> "A Spark that gives a skill hint for \"Behold Thine Emperor's Divine Might\"." - 10170201 -> "A Spark that gives a skill hint for \"Arrows Whistle, Shadows Disperse\"." - 10170202 -> "A Spark that gives a skill hint for \"Arrows Whistle, Shadows Disperse\"." - 10170203 -> "A Spark that gives a skill hint for \"Arrows Whistle, Shadows Disperse\"." - 10180101 -> "A Spark that gives a skill hint for \"Blazing Pride\"." - 10180102 -> "A Spark that gives a skill hint for \"Blazing Pride\"." - 10180103 -> "A Spark that gives a skill hint for \"Blazing Pride\"." - 10180201 -> "A Spark that gives a skill hint for \"Eternal Moments\"." - 10180202 -> "A Spark that gives a skill hint for \"Eternal Moments\"." - 10180203 -> "A Spark that gives a skill hint for \"Eternal Moments\"." - 10190101 -> "A Spark that gives a skill hint for \"OMG! (゚∀゚) The Final Sprint! ☆\"." - 10190102 -> "A Spark that gives a skill hint for \"OMG! (゚∀゚) The Final Sprint! ☆\"." - 10190103 -> "A Spark that gives a skill hint for \"OMG! (゚∀゚) The Final Sprint! ☆\"." - 10200101 -> "A Spark that gives a skill hint for \"Angling and Scheming\"." - 10200102 -> "A Spark that gives a skill hint for \"Angling and Scheming\"." - 10200103 -> "A Spark that gives a skill hint for \"Angling and Scheming\"." - 10210101 -> "A Spark that gives a skill hint for \"White Lightning Comin' Through!\"." - 10210102 -> "A Spark that gives a skill hint for \"White Lightning Comin' Through!\"." - 10210103 -> "A Spark that gives a skill hint for \"White Lightning Comin' Through!\"." - 10220101 -> "A Spark that gives a skill hint for \"Fairy Tale\"." - 10220102 -> "A Spark that gives a skill hint for \"Fairy Tale\"." - 10220103 -> "A Spark that gives a skill hint for \"Fairy Tale\"." - 10230101 -> "A Spark that gives a skill hint for \"∴win Q.E.D.\"." - 10230102 -> "A Spark that gives a skill hint for \"∴win Q.E.D.\"." - 10230103 -> "A Spark that gives a skill hint for \"∴win Q.E.D.\"." - 10230201 -> "A Spark that gives a skill hint for \"Presents from X\"." - 10230202 -> "A Spark that gives a skill hint for \"Presents from X\"." - 10230203 -> "A Spark that gives a skill hint for \"Presents from X\"." - 10240101 -> "A Spark that gives a skill hint for \"Flashy☆Landing\"." - 10240102 -> "A Spark that gives a skill hint for \"Flashy☆Landing\"." - 10240103 -> "A Spark that gives a skill hint for \"Flashy☆Landing\"." - 10240201 -> "A Spark that gives a skill hint for \"Flowery☆Maneuver\"." - 10240202 -> "A Spark that gives a skill hint for \"Flowery☆Maneuver\"." - 10240203 -> "A Spark that gives a skill hint for \"Flowery☆Maneuver\"." - 10250101 -> "A Spark that gives a skill hint for \"Chasing after You\"." - 10250102 -> "A Spark that gives a skill hint for \"Chasing after You\"." - 10250103 -> "A Spark that gives a skill hint for \"Chasing after You\"." - 10260101 -> "A Spark that gives a skill hint for \"G00 1st. F∞;\"." - 10260102 -> "A Spark that gives a skill hint for \"G00 1st. F∞;\"." - 10260103 -> "A Spark that gives a skill hint for \"G00 1st. F∞;\"." - 10260201 -> "A Spark that gives a skill hint for \"Operation Cacao\"." - 10260202 -> "A Spark that gives a skill hint for \"Operation Cacao\"." - 10260203 -> "A Spark that gives a skill hint for \"Operation Cacao\"." - 10270101 -> "A Spark that gives a skill hint for \"Let's Pump Some Iron!\"." - 10270102 -> "A Spark that gives a skill hint for \"Let's Pump Some Iron!\"." - 10270103 -> "A Spark that gives a skill hint for \"Let's Pump Some Iron!\"." - 10280101 -> "A Spark that gives a skill hint for \"YUMMY☆SPEED!\"." - 10280102 -> "A Spark that gives a skill hint for \"YUMMY☆SPEED!\"." - 10280103 -> "A Spark that gives a skill hint for \"YUMMY☆SPEED!\"." - 10300101 -> "A Spark that gives a skill hint for \"Blue Rose Closer\"." - 10300102 -> "A Spark that gives a skill hint for \"Blue Rose Closer\"." - 10300103 -> "A Spark that gives a skill hint for \"Blue Rose Closer\"." - 10300201 -> "A Spark that gives a skill hint for \"Every Rose Has Its Fangs\"." - 10300202 -> "A Spark that gives a skill hint for \"Every Rose Has Its Fangs\"." - 10300203 -> "A Spark that gives a skill hint for \"Every Rose Has Its Fangs\"." - 10320101 -> "A Spark that gives a skill hint for \"U=ma2\"." - 10320102 -> "A Spark that gives a skill hint for \"U=ma2\"." - 10320103 -> "A Spark that gives a skill hint for \"U=ma2\"." - 10330101 -> "A Spark that gives a skill hint for \"Shooting Star of Dioskouroi\"." - 10330102 -> "A Spark that gives a skill hint for \"Shooting Star of Dioskouroi\"." - 10330103 -> "A Spark that gives a skill hint for \"Shooting Star of Dioskouroi\"." - 10350101 -> "A Spark that gives a skill hint for \"Our Ticket to Win!\"." - 10350102 -> "A Spark that gives a skill hint for \"Our Ticket to Win!\"." - 10350103 -> "A Spark that gives a skill hint for \"Our Ticket to Win!\"." - 10370101 -> "A Spark that gives a skill hint for \"Schwarzes Schwert\"." - 10370102 -> "A Spark that gives a skill hint for \"Schwarzes Schwert\"." - 10370103 -> "A Spark that gives a skill hint for \"Schwarzes Schwert\"." - 10370201 -> "A Spark that gives a skill hint for \"Guten Appetit ♪\"." - 10370202 -> "A Spark that gives a skill hint for \"Guten Appetit ♪\"." - 10370203 -> "A Spark that gives a skill hint for \"Guten Appetit ♪\"." - 10380101 -> "A Spark that gives a skill hint for \"#LookatCurren\"." - 10380102 -> "A Spark that gives a skill hint for \"#LookatCurren\"." - 10380103 -> "A Spark that gives a skill hint for \"#LookatCurren\"." - 10390101 -> "A Spark that gives a skill hint for \"A Princess Must Seize Victory!\"." - 10390102 -> "A Spark that gives a skill hint for \"A Princess Must Seize Victory!\"." - 10390103 -> "A Spark that gives a skill hint for \"A Princess Must Seize Victory!\"." - 10400101 -> "A Spark that gives a skill hint for \"KEEP IT REAL.\"." - 10400102 -> "A Spark that gives a skill hint for \"KEEP IT REAL.\"." - 10400103 -> "A Spark that gives a skill hint for \"KEEP IT REAL.\"." - 10400201 -> "A Spark that gives a skill hint for \"Dancing in the Leaves\"." - 10400202 -> "A Spark that gives a skill hint for \"Dancing in the Leaves\"." - 10400203 -> "A Spark that gives a skill hint for \"Dancing in the Leaves\"." - 10410101 -> "A Spark that gives a skill hint for \"Genius x Bakushin = Victory\"." - 10410102 -> "A Spark that gives a skill hint for \"Genius x Bakushin = Victory\"." - 10410103 -> "A Spark that gives a skill hint for \"Genius x Bakushin = Victory\"." - 10450101 -> "A Spark that gives a skill hint for \"Pure Heart\"." - 10450102 -> "A Spark that gives a skill hint for \"Pure Heart\"." - 10450103 -> "A Spark that gives a skill hint for \"Pure Heart\"." - 10450201 -> "A Spark that gives a skill hint for \"Give Mummy a Hug ♡\"." - 10450202 -> "A Spark that gives a skill hint for \"Give Mummy a Hug ♡\"." - 10450203 -> "A Spark that gives a skill hint for \"Give Mummy a Hug ♡\"." - 10460101 -> "A Spark that gives a skill hint for \"SPARKLY☆STARDOM\"." - 10460102 -> "A Spark that gives a skill hint for \"SPARKLY☆STARDOM\"." - 10460103 -> "A Spark that gives a skill hint for \"SPARKLY☆STARDOM\"." - 10480101 -> "A Spark that gives a skill hint for \"Pop & Polish\"." - 10480102 -> "A Spark that gives a skill hint for \"Pop & Polish\"." - 10480103 -> "A Spark that gives a skill hint for \"Pop & Polish\"." - 10500101 -> "A Spark that gives a skill hint for \"Nemesis\"." - 10500102 -> "A Spark that gives a skill hint for \"Nemesis\"." - 10500103 -> "A Spark that gives a skill hint for \"Nemesis\"." - 10520101 -> "A Spark that gives a skill hint for \"Super-Duper Climax\"." - 10520102 -> "A Spark that gives a skill hint for \"Super-Duper Climax\"." - 10520103 -> "A Spark that gives a skill hint for \"Super-Duper Climax\"." - 10520201 -> "A Spark that gives a skill hint for \"114th Time's the Charm\"." - 10520202 -> "A Spark that gives a skill hint for \"114th Time's the Charm\"." - 10520203 -> "A Spark that gives a skill hint for \"114th Time's the Charm\"." - 10560101 -> "A Spark that gives a skill hint for \"I See Victory in My Future!\"." - 10560102 -> "A Spark that gives a skill hint for \"I See Victory in My Future!\"." - 10560103 -> "A Spark that gives a skill hint for \"I See Victory in My Future!\"." - 10560201 -> "A Spark that gives a skill hint for \"Bountiful Harvest\"." - 10560202 -> "A Spark that gives a skill hint for \"Bountiful Harvest\"." - 10560203 -> "A Spark that gives a skill hint for \"Bountiful Harvest\"." - 10580101 -> "A Spark that gives a skill hint for \"I Never Goof Up!\"." - 10580102 -> "A Spark that gives a skill hint for \"I Never Goof Up!\"." - 10580103 -> "A Spark that gives a skill hint for \"I Never Goof Up!\"." - 10590101 -> "A Spark that gives a skill hint for \"Moving Past, and Beyond\"." - 10590102 -> "A Spark that gives a skill hint for \"Moving Past, and Beyond\"." - 10590103 -> "A Spark that gives a skill hint for \"Moving Past, and Beyond\"." - 10600101 -> "A Spark that gives a skill hint for \"Just a Little Farther!\"." - 10600102 -> "A Spark that gives a skill hint for \"Just a Little Farther!\"." - 10600103 -> "A Spark that gives a skill hint for \"Just a Little Farther!\"." - 10610101 -> "A Spark that gives a skill hint for \"Prideful King\"." - 10610102 -> "A Spark that gives a skill hint for \"Prideful King\"." - 10610103 -> "A Spark that gives a skill hint for \"Prideful King\"." - 10690101 -> "A Spark that gives a skill hint for \"Ambition to Surpass the Sakura\"." - 10690102 -> "A Spark that gives a skill hint for \"Ambition to Surpass the Sakura\"." - 10690103 -> "A Spark that gives a skill hint for \"Ambition to Surpass the Sakura\"." - 10710101 -> "A Spark that gives a skill hint for \"A Lifelong Dream, A Moment's Flight\"." - 10710102 -> "A Spark that gives a skill hint for \"A Lifelong Dream, A Moment's Flight\"." - 10710103 -> "A Spark that gives a skill hint for \"A Lifelong Dream, A Moment's Flight\"." - x -> "spark " ++ x.show - -// Get the spark group ID of a spark. -// If no spark matches the ID, the result is an invalid ID. -pub fun spark-group(s: spark-id): spark-group-id - match s.game-id - 101 -> Spark-group-id(1) - 102 -> Spark-group-id(1) - 103 -> Spark-group-id(1) - 201 -> Spark-group-id(2) - 202 -> Spark-group-id(2) - 203 -> Spark-group-id(2) - 301 -> Spark-group-id(3) - 302 -> Spark-group-id(3) - 303 -> Spark-group-id(3) - 401 -> Spark-group-id(4) - 402 -> Spark-group-id(4) - 403 -> Spark-group-id(4) - 501 -> Spark-group-id(5) - 502 -> Spark-group-id(5) - 503 -> Spark-group-id(5) - 1101 -> Spark-group-id(11) - 1102 -> Spark-group-id(11) - 1103 -> Spark-group-id(11) - 1201 -> Spark-group-id(12) - 1202 -> Spark-group-id(12) - 1203 -> Spark-group-id(12) - 2101 -> Spark-group-id(21) - 2102 -> Spark-group-id(21) - 2103 -> Spark-group-id(21) - 2201 -> Spark-group-id(22) - 2202 -> Spark-group-id(22) - 2203 -> Spark-group-id(22) - 2301 -> Spark-group-id(23) - 2302 -> Spark-group-id(23) - 2303 -> Spark-group-id(23) - 2401 -> Spark-group-id(24) - 2402 -> Spark-group-id(24) - 2403 -> Spark-group-id(24) - 3101 -> Spark-group-id(31) - 3102 -> Spark-group-id(31) - 3103 -> Spark-group-id(31) - 3201 -> Spark-group-id(32) - 3202 -> Spark-group-id(32) - 3203 -> Spark-group-id(32) - 3301 -> Spark-group-id(33) - 3302 -> Spark-group-id(33) - 3303 -> Spark-group-id(33) - 3401 -> Spark-group-id(34) - 3402 -> Spark-group-id(34) - 3403 -> Spark-group-id(34) - 1000101 -> Spark-group-id(10001) - 1000102 -> Spark-group-id(10001) - 1000103 -> Spark-group-id(10001) - 1000201 -> Spark-group-id(10002) - 1000202 -> Spark-group-id(10002) - 1000203 -> Spark-group-id(10002) - 1000301 -> Spark-group-id(10003) - 1000302 -> Spark-group-id(10003) - 1000303 -> Spark-group-id(10003) - 1000401 -> Spark-group-id(10004) - 1000402 -> Spark-group-id(10004) - 1000403 -> Spark-group-id(10004) - 1000501 -> Spark-group-id(10005) - 1000502 -> Spark-group-id(10005) - 1000503 -> Spark-group-id(10005) - 1000601 -> Spark-group-id(10006) - 1000602 -> Spark-group-id(10006) - 1000603 -> Spark-group-id(10006) - 1000701 -> Spark-group-id(10007) - 1000702 -> Spark-group-id(10007) - 1000703 -> Spark-group-id(10007) - 1000801 -> Spark-group-id(10008) - 1000802 -> Spark-group-id(10008) - 1000803 -> Spark-group-id(10008) - 1000901 -> Spark-group-id(10009) - 1000902 -> Spark-group-id(10009) - 1000903 -> Spark-group-id(10009) - 1001001 -> Spark-group-id(10010) - 1001002 -> Spark-group-id(10010) - 1001003 -> Spark-group-id(10010) - 1001101 -> Spark-group-id(10011) - 1001102 -> Spark-group-id(10011) - 1001103 -> Spark-group-id(10011) - 1001201 -> Spark-group-id(10012) - 1001202 -> Spark-group-id(10012) - 1001203 -> Spark-group-id(10012) - 1001301 -> Spark-group-id(10013) - 1001302 -> Spark-group-id(10013) - 1001303 -> Spark-group-id(10013) - 1001401 -> Spark-group-id(10014) - 1001402 -> Spark-group-id(10014) - 1001403 -> Spark-group-id(10014) - 1001501 -> Spark-group-id(10015) - 1001502 -> Spark-group-id(10015) - 1001503 -> Spark-group-id(10015) - 1001601 -> Spark-group-id(10016) - 1001602 -> Spark-group-id(10016) - 1001603 -> Spark-group-id(10016) - 1001701 -> Spark-group-id(10017) - 1001702 -> Spark-group-id(10017) - 1001703 -> Spark-group-id(10017) - 1001801 -> Spark-group-id(10018) - 1001802 -> Spark-group-id(10018) - 1001803 -> Spark-group-id(10018) - 1001901 -> Spark-group-id(10019) - 1001902 -> Spark-group-id(10019) - 1001903 -> Spark-group-id(10019) - 1002001 -> Spark-group-id(10020) - 1002002 -> Spark-group-id(10020) - 1002003 -> Spark-group-id(10020) - 1002101 -> Spark-group-id(10021) - 1002102 -> Spark-group-id(10021) - 1002103 -> Spark-group-id(10021) - 1002201 -> Spark-group-id(10022) - 1002202 -> Spark-group-id(10022) - 1002203 -> Spark-group-id(10022) - 1002301 -> Spark-group-id(10023) - 1002302 -> Spark-group-id(10023) - 1002303 -> Spark-group-id(10023) - 1002401 -> Spark-group-id(10024) - 1002402 -> Spark-group-id(10024) - 1002403 -> Spark-group-id(10024) - 1002501 -> Spark-group-id(10025) - 1002502 -> Spark-group-id(10025) - 1002503 -> Spark-group-id(10025) - 1002601 -> Spark-group-id(10026) - 1002602 -> Spark-group-id(10026) - 1002603 -> Spark-group-id(10026) - 1002701 -> Spark-group-id(10027) - 1002702 -> Spark-group-id(10027) - 1002703 -> Spark-group-id(10027) - 1002801 -> Spark-group-id(10028) - 1002802 -> Spark-group-id(10028) - 1002803 -> Spark-group-id(10028) - 1002901 -> Spark-group-id(10029) - 1002902 -> Spark-group-id(10029) - 1002903 -> Spark-group-id(10029) - 1003001 -> Spark-group-id(10030) - 1003002 -> Spark-group-id(10030) - 1003003 -> Spark-group-id(10030) - 2000101 -> Spark-group-id(20001) - 2000102 -> Spark-group-id(20001) - 2000103 -> Spark-group-id(20001) - 2000201 -> Spark-group-id(20002) - 2000202 -> Spark-group-id(20002) - 2000203 -> Spark-group-id(20002) - 2000301 -> Spark-group-id(20003) - 2000302 -> Spark-group-id(20003) - 2000303 -> Spark-group-id(20003) - 2000401 -> Spark-group-id(20004) - 2000402 -> Spark-group-id(20004) - 2000403 -> Spark-group-id(20004) - 2000501 -> Spark-group-id(20005) - 2000502 -> Spark-group-id(20005) - 2000503 -> Spark-group-id(20005) - 2000601 -> Spark-group-id(20006) - 2000602 -> Spark-group-id(20006) - 2000603 -> Spark-group-id(20006) - 2000701 -> Spark-group-id(20007) - 2000702 -> Spark-group-id(20007) - 2000703 -> Spark-group-id(20007) - 2000801 -> Spark-group-id(20008) - 2000802 -> Spark-group-id(20008) - 2000803 -> Spark-group-id(20008) - 2000901 -> Spark-group-id(20009) - 2000902 -> Spark-group-id(20009) - 2000903 -> Spark-group-id(20009) - 2001001 -> Spark-group-id(20010) - 2001002 -> Spark-group-id(20010) - 2001003 -> Spark-group-id(20010) - 2001101 -> Spark-group-id(20011) - 2001102 -> Spark-group-id(20011) - 2001103 -> Spark-group-id(20011) - 2001201 -> Spark-group-id(20012) - 2001202 -> Spark-group-id(20012) - 2001203 -> Spark-group-id(20012) - 2001301 -> Spark-group-id(20013) - 2001302 -> Spark-group-id(20013) - 2001303 -> Spark-group-id(20013) - 2001401 -> Spark-group-id(20014) - 2001402 -> Spark-group-id(20014) - 2001403 -> Spark-group-id(20014) - 2001501 -> Spark-group-id(20015) - 2001502 -> Spark-group-id(20015) - 2001503 -> Spark-group-id(20015) - 2001601 -> Spark-group-id(20016) - 2001602 -> Spark-group-id(20016) - 2001603 -> Spark-group-id(20016) - 2001701 -> Spark-group-id(20017) - 2001702 -> Spark-group-id(20017) - 2001703 -> Spark-group-id(20017) - 2001801 -> Spark-group-id(20018) - 2001802 -> Spark-group-id(20018) - 2001803 -> Spark-group-id(20018) - 2001901 -> Spark-group-id(20019) - 2001902 -> Spark-group-id(20019) - 2001903 -> Spark-group-id(20019) - 2002001 -> Spark-group-id(20020) - 2002002 -> Spark-group-id(20020) - 2002003 -> Spark-group-id(20020) - 2002101 -> Spark-group-id(20021) - 2002102 -> Spark-group-id(20021) - 2002103 -> Spark-group-id(20021) - 2002201 -> Spark-group-id(20022) - 2002202 -> Spark-group-id(20022) - 2002203 -> Spark-group-id(20022) - 2002301 -> Spark-group-id(20023) - 2002302 -> Spark-group-id(20023) - 2002303 -> Spark-group-id(20023) - 2002401 -> Spark-group-id(20024) - 2002402 -> Spark-group-id(20024) - 2002403 -> Spark-group-id(20024) - 2002501 -> Spark-group-id(20025) - 2002502 -> Spark-group-id(20025) - 2002503 -> Spark-group-id(20025) - 2002601 -> Spark-group-id(20026) - 2002602 -> Spark-group-id(20026) - 2002603 -> Spark-group-id(20026) - 2002701 -> Spark-group-id(20027) - 2002702 -> Spark-group-id(20027) - 2002703 -> Spark-group-id(20027) - 2002801 -> Spark-group-id(20028) - 2002802 -> Spark-group-id(20028) - 2002803 -> Spark-group-id(20028) - 2002901 -> Spark-group-id(20029) - 2002902 -> Spark-group-id(20029) - 2002903 -> Spark-group-id(20029) - 2003001 -> Spark-group-id(20030) - 2003002 -> Spark-group-id(20030) - 2003003 -> Spark-group-id(20030) - 2003301 -> Spark-group-id(20033) - 2003302 -> Spark-group-id(20033) - 2003303 -> Spark-group-id(20033) - 2003401 -> Spark-group-id(20034) - 2003402 -> Spark-group-id(20034) - 2003403 -> Spark-group-id(20034) - 2003501 -> Spark-group-id(20035) - 2003502 -> Spark-group-id(20035) - 2003503 -> Spark-group-id(20035) - 2003601 -> Spark-group-id(20036) - 2003602 -> Spark-group-id(20036) - 2003603 -> Spark-group-id(20036) - 2003701 -> Spark-group-id(20037) - 2003702 -> Spark-group-id(20037) - 2003703 -> Spark-group-id(20037) - 2003801 -> Spark-group-id(20038) - 2003802 -> Spark-group-id(20038) - 2003803 -> Spark-group-id(20038) - 2004301 -> Spark-group-id(20043) - 2004302 -> Spark-group-id(20043) - 2004303 -> Spark-group-id(20043) - 2004401 -> Spark-group-id(20044) - 2004402 -> Spark-group-id(20044) - 2004403 -> Spark-group-id(20044) - 2004501 -> Spark-group-id(20045) - 2004502 -> Spark-group-id(20045) - 2004503 -> Spark-group-id(20045) - 2004601 -> Spark-group-id(20046) - 2004602 -> Spark-group-id(20046) - 2004603 -> Spark-group-id(20046) - 2004701 -> Spark-group-id(20047) - 2004702 -> Spark-group-id(20047) - 2004703 -> Spark-group-id(20047) - 2004801 -> Spark-group-id(20048) - 2004802 -> Spark-group-id(20048) - 2004803 -> Spark-group-id(20048) - 2004901 -> Spark-group-id(20049) - 2004902 -> Spark-group-id(20049) - 2004903 -> Spark-group-id(20049) - 2005001 -> Spark-group-id(20050) - 2005002 -> Spark-group-id(20050) - 2005003 -> Spark-group-id(20050) - 2005101 -> Spark-group-id(20051) - 2005102 -> Spark-group-id(20051) - 2005103 -> Spark-group-id(20051) - 2005301 -> Spark-group-id(20053) - 2005302 -> Spark-group-id(20053) - 2005303 -> Spark-group-id(20053) - 2005401 -> Spark-group-id(20054) - 2005402 -> Spark-group-id(20054) - 2005403 -> Spark-group-id(20054) - 2005501 -> Spark-group-id(20055) - 2005502 -> Spark-group-id(20055) - 2005503 -> Spark-group-id(20055) - 2005601 -> Spark-group-id(20056) - 2005602 -> Spark-group-id(20056) - 2005603 -> Spark-group-id(20056) - 2005701 -> Spark-group-id(20057) - 2005702 -> Spark-group-id(20057) - 2005703 -> Spark-group-id(20057) - 2005801 -> Spark-group-id(20058) - 2005802 -> Spark-group-id(20058) - 2005803 -> Spark-group-id(20058) - 2005901 -> Spark-group-id(20059) - 2005902 -> Spark-group-id(20059) - 2005903 -> Spark-group-id(20059) - 2006001 -> Spark-group-id(20060) - 2006002 -> Spark-group-id(20060) - 2006003 -> Spark-group-id(20060) - 2006101 -> Spark-group-id(20061) - 2006102 -> Spark-group-id(20061) - 2006103 -> Spark-group-id(20061) - 2006201 -> Spark-group-id(20062) - 2006202 -> Spark-group-id(20062) - 2006203 -> Spark-group-id(20062) - 2006301 -> Spark-group-id(20063) - 2006302 -> Spark-group-id(20063) - 2006303 -> Spark-group-id(20063) - 2006401 -> Spark-group-id(20064) - 2006402 -> Spark-group-id(20064) - 2006403 -> Spark-group-id(20064) - 2006501 -> Spark-group-id(20065) - 2006502 -> Spark-group-id(20065) - 2006503 -> Spark-group-id(20065) - 2006601 -> Spark-group-id(20066) - 2006602 -> Spark-group-id(20066) - 2006603 -> Spark-group-id(20066) - 2006701 -> Spark-group-id(20067) - 2006702 -> Spark-group-id(20067) - 2006703 -> Spark-group-id(20067) - 2006801 -> Spark-group-id(20068) - 2006802 -> Spark-group-id(20068) - 2006803 -> Spark-group-id(20068) - 2006901 -> Spark-group-id(20069) - 2006902 -> Spark-group-id(20069) - 2006903 -> Spark-group-id(20069) - 2007001 -> Spark-group-id(20070) - 2007002 -> Spark-group-id(20070) - 2007003 -> Spark-group-id(20070) - 2007101 -> Spark-group-id(20071) - 2007102 -> Spark-group-id(20071) - 2007103 -> Spark-group-id(20071) - 2007201 -> Spark-group-id(20072) - 2007202 -> Spark-group-id(20072) - 2007203 -> Spark-group-id(20072) - 2007301 -> Spark-group-id(20073) - 2007302 -> Spark-group-id(20073) - 2007303 -> Spark-group-id(20073) - 2007401 -> Spark-group-id(20074) - 2007402 -> Spark-group-id(20074) - 2007403 -> Spark-group-id(20074) - 2007501 -> Spark-group-id(20075) - 2007502 -> Spark-group-id(20075) - 2007503 -> Spark-group-id(20075) - 2007601 -> Spark-group-id(20076) - 2007602 -> Spark-group-id(20076) - 2007603 -> Spark-group-id(20076) - 2007701 -> Spark-group-id(20077) - 2007702 -> Spark-group-id(20077) - 2007703 -> Spark-group-id(20077) - 2007801 -> Spark-group-id(20078) - 2007802 -> Spark-group-id(20078) - 2007803 -> Spark-group-id(20078) - 2007901 -> Spark-group-id(20079) - 2007902 -> Spark-group-id(20079) - 2007903 -> Spark-group-id(20079) - 2008001 -> Spark-group-id(20080) - 2008002 -> Spark-group-id(20080) - 2008003 -> Spark-group-id(20080) - 2008101 -> Spark-group-id(20081) - 2008102 -> Spark-group-id(20081) - 2008103 -> Spark-group-id(20081) - 2008201 -> Spark-group-id(20082) - 2008202 -> Spark-group-id(20082) - 2008203 -> Spark-group-id(20082) - 2008301 -> Spark-group-id(20083) - 2008302 -> Spark-group-id(20083) - 2008303 -> Spark-group-id(20083) - 2008401 -> Spark-group-id(20084) - 2008402 -> Spark-group-id(20084) - 2008403 -> Spark-group-id(20084) - 2008501 -> Spark-group-id(20085) - 2008502 -> Spark-group-id(20085) - 2008503 -> Spark-group-id(20085) - 2008601 -> Spark-group-id(20086) - 2008602 -> Spark-group-id(20086) - 2008603 -> Spark-group-id(20086) - 2008701 -> Spark-group-id(20087) - 2008702 -> Spark-group-id(20087) - 2008703 -> Spark-group-id(20087) - 2008801 -> Spark-group-id(20088) - 2008802 -> Spark-group-id(20088) - 2008803 -> Spark-group-id(20088) - 2008901 -> Spark-group-id(20089) - 2008902 -> Spark-group-id(20089) - 2008903 -> Spark-group-id(20089) - 2009001 -> Spark-group-id(20090) - 2009002 -> Spark-group-id(20090) - 2009003 -> Spark-group-id(20090) - 2009101 -> Spark-group-id(20091) - 2009102 -> Spark-group-id(20091) - 2009103 -> Spark-group-id(20091) - 2009201 -> Spark-group-id(20092) - 2009202 -> Spark-group-id(20092) - 2009203 -> Spark-group-id(20092) - 2009301 -> Spark-group-id(20093) - 2009302 -> Spark-group-id(20093) - 2009303 -> Spark-group-id(20093) - 2009401 -> Spark-group-id(20094) - 2009402 -> Spark-group-id(20094) - 2009403 -> Spark-group-id(20094) - 2009501 -> Spark-group-id(20095) - 2009502 -> Spark-group-id(20095) - 2009503 -> Spark-group-id(20095) - 2009601 -> Spark-group-id(20096) - 2009602 -> Spark-group-id(20096) - 2009603 -> Spark-group-id(20096) - 2009701 -> Spark-group-id(20097) - 2009702 -> Spark-group-id(20097) - 2009703 -> Spark-group-id(20097) - 2009801 -> Spark-group-id(20098) - 2009802 -> Spark-group-id(20098) - 2009803 -> Spark-group-id(20098) - 2009901 -> Spark-group-id(20099) - 2009902 -> Spark-group-id(20099) - 2009903 -> Spark-group-id(20099) - 2010001 -> Spark-group-id(20100) - 2010002 -> Spark-group-id(20100) - 2010003 -> Spark-group-id(20100) - 2010101 -> Spark-group-id(20101) - 2010102 -> Spark-group-id(20101) - 2010103 -> Spark-group-id(20101) - 2010201 -> Spark-group-id(20102) - 2010202 -> Spark-group-id(20102) - 2010203 -> Spark-group-id(20102) - 2010301 -> Spark-group-id(20103) - 2010302 -> Spark-group-id(20103) - 2010303 -> Spark-group-id(20103) - 2010401 -> Spark-group-id(20104) - 2010402 -> Spark-group-id(20104) - 2010403 -> Spark-group-id(20104) - 2010501 -> Spark-group-id(20105) - 2010502 -> Spark-group-id(20105) - 2010503 -> Spark-group-id(20105) - 2010601 -> Spark-group-id(20106) - 2010602 -> Spark-group-id(20106) - 2010603 -> Spark-group-id(20106) - 2010701 -> Spark-group-id(20107) - 2010702 -> Spark-group-id(20107) - 2010703 -> Spark-group-id(20107) - 2010801 -> Spark-group-id(20108) - 2010802 -> Spark-group-id(20108) - 2010803 -> Spark-group-id(20108) - 2010901 -> Spark-group-id(20109) - 2010902 -> Spark-group-id(20109) - 2010903 -> Spark-group-id(20109) - 2011001 -> Spark-group-id(20110) - 2011002 -> Spark-group-id(20110) - 2011003 -> Spark-group-id(20110) - 2011101 -> Spark-group-id(20111) - 2011102 -> Spark-group-id(20111) - 2011103 -> Spark-group-id(20111) - 2011201 -> Spark-group-id(20112) - 2011202 -> Spark-group-id(20112) - 2011203 -> Spark-group-id(20112) - 2011301 -> Spark-group-id(20113) - 2011302 -> Spark-group-id(20113) - 2011303 -> Spark-group-id(20113) - 2011401 -> Spark-group-id(20114) - 2011402 -> Spark-group-id(20114) - 2011403 -> Spark-group-id(20114) - 2011501 -> Spark-group-id(20115) - 2011502 -> Spark-group-id(20115) - 2011503 -> Spark-group-id(20115) - 2011601 -> Spark-group-id(20116) - 2011602 -> Spark-group-id(20116) - 2011603 -> Spark-group-id(20116) - 2011701 -> Spark-group-id(20117) - 2011702 -> Spark-group-id(20117) - 2011703 -> Spark-group-id(20117) - 2011801 -> Spark-group-id(20118) - 2011802 -> Spark-group-id(20118) - 2011803 -> Spark-group-id(20118) - 2011901 -> Spark-group-id(20119) - 2011902 -> Spark-group-id(20119) - 2011903 -> Spark-group-id(20119) - 2012001 -> Spark-group-id(20120) - 2012002 -> Spark-group-id(20120) - 2012003 -> Spark-group-id(20120) - 2012101 -> Spark-group-id(20121) - 2012102 -> Spark-group-id(20121) - 2012103 -> Spark-group-id(20121) - 2012201 -> Spark-group-id(20122) - 2012202 -> Spark-group-id(20122) - 2012203 -> Spark-group-id(20122) - 2012301 -> Spark-group-id(20123) - 2012302 -> Spark-group-id(20123) - 2012303 -> Spark-group-id(20123) - 2012401 -> Spark-group-id(20124) - 2012402 -> Spark-group-id(20124) - 2012403 -> Spark-group-id(20124) - 2012501 -> Spark-group-id(20125) - 2012502 -> Spark-group-id(20125) - 2012503 -> Spark-group-id(20125) - 2012601 -> Spark-group-id(20126) - 2012602 -> Spark-group-id(20126) - 2012603 -> Spark-group-id(20126) - 2012701 -> Spark-group-id(20127) - 2012702 -> Spark-group-id(20127) - 2012703 -> Spark-group-id(20127) - 2012801 -> Spark-group-id(20128) - 2012802 -> Spark-group-id(20128) - 2012803 -> Spark-group-id(20128) - 2012901 -> Spark-group-id(20129) - 2012902 -> Spark-group-id(20129) - 2012903 -> Spark-group-id(20129) - 2013001 -> Spark-group-id(20130) - 2013002 -> Spark-group-id(20130) - 2013003 -> Spark-group-id(20130) - 2013101 -> Spark-group-id(20131) - 2013102 -> Spark-group-id(20131) - 2013103 -> Spark-group-id(20131) - 2013201 -> Spark-group-id(20132) - 2013202 -> Spark-group-id(20132) - 2013203 -> Spark-group-id(20132) - 2013301 -> Spark-group-id(20133) - 2013302 -> Spark-group-id(20133) - 2013303 -> Spark-group-id(20133) - 2013401 -> Spark-group-id(20134) - 2013402 -> Spark-group-id(20134) - 2013403 -> Spark-group-id(20134) - 2013501 -> Spark-group-id(20135) - 2013502 -> Spark-group-id(20135) - 2013503 -> Spark-group-id(20135) - 2013601 -> Spark-group-id(20136) - 2013602 -> Spark-group-id(20136) - 2013603 -> Spark-group-id(20136) - 2013701 -> Spark-group-id(20137) - 2013702 -> Spark-group-id(20137) - 2013703 -> Spark-group-id(20137) - 2013801 -> Spark-group-id(20138) - 2013802 -> Spark-group-id(20138) - 2013803 -> Spark-group-id(20138) - 2013901 -> Spark-group-id(20139) - 2013902 -> Spark-group-id(20139) - 2013903 -> Spark-group-id(20139) - 2014001 -> Spark-group-id(20140) - 2014002 -> Spark-group-id(20140) - 2014003 -> Spark-group-id(20140) - 2014101 -> Spark-group-id(20141) - 2014102 -> Spark-group-id(20141) - 2014103 -> Spark-group-id(20141) - 2014201 -> Spark-group-id(20142) - 2014202 -> Spark-group-id(20142) - 2014203 -> Spark-group-id(20142) - 2014301 -> Spark-group-id(20143) - 2014302 -> Spark-group-id(20143) - 2014303 -> Spark-group-id(20143) - 2014401 -> Spark-group-id(20144) - 2014402 -> Spark-group-id(20144) - 2014403 -> Spark-group-id(20144) - 2014501 -> Spark-group-id(20145) - 2014502 -> Spark-group-id(20145) - 2014503 -> Spark-group-id(20145) - 2014601 -> Spark-group-id(20146) - 2014602 -> Spark-group-id(20146) - 2014603 -> Spark-group-id(20146) - 2014701 -> Spark-group-id(20147) - 2014702 -> Spark-group-id(20147) - 2014703 -> Spark-group-id(20147) - 2014801 -> Spark-group-id(20148) - 2014802 -> Spark-group-id(20148) - 2014803 -> Spark-group-id(20148) - 2014901 -> Spark-group-id(20149) - 2014902 -> Spark-group-id(20149) - 2014903 -> Spark-group-id(20149) - 2015001 -> Spark-group-id(20150) - 2015002 -> Spark-group-id(20150) - 2015003 -> Spark-group-id(20150) - 2015101 -> Spark-group-id(20151) - 2015102 -> Spark-group-id(20151) - 2015103 -> Spark-group-id(20151) - 2015201 -> Spark-group-id(20152) - 2015202 -> Spark-group-id(20152) - 2015203 -> Spark-group-id(20152) - 2015301 -> Spark-group-id(20153) - 2015302 -> Spark-group-id(20153) - 2015303 -> Spark-group-id(20153) - 2015401 -> Spark-group-id(20154) - 2015402 -> Spark-group-id(20154) - 2015403 -> Spark-group-id(20154) - 2015501 -> Spark-group-id(20155) - 2015502 -> Spark-group-id(20155) - 2015503 -> Spark-group-id(20155) - 2015601 -> Spark-group-id(20156) - 2015602 -> Spark-group-id(20156) - 2015603 -> Spark-group-id(20156) - 2015701 -> Spark-group-id(20157) - 2015702 -> Spark-group-id(20157) - 2015703 -> Spark-group-id(20157) - 2015801 -> Spark-group-id(20158) - 2015802 -> Spark-group-id(20158) - 2015803 -> Spark-group-id(20158) - 2015901 -> Spark-group-id(20159) - 2015902 -> Spark-group-id(20159) - 2015903 -> Spark-group-id(20159) - 2016001 -> Spark-group-id(20160) - 2016002 -> Spark-group-id(20160) - 2016003 -> Spark-group-id(20160) - 2016101 -> Spark-group-id(20161) - 2016102 -> Spark-group-id(20161) - 2016103 -> Spark-group-id(20161) - 2016201 -> Spark-group-id(20162) - 2016202 -> Spark-group-id(20162) - 2016203 -> Spark-group-id(20162) - 2016301 -> Spark-group-id(20163) - 2016302 -> Spark-group-id(20163) - 2016303 -> Spark-group-id(20163) - 2016401 -> Spark-group-id(20164) - 2016402 -> Spark-group-id(20164) - 2016403 -> Spark-group-id(20164) - 2016501 -> Spark-group-id(20165) - 2016502 -> Spark-group-id(20165) - 2016503 -> Spark-group-id(20165) - 2016601 -> Spark-group-id(20166) - 2016602 -> Spark-group-id(20166) - 2016603 -> Spark-group-id(20166) - 2016701 -> Spark-group-id(20167) - 2016702 -> Spark-group-id(20167) - 2016703 -> Spark-group-id(20167) - 2016801 -> Spark-group-id(20168) - 2016802 -> Spark-group-id(20168) - 2016803 -> Spark-group-id(20168) - 2016901 -> Spark-group-id(20169) - 2016902 -> Spark-group-id(20169) - 2016903 -> Spark-group-id(20169) - 2017001 -> Spark-group-id(20170) - 2017002 -> Spark-group-id(20170) - 2017003 -> Spark-group-id(20170) - 2019001 -> Spark-group-id(20190) - 2019002 -> Spark-group-id(20190) - 2019003 -> Spark-group-id(20190) - 2020001 -> Spark-group-id(20200) - 2020002 -> Spark-group-id(20200) - 2020003 -> Spark-group-id(20200) - 2020101 -> Spark-group-id(20201) - 2020102 -> Spark-group-id(20201) - 2020103 -> Spark-group-id(20201) - 2020201 -> Spark-group-id(20202) - 2020202 -> Spark-group-id(20202) - 2020203 -> Spark-group-id(20202) - 2020301 -> Spark-group-id(20203) - 2020302 -> Spark-group-id(20203) - 2020303 -> Spark-group-id(20203) - 2020401 -> Spark-group-id(20204) - 2020402 -> Spark-group-id(20204) - 2020403 -> Spark-group-id(20204) - 2100101 -> Spark-group-id(21001) - 2100102 -> Spark-group-id(21001) - 2100103 -> Spark-group-id(21001) - 2100201 -> Spark-group-id(21002) - 2100202 -> Spark-group-id(21002) - 2100203 -> Spark-group-id(21002) - 2100301 -> Spark-group-id(21003) - 2100302 -> Spark-group-id(21003) - 2100303 -> Spark-group-id(21003) - 2100401 -> Spark-group-id(21004) - 2100402 -> Spark-group-id(21004) - 2100403 -> Spark-group-id(21004) - 2100501 -> Spark-group-id(21005) - 2100502 -> Spark-group-id(21005) - 2100503 -> Spark-group-id(21005) - 3000101 -> Spark-group-id(30001) - 3000102 -> Spark-group-id(30001) - 3000103 -> Spark-group-id(30001) - 3000201 -> Spark-group-id(30002) - 3000202 -> Spark-group-id(30002) - 3000203 -> Spark-group-id(30002) - 10010101 -> Spark-group-id(100101) - 10010102 -> Spark-group-id(100101) - 10010103 -> Spark-group-id(100101) - 10010201 -> Spark-group-id(100102) - 10010202 -> Spark-group-id(100102) - 10010203 -> Spark-group-id(100102) - 10020101 -> Spark-group-id(100201) - 10020102 -> Spark-group-id(100201) - 10020103 -> Spark-group-id(100201) - 10030101 -> Spark-group-id(100301) - 10030102 -> Spark-group-id(100301) - 10030103 -> Spark-group-id(100301) - 10030201 -> Spark-group-id(100302) - 10030202 -> Spark-group-id(100302) - 10030203 -> Spark-group-id(100302) - 10040101 -> Spark-group-id(100401) - 10040102 -> Spark-group-id(100401) - 10040103 -> Spark-group-id(100401) - 10040201 -> Spark-group-id(100402) - 10040202 -> Spark-group-id(100402) - 10040203 -> Spark-group-id(100402) - 10050101 -> Spark-group-id(100501) - 10050102 -> Spark-group-id(100501) - 10050103 -> Spark-group-id(100501) - 10060101 -> Spark-group-id(100601) - 10060102 -> Spark-group-id(100601) - 10060103 -> Spark-group-id(100601) - 10060201 -> Spark-group-id(100602) - 10060202 -> Spark-group-id(100602) - 10060203 -> Spark-group-id(100602) - 10070101 -> Spark-group-id(100701) - 10070102 -> Spark-group-id(100701) - 10070103 -> Spark-group-id(100701) - 10080101 -> Spark-group-id(100801) - 10080102 -> Spark-group-id(100801) - 10080103 -> Spark-group-id(100801) - 10090101 -> Spark-group-id(100901) - 10090102 -> Spark-group-id(100901) - 10090103 -> Spark-group-id(100901) - 10100101 -> Spark-group-id(101001) - 10100102 -> Spark-group-id(101001) - 10100103 -> Spark-group-id(101001) - 10110101 -> Spark-group-id(101101) - 10110102 -> Spark-group-id(101101) - 10110103 -> Spark-group-id(101101) - 10110201 -> Spark-group-id(101102) - 10110202 -> Spark-group-id(101102) - 10110203 -> Spark-group-id(101102) - 10120101 -> Spark-group-id(101201) - 10120102 -> Spark-group-id(101201) - 10120103 -> Spark-group-id(101201) - 10130101 -> Spark-group-id(101301) - 10130102 -> Spark-group-id(101301) - 10130103 -> Spark-group-id(101301) - 10130201 -> Spark-group-id(101302) - 10130202 -> Spark-group-id(101302) - 10130203 -> Spark-group-id(101302) - 10140101 -> Spark-group-id(101401) - 10140102 -> Spark-group-id(101401) - 10140103 -> Spark-group-id(101401) - 10140201 -> Spark-group-id(101402) - 10140202 -> Spark-group-id(101402) - 10140203 -> Spark-group-id(101402) - 10150101 -> Spark-group-id(101501) - 10150102 -> Spark-group-id(101501) - 10150103 -> Spark-group-id(101501) - 10150201 -> Spark-group-id(101502) - 10150202 -> Spark-group-id(101502) - 10150203 -> Spark-group-id(101502) - 10160101 -> Spark-group-id(101601) - 10160102 -> Spark-group-id(101601) - 10160103 -> Spark-group-id(101601) - 10170101 -> Spark-group-id(101701) - 10170102 -> Spark-group-id(101701) - 10170103 -> Spark-group-id(101701) - 10170201 -> Spark-group-id(101702) - 10170202 -> Spark-group-id(101702) - 10170203 -> Spark-group-id(101702) - 10180101 -> Spark-group-id(101801) - 10180102 -> Spark-group-id(101801) - 10180103 -> Spark-group-id(101801) - 10180201 -> Spark-group-id(101802) - 10180202 -> Spark-group-id(101802) - 10180203 -> Spark-group-id(101802) - 10190101 -> Spark-group-id(101901) - 10190102 -> Spark-group-id(101901) - 10190103 -> Spark-group-id(101901) - 10200101 -> Spark-group-id(102001) - 10200102 -> Spark-group-id(102001) - 10200103 -> Spark-group-id(102001) - 10210101 -> Spark-group-id(102101) - 10210102 -> Spark-group-id(102101) - 10210103 -> Spark-group-id(102101) - 10220101 -> Spark-group-id(102201) - 10220102 -> Spark-group-id(102201) - 10220103 -> Spark-group-id(102201) - 10230101 -> Spark-group-id(102301) - 10230102 -> Spark-group-id(102301) - 10230103 -> Spark-group-id(102301) - 10230201 -> Spark-group-id(102302) - 10230202 -> Spark-group-id(102302) - 10230203 -> Spark-group-id(102302) - 10240101 -> Spark-group-id(102401) - 10240102 -> Spark-group-id(102401) - 10240103 -> Spark-group-id(102401) - 10240201 -> Spark-group-id(102402) - 10240202 -> Spark-group-id(102402) - 10240203 -> Spark-group-id(102402) - 10250101 -> Spark-group-id(102501) - 10250102 -> Spark-group-id(102501) - 10250103 -> Spark-group-id(102501) - 10260101 -> Spark-group-id(102601) - 10260102 -> Spark-group-id(102601) - 10260103 -> Spark-group-id(102601) - 10260201 -> Spark-group-id(102602) - 10260202 -> Spark-group-id(102602) - 10260203 -> Spark-group-id(102602) - 10270101 -> Spark-group-id(102701) - 10270102 -> Spark-group-id(102701) - 10270103 -> Spark-group-id(102701) - 10280101 -> Spark-group-id(102801) - 10280102 -> Spark-group-id(102801) - 10280103 -> Spark-group-id(102801) - 10300101 -> Spark-group-id(103001) - 10300102 -> Spark-group-id(103001) - 10300103 -> Spark-group-id(103001) - 10300201 -> Spark-group-id(103002) - 10300202 -> Spark-group-id(103002) - 10300203 -> Spark-group-id(103002) - 10320101 -> Spark-group-id(103201) - 10320102 -> Spark-group-id(103201) - 10320103 -> Spark-group-id(103201) - 10330101 -> Spark-group-id(103301) - 10330102 -> Spark-group-id(103301) - 10330103 -> Spark-group-id(103301) - 10350101 -> Spark-group-id(103501) - 10350102 -> Spark-group-id(103501) - 10350103 -> Spark-group-id(103501) - 10370101 -> Spark-group-id(103701) - 10370102 -> Spark-group-id(103701) - 10370103 -> Spark-group-id(103701) - 10370201 -> Spark-group-id(103702) - 10370202 -> Spark-group-id(103702) - 10370203 -> Spark-group-id(103702) - 10380101 -> Spark-group-id(103801) - 10380102 -> Spark-group-id(103801) - 10380103 -> Spark-group-id(103801) - 10390101 -> Spark-group-id(103901) - 10390102 -> Spark-group-id(103901) - 10390103 -> Spark-group-id(103901) - 10400101 -> Spark-group-id(104001) - 10400102 -> Spark-group-id(104001) - 10400103 -> Spark-group-id(104001) - 10400201 -> Spark-group-id(104002) - 10400202 -> Spark-group-id(104002) - 10400203 -> Spark-group-id(104002) - 10410101 -> Spark-group-id(104101) - 10410102 -> Spark-group-id(104101) - 10410103 -> Spark-group-id(104101) - 10450101 -> Spark-group-id(104501) - 10450102 -> Spark-group-id(104501) - 10450103 -> Spark-group-id(104501) - 10450201 -> Spark-group-id(104502) - 10450202 -> Spark-group-id(104502) - 10450203 -> Spark-group-id(104502) - 10460101 -> Spark-group-id(104601) - 10460102 -> Spark-group-id(104601) - 10460103 -> Spark-group-id(104601) - 10480101 -> Spark-group-id(104801) - 10480102 -> Spark-group-id(104801) - 10480103 -> Spark-group-id(104801) - 10500101 -> Spark-group-id(105001) - 10500102 -> Spark-group-id(105001) - 10500103 -> Spark-group-id(105001) - 10520101 -> Spark-group-id(105201) - 10520102 -> Spark-group-id(105201) - 10520103 -> Spark-group-id(105201) - 10520201 -> Spark-group-id(105202) - 10520202 -> Spark-group-id(105202) - 10520203 -> Spark-group-id(105202) - 10560101 -> Spark-group-id(105601) - 10560102 -> Spark-group-id(105601) - 10560103 -> Spark-group-id(105601) - 10560201 -> Spark-group-id(105602) - 10560202 -> Spark-group-id(105602) - 10560203 -> Spark-group-id(105602) - 10580101 -> Spark-group-id(105801) - 10580102 -> Spark-group-id(105801) - 10580103 -> Spark-group-id(105801) - 10590101 -> Spark-group-id(105901) - 10590102 -> Spark-group-id(105901) - 10590103 -> Spark-group-id(105901) - 10600101 -> Spark-group-id(106001) - 10600102 -> Spark-group-id(106001) - 10600103 -> Spark-group-id(106001) - 10610101 -> Spark-group-id(106101) - 10610102 -> Spark-group-id(106101) - 10610103 -> Spark-group-id(106101) - 10690101 -> Spark-group-id(106901) - 10690102 -> Spark-group-id(106901) - 10690103 -> Spark-group-id(106901) - 10710101 -> Spark-group-id(107101) - 10710102 -> Spark-group-id(107101) - 10710103 -> Spark-group-id(107101) - _ -> Spark-group-id(0) - -// Get the rarity (level or star count) of a spark. -// If no spark matches the ID, the result is One. -pub fun rarity(s: spark-id): rarity - match s.game-id - 101 -> One - 102 -> Two - 103 -> Three - 201 -> One - 202 -> Two - 203 -> Three - 301 -> One - 302 -> Two - 303 -> Three - 401 -> One - 402 -> Two - 403 -> Three - 501 -> One - 502 -> Two - 503 -> Three - 1101 -> One - 1102 -> Two - 1103 -> Three - 1201 -> One - 1202 -> Two - 1203 -> Three - 2101 -> One - 2102 -> Two - 2103 -> Three - 2201 -> One - 2202 -> Two - 2203 -> Three - 2301 -> One - 2302 -> Two - 2303 -> Three - 2401 -> One - 2402 -> Two - 2403 -> Three - 3101 -> One - 3102 -> Two - 3103 -> Three - 3201 -> One - 3202 -> Two - 3203 -> Three - 3301 -> One - 3302 -> Two - 3303 -> Three - 3401 -> One - 3402 -> Two - 3403 -> Three - 1000101 -> One - 1000102 -> Two - 1000103 -> Three - 1000201 -> One - 1000202 -> Two - 1000203 -> Three - 1000301 -> One - 1000302 -> Two - 1000303 -> Three - 1000401 -> One - 1000402 -> Two - 1000403 -> Three - 1000501 -> One - 1000502 -> Two - 1000503 -> Three - 1000601 -> One - 1000602 -> Two - 1000603 -> Three - 1000701 -> One - 1000702 -> Two - 1000703 -> Three - 1000801 -> One - 1000802 -> Two - 1000803 -> Three - 1000901 -> One - 1000902 -> Two - 1000903 -> Three - 1001001 -> One - 1001002 -> Two - 1001003 -> Three - 1001101 -> One - 1001102 -> Two - 1001103 -> Three - 1001201 -> One - 1001202 -> Two - 1001203 -> Three - 1001301 -> One - 1001302 -> Two - 1001303 -> Three - 1001401 -> One - 1001402 -> Two - 1001403 -> Three - 1001501 -> One - 1001502 -> Two - 1001503 -> Three - 1001601 -> One - 1001602 -> Two - 1001603 -> Three - 1001701 -> One - 1001702 -> Two - 1001703 -> Three - 1001801 -> One - 1001802 -> Two - 1001803 -> Three - 1001901 -> One - 1001902 -> Two - 1001903 -> Three - 1002001 -> One - 1002002 -> Two - 1002003 -> Three - 1002101 -> One - 1002102 -> Two - 1002103 -> Three - 1002201 -> One - 1002202 -> Two - 1002203 -> Three - 1002301 -> One - 1002302 -> Two - 1002303 -> Three - 1002401 -> One - 1002402 -> Two - 1002403 -> Three - 1002501 -> One - 1002502 -> Two - 1002503 -> Three - 1002601 -> One - 1002602 -> Two - 1002603 -> Three - 1002701 -> One - 1002702 -> Two - 1002703 -> Three - 1002801 -> One - 1002802 -> Two - 1002803 -> Three - 1002901 -> One - 1002902 -> Two - 1002903 -> Three - 1003001 -> One - 1003002 -> Two - 1003003 -> Three - 2000101 -> One - 2000102 -> Two - 2000103 -> Three - 2000201 -> One - 2000202 -> Two - 2000203 -> Three - 2000301 -> One - 2000302 -> Two - 2000303 -> Three - 2000401 -> One - 2000402 -> Two - 2000403 -> Three - 2000501 -> One - 2000502 -> Two - 2000503 -> Three - 2000601 -> One - 2000602 -> Two - 2000603 -> Three - 2000701 -> One - 2000702 -> Two - 2000703 -> Three - 2000801 -> One - 2000802 -> Two - 2000803 -> Three - 2000901 -> One - 2000902 -> Two - 2000903 -> Three - 2001001 -> One - 2001002 -> Two - 2001003 -> Three - 2001101 -> One - 2001102 -> Two - 2001103 -> Three - 2001201 -> One - 2001202 -> Two - 2001203 -> Three - 2001301 -> One - 2001302 -> Two - 2001303 -> Three - 2001401 -> One - 2001402 -> Two - 2001403 -> Three - 2001501 -> One - 2001502 -> Two - 2001503 -> Three - 2001601 -> One - 2001602 -> Two - 2001603 -> Three - 2001701 -> One - 2001702 -> Two - 2001703 -> Three - 2001801 -> One - 2001802 -> Two - 2001803 -> Three - 2001901 -> One - 2001902 -> Two - 2001903 -> Three - 2002001 -> One - 2002002 -> Two - 2002003 -> Three - 2002101 -> One - 2002102 -> Two - 2002103 -> Three - 2002201 -> One - 2002202 -> Two - 2002203 -> Three - 2002301 -> One - 2002302 -> Two - 2002303 -> Three - 2002401 -> One - 2002402 -> Two - 2002403 -> Three - 2002501 -> One - 2002502 -> Two - 2002503 -> Three - 2002601 -> One - 2002602 -> Two - 2002603 -> Three - 2002701 -> One - 2002702 -> Two - 2002703 -> Three - 2002801 -> One - 2002802 -> Two - 2002803 -> Three - 2002901 -> One - 2002902 -> Two - 2002903 -> Three - 2003001 -> One - 2003002 -> Two - 2003003 -> Three - 2003301 -> One - 2003302 -> Two - 2003303 -> Three - 2003401 -> One - 2003402 -> Two - 2003403 -> Three - 2003501 -> One - 2003502 -> Two - 2003503 -> Three - 2003601 -> One - 2003602 -> Two - 2003603 -> Three - 2003701 -> One - 2003702 -> Two - 2003703 -> Three - 2003801 -> One - 2003802 -> Two - 2003803 -> Three - 2004301 -> One - 2004302 -> Two - 2004303 -> Three - 2004401 -> One - 2004402 -> Two - 2004403 -> Three - 2004501 -> One - 2004502 -> Two - 2004503 -> Three - 2004601 -> One - 2004602 -> Two - 2004603 -> Three - 2004701 -> One - 2004702 -> Two - 2004703 -> Three - 2004801 -> One - 2004802 -> Two - 2004803 -> Three - 2004901 -> One - 2004902 -> Two - 2004903 -> Three - 2005001 -> One - 2005002 -> Two - 2005003 -> Three - 2005101 -> One - 2005102 -> Two - 2005103 -> Three - 2005301 -> One - 2005302 -> Two - 2005303 -> Three - 2005401 -> One - 2005402 -> Two - 2005403 -> Three - 2005501 -> One - 2005502 -> Two - 2005503 -> Three - 2005601 -> One - 2005602 -> Two - 2005603 -> Three - 2005701 -> One - 2005702 -> Two - 2005703 -> Three - 2005801 -> One - 2005802 -> Two - 2005803 -> Three - 2005901 -> One - 2005902 -> Two - 2005903 -> Three - 2006001 -> One - 2006002 -> Two - 2006003 -> Three - 2006101 -> One - 2006102 -> Two - 2006103 -> Three - 2006201 -> One - 2006202 -> Two - 2006203 -> Three - 2006301 -> One - 2006302 -> Two - 2006303 -> Three - 2006401 -> One - 2006402 -> Two - 2006403 -> Three - 2006501 -> One - 2006502 -> Two - 2006503 -> Three - 2006601 -> One - 2006602 -> Two - 2006603 -> Three - 2006701 -> One - 2006702 -> Two - 2006703 -> Three - 2006801 -> One - 2006802 -> Two - 2006803 -> Three - 2006901 -> One - 2006902 -> Two - 2006903 -> Three - 2007001 -> One - 2007002 -> Two - 2007003 -> Three - 2007101 -> One - 2007102 -> Two - 2007103 -> Three - 2007201 -> One - 2007202 -> Two - 2007203 -> Three - 2007301 -> One - 2007302 -> Two - 2007303 -> Three - 2007401 -> One - 2007402 -> Two - 2007403 -> Three - 2007501 -> One - 2007502 -> Two - 2007503 -> Three - 2007601 -> One - 2007602 -> Two - 2007603 -> Three - 2007701 -> One - 2007702 -> Two - 2007703 -> Three - 2007801 -> One - 2007802 -> Two - 2007803 -> Three - 2007901 -> One - 2007902 -> Two - 2007903 -> Three - 2008001 -> One - 2008002 -> Two - 2008003 -> Three - 2008101 -> One - 2008102 -> Two - 2008103 -> Three - 2008201 -> One - 2008202 -> Two - 2008203 -> Three - 2008301 -> One - 2008302 -> Two - 2008303 -> Three - 2008401 -> One - 2008402 -> Two - 2008403 -> Three - 2008501 -> One - 2008502 -> Two - 2008503 -> Three - 2008601 -> One - 2008602 -> Two - 2008603 -> Three - 2008701 -> One - 2008702 -> Two - 2008703 -> Three - 2008801 -> One - 2008802 -> Two - 2008803 -> Three - 2008901 -> One - 2008902 -> Two - 2008903 -> Three - 2009001 -> One - 2009002 -> Two - 2009003 -> Three - 2009101 -> One - 2009102 -> Two - 2009103 -> Three - 2009201 -> One - 2009202 -> Two - 2009203 -> Three - 2009301 -> One - 2009302 -> Two - 2009303 -> Three - 2009401 -> One - 2009402 -> Two - 2009403 -> Three - 2009501 -> One - 2009502 -> Two - 2009503 -> Three - 2009601 -> One - 2009602 -> Two - 2009603 -> Three - 2009701 -> One - 2009702 -> Two - 2009703 -> Three - 2009801 -> One - 2009802 -> Two - 2009803 -> Three - 2009901 -> One - 2009902 -> Two - 2009903 -> Three - 2010001 -> One - 2010002 -> Two - 2010003 -> Three - 2010101 -> One - 2010102 -> Two - 2010103 -> Three - 2010201 -> One - 2010202 -> Two - 2010203 -> Three - 2010301 -> One - 2010302 -> Two - 2010303 -> Three - 2010401 -> One - 2010402 -> Two - 2010403 -> Three - 2010501 -> One - 2010502 -> Two - 2010503 -> Three - 2010601 -> One - 2010602 -> Two - 2010603 -> Three - 2010701 -> One - 2010702 -> Two - 2010703 -> Three - 2010801 -> One - 2010802 -> Two - 2010803 -> Three - 2010901 -> One - 2010902 -> Two - 2010903 -> Three - 2011001 -> One - 2011002 -> Two - 2011003 -> Three - 2011101 -> One - 2011102 -> Two - 2011103 -> Three - 2011201 -> One - 2011202 -> Two - 2011203 -> Three - 2011301 -> One - 2011302 -> Two - 2011303 -> Three - 2011401 -> One - 2011402 -> Two - 2011403 -> Three - 2011501 -> One - 2011502 -> Two - 2011503 -> Three - 2011601 -> One - 2011602 -> Two - 2011603 -> Three - 2011701 -> One - 2011702 -> Two - 2011703 -> Three - 2011801 -> One - 2011802 -> Two - 2011803 -> Three - 2011901 -> One - 2011902 -> Two - 2011903 -> Three - 2012001 -> One - 2012002 -> Two - 2012003 -> Three - 2012101 -> One - 2012102 -> Two - 2012103 -> Three - 2012201 -> One - 2012202 -> Two - 2012203 -> Three - 2012301 -> One - 2012302 -> Two - 2012303 -> Three - 2012401 -> One - 2012402 -> Two - 2012403 -> Three - 2012501 -> One - 2012502 -> Two - 2012503 -> Three - 2012601 -> One - 2012602 -> Two - 2012603 -> Three - 2012701 -> One - 2012702 -> Two - 2012703 -> Three - 2012801 -> One - 2012802 -> Two - 2012803 -> Three - 2012901 -> One - 2012902 -> Two - 2012903 -> Three - 2013001 -> One - 2013002 -> Two - 2013003 -> Three - 2013101 -> One - 2013102 -> Two - 2013103 -> Three - 2013201 -> One - 2013202 -> Two - 2013203 -> Three - 2013301 -> One - 2013302 -> Two - 2013303 -> Three - 2013401 -> One - 2013402 -> Two - 2013403 -> Three - 2013501 -> One - 2013502 -> Two - 2013503 -> Three - 2013601 -> One - 2013602 -> Two - 2013603 -> Three - 2013701 -> One - 2013702 -> Two - 2013703 -> Three - 2013801 -> One - 2013802 -> Two - 2013803 -> Three - 2013901 -> One - 2013902 -> Two - 2013903 -> Three - 2014001 -> One - 2014002 -> Two - 2014003 -> Three - 2014101 -> One - 2014102 -> Two - 2014103 -> Three - 2014201 -> One - 2014202 -> Two - 2014203 -> Three - 2014301 -> One - 2014302 -> Two - 2014303 -> Three - 2014401 -> One - 2014402 -> Two - 2014403 -> Three - 2014501 -> One - 2014502 -> Two - 2014503 -> Three - 2014601 -> One - 2014602 -> Two - 2014603 -> Three - 2014701 -> One - 2014702 -> Two - 2014703 -> Three - 2014801 -> One - 2014802 -> Two - 2014803 -> Three - 2014901 -> One - 2014902 -> Two - 2014903 -> Three - 2015001 -> One - 2015002 -> Two - 2015003 -> Three - 2015101 -> One - 2015102 -> Two - 2015103 -> Three - 2015201 -> One - 2015202 -> Two - 2015203 -> Three - 2015301 -> One - 2015302 -> Two - 2015303 -> Three - 2015401 -> One - 2015402 -> Two - 2015403 -> Three - 2015501 -> One - 2015502 -> Two - 2015503 -> Three - 2015601 -> One - 2015602 -> Two - 2015603 -> Three - 2015701 -> One - 2015702 -> Two - 2015703 -> Three - 2015801 -> One - 2015802 -> Two - 2015803 -> Three - 2015901 -> One - 2015902 -> Two - 2015903 -> Three - 2016001 -> One - 2016002 -> Two - 2016003 -> Three - 2016101 -> One - 2016102 -> Two - 2016103 -> Three - 2016201 -> One - 2016202 -> Two - 2016203 -> Three - 2016301 -> One - 2016302 -> Two - 2016303 -> Three - 2016401 -> One - 2016402 -> Two - 2016403 -> Three - 2016501 -> One - 2016502 -> Two - 2016503 -> Three - 2016601 -> One - 2016602 -> Two - 2016603 -> Three - 2016701 -> One - 2016702 -> Two - 2016703 -> Three - 2016801 -> One - 2016802 -> Two - 2016803 -> Three - 2016901 -> One - 2016902 -> Two - 2016903 -> Three - 2017001 -> One - 2017002 -> Two - 2017003 -> Three - 2019001 -> One - 2019002 -> Two - 2019003 -> Three - 2020001 -> One - 2020002 -> Two - 2020003 -> Three - 2020101 -> One - 2020102 -> Two - 2020103 -> Three - 2020201 -> One - 2020202 -> Two - 2020203 -> Three - 2020301 -> One - 2020302 -> Two - 2020303 -> Three - 2020401 -> One - 2020402 -> Two - 2020403 -> Three - 2100101 -> One - 2100102 -> Two - 2100103 -> Three - 2100201 -> One - 2100202 -> Two - 2100203 -> Three - 2100301 -> One - 2100302 -> Two - 2100303 -> Three - 2100401 -> One - 2100402 -> Two - 2100403 -> Three - 2100501 -> One - 2100502 -> Two - 2100503 -> Three - 3000101 -> One - 3000102 -> Two - 3000103 -> Three - 3000201 -> One - 3000202 -> Two - 3000203 -> Three - 10010101 -> One - 10010102 -> Two - 10010103 -> Three - 10010201 -> One - 10010202 -> Two - 10010203 -> Three - 10020101 -> One - 10020102 -> Two - 10020103 -> Three - 10030101 -> One - 10030102 -> Two - 10030103 -> Three - 10030201 -> One - 10030202 -> Two - 10030203 -> Three - 10040101 -> One - 10040102 -> Two - 10040103 -> Three - 10040201 -> One - 10040202 -> Two - 10040203 -> Three - 10050101 -> One - 10050102 -> Two - 10050103 -> Three - 10060101 -> One - 10060102 -> Two - 10060103 -> Three - 10060201 -> One - 10060202 -> Two - 10060203 -> Three - 10070101 -> One - 10070102 -> Two - 10070103 -> Three - 10080101 -> One - 10080102 -> Two - 10080103 -> Three - 10090101 -> One - 10090102 -> Two - 10090103 -> Three - 10100101 -> One - 10100102 -> Two - 10100103 -> Three - 10110101 -> One - 10110102 -> Two - 10110103 -> Three - 10110201 -> One - 10110202 -> Two - 10110203 -> Three - 10120101 -> One - 10120102 -> Two - 10120103 -> Three - 10130101 -> One - 10130102 -> Two - 10130103 -> Three - 10130201 -> One - 10130202 -> Two - 10130203 -> Three - 10140101 -> One - 10140102 -> Two - 10140103 -> Three - 10140201 -> One - 10140202 -> Two - 10140203 -> Three - 10150101 -> One - 10150102 -> Two - 10150103 -> Three - 10150201 -> One - 10150202 -> Two - 10150203 -> Three - 10160101 -> One - 10160102 -> Two - 10160103 -> Three - 10170101 -> One - 10170102 -> Two - 10170103 -> Three - 10170201 -> One - 10170202 -> Two - 10170203 -> Three - 10180101 -> One - 10180102 -> Two - 10180103 -> Three - 10180201 -> One - 10180202 -> Two - 10180203 -> Three - 10190101 -> One - 10190102 -> Two - 10190103 -> Three - 10200101 -> One - 10200102 -> Two - 10200103 -> Three - 10210101 -> One - 10210102 -> Two - 10210103 -> Three - 10220101 -> One - 10220102 -> Two - 10220103 -> Three - 10230101 -> One - 10230102 -> Two - 10230103 -> Three - 10230201 -> One - 10230202 -> Two - 10230203 -> Three - 10240101 -> One - 10240102 -> Two - 10240103 -> Three - 10240201 -> One - 10240202 -> Two - 10240203 -> Three - 10250101 -> One - 10250102 -> Two - 10250103 -> Three - 10260101 -> One - 10260102 -> Two - 10260103 -> Three - 10260201 -> One - 10260202 -> Two - 10260203 -> Three - 10270101 -> One - 10270102 -> Two - 10270103 -> Three - 10280101 -> One - 10280102 -> Two - 10280103 -> Three - 10300101 -> One - 10300102 -> Two - 10300103 -> Three - 10300201 -> One - 10300202 -> Two - 10300203 -> Three - 10320101 -> One - 10320102 -> Two - 10320103 -> Three - 10330101 -> One - 10330102 -> Two - 10330103 -> Three - 10350101 -> One - 10350102 -> Two - 10350103 -> Three - 10370101 -> One - 10370102 -> Two - 10370103 -> Three - 10370201 -> One - 10370202 -> Two - 10370203 -> Three - 10380101 -> One - 10380102 -> Two - 10380103 -> Three - 10390101 -> One - 10390102 -> Two - 10390103 -> Three - 10400101 -> One - 10400102 -> Two - 10400103 -> Three - 10400201 -> One - 10400202 -> Two - 10400203 -> Three - 10410101 -> One - 10410102 -> Two - 10410103 -> Three - 10450101 -> One - 10450102 -> Two - 10450103 -> Three - 10450201 -> One - 10450202 -> Two - 10450203 -> Three - 10460101 -> One - 10460102 -> Two - 10460103 -> Three - 10480101 -> One - 10480102 -> Two - 10480103 -> Three - 10500101 -> One - 10500102 -> Two - 10500103 -> Three - 10520101 -> One - 10520102 -> Two - 10520103 -> Three - 10520201 -> One - 10520202 -> Two - 10520203 -> Three - 10560101 -> One - 10560102 -> Two - 10560103 -> Three - 10560201 -> One - 10560202 -> Two - 10560203 -> Three - 10580101 -> One - 10580102 -> Two - 10580103 -> Three - 10590101 -> One - 10590102 -> Two - 10590103 -> Three - 10600101 -> One - 10600102 -> Two - 10600103 -> Three - 10610101 -> One - 10610102 -> Two - 10610103 -> Three - 10690101 -> One - 10690102 -> Two - 10690103 -> Three - 10710101 -> One - 10710102 -> Two - 10710103 -> Three - _ -> One - -// Get the type of a spark. -// If no spark matches the ID, the result is Stat. -pub fun spark-type(s: spark-id): spark-type - match s.game-id - 101 -> Stat - 102 -> Stat - 103 -> Stat - 201 -> Stat - 202 -> Stat - 203 -> Stat - 301 -> Stat - 302 -> Stat - 303 -> Stat - 401 -> Stat - 402 -> Stat - 403 -> Stat - 501 -> Stat - 502 -> Stat - 503 -> Stat - 1101 -> Aptitude - 1102 -> Aptitude - 1103 -> Aptitude - 1201 -> Aptitude - 1202 -> Aptitude - 1203 -> Aptitude - 2101 -> Aptitude - 2102 -> Aptitude - 2103 -> Aptitude - 2201 -> Aptitude - 2202 -> Aptitude - 2203 -> Aptitude - 2301 -> Aptitude - 2302 -> Aptitude - 2303 -> Aptitude - 2401 -> Aptitude - 2402 -> Aptitude - 2403 -> Aptitude - 3101 -> Aptitude - 3102 -> Aptitude - 3103 -> Aptitude - 3201 -> Aptitude - 3202 -> Aptitude - 3203 -> Aptitude - 3301 -> Aptitude - 3302 -> Aptitude - 3303 -> Aptitude - 3401 -> Aptitude - 3402 -> Aptitude - 3403 -> Aptitude - 1000101 -> Race - 1000102 -> Race - 1000103 -> Race - 1000201 -> Race - 1000202 -> Race - 1000203 -> Race - 1000301 -> Race - 1000302 -> Race - 1000303 -> Race - 1000401 -> Race - 1000402 -> Race - 1000403 -> Race - 1000501 -> Race - 1000502 -> Race - 1000503 -> Race - 1000601 -> Race - 1000602 -> Race - 1000603 -> Race - 1000701 -> Race - 1000702 -> Race - 1000703 -> Race - 1000801 -> Race - 1000802 -> Race - 1000803 -> Race - 1000901 -> Race - 1000902 -> Race - 1000903 -> Race - 1001001 -> Race - 1001002 -> Race - 1001003 -> Race - 1001101 -> Race - 1001102 -> Race - 1001103 -> Race - 1001201 -> Race - 1001202 -> Race - 1001203 -> Race - 1001301 -> Race - 1001302 -> Race - 1001303 -> Race - 1001401 -> Race - 1001402 -> Race - 1001403 -> Race - 1001501 -> Race - 1001502 -> Race - 1001503 -> Race - 1001601 -> Race - 1001602 -> Race - 1001603 -> Race - 1001701 -> Race - 1001702 -> Race - 1001703 -> Race - 1001801 -> Race - 1001802 -> Race - 1001803 -> Race - 1001901 -> Race - 1001902 -> Race - 1001903 -> Race - 1002001 -> Race - 1002002 -> Race - 1002003 -> Race - 1002101 -> Race - 1002102 -> Race - 1002103 -> Race - 1002201 -> Race - 1002202 -> Race - 1002203 -> Race - 1002301 -> Race - 1002302 -> Race - 1002303 -> Race - 1002401 -> Race - 1002402 -> Race - 1002403 -> Race - 1002501 -> Race - 1002502 -> Race - 1002503 -> Race - 1002601 -> Race - 1002602 -> Race - 1002603 -> Race - 1002701 -> Race - 1002702 -> Race - 1002703 -> Race - 1002801 -> Race - 1002802 -> Race - 1002803 -> Race - 1002901 -> Race - 1002902 -> Race - 1002903 -> Race - 1003001 -> Race - 1003002 -> Race - 1003003 -> Race - 2000101 -> Skill - 2000102 -> Skill - 2000103 -> Skill - 2000201 -> Skill - 2000202 -> Skill - 2000203 -> Skill - 2000301 -> Skill - 2000302 -> Skill - 2000303 -> Skill - 2000401 -> Skill - 2000402 -> Skill - 2000403 -> Skill - 2000501 -> Skill - 2000502 -> Skill - 2000503 -> Skill - 2000601 -> Skill - 2000602 -> Skill - 2000603 -> Skill - 2000701 -> Skill - 2000702 -> Skill - 2000703 -> Skill - 2000801 -> Skill - 2000802 -> Skill - 2000803 -> Skill - 2000901 -> Skill - 2000902 -> Skill - 2000903 -> Skill - 2001001 -> Skill - 2001002 -> Skill - 2001003 -> Skill - 2001101 -> Skill - 2001102 -> Skill - 2001103 -> Skill - 2001201 -> Skill - 2001202 -> Skill - 2001203 -> Skill - 2001301 -> Skill - 2001302 -> Skill - 2001303 -> Skill - 2001401 -> Skill - 2001402 -> Skill - 2001403 -> Skill - 2001501 -> Skill - 2001502 -> Skill - 2001503 -> Skill - 2001601 -> Skill - 2001602 -> Skill - 2001603 -> Skill - 2001701 -> Skill - 2001702 -> Skill - 2001703 -> Skill - 2001801 -> Skill - 2001802 -> Skill - 2001803 -> Skill - 2001901 -> Skill - 2001902 -> Skill - 2001903 -> Skill - 2002001 -> Skill - 2002002 -> Skill - 2002003 -> Skill - 2002101 -> Skill - 2002102 -> Skill - 2002103 -> Skill - 2002201 -> Skill - 2002202 -> Skill - 2002203 -> Skill - 2002301 -> Skill - 2002302 -> Skill - 2002303 -> Skill - 2002401 -> Skill - 2002402 -> Skill - 2002403 -> Skill - 2002501 -> Skill - 2002502 -> Skill - 2002503 -> Skill - 2002601 -> Skill - 2002602 -> Skill - 2002603 -> Skill - 2002701 -> Skill - 2002702 -> Skill - 2002703 -> Skill - 2002801 -> Skill - 2002802 -> Skill - 2002803 -> Skill - 2002901 -> Skill - 2002902 -> Skill - 2002903 -> Skill - 2003001 -> Skill - 2003002 -> Skill - 2003003 -> Skill - 2003301 -> Skill - 2003302 -> Skill - 2003303 -> Skill - 2003401 -> Skill - 2003402 -> Skill - 2003403 -> Skill - 2003501 -> Skill - 2003502 -> Skill - 2003503 -> Skill - 2003601 -> Skill - 2003602 -> Skill - 2003603 -> Skill - 2003701 -> Skill - 2003702 -> Skill - 2003703 -> Skill - 2003801 -> Skill - 2003802 -> Skill - 2003803 -> Skill - 2004301 -> Skill - 2004302 -> Skill - 2004303 -> Skill - 2004401 -> Skill - 2004402 -> Skill - 2004403 -> Skill - 2004501 -> Skill - 2004502 -> Skill - 2004503 -> Skill - 2004601 -> Skill - 2004602 -> Skill - 2004603 -> Skill - 2004701 -> Skill - 2004702 -> Skill - 2004703 -> Skill - 2004801 -> Skill - 2004802 -> Skill - 2004803 -> Skill - 2004901 -> Skill - 2004902 -> Skill - 2004903 -> Skill - 2005001 -> Skill - 2005002 -> Skill - 2005003 -> Skill - 2005101 -> Skill - 2005102 -> Skill - 2005103 -> Skill - 2005301 -> Skill - 2005302 -> Skill - 2005303 -> Skill - 2005401 -> Skill - 2005402 -> Skill - 2005403 -> Skill - 2005501 -> Skill - 2005502 -> Skill - 2005503 -> Skill - 2005601 -> Skill - 2005602 -> Skill - 2005603 -> Skill - 2005701 -> Skill - 2005702 -> Skill - 2005703 -> Skill - 2005801 -> Skill - 2005802 -> Skill - 2005803 -> Skill - 2005901 -> Skill - 2005902 -> Skill - 2005903 -> Skill - 2006001 -> Skill - 2006002 -> Skill - 2006003 -> Skill - 2006101 -> Skill - 2006102 -> Skill - 2006103 -> Skill - 2006201 -> Skill - 2006202 -> Skill - 2006203 -> Skill - 2006301 -> Skill - 2006302 -> Skill - 2006303 -> Skill - 2006401 -> Skill - 2006402 -> Skill - 2006403 -> Skill - 2006501 -> Skill - 2006502 -> Skill - 2006503 -> Skill - 2006601 -> Skill - 2006602 -> Skill - 2006603 -> Skill - 2006701 -> Skill - 2006702 -> Skill - 2006703 -> Skill - 2006801 -> Skill - 2006802 -> Skill - 2006803 -> Skill - 2006901 -> Skill - 2006902 -> Skill - 2006903 -> Skill - 2007001 -> Skill - 2007002 -> Skill - 2007003 -> Skill - 2007101 -> Skill - 2007102 -> Skill - 2007103 -> Skill - 2007201 -> Skill - 2007202 -> Skill - 2007203 -> Skill - 2007301 -> Skill - 2007302 -> Skill - 2007303 -> Skill - 2007401 -> Skill - 2007402 -> Skill - 2007403 -> Skill - 2007501 -> Skill - 2007502 -> Skill - 2007503 -> Skill - 2007601 -> Skill - 2007602 -> Skill - 2007603 -> Skill - 2007701 -> Skill - 2007702 -> Skill - 2007703 -> Skill - 2007801 -> Skill - 2007802 -> Skill - 2007803 -> Skill - 2007901 -> Skill - 2007902 -> Skill - 2007903 -> Skill - 2008001 -> Skill - 2008002 -> Skill - 2008003 -> Skill - 2008101 -> Skill - 2008102 -> Skill - 2008103 -> Skill - 2008201 -> Skill - 2008202 -> Skill - 2008203 -> Skill - 2008301 -> Skill - 2008302 -> Skill - 2008303 -> Skill - 2008401 -> Skill - 2008402 -> Skill - 2008403 -> Skill - 2008501 -> Skill - 2008502 -> Skill - 2008503 -> Skill - 2008601 -> Skill - 2008602 -> Skill - 2008603 -> Skill - 2008701 -> Skill - 2008702 -> Skill - 2008703 -> Skill - 2008801 -> Skill - 2008802 -> Skill - 2008803 -> Skill - 2008901 -> Skill - 2008902 -> Skill - 2008903 -> Skill - 2009001 -> Skill - 2009002 -> Skill - 2009003 -> Skill - 2009101 -> Skill - 2009102 -> Skill - 2009103 -> Skill - 2009201 -> Skill - 2009202 -> Skill - 2009203 -> Skill - 2009301 -> Skill - 2009302 -> Skill - 2009303 -> Skill - 2009401 -> Skill - 2009402 -> Skill - 2009403 -> Skill - 2009501 -> Skill - 2009502 -> Skill - 2009503 -> Skill - 2009601 -> Skill - 2009602 -> Skill - 2009603 -> Skill - 2009701 -> Skill - 2009702 -> Skill - 2009703 -> Skill - 2009801 -> Skill - 2009802 -> Skill - 2009803 -> Skill - 2009901 -> Skill - 2009902 -> Skill - 2009903 -> Skill - 2010001 -> Skill - 2010002 -> Skill - 2010003 -> Skill - 2010101 -> Skill - 2010102 -> Skill - 2010103 -> Skill - 2010201 -> Skill - 2010202 -> Skill - 2010203 -> Skill - 2010301 -> Skill - 2010302 -> Skill - 2010303 -> Skill - 2010401 -> Skill - 2010402 -> Skill - 2010403 -> Skill - 2010501 -> Skill - 2010502 -> Skill - 2010503 -> Skill - 2010601 -> Skill - 2010602 -> Skill - 2010603 -> Skill - 2010701 -> Skill - 2010702 -> Skill - 2010703 -> Skill - 2010801 -> Skill - 2010802 -> Skill - 2010803 -> Skill - 2010901 -> Skill - 2010902 -> Skill - 2010903 -> Skill - 2011001 -> Skill - 2011002 -> Skill - 2011003 -> Skill - 2011101 -> Skill - 2011102 -> Skill - 2011103 -> Skill - 2011201 -> Skill - 2011202 -> Skill - 2011203 -> Skill - 2011301 -> Skill - 2011302 -> Skill - 2011303 -> Skill - 2011401 -> Skill - 2011402 -> Skill - 2011403 -> Skill - 2011501 -> Skill - 2011502 -> Skill - 2011503 -> Skill - 2011601 -> Skill - 2011602 -> Skill - 2011603 -> Skill - 2011701 -> Skill - 2011702 -> Skill - 2011703 -> Skill - 2011801 -> Skill - 2011802 -> Skill - 2011803 -> Skill - 2011901 -> Skill - 2011902 -> Skill - 2011903 -> Skill - 2012001 -> Skill - 2012002 -> Skill - 2012003 -> Skill - 2012101 -> Skill - 2012102 -> Skill - 2012103 -> Skill - 2012201 -> Skill - 2012202 -> Skill - 2012203 -> Skill - 2012301 -> Skill - 2012302 -> Skill - 2012303 -> Skill - 2012401 -> Skill - 2012402 -> Skill - 2012403 -> Skill - 2012501 -> Skill - 2012502 -> Skill - 2012503 -> Skill - 2012601 -> Skill - 2012602 -> Skill - 2012603 -> Skill - 2012701 -> Skill - 2012702 -> Skill - 2012703 -> Skill - 2012801 -> Skill - 2012802 -> Skill - 2012803 -> Skill - 2012901 -> Skill - 2012902 -> Skill - 2012903 -> Skill - 2013001 -> Skill - 2013002 -> Skill - 2013003 -> Skill - 2013101 -> Skill - 2013102 -> Skill - 2013103 -> Skill - 2013201 -> Skill - 2013202 -> Skill - 2013203 -> Skill - 2013301 -> Skill - 2013302 -> Skill - 2013303 -> Skill - 2013401 -> Skill - 2013402 -> Skill - 2013403 -> Skill - 2013501 -> Skill - 2013502 -> Skill - 2013503 -> Skill - 2013601 -> Skill - 2013602 -> Skill - 2013603 -> Skill - 2013701 -> Skill - 2013702 -> Skill - 2013703 -> Skill - 2013801 -> Skill - 2013802 -> Skill - 2013803 -> Skill - 2013901 -> Skill - 2013902 -> Skill - 2013903 -> Skill - 2014001 -> Skill - 2014002 -> Skill - 2014003 -> Skill - 2014101 -> Skill - 2014102 -> Skill - 2014103 -> Skill - 2014201 -> Skill - 2014202 -> Skill - 2014203 -> Skill - 2014301 -> Skill - 2014302 -> Skill - 2014303 -> Skill - 2014401 -> Skill - 2014402 -> Skill - 2014403 -> Skill - 2014501 -> Skill - 2014502 -> Skill - 2014503 -> Skill - 2014601 -> Skill - 2014602 -> Skill - 2014603 -> Skill - 2014701 -> Skill - 2014702 -> Skill - 2014703 -> Skill - 2014801 -> Skill - 2014802 -> Skill - 2014803 -> Skill - 2014901 -> Skill - 2014902 -> Skill - 2014903 -> Skill - 2015001 -> Skill - 2015002 -> Skill - 2015003 -> Skill - 2015101 -> Skill - 2015102 -> Skill - 2015103 -> Skill - 2015201 -> Skill - 2015202 -> Skill - 2015203 -> Skill - 2015301 -> Skill - 2015302 -> Skill - 2015303 -> Skill - 2015401 -> Skill - 2015402 -> Skill - 2015403 -> Skill - 2015501 -> Skill - 2015502 -> Skill - 2015503 -> Skill - 2015601 -> Skill - 2015602 -> Skill - 2015603 -> Skill - 2015701 -> Skill - 2015702 -> Skill - 2015703 -> Skill - 2015801 -> Skill - 2015802 -> Skill - 2015803 -> Skill - 2015901 -> Skill - 2015902 -> Skill - 2015903 -> Skill - 2016001 -> Skill - 2016002 -> Skill - 2016003 -> Skill - 2016101 -> Skill - 2016102 -> Skill - 2016103 -> Skill - 2016201 -> Skill - 2016202 -> Skill - 2016203 -> Skill - 2016301 -> Skill - 2016302 -> Skill - 2016303 -> Skill - 2016401 -> Skill - 2016402 -> Skill - 2016403 -> Skill - 2016501 -> Skill - 2016502 -> Skill - 2016503 -> Skill - 2016601 -> Skill - 2016602 -> Skill - 2016603 -> Skill - 2016701 -> Skill - 2016702 -> Skill - 2016703 -> Skill - 2016801 -> Skill - 2016802 -> Skill - 2016803 -> Skill - 2016901 -> Skill - 2016902 -> Skill - 2016903 -> Skill - 2017001 -> Skill - 2017002 -> Skill - 2017003 -> Skill - 2019001 -> Skill - 2019002 -> Skill - 2019003 -> Skill - 2020001 -> Skill - 2020002 -> Skill - 2020003 -> Skill - 2020101 -> Skill - 2020102 -> Skill - 2020103 -> Skill - 2020201 -> Skill - 2020202 -> Skill - 2020203 -> Skill - 2020301 -> Skill - 2020302 -> Skill - 2020303 -> Skill - 2020401 -> Skill - 2020402 -> Skill - 2020403 -> Skill - 2100101 -> Skill - 2100102 -> Skill - 2100103 -> Skill - 2100201 -> Skill - 2100202 -> Skill - 2100203 -> Skill - 2100301 -> Skill - 2100302 -> Skill - 2100303 -> Skill - 2100401 -> Skill - 2100402 -> Skill - 2100403 -> Skill - 2100501 -> Skill - 2100502 -> Skill - 2100503 -> Skill - 3000101 -> Scenario - 3000102 -> Scenario - 3000103 -> Scenario - 3000201 -> Scenario - 3000202 -> Scenario - 3000203 -> Scenario - 10010101 -> Unique - 10010102 -> Unique - 10010103 -> Unique - 10010201 -> Unique - 10010202 -> Unique - 10010203 -> Unique - 10020101 -> Unique - 10020102 -> Unique - 10020103 -> Unique - 10030101 -> Unique - 10030102 -> Unique - 10030103 -> Unique - 10030201 -> Unique - 10030202 -> Unique - 10030203 -> Unique - 10040101 -> Unique - 10040102 -> Unique - 10040103 -> Unique - 10040201 -> Unique - 10040202 -> Unique - 10040203 -> Unique - 10050101 -> Unique - 10050102 -> Unique - 10050103 -> Unique - 10060101 -> Unique - 10060102 -> Unique - 10060103 -> Unique - 10060201 -> Unique - 10060202 -> Unique - 10060203 -> Unique - 10070101 -> Unique - 10070102 -> Unique - 10070103 -> Unique - 10080101 -> Unique - 10080102 -> Unique - 10080103 -> Unique - 10090101 -> Unique - 10090102 -> Unique - 10090103 -> Unique - 10100101 -> Unique - 10100102 -> Unique - 10100103 -> Unique - 10110101 -> Unique - 10110102 -> Unique - 10110103 -> Unique - 10110201 -> Unique - 10110202 -> Unique - 10110203 -> Unique - 10120101 -> Unique - 10120102 -> Unique - 10120103 -> Unique - 10130101 -> Unique - 10130102 -> Unique - 10130103 -> Unique - 10130201 -> Unique - 10130202 -> Unique - 10130203 -> Unique - 10140101 -> Unique - 10140102 -> Unique - 10140103 -> Unique - 10140201 -> Unique - 10140202 -> Unique - 10140203 -> Unique - 10150101 -> Unique - 10150102 -> Unique - 10150103 -> Unique - 10150201 -> Unique - 10150202 -> Unique - 10150203 -> Unique - 10160101 -> Unique - 10160102 -> Unique - 10160103 -> Unique - 10170101 -> Unique - 10170102 -> Unique - 10170103 -> Unique - 10170201 -> Unique - 10170202 -> Unique - 10170203 -> Unique - 10180101 -> Unique - 10180102 -> Unique - 10180103 -> Unique - 10180201 -> Unique - 10180202 -> Unique - 10180203 -> Unique - 10190101 -> Unique - 10190102 -> Unique - 10190103 -> Unique - 10200101 -> Unique - 10200102 -> Unique - 10200103 -> Unique - 10210101 -> Unique - 10210102 -> Unique - 10210103 -> Unique - 10220101 -> Unique - 10220102 -> Unique - 10220103 -> Unique - 10230101 -> Unique - 10230102 -> Unique - 10230103 -> Unique - 10230201 -> Unique - 10230202 -> Unique - 10230203 -> Unique - 10240101 -> Unique - 10240102 -> Unique - 10240103 -> Unique - 10240201 -> Unique - 10240202 -> Unique - 10240203 -> Unique - 10250101 -> Unique - 10250102 -> Unique - 10250103 -> Unique - 10260101 -> Unique - 10260102 -> Unique - 10260103 -> Unique - 10260201 -> Unique - 10260202 -> Unique - 10260203 -> Unique - 10270101 -> Unique - 10270102 -> Unique - 10270103 -> Unique - 10280101 -> Unique - 10280102 -> Unique - 10280103 -> Unique - 10300101 -> Unique - 10300102 -> Unique - 10300103 -> Unique - 10300201 -> Unique - 10300202 -> Unique - 10300203 -> Unique - 10320101 -> Unique - 10320102 -> Unique - 10320103 -> Unique - 10330101 -> Unique - 10330102 -> Unique - 10330103 -> Unique - 10350101 -> Unique - 10350102 -> Unique - 10350103 -> Unique - 10370101 -> Unique - 10370102 -> Unique - 10370103 -> Unique - 10370201 -> Unique - 10370202 -> Unique - 10370203 -> Unique - 10380101 -> Unique - 10380102 -> Unique - 10380103 -> Unique - 10390101 -> Unique - 10390102 -> Unique - 10390103 -> Unique - 10400101 -> Unique - 10400102 -> Unique - 10400103 -> Unique - 10400201 -> Unique - 10400202 -> Unique - 10400203 -> Unique - 10410101 -> Unique - 10410102 -> Unique - 10410103 -> Unique - 10450101 -> Unique - 10450102 -> Unique - 10450103 -> Unique - 10450201 -> Unique - 10450202 -> Unique - 10450203 -> Unique - 10460101 -> Unique - 10460102 -> Unique - 10460103 -> Unique - 10480101 -> Unique - 10480102 -> Unique - 10480103 -> Unique - 10500101 -> Unique - 10500102 -> Unique - 10500103 -> Unique - 10520101 -> Unique - 10520102 -> Unique - 10520103 -> Unique - 10520201 -> Unique - 10520202 -> Unique - 10520203 -> Unique - 10560101 -> Unique - 10560102 -> Unique - 10560103 -> Unique - 10560201 -> Unique - 10560202 -> Unique - 10560203 -> Unique - 10580101 -> Unique - 10580102 -> Unique - 10580103 -> Unique - 10590101 -> Unique - 10590102 -> Unique - 10590103 -> Unique - 10600101 -> Unique - 10600102 -> Unique - 10600103 -> Unique - 10610101 -> Unique - 10610102 -> Unique - 10610103 -> Unique - 10690101 -> Unique - 10690102 -> Unique - 10690103 -> Unique - 10710101 -> Unique - 10710102 -> Unique - 10710103 -> Unique - _ -> Stat - -// Get the list of all effects a spark can apply during inheritance. -// When a spark procs, a random element is chosen from the list yielded by this -// function according to a hidden distribution, then all effects in that are applied. -// If no spark matches the ID, the result is the empty list. -pub fun effects(s: spark-id): list> - match s.game-id - 101 -> [ - [Stat-Up(Speed, 1),], - [Stat-Up(Speed, 4),], - [Stat-Up(Speed, 7),], - [Stat-Up(Speed, 10),], - [Stat-Up(Speed, 13),], - [Stat-Up(Speed, 16),], - [Stat-Up(Speed, 19),], - [Stat-Up(Speed, 22),], - [Stat-Up(Speed, 25),], - [Stat-Up(Speed, 28),], - ] - 102 -> [ - [Stat-Up(Speed, 1),], - [Stat-Up(Speed, 4),], - [Stat-Up(Speed, 7),], - [Stat-Up(Speed, 10),], - [Stat-Up(Speed, 13),], - [Stat-Up(Speed, 16),], - [Stat-Up(Speed, 19),], - [Stat-Up(Speed, 22),], - [Stat-Up(Speed, 25),], - [Stat-Up(Speed, 28),], - ] - 103 -> [ - [Stat-Up(Speed, 1),], - [Stat-Up(Speed, 4),], - [Stat-Up(Speed, 7),], - [Stat-Up(Speed, 10),], - [Stat-Up(Speed, 13),], - [Stat-Up(Speed, 16),], - [Stat-Up(Speed, 19),], - [Stat-Up(Speed, 22),], - [Stat-Up(Speed, 25),], - [Stat-Up(Speed, 28),], - ] - 201 -> [ - [Stat-Up(Stamina, 1),], - [Stat-Up(Stamina, 4),], - [Stat-Up(Stamina, 7),], - [Stat-Up(Stamina, 10),], - [Stat-Up(Stamina, 13),], - [Stat-Up(Stamina, 16),], - [Stat-Up(Stamina, 19),], - [Stat-Up(Stamina, 22),], - [Stat-Up(Stamina, 25),], - [Stat-Up(Stamina, 28),], - ] - 202 -> [ - [Stat-Up(Stamina, 1),], - [Stat-Up(Stamina, 4),], - [Stat-Up(Stamina, 7),], - [Stat-Up(Stamina, 10),], - [Stat-Up(Stamina, 13),], - [Stat-Up(Stamina, 16),], - [Stat-Up(Stamina, 19),], - [Stat-Up(Stamina, 22),], - [Stat-Up(Stamina, 25),], - [Stat-Up(Stamina, 28),], - ] - 203 -> [ - [Stat-Up(Stamina, 1),], - [Stat-Up(Stamina, 4),], - [Stat-Up(Stamina, 7),], - [Stat-Up(Stamina, 10),], - [Stat-Up(Stamina, 13),], - [Stat-Up(Stamina, 16),], - [Stat-Up(Stamina, 19),], - [Stat-Up(Stamina, 22),], - [Stat-Up(Stamina, 25),], - [Stat-Up(Stamina, 28),], - ] - 301 -> [ - [Stat-Up(Power, 1),], - [Stat-Up(Power, 4),], - [Stat-Up(Power, 7),], - [Stat-Up(Power, 10),], - [Stat-Up(Power, 13),], - [Stat-Up(Power, 16),], - [Stat-Up(Power, 19),], - [Stat-Up(Power, 22),], - [Stat-Up(Power, 25),], - [Stat-Up(Power, 28),], - ] - 302 -> [ - [Stat-Up(Power, 1),], - [Stat-Up(Power, 4),], - [Stat-Up(Power, 7),], - [Stat-Up(Power, 10),], - [Stat-Up(Power, 13),], - [Stat-Up(Power, 16),], - [Stat-Up(Power, 19),], - [Stat-Up(Power, 22),], - [Stat-Up(Power, 25),], - [Stat-Up(Power, 28),], - ] - 303 -> [ - [Stat-Up(Power, 1),], - [Stat-Up(Power, 4),], - [Stat-Up(Power, 7),], - [Stat-Up(Power, 10),], - [Stat-Up(Power, 13),], - [Stat-Up(Power, 16),], - [Stat-Up(Power, 19),], - [Stat-Up(Power, 22),], - [Stat-Up(Power, 25),], - [Stat-Up(Power, 28),], - ] - 401 -> [ - [Stat-Up(Guts, 1),], - [Stat-Up(Guts, 4),], - [Stat-Up(Guts, 7),], - [Stat-Up(Guts, 10),], - [Stat-Up(Guts, 13),], - [Stat-Up(Guts, 16),], - [Stat-Up(Guts, 19),], - [Stat-Up(Guts, 22),], - [Stat-Up(Guts, 25),], - [Stat-Up(Guts, 28),], - ] - 402 -> [ - [Stat-Up(Guts, 1),], - [Stat-Up(Guts, 4),], - [Stat-Up(Guts, 7),], - [Stat-Up(Guts, 10),], - [Stat-Up(Guts, 13),], - [Stat-Up(Guts, 16),], - [Stat-Up(Guts, 19),], - [Stat-Up(Guts, 22),], - [Stat-Up(Guts, 25),], - [Stat-Up(Guts, 28),], - ] - 403 -> [ - [Stat-Up(Guts, 1),], - [Stat-Up(Guts, 4),], - [Stat-Up(Guts, 7),], - [Stat-Up(Guts, 10),], - [Stat-Up(Guts, 13),], - [Stat-Up(Guts, 16),], - [Stat-Up(Guts, 19),], - [Stat-Up(Guts, 22),], - [Stat-Up(Guts, 25),], - [Stat-Up(Guts, 28),], - ] - 501 -> [ - [Stat-Up(Wit, 1),], - [Stat-Up(Wit, 4),], - [Stat-Up(Wit, 7),], - [Stat-Up(Wit, 10),], - [Stat-Up(Wit, 13),], - [Stat-Up(Wit, 16),], - [Stat-Up(Wit, 19),], - [Stat-Up(Wit, 22),], - [Stat-Up(Wit, 25),], - [Stat-Up(Wit, 28),], - ] - 502 -> [ - [Stat-Up(Wit, 1),], - [Stat-Up(Wit, 4),], - [Stat-Up(Wit, 7),], - [Stat-Up(Wit, 10),], - [Stat-Up(Wit, 13),], - [Stat-Up(Wit, 16),], - [Stat-Up(Wit, 19),], - [Stat-Up(Wit, 22),], - [Stat-Up(Wit, 25),], - [Stat-Up(Wit, 28),], - ] - 503 -> [ - [Stat-Up(Wit, 1),], - [Stat-Up(Wit, 4),], - [Stat-Up(Wit, 7),], - [Stat-Up(Wit, 10),], - [Stat-Up(Wit, 13),], - [Stat-Up(Wit, 16),], - [Stat-Up(Wit, 19),], - [Stat-Up(Wit, 22),], - [Stat-Up(Wit, 25),], - [Stat-Up(Wit, 28),], - ] - 1101 -> [ - [Aptitude-Up(Turf, 1),], - [Aptitude-Up(Turf, 2),], - ] - 1102 -> [ - [Aptitude-Up(Turf, 1),], - [Aptitude-Up(Turf, 2),], - ] - 1103 -> [ - [Aptitude-Up(Turf, 1),], - [Aptitude-Up(Turf, 2),], - ] - 1201 -> [ - [Aptitude-Up(Dirt, 1),], - [Aptitude-Up(Dirt, 2),], - ] - 1202 -> [ - [Aptitude-Up(Dirt, 1),], - [Aptitude-Up(Dirt, 2),], - ] - 1203 -> [ - [Aptitude-Up(Dirt, 1),], - [Aptitude-Up(Dirt, 2),], - ] - 2101 -> [ - [Aptitude-Up(Front-Runner, 1),], - [Aptitude-Up(Front-Runner, 2),], - ] - 2102 -> [ - [Aptitude-Up(Front-Runner, 1),], - [Aptitude-Up(Front-Runner, 2),], - ] - 2103 -> [ - [Aptitude-Up(Front-Runner, 1),], - [Aptitude-Up(Front-Runner, 2),], - ] - 2201 -> [ - [Aptitude-Up(Pace-Chaser, 1),], - [Aptitude-Up(Pace-Chaser, 2),], - ] - 2202 -> [ - [Aptitude-Up(Pace-Chaser, 1),], - [Aptitude-Up(Pace-Chaser, 2),], - ] - 2203 -> [ - [Aptitude-Up(Pace-Chaser, 1),], - [Aptitude-Up(Pace-Chaser, 2),], - ] - 2301 -> [ - [Aptitude-Up(Late-Surger, 1),], - [Aptitude-Up(Late-Surger, 2),], - ] - 2302 -> [ - [Aptitude-Up(Late-Surger, 1),], - [Aptitude-Up(Late-Surger, 2),], - ] - 2303 -> [ - [Aptitude-Up(Late-Surger, 1),], - [Aptitude-Up(Late-Surger, 2),], - ] - 2401 -> [ - [Aptitude-Up(End-Closer, 1),], - [Aptitude-Up(End-Closer, 2),], - ] - 2402 -> [ - [Aptitude-Up(End-Closer, 1),], - [Aptitude-Up(End-Closer, 2),], - ] - 2403 -> [ - [Aptitude-Up(End-Closer, 1),], - [Aptitude-Up(End-Closer, 2),], - ] - 3101 -> [ - [Aptitude-Up(Sprint, 1),], - [Aptitude-Up(Sprint, 2),], - ] - 3102 -> [ - [Aptitude-Up(Sprint, 1),], - [Aptitude-Up(Sprint, 2),], - ] - 3103 -> [ - [Aptitude-Up(Sprint, 1),], - [Aptitude-Up(Sprint, 2),], - ] - 3201 -> [ - [Aptitude-Up(Mile, 1),], - [Aptitude-Up(Mile, 2),], - ] - 3202 -> [ - [Aptitude-Up(Mile, 1),], - [Aptitude-Up(Mile, 2),], - ] - 3203 -> [ - [Aptitude-Up(Mile, 1),], - [Aptitude-Up(Mile, 2),], - ] - 3301 -> [ - [Aptitude-Up(Medium, 1),], - [Aptitude-Up(Medium, 2),], - ] - 3302 -> [ - [Aptitude-Up(Medium, 1),], - [Aptitude-Up(Medium, 2),], - ] - 3303 -> [ - [Aptitude-Up(Medium, 1),], - [Aptitude-Up(Medium, 2),], - ] - 3401 -> [ - [Aptitude-Up(Long, 1),], - [Aptitude-Up(Long, 2),], - ] - 3402 -> [ - [Aptitude-Up(Long, 1),], - [Aptitude-Up(Long, 2),], - ] - 3403 -> [ - [Aptitude-Up(Long, 1),], - [Aptitude-Up(Long, 2),], - ] - 1000101 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200202), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200202), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200202), 1),], - ] - 1000102 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200202), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200202), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200202), 1),], - ] - 1000103 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200202), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200202), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200202), 1),], - ] - 1000201 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200072), 1),], - ] - 1000202 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200072), 1),], - ] - 1000203 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200072), 1),], - ] - 1000301 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200132), 1),], - ] - 1000302 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200132), 1),], - ] - 1000303 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200132), 1),], - ] - 1000401 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200052), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200052), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200052), 1),], - ] - 1000402 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200052), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200052), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200052), 1),], - ] - 1000403 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200052), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200052), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200052), 1),], - ] - 1000501 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200042), 1),], - ] - 1000502 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200042), 1),], - ] - 1000503 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200042), 1),], - ] - 1000601 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200172), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200172), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200172), 1),], - ] - 1000602 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200172), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200172), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200172), 1),], - ] - 1000603 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200172), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200172), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200172), 1),], - ] - 1000701 -> [ - [Stat-Up(Speed, 3),Stat-Up(Power, 3),], - [Stat-Up(Speed, 6),Stat-Up(Power, 6),], - [Stat-Up(Speed, 9),Stat-Up(Power, 9),], - ] - 1000702 -> [ - [Stat-Up(Speed, 3),Stat-Up(Power, 3),], - [Stat-Up(Speed, 6),Stat-Up(Power, 6),], - [Stat-Up(Speed, 9),Stat-Up(Power, 9),], - ] - 1000703 -> [ - [Stat-Up(Speed, 3),Stat-Up(Power, 3),], - [Stat-Up(Speed, 6),Stat-Up(Power, 6),], - [Stat-Up(Speed, 9),Stat-Up(Power, 9),], - ] - 1000801 -> [ - [Stat-Up(Speed, 3),Stat-Up(Power, 3),], - [Stat-Up(Speed, 6),Stat-Up(Power, 6),], - [Stat-Up(Speed, 9),Stat-Up(Power, 9),], - ] - 1000802 -> [ - [Stat-Up(Speed, 3),Stat-Up(Power, 3),], - [Stat-Up(Speed, 6),Stat-Up(Power, 6),], - [Stat-Up(Speed, 9),Stat-Up(Power, 9),], - ] - 1000803 -> [ - [Stat-Up(Speed, 3),Stat-Up(Power, 3),], - [Stat-Up(Speed, 6),Stat-Up(Power, 6),], - [Stat-Up(Speed, 9),Stat-Up(Power, 9),], - ] - 1000901 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1000902 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1000903 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1001001 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1001002 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1001003 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1001101 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1001102 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1001103 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1001201 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200182), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200182), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200182), 1),], - ] - 1001202 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200182), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200182), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200182), 1),], - ] - 1001203 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200182), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200182), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200182), 1),], - ] - 1001301 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200132), 1),], - ] - 1001302 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200132), 1),], - ] - 1001303 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200132), 1),], - ] - 1001401 -> [ - [Stat-Up(Wit, 3),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Wit, 6),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Wit, 9),Skill-Hint(Skill-id(200062), 1),], - ] - 1001402 -> [ - [Stat-Up(Wit, 3),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Wit, 6),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Wit, 9),Skill-Hint(Skill-id(200062), 1),], - ] - 1001403 -> [ - [Stat-Up(Wit, 3),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Wit, 6),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Wit, 9),Skill-Hint(Skill-id(200062), 1),], - ] - 1001501 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200062), 1),], - ] - 1001502 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200062), 1),], - ] - 1001503 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200062), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200062), 1),], - ] - 1001601 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200192), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200192), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200192), 1),], - ] - 1001602 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200192), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200192), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200192), 1),], - ] - 1001603 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200192), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200192), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200192), 1),], - ] - 1001701 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200142), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200142), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200142), 1),], - ] - 1001702 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200142), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200142), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200142), 1),], - ] - 1001703 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200142), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200142), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200142), 1),], - ] - 1001801 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200132), 1),], - ] - 1001802 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200132), 1),], - ] - 1001803 -> [ - [Stat-Up(Speed, 3),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 6),Skill-Hint(Skill-id(200132), 1),], - [Stat-Up(Speed, 9),Skill-Hint(Skill-id(200132), 1),], - ] - 1001901 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1001902 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1001903 -> [ - [Stat-Up(Stamina, 3),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 6),Skill-Hint(Skill-id(200032), 1),], - [Stat-Up(Stamina, 9),Skill-Hint(Skill-id(200032), 1),], - ] - 1002001 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200072), 1),], - ] - 1002002 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200072), 1),], - ] - 1002003 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200072), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200072), 1),], - ] - 1002101 -> [ - [Stat-Up(Speed, 3),Stat-Up(Power, 3),], - [Stat-Up(Speed, 6),Stat-Up(Power, 6),], - [Stat-Up(Speed, 9),Stat-Up(Power, 9),], - ] - 1002102 -> [ - [Stat-Up(Speed, 3),Stat-Up(Power, 3),], - [Stat-Up(Speed, 6),Stat-Up(Power, 6),], - [Stat-Up(Speed, 9),Stat-Up(Power, 9),], - ] - 1002103 -> [ - [Stat-Up(Speed, 3),Stat-Up(Power, 3),], - [Stat-Up(Speed, 6),Stat-Up(Power, 6),], - [Stat-Up(Speed, 9),Stat-Up(Power, 9),], - ] - 1002201 -> [ - [Stat-Up(Speed, 3),Stat-Up(Guts, 3),], - [Stat-Up(Speed, 6),Stat-Up(Guts, 6),], - [Stat-Up(Speed, 9),Stat-Up(Guts, 9),], - ] - 1002202 -> [ - [Stat-Up(Speed, 3),Stat-Up(Guts, 3),], - [Stat-Up(Speed, 6),Stat-Up(Guts, 6),], - [Stat-Up(Speed, 9),Stat-Up(Guts, 9),], - ] - 1002203 -> [ - [Stat-Up(Speed, 3),Stat-Up(Guts, 3),], - [Stat-Up(Speed, 6),Stat-Up(Guts, 6),], - [Stat-Up(Speed, 9),Stat-Up(Guts, 9),], - ] - 1002301 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200042), 1),], - ] - 1002302 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200042), 1),], - ] - 1002303 -> [ - [Stat-Up(Guts, 3),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Guts, 6),Skill-Hint(Skill-id(200042), 1),], - [Stat-Up(Guts, 9),Skill-Hint(Skill-id(200042), 1),], - ] - 1002401 -> [ - [Stat-Up(Speed, 3),Stat-Up(Stamina, 3),], - [Stat-Up(Speed, 6),Stat-Up(Stamina, 6),], - [Stat-Up(Speed, 9),Stat-Up(Stamina, 9),], - ] - 1002402 -> [ - [Stat-Up(Speed, 3),Stat-Up(Stamina, 3),], - [Stat-Up(Speed, 6),Stat-Up(Stamina, 6),], - [Stat-Up(Speed, 9),Stat-Up(Stamina, 9),], - ] - 1002403 -> [ - [Stat-Up(Speed, 3),Stat-Up(Stamina, 3),], - [Stat-Up(Speed, 6),Stat-Up(Stamina, 6),], - [Stat-Up(Speed, 9),Stat-Up(Stamina, 9),], - ] - 1002501 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200952), 1),], - ] - 1002502 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200952), 1),], - ] - 1002503 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200952), 1),], - ] - 1002601 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200952), 1),], - ] - 1002602 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200952), 1),], - ] - 1002603 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200952), 1),], - ] - 1002701 -> [ - [Stat-Up(Speed, 3),Stat-Up(Guts, 3),], - [Stat-Up(Speed, 6),Stat-Up(Guts, 6),], - [Stat-Up(Speed, 9),Stat-Up(Guts, 9),], - ] - 1002702 -> [ - [Stat-Up(Speed, 3),Stat-Up(Guts, 3),], - [Stat-Up(Speed, 6),Stat-Up(Guts, 6),], - [Stat-Up(Speed, 9),Stat-Up(Guts, 9),], - ] - 1002703 -> [ - [Stat-Up(Speed, 3),Stat-Up(Guts, 3),], - [Stat-Up(Speed, 6),Stat-Up(Guts, 6),], - [Stat-Up(Speed, 9),Stat-Up(Guts, 9),], - ] - 1002801 -> [ - [Stat-Up(Power, 3),Stat-Up(Guts, 3),], - [Stat-Up(Power, 6),Stat-Up(Guts, 6),], - [Stat-Up(Power, 9),Stat-Up(Guts, 9),], - ] - 1002802 -> [ - [Stat-Up(Power, 3),Stat-Up(Guts, 3),], - [Stat-Up(Power, 6),Stat-Up(Guts, 6),], - [Stat-Up(Power, 9),Stat-Up(Guts, 9),], - ] - 1002803 -> [ - [Stat-Up(Power, 3),Stat-Up(Guts, 3),], - [Stat-Up(Power, 6),Stat-Up(Guts, 6),], - [Stat-Up(Power, 9),Stat-Up(Guts, 9),], - ] - 1002901 -> [ - [Stat-Up(Stamina, 3),Stat-Up(Guts, 3),], - [Stat-Up(Stamina, 6),Stat-Up(Guts, 6),], - [Stat-Up(Stamina, 9),Stat-Up(Guts, 9),], - ] - 1002902 -> [ - [Stat-Up(Stamina, 3),Stat-Up(Guts, 3),], - [Stat-Up(Stamina, 6),Stat-Up(Guts, 6),], - [Stat-Up(Stamina, 9),Stat-Up(Guts, 9),], - ] - 1002903 -> [ - [Stat-Up(Stamina, 3),Stat-Up(Guts, 3),], - [Stat-Up(Stamina, 6),Stat-Up(Guts, 6),], - [Stat-Up(Stamina, 9),Stat-Up(Guts, 9),], - ] - 1003001 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200952), 1),], - ] - 1003002 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200952), 1),], - ] - 1003003 -> [ - [Stat-Up(Power, 3),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 6),Skill-Hint(Skill-id(200952), 1),], - [Stat-Up(Power, 9),Skill-Hint(Skill-id(200952), 1),], - ] - 2000101 -> [ - [Skill-Hint(Skill-id(200012), 1),], - [Skill-Hint(Skill-id(200012), 2),], - [Skill-Hint(Skill-id(200012), 3),], - [Skill-Hint(Skill-id(200012), 4),], - [Skill-Hint(Skill-id(200012), 5),], - ] - 2000102 -> [ - [Skill-Hint(Skill-id(200012), 1),], - [Skill-Hint(Skill-id(200012), 2),], - [Skill-Hint(Skill-id(200012), 3),], - [Skill-Hint(Skill-id(200012), 4),], - [Skill-Hint(Skill-id(200012), 5),], - ] - 2000103 -> [ - [Skill-Hint(Skill-id(200012), 1),], - [Skill-Hint(Skill-id(200012), 2),], - [Skill-Hint(Skill-id(200012), 3),], - [Skill-Hint(Skill-id(200012), 4),], - [Skill-Hint(Skill-id(200012), 5),], - ] - 2000201 -> [ - [Skill-Hint(Skill-id(200022), 1),], - [Skill-Hint(Skill-id(200022), 2),], - [Skill-Hint(Skill-id(200022), 3),], - [Skill-Hint(Skill-id(200022), 4),], - [Skill-Hint(Skill-id(200022), 5),], - ] - 2000202 -> [ - [Skill-Hint(Skill-id(200022), 1),], - [Skill-Hint(Skill-id(200022), 2),], - [Skill-Hint(Skill-id(200022), 3),], - [Skill-Hint(Skill-id(200022), 4),], - [Skill-Hint(Skill-id(200022), 5),], - ] - 2000203 -> [ - [Skill-Hint(Skill-id(200022), 1),], - [Skill-Hint(Skill-id(200022), 2),], - [Skill-Hint(Skill-id(200022), 3),], - [Skill-Hint(Skill-id(200022), 4),], - [Skill-Hint(Skill-id(200022), 5),], - ] - 2000301 -> [ - [Skill-Hint(Skill-id(200032), 1),], - [Skill-Hint(Skill-id(200032), 2),], - [Skill-Hint(Skill-id(200032), 3),], - [Skill-Hint(Skill-id(200032), 4),], - [Skill-Hint(Skill-id(200032), 5),], - ] - 2000302 -> [ - [Skill-Hint(Skill-id(200032), 1),], - [Skill-Hint(Skill-id(200032), 2),], - [Skill-Hint(Skill-id(200032), 3),], - [Skill-Hint(Skill-id(200032), 4),], - [Skill-Hint(Skill-id(200032), 5),], - ] - 2000303 -> [ - [Skill-Hint(Skill-id(200032), 1),], - [Skill-Hint(Skill-id(200032), 2),], - [Skill-Hint(Skill-id(200032), 3),], - [Skill-Hint(Skill-id(200032), 4),], - [Skill-Hint(Skill-id(200032), 5),], - ] - 2000401 -> [ - [Skill-Hint(Skill-id(200042), 1),], - [Skill-Hint(Skill-id(200042), 2),], - [Skill-Hint(Skill-id(200042), 3),], - [Skill-Hint(Skill-id(200042), 4),], - [Skill-Hint(Skill-id(200042), 5),], - ] - 2000402 -> [ - [Skill-Hint(Skill-id(200042), 1),], - [Skill-Hint(Skill-id(200042), 2),], - [Skill-Hint(Skill-id(200042), 3),], - [Skill-Hint(Skill-id(200042), 4),], - [Skill-Hint(Skill-id(200042), 5),], - ] - 2000403 -> [ - [Skill-Hint(Skill-id(200042), 1),], - [Skill-Hint(Skill-id(200042), 2),], - [Skill-Hint(Skill-id(200042), 3),], - [Skill-Hint(Skill-id(200042), 4),], - [Skill-Hint(Skill-id(200042), 5),], - ] - 2000501 -> [ - [Skill-Hint(Skill-id(200052), 1),], - [Skill-Hint(Skill-id(200052), 2),], - [Skill-Hint(Skill-id(200052), 3),], - [Skill-Hint(Skill-id(200052), 4),], - [Skill-Hint(Skill-id(200052), 5),], - ] - 2000502 -> [ - [Skill-Hint(Skill-id(200052), 1),], - [Skill-Hint(Skill-id(200052), 2),], - [Skill-Hint(Skill-id(200052), 3),], - [Skill-Hint(Skill-id(200052), 4),], - [Skill-Hint(Skill-id(200052), 5),], - ] - 2000503 -> [ - [Skill-Hint(Skill-id(200052), 1),], - [Skill-Hint(Skill-id(200052), 2),], - [Skill-Hint(Skill-id(200052), 3),], - [Skill-Hint(Skill-id(200052), 4),], - [Skill-Hint(Skill-id(200052), 5),], - ] - 2000601 -> [ - [Skill-Hint(Skill-id(200062), 1),], - [Skill-Hint(Skill-id(200062), 2),], - [Skill-Hint(Skill-id(200062), 3),], - [Skill-Hint(Skill-id(200062), 4),], - [Skill-Hint(Skill-id(200062), 5),], - ] - 2000602 -> [ - [Skill-Hint(Skill-id(200062), 1),], - [Skill-Hint(Skill-id(200062), 2),], - [Skill-Hint(Skill-id(200062), 3),], - [Skill-Hint(Skill-id(200062), 4),], - [Skill-Hint(Skill-id(200062), 5),], - ] - 2000603 -> [ - [Skill-Hint(Skill-id(200062), 1),], - [Skill-Hint(Skill-id(200062), 2),], - [Skill-Hint(Skill-id(200062), 3),], - [Skill-Hint(Skill-id(200062), 4),], - [Skill-Hint(Skill-id(200062), 5),], - ] - 2000701 -> [ - [Skill-Hint(Skill-id(200072), 1),], - [Skill-Hint(Skill-id(200072), 2),], - [Skill-Hint(Skill-id(200072), 3),], - [Skill-Hint(Skill-id(200072), 4),], - [Skill-Hint(Skill-id(200072), 5),], - ] - 2000702 -> [ - [Skill-Hint(Skill-id(200072), 1),], - [Skill-Hint(Skill-id(200072), 2),], - [Skill-Hint(Skill-id(200072), 3),], - [Skill-Hint(Skill-id(200072), 4),], - [Skill-Hint(Skill-id(200072), 5),], - ] - 2000703 -> [ - [Skill-Hint(Skill-id(200072), 1),], - [Skill-Hint(Skill-id(200072), 2),], - [Skill-Hint(Skill-id(200072), 3),], - [Skill-Hint(Skill-id(200072), 4),], - [Skill-Hint(Skill-id(200072), 5),], - ] - 2000801 -> [ - [Skill-Hint(Skill-id(200082), 1),], - [Skill-Hint(Skill-id(200082), 2),], - [Skill-Hint(Skill-id(200082), 3),], - [Skill-Hint(Skill-id(200082), 4),], - [Skill-Hint(Skill-id(200082), 5),], - ] - 2000802 -> [ - [Skill-Hint(Skill-id(200082), 1),], - [Skill-Hint(Skill-id(200082), 2),], - [Skill-Hint(Skill-id(200082), 3),], - [Skill-Hint(Skill-id(200082), 4),], - [Skill-Hint(Skill-id(200082), 5),], - ] - 2000803 -> [ - [Skill-Hint(Skill-id(200082), 1),], - [Skill-Hint(Skill-id(200082), 2),], - [Skill-Hint(Skill-id(200082), 3),], - [Skill-Hint(Skill-id(200082), 4),], - [Skill-Hint(Skill-id(200082), 5),], - ] - 2000901 -> [ - [Skill-Hint(Skill-id(200092), 1),], - [Skill-Hint(Skill-id(200092), 2),], - [Skill-Hint(Skill-id(200092), 3),], - [Skill-Hint(Skill-id(200092), 4),], - [Skill-Hint(Skill-id(200092), 5),], - ] - 2000902 -> [ - [Skill-Hint(Skill-id(200092), 1),], - [Skill-Hint(Skill-id(200092), 2),], - [Skill-Hint(Skill-id(200092), 3),], - [Skill-Hint(Skill-id(200092), 4),], - [Skill-Hint(Skill-id(200092), 5),], - ] - 2000903 -> [ - [Skill-Hint(Skill-id(200092), 1),], - [Skill-Hint(Skill-id(200092), 2),], - [Skill-Hint(Skill-id(200092), 3),], - [Skill-Hint(Skill-id(200092), 4),], - [Skill-Hint(Skill-id(200092), 5),], - ] - 2001001 -> [ - [Skill-Hint(Skill-id(200102), 1),], - [Skill-Hint(Skill-id(200102), 2),], - [Skill-Hint(Skill-id(200102), 3),], - [Skill-Hint(Skill-id(200102), 4),], - [Skill-Hint(Skill-id(200102), 5),], - ] - 2001002 -> [ - [Skill-Hint(Skill-id(200102), 1),], - [Skill-Hint(Skill-id(200102), 2),], - [Skill-Hint(Skill-id(200102), 3),], - [Skill-Hint(Skill-id(200102), 4),], - [Skill-Hint(Skill-id(200102), 5),], - ] - 2001003 -> [ - [Skill-Hint(Skill-id(200102), 1),], - [Skill-Hint(Skill-id(200102), 2),], - [Skill-Hint(Skill-id(200102), 3),], - [Skill-Hint(Skill-id(200102), 4),], - [Skill-Hint(Skill-id(200102), 5),], - ] - 2001101 -> [ - [Skill-Hint(Skill-id(200112), 1),], - [Skill-Hint(Skill-id(200112), 2),], - [Skill-Hint(Skill-id(200112), 3),], - [Skill-Hint(Skill-id(200112), 4),], - [Skill-Hint(Skill-id(200112), 5),], - ] - 2001102 -> [ - [Skill-Hint(Skill-id(200112), 1),], - [Skill-Hint(Skill-id(200112), 2),], - [Skill-Hint(Skill-id(200112), 3),], - [Skill-Hint(Skill-id(200112), 4),], - [Skill-Hint(Skill-id(200112), 5),], - ] - 2001103 -> [ - [Skill-Hint(Skill-id(200112), 1),], - [Skill-Hint(Skill-id(200112), 2),], - [Skill-Hint(Skill-id(200112), 3),], - [Skill-Hint(Skill-id(200112), 4),], - [Skill-Hint(Skill-id(200112), 5),], - ] - 2001201 -> [ - [Skill-Hint(Skill-id(200122), 1),], - [Skill-Hint(Skill-id(200122), 2),], - [Skill-Hint(Skill-id(200122), 3),], - [Skill-Hint(Skill-id(200122), 4),], - [Skill-Hint(Skill-id(200122), 5),], - ] - 2001202 -> [ - [Skill-Hint(Skill-id(200122), 1),], - [Skill-Hint(Skill-id(200122), 2),], - [Skill-Hint(Skill-id(200122), 3),], - [Skill-Hint(Skill-id(200122), 4),], - [Skill-Hint(Skill-id(200122), 5),], - ] - 2001203 -> [ - [Skill-Hint(Skill-id(200122), 1),], - [Skill-Hint(Skill-id(200122), 2),], - [Skill-Hint(Skill-id(200122), 3),], - [Skill-Hint(Skill-id(200122), 4),], - [Skill-Hint(Skill-id(200122), 5),], - ] - 2001301 -> [ - [Skill-Hint(Skill-id(200132), 1),], - [Skill-Hint(Skill-id(200132), 2),], - [Skill-Hint(Skill-id(200132), 3),], - [Skill-Hint(Skill-id(200132), 4),], - [Skill-Hint(Skill-id(200132), 5),], - ] - 2001302 -> [ - [Skill-Hint(Skill-id(200132), 1),], - [Skill-Hint(Skill-id(200132), 2),], - [Skill-Hint(Skill-id(200132), 3),], - [Skill-Hint(Skill-id(200132), 4),], - [Skill-Hint(Skill-id(200132), 5),], - ] - 2001303 -> [ - [Skill-Hint(Skill-id(200132), 1),], - [Skill-Hint(Skill-id(200132), 2),], - [Skill-Hint(Skill-id(200132), 3),], - [Skill-Hint(Skill-id(200132), 4),], - [Skill-Hint(Skill-id(200132), 5),], - ] - 2001401 -> [ - [Skill-Hint(Skill-id(200142), 1),], - [Skill-Hint(Skill-id(200142), 2),], - [Skill-Hint(Skill-id(200142), 3),], - [Skill-Hint(Skill-id(200142), 4),], - [Skill-Hint(Skill-id(200142), 5),], - ] - 2001402 -> [ - [Skill-Hint(Skill-id(200142), 1),], - [Skill-Hint(Skill-id(200142), 2),], - [Skill-Hint(Skill-id(200142), 3),], - [Skill-Hint(Skill-id(200142), 4),], - [Skill-Hint(Skill-id(200142), 5),], - ] - 2001403 -> [ - [Skill-Hint(Skill-id(200142), 1),], - [Skill-Hint(Skill-id(200142), 2),], - [Skill-Hint(Skill-id(200142), 3),], - [Skill-Hint(Skill-id(200142), 4),], - [Skill-Hint(Skill-id(200142), 5),], - ] - 2001501 -> [ - [Skill-Hint(Skill-id(200152), 1),], - [Skill-Hint(Skill-id(200152), 2),], - [Skill-Hint(Skill-id(200152), 3),], - [Skill-Hint(Skill-id(200152), 4),], - [Skill-Hint(Skill-id(200152), 5),], - ] - 2001502 -> [ - [Skill-Hint(Skill-id(200152), 1),], - [Skill-Hint(Skill-id(200152), 2),], - [Skill-Hint(Skill-id(200152), 3),], - [Skill-Hint(Skill-id(200152), 4),], - [Skill-Hint(Skill-id(200152), 5),], - ] - 2001503 -> [ - [Skill-Hint(Skill-id(200152), 1),], - [Skill-Hint(Skill-id(200152), 2),], - [Skill-Hint(Skill-id(200152), 3),], - [Skill-Hint(Skill-id(200152), 4),], - [Skill-Hint(Skill-id(200152), 5),], - ] - 2001601 -> [ - [Skill-Hint(Skill-id(200162), 1),], - [Skill-Hint(Skill-id(200162), 2),], - [Skill-Hint(Skill-id(200162), 3),], - [Skill-Hint(Skill-id(200162), 4),], - [Skill-Hint(Skill-id(200162), 5),], - ] - 2001602 -> [ - [Skill-Hint(Skill-id(200162), 1),], - [Skill-Hint(Skill-id(200162), 2),], - [Skill-Hint(Skill-id(200162), 3),], - [Skill-Hint(Skill-id(200162), 4),], - [Skill-Hint(Skill-id(200162), 5),], - ] - 2001603 -> [ - [Skill-Hint(Skill-id(200162), 1),], - [Skill-Hint(Skill-id(200162), 2),], - [Skill-Hint(Skill-id(200162), 3),], - [Skill-Hint(Skill-id(200162), 4),], - [Skill-Hint(Skill-id(200162), 5),], - ] - 2001701 -> [ - [Skill-Hint(Skill-id(200172), 1),], - [Skill-Hint(Skill-id(200172), 2),], - [Skill-Hint(Skill-id(200172), 3),], - [Skill-Hint(Skill-id(200172), 4),], - [Skill-Hint(Skill-id(200172), 5),], - ] - 2001702 -> [ - [Skill-Hint(Skill-id(200172), 1),], - [Skill-Hint(Skill-id(200172), 2),], - [Skill-Hint(Skill-id(200172), 3),], - [Skill-Hint(Skill-id(200172), 4),], - [Skill-Hint(Skill-id(200172), 5),], - ] - 2001703 -> [ - [Skill-Hint(Skill-id(200172), 1),], - [Skill-Hint(Skill-id(200172), 2),], - [Skill-Hint(Skill-id(200172), 3),], - [Skill-Hint(Skill-id(200172), 4),], - [Skill-Hint(Skill-id(200172), 5),], - ] - 2001801 -> [ - [Skill-Hint(Skill-id(200182), 1),], - [Skill-Hint(Skill-id(200182), 2),], - [Skill-Hint(Skill-id(200182), 3),], - [Skill-Hint(Skill-id(200182), 4),], - [Skill-Hint(Skill-id(200182), 5),], - ] - 2001802 -> [ - [Skill-Hint(Skill-id(200182), 1),], - [Skill-Hint(Skill-id(200182), 2),], - [Skill-Hint(Skill-id(200182), 3),], - [Skill-Hint(Skill-id(200182), 4),], - [Skill-Hint(Skill-id(200182), 5),], - ] - 2001803 -> [ - [Skill-Hint(Skill-id(200182), 1),], - [Skill-Hint(Skill-id(200182), 2),], - [Skill-Hint(Skill-id(200182), 3),], - [Skill-Hint(Skill-id(200182), 4),], - [Skill-Hint(Skill-id(200182), 5),], - ] - 2001901 -> [ - [Skill-Hint(Skill-id(200192), 1),], - [Skill-Hint(Skill-id(200192), 2),], - [Skill-Hint(Skill-id(200192), 3),], - [Skill-Hint(Skill-id(200192), 4),], - [Skill-Hint(Skill-id(200192), 5),], - ] - 2001902 -> [ - [Skill-Hint(Skill-id(200192), 1),], - [Skill-Hint(Skill-id(200192), 2),], - [Skill-Hint(Skill-id(200192), 3),], - [Skill-Hint(Skill-id(200192), 4),], - [Skill-Hint(Skill-id(200192), 5),], - ] - 2001903 -> [ - [Skill-Hint(Skill-id(200192), 1),], - [Skill-Hint(Skill-id(200192), 2),], - [Skill-Hint(Skill-id(200192), 3),], - [Skill-Hint(Skill-id(200192), 4),], - [Skill-Hint(Skill-id(200192), 5),], - ] - 2002001 -> [ - [Skill-Hint(Skill-id(200202), 1),], - [Skill-Hint(Skill-id(200202), 2),], - [Skill-Hint(Skill-id(200202), 3),], - [Skill-Hint(Skill-id(200202), 4),], - [Skill-Hint(Skill-id(200202), 5),], - ] - 2002002 -> [ - [Skill-Hint(Skill-id(200202), 1),], - [Skill-Hint(Skill-id(200202), 2),], - [Skill-Hint(Skill-id(200202), 3),], - [Skill-Hint(Skill-id(200202), 4),], - [Skill-Hint(Skill-id(200202), 5),], - ] - 2002003 -> [ - [Skill-Hint(Skill-id(200202), 1),], - [Skill-Hint(Skill-id(200202), 2),], - [Skill-Hint(Skill-id(200202), 3),], - [Skill-Hint(Skill-id(200202), 4),], - [Skill-Hint(Skill-id(200202), 5),], - ] - 2002101 -> [ - [Skill-Hint(Skill-id(200212), 1),], - [Skill-Hint(Skill-id(200212), 2),], - [Skill-Hint(Skill-id(200212), 3),], - [Skill-Hint(Skill-id(200212), 4),], - [Skill-Hint(Skill-id(200212), 5),], - ] - 2002102 -> [ - [Skill-Hint(Skill-id(200212), 1),], - [Skill-Hint(Skill-id(200212), 2),], - [Skill-Hint(Skill-id(200212), 3),], - [Skill-Hint(Skill-id(200212), 4),], - [Skill-Hint(Skill-id(200212), 5),], - ] - 2002103 -> [ - [Skill-Hint(Skill-id(200212), 1),], - [Skill-Hint(Skill-id(200212), 2),], - [Skill-Hint(Skill-id(200212), 3),], - [Skill-Hint(Skill-id(200212), 4),], - [Skill-Hint(Skill-id(200212), 5),], - ] - 2002201 -> [ - [Skill-Hint(Skill-id(200222), 1),], - [Skill-Hint(Skill-id(200222), 2),], - [Skill-Hint(Skill-id(200222), 3),], - [Skill-Hint(Skill-id(200222), 4),], - [Skill-Hint(Skill-id(200222), 5),], - ] - 2002202 -> [ - [Skill-Hint(Skill-id(200222), 1),], - [Skill-Hint(Skill-id(200222), 2),], - [Skill-Hint(Skill-id(200222), 3),], - [Skill-Hint(Skill-id(200222), 4),], - [Skill-Hint(Skill-id(200222), 5),], - ] - 2002203 -> [ - [Skill-Hint(Skill-id(200222), 1),], - [Skill-Hint(Skill-id(200222), 2),], - [Skill-Hint(Skill-id(200222), 3),], - [Skill-Hint(Skill-id(200222), 4),], - [Skill-Hint(Skill-id(200222), 5),], - ] - 2002301 -> [ - [Skill-Hint(Skill-id(200232), 1),], - [Skill-Hint(Skill-id(200232), 2),], - [Skill-Hint(Skill-id(200232), 3),], - [Skill-Hint(Skill-id(200232), 4),], - [Skill-Hint(Skill-id(200232), 5),], - ] - 2002302 -> [ - [Skill-Hint(Skill-id(200232), 1),], - [Skill-Hint(Skill-id(200232), 2),], - [Skill-Hint(Skill-id(200232), 3),], - [Skill-Hint(Skill-id(200232), 4),], - [Skill-Hint(Skill-id(200232), 5),], - ] - 2002303 -> [ - [Skill-Hint(Skill-id(200232), 1),], - [Skill-Hint(Skill-id(200232), 2),], - [Skill-Hint(Skill-id(200232), 3),], - [Skill-Hint(Skill-id(200232), 4),], - [Skill-Hint(Skill-id(200232), 5),], - ] - 2002401 -> [ - [Skill-Hint(Skill-id(200242), 1),], - [Skill-Hint(Skill-id(200242), 2),], - [Skill-Hint(Skill-id(200242), 3),], - [Skill-Hint(Skill-id(200242), 4),], - [Skill-Hint(Skill-id(200242), 5),], - ] - 2002402 -> [ - [Skill-Hint(Skill-id(200242), 1),], - [Skill-Hint(Skill-id(200242), 2),], - [Skill-Hint(Skill-id(200242), 3),], - [Skill-Hint(Skill-id(200242), 4),], - [Skill-Hint(Skill-id(200242), 5),], - ] - 2002403 -> [ - [Skill-Hint(Skill-id(200242), 1),], - [Skill-Hint(Skill-id(200242), 2),], - [Skill-Hint(Skill-id(200242), 3),], - [Skill-Hint(Skill-id(200242), 4),], - [Skill-Hint(Skill-id(200242), 5),], - ] - 2002501 -> [ - [Skill-Hint(Skill-id(200252), 1),], - [Skill-Hint(Skill-id(200252), 2),], - [Skill-Hint(Skill-id(200252), 3),], - [Skill-Hint(Skill-id(200252), 4),], - [Skill-Hint(Skill-id(200252), 5),], - ] - 2002502 -> [ - [Skill-Hint(Skill-id(200252), 1),], - [Skill-Hint(Skill-id(200252), 2),], - [Skill-Hint(Skill-id(200252), 3),], - [Skill-Hint(Skill-id(200252), 4),], - [Skill-Hint(Skill-id(200252), 5),], - ] - 2002503 -> [ - [Skill-Hint(Skill-id(200252), 1),], - [Skill-Hint(Skill-id(200252), 2),], - [Skill-Hint(Skill-id(200252), 3),], - [Skill-Hint(Skill-id(200252), 4),], - [Skill-Hint(Skill-id(200252), 5),], - ] - 2002601 -> [ - [Skill-Hint(Skill-id(200262), 1),], - [Skill-Hint(Skill-id(200262), 2),], - [Skill-Hint(Skill-id(200262), 3),], - [Skill-Hint(Skill-id(200262), 4),], - [Skill-Hint(Skill-id(200262), 5),], - ] - 2002602 -> [ - [Skill-Hint(Skill-id(200262), 1),], - [Skill-Hint(Skill-id(200262), 2),], - [Skill-Hint(Skill-id(200262), 3),], - [Skill-Hint(Skill-id(200262), 4),], - [Skill-Hint(Skill-id(200262), 5),], - ] - 2002603 -> [ - [Skill-Hint(Skill-id(200262), 1),], - [Skill-Hint(Skill-id(200262), 2),], - [Skill-Hint(Skill-id(200262), 3),], - [Skill-Hint(Skill-id(200262), 4),], - [Skill-Hint(Skill-id(200262), 5),], - ] - 2002701 -> [ - [Skill-Hint(Skill-id(200272), 1),], - [Skill-Hint(Skill-id(200272), 2),], - [Skill-Hint(Skill-id(200272), 3),], - [Skill-Hint(Skill-id(200272), 4),], - [Skill-Hint(Skill-id(200272), 5),], - ] - 2002702 -> [ - [Skill-Hint(Skill-id(200272), 1),], - [Skill-Hint(Skill-id(200272), 2),], - [Skill-Hint(Skill-id(200272), 3),], - [Skill-Hint(Skill-id(200272), 4),], - [Skill-Hint(Skill-id(200272), 5),], - ] - 2002703 -> [ - [Skill-Hint(Skill-id(200272), 1),], - [Skill-Hint(Skill-id(200272), 2),], - [Skill-Hint(Skill-id(200272), 3),], - [Skill-Hint(Skill-id(200272), 4),], - [Skill-Hint(Skill-id(200272), 5),], - ] - 2002801 -> [ - [Skill-Hint(Skill-id(200282), 1),], - [Skill-Hint(Skill-id(200282), 2),], - [Skill-Hint(Skill-id(200282), 3),], - [Skill-Hint(Skill-id(200282), 4),], - [Skill-Hint(Skill-id(200282), 5),], - ] - 2002802 -> [ - [Skill-Hint(Skill-id(200282), 1),], - [Skill-Hint(Skill-id(200282), 2),], - [Skill-Hint(Skill-id(200282), 3),], - [Skill-Hint(Skill-id(200282), 4),], - [Skill-Hint(Skill-id(200282), 5),], - ] - 2002803 -> [ - [Skill-Hint(Skill-id(200282), 1),], - [Skill-Hint(Skill-id(200282), 2),], - [Skill-Hint(Skill-id(200282), 3),], - [Skill-Hint(Skill-id(200282), 4),], - [Skill-Hint(Skill-id(200282), 5),], - ] - 2002901 -> [ - [Skill-Hint(Skill-id(200292), 1),], - [Skill-Hint(Skill-id(200292), 2),], - [Skill-Hint(Skill-id(200292), 3),], - [Skill-Hint(Skill-id(200292), 4),], - [Skill-Hint(Skill-id(200292), 5),], - ] - 2002902 -> [ - [Skill-Hint(Skill-id(200292), 1),], - [Skill-Hint(Skill-id(200292), 2),], - [Skill-Hint(Skill-id(200292), 3),], - [Skill-Hint(Skill-id(200292), 4),], - [Skill-Hint(Skill-id(200292), 5),], - ] - 2002903 -> [ - [Skill-Hint(Skill-id(200292), 1),], - [Skill-Hint(Skill-id(200292), 2),], - [Skill-Hint(Skill-id(200292), 3),], - [Skill-Hint(Skill-id(200292), 4),], - [Skill-Hint(Skill-id(200292), 5),], - ] - 2003001 -> [ - [Skill-Hint(Skill-id(200302), 1),], - [Skill-Hint(Skill-id(200302), 2),], - [Skill-Hint(Skill-id(200302), 3),], - [Skill-Hint(Skill-id(200302), 4),], - [Skill-Hint(Skill-id(200302), 5),], - ] - 2003002 -> [ - [Skill-Hint(Skill-id(200302), 1),], - [Skill-Hint(Skill-id(200302), 2),], - [Skill-Hint(Skill-id(200302), 3),], - [Skill-Hint(Skill-id(200302), 4),], - [Skill-Hint(Skill-id(200302), 5),], - ] - 2003003 -> [ - [Skill-Hint(Skill-id(200302), 1),], - [Skill-Hint(Skill-id(200302), 2),], - [Skill-Hint(Skill-id(200302), 3),], - [Skill-Hint(Skill-id(200302), 4),], - [Skill-Hint(Skill-id(200302), 5),], - ] - 2003301 -> [ - [Skill-Hint(Skill-id(200332), 1),], - [Skill-Hint(Skill-id(200332), 2),], - [Skill-Hint(Skill-id(200332), 3),], - [Skill-Hint(Skill-id(200332), 4),], - [Skill-Hint(Skill-id(200332), 5),], - ] - 2003302 -> [ - [Skill-Hint(Skill-id(200332), 1),], - [Skill-Hint(Skill-id(200332), 2),], - [Skill-Hint(Skill-id(200332), 3),], - [Skill-Hint(Skill-id(200332), 4),], - [Skill-Hint(Skill-id(200332), 5),], - ] - 2003303 -> [ - [Skill-Hint(Skill-id(200332), 1),], - [Skill-Hint(Skill-id(200332), 2),], - [Skill-Hint(Skill-id(200332), 3),], - [Skill-Hint(Skill-id(200332), 4),], - [Skill-Hint(Skill-id(200332), 5),], - ] - 2003401 -> [ - [Skill-Hint(Skill-id(200342), 1),], - [Skill-Hint(Skill-id(200342), 2),], - [Skill-Hint(Skill-id(200342), 3),], - [Skill-Hint(Skill-id(200342), 4),], - [Skill-Hint(Skill-id(200342), 5),], - ] - 2003402 -> [ - [Skill-Hint(Skill-id(200342), 1),], - [Skill-Hint(Skill-id(200342), 2),], - [Skill-Hint(Skill-id(200342), 3),], - [Skill-Hint(Skill-id(200342), 4),], - [Skill-Hint(Skill-id(200342), 5),], - ] - 2003403 -> [ - [Skill-Hint(Skill-id(200342), 1),], - [Skill-Hint(Skill-id(200342), 2),], - [Skill-Hint(Skill-id(200342), 3),], - [Skill-Hint(Skill-id(200342), 4),], - [Skill-Hint(Skill-id(200342), 5),], - ] - 2003501 -> [ - [Skill-Hint(Skill-id(200352), 1),], - [Skill-Hint(Skill-id(200352), 2),], - [Skill-Hint(Skill-id(200352), 3),], - [Skill-Hint(Skill-id(200352), 4),], - [Skill-Hint(Skill-id(200352), 5),], - ] - 2003502 -> [ - [Skill-Hint(Skill-id(200352), 1),], - [Skill-Hint(Skill-id(200352), 2),], - [Skill-Hint(Skill-id(200352), 3),], - [Skill-Hint(Skill-id(200352), 4),], - [Skill-Hint(Skill-id(200352), 5),], - ] - 2003503 -> [ - [Skill-Hint(Skill-id(200352), 1),], - [Skill-Hint(Skill-id(200352), 2),], - [Skill-Hint(Skill-id(200352), 3),], - [Skill-Hint(Skill-id(200352), 4),], - [Skill-Hint(Skill-id(200352), 5),], - ] - 2003601 -> [ - [Skill-Hint(Skill-id(200362), 1),], - [Skill-Hint(Skill-id(200362), 2),], - [Skill-Hint(Skill-id(200362), 3),], - [Skill-Hint(Skill-id(200362), 4),], - [Skill-Hint(Skill-id(200362), 5),], - ] - 2003602 -> [ - [Skill-Hint(Skill-id(200362), 1),], - [Skill-Hint(Skill-id(200362), 2),], - [Skill-Hint(Skill-id(200362), 3),], - [Skill-Hint(Skill-id(200362), 4),], - [Skill-Hint(Skill-id(200362), 5),], - ] - 2003603 -> [ - [Skill-Hint(Skill-id(200362), 1),], - [Skill-Hint(Skill-id(200362), 2),], - [Skill-Hint(Skill-id(200362), 3),], - [Skill-Hint(Skill-id(200362), 4),], - [Skill-Hint(Skill-id(200362), 5),], - ] - 2003701 -> [ - [Skill-Hint(Skill-id(200372), 1),], - [Skill-Hint(Skill-id(200372), 2),], - [Skill-Hint(Skill-id(200372), 3),], - [Skill-Hint(Skill-id(200372), 4),], - [Skill-Hint(Skill-id(200372), 5),], - ] - 2003702 -> [ - [Skill-Hint(Skill-id(200372), 1),], - [Skill-Hint(Skill-id(200372), 2),], - [Skill-Hint(Skill-id(200372), 3),], - [Skill-Hint(Skill-id(200372), 4),], - [Skill-Hint(Skill-id(200372), 5),], - ] - 2003703 -> [ - [Skill-Hint(Skill-id(200372), 1),], - [Skill-Hint(Skill-id(200372), 2),], - [Skill-Hint(Skill-id(200372), 3),], - [Skill-Hint(Skill-id(200372), 4),], - [Skill-Hint(Skill-id(200372), 5),], - ] - 2003801 -> [ - [Skill-Hint(Skill-id(200382), 1),], - [Skill-Hint(Skill-id(200382), 2),], - [Skill-Hint(Skill-id(200382), 3),], - [Skill-Hint(Skill-id(200382), 4),], - [Skill-Hint(Skill-id(200382), 5),], - ] - 2003802 -> [ - [Skill-Hint(Skill-id(200382), 1),], - [Skill-Hint(Skill-id(200382), 2),], - [Skill-Hint(Skill-id(200382), 3),], - [Skill-Hint(Skill-id(200382), 4),], - [Skill-Hint(Skill-id(200382), 5),], - ] - 2003803 -> [ - [Skill-Hint(Skill-id(200382), 1),], - [Skill-Hint(Skill-id(200382), 2),], - [Skill-Hint(Skill-id(200382), 3),], - [Skill-Hint(Skill-id(200382), 4),], - [Skill-Hint(Skill-id(200382), 5),], - ] - 2004301 -> [ - [Skill-Hint(Skill-id(200432), 1),], - [Skill-Hint(Skill-id(200432), 2),], - [Skill-Hint(Skill-id(200432), 3),], - [Skill-Hint(Skill-id(200432), 4),], - [Skill-Hint(Skill-id(200432), 5),], - ] - 2004302 -> [ - [Skill-Hint(Skill-id(200432), 1),], - [Skill-Hint(Skill-id(200432), 2),], - [Skill-Hint(Skill-id(200432), 3),], - [Skill-Hint(Skill-id(200432), 4),], - [Skill-Hint(Skill-id(200432), 5),], - ] - 2004303 -> [ - [Skill-Hint(Skill-id(200432), 1),], - [Skill-Hint(Skill-id(200432), 2),], - [Skill-Hint(Skill-id(200432), 3),], - [Skill-Hint(Skill-id(200432), 4),], - [Skill-Hint(Skill-id(200432), 5),], - ] - 2004401 -> [ - [Skill-Hint(Skill-id(200442), 1),], - [Skill-Hint(Skill-id(200442), 2),], - [Skill-Hint(Skill-id(200442), 3),], - [Skill-Hint(Skill-id(200442), 4),], - [Skill-Hint(Skill-id(200442), 5),], - ] - 2004402 -> [ - [Skill-Hint(Skill-id(200442), 1),], - [Skill-Hint(Skill-id(200442), 2),], - [Skill-Hint(Skill-id(200442), 3),], - [Skill-Hint(Skill-id(200442), 4),], - [Skill-Hint(Skill-id(200442), 5),], - ] - 2004403 -> [ - [Skill-Hint(Skill-id(200442), 1),], - [Skill-Hint(Skill-id(200442), 2),], - [Skill-Hint(Skill-id(200442), 3),], - [Skill-Hint(Skill-id(200442), 4),], - [Skill-Hint(Skill-id(200442), 5),], - ] - 2004501 -> [ - [Skill-Hint(Skill-id(200452), 1),], - [Skill-Hint(Skill-id(200452), 2),], - [Skill-Hint(Skill-id(200452), 3),], - [Skill-Hint(Skill-id(200452), 4),], - [Skill-Hint(Skill-id(200452), 5),], - ] - 2004502 -> [ - [Skill-Hint(Skill-id(200452), 1),], - [Skill-Hint(Skill-id(200452), 2),], - [Skill-Hint(Skill-id(200452), 3),], - [Skill-Hint(Skill-id(200452), 4),], - [Skill-Hint(Skill-id(200452), 5),], - ] - 2004503 -> [ - [Skill-Hint(Skill-id(200452), 1),], - [Skill-Hint(Skill-id(200452), 2),], - [Skill-Hint(Skill-id(200452), 3),], - [Skill-Hint(Skill-id(200452), 4),], - [Skill-Hint(Skill-id(200452), 5),], - ] - 2004601 -> [ - [Skill-Hint(Skill-id(200462), 1),], - [Skill-Hint(Skill-id(200462), 2),], - [Skill-Hint(Skill-id(200462), 3),], - [Skill-Hint(Skill-id(200462), 4),], - [Skill-Hint(Skill-id(200462), 5),], - ] - 2004602 -> [ - [Skill-Hint(Skill-id(200462), 1),], - [Skill-Hint(Skill-id(200462), 2),], - [Skill-Hint(Skill-id(200462), 3),], - [Skill-Hint(Skill-id(200462), 4),], - [Skill-Hint(Skill-id(200462), 5),], - ] - 2004603 -> [ - [Skill-Hint(Skill-id(200462), 1),], - [Skill-Hint(Skill-id(200462), 2),], - [Skill-Hint(Skill-id(200462), 3),], - [Skill-Hint(Skill-id(200462), 4),], - [Skill-Hint(Skill-id(200462), 5),], - ] - 2004701 -> [ - [Skill-Hint(Skill-id(200472), 1),], - [Skill-Hint(Skill-id(200472), 2),], - [Skill-Hint(Skill-id(200472), 3),], - [Skill-Hint(Skill-id(200472), 4),], - [Skill-Hint(Skill-id(200472), 5),], - ] - 2004702 -> [ - [Skill-Hint(Skill-id(200472), 1),], - [Skill-Hint(Skill-id(200472), 2),], - [Skill-Hint(Skill-id(200472), 3),], - [Skill-Hint(Skill-id(200472), 4),], - [Skill-Hint(Skill-id(200472), 5),], - ] - 2004703 -> [ - [Skill-Hint(Skill-id(200472), 1),], - [Skill-Hint(Skill-id(200472), 2),], - [Skill-Hint(Skill-id(200472), 3),], - [Skill-Hint(Skill-id(200472), 4),], - [Skill-Hint(Skill-id(200472), 5),], - ] - 2004801 -> [ - [Skill-Hint(Skill-id(200482), 1),], - [Skill-Hint(Skill-id(200482), 2),], - [Skill-Hint(Skill-id(200482), 3),], - [Skill-Hint(Skill-id(200482), 4),], - [Skill-Hint(Skill-id(200482), 5),], - ] - 2004802 -> [ - [Skill-Hint(Skill-id(200482), 1),], - [Skill-Hint(Skill-id(200482), 2),], - [Skill-Hint(Skill-id(200482), 3),], - [Skill-Hint(Skill-id(200482), 4),], - [Skill-Hint(Skill-id(200482), 5),], - ] - 2004803 -> [ - [Skill-Hint(Skill-id(200482), 1),], - [Skill-Hint(Skill-id(200482), 2),], - [Skill-Hint(Skill-id(200482), 3),], - [Skill-Hint(Skill-id(200482), 4),], - [Skill-Hint(Skill-id(200482), 5),], - ] - 2004901 -> [ - [Skill-Hint(Skill-id(200492), 1),], - [Skill-Hint(Skill-id(200492), 2),], - [Skill-Hint(Skill-id(200492), 3),], - [Skill-Hint(Skill-id(200492), 4),], - [Skill-Hint(Skill-id(200492), 5),], - ] - 2004902 -> [ - [Skill-Hint(Skill-id(200492), 1),], - [Skill-Hint(Skill-id(200492), 2),], - [Skill-Hint(Skill-id(200492), 3),], - [Skill-Hint(Skill-id(200492), 4),], - [Skill-Hint(Skill-id(200492), 5),], - ] - 2004903 -> [ - [Skill-Hint(Skill-id(200492), 1),], - [Skill-Hint(Skill-id(200492), 2),], - [Skill-Hint(Skill-id(200492), 3),], - [Skill-Hint(Skill-id(200492), 4),], - [Skill-Hint(Skill-id(200492), 5),], - ] - 2005001 -> [ - [Skill-Hint(Skill-id(200502), 1),], - [Skill-Hint(Skill-id(200502), 2),], - [Skill-Hint(Skill-id(200502), 3),], - [Skill-Hint(Skill-id(200502), 4),], - [Skill-Hint(Skill-id(200502), 5),], - ] - 2005002 -> [ - [Skill-Hint(Skill-id(200502), 1),], - [Skill-Hint(Skill-id(200502), 2),], - [Skill-Hint(Skill-id(200502), 3),], - [Skill-Hint(Skill-id(200502), 4),], - [Skill-Hint(Skill-id(200502), 5),], - ] - 2005003 -> [ - [Skill-Hint(Skill-id(200502), 1),], - [Skill-Hint(Skill-id(200502), 2),], - [Skill-Hint(Skill-id(200502), 3),], - [Skill-Hint(Skill-id(200502), 4),], - [Skill-Hint(Skill-id(200502), 5),], - ] - 2005101 -> [ - [Skill-Hint(Skill-id(200512), 1),], - [Skill-Hint(Skill-id(200512), 2),], - [Skill-Hint(Skill-id(200512), 3),], - [Skill-Hint(Skill-id(200512), 4),], - [Skill-Hint(Skill-id(200512), 5),], - ] - 2005102 -> [ - [Skill-Hint(Skill-id(200512), 1),], - [Skill-Hint(Skill-id(200512), 2),], - [Skill-Hint(Skill-id(200512), 3),], - [Skill-Hint(Skill-id(200512), 4),], - [Skill-Hint(Skill-id(200512), 5),], - ] - 2005103 -> [ - [Skill-Hint(Skill-id(200512), 1),], - [Skill-Hint(Skill-id(200512), 2),], - [Skill-Hint(Skill-id(200512), 3),], - [Skill-Hint(Skill-id(200512), 4),], - [Skill-Hint(Skill-id(200512), 5),], - ] - 2005301 -> [ - [Skill-Hint(Skill-id(200532), 1),], - [Skill-Hint(Skill-id(200532), 2),], - [Skill-Hint(Skill-id(200532), 3),], - [Skill-Hint(Skill-id(200532), 4),], - [Skill-Hint(Skill-id(200532), 5),], - ] - 2005302 -> [ - [Skill-Hint(Skill-id(200532), 1),], - [Skill-Hint(Skill-id(200532), 2),], - [Skill-Hint(Skill-id(200532), 3),], - [Skill-Hint(Skill-id(200532), 4),], - [Skill-Hint(Skill-id(200532), 5),], - ] - 2005303 -> [ - [Skill-Hint(Skill-id(200532), 1),], - [Skill-Hint(Skill-id(200532), 2),], - [Skill-Hint(Skill-id(200532), 3),], - [Skill-Hint(Skill-id(200532), 4),], - [Skill-Hint(Skill-id(200532), 5),], - ] - 2005401 -> [ - [Skill-Hint(Skill-id(200542), 1),], - [Skill-Hint(Skill-id(200542), 2),], - [Skill-Hint(Skill-id(200542), 3),], - [Skill-Hint(Skill-id(200542), 4),], - [Skill-Hint(Skill-id(200542), 5),], - ] - 2005402 -> [ - [Skill-Hint(Skill-id(200542), 1),], - [Skill-Hint(Skill-id(200542), 2),], - [Skill-Hint(Skill-id(200542), 3),], - [Skill-Hint(Skill-id(200542), 4),], - [Skill-Hint(Skill-id(200542), 5),], - ] - 2005403 -> [ - [Skill-Hint(Skill-id(200542), 1),], - [Skill-Hint(Skill-id(200542), 2),], - [Skill-Hint(Skill-id(200542), 3),], - [Skill-Hint(Skill-id(200542), 4),], - [Skill-Hint(Skill-id(200542), 5),], - ] - 2005501 -> [ - [Skill-Hint(Skill-id(200552), 1),], - [Skill-Hint(Skill-id(200552), 2),], - [Skill-Hint(Skill-id(200552), 3),], - [Skill-Hint(Skill-id(200552), 4),], - [Skill-Hint(Skill-id(200552), 5),], - ] - 2005502 -> [ - [Skill-Hint(Skill-id(200552), 1),], - [Skill-Hint(Skill-id(200552), 2),], - [Skill-Hint(Skill-id(200552), 3),], - [Skill-Hint(Skill-id(200552), 4),], - [Skill-Hint(Skill-id(200552), 5),], - ] - 2005503 -> [ - [Skill-Hint(Skill-id(200552), 1),], - [Skill-Hint(Skill-id(200552), 2),], - [Skill-Hint(Skill-id(200552), 3),], - [Skill-Hint(Skill-id(200552), 4),], - [Skill-Hint(Skill-id(200552), 5),], - ] - 2005601 -> [ - [Skill-Hint(Skill-id(200562), 1),], - [Skill-Hint(Skill-id(200562), 2),], - [Skill-Hint(Skill-id(200562), 3),], - [Skill-Hint(Skill-id(200562), 4),], - [Skill-Hint(Skill-id(200562), 5),], - ] - 2005602 -> [ - [Skill-Hint(Skill-id(200562), 1),], - [Skill-Hint(Skill-id(200562), 2),], - [Skill-Hint(Skill-id(200562), 3),], - [Skill-Hint(Skill-id(200562), 4),], - [Skill-Hint(Skill-id(200562), 5),], - ] - 2005603 -> [ - [Skill-Hint(Skill-id(200562), 1),], - [Skill-Hint(Skill-id(200562), 2),], - [Skill-Hint(Skill-id(200562), 3),], - [Skill-Hint(Skill-id(200562), 4),], - [Skill-Hint(Skill-id(200562), 5),], - ] - 2005701 -> [ - [Skill-Hint(Skill-id(200572), 1),], - [Skill-Hint(Skill-id(200572), 2),], - [Skill-Hint(Skill-id(200572), 3),], - [Skill-Hint(Skill-id(200572), 4),], - [Skill-Hint(Skill-id(200572), 5),], - ] - 2005702 -> [ - [Skill-Hint(Skill-id(200572), 1),], - [Skill-Hint(Skill-id(200572), 2),], - [Skill-Hint(Skill-id(200572), 3),], - [Skill-Hint(Skill-id(200572), 4),], - [Skill-Hint(Skill-id(200572), 5),], - ] - 2005703 -> [ - [Skill-Hint(Skill-id(200572), 1),], - [Skill-Hint(Skill-id(200572), 2),], - [Skill-Hint(Skill-id(200572), 3),], - [Skill-Hint(Skill-id(200572), 4),], - [Skill-Hint(Skill-id(200572), 5),], - ] - 2005801 -> [ - [Skill-Hint(Skill-id(200582), 1),], - [Skill-Hint(Skill-id(200582), 2),], - [Skill-Hint(Skill-id(200582), 3),], - [Skill-Hint(Skill-id(200582), 4),], - [Skill-Hint(Skill-id(200582), 5),], - ] - 2005802 -> [ - [Skill-Hint(Skill-id(200582), 1),], - [Skill-Hint(Skill-id(200582), 2),], - [Skill-Hint(Skill-id(200582), 3),], - [Skill-Hint(Skill-id(200582), 4),], - [Skill-Hint(Skill-id(200582), 5),], - ] - 2005803 -> [ - [Skill-Hint(Skill-id(200582), 1),], - [Skill-Hint(Skill-id(200582), 2),], - [Skill-Hint(Skill-id(200582), 3),], - [Skill-Hint(Skill-id(200582), 4),], - [Skill-Hint(Skill-id(200582), 5),], - ] - 2005901 -> [ - [Skill-Hint(Skill-id(200592), 1),], - [Skill-Hint(Skill-id(200592), 2),], - [Skill-Hint(Skill-id(200592), 3),], - [Skill-Hint(Skill-id(200592), 4),], - [Skill-Hint(Skill-id(200592), 5),], - ] - 2005902 -> [ - [Skill-Hint(Skill-id(200592), 1),], - [Skill-Hint(Skill-id(200592), 2),], - [Skill-Hint(Skill-id(200592), 3),], - [Skill-Hint(Skill-id(200592), 4),], - [Skill-Hint(Skill-id(200592), 5),], - ] - 2005903 -> [ - [Skill-Hint(Skill-id(200592), 1),], - [Skill-Hint(Skill-id(200592), 2),], - [Skill-Hint(Skill-id(200592), 3),], - [Skill-Hint(Skill-id(200592), 4),], - [Skill-Hint(Skill-id(200592), 5),], - ] - 2006001 -> [ - [Skill-Hint(Skill-id(200602), 1),], - [Skill-Hint(Skill-id(200602), 2),], - [Skill-Hint(Skill-id(200602), 3),], - [Skill-Hint(Skill-id(200602), 4),], - [Skill-Hint(Skill-id(200602), 5),], - ] - 2006002 -> [ - [Skill-Hint(Skill-id(200602), 1),], - [Skill-Hint(Skill-id(200602), 2),], - [Skill-Hint(Skill-id(200602), 3),], - [Skill-Hint(Skill-id(200602), 4),], - [Skill-Hint(Skill-id(200602), 5),], - ] - 2006003 -> [ - [Skill-Hint(Skill-id(200602), 1),], - [Skill-Hint(Skill-id(200602), 2),], - [Skill-Hint(Skill-id(200602), 3),], - [Skill-Hint(Skill-id(200602), 4),], - [Skill-Hint(Skill-id(200602), 5),], - ] - 2006101 -> [ - [Skill-Hint(Skill-id(200612), 1),], - [Skill-Hint(Skill-id(200612), 2),], - [Skill-Hint(Skill-id(200612), 3),], - [Skill-Hint(Skill-id(200612), 4),], - [Skill-Hint(Skill-id(200612), 5),], - ] - 2006102 -> [ - [Skill-Hint(Skill-id(200612), 1),], - [Skill-Hint(Skill-id(200612), 2),], - [Skill-Hint(Skill-id(200612), 3),], - [Skill-Hint(Skill-id(200612), 4),], - [Skill-Hint(Skill-id(200612), 5),], - ] - 2006103 -> [ - [Skill-Hint(Skill-id(200612), 1),], - [Skill-Hint(Skill-id(200612), 2),], - [Skill-Hint(Skill-id(200612), 3),], - [Skill-Hint(Skill-id(200612), 4),], - [Skill-Hint(Skill-id(200612), 5),], - ] - 2006201 -> [ - [Skill-Hint(Skill-id(200622), 1),], - [Skill-Hint(Skill-id(200622), 2),], - [Skill-Hint(Skill-id(200622), 3),], - [Skill-Hint(Skill-id(200622), 4),], - [Skill-Hint(Skill-id(200622), 5),], - ] - 2006202 -> [ - [Skill-Hint(Skill-id(200622), 1),], - [Skill-Hint(Skill-id(200622), 2),], - [Skill-Hint(Skill-id(200622), 3),], - [Skill-Hint(Skill-id(200622), 4),], - [Skill-Hint(Skill-id(200622), 5),], - ] - 2006203 -> [ - [Skill-Hint(Skill-id(200622), 1),], - [Skill-Hint(Skill-id(200622), 2),], - [Skill-Hint(Skill-id(200622), 3),], - [Skill-Hint(Skill-id(200622), 4),], - [Skill-Hint(Skill-id(200622), 5),], - ] - 2006301 -> [ - [Skill-Hint(Skill-id(200632), 1),], - [Skill-Hint(Skill-id(200632), 2),], - [Skill-Hint(Skill-id(200632), 3),], - [Skill-Hint(Skill-id(200632), 4),], - [Skill-Hint(Skill-id(200632), 5),], - ] - 2006302 -> [ - [Skill-Hint(Skill-id(200632), 1),], - [Skill-Hint(Skill-id(200632), 2),], - [Skill-Hint(Skill-id(200632), 3),], - [Skill-Hint(Skill-id(200632), 4),], - [Skill-Hint(Skill-id(200632), 5),], - ] - 2006303 -> [ - [Skill-Hint(Skill-id(200632), 1),], - [Skill-Hint(Skill-id(200632), 2),], - [Skill-Hint(Skill-id(200632), 3),], - [Skill-Hint(Skill-id(200632), 4),], - [Skill-Hint(Skill-id(200632), 5),], - ] - 2006401 -> [ - [Skill-Hint(Skill-id(200642), 1),], - [Skill-Hint(Skill-id(200642), 2),], - [Skill-Hint(Skill-id(200642), 3),], - [Skill-Hint(Skill-id(200642), 4),], - [Skill-Hint(Skill-id(200642), 5),], - ] - 2006402 -> [ - [Skill-Hint(Skill-id(200642), 1),], - [Skill-Hint(Skill-id(200642), 2),], - [Skill-Hint(Skill-id(200642), 3),], - [Skill-Hint(Skill-id(200642), 4),], - [Skill-Hint(Skill-id(200642), 5),], - ] - 2006403 -> [ - [Skill-Hint(Skill-id(200642), 1),], - [Skill-Hint(Skill-id(200642), 2),], - [Skill-Hint(Skill-id(200642), 3),], - [Skill-Hint(Skill-id(200642), 4),], - [Skill-Hint(Skill-id(200642), 5),], - ] - 2006501 -> [ - [Skill-Hint(Skill-id(200652), 1),], - [Skill-Hint(Skill-id(200652), 2),], - [Skill-Hint(Skill-id(200652), 3),], - [Skill-Hint(Skill-id(200652), 4),], - [Skill-Hint(Skill-id(200652), 5),], - ] - 2006502 -> [ - [Skill-Hint(Skill-id(200652), 1),], - [Skill-Hint(Skill-id(200652), 2),], - [Skill-Hint(Skill-id(200652), 3),], - [Skill-Hint(Skill-id(200652), 4),], - [Skill-Hint(Skill-id(200652), 5),], - ] - 2006503 -> [ - [Skill-Hint(Skill-id(200652), 1),], - [Skill-Hint(Skill-id(200652), 2),], - [Skill-Hint(Skill-id(200652), 3),], - [Skill-Hint(Skill-id(200652), 4),], - [Skill-Hint(Skill-id(200652), 5),], - ] - 2006601 -> [ - [Skill-Hint(Skill-id(200662), 1),], - [Skill-Hint(Skill-id(200662), 2),], - [Skill-Hint(Skill-id(200662), 3),], - [Skill-Hint(Skill-id(200662), 4),], - [Skill-Hint(Skill-id(200662), 5),], - ] - 2006602 -> [ - [Skill-Hint(Skill-id(200662), 1),], - [Skill-Hint(Skill-id(200662), 2),], - [Skill-Hint(Skill-id(200662), 3),], - [Skill-Hint(Skill-id(200662), 4),], - [Skill-Hint(Skill-id(200662), 5),], - ] - 2006603 -> [ - [Skill-Hint(Skill-id(200662), 1),], - [Skill-Hint(Skill-id(200662), 2),], - [Skill-Hint(Skill-id(200662), 3),], - [Skill-Hint(Skill-id(200662), 4),], - [Skill-Hint(Skill-id(200662), 5),], - ] - 2006701 -> [ - [Skill-Hint(Skill-id(200672), 1),], - [Skill-Hint(Skill-id(200672), 2),], - [Skill-Hint(Skill-id(200672), 3),], - [Skill-Hint(Skill-id(200672), 4),], - [Skill-Hint(Skill-id(200672), 5),], - ] - 2006702 -> [ - [Skill-Hint(Skill-id(200672), 1),], - [Skill-Hint(Skill-id(200672), 2),], - [Skill-Hint(Skill-id(200672), 3),], - [Skill-Hint(Skill-id(200672), 4),], - [Skill-Hint(Skill-id(200672), 5),], - ] - 2006703 -> [ - [Skill-Hint(Skill-id(200672), 1),], - [Skill-Hint(Skill-id(200672), 2),], - [Skill-Hint(Skill-id(200672), 3),], - [Skill-Hint(Skill-id(200672), 4),], - [Skill-Hint(Skill-id(200672), 5),], - ] - 2006801 -> [ - [Skill-Hint(Skill-id(200682), 1),], - [Skill-Hint(Skill-id(200682), 2),], - [Skill-Hint(Skill-id(200682), 3),], - [Skill-Hint(Skill-id(200682), 4),], - [Skill-Hint(Skill-id(200682), 5),], - ] - 2006802 -> [ - [Skill-Hint(Skill-id(200682), 1),], - [Skill-Hint(Skill-id(200682), 2),], - [Skill-Hint(Skill-id(200682), 3),], - [Skill-Hint(Skill-id(200682), 4),], - [Skill-Hint(Skill-id(200682), 5),], - ] - 2006803 -> [ - [Skill-Hint(Skill-id(200682), 1),], - [Skill-Hint(Skill-id(200682), 2),], - [Skill-Hint(Skill-id(200682), 3),], - [Skill-Hint(Skill-id(200682), 4),], - [Skill-Hint(Skill-id(200682), 5),], - ] - 2006901 -> [ - [Skill-Hint(Skill-id(200692), 1),], - [Skill-Hint(Skill-id(200692), 2),], - [Skill-Hint(Skill-id(200692), 3),], - [Skill-Hint(Skill-id(200692), 4),], - [Skill-Hint(Skill-id(200692), 5),], - ] - 2006902 -> [ - [Skill-Hint(Skill-id(200692), 1),], - [Skill-Hint(Skill-id(200692), 2),], - [Skill-Hint(Skill-id(200692), 3),], - [Skill-Hint(Skill-id(200692), 4),], - [Skill-Hint(Skill-id(200692), 5),], - ] - 2006903 -> [ - [Skill-Hint(Skill-id(200692), 1),], - [Skill-Hint(Skill-id(200692), 2),], - [Skill-Hint(Skill-id(200692), 3),], - [Skill-Hint(Skill-id(200692), 4),], - [Skill-Hint(Skill-id(200692), 5),], - ] - 2007001 -> [ - [Skill-Hint(Skill-id(200702), 1),], - [Skill-Hint(Skill-id(200702), 2),], - [Skill-Hint(Skill-id(200702), 3),], - [Skill-Hint(Skill-id(200702), 4),], - [Skill-Hint(Skill-id(200702), 5),], - ] - 2007002 -> [ - [Skill-Hint(Skill-id(200702), 1),], - [Skill-Hint(Skill-id(200702), 2),], - [Skill-Hint(Skill-id(200702), 3),], - [Skill-Hint(Skill-id(200702), 4),], - [Skill-Hint(Skill-id(200702), 5),], - ] - 2007003 -> [ - [Skill-Hint(Skill-id(200702), 1),], - [Skill-Hint(Skill-id(200702), 2),], - [Skill-Hint(Skill-id(200702), 3),], - [Skill-Hint(Skill-id(200702), 4),], - [Skill-Hint(Skill-id(200702), 5),], - ] - 2007101 -> [ - [Skill-Hint(Skill-id(200712), 1),], - [Skill-Hint(Skill-id(200712), 2),], - [Skill-Hint(Skill-id(200712), 3),], - [Skill-Hint(Skill-id(200712), 4),], - [Skill-Hint(Skill-id(200712), 5),], - ] - 2007102 -> [ - [Skill-Hint(Skill-id(200712), 1),], - [Skill-Hint(Skill-id(200712), 2),], - [Skill-Hint(Skill-id(200712), 3),], - [Skill-Hint(Skill-id(200712), 4),], - [Skill-Hint(Skill-id(200712), 5),], - ] - 2007103 -> [ - [Skill-Hint(Skill-id(200712), 1),], - [Skill-Hint(Skill-id(200712), 2),], - [Skill-Hint(Skill-id(200712), 3),], - [Skill-Hint(Skill-id(200712), 4),], - [Skill-Hint(Skill-id(200712), 5),], - ] - 2007201 -> [ - [Skill-Hint(Skill-id(200722), 1),], - [Skill-Hint(Skill-id(200722), 2),], - [Skill-Hint(Skill-id(200722), 3),], - [Skill-Hint(Skill-id(200722), 4),], - [Skill-Hint(Skill-id(200722), 5),], - ] - 2007202 -> [ - [Skill-Hint(Skill-id(200722), 1),], - [Skill-Hint(Skill-id(200722), 2),], - [Skill-Hint(Skill-id(200722), 3),], - [Skill-Hint(Skill-id(200722), 4),], - [Skill-Hint(Skill-id(200722), 5),], - ] - 2007203 -> [ - [Skill-Hint(Skill-id(200722), 1),], - [Skill-Hint(Skill-id(200722), 2),], - [Skill-Hint(Skill-id(200722), 3),], - [Skill-Hint(Skill-id(200722), 4),], - [Skill-Hint(Skill-id(200722), 5),], - ] - 2007301 -> [ - [Skill-Hint(Skill-id(200732), 1),], - [Skill-Hint(Skill-id(200732), 2),], - [Skill-Hint(Skill-id(200732), 3),], - [Skill-Hint(Skill-id(200732), 4),], - [Skill-Hint(Skill-id(200732), 5),], - ] - 2007302 -> [ - [Skill-Hint(Skill-id(200732), 1),], - [Skill-Hint(Skill-id(200732), 2),], - [Skill-Hint(Skill-id(200732), 3),], - [Skill-Hint(Skill-id(200732), 4),], - [Skill-Hint(Skill-id(200732), 5),], - ] - 2007303 -> [ - [Skill-Hint(Skill-id(200732), 1),], - [Skill-Hint(Skill-id(200732), 2),], - [Skill-Hint(Skill-id(200732), 3),], - [Skill-Hint(Skill-id(200732), 4),], - [Skill-Hint(Skill-id(200732), 5),], - ] - 2007401 -> [ - [Skill-Hint(Skill-id(200742), 1),], - [Skill-Hint(Skill-id(200742), 2),], - [Skill-Hint(Skill-id(200742), 3),], - [Skill-Hint(Skill-id(200742), 4),], - [Skill-Hint(Skill-id(200742), 5),], - ] - 2007402 -> [ - [Skill-Hint(Skill-id(200742), 1),], - [Skill-Hint(Skill-id(200742), 2),], - [Skill-Hint(Skill-id(200742), 3),], - [Skill-Hint(Skill-id(200742), 4),], - [Skill-Hint(Skill-id(200742), 5),], - ] - 2007403 -> [ - [Skill-Hint(Skill-id(200742), 1),], - [Skill-Hint(Skill-id(200742), 2),], - [Skill-Hint(Skill-id(200742), 3),], - [Skill-Hint(Skill-id(200742), 4),], - [Skill-Hint(Skill-id(200742), 5),], - ] - 2007501 -> [ - [Skill-Hint(Skill-id(200752), 1),], - [Skill-Hint(Skill-id(200752), 2),], - [Skill-Hint(Skill-id(200752), 3),], - [Skill-Hint(Skill-id(200752), 4),], - [Skill-Hint(Skill-id(200752), 5),], - ] - 2007502 -> [ - [Skill-Hint(Skill-id(200752), 1),], - [Skill-Hint(Skill-id(200752), 2),], - [Skill-Hint(Skill-id(200752), 3),], - [Skill-Hint(Skill-id(200752), 4),], - [Skill-Hint(Skill-id(200752), 5),], - ] - 2007503 -> [ - [Skill-Hint(Skill-id(200752), 1),], - [Skill-Hint(Skill-id(200752), 2),], - [Skill-Hint(Skill-id(200752), 3),], - [Skill-Hint(Skill-id(200752), 4),], - [Skill-Hint(Skill-id(200752), 5),], - ] - 2007601 -> [ - [Skill-Hint(Skill-id(200762), 1),], - [Skill-Hint(Skill-id(200762), 2),], - [Skill-Hint(Skill-id(200762), 3),], - [Skill-Hint(Skill-id(200762), 4),], - [Skill-Hint(Skill-id(200762), 5),], - ] - 2007602 -> [ - [Skill-Hint(Skill-id(200762), 1),], - [Skill-Hint(Skill-id(200762), 2),], - [Skill-Hint(Skill-id(200762), 3),], - [Skill-Hint(Skill-id(200762), 4),], - [Skill-Hint(Skill-id(200762), 5),], - ] - 2007603 -> [ - [Skill-Hint(Skill-id(200762), 1),], - [Skill-Hint(Skill-id(200762), 2),], - [Skill-Hint(Skill-id(200762), 3),], - [Skill-Hint(Skill-id(200762), 4),], - [Skill-Hint(Skill-id(200762), 5),], - ] - 2007701 -> [ - [Skill-Hint(Skill-id(200771), 1),], - [Skill-Hint(Skill-id(200771), 2),], - [Skill-Hint(Skill-id(200771), 3),], - [Skill-Hint(Skill-id(200771), 4),], - [Skill-Hint(Skill-id(200771), 5),], - ] - 2007702 -> [ - [Skill-Hint(Skill-id(200771), 1),], - [Skill-Hint(Skill-id(200771), 2),], - [Skill-Hint(Skill-id(200771), 3),], - [Skill-Hint(Skill-id(200771), 4),], - [Skill-Hint(Skill-id(200771), 5),], - ] - 2007703 -> [ - [Skill-Hint(Skill-id(200771), 1),], - [Skill-Hint(Skill-id(200771), 2),], - [Skill-Hint(Skill-id(200771), 3),], - [Skill-Hint(Skill-id(200771), 4),], - [Skill-Hint(Skill-id(200771), 5),], - ] - 2007801 -> [ - [Skill-Hint(Skill-id(200781), 1),], - [Skill-Hint(Skill-id(200781), 2),], - [Skill-Hint(Skill-id(200781), 3),], - [Skill-Hint(Skill-id(200781), 4),], - [Skill-Hint(Skill-id(200781), 5),], - ] - 2007802 -> [ - [Skill-Hint(Skill-id(200781), 1),], - [Skill-Hint(Skill-id(200781), 2),], - [Skill-Hint(Skill-id(200781), 3),], - [Skill-Hint(Skill-id(200781), 4),], - [Skill-Hint(Skill-id(200781), 5),], - ] - 2007803 -> [ - [Skill-Hint(Skill-id(200781), 1),], - [Skill-Hint(Skill-id(200781), 2),], - [Skill-Hint(Skill-id(200781), 3),], - [Skill-Hint(Skill-id(200781), 4),], - [Skill-Hint(Skill-id(200781), 5),], - ] - 2007901 -> [ - [Skill-Hint(Skill-id(200791), 1),], - [Skill-Hint(Skill-id(200791), 2),], - [Skill-Hint(Skill-id(200791), 3),], - [Skill-Hint(Skill-id(200791), 4),], - [Skill-Hint(Skill-id(200791), 5),], - ] - 2007902 -> [ - [Skill-Hint(Skill-id(200791), 1),], - [Skill-Hint(Skill-id(200791), 2),], - [Skill-Hint(Skill-id(200791), 3),], - [Skill-Hint(Skill-id(200791), 4),], - [Skill-Hint(Skill-id(200791), 5),], - ] - 2007903 -> [ - [Skill-Hint(Skill-id(200791), 1),], - [Skill-Hint(Skill-id(200791), 2),], - [Skill-Hint(Skill-id(200791), 3),], - [Skill-Hint(Skill-id(200791), 4),], - [Skill-Hint(Skill-id(200791), 5),], - ] - 2008001 -> [ - [Skill-Hint(Skill-id(200801), 1),], - [Skill-Hint(Skill-id(200801), 2),], - [Skill-Hint(Skill-id(200801), 3),], - [Skill-Hint(Skill-id(200801), 4),], - [Skill-Hint(Skill-id(200801), 5),], - ] - 2008002 -> [ - [Skill-Hint(Skill-id(200801), 1),], - [Skill-Hint(Skill-id(200801), 2),], - [Skill-Hint(Skill-id(200801), 3),], - [Skill-Hint(Skill-id(200801), 4),], - [Skill-Hint(Skill-id(200801), 5),], - ] - 2008003 -> [ - [Skill-Hint(Skill-id(200801), 1),], - [Skill-Hint(Skill-id(200801), 2),], - [Skill-Hint(Skill-id(200801), 3),], - [Skill-Hint(Skill-id(200801), 4),], - [Skill-Hint(Skill-id(200801), 5),], - ] - 2008101 -> [ - [Skill-Hint(Skill-id(200811), 1),], - [Skill-Hint(Skill-id(200811), 2),], - [Skill-Hint(Skill-id(200811), 3),], - [Skill-Hint(Skill-id(200811), 4),], - [Skill-Hint(Skill-id(200811), 5),], - ] - 2008102 -> [ - [Skill-Hint(Skill-id(200811), 1),], - [Skill-Hint(Skill-id(200811), 2),], - [Skill-Hint(Skill-id(200811), 3),], - [Skill-Hint(Skill-id(200811), 4),], - [Skill-Hint(Skill-id(200811), 5),], - ] - 2008103 -> [ - [Skill-Hint(Skill-id(200811), 1),], - [Skill-Hint(Skill-id(200811), 2),], - [Skill-Hint(Skill-id(200811), 3),], - [Skill-Hint(Skill-id(200811), 4),], - [Skill-Hint(Skill-id(200811), 5),], - ] - 2008201 -> [ - [Skill-Hint(Skill-id(200821), 1),], - [Skill-Hint(Skill-id(200821), 2),], - [Skill-Hint(Skill-id(200821), 3),], - [Skill-Hint(Skill-id(200821), 4),], - [Skill-Hint(Skill-id(200821), 5),], - ] - 2008202 -> [ - [Skill-Hint(Skill-id(200821), 1),], - [Skill-Hint(Skill-id(200821), 2),], - [Skill-Hint(Skill-id(200821), 3),], - [Skill-Hint(Skill-id(200821), 4),], - [Skill-Hint(Skill-id(200821), 5),], - ] - 2008203 -> [ - [Skill-Hint(Skill-id(200821), 1),], - [Skill-Hint(Skill-id(200821), 2),], - [Skill-Hint(Skill-id(200821), 3),], - [Skill-Hint(Skill-id(200821), 4),], - [Skill-Hint(Skill-id(200821), 5),], - ] - 2008301 -> [ - [Skill-Hint(Skill-id(200831), 1),], - [Skill-Hint(Skill-id(200831), 2),], - [Skill-Hint(Skill-id(200831), 3),], - [Skill-Hint(Skill-id(200831), 4),], - [Skill-Hint(Skill-id(200831), 5),], - ] - 2008302 -> [ - [Skill-Hint(Skill-id(200831), 1),], - [Skill-Hint(Skill-id(200831), 2),], - [Skill-Hint(Skill-id(200831), 3),], - [Skill-Hint(Skill-id(200831), 4),], - [Skill-Hint(Skill-id(200831), 5),], - ] - 2008303 -> [ - [Skill-Hint(Skill-id(200831), 1),], - [Skill-Hint(Skill-id(200831), 2),], - [Skill-Hint(Skill-id(200831), 3),], - [Skill-Hint(Skill-id(200831), 4),], - [Skill-Hint(Skill-id(200831), 5),], - ] - 2008401 -> [ - [Skill-Hint(Skill-id(200841), 1),], - [Skill-Hint(Skill-id(200841), 2),], - [Skill-Hint(Skill-id(200841), 3),], - [Skill-Hint(Skill-id(200841), 4),], - [Skill-Hint(Skill-id(200841), 5),], - ] - 2008402 -> [ - [Skill-Hint(Skill-id(200841), 1),], - [Skill-Hint(Skill-id(200841), 2),], - [Skill-Hint(Skill-id(200841), 3),], - [Skill-Hint(Skill-id(200841), 4),], - [Skill-Hint(Skill-id(200841), 5),], - ] - 2008403 -> [ - [Skill-Hint(Skill-id(200841), 1),], - [Skill-Hint(Skill-id(200841), 2),], - [Skill-Hint(Skill-id(200841), 3),], - [Skill-Hint(Skill-id(200841), 4),], - [Skill-Hint(Skill-id(200841), 5),], - ] - 2008501 -> [ - [Skill-Hint(Skill-id(200851), 1),], - [Skill-Hint(Skill-id(200851), 2),], - [Skill-Hint(Skill-id(200851), 3),], - [Skill-Hint(Skill-id(200851), 4),], - [Skill-Hint(Skill-id(200851), 5),], - ] - 2008502 -> [ - [Skill-Hint(Skill-id(200851), 1),], - [Skill-Hint(Skill-id(200851), 2),], - [Skill-Hint(Skill-id(200851), 3),], - [Skill-Hint(Skill-id(200851), 4),], - [Skill-Hint(Skill-id(200851), 5),], - ] - 2008503 -> [ - [Skill-Hint(Skill-id(200851), 1),], - [Skill-Hint(Skill-id(200851), 2),], - [Skill-Hint(Skill-id(200851), 3),], - [Skill-Hint(Skill-id(200851), 4),], - [Skill-Hint(Skill-id(200851), 5),], - ] - 2008601 -> [ - [Skill-Hint(Skill-id(200861), 1),], - [Skill-Hint(Skill-id(200861), 2),], - [Skill-Hint(Skill-id(200861), 3),], - [Skill-Hint(Skill-id(200861), 4),], - [Skill-Hint(Skill-id(200861), 5),], - ] - 2008602 -> [ - [Skill-Hint(Skill-id(200861), 1),], - [Skill-Hint(Skill-id(200861), 2),], - [Skill-Hint(Skill-id(200861), 3),], - [Skill-Hint(Skill-id(200861), 4),], - [Skill-Hint(Skill-id(200861), 5),], - ] - 2008603 -> [ - [Skill-Hint(Skill-id(200861), 1),], - [Skill-Hint(Skill-id(200861), 2),], - [Skill-Hint(Skill-id(200861), 3),], - [Skill-Hint(Skill-id(200861), 4),], - [Skill-Hint(Skill-id(200861), 5),], - ] - 2008701 -> [ - [Skill-Hint(Skill-id(200871), 1),], - [Skill-Hint(Skill-id(200871), 2),], - [Skill-Hint(Skill-id(200871), 3),], - [Skill-Hint(Skill-id(200871), 4),], - [Skill-Hint(Skill-id(200871), 5),], - ] - 2008702 -> [ - [Skill-Hint(Skill-id(200871), 1),], - [Skill-Hint(Skill-id(200871), 2),], - [Skill-Hint(Skill-id(200871), 3),], - [Skill-Hint(Skill-id(200871), 4),], - [Skill-Hint(Skill-id(200871), 5),], - ] - 2008703 -> [ - [Skill-Hint(Skill-id(200871), 1),], - [Skill-Hint(Skill-id(200871), 2),], - [Skill-Hint(Skill-id(200871), 3),], - [Skill-Hint(Skill-id(200871), 4),], - [Skill-Hint(Skill-id(200871), 5),], - ] - 2008801 -> [ - [Skill-Hint(Skill-id(200881), 1),], - [Skill-Hint(Skill-id(200881), 2),], - [Skill-Hint(Skill-id(200881), 3),], - [Skill-Hint(Skill-id(200881), 4),], - [Skill-Hint(Skill-id(200881), 5),], - ] - 2008802 -> [ - [Skill-Hint(Skill-id(200881), 1),], - [Skill-Hint(Skill-id(200881), 2),], - [Skill-Hint(Skill-id(200881), 3),], - [Skill-Hint(Skill-id(200881), 4),], - [Skill-Hint(Skill-id(200881), 5),], - ] - 2008803 -> [ - [Skill-Hint(Skill-id(200881), 1),], - [Skill-Hint(Skill-id(200881), 2),], - [Skill-Hint(Skill-id(200881), 3),], - [Skill-Hint(Skill-id(200881), 4),], - [Skill-Hint(Skill-id(200881), 5),], - ] - 2008901 -> [ - [Skill-Hint(Skill-id(200891), 1),], - [Skill-Hint(Skill-id(200891), 2),], - [Skill-Hint(Skill-id(200891), 3),], - [Skill-Hint(Skill-id(200891), 4),], - [Skill-Hint(Skill-id(200891), 5),], - ] - 2008902 -> [ - [Skill-Hint(Skill-id(200891), 1),], - [Skill-Hint(Skill-id(200891), 2),], - [Skill-Hint(Skill-id(200891), 3),], - [Skill-Hint(Skill-id(200891), 4),], - [Skill-Hint(Skill-id(200891), 5),], - ] - 2008903 -> [ - [Skill-Hint(Skill-id(200891), 1),], - [Skill-Hint(Skill-id(200891), 2),], - [Skill-Hint(Skill-id(200891), 3),], - [Skill-Hint(Skill-id(200891), 4),], - [Skill-Hint(Skill-id(200891), 5),], - ] - 2009001 -> [ - [Skill-Hint(Skill-id(200901), 1),], - [Skill-Hint(Skill-id(200901), 2),], - [Skill-Hint(Skill-id(200901), 3),], - [Skill-Hint(Skill-id(200901), 4),], - [Skill-Hint(Skill-id(200901), 5),], - ] - 2009002 -> [ - [Skill-Hint(Skill-id(200901), 1),], - [Skill-Hint(Skill-id(200901), 2),], - [Skill-Hint(Skill-id(200901), 3),], - [Skill-Hint(Skill-id(200901), 4),], - [Skill-Hint(Skill-id(200901), 5),], - ] - 2009003 -> [ - [Skill-Hint(Skill-id(200901), 1),], - [Skill-Hint(Skill-id(200901), 2),], - [Skill-Hint(Skill-id(200901), 3),], - [Skill-Hint(Skill-id(200901), 4),], - [Skill-Hint(Skill-id(200901), 5),], - ] - 2009101 -> [ - [Skill-Hint(Skill-id(200911), 1),], - [Skill-Hint(Skill-id(200911), 2),], - [Skill-Hint(Skill-id(200911), 3),], - [Skill-Hint(Skill-id(200911), 4),], - [Skill-Hint(Skill-id(200911), 5),], - ] - 2009102 -> [ - [Skill-Hint(Skill-id(200911), 1),], - [Skill-Hint(Skill-id(200911), 2),], - [Skill-Hint(Skill-id(200911), 3),], - [Skill-Hint(Skill-id(200911), 4),], - [Skill-Hint(Skill-id(200911), 5),], - ] - 2009103 -> [ - [Skill-Hint(Skill-id(200911), 1),], - [Skill-Hint(Skill-id(200911), 2),], - [Skill-Hint(Skill-id(200911), 3),], - [Skill-Hint(Skill-id(200911), 4),], - [Skill-Hint(Skill-id(200911), 5),], - ] - 2009201 -> [ - [Skill-Hint(Skill-id(200921), 1),], - [Skill-Hint(Skill-id(200921), 2),], - [Skill-Hint(Skill-id(200921), 3),], - [Skill-Hint(Skill-id(200921), 4),], - [Skill-Hint(Skill-id(200921), 5),], - ] - 2009202 -> [ - [Skill-Hint(Skill-id(200921), 1),], - [Skill-Hint(Skill-id(200921), 2),], - [Skill-Hint(Skill-id(200921), 3),], - [Skill-Hint(Skill-id(200921), 4),], - [Skill-Hint(Skill-id(200921), 5),], - ] - 2009203 -> [ - [Skill-Hint(Skill-id(200921), 1),], - [Skill-Hint(Skill-id(200921), 2),], - [Skill-Hint(Skill-id(200921), 3),], - [Skill-Hint(Skill-id(200921), 4),], - [Skill-Hint(Skill-id(200921), 5),], - ] - 2009301 -> [ - [Skill-Hint(Skill-id(200931), 1),], - [Skill-Hint(Skill-id(200931), 2),], - [Skill-Hint(Skill-id(200931), 3),], - [Skill-Hint(Skill-id(200931), 4),], - [Skill-Hint(Skill-id(200931), 5),], - ] - 2009302 -> [ - [Skill-Hint(Skill-id(200931), 1),], - [Skill-Hint(Skill-id(200931), 2),], - [Skill-Hint(Skill-id(200931), 3),], - [Skill-Hint(Skill-id(200931), 4),], - [Skill-Hint(Skill-id(200931), 5),], - ] - 2009303 -> [ - [Skill-Hint(Skill-id(200931), 1),], - [Skill-Hint(Skill-id(200931), 2),], - [Skill-Hint(Skill-id(200931), 3),], - [Skill-Hint(Skill-id(200931), 4),], - [Skill-Hint(Skill-id(200931), 5),], - ] - 2009401 -> [ - [Skill-Hint(Skill-id(200941), 1),], - [Skill-Hint(Skill-id(200941), 2),], - [Skill-Hint(Skill-id(200941), 3),], - [Skill-Hint(Skill-id(200941), 4),], - [Skill-Hint(Skill-id(200941), 5),], - ] - 2009402 -> [ - [Skill-Hint(Skill-id(200941), 1),], - [Skill-Hint(Skill-id(200941), 2),], - [Skill-Hint(Skill-id(200941), 3),], - [Skill-Hint(Skill-id(200941), 4),], - [Skill-Hint(Skill-id(200941), 5),], - ] - 2009403 -> [ - [Skill-Hint(Skill-id(200941), 1),], - [Skill-Hint(Skill-id(200941), 2),], - [Skill-Hint(Skill-id(200941), 3),], - [Skill-Hint(Skill-id(200941), 4),], - [Skill-Hint(Skill-id(200941), 5),], - ] - 2009501 -> [ - [Skill-Hint(Skill-id(200952), 1),], - [Skill-Hint(Skill-id(200952), 2),], - [Skill-Hint(Skill-id(200952), 3),], - [Skill-Hint(Skill-id(200952), 4),], - [Skill-Hint(Skill-id(200952), 5),], - ] - 2009502 -> [ - [Skill-Hint(Skill-id(200952), 1),], - [Skill-Hint(Skill-id(200952), 2),], - [Skill-Hint(Skill-id(200952), 3),], - [Skill-Hint(Skill-id(200952), 4),], - [Skill-Hint(Skill-id(200952), 5),], - ] - 2009503 -> [ - [Skill-Hint(Skill-id(200952), 1),], - [Skill-Hint(Skill-id(200952), 2),], - [Skill-Hint(Skill-id(200952), 3),], - [Skill-Hint(Skill-id(200952), 4),], - [Skill-Hint(Skill-id(200952), 5),], - ] - 2009601 -> [ - [Skill-Hint(Skill-id(200962), 1),], - [Skill-Hint(Skill-id(200962), 2),], - [Skill-Hint(Skill-id(200962), 3),], - [Skill-Hint(Skill-id(200962), 4),], - [Skill-Hint(Skill-id(200962), 5),], - ] - 2009602 -> [ - [Skill-Hint(Skill-id(200962), 1),], - [Skill-Hint(Skill-id(200962), 2),], - [Skill-Hint(Skill-id(200962), 3),], - [Skill-Hint(Skill-id(200962), 4),], - [Skill-Hint(Skill-id(200962), 5),], - ] - 2009603 -> [ - [Skill-Hint(Skill-id(200962), 1),], - [Skill-Hint(Skill-id(200962), 2),], - [Skill-Hint(Skill-id(200962), 3),], - [Skill-Hint(Skill-id(200962), 4),], - [Skill-Hint(Skill-id(200962), 5),], - ] - 2009701 -> [ - [Skill-Hint(Skill-id(200972), 1),], - [Skill-Hint(Skill-id(200972), 2),], - [Skill-Hint(Skill-id(200972), 3),], - [Skill-Hint(Skill-id(200972), 4),], - [Skill-Hint(Skill-id(200972), 5),], - ] - 2009702 -> [ - [Skill-Hint(Skill-id(200972), 1),], - [Skill-Hint(Skill-id(200972), 2),], - [Skill-Hint(Skill-id(200972), 3),], - [Skill-Hint(Skill-id(200972), 4),], - [Skill-Hint(Skill-id(200972), 5),], - ] - 2009703 -> [ - [Skill-Hint(Skill-id(200972), 1),], - [Skill-Hint(Skill-id(200972), 2),], - [Skill-Hint(Skill-id(200972), 3),], - [Skill-Hint(Skill-id(200972), 4),], - [Skill-Hint(Skill-id(200972), 5),], - ] - 2009801 -> [ - [Skill-Hint(Skill-id(200982), 1),], - [Skill-Hint(Skill-id(200982), 2),], - [Skill-Hint(Skill-id(200982), 3),], - [Skill-Hint(Skill-id(200982), 4),], - [Skill-Hint(Skill-id(200982), 5),], - ] - 2009802 -> [ - [Skill-Hint(Skill-id(200982), 1),], - [Skill-Hint(Skill-id(200982), 2),], - [Skill-Hint(Skill-id(200982), 3),], - [Skill-Hint(Skill-id(200982), 4),], - [Skill-Hint(Skill-id(200982), 5),], - ] - 2009803 -> [ - [Skill-Hint(Skill-id(200982), 1),], - [Skill-Hint(Skill-id(200982), 2),], - [Skill-Hint(Skill-id(200982), 3),], - [Skill-Hint(Skill-id(200982), 4),], - [Skill-Hint(Skill-id(200982), 5),], - ] - 2009901 -> [ - [Skill-Hint(Skill-id(200992), 1),], - [Skill-Hint(Skill-id(200992), 2),], - [Skill-Hint(Skill-id(200992), 3),], - [Skill-Hint(Skill-id(200992), 4),], - [Skill-Hint(Skill-id(200992), 5),], - ] - 2009902 -> [ - [Skill-Hint(Skill-id(200992), 1),], - [Skill-Hint(Skill-id(200992), 2),], - [Skill-Hint(Skill-id(200992), 3),], - [Skill-Hint(Skill-id(200992), 4),], - [Skill-Hint(Skill-id(200992), 5),], - ] - 2009903 -> [ - [Skill-Hint(Skill-id(200992), 1),], - [Skill-Hint(Skill-id(200992), 2),], - [Skill-Hint(Skill-id(200992), 3),], - [Skill-Hint(Skill-id(200992), 4),], - [Skill-Hint(Skill-id(200992), 5),], - ] - 2010001 -> [ - [Skill-Hint(Skill-id(201002), 1),], - [Skill-Hint(Skill-id(201002), 2),], - [Skill-Hint(Skill-id(201002), 3),], - [Skill-Hint(Skill-id(201002), 4),], - [Skill-Hint(Skill-id(201002), 5),], - ] - 2010002 -> [ - [Skill-Hint(Skill-id(201002), 1),], - [Skill-Hint(Skill-id(201002), 2),], - [Skill-Hint(Skill-id(201002), 3),], - [Skill-Hint(Skill-id(201002), 4),], - [Skill-Hint(Skill-id(201002), 5),], - ] - 2010003 -> [ - [Skill-Hint(Skill-id(201002), 1),], - [Skill-Hint(Skill-id(201002), 2),], - [Skill-Hint(Skill-id(201002), 3),], - [Skill-Hint(Skill-id(201002), 4),], - [Skill-Hint(Skill-id(201002), 5),], - ] - 2010101 -> [ - [Skill-Hint(Skill-id(201012), 1),], - [Skill-Hint(Skill-id(201012), 2),], - [Skill-Hint(Skill-id(201012), 3),], - [Skill-Hint(Skill-id(201012), 4),], - [Skill-Hint(Skill-id(201012), 5),], - ] - 2010102 -> [ - [Skill-Hint(Skill-id(201012), 1),], - [Skill-Hint(Skill-id(201012), 2),], - [Skill-Hint(Skill-id(201012), 3),], - [Skill-Hint(Skill-id(201012), 4),], - [Skill-Hint(Skill-id(201012), 5),], - ] - 2010103 -> [ - [Skill-Hint(Skill-id(201012), 1),], - [Skill-Hint(Skill-id(201012), 2),], - [Skill-Hint(Skill-id(201012), 3),], - [Skill-Hint(Skill-id(201012), 4),], - [Skill-Hint(Skill-id(201012), 5),], - ] - 2010201 -> [ - [Skill-Hint(Skill-id(201022), 1),], - [Skill-Hint(Skill-id(201022), 2),], - [Skill-Hint(Skill-id(201022), 3),], - [Skill-Hint(Skill-id(201022), 4),], - [Skill-Hint(Skill-id(201022), 5),], - ] - 2010202 -> [ - [Skill-Hint(Skill-id(201022), 1),], - [Skill-Hint(Skill-id(201022), 2),], - [Skill-Hint(Skill-id(201022), 3),], - [Skill-Hint(Skill-id(201022), 4),], - [Skill-Hint(Skill-id(201022), 5),], - ] - 2010203 -> [ - [Skill-Hint(Skill-id(201022), 1),], - [Skill-Hint(Skill-id(201022), 2),], - [Skill-Hint(Skill-id(201022), 3),], - [Skill-Hint(Skill-id(201022), 4),], - [Skill-Hint(Skill-id(201022), 5),], - ] - 2010301 -> [ - [Skill-Hint(Skill-id(201032), 1),], - [Skill-Hint(Skill-id(201032), 2),], - [Skill-Hint(Skill-id(201032), 3),], - [Skill-Hint(Skill-id(201032), 4),], - [Skill-Hint(Skill-id(201032), 5),], - ] - 2010302 -> [ - [Skill-Hint(Skill-id(201032), 1),], - [Skill-Hint(Skill-id(201032), 2),], - [Skill-Hint(Skill-id(201032), 3),], - [Skill-Hint(Skill-id(201032), 4),], - [Skill-Hint(Skill-id(201032), 5),], - ] - 2010303 -> [ - [Skill-Hint(Skill-id(201032), 1),], - [Skill-Hint(Skill-id(201032), 2),], - [Skill-Hint(Skill-id(201032), 3),], - [Skill-Hint(Skill-id(201032), 4),], - [Skill-Hint(Skill-id(201032), 5),], - ] - 2010401 -> [ - [Skill-Hint(Skill-id(201042), 1),], - [Skill-Hint(Skill-id(201042), 2),], - [Skill-Hint(Skill-id(201042), 3),], - [Skill-Hint(Skill-id(201042), 4),], - [Skill-Hint(Skill-id(201042), 5),], - ] - 2010402 -> [ - [Skill-Hint(Skill-id(201042), 1),], - [Skill-Hint(Skill-id(201042), 2),], - [Skill-Hint(Skill-id(201042), 3),], - [Skill-Hint(Skill-id(201042), 4),], - [Skill-Hint(Skill-id(201042), 5),], - ] - 2010403 -> [ - [Skill-Hint(Skill-id(201042), 1),], - [Skill-Hint(Skill-id(201042), 2),], - [Skill-Hint(Skill-id(201042), 3),], - [Skill-Hint(Skill-id(201042), 4),], - [Skill-Hint(Skill-id(201042), 5),], - ] - 2010501 -> [ - [Skill-Hint(Skill-id(201052), 1),], - [Skill-Hint(Skill-id(201052), 2),], - [Skill-Hint(Skill-id(201052), 3),], - [Skill-Hint(Skill-id(201052), 4),], - [Skill-Hint(Skill-id(201052), 5),], - ] - 2010502 -> [ - [Skill-Hint(Skill-id(201052), 1),], - [Skill-Hint(Skill-id(201052), 2),], - [Skill-Hint(Skill-id(201052), 3),], - [Skill-Hint(Skill-id(201052), 4),], - [Skill-Hint(Skill-id(201052), 5),], - ] - 2010503 -> [ - [Skill-Hint(Skill-id(201052), 1),], - [Skill-Hint(Skill-id(201052), 2),], - [Skill-Hint(Skill-id(201052), 3),], - [Skill-Hint(Skill-id(201052), 4),], - [Skill-Hint(Skill-id(201052), 5),], - ] - 2010601 -> [ - [Skill-Hint(Skill-id(201062), 1),], - [Skill-Hint(Skill-id(201062), 2),], - [Skill-Hint(Skill-id(201062), 3),], - [Skill-Hint(Skill-id(201062), 4),], - [Skill-Hint(Skill-id(201062), 5),], - ] - 2010602 -> [ - [Skill-Hint(Skill-id(201062), 1),], - [Skill-Hint(Skill-id(201062), 2),], - [Skill-Hint(Skill-id(201062), 3),], - [Skill-Hint(Skill-id(201062), 4),], - [Skill-Hint(Skill-id(201062), 5),], - ] - 2010603 -> [ - [Skill-Hint(Skill-id(201062), 1),], - [Skill-Hint(Skill-id(201062), 2),], - [Skill-Hint(Skill-id(201062), 3),], - [Skill-Hint(Skill-id(201062), 4),], - [Skill-Hint(Skill-id(201062), 5),], - ] - 2010701 -> [ - [Skill-Hint(Skill-id(201072), 1),], - [Skill-Hint(Skill-id(201072), 2),], - [Skill-Hint(Skill-id(201072), 3),], - [Skill-Hint(Skill-id(201072), 4),], - [Skill-Hint(Skill-id(201072), 5),], - ] - 2010702 -> [ - [Skill-Hint(Skill-id(201072), 1),], - [Skill-Hint(Skill-id(201072), 2),], - [Skill-Hint(Skill-id(201072), 3),], - [Skill-Hint(Skill-id(201072), 4),], - [Skill-Hint(Skill-id(201072), 5),], - ] - 2010703 -> [ - [Skill-Hint(Skill-id(201072), 1),], - [Skill-Hint(Skill-id(201072), 2),], - [Skill-Hint(Skill-id(201072), 3),], - [Skill-Hint(Skill-id(201072), 4),], - [Skill-Hint(Skill-id(201072), 5),], - ] - 2010801 -> [ - [Skill-Hint(Skill-id(201082), 1),], - [Skill-Hint(Skill-id(201082), 2),], - [Skill-Hint(Skill-id(201082), 3),], - [Skill-Hint(Skill-id(201082), 4),], - [Skill-Hint(Skill-id(201082), 5),], - ] - 2010802 -> [ - [Skill-Hint(Skill-id(201082), 1),], - [Skill-Hint(Skill-id(201082), 2),], - [Skill-Hint(Skill-id(201082), 3),], - [Skill-Hint(Skill-id(201082), 4),], - [Skill-Hint(Skill-id(201082), 5),], - ] - 2010803 -> [ - [Skill-Hint(Skill-id(201082), 1),], - [Skill-Hint(Skill-id(201082), 2),], - [Skill-Hint(Skill-id(201082), 3),], - [Skill-Hint(Skill-id(201082), 4),], - [Skill-Hint(Skill-id(201082), 5),], - ] - 2010901 -> [ - [Skill-Hint(Skill-id(201092), 1),], - [Skill-Hint(Skill-id(201092), 2),], - [Skill-Hint(Skill-id(201092), 3),], - [Skill-Hint(Skill-id(201092), 4),], - [Skill-Hint(Skill-id(201092), 5),], - ] - 2010902 -> [ - [Skill-Hint(Skill-id(201092), 1),], - [Skill-Hint(Skill-id(201092), 2),], - [Skill-Hint(Skill-id(201092), 3),], - [Skill-Hint(Skill-id(201092), 4),], - [Skill-Hint(Skill-id(201092), 5),], - ] - 2010903 -> [ - [Skill-Hint(Skill-id(201092), 1),], - [Skill-Hint(Skill-id(201092), 2),], - [Skill-Hint(Skill-id(201092), 3),], - [Skill-Hint(Skill-id(201092), 4),], - [Skill-Hint(Skill-id(201092), 5),], - ] - 2011001 -> [ - [Skill-Hint(Skill-id(201102), 1),], - [Skill-Hint(Skill-id(201102), 2),], - [Skill-Hint(Skill-id(201102), 3),], - [Skill-Hint(Skill-id(201102), 4),], - [Skill-Hint(Skill-id(201102), 5),], - ] - 2011002 -> [ - [Skill-Hint(Skill-id(201102), 1),], - [Skill-Hint(Skill-id(201102), 2),], - [Skill-Hint(Skill-id(201102), 3),], - [Skill-Hint(Skill-id(201102), 4),], - [Skill-Hint(Skill-id(201102), 5),], - ] - 2011003 -> [ - [Skill-Hint(Skill-id(201102), 1),], - [Skill-Hint(Skill-id(201102), 2),], - [Skill-Hint(Skill-id(201102), 3),], - [Skill-Hint(Skill-id(201102), 4),], - [Skill-Hint(Skill-id(201102), 5),], - ] - 2011101 -> [ - [Skill-Hint(Skill-id(201112), 1),], - [Skill-Hint(Skill-id(201112), 2),], - [Skill-Hint(Skill-id(201112), 3),], - [Skill-Hint(Skill-id(201112), 4),], - [Skill-Hint(Skill-id(201112), 5),], - ] - 2011102 -> [ - [Skill-Hint(Skill-id(201112), 1),], - [Skill-Hint(Skill-id(201112), 2),], - [Skill-Hint(Skill-id(201112), 3),], - [Skill-Hint(Skill-id(201112), 4),], - [Skill-Hint(Skill-id(201112), 5),], - ] - 2011103 -> [ - [Skill-Hint(Skill-id(201112), 1),], - [Skill-Hint(Skill-id(201112), 2),], - [Skill-Hint(Skill-id(201112), 3),], - [Skill-Hint(Skill-id(201112), 4),], - [Skill-Hint(Skill-id(201112), 5),], - ] - 2011201 -> [ - [Skill-Hint(Skill-id(201122), 1),], - [Skill-Hint(Skill-id(201122), 2),], - [Skill-Hint(Skill-id(201122), 3),], - [Skill-Hint(Skill-id(201122), 4),], - [Skill-Hint(Skill-id(201122), 5),], - ] - 2011202 -> [ - [Skill-Hint(Skill-id(201122), 1),], - [Skill-Hint(Skill-id(201122), 2),], - [Skill-Hint(Skill-id(201122), 3),], - [Skill-Hint(Skill-id(201122), 4),], - [Skill-Hint(Skill-id(201122), 5),], - ] - 2011203 -> [ - [Skill-Hint(Skill-id(201122), 1),], - [Skill-Hint(Skill-id(201122), 2),], - [Skill-Hint(Skill-id(201122), 3),], - [Skill-Hint(Skill-id(201122), 4),], - [Skill-Hint(Skill-id(201122), 5),], - ] - 2011301 -> [ - [Skill-Hint(Skill-id(201132), 1),], - [Skill-Hint(Skill-id(201132), 2),], - [Skill-Hint(Skill-id(201132), 3),], - [Skill-Hint(Skill-id(201132), 4),], - [Skill-Hint(Skill-id(201132), 5),], - ] - 2011302 -> [ - [Skill-Hint(Skill-id(201132), 1),], - [Skill-Hint(Skill-id(201132), 2),], - [Skill-Hint(Skill-id(201132), 3),], - [Skill-Hint(Skill-id(201132), 4),], - [Skill-Hint(Skill-id(201132), 5),], - ] - 2011303 -> [ - [Skill-Hint(Skill-id(201132), 1),], - [Skill-Hint(Skill-id(201132), 2),], - [Skill-Hint(Skill-id(201132), 3),], - [Skill-Hint(Skill-id(201132), 4),], - [Skill-Hint(Skill-id(201132), 5),], - ] - 2011401 -> [ - [Skill-Hint(Skill-id(201142), 1),], - [Skill-Hint(Skill-id(201142), 2),], - [Skill-Hint(Skill-id(201142), 3),], - [Skill-Hint(Skill-id(201142), 4),], - [Skill-Hint(Skill-id(201142), 5),], - ] - 2011402 -> [ - [Skill-Hint(Skill-id(201142), 1),], - [Skill-Hint(Skill-id(201142), 2),], - [Skill-Hint(Skill-id(201142), 3),], - [Skill-Hint(Skill-id(201142), 4),], - [Skill-Hint(Skill-id(201142), 5),], - ] - 2011403 -> [ - [Skill-Hint(Skill-id(201142), 1),], - [Skill-Hint(Skill-id(201142), 2),], - [Skill-Hint(Skill-id(201142), 3),], - [Skill-Hint(Skill-id(201142), 4),], - [Skill-Hint(Skill-id(201142), 5),], - ] - 2011501 -> [ - [Skill-Hint(Skill-id(201152), 1),], - [Skill-Hint(Skill-id(201152), 2),], - [Skill-Hint(Skill-id(201152), 3),], - [Skill-Hint(Skill-id(201152), 4),], - [Skill-Hint(Skill-id(201152), 5),], - ] - 2011502 -> [ - [Skill-Hint(Skill-id(201152), 1),], - [Skill-Hint(Skill-id(201152), 2),], - [Skill-Hint(Skill-id(201152), 3),], - [Skill-Hint(Skill-id(201152), 4),], - [Skill-Hint(Skill-id(201152), 5),], - ] - 2011503 -> [ - [Skill-Hint(Skill-id(201152), 1),], - [Skill-Hint(Skill-id(201152), 2),], - [Skill-Hint(Skill-id(201152), 3),], - [Skill-Hint(Skill-id(201152), 4),], - [Skill-Hint(Skill-id(201152), 5),], - ] - 2011601 -> [ - [Skill-Hint(Skill-id(201162), 1),], - [Skill-Hint(Skill-id(201162), 2),], - [Skill-Hint(Skill-id(201162), 3),], - [Skill-Hint(Skill-id(201162), 4),], - [Skill-Hint(Skill-id(201162), 5),], - ] - 2011602 -> [ - [Skill-Hint(Skill-id(201162), 1),], - [Skill-Hint(Skill-id(201162), 2),], - [Skill-Hint(Skill-id(201162), 3),], - [Skill-Hint(Skill-id(201162), 4),], - [Skill-Hint(Skill-id(201162), 5),], - ] - 2011603 -> [ - [Skill-Hint(Skill-id(201162), 1),], - [Skill-Hint(Skill-id(201162), 2),], - [Skill-Hint(Skill-id(201162), 3),], - [Skill-Hint(Skill-id(201162), 4),], - [Skill-Hint(Skill-id(201162), 5),], - ] - 2011701 -> [ - [Skill-Hint(Skill-id(201172), 1),], - [Skill-Hint(Skill-id(201172), 2),], - [Skill-Hint(Skill-id(201172), 3),], - [Skill-Hint(Skill-id(201172), 4),], - [Skill-Hint(Skill-id(201172), 5),], - ] - 2011702 -> [ - [Skill-Hint(Skill-id(201172), 1),], - [Skill-Hint(Skill-id(201172), 2),], - [Skill-Hint(Skill-id(201172), 3),], - [Skill-Hint(Skill-id(201172), 4),], - [Skill-Hint(Skill-id(201172), 5),], - ] - 2011703 -> [ - [Skill-Hint(Skill-id(201172), 1),], - [Skill-Hint(Skill-id(201172), 2),], - [Skill-Hint(Skill-id(201172), 3),], - [Skill-Hint(Skill-id(201172), 4),], - [Skill-Hint(Skill-id(201172), 5),], - ] - 2011801 -> [ - [Skill-Hint(Skill-id(201182), 1),], - [Skill-Hint(Skill-id(201182), 2),], - [Skill-Hint(Skill-id(201182), 3),], - [Skill-Hint(Skill-id(201182), 4),], - [Skill-Hint(Skill-id(201182), 5),], - ] - 2011802 -> [ - [Skill-Hint(Skill-id(201182), 1),], - [Skill-Hint(Skill-id(201182), 2),], - [Skill-Hint(Skill-id(201182), 3),], - [Skill-Hint(Skill-id(201182), 4),], - [Skill-Hint(Skill-id(201182), 5),], - ] - 2011803 -> [ - [Skill-Hint(Skill-id(201182), 1),], - [Skill-Hint(Skill-id(201182), 2),], - [Skill-Hint(Skill-id(201182), 3),], - [Skill-Hint(Skill-id(201182), 4),], - [Skill-Hint(Skill-id(201182), 5),], - ] - 2011901 -> [ - [Skill-Hint(Skill-id(201192), 1),], - [Skill-Hint(Skill-id(201192), 2),], - [Skill-Hint(Skill-id(201192), 3),], - [Skill-Hint(Skill-id(201192), 4),], - [Skill-Hint(Skill-id(201192), 5),], - ] - 2011902 -> [ - [Skill-Hint(Skill-id(201192), 1),], - [Skill-Hint(Skill-id(201192), 2),], - [Skill-Hint(Skill-id(201192), 3),], - [Skill-Hint(Skill-id(201192), 4),], - [Skill-Hint(Skill-id(201192), 5),], - ] - 2011903 -> [ - [Skill-Hint(Skill-id(201192), 1),], - [Skill-Hint(Skill-id(201192), 2),], - [Skill-Hint(Skill-id(201192), 3),], - [Skill-Hint(Skill-id(201192), 4),], - [Skill-Hint(Skill-id(201192), 5),], - ] - 2012001 -> [ - [Skill-Hint(Skill-id(201202), 1),], - [Skill-Hint(Skill-id(201202), 2),], - [Skill-Hint(Skill-id(201202), 3),], - [Skill-Hint(Skill-id(201202), 4),], - [Skill-Hint(Skill-id(201202), 5),], - ] - 2012002 -> [ - [Skill-Hint(Skill-id(201202), 1),], - [Skill-Hint(Skill-id(201202), 2),], - [Skill-Hint(Skill-id(201202), 3),], - [Skill-Hint(Skill-id(201202), 4),], - [Skill-Hint(Skill-id(201202), 5),], - ] - 2012003 -> [ - [Skill-Hint(Skill-id(201202), 1),], - [Skill-Hint(Skill-id(201202), 2),], - [Skill-Hint(Skill-id(201202), 3),], - [Skill-Hint(Skill-id(201202), 4),], - [Skill-Hint(Skill-id(201202), 5),], - ] - 2012101 -> [ - [Skill-Hint(Skill-id(201212), 1),], - [Skill-Hint(Skill-id(201212), 2),], - [Skill-Hint(Skill-id(201212), 3),], - [Skill-Hint(Skill-id(201212), 4),], - [Skill-Hint(Skill-id(201212), 5),], - ] - 2012102 -> [ - [Skill-Hint(Skill-id(201212), 1),], - [Skill-Hint(Skill-id(201212), 2),], - [Skill-Hint(Skill-id(201212), 3),], - [Skill-Hint(Skill-id(201212), 4),], - [Skill-Hint(Skill-id(201212), 5),], - ] - 2012103 -> [ - [Skill-Hint(Skill-id(201212), 1),], - [Skill-Hint(Skill-id(201212), 2),], - [Skill-Hint(Skill-id(201212), 3),], - [Skill-Hint(Skill-id(201212), 4),], - [Skill-Hint(Skill-id(201212), 5),], - ] - 2012201 -> [ - [Skill-Hint(Skill-id(201222), 1),], - [Skill-Hint(Skill-id(201222), 2),], - [Skill-Hint(Skill-id(201222), 3),], - [Skill-Hint(Skill-id(201222), 4),], - [Skill-Hint(Skill-id(201222), 5),], - ] - 2012202 -> [ - [Skill-Hint(Skill-id(201222), 1),], - [Skill-Hint(Skill-id(201222), 2),], - [Skill-Hint(Skill-id(201222), 3),], - [Skill-Hint(Skill-id(201222), 4),], - [Skill-Hint(Skill-id(201222), 5),], - ] - 2012203 -> [ - [Skill-Hint(Skill-id(201222), 1),], - [Skill-Hint(Skill-id(201222), 2),], - [Skill-Hint(Skill-id(201222), 3),], - [Skill-Hint(Skill-id(201222), 4),], - [Skill-Hint(Skill-id(201222), 5),], - ] - 2012301 -> [ - [Skill-Hint(Skill-id(201232), 1),], - [Skill-Hint(Skill-id(201232), 2),], - [Skill-Hint(Skill-id(201232), 3),], - [Skill-Hint(Skill-id(201232), 4),], - [Skill-Hint(Skill-id(201232), 5),], - ] - 2012302 -> [ - [Skill-Hint(Skill-id(201232), 1),], - [Skill-Hint(Skill-id(201232), 2),], - [Skill-Hint(Skill-id(201232), 3),], - [Skill-Hint(Skill-id(201232), 4),], - [Skill-Hint(Skill-id(201232), 5),], - ] - 2012303 -> [ - [Skill-Hint(Skill-id(201232), 1),], - [Skill-Hint(Skill-id(201232), 2),], - [Skill-Hint(Skill-id(201232), 3),], - [Skill-Hint(Skill-id(201232), 4),], - [Skill-Hint(Skill-id(201232), 5),], - ] - 2012401 -> [ - [Skill-Hint(Skill-id(201242), 1),], - [Skill-Hint(Skill-id(201242), 2),], - [Skill-Hint(Skill-id(201242), 3),], - [Skill-Hint(Skill-id(201242), 4),], - [Skill-Hint(Skill-id(201242), 5),], - ] - 2012402 -> [ - [Skill-Hint(Skill-id(201242), 1),], - [Skill-Hint(Skill-id(201242), 2),], - [Skill-Hint(Skill-id(201242), 3),], - [Skill-Hint(Skill-id(201242), 4),], - [Skill-Hint(Skill-id(201242), 5),], - ] - 2012403 -> [ - [Skill-Hint(Skill-id(201242), 1),], - [Skill-Hint(Skill-id(201242), 2),], - [Skill-Hint(Skill-id(201242), 3),], - [Skill-Hint(Skill-id(201242), 4),], - [Skill-Hint(Skill-id(201242), 5),], - ] - 2012501 -> [ - [Skill-Hint(Skill-id(201252), 1),], - [Skill-Hint(Skill-id(201252), 2),], - [Skill-Hint(Skill-id(201252), 3),], - [Skill-Hint(Skill-id(201252), 4),], - [Skill-Hint(Skill-id(201252), 5),], - ] - 2012502 -> [ - [Skill-Hint(Skill-id(201252), 1),], - [Skill-Hint(Skill-id(201252), 2),], - [Skill-Hint(Skill-id(201252), 3),], - [Skill-Hint(Skill-id(201252), 4),], - [Skill-Hint(Skill-id(201252), 5),], - ] - 2012503 -> [ - [Skill-Hint(Skill-id(201252), 1),], - [Skill-Hint(Skill-id(201252), 2),], - [Skill-Hint(Skill-id(201252), 3),], - [Skill-Hint(Skill-id(201252), 4),], - [Skill-Hint(Skill-id(201252), 5),], - ] - 2012601 -> [ - [Skill-Hint(Skill-id(201262), 1),], - [Skill-Hint(Skill-id(201262), 2),], - [Skill-Hint(Skill-id(201262), 3),], - [Skill-Hint(Skill-id(201262), 4),], - [Skill-Hint(Skill-id(201262), 5),], - ] - 2012602 -> [ - [Skill-Hint(Skill-id(201262), 1),], - [Skill-Hint(Skill-id(201262), 2),], - [Skill-Hint(Skill-id(201262), 3),], - [Skill-Hint(Skill-id(201262), 4),], - [Skill-Hint(Skill-id(201262), 5),], - ] - 2012603 -> [ - [Skill-Hint(Skill-id(201262), 1),], - [Skill-Hint(Skill-id(201262), 2),], - [Skill-Hint(Skill-id(201262), 3),], - [Skill-Hint(Skill-id(201262), 4),], - [Skill-Hint(Skill-id(201262), 5),], - ] - 2012701 -> [ - [Skill-Hint(Skill-id(201272), 1),], - [Skill-Hint(Skill-id(201272), 2),], - [Skill-Hint(Skill-id(201272), 3),], - [Skill-Hint(Skill-id(201272), 4),], - [Skill-Hint(Skill-id(201272), 5),], - ] - 2012702 -> [ - [Skill-Hint(Skill-id(201272), 1),], - [Skill-Hint(Skill-id(201272), 2),], - [Skill-Hint(Skill-id(201272), 3),], - [Skill-Hint(Skill-id(201272), 4),], - [Skill-Hint(Skill-id(201272), 5),], - ] - 2012703 -> [ - [Skill-Hint(Skill-id(201272), 1),], - [Skill-Hint(Skill-id(201272), 2),], - [Skill-Hint(Skill-id(201272), 3),], - [Skill-Hint(Skill-id(201272), 4),], - [Skill-Hint(Skill-id(201272), 5),], - ] - 2012801 -> [ - [Skill-Hint(Skill-id(201282), 1),], - [Skill-Hint(Skill-id(201282), 2),], - [Skill-Hint(Skill-id(201282), 3),], - [Skill-Hint(Skill-id(201282), 4),], - [Skill-Hint(Skill-id(201282), 5),], - ] - 2012802 -> [ - [Skill-Hint(Skill-id(201282), 1),], - [Skill-Hint(Skill-id(201282), 2),], - [Skill-Hint(Skill-id(201282), 3),], - [Skill-Hint(Skill-id(201282), 4),], - [Skill-Hint(Skill-id(201282), 5),], - ] - 2012803 -> [ - [Skill-Hint(Skill-id(201282), 1),], - [Skill-Hint(Skill-id(201282), 2),], - [Skill-Hint(Skill-id(201282), 3),], - [Skill-Hint(Skill-id(201282), 4),], - [Skill-Hint(Skill-id(201282), 5),], - ] - 2012901 -> [ - [Skill-Hint(Skill-id(201292), 1),], - [Skill-Hint(Skill-id(201292), 2),], - [Skill-Hint(Skill-id(201292), 3),], - [Skill-Hint(Skill-id(201292), 4),], - [Skill-Hint(Skill-id(201292), 5),], - ] - 2012902 -> [ - [Skill-Hint(Skill-id(201292), 1),], - [Skill-Hint(Skill-id(201292), 2),], - [Skill-Hint(Skill-id(201292), 3),], - [Skill-Hint(Skill-id(201292), 4),], - [Skill-Hint(Skill-id(201292), 5),], - ] - 2012903 -> [ - [Skill-Hint(Skill-id(201292), 1),], - [Skill-Hint(Skill-id(201292), 2),], - [Skill-Hint(Skill-id(201292), 3),], - [Skill-Hint(Skill-id(201292), 4),], - [Skill-Hint(Skill-id(201292), 5),], - ] - 2013001 -> [ - [Skill-Hint(Skill-id(201302), 1),], - [Skill-Hint(Skill-id(201302), 2),], - [Skill-Hint(Skill-id(201302), 3),], - [Skill-Hint(Skill-id(201302), 4),], - [Skill-Hint(Skill-id(201302), 5),], - ] - 2013002 -> [ - [Skill-Hint(Skill-id(201302), 1),], - [Skill-Hint(Skill-id(201302), 2),], - [Skill-Hint(Skill-id(201302), 3),], - [Skill-Hint(Skill-id(201302), 4),], - [Skill-Hint(Skill-id(201302), 5),], - ] - 2013003 -> [ - [Skill-Hint(Skill-id(201302), 1),], - [Skill-Hint(Skill-id(201302), 2),], - [Skill-Hint(Skill-id(201302), 3),], - [Skill-Hint(Skill-id(201302), 4),], - [Skill-Hint(Skill-id(201302), 5),], - ] - 2013101 -> [ - [Skill-Hint(Skill-id(201312), 1),], - [Skill-Hint(Skill-id(201312), 2),], - [Skill-Hint(Skill-id(201312), 3),], - [Skill-Hint(Skill-id(201312), 4),], - [Skill-Hint(Skill-id(201312), 5),], - ] - 2013102 -> [ - [Skill-Hint(Skill-id(201312), 1),], - [Skill-Hint(Skill-id(201312), 2),], - [Skill-Hint(Skill-id(201312), 3),], - [Skill-Hint(Skill-id(201312), 4),], - [Skill-Hint(Skill-id(201312), 5),], - ] - 2013103 -> [ - [Skill-Hint(Skill-id(201312), 1),], - [Skill-Hint(Skill-id(201312), 2),], - [Skill-Hint(Skill-id(201312), 3),], - [Skill-Hint(Skill-id(201312), 4),], - [Skill-Hint(Skill-id(201312), 5),], - ] - 2013201 -> [ - [Skill-Hint(Skill-id(201322), 1),], - [Skill-Hint(Skill-id(201322), 2),], - [Skill-Hint(Skill-id(201322), 3),], - [Skill-Hint(Skill-id(201322), 4),], - [Skill-Hint(Skill-id(201322), 5),], - ] - 2013202 -> [ - [Skill-Hint(Skill-id(201322), 1),], - [Skill-Hint(Skill-id(201322), 2),], - [Skill-Hint(Skill-id(201322), 3),], - [Skill-Hint(Skill-id(201322), 4),], - [Skill-Hint(Skill-id(201322), 5),], - ] - 2013203 -> [ - [Skill-Hint(Skill-id(201322), 1),], - [Skill-Hint(Skill-id(201322), 2),], - [Skill-Hint(Skill-id(201322), 3),], - [Skill-Hint(Skill-id(201322), 4),], - [Skill-Hint(Skill-id(201322), 5),], - ] - 2013301 -> [ - [Skill-Hint(Skill-id(201332), 1),], - [Skill-Hint(Skill-id(201332), 2),], - [Skill-Hint(Skill-id(201332), 3),], - [Skill-Hint(Skill-id(201332), 4),], - [Skill-Hint(Skill-id(201332), 5),], - ] - 2013302 -> [ - [Skill-Hint(Skill-id(201332), 1),], - [Skill-Hint(Skill-id(201332), 2),], - [Skill-Hint(Skill-id(201332), 3),], - [Skill-Hint(Skill-id(201332), 4),], - [Skill-Hint(Skill-id(201332), 5),], - ] - 2013303 -> [ - [Skill-Hint(Skill-id(201332), 1),], - [Skill-Hint(Skill-id(201332), 2),], - [Skill-Hint(Skill-id(201332), 3),], - [Skill-Hint(Skill-id(201332), 4),], - [Skill-Hint(Skill-id(201332), 5),], - ] - 2013401 -> [ - [Skill-Hint(Skill-id(201342), 1),], - [Skill-Hint(Skill-id(201342), 2),], - [Skill-Hint(Skill-id(201342), 3),], - [Skill-Hint(Skill-id(201342), 4),], - [Skill-Hint(Skill-id(201342), 5),], - ] - 2013402 -> [ - [Skill-Hint(Skill-id(201342), 1),], - [Skill-Hint(Skill-id(201342), 2),], - [Skill-Hint(Skill-id(201342), 3),], - [Skill-Hint(Skill-id(201342), 4),], - [Skill-Hint(Skill-id(201342), 5),], - ] - 2013403 -> [ - [Skill-Hint(Skill-id(201342), 1),], - [Skill-Hint(Skill-id(201342), 2),], - [Skill-Hint(Skill-id(201342), 3),], - [Skill-Hint(Skill-id(201342), 4),], - [Skill-Hint(Skill-id(201342), 5),], - ] - 2013501 -> [ - [Skill-Hint(Skill-id(201352), 1),], - [Skill-Hint(Skill-id(201352), 2),], - [Skill-Hint(Skill-id(201352), 3),], - [Skill-Hint(Skill-id(201352), 4),], - [Skill-Hint(Skill-id(201352), 5),], - ] - 2013502 -> [ - [Skill-Hint(Skill-id(201352), 1),], - [Skill-Hint(Skill-id(201352), 2),], - [Skill-Hint(Skill-id(201352), 3),], - [Skill-Hint(Skill-id(201352), 4),], - [Skill-Hint(Skill-id(201352), 5),], - ] - 2013503 -> [ - [Skill-Hint(Skill-id(201352), 1),], - [Skill-Hint(Skill-id(201352), 2),], - [Skill-Hint(Skill-id(201352), 3),], - [Skill-Hint(Skill-id(201352), 4),], - [Skill-Hint(Skill-id(201352), 5),], - ] - 2013601 -> [ - [Skill-Hint(Skill-id(201362), 1),], - [Skill-Hint(Skill-id(201362), 2),], - [Skill-Hint(Skill-id(201362), 3),], - [Skill-Hint(Skill-id(201362), 4),], - [Skill-Hint(Skill-id(201362), 5),], - ] - 2013602 -> [ - [Skill-Hint(Skill-id(201362), 1),], - [Skill-Hint(Skill-id(201362), 2),], - [Skill-Hint(Skill-id(201362), 3),], - [Skill-Hint(Skill-id(201362), 4),], - [Skill-Hint(Skill-id(201362), 5),], - ] - 2013603 -> [ - [Skill-Hint(Skill-id(201362), 1),], - [Skill-Hint(Skill-id(201362), 2),], - [Skill-Hint(Skill-id(201362), 3),], - [Skill-Hint(Skill-id(201362), 4),], - [Skill-Hint(Skill-id(201362), 5),], - ] - 2013701 -> [ - [Skill-Hint(Skill-id(201372), 1),], - [Skill-Hint(Skill-id(201372), 2),], - [Skill-Hint(Skill-id(201372), 3),], - [Skill-Hint(Skill-id(201372), 4),], - [Skill-Hint(Skill-id(201372), 5),], - ] - 2013702 -> [ - [Skill-Hint(Skill-id(201372), 1),], - [Skill-Hint(Skill-id(201372), 2),], - [Skill-Hint(Skill-id(201372), 3),], - [Skill-Hint(Skill-id(201372), 4),], - [Skill-Hint(Skill-id(201372), 5),], - ] - 2013703 -> [ - [Skill-Hint(Skill-id(201372), 1),], - [Skill-Hint(Skill-id(201372), 2),], - [Skill-Hint(Skill-id(201372), 3),], - [Skill-Hint(Skill-id(201372), 4),], - [Skill-Hint(Skill-id(201372), 5),], - ] - 2013801 -> [ - [Skill-Hint(Skill-id(201382), 1),], - [Skill-Hint(Skill-id(201382), 2),], - [Skill-Hint(Skill-id(201382), 3),], - [Skill-Hint(Skill-id(201382), 4),], - [Skill-Hint(Skill-id(201382), 5),], - ] - 2013802 -> [ - [Skill-Hint(Skill-id(201382), 1),], - [Skill-Hint(Skill-id(201382), 2),], - [Skill-Hint(Skill-id(201382), 3),], - [Skill-Hint(Skill-id(201382), 4),], - [Skill-Hint(Skill-id(201382), 5),], - ] - 2013803 -> [ - [Skill-Hint(Skill-id(201382), 1),], - [Skill-Hint(Skill-id(201382), 2),], - [Skill-Hint(Skill-id(201382), 3),], - [Skill-Hint(Skill-id(201382), 4),], - [Skill-Hint(Skill-id(201382), 5),], - ] - 2013901 -> [ - [Skill-Hint(Skill-id(201392), 1),], - [Skill-Hint(Skill-id(201392), 2),], - [Skill-Hint(Skill-id(201392), 3),], - [Skill-Hint(Skill-id(201392), 4),], - [Skill-Hint(Skill-id(201392), 5),], - ] - 2013902 -> [ - [Skill-Hint(Skill-id(201392), 1),], - [Skill-Hint(Skill-id(201392), 2),], - [Skill-Hint(Skill-id(201392), 3),], - [Skill-Hint(Skill-id(201392), 4),], - [Skill-Hint(Skill-id(201392), 5),], - ] - 2013903 -> [ - [Skill-Hint(Skill-id(201392), 1),], - [Skill-Hint(Skill-id(201392), 2),], - [Skill-Hint(Skill-id(201392), 3),], - [Skill-Hint(Skill-id(201392), 4),], - [Skill-Hint(Skill-id(201392), 5),], - ] - 2014001 -> [ - [Skill-Hint(Skill-id(201402), 1),], - [Skill-Hint(Skill-id(201402), 2),], - [Skill-Hint(Skill-id(201402), 3),], - [Skill-Hint(Skill-id(201402), 4),], - [Skill-Hint(Skill-id(201402), 5),], - ] - 2014002 -> [ - [Skill-Hint(Skill-id(201402), 1),], - [Skill-Hint(Skill-id(201402), 2),], - [Skill-Hint(Skill-id(201402), 3),], - [Skill-Hint(Skill-id(201402), 4),], - [Skill-Hint(Skill-id(201402), 5),], - ] - 2014003 -> [ - [Skill-Hint(Skill-id(201402), 1),], - [Skill-Hint(Skill-id(201402), 2),], - [Skill-Hint(Skill-id(201402), 3),], - [Skill-Hint(Skill-id(201402), 4),], - [Skill-Hint(Skill-id(201402), 5),], - ] - 2014101 -> [ - [Skill-Hint(Skill-id(201412), 1),], - [Skill-Hint(Skill-id(201412), 2),], - [Skill-Hint(Skill-id(201412), 3),], - [Skill-Hint(Skill-id(201412), 4),], - [Skill-Hint(Skill-id(201412), 5),], - ] - 2014102 -> [ - [Skill-Hint(Skill-id(201412), 1),], - [Skill-Hint(Skill-id(201412), 2),], - [Skill-Hint(Skill-id(201412), 3),], - [Skill-Hint(Skill-id(201412), 4),], - [Skill-Hint(Skill-id(201412), 5),], - ] - 2014103 -> [ - [Skill-Hint(Skill-id(201412), 1),], - [Skill-Hint(Skill-id(201412), 2),], - [Skill-Hint(Skill-id(201412), 3),], - [Skill-Hint(Skill-id(201412), 4),], - [Skill-Hint(Skill-id(201412), 5),], - ] - 2014201 -> [ - [Skill-Hint(Skill-id(201422), 1),], - [Skill-Hint(Skill-id(201422), 2),], - [Skill-Hint(Skill-id(201422), 3),], - [Skill-Hint(Skill-id(201422), 4),], - [Skill-Hint(Skill-id(201422), 5),], - ] - 2014202 -> [ - [Skill-Hint(Skill-id(201422), 1),], - [Skill-Hint(Skill-id(201422), 2),], - [Skill-Hint(Skill-id(201422), 3),], - [Skill-Hint(Skill-id(201422), 4),], - [Skill-Hint(Skill-id(201422), 5),], - ] - 2014203 -> [ - [Skill-Hint(Skill-id(201422), 1),], - [Skill-Hint(Skill-id(201422), 2),], - [Skill-Hint(Skill-id(201422), 3),], - [Skill-Hint(Skill-id(201422), 4),], - [Skill-Hint(Skill-id(201422), 5),], - ] - 2014301 -> [ - [Skill-Hint(Skill-id(201432), 1),], - [Skill-Hint(Skill-id(201432), 2),], - [Skill-Hint(Skill-id(201432), 3),], - [Skill-Hint(Skill-id(201432), 4),], - [Skill-Hint(Skill-id(201432), 5),], - ] - 2014302 -> [ - [Skill-Hint(Skill-id(201432), 1),], - [Skill-Hint(Skill-id(201432), 2),], - [Skill-Hint(Skill-id(201432), 3),], - [Skill-Hint(Skill-id(201432), 4),], - [Skill-Hint(Skill-id(201432), 5),], - ] - 2014303 -> [ - [Skill-Hint(Skill-id(201432), 1),], - [Skill-Hint(Skill-id(201432), 2),], - [Skill-Hint(Skill-id(201432), 3),], - [Skill-Hint(Skill-id(201432), 4),], - [Skill-Hint(Skill-id(201432), 5),], - ] - 2014401 -> [ - [Skill-Hint(Skill-id(201442), 1),], - [Skill-Hint(Skill-id(201442), 2),], - [Skill-Hint(Skill-id(201442), 3),], - [Skill-Hint(Skill-id(201442), 4),], - [Skill-Hint(Skill-id(201442), 5),], - ] - 2014402 -> [ - [Skill-Hint(Skill-id(201442), 1),], - [Skill-Hint(Skill-id(201442), 2),], - [Skill-Hint(Skill-id(201442), 3),], - [Skill-Hint(Skill-id(201442), 4),], - [Skill-Hint(Skill-id(201442), 5),], - ] - 2014403 -> [ - [Skill-Hint(Skill-id(201442), 1),], - [Skill-Hint(Skill-id(201442), 2),], - [Skill-Hint(Skill-id(201442), 3),], - [Skill-Hint(Skill-id(201442), 4),], - [Skill-Hint(Skill-id(201442), 5),], - ] - 2014501 -> [ - [Skill-Hint(Skill-id(201452), 1),], - [Skill-Hint(Skill-id(201452), 2),], - [Skill-Hint(Skill-id(201452), 3),], - [Skill-Hint(Skill-id(201452), 4),], - [Skill-Hint(Skill-id(201452), 5),], - ] - 2014502 -> [ - [Skill-Hint(Skill-id(201452), 1),], - [Skill-Hint(Skill-id(201452), 2),], - [Skill-Hint(Skill-id(201452), 3),], - [Skill-Hint(Skill-id(201452), 4),], - [Skill-Hint(Skill-id(201452), 5),], - ] - 2014503 -> [ - [Skill-Hint(Skill-id(201452), 1),], - [Skill-Hint(Skill-id(201452), 2),], - [Skill-Hint(Skill-id(201452), 3),], - [Skill-Hint(Skill-id(201452), 4),], - [Skill-Hint(Skill-id(201452), 5),], - ] - 2014601 -> [ - [Skill-Hint(Skill-id(201462), 1),], - [Skill-Hint(Skill-id(201462), 2),], - [Skill-Hint(Skill-id(201462), 3),], - [Skill-Hint(Skill-id(201462), 4),], - [Skill-Hint(Skill-id(201462), 5),], - ] - 2014602 -> [ - [Skill-Hint(Skill-id(201462), 1),], - [Skill-Hint(Skill-id(201462), 2),], - [Skill-Hint(Skill-id(201462), 3),], - [Skill-Hint(Skill-id(201462), 4),], - [Skill-Hint(Skill-id(201462), 5),], - ] - 2014603 -> [ - [Skill-Hint(Skill-id(201462), 1),], - [Skill-Hint(Skill-id(201462), 2),], - [Skill-Hint(Skill-id(201462), 3),], - [Skill-Hint(Skill-id(201462), 4),], - [Skill-Hint(Skill-id(201462), 5),], - ] - 2014701 -> [ - [Skill-Hint(Skill-id(201472), 1),], - [Skill-Hint(Skill-id(201472), 2),], - [Skill-Hint(Skill-id(201472), 3),], - [Skill-Hint(Skill-id(201472), 4),], - [Skill-Hint(Skill-id(201472), 5),], - ] - 2014702 -> [ - [Skill-Hint(Skill-id(201472), 1),], - [Skill-Hint(Skill-id(201472), 2),], - [Skill-Hint(Skill-id(201472), 3),], - [Skill-Hint(Skill-id(201472), 4),], - [Skill-Hint(Skill-id(201472), 5),], - ] - 2014703 -> [ - [Skill-Hint(Skill-id(201472), 1),], - [Skill-Hint(Skill-id(201472), 2),], - [Skill-Hint(Skill-id(201472), 3),], - [Skill-Hint(Skill-id(201472), 4),], - [Skill-Hint(Skill-id(201472), 5),], - ] - 2014801 -> [ - [Skill-Hint(Skill-id(201482), 1),], - [Skill-Hint(Skill-id(201482), 2),], - [Skill-Hint(Skill-id(201482), 3),], - [Skill-Hint(Skill-id(201482), 4),], - [Skill-Hint(Skill-id(201482), 5),], - ] - 2014802 -> [ - [Skill-Hint(Skill-id(201482), 1),], - [Skill-Hint(Skill-id(201482), 2),], - [Skill-Hint(Skill-id(201482), 3),], - [Skill-Hint(Skill-id(201482), 4),], - [Skill-Hint(Skill-id(201482), 5),], - ] - 2014803 -> [ - [Skill-Hint(Skill-id(201482), 1),], - [Skill-Hint(Skill-id(201482), 2),], - [Skill-Hint(Skill-id(201482), 3),], - [Skill-Hint(Skill-id(201482), 4),], - [Skill-Hint(Skill-id(201482), 5),], - ] - 2014901 -> [ - [Skill-Hint(Skill-id(201492), 1),], - [Skill-Hint(Skill-id(201492), 2),], - [Skill-Hint(Skill-id(201492), 3),], - [Skill-Hint(Skill-id(201492), 4),], - [Skill-Hint(Skill-id(201492), 5),], - ] - 2014902 -> [ - [Skill-Hint(Skill-id(201492), 1),], - [Skill-Hint(Skill-id(201492), 2),], - [Skill-Hint(Skill-id(201492), 3),], - [Skill-Hint(Skill-id(201492), 4),], - [Skill-Hint(Skill-id(201492), 5),], - ] - 2014903 -> [ - [Skill-Hint(Skill-id(201492), 1),], - [Skill-Hint(Skill-id(201492), 2),], - [Skill-Hint(Skill-id(201492), 3),], - [Skill-Hint(Skill-id(201492), 4),], - [Skill-Hint(Skill-id(201492), 5),], - ] - 2015001 -> [ - [Skill-Hint(Skill-id(201502), 1),], - [Skill-Hint(Skill-id(201502), 2),], - [Skill-Hint(Skill-id(201502), 3),], - [Skill-Hint(Skill-id(201502), 4),], - [Skill-Hint(Skill-id(201502), 5),], - ] - 2015002 -> [ - [Skill-Hint(Skill-id(201502), 1),], - [Skill-Hint(Skill-id(201502), 2),], - [Skill-Hint(Skill-id(201502), 3),], - [Skill-Hint(Skill-id(201502), 4),], - [Skill-Hint(Skill-id(201502), 5),], - ] - 2015003 -> [ - [Skill-Hint(Skill-id(201502), 1),], - [Skill-Hint(Skill-id(201502), 2),], - [Skill-Hint(Skill-id(201502), 3),], - [Skill-Hint(Skill-id(201502), 4),], - [Skill-Hint(Skill-id(201502), 5),], - ] - 2015101 -> [ - [Skill-Hint(Skill-id(201512), 1),], - [Skill-Hint(Skill-id(201512), 2),], - [Skill-Hint(Skill-id(201512), 3),], - [Skill-Hint(Skill-id(201512), 4),], - [Skill-Hint(Skill-id(201512), 5),], - ] - 2015102 -> [ - [Skill-Hint(Skill-id(201512), 1),], - [Skill-Hint(Skill-id(201512), 2),], - [Skill-Hint(Skill-id(201512), 3),], - [Skill-Hint(Skill-id(201512), 4),], - [Skill-Hint(Skill-id(201512), 5),], - ] - 2015103 -> [ - [Skill-Hint(Skill-id(201512), 1),], - [Skill-Hint(Skill-id(201512), 2),], - [Skill-Hint(Skill-id(201512), 3),], - [Skill-Hint(Skill-id(201512), 4),], - [Skill-Hint(Skill-id(201512), 5),], - ] - 2015201 -> [ - [Skill-Hint(Skill-id(201522), 1),], - [Skill-Hint(Skill-id(201522), 2),], - [Skill-Hint(Skill-id(201522), 3),], - [Skill-Hint(Skill-id(201522), 4),], - [Skill-Hint(Skill-id(201522), 5),], - ] - 2015202 -> [ - [Skill-Hint(Skill-id(201522), 1),], - [Skill-Hint(Skill-id(201522), 2),], - [Skill-Hint(Skill-id(201522), 3),], - [Skill-Hint(Skill-id(201522), 4),], - [Skill-Hint(Skill-id(201522), 5),], - ] - 2015203 -> [ - [Skill-Hint(Skill-id(201522), 1),], - [Skill-Hint(Skill-id(201522), 2),], - [Skill-Hint(Skill-id(201522), 3),], - [Skill-Hint(Skill-id(201522), 4),], - [Skill-Hint(Skill-id(201522), 5),], - ] - 2015301 -> [ - [Skill-Hint(Skill-id(201532), 1),], - [Skill-Hint(Skill-id(201532), 2),], - [Skill-Hint(Skill-id(201532), 3),], - [Skill-Hint(Skill-id(201532), 4),], - [Skill-Hint(Skill-id(201532), 5),], - ] - 2015302 -> [ - [Skill-Hint(Skill-id(201532), 1),], - [Skill-Hint(Skill-id(201532), 2),], - [Skill-Hint(Skill-id(201532), 3),], - [Skill-Hint(Skill-id(201532), 4),], - [Skill-Hint(Skill-id(201532), 5),], - ] - 2015303 -> [ - [Skill-Hint(Skill-id(201532), 1),], - [Skill-Hint(Skill-id(201532), 2),], - [Skill-Hint(Skill-id(201532), 3),], - [Skill-Hint(Skill-id(201532), 4),], - [Skill-Hint(Skill-id(201532), 5),], - ] - 2015401 -> [ - [Skill-Hint(Skill-id(201542), 1),], - [Skill-Hint(Skill-id(201542), 2),], - [Skill-Hint(Skill-id(201542), 3),], - [Skill-Hint(Skill-id(201542), 4),], - [Skill-Hint(Skill-id(201542), 5),], - ] - 2015402 -> [ - [Skill-Hint(Skill-id(201542), 1),], - [Skill-Hint(Skill-id(201542), 2),], - [Skill-Hint(Skill-id(201542), 3),], - [Skill-Hint(Skill-id(201542), 4),], - [Skill-Hint(Skill-id(201542), 5),], - ] - 2015403 -> [ - [Skill-Hint(Skill-id(201542), 1),], - [Skill-Hint(Skill-id(201542), 2),], - [Skill-Hint(Skill-id(201542), 3),], - [Skill-Hint(Skill-id(201542), 4),], - [Skill-Hint(Skill-id(201542), 5),], - ] - 2015501 -> [ - [Skill-Hint(Skill-id(201552), 1),], - [Skill-Hint(Skill-id(201552), 2),], - [Skill-Hint(Skill-id(201552), 3),], - [Skill-Hint(Skill-id(201552), 4),], - [Skill-Hint(Skill-id(201552), 5),], - ] - 2015502 -> [ - [Skill-Hint(Skill-id(201552), 1),], - [Skill-Hint(Skill-id(201552), 2),], - [Skill-Hint(Skill-id(201552), 3),], - [Skill-Hint(Skill-id(201552), 4),], - [Skill-Hint(Skill-id(201552), 5),], - ] - 2015503 -> [ - [Skill-Hint(Skill-id(201552), 1),], - [Skill-Hint(Skill-id(201552), 2),], - [Skill-Hint(Skill-id(201552), 3),], - [Skill-Hint(Skill-id(201552), 4),], - [Skill-Hint(Skill-id(201552), 5),], - ] - 2015601 -> [ - [Skill-Hint(Skill-id(201562), 1),], - [Skill-Hint(Skill-id(201562), 2),], - [Skill-Hint(Skill-id(201562), 3),], - [Skill-Hint(Skill-id(201562), 4),], - [Skill-Hint(Skill-id(201562), 5),], - ] - 2015602 -> [ - [Skill-Hint(Skill-id(201562), 1),], - [Skill-Hint(Skill-id(201562), 2),], - [Skill-Hint(Skill-id(201562), 3),], - [Skill-Hint(Skill-id(201562), 4),], - [Skill-Hint(Skill-id(201562), 5),], - ] - 2015603 -> [ - [Skill-Hint(Skill-id(201562), 1),], - [Skill-Hint(Skill-id(201562), 2),], - [Skill-Hint(Skill-id(201562), 3),], - [Skill-Hint(Skill-id(201562), 4),], - [Skill-Hint(Skill-id(201562), 5),], - ] - 2015701 -> [ - [Skill-Hint(Skill-id(201571), 1),], - [Skill-Hint(Skill-id(201571), 2),], - [Skill-Hint(Skill-id(201571), 3),], - [Skill-Hint(Skill-id(201571), 4),], - [Skill-Hint(Skill-id(201571), 5),], - ] - 2015702 -> [ - [Skill-Hint(Skill-id(201571), 1),], - [Skill-Hint(Skill-id(201571), 2),], - [Skill-Hint(Skill-id(201571), 3),], - [Skill-Hint(Skill-id(201571), 4),], - [Skill-Hint(Skill-id(201571), 5),], - ] - 2015703 -> [ - [Skill-Hint(Skill-id(201571), 1),], - [Skill-Hint(Skill-id(201571), 2),], - [Skill-Hint(Skill-id(201571), 3),], - [Skill-Hint(Skill-id(201571), 4),], - [Skill-Hint(Skill-id(201571), 5),], - ] - 2015801 -> [ - [Skill-Hint(Skill-id(201581), 1),], - [Skill-Hint(Skill-id(201581), 2),], - [Skill-Hint(Skill-id(201581), 3),], - [Skill-Hint(Skill-id(201581), 4),], - [Skill-Hint(Skill-id(201581), 5),], - ] - 2015802 -> [ - [Skill-Hint(Skill-id(201581), 1),], - [Skill-Hint(Skill-id(201581), 2),], - [Skill-Hint(Skill-id(201581), 3),], - [Skill-Hint(Skill-id(201581), 4),], - [Skill-Hint(Skill-id(201581), 5),], - ] - 2015803 -> [ - [Skill-Hint(Skill-id(201581), 1),], - [Skill-Hint(Skill-id(201581), 2),], - [Skill-Hint(Skill-id(201581), 3),], - [Skill-Hint(Skill-id(201581), 4),], - [Skill-Hint(Skill-id(201581), 5),], - ] - 2015901 -> [ - [Skill-Hint(Skill-id(201591), 1),], - [Skill-Hint(Skill-id(201591), 2),], - [Skill-Hint(Skill-id(201591), 3),], - [Skill-Hint(Skill-id(201591), 4),], - [Skill-Hint(Skill-id(201591), 5),], - ] - 2015902 -> [ - [Skill-Hint(Skill-id(201591), 1),], - [Skill-Hint(Skill-id(201591), 2),], - [Skill-Hint(Skill-id(201591), 3),], - [Skill-Hint(Skill-id(201591), 4),], - [Skill-Hint(Skill-id(201591), 5),], - ] - 2015903 -> [ - [Skill-Hint(Skill-id(201591), 1),], - [Skill-Hint(Skill-id(201591), 2),], - [Skill-Hint(Skill-id(201591), 3),], - [Skill-Hint(Skill-id(201591), 4),], - [Skill-Hint(Skill-id(201591), 5),], - ] - 2016001 -> [ - [Skill-Hint(Skill-id(201601), 1),], - [Skill-Hint(Skill-id(201601), 2),], - [Skill-Hint(Skill-id(201601), 3),], - [Skill-Hint(Skill-id(201601), 4),], - [Skill-Hint(Skill-id(201601), 5),], - ] - 2016002 -> [ - [Skill-Hint(Skill-id(201601), 1),], - [Skill-Hint(Skill-id(201601), 2),], - [Skill-Hint(Skill-id(201601), 3),], - [Skill-Hint(Skill-id(201601), 4),], - [Skill-Hint(Skill-id(201601), 5),], - ] - 2016003 -> [ - [Skill-Hint(Skill-id(201601), 1),], - [Skill-Hint(Skill-id(201601), 2),], - [Skill-Hint(Skill-id(201601), 3),], - [Skill-Hint(Skill-id(201601), 4),], - [Skill-Hint(Skill-id(201601), 5),], - ] - 2016101 -> [ - [Skill-Hint(Skill-id(201611), 1),], - [Skill-Hint(Skill-id(201611), 2),], - [Skill-Hint(Skill-id(201611), 3),], - [Skill-Hint(Skill-id(201611), 4),], - [Skill-Hint(Skill-id(201611), 5),], - ] - 2016102 -> [ - [Skill-Hint(Skill-id(201611), 1),], - [Skill-Hint(Skill-id(201611), 2),], - [Skill-Hint(Skill-id(201611), 3),], - [Skill-Hint(Skill-id(201611), 4),], - [Skill-Hint(Skill-id(201611), 5),], - ] - 2016103 -> [ - [Skill-Hint(Skill-id(201611), 1),], - [Skill-Hint(Skill-id(201611), 2),], - [Skill-Hint(Skill-id(201611), 3),], - [Skill-Hint(Skill-id(201611), 4),], - [Skill-Hint(Skill-id(201611), 5),], - ] - 2016201 -> [ - [Skill-Hint(Skill-id(201621), 1),], - [Skill-Hint(Skill-id(201621), 2),], - [Skill-Hint(Skill-id(201621), 3),], - [Skill-Hint(Skill-id(201621), 4),], - [Skill-Hint(Skill-id(201621), 5),], - ] - 2016202 -> [ - [Skill-Hint(Skill-id(201621), 1),], - [Skill-Hint(Skill-id(201621), 2),], - [Skill-Hint(Skill-id(201621), 3),], - [Skill-Hint(Skill-id(201621), 4),], - [Skill-Hint(Skill-id(201621), 5),], - ] - 2016203 -> [ - [Skill-Hint(Skill-id(201621), 1),], - [Skill-Hint(Skill-id(201621), 2),], - [Skill-Hint(Skill-id(201621), 3),], - [Skill-Hint(Skill-id(201621), 4),], - [Skill-Hint(Skill-id(201621), 5),], - ] - 2016301 -> [ - [Skill-Hint(Skill-id(201631), 1),], - [Skill-Hint(Skill-id(201631), 2),], - [Skill-Hint(Skill-id(201631), 3),], - [Skill-Hint(Skill-id(201631), 4),], - [Skill-Hint(Skill-id(201631), 5),], - ] - 2016302 -> [ - [Skill-Hint(Skill-id(201631), 1),], - [Skill-Hint(Skill-id(201631), 2),], - [Skill-Hint(Skill-id(201631), 3),], - [Skill-Hint(Skill-id(201631), 4),], - [Skill-Hint(Skill-id(201631), 5),], - ] - 2016303 -> [ - [Skill-Hint(Skill-id(201631), 1),], - [Skill-Hint(Skill-id(201631), 2),], - [Skill-Hint(Skill-id(201631), 3),], - [Skill-Hint(Skill-id(201631), 4),], - [Skill-Hint(Skill-id(201631), 5),], - ] - 2016401 -> [ - [Skill-Hint(Skill-id(201641), 1),], - [Skill-Hint(Skill-id(201641), 2),], - [Skill-Hint(Skill-id(201641), 3),], - [Skill-Hint(Skill-id(201641), 4),], - [Skill-Hint(Skill-id(201641), 5),], - ] - 2016402 -> [ - [Skill-Hint(Skill-id(201641), 1),], - [Skill-Hint(Skill-id(201641), 2),], - [Skill-Hint(Skill-id(201641), 3),], - [Skill-Hint(Skill-id(201641), 4),], - [Skill-Hint(Skill-id(201641), 5),], - ] - 2016403 -> [ - [Skill-Hint(Skill-id(201641), 1),], - [Skill-Hint(Skill-id(201641), 2),], - [Skill-Hint(Skill-id(201641), 3),], - [Skill-Hint(Skill-id(201641), 4),], - [Skill-Hint(Skill-id(201641), 5),], - ] - 2016501 -> [ - [Skill-Hint(Skill-id(201651), 1),], - [Skill-Hint(Skill-id(201651), 2),], - [Skill-Hint(Skill-id(201651), 3),], - [Skill-Hint(Skill-id(201651), 4),], - [Skill-Hint(Skill-id(201651), 5),], - ] - 2016502 -> [ - [Skill-Hint(Skill-id(201651), 1),], - [Skill-Hint(Skill-id(201651), 2),], - [Skill-Hint(Skill-id(201651), 3),], - [Skill-Hint(Skill-id(201651), 4),], - [Skill-Hint(Skill-id(201651), 5),], - ] - 2016503 -> [ - [Skill-Hint(Skill-id(201651), 1),], - [Skill-Hint(Skill-id(201651), 2),], - [Skill-Hint(Skill-id(201651), 3),], - [Skill-Hint(Skill-id(201651), 4),], - [Skill-Hint(Skill-id(201651), 5),], - ] - 2016601 -> [ - [Skill-Hint(Skill-id(201661), 1),], - [Skill-Hint(Skill-id(201661), 2),], - [Skill-Hint(Skill-id(201661), 3),], - [Skill-Hint(Skill-id(201661), 4),], - [Skill-Hint(Skill-id(201661), 5),], - ] - 2016602 -> [ - [Skill-Hint(Skill-id(201661), 1),], - [Skill-Hint(Skill-id(201661), 2),], - [Skill-Hint(Skill-id(201661), 3),], - [Skill-Hint(Skill-id(201661), 4),], - [Skill-Hint(Skill-id(201661), 5),], - ] - 2016603 -> [ - [Skill-Hint(Skill-id(201661), 1),], - [Skill-Hint(Skill-id(201661), 2),], - [Skill-Hint(Skill-id(201661), 3),], - [Skill-Hint(Skill-id(201661), 4),], - [Skill-Hint(Skill-id(201661), 5),], - ] - 2016701 -> [ - [Skill-Hint(Skill-id(201672), 1),], - [Skill-Hint(Skill-id(201672), 2),], - [Skill-Hint(Skill-id(201672), 3),], - [Skill-Hint(Skill-id(201672), 4),], - [Skill-Hint(Skill-id(201672), 5),], - ] - 2016702 -> [ - [Skill-Hint(Skill-id(201672), 1),], - [Skill-Hint(Skill-id(201672), 2),], - [Skill-Hint(Skill-id(201672), 3),], - [Skill-Hint(Skill-id(201672), 4),], - [Skill-Hint(Skill-id(201672), 5),], - ] - 2016703 -> [ - [Skill-Hint(Skill-id(201672), 1),], - [Skill-Hint(Skill-id(201672), 2),], - [Skill-Hint(Skill-id(201672), 3),], - [Skill-Hint(Skill-id(201672), 4),], - [Skill-Hint(Skill-id(201672), 5),], - ] - 2016801 -> [ - [Skill-Hint(Skill-id(201682), 1),], - [Skill-Hint(Skill-id(201682), 2),], - [Skill-Hint(Skill-id(201682), 3),], - [Skill-Hint(Skill-id(201682), 4),], - [Skill-Hint(Skill-id(201682), 5),], - ] - 2016802 -> [ - [Skill-Hint(Skill-id(201682), 1),], - [Skill-Hint(Skill-id(201682), 2),], - [Skill-Hint(Skill-id(201682), 3),], - [Skill-Hint(Skill-id(201682), 4),], - [Skill-Hint(Skill-id(201682), 5),], - ] - 2016803 -> [ - [Skill-Hint(Skill-id(201682), 1),], - [Skill-Hint(Skill-id(201682), 2),], - [Skill-Hint(Skill-id(201682), 3),], - [Skill-Hint(Skill-id(201682), 4),], - [Skill-Hint(Skill-id(201682), 5),], - ] - 2016901 -> [ - [Skill-Hint(Skill-id(201692), 1),], - [Skill-Hint(Skill-id(201692), 2),], - [Skill-Hint(Skill-id(201692), 3),], - [Skill-Hint(Skill-id(201692), 4),], - [Skill-Hint(Skill-id(201692), 5),], - ] - 2016902 -> [ - [Skill-Hint(Skill-id(201692), 1),], - [Skill-Hint(Skill-id(201692), 2),], - [Skill-Hint(Skill-id(201692), 3),], - [Skill-Hint(Skill-id(201692), 4),], - [Skill-Hint(Skill-id(201692), 5),], - ] - 2016903 -> [ - [Skill-Hint(Skill-id(201692), 1),], - [Skill-Hint(Skill-id(201692), 2),], - [Skill-Hint(Skill-id(201692), 3),], - [Skill-Hint(Skill-id(201692), 4),], - [Skill-Hint(Skill-id(201692), 5),], - ] - 2017001 -> [ - [Skill-Hint(Skill-id(201702), 1),], - [Skill-Hint(Skill-id(201702), 2),], - [Skill-Hint(Skill-id(201702), 3),], - [Skill-Hint(Skill-id(201702), 4),], - [Skill-Hint(Skill-id(201702), 5),], - ] - 2017002 -> [ - [Skill-Hint(Skill-id(201702), 1),], - [Skill-Hint(Skill-id(201702), 2),], - [Skill-Hint(Skill-id(201702), 3),], - [Skill-Hint(Skill-id(201702), 4),], - [Skill-Hint(Skill-id(201702), 5),], - ] - 2017003 -> [ - [Skill-Hint(Skill-id(201702), 1),], - [Skill-Hint(Skill-id(201702), 2),], - [Skill-Hint(Skill-id(201702), 3),], - [Skill-Hint(Skill-id(201702), 4),], - [Skill-Hint(Skill-id(201702), 5),], - ] - 2019001 -> [ - [Skill-Hint(Skill-id(201902), 1),], - [Skill-Hint(Skill-id(201902), 2),], - [Skill-Hint(Skill-id(201902), 3),], - [Skill-Hint(Skill-id(201902), 4),], - [Skill-Hint(Skill-id(201902), 5),], - ] - 2019002 -> [ - [Skill-Hint(Skill-id(201902), 1),], - [Skill-Hint(Skill-id(201902), 2),], - [Skill-Hint(Skill-id(201902), 3),], - [Skill-Hint(Skill-id(201902), 4),], - [Skill-Hint(Skill-id(201902), 5),], - ] - 2019003 -> [ - [Skill-Hint(Skill-id(201902), 1),], - [Skill-Hint(Skill-id(201902), 2),], - [Skill-Hint(Skill-id(201902), 3),], - [Skill-Hint(Skill-id(201902), 4),], - [Skill-Hint(Skill-id(201902), 5),], - ] - 2020001 -> [ - [Skill-Hint(Skill-id(202002), 1),], - [Skill-Hint(Skill-id(202002), 2),], - [Skill-Hint(Skill-id(202002), 3),], - [Skill-Hint(Skill-id(202002), 4),], - [Skill-Hint(Skill-id(202002), 5),], - ] - 2020002 -> [ - [Skill-Hint(Skill-id(202002), 1),], - [Skill-Hint(Skill-id(202002), 2),], - [Skill-Hint(Skill-id(202002), 3),], - [Skill-Hint(Skill-id(202002), 4),], - [Skill-Hint(Skill-id(202002), 5),], - ] - 2020003 -> [ - [Skill-Hint(Skill-id(202002), 1),], - [Skill-Hint(Skill-id(202002), 2),], - [Skill-Hint(Skill-id(202002), 3),], - [Skill-Hint(Skill-id(202002), 4),], - [Skill-Hint(Skill-id(202002), 5),], - ] - 2020101 -> [ - [Skill-Hint(Skill-id(202012), 1),], - [Skill-Hint(Skill-id(202012), 2),], - [Skill-Hint(Skill-id(202012), 3),], - [Skill-Hint(Skill-id(202012), 4),], - [Skill-Hint(Skill-id(202012), 5),], - ] - 2020102 -> [ - [Skill-Hint(Skill-id(202012), 1),], - [Skill-Hint(Skill-id(202012), 2),], - [Skill-Hint(Skill-id(202012), 3),], - [Skill-Hint(Skill-id(202012), 4),], - [Skill-Hint(Skill-id(202012), 5),], - ] - 2020103 -> [ - [Skill-Hint(Skill-id(202012), 1),], - [Skill-Hint(Skill-id(202012), 2),], - [Skill-Hint(Skill-id(202012), 3),], - [Skill-Hint(Skill-id(202012), 4),], - [Skill-Hint(Skill-id(202012), 5),], - ] - 2020201 -> [ - [Skill-Hint(Skill-id(202022), 1),], - [Skill-Hint(Skill-id(202022), 2),], - [Skill-Hint(Skill-id(202022), 3),], - [Skill-Hint(Skill-id(202022), 4),], - [Skill-Hint(Skill-id(202022), 5),], - ] - 2020202 -> [ - [Skill-Hint(Skill-id(202022), 1),], - [Skill-Hint(Skill-id(202022), 2),], - [Skill-Hint(Skill-id(202022), 3),], - [Skill-Hint(Skill-id(202022), 4),], - [Skill-Hint(Skill-id(202022), 5),], - ] - 2020203 -> [ - [Skill-Hint(Skill-id(202022), 1),], - [Skill-Hint(Skill-id(202022), 2),], - [Skill-Hint(Skill-id(202022), 3),], - [Skill-Hint(Skill-id(202022), 4),], - [Skill-Hint(Skill-id(202022), 5),], - ] - 2020301 -> [ - [Skill-Hint(Skill-id(202032), 1),], - [Skill-Hint(Skill-id(202032), 2),], - [Skill-Hint(Skill-id(202032), 3),], - [Skill-Hint(Skill-id(202032), 4),], - [Skill-Hint(Skill-id(202032), 5),], - ] - 2020302 -> [ - [Skill-Hint(Skill-id(202032), 1),], - [Skill-Hint(Skill-id(202032), 2),], - [Skill-Hint(Skill-id(202032), 3),], - [Skill-Hint(Skill-id(202032), 4),], - [Skill-Hint(Skill-id(202032), 5),], - ] - 2020303 -> [ - [Skill-Hint(Skill-id(202032), 1),], - [Skill-Hint(Skill-id(202032), 2),], - [Skill-Hint(Skill-id(202032), 3),], - [Skill-Hint(Skill-id(202032), 4),], - [Skill-Hint(Skill-id(202032), 5),], - ] - 2020401 -> [ - [Skill-Hint(Skill-id(202042), 1),], - [Skill-Hint(Skill-id(202042), 2),], - [Skill-Hint(Skill-id(202042), 3),], - [Skill-Hint(Skill-id(202042), 4),], - [Skill-Hint(Skill-id(202042), 5),], - ] - 2020402 -> [ - [Skill-Hint(Skill-id(202042), 1),], - [Skill-Hint(Skill-id(202042), 2),], - [Skill-Hint(Skill-id(202042), 3),], - [Skill-Hint(Skill-id(202042), 4),], - [Skill-Hint(Skill-id(202042), 5),], - ] - 2020403 -> [ - [Skill-Hint(Skill-id(202042), 1),], - [Skill-Hint(Skill-id(202042), 2),], - [Skill-Hint(Skill-id(202042), 3),], - [Skill-Hint(Skill-id(202042), 4),], - [Skill-Hint(Skill-id(202042), 5),], - ] - 2100101 -> [ - [Skill-Hint(Skill-id(210012), 1),], - [Skill-Hint(Skill-id(210012), 2),], - [Skill-Hint(Skill-id(210012), 3),], - [Skill-Hint(Skill-id(210012), 4),], - [Skill-Hint(Skill-id(210012), 5),], - ] - 2100102 -> [ - [Skill-Hint(Skill-id(210012), 1),], - [Skill-Hint(Skill-id(210012), 2),], - [Skill-Hint(Skill-id(210012), 3),], - [Skill-Hint(Skill-id(210012), 4),], - [Skill-Hint(Skill-id(210012), 5),], - ] - 2100103 -> [ - [Skill-Hint(Skill-id(210012), 1),], - [Skill-Hint(Skill-id(210012), 2),], - [Skill-Hint(Skill-id(210012), 3),], - [Skill-Hint(Skill-id(210012), 4),], - [Skill-Hint(Skill-id(210012), 5),], - ] - 2100201 -> [ - [Skill-Hint(Skill-id(210022), 1),], - [Skill-Hint(Skill-id(210022), 2),], - [Skill-Hint(Skill-id(210022), 3),], - [Skill-Hint(Skill-id(210022), 4),], - [Skill-Hint(Skill-id(210022), 5),], - ] - 2100202 -> [ - [Skill-Hint(Skill-id(210022), 1),], - [Skill-Hint(Skill-id(210022), 2),], - [Skill-Hint(Skill-id(210022), 3),], - [Skill-Hint(Skill-id(210022), 4),], - [Skill-Hint(Skill-id(210022), 5),], - ] - 2100203 -> [ - [Skill-Hint(Skill-id(210022), 1),], - [Skill-Hint(Skill-id(210022), 2),], - [Skill-Hint(Skill-id(210022), 3),], - [Skill-Hint(Skill-id(210022), 4),], - [Skill-Hint(Skill-id(210022), 5),], - ] - 2100301 -> [ - [Skill-Hint(Skill-id(210032), 1),], - [Skill-Hint(Skill-id(210032), 2),], - [Skill-Hint(Skill-id(210032), 3),], - [Skill-Hint(Skill-id(210032), 4),], - [Skill-Hint(Skill-id(210032), 5),], - ] - 2100302 -> [ - [Skill-Hint(Skill-id(210032), 1),], - [Skill-Hint(Skill-id(210032), 2),], - [Skill-Hint(Skill-id(210032), 3),], - [Skill-Hint(Skill-id(210032), 4),], - [Skill-Hint(Skill-id(210032), 5),], - ] - 2100303 -> [ - [Skill-Hint(Skill-id(210032), 1),], - [Skill-Hint(Skill-id(210032), 2),], - [Skill-Hint(Skill-id(210032), 3),], - [Skill-Hint(Skill-id(210032), 4),], - [Skill-Hint(Skill-id(210032), 5),], - ] - 2100401 -> [ - [Skill-Hint(Skill-id(210042), 1),], - [Skill-Hint(Skill-id(210042), 2),], - [Skill-Hint(Skill-id(210042), 3),], - [Skill-Hint(Skill-id(210042), 4),], - [Skill-Hint(Skill-id(210042), 5),], - ] - 2100402 -> [ - [Skill-Hint(Skill-id(210042), 1),], - [Skill-Hint(Skill-id(210042), 2),], - [Skill-Hint(Skill-id(210042), 3),], - [Skill-Hint(Skill-id(210042), 4),], - [Skill-Hint(Skill-id(210042), 5),], - ] - 2100403 -> [ - [Skill-Hint(Skill-id(210042), 1),], - [Skill-Hint(Skill-id(210042), 2),], - [Skill-Hint(Skill-id(210042), 3),], - [Skill-Hint(Skill-id(210042), 4),], - [Skill-Hint(Skill-id(210042), 5),], - ] - 2100501 -> [ - [Skill-Hint(Skill-id(210052), 1),], - [Skill-Hint(Skill-id(210052), 2),], - [Skill-Hint(Skill-id(210052), 3),], - [Skill-Hint(Skill-id(210052), 4),], - [Skill-Hint(Skill-id(210052), 5),], - ] - 2100502 -> [ - [Skill-Hint(Skill-id(210052), 1),], - [Skill-Hint(Skill-id(210052), 2),], - [Skill-Hint(Skill-id(210052), 3),], - [Skill-Hint(Skill-id(210052), 4),], - [Skill-Hint(Skill-id(210052), 5),], - ] - 2100503 -> [ - [Skill-Hint(Skill-id(210052), 1),], - [Skill-Hint(Skill-id(210052), 2),], - [Skill-Hint(Skill-id(210052), 3),], - [Skill-Hint(Skill-id(210052), 4),], - [Skill-Hint(Skill-id(210052), 5),], - ] - 3000101 -> [ - [Stat-Up(Speed, 10),Stat-Up(Stamina, 10),], - [Stat-Up(Speed, 20),Stat-Up(Stamina, 20),], - [Stat-Up(Speed, 30),Stat-Up(Stamina, 30),], - ] - 3000102 -> [ - [Stat-Up(Speed, 10),Stat-Up(Stamina, 10),], - [Stat-Up(Speed, 20),Stat-Up(Stamina, 20),], - [Stat-Up(Speed, 30),Stat-Up(Stamina, 30),], - ] - 3000103 -> [ - [Stat-Up(Speed, 10),Stat-Up(Stamina, 10),], - [Stat-Up(Speed, 20),Stat-Up(Stamina, 20),], - [Stat-Up(Speed, 30),Stat-Up(Stamina, 30),], - ] - 3000201 -> [ - [Stat-Up(Power, 10),Stat-Up(Wit, 10),], - [Stat-Up(Power, 20),Stat-Up(Wit, 20),], - [Stat-Up(Power, 30),Stat-Up(Wit, 30),], - ] - 3000202 -> [ - [Stat-Up(Power, 10),Stat-Up(Wit, 10),], - [Stat-Up(Power, 20),Stat-Up(Wit, 20),], - [Stat-Up(Power, 30),Stat-Up(Wit, 30),], - ] - 3000203 -> [ - [Stat-Up(Power, 10),Stat-Up(Wit, 10),], - [Stat-Up(Power, 20),Stat-Up(Wit, 20),], - [Stat-Up(Power, 30),Stat-Up(Wit, 30),], - ] - 10010101 -> [ - [Skill-Hint(Skill-id(900011), 1),], - [Skill-Hint(Skill-id(900011), 2),], - [Skill-Hint(Skill-id(900011), 3),], - ] - 10010102 -> [ - [Skill-Hint(Skill-id(900011), 1),], - [Skill-Hint(Skill-id(900011), 2),], - [Skill-Hint(Skill-id(900011), 3),], - ] - 10010103 -> [ - [Skill-Hint(Skill-id(900011), 1),], - [Skill-Hint(Skill-id(900011), 2),], - [Skill-Hint(Skill-id(900011), 3),], - ] - 10010201 -> [ - [Skill-Hint(Skill-id(910011), 1),], - [Skill-Hint(Skill-id(910011), 2),], - [Skill-Hint(Skill-id(910011), 3),], - ] - 10010202 -> [ - [Skill-Hint(Skill-id(910011), 1),], - [Skill-Hint(Skill-id(910011), 2),], - [Skill-Hint(Skill-id(910011), 3),], - ] - 10010203 -> [ - [Skill-Hint(Skill-id(910011), 1),], - [Skill-Hint(Skill-id(910011), 2),], - [Skill-Hint(Skill-id(910011), 3),], - ] - 10020101 -> [ - [Skill-Hint(Skill-id(900021), 1),], - [Skill-Hint(Skill-id(900021), 2),], - [Skill-Hint(Skill-id(900021), 3),], - ] - 10020102 -> [ - [Skill-Hint(Skill-id(900021), 1),], - [Skill-Hint(Skill-id(900021), 2),], - [Skill-Hint(Skill-id(900021), 3),], - ] - 10020103 -> [ - [Skill-Hint(Skill-id(900021), 1),], - [Skill-Hint(Skill-id(900021), 2),], - [Skill-Hint(Skill-id(900021), 3),], - ] - 10030101 -> [ - [Skill-Hint(Skill-id(900031), 1),], - [Skill-Hint(Skill-id(900031), 2),], - [Skill-Hint(Skill-id(900031), 3),], - ] - 10030102 -> [ - [Skill-Hint(Skill-id(900031), 1),], - [Skill-Hint(Skill-id(900031), 2),], - [Skill-Hint(Skill-id(900031), 3),], - ] - 10030103 -> [ - [Skill-Hint(Skill-id(900031), 1),], - [Skill-Hint(Skill-id(900031), 2),], - [Skill-Hint(Skill-id(900031), 3),], - ] - 10030201 -> [ - [Skill-Hint(Skill-id(910031), 1),], - [Skill-Hint(Skill-id(910031), 2),], - [Skill-Hint(Skill-id(910031), 3),], - ] - 10030202 -> [ - [Skill-Hint(Skill-id(910031), 1),], - [Skill-Hint(Skill-id(910031), 2),], - [Skill-Hint(Skill-id(910031), 3),], - ] - 10030203 -> [ - [Skill-Hint(Skill-id(910031), 1),], - [Skill-Hint(Skill-id(910031), 2),], - [Skill-Hint(Skill-id(910031), 3),], - ] - 10040101 -> [ - [Skill-Hint(Skill-id(900041), 1),], - [Skill-Hint(Skill-id(900041), 2),], - [Skill-Hint(Skill-id(900041), 3),], - ] - 10040102 -> [ - [Skill-Hint(Skill-id(900041), 1),], - [Skill-Hint(Skill-id(900041), 2),], - [Skill-Hint(Skill-id(900041), 3),], - ] - 10040103 -> [ - [Skill-Hint(Skill-id(900041), 1),], - [Skill-Hint(Skill-id(900041), 2),], - [Skill-Hint(Skill-id(900041), 3),], - ] - 10040201 -> [ - [Skill-Hint(Skill-id(910041), 1),], - [Skill-Hint(Skill-id(910041), 2),], - [Skill-Hint(Skill-id(910041), 3),], - ] - 10040202 -> [ - [Skill-Hint(Skill-id(910041), 1),], - [Skill-Hint(Skill-id(910041), 2),], - [Skill-Hint(Skill-id(910041), 3),], - ] - 10040203 -> [ - [Skill-Hint(Skill-id(910041), 1),], - [Skill-Hint(Skill-id(910041), 2),], - [Skill-Hint(Skill-id(910041), 3),], - ] - 10050101 -> [ - [Skill-Hint(Skill-id(900051), 1),], - [Skill-Hint(Skill-id(900051), 2),], - [Skill-Hint(Skill-id(900051), 3),], - ] - 10050102 -> [ - [Skill-Hint(Skill-id(900051), 1),], - [Skill-Hint(Skill-id(900051), 2),], - [Skill-Hint(Skill-id(900051), 3),], - ] - 10050103 -> [ - [Skill-Hint(Skill-id(900051), 1),], - [Skill-Hint(Skill-id(900051), 2),], - [Skill-Hint(Skill-id(900051), 3),], - ] - 10060101 -> [ - [Skill-Hint(Skill-id(900061), 1),], - [Skill-Hint(Skill-id(900061), 2),], - [Skill-Hint(Skill-id(900061), 3),], - ] - 10060102 -> [ - [Skill-Hint(Skill-id(900061), 1),], - [Skill-Hint(Skill-id(900061), 2),], - [Skill-Hint(Skill-id(900061), 3),], - ] - 10060103 -> [ - [Skill-Hint(Skill-id(900061), 1),], - [Skill-Hint(Skill-id(900061), 2),], - [Skill-Hint(Skill-id(900061), 3),], - ] - 10060201 -> [ - [Skill-Hint(Skill-id(910061), 1),], - [Skill-Hint(Skill-id(910061), 2),], - [Skill-Hint(Skill-id(910061), 3),], - ] - 10060202 -> [ - [Skill-Hint(Skill-id(910061), 1),], - [Skill-Hint(Skill-id(910061), 2),], - [Skill-Hint(Skill-id(910061), 3),], - ] - 10060203 -> [ - [Skill-Hint(Skill-id(910061), 1),], - [Skill-Hint(Skill-id(910061), 2),], - [Skill-Hint(Skill-id(910061), 3),], - ] - 10070101 -> [ - [Skill-Hint(Skill-id(900071), 1),], - [Skill-Hint(Skill-id(900071), 2),], - [Skill-Hint(Skill-id(900071), 3),], - ] - 10070102 -> [ - [Skill-Hint(Skill-id(900071), 1),], - [Skill-Hint(Skill-id(900071), 2),], - [Skill-Hint(Skill-id(900071), 3),], - ] - 10070103 -> [ - [Skill-Hint(Skill-id(900071), 1),], - [Skill-Hint(Skill-id(900071), 2),], - [Skill-Hint(Skill-id(900071), 3),], - ] - 10080101 -> [ - [Skill-Hint(Skill-id(900081), 1),], - [Skill-Hint(Skill-id(900081), 2),], - [Skill-Hint(Skill-id(900081), 3),], - ] - 10080102 -> [ - [Skill-Hint(Skill-id(900081), 1),], - [Skill-Hint(Skill-id(900081), 2),], - [Skill-Hint(Skill-id(900081), 3),], - ] - 10080103 -> [ - [Skill-Hint(Skill-id(900081), 1),], - [Skill-Hint(Skill-id(900081), 2),], - [Skill-Hint(Skill-id(900081), 3),], - ] - 10090101 -> [ - [Skill-Hint(Skill-id(900091), 1),], - [Skill-Hint(Skill-id(900091), 2),], - [Skill-Hint(Skill-id(900091), 3),], - ] - 10090102 -> [ - [Skill-Hint(Skill-id(900091), 1),], - [Skill-Hint(Skill-id(900091), 2),], - [Skill-Hint(Skill-id(900091), 3),], - ] - 10090103 -> [ - [Skill-Hint(Skill-id(900091), 1),], - [Skill-Hint(Skill-id(900091), 2),], - [Skill-Hint(Skill-id(900091), 3),], - ] - 10100101 -> [ - [Skill-Hint(Skill-id(900101), 1),], - [Skill-Hint(Skill-id(900101), 2),], - [Skill-Hint(Skill-id(900101), 3),], - ] - 10100102 -> [ - [Skill-Hint(Skill-id(900101), 1),], - [Skill-Hint(Skill-id(900101), 2),], - [Skill-Hint(Skill-id(900101), 3),], - ] - 10100103 -> [ - [Skill-Hint(Skill-id(900101), 1),], - [Skill-Hint(Skill-id(900101), 2),], - [Skill-Hint(Skill-id(900101), 3),], - ] - 10110101 -> [ - [Skill-Hint(Skill-id(900111), 1),], - [Skill-Hint(Skill-id(900111), 2),], - [Skill-Hint(Skill-id(900111), 3),], - ] - 10110102 -> [ - [Skill-Hint(Skill-id(900111), 1),], - [Skill-Hint(Skill-id(900111), 2),], - [Skill-Hint(Skill-id(900111), 3),], - ] - 10110103 -> [ - [Skill-Hint(Skill-id(900111), 1),], - [Skill-Hint(Skill-id(900111), 2),], - [Skill-Hint(Skill-id(900111), 3),], - ] - 10110201 -> [ - [Skill-Hint(Skill-id(910111), 1),], - [Skill-Hint(Skill-id(910111), 2),], - [Skill-Hint(Skill-id(910111), 3),], - ] - 10110202 -> [ - [Skill-Hint(Skill-id(910111), 1),], - [Skill-Hint(Skill-id(910111), 2),], - [Skill-Hint(Skill-id(910111), 3),], - ] - 10110203 -> [ - [Skill-Hint(Skill-id(910111), 1),], - [Skill-Hint(Skill-id(910111), 2),], - [Skill-Hint(Skill-id(910111), 3),], - ] - 10120101 -> [ - [Skill-Hint(Skill-id(900121), 1),], - [Skill-Hint(Skill-id(900121), 2),], - [Skill-Hint(Skill-id(900121), 3),], - ] - 10120102 -> [ - [Skill-Hint(Skill-id(900121), 1),], - [Skill-Hint(Skill-id(900121), 2),], - [Skill-Hint(Skill-id(900121), 3),], - ] - 10120103 -> [ - [Skill-Hint(Skill-id(900121), 1),], - [Skill-Hint(Skill-id(900121), 2),], - [Skill-Hint(Skill-id(900121), 3),], - ] - 10130101 -> [ - [Skill-Hint(Skill-id(900131), 1),], - [Skill-Hint(Skill-id(900131), 2),], - [Skill-Hint(Skill-id(900131), 3),], - ] - 10130102 -> [ - [Skill-Hint(Skill-id(900131), 1),], - [Skill-Hint(Skill-id(900131), 2),], - [Skill-Hint(Skill-id(900131), 3),], - ] - 10130103 -> [ - [Skill-Hint(Skill-id(900131), 1),], - [Skill-Hint(Skill-id(900131), 2),], - [Skill-Hint(Skill-id(900131), 3),], - ] - 10130201 -> [ - [Skill-Hint(Skill-id(910131), 1),], - [Skill-Hint(Skill-id(910131), 2),], - [Skill-Hint(Skill-id(910131), 3),], - ] - 10130202 -> [ - [Skill-Hint(Skill-id(910131), 1),], - [Skill-Hint(Skill-id(910131), 2),], - [Skill-Hint(Skill-id(910131), 3),], - ] - 10130203 -> [ - [Skill-Hint(Skill-id(910131), 1),], - [Skill-Hint(Skill-id(910131), 2),], - [Skill-Hint(Skill-id(910131), 3),], - ] - 10140101 -> [ - [Skill-Hint(Skill-id(900141), 1),], - [Skill-Hint(Skill-id(900141), 2),], - [Skill-Hint(Skill-id(900141), 3),], - ] - 10140102 -> [ - [Skill-Hint(Skill-id(900141), 1),], - [Skill-Hint(Skill-id(900141), 2),], - [Skill-Hint(Skill-id(900141), 3),], - ] - 10140103 -> [ - [Skill-Hint(Skill-id(900141), 1),], - [Skill-Hint(Skill-id(900141), 2),], - [Skill-Hint(Skill-id(900141), 3),], - ] - 10140201 -> [ - [Skill-Hint(Skill-id(910141), 1),], - [Skill-Hint(Skill-id(910141), 2),], - [Skill-Hint(Skill-id(910141), 3),], - ] - 10140202 -> [ - [Skill-Hint(Skill-id(910141), 1),], - [Skill-Hint(Skill-id(910141), 2),], - [Skill-Hint(Skill-id(910141), 3),], - ] - 10140203 -> [ - [Skill-Hint(Skill-id(910141), 1),], - [Skill-Hint(Skill-id(910141), 2),], - [Skill-Hint(Skill-id(910141), 3),], - ] - 10150101 -> [ - [Skill-Hint(Skill-id(900151), 1),], - [Skill-Hint(Skill-id(900151), 2),], - [Skill-Hint(Skill-id(900151), 3),], - ] - 10150102 -> [ - [Skill-Hint(Skill-id(900151), 1),], - [Skill-Hint(Skill-id(900151), 2),], - [Skill-Hint(Skill-id(900151), 3),], - ] - 10150103 -> [ - [Skill-Hint(Skill-id(900151), 1),], - [Skill-Hint(Skill-id(900151), 2),], - [Skill-Hint(Skill-id(900151), 3),], - ] - 10150201 -> [ - [Skill-Hint(Skill-id(910151), 1),], - [Skill-Hint(Skill-id(910151), 2),], - [Skill-Hint(Skill-id(910151), 3),], - ] - 10150202 -> [ - [Skill-Hint(Skill-id(910151), 1),], - [Skill-Hint(Skill-id(910151), 2),], - [Skill-Hint(Skill-id(910151), 3),], - ] - 10150203 -> [ - [Skill-Hint(Skill-id(910151), 1),], - [Skill-Hint(Skill-id(910151), 2),], - [Skill-Hint(Skill-id(910151), 3),], - ] - 10160101 -> [ - [Skill-Hint(Skill-id(900161), 1),], - [Skill-Hint(Skill-id(900161), 2),], - [Skill-Hint(Skill-id(900161), 3),], - ] - 10160102 -> [ - [Skill-Hint(Skill-id(900161), 1),], - [Skill-Hint(Skill-id(900161), 2),], - [Skill-Hint(Skill-id(900161), 3),], - ] - 10160103 -> [ - [Skill-Hint(Skill-id(900161), 1),], - [Skill-Hint(Skill-id(900161), 2),], - [Skill-Hint(Skill-id(900161), 3),], - ] - 10170101 -> [ - [Skill-Hint(Skill-id(900171), 1),], - [Skill-Hint(Skill-id(900171), 2),], - [Skill-Hint(Skill-id(900171), 3),], - ] - 10170102 -> [ - [Skill-Hint(Skill-id(900171), 1),], - [Skill-Hint(Skill-id(900171), 2),], - [Skill-Hint(Skill-id(900171), 3),], - ] - 10170103 -> [ - [Skill-Hint(Skill-id(900171), 1),], - [Skill-Hint(Skill-id(900171), 2),], - [Skill-Hint(Skill-id(900171), 3),], - ] - 10170201 -> [ - [Skill-Hint(Skill-id(910171), 1),], - [Skill-Hint(Skill-id(910171), 2),], - [Skill-Hint(Skill-id(910171), 3),], - ] - 10170202 -> [ - [Skill-Hint(Skill-id(910171), 1),], - [Skill-Hint(Skill-id(910171), 2),], - [Skill-Hint(Skill-id(910171), 3),], - ] - 10170203 -> [ - [Skill-Hint(Skill-id(910171), 1),], - [Skill-Hint(Skill-id(910171), 2),], - [Skill-Hint(Skill-id(910171), 3),], - ] - 10180101 -> [ - [Skill-Hint(Skill-id(900181), 1),], - [Skill-Hint(Skill-id(900181), 2),], - [Skill-Hint(Skill-id(900181), 3),], - ] - 10180102 -> [ - [Skill-Hint(Skill-id(900181), 1),], - [Skill-Hint(Skill-id(900181), 2),], - [Skill-Hint(Skill-id(900181), 3),], - ] - 10180103 -> [ - [Skill-Hint(Skill-id(900181), 1),], - [Skill-Hint(Skill-id(900181), 2),], - [Skill-Hint(Skill-id(900181), 3),], - ] - 10180201 -> [ - [Skill-Hint(Skill-id(910181), 1),], - [Skill-Hint(Skill-id(910181), 2),], - [Skill-Hint(Skill-id(910181), 3),], - ] - 10180202 -> [ - [Skill-Hint(Skill-id(910181), 1),], - [Skill-Hint(Skill-id(910181), 2),], - [Skill-Hint(Skill-id(910181), 3),], - ] - 10180203 -> [ - [Skill-Hint(Skill-id(910181), 1),], - [Skill-Hint(Skill-id(910181), 2),], - [Skill-Hint(Skill-id(910181), 3),], - ] - 10190101 -> [ - [Skill-Hint(Skill-id(900191), 1),], - [Skill-Hint(Skill-id(900191), 2),], - [Skill-Hint(Skill-id(900191), 3),], - ] - 10190102 -> [ - [Skill-Hint(Skill-id(900191), 1),], - [Skill-Hint(Skill-id(900191), 2),], - [Skill-Hint(Skill-id(900191), 3),], - ] - 10190103 -> [ - [Skill-Hint(Skill-id(900191), 1),], - [Skill-Hint(Skill-id(900191), 2),], - [Skill-Hint(Skill-id(900191), 3),], - ] - 10200101 -> [ - [Skill-Hint(Skill-id(900201), 1),], - [Skill-Hint(Skill-id(900201), 2),], - [Skill-Hint(Skill-id(900201), 3),], - ] - 10200102 -> [ - [Skill-Hint(Skill-id(900201), 1),], - [Skill-Hint(Skill-id(900201), 2),], - [Skill-Hint(Skill-id(900201), 3),], - ] - 10200103 -> [ - [Skill-Hint(Skill-id(900201), 1),], - [Skill-Hint(Skill-id(900201), 2),], - [Skill-Hint(Skill-id(900201), 3),], - ] - 10210101 -> [ - [Skill-Hint(Skill-id(900211), 1),], - [Skill-Hint(Skill-id(900211), 2),], - [Skill-Hint(Skill-id(900211), 3),], - ] - 10210102 -> [ - [Skill-Hint(Skill-id(900211), 1),], - [Skill-Hint(Skill-id(900211), 2),], - [Skill-Hint(Skill-id(900211), 3),], - ] - 10210103 -> [ - [Skill-Hint(Skill-id(900211), 1),], - [Skill-Hint(Skill-id(900211), 2),], - [Skill-Hint(Skill-id(900211), 3),], - ] - 10220101 -> [ - [Skill-Hint(Skill-id(900221), 1),], - [Skill-Hint(Skill-id(900221), 2),], - [Skill-Hint(Skill-id(900221), 3),], - ] - 10220102 -> [ - [Skill-Hint(Skill-id(900221), 1),], - [Skill-Hint(Skill-id(900221), 2),], - [Skill-Hint(Skill-id(900221), 3),], - ] - 10220103 -> [ - [Skill-Hint(Skill-id(900221), 1),], - [Skill-Hint(Skill-id(900221), 2),], - [Skill-Hint(Skill-id(900221), 3),], - ] - 10230101 -> [ - [Skill-Hint(Skill-id(900231), 1),], - [Skill-Hint(Skill-id(900231), 2),], - [Skill-Hint(Skill-id(900231), 3),], - ] - 10230102 -> [ - [Skill-Hint(Skill-id(900231), 1),], - [Skill-Hint(Skill-id(900231), 2),], - [Skill-Hint(Skill-id(900231), 3),], - ] - 10230103 -> [ - [Skill-Hint(Skill-id(900231), 1),], - [Skill-Hint(Skill-id(900231), 2),], - [Skill-Hint(Skill-id(900231), 3),], - ] - 10230201 -> [ - [Skill-Hint(Skill-id(910231), 1),], - [Skill-Hint(Skill-id(910231), 2),], - [Skill-Hint(Skill-id(910231), 3),], - ] - 10230202 -> [ - [Skill-Hint(Skill-id(910231), 1),], - [Skill-Hint(Skill-id(910231), 2),], - [Skill-Hint(Skill-id(910231), 3),], - ] - 10230203 -> [ - [Skill-Hint(Skill-id(910231), 1),], - [Skill-Hint(Skill-id(910231), 2),], - [Skill-Hint(Skill-id(910231), 3),], - ] - 10240101 -> [ - [Skill-Hint(Skill-id(900241), 1),], - [Skill-Hint(Skill-id(900241), 2),], - [Skill-Hint(Skill-id(900241), 3),], - ] - 10240102 -> [ - [Skill-Hint(Skill-id(900241), 1),], - [Skill-Hint(Skill-id(900241), 2),], - [Skill-Hint(Skill-id(900241), 3),], - ] - 10240103 -> [ - [Skill-Hint(Skill-id(900241), 1),], - [Skill-Hint(Skill-id(900241), 2),], - [Skill-Hint(Skill-id(900241), 3),], - ] - 10240201 -> [ - [Skill-Hint(Skill-id(910241), 1),], - [Skill-Hint(Skill-id(910241), 2),], - [Skill-Hint(Skill-id(910241), 3),], - ] - 10240202 -> [ - [Skill-Hint(Skill-id(910241), 1),], - [Skill-Hint(Skill-id(910241), 2),], - [Skill-Hint(Skill-id(910241), 3),], - ] - 10240203 -> [ - [Skill-Hint(Skill-id(910241), 1),], - [Skill-Hint(Skill-id(910241), 2),], - [Skill-Hint(Skill-id(910241), 3),], - ] - 10250101 -> [ - [Skill-Hint(Skill-id(900251), 1),], - [Skill-Hint(Skill-id(900251), 2),], - [Skill-Hint(Skill-id(900251), 3),], - ] - 10250102 -> [ - [Skill-Hint(Skill-id(900251), 1),], - [Skill-Hint(Skill-id(900251), 2),], - [Skill-Hint(Skill-id(900251), 3),], - ] - 10250103 -> [ - [Skill-Hint(Skill-id(900251), 1),], - [Skill-Hint(Skill-id(900251), 2),], - [Skill-Hint(Skill-id(900251), 3),], - ] - 10260101 -> [ - [Skill-Hint(Skill-id(900261), 1),], - [Skill-Hint(Skill-id(900261), 2),], - [Skill-Hint(Skill-id(900261), 3),], - ] - 10260102 -> [ - [Skill-Hint(Skill-id(900261), 1),], - [Skill-Hint(Skill-id(900261), 2),], - [Skill-Hint(Skill-id(900261), 3),], - ] - 10260103 -> [ - [Skill-Hint(Skill-id(900261), 1),], - [Skill-Hint(Skill-id(900261), 2),], - [Skill-Hint(Skill-id(900261), 3),], - ] - 10260201 -> [ - [Skill-Hint(Skill-id(910261), 1),], - [Skill-Hint(Skill-id(910261), 2),], - [Skill-Hint(Skill-id(910261), 3),], - ] - 10260202 -> [ - [Skill-Hint(Skill-id(910261), 1),], - [Skill-Hint(Skill-id(910261), 2),], - [Skill-Hint(Skill-id(910261), 3),], - ] - 10260203 -> [ - [Skill-Hint(Skill-id(910261), 1),], - [Skill-Hint(Skill-id(910261), 2),], - [Skill-Hint(Skill-id(910261), 3),], - ] - 10270101 -> [ - [Skill-Hint(Skill-id(900271), 1),], - [Skill-Hint(Skill-id(900271), 2),], - [Skill-Hint(Skill-id(900271), 3),], - ] - 10270102 -> [ - [Skill-Hint(Skill-id(900271), 1),], - [Skill-Hint(Skill-id(900271), 2),], - [Skill-Hint(Skill-id(900271), 3),], - ] - 10270103 -> [ - [Skill-Hint(Skill-id(900271), 1),], - [Skill-Hint(Skill-id(900271), 2),], - [Skill-Hint(Skill-id(900271), 3),], - ] - 10280101 -> [ - [Skill-Hint(Skill-id(900281), 1),], - [Skill-Hint(Skill-id(900281), 2),], - [Skill-Hint(Skill-id(900281), 3),], - ] - 10280102 -> [ - [Skill-Hint(Skill-id(900281), 1),], - [Skill-Hint(Skill-id(900281), 2),], - [Skill-Hint(Skill-id(900281), 3),], - ] - 10280103 -> [ - [Skill-Hint(Skill-id(900281), 1),], - [Skill-Hint(Skill-id(900281), 2),], - [Skill-Hint(Skill-id(900281), 3),], - ] - 10300101 -> [ - [Skill-Hint(Skill-id(900301), 1),], - [Skill-Hint(Skill-id(900301), 2),], - [Skill-Hint(Skill-id(900301), 3),], - ] - 10300102 -> [ - [Skill-Hint(Skill-id(900301), 1),], - [Skill-Hint(Skill-id(900301), 2),], - [Skill-Hint(Skill-id(900301), 3),], - ] - 10300103 -> [ - [Skill-Hint(Skill-id(900301), 1),], - [Skill-Hint(Skill-id(900301), 2),], - [Skill-Hint(Skill-id(900301), 3),], - ] - 10300201 -> [ - [Skill-Hint(Skill-id(910301), 1),], - [Skill-Hint(Skill-id(910301), 2),], - [Skill-Hint(Skill-id(910301), 3),], - ] - 10300202 -> [ - [Skill-Hint(Skill-id(910301), 1),], - [Skill-Hint(Skill-id(910301), 2),], - [Skill-Hint(Skill-id(910301), 3),], - ] - 10300203 -> [ - [Skill-Hint(Skill-id(910301), 1),], - [Skill-Hint(Skill-id(910301), 2),], - [Skill-Hint(Skill-id(910301), 3),], - ] - 10320101 -> [ - [Skill-Hint(Skill-id(900321), 1),], - [Skill-Hint(Skill-id(900321), 2),], - [Skill-Hint(Skill-id(900321), 3),], - ] - 10320102 -> [ - [Skill-Hint(Skill-id(900321), 1),], - [Skill-Hint(Skill-id(900321), 2),], - [Skill-Hint(Skill-id(900321), 3),], - ] - 10320103 -> [ - [Skill-Hint(Skill-id(900321), 1),], - [Skill-Hint(Skill-id(900321), 2),], - [Skill-Hint(Skill-id(900321), 3),], - ] - 10330101 -> [ - [Skill-Hint(Skill-id(900331), 1),], - [Skill-Hint(Skill-id(900331), 2),], - [Skill-Hint(Skill-id(900331), 3),], - ] - 10330102 -> [ - [Skill-Hint(Skill-id(900331), 1),], - [Skill-Hint(Skill-id(900331), 2),], - [Skill-Hint(Skill-id(900331), 3),], - ] - 10330103 -> [ - [Skill-Hint(Skill-id(900331), 1),], - [Skill-Hint(Skill-id(900331), 2),], - [Skill-Hint(Skill-id(900331), 3),], - ] - 10350101 -> [ - [Skill-Hint(Skill-id(900351), 1),], - [Skill-Hint(Skill-id(900351), 2),], - [Skill-Hint(Skill-id(900351), 3),], - ] - 10350102 -> [ - [Skill-Hint(Skill-id(900351), 1),], - [Skill-Hint(Skill-id(900351), 2),], - [Skill-Hint(Skill-id(900351), 3),], - ] - 10350103 -> [ - [Skill-Hint(Skill-id(900351), 1),], - [Skill-Hint(Skill-id(900351), 2),], - [Skill-Hint(Skill-id(900351), 3),], - ] - 10370101 -> [ - [Skill-Hint(Skill-id(900371), 1),], - [Skill-Hint(Skill-id(900371), 2),], - [Skill-Hint(Skill-id(900371), 3),], - ] - 10370102 -> [ - [Skill-Hint(Skill-id(900371), 1),], - [Skill-Hint(Skill-id(900371), 2),], - [Skill-Hint(Skill-id(900371), 3),], - ] - 10370103 -> [ - [Skill-Hint(Skill-id(900371), 1),], - [Skill-Hint(Skill-id(900371), 2),], - [Skill-Hint(Skill-id(900371), 3),], - ] - 10370201 -> [ - [Skill-Hint(Skill-id(910371), 1),], - [Skill-Hint(Skill-id(910371), 2),], - [Skill-Hint(Skill-id(910371), 3),], - ] - 10370202 -> [ - [Skill-Hint(Skill-id(910371), 1),], - [Skill-Hint(Skill-id(910371), 2),], - [Skill-Hint(Skill-id(910371), 3),], - ] - 10370203 -> [ - [Skill-Hint(Skill-id(910371), 1),], - [Skill-Hint(Skill-id(910371), 2),], - [Skill-Hint(Skill-id(910371), 3),], - ] - 10380101 -> [ - [Skill-Hint(Skill-id(900381), 1),], - [Skill-Hint(Skill-id(900381), 2),], - [Skill-Hint(Skill-id(900381), 3),], - ] - 10380102 -> [ - [Skill-Hint(Skill-id(900381), 1),], - [Skill-Hint(Skill-id(900381), 2),], - [Skill-Hint(Skill-id(900381), 3),], - ] - 10380103 -> [ - [Skill-Hint(Skill-id(900381), 1),], - [Skill-Hint(Skill-id(900381), 2),], - [Skill-Hint(Skill-id(900381), 3),], - ] - 10390101 -> [ - [Skill-Hint(Skill-id(900391), 1),], - [Skill-Hint(Skill-id(900391), 2),], - [Skill-Hint(Skill-id(900391), 3),], - ] - 10390102 -> [ - [Skill-Hint(Skill-id(900391), 1),], - [Skill-Hint(Skill-id(900391), 2),], - [Skill-Hint(Skill-id(900391), 3),], - ] - 10390103 -> [ - [Skill-Hint(Skill-id(900391), 1),], - [Skill-Hint(Skill-id(900391), 2),], - [Skill-Hint(Skill-id(900391), 3),], - ] - 10400101 -> [ - [Skill-Hint(Skill-id(900401), 1),], - [Skill-Hint(Skill-id(900401), 2),], - [Skill-Hint(Skill-id(900401), 3),], - ] - 10400102 -> [ - [Skill-Hint(Skill-id(900401), 1),], - [Skill-Hint(Skill-id(900401), 2),], - [Skill-Hint(Skill-id(900401), 3),], - ] - 10400103 -> [ - [Skill-Hint(Skill-id(900401), 1),], - [Skill-Hint(Skill-id(900401), 2),], - [Skill-Hint(Skill-id(900401), 3),], - ] - 10400201 -> [ - [Skill-Hint(Skill-id(910401), 1),], - [Skill-Hint(Skill-id(910401), 2),], - [Skill-Hint(Skill-id(910401), 3),], - ] - 10400202 -> [ - [Skill-Hint(Skill-id(910401), 1),], - [Skill-Hint(Skill-id(910401), 2),], - [Skill-Hint(Skill-id(910401), 3),], - ] - 10400203 -> [ - [Skill-Hint(Skill-id(910401), 1),], - [Skill-Hint(Skill-id(910401), 2),], - [Skill-Hint(Skill-id(910401), 3),], - ] - 10410101 -> [ - [Skill-Hint(Skill-id(900411), 1),], - [Skill-Hint(Skill-id(900411), 2),], - [Skill-Hint(Skill-id(900411), 3),], - ] - 10410102 -> [ - [Skill-Hint(Skill-id(900411), 1),], - [Skill-Hint(Skill-id(900411), 2),], - [Skill-Hint(Skill-id(900411), 3),], - ] - 10410103 -> [ - [Skill-Hint(Skill-id(900411), 1),], - [Skill-Hint(Skill-id(900411), 2),], - [Skill-Hint(Skill-id(900411), 3),], - ] - 10450101 -> [ - [Skill-Hint(Skill-id(900451), 1),], - [Skill-Hint(Skill-id(900451), 2),], - [Skill-Hint(Skill-id(900451), 3),], - ] - 10450102 -> [ - [Skill-Hint(Skill-id(900451), 1),], - [Skill-Hint(Skill-id(900451), 2),], - [Skill-Hint(Skill-id(900451), 3),], - ] - 10450103 -> [ - [Skill-Hint(Skill-id(900451), 1),], - [Skill-Hint(Skill-id(900451), 2),], - [Skill-Hint(Skill-id(900451), 3),], - ] - 10450201 -> [ - [Skill-Hint(Skill-id(910451), 1),], - [Skill-Hint(Skill-id(910451), 2),], - [Skill-Hint(Skill-id(910451), 3),], - ] - 10450202 -> [ - [Skill-Hint(Skill-id(910451), 1),], - [Skill-Hint(Skill-id(910451), 2),], - [Skill-Hint(Skill-id(910451), 3),], - ] - 10450203 -> [ - [Skill-Hint(Skill-id(910451), 1),], - [Skill-Hint(Skill-id(910451), 2),], - [Skill-Hint(Skill-id(910451), 3),], - ] - 10460101 -> [ - [Skill-Hint(Skill-id(900461), 1),], - [Skill-Hint(Skill-id(900461), 2),], - [Skill-Hint(Skill-id(900461), 3),], - ] - 10460102 -> [ - [Skill-Hint(Skill-id(900461), 1),], - [Skill-Hint(Skill-id(900461), 2),], - [Skill-Hint(Skill-id(900461), 3),], - ] - 10460103 -> [ - [Skill-Hint(Skill-id(900461), 1),], - [Skill-Hint(Skill-id(900461), 2),], - [Skill-Hint(Skill-id(900461), 3),], - ] - 10480101 -> [ - [Skill-Hint(Skill-id(900481), 1),], - [Skill-Hint(Skill-id(900481), 2),], - [Skill-Hint(Skill-id(900481), 3),], - ] - 10480102 -> [ - [Skill-Hint(Skill-id(900481), 1),], - [Skill-Hint(Skill-id(900481), 2),], - [Skill-Hint(Skill-id(900481), 3),], - ] - 10480103 -> [ - [Skill-Hint(Skill-id(900481), 1),], - [Skill-Hint(Skill-id(900481), 2),], - [Skill-Hint(Skill-id(900481), 3),], - ] - 10500101 -> [ - [Skill-Hint(Skill-id(900501), 1),], - [Skill-Hint(Skill-id(900501), 2),], - [Skill-Hint(Skill-id(900501), 3),], - ] - 10500102 -> [ - [Skill-Hint(Skill-id(900501), 1),], - [Skill-Hint(Skill-id(900501), 2),], - [Skill-Hint(Skill-id(900501), 3),], - ] - 10500103 -> [ - [Skill-Hint(Skill-id(900501), 1),], - [Skill-Hint(Skill-id(900501), 2),], - [Skill-Hint(Skill-id(900501), 3),], - ] - 10520101 -> [ - [Skill-Hint(Skill-id(900521), 1),], - [Skill-Hint(Skill-id(900521), 2),], - [Skill-Hint(Skill-id(900521), 3),], - ] - 10520102 -> [ - [Skill-Hint(Skill-id(900521), 1),], - [Skill-Hint(Skill-id(900521), 2),], - [Skill-Hint(Skill-id(900521), 3),], - ] - 10520103 -> [ - [Skill-Hint(Skill-id(900521), 1),], - [Skill-Hint(Skill-id(900521), 2),], - [Skill-Hint(Skill-id(900521), 3),], - ] - 10520201 -> [ - [Skill-Hint(Skill-id(910521), 1),], - [Skill-Hint(Skill-id(910521), 2),], - [Skill-Hint(Skill-id(910521), 3),], - ] - 10520202 -> [ - [Skill-Hint(Skill-id(910521), 1),], - [Skill-Hint(Skill-id(910521), 2),], - [Skill-Hint(Skill-id(910521), 3),], - ] - 10520203 -> [ - [Skill-Hint(Skill-id(910521), 1),], - [Skill-Hint(Skill-id(910521), 2),], - [Skill-Hint(Skill-id(910521), 3),], - ] - 10560101 -> [ - [Skill-Hint(Skill-id(900561), 1),], - [Skill-Hint(Skill-id(900561), 2),], - [Skill-Hint(Skill-id(900561), 3),], - ] - 10560102 -> [ - [Skill-Hint(Skill-id(900561), 1),], - [Skill-Hint(Skill-id(900561), 2),], - [Skill-Hint(Skill-id(900561), 3),], - ] - 10560103 -> [ - [Skill-Hint(Skill-id(900561), 1),], - [Skill-Hint(Skill-id(900561), 2),], - [Skill-Hint(Skill-id(900561), 3),], - ] - 10560201 -> [ - [Skill-Hint(Skill-id(910561), 1),], - [Skill-Hint(Skill-id(910561), 2),], - [Skill-Hint(Skill-id(910561), 3),], - ] - 10560202 -> [ - [Skill-Hint(Skill-id(910561), 1),], - [Skill-Hint(Skill-id(910561), 2),], - [Skill-Hint(Skill-id(910561), 3),], - ] - 10560203 -> [ - [Skill-Hint(Skill-id(910561), 1),], - [Skill-Hint(Skill-id(910561), 2),], - [Skill-Hint(Skill-id(910561), 3),], - ] - 10580101 -> [ - [Skill-Hint(Skill-id(900581), 1),], - [Skill-Hint(Skill-id(900581), 2),], - [Skill-Hint(Skill-id(900581), 3),], - ] - 10580102 -> [ - [Skill-Hint(Skill-id(900581), 1),], - [Skill-Hint(Skill-id(900581), 2),], - [Skill-Hint(Skill-id(900581), 3),], - ] - 10580103 -> [ - [Skill-Hint(Skill-id(900581), 1),], - [Skill-Hint(Skill-id(900581), 2),], - [Skill-Hint(Skill-id(900581), 3),], - ] - 10590101 -> [ - [Skill-Hint(Skill-id(900591), 1),], - [Skill-Hint(Skill-id(900591), 2),], - [Skill-Hint(Skill-id(900591), 3),], - ] - 10590102 -> [ - [Skill-Hint(Skill-id(900591), 1),], - [Skill-Hint(Skill-id(900591), 2),], - [Skill-Hint(Skill-id(900591), 3),], - ] - 10590103 -> [ - [Skill-Hint(Skill-id(900591), 1),], - [Skill-Hint(Skill-id(900591), 2),], - [Skill-Hint(Skill-id(900591), 3),], - ] - 10600101 -> [ - [Skill-Hint(Skill-id(900601), 1),], - [Skill-Hint(Skill-id(900601), 2),], - [Skill-Hint(Skill-id(900601), 3),], - ] - 10600102 -> [ - [Skill-Hint(Skill-id(900601), 1),], - [Skill-Hint(Skill-id(900601), 2),], - [Skill-Hint(Skill-id(900601), 3),], - ] - 10600103 -> [ - [Skill-Hint(Skill-id(900601), 1),], - [Skill-Hint(Skill-id(900601), 2),], - [Skill-Hint(Skill-id(900601), 3),], - ] - 10610101 -> [ - [Skill-Hint(Skill-id(900611), 1),], - [Skill-Hint(Skill-id(900611), 2),], - [Skill-Hint(Skill-id(900611), 3),], - ] - 10610102 -> [ - [Skill-Hint(Skill-id(900611), 1),], - [Skill-Hint(Skill-id(900611), 2),], - [Skill-Hint(Skill-id(900611), 3),], - ] - 10610103 -> [ - [Skill-Hint(Skill-id(900611), 1),], - [Skill-Hint(Skill-id(900611), 2),], - [Skill-Hint(Skill-id(900611), 3),], - ] - 10690101 -> [ - [Skill-Hint(Skill-id(900691), 1),], - [Skill-Hint(Skill-id(900691), 2),], - [Skill-Hint(Skill-id(900691), 3),], - ] - 10690102 -> [ - [Skill-Hint(Skill-id(900691), 1),], - [Skill-Hint(Skill-id(900691), 2),], - [Skill-Hint(Skill-id(900691), 3),], - ] - 10690103 -> [ - [Skill-Hint(Skill-id(900691), 1),], - [Skill-Hint(Skill-id(900691), 2),], - [Skill-Hint(Skill-id(900691), 3),], - ] - 10710101 -> [ - [Skill-Hint(Skill-id(900711), 1),], - [Skill-Hint(Skill-id(900711), 2),], - [Skill-Hint(Skill-id(900711), 3),], - ] - 10710102 -> [ - [Skill-Hint(Skill-id(900711), 1),], - [Skill-Hint(Skill-id(900711), 2),], - [Skill-Hint(Skill-id(900711), 3),], - ] - 10710103 -> [ - [Skill-Hint(Skill-id(900711), 1),], - [Skill-Hint(Skill-id(900711), 2),], - [Skill-Hint(Skill-id(900711), 3),], - ] - _ -> [] diff --git a/horse/global/uma.go b/horse/global/uma.go deleted file mode 100644 index 6478a20..0000000 --- a/horse/global/uma.go +++ /dev/null @@ -1,1711 +0,0 @@ -package global - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - SpecialWeekSpecialDreamer UmaID = 100101 // [Special Dreamer] Special Week - SpecialWeekHoppnHappyHeart UmaID = 100102 // [Hopp'n♪Happy Heart] Special Week - SilenceSuzukaInnocentSilence UmaID = 100201 // [Innocent Silence] Silence Suzuka - TokaiTeioPeakJoy UmaID = 100301 // [Peak Joy] Tokai Teio - TokaiTeioBeyondtheHorizon UmaID = 100302 // [Beyond the Horizon] Tokai Teio - MaruzenskyFormulaR UmaID = 100401 // [Formula R] Maruzensky - MaruzenskyHotSummerNight UmaID = 100402 // [Hot☆Summer Night] Maruzensky - FujiKisekiShootingStarRevue UmaID = 100501 // [Shooting Star Revue] Fuji Kiseki - OguriCapStarlightBeat UmaID = 100601 // [Starlight Beat] Oguri Cap - OguriCapAshenMiracle UmaID = 100602 // [Ashen Miracle] Oguri Cap - GoldShipRedStrife UmaID = 100701 // [Red Strife] Gold Ship - VodkaWildTopGear UmaID = 100801 // [Wild Top Gear] Vodka - DaiwaScarletPeakBlue UmaID = 100901 // [Peak Blue] Daiwa Scarlet - TaikiShuttleWildFrontier UmaID = 101001 // [Wild Frontier] Taiki Shuttle - GrassWonderStonePiercingBlue UmaID = 101101 // [Stone-Piercing Blue] Grass Wonder - GrassWonderSaintlyJadeCleric UmaID = 101102 // [Saintly Jade Cleric] Grass Wonder - HishiAmazonAzureAmazon UmaID = 101201 // [Azure Amazon] Hishi Amazon - MejiroMcQueenFrontlineElegance UmaID = 101301 // [Frontline Elegance] Mejiro McQueen - MejiroMcQueenEndoftheSkies UmaID = 101302 // [End of the Skies] Mejiro McQueen - ElCondorPasaElNúmero1 UmaID = 101401 // [El☆Número 1] El Condor Pasa - ElCondorPasaKukulkanWarrior UmaID = 101402 // [Kukulkan Warrior] El Condor Pasa - TMOperaOOSoleSuo UmaID = 101501 // [O Sole Suo!] T.M. Opera O - TMOperaONewYearSameRadiance UmaID = 101502 // [New Year, Same Radiance!] T.M. Opera O - NaritaBrianMaverick UmaID = 101601 // [Maverick] Narita Brian - SymboliRudolfEmperorsPath UmaID = 101701 // [Emperor's Path] Symboli Rudolf - SymboliRudolfArcherbyMoonlight UmaID = 101702 // [Archer by Moonlight] Symboli Rudolf - AirGrooveEmpressRoad UmaID = 101801 // [Empress Road] Air Groove - AirGrooveQuercusCivilis UmaID = 101802 // [Quercus Civilis] Air Groove - AgnesDigitalFullColorFangirling UmaID = 101901 // [Full-Color Fangirling] Agnes Digital - SeiunSkyReelingintheBigOne UmaID = 102001 // [Reeling in the Big One] Seiun Sky - TamamoCrossFastasLightning UmaID = 102101 // [Fast as Lightning] Tamamo Cross - FineMotionNobleSeamair UmaID = 102201 // [Noble Seamair] Fine Motion - BiwaHayahidePfWinningEquation UmaID = 102301 // [pf. Winning Equation...] Biwa Hayahide - BiwaHayahideRougeCaroler UmaID = 102302 // [Rouge Caroler] Biwa Hayahide - MayanoTopGunScrambleZone UmaID = 102401 // [Scramble☆Zone] Mayano Top Gun - MayanoTopGunSunlightBouquet UmaID = 102402 // [Sunlight Bouquet] Mayano Top Gun - ManhattanCafeCreepingShadow UmaID = 102501 // [Creeping Shadow] Manhattan Cafe - MihonoBourbonMB19890425 UmaID = 102601 // [MB-19890425] Mihono Bourbon - MihonoBourbonCODEICING UmaID = 102602 // [CODE: ICING] Mihono Bourbon - MejiroRyanDowntheLine UmaID = 102701 // [Down the Line] Mejiro Ryan - HishiAkebonoBuonoAllaModa UmaID = 102801 // [Buono ☆ Alla Moda] Hishi Akebono - RiceShowerRosyDreams UmaID = 103001 // [Rosy Dreams] Rice Shower - RiceShowerVampireMakeover UmaID = 103002 // [Vampire Makeover!] Rice Shower - AgnesTachyonTachnology UmaID = 103201 // [Tach-nology] Agnes Tachyon - AdmireVegaStarryNocturne UmaID = 103301 // [Starry Nocturne] Admire Vega - WinningTicketGettoWinning UmaID = 103501 // [Get to Winning!] Winning Ticket - EishinFlashMeisterschaft UmaID = 103701 // [Meisterschaft] Eishin Flash - EishinFlashPreciseChocolatier UmaID = 103702 // [Precise Chocolatier] Eishin Flash - CurrenChanFilleÉclair UmaID = 103801 // [Fille Éclair] Curren Chan - KawakamiPrincessPrincessofPink UmaID = 103901 // [Princess of Pink] Kawakami Princess - GoldCityAuthentic1928 UmaID = 104001 // [Authentic / 1928] Gold City - GoldCityAutumnCosmos UmaID = 104002 // [Autumn Cosmos] Gold City - SakuraBakushinOBlossominLearning UmaID = 104101 // [Blossom in Learning] Sakura Bakushin O - SuperCreekMurmuringStream UmaID = 104501 // [Murmuring Stream] Super Creek - SuperCreekChiffonWrappedMummy UmaID = 104502 // [Chiffon-Wrapped Mummy] Super Creek - SmartFalconLOVE4EVER UmaID = 104601 // [LOVE☆4EVER] Smart Falcon - TosenJordanJokesterVibes UmaID = 104801 // [Jokester ☆ Vibes] Tosen Jordan - NaritaTaishinNevertheless UmaID = 105001 // [Nevertheless] Narita Taishin - HaruUraraBestestPrize UmaID = 105201 // [Bestest Prize ♪] Haru Urara - HaruUraraNewYearNewUrara UmaID = 105202 // [New Year ♪ New Urara!] Haru Urara - MatikanefukukitaruRisingFortune UmaID = 105601 // [Rising☆Fortune] Matikanefukukitaru - MatikanefukukitaruLuckyTidings UmaID = 105602 // [Lucky Tidings] Matikanefukukitaru - MeishoDotoTurbulentBlue UmaID = 105801 // [Turbulent Blue] Meisho Doto - MejiroDoberOfftheLine UmaID = 105901 // [Off the Line] Mejiro Dober - NiceNaturePoinsettiaRibbon UmaID = 106001 // [Poinsettia Ribbon] Nice Nature - KingHaloKingofEmeralds UmaID = 106101 // [King of Emeralds] King Halo - SakuraChiyonoOStrengthinFullBloom UmaID = 106901 // [Strength in Full Bloom] Sakura Chiyono O - MejiroArdanCrystalline UmaID = 107101 // [Crystalline] Mejiro Ardan -) - -var AllUmas = map[UmaID]Uma{ - SpecialWeekSpecialDreamer: { - ID: 100101, - CharacterID: 1001, - Name: "[Special Dreamer] Special Week", - Variant: "[Special Dreamer]", - Sprint: 2, - Mile: 5, - Medium: 7, - Long: 7, - Front: 1, - Pace: 7, - Late: 7, - End: 5, - Turf: 7, - Dirt: 1, - Unique: 100011, - Skill1: 200512, - Skill2: 201352, - Skill3: 200732, - SkillPL2: 200162, - SkillPL3: 201351, - SkillPL4: 200612, - SkillPL5: 200511, - }, - SpecialWeekHoppnHappyHeart: { - ID: 100102, - CharacterID: 1001, - Name: "[Hopp'n♪Happy Heart] Special Week", - Variant: "[Hopp'n♪Happy Heart]", - Sprint: 2, - Mile: 5, - Medium: 7, - Long: 7, - Front: 1, - Pace: 7, - Late: 7, - End: 5, - Turf: 7, - Dirt: 1, - Unique: 110011, - Skill1: 200462, - Skill2: 200592, - Skill3: 201132, - SkillPL2: 200212, - SkillPL3: 200591, - SkillPL4: 201611, - SkillPL5: 200461, - }, - SilenceSuzukaInnocentSilence: { - ID: 100201, - CharacterID: 1002, - Name: "[Innocent Silence] Silence Suzuka", - Variant: "[Innocent Silence]", - Sprint: 4, - Mile: 7, - Medium: 7, - Long: 3, - Front: 7, - Pace: 5, - Late: 3, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 100021, - Skill1: 200432, - Skill2: 200552, - Skill3: 200712, - SkillPL2: 200022, - SkillPL3: 200431, - SkillPL4: 200542, - SkillPL5: 200551, - }, - TokaiTeioPeakJoy: { - ID: 100301, - CharacterID: 1003, - Name: "[Peak Joy] Tokai Teio", - Variant: "[Peak Joy]", - Sprint: 2, - Mile: 3, - Medium: 7, - Long: 6, - Front: 4, - Pace: 7, - Late: 5, - End: 3, - Turf: 7, - Dirt: 1, - Unique: 100031, - Skill1: 200452, - Skill2: 201132, - Skill3: 201332, - SkillPL2: 200502, - SkillPL3: 201331, - SkillPL4: 201142, - SkillPL5: 201131, - }, - TokaiTeioBeyondtheHorizon: { - ID: 100302, - CharacterID: 1003, - Name: "[Beyond the Horizon] Tokai Teio", - Variant: "[Beyond the Horizon]", - Sprint: 2, - Mile: 3, - Medium: 7, - Long: 6, - Front: 4, - Pace: 7, - Late: 5, - End: 3, - Turf: 7, - Dirt: 1, - Unique: 110031, - Skill1: 200452, - Skill2: 201142, - Skill3: 200572, - SkillPL2: 200172, - SkillPL3: 200571, - SkillPL4: 200352, - SkillPL5: 201141, - }, - MaruzenskyFormulaR: { - ID: 100401, - CharacterID: 1004, - Name: "[Formula R] Maruzensky", - Variant: "[Formula R]", - Sprint: 6, - Mile: 7, - Medium: 6, - Long: 5, - Front: 7, - Pace: 3, - Late: 1, - End: 1, - Turf: 7, - Dirt: 4, - Unique: 100041, - Skill1: 200362, - Skill2: 201052, - Skill3: 200532, - SkillPL2: 201062, - SkillPL3: 201051, - SkillPL4: 200432, - SkillPL5: 201061, - }, - MaruzenskyHotSummerNight: { - ID: 100402, - CharacterID: 1004, - Name: "[Hot☆Summer Night] Maruzensky", - Variant: "[Hot☆Summer Night]", - Sprint: 6, - Mile: 7, - Medium: 6, - Long: 5, - Front: 7, - Pace: 3, - Late: 1, - End: 1, - Turf: 7, - Dirt: 4, - Unique: 110041, - Skill1: 200352, - Skill2: 200682, - Skill3: 201282, - SkillPL2: 201571, - SkillPL3: 201281, - SkillPL4: 201082, - SkillPL5: 200681, - }, - FujiKisekiShootingStarRevue: { - ID: 100501, - CharacterID: 1005, - Name: "[Shooting Star Revue] Fuji Kiseki", - Variant: "[Shooting Star Revue]", - Sprint: 6, - Mile: 7, - Medium: 6, - Long: 3, - Front: 5, - Pace: 7, - Late: 5, - End: 1, - Turf: 7, - Dirt: 2, - Unique: 100051, - Skill1: 200771, - Skill2: 201072, - Skill3: 200572, - SkillPL2: 201052, - SkillPL3: 201071, - SkillPL4: 201042, - SkillPL5: 200571, - }, - OguriCapStarlightBeat: { - ID: 100601, - CharacterID: 1006, - Name: "[Starlight Beat] Oguri Cap", - Variant: "[Starlight Beat]", - Sprint: 3, - Mile: 7, - Medium: 7, - Long: 6, - Front: 2, - Pace: 7, - Late: 7, - End: 4, - Turf: 7, - Dirt: 6, - Unique: 100061, - Skill1: 200342, - Skill2: 201062, - Skill3: 201352, - SkillPL2: 200222, - SkillPL3: 201351, - SkillPL4: 200492, - SkillPL5: 200341, - }, - OguriCapAshenMiracle: { - ID: 100602, - CharacterID: 1006, - Name: "[Ashen Miracle] Oguri Cap", - Variant: "[Ashen Miracle]", - Sprint: 3, - Mile: 7, - Medium: 7, - Long: 6, - Front: 2, - Pace: 7, - Late: 7, - End: 4, - Turf: 7, - Dirt: 6, - Unique: 110061, - Skill1: 201621, - Skill2: 200752, - Skill3: 201352, - SkillPL2: 201422, - SkillPL3: 201351, - SkillPL4: 201571, - SkillPL5: 200751, - }, - GoldShipRedStrife: { - ID: 100701, - CharacterID: 1007, - Name: "[Red Strife] Gold Ship", - Variant: "[Red Strife]", - Sprint: 1, - Mile: 5, - Medium: 7, - Long: 7, - Front: 1, - Pace: 6, - Late: 6, - End: 7, - Turf: 7, - Dirt: 1, - Unique: 100071, - Skill1: 201591, - Skill2: 201212, - Skill3: 201472, - SkillPL2: 201482, - SkillPL3: 201471, - SkillPL4: 200622, - SkillPL5: 201481, - }, - VodkaWildTopGear: { - ID: 100801, - CharacterID: 1008, - Name: "[Wild Top Gear] Vodka", - Variant: "[Wild Top Gear]", - Sprint: 2, - Mile: 7, - Medium: 7, - Long: 2, - Front: 5, - Pace: 6, - Late: 7, - End: 2, - Turf: 7, - Dirt: 1, - Unique: 100081, - Skill1: 200382, - Skill2: 200702, - Skill3: 200602, - SkillPL2: 200372, - SkillPL3: 200381, - SkillPL4: 201032, - SkillPL5: 200701, - }, - DaiwaScarletPeakBlue: { - ID: 100901, - CharacterID: 1009, - Name: "[Peak Blue] Daiwa Scarlet", - Variant: "[Peak Blue]", - Sprint: 2, - Mile: 7, - Medium: 7, - Long: 6, - Front: 7, - Pace: 7, - Late: 3, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 100091, - Skill1: 200282, - Skill2: 200722, - Skill3: 200572, - SkillPL2: 200562, - SkillPL3: 200721, - SkillPL4: 200582, - SkillPL5: 200571, - }, - TaikiShuttleWildFrontier: { - ID: 101001, - CharacterID: 1010, - Name: "[Wild Frontier] Taiki Shuttle", - Variant: "[Wild Frontier]", - Sprint: 7, - Mile: 7, - Medium: 3, - Long: 1, - Front: 5, - Pace: 7, - Late: 3, - End: 1, - Turf: 7, - Dirt: 6, - Unique: 100101, - Skill1: 200362, - Skill2: 201052, - Skill3: 201532, - SkillPL2: 200682, - SkillPL3: 201051, - SkillPL4: 201032, - SkillPL5: 200681, - }, - GrassWonderStonePiercingBlue: { - ID: 101101, - CharacterID: 1011, - Name: "[Stone-Piercing Blue] Grass Wonder", - Variant: "[Stone-Piercing Blue]", - Sprint: 1, - Mile: 7, - Medium: 6, - Long: 7, - Front: 2, - Pace: 7, - Late: 7, - End: 2, - Turf: 7, - Dirt: 1, - Unique: 100111, - Skill1: 200871, - Skill2: 201152, - Skill3: 200602, - SkillPL2: 200512, - SkillPL3: 201151, - SkillPL4: 200592, - SkillPL5: 200601, - }, - GrassWonderSaintlyJadeCleric: { - ID: 101102, - CharacterID: 1011, - Name: "[Saintly Jade Cleric] Grass Wonder", - Variant: "[Saintly Jade Cleric ]", - Sprint: 1, - Mile: 7, - Medium: 6, - Long: 7, - Front: 2, - Pace: 7, - Late: 7, - End: 2, - Turf: 7, - Dirt: 1, - Unique: 110111, - Skill1: 200472, - Skill2: 200742, - Skill3: 201422, - SkillPL2: 200771, - SkillPL3: 200741, - SkillPL4: 201542, - SkillPL5: 201421, - }, - HishiAmazonAzureAmazon: { - ID: 101201, - CharacterID: 1012, - Name: "[Azure Amazon] Hishi Amazon", - Variant: "[Azure Amazon]", - Sprint: 4, - Mile: 7, - Medium: 7, - Long: 6, - Front: 1, - Pace: 6, - Late: 5, - End: 7, - Turf: 7, - Dirt: 3, - Unique: 100121, - Skill1: 200502, - Skill2: 200632, - Skill3: 200732, - SkillPL2: 201452, - SkillPL3: 200731, - SkillPL4: 201462, - SkillPL5: 200631, - }, - MejiroMcQueenFrontlineElegance: { - ID: 101301, - CharacterID: 1013, - Name: "[Frontline Elegance] Mejiro McQueen", - Variant: "[Frontline Elegance]", - Sprint: 1, - Mile: 2, - Medium: 7, - Long: 7, - Front: 6, - Pace: 7, - Late: 4, - End: 2, - Turf: 7, - Dirt: 3, - Unique: 100131, - Skill1: 200172, - Skill2: 200562, - Skill3: 201192, - SkillPL2: 201182, - SkillPL3: 201191, - SkillPL4: 201352, - SkillPL5: 200561, - }, - MejiroMcQueenEndoftheSkies: { - ID: 101302, - CharacterID: 1013, - Name: "[End of the Skies] Mejiro McQueen", - Variant: "[End of the Skies]", - Sprint: 1, - Mile: 2, - Medium: 7, - Long: 7, - Front: 6, - Pace: 7, - Late: 4, - End: 2, - Turf: 7, - Dirt: 3, - Unique: 110131, - Skill1: 200362, - Skill2: 200562, - Skill3: 200742, - SkillPL2: 200192, - SkillPL3: 200741, - SkillPL4: 200462, - SkillPL5: 200361, - }, - ElCondorPasaElNúmero1: { - ID: 101401, - CharacterID: 1014, - Name: "[El☆Número 1] El Condor Pasa", - Variant: "[El☆Número 1]", - Sprint: 2, - Mile: 7, - Medium: 7, - Long: 6, - Front: 3, - Pace: 7, - Late: 7, - End: 5, - Turf: 7, - Dirt: 6, - Unique: 100141, - Skill1: 200362, - Skill2: 201122, - Skill3: 201312, - SkillPL2: 200562, - SkillPL3: 201121, - SkillPL4: 200722, - SkillPL5: 200561, - }, - ElCondorPasaKukulkanWarrior: { - ID: 101402, - CharacterID: 1014, - Name: "[Kukulkan Warrior] El Condor Pasa", - Variant: "[Kukulkan Warrior]", - Sprint: 2, - Mile: 7, - Medium: 7, - Long: 6, - Front: 3, - Pace: 7, - Late: 7, - End: 5, - Turf: 7, - Dirt: 6, - Unique: 110141, - Skill1: 200512, - Skill2: 200702, - Skill3: 200612, - SkillPL2: 201072, - SkillPL3: 200701, - SkillPL4: 201412, - SkillPL5: 200611, - }, - TMOperaOOSoleSuo: { - ID: 101501, - CharacterID: 1015, - Name: "[O Sole Suo!] T.M. Opera O", - Variant: "[O Sole Suo!]", - Sprint: 1, - Mile: 3, - Medium: 7, - Long: 7, - Front: 5, - Pace: 7, - Late: 7, - End: 1, - Turf: 7, - Dirt: 3, - Unique: 100151, - Skill1: 200582, - Skill2: 200722, - Skill3: 200142, - SkillPL2: 200362, - SkillPL3: 200581, - SkillPL4: 200562, - SkillPL5: 200721, - }, - TMOperaONewYearSameRadiance: { - ID: 101502, - CharacterID: 1015, - Name: "[New Year, Same Radiance!] T.M. Opera O", - Variant: "[New Year, Same Radiance!]", - Sprint: 1, - Mile: 3, - Medium: 7, - Long: 7, - Front: 5, - Pace: 7, - Late: 7, - End: 1, - Turf: 7, - Dirt: 3, - Unique: 110151, - Skill1: 201312, - Skill2: 202012, - Skill3: 200352, - SkillPL2: 200252, - SkillPL3: 200351, - SkillPL4: 200202, - SkillPL5: 202011, - }, - NaritaBrianMaverick: { - ID: 101601, - CharacterID: 1016, - Name: "[Maverick] Narita Brian", - Variant: "[Maverick]", - Sprint: 2, - Mile: 6, - Medium: 7, - Long: 7, - Front: 1, - Pace: 7, - Late: 7, - End: 4, - Turf: 7, - Dirt: 1, - Unique: 100161, - Skill1: 200362, - Skill2: 201102, - Skill3: 200572, - SkillPL2: 200512, - SkillPL3: 200361, - SkillPL4: 201641, - SkillPL5: 200511, - }, - SymboliRudolfEmperorsPath: { - ID: 101701, - CharacterID: 1017, - Name: "[Emperor's Path] Symboli Rudolf", - Variant: "[Emperor's Path]", - Sprint: 3, - Mile: 5, - Medium: 7, - Long: 7, - Front: 6, - Pace: 7, - Late: 7, - End: 5, - Turf: 7, - Dirt: 1, - Unique: 100171, - Skill1: 200332, - Skill2: 201152, - Skill3: 200572, - SkillPL2: 200891, - SkillPL3: 201151, - SkillPL4: 201322, - SkillPL5: 200331, - }, - SymboliRudolfArcherbyMoonlight: { - ID: 101702, - CharacterID: 1017, - Name: "[Archer by Moonlight] Symboli Rudolf", - Variant: "[Archer by Moonlight]", - Sprint: 3, - Mile: 5, - Medium: 7, - Long: 7, - Front: 6, - Pace: 7, - Late: 7, - End: 5, - Turf: 7, - Dirt: 1, - Unique: 110171, - Skill1: 200192, - Skill2: 200752, - Skill3: 200562, - SkillPL2: 201342, - SkillPL3: 200561, - SkillPL4: 201312, - SkillPL5: 200194, - }, - AirGrooveEmpressRoad: { - ID: 101801, - CharacterID: 1018, - Name: "[Empress Road] Air Groove", - Variant: "[Empress Road]", - Sprint: 5, - Mile: 6, - Medium: 7, - Long: 3, - Front: 4, - Pace: 7, - Late: 7, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 100181, - Skill1: 200502, - Skill2: 200722, - Skill3: 201372, - SkillPL2: 200941, - SkillPL3: 201371, - SkillPL4: 200931, - SkillPL5: 200501, - }, - AirGrooveQuercusCivilis: { - ID: 101802, - CharacterID: 1018, - Name: "[Quercus Civilis] Air Groove", - Variant: "[Quercus Civilis]", - Sprint: 5, - Mile: 6, - Medium: 7, - Long: 3, - Front: 4, - Pace: 7, - Late: 7, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 110181, - Skill1: 200342, - Skill2: 201072, - Skill3: 201322, - SkillPL2: 201532, - SkillPL3: 201071, - SkillPL4: 200462, - SkillPL5: 200341, - }, - AgnesDigitalFullColorFangirling: { - ID: 101901, - CharacterID: 1019, - Name: "[Full-Color Fangirling] Agnes Digital", - Variant: "[Full-Color Fangirling]", - Sprint: 2, - Mile: 7, - Medium: 7, - Long: 1, - Front: 1, - Pace: 7, - Late: 7, - End: 6, - Turf: 7, - Dirt: 7, - Unique: 100191, - Skill1: 201591, - Skill2: 201682, - Skill3: 201382, - SkillPL2: 200162, - SkillPL3: 201592, - SkillPL4: 201102, - SkillPL5: 201681, - }, - SeiunSkyReelingintheBigOne: { - ID: 102001, - CharacterID: 1020, - Name: "[Reeling in the Big One] Seiun Sky", - Variant: "[Reeling in the Big One]", - Sprint: 1, - Mile: 5, - Medium: 7, - Long: 7, - Front: 7, - Pace: 6, - Late: 4, - End: 3, - Turf: 7, - Dirt: 1, - Unique: 100201, - Skill1: 200881, - Skill2: 201192, - Skill3: 200542, - SkillPL2: 201522, - SkillPL3: 201191, - SkillPL4: 201611, - SkillPL5: 200541, - }, - TamamoCrossFastasLightning: { - ID: 102101, - CharacterID: 1021, - Name: "[Fast as Lightning] Tamamo Cross", - Variant: "[Fast as Lightning]", - Sprint: 1, - Mile: 3, - Medium: 7, - Long: 7, - Front: 1, - Pace: 7, - Late: 7, - End: 7, - Turf: 7, - Dirt: 2, - Unique: 100211, - Skill1: 201611, - Skill2: 201132, - Skill3: 200592, - SkillPL2: 200572, - SkillPL3: 200591, - SkillPL4: 200642, - SkillPL5: 201612, - }, - FineMotionNobleSeamair: { - ID: 102201, - CharacterID: 1022, - Name: "[Noble Seamair] Fine Motion", - Variant: "[Noble Seamair]", - Sprint: 2, - Mile: 7, - Medium: 7, - Long: 5, - Front: 4, - Pace: 7, - Late: 3, - End: 5, - Turf: 7, - Dirt: 1, - Unique: 100221, - Skill1: 200192, - Skill2: 200582, - Skill3: 201112, - SkillPL2: 201342, - SkillPL3: 200581, - SkillPL4: 200012, - SkillPL5: 201341, - }, - BiwaHayahidePfWinningEquation: { - ID: 102301, - CharacterID: 1023, - Name: "[pf. Winning Equation...] Biwa Hayahide", - Variant: "[pf. Winning Equation...]", - Sprint: 2, - Mile: 5, - Medium: 7, - Long: 7, - Front: 3, - Pace: 7, - Late: 6, - End: 3, - Turf: 7, - Dirt: 2, - Unique: 100231, - Skill1: 200162, - Skill2: 200742, - Skill3: 200562, - SkillPL2: 200262, - SkillPL3: 200561, - SkillPL4: 200821, - SkillPL5: 200741, - }, - BiwaHayahideRougeCaroler: { - ID: 102302, - CharacterID: 1023, - Name: "[Rouge Caroler] Biwa Hayahide", - Variant: "[Rouge Caroler]", - Sprint: 2, - Mile: 5, - Medium: 7, - Long: 7, - Front: 3, - Pace: 7, - Late: 6, - End: 3, - Turf: 7, - Dirt: 2, - Unique: 110231, - Skill1: 200512, - Skill2: 201202, - Skill3: 200572, - SkillPL2: 201532, - SkillPL3: 201201, - SkillPL4: 201312, - SkillPL5: 200511, - }, - MayanoTopGunScrambleZone: { - ID: 102401, - CharacterID: 1024, - Name: "[Scramble☆Zone] Mayano Top Gun", - Variant: "[Scramble☆Zone]", - Sprint: 4, - Mile: 4, - Medium: 7, - Long: 7, - Front: 7, - Pace: 7, - Late: 6, - End: 6, - Turf: 7, - Dirt: 3, - Unique: 100241, - Skill1: 200382, - Skill2: 201272, - Skill3: 200742, - SkillPL2: 200492, - SkillPL3: 200381, - SkillPL4: 200502, - SkillPL5: 200491, - }, - MayanoTopGunSunlightBouquet: { - ID: 102402, - CharacterID: 1024, - Name: "[Sunlight Bouquet] Mayano Top Gun", - Variant: "[Sunlight Bouquet]", - Sprint: 4, - Mile: 4, - Medium: 7, - Long: 7, - Front: 7, - Pace: 7, - Late: 6, - End: 6, - Turf: 7, - Dirt: 3, - Unique: 110241, - Skill1: 200352, - Skill2: 201332, - Skill3: 201162, - SkillPL2: 200432, - SkillPL3: 201161, - SkillPL4: 200332, - SkillPL5: 200351, - }, - ManhattanCafeCreepingShadow: { - ID: 102501, - CharacterID: 1025, - Name: "[Creeping Shadow] Manhattan Cafe", - Variant: "[Creeping Shadow]", - Sprint: 1, - Mile: 2, - Medium: 6, - Long: 7, - Front: 1, - Pace: 5, - Late: 7, - End: 5, - Turf: 7, - Dirt: 1, - Unique: 100251, - Skill1: 200232, - Skill2: 201222, - Skill3: 201422, - SkillPL2: 201581, - SkillPL3: 201421, - SkillPL4: 201202, - SkillPL5: 201221, - }, - MihonoBourbonMB19890425: { - ID: 102601, - CharacterID: 1026, - Name: "[MB-19890425] Mihono Bourbon", - Variant: "[MB-19890425]", - Sprint: 5, - Mile: 6, - Medium: 7, - Long: 6, - Front: 7, - Pace: 3, - Late: 1, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 100261, - Skill1: 200232, - Skill2: 200532, - Skill3: 200712, - SkillPL2: 201242, - SkillPL3: 200531, - SkillPL4: 201252, - SkillPL5: 200711, - }, - MihonoBourbonCODEICING: { - ID: 102602, - CharacterID: 1026, - Name: "[CODE: ICING] Mihono Bourbon", - Variant: "[CODE: ICING]", - Sprint: 5, - Mile: 6, - Medium: 7, - Long: 6, - Front: 7, - Pace: 3, - Late: 1, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 110261, - Skill1: 200432, - Skill2: 200542, - Skill3: 200762, - SkillPL2: 201522, - SkillPL3: 200541, - SkillPL4: 201601, - SkillPL5: 200431, - }, - MejiroRyanDowntheLine: { - ID: 102701, - CharacterID: 1027, - Name: "[Down the Line] Mejiro Ryan", - Variant: "[Down the Line]", - Sprint: 3, - Mile: 5, - Medium: 7, - Long: 6, - Front: 2, - Pace: 7, - Late: 7, - End: 2, - Turf: 7, - Dirt: 1, - Unique: 100271, - Skill1: 200232, - Skill2: 200722, - Skill3: 200612, - SkillPL2: 200472, - SkillPL3: 200721, - SkillPL4: 201102, - SkillPL5: 200611, - }, - HishiAkebonoBuonoAllaModa: { - ID: 102801, - CharacterID: 1028, - Name: "[Buono ☆ Alla Moda] Hishi Akebono", - Variant: "[Buono ☆ Alla Moda]", - Sprint: 7, - Mile: 6, - Medium: 2, - Long: 1, - Front: 6, - Pace: 7, - Late: 5, - End: 1, - Turf: 7, - Dirt: 2, - Unique: 100281, - Skill1: 200212, - Skill2: 201352, - Skill3: 201002, - SkillPL2: 201362, - SkillPL3: 201001, - SkillPL4: 201012, - SkillPL5: 201351, - }, - RiceShowerRosyDreams: { - ID: 103001, - CharacterID: 1030, - Name: "[Rosy Dreams] Rice Shower", - Variant: "[Rosy Dreams]", - Sprint: 3, - Mile: 5, - Medium: 7, - Long: 7, - Front: 6, - Pace: 7, - Late: 5, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 100301, - Skill1: 200861, - Skill2: 201342, - Skill3: 200742, - SkillPL2: 201581, - SkillPL3: 201341, - SkillPL4: 201352, - SkillPL5: 200741, - }, - RiceShowerVampireMakeover: { - ID: 103002, - CharacterID: 1030, - Name: "[Vampire Makeover!] Rice Shower", - Variant: "[Vampire Makeover!]", - Sprint: 3, - Mile: 5, - Medium: 7, - Long: 7, - Front: 6, - Pace: 7, - Late: 5, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 110301, - Skill1: 200771, - Skill2: 201172, - Skill3: 200562, - SkillPL2: 200352, - SkillPL3: 200561, - SkillPL4: 200851, - SkillPL5: 200772, - }, - AgnesTachyonTachnology: { - ID: 103201, - CharacterID: 1032, - Name: "[Tach-nology] Agnes Tachyon", - Variant: "[tach-nology]", - Sprint: 1, - Mile: 4, - Medium: 7, - Long: 6, - Front: 3, - Pace: 7, - Late: 6, - End: 2, - Turf: 7, - Dirt: 1, - Unique: 100321, - Skill1: 200132, - Skill2: 201152, - Skill3: 200572, - SkillPL2: 201102, - SkillPL3: 201151, - SkillPL4: 201112, - SkillPL5: 200571, - }, - AdmireVegaStarryNocturne: { - ID: 103301, - CharacterID: 1033, - Name: "[Starry Nocturne] Admire Vega", - Variant: "[Starry Nocturne]", - Sprint: 2, - Mile: 5, - Medium: 7, - Long: 5, - Front: 1, - Pace: 1, - Late: 6, - End: 7, - Turf: 7, - Dirt: 1, - Unique: 100331, - Skill1: 200492, - Skill2: 201152, - Skill3: 201492, - SkillPL2: 200632, - SkillPL3: 201491, - SkillPL4: 200861, - SkillPL5: 200631, - }, - WinningTicketGettoWinning: { - ID: 103501, - CharacterID: 1035, - Name: "[Get to Winning!] Winning Ticket", - Variant: "[Get to Winning!]", - Sprint: 1, - Mile: 2, - Medium: 7, - Long: 6, - Front: 1, - Pace: 6, - Late: 7, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 100351, - Skill1: 200152, - Skill2: 200732, - Skill3: 201402, - SkillPL2: 200592, - SkillPL3: 201401, - SkillPL4: 201392, - SkillPL5: 200591, - }, - EishinFlashMeisterschaft: { - ID: 103701, - CharacterID: 1037, - Name: "[Meisterschaft] Eishin Flash", - Variant: "[Meisterschaft]", - Sprint: 1, - Mile: 2, - Medium: 7, - Long: 7, - Front: 1, - Pace: 6, - Late: 7, - End: 5, - Turf: 7, - Dirt: 1, - Unique: 100371, - Skill1: 200502, - Skill2: 201542, - Skill3: 201112, - SkillPL2: 200512, - SkillPL3: 200501, - SkillPL4: 200432, - SkillPL5: 200511, - }, - EishinFlashPreciseChocolatier: { - ID: 103702, - CharacterID: 1037, - Name: "[Precise Chocolatier] Eishin Flash", - Variant: "[Precise Chocolatier]", - Sprint: 1, - Mile: 2, - Medium: 7, - Long: 7, - Front: 1, - Pace: 6, - Late: 7, - End: 5, - Turf: 7, - Dirt: 1, - Unique: 110371, - Skill1: 200302, - Skill2: 200592, - Skill3: 201152, - SkillPL2: 201102, - SkillPL3: 201151, - SkillPL4: 201392, - SkillPL5: 201103, - }, - CurrenChanFilleÉclair: { - ID: 103801, - CharacterID: 1038, - Name: "[Fille Éclair] Curren Chan", - Variant: "[Fille Éclair]", - Sprint: 7, - Mile: 4, - Medium: 1, - Long: 1, - Front: 6, - Pace: 7, - Late: 3, - End: 1, - Turf: 7, - Dirt: 2, - Unique: 100381, - Skill1: 200462, - Skill2: 201372, - Skill3: 201012, - SkillPL2: 201002, - SkillPL3: 201371, - SkillPL4: 200582, - SkillPL5: 201011, - }, - KawakamiPrincessPrincessofPink: { - ID: 103901, - CharacterID: 1039, - Name: "[Princess of Pink] Kawakami Princess", - Variant: "[Princess of Pink]", - Sprint: 4, - Mile: 6, - Medium: 7, - Long: 2, - Front: 1, - Pace: 5, - Late: 7, - End: 4, - Turf: 7, - Dirt: 1, - Unique: 100391, - Skill1: 200492, - Skill2: 201072, - Skill3: 200612, - SkillPL2: 201382, - SkillPL3: 200491, - SkillPL4: 200132, - SkillPL5: 200611, - }, - GoldCityAuthentic1928: { - ID: 104001, - CharacterID: 1040, - Name: "[Authentic / 1928] Gold City", - Variant: "[Authentic / 1928]", - Sprint: 2, - Mile: 7, - Medium: 6, - Long: 6, - Front: 2, - Pace: 7, - Late: 7, - End: 2, - Turf: 7, - Dirt: 4, - Unique: 100401, - Skill1: 200052, - Skill2: 200692, - Skill3: 200602, - SkillPL2: 201651, - SkillPL3: 200691, - SkillPL4: 201062, - SkillPL5: 200601, - }, - GoldCityAutumnCosmos: { - ID: 104002, - CharacterID: 1040, - Name: "[Autumn Cosmos] Gold City", - Variant: "[Autumn Cosmos]", - Sprint: 2, - Mile: 7, - Medium: 6, - Long: 6, - Front: 2, - Pace: 7, - Late: 7, - End: 2, - Turf: 7, - Dirt: 4, - Unique: 110401, - Skill1: 200232, - Skill2: 201092, - Skill3: 201692, - SkillPL2: 201542, - SkillPL3: 201091, - SkillPL4: 201392, - SkillPL5: 201691, - }, - SakuraBakushinOBlossominLearning: { - ID: 104101, - CharacterID: 1041, - Name: "[Blossom in Learning] Sakura Bakushin O", - Variant: "[Blossom in Learning]", - Sprint: 7, - Mile: 6, - Medium: 1, - Long: 1, - Front: 7, - Pace: 7, - Late: 2, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 100411, - Skill1: 200841, - Skill2: 201312, - Skill3: 200652, - SkillPL2: 200982, - SkillPL3: 200651, - SkillPL4: 200992, - SkillPL5: 200981, - }, - SuperCreekMurmuringStream: { - ID: 104501, - CharacterID: 1045, - Name: "[Murmuring Stream] Super Creek", - Variant: "[Murmuring Stream]", - Sprint: 1, - Mile: 1, - Medium: 7, - Long: 7, - Front: 4, - Pace: 7, - Late: 6, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 100451, - Skill1: 200352, - Skill2: 200742, - Skill3: 201372, - SkillPL2: 200462, - SkillPL3: 201371, - SkillPL4: 200881, - SkillPL5: 200351, - }, - SuperCreekChiffonWrappedMummy: { - ID: 104502, - CharacterID: 1045, - Name: "[Chiffon-Wrapped Mummy] Super Creek", - Variant: "[Chiffon-Wrapped Mummy]", - Sprint: 1, - Mile: 1, - Medium: 7, - Long: 7, - Front: 4, - Pace: 7, - Late: 6, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 110451, - Skill1: 200332, - Skill2: 201162, - Skill3: 201352, - SkillPL2: 201322, - SkillPL3: 200331, - SkillPL4: 201102, - SkillPL5: 201161, - }, - SmartFalconLOVE4EVER: { - ID: 104601, - CharacterID: 1046, - Name: "[LOVE☆4EVER] Smart Falcon", - Variant: "[LOVE☆4EVER]", - Sprint: 6, - Mile: 7, - Medium: 7, - Long: 3, - Front: 7, - Pace: 4, - Late: 1, - End: 1, - Turf: 3, - Dirt: 7, - Unique: 100461, - Skill1: 200452, - Skill2: 201522, - Skill3: 201672, - SkillPL2: 200162, - SkillPL3: 200451, - SkillPL4: 200952, - SkillPL5: 201671, - }, - TosenJordanJokesterVibes: { - ID: 104801, - CharacterID: 1048, - Name: "[Jokester ☆ Vibes] Tosen Jordan", - Variant: "[Jokester ☆ Vibes]", - Sprint: 1, - Mile: 2, - Medium: 7, - Long: 6, - Front: 5, - Pace: 7, - Late: 6, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 100481, - Skill1: 200302, - Skill2: 200602, - Skill3: 201102, - SkillPL2: 200572, - SkillPL3: 200601, - SkillPL4: 201702, - SkillPL5: 200571, - }, - NaritaTaishinNevertheless: { - ID: 105001, - CharacterID: 1050, - Name: "[Nevertheless] Narita Taishin", - Variant: "[Nevertheless]", - Sprint: 2, - Mile: 4, - Medium: 7, - Long: 7, - Front: 1, - Pace: 2, - Late: 6, - End: 7, - Turf: 7, - Dirt: 1, - Unique: 100501, - Skill1: 201641, - Skill2: 200622, - Skill3: 201162, - SkillPL2: 200642, - SkillPL3: 200621, - SkillPL4: 201452, - SkillPL5: 200641, - }, - HaruUraraBestestPrize: { - ID: 105201, - CharacterID: 1052, - Name: "[Bestest Prize ♪] Haru Urara", - Variant: "[Bestest Prize ♪]", - Sprint: 7, - Mile: 6, - Medium: 1, - Long: 1, - Front: 1, - Pace: 1, - Late: 7, - End: 6, - Turf: 1, - Dirt: 7, - Unique: 100521, - Skill1: 200442, - Skill2: 200652, - Skill3: 201412, - SkillPL2: 200472, - SkillPL3: 200441, - SkillPL4: 200302, - SkillPL5: 200471, - }, - HaruUraraNewYearNewUrara: { - ID: 105202, - CharacterID: 1052, - Name: "[New Year ♪ New Urara!] Haru Urara", - Variant: "[New Year ♪ New Urara!]", - Sprint: 7, - Mile: 7, - Medium: 1, - Long: 1, - Front: 1, - Pace: 1, - Late: 7, - End: 6, - Turf: 1, - Dirt: 7, - Unique: 110521, - Skill1: 200452, - Skill2: 201072, - Skill3: 201402, - SkillPL2: 201621, - SkillPL3: 200451, - SkillPL4: 200242, - SkillPL5: 201401, - }, - MatikanefukukitaruRisingFortune: { - ID: 105601, - CharacterID: 1056, - Name: "[Rising☆Fortune] Matikanefukukitaru", - Variant: "[Rising☆Fortune]", - Sprint: 2, - Mile: 5, - Medium: 7, - Long: 7, - Front: 1, - Pace: 6, - Late: 7, - End: 2, - Turf: 7, - Dirt: 2, - Unique: 100561, - Skill1: 201562, - Skill2: 201422, - Skill3: 201232, - SkillPL2: 201571, - SkillPL3: 201231, - SkillPL4: 200781, - SkillPL5: 201561, - }, - MatikanefukukitaruLuckyTidings: { - ID: 105602, - CharacterID: 1056, - Name: "[Lucky Tidings] Matikanefukukitaru", - Variant: "[Lucky Tidings]", - Sprint: 2, - Mile: 5, - Medium: 7, - Long: 7, - Front: 1, - Pace: 6, - Late: 7, - End: 2, - Turf: 7, - Dirt: 2, - Unique: 110561, - Skill1: 200012, - Skill2: 200602, - Skill3: 201212, - SkillPL2: 200752, - SkillPL3: 201211, - SkillPL4: 200062, - SkillPL5: 200751, - }, - MeishoDotoTurbulentBlue: { - ID: 105801, - CharacterID: 1058, - Name: "[Turbulent Blue] Meisho Doto", - Variant: "[Turbulent Blue]", - Sprint: 1, - Mile: 2, - Medium: 7, - Long: 7, - Front: 2, - Pace: 7, - Late: 6, - End: 3, - Turf: 7, - Dirt: 3, - Unique: 100581, - Skill1: 200472, - Skill2: 201112, - Skill3: 200582, - SkillPL2: 200142, - SkillPL3: 200581, - SkillPL4: 200861, - SkillPL5: 200471, - }, - MejiroDoberOfftheLine: { - ID: 105901, - CharacterID: 1059, - Name: "[Off the Line] Mejiro Dober", - Variant: "[Off the Line]", - Sprint: 3, - Mile: 7, - Medium: 7, - Long: 2, - Front: 5, - Pace: 6, - Late: 7, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 100591, - Skill1: 200062, - Skill2: 201442, - Skill3: 201142, - SkillPL2: 201382, - SkillPL3: 201441, - SkillPL4: 200722, - SkillPL5: 200064, - }, - NiceNaturePoinsettiaRibbon: { - ID: 106001, - CharacterID: 1060, - Name: "[Poinsettia Ribbon] Nice Nature", - Variant: "[Poinsettia Ribbon]", - Sprint: 1, - Mile: 5, - Medium: 7, - Long: 7, - Front: 2, - Pace: 6, - Late: 7, - End: 4, - Turf: 7, - Dirt: 1, - Unique: 100601, - Skill1: 200122, - Skill2: 201162, - Skill3: 201442, - SkillPL2: 200911, - SkillPL3: 201161, - SkillPL4: 201422, - SkillPL5: 201441, - }, - KingHaloKingofEmeralds: { - ID: 106101, - CharacterID: 1061, - Name: "[King of Emeralds] King Halo", - Variant: "[King of Emeralds]", - Sprint: 7, - Mile: 6, - Medium: 6, - Long: 5, - Front: 1, - Pace: 6, - Late: 7, - End: 4, - Turf: 7, - Dirt: 1, - Unique: 100611, - Skill1: 200262, - Skill2: 200672, - Skill3: 201432, - SkillPL2: 201142, - SkillPL3: 200671, - SkillPL4: 201072, - SkillPL5: 201431, - }, - SakuraChiyonoOStrengthinFullBloom: { - ID: 106901, - CharacterID: 1069, - Name: "[Strength in Full Bloom] Sakura Chiyono O", - Variant: "[Strength in Full Bloom]", - Sprint: 3, - Mile: 7, - Medium: 7, - Long: 3, - Front: 6, - Pace: 7, - Late: 2, - End: 1, - Turf: 7, - Dirt: 1, - Unique: 100691, - Skill1: 200172, - Skill2: 200582, - Skill3: 201112, - SkillPL2: 200342, - SkillPL3: 200581, - SkillPL4: 201532, - SkillPL5: 200174, - }, - MejiroArdanCrystalline: { - ID: 107101, - CharacterID: 1071, - Name: "[Crystalline] Mejiro Ardan", - Variant: "[Crystalline]", - Sprint: 3, - Mile: 6, - Medium: 7, - Long: 4, - Front: 5, - Pace: 7, - Late: 4, - End: 1, - Turf: 7, - Dirt: 2, - Unique: 100711, - Skill1: 200022, - Skill2: 200572, - Skill3: 201702, - SkillPL2: 201322, - SkillPL3: 200571, - SkillPL4: 201142, - SkillPL5: 201701, - }, -} diff --git a/horse/global/uma.kk b/horse/global/uma.kk deleted file mode 100644 index 11bc899..0000000 --- a/horse/global/uma.kk +++ /dev/null @@ -1,1571 +0,0 @@ -module horse/global/uma - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import horse/game-id -import horse/movement -pub import horse/uma - -extern create-id-table(): vector - c inline "int32_t arr[] = {100101,100102,100201,100301,100302,100401,100402,100501,100601,100602,100701,100801,100901,101001,101101,101102,101201,101301,101302,101401,101402,101501,101502,101601,101701,101702,101801,101802,101901,102001,102101,102201,102301,102302,102401,102402,102501,102601,102602,102701,102801,103001,103002,103201,103301,103501,103701,103702,103801,103901,104001,104002,104101,104501,104502,104601,104801,105001,105201,105202,105601,105602,105801,105901,106001,106101,106901,107101,};\nkk_vector_from_cint32array(arr, (kk_ssize_t)68, kk_context())" - js inline "[100101,100102,100201,100301,100302,100401,100402,100501,100601,100602,100701,100801,100901,101001,101101,101102,101201,101301,101302,101401,101402,101501,101502,101601,101701,101702,101801,101802,101901,102001,102101,102201,102301,102302,102401,102402,102501,102601,102602,102701,102801,103001,103002,103201,103301,103501,103701,103702,103801,103901,104001,104002,104101,104501,104502,104601,104801,105001,105201,105202,105601,105602,105801,105901,106001,106101,106901,107101,]" -// Vector of all Uma IDs in order for easy iterating. -pub val all = once(create-id-table) - -// Get the name for an Uma. -// The name includes the costume variant, e.g. `[Special Dreamer] Special Week`. -// If no Uma matches the ID, the result contains the numeric ID. -pub fun show(uma: uma-id): string - match uma.game-id - 100101 -> "[Special Dreamer] Special Week" - 100102 -> "[Hopp'n♪Happy Heart] Special Week" - 100201 -> "[Innocent Silence] Silence Suzuka" - 100301 -> "[Peak Joy] Tokai Teio" - 100302 -> "[Beyond the Horizon] Tokai Teio" - 100401 -> "[Formula R] Maruzensky" - 100402 -> "[Hot☆Summer Night] Maruzensky" - 100501 -> "[Shooting Star Revue] Fuji Kiseki" - 100601 -> "[Starlight Beat] Oguri Cap" - 100602 -> "[Ashen Miracle] Oguri Cap" - 100701 -> "[Red Strife] Gold Ship" - 100801 -> "[Wild Top Gear] Vodka" - 100901 -> "[Peak Blue] Daiwa Scarlet" - 101001 -> "[Wild Frontier] Taiki Shuttle" - 101101 -> "[Stone-Piercing Blue] Grass Wonder" - 101102 -> "[Saintly Jade Cleric] Grass Wonder" - 101201 -> "[Azure Amazon] Hishi Amazon" - 101301 -> "[Frontline Elegance] Mejiro McQueen" - 101302 -> "[End of the Skies] Mejiro McQueen" - 101401 -> "[El☆Número 1] El Condor Pasa" - 101402 -> "[Kukulkan Warrior] El Condor Pasa" - 101501 -> "[O Sole Suo!] T.M. Opera O" - 101502 -> "[New Year, Same Radiance!] T.M. Opera O" - 101601 -> "[Maverick] Narita Brian" - 101701 -> "[Emperor's Path] Symboli Rudolf" - 101702 -> "[Archer by Moonlight] Symboli Rudolf" - 101801 -> "[Empress Road] Air Groove" - 101802 -> "[Quercus Civilis] Air Groove" - 101901 -> "[Full-Color Fangirling] Agnes Digital" - 102001 -> "[Reeling in the Big One] Seiun Sky" - 102101 -> "[Fast as Lightning] Tamamo Cross" - 102201 -> "[Noble Seamair] Fine Motion" - 102301 -> "[pf. Winning Equation...] Biwa Hayahide" - 102302 -> "[Rouge Caroler] Biwa Hayahide" - 102401 -> "[Scramble☆Zone] Mayano Top Gun" - 102402 -> "[Sunlight Bouquet] Mayano Top Gun" - 102501 -> "[Creeping Shadow] Manhattan Cafe" - 102601 -> "[MB-19890425] Mihono Bourbon" - 102602 -> "[CODE: ICING] Mihono Bourbon" - 102701 -> "[Down the Line] Mejiro Ryan" - 102801 -> "[Buono ☆ Alla Moda] Hishi Akebono" - 103001 -> "[Rosy Dreams] Rice Shower" - 103002 -> "[Vampire Makeover!] Rice Shower" - 103201 -> "[Tach-nology] Agnes Tachyon" - 103301 -> "[Starry Nocturne] Admire Vega" - 103501 -> "[Get to Winning!] Winning Ticket" - 103701 -> "[Meisterschaft] Eishin Flash" - 103702 -> "[Precise Chocolatier] Eishin Flash" - 103801 -> "[Fille Éclair] Curren Chan" - 103901 -> "[Princess of Pink] Kawakami Princess" - 104001 -> "[Authentic / 1928] Gold City" - 104002 -> "[Autumn Cosmos] Gold City" - 104101 -> "[Blossom in Learning] Sakura Bakushin O" - 104501 -> "[Murmuring Stream] Super Creek" - 104502 -> "[Chiffon-Wrapped Mummy] Super Creek" - 104601 -> "[LOVE☆4EVER] Smart Falcon" - 104801 -> "[Jokester ☆ Vibes] Tosen Jordan" - 105001 -> "[Nevertheless] Narita Taishin" - 105201 -> "[Bestest Prize ♪] Haru Urara" - 105202 -> "[New Year ♪ New Urara!] Haru Urara" - 105601 -> "[Rising☆Fortune] Matikanefukukitaru" - 105602 -> "[Lucky Tidings] Matikanefukukitaru" - 105801 -> "[Turbulent Blue] Meisho Doto" - 105901 -> "[Off the Line] Mejiro Dober" - 106001 -> "[Poinsettia Ribbon] Nice Nature" - 106101 -> "[King of Emeralds] King Halo" - 106901 -> "[Strength in Full Bloom] Sakura Chiyono O" - 107101 -> "[Crystalline] Mejiro Ardan" - x -> "uma " ++ x.show - -// Get the costume variant for an Uma, e.g. `[Special Dreamer]`. -// If no Uma matches the ID, the result contains the numeric ID. -pub fun variant(uma: uma-id): string - match uma.game-id - 100101 -> "[Special Dreamer]" - 100102 -> "[Hopp'n♪Happy Heart]" - 100201 -> "[Innocent Silence]" - 100301 -> "[Peak Joy]" - 100302 -> "[Beyond the Horizon]" - 100401 -> "[Formula R]" - 100402 -> "[Hot☆Summer Night]" - 100501 -> "[Shooting Star Revue]" - 100601 -> "[Starlight Beat]" - 100602 -> "[Ashen Miracle]" - 100701 -> "[Red Strife]" - 100801 -> "[Wild Top Gear]" - 100901 -> "[Peak Blue]" - 101001 -> "[Wild Frontier]" - 101101 -> "[Stone-Piercing Blue]" - 101102 -> "[Saintly Jade Cleric ]" - 101201 -> "[Azure Amazon]" - 101301 -> "[Frontline Elegance]" - 101302 -> "[End of the Skies]" - 101401 -> "[El☆Número 1]" - 101402 -> "[Kukulkan Warrior]" - 101501 -> "[O Sole Suo!]" - 101502 -> "[New Year, Same Radiance!]" - 101601 -> "[Maverick]" - 101701 -> "[Emperor's Path]" - 101702 -> "[Archer by Moonlight]" - 101801 -> "[Empress Road]" - 101802 -> "[Quercus Civilis]" - 101901 -> "[Full-Color Fangirling]" - 102001 -> "[Reeling in the Big One]" - 102101 -> "[Fast as Lightning]" - 102201 -> "[Noble Seamair]" - 102301 -> "[pf. Winning Equation...]" - 102302 -> "[Rouge Caroler]" - 102401 -> "[Scramble☆Zone]" - 102402 -> "[Sunlight Bouquet]" - 102501 -> "[Creeping Shadow]" - 102601 -> "[MB-19890425]" - 102602 -> "[CODE: ICING]" - 102701 -> "[Down the Line]" - 102801 -> "[Buono ☆ Alla Moda]" - 103001 -> "[Rosy Dreams]" - 103002 -> "[Vampire Makeover!]" - 103201 -> "[tach-nology]" - 103301 -> "[Starry Nocturne]" - 103501 -> "[Get to Winning!]" - 103701 -> "[Meisterschaft]" - 103702 -> "[Precise Chocolatier]" - 103801 -> "[Fille Éclair]" - 103901 -> "[Princess of Pink]" - 104001 -> "[Authentic / 1928]" - 104002 -> "[Autumn Cosmos]" - 104101 -> "[Blossom in Learning]" - 104501 -> "[Murmuring Stream]" - 104502 -> "[Chiffon-Wrapped Mummy]" - 104601 -> "[LOVE☆4EVER]" - 104801 -> "[Jokester ☆ Vibes]" - 105001 -> "[Nevertheless]" - 105201 -> "[Bestest Prize ♪]" - 105202 -> "[New Year ♪ New Urara!]" - 105601 -> "[Rising☆Fortune]" - 105602 -> "[Lucky Tidings]" - 105801 -> "[Turbulent Blue]" - 105901 -> "[Off the Line]" - 106001 -> "[Poinsettia Ribbon]" - 106101 -> "[King of Emeralds]" - 106901 -> "[Strength in Full Bloom]" - 107101 -> "[Crystalline]" - x -> "uma " ++ x.show - -// Get the character ID for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun character-id(uma: uma-id): character-id - match uma.game-id - 100101 -> Character-id(1001) - 100102 -> Character-id(1001) - 100201 -> Character-id(1002) - 100301 -> Character-id(1003) - 100302 -> Character-id(1003) - 100401 -> Character-id(1004) - 100402 -> Character-id(1004) - 100501 -> Character-id(1005) - 100601 -> Character-id(1006) - 100602 -> Character-id(1006) - 100701 -> Character-id(1007) - 100801 -> Character-id(1008) - 100901 -> Character-id(1009) - 101001 -> Character-id(1010) - 101101 -> Character-id(1011) - 101102 -> Character-id(1011) - 101201 -> Character-id(1012) - 101301 -> Character-id(1013) - 101302 -> Character-id(1013) - 101401 -> Character-id(1014) - 101402 -> Character-id(1014) - 101501 -> Character-id(1015) - 101502 -> Character-id(1015) - 101601 -> Character-id(1016) - 101701 -> Character-id(1017) - 101702 -> Character-id(1017) - 101801 -> Character-id(1018) - 101802 -> Character-id(1018) - 101901 -> Character-id(1019) - 102001 -> Character-id(1020) - 102101 -> Character-id(1021) - 102201 -> Character-id(1022) - 102301 -> Character-id(1023) - 102302 -> Character-id(1023) - 102401 -> Character-id(1024) - 102402 -> Character-id(1024) - 102501 -> Character-id(1025) - 102601 -> Character-id(1026) - 102602 -> Character-id(1026) - 102701 -> Character-id(1027) - 102801 -> Character-id(1028) - 103001 -> Character-id(1030) - 103002 -> Character-id(1030) - 103201 -> Character-id(1032) - 103301 -> Character-id(1033) - 103501 -> Character-id(1035) - 103701 -> Character-id(1037) - 103702 -> Character-id(1037) - 103801 -> Character-id(1038) - 103901 -> Character-id(1039) - 104001 -> Character-id(1040) - 104002 -> Character-id(1040) - 104101 -> Character-id(1041) - 104501 -> Character-id(1045) - 104502 -> Character-id(1045) - 104601 -> Character-id(1046) - 104801 -> Character-id(1048) - 105001 -> Character-id(1050) - 105201 -> Character-id(1052) - 105202 -> Character-id(1052) - 105601 -> Character-id(1056) - 105602 -> Character-id(1056) - 105801 -> Character-id(1058) - 105901 -> Character-id(1059) - 106001 -> Character-id(1060) - 106101 -> Character-id(1061) - 106901 -> Character-id(1069) - 107101 -> Character-id(1071) - _ -> Character-id(0) - -// Get the sprint aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun sprint(uma: uma-id): aptitude-level - match uma.game-id - 100101 -> F - 100102 -> F - 100201 -> D - 100301 -> F - 100302 -> F - 100401 -> B - 100402 -> B - 100501 -> B - 100601 -> E - 100602 -> E - 100701 -> G - 100801 -> F - 100901 -> F - 101001 -> A - 101101 -> G - 101102 -> G - 101201 -> D - 101301 -> G - 101302 -> G - 101401 -> F - 101402 -> F - 101501 -> G - 101502 -> G - 101601 -> F - 101701 -> E - 101702 -> E - 101801 -> C - 101802 -> C - 101901 -> F - 102001 -> G - 102101 -> G - 102201 -> F - 102301 -> F - 102302 -> F - 102401 -> D - 102402 -> D - 102501 -> G - 102601 -> C - 102602 -> C - 102701 -> E - 102801 -> A - 103001 -> E - 103002 -> E - 103201 -> G - 103301 -> F - 103501 -> G - 103701 -> G - 103702 -> G - 103801 -> A - 103901 -> D - 104001 -> F - 104002 -> F - 104101 -> A - 104501 -> G - 104502 -> G - 104601 -> B - 104801 -> G - 105001 -> F - 105201 -> A - 105202 -> A - 105601 -> F - 105602 -> F - 105801 -> G - 105901 -> E - 106001 -> G - 106101 -> A - 106901 -> E - 107101 -> E - _ -> G - -// Get the mile aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun mile(uma: uma-id): aptitude-level - match uma.game-id - 100101 -> C - 100102 -> C - 100201 -> A - 100301 -> E - 100302 -> E - 100401 -> A - 100402 -> A - 100501 -> A - 100601 -> A - 100602 -> A - 100701 -> C - 100801 -> A - 100901 -> A - 101001 -> A - 101101 -> A - 101102 -> A - 101201 -> A - 101301 -> F - 101302 -> F - 101401 -> A - 101402 -> A - 101501 -> E - 101502 -> E - 101601 -> B - 101701 -> C - 101702 -> C - 101801 -> B - 101802 -> B - 101901 -> A - 102001 -> C - 102101 -> E - 102201 -> A - 102301 -> C - 102302 -> C - 102401 -> D - 102402 -> D - 102501 -> F - 102601 -> B - 102602 -> B - 102701 -> C - 102801 -> B - 103001 -> C - 103002 -> C - 103201 -> D - 103301 -> C - 103501 -> F - 103701 -> F - 103702 -> F - 103801 -> D - 103901 -> B - 104001 -> A - 104002 -> A - 104101 -> B - 104501 -> G - 104502 -> G - 104601 -> A - 104801 -> F - 105001 -> D - 105201 -> B - 105202 -> A - 105601 -> C - 105602 -> C - 105801 -> F - 105901 -> A - 106001 -> C - 106101 -> B - 106901 -> A - 107101 -> B - _ -> G - -// Get the medium aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun medium(uma: uma-id): aptitude-level - match uma.game-id - 100101 -> A - 100102 -> A - 100201 -> A - 100301 -> A - 100302 -> A - 100401 -> B - 100402 -> B - 100501 -> B - 100601 -> A - 100602 -> A - 100701 -> A - 100801 -> A - 100901 -> A - 101001 -> E - 101101 -> B - 101102 -> B - 101201 -> A - 101301 -> A - 101302 -> A - 101401 -> A - 101402 -> A - 101501 -> A - 101502 -> A - 101601 -> A - 101701 -> A - 101702 -> A - 101801 -> A - 101802 -> A - 101901 -> A - 102001 -> A - 102101 -> A - 102201 -> A - 102301 -> A - 102302 -> A - 102401 -> A - 102402 -> A - 102501 -> B - 102601 -> A - 102602 -> A - 102701 -> A - 102801 -> F - 103001 -> A - 103002 -> A - 103201 -> A - 103301 -> A - 103501 -> A - 103701 -> A - 103702 -> A - 103801 -> G - 103901 -> A - 104001 -> B - 104002 -> B - 104101 -> G - 104501 -> A - 104502 -> A - 104601 -> A - 104801 -> A - 105001 -> A - 105201 -> G - 105202 -> G - 105601 -> A - 105602 -> A - 105801 -> A - 105901 -> A - 106001 -> A - 106101 -> B - 106901 -> A - 107101 -> A - _ -> G - -// Get the long aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun long(uma: uma-id): aptitude-level - match uma.game-id - 100101 -> A - 100102 -> A - 100201 -> E - 100301 -> B - 100302 -> B - 100401 -> C - 100402 -> C - 100501 -> E - 100601 -> B - 100602 -> B - 100701 -> A - 100801 -> F - 100901 -> B - 101001 -> G - 101101 -> A - 101102 -> A - 101201 -> B - 101301 -> A - 101302 -> A - 101401 -> B - 101402 -> B - 101501 -> A - 101502 -> A - 101601 -> A - 101701 -> A - 101702 -> A - 101801 -> E - 101802 -> E - 101901 -> G - 102001 -> A - 102101 -> A - 102201 -> C - 102301 -> A - 102302 -> A - 102401 -> A - 102402 -> A - 102501 -> A - 102601 -> B - 102602 -> B - 102701 -> B - 102801 -> G - 103001 -> A - 103002 -> A - 103201 -> B - 103301 -> C - 103501 -> B - 103701 -> A - 103702 -> A - 103801 -> G - 103901 -> F - 104001 -> B - 104002 -> B - 104101 -> G - 104501 -> A - 104502 -> A - 104601 -> E - 104801 -> B - 105001 -> A - 105201 -> G - 105202 -> G - 105601 -> A - 105602 -> A - 105801 -> A - 105901 -> F - 106001 -> A - 106101 -> C - 106901 -> E - 107101 -> D - _ -> G - -// Get the front runner aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun front-runner(uma: uma-id): aptitude-level - match uma.game-id - 100101 -> G - 100102 -> G - 100201 -> A - 100301 -> D - 100302 -> D - 100401 -> A - 100402 -> A - 100501 -> C - 100601 -> F - 100602 -> F - 100701 -> G - 100801 -> C - 100901 -> A - 101001 -> C - 101101 -> F - 101102 -> F - 101201 -> G - 101301 -> B - 101302 -> B - 101401 -> E - 101402 -> E - 101501 -> C - 101502 -> C - 101601 -> G - 101701 -> B - 101702 -> B - 101801 -> D - 101802 -> D - 101901 -> G - 102001 -> A - 102101 -> G - 102201 -> D - 102301 -> E - 102302 -> E - 102401 -> A - 102402 -> A - 102501 -> G - 102601 -> A - 102602 -> A - 102701 -> F - 102801 -> B - 103001 -> B - 103002 -> B - 103201 -> E - 103301 -> G - 103501 -> G - 103701 -> G - 103702 -> G - 103801 -> B - 103901 -> G - 104001 -> F - 104002 -> F - 104101 -> A - 104501 -> D - 104502 -> D - 104601 -> A - 104801 -> C - 105001 -> G - 105201 -> G - 105202 -> G - 105601 -> G - 105602 -> G - 105801 -> F - 105901 -> C - 106001 -> F - 106101 -> G - 106901 -> B - 107101 -> C - _ -> G - -// Get the pace chaser aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun pace-chaser(uma: uma-id): aptitude-level - match uma.game-id - 100101 -> A - 100102 -> A - 100201 -> C - 100301 -> A - 100302 -> A - 100401 -> E - 100402 -> E - 100501 -> A - 100601 -> A - 100602 -> A - 100701 -> B - 100801 -> B - 100901 -> A - 101001 -> A - 101101 -> A - 101102 -> A - 101201 -> B - 101301 -> A - 101302 -> A - 101401 -> A - 101402 -> A - 101501 -> A - 101502 -> A - 101601 -> A - 101701 -> A - 101702 -> A - 101801 -> A - 101802 -> A - 101901 -> A - 102001 -> B - 102101 -> A - 102201 -> A - 102301 -> A - 102302 -> A - 102401 -> A - 102402 -> A - 102501 -> C - 102601 -> E - 102602 -> E - 102701 -> A - 102801 -> A - 103001 -> A - 103002 -> A - 103201 -> A - 103301 -> G - 103501 -> B - 103701 -> B - 103702 -> B - 103801 -> A - 103901 -> C - 104001 -> A - 104002 -> A - 104101 -> A - 104501 -> A - 104502 -> A - 104601 -> D - 104801 -> A - 105001 -> F - 105201 -> G - 105202 -> G - 105601 -> B - 105602 -> B - 105801 -> A - 105901 -> B - 106001 -> B - 106101 -> B - 106901 -> A - 107101 -> A - _ -> G - -// Get the late surger aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun late-surger(uma: uma-id): aptitude-level - match uma.game-id - 100101 -> A - 100102 -> A - 100201 -> E - 100301 -> C - 100302 -> C - 100401 -> G - 100402 -> G - 100501 -> C - 100601 -> A - 100602 -> A - 100701 -> B - 100801 -> A - 100901 -> E - 101001 -> E - 101101 -> A - 101102 -> A - 101201 -> C - 101301 -> D - 101302 -> D - 101401 -> A - 101402 -> A - 101501 -> A - 101502 -> A - 101601 -> A - 101701 -> A - 101702 -> A - 101801 -> A - 101802 -> A - 101901 -> A - 102001 -> D - 102101 -> A - 102201 -> E - 102301 -> B - 102302 -> B - 102401 -> B - 102402 -> B - 102501 -> A - 102601 -> G - 102602 -> G - 102701 -> A - 102801 -> C - 103001 -> C - 103002 -> C - 103201 -> B - 103301 -> B - 103501 -> A - 103701 -> A - 103702 -> A - 103801 -> E - 103901 -> A - 104001 -> A - 104002 -> A - 104101 -> F - 104501 -> B - 104502 -> B - 104601 -> G - 104801 -> B - 105001 -> B - 105201 -> A - 105202 -> A - 105601 -> A - 105602 -> A - 105801 -> B - 105901 -> A - 106001 -> A - 106101 -> A - 106901 -> F - 107101 -> D - _ -> G - -// Get the end closer aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun end-closer(uma: uma-id): aptitude-level - match uma.game-id - 100101 -> C - 100102 -> C - 100201 -> G - 100301 -> E - 100302 -> E - 100401 -> G - 100402 -> G - 100501 -> G - 100601 -> D - 100602 -> D - 100701 -> A - 100801 -> F - 100901 -> G - 101001 -> G - 101101 -> F - 101102 -> F - 101201 -> A - 101301 -> F - 101302 -> F - 101401 -> C - 101402 -> C - 101501 -> G - 101502 -> G - 101601 -> D - 101701 -> C - 101702 -> C - 101801 -> G - 101802 -> G - 101901 -> B - 102001 -> E - 102101 -> A - 102201 -> C - 102301 -> E - 102302 -> E - 102401 -> B - 102402 -> B - 102501 -> C - 102601 -> G - 102602 -> G - 102701 -> F - 102801 -> G - 103001 -> G - 103002 -> G - 103201 -> F - 103301 -> A - 103501 -> G - 103701 -> C - 103702 -> C - 103801 -> G - 103901 -> D - 104001 -> F - 104002 -> F - 104101 -> G - 104501 -> G - 104502 -> G - 104601 -> G - 104801 -> G - 105001 -> A - 105201 -> B - 105202 -> B - 105601 -> F - 105602 -> F - 105801 -> E - 105901 -> G - 106001 -> D - 106101 -> D - 106901 -> G - 107101 -> G - _ -> G - -// Get the turf aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun turf(uma: uma-id): aptitude-level - match uma.game-id - 100101 -> A - 100102 -> A - 100201 -> A - 100301 -> A - 100302 -> A - 100401 -> A - 100402 -> A - 100501 -> A - 100601 -> A - 100602 -> A - 100701 -> A - 100801 -> A - 100901 -> A - 101001 -> A - 101101 -> A - 101102 -> A - 101201 -> A - 101301 -> A - 101302 -> A - 101401 -> A - 101402 -> A - 101501 -> A - 101502 -> A - 101601 -> A - 101701 -> A - 101702 -> A - 101801 -> A - 101802 -> A - 101901 -> A - 102001 -> A - 102101 -> A - 102201 -> A - 102301 -> A - 102302 -> A - 102401 -> A - 102402 -> A - 102501 -> A - 102601 -> A - 102602 -> A - 102701 -> A - 102801 -> A - 103001 -> A - 103002 -> A - 103201 -> A - 103301 -> A - 103501 -> A - 103701 -> A - 103702 -> A - 103801 -> A - 103901 -> A - 104001 -> A - 104002 -> A - 104101 -> A - 104501 -> A - 104502 -> A - 104601 -> E - 104801 -> A - 105001 -> A - 105201 -> G - 105202 -> G - 105601 -> A - 105602 -> A - 105801 -> A - 105901 -> A - 106001 -> A - 106101 -> A - 106901 -> A - 107101 -> A - _ -> G - -// Get the dirt aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun dirt(uma: uma-id): aptitude-level - match uma.game-id - 100101 -> G - 100102 -> G - 100201 -> G - 100301 -> G - 100302 -> G - 100401 -> D - 100402 -> D - 100501 -> F - 100601 -> B - 100602 -> B - 100701 -> G - 100801 -> G - 100901 -> G - 101001 -> B - 101101 -> G - 101102 -> G - 101201 -> E - 101301 -> E - 101302 -> E - 101401 -> B - 101402 -> B - 101501 -> E - 101502 -> E - 101601 -> G - 101701 -> G - 101702 -> G - 101801 -> G - 101802 -> G - 101901 -> A - 102001 -> G - 102101 -> F - 102201 -> G - 102301 -> F - 102302 -> F - 102401 -> E - 102402 -> E - 102501 -> G - 102601 -> G - 102602 -> G - 102701 -> G - 102801 -> F - 103001 -> G - 103002 -> G - 103201 -> G - 103301 -> G - 103501 -> G - 103701 -> G - 103702 -> G - 103801 -> F - 103901 -> G - 104001 -> D - 104002 -> D - 104101 -> G - 104501 -> G - 104502 -> G - 104601 -> A - 104801 -> G - 105001 -> G - 105201 -> A - 105202 -> A - 105601 -> F - 105602 -> F - 105801 -> E - 105901 -> G - 106001 -> G - 106101 -> G - 106901 -> G - 107101 -> F - _ -> G - -// Get the unique skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun unique(uma: uma-id): skill-id - match uma.game-id - 100101 -> Skill-id(100011) - 100102 -> Skill-id(110011) - 100201 -> Skill-id(100021) - 100301 -> Skill-id(100031) - 100302 -> Skill-id(110031) - 100401 -> Skill-id(100041) - 100402 -> Skill-id(110041) - 100501 -> Skill-id(100051) - 100601 -> Skill-id(100061) - 100602 -> Skill-id(110061) - 100701 -> Skill-id(100071) - 100801 -> Skill-id(100081) - 100901 -> Skill-id(100091) - 101001 -> Skill-id(100101) - 101101 -> Skill-id(100111) - 101102 -> Skill-id(110111) - 101201 -> Skill-id(100121) - 101301 -> Skill-id(100131) - 101302 -> Skill-id(110131) - 101401 -> Skill-id(100141) - 101402 -> Skill-id(110141) - 101501 -> Skill-id(100151) - 101502 -> Skill-id(110151) - 101601 -> Skill-id(100161) - 101701 -> Skill-id(100171) - 101702 -> Skill-id(110171) - 101801 -> Skill-id(100181) - 101802 -> Skill-id(110181) - 101901 -> Skill-id(100191) - 102001 -> Skill-id(100201) - 102101 -> Skill-id(100211) - 102201 -> Skill-id(100221) - 102301 -> Skill-id(100231) - 102302 -> Skill-id(110231) - 102401 -> Skill-id(100241) - 102402 -> Skill-id(110241) - 102501 -> Skill-id(100251) - 102601 -> Skill-id(100261) - 102602 -> Skill-id(110261) - 102701 -> Skill-id(100271) - 102801 -> Skill-id(100281) - 103001 -> Skill-id(100301) - 103002 -> Skill-id(110301) - 103201 -> Skill-id(100321) - 103301 -> Skill-id(100331) - 103501 -> Skill-id(100351) - 103701 -> Skill-id(100371) - 103702 -> Skill-id(110371) - 103801 -> Skill-id(100381) - 103901 -> Skill-id(100391) - 104001 -> Skill-id(100401) - 104002 -> Skill-id(110401) - 104101 -> Skill-id(100411) - 104501 -> Skill-id(100451) - 104502 -> Skill-id(110451) - 104601 -> Skill-id(100461) - 104801 -> Skill-id(100481) - 105001 -> Skill-id(100501) - 105201 -> Skill-id(100521) - 105202 -> Skill-id(110521) - 105601 -> Skill-id(100561) - 105602 -> Skill-id(110561) - 105801 -> Skill-id(100581) - 105901 -> Skill-id(100591) - 106001 -> Skill-id(100601) - 106101 -> Skill-id(100611) - 106901 -> Skill-id(100691) - 107101 -> Skill-id(100711) - _ -> Skill-id(0) - -// Get the first built-in skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill1(uma: uma-id): skill-id - match uma.game-id - 100101 -> Skill-id(200512) - 100102 -> Skill-id(200462) - 100201 -> Skill-id(200432) - 100301 -> Skill-id(200452) - 100302 -> Skill-id(200452) - 100401 -> Skill-id(200362) - 100402 -> Skill-id(200352) - 100501 -> Skill-id(200771) - 100601 -> Skill-id(200342) - 100602 -> Skill-id(201621) - 100701 -> Skill-id(201591) - 100801 -> Skill-id(200382) - 100901 -> Skill-id(200282) - 101001 -> Skill-id(200362) - 101101 -> Skill-id(200871) - 101102 -> Skill-id(200472) - 101201 -> Skill-id(200502) - 101301 -> Skill-id(200172) - 101302 -> Skill-id(200362) - 101401 -> Skill-id(200362) - 101402 -> Skill-id(200512) - 101501 -> Skill-id(200582) - 101502 -> Skill-id(201312) - 101601 -> Skill-id(200362) - 101701 -> Skill-id(200332) - 101702 -> Skill-id(200192) - 101801 -> Skill-id(200502) - 101802 -> Skill-id(200342) - 101901 -> Skill-id(201591) - 102001 -> Skill-id(200881) - 102101 -> Skill-id(201611) - 102201 -> Skill-id(200192) - 102301 -> Skill-id(200162) - 102302 -> Skill-id(200512) - 102401 -> Skill-id(200382) - 102402 -> Skill-id(200352) - 102501 -> Skill-id(200232) - 102601 -> Skill-id(200232) - 102602 -> Skill-id(200432) - 102701 -> Skill-id(200232) - 102801 -> Skill-id(200212) - 103001 -> Skill-id(200861) - 103002 -> Skill-id(200771) - 103201 -> Skill-id(200132) - 103301 -> Skill-id(200492) - 103501 -> Skill-id(200152) - 103701 -> Skill-id(200502) - 103702 -> Skill-id(200302) - 103801 -> Skill-id(200462) - 103901 -> Skill-id(200492) - 104001 -> Skill-id(200052) - 104002 -> Skill-id(200232) - 104101 -> Skill-id(200841) - 104501 -> Skill-id(200352) - 104502 -> Skill-id(200332) - 104601 -> Skill-id(200452) - 104801 -> Skill-id(200302) - 105001 -> Skill-id(201641) - 105201 -> Skill-id(200442) - 105202 -> Skill-id(200452) - 105601 -> Skill-id(201562) - 105602 -> Skill-id(200012) - 105801 -> Skill-id(200472) - 105901 -> Skill-id(200062) - 106001 -> Skill-id(200122) - 106101 -> Skill-id(200262) - 106901 -> Skill-id(200172) - 107101 -> Skill-id(200022) - _ -> Skill-id(0) - -// Get the second built-in skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill2(uma: uma-id): skill-id - match uma.game-id - 100101 -> Skill-id(201352) - 100102 -> Skill-id(200592) - 100201 -> Skill-id(200552) - 100301 -> Skill-id(201132) - 100302 -> Skill-id(201142) - 100401 -> Skill-id(201052) - 100402 -> Skill-id(200682) - 100501 -> Skill-id(201072) - 100601 -> Skill-id(201062) - 100602 -> Skill-id(200752) - 100701 -> Skill-id(201212) - 100801 -> Skill-id(200702) - 100901 -> Skill-id(200722) - 101001 -> Skill-id(201052) - 101101 -> Skill-id(201152) - 101102 -> Skill-id(200742) - 101201 -> Skill-id(200632) - 101301 -> Skill-id(200562) - 101302 -> Skill-id(200562) - 101401 -> Skill-id(201122) - 101402 -> Skill-id(200702) - 101501 -> Skill-id(200722) - 101502 -> Skill-id(202012) - 101601 -> Skill-id(201102) - 101701 -> Skill-id(201152) - 101702 -> Skill-id(200752) - 101801 -> Skill-id(200722) - 101802 -> Skill-id(201072) - 101901 -> Skill-id(201682) - 102001 -> Skill-id(201192) - 102101 -> Skill-id(201132) - 102201 -> Skill-id(200582) - 102301 -> Skill-id(200742) - 102302 -> Skill-id(201202) - 102401 -> Skill-id(201272) - 102402 -> Skill-id(201332) - 102501 -> Skill-id(201222) - 102601 -> Skill-id(200532) - 102602 -> Skill-id(200542) - 102701 -> Skill-id(200722) - 102801 -> Skill-id(201352) - 103001 -> Skill-id(201342) - 103002 -> Skill-id(201172) - 103201 -> Skill-id(201152) - 103301 -> Skill-id(201152) - 103501 -> Skill-id(200732) - 103701 -> Skill-id(201542) - 103702 -> Skill-id(200592) - 103801 -> Skill-id(201372) - 103901 -> Skill-id(201072) - 104001 -> Skill-id(200692) - 104002 -> Skill-id(201092) - 104101 -> Skill-id(201312) - 104501 -> Skill-id(200742) - 104502 -> Skill-id(201162) - 104601 -> Skill-id(201522) - 104801 -> Skill-id(200602) - 105001 -> Skill-id(200622) - 105201 -> Skill-id(200652) - 105202 -> Skill-id(201072) - 105601 -> Skill-id(201422) - 105602 -> Skill-id(200602) - 105801 -> Skill-id(201112) - 105901 -> Skill-id(201442) - 106001 -> Skill-id(201162) - 106101 -> Skill-id(200672) - 106901 -> Skill-id(200582) - 107101 -> Skill-id(200572) - _ -> Skill-id(0) - -// Get the third built-in skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill3(uma: uma-id): skill-id - match uma.game-id - 100101 -> Skill-id(200732) - 100102 -> Skill-id(201132) - 100201 -> Skill-id(200712) - 100301 -> Skill-id(201332) - 100302 -> Skill-id(200572) - 100401 -> Skill-id(200532) - 100402 -> Skill-id(201282) - 100501 -> Skill-id(200572) - 100601 -> Skill-id(201352) - 100602 -> Skill-id(201352) - 100701 -> Skill-id(201472) - 100801 -> Skill-id(200602) - 100901 -> Skill-id(200572) - 101001 -> Skill-id(201532) - 101101 -> Skill-id(200602) - 101102 -> Skill-id(201422) - 101201 -> Skill-id(200732) - 101301 -> Skill-id(201192) - 101302 -> Skill-id(200742) - 101401 -> Skill-id(201312) - 101402 -> Skill-id(200612) - 101501 -> Skill-id(200142) - 101502 -> Skill-id(200352) - 101601 -> Skill-id(200572) - 101701 -> Skill-id(200572) - 101702 -> Skill-id(200562) - 101801 -> Skill-id(201372) - 101802 -> Skill-id(201322) - 101901 -> Skill-id(201382) - 102001 -> Skill-id(200542) - 102101 -> Skill-id(200592) - 102201 -> Skill-id(201112) - 102301 -> Skill-id(200562) - 102302 -> Skill-id(200572) - 102401 -> Skill-id(200742) - 102402 -> Skill-id(201162) - 102501 -> Skill-id(201422) - 102601 -> Skill-id(200712) - 102602 -> Skill-id(200762) - 102701 -> Skill-id(200612) - 102801 -> Skill-id(201002) - 103001 -> Skill-id(200742) - 103002 -> Skill-id(200562) - 103201 -> Skill-id(200572) - 103301 -> Skill-id(201492) - 103501 -> Skill-id(201402) - 103701 -> Skill-id(201112) - 103702 -> Skill-id(201152) - 103801 -> Skill-id(201012) - 103901 -> Skill-id(200612) - 104001 -> Skill-id(200602) - 104002 -> Skill-id(201692) - 104101 -> Skill-id(200652) - 104501 -> Skill-id(201372) - 104502 -> Skill-id(201352) - 104601 -> Skill-id(201672) - 104801 -> Skill-id(201102) - 105001 -> Skill-id(201162) - 105201 -> Skill-id(201412) - 105202 -> Skill-id(201402) - 105601 -> Skill-id(201232) - 105602 -> Skill-id(201212) - 105801 -> Skill-id(200582) - 105901 -> Skill-id(201142) - 106001 -> Skill-id(201442) - 106101 -> Skill-id(201432) - 106901 -> Skill-id(201112) - 107101 -> Skill-id(201702) - _ -> Skill-id(0) - -// Get the potential level 2 skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill-pl2(uma: uma-id): skill-id - match uma.game-id - 100101 -> Skill-id(200162) - 100102 -> Skill-id(200212) - 100201 -> Skill-id(200022) - 100301 -> Skill-id(200502) - 100302 -> Skill-id(200172) - 100401 -> Skill-id(201062) - 100402 -> Skill-id(201571) - 100501 -> Skill-id(201052) - 100601 -> Skill-id(200222) - 100602 -> Skill-id(201422) - 100701 -> Skill-id(201482) - 100801 -> Skill-id(200372) - 100901 -> Skill-id(200562) - 101001 -> Skill-id(200682) - 101101 -> Skill-id(200512) - 101102 -> Skill-id(200771) - 101201 -> Skill-id(201452) - 101301 -> Skill-id(201182) - 101302 -> Skill-id(200192) - 101401 -> Skill-id(200562) - 101402 -> Skill-id(201072) - 101501 -> Skill-id(200362) - 101502 -> Skill-id(200252) - 101601 -> Skill-id(200512) - 101701 -> Skill-id(200891) - 101702 -> Skill-id(201342) - 101801 -> Skill-id(200941) - 101802 -> Skill-id(201532) - 101901 -> Skill-id(200162) - 102001 -> Skill-id(201522) - 102101 -> Skill-id(200572) - 102201 -> Skill-id(201342) - 102301 -> Skill-id(200262) - 102302 -> Skill-id(201532) - 102401 -> Skill-id(200492) - 102402 -> Skill-id(200432) - 102501 -> Skill-id(201581) - 102601 -> Skill-id(201242) - 102602 -> Skill-id(201522) - 102701 -> Skill-id(200472) - 102801 -> Skill-id(201362) - 103001 -> Skill-id(201581) - 103002 -> Skill-id(200352) - 103201 -> Skill-id(201102) - 103301 -> Skill-id(200632) - 103501 -> Skill-id(200592) - 103701 -> Skill-id(200512) - 103702 -> Skill-id(201102) - 103801 -> Skill-id(201002) - 103901 -> Skill-id(201382) - 104001 -> Skill-id(201651) - 104002 -> Skill-id(201542) - 104101 -> Skill-id(200982) - 104501 -> Skill-id(200462) - 104502 -> Skill-id(201322) - 104601 -> Skill-id(200162) - 104801 -> Skill-id(200572) - 105001 -> Skill-id(200642) - 105201 -> Skill-id(200472) - 105202 -> Skill-id(201621) - 105601 -> Skill-id(201571) - 105602 -> Skill-id(200752) - 105801 -> Skill-id(200142) - 105901 -> Skill-id(201382) - 106001 -> Skill-id(200911) - 106101 -> Skill-id(201142) - 106901 -> Skill-id(200342) - 107101 -> Skill-id(201322) - _ -> Skill-id(0) - -// Get the potential level 3 skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill-pl3(uma: uma-id): skill-id - match uma.game-id - 100101 -> Skill-id(201351) - 100102 -> Skill-id(200591) - 100201 -> Skill-id(200431) - 100301 -> Skill-id(201331) - 100302 -> Skill-id(200571) - 100401 -> Skill-id(201051) - 100402 -> Skill-id(201281) - 100501 -> Skill-id(201071) - 100601 -> Skill-id(201351) - 100602 -> Skill-id(201351) - 100701 -> Skill-id(201471) - 100801 -> Skill-id(200381) - 100901 -> Skill-id(200721) - 101001 -> Skill-id(201051) - 101101 -> Skill-id(201151) - 101102 -> Skill-id(200741) - 101201 -> Skill-id(200731) - 101301 -> Skill-id(201191) - 101302 -> Skill-id(200741) - 101401 -> Skill-id(201121) - 101402 -> Skill-id(200701) - 101501 -> Skill-id(200581) - 101502 -> Skill-id(200351) - 101601 -> Skill-id(200361) - 101701 -> Skill-id(201151) - 101702 -> Skill-id(200561) - 101801 -> Skill-id(201371) - 101802 -> Skill-id(201071) - 101901 -> Skill-id(201592) - 102001 -> Skill-id(201191) - 102101 -> Skill-id(200591) - 102201 -> Skill-id(200581) - 102301 -> Skill-id(200561) - 102302 -> Skill-id(201201) - 102401 -> Skill-id(200381) - 102402 -> Skill-id(201161) - 102501 -> Skill-id(201421) - 102601 -> Skill-id(200531) - 102602 -> Skill-id(200541) - 102701 -> Skill-id(200721) - 102801 -> Skill-id(201001) - 103001 -> Skill-id(201341) - 103002 -> Skill-id(200561) - 103201 -> Skill-id(201151) - 103301 -> Skill-id(201491) - 103501 -> Skill-id(201401) - 103701 -> Skill-id(200501) - 103702 -> Skill-id(201151) - 103801 -> Skill-id(201371) - 103901 -> Skill-id(200491) - 104001 -> Skill-id(200691) - 104002 -> Skill-id(201091) - 104101 -> Skill-id(200651) - 104501 -> Skill-id(201371) - 104502 -> Skill-id(200331) - 104601 -> Skill-id(200451) - 104801 -> Skill-id(200601) - 105001 -> Skill-id(200621) - 105201 -> Skill-id(200441) - 105202 -> Skill-id(200451) - 105601 -> Skill-id(201231) - 105602 -> Skill-id(201211) - 105801 -> Skill-id(200581) - 105901 -> Skill-id(201441) - 106001 -> Skill-id(201161) - 106101 -> Skill-id(200671) - 106901 -> Skill-id(200581) - 107101 -> Skill-id(200571) - _ -> Skill-id(0) - -// Get the potential level 4 skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill-pl4(uma: uma-id): skill-id - match uma.game-id - 100101 -> Skill-id(200612) - 100102 -> Skill-id(201611) - 100201 -> Skill-id(200542) - 100301 -> Skill-id(201142) - 100302 -> Skill-id(200352) - 100401 -> Skill-id(200432) - 100402 -> Skill-id(201082) - 100501 -> Skill-id(201042) - 100601 -> Skill-id(200492) - 100602 -> Skill-id(201571) - 100701 -> Skill-id(200622) - 100801 -> Skill-id(201032) - 100901 -> Skill-id(200582) - 101001 -> Skill-id(201032) - 101101 -> Skill-id(200592) - 101102 -> Skill-id(201542) - 101201 -> Skill-id(201462) - 101301 -> Skill-id(201352) - 101302 -> Skill-id(200462) - 101401 -> Skill-id(200722) - 101402 -> Skill-id(201412) - 101501 -> Skill-id(200562) - 101502 -> Skill-id(200202) - 101601 -> Skill-id(201641) - 101701 -> Skill-id(201322) - 101702 -> Skill-id(201312) - 101801 -> Skill-id(200931) - 101802 -> Skill-id(200462) - 101901 -> Skill-id(201102) - 102001 -> Skill-id(201611) - 102101 -> Skill-id(200642) - 102201 -> Skill-id(200012) - 102301 -> Skill-id(200821) - 102302 -> Skill-id(201312) - 102401 -> Skill-id(200502) - 102402 -> Skill-id(200332) - 102501 -> Skill-id(201202) - 102601 -> Skill-id(201252) - 102602 -> Skill-id(201601) - 102701 -> Skill-id(201102) - 102801 -> Skill-id(201012) - 103001 -> Skill-id(201352) - 103002 -> Skill-id(200851) - 103201 -> Skill-id(201112) - 103301 -> Skill-id(200861) - 103501 -> Skill-id(201392) - 103701 -> Skill-id(200432) - 103702 -> Skill-id(201392) - 103801 -> Skill-id(200582) - 103901 -> Skill-id(200132) - 104001 -> Skill-id(201062) - 104002 -> Skill-id(201392) - 104101 -> Skill-id(200992) - 104501 -> Skill-id(200881) - 104502 -> Skill-id(201102) - 104601 -> Skill-id(200952) - 104801 -> Skill-id(201702) - 105001 -> Skill-id(201452) - 105201 -> Skill-id(200302) - 105202 -> Skill-id(200242) - 105601 -> Skill-id(200781) - 105602 -> Skill-id(200062) - 105801 -> Skill-id(200861) - 105901 -> Skill-id(200722) - 106001 -> Skill-id(201422) - 106101 -> Skill-id(201072) - 106901 -> Skill-id(201532) - 107101 -> Skill-id(201142) - _ -> Skill-id(0) - -// Get the potential level 5 skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill-pl5(uma: uma-id): skill-id - match uma.game-id - 100101 -> Skill-id(200511) - 100102 -> Skill-id(200461) - 100201 -> Skill-id(200551) - 100301 -> Skill-id(201131) - 100302 -> Skill-id(201141) - 100401 -> Skill-id(201061) - 100402 -> Skill-id(200681) - 100501 -> Skill-id(200571) - 100601 -> Skill-id(200341) - 100602 -> Skill-id(200751) - 100701 -> Skill-id(201481) - 100801 -> Skill-id(200701) - 100901 -> Skill-id(200571) - 101001 -> Skill-id(200681) - 101101 -> Skill-id(200601) - 101102 -> Skill-id(201421) - 101201 -> Skill-id(200631) - 101301 -> Skill-id(200561) - 101302 -> Skill-id(200361) - 101401 -> Skill-id(200561) - 101402 -> Skill-id(200611) - 101501 -> Skill-id(200721) - 101502 -> Skill-id(202011) - 101601 -> Skill-id(200511) - 101701 -> Skill-id(200331) - 101702 -> Skill-id(200194) - 101801 -> Skill-id(200501) - 101802 -> Skill-id(200341) - 101901 -> Skill-id(201681) - 102001 -> Skill-id(200541) - 102101 -> Skill-id(201612) - 102201 -> Skill-id(201341) - 102301 -> Skill-id(200741) - 102302 -> Skill-id(200511) - 102401 -> Skill-id(200491) - 102402 -> Skill-id(200351) - 102501 -> Skill-id(201221) - 102601 -> Skill-id(200711) - 102602 -> Skill-id(200431) - 102701 -> Skill-id(200611) - 102801 -> Skill-id(201351) - 103001 -> Skill-id(200741) - 103002 -> Skill-id(200772) - 103201 -> Skill-id(200571) - 103301 -> Skill-id(200631) - 103501 -> Skill-id(200591) - 103701 -> Skill-id(200511) - 103702 -> Skill-id(201103) - 103801 -> Skill-id(201011) - 103901 -> Skill-id(200611) - 104001 -> Skill-id(200601) - 104002 -> Skill-id(201691) - 104101 -> Skill-id(200981) - 104501 -> Skill-id(200351) - 104502 -> Skill-id(201161) - 104601 -> Skill-id(201671) - 104801 -> Skill-id(200571) - 105001 -> Skill-id(200641) - 105201 -> Skill-id(200471) - 105202 -> Skill-id(201401) - 105601 -> Skill-id(201561) - 105602 -> Skill-id(200751) - 105801 -> Skill-id(200471) - 105901 -> Skill-id(200064) - 106001 -> Skill-id(201441) - 106101 -> Skill-id(201431) - 106901 -> Skill-id(200174) - 107101 -> Skill-id(201701) - _ -> Skill-id(0) diff --git a/horse/skill_test.go b/horse/skill_test.go index 4611821..28c06fd 100644 --- a/horse/skill_test.go +++ b/horse/skill_test.go @@ -1,38 +1,11 @@ package horse_test import ( - "cmp" - "slices" - "strings" - "sync" "testing" "git.sunturtle.xyz/zephyr/horse/horse" - "git.sunturtle.xyz/zephyr/horse/horse/global" ) -var SortedSkills = sync.OnceValue(func() []horse.Skill { - skills := make([]horse.Skill, 0, len(global.AllSkills)) - for _, v := range global.AllSkills { - skills = append(skills, v) - } - slices.SortFunc(skills, func(a, b horse.Skill) int { return cmp.Compare(a.ID, b.ID) }) - return skills -}) - -func TestSkillStrings(t *testing.T) { - t.Parallel() - for _, s := range SortedSkills() { - for _, a := range s.Activations { - for _, abil := range a.Abilities { - if n := abil.Type.String(); strings.HasPrefix(n, "AbilityType(") { - t.Errorf("%v %s: %s", s.ID, s.Name, n) - } - } - } - } -} - func TestTenThousandthsString(t *testing.T) { t.Parallel() cases := []struct { diff --git a/horsegen/README.md b/horsegen/README.md deleted file mode 100644 index c1d2452..0000000 --- a/horsegen/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# gen - -Go tool to generate the Koka source code from the game's SQLite database. - -Code is generated using Go templates. -Templates use a `kkenum` function which converts a name `Mr. C.B.` to a Koka enumerant name `Mr-CB`. \ No newline at end of file diff --git a/horsegen/character.affinity2.sql b/horsegen/character.affinity2.sql deleted file mode 100644 index edae2b9..0000000 --- a/horsegen/character.affinity2.sql +++ /dev/null @@ -1,44 +0,0 @@ -WITH uma_names AS ( - SELECT - "index" AS "id", - "text" AS "name" - FROM text_data - WHERE category = 6 AND "index" BETWEEN 1000 AND 1999 - -- Exclude characters who have no succession relations defined. - AND "index" IN (SELECT chara_id FROM succession_relation_member) -), pairs AS ( - SELECT - a.id AS id_a, - a.name AS name_a, - b.id AS id_b, - b.name AS name_b - FROM uma_names a - JOIN uma_names b ON a.id != b.id -- exclude reflexive cases -), relation_pairs AS ( - SELECT - ra.relation_type, - ra.chara_id AS id_a, - rb.chara_id AS id_b - FROM succession_relation_member ra - JOIN succession_relation_member rb ON ra.relation_type = rb.relation_type -), affinity AS ( - SELECT - pairs.*, - SUM(IFNULL(relation_point, 0)) AS base_affinity - FROM pairs - LEFT JOIN relation_pairs rp ON pairs.id_a = rp.id_a AND pairs.id_b = rp.id_b - LEFT JOIN succession_relation sr ON rp.relation_type = sr.relation_type - GROUP BY pairs.id_a, pairs.id_b - - UNION ALL - -- Reflexive cases. - SELECT - uma_names.id AS id_a, - uma_names.name AS name_a, - uma_names.id AS id_b, - uma_names.name AS name_b, - 0 AS base_affinity - FROM uma_names -) -SELECT * FROM affinity -ORDER BY id_a, id_b diff --git a/horsegen/character.affinity3.sql b/horsegen/character.affinity3.sql deleted file mode 100644 index 14b04a6..0000000 --- a/horsegen/character.affinity3.sql +++ /dev/null @@ -1,87 +0,0 @@ -WITH uma_names AS ( - SELECT - "index" AS "id", - "text" AS "name" - FROM text_data - WHERE category = 6 AND "index" BETWEEN 1000 AND 1999 - -- Exclude characters who have no succession relations defined. - AND "index" IN (SELECT chara_id FROM succession_relation_member) -), trios AS ( - SELECT - a.id AS id_a, - a.name AS name_a, - b.id AS id_b, - b.name AS name_b, - c.id AS id_c, - c.name AS name_c - FROM uma_names a - JOIN uma_names b ON a.id != b.id -- exclude pairwise reflexive cases - JOIN uma_names c ON a.id != c.id AND b.id != c.id -), relation_trios AS ( - SELECT - ra.relation_type, - ra.chara_id AS id_a, - rb.chara_id AS id_b, - rc.chara_id AS id_c - FROM succession_relation_member ra - JOIN succession_relation_member rb ON ra.relation_type = rb.relation_type - JOIN succession_relation_member rc ON ra.relation_type = rc.relation_type -), affinity AS ( - SELECT - trios.*, - SUM(IFNULL(relation_point, 0)) AS base_affinity - FROM trios - LEFT JOIN relation_trios rt ON trios.id_a = rt.id_a AND trios.id_b = rt.id_b AND trios.id_c = rt.id_c - LEFT JOIN succession_relation sr ON rt.relation_type = sr.relation_type - GROUP BY trios.id_a, trios.id_b, trios.id_c - - UNION ALL - -- A = B = C - SELECT - n.id AS id_a, - n.name AS name_a, - n.id AS id_b, - n.name AS name_b, - n.id AS id_c, - n.name AS name_c, - 0 AS base_affinity - FROM uma_names n - - UNION ALL - -- A = B - SELECT - n.id AS id_a, - n.name AS name_a, - n.id AS id_a, - n.name AS id_b, - m.id AS id_c, - m.name AS name_c, - 0 AS base_affinity - FROM uma_names n JOIN uma_names m ON n.id != m.id - - UNION ALL - -- A = C - SELECT - n.id AS id_a, - n.name AS name_a, - m.id AS id_a, - m.name AS id_b, - n.id AS id_c, - n.name AS name_c, - 0 AS base_affinity - FROM uma_names n JOIN uma_names m ON n.id != m.id - - UNION ALL - -- B = C - SELECT - m.id AS id_a, - m.name AS name_a, - n.id AS id_a, - n.name AS id_b, - n.id AS id_c, - n.name AS name_c, - 0 AS base_affinity - FROM uma_names n JOIN uma_names m ON n.id != m.id -) -SELECT * FROM affinity -ORDER BY id_a, id_b, id_c diff --git a/horsegen/character.go.template b/horsegen/character.go.template deleted file mode 100644 index c56ec30..0000000 --- a/horsegen/character.go.template +++ /dev/null @@ -1,72 +0,0 @@ -{{ define "go-character" -}} -package {{ $.Region }} - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - {{- range $c := $.Characters }} - Character{{ goenum $c.Name }} CharacterID = {{ $c.ID }} // {{ $c.Name }} - {{- end }} -) - -var OrderedCharacters = [...]CharacterID{ - {{- range $c := $.Characters }} - Character{{ goenum $c.Name }}, - {{- end }} -} - -var Characters = map[CharacterID]Character{ - {{- range $c := $.Characters }} - Character{{ goenum $c.Name }}: {ID: {{ $c.ID }}, Name: {{ printf "%q" $c.Name -}} }, - {{- end }} -} - -var CharacterNameToID = map[string]CharacterID{ - {{- range $c := $.Characters }} - {{ printf "%q" $c.Name }}: {{ $c.ID }}, - {{- end }} -} - -var pairAffinity = []int8{ - {{- range $a := $.Characters -}} - {{- range $b := $.Characters -}} - {{- index $.PairMaps $a.ID $b.ID -}}, - {{- end -}} - {{- end -}} -} - -var trioAffinity = []int8{ - {{- range $a := $.Characters -}} - {{- range $b := $.Characters -}} - {{- range $c := $.Characters -}} - {{- index $.TrioMaps $a.ID $b.ID $c.ID -}}, - {{- end -}} - {{- end -}} - {{- end -}} -} - -func PairAffinity(a, b CharacterID) int { - if _, ok := Characters[a]; !ok { - return 0 - } - if _, ok := Characters[b]; !ok { - return 0 - } - return int(pairAffinity[a*{{ $.CharaCount }} + b]) -} - -func TrioAffinity(a, b, c CharacterID) int { - if _, ok := Characters[a]; !ok { - return 0 - } - if _, ok := Characters[b]; !ok { - return 0 - } - if _, ok := Characters[c]; !ok { - return 0 - } - return int(trioAffinity[a*{{ $.CharaCount }}*{{ $.CharaCount }} + b*{{ $.CharaCount }} + c]) -} -{{ end }} diff --git a/horsegen/character.kk.template b/horsegen/character.kk.template deleted file mode 100644 index 52a7adf..0000000 --- a/horsegen/character.kk.template +++ /dev/null @@ -1,94 +0,0 @@ -{{ define "koka-character" -}} -module horse/{{ $.Region }}/character - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import std/data/rb-map -import horse/game-id -pub import horse/character - -extern create-id-table(): vector - c inline "int32_t arr[] = { {{- range $chara := $.Characters }}{{ $chara.ID }},{{ end -}} };\nkk_vector_from_cint32array(arr, (kk_ssize_t){{ $.CharaCount }}, kk_context())" - js inline "[{{ range $chara := $.Characters }}{{ $chara.ID }},{{ end }}]" -// Vector of all character ID values in order for easy iterating. -pub val all = once(create-id-table) - -val name2id = once() - var m: rbmap := empty() - all().foreach() fn(id) m := m.set(Character-id(id).show, id) - m - -// Get the character ID that has the given exact name. -// If no character matches the name, the result is an invalid ID. -pub fun from-name(name: string): character-id - Character-id(name2id().rb-map/lookup(name).default(0)) - -// Get the name for a character. -// If no character matches the ID, the result is the numeric ID. -pub fun show(c: character-id): string - match c.game-id - {{- range $chara := $.Characters }} - {{ $chara.ID }} -> {{ printf "%q" $chara.Name }} - {{- end }} - x -> "character " ++ x.show - -fun character/index(c: character-id): int - match c.game-id - {{- range $chara := $.Characters }} - {{ $chara.ID }} -> {{ $chara.Index }} - {{- end }} - _ -> -99999999 - -// Create the table of all pair affinities. -// The affinity is the value at a.index*count + b.index. -extern global/create-pair-table(): vector - c inline "int32_t arr[] = { - {{- range $a := $.Characters }} - {{- range $b := $.Characters }} - {{- index $.PairMaps $a.ID $b.ID }}, - {{- end }} - {{- end -}} - };\nkk_vector_from_cint32array(arr, (kk_ssize_t){{ $.CharaCount }} * (kk_ssize_t){{ $.CharaCount }}, kk_context())" - js inline "[ - {{- range $a := $.Characters }} - {{- range $b := $.Characters }} - {{- index $.PairMaps $a.ID $b.ID }}, - {{- end }} - {{- end -}} - ]" -val global/pair-table = global/create-pair-table() - -// Base affinity between a pair using the global ruleset. -pub fun global/pair-affinity(a: character-id, b: character-id): int - global/pair-table.at(a.index * {{ $.CharaCount }} + b.index).default(0) - -// Create the table of all trio affinities. -// The affinity is the value at a.index*count*count + b.index*count + c.index. -extern global/create-trio-table(): vector - c inline "int32_t arr[] = { - {{- range $a := $.Characters }} - {{- range $b := $.Characters }} - {{- range $c := $.Characters }} - {{- index $.TrioMaps $a.ID $b.ID $c.ID }}, - {{- end }} - {{- end }} - {{- end -}} - };\nkk_vector_from_cint32array(arr, (kk_ssize_t){{ $.CharaCount }} * (kk_ssize_t){{ $.CharaCount }} * (kk_ssize_t){{ $.CharaCount }}, kk_context())" - js inline "[ - {{- range $a := $.Characters }} - {{- range $b := $.Characters }} - {{- range $c := $.Characters }} - {{- index $.TrioMaps $a.ID $b.ID $c.ID }}, - {{- end }} - {{- end }} - {{- end -}} - ]" -val global/trio-table = global/create-trio-table() - -// Base affinity for a trio using the global ruleset. -pub fun global/trio-affinity(a: character-id, b: character-id, c: character-id): int - global/trio-table.at(a.index * {{ $.CharaCount }} * {{ $.CharaCount }} + b.index * {{ $.CharaCount }} + c.index).default(0) -{{ end }} diff --git a/horsegen/character.sql b/horsegen/character.sql deleted file mode 100644 index 5d55f53..0000000 --- a/horsegen/character.sql +++ /dev/null @@ -1,9 +0,0 @@ -SELECT - "index" AS "id", - "text" AS "name", - ROW_NUMBER() OVER (ORDER BY "index") - 1 AS "index" -FROM text_data -WHERE category = 6 AND "index" BETWEEN 1000 AND 1999 - -- Exclude characters who have no succession relations defined. - AND "index" IN (SELECT chara_id FROM succession_relation_member) -ORDER BY "id" diff --git a/horsegen/gen.go b/horsegen/gen.go deleted file mode 100644 index 6ce0115..0000000 --- a/horsegen/gen.go +++ /dev/null @@ -1,263 +0,0 @@ -package main - -import ( - "embed" - "errors" - "fmt" - "io" - "regexp" - "strings" - "text/template" - "unicode" -) - -//go:embed *.template -var templates embed.FS - -// LoadTemplates sets up templates to render game data to source code. -func LoadTemplates() (*template.Template, error) { - t := template.New("root") - t.Funcs(template.FuncMap{ - "kkenum": kkenum, - "goenum": goenum, - }) - return t.ParseFS(templates, "*") -} - -// ExecCharacter renders the Koka character module to kk and the Go character file to g. -// If either is nil, it is skipped. -func ExecCharacter(t *template.Template, region string, kk, g io.Writer, c []NamedID[Character], pairs, trios []AffinityRelation) error { - if len(pairs) != len(c)*len(c) { - return fmt.Errorf("there are %d pairs but there must be %d for %d characters", len(pairs), len(c)*len(c), len(c)) - } - if len(trios) != len(c)*len(c)*len(c) { - return fmt.Errorf("there are %d trios but there must be %d for %d characters", len(trios), len(c)*len(c)*len(c), len(c)) - } - - maxid := 0 - pm := make(map[int]map[int]int, len(c)) - tm := make(map[int]map[int]map[int]int, len(c)) - for _, u := range c { - maxid = max(maxid, u.ID) - pm[u.ID] = make(map[int]int, len(c)) - tm[u.ID] = make(map[int]map[int]int, len(c)) - for _, v := range c { - tm[u.ID][v.ID] = make(map[int]int, len(c)) - } - } - for _, p := range pairs { - pm[p.IDA][p.IDB] = p.Affinity - } - for _, t := range trios { - tm[t.IDA][t.IDB][t.IDC] = t.Affinity - } - - data := struct { - Region string - Characters []NamedID[Character] - Pairs []AffinityRelation - Trios []AffinityRelation - PairMaps map[int]map[int]int - TrioMaps map[int]map[int]map[int]int - CharaCount int - MaxID int - }{region, c, pairs, trios, pm, tm, len(c), maxid} - var err error - if kk != nil { - err = errors.Join(err, t.ExecuteTemplate(kk, "koka-character", &data)) - } - if g != nil { - err = errors.Join(err, t.ExecuteTemplate(g, "go-character", &data)) - } - return err -} - -func ExecSkill(t *template.Template, region string, kk, g io.Writer, groups []NamedID[SkillGroup], skills []Skill) error { - m := make(map[int][]Skill, len(groups)) - for _, t := range skills { - m[t.GroupID] = append(m[t.GroupID], t) - } - data := struct { - Region string - Groups []NamedID[SkillGroup] - Skills []Skill - Related map[int][]Skill - SkillCount int - }{region, groups, skills, m, len(skills)} - var err error - if kk != nil { - err = errors.Join(err, t.ExecuteTemplate(kk, "koka-skill", &data)) - } - if g != nil { - err = errors.Join(err, t.ExecuteTemplate(g, "go-skill-data", &data)) - } - return err -} - -func ExecRace(t *template.Template, region string, kk, g io.Writer, races []Race) error { - data := struct { - Region string - Races []Race - RaceCount int - }{region, races, len(races)} - var err error - if kk != nil { - err = errors.Join(err, t.ExecuteTemplate(kk, "koka-race", &data)) - } - if g != nil { - err = errors.Join(err, t.ExecuteTemplate(g, "go-race", &data)) - } - return err -} - -func ExecSaddle(t *template.Template, region string, kk, g io.Writer, saddles []Saddle) error { - data := struct { - Region string - Saddles []Saddle - SaddleCount int - }{region, saddles, len(saddles)} - var err error - if kk != nil { - err = errors.Join(err, t.ExecuteTemplate(kk, "koka-saddle", &data)) - } - if g != nil { - err = errors.Join(err, t.ExecuteTemplate(g, "go-saddle", &data)) - } - return err -} - -func ExecScenario(t *template.Template, region string, kk, g io.Writer, scen []Scenario) error { - data := struct { - Region string - Scenarios []Scenario - ScenarioCount int - }{region, scen, len(scen)} - var err error - if kk != nil { - err = errors.Join(err, t.ExecuteTemplate(kk, "koka-scenario", &data)) - } - if g != nil { - err = errors.Join(err, t.ExecuteTemplate(g, "go-scenario", &data)) - } - return err -} - -func ExecSparks(t *template.Template, region string, kk, g io.Writer, sparks []Spark, effects map[int]map[int][]SparkEffect) error { - data := struct { - Region string - Sparks []Spark - SparkEffects map[int]map[int][]SparkEffect - SparkCount int - }{region, sparks, effects, len(sparks)} - var err error - if kk != nil { - err = errors.Join(err, t.ExecuteTemplate(kk, "koka-spark", &data)) - } - if g != nil { - err = errors.Join(err, t.ExecuteTemplate(g, "go-spark", &data)) - } - return err -} - -func ExecUmas(t *template.Template, region string, kk, g io.Writer, umas []Uma) error { - data := struct { - Region string - Umas []Uma - UmaCount int - }{region, umas, len(umas)} - var err error - if kk != nil { - err = errors.Join(err, t.ExecuteTemplate(kk, "koka-uma", &data)) - } - if g != nil { - err = errors.Join(err, t.ExecuteTemplate(g, "go-uma", &data)) - } - return err -} - -const wordSeps = " ,!?/-+();#○☆♡'=♪∀゚∴[]:" - -var ( - kkReplace = func() *strings.Replacer { - r := []string{ - "Triple 7s", "Triple-Sevens", // hard to replace with the right thing automatically - "1,500,000 CC", "One-Million-CC", - "15,000,000 CC", "Fifteen-Million-CC", - "1st", "First", - "114th", "Hundred-Fourteenth", - "♡ 3D Nail Art", "Nail-Art", - ".", "", - "\u2019", "", - "&", "-and-", - "'s", "s", - "ó", "o", - "∞", "Infinity", - "\u00d7", "x", - "◎", "Lv2", - } - for _, c := range wordSeps { - r = append(r, string(c), "-") - } - return strings.NewReplacer(r...) - }() - kkMultidash = regexp.MustCompile(`-+`) - kkDashNonletter = regexp.MustCompile(`-[^A-Za-z]`) - - goReplace = func() *strings.Replacer { - r := []string{ - "Triple 7s", "TripleSevens", - "1,500,000 CC", "OneMillionCC", - "15,000,000 CC", "FifteenMillionCC", - "1st", "First", - "♡ 3D Nail Art", "NailArt", - ".", "", - "\u2019", "", - "&", "And", - "'s", "s", - "∞", "Infinity", - "\u00d7", "X", - "◎", "Lv2", - } - for _, c := range wordSeps { - r = append(r, string(c), "") - } - return strings.NewReplacer(r...) - }() -) - -func kkenum(name string) string { - orig := name - name = kkReplace.Replace(name) - name = kkMultidash.ReplaceAllLiteralString(name, "-") - name = strings.Trim(name, "-") - if len(name) == 0 { - panic(fmt.Errorf("%q became empty as Koka enum variant", orig)) - } - name = strings.ToUpper(name[:1]) + name[1:] - if !unicode.IsLetter(rune(name[0])) { - //lint:ignore ST1005 proper name - panic(fmt.Errorf("Koka enum variant %q (from %q) starts with a non-letter", name, orig)) - } - for _, c := range name { - if c > 127 { - // Koka does not allow non-ASCII characters in source code. - // Don't proceed if we've missed one. - panic(fmt.Errorf("non-ASCII character %q (%[1]U) in Koka enum variant %q (from %q)", c, name, orig)) - } - } - if kkDashNonletter.MatchString(name) { - panic(fmt.Errorf("non-letter character after a dash in Koka enum variant %q (from %q)", name, orig)) - } - return name -} - -func goenum(name string) string { - // go names are a bit more lax, so we need fewer checks - orig := name - name = goReplace.Replace(name) - if len(name) == 0 { - panic(fmt.Errorf("%q became empty as Go enum variant", orig)) - } - name = strings.ToUpper(name[:1]) + name[1:] - return name -} diff --git a/horsegen/load.go b/horsegen/load.go deleted file mode 100644 index 2a82ea9..0000000 --- a/horsegen/load.go +++ /dev/null @@ -1,613 +0,0 @@ -package main - -import ( - "context" - _ "embed" - "fmt" - - "zombiezen.com/go/sqlite/sqlitex" -) - -//go:embed character.sql -var characterSQL string - -//go:embed character.affinity2.sql -var characterAffinity2SQL string - -//go:embed character.affinity3.sql -var characterAffinity3SQL string - -//go:embed uma.sql -var umaSQL string - -//go:embed skill-group.sql -var skillGroupSQL string - -//go:embed skill.sql -var skillSQL string - -//go:embed race.sql -var raceSQL string - -//go:embed saddle.sql -var saddleSQL string - -//go:embed scenario.sql -var scenarioSQL string - -//go:embed spark.sql -var sparkSQL string - -//go:embed spark-effect.sql -var sparkEffectSQL string - -type ( - Character struct{} - SkillGroup struct{} -) - -type NamedID[T any] struct { - // Disallow conversions between NamedID types. - _ [0]*T - - ID int - Name string - // For internal use, the index of the identity, when it's needed. - // We don't show this in public API, but it lets us use vectors for lookups. - Index int -} - -func Characters(ctx context.Context, db *sqlitex.Pool) ([]NamedID[Character], error) { - conn, err := db.Take(ctx) - defer db.Put(conn) - if err != nil { - return nil, fmt.Errorf("couldn't get connection for characters: %w", err) - } - stmt, _, err := conn.PrepareTransient(characterSQL) - if err != nil { - return nil, fmt.Errorf("couldn't prepare statement for characters: %w", err) - } - defer stmt.Finalize() - - var r []NamedID[Character] - for { - ok, err := stmt.Step() - if err != nil { - return nil, fmt.Errorf("error stepping characters: %w", err) - } - if !ok { - break - } - c := NamedID[Character]{ - ID: stmt.ColumnInt(0), - Name: stmt.ColumnText(1), - Index: stmt.ColumnInt(2), - } - r = append(r, c) - } - return r, nil -} - -type AffinityRelation struct { - IDA int - NameA string - IDB int - NameB string - IDC int - NameC string - Affinity int -} - -func CharacterPairs(ctx context.Context, db *sqlitex.Pool) ([]AffinityRelation, error) { - conn, err := db.Take(ctx) - defer db.Put(conn) - if err != nil { - return nil, fmt.Errorf("couldn't get connection for character pairs: %w", err) - } - stmt, _, err := conn.PrepareTransient(characterAffinity2SQL) - if err != nil { - return nil, fmt.Errorf("couldn't prepare statement for character pairs: %w", err) - } - defer stmt.Finalize() - - var r []AffinityRelation - for { - ok, err := stmt.Step() - if err != nil { - return nil, fmt.Errorf("error stepping character pairs: %w", err) - } - if !ok { - break - } - p := AffinityRelation{ - IDA: stmt.ColumnInt(0), - NameA: stmt.ColumnText(1), - IDB: stmt.ColumnInt(2), - NameB: stmt.ColumnText(3), - Affinity: stmt.ColumnInt(4), - } - r = append(r, p) - } - return r, nil -} - -func CharacterTrios(ctx context.Context, db *sqlitex.Pool) ([]AffinityRelation, error) { - conn, err := db.Take(ctx) - defer db.Put(conn) - if err != nil { - return nil, fmt.Errorf("couldn't get connection for character trios: %w", err) - } - stmt, _, err := conn.PrepareTransient(characterAffinity3SQL) - if err != nil { - return nil, fmt.Errorf("couldn't prepare statement for character trios: %w", err) - } - defer stmt.Finalize() - - var r []AffinityRelation - for { - ok, err := stmt.Step() - if err != nil { - return nil, fmt.Errorf("error stepping character trios: %w", err) - } - if !ok { - break - } - p := AffinityRelation{ - IDA: stmt.ColumnInt(0), - NameA: stmt.ColumnText(1), - IDB: stmt.ColumnInt(2), - NameB: stmt.ColumnText(3), - IDC: stmt.ColumnInt(4), - NameC: stmt.ColumnText(5), - Affinity: stmt.ColumnInt(6), - } - r = append(r, p) - } - return r, nil -} - -func SkillGroups(ctx context.Context, db *sqlitex.Pool) ([]NamedID[SkillGroup], error) { - conn, err := db.Take(ctx) - defer db.Put(conn) - if err != nil { - return nil, fmt.Errorf("couldn't get connection for skill groups: %w", err) - } - stmt, _, err := conn.PrepareTransient(skillGroupSQL) - if err != nil { - return nil, fmt.Errorf("couldn't prepare statement for skill groups: %w", err) - } - defer stmt.Finalize() - - var r []NamedID[SkillGroup] - for { - ok, err := stmt.Step() - if err != nil { - return nil, fmt.Errorf("error stepping skill groups: %w", err) - } - if !ok { - break - } - g := NamedID[SkillGroup]{ - ID: stmt.ColumnInt(0), - Name: stmt.ColumnText(1), - } - r = append(r, g) - } - return r, nil -} - -type Skill struct { - ID int - Name string - Description string - GroupID int - GroupName string - Rarity int - GroupRate int - GradeValue int - WitCheck bool - Activations [2]SkillActivation - SPCost int - InheritID int - UniqueOwnerID int - UniqueOwner string - IconID int - Index int -} - -type SkillActivation struct { - Precondition string - Condition string - Duration int - DurScale int - Cooldown int - Abilities [3]SkillAbility -} - -type SkillAbility struct { - Type int - ValueUsage int - Value int - Target int - TargetValue int -} - -func Skills(ctx context.Context, db *sqlitex.Pool) ([]Skill, error) { - conn, err := db.Take(ctx) - defer db.Put(conn) - if err != nil { - return nil, fmt.Errorf("couldn't get connection for skills: %w", err) - } - stmt, _, err := conn.PrepareTransient(skillSQL) - if err != nil { - return nil, fmt.Errorf("couldn't prepare statement for skills: %w", err) - } - defer stmt.Finalize() - - var r []Skill - for { - ok, err := stmt.Step() - if err != nil { - return nil, fmt.Errorf("error stepping skills: %w", err) - } - if !ok { - break - } - s := Skill{ - ID: stmt.ColumnInt(0), - Name: stmt.ColumnText(1), - Description: stmt.ColumnText(2), - GroupID: stmt.ColumnInt(3), - GroupName: stmt.ColumnText(4), - Rarity: stmt.ColumnInt(5), - GroupRate: stmt.ColumnInt(6), - GradeValue: stmt.ColumnInt(7), - WitCheck: stmt.ColumnInt(8) != 0, - Activations: [2]SkillActivation{ - { - Precondition: stmt.ColumnText(9), - Condition: stmt.ColumnText(10), - Duration: stmt.ColumnInt(11), - DurScale: stmt.ColumnInt(12), - Cooldown: stmt.ColumnInt(13), - Abilities: [3]SkillAbility{ - { - Type: stmt.ColumnInt(14), - ValueUsage: stmt.ColumnInt(15), - Value: stmt.ColumnInt(16), - Target: stmt.ColumnInt(17), - TargetValue: stmt.ColumnInt(18), - }, - { - Type: stmt.ColumnInt(19), - ValueUsage: stmt.ColumnInt(20), - Value: stmt.ColumnInt(21), - Target: stmt.ColumnInt(22), - TargetValue: stmt.ColumnInt(23), - }, - { - Type: stmt.ColumnInt(24), - ValueUsage: stmt.ColumnInt(25), - Value: stmt.ColumnInt(26), - Target: stmt.ColumnInt(27), - TargetValue: stmt.ColumnInt(28), - }, - }, - }, - { - Precondition: stmt.ColumnText(29), - Condition: stmt.ColumnText(30), - Duration: stmt.ColumnInt(31), - DurScale: stmt.ColumnInt(32), - Cooldown: stmt.ColumnInt(33), - Abilities: [3]SkillAbility{ - { - Type: stmt.ColumnInt(34), - ValueUsage: stmt.ColumnInt(35), - Value: stmt.ColumnInt(36), - Target: stmt.ColumnInt(37), - TargetValue: stmt.ColumnInt(38), - }, - { - Type: stmt.ColumnInt(39), - ValueUsage: stmt.ColumnInt(40), - Value: stmt.ColumnInt(41), - Target: stmt.ColumnInt(42), - TargetValue: stmt.ColumnInt(43), - }, - { - Type: stmt.ColumnInt(44), - ValueUsage: stmt.ColumnInt(45), - Value: stmt.ColumnInt(46), - Target: stmt.ColumnInt(47), - TargetValue: stmt.ColumnInt(48), - }, - }, - }, - }, - SPCost: stmt.ColumnInt(49), - InheritID: stmt.ColumnInt(50), - UniqueOwnerID: stmt.ColumnInt(51), - UniqueOwner: stmt.ColumnText(52), - IconID: stmt.ColumnInt(53), - Index: stmt.ColumnInt(54), - } - r = append(r, s) - } - return r, nil -} - -type Race struct { - ID int - Name string - Grade int - ThumbnailID int - Primary int - Alternate int -} - -func Races(ctx context.Context, db *sqlitex.Pool) ([]Race, error) { - conn, err := db.Take(ctx) - defer db.Put(conn) - if err != nil { - return nil, fmt.Errorf("couldn't get connection for races: %w", err) - } - stmt, _, err := conn.PrepareTransient(raceSQL) - if err != nil { - return nil, fmt.Errorf("couldn't prepare statement for races: %w", err) - } - defer stmt.Finalize() - - var r []Race - for { - ok, err := stmt.Step() - if err != nil { - return nil, fmt.Errorf("error stepping races: %w", err) - } - if !ok { - break - } - race := Race{ - ID: stmt.ColumnInt(0), - Name: stmt.ColumnText(1), - Grade: stmt.ColumnInt(2), - ThumbnailID: stmt.ColumnInt(3), - Primary: stmt.ColumnInt(4), - Alternate: stmt.ColumnInt(5), - } - r = append(r, race) - } - return r, nil -} - -type Saddle struct { - ID int - Name string - Races [3]int - Type int - Primary int - Alternate int -} - -func Saddles(ctx context.Context, db *sqlitex.Pool) ([]Saddle, error) { - conn, err := db.Take(ctx) - defer db.Put(conn) - if err != nil { - return nil, fmt.Errorf("couldn't get connection for saddles: %w", err) - } - stmt, _, err := conn.PrepareTransient(saddleSQL) - if err != nil { - return nil, fmt.Errorf("couldn't prepare statement for saddles: %w", err) - } - defer stmt.Finalize() - - var r []Saddle - for { - ok, err := stmt.Step() - if err != nil { - return nil, fmt.Errorf("error stepping saddles: %w", err) - } - if !ok { - break - } - s := Saddle{ - ID: stmt.ColumnInt(0), - Name: stmt.ColumnText(1), - Races: [3]int{stmt.ColumnInt(2), stmt.ColumnInt(3), stmt.ColumnInt(4)}, - Type: stmt.ColumnInt(5), - Primary: stmt.ColumnInt(6), - Alternate: stmt.ColumnInt(7), - } - r = append(r, s) - } - return r, nil -} - -type Scenario struct { - ID int - Name string - Title string -} - -func Scenarios(ctx context.Context, db *sqlitex.Pool) ([]Scenario, error) { - conn, err := db.Take(ctx) - defer db.Put(conn) - if err != nil { - return nil, fmt.Errorf("couldn't get connection for scenario: %w", err) - } - stmt, _, err := conn.PrepareTransient(scenarioSQL) - if err != nil { - return nil, fmt.Errorf("couldn't prepare statement for scenario: %w", err) - } - defer stmt.Finalize() - - var r []Scenario - for { - ok, err := stmt.Step() - if err != nil { - return nil, fmt.Errorf("error stepping scenarios: %w", err) - } - if !ok { - break - } - s := Scenario{ - ID: stmt.ColumnInt(0), - Name: stmt.ColumnText(1), - Title: stmt.ColumnText(2), - } - r = append(r, s) - } - return r, nil -} - -type Spark struct { - ID int - Name string - Description string - Group int - Rarity int - Type int -} - -type SparkEffect struct { - Target int - Value1 int - Value2 int -} - -func Sparks(ctx context.Context, db *sqlitex.Pool) ([]Spark, error) { - conn, err := db.Take(ctx) - defer db.Put(conn) - if err != nil { - return nil, fmt.Errorf("couldn't get connection for sparks: %w", err) - } - stmt, _, err := conn.PrepareTransient(sparkSQL) - if err != nil { - return nil, fmt.Errorf("couldn't prepare statement for sparks: %w", err) - } - defer stmt.Finalize() - - var r []Spark - for { - ok, err := stmt.Step() - if err != nil { - return nil, fmt.Errorf("error stepping sparks: %w", err) - } - if !ok { - break - } - s := Spark{ - ID: stmt.ColumnInt(0), - Name: stmt.ColumnText(1), - Description: stmt.ColumnText(2), - Group: stmt.ColumnInt(3), - Rarity: stmt.ColumnInt(4), - Type: stmt.ColumnInt(5), - } - r = append(r, s) - } - return r, nil -} - -func SparkEffects(ctx context.Context, db *sqlitex.Pool) (map[int]map[int][]SparkEffect, error) { - conn, err := db.Take(ctx) - defer db.Put(conn) - if err != nil { - return nil, fmt.Errorf("couldn't get connection for spark effects: %w", err) - } - stmt, _, err := conn.PrepareTransient(sparkEffectSQL) - if err != nil { - return nil, fmt.Errorf("couldn't prepare statement for spark effects: %w", err) - } - defer stmt.Finalize() - - r := make(map[int]map[int][]SparkEffect) - for { - ok, err := stmt.Step() - if err != nil { - return nil, fmt.Errorf("error stepping spark effects: %w", err) - } - if !ok { - break - } - group := stmt.ColumnInt(0) - eff := stmt.ColumnInt(1) - s := SparkEffect{ - Target: stmt.ColumnInt(2), - Value1: stmt.ColumnInt(3), - Value2: stmt.ColumnInt(4), - } - if r[group] == nil { - r[group] = make(map[int][]SparkEffect) - } - r[group][eff] = append(r[group][eff], s) - } - return r, nil -} - -type Uma struct { - ID int - CharacterID int - Name string - Variant string - CharacterName string - - Sprint, Mile, Medium, Long int - Front, Pace, Late, End int - Turf, Dirt int - - UniqueID int - Skill1, Skill2, Skill3 int - SkillPL2, SkillPL3, SkillPL4, SkillPL5 int -} - -func Umas(ctx context.Context, db *sqlitex.Pool) ([]Uma, error) { - conn, err := db.Take(ctx) - defer db.Put(conn) - if err != nil { - return nil, fmt.Errorf("couldn't get connection for umas: %w", err) - } - stmt, _, err := conn.PrepareTransient(umaSQL) - if err != nil { - return nil, fmt.Errorf("couldn't prepare statement for umas: %w", err) - } - defer stmt.Finalize() - - var r []Uma - for { - ok, err := stmt.Step() - if err != nil { - return nil, fmt.Errorf("error stepping umas: %w", err) - } - if !ok { - break - } - uma := Uma{ - ID: stmt.ColumnInt(0), - CharacterID: stmt.ColumnInt(1), - Name: stmt.ColumnText(2), - Variant: stmt.ColumnText(3), - CharacterName: stmt.ColumnText(4), - Sprint: stmt.ColumnInt(5), - Mile: stmt.ColumnInt(6), - Medium: stmt.ColumnInt(7), - Long: stmt.ColumnInt(8), - Front: stmt.ColumnInt(9), - Pace: stmt.ColumnInt(10), - Late: stmt.ColumnInt(11), - End: stmt.ColumnInt(12), - Turf: stmt.ColumnInt(13), - Dirt: stmt.ColumnInt(14), - UniqueID: stmt.ColumnInt(15), - Skill1: stmt.ColumnInt(16), - Skill2: stmt.ColumnInt(17), - Skill3: stmt.ColumnInt(18), - SkillPL2: stmt.ColumnInt(19), - SkillPL3: stmt.ColumnInt(20), - SkillPL4: stmt.ColumnInt(21), - SkillPL5: stmt.ColumnInt(22), - } - r = append(r, uma) - } - return r, nil -} diff --git a/horsegen/main.go b/horsegen/main.go deleted file mode 100644 index eca68f9..0000000 --- a/horsegen/main.go +++ /dev/null @@ -1,227 +0,0 @@ -package main - -import ( - "context" - "flag" - "log/slog" - "os" - "os/signal" - "path/filepath" - - "golang.org/x/sync/errgroup" - "zombiezen.com/go/sqlite" - "zombiezen.com/go/sqlite/sqlitex" -) - -func main() { - var ( - mdb string - out string - region string - ) - flag.StringVar(&mdb, "mdb", os.ExpandEnv(`$USERPROFILE\AppData\LocalLow\Cygames\Umamusume\master\master.mdb`), "`path` to Umamusume master.mdb") - flag.StringVar(&out, "o", `horse`, "`dir`ectory for output files") - flag.StringVar(®ion, "region", "global", "region the database is for (global, jp)") - flag.Parse() - - pctx, stop := signal.NotifyContext(context.Background(), os.Interrupt) - go func() { - <-pctx.Done() - stop() - }() - - t, err := LoadTemplates() - if err != nil { - slog.Error("loading templates", slog.Any("err", err)) - os.Exit(2) - } - - slog.Info("open", slog.String("mdb", mdb)) - db, err := sqlitex.NewPool(mdb, sqlitex.PoolOptions{Flags: sqlite.OpenReadOnly}) - if err != nil { - slog.Error("opening mdb", slog.String("mdb", mdb), slog.Any("err", err)) - os.Exit(1) - } - - eg, ctx := errgroup.WithContext(pctx) - var ( - charas []NamedID[Character] - pairs []AffinityRelation - trios []AffinityRelation - sg []NamedID[SkillGroup] - skills []Skill - races []Race - saddles []Saddle - scens []Scenario - sparks []Spark - sparkeff map[int]map[int][]SparkEffect - umas []Uma - ) - eg.Go(func() error { - slog.Info("get characters") - r, err := Characters(ctx, db) - charas = r - return err - }) - eg.Go(func() error { - slog.Info("get pairs") - r, err := CharacterPairs(ctx, db) - pairs = r - return err - }) - eg.Go(func() error { - slog.Info("get trios") - r, err := CharacterTrios(ctx, db) - trios = r - return err - }) - eg.Go(func() error { - slog.Info("get skill groups") - r, err := SkillGroups(ctx, db) - sg = r - return err - }) - eg.Go(func() error { - slog.Info("get skills") - r, err := Skills(ctx, db) - skills = r - return err - }) - eg.Go(func() error { - slog.Info("get races") - r, err := Races(ctx, db) - races = r - return err - }) - eg.Go(func() error { - slog.Info("get saddles") - r, err := Saddles(ctx, db) - saddles = r - return err - }) - eg.Go(func() error { - slog.Info("get scenarios") - r, err := Scenarios(ctx, db) - scens = r - return err - }) - eg.Go(func() error { - slog.Info("get sparks") - r, err := Sparks(ctx, db) - sparks = r - return err - }) - eg.Go(func() error { - slog.Info("get spark effects") - r, err := SparkEffects(ctx, db) - sparkeff = r - return err - }) - eg.Go(func() error { - slog.Info("get umas") - r, err := Umas(ctx, db) - umas = r - return err - }) - if err := eg.Wait(); err != nil { - slog.Error("load", slog.Any("err", err)) - os.Exit(1) - } - - if err := os.MkdirAll(filepath.Join(out, region), 0775); err != nil { - slog.Error("create output dir", slog.Any("err", err)) - os.Exit(1) - } - - eg, ctx = errgroup.WithContext(pctx) - eg.Go(func() error { - cf, err := os.Create(filepath.Join(out, region, "character.kk")) - if err != nil { - return err - } - gf, err := os.Create(filepath.Join(out, region, "character.go")) - if err != nil { - return err - } - slog.Info("write characters") - return ExecCharacter(t, region, cf, gf, charas, pairs, trios) - }) - eg.Go(func() error { - sf, err := os.Create(filepath.Join(out, region, "skill.kk")) - if err != nil { - return err - } - gf, err := os.Create(filepath.Join(out, region, "skill.go")) - if err != nil { - return err - } - slog.Info("write skills") - return ExecSkill(t, region, sf, gf, sg, skills) - }) - eg.Go(func() error { - kf, err := os.Create(filepath.Join(out, region, "race.kk")) - if err != nil { - return err - } - gf, err := os.Create(filepath.Join(out, region, "race.go")) - if err != nil { - return err - } - slog.Info("write races") - return ExecRace(t, region, kf, gf, races) - }) - eg.Go(func() error { - kf, err := os.Create(filepath.Join(out, region, "saddle.kk")) - if err != nil { - return err - } - gf, err := os.Create(filepath.Join(out, region, "saddle.go")) - if err != nil { - return err - } - slog.Info("write saddles") - return ExecSaddle(t, region, kf, gf, saddles) - }) - eg.Go(func() error { - kf, err := os.Create(filepath.Join(out, region, "scenario.kk")) - if err != nil { - return err - } - gf, err := os.Create(filepath.Join(out, region, "scenario.go")) - if err != nil { - return err - } - slog.Info("write scenarios") - return ExecScenario(t, region, kf, gf, scens) - }) - eg.Go(func() error { - kf, err := os.Create(filepath.Join(out, region, "spark.kk")) - if err != nil { - return err - } - gf, err := os.Create(filepath.Join(out, region, "spark.go")) - if err != nil { - return err - } - slog.Info("write sparks") - return ExecSparks(t, region, kf, gf, sparks, sparkeff) - }) - eg.Go(func() error { - kf, err := os.Create(filepath.Join(out, region, "uma.kk")) - if err != nil { - return err - } - gf, err := os.Create(filepath.Join(out, region, "uma.go")) - if err != nil { - return err - } - slog.Info("write umas") - return ExecUmas(t, region, kf, gf, umas) - }) - if err := eg.Wait(); err != nil { - slog.Error("generate", slog.Any("err", err)) - os.Exit(1) - } else { - slog.Info("done") - } -} diff --git a/horsegen/race.go.template b/horsegen/race.go.template deleted file mode 100644 index b697807..0000000 --- a/horsegen/race.go.template +++ /dev/null @@ -1,32 +0,0 @@ -{{- define "go-race" -}} -package {{ $.Region }} - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - {{- range $r := $.Races }} - Race{{ goenum $r.Name }}{{ if $r.Alternate }}Alt{{ $r.ID }}{{ end }} RaceID = {{ $r.ID }} // {{ $r.Name }} - {{- end }} -) - -var AllRaces = map[RaceID]Race{ - {{- range $r := $.Races }} - Race{{ goenum $r.Name }}{{ if $r.Alternate }}Alt{{ $r.ID }}{{ end }}: { - ID: {{ $r.ID }}, - Name: {{ printf "%q" $r.Name }}{{ if $r.Alternate }} + " (Alternate {{ $r.ID }})"{{ end }}, - Thumbnail: {{ $r.ThumbnailID }}, - {{- if ne $r.Primary $r.ID }} - Primary: {{ $r.Primary }}, - {{- end }} - }, - {{- end }} -} - -var RaceNameToID = map[string]RaceID{ - {{- range $r := $.Races }} - {{ printf "%q" $r.Name }}{{ if $r.Alternate }} + " (Alternate {{ $r.ID }})"{{ end }}: {{ $r.ID }}, - {{- end }} -} -{{ end }} diff --git a/horsegen/race.kk.template b/horsegen/race.kk.template deleted file mode 100644 index b41957d..0000000 --- a/horsegen/race.kk.template +++ /dev/null @@ -1,69 +0,0 @@ -{{- define "koka-race" -}} -module horse/{{ $.Region }}/race - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import std/data/rb-map -import horse/game-id -pub import horse/race - -extern create-id-table(): vector - c inline "int32_t arr[] = { {{- range $r := $.Races }}{{ $r.ID }},{{ end -}} };\nkk_vector_from_cint32array(arr, (kk_ssize_t){{ $.RaceCount }}, kk_context())" - js inline "[{{ range $r := $.Races }}{{ $r.ID }},{{ end }}]" -// Vector of all race IDs in order for easy iterating. -pub val all = once(create-id-table) - -val name2id = once() - var m: rbmap := empty() - all().foreach() fn(id) m := m.set(Race-id(id).show, id) - m - -// Get the race ID that has the given exact name. -// Alternate versions of races have an indication of their ID in their names. -// If no race matches the name, the result is an invalid ID. -pub fun from-name(name: string): race-id - Race-id(name2id().rb-map/lookup(name).default(0)) - -// Get the name for a race. -// Alternate versions of races have an indication of their ID in their names. -// If no race matches the ID, the result is the numeric ID. -pub fun show(r: race-id): string - match r.game-id - {{- range $r := $.Races }} - {{ $r.ID }} -> {{ printf "%q" $r.Name }}{{ if $r.Alternate }} ++ " (Alternate {{ $r.ID }})"{{ end }} - {{- end }} - x -> "race " ++ x.show - -// Get the grade for a race. -// If no race matches the ID, the result is Pre-OP. -pub fun grade(r: race-id): grade - match r.game-id - {{- range $r := $.Races }} - {{ $r.ID }} -> {{ if eq $r.Grade 100 }}G1{{ else if eq $r.Grade 200 }}G2{{ else if eq $r.Grade 300 }}G3{{ else if eq $r.Grade 400 }}OP{{ else if eq $r.Grade 700 }}Pre-OP{{ else }}??? $r.Grade={{ $r.Grade }}{{ end }} - {{- end }} - _ -> Pre-OP - -// Get the thumbnail ID for a race. -// If no race matches the ID, the result is an invalid ID. -pub fun thumbnail(r: race-id): race-thumbnail-id - match r.game-id - {{- range $r := $.Races }} - {{ $r.ID }} -> Race-thumbnail-id({{ $r.ThumbnailID }}) - {{- end }} - _ -> Race-thumbnail-id(0) - -// Get the primary ID for a race. -// For races which are the primary version, or if no race matches the given ID, -// the result is the input. -pub fun primary(r: race-id): race-id - match r.game-id - {{- range $r := $.Races }} - {{- if $r.Alternate }} - {{ $r.ID }} -> Race-id({{ $r.Primary }}) - {{- end }} - {{- end }} - _ -> r -{{ end }} diff --git a/horsegen/race.sql b/horsegen/race.sql deleted file mode 100644 index fb29c8e..0000000 --- a/horsegen/race.sql +++ /dev/null @@ -1,14 +0,0 @@ -WITH race_names AS ( - SELECT "index" AS id, "text" AS name FROM text_data WHERE category = 33 -) -SELECT - race.id, - race_names.name, - race.grade, - race.thumbnail_id, - MIN(race.id) OVER (PARTITION BY race_names.name) AS "primary", - ROW_NUMBER() OVER (PARTITION BY race_names.name ORDER BY race.id) - 1 AS "alternate" -FROM race - JOIN race_names ON race.id = race_names.id -WHERE race."group" = 1 -ORDER BY race.id diff --git a/horsegen/saddle.go.template b/horsegen/saddle.go.template deleted file mode 100644 index e98d4f6..0000000 --- a/horsegen/saddle.go.template +++ /dev/null @@ -1,27 +0,0 @@ -{{- define "go-saddle" -}} -package {{ $.Region }} - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - {{- range $s := $.Saddles }} - Saddle{{ goenum $s.Name }}{{ if $s.Alternate }}Alt{{ $s.Alternate }}{{ end }} SaddleID = {{ $s.ID }} // {{ $s.Name }} - {{- end }} -) - -var AllSaddles = map[SaddleID]Saddle{ - {{- range $s := $.Saddles }} - Saddle{{ goenum $s.Name }}{{ if $s.Alternate }}Alt{{ $s.Alternate }}{{ end }}: { - ID: {{ $s.ID }}, - Name: {{ printf "%q" $s.Name }}{{ if $s.Alternate }} + " (Alternate {{ $s.Alternate }})"{{ end }}, - Races: []RaceID{ {{- range $id := $s.Races }}{{ if $id }}{{ $id }}, {{ end }}{{ end -}} }, - Type: SaddleType{{ if eq $s.Type 0 }}Honor{{ else if eq $s.Type 1 }}G3{{ else if eq $s.Type 2 }}G2{{ else if eq $s.Type 3 }}G1{{ else }}??? $s.Type={{ $s.Type }}{{ end }}, - {{- if $s.Alternate }} - Primary: {{ $s.Primary }}, - {{- end }} - }, - {{- end }} -} -{{ end }} diff --git a/horsegen/saddle.kk.template b/horsegen/saddle.kk.template deleted file mode 100644 index 108efee..0000000 --- a/horsegen/saddle.kk.template +++ /dev/null @@ -1,58 +0,0 @@ -{{- define "koka-saddle" -}} -module horse/{{ $.Region }}/saddle - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import horse/game-id -pub import horse/race -pub import horse/{{ $.Region }}/race - -extern create-id-table(): vector - c inline "int32_t arr[] = { {{- range $s := $.Saddles }}{{ $s.ID }},{{ end -}} };\nkk_vector_from_cint32array(arr, (kk_ssize_t){{ $.SaddleCount }}, kk_context())" - js inline "[{{ range $s := $.Saddles }}{{ $s.ID }},{{ end }}]" -// Vector of all saddle IDs in order for easy iterating. -pub val all = once(create-id-table) - -// Get the name for a saddle. -// Alternate versions of saddles have an indication of their ID in their names. -// If no saddle matches the ID, the result contains the numeric ID. -pub fun show(s: saddle-id): string - match s.game-id - {{- range $s := $.Saddles }} - {{ $s.ID }} -> {{ printf "%q" $s.Name }}{{ if $s.Alternate }} ++ " (Alternate {{ $s.ID }})"{{ end }} - {{- end }} - x -> "saddle " ++ x.show - -// Get the list of races that entitle a horse to a saddle. -// If no saddle matches the ID, the result is the empty list. -pub fun races(s: saddle-id): list - match s.game-id - {{- range $s := $.Saddles }} - {{ $s.ID }} -> [{{ range $id := $s.Races }}{{ if $id }}Race-id({{ $id }}), {{ end }}{{ end }}] - {{- end }} - _ -> [] - -// Get a saddle's type. -// If no saddle matches the ID, the result is Honor. -pub fun saddle-type(s: saddle-id): saddle-type - match s.game-id - {{- range $s := $.Saddles }} - {{ $s.ID }} -> {{ if eq $s.Type 0 }}Honor{{ else if eq $s.Type 1 }}G3-Win{{ else if eq $s.Type 2 }}G2-Win{{ else if eq $s.Type 3 }}G1-Win{{ else }}??? $s.Type={{ $s.Type }}{{ end }} - {{- end }} - _ -> Honor - -// Get the primary ID for a saddle. -// For saddles which are the primary version, or if no saddle matches the given ID, -// the result is the input. -pub fun primary(s: saddle-id): saddle-id - match s.game-id - {{- range $s := $.Saddles }} - {{- if $s.Alternate }} - {{ $s.ID }} -> Saddle-id({{ $s.Primary }}) - {{- end }} - {{- end }} - _ -> s -{{ end }} diff --git a/horsegen/saddle.sql b/horsegen/saddle.sql deleted file mode 100644 index ade4270..0000000 --- a/horsegen/saddle.sql +++ /dev/null @@ -1,20 +0,0 @@ -WITH saddle_names AS ( - SELECT "index" AS id, "text" AS name - FROM text_data - WHERE category = 111 -) -SELECT - s.id, - n.name, - ri1.id AS race1, - IFNULL(ri2.id, 0) AS race2, - IFNULL(ri3.id, 0) AS race3, - s.win_saddle_type, - MIN(s.id) OVER (PARTITION BY n.name) AS "primary", - ROW_NUMBER() OVER (PARTITION BY n.name ORDER BY s.id) - 1 AS "alternate" -FROM single_mode_wins_saddle s - JOIN race_instance ri1 ON s.race_instance_id_1 = ri1.id - LEFT JOIN race_instance ri2 ON s.race_instance_id_2 = ri2.id - LEFT JOIN race_instance ri3 ON s.race_instance_id_3 = ri3.id - LEFT JOIN saddle_names n ON s.id = n.id -ORDER BY s.id diff --git a/horsegen/scenario.go.template b/horsegen/scenario.go.template deleted file mode 100644 index 21fad59..0000000 --- a/horsegen/scenario.go.template +++ /dev/null @@ -1,23 +0,0 @@ -{{- define "go-scenario" -}} -package {{ $.Region }} - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - {{- range $s := $.Scenarios }} - Scenario{{ goenum $s.Name }} ScenarioID = {{ $s.ID }} // {{ $s.Name }} - {{- end }} -) - -var AllScenarios = map[ScenarioID]Scenario{ - {{- range $s := $.Scenarios }} - Scenario{{ goenum $s.Name }}: { - ID: {{ $s.ID }}, - Name: {{ printf "%q" $s.Name }}, - Title: {{ printf "%q" $s.Title }}, - }, - {{- end }} -} -{{ end }} \ No newline at end of file diff --git a/horsegen/scenario.kk.template b/horsegen/scenario.kk.template deleted file mode 100644 index fb6cbe5..0000000 --- a/horsegen/scenario.kk.template +++ /dev/null @@ -1,34 +0,0 @@ -{{- define "koka-scenario" -}} -module horse/{{ $.Region }}/scenario - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import horse/game-id - -extern create-id-table(): vector - c inline "int32_t arr[] = { {{- range $s := $.Scenarios }}{{ $s.ID }},{{ end -}} };\nkk_vector_from_cint32array(arr, (kk_ssize_t){{ $.ScenarioCount }}, kk_context())" - js inline "[{{ range $s := $.Scenarios }}{{ $s.ID }},{{ end }}]" -// Vector of all scenario IDs in order for easy iterating. -pub val all = once(create-id-table) - -// Get the name for a scenario. -// If no scenario matches the ID, the result contains the numeric ID. -pub fun show(s: scenario-id): string - match s.game-id - {{- range $s := $.Scenarios }} - {{ $s.ID }} -> {{ printf "%q" $s.Name }} - {{- end }} - x -> "scenario " ++ x.show - -// Get the full title for a scenario, e.g. "The Beginning: URA Finale". -// If no scenario matches the ID, the result contains the numeric ID. -pub fun title(s: scenario-id): string - match s.game-id - {{- range $s := $.Scenarios }} - {{ $s.ID }} -> {{ printf "%q" $s.Title }} - {{- end }} - x -> "scenario " ++ x.show -{{ end }} diff --git a/horsegen/scenario.sql b/horsegen/scenario.sql deleted file mode 100644 index f802651..0000000 --- a/horsegen/scenario.sql +++ /dev/null @@ -1,17 +0,0 @@ -WITH scenario_name AS ( - SELECT "index" AS id, "text" AS name - FROM text_data - WHERE category = 237 -), scenario_title AS ( - SELECT "index" AS id, "text" AS title - FROM text_data - WHERE category = 119 -) -SELECT - sc.id, - n.name, - t.title -FROM single_mode_scenario sc - JOIN scenario_name n ON sc.id = n.id - JOIN scenario_title t ON sc.id = t.id -ORDER BY sc.id diff --git a/horsegen/skill-group.sql b/horsegen/skill-group.sql deleted file mode 100644 index bf43916..0000000 --- a/horsegen/skill-group.sql +++ /dev/null @@ -1,14 +0,0 @@ -WITH skill_names AS ( - SELECT - "index" AS "id", - "text" AS "name" - FROM text_data - WHERE category = 47 -) -SELECT - group_id, - name -FROM skill_data d - JOIN skill_names n ON d.id = n.id -WHERE d.group_rate = 1 -ORDER BY group_id diff --git a/horsegen/skill.go.template b/horsegen/skill.go.template deleted file mode 100644 index d22ab7a..0000000 --- a/horsegen/skill.go.template +++ /dev/null @@ -1,79 +0,0 @@ -{{- define "go-skill-data" -}} -package {{ $.Region }} - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - {{- range $s := $.Skills }} - Skill{{ goenum $s.Name }}{{ if ne $s.InheritID 0 }}Inherit{{ end }} SkillID = {{ $s.ID }} // {{ $s.Name }} - {{- end }} -) - -var OrderedSkills = [...]SkillID{ - {{- range $s := $.Skills }} - Skill{{ goenum $s.Name }}{{ if ne $s.InheritID 0 }}Inherit{{ end }}, - {{- end }} -} - -var AllSkills = map[SkillID]Skill{ - {{- range $s := $.Skills }} - Skill{{ goenum $s.Name }}{{ if ne $s.InheritID 0 }}Inherit{{ end }}: { - ID: {{ $s.ID }}, - Name: {{ printf "%q" $s.Name }}{{ if ne $s.InheritID 0 }} + " (Inherited)"{{ end }}, - Description: {{ printf "%q" $s.Description }}, - Group: {{ $s.GroupID }}, - Rarity: {{ $s.Rarity }}, - GroupRate: {{ $s.GroupRate }}, - GradeValue: {{ $s.GradeValue }}, - {{- if $s.WitCheck }} - WitCheck: {{ $s.WitCheck }}, - {{- end }} - Activations: []Activation{ - {{- range $a := $s.Activations }} - {{- if ne $a.Condition "" }} - { - {{- if $a.Precondition }} - Precondition: {{ printf "%q" $a.Precondition }}, - {{- end }} - Condition: {{ printf "%q" $a.Condition }}, - Duration: {{ $a.Duration }}, - DurScale: {{ $a.DurScale }}, - {{- if $a.Cooldown }} - Cooldown: {{ $a.Cooldown }}, - {{- end }} - Abilities: []Ability{ - {{- range $abil := $a.Abilities }} - {{- if ne $abil.Type 0 }} - {Type: {{ $abil.Type }}, ValueUsage: {{ $abil.ValueUsage }}, Value: {{ $abil.Value }}, Target: {{ $abil.Target }}, TargetValue: {{ $abil.TargetValue -}} }, - {{- end }} - {{- end }} - }, - }, - {{- end }} - {{- end }} - }, - {{- if $s.UniqueOwner }} - UniqueOwner: {{ printf "%q" $s.UniqueOwner }}, - {{- end }} - {{- if $s.SPCost }} - SPCost: {{ $s.SPCost }}, - {{- end }} - IconID: {{ $s.IconID }}, - }, - {{- end }} -} - -var SkillNameToID = map[string]SkillID{ - {{- range $s := $.Skills }} - {{ printf "%q" $s.Name }}{{ if ne $s.InheritID 0 }} + " (Inherited)"{{ end }}: {{ $s.ID }}, - {{- end }} -} - -var SkillGroups = map[SkillGroupID][4]SkillID{ - {{- range $g := $.Groups }} - {{ $g.ID }}: { {{- range $s := index $.Related $g.ID }}Skill{{ goenum $s.Name }}{{ if ne $s.InheritID 0 }}Inherit{{ end }}, {{ end -}} }, - {{- end }} -} -{{ end }} diff --git a/horsegen/skill.kk.template b/horsegen/skill.kk.template deleted file mode 100644 index df83e59..0000000 --- a/horsegen/skill.kk.template +++ /dev/null @@ -1,230 +0,0 @@ -{{- define "koka-skill" -}} -module horse/{{ $.Region }}/skill - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import std/data/rb-map -import std/num/decimal -import horse/game-id -import horse/movement -pub import horse/skill - -extern create-id-table(): vector - c inline "int32_t arr[] = { {{- range $s := $.Skills }}{{ $s.ID }},{{ end -}} };\nkk_vector_from_cint32array(arr, (kk_ssize_t){{ $.SkillCount }}, kk_context())" - js inline "[{{ range $s := $.Skills }}{{ $s.ID }},{{ end }}]" -// Vector of all skill ID values in order for easy iterating. -pub val all = once(create-id-table) - -val name2id = once() - var m: rbmap := empty() - all().foreach() fn(id) m := m.set(Skill-id(id).show, id) - m - -// Get the skill ID that has the given exact name. -// Inherited skills have `" (Inherited)"` appended to their names. -// If no skill matches the name, the result is an invalid ID. -pub fun from-name(name: string): skill-id - Skill-id(name2id().rb-map/lookup(name).default(0)) - -// Get the name for a skill. -// Inherited skills have `" (Inherited)"` appended to their names. -// If no skill matches the ID, the result is the numeric ID. -pub fun show(s: skill-id): string - match s.game-id - {{- range $s := $.Skills }} - {{ $s.ID }} -> {{ printf "%q" $s.Name }}{{ if $s.InheritID }} ++ " (Inherited)"{{ end }} - {{- end }} - x -> "skill " ++ x.show - -// Get the description for a skill. -// If no skill matches the ID, the result is the empty string. -pub fun description(s: skill-id): string - match s.game-id - {{- range $s := $.Skills }} - {{ $s.ID }} -> {{ printf "%q" $s.Description }} - {{- end }} - _ -> "" - -// Get the skill group ID for a skill. -// If no skill matches the ID, the result is an invalid ID. -pub fun group(s: skill-id): skill-group-id - match s.game-id - {{- range $s := $.Skills }} - {{ $s.ID }} -> Skill-group-id( {{- $s.GroupID -}} ) - {{- end }} - _ -> Skill-group-id(0) - -// Get the rarity of a skill. -// If no skill matches the ID, the result is Common. -pub fun rarity(s: skill-id): rarity - match s.game-id - {{- range $s := $.Skills }} - {{ $s.ID }} -> {{ if eq $s.Rarity 1 }}Common{{ else if eq $s.Rarity 2 }}Rare{{ else if eq $s.Rarity 3 }}Unique-Low{{ else if eq $s.Rarity 4 }}Unique-Upgraded{{ else if eq $s.Rarity 5 }}Unique{{ else }}??? $s.Rarity={{ $s.Rarity }}{{ end }} - {{- end }} - _ -> Common - -// Get the group rate of a skill. -// If no skill matches the ID, the result is 0. -pub fun group-rate(s: skill-id): int - match s.game-id - {{- range $s := $.Skills }} - {{ $s.ID }} -> {{ $s.GroupRate }} - {{- end }} - _ -> 0 - -// Get the grade value of a skill. -// If no skill matches the ID, the result is 0. -pub fun grade-value(s: skill-id): int - match s.game-id - {{- range $s := $.Skills }} - {{ $s.ID }} -> {{ $s.GradeValue }} - {{- end }} - _ -> 0 - -// Get whether a skill is a wit check. -// If no skill matches the ID, the result is False. -pub fun wit-check(s: skill-id): bool - match s.game-id - {{- range $s := $.Skills }} - {{ $s.ID }} -> {{ if $s.WitCheck }}True{{ else }}False{{ end }} - {{- end }} - _ -> False - -// Get the activations of a skill. -// If no skill matches the ID, the result is an empty list. -pub fun activations(s: skill-id): list - match s.game-id - {{- range $s := $.Skills }} - {{ $s.ID }} -> [ - {{- range $a := $s.Activations }} - {{- if $a.Condition }} - Activation( - precondition = {{ printf "%q" $a.Precondition }}, - condition = {{ printf "%q" $a.Condition }}, - duration = {{ $a.Duration }}.decimal{{ if gt $a.Duration 0 }}(-4){{ end }}, - dur-scale = {{ if eq $a.DurScale 1 }}Direct-Dur - {{- else if eq $a.DurScale 2 }}Front-Distance-Dur - {{- else if eq $a.DurScale 3 }}Multiply-Remaining-HP - {{- else if eq $a.DurScale 4 }}Increment-Pass - {{- else if eq $a.DurScale 5 }}Midrace-Side-Block-Time-Dur - {{- else if eq $a.DurScale 7 }}Multiply-Remaining-HP2 - {{- else }}??? $a.DurScale={{ $a.DurScale }} - {{- end }}, - cooldown = {{ $a.Cooldown }}.decimal{{ if gt $a.Cooldown 0 }}(-4){{ end }}, - abilities = [ - {{- range $abil := $a.Abilities }} - {{- if $abil.Type }} - Ability( - ability-type = {{ if eq $abil.Type 1 }}Passive-Speed({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 2 }}Passive-Stamina({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 3 }}Passive-Power({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 4 }}Passive-Guts({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 5 }}Passive-Wit({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 6 }}Great-Escape - {{- else if eq $abil.Type 8 }}Vision({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 9 }}HP({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 10 }}Gate-Delay({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 13 }}Frenzy({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 21 }}Current-Speed({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 27 }}Target-Speed({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 28 }}Lane-Speed({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 31 }}Accel({{ $abil.Value }}.decimal(-4)) - {{- else if eq $abil.Type 35 }}Lane-Change({{ $abil.Value }}.decimal(-4)) - {{- else }}??? $abil.Type={{$abil.Type}} - {{- end }}, - value-usage = {{ if eq $abil.ValueUsage 1 }}Direct - {{- else if eq $abil.ValueUsage 3 }}Team-Speed - {{- else if eq $abil.ValueUsage 4 }}Team-Stamina - {{- else if eq $abil.ValueUsage 5 }}Team-Power - {{- else if eq $abil.ValueUsage 6 }}Team-Guts - {{- else if eq $abil.ValueUsage 7 }}Team-Wit - {{- else if eq $abil.ValueUsage 8 }}Multiply-Random - {{- else if eq $abil.ValueUsage 9 }}Multiply-Random2 - {{- else if eq $abil.ValueUsage 10 }}Climax - {{- else if eq $abil.ValueUsage 13 }}Max-Stat - {{- else if eq $abil.ValueUsage 14 }}Passive-Count - {{- else if eq $abil.ValueUsage 19 }}Front-Distance-Add - {{- else if eq $abil.ValueUsage 20 }}Midrace-Side-Block-Time - {{- else if eq $abil.ValueUsage 22 }}Speed-Scaling - {{- else if eq $abil.ValueUsage 23 }}Speed-Scaling2 - {{- else if eq $abil.ValueUsage 24 }}Arc-Global-Potential - {{- else if eq $abil.ValueUsage 25 }}Max-Lead-Distance - {{- else }}??? $abil.ValueUsage={{ $abil.ValueUsage }} - {{- end }}, - target = {{ if eq $abil.Target 1}}Self - {{- else if eq $abil.Target 4 }}Sympathizers - {{- else if eq $abil.Target 4 }}In-View - {{- else if eq $abil.Target 4 }}Frontmost - {{- else if eq $abil.Target 9 }}Ahead({{ $abil.TargetValue }}) - {{- else if eq $abil.Target 10 }}Behind({{ $abil.TargetValue }}) - {{- else if eq $abil.Target 4 }}All-Teammates - {{- else if eq $abil.Target 18 }}Style({{ if eq $abil.TargetValue 1 }}Front-Runner{{ else if eq $abil.TargetValue 2 }}Pace-Chaser{{ else if eq $abil.TargetValue 3 }}Late-Surger{{ else if eq $abil.TargetValue 4 }}End-Closer{{ else }}??? $abil.TargetValue={{ $abil.TargetValue }}{{ end }}) - {{- else if eq $abil.Target 19 }}Rushing-Ahead({{ $abil.TargetValue }}) - {{- else if eq $abil.Target 20 }}Rushing-Behind({{ $abil.TargetValue }}) - {{- else if eq $abil.Target 21 }}Rushing-Style({{ if eq $abil.TargetValue 1 }}Front-Runner{{ else if eq $abil.TargetValue 2 }}Pace-Chaser{{ else if eq $abil.TargetValue 3 }}Late-Surger{{ else if eq $abil.TargetValue 4 }}End-Closer{{ else }}??? $abil.TargetValue={{ $abil.TargetValue }}{{ end }}) - {{- else if eq $abil.Target 22 }}Specific-Character(Character-id({{ $abil.TargetValue }})) - {{- else if eq $abil.Target 23 }}Triggering - {{- end }} - ), - {{- end }} - {{- end }} - ] - ), - {{- end }} - {{- end }} - ] - {{- end }} - _ -> Nil - -// Get the owner of a unique skill. -// If the skill is not unique, or if there is no skill with the given ID, -// the result is Nothing. -pub fun unique-owner(s: skill-id): maybe - match s.game-id - {{- range $s := $.Skills }} - {{- if $s.UniqueOwnerID }} - {{ $s.ID }} -> Just(Uma-id({{ $s.UniqueOwnerID }})) - {{- end }} - {{- end }} - _ -> Nothing - -// Get the SP cost of a skill. -// If there is no skill with the given ID, the result is 0. -pub fun sp-cost(s: skill-id): int - match s.game-id - {{- range $s := $.Skills }} - {{ $s.ID }} -> {{ $s.SPCost }} - {{- end }} - _ -> 0 - -// Get the icon ID of a skill. -// If there is no skill with the given ID, the result is an invalid ID. -pub fun icon-id(s: skill-id): skill-icon-id - match s.game-id - {{- range $s := $.Skills }} - {{ $s.ID }} -> Skill-icon-id({{ $s.IconID }}) - {{- end }} - _ -> Skill-icon-id(0) - -// Get the name for a skill group. -// Skill group names are the name of the base skill in the group. -// If there is no skill group with the given ID, the result is the numeric ID. -pub fun skill-group/show(sg: skill-group-id): string - match sg.game-id - {{- range $g := $.Groups }} - {{ $g.ID }} -> {{- printf "%q" $g.Name -}} - {{- end }} - x -> "skill group " ++ x.show - -// Get the list of skills in a skill group. -pub fun skill-group/skills(sg: skill-group-id): list - match sg.game-id - {{- range $g := $.Groups }} - {{ $g.ID }} -> [ {{- range $s := index $.Related $g.ID }}Skill-id({{ $s.ID }}), {{ end -}} ] - {{- end }} - _ -> Nil - -{{- end }} diff --git a/horsegen/skill.sql b/horsegen/skill.sql deleted file mode 100644 index c891b83..0000000 --- a/horsegen/skill.sql +++ /dev/null @@ -1,98 +0,0 @@ -WITH skill_names AS ( - SELECT - n."index" AS "id", - n."text" AS "name", - d."text" AS "description" - FROM text_data n - JOIN text_data d ON n."index" = d."index" AND n."category" = 47 AND d."category" = 48 -), skill_groups AS ( - SELECT - group_id, - name - FROM skill_data d - JOIN skill_names n ON d.id = n.id - WHERE group_rate = 1 -), card_name AS ( - SELECT - "index" AS "id", - "text" AS "name" - FROM text_data n - WHERE category = 4 -), card_unique AS ( - SELECT DISTINCT - ss.skill_id1 AS unique_id, - card_name.id AS owner_id, - card_name.name - FROM card_data card - JOIN card_name ON card.id = card_name.id - JOIN card_rarity_data rd ON card.id = rd.card_id - JOIN skill_set ss ON rd.skill_set = ss.id -) -SELECT - d.id, - n.name, - n.description, - IIF(d.unique_skill_id_1 = 0, d.group_id, ud.group_id) AS group_id, - CASE - WHEN g.name IS NOT NULL THEN g.name - WHEN d.unique_skill_id_1 != 0 THEN n.name - ELSE '' - END AS group_name, - d.rarity, - d.group_rate, - d.grade_value, - d.activate_lot, - d.precondition_1, - d.condition_1, - d.float_ability_time_1, - d.ability_time_usage_1, - d.float_cooldown_time_1, - d.ability_type_1_1, - d.ability_value_usage_1_1, - d.float_ability_value_1_1, - d.target_type_1_1, - d.target_value_1_1, - d.ability_type_1_2, - d.ability_value_usage_1_2, - d.float_ability_value_1_2, - d.target_type_1_2, - d.target_value_1_2, - d.ability_type_1_3, - d.ability_value_usage_1_3, - d.float_ability_value_1_3, - d.target_type_1_3, - d.target_value_1_3, - d.precondition_2, - d.condition_2, - d.float_ability_time_2, - d.ability_time_usage_2, - d.float_cooldown_time_2, - d.ability_type_2_1, - d.ability_value_usage_2_1, - d.float_ability_value_2_1, - d.target_type_2_1, - d.target_value_2_1, - d.ability_type_2_2, - d.ability_value_usage_2_2, - d.float_ability_value_2_2, - d.target_type_2_2, - d.target_value_2_2, - d.ability_type_2_3, - d.ability_value_usage_2_3, - d.float_ability_value_2_3, - d.target_type_2_3, - d.target_value_2_3, - IFNULL(p.need_skill_point, 0) AS sp_cost, - d.unique_skill_id_1, - COALESCE(u.owner_id, iu.owner_id, 0) AS unique_owner_id, - COALESCE(u.name, iu.name, '') AS unique_owner, - d.icon_id, - ROW_NUMBER() OVER (ORDER BY d.id) - 1 AS "index" -FROM skill_data d - JOIN skill_names n ON d.id = n.id - LEFT JOIN skill_data ud ON d.unique_skill_id_1 = ud.id - LEFT JOIN skill_groups g ON d.group_id = g.group_id - LEFT JOIN single_mode_skill_need_point p ON d.id = p.id - LEFT JOIN card_unique u ON d.id = u.unique_id - LEFT JOIN card_unique iu ON d.unique_skill_id_1 = iu.unique_id -ORDER BY d.id diff --git a/horsegen/spark-effect.sql b/horsegen/spark-effect.sql deleted file mode 100644 index de89d85..0000000 --- a/horsegen/spark-effect.sql +++ /dev/null @@ -1,9 +0,0 @@ -SELECT - factor_group_id, - effect_id, - target_type, - value_1, - value_2 -FROM succession_factor_effect -WHERE factor_group_id NOT IN (40001) -- exclude Carnival Bonus -ORDER BY factor_group_id, effect_id, target_type diff --git a/horsegen/spark.go.template b/horsegen/spark.go.template deleted file mode 100644 index d4848d7..0000000 --- a/horsegen/spark.go.template +++ /dev/null @@ -1,35 +0,0 @@ -{{- define "go-spark" -}} -package {{ $.Region }} - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - {{- range $s := $.Sparks }} - Spark{{ goenum $s.Name }}Lv{{ $s.Rarity }} SparkID = {{ $s.ID }} // {{ $s.Name }} - {{- end }} -) - -var AllSparks = map[SparkID]Spark{ - {{- range $s := $.Sparks }} - Spark{{ goenum $s.Name }}Lv{{ $s.Rarity }}: { - ID: {{ $s.ID }}, - Name: {{ printf "%q" $s.Name }}, - Description: {{ printf "%q" $s.Description }}, - Group: {{ $s.Group }}, - Rarity: {{ $s.Rarity }}, - Type: {{ $s.Type }}, - Effects: [][]SparkEffect{ - {{- range $r := index $.SparkEffects $s.Group }} - { - {{- range $e := $r -}} - { {{- $e.Target }}, {{ $e.Value1 }}, {{ $e.Value2 -}} }, - {{- end -}} - }, - {{- end }} - }, - }, - {{- end }} -} -{{ end }} diff --git a/horsegen/spark.kk.template b/horsegen/spark.kk.template deleted file mode 100644 index 89673a6..0000000 --- a/horsegen/spark.kk.template +++ /dev/null @@ -1,121 +0,0 @@ -{{- define "koka-spark" -}} -module horse/{{ $.Region }}/spark - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import horse/game-id -pub import horse/spark - -extern create-id-table(): vector - c inline "int32_t arr[] = { {{- range $s := $.Sparks }}{{ $s.ID }},{{ end -}} };\nkk_vector_from_cint32array(arr, (kk_ssize_t){{ $.SparkCount }}, kk_context())" - js inline "[{{ range $s := $.Sparks }}{{ $s.ID }},{{ end }}]" -// Vector of all spark IDs in order for easy iterating. -pub val all = once(create-id-table) - -// Get the name for a spark. -// The name does not indicate the spark level. -// If no spark matches the ID, the result contains the numeric ID. -pub fun show(s: spark-id): string - match s.game-id - {{- range $s := $.Sparks }} - {{ $s.ID }} -> {{ printf "%q" $s.Name }} - {{- end }} - x -> "spark " ++ x.show - -// Get the description for a spark. -// The description does not indicate the spark level. -// If no spark matches the ID, the result contains the numeric ID. -pub fun description(s: spark-id): string - match s.game-id - {{- range $s := $.Sparks }} - {{ $s.ID }} -> {{ printf "%q" $s.Description }} - {{- end }} - x -> "spark " ++ x.show - -// Get the spark group ID of a spark. -// If no spark matches the ID, the result is an invalid ID. -pub fun spark-group(s: spark-id): spark-group-id - match s.game-id - {{- range $s := $.Sparks }} - {{ $s.ID }} -> Spark-group-id({{ $s.Group }}) - {{- end }} - _ -> Spark-group-id(0) - -// Get the rarity (level or star count) of a spark. -// If no spark matches the ID, the result is One. -pub fun rarity(s: spark-id): rarity - match s.game-id - {{- range $s := $.Sparks }} - {{ $s.ID }} -> {{ if eq $s.Rarity 1 }}One{{ else if eq $s.Rarity 2 }}Two{{ else if eq $s.Rarity 3 }}Three{{ else }}??? $s.Rarity={{ $s.Rarity }}{{ end }} - {{- end }} - _ -> One - -// Get the type of a spark. -// If no spark matches the ID, the result is Stat. -pub fun spark-type(s: spark-id): spark-type - match s.game-id - {{- range $s := $.Sparks }} - {{ $s.ID }} -> {{ if eq $s.Type 1 }}Stat - {{- else if eq $s.Type 2 }}Aptitude - {{- else if eq $s.Type 5 }}Race - {{- else if eq $s.Type 4 }}Skill - {{- else if eq $s.Type 6 }}Scenario - {{- else if eq $s.Type 7 }}Carnival-Bonus - {{- else if eq $s.Type 10 }}Surface - {{- else if eq $s.Type 8 }}Distance - {{- else if eq $s.Type 11 }}Style - {{- else if eq $s.Type 9 }}Hidden - {{- else if eq $s.Type 3 }}Unique - {{- else }}??? $s.Type={{ $s.Type }} - {{- end }} - {{- end }} - _ -> Stat - -// Get the list of all effects a spark can apply during inheritance. -// When a spark procs, a random element is chosen from the list yielded by this -// function according to a hidden distribution, then all effects in that are applied. -// If no spark matches the ID, the result is the empty list. -pub fun effects(s: spark-id): list> - match s.game-id - {{- range $s := $.Sparks }} - {{ $s.ID }} -> [ - {{- range $r := index $.SparkEffects $s.Group }} - [ - {{- range $e := $r -}} - {{- if eq $e.Target 1 -}}Stat-Up(Speed, {{ $e.Value1 }}), - {{- else if eq $e.Target 2 -}}Stat-Up(Stamina, {{ $e.Value1 }}), - {{- else if eq $e.Target 3 -}}Stat-Up(Power, {{ $e.Value1 }}), - {{- else if eq $e.Target 4 -}}Stat-Up(Guts, {{ $e.Value1 }}), - {{- else if eq $e.Target 5 -}}Stat-Up(Wit, {{ $e.Value1 }}), - {{- else if eq $e.Target 6 -}}SP-Up({{ $e.Value1 }}), - {{- else if eq $e.Target 7 -}}Random-Stat-Up({{ $e.Value1 }}), - {{- else if eq $e.Target 11 -}}Aptitude-Up(Turf, {{ $e.Value1 }}), - {{- else if eq $e.Target 12 -}}Aptitude-Up(Dirt, {{ $e.Value1 }}), - {{- else if eq $e.Target 21 -}}Aptitude-Up(Front-Runner, {{ $e.Value1 }}), - {{- else if eq $e.Target 22 -}}Aptitude-Up(Pace-Chaser, {{ $e.Value1 }}), - {{- else if eq $e.Target 23 -}}Aptitude-Up(Late-Surger, {{ $e.Value1 }}), - {{- else if eq $e.Target 24 -}}Aptitude-Up(End-Closer, {{ $e.Value1 }}), - {{- else if eq $e.Target 31 -}}Aptitude-Up(Sprint, {{ $e.Value1 }}), - {{- else if eq $e.Target 32 -}}Aptitude-Up(Mile, {{ $e.Value1 }}), - {{- else if eq $e.Target 33 -}}Aptitude-Up(Medium, {{ $e.Value1 }}), - {{- else if eq $e.Target 34 -}}Aptitude-Up(Long, {{ $e.Value1 }}), - {{- else if eq $e.Target 41 -}}Skill-Hint(Skill-id({{ $e.Value1 }}), {{ $e.Value2 }}), - {{- else if eq $e.Target 51 -}}Carnival-Bonus {{/*- skipped, but doesn't hurt to put it here -*/}} - {{- else if eq $e.Target 61 -}}Stat-Cap-Up(Speed, {{ $e.Value1 }}), - {{- else if eq $e.Target 62 -}}Stat-Cap-Up(Stamina, {{ $e.Value1 }}), - {{- else if eq $e.Target 63 -}}Stat-Cap-Up(Power, {{ $e.Value1 }}), - {{- else if eq $e.Target 64 -}}Stat-Cap-Up(Guts, {{ $e.Value1 }}), - {{- else if eq $e.Target 65 -}}Stat-Cap-Up(Wit, {{ $e.Value1 }}), - {{- else -}} - ??? $e.Target={{- $e.Target -}} - {{- end -}} - {{- end -}} - ], - {{- end }} - ] - {{- end }} - _ -> [] -{{ end }} diff --git a/horsegen/spark.sql b/horsegen/spark.sql deleted file mode 100644 index 222a5f0..0000000 --- a/horsegen/spark.sql +++ /dev/null @@ -1,20 +0,0 @@ -WITH spark AS ( - SELECT - n."index" AS "id", - n."text" AS "name", - d."text" AS "description" - FROM text_data n - LEFT JOIN text_data d ON n."index" = d."index" AND d."category" = 172 - WHERE n.category = 147 -) -SELECT - sf.factor_id, - spark.name, - spark.description, - sf.factor_group_id, - sf.rarity, - sf.factor_type -FROM spark - JOIN succession_factor sf ON spark.id = sf.factor_id -WHERE sf.factor_type != 7 -- exclude Carnival Bonus -ORDER BY sf.factor_id diff --git a/horsegen/uma.go.template b/horsegen/uma.go.template deleted file mode 100644 index ba37206..0000000 --- a/horsegen/uma.go.template +++ /dev/null @@ -1,42 +0,0 @@ -{{- define "go-uma" -}} -package {{ $.Region }} - -// Automatically generated with horsegen; DO NOT EDIT - -import . "git.sunturtle.xyz/zephyr/horse/horse" - -const ( - {{- range $uma := $.Umas }} - {{ goenum $uma.CharacterName }}{{ goenum $uma.Variant }} UmaID = {{ $uma.ID }} // {{ $uma.Name }} - {{- end }} -) - -var AllUmas = map[UmaID]Uma{ - {{- range $uma := $.Umas }} - {{ goenum $uma.CharacterName }}{{ goenum $uma.Variant }}: { - ID: {{ $uma.ID }}, - CharacterID: {{ $uma.CharacterID }}, - Name: {{ printf "%q" $uma.Name }}, - Variant: {{ printf "%q" $uma.Variant }}, - Sprint: {{ $uma.Sprint }}, - Mile: {{ $uma.Mile }}, - Medium: {{ $uma.Medium }}, - Long: {{ $uma.Long }}, - Front: {{ $uma.Front }}, - Pace: {{ $uma.Pace }}, - Late: {{ $uma.Late }}, - End: {{ $uma.End }}, - Turf: {{ $uma.Turf }}, - Dirt: {{ $uma.Dirt }}, - Unique: {{ $uma.UniqueID }}, - Skill1: {{ $uma.Skill1 }}, - Skill2: {{ $uma.Skill2 }}, - Skill3: {{ $uma.Skill3 }}, - SkillPL2: {{ $uma.SkillPL2 }}, - SkillPL3: {{ $uma.SkillPL3 }}, - SkillPL4: {{ $uma.SkillPL4 }}, - SkillPL5: {{ $uma.SkillPL5 }}, - }, - {{- end }} -} -{{ end }} diff --git a/horsegen/uma.kk.template b/horsegen/uma.kk.template deleted file mode 100644 index 8c07b27..0000000 --- a/horsegen/uma.kk.template +++ /dev/null @@ -1,221 +0,0 @@ -{{- define "koka-uma" -}} -module horse/{{ $.Region }}/uma - -// Automatically generated with horsegen; DO NOT EDIT - -import std/core/delayed -import std/core/vector -import std/core-extras -import horse/game-id -import horse/movement -pub import horse/uma - -extern create-id-table(): vector - c inline "int32_t arr[] = { {{- range $uma := $.Umas }}{{ $uma.ID }},{{ end -}} };\nkk_vector_from_cint32array(arr, (kk_ssize_t){{ $.UmaCount }}, kk_context())" - js inline "[{{ range $uma := $.Umas }}{{ $uma.ID }},{{ end }}]" -// Vector of all Uma IDs in order for easy iterating. -pub val all = once(create-id-table) - -// Get the name for an Uma. -// The name includes the costume variant, e.g. `[Special Dreamer] Special Week`. -// If no Uma matches the ID, the result contains the numeric ID. -pub fun show(uma: uma-id): string - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ printf "%q" $uma.Name }} - {{- end }} - x -> "uma " ++ x.show - -// Get the costume variant for an Uma, e.g. `[Special Dreamer]`. -// If no Uma matches the ID, the result contains the numeric ID. -pub fun variant(uma: uma-id): string - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ printf "%q" $uma.Variant }} - {{- end }} - x -> "uma " ++ x.show - -// Get the character ID for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun character-id(uma: uma-id): character-id - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> Character-id({{ $uma.CharacterID }}) - {{- end }} - _ -> Character-id(0) - -// Get the sprint aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun sprint(uma: uma-id): aptitude-level - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ template "koka-aptitude-level" $uma.Sprint }} - {{- end }} - _ -> G - -// Get the mile aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun mile(uma: uma-id): aptitude-level - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ template "koka-aptitude-level" $uma.Mile }} - {{- end }} - _ -> G - -// Get the medium aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun medium(uma: uma-id): aptitude-level - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ template "koka-aptitude-level" $uma.Medium }} - {{- end }} - _ -> G - -// Get the long aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun long(uma: uma-id): aptitude-level - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ template "koka-aptitude-level" $uma.Long }} - {{- end }} - _ -> G - -// Get the front runner aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun front-runner(uma: uma-id): aptitude-level - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ template "koka-aptitude-level" $uma.Front }} - {{- end }} - _ -> G - -// Get the pace chaser aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun pace-chaser(uma: uma-id): aptitude-level - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ template "koka-aptitude-level" $uma.Pace }} - {{- end }} - _ -> G - -// Get the late surger aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun late-surger(uma: uma-id): aptitude-level - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ template "koka-aptitude-level" $uma.Late }} - {{- end }} - _ -> G - -// Get the end closer aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun end-closer(uma: uma-id): aptitude-level - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ template "koka-aptitude-level" $uma.End }} - {{- end }} - _ -> G - -// Get the turf aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun turf(uma: uma-id): aptitude-level - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ template "koka-aptitude-level" $uma.Turf }} - {{- end }} - _ -> G - -// Get the dirt aptitude for an Uma. -// If no Uma matches the ID, the result is G. -pub fun dirt(uma: uma-id): aptitude-level - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> {{ template "koka-aptitude-level" $uma.Dirt }} - {{- end }} - _ -> G - -// Get the unique skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun unique(uma: uma-id): skill-id - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> Skill-id({{ $uma.UniqueID }}) - {{- end }} - _ -> Skill-id(0) - -// Get the first built-in skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill1(uma: uma-id): skill-id - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> Skill-id({{ $uma.Skill1 }}) - {{- end }} - _ -> Skill-id(0) - -// Get the second built-in skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill2(uma: uma-id): skill-id - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> Skill-id({{ $uma.Skill2 }}) - {{- end }} - _ -> Skill-id(0) - -// Get the third built-in skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill3(uma: uma-id): skill-id - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> Skill-id({{ $uma.Skill3 }}) - {{- end }} - _ -> Skill-id(0) - -// Get the potential level 2 skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill-pl2(uma: uma-id): skill-id - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> Skill-id({{ $uma.SkillPL2 }}) - {{- end }} - _ -> Skill-id(0) - -// Get the potential level 3 skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill-pl3(uma: uma-id): skill-id - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> Skill-id({{ $uma.SkillPL3 }}) - {{- end }} - _ -> Skill-id(0) - -// Get the potential level 4 skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill-pl4(uma: uma-id): skill-id - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> Skill-id({{ $uma.SkillPL4 }}) - {{- end }} - _ -> Skill-id(0) - -// Get the potential level 5 skill for an Uma. -// If no Uma matches the ID, the result is an invalid ID. -pub fun skill-pl5(uma: uma-id): skill-id - match uma.game-id - {{- range $uma := $.Umas }} - {{ $uma.ID }} -> Skill-id({{ $uma.SkillPL5 }}) - {{- end }} - _ -> Skill-id(0) -{{ end }} - -{{- define "koka-aptitude-level" -}} -{{- if eq . 1 -}} G -{{- else if eq . 2 -}} F -{{- else if eq . 3 -}} E -{{- else if eq . 4 -}} D -{{- else if eq . 5 -}} C -{{- else if eq . 6 -}} B -{{- else if eq . 7 -}} A -{{- else if eq . 8 -}} S -{{- else -}} ??? aptitude={{ . }} -{{- end -}} -{{- end -}} diff --git a/horsegen/uma.sql b/horsegen/uma.sql deleted file mode 100644 index 637f9b1..0000000 --- a/horsegen/uma.sql +++ /dev/null @@ -1,59 +0,0 @@ -WITH uma_name AS ( - SELECT "index" AS id, "text" AS name - FROM text_data - WHERE category = 4 -), uma_variant AS ( - SELECT "index" AS id, "text" AS variant - FROM text_data - WHERE category = 5 -), chara_name AS ( - SELECT "index" AS id, "text" AS name - FROM text_data - WHERE category = 6 -), skills AS ( - SELECT - uma.id, - s.skill_id, - s.need_rank, - ROW_NUMBER() OVER (PARTITION BY s.available_skill_set_id, s.need_rank) AS idx - FROM card_data uma - LEFT JOIN available_skill_set s ON uma.available_skill_set_id = s.available_skill_set_id -) -SELECT - uma.card_id, - card_data.chara_id, - n.name, - v.variant, - c.name AS chara_name, - uma.proper_distance_short, - uma.proper_distance_mile, - uma.proper_distance_middle, - uma.proper_distance_long, - uma.proper_running_style_nige, - uma.proper_running_style_senko, - uma.proper_running_style_sashi, - uma.proper_running_style_oikomi, - uma.proper_ground_turf, - uma.proper_ground_dirt, - su.skill_id1 AS unique_skill, - s1.skill_id AS skill1, - s2.skill_id AS skill2, - s3.skill_id AS skill3, - sp2.skill_id AS skill_pl2, - sp3.skill_id AS skill_pl3, - sp4.skill_id AS skill_pl4, - sp5.skill_id AS skill_pl5 -FROM card_data - JOIN card_rarity_data uma ON card_data.id = uma.card_id - JOIN chara_name c ON card_data.chara_id = c.id - JOIN skill_set su ON uma.skill_set = su.id - JOIN skills s1 ON uma.card_id = s1.id AND s1.need_rank = 0 AND s1.idx = 1 - JOIN skills s2 ON uma.card_id = s2.id AND s2.need_rank = 0 AND s2.idx = 2 - JOIN skills s3 ON uma.card_id = s3.id AND s3.need_rank = 0 AND s3.idx = 3 - JOIN skills sp2 ON uma.card_id = sp2.id AND sp2.need_rank = 2 - JOIN skills sp3 ON uma.card_id = sp3.id AND sp3.need_rank = 3 - JOIN skills sp4 ON uma.card_id = sp4.id AND sp4.need_rank = 4 - JOIN skills sp5 ON uma.card_id = sp5.id AND sp5.need_rank = 5 - LEFT JOIN uma_name n ON uma.card_id = n.id - LEFT JOIN uma_variant v ON uma.card_id = v.id -WHERE uma.rarity = 5