From 83adb83812317cbc883019a36651c87b9ebea05b Mon Sep 17 00:00:00 2001 From: Jaakko Husso Date: Sat, 23 Dec 2023 02:43:12 +0200 Subject: [PATCH] Day 22 solutions --- README.md | 1 + aoc-solver/src/y2023/day22.rs | 229 +++++ aoc-solver/src/y2023/mod.rs | 5 +- aoc-web/src/header.rs | 1 + inputs/2023/day22.txt | 1470 +++++++++++++++++++++++++++++++++ 5 files changed, 1705 insertions(+), 1 deletion(-) create mode 100644 aoc-solver/src/y2023/day22.rs create mode 100644 inputs/2023/day22.txt diff --git a/README.md b/README.md index b3b23bc..0a87354 100644 --- a/README.md +++ b/README.md @@ -107,3 +107,4 @@ This should start the server at `localhost:8080`. ❄️ [Day 19](aoc-solver/src/y2023/day19.rs) ❄️ [Day 20](aoc-solver/src/y2023/day20.rs) ❄️ [Day 21](aoc-solver/src/y2023/day21.rs) +❄️ [Day 22](aoc-solver/src/y2023/day22.rs) diff --git a/aoc-solver/src/y2023/day22.rs b/aoc-solver/src/y2023/day22.rs new file mode 100644 index 0000000..82955c9 --- /dev/null +++ b/aoc-solver/src/y2023/day22.rs @@ -0,0 +1,229 @@ +use std::collections::{HashMap, HashSet, VecDeque}; + +use itertools::Itertools; + +use crate::solution::{AocError, Solution}; + +pub struct Day22; + +#[derive(Debug, Clone)] +struct Coords { + x: i32, + y: i32, + z: i32, +} + +#[derive(Debug, Clone)] +struct Brick { + id: usize, + left: Coords, + right: Coords, +} + +fn parse(input: &str) -> Result, AocError> { + let bricks = input + .trim() + .lines() + .enumerate() + .map(|(id, line)| { + let (left, right) = line + .split_once('~') + .ok_or(AocError::parse(line, "Missing ~ split"))?; + + let left = parse_coordinates(left)?; + let right = parse_coordinates(right)?; + + Ok(Brick { id, left, right }) + }) + .try_collect()?; + + Ok(bricks) +} + +fn parse_coordinates(input: &str) -> Result { + let coords = match input.split(',').collect_tuple() { + Some((x, y, z)) => Coords { + x: x.parse::().map_err(|err| AocError::parse(x, err))?, + y: y.parse::().map_err(|err| AocError::parse(y, err))?, + z: z.parse::().map_err(|err| AocError::parse(z, err))?, + }, + None => return Err(AocError::parse(input, "Wrong amount of coordinates")), + }; + + Ok(coords) +} + +fn is_supporting(a: &Brick, b: &Brick) -> bool { + if a.id == b.id || a.right.z + 1 != b.left.z { + return false; + } + + is_overlapping(a, b) +} + +fn is_overlapping(a: &Brick, b: &Brick) -> bool { + let horizontal = a.left.x <= b.right.x && a.right.x >= b.left.x; + let vertical = a.left.y <= b.right.y && a.right.y >= b.left.y; + + horizontal && vertical +} + +impl Solution for Day22 { + type A = u32; + type B = u32; + + fn default_input(&self) -> &'static str { + include_str!("../../../inputs/2023/day22.txt") + } + + fn part_1(&self, input: &str) -> Result { + let bricks = parse(input)?; + + let dropped = apply_gravity(bricks); + let bricks_with_supports = find_supports(dropped); + + let safe_to_disintegrate = bricks_with_supports + .keys() + .filter(|id| { + !bricks_with_supports + .values() + .any(|supports| supports.len() == 1 && supports.contains(id)) + }) + .count() as u32; + + Ok(safe_to_disintegrate) + } + + fn part_2(&self, input: &str) -> Result { + let bricks = parse(input)?; + + let dropped = apply_gravity(bricks); + let bricks_with_supports = find_supports(dropped); + + let mut memo: HashMap> = HashMap::new(); + + let total_falls: u32 = bricks_with_supports + .keys() + .map(|disintegrated| { + let mut dropped_supports = HashSet::from([*disintegrated]); + + loop { + let mut fallen_bricks = HashSet::new(); + + for (brick, supports) in bricks_with_supports.iter() { + if !dropped_supports.contains(brick) + && !supports.is_empty() + && supports.is_subset(&dropped_supports) + { + fallen_bricks.insert(*brick); + + // If we've previously dropped a long chain that starts from + // this brick falling reading that from the cache will result + // in a nice +200% performance gain. But on smaller inputs this + // often just returns the same brick that we just inserted. + if let Some(cached_chain_reaction) = memo.get(brick) { + fallen_bricks.extend(cached_chain_reaction); + } + } + } + + if fallen_bricks.is_empty() { + // Nothing moved so the chain reaction stopped. + // Don't count the disintegrated brick that started the reaction + let other_fallen_bricks = dropped_supports.len() as u32 - 1; + memo.insert(*disintegrated, dropped_supports); + + return other_fallen_bricks; + } + + // To avoid checking bricks we've fully tested already + dropped_supports.extend(fallen_bricks); + } + }) + .sum(); + + Ok(total_falls as u32) + } +} + +fn find_supports(dropped: Vec) -> HashMap> { + let bricks_with_supports: HashMap> = dropped + .iter() + .map(|brick| { + let supporting_bricks: HashSet = dropped + .iter() + .filter(|potential_support| is_supporting(potential_support, brick)) + .map(|support| support.id) + .collect(); + + (brick.id, supporting_bricks) + }) + .collect(); + bricks_with_supports +} + +fn apply_gravity(mut bricks: Vec) -> Vec { + bricks.sort_by(|a, b| a.left.z.cmp(&b.left.z)); + + let mut queue = VecDeque::from(bricks); + let mut dropped = Vec::new(); + + while let Some(mut brick) = queue.pop_front() { + let resting_height = dropped + .iter() + .filter(|stationary| is_overlapping(&brick, stationary)) + .map(|b| b.right.z) + .max() + .unwrap_or(0) + + 1; + + brick.right.z = resting_height + brick.right.z - brick.left.z; + brick.left.z = resting_height; + + dropped.push(brick); + } + + dropped +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn it_solves_part1_example() { + assert_eq!( + Day22.part_1( + "1,0,1~1,2,1\n\ + 0,0,2~2,0,2\n\ + 0,2,3~2,2,3\n\ + 0,0,4~0,2,4\n\ + 2,0,5~2,2,5\n\ + 0,1,6~2,1,6\n\ + 1,1,8~1,1,9\n" + ), + Ok(5) + ); + } + + #[test] + fn it_solves_part2_example() { + assert_eq!( + Day22.part_2( + "1,0,1~1,2,1\n\ + 0,0,2~2,0,2\n\ + 0,2,3~2,2,3\n\ + 0,0,4~0,2,4\n\ + 2,0,5~2,2,5\n\ + 0,1,6~2,1,6\n\ + 1,1,8~1,1,9\n" + ), + Ok(7) + ); + } + + #[test] + fn it_solves_part2_real() { + assert_eq!(Day22.part_2(Day22.default_input()), Ok(67468)); + } +} diff --git a/aoc-solver/src/y2023/mod.rs b/aoc-solver/src/y2023/mod.rs index 90c0a6e..0649361 100644 --- a/aoc-solver/src/y2023/mod.rs +++ b/aoc-solver/src/y2023/mod.rs @@ -21,8 +21,9 @@ pub mod day18; pub mod day19; pub mod day20; pub mod day21; +pub mod day22; -pub const MAX_DAYS: u8 = 21; +pub const MAX_DAYS: u8 = 22; pub struct Y2023; @@ -50,6 +51,7 @@ impl Solver for Y2023 { 19 => day19::Day19.run(input, 19, 2023), 20 => day20::Day20.run(input, 20, 2023), 21 => day21::Day21.run(input, 21, 2023), + 22 => day22::Day22.run(input, 22, 2023), _ => vec![String::from("Solution not implemented (yet?)")], } } @@ -88,6 +90,7 @@ impl Solver for Y2023 { 19 => include_str!("./day19.rs"), 20 => include_str!("./day20.rs"), 21 => include_str!("./day21.rs"), + 22 => include_str!("./day22.rs"), _ => unimplemented!(), } } diff --git a/aoc-web/src/header.rs b/aoc-web/src/header.rs index 71f9c06..4786153 100644 --- a/aoc-web/src/header.rs +++ b/aoc-web/src/header.rs @@ -40,6 +40,7 @@ pub fn header(props: &HeaderProps) -> Html { + } }, diff --git a/inputs/2023/day22.txt b/inputs/2023/day22.txt new file mode 100644 index 0000000..bc402db --- /dev/null +++ b/inputs/2023/day22.txt @@ -0,0 +1,1470 @@ +2,6,8~4,6,8 +1,2,193~4,2,193 +0,2,196~2,2,196 +1,8,7~1,8,8 +4,1,289~4,3,289 +7,7,266~7,7,268 +9,5,39~9,8,39 +3,0,301~3,3,301 +5,6,160~7,6,160 +4,0,114~6,0,114 +7,1,307~7,3,307 +3,4,249~5,4,249 +3,5,178~3,5,181 +3,6,61~3,9,61 +6,8,255~7,8,255 +7,1,32~8,1,32 +4,2,328~4,4,328 +1,0,171~1,4,171 +7,6,225~9,6,225 +5,2,11~5,4,11 +0,6,310~1,6,310 +7,3,345~7,4,345 +1,7,18~3,7,18 +0,0,89~0,3,89 +0,8,138~1,8,138 +3,3,168~3,3,168 +8,1,195~8,3,195 +9,3,83~9,3,83 +4,9,31~6,9,31 +1,0,215~1,2,215 +6,8,290~6,8,293 +8,5,211~8,7,211 +4,3,192~8,3,192 +5,5,169~8,5,169 +7,2,306~8,2,306 +2,2,101~5,2,101 +5,1,103~7,1,103 +9,7,78~9,9,78 +5,0,138~8,0,138 +0,1,314~1,1,314 +0,2,241~0,3,241 +0,2,303~3,2,303 +2,3,132~2,6,132 +8,6,139~9,6,139 +9,0,212~9,2,212 +4,7,187~6,7,187 +2,3,206~2,5,206 +5,7,253~5,9,253 +3,9,94~6,9,94 +6,4,288~9,4,288 +4,4,102~6,4,102 +6,8,99~7,8,99 +1,1,3~1,3,3 +4,6,275~4,9,275 +3,0,105~3,1,105 +6,9,167~7,9,167 +1,3,252~2,3,252 +6,6,84~6,7,84 +2,7,76~2,8,76 +6,5,116~7,5,116 +0,8,184~2,8,184 +1,3,240~1,3,243 +2,5,347~4,5,347 +2,5,286~5,5,286 +0,0,40~0,1,40 +3,0,108~3,0,108 +6,5,137~6,7,137 +2,1,98~2,1,98 +5,0,7~7,0,7 +3,9,296~4,9,296 +1,5,165~1,6,165 +6,6,282~9,6,282 +5,5,288~5,7,288 +1,7,246~4,7,246 +5,8,131~8,8,131 +5,7,102~5,9,102 +9,0,316~9,2,316 +5,4,165~5,6,165 +0,0,213~0,2,213 +2,0,130~2,1,130 +6,0,313~8,0,313 +4,8,95~7,8,95 +2,8,332~5,8,332 +2,2,5~4,2,5 +7,0,193~7,3,193 +7,4,320~7,6,320 +6,0,210~7,0,210 +9,6,170~9,9,170 +0,1,182~0,3,182 +5,5,191~5,6,191 +2,4,231~2,7,231 +2,2,309~4,2,309 +5,9,328~6,9,328 +1,2,236~1,2,238 +4,1,51~4,3,51 +3,2,284~6,2,284 +5,2,281~5,4,281 +8,3,191~8,5,191 +7,2,33~9,2,33 +9,0,211~9,2,211 +0,7,249~0,9,249 +3,0,217~5,0,217 +9,1,2~9,1,3 +5,3,108~5,4,108 +3,0,96~5,0,96 +8,8,219~8,8,221 +3,5,81~5,5,81 +1,2,111~3,2,111 +6,4,278~6,4,280 +6,8,68~7,8,68 +2,8,102~3,8,102 +3,5,193~3,6,193 +5,1,291~6,1,291 +1,5,168~1,8,168 +1,1,206~4,1,206 +4,9,28~6,9,28 +6,6,121~6,9,121 +5,3,15~6,3,15 +9,5,87~9,6,87 +0,5,302~0,8,302 +4,6,328~4,8,328 +3,6,125~3,8,125 +0,3,321~0,4,321 +0,2,87~1,2,87 +3,6,302~6,6,302 +5,1,20~5,1,21 +5,7,53~7,7,53 +8,6,202~8,9,202 +2,2,55~4,2,55 +2,3,290~2,5,290 +2,2,280~2,4,280 +0,7,112~1,7,112 +5,5,280~5,7,280 +2,6,57~2,8,57 +7,7,100~7,8,100 +9,3,252~9,5,252 +7,5,205~9,5,205 +7,5,338~7,7,338 +6,9,260~6,9,261 +2,3,302~3,3,302 +1,3,62~1,4,62 +1,6,321~1,9,321 +7,1,5~7,3,5 +2,7,127~4,7,127 +4,4,164~4,6,164 +4,5,269~4,6,269 +3,9,7~4,9,7 +8,5,209~8,6,209 +3,6,2~3,8,2 +5,4,277~7,4,277 +5,6,314~8,6,314 +2,2,244~5,2,244 +9,6,74~9,8,74 +0,0,31~2,0,31 +4,2,96~6,2,96 +5,1,141~5,2,141 +2,2,255~2,5,255 +7,7,6~7,8,6 +3,3,3~3,3,5 +7,0,251~7,0,254 +5,2,55~5,2,58 +2,3,248~2,5,248 +2,7,351~3,7,351 +0,2,84~3,2,84 +3,5,290~3,8,290 +0,6,311~0,9,311 +9,1,15~9,3,15 +3,1,303~4,1,303 +6,7,211~6,7,213 +6,0,89~6,2,89 +4,3,203~4,5,203 +6,0,169~6,2,169 +2,0,90~4,0,90 +4,6,272~4,7,272 +1,4,17~3,4,17 +1,4,311~1,6,311 +1,3,367~1,5,367 +5,0,155~5,1,155 +6,2,297~6,5,297 +5,5,80~5,8,80 +4,2,166~6,2,166 +6,9,126~8,9,126 +0,5,320~0,5,320 +8,1,206~8,3,206 +7,0,99~7,2,99 +0,5,6~0,7,6 +0,2,59~2,2,59 +1,1,218~2,1,218 +6,3,122~6,3,124 +1,4,44~1,4,46 +1,6,166~1,7,166 +2,5,349~5,5,349 +7,7,56~7,7,57 +4,9,123~6,9,123 +6,1,289~9,1,289 +4,0,320~4,0,322 +6,1,122~8,1,122 +1,3,281~1,6,281 +2,6,75~2,6,78 +5,4,308~5,4,310 +1,1,181~1,4,181 +7,7,102~7,7,105 +5,7,326~5,7,327 +3,5,328~5,5,328 +9,5,16~9,7,16 +6,4,20~6,6,20 +2,9,68~5,9,68 +1,5,245~3,5,245 +1,5,283~1,5,285 +1,4,109~3,4,109 +8,6,35~8,9,35 +2,0,289~5,0,289 +8,3,282~8,3,284 +8,1,88~8,4,88 +7,8,339~9,8,339 +4,6,220~4,9,220 +3,2,353~4,2,353 +5,6,358~6,6,358 +1,1,161~1,4,161 +2,6,340~5,6,340 +2,4,309~2,4,311 +0,1,84~1,1,84 +8,2,103~8,4,103 +7,2,269~9,2,269 +3,7,253~3,7,255 +9,7,6~9,9,6 +1,4,180~3,4,180 +6,0,170~7,0,170 +7,4,80~9,4,80 +1,1,164~4,1,164 +1,2,331~4,2,331 +9,8,42~9,8,43 +4,5,72~7,5,72 +5,7,223~7,7,223 +3,4,63~3,7,63 +3,3,332~3,5,332 +3,5,87~3,7,87 +0,6,70~0,9,70 +9,7,2~9,9,2 +2,5,357~2,5,359 +6,2,108~7,2,108 +7,0,294~8,0,294 +6,6,183~6,6,186 +5,4,164~5,4,164 +7,3,59~7,5,59 +0,4,189~2,4,189 +0,5,64~2,5,64 +1,5,279~1,6,279 +2,8,182~4,8,182 +8,6,28~8,9,28 +3,3,161~3,6,161 +9,2,203~9,4,203 +6,1,247~6,2,247 +3,4,107~3,5,107 +7,2,79~7,5,79 +8,6,285~8,8,285 +3,7,334~3,9,334 +4,6,219~6,6,219 +6,6,195~6,8,195 +4,9,73~6,9,73 +0,0,37~0,1,37 +6,5,204~9,5,204 +0,4,185~2,4,185 +9,0,22~9,3,22 +9,4,243~9,6,243 +6,7,342~6,9,342 +1,3,267~1,5,267 +5,3,306~5,4,306 +6,0,243~8,0,243 +5,2,239~5,2,240 +2,2,151~3,2,151 +1,4,287~1,6,287 +6,4,210~6,7,210 +3,7,55~6,7,55 +2,6,20~2,7,20 +3,4,66~5,4,66 +5,2,209~5,4,209 +7,5,14~8,5,14 +4,8,34~4,9,34 +2,4,73~5,4,73 +0,5,26~0,5,28 +5,1,90~5,3,90 +6,9,259~9,9,259 +1,5,273~1,6,273 +5,4,233~5,4,235 +2,6,205~2,7,205 +8,6,158~8,8,158 +3,5,306~3,6,306 +2,4,225~5,4,225 +3,4,72~3,4,72 +0,5,271~2,5,271 +3,2,148~3,5,148 +2,9,65~4,9,65 +5,4,97~5,7,97 +1,6,290~1,8,290 +8,8,222~8,9,222 +4,4,286~6,4,286 +1,2,81~3,2,81 +0,0,172~1,0,172 +4,8,160~4,8,162 +5,5,106~5,5,108 +7,7,251~7,7,251 +4,4,267~5,4,267 +7,2,186~7,3,186 +6,7,164~6,9,164 +4,0,169~4,2,169 +5,6,31~5,8,31 +1,2,131~3,2,131 +8,4,305~8,6,305 +6,4,119~6,7,119 +1,5,250~1,5,252 +7,2,243~7,2,245 +2,4,69~5,4,69 +7,1,34~9,1,34 +2,1,152~2,3,152 +3,5,305~5,5,305 +1,3,312~1,5,312 +3,6,85~3,9,85 +4,3,166~6,3,166 +0,2,123~0,5,123 +9,6,189~9,8,189 +2,0,298~2,0,298 +7,2,12~8,2,12 +2,0,108~2,1,108 +5,7,249~5,9,249 +3,8,112~3,9,112 +0,7,175~1,7,175 +3,5,294~5,5,294 +2,1,276~3,1,276 +2,6,16~4,6,16 +3,7,207~5,7,207 +5,1,247~5,2,247 +9,2,245~9,6,245 +8,6,236~8,8,236 +7,5,101~7,7,101 +4,8,12~4,9,12 +2,9,146~3,9,146 +5,5,291~7,5,291 +2,3,13~2,4,13 +3,2,139~3,4,139 +2,4,119~2,5,119 +3,3,228~3,5,228 +2,1,134~3,1,134 +1,4,111~1,5,111 +4,8,9~7,8,9 +6,2,46~6,5,46 +5,0,61~5,2,61 +4,3,171~6,3,171 +7,4,131~9,4,131 +3,2,13~5,2,13 +3,7,245~6,7,245 +0,4,318~0,4,318 +3,3,36~5,3,36 +6,3,310~6,3,310 +3,3,140~3,3,144 +3,6,348~3,9,348 +6,4,86~6,5,86 +2,0,296~2,2,296 +6,1,176~8,1,176 +1,9,334~2,9,334 +7,3,281~9,3,281 +2,1,15~2,4,15 +7,6,227~7,9,227 +6,4,107~6,6,107 +0,7,190~0,7,193 +0,0,2~2,0,2 +0,4,228~2,4,228 +6,1,91~7,1,91 +4,4,226~6,4,226 +3,2,78~3,4,78 +2,5,169~2,5,173 +6,0,244~6,0,246 +4,5,195~4,6,195 +3,5,237~3,6,237 +3,2,153~5,2,153 +7,1,249~7,4,249 +3,1,312~3,3,312 +0,2,110~0,5,110 +1,0,91~1,0,94 +5,9,25~8,9,25 +8,7,186~9,7,186 +4,5,267~7,5,267 +6,8,181~9,8,181 +1,4,215~1,6,215 +7,2,213~7,6,213 +2,6,266~5,6,266 +4,6,33~4,6,35 +3,0,147~4,0,147 +0,4,111~0,7,111 +0,0,222~2,0,222 +6,9,212~8,9,212 +8,1,110~8,3,110 +2,8,77~2,9,77 +9,3,82~9,4,82 +9,3,81~9,5,81 +1,5,243~1,8,243 +6,1,310~8,1,310 +2,4,99~2,6,99 +1,1,212~1,3,212 +6,1,272~6,3,272 +7,5,216~7,6,216 +8,4,232~8,4,235 +3,2,258~3,6,258 +3,0,75~5,0,75 +0,5,30~0,5,32 +2,2,28~2,2,32 +1,9,293~4,9,293 +1,1,104~3,1,104 +1,1,123~3,1,123 +1,5,118~1,5,118 +6,1,245~8,1,245 +5,2,333~7,2,333 +8,2,230~8,5,230 +7,0,104~7,2,104 +0,2,130~0,2,133 +9,6,5~9,8,5 +7,0,86~7,2,86 +0,0,10~2,0,10 +6,5,287~8,5,287 +7,0,198~7,1,198 +7,1,76~7,2,76 +6,3,75~6,5,75 +6,5,170~7,5,170 +1,2,75~4,2,75 +0,7,66~1,7,66 +2,0,211~2,3,211 +8,3,332~8,4,332 +5,3,53~5,4,53 +1,7,17~3,7,17 +9,5,99~9,6,99 +9,7,1~9,9,1 +7,5,143~7,7,143 +6,8,258~6,8,260 +3,7,354~4,7,354 +9,1,37~9,3,37 +1,4,264~4,4,264 +7,5,166~7,7,166 +0,8,299~3,8,299 +0,1,35~2,1,35 +9,1,255~9,1,256 +0,3,207~0,5,207 +3,0,261~3,2,261 +8,2,357~8,4,357 +1,3,213~1,3,214 +4,0,324~6,0,324 +4,3,193~4,5,193 +6,9,211~8,9,211 +7,7,290~7,9,290 +1,7,242~3,7,242 +0,8,105~2,8,105 +5,4,270~5,4,271 +3,0,216~3,3,216 +1,0,79~2,0,79 +0,2,159~0,4,159 +8,8,50~9,8,50 +7,6,145~7,7,145 +0,2,210~0,4,210 +9,1,179~9,3,179 +8,5,192~9,5,192 +6,3,51~6,5,51 +3,2,38~3,3,38 +5,6,86~5,9,86 +1,7,10~1,9,10 +5,3,180~5,5,180 +6,5,344~8,5,344 +7,2,80~7,3,80 +5,6,99~5,7,99 +3,0,178~3,0,181 +6,5,88~8,5,88 +1,1,112~1,2,112 +6,0,304~6,0,306 +2,2,237~2,4,237 +3,6,5~6,6,5 +1,6,120~3,6,120 +4,1,11~6,1,11 +2,1,117~2,3,117 +6,3,10~7,3,10 +6,5,120~6,5,123 +7,2,296~7,5,296 +0,8,190~0,8,192 +0,4,212~3,4,212 +3,7,6~3,8,6 +5,0,102~5,3,102 +4,5,334~4,6,334 +1,4,288~1,6,288 +8,6,208~8,9,208 +4,0,195~7,0,195 +2,0,198~4,0,198 +0,3,118~0,5,118 +9,7,187~9,8,187 +8,8,256~8,9,256 +4,2,262~4,5,262 +6,2,87~8,2,87 +1,0,146~3,0,146 +5,5,189~8,5,189 +3,2,133~3,5,133 +0,7,356~2,7,356 +6,6,108~6,6,110 +0,1,24~0,4,24 +1,3,276~1,5,276 +4,4,240~4,7,240 +8,6,207~8,8,207 +5,4,15~8,4,15 +5,6,322~5,9,322 +8,4,10~8,6,10 +2,6,200~4,6,200 +2,1,91~3,1,91 +2,2,354~2,5,354 +0,4,158~2,4,158 +3,8,278~6,8,278 +9,0,206~9,0,209 +4,7,330~4,9,330 +5,4,256~5,4,258 +9,0,305~9,2,305 +2,6,314~4,6,314 +1,1,127~4,1,127 +3,6,222~5,6,222 +6,9,168~7,9,168 +9,4,33~9,6,33 +3,6,192~6,6,192 +6,6,50~6,8,50 +0,3,249~2,3,249 +1,1,191~2,1,191 +2,3,183~2,5,183 +0,6,127~0,8,127 +9,1,209~9,1,210 +3,9,73~3,9,75 +3,4,58~3,7,58 +2,9,89~5,9,89 +8,9,36~8,9,37 +5,1,334~5,2,334 +5,5,136~8,5,136 +2,9,195~3,9,195 +8,1,117~8,3,117 +6,1,167~6,4,167 +0,6,59~2,6,59 +6,5,49~6,7,49 +6,1,172~9,1,172 +3,0,204~3,2,204 +1,1,145~1,3,145 +2,5,315~2,7,315 +2,0,107~2,1,107 +7,0,297~8,0,297 +7,6,235~7,7,235 +7,2,210~7,4,210 +2,4,362~2,6,362 +7,8,57~7,8,60 +8,4,347~8,6,347 +0,4,113~0,5,113 +7,9,293~8,9,293 +6,5,53~6,6,53 +3,3,165~3,6,165 +1,1,6~1,4,6 +0,4,262~0,6,262 +5,6,333~5,7,333 +0,6,264~2,6,264 +0,9,298~2,9,298 +1,4,195~1,4,197 +3,9,240~3,9,241 +0,6,305~0,7,305 +7,8,187~7,9,187 +0,9,11~3,9,11 +8,3,198~8,6,198 +4,2,100~6,2,100 +1,6,136~1,8,136 +5,2,170~7,2,170 +4,0,15~4,2,15 +8,8,253~9,8,253 +4,2,37~5,2,37 +5,0,3~8,0,3 +2,3,239~2,4,239 +9,7,46~9,9,46 +2,7,28~4,7,28 +7,4,1~7,4,3 +8,5,333~8,7,333 +8,2,112~8,4,112 +8,5,234~8,7,234 +5,4,227~8,4,227 +4,8,185~4,9,185 +0,4,315~2,4,315 +1,4,364~3,4,364 +2,5,92~2,7,92 +0,5,246~0,8,246 +3,9,96~4,9,96 +4,0,173~6,0,173 +2,9,145~3,9,145 +4,8,94~6,8,94 +6,2,34~6,4,34 +1,7,184~3,7,184 +4,8,25~7,8,25 +0,0,81~0,1,81 +5,3,89~5,6,89 +0,3,17~3,3,17 +2,0,138~2,3,138 +3,1,176~4,1,176 +2,5,288~3,5,288 +4,5,295~7,5,295 +5,2,71~8,2,71 +6,3,342~8,3,342 +4,2,97~4,5,97 +0,5,198~3,5,198 +4,6,197~4,6,199 +1,1,20~1,1,22 +2,1,178~2,4,178 +5,5,209~7,5,209 +3,6,11~3,8,11 +7,4,4~9,4,4 +1,5,101~3,5,101 +4,5,330~8,5,330 +8,5,13~9,5,13 +6,1,313~9,1,313 +9,6,18~9,6,18 +3,3,215~3,6,215 +5,3,227~7,3,227 +1,4,156~3,4,156 +8,0,120~8,1,120 +1,0,175~4,0,175 +3,2,25~4,2,25 +2,6,308~2,7,308 +4,0,276~4,2,276 +5,6,118~5,7,118 +8,7,251~8,9,251 +4,2,53~5,2,53 +2,1,10~2,1,13 +7,6,169~9,6,169 +8,1,184~9,1,184 +9,1,251~9,3,251 +0,3,238~3,3,238 +7,9,9~9,9,9 +3,5,183~3,7,183 +8,6,31~9,6,31 +2,1,25~2,2,25 +0,1,220~2,1,220 +2,3,356~5,3,356 +9,5,37~9,7,37 +7,4,206~7,6,206 +2,3,40~5,3,40 +4,8,245~6,8,245 +3,3,171~3,4,171 +6,0,249~8,0,249 +9,6,80~9,6,84 +0,6,236~0,9,236 +3,6,30~6,6,30 +1,0,178~1,0,179 +0,5,260~3,5,260 +0,2,287~0,4,287 +8,4,128~8,7,128 +3,3,313~3,4,313 +0,2,354~0,5,354 +4,3,303~7,3,303 +0,7,234~2,7,234 +5,0,205~5,2,205 +9,1,200~9,4,200 +7,0,136~7,3,136 +6,3,7~7,3,7 +6,5,339~6,8,339 +3,4,1~3,5,1 +1,5,199~1,8,199 +5,8,303~7,8,303 +5,5,206~6,5,206 +1,8,254~4,8,254 +7,7,75~7,9,75 +4,6,308~4,8,308 +7,1,268~7,3,268 +0,1,136~2,1,136 +2,0,304~4,0,304 +4,6,305~5,6,305 +1,1,130~1,2,130 +2,4,33~4,4,33 +5,6,92~5,8,92 +4,6,315~4,8,315 +2,0,262~4,0,262 +9,2,145~9,3,145 +3,7,83~6,7,83 +0,4,115~2,4,115 +1,6,7~1,6,9 +1,1,119~1,3,119 +0,3,19~0,6,19 +5,9,131~7,9,131 +1,7,317~3,7,317 +9,4,132~9,5,132 +5,4,22~7,4,22 +7,7,296~7,7,298 +4,0,49~6,0,49 +6,4,153~6,7,153 +2,7,187~2,9,187 +4,7,154~5,7,154 +0,0,290~3,0,290 +3,6,216~6,6,216 +3,0,264~6,0,264 +2,6,86~4,6,86 +5,2,206~7,2,206 +6,7,115~9,7,115 +2,5,167~4,5,167 +7,5,207~7,7,207 +0,4,284~2,4,284 +1,6,6~1,8,6 +8,3,238~8,4,238 +2,7,157~4,7,157 +1,2,334~4,2,334 +7,1,9~7,2,9 +4,6,10~4,9,10 +5,7,3~7,7,3 +8,0,308~8,1,308 +2,6,44~3,6,44 +3,9,297~3,9,299 +2,0,28~2,1,28 +8,4,24~8,4,27 +1,1,132~3,1,132 +2,1,100~2,1,103 +0,3,290~1,3,290 +1,7,25~3,7,25 +9,0,30~9,0,32 +7,2,265~7,6,265 +2,6,356~5,6,356 +4,2,351~6,2,351 +1,2,191~1,5,191 +0,1,94~3,1,94 +3,3,229~3,4,229 +6,0,252~6,0,255 +2,1,219~4,1,219 +2,0,77~2,2,77 +1,4,241~3,4,241 +3,9,113~5,9,113 +7,0,73~7,3,73 +7,3,246~7,4,246 +8,0,105~8,2,105 +0,5,35~0,5,36 +8,2,114~8,4,114 +0,5,124~0,5,126 +6,2,127~6,3,127 +4,2,3~7,2,3 +5,1,69~5,1,71 +4,4,343~4,7,343 +2,7,23~2,9,23 +4,7,159~4,9,159 +0,4,248~0,6,248 +3,2,217~3,2,219 +1,5,308~4,5,308 +7,6,308~9,6,308 +5,1,243~5,4,243 +8,4,201~8,7,201 +1,1,319~3,1,319 +6,1,105~7,1,105 +8,2,271~8,2,273 +0,2,91~0,4,91 +7,1,314~7,2,314 +0,0,115~1,0,115 +4,0,170~4,2,170 +4,5,13~4,7,13 +3,8,224~5,8,224 +3,3,201~3,4,201 +3,5,313~3,5,314 +7,1,199~7,2,199 +4,8,243~7,8,243 +7,0,87~7,0,88 +1,4,278~2,4,278 +4,5,259~7,5,259 +2,4,116~2,5,116 +1,0,7~3,0,7 +7,2,237~7,3,237 +9,5,248~9,6,248 +2,2,150~3,2,150 +5,5,283~5,7,283 +0,7,7~0,8,7 +8,4,18~8,4,21 +8,0,11~8,1,11 +6,5,212~6,5,214 +8,8,216~8,9,216 +2,3,11~2,5,11 +9,6,327~9,9,327 +2,2,214~2,2,215 +4,3,332~4,5,332 +3,1,87~3,4,87 +9,3,255~9,4,255 +5,5,210~5,6,210 +3,4,153~3,6,153 +2,7,114~4,7,114 +0,6,125~2,6,125 +6,6,15~6,6,17 +2,9,228~5,9,228 +5,5,114~8,5,114 +3,2,135~3,2,135 +5,5,110~5,5,110 +8,5,138~8,8,138 +6,8,134~8,8,134 +3,2,236~6,2,236 +4,2,111~4,3,111 +6,1,139~7,1,139 +7,2,341~7,5,341 +4,1,213~4,3,213 +6,1,285~6,3,285 +6,2,242~8,2,242 +3,2,234~7,2,234 +8,0,255~8,2,255 +6,2,138~8,2,138 +3,3,300~6,3,300 +6,7,81~8,7,81 +0,0,202~0,3,202 +3,2,58~4,2,58 +1,2,24~3,2,24 +1,6,81~1,8,81 +8,0,252~8,2,252 +1,2,143~1,5,143 +5,5,8~5,6,8 +6,4,193~6,7,193 +6,2,310~9,2,310 +7,2,303~9,2,303 +1,5,217~1,8,217 +0,4,2~0,5,2 +7,0,296~9,0,296 +7,9,204~9,9,204 +2,1,124~3,1,124 +0,3,28~0,3,28 +1,0,113~1,1,113 +0,4,351~2,4,351 +2,6,73~2,9,73 +6,0,144~9,0,144 +8,6,33~8,9,33 +6,0,47~6,2,47 +8,3,148~9,3,148 +1,8,67~4,8,67 +6,2,244~6,4,244 +0,2,197~0,3,197 +7,2,159~7,5,159 +0,7,172~3,7,172 +7,0,22~7,2,22 +8,6,215~8,7,215 +6,6,319~7,6,319 +1,0,11~1,0,11 +5,9,90~7,9,90 +4,6,88~4,7,88 +5,1,35~5,2,35 +7,4,285~7,6,285 +3,4,116~5,4,116 +9,0,253~9,1,253 +1,6,100~1,8,100 +2,4,296~2,5,296 +5,7,294~7,7,294 +2,3,8~5,3,8 +4,4,56~7,4,56 +1,6,40~3,6,40 +5,5,213~5,7,213 +0,4,67~0,5,67 +2,7,255~2,9,255 +2,3,144~2,4,144 +6,7,155~9,7,155 +2,6,24~2,6,26 +3,8,133~5,8,133 +3,9,325~5,9,325 +4,1,8~8,1,8 +7,4,167~7,7,167 +5,2,40~6,2,40 +0,2,356~2,2,356 +2,7,250~5,7,250 +2,7,237~5,7,237 +1,1,17~3,1,17 +0,3,231~2,3,231 +3,8,66~6,8,66 +6,1,203~9,1,203 +9,0,214~9,1,214 +1,7,345~4,7,345 +6,5,215~6,5,216 +5,3,16~5,3,16 +6,0,303~8,0,303 +0,3,332~2,3,332 +1,0,89~4,0,89 +3,9,72~5,9,72 +7,7,164~9,7,164 +8,5,308~9,5,308 +2,4,223~5,4,223 +0,4,369~3,4,369 +8,0,125~8,2,125 +2,2,57~2,4,57 +6,1,194~6,3,194 +8,3,8~8,6,8 +3,5,61~4,5,61 +2,2,273~4,2,273 +4,8,348~6,8,348 +5,5,179~5,7,179 +4,4,323~7,4,323 +5,1,19~7,1,19 +6,4,154~6,5,154 +2,6,95~2,7,95 +7,3,11~8,3,11 +4,3,49~6,3,49 +1,4,66~1,6,66 +4,5,241~5,5,241 +6,2,95~6,5,95 +7,0,29~7,2,29 +3,2,19~3,5,19 +9,4,205~9,4,208 +7,1,25~7,3,25 +9,7,209~9,8,209 +2,7,306~4,7,306 +1,8,296~1,9,296 +4,0,209~4,0,211 +6,6,254~6,8,254 +2,4,14~2,7,14 +3,3,350~5,3,350 +4,2,94~7,2,94 +4,6,353~4,7,353 +1,6,175~1,6,176 +4,1,173~4,1,173 +6,7,344~8,7,344 +1,2,246~3,2,246 +4,1,143~5,1,143 +5,2,31~7,2,31 +1,5,144~2,5,144 +4,2,165~4,3,165 +7,0,105~7,0,108 +1,0,97~1,1,97 +2,6,242~4,6,242 +6,7,248~8,7,248 +6,3,187~6,6,187 +2,2,238~4,2,238 +3,1,270~3,5,270 +6,8,304~6,9,304 +3,1,174~5,1,174 +2,4,34~4,4,34 +1,9,192~3,9,192 +1,4,142~3,4,142 +3,1,172~3,4,172 +4,4,178~4,5,178 +6,2,37~6,4,37 +4,8,281~4,8,283 +2,8,226~3,8,226 +3,8,90~3,9,90 +3,6,196~3,7,196 +9,5,2~9,5,4 +2,3,327~5,3,327 +6,3,54~8,3,54 +4,2,71~4,5,71 +2,5,121~2,5,124 +7,9,4~7,9,6 +0,1,313~3,1,313 +5,6,323~5,9,323 +0,2,62~0,4,62 +6,0,145~6,1,145 +1,4,167~1,6,167 +2,8,99~5,8,99 +5,5,255~5,5,258 +4,3,352~4,6,352 +2,5,236~4,5,236 +0,3,195~0,5,195 +0,2,204~0,5,204 +1,6,318~1,9,318 +8,0,140~9,0,140 +5,3,104~5,5,104 +3,4,282~6,4,282 +1,0,202~1,2,202 +1,3,173~1,4,173 +8,2,128~8,3,128 +2,7,131~4,7,131 +3,8,14~3,9,14 +0,5,62~0,7,62 +3,3,163~5,3,163 +0,2,200~1,2,200 +1,5,172~1,6,172 +3,4,346~5,4,346 +6,1,271~6,3,271 +6,5,27~6,7,27 +4,8,165~4,8,167 +4,6,37~4,6,40 +7,0,6~9,0,6 +4,1,210~7,1,210 +3,1,278~3,1,278 +2,7,60~2,8,60 +7,6,230~7,6,232 +3,0,202~5,0,202 +8,5,212~8,6,212 +7,1,20~9,1,20 +7,3,260~7,6,260 +9,0,142~9,3,142 +6,6,180~6,8,180 +1,1,25~1,1,28 +4,2,239~4,2,241 +1,0,209~1,2,209 +7,2,24~8,2,24 +0,3,25~0,7,25 +1,8,139~2,8,139 +8,2,313~8,2,316 +3,5,163~5,5,163 +7,6,82~7,9,82 +5,4,194~5,5,194 +2,0,220~5,0,220 +0,7,133~0,9,133 +2,5,22~2,7,22 +0,5,317~0,6,317 +1,5,203~3,5,203 +4,9,161~6,9,161 +6,2,29~6,5,29 +4,5,201~4,7,201 +1,2,234~1,3,234 +8,7,216~9,7,216 +7,3,279~7,6,279 +3,8,301~5,8,301 +9,4,326~9,7,326 +2,5,311~5,5,311 +6,9,294~7,9,294 +6,2,68~6,4,68 +5,0,256~5,2,256 +7,3,181~9,3,181 +2,9,91~4,9,91 +5,6,115~7,6,115 +7,2,233~9,2,233 +4,8,179~7,8,179 +4,3,19~4,5,19 +1,5,3~1,5,5 +8,1,177~9,1,177 +1,7,252~1,8,252 +5,0,197~5,2,197 +0,1,21~0,3,21 +8,6,205~8,8,205 +1,1,31~1,1,33 +3,0,318~5,0,318 +3,4,151~3,6,151 +9,2,234~9,4,234 +2,0,207~4,0,207 +8,0,107~8,1,107 +5,3,103~5,5,103 +5,6,321~7,6,321 +5,3,252~5,4,252 +2,6,353~2,8,353 +4,7,186~5,7,186 +3,8,304~4,8,304 +2,0,141~2,0,145 +9,2,184~9,4,184 +8,9,172~9,9,172 +0,1,79~1,1,79 +1,5,89~3,5,89 +7,5,139~7,6,139 +4,4,106~8,4,106 +5,4,95~5,6,95 +3,6,311~5,6,311 +6,8,123~8,8,123 +2,7,118~2,9,118 +3,0,88~3,3,88 +1,3,107~4,3,107 +3,9,225~6,9,225 +2,3,200~3,3,200 +0,8,108~3,8,108 +1,0,95~1,1,95 +4,1,75~6,1,75 +1,4,244~1,4,245 +4,5,1~6,5,1 +7,8,102~8,8,102 +2,1,292~2,3,292 +7,1,88~7,3,88 +1,2,239~3,2,239 +3,6,225~3,8,225 +5,6,182~7,6,182 +2,4,350~4,4,350 +8,5,1~8,5,4 +7,4,343~7,6,343 +5,2,354~8,2,354 +6,4,326~8,4,326 +5,5,158~7,5,158 +1,5,92~1,6,92 +1,1,188~1,4,188 +8,3,108~8,4,108 +8,6,325~8,8,325 +8,9,50~9,9,50 +6,3,104~6,3,105 +3,6,156~3,6,158 +0,6,8~0,6,8 +7,2,116~9,2,116 +3,4,37~3,6,37 +0,8,3~3,8,3 +8,1,140~8,2,140 +1,1,165~1,3,165 +8,1,174~9,1,174 +5,6,119~5,7,119 +7,6,222~7,8,222 +5,2,63~5,3,63 +1,5,268~3,5,268 +7,9,337~8,9,337 +5,9,231~7,9,231 +5,4,121~6,4,121 +1,6,202~1,8,202 +2,9,94~2,9,97 +2,9,25~2,9,25 +7,3,243~7,3,244 +4,6,337~7,6,337 +3,0,150~4,0,150 +1,8,115~3,8,115 +6,4,207~7,4,207 +9,2,39~9,2,40 +0,2,247~3,2,247 +2,5,97~2,6,97 +0,9,193~1,9,193 +2,9,2~4,9,2 +6,0,310~9,0,310 +4,0,2~4,0,4 +4,7,16~6,7,16 +1,3,202~1,5,202 +3,1,166~3,2,166 +3,4,303~3,7,303 +7,6,76~7,8,76 +5,6,117~5,8,117 +9,6,341~9,8,341 +1,4,19~1,6,19 +2,8,78~3,8,78 +7,0,200~9,0,200 +2,7,302~2,8,302 +7,1,291~7,1,293 +1,2,26~1,2,27 +6,5,32~6,8,32 +5,4,236~7,4,236 +1,3,270~1,4,270 +3,1,273~5,1,273 +9,1,182~9,2,182 +1,2,105~1,4,105 +4,4,284~6,4,284 +1,1,170~1,3,170 +0,0,148~1,0,148 +3,3,329~3,3,331 +9,5,89~9,5,91 +3,6,62~3,9,62 +4,6,346~4,8,346 +3,7,5~4,7,5 +4,1,68~6,1,68 +5,4,279~5,6,279 +2,1,153~5,1,153 +0,0,27~0,2,27 +4,7,204~6,7,204 +4,0,63~6,0,63 +6,3,100~8,3,100 +6,1,98~7,1,98 +0,6,245~1,6,245 +1,3,127~1,6,127 +5,4,274~7,4,274 +2,9,333~4,9,333 +3,1,14~5,1,14 +0,6,314~0,8,314 +1,8,186~3,8,186 +2,9,71~5,9,71 +4,9,129~6,9,129 +0,4,187~0,6,187 +5,7,265~9,7,265 +4,0,208~6,0,208 +9,5,208~9,8,208 +8,0,91~8,1,91 +0,4,353~2,4,353 +5,6,71~9,6,71 +0,7,73~0,9,73 +0,6,129~2,6,129 +4,6,347~6,6,347 +1,2,114~3,2,114 +5,9,92~6,9,92 +7,6,323~9,6,323 +0,2,39~0,5,39 +6,3,268~6,6,268 +0,3,180~2,3,180 +0,4,250~0,6,250 +4,3,345~4,6,345 +1,1,90~1,3,90 +5,7,290~5,7,292 +7,3,133~7,6,133 +3,6,111~3,8,111 +3,3,307~6,3,307 +1,2,337~2,2,337 +3,0,174~5,0,174 +5,9,36~7,9,36 +6,9,165~6,9,165 +0,6,188~0,8,188 +7,5,157~7,7,157 +2,0,29~2,0,29 +5,1,335~8,1,335 +4,3,205~6,3,205 +4,0,6~5,0,6 +9,4,237~9,4,240 +5,2,230~5,5,230 +7,1,107~7,3,107 +0,5,316~0,6,316 +6,8,288~8,8,288 +6,4,113~6,7,113 +3,3,359~6,3,359 +3,7,291~3,9,291 +9,3,205~9,3,205 +4,1,130~4,3,130 +2,5,41~2,8,41 +5,5,126~8,5,126 +5,1,99~5,4,99 +0,9,142~2,9,142 +1,3,22~1,5,22 +3,9,222~6,9,222 +4,2,78~6,2,78 +0,3,359~2,3,359 +3,3,50~5,3,50 +2,3,190~2,4,190 +4,0,287~4,4,287 +1,6,15~4,6,15 +3,4,173~3,6,173 +8,6,336~8,9,336 +5,2,300~6,2,300 +6,6,316~7,6,316 +2,9,190~4,9,190 +1,5,247~1,7,247 +1,3,117~1,6,117 +4,6,330~7,6,330 +5,1,67~5,3,67 +0,9,69~2,9,69 +6,3,12~6,6,12 +7,5,140~7,7,140 +6,9,32~6,9,34 +3,4,2~3,4,2 +8,0,244~8,2,244 +0,1,292~0,4,292 +3,5,358~3,6,358 +0,5,297~2,5,297 +6,9,171~7,9,171 +5,2,332~5,5,332 +2,9,197~3,9,197 +3,6,174~6,6,174 +8,1,276~8,1,278 +7,7,168~7,7,168 +3,1,175~5,1,175 +9,5,34~9,6,34 +5,1,49~6,1,49 +6,0,111~8,0,111 +3,8,296~5,8,296 +6,5,251~6,7,251 +5,0,175~7,0,175 +1,1,8~2,1,8 +2,4,233~2,6,233 +1,4,306~4,4,306 +2,4,111~2,6,111 +8,3,140~8,5,140 +4,2,114~4,2,116 +6,4,47~7,4,47 +4,0,106~4,2,106 +7,9,213~8,9,213 +0,4,104~4,4,104 +5,5,96~5,6,96 +1,3,74~4,3,74 +7,5,131~7,7,131 +0,1,184~0,3,184 +3,9,350~5,9,350 +1,4,43~1,7,43 +6,9,30~7,9,30 +5,0,292~8,0,292 +9,6,77~9,8,77 +1,6,79~1,9,79 +2,2,306~5,2,306 +7,7,292~7,9,292 +4,9,5~6,9,5 +5,4,1~6,4,1 +2,9,352~3,9,352 +7,1,208~9,1,208 +1,7,78~2,7,78 +0,6,3~1,6,3 +6,2,21~6,4,21 +1,0,263~3,0,263 +0,0,6~0,1,6 +7,0,83~7,3,83 +0,0,11~0,0,13 +0,5,140~0,9,140 +6,6,13~7,6,13 +7,2,13~9,2,13 +4,0,140~4,3,140 +0,1,78~3,1,78 +5,2,254~5,5,254 +8,5,252~8,8,252 +4,0,72~4,3,72 +2,7,99~3,7,99 +0,4,294~0,6,294 +9,7,49~9,9,49 +0,9,191~4,9,191 +0,1,299~2,1,299 +1,3,307~1,6,307 +5,5,132~7,5,132 +8,1,2~8,3,2 +4,2,200~4,4,200 +5,2,260~5,4,260 +6,1,246~8,1,246 +4,1,348~4,3,348 +9,7,269~9,9,269 +1,8,142~3,8,142 +5,1,34~5,3,34 +8,0,307~8,2,307 +6,2,238~8,2,238 +6,9,2~8,9,2 +1,7,291~1,7,292 +0,6,132~0,7,132 +2,2,199~2,5,199 +9,0,24~9,0,27 +1,9,322~1,9,325 +8,4,83~8,5,83 +8,3,5~9,3,5 +7,1,184~7,4,184 +5,6,183~5,9,183 +2,2,18~4,2,18 +3,4,221~4,4,221 +7,2,118~7,4,118 +5,1,274~8,1,274 +9,7,267~9,9,267 +1,3,330~2,3,330 +3,3,110~5,3,110 +1,5,249~1,8,249 +1,4,61~1,7,61 +6,3,262~8,3,262 +2,4,114~5,4,114 +4,8,221~7,8,221 +4,1,138~4,3,138 +3,8,242~6,8,242 +1,2,8~4,2,8 +3,2,66~6,2,66 +4,7,333~4,8,333 +6,2,41~6,2,43 +3,2,109~5,2,109 +0,5,98~2,5,98 +0,6,64~0,8,64 +4,4,32~4,6,32 +2,5,295~2,7,295 +2,7,320~3,7,320 +0,0,42~0,1,42 +8,7,184~8,9,184 +8,3,199~9,3,199 +3,6,122~3,6,123 +4,3,18~6,3,18 +0,4,192~2,4,192 +7,8,97~7,8,97 +4,4,212~6,4,212 +5,3,224~5,4,224 +2,4,293~2,6,293 +3,6,294~3,8,294 +8,6,172~9,6,172 +4,7,327~4,8,327 +5,0,112~5,2,112 +0,0,45~1,0,45 +3,3,95~3,6,95 +7,2,96~7,4,96 +7,0,203~9,0,203 +7,0,240~7,3,240 +4,8,132~4,9,132 +7,7,31~9,7,31 +6,5,25~6,7,25 +5,0,93~5,2,93 +5,8,32~5,8,33 +3,4,145~3,6,145 +3,3,255~5,3,255 +0,5,120~3,5,120 +0,0,5~2,0,5 +6,2,301~9,2,301 +2,9,242~5,9,242 +5,3,77~6,3,77 +9,5,94~9,5,96 +6,0,300~8,0,300 +0,4,214~0,6,214 +5,7,151~8,7,151 +1,5,145~1,5,147 +2,4,342~2,6,342 +2,3,100~2,6,100 +0,2,122~2,2,122 +5,7,341~7,7,341 +5,4,101~7,4,101 +7,4,214~7,6,214 +8,2,207~8,3,207 +3,4,90~3,4,92 +1,8,324~4,8,324 +8,8,172~9,8,172 +3,0,317~3,2,317 +6,7,148~8,7,148 +6,3,120~6,4,120 +3,0,68~3,2,68 +1,4,20~1,5,20 +3,3,149~3,5,149 +0,3,269~2,3,269 +8,5,334~8,8,334 +1,1,18~3,1,18 +5,4,329~8,4,329 +2,4,2~2,4,2 +2,0,199~5,0,199 +6,0,177~6,1,177 +2,7,130~2,9,130 +4,3,169~5,3,169 +2,3,298~2,5,298 +6,6,22~6,9,22 +7,4,94~7,6,94 +5,8,97~6,8,97 +3,4,349~5,4,349 +2,0,209~2,3,209 +1,7,98~3,7,98 +4,0,197~4,3,197 +5,4,247~5,7,247 +2,1,338~2,2,338 +0,4,107~0,5,107 +0,8,219~1,8,219 +9,2,248~9,4,248 +5,9,255~7,9,255 +0,0,162~0,2,162 +4,4,195~5,4,195 +3,4,162~5,4,162 +1,6,169~1,7,169 +5,1,138~8,1,138 +0,6,122~2,6,122 +6,6,303~8,6,303 +2,1,95~3,1,95 +0,7,204~2,7,204 +1,5,325~1,8,325 +5,1,287~7,1,287 +7,1,26~8,1,26 +1,3,175~3,3,175 +1,1,19~1,3,19 +0,2,290~2,2,290 +5,3,301~5,4,301 +3,6,297~3,6,299 +1,1,173~3,1,173 +4,8,1~5,8,1 +1,4,232~1,7,232 +5,7,78~7,7,78 +7,1,97~7,3,97 +0,0,152~3,0,152 +2,7,54~5,7,54 +7,5,321~8,5,321 +3,8,65~6,8,65 +5,0,321~9,0,321 +4,3,326~4,5,326 +6,6,140~6,8,140 +6,7,263~6,8,263 +8,4,72~8,7,72 +1,3,169~3,3,169 +7,5,55~7,8,55 +9,2,118~9,2,120 +5,9,185~5,9,188 +0,1,323~2,1,323 +4,1,305~5,1,305 +5,1,1~5,1,3 +0,2,306~0,5,306 +4,0,104~4,3,104 +6,8,296~8,8,296 +2,1,29~3,1,29 +7,5,129~7,8,129 +7,0,32~7,0,34 +7,6,161~7,9,161 +5,2,156~7,2,156 +9,3,1~9,4,1 +1,0,321~1,2,321 +7,3,91~7,5,91 +1,3,164~1,6,164 +1,1,121~1,3,121 +3,1,137~3,3,137 +3,5,176~5,5,176 +0,3,130~2,3,130 +0,1,125~0,3,125 +3,4,118~3,5,118 +6,1,1~8,1,1 +5,5,84~7,5,84 +6,5,351~6,8,351 +3,4,218~3,7,218 +7,5,232~9,5,232 +0,6,133~2,6,133 +7,5,348~8,5,348 +3,7,239~3,9,239 +3,2,22~6,2,22 +5,2,304~5,4,304 +6,9,186~8,9,186 +0,2,294~2,2,294 +6,2,103~6,5,103 +5,7,73~7,7,73 +5,1,16~6,1,16 +2,1,316~5,1,316 +6,6,70~6,8,70 +0,2,126~0,2,129 +2,3,234~2,3,236 +1,3,230~1,4,230 +5,5,178~5,8,178 +3,1,136~5,1,136 +6,5,335~8,5,335