From 05294eaa4ba21e798e0723b507fbd6edb4024be3 Mon Sep 17 00:00:00 2001 From: Nyeogmi Date: Fri, 9 Feb 2024 18:13:39 -0800 Subject: [PATCH] Prepare for dealing out saved seeds --- .gitignore | 0 board.lua | 6 +- dealer.lua | 168 +- main.p8 | 1 + seed_compressor/compressor.py | 156 + seed_compressor/input/fortunes_foundation.txt | 10316 +++++++++++++++ seed_compressor/parse_cart.py | 103 + seed_constants.lua | 3 + simulator/src/board.rs | 2 +- simulator/src/dumb_dealer.rs | 44 + simulator/src/main.rs | 65 +- simulator/src/pico_rng.rs | 2 +- simulator/src/ruleset.rs | 3 + simulator/winnable_seeds_multithreaded.txt | 10347 ++++++++++++++++ 14 files changed, 21068 insertions(+), 148 deletions(-) create mode 100644 .gitignore create mode 100644 seed_compressor/compressor.py create mode 100644 seed_compressor/input/fortunes_foundation.txt create mode 100644 seed_compressor/parse_cart.py create mode 100644 seed_constants.lua create mode 100644 simulator/src/dumb_dealer.rs create mode 100644 simulator/winnable_seeds_multithreaded.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/board.lua b/board.lua index 76a9343..ddb2f95 100644 --- a/board.lua +++ b/board.lua @@ -40,11 +40,11 @@ function board:init(ruleset) return new.rank==lst.rank-1 end)) - self:deal() + self:deal(12889>>16) end -function board:deal() - local deal=deal(self.ruleset) +function board:deal(seed) + local deal=deal(self.ruleset,seed) local n_usable_slots=self.ruleset.n_slots - 1 for i=1,#self.ruleset.deck.aces do diff --git a/dealer.lua b/dealer.lua index 4d101e5..9295fb2 100644 --- a/dealer.lua +++ b/dealer.lua @@ -1,137 +1,45 @@ -function deal(ruleset) +function deal(ruleset,seed) local n_usable_cards=ruleset.n_usable_cards - local n_final_slots=ruleset.n_slots-1 - local n_usable_slots=n_final_slots+1 - local tower_height = n_usable_cards\n_final_slots + local n_usable_slots=ruleset.n_slots-1 + local tower_height = n_usable_cards\n_usable_slots - -- prototype - local deal1,generate_wells,generate_pops,accepts - local deal1=function() - local slots,max_height={},{} - for i=0,n_final_slots do - slots[i]={} - max_height[i]=tower_height - end - max_height[0]=1 + local r=rnd() - local wells=generate_wells() - local pops=generate_pops(wells) - - local function pek(lst) - return lst[#lst] - end - - local function pop(lst) - return deli(lst,#lst) - end - - local function pop_accepted_card(lst) - local card=lst[#lst] - if (card and accepts(lst[#lst-1],card)) return pop(lst) - end - - local function find_home(card,allow_too_tall) - assert(card!=0) - local acceptors={} - - for s=0,#slots do - local n=#slots[s] - if ((allow_too_tall and accepts(pek(slots[s]),card)) or n0 do - local w=pop(pops) - local card=pop(wells[w]) - find_home(card,true) - end - - -- fix any stacks that are too tall - max_height[0]=0 -- auxiliary slot must be empty - for i=0,#slots do - while #slots[i]>max_height[i] do - local card=pop(slots[i]) - find_home(card,false) - end - end - - -- get rid of auxiliary slot - slots[0]=nil - local shuffles=1 - local actual_shuffles=1 - for s=1,#slots do - local extra_shuf=shuffles+1 - while (ruleset.deck.instantly_accepted[pek(slots[s])]) do - shuf(slots[s]) - shuffles=extra_shuf - actual_shuffles+=1 - if (actual_shuffles>=5) return nil - end - end - for i=shuffles,2 do - shuf(rnd(slots)) - end - for s=1,#slots do - assert(#slots[s]==tower_height) - end - - return slots - end - generate_wells=function() - local split_point=flr(rnd()*(ruleset.n_arcana+1)) - local wells={} - for i=1,ruleset.n_suits+2 do - wells[i]={} - end - for r=2,ruleset.n_cards_per_suit do - for s=1,ruleset.n_suits do - local card=ruleset.n_cards_per_suit * (s - 1) + (r - 1) + 1 - assert(card!=0) - add(wells[s],card) - end - end - - local first_arcana=ruleset.n_suits*ruleset.n_cards_per_suit+1 - local arcana0=ruleset.n_suits - local arcana1=arcana0+1 - for r=0,split_point-1 do - assert(first_arcana+r!=0) - add(wells[arcana0],first_arcana+r) - end - for r=ruleset.n_arcana-1,split_point,-1 do - assert(first_arcana+r!=0) - add(wells[arcana1],first_arcana+r) - end - return wells - end - generate_pops=function(wells) - local pops={} - for w=1,#wells do - for _=1,#wells[w] do - add(pops,w) - end - end - shuf(pops) - return pops - end - accepts=function(c0,c1) - assert(c0!=0) - assert(c1!=0) - assert(c1!=nil) - if (c0==nil) return true - c0=ruleset.deck.cards[c0] - c1=ruleset.deck.cards[c1] - return c0.suit==c1.suit and (c1.rank == c0.rank+1 or c0.rank==c1.rank+1) + -- + srand(seed) + local slots={} + for i=1,n_usable_slots do + slots[i]={} end - while true do - local d=deal1() - if (d) return d - print("retrying") + local cards={} + for i=1,#ruleset.deck.cards do + add(cards,i) end + for a in all(ruleset.deck.aces) do + del(cards,a) + end + + assert(#cards==n_usable_cards) + + local slot=0 + while #cards>0 do + local arr=slots[1+(slot%#slots)] + local i=flr(rnd(#cards)) + local card=cards[i+1] + if (ruleset.deck.instantly_accepted[card] and #arr==0) then + -- do not use + else + add(arr,card,1) + deli(cards,i+1) + slot+=1 + end + end + + for i=1,#slots do + assert(#slots[i]==tower_height) + end + + srand(r) + return slots end \ No newline at end of file diff --git a/main.p8 b/main.p8 index 5c4812b..cf935f8 100644 --- a/main.p8 +++ b/main.p8 @@ -10,6 +10,7 @@ __lua__ #include layout.lua #include ruleset.lua #include progression.lua +#include seed_constants.lua #include main.lua --[[ diff --git a/seed_compressor/compressor.py b/seed_compressor/compressor.py new file mode 100644 index 0000000..9a25641 --- /dev/null +++ b/seed_compressor/compressor.py @@ -0,0 +1,156 @@ +from parse_cart import Pico8Cart +import struct +import zlib + +def main(): + ff = load_seeds("input/fortunes_foundation.txt") + + ffdata = delta_4b(ff) + offset_ffdata = 0 + + augment_map("../main.p8", "../seed_constants.lua", ffdata, { + "ffdata": 0 + }) + + +def augment_map(target, target2, constants_file, binary, offsets): + assert isinstance(binary, bytes) and len(binary) < 8192 # length of mapdata + print(f"Length of basic extra map data: {len(binary)}") + mapdata = (binary + bytes([0] * 8192))[:8192] + + cart = Pico8Cart.load(target) + def touch_map(memory): + memory[0x0:0x1000] = mapdata[0x1000:0x2000] + def touch_gfx(memory): + memory[0x1000:0x2000] = mapdata[0x0000:0x1000] + + cart.touch("__map__", touch_map) + cart.touch("__gfx__", touch_gfx) + cart.save(target) + + with open(constants_file, "wt") as f: + f.write("seed_constants={\n") + for i, (k, v) in enumerate(offsets.items()): + sep = "," if i < len(offsets) - 1 else "" + f.write(f" {k}={v+0x1000}{sep}\n") + f.write("}\n") + + +def load_seeds(fname): + seeds = set() + with open(fname, "rt") as f: + for line in f: + seeds.add(int(line)) + + return list(sorted(seeds)) + + +def analyze(seeds): + def peek_at_seeds(seeds): + print("Seeds modulo various") + for i in range(0, 30): + matches = [s for s in seeds if s%30 == i] + print("- {}: {} (max {})".format(i, len(matches), max(matches))) + print() + + peek_at_seeds(seeds) + # seeds=seeds[:8192] # stick to the range with a realistic distribution + + print("{} seeds".format(len(seeds))) + for encoding in [ + naive, delta_8b, delta_3b, delta_4b, delta_5b, zlib_delta_4b, zlib_delta_8b + ]: + print("{} encoding: {} bytes".format(encoding.__name__, len(encoding(seeds)))) + +def naive(seeds): + return b"".join(struct.pack(" 255: + out += struct.pack(" 15: + out_nibbles.append(0) + acc += 15 + else: + out_nibbles.append(diff) + acc = seeds[i] + i += 1 + + while len(out_nibbles) % 2 != 0: + out_nibbles.append(0) + + out = b"" + for i in range(0, len(out_nibbles), 2): + out += bytes([(out_nibbles[i] << 4) + out_nibbles[i+1]]) + return out + +def zlib_delta_4b(seeds): + return zlib.compress(delta_4b(seeds)) + +def delta_3b(seeds): + return delta_nb(seeds, 3) + +def delta_5b(seeds): + return delta_nb(seeds, 5) + +def delta_nb(seeds, n): + out_fibbles = [] + acc = 0 + i = 0 + while i < len(seeds): + diff = seeds[i] - acc + if diff > (1<> 4 + lsb = byte & 0x0f + + if msb_first: + chars.append(HEX_CHARS[msb]) + chars.append(HEX_CHARS[lsb]) + else: + chars.append(HEX_CHARS[lsb]) + chars.append(HEX_CHARS[msb]) + + lines = [] + for i in range(0, len(chars), row_width): + lines.append("".join(chars[i:i+row_width])) + zeroes = "0" * row_width + + while lines and lines[-1] == zeroes: + lines.pop() + return "\n".join(lines) \ No newline at end of file diff --git a/seed_constants.lua b/seed_constants.lua new file mode 100644 index 0000000..f174b9c --- /dev/null +++ b/seed_constants.lua @@ -0,0 +1,3 @@ +seed_constants={ + ffdata=4096 +} diff --git a/simulator/src/board.rs b/simulator/src/board.rs index 0a0f79b..4821b05 100644 --- a/simulator/src/board.rs +++ b/simulator/src/board.rs @@ -1,4 +1,4 @@ -use crate::{ruleset::{Card, CardMetadata, Setup}, smart_dealer::Deal, zobrist::{Feature, Zobrist}}; +use crate::{ruleset::{Card, CardMetadata, Setup}, dumb_dealer::Deal, zobrist::{Feature, Zobrist}}; #[derive(Clone, Copy, Debug, Hash)] pub enum Move { diff --git a/simulator/src/dumb_dealer.rs b/simulator/src/dumb_dealer.rs new file mode 100644 index 0000000..1323370 --- /dev/null +++ b/simulator/src/dumb_dealer.rs @@ -0,0 +1,44 @@ +use crate::{pico_rng::PicoRng, ruleset::{Card, Setup}}; + +pub struct Deal { + pub slots: Vec>, +} +impl Deal { + pub fn deal(setup: &Setup, seed: u32) -> Deal { + let n_usable_cards = setup.ruleset.usable_n_cards(); + let n_usable_slots = setup.ruleset.n_slots - 1; + let tower_height = n_usable_cards / n_usable_slots; + + let mut rng = PicoRng::srand(seed); + + let mut slots: Vec> = vec![vec![]; n_usable_slots as usize]; + let mut cards= vec![]; + for i in 0..setup.deck.cards.len() { + let card = Card(i as u8); + if !setup.deck.aces.contains(&card) { + cards.push(card); + } + } + + let mut slot= 0; + while cards.len() > 0 { + let n = slots.len(); + let arr = &mut slots[slot % n]; + let i = (rng.rnd((cards.len() * 0x10000) as u32) / 0x10000) as usize; + let card = cards[i]; + if setup.deck.instantly_accepted.contains(&card) && arr.len() == 0 { + // do not use + } else { + arr.insert(0, card); + cards.remove(i); + slot += 1; + } + } + + for i in 0..slots.len() { + assert_eq!(tower_height as usize, slots[i].len()); + } + + return Deal { slots }; + } +} \ No newline at end of file diff --git a/simulator/src/main.rs b/simulator/src/main.rs index f4f3b63..e8b42c1 100644 --- a/simulator/src/main.rs +++ b/simulator/src/main.rs @@ -1,39 +1,42 @@ +use std::{borrow::Borrow, fs::File, io::Write, sync::{Arc, Mutex}}; + use board::Board; -use pico_rng::PicoRng; use ruleset::Ruleset; use seen::Seen; -use crate::smart_dealer::Deal; +use crate::dumb_dealer::Deal; mod board; mod ruleset; mod pico_rng; mod seen; -mod smart_dealer; +mod dumb_dealer; mod zobrist; fn main() { + /* let mut rng = PicoRng::srand(0x20000); for _ in 0..10 { println!("{}", rng.rnd(0x10000)); } return; + */ + /* let ruleset = Ruleset { n_slots: 11, n_suits: 5, n_cards_per_suit: 10, n_arcana: 25 }; - /* + */ let ruleset = Ruleset { n_slots: 11, n_suits: 4, n_cards_per_suit: 13, n_arcana: 22 }; - */ /* let ruleset = Ruleset { n_slots: 5, @@ -65,15 +68,45 @@ fn main() { } */ + const THREADS: usize = 28; + let winnable_seeds_file = Arc::new(Mutex::new(File::create("winnable_seeds_multithreaded.txt").expect("should be able to create"))); + + let mut threads = Vec::new(); + for i in 0..THREADS { + let setup2 = setup.clone(); + let wsf = winnable_seeds_file.clone(); + threads.push(std::thread::spawn(move || { + winnable_seeds_thread( + &setup2, + |seed| { + let mut f = wsf.lock().expect("must be able to lock"); + write!(f, "{}\n", seed).expect("write should succeed"); + f.flush().expect("flush should succeed"); + }, + i as u32, + THREADS as u32 + ); + })); + } + + for i in threads { + let _ = i.join(); + } + +} + +fn winnable_seeds_thread(setup: &ruleset::Setup, mut cb: impl FnMut(u32), start: u32, step: u32) { let mut winnable = 0; let mut total = 0; - loop { + + for seed in (start..0xffffffff).step_by(step as usize) { let mut board = Board::new(&setup); - board.deal(Deal::deal(&setup, &mut rand::thread_rng())); + board.deal(Deal::deal(&setup, seed)); board.display(); if is_winnable(board) { winnable += 1; + cb(seed); } total += 1; println!("winnable: {}/{} ({}%)", winnable, total, (100.0 * winnable as f32)/(total as f32)); @@ -84,13 +117,19 @@ fn main() { } fn is_winnable(mut board: Board<'_>) -> bool { - let mut seen = Seen::new(); - - explore(0, &mut board, &mut seen) + return + explore(20, &mut board) || + explore(200, &mut board) + ; } -fn explore(depth: usize, board: &mut Board<'_>, seen: &mut Seen) -> bool { - if depth > 200 { +fn explore(max_depth: usize, board: &mut Board<'_>) -> bool { + let mut seen = Seen::new(); + explore2(max_depth, 0, board, &mut seen) +} + +fn explore2(max_depth: usize, depth: usize, board: &mut Board<'_>, seen: &mut Seen) -> bool { + if depth > max_depth { return false; } @@ -108,7 +147,7 @@ fn explore(depth: usize, board: &mut Board<'_>, seen: &mut Seen) -> bool { let hash_1 = board.zobrist_key(); board.perform(m); // println!("try: {:X?} {:?}", board.zobrist_key(), m); - if explore(depth + 1, board, seen) { + if explore2(max_depth, depth + 1, board, seen) { return true; } // println!("undo: {:X?} {:?}", board.zobrist_key(), m); diff --git a/simulator/src/pico_rng.rs b/simulator/src/pico_rng.rs index f1094b3..08d034d 100644 --- a/simulator/src/pico_rng.rs +++ b/simulator/src/pico_rng.rs @@ -19,7 +19,7 @@ impl PicoRng { pub fn rnd(&mut self, n: u32) -> u32 { self.hi = self.hi.rotate_left(0x10).wrapping_add(self.lo); - self.lo += self.hi; + self.lo = self.lo.wrapping_add(self.hi); return self.hi % n } diff --git a/simulator/src/ruleset.rs b/simulator/src/ruleset.rs index 3923615..692fa0e 100644 --- a/simulator/src/ruleset.rs +++ b/simulator/src/ruleset.rs @@ -1,5 +1,6 @@ use anyhow::bail; +#[derive(Clone)] pub struct Ruleset { pub n_slots: u8, pub n_suits: u8, @@ -7,6 +8,7 @@ pub struct Ruleset { pub n_arcana: u8, } +#[derive(Clone)] pub struct Deck { pub aces: Vec, pub suits: Vec, @@ -14,6 +16,7 @@ pub struct Deck { pub instantly_accepted: Vec, } +#[derive(Clone)] pub struct Setup { pub ruleset: Ruleset, pub deck: Deck diff --git a/simulator/winnable_seeds_multithreaded.txt b/simulator/winnable_seeds_multithreaded.txt new file mode 100644 index 0000000..1fcf7eb --- /dev/null +++ b/simulator/winnable_seeds_multithreaded.txt @@ -0,0 +1,10347 @@ +280 +123 +171 +162 +61 +299 +64 +246 +4 +179 +327 +74 +138 +298 +49 +239 +276 +175 +120 +14 +401 +257 +25 +532 +193 +200 +340 +388 +379 +588 +673 +416 +417 +339 +30 +756 +507 +369 +1068 +472 +397 +467 +495 +520 +635 +509 +278 +182 +713 +306 +167 +577 +548 +459 +515 +114 +813 +604 +247 +896 +797 +275 +279 +362 +410 +661 +238 +775 +753 +357 +1039 +918 +803 +587 +371 +683 +711 +625 +413 +441 +322 +831 +407 +1058 +671 +859 +418 +1120 +516 +744 +856 +525 +1114 +1655 +850 +1450 +969 +544 +679 +707 +962 +882 +921 +1009 +1065 +1289 +1204 +614 +892 +1032 +1396 +1264 +1292 +795 +768 +637 +994 +1376 +1242 +1428 +578 +1480 +1704 +594 +973 +622 +726 +1760 +922 +965 +1484 +1848 +1357 +2044 +1286 +1370 +992 +555 +1220 +979 +1404 +1216 +1600 +986 +1415 +1879 +1401 +789 +1730 +1475 +1963 +2075 +1699 +1758 +1681 +1956 +1384 +842 +2187 +1727 +2747 +1239 +1783 +1169 +1379 +1147 +991 +1069 +1097 +723 +1427 +1491 +1923 +1961 +1835 +1218 +1014 +1919 +1126 +975 +1802 +1483 +1094 +1075 +692 +1449 +1477 +1947 +1441 +1524 +1525 +1505 +1975 +1511 +2073 +1150 +1936 +3279 +3307 +2166 +942 +2119 +1645 +1472 +2222 +1528 +1519 +1145 +1490 +2171 +1173 +1725 +1580 +2367 +1054 +2530 +1311 +1608 +1194 +2259 +2878 +2395 +1776 +1701 +1753 +989 +1809 +1073 +3531 +3074 +2124 +2647 +1178 +1374 +3615 +2208 +1647 +2229 +2632 +1675 +3298 +2315 +2455 +2481 +1729 +1752 +1623 +1551 +1642 +2679 +1981 +1920 +2660 +1402 +2300 +2744 +2095 +2051 +2207 +2832 +1698 +1293 +2079 +2927 +2191 +1972 +1476 +1579 +2801 +2763 +1750 +2088 +2847 +2331 +2829 +3015 +1504 +2280 +1691 +1903 +1834 +1931 +2149 +3336 +2443 +1987 +1784 +1352 +3216 +1868 +3244 +3412 +2812 +1577 +3588 +3659 +1689 +1952 +2289 +3440 +2148 +1894 +1492 +1632 +3025 +2071 +1889 +2029 +1716 +2232 +2127 +1797 +3952 +2034 +1790 +1859 +4260 +2086 +2471 +3543 +1874 +2555 +3080 +3137 +3711 +4035 +4070 +3041 +1958 +2317 +1772 +3265 +2639 +4091 +4378 +2225 +2851 +2295 +2428 +2230 +4175 +4231 +4434 +4546 +2323 +2373 +2457 +4287 +2625 +2342 +1985 +2379 +3795 +4511 +2130 +2980 +3115 +3204 +2181 +3293 +2704 +1885 +3304 +1969 +4826 +2641 +4512 +3372 +2218 +1965 +3377 +3227 +3657 +2421 +2237 +3428 +4299 +4383 +3122 +2949 +2350 +3512 +2977 +2378 +4495 +4848 +4932 +3621 +3262 +4247 +4334 +4359 +3825 +4966 +2335 +3993 +3255 +3339 +2956 +2762 +2503 +3187 +2615 +4555 +2298 +3294 +2612 +2792 +3860 +2302 +5190 +5274 +2737 +3068 +4670 +3374 +4819 +4245 +2813 +3725 +3845 +4032 +3753 +4726 +5302 +3144 +5184 +2573 +5212 +2601 +3549 +2354 +2685 +2643 +2553 +3572 +5414 +3406 +3546 +2466 +3172 +3542 +4228 +3949 +3680 +3686 +4469 +4581 +2777 +2578 +4140 +3628 +3009 +3598 +3626 +3100 +3128 +2606 +3156 +5171 +4072 +4195 +4775 +2770 +2783 +4671 +5211 +4783 +3684 +4125 +4308 +4377 +3984 +4005 +4424 +3002 +4452 +3197 +3712 +3994 +3933 +5239 +2966 +4046 +5267 +4268 +4257 +4464 +4190 +3619 +4320 +4461 +3281 +3617 +4665 +3796 +5367 +4297 +3163 +5563 +4353 +4246 +2937 +4274 +3219 +4242 +3787 +2993 +4549 +4648 +4661 +4979 +5722 +4151 +5750 +4593 +5221 +3436 +4676 +3358 +4404 +3498 +4973 +5001 +4756 +5085 +4840 +4291 +5427 +4741 +4347 +3936 +3757 +4459 +4132 +5279 +3835 +3891 +3492 +3161 +3885 +3082 +5679 +3422 +4677 +6030 +4244 +3841 +3716 +5225 +4544 +3618 +4300 +5735 +5393 +3110 +3166 +4604 +4081 +5660 +3362 +5447 +5503 +5531 +3610 +4606 +5671 +3231 +3502 +5791 +5417 +6086 +4750 +4974 +5370 +5454 +4121 +5743 +4993 +4261 +5020 +5086 +5482 +4662 +3287 +5076 +5613 +4718 +3982 +3642 +5198 +5783 +5753 +6235 +6276 +5931 +4165 +5865 +5867 +5344 +5372 +5923 +5979 +3670 +5949 +3918 +3483 +6114 +6254 +3539 +4002 +6394 +4290 +4346 +3567 +3884 +5124 +5959 +5254 +5484 +4570 +5133 +5516 +5656 +6304 +5545 +3866 +5730 +5650 +5552 +5664 +6332 +5846 +6037 +4653 +5512 +6444 +5898 +6127 +6183 +5416 +5930 +6042 +4738 +6070 +4737 +6154 +4552 +4766 +4907 +5241 +6513 +4062 +5528 +5584 +5640 +4171 +6387 +6646 +6117 +6490 +5642 +6674 +4585 +3707 +4949 +6737 +3735 +4395 +6730 +5978 +6147 +3996 +6612 +6640 +4052 +6821 +6989 +6499 +4804 +5741 +6539 +5769 +4878 +6991 +5853 +4944 +5721 +4962 +5187 +5696 +6630 +6234 +5889 +7521 +7549 +6902 +6631 +6958 +4342 +6623 +5355 +5439 +5117 +7605 +6903 +7103 +6112 +5909 +6758 +3763 +4113 +4874 +7094 +6931 +6920 +6029 +7122 +7060 +6430 +5140 +5752 +5932 +6621 +6458 +4225 +6751 +6959 +5920 +6626 +4337 +5976 +5494 +5960 +5550 +5606 +7816 +6228 +4393 +5607 +7999 +6452 +6863 +7098 +7043 +6654 +6016 +6044 +6357 +8083 +4619 +5095 +4674 +7330 +6525 +3903 +5252 +5663 +5746 +3931 +4360 +6581 +8139 +7182 +7266 +5448 +7857 +4758 +6280 +5493 +7183 +7722 +7598 +7294 +5098 +5154 +5774 +5802 +6637 +5733 +6156 +6309 +8025 +4673 +5831 +5929 +7806 +4211 +6240 +7834 +7387 +5179 +6732 +8391 +6069 +6097 +4898 +7096 +4926 +7407 +6560 +6324 +6076 +6616 +7974 +5829 +6307 +6644 +7738 +7766 +6672 +8030 +5233 +7462 +6244 +6363 +5322 +6365 +7878 +6728 +8193 +7348 +5560 +7435 +6464 +6604 +7013 +5038 +6412 +5004 +6587 +6934 +7227 +5088 +7854 +7463 +5200 +7611 +5066 +6440 +7938 +7740 +8180 +7069 +7491 +7158 +5739 +8606 +5541 +7242 +7339 +5378 +7662 +8208 +7690 +7768 +6713 +7001 +6912 +5935 +6671 +7824 +8746 +9026 +7992 +5732 +9194 +8531 +7029 +6784 +4547 +6204 +7883 +8628 +6580 +7975 +6288 +9334 +6400 +4603 +9390 +6642 +6754 +9418 +8559 +7090 +6568 +5765 +7120 +6701 +8300 +6607 +6775 +6831 +7815 +8135 +6769 +5928 +9474 +8162 +8059 +8778 +8806 +5430 +7685 +7080 +8964 +6636 +7899 +8282 +6165 +8535 +6652 +6221 +8591 +7202 +6305 +6832 +7139 +6860 +8674 +7617 +5486 +7736 +8555 +7673 +6813 +8095 +7091 +7785 +4883 +7595 +8613 +8583 +8552 +5598 +8121 +8580 +9063 +8919 +8955 +8975 +9614 +9199 +5682 +8851 +7792 +6600 +9039 +7848 +9112 +9698 +9076 +7093 +9207 +9866 +9216 +7149 +7625 +7876 +6993 +9272 +7653 +7538 +7140 +7168 +9140 +7447 +8946 +7651 +9412 +9453 +7475 +8345 +8814 +7932 +6740 +8485 +9552 +9175 +6417 +6768 +9972 +9950 +6936 +8974 +7360 +8194 +10028 +10084 +6904 +7724 +9198 +8070 +9595 +7161 +7903 +9731 +6932 +8098 +5934 +6073 +6641 +7044 +7976 +9075 +8642 +8126 +5555 +7020 +5807 +5835 +9476 +7076 +9394 +8210 +7933 +7104 +7300 +8077 +9152 +9208 +7184 +7356 +7245 +8838 +8238 +8287 +9705 +7324 +10392 +8322 +6218 +8686 +9588 +11456 +8189 +9931 +9215 +9506 +9243 +9122 +10314 +9178 +8548 +7961 +6549 +9034 +6633 +8604 +9206 +10071 +9590 +9786 +7380 +8653 +10267 +9090 +8765 +9271 +9299 +8155 +6977 +7061 +8001 +9292 +10706 +9870 +7576 +9879 +9118 +8793 +6661 +10790 +10403 +7496 +6339 +6507 +6647 +11680 +6815 +6102 +8632 +7888 +9579 +8183 +6158 +9840 +9926 +9982 +6843 +9442 +7840 +8301 +6871 +6330 +9896 +9963 +6358 +9554 +10459 +6638 +8519 +10038 +10036 +8603 +6927 +9146 +10575 +8539 +10094 +7604 +10631 +10743 +10064 +9073 +7011 +8028 +8157 +9157 +8108 +7039 +8136 +8549 +8224 +6326 +8164 +8633 +10939 +8661 +8773 +9269 +9831 +8829 +9454 +6634 +9796 +9015 +7123 +10103 +9859 +10683 +10069 +9482 +9297 +10433 +9510 +9880 +7207 +10711 +7375 +9762 +8169 +7739 +10318 +8996 +10176 +10232 +9127 +8281 +10514 +9818 +9992 +7002 +7417 +8364 +8609 +8420 +7058 +10188 +7705 +9773 +10990 +11158 +9514 +7733 +7761 +9887 +8969 +8756 +6662 +10629 +8215 +9052 +10316 +9001 +10540 +8896 +8355 +10411 +7501 +11932 +9794 +11960 +10223 +10467 +9990 +10495 +10739 +11988 +9204 +7817 +7873 +8997 +8771 +9407 +9890 +12212 +10170 +10551 +9080 +10279 +10307 +9025 +10823 +10907 +8456 +9463 +11042 +9137 +8652 +10272 +11606 +9141 +9444 +7506 +10663 +8545 +7618 +8477 +9277 +8708 +9911 +7702 +7730 +8629 +10747 +7753 +8904 +11301 +9508 +9640 +9564 +7893 +10503 +9016 +9836 +8741 +10270 +9417 +11718 +10699 +8533 +9275 +8561 +8150 +9648 +9557 +11581 +11583 +9984 +8033 +12003 +12324 +10440 +10496 +10012 +9281 +10310 +8318 +10236 +9044 +12171 +8089 +8145 +10516 +10708 +8402 +11777 +9331 +11182 +11294 +10712 +9669 +11378 +10839 +8617 +9979 +9372 +9876 +11076 +9324 +11746 +9387 +10562 +11132 +10606 +8677 +9365 +9904 +9492 +10720 +10888 +11602 +11970 +10848 +11119 +10960 +9863 +10035 +12311 +13220 +10863 +12029 +13276 +13388 +11128 +12225 +10916 +12253 +10156 +10231 +10315 +10891 +10424 +10613 +7166 +7222 +9217 +13416 +12250 +10508 +10592 +10893 +13584 +12390 +11623 +9186 +11803 +13920 +11334 +11999 +11735 +14452 +9897 +12843 +11184 +11374 +11031 +11324 +10949 +8869 +12589 +10061 +11328 +12223 +11782 +11464 +11576 +14760 +11255 +11479 +10595 +14788 +7306 +11145 +12099 +10313 +11425 +12127 +11532 +8897 +12673 +11503 +11470 +12757 +11486 +9573 +9805 +11866 +12782 +11894 +11535 +13067 +11587 +11815 +10425 +11011 +12267 +11588 +11096 +12407 +12715 +10509 +9149 +12799 +10436 +12202 +10520 +11692 +8146 +8174 +10136 +10192 +11776 +10604 +10541 +11688 +11832 +13403 +10565 +11916 +11123 +13627 +10220 +12953 +11376 +12235 +10360 +10569 +8202 +10765 +11972 +12162 +9973 +12594 +12950 +10113 +11220 +8370 +13210 +13434 +11151 +13602 +11744 +11784 +11508 +11207 +11772 +9881 +11536 +13630 +11760 +11722 +11840 +11705 +11924 +11778 +13230 +11713 +9909 +11761 +11968 +12330 +10169 +11909 +9937 +12125 +13261 +12024 +12108 +12643 +12554 +13538 +11379 +15012 +12280 +11906 +10877 +15068 +15264 +11980 +12136 +15404 +12120 +11806 +12867 +12063 +11862 +12130 +14131 +12204 +14190 +12582 +12581 +12192 +13343 +10357 +11129 +14327 +12319 +12321 +12512 +12375 +10757 +13709 +11435 +12147 +11491 +12806 +13874 +14551 +12198 +14579 +13821 +15488 +14691 +9858 +10413 +12254 +9970 +14098 +9961 +12270 +12652 +14101 +11269 +11465 +14747 +10609 +11519 +10637 +12539 +10869 +10297 +12707 +12833 +10897 +12889 +14831 +14915 +11935 +14386 +12917 +12326 +13170 +11864 +10325 +8678 +12657 +11572 +11065 +13527 +9574 +14610 +13310 +11547 +13077 +14971 +13422 +14999 +11920 +13702 +13015 +14694 +11575 +12728 +11715 +12543 +11121 +15111 +15195 +12338 +11149 +12767 +14465 +12812 +14577 +13072 +12924 +14434 +11740 +13316 +10250 +9938 +13296 +13344 +11661 +12478 +14686 +10218 +13400 +11689 +12590 +12618 +15391 +15419 +12802 +13624 +13652 +13589 +11827 +14661 +13673 +14745 +15503 +12640 +15587 +12327 +15615 +13295 +12439 +11824 +12607 +11880 +13701 +13785 +13436 +12635 +13407 +15643 +13680 +13708 +13271 +10418 +13687 +13327 +15050 +14913 +13827 +16440 +12914 +12396 +14547 +13749 +13026 +13082 +14941 +14737 +14290 +15218 +13876 +13777 +13973 +14486 +12480 +12788 +14905 +15386 +14023 +11345 +14085 +13960 +10558 +15750 +12412 +12844 +14598 +10586 +14331 +14031 +12954 +11533 +11053 +11373 +14471 +11729 +10918 +15562 +14654 +15702 +11401 +13222 +14962 +13306 +11165 +16114 +14667 +16142 +11305 +16366 +12193 +11513 +11953 +11981 +15003 +16315 +12249 +12277 +12361 +16832 +16972 +12696 +11473 +16427 +11198 +17084 +12173 +10670 +14143 +12984 +17140 +14311 +14771 +12107 +15221 +15277 +14967 +11562 +11730 +17168 +11898 +12038 +13124 +12206 +12234 +11709 +13346 +10698 +13558 +13458 +12692 +13180 +12948 +12977 +13005 +13817 +13236 +13452 +13264 +11202 +11737 +13968 +15361 +13915 +15787 +12915 +13348 +13901 +14052 +11230 +15130 +14785 +12453 +12768 +15331 +16346 +17336 +16626 +12999 +12748 +14841 +11286 +12804 +16794 +15549 +12944 +14380 +16842 +14576 +15354 +11398 +14668 +12443 +13676 +12796 +17392 +14688 +13710 +12555 +16898 +15583 +14090 +16926 +15633 +11762 +12373 +14884 +15052 +12346 +12936 +14983 +14258 +15690 +14836 +11818 +15011 +13816 +16990 +17158 +14864 +13840 +11846 +12964 +12182 +15774 +12458 +13906 +13990 +16931 +15802 +15998 +13868 +17178 +17458 +13167 +15717 +17186 +14342 +16067 +14064 +12682 +13216 +15773 +12766 +17242 +13384 +12518 +12906 +13214 +14892 +15248 +13279 +15360 +12714 +13270 +15004 +17043 +15444 +15144 +14953 +17626 +13307 +12653 +13503 +15472 +17682 +17822 +14170 +13326 +16003 +17239 +16362 +15396 +15536 +14176 +14282 +14195 +15149 +14410 +17410 +16390 +14223 +13643 +16479 +12723 +15941 +15500 +13928 +16025 +15373 +18018 +14279 +14573 +14335 +15844 +16823 +14338 +15928 +16675 +14618 +14522 +13227 +16955 +14622 +14096 +14152 +16670 +12073 +15737 +12933 +17980 +16894 +12269 +15515 +16922 +16761 +14260 +17407 +13972 +12961 +16180 +14056 +15627 +15724 +14769 +13297 +13339 +14344 +16045 +13451 +13507 +16465 +14790 +13493 +14624 +13563 +17463 +14320 +17631 +15892 +15234 +14600 +13521 +14736 +15948 +13867 +14168 +13619 +17687 +15318 +13069 +16689 +14179 +16717 +13577 +13405 +13461 +13489 +14916 +14718 +14543 +13941 +14746 +13573 +14937 +17151 +18512 +15126 +14224 +15595 +16088 +12661 +17153 +17179 +14876 +17855 +17146 +17914 +14960 +14965 +14944 +12941 +15346 +18250 +13629 +18306 +13137 +15184 +15049 +14571 +15514 +15651 +14774 +14641 +14091 +18191 +16991 +18634 +15819 +14711 +16416 +15542 +18746 +18820 +14280 +15570 +15238 +17131 +17271 +16361 +15322 +18774 +13802 +17543 +13858 +13886 +15406 +17411 +17655 +13165 +16200 +14740 +15851 +14448 +14588 +15133 +14858 +17607 +18830 +18942 +16444 +17293 +15189 +14725 +14753 +15598 +19156 +17790 +16668 +16641 +15166 +17635 +16047 +16103 +18047 +16976 +19464 +17005 +17874 +18303 +15089 +15850 +16186 +14054 +15117 +14427 +16284 +15385 +18187 +14049 +16712 +18215 +19660 +17902 +18810 +14483 +16414 +17930 +17117 +15224 +15306 +17517 +13361 +17958 +15530 +15336 +20556 +18327 +14823 +16354 +15698 +17116 +14852 +15754 +14907 +18527 +16410 +15145 +17002 +16271 +17144 +17114 +17173 +18611 +16466 +15288 +19174 +14194 +18027 +15400 +15504 +15532 +14222 +16880 +16355 +16997 +17193 +14469 +16522 +16662 +16718 +19278 +16211 +18210 +14525 +20948 +18635 +17216 +16774 +15624 +15680 +17333 +15792 +17389 +16956 +16411 +18663 +16579 +14698 +18294 +15848 +19787 +18350 +16663 +16435 +17468 +17496 +16519 +15932 +15960 +20014 +17481 +16687 +18691 +18602 +17741 +18798 +17649 +17761 +18195 +16006 +20286 +17692 +16090 +17124 +20098 +17825 +18223 +15608 +15720 +19307 +13697 +16719 +15776 +13725 +13781 +16258 +15973 +19162 +15607 +16998 +21424 +17993 +14903 +15831 +18049 +18335 +16195 +15257 +15286 +17480 +20434 +16209 +14917 +19363 +16223 +16475 +20462 +13893 +17676 +16265 +15029 +17760 +15197 +19890 +16293 +17023 +17460 +17516 +21022 +17628 +16747 +15365 +19974 +14061 +20086 +20114 +17712 +15421 +16482 +14257 +20170 +14341 +15398 +15449 +18301 +16268 +15426 +17163 +17474 +16352 +17852 +21900 +15897 +18140 +16393 +16510 +18125 +15454 +17670 +15510 +16587 +18308 +19727 +17880 +15678 +16887 +15953 +20594 +18441 +16477 +17702 +18292 +17758 +16971 +16177 +22068 +17898 +18377 +20263 +16464 +17949 +14397 +18432 +15902 +17055 +14649 +16615 +15916 +14789 +18460 +16818 +20571 +20599 +18033 +18405 +18061 +18517 +20758 +18285 +18160 +18657 +19783 +16000 +16792 +19839 +18853 +16846 +20627 +22544 +18553 +21526 +17352 +18656 +16930 +16958 +19161 +20683 +16504 +15209 +16644 +18784 +16653 +21778 +16812 +16126 +16210 +21974 +20930 +18768 +16701 +16729 +18880 +18896 +20735 +17751 +16937 +19020 +18290 +15349 +18621 +18087 +17021 +18402 +21402 +20847 +18199 +16811 +22534 +19064 +18766 +17838 +18283 +19120 +19861 +16238 +19076 +19232 +22908 +19132 +17332 +19160 +21070 +18649 +17154 +20851 +21019 +20903 +18311 +18873 +23048 +18957 +16490 +19237 +18973 +18440 +19580 +19399 +16798 +19573 +17922 +16757 +16821 +20057 +16021 +19141 +15743 +21103 +17238 +19484 +19197 +17604 +16994 +22982 +17205 +21098 +17204 +19623 +20085 +15771 +20253 +17022 +17429 +17456 +16133 +20281 +19651 +19916 +19972 +19253 +19735 +15939 +21542 +20155 +16079 +19853 +18035 +20329 +19309 +17752 +19848 +18063 +17609 +17630 +19158 +18090 +16247 +17744 +17988 +20749 +20861 +18146 +21267 +18174 +20917 +23122 +21463 +23458 +20239 +17665 +19904 +17353 +20112 +21029 +17828 +18044 +20477 +18072 +17940 +17989 +19533 +21462 +19645 +20168 +18088 +18454 +18927 +20505 +19224 +23552 +18169 +18172 +18052 +23580 +23570 +18211 +19280 +23692 +17141 +21827 +20841 +17225 +18696 +18920 +21883 +16415 +21607 +18225 +18407 +21794 +16751 +18477 +19151 +18240 +16807 +19347 +17253 +19037 +18508 +17386 +17498 +20345 +20429 +18269 +23878 +19448 +19060 +24158 +24242 +21971 +19476 +18324 +18818 +24606 +21281 +18408 +21995 +19144 +22107 +17806 +17953 +18604 +21630 +18688 +19200 +16863 +19543 +17918 +21121 +22219 +18030 +19532 +19452 +18455 +19711 +18618 +20967 +18968 +19121 +19536 +17689 +21149 +20709 +22326 +18465 +20877 +19760 +22774 +18521 +22359 +19872 +21826 +21882 +19266 +22223 +21017 +20840 +22695 +18679 +19942 +19177 +22723 +19205 +22947 +19728 +21701 +21757 +18827 +21813 +21073 +22279 +21233 +22587 +18939 +21317 +18429 +23143 +21966 +24168 +22106 +19165 +21708 +24942 +20576 +18526 +21241 +21736 +24970 +19289 +22722 +23311 +18707 +18025 +16947 +20390 +25138 +18165 +22727 +21521 +17143 +20660 +21549 +20772 +19462 +18819 +18903 +24280 +20828 +24392 +23507 +17395 +23250 +20884 +19602 +20516 +19597 +19653 +19170 +18333 +22177 +24532 +25250 +23334 +23871 +22100 +24616 +25390 +25446 +25558 +23502 +19198 +21577 +18653 +19877 +21107 +17591 +23586 +19079 +22895 +20129 +23670 +20213 +23810 +22212 +20549 +20540 +24644 +20661 +20047 +22324 +25642 +19646 +20033 +17703 +22979 +22576 +20187 +22289 +20568 +20885 +22317 +25008 +17787 +25698 +25838 +21135 +23394 +19966 +21080 +20941 +25894 +21849 +22688 +22716 +21275 +21905 +25950 +26006 +24006 +19099 +20243 +18529 +22401 +21745 +19155 +20969 +20271 +21331 +19780 +22485 +20383 +22737 +22877 +17871 +21221 +20201 +22905 +19017 +18123 +20022 +26062 +26454 +23623 +21305 +22989 +20188 +19318 +21668 +23101 +21445 +20216 +22073 +21529 +20628 +23707 +23959 +19842 +20684 +22137 +19275 +24202 +20341 +19303 +19331 +20496 +21613 +19443 +19379 +23730 +19639 +19723 +22165 +19779 +22221 +22893 +19659 +20824 +24655 +21139 +22521 +24739 +21146 +21443 +23061 +20565 +21725 +20932 +19542 +23661 +23842 +23257 +24314 +21100 +21174 +21921 +19954 +21723 +22005 +19878 +24767 +24879 +24342 +22229 +20414 +21286 +20610 +21223 +25372 +25456 +23500 +21779 +21863 +24935 +23752 +21891 +24510 +20438 +20580 +21212 +22059 +23870 +24706 +24066 +20972 +24519 +23836 +25047 +23892 +20620 +24150 +22689 +22367 +21706 +22423 +23985 +21448 +18823 +24290 +21335 +24715 +18879 +21296 +25187 +24013 +22563 +21125 +21002 +22731 +24799 +21086 +19577 +22745 +22801 +21476 +19661 +20262 +18809 +22829 +24374 +20318 +21124 +26678 +21142 +24458 +21447 +21198 +20486 +20542 +25378 +20626 +27294 +24032 +19019 +27490 +19827 +24939 +21846 +21601 +21531 +21110 +21587 +24088 +24542 +22108 +20815 +22565 +24193 +25079 +21924 +22677 +25219 +25579 +22843 +25747 +24221 +24249 +21138 +24878 +21020 +23389 +25574 +25387 +22536 +25764 +21713 +22620 +21242 +21410 +23067 +21937 +22014 +25602 +19117 +22098 +22036 +23207 +22676 +22266 +21404 +24284 +23291 +22528 +22322 +27742 +21438 +21858 +19495 +22350 +21222 +25186 +19145 +25214 +22640 +22724 +21768 +22984 +19341 +22901 +23152 +22372 +23907 +24685 +23041 +22568 +24396 +22406 +22752 +19957 +21095 +24424 +25854 +20331 +25242 +24881 +23865 +22133 +24536 +25578 +21646 +23796 +21446 +21730 +25033 +24956 +23880 +22780 +20415 +20443 +27938 +22808 +20527 +22446 +22462 +24244 +21786 +22792 +27994 +26526 +23072 +25667 +21982 +19635 +26268 +21824 +23657 +22038 +22020 +20555 +25021 +25161 +22658 +19663 +26554 +26666 +22104 +28330 +22234 +22686 +24061 +22496 +22770 +20249 +24608 +25189 +22608 +20893 +25830 +25173 +25914 +21543 +21257 +25509 +22301 +24187 +21425 +23825 +26436 +21655 +23909 +19915 +24215 +28806 +21031 +22854 +25998 +22458 +23937 +20517 +20083 +26604 +21614 +28862 +24243 +21143 +22720 +25537 +20167 +26475 +21537 +22469 +20447 +22860 +23993 +28890 +24313 +24021 +24748 +22570 +25637 +20657 +23056 +26418 +23380 +22794 +24397 +26087 +25565 +26660 +25621 +25665 +22878 +22987 +23560 +23256 +26395 +24972 +21311 +26647 +27114 +23616 +25056 +24357 +23672 +20615 +23582 +24525 +23610 +23666 +24467 +24523 +23694 +20727 +23816 +22894 +26558 +21832 +21845 +21985 +25649 +21888 +23728 +24453 +27170 +26586 +23099 +23784 +26716 +21245 +22075 +23928 +26615 +29450 +24152 +24861 +22609 +21035 +26968 +23632 +22637 +26642 +25616 +22299 +22523 +21395 +22579 +24712 +26698 +27599 +24768 +21609 +21119 +23840 +29786 +21259 +21371 +30094 +26810 +22181 +21665 +21693 +23974 +25376 +25169 +25488 +22140 +24030 +24310 +27655 +24450 +26253 +22859 +27696 +25475 +25728 +23214 +23912 +27711 +27752 +23083 +27090 +22280 +22420 +25896 +21595 +23211 +23398 +26036 +25561 +24232 +25673 +25701 +24164 +22314 +25869 +23270 +25755 +23466 +25895 +27780 +25925 +23482 +23594 +23223 +24344 +26533 +27007 +26561 +22629 +25923 +26701 +23379 +27907 +26009 +25692 +26065 +25804 +27063 +23631 +24702 +21679 +24842 +24400 +27147 +24624 +24901 +27963 +25572 +27203 +26288 +23634 +27258 +22426 +22482 +22510 +22594 +26729 +26545 +26147 +23197 +23846 +23253 +28103 +23337 +25041 +22958 +27259 +25321 +22095 +27398 +23774 +23645 +27454 +26371 +23883 +24247 +26511 +24724 +23986 +26797 +24780 +25656 +23266 +22151 +24275 +23701 +26925 +23998 +27618 +25684 +24331 +23148 +30570 +23204 +25433 +27706 +28131 +24110 +27734 +22459 +26825 +27455 +23757 +27511 +26953 +27077 +28159 +23813 +27539 +24014 +22599 +22627 +27009 +24820 +22183 +25100 +23587 +23406 +30850 +22351 +23413 +27902 +31102 +22337 +23525 +23671 +25262 +23288 +23869 +23462 +24149 +27702 +23602 +25880 +22547 +23665 +27065 +26847 +25598 +26597 +24177 +22603 +23721 +28928 +27553 +27121 +23854 +22739 +25713 +27786 +25825 +25200 +27814 +24106 +24261 +24289 +27205 +29124 +24169 +24197 +24309 +23895 +28607 +22869 +29152 +26728 +25090 +28066 +24490 +23979 +28518 +28602 +27660 +27429 +23512 +23131 +27707 +29264 +29139 +27716 +25118 +25766 +22771 +29335 +24007 +24658 +28290 +29320 +29348 +24953 +23149 +25703 +24175 +24826 +24854 +25134 +28630 +28029 +29475 +28658 +27597 +25302 +27316 +28798 +27735 +24358 +26076 +27912 +29554 +27400 +27940 +27996 +27351 +27491 +24513 +22855 +25968 +25149 +29503 +31662 +29559 +25513 +27905 +28157 +28332 +25569 +25625 +25396 +28430 +26024 +24765 +25424 +27791 +26160 +28514 +26217 +29951 +23792 +25834 +25653 +24793 +23485 +24610 +26412 +28542 +28654 +22967 +24821 +26354 +24849 +26496 +28127 +23439 +28603 +23709 +24623 +24877 +28365 +29806 +28631 +27715 +28715 +25398 +28855 +28967 +24862 +26248 +29516 +28995 +24905 +27771 +26748 +29684 +25045 +27297 +25849 +27911 +27939 +25213 +26086 +25269 +24157 +29079 +26416 +26170 +26888 +23691 +26662 +26556 +25872 +23859 +30030 +23079 +23331 +28990 +25155 +28528 +26584 +28757 +28813 +25955 +26752 +30201 +26126 +26746 +26493 +24324 +24352 +26182 +24548 +27196 +26198 +29046 +30229 +24493 +23695 +26886 +29401 +26780 +29541 +27308 +29908 +24604 +25603 +26040 +28808 +24577 +30763 +26836 +27392 +26068 +30534 +27504 +25577 +23835 +23863 +27532 +30791 +29382 +27004 +26095 +32502 +27082 +26152 +27728 +24031 +26773 +24227 +27784 +30870 +25885 +26291 +27088 +26658 +25913 +28548 +29751 +26375 +27141 +29835 +29891 +28716 +30031 +30453 +26431 +26913 +27169 +27857 +30171 +30926 +30481 +24772 +24800 +25226 +26618 +27997 +25338 +26487 +27193 +30132 +25967 +29821 +30199 +26714 +30283 +27225 +26702 +29284 +26758 +24940 +25562 +30649 +26404 +25618 +28820 +26572 +29466 +27473 +27613 +27278 +27781 +27390 +27309 +25995 +30188 +28193 +26627 +29494 +27284 +29564 +26907 +26742 +27564 +26991 +26656 +27019 +32698 +27421 +26826 +30073 +29703 +24745 +27673 +25248 +29843 +26740 +31013 +31041 +30328 +30412 +30647 +30731 +25332 +26880 +31267 +25011 +26079 +27558 +30692 +29072 +24335 +29464 +27760 +30871 +27318 +29604 +31125 +31351 +29660 +27921 +27243 +26191 +25207 +27928 +30927 +28180 +31056 +28236 +29828 +29996 +33174 +30151 +27022 +26333 +30264 +26921 +30054 +30220 +30248 +27271 +25053 +30416 +27411 +33370 +26387 +27439 +27514 +29304 +27542 +31687 +28055 +25543 +25976 +31265 +26060 +30472 +28597 +29360 +30724 +27020 +31855 +31461 +31601 +30179 +27188 +28445 +27061 +25599 +25007 +31939 +30836 +27173 +29864 +32247 +27358 +28587 +30348 +25683 +25767 +28725 +30353 +28146 +28781 +26200 +31235 +28949 +25991 +31825 +31060 +26514 +28951 +27710 +28768 +30488 +27412 +31644 +30684 +26919 +30362 +31375 +30558 +27442 +31403 +27257 +30698 +26676 +28793 +30319 +32387 +26947 +25305 +28258 +28593 +28824 +25539 +28370 +31431 +30549 +27313 +30256 +32499 +32555 +27664 +28789 +28908 +31284 +32891 +25753 +27638 +32049 +25781 +31850 +25837 +31524 +26900 +29509 +32301 +34210 +29356 +34434 +30452 +29293 +30487 +31368 +29349 +28762 +30676 +30571 +31396 +31480 +27705 +31720 +31543 +31342 +34462 +30739 +34490 +29381 +30872 +31426 +31454 +25893 +29580 +26873 +29804 +26626 +30000 +29517 +31906 +31566 +30885 +31776 +28002 +26654 +28338 +32553 +30168 +31832 +27740 +30756 +31622 +34574 +32484 +32028 +27479 +32988 +28140 +26635 +32074 +32504 +28394 +29483 +33199 +32124 +29601 +30984 +29567 +32152 +33507 +28196 +33843 +29679 +32047 +27768 +26990 +33871 +28224 +34658 +31790 +30265 +28450 +31012 +32214 +29853 +27796 +31260 +31624 +27046 +32805 +34151 +29791 +28506 +32327 +32411 +30377 +27647 +29801 +32889 +30935 +26747 +26831 +28986 +29819 +29070 +29126 +30405 +29913 +31986 +27845 +27223 +30109 +31208 +31292 +32522 +32662 +30685 +34826 +34854 +29406 +27852 +29546 +31585 +27489 +34910 +28048 +31348 +31669 +31697 +30277 +30797 +30937 +30417 +27573 +32098 +29826 +30965 +28160 +33001 +29456 +34431 +27438 +34966 +34655 +30043 +34739 +33029 +28634 +31764 +27634 +28830 +32747 +28153 +27447 +27774 +31488 +31021 +30078 +28487 +31712 +31049 +34851 +31740 +28646 +34907 +33148 +29652 +31273 +28543 +32126 +30637 +28786 +33464 +31876 +30749 +31719 +32831 +30805 +30246 +29876 +31887 +34935 +33048 +34963 +32999 +28954 +27079 +32216 +29001 +28982 +33548 +28517 +28683 +32580 +28685 +33561 +31971 +32055 +33138 +29960 +32324 +29365 +32195 +34991 +35019 +27163 +27219 +35131 +33568 +32313 +28664 +29477 +27331 +32378 +33112 +27359 +33390 +30463 +33252 +29105 +28147 +31497 +35134 +29217 +33474 +30491 +33586 +30582 +33782 +30128 +33838 +33596 +31337 +30834 +33308 +33866 +28748 +33412 +31254 +27415 +28399 +33784 +30324 +31590 +29206 +27970 +32453 +33748 +27611 +27751 +28082 +29385 +32677 +28879 +28222 +31786 +33924 +32574 +30939 +33419 +33841 +33922 +31814 +33856 +32531 +34373 +30408 +34485 +32800 +30520 +29252 +30893 +31609 +30548 +28171 +30949 +30604 +34436 +32643 +32705 +34541 +34625 +29280 +34681 +30716 +33980 +30772 +30828 +34482 +33153 +34168 +34566 +28935 +33377 +29504 +29665 +29721 +34933 +29486 +29131 +29749 +33080 +29672 +33022 +31331 +28707 +33573 +35213 +28726 +31061 +29614 +29670 +28866 +33192 +31611 +34308 +31805 +33248 +33050 +33657 +29897 +31593 +32839 +35633 +34672 +32569 +34930 +34728 +31723 +30940 +31164 +31954 +31982 +29840 +34660 +33360 +35467 +29174 +34980 +29398 +30074 +33472 +31761 +33811 +32867 +32094 +29622 +32290 +34744 +32710 +30214 +32895 +33923 +29894 +31276 +30146 +30258 +31444 +33825 +34052 +32087 +33500 +35568 +34175 +31584 +30029 +29706 +30261 +28451 +28479 +33035 +30057 +30350 +30314 +31612 +35722 +30204 +31668 +30681 +34912 +34189 +35829 +28535 +33063 +35885 +30434 +28647 +35663 +30484 +33752 +30596 +35024 +30820 +35798 +33246 +30876 +30988 +30482 +36162 +33470 +36030 +36086 +35136 +29607 +35192 +35416 +32001 +34220 +30709 +32653 +32116 +30197 +29239 +30658 +32709 +34876 +33483 +33018 +32097 +30421 +32200 +36044 +30522 +32125 +30578 +30449 +29999 +30606 +34581 +35472 +32293 +34444 +31156 +33651 +33763 +33864 +33976 +34556 +32225 +34668 +30251 +34032 +30615 +34637 +30910 +30966 +34861 +30811 +35128 +36072 +31134 +34920 +36282 +30895 +29323 +30589 +31408 +29435 +30662 +34506 +31436 +36100 +36417 +29463 +28899 +30951 +35612 +34088 +31604 +31287 +33186 +34511 +33875 +35001 +31297 +30566 +32253 +31828 +31414 +28955 +30846 +31470 +33067 +29011 +35976 +35240 +36557 +29743 +36032 +30925 +35436 +33179 +29771 +33493 +31638 +36212 +36755 +35057 +31121 +37086 +34323 +31483 +36585 +34976 +29375 +31567 +34351 +30023 +32676 +32405 +35066 +36380 +36576 +35122 +31666 +32844 +35449 +35632 +30163 +35262 +34312 +32928 +36867 +32461 +35744 +32657 +36676 +36816 +35256 +34452 +35396 +32685 +36660 +35424 +36923 +30443 +32645 +36669 +34875 +32701 +32713 +34536 +35673 +31098 +35676 +36065 +36725 +35760 +30555 +31996 +31381 +36192 +32015 +34676 +32099 +36814 +32351 +33662 +34827 +31918 +37320 +33858 +35816 +32881 +31289 +33886 +30667 +30723 +35928 +30779 +31429 +37516 +32575 +37600 +34911 +32993 +33941 +37147 +35051 +31549 +34137 +36653 +34221 +33065 +29683 +34928 +35348 +31605 +35956 +36640 +36040 +36709 +34473 +36780 +35295 +37117 +33292 +36864 +33021 +37094 +37206 +33049 +35219 +34390 +37796 +31765 +37262 +33161 +37486 +35376 +37824 +37786 +34418 +37814 +37024 +31821 +37136 +29963 +34558 +32771 +34614 +29991 +32799 +37880 +35387 +36821 +37936 +33261 +35415 +31922 +33345 +38272 +37514 +32939 +31978 +36667 +33544 +37425 +36320 +32277 +35572 +38346 +34697 +32114 +33429 +34921 +34838 +36779 +38356 +37453 +31546 +37621 +35906 +31395 +35768 +38430 +35908 +33051 +35964 +30047 +36488 +38440 +37985 +38377 +32090 +38832 +32226 +33768 +31714 +33796 +33908 +31507 +32781 +35229 +37875 +33191 +38486 +31742 +35425 +34551 +37200 +32696 +36600 +31882 +38514 +37353 +30075 +32920 +37605 +36975 +32948 +33004 +37962 +32534 +34691 +32235 +30159 +34048 +38626 +37276 +34747 +34132 +35481 +33569 +33625 +38183 +32594 +38239 +33387 +35034 +33653 +31994 +32319 +32022 +33144 +37199 +32358 +33737 +38944 +30299 +33469 +34160 +38379 +36552 +33555 +39168 +33228 +36880 +37528 +30355 +32543 +38519 +37255 +35307 +32706 +32734 +37283 +32790 +36636 +33201 +32627 +37584 +37648 +39448 +34496 +32674 +39588 +37724 +37956 +33536 +35314 +33961 +37780 +37563 +33581 +33637 +37692 +38214 +38081 +33721 +38165 +38249 +38473 +32582 +35695 +30719 +32890 +38040 +38152 +33947 +35643 +33593 +38715 +36720 +33462 +34552 +34832 +37675 +37892 +36354 +34101 +37948 +33789 +33817 +32786 +30887 +36748 +38032 +37832 +33010 +39497 +36578 +38172 +36858 +38837 +32605 +40232 +33066 +33094 +38893 +37815 +32683 +32767 +32879 +33234 +37927 +35817 +35000 +35112 +33906 +35280 +39609 +32946 +31111 +36970 +34633 +38830 +37983 +40372 +36433 +36629 +39145 +34013 +34001 +36395 +32717 +31391 +39285 +38011 +35588 +39914 +31727 +35840 +38000 +32773 +31811 +38404 +38911 +31951 +34018 +40082 +39051 +38095 +39397 +34162 +33170 +34141 +38432 +35538 +36371 +33019 +34242 +36881 +34382 +36266 +38914 +36322 +38460 +38516 +34040 +38684 +34773 +35137 +39721 +33226 +33047 +39026 +39222 +33159 +34414 +38852 +34507 +34890 +39334 +34591 +38224 +37306 +35389 +41436 +34843 +35557 +33254 +38992 +39945 +35049 +36344 +32959 +40085 +35585 +37390 +36623 +37474 +40281 +34281 +38392 +38448 +38476 +37530 +35077 +33187 +33394 +33271 +38924 +36033 +38980 +36229 +37021 +35161 +37056 +40069 +34606 +33165 +34180 +36675 +39092 +38928 +35142 +33495 +36313 +33239 +33379 +36819 +36983 +33786 +40265 +39400 +34449 +38431 +34712 +37810 +36847 +38956 +40321 +33982 +36369 +39456 +34150 +34318 +33575 +39736 +34533 +33333 +37133 +37532 +35861 +40087 +38739 +39068 +35945 +39096 +39804 +34768 +33831 +37156 +39860 +36019 +40118 +42584 +38823 +36630 +40255 +37672 +36131 +37469 +39916 +34645 +37896 +35474 +35037 +36057 +35558 +35754 +39236 +40853 +33943 +40881 +39348 +36113 +33603 +39740 +37347 +40000 +40112 +35597 +38963 +40168 +39019 +39383 +36677 +41177 +35048 +36705 +39824 +36225 +35160 +37296 +34710 +40451 +40993 +34251 +40100 +33743 +34023 +37492 +34738 +37015 +35810 +39523 +33473 +35422 +41105 +42752 +35478 +39831 +38062 +36505 +37609 +37777 +40784 +36174 +39859 +37543 +36854 +37861 +38174 +37377 +40212 +36981 +37739 +41625 +34906 +35618 +41818 +36831 +41877 +40818 +41245 +34934 +35384 +34359 +37195 +40352 +41905 +42241 +40408 +37545 +41123 +37657 +38309 +37769 +41347 +35674 +38342 +36566 +39971 +37881 +33641 +37643 +33753 +40436 +38021 +38063 +41846 +37386 +40840 +41092 +42297 +37442 +41014 +37093 +38400 +34667 +37289 +43284 +33977 +41148 +38428 +37715 +34835 +34145 +38484 +40576 +37771 +38596 +37855 +43396 +42238 +41232 +35524 +42490 +38594 +38175 +36986 +34643 +37722 +35842 +38254 +41497 +42518 +35870 +38315 +42798 +38455 +41823 +36689 +38189 +41344 +41080 +38650 +35647 +37911 +37821 +34509 +41935 +38310 +38338 +42243 +38953 +42355 +38534 +41637 +38678 +41266 +35552 +38734 +41917 +42549 +42383 +38590 +38273 +43022 +37849 +34761 +35382 +43330 +41764 +42309 +41350 +38999 +35580 +40412 +37053 +38702 +39072 +35438 +37081 +39184 +35522 +37546 +39408 +41136 +39279 +37574 +42745 +35578 +40552 +42635 +42801 +38220 +42913 +38707 +35097 +35690 +38875 +39363 +42729 +38185 +37193 +42953 +38332 +40580 +37770 +37882 +42981 +38353 +42997 +40251 +36599 +40608 +41164 +35007 +42016 +36823 +41546 +37938 +37131 +38416 +38079 +39615 +35830 +43037 +40279 +36026 +38022 +39755 +42719 +36278 +43806 +38444 +44432 +38721 +38987 +39099 +35119 +38612 +38218 +39183 +39379 +37299 +44516 +45020 +36390 +39519 +36280 +36418 +43177 +36670 +43137 +39631 +36514 +39378 +43289 +43373 +43862 +36698 +39085 +38247 +41140 +43401 +38275 +41168 +45048 +38409 +45440 +42408 +38443 +36420 +37781 +38493 +39882 +39910 +36504 +36756 +38640 +39715 +43221 +39688 +43333 +40511 +38117 +43643 +41910 +39828 +39653 +37202 +42716 +37495 +40447 +35399 +40735 +43890 +35595 +35623 +41920 +43699 +39995 +38257 +40819 +39994 +35573 +40643 +38668 +35713 +38724 +43727 +38611 +38752 +39856 +38667 +39032 +43669 +36738 +35735 +40241 +41155 +40699 +41239 +36924 +44030 +40325 +36245 +41323 +36357 +38694 +43809 +41616 +39561 +43457 +44005 +43485 +40302 +40358 +43192 +40052 +40248 +41351 +37747 +43625 +36155 +46252 +38845 +38723 +40780 +43923 +38929 +41343 +42060 +37566 +44646 +40836 +41407 +41511 +39116 +37008 +43951 +43979 +44702 +39069 +42088 +43584 +36721 +43612 +39097 +43640 +39645 +39710 +40414 +36519 +39701 +41868 +39897 +39850 +43780 +46532 +43849 +44007 +42134 +44758 +39573 +36743 +36855 +39878 +38829 +42148 +44229 +39059 +44091 +39143 +40121 +40976 +44341 +45290 +43864 +38913 +41228 +37622 +43920 +37650 +44297 +44409 +39760 +39713 +37874 +40493 +39934 +41284 +45346 +36889 +39962 +40149 +39171 +39198 +40205 +41536 +39900 +45402 +42372 +44679 +39394 +42275 +44819 +41847 +36990 +40829 +44437 +37428 +37443 +40835 +41620 +40947 +40554 +37751 +39842 +44493 +42396 +39870 +39926 +40021 +37158 +37484 +40666 +37512 +44537 +40049 +42694 +45097 +37382 +38475 +40413 +42415 +40609 +37466 +40738 +40777 +45211 +38339 +40973 +40124 +38559 +41949 +38811 +45181 +45349 +41030 +41058 +40878 +41086 +37634 +42555 +41977 +40348 +43096 +38126 +42834 +42061 +42652 +40656 +37197 +42435 +45433 +47652 +42736 +42764 +47680 +37876 +39165 +38154 +38294 +37988 +42208 +37858 +37886 +37914 +42236 +40373 +42341 +40852 +42453 +44676 +38322 +45850 +39507 +42537 +45878 +42845 +40908 +43171 +45295 +43311 +47848 +46186 +40964 +46410 +43030 +38128 +38156 +38490 +38546 +41244 +43184 +41730 +39305 +39417 +41074 +41354 +46522 +45277 +43142 +41954 +42178 +38423 +40653 +41897 +41981 +43367 +45333 +48156 +42009 +43366 +40709 +40961 +38951 +45585 +46105 +47082 +38138 +47166 +40989 +42967 +41746 +42121 +41073 +41185 +43324 +45715 +43387 +44216 +39175 +42290 +44066 +45725 +45516 +42374 +44122 +42457 +39203 +42513 +43479 +42488 +45852 +41563 +39511 +41549 +39039 +46357 +46385 +42541 +38688 +45799 +48464 +43377 +45855 +42737 +40291 +41605 +45865 +44220 +38716 +38772 +43871 +42765 +41815 +42933 +43713 +42684 +37953 +40071 +43443 +37981 +40127 +44300 +42796 +43891 +41916 +44388 +42000 +42486 +45939 +46188 +44416 +38037 +42542 +39809 +42110 +44262 +46051 +43975 +38278 +44143 +43955 +44011 +46191 +40459 +44067 +38502 +46553 +38530 +47057 +44962 +43048 +41871 +40823 +43076 +43440 +44171 +48576 +46201 +44199 +46303 +41271 +47642 +41922 +46229 +48688 +46331 +46300 +47754 +46845 +47197 +46384 +38810 +40005 +42362 +42062 +44339 +47449 +48716 +48772 +46440 +43580 +42280 +48828 +39431 +42011 +42642 +44668 +44151 +42039 +47505 +42151 +44888 +44563 +38401 +45168 +42375 +44696 +38513 +47533 +39612 +39668 +40229 +46667 +43692 +47153 +38877 +44892 +40285 +43073 +46723 +45336 +39806 +42482 +42333 +48006 +44263 +46891 +42782 +47003 +39780 +42392 +42532 +42655 +46608 +47617 +39599 +43909 +39129 +40397 +39864 +39185 +45151 +41467 +49080 +39892 +45476 +47377 +47461 +44571 +45284 +49108 +39974 +47573 +39627 +47087 +42781 +43325 +42837 +42510 +40883 +45672 +43173 +47629 +47685 +46776 +45756 +40032 +40282 +48510 +46832 +47143 +42907 +43270 +46860 +40310 +43201 +43453 +40450 +39314 +40228 +47140 +43481 +47729 +40284 +39521 +41579 +41051 +39689 +40677 +45648 +41775 +47797 +39913 +43830 +41079 +43677 +43761 +42991 +49164 +41803 +44166 +44683 +43845 +43689 +43944 +41135 +41887 +44105 +48301 +45970 +48385 +44329 +44222 +44525 +46110 +47227 +44833 +45375 +43047 +43103 +43997 +40844 +42950 +42840 +48609 +47757 +49304 +41163 +46194 +42335 +43146 +43985 +47841 +41097 +41517 +48749 +40215 +41219 +43204 +43232 +44140 +48149 +44502 +48861 +47784 +44168 +48233 +42699 +41779 +47868 +41975 +43271 +42255 +42339 +44069 +41096 +46446 +44153 +44293 +43288 +41180 +42731 +47983 +48818 +44889 +41264 +49029 +44224 +39566 +44838 +44420 +44950 +49472 +47980 +46124 +46372 +43299 +40467 +42759 +46152 +45047 +49640 +45869 +42843 +49085 +43624 +43355 +40249 +48459 +41713 +44616 +48627 +41909 +49113 +48823 +43411 +48963 +48457 +44952 +40495 +41376 +40501 +43439 +43708 +45062 +43764 +48541 +49070 +44489 +49098 +43343 +44128 +41965 +45571 +41460 +47090 +41824 +44408 +40921 +42160 +49154 +43467 +44657 +46180 +41374 +46320 +49281 +46348 +41402 +41458 +39790 +43819 +49798 +46989 +46376 +44685 +40803 +44853 +40887 +45286 +43847 +44965 +44688 +44414 +39846 +46432 +44445 +41201 +43515 +45411 +47240 +47380 +41335 +47157 +46187 +43426 +41229 +40462 +47520 +48344 +43903 +44940 +45301 +44837 +49673 +43678 +42189 +42693 +45372 +41570 +47548 +43762 +42524 +45706 +45792 +44968 +42777 +47437 +45902 +45958 +46210 +49187 +47465 +41475 +50172 +41559 +47549 +46271 +47577 +44098 +43823 +45024 +43392 +43504 +49981 +44211 +46768 +45173 +47772 +46796 +41671 +46824 +44715 +43057 +43197 +45338 +43532 +48792 +40770 +43812 +41839 +45135 +48876 +41951 +48989 +50312 +42119 +45080 +48165 +50340 +45108 +48932 +45590 +49439 +41369 +45136 +44167 +45248 +49635 +42242 +43589 +45191 +45674 +46439 +48361 +49073 +49129 +46579 +48725 +45369 +45859 +48220 +44447 +42371 +49185 +45247 +45303 +44434 +50582 +42735 +46943 +45359 +46378 +41733 +45415 +45887 +45943 +49313 +48696 +46999 +47510 +50424 +42819 +45584 +44289 +43924 +46686 +46240 +49493 +45695 +49549 +48014 +41929 +41957 +47384 +49605 +45723 +49044 +45721 +42662 +44727 +44602 +49397 +48126 +44783 +45677 +46055 +49425 +50111 +42461 +48892 +45917 +42489 +42114 +50806 +47524 +45696 +45724 +44288 +49576 +49857 +45845 +46576 +42825 +44400 +49116 +49593 +44495 +51002 +51086 +44597 +50989 +44951 +43021 +45427 +42998 +46116 +46335 +51012 +44821 +47190 +42959 +51450 +44849 +44877 +49632 +49885 +46800 +43211 +43575 +49621 +49256 +48322 +46884 +46144 +46912 +47727 +46822 +47554 +48378 +43799 +48518 +47582 +50391 +47832 +47638 +47783 +42422 +43665 +43721 +48574 +48630 +43827 +43749 +46477 +44568 +51460 +51768 +43777 +46041 +48714 +48007 +46284 +49564 +47024 +49772 +46451 +43306 +44663 +46125 +51646 +46601 +48826 +48119 +51997 +44596 +45875 +42478 +47052 +47276 +46759 +46850 +46990 +47046 +49649 +42646 +46645 +49761 +47214 +44023 +44938 +50332 +51982 +52010 +47326 +47606 +42982 +44029 +47690 +48614 +43362 +47332 +46536 +44971 +52514 +44359 +47360 +46825 +46755 +52654 +50277 +45083 +50333 +52445 +48170 +48938 +51852 +46592 +44225 +50976 +50615 +46704 +44253 +45554 +45610 +43486 +47147 +50180 +48448 +46881 +50460 +49162 +48726 +47021 +51060 +47161 +47203 +46925 +50753 +48476 +51880 +47121 +50516 +49218 +51908 +47539 +47205 +49358 +46071 +53550 +44421 +48338 +48483 +50865 +49034 +47357 +47317 +43682 +43738 +51201 +45059 +44174 +45946 +49090 +51844 +49370 +48511 +48786 +48898 +48623 +44258 +44617 +45727 +44370 +53662 +52040 +51231 +45811 +46058 +45171 +48679 +51621 +44645 +44426 +48215 +53802 +47485 +45395 +51399 +48735 +46198 +50377 +45128 +48616 +48200 +45009 +48355 +52041 +45895 +46562 +47180 +47208 +48228 +50433 +47597 +45997 +52097 +46007 +47987 +48791 +52209 +52216 +50768 +44566 +45744 +46024 +44594 +46248 +54726 +46304 +51847 +46472 +52412 +52321 +48312 +46351 +51875 +48043 +46305 +50909 +46786 +45065 +44958 +48607 +51931 +47010 +48340 +46361 +45479 +49456 +49010 +45149 +48211 +47122 +48239 +52180 +46435 +51959 +50965 +46529 +45177 +48379 +45569 +45625 +48659 +47061 +49023 +52348 +45014 +47765 +49512 +47206 +47173 +47285 +45877 +49594 +47234 +46752 +46864 +48903 +52043 +52809 +47256 +49374 +47368 +53028 +47396 +45507 +47508 +45591 +49043 +47793 +54950 +45042 +46399 +46679 +47318 +47346 +46707 +49163 +49514 +51636 +49582 +45126 +44270 +45238 +49570 +48859 +52239 +52323 +47542 +47908 +47369 +47425 +49708 +49638 +49904 +47676 +46129 +50044 +47649 +44382 +49822 +52685 +53504 +53560 +48048 +49191 +52488 +50014 +50154 +45899 +47733 +45266 +47877 +49379 +47873 +48097 +53924 +54120 +52684 +49519 +52796 +52921 +46801 +49547 +50086 +49603 +48125 +55734 +48477 +46687 +55762 +50142 +44438 +46743 +52715 +50394 +50422 +49219 +45955 +51916 +46939 +47023 +49471 +47751 +52853 +52028 +49611 +48130 +48956 +50326 +47435 +47463 +53163 +49799 +47491 +50051 +55986 +48241 +50352 +53359 +46997 +50828 +56098 +53313 +48577 +52112 +53425 +53077 +50466 +45770 +49055 +53481 +52224 +48701 +49723 +45798 +48801 +49807 +48984 +56406 +53509 +50462 +52308 +56518 +44718 +49208 +53537 +48857 +44830 +46403 +48489 +49249 +48785 +49009 +47165 +49317 +56546 +50527 +48573 +56658 +47863 +48031 +52992 +48578 +50998 +46431 +47967 +48087 +50555 +44998 +48023 +52532 +48171 +45362 +48152 +51080 +48208 +53609 +54372 +49401 +49429 +49531 +49587 +54652 +48219 +46459 +48830 +48387 +53789 +45698 +48415 +50786 +51245 +56854 +56966 +48776 +48970 +49418 +53873 +49530 +48264 +51003 +48779 +47221 +57246 +49755 +48863 +51171 +50966 +51358 +49557 +49894 +53639 +54820 +57358 +50090 +45726 +48451 +51122 +51283 +48703 +48759 +50482 +45938 +45754 +46022 +51339 +49133 +46134 +52784 +51334 +45782 +48919 +51192 +51418 +51497 +53667 +51262 +55184 +51614 +53721 +55352 +47417 +51388 +51095 +51637 +51179 +53805 +51423 +51640 +49364 +46991 +47187 +51805 +51479 +51696 +47865 +51431 +52032 +53833 +52200 +50061 +46314 +51642 +51754 +50175 +48975 +53835 +50117 +51655 +49973 +54461 +50409 +46442 +52001 +54601 +52368 +50521 +46482 +50801 +46510 +52424 +52620 +50309 +50561 +51838 +53692 +49740 +49216 +52676 +57890 +47495 +46734 +47747 +49880 +49703 +53889 +50095 +57946 +47574 +50930 +49636 +51935 +50229 +51014 +49720 +51126 +46778 +51430 +50593 +55884 +49588 +49784 +50645 +52067 +58030 +47658 +46946 +50216 +58058 +53888 +52103 +50785 +55968 +50272 +52291 +46974 +52355 +52403 +53973 +50567 +51778 +49868 +51137 +48537 +50207 +51570 +51165 +51834 +54713 +51946 +52383 +53064 +53120 +48677 +50440 +52421 +48789 +50929 +50580 +51822 +54741 +50571 +54056 +50879 +57060 +53204 +48083 +54199 +51934 +51962 +52006 +51071 +52543 +48330 +54141 +48386 +48554 +52034 +52226 +47450 +54308 +47590 +54728 +50204 +53320 +51434 +51686 +50963 +51714 +51041 +54909 +57284 +53404 +52534 +51125 +51865 +55049 +54169 +57312 +52618 +52673 +50260 +52702 +54197 +52242 +58758 +52711 +55133 +51112 +52398 +58842 +51308 +52510 +52538 +50344 +55161 +50372 +47702 +50484 +52650 +52790 +51770 +51177 +51233 +53992 +51345 +47730 +49655 +49377 +52089 +52145 +48531 +57340 +51631 +57424 +49739 +51401 +54048 +49461 +54468 +54524 +52758 +54393 +49741 +51625 +52869 +51709 +51573 +49767 +57704 +48918 +53014 +55385 +54673 +49797 +53210 +53238 +47898 +51271 +51629 +52925 +51769 +49114 +51327 +51644 +51439 +48839 +50105 +50280 +50189 +52245 +55456 +51910 +50848 +51966 +52667 +52807 +49879 +51579 +53503 +53205 +55484 +52453 +47982 +51803 +53215 +52218 +50273 +48150 +53299 +51999 +52870 +53345 +51896 +50047 +52886 +51924 +58040 +52982 +53411 +50159 +54016 +53094 +53709 +53110 +50187 +55736 +54591 +52469 +51877 +53742 +52637 +53994 +54022 +59290 +54190 +52778 +52101 +58152 +52269 +55665 +55764 +53979 +52705 +53737 +53059 +52297 +49091 +49175 +49203 +53199 +55820 +49287 +52335 +55485 +54408 +50560 +53234 +54007 +52665 +55597 +59598 +52845 +51128 +54772 +49590 +55849 +52643 +52699 +49427 +54927 +54955 +50721 +53262 +49511 +53290 +53402 +53446 +55721 +52721 +49786 +53085 +53141 +58264 +53635 +56085 +56169 +48290 +59822 +58712 +52092 +56197 +54045 +55108 +53309 +59906 +53691 +54918 +55114 +56309 +53563 +50973 +51240 +55170 +55280 +52727 +56073 +53589 +50271 +52260 +50467 +53041 +52372 +58824 +55590 +55898 +53237 +55926 +48514 +50038 +60158 +52834 +55123 +56337 +53710 +49903 +54091 +53670 +50663 +50127 +53698 +51449 +53990 +53645 +55207 +53293 +53726 +56157 +54039 +53349 +52951 +55612 +60298 +50463 +50812 +54151 +55644 +55724 +55728 +55431 +56352 +53741 +52974 +54235 +53813 +56010 +52484 +53869 +52829 +50868 +54175 +54006 +50896 +51464 +54062 +53943 +53231 +53315 +55756 +50952 +54382 +53399 +55812 +53853 +54403 +58936 +55924 +55952 +54381 +53114 +56200 +53679 +53142 +56288 +56256 +50430 +53282 +54315 +51520 +56344 +53897 +53819 +50598 +50654 +56912 +56605 +54399 +52941 +56913 +56941 +57081 +54549 +50710 +54577 +53100 +57221 +53128 +50911 +51744 +57557 +53366 +56996 +51856 +57641 +56589 +54522 +54690 +53925 +53646 +54174 +59300 +54230 +59496 +53814 +50939 +54398 +53953 +54105 +56592 +54739 +56620 +56680 +55138 +53109 +53981 +59720 +54566 +50995 +53137 +60942 +56841 +51757 +54567 +56131 +54177 +53193 +60028 +57136 +54997 +51841 +60224 +54651 +54301 +57360 +54205 +54345 +57949 +51912 +53305 +51981 +54038 +60336 +54279 +51247 +51996 +54391 +53380 +56900 +61138 +61474 +57668 +57205 +54734 +56551 +54127 +54987 +51303 +60756 +49158 +51471 +60952 +57124 +53389 +60980 +51792 +52108 +52164 +57320 +55042 +52037 +54889 +57373 +50934 +58285 +52121 +53445 +55239 +58397 +58284 +58565 +53557 +57429 +54839 +57072 +53977 +52149 +54569 +57544 +58508 +57027 +55473 +57212 +53828 +53856 +57167 +57541 +55837 +51820 +55126 +57656 +55267 +53912 +57684 +61288 +57768 +52072 +55129 +51410 +61344 +58216 +57681 +54313 +61670 +54537 +52100 +54430 +55337 +58272 +61484 +55530 +54951 +55586 +51615 +51951 +55770 +55921 +55435 +52119 +51550 +52147 +58664 +49466 +56425 +55994 +57709 +52175 +61568 +54738 +52444 +56022 +61782 +52500 +55007 +57998 +52612 +58073 +55519 +55157 +56481 +52668 +52808 +54276 +61652 +52203 +52231 +55241 +55633 +55175 +55691 +55079 +58185 +56050 +56134 +49578 +58213 +59209 +55775 +58381 +59405 +57475 +52836 +58661 +49606 +52315 +55455 +55539 +59476 +52317 +57210 +52110 +55219 +52194 +56414 +55841 +55567 +59461 +59657 +52976 +60008 +53004 +53144 +58194 +55897 +52345 +61894 +51891 +60036 +60092 +51919 +54906 +54444 +55186 +61950 +51975 +55303 +56761 +53228 +56817 +56957 +54901 +54472 +55041 +58250 +58816 +52520 +49886 +56526 +52959 +55471 +55751 +57209 +52507 +57294 +55181 +55825 +55819 +52716 +59741 +54640 +56059 +56255 +49998 +57867 +55943 +60540 +62230 +56323 +57895 +56554 +62314 +58334 +59797 +57051 +50082 +56009 +57951 +55971 +57741 +59881 +56429 +59081 +58362 +60357 +58418 +58782 +57604 +56083 +56049 +59062 +56139 +52884 +52535 +52586 +57797 +52759 +57191 +56079 +61792 +56835 +62902 +62156 +56513 +60596 +60624 +58035 +61212 +57910 +57073 +62958 +56947 +52810 +59152 +56507 +52838 +53043 +53099 +61716 +55032 +53267 +57825 +59236 +52625 +53379 +56273 +55088 +59361 +60609 +53080 +53760 +53844 +55578 +60637 +62436 +56329 +58175 +57359 +52681 +58287 +56750 +57185 +53603 +56834 +52843 +57807 +59118 +52983 +58554 +56927 +57660 +57912 +51202 +63294 +53095 +51426 +51622 +51734 +58694 +63322 +63490 +57011 +60945 +57968 +57993 +57996 +58052 +58750 +51902 +53108 +52793 +57591 +57647 +53202 +60973 +51930 +59417 +53743 +57114 +57787 +57254 +59796 +62744 +56081 +53375 +53827 +57297 +62192 +61505 +57422 +58360 +53370 +57947 +61673 +56362 +53398 +58890 +59936 +57175 +57371 +54544 +55480 +57567 +52877 +62304 +61869 +59230 +56581 +58245 +53515 +56749 +58469 +54656 +55676 +59258 +56418 +61897 +56501 +57478 +59114 +63798 +57763 +57141 +64050 +58388 +59099 +57375 +60216 +62037 +59370 +57197 +63024 +56502 +62444 +54051 +54796 +54219 +58808 +58920 +54880 +57745 +56557 +57090 +53510 +54908 +62205 +57646 +57146 +62233 +64554 +58637 +58948 +59284 +53678 +59424 +53360 +53549 +57258 +59538 +59239 +57599 +57814 +57773 +59762 +57907 +53907 +59958 +60014 +59534 +60238 +57314 +62429 +58099 +57370 +53472 +62808 +57393 +64694 +53556 +62513 +58407 +62597 +60406 +58973 +59491 +56809 +57650 +56949 +58395 +57449 +63004 +52434 +62653 +59365 +59505 +53930 +52546 +58451 +60580 +58178 +53913 +56977 +57089 +60720 +58019 +64974 +55160 +53941 +55244 +55300 +57958 +54126 +56180 +57841 +53668 +54137 +60089 +55384 +57117 +60117 +57145 +57969 +58271 +52938 +58711 +63144 +58795 +59631 +54462 +59687 +58851 +56236 +59645 +58535 +60742 +58137 +58165 +60882 +58995 +65170 +61420 +58430 +55636 +63172 +63256 +60122 +54523 +55944 +57925 +56432 +55358 +63312 +60966 +59163 +65198 +59715 +58682 +55554 +61190 +57397 +54004 +57509 +55083 +57705 +59499 +58093 +58710 +59555 +55279 +55531 +59897 +58406 +59816 +55003 +55643 +63396 +58462 +58361 +55694 +63564 +55918 +60124 +61694 +58473 +56091 +61588 +58557 +58697 +55395 +56147 +62989 +54613 +55946 +55451 +54641 +55479 +61778 +59939 +54781 +58977 +58714 +58906 +59005 +55974 +62002 +58938 +59383 +62030 +61812 +62282 +59022 +56058 +56114 +59162 +64340 +56170 +58177 +65422 +58871 +63648 +56056 +63241 +56308 +55089 +62338 +60348 +59467 +59039 +53358 +55117 +64452 +58523 +59095 +56336 +61924 +60649 +60430 +63465 +59341 +54312 +57789 +65562 +60471 +58719 +60793 +60527 +56618 +60695 +60514 +54396 +63661 +59397 +59509 +56796 +59947 +56588 +60488 +60779 +54508 +57873 +57901 +60030 +58041 +56039 +60542 +58457 +56880 +65618 +54676 +59419 +58069 +55985 +60626 +62478 +59747 +53722 +60891 +64508 +56067 +56728 +56784 +59803 +65786 +64376 +60114 +63829 +56870 +56735 +54872 +57176 +57122 +58681 +53806 +58125 +59831 +58265 +56763 +53862 +60919 +59531 +59830 +60255 +59873 +62870 +63066 +65201 +59627 +59727 +58489 +59859 +56543 +58849 +58905 +57374 +55236 +56321 +59783 +65845 +55264 +59795 +63626 +63850 +60027 +64516 +59985 +56377 +58629 +61325 +64628 +58769 +60450 +59851 +60590 +61465 +56847 +61132 +59907 +61493 +60293 +59867 +54254 +56851 +60545 +57456 +65040 +64130 +54282 +60759 +60075 +56879 +57654 +63016 +66458 +61021 +57822 +57934 +61066 +57020 +65124 +64824 +66293 +56991 +58797 +57495 +54422 +60026 +60110 +64298 +61255 +60103 +61178 +58158 +58186 +60615 +61629 +58354 +64992 +57792 +58578 +61217 +63128 +65048 +63744 +57960 +64354 +63772 +61497 +60159 +64382 +60007 +60215 +61833 +54562 +63800 +58830 +60271 +56769 +61889 +59054 +60327 +59138 +64466 +57239 +59278 +60355 +60147 +61945 +60979 +61685 +66601 +62141 +60915 +59269 +61720 +59437 +66713 +66769 +64550 +60943 +54618 +59614 +57631 +66853 +59726 +57497 +60006 +58195 +61175 +65460 +65104 +65272 +54786 +60614 +65824 +61647 +66909 +67021 +60698 +61270 +65880 +59189 +61259 +62263 +57771 +59605 +61741 +58100 +65908 +64858 +57967 +58023 +58268 +58352 +58548 +62056 +57637 +58660 +61830 +62785 +62841 +59633 +62112 +59217 +61942 +58643 +62081 +61235 +62221 +57636 +60950 +65936 +60202 +60286 +65636 +54926 +60314 +66280 +59301 +62105 +59357 +61755 +64998 +65082 +66560 +62560 +66104 +63065 +59441 +63233 +66216 +62469 +55318 +59913 +66356 +65250 +63317 +61458 +58839 +57720 +60706 +61895 +61371 +57832 +61654 +61823 +57860 +57944 +58471 +60762 +61682 +60818 +60902 +57833 +57972 +67161 +61738 +58057 +62767 +59497 +63429 +62417 +58085 +62054 +61427 +61146 +61794 +62138 +59665 +62917 +66756 +61934 +62278 +62007 +61483 +66850 +62446 +62558 +62782 +58280 +55908 +60539 +55992 +56020 +58968 +58723 +67497 +59203 +58779 +61014 +62644 +58924 +62641 +55654 +59427 +63793 +59248 +58980 +67036 +68001 +56048 +67242 +68057 +59288 +65782 +68113 +66580 +60137 +62371 +62894 +59707 +60001 +60057 +56272 +67354 +63897 +59763 +59791 +60085 +59372 +60197 +58225 +67344 +58533 +62952 +59428 +63316 +58589 +59847 +60393 +59987 +63428 +63925 +63512 +59416 +56636 +62977 +64065 +61266 +62991 +67848 +60277 +58617 +64640 +67858 +63103 +63243 +63166 +67876 +60333 +68477 +59568 +62623 +63327 +63194 +59311 +64297 +68194 +68673 +60071 +68729 +59736 +60673 +63286 +62763 +59367 +63650 +60757 +59724 +62383 +63033 +59843 +64093 +60361 +68072 +61651 +64261 +63061 +62467 +66258 +62551 +63523 +64381 +63183 +64521 +68240 +65228 +64457 +63362 +66314 +66916 +64605 +62579 +58981 +61434 +65424 +63379 +56438 +62607 +65452 +63866 +64062 +66370 +60323 +60613 +60659 +59009 +63229 +57056 +65564 +66510 +63621 +60725 +63705 +63551 +63687 +63775 +57252 +63743 +68841 +61987 +57476 +62831 +64678 +61435 +67056 +62915 +61490 +65045 +68869 +69205 +60011 +60039 +60151 +65325 +60235 +60184 +62099 +60492 +67168 +57672 +60520 +69709 +69737 +68296 +68726 +60088 +60548 +70101 +65042 +68352 +68492 +65238 +65294 +66874 +67448 +70157 +65322 +67294 +70465 +68894 +64391 +61575 +63957 +64041 +56690 +64238 +60716 +57840 +64125 +68632 +60459 +60828 +63083 +65546 +68978 +59625 +60921 +62351 +61678 +67462 +63559 +67574 +58176 +61790 +70577 +56886 +64359 +61192 +69202 +61248 +69286 +70605 +68400 +60200 +64583 +66292 +61556 +62939 +68940 +66600 +63023 +61827 +56998 +57082 +65175 +57474 +61640 +68968 +57586 +67854 +63643 +69164 +62358 +69482 +60599 +63219 +62107 +64434 +62219 +62386 +63867 +68708 +62331 +62499 +62583 +62582 +64091 +65857 +61958 +63667 +60711 +60967 +61905 +61443 +59961 +65217 +62890 +63002 +63282 +69790 +64779 +69248 +57670 +58372 +64031 +62667 +67910 +68848 +60340 +69156 +60157 +68106 +64147 +65343 +64231 +66936 +66137 +66473 +66613 +65165 +69276 +66992 +70829 +65473 +69380 +60269 +65329 +61695 +64770 +58512 +71305 +69958 +70154 +71417 +65511 +64380 +62493 +62689 +65637 +66725 +64367 +58006 +63534 +70182 +62826 +63702 +62854 +64423 +62032 +64826 +67005 +64632 +67216 +65889 +70350 +62088 +69668 +67061 +65917 +65921 +65966 +58342 +63647 +64966 +64511 +67089 +68862 +60480 +64828 +68974 +62339 +69058 +64451 +65022 +62563 +60633 +62703 +65143 +67356 +69086 +62731 +67468 +65959 +64884 +60704 +58454 +63843 +66029 +62745 +60844 +70490 +64011 +69492 +70546 +60872 +60956 +69688 +60689 +65220 +67552 +67720 +67173 +63926 +66281 +65227 +64095 +64815 +64318 +71697 +60717 +61152 +62759 +64403 +63162 +70658 +66309 +64431 +62172 +64707 +61439 +61495 +62256 +64791 +65367 +62368 +64515 +70770 +62480 +69968 +65500 +62829 +69114 +64683 +62788 +64963 +65039 +68056 +70060 +68084 +64738 +60829 +72173 +65459 +66369 +62900 +65395 +65274 +68364 +70108 +70136 +66442 +65599 +62181 +68840 +70088 +70312 +64878 +65683 +66060 +63123 +66645 +70564 +59016 +66841 +70732 +58762 +58902 +65211 +69590 +63347 +66901 +62941 +66554 +71060 +61803 +66750 +71340 +72621 +66925 +72705 +65851 +69870 +68952 +69036 +73013 +65606 +65470 +63445 +69064 +67149 +61992 +66047 +65582 +65519 +70956 +63697 +71218 +65075 +63096 +69260 +63414 +67069 +67002 +71012 +65215 +67425 +63725 +66271 +66508 +66299 +67237 +73237 +69344 +73321 +69484 +73433 +66411 +71040 +71096 +67453 +63921 +67345 +63949 +69624 +62384 +61361 +66439 +64061 +59350 +65603 +62412 +70262 +65955 +59462 +63554 +64019 +62440 +62664 +66760 +59518 +71274 +67068 +66467 +62223 +65774 +62748 +65411 +66855 +62601 +66579 +61445 +67814 +62713 +67817 +62797 +64131 +62363 +64159 +71554 +67541 +67597 +73545 +71676 +65974 +64285 +60050 +65635 +71732 +64761 +64957 +62853 +73629 +67821 +65802 +73881 +69932 +70850 +67124 +67849 +65293 +62965 +60134 +66002 +60220 +66030 +66082 +66691 +64411 +63140 +71180 +65517 +65657 +64310 +63308 +63588 +67545 +70240 +66170 +61557 +64523 +67741 +64635 +63616 +64691 +66247 +61669 +67769 +60360 +67933 +66110 +67975 +67937 +65999 +70296 +68199 +62643 +74077 +64450 +62755 +67993 +71900 +71722 +67348 +63077 +71928 +72124 +66275 +72264 +66166 +66590 +71074 +66331 +74161 +71946 +67460 +68227 +70324 +65797 +64758 +60442 +72320 +70408 +72348 +64132 +66618 +64216 +62867 +68321 +60668 +72058 +72142 +68441 +68685 +66503 +66699 +66385 +66413 +68255 +68339 +66879 +68825 +66306 +60808 +69049 +66907 +74553 +63329 +64328 +63175 +66867 +72898 +68234 +68395 +69469 +66786 +64540 +63357 +68777 +68945 +68409 +64496 +66555 +69525 +69553 +66947 +67059 +74945 +66749 +65839 +66474 +61781 +63287 +60976 +61004 +67171 +67908 +68493 +67343 +66558 +67399 +63385 +66777 +63441 +64624 +67651 +73010 +71880 +63609 +67467 +73066 +73094 +73346 +63749 +66399 +65038 +63511 +67367 +71936 +66595 +72356 +72600 +73402 +67139 +68675 +67307 +63567 +68076 +68043 +61921 +68127 +72054 +62145 +72656 +62313 +69721 +67447 +68244 +68440 +68496 +67971 +73878 +73160 +73934 +64848 +68759 +69945 +73188 +69973 +72166 +72194 +62761 +68542 +65150 +63973 +67587 +64001 +68822 +68927 +70001 +70057 +68878 +69130 +63377 +64960 +67234 +63623 +63853 +75141 +75393 +75449 +72580 +67146 +67342 +73962 +61480 +69298 +67507 +63959 +68577 +71080 +68605 +69326 +61704 +69011 +69354 +73496 +67281 +73664 +73748 +61394 +67955 +67449 +61900 +65290 +68603 +64021 +68251 +61956 +62012 +66791 +64357 +70477 +68776 +74326 +72362 +65486 +64505 +69023 +64589 +69051 +61534 +69701 +68475 +68531 +68867 +69275 +73888 +64693 +68951 +64917 +64973 +65542 +62068 +64155 +72664 +61618 +69095 +64239 +65037 +69168 +62152 +62348 +76261 +67622 +62488 +66466 +62544 +65296 +65588 +65616 +65408 +67953 +74466 +76317 +66875 +65029 +69196 +74494 +70897 +65672 +69347 +65093 +76373 +67678 +67127 +68773 +65924 +74522 +69802 +65141 +65309 +68121 +69487 +65716 +68035 +67846 +65373 +69515 +66120 +62066 +74196 +62178 +64911 +69655 +65800 +66232 +68431 +74336 +72530 +65421 +69683 +62628 +69091 +74392 +62262 +68149 +72642 +69767 +69991 +74560 +68205 +67631 +70065 +66774 +69364 +69081 +76905 +69443 +67514 +65589 +67659 +74868 +68658 +73118 +73146 +73168 +67654 +65625 +65793 +71920 +65933 +65645 +74746 +68826 +68882 +69050 +68317 +66129 +66680 +73314 +69392 +73370 +69190 +69109 +68655 +65673 +65701 +66549 +66736 +73476 +65415 +74774 +65729 +67794 +69218 +63048 +67911 +69998 +69389 +68130 +75026 +65443 +65583 +77465 +66885 +65841 +69103 +68343 +73532 +69131 +75138 +63188 +65723 +70530 +70614 +70411 +70439 +70810 +77885 +67194 +70579 +65751 +67072 +74980 +68107 +69616 +70663 +69187 +71083 +69315 +70036 +67390 +70260 +68135 +72577 +69427 +68653 +71167 +67474 +69215 +70288 +71090 +66913 +70457 +75064 +70485 +69299 +70003 +69837 +72773 +70513 +70344 +70541 +73053 +69386 +72256 +70568 +69610 +73165 +73728 +69722 +69893 +70709 +78389 +67408 +72312 +72396 +72564 +70849 +68191 +73585 +72648 +68821 +70173 +74232 +70905 +68989 +68903 +66227 +71157 +70652 +67436 +75148 +68959 +73376 +78473 +79089 +71241 +68219 +63552 +73753 +66317 +67726 +73837 +67172 +70143 +74266 +69859 +69943 +69971 +68634 +68830 +68942 +71605 +70285 +75232 +71370 +69999 +66997 +74294 +68998 +66367 +71363 +75474 +64056 +69717 +66457 +71633 +69306 +66485 +71594 +63298 +69806 +69558 +74512 +70030 +67025 +71678 +69155 +79397 +71475 +67922 +74658 +67940 +69745 +75218 +69773 +73628 +71706 +74596 +69969 +73796 +66731 +71615 +79537 +69791 +64140 +69698 +69894 +75414 +75708 +70062 +70314 +75792 +66759 +63718 +66653 +70127 +74708 +70904 +70988 +66821 +66989 +68304 +67732 +70675 +67101 +70509 +70815 +70843 +70491 +67788 +76128 +67844 +70702 +68584 +70871 +76062 +76174 +64224 +64336 +76678 +70137 +71011 +70867 +74229 +69295 +71091 +71147 +67493 +67521 +68566 +71128 +71315 +72007 +69575 +67997 +79733 +69687 +69771 +67431 +72063 +70982 +68193 +68892 +76212 +70818 +79761 +69004 +69452 +76240 +79789 +76086 +72315 +70519 +71324 +64812 +76170 +72434 +68443 +67935 +71352 +72462 +71969 +71884 +79985 +71427 +68622 +76226 +76902 +72490 +71150 +72192 +69967 +75044 +70789 +75268 +75408 +71791 +68613 +72546 +74244 +72053 +72304 +72602 +70135 +70040 +70874 +72332 +76366 +64840 +70191 +67921 +71179 +72099 +71182 +72211 +70221 +71178 +74412 +80069 +71262 +80125 +68818 +80209 +72379 +72361 +76744 +70817 +72491 +74509 +72603 +76800 +69283 +69098 +74496 +70348 +75548 +68753 +72500 +68516 +75716 +63858 +80517 +71458 +71023 +74608 +71003 +76450 +74593 +72511 +80629 +64980 +71311 +65204 +68201 +65288 +68949 +71378 +74860 +75000 +68600 +71682 +70781 +65372 +71247 +75084 +77518 +71543 +63886 +80685 +71599 +73638 +73666 +68684 +77864 +68824 +68880 +71461 +72585 +73974 +74030 +69182 +76702 +77546 +69591 +71602 +69238 +77714 +71822 +63942 +77910 +69647 +68467 +71907 +71331 +73480 +68607 +64166 +75884 +69378 +64250 +68971 +73536 +71443 +72847 +70628 +76400 +74761 +70712 +72075 +71313 +72327 +72903 +68929 +72977 +69927 +71714 +71798 +71453 +72987 +74845 +69983 +69173 +72911 +64306 +71853 +71555 +81161 +73303 +73732 +69341 +73844 +73155 +73183 +72522 +71639 +65820 +68985 +71751 +76568 +72606 +71509 +72383 +74957 +69251 +71565 +76876 +70011 +78330 +72375 +74516 +70039 +78424 +69160 +69300 +72634 +73267 +70078 +66016 +76988 +69509 +73351 +73407 +70134 +70095 +66100 +77016 +64642 +66128 +78564 +64670 +66268 +78620 +72105 +70179 +69496 +75125 +72942 +81245 +81329 +74506 +69748 +69972 +72189 +73082 +76192 +74814 +71789 +76248 +81357 +71919 +71947 +74842 +76276 +73415 +72134 +75153 +74684 +81525 +71817 +74237 +69237 +69321 +76388 +75265 +72831 +69419 +72582 +73167 +73491 +74461 +72367 +71188 +72451 +77486 +71300 +77990 +78554 +66548 +71356 +74824 +74685 +70638 +73195 +71299 +75496 +81693 +78816 +78956 +64810 +64866 +75580 +70125 +72777 +70666 +69797 +72805 +75692 +72889 +70461 +72694 +75150 +73979 +71580 +66744 +78918 +72917 +70853 +79236 +79460 +75804 +73474 +76000 +70806 +70918 +73586 +74147 +73855 +72907 +75769 +73103 +77548 +72974 +77660 +76584 +75290 +75329 +73086 +73642 +73085 +73142 +81973 +77744 +67052 +82001 +70161 +76752 +75825 +76308 +71439 +75637 +79254 +70812 +75430 +71635 +70203 +70952 +75542 +77828 +75598 +70315 +75777 +73527 +74427 +67080 +74135 +74163 +76217 +73187 +78662 +75833 +82029 +73751 +70273 +71691 +74483 +70357 +74219 +73169 +73863 +79310 +72489 +73039 +73067 +73393 +74003 +76812 +82253 +74527 +74037 +76553 +74723 +72685 +72741 +72769 +75973 +72937 +76141 +74174 +74595 +71198 +65034 +71254 +74707 +74258 +73607 +71282 +71310 +74286 +73562 +71478 +74779 +76749 +77256 +73291 +73674 +71008 +75878 +67528 +71915 +78998 +71999 +82421 +79222 +79250 +73663 +73319 +70497 +70525 +76309 +71506 +79702 +79730 +73431 +70539 +74791 +79814 +77340 +79870 +74083 +76889 +75043 +73786 +78500 +65258 +74933 +67696 +79880 +79936 +71092 +78556 +70847 +65454 +73273 +80150 +73581 +73515 +74989 +72783 +67724 +80290 +80430 +74367 +77113 +74835 +73833 +77760 +78724 +74451 +75003 +79558 +70693 +74531 +76242 +79586 +71176 +77065 +76326 +71758 +79978 +71954 +71982 +74566 +72066 +70749 +75211 +74846 +75295 +77177 +80048 +77233 +72122 +77253 +71323 +70805 +74103 +72178 +80598 +74587 +74643 +75101 +67780 +77872 +73954 +82953 +76494 +75227 +75395 +65958 +73973 +71232 +76303 +71400 +71484 +80076 +70889 +72756 +74699 +73064 +70917 +78100 +78240 +73707 +74561 +76690 +71512 +74402 +73232 +72290 +79032 +73931 +74542 +79228 +80188 +71057 +72318 +76802 +71540 +80244 +75266 +76527 +75630 +74785 +75455 +74841 +73987 +80356 +83037 +72458 +75065 +80496 +66434 +72486 +72570 +71917 +66602 +80202 +75207 +80342 +73680 +68088 +71708 +75658 +75465 +74295 +75591 +75093 +74934 +71736 +80482 +75493 +80566 +75910 +73736 +68536 +68648 +79508 +76162 +78096 +74379 +79592 +75651 +75549 +75121 +73046 +80860 +80594 +77054 +74407 +75987 +77869 +71764 +66770 +75487 +75515 +74575 +75711 +75681 +79648 +79704 +71225 +81214 +77849 +75158 +75633 +75745 +76109 +80706 +76101 +75787 +76246 +74827 +67022 +83121 +67050 +78177 +73354 +78541 +78548 +80986 +77278 +74523 +71911 +81270 +75214 +81588 +77933 +78688 +68844 +72016 +72421 +74579 +74887 +81326 +78744 +75363 +75815 +76277 +74883 +68984 +74911 +71967 +78653 +79732 +74939 +79760 +77171 +78800 +81382 +81466 +76389 +72079 +79788 +67358 +75023 +74072 +81728 +76689 +81522 +78681 +75079 +69012 +78793 +75795 +81882 +69040 +77283 +81840 +77339 +83429 +69096 +78465 +76773 +77507 +76554 +82008 +78856 +77675 +75438 +78633 +77731 +77922 +78989 +72268 +81634 +79157 +75275 +76063 +71729 +78572 +76829 +71813 +72645 +75634 +75718 +69180 +69264 +77005 +71953 +72701 +78829 +73522 +81746 +72729 +69320 +82064 +73634 +78600 +82092 +68114 +77173 +77397 +78997 +75871 +78796 +78964 +74184 +82134 +76997 +72093 +76694 +77787 +77025 +79269 +82358 +79160 +83184 +83604 +79521 +80264 +77677 +73746 +72387 +77109 +76047 +77871 +74026 +72611 +75858 +72779 +76659 +77761 +78258 +80348 +76883 +78314 +84297 +79216 +76039 +79356 +76067 +77165 +69600 +74268 +84325 +81830 +76806 +75359 +76054 +76403 +68170 +76834 +76735 +83912 +72765 +79640 +76627 +80256 +74194 +77305 +77333 +79389 +80368 +80592 +78209 +74586 +80620 +76243 +74520 +72716 +79633 +76138 +81886 +72933 +82610 +77417 +82694 +80516 +80544 +84220 +82722 +76530 +80628 +76971 +74940 +75052 +73017 +79468 +77163 +76862 +73101 +76918 +79608 +79804 +77275 +73409 +79860 +76698 +77531 +69908 +78515 +78091 +73465 +70020 +84500 +68310 +76974 +77002 +78349 +79613 +78377 +73143 +78545 +76991 +77103 +75471 +70076 +85032 +73171 +85200 +73801 +79837 +78571 +85613 +85228 +81068 +78795 +81236 +78175 +72940 +76838 +73507 +77355 +78145 +81998 +83254 +78425 +79885 +77891 +73024 +77226 +70636 +73233 +81160 +79941 +80308 +77467 +77034 +75678 +85312 +73997 +81664 +85781 +80448 +75248 +85340 +79434 +81720 +76031 +83674 +73675 +79462 +74193 +77282 +74221 +70832 +80053 +77771 +74333 +79355 +78371 +77366 +81544 +77342 +73276 +70860 +82222 +78031 +68450 +81776 +73472 +73759 +78087 +80397 +80425 +85648 +85956 +74641 +79523 +85921 +79663 +86012 +77510 +80537 +82306 +71056 +80677 +80817 +78339 +86145 +83926 +78507 +75388 +77566 +82334 +83954 +74319 +68534 +79385 +73961 +75145 +82104 +78817 +75696 +77719 +80641 +78845 +68814 +78023 +75752 +77954 +78094 +78150 +76126 +81176 +71336 +75229 +82448 +77846 +76210 +76955 +82672 +73836 +74353 +82614 +78335 +82670 +77902 +84206 +74549 +86285 +75257 +74571 +73892 +75976 +75397 +81596 +77986 +71448 +76116 +78419 +78475 +75425 +78957 +80865 +71476 +71588 +79938 +86313 +69514 +79966 +86369 +78787 +82440 +78766 +80279 +76228 +74605 +80893 +80363 +78822 +82524 +74711 +82700 +77011 +77151 +81033 +77179 +74661 +78878 +75789 +74885 +78962 +80559 +80643 +76312 +80839 +76293 +80895 +84290 +84430 +76406 +74969 +81203 +71868 +79833 +83344 +81173 +86593 +83540 +80162 +83876 +82860 +86460 +74060 +75025 +79179 +83174 +84240 +78990 +81537 +75109 +81876 +71980 +84380 +81960 +84548 +77431 +84626 +86733 +81593 +77459 +80169 +79046 +75103 +78322 +81649 +74172 +86901 +76742 +81705 +81847 +81817 +78671 +81903 +78583 +78574 +84632 +75215 +80526 +78714 +84800 +79522 +78895 +84738 +77487 +76825 +78742 +80197 +77302 +72512 +70130 +85192 +74284 +77571 +70298 +75277 +78019 +75333 +86572 +78931 +78299 +83286 +85220 +78959 +84850 +82436 +74452 +80722 +75361 +81985 +84934 +86600 +82209 +73352 +74928 +75389 +86628 +77796 +85332 +75516 +86656 +79606 +80337 +75501 +78826 +75656 +83812 +79377 +82127 +82211 +82548 +77498 +79015 +82377 +79287 +79127 +75557 +82461 +83049 +79487 +75768 +82323 +75852 +81377 +77526 +79662 +78383 +86936 +80561 +78994 +86964 +85696 +87160 +85780 +81002 +79190 +87412 +78495 +75691 +76909 +77385 +79489 +75831 +87580 +86312 +87608 +87692 +77582 +87776 +79623 +77610 +87860 +78747 +82576 +87657 +83105 +79367 +83189 +79451 +81009 +73912 +83734 +81769 +75915 +84176 +83818 +86648 +78198 +79363 +79735 +83441 +76580 +85606 +78226 +82575 +86788 +83986 +75725 +79987 +79559 +79573 +76083 +76223 +70718 +70774 +83108 +82799 +79657 +86928 +78160 +84400 +79741 +86956 +87944 +80243 +73968 +79769 +80043 +79386 +79802 +88161 +85914 +82889 +76033 +82995 +76173 +83051 +83191 +80161 +77581 +83416 +81429 +74136 +80273 +88189 +74192 +82973 +80609 +78506 +80721 +79498 +81597 +84070 +77224 +81730 +83721 +83057 +83749 +79983 +70830 +80067 +83472 +70858 +80175 +80833 +78748 +80315 +80371 +83387 +79336 +88497 +80945 +80439 +80166 +83471 +83751 +82381 +82493 +83807 +76929 +83864 +81169 +77280 +83729 +74388 +87460 +84322 +80235 +80446 +80399 +87656 +77448 +80211 +80431 +83757 +84652 +80483 +80539 +76957 +79687 +81814 +80323 +80547 +77672 +84350 +84004 +77756 +78842 +79038 +77840 +89001 +80631 +76985 +79094 +82178 +82857 +77980 +79392 +84085 +84197 +71278 +83919 +79911 +71306 +80827 +86838 +83165 +79666 +83249 +76811 +83305 +80855 +83333 +84003 +83361 +84736 +84255 +74640 +79967 +81699 +81589 +86894 +77293 +71390 +71446 +84395 +74668 +84423 +84686 +85106 +87062 +80735 +83925 +84009 +85330 +74864 +79430 +84233 +83949 +81727 +81783 +82626 +84289 +79896 +84317 +82654 +75088 +81839 +77433 +80614 +84904 +82007 +84421 +81953 +80754 +89449 +81981 +80950 +89617 +84647 +85152 +81023 +84673 +81107 +81034 +80907 +87230 +80590 +81090 +88476 +88784 +78113 +76923 +80046 +80148 +80260 +80991 +82037 +87314 +78400 +81443 +89673 +87398 +84373 +81043 +88328 +84871 +88812 +89729 +81398 +82093 +83354 +78421 +77007 +85039 +82119 +85123 +83438 +84201 +89757 +80870 +80219 +80344 +80954 +81650 +75228 +80494 +85264 +89813 +89841 +87622 +89036 +82457 +81047 +81583 +85291 +77965 +85156 +87706 +85778 +81211 +81295 +77259 +89176 +85918 +77993 +82238 +75284 +78049 +81667 +85319 +90233 +82003 +82367 +72146 +85492 +81075 +85348 +79009 +89232 +82819 +80303 +78624 +84681 +80555 +84933 +81710 +82018 +84929 +81547 +81631 +82046 +80690 +81523 +85488 +89400 +85037 +80652 +85097 +85093 +79093 +85688 +85572 +83801 +80779 +79072 +82451 +82354 +79240 +88944 +89000 +85045 +90625 +85769 +85797 +81551 +79408 +82987 +80975 +81003 +85431 +77427 +80680 +85684 +85965 +86077 +85487 +85185 +85963 +82686 +82714 +86019 +85241 +83941 +85269 +81100 +81240 +81115 +83183 +82438 +85325 +80970 +77819 +79205 +90765 +85317 +81199 +86282 +86020 +86161 +73350 +86131 +85485 +84277 +82787 +81719 +85625 +81352 +84305 +78637 +84166 +91073 +86187 +88686 +85681 +81688 +82466 +81054 +84697 +85821 +86394 +91101 +82927 +86073 +86422 +81883 +83715 +83855 +81082 +83883 +81283 +83011 +75480 +86556 +86327 +86355 +86104 +84107 +82612 +83431 +83515 +81619 +77931 +86439 +83711 +86185 +80192 +86381 +83963 +86277 +73602 +79253 +86272 +90016 +82938 +73742 +90044 +83032 +79281 +84303 +81278 +81390 +81815 +86973 +83060 +81474 +81871 +86333 +88854 +80332 +84583 +83022 +83190 +88910 +86356 +91857 +73854 +86747 +86636 +89868 +83218 +84131 +74078 +84187 +84670 +74246 +85733 +74274 +87346 +79673 +76488 +80149 +86780 +89050 +90352 +87197 +78491 +79457 +80472 +83778 +74442 +85789 +82359 +90436 +82499 +76600 +84782 +82891 +78547 +78659 +87374 +82718 +84807 +78687 +86697 +81698 +87309 +86976 +81754 +86725 +87430 +79625 +83026 +83059 +84523 +87224 +86857 +83082 +89218 +89834 +84663 +79905 +82319 +82459 +84838 +87672 +92137 +92193 +83200 +83228 +84747 +84282 +80653 +81838 +90604 +87368 +78799 +81978 +83284 +74946 +80961 +85062 +74974 +87700 +75198 +86997 +85118 +88036 +86921 +77216 +87570 +87397 +84859 +82146 +84915 +89918 +83396 +78967 +80101 +83306 +87027 +82447 +90772 +81045 +85059 +82475 +80157 +77496 +80241 +77552 +87593 +86881 +83424 +82487 +77580 +87081 +84786 +90002 +79023 +75702 +83698 +85843 +90940 +79303 +86909 +87648 +90316 +82566 +90344 +81676 +85314 +75730 +88120 +87626 +90400 +79443 +92641 +82846 +83754 +87195 +84954 +87561 +86937 +87589 +85027 +86965 +77748 +91276 +86123 +87217 +85318 +83676 +87361 +87757 +83810 +91584 +85083 +81704 +85195 +85559 +90730 +90758 +82711 +87301 +85643 +83838 +85671 +86487 +83704 +91612 +88316 +90786 +88344 +83182 +83210 +81465 +80829 +87413 +83619 +82795 +87581 +83731 +80913 +83406 +85398 +83760 +81221 +87665 +83518 +93005 +83602 +88629 +88309 +76234 +87585 +90982 +91724 +83950 +91066 +88012 +85979 +84230 +86175 +87503 +88393 +86543 +85650 +82851 +83075 +88152 +88561 +83630 +87531 +77944 +88009 +92396 +84594 +85678 +92480 +85958 +88348 +82867 +88484 +81717 +88624 +83826 +88037 +93201 +89105 +80395 +92564 +87587 +89133 +83938 +83551 +81969