changeset 34:049fb8e56025

Add problem statements and inputs
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Tue, 09 Jan 2018 21:51:44 -0500
parents bc652fa0a645
children 1d99d733cf13
files 2017/day01/input 2017/day01/problem 2017/day02/input 2017/day02/problem 2017/day03/input 2017/day03/problem 2017/day04/input 2017/day04/problem 2017/day05/input 2017/day06/input 2017/day06/problem 2017/day07/input 2017/day07/problem 2017/day08/input 2017/day08/problem 2017/day09/input 2017/day09/problem 2017/day10/input 2017/day10/problem 2017/day11/input 2017/day11/problem 2017/day12/input 2017/day12/problem 2017/day13/input 2017/day13/problem 2017/day14/input 2017/day14/problem 2017/day15/input 2017/day15/problem 2017/day16/input 2017/day16/problem 2017/day17/input 2017/day17/problem 2017/day18/input 2017/day18/problem 2017/day19/input 2017/day19/problem 2017/day20/input 2017/day20/problem 2017/day21/input 2017/day21/problem 2017/day22/input 2017/day22/problem 2017/day23/input 2017/day23/problem 2017/day24/input 2017/day24/problem 2017/day25/input 2017/day25/problem
diffstat 49 files changed, 10182 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/2017/day01/input
@@ -0,0 +1,1 @@
+823936645345581272695677318513459491834641129844393742672553544439126314399846773234845535593355348931499496184839582118817689171948635864427852215325421433717458975771369522138766248225963242168658975326354785415252974294317138511141826226866364555761117178764543435899886711426319675443679829181257496966219435831621565519667989898725836639626681645821714861443141893427672384716732765884844772433374798185955741311116365899659833634237938878181367317218635539667357364295754744829595842962773524584225427969467467611641591834876769829719248136613147351298534885563144114336211961674392912181735773851634298227454157885241769156811787611897349965331474217223461176896643242975397227859696554492996937235423272549348349528559432214521551656971136859972232854126262349381254424597348874447736545722261957871275935756764184378994167427983811716675476257858556464755677478725146588747147857375293675711575747132471727933773512571368467386151966568598964631331428869762151853634362356935751298121849281442128796517663482391226174256395515166361514442624944181255952124524815268864131969151433888721213595267927325759562132732586252438456569556992685896517565257787464673718221817783929691626876446423134331749327322367571432532857235214364221471769481667118117729326429556357572421333798517168997863151927281418238491791975399357393494751913155219862399959646993428921878798119215675548847845477994836744929918954159722827194721564121532315459611433157384994543332773796862165243183378464731546787498174844781781139571984272235872866886275879944921329959736315296733981313643956576956851762149275521949177991988236529475373595217665112434727744235789852852765675189342753695377219374791548554786671473733124951946779531847479755363363288448281622183736545494372344785112312749694167483996738384351293899149136857728545977442763489799693492319549773328626918874718387697878235744154491677922317518952687439655962477734559232755624943644966227973617788182213621899579391324399386146423427262874437992579573858589183571854577861459758534348533553925167947139351819511798829977371215856637215221838924612644785498936263849489519896548811254628976642391428413984281758771868781714266261781359762798
new file mode 100644
--- /dev/null
+++ b/2017/day01/problem
@@ -0,0 +1,83 @@
+--- Day 1: Inverse Captcha ---
+
+The night before Christmas, one of Santa's Elves calls you in a panic.
+"The printer's broken! We can't print the Naughty or Nice List!" By
+the time you make it to sub-basement 17, there are only a few minutes
+until midnight. "We have a big problem," she says; "there must be
+almost fifty bugs in this system, but nothing else can print The List.
+Stand in this square, quick! There's no time to explain; if you can
+convince them to pay you in stars, you'll be able to--" She pulls a
+lever and the world goes blurry.
+
+When your eyes can focus again, everything seems a lot more pixelated
+than before. She must have sent you inside the computer! You check the
+system clock: 25 milliseconds until midnight. With that much time, you
+should be able to collect all fifty stars by December 25th.
+
+Collect stars by solving puzzles. Two puzzles will be made available
+on each day millisecond in the advent calendar; the second puzzle is
+unlocked when you complete the first. Each puzzle grants one star.
+Good luck!
+
+You're standing in a room with "digitization quarantine" written in
+LEDs along one wall. The only door is locked, but it includes a small
+interface. "Restricted Area - Strictly No Digitized Users Allowed."
+
+It goes on to explain that you may only leave by solving a captcha to
+prove you're not a human. Apparently, you only get one millisecond to
+solve the captcha: too fast for a normal human, but it feels like
+hours to you.
+
+The captcha requires you to review a sequence of digits (your puzzle
+input) and find the sum of all digits that match the next digit in the
+list. The list is circular, so the digit after the last digit is the
+first digit in the list.
+
+For example:
+
+    1122 produces a sum of 3 (1 + 2) because the first digit (1)
+    matches the second digit and the third digit (2) matches the
+    fourth digit.
+
+    1111 produces 4 because each digit (all 1) matches the next.
+
+    1234 produces 0 because no digit matches the next.
+
+    91212129 produces 9 because the only digit that matches the next
+    one is the last digit, 9.
+
+What is the solution to your captcha?
+
+Your puzzle answer was 1144.
+
+--- Part Two ---
+
+You notice a progress bar that jumps to 50% completion. Apparently,
+the door isn't yet satisfied, but it did emit a star as encouragement.
+The instructions change:
+
+Now, instead of considering the next digit, it wants you to consider
+the digit halfway around the circular list. That is, if your list
+contains 10 items, only include a digit in your sum if the digit 10/2
+= 5 steps forward matches it. Fortunately, your list has an even
+number of elements.
+
+For example:
+
+    1212 produces 6: the list contains 4 items, and all four digits
+    match the digit 2 items ahead.
+
+    1221 produces 0, because every comparison is between a 1 and a 2.
+
+    123425 produces 4, because both 2s match each other, but no other
+    digit has a match.
+
+    123123 produces 12.
+
+    12131415 produces 4.
+
+What is the solution to your new captcha?
+
+Your puzzle answer was 1194.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day02/input
@@ -0,0 +1,16 @@
+515	912	619	2043	96	93	2242	1385	2110	860	2255	621	1480	118	1230	99
+161	6142	142	1742	237	6969	211	4314	5410	4413	3216	6330	261	3929	5552	109
+1956	4470	3577	619	105	3996	128	1666	720	4052	108	132	2652	306	1892	1869
+2163	99	2257	895	112	1771	1366	1631	2064	2146	103	865	123	1907	2362	876
+1955	3260	1539	764	185	5493	5365	5483	4973	175	207	1538	4824	205	1784	2503
+181	3328	2274	3798	1289	2772	4037	851	1722	3792	175	603	725	158	2937	174
+405	247	2083	956	725	258	2044	206	2054	561	2223	2003	2500	355	306	2248
+837	937	225	1115	446	451	160	1219	56	61	62	922	58	1228	1217	1302
+1371	1062	2267	111	135	2113	1503	2130	1995	2191	129	2494	2220	739	138	1907
+3892	148	2944	371	135	1525	3201	3506	3930	3207	115	3700	2791	597	3314	132
+259	162	186	281	210	180	184	93	135	208	88	178	96	25	103	161
+1080	247	1036	936	108	971	908	1035	123	974	103	1064	129	1189	1089	938
+148	1874	122	702	922	2271	123	111	454	1872	2142	2378	126	813	1865	1506
+842	267	230	1665	2274	236	262	1714	3281	4804	4404	3833	661	4248	3893	1105
+1112	1260	809	72	1104	156	104	1253	793	462	608	84	99	1174	449	929
+707	668	1778	1687	2073	1892	62	1139	908	78	1885	800	945	712	57	65
new file mode 100644
--- /dev/null
+++ b/2017/day02/problem
@@ -0,0 +1,62 @@
+--- Day 2: Corruption Checksum ---
+
+As you walk through the door, a glowing humanoid shape yells in your direction. "You there! Your state appears to be idle. Come help us repair the corruption in this spreadsheet - if we take another millisecond, we'll have to display an hourglass cursor!"
+
+The spreadsheet consists of rows of apparently-random numbers. To make sure the recovery process is on the right track, they need you to calculate the spreadsheet's checksum. For each row, determine the difference between the largest value and the smallest value; the checksum is the sum of all of these differences.
+
+For example, given the following spreadsheet:
+
+5 1 9 5
+7 5 3
+2 4 6 8
+
+    The first row's largest and smallest values are 9 and 1, and their
+    difference is 8.
+
+    The second row's largest and smallest values are 7 and 3, and
+    their difference is 4.
+
+    The third row's difference is 6.
+
+In this example, the spreadsheet's checksum would be 8 + 4 + 6 = 18.
+
+What is the checksum for the spreadsheet in your puzzle input?
+
+Your puzzle answer was 45972.
+--- Part Two ---
+
+"Great work; looks like we're on the right track after all. Here's a
+star for your effort." However, the program seems a little worried.
+Can programs be worried?
+
+"Based on what we're seeing, it looks like all the User wanted is some
+information about the evenly divisible values in the spreadsheet.
+Unfortunately, none of us are equipped for that kind of calculation -
+most of us specialize in bitwise operations."
+
+It sounds like the goal is to find the only two numbers in each row
+where one evenly divides the other - that is, where the result of the
+division operation is a whole number. They would like you to find
+those numbers on each line, divide them, and add up each line's
+result.
+
+For example, given the following spreadsheet:
+
+5 9 2 8
+9 4 7 3
+3 8 6 5
+
+    In the first row, the only two numbers that evenly divide are 8
+    and 2; the result of this division is 4.
+
+    In the second row, the two numbers are 9 and 3; the result is 3.
+
+    In the third row, the result is 2.
+
+In this example, the sum of the results would be 4 + 3 + 2 = 9.
+
+What is the sum of each row's result in your puzzle input?
+
+Your puzzle answer was 326.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day03/input
@@ -0,0 +1,1 @@
+368078
new file mode 100644
--- /dev/null
+++ b/2017/day03/problem
@@ -0,0 +1,74 @@
+--- Day 3: Spiral Memory ---
+
+You come across an experimental new kind of memory stored on an
+infinite two-dimensional grid.
+
+Each square on the grid is allocated in a spiral pattern starting at a
+location marked 1 and then counting up while spiraling outward. For
+example, the first few squares are allocated like this:
+
+17  16  15  14  13
+18   5   4   3  12
+19   6   1   2  11
+20   7   8   9  10
+21  22  23---> ...
+
+While this is very space-efficient (no squares are skipped), requested
+data must be carried back to square 1 (the location of the only access
+port for this memory system) by programs that can only move up, down,
+left, or right. They always take the shortest path: the Manhattan
+Distance between the location of the data and square 1.
+
+For example:
+
+    Data from square 1 is carried 0 steps, since it's at the access port.
+
+    Data from square 12 is carried 3 steps, such as: down, left, left.
+
+    Data from square 23 is carried only 2 steps: up twice.
+
+    Data from square 1024 must be carried 31 steps.
+
+How many steps are required to carry the data from the square
+identified in your puzzle input all the way to the access port?
+
+Your puzzle answer was 371.
+
+--- Part Two ---
+
+As a stress test on the system, the programs here clear the grid and
+then store the value 1 in square 1. Then, in the same allocation order
+as shown above, they store the sum of the values in all adjacent
+squares, including diagonals.
+
+So, the first few squares' values are chosen as follows:
+
+    Square 1 starts with the value 1.
+
+    Square 2 has only one adjacent filled square (with value 1), so it
+    also stores 1.
+
+    Square 3 has both of the above squares as neighbors and stores the
+    sum of their values, 2.
+
+    Square 4 has all three of the aforementioned squares as neighbors
+    and stores the sum of their values, 4.
+
+    Square 5 only has the first and fourth squares as neighbors, so it
+    gets the value 5.
+
+
+Once a square is written, its value does not change. Therefore, the
+first few squares would receive the following values:
+
+147  142  133  122   59
+304    5    4    2   57
+330   10    1    1   54
+351   11   23   25   26
+362  747  806--->   ...
+
+What is the first value written that is larger than your puzzle input?
+
+Your puzzle answer was 369601.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day04/input
@@ -0,0 +1,512 @@
+vxjtwn vjnxtw sxibvv mmws wjvtxn icawnd rprh
+fhaa qwy vqbq gsswej lxr yzl wakcige mwjrl
+bhnlow huqa gtbjc gvj wrkyr jgvmhj bgs umo ikbpdto
+drczdf bglmf gsx flcf ojpj kzrwrho owbkl dgrnv bggjevc
+ndncqdl lncaugj mfa lncaugj skt pkssyen rsb npjzf
+kdd itdyhe pvljizn cgi
+jgy pyhuq eecb phwkyl oeftyu pyhuq hecxgti tpadffm jgy
+zvc qdk mlmyj kybbh lgbb fvfzcer frmaxa yzgw podt dbycoii afj
+zfr msn mns leqem frz
+golnm ltizhd dvwv xrizqhd omegnez nan yqajse lgef
+gbej rvek aehiz bgje
+yej cphl jtp swe axhljo ddwk obwsq mnewiwu klddd
+ipiev henods rpn qfpg gjfdgs zcpt sswab eosdhn teeil
+gzje ydu oiu jzge udy sqjeoo olxej
+mgn gox tcifta vzc lxry gox gox mvila qdl jipjnw dvu
+hxk xhk unhdmdz yomze povrt nbww bxu qqsqc rvuk tgffy twddm
+fyx fyx nzkm fyx
+ymnoc zogudq yncom tqrob sidvy dfuu ccjpiej yidvs
+bxebny akknwxw jeyxqvj syl cedps akknwxw akknwxw zpvnf kuoon pnkejn wqjgc
+kcebrkj zmuf ueewxhi mgyepbr nleviqc dez
+argavx fqguii gebohvw klnrq rkqnl goevhbw
+ywqi abwi eswph nlplbl pswhe lnqx fpgk lllnpb
+abpb mpkw ampey yapme xnuyj
+tmuaq asd bhbs sqmbsnw wsbnqsm ydwdncn rpa vrllkh
+dnltf cck djy ydj
+wywwl scezo clowuz dkgqaj dohyzcp
+diimshr vlmsnlj whqb dkicau ckdaiu terp kgcii npqc vvzrqzv nol
+wfpxe sqf tbb ruqpcq zfgb
+kajykuz tsxgtys vuz kglmgg ihnnn plyjxj rcrvo mij plyjxj jqiur
+pxs hmet dwgvd mvhkvn cjxg yvid vmhnkv kwxz rfemsua wdgvd okixk
+lzwxas ddtyeh ivyama crrhxdt hedytd jfw
+vjfv oyd fvjv kfwlj mradbx mckseee xradmb
+llga yytxyvj lstspek lstspek lstspek
+fabgf wgop fabgf bvsfoaw
+grqnbvo tntomdw hizg tmotdwn
+mau ufkw cxfi rhehj ebe xyv rhehj acxngo arl qtl rhehj
+kbkto stqjtm tpcwshj saerkrt pffj dthp pfjf axc gwmmfdw glnqtdy xmskw
+veff zqm hzhxap lgwnwq twsdk mqz xbbarbv cdx fhnwt qjcji bbvbrxa
+fjw eds hofskl nkbsv des hvx xyn
+qzort qzort qesz rtq oonk vwzlw wapoj ifr cta
+pja hvy nhjg paj smtfe fmtse
+xvi tcjj xvkjtab nqftt aumijl xkd cmilegf hvsmodx uuo igmcelf mslkq
+mdhezgv lelzy kzfvsqu hvmvaxw pxiqjc hvmvaxw kzfvsqu
+hsicsav csshrhx znojm eapi lhmzq bbwnz seao gfk azk
+pup xtgjyzy wqt ijeektl
+ktwh qdegzs btj pfwzzho
+xdkmdm izqtjrr iqbke vtp
+fmrbpdr zpccv tmtwx tmtwx tmtwx bys
+ehphfgq idd ehphfgq ehphfgq uphe hvrc jcscne nbnslqy
+xzqucgj fcih fljk barz lvln hcfi azrb
+cmfmclv mfgvifw rnxgn jpg bsnq wnduzj ymsdx smdxy pqomf
+rlqsm qrsml emts qsmcowv scmvwqo
+tshzkpa zwtpda ftsiwo nil tpawdz kjpa ptzashk
+mnep sfc swjawtd vnwud gyulluw zpa kmwyvln evd btnmoi dnwe
+jwq scepq redoxmw rbdzsa wlkzso kxpm bttg vxuc moxwdre ijtdd rzsabd
+wpvo dsjox amuwjm pls lgwksva ctakgpl rmsjj lzwwpr zzm udg
+bji obbn tmwyc afpmkxr glvrd kahhgpq rna qkxyntp vmd mloshc
+ymq rtnr nxjzm pqiddrn qmy vgxw ull
+mmzk ikge zhtzhs xyo qwe lll gjjm icetq qgrr mzwqa knec
+kxomfck idlh xrbowo nyetbnl qskh xuwkkxe upmmmf zhvuyp
+srcwyhl czgr xmhuws jueyh xcuib xhsuwm bxuic
+crkueh beyxopz xpyozbe dxgadw qktmce rjropjg
+lbktun imdpcp fkssp fhcpt fehho jqdnt aoewa
+jmun pynzjo trs ijwcc pelf oft pcsqdxg zvql
+mneaaq vjrg jidlrzz phd mvxpivd ldkhu
+sao xqw nrukn gatkz quscpsx vmz oscoeb
+goi wzxhb rrk aylqqcd mlcbvvf ororn heptid kdu byevr
+qsj lsbieef deez vzwdx hez iwd
+lmgfb keqt mqbsuis ogrr errbi xiqe xsszacp
+ato hmk zfjaj kmh plxup cida dqd pfwh nkbxvpr buajw pxkrvnb
+cli bdwu vrwott vowtrt grle
+zisgks ciuaqr zvk tcb kvz ugmtv
+oegrojm wofpwp gnaocx rweyull ellhwow dtefylf dqsz oiw varr bcirpf oxusz
+oydkmib oydkmib yefts gbl gbl
+sruwjk pgkrp kea gppkr zdcky cfljh
+obpxbax jhpcrj slcsa lgd fborz vvpaus wsrpsws ifijuzo
+rixz jwh uhdaf hoacv hdfua
+kntk qprmfow kntk tbmcjx
+vnqe ooyxtb ixl hdmnpn orpz ykspl xromvj kowtq wmho gquos
+ynk xjjqw sut lmtub bmtlu zdo dztlk bpkuul smhpx rbczg
+zals csdbe sbj dibicq kdfwwt
+coyy pjddlfc lwvhyms ldjdcfp ryubz kfwst dqjrjja jtv jjjaqrd
+jaexhms iqoiln ewgyr exmnrr fsr lgmyy fdofhn
+pjgyn hfoz zbcnz nczbz
+ovntivq vcey vdrkse giu ohyaxy ionyy fvpn yvwrgrv qta
+yelpz htbk njgeyub tggh mdthzp fwyux rduqli twlhfp pnh gywif ttn
+yxhsbil vplsmmx rgtq grsf lyibxhs hctnkfr awg lmloz jroy lpgb wga
+kzytass szyksat tyskasz ehmhhu
+jkus hwjv ymnnkk yffugg cvtnits gbl lywkn szihcn dbrbalf rxqpbqh
+koyfcef wkom mwok qgjrytl
+slmhry lcr slmhry lcr
+mvoxbt cfkz purnsui xar ouhtc thbx
+xcdifw kvvxyrj knac qmypw bou tmukqy eusgaoo bktiu
+ablgnhb axumg bwpxnjp zqpc vtw ghhoxu zqpc znfpvl ghhoxu jlg ntdk
+vmvc cdkhrx cvz rvxk mmcuo udpcayd lsmm gufduzt linj
+mgyeqkv hqionh rgnqgz kkc qrgnzg egkmqyv topdp
+koa dimwx gjxa atlfdy
+uuez ueuz zeuu ezo daq
+ofpaw bgomvmt mqa dexpy mbipd epyzcoa nuwrh vwly xppz qkjrleo rwhnu
+wok grxk lchvtg plrzr lwaax cfeu ijapws dmkdwc cfeu
+zkd hysxxip hlydw wicsvy gbwoaw dapre ktjn dzg uri
+blzh hblz qgmjceg fyf
+vkhpn xnc ogva pjrh cxn hkpnv
+aja cldzta tdcazl lorr fwmxxh knilf ges tdhp gnlo vihrl
+ucpr peair nlbmc msfg
+trv ppq bmo xqd vbui yegsr xqxawu fvuz aclhspo wnan
+loiq fvg kare rmgq hir rzo ossd ziw renh ygtkjys vda
+xmans kio alexs ujekfl vvf ddghn
+fcxvsf bjuytet zrzsobo uhn mlfzhlq bjefs
+zys htlqvky plno pbcqfuf fjwc vshkxrl lonp lyzmy dqmui vyyc glad
+tlc krhcter krhcter bolk tlc opryl
+idcii dverl uswb wusb zgax zhbt gjsnlso yhs
+cti npri rcbxjdw ollj nirp ghfvxzh
+blyhug aflnrrz zudyw ccnstq cyoju jxtqoj ntuknjq gunjiwy ycuoj igac cqctns
+bul yehpnw jifjrhc ifetu ufrodp hqzpeqf hdvpc qtvgxg ibb wcxsitx xztshb
+xzct scetn eoaufyo jtudgkx xrpgxip lpubtq juezstc nuc hokswh obkf ipbu
+nfq lwpmn qltal xnphsqs zlrgf iewtrtd mqzsob duokpy kfbqs icg
+vil zjz xkqrvni uay ystq
+terrrnt lnfg clm lbs ptpiy ybcuup ayzjm pqugx lmc yppit mbf
+dtajh vqivg vnblt fmn qxkw stiwna pclrrr fro khu wbslnqp tjyosu
+uqlehn tjuiy obt uedct bbwiq uxndqn
+hiqfovy xiimca zwne ivunvjk cmctzi mxnnrx dclib xzaoq ieztkg
+shpr xuorihj chuwq poadbo mhtvex gymsp iltgl sypjfua fmyh sgiv
+alv nxjt txnj bhact
+vjvtrex obmrxk fgigs meixbc fggsi awi rxdjpeg
+ypwo oicmbdw xbpeeyj uabzj cjvutvc oicmbdw immtmks
+exijri hogl epr gzdqyur xiiejr pre ihzlgzu
+rlh qfhx lrh qmvrx
+kogq okhd mivmivb mivmivb okhd
+taekt nhjaa znbaahn iaospxy jawwf
+ytdvq ghtqwud jkiig mre kzmmjxu jba nwpykc
+ktyzr aczd exgadhb uinrgac izazxky yyfe
+yrifb qgc lsiuapg teyelxn ugezu
+wdzkc ltx fkhncb hwrecp kfbchn sfcpc hjvq
+rjdjyt ahwxh nvggsmx lmz oshd xbcik powse ahhxw yhiq gxmgsnv
+qdr qjnam gag qjamn kooek mqnaj
+pza gml opf ilfbblu kjp luilbfb rhfrzgp ixagj ofp
+yphz runy dhull bozcsgk wfxekrd akgkbz urcphc
+tfyxwol lhcl npik beug
+szatel yfkve yfkve lzqhs
+yjzqon pcjibu bdncmcl kczuymm pbmg nyn
+rerqvs aoxucwi pmstl sstawu joqu abvcchg mvgjn mslpt vhmfkr utusuh
+gqbec jjpqdh yeaiavi nledfi jhzwc vyxjpf momnm vnknjs nvgjzik ipm
+psirt rispt lrkgma irtsp
+jbbaph xvunete gsvnr mjd ifxhpry cpsx hmuokkx vhcm yth shrrl zbhd
+gfa bcmlxtf sqyanrp cugg qxfvftz pbl ujsgc jajxltm gugc oil
+xjuhyg aht vmyvzhh oby oyb ybo xbybgmx
+atfk qjudfzz mky tfy
+nxk yzy jqgg qxgjt bevvvv efi xcbw bohc zaqlqjq
+hdc qpnx ygmtqw acvoa udboxw dhc klh mwgpk xfpuri
+cycgbkq skwhyf skwhyf veaqss skwhyf
+jnezf jowjt vsdu uck scgxd fvopomz vfajslp
+djvi epgkyqn apzd cpm owm kpwih fsr adlhqu jicp pmc
+erxlmhj wqxvofi ugj ttrmtsb
+omku vmrgoy tdicbje ewml dfnwbap
+gpih pyt ptsmzc gmdbu rqxkqmz objm nurxjz oozbere ztxug koth
+jpnl jpnl dmeh qed
+intdwv ksgw qwlzhq zpd lrl mwjl dozrjwq aujbet bsnf vhqyg
+eqs uot qyz xor aem kmrh mrhk jqx tsbrf
+irytjab mdzm qbb kkjt gofiwo xgbovg kyeyxqn tcks tljhx
+zgejy qodgah nqavvx xnigdvt
+eqve bizrxq lkhz yzwxgt nwe zfe sxypkz xnssept
+bxqn lkfg yfxbszo sphwifz wnj crhbq dvokzw
+vzn afatwye ogzvnu vnz rfjba xtugnj kpbgly ocsjd
+xrc cxr rahv yvhk khyv bed ctgbuq cmqwpqa jlbg hpj vmesvw
+jbshkya dgqw lfl mzcch jxsg czcmh ifruvlw ufwrlvi xcczlol cqqchmr
+rbk mhn tnmqdc sxnnn kvoa mhn sxnnn mgemob ieiyajs
+cqi ghxg ghxg ghxg
+uqwdxn qli gdtkngp gnptdgk udxqwn
+dmcczr dnjaqc qwdta rhrbi hkdwe qdjcan peic iulaz xns
+tcmppb nzq ecy sitdud nft ecy afrbf wvnc vmfpzx tcmppb cgb
+plitv efnpq mjqav nrxxo izg lpitv rwbzdo rdbzwo
+day dntga adtng agndt hhvtd
+yrg iudsh gyr ryg
+qttyeew tco flq bszw jkzftc wdh efcwnp mja rfmju
+moch prkze uslzyv plhjuy kxczyq qlmm hgq
+xtg ypz izy ixg bvs xlqgj xcy sepza abiylsg
+wxvsxn bqag jnlzgxq ikxwa dfd plqxl xlgqnjz nuqvoyb emhodso gaqb
+bzjdsm xmxkj fhuqn gauyw ntl kjxmx zcxdr vrds
+ofjcc uxyzlk ofjcc ofjcc
+zwosex kkvwobl cpudsmb kes zklf bayuojr otqnyr udbbs
+iqpvzh ybds piovrh oivprh voprih pov sfl
+upns cpeelht xboyk itb hsxdmt dnwgfbw upns fygf kwdpxzm mli dyy
+djwutl sikh shki ikhs gecd jqkon trqyw
+prbbdf vdp bvvfjcg ydqb muxygg
+vhpurzn psemqe xwqfk hrvonxu nxkxacq
+xicmhss tnpja qiad woipfy uvadcq usljh hzgs jntvfv wzikk
+mmupc twntp upcmm pumcm
+qnisuzy lppnfd uiqr eyqbain uxlp eyrfwjo olgkrps sbikam zin vckr
+nmokl skfni jcdfot njzqeaj nqzjjea
+slmaxx offfzqp wudicrf nfn rwfcdui cwirufd
+paffi murnjd oyj lbtjdqe babuas dtqh qkt stapzl yrqlp
+eedc rig zmnfmn edec ecde
+bcfdf edovdj lacx nzvze sordvxj ybs ujh zvvvp rzstejg ueosuq
+xrrfsd okuvem znzlvmb jwzcb bfg bmuxbc qzwfry
+pqgxybd cvgra acgn ocd ancg fvfcx fbb bfb zfzv
+tmmv mpywyg fwl bnvcv lcnv flw
+xxnfbro papc ianru beuzx apcp rnt
+wuyhycj nrnc cka ebg rncn rvo wcyhjuy
+thh cmoog hwf imqfp okzpxd
+rzxiqt rtaiy ytria tyria
+cjkmro myif myif xyirn aqxlol wlhwibi dhzsen pzwgm bfbz bufjs qwffg
+mxhiui umiihx zomyll vfieccs
+yyntf rjk iivgj mwh rjk
+dsshx wsmaxhc xcwuelh rdsgtr wsmaxhc rgtsfj
+rdh nwlxiwu xsjzbpr bsgps
+ufyo vqtzkg kpeohu mxzt fyuo gawgaq youf
+hzbhut bxsnjwb zuhhbt zhhtbu
+pdz sgntypg ragev hrrji goitft yphnebs xjzoo sqf jsuzijq dsocb hcxg
+pptsq woomypc woomypc woomypc
+axcg wfbnpql ejqb cmnn nncm csvlc wraludb pkmp whtht tfpicer
+moom oomm ommo vfqeii
+xvrgpp rofl yxyrkb oage nypzau pwfnkn jxnhkw cyxsi clzb adwpuh
+mfbz vdtt muzhm wvwwfl ttdv
+cpqgvbu byc pgfrlkr aftl tqm zcqxi juu gnf ppovxh huoa
+konpcp lzordid jqng lwxs nqgj gghkxmf kyn ngqj
+iorhccj xfygc cnfr tysqc xpcyf vmjpitf nut zmrk mgbrtb tcblxwf dkadwrm
+kov jtmp xoatesx qxkilp rmggpfx ltpxzwf vko reqms mqq nps
+hjigmk fyqy wpuwe mwmso thsimfs okcmeyh mzqkez duzaq vzhyrm uyvpkox cwivpls
+ukoerf korufe zhs ntwfz hugem vriyk enfaib hrrcdgf zllsk vkiyr
+shkx khxs wntpjv qdevaw noqyht nwpvjt egh hgok mukdjfi law bzbvjz
+dquk kczxsq tdu trnkjs wqtdc ybvcb
+hlrotxn cumcjkm qwufgle ylm nejh hnje pvaigrx myl sfvsd
+szmvisn aywic vsnimsz iufmybr
+zjozr zojzr qmn ffrggdh wam dafvok
+nxkvlhr posmf posmf posmf zhlzb
+ywis kpqpyb qae zqxpuz pcj hbsfz ejlwa lajew znuom
+qxsl ussivur dstd avojo
+yoeagao egpaqm ymzf kkauy ivm illir wsvchne skmamvn nqxc
+cldo ixzzy vhk nra zhypgab
+qjdd ecxud tbuqq mpotbdk tjdpczn knncm tyy
+rbfc fhhjf innia tsjbbbv fmtcuup rapvhqz ebpzt whdbms gvjoy lykl fquvcby
+bihhfwi lhal udxz uwjwp dmb
+fekxamy uophet yzvv rqj zawlp ldrv mdymkzy taauf
+rcwxvmh edueui ltdyo xfghz dgjig senm ifj
+qcu fii axmgijj ifi oixjfsg jxagijm
+sdtyr rbdh yvnvq czzuig wro
+lot xkto cmpiena nht ozcg aotcw xiegl cyaouj und lsclep cexn
+pgihljk cmgmv sajhi zfvbqij ogwoc ajsih zmppe
+jexwkdp dwpexjk mzjydfu bff rubgdb
+yshfhx emkl hshxyf mkle
+dxgti jdo tkwprv pbxbrqd oiz gsbdphd qotu utfdnq tzvve bqc
+ovdf bshfxyl xspjpd vljdsm mgkd djlsvm mlsjdv
+etyia eytai sfq qafj xzgp ewhsn snwhe lhqp
+zjz mwh dorxm ges gexo rckwsa dltoq mmntha
+hqkuj ypsjcxo dixbe rmvnhjh ovnr
+edc iffaxc lolu xwrvpb gva vti vit
+ceuxq xbwejr lzyvm rozseit cwe mham fivpwj qtv omaktaw
+alzdrk tsxbuld mdbq pgbdtoo xwf vzalric nqe jqwlxsy cbtylu dtubxsl lqm
+rqjmjcs exjpn kpilcgu ihcm lfadjm mlri hpd vqs cxqwqhu twxrtk
+aeuvlcp aubvnw riedvz arypagp uuvg kliehx cokt ogh xsdw cdsyywv
+ddwrgvp bscaq bbfv qrbutp
+jpdg uey eyu uyarl zgbk qyhqq fdvlql zmwkp
+kbt bkt lebhpfu smrzt xalw mmwa zmtzfry tkb
+fcvcv oewfzu fvvcc mldww lwdmw
+ejrltsu sqoyx wfvsdbp bfdspvw bfir jqhgrmt ofdmrjg ysq
+jzwucwn erqjd eikq knpf cvk xvqnscy eei wvfjzmj xujq cqaim boev
+jqhkmr ipjpj zwno ybu krhqjm zqfyyzb dyciy
+ugwsw rpwteje qtvwi pwyhrzt hfcdfmc qbovk ibws
+ffy kdder qjookz bfvmvvq yjzuaj fvxllfb pjyz jcezhye fimyydt qjookz qjookz
+loupd nwsc yytvuqo ltcqxnf
+iho ulvxguz fxbf iqu ofjtmvq xhs ybbusd kxg mebdnah ucttcf zufb
+wzdb wumuhtv kef aavv buu xmjtlur faaccl wospwff bjasr eapfsi
+jau qzszci ciu inagax
+kui tqig fyovsp fvwol fyovsp mzth tcp nhoq
+ajdla wtpj amylu jly tvq wjqef
+ofqc einz bdze tows bdze eew
+avwavzt aesrsjv lbmpi hllv chdbul ezelxn
+imcprs cafb clfg rsjo iylqu nvk vkrq izezlnu vkqr tyhnv
+rwj zboui reh buzio wuhpvid cpzy jrw tsbuiby hmxwqr ute
+ixq luwbi uoiwsjh souz ysoubw uilbw ffwjvw ewzswoh hci zmfdaov whowzse
+xrhgqf xrhgqf giyv giyv
+toiqgzv gakg udgdlb wvi carrn pjyha muqclu
+wuxthi srtszr ourab hpds bakvy fnk yefe yfee doowxcx
+ijdc ujhvls xmy hwg yetsda qelbe nang xgywo wgh
+bhm icq cnam dec enksf qfctz pwxoo bdf cnma xoowp rbls
+jguzh fextz yax kesaunn waljo jltcza tfzxe dezs syi ebwxnks
+flvq bzgd clvqw ahtyvu xbdyv wssxx boscm grgl nqcg
+caskpli hqctxxc nwpyo wjlqfqf ebti dva
+wmsz fzpd ikgeq gti ejftoou ezs cqef mybojc rgwz
+mdaay yfppa pavl fuuvfkh hpod tpb dhxmia emdecm rbqcwbk vecyt
+neha rmvl ndp vlrm dpn debghi vyhvc
+bnp zkxdu iqqkesd abtlx hmjasdq kyvekr krt srrjyd oxmfev oot
+dumlcqd ccm hyir oritdz madjjw
+oakqrs advfmu verrc zkfdcn btndsp
+onlkinl rdtm bscfxre bnu oumyrvv kgc zkj
+tfxfsgm uwmic agswclg uofezgc
+wpfdyjn kjlihk etbot fbu scm gwccce xgownte wig cuaijbo
+bzbdk etozk qracb oftfoo lkooe
+xupzw vmxwu sis wzpxu
+gbz oqbgh jwgrru bzg kwmxcfc jrurgw
+agyjnyc tuec imxlult omwiyjg fiwnoqx nhmnro qtg kbr agyjnyc
+koiq llreotu elrtoul dubfvgy whq
+htm lll crzppb gdjaae nsmxzh gnfvn obiuy ymspzbo iuboy
+thm xlfrr pbxdfo mht tygi sapxgbv mmngzf dej
+eus seu qmstw ues
+yvfsw esut biblze kbjcpk estu xih qzki ezlbbi blzv
+ohq ugc tqqeo jygvpwm vfs ldnfibp ycbpa sml rmime
+kuuow gbg nzwdaf wiimtg lam oqmm
+wsbwkdd hda nqk ticz mvt
+gqbljyh zqugqs cjod sxwlqy qkfs wwvwvt dsojb qbhjlgy riusoa uosari
+jkphfx dbt les jsvoij rnuw mxmmchu dol vto swn
+qqxe vwvephr twdqlyg cvdu xjiych clooq vkwavl whvverp yuz vkwval
+txtbudi tiutdbx wqhx tws utgbf amh hmf izsez ooz
+egdube nhsxjs nxjshs xoy sjsxnh
+egdziod diodegz ejxn zogedid uhhkr rnm cyvvuc uqbl
+rbn pinwag sidwdwv jqdbe jlbemk blkeaqq ipfqbtn zkrbp
+bdryz sbh wxvn mhot wemsfm oemkff
+vxyn xvdwwo xhd vyca zxjaw vfkz xhg ofsphks dyq mmzzd
+yjrqsjf iiesdh envwyx rmtbmiv ggzsg ukx bprfym qmyqc vag ymho hjtoh
+fuxxrd wbweptd vkoffr wbweptd
+gfwcez smetli yjyh pslpz qyokpsm qsy cxjymg wqfkf obuq awz
+eqhm ceest kayf heqm
+rdi dti vntcf ewkmpvf jjwoihc
+sfq qlb xrm ocy vtnj zdznbal zvon stln zwnj wsgalvq vhphap
+pya jay mgnyo pya xmapdn
+hrwbj xhr gvwl ktq ktq gvwl
+rzgqi hjwtthl kxhggbl wepc hgavj ctmqug
+tzfwkc xeqfath iiuwq iiuwq dhwuvy
+gibagy smq getjofc lum msq ulm xuxu bilrus ily
+xlv ndrkch hdcknr nqltoze xvl
+wmc vuzlrj mwc atp cvpx atv ujatz
+hxpafgl ymjltv nvvpy ahycdk jhpdcks ettm lvqyw ertpivm dnezwxx usi kdhcay
+vrh hqyomv mcq ilwjbkz yprjxad
+ugv szfitxg zeluib pfj ijm zmiigxx gltxzz jzljhgh otskue
+mxp bilj jlbi tce yfted zxsqas ftyed
+ykasqv ehye kirmnl upmi dojwmw wzj ykasqv ifixn vreoypz
+kerbgub nnroqk onkqnr gbebkur tjhl knjo ccsem yozvrcg
+ygq evkoj wkn ffljhds scxeibh egsybeg mwvi vgjblj qda ywqpp
+hocvpl ozgkxp xgmj ejzyxm
+gernu kks lxe nxzv sypg xle goz
+xoatis fjp wzlbo dzkonz jtutyj vdonj swro tqclemv xhomap ymeqkua vaxcw
+mxcyjs ywyxndk wng vpftv nsuvu
+jmiyyhh gwser shgcu jmyg cjzegc hmhe eopg kmkan
+smdd dmds mgqhtkh qtamih haqmit skkcy
+dnj rmggy rgymg uburbao rymgg
+klcpjgq ons ajyv sqryt son pjlcgkq xlobdt
+piw shonk tzi mcdumz noskh tebolw yaypn
+ozm mvmjgtg nxj weommiq asnmhzq xjn uobztuo cqgjh utfb oydt ommiewq
+qlwgsc vvpe xgft ahpjc zjtx iyof scwqlg dxgcokx ltrefj xyzq rwto
+ggqdd dqgdg ggdqd kjkmmfp
+htzjam fjbg iagc xls iagc iydtf ihxl boa iydtf
+vhe nqj bwgdoi hhaoa qtulz
+axvyja hpdkwee hnryj prou rgadv oubjdqg knjbc
+caz xibj wqkzwe peioeya vmz hesy ftb
+dudwcr gupj sjrtzc xsqbb hiet nujv bebcvsj eks uuzlcx gex
+kywozi tfzuc mflssw hnxxxqt zzc tzfuc hkokuv mnjg lwkavjp lvpwjak xez
+izgh zfv cingjt dkf cknite qox vfz zvf
+ojpu dzk tehpgnt gntpteh
+glxfxa uxq ajtles ahgzn ajlste zwgc mrpu adz wuunwhc zda
+hdgdtn hnoyz aromkb qujfv yjgmn tbf atw
+uyvsv oaopjv uyvemxk ldpp tthe iisjk txr hebmd yxevukm rkziao znt
+ypdr mnwuzvw acpg kzwz ywbn wcrr umrnlbe lkult ljify azyhu mgqoo
+abmpl omsd xmyl mxyl mgoq kracrf ufm ppwi zpggh
+uxfdpv jnm vvc vchunhl ubv ktj mxolsxz
+fcja eci edzrb nlvksaw lhf ycohh tfztt xso ceub tyv
+rkwtp tcmmvv kufg cxui hdamg suuaej fgku cvjlv
+oldbgy riadoyo djsi wca zxoeq pmemqap aijxa
+nyy ruxcosx xisqoz yny jvzfpbe tlfdiaj ybd jifatdl zuzv
+kxwdz qvrvx svllp ergmme
+swjfuv eronk favcxfm acptbh pnbjn ciqcrlt rgvdnlt icgahb
+ddza xxfn use obqka bfzwjp gmf bld fyvde mxdfdl
+ame bmxbyf ame bmxbyf
+rdgby pyfog dybrg gdryb lpztd
+sntg impd uxgxai naoalb ntnk xgix
+oadpmqj oso criln izih oos
+ouzjq gtl ito xefqt phnv ouzjq hoyjjj
+mlp rboq lpm roqb whvp
+tghcw ggshevw dzsgj ggshevw kec ggshevw
+kmwhb kfcb mbhkw gemz fdh
+euve veue kplrq evue
+hikfiw bcdktj hcnawja gjasvwc vcht igrzly rkxijxe ikfwhi dvmp
+hvksis kafs ktcs sfyqzyt etctrgt vodwr wff tskc juobnm
+dpcsodn ehwc pglywfl yhdp mdiyzx
+ibog umftejh cfm pnxhna wqwx yabnk ygws dqw
+dezz tqw qism rarfe fpmlab xvbau irwtfs wwmoyss yvn xetqp xtqep
+pchqwk npsmd jefec qok uuc ucnpz rlkakn
+kudh rjysb xrdbx bkbmjfo xrdbx
+rogu ssdwsus voa ncw obkxsr
+tflf hlevus scq rrbpat tau wxsq wxoblt
+rzr lex kqdy whtj ffnys xlgkkff msjhy dimaq hrc wyde qkwf
+ghtwd wernjpn tdgwh olrfvmr edq gxvp
+rjirvf skhdgln aauit bipu mubjiwp kowz gyjfbjx cmgdqs
+aftfpbv agajyy aqjll vsf twh robpys lebt eav yribup
+sby ymkla sxkbfwl awmd nhb vlp
+kizvjj ycjswr jkzjiv vuy jijzkv jcs
+cwvch xzqfal tephz lqfzax cnkbdcr mql zflaxq
+jjxzwl himpra ssjf bibfiui seeaq pzse
+jogrn jogrn sqew jogrn oixgwr
+khonpyw iiyxir vybhc ndnxxv kzlt ipmncn
+okqkqu svbemi nfn ovd xgwy edd ujet nrrbv dde vdo
+jobvf dus asvio vaosi sovia
+knmz qbz nkmz zmkn
+isbmopr unduey impobrs hea zswciev sopbmri duuj
+ocs ntgnrdu kbvtzp cvyieu fiyn znmh lhrz ixtnzrj vktbpz lbpqx vzkpbt
+muduhc sabc dlyoisz kuaz ogpyepw yuog ictiiqt
+xjflsf nfklvml thfh uajnmby cichyj xxoqi lpime bxpyx
+riahifn bohbgd obhdgb jni qzvkf ybp hjkkwq ytutd cakcsh smfdoe tuytd
+iddku nccp zgtl yne ppzpqcx lwm
+refpcz uqt uqt uqt
+mtn czxkagb nmt caqacrg bcakxgz
+itxjii uethxbj vpds bsqod diqax inv zrwt doepe
+bfyaj nbvhg zmi buf
+dtre dkwdr nrapm qtfth odvt bbcnae vxuk gqm enlg
+ybt qcfozrk yzrh bfp euuozuz pzsdkxx mhi nbkzprb
+vpuhqn gyx caint antci vfep incat kqdakdx
+ddhi chgnjk ibg xbemitr mjtdph eovw
+ngbtuvq qdttlsg dbqhhwk bkrqze qdttlsg qdttlsg
+evn smvhi dgcmn xjo ascc ahbpj uvzc pwn tung
+ksu thr omg onvsqzz rllakar ysfjtfj grxwyx oawix gpk suk
+qvb iouav yhtndkd vuoia ouaiv
+kud kofcip hcczrgc cvvxxlk rvyamwe duthdzr dftun
+rgv ynw gph tmxwfup nwy
+dnc trawj kwzbx trawj zvp
+ogqxijy tbqtsg tbo vqinnlq jbvgl sfafh rve mcxqs ubh
+qccr lpv puuvdyb tydaflf uxic
+tlon tbfwkxg tlon tlon
+iytiz qjlqaqw uixb lnt zwro uzgxqfi gklgnqs zwgoidw iifk wkwdo
+tmvhxw tmvhxw tmvhxw fhiqpjy ejk kvysd
+cmphg xjjz groiccd dvetuk xbwa zhm lyi ohhd neg bxaw yil
+kdmzopy lxx bvhach goxmxu qbqvzcm qbbrhvb nrfom aixmio grpxz hbrqbbv lkucih
+bnqn phqr uycuxc mopyyfh bbpesqm stgigq stggqi cwtjm asqhpl imvlxj lbmloo
+pws iuvbvjr cwccm qbr srqnstz cjebq
+bfh jobkcy gtbroe lpagq icmax jobyck fbh
+ounqdo qrrr pwi alho rrqr beao rsioepe
+vrccqge qvcgrce cbslkjs qnclw rvmjkw
+aaxjns deupjs wtgxtp penad depbho tbrdt depbho qxg zhjxpgd
+drqfo kbp jfa jaf
+izn oczcitj cpae quvzqo iwwk jck idjdpm
+ecort zgcvxx bvh vrprsf
+fhubfvy ndcfjo kol hyufbfv hvpka
+kpt zgajpc rjvsxa gayznjd
+xeoixk peq kfu lqa mjnv mzvh bicl hlfk
+wyt imdx lksy twy
+xeptp ilxs qbsqzwn rsy slxi xtpep dsdkekl
+rotvbt fuirp elos ciu nhx bxej trmtx ixn xbpc vrxtma
+skcprn yns sao ghlq vftezvc aaryahy telt
+fkaov gexa xijv yiksa xega dhgw okfva gxxs edkecag mqbqvrm nrzcqub
+ljc jujxeof fdj gdzjzr mabbktu pmyrfv uspven zxry snt hrah
+nhujhdr jdhrnuh midm bbavhpp cpjk zmpbasz eptrpou znq zqn
+ywzfq wuu lfflon uuw rke qzwyf hjbms gakx
+yqrq zsk jzn uuuzrml kzs lseupsg waynfh blech
+gwyqej weyjqg uwuje uujwe
+lxud rnwkc bgygkh csq rfvtos ystqp keb gkakodj uthcce eqxifl
+elvj evj rfwo vvgkosh aarcgjs utsbh orwf jxcqvmh uowmktl qtgf
+bqszre oxntty ombwiz mbiwzo
+ccp iilcc tacf czk giwv erqi jgdfah wip xtrzhv wosvbyb
+gymyw rwsxeg gvydr izyk spsonkg knospsg
+djj tbr tbr tbr ice
+yyzh zkykapw puydtik ysxc hjumhsd cuhhw dnnhida yyzh lnklymg
+nhbcxsu ccrbbyw scbxunh ghxrkqh brcwcyb
+latdaav sexa ipzuzjl ayusb etb fshh
+giz akqd vjmabii arfuzgv efrww jxkvolg efrww vrnzgbx
+jmcc vqy adkzj fqrkdo tjrczp ccmj cfponk rptzjc
+jsviu sraw imsj fujm cdf xwqhl lhz ojejzuy trtqblg
+ibz dulm muoq quom etvjzxn tuhrpp jfukac jqctqn qhgbae msgmcit ludm
+zgx bpfa elhp rnyqtq wyceube nkeuxz
+lzxfo vygpecv jszacku zfxlo
+cpmv ysaaj xnp wbvqg hrsiuj venjxna yeqvwmk ftaga dcqxc jgapb rqdixp
+xpbbe tyn hfdlu fto wrgzkou sxylv cqto wdv xqc pnu rapk
+pkrxypl wnu oipq tzbhnc gpug tgzf ofjb
+mvaz bwcv gll itgcye dessw szt gzimgeu bvmohh wbywyhc kzerxbr anjsive
+lhvnrzs qkmjwy pnyciwp mgp jfdz ghvtf yusfzg upab
+xbscukx aubulj snbcmc uscxkbx ddpucyg
+hgv ollh yzpjmpy fcicyae vhg gvh
+prd onyd iux oik xui
+zipadig nvewx cir lbpcusx dljqy
+ifyxzsc btmy lsu tmyb lus ldyzx
+egmyxbe ieasvek dylmj qahtatr uyqgbk
+mejjczw spj vaekp kdud
+vwan mgenld mnlged vpfuil euoxlr rclkpi dfknyoa rhthij kcyxl qaxab crlpik
+pqm eihogk iwml nuauxi ngilkoh jmu mbdi cqxz nblb rmuj zczdgp
+pswbe mtzch wbeps fxtnc psa aioff pas
+prwrpvz oadpqvz tgzrt giom pjyihh rxdir dmya xjolzxv
+khdybe obqkjn kdq jkvmgwo enpat wyw qjbnko waid msest wwkoyts
+yep liv ofmtpod imdd qyw
+afnrx jgn gxarpb myltj ggrsajy mdaobjo vbtn vbtn zlziz eds
+hqr kqu oub skoeqk icnfm cqvld aay bto
+rga odaf exoosh pwevx zpbd plaa xoseoh
+mbr gqu oxvchrt nqa larxmjx pfozej
+ozuo ywubjbg xcua eblwqp nfdvw hmhen zkjfu gmhgp bsyi ktprtf
+src vrysby srybvy znwjm hmypwdl gdmau pqe
+cldr crhi lbaq fbuduyn hygbz uhida
+qrxukq dygkp oaks soka oask
+vpido ajgfq pwlv hezt fmg epwrxo rqvjke iovpd hhkjm
+anxf ydl xnfa hqph olorp
+exydcg onxjm psqlbv ehz boar hze qsblpv
+mnzrvc ipj swg ijp sgw gdkntsd fzz grqwly
+erpq qghpj fay gci uglm afy
+jwbq hbxaub jpdilyt yvalrlk topl qup
+eczonk ftcc paltirb owz tihhe dglxory wthvqcb qdnxm lirejh alyxsr
+ooruaby gboyeu lkv arrz jcqyzl uxlfk fhmeony fcmh
+wzr xjb pwmf okqj adwcedy lkidve uwekxf asbdzr biub
+dikhur pxgh urdinjh wednf ulzdxs
+iplf byt tyt qnnlba pzt bednml ljjtkvo tjovlkj uwms xat
+htzk ltmfha xikeze atfmhl fchxhyz
+lqala bqwgcul vetaa xuxjau zcb wtdmomu wfqmpq sief uyblyz ahv
+aytvvo awm ojaaigg awm dbfaokz
+abq npcyld fzbfku oia qss jkxldm wgtmki pasgxi dieix rpqnuac tecnfy
+nmr qzfj qjfz lsz vnahex
+djxoo jzlkh svy xige
+tjlkkg glcuvmh fwzlhi ecun qlgulj hrfhyql qgdlf ofakqdf zokkvm gelxkq oowgs
+upfpk gfstjlv lxc rjd nhj sbq jpzsz zsjzp
+favd nzqfdid nekfjsf mtjndu
+sgdqx uvpuefv vhwrgd aivav gsqxd jdhfoq
+llaf cthbgy njrpw fqgkx jzf xqkgf lnrfrm gkxqf
+wzdwlc wisst alw kyjeur sjsqfcr tta bijnyn whfyoxl
+dtjr baxkj lmnyrlg nrmyllg
+mtgky xmwf zdko nnocxye gytkm ygp hixk xwmf
+maudjy okgjga uadjmy dzfrk omd
+azz ajdcqkd bcafn zaz dcjaqdk gylyzo
+xzvfbf fopmfxu mvftgr mfupoxf coyhof talcc vpkslo
new file mode 100644
--- /dev/null
+++ b/2017/day04/problem
@@ -0,0 +1,49 @@
+--- Day 4: High-Entropy Passphrases ---
+
+A new system policy has been put in place that requires all accounts
+to use a passphrase instead of simply a password. A passphrase
+consists of a series of words (lowercase letters) separated by spaces.
+
+To ensure security, a valid passphrase must contain no duplicate words.
+
+For example:
+
+    aa bb cc dd ee is valid.
+
+    aa bb cc dd aa is not valid - the word aa appears more than once.
+
+    aa bb cc dd aaa is valid - aa and aaa count as different words.
+
+
+The system's full passphrase list is available as your puzzle input.
+How many passphrases are valid?
+
+Your puzzle answer was 451.
+
+--- Part Two ---
+
+For added security, yet another system policy has been put in place.
+Now, a valid passphrase must contain no two words that are anagrams of
+each other - that is, a passphrase is invalid if any word's letters
+can be rearranged to form any other word in the passphrase.
+
+For example:
+
+    abcde fghij is a valid passphrase.
+
+    abcde xyz ecdab is not valid - the letters from the third word can
+    be rearranged to form the first word.
+
+    a ab abc abd abf abj is a valid passphrase, because all letters
+    need to be used when forming another word.
+
+    iiii oiii ooii oooi oooo is valid.
+
+    oiii ioii iioi iiio is not valid - any of these words can be
+    rearranged to form any other word.
+
+Under this new system policy, how many passphrases are valid?
+
+Your puzzle answer was 223.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day05/input
@@ -0,0 +1,1017 @@
+2
+0
+0
+-2
+0
+1
+-2
+-1
+-6
+2
+-1
+2
+0
+2
+-13
+0
+-2
+-15
+-15
+-3
+-10
+-11
+1
+-5
+-20
+-21
+-14
+-21
+-4
+-9
+-29
+2
+-10
+-5
+-33
+-33
+-9
+0
+2
+-24
+0
+-26
+-24
+-38
+-28
+-42
+-14
+-42
+2
+-2
+-48
+-48
+-17
+-19
+-26
+-39
+0
+-15
+-42
+-3
+-19
+-19
+-7
+-1
+-11
+-5
+-17
+-46
+-15
+-43
+-22
+-31
+-60
+-59
+-71
+-58
+-39
+-66
+-74
+-11
+-18
+-68
+1
+-70
+-79
+-18
+-56
+-17
+0
+-52
+-79
+-86
+-90
+-74
+-89
+-20
+-30
+-65
+-2
+-47
+-42
+-33
+-35
+-61
+-4
+-101
+-38
+-8
+-26
+-37
+-56
+-30
+-36
+-55
+-87
+-85
+-58
+-22
+-9
+-81
+-119
+-94
+-81
+-83
+-24
+-105
+-21
+-69
+-11
+-7
+-114
+-60
+-74
+-19
+-126
+-66
+-106
+-5
+-112
+0
+-58
+-18
+-122
+-50
+-72
+-83
+-15
+-93
+-60
+-17
+-37
+-55
+-119
+-118
+-12
+-101
+-65
+-35
+-122
+-149
+-97
+-140
+-62
+-101
+-85
+-23
+-43
+-141
+-158
+-37
+-103
+-142
+1
+-112
+-55
+-139
+-90
+-5
+-75
+-73
+-171
+-4
+-39
+-4
+-135
+-126
+-40
+-74
+-161
+-125
+-174
+-90
+-129
+-126
+-166
+-106
+-16
+-51
+-54
+-135
+-37
+-21
+-103
+-73
+-64
+-59
+-88
+-153
+-196
+-123
+-98
+-36
+-193
+-164
+-111
+-81
+-49
+-87
+-91
+-191
+-219
+-103
+-217
+-107
+-87
+-82
+-23
+-157
+-56
+-20
+-149
+-133
+-53
+-37
+-199
+-85
+-133
+-12
+-228
+-15
+-217
+-106
+-52
+-179
+-118
+-54
+-70
+-99
+-160
+-24
+-71
+-55
+-7
+-105
+-174
+-187
+-226
+-210
+-55
+-130
+-137
+-255
+-259
+-117
+-10
+-162
+-61
+-19
+-54
+-225
+-23
+-84
+-183
+-262
+-44
+-215
+-268
+-201
+-89
+-3
+-241
+-277
+-8
+-177
+-31
+-269
+-35
+-132
+-175
+-253
+-85
+-286
+-265
+-292
+-196
+-132
+-212
+-131
+-117
+-196
+-245
+-294
+-32
+-20
+-184
+-246
+-171
+-64
+-220
+-3
+-179
+-186
+-51
+-276
+-203
+-191
+-205
+-141
+-304
+-186
+-273
+-299
+-17
+-46
+-254
+-126
+-268
+-163
+-69
+-326
+-192
+-279
+-293
+-220
+-20
+-137
+-330
+-8
+-53
+-49
+2
+-149
+-181
+-298
+-297
+-66
+-136
+-166
+-146
+-28
+-146
+-226
+-270
+-349
+-216
+-348
+-184
+-298
+-348
+-323
+-244
+-207
+-22
+-172
+-359
+-188
+-1
+-278
+-76
+-216
+-343
+-29
+-37
+-257
+-357
+-226
+-19
+-246
+-76
+-105
+-312
+-219
+-268
+0
+-230
+-379
+-357
+-69
+-1
+-30
+-321
+-212
+-262
+-297
+-86
+-102
+-390
+-384
+-98
+-294
+-359
+-326
+-58
+-296
+-104
+-309
+-244
+-308
+-116
+-148
+-134
+-307
+-307
+-207
+-391
+-312
+-209
+-334
+-225
+-193
+-345
+-224
+-299
+-110
+-414
+-252
+-302
+-142
+-239
+-376
+-54
+-227
+-126
+-154
+-263
+-18
+-387
+-214
+-129
+-163
+-151
+-325
+-401
+-382
+-329
+-288
+-283
+-376
+-211
+-221
+-448
+-292
+-187
+-76
+-84
+-342
+-162
+-251
+-110
+-66
+-349
+-435
+-380
+-82
+-281
+-29
+-61
+-402
+-287
+-118
+-428
+-429
+-403
+-324
+-391
+-203
+-374
+-397
+-352
+-462
+-440
+-89
+-209
+-133
+-436
+-187
+-142
+-299
+-402
+-210
+-217
+-50
+-456
+-177
+-335
+-204
+-338
+-146
+-82
+-379
+-332
+-148
+-370
+-188
+-42
+-351
+-219
+-89
+-129
+-388
+-42
+-338
+-169
+-104
+-508
+-43
+-432
+-99
+-484
+2
+-461
+-469
+-151
+-279
+-309
+-121
+-306
+-210
+-302
+-100
+-415
+-307
+2
+-111
+-432
+-457
+-299
+-95
+-327
+-508
+-327
+-211
+-319
+-83
+-340
+-474
+-160
+-494
+-351
+-177
+-514
+-198
+-177
+-45
+-364
+-232
+-432
+-137
+-467
+-11
+-253
+-237
+-367
+-42
+-442
+-14
+-323
+-489
+-466
+-389
+-362
+-195
+-110
+-170
+-394
+-234
+-296
+-296
+-469
+-275
+-2
+-413
+-149
+-477
+-543
+-435
+-255
+-259
+-152
+-73
+-47
+-72
+-252
+-499
+-305
+-169
+-406
+-280
+-287
+-43
+-20
+-242
+-271
+-336
+-500
+-341
+-354
+-559
+-364
+-126
+-173
+-444
+-555
+-532
+-532
+-369
+-468
+-315
+-469
+-506
+-151
+-202
+-459
+-139
+-434
+-383
+-353
+-13
+-272
+-517
+-629
+-573
+-502
+-337
+-454
+-376
+-288
+-430
+-503
+-482
+-327
+-418
+-623
+-576
+-412
+-416
+-457
+-84
+-251
+-466
+-520
+-262
+-642
+-329
+-308
+-145
+-391
+-189
+-226
+-48
+-167
+-626
+-325
+-288
+-432
+-615
+-149
+-414
+-387
+-622
+-260
+-200
+-483
+-531
+-22
+-82
+-308
+-593
+-271
+-134
+-431
+-190
+-460
+-434
+-558
+-166
+-136
+-404
+-10
+-225
+-397
+-375
+-371
+-654
+-374
+-137
+-659
+-413
+-117
+-602
+-585
+-601
+-451
+-171
+-296
+-437
+-505
+-675
+-153
+-286
+-28
+-515
+-221
+-124
+-662
+-516
+-119
+-390
+-78
+-372
+-490
+-403
+-341
+-623
+-264
+-672
+-94
+-238
+-250
+-382
+-526
+-360
+-170
+-109
+-228
+-226
+-70
+-519
+-481
+-174
+-471
+-9
+-497
+-488
+-337
+-729
+-72
+-489
+-717
+-426
+-159
+-436
+-600
+-84
+-1
+-742
+-258
+-346
+-205
+-427
+-479
+-243
+-358
+-90
+-482
+-471
+-234
+-131
+-108
+-670
+-740
+-748
+-427
+-563
+-691
+-354
+-427
+-755
+-708
+-389
+-741
+-125
+-723
+-274
+-464
+-223
+-497
+-182
+-167
+-83
+-387
+-464
+-195
+-131
+-161
+-213
+-671
+-491
+-66
+-138
+-121
+-498
+-408
+-429
+-643
+-803
+-118
+-561
+-217
+-282
+-400
+-396
+-434
+-501
+-134
+-409
+-162
+-696
+-14
+-269
+-663
+-531
+-620
+-208
+-71
+-511
+-421
+-371
+-797
+-454
+-273
+-167
+-261
+-618
+-769
+-738
+-71
+-239
+-117
+-204
+-149
+-820
+-222
+-337
+-383
+-181
+-433
+-765
+-367
+-286
+-152
+-59
+-673
+-333
+-238
+-121
+-16
+-614
+-630
+-196
+-306
+-703
+-363
+-296
+-366
+-515
+-673
+-90
+-421
+-474
+-794
+-522
+-842
+-185
+-732
+-642
+-830
+-19
+-735
+-153
+-814
+-654
+-550
+-175
+-626
+-148
+-661
+-876
+-601
+-822
+-692
+-784
+-761
+-738
+-144
+-672
+-16
+-572
+-484
+-851
+-849
+-41
+-59
+-700
+-586
+-323
+-504
+-156
+-755
+-408
+-10
+-228
+-116
+-174
+-860
+-837
+-796
+-392
+-380
+-403
+-886
+-360
+-200
+-38
+-544
+-448
+-281
+-218
+-132
+-571
+-650
+-666
+-332
+-130
+-618
+-306
+-272
+-95
+-110
+-804
+-25
+-61
+-114
+-369
+-675
+-58
+-341
+-543
+-477
+-936
+-617
+-684
+-803
+-40
+-285
+-919
+-72
+-685
+-318
+-107
+-210
+-926
+-600
+-130
+-707
+-355
+-221
+-951
+-687
+-599
+-745
+-889
+-10
+-188
+-687
+-191
+-789
+-44
+-774
+-53
+-738
+-889
+-332
+-575
+-838
+-975
+-224
+-720
+-910
+-478
+-35
+-740
+-549
+-911
+-624
+-596
+-865
+-485
+-476
+-348
+-664
+-674
+-597
+-839
+-698
+-746
+-527
+-95
+-623
+-662
+-795
+-287
+-969
+-21
+-730
+-191
+-866
new file mode 100644
--- /dev/null
+++ b/2017/day06/input
@@ -0,0 +1,1 @@
+5	1	10	0	1	7	13	14	3	12	8	10	7	12	0	6
new file mode 100644
--- /dev/null
+++ b/2017/day06/problem
@@ -0,0 +1,73 @@
+--- Day 6: Memory Reallocation ---
+
+A debugger program here is having an issue: it is trying to repair a
+memory reallocation routine, but it keeps getting stuck in an infinite
+loop.
+
+In this area, there are sixteen memory banks; each memory bank can
+hold any number of blocks. The goal of the reallocation routine is to
+balance the blocks between the memory banks.
+
+The reallocation routine operates in cycles. In each cycle, it finds
+the memory bank with the most blocks (ties won by the lowest-numbered
+memory bank) and redistributes those blocks among the banks. To do
+this, it removes all of the blocks from the selected bank, then moves
+to the next (by index) memory bank and inserts one of the blocks. It
+continues doing this until it runs out of blocks; if it reaches the
+last memory bank, it wraps around to the first one.
+
+The debugger would like to know how many redistributions can be done
+before a blocks-in-banks configuration is produced that has been seen
+before.
+
+For example, imagine a scenario with only four memory banks:
+
+    The banks start with 0, 2, 7, and 0 blocks. The third bank has the
+    most blocks, so it is chosen for redistribution.
+
+    Starting with the next bank (the fourth bank) and then continuing
+    to the first bank, the second bank, and so on, the 7 blocks are
+    spread out over the memory banks. The fourth, first, and second
+    banks get two blocks each, and the third bank gets one back. The
+    final result looks like this: 2 4 1 2.
+
+    Next, the second bank is chosen because it contains the most
+    blocks (four). Because there are four memory banks, each gets one
+    block. The result is: 3 1 2 3.
+
+    Now, there is a tie between the first and fourth memory banks,
+    both of which have three blocks. The first bank wins the tie, and
+    its three blocks are distributed evenly over the other three
+    banks, leaving it with none: 0 2 3 4.
+
+    The fourth bank is chosen, and its four blocks are distributed
+    such that each of the four banks receives one: 1 3 4 1.
+
+    The third bank is chosen, and the same thing happens: 2 4 1 2.
+
+At this point, we've reached a state we've seen before: 2 4 1 2 was
+already seen. The infinite loop is detected after the fifth block
+redistribution cycle, and so the answer in this example is 5.
+
+Given the initial block counts in your puzzle input, how many
+redistribution cycles must be completed before a configuration is
+produced that has been seen before?
+
+Your puzzle answer was 5042.
+
+--- Part Two ---
+
+Out of curiosity, the debugger would also like to know the size of the
+loop: starting from a state that has already been seen, how many block
+redistribution cycles must be performed before that same state is seen
+again?
+
+In the example above, 2 4 1 2 is seen again after four cycles, and so
+the answer in that example would be 4.
+
+How many cycles are in the infinite loop that arises from the
+configuration in your puzzle input?
+
+Your puzzle answer was 1086.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day07/input
@@ -0,0 +1,1489 @@
+uwzmqi (57)
+emlzcpy (106) -> pwmoihf, sdwnkb
+oevnzwt (90)
+imjhra (23)
+uuimn (299)
+xzpov (55)
+kynja (73)
+kggcnt (43)
+qdxpkx (67)
+wubltb (276) -> udcok, pihpjbp, hiifqwb
+anifo (10)
+zxdpmwl (57)
+tkdmopp (44)
+kdsbbcf (193) -> huyizg, evofb
+pxfpf (235)
+mjftixu (131) -> kwzsj, rspilzk, amtxw
+dbtoizo (73)
+fdqmg (124) -> kggcnt, dzekyo
+egvfxip (23)
+mpijek (63)
+kkoitqr (70)
+jgwvyp (29) -> hoagrj, swefql
+guipj (25) -> sauwet, graedp, jdvya, bmlwb, eidmza, kmnmx
+ayuhvb (216) -> bemhni, gvpac
+unmxfe (91)
+miwfyq (96)
+loofhh (31)
+liczn (12)
+urvunmn (63) -> ddsmt, oablvt
+jxdqhu (60)
+pvqfa (174) -> pftmymi, vmrdwe
+xrabl (82) -> ivyarjy, lhxinfd
+rfvtfs (93)
+qkrirn (129) -> ceztn, tqjmaxi, lwroef
+epnny (85) -> xltlyvw, ctkjip
+hlzyncx (85)
+fyxdfod (82)
+bawgh (7)
+sxpqvwv (358) -> oziwd, rreoxyc, qntqokn, acibw
+nogbp (119) -> psvkj, djyks
+mgdhu (15) -> cfcbhku, fltdrlc
+nsvan (1749) -> ahracx, dvoul, ecxayrz
+gefrwix (99) -> sovfoi, vdqpuon, ghtdnrx
+hfrtlx (57)
+kyhace (12)
+gbcfg (277) -> pzbgmxx, lysysqu, urvunmn, yiohbo, hqjlgre
+uhwsavi (57)
+fyynsgp (6)
+wqobawc (67)
+agjdl (61)
+tkureky (247)
+czalivu (28)
+wykyl (64)
+wqtbny (49)
+wnhkac (18)
+fuhbamv (81)
+wqudy (238) -> dpkdpj, jmmticn, kpotsk, qtntw
+latvu (35)
+inpjzmh (23)
+orawnkw (195) -> bsqlkiy, fhhzvwj
+kwzsj (40)
+ymfwoto (50)
+kckucu (152) -> mnoaa, infll
+fwlme (6)
+xlyxjyx (302) -> lewizr, duxfof, uqazvo, mzbwym
+aksgboa (93)
+rxxqpi (920) -> gwwphk, xaskpny
+gqqgsz (49)
+rlbdave (27)
+fuunnks (42) -> cstnc, dyxmvo, kwtszff, ittpbzy
+bhcwhrf (88)
+ppigbow (84)
+bbzhhk (70) -> bjrfinh, lissl
+hsael (60)
+tcpdvk (33)
+yvbgs (286) -> byaaoab, kebefwy, wpxxz
+utjtx (8) -> rzlkr, ntfvgoj, qmvpgee
+kdcyull (48)
+ldakuz (45)
+lcfpcst (92)
+ufnpup (102) -> cewmc, uwzmqi
+eavfy (87)
+lufgbo (60)
+sncjicb (102) -> xslucv, jbpvtf, gfltww
+lydjsu (65)
+aclnw (210)
+fqdtzfy (221) -> zwfly, bidasc, mjfhodb
+wavbwew (80)
+sqwfq (59)
+yeicqcy (46)
+chzrjqp (90)
+fhabfp (59)
+wbijkw (19) -> zzdbn, pqxef, ikzqhu, dyqgl
+gbhlxb (75)
+zpimcy (83)
+zmjzmyq (35)
+pagsex (45)
+onsjs (197)
+gqiczm (61) -> gwsceo, ucocdl, hdqow, fjqccm, oxvqjeh
+hmdqubz (16) -> juzol, txote, kynja
+lzikkl (330) -> cdrjh, lwbcn
+haadpw (65)
+eeluucp (62) -> pxsmani, qdmop
+nnsogp (60)
+nezhs (94)
+fqrwf (88) -> hujzcku, tkdmopp, ckgmjsg
+zoszls (70)
+uzlgko (56) -> loyjp, wwnkoz
+uqazvo (39)
+sphktgz (12)
+sikpe (48)
+rsjmc (53)
+htyvy (17)
+ylluriq (129) -> pawmnl, uhmnltu
+mrsxl (18)
+gbkubnt (45)
+xdvwjb (70)
+jguhhsb (9)
+mfyivv (84)
+etsxvmj (896) -> enlfaa, ymnichj, tuefd, zhkmnxk, vcllnn
+cougztw (27)
+ewifyk (25) -> sxino, vgwxuan
+vwtxaci (78) -> nnkpuhp, haadpw
+vwqof (64)
+cewmc (57)
+haztq (48)
+wxyhyh (43)
+dyxmvo (107) -> tnham, jsdvowc
+zhcmvvm (90)
+zdrwxqt (89)
+bluacvc (26)
+yxfysz (418) -> cfmcrf, ixbsb, kafyh, zouqjoo
+hiifqwb (14)
+knsphtv (74)
+xrwnzgz (21)
+xtbqb (82) -> bydmdru, awfnh
+zngystc (140) -> gszlkf, inkfmx
+gtktonk (92)
+ukkph (17)
+fzowmer (22)
+gumpsin (34)
+rynlaj (292)
+wjhgb (48) -> icoic, hwhgi
+ndvns (24)
+cawzw (81)
+kyphnel (51)
+uawyee (22)
+mzftrlb (70)
+xfxsxh (71)
+wzlonwk (65)
+inkfmx (30)
+vkkds (207) -> pvhdt, fshoj, dsuonma, vuazmuj
+wdwgd (80)
+licby (79)
+ytlpe (77)
+usddqi (170) -> fgokr, mdznc, psynxr
+ychaa (47)
+ztuswk (7)
+rtchnfd (162) -> eptve, lejuo
+bymrwvc (67)
+xqusi (22) -> jdbmary, flrdpaj, iwysxj, tooduon
+gyivxga (26) -> cldaf, lqgvx
+eptve (37)
+aflaj (35)
+ghnldf (35)
+oldfs (34)
+bkdxl (85)
+qsiqu (114) -> efvvtgo, hcfgf, fgayln, xzkzoq, isuevmr, xqyyni, rjfqyz
+abjrozg (189) -> dlcep, rhwfl
+fjemwxf (69) -> ofxdo, jjkns, mwvihj, vrhke
+zuapfco (40)
+tqcwn (50)
+ouycck (1843) -> lmliqa, txtnweq
+hkelse (71)
+wifvw (68) -> cpoxc, btlczl, dqzsblu
+cxfvbz (807) -> vazst, evquf, pvcpmx
+quxtc (142) -> tcpdvk, npwrqsm
+fltdrlc (90)
+fivaym (45)
+jdvro (43) -> wkkqsy, wdwgd
+qinwdk (178) -> liueudh, zgtsnwk
+zautz (48)
+flmeo (338) -> auocy, uqkhzxt
+zziuivt (78)
+iooqbyk (1558) -> fuhbamv, dqrsxx
+vumxuur (99)
+awfnh (60)
+woeabie (18)
+xtqnalt (19)
+xedlv (67)
+jatrdb (229) -> njnyoek, ctvhcv, qsgjk
+axjkbq (188) -> hgoruv, iimyku
+hmenje (183) -> npefyxi, fwoyu, acueoez
+zxwmd (96)
+zapbrn (421) -> szzhp, jsvwb
+tmwvxgi (179) -> egvfxip, gohxocn, wgvlq
+fkagr (32)
+wppgjkw (187) -> hlmdgp, usglf
+wajnp (54)
+hbgeak (92)
+rnbvott (157) -> kaekzo, hbozym
+haurusk (170) -> kxgrtg, ythbw
+ylpvre (48)
+zmuit (131) -> vrzrsz, uawyee, jbxllu
+mnoaa (59)
+zttpfsd (20)
+solmej (193) -> wnhkac, gkjafru, cmfwb
+lkzdum (33)
+vhpjrh (64)
+sqwejs (47)
+xxufma (17)
+eshjt (10)
+vrzrsz (22)
+pvhdt (23)
+dtqyhj (96)
+htmrm (85)
+tbsmz (70)
+hezjirm (54)
+cozhzk (62) -> fkagr, dqyaco
+jcrmny (70)
+zpadu (96)
+lfszf (50)
+vpnfkw (80) -> ewzvs, jbitbzb
+rphgr (895) -> gkfymj, rtchnfd, gtyfx, ujdhkyw
+bmlwb (481)
+mzaxe (52) -> itzntrm, wqtbny, jyhddhe, zgatapc
+qxzhq (180) -> ezjqb, kiceppo, zkiotrm, gqqgsz
+bkfxvy (1563) -> bkvuz, dbtoizo
+utaxgw (57) -> bupugpv, gnqxls, rnvenxi
+vcuizl (119) -> maklk, bxyvuvc
+ydbzo (57)
+lhagpts (737) -> utjtx, bcyipmu, vcuizl
+dkbycez (131) -> vagyecy, fvzfdr
+kdyuwjh (92)
+udcok (14)
+xssia (80)
+hrzvmel (34)
+dupdsj (81) -> hgsiz, yeicqcy, fncsm
+gseohkk (29)
+dllffsl (54)
+ixbsb (104) -> gjbikl, cogziqp, gdibw
+pqxpguz (22) -> tnpzf, zaxds, jvocm, eeluucp, zenvqu, ytqwzv
+abfkpur (651) -> ppeumu, yuvpdk, kzimilx, wbwyvyu, dkwbhuk
+khbth (270)
+vpvab (76) -> evgvano, ibfbn, xovrzf, qzbet
+iwotig (64)
+nomlh (74)
+oicxl (27)
+gqjhcw (5)
+cmfwb (18)
+assqm (23)
+tlyncze (36)
+pqkzpq (35) -> gjpcufw, ocmac, hohsf, qdtdbl
+zfxzq (58)
+vhlon (80)
+yiohbo (49) -> kwaqrgu, nezhs
+tymahpb (87) -> ladkvis, rlrcvv, fciadzu, xpigis, kckucu, kdrswra, khbth
+vcmntc (99)
+beigkn (86)
+pxzoq (16) -> mdimlja, hrufxbf, ufzrg
+wuwag (65)
+jdvya (385) -> zautz, haztq
+jbxllu (22)
+ashtupo (6)
+xgdyhva (893) -> tkureky, solmej, yucxy
+tooduon (92)
+decdq (43)
+ukhyz (95) -> ilnlkpv, bhzuzbt, agevvkl, byrfacr
+pgscbge (77)
+vdsjf (22)
+zqdoieb (53)
+sgtarpx (33)
+yhiby (100) -> tzljrvn, ckezp
+wdxfr (55)
+owxgj (37)
+uhmnltu (91)
+lsbzpu (6)
+ciwxuch (96)
+qskbft (200)
+gwwphk (79)
+kbarp (60)
+ygzas (55) -> ztyqti, nxapqfk
+shifzsw (54)
+huytmw (37) -> tsdfcgo, uqfbsti
+atwtz (58)
+ivcqfao (117) -> zqdoieb, bnmnak
+wifwhkq (80)
+ghtdnrx (1120) -> jcyxjwa, ftuvvv, nogbp
+ztsajt (128) -> grvqyf, yxsvp
+odmlf (60)
+hocfv (70)
+xegshds (53) -> upqkbq, hsdkmdv, ggxgmci, owjvny, gqiczm
+efulo (213) -> lzcikn, tihjcht
+jjkns (93)
+fedhzki (61)
+qtntw (294)
+airlbu (71)
+rzlkr (97)
+ogujo (49)
+jylgvd (165)
+immcgrm (47)
+hohsf (54)
+knzffuc (11)
+pwamvw (830) -> nvyaeal, tptcl, bbloz
+nifptxs (90) -> zapbrn, vhxgbd, hmenje, hlzape, ugaxscf, fjemwxf, arnbvk
+psvkj (81)
+acsqtk (128) -> ykcivtj, bhcwhrf
+ehgpqe (27)
+knxtlig (57) -> lhqhx, alkysnc
+sxino (50)
+hwhgi (86)
+glpwie (88) -> tzqux, uhwsavi, hfrtlx
+mrkknr (34)
+juxcxo (96)
+pxpeniz (41)
+buztc (76)
+ewhzc (60)
+bqpycy (253) -> snjfup, assqm
+oynlkiy (25)
+inful (168) -> knzffuc, ldgldpx
+sybsbk (27)
+towdptl (54)
+yujhec (30) -> qkzgb, nmwrqbx, dktkg, rnbvott, etingr
+nidvi (193) -> wjwit, dbuxj, rhpfhuc, ehyygbi
+ttkqf (85)
+iumsv (51)
+ijvrlpz (95)
+qqjvdh (76)
+mwznhh (17)
+ybwcod (63)
+yulcus (24)
+bcswm (96)
+lfjpkw (216)
+mjfhodb (18)
+dbuxj (20)
+ehyygbi (20)
+lgdbaig (4976) -> lplhe, sznyfy, tjrecaq
+odtgv (92)
+falrf (97) -> zttpfsd, zfaog, sdezdnz
+wyjnxf (12) -> bxipuq, ibosof
+icdptj (42) -> onlnhb, ibqenc
+lysysqu (237)
+vltkp (33)
+fwjufh (62)
+uqkhzxt (60)
+nbdfits (57)
+mtsju (42) -> tzevrtu, wflxu
+uxeyxk (88) -> ctmob, miwfyq, dtqyhj
+krrxx (27)
+tzevrtu (74)
+tjmeqt (50) -> sinrdj, bbrsdwl
+itzntrm (49)
+ehjpn (291) -> opbaea, kvxtl
+zayqjx (95) -> henlezn, vhpjrh
+cvzsvf (15)
+mmlsnw (63)
+agwpt (84)
+crfmd (70)
+jjpnqsk (29)
+otrlqy (56) -> hzbcp, qtcwngh
+smkcc (147) -> yalqeoe, uzjoy
+ztylsq (32)
+dvzoq (17)
+fyuitn (46) -> iumsv, fzmwc
+zkiotrm (49)
+ebhzgav (13) -> afooq, vihjl, xxoqrj, ipblpmy
+wgtmwjd (682) -> lsoto, abqknn, uzlgko
+kniivab (9) -> bymrwvc, aylzrt
+oxrpu (63)
+rsvcn (84)
+hgbvgnn (96)
+udlyr (227)
+ktaso (28)
+lmliqa (67)
+rcpscka (117) -> eduizfz, sholtl
+lzvpq (40)
+sixlpmr (310) -> ttrvo, onsjs, ppujydt, zmuit, dfzbuxo
+acibw (8)
+ftpwtol (98) -> sstby, wduscx
+pcfotkv (23) -> cszltz, pqdoti
+eknyvq (97)
+svxpx (66)
+nhyhkq (68)
+ttrvo (123) -> evpfdj, icdyfw
+hlbhkkr (80)
+bpuiaqr (96)
+azykbk (80)
+mnslyf (6) -> ouagp, wyjnxf, jxtzkel, vwtxaci, quxtc, yhiby, mgwiq
+yfngcvd (59)
+vfbhl (92)
+fhcrud (62)
+ggxgmci (66063) -> nsvan, qcbfbfz, anygv, gefrwix, kkeafw, jepbpw
+dlcep (74)
+aylzrt (67)
+ghxwug (84)
+auqfj (8)
+kdajj (40)
+wjjzh (96)
+njnyoek (21)
+lejuo (37)
+abeinmv (961) -> tlfklor, izqbvna, sxpqvwv, foqjjt, xqusi
+bkvaj (119) -> ktaso, ufqlean, czalivu
+npwrqsm (33)
+ysvbz (192) -> ekirg, lzvpq
+unhnq (5580) -> rvkalxi, kabbsvt, jwptb
+hqjlgre (47) -> jxxgurr, wvysxc
+kpotsk (294)
+nwand (344) -> vjtbtv, epnny, zdagr
+xbxqoh (40)
+ispeb (30)
+lznlhjd (33) -> qqjvdh, ribswz, ndebha, vsojq
+zlrboun (55)
+ofxdo (93)
+oxezpz (34)
+uqfbsti (73)
+zjljate (228) -> fzowmer, pcmgq
+kbxvke (195)
+uaxomk (87)
+udawli (6) -> eiliwle, ijvrlpz
+fnefss (348) -> qrtruk, ztsajt, aclnw
+hbampcd (10)
+czgws (57)
+anygv (3678) -> tghfe, ybzqi, fabacam
+qfxwzis (47)
+ullsjlc (99)
+yjarolt (69)
+cfefqhk (84)
+wflxu (74)
+icroy (52)
+ngkjtk (47)
+oqsdfwt (43)
+gswcnfo (93) -> gwnou, xedlv
+mdznc (19)
+zrdjlz (90)
+btlczl (205) -> sjoxehw, ucrqw
+xxyttn (228) -> dayjxl, melthx
+qrunwtc (208) -> rzyuyv, gjisc, zrqzlvd, sqwtiaf, kgnuc, ufnpup, lfjpkw
+hocvke (105) -> xzpov, btkih, kgijqnz
+luswe (7)
+whqrugy (77)
+ikkatj (76)
+hvdafm (590) -> gglig, nuorc, ioyesxg
+kyjjz (210)
+aqtgibg (84)
+byrfacr (93)
+tooqbdo (130) -> uaxsa, mcdpv, ccqsq
+zbthq (88)
+sboslk (27)
+mwvihj (93)
+ythbw (61)
+kgnuc (76) -> iuzfnx, kylauj
+xdnrao (194) -> wptxs, pdbtp
+nszphks (60)
+huyizg (24)
+ujapot (76)
+uycyz (2625) -> zzjwnh, ncirziy, icdptj
+xuzskid (54)
+xcvbgr (63)
+macpvga (239) -> fdqmg, hyqrffw, rfytg, idnhoqh, dchobfa, kyjjz, aqahah
+afrpf (29) -> ybbuy, uifanza
+klqmcsw (185) -> zvzdrp, luswe
+euglphc (165) -> jkyljso, abharn
+heiejhm (48) -> ndyceo, nvoys
+iulkkfp (112) -> pkwzp, cdzlq
+ucrqw (73)
+ivzps (58)
+lyhgmwz (12)
+ehwko (41)
+hasbi (124)
+pawmnl (91)
+kbtogma (96)
+dwwabne (6)
+wjwit (20)
+dktkg (232) -> ztuswk, iadezq, lhlyb
+iimyku (59)
+nlzohm (74)
+owgrt (6) -> zpimcy, xconx
+nyfdcz (61) -> zrdjlz, oevnzwt
+crihz (75)
+vehan (188)
+ucocdl (11321) -> sixlpmr, yujhec, uryldo, bgltopb, tpreug, gwwjmo, pwamvw
+urhawb (43)
+ztyqti (71)
+akmyzla (5)
+hdtmmh (61)
+vckxof (56) -> qpjgrr, lwejw
+ctvhcv (21)
+jdltlbx (92)
+yxsvp (41)
+xltlyvw (87)
+fatxilu (17)
+jljurl (14)
+wfold (83) -> affnbx, fhcrud, gcfqnlw, fwjufh
+mlavfvc (304)
+mhwqim (70)
+nemomq (62) -> jatrdb, nzrhtgr, ngyxxm, wnnnvgn, emlzcpy, haurusk, rynlaj
+jdbmary (92)
+icrilh (47) -> yolrh, cglbn
+ybzqi (395) -> pcfotkv, ewifyk, uredmot
+qvcpu (5)
+qzbet (255) -> miunk, horfum
+ckvji (42)
+jpcurr (9)
+stjxh (59)
+kucnmn (50) -> incbyp, ogujo
+vikstpo (80)
+sdezdnz (20)
+uticq (47)
+yynji (85)
+svnqa (313) -> nthqzh, uekit, hopiqm
+xmufp (1476) -> cozhzk, xvjkwcd, yzjmm, jzsmrz, zuzkw
+emdehy (42)
+usixdl (84)
+kgqhmx (27)
+wjnibfh (12)
+bvwdckm (47)
+icoic (86)
+aicos (78)
+kabbsvt (1459) -> rwtva, wykyl
+vuhehz (589) -> kdsmyax, tooqbdo, zizsy
+lwbcn (64)
+owjvny (68748) -> lgdbaig, yskay, uvftw
+moxxiw (480) -> apyhkb, uakqow, tutfkbo, zmiyzin, hgwupie, thtnmkb
+miunk (78)
+tjrecaq (5) -> dzxkea, fsckdb, dreryps, svnqa, qfegd
+twnon (66) -> ciwxuch, zpadu
+fciadzu (152) -> rmnfq, tnxxb
+pwmoihf (93)
+vsbbr (61)
+apyhkb (163) -> ixvot, dllffsl
+dkwbhuk (1778) -> wavbwew, hlbhkkr
+gnqxls (36)
+dlglddh (98)
+tlfklor (190) -> bwnvvei, thwgxk, thcth, gvphwwi
+pwyspt (240)
+eynrs (4953) -> gtvuq, vidgimw, fnefss, clmkbr, yxfysz, latvopy
+ntfvgoj (97)
+msxnd (45)
+atwsafs (245)
+incbyp (49)
+ktiuc (1175) -> mzaxe, xxyttn, tmwvxgi, azcuz, szkgky, beaubot, ffvahj
+hikmxhb (6)
+ctmob (96)
+zmiyzin (94) -> ryrig, sqwfq, mbpgrbi
+gjauauy (12)
+asymmuf (33) -> bwsbj, tfiynwo, zideon, xvkcms, jezdog, twnon, raloti
+aoscisa (12) -> mnyokhx, ppigbow, eubqww
+jbitbzb (54)
+wwnkoz (62)
+picati (50)
+kmnmx (481)
+lmdsuz (34)
+nqohnyo (99)
+rcvol (76)
+ccqsq (27)
+bsxjp (70) -> xcvbgr, gdidwas, hrhcwn
+uakqow (237) -> advexy, zkvrxb
+eckgtt (234) -> sofrfdv, nxygf, dbcrmjt
+azcuz (64) -> vetib, jirva
+hegyu (282) -> mfmrv, zwqpx, fyynsgp, hikmxhb
+ppbvdzh (47)
+snjfup (23)
+yjlzh (23)
+qcako (11)
+lplhe (1375) -> qrklawm, avytp, fqrwf
+gtyfx (110) -> vgvfksg, mmlsnw
+jsdvowc (76)
+beaubot (118) -> rscnige, dzjwel
+wgvlq (23)
+gjisc (192) -> liczn, lyhgmwz
+jdqmr (10)
+fjouck (19)
+xreip (84)
+ooeypdy (134) -> kgqhmx, vrvzkc
+beiih (2781) -> wuwag, xbhexk
+nroory (31)
+hswdm (45)
+kexrse (40)
+ahracx (1289) -> mhgdq, homcnz
+aksev (153) -> oqctx, cvzsvf
+hmzal (155) -> hsael, wltyw
+cldaf (97)
+iscnnvh (606) -> fzzyjt, xtbqb, vyzhqx, owtdq
+ibosof (98)
+lhkoebz (67) -> jnenlog, jblnqb
+slnoqn (21)
+ulhmjq (34)
+noqbv (8)
+xeppuz (7)
+fxpic (304)
+gktepby (64)
+gjkbf (67)
+qaugj (61)
+bbloz (51) -> icroy, rshqkfx
+pjiicj (67)
+ucqpz (39) -> dlglddh, tvhui
+rwgpcs (57)
+uzxovd (33)
+jqougaa (59)
+vrhke (93)
+kkeafw (1602) -> gbcfg, uodmc, mnslyf
+dcpqyp (6) -> soxzrwm, zxbirr
+ceztn (37)
+zwfly (18)
+yfriw (59) -> xdvwjb, crfmd
+gefbk (139) -> ivzps, atwtz
+dpkdpj (126) -> mfyivv, aqtgibg
+xpgzcxc (71)
+rymvvbq (118) -> qjtldq, bawgh
+bkpxd (20)
+tqjmaxi (37)
+phqyeg (90)
+xnzhkrn (54)
+niydyxq (33)
+upqkbq (26244) -> dfnak, szsny, ehkrs, eynrs, cbpsyx, bbixr, zsckv
+zcrgoy (17)
+zuphhfa (199) -> ospcnv, pkagrvq
+snhlzkk (428) -> iriyw, qdlcvk, mhium
+qtcwngh (67)
+jirva (92)
+nyqju (66) -> nszphks, kbarp, guivwse, nnsogp
+zdjxp (716) -> hhjdf, woiqeq, wfold
+schym (20) -> fgyndgv, hlqed
+ngyxxm (96) -> viqhzr, yylvwtf
+woiqeq (149) -> jslpd, pfjvzzw
+sthyxh (235)
+xbhexk (65)
+wnnnvgn (152) -> suqxa, wmhjbm
+xzixh (71) -> wdnjs, hlzyncx
+hwqhsc (235) -> akmyzla, tlekuus
+bidasc (18)
+pzbgmxx (156) -> vsevm, dwztnh, sybsbk
+ckjdqr (49)
+qdtdbl (54)
+dvoul (816) -> yfriw, klqmcsw, ueepet
+jkyljso (51)
+ugqjxlt (43)
+uazvt (57)
+qovrrvg (172) -> eboizv, rrqfy
+wgvxebc (62)
+iwysxj (92)
+gmtzu (30)
+rwtva (64)
+uulig (24) -> cqifjd, abjrozg, lgurkym, lznlhjd, lskrih
+nefive (168) -> opkjkav, kyphnel
+qsgjk (21)
+kgpymt (18)
+avytp (154) -> mdbixwm, mshht
+yskay (47) -> asymmuf, gnjkpwf, tlmnwl, iyekup, rphgr, mfohmwu
+mmyiwt (61)
+wfilxtb (50)
+iibjdbp (76)
+amtxw (40)
+ndyceo (86)
+vbqsm (250) -> jdqmr, hbampcd
+ttstqws (38)
+ybbuy (87)
+bfrmpr (101) -> dsjirbh, latvu
+vagyecy (52)
+rwlchj (73)
+vdqpuon (868) -> pykcpw, yioxr, lcgym, wbijkw, dupdsj
+zegoosj (36)
+emcstpe (71)
+pykcpw (168) -> bdkmsdy, mwznhh, zcrgoy
+ymnichj (909) -> jfhpd, xvedp, phswa, udawli, tjmeqt
+wlibbwd (5) -> nogjxu, bapvb, azykbk
+bncsnst (12)
+uxbnnor (76)
+zbodhfq (56)
+qhezs (93)
+drhmhn (18)
+hcfgf (197) -> tpfcmlm, xxxauxt, plcxnz
+cbomeum (35)
+qpjgrr (66)
+dsjirbh (35)
+lkoagx (58)
+szsny (5431) -> yvbgs, lcepfsw, exfeog, rxxqpi, fuunnks
+ytlzs (251) -> xnzhkrn, hezjirm, xuzskid, mwdqdbu
+dzxkea (322) -> cwevfy, mepeg, bvnfacp, tygpx
+xikuc (10)
+rmnfq (59)
+qfaubqr (82)
+sauwet (445) -> bsieig, mrsxl
+pdzfg (134) -> qfxwzis, ppbvdzh, rzwkjvu, sqwejs
+quryyds (78) -> tfshhr, wdxfr
+jvmuid (62)
+cpwfem (93)
+wratzd (22)
+fhdkp (232) -> sbhcx, kdcyull, sikpe
+agevvkl (93)
+xadsoxv (71) -> whqrugy, fmlyuv, yerfxa
+gvpac (51)
+ipsfv (211) -> bkpxd, xivvpur
+zprquyv (97) -> vrnxiui, htmrm
+akobg (1607) -> vcsdacf, udfmh, ambgac
+phxtzgu (78) -> exfffna, ewhzc, lufgbo, odmlf
+rreoxyc (8)
+jmmticn (24) -> chzrjqp, zhcmvvm, phqyeg
+woxpci (80)
+cvchqoz (24)
+qxnuj (70)
+tpfcmlm (20)
+hewjj (263) -> dwwabne, iwhazt
+adxox (79)
+bxyvuvc (90)
+opbaea (26)
+xcbliim (404) -> wonyy, drhmhn, kgpymt
+kzimilx (328) -> qmttkg, hpobvlt, pdzfg, zkborz, sbanx
+mtvoxu (54)
+qfggzok (67)
+vxtfjhq (23)
+hixeb (80)
+bkvuz (73)
+npozpo (98)
+uqhnekk (17)
+rhpfhuc (20)
+ribswz (76)
+mnyokhx (84)
+oleuqo (43)
+usbjyly (907) -> mjftixu, vldursw, ipsfv, pqkzpq, fkdauwn
+nkbtsr (19)
+szzhp (10)
+hgwbjzo (83) -> pnhxqna, zxwmd
+bubhosg (45)
+lxxkjb (45)
+yolrh (14)
+cdzlq (96)
+mbpgrbi (59)
+lqvrx (85)
+mmaqp (159) -> fsdlnh, ypmvfz
+ekirg (40)
+mdimlja (36)
+cxynfb (183) -> wcqsimj, kwxpb, jprkymy, yjlzh
+kgijqnz (55)
+bapvb (80)
+oqctx (15)
+bemhni (51)
+lcgym (199) -> anifo, eshjt
+hopiqm (31)
+ujdhkyw (136) -> yccqn, wfilxtb
+ygbphkw (2416) -> eujnekp, utaxgw, jylgvd
+occtbf (11)
+vhdke (7) -> wqtbb, buztc, trzjoi, brubv
+hpobvlt (186) -> lmdsuz, gumpsin, xpzzkdb, oxezpz
+bdprpzc (38)
+xcuid (26)
+txayxeg (146) -> ngkjtk, uticq
+ftuvvv (89) -> juxcxo, onmghy
+vgysxct (103) -> cygpuh, svxpx
+nxapqfk (71)
+kylauj (70)
+amyymhg (52)
+jjpco (92)
+mgmoe (45)
+sinrdj (73)
+rzclv (91)
+ahcjog (59) -> yhhob, rvbbn, cawzw
+saqcb (64)
+cfmcrf (126) -> phmqb, xeppuz
+uluavyz (311)
+rzyuyv (182) -> uqhnekk, yqpivvl
+ckezp (54)
+ljihfp (71)
+plcxnz (20)
+uguqde (18)
+scdvmta (40)
+sofrfdv (28)
+sahfob (87)
+lzcikn (30)
+gdidwas (63)
+xqyyni (227) -> sjiaux, dwkkssy
+yoibok (50)
+wjgdz (54)
+uifanza (87)
+ufzrg (36)
+kwxpb (23)
+vmrdwe (13)
+yucxy (65) -> mpedpht, jhzoyme
+xuzvwcg (23) -> bluacvc, xcuid
+wrbtgkb (45)
+abqknn (142) -> kialkdr, xtqnalt
+dklrle (46)
+lhqbgck (632) -> ykcxtea, zjljate, ysvbz, qovrrvg
+smzpa (114) -> jugwirf, ttborca, tmuuyka
+fwoyu (86)
+dgkhq (64)
+tvhui (98)
+clyht (10)
+sspem (80)
+pgpvnb (39)
+zkborz (322)
+liueudh (63)
+myrlvj (63)
+cszltz (51)
+ambgac (34)
+pwznn (120) -> cougztw, krrxx
+iwhazt (6)
+hgoruv (59)
+gglig (156) -> saqcb, mubenp, vwqof
+bwnvvei (50)
+ezjgtbp (71)
+xzkzoq (73) -> gtktonk, odtgv
+qkzgb (219) -> ukkph, zrsya
+cphgovc (269) -> nnqghfo, ohjvf
+bdkmsdy (17)
+hzbcp (67)
+btkih (55)
+ejyho (96)
+ecagt (7)
+vhxgbd (267) -> lkoagx, vrjfn, zfxzq
+estka (47)
+tihjcht (30)
+tcaemi (171)
+bnmnak (53)
+jtendcr (85)
+uekit (31)
+jbpvbc (168) -> caukzx, pjiicj
+pdbtp (91)
+gjpcufw (54)
+bvnfacp (21)
+dqzsblu (91) -> wzlonwk, ywxkr, iggqobg, lydjsu
+fjekad (48)
+juzol (73)
+dfzbuxo (17) -> fdrki, ufmlfmj, jxdqhu
+dombfx (57) -> oxrpu, ybwcod
+eidmza (481)
+advexy (17)
+ddleaoo (71)
+bcyipmu (229) -> aflaj, cbomeum
+rsttknu (97) -> bsxjp, bmzeddf, ndwvmg, glpwie, exbgy
+tnham (76)
+zideon (236) -> occtbf, hmltq
+gfltww (51)
+eduizfz (79)
+fsdlnh (54)
+jugwirf (51)
+yylvwtf (98)
+npefyxi (86)
+gszlkf (30)
+wptxs (91)
+amntev (61)
+hlqed (76)
+rvbbn (81)
+sygyji (6)
+wcqsimj (23)
+fjqccm (14455) -> tymahpb, ouycck, ehazo
+gcfqnlw (62)
+nnbokwt (194) -> mngea, hcajnu
+bxipuq (98)
+izqbvna (250) -> zoszls, kkoitqr
+zxbirr (83)
+nkipkdo (72)
+yuvpdk (1257) -> gswcnfo, vceutc, kahwlj
+eiliwle (95)
+ohjvf (99)
+cvkmmqc (54)
+cdvscgo (44) -> tjmyc, phxtzgu, ayuhvb, eckgtt, wubltb
+trzjoi (76)
+zzdbn (50)
+wonyy (18)
+woxmeo (56)
+enohjb (206) -> bkdxl, ttkqf
+sznyfy (1243) -> xkfxnp, aoscisa, bbzhhk
+phbapzv (50)
+gkfymj (92) -> fbvhl, nkipkdo
+hmltq (11)
+kafyh (36) -> eincbt, amyymhg
+pbkmeod (78) -> estka, ychaa
+fgyndgv (76)
+kunhp (19) -> rqpbivd, kdyuwjh
+vruhp (227) -> woxpci, hixeb, sspem
+jirnr (24)
+kaekzo (48)
+dsuonma (23)
+xdxhzm (893) -> sncjicb, mmvhi, brchwcm, gefbk
+bxpfs (92)
+qdzbmhn (1640) -> xrabl, pwznn, dvzguq
+aplke (19)
+veuqzjh (25)
+tpreug (377) -> axjkbq, hegyu, nyqju
+fpmvb (17)
+hlmdgp (78)
+wbgwke (19)
+dzjumb (43)
+clmkbr (482) -> hasbi, pxzoq, ecfquya, coezio
+affnbx (62)
+ignblg (123) -> txeege, owxgj
+ehqlqj (40)
+vulynlf (18)
+tghfe (89) -> usddqi, zuphhfa, rjzbhh
+mdbixwm (33)
+fdrki (60)
+ggxhzhd (10) -> masck, amntev
+obejsk (99)
+eubqww (84)
+auocy (60)
+pqxef (50)
+lhlyb (7)
+tfiynwo (174) -> emdehy, zgtzox
+jezdog (58) -> wvxvu, picati, tnisesh, yoibok
+zizsy (89) -> hdtmmh, mmyiwt
+ufmlfmj (60)
+maklk (90)
+oxvqjeh (17638) -> xscyb, wzjsbdm, lzikkl, xlyxjyx, flmeo, xcbliim
+mmvhi (113) -> xpgzcxc, ddleaoo
+yalqeoe (38)
+ecfquya (32) -> vlfpib, dklrle
+sagihe (940) -> bicpqwm, dyfptec, kbxvke, mgdhu
+kiceppo (49)
+tnpzf (114) -> ewrcce, jqougaa
+vceutc (29) -> nqohnyo, vumxuur
+uzdzkal (32)
+csotuo (34)
+xlufw (93)
+hdqow (10132) -> uulig, macpvga, bkfxvy, zdjxp, akobg, vjboadc
+rfqquyg (92)
+sqwtiaf (30) -> aksgboa, qhezs
+lamrqdl (59)
+ittpbzy (101) -> jrkbskn, tqxfj
+vjboadc (1160) -> dombfx, aksev, huytmw
+iriyw (193) -> vxzgkqa, fjouck
+hiftfo (88)
+bsqlkiy (20)
+hzkeiu (16)
+arnbvk (329) -> zbodhfq, woxmeo
+pxsmani (85)
+jfapwfu (28) -> qhsptw, oqsdfwt, rsaitjm, decdq
+jrkbskn (79)
+zouqjoo (140)
+wduscx (86)
+vetib (92)
+qtfroa (112) -> pxpeniz, ehwko, ujfmq
+wgqnrc (30)
+nvyaeal (29) -> mpijek, myrlvj
+vsevm (27)
+cdxwbv (23)
+tzqux (57)
+qkqgwsl (19)
+ykcivtj (88)
+tsdfcgo (73)
+aqahah (68) -> airlbu, tgvqqn
+jddzj (11)
+zuzkw (16) -> sqfue, zlrboun
+rdizbi (30)
+lhxinfd (46)
+sjiaux (15)
+zfaog (20)
+tgsdks (18)
+dreryps (38) -> rfqquyg, jdltlbx, obqactw, hbgeak
+xkfxnp (72) -> ejyho, hgbvgnn
+qrtruk (63) -> ckjdqr, dtmhqm, tzdntld
+mgwiq (16) -> wjjzh, kbtogma
+sjoxehw (73)
+jbpvtf (51)
+gjtpl (48)
+hrhcwn (63)
+igkso (40) -> tqfzh, gbhlxb
+cygpuh (66)
+fckfbce (105) -> jtendcr, fcutr
+yerfxa (77)
+vjtbtv (77) -> unmxfe, rzclv
+ppujydt (23) -> pujhjf, lvwwxt
+qmvpgee (97)
+kdrswra (102) -> xreip, ghxwug
+oablvt (87)
+latvopy (38) -> smmnc, quryyds, vyptki, hgchigs, vckxof
+uaxsa (27)
+lissl (97)
+xovrzf (331) -> ehqlqj, scdvmta
+homcnz (62)
+crsjegg (21) -> iooqbyk, qrunwtc, bumibye, lhqbgck, sagihe, vpvab
+pkagrvq (14)
+thcth (50)
+nogjxu (80)
+hhjdf (207) -> wgvxebc, jvmuid
+ipblpmy (46)
+qmttkg (94) -> ohohls, zxdpmwl, czgws, ydbzo
+qjtldq (7)
+iggqobg (65)
+hhfgih (152) -> wratzd, vdsjf, tbynt, hlzzxi
+xvjkwcd (40) -> oleuqo, urhawb
+fabacam (305) -> dlcxjg, dlactl, falrf
+xvrgg (77)
+fshoj (23)
+uredmot (55) -> zmjzmyq, ghnldf
+psynxr (19)
+dtiprc (61)
+pevdihc (135) -> rbmoj, hiftfo
+jxtzkel (132) -> bdprpzc, ptfeyky
+uvftw (1277) -> hvdafm, xgdyhva, vvndbk, gwkfb, cdvscgo, lhagpts
+jvocm (114) -> lamrqdl, stjxh
+zgtzox (42)
+fzmwc (51)
+aopwj (77)
+vgeln (89)
+nvwknv (47)
+vrvzkc (27)
+sholtl (79)
+guivwse (60)
+gjbikl (12)
+kdsmyax (51) -> vhlon, vikstpo
+dyqgl (50)
+uqjsosg (67)
+kahwlj (79) -> nlzohm, nomlh
+lqgvx (97)
+sstby (86)
+sgcmty (77)
+hgchigs (34) -> djktoc, aopwj
+ouagp (24) -> lcfpcst, bxpfs
+tsahe (106) -> gjkbf, uqjsosg
+psjbb (86)
+vrjfn (58)
+rjzbhh (91) -> sarppfb, nhyhkq
+melthx (10)
+nuorc (40) -> ytlpe, fvhfru, xvrgg, kbdbe
+mubenp (64)
+mqtxqmz (12) -> lqvrx, chczyg
+ypmvfz (54)
+txote (73)
+vxzgkqa (19)
+bbrsdwl (73)
+xconx (83)
+enlfaa (479) -> djquz, sthyxh, hkuay, hmdqubz, qxccjtw, vgysxct
+wbwyvyu (13) -> hmzal, fckfbce, fqdtzfy, hgwbjzo, hewjj, rcpscka, cxynfb
+cvrph (145) -> dbdrdzo, acdahz
+izsgfu (64)
+jcexcl (18)
+oacoxb (1336) -> msazzkr, jbpvht
+acdahz (83)
+afooq (46)
+fkdauwn (187) -> aynknet, uzdzkal
+mpedpht (91)
+lcepfsw (218) -> schym, pbkmeod, ntodfz, owgrt, dcpqyp
+xscyb (458)
+pujhjf (87)
+jtankmh (190)
+pxctb (71)
+tqfzh (75)
+jzsmrz (126)
+nzrhtgr (150) -> ezjgtbp, xfxsxh
+tnxfqf (34)
+djquz (211) -> fwlme, lsbzpu, ashtupo, gbauyfh
+jyhddhe (49)
+wdnjs (85)
+byaaoab (186) -> ikhsv, pgpvnb
+bumibye (997) -> xzixh, kdsbbcf, nyfdcz
+frffchv (33)
+cogziqp (12)
+brchwcm (27) -> uxbnnor, iibjdbp, qupaz
+fbvvzp (304)
+tnisesh (50)
+henlezn (64)
+kbdbe (77)
+vojpfo (43)
+psxqu (61)
+fvzfdr (52)
+rvkalxi (77) -> vlzbp, jbpvbc, muvvvu, xadsoxv, ahcjog
+abharn (51)
+gegdmus (42)
+hfdjtw (43)
+zoqmn (54)
+vgwxuan (50)
+pjukxu (76) -> ikkatj, ujapot, rcvol
+oziwd (8)
+evgvano (411)
+evquf (195)
+gkjafru (18)
+ygwxr (144) -> ylpvre, cabbtti
+dniumoe (83) -> wajnp, mtvoxu, towdptl, kmiax
+tlekuus (5)
+mrchmw (43) -> xssia, wifwhkq
+ueepet (113) -> ugoetwf, hfdjtw
+znzsgk (98)
+cabbtti (48)
+cbpsyx (1290) -> nifptxs, oxzecjg, uycyz
+ulqnjx (18)
+ezjqb (49)
+xvkcms (212) -> vxtfjhq, imjhra
+kxgrtg (61)
+hxtbym (50)
+pqdoti (51)
+lizkruo (15)
+zzjwnh (130) -> ehgpqe, oicxl
+mzbwym (39)
+nkixmeh (32)
+xxxauxt (20)
+caukzx (67)
+zenvqu (124) -> sboslk, fwudfax, rlbdave, onqnmbp
+ivyarjy (46)
+ldgldpx (11)
+grvqyf (41)
+hlzzxi (22)
+jsvwb (10)
+cglbn (14)
+swefql (99)
+zgtsnwk (63)
+hlzape (373) -> fatxilu, htyvy, fpmvb, xxufma
+lqylns (82) -> inful, igkso, mtsju, otrlqy, jtankmh, vorviq
+iouzha (161) -> slnoqn, gmmkqp
+kwtszff (119) -> bkfqmqn, tbsmz
+rqpbivd (92)
+bupugpv (36)
+zaxds (66) -> ygywjq, pusxipi
+onmghy (96)
+jnenlog (78)
+sovfoi (97) -> uluavyz, vhdke, kuivtq, ylluriq, cvrph, pevdihc
+cfcbhku (90)
+tgvqqn (71)
+ncirziy (48) -> ulhmjq, zwoqof, hrzvmel, vrbss
+obqactw (92)
+udfmh (34)
+hgsiz (46)
+bicpqwm (177) -> sygyji, bjfou, qsche
+jslpd (91)
+pcmgq (22)
+graedp (89) -> npozpo, znzsgk, jxvses, teikos
+pnhxqna (96)
+cwwdl (73)
+msazzkr (28)
+mngea (23)
+gohxocn (23)
+qfqnrvt (4602) -> ptwedjj, xdxhzm, qsiqu
+rsaitjm (43)
+lwroef (37)
+jbpvht (28)
+wjovhv (35) -> gokngb, vczph, phbapzv, tqcwn
+nsabyg (99)
+tvbswr (45)
+fwbly (134) -> dzjumb, ugqjxlt
+hrufxbf (36)
+wltyw (60)
+ptfeyky (38)
+jwptb (1539) -> yulcus, ndvns
+qxccjtw (178) -> wbgwke, arqqbb, qkqgwsl
+ewrcce (59)
+oxzecjg (2983) -> eknyvq, myypsh
+dwkkssy (15)
+gnxiznu (126) -> nroory, loofhh
+bejncv (38)
+qcbfbfz (2322) -> vuhehz, lqylns, wgtmwjd
+pkwzp (96)
+owtdq (103) -> frffchv, lkzdum, sgtarpx
+mdauzot (240)
+alkysnc (73)
+gtvuq (898) -> zuapfco, kexrse
+eewbbvo (70)
+jfhpd (196)
+mshht (33)
+sbanx (204) -> fhabfp, yfngcvd
+pusxipi (83)
+mwbvrhn (182)
+fbvhl (72)
+ulvmck (1649) -> bfrmpr, tcaemi, gkvrrq
+yproaz (18)
+bgltopb (866) -> bpbik, kniivab, quyasfd
+nnkpuhp (65)
+bhzuzbt (93)
+tcbrhdi (87)
+guzycwt (34)
+jdabb (61)
+fsckdb (268) -> yjarolt, dewtepm
+yfkyv (45)
+hyqrffw (146) -> ztylsq, nkixmeh
+ctkjip (87)
+vularzu (93)
+ygywjq (83)
+xzjcf (1843) -> mmaqp, euglphc, smzpa, zprquyv
+jblnqb (78)
+dbcrmjt (28)
+dewtepm (69)
+zdagr (249) -> gqjhcw, qvcpu
+jepbpw (383) -> tgwmbza, wifvw, nwand, tyjrdme, snhlzkk
+duxfof (39)
+tzljrvn (54)
+smmnc (20) -> agwpt, cfefqhk
+vgvfksg (63)
+ugaxscf (289) -> vtneuhy, bfcab
+tbynt (22)
+hkuay (121) -> bejncv, fpqpmca, ttstqws
+eujnekp (7) -> licby, adxox
+exfeog (853) -> crihz, xuzvwcg, icrilh
+gmmkqp (21)
+qfegd (228) -> vgeln, zdrwxqt
+lewizr (39)
+teikos (98)
+bwsbj (216) -> xrwnzgz, hydfd
+frzwdkn (11)
+fgokr (19)
+cwevfy (21)
+dzekyo (43)
+tmuuyka (51)
+njppj (23)
+eboizv (50)
+gvphwwi (50)
+vidgimw (534) -> dsstjf, fyuitn, kucnmn
+wmhjbm (70)
+zkvrxb (17)
+gwnou (67)
+pihpjbp (14)
+lwejw (66)
+fmlyuv (77)
+rtstdkd (47)
+kmiax (54)
+vyptki (98) -> mgmoe, msxnd
+gwkfb (1238) -> ggxhzhd, rymvvbq, wvwiwua
+wvwiwua (108) -> wjnibfh, exiwwbx
+shilhu (67)
+bpbik (97) -> cdxwbv, zchxtxj
+hssgk (14)
+hujzcku (44)
+tjmyc (258) -> gmtzu, rdizbi
+vhjfcw (191) -> yproaz, tgsdks
+ewzvs (54)
+qsche (6)
+rxwtoee (30)
+muvvvu (167) -> gbkubnt, lxxkjb, vjdrrnk
+sbhcx (48)
+vvndbk (953) -> jgwvyp, udlyr, vhjfcw
+nnqghfo (99)
+coezio (70) -> jcexcl, woeabie, uguqde
+zchxtxj (23)
+rfytg (142) -> oldfs, mrkknr
+ndtsa (7)
+qrklawm (78) -> emcstpe, pxctb
+ladkvis (99) -> nbdfits, uazvt, rwgpcs
+ewiugad (167) -> uzxovd, vltkp, niydyxq, yxknolf
+yioxr (150) -> njppj, inpjzmh, nbfpp
+exfffna (60)
+rrqfy (50)
+sdwnkb (93)
+rshqkfx (52)
+fvhfru (77)
+tutfkbo (187) -> ckvji, gegdmus
+vlfpib (46)
+lsoto (148) -> fwjnm, hzkeiu
+ecxayrz (63) -> wutzd, vbqsm, nefive, ftpwtol, hocvke
+urexzjf (187) -> wxyhyh, vojpfo
+nbfpp (23)
+rspilzk (40)
+zgatapc (49)
+vcsdacf (34)
+rnvenxi (36)
+mcdpv (27)
+oieuzv (25)
+txtnweq (67)
+sarppfb (68)
+wpxxz (20) -> fedhzki, vsbbr, psxqu, jdabb
+usglf (78)
+ujfmq (41)
+fpqpmca (38)
+yxknolf (33)
+ppeumu (517) -> mrchmw, bkvaj, iouzha, knxtlig, jdvro, afrpf, kunhp
+acueoez (86)
+foqjjt (294) -> fjekad, gjtpl
+dyfptec (105) -> ispeb, wgqnrc, rxwtoee
+idnhoqh (70) -> mzftrlb, qxnuj
+vrnxiui (85)
+tgwmbza (1064) -> aplke, tqnqxx, nkbtsr
+mhgdq (62)
+yccqn (50)
+bbixr (4503) -> xmufp, moxxiw, nemomq
+aynknet (32)
+cdrjh (64)
+hgwupie (115) -> aicos, zziuivt
+fwjnm (16)
+qhsptw (43)
+ptwedjj (33) -> xdnrao, enohjb, uxeyxk, qxzhq, fhdkp
+jxvses (98)
+xvedp (50) -> cwwdl, rwlchj
+jxxgurr (95)
+etingr (217) -> ulqnjx, vulynlf
+bsieig (18)
+mhium (203) -> hssgk, jljurl
+vlzbp (286) -> auqfj, noqbv
+suqxa (70)
+dlcxjg (17) -> mhwqim, jcrmny
+xpigis (270)
+ehkrs (11) -> ulvmck, dhujegl, fngfnuz, qdzbmhn, usbjyly
+xxoqrj (46)
+rscnige (65)
+dhujegl (34) -> mlavfvc, fxpic, fbvvzp, qinwdk, acsqtk, pjukxu, iulkkfp
+qgufw (74)
+cznqutl (99)
+evpfdj (37)
+pfjvzzw (91)
+ffvahj (47) -> qdxpkx, vmvjl, qfggzok
+yfouoak (56) -> vfbhl, jjpco
+qntqokn (8)
+kebefwy (246) -> jguhhsb, jpcurr
+hbozym (48)
+infll (59)
+wvysxc (95)
+ospcnv (14)
+nvoys (86)
+efvvtgo (185) -> zegoosj, tlyncze
+lhqhx (73)
+yqpivvl (17)
+hcajnu (23)
+tgtjhg (25)
+viqhzr (98)
+yygyfi (155) -> jddzj, qcako, frzwdkn
+yzjmm (36) -> ldakuz, fivaym
+kialkdr (19)
+gdibw (12)
+rdngdrd (80)
+lgurkym (337)
+ddsmt (87)
+rkdopb (82) -> todbu, sahfob, uaxomk
+xslucv (51)
+bfcab (76)
+gnjkpwf (947) -> zayqjx, smkcc, lhkoebz, ivcqfao
+iadezq (7)
+ckgmjsg (44)
+tqxfj (79)
+nmwrqbx (55) -> obejsk, nsabyg
+mepeg (21)
+iuzfnx (70)
+bfphqmo (99)
+myypsh (97)
+ykcxtea (86) -> cpwfem, vularzu
+yhhob (81)
+fcutr (85)
+rjfqyz (71) -> rfvtfs, xlufw
+ryrig (59)
+fzzyjt (202)
+tyjrdme (321) -> zngystc, jfapwfu, qskbft, pvqfa
+ywxkr (65)
+vjdrrnk (45)
+tptcl (61) -> krxpma, rtstdkd
+tnxxb (59)
+zrsya (17)
+jprkymy (23)
+icdyfw (37)
+iovan (1882) -> wppgjkw, rkdopb, ehjpn
+qeijcl (12)
+izfqx (47)
+mwdqdbu (54)
+txeege (37)
+onqnmbp (27)
+isuevmr (221) -> sphktgz, gjauauy, bncsnst
+ohohls (57)
+kwaqrgu (94)
+mfmrv (6)
+dzjwel (65)
+ibfbn (75) -> hquuw, sreeeqf, usixdl, rsvcn
+uzjoy (38)
+jhzoyme (91)
+loyjp (62)
+vazst (45) -> ymfwoto, hxtbym, lfszf
+jkhruz (15)
+ioyesxg (132) -> wjgdz, cvkmmqc, shifzsw, zoqmn
+veyvaoh (7)
+cpoxc (217) -> wqobawc, shilhu
+zvzdrp (7)
+hydfd (21)
+tygpx (21)
+juvwvsn (53)
+phswa (176) -> xikuc, clyht
+fhhzvwj (20)
+vldursw (145) -> rsjmc, juvwvsn
+ocmac (54)
+dchobfa (12) -> ullsjlc, cznqutl
+onlnhb (71)
+ftolbk (183) -> pagsex, wrbtgkb
+flrdpaj (92)
+vmvjl (67)
+kqcog (48) -> bcswm, bpuiaqr
+cstnc (79) -> bubhosg, tvbswr, hswdm, yfkyv
+vuazmuj (23)
+eincbt (52)
+wzjsbdm (62) -> sytjgl, tfuuzgi, bfphqmo, vcmntc
+dvyohbc (85)
+zwoqof (34)
+wqtbb (76)
+gkvrrq (77) -> izfqx, bvwdckm
+xivvpur (20)
+jxzyc (141) -> nvwknv, immcgrm
+ufqlean (28)
+todbu (87)
+qdmop (85)
+thtnmkb (95) -> adjfke, zbthq
+ikzqhu (50)
+jcyxjwa (98) -> agjdl, dtiprc, qaugj
+horfum (78)
+dayjxl (10)
+vczph (50)
+alpas (17) -> dgkhq, izsgfu, gktepby, iwotig
+dqrsxx (81)
+ixvot (54)
+hoagrj (99)
+dwztnh (27)
+uodmc (727) -> atwsafs, hwqhsc, wlibbwd
+dqyaco (32)
+bkfqmqn (70)
+dlactl (127) -> jkhruz, lizkruo
+kuivtq (311)
+wkkqsy (80)
+szkgky (76) -> psjbb, beigkn
+wutzd (168) -> guzycwt, tnxfqf, csotuo
+rlrcvv (128) -> hkelse, ljihfp
+vtneuhy (76)
+exbgy (159) -> veuqzjh, oynlkiy, oieuzv, tgtjhg
+bjrfinh (97)
+hsdkmdv (50286) -> unhnq, crsjegg, abfkpur, qfqnrvt, etsxvmj
+masck (61)
+vrbss (34)
+ytqwzv (68) -> qfaubqr, fyxdfod
+kvxtl (26)
+ibqenc (71)
+zsckv (6579) -> iscnnvh, pqxpguz, wqudy
+splhdhe (80)
+raloti (104) -> sgcmty, pgscbge
+sreeeqf (84)
+tqnqxx (19)
+xaskpny (79)
+gbauyfh (6)
+exiwwbx (12)
+phmqb (7)
+bydmdru (60)
+zwqpx (6)
+ehazo (1097) -> heiejhm, fwbly, gyivxga, wjhgb
+zudhbe (168) -> ndtsa, ecagt
+fncsm (46)
+zhkmnxk (21) -> ytlzs, ukhyz, cphgovc, vruhp
+cqifjd (189) -> knsphtv, qgufw
+vcllnn (244) -> dkbycez, jxzyc, qtfroa, ucqpz, wjovhv, pxfpf, orawnkw
+arqqbb (19)
+dsstjf (100) -> cvchqoz, jirnr
+bjfou (6)
+gokngb (50)
+qupaz (76)
+opkjkav (51)
+fgayln (257)
+jzdtwf (7)
+dbdrdzo (83)
+sytjgl (99)
+nthqzh (31)
+ndwvmg (235) -> qeijcl, kyhace
+gwwjmo (575) -> mdauzot, yfouoak, qkrirn
+evofb (24)
+ugoetwf (43)
+zrqzlvd (42) -> eavfy, tcbrhdi
+djyks (81)
+gwsceo (9) -> beiih, guipj, xzjcf, ktiuc, iovan, ygbphkw, abeinmv
+qdlcvk (61) -> dvyohbc, yynji
+lvwwxt (87)
+fngfnuz (1222) -> vehan, yygyfi, vpnfkw, gnxiznu, ooeypdy
+dfnak (6645) -> cxfvbz, oacoxb, rsttknu
+pftmymi (13)
+ikhsv (39)
+quyasfd (63) -> xbxqoh, kdajj
+ntodfz (172)
+krxpma (47)
+xpzzkdb (34)
+dtmhqm (49)
+hquuw (84)
+tfuuzgi (99)
+rbmoj (88)
+tfshhr (55)
+nxygf (28)
+wvxvu (50)
+chczyg (85)
+djktoc (77)
+ttborca (51)
+pvcpmx (137) -> jjpnqsk, gseohkk
+fwudfax (27)
+vyzhqx (62) -> eewbbvo, hocfv
+dvzguq (140) -> ulzcu, dvzoq
+rhwfl (74)
+mfohmwu (344) -> dniumoe, uuimn, ewiugad, vkkds, bqpycy
+lskrih (177) -> splhdhe, rdngdrd
+vihjl (46)
+adjfke (88)
+brubv (76)
+rzwkjvu (47)
+iyekup (1248) -> ignblg, ebhzgav, ygzas
+uryldo (749) -> mqtxqmz, mwbvrhn, zudhbe
+vorviq (176) -> jzdtwf, veyvaoh
+vsojq (76)
+ilnlkpv (93)
+tzdntld (49)
+tuefd (209) -> kqcog, hhfgih, nnbokwt, pwyspt, txayxeg, tsahe, ygwxr
+bmzeddf (259)
+sqfue (55)
+ndebha (76)
+ulzcu (17)
+tlmnwl (474) -> nidvi, alpas, urexzjf, ftolbk, efulo
+thwgxk (50)
+soxzrwm (83)
new file mode 100644
--- /dev/null
+++ b/2017/day07/problem
@@ -0,0 +1,106 @@
+--- Day 7: Recursive Circus ---
+
+Wandering further through the circuits of the computer, you come upon
+a tower of programs that have gotten themselves into a bit of trouble.
+A recursive algorithm has gotten out of hand, and now they're balanced
+precariously in a large tower.
+
+One program at the bottom supports the entire tower. It's holding a
+large disc, and on the disc are balanced several more sub-towers. At
+the bottom of these sub-towers, standing on the bottom disc, are other
+programs, each holding their own disc, and so on. At the very tops of
+these sub-sub-sub-...-towers, many programs stand simply keeping the
+disc below them balanced but with no disc of their own.
+
+You offer to help, but first you need to understand the structure of
+these towers. You ask each program to yell out their name, their
+weight, and (if they're holding a disc) the names of the programs
+immediately above them balancing on that disc. You write this
+information down (your puzzle input). Unfortunately, in their panic,
+they don't do this in an orderly fashion; by the time you're done,
+you're not sure which program gave which information.
+
+For example, if your list is the following:
+
+pbga (66)
+xhth (57)
+ebii (61)
+havc (66)
+ktlj (57)
+fwft (72) -> ktlj, cntj, xhth
+qoyq (66)
+padx (45) -> pbga, havc, qoyq
+tknk (41) -> ugml, padx, fwft
+jptl (61)
+ugml (68) -> gyxo, ebii, jptl
+gyxo (61)
+cntj (57)
+
+...then you would be able to recreate the structure of the towers that
+looks like this:
+
+                gyxo
+              /     
+         ugml - ebii
+       /      \     
+      |         jptl
+      |        
+      |         pbga
+     /        /
+tknk --- padx - havc
+     \        \
+      |         qoyq
+      |             
+      |         ktlj
+       \      /     
+         fwft - cntj
+              \     
+                xhth
+
+In this example, tknk is at the bottom of the tower (the bottom
+program), and is holding up ugml, padx, and fwft. Those programs are,
+in turn, holding up other programs; in this example, none of those
+programs are holding up any other programs, and are all the tops of
+their own towers. (The actual tower balancing in front of you is much
+larger.)
+
+Before you're ready to help them, you need to make sure your
+information is correct. What is the name of the bottom program?
+
+Your puzzle answer was xegshds.
+
+--- Part Two ---
+
+The programs explain the situation: they can't get down. Rather, they
+could get down, if they weren't expending all of their energy trying
+to keep the tower balanced. Apparently, one program has the wrong
+weight, and until it's fixed, they're stuck here.
+
+For any program holding a disc, each program standing on that disc
+forms a sub-tower. Each of those sub-towers are supposed to be the
+same weight, or the disc itself isn't balanced. The weight of a tower
+is the sum of the weights of the programs in that tower.
+
+In the example above, this means that for ugml's disc to be balanced,
+gyxo, ebii, and jptl must all have the same weight, and they do: 61.
+
+However, for tknk to be balanced, each of the programs standing on its
+disc and all programs above it must each match. This means that the
+following sums must all be the same:
+
+    ugml + (gyxo + ebii + jptl) = 68 + (61 + 61 + 61) = 251
+    padx + (pbga + havc + qoyq) = 45 + (66 + 66 + 66) = 243
+    fwft + (ktlj + cntj + xhth) = 72 + (57 + 57 + 57) = 243
+
+As you can see, tknk's disc is unbalanced: ugml's stack is heavier
+than the other two. Even though the nodes above ugml are balanced,
+ugml itself is too heavy: it needs to be 8 units lighter for its stack
+to weigh 243 and keep the towers balanced. If this change were made,
+its weight would be 60.
+
+Given that exactly one program is the wrong weight, what would its
+weight need to be to balance the entire tower?
+
+Your puzzle answer was 299.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day08/input
@@ -0,0 +1,1000 @@
+ioe dec 890 if qk > -10
+gif inc -533 if qt <= 7
+itw dec 894 if t != 0
+nwe inc 486 if hfh < -2
+xly inc 616 if js >= -3
+j inc 396 if b != -5
+nwe dec -637 if uoc > 0
+b inc 869 if yg >= -3
+gif dec -221 if iyu < 0
+tc dec -508 if gy >= -7
+x dec 637 if gif < -526
+nwe dec -185 if nwe != -8
+x inc 638 if b != 869
+ih dec -722 if itw > 9
+xly inc -38 if ih >= 8
+hm dec 910 if t == 0
+uoc dec -585 if qt == 0
+js dec -325 if hm == -910
+yr dec -922 if cp != 0
+qt dec 316 if itw != 2
+bi dec -422 if iyu <= -1
+uoc inc -862 if itw <= 3
+itw dec -301 if x < -632
+gif inc -492 if fi != 5
+uoc inc -745 if x < -631
+xly inc 21 if js > 331
+hm inc 44 if js > 334
+js dec 503 if tc > 503
+t inc -216 if j == 396
+yg inc 559 if nwe > 189
+bhp dec -214 if x >= -646
+hm dec 366 if fi == 0
+t dec -658 if nwe == 185
+hm inc -432 if qt <= -307
+xly dec 695 if uoc >= -1031
+cp inc -438 if x != -647
+yg dec 211 if x >= -628
+bi inc 829 if ih > -8
+yg dec 540 if tc >= 503
+hm dec -913 if qt > -310
+qk inc -406 if itw < 309
+uoc dec -716 if iyu >= -1
+ih inc -655 if qt != -316
+ih inc 6 if xly > -80
+cp inc 795 if xly > -88
+bhp dec 59 if yr < 1
+yr dec 952 if x >= -628
+xly dec -867 if j > 393
+fi inc 720 if ioe >= -892
+gif inc 454 if ioe > -886
+j dec 547 if fi != 720
+qk inc 665 if bi > 819
+hm dec -174 if cp != 357
+hm dec -795 if uoc <= -314
+uoc inc 273 if itw <= 307
+gy dec 212 if xly >= 783
+tc inc 918 if ih != 9
+tc inc -43 if js >= -186
+gif inc -615 if b == 869
+bhp inc -335 if fi > 724
+ih inc 747 if hm >= -1711
+ih inc -515 if ioe != -881
+yg dec 967 if cp == 357
+yr inc -23 if qt < -309
+gif dec -16 if cp == 357
+itw inc 353 if uoc <= -41
+cp dec -788 if b <= 869
+bi dec 510 if itw < 306
+yg inc 321 if qk > 265
+itw inc -194 if gif == -1624
+yr dec 484 if b == 869
+yr dec 828 if yg != -1515
+cp dec -700 if gy != -212
+ioe dec -238 if iyu >= -5
+xly inc -334 if bi != 316
+js dec 642 if uoc < -27
+cp inc 131 if x >= -633
+cp dec 693 if iyu >= -2
+bi inc 671 if hm >= -1712
+fi dec 781 if nwe >= 176
+ioe inc 770 if qk > 253
+nwe dec 381 if j < 406
+qt inc -599 if hm != -1715
+yg inc 277 if qk >= 268
+hm dec -656 if ioe < 117
+uoc dec -875 if ih < 243
+js dec 297 if yg >= -1514
+hfh dec 821 if iyu >= 8
+ioe inc -133 if iyu > -9
+x dec -623 if iyu != 0
+gy inc 240 if cp >= 451
+gy inc 937 if hfh != -10
+tc dec 476 if tc != 1376
+iyu dec -35 if hm == -1706
+nwe dec 86 if yr >= -1344
+cp dec 96 if qk != 259
+x dec 864 if b >= 865
+hm dec -965 if bhp != 161
+bhp dec 402 if b == 859
+b inc -19 if hm <= -746
+xly dec 24 if uoc >= 840
+ih inc 816 if js >= -1117
+xly dec 511 if iyu != 5
+t dec -214 if iyu != -8
+yr inc -81 if tc <= 898
+js inc -187 if yr < -1331
+x inc -970 if cp < 462
+hm dec 668 if tc > 904
+uoc dec -488 if yg <= -1502
+uoc inc -974 if j != 394
+qk inc -58 if qt > -913
+j dec -741 if js == -1304
+j dec 58 if nwe != -276
+fi dec 772 if qt != -910
+yg dec -271 if bi == 990
+uoc dec 983 if gy != 966
+t inc -355 if uoc >= -636
+hfh dec -486 if yr == -1335
+itw inc -102 if tc < 905
+gif inc 663 if b > 862
+fi dec -546 if js < -1294
+bhp dec -955 if qt > -914
+qt dec -927 if ih == 1054
+gy inc -272 if uoc <= -620
+yg inc -30 if nwe != -291
+nwe dec 393 if ih != 1048
+ih dec 904 if tc != 915
+nwe inc -211 if j != 1084
+qt dec 249 if tc <= 913
+ioe dec -703 if gy <= 695
+hfh inc -836 if j <= 1079
+tc inc -153 if qk <= 255
+bhp dec -697 if uoc == -627
+hfh dec -762 if qk <= 263
+xly inc -369 if qk >= 269
+xly inc -135 if xly > -80
+j dec 773 if x <= -2468
+iyu inc -541 if iyu < 9
+itw inc 870 if xly < -77
+x inc 646 if x >= -2474
+qk dec 447 if fi >= -287
+qk dec -37 if yr >= -1344
+nwe inc 406 if gy >= 703
+j inc 72 if j > 299
+qt inc 946 if t < 306
+hm dec -406 if cp == 451
+ioe inc -906 if bhp < 849
+xly inc -924 if b <= 871
+xly inc -645 if qt == 709
+b dec -578 if bi <= 999
+js inc 237 if t <= 304
+gif inc 425 if bi <= 989
+uoc dec 318 if x < -1821
+fi inc 455 if bhp < 859
+fi inc -282 if iyu <= -537
+bhp dec 980 if cp > 451
+t dec 204 if gif > -967
+ioe inc -273 if fi == -114
+iyu inc 940 if yr != -1335
+t inc -593 if uoc == -945
+tc inc -34 if yr >= -1335
+yg inc 204 if gif < -969
+nwe dec -128 if iyu == -541
+qk dec 949 if yr >= -1335
+nwe dec -582 if js >= -1063
+tc dec -550 if cp <= 452
+js inc 427 if ioe <= 407
+bhp inc -672 if gif == -961
+b dec 890 if hm > -1419
+qk dec -801 if iyu > -538
+t inc 789 if tc != 1433
+tc dec 134 if hm >= -1413
+cp inc -287 if b > 552
+b inc -131 if bhp == -800
+iyu inc 991 if b <= 429
+itw inc 3 if hm > -1411
+ih inc 263 if b < 428
+j dec 848 if t <= 294
+xly inc 94 if ioe != 406
+j inc 116 if qk < -1094
+t inc -779 if yr >= -1338
+nwe dec 910 if tc >= 1281
+uoc inc -945 if itw <= 975
+xly inc -675 if hm <= -1410
+xly inc -58 if x == -1825
+hfh inc -701 if bhp < -798
+nwe inc -586 if uoc > -952
+x inc -164 if b < 435
+hfh inc -641 if j != -354
+yg inc 827 if qt > 699
+iyu dec -512 if t < -478
+j inc 651 if itw < 987
+yg dec 537 if hfh >= -289
+ih inc -289 if qk <= -1094
+itw dec 158 if nwe > -2260
+xly dec 704 if hfh == -289
+itw dec -564 if j <= 305
+nwe inc -820 if hfh >= -290
+bhp dec -252 if nwe < -3065
+bhp dec 680 if itw <= 1385
+cp inc 811 if t == -486
+x inc 423 if b > 419
+itw inc 131 if gy <= 693
+qk inc 500 if nwe == -3065
+gif dec 583 if yg <= -981
+x dec -261 if fi > -115
+itw dec 314 if cp >= 977
+itw inc 197 if b < 429
+ioe inc -666 if x <= -1314
+hfh inc 345 if hm < -1402
+b inc 653 if itw >= 1719
+qk dec 298 if itw != 1701
+t dec 943 if qt > 703
+gif inc 430 if qt > 715
+bi inc 60 if gy > 687
+j inc -816 if gy > 685
+xly inc 334 if js != -1075
+qk inc -388 if xly != -2656
+t inc 475 if fi <= -113
+t dec -842 if nwe > -3078
+fi inc 284 if cp == 976
+xly inc 265 if ih >= 127
+qt dec -481 if hfh < 58
+xly dec -484 if ioe <= 415
+ioe inc 525 if xly >= -2183
+t inc 658 if tc >= 1281
+nwe dec -680 if t != 555
+qk inc 395 if tc <= 1293
+bi dec 422 if gy > 683
+itw inc 713 if t == 546
+bhp dec 285 if iyu < 967
+gif inc -186 if tc <= 1297
+iyu inc -858 if iyu <= 954
+gy inc -320 if nwe < -2384
+yg inc 691 if qt < 1199
+hm inc -19 if j <= -528
+bhp dec 403 if xly == -2175
+gy inc -886 if qk >= -1399
+yg inc 404 if js < -1065
+gy inc -255 if fi > 160
+bhp inc 740 if bi <= 620
+b inc -548 if nwe != -2398
+t dec 255 if nwe >= -2397
+t inc -678 if js >= -1064
+js inc -497 if js >= -1071
+iyu dec -463 if hfh >= 52
+js inc -537 if b != -122
+t inc -518 if yg != 129
+ih dec 208 if yr >= -1341
+qt dec -566 if yr > -1340
+itw inc 113 if nwe == -2395
+ioe dec -471 if itw != 2424
+cp inc 222 if tc > 1283
+ih inc 28 if bhp != -1915
+yg inc -923 if xly <= -2169
+bi inc 893 if yr == -1335
+cp inc -459 if gy > -771
+b inc 958 if bhp != -1922
+yg dec 896 if tc < 1298
+ih inc 385 if hfh != 48
+j dec -663 if iyu <= 1419
+fi dec 89 if x != -1297
+tc inc -294 if gif != -1147
+uoc inc -232 if qk < -1381
+bi inc 743 if hfh >= 48
+gif inc 317 if yr == -1335
+hm dec 938 if xly <= -2172
+iyu dec 961 if xly > -2173
+qk dec -69 if qk == -1390
+ioe dec -450 if hfh != 52
+j inc 944 if qt != 1748
+x dec 48 if gy <= -764
+yr dec 505 if iyu <= 1422
+x dec 316 if yg < -1695
+bi inc -386 if nwe != -2392
+xly inc 363 if fi < 87
+uoc dec 629 if nwe < -2384
+ioe dec 816 if bhp < -1909
+uoc inc 196 if fi == 81
+gif dec -196 if iyu > 1419
+bi dec -652 if nwe != -2402
+gy dec -416 if yg > -1701
+bhp dec 78 if qk < -1384
+bi inc -660 if ih != 328
+ih dec 352 if fi >= 79
+ioe inc 288 if itw == 2414
+b dec -461 if xly < -1814
+t inc -291 if js > -1557
+tc dec 502 if j == 432
+gif inc -800 if qk >= -1384
+yr dec -59 if gif > -641
+yg dec 360 if yr <= -1275
+nwe dec 790 if gy >= -358
+b dec 544 if yr == -1268
+tc inc 743 if ih <= -22
+bhp inc 314 if cp <= 744
+x dec -708 if tc <= 2039
+iyu inc 968 if yr != -1274
+x dec 454 if hfh <= 61
+qk dec -41 if bhp >= -1685
+ih inc 302 if tc != 2032
+cp inc -167 if yr == -1281
+ih inc 349 if qt != 1760
+gif inc -367 if uoc <= -1603
+xly inc 229 if gy <= -344
+gif dec 459 if fi >= 76
+hm dec -297 if gy <= -347
+j dec -320 if iyu <= 2397
+qt dec 634 if b <= 837
+cp dec 342 if ih > 324
+ioe dec -119 if qt > 1120
+x dec 564 if hfh != 56
+tc dec 779 if qt < 1130
+hm dec 586 if ioe > 695
+yg dec 373 if ioe > 683
+xly inc 344 if iyu <= 2397
+hm inc 91 if qt < 1121
+ih inc -219 if ioe <= 699
+ih inc -937 if ioe <= 702
+hfh dec -805 if t != -221
+itw dec -385 if ioe == 693
+nwe inc 946 if js != -1564
+qt dec 685 if hm == -2052
+itw dec -625 if bhp <= -1674
+ih inc 933 if qt < 442
+js inc 971 if itw != 3437
+hfh dec 444 if uoc >= -1617
+itw inc 182 if itw >= 3433
+hfh inc 509 if gy > -353
+ioe dec 952 if bhp > -1688
+b inc 210 if uoc > -1615
+itw inc -579 if hm < -2044
+hm inc -427 if j <= 739
+uoc inc 90 if nwe > -3190
+ih inc -678 if x <= -1407
+js dec -238 if x >= -1419
+ih inc -263 if tc > 1244
+ioe dec 30 if gy == -352
+t inc -76 if ih < -837
+yr dec -442 if cp < 400
+iyu inc -425 if j < 751
+qk inc -189 if js <= -350
+yg inc 282 if t >= -311
+b inc 11 if j > 737
+qt dec -839 if bi == 1863
+tc inc -40 if bhp >= -1688
+b inc 439 if yg >= -2142
+bhp dec 144 if b == 1057
+gy dec 460 if b <= 1065
+qk inc -681 if itw >= 3035
+iyu dec 0 if j > 740
+ih inc -189 if uoc <= -1520
+bi inc 360 if hm > -2058
+yr inc 603 if xly <= -1232
+j dec 68 if fi < 90
+yg dec -425 if gy <= -804
+x dec 295 if x != -1405
+nwe inc -355 if j <= 679
+ioe dec -506 if xly < -1229
+bhp inc -489 if j >= 671
+hm inc 730 if ioe > 209
+gy inc -464 if iyu < 1968
+bi dec 191 if yg > -1731
+j dec 707 if gy < -804
+ioe dec -180 if qt == 437
+ioe inc 909 if yr != -231
+yr dec -627 if ih == -1027
+itw dec -145 if gy == -818
+hm inc -156 if gif == -1460
+hm inc 301 if yg < -1735
+gif dec 137 if bi == 2039
+cp dec 777 if yg <= -1717
+fi dec -90 if yg != -1726
+cp dec 256 if tc <= 1217
+gy dec -401 if ioe >= 393
+js inc 850 if tc <= 1219
+iyu inc 124 if hm >= -1478
+tc dec 341 if nwe > -3534
+yr dec -13 if tc <= 1218
+x inc -44 if cp != -634
+t inc 591 if qk >= -2229
+t dec -38 if itw <= 3045
+xly inc -996 if ioe >= 396
+cp inc -21 if x > -1757
+t dec -989 if itw >= 3033
+uoc inc 193 if fi >= 74
+x inc 234 if uoc > -1333
+hm dec -353 if gif > -1597
+cp inc 684 if t == 1315
+bhp dec -437 if iyu < 2095
+xly inc 59 if j == -30
+nwe inc 176 if fi >= 81
+b inc 573 if iyu > 2086
+gif inc 526 if gy > -418
+ioe dec 261 if b >= 1625
+qk inc -976 if bi != 2040
+qt inc -648 if cp >= 31
+x dec -490 if iyu <= 2099
+bi dec 450 if x <= -1021
+hm dec -317 if hm >= -1485
+x inc 462 if ih != -1032
+qt dec 436 if yr == 409
+uoc inc 289 if b <= 1638
+qk inc -998 if uoc > -1045
+j dec 387 if b < 1622
+gy dec 13 if cp >= 24
+bi dec -822 if js != 489
+ioe dec -140 if xly < -2170
+uoc dec -15 if ih < -1021
+x dec -906 if hfh < 923
+itw dec -986 if yr > 402
+cp inc 474 if gy < -421
+gy dec 530 if fi == 72
+fi inc -277 if tc < 1214
+ioe inc -26 if gif < -1066
+itw dec -900 if ih < -1025
+fi dec 443 if yg < -1719
+hfh inc 602 if uoc == -1023
+yg inc 409 if ih == -1027
+t dec -366 if t != 1323
+gif inc 158 if yr == 409
+iyu inc 464 if hfh >= 1525
+xly inc -71 if yg > -1319
+cp dec -247 if qk > -4201
+cp dec -278 if cp > 745
+tc inc -903 if ioe < 257
+itw inc 221 if bhp < -1870
+yg dec -352 if j >= -31
+ih dec -77 if qk < -4188
+itw inc -921 if gy < -414
+tc dec 565 if iyu != 2561
+uoc inc -564 if cp <= 1035
+ih dec -962 if qt == 1
+hfh dec 646 if itw < 4222
+js dec 604 if qk != -4186
+hfh dec 389 if itw != 4214
+cp inc -819 if bhp == -1876
+tc inc 121 if qk <= -4185
+cp dec 330 if t == 1677
+nwe inc -864 if gy >= -417
+uoc dec -459 if hm == -1155
+x inc 886 if tc >= -124
+tc inc 954 if yg != -973
+qk inc 408 if x <= -563
+hfh inc 37 if uoc == -1587
+bhp dec -426 if cp == 197
+nwe inc -46 if itw < 4233
+j dec -546 if fi <= -637
+bi dec 421 if xly > -2253
+cp inc -991 if nwe >= -3417
+gif inc -9 if hfh >= 1169
+yg dec 397 if tc >= 816
+gif inc 258 if js > -115
+bhp dec -594 if tc != 822
+t inc -975 if ioe != 253
+tc inc 999 if ioe >= 242
+gif inc 746 if yr < 419
+gy inc -980 if yr > 407
+qt inc 892 if cp > -789
+itw inc 806 if yr != 402
+hm dec 977 if iyu <= 2559
+gy inc 848 if gy >= -1405
+bi dec -310 if qt == 893
+hfh inc -40 if yg == -1353
+js inc -626 if j == 516
+iyu dec 863 if yr < 408
+bi inc 321 if b < 1633
+qt inc 895 if hfh <= 1178
+hfh dec -782 if js == -735
+cp inc -443 if yr < 410
+yg inc -446 if bi >= 2626
+uoc inc -251 if tc < 1824
+ioe dec 549 if yg < -1360
+x dec -961 if yg <= -1362
+gif inc -184 if js > -743
+js dec 929 if x <= 397
+yg inc 994 if yg == -1362
+js dec -246 if bi < 2629
+yg dec 875 if j <= 522
+ih inc 287 if yg >= -1240
+itw inc 615 if hfh == 1958
+ih dec -665 if qt <= 1790
+itw inc -747 if qt == 1788
+iyu inc -631 if tc > 1810
+j inc 178 if bhp >= -1273
+nwe dec 85 if itw >= 4897
+tc inc 530 if cp > -1222
+fi dec 329 if tc >= 1819
+uoc inc 1 if iyu != 1932
+t dec 905 if nwe > -3497
+j inc -836 if ioe >= -299
+xly dec 185 if nwe > -3499
+b inc 41 if gif >= -92
+iyu dec 315 if t > -196
+nwe dec 676 if uoc != -1839
+bi dec 380 if tc != 1819
+ih dec -397 if gif != -102
+yr dec 449 if js > -1420
+hfh inc 584 if bhp <= -1282
+ih inc -524 if ioe >= -304
+gif dec 688 if hfh == 2542
+hm dec -370 if bi == 2621
+js dec 575 if hm != -1768
+qk dec -85 if itw != 4893
+xly inc 961 if tc == 1819
+itw inc 913 if qk <= -3699
+bi inc -858 if js != -1420
+t dec 622 if bi != 1764
+qt inc -980 if fi >= -964
+fi dec -380 if js == -1418
+qt dec -446 if bi != 1772
+gy inc -414 if yr != -50
+qt dec 628 if itw < 5813
+bi inc -649 if fi >= -588
+uoc dec 821 if iyu >= 1916
+gy dec 19 if xly > -1472
+qt dec 137 if qt <= 1608
+bhp dec -850 if t >= -830
+bhp inc 19 if iyu != 1928
+yr dec 272 if ih == 153
+js inc 628 if hm > -1775
+qk inc 893 if b != 1630
+fi dec -959 if gif < -783
+x inc 848 if bhp <= -405
+bhp dec -555 if j != -318
+gif dec -906 if hm > -1772
+itw dec -722 if hfh == 2542
+bhp dec 960 if j != -327
+js dec 670 if gif >= 123
+itw inc 153 if yr > -313
+t dec -712 if ioe == -299
+ioe inc 345 if itw == 6693
+hfh dec -411 if bi <= 1123
+hfh dec 368 if qt == 1469
+ioe dec -688 if itw != 6684
+cp inc 888 if bhp != -818
+iyu dec 184 if fi != 378
+xly inc 143 if fi == 371
+cp dec 691 if ih <= 151
+bi dec -712 if xly != -1333
+nwe inc 231 if bhp < -808
+qt dec -736 if fi != 361
+hm inc 536 if gy < -988
+yr inc -539 if j < -311
+xly inc -311 if bi <= 1833
+qk inc 271 if yg != -1237
+uoc dec -40 if gif < 119
+nwe inc 223 if yg >= -1239
+qt inc 501 if itw <= 6685
+xly inc 11 if t >= -109
+hm dec 147 if j != -328
+js inc -15 if hm == -1379
+bhp inc -841 if fi > 362
+fi inc -26 if ioe != 397
+fi dec 283 if tc > 1817
+uoc inc 105 if j < -314
+ioe inc -885 if gif < 113
+xly dec -849 if iyu == 1746
+j inc -614 if yg != -1243
+yg inc 115 if fi <= 62
+itw inc -405 if cp != -1222
+hm inc 854 if gy >= -988
+tc dec 143 if cp >= -1232
+gy dec -111 if b < 1635
+ioe inc -939 if hfh == 2585
+gif dec 43 if bi < 1831
+gif dec 519 if itw < 6284
+nwe inc 197 if gif != -449
+bi dec -71 if bi != 1835
+ih inc 479 if hfh >= 2595
+ih inc -979 if qk <= -3438
+iyu dec 653 if uoc == -2513
+yr dec -346 if hfh <= 2585
+gif inc 572 if xly != -1638
+qk dec -891 if j > -322
+qk dec -911 if ih == 150
+tc inc 995 if iyu <= 1094
+hfh inc -129 if x == 1241
+xly dec -533 if gy > -884
+gif dec 806 if b == 1630
+hfh dec -805 if hfh >= 2453
+iyu inc 242 if qt < 2714
+fi dec 878 if bhp <= -1661
+t dec 166 if hm == -1379
+ioe inc -456 if hm == -1379
+hm dec 225 if cp >= -1228
+xly dec 820 if qt <= 2707
+tc dec -786 if bi != 1898
+uoc inc 751 if qk != -2547
+b dec 922 if x >= 1238
+j dec -179 if b <= 715
+hfh dec -590 if qk == -2539
+x dec 187 if itw == 6280
+bi dec -967 if js < -804
+tc inc 133 if qt <= 2713
+t dec -411 if tc <= 3596
+uoc inc 264 if fi < 61
+gy inc 223 if ioe <= -1000
+gif dec -942 if ioe >= -1008
+hfh inc 999 if gy > -662
+fi inc -485 if ih <= 153
+nwe dec 733 if ioe > -1015
+x inc -753 if bhp <= -1653
+js dec 784 if gif < 263
+bhp dec -307 if b != 703
+itw dec -757 if ih == 153
+iyu dec 785 if bi >= 2874
+nwe inc -450 if t == 136
+bi dec -77 if yg > -1132
+js dec 990 if yr > -515
+iyu inc 337 if bi > 2933
+uoc dec 241 if ih != 153
+bi dec 459 if hm == -1604
+iyu inc -85 if bhp > -1353
+qk inc -437 if hm != -1597
+x inc -852 if qt <= 2708
+gy dec 311 if hm != -1604
+iyu dec 876 if t <= 143
+x dec 779 if yr <= -513
+hfh inc -843 if qt < 2707
+bi inc 536 if yg < -1120
+itw inc -886 if hfh != 4003
+js inc 107 if hfh <= 4009
+x dec 156 if yr >= -504
+hfh dec 971 if j < -140
+tc inc -480 if hm != -1595
+x inc 993 if j > -142
+tc inc 910 if yg != -1120
+tc dec 571 if x != 432
+x dec -194 if nwe > -4935
+yr inc 288 if b <= 717
+fi inc 970 if tc >= 3454
+xly dec -554 if fi <= -431
+ih inc -380 if iyu <= 706
+qk dec 162 if nwe == -4925
+fi dec 396 if gif != 261
+xly inc 698 if yr >= -224
+qt dec 57 if hm >= -1607
+tc inc 555 if x <= 644
+x inc -20 if xly == -1217
+ih dec -766 if ioe <= -1005
+tc dec -101 if gy != -660
+hm dec 989 if ioe == -1006
+yr inc 995 if gy != -651
+cp inc -70 if cp < -1232
+gy inc -408 if hfh > 3027
+yg dec 360 if bhp >= -1352
+hm inc 263 if qk < -3137
+qt dec -603 if yg > -1495
+xly inc 516 if js <= -2466
+ioe inc -442 if uoc >= -1764
+ih inc 898 if gy < -1053
+gif dec 863 if tc >= 4114
+hfh dec 478 if hfh != 3030
+js dec -623 if hm > -2328
+itw dec 792 if qt > 3244
+yg inc -367 if tc == 4105
+gy inc -330 if b <= 709
+x inc 821 if t == 136
+bi inc -979 if cp >= -1235
+nwe dec -608 if qt == 3252
+cp inc 885 if yr == 778
+js dec 197 if b > 717
+ih inc -737 if qt != 3248
+iyu dec -570 if tc < 4107
+x dec 63 if bi == 2039
+t dec 323 if j < -133
+tc inc -962 if tc > 4098
+ih inc 663 if xly == -701
+ih inc 489 if ih >= 1363
+uoc inc -393 if js >= -2480
+j inc -62 if cp == -342
+gy dec -29 if bhp < -1348
+yg inc -202 if nwe >= -4322
+fi dec -628 if bi == 2039
+itw inc -338 if itw > 5350
+qt dec 24 if qt > 3242
+tc inc 877 if t == -188
+nwe inc 521 if ioe != -1448
+gif inc -328 if gif > 261
+ih inc -277 if bhp != -1351
+tc inc -61 if qk > -3148
+nwe inc 588 if xly != -702
+qk dec -762 if qk >= -3141
+gif inc 937 if b <= 708
+t inc -749 if fi == -191
+js inc 814 if qk == -2376
+j inc -479 if bhp < -1346
+iyu inc -941 if gif == 876
+js dec 411 if hm > -2326
+itw inc -832 if gy == -1364
+iyu dec 537 if xly != -706
+yg inc 687 if js == -1658
+b inc 741 if tc > 3073
+x dec 86 if ih < 1584
+fi inc 851 if t > -940
+x dec 680 if qk >= -2373
+gy inc 882 if itw != 4183
+tc dec 711 if fi < 658
+yg dec -166 if qt == 3228
+yg dec 684 if fi > 661
+bi inc -715 if gif < 875
+gy dec 168 if nwe != -3719
+gif inc 301 if yg != -1204
+ioe inc 293 if cp >= -344
+yr dec -395 if bhp <= -1351
+qk inc 97 if js > -1659
+hm inc 371 if gif > 865
+gif inc 443 if uoc >= -2151
+nwe dec -677 if cp > -351
+qk dec -845 if yg != -1201
+ih dec -890 if cp != -337
+nwe dec -932 if hfh > 2549
+xly dec -281 if ih <= 2473
+cp dec 76 if j == -682
+hfh dec 236 if gy == -650
+uoc inc 804 if b != 1448
+iyu dec -791 if yg <= -1205
+yr inc -720 if bi == 1324
+b inc -234 if yg == -1204
+bhp dec 728 if t != -938
+qk dec 703 if itw == 4194
+hfh dec 944 if uoc <= -1360
+yg dec -384 if hfh < 2324
+hm inc -765 if fi == 660
+b inc -769 if hfh == 2322
+ioe dec 681 if b >= 455
+iyu inc -795 if itw > 4180
+bhp dec -533 if t < -933
+j inc 861 if ih < 2475
+ioe inc 136 if itw < 4189
+b dec 400 if fi >= 663
+fi inc -483 if gif < 868
+bhp dec 815 if qt == 3228
+x inc -236 if yr > 456
+xly inc 516 if b > 443
+bhp inc -95 if x != 1295
+uoc inc 174 if js > -1668
+bi inc 126 if b <= 454
+uoc inc -742 if gy >= -655
+ih dec -381 if qt > 3235
+itw inc -493 if bi <= 1449
+fi inc -673 if fi <= 653
+ih inc 55 if x >= 1284
+tc inc 55 if fi == 657
+ioe inc -715 if yg <= -820
+nwe inc -665 if qk != -1432
+qt inc -129 if b <= 443
+fi inc 984 if yg <= -819
+cp dec 112 if bi < 1454
+j dec -268 if hm <= -2729
+fi inc -620 if itw <= 4191
+nwe dec 330 if tc != 3077
+xly dec -490 if bi == 1450
+cp dec 922 if yg >= -825
+itw inc -752 if uoc < -1914
+yg inc 502 if tc == 3082
+hm inc 987 if qt > 3226
+qk inc -234 if bi <= 1451
+ioe inc 201 if iyu > -64
+fi dec 730 if xly <= 591
+js inc 506 if qk <= -1661
+x dec 453 if yr <= 455
+t inc -941 if uoc > -1923
+hm inc 30 if bi < 1458
+gy inc 947 if fi > 292
+hm dec 976 if iyu == -56
+tc inc -420 if qk <= -1667
+tc dec -779 if gy < 302
+bi inc -814 if x < 845
+qt dec 484 if bi > 643
+yr inc 363 if fi >= 290
+ioe inc -314 if gif > 866
+ioe inc 84 if yg < -312
+bhp dec -941 if itw >= 3447
+gif inc -791 if ioe >= -1898
+yg dec -440 if ioe != -1904
+b dec -673 if x != 835
+tc dec -547 if qt <= 3233
+t inc 641 if yg < 120
+xly dec 548 if fi < 293
+iyu dec -947 if hm >= -2687
+gif inc 643 if yg > 119
+iyu dec 681 if j >= 174
+ioe dec 326 if cp == -1452
+cp dec 489 if js == -1151
+bi dec -814 if js != -1152
+tc inc -803 if yr >= 812
+qk inc 155 if itw >= 3429
+bhp inc -445 if tc < 3188
+itw inc -280 if js > -1147
+js inc -921 if ioe > -2227
+gy inc 200 if b == 446
+js inc -943 if nwe > -3125
+gif inc -412 if hfh == 2322
+t inc 240 if ioe == -2225
+iyu inc 774 if b != 440
+yr dec -305 if ih != 2522
+ih dec -24 if uoc > -1928
+yr inc 770 if gif != 1102
+iyu inc 440 if yg != 115
+gy inc 148 if qt >= 3226
+ih inc 534 if tc != 3182
+yr inc -140 if js > -3019
+ih dec 369 if bhp < -2894
+x dec -155 if uoc <= -1915
+x inc -627 if nwe < -3114
+yr dec -446 if tc != 3180
+cp dec -638 if xly <= 593
+gy inc -97 if x <= 370
+qk inc -769 if fi == 298
+hfh dec 365 if bhp < -2906
+j dec -533 if xly != 586
+x dec 24 if uoc < -1910
+fi inc 391 if tc <= 3182
+yg inc -329 if b >= 440
+ih dec -722 if t >= -1633
+qk dec -517 if x >= 340
+gif inc 404 if qt != 3225
+x inc -52 if ih >= 2716
+hm dec 759 if js < -3008
+nwe dec -356 if yg >= -212
+ioe inc -337 if x == 332
+xly inc 610 if cp < -811
+j dec 778 if j >= 178
+qk dec -477 if ioe != -2231
+gy inc 61 if b < 451
+hfh inc -726 if gy <= 615
+iyu inc -899 if itw < 3441
+ih dec 980 if qt >= 3232
+js inc 165 if yr != 1425
+js dec -668 if yg == -207
+b dec 584 if x < 339
+qk dec -606 if cp < -806
+gif inc 269 if hm <= -3437
+js dec -472 if t > -1638
+fi inc -853 if xly < 1197
+gif inc -716 if iyu != 522
+cp inc -536 if itw < 3440
+hfh dec -848 if hfh <= 1594
+hfh inc -135 if iyu <= 525
+fi dec -789 if hfh > 1459
+bhp dec -689 if uoc == -1919
+hfh inc -507 if ioe <= -2221
+yg dec 440 if ih > 2714
+qk inc 99 if bhp != -2213
+qk dec -330 if hfh >= 958
+j inc -946 if ih != 2717
+bhp dec -107 if gy < 619
+cp dec -797 if t >= -1641
+cp dec 615 if fi <= 228
+nwe dec 502 if t != -1641
+hm dec -58 if hm < -3433
+t inc -324 if nwe < -3257
+hfh dec 754 if gif > 1067
+hm dec 2 if ih == 2709
+bi dec -992 if fi == 230
+t dec 646 if ih == 2709
+qk dec -549 if nwe == -3261
+tc dec -772 if nwe <= -3260
+fi dec 640 if fi == 230
+ioe dec 921 if tc >= 3957
+tc dec 79 if tc <= 3964
+tc inc 541 if yr == 1427
+qk dec 331 if cp >= -546
+ih dec 561 if itw >= 3438
+itw inc 558 if qk != 119
+hfh inc 809 if hfh >= 948
+itw dec 981 if xly < 1197
+ih dec -431 if js > -1708
+yr dec -737 if hfh != 1754
+tc inc 873 if ih != 2709
+bhp dec -53 if hm != -3395
+fi inc -207 if j >= -1541
+bi inc -484 if itw >= 2449
+js inc 548 if j > -1549
+tc inc 336 if nwe != -3257
+gy dec 39 if hm == -3386
+gif inc 186 if itw > 2450
+hm dec 671 if fi > -404
+bi inc 950 if qt > 3227
+gif inc 667 if fi > -414
+x inc 380 if qk != 111
+t dec -194 if js > -1172
+yr inc -954 if itw < 2449
+bhp inc 61 if j <= -1539
+x inc -893 if bhp > -1997
+ih dec -169 if iyu > 522
+b dec 211 if cp >= -548
+gif inc -278 if fi < -406
+js dec 22 if t < -2404
+ih dec -350 if nwe <= -3255
+yg dec 198 if qk != 116
+fi inc -466 if bi != 2091
+yr inc -28 if yg == -405
+cp dec 165 if xly < 1201
+hm inc 875 if bhp >= -1995
+qk inc 856 if gy > 565
+hm inc -20 if iyu == 525
+hfh dec -771 if itw > 2448
+ioe dec 162 if fi == -874
+yg inc -662 if ih < 3233
+yr inc -214 if t == -2413
+xly dec -251 if yg != -1065
+itw inc 361 if ih < 3234
+qk inc 206 if yg <= -1060
+t inc 398 if ioe == -3146
+qk dec 35 if b > 437
+itw inc -841 if xly != 1445
+hfh inc -461 if yr == 1922
+hm dec -698 if itw != 1968
+fi dec -98 if bhp < -1986
+t inc 224 if hfh < 2080
+j inc -767 if hm == -1833
+uoc dec -817 if j > -2320
+qt inc -801 if tc < 4761
+hfh dec 597 if iyu == 525
+itw dec 670 if cp != -709
+ih inc 173 if bhp <= -1983
+js inc 904 if hm == -1833
+ih dec 913 if bi >= 2091
+x inc 841 if itw < 1297
+t dec 74 if gif == 1634
+j dec 302 if yr != 1916
+xly dec -815 if bi > 2092
+qk inc -349 if x <= -168
+xly inc 974 if fi >= -783
+ih inc -251 if t == -1865
+ioe dec 314 if nwe != -3253
+fi dec -245 if ih < 2239
+js dec -69 if js <= -272
+yg inc -33 if j != -2623
+xly dec -146 if ioe < -3451
+bhp dec 757 if itw < 1309
+qt inc -472 if yr >= 1918
+xly dec 662 if hfh < 1477
+nwe dec 66 if iyu <= 528
+gy inc 47 if j > -2623
+bhp dec -567 if bhp < -2746
+gy inc 968 if nwe >= -3333
+t dec -731 if iyu >= 519
+gif dec -522 if j > -2621
+qk inc -855 if tc > 4754
+gif inc 125 if gif <= 2159
+iyu dec -400 if hfh >= 1476
+nwe dec -751 if qk >= -67
+hm inc -645 if ioe != -3466
+bi inc -235 if nwe >= -2571
+b dec 981 if yr >= 1922
+gy dec -452 if hm <= -2475
+fi dec -532 if qt <= 1959
+cp inc 612 if hm >= -2487
+fi dec -455 if bi < 2097
+t dec 80 if iyu <= 934
+xly inc -694 if hm == -2478
+uoc dec -759 if qk >= -59
+ih dec 244 if yr >= 1918
+tc inc 638 if ih > 1998
+cp inc 1 if fi < 458
+cp inc 454 if nwe > -2573
+gy inc -134 if hm < -2471
+yg dec 1 if iyu >= 919
+js inc 91 if yg < -1108
+yg inc 173 if ioe <= -3458
+gy dec -760 if t != -1214
+qk dec 816 if iyu < 920
+gy dec 226 if itw < 1301
+bi dec 704 if tc == 4755
+iyu inc -661 if nwe != -2572
+nwe inc -425 if qt < 1963
+gy inc 197 if qk == -58
+t inc 853 if nwe == -3001
+js dec 603 if yg >= -928
+j dec 708 if xly == 2026
+hm dec 836 if b == -535
+x dec -132 if itw > 1299
+cp inc 587 if gif > 2278
+t dec -715 if nwe <= -2994
+b inc 63 if yr == 1922
+tc inc 147 if bi > 1383
+yg dec -24 if cp <= 476
+gy dec -11 if j == -3322
+bhp inc -488 if tc >= 4903
+iyu inc 890 if hfh >= 1476
+qk inc 224 if yr <= 1928
+bhp dec 845 if itw > 1303
+uoc inc 965 if qk != 166
+fi dec -186 if cp == 482
+t dec 388 if js >= -814
+hm dec -157 if t < 357
+hfh inc -353 if nwe == -3008
+x dec 846 if cp >= 491
+fi inc -436 if iyu <= 1154
+qk dec 465 if bhp == -3027
+yg inc -489 if t <= 354
+js inc 809 if gif >= 2284
+iyu inc 757 if hfh != 1479
+uoc inc -765 if yg != -1415
+bi inc 637 if nwe == -3005
+ih dec 369 if ih == 1993
new file mode 100644
--- /dev/null
+++ b/2017/day08/problem
@@ -0,0 +1,51 @@
+--- Day 8: I Heard You Like Registers ---
+
+You receive a signal directly from the CPU. Because of your recent
+assistance with jump instructions, it would like you to compute the
+result of a series of unusual register instructions.
+
+Each instruction consists of several parts: the register to modify,
+whether to increase or decrease that register's value, the amount by
+which to increase or decrease it, and a condition. If the condition
+fails, skip the instruction without modifying the register. The
+registers all start at 0. The instructions look like this:
+
+b inc 5 if a > 1
+a inc 1 if b < 5
+c dec -10 if a >= 1
+c inc -20 if c == 10
+
+These instructions would be processed as follows:
+
+    Because a starts at 0, it is not greater than 1, and so b is not
+    modified.
+
+    a is increased by 1 (to 1) because b is less than 5 (it is 0).
+
+    c is decreased by -10 (to 10) because a is now greater than or
+    equal to 1 (it is 1).
+
+    c is increased by -20 (to -10) because c is equal to 10.
+
+After this process, the largest value in any register is 1.
+
+You might also encounter <= (less than or equal to) or != (not equal
+to). However, the CPU doesn't have the bandwidth to tell you what all
+the registers are named, and leaves that to you to determine.
+
+What is the largest value in any register after completing the
+instructions in your puzzle input?
+
+Your puzzle answer was 4902.
+
+--- Part Two ---
+
+To be safe, the CPU also needs to know the highest value held in any
+register during this process so that it can decide how much memory to
+allocate to these operations. For example, in the above instructions,
+the highest value ever held was 10 (in register c after the third
+instruction was evaluated).
+
+Your puzzle answer was 7037.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day09/input
@@ -0,0 +1,1 @@
+{{{{{<!>,<!o,!!!>{>,{<<a!>u!>eio!>ui>}},{},{{<!!e!>>},{{<uo'<!!!>>},{<!>'!>},<e!>,<"ea!!!>!>,<>}}}},{{{{<"a">,<!><<>}}}},{{{{{},{<{!!"!><ae<},!>!>!!!>}'!!>}},<!!a{!!!!!>!>,<!!!>,<{oiu<a!!,<>},{<>}}}},{{{{<eoa!!eeea{!,<>}},{{<!!!!,}!>!!a!!!}e!>},<!!!!!>!>i!e!>,<!u<!!{!!!>!!!>>}}}},{{{{{<!ea,uio!}"!>},<!>},<u<!!!!o!<,!>>,<!>},<">},{}},{<ua"!>,<!!!>eouaa"o}!!!>!>,<>}},{<a}!>!!<'a!!<!u!!!!!>!!!>!!!a!>},<!>,<>}},{{{},{{{},<ua}!>!!!>i}}u!!!>},<!>!ii!!'!,>},{{<{>},{<i<!!!e}!>,<!"'a!!u!!{',>}}}},{<!>},<!!!!},o}!!}{!!!">}}},{{{{},{<!>},<!!!!!>}}{'>}}},{{{{<},{a!>,<>}},{<>,<!i>}},{{{<"u!i{!i}a!!!>"'>}}}},{{{<<e!'!!i'!!}{!>,<u,""!!i<ui!!!!!>!!<>},<!!!>'u!!ea!>u'!>}!!!!!>>},{{}},{<"i}u,,>}}}},{{{{{{<',!!,uo!,"<,{!i"{<<o<o>},<<a!>},<!!ee"'!!>},<>},{{},{<{!!!!,!>,<,">}},{{}}},{{{{},<,}i!!,e!>,<!!!!<!!}!!{!>i{ou>},{{},{<!!!>a"!!!>!!!>a,!!i!>,<!<"e"i}!!i'e!!!>>}}},{{<{!>!>},<a<i!>,<uao>,{{<<>},<!!!e}a!>}>}},{{<"!"a,!!!>{}!!u'u{>}}},{{<oe!>},<'!><>},{<!!!>i!!!>!!!oa<!><oeo!>},<>},{<}!!!!"!a,!!'!!!>>,<!!!>!>},<!>>}},{{{<ei<"!">,<io!!!!},!!<!!a<!{a,'ei>},{}},{<}!!!>,<!!!>!>},<!i}<i>,<a',!>{!>},<o!>!!!!!>"o!!!!!{}!o>}}},{{{<">,{}},{{{<"}!i!!oi!!!>},<''>},{}},{{<u!>,<ea!>},<!!!>!!>}}}}}},{},{},{{{{{}},{<u}!>},<,{!!,!!{}oo!>,<!>,<>}},{{{{},<o!a}'!!!>"!iii!>,<{!>},<>},{<!u'}}!>},<!>,<!>{!>,<u}}a!!u,u>}}},{{<"!!!>!>},<!>},<'>,<{a!>},<uuo>},{},{{},{{<!!!>!,!>},<''!!!>,<!>{!!!>!!!>!!!>},<{,!!!!e}i!!,>},<!!!!!<<o!!!>'e!u!!!>e!>u!"">}}},{{{<!>},<!!u>}},{{<<"!>!!!>e!>e!!!>!>,<a!!!!!!!!!'ia>,{}}}}},{{{<!>!!{}!>!>,<>},{{}}},{{<!!!>ai}>}},{{<!!}'!!}!>,<o!>},<{!>},<!!!>,<''!>,<!>},<!!!!,!>>,{<!>,<!a!!!>,<}<'!o>}}}},{{{{{<>,{{<!!!!'!>,<!>},<<oe!!!>i!!{i<!>}e>}}},{{<!!!!!!!>ao<!>},<!>,<!>a!!,!!!>!e!>u>}}},{{},{{<"{a!>}!>},<},},!>>}}},{{<!!!>,!!a!!a!!!>},<i>},{<!!!>}!>,<>}}},{<!!!>},<!>'!!!><,!<!!!>,!ua!!!>e!>},<a!>},<<>}},{{},{{{<{u{aie!!"!!!>a>}}}}},{{{},<a!>},<u>},{{{<!!}<>}},{{{}}}},{<!>!>},<!i<}>,<"!!!>!>},<!>i!!!>o}u{!!!><{>}}},{{{<!>},<<,!>,<!!{!>},<{<o!>},<"i!<'ei>,{}},{{},{<uu!!!!!!o!!ei!!"{e''!>!!!>>}}},{},{{{<e>},<ao>},{<ai!!!!!><}!>,<>,{{<!!!>o,a<!>,<'}>},<o!!{!!!!!!a!oe!!"!,<a>}},{}}}},{{{{{{<o!>!!!!>},{{<i"a!"!e<!>},<u",oou!>ua!!!><>}},{{}}},{{{<>},<o!!!!!>,<!!!>,<a!!e!!!a"!,,!!!e}"e>},{<"!o!!{!i!!!oa!!!>!><,!>>,<e!>!!,u<u,i!!!!!>},<{'"!>e{i'>}}},{{<!>o!>!!!>!!a!e!<!!!>},<o!e}e!>},<ia">,<!!}!!!>uaao!!!>e!ai!!!>>}}},{{{<"!u,!!!>},<!>,<!oo"!>,<!!!>!!!>}i!!!>!!!>'>,{<!!!!!>!!!a{o}<e<!!!>!>>}},{<!au"!!}{,o{!>},<!!>}},{<!>},<a!>,<"!>{'ia!>{'!!!>a!!{>},{{{<}e!>},<!!o}!>{!><!iio!!>}},{{{{<'!!i!!'o{,!e!!!>oi!>},<!!!>!!o>}},{{<,,i!!!>!a!,{{!>,<e!uo!>,<>}}},{{<!!!>},<<u,a>}}},{{}}}}},{{{<!!!>!>!>},<{i!!!!oe>,{<ui!>e!!<>}},{<!!>},{{{{{<"!>},<u!>},<!!<e>},{<o!>},<,!!u{o!e'}'!>,<!!{!>,<uo>,<!!!>>}}},{{{<!!!!!>'e>},<!>,<!e,o!!!!o>}},{}},{{}},{{<a<o>},{<!!,}}i!>,<!e!>},<!!"a!>,<!!{a>}}}},{{}},{{<!>},<!!!>uoi!}eu},!!o!>,<iu{o,>},{{},<,!!!!!!!>!>,<o">},{<o>,{<!>},<!>},<!!a!><u!!!>}}!!!!!>uo>}}},{{},{<o!>},<ia!!!!!>!!u"!!u!>},<>}}},{{{<<{!!!!o!>,<!i<!!"e<!>,<!!}!>},<'a{!i>,<!>>},{{<!>,<!>},<"!>,<{{'>},{}}},{{{{{},{}},{{{{<u!>,!>!!!!!>!u<}iio"i'>}},{<}}<e!>},<o{!i'!!!>ioi"ua>}}},{<<}>}},{{{{}},{<!!>}},{{{{<{',!>},<!>},<aue"!!!>>}},{}},{{<!>},<!!!>!>!>},<>}}},{{{<!>},<'!!ao'!>,<{<!>},<<,aeu>},{<{>}},{<<!>},<!!"}'!>!'uoo!!o"{aii!>},<,a>},{{<a!>>},<!i!!<e!!!>},<,!<!>,<!!!>!!!>!>,<!i,e<'!!!>,<>}}},{{{<!!'!!!>o}i{!><!!"}",e!>},<ii!!{>},{{<<{!>,<!!!>>},<">}},{{<eo!!!>{!>,<,<!!!!i!!!>!>},<<'o>},{}}}},{{<!!!>o{}<!>,<<e>,{{<,}i!>},<!!!>},<!{>}}},{{<{ai!>,<'u,!!!>'!o!>,<i<!>,<}ai>},<ei!!a!!a}!i!!!>,<>},{<!!e!>},<{!!!>>,<!>},<!{!!!o"i!!{>}}},{{<!>},<!>},<',ia,>,{<!>,<ou!e!>'i!>,<iea}e!!o!>},<i!!e<>}}}}},{{{{{{{<e'!o'!!!>,<"!!!>!>},<iu>},{<<!!!><{>}},{<'!>!>},<>,{}}},{},{{{{{{<!!!!,a!>,<!!!>,<u>},{<!'!>},<!>},<!!{'aia!!}!>},<,<!!a!!<io>}},{{{},{{<!>,<!!,}!"}}!!!>i!!!>!>,<!!!>!!<{>,{<<!!!>},<!!e'<!!'>}}}}},{{<!!u}!{,'!>},<!!!><'>,<u"!>},<i>},{{<{!>,<!!!!a<!!!,>},<i!>ia!!!,,!i"}"!!<!>a{!!!>!!}">},{{<}!>,<,>}}}}},{{{<!>,<!>},<,!<!!},e!!!>""a'i!<eo<!!o>}}},{}},{{{{},{{<e<>}},{{{}}}},{{{<e!>>,<!!!>},<!>!!!>,<iu'uo!"!>},<o!o,i!!!><!!!!!!!!>}},{},{{},<!!!!'!>,<ia!!'!!!>!!!>!>u!>!!a>}}},{{}},{{{},{{<,>},<i>}},{{{<<'"oe!!o>},{<!>,<u!>"!"}{a>,<!!'!o<o,!>,<!>,<u}!>},<',!!!!u!o{!o,!"a>},{<!!uu'!!a,'!>{u{!!<!!}!!!!,!>,<>,{{<!>},<!!"}!!!>"!>},<!!!>!uue>}}}},{{<>,{{},{{<!!u'a!!!>!!!!<!!!>!>},<'>},{{<{,'!!!!!>aa!!,uui}!!!>!o!!,e>}}}}},{{<oe!!!!!>>}}},{{{}},{{<!e!ioe>},{<,>}}}}},{{<a!e'e,!>"'<!>,<!!"i}a!>!!>,<ee}iu!}}a<!!},}'!!o,!!>},{{{},{<e!!!>o,!!i'ui!!!!i,a!>},<}>}},<!>},<!>,<,"!>},<!>,<{!>},<,,,>}}},{{<!{eu!>,<ue>,<e!!"'{!>,<!>,<'!>,<aaao"oa{!!<u!>},<>}},{{{<!>!'!!eeu!>},<!>},<<!!}!>},<'u{!!o>,{{<!>},<!!!><!>"!!e!>},<!!u!>},<>}}}},{{{<!!'!!oa'!!!!,!!!>>},<e!!}!!{}'"!>},<!>,<}eue!!e>},{{<!!,!>!>},<o!>!!!>,<a'"!!!>{o!ie!!!>>},{}}}}},{{{{<i!>},<!>},<e!'u!>},<!>!>"!o<!>,<>},<"!!!!'>},{{<!!}ai{<,!!o!,e!!u!>},<<u!>,<>}},{{{{<>}},{}},{<"!>},<}!!!!<<!!}!>},<!>u,"e>}}},{{{<!!!!!>!!!>,<!!i{!>},<!!i{{>,<a>},{}},{{{}},{<i>}},{{{<uuua!>!e">},{<!>,<!!!>}a<,!!!!,e!!!>>}},{<!!,!>},<!>},<!!o!>>,<!!!'!!!!!!!>}"eua!!!>!!!>i!!!>,<!!a!!!>!{!>},<!!>}}},{{{}},{}}}},{{{{{<!>,<ei!!i>},<!>a{o>},{<!!u!>,<i>}},{<i'"{>},{{{{<!{!!!!aa{''!>,!!'"!>,<!!!>,"a!"!>!>,<'>}},{{<!{!"u!>,<o!!!!!>e!!!!!>},<!>!"}!i>},<e'<'!>,<i"}{!>,<!>},<"!!!>">}},{<!>!ui,e!!!>e>,<!>},<>},{}}},{},{{{<a>},<o"o!}!>,<'>},{},{{<<!!!!!>!!ao!!eei!>,<>},<eu"!!!>}<}!!<o>}},{{{},{{{<,i}aui!!}!!!>}!!{!!!>'!<'!>,<<!>},<{>},{<">}},{<!>,>,{<!>,<!!a!>,<o>,<!"au{!!e!>!!}"}>}},{{<!!!>e!>},<o!!e!>e<ea!>!!,!u!!'i!!!',>},<!!!>},'i!>},<,!>!'!>!!"o,}!!!!!>>}},{{<!!{,oai},!!<!!!>'aaa>}}},{{<}!o!>},<>}},{{{<,"}a<o{!>i>},{{<"!!e!!,!!e!>u!!!>!!!>,ue!!o,!>ei>},{{<>},<!!!>},<a'o!!!>,<'{!!!>io<!e}!><!'>}}},{{{<>},{{},{{<!i}uee"e!!!>!!!!!,!!,!!!!!>u{!!"<>,{<'eauu!!,i!!!<a<ea>}}},{}},{{{<!>},<eeiuo!!}<"!>},<ii,<>},<o>}}},{},{<"!>{>}},{{{<<!!!{!>au!!!!!>u!>},<,!>a>}}}}}},{{{},{}},{{<!!e!>!!,!>e"!>},<<e{!>},<'!aeaoi>},<{o!!!!}ue!'<'!!!>!>!'a<!}!!u!i>}},{{{{<'<o!!}>}}},{<!>,<!>!>},<!u!>,e!>,<"!<eu'!>,<,!>i>,{<>}}}},{{{{{{},<!!!>!>},<!<o!!!>i!>!!!>,'>},{<!!!>u!ua!i>}}},{{{{<i!>},<!!<e<!!!><!"!>,<,!!>}},{{{{<!!!>o!!,}!,>}}},<!>!!"}!>i!>!!u!>,<!!!>!!o!>},<i">}},{{{{{<!!u!>,<">},{{}}}},{{{<!!',>},{<"',o!>},<e!!!!ee!!oi{i,>}},{{<'>}}}},{{<>,<'!>o!>},<!!,}<!>,<{{!!!!!>i!>"'!!u>},{<"!>,<<!>!u!!'u!!!>,!!aa!>},<!>!!uo"{>,{<!>},<ei!!!>},<,uu!!!!!!,!>io{!!!!>}}}}},{{{},{}},{{<!!!>,<!!!>!!,!!!>eo}u!!!!!>>,<i{!!!!!>!oi,!!e!!!>,<<!!!>!!!>,<,!>,<'!>>},{{{},<!>},<{ao!""!>'!>,<oaei>}},{<!!!>},<!,!>,<o>,{{<!>},<oiui}"!>,<""u!!!>}!>!!,ii!!>}}}}},{{<e!>},<o!!!>,<",>,{<!!!>iuoa!!!>!>,<e!!!>!!,}a'!<a}!!!!,>}},{{},<!!!>!>,<!>},<!!!,'i}>},{{{},{{}}},{{{<>}}}}}},{{{{{<{!>},<}u!!!!!>!'!!!>!>},<}!!!>!>},<!>},<e,!!!>,!>,<>},<!>ea!!!!a<!!o!!i>}},{{{},{}}},{{},{<!{!>,<>,<<>}},{{{{{{<!>,<!!{!!!!}!!o!!!>}!eu!!!!!>,a"!!a!>ei<>,<!>,<!>},<"!"a>},{{{<!>}!!!>,<}a!i>,{<!>,!>},<i!!!>!!'>}}},{{<<oi!}e<"u!!"}!!!><'!!!>>},{<!!>}},{{<!!!>}'!>},<u!<!>,<{!>,<<>},<u!,!!!>iooi!>e,{<"<io}!>,<>}},{{<!>},<!>},<!>},<o!>ua!!!!<uoi!!!>!>au{,>},<!!!>"e!>uu!>,<}>}},{{{},{{}}},{<ioe{!>,<oe{!!"!!!>!!">}},{{{<ei"!!!>!!!!!!!>,<!!,!!!!oo!!!!e!>,<'!>},<>},{<u'!!!a!!!>},<!>},<!!!<>,<,a,iu>}}}},{{{<<<a!><<!!!!!i"i!!!>,<!!!>{!>},<i!>},<},<>,<!>u{!!"!>!!},!!!!!!ii!>{!!e{aa!>},<>}},{{<>},<<!!!><!>,<i!>},<a,!,!>!>ii<!"o>}}},{{<!!'}}<e}>,{<!!!>o{!>},<!io!!{{au!!o!i''uo,!>},<>}}},{<!>,<!!>}},{{{{},{<e!>!>},<}>,<>}}},{<!ou"!!!!!>a!u!>,<!>},<<}}!!!>,<'<aa>},{<"o!ii"!>,<"}!><!>!!{!>o,!!u!!!!!>},<a{>,<<!!i>}}}},{{{<<"}'e<!>,<}!!!!!>},<,!>,<>},<{!>!>e!!!>!!ei{!>},<{{eoao"i>},{{<{!"{!!!{!!!!!>'!eoee>},<o!!>},{<a!,!!!'u>,{<!>,<!>},<i!"o,i!!!>},<>}}},{{{<ea}a!>!!!>!>!>},<!!!!!>,<e!>},<>,<",''uooa!!'uo>},{{<!!a>},{<u<!!}!!eu!!<!">}}},{{<!>,<u!>!>,<}!a!!!!e<uu!>oa!!!>},<e>},<<!!!>'u}!'""!!!>},<!!iu>}},{{{<!e'">}},{<<'}!>!!!!!>}!!!>!!!!!>i{!>,<!>ie>}}}},{}},{},{{{{<u!>!!!!!><a>,<,<'>},{{}},{<ii"!!<i<!"u!>"!},e{,<>}},{<!>!!}!>,<"a{a,i!,{!!>,<!!i'!}a!!!>},<<!!{!!!!!>},<!!}"o>},{{{{<ou!>,<a>},{<'a,u<!!<iu}i!>!,>}},{{<,!!'!>},<e>,<!>,<!>},<a!>},<,!>aou<!!!!!>!!'!!!>'{!!!ea!>,<>}},{}},{{<!!!>!!>}},{{{{{<ouu!!!i!>},<!!e!!,!!{u}'e>},{<eeea}a>,<!{e!>!!,}a!!!>>}},{<,>}}},{<a!,u'>,{<}{'!>},<u!!',,eu!uo!!!>>}},{<!!u'>,{<",!!!!!!!>!>,<a}e}'{>}}}}},{{{{<!'!>},<!!i!!!o,u!>!!!!!!!>!!'io<!!<!>},<>,<"!!!!!!!a{!>,<>},{}},{{},<!!o!>},<!!!!!>!,!!!>,<}!u,!o!!!>!!!>>}},{{<!>,<a{'{e!,i!>},<!>,<!>,<>,<<',}!,'<!!!''!>},<!>,<,>}}},{{<!<""e!u!"!>},<i!!!>o!!!>"!!,,!!i>,{{{<"e!!!>,<o!>},<!>a!!!a!>,<,""!>},<>,{{<},!!!>!!<i!>,<"iu>,{<u,!>u>}},{<i!>},<!!!!!>u!>}'!>},<!!!>>}}},<e!!!>i!!i!!!>!!!!"o!!!!!!!>}ee<}!>>},{<a!>!!'>}}},{{{<!>,<!!!>'!>!>,<!>},<'!>},<!!u!>!>,<!>,<>},{}},{{{},{<',!!!>!>},<!!{<!!!!!>!!!>o!>},<a>}},{<uie!!!>>},{<{"o}u},!!!>"!!>,<!!!>!>,<!,i!!!>,<!!{"!!!>o!!!>!!u!!!!!>!!!!!>>}},{{{<'o!<!!e}!!e!>,<!}!!u!>},<!>},<ao!!"!>},<!!}!>,<>},{{},<!!,!>!>}ua!!!!>}}}},{<'!>!"!,!>,<!>},<!!!><eoiuu!!<!!!>!e!!!>>}},{{{<i!e<,!!!>!>},<,>},<<o!>,<<>},{{<>},{<!!!>iu!!!>!>!!!!!>!<!!!>a!!!>!!a!u!>>}},{<>,{{<a!>!>},<!>,<!!!>{!!i!u">}}}}}},{{{{{<!>},<}!!!>},<{!!}eu!>},<}i<oo!o>,<{!!ae!a'!>},<!!>},{{<>},<!>},<!>},<{!!!!!!!>,<!>{!}}">},{<{!a!>},<!!!>eu!!{'!>},<!!!i!o!!!ae}!!,>,{{<}!!!>!!<!!<<!!!>{oi{!>},<!!o<'o{>},<!>!>,<!,ea}"!!<!>},<u!}"o!><i>}}},{{<!!!>}e!!!>>}}},{{{{{<!>>}},{{<"i>}}}},{{<a>},{<u{!!!!!>!<a!!{!!}i!!{!!!>!!{{!>,<u}u>}},{{{},<!>aoa!!{!>!!e!!!>!!!>}<'!!},!!e}>}}}}},{{{{{{{{<!!!>"}>,{<a}a"!!!>,o<!!!>!>},<>}}},{{{<!!!>!!e!>!!!>>}},<!>},<a!>,<<!>,<i>},{{<!>},<"{!!!!eo!!!!!>,<",e!><u>},{<oue!>,<"!>,<>}}},{{{}},{{<!>,<e>,{<ui!!!>u!>},<!!ee{"<!!!>!!uiu!>},<,<!>},<>}},<!!{!!,"!!!>!!!!!!!>,<!!!>},<}>},{{{}},{{<>},<!>},<!!!>!>},<{<!>,<!!>}}},{{{<>},<!!}!>"<!>>},{{{{<!>,<!!uu!>e!>e}"!!ei!!!>>}}}},{<'o>,{}}},{{<,!>,<"!!a!>e!}!!!!i!>>},{{{{<>}},{{{<>}}},{<!>!{!!{>,{}}},{{<!>},<u!>oe!>ao>}}},{{}}}},{{{},{{{<!>o,,>}},{{<u!!!>{!!'!>!<''o"{>,<!o!!!!u!!!>'"e!!'<a!!!><}!!"}!>,<>},{<,}!!<a}!"{!>,<e!!!!!>!>!>!!!>}!!!>!>,<oo>}}}},{{{{<}e}!!e!!!!!>{o!!!>!>o>}},{<!'e!!!>!!!>eo!>},<>}},{{{<!,!!{!!a>},{<!!"!!}!!ei!>,<!!u!!!!!>!!au!!!>,<u>}}}},{{{<!>},<!i!!!>,<!!>},<!a{!>,<!!a!!a,!>},<!>"'{i"!>,<!!!>!!>},{{{{<i!>"!!!!'!!>,{<a!!',!!!>>}},{}},{{{<',u!>},<!!<!>!>ueuo!}!!!!e>}},{}}}},{{<,!>},<!>'>}}},{{{<!!!,!!!>i"!ae!>,<!!!>},<e>}},{<,{i{!>},<ai!!}>}}},{{{},<!>,<!>},<<o!,o,<}>},{<a,<}!>!!e>,<}!>,<!>},<!>},<!!o!!!!!>,{"ai"u>}}}},{{{{},{{<!>,<{oi!iu{!!!>!!!>ea>},<e!>!><o!!u!!!!!>!>},<ee,"o{,'>}},{{{<u!!}!!'},!{!!!>!!!>}!>,<u!!!>o!!!!!ia,>}},{{<!>a!"!!{!!!>>,{{{{<o!>!!e'<u!i!>a,e!>,<>},<!!}>},{<{a!>,<{,u!!!>i!!!>!>,<>}},{<!>},<!!!!!>{u>}}},{{<!!<!!!>o!>!!}!>},<"o!!eiia}>,<>}}}},{{<!!!>i!>},<!>!>!"<<!>a<!>o!!!>!!{!!!>!>,<>},{<!!!!!!!>e{e,a'!>},<}"!!!>,<!>,<,}>}}},{{{{{{},{{}},{{},<!!!!eo!'!>,<>}},{{<!!,oaa!a!!!!<'u,!!!>},<{!!i!!uea!>},<!>},<>},{{{<"!>,<!a'!>,<e!>a,"a>},{{{},<>},<!>!!!!>}},{{{}}},{{{<<e,'!!e!!<'a!>},<!>uo{o,!!!>!!<!!'>}},{<iu{u"i'>,{<!!,!>,<i''{}!'eo>}},{{{},{<!!!!a}>}}}}},{{<!>!!!>!!!>'!>!!!>!!!>'!>},<!!!>,<!!!>>}}},{{<!>},<a<'!>,<!i'o'!>},<"!!i!>,<}!>},<}!!,!>!>},<>,<!>,<'u!>,<aa!>,<a!!!>a!>},<i"!!!><,>},{{<!>},<!>,o!!!>!>},<!>},<ei>},{}}}},{{{{{<!>",!!!"iio!!<{'}}!>,<>}},{{<u!>!!{''!"!!!!!>,,>},{<!!!>uuoa'!""!>,<!!eaa!!<!a!!!>>}},{<!a<!>,<>}},{{},{<<"!<!>},<eu!e<!>},<>}},{<"!!!>}ii<!>,<>}},{{{{<>}}},{{<!'uo{!!io!>},<i!"!!!<<',,!!!>iu!!!>>}}},{<i<<ao!!}!>!<!>},<e!!i,!>i!!!!{!">,{<,!<!!{,!>'!!!>a!>},<u!!!>'<!>,<!!!,u!>!!e>}}},{{{{{<e{!>o",>}}},{<!>},<a<!>},<!>,<,>,{}},{}},{{{<o>,<<!>},<!>,<!!!o!!,!,}u!!{>},{<{!>},<!!!>"'>,<!!!>,uu!!eu<!>ueii>},{{<!"e'!!u!>},<u!!!!!>{e<a<>},{{},{<>}},{{<!>',!!}"i!!!!e!>!>,<,>},{<!!!!!!,>}}}}},{{{{<!>!}!!!!ui>,{}},{{<a!!!>!>!>!!!>iea"!"!!!>!u>}}},{},{<<!!!>,<!!!","!!!>!!}!>,<o,}a!!!!!>!>io>,{}}},{<u>,<!!!>!!!!!>{!>},<<"e!!eu!!!"!!eu>},{{<i!>!>},<{ii!>!!!>a!!!!i<<!>},<!>,<!!!>!>>},{<!!e!>,<!!!><a'!!!>{''ie!'>}}}},{{{<!!<!>!!}}!!!!i"i!!o}!>>},{<!>},<a"!!!>i'i!!!>},<<{u>}}}},{{{<!!!>"!!e!>}u>}}},{{{{},{}},<!!,>}},{{}}},{{},{}},{{{{<o!a!!!>!>!!,>},{{<<<!<oa>},{<o}!!!>!>},<!>},<>}}}},{{{<!>i>}},{<ea>,<!{<""<!!!>!!!>{a!i<u!>},<i!!!'!}',e>},{{<o,!!>},{{<o>}}}}}},{{<>},{<e!!!>!>},<<!!!>>,<!>},<"!<!>'{"!!!>!'<e!>o!!}!>,<>},{<"!>},<!!!>!o{a>,{}}}},{{{<u!i}'i'!!!>i!>'a>}},{{<!>,<a}}""a,>,{<a!>,<o!!"iu!>,<'""i!!!>!>!!}e{i>,<!>},<!>!!"!!!>"}<{!>},<}!oe!!!>'i>}}}}},{{{{{{{},{<uu!!!<,}e!!!>>}},{{{{{<a!>},<o}a!!!>>}},<'<'!>a!!o{a}!!!>">},{{<}!>,<"!!!o{>},{<!>},<"ao!>,<!!"a!o!!!>!!!>!o!!!>a!!e,>}}},{{<>}},{<,e{>,{}}}},{{{<!!!}'u!>!e!>,<<<>},<'}o}!">},{{<'<o!!!>a!>,<!!,"!>>},<!!!>},<!>!>},<<ue!!!!u!!!!!!ua!>},<!a>},{{{{{<!!{!>},<'!>!!!>,<!>!!!>,<!!'u!!i<o>,{<!!o!!,euua'!>,<'!>,<!!!>},<}>}},{<{!!!>!"!!{!>ao!>!>},<!!i>,{<!><"!>,<!!!>},<<o!"!!<aa!!!'}u>}},{{<!>,<{,>},{<u!,!u!>},<!!"{>}}},{{<}!!!>},<e!!!!{,!!e!!!>},<!>,<,!!',>}},{{<'i!>},<!!<ua!>},<!>,<!!!!!!!>,<''o<!!!!!>!!!e>,{{{},{{<>}}},<",>}},{{<ie!>!>,<eu<,!!!>,<!{!!!>},<!>},<{u!!i!>,<>,<!!ai!>,<o!!!>}!!u!u{!!!>ai!>,<"'e!>},<>}},{<oe!>},<!!!>!,!!!>uau<e!!>,{<!>,<<{>}}}}},{}}},{{{<e<!>},<!o'u>}},{<o"a""!>},<ae!!}!,!>,<>,<}<,}!u!>,<!!{!>"o,i{!!}>}},{{{<u!!!!!>,a!!!!!a<{e!!i!!<eu!>,<a>,{<!!!>>}},<>},{{<!>},<!><!!!>,<i!!}a!!<!!e{{!>},<e!!!>>},{}}}},{{{{{{<a!>},<o'!!''e"!!<!!!>!o>}},{{}}},{{}}},{},{{{<"<o>}}}},{<!>},<!>},<}}!>},<u!>},<o>,<!!!!!'i!!',}ea!<!>a!>!!>},{{<!>,<}u!>,<o!u!>,<o!>},<a!>,<!!!>,!!!><!>,<!>},<>}}},{{{<{!!ai!!<{o!!!!!!>},{{},<!>!!u{<e<!'!!!>,<e!>,<,{"e!>},<">},{<!><i>,{}}},{{<,!>},<"e!!a<!!a!>},<!>},<""!!!!>,{{<'u<<!>o!>,<'>},<'{i'!!"!>,<!o!!!>ue}<}a!!!!>}}}}},{},{{{{{{<e!!}i!>},<oi!>},<"!>,<!!!>eua>},<{!!!>}>}}}},{{{<!>,<,,u!!!>ue<!!!!}!>,<{{>},{}},{{}}},{{{{<'!!!!o{!>},<,'!>,<,"oe!>},<u!>},<!!o!!}!!i>}}},{{<{!>,<e<e!{'<!>,<!,o!!{!!{>,{{},{}}},{{<a,<o<!!!>!>,<!{!!!!!>!>},<<ui!!!>{{!>,<!!'>,{<!!!>ia"!!}!>,<!{>}}}},{{{},<!!ee,!!!u!!!>},<!>{!>,<a!!}!>!>!i!>},<}!>,<!!'>},{<!'>,{}},{{<!>},<!>!""{ei!!}e!>,<!>,<!!!!"u!'!!!a!>,<!>},<<>},<'!>,<!e<'<oe!!!>a!">}}},{{<u!!!>,!>,<!!ea>,{<"!!"e{,!>e!!!!uei!!!>!!!>!!!!!>!>,<a!!eo>}},{{{{},{{<ie!>},<!>},<oeu}!!!>i'!u!>},<>},{<,!>!>ea!<!>},<e!!{!,!>e>}}},{{{<>}},{{<!'o!>u!!e!>},<a!!!>!!u!!!>},<,!>,<,i!!!>,<!>a>}}},{{<!>},<<a<e'>}}},{}},{<u!!!>u!!!>},<!>,<!!!!!!<u!>,<!!!,!!"!!!!!>!>},<!!!>>,<{e!>{{!!!>!>i!>u!"<!!o!!!>"!>,<'u<>}}},{{{{},{}},{{{<!>,<o!!{!!!>u!!!>!>,<>,{}},{<!>!>},<a'}ou!!'!>},<!!io>}},{{<!!!><i!!!>'>},{<'!!e<{"!!}{o>}}},{{{{<!>}!>!!!}'!!}!>!>},<e,!!}!!e!o!!!!!>!ea>}},{{<u!>,<<!!!>!!!>i<>},<!!o"u{>},{<!!'>,{}}},{{{<<u!!!>!!}!!!!!>,<a!!u"!>},<!aae!e>},<'!!!>!!!>,<"oa"!>},<!!,<!!!>io}!>!!>},{{{{<!>i<!!u"!!ie!>,<,!>!!'a!>},<u!>>},{<u<ea}!>},<!,e<{e!!!>>}},{{<i!>,<!!!>,<!!!>!!!>,<!>},<'!>,<a!!!>!>,<}!>,<<>}},{{{<ou!!{!!""{!!!>!!<!!,"eu<!''!!ei!>},<>},{<!!!>>}},{<i!!!!!><<!>,<!,!!e!>!>},<>}}},{},{{},<{!!!>iao!>e,"o!!!>!!!!!!u!>,<o!"!<,>}},{{<!!}!>,<iei!!o>,<!>,<!!!>o!!{,i!!!>!!!!a!!!>},<,!!"o>},{{{}},{<"!!!!!!'u",!>uui!ai!!'>},{{<!,i!>,{">},{<<>}}}}},{{{},<>},{{{<}'!>,<iu',<>,{{{<'!>},<!!,!>!!!>!!<"{!!!!"a!o<!a">},<a{<!!>},<>}},{{<o}"'o!>},<!!{!!!>{>},{<ua!aeu!>},<}!!!>i{u!!!!!>!>!!>}}},{}}},{{{{<ee<!!!>!<!!o>}}},{{{<ie<!>,<!!i!!i}a<'i"{{'e!i>,<,!!"!>},<!!!>!>},<,!>,<,{!!!>o"<}!!<"!'>}}},{{}}}}},{{<"!u>}},{{{{<i!>!!!>!!!>!!!>>},{{<}<<!>},<!!!>!"a!!o>},{}}},{{{{<!!!>>}},<ea!>,<{u!<{!>,<"}!!!!!!!>"i!!">},<!!!>,<>},{<!>,<a!>,<!>,<a{>,{<!>,<!o!>!!{!>},<!!!>!!u,,!',!>,<e'>}}},{{{{<>}},{{{<!!!>},<}!!!!!!!!o!><}!!!!!>,<,,!!oi!>,<!!e>}}}}},{{{<<!<!!,!>!!!>,<>},<!<i!!e!!!o!>},<a!!!!!>aoi!>,<>},{<!><>,{<!>,<ia!!{!!!!!!}!>},<oi!>!>a}}ua!>},<>}}}}},{{{{{<uu!!!!!!!>}{!!!!!>i{!>},<e!>,<a>},{<!!'<!>},<!>},<>,{}}},{<ei{}e}!!u!!!>,<}!!!><!>u,}>},{{<,!>,<<!!iiou<!>},<{>},<u!!!!!>{}!>!!!>a!>,<>}}},{{{{{{},{<!>},<"!!}io!!i}{iu!>>}},{{{{{<ee!>,<a!!!>{,"!!!!e!!uio!!!>{!!!!>},<!>{!>oe!!!e!>},<i'e!'!!i!!'u"!>,<}!i!>>},<{"{ue''{i>},{{<o>},{<!><o!>},<}!>i!>},<!!!u!>,<}!>!>},<oaoi>}}},<!!i>},{{<oa!>},<!!!>}{!>},<i!!a,}!>},<}!!!>"o!!!>>,<<!>},<!>},<!!!>'!>e}!>,<>},{{},<i!!">}}},{{}},{{<a!!"<a>},{{<!>},<<!!!>e!><ua<,!>},<}!>},<!!!>!>,<'}>}},{<!>},<!>!,{a{!!"!!!>!!'!o<e!!!!ee"!!}<>}}}},{{{<i{,"ai!>!>},<u'i!!>,<!!!!"!!!!}o!!!>!oue}"!!!>},<{!>{!!{>}},{<!>,<{!!!>},<!!!>!>,<!!!>},<,<}!>'!a>,{<!>},<u!!a{!!!>!>},<a!'!!a!!io!>},<!>,<<>}},{{<!}e<o!>!}>}}},{{{}},{{{{}},<{'""a!>o!!!>'!>'!>},<>}}},{{{<!!!!!>!{>}},{{{<ia!>}i<!>,<a!!}>},<!!!>u!>>}},{{<>}}}},{{},{{{},<a!>,<!>!!!>},<!!'!euu,o{!!!>!><'>},{<!ua!,oe'e!ie!>,<!!!>!>},<!!'!!!>a!>},<!e>,<!>,<!!'!>,<"}!!'ou'>}},{{<uo!!o!!"!>,<,>,{}},<u"}!!au!!!!!>o!>},<}!>,<a,}>}},{{{{},{<!>,o'u!!!>},<"i{a!>,<o>}}},{{{<,i!o}u!!!>!!!!!>}>},<{u!!'!!{e<o>}},{{<}!>,<!!!!">}}}}},{{{{<<a!>,<!!!>">},<"{"!!<!{a<<!!o!>,<"o!>,<ii!!o!>},<ae>},{{<a"!>!>ui,e!e!!!><{o<">,{}}}},{{{{<i!!!>!>i<<!!!><!>!!!!!>,<ui}>}},{{},{{{<!!!>!!!!!>>}},{<e!!"!!{"<!!!>!!a!!ai!"{ou!><!!!!>}},{<{!!!>!>},<!!!!!!!!e!>u,u!!>}},{{{},{}},{{<>,{<<!!!>!!!i!>u!!!>,<>,{<!!!>a!>,<,{!!{e!!!!!>i!!!>,<!!!>,<'!'>}}}}}},{{{<<<o!>},<"iu!!ai>},{{{{<{,>}}}}},{{{{{{{<e!!a!!!>,<!u'io!!!>e!!}!!"!',!>,!>>},{<'!o'o}!>,<>}},<!!!>}!u!>,<o!!'!!u!uau,!!!>},<o!!">},{}},{<!>,<u!>"a!>},<!e<'e<"o!>,<!"i{u>}},{{<ao!!!!u!!!>>}}},{<,u>,<e"!><!!!>'o,'o>},{{{{},{<"!>},<aa<>}},{<,u!!!!!>,<!!!>oi!uo!e!!e!>!>!!}>,<!{oea!!!!!!!>!!!>!>,<!!!>!>},<>}}}}},{{},{{<>},<!!!!!',!!",iua{'!!!>},<!u!!!!o!o>}},{{{{{{{<{!!!>!>,<!!ao"!>,<!!!>'!>},<!'oe!!}}!>,<u>},{}},<i!!,"!>>},<>},{{<!<ua!!!>,<!'"!>o>},{<eo!!<!!!'<!!!>}a>,{<'a''ui'!a!!}}'>}}},{{<o!>,<!>>}}},{{{{<e''<!>,<!>},<!{,,>},{{<e,o{e}o,o,e,!!!!>}}}}}},{{<!!i{!!!!oa>},<au!>},<!>!>!!!>,<!>e!>,<!!!>},<o!>},<!!o>},{{<"!>},<!!a!!}<'!!o!!"!!{<{{<!!!>i>,<!!au}o!!'}o}}ou>},{<!!ei!!!>e<!>e!!!>,<a,!!oi>},{{{<!'!>!!!!!!i!!}!'!!!>},<!!!>,<!!!>i{}!!!>,<!!{!>},<a>},{{{<!!!>,!}!>i<>},{<"i,!>,<o"!!!>>}}}},{<}{o>}}}}},{},{{<}o!},}!>,<}u>,<<}<,<!!u!>,<iii>},{{},{{<o!>},<!!!>'e{!>},<">},{<!>a!!!>{'!!{'u,>}}}}},{{{{<!!!>!>},<o!>'ii!!!!aa!!,a!>},<'!oio!!!>>},{}},{{},{}}},{{{{<"io,"'!>,<o}>},{{<!>!!,!!!>},<"!!i}!!!>,<'<i!>>},<!>},<>}},{<!!!>!,!!!>'!>},<''!>},<o{'!>"<>,<!!!ea"!!ioi!!'"}'{>}}}},{{{{},{<!!,io!>!>},<!>,!!!>!i!>,<u!!!!!}a!"!!!>,<>}},{}},{{{},{{<i!>},<oeu!>},<}!!!!"!!!>!!<!"!>},<"'!>},<>}}},{<!!u'!>},<!!ui!!!>}>,{{{},<!>!>},<>}}},{{{<!!!>'o!!!i,e}!!!!!>a,!!'>}}}}}},{{{},{{{<!!!'i!!!!!><!>!!!>e>},{<!>!!!!u>}},{{}}},{{{{<'!>'i'!>},<!"'a!!o!!!>!>,<}!>,<<!>,<!!!!!ue>}},<!>o!!!>,<a!!u"'!!"ao!,o'!!!>!,<!"'>},{},{{<!!!>},<o!},'o!!!>!!!>>}}}},{{},{{<>,{{<!u!>},<!!!>!o!>,<<,u<'oo,!>},<!!!>ea'<>},{<!!!>!!!>!!!!}!!!>},<!!!>a,o'o<!>>}}}},{{<u"!!!>>,{<!>,<!>!>!>,<u!>>}},{<{o!!'>}},{{},{{}}}}},{{{{<>},{<!>,<!!"e!!}a!>},<>},{{},<i}i!>,'}!!!!e!!u!!'!>>}},{{{<!>},<!!!!i{!>},<!!!>!!i,'oi'">}}},{{{{<,{u!!<a',!!!>{!>}}!>},<!a,>},{<!}!><>}},{{{<!>o'!!!>,!!<!>,<!!a"}e},!>i!>,<!!!!>},{<e!!}a!>a!i"!!!!!>u!!a'>}},{{<!!!!!>},<!>u!!>,{<!!!!o>}},{}},{{{}}}},{{{<e!>},<!!i!>!!!>!>,<ae!>,<>},{{{<u!!u{!!!>},<!>'!>},<!!!>''{!>"e!>},<!!!>{<>}},<i}>}}}},{{<"!!!'o!>o<i'e>,{<!u>}},{{{{{},{}},{<i}>}},<o<}{}aa!>},<eae,!>!<e>},{<'!>,<u!!,u!!}!!<>},{<!!!>,<!!!!!!!>!!!>e<<ao!!o'a!!{{!>,<!!>,{{}}}}},{{<o}<!!a'!u!!!>!>},<e'}!!'"u''!!!>>},{{<i!>e!!!>u"}!>,<!>eou{io!!!>,<>,{}},{{<a!!<!u!>!!!!!<!>},<!!!!<{oa"!>,<!}}">}}},{<{<}!>"<{!>,<!!!>!>!>,<!>,<}eei{"a>}}},{{{{},{<!!!>!!!><!"!!e!>},<,,>}},<u!!!>ia<i!!!>{a{!!!>u!<ae!>},<<>},{{},{{{<!>,<!!oa>,<e!!}!!i>},<!>,io!>!}!>},<!!{!>},<>},{{<'uuu<!{{>}}}},{{},{<!>,<e!e!{!u!>},<'!>u!}>}}}},{{{{{<"!>},<o'<,!e'u},"!!!>!!,>,{}},{{<{!>},<u!"!!!!!>o"!!{!!<'>},{<!>ui"!!!!!>!!iu!>},<">}},{<o,ae!!!!}!!ii!iuueo!!",i!ou>,<!!"!>},<aa!!!>},<o<au<!>,<ie!>},<>}},{<!!oi!>!!,!{!>,<o!!!>oe!!!>!u!!,!!aa!!}u>,<!>!>},<!!"<!>},<u'!!!>},<!!!!!>,<>},{{{},{}},{<!!!>},<i!eea'!!!>,<>}}},{{<>}}},{{{{<a!!!!u{!!!>>}},<}!!!!!>},<}{{ua!!u{<"<"!!!>>},{{<!!!>!>,!>e!!!>,<!>!!}!!!!o!!!><'!"}!>'<>,<e!>},<!!>},<{!>},<,<,!!u!oe,"!!a!!!!!!i>},{<{,!!!>"<'i,!!!!'!!,<!>,<"o!!<!!,!i">,{}}},{{},{{},{<eue!>!{<!!e},i!>},<>,{{<ai!!!>i>},{<!,>}}}}},{{<!>},<'u>},{<!>iu'!>},<!>!!"!>,<,o!>},<'}}oe>}}}}}}
new file mode 100644
--- /dev/null
+++ b/2017/day09/problem
@@ -0,0 +1,119 @@
+--- Day 9: Stream Processing ---
+
+A large stream blocks your path. According to the locals, it's not
+safe to cross the stream at the moment because it's full of garbage.
+You look down at the stream; rather than water, you discover that it's
+a stream of characters.
+
+You sit for a while and record part of the stream (your puzzle input).
+The characters represent groups - sequences that begin with { and end
+with }. Within a group, there are zero or more other things, separated
+by commas: either another group or garbage. Since groups can contain
+other groups, a } only closes the most-recently-opened unclosed group
+- that is, they are nestable. Your puzzle input represents a single,
+large group which itself contains many smaller ones.
+
+Sometimes, instead of a group, you will find garbage. Garbage begins
+with < and ends with >. Between those angle brackets, almost any
+character can appear, including { and }. Within garbage, < has no
+special meaning.
+
+In a futile attempt to clean up the garbage, some program has canceled
+some of the characters within it using !: inside garbage, any
+character that comes after ! should be ignored, including <, >, and
+even another !.
+
+You don't see any characters that deviate from these rules. Outside
+garbage, you only find well-formed groups, and garbage always
+terminates according to the rules above.
+
+Here are some self-contained pieces of garbage:
+
+    <>, empty garbage.
+
+    <random characters>, garbage containing random characters.
+
+    <<<<>, because the extra < are ignored.
+
+    <{!>}>, because the first > is canceled.
+
+    <!!>, because the second ! is canceled, allowing the > to
+    terminate the garbage.
+
+    <!!!>>, because the second ! and the first > are canceled.
+
+    <{o"i!a,<{i<a>, which ends at the first >.
+
+Here are some examples of whole streams and the number of groups they contain:
+
+    {}, 1 group.
+
+    {{{}}}, 3 groups.
+
+    {{},{}}, also 3 groups.
+
+    {{{},{},{{}}}}, 6 groups.
+
+    {<{},{},{{}}>}, 1 group (which itself contains garbage).
+
+    {<a>,<a>,<a>,<a>}, 1 group.
+
+    {{<a>},{<a>},{<a>},{<a>}}, 5 groups.
+
+    {{<!>},{<!>},{<!>},{<a>}}, 2 groups (since all but the last > are
+    canceled).
+
+
+Your goal is to find the total score for all groups in your input.
+Each group is assigned a score which is one more than the score of the
+group that immediately contains it. (The outermost group gets a score
+of 1.)
+
+    {}, score of 1.
+
+    {{{}}}, score of 1 + 2 + 3 = 6.
+
+    {{},{}}, score of 1 + 2 + 2 = 5.
+
+    {{{},{},{{}}}}, score of 1 + 2 + 3 + 3 + 3 + 4 = 16.
+
+    {<a>,<a>,<a>,<a>}, score of 1.
+
+    {{<ab>},{<ab>},{<ab>},{<ab>}}, score of 1 + 2 + 2 + 2 + 2 = 9.
+
+    {{<!!>},{<!!>},{<!!>},{<!!>}}, score of 1 + 2 + 2 + 2 + 2 = 9.
+
+    {{<a!>},{<a!>},{<a!>},{<ab>}}, score of 1 + 2 = 3.
+
+What is the total score for all groups in your input?
+
+Your puzzle answer was 12803.
+
+--- Part Two ---
+
+Now, you're ready to remove the garbage.
+
+To prove you've removed it, you need to count all of the characters
+within the garbage. The leading and trailing < and > don't count, nor
+do any canceled characters or the ! doing the canceling.
+
+    <>, 0 characters.
+
+    <random characters>, 17 characters.
+
+    <<<<>, 3 characters.
+
+    <{!>}>, 2 characters.
+
+    <!!>, 0 characters.
+
+    <!!!>>, 0 characters.
+
+    <{o"i!a,<{i<a>, 10 characters.
+
+How many non-canceled characters are within the garbage in your puzzle
+input?
+
+Your puzzle answer was 6425.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day10/input
@@ -0,0 +1,1 @@
+130,126,1,11,140,2,255,207,18,254,246,164,29,104,0,224
new file mode 100644
--- /dev/null
+++ b/2017/day10/problem
@@ -0,0 +1,168 @@
+--- Day 10: Knot Hash ---
+
+You come across some programs that are trying to implement a software
+emulation of a hash based on knot-tying. The hash these programs are
+implementing isn't very strong, but you decide to help them anyway.
+You make a mental note to remind the Elves later not to invent their
+own cryptographic functions.
+
+This hash function simulates tying a knot in a circle of string with
+256 marks on it. Based on the input to be hashed, the function
+repeatedly selects a span of string, brings the ends together, and
+gives the span a half-twist to reverse the order of the marks within
+it. After doing this many times, the order of the marks is used to
+build the resulting hash.
+
+  4--5   pinch   4  5           4   1
+ /    \  5,0,1  / \/ \  twist  / \ / \
+3      0  -->  3      0  -->  3   X   0
+ \    /         \ /\ /         \ / \ /
+  2--1           2  1           2   5
+
+To achieve this, begin with a list of numbers from 0 to 255, a current
+position which begins at 0 (the first element in the list), a skip
+size (which starts at 0), and a sequence of lengths (your puzzle
+input). Then, for each length:
+
+    Reverse the order of that length of elements in the list, starting
+    with the element at the current position.
+
+    Move the current position forward by that length plus the skip
+    size.
+
+
+    Increase the skip size by one.
+
+The list is circular; if the current position and the length try to
+reverse elements beyond the end of the list, the operation reverses
+using as many extra elements as it needs from the front of the list.
+If the current position moves past the end of the list, it wraps
+around to the front. Lengths larger than the size of the list are
+invalid.
+
+Here's an example using a smaller list:
+
+Suppose we instead only had a circular list containing five elements,
+0, 1, 2, 3, 4, and were given input lengths of 3, 4, 1, 5.
+
+    The list begins as [0] 1 2 3 4 (where square brackets indicate the
+    current position).
+
+    The first length, 3, selects ([0] 1 2) 3 4 (where parentheses
+    indicate the sublist to be reversed).
+
+    After reversing that section (0 1 2 into 2 1 0), we get ([2] 1 0)
+    3 4.
+
+    Then, the current position moves forward by the length, 3, plus
+    the skip size, 0: 2 1 0 [3] 4. Finally, the skip size increases to
+    1.
+
+    The second length, 4, selects a section which wraps: 2 1) 0 ([3] 4.
+
+    The sublist 3 4 2 1 is reversed to form 1 2 4 3: 4 3) 0 ([1] 2.
+
+    The current position moves forward by the length plus the skip
+    size, a total of 5, causing it not to move because it wraps
+    around: 4 3 0 [1] 2. The skip size increases to 2.
+
+    The third length, 1, selects a sublist of a single element, and so
+    reversing it has no effect.
+
+    The current position moves forward by the length (1) plus the skip
+    size (2): 4 [3] 0 1 2. The skip size increases to 3.
+
+    The fourth length, 5, selects every element starting with the
+    second: 4) ([3] 0 1 2. Reversing this sublist (3 0 1 2 4 into 4 2
+    1 0 3) produces: 3) ([4] 2 1 0.
+
+    Finally, the current position moves forward by 8: 3 4 2 1 [0]. The
+    skip size increases to 4.
+
+
+In this example, the first two numbers in the list end up being 3 and
+4; to check the process, you can multiply them together to produce 12.
+
+However, you should instead use the standard list size of 256 (with
+values 0 to 255) and the sequence of lengths in your puzzle input.
+Once this process is complete, what is the result of multiplying the
+first two numbers in the list?
+
+Your puzzle answer was 38628.
+
+--- Part Two ---
+
+The logic you've constructed forms a single round of the Knot Hash
+algorithm; running the full thing requires many of these rounds. Some
+input and output processing is also required.
+
+First, from now on, your input should be taken not as a list of
+numbers, but as a string of bytes instead. Unless otherwise specified,
+convert characters to bytes using their ASCII codes. This will allow
+you to handle arbitrary ASCII strings, and it also ensures that your
+input lengths are never larger than 255. For example, if you are given
+1,2,3, you should convert it to the ASCII codes for each character:
+49,44,50,44,51.
+
+Once you have determined the sequence of lengths to use, add the
+following lengths to the end of the sequence: 17, 31, 73, 47, 23. For
+example, if you are given 1,2,3, your final sequence of lengths should
+be 49,44,50,44,51,17,31,73,47,23 (the ASCII codes from the input
+string combined with the standard length suffix values).
+
+Second, instead of merely running one round like you did above, run a
+total of 64 rounds, using the same length sequence in each round. The
+current position and skip size should be preserved between rounds. For
+example, if the previous example was your first round, you would start
+your second round with the same length sequence (3, 4, 1, 5, 17, 31,
+73, 47, 23, now assuming they came from ASCII codes and include the
+suffix), but start with the previous round's current position (4) and
+skip size (4).
+
+Once the rounds are complete, you will be left with the numbers from 0
+to 255 in some order, called the sparse hash. Your next task is to
+reduce these to a list of only 16 numbers called the dense hash. To do
+this, use numeric bitwise XOR to combine each consecutive block of 16
+numbers in the sparse hash (there are 16 such blocks in a list of 256
+numbers). So, the first element in the dense hash is the first sixteen
+elements of the sparse hash XOR'd together, the second element in the
+dense hash is the second sixteen elements of the sparse hash XOR'd
+together, etc.
+
+For example, if the first sixteen elements of your sparse hash are as
+shown below, and the XOR operator is ^, you would calculate the first
+output number like this:
+
+65 ^ 27 ^ 9 ^ 1 ^ 4 ^ 3 ^ 40 ^ 50 ^ 91 ^ 7 ^ 6 ^ 0 ^ 2 ^ 5 ^ 68 ^ 22 = 64
+
+Perform this operation on each of the sixteen blocks of sixteen
+numbers in your sparse hash to determine the sixteen numbers in your
+dense hash.
+
+Finally, the standard way to represent a Knot Hash is as a single
+hexadecimal string; the final output is the dense hash in hexadecimal
+notation. Because each number in your dense hash will be between 0 and
+255 (inclusive), always represent each number as two hexadecimal
+digits (including a leading zero as necessary). So, if your first
+three numbers are 64, 7, 255, they correspond to the hexadecimal
+numbers 40, 07, ff, and so the first six characters of the hash would
+be 4007ff. Because every Knot Hash is sixteen such numbers, the
+hexadecimal representation is always 32 hexadecimal digits (0-f) long.
+
+Here are some example hashes:
+
+    The empty string becomes a2582a3a0e66e6e86e3812dcb672a272.
+
+    AoC 2017 becomes 33efeb34ea91902bb2f59c9920caa6cd.
+
+    1,2,3 becomes 3efbe78a8d82f29979031a4aa0b16a9d.
+
+    1,2,4 becomes 63960835bcdc130f0b66d7ff4f6a5a8e.
+
+Treating your puzzle input as a string of ASCII characters, what is
+the Knot Hash of your puzzle input? Ignore any leading or trailing
+whitespace you might encounter.
+
+Your puzzle answer was e1462100a34221a7f0906da15c1c979a.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day11/input
@@ -0,0 +1,1 @@
+s,nw,s,nw,se,nw,nw,nw,nw,n,n,se,n,ne,n,ne,ne,n,se,ne,nw,ne,s,nw,ne,ne,sw,se,se,se,se,se,se,se,nw,se,se,sw,n,se,se,se,se,s,n,ne,se,nw,nw,nw,s,s,sw,se,se,s,s,s,se,s,s,n,sw,s,s,s,s,s,nw,s,se,sw,s,sw,s,s,s,ne,sw,sw,sw,s,sw,s,sw,sw,sw,s,sw,sw,sw,sw,se,sw,sw,sw,sw,ne,sw,ne,sw,sw,nw,sw,sw,ne,sw,se,sw,n,n,sw,sw,sw,nw,nw,s,nw,sw,nw,nw,sw,s,nw,sw,nw,nw,sw,sw,sw,nw,sw,sw,nw,nw,nw,sw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,sw,nw,nw,nw,se,nw,s,nw,nw,nw,nw,nw,nw,n,ne,n,se,nw,nw,nw,nw,nw,n,nw,ne,se,n,nw,nw,nw,nw,n,n,nw,ne,nw,ne,ne,n,nw,n,nw,n,ne,n,s,n,ne,se,nw,n,n,n,nw,n,n,sw,n,n,nw,n,se,n,nw,n,n,n,n,n,n,n,n,n,n,se,n,nw,n,n,n,n,se,sw,n,n,n,n,n,n,ne,n,s,n,nw,se,n,n,n,n,ne,ne,ne,n,se,n,ne,sw,n,ne,ne,n,se,s,n,n,ne,se,n,ne,ne,n,ne,n,s,ne,n,ne,ne,n,se,ne,s,n,nw,ne,nw,n,ne,ne,ne,ne,ne,ne,n,ne,ne,ne,ne,ne,ne,sw,ne,n,ne,se,sw,se,n,ne,ne,n,ne,ne,ne,s,ne,sw,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,sw,ne,ne,ne,ne,ne,ne,se,se,ne,nw,ne,ne,ne,ne,ne,ne,ne,ne,ne,se,se,ne,ne,se,ne,ne,ne,se,ne,ne,se,se,sw,s,ne,sw,ne,ne,sw,se,ne,ne,se,sw,ne,se,ne,ne,se,ne,ne,ne,ne,ne,se,ne,ne,se,ne,se,ne,se,se,se,s,ne,se,ne,ne,se,ne,se,nw,ne,ne,ne,se,ne,se,ne,se,se,n,se,se,se,ne,se,se,se,se,se,ne,se,ne,se,se,se,ne,se,ne,sw,se,ne,n,se,se,se,ne,se,se,ne,sw,se,se,n,se,ne,se,se,se,ne,se,se,s,se,se,se,se,se,se,se,se,se,se,se,ne,nw,se,se,se,se,se,se,se,se,se,se,se,se,se,ne,se,se,ne,se,se,se,s,se,se,ne,nw,se,s,se,se,n,se,n,se,se,se,se,nw,s,se,se,se,se,s,s,s,sw,se,se,s,se,se,se,s,s,s,n,s,se,se,se,s,se,se,nw,n,se,se,s,se,se,se,se,s,se,se,nw,nw,s,se,se,se,se,se,ne,s,s,se,se,se,s,se,s,se,se,s,se,se,se,sw,se,se,se,se,se,se,s,s,sw,s,s,s,s,s,s,s,sw,se,s,s,s,se,se,se,se,s,s,n,s,nw,se,s,s,se,se,s,s,se,s,s,s,ne,se,ne,nw,n,s,s,s,se,sw,s,s,s,se,s,s,s,s,s,s,s,s,s,ne,s,s,s,se,s,s,s,s,s,n,ne,sw,se,s,se,s,s,nw,s,sw,s,s,s,s,se,se,s,s,ne,s,s,s,s,se,s,s,se,ne,s,s,s,s,s,nw,s,s,se,s,sw,n,n,s,s,s,ne,s,s,s,s,s,s,s,s,s,sw,s,s,nw,sw,s,s,s,sw,s,s,s,sw,s,s,s,s,n,s,s,s,s,s,s,sw,nw,s,sw,sw,s,s,n,sw,s,s,s,s,se,sw,ne,ne,s,se,sw,s,sw,ne,n,sw,sw,sw,ne,s,s,sw,se,nw,s,s,s,se,nw,s,sw,nw,ne,sw,s,s,sw,sw,s,s,se,ne,s,s,sw,nw,sw,s,s,s,s,ne,s,sw,sw,s,sw,s,s,s,s,sw,sw,s,sw,s,s,s,sw,s,s,s,sw,sw,nw,sw,sw,ne,s,se,sw,sw,s,sw,sw,s,s,sw,s,s,s,n,s,s,sw,s,nw,sw,s,s,s,s,ne,ne,sw,s,sw,sw,sw,sw,s,sw,sw,se,ne,sw,s,sw,sw,s,s,sw,nw,sw,sw,s,nw,nw,s,sw,s,nw,sw,sw,n,sw,s,sw,sw,sw,s,sw,sw,sw,sw,ne,s,s,nw,sw,sw,sw,sw,sw,ne,s,sw,s,sw,ne,n,sw,sw,sw,s,sw,s,nw,sw,sw,sw,sw,sw,s,s,s,n,sw,sw,sw,se,s,ne,sw,s,s,sw,sw,sw,s,s,sw,sw,sw,sw,sw,sw,s,sw,sw,sw,ne,sw,s,s,sw,ne,sw,se,sw,sw,sw,ne,ne,sw,sw,ne,n,sw,ne,sw,sw,sw,sw,sw,sw,s,sw,sw,n,sw,nw,sw,sw,sw,sw,nw,sw,sw,sw,sw,sw,ne,sw,sw,sw,s,sw,sw,sw,sw,nw,sw,n,sw,sw,sw,sw,ne,ne,sw,sw,sw,sw,sw,sw,sw,sw,s,sw,se,sw,sw,sw,sw,sw,sw,sw,s,sw,sw,sw,sw,sw,sw,sw,sw,nw,sw,sw,sw,sw,sw,sw,sw,sw,se,sw,sw,nw,sw,sw,sw,sw,sw,nw,sw,sw,ne,sw,se,sw,sw,se,sw,nw,sw,nw,sw,nw,nw,nw,n,ne,nw,nw,sw,nw,ne,sw,sw,nw,sw,n,sw,s,sw,sw,sw,sw,sw,sw,sw,sw,nw,nw,sw,sw,sw,nw,sw,sw,sw,sw,sw,ne,sw,nw,sw,n,sw,s,n,sw,sw,sw,sw,sw,sw,nw,sw,sw,sw,sw,nw,sw,nw,nw,sw,sw,sw,s,sw,sw,s,sw,sw,nw,sw,ne,se,n,sw,sw,se,ne,sw,nw,nw,nw,sw,sw,sw,nw,sw,sw,nw,nw,nw,nw,s,sw,nw,sw,n,nw,s,sw,nw,n,sw,sw,sw,nw,nw,ne,nw,nw,sw,sw,sw,nw,nw,sw,nw,sw,sw,sw,nw,sw,s,nw,sw,nw,nw,sw,sw,nw,sw,s,nw,nw,ne,sw,sw,ne,sw,se,nw,sw,nw,sw,n,nw,sw,sw,nw,sw,sw,sw,sw,sw,nw,n,nw,nw,s,nw,nw,nw,sw,sw,n,nw,sw,nw,sw,se,sw,sw,s,nw,sw,se,nw,sw,nw,sw,ne,n,sw,ne,nw,sw,nw,sw,sw,nw,ne,nw,nw,nw,s,nw,sw,nw,se,sw,nw,s,sw,s,nw,n,nw,sw,se,nw,nw,nw,n,s,sw,nw,ne,n,sw,sw,nw,nw,sw,nw,nw,nw,nw,sw,sw,nw,ne,ne,sw,nw,n,nw,se,nw,nw,sw,nw,nw,nw,nw,nw,nw,s,nw,nw,sw,sw,nw,nw,sw,nw,nw,sw,sw,se,n,se,s,nw,nw,sw,nw,nw,nw,nw,nw,nw,nw,nw,nw,sw,s,sw,nw,nw,sw,sw,nw,nw,nw,nw,nw,nw,se,nw,n,sw,sw,nw,n,nw,nw,nw,ne,se,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,s,nw,nw,nw,s,nw,nw,nw,nw,nw,nw,ne,nw,nw,nw,nw,ne,nw,ne,nw,nw,nw,n,sw,nw,nw,sw,nw,nw,nw,s,nw,nw,s,nw,nw,nw,sw,nw,nw,s,s,nw,nw,nw,sw,sw,nw,n,nw,nw,nw,s,nw,nw,nw,nw,nw,nw,nw,nw,ne,nw,nw,n,nw,nw,nw,nw,nw,nw,nw,nw,s,n,nw,nw,nw,n,nw,nw,nw,nw,nw,nw,nw,n,nw,nw,nw,n,sw,se,nw,nw,ne,nw,sw,nw,ne,nw,n,nw,nw,n,ne,nw,nw,nw,nw,nw,nw,nw,se,nw,nw,nw,nw,nw,nw,nw,nw,ne,nw,nw,se,nw,nw,n,nw,n,nw,nw,nw,nw,n,n,nw,se,n,n,nw,n,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,n,s,n,n,sw,nw,nw,nw,se,nw,ne,nw,nw,nw,sw,nw,nw,sw,n,nw,nw,nw,n,nw,nw,n,n,nw,nw,n,n,n,nw,nw,nw,n,nw,sw,ne,sw,sw,se,n,se,n,n,nw,n,n,n,nw,nw,nw,nw,nw,n,n,n,se,nw,n,n,sw,nw,nw,nw,nw,n,nw,s,nw,n,nw,nw,n,nw,nw,n,nw,nw,nw,n,nw,nw,s,nw,nw,nw,nw,nw,nw,n,nw,n,se,n,n,nw,nw,nw,nw,ne,n,se,sw,nw,n,n,nw,nw,n,nw,sw,sw,n,n,nw,se,nw,n,nw,nw,ne,nw,n,nw,nw,nw,n,n,nw,n,nw,nw,n,s,n,n,nw,n,n,n,nw,n,sw,n,se,sw,nw,n,n,sw,n,nw,nw,n,sw,sw,n,n,s,n,n,n,n,n,n,sw,nw,nw,n,sw,n,nw,nw,se,n,nw,ne,n,n,n,n,n,nw,sw,nw,nw,s,ne,se,nw,n,se,sw,nw,n,n,n,nw,n,nw,nw,n,n,n,nw,s,s,n,sw,n,nw,n,ne,nw,n,nw,nw,nw,sw,n,nw,n,n,sw,n,n,nw,n,n,se,n,nw,nw,nw,ne,nw,n,nw,n,nw,n,n,nw,nw,nw,n,nw,s,nw,n,s,nw,nw,n,nw,n,nw,n,n,sw,nw,n,nw,nw,n,sw,nw,n,nw,n,se,n,n,n,nw,n,nw,nw,se,nw,nw,nw,nw,n,nw,n,n,n,nw,n,n,nw,n,n,nw,n,n,n,n,n,nw,sw,n,nw,n,n,n,n,nw,n,nw,ne,nw,n,n,n,n,n,n,se,n,n,nw,n,n,n,n,s,nw,n,n,ne,n,n,se,n,n,nw,n,sw,n,s,n,nw,n,n,nw,nw,n,n,n,n,ne,n,n,se,ne,nw,n,n,nw,n,s,nw,nw,nw,n,sw,n,s,n,n,n,n,n,n,sw,n,ne,n,n,ne,n,n,n,se,sw,n,n,n,nw,n,n,n,nw,n,n,n,n,se,n,n,n,n,sw,ne,ne,n,n,n,ne,s,ne,n,n,n,nw,n,n,n,nw,n,n,n,n,n,nw,sw,nw,n,n,n,s,ne,n,n,ne,nw,n,n,n,n,n,n,nw,n,n,n,n,n,n,sw,n,nw,n,se,n,n,n,n,se,n,n,se,n,s,n,nw,n,se,n,n,sw,n,n,n,n,n,n,ne,n,sw,ne,n,n,n,n,n,n,n,n,n,n,ne,n,n,sw,sw,n,n,n,n,n,n,n,n,se,n,n,n,se,n,n,n,n,n,ne,se,n,n,n,n,n,n,n,n,n,n,ne,n,n,n,n,ne,n,n,ne,nw,se,n,n,n,n,n,n,n,n,n,ne,s,n,n,n,n,nw,n,n,n,ne,n,se,ne,ne,n,n,ne,n,sw,n,n,ne,n,n,se,ne,n,n,n,n,n,s,s,ne,nw,n,nw,ne,n,ne,nw,ne,ne,n,n,sw,n,n,ne,s,ne,n,sw,ne,n,se,nw,n,n,n,n,sw,s,se,ne,n,n,n,n,n,ne,sw,sw,s,n,nw,ne,n,n,ne,ne,ne,se,n,n,sw,n,se,n,n,se,ne,n,n,ne,nw,ne,n,sw,n,n,n,ne,ne,ne,ne,n,n,n,n,n,sw,n,n,n,nw,n,n,s,n,ne,ne,n,n,sw,sw,ne,n,n,n,n,ne,ne,ne,ne,nw,ne,se,ne,n,n,n,se,n,n,ne,n,sw,nw,n,n,s,n,n,n,n,n,n,n,n,sw,nw,n,n,n,n,n,n,n,n,ne,n,ne,n,ne,n,n,n,ne,ne,n,n,ne,n,n,n,n,ne,sw,n,se,n,n,n,n,ne,n,s,n,n,ne,ne,ne,n,n,ne,ne,n,ne,n,ne,se,n,se,sw,sw,sw,se,nw,ne,nw,ne,ne,n,ne,n,ne,n,ne,ne,ne,ne,n,n,n,ne,ne,n,ne,nw,sw,ne,n,ne,n,n,ne,nw,n,n,n,ne,se,n,n,n,ne,ne,n,n,nw,ne,n,n,s,n,ne,s,s,ne,nw,n,ne,n,n,nw,ne,ne,ne,n,n,ne,s,ne,sw,n,n,n,n,ne,ne,ne,ne,ne,n,sw,n,nw,ne,ne,ne,n,se,ne,s,ne,ne,ne,s,ne,n,n,ne,n,s,ne,n,ne,n,n,ne,n,ne,ne,ne,n,ne,n,nw,ne,ne,ne,ne,ne,ne,nw,ne,ne,ne,ne,n,sw,sw,ne,n,se,s,ne,n,n,nw,ne,ne,sw,ne,n,se,ne,n,sw,ne,n,ne,ne,ne,ne,ne,ne,ne,ne,n,n,n,ne,ne,nw,n,ne,ne,n,ne,n,sw,ne,n,n,ne,ne,n,s,nw,n,se,ne,n,se,ne,ne,ne,sw,n,ne,ne,sw,ne,n,n,ne,n,nw,n,ne,ne,n,ne,ne,ne,ne,se,se,nw,n,ne,ne,n,ne,ne,n,ne,sw,ne,se,n,ne,ne,ne,ne,ne,ne,ne,n,nw,ne,se,ne,n,ne,ne,ne,ne,ne,ne,ne,n,n,n,nw,ne,n,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,nw,ne,s,n,ne,ne,ne,sw,sw,ne,sw,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,se,ne,ne,ne,ne,sw,ne,n,ne,ne,n,ne,ne,ne,nw,n,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,s,n,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,sw,ne,ne,ne,ne,n,nw,ne,ne,ne,ne,se,ne,ne,ne,ne,sw,ne,ne,nw,ne,n,ne,ne,ne,ne,sw,ne,ne,sw,ne,ne,ne,ne,ne,se,ne,n,ne,nw,ne,sw,ne,ne,sw,ne,ne,n,ne,ne,ne,nw,n,ne,ne,n,ne,nw,n,ne,ne,ne,s,s,ne,ne,n,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,sw,nw,ne,ne,ne,ne,ne,nw,ne,sw,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,n,n,ne,sw,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,sw,ne,ne,se,n,ne,ne,ne,ne,s,ne,sw,ne,ne,ne,ne,se,ne,ne,sw,ne,ne,s,n,ne,ne,ne,ne,n,ne,se,ne,ne,nw,s,ne,ne,ne,ne,ne,ne,ne,ne,ne,nw,ne,ne,s,ne,ne,ne,se,ne,ne,ne,ne,s,ne,se,ne,ne,ne,se,ne,nw,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,ne,nw,ne,ne,se,se,ne,nw,ne,ne,ne,n,ne,ne,ne,s,ne,ne,ne,ne,ne,nw,n,ne,s,ne,se,s,ne,ne,ne,ne,se,ne,ne,ne,nw,ne,se,ne,ne,ne,ne,ne,ne,ne,nw,ne,se,ne,ne,ne,se,ne,se,ne,ne,ne,ne,ne,ne,se,ne,ne,ne,ne,n,ne,ne,ne,ne,ne,ne,ne,ne,sw,ne,ne,ne,s,ne,ne,ne,ne,ne,ne,ne,ne,ne,n,sw,ne,nw,ne,nw,ne,sw,ne,ne,ne,ne,ne,ne,ne,s,ne,ne,n,ne,n,sw,ne,ne,ne,se,ne,se,se,ne,ne,n,n,ne,nw,ne,s,ne,ne,ne,ne,ne,ne,se,sw,ne,se,se,s,nw,se,ne,ne,s,n,ne,ne,ne,ne,se,se,ne,ne,ne,nw,sw,ne,ne,ne,ne,ne,se,ne,ne,se,se,se,se,se,se,ne,ne,se,ne,sw,ne,ne,ne,se,ne,ne,ne,ne,se,ne,se,ne,se,ne,sw,ne,ne,ne,se,ne,ne,ne,ne,ne,s,ne,ne,ne,ne,s,se,sw,ne,ne,s,ne,se,ne,se,ne,se,se,ne,ne,ne,ne,ne,ne,ne,ne,se,se,ne,ne,se,s,se,ne,ne,ne,ne,se,ne,se,se,nw,ne,se,ne,n,n,ne,ne,s,ne,n,nw,ne,nw,ne,ne,ne,s,s,ne,sw,ne,sw,se,se,se,ne,ne,sw,se,ne,ne,se,ne,se,ne,se,ne,se,ne,s,se,ne,ne,ne,se,ne,ne,se,ne,n,se,se,se,ne,nw,se,se,se,se,se,ne,n,ne,nw,ne,se,se,ne,ne,ne,ne,se,se,ne,ne,ne,ne,ne,se,se,ne,sw,s,se,nw,se,ne,se,n,ne,se,sw,ne,ne,ne,ne,ne,ne,n,ne,se,n,se,ne,ne,ne,n,ne,se,ne,se,ne,ne,se,n,ne,sw,s,se,se,se,sw,ne,se,ne,ne,se,se,nw,se,ne,se,ne,ne,se,se,nw,ne,nw,ne,ne,ne,n,se,ne,n,ne,sw,ne,ne,ne,sw,ne,se,se,se,ne,sw,ne,ne,sw,ne,ne,ne,ne,ne,se,se,ne,ne,ne,ne,ne,n,se,ne,ne,s,ne,ne,se,ne,nw,ne,s,nw,nw,se,se,ne,ne,n,ne,ne,nw,ne,ne,ne,se,ne,sw,s,ne,ne,ne,n,ne,ne,se,se,se,ne,sw,ne,se,ne,sw,se,se,se,ne,ne,ne,ne,ne,se,s,se,sw,se,ne,se,se,ne,se,ne,se,ne,se,ne,se,ne,ne,ne,s,se,se,n,se,se,ne,se,ne,n,s,se,se,se,se,se,nw,ne,ne,se,se,se,se,ne,se,ne,ne,se,se,se,ne,se,se,se,ne,se,ne,ne,se,ne,nw,ne,se,ne,se,ne,ne,se,se,ne,ne,ne,ne,se,ne,ne,se,n,ne,se,sw,ne,ne,ne,se,ne,sw,se,ne,se,ne,se,ne,se,se,ne,ne,nw,sw,se,ne,se,ne,se,ne,se,ne,ne,ne,se,ne,ne,se,n,se,se,se,nw,se,se,se,se,se,ne,se,ne,se,sw,sw,se,se,n,ne,ne,s,se,ne,ne,ne,se,ne,se,ne,se,se,ne,ne,se,se,se,se,ne,se,ne,ne,ne,se,ne,se,ne,ne,se,ne,ne,se,se,se,s,se,se,ne,ne,ne,nw,se,se,ne,nw,sw,ne,se,se,s,se,ne,ne,nw,se,se,n,se,se,se,se,s,se,se,se,ne,se,ne,se,se,se,ne,ne,ne,se,se,nw,se,ne,se,se,se,ne,ne,se,se,ne,ne,n,se,ne,se,ne,se,ne,ne,se,se,se,se,se,se,ne,se,ne,sw,ne,se,n,se,se,s,se,se,ne,ne,se,se,se,se,nw,se,se,se,s,sw,se,se,se,ne,se,ne,se,se,ne,ne,se,ne,ne,ne,se,sw,se,n,se,se,se,se,ne,nw,ne,se,se,s,se,se,ne,s,se,ne,s,se,se,ne,sw,sw,se,se,se,se,se,se,s,se,ne,ne,se,sw,ne,se,se,se,se,ne,se,se,se,se,ne,se,ne,se,se,se,se,ne,ne,ne,ne,ne,ne,n,se,ne,se,se,se,se,ne,nw,se,se,ne,se,n,sw,se,se,se,se,ne,se,se,se,s,se,ne,sw,se,se,se,se,n,se,ne,ne,se,se,se,se,se,se,se,nw,se,ne,ne,se,ne,se,se,se,se,se,ne,se,s,se,sw,se,ne,se,se,ne,n,se,se,se,nw,nw,se,se,se,nw,se,se,s,ne,sw,se,se,ne,se,ne,se,ne,ne,sw,se,ne,nw,se,se,se,se,ne,ne,se,n,se,sw,se,se,nw,se,se,se,se,se,se,se,ne,ne,se,se,se,nw,se,se,se,n,s,n,se,ne,se,s,ne,s,se,se,se,se,ne,se,se,se,se,se,se,se,se,se,se,se,ne,nw,sw,se,ne,se,se,n,se,se,nw,se,se,ne,se,se,s,ne,se,ne,se,se,se,se,se,s,se,nw,se,se,se,se,n,se,ne,se,nw,se,se,se,se,se,s,se,se,se,n,ne,se,se,se,ne,ne,se,se,ne,sw,se,sw,n,se,sw,se,se,se,se,se,se,se,se,ne,se,se,se,se,se,ne,se,s,se,se,se,se,n,se,se,se,se,se,se,se,se,se,se,sw,se,se,sw,se,se,sw,se,se,sw,se,nw,se,se,se,se,se,se,se,se,se,n,se,ne,se,se,se,se,se,se,se,se,se,se,se,se,se,s,nw,ne,se,se,s,se,se,s,se,se,se,se,se,se,se,sw,se,se,se,se,se,se,se,se,se,se,se,se,se,se,se,s,se,se,se,se,se,sw,se,se,ne,s,se,se,se,se,se,se,sw,se,se,se,se,ne,se,se,s,se,se,n,se,se,se,ne,se,s,se,se,s,n,se,s,se,se,sw,se,se,se,se,se,se,se,sw,sw,se,se,se,se,se,se,s,se,se,nw,se,se,se,se,se,se,se,se,se,se,s,se,se,se,se,se,se,se,sw,se,se,se,n,se,se,se,se,s,s,se,se,se,se,n,s,se,n,se,se,se,se,se,nw,se,se,se,sw,se,se,se,s,s,s,se,se,se,se,nw,s,n,se,se,se,se,ne,se,se,sw,se,se,s,se,ne,ne,se,sw,s,s,se,se,s,nw,se,se,se,se,se,nw,se,se,se,se,s,s,se,s,n,se,se,se,se,se,se,s,se,s,se,nw,se,se,se,sw,se,s,s,se,s,se,se,se,se,se,se,se,nw,se,se,nw,se,se,se,se,se,s,se,se,s,se,se,s,s,se,se,se,se,s,se,sw,s,se,se,s,se,ne,se,se,s,se,se,ne,se,se,s,se,se,s,se,s,se,se,se,se,se,s,s,s,se,se,se,se,s,s,ne,n,se,se,s,sw,se,sw,se,sw,se,se,se,se,s,se,s,s,se,se,se,se,ne,se,se,s,s,se,se,se,se,se,n,ne,ne,se,se,s,se,se,se,se,se,s,se,se,se,se,sw,se,se,se,sw,s,se,se,se,ne,se,se,se,se,se,se,se,s,ne,se,se,se,se,sw,s,s,se,se,se,se,se,n,n,se,se,ne,se,se,sw,s,se,se,nw,ne,s,se,se,se,n,n,se,s,ne,se,se,se,se,se,se,se,se,se,se,se,se,se,s,nw,se,se,s,se,se,sw,se,se,s,sw,sw,se,se,s,sw,se,s,s,s,s,se,se,nw,se,n,se,n,se,s,se,s,ne,n,se,n,se,se,se,ne,s,se,se,ne,se,se,sw,se,s,nw,se,se,s,s,se,s,sw,sw,n,se,se,s,n,se,se,se,s,se,se,s,nw,nw,se,se,se,se,se,se,s,se,se,se,se,s,nw,s,sw,se,sw,s,ne,nw,se,se,s,se,se,se,se,se,se,se,se,se,se,se,se,s,s,se,se,se,ne,se,ne,se,ne,se,se,se,se,se,se,s,se,s,n,se,se,n,s,s,s,nw,se,ne,se,se,s,se,se,sw,s,s,s,se,s,s,n,sw,s,se,se,se,s,ne,se,s,n,se,se,se,se,ne,se,nw,s,s,s,nw,se,n,s,n,se,se,se,s,se,s,se,nw,s,n,se,s,ne,s,se,s,se,s,s,sw,se,s,s,se,se,s,se,n,se,n,se,se,se,s,se,se,nw,se,se,n,se,se,ne,se,se,s,s,se,se,se,se,n,se,se,se,ne,nw,se,se,se,se,se,se,se,se,sw,s,se,s,se,s,s,sw,se,se,se,s,se,se,se,se,ne,s,s,se,se,s,se,se,se,se,sw,s,se,se,ne,nw,sw,se,s,se,s,se,n,s,sw,se,se,nw,nw,s,ne,s,se,se,s,sw,se,se,s,s,s,s,se,s,se,n,s,se,s,se,s,se,s,se,se,se,s,se,se,s,s,s,s,ne,se,se,se,ne,ne,s,sw,nw,se,se,s,s,se,s,nw,se,ne,se,se,s,sw,ne,se,se,s,sw,se,s,s,s,sw,s,se,se,ne,ne,se,sw,s,s,s,s,s,se,se,s,s,se,nw,se,s,s,s,se,s,s,se,sw,s,s,s,ne,se,se,s,se,s,se,s,se,nw,nw,s,se,s,ne,se,n,se,se,s,se,se,nw,s,s,se,s,s,se,n,se,se,s,se,se,se,se,s,se,se,se,s,s,se,s,se,ne,s,n,sw,n,sw,s,s,s,se,s,s,s,s,n,se,se,se,s,s,se,se,se,se,sw,s,s,s,se,ne,se,se,s,ne,s,s,se,sw,se,se,s,se,se,se,se,s,s,ne,s,s,s,se,s,se,s,ne,se,s,sw,nw,se,s,s,s,s,s,s,se,n,s,s,se,se,sw,se,s,se,s,se,se,se,s,sw,s,s,sw,se,se,se,se,s,se,sw,s,n,ne,se,s,s,se,n,s,sw,nw,se,s,nw,se,se,se,se,s,ne,s,sw,s,nw,s,se,se,s,se,ne,se,se,se,se,s,se,s,sw,s,n,ne,se,s,s,s,s,s,s,se,s,se,s,se,s,s,s,s,s,s,s,s,se,se,se,nw,se,se,s,s,s,s,se,s,s,nw,s,se,se,s,se,se,ne,sw,se,s,s,se,sw,s,s,se,se,se,s,se,n,sw,s,se,s,se,se,se,se,se,se,se,se,se,se,se,s,s,n,s,s,se,s,se,se,s,s,nw,se,s,se,s,se,s,s,s,ne,s,se,s,s,nw,s,se,se,se,s,n,s,se,s,s,s,s,se,s,nw,se,se,se,se,nw,nw,ne,s,se,se,s,sw,sw,se,se,s,s,s,se,s,s,s,se,se,s,se,se,ne,n,nw,s,s,s,se,se,nw,s,s,s,s,s,s,s,s,se,ne,se,s,s,se,se,s,s,s,s,ne,ne,s,sw,s,se,n,s,nw,nw,se,se,s,se,s,s,nw,s,ne,nw,se,s,s,se,se,se,s,se,s,sw,se,n,se,s,s,s,nw,se,sw,s,s,s,ne,s,s,s,s,s,s,sw,se,se,s,nw,s,se,se,s,s,s,s,s,s,s,se,nw,s,se,s,ne,s,se,s,s,n,s,s,s,se,s,s,s,s,s,se,s,s,sw,s,sw,s,n,s,nw,ne,se,s,ne,s,s,se,n,s,ne,se,s,se,s,s,s,sw,sw,s,s,s,s,sw,s,sw,se,s,n,n,s,s,se,s,se,s,ne,s,se,s,s,s,nw,s,s,se,nw,s,s,s,s,s,s,s,s,s,nw,ne,n,s,n,s,s,se,s,s,se,se,s,s,s,s,s,ne,s,s,s,n,se,ne,ne,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,se,s,s,n,s,s,s,nw,se,ne,s,s,s,s,s,se,s,s,s,sw,s,s,s,s,s,s,s,s,se,s,n,ne,s,s,s,nw,n,s,s,s,s,sw,se,nw,s,se,n,s,s,sw,s,s,s,sw,s,s,s,se,s,s,s,s,n,s,s,s,s,s,se,sw,s,s,s,s,nw,s,s,s,nw,s,nw,s,s,se,s,s,se,s,sw,s,s,s,s,s,se,s,s,n,s,nw,s,s,s,ne,se,se,s,ne,s,sw,s,se,s,s,s,s,s,se,s,nw,nw,se,nw,s,s,s,nw,se,s,s,s,se,s,s,s,ne,se,s,s,s,n,s,s,s,se,s,s,s,s,sw,sw,s,nw,ne,s,s,n,s,s,s,se,ne,s,s,nw,s,s,s,s,s,n,nw,s,s,s,se,s,nw,s,ne,s,s,s,sw,s,s,n,s,s,s,s,s,s,s,n,nw,ne,se,sw,s,nw,n,s,s,s,se,s,s,s,s,s,s,sw,s,s,ne,s,n,nw,s,nw,ne,s,s,s,s,s,s,s,sw,s,s,s,s,s,s,s,sw,s,s,s,s,s,se,s,s,s,s,s,n,s,s,s,s,n,s,s,s,se,ne,nw,ne,ne,n,nw,n,n,nw,nw,nw,nw,sw,s,sw,ne,sw,nw,sw,s,sw,sw,sw,se,sw,sw,sw,sw,s,s,nw,sw,n,s,n,s,s,s,s,n,s,se,se,s,se,se,se,s,se,se,s,s,se,s,ne,n,se,nw,se,se,se,se,ne,se,se,se,n,se,se,sw,se,se,se,ne,se,ne,ne,n,se,s,se,ne,ne,ne,se,ne,s,ne,ne,ne,ne,ne,se,ne,ne,ne,ne,se,n,n,ne,s,s,ne,n,n,ne,ne,se,s,sw,ne,n,s,n,ne,ne,n,s,ne,ne,n,n,nw,n,n,n,s,ne,ne,n,ne,n,ne,n,n,n,ne,ne,nw,n,sw,n,n,nw,n,n,n,n,n,n,n,n,n,sw,n,n,n,n,n,n,n,nw,se,n,nw,n,n,n,n,se,nw,n,nw,n,n,nw,n,nw,n,nw,se,n,n,n,n,s,n,se,se,n,nw,nw,nw,n,n,nw,nw,s,n,nw,nw,nw,nw,nw,nw,nw,nw,nw,sw,n,nw,nw,nw,sw,nw,nw,nw,nw,nw,nw,nw,nw,nw,ne,nw,nw,nw,sw,nw,ne,ne,se,nw,nw,nw,nw,nw,sw,nw,sw,nw,sw,s,nw,nw,nw,nw,nw,nw,nw,nw,sw,sw,nw,nw,sw,nw,sw,n,nw,sw,nw,sw,nw,se,nw,se,s,s,nw,nw,nw,nw,s,sw,n,nw,n,nw,sw,nw,nw,n,sw,s,nw,sw,sw,nw,sw,sw,sw,ne,sw,n,s,sw,sw,sw,sw,sw,n,sw,sw,s,sw,sw,sw,ne,sw,sw,nw,sw,n,s,sw,sw,sw,sw,sw,s,sw,sw,sw,sw,sw,sw,sw,sw,sw,ne,sw,nw,sw,ne,sw,sw,n,sw,sw,sw,ne,sw,nw,sw,s,ne,sw,sw,sw,sw,s,sw,sw,se,sw,sw,sw,sw,s,sw,sw,s,ne,s,sw,s,sw,sw,s,n,s,se,sw,sw,se,se,nw,s,s,sw,sw,n,s,s,s,sw,s,se,sw,sw,se,sw,sw,sw,nw,n,s,sw,sw,s,sw,s,sw,s,s,sw,s,sw,s,sw,s,se,s,sw,sw,sw,sw,sw,s,s,sw,s,s,s,ne,s,s,ne,sw,sw,nw,s,s,se,sw,sw,s,s,s,n,s,s,s,ne,s,s,s,s,n,nw,s,s,s,s,s,s,s,s,sw,s,s,s,s,s,s,s,s,s,s,se,s,se,s,s,s,s,s,s,s,s,s,nw,s,s,nw,s,s,s,s,s,ne,n,s,s,s,s,n,s,s,n,s,s,s,s,se,s,se,s,se,sw,se,s,s,se,s,s,se,s,s,s,s,se,nw,ne,n,se,s,s,s,s,s,sw,n,s,s,s,se,se,s,se,se,sw,se,ne,s,se,sw,se,nw,se,se,s,s,s,se,s,s,s,se,se,s,sw,se,s,n,s,s,se,n,se,se,s,se,s,ne,s,s,s,se,s,se,s,ne,s,se,se,nw,ne,se,se,se,s,s,s,se,s,nw,s,se,s,se,se,n,se,s,se,nw,se,se,se,se,se,se,se,s,se,s,nw,n,se,ne,se,s,se,se,ne,n,se,ne,se,se,se,s,se,ne,se,s,se,se,se,sw,s,s,se,se,s,se,nw,se,se,se,se,se,se,se,se,se,se,se,se,se,ne,se,se,s,se,se,se,s,se,se,se,se,se,se,se,se,se,se,se,s,se,sw,se,se,se,ne,se,se,se,se,se,se,ne,se,nw,se,se,se,se,ne,sw,sw,se,se,se,ne,n,se,ne,nw,se,sw,se,se,se,ne,ne,se,ne,se,se,se,sw,se,se,n,se,se,n,se,se,se,ne,se,se,sw,se,nw,s,se,se,n,ne,se,ne,ne,se,se,se,ne,ne,nw,se,se,s,sw,se,ne,se,ne,sw,s,se,ne,se,se,se,se,nw,se,se,se,se,se,se,se,se,ne,ne,ne,se,se,ne,se,n,se,se,ne,n,sw,se,ne,se,se,se,se,ne,se,sw,ne,ne,ne,ne,se,se,se,ne,se,se,se,ne,n,ne,se,se,ne,ne,ne,se,se,se,se,sw,nw,ne,ne,s,sw,ne,se,sw,se,sw,ne,nw,ne,ne,ne,ne,ne,se,ne,ne,ne,se,se,ne,ne,ne,s,se,ne,nw,se,se,ne,ne,ne,se,sw,ne,nw,sw,ne,ne,n,n,ne,ne,se,ne,nw,sw,se,ne,se,ne,se,se,ne,se,se,sw,ne,nw,s,ne,se,se,ne,sw,ne,ne,nw,s,ne,ne,ne,ne,ne,se,ne,nw,ne,ne,ne,se,ne,ne,ne,ne,sw,ne,ne,ne,ne,ne,ne,ne,ne,nw,ne,ne,se,se,ne,ne,ne,ne,se,ne,se,n,ne,ne,ne,s,se,sw,ne,ne,ne,ne,ne,ne,ne,ne,se,ne,sw,ne,ne,ne,ne,ne,ne,ne,n,n,ne,n,ne,ne,nw,ne,ne,ne,ne,se,ne,ne,ne,ne,ne,ne,ne,ne,se,ne,sw,ne,ne,ne,ne,ne,ne,ne,ne,ne,n,sw,ne,ne,ne,ne,ne,ne,sw,ne,ne,ne,s,ne,ne,ne,sw,ne,ne,n,ne,ne,ne,ne,ne,ne,ne,ne,s,n,ne,se,sw,ne,se,ne,ne,ne,ne,n,ne,ne,ne,se,n,nw,ne,ne,ne,sw,ne,n,nw,s,ne,ne,nw,s,ne,se,ne,ne,nw,n,ne,se,nw,ne,n,ne,ne,ne,ne,n,ne,ne,n,ne,n,ne,ne,n,ne,ne,n,n,ne,ne,ne,nw,ne,ne,ne,se,ne,ne,ne,n,ne,nw,ne,ne,ne,ne,n,n,ne,ne,ne,ne,sw,nw,ne,ne,n,ne,sw,n,ne,ne,ne,ne,ne,n,ne,n,n,n,s,n,ne,se,ne,n,ne,ne,s,s,ne,n,ne,n,nw,n,nw,ne,sw,s,ne,ne,ne,ne,ne,ne,n,ne,nw,s,ne,n,ne,se,ne,ne,n,ne,n,s,se,sw,ne,sw,n,ne,ne,sw,n,ne,n,n,sw,n,n,n,ne,n,sw,n,ne,ne,sw,sw,n,ne,n,ne,n,n,sw,n,n,ne,n,ne,n,ne,nw,ne,n,ne,n,n,ne,n,n,n,ne,n,ne,sw,n,n,se,n,n,ne,ne,s,n,ne,n,ne,ne,ne,ne,n,ne,s,n,ne,n,nw,n,n,ne,n,ne,n,nw,n,n,ne,ne,n,n,n,ne,n,n,n,se,n,n,ne,n,n,n,n,n,n,n,n,n,n,n,s,n,ne,ne,n,n,n,n,n,ne,n,nw,nw,n,n,sw,ne,nw,ne,n,n,ne,n,s,n,ne,ne,n,sw,ne,n,ne,n,n,n,se,n,n,ne,n,n,n,ne,n,n,n,n,n,ne,nw,n,n,s,n,n,n,ne,n,se,n,n,s,n,n,ne,se,n,n,ne,n,ne,n,n,n,ne,se,n,n,sw,sw,n,s,n,se,n,n,n,n,sw,n,n,ne,n,n,n,n,n,n,n,n,n,n,n,n,n,nw,n,n,n,n,n,se,n,s,n,se,n,n,n,n,n,sw,n,ne,n,n,s,n,n,n,nw,n,n,n,n,nw,nw,n,n,n,n,n,s,n,n,ne,n,n,n,n,nw,sw,n,n,n,s,n,nw,s,n,s,n,n,n,n,n,n,n,n,n,n,n,n,n,se,nw,n,n,n,n,nw,n,sw,s,nw,n,n,n,n,n,n,se,n,n,n,n,n,n,ne,nw,n,n,n,n,n,se,n,n,n,n,n,n,n,n,n,n,n,n,sw,n,n,nw,se,se,nw,ne,n,n,n,nw,n,n,n,n,n,n,nw,n,nw,nw,s,nw,n,n,n,n,nw,nw,nw,nw,ne,n,nw,n,nw,n,ne,s,nw,se,n,nw,nw,nw,sw,n,n,se,nw,nw,nw,n,n,nw,nw,n,n,n,nw,nw,n,nw,sw,n,n,n,n,n,nw,n,nw,n,nw,s,n,nw,ne,nw,se,n,se,n,nw,n,n,s,n,s,n,n,nw,nw,ne,nw,n,sw,ne,nw,ne,nw,n,nw,nw,nw,se,nw,n,n,nw,se,nw,nw,n,se,n,n,n,n,n,nw,n,ne,n,n,n,sw,nw,nw,nw,nw,nw,n,n,n,s,nw,se,nw,nw,n,n,s,nw,n,ne,nw,n,se,n,nw,n,nw,nw,nw,n,n,nw,nw,nw,nw,n,nw,n,nw,nw,s,n,nw,n,nw,s,nw,n,sw,ne,nw,se,nw,nw,ne,n,n,n,se,nw,n,nw,nw,nw,nw,ne,nw,s,nw,nw,nw,nw,n,n,nw,se,nw,n,nw,ne,nw,sw,n,se,n,nw,sw,nw,nw,n,s,nw,nw,s,ne,nw,n,n,n,nw,n,n,nw,n,nw,n,nw,n,n,sw,nw,n,nw,n,nw,n,se,ne,nw,nw,n,sw,nw,n,nw,nw,nw,ne,nw,n,nw,nw,nw,nw,nw,nw,n,n,n,nw,ne,nw,n,n,s,nw,nw,ne,nw,nw,nw,nw,nw,nw,se,nw,n,nw,nw,nw,nw,nw,nw,n,nw,ne,n,nw,nw,nw,n,nw,nw,nw,nw,nw,n,nw,ne,nw,sw,s,nw,sw,nw,s,nw,nw,nw,se,n,n,sw,nw,nw,s,nw,nw,nw,s,n,ne,n,nw,s,n,n,nw,n,n,n,nw,nw,nw,nw,n,nw,nw,n,nw,nw,nw,s,sw,nw,nw,n,nw,n,nw,n,s,nw,nw,n,sw,n,nw,nw,n,nw,sw,se,n,nw,nw,nw,nw,n,n,nw,nw,n,nw,n,nw,nw,nw,nw,nw,se,nw,n,nw,nw,nw,n,nw,nw,nw,ne,s,nw,n,nw,s,se,n,nw,nw,n,nw,s,se,n,n,nw,nw,nw,sw,nw,n,nw,sw,nw,nw,s,nw,nw,nw,s,nw,s,sw,nw,nw,nw,nw,nw,nw,ne,nw,nw,se,nw,nw,nw,nw,n,nw,nw,se,nw,nw,nw,nw,nw,nw,n,s,nw,nw,n,nw,sw,nw,nw,nw,nw,nw,nw,s,nw,nw,nw,nw,sw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,nw,n,nw,nw,sw,nw,nw,nw,nw,nw,nw,nw,nw,nw,se,nw,nw,nw,nw,n,sw,nw,sw,n,nw,nw,nw,se,nw,nw,sw,nw,sw,se,sw,nw,nw,sw,nw,nw,nw,nw,nw,n,s,ne,nw,s,nw,nw,nw,nw,n,nw,nw,s,nw,nw,nw,nw,nw,ne,ne,nw,nw,se,nw,sw,nw,nw,nw,nw,nw,ne,nw,nw,nw,nw,sw,ne,nw,nw,nw,sw,nw,nw,s,se,nw,nw,s,nw,nw,ne,nw,nw,nw,se,nw,se,n,nw,nw,sw,se,sw,nw,se,sw,nw,nw,nw,n,sw,nw,nw,nw,nw,nw,nw,se,nw,nw,sw,nw,sw,sw,nw,ne,nw,nw,sw,ne,nw,sw,sw,nw,nw,nw,sw,nw,nw,nw,n,sw,se,nw,sw,nw,nw,nw,se,nw,nw,sw,ne,nw,sw,sw,n,nw,nw,nw,sw,nw,nw,sw,nw,nw,sw,se,se,nw,nw,nw,nw,nw,nw,nw,sw,nw,sw,nw,nw,se,n,se,sw,nw,sw,nw,sw,se,nw,nw,sw,nw,nw,nw,n,sw,nw,nw,nw,sw,nw,sw,nw,nw,se,nw,nw,nw,nw,nw,ne,nw,ne,nw,nw,nw,nw,nw,nw,n,sw,nw,sw,n,nw,sw,sw,nw,nw,nw,n,n,nw,nw,sw,nw,nw,nw,sw,nw,nw,n,nw,n,nw,n,nw,nw,nw,nw,sw,sw,nw,sw,n,sw,sw,nw,nw,sw,sw,nw,sw,sw,nw,nw,nw,ne,nw,nw,nw,sw,n,nw,sw,nw,ne,sw,nw,ne,nw,nw,n,ne,nw,n,nw,s,n,sw,nw,nw,sw,nw,nw,s,nw,sw,sw,nw,se,sw,nw,sw,nw,sw,sw,sw,nw,s,se,sw,nw,nw,sw,se,sw,sw,ne,nw,nw,sw,sw,se,ne,nw,nw,s,se,ne,sw,nw,nw,nw,nw,sw,ne,ne,sw,nw,sw,nw,ne,nw,s,sw,sw,sw,nw,s,sw,nw,nw,nw,sw,nw,nw,ne,nw,n,nw,nw,nw,sw,nw,sw,sw,nw,nw,nw,nw,ne,ne,nw,nw,nw,s,s,sw,n,nw,sw,sw,sw,sw,sw,sw,nw,nw,s,s,nw,nw,sw,sw,sw,sw,nw,sw,sw,ne,nw,n,nw,nw,ne,sw,s,sw,ne,sw,ne,sw,sw,sw,sw,nw,sw,nw,sw,sw,nw,nw,s,nw,sw,nw,nw,n,sw,sw,sw,sw,nw,sw,nw,sw,n,nw,se,nw,sw,sw,sw,sw,nw,sw,sw,sw,sw,sw,nw,nw,sw,nw,sw,sw,sw,nw,sw,sw,sw,sw,sw,nw,ne,sw,nw,nw,nw,sw,nw,nw,nw,sw,sw,sw,nw,nw,sw,sw,sw,se,sw,nw,nw,sw,sw,ne,sw,sw,nw,sw,n,sw,nw,nw,sw,sw,sw,nw,sw,nw,sw,sw,s,nw,sw,sw,sw,se,s,sw,sw,sw,nw,s,sw,sw,sw,sw,sw,nw,sw,nw,sw,nw,nw,nw,sw,nw,sw,nw,nw,sw,nw,sw,sw,nw,sw,se,sw,sw,nw,sw,se,sw,ne,ne,sw,sw,sw,sw,nw,s,nw,nw,se,sw,nw,sw,nw,sw,sw,sw,sw,se,se,s,sw,sw,sw,nw,sw,nw,sw,nw,ne,nw,sw,sw,sw,s,s,sw,sw,sw,nw,se,sw,nw,sw,sw,se,nw,s,nw,sw,nw,sw,se,ne,sw,sw,sw,nw,nw,nw,nw,sw,nw,ne,sw,sw,nw,sw,sw,sw,sw,se,se,sw,sw,se,s,sw,se,ne,se,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,nw,nw,nw,sw,sw,sw,sw,sw,sw,sw,nw,sw,s,sw,nw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,se,sw,n,sw,sw,sw,ne,sw,sw,sw,sw,s,ne,sw,sw,n,sw,sw,sw,nw,sw,sw,se,sw,sw,sw,sw,nw,sw,sw,sw,sw,sw,sw,sw,sw,se,ne,sw,sw,sw,nw,nw,sw,sw,se,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,nw,sw,n,sw,sw,sw,sw,sw,sw,sw,nw,sw,sw,sw,sw,sw,sw,se,sw,s,n,s,s,sw,sw,sw,sw,ne,sw,n,se,sw,sw,sw,sw
new file mode 100644
--- /dev/null
+++ b/2017/day11/problem
@@ -0,0 +1,49 @@
+--- Day 11: Hex Ed ---
+
+Crossing the bridge, you've barely reached the other side of the
+stream when a program comes up to you, clearly in distress. "It's my
+child process," she says, "he's gotten lost in an infinite grid!"
+
+Fortunately for her, you have plenty of experience with infinite
+grids.
+
+Unfortunately for you, it's a hex grid.
+
+The hexagons ("hexes") in this grid are aligned such that adjacent
+hexes can be found to the north, northeast, southeast, south,
+southwest, and northwest:
+
+  \ n  /
+nw +--+ ne
+  /    \
+-+      +-
+  \    /
+sw +--+ se
+  / s  \
+
+You have the path the child process took. Starting where he started,
+you need to determine the fewest number of steps required to reach
+him. (A "step" means to move from the hex you are in to any adjacent
+hex.)
+
+For example:
+
+    ne,ne,ne is 3 steps away.
+
+    ne,ne,sw,sw is 0 steps away (back where you started).
+
+    ne,ne,s,s is 2 steps away (se,se).
+
+    se,sw,se,sw,sw is 3 steps away (s,s,sw).
+
+
+Your puzzle answer was 818.
+
+--- Part Two ---
+
+How many steps away is the furthest he ever got from his starting
+position?
+
+Your puzzle answer was 1596.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day12/input
@@ -0,0 +1,2000 @@
+0 <-> 82
+1 <-> 41, 1402
+2 <-> 454, 1690
+3 <-> 533, 1726
+4 <-> 82
+5 <-> 202, 1769
+6 <-> 682, 789, 1295
+7 <-> 1243, 1500
+8 <-> 1630
+9 <-> 847, 1922
+10 <-> 446
+11 <-> 98, 172, 859, 1303
+12 <-> 1748
+13 <-> 334
+14 <-> 850, 1537, 1627, 1747
+15 <-> 194, 722, 1091, 1290
+16 <-> 537, 965, 1642
+17 <-> 371
+18 <-> 422, 436, 1795
+19 <-> 487, 872, 1845
+20 <-> 423, 561, 1313, 1984
+21 <-> 62, 760
+22 <-> 62, 126, 586, 1472
+23 <-> 1057, 1809, 1938
+24 <-> 24, 986
+25 <-> 1758
+26 <-> 1780
+27 <-> 622, 748
+28 <-> 1048, 1617
+29 <-> 451, 751, 866, 1885
+30 <-> 501
+31 <-> 134, 218, 1993
+32 <-> 629
+33 <-> 1774
+34 <-> 1011, 1151
+35 <-> 1432
+36 <-> 202
+37 <-> 664, 1021, 1159
+38 <-> 103, 1123, 1228
+39 <-> 1816
+40 <-> 896
+41 <-> 1, 1905
+42 <-> 224, 824, 1453
+43 <-> 1926
+44 <-> 703
+45 <-> 438
+46 <-> 251, 1886
+47 <-> 709
+48 <-> 425, 1557, 1944
+49 <-> 1245
+50 <-> 1294
+51 <-> 51, 115, 894, 1624
+52 <-> 629, 882
+53 <-> 112, 1007, 1665
+54 <-> 766, 1169, 1349
+55 <-> 55
+56 <-> 56, 1250
+57 <-> 150
+58 <-> 168, 396, 639, 651
+59 <-> 436
+60 <-> 315, 1556
+61 <-> 1681
+62 <-> 21, 22
+63 <-> 385, 970, 979
+64 <-> 314, 1613
+65 <-> 84, 189, 1167
+66 <-> 777, 1097, 1551
+67 <-> 1380
+68 <-> 384, 500, 1490
+69 <-> 882, 1373, 1982
+70 <-> 264, 1149
+71 <-> 731, 1104, 1897
+72 <-> 442, 1118, 1126, 1392
+73 <-> 1241, 1762
+74 <-> 102
+75 <-> 75, 1153, 1226
+76 <-> 901
+77 <-> 794
+78 <-> 432
+79 <-> 79, 1042, 1086, 1471
+80 <-> 303, 621, 989, 1985, 1992
+81 <-> 118
+82 <-> 0, 4, 848, 1240
+83 <-> 845, 1338
+84 <-> 65, 973
+85 <-> 85, 1352
+86 <-> 378, 1671
+87 <-> 87, 587
+88 <-> 243, 1384
+89 <-> 1214, 1498
+90 <-> 477, 1626, 1788
+91 <-> 1036
+92 <-> 409
+93 <-> 724, 819
+94 <-> 869, 1100
+95 <-> 1394, 1523
+96 <-> 1213
+97 <-> 757
+98 <-> 11, 742, 1556
+99 <-> 508
+100 <-> 997
+101 <-> 1338
+102 <-> 74, 305, 1883
+103 <-> 38, 809, 1701
+104 <-> 104
+105 <-> 675, 993
+106 <-> 1082, 1167, 1600
+107 <-> 473, 1096
+108 <-> 762, 951
+109 <-> 1464, 1489
+110 <-> 662, 682, 1536
+111 <-> 457, 1797
+112 <-> 53, 920
+113 <-> 405, 1927
+114 <-> 1252, 1538
+115 <-> 51
+116 <-> 219, 507
+117 <-> 1562
+118 <-> 81, 1815
+119 <-> 524, 1014, 1344
+120 <-> 1141
+121 <-> 1179, 1418, 1924
+122 <-> 684
+123 <-> 1105
+124 <-> 1554
+125 <-> 674
+126 <-> 22, 1106, 1360
+127 <-> 302, 996, 1449
+128 <-> 137, 786
+129 <-> 492
+130 <-> 505, 1783
+131 <-> 945
+132 <-> 1892
+133 <-> 133, 1362
+134 <-> 31, 555, 1184
+135 <-> 603, 705, 1699, 1821
+136 <-> 1940
+137 <-> 128, 504
+138 <-> 1536, 1956
+139 <-> 192, 800, 1643, 1859
+140 <-> 1119, 1464
+141 <-> 905, 1576
+142 <-> 891, 1512
+143 <-> 157, 905
+144 <-> 439
+145 <-> 1464
+146 <-> 1263
+147 <-> 147
+148 <-> 215
+149 <-> 188
+150 <-> 57, 819
+151 <-> 151
+152 <-> 209, 359
+153 <-> 424, 452, 1473
+154 <-> 1206, 1879
+155 <-> 1560
+156 <-> 821
+157 <-> 143, 616, 1507
+158 <-> 492, 641
+159 <-> 599, 1340
+160 <-> 1790
+161 <-> 545
+162 <-> 750
+163 <-> 163
+164 <-> 817, 1059
+165 <-> 755
+166 <-> 927, 1380
+167 <-> 420, 470, 1533, 1843
+168 <-> 58, 860, 1727, 1817
+169 <-> 227, 1970
+170 <-> 670, 809
+171 <-> 661, 737, 1426, 1716
+172 <-> 11
+173 <-> 184, 1756
+174 <-> 1398, 1464, 1844
+175 <-> 292, 619
+176 <-> 1571
+177 <-> 1187, 1293, 1570
+178 <-> 1370, 1491, 1813
+179 <-> 796, 1381
+180 <-> 309, 988
+181 <-> 278, 324
+182 <-> 699, 1563
+183 <-> 411
+184 <-> 173, 1172
+185 <-> 1507
+186 <-> 1156
+187 <-> 1211
+188 <-> 149, 594, 726, 1612
+189 <-> 65, 1482
+190 <-> 1392, 1953
+191 <-> 1184
+192 <-> 139
+193 <-> 1728
+194 <-> 15
+195 <-> 1113, 1573
+196 <-> 593
+197 <-> 398, 1874, 1942
+198 <-> 584, 1412
+199 <-> 199, 1573, 1837
+200 <-> 1932
+201 <-> 678, 825
+202 <-> 5, 36, 511, 1257, 1961
+203 <-> 1003, 1480
+204 <-> 1764
+205 <-> 319
+206 <-> 396
+207 <-> 272
+208 <-> 904, 1267
+209 <-> 152, 535, 1515, 1873
+210 <-> 380, 1132, 1794
+211 <-> 483
+212 <-> 307
+213 <-> 713, 1337
+214 <-> 1117
+215 <-> 148, 869, 1619
+216 <-> 365
+217 <-> 1447, 1628
+218 <-> 31
+219 <-> 116, 383
+220 <-> 220, 382
+221 <-> 391, 648
+222 <-> 746, 1338
+223 <-> 1174
+224 <-> 42, 336
+225 <-> 790, 1476
+226 <-> 719, 1943
+227 <-> 169
+228 <-> 433, 1144
+229 <-> 258, 800
+230 <-> 1920
+231 <-> 1849
+232 <-> 1888
+233 <-> 233, 1317
+234 <-> 575, 1158
+235 <-> 335, 596, 1918
+236 <-> 327, 608, 1191
+237 <-> 628, 1214, 1448
+238 <-> 238
+239 <-> 383, 1039, 1952
+240 <-> 1023, 1203
+241 <-> 263
+242 <-> 242
+243 <-> 88
+244 <-> 397, 1912
+245 <-> 608
+246 <-> 417, 785, 900, 921, 1488
+247 <-> 592, 1846
+248 <-> 248, 770
+249 <-> 249, 1635
+250 <-> 1940
+251 <-> 46
+252 <-> 520, 1972
+253 <-> 1847
+254 <-> 323
+255 <-> 750, 1391
+256 <-> 747
+257 <-> 502, 1003
+258 <-> 229, 1749
+259 <-> 259
+260 <-> 1916
+261 <-> 1268, 1694, 1975
+262 <-> 262
+263 <-> 241, 1213, 1950
+264 <-> 70
+265 <-> 299, 538
+266 <-> 406
+267 <-> 1609
+268 <-> 1561
+269 <-> 492, 1694
+270 <-> 550, 1427, 1779
+271 <-> 675, 1179, 1294
+272 <-> 207, 603, 1485
+273 <-> 459, 556, 767, 992, 1656, 1983
+274 <-> 1002
+275 <-> 1859
+276 <-> 934, 1980
+277 <-> 1325
+278 <-> 181, 1804
+279 <-> 403
+280 <-> 1705, 1778
+281 <-> 281
+282 <-> 1509
+283 <-> 600, 764
+284 <-> 284, 506, 953, 1770
+285 <-> 815
+286 <-> 560, 1176
+287 <-> 495, 775
+288 <-> 1315
+289 <-> 442, 923
+290 <-> 1524, 1789
+291 <-> 516, 550
+292 <-> 175, 1136, 1180
+293 <-> 1855
+294 <-> 350, 490, 1658
+295 <-> 1525
+296 <-> 983
+297 <-> 1709
+298 <-> 1100
+299 <-> 265, 655, 1114
+300 <-> 716, 902
+301 <-> 1496, 1995
+302 <-> 127, 376
+303 <-> 80, 659, 1136, 1229, 1606
+304 <-> 996
+305 <-> 102, 1309, 1728
+306 <-> 306
+307 <-> 212, 342, 1067
+308 <-> 880, 1999
+309 <-> 180, 813
+310 <-> 768
+311 <-> 311
+312 <-> 943, 1355, 1865
+313 <-> 313
+314 <-> 64, 585, 1717
+315 <-> 60
+316 <-> 425
+317 <-> 526, 1484
+318 <-> 1574
+319 <-> 205, 1767
+320 <-> 601, 605
+321 <-> 1829, 1977
+322 <-> 325, 1109
+323 <-> 254, 861, 910, 1130
+324 <-> 181, 466
+325 <-> 322, 766
+326 <-> 423, 1989
+327 <-> 236, 1354
+328 <-> 1912
+329 <-> 957, 1180
+330 <-> 1175, 1350, 1645
+331 <-> 1101, 1390
+332 <-> 444, 1785
+333 <-> 685, 1678
+334 <-> 13, 890
+335 <-> 235, 1737
+336 <-> 224, 552
+337 <-> 337, 913
+338 <-> 479
+339 <-> 339
+340 <-> 1676
+341 <-> 1444
+342 <-> 307
+343 <-> 343, 1271, 1820
+344 <-> 1502, 1658, 1864
+345 <-> 765, 1009, 1324, 1613
+346 <-> 621, 729
+347 <-> 1923
+348 <-> 1385
+349 <-> 1000
+350 <-> 294
+351 <-> 423, 878
+352 <-> 1327
+353 <-> 600, 1781
+354 <-> 1231, 1969
+355 <-> 1560
+356 <-> 984, 1217
+357 <-> 1678
+358 <-> 754, 1989
+359 <-> 152
+360 <-> 886
+361 <-> 1099, 1614
+362 <-> 1584
+363 <-> 1688
+364 <-> 364
+365 <-> 216, 617
+366 <-> 475, 816
+367 <-> 886, 1315
+368 <-> 368
+369 <-> 887
+370 <-> 1129, 1466
+371 <-> 17, 748, 1205
+372 <-> 1739
+373 <-> 1009
+374 <-> 1045, 1502, 1833
+375 <-> 557, 1505
+376 <-> 302, 1217
+377 <-> 494, 619, 690, 732
+378 <-> 86, 1535
+379 <-> 379, 1563
+380 <-> 210, 1816
+381 <-> 578, 722
+382 <-> 220
+383 <-> 219, 239
+384 <-> 68
+385 <-> 63, 1043
+386 <-> 1108, 1570
+387 <-> 1548
+388 <-> 619
+389 <-> 389
+390 <-> 413, 786, 1769, 1906
+391 <-> 221, 396, 733
+392 <-> 714, 1770
+393 <-> 408, 1006
+394 <-> 1174, 1469
+395 <-> 958
+396 <-> 58, 206, 391, 1610
+397 <-> 244
+398 <-> 197, 1649
+399 <-> 647, 972
+400 <-> 1985
+401 <-> 1632
+402 <-> 807
+403 <-> 279, 852, 1624, 1981
+404 <-> 1149
+405 <-> 113
+406 <-> 266, 1336
+407 <-> 818
+408 <-> 393
+409 <-> 92, 1491
+410 <-> 836
+411 <-> 183, 963, 1308
+412 <-> 1542
+413 <-> 390
+414 <-> 1602
+415 <-> 1419
+416 <-> 1137, 1288, 1494
+417 <-> 246
+418 <-> 503, 525, 1005, 1447
+419 <-> 607, 1310
+420 <-> 167, 1078, 1404
+421 <-> 650
+422 <-> 18, 829
+423 <-> 20, 326, 351
+424 <-> 153, 1759
+425 <-> 48, 316, 1211, 1279, 1366
+426 <-> 709, 1799, 1913
+427 <-> 693, 1568
+428 <-> 1199, 1914
+429 <-> 1790
+430 <-> 469
+431 <-> 1730
+432 <-> 78, 677
+433 <-> 228, 543, 842
+434 <-> 1216, 1562
+435 <-> 554
+436 <-> 18, 59, 804, 918
+437 <-> 1065, 1274, 1560
+438 <-> 45, 1647
+439 <-> 144, 1327
+440 <-> 816, 1768, 1893
+441 <-> 930
+442 <-> 72, 289, 1555, 1778
+443 <-> 791, 1964
+444 <-> 332, 717, 1715
+445 <-> 445, 1335, 1944
+446 <-> 10, 961
+447 <-> 499, 1067, 1363
+448 <-> 1150, 1229
+449 <-> 573, 972, 1670
+450 <-> 964, 1731
+451 <-> 29, 815, 1148
+452 <-> 153, 1221
+453 <-> 1012, 1525
+454 <-> 2, 891, 1708
+455 <-> 877
+456 <-> 1850
+457 <-> 111, 544, 640
+458 <-> 458
+459 <-> 273, 495, 792
+460 <-> 1201, 1319
+461 <-> 461, 598, 1513
+462 <-> 1166, 1495
+463 <-> 542, 708, 1209
+464 <-> 770
+465 <-> 1847
+466 <-> 324, 1052
+467 <-> 708, 915
+468 <-> 1501, 1715
+469 <-> 430, 576, 1369
+470 <-> 167, 1618
+471 <-> 1875
+472 <-> 1212
+473 <-> 107, 1426
+474 <-> 484, 665
+475 <-> 366, 1262
+476 <-> 476, 1380
+477 <-> 90
+478 <-> 1688, 1811, 1894, 1949
+479 <-> 338, 1429, 1836
+480 <-> 1394
+481 <-> 1391
+482 <-> 1477
+483 <-> 211, 736
+484 <-> 474, 1815
+485 <-> 1034
+486 <-> 1682
+487 <-> 19, 1722, 1773
+488 <-> 567, 1066, 1873
+489 <-> 581, 1962
+490 <-> 294
+491 <-> 760
+492 <-> 129, 158, 269, 1099
+493 <-> 1250
+494 <-> 377
+495 <-> 287, 459
+496 <-> 1051
+497 <-> 513, 633, 1189, 1454
+498 <-> 1080, 1530
+499 <-> 447, 647
+500 <-> 68, 1329, 1719
+501 <-> 30, 1563, 1700
+502 <-> 257
+503 <-> 418, 1521
+504 <-> 137
+505 <-> 130
+506 <-> 284, 1830
+507 <-> 116, 507
+508 <-> 99, 508, 709, 877
+509 <-> 693
+510 <-> 1648
+511 <-> 202, 1127, 1510
+512 <-> 720
+513 <-> 497
+514 <-> 752, 1430
+515 <-> 1503
+516 <-> 291, 1284, 1891
+517 <-> 994
+518 <-> 1406
+519 <-> 1287
+520 <-> 252
+521 <-> 1253, 1292, 1530
+522 <-> 904
+523 <-> 1628
+524 <-> 119, 778, 1034, 1145
+525 <-> 418, 1264
+526 <-> 317, 971
+527 <-> 1566
+528 <-> 695, 1841
+529 <-> 732
+530 <-> 1972
+531 <-> 1036
+532 <-> 784
+533 <-> 3, 533, 961, 1018
+534 <-> 981, 1147, 1326
+535 <-> 209
+536 <-> 1343, 1410, 1750
+537 <-> 16
+538 <-> 265, 795
+539 <-> 1055, 1430
+540 <-> 855
+541 <-> 896, 1170
+542 <-> 463, 652, 1302, 1833
+543 <-> 433
+544 <-> 457, 890
+545 <-> 161, 791
+546 <-> 857, 1267
+547 <-> 1979
+548 <-> 580, 1988
+549 <-> 1256
+550 <-> 270, 291, 586
+551 <-> 646
+552 <-> 336
+553 <-> 930, 1754
+554 <-> 435, 1758, 1816
+555 <-> 134
+556 <-> 273
+557 <-> 375
+558 <-> 745
+559 <-> 809
+560 <-> 286
+561 <-> 20
+562 <-> 1766
+563 <-> 563
+564 <-> 564, 658
+565 <-> 1492
+566 <-> 775
+567 <-> 488
+568 <-> 1636, 1730
+569 <-> 579, 678, 740
+570 <-> 1362
+571 <-> 846, 1230
+572 <-> 1063, 1821
+573 <-> 449
+574 <-> 1946, 1961
+575 <-> 234, 674
+576 <-> 469, 1152, 1890
+577 <-> 938, 1072, 1237, 1386
+578 <-> 381
+579 <-> 569
+580 <-> 548, 944, 1464
+581 <-> 489
+582 <-> 635
+583 <-> 1378, 1891
+584 <-> 198, 1102
+585 <-> 314, 1803
+586 <-> 22, 550, 630, 1674
+587 <-> 87, 1025
+588 <-> 1562, 1588
+589 <-> 1175, 1666
+590 <-> 809, 1912
+591 <-> 1363, 1581
+592 <-> 247, 686
+593 <-> 196, 912
+594 <-> 188, 728, 1376
+595 <-> 595
+596 <-> 235, 1500, 1758
+597 <-> 1159
+598 <-> 461
+599 <-> 159, 599, 1377
+600 <-> 283, 353
+601 <-> 320, 1514, 1792
+602 <-> 815
+603 <-> 135, 272, 955, 1583, 1848
+604 <-> 1878
+605 <-> 320, 1100, 1585
+606 <-> 1590
+607 <-> 419, 1798
+608 <-> 236, 245
+609 <-> 1298, 1743
+610 <-> 1676
+611 <-> 830
+612 <-> 1479, 1942
+613 <-> 1899
+614 <-> 1633
+615 <-> 962, 1348, 1827
+616 <-> 157
+617 <-> 365, 624, 756, 1017, 1278, 1894
+618 <-> 709
+619 <-> 175, 377, 388
+620 <-> 720, 1414, 1809
+621 <-> 80, 346
+622 <-> 27, 1244, 1473, 1714
+623 <-> 972
+624 <-> 617, 1272, 1743
+625 <-> 670, 1458
+626 <-> 1260, 1580, 1615
+627 <-> 1223, 1984
+628 <-> 237
+629 <-> 32, 52, 1398
+630 <-> 586
+631 <-> 1881
+632 <-> 802
+633 <-> 497, 1231
+634 <-> 1816
+635 <-> 582, 1927
+636 <-> 1435
+637 <-> 926
+638 <-> 804
+639 <-> 58, 1904, 1965
+640 <-> 457, 999
+641 <-> 158
+642 <-> 1561
+643 <-> 959
+644 <-> 644
+645 <-> 1589
+646 <-> 551, 1733
+647 <-> 399, 499
+648 <-> 221, 1416
+649 <-> 1481
+650 <-> 421, 1536
+651 <-> 58
+652 <-> 542, 1409
+653 <-> 708, 1051
+654 <-> 805, 1474, 1948
+655 <-> 299, 1679
+656 <-> 1011
+657 <-> 1137, 1887
+658 <-> 564
+659 <-> 303
+660 <-> 996, 1875
+661 <-> 171
+662 <-> 110, 939, 1522, 1634
+663 <-> 911
+664 <-> 37
+665 <-> 474, 1911
+666 <-> 808
+667 <-> 1208, 1831
+668 <-> 926, 1219, 1302
+669 <-> 797, 1041, 1599
+670 <-> 170, 625
+671 <-> 671
+672 <-> 1845
+673 <-> 1682
+674 <-> 125, 575, 1112, 1519, 1967
+675 <-> 105, 271, 1825
+676 <-> 1648
+677 <-> 432, 677, 1079
+678 <-> 201, 569, 1088, 1693
+679 <-> 1118
+680 <-> 780, 1089
+681 <-> 681
+682 <-> 6, 110
+683 <-> 683
+684 <-> 122, 1180
+685 <-> 333, 1101, 1672
+686 <-> 592
+687 <-> 984, 1423, 1800
+688 <-> 1498
+689 <-> 1013
+690 <-> 377
+691 <-> 1091
+692 <-> 726
+693 <-> 427, 509, 1854
+694 <-> 1795
+695 <-> 528, 1031
+696 <-> 1557
+697 <-> 869
+698 <-> 698, 1480
+699 <-> 182, 1595
+700 <-> 1210
+701 <-> 1381, 1955
+702 <-> 1039
+703 <-> 44, 741
+704 <-> 1901
+705 <-> 135, 1695
+706 <-> 1532
+707 <-> 812, 1085
+708 <-> 463, 467, 653
+709 <-> 47, 426, 508, 618
+710 <-> 794, 1215
+711 <-> 1476, 1514
+712 <-> 824, 1000
+713 <-> 213
+714 <-> 392, 1444
+715 <-> 753, 1956
+716 <-> 300
+717 <-> 444, 1209, 1872
+718 <-> 1886
+719 <-> 226
+720 <-> 512, 620, 1243
+721 <-> 981, 1177
+722 <-> 15, 381, 1311, 1708, 1869
+723 <-> 1582
+724 <-> 93, 1689
+725 <-> 1151
+726 <-> 188, 692
+727 <-> 1646, 1750
+728 <-> 594, 1125
+729 <-> 346, 1102
+730 <-> 1300
+731 <-> 71, 1523, 1839
+732 <-> 377, 529
+733 <-> 391, 1111
+734 <-> 734
+735 <-> 1120
+736 <-> 483, 1478
+737 <-> 171, 1141, 1680
+738 <-> 1782
+739 <-> 990, 1227
+740 <-> 569, 758, 1340
+741 <-> 703, 741
+742 <-> 98, 785, 1586
+743 <-> 839, 1288
+744 <-> 1401, 1571
+745 <-> 558, 1137, 1308
+746 <-> 222, 746
+747 <-> 256, 1246, 1359, 1626
+748 <-> 27, 371, 1391
+749 <-> 819
+750 <-> 162, 255, 1316
+751 <-> 29
+752 <-> 514
+753 <-> 715, 1087
+754 <-> 358, 1566
+755 <-> 165, 1652
+756 <-> 617
+757 <-> 97, 928, 1905
+758 <-> 740, 1342
+759 <-> 1675, 1882
+760 <-> 21, 491
+761 <-> 1912
+762 <-> 108, 809
+763 <-> 1553
+764 <-> 283
+765 <-> 345, 1025
+766 <-> 54, 325, 1545, 1908
+767 <-> 273, 1605, 1718
+768 <-> 310, 1298
+769 <-> 1316
+770 <-> 248, 464, 1300
+771 <-> 771
+772 <-> 826
+773 <-> 1779
+774 <-> 800, 1516
+775 <-> 287, 566
+776 <-> 1190
+777 <-> 66, 1367
+778 <-> 524
+779 <-> 1504, 1782
+780 <-> 680, 1299
+781 <-> 1866
+782 <-> 950, 1395
+783 <-> 1814
+784 <-> 532, 1921
+785 <-> 246, 742
+786 <-> 128, 390
+787 <-> 787
+788 <-> 1772, 1876, 1943
+789 <-> 6
+790 <-> 225, 1117, 1384
+791 <-> 443, 545, 1822
+792 <-> 459, 1810
+793 <-> 1026
+794 <-> 77, 710
+795 <-> 538, 795
+796 <-> 179, 851, 1462, 1619
+797 <-> 669, 1093
+798 <-> 1789
+799 <-> 1088, 1269, 1999
+800 <-> 139, 229, 774, 1218
+801 <-> 1110
+802 <-> 632, 802
+803 <-> 1359
+804 <-> 436, 638
+805 <-> 654
+806 <-> 1605
+807 <-> 402, 1353
+808 <-> 666, 934, 1248, 1888
+809 <-> 103, 170, 559, 590, 762, 1139
+810 <-> 1352
+811 <-> 1766, 1937
+812 <-> 707, 1410, 1618
+813 <-> 309, 813
+814 <-> 1461, 1696, 1725
+815 <-> 285, 451, 602
+816 <-> 366, 440, 1034
+817 <-> 164, 1157
+818 <-> 407, 1341, 1699
+819 <-> 93, 150, 749, 1353, 1453
+820 <-> 1051
+821 <-> 156, 1807
+822 <-> 1951
+823 <-> 856
+824 <-> 42, 712, 1260
+825 <-> 201
+826 <-> 772, 856, 897
+827 <-> 827, 1550
+828 <-> 937, 1933, 1947
+829 <-> 422, 831
+830 <-> 611, 1049, 1314
+831 <-> 829, 1141
+832 <-> 907
+833 <-> 1754
+834 <-> 1418
+835 <-> 1509
+836 <-> 410, 1005
+837 <-> 837, 1160
+838 <-> 995, 1154
+839 <-> 743, 1637
+840 <-> 854
+841 <-> 1221
+842 <-> 433, 1611, 1848
+843 <-> 1978
+844 <-> 1575
+845 <-> 83
+846 <-> 571, 987, 1683
+847 <-> 9, 847
+848 <-> 82, 848, 1016, 1237
+849 <-> 1266
+850 <-> 14, 936
+851 <-> 796, 983
+852 <-> 403
+853 <-> 984
+854 <-> 840, 854
+855 <-> 540, 1762
+856 <-> 823, 826, 856, 1195
+857 <-> 546, 1098
+858 <-> 858, 1752, 1771
+859 <-> 11
+860 <-> 168
+861 <-> 323
+862 <-> 1716, 1772
+863 <-> 1754
+864 <-> 1261, 1724, 1762, 1903
+865 <-> 895, 1073, 1205
+866 <-> 29, 1781, 1845
+867 <-> 1457, 1598, 1993
+868 <-> 868, 1723
+869 <-> 94, 215, 697, 903
+870 <-> 945
+871 <-> 1215, 1668
+872 <-> 19
+873 <-> 1028
+874 <-> 954, 1932
+875 <-> 1686, 1718
+876 <-> 1358, 1888, 1947
+877 <-> 455, 508
+878 <-> 351
+879 <-> 1737
+880 <-> 308
+881 <-> 881, 1526
+882 <-> 52, 69
+883 <-> 928
+884 <-> 885, 1507
+885 <-> 884
+886 <-> 360, 367, 1029, 1116
+887 <-> 369, 1747
+888 <-> 1530
+889 <-> 1460, 1478, 1745
+890 <-> 334, 544, 890, 1004
+891 <-> 142, 454, 1299
+892 <-> 1095
+893 <-> 1149, 1469, 1594
+894 <-> 51, 1819, 1987
+895 <-> 865
+896 <-> 40, 541, 896
+897 <-> 826
+898 <-> 898, 1199
+899 <-> 1592
+900 <-> 246
+901 <-> 76, 1626
+902 <-> 300, 918
+903 <-> 869
+904 <-> 208, 522
+905 <-> 141, 143
+906 <-> 1064, 1650
+907 <-> 832, 1751, 1982
+908 <-> 908, 1866
+909 <-> 1222
+910 <-> 323, 1638
+911 <-> 663, 1165
+912 <-> 593, 1765
+913 <-> 337
+914 <-> 1218, 1458, 1931
+915 <-> 467, 1486
+916 <-> 1650
+917 <-> 1881
+918 <-> 436, 902, 1046
+919 <-> 1350, 1919
+920 <-> 112, 1551
+921 <-> 246, 1028, 1620
+922 <-> 960, 1650
+923 <-> 289, 1977
+924 <-> 924, 1991
+925 <-> 925, 1957
+926 <-> 637, 668, 1393
+927 <-> 166, 1420
+928 <-> 757, 883
+929 <-> 1569, 1575
+930 <-> 441, 553, 1179
+931 <-> 1891
+932 <-> 972
+933 <-> 1851
+934 <-> 276, 808
+935 <-> 1404
+936 <-> 850
+937 <-> 828, 1808
+938 <-> 577
+939 <-> 662
+940 <-> 1437
+941 <-> 1076
+942 <-> 1123
+943 <-> 312, 1008
+944 <-> 580
+945 <-> 131, 870, 945, 1929
+946 <-> 1200
+947 <-> 947, 966
+948 <-> 1221, 1498
+949 <-> 949, 1069
+950 <-> 782, 1263
+951 <-> 108, 1729
+952 <-> 1997
+953 <-> 284
+954 <-> 874
+955 <-> 603
+956 <-> 969
+957 <-> 329, 1633
+958 <-> 395, 958
+959 <-> 643, 1634
+960 <-> 922
+961 <-> 446, 533, 1521
+962 <-> 615, 1870
+963 <-> 411
+964 <-> 450, 1179
+965 <-> 16, 1699
+966 <-> 947, 1702
+967 <-> 1588
+968 <-> 1140, 1550, 1996
+969 <-> 956, 1158
+970 <-> 63
+971 <-> 526, 1375
+972 <-> 399, 449, 623, 932
+973 <-> 84, 1133, 1249, 1834
+974 <-> 1775
+975 <-> 975
+976 <-> 1822
+977 <-> 1978
+978 <-> 1451
+979 <-> 63, 1186, 1564
+980 <-> 1984
+981 <-> 534, 721, 1430, 1532
+982 <-> 1094, 1605, 1698
+983 <-> 296, 851, 1604, 1867
+984 <-> 356, 687, 853, 1881
+985 <-> 985, 1425
+986 <-> 24
+987 <-> 846
+988 <-> 180
+989 <-> 80, 1520, 1622
+990 <-> 739, 1339
+991 <-> 1767
+992 <-> 273
+993 <-> 105
+994 <-> 517, 1629
+995 <-> 838, 1945
+996 <-> 127, 304, 660
+997 <-> 100, 1275, 1909
+998 <-> 1492
+999 <-> 640
+1000 <-> 349, 712
+1001 <-> 1193, 1286, 1348
+1002 <-> 274, 1002, 1337, 1970
+1003 <-> 203, 257
+1004 <-> 890
+1005 <-> 418, 836
+1006 <-> 393, 1955
+1007 <-> 53
+1008 <-> 943
+1009 <-> 345, 373
+1010 <-> 1242
+1011 <-> 34, 656, 1445
+1012 <-> 453, 1012
+1013 <-> 689, 1999
+1014 <-> 119, 1014, 1431
+1015 <-> 1671
+1016 <-> 848
+1017 <-> 617, 1807
+1018 <-> 533
+1019 <-> 1037
+1020 <-> 1579
+1021 <-> 37
+1022 <-> 1022
+1023 <-> 240, 1823
+1024 <-> 1024
+1025 <-> 587, 765
+1026 <-> 793, 1026
+1027 <-> 1265
+1028 <-> 873, 921, 1736
+1029 <-> 886, 1235
+1030 <-> 1207
+1031 <-> 695, 1618
+1032 <-> 1139
+1033 <-> 1987
+1034 <-> 485, 524, 816, 1167
+1035 <-> 1220, 1892
+1036 <-> 91, 531, 1761
+1037 <-> 1019, 1467, 1801
+1038 <-> 1082
+1039 <-> 239, 702
+1040 <-> 1199
+1041 <-> 669, 1544, 1547, 1664
+1042 <-> 79, 1835
+1043 <-> 385, 1159, 1507
+1044 <-> 1753, 1938
+1045 <-> 374, 1175
+1046 <-> 918, 1071, 1280
+1047 <-> 1328, 1879
+1048 <-> 28, 1081, 1331, 1381
+1049 <-> 830, 1060
+1050 <-> 1166
+1051 <-> 496, 653, 820
+1052 <-> 466, 1356, 1395
+1053 <-> 1598
+1054 <-> 1054
+1055 <-> 539
+1056 <-> 1548, 1987
+1057 <-> 23
+1058 <-> 1888
+1059 <-> 164, 1423, 1493
+1060 <-> 1049, 1473
+1061 <-> 1276, 1638, 1763
+1062 <-> 1360, 1829
+1063 <-> 572
+1064 <-> 906
+1065 <-> 437, 1707, 1826
+1066 <-> 488
+1067 <-> 307, 447, 1299
+1068 <-> 1068, 1485
+1069 <-> 949
+1070 <-> 1070
+1071 <-> 1046
+1072 <-> 577, 1469
+1073 <-> 865
+1074 <-> 1161, 1927
+1075 <-> 1075
+1076 <-> 941, 1790
+1077 <-> 1971
+1078 <-> 420
+1079 <-> 677
+1080 <-> 498
+1081 <-> 1048
+1082 <-> 106, 1038, 1587
+1083 <-> 1657, 1964
+1084 <-> 1125
+1085 <-> 707, 1664
+1086 <-> 79, 1155
+1087 <-> 753
+1088 <-> 678, 799
+1089 <-> 680, 1162, 1317, 1654
+1090 <-> 1344, 1934
+1091 <-> 15, 691, 1561, 1653, 1895, 1932
+1092 <-> 1927
+1093 <-> 797, 1265
+1094 <-> 982, 1094, 1184
+1095 <-> 892, 1868, 1956
+1096 <-> 107
+1097 <-> 66, 1601
+1098 <-> 857
+1099 <-> 361, 492, 1199, 1930
+1100 <-> 94, 298, 605, 1966
+1101 <-> 331, 685, 1757
+1102 <-> 584, 729, 1791
+1103 <-> 1103
+1104 <-> 71
+1105 <-> 123, 1818
+1106 <-> 126
+1107 <-> 1107
+1108 <-> 386, 1824
+1109 <-> 322, 1668
+1110 <-> 801, 1355, 1397, 1898
+1111 <-> 733, 1790
+1112 <-> 674
+1113 <-> 195
+1114 <-> 299
+1115 <-> 1345
+1116 <-> 886, 1178
+1117 <-> 214, 790
+1118 <-> 72, 679
+1119 <-> 140
+1120 <-> 735, 1120
+1121 <-> 1121
+1122 <-> 1497
+1123 <-> 38, 942
+1124 <-> 1627
+1125 <-> 728, 1084, 1125
+1126 <-> 72
+1127 <-> 511, 1349
+1128 <-> 1923
+1129 <-> 370
+1130 <-> 323
+1131 <-> 1320, 1677, 1732
+1132 <-> 210
+1133 <-> 973
+1134 <-> 1522, 1554
+1135 <-> 1135
+1136 <-> 292, 303
+1137 <-> 416, 657, 745
+1138 <-> 1282
+1139 <-> 809, 1032
+1140 <-> 968, 1220
+1141 <-> 120, 737, 831
+1142 <-> 1699
+1143 <-> 1453
+1144 <-> 228
+1145 <-> 524
+1146 <-> 1526
+1147 <-> 534
+1148 <-> 451
+1149 <-> 70, 404, 893
+1150 <-> 448, 1364, 1551
+1151 <-> 34, 725, 1773
+1152 <-> 576, 1685
+1153 <-> 75
+1154 <-> 838, 1761
+1155 <-> 1086
+1156 <-> 186, 1289, 1481
+1157 <-> 817
+1158 <-> 234, 969
+1159 <-> 37, 597, 1043, 1920
+1160 <-> 837
+1161 <-> 1074, 1472
+1162 <-> 1089
+1163 <-> 1390
+1164 <-> 1438, 1760
+1165 <-> 911, 1442, 1571
+1166 <-> 462, 1050, 1304, 1511
+1167 <-> 65, 106, 1034
+1168 <-> 1322, 1645
+1169 <-> 54
+1170 <-> 541, 1939
+1171 <-> 1547
+1172 <-> 184
+1173 <-> 1466
+1174 <-> 223, 394, 1245, 1951
+1175 <-> 330, 589, 1045, 1742
+1176 <-> 286, 1316, 1388
+1177 <-> 721
+1178 <-> 1116, 1463
+1179 <-> 121, 271, 930, 964
+1180 <-> 292, 329, 684
+1181 <-> 1702
+1182 <-> 1182, 1529
+1183 <-> 1679
+1184 <-> 134, 191, 1094, 1270
+1185 <-> 1365, 1736
+1186 <-> 979, 1251, 1301, 1560
+1187 <-> 177, 1238, 1863
+1188 <-> 1189, 1932
+1189 <-> 497, 1188
+1190 <-> 776, 1279
+1191 <-> 236
+1192 <-> 1398
+1193 <-> 1001
+1194 <-> 1194, 1838
+1195 <-> 856
+1196 <-> 1198, 1986
+1197 <-> 1380
+1198 <-> 1196, 1198, 1459
+1199 <-> 428, 898, 1040, 1099
+1200 <-> 946, 1556, 1583
+1201 <-> 460
+1202 <-> 1407
+1203 <-> 240, 1958
+1204 <-> 1753
+1205 <-> 371, 865, 1703
+1206 <-> 154
+1207 <-> 1030, 1882
+1208 <-> 667, 1533, 1685
+1209 <-> 463, 717
+1210 <-> 700, 1306, 1766
+1211 <-> 187, 425, 1755
+1212 <-> 472, 1851
+1213 <-> 96, 263, 1213
+1214 <-> 89, 237
+1215 <-> 710, 871, 1552
+1216 <-> 434
+1217 <-> 356, 376
+1218 <-> 800, 914
+1219 <-> 668, 1730
+1220 <-> 1035, 1140
+1221 <-> 452, 841, 948
+1222 <-> 909, 1491
+1223 <-> 627, 1452
+1224 <-> 1224, 1408, 1436, 1734
+1225 <-> 1693
+1226 <-> 75
+1227 <-> 739, 1479, 1889
+1228 <-> 38
+1229 <-> 303, 448
+1230 <-> 571
+1231 <-> 354, 633
+1232 <-> 1918
+1233 <-> 1233
+1234 <-> 1721
+1235 <-> 1029
+1236 <-> 1236
+1237 <-> 577, 848
+1238 <-> 1187, 1676
+1239 <-> 1239, 1426
+1240 <-> 82
+1241 <-> 73
+1242 <-> 1010, 1558, 1841, 1872, 1951
+1243 <-> 7, 720
+1244 <-> 622, 1503
+1245 <-> 49, 1174
+1246 <-> 747
+1247 <-> 1511, 1743
+1248 <-> 808, 1321
+1249 <-> 973
+1250 <-> 56, 493, 1973
+1251 <-> 1186
+1252 <-> 114, 1428
+1253 <-> 521, 1510
+1254 <-> 1677
+1255 <-> 1377
+1256 <-> 549, 1256
+1257 <-> 202
+1258 <-> 1258
+1259 <-> 1901
+1260 <-> 626, 824
+1261 <-> 864, 1977
+1262 <-> 475
+1263 <-> 146, 950, 1295, 1424
+1264 <-> 525
+1265 <-> 1027, 1093
+1266 <-> 849, 1275, 1385
+1267 <-> 208, 546, 1716, 1940
+1268 <-> 261
+1269 <-> 799
+1270 <-> 1184
+1271 <-> 343
+1272 <-> 624
+1273 <-> 1336, 1667, 1737, 1756
+1274 <-> 437
+1275 <-> 997, 1266, 1275
+1276 <-> 1061, 1729
+1277 <-> 1324
+1278 <-> 617, 1541
+1279 <-> 425, 1190
+1280 <-> 1046, 1891
+1281 <-> 1695
+1282 <-> 1138, 1815
+1283 <-> 1283
+1284 <-> 516
+1285 <-> 1679
+1286 <-> 1001, 1415, 1767
+1287 <-> 519, 1629, 1871, 1960
+1288 <-> 416, 743
+1289 <-> 1156, 1465, 1693
+1290 <-> 15
+1291 <-> 1433
+1292 <-> 521, 1925
+1293 <-> 177
+1294 <-> 50, 271, 1852
+1295 <-> 6, 1263
+1296 <-> 1679
+1297 <-> 1615, 1973
+1298 <-> 609, 768
+1299 <-> 780, 891, 1067, 1509, 1880
+1300 <-> 730, 770
+1301 <-> 1186
+1302 <-> 542, 668
+1303 <-> 11
+1304 <-> 1166, 1717
+1305 <-> 1305
+1306 <-> 1210
+1307 <-> 1442
+1308 <-> 411, 745
+1309 <-> 305
+1310 <-> 419
+1311 <-> 722
+1312 <-> 1596, 1854
+1313 <-> 20, 1894
+1314 <-> 830
+1315 <-> 288, 367, 1617
+1316 <-> 750, 769, 1176
+1317 <-> 233, 1089
+1318 <-> 1671
+1319 <-> 460, 1364, 1379
+1320 <-> 1131
+1321 <-> 1248
+1322 <-> 1168, 1400
+1323 <-> 1449
+1324 <-> 345, 1277, 1441
+1325 <-> 277, 1640, 1895
+1326 <-> 534, 1673
+1327 <-> 352, 439, 1327, 1411, 1776
+1328 <-> 1047
+1329 <-> 500
+1330 <-> 1832
+1331 <-> 1048, 1450
+1332 <-> 1682, 1829, 1857
+1333 <-> 1433, 1813
+1334 <-> 1397
+1335 <-> 445, 1491
+1336 <-> 406, 1273
+1337 <-> 213, 1002
+1338 <-> 83, 101, 222, 1926
+1339 <-> 990
+1340 <-> 159, 740
+1341 <-> 818
+1342 <-> 758
+1343 <-> 536, 1735
+1344 <-> 119, 1090
+1345 <-> 1115, 1345
+1346 <-> 1494
+1347 <-> 1373, 1569
+1348 <-> 615, 1001, 1506
+1349 <-> 54, 1127, 1728
+1350 <-> 330, 919
+1351 <-> 1488, 1870
+1352 <-> 85, 810
+1353 <-> 807, 819
+1354 <-> 327, 1354
+1355 <-> 312, 1110
+1356 <-> 1052, 1368
+1357 <-> 1888
+1358 <-> 876
+1359 <-> 747, 803
+1360 <-> 126, 1062, 1954
+1361 <-> 1361, 1403
+1362 <-> 133, 570
+1363 <-> 447, 591
+1364 <-> 1150, 1319
+1365 <-> 1185
+1366 <-> 425
+1367 <-> 777, 1712
+1368 <-> 1356, 1419
+1369 <-> 469
+1370 <-> 178
+1371 <-> 1658
+1372 <-> 1372, 1451, 1871
+1373 <-> 69, 1347
+1374 <-> 1492
+1375 <-> 971, 1586, 1978
+1376 <-> 594, 1630
+1377 <-> 599, 1255
+1378 <-> 583, 1517
+1379 <-> 1319
+1380 <-> 67, 166, 476, 1197, 1709
+1381 <-> 179, 701, 1048
+1382 <-> 1382
+1383 <-> 1752
+1384 <-> 88, 790, 1632, 1746, 1775
+1385 <-> 348, 1266
+1386 <-> 577
+1387 <-> 1387
+1388 <-> 1176
+1389 <-> 1995
+1390 <-> 331, 1163
+1391 <-> 255, 481, 748
+1392 <-> 72, 190
+1393 <-> 926
+1394 <-> 95, 480, 1616, 1663
+1395 <-> 782, 1052
+1396 <-> 1450
+1397 <-> 1110, 1334
+1398 <-> 174, 629, 1192
+1399 <-> 1995
+1400 <-> 1322
+1401 <-> 744
+1402 <-> 1, 1402
+1403 <-> 1361
+1404 <-> 420, 935
+1405 <-> 1677
+1406 <-> 518, 1406
+1407 <-> 1202, 1826
+1408 <-> 1224
+1409 <-> 652, 1461
+1410 <-> 536, 812
+1411 <-> 1327, 1418
+1412 <-> 198
+1413 <-> 1655, 1974
+1414 <-> 620
+1415 <-> 1286
+1416 <-> 648
+1417 <-> 1417, 1437, 1884
+1418 <-> 121, 834, 1411
+1419 <-> 415, 1368, 1456
+1420 <-> 927, 1534
+1421 <-> 1755
+1422 <-> 1422
+1423 <-> 687, 1059, 1768
+1424 <-> 1263, 1499, 1968
+1425 <-> 985
+1426 <-> 171, 473, 1239
+1427 <-> 270
+1428 <-> 1252
+1429 <-> 479
+1430 <-> 514, 539, 981, 1621
+1431 <-> 1014
+1432 <-> 35, 1704, 1990
+1433 <-> 1291, 1333
+1434 <-> 1904
+1435 <-> 636, 1435
+1436 <-> 1224, 1963
+1437 <-> 940, 1417
+1438 <-> 1164
+1439 <-> 1868
+1440 <-> 1752
+1441 <-> 1324
+1442 <-> 1165, 1307, 1701, 1850, 1875
+1443 <-> 1443, 1692
+1444 <-> 341, 714
+1445 <-> 1011, 1590
+1446 <-> 1446
+1447 <-> 217, 418
+1448 <-> 237, 1625, 1789
+1449 <-> 127, 1323
+1450 <-> 1331, 1396
+1451 <-> 978, 1372
+1452 <-> 1223, 1711
+1453 <-> 42, 819, 1143
+1454 <-> 497
+1455 <-> 1743, 1849
+1456 <-> 1419
+1457 <-> 867
+1458 <-> 625, 914
+1459 <-> 1198
+1460 <-> 889
+1461 <-> 814, 1409
+1462 <-> 796
+1463 <-> 1178
+1464 <-> 109, 140, 145, 174, 580, 1467
+1465 <-> 1289
+1466 <-> 370, 1173, 1863
+1467 <-> 1037, 1464
+1468 <-> 1468
+1469 <-> 394, 893, 1072
+1470 <-> 1758
+1471 <-> 79
+1472 <-> 22, 1161, 1721
+1473 <-> 153, 622, 1060
+1474 <-> 654, 1744
+1475 <-> 1919
+1476 <-> 225, 711, 1662, 1684, 1856
+1477 <-> 482, 1528
+1478 <-> 736, 889
+1479 <-> 612, 1227, 1774
+1480 <-> 203, 698
+1481 <-> 649, 1156, 1846
+1482 <-> 189, 1962
+1483 <-> 1483
+1484 <-> 317
+1485 <-> 272, 1068
+1486 <-> 915
+1487 <-> 1816
+1488 <-> 246, 1351
+1489 <-> 109, 1489
+1490 <-> 68
+1491 <-> 178, 409, 1222, 1335
+1492 <-> 565, 998, 1374, 1492
+1493 <-> 1059
+1494 <-> 416, 1346, 1848
+1495 <-> 462
+1496 <-> 301, 1660
+1497 <-> 1122, 1577
+1498 <-> 89, 688, 948
+1499 <-> 1424
+1500 <-> 7, 596
+1501 <-> 468
+1502 <-> 344, 374, 1631
+1503 <-> 515, 1244, 1524
+1504 <-> 779
+1505 <-> 375, 1980
+1506 <-> 1348
+1507 <-> 157, 185, 884, 1043
+1508 <-> 1511
+1509 <-> 282, 835, 1299
+1510 <-> 511, 1253
+1511 <-> 1166, 1247, 1508
+1512 <-> 142
+1513 <-> 461
+1514 <-> 601, 711, 1553
+1515 <-> 209, 1739
+1516 <-> 774
+1517 <-> 1378
+1518 <-> 1518
+1519 <-> 674, 1519
+1520 <-> 989
+1521 <-> 503, 961
+1522 <-> 662, 1134, 1998
+1523 <-> 95, 731, 1783
+1524 <-> 290, 1503, 1741
+1525 <-> 295, 453
+1526 <-> 881, 1146
+1527 <-> 1741
+1528 <-> 1477, 1824
+1529 <-> 1182
+1530 <-> 498, 521, 888
+1531 <-> 1660
+1532 <-> 706, 981, 1532
+1533 <-> 167, 1208
+1534 <-> 1420
+1535 <-> 378
+1536 <-> 110, 138, 650, 1897, 1901
+1537 <-> 14
+1538 <-> 114, 1552
+1539 <-> 1640
+1540 <-> 1540, 1896
+1541 <-> 1278
+1542 <-> 412, 1944
+1543 <-> 1543
+1544 <-> 1041
+1545 <-> 766, 1640
+1546 <-> 1546
+1547 <-> 1041, 1171
+1548 <-> 387, 1056, 1567
+1549 <-> 1878
+1550 <-> 827, 968
+1551 <-> 66, 920, 1150
+1552 <-> 1215, 1538
+1553 <-> 763, 1514
+1554 <-> 124, 1134
+1555 <-> 442
+1556 <-> 60, 98, 1200
+1557 <-> 48, 696
+1558 <-> 1242
+1559 <-> 1668
+1560 <-> 155, 355, 437, 1186
+1561 <-> 268, 642, 1091, 1976
+1562 <-> 117, 434, 588, 1579
+1563 <-> 182, 379, 501
+1564 <-> 979
+1565 <-> 1565
+1566 <-> 527, 754
+1567 <-> 1548
+1568 <-> 427, 1997
+1569 <-> 929, 1347, 1579
+1570 <-> 177, 386
+1571 <-> 176, 744, 1165
+1572 <-> 1572
+1573 <-> 195, 199
+1574 <-> 318, 1912
+1575 <-> 844, 929
+1576 <-> 141, 1652
+1577 <-> 1497, 1998
+1578 <-> 1776
+1579 <-> 1020, 1562, 1569
+1580 <-> 626
+1581 <-> 591, 1591
+1582 <-> 723, 1972
+1583 <-> 603, 1200
+1584 <-> 362, 1639
+1585 <-> 605
+1586 <-> 742, 1375, 1945
+1587 <-> 1082
+1588 <-> 588, 967
+1589 <-> 645, 1919
+1590 <-> 606, 1445
+1591 <-> 1581, 1641
+1592 <-> 899, 1592
+1593 <-> 1868
+1594 <-> 893, 1878
+1595 <-> 699
+1596 <-> 1312, 1627, 1974
+1597 <-> 1720, 1961
+1598 <-> 867, 1053, 1719
+1599 <-> 669
+1600 <-> 106
+1601 <-> 1097, 1681
+1602 <-> 414, 1687
+1603 <-> 1605
+1604 <-> 983
+1605 <-> 767, 806, 982, 1603
+1606 <-> 303
+1607 <-> 1607, 1847
+1608 <-> 1975
+1609 <-> 267, 1778
+1610 <-> 396
+1611 <-> 842
+1612 <-> 188, 1877
+1613 <-> 64, 345
+1614 <-> 361
+1615 <-> 626, 1297
+1616 <-> 1394
+1617 <-> 28, 1315
+1618 <-> 470, 812, 1031
+1619 <-> 215, 796
+1620 <-> 921
+1621 <-> 1430, 1764
+1622 <-> 989
+1623 <-> 1761
+1624 <-> 51, 403
+1625 <-> 1448
+1626 <-> 90, 747, 901, 1943, 1985
+1627 <-> 14, 1124, 1596
+1628 <-> 217, 523
+1629 <-> 994, 1287
+1630 <-> 8, 1376
+1631 <-> 1502
+1632 <-> 401, 1384, 1697
+1633 <-> 614, 957
+1634 <-> 662, 959
+1635 <-> 249, 1793
+1636 <-> 568
+1637 <-> 839
+1638 <-> 910, 1061
+1639 <-> 1584, 1730
+1640 <-> 1325, 1539, 1545
+1641 <-> 1591
+1642 <-> 16
+1643 <-> 139
+1644 <-> 1644, 1900
+1645 <-> 330, 1168
+1646 <-> 727
+1647 <-> 438, 1647
+1648 <-> 510, 676, 1722
+1649 <-> 398
+1650 <-> 906, 916, 922, 1914
+1651 <-> 1769
+1652 <-> 755, 1576
+1653 <-> 1091
+1654 <-> 1089
+1655 <-> 1413
+1656 <-> 273
+1657 <-> 1083
+1658 <-> 294, 344, 1371, 1740
+1659 <-> 1688, 1805
+1660 <-> 1496, 1531, 1948
+1661 <-> 1749
+1662 <-> 1476, 1979
+1663 <-> 1394
+1664 <-> 1041, 1085
+1665 <-> 53
+1666 <-> 589
+1667 <-> 1273, 1853
+1668 <-> 871, 1109, 1559
+1669 <-> 1931
+1670 <-> 449, 1832
+1671 <-> 86, 1015, 1318, 1671
+1672 <-> 685, 1861
+1673 <-> 1326, 1747
+1674 <-> 586, 1812
+1675 <-> 759
+1676 <-> 340, 610, 1238, 1676
+1677 <-> 1131, 1254, 1405, 1784
+1678 <-> 333, 357
+1679 <-> 655, 1183, 1285, 1296, 1745
+1680 <-> 737
+1681 <-> 61, 1601
+1682 <-> 486, 673, 1332
+1683 <-> 846, 1766, 1773
+1684 <-> 1476
+1685 <-> 1152, 1208
+1686 <-> 875
+1687 <-> 1602, 1687
+1688 <-> 363, 478, 1659, 1860
+1689 <-> 724
+1690 <-> 2
+1691 <-> 1691
+1692 <-> 1443, 1707
+1693 <-> 678, 1225, 1289
+1694 <-> 261, 269
+1695 <-> 705, 1281
+1696 <-> 814
+1697 <-> 1632
+1698 <-> 982
+1699 <-> 135, 818, 965, 1142
+1700 <-> 501
+1701 <-> 103, 1442
+1702 <-> 966, 1181
+1703 <-> 1205, 1958
+1704 <-> 1432
+1705 <-> 280
+1706 <-> 1706
+1707 <-> 1065, 1692
+1708 <-> 454, 722
+1709 <-> 297, 1380
+1710 <-> 1710
+1711 <-> 1452
+1712 <-> 1367
+1713 <-> 1713
+1714 <-> 622, 1817
+1715 <-> 444, 468
+1716 <-> 171, 862, 1267
+1717 <-> 314, 1304, 1873
+1718 <-> 767, 875, 1738
+1719 <-> 500, 1598
+1720 <-> 1597
+1721 <-> 1234, 1472
+1722 <-> 487, 1648
+1723 <-> 868
+1724 <-> 864, 1757
+1725 <-> 814
+1726 <-> 3
+1727 <-> 168
+1728 <-> 193, 305, 1349
+1729 <-> 951, 1276
+1730 <-> 431, 568, 1219, 1639
+1731 <-> 450
+1732 <-> 1131
+1733 <-> 646, 1733
+1734 <-> 1224
+1735 <-> 1343
+1736 <-> 1028, 1185
+1737 <-> 335, 879, 1273
+1738 <-> 1718
+1739 <-> 372, 1515
+1740 <-> 1658
+1741 <-> 1524, 1527, 1818
+1742 <-> 1175
+1743 <-> 609, 624, 1247, 1455
+1744 <-> 1474
+1745 <-> 889, 1679
+1746 <-> 1384
+1747 <-> 14, 887, 1673
+1748 <-> 12, 1748
+1749 <-> 258, 1661, 1907, 1921
+1750 <-> 536, 727
+1751 <-> 907
+1752 <-> 858, 1383, 1440
+1753 <-> 1044, 1204
+1754 <-> 553, 833, 863
+1755 <-> 1211, 1421
+1756 <-> 173, 1273
+1757 <-> 1101, 1724
+1758 <-> 25, 554, 596, 1470
+1759 <-> 424
+1760 <-> 1164, 1793
+1761 <-> 1036, 1154, 1623
+1762 <-> 73, 855, 864
+1763 <-> 1061
+1764 <-> 204, 1621
+1765 <-> 912, 1765
+1766 <-> 562, 811, 1210, 1683
+1767 <-> 319, 991, 1286
+1768 <-> 440, 1423
+1769 <-> 5, 390, 1651
+1770 <-> 284, 392
+1771 <-> 858
+1772 <-> 788, 862
+1773 <-> 487, 1151, 1683, 1773
+1774 <-> 33, 1479
+1775 <-> 974, 1384, 1775, 1935
+1776 <-> 1327, 1578
+1777 <-> 1958
+1778 <-> 280, 442, 1609
+1779 <-> 270, 773
+1780 <-> 26, 1983
+1781 <-> 353, 866
+1782 <-> 738, 779, 1991
+1783 <-> 130, 1523
+1784 <-> 1677, 1784
+1785 <-> 332
+1786 <-> 1947
+1787 <-> 1814, 1845
+1788 <-> 90
+1789 <-> 290, 798, 1448
+1790 <-> 160, 429, 1076, 1111, 1998
+1791 <-> 1102
+1792 <-> 601
+1793 <-> 1635, 1760
+1794 <-> 210, 1972
+1795 <-> 18, 694
+1796 <-> 1889, 1915
+1797 <-> 111
+1798 <-> 607, 1798
+1799 <-> 426
+1800 <-> 687
+1801 <-> 1037
+1802 <-> 1821
+1803 <-> 585
+1804 <-> 278
+1805 <-> 1659
+1806 <-> 1806
+1807 <-> 821, 1017
+1808 <-> 937
+1809 <-> 23, 620
+1810 <-> 792
+1811 <-> 478, 1865
+1812 <-> 1674
+1813 <-> 178, 1333
+1814 <-> 783, 1787
+1815 <-> 118, 484, 1282
+1816 <-> 39, 380, 554, 634, 1487
+1817 <-> 168, 1714
+1818 <-> 1105, 1741, 1910, 1948, 1972
+1819 <-> 894
+1820 <-> 343
+1821 <-> 135, 572, 1802
+1822 <-> 791, 976
+1823 <-> 1023
+1824 <-> 1108, 1528
+1825 <-> 675
+1826 <-> 1065, 1407, 1936
+1827 <-> 615
+1828 <-> 1828
+1829 <-> 321, 1062, 1332
+1830 <-> 506
+1831 <-> 667
+1832 <-> 1330, 1670
+1833 <-> 374, 542
+1834 <-> 973
+1835 <-> 1042
+1836 <-> 479, 1836
+1837 <-> 199
+1838 <-> 1194
+1839 <-> 731
+1840 <-> 1840
+1841 <-> 528, 1242
+1842 <-> 1895
+1843 <-> 167
+1844 <-> 174, 1964
+1845 <-> 19, 672, 866, 1787
+1846 <-> 247, 1481
+1847 <-> 253, 465, 1607
+1848 <-> 603, 842, 1494
+1849 <-> 231, 1455
+1850 <-> 456, 1442
+1851 <-> 933, 1212
+1852 <-> 1294
+1853 <-> 1667
+1854 <-> 693, 1312
+1855 <-> 293, 1925
+1856 <-> 1476
+1857 <-> 1332
+1858 <-> 1858
+1859 <-> 139, 275
+1860 <-> 1688, 1994
+1861 <-> 1672
+1862 <-> 1938
+1863 <-> 1187, 1466
+1864 <-> 344
+1865 <-> 312, 1811
+1866 <-> 781, 908
+1867 <-> 983
+1868 <-> 1095, 1439, 1593
+1869 <-> 722
+1870 <-> 962, 1351, 1899
+1871 <-> 1287, 1372
+1872 <-> 717, 1242
+1873 <-> 209, 488, 1717
+1874 <-> 197
+1875 <-> 471, 660, 1442
+1876 <-> 788
+1877 <-> 1612
+1878 <-> 604, 1549, 1594
+1879 <-> 154, 1047, 1949
+1880 <-> 1299
+1881 <-> 631, 917, 984
+1882 <-> 759, 1207, 1882
+1883 <-> 102
+1884 <-> 1417
+1885 <-> 29
+1886 <-> 46, 718, 1886
+1887 <-> 657
+1888 <-> 232, 808, 876, 1058, 1357, 1989
+1889 <-> 1227, 1796, 1889
+1890 <-> 576
+1891 <-> 516, 583, 931, 1280
+1892 <-> 132, 1035
+1893 <-> 440
+1894 <-> 478, 617, 1313
+1895 <-> 1091, 1325, 1842
+1896 <-> 1540
+1897 <-> 71, 1536
+1898 <-> 1110
+1899 <-> 613, 1870
+1900 <-> 1644
+1901 <-> 704, 1259, 1536
+1902 <-> 1902
+1903 <-> 864
+1904 <-> 639, 1434
+1905 <-> 41, 757
+1906 <-> 390
+1907 <-> 1749
+1908 <-> 766
+1909 <-> 997
+1910 <-> 1818
+1911 <-> 665, 1911
+1912 <-> 244, 328, 590, 761, 1574
+1913 <-> 426
+1914 <-> 428, 1650, 1941
+1915 <-> 1796
+1916 <-> 260, 1924
+1917 <-> 1917
+1918 <-> 235, 1232
+1919 <-> 919, 1475, 1589
+1920 <-> 230, 1159
+1921 <-> 784, 1749
+1922 <-> 9, 1928
+1923 <-> 347, 1128, 1923
+1924 <-> 121, 1916
+1925 <-> 1292, 1855
+1926 <-> 43, 1338
+1927 <-> 113, 635, 1074, 1092
+1928 <-> 1922
+1929 <-> 945
+1930 <-> 1099
+1931 <-> 914, 1669
+1932 <-> 200, 874, 1091, 1188
+1933 <-> 828
+1934 <-> 1090
+1935 <-> 1775
+1936 <-> 1826
+1937 <-> 811
+1938 <-> 23, 1044, 1862
+1939 <-> 1170
+1940 <-> 136, 250, 1267
+1941 <-> 1914
+1942 <-> 197, 612
+1943 <-> 226, 788, 1626
+1944 <-> 48, 445, 1542
+1945 <-> 995, 1586
+1946 <-> 574
+1947 <-> 828, 876, 1786
+1948 <-> 654, 1660, 1818
+1949 <-> 478, 1879
+1950 <-> 263
+1951 <-> 822, 1174, 1242
+1952 <-> 239
+1953 <-> 190
+1954 <-> 1360
+1955 <-> 701, 1006
+1956 <-> 138, 715, 1095
+1957 <-> 925
+1958 <-> 1203, 1703, 1777
+1959 <-> 1959
+1960 <-> 1287
+1961 <-> 202, 574, 1597
+1962 <-> 489, 1482
+1963 <-> 1436
+1964 <-> 443, 1083, 1844
+1965 <-> 639
+1966 <-> 1100
+1967 <-> 674
+1968 <-> 1424
+1969 <-> 354
+1970 <-> 169, 1002
+1971 <-> 1077, 1971
+1972 <-> 252, 530, 1582, 1794, 1818
+1973 <-> 1250, 1297
+1974 <-> 1413, 1596
+1975 <-> 261, 1608
+1976 <-> 1561
+1977 <-> 321, 923, 1261
+1978 <-> 843, 977, 1375
+1979 <-> 547, 1662
+1980 <-> 276, 1505
+1981 <-> 403
+1982 <-> 69, 907
+1983 <-> 273, 1780
+1984 <-> 20, 627, 980
+1985 <-> 80, 400, 1626
+1986 <-> 1196
+1987 <-> 894, 1033, 1056
+1988 <-> 548
+1989 <-> 326, 358, 1888
+1990 <-> 1432, 1990
+1991 <-> 924, 1782
+1992 <-> 80
+1993 <-> 31, 867
+1994 <-> 1860
+1995 <-> 301, 1389, 1399
+1996 <-> 968
+1997 <-> 952, 1568
+1998 <-> 1522, 1577, 1790
+1999 <-> 308, 799, 1013
new file mode 100644
--- /dev/null
+++ b/2017/day12/problem
@@ -0,0 +1,78 @@
+--- Day 12: Digital Plumber ---
+
+Walking along the memory banks of the stream, you find a small village
+that is experiencing a little confusion: some programs can't
+communicate with each other.
+
+Programs in this village communicate using a fixed system of pipes.
+Messages are passed between programs using these pipes, but most
+programs aren't connected to each other directly. Instead, programs
+pass messages between each other until the message reaches the
+intended recipient.
+
+For some reason, though, some of these messages aren't ever reaching
+their intended recipient, and the programs suspect that some pipes are
+missing. They would like you to investigate.
+
+You walk through the village and record the ID of each program and the
+IDs with which it can communicate directly (your puzzle input). Each
+program has one or more programs with which it can communicate, and
+these pipes are bidirectional; if 8 says it can communicate with 11,
+then 11 will say it can communicate with 8.
+
+You need to figure out how many programs are in the group that
+contains program ID 0.
+
+For example, suppose you go door-to-door like a travelling salesman
+and record the following list:
+
+0 <-> 2
+1 <-> 1
+2 <-> 0, 3, 4
+3 <-> 2, 4
+4 <-> 2, 3, 6
+5 <-> 6
+6 <-> 4, 5
+
+In this example, the following programs are in the group that contains
+program ID 0:
+
+    Program 0 by definition.
+
+    Program 2, directly connected to program 0.
+
+    Program 3 via program 2.
+
+    Program 4 via program 2.
+
+    Program 5 via programs 6, then 4, then 2.
+
+    Program 6 via programs 4, then 2.
+
+
+Therefore, a total of 6 programs are in this group; all but program 1,
+which has a pipe that connects it to itself.
+
+How many programs are in the group that contains program ID 0?
+
+Your puzzle answer was 141.
+
+--- Part Two ---
+
+There are more programs than just the ones in the group containing
+program ID 0. The rest of them have no way of reaching that group, and
+still might have no way of reaching each other.
+
+A group is a collection of programs that can all communicate via pipes
+either directly or indirectly. The programs you identified just a
+moment ago are all part of the same group. Now, they would like you to
+determine the total number of groups.
+
+In the example above, there were 2 groups: one consisting of programs
+0,2,3,4,5,6, and the other consisting solely of program 1.
+
+How many groups are there in total?
+
+Your puzzle answer was 171.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day13/input
@@ -0,0 +1,43 @@
+0: 3
+1: 2
+2: 6
+4: 4
+6: 4
+8: 8
+10: 6
+12: 8
+14: 5
+16: 6
+18: 8
+20: 8
+22: 12
+24: 6
+26: 9
+28: 8
+30: 12
+32: 12
+34: 17
+36: 12
+38: 8
+40: 12
+42: 12
+44: 10
+46: 12
+48: 12
+50: 12
+52: 14
+54: 14
+56: 10
+58: 14
+60: 12
+62: 14
+64: 14
+66: 14
+68: 14
+70: 14
+72: 14
+74: 14
+76: 14
+86: 14
+94: 20
+96: 18
new file mode 100644
--- /dev/null
+++ b/2017/day13/problem
@@ -0,0 +1,324 @@
+--- Day 13: Packet Scanners ---
+
+You need to cross a vast firewall. The firewall consists of several
+layers, each with a security scanner that moves back and forth across
+the layer. To succeed, you must not be detected by a scanner.
+
+By studying the firewall briefly, you are able to record (in your
+puzzle input) the depth of each layer and the range of the scanning
+area for the scanner within it, written as depth: range. Each layer
+has a thickness of exactly 1. A layer at depth 0 begins immediately
+inside the firewall; a layer at depth 1 would start immediately after
+that.
+
+For example, suppose you've recorded the following:
+
+0: 3
+1: 2
+4: 4
+6: 4
+
+This means that there is a layer immediately inside the firewall (with
+range 3), a second layer immediately after that (with range 2), a
+third layer which begins at depth 4 (with range 4), and a fourth layer
+which begins at depth 6 (also with range 4). Visually, it might look
+like this:
+
+ 0   1   2   3   4   5   6
+[ ] [ ] ... ... [ ] ... [ ]
+[ ] [ ]         [ ]     [ ]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+Within each layer, a security scanner moves back and forth within its
+range. Each security scanner starts at the top and moves down until it
+reaches the bottom, then moves up until it reaches the top, and
+repeats. A security scanner takes one picosecond to move one step.
+Drawing scanners as S, the first few picoseconds look like this:
+
+
+Picosecond 0:
+ 0   1   2   3   4   5   6
+[S] [S] ... ... [S] ... [S]
+[ ] [ ]         [ ]     [ ]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+Picosecond 1:
+ 0   1   2   3   4   5   6
+[ ] [ ] ... ... [ ] ... [ ]
+[S] [S]         [S]     [S]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+Picosecond 2:
+ 0   1   2   3   4   5   6
+[ ] [S] ... ... [ ] ... [ ]
+[ ] [ ]         [ ]     [ ]
+[S]             [S]     [S]
+                [ ]     [ ]
+
+Picosecond 3:
+ 0   1   2   3   4   5   6
+[ ] [ ] ... ... [ ] ... [ ]
+[S] [S]         [ ]     [ ]
+[ ]             [ ]     [ ]
+                [S]     [S]
+
+Your plan is to hitch a ride on a packet about to move through the
+firewall. The packet will travel along the top of each layer, and it
+moves at one layer per picosecond. Each picosecond, the packet moves
+one layer forward (its first move takes it into layer 0), and then the
+scanners move one step. If there is a scanner at the top of the layer
+as your packet enters it, you are caught. (If a scanner moves into the
+top of its layer while you are there, you are not caught: it doesn't
+have time to notice you before you leave.) If you were to do this in
+the configuration above, marking your current position with
+parentheses, your passage through the firewall would look like this:
+
+Initial state:
+ 0   1   2   3   4   5   6
+[S] [S] ... ... [S] ... [S]
+[ ] [ ]         [ ]     [ ]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+Picosecond 0:
+ 0   1   2   3   4   5   6
+(S) [S] ... ... [S] ... [S]
+[ ] [ ]         [ ]     [ ]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+( ) [ ] ... ... [ ] ... [ ]
+[S] [S]         [S]     [S]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+
+Picosecond 1:
+ 0   1   2   3   4   5   6
+[ ] ( ) ... ... [ ] ... [ ]
+[S] [S]         [S]     [S]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+[ ] (S) ... ... [ ] ... [ ]
+[ ] [ ]         [ ]     [ ]
+[S]             [S]     [S]
+                [ ]     [ ]
+
+
+Picosecond 2:
+ 0   1   2   3   4   5   6
+[ ] [S] (.) ... [ ] ... [ ]
+[ ] [ ]         [ ]     [ ]
+[S]             [S]     [S]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+[ ] [ ] (.) ... [ ] ... [ ]
+[S] [S]         [ ]     [ ]
+[ ]             [ ]     [ ]
+                [S]     [S]
+
+
+Picosecond 3:
+ 0   1   2   3   4   5   6
+[ ] [ ] ... (.) [ ] ... [ ]
+[S] [S]         [ ]     [ ]
+[ ]             [ ]     [ ]
+                [S]     [S]
+
+ 0   1   2   3   4   5   6
+[S] [S] ... (.) [ ] ... [ ]
+[ ] [ ]         [ ]     [ ]
+[ ]             [S]     [S]
+                [ ]     [ ]
+
+
+Picosecond 4:
+ 0   1   2   3   4   5   6
+[S] [S] ... ... ( ) ... [ ]
+[ ] [ ]         [ ]     [ ]
+[ ]             [S]     [S]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+[ ] [ ] ... ... ( ) ... [ ]
+[S] [S]         [S]     [S]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+
+Picosecond 5:
+ 0   1   2   3   4   5   6
+[ ] [ ] ... ... [ ] (.) [ ]
+[S] [S]         [S]     [S]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+[ ] [S] ... ... [S] (.) [S]
+[ ] [ ]         [ ]     [ ]
+[S]             [ ]     [ ]
+                [ ]     [ ]
+
+
+Picosecond 6:
+ 0   1   2   3   4   5   6
+[ ] [S] ... ... [S] ... (S)
+[ ] [ ]         [ ]     [ ]
+[S]             [ ]     [ ]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+[ ] [ ] ... ... [ ] ... ( )
+[S] [S]         [S]     [S]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+In this situation, you are caught in layers 0 and 6, because your
+packet entered the layer when its scanner was at the top when you
+entered it. You are not caught in layer 1, since the scanner moved
+into the top of the layer once you were already there.
+
+The severity of getting caught on a layer is equal to its depth
+multiplied by its range. (Ignore layers in which you do not get
+caught.) The severity of the whole trip is the sum of these values. In
+the example above, the trip severity is 0*3 + 6*4 = 24.
+
+Given the details of the firewall you've recorded, if you leave
+immediately, what is the severity of your whole trip?
+
+Your puzzle answer was 1300.
+
+--- Part Two ---
+
+Now, you need to pass through the firewall without being caught -
+easier said than done.
+
+You can't control the speed of the packet, but you can delay it any
+number of picoseconds. For each picosecond you delay the packet before
+beginning your trip, all security scanners move one step. You're not
+in the firewall during this time; you don't enter layer 0 until you
+stop delaying the packet.
+
+In the example above, if you delay 10 picoseconds (picoseconds 0 - 9),
+you won't get caught:
+
+State after delaying:
+ 0   1   2   3   4   5   6
+[ ] [S] ... ... [ ] ... [ ]
+[ ] [ ]         [ ]     [ ]
+[S]             [S]     [S]
+                [ ]     [ ]
+
+Picosecond 10:
+ 0   1   2   3   4   5   6
+( ) [S] ... ... [ ] ... [ ]
+[ ] [ ]         [ ]     [ ]
+[S]             [S]     [S]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+( ) [ ] ... ... [ ] ... [ ]
+[S] [S]         [S]     [S]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+
+Picosecond 11:
+ 0   1   2   3   4   5   6
+[ ] ( ) ... ... [ ] ... [ ]
+[S] [S]         [S]     [S]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+[S] (S) ... ... [S] ... [S]
+[ ] [ ]         [ ]     [ ]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+
+Picosecond 12:
+ 0   1   2   3   4   5   6
+[S] [S] (.) ... [S] ... [S]
+[ ] [ ]         [ ]     [ ]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+[ ] [ ] (.) ... [ ] ... [ ]
+[S] [S]         [S]     [S]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+
+Picosecond 13:
+ 0   1   2   3   4   5   6
+[ ] [ ] ... (.) [ ] ... [ ]
+[S] [S]         [S]     [S]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+[ ] [S] ... (.) [ ] ... [ ]
+[ ] [ ]         [ ]     [ ]
+[S]             [S]     [S]
+                [ ]     [ ]
+
+
+Picosecond 14:
+ 0   1   2   3   4   5   6
+[ ] [S] ... ... ( ) ... [ ]
+[ ] [ ]         [ ]     [ ]
+[S]             [S]     [S]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+[ ] [ ] ... ... ( ) ... [ ]
+[S] [S]         [ ]     [ ]
+[ ]             [ ]     [ ]
+                [S]     [S]
+
+
+Picosecond 15:
+ 0   1   2   3   4   5   6
+[ ] [ ] ... ... [ ] (.) [ ]
+[S] [S]         [ ]     [ ]
+[ ]             [ ]     [ ]
+                [S]     [S]
+
+ 0   1   2   3   4   5   6
+[S] [S] ... ... [ ] (.) [ ]
+[ ] [ ]         [ ]     [ ]
+[ ]             [S]     [S]
+                [ ]     [ ]
+
+
+Picosecond 16:
+ 0   1   2   3   4   5   6
+[S] [S] ... ... [ ] ... ( )
+[ ] [ ]         [ ]     [ ]
+[ ]             [S]     [S]
+                [ ]     [ ]
+
+ 0   1   2   3   4   5   6
+[ ] [ ] ... ... [ ] ... ( )
+[S] [S]         [S]     [S]
+[ ]             [ ]     [ ]
+                [ ]     [ ]
+
+Because all smaller delays would get you caught, the fewest number of
+picoseconds you would need to delay to get through safely is 10.
+
+What is the fewest number of picoseconds that you need to delay the
+packet to pass through the firewall without being caught?
+
+Your puzzle answer was 3870382.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day14/input
@@ -0,0 +1,1 @@
+ugkiagan
new file mode 100644
--- /dev/null
+++ b/2017/day14/problem
@@ -0,0 +1,85 @@
+--- Day 14: Disk Defragmentation ---
+
+Suddenly, a scheduled job activates the system's disk defragmenter.
+Were the situation different, you might sit and watch it for a while,
+but today, you just don't have that kind of time. It's soaking up
+valuable system resources that are needed elsewhere, and so the only
+option is to help it finish its task as soon as possible.
+
+The disk in question consists of a 128x128 grid; each square of the
+grid is either free or used. On this disk, the state of the grid is
+tracked by the bits in a sequence of knot hashes.
+
+A total of 128 knot hashes are calculated, each corresponding to a
+single row in the grid; each hash contains 128 bits which correspond
+to individual grid squares. Each bit of a hash indicates whether that
+square is free (0) or used (1).
+
+The hash inputs are a key string (your puzzle input), a dash, and a
+number from 0 to 127 corresponding to the row. For example, if your
+key string were flqrgnkx, then the first row would be given by the
+bits of the knot hash of flqrgnkx-0, the second row from the bits of
+the knot hash of flqrgnkx-1, and so on until the last row,
+flqrgnkx-127.
+
+The output of a knot hash is traditionally represented by 32
+hexadecimal digits; each of these digits correspond to 4 bits, for a
+total of 4 * 32 = 128 bits. To convert to bits, turn each hexadecimal
+digit to its equivalent binary value, high-bit first: 0 becomes 0000,
+1 becomes 0001, e becomes 1110, f becomes 1111, and so on; a hash that
+begins with a0c2017... in hexadecimal would begin with
+10100000110000100000000101110000... in binary.
+
+Continuing this process, the first 8 rows and columns for key flqrgnkx
+appear as follows, using # to denote used squares, and . to denote
+free ones:
+
+##.#.#..-->
+.#.#.#.#   
+....#.#.   
+#.#.##.#   
+.##.#...   
+##..#..#   
+.#...#..   
+##.#.##.-->
+|      |   
+V      V   
+
+In this example, 8108 squares are used across the entire 128x128 grid.
+
+Given your actual key string, how many squares are used?
+
+Your puzzle answer was 8292.
+
+--- Part Two ---
+
+Now, all the defragmenter needs to know is the number of regions. A
+region is a group of used squares that are all adjacent, not including
+diagonals. Every used square is in exactly one region: lone used
+squares form their own isolated regions, while several adjacent
+squares all count as a single region.
+
+In the example above, the following nine regions are visible, each
+marked with a distinct digit:
+
+11.2.3..-->
+.1.2.3.4   
+....5.6.   
+7.8.55.9   
+.88.5...   
+88..5..8   
+.8...8..   
+88.8.88.-->
+|      |   
+V      V   
+
+Of particular interest is the region marked 8; while it does not
+appear contiguous in this small view, all of the squares marked 8 are
+connected when considering the whole 128x128 grid. In total, in this
+example, 1242 regions are present.
+
+How many regions are present given your key string?
+
+Your puzzle answer was 1069.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day15/input
@@ -0,0 +1,2 @@
+Generator A starts with 679
+Generator B starts with 771
new file mode 100644
--- /dev/null
+++ b/2017/day15/problem
@@ -0,0 +1,135 @@
+--- Day 15: Dueling Generators ---
+
+Here, you encounter a pair of dueling generators. The generators,
+called generator A and generator B, are trying to agree on a sequence
+of numbers. However, one of them is malfunctioning, and so the
+sequences don't always match.
+
+As they do this, a judge waits for each of them to generate its next
+value, compares the lowest 16 bits of both values, and keeps track of
+the number of times those parts of the values match.
+
+The generators both work on the same principle. To create its next
+value, a generator will take the previous value it produced, multiply
+it by a factor (generator A uses 16807; generator B uses 48271), and
+then keep the remainder of dividing that resulting product by
+2147483647. That final remainder is the value it produces next.
+
+To calculate each generator's first value, it instead uses a specific
+starting value as its "previous value" (as listed in your puzzle
+input).
+
+For example, suppose that for starting values, generator A uses 65,
+while generator B uses 8921. Then, the first five pairs of generated
+values are:
+
+--Gen. A--  --Gen. B--
+   1092455   430625591
+1181022009  1233683848
+ 245556042  1431495498
+1744312007   137874439
+1352636452   285222916
+
+In binary, these pairs are (with generator A's value first in each
+pair):
+
+00000000000100001010101101100111
+00011001101010101101001100110111
+
+01000110011001001111011100111001
+01001001100010001000010110001000
+
+00001110101000101110001101001010
+01010101010100101110001101001010
+
+01100111111110000001011011000111
+00001000001101111100110000000111
+
+01010000100111111001100000100100
+00010001000000000010100000000100
+
+Here, you can see that the lowest (here, rightmost) 16 bits of the
+third value match: 1110001101001010. Because of this one match, after
+processing these five pairs, the judge would have added only 1 to its
+total.
+
+To get a significant sample, the judge would like to consider 40
+million pairs. (In the example above, the judge would eventually find
+a total of 588 pairs that match in their lowest 16 bits.)
+
+After 40 million pairs, what is the judge's final count?
+
+Your puzzle answer was 626.
+
+--- Part Two ---
+
+In the interest of trying to align a little better, the generators get
+more picky about the numbers they actually give to the judge.
+
+They still generate values in the same way, but now they only hand a
+value to the judge when it meets their criteria:
+
+    Generator A looks for values that are multiples of 4.
+
+    Generator B looks for values that are multiples of 8.
+
+Each generator functions completely independently: they both go
+through values entirely on their own, only occasionally handing an
+acceptable value to the judge, and otherwise working through the same
+sequence of values as before until they find one.
+
+The judge still waits for each generator to provide it with a value
+before comparing them (using the same comparison method as before). It
+keeps track of the order it receives values; the first values from
+each generator are compared, then the second values from each
+generator, then the third values, and so on.
+
+Using the example starting values given above, the generators now
+produce the following first five values each:
+
+--Gen. A--  --Gen. B--
+1352636452  1233683848
+1992081072   862516352
+ 530830436  1159784568
+1980017072  1616057672
+ 740335192   412269392
+
+These values have the following corresponding binary values:
+
+01010000100111111001100000100100
+01001001100010001000010110001000
+
+01110110101111001011111010110000
+00110011011010001111010010000000
+
+00011111101000111101010001100100
+01000101001000001110100001111000
+
+01110110000001001010100110110000
+01100000010100110001010101001000
+
+00101100001000001001111001011000
+00011000100100101011101101010000
+
+Unfortunately, even though this change makes more bits similar on
+average, none of these values' lowest 16 bits match. Now, it's not
+until the 1056th pair that the judge finds the first match:
+
+--Gen. A--  --Gen. B--
+1023762912   896885216
+
+00111101000001010110000111100000
+00110101011101010110000111100000
+
+This change makes the generators much slower, and the judge is getting
+impatient; it is now only willing to consider 5 million pairs. (Using
+the values from the example above, after five million pairs, the judge
+would eventually find a total of 309 pairs that match in their lowest
+16 bits.)
+
+After 5 million pairs, but using this new generator logic, what is the
+judge's final count?
+
+Your puzzle answer was 306.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day16/input
@@ -0,0 +1,1 @@
+x15/10,ph/c,x3/14,s1,pf/b,x12/0,ph/m,x14/11,s4,x6/13,s2,x7/14,pn/f,x1/9,s7,x14/11,s9,x15/6,s14,x0/5,s1,x6/7,pp/i,s8,x4/3,s5,x15/6,s3,x4/3,s13,x11/6,pf/m,x13/5,s9,x0/3,s13,x15/5,pl/h,s1,x9/0,pf/a,x12/4,s5,x15/10,pn/i,x9/14,pm/l,x10/6,s8,x14/5,s6,x9/11,s2,x8/0,s6,x7/14,s2,x10/15,s1,x11/13,pf/b,x12/8,s8,pd/j,x1/13,s9,x3/6,s13,x2/8,s9,pp/e,x6/14,pm/b,x13/12,s6,x10/4,s10,x5/1,pi/a,x9/15,s8,x10/11,ph/j,x7/3,s9,x4/2,pb/g,x14/13,s10,x8/11,s11,x6/14,s10,x4/7,s6,x13/1,pn/k,s12,x9/7,pl/e,x2/13,s9,x10/9,po/c,x7/2,s4,x3/0,s8,x7/10,pl/h,x2/8,s9,x10/4,s15,x8/14,s1,x4/2,s8,x8/5,s15,x11/4,pd/c,x12/3,s5,x5/6,s4,x7/10,pa/k,x6/15,s8,x3/13,pg/b,x12/9,s11,x14/2,s5,x5/13,s2,x1/0,pj/l,x10/2,s5,pa/m,x12/5,s3,x4/8,s9,x15/5,pg/j,x12/2,pl/f,x3/1,s15,x6/14,pp/i,x0/13,pm/o,x6/8,pd/b,x15/10,s15,pg/k,x0/5,s3,x10/14,pc/j,x9/12,s13,x7/1,s11,x12/3,pk/h,x11/8,s15,x9/6,s2,x11/0,s5,x14/4,pe/d,x5/0,pc/j,x11/14,s3,x8/0,s14,pp/e,x14/12,s7,x13/5,pk/j,x9/4,s15,pm/g,x0/5,s14,x11/10,s6,x1/7,s9,x6/4,s2,x5/8,s1,x1/7,pj/c,x2/10,s7,pm/g,x15/5,ph/c,s9,x11/13,pp/f,s9,x8/4,s2,x12/14,s11,x10/1,s3,x0/8,s8,x11/13,s12,x1/14,s5,pk/n,x3/5,s12,x8/11,s14,x6/14,pg/o,x1/7,s7,x2/8,pc/l,x0/10,pn/p,x3/5,po/m,s15,x15/14,pi/c,x11/3,s8,x7/4,s14,pp/l,x2/11,pa/d,x1/8,pb/k,x13/14,s4,x0/4,pl/c,x14/11,pe/m,x9/5,s3,x11/10,s15,pk/j,s10,x7/9,s7,x1/12,po/c,x0/5,s4,x15/9,pg/h,s4,x5/11,s13,x3/7,s2,x14/13,s15,x8/12,pf/c,x7/5,s10,x4/13,pn/j,x7/9,pc/k,x14/12,pi/j,x0/11,pb/o,x15/3,s15,ph/l,x14/0,pn/g,x9/3,pj/d,s15,x11/6,s2,x5/4,ph/c,x7/8,s14,x13/11,pa/i,x2/6,s15,x4/3,pk/h,x5/12,s7,x2/4,pf/j,x13/15,pc/d,x11/4,s12,x9/0,pa/m,x10/7,s3,x9/13,pc/j,x3/8,s11,x12/15,pg/l,x5/0,pa/j,s3,x13/7,s15,x14/2,s3,x0/3,s9,x13/8,s4,x15/0,s13,x7/4,pm/i,x3/8,po/a,x11/1,pn/e,x2/7,pc/p,s15,x11/1,s2,ph/d,x10/7,s9,x9/3,s6,pi/j,x6/0,s10,x13/3,pd/n,x2/7,s7,x9/11,pf/k,x1/13,pj/p,x12/0,s13,x2/9,pc/l,x7/14,s8,x2/5,pe/d,x1/6,s15,x8/15,s11,x3/0,s3,x13/14,s5,x8/6,pb/n,s2,x3/1,pk/d,x6/8,s6,x15/9,s3,x2/3,s13,x1/10,s8,x11/7,pe/b,x13/8,s3,x6/15,s9,x9/7,s11,x1/11,pp/a,x7/12,s6,x8/2,pi/g,x15/6,s3,x2/1,s2,x7/11,s6,x14/0,ph/n,x8/2,s1,x11/14,s2,x3/15,pb/g,x12/8,s5,x1/14,pl/c,x8/2,pp/g,x0/14,s2,x6/13,pb/h,x11/7,s9,x6/4,s2,x8/15,pd/o,x13/14,pe/p,x15/9,s6,x3/12,pa/g,x1/9,s12,x15/4,s6,x11/10,pc/o,x8/3,s11,x15/9,pa/p,x2/6,po/d,x7/13,s12,x0/5,s15,x13/8,s12,x5/12,s9,x15/10,pe/i,s9,x1/8,po/a,x13/4,s2,x10/8,s11,x6/3,pc/k,x0/4,pd/p,x6/13,s15,x3/5,s4,x6/7,s13,x5/14,s8,x6/8,s6,x10/5,s13,x9/1,s11,x11/5,pf/n,x9/10,s6,x13/5,pc/a,x9/6,pd/n,x14/15,s7,x8/7,pl/f,x2/12,pj/k,x9/0,s1,x3/15,s5,x6/9,s9,x11/8,pd/l,x13/0,s13,x2/4,s15,x5/15,pb/a,x8/3,s13,x2/15,s3,x5/1,s3,x4/3,s11,x8/11,s2,x0/15,s15,x8/4,s10,x13/6,pm/i,x2/3,pk/l,x11/6,pi/h,x3/8,s15,x9/11,pn/g,x12/5,pj/d,x15/11,ph/f,s13,x13/0,pg/i,x10/9,s10,x1/12,pf/o,x0/14,s9,x3/15,s10,x2/6,s2,x10/8,s9,x14/1,s6,x7/2,s3,x12/11,s10,x7/15,s12,x11/2,s1,x0/15,s3,x12/13,s2,x10/15,s6,pg/b,x9/1,s11,x12/3,pf/l,x7/15,s9,x12/4,s12,x10/11,pg/b,x7/15,s1,x6/2,pn/m,x4/5,pd/p,s9,x9/12,s6,x8/7,s10,x12/15,pm/g,x5/9,s7,x1/10,s1,x6/12,s5,x13/5,s14,x3/14,s11,pl/f,x1/12,s4,x10/13,pk/c,x11/0,pf/o,x3/2,s9,x9/12,ph/m,x0/11,s15,x13/5,s7,x8/7,pk/o,x4/14,pf/j,x8/11,pm/i,x3/4,pb/l,x0/12,ph/j,x11/4,s12,x1/12,pk/n,x6/3,pe/a,x11/0,pp/o,x10/12,pa/j,x4/11,s7,x0/3,s3,x11/8,s1,x10/3,pp/h,x1/9,pe/m,x0/8,pc/a,x15/5,s12,x13/0,pl/e,x3/15,s6,x9/11,s2,x0/12,s8,x7/13,s7,x10/6,pm/n,x15/4,po/a,x3/7,s10,x14/9,s2,x6/2,s13,x5/8,s4,pk/i,x1/9,s1,x12/10,s9,x8/9,pn/c,x1/10,s11,x0/13,s7,x11/3,pe/j,s13,x13/7,pa/m,x12/14,pl/p,x10/8,pd/o,x11/1,s12,x14/3,s2,x12/8,s14,x11/7,pc/b,x8/0,ph/p,x12/1,pf/k,x14/13,s14,x9/10,s13,x8/3,s11,x9/6,pj/g,x0/15,pp/o,x7/5,pi/j,x3/11,s13,x10/2,pm/o,x4/14,pc/e,x8/9,s15,x7/12,s6,x9/4,pi/l,x12/14,s1,pn/p,s7,x2/11,pj/f,x15/9,pm/d,x3/11,s11,x6/1,s14,x14/10,pn/o,x8/7,s3,x6/0,pi/m,x4/5,s10,x9/7,s13,x3/14,s11,x5/6,s8,x1/12,s11,x10/8,s7,x5/14,s15,x15/2,pa/f,x6/13,s12,x4/15,s6,x13/14,s1,x10/6,s13,x7/14,s7,x15/6,s13,pj/c,x10/2,s14,x3/11,s11,x7/14,pf/a,x15/6,s5,x3/9,s10,x10/4,pg/m,x15/11,pa/h,x12/0,s10,x7/10,s4,pf/k,x4/14,s11,x1/11,pm/o,s9,x10/13,s13,x12/14,s5,x3/5,s9,x0/1,pa/e,x4/6,pp/c,x10/13,pl/b,x15/7,s5,x3/9,pp/j,x6/13,pd/f,x14/15,s10,x4/8,pe/g,x14/10,pc/d,s13,x11/15,s9,x1/14,pj/h,x4/6,s12,x0/14,pg/p,x3/13,pj/h,x4/10,po/d,x5/1,s9,x2/10,s8,x11/12,s6,x7/15,s14,x6/10,pe/c,x11/1,pi/h,x10/14,po/g,x11/3,s9,x8/5,s14,x9/12,s11,x4/8,s4,x10/14,s2,x13/9,pl/d,x12/5,s6,x4/0,pm/g,s6,x6/14,s2,pj/i,x12/4,s2,x3/13,s6,x15/4,pa/p,x11/7,pf/o,x10/12,s12,pb/i,x15/0,pn/m,x8/12,s10,x15/5,s8,x8/1,pc/f,x13/9,pl/h,x6/2,s9,pa/e,x9/8,pb/j,x10/14,s12,x9/5,pk/o,x11/15,pb/l,x14/9,ph/k,s11,x12/7,pc/l,s5,x10/0,s6,x4/14,s2,x11/0,s5,pf/a,x15/12,pn/d,x2/6,s13,x14/15,s7,x7/4,pp/c,x10/5,s5,x0/14,pg/h,x1/6,s3,x4/14,pn/i,x0/13,s3,x7/1,s15,x11/0,s9,x5/7,s12,x4/13,pk/e,x6/9,pa/o,x2/10,pf/l,x6/12,s14,x1/7,s10,x14/2,s4,x1/5,pb/n,x6/4,s15,x2/0,s15,x11/12,s3,x10/3,s11,x4/15,s9,x11/13,s14,x7/12,s2,x3/2,s7,pm/p,x14/10,s15,x8/13,pf/j,x15/9,s7,x4/6,pk/l,x7/15,pg/d,x5/12,po/i,x1/7,s14,x6/12,pk/b,x0/5,s7,x15/10,po/a,x7/3,pb/l,x8/15,pm/f,x11/1,pb/e,x0/9,s2,x13/10,s12,x2/12,s6,x11/3,s10,x0/4,s7,x5/3,s12,x13/7,pn/p,s8,x10/8,pe/d,x15/5,pj/a,x13/4,s4,x9/0,s5,x12/6,s10,x1/0,s1,x10/6,pe/c,x14/13,s5,x10/9,s10,x4/5,pg/n,x1/13,s7,x2/14,pb/k,x11/6,s10,x10/9,ph/d,x11/3,s10,pm/c,x0/5,s12,x13/14,po/n,x7/1,pc/m,x8/4,pa/e,x5/15,s15,x14/7,s12,x4/12,s11,pl/j,x10/2,s12,x8/9,s3,x10/4,s6,x12/0,pm/k,x14/3,pn/f,x12/8,pm/j,s1,x13/6,s13,x12/7,pc/e,x11/4,s15,pm/g,x5/2,s4,x9/15,pd/p,x10/2,s13,x3/9,pl/m,x0/7,pj/o,x1/3,pm/d,x12/0,pp/h,x14/5,pf/j,x3/2,s13,x9/8,s10,x6/11,s9,x8/14,s5,x7/11,s15,x5/3,s1,x0/8,s8,x12/4,s12,x2/13,pi/d,x15/12,pk/n,s7,x5/2,s13,x13/4,s4,x14/8,pi/j,x4/7,s9,x0/2,pl/b,x6/14,s2,x3/10,pp/o,x11/15,s2,x2/10,pd/m,x12/3,s12,x4/15,s6,x1/2,pe/h,s6,x8/13,pm/k,x1/9,pi/o,s8,x6/8,pb/l,x9/10,pe/f,x13/5,s1,pb/h,x8/12,s11,x1/3,s15,pk/d,x2/8,s14,ph/j,x12/10,s1,x4/1,pp/k,x2/12,s8,x15/9,s6,x7/12,pe/a,x2/15,s11,x4/1,s5,pl/o,x0/2,s5,x1/3,s10,x9/5,s2,x15/11,s10,x10/1,pm/a,x15/13,s6,x0/12,pk/b,x5/7,s5,pe/m,s5,x13/12,s5,x8/2,pi/f,s11,x0/3,pn/d,x4/15,s1,x12/5,pp/c,x4/10,s7,x1/12,pg/o,x0/2,s4,x7/13,s11,pc/d,x3/15,s10,x4/8,s12,x13/12,pe/b,x14/6,s14,pk/j,s9,x2/5,s15,x13/0,pl/e,x6/8,s9,x11/10,s12,x3/1,s13,x2/7,s12,x10/15,pa/i,x4/13,pf/p,x15/0,s15,x3/11,s12,x15/10,s3,x4/2,pc/d,x14/13,pk/j,x12/8,pb/m,x11/6,s9,x0/1,pg/f,s3,x14/11,po/j,s9,x0/2,pa/c,x11/3,s1,x7/6,s8,x9/2,s10,x7/14,s8,x15/12,pl/g,x7/13,s6,x0/11,s9,x4/9,s1,x7/10,pc/n,x4/6,s2,x8/3,pp/h,s5,x2/7,pn/k,x1/11,pf/m,x4/3,pj/i,x9/8,pp/k,x4/1,po/l,x14/2,s5,x15/12,s6,x6/2,s13,x1/10,pp/b,s9,x12/6,s12,x10/14,po/j,x7/2,s12,x1/10,s10,x9/4,s6,x2/6,s8,x1/8,s4,pd/f,x5/3,s9,x0/4,s1,x6/1,ph/n,x10/12,s3,x7/15,pg/e,x4/8,s15,x3/0,s1,x9/13,s8,x12/6,pp/k,x13/2,s9,x0/4,pl/a,x8/3,s6,x15/7,pi/f,x0/5,pn/e,x11/6,ph/l,x0/12,s14,x2/1,s11,x13/0,s7,x12/2,pe/c,x3/0,s4,x12/14,s7,x8/13,pl/h,x10/4,pf/a,x14/15,s7,x9/12,pp/n,x4/10,s1,x5/2,s10,x0/6,pl/o,x8/10,s9,x7/1,s11,x0/11,pd/k,x10/3,pb/l,x4/12,s15,x6/0,s15,x15/12,s14,x2/11,s5,x7/8,s4,x6/4,pj/h,x3/8,pn/g,x11/10,s1,pc/e,x12/13,pn/i,x14/2,pe/l,x0/11,s14,x8/15,pp/d,x3/12,pj/g,x4/10,s12,x0/12,s11,x8/13,pe/i,s8,x1/3,s5,x10/7,s6,x4/12,s9,x15/8,pc/k,x3/7,s9,x13/2,pm/h,x14/12,pi/p,x7/4,s6,x14/9,s3,x7/3,pm/o,x1/6,s9,x11/7,s5,x3/10,pi/j,x11/1,s1,x4/3,pk/g,x15/13,pn/o,x1/3,s14,x8/4,pc/a,x14/11,pg/o,x6/13,s8,x3/2,pm/h,s8,x6/4,s13,x8/9,po/n,x15/5,s12,x2/7,s6,pi/h,x0/14,pa/b,x2/12,pe/f,s15,x13/8,s5,x9/4,s1,x0/8,pk/o,x2/9,s12,x13/8,pm/c,x1/10,ph/p,x12/5,s4,x15/10,s1,po/m,x8/2,pn/j,x14/6,pd/m,x0/4,s7,x12/1,pb/o,x0/4,pn/e,s7,x7/11,s14,x2/1,pp/b,x9/7,pc/j,x0/3,s10,x12/14,s7,x3/11,pi/b,x8/0,s2,x6/13,s4,x14/9,s10,x6/4,s6,pj/f,x3/7,pg/a,x11/5,s14,x9/14,pf/i,x6/2,pa/p,x13/10,s10,x5/15,pf/m,x12/14,s11,x13/7,s13,x11/5,pp/d,x14/0,pg/n,x2/1,s7,x3/12,po/l,x1/6,pg/a,x9/15,pe/n,x5/11,s15,x4/3,s9,x0/2,s13,x1/3,pg/f,x12/11,s12,x8/1,s1,x13/5,pp/h,x9/0,s9,x12/2,pd/i,x3/0,pb/m,x1/11,s13,pi/o,x12/0,pn/c,x8/4,pl/b,x3/9,po/e,x8/10,pf/b,x15/5,s8,x4/12,s10,x1/10,s3,x7/11,pp/i,x0/9,s6,x11/10,s1,x5/3,s15,x15/10,s3,x14/12,s6,x11/6,pl/j,x7/8,pd/m,x4/3,po/e,x10/2,s14,x15/6,pd/m,x13/1,pc/e,s10,x4/5,s6,x11/3,s5,x7/9,pn/j,x11/13,pi/g,x6/7,pb/p,x11/0,pe/h,x7/4,s7,x12/0,s10,x11/3,pg/a,x5/9,s4,x4/7,pc/d,x1/5,s9,x9/12,pk/a,x1/14,pn/i,x2/11,s13,x15/12,pf/g,x2/4,s7,x9/15,s2,x14/6,s3,x13/4,s14,x1/15,s14,x3/8,s11,x9/15,s14,x3/2,s10,x0/9,s11,x4/5,s1,x11/15,s14,x14/4,s11,x2/9,pd/k,x6/0,pi/p,x12/8,s3,x3/2,s4,x6/4,s3,x1/11,s5,x2/14,s5,x4/3,s2,x14/15,po/m,s2,x10/7,s8,ph/a,x3/9,s6,x1/8,s4,x11/14,s4,x13/9,pb/m,x5/8,s7,pj/f,x2/1,pn/b,x14/0,pp/e,x8/11,pc/n,x10/2,s1,x8/3,pl/o,x14/15,s4,x8/9,s11,x0/15,pk/p,x1/14,s11,x7/0,s4,x6/1,pj/b,x9/14,pd/i,x13/4,pj/e,x0/12,s13,x6/2,pd/g,x8/7,s13,x2/3,pl/b,s11,x4/15,pe/h,x3/6,pd/c,s2,x10/2,po/n,x5/9,pm/i,s15,pf/e,x8/1,s14,x6/12,s14,ph/b,x1/3,s14,x5/12,po/g,s11,x0/13,s1,x3/15,pd/e,x10/7,pj/l,x8/15,s7,x10/14,s8,x2/13,s8,x11/5,s4,x14/3,s7,x12/15,s2,x10/8,pn/o,x4/3,s6,pm/l,x7/8,s6,x10/3,s14,x0/2,pa/o,x13/6,s6,x4/12,s6,x8/9,s14,x6/14,pl/p,x1/2,s13,x8/15,s1,x6/7,s7,x11/5,s5,x4/3,s11,x10/14,pj/a,x8/15,s9,x5/10,s12,x3/11,s12,x4/2,pf/m,x0/15,pc/b,x4/8,pi/n,x11/7,s15,x1/3,pj/d,x7/12,s2,x9/0,s6,x14/5,s7,x11/0,pb/e,x5/12,s2,x15/9,pp/j,x5/7,s7,x4/10,s8,x11/13,pe/m,x15/8,s14,x3/10,pn/p,x4/0,pc/e,x1/9,pi/a,x7/15,s9,pd/p,x5/3,s9,x14/12,s14,x13/11,s14,x5/1,s3,x4/14,pi/n,x12/5,s12,x1/6,pe/h,x12/11,s15,x5/8,s7,x0/3,s3,x6/7,s8,x8/5,s7,x7/12,s6,x6/13,s8,x9/1,s3,x7/5,pj/m,x10/11,po/g,s15,x6/4,pd/a,x2/5,s9,pf/p,s5,x7/14,pm/d,x9/0,s5,x1/10,pb/p,x8/6,s7,x9/12,pk/d,x0/4,s2,x10/14,pf/l,x9/3,s14,x15/7,s1,x2/13,s14,x11/9,s8,x13/14,s4,x7/12,s8,x1/13,s1,x9/2,s7,x15/4,s13,x12/1,pp/c,x5/10,s15,pj/l,x12/2,s8,x8/7,s6,x14/12,s14,x15/13,pb/p,s1,x10/2,s15,x0/8,pj/h,x1/11,pk/d,x3/8,s8,x5/1,s3,x9/14,ph/n,x5/13,s5,x6/14,s1,x3/11,s10,x0/10,po/a,x13/15,s6,x8/6,pl/f,x13/14,s15,x5/9,pb/k,x8/12,s1,x3/2,pg/o,x14/6,s3,pj/e,x3/11,s9,x0/12,s4,x2/14,po/p,x6/12,pg/j,x1/4,ph/b,x12/6,pn/i,x4/11,pp/a,x7/3,po/h,x10/8,pb/n,x0/15,s8,x11/8,po/a,x14/5,s9,x15/8,s13,x0/10,s3,x12/4,s5,x5/6,s3,pp/g,x13/11,pl/d,x15/8,pk/h,x10/13,s9,x15/2,s8,x11/7,pg/p,x12/1,ph/d,x13/3,s2,x10/14,pi/p,s4,x3/7,s3,x9/14,s6,pc/n,x4/6,s1,x13/1,s2,x0/11,pf/d,s7,x10/6,pb/i,x3/9,s3,x10/13,pe/g,x2/0,s2,x9/6,pa/n,x2/5,s2,x15/8,pm/d,x4/13,pe/o,x14/7,s7,x12/5,pa/k,s7,x0/4,pc/o,x3/2,s5,pi/m,x14/6,s8,x10/1,s1,x3/12,po/h,x8/15,pm/c,x0/3,pn/b,x12/8,s14,x0/14,s4,x9/1,pp/j,x3/14,s2,x10/7,pb/e,x5/2,s1,pj/n,x6/1,s5,x12/14,s14,x1/0,s1,x5/9,pd/f,x7/11,s5,x6/5,pp/a,x0/3,s9,x13/11,pc/n,x10/2,s1,pa/m,x14/1,s13,x7/9,s6,x14/10,pe/d,x13/7,pc/j,x9/6,s10,x4/14,s6,x6/3,s14,x11/12,s9,x8/14,s13,x4/10,s9,x3/12,pp/e,x6/0,pn/j,x13/11,s12,x5/9,s14,x11/15,pk/p,x13/1,s6,x12/10,s14,pg/m,x5/4,ph/i,s13,x7/10,pk/m,x15/11,s15,x13/14,pn/o,x6/3,pf/i,x1/14,pj/b,s10,x0/15,pc/n,x12/1,s14,x3/10,s9,x4/11,s15,x8/12,s12,x14/15,s13,x9/5,pf/o,x7/0,s12,x8/5,s10,x0/4,s1,x7/12,s5,x11/8,s15,x3/12,pn/d,x0/15,s3,x11/12,pj/o,x14/15,s1,x6/13,pd/h,x0/3,s13,x1/9,pk/i,x0/6,pc/n,x4/14,s14,x5/10,s14,x14/11,pk/d,x12/3,s6,x7/13,s7,x5/4,pf/e,x3/14,pk/d,x6/12,s10,x2/13,s13,x3/1,s11,x9/0,s9,x10/1,pp/m,x15/0,s4,x3/11,pg/j,s12,x13/9,s10,x0/11,pf/a,x3/7,s11,x4/2,s12,x1/3,s4,x2/7,pg/b,x14/5,s14,x12/6,s14,x14/7,pn/a,x2/10,s6,x0/13,s9,x9/12,ph/j,x14/5,pf/g,x7/15,pj/d,x1/11,pf/p,x6/4,s6,x1/5,pc/o,x3/15,ph/a,x4/0,s7,x5/9,s10,x4/6,pe/j,x8/15,pa/f,x9/11,s10,x0/7,s4,x10/12,pj/l,x11/9,pn/e,x12/0,s14,x13/2,s15,x1/6,s1,x11/2,s4,pp/o,x15/6,s8,pj/c,x0/7,pe/k,x1/5,pi/d,s8,x6/12,s12,x1/4,s7,x6/13,s9,x15/0,po/f,x1/12,s4,x9/8,pb/i,x13/1,pm/l,x5/6,s14,x2/10,pb/o,s8,x7/1,s3,x8/5,pi/a,x7/3,s12,pp/d,x9/0,s6,x2/13,s8,x5/15,pm/f,s12,x11/7,pe/n,x3/13,s12,x8/12,s7,x3/9,pi/o,s12,x5/1,s14,x3/9,s12,x5/6,s15,x3/9,s11,x4/1,pe/c,x8/9,s7,pi/k,x12/15,pm/l,x6/0,pp/f,x11/3,pb/g,s10,x7/12,s2,x15/10,s7,x11/7,s11,x0/6,po/c,x13/2,s6,x4/0,s10,x6/1,s11,x0/10,pp/m,x2/8,s14,x12/14,pj/c,x5/4,s7,x9/7,s7,x4/13,po/a,x3/9,pj/g,x10/7,pe/i,x2/15,s6,x8/6,s11,x11/15,pa/l,s15,x1/3,s9,x11/10,ph/o,x12/13,s9,x0/6,pc/e,x8/10,s5,x5/2,s4,x1/0,pp/g,x12/15,s2,x8/9,pi/j,x10/4,s6,x7/8,s15,x0/1,s9,x6/8,s5,x10/5,s12,x4/3,s9,x5/0,s4,x6/4,ph/g,x0/3,s6,pp/a,x14/15,s7,x6/9,s4,pl/n,x15/4,s14,x10/12,s9,pc/a,x14/4,pf/h,x0/15,s2,x8/14,pg/d,x2/15,s4,x12/11,s15,x13/6,pl/b,x7/11,s7,x10/12,pd/o,x0/3,s11,pj/i,s12,x10/8,pf/k,x1/0,pe/l,x7/14,s12,x13/1,pf/i,x14/5,pj/h,s15,x3/10,pl/p,x15/8,pi/j,x12/13,s14,x14/1,pk/f,s7,x0/15,s5,x12/4,s10,x15/5,s4,x8/12,s13,x1/6,s12,x2/10,pl/j,x4/15,pe/m,x6/11,s2,x12/5,s13,x6/1,s7,x8/14,pf/a,x15/4,s3,x1/13,s15,x2/12,pi/b,x6/3,pf/n,x5/8,pb/d,x6/1,s10,pj/o,s7,x14/4,pg/e,s7,x10/2,s10,x3/15,s6,x10/9,s13,x13/6,s3,x9/7,s4,x13/11,s12,x9/10,s10,x14/5,s12,x15/8,pd/h,x0/3,s10,x2/14,pa/j,s6,x15/9,s2,x10/6,pi/b,x7/2,pj/f,s12,x10/12,s7,x11/5,s3,x0/3,s7,x5/2,s7,x1/10,s11,x13/11,s3,pp/h,x1/3,s11,x12/7,s14,x1/8,pn/c,x9/15,s1,pg/a,x12/4,s1,pb/m,x5/7,s9,x10/2,pa/d,x5/1,pi/f,x14/10,s13,x6/11,s3,x5/12,s13,x8/15,s1,x1/6,ph/o,x13/3,pk/l,x10/0,pd/j,x2/4,pa/i,x14/9,pb/e,x13/12,pk/c,s3,x14/9,s8,x1/2,pi/l,x15/11,pa/j,x14/2,s13,x9/7,pi/g,s8,x12/4,pe/f,x5/14,pa/j,x1/2,pg/m,x7/6,s10,x9/12,s15,x3/1,pb/l,x9/6,pd/g,x12/1,pn/o,x11/6,pi/l,x1/0,s3,x13/10,pj/g,x1/0,pi/a,x4/10,pn/h,x2/9,s6,x7/12,s3,x5/9,pa/l,s1,x12/15,pk/o,x11/5,s9,pm/d,x14/15,s13,x12/11,pg/j,x2/14,s3,x5/15,s9,x2/4,s3,x8/3,pn/d,x14/15,s11,x4/5,s14,x8/15,pm/p,x2/9,po/a,x0/15,s14,x8/7,s4,x1/3,s12,x5/7,s8,x15/2,pi/c,s5,x13/4,s11,x9/7,s10,x4/2,s13,x7/3,pp/l,x0/14,po/h,x3/12,s12,x10/2,pl/d,x8/5,s5,x0/4,s3,x12/6,s8,x8/5,s14,x7/9,s2,pf/g,x4/3,ph/e,x5/15,pb/l,x2/9,pm/p,s1,x1/6,s7,x0/10,pg/h,x5/3,pm/j,x2/15,s8,pi/a,x0/8,s13,x13/15,pg/l,x5/0,s14,x2/6,pp/b,x1/12,pi/g,x10/2,ph/p,x5/3,pi/g,x0/10,s10,x11/9,s4,x4/3,s8,pn/f,x12/13,s5,ph/a,x5/14,s10,pk/l,x4/12,s3,x3/11,pc/b,s11,x0/8,s1,pg/h,x6/3,s1,x15/10,s5,x2/3,s4,x10/7,s12,x14/13,pn/i,s10,x10/2,s14,x13/1,pl/a,x15/2,po/n,x6/1,s15,pd/e,x5/0,pp/h,x4/12,s5,x14/11,s12,x6/5,s10,x9/15,s13,x2/12,s14,x4/3,pb/c,x12/1,s4,x11/9,pd/k,x0/6,s7,x4/13,s6,po/h,x0/11,pg/f,x12/2,pj/n,x10/4,pe/c,x2/7,pk/m,x15/12,s14,x10/9,pi/d,x2/5,s11,x13/0,pg/h,s2,x15/12,po/b,x14/8,ph/l,s14,x10/6,s15,x5/9,pf/c,x14/2,pm/j,x6/11,s14,x3/9,pb/g,s6,x7/15,s6,x0/12,s8,x5/11,s10,x3/9,pa/d,x15/14,s10,x5/6,s1,x1/4,s8,x14/6,s3,x12/7,s14,x1/2,pg/h,x7/0,s4,x12/5,pn/d,x3/15,s13,x2/13,pb/o,x3/10,s14,ph/d,x1/15,pk/i,x3/11,s10,pp/f,s10,x2/15,s10,x5/6,s13,x2/10,s7,x11/9,pl/j,x0/6,s7,x1/15,s8,x8/12,s13,x1/5,s10,x10/15,pk/b,x1/6,s3,x15/7,pe/l,x12/5,s1,x2/3,pi/d,s9,x10/0,s10,x9/11,s8,pj/m,x3/4,s15,x1/14,s14,x9/7,s7,x11/14,pg/h,x13/1,po/p,x0/4,s5,x13/6,s7,x0/7,s7,x15/11,s7,pk/c,x8/10,s4,x1/6,pa/l,s3,x12/0,s7,x10/7,pk/f,x0/2,pj/p,x1/6,ph/b,x5/10,s6,x11/7,pa/g,x12/2,s1,x14/7,s8,x0/4,pj/b,s4,x3/1,s9,x5/10,s7,x0/8,s4,x1/13,s3,x12/8,pn/k,x11/7,pp/h,s14,x4/13,s7,x5/7,pn/i,x14/12,s6,x13/7,s13,x4/3,s11,x12/2,ph/p,x9/6,s8,x10/11,pc/m,x6/8,s1,pe/d,x15/1,s10,x12/5,pj/n,x14/6,pb/g,x5/4,s13,pi/c,x10/2,pd/k,x13/4,pl/f,x8/14,pj/d,x12/3,s3,x1/4,s15,x6/0,s12,x2/15,po/p,s10,x9/6,s9,x5/15,pc/e,x4/2,pp/j,x10/6,pb/g,x14/13,s13,x5/7,s15,x13/8,pd/j,x2/3,s13,x10/15,s4,x6/13,s5,x7/15,pp/i,x3/4,ph/e,x11/6,po/f,x14/5,s12,x2/1,s8,x14/13,s1,x11/3,s14,x13/10,pa/n,x6/4,pm/d,x15/7,pe/l,x10/11,pp/f,x1/0,s11,x13/12,s14,x15/9,s6,x5/0,pk/c,x15/6,pb/m,s5,x14/8,s7,x2/12,pi/g,x6/10,s5,x7/8,s15,x10/2,pb/p,x7/6,s3,x0/4,s12,x14/5,s2,x7/9,s7,x8/6,s8,x13/0,pi/h,x3/12,s10,x6/10,s6,x14/1,pe/a,x2/13,pl/h,x8/1,pn/k,x3/5,s8,x1/11,s3,x4/15,pm/p,x5/12,s3,x1/15,s15,x10/13,pg/c,x14/7,pe/i,x8/15,pa/l,x2/13,s7,x4/0,s4,x12/15,pc/j,x7/13,s3,x0/5,s1,pf/d,x7/15,pi/o,x0/11,pk/g,x8/10,s12,x6/15,s5,po/a,x3/13,s1,x1/11,pf/c,x5/10,s13,x1/8,s8,x14/9,s3,x7/11,s6,x0/13,pj/d,s4,x12/7,s3,x13/11,pf/a,x1/4,pk/d,x8/12,s9,x10/0,s12,pp/l,x8/3,pa/i,x7/5,s4,x1/13,s14,x10/9,pc/b,s5,x5/0,po/h,s11,pf/c,s5,x8/1,s8,ph/b,x4/3,pi/k,x7/0,s12,x8/14,pc/j,x1/7,s1,x10/6,s9,x5/15,s10,x9/3,pp/o,x0/15,pn/c,x9/1,pb/j,s10,x13/7,s13,x11/0,s6,x9/7,s9,x0/1,s1,x13/4,s11,x1/12,s15,x13/4,s12,x6/12,s1,x13/4,pi/o,x6/11,s12,x2/10,s1,pj/c,x0/12,po/p,x2/3,pk/n,x8/12,s15,x9/0,s5,x1/4,pi/p,x11/6,pa/f,x7/8,s5,x15/10,pk/m,s7,x2/8,s3,x1/14,ph/o,x11/10,s13,pg/k,x14/13,pc/j,x4/3,pk/g,s11,x7/6,s1,x5/0,s11,x11/3,s4,ph/m,s12,x8/2,s5,x4/14,pj/l,x11/2,s11,x3/9,pp/k,x5/6,s4,x8/15,po/j,x11/14,s8,x8/9,s1,x4/7,s2,x6/0,pm/g,x5/2,s4,pe/b,x6/13,pk/h,x4/2,pf/d,x11/8,s3,x10/5,s11,x6/12,s4,x15/14,s4,x13/8,pi/a,x6/10,pf/c,x4/7,s12,x10/14,s2,x1/6,s1,x15/9,s10,x10/5,s11,x13/7,s11,x11/3,pl/d,s15,x12/1,s9,pm/e,x15/0,pk/b,x7/5,pm/n,s5,x8/6,pe/d,x12/7,pb/o,x0/11,s11,x7/8,s14,pe/n,x13/2,s2,x0/15,pl/d,x6/10,pk/a,x8/13,s11,x12/0,s1,x13/15,pj/e,x8/11,s13,x10/9,s15,x11/0,s2,x14/5,s14,pl/k,x7/12,pi/p,x5/9,s5,x6/11,ph/j,x15/8,s8,x2/11,pc/o,s5,x7/12,pa/m,s1,pk/b,x5/15,s14,x3/4,pp/l,x7/14,s11,x8/10,s15,x2/4,s10,x8/0,pj/f,x2/1,pi/d,x7/10,s10,x4/9,s14,x5/7,s3,x3/15,s10,x11/12,s2,x8/15,pl/m,s9,x0/12,s1,x3/11,pn/k,x12/4,s4,x8/14,pe/a,x0/6,s8,x11/7,pj/n,x2/10,pc/o,x8/14,pn/i,x6/10,s14,x15/11,ph/j,x14/5,s9,x0/10,s8,x7/12,pi/k,x2/14,s11,x0/15,s1,x4/11,s13,x10/2,s15,x5/14,s2,x2/12,s12,x5/10,s14,x15/7,pp/n,x13/6,s2,x0/14,pb/d,x3/1,pk/p,x5/4,pb/h,x13/0,po/e,x1/12,pf/g,x13/10,ph/p,x1/3,s3,x12/4,s4,x2/0,s11,x7/6,pj/d,x11/14,pf/o,x4/10,pd/c,x15/7,s8,x2/6,s4,x7/10,s8,x9/14,s6,x5/1,ph/e,x12/3,s11,x7/4,s7,x14/2,s11,x12/0,pn/j,x15/1,pg/b,x3/8,pd/j,x14/1,s13,x4/9,s2,pp/h,x14/5,pn/a,x2/0,s15,x10/13,s9,x3/6,pd/g,x1/15,s14,x14/13,s13,x9/2,pm/i,x8/7,s9,x0/12,s9,pk/a,x8/2,s6,x3/0,s10,x8/4,s5,x3/5,s5,x1/14,s3,x2/4,s13,x9/13,pg/f,x7/1,s2,x13/2,s5,x14/7,s8,x13/6,s6,x4/7,s10,x3/11,s6,x5/1,s12,x8/12,s13,x0/6,s10,x7/9,ph/k,x3/11,pg/j,x4/5,s4,x8/1,s14,x15/6,s8,x0/1,s13,x9/4,s8,x1/15,pd/i,s8,x3/13,pj/b,x2/10,pf/c,x9/8,s15,x3/6,pg/m,x9/0,pd/j,x7/11,ph/i,x9/1,pk/m,x13/5,s15,x14/1,pb/d,x11/9,pk/p,x3/13,pa/i,x1/8,s15,x4/3,s1,x0/13,s6,x3/1,pg/d,x7/14,s2,x15/1,s5,x10/12,ph/e,x9/2,pn/m,x10/7,s5,x14/12,po/e,x9/2,s13,x0/13,s10,x6/8,s8,x5/3,s3,x2/10,s5,x7/0,s10,x2/13,s8,x1/11,s9,x2/8,s4,x4/5,pm/d,x0/10,pn/i,x6/5,s4,pk/j,x11/0,s2,x10/5,s13,x1/11,pi/m,x12/10,s15,x7/3,s5,x14/13,s1,x11/3,po/j,x13/0,pm/l,x15/4,pe/p,x7/5,pk/l,x6/3,s12,x0/2,pm/n,x8/14,s13,x13/9,s1,x15/3,s4,x5/7,s3,x15/11,pp/f,x10/6,pe/o,x1/15,s11,x8/12,pc/m,x4/13,ph/o,x5/7,pi/l,x10/2,pp/j,x12/1,s12,x3/14,pi/k,x5/2,s10,x3/14,pp/g,x4/7,s10,x6/13,s6,x1/3,pc/k,x11/14,s3,x3/12,s13,x8/15,pb/m,x13/9,pg/d,x14/8,s1,x10/9,pl/e,s8,x3/14,pp/m,x2/10,s4,x15/11,pc/k,x5/13,s2,x7/3,s1,x0/5,po/e,x1/6,s10,x3/8,s4,x13/6,s8,x15/5,s2,ph/a,s10,x7/1,s8,x11/2,s15,x8/9,s10,x6/1,pb/e,x7/10,pc/g,x3/0,pj/e,x7/12,pp/d,s10,x8/1,s10,x10/4,s6,x0/5,pe/l,s13,pa/i,s13,x7/14,pk/p,x3/10,s7,x7/4,s10,x12/11,pl/b,s4,x9/5,s4,x6/10,pm/i,x12/9,s7,x10/14,s12,x3/1,pf/b,x9/11,s1,x3/12,pl/e,x7/9,pp/o,x4/6,s2,x11/9,pi/j,x7/3,pd/e,x13/6,s14,x1/12,s8,x11/15,pp/k,x12/9,pa/h,x2/11,pp/o,s14,x7/10,pm/h,s2,x15/1,pj/d,x13/5,s13,x0/4,s15,x9/12,s11,x2/7,s7,x12/3,s5,x0/2,s12,x3/11,s13,x9/12,pi/h,x14/10,s6,pf/p,x9/6,s1,pg/o,x5/3,s14,x11/0,pl/h,x8/14,s7,x7/10,s1,x9/12,pi/d,x10/1,s11,pg/h,x8/6,s7,x4/11,s10,x6/14,s9,x12/0,pi/k,x15/1,pa/h,x8/11,s9,pn/e,x6/2,s1,x7/15,s8,pg/o,x11/13,pb/e,s7,x1/10,s4,x3/0,s11,x6/8,s9,x5/3,pj/i,x11/15,s7,x4/14,pk/e,x15/1,s14,x11/12,pm/c,x6/13,s10,x5/8,s11,pp/n,x1/2,s15,x5/4,s12,x10/0,pe/l,s10,x5/2,pm/h,x1/6,pi/d,x5/7,pb/j,x0/8,pf/k,x1/3,pd/i,x13/15,s3,pk/e,x9/10,s4,x2/0,s7,x15/13,pg/d,x3/4,s7,x14/13,s8,x15/7,pk/j,x2/12,s6,x14/0,pl/a,x8/15,pn/c,s8,x13/0,s14,x15/4,ph/k,x8/13,s9,x1/12,s4,x6/3,s10,x0/1,pp/o,x14/12,pc/l,x15/4,s10,x12/13,pn/j,x14/11,pc/a,x8/13,pi/m,x10/1,s14,x4/2,s14,x13/6,pj/h,x12/2,pi/g,x5/7,s15,x6/14,pd/p,x13/0,s8,x3/10,pj/b,x9/4,pf/h,s11,x11/3,s9,x9/13,s7,x0/14,po/g,x7/6,s7,x8/2,pl/m,x15/13,s14,pn/c,x11/8,s7,x1/13,s8,x11/5,s9,x0/1,s3,x8/12,ph/g,x13/15,pm/i,x5/0,s10,x8/3,s1,x6/4,pc/j,x13/12,s5,x9/11,pl/e,x6/7,s1,x1/8,s9,pb/i,x10/6,s6,x1/5,pf/c,x12/11,pb/g,x0/4,s4,x12/7,pd/l,x2/6,pe/b,x10/0,pc/j,x12/5,pa/g,x14/6,pp/e,x9/11,pk/g,x14/10,s3,x11/3,s12,x10/8,s2,x12/5,s14,x13/9,s4,x1/2,s2,x13/12,pl/f,x4/8,s12,x7/0,s10,x6/8,s7,pk/n,x0/12,pa/j,x9/6,s9,x8/5,s14,x3/15,s2,x11/1,s9,x4/3,s4,x0/8,s7,x1/6,s4,x3/4,pk/i,x1/6,pf/b,x2/3,s11,ph/n,x14/9,s1,x0/5,pi/o,x14/11,pp/e,x12/0,pl/k,x15/6,pm/e,s14,x11/4,s9,x9/3,s4,x4/11,s14,x10/8,s7,x1/0,s4,x13/7,pk/b,x2/8,pe/m,x1/5,s7,x6/7,s15,x15/5,s12,x2/8,s10,x1/3,s8,x11/9,pp/c,x10/4,s12,x11/1,s10,x0/6,s7,x3/11,s13,x15/0,po/f,x4/14,s11,x3/1,pk/p,x14/4,s6,x6/11,ph/b,x10/7,pj/n,x5/3,pp/g,x1/11,s6,x2/4,s5,pk/d,x10/13,pp/o,x7/15,s8,x5/10,s15,x7/3,s10,x12/2,s9,x8/13,s6,x7/15,s13,x12/13,s8,x10/0,s8,x12/4,s14,x15/2,pc/i,s15,pj/p,x12/1,po/n,x14/9,pf/p,s11,x12/13,s6,pd/n,s3,po/e,x2/15,pl/p,x1/11,s5,x10/12,s12,pb/o,x9/1,s15,x13/3,s8,x8/15,pf/j,x0/1,pb/o,x6/15,pi/n,x10/12,s6,x13/15,pl/e,x0/14,ph/g,x1/13,s9,x3/14,s11,x1/5,pk/i,x0/4,s8,x5/1,s8,x6/0,pf/p,x11/7,s13,x0/10,s6,x11/1,s4,x15/14,s4,x4/1,s2,x11/13,s11,x4/8,s8,x9/11,pi/n,x1/7,s15,x9/4,pp/b,x3/15,s11,pn/j,x5/13,s13,x6/15,pk/a,x9/8,pb/j,x13/2,pg/c,x1/8,s15,x6/5,s10,pj/i,x3/4,po/f,x0/5,s7,x6/9,s7,x13/3,s15,x8/1,s7,x9/11,s9,x7/0,s4,x10/5,s13,x0/14,s14,x6/10,s10,x2/3,s6,pa/k,x14/13,s2,x8/15,s11,pn/m,x12/2,pl/i,x6/9,s7,x12/7,s7,x11/0,s10,x12/9,s1,x2/4,pp/a,s14,x15/11,s7,x6/5,pb/f,x10/3,pg/m,x7/12,s4,x4/13,pj/o,x9/0,s11,x8/2,s2,x10/11,pc/d,x4/0,s11,pb/k,x5/11,pg/l,s11,x8/13,s14,x5/7,ph/p,s3,x0/12,pc/m,x11/3,pg/i,x12/4,pc/o,x7/13,s7,x14/6,s6,x15/9,s13,pl/e,x14/4,s4,x5/2,s11,x3/12,s7,x6/8,s15,x14/3,s10,x8/10,pp/g,x11/6,pa/o,x4/0,ph/b,x14/10,pi/o,s12,x7/6,s15,x5/10,s4,x8/4,s6,x5/11,pd/n,x15/1,s10,x8/10,s1,x14/15,pf/i,x4/11,pn/p,x0/12,s15,pd/c,x15/2,s14,x13/6,pk/e,x10/7,pg/d,x3/0,pk/h,x9/12,pn/m,x7/14,pg/i,x11/13,s7,x15/1,s10,x2/11,s14,x15/8,s8,x4/5,s1,x7/9,s11,x13/4,s10,x1/14,s14,x13/0,s3,x11/6,pm/o,x13/10,s7,x0/3,pf/d,x14/1,pi/o,x2/10,pb/c,s3,x3/0,pg/p,x6/13,s13,x8/10,pa/j,x5/12,s9,x9/2,s7,x0/5,po/k,x12/4,s13,x13/7,s2,x12/5,pg/h,x6/13,s11,x15/2,pe/f,x10/13,s10,x15/6,pk/o,x8/10,s10,x0/11,pd/n,x9/4,pj/o,x5/1,s15,x15/14,pl/g,x6/7,s10,x8/3,po/p,s10,x5/15,pb/n,x14/4,s14,x2/9,s6,x14/8,s11,x15/3,pd/j,x14/5,pb/k,x2/13,s8,x8/12,pn/l,x10/11,pe/k,x14/15,pm/i,x4/1,pd/n,x12/0,s4,x3/2,pj/e,x11/7,s11,pi/d,x6/3,s2,x11/5,pm/o,x9/3,s8,x15/11,s8,x0/3,pf/l,x15/10,pm/b,s3,x8/3,s13,x6/4,pj/k,x9/11,pe/o,x2/14,pb/f,s13,x5/3,pe/l,s1,x14/10,pc/d,x3/2,s6,x1/14,s9,x7/12,s11,x8/10,pn/j,x14/11,s6,x15/2,s4,pd/c,x11/4,s3,x13/10,pf/b,x14/9,pk/a,x15/5,s11,x3/7,pe/g,x11/10,pd/n,x4/0,pp/e,x13/3,s13,x5/7,pa/b,s12,x15/11,pj/d,x3/13,pp/o,s10,x1/0,pf/a,s12,x8/12,s10,x4/6,s1,x10/3,pe/i,x13/9,s7,x12/8,s4,x7/4,pd/p,x6/13,s9,x11/10,s10,x5/4,s8,x2/1,pb/e,x4/12,s11,x7/1,pa/n,x15/14,s3,pl/p,x1/12,pa/i,x3/7,s3,x1/11,pk/j,x14/12,s10,x15/10,s1,x13/2,s7,x8/1,s13,x9/3,pa/o,x6/7,s15,x4/0,s8,x13/11,s3,x15/10,s8,x8/5,s14,x13/4,s1,x3/10,ph/e,x1/8,pf/n,s10,pi/j,x6/0,s8,x10/14,s8,x15/5,pp/n,x13/4,pl/e,x7/14,s5,x0/15,s5,x9/8,s15,x5/6,s5,x3/15,s6,x7/14,pb/j,x10/5,s5,x13/1,pp/o,x0/2,s11,x15/4,s2,pl/f,x9/3,s6,x13/4,s8,x15/8,s11,x7/12,s9,x9/3,ph/i,s11,x1/10,s6,x7/0,s4,x1/9,pd/c,x5/0,s7,x9/6,pb/j,x13/3,s9,x9/6,pf/d,x7/0,pk/j,x2/1,s5,x6/5,s5,pi/o,x14/1,ph/d,x5/15,s8,x1/6,pj/e,x13/8,pf/o,x5/7,s6,x13/15,s15,x4/2,s6,x3/12,s3,x8/10,s12,x2/9,s3,x6/1,s1,x0/3,pl/g,s7,x12/5,s14,x3/13,s7,x10/1,pa/e,x11/4,pl/c,x10/13,s2,x15/0,pe/j,x1/12,s1,x11/7,pl/k,s13,x8/4,pc/m,x14/6,s8,x12/11,pj/p,x0/7,s5,x1/12,s7,x10/7,s9,x6/4,s7,x2/11,pi/e,x7/4,pa/b,x15/2,s8,x6/12,pj/f,x4/8,pm/p,x14/13,po/b,x10/9,pg/k,x2/1,s8,x15/9,s5,x0/6,pi/m,x15/4,s5,x13/12,s10,x4/11,ph/d,s14,x14/5,pl/b,x0/12,s1,x4/8,ph/f,x14/10,s3,pg/i,x12/15,pc/p,x7/4,s12,x6/5,s2,x3/0,s2,pe/f,x9/7,s6,pb/g,x10/12,po/p,x1/15,s13,x12/0,s7,x5/9,pd/k,x0/3,s14,x11/9,s8,x6/3,s9,x2/11,s1,x12/5,pl/b,s13,x14/10,ph/n,x4/15,s5,pc/b,x9/0,pe/i,x13/1,pk/b,x8/14,s3,x12/3,s13,x7/4,pd/c,x10/15,pf/a,s11,x13/8,s8,x4/5,pn/e,x3/12,pj/p,x7/4,po/a,x2/10,s8,x7/3,pk/h,x2/14,pa/i,x0/15,ph/g,x11/12,s11,x0/9,s11,x13/15,s7,x10/3,s11,x12/1,pd/k,x0/10,s10,x6/11,s3,x1/2,s5,x12/8,s6,x3/2,s7,x9/5,s12,x14/4,pb/c,x15/0,po/n,s2,x5/10,s12,x7/13,s15,x10/4,s1,x3/1,pc/h,x11/0,s5,pm/f,s3,x9/7,s10,x0/11,s11,x13/10,pc/a,x3/0,s2,x13/1,s8,x9/4,s1,x6/14,s9,x9/0,pg/k,x6/1,s5,x2/15,pc/i,x9/13,ph/e,x6/12,s14,pi/p,x15/10,s13,x0/6,pg/n,x3/8,s7,x7/9,s14,x0/10,s9,x12/6,pe/j,x9/13,s5,x5/6,pa/h,x9/14,s11,x7/4,s8,x6/2,pm/b,s9,x14/10,s14,x2/8,s11,x10/7,s15,pk/o,x4/2,pp/f,s12,x6/8,s14,x5/11,pg/h,x0/13,s6,x2/6,pn/i,x14/10,pa/o,x8/4,s6,x3/6,s4,x4/9,pp/d,x13/15,ph/o,x10/14,s9,x12/13,s9,x10/0,s4,pi/n,x8/13,s15,x15/2,s12,x3/1,pp/j,x13/0,pd/a,x2/8,pn/e,x0/13,pi/b,x14/2,s8,x15/8,s8,x2/10,s13,x6/9,pf/j,x3/5,s6,x15/2,pi/c,x4/9,s1,x6/1,s3,x12/8,s9,x13/9,pb/o,x4/5,pj/k,x7/13,pm/f,x10/5,s11,x3/15,s4,x1/0,pj/p,x7/3,s4,x2/0,s12,x6/3,s7,pe/o,x9/13,s6,x15/1,s11,x14/6,s2,x10/11,s6,x0/2,pm/d,x9/3,pk/c,x14/10,s11,x3/15,s11,x9/5,s1,x7/0,s15,x12/11,s6,x1/10,pf/i,x14/4,s13,x3/2,s10,x15/6,pd/p,x4/8,s9,x15/7,pe/i,x3/8,s14,x14/1,s8,x2/11,pd/c,x8/9,s1,x15/5,s15,x9/1,s5,x10/11,pa/b,x7/6,s14,x11/4,s8,x5/8,pp/o,x13/9,pj/h,s5,x15/4,s6,x13/11,s2,x10/1,s1,x6/9,s9,x11/4,s2,x2/12,pf/d,s8,x5/1,pk/g,x2/13,s12,x3/1,s12,x6/9,ph/m,x2/10,pi/p,x4/5,ph/n,s8,x8/14,pl/i,x1/10,pp/a,x5/2,pb/g,x0/11,s5,x14/1,s15,x4/2,s15,x6/13,s5,x12/9,po/h,x10/1,s15,x15/6,s5,x2/0,s9,x6/5,s3,x7/10,pf/l,x9/6,s12,po/h,x3/15,pk/g,x10/1,s7,x0/6,s1,x5/15,pf/e,x6/8,s5,x4/11,s2,x8/2,s11,x7/0,s11,x6/8,s13,x11/15,pp/h,x13/0,pd/l,x9/6,s13,x11/2,pa/m,x13/12,pc/j,x1/6,pm/i,x8/11,s3,x3/6,pe/d,x4/7,s10,x6/15,pg/f,s2,x9/0,s13,x15/8,s12,x12/6,pl/b,x11/8,pc/f,x0/7,pb/j,x15/5,s12,x6/14,pp/i,s1,x2/10,s4,x11/7,s9,x6/12,pd/o,x8/0,s11,x7/2,pk/g,x1/12,s1,pm/i,x3/11,s1,x5/15,pn/b,s6,x3/12,s2,x11/0,s14,x5/4,s2,x8/9,s12,x12/0,s11,x1/9,s14,x15/2,po/e,s12,pp/k,x3/11,pf/n,x2/0,s15,po/c,x15/14,s9,x6/2,pe/a,x10/12,pn/l,x9/14,s13,x0/7,pd/m,x12/6,s12,x3/0,s11,x11/12,pf/g,x14/2,s2,pl/e,x4/6,s2,x11/0,pg/i,x1/7,pj/b,x10/13,s6,x8/9,pl/e,x10/6,pp/k,x7/0,s1,pe/b,x13/12,pp/c,x5/2,s4,x1/10,s13,pi/o,s10,x13/7,pb/h,x5/4,s12,x12/0,pa/f,s7,x7/13,s14,x2/9,pm/n,s6,x12/6,ph/g,x14/11,s12,x4/8,pn/f,x5/9,s13,x4/8,s13,pc/h,s10,x15/13,s5,x12/11,s2,x15/0,pd/g,x3/7,pl/e,x10/14,s7,x9/7,s15,x12/11,s7,x0/9,s2,x10/7,pj/b,s10,x11/15,s4,x7/6,s13,pa/k,x9/5,pe/n,x8/4,pg/h,x5/2,s13,x8/12,s6,x11/2,pe/i,x5/9,s7,x4/13,s4,x8/0,s9,x2/13,s2,x4/8,pb/g,x1/5,po/p,x6/10,pi/d,x13/14,pg/c,x3/9,pl/a,x13/15,s1,x9/2,s15,x8/7,s12,x4/1,pn/j,x11/8,s11,x1/13,pg/i,x7/4,s4,x9/0,ph/m,x6/1,s8,x7/14,pi/f,x4/3,s1,x12/8,s10,x4/13,s11,x9/15,s1,pn/a,x2/13,pl/p,s10,x4/12,pm/o,s7,x13/8,s9,x2/6,s6,x15/11,pa/c,x1/7,pb/f,x3/13,s8,x5/0,s1,x15/4,pe/c,x3/1,s9,x14/12,pm/f,x0/10,s1,x3/12,s4,x4/10,s5,x3/7,s7,x8/14,pc/n,s2,x11/7,pf/g,x3/15,s8,x4/8,s8,x5/13,s9,x12/14,s11,x13/1,s7,x2/6,pl/c,x8/10,po/d,x4/9,s2,x11/8,s6,x9/15,s1,pf/n,x11/0,pd/e,x8/3,s7,x0/10,pn/f,x4/5,pc/k,x8/10,s8,pe/g,x5/13,pi/d,s9,x0/12,s7,x2/8,s7,x5/4,s3,x12/7,pp/n,x10/3,s13,pe/h,s1,pk/d,x13/11,s5,x4/2,s15,x15/13,s5,x14/6,s14,x15/2,s14,x10/6,s7,x2/3,s9,x14/15,s12,x12/0,pn/m,x5/14,pp/e,x11/2,s2,x4/0,s8,x10/12,s2,x0/7,s9,x13/4,pb/l,x15/10,s6,x0/8,s2,x12/1,s7,x11/7,s7,x13/15,pf/a,s8,x8/1,s6,x7/2,s7,x13/6,pe/m,x4/11,pf/c,x12/15,s11,x5/4,s6,x0/10,s5,pl/b,s5,x11/6,s7,x8/13,pm/h,x5/2,s6,x8/12,pk/f,x5/10,po/j,x3/14,s6,x9/1,s4,x5/14,s10,pe/a,s5,x8/15,s2,x9/10,s13,pj/m,x6/1,s11,x4/8,s1,x15/13,s13,x8/6,pg/i,x12/3,s10,pa/j,x13/10,pl/b,x6/1,pf/k,x10/11,pn/o,x8/4,ph/a,x3/7,s6,x10/13,s12,pd/k,x6/8,s1,x5/4,pa/o,x12/0,s11,x3/9,s3,x2/5,s15,x7/13,s8,x15/6,pf/g,x12/7,pn/h,x3/6,s7,x11/1,s1,x7/5,pg/c,x11/10,s12,x2/13,s14,x3/4,s11,x15/8,s13,x10/7,s4,x8/9,s2,x6/7,s9,x15/0,s10,x11/3,s5,x12/6,s14,x2/4,pp/j,x7/6,pm/d,x5/9,pn/e,x15/2,pi/j,x11/6,s7,x2/0,s11,x6/1,pl/k,x8/3,s13,x4/13,pa/h,x5/7,s14,x6/2,pm/d,x12/4,pi/b,x10/3,s7,x15/6,po/e,x12/7,pg/a,x0/6,pl/c,x4/3,pp/g,x12/11,s4,x5/9,pk/n,x13/6,pj/l,s9,x12/10,pa/n,s9,x8/4,s8,x12/2,pk/i,x14/7,s11,x5/15,po/e,x6/4,s4,x2/10,s1,x13/11,pn/g,x2/9,s10,x5/7,pp/b,x9/3,pg/h,x2/8,pa/f,s2,x7/15,s13,x4/13,s2,x11/5,s8,x0/14,s11,x8/13,pb/j,x4/7,pf/k,x12/10,s12,x7/9,pl/i,x6/5,s5,x2/1,s1,x8/15,s13,x10/2,s9,x11/14,s8,x10/8,s8,x2/12,pb/e,x8/10,ph/n,x7/1,s11,x9/12,s11,x10/0,s15,pk/p,x2/1,s2,x3/15,s15,pd/b,s3,ph/f,x10/1,pc/i,x14/2,s12,x5/4,pl/g,x6/0,pc/h,x8/10,s1,x0/6,s7,x1/10,s2,x14/3,pm/d,x7/2,pc/f,x14/12,s8,x5/13,s12,x1/11,pl/m,x13/0,pa/d,x2/14,pc/j,x9/12,s8,x11/0,po/e,x12/8,s9,x7/11,s10,x8/15,pd/f,s15,x0/11,ph/k,x3/8,s5,x13/7,s2,x1/14,s14,x3/0,s12,x13/11,pi/g,x2/14,s9,x9/11,s13,x10/14,pd/j,s10,x8/5,s8,pi/p,x6/7,pd/a,x11/0,s6,pb/p,x2/13,pa/i,x5/0,s1,x12/8,s6,x11/6,s14,x1/15,pl/f,x7/10,pb/c,x13/1,s7,x2/11,s5,ph/d,x6/15,s6,x4/13,s2,x10/14,pn/b,x9/12,pp/k,x14/6,s10,x8/7,s12,x6/15,pi/a,x13/7,s15,x6/14,pp/j,s13,x3/8,s4,x13/7,pc/i,x9/11,s9,x7/1,pl/f,x11/6,s12,x3/10,pp/h,x15/12,s6,pa/n,x7/11,pc/k,x15/8,s15,x1/9,pe/h,x4/11,s11,pi/b,s5,x1/9,pa/l,x3/11,pj/b,x9/4,po/c,x6/2,s5,x15/4,pe/h,x5/11,pi/l,x12/2,s4,x10/14,s14,x8/0,s1,x10/11,pd/m,x0/8,pp/l,x1/5,s9,x0/11,s11,x9/15,s3,x11/5,s13,x1/3,s3,x13/15,s11,x9/8,pa/g,x11/2,s9,x12/3,pi/c,x1/2,pp/l,x6/9,s12,x2/0,pa/j,x15/14,pn/c,s14,x7/5,s2,x12/0,po/k,x3/13,s3,x2/11,s1,x3/14,s15,x11/9,s1,x8/5,s7,x13/0,s9,x1/3,s15,x0/10,pa/h,s5,x11/5,s10,x14/8,pl/f,x13/0,s1,x8/4,s6,x10/7,s13,x12/9,pm/i,s11,pc/a,x7/3,s2,x14/11,po/h,x1/13,s9,pj/i,x8/10,pf/o,x3/4,s2,x11/15,s13,x2/7,s9,x4/13,pi/n,x1/14,s4,x10/12,s7,x14/8,pe/f,x2/12,pj/l,x10/1,pg/e,s14,x2/13,pa/b,x15/3,s1,x7/6,s6,x14/2,ph/o,x7/10,pn/d,x4/0,s3,x7/3,s13,pg/b,x12/13,s6,x14/3,s12,x9/8,s11,x4/10,s13,x2/3,pc/j,s13,x10/15,s4,x9/2,pg/m,x10/4,po/l,x3/12,s7,x14/9,pm/a,x10/4,po/n,x0/7,pa/c,x15/8,s6,x3/2,pe/m,s5,x14/8,s15,x10/13,pk/d,s14,x14/4,ph/o,x0/11,s9,x8/6,s6,pc/k,x15/9,s12,x4/3,s2,x0/8,s4,x7/15,pa/i,x4/0,s8,x12/2,pb/e,x14/10,pk/m,x9/15,pe/o,x3/10,s9,x4/8,pm/d,x2/7,s1,x9/14,s10,x4/2,s13,x7/0,pa/l,x13/11,pf/g,x6/2,s6,x3/15,pl/b,x5/14,s11,x1/8,pp/g,x13/0,po/c,s3,x6/8,pb/i,s10,x1/0,s3,x10/6,pa/h,x1/7,pp/j,x15/5,pa/o,s14,x9/10,ph/f,x3/7,pb/m,x2/6,s5,x1/4,pa/g,x2/3,pk/m,x4/15,s2,x3/7,pj/c,x5/15,s12,x14/8,s6,x6/3,pk/b,x2/12,s14,x14/6,pd/o,x4/0,s9,x14/13,pl/f,x4/5,s3,x3/0,s11,x2/8,pe/k,x14/9,s13,x12/13,s7,x3/1,pb/h,x6/12,s9,x3/13,s3,x6/15,s10,x9/12,pd/i,x5/6,s8,x0/7,pb/j,x3/1,pg/m,x14/10,s15,x5/13,pf/d,x10/7,s3,x13/1,s7,x12/8,s9,x2/0,pi/b,x13/9,s2,x3/5,s6,x7/0,s7,x14/13,pm/n,x10/0,pd/k,x1/3,pa/i,x12/9,pd/g,x4/5,s10,x6/7,s8,x9/8,s9,x0/2,s5,x3/10,s12,x6/7,pn/j,x11/2,s2,pk/m,x1/15,s12,pd/o,x10/4,s10,x3/13,pl/k,x10/12,s10,x11/14,pe/j,x0/3,s6,x6/2,s8,x14/1,s15,x11/13,pi/d,x7/2,pl/f,x15/8,pc/m,s15,x2/7,s4,x15/6,pf/d,x9/1,pk/c,x0/5,s10,x4/12,s14,pl/n,x11/15,pc/h,s5,x14/3,s11,x1/4,pf/k,x9/3,s1,x12/6,pn/j,s5,x14/15,s11,x5/12,s2,x2/1,s8,x6/8,pe/l,x7/15,pd/j,x13/11,pl/o,x6/1,s13,x3/15,pd/g,s8,x4/13,po/e,x9/7,s1,x1/4,s6,x3/6,s14,x13/10,s7,x9/3,pb/c,x5/12,s3,x4/13,pd/f,x0/2,s13,x11/5,s3,x6/15,s3,x3/7,pn/a,x8/2,s1,x13/5,s1,x10/0,pb/j,s10,x14/15,pf/p,s2,x6/2,s13,x15/14,pj/g,x9/10,s2,pi/e,x1/14,s15,x2/5,po/a,x8/7,s8,x2/11,pf/h,x4/1,pi/c,x6/11,s9,x0/8,po/h,s15,x7/14,s15,x4/6,s8,x7/11,s4,x14/8,pp/a,x0/6,s3,x9/1,pm/n,x0/12,s7,x8/11,s10,x2/14,s4,x6/4,pj/g,x8/15,pn/f,x10/2,s2,x3/1,ph/k,x10/5,pe/g,x0/12,s12,x2/1,pf/p,x9/8,s7,pl/b,x3/6,pm/a,x10/2,pb/f,x3/8,pl/o,x1/2,pe/b,x6/11,s1,x5/1,s4,x12/15,s13,x4/2,pa/f,x8/12,s9,x5/10,s14,x9/4,s15,x2/5,s11,x15/13,s13,x10/6,s3,x13/9,pm/j,x4/6,pi/p,x10/14,s3,x8/7,pd/h,s14,x15/14,s5,x7/10,pi/g,x9/11,pl/c,x1/5,pa/k,x7/15,s9,x3/6,po/b,s10,x13/0,s2,x9/3,pa/n,x10/1,s6,x6/11,pc/g,s8,x9/13,s10,x4/15,s4,x6/2,s9,x7/4,pm/p,x3/6,s3,pe/f,x10/4,pa/h,x1/13,s2,pd/k,x14/11,pb/g,s3,x4/9,pd/i,x8/10,s8,x9/13,s7,x6/12,s1,x9/1,pj/b,x7/14,s5,x8/10,s13,x11/3,po/i,x10/12,s1,x7/11,s6,x0/1,s1,x8/2,s10,x1/14,s11,x13/0,s3,x7/12,pf/m,x11/8,pl/g,x4/13,s7,x1/2,s1,pj/o,s11,x7/8,s15,x6/4,s12,x12/0,ph/c,x15/5,s15,x4/1,pp/g,x14/0,s8,pi/o,s11,x1/13,s7,x11/6,s9,x7/0,pk/n,x10/11,pl/f,x9/1,s9,x15/13,s7,x7/11,s10,x0/2,s3,x11/8,s2,x3/13,s7,x5/0,s7,x3/11,pb/i,x6/4,pf/l,s5,x13/1,s5,x7/5,s7,x4/14,s11,x0/11,s10,x6/4,s1,x7/0,pi/n,x12/4,s3,x8/6,s15,x10/15,pa/e,x3/2,s1,x10/14,s10,x1/6,s9,x14/3,s9,x8/4,s4,x5/14,s4,x9/12,s9,x4/14,s12,x9/0,pk/g,s2,x8/1,s5,x15/9,s11,x11/5,s4,x15/10,s3,x13/14,s12,pl/e,x15/12,pk/j,x8/14,s5,x11/2,s3,x6/9,s2,x0/8,s1,pm/e,x14/1,s9,x8/5,pc/a,x12/14,pk/f,x15/5,s13,x6/7,s8,x1/13,pc/i,s7,x2/5,pp/l,x7/3,s11,x2/6,s11,x11/4,pb/o,x9/15,s8,x2/1,pc/a,s10,x5/8,s2,x7/15,pf/j,x0/2,pi/d,x11/4,pa/k,x7/0,s9,x11/5,s13,x7/2,pm/l,x11/4,s12,x3/7,s7,pd/j,x9/5,pg/a,s15,x0/14,s13,x13/11,pj/f,x3/6,pp/d,x0/13,pb/g,x8/2,s15,x15/11,pi/k,x7/12,s1,x6/5,pd/b,x8/13,s15,x4/5,s2,x13/6,pf/p,s6,x7/1,s14,x6/14,s7,x2/1,s2,x8/4,s10,x6/13,s7,x1/4,s5,x11/6,pa/c,x9/13,pd/k,x5/3,s8,x7/9,pf/e,x1/13,pm/j,x12/8,s3,x10/9,s14,x7/5,pf/p,s12,x10/11,pl/j,x14/0,pp/d,x13/6,s1,x9/4,ph/b,x15/8,s12,x12/13,s3,x9/3,s10,x5/11,s10,x14/13,pn/a,x15/10,s14,x6/11,s12,pe/h,x13/8,s9,x11/5,s6,x0/7,pm/d,x4/6,s13,x3/11,s7,x0/4,s13,x10/6,s2,x13/4,s1,x11/6,s15,x3/5,s5,x11/2,s10,pp/a,x10/12,s11,x7/0,po/d,x4/11,s13,x14/7,s6,pi/m,x8/11,s15,ph/f,x13/10,s10,x15/5,pm/j,x4/6,s3,x9/8,s4,x2/3,pg/c,x1/11,po/i,x15/8,pe/b,x9/10,s2,x4/6,pd/j,x15/13,s3,x10/8,po/e,x4/9,s9,x13/12,s14,x10/1,s1,x5/8,pk/l,x13/2,s9,x8/5,s7,x0/10,pf/m,x1/4,s4,x3/5,s5,x1/7,s7,x3/5,s6,x8/6,s13,x12/1,pj/b,x13/8,po/k,x12/5,pp/g,x2/1,pk/i,x7/6,s5,x14/2,s14,x11/3,pe/j,x9/13,s3,x15/1,s15,pf/o,x3/4,s10,x7/0,s11,x1/8,s9,x0/9,s11,x10/7,s6,x8/3,s1,x2/10,s2,x1/3,s1,x5/12,s13,x1/4,s11,x7/10,s13,x12/3,s3,x8/6,s9,pb/i,x1/11,s10,x5/9,ph/m,x10/8,pi/n,x5/12,s2,x0/14,s2,x1/6,s15,x11/10,s14,x6/7,pj/b,s9,x4/5,s15,x13/9,s7,x2/4,s9,pg/h,x6/8,s10,x9/3,s13,x13/7,s15,x10/2,s4,x14/5,s5,x2/11,pa/m,x13/10,pg/n,x4/3,pc/j,x2/10,pe/n,x8/0,s3,x6/5,pa/k,x15/12,pn/f,x3/10,s1,x8/15,s10,x14/10,pi/o,x2/7,s3,x10/8,s15,x1/5,pb/h,x13/0,s5,x15/10,s11,x13/8,s3,x6/3,pi/d,s1,x15/9,s9,x4/1,pj/g,x7/9,s8,x15/3,pf/d,x6/8,s3,x15/14,s12,x4/5,s6,x11/12,s7,x2/8,pc/n,x12/15,pj/b,x4/7,pg/h,x15/12,pn/b,x10/14,pe/l,x11/5,s7,pa/n,x3/12,s15,x11/14,s3,x6/1,s8,x7/8,s7,x0/6,s6,x12/13,s9,ph/g,x8/14,s9,x4/5,pe/l,x11/7,pk/a,s14,x1/9,pc/f,x0/7,po/m,x1/8,pe/n,x5/14,s11,ph/b,x10/4,pa/p,s14,x12/5,pm/e,x14/8,s5,x15/11,s6,x8/12,s1,pc/l,x0/1,s3,x6/15,ph/d,s10,pa/f,x10/9,pg/h,x7/0,pj/o,x13/14,s2,x7/10,pg/k,x1/3,s10,x9/15,pm/d,x6/13,s11,x7/2,s14,x5/11,s12,x9/3,pg/i,x15/2,s14,x4/13,s6,x5/9,po/j,x6/2,pl/p,x12/9,pe/n,x4/2,s5,x13/10,s14,x1/7,pk/l,x6/12,s4,x1/2,s5,x3/11,po/e,x13/0,s8,x7/3,s3,x13/12,s7,x5/8,s11,x10/0,pa/m,x2/3,s11,x5/1,pb/o,x6/10,pa/i,x0/11,s14,x6/4,s10,x0/2,s15,pj/l,x10/13,s5,pg/e,x4/15,s2,x2/6,s3,x13/0,s3,x3/2,s12,x8/4,s2,x5/12,pj/a,x3/13,pl/m,x6/1,s10,x9/15,s8,x1/5,pk/c,x7/6,pi/m,x11/3,s1,x13/10,pn/l,s12,x4/0,s12,x6/10,pg/d,x9/5,pp/l,x14/1,s2,x15/3,ph/o,x4/11,pb/j,x12/0,pg/e,x11/6,pf/l,s11,x3/0,s9,x13/12,s13,x3/7,pd/h,x14/6,pk/e,x2/7,pj/l,x13/3,pd/e,x0/7,pm/a,s8,x1/15,pf/d,x0/7,s12,x11/3,pc/n,x13/10,s13,x9/5,pi/m,s3,pd/g,x8/11,s1,x15/9,s12,pe/l,x11/13,s12,x3/12,s6,x7/1,s14,x10/6,s2,x4/0,pm/o,s5,ph/j,s12,x15/9,s11,pg/b,x10/2,s10,x8/9,s3,x12/0,po/j,x3/14,s5,x2/6,pd/m,x3/11,pi/h,x1/13,s12,x11/4,s4,x9/13,s4,x8/12,s13,x4/2,s8,x5/8,pg/a,x13/1,s1,x14/10,pp/d,s4,x5/6,pa/h,x10/15,pi/n,x1/8,s6,x0/14,s10,pe/l,x7/13,s8,x9/15,pc/o,x11/6,pa/b,x4/0,pd/c,s3,x5/9,s1,x12/8,s8,pj/e,x4/13,pm/k,x14/1,s12,pl/i,x2/13,s12,pm/j,x4/7,s9,x2/1,s5,x12/15,s3,x14/2,pg/o,x8/9,pf/l,x2/10,s13,x15/8,s3,x9/10,pg/k,s14,x1/7,s1,x14/9,pl/h,x7/5,s10,x8/4,s4,x10/15,s1,x12/11,pd/n,x0/6,pl/e,x5/10,s2,x6/15,pn/a,x7/3,s7,pg/e,s8,x5/4,s7,x11/8,s2,x2/12,pm/p,x13/3,pg/o,x0/2,s13,x5/8,s15,x6/14,s6,x13/1,s14,x8/9,s9,x4/15,pc/k,s5,x11/8,pf/h,x14/12,s1,x11/8,s2,x0/12,s1,x11/1,s8,x12/4,s9,x10/2,s15,x11/6,po/k,x3/14,s1,x13/15,s9,x8/11,s13,x7/6,pi/g,x10/9,pe/a,x8/13,s14,pc/d,x2/15,pi/k,x0/11,s12,x14/8,ph/o,x6/13,s10,x10/15,pp/j,x3/7,s2,x6/9,s4,po/k,x13/1,pf/m,x4/9,s9,x0/2,pn/o,x13/9,ph/i,x2/15,s4,x12/3,s8,pc/m,x4/9,pg/d,x2/13,s9,x12/4,pc/n,x2/8,pl/a,s13,x3/13,s14,x15/8,pg/f,x14/2,ph/l,s5,x11/13,pk/f,x7/1,s2,x5/13,s1,po/e,x8/11,s1,x3/12,pf/m,x9/0,pp/o,x14/5,s15,x11/7,s15,x9/5,s2,x2/0,s4,x5/14,s9,x12/4,s5,pe/i,x10/14,s2,pb/a,s13,x1/11,s12,pc/g,x14/0,s3,x5/7,pp/a,x10/13,s5,x3/6,s12,ph/o,s1,x7/8,s10,x3/5,s15,x15/2,pd/i,x7/14,po/c,x8/15,s13,x10/0,s13,pl/d,x3/7,s10,x6/1,s5,x14/8,s14,x12/4,ph/k,x2/11,s5,x1/15,s14,x4/0,pd/m,x9/2,s15,x7/15,s1,x13/6,s4,x7/10,s1,x9/1,ph/j,s1,x7/10,s14,x15/2,s12,x13/10,s8,x12/3,s7,x6/5,s13,x12/7,s12,x3/4,pc/a,x14/5,pn/h,x12/2,pk/j,x13/5,ph/c,x14/2,s2,x8/13,pj/g,x5/11,s14,pn/h,s6,x0/8,s6,x4/1,pe/g,x2/11,pm/k,x14/7,s15,x0/15,pe/j,x1/10,pd/h,s7,x11/2,s6,x0/12,pc/p,x2/10,s8,x15/12,pa/l,x10/14,s2,x4/11,s9,x3/15,s5,x10/1,pi/b,x12/2,s14,x3/13,s11,x10/6,po/h,x14/15,s4,x2/8,s8,x9/3,pm/j,x4/0,s12,x3/6,pd/o,x5/7,s10,x12/6,s15,x13/10,s5,pc/f,x12/6,pa/k,x1/2,s6,x15/5,s13,x0/12,s2,x15/11,s2,x8/9,s7,x2/0,s5,x11/6,s5,x1/8,pe/n,x11/4,pp/k,x2/10,s9,x15/14,s6,x4/5,s9,x9/1,pm/b,s8,x15/13,s2,x5/0,s6,x13/2,s15,x8/9,pg/p,x13/12,s15,pb/o,s1,x5/15,pk/a,x3/12,s13,x6/8,s1,x3/9,s11,x13/2,s2,x9/5,s1,x13/10,pm/p,x5/14,s13,pb/k,x15/7,pi/g,x6/4,s11,x10/9,s10,x1/7,pa/k,x3/8,s14,x13/15,s11,x6/8,s12,x3/7,pp/g,x10/0,pb/o,s8,x1/11,ph/a,x14/13,s5,x6/8,s10,x14/0,pg/c,s14,x6/9,s2,pe/j,x0/3,pm/i,x9/10,s14,x15/2,pf/g,x13/0,s8,x7/4,s14,x1/15,po/k,x7/8,pc/a,s10,x2/9,s6,x13/8,s11,x7/15,s13,x6/4,s11,x3/2,pb/l,x7/1,s9,x4/6,s15,x9/14,s6,x15/5,s11,x2/6,s3,x7/3,s7,x15/2,s6,x14/13,s11,x1/9,s7,pd/g,x4/2,s13,x7/6,s4,x9/5,s4,x13/3,po/l,x4/5,s15,x8/10,s9,pm/n,x9/14,pk/e,x1/5,s8,po/g,x8/13,s11,x10/15,s5,x6/8,s7,pe/f,s4,x14/1,pj/m,x10/8,s5,x0/5,s7,x7/11,s10,x12/9,s5,x1/0,pi/g,x15/7,s9,x14/10,s12,x15/6,s9,pl/b,x2/9,s15,x3/15,s14,pe/n,x0/10,pa/c,x3/8,s9,x7/10,pp/f,x11/14,s8,pa/e,x0/2,pk/b,x10/7,s13,x1/5,ph/m,x10/0,s11,x3/9,pj/e,x10/15,s7,x12/13,s12,x10/3,s8,x7/0,s8,x2/4,s7,x3/12,po/b,x13/10,pk/e,x15/5,pb/n,x0/8,s6,x9/4,ph/l,x7/11,pp/k,x12/3,pb/l,x6/15,pg/i,s2,x10/4,s3,x9/12,s4,x1/7,s4,pj/o,x8/5,pb/g,s4,x1/11,s2,x6/3,pl/d,x14/0,po/b,x5/12,s7,x13/7,s14,pp/i,x1/9,s3,x15/12,s3,x0/1,s3,x2/4,po/l,x10/14,s13,x8/3,pg/j,x6/14,po/i,x3/11,s7,x4/8,s8,pa/f,x12/3,pb/h,s11,x5/6,s14,x11/0,s8,pg/p,x13/5,s15,pj/n,x10/1,s10,x9/12,s7,x5/1,s4,x11/2,pm/i,x0/1,s3,x3/4,pc/n,x2/15,s7,x3/7,s1,x1/4,pd/b,x10/5,s15,x13/11,s10,x14/10,s13,x1/4,s4,x5/14,pe/m,x1/4,pb/h,x10/2,s14,x13/11,pp/k,x12/0,s14,x3/7,s14,x13/5,s7,x10/11,pd/g,x9/4,s4,x2/10,s10,x7/8,s4,x1/15,pe/l,s3,x0/12,s12,x2/7,s15,x1/14,s2,x12/3,po/p,x11/8,ph/l,x12/9,s2,x5/3,s8,x7/4,s11,pk/e,x1/15,s13,x13/8,pc/p,x3/4,s5,x7/6,s3,x14/10,s5,x1/11,s14,x0/15,pa/l,x9/14,pj/k,x12/11,s3,x7/3,s11,x0/13,pp/a,x3/8,pg/h,x12/1,pi/j,x6/2,pg/p,x7/4,s13,pm/j,s5,x11/12,s7,x9/10,s15,x15/6,pc/l,x2/11,s11,x0/13,s3,x11/5,pa/d,x14/2,s13,x8/0,pn/h,s1,x14/5,pp/e,x0/3,pj/k,x13/2,s1,x15/12,pm/i,x10/6,s7,x4/9,s5,x12/0,pe/n,x6/9,s6,x13/0,pj/o,x6/9,s13,x10/15,s14,x5/6,s8,x15/3,pe/b,x5/8,ph/i,x1/7,s2,x3/11,po/g,x0/13,pj/f,s4,x10/4,s1,x15/7,pa/n,x6/13,pm/j,x9/5,s8,x14/11,pp/h,x9/10,pn/l,x8/1,pa/j,x13/4,s10,x15/6,s15,pi/f,x11/12,s14,x1/10,s15,x12/7,pl/j,x8/10,s1,x9/14,s7,x2/12,pd/o,x11/15,pl/c,x4/3,pi/e,x6/13,s9,x9/10,s11,x1/13,pa/f,x5/6,s9,x11/10,pb/g,x15/13,pe/h,x0/2,pl/j,x9/7,s6,x3/10,pm/e,x9/11,pk/f,s11,pm/p,x4/6,s3,x0/7,pj/a,x4/15,s6,x3/5,s7,x9/0,s14,x12/2,s1,x9/3,s12,x7/2,s14,x14/3,s12,x9/15,pl/g,x13/4,s10,x14/3,s7,x13/12,pm/f,x0/8,pa/i,x9/3,s9,x15/8,ph/b,x6/4,s11,x8/13,s7,x10/2,s10,x3/0,pi/o,x14/5,s10,pa/g,x12/4,pf/m,x0/7,s2,x12/15,s13,x1/14,s13,x8/11,pk/i,x5/14,pj/p,x11/8,ph/f,x6/14,s9,x9/7,pb/a,x14/13,s5,x3/7,s14,x14/15,pc/g,x6/10,s6,x14/7,pj/n,s6,x1/3,s1,x5/4,s5,x3/0,s3,x7/4,s6,x5/13,s7,x4/0,pb/i,x1/6,s1,pa/h,x10/3,s6,x11/12,pj/e,x13/5,pg/d,x3/0,po/k,x1/8,s5,x6/14,pn/h,x10/0,s8,x9/5,s6,x13/3,s8,x10/12,s9,x1/8,s3,x7/10,s3,x12/1,po/m,x15/6,s1,x11/13,s7,x3/9,ph/j,x6/10,pl/o,x15/1,pp/e,x2/0,pg/n,x3/6,ph/o,s3,x13/14,pi/b,x6/9,s8,x15/8,s12,pe/j,x10/12,pi/o,x11/9,s3,x7/10,s6,x1/4,s11,x10/3,pp/f,s9,x5/12,s7,x1/9,s14,x13/5,s5,x4/8,s11,x9/11,ph/j,x6/1,pc/p,x14/10,s9,x4/12,pl/a,x6/11,s10,x2/9,s13,x3/14,s13,x5/0,s3,x12/11,pp/m,x0/10,s15,pk/d,x11/7,pp/o,x14/6,s6,x13/15,s15,x9/7,s5,x11/6,pn/h,x8/3,pe/i,s14,x7/4,s13,x3/6,s2,x8/7,ph/a,x5/14,pp/c,x1/7,pd/l,s14,pa/p,x3/10,s7,x4/6,s3,ph/o,x1/2,s14,x14/4,s10,pd/b,x15/6,pc/a,x7/4,s7,x5/2,s5,x4/0,s8,pb/p,x10/3,s4,x15/9,pe/c,x2/4,s15,x7/11,s8,x10/12,s2,x9/7,s14,pd/p,x0/5,pk/o,x11/2,s11,x10/9,pi/c,x12/4,s9,x0/11,pj/d,x5/4,s9,x0/9,s8,x3/2,s14,x5/11,po/g,x8/1,pl/i,x12/13,s14,x11/7,s14,x14/9,s11,x13/8,s2,pa/g,x14/12,pp/o,s15,x2/15,pf/c,x10/5,pd/o,x11/7,s6,x14/3,pf/h,x11/2,s9,x13/12,s8,x4/11,s7,x5/14,s4,pi/n,s3,x10/13,s3,x9/8,s2,po/h,x14/12,pb/k,x15/4,pm/h,s7,pg/k,s14,x3/2,s4,x10/13,ph/f,s2,pk/e,x7/12,s10,x13/8,pc/b,x11/2,s4,x7/5,s9,x1/9,pe/n,x5/12,s2,po/m,x6/8,s12,x1/0,s8,x15/2,s13,x5/0,pe/j,x12/3,s8,x8/6,s14,pb/d,s4,x10/7,s10,x1/12,pm/i,x14/5,s1,x0/6,s4,x5/4,pb/o,x3/8,ph/j,x12/9,pb/g,x6/8,s4,x0/9,s9,x6/14,s7,ph/n,x8/9,pj/a,s10,x5/1,s6,x0/3,s6,x10/4,s9,x2/1,s8,x4/3,s6,x15/7,s13,x9/0,pn/k,x8/11,s5,x2/3,s13,x15/1,s15,x14/2,s6,x15/10,s14,x1/7,s7,x6/10,s9,x1/4,pc/a,x10/9,pm/h,x1/6,pd/g,x3/11,s2,x10/4,s4,x8/2,s14,x11/3,s4,x4/9,pp/h,x6/12,s4,pn/g,x9/5,pc/d,x7/15,s3,x14/4,s13,x13/10,s8,x14/3,pi/f,x0/15,pd/l,x5/10,po/p,x6/12,ph/m,x15/13,pc/k,x12/1,s5,x2/10,s4,x3/15,pn/m,x9/14,s13,x7/11,pj/e,x12/6,pm/d,x2/15,pl/j,x4/7,s8,x6/10,s10,x13/5,s1,x8/3,pf/d,x2/1,s3,x7/4,s15,pm/e,x8/0,pd/i,x13/10,s4,pc/b,x6/14,s15,x13/4,s2,x12/3,s11,x10/1,s5,x14/15,pj/o,x0/2,pl/p,x14/8,s8,x4/3,pn/m,x7/0,s14,x9/4,s13,x11/3,pb/j,x9/4,s1,x7/3,s15,x0/1,pk/f,x7/8,pc/i,x9/15,s10,x13/4,s12,x9/7,s5,x13/1,po/b,x12/15,s15,x5/2,pj/g,x1/0,pe/o,x6/4,s11,x5/7,s7,x12/0,pm/i,x4/7,pf/c,x2/6,pm/n,x11/3,pi/d,x7/9,s15,x8/15,s5,x11/7,s6,x10/2,pb/p,x3/13,s4,x1/2,pk/n,s12,x11/5,pj/f,s15,x13/15,pg/n,x9/6,s13,x13/3,pj/e,x7/11,s2,x13/0,s13,x3/15,s14,x7/2,s3,x13/5,s1,x12/7,pi/g,x15/2,s5,pm/j,x0/1,s15,x5/8,pa/d,x11/9,s2,x10/14,s10,x9/12,s4,pg/f,x6/7,pd/k,x13/14,s9,pm/c,s10,x5/10,pn/i,x8/3,po/e,x4/9,s3,x11/14,pg/j,x0/10,s10,x14/6,s6,x11/7,pk/o,s5,x12/8,s9,ph/m,x5/15,s8,x3/12,s10,x1/9,s6,x15/11,s6,x0/5,s15,x4/1,s14,x14/15,s15,x13/6,pd/o,x8/11,s1,x15/5,pg/a,x4/14,pi/e,x10/6,pm/c,s12,x1/14,po/b,x6/3,s12,x13/4,pe/n,x0/14,s8,x7/2,pj/g,s13,x10/3,pn/m,x15/11,pb/f,x10/5,s5,x8/11,pi/d,x3/5,s4,pg/o,x12/8,pa/m,x3/1,s2,x11/8,s11,x13/5,s11,x4/6,pe/d,x15/3,s10,x14/1,s10,x9/2,s6,x8/7,pf/o,x14/11,s2,pa/j,x0/5,pb/e,x12/13,ph/g,x8/1,s8,x2/3,s7,x10/14,s9,x4/15,pn/i,x1/14,s2,x4/3,pd/e,x15/5,pm/p,x0/13,s12,x3/11,po/l,x5/9,s4,pp/e,x8/13,s11,x15/14,pm/l,x3/5,s15,x8/15,s13,x2/3,s10,x4/12,s11,x7/0,s14,x4/5,s2,x13/11,pk/p,x0/10,s8,x4/7,s14,x9/8,pi/f,s4,x15/1,s10,x7/3,pe/h,x0/10,s14,x2/7,s2,x5/14,s5,x10/4,s1,x15/5,pb/c,x11/13,s14,x5/6,pn/h,s6,x9/14,pf/o,x10/7,pl/n,x13/6,s14,x0/3,s15,x7/6,s9,x3/8,s7,pg/c,x10/0,s5,pk/m,x6/15,s11,x13/14,s1,x7/15,pa/l,x1/14,po/k,x11/3,pn/b,x13/4,s2,x14/7,s5,x8/9,pp/c,s7,pj/o,x7/3,s12,ph/i,x9/1,pg/j,s15,x13/7,s4,x8/5,ph/d,x7/6,pj/b,x3/8,pc/f,s7,x14/11,s9,x13/9,s12,pa/e,x7/3,pp/l,x0/13,s3,x8/6,s5,x12/1,s5,x4/0,pc/d,x5/15,s14,x10/1,pm/f,s15,x8/0,s9,x15/14,s3,pd/h,x2/10,pa/b,x13/8,pj/k,s8,x0/11,s2,pb/a,x14/1,s13,x0/6,s8,x13/4,pm/p,s15,x3/5,pi/n,x12/4,s1,x5/14,pf/j,x10/8,pg/o,s5,x13/3,pi/h,s9,x14/12,pp/e,x0/4,pg/o,x3/1,s8,x4/14,s15,x9/11,pc/k,x4/5,s2,x6/1,s6,x7/2,pn/j,x14/1,s8,x0/10,s12,x5/11,s14,x3/13,pd/m,x5/10,s14,x3/0,pl/a,x12/7,s10,x8/0,s14,x12/5,s11,x11/7,pe/k,x2/12,pp/d,s8,pf/l,x7/10,pa/o,x2/14,pf/e,x11/13,po/c,x0/8,pl/g,x11/15,s5,x4/3,pi/f,x10/14,s6,x5/9,s11,x14/11,s12,x4/8,pm/c,x10/15,pa/o,x7/9,pj/d,x10/5,pc/f,x4/2,s1,x1/5,s10,x12/7,s13,x2/1,s15,x5/7,s10,x0/12,s8,x2/11,s3,pa/b,x5/15,pp/k,x2/10,s3,x11/7,pd/o,s13,x6/3,pl/a,x13/2,s4,x4/14,pg/o,x3/13,s1,x6/5,pa/d,x10/7,s9,x12/9,pf/k,s11,x14/1,s10,x15/0,s1,pd/a,x12/7,s3,x0/11,pf/o,x7/6,s15,x1/0,pd/l,x11/8,s11,x5/9,s14,pk/h,x3/7,s9,pe/n,x6/14,s3,x7/0,pd/k,x3/8,pn/o,x1/14,pg/d,x9/3,s14,x8/12,s15,x11/1,s6,x13/0,s5,pi/a,x12/2,pg/k,x4/10,pp/j,s14,x5/8,s10,x3/10,s11,x13/6,pi/a,x0/2,s5,x15/3,pb/m,s3,x13/1,pn/k,x4/8,s9,x7/1,ph/g,x6/0,s3,x4/15,s12,x2/9,s1,x7/3,s6,pn/k,x2/11,s15,x9/6,pd/i,x2/7,pe/a,x14/9,s9,x11/12,s7,pi/j,x2/1,s14,x12/8,ph/l,x13/6,s3,x15/11,po/m,s6,x2/8,s2,x13/0,s6,x8/15,s11,x1/13,s1,x5/2,s1,pc/k,x3/6,pn/a,x14/5,po/g,x4/2,s1,x10/5,s7,x15/6,pk/c,x9/12,po/b,x7/6,s7,pi/e,x13/10,pm/a,s8,x7/4,s7,x8/3,s13,x6/9,s11,x3/2,pe/b,x9/0,pf/p,x8/1,s8,x3/14,s4,x11/12,ph/j,x3/10,s7,x11/4,s15,x12/6,s9,x3/9,pm/i,x11/12,pj/n,x3/8,po/b,x6/10,pn/i,x5/8,s9,x13/12,po/l,x6/10,pp/e,s14,x12/4,pb/h,x0/11,pe/c,x7/14,pk/i,x11/15,pn/f,s8,x12/13,pk/o,x8/14,pn/p,x9/11,s10,x13/10,pg/b,x1/11,pc/d,s10,x7/9,s8,x13/4,pl/k,x1/15,s6,x13/5,po/c,x0/8,s9,x13/14,s12,x9/11,ph/l,x2/14,pi/m,x12/9,pp/n,x6/5,pf/i,x12/9,s4,x8/2,s11,x12/14,pg/n,x4/7,s13,x2/1,s1,x9/12,po/l,x3/4,s7,x8/1,s6,x5/4,s13,x11/12,pe/f,x7/14,s6,pj/m,x0/4,s5,x10/1,pc/k,x11/2,s8,x4/8,pi/m,s8,x10/12,pf/h,s14,x14/0,pi/a,x7/6,s14,x0/14,pp/n,x6/10,pl/d,x3/12,s3,x4/5,pa/i,s8,x9/1,s1,x11/7,s11,x12/8,s12,x7/13,s13,x1/5,s7,x4/8,pj/g,x14/1,pa/d,x5/12,pg/j,x8/9,pb/i,x11/1,s5,x5/13,s11,x15/0,pg/c,x8/11,pp/o,x13/0,pl/b,x7/12,pp/k,x3/15,pc/l,s4,x7/12,s11,x15/10,pb/g,x7/12,s6,x10/11,pa/o,x12/13,s3,x15/5,s3,x0/12,pd/m,x9/5,s1,x14/10,s8,x1/6,ph/o,s15,x12/13,pb/e,s6,x11/14,s6,x2/10,s6,x0/1,s13,x14/15,s5,x7/10,s1,x12/13,pf/i,x8/2,pl/h,x11/15,s10,x10/3,s1,x6/9,s1,x10/7,s1,x12/13,s6,x7/9,pd/p,x13/10,pj/b,x7/6,s15,x8/13,s3,x3/11,pd/g,x5/12,s2,x2/7,pf/p,x6/3,s7,x4/7,s7,x13/12,s13,x8/7,pd/l,x12/6,pc/i,x11/9,s4,pa/h,x8/15,s12,x10/6,pf/g,x4/5,pm/j,x13/11,ph/f,x9/6,pa/c,s8,x5/7,s11,x4/10,pn/d,x11/14,s5,x3/13,po/a,x2/5,pb/j,x3/15,pn/e,x8/0,s10,x1/11,s7,x15/4,s13,x13/1,s7,x9/3,s1,pb/c,x1/14,pp/h,s7,x12/0,pm/d,s2,x9/7,pn/g,x15/3,s4,x10/7,pe/m,s7,x4/12,s8,x0/10,s7,x8/12,pc/o,x2/1,s11,x5/3,s8,x8/1,s12,x4/11,s6,x8/2,s3,x12/4,pl/n,x7/3,s14,x14/0,pi/e,x5/13,pb/d,x15/1,s8,x9/4,s4,x2/10,pe/n,x13/9,pp/g,x2/10,s9,x0/7,s4,x2/8,s2,x3/0,s8,pb/m,x12/6,ph/p,x8/5,pb/a,x6/3,po/l,x13/7,pj/k,x10/14,pf/g,x9/2,pa/b,s8,x14/15,s4,x6/10,pg/j,x12/15,pf/h,x11/7,s5,x5/3,pc/i,x11/12,pa/l,x2/8,s8,x3/13,pp/f,x15/11,s11,x12/8,po/g,x13/15,s13,x6/11,s6,x0/13,pa/d,x8/6,s7,x10/9,pe/n,x8/12,s6,x7/10,pm/a,s9,x14/12,s5,x3/2,s5,x0/10,pj/g,x4/9,s8,x0/12,s8,x8/14,pf/k,x3/11,s5,x15/0,ph/a,x14/13,pn/o,x15/3,s8,x0/14,pj/g,s7,pc/d,x10/9,s1,x11/4,s6,x2/3,s2,x13/15,s12,x14/3,s10,x0/11,pm/g,x10/15,s4,x13/7,ph/l,x2/10,s10,x0/14,s10,x15/10,s14,x5/3,s7,x10/13,pg/p,x4/6,s9,x1/12,s8,x0/15,s1,x9/6,s5,x3/4,s9,x13/14,ph/n,s3,x10/3,pg/f,x12/7,s6,pk/m,x1/15,pe/d,x8/3,pa/c,s11,x10/1,pm/i,x4/0,po/h,x13/10,s15,x9/11,s9,x13/1,s14,x14/7,pa/k,x0/11,s10,x4/13,s10,x14/11,s2,x4/10,ph/m,x1/13,s2,x4/6,s15,x13/12,pc/p,x15/2,pn/e,x0/7,s15,x13/12,pd/c,x4/10,pi/g,x14/15,s1,x1/11,pm/b,x13/4,s3,x7/0,pe/f,x8/6,pg/a,s4,x1/12,s7,x10/2,s3,x7/9,s2,x13/10,s4,x11/3,s6,pm/d,x14/9,s9,x1/5,ph/e,s13,pb/d,s10,x13/14,s1,x7/8,pp/f,x2/15,pm/h,x5/6,s14,x4/12,s6,x1/7,s8,x4/11,s3,x2/14,s7,x11/1,s3,x7/10,s6,x0/9,s1,pd/a,x1/13,s3,x11/8,s12,x5/3,s15,x1/11,s3,x0/12,s14,x6/9,s3,x3/10,s15,x13/2,pj/g,x10/9,pf/c,x3/15,s5,x1/14,pd/e,x4/13,s6,x1/5,pn/a,x6/11,pe/h,x4/7,pd/p,x11/6,pe/i,x0/15,s10,x10/6,pk/b,s1,x8/15,pd/n,x2/12,pj/m,s1,x9/5,s3,x0/11,s9,x4/2,pa/i,x12/9,s1,x2/8,pf/b,x12/15,s8,x6/4,s7,x9/14,ph/a,x10/2,s5,x12/3,s12,x15/6,s11,x0/12,pd/j,s7,x11/8,pm/o,x9/14,pc/k,x4/10,s10,x11/2,s4,x15/4,s12,x11/10,s14,x9/13,po/e,s14,x14/11,pj/l,x0/9,s6,x4/10,s1,x0/7,s2,x1/13,pp/n,s15,x11/12,pc/e,x1/8,po/d,x11/2,s4,x7/13,ph/b,x12/9,s8,x7/6,s15,pg/d,x12/3,pn/h,s8,x4/6,s9,pc/a,x10/13,s5,x4/8,s4,x12/13,ph/o,x4/5,pn/b,x14/8,s14,x1/12,s1,x10/4,s1,x5/6,pk/i,x14/3,pc/g,x12/4,pm/a,x10/1,s7,x14/13,pf/c,s1,x2/12,s9,x11/4,pa/e,x15/1,pi/o,s13,x8/3,pm/f,x1/2,pc/d,x10/14,s11,x7/13,s9,pp/b,s11,x12/0,s4,x9/5,s6,pa/g,x13/3,s11,x6/14,pe/k,x1/10,pc/g,x8/4,s5,x0/7,s8,x12/3,s2,x13/14,s15,pl/k,x0/5,s9,x2/3,ph/i,x8/15,s7,x7/11,pa/l,x10/1,s3,pf/i,s14,x0/13,s13,x9/3,s8,pd/h,x0/11,s7,x6/2,pa/f,x10/4,s7,x2/3,s7,x11/8,s15,pp/n,s2,x13/3,s15,pf/h,s13,x5/11,s9,x8/13,s8,x10/9,pi/m,x12/14,pe/f,x6/13,s1,x1/9,s7,x3/15,pc/l,s1,x7/9,s10,x3/2,s5,x8/11,s10,x10/5,pd/g,x3/8,s9,x13/0,s4,x10/6,s2,x15/4,pp/i,x8/9,s5,x13/0,pf/h,x10/3,pl/o,x8/4,s7,x12/5,s15,x4/14,pi/k,s2,x3/5,s5,x8/2,s1,x7/4,pb/c,x0/15,pl/g,x2/4,pe/p,s1,x1/9,s5,pj/b,x2/7,s1,x12/11,s8,x7/14,s10,x11/10,pl/p,x5/9,s13,x14/6,s3,x4/10,s9,x14/6,s4,x5/15,s10,x7/6,s11,x14/3,pm/g,s3,x0/4,s13,x11/8,pc/b,x7/2,pg/a,x12/0,s15,x1/5,s7,x14/4,pd/m,x0/5,s11,x13/12,s9,pl/o,s2,x1/5,s11,x4/6,pn/i,x0/2,s2,x12/1,pj/e,x11/5,s5,x7/8,pb/g,x1/4,s10,x13/9,pd/i,x6/8,pc/f,x10/15,pn/m,x9/11,s4,pg/h,x6/7,s3,x14/2,pi/d,x9/11,pe/l,x12/4,s8,x2/9,pg/i,x10/15,s8,x14/11,s11,x9/2,s12,x14/13,pa/m,x8/3,s10,x9/15,s4,x11/4,s9,x7/14,pl/k,x9/12,pe/d,x10/7,pf/o,x12/4,pl/h,x14/9,s5,x5/1,s12,x15/11,pc/j,x0/3,pa/i,s6,x1/10,s13,x5/13,s7,x15/14,s4,x5/10,ph/d,x13/8,s14,x6/10,s10,x0/14,s15,x15/2,s13,x13/1,s8,x11/0,s4,x12/2,pn/e,x1/15,s4,pk/a,x0/6,po/m,x9/13,s2,x1/10,s2,x5/8,ph/j,x14/13,s9,x5/9,s11,pb/f,x1/12,s2,pe/n,x2/14,s1,x15/8,s15,x3/0,s13,x9/14,s5,pi/j,x0/6,s11,x13/2,pc/g,s3,x5/9,pn/e,x12/1,s4,x6/7,pf/p,x0/13,s13,x1/12,s10,x14/6,s9,x5/10,s3,x0/13,pj/m,x5/10,pc/a,x2/3,ph/p,x13/0,s12,x7/1,s5,po/n,x8/2,s3,x4/6,s15,x14/15,s7,x13/4,s5,x2/0,s9,x12/6,s15,x3/10,s5,x13/7,s6,x4/9,s2,x2/15,s6,x4/13,s6,x0/9,s10,x3/5,pb/g,x2/13,s8,x14/3,s15,x9/0,s13,x15/11,s15,x4/14,s5,x5/9,pf/k,x14/6,s2,x7/9,pj/o,x1/6,s5,pa/c,x8/3,pj/k,x9/12,pe/g,x6/3,s9,x0/4,s10,x11/12,s1,x6/2,s1,x3/7,s7,x11/14,s8,ph/m,x5/2,pi/k,x7/12,s5,x13/15,pm/b,x5/2,s13,x15/12,s8,x9/14,s6,x3/12,s6,x13/2,s5,x12/5,s5,x15/1,s2,x3/10,pa/f,s4,x9/12,s6,x8/5,pn/e,x2/1,pc/j,x12/14,s4,x0/2,s13,x13/8,po/f,x5/0,pl/g,x1/6,s1,x14/4,s12,x15/5,s1,x4/10,s4,x15/12,pe/j,x4/14,pm/c,x11/2,s13,x12/5,pl/n
new file mode 100644
--- /dev/null
+++ b/2017/day16/problem
@@ -0,0 +1,62 @@
+--- Day 16: Permutation Promenade ---
+
+You come upon a very unusual sight; a group of programs here appear to
+be dancing.
+
+There are sixteen programs in total, named a through p. They start by
+standing in a line: a stands in position 0, b stands in position 1,
+and so on until p, which stands in position 15.
+
+The programs' dance consists of a sequence of dance moves:
+
+    Spin, written sX, makes X programs move from the end to the front,
+    but maintain their order otherwise. (For example, s3 on abcde
+    produces cdeab).
+
+    Exchange, written xA/B, makes the programs at positions A and B
+    swap places.
+
+    Partner, written pA/B, makes the programs named A and B swap
+    places.
+
+
+For example, with only five programs standing in a line (abcde), they
+could do the following dance:
+
+    s1, a spin of size 1: eabcd.
+
+    x3/4, swapping the last two programs: eabdc.
+
+    pe/b, swapping programs e and b: baedc.
+
+After finishing their dance, the programs end up in order baedc.
+
+You watch the dance for a while and record their dance moves (your
+puzzle input). In what order are the programs standing after their
+dance?
+
+Your puzzle answer was bkgcdefiholnpmja.
+
+--- Part Two ---
+
+Now that you're starting to get a feel for the dance moves, you turn
+your attention to the dance as a whole.
+
+Keeping the positions they ended up in from their previous dance, the
+programs perform it again and again: including the first dance, a
+total of one billion (1000000000) times.
+
+In the example above, their second dance would begin with the order
+baedc, and use the same dance moves:
+
+    s1, a spin of size 1: cbaed.
+
+    x3/4, swapping the last two programs: cbade.
+
+    pe/b, swapping programs e and b: ceadb.
+
+In what order are the programs standing after their billion dances?
+
+Your puzzle answer was knmdfoijcbpghlea.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day17/input
@@ -0,0 +1,1 @@
+324
new file mode 100644
--- /dev/null
+++ b/2017/day17/problem
@@ -0,0 +1,87 @@
+--- Day 17: Spinlock ---
+
+Suddenly, whirling in the distance, you notice what looks like a
+massive, pixelated hurricane: a deadly spinlock. This spinlock isn't
+just consuming computing power, but memory, too; vast, digital
+mountains are being ripped from the ground and consumed by the vortex.
+
+If you don't move quickly, fixing that printer will be the least of
+your problems.
+
+This spinlock's algorithm is simple but efficient, quickly consuming
+everything in its path. It starts with a circular buffer containing
+only the value 0, which it marks as the current position. It then
+steps forward through the circular buffer some number of steps (your
+puzzle input) before inserting the first new value, 1, after the value
+it stopped on. The inserted value becomes the current position. Then,
+it steps forward from there the same number of steps, and wherever it
+stops, inserts after it the second new value, 2, and uses that as the
+new current position again.
+
+It repeats this process of stepping forward, inserting a new value,
+and using the location of the inserted value as the new current
+position a total of 2017 times, inserting 2017 as its final operation,
+and ending with a total of 2018 values (including 0) in the circular
+buffer.
+
+For example, if the spinlock were to step 3 times per insert, the
+circular buffer would begin to evolve like this (using parentheses to
+mark the current position after each iteration of the algorithm):
+
+    (0), the initial state before any insertions.
+
+    0 (1): the spinlock steps forward three times (0, 0, 0), and then
+    inserts the first value, 1, after it. 1 becomes the current
+    position.
+
+    0 (2) 1: the spinlock steps forward three times (0, 1, 0), and
+    then inserts the second value, 2, after it. 2 becomes the current
+    position.
+
+    0 2 (3) 1: the spinlock steps forward three times (1, 0, 2), and
+    then inserts the third value, 3, after it. 3 becomes the current
+    position.
+
+
+And so on:
+
+    0  2 (4) 3  1
+    0 (5) 2  4  3  1
+    0  5  2  4  3 (6) 1
+    0  5 (7) 2  4  3  6  1
+    0  5  7  2  4  3 (8) 6  1
+    0 (9) 5  7  2  4  3  8  6  1
+
+Eventually, after 2017 insertions, the section of the circular buffer
+near the last insertion looks like this:
+
+1512  1134  151 (2017) 638  1513  851
+
+Perhaps, if you can identify the value that will ultimately be after
+the last value written (2017), you can short-circuit the spinlock. In
+this example, that would be 638.
+
+What is the value after 2017 in your completed circular buffer?
+
+Your puzzle answer was 1306.
+
+--- Part Two ---
+
+The spinlock does not short-circuit. Instead, it gets more angry. At
+least, you assume that's what happened; it's spinning significantly
+faster than it was a moment ago.
+
+You have good news and bad news.
+
+The good news is that you have improved calculations for how to stop
+the spinlock. They indicate that you actually need to identify the
+value after 0 in the current state of the circular buffer.
+
+The bad news is that while you were determining this, the spinlock has
+just finished inserting its fifty millionth value (50000000).
+
+What is the value after 0 the moment 50000000 is inserted?
+
+Your puzzle answer was 20430489.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day18/input
@@ -0,0 +1,41 @@
+set i 31
+set a 1
+mul p 17
+jgz p p
+mul a 2
+add i -1
+jgz i -2
+add a -1
+set i 127
+set p 826
+mul p 8505
+mod p a
+mul p 129749
+add p 12345
+mod p a
+set b p
+mod b 10000
+snd b
+add i -1
+jgz i -9
+jgz a 3
+rcv b
+jgz b -1
+set f 0
+set i 126
+rcv a
+rcv b
+set p a
+mul p -1
+add p b
+jgz p 4
+snd a
+set a b
+jgz 1 3
+snd b
+set f 1
+add i -1
+jgz i -11
+snd a
+jgz f -16
+jgz a -19
new file mode 100644
--- /dev/null
+++ b/2017/day18/problem
@@ -0,0 +1,146 @@
+--- Day 18: Duet ---
+
+You discover a tablet containing some strange assembly code labeled
+simply "Duet". Rather than bother the sound card with it, you decide
+to run the code yourself. Unfortunately, you don't see any
+documentation, so you're left to figure out what the instructions mean
+on your own.
+
+It seems like the assembly is meant to operate on a set of registers
+that are each named with a single letter and that can each hold a
+single integer. You suppose each register should start with a value of
+0.
+
+There aren't that many instructions, so it shouldn't be hard to figure
+out what they do. Here's what you determine:
+
+    snd X plays a sound with a frequency equal to the value of X.
+
+    set X Y sets register X to the value of Y.
+
+    add X Y increases register X by the value of Y.
+
+    mul X Y sets register X to the result of multiplying the value
+    contained in register X by the value of Y.
+
+    mod X Y sets register X to the remainder of dividing the value
+    contained in register X by the value of Y (that is, it sets X to
+    the result of X modulo Y).
+
+    rcv X recovers the frequency of the last sound played, but only
+    when the value of X is not zero. (If it is zero, the command does
+    nothing.)
+
+    jgz X Y jumps with an offset of the value of Y, but only if the
+    value of X is greater than zero. (An offset of 2 skips the next
+    instruction, an offset of -1 jumps to the previous instruction,
+    and so on.)
+
+
+Many of the instructions can take either a register (a single letter)
+or a number. The value of a register is the integer it contains; the
+value of a number is that number.
+
+After each jump instruction, the program continues with the
+instruction to which the jump jumped. After any other instruction, the
+program continues with the next instruction. Continuing (or jumping)
+off either end of the program terminates it.
+
+For example:
+
+set a 1
+add a 2
+mul a a
+mod a 5
+snd a
+set a 0
+rcv a
+jgz a -1
+set a 1
+jgz a -2
+
+    The first four instructions set a to 1, add 2 to it, square it,
+    and then set it to itself modulo 5, resulting in a value of 4.
+
+    Then, a sound with frequency 4 (the value of a) is played.
+
+    After that, a is set to 0, causing the subsequent rcv and jgz
+    instructions to both be skipped (rcv because a is 0, and jgz
+    because a is not greater than 0).
+
+    Finally, a is set to 1, causing the next jgz instruction to
+    activate, jumping back two instructions to another jump, which
+    jumps again to the rcv, which ultimately triggers the recover
+    operation.
+
+
+At the time the recover operation is executed, the frequency of the
+last sound played is 4.
+
+What is the value of the recovered frequency (the value of the most
+recently played sound) the first time a rcv instruction is executed
+with a non-zero value?
+
+Your puzzle answer was 7071.
+
+--- Part Two ---
+
+As you congratulate yourself for a job well done, you notice that the
+documentation has been on the back of the tablet this entire time.
+While you actually got most of the instructions correct, there are a
+few key differences. This assembly code isn't about sound at all -
+it's meant to be run twice at the same time.
+
+Each running copy of the program has its own set of registers and
+follows the code independently - in fact, the programs don't even
+necessarily run at the same speed. To coordinate, they use the send
+(snd) and receive (rcv) instructions:
+
+    snd X sends the value of X to the other program. These values wait
+    in a queue until that program is ready to receive them. Each
+    program has its own message queue, so a program can never receive
+    a message it sent.
+
+    rcv X receives the next value and stores it in register X. If no
+    values are in the queue, the program waits for a value to be sent
+    to it. Programs do not continue to the next instruction until they
+    have received a value. Values are received in the order they are
+    sent.
+
+
+Each program also has its own program ID (one 0 and the other 1); the
+register p should begin with this value.
+
+For example:
+
+snd 1
+snd 2
+snd p
+rcv a
+rcv b
+rcv c
+rcv d
+
+Both programs begin by sending three values to the other. Program 0
+sends 1, 2, 0; program 1 sends 1, 2, 1. Then, each program receives a
+value (both 1) and stores it in a, receives another value (both 2) and
+stores it in b, and then each receives the program ID of the other
+program (program 0 receives 1; program 1 receives 0) and stores it in
+c. Each program now sees a different value in its own copy of register
+c.
+
+Finally, both programs try to rcv a fourth time, but no data is
+waiting for either of them, and they reach a deadlock. When this
+happens, both programs terminate.
+
+It should be noted that it would be equally valid for the programs to
+run at different speeds; for example, program 0 might have sent all
+three values and then stopped at the first rcv before program 1
+executed even its first instruction.
+
+Once both of your programs have terminated (regardless of what caused
+them to do so), how many times did program 1 send a value?
+
+Your puzzle answer was 8001.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day19/input
@@ -0,0 +1,201 @@
+                                                                           |                                                                                                                             
+     +-+         +---+   +---+   +-----------------------------------------|---+                                             +---+ +-------------------------------------+         +-------------------+ 
+     | |         |   |   |   |   |                                         |   |                                             |   | |                                     |         |                   | 
+ +-------------------|-------|-------------+                           +---|-------------------------------+                 |   +---------------------------------+     |         |                   | 
+ |   | |         |   |   |   |   |         |                           |   |   |                           |                 |     |                               |     |         |                   | 
+ |   | |         |   +---|---|---|---------|---------------------+     |   |   |                           |                 |     |   +---+                       |     |         |                   | 
+ D   | |         |       |   |   |         |                     |     |   |   |                           |                 |     |   |   |                       |     |         |                   | 
+ |   | |         |   +---|---+   |     +---|-------------+       |   +-+ +-|---|---------------------------|---------------------+ |   |   |                       |     |         |     +---------+   | 
+ |   | |         |   |   |       |     |   |             |       |   |   | |   |                           |                 |   | |   |   |                       |     |         |     |         |   | 
+ |   +-|---------|---|-------+   |     |   |             |       |   |   | |   |                           |                 |   | |   |   |                       |     |         |     |         |   | 
+ |     |         |   |   |   |   |     |   |             |       |   |   | |   |                           |                 |   | |   |   |                       |     |         |     |         |   | 
+ |   +-|---------|---------------|-----|---|---------------------|---|-----|---|--------------------F------------------------------+   +-----------------+         |     |         |     |         |   | 
+ |   | |         |   |   |   |   |     |   |             |       |   |   | |   |                           |                 |   |         |             |         |     |         |     |         |   | 
+ |   +-|-----+   |   | +-|---|---|-----|---|---------------------|-------|---------------------------------------------+     |   |         |             |         |     |         |   +-+ +---------+ | 
+ |     |     |   |   | | |   |   |     |   |             |       |   |   | |   |                           |           |     |   |         |             |         |     |         |   |   |       | | | 
+ |     |     |   |   | | |   |   |   +-|-------------------------|---------+   |       +-------------------|-----------|-----|---+       +-------------+ +-+       |     | +-----------+   |       | | | 
+ |     |     |   |   | | |   |   |   | |   |             |       |   |   |     |       |                   |           |     |           | |           |   |       |     | |       |       |       | | | 
+ |     |     |   |   | | |   +---|---|-----|-----------------------------+     |       |                   |           |     |           | |         +-|---|-+     |     | |       |       |       | | | 
+ |     |     |   |   | | |       |   | |   |             |       |   |         |       |                   |           |     |           | |         | |   | |     |     | |       |       |       | | | 
+ |     |     | +-------|-|-------|---|-|---|-------------|-----------|---------|---------------------------|---------+ |     +---+       | |         | |   | |     |     | |       |       |       | | | 
+ |     |     | | |   | | |       |   | |   |             |       |   |         |       |                   |         | |         |       | |         | |   | |     |     | |       |       |       | | | 
+ | +---------|-|-|-------+       |   | |   |             |   +-------|-----------------|-------------------|---------|-|-----------------|-|---------|-|---|-----------------+     |       |       | | | 
+ | |   |     | | |   | |         |   | |   |             |   |   |   |         |       |                   |         | |         |       | |         | |   | |     |     | | |     |       |       | | | 
+ | |   |     | | |   | +---------------|-----------------------+ |   |         |       |                   |         | |         |       | |         +-|---|-|-----------|-|-------|-------|---------|-+ 
+ | |   |     | | |   |           |   | |   |             |   | | |   |         |       |                   |         | |         |       | |           |   | |     |     | | |     |       |       | |   
+ | |   +-----+ | |   |     +-----------|-----------------|---|-|-----------------------|-----------------------------|-------------------|-------------|-------------------|-------|-----+ |       | +-+ 
+ | |           | |   |     |     |   | |   |             |   | | |   |         |       |                   |         | |         |       | |           |   | |     |     | | |     |     | |       |   | 
+ | |           | |   |   +-----------------------------------|-|---+ +-+ +-----|---------------------------|-----------|-----------------|-|-----------------------------|-|-|-----------|-|-------|-+ | 
+ | |           | |   |   | |     |   | |   |             |   | | | |   | |     |       |                   |         | |         |       | |           |   | |     |     | | |     |     | |       | | | 
+ | |           | |   |   | |     |   | |   |             |   | | | |   | |     |       |                   |         | |         |       | |       +-+ |   | |     |     | | |     |     | |       | | | 
+ | |           | |   |   | |     |   | |   |             |   | | | |   | |     |       |                   |         | |         |       | |       | | |   | |     |     | | |     |     | |       | | | 
+ | |           | |   |   | |     | +-|-------------------------|-|-------+     |       |                   |         | |         |       | |       | | |   | |     |     | | |     |     | |       | | | 
+ | |           | |   |   | |     | | | |   |             |   | | | |   |       |       |                   |         | |         |       | |       | | |   | |     |     | | |     |     | |       | | | 
+ | |           | |   |   | |     | | | |   |             |   | | | |   |       |       |                   |         | |         |       | +-------|-|-|-----------|-----|-+ |     |     | |       | | | 
+ | |           | |   |   | |     | | | |   |             |   | | | |   |       |       |                   |         | |         |       |         | | |   | |     |     |   |     |     | |       | | | 
+ | |   +-+     | |   |   +-----+ | +---|---|-----------------|-|---|---|-------|-------|-------------------|---------------------------+ |         | | |   | |     |     |   |     |     | |       | | | 
+ | |   | |     | |   |     |   | |   | |   |             |   | | | |   |       |       |                   |         | |         |     | |         | | |   | |     |     |   |     |     | |       | | | 
+ | |   | |     | |   |     |   | |   | |   |             |   | | | |   |       |       | +-----------------------+   | |     +---------|-----------|---------+     |     |   |     | +---|---------+ | | 
+ | |   | |     | |   |     |   | |   | |   |             |   | | | |   |       |       | |                 |     |   | |     |   |     | |         | | |   J       |     |   |     | |   | |         | | 
+ | +---|-|-----|-------+   |   | |   | |   |             | +-+ | | |   |       |       | |               +-|-----------|---------------|---------------|-----------------------------|-------+       | | 
+ |     | |     | |   | |   |   | |   | |   |             | |   | | |   |       |       | |               | |     |   | |     |   |     | |         | | |   |       |     |   |     | |   | | |       | | 
+ |     | |     | |   | |   |   | |   | |   |             | |   | | |   +-------|-------------------------+ |     |   | |     |   |     | |         | | |   |       |     |   | +---+ +-----|-|-----+ | | 
+ |     | |     | |   | |   |   | |   | |   |             | |   | | |           |       | |                 |     |   | |     |   |     | |         | | |   |       |     |   | |         | | |     | | | 
+ |     | |     | |   | |   |   | |   | |   |           +---|---+ +---------------------------------+       +-----|---|-------|---|-------------------|-|---|-----+ |     |   | |         | | |     | | | 
+ |     | |     | |   | |   |   | |   | |   |           | | |       |           |       | |         |             |   | |     |   |     | |         | | |   |     | |     |   | |         | | |     | | | 
+ | +---|-------|-|---|-|-------|-------|---|-----------------------|-------------------|-----------|-----------------|-----------------|---------------|---|-----------------|-----------+ | |     | | | 
+ | |   | |     | |   | |   |   | |   | |   |           | | |       |           |       | |         |             |   | |     |   |     | |         | | |   |     | |     |   | |           | |     | | | 
+ | |   | |     | |   | |   |   | |   | |   |           | | |       |           |       | |         |             |   | |     |   |     | |         | +-------------|-----|-------------------|-----+ | | 
+ | |   | |     | |   | |   |   | |   | |   |           | | |       |           |       | |         |             |   | |     |   |     | |         |   |   |     | |     |   | |           | |       | | 
+ | |   | |     | |   | |   |   | |   | |   |           | | |       |           |       | |         |             |   | |     |   |     | |         |   |   |     | +-----|---|-|-----------|-+       | | 
+ | |   | |     | |   | |   |   | |   | |   |           | | |       |           |       | |         |             |   | |     |   |     | |         |   |   |     |       |   | |           |         | | 
+ | |   | |     | |   +---------------|-|-------------------|-------------------|-------|-|-----------------------------------|---|---+ | |       +-|---------------------|---|-+           |         | | 
+ | |   | |     | |     |   |   | |   | |   |           | | |       |           |       | |         |             |   | |     |   |   | | |       | |   |   |     |       |   |             |         | | 
+ | |   | |     | |   +---+ |   | |   | |   |           | | |       |           |       | |         |             |   | |     |   |   | | |     +-|-|---|---|-----|-------|---|-------------+         | | 
+ | |   | |     | |   | | | |   | |   | |   |           | | |       |           |       | |         |             |   | |     |   |   | | |     | | |   |   |     |       |   |                       | | 
+ | | +-|---------|---|---------+ |   | |   | +---------|-----------|-------------------|-|-----------------------|-----------|-------|-|-------|---|-------|-------+     |   |                       | | 
+ | | | | |     | |   | | | |     |   | |   | |         | | |       |           |       | |         |             |   | |     |   |   | | |     | | |   |   |     | |     |   |                       | | 
+ | | | | |     | |   | | | |     +---------|-|-------------+       |           |       | |         |             |   | |     |   |   | | |     | | |   |   |     | |     |   |                       | | 
+ | | | | |     | |   | | | |         | |   | |         | |         |           |       | |         |             |   | |     |   |   | | |     | | |   |   |     | |     |   |                       | | 
+ | | +---------|---------------------|-------------------|---------|-----------|-------|-|---------|-------------------|-----|---+   +---|-----|-|-|-+ +-------+ | |     |   |                       | | 
+ | |   | |     | |   | | | |         | |   | |         | |         |           |       | |         |             |   | |     |         | |     | | | |     |   | | |     |   |                       | | 
+ | | +---------|-|-------|-|-----------------|-----------|---------|---------------------------------------------|-----------|-----------|-----+ | | |   +-|-+ | | |     |   |                       | | 
+ | | | | |     | |   | | | |         | |   | |         | |         |           |       | |         |             |   | |     |         | |       | | |   | | | | | |     |   |                       | | 
+ | | | | |     | |   | | | |         | |   | |         | |         |           |       | |         |             |   | |   +-------------|-----+ | | |   | | | | | |     |   |                       | | 
+ | | | | |     | |   | | | |         | |   | |         | |         |           |       | |         |             |   | |   | |         | |     | | | |   | | | | | |     |   |                       | | 
+ | | | | |     | |   | | | |         | |   | |         | |         |           |       | |         |             |   | |   | |         | |     | | | |   | | | | | |     |   |   +---------------+   | | 
+ | | | | |     | |   | | | |         | |   | |         | |         |           |       | |         |             |   | |   | |         | |     | | | |   | | | | | |     |   |   |               |   | | 
+ | | | | |     | |   | | | |         | |   | |         | |         |           |       | |         |             |   | |   +-|-----+   +-------|-|-|-|-----|-----|-------|---|---------------------+ | | 
+ | | | | |     | |   | | | |         | |   | |         | |         |           |       | |         |             |   | |     |     |     |     | | | |   | | | | | |     |   |   |               | | | | 
+ | | | | |     | |   | | | |         | |   | |         | |         |     +-------------|-|---------------------------|-|-----|-----|-----|-----+ | | |   | +-|-+ | |     |   |   |               | | | | 
+ | | | | |     | |   | | | |         | |   | |         | |         |     |     |       | |         |             |   | |     |     |     |       | | |   |   |   | |     |   |   |               | | | | 
+ | | | | |     | |   | | | |         | |   | |         | | +-------|-------------------|-|-----------------------|---|-|-----|-------------------|-------|-------------------|---|---------------+ | | | 
+ | | | | |     | |   | | | |         | |   | |         | | |       |     |     |       | |         |             |   | |     |     |     |       | | |   |   |   | |     |   |   |                 | | | 
+ | | | | |     | |   | | | |         | |   | |         | | |       |     |     |       | |         |             |   | |     |     |     |       | | |   |   |   | |     |   |   |                 | | | 
+ | | | | |     | |   | | | |         | |   | |         | | |       |     |     |       | |         |             |   | |     |     |     |       | | |   |   |   | |     |   |   |                 | | | 
+ | | | | |     | |   | | | |         | |   | |         | | |       |   +---------------|-------------------------|---|-|-----|-----------|-------|-|-|-+ |   |   | |     |   |   |                 | | | 
+ | | | | |     | |   | | | |         | |   | |         | | |       |   | |     |       | |         |             |   | |     |     |     |       | | | | |   |   | |     |   |   |                 | | | 
+ | +-|---|-----------|-|---|-----------|---|-|-----------|-|-------|-----|-----|-------|-|---------|-----------------|-|-----|-----|-------------|-----------|---|-------|-+ |   |       +---------+ | | 
+ |   | | |     | |   | | | |         | |   | |         | | |       |   | |     |       | |         |             |   | |     |     |     |       | | | | |   |   | |     | | |   |       |           | | 
+ |   | | |     | |   | | | |         | |   | |   +-----|-------------------------------|-|---------+             |   | |     |     |     |       | | | | |   |   | |     | | |   |       |           | | 
+ |   | | |     | |   | | | |         | |   | |   |     | | |       |   | |     |       | |                       |   | |     |     |     |       | | | | |   |   | |     | | |   |       |           | | 
+ |   | | |     | |   | | | |         | |   | |   |     | | |       |   | +-------------|-------------------------|-----|-----|-----|---------------|-|-|-|---|---|-------|---|---|-----------+       | | 
+ |   | | |     | |   | | | |         | |   | |   |     | | |       |   |       |       | |                       |   | |     |     |     |       | | | | |   |   | |     | | |   |       |   |       | | 
+ |   +-|-------|-|---|---|-----------+ |   | |   |     | | |       |   |       |       | |                       |   | |     |     |     |       | | | | |   |   | |     | | |   |       |   |       | | 
+ |     | |     | |   | | | |           |   | |   |     | | |       |   |       |       | |                       |   | |     |     |     |       | | | | |   |   | |     | | |   |       |   |       | | 
+ |     | |     | |   | | | |     +-----|---|-----------|-|---------|---|-------|---------------------------------|-----|-------------------------|-|-|-|-|---|---|---------|-----|-----------|-----+ | | 
+ |     | |     | |   | | | |     |     |   | |   |     | | |       |   |       |       | |                       |   | |     |     |     |       | | | | |   |   | |     | | |   |       |   |     | | | 
+ +-----|-|-----|-----------------------|-----|---|-----|-|-|-------------------|-------|-------------------------|---|-|-----------|-----|---+   | | | | |   |   | |     | | |   |       |   |     | | | 
+       | |     | |   | | | |     |     |   | |   |     | | |       |   |       |       | |                       |   | |     |     |     |   |   | | | | |   |   | |     | | |   |       |   |     | | | 
+       | |     | |   | | | |     |     |   | |   |     | | |       |   |       |       | |             +---------|---|-|-+   |     |     |   |   | | | | |   |   | |     | | |   |       |   |     | | | 
+       | |     | |   | | | |     |     |   | |   |     | | |       |   |       |       | |             |         |   | | |   |     |     |   |   | | | | |   |   | |     | | |   |       |   |     | | | 
+     +---|-----------|-|-|-------|---+ |   | |   +-------|-+       |   |       |       | |             |         |   | | |   |     |     |   | +---|-|---|---|---|-----+ | | |   |       |   |     | | | 
+     | | |     | |   | | | |     |   | |   | |         | |         |   |       |       | |             |         |   | | |   |     |     |   | | | | | | |   |   | |   | | | |   |       |   |     | | | 
+     | | |     | |   | | | |     |   | |   | |         | |         |   |       |       | |             |         |   | | |   |     |     |   | | | | | | |   |   | |   | | | |   |       |   |     | | | 
+     | | |     | |   | | | |     |   | |   | |         | |         |   |       |       | |             |         |   | | |   |     |     |   | | | | | | |   |   | |   | | | |   |       |   |     | | | 
+ +---+ | |     | |   | | | |     |   +-+   | |         | |         |   |       |       | |             |         |   | | |   |     |     |   | | | | | | |   |   | |   | | | |   |       |   |     | | | 
+ |     | |     | |   | | | |     |         | |         | |         |   |       |       | |             |         |   | | |   |     |     |   | | | | | | |   |   | |   | | | |   |       |   |     | | | 
+ | +---+ |   +-|-----|---|-|-----|---------------------|-|---------------------|---------|-----------------------|---|-------|-----------|-------|-|---------|-----------|-------|-------+   |     | | | 
+ | |     |   | | |   | | | |     |         | |         | |         |   |       |       | |             |         |   | | |   |     |     |   | | | | | | |   |   | |   | | | |   |           |     | | | 
+ | | +---|-----|-|-------|-|---------------|-|-----------|---------+   |       +-------|-|-------------|-------------|-------|-----|-----|-+ | | | | | | |   |   | |   | | | |   |           |     | | | 
+ | | |   |   | | |   | | | |     |         | |         | |             |               | |             |         |   | | |   |     |     | | | | | | | | |   |   | |   | | | |   |           |     | | | 
+ | | +-----------|---+ | | |     |         | |         | |             |               | |           +-|---------|---|-------|-----|-----|-|---|-|-|---|-------------------|-|-------------+ |     | | | 
+ | |     |   | | |     | | |     |         | |         | |             |               | |           | |         |   | | |   |     |     | | | | | | | | |   |   | |   | | | |   |         | |     | | | 
+ | |     |   | | |     | | |     |         | |         | |             |               | |           | |         |   | | |   |     |     | | | | | | | | |   |   | |   | | | |   |         | |     | | | 
+ | |     |   | | |     | | |     |         | |         | |             |               | |           | |         |   | | |   |     |     | | | | | | | | |   |   | |   | | | |   |         | |     | | | 
+ | |     |   | | |     | +-------|---------|-------------|-----------------------------|---------------|---------------------|-----------|-|-|-|-|-|-|-----------|-|-----|-----------+     +-|-+   | | | 
+ | |     |   | | |     |   |     |         | |         | |             |               | |           | |         |   | | |   |     |     | | | | | | | | |   |   | |   | | | |   |   |       | |   | | | 
+ | |     |   | | |     |   | +---|---------------------|-|-------------|---------------+ +-----------|-----------|---|-|-|---|-----|---------|-|-|-|-|-|---------------+ | | |   |   |       | |   | | | 
+ | |     |   | | |     |   | |   |         | |         | |             |                             | |         |   | | |   |     |     | | | | | | | | |   |   | |     | | |   |   |       | |   | | | 
+ +-|-----|-----|-----------|---------------|-|---------|-|-------------|---------+       +-----------|-|---------|-----|-|---------|-----|-|---|-------|-|-----------------|-----|-----------|-|-+ | | | 
+   |     |   | | |     |   | |   |         | |         | |             |         |       |           | |         |   | | |   |     |     | | | | | | | | |   |   | |     | | |   |   |       | | | | | | 
+   |     |   | | |     |   | |   |   +-------|---------|-|-------------|-----------------------------|---+       |   +-|-|---------------|-----|-------|-|---+   | |     | | |   |   |       | | | | | | 
+   |     |   | | |     |   | |   |   |     | |         | |             |         |       |           | | |       |     | |   |     |     | | | | | | | | |       | |     | | |   |   |       | | | | | | 
+   |     | +-|-----+   |   | |   |   |     | |         | |         +---|-----------------------------|-----------------|-|---------------|---------------------+ | |     | | |   |   |       | | +-+ | | 
+   |     | | | | | |   |   | |   |   |     | |         | |         |   |         |       |           | | |       |     | |   |     |     | | | | | | | | |     | | |     | | |   |   |       | |     | | 
+   |     | | | | | |   |   | |   |   |     | |         | |         |   |         |       |           | | |       |     | |   |     |     | | | | | | | | |     | | |     | | |   |   |     +-----+   | | 
+   |     | | | | | |   |   | |   |   |     | |         | |         |   |         |       |           | | |       |     | |   |     |     | | | | | | | | |     | | |     | | |   |   |     | | | |   | | 
+   |     | | | | | |   |   | |   |   |     | |         | |         |   |         |       |           | | |       |     +-|---------|-----+ | | | | | | | |     | | |     | | |   |   |     | | | |   | | 
+   |     | | | | | |   |   | |   |   |     | |         | |         |   |         |       |           | | |       |       |   |     |       | | | | | | | |     | | |     | | |   |   |     | | | |   | | 
+   |     | | | | | |   |   | |   |   |     | |         | |         |   +-----------+     |           | | |       |       |   |     |       | | | | | | | |     | | |     +-|-------+ |     | | | |   | | 
+   |     | | | | | |   |   | |   |   |     | |         | |         |             | |     |           | | |       |       |   |     |       | | | | | | | |     | | |       | |   | | |     | | | |   | | 
+   |     | | | | | |   |   | +---+   |     | |         | |         |             | |     |           | | |       |       |   |     |       | | | | | | | |     | | |       | |   | | |     | | | |   | | 
+   |     | | | | | |   |   |         |     | |         | |         |             | |     |           | | |       |       |   |     |       | | | | | | | |     | | |       | |   | | |     | | | |   | | 
+   |     | | | | | |   |   |         |     | |         | | +-------|-------------|--------------O----|-|---------------------------|-------|-|---|-|-|-------+ | | |       | |   | | |     | | | |   | | 
+   |     | | | | | |   |   |         |     | |         | | |       |             | |     |           | | |       |       |   |     |       | | | | | | | |   | | | |       | |   | | |     | | | |   | | 
+   |     | | | | | |   |   |         |     | |         | | |       |             | |     |           | +-|-+     |       |   |     |       | +-----|-------+ | | | |       | |   | | |     | | | |   | | 
+   |     | | | | | |   |   |         |     | |         | | |       |             | |     |           |   | |     |       |   |     |       |   | | | | | | | | | | |       | |   | | |     | | | |   | | 
+   |     | | | | +-|-----------------------|---------+ | | |       |             | |     |           |   | |     |       |   |     |       |   | | | | | | | | | | |       | |   | | |     | | | |   | | 
+   |     | | | |   |   |   |         |     | |       | | | |       |             | |     |           |   | |     |       |   |     |       |   | | | | | | | | | | |       | |   | | |     | | | |   | | 
+   |     | | | |   |   |   |         |     | |       +---|-------------------------------+           |   | +-----|-----------|-----------------|-----|-+ | | | | | |       | |   | | |     | | | |   | | 
+   |     | | | |   |   |   |         |     | |         | | |       |             | |                 |   |       |       |   |     |       |   | | | |   | | | | | |       | |   | | |     | | | |   | | 
+   |     | | | |   |   |   |         |     | |         | | |       |             | |             +---|-------------------------------------|---|-----|---|---|-|-|-----------+   | | |     | | | |   | | 
+   |     | | | |   |   |   |         |     | |         | | |       |             | |             |   |   |       |       |   |     |       |   | | | |   | | | | | |       |     | | |     | | | |   | | 
+   |     | | | |   |   |   |         |     | |         | | |       |             | |             |   |   |       |       |   |     |       |   | | | |   | | | | | |       |     | | |     | | | |   | | 
+   |     | | | |   |   |   |         |     | |         | | |       |             | |             |   |   |       |       |   |     |       |   | | | |   | | | | | |       |     | | |     | | | |   | | 
+   |     | | | |   |   |   |     +-----------|---------|---|-------|-------------|---------------|---|---|-------|-------|---------|-----------|-|---|---|-|-|-+ | |       |     | +-|-----------|-+ | | 
+   |     | | | |   |   |   |     |   |     | |         | | |       |             | |             |   |   |       |       |   |     |       |   | | | |   | | |   | |       |     |   |     | | | | | | | 
+   |     | | | |   |   |   |     |   |     | |       +-|-------------------------|---------------|-------|---------------|-------+ |       |   | | | |   | | |   | |       |     |   |     | | | | | | | 
+   |     | | | |   |   |   |     |   |     | |       | | | |       |             | |             |   |   |       |       |   |   | |       |   | | | |   | | |   | |       |     |   |     | | | | | | | 
+   |     | | +---------|---------|---------|-+       | | | |       |           +-|-------------------|-----------|-------|-------|-|-------|---|---|-|---|---|---+ |       |     |   |     | | | | | | | 
+   |     | |   |   |   |   U     |   |     |         | | | |       |           | | |             |   |   |       |       |   |   | |       |   | | | |   | | |     |       |     |   |     | | | | | | | 
+ +-|---+ | | +---------|---|---------|-------+       | | | |       |           | | |   +-----------+ +---|---------------------------------|-----|-----------------|-----------------|-----------|-+ | | 
+ | |   | | | | |   |   |   |     |   |     | |       | | | |       |           | | |   |         | |     |       |       |   |   | |       |   | | | |   | | |     |       |     |   |     | | | |   | | 
+ | |   | | | | |   |   |   |     |   |     | |       | | +-|-------|-------------|-|---+         | |     |       |       |   |   | |       |   | | | |   | | |     |       |     |   |     | | | |   | | 
+ | |   | | | | |   |   |   |     |   |     | |       | |   |       |           | | |             | |     |       |       |   |   | |       |   | | | |   | | |     |       |     |   |     | | | |   | | 
+ | |   | | | | | +-------------------|-----|-|-------|-|---|-------------------|-|---------------|-|---------------------|---|-------------+   | | | |   | | |     |       |     |   |     | | | |   | | 
+ | |   | | | | | | |   |   |     |   |     | |       | |   |       |           | | |             | |     |       |       |   |   | |           | | | |   | | |     |       |     |   |     | | | |   | | 
+ | |   | | | | | | |   |   |     |   |     | |       | |   |       |           | | |   +-----------|---------+   |       |   |   | |           | | | |   | | |     |       |     |   |     | | | |   | | 
+ | |   | | | | | | |   |   |     |   |     | |       | |   |       |           | | |   |         | |     |   |   |       |   |   | |           | | | |   | | |     |       |     |   |     | | | |   | | 
+ | |   | | | +-|-|-|-------|-----|---+ +---|-+   +---|-----|-----------------------|---|-------------------------|-----------|---|-|-----------|-|-------|-+ |     |       |     |   |     | | | |   | | 
+ | |   | | |   | | |   |   |     |     |   |     |   | |   |       |           | | |   |         | |     |   |   |       |   |   | |           | | | |   |   |     |       |     |   |     | | | |   | | 
+ | |   | | |   | | |   |   |     +---+ |   |     |   +-|-----------|-------------|---------------|-|-------------|---------------|-----------+ | | +-+   | +-------|-------------+   |     | | | |   | | 
+ | |   | | |   | | |   |   |         | |   |     |     |   |       |           | | |   |         | |     |   |   |       |   |   | |         | | |       | | |     |       |         |     | | | |   | | 
+ +-|-----|-|---|-----------|---------|-|---|-----------|---|-------|-------------|---------------|-----+ |   |   |       | +-|-+ | |         | | |       | | |     |       |         |     | | | |   | | 
+   |   | | |   | | |   |   |         | |   |     |     |   |       |           | | |   |         | |   | |   |   |       | | | | | |         | | |       | | |     |       |         |     | | | |   | | 
+   | +-----|-------|---|---|-----+   | |   |     |   +-|---|---------------------------|-----------+   | |   |   |       | | | | | |         | | |       | | |     |       |         |     | | | |   | | 
+   | | | | |   | | |   |   |     |   | |   |     |   | |   |       |           | | |   |         |     | |   |   |       | | | | | |         | | |       | | |     |       |         |     | | | |   | | 
+   | | | | |   | | +-------|-----|-----|---|---------|-------------|-----------|-|-|---|---------|-----|---------|---------+ | | | |         | | |       | | +-----------------------------+ | | |   | | 
+   | | | | |   | |     |   |     |   | |   |     |   | |   |       |           | | |   |         |     | |   |   |       |   | | | |         | | |       | |       |       |         |       | | |   | | 
+   | | | | |   | |     +---|---------|-----|---------+ | +-|--------------T------|-|---|---------|-----+ +-------|-----------|---|-----------|-----------|-+       |       |         |       | | |   | | 
+   | | | | |   | |         |     |   | |   |     |     | | |       |           | | |   |         |           |   |       |   | | | |         | | |       |         |       |         |       | | |   | | 
+ +-|---|-------|-----------|---------|-----------------|-----------|---------------|---|-------------------------|-------|-----|---|-----------+ |       |         |       |         |       | | |   | | 
+ | | | | | |   | |         |     |   | |   |     |     | | |       |           | | |   |         |           |   |       |   | | | |         |   |       |         |       |         |       | | |   | | 
+ | | | | | |   | |         |     |   | |   |     |     | | |       |           +-|-|-------------|-----+     +---|-------+ +-+ | | | +-------|-----------|---------|-------|---------|---------|-+   | | 
+ | | | | | |   | |         |     |   | |   |     |     | | |       |             | |   |         |     |         |         |   | | | |       |   |       |         |       |         |       | |     | | 
+ | | | | | |   | |         |     |   | |   |     |     | | |       |             | |   |         |     |         |         |   | | | |       |   |       |         |       |         |       | |     | | 
+ | | | | | |   | |         |     |   | |   |     |     | | |       |             | |   |         |     |         |         |   | | | |       |   |       |         |       |         |       | |     | | 
+ +---------+   | |         |     |   | |   |     |     | | |       |             | |   |         |     |         | +-----------|-------------|-+ |       | +-------|-------|-------------------------|-+ 
+   | | | |     | |         |     |   | |   |     |     | | |       |             | |   |         |     |         | |       |   | | | |       | | |       | |       |       |         |       | |     |   
+ +-+ | | |     | |         |     |   | |   |     |     | | |       |             | |   |         |     |         +---------|---|---|---------|-|-|-----------------------+ |         +-------|-+     +-+ 
+ |   | | |     | |         |     |   | |   |     |     | | |       |             | |   |         |     |           |       |   | | | |       | | |       | |       |     | |                 |         | 
+ |   | | |     | |         |     +---+ |   |     |     | +-|---------------------|-|-------------|-----|-----------------------|-----|---------------------|-------+     | |                 |         | 
+ |   | | |     | |         |           |   |     |     |   |       |             | |   |         |     |           |       |   | | | |       | | |       | |             | |                 |         | 
+ |   | | |     +-|---------|---------------|-----+     |   |       |         +-------------------|-----|-----+     +-------|---|---|-|---------|---------|---------------|-|-+               |         | 
+ |   | | |       |         |           |   |           |   |       |         |   | |   |         R     |     |             |   | | | |       | | |       | |             | | |               |         | 
+ |   | | |       |         |           |   |     +---------------------------|-----|-------------|-----------|-----------------|-|---|-----------|-------|-----------------|-|---------------|---------+ 
+ |   | | |       |         |           |   |     |     |   |       |         |   | |   |         |     |     |             |   | | | |       | | |       | |             | | |               |           
+ |   | +-|-------|---------|---------------------------|---|-------|-------------------|---------|-------------------------+   +---|-+   +---|-+ |       | |             | | |               |           
+ |   |   |       |         |           |   |     |     |   |       |         |   | |   |         |     |     |                   | |     |   |   |       | |             | | |               |           
+ +-------|-------|---------|---------------------------------------|---------|-----|-------------------|-+   |                   | |     |   |   |       | |             | | |               |           
+     |   |       |         |           |   |     |     |   |       |         |   | |   |         |     | |   |                   | |     |   |   |       | |             | | |               |           
+     |   |       |         |           |   |     |     |   +-------------------------------------------|-+   +-----+             | |     |   |   |       | |             | | |               |           
+     |   |       |         |           |   |     |     |           |         |   | |   |         |     |           |             | |     |   |   |       | |             | | |               |           
+     |   |       |         |           |   |     |     |           +-----------------------------+     |           +-------+     +-|---+ |   |   |       | |             | | |               |           
+     |   |       |         |           |   |     |     |                     |   | |   |               |                   |       |   | |   |   |       | |             | | |               |           
+     |   +-------|---------|-----------|---------+ +---|---+                 |   | |   |               +-------+           |       | +-------|---+       | |             | | |               |           
+     |           |         |           |   |       |   |   |                 |   | |   |                       |           |       | | | |   |           | |             | | |               |           
+ +---------------|-------------------------|-------|---|---|---------------------|-|---+                       +-----------|A------------------------------|-----------+ | | |               |           
+ |   |           |         |           |   |       |   |   |                 |   | |                                       |       | | | |   |           | |           | | | |               |           
+ |   |           |         |           |   |       |   |   |                 |   | |                                       |       | | | |   |           | |           | | | |               |           
+ |   |           |         |           |   |       |   |   |                 |   | |                                       |       | | | |   |           | |           | | | |               |           
+ |   |           |       +-|-----------------------+   |   +-----------------|---+ +---------------------------------------+       | | +-+   +-------------------------+ | | |               |           
+ |   |           |       | |           |   |           |                     |                                                     | |                   | |             | | |               |           
+ +---+   +---+   |       | |       +-------------------|---------------------------------------------------------------------------+ |                   | |             | | |               |           
+         |   |   |       | |       |   |   |           |                     |                                                       |                   | |             | | |               |           
+ +-----------+   |       | |       |   |   |           |                     +-----------------------------------------+             |                   +-|-------------------------------------------+ 
+ |       |       |       | |       |   |   |           |                                                               |             |                     |             | | |               |         | 
+ +-+     |       +---------|-------+   |   |           +---------------------------------------------------------------+             +-----------------------------------------------------------------+ 
+   |     |               | |           |   |                                                                                                               |             | | |               |           
+ Q-+     +---------------+ +-----------+   +---------------------------------------------------------------------------------------------------------------+             +-+ +---------------+           
+                                                                                                                                                                                                         
new file mode 100644
--- /dev/null
+++ b/2017/day19/problem
@@ -0,0 +1,84 @@
+--- Day 19: A Series of Tubes ---
+
+Somehow, a network packet got lost and ended up here. It's trying to
+follow a routing diagram (your puzzle input), but it's confused about
+where to go.
+
+Its starting point is just off the top of the diagram. Lines (drawn
+with |, -, and +) show the path it needs to take, starting by going
+down onto the only line connected to the top of the diagram. It needs
+to follow this path until it reaches the end (located somewhere within
+the diagram) and stop there.
+
+Sometimes, the lines cross over each other; in these cases, it needs
+to continue going the same direction, and only turn left or right when
+there's no other option. In addition, someone has left letters on the
+line; these also don't change its direction, but it can use them to
+keep track of where it's been. For example:
+
+     |          
+     |  +--+    
+     A  |  C    
+ F---|----E|--+ 
+     |  |  |  D 
+     +B-+  +--+ 
+
+Given this diagram, the packet needs to take the following path:
+
+    Starting at the only line touching the top of the diagram, it must
+    go down, pass through A, and continue onward to the first +.
+
+    Travel right, up, and right, passing through B in the process.
+
+    Continue down (collecting C), right, and up (collecting D).
+
+    Finally, go all the way left through E and stopping at F.
+
+Following the path to the end, the letters it sees on its path are
+ABCDEF.
+
+The little packet looks up at you, hoping you can help it find the
+way. What letters will it see (in the order it would see them) if it
+follows the path? (The routing diagram is very wide; make sure you
+view it without line wrapping.)
+
+Your puzzle answer was DTOUFARJQ.
+
+--- Part Two ---
+
+The packet is curious how many steps it needs to go.
+
+For example, using the same routing diagram from the example above...
+
+     |          
+     |  +--+    
+     A  |  C    
+ F---|--|-E---+ 
+     |  |  |  D 
+     +B-+  +--+ 
+
+...the packet would go:
+
+    6 steps down (including the first line at the top of the diagram).
+
+    3 steps right.
+
+    4 steps up.
+
+    3 steps right.
+
+    4 steps down.
+
+    3 steps right.
+
+    2 steps up.
+
+    13 steps left (including the F it stops on).
+
+This would result in a total of 38 steps.
+
+How many steps does the packet need to go?
+
+Your puzzle answer was 16642.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day20/input
@@ -0,0 +1,1000 @@
+p=<-1724,-1700,5620>, v=<44,-10,-107>, a=<2,6,-9>
+p=<551,3425,4570>, v=<-21,-7,-182>, a=<0,-10,0>
+p=<-524,-3400,2495>, v=<22,19,5>, a=<0,9,-8>
+p=<-123,-125,419>, v=<25,54,-12>, a=<-2,-5,-2>
+p=<-3811,3483,1459>, v=<162,-112,-26>, a=<9,-12,-8>
+p=<-827,475,771>, v=<52,-26,0>, a=<0,0,-6>
+p=<293,1547,-669>, v=<-18,-93,-12>, a=<0,0,6>
+p=<-251,-165,2787>, v=<16,-3,-160>, a=<0,2,-2>
+p=<-907,-309,-565>, v=<-11,-96,75>, a=<8,14,-5>
+p=<277,265,394>, v=<-80,-8,89>, a=<8,-2,-16>
+p=<158,-1933,779>, v=<-34,29,39>, a=<3,14,-13>
+p=<1334,-449,2>, v=<-73,-2,-18>, a=<-3,4,2>
+p=<-248,-2136,-1678>, v=<25,126,42>, a=<-1,3,10>
+p=<-108,-3389,2431>, v=<30,148,-79>, a=<-3,12,-13>
+p=<291,-1569,1010>, v=<9,78,-30>, a=<-4,4,-6>
+p=<-1270,-169,-761>, v=<128,-52,104>, a=<-5,8,-7>
+p=<473,-1765,-950>, v=<-4,62,65>, a=<-4,8,0>
+p=<-3434,5581,4276>, v=<-88,-93,-34>, a=<13,-6,-7>
+p=<-4844,-3149,-2204>, v=<21,105,-35>, a=<9,0,7>
+p=<8176,-6974,8131>, v=<-72,93,-54>, a=<-13,9,-14>
+p=<-1814,6046,-5354>, v=<-18,-93,8>, a=<5,-7,11>
+p=<2581,-4244,-4379>, v=<68,2,115>, a=<-10,9,2>
+p=<-3053,-52,-1564>, v=<58,-53,52>, a=<8,5,2>
+p=<3079,3875,-1480>, v=<-80,-86,26>, a=<-6,-9,4>
+p=<-1289,2006,-2551>, v=<-26,-52,99>, a=<8,-4,2>
+p=<6589,4375,-1445>, v=<-120,-149,7>, a=<-11,-2,4>
+p=<-286,3400,-2070>, v=<64,-97,-7>, a=<-4,-3,7>
+p=<3656,2161,-3059>, v=<-28,107,29>, a=<-4,-9,3>
+p=<7724,-989,5185>, v=<-178,-9,-126>, a=<-2,2,-1>
+p=<-214,127,2881>, v=<98,34,-99>, a=<-5,-2,1>
+p=<-160,-5705,181>, v=<4,48,-98>, a=<0,6,5>
+p=<1966,616,-1461>, v=<-113,25,-11>, a=<3,-3,4>
+p=<-1064,-839,-4146>, v=<19,58,63>, a=<1,-2,5>
+p=<2601,-2432,-793>, v=<-148,41,50>, a=<0,10,-1>
+p=<3114,-3188,683>, v=<-110,140,-89>, a=<-7,4,5>
+p=<801,-1685,-2143>, v=<47,28,49>, a=<-10,7,7>
+p=<-192,1521,3967>, v=<45,-79,-102>, a=<-2,2,0>
+p=<-5925,-8229,-12491>, v=<12,51,80>, a=<7,8,12>
+p=<-3897,-624,3460>, v=<120,36,11>, a=<-1,-1,-5>
+p=<-7563,-8853,-2663>, v=<14,-33,48>, a=<9,13,1>
+p=<-1050,9867,-4457>, v=<-13,-73,14>, a=<2,-9,5>
+p=<1485,-10218,6736>, v=<-38,-18,-173>, a=<0,14,0>
+p=<-3780,-11193,3772>, v=<-43,127,-117>, a=<7,8,1>
+p=<-3117,0,-10931>, v=<40,-20,140>, a=<2,1,7>
+p=<-7992,741,-8981>, v=<45,-59,130>, a=<8,2,5>
+p=<-3969,-1262,-5>, v=<56,-29,86>, a=<6,5,-6>
+p=<-1785,670,4825>, v=<-22,-11,-101>, a=<6,-1,-5>
+p=<3591,1930,807>, v=<18,89,86>, a=<-10,-11,-8>
+p=<4431,2812,-2637>, v=<-12,-15,-23>, a=<-10,-6,8>
+p=<9360,4333,-5513>, v=<-140,-59,98>, a=<-10,-5,5>
+p=<5020,830,811>, v=<-64,6,-26>, a=<-6,-2,0>
+p=<6477,-3169,-5513>, v=<-143,39,-30>, a=<-4,4,13>
+p=<-529,-4998,-1173>, v=<51,-14,-10>, a=<-2,11,3>
+p=<-435,-1347,-268>, v=<1,49,-3>, a=<1,0,1>
+p=<1231,-3321,-4972>, v=<-73,47,78>, a=<2,5,7>
+p=<727,5065,740>, v=<3,-93,48>, a=<-2,-6,-5>
+p=<-1252,4570,2332>, v=<15,-9,-1>, a=<4,-19,-10>
+p=<-1546,-2045,631>, v=<73,75,36>, a=<0,2,-6>
+p=<470,-2150,-4703>, v=<10,47,48>, a=<-3,5,16>
+p=<-2533,433,1849>, v=<87,-21,-44>, a=<3,0,-4>
+p=<6140,-3494,-3632>, v=<-150,100,85>, a=<-13,6,8>
+p=<-1672,-1541,-1637>, v=<46,-48,56>, a=<3,11,2>
+p=<-1882,-1478,106>, v=<67,103,17>, a=<2,-3,-2>
+p=<-848,1295,209>, v=<62,-128,24>, a=<5,0,-8>
+p=<152,580,119>, v=<-49,-7,-66>, a=<7,-9,10>
+p=<107,-350,-611>, v=<38,31,51>, a=<-8,1,2>
+p=<-628,-720,-331>, v=<-15,46,23>, a=<15,5,2>
+p=<-543,885,534>, v=<48,-76,-25>, a=<2,-2,-5>
+p=<772,-105,-881>, v=<-1,23,133>, a=<-13,-2,-8>
+p=<-2471,-873,-4405>, v=<-50,26,60>, a=<7,0,4>
+p=<1286,2000,-818>, v=<32,-6,112>, a=<-4,-3,-5>
+p=<5094,5434,5217>, v=<-10,-107,-83>, a=<-8,-3,-4>
+p=<5978,-1961,6067>, v=<-106,58,-3>, a=<-4,0,-10>
+p=<-3233,-1295,1581>, v=<29,-22,-81>, a=<3,3,2>
+p=<-6785,6993,2543>, v=<-65,-94,45>, a=<13,-5,-6>
+p=<-643,-1443,11682>, v=<-3,-56,-88>, a=<1,5,-12>
+p=<-8561,7474,1729>, v=<-131,-50,67>, a=<19,-8,-6>
+p=<-569,-3182,4467>, v=<-43,-28,107>, a=<3,6,-12>
+p=<7867,-9398,-4783>, v=<-100,7,34>, a=<-6,13,5>
+p=<2835,11840,-3488>, v=<-21,-54,-39>, a=<-3,-14,7>
+p=<1910,-2405,-1120>, v=<-34,-11,30>, a=<-1,4,0>
+p=<-3487,2750,1811>, v=<122,15,-82>, a=<1,-9,1>
+p=<-1303,-3516,-1712>, v=<-16,40,67>, a=<5,7,0>
+p=<-3435,-812,5295>, v=<-15,44,-108>, a=<11,-1,-7>
+p=<-3230,2132,-3519>, v=<70,-95,0>, a=<4,1,10>
+p=<-4647,-364,69>, v=<30,82,-57>, a=<11,-5,4>
+p=<-2112,1183,-5456>, v=<27,-18,61>, a=<4,-2,11>
+p=<1164,3419,1668>, v=<36,-104,-24>, a=<-6,-2,-3>
+p=<1255,1105,5022>, v=<46,12,-153>, a=<-7,-4,-3>
+p=<345,-2223,-7276>, v=<0,5,185>, a=<-1,6,7>
+p=<735,-2054,2526>, v=<-123,39,-30>, a=<7,3,-5>
+p=<-611,476,-1584>, v=<-46,26,111>, a=<9,-6,-2>
+p=<-1223,-867,-156>, v=<71,33,27>, a=<0,2,-2>
+p=<341,408,133>, v=<-21,30,82>, a=<0,-6,-10>
+p=<-1291,-68,1510>, v=<30,4,-35>, a=<5,0,-6>
+p=<-458,-646,1136>, v=<125,-43,-139>, a=<-11,9,8>
+p=<-917,2516,286>, v=<26,-67,46>, a=<3,-9,-7>
+p=<-33,2686,1204>, v=<-35,-86,-71>, a=<4,-8,0>
+p=<5067,-153,2717>, v=<-146,18,-88>, a=<-17,-1,-8>
+p=<443,-340,592>, v=<99,20,1>, a=<-14,0,-4>
+p=<-1174,-1630,-1150>, v=<30,99,41>, a=<9,4,7>
+p=<1361,983,1086>, v=<-109,-74,-5>, a=<1,0,-11>
+p=<-1837,-1162,735>, v=<102,105,-48>, a=<6,-2,-1>
+p=<984,372,-2047>, v=<-108,29,131>, a=<5,-8,4>
+p=<-381,-148,2191>, v=<-17,76,-139>, a=<7,-9,-4>
+p=<8982,3891,5939>, v=<33,43,-156>, a=<-17,-9,-1>
+p=<1094,3109,-9786>, v=<55,-39,79>, a=<-5,-3,12>
+p=<6993,-376,2250>, v=<-31,46,40>, a=<-10,-2,-6>
+p=<2976,-5129,2345>, v=<-114,0,-47>, a=<1,11,-2>
+p=<12156,-1469,3035>, v=<-172,33,-101>, a=<-15,1,0>
+p=<-4194,-2864,-8005>, v=<63,95,112>, a=<5,0,10>
+p=<-669,3091,-9325>, v=<-132,36,187>, a=<10,-9,8>
+p=<-5304,11086,-145>, v=<69,-122,5>, a=<7,-16,0>
+p=<-720,2612,-1116>, v=<80,-172,46>, a=<-4,5,0>
+p=<-5916,6128,-816>, v=<84,-81,-29>, a=<13,-14,5>
+p=<780,-3352,2868>, v=<5,14,-95>, a=<-3,10,-2>
+p=<-1524,-2572,-1560>, v=<-99,44,52>, a=<13,5,1>
+p=<2400,2156,1248>, v=<25,-103,35>, a=<-10,1,-7>
+p=<-2232,680,-1716>, v=<18,-54,-29>, a=<6,2,8>
+p=<-1968,-160,1764>, v=<7,56,-49>, a=<6,-4,-2>
+p=<2496,-808,-4140>, v=<-29,-17,97>, a=<-6,4,6>
+p=<2628,-172,-1512>, v=<-122,19,25>, a=<1,-1,3>
+p=<-876,-2812,2052>, v=<-26,4,-11>, a=<5,9,-6>
+p=<-1338,-3098,-4448>, v=<59,17,-10>, a=<0,10,17>
+p=<1376,2307,-2194>, v=<61,-86,-48>, a=<-10,-1,12>
+p=<-1982,30,-2355>, v=<15,-83,19>, a=<6,7,7>
+p=<3561,-3190,-2309>, v=<26,21,53>, a=<-15,10,4>
+p=<640,4377,1969>, v=<-51,-68,-1>, a=<2,-10,-7>
+p=<2273,-2063,-1780>, v=<-26,20,30>, a=<-6,6,4>
+p=<4297,-5421,2199>, v=<-54,58,-11>, a=<-11,15,-7>
+p=<2020,-3121,-4862>, v=<-15,114,164>, a=<-6,2,4>
+p=<4021,1410,6086>, v=<-174,-59,-36>, a=<0,0,-19>
+p=<-710,-514,-103>, v=<6,2,3>, a=<4,3,0>
+p=<174,-2690,-749>, v=<-37,22,23>, a=<3,15,2>
+p=<650,-1551,1835>, v=<43,36,-111>, a=<-9,6,0>
+p=<-2342,-1262,-2483>, v=<120,28,62>, a=<2,5,9>
+p=<-1611,1220,-375>, v=<95,-46,-17>, a=<0,-3,4>
+p=<1500,540,832>, v=<-25,48,-88>, a=<-7,-9,4>
+p=<-149,1764,934>, v=<36,-42,23>, a=<-3,-7,-9>
+p=<-728,868,1477>, v=<28,-2,-61>, a=<1,-5,-2>
+p=<-2294,2227,-2582>, v=<-37,-106,41>, a=<17,-2,11>
+p=<-2033,-293,2458>, v=<-42,-4,-49>, a=<16,2,-9>
+p=<2053,499,478>, v=<35,-10,-72>, a=<-16,-2,5>
+p=<159,-925,-753>, v=<-10,78,-15>, a=<0,-1,10>
+p=<380,-782,534>, v=<1,25,40>, a=<-4,5,-12>
+p=<159,-1705,-64>, v=<-10,96,2>, a=<0,5,0>
+p=<-1917,5395,-3194>, v=<24,-11,-39>, a=<2,-9,8>
+p=<2175,1237,-11510>, v=<-66,-21,94>, a=<0,-1,15>
+p=<-4534,-1053,1496>, v=<133,-92,-10>, a=<9,14,-6>
+p=<-1564,-423,1446>, v=<79,13,-60>, a=<0,1,-1>
+p=<226,-1933,96>, v=<0,99,-3>, a=<-1,0,0>
+p=<1106,-983,-5614>, v=<-23,83,209>, a=<-3,-3,7>
+p=<-4004,-873,346>, v=<33,-59,-26>, a=<16,10,1>
+p=<446,-73,16>, v=<10,-15,1>, a=<-3,2,0>
+p=<-1954,2537,2276>, v=<67,-30,-28>, a=<3,-9,-8>
+p=<1679,2113,1151>, v=<-125,-21,-49>, a=<4,-8,-1>
+p=<-1661,963,3671>, v=<84,-37,-70>, a=<0,-1,-11>
+p=<549,-1907,-1969>, v=<47,75,65>, a=<-7,2,3>
+p=<-1211,3043,1101>, v=<114,-183,-15>, a=<-5,3,-4>
+p=<3599,4543,-569>, v=<-53,-216,16>, a=<-12,-1,1>
+p=<1259,943,-3929>, v=<-62,69,58>, a=<0,-11,13>
+p=<3269,1153,2001>, v=<-5,-141,-81>, a=<-15,8,-2>
+p=<-301,513,-3429>, v=<-68,17,117>, a=<8,-4,5>
+p=<20,-3664,-1168>, v=<28,-75,2>, a=<-2,15,3>
+p=<6905,-2233,-142>, v=<-45,12,6>, a=<-15,5,0>
+p=<263,-5203,6014>, v=<159,24,-54>, a=<-12,12,-12>
+p=<1910,-3232,-5164>, v=<0,35,66>, a=<-5,6,9>
+p=<2099,1844,3854>, v=<-189,15,-58>, a=<8,-6,-6>
+p=<263,2384,1451>, v=<-65,-89,17>, a=<4,0,-5>
+p=<-1951,-370,-3166>, v=<17,13,6>, a=<4,0,8>
+p=<3970,-2112,-15695>, v=<19,33,63>, a=<-6,1,17>
+p=<-944,-84,-8441>, v=<-95,-39,77>, a=<6,2,7>
+p=<3463,189,-4463>, v=<-28,14,-45>, a=<-3,-1,8>
+p=<2527,-3126,-6179>, v=<76,-121,-1>, a=<-7,10,8>
+p=<-515,5454,-8675>, v=<54,39,23>, a=<-2,-9,10>
+p=<-5195,-6636,-6881>, v=<94,29,117>, a=<2,7,3>
+p=<-9056,2178,-7466>, v=<73,43,12>, a=<8,-5,9>
+p=<-7262,-4647,-7232>, v=<67,78,6>, a=<6,2,9>
+p=<10444,5025,-5594>, v=<-87,-50,44>, a=<-9,-4,5>
+p=<-1494,-5162,-5206>, v=<86,48,79>, a=<-2,12,10>
+p=<-2994,-2912,3394>, v=<3,62,99>, a=<9,4,-18>
+p=<1531,-5762,544>, v=<-48,163,44>, a=<-1,5,-5>
+p=<6856,-812,2669>, v=<-196,-22,-15>, a=<-6,4,-7>
+p=<-1519,-2937,-4531>, v=<61,-28,91>, a=<0,11,7>
+p=<7681,-2187,-4931>, v=<-99,7,172>, a=<-16,6,2>
+p=<831,-5587,-2956>, v=<-59,52,2>, a=<2,13,9>
+p=<-1969,-862,-4106>, v=<40,6,87>, a=<3,2,6>
+p=<310,-7295,-12457>, v=<49,102,90>, a=<-3,5,13>
+p=<3011,-13067,-7092>, v=<52,68,21>, a=<-7,15,9>
+p=<3011,2621,6302>, v=<-81,-90,1>, a=<0,1,-9>
+p=<1087,10465,3342>, v=<47,-36,43>, a=<-4,-13,-7>
+p=<-3538,1733,-3355>, v=<-151,48,91>, a=<13,-5,0>
+p=<-2057,-878,-2342>, v=<105,112,132>, a=<3,-7,2>
+p=<567,914,2730>, v=<26,17,-151>, a=<-7,-9,-2>
+p=<1167,-6,826>, v=<-37,49,2>, a=<-4,-6,-6>
+p=<-433,938,-214>, v=<46,-61,-18>, a=<-2,0,4>
+p=<-281,-670,114>, v=<-57,133,72>, a=<9,-11,-9>
+p=<1239,1162,-2622>, v=<-50,-75,158>, a=<-3,0,1>
+p=<-685,-1136,-2529>, v=<-19,-4,91>, a=<6,7,5>
+p=<1475,-425,-1782>, v=<13,42,97>, a=<-10,-2,0>
+p=<2366,196,-1323>, v=<-84,-78,24>, a=<-5,7,5>
+p=<125,-785,-2781>, v=<-83,24,162>, a=<8,2,-1>
+p=<-563,1545,-180>, v=<-40,37,-9>, a=<4,-6,1>
+p=<-2680,-311,7215>, v=<78,41,-69>, a=<1,-2,-12>
+p=<4483,-5212,3387>, v=<-4,195,-102>, a=<-10,-1,-1>
+p=<-1984,3662,864>, v=<-96,84,-45>, a=<11,-14,1>
+p=<-1442,508,-3484>, v=<48,-84,160>, a=<7,6,12>
+p=<1253,25,-131>, v=<-62,18,-12>, a=<-4,-3,3>
+p=<-875,-1655,-2644>, v=<45,18,115>, a=<2,13,10>
+p=<-392,-486,1479>, v=<18,32,-82>, a=<1,0,-3>
+p=<390,4226,-4285>, v=<-30,69,-9>, a=<1,-10,7>
+p=<-2364,-10786,-9595>, v=<28,42,83>, a=<2,14,10>
+p=<5466,5378,6335>, v=<88,-37,29>, a=<-13,-6,-11>
+p=<5628,5144,-10711>, v=<-46,-49,77>, a=<-6,-5,12>
+p=<-5253,6562,122>, v=<16,-126,-3>, a=<7,-3,0>
+p=<-2715,-2654,-508>, v=<-73,19,144>, a=<8,3,-7>
+p=<-7557,-3248,8258>, v=<80,54,-81>, a=<7,2,-8>
+p=<1893,1504,6008>, v=<-53,70,-37>, a=<0,-6,-7>
+p=<9957,-8396,-1408>, v=<-92,12,-90>, a=<-10,12,7>
+p=<-10869,6202,-7528>, v=<98,32,43>, a=<11,-11,9>
+p=<2721,10522,-3046>, v=<-76,-125,11>, a=<0,-9,4>
+p=<-1059,11188,6872>, v=<29,-51,-24>, a=<0,-14,-9>
+p=<-2630,2612,-6576>, v=<80,-27,47>, a=<0,-3,9>
+p=<5818,-9070,9165>, v=<-142,140,-5>, a=<-2,8,-16>
+p=<-650,-1513,-3243>, v=<37,-4,-37>, a=<-1,3,8>
+p=<934,-10390,3753>, v=<-62,10,-79>, a=<2,18,-2>
+p=<-1852,-889,-4898>, v=<4,33,80>, a=<5,0,8>
+p=<-3880,-5075,-530>, v=<-26,32,-61>, a=<13,12,6>
+p=<670,2075,-1661>, v=<42,0,23>, a=<-5,-6,3>
+p=<-6493,-2137,2382>, v=<61,0,-92>, a=<14,6,0>
+p=<2074,1620,5749>, v=<-93,-104,35>, a=<1,3,-19>
+p=<4050,-1578,1485>, v=<-61,127,10>, a=<-7,-5,-5>
+p=<17,-3261,-2043>, v=<25,0,-24>, a=<-2,10,8>
+p=<592,1964,-3368>, v=<15,-53,107>, a=<-3,-2,2>
+p=<2342,2289,2932>, v=<-81,-66,-15>, a=<-1,-2,-8>
+p=<-5808,-236,-918>, v=<141,61,22>, a=<7,-4,1>
+p=<42,364,-2268>, v=<-28,-2,-67>, a=<2,-1,12>
+p=<-3408,3814,57>, v=<71,-23,-147>, a=<5,-10,11>
+p=<-5233,414,-1568>, v=<-38,-30,35>, a=<19,1,2>
+p=<-6733,-986,4307>, v=<126,0,-148>, a=<11,3,-2>
+p=<-758,539,-1218>, v=<-22,-87,-5>, a=<4,5,4>
+p=<2242,-2811,6507>, v=<-51,-109,-145>, a=<-3,17,-9>
+p=<-1348,-469,2089>, v=<66,45,-79>, a=<0,-2,-2>
+p=<353,1127,1501>, v=<-81,-86,-73>, a=<6,3,0>
+p=<521,-3892,-1754>, v=<-1,43,115>, a=<-2,13,-3>
+p=<815,-7,451>, v=<-26,-65,21>, a=<-1,6,-4>
+p=<-3658,1778,-284>, v=<33,-62,-21>, a=<13,-2,3>
+p=<2558,2597,325>, v=<-65,-13,71>, a=<-5,-10,-8>
+p=<2348,2198,-158>, v=<99,-82,-27>, a=<-19,-2,3>
+p=<3839,2618,-1397>, v=<-115,-124,-1>, a=<-6,0,6>
+p=<808,1558,-4407>, v=<-31,46,85>, a=<0,-7,5>
+p=<-158,2020,-3175>, v=<18,-72,128>, a=<-1,0,-1>
+p=<-5730,3168,-865>, v=<72,-55,60>, a=<9,-4,-2>
+p=<-2720,2552,829>, v=<-108,25,72>, a=<14,-8,-7>
+p=<-4428,-6058,1487>, v=<98,57,-24>, a=<4,11,-2>
+p=<174,-1099,-723>, v=<30,72,64>, a=<-6,3,0>
+p=<-396,77,-129>, v=<-33,-39,47>, a=<11,5,-5>
+p=<216,-967,1185>, v=<-45,48,-17>, a=<5,5,-12>
+p=<324,-349,-807>, v=<24,55,45>, a=<-7,-4,4>
+p=<-2196,515,549>, v=<169,22,-42>, a=<3,-10,0>
+p=<-630,-133,-267>, v=<-46,-93,-65>, a=<16,16,14>
+p=<-846,1235,591>, v=<76,-129,-26>, a=<0,4,-3>
+p=<342,323,807>, v=<-23,-27,-18>, a=<0,0,-7>
+p=<1602,-1627,561>, v=<-63,116,-30>, a=<-10,3,-2>
+p=<511,296,-276>, v=<-81,-61,10>, a=<6,6,3>
+p=<-529,1706,99>, v=<34,-114,-55>, a=<4,-10,8>
+p=<-144,-4,874>, v=<34,68,-50>, a=<-3,-12,-7>
+p=<1446,-464,674>, v=<-103,15,-41>, a=<-7,6,-5>
+p=<-219,181,-536>, v=<36,-66,25>, a=<-2,9,5>
+p=<236,171,-236>, v=<7,-32,39>, a=<-5,3,-3>
+p=<96,91,-241>, v=<-45,-57,-43>, a=<7,9,12>
+p=<-39,-319,-456>, v=<73,61,6>, a=<-12,-5,7>
+p=<-2204,-2381,1899>, v=<-48,25,-26>, a=<14,8,-6>
+p=<1303,-596,1773>, v=<-72,61,-20>, a=<1,-3,-6>
+p=<-1133,1420,681>, v=<44,-57,21>, a=<1,-1,-5>
+p=<-881,-1415,-1419>, v=<87,-43,33>, a=<-4,10,3>
+p=<-1931,-470,1815>, v=<115,77,-66>, a=<-2,-5,-2>
+p=<-125,349,2865>, v=<29,-17,-72>, a=<-2,0,-6>
+p=<3424,97,-873>, v=<14,-5,7>, a=<-16,0,3>
+p=<2038,391,1437>, v=<-74,-8,-81>, a=<-2,-1,1>
+p=<-6411,719,-14316>, v=<-85,-76,85>, a=<13,3,15>
+p=<410,-288,3848>, v=<28,-108,36>, a=<-2,6,-7>
+p=<8314,2923,-5842>, v=<-63,22,174>, a=<-8,-5,-1>
+p=<-6050,3174,2113>, v=<8,-34,-84>, a=<11,-4,1>
+p=<-2418,7046,1937>, v=<76,-122,-29>, a=<0,-6,-2>
+p=<-1800,562,-113>, v=<82,-49,18>, a=<-1,2,-1>
+p=<4545,3856,3721>, v=<-153,-143,-68>, a=<-1,0,-5>
+p=<-2502,211,5395>, v=<10,6,-102>, a=<6,-1,-7>
+p=<1560,936,1001>, v=<-10,-46,-67>, a=<-9,-1,1>
+p=<-361,834,-1345>, v=<22,-31,44>, a=<0,-2,4>
+p=<1934,-1257,-2433>, v=<-68,-7,99>, a=<-5,9,5>
+p=<557,-764,-2909>, v=<49,54,55>, a=<-9,-1,13>
+p=<3141,1990,1205>, v=<-49,-18,-43>, a=<-15,-11,-3>
+p=<-397,-846,-12>, v=<59,42,33>, a=<-4,4,-5>
+p=<-493,-1314,72>, v=<28,94,-13>, a=<2,2,1>
+p=<-1729,-612,456>, v=<131,68,-6>, a=<2,-3,-5>
+p=<-1891,2010,-1272>, v=<151,-118,86>, a=<1,-8,3>
+p=<-277,672,-1416>, v=<23,-91,72>, a=<0,5,7>
+p=<-1903,90,-894>, v=<100,-10,35>, a=<9,0,6>
+p=<-247,-198,-570>, v=<-25,-25,-5>, a=<7,6,8>
+p=<454,398,1555>, v=<-52,29,-145>, a=<3,-6,6>
+p=<-1195,1894,2592>, v=<27,-113,1>, a=<5,0,-17>
+p=<2732,-809,-740>, v=<-159,1,-28>, a=<0,5,8>
+p=<7995,-10017,-225>, v=<-72,65,-44>, a=<-10,14,3>
+p=<-1542,3909,-5373>, v=<115,-170,-75>, a=<-4,3,14>
+p=<-7713,1797,-5307>, v=<13,-38,25>, a=<13,-1,8>
+p=<-4149,1830,-2601>, v=<7,-56,79>, a=<7,0,0>
+p=<1098,1401,7992>, v=<1,-43,-174>, a=<-2,0,-4>
+p=<-255,6747,6705>, v=<25,-137,-135>, a=<-1,-4,-4>
+p=<6246,-5430,-456>, v=<-87,147,31>, a=<-6,1,-1>
+p=<1869,-33,2658>, v=<-27,-38,-99>, a=<-8,4,-5>
+p=<195,876,2298>, v=<-67,35,-60>, a=<6,-9,-7>
+p=<-1515,597,-1644>, v=<85,-54,-12>, a=<0,2,11>
+p=<27,940,-783>, v=<7,-44,50>, a=<-2,-10,5>
+p=<427,-620,-698>, v=<-33,79,69>, a=<-2,-4,0>
+p=<-43,1145,952>, v=<14,-92,-96>, a=<-2,-5,0>
+p=<-343,-1980,-1913>, v=<11,204,119>, a=<4,-2,13>
+p=<1672,290,337>, v=<-141,-23,-51>, a=<-5,-2,3>
+p=<847,210,652>, v=<-9,40,-77>, a=<-14,-12,2>
+p=<227,645,1572>, v=<31,-42,-114>, a=<-10,-5,-8>
+p=<5132,-2254,3508>, v=<17,-13,-120>, a=<-13,6,0>
+p=<2928,9172,-1045>, v=<-72,-92,-98>, a=<-2,-15,9>
+p=<3363,2154,-2553>, v=<3,-60,44>, a=<-8,-1,3>
+p=<-3655,-3849,-1016>, v=<20,-78,51>, a=<7,14,-1>
+p=<-175,95,-1799>, v=<-25,11,63>, a=<2,-1,0>
+p=<-2263,-3269,-175>, v=<-28,-8,37>, a=<7,8,-2>
+p=<-548,660,-2632>, v=<78,-54,192>, a=<-4,-1,8>
+p=<-284,-473,1273>, v=<36,13,-55>, a=<-1,5,-10>
+p=<-1263,1001,899>, v=<113,-97,-81>, a=<1,1,0>
+p=<552,-1012,-1059>, v=<-82,98,-5>, a=<6,-1,17>
+p=<266,1199,1020>, v=<-68,-67,-86>, a=<8,-7,-1>
+p=<-273,352,1504>, v=<35,22,-52>, a=<-1,-9,-14>
+p=<178,1089,965>, v=<-12,-177,-33>, a=<0,13,-9>
+p=<-779,3754,4823>, v=<-100,-37,-43>, a=<6,-3,-4>
+p=<-7370,-5645,4121>, v=<9,64,35>, a=<9,4,-7>
+p=<-16886,6406,3926>, v=<133,-65,0>, a=<15,-5,-5>
+p=<8191,-5684,7241>, v=<30,25,15>, a=<-12,6,-10>
+p=<14665,1180,1391>, v=<-156,-51,-95>, a=<-11,1,3>
+p=<-5186,5587,1001>, v=<-7,-4,35>, a=<7,-7,-3>
+p=<-4445,4573,611>, v=<-6,-18,-15>, a=<6,-5,0>
+p=<4369,4417,-2704>, v=<-32,-114,-70>, a=<-4,0,7>
+p=<274,5314,-52>, v=<-67,3,42>, a=<3,-7,-2>
+p=<-4679,8902,-4888>, v=<120,-49,-54>, a=<0,-9,9>
+p=<-1946,1729,-573>, v=<-280,245,-81>, a=<20,-15,0>
+p=<-1839,1466,-1821>, v=<-261,212,-255>, a=<13,-16,15>
+p=<-2836,-464,-1612>, v=<-401,-65,-230>, a=<31,8,14>
+p=<2598,-811,983>, v=<370,-115,137>, a=<-25,9,-11>
+p=<994,-2572,348>, v=<142,-367,47>, a=<-9,24,-3>
+p=<2456,307,1189>, v=<355,45,174>, a=<-24,-7,-17>
+p=<-453,-2082,-1034>, v=<-66,-291,-147>, a=<0,19,9>
+p=<-1061,3123,-203>, v=<-153,446,-26>, a=<12,-27,-4>
+p=<-360,-2008,1626>, v=<-50,-292,235>, a=<5,23,-17>
+p=<-1354,1970,-2044>, v=<-195,282,-290>, a=<14,-24,21>
+p=<-2920,873,306>, v=<-419,124,43>, a=<31,-9,-3>
+p=<-666,-945,2847>, v=<-96,-135,404>, a=<6,9,-29>
+p=<-2744,655,699>, v=<-392,89,99>, a=<24,-5,0>
+p=<138,1954,-2278>, v=<16,276,-325>, a=<-8,-19,23>
+p=<619,2076,-2198>, v=<88,296,-309>, a=<-5,-25,23>
+p=<2760,804,-205>, v=<397,109,-29>, a=<-23,-2,0>
+p=<1750,-1552,1906>, v=<250,-221,271>, a=<-14,18,-19>
+p=<-1028,-1841,-1647>, v=<-150,-264,-236>, a=<8,18,14>
+p=<-1239,539,2728>, v=<-180,71,394>, a=<6,-5,-28>
+p=<-1844,-437,-1743>, v=<-261,-64,-250>, a=<23,8,20>
+p=<2245,-1089,2018>, v=<317,-156,280>, a=<-20,4,-18>
+p=<-395,-2813,852>, v=<-52,-396,125>, a=<2,27,-9>
+p=<-1245,2128,-1593>, v=<-183,308,-227>, a=<12,-21,15>
+p=<1634,-996,-2107>, v=<228,-143,-304>, a=<-16,9,26>
+p=<1859,-1170,-2386>, v=<265,-168,-334>, a=<-18,17,23>
+p=<2479,-778,1990>, v=<354,-113,284>, a=<-24,7,-19>
+p=<1220,-1898,-733>, v=<176,-267,-109>, a=<-12,21,6>
+p=<-2630,1109,443>, v=<-377,157,62>, a=<24,-7,-1>
+p=<-143,-1485,2595>, v=<-20,-212,372>, a=<1,14,-27>
+p=<-1407,2643,232>, v=<-201,380,33>, a=<14,-26,-4>
+p=<-804,2632,-1699>, v=<-113,375,-242>, a=<5,-25,15>
+p=<973,-1450,2368>, v=<138,-206,336>, a=<-7,14,-21>
+p=<481,916,-2992>, v=<67,124,-425>, a=<-7,-12,27>
+p=<2212,1209,1508>, v=<310,172,210>, a=<-20,-12,-15>
+p=<-2102,-1371,-580>, v=<-300,-191,-85>, a=<21,15,1>
+p=<-87,-2755,856>, v=<-10,-394,126>, a=<3,29,-8>
+p=<797,-2787,-212>, v=<116,-394,-30>, a=<-7,30,5>
+p=<214,-2854,-1369>, v=<30,-410,-195>, a=<-2,28,16>
+p=<1329,2877,899>, v=<193,412,136>, a=<-16,-30,-9>
+p=<226,-2708,1581>, v=<32,-386,229>, a=<4,26,-15>
+p=<3174,-271,1462>, v=<449,-35,204>, a=<-30,2,-16>
+p=<-1001,1168,-2585>, v=<-140,163,-371>, a=<12,-15,25>
+p=<2267,-2508,-213>, v=<316,-358,-29>, a=<-22,22,-1>
+p=<1914,2641,1427>, v=<271,377,202>, a=<-19,-22,-15>
+p=<1504,-1476,-811>, v=<219,-211,-113>, a=<-17,19,13>
+p=<2928,-455,1105>, v=<418,-65,156>, a=<-29,4,-8>
+p=<-980,-2177,-1473>, v=<-134,-305,-210>, a=<9,20,14>
+p=<767,2480,-1707>, v=<110,354,-242>, a=<-7,-24,20>
+p=<188,-1031,-2334>, v=<22,-147,-337>, a=<-2,14,23>
+p=<798,2728,-1224>, v=<114,391,-173>, a=<-7,-26,15>
+p=<-1457,-2141,-1463>, v=<-208,-305,-208>, a=<11,24,16>
+p=<-527,-763,-3181>, v=<-75,-108,-458>, a=<3,4,33>
+p=<2772,1596,-800>, v=<401,230,-118>, a=<-24,-11,8>
+p=<658,-3138,-1155>, v=<94,-447,-163>, a=<-5,31,13>
+p=<-1927,-1811,1006>, v=<-276,-258,143>, a=<14,16,-11>
+p=<-132,2824,1330>, v=<-20,407,188>, a=<-3,-24,-13>
+p=<-132,2212,2444>, v=<-18,319,352>, a=<0,-20,-23>
+p=<2397,-1648,-1417>, v=<342,-236,-205>, a=<-28,14,14>
+p=<-1755,-2028,1986>, v=<-250,-288,282>, a=<16,17,-19>
+p=<2065,455,2225>, v=<295,64,314>, a=<-24,-7,-22>
+p=<2133,-1955,1135>, v=<304,-282,163>, a=<-25,20,-8>
+p=<-3306,-728,284>, v=<-472,-104,44>, a=<37,7,-6>
+p=<2379,-2510,30>, v=<339,-361,-1>, a=<-21,23,0>
+p=<1179,1881,-2107>, v=<170,274,-300>, a=<-13,-17,23>
+p=<-381,3158,-675>, v=<-50,451,-96>, a=<1,-32,5>
+p=<-1993,959,2230>, v=<-287,137,312>, a=<23,-11,-27>
+p=<1945,2518,487>, v=<279,363,68>, a=<-17,-23,-3>
+p=<1340,2084,-1523>, v=<191,294,-217>, a=<-13,-22,17>
+p=<-2803,-108,-106>, v=<-392,-15,-16>, a=<28,4,-3>
+p=<369,-3191,781>, v=<51,-454,109>, a=<-1,30,-9>
+p=<-1662,-1281,1622>, v=<-235,-187,235>, a=<14,14,-19>
+p=<2547,-136,1029>, v=<364,-21,151>, a=<-24,1,-10>
+p=<106,3026,-241>, v=<14,431,-34>, a=<2,-35,2>
+p=<13,2362,-258>, v=<1,337,-38>, a=<3,-21,-1>
+p=<209,697,-2664>, v=<24,96,-376>, a=<-4,-4,22>
+p=<692,-2830,516>, v=<98,-402,67>, a=<-4,28,-2>
+p=<593,-3116,-211>, v=<82,-442,-26>, a=<-8,35,1>
+p=<2062,864,-2093>, v=<295,123,-298>, a=<-22,-9,26>
+p=<2961,-1317,620>, v=<424,-195,89>, a=<-31,13,-10>
+p=<-655,1829,3285>, v=<-98,262,467>, a=<9,-20,-32>
+p=<-2844,338,990>, v=<-408,51,137>, a=<30,-3,-12>
+p=<-2490,-1296,-273>, v=<-354,-185,-34>, a=<26,14,3>
+p=<2235,-2145,-953>, v=<317,-300,-133>, a=<-22,17,11>
+p=<678,-2930,1292>, v=<98,-415,179>, a=<-2,29,-12>
+p=<-897,-1829,2128>, v=<-126,-262,304>, a=<8,20,-21>
+p=<-1844,-673,2813>, v=<-263,-101,401>, a=<20,2,-25>
+p=<-1735,2425,-700>, v=<-247,343,-99>, a=<19,-23,13>
+p=<-373,-1365,2546>, v=<-52,-195,362>, a=<3,14,-28>
+p=<-2344,-2466,898>, v=<-330,-352,127>, a=<25,28,-4>
+p=<-2247,-1405,1926>, v=<-319,-196,275>, a=<24,14,-18>
+p=<-2165,626,2199>, v=<-309,90,319>, a=<19,-7,-21>
+p=<2512,-2320,-210>, v=<358,-326,-30>, a=<-25,28,2>
+p=<1269,2478,-1789>, v=<180,356,-259>, a=<-15,-22,19>
+p=<990,-1592,-1961>, v=<140,-227,-278>, a=<-8,19,17>
+p=<-2138,-975,906>, v=<-308,-130,133>, a=<21,12,-9>
+p=<-227,-337,2813>, v=<-34,-48,405>, a=<1,7,-31>
+p=<1334,1002,2246>, v=<190,142,320>, a=<-11,-15,-20>
+p=<-1820,101,-1802>, v=<-260,18,-257>, a=<19,-6,16>
+p=<1301,2556,1821>, v=<187,363,265>, a=<-13,-28,-18>
+p=<-1809,1664,-570>, v=<-257,241,-83>, a=<23,-23,4>
+p=<534,1724,-1633>, v=<70,251,-235>, a=<-6,-20,16>
+p=<892,2879,1085>, v=<128,412,153>, a=<-11,-29,-16>
+p=<-1518,-2391,-1361>, v=<-214,-344,-188>, a=<12,23,15>
+p=<2491,21,1736>, v=<357,1,246>, a=<-24,-3,-10>
+p=<-1235,1930,-1209>, v=<-173,275,-172>, a=<8,-17,13>
+p=<-2799,114,909>, v=<-398,12,131>, a=<27,-1,-11>
+p=<-2858,-538,655>, v=<-406,-78,95>, a=<31,0,-11>
+p=<-2331,13,1722>, v=<-333,3,248>, a=<15,-1,-17>
+p=<147,-2948,-1979>, v=<20,-421,-282>, a=<-3,31,25>
+p=<-840,350,-2798>, v=<-123,50,-407>, a=<9,-3,30>
+p=<-2670,-1298,1164>, v=<-379,-185,162>, a=<24,15,-9>
+p=<2977,1377,854>, v=<425,201,118>, a=<-28,-14,-8>
+p=<2629,1888,-227>, v=<372,269,-33>, a=<-28,-23,0>
+p=<2181,749,-2309>, v=<314,105,-329>, a=<-20,-12,20>
+p=<-1829,2151,-144>, v=<-261,304,-21>, a=<18,-20,2>
+p=<1058,2344,-792>, v=<153,335,-109>, a=<-11,-26,6>
+p=<-2888,216,1655>, v=<-412,23,235>, a=<28,-3,-12>
+p=<-1457,-2306,-1040>, v=<-209,-329,-141>, a=<8,19,13>
+p=<-1551,739,2450>, v=<-223,105,351>, a=<17,-7,-20>
+p=<-519,2391,1529>, v=<-74,341,222>, a=<7,-23,-15>
+p=<747,2914,608>, v=<99,420,83>, a=<-2,-24,-5>
+p=<2023,-480,-1576>, v=<289,-69,-225>, a=<-20,5,15>
+p=<-326,2588,581>, v=<-42,369,83>, a=<1,-25,-3>
+p=<-1930,-1667,-1649>, v=<-275,-238,-236>, a=<20,13,21>
+p=<-749,2595,-60>, v=<-110,366,-8>, a=<2,-29,1>
+p=<1723,-1596,2333>, v=<246,-228,334>, a=<-15,11,-21>
+p=<394,2628,568>, v=<58,371,75>, a=<-6,-25,-4>
+p=<-575,-657,2907>, v=<-85,-98,411>, a=<4,6,-29>
+p=<-2480,155,1260>, v=<-354,21,180>, a=<24,-3,-11>
+p=<1869,2190,152>, v=<270,312,26>, a=<-17,-21,-1>
+p=<2559,907,-167>, v=<364,129,-24>, a=<-22,-10,3>
+p=<101,-1016,2405>, v=<12,-144,341>, a=<-2,6,-26>
+p=<309,-1644,-2154>, v=<44,-231,-310>, a=<1,14,22>
+p=<-370,2813,31>, v=<-52,400,6>, a=<2,-35,-6>
+p=<549,-2545,-1748>, v=<78,-362,-249>, a=<-4,25,17>
+p=<-1519,24,2682>, v=<-215,-3,385>, a=<15,0,-26>
+p=<-301,-2872,-582>, v=<-37,-408,-86>, a=<9,28,5>
+p=<1479,2733,273>, v=<210,391,34>, a=<-10,-27,3>
+p=<449,1890,2152>, v=<69,270,307>, a=<-8,-22,-21>
+p=<-335,-758,-3122>, v=<-46,-103,-448>, a=<-4,5,22>
+p=<-273,-152,2817>, v=<-39,-26,402>, a=<3,1,-27>
+p=<-1710,2293,-229>, v=<-242,327,-34>, a=<13,-23,5>
+p=<2860,1819,513>, v=<410,255,74>, a=<-28,-17,0>
+p=<-1189,-714,-2590>, v=<-162,-106,-370>, a=<11,7,22>
+p=<2122,-391,-1750>, v=<300,-60,-244>, a=<-18,1,20>
+p=<1742,231,-2298>, v=<252,31,-327>, a=<-20,-2,22>
+p=<-244,-1461,-3146>, v=<-34,-209,-448>, a=<2,17,34>
+p=<-1961,1924,-229>, v=<-277,273,-37>, a=<19,-14,2>
+p=<1185,-703,-2536>, v=<169,-102,-364>, a=<-15,7,28>
+p=<-2036,-974,1767>, v=<-294,-139,253>, a=<24,4,-18>
+p=<-1907,1401,-1942>, v=<-270,200,-277>, a=<19,-14,23>
+p=<1570,910,2204>, v=<220,131,314>, a=<-15,-7,-25>
+p=<-2512,1158,-711>, v=<-352,162,-101>, a=<24,-9,6>
+p=<-2295,1656,1463>, v=<-329,237,210>, a=<19,-16,-16>
+p=<-1990,-1699,1122>, v=<-283,-241,164>, a=<20,16,-11>
+p=<-2727,219,-1289>, v=<-391,33,-181>, a=<27,1,14>
+p=<1823,-1829,-1315>, v=<263,-263,-187>, a=<-19,20,17>
+p=<943,-181,-2581>, v=<134,-24,-369>, a=<-2,-2,23>
+p=<-539,-1893,-2662>, v=<-81,-268,-383>, a=<6,14,26>
+p=<562,1747,-2106>, v=<78,249,-302>, a=<-4,-17,21>
+p=<2243,-1988,-137>, v=<319,-286,-19>, a=<-22,19,0>
+p=<-308,-1605,1962>, v=<-49,-232,282>, a=<2,13,-15>
+p=<2024,713,-733>, v=<289,100,-99>, a=<-23,-9,4>
+p=<1916,2142,-941>, v=<268,309,-136>, a=<-19,-26,11>
+p=<-858,2396,-1584>, v=<-122,342,-227>, a=<6,-20,16>
+p=<2928,-1601,-34>, v=<422,-230,-7>, a=<-27,19,-3>
+p=<-2575,480,-2177>, v=<-361,72,-307>, a=<21,-3,23>
+p=<-510,-1917,2839>, v=<-73,-270,405>, a=<6,23,-33>
+p=<-729,1988,-1890>, v=<-100,280,-273>, a=<14,-25,18>
+p=<-490,-872,-2231>, v=<-68,-124,-318>, a=<4,11,19>
+p=<3319,-12,338>, v=<474,-6,45>, a=<-28,-5,-2>
+p=<-1846,-972,2210>, v=<-263,-137,312>, a=<17,7,-26>
+p=<-494,1578,-2857>, v=<-64,228,-410>, a=<3,-9,29>
+p=<1793,2135,-690>, v=<254,304,-97>, a=<-20,-22,7>
+p=<-142,-604,-2841>, v=<-18,-90,-404>, a=<4,12,26>
+p=<23,125,-3013>, v=<3,14,-431>, a=<2,0,23>
+p=<2779,698,1873>, v=<395,99,267>, a=<-20,-4,-21>
+p=<478,-2847,917>, v=<70,-407,131>, a=<-8,25,-9>
+p=<-1407,-765,2530>, v=<-199,-108,359>, a=<13,6,-19>
+p=<-623,-564,-2369>, v=<-88,-80,-337>, a=<9,8,22>
+p=<-1713,-1957,-1266>, v=<-247,-281,-180>, a=<24,20,12>
+p=<-2391,916,1264>, v=<-341,125,178>, a=<26,-7,-12>
+p=<975,-1407,2213>, v=<136,-202,313>, a=<-12,13,-17>
+p=<140,2034,2016>, v=<17,291,288>, a=<-2,-22,-23>
+p=<2653,-2031,161>, v=<379,-296,26>, a=<-24,20,1>
+p=<-2296,-662,-1600>, v=<-325,-94,-227>, a=<22,5,13>
+p=<370,-2330,1610>, v=<51,-335,230>, a=<-3,23,-17>
+p=<1381,-1462,-1982>, v=<199,-205,-280>, a=<-19,19,19>
+p=<-757,-3446,237>, v=<-102,-498,31>, a=<7,31,-2>
+p=<2597,-656,-167>, v=<371,-92,-22>, a=<-26,8,2>
+p=<1916,-1937,858>, v=<273,-276,120>, a=<-24,22,-7>
+p=<-211,2241,2164>, v=<-28,316,313>, a=<5,-22,-20>
+p=<1029,-1038,-2307>, v=<147,-146,-328>, a=<-5,8,22>
+p=<2015,-187,-1999>, v=<285,-23,-285>, a=<-20,3,15>
+p=<883,716,-2927>, v=<131,107,-417>, a=<-3,-7,29>
+p=<-1216,2190,-1080>, v=<-173,310,-153>, a=<9,-20,10>
+p=<735,-2629,-668>, v=<105,-380,-96>, a=<-5,27,6>
+p=<530,-2800,1543>, v=<75,-400,215>, a=<-8,30,-16>
+p=<821,-1765,-2077>, v=<115,-249,-297>, a=<-5,21,20>
+p=<-1742,289,-1891>, v=<-247,40,-270>, a=<20,1,19>
+p=<-1669,807,-2416>, v=<-245,118,-343>, a=<16,-3,25>
+p=<-247,-390,-3001>, v=<-34,-51,-426>, a=<0,3,30>
+p=<-1514,2353,1080>, v=<-220,335,156>, a=<13,-23,-12>
+p=<2087,-2377,333>, v=<297,-335,43>, a=<-28,23,-3>
+p=<-2453,-1341,-387>, v=<-344,-189,-51>, a=<20,13,3>
+p=<680,2780,1052>, v=<95,401,147>, a=<-3,-25,-19>
+p=<-2760,-147,1331>, v=<-395,-20,185>, a=<22,5,-18>
+p=<72,-2573,2113>, v=<12,-367,303>, a=<2,27,-21>
+p=<-1461,234,2182>, v=<-209,32,311>, a=<18,-2,-22>
+p=<-2866,-1117,-722>, v=<-408,-161,-104>, a=<32,8,6>
+p=<-2031,887,2070>, v=<-289,127,293>, a=<22,-7,-23>
+p=<-1884,-569,-2606>, v=<-268,-81,-373>, a=<15,2,25>
+p=<-3154,-231,168>, v=<-450,-29,24>, a=<28,1,-3>
+p=<1367,2691,496>, v=<200,386,66>, a=<-10,-26,-3>
+p=<1580,867,-2113>, v=<226,131,-301>, a=<-15,-5,20>
+p=<2258,2370,-251>, v=<323,339,-32>, a=<-19,-21,2>
+p=<-3041,-1395,-544>, v=<-429,-206,-80>, a=<30,13,10>
+p=<-2605,1717,422>, v=<-370,242,62>, a=<26,-15,-4>
+p=<-222,2666,-774>, v=<-24,383,-111>, a=<2,-26,7>
+p=<1013,-109,2778>, v=<147,-11,399>, a=<-10,2,-21>
+p=<-68,2371,2263>, v=<-7,345,319>, a=<0,-27,-22>
+p=<-1846,1527,-1222>, v=<-264,221,-173>, a=<18,-16,14>
+p=<1559,-2505,-851>, v=<226,-361,-121>, a=<-17,18,1>
+p=<1053,-1878,-1881>, v=<150,-268,-263>, a=<-6,25,19>
+p=<1263,-580,2029>, v=<175,-83,289>, a=<-9,9,-20>
+p=<234,3378,380>, v=<29,486,55>, a=<-1,-34,-4>
+p=<1326,-2437,-1123>, v=<192,-348,-157>, a=<-11,19,10>
+p=<1551,277,-2504>, v=<223,44,-360>, a=<-16,-2,25>
+p=<73,1335,-2543>, v=<10,192,-363>, a=<-1,-14,20>
+p=<-1718,2200,1626>, v=<-245,313,230>, a=<13,-25,-16>
+p=<-1362,2522,1449>, v=<-194,357,209>, a=<12,-28,-13>
+p=<-2488,-1296,1175>, v=<-352,-187,165>, a=<23,12,-11>
+p=<-332,2911,-349>, v=<-39,419,-53>, a=<2,-29,3>
+p=<-1134,1983,-1045>, v=<-155,280,-151>, a=<6,-23,10>
+p=<741,-130,2797>, v=<105,-16,397>, a=<-6,0,-29>
+p=<-2081,-652,1749>, v=<-294,-91,251>, a=<22,6,-16>
+p=<-499,1284,2217>, v=<-69,185,319>, a=<8,-12,-17>
+p=<-1335,2622,1252>, v=<-190,371,174>, a=<8,-23,-11>
+p=<-36,-1101,2781>, v=<-8,-157,398>, a=<0,13,-28>
+p=<798,-3057,-1402>, v=<116,-432,-204>, a=<-7,32,13>
+p=<-2307,-765,1727>, v=<-329,-112,244>, a=<21,5,-21>
+p=<743,-1128,-2383>, v=<106,-163,-338>, a=<-9,10,31>
+p=<943,-1899,-1960>, v=<136,-271,-278>, a=<-5,21,21>
+p=<2032,2157,-217>, v=<296,305,-28>, a=<-19,-18,3>
+p=<-36,-834,2524>, v=<-3,-116,358>, a=<-1,9,-30>
+p=<-148,-3140,-754>, v=<-22,-445,-101>, a=<-3,35,7>
+p=<2313,754,-1936>, v=<330,105,-277>, a=<-20,-3,22>
+p=<1216,-1980,-477>, v=<177,-284,-65>, a=<-12,19,9>
+p=<587,2310,-886>, v=<82,331,-126>, a=<2,-18,13>
+p=<-616,-3165,-446>, v=<-88,-451,-67>, a=<4,28,3>
+p=<-2647,41,1961>, v=<-382,6,280>, a=<29,-2,-13>
+p=<1254,-1068,-2291>, v=<180,-151,-325>, a=<-7,14,27>
+p=<-482,2288,-2367>, v=<-69,325,-340>, a=<6,-21,25>
+p=<455,-575,3088>, v=<68,-84,444>, a=<-6,9,-28>
+p=<-1956,913,-2338>, v=<-279,134,-331>, a=<20,-8,17>
+p=<-2331,-173,-2070>, v=<-329,-23,-295>, a=<18,5,18>
+p=<-2159,1340,-1718>, v=<-308,190,-244>, a=<23,-13,17>
+p=<101,-2154,-1833>, v=<19,-303,-260>, a=<3,24,18>
+p=<385,-2955,-780>, v=<52,-425,-113>, a=<-3,26,11>
+p=<440,-2456,1416>, v=<65,-353,197>, a=<-7,20,-17>
+p=<2402,-1658,129>, v=<345,-242,18>, a=<-23,12,-4>
+p=<-2791,431,-579>, v=<-395,62,-86>, a=<22,-11,5>
+p=<2276,-833,1478>, v=<329,-117,209>, a=<-23,8,-10>
+p=<-1378,2524,526>, v=<-199,362,75>, a=<13,-23,-6>
+p=<-1473,1956,1919>, v=<-212,281,271>, a=<15,-19,-23>
+p=<1200,-1413,-2262>, v=<171,-201,-324>, a=<-12,15,19>
+p=<-211,-2740,179>, v=<-29,-390,25>, a=<0,25,-2>
+p=<1200,501,-2526>, v=<165,73,-360>, a=<-8,-8,23>
+p=<-3082,1519,569>, v=<-445,212,80>, a=<31,-18,-7>
+p=<736,400,-2800>, v=<110,55,-397>, a=<-9,-4,34>
+p=<-2943,20,-640>, v=<-415,2,-88>, a=<29,0,9>
+p=<-2161,1680,1351>, v=<-306,238,193>, a=<21,-9,-10>
+p=<176,-1570,-2036>, v=<25,-225,-292>, a=<0,12,27>
+p=<1766,-1829,1593>, v=<251,-264,227>, a=<-18,19,-16>
+p=<-676,-2015,1795>, v=<-96,-289,254>, a=<6,22,-18>
+p=<1247,-2216,715>, v=<177,-315,99>, a=<-13,24,-7>
+p=<-532,3555,272>, v=<-70,508,40>, a=<2,-28,-2>
+p=<32,-2330,-2206>, v=<4,-333,-315>, a=<6,23,25>
+p=<-2199,-286,1894>, v=<-314,-38,269>, a=<21,-1,-18>
+p=<1241,-1395,-2212>, v=<178,-198,-316>, a=<-14,12,17>
+p=<2757,1247,1528>, v=<393,179,218>, a=<-29,-12,-15>
+p=<-2353,-487,-1637>, v=<-336,-75,-234>, a=<24,3,14>
+p=<316,-3194,682>, v=<49,-454,97>, a=<-3,29,0>
+p=<-225,-2074,2080>, v=<-29,-296,300>, a=<0,23,-19>
+p=<2270,-1359,1272>, v=<324,-191,177>, a=<-19,9,-11>
+p=<-740,-1058,2960>, v=<-107,-153,425>, a=<6,12,-27>
+p=<1871,-770,-2585>, v=<263,-104,-372>, a=<-17,6,24>
+p=<-975,2955,1050>, v=<-141,420,155>, a=<9,-29,-8>
+p=<864,-2527,1431>, v=<124,-364,200>, a=<-8,26,-16>
+p=<-2811,882,1224>, v=<-404,122,169>, a=<27,-8,-12>
+p=<2612,-973,-239>, v=<370,-138,-35>, a=<-24,7,2>
+p=<-823,1840,1773>, v=<-117,266,253>, a=<6,-20,-16>
+p=<755,-1433,-2639>, v=<109,-202,-382>, a=<-6,10,23>
+p=<1536,-155,-2466>, v=<219,-21,-359>, a=<-20,5,29>
+p=<-691,924,3172>, v=<-98,132,453>, a=<8,-9,-30>
+p=<-2362,1481,-1521>, v=<-339,211,-215>, a=<23,-19,17>
+p=<-1628,1517,-1770>, v=<-227,215,-252>, a=<19,-14,16>
+p=<2007,2360,761>, v=<291,338,108>, a=<-20,-18,-2>
+p=<-1582,-2836,1121>, v=<-225,-405,160>, a=<15,28,-11>
+p=<-1590,-1980,1808>, v=<-228,-281,258>, a=<17,18,-17>
+p=<2673,404,-1573>, v=<376,56,-227>, a=<-24,-4,14>
+p=<-1386,-2912,-464>, v=<-200,-415,-62>, a=<9,26,-3>
+p=<-1708,-172,-2841>, v=<-244,-24,-403>, a=<16,3,28>
+p=<2003,-57,-1605>, v=<283,-6,-229>, a=<-23,4,15>
+p=<515,3354,-1053>, v=<73,480,-151>, a=<-6,-33,16>
+p=<-2371,733,-1207>, v=<-338,107,-174>, a=<27,-8,16>
+p=<3276,1546,567>, v=<469,217,83>, a=<-30,-18,-10>
+p=<1839,565,-2617>, v=<264,81,-381>, a=<-13,-5,24>
+p=<-2434,849,1816>, v=<-347,128,259>, a=<24,-11,-20>
+p=<-303,2418,1554>, v=<-40,345,219>, a=<3,-24,-14>
+p=<-2796,208,97>, v=<-405,30,13>, a=<28,-8,3>
+p=<839,527,3032>, v=<122,77,433>, a=<-14,-3,-32>
+p=<591,-1595,2308>, v=<79,-229,329>, a=<-10,14,-20>
+p=<2834,1302,-1501>, v=<402,183,-215>, a=<-25,-13,15>
+p=<-846,430,2898>, v=<-125,60,410>, a=<4,-2,-28>
+p=<162,3204,667>, v=<23,454,100>, a=<-3,-33,-4>
+p=<1054,-3213,-449>, v=<148,-464,-58>, a=<-7,33,4>
+p=<-690,-913,2768>, v=<-96,-127,393>, a=<11,14,-26>
+p=<2582,1622,-916>, v=<366,231,-130>, a=<-18,-20,8>
+p=<-1767,-1244,-1974>, v=<-249,-175,-287>, a=<12,15,25>
+p=<516,3015,552>, v=<72,430,78>, a=<-3,-35,-10>
+p=<656,-3515,-562>, v=<93,-510,-83>, a=<-8,32,4>
+p=<-2203,-1201,1039>, v=<-314,-175,151>, a=<19,10,-11>
+p=<1451,1331,-2055>, v=<209,191,-288>, a=<-15,-7,20>
+p=<-2271,-2353,682>, v=<-324,-336,97>, a=<23,23,-8>
+p=<-798,-1848,-2089>, v=<-111,-262,-298>, a=<8,20,20>
+p=<-561,-98,-2958>, v=<-80,-14,-428>, a=<7,-5,29>
+p=<2617,-898,-986>, v=<379,-126,-143>, a=<-28,9,6>
+p=<-374,1799,-2089>, v=<-52,258,-298>, a=<5,-17,26>
+p=<-176,-2662,1432>, v=<-20,-378,209>, a=<1,28,-14>
+p=<-723,1760,-2123>, v=<-104,249,-302>, a=<5,-15,20>
+p=<2331,-1002,-1166>, v=<334,-141,-166>, a=<-23,3,8>
+p=<-1387,-3036,-372>, v=<-203,-430,-56>, a=<16,30,3>
+p=<2210,-874,-2286>, v=<314,-129,-326>, a=<-27,7,21>
+p=<-968,2174,1925>, v=<-137,309,275>, a=<9,-19,-17>
+p=<-2243,-440,-1875>, v=<-322,-58,-268>, a=<24,4,21>
+p=<8,2804,-1019>, v=<-3,397,-145>, a=<1,-28,16>
+p=<2671,-247,1779>, v=<381,-35,249>, a=<-31,1,-17>
+p=<2773,-2110,-323>, v=<400,-296,-44>, a=<-26,15,7>
+p=<503,-2583,1677>, v=<65,-369,235>, a=<-5,25,-12>
+p=<1715,-1098,-2211>, v=<239,-157,-317>, a=<-13,13,22>
+p=<520,-446,3169>, v=<76,-62,454>, a=<-8,9,-29>
+p=<1461,-1902,-2348>, v=<208,-269,-336>, a=<-9,20,21>
+p=<3595,-683,910>, v=<508,-96,130>, a=<-35,8,-6>
+p=<-790,-2457,1680>, v=<-111,-356,235>, a=<8,20,-19>
+p=<1094,-2295,-543>, v=<157,-327,-76>, a=<-12,21,6>
+p=<-1795,2329,440>, v=<-257,330,63>, a=<17,-26,-8>
+p=<-665,188,-2874>, v=<-97,26,-409>, a=<8,1,31>
+p=<-2150,-1608,-1617>, v=<-307,-226,-232>, a=<24,16,16>
+p=<-1306,771,-2628>, v=<-186,111,-374>, a=<14,-7,22>
+p=<-569,2399,2146>, v=<-79,340,306>, a=<3,-25,-25>
+p=<-1596,210,-2300>, v=<-227,35,-321>, a=<12,-2,25>
+p=<1649,3122,-423>, v=<233,447,-60>, a=<-16,-32,3>
+p=<2350,-1504,574>, v=<333,-214,82>, a=<-21,9,-6>
+p=<1462,1958,-1965>, v=<209,278,-280>, a=<-11,-18,18>
+p=<665,1921,2431>, v=<99,278,346>, a=<-5,-21,-21>
+p=<-2672,-392,-626>, v=<-384,-54,-85>, a=<28,3,4>
+p=<-2934,-713,578>, v=<-423,-104,83>, a=<31,6,-8>
+p=<-2864,-529,1350>, v=<-405,-75,188>, a=<31,5,-14>
+p=<1633,-2222,770>, v=<236,-317,105>, a=<-13,22,-6>
+p=<-2570,-557,-2249>, v=<-369,-84,-320>, a=<23,5,18>
+p=<1327,2140,-1400>, v=<188,307,-201>, a=<-11,-19,13>
+p=<-1128,3182,47>, v=<-161,455,4>, a=<8,-37,-4>
+p=<2034,-2095,95>, v=<292,-299,13>, a=<-21,19,0>
+p=<3063,1393,-164>, v=<437,200,-21>, a=<-31,-10,0>
+p=<-2613,-739,-677>, v=<-372,-104,-99>, a=<26,10,11>
+p=<-2408,-879,1448>, v=<-345,-128,210>, a=<24,10,-14>
+p=<1626,-2339,-531>, v=<229,-334,-76>, a=<-13,23,12>
+p=<-127,1611,2340>, v=<-14,230,329>, a=<-3,-20,-23>
+p=<178,-3044,1218>, v=<23,-434,172>, a=<-2,24,-13>
+p=<520,3002,-111>, v=<74,421,-10>, a=<-5,-34,-1>
+p=<-2247,-1086,1363>, v=<-322,-157,194>, a=<25,10,-12>
+p=<313,-2571,-1607>, v=<46,-371,-226>, a=<-3,25,13>
+p=<2204,591,1614>, v=<312,84,230>, a=<-29,-6,-18>
+p=<-953,1388,1971>, v=<-133,199,283>, a=<10,-14,-18>
+p=<3269,327,885>, v=<472,48,122>, a=<-34,-3,-8>
+p=<1054,469,2909>, v=<151,66,415>, a=<-7,-6,-23>
+p=<2886,-1980,-318>, v=<412,-279,-45>, a=<-27,22,0>
+p=<-1736,-2608,411>, v=<-248,-370,57>, a=<15,26,-5>
+p=<-407,-2479,634>, v=<-58,-357,92>, a=<11,24,-9>
+p=<-525,-1787,2428>, v=<-81,-252,339>, a=<6,13,-20>
+p=<-1972,-1913,1655>, v=<-281,-275,235>, a=<15,18,-20>
+p=<2390,1535,177>, v=<343,224,25>, a=<-25,-13,-4>
+p=<470,2613,-1999>, v=<67,375,-286>, a=<-2,-27,21>
+p=<-2098,-399,2527>, v=<-297,-54,357>, a=<15,-1,-22>
+p=<903,1008,1826>, v=<134,144,259>, a=<-8,-8,-17>
+p=<-2233,-2044,-715>, v=<-323,-291,-101>, a=<21,14,7>
+p=<420,698,-2350>, v=<62,106,-334>, a=<-3,-9,23>
+p=<-1400,-1187,-1807>, v=<-201,-168,-259>, a=<20,12,21>
+p=<697,510,-2889>, v=<99,74,-414>, a=<-6,-5,27>
+p=<-2771,-794,507>, v=<-397,-115,72>, a=<29,7,-5>
+p=<-2428,1711,-229>, v=<-345,244,-25>, a=<27,-17,-3>
+p=<-498,-2255,574>, v=<-74,-322,82>, a=<3,22,-7>
+p=<-639,2486,-2161>, v=<-91,353,-309>, a=<9,-22,20>
+p=<561,1777,2052>, v=<83,254,289>, a=<-3,-10,-22>
+p=<535,-2600,-1357>, v=<76,-376,-193>, a=<-9,23,13>
+p=<347,-1990,1478>, v=<51,-282,209>, a=<-3,19,-18>
+p=<-795,-243,3199>, v=<-107,-36,458>, a=<10,2,-27>
+p=<-1250,-1344,-2166>, v=<-180,-185,-311>, a=<13,12,21>
+p=<-1181,1777,2103>, v=<-168,253,298>, a=<11,-18,-21>
+p=<1251,-782,-2559>, v=<181,-112,-362>, a=<-16,7,24>
+p=<-1941,167,2090>, v=<-277,24,298>, a=<16,-3,-20>
+p=<-2281,-1088,876>, v=<-323,-158,128>, a=<22,9,-12>
+p=<-1212,-2448,-1588>, v=<-175,-346,-227>, a=<10,22,14>
+p=<2734,-19,1199>, v=<386,-1,171>, a=<-31,-3,-6>
+p=<-1568,-934,2536>, v=<-225,-132,360>, a=<8,9,-21>
+p=<-1022,-2405,-1395>, v=<-144,-347,-199>, a=<12,24,11>
+p=<-2144,136,-475>, v=<-305,19,-62>, a=<25,0,2>
+p=<2007,-620,-2051>, v=<286,-86,-286>, a=<-18,6,17>
+p=<-1700,-2556,-288>, v=<-244,-359,-36>, a=<17,21,-3>
+p=<-1224,-1007,2091>, v=<-177,-144,297>, a=<9,10,-24>
+p=<2779,-1003,679>, v=<404,-148,97>, a=<-27,8,-4>
+p=<541,1261,2928>, v=<70,180,419>, a=<-3,-11,-29>
+p=<-1296,-1938,-984>, v=<-185,-273,-144>, a=<13,16,12>
+p=<868,-277,2858>, v=<122,-37,408>, a=<-5,4,-28>
+p=<2406,1206,-1261>, v=<345,175,-177>, a=<-24,-10,12>
+p=<623,-1848,-3124>, v=<93,-265,-447>, a=<-7,20,31>
+p=<-2428,-481,-1716>, v=<-347,-68,-246>, a=<22,6,15>
+p=<2823,-456,932>, v=<403,-65,133>, a=<-28,4,-11>
+p=<-1712,-304,2199>, v=<-242,-42,312>, a=<15,-1,-19>
+p=<-2265,1563,-866>, v=<-324,227,-125>, a=<20,-15,3>
+p=<400,2452,1541>, v=<57,350,220>, a=<-4,-22,-20>
+p=<1076,2588,480>, v=<153,374,61>, a=<-10,-25,-2>
+p=<1394,851,-2525>, v=<199,116,-360>, a=<-14,-14,25>
+p=<-1373,2715,-487>, v=<-197,387,-71>, a=<13,-27,0>
+p=<2001,2041,-1322>, v=<280,285,-182>, a=<-20,-22,13>
+p=<-2713,-975,1127>, v=<-381,-137,164>, a=<27,6,-10>
+p=<127,-3265,899>, v=<18,-467,134>, a=<-1,28,-11>
+p=<-2613,1310,709>, v=<-373,191,104>, a=<29,-13,-7>
+p=<1795,2110,198>, v=<250,301,25>, a=<-17,-21,-3>
+p=<-2707,-702,-715>, v=<-382,-100,-108>, a=<26,6,11>
+p=<1304,-1328,-2360>, v=<186,-191,-334>, a=<-17,13,21>
+p=<-1492,617,-1817>, v=<-215,90,-258>, a=<14,-6,19>
+p=<253,160,3140>, v=<32,26,445>, a=<0,-2,-23>
+p=<-1830,-1004,-1594>, v=<-259,-146,-229>, a=<18,8,14>
+p=<-1619,33,2375>, v=<-232,4,340>, a=<18,0,-19>
+p=<615,393,2882>, v=<81,55,417>, a=<-7,-7,-26>
+p=<-2157,-1678,843>, v=<-306,-238,121>, a=<21,12,-3>
+p=<2695,259,784>, v=<387,36,111>, a=<-22,-7,-6>
+p=<-2193,2304,-1907>, v=<-316,326,-270>, a=<21,-21,17>
+p=<2663,1276,783>, v=<383,183,107>, a=<-26,-12,-11>
+p=<-2361,178,970>, v=<-336,26,139>, a=<26,2,-8>
+p=<1466,-1557,2028>, v=<214,-225,293>, a=<-12,15,-19>
+p=<2031,770,2274>, v=<292,115,326>, a=<-20,-7,-23>
+p=<75,16,3295>, v=<14,-3,465>, a=<3,1,-36>
+p=<-3454,-127,-810>, v=<-491,-20,-117>, a=<29,-1,8>
+p=<600,1542,1807>, v=<89,215,262>, a=<-6,-16,-15>
+p=<-363,1943,-2003>, v=<-46,277,-283>, a=<2,-18,19>
+p=<-2106,-2041,929>, v=<-302,-291,132>, a=<16,18,-7>
+p=<1677,-1573,859>, v=<238,-218,122>, a=<-18,17,-6>
+p=<2085,-230,-2184>, v=<297,-29,-314>, a=<-25,3,26>
+p=<-4,604,-2880>, v=<6,85,-411>, a=<0,-6,24>
+p=<-2242,-1643,1519>, v=<-320,-234,220>, a=<24,11,-14>
+p=<2734,-32,-805>, v=<386,-7,-117>, a=<-26,0,5>
+p=<1677,459,-2569>, v=<244,65,-368>, a=<-22,-4,25>
+p=<-1148,-2459,-37>, v=<-162,-347,-3>, a=<8,26,0>
+p=<1669,-2705,-522>, v=<233,-388,-71>, a=<-19,29,6>
+p=<73,-756,-2889>, v=<17,-109,-409>, a=<-2,6,22>
+p=<64,974,2431>, v=<7,140,345>, a=<-1,-9,-19>
+p=<-306,2950,630>, v=<-43,421,92>, a=<6,-29,-1>
+p=<2725,-129,1854>, v=<388,-23,269>, a=<-32,3,-15>
+p=<-2021,-2464,237>, v=<-290,-346,34>, a=<20,23,-4>
+p=<3089,-143,-190>, v=<443,-20,-25>, a=<-30,2,-4>
+p=<946,-788,2779>, v=<133,-110,396>, a=<-10,6,-24>
+p=<-976,2698,-1241>, v=<-141,388,-179>, a=<11,-25,11>
+p=<-92,-2557,-1579>, v=<-19,-365,-222>, a=<0,27,16>
+p=<1217,-951,2946>, v=<170,-137,420>, a=<-15,14,-29>
+p=<-73,2228,-1603>, v=<-11,319,-225>, a=<0,-24,15>
+p=<3132,-745,528>, v=<446,-106,78>, a=<-26,7,-3>
+p=<-1374,78,2855>, v=<-194,10,407>, a=<13,-1,-22>
+p=<-2330,-957,1427>, v=<-334,-130,203>, a=<23,6,-14>
+p=<-1947,-828,2117>, v=<-282,-118,307>, a=<16,11,-18>
+p=<2149,-131,-2104>, v=<308,-18,-300>, a=<-18,-3,25>
+p=<2727,-296,-1725>, v=<389,-42,-244>, a=<-26,-1,16>
+p=<2185,-1114,1627>, v=<312,-158,232>, a=<-21,8,-14>
+p=<642,-2979,-1903>, v=<90,-425,-270>, a=<-11,34,23>
+p=<-1590,-1439,-2092>, v=<-232,-207,-295>, a=<15,11,15>
+p=<1101,-837,2904>, v=<160,-118,406>, a=<-12,9,-25>
+p=<65,1437,-3084>, v=<9,205,-435>, a=<3,-14,31>
+p=<-1488,2086,1440>, v=<-207,296,205>, a=<17,-22,-13>
+p=<-2292,-39,2180>, v=<-323,-4,312>, a=<23,-3,-20>
+p=<609,-1258,2453>, v=<87,-180,352>, a=<-5,11,-29>
+p=<589,1881,1944>, v=<83,261,281>, a=<-1,-18,-21>
+p=<-2563,-866,-1713>, v=<-366,-121,-244>, a=<25,9,24>
+p=<1604,1625,-2113>, v=<232,231,-298>, a=<-16,-15,16>
+p=<2291,-854,-1657>, v=<325,-122,-236>, a=<-17,8,15>
+p=<-2176,521,-2039>, v=<-310,74,-297>, a=<21,-5,20>
+p=<-2374,-1330,-285>, v=<-344,-190,-42>, a=<23,15,6>
+p=<2493,355,1875>, v=<361,49,268>, a=<-24,-6,-17>
+p=<-2242,-2058,10>, v=<-318,-293,3>, a=<20,26,0>
+p=<2467,459,1107>, v=<352,63,165>, a=<-27,-4,-15>
+p=<1116,223,-2548>, v=<162,25,-368>, a=<-13,-7,26>
+p=<-1613,998,1936>, v=<-230,142,273>, a=<20,-9,-18>
+p=<280,-1708,2679>, v=<37,-249,380>, a=<-2,17,-30>
+p=<286,-3408,-537>, v=<46,-488,-72>, a=<-1,36,5>
+p=<1162,-1820,-1746>, v=<166,-262,-249>, a=<-9,21,10>
+p=<2762,1341,-283>, v=<396,194,-42>, a=<-28,-13,3>
+p=<1080,1724,-2429>, v=<159,245,-346>, a=<-8,-16,22>
+p=<-780,2142,-2203>, v=<-111,306,-314>, a=<6,-18,22>
+p=<1712,-829,-1454>, v=<249,-113,-207>, a=<-18,10,12>
+p=<2112,1850,-332>, v=<298,264,-47>, a=<-21,-20,3>
+p=<-92,2556,1033>, v=<-15,366,150>, a=<2,-27,-8>
+p=<-2945,-1251,746>, v=<-419,-178,103>, a=<29,15,-6>
+p=<-1178,1448,1988>, v=<-168,208,283>, a=<9,-14,-22>
+p=<-513,-228,-3051>, v=<-75,-33,-442>, a=<5,3,33>
+p=<16,3041,885>, v=<4,434,126>, a=<-2,-36,-8>
+p=<719,-2606,-1944>, v=<106,-369,-274>, a=<-4,22,18>
+p=<-1515,-1381,-2329>, v=<-214,-194,-331>, a=<15,13,23>
+p=<-2133,1583,1783>, v=<-305,219,255>, a=<22,-15,-20>
+p=<-1264,-2294,-822>, v=<-182,-328,-115>, a=<11,22,13>
+p=<1878,1970,1009>, v=<268,281,144>, a=<-18,-18,-7>
+p=<-1931,-1087,985>, v=<-273,-149,142>, a=<17,9,-9>
+p=<747,-1388,2058>, v=<107,-198,292>, a=<-5,11,-20>
+p=<-434,2949,1242>, v=<-61,423,173>, a=<1,-32,-14>
+p=<-6,917,-3111>, v=<-2,131,-443>, a=<2,-7,29>
+p=<1298,-352,-2109>, v=<184,-56,-298>, a=<-12,2,21>
+p=<-2453,1651,554>, v=<-353,233,80>, a=<27,-18,-5>
+p=<-3086,856,438>, v=<-438,121,58>, a=<35,-8,-4>
+p=<-1382,-1186,-2814>, v=<-202,-169,-407>, a=<12,12,33>
+p=<-2157,1605,1166>, v=<-308,229,167>, a=<21,-13,-9>
+p=<-2797,59,1991>, v=<-396,7,281>, a=<27,-2,-20>
+p=<961,-797,2604>, v=<144,-114,370>, a=<-7,10,-20>
+p=<-2159,1081,28>, v=<-302,155,-3>, a=<22,-4,-5>
+p=<1569,1710,1995>, v=<223,249,287>, a=<-16,-16,-17>
+p=<-2405,1364,89>, v=<-344,199,10>, a=<19,-17,2>
+p=<1099,1856,1547>, v=<153,265,216>, a=<-6,-20,-15>
+p=<-845,2364,-2497>, v=<-120,336,-357>, a=<8,-24,28>
+p=<1094,-2301,848>, v=<154,-332,124>, a=<-10,22,-8>
+p=<-1885,-169,-2304>, v=<-264,-24,-330>, a=<17,3,24>
+p=<1989,2073,1222>, v=<282,296,172>, a=<-18,-16,-8>
+p=<1786,2142,-363>, v=<253,306,-56>, a=<-16,-20,2>
+p=<-3266,1741,55>, v=<-468,247,7>, a=<33,-21,-2>
+p=<3272,642,1052>, v=<466,87,152>, a=<-31,-6,-9>
+p=<1886,1462,-1573>, v=<267,210,-222>, a=<-18,-14,11>
+p=<-2527,1031,1050>, v=<-359,146,152>, a=<20,-7,-14>
+p=<1481,1810,1509>, v=<216,259,212>, a=<-14,-18,-14>
+p=<-1767,-1951,-768>, v=<-249,-277,-110>, a=<18,27,0>
+p=<-1582,-199,2291>, v=<-222,-31,329>, a=<16,-6,-23>
+p=<1759,-251,-2889>, v=<252,-32,-411>, a=<-17,2,28>
+p=<2145,976,-1420>, v=<301,139,-199>, a=<-22,-7,14>
+p=<2815,-1906,22>, v=<404,-274,-2>, a=<-28,21,2>
+p=<-1978,1148,981>, v=<-282,164,140>, a=<13,-10,-14>
+p=<1001,2806,1127>, v=<140,401,160>, a=<-10,-30,-12>
+p=<546,-853,2616>, v=<73,-117,373>, a=<-9,4,-28>
+p=<1897,1581,1040>, v=<272,228,151>, a=<-20,-15,-7>
+p=<2297,1472,-163>, v=<328,208,-19>, a=<-24,-17,-2>
+p=<-1225,2426,1126>, v=<-175,342,156>, a=<13,-23,-12>
+p=<-2208,-1849,-941>, v=<-311,-262,-138>, a=<24,17,9>
+p=<2507,-1867,-278>, v=<356,-266,-38>, a=<-25,24,4>
+p=<-2700,-123,651>, v=<-383,-19,99>, a=<25,-4,-1>
+p=<138,-1228,-2683>, v=<16,-176,-383>, a=<-2,11,28>
+p=<676,-3130,112>, v=<89,-448,14>, a=<-5,31,-1>
+p=<-2831,-762,758>, v=<-408,-105,111>, a=<26,7,-9>
+p=<-662,1869,-1358>, v=<-96,269,-194>, a=<13,-16,20>
+p=<-228,-2533,99>, v=<-32,-361,15>, a=<0,26,4>
+p=<-1439,1399,-1095>, v=<-205,201,-152>, a=<20,-18,9>
+p=<-1324,-1526,-2125>, v=<-189,-218,-304>, a=<14,15,24>
+p=<2422,1485,-411>, v=<350,212,-58>, a=<-20,-9,5>
+p=<-2059,-1563,50>, v=<-294,-224,7>, a=<18,14,3>
+p=<-3022,654,913>, v=<-431,93,132>, a=<34,-8,-8>
+p=<2674,23,1516>, v=<381,2,218>, a=<-21,-2,-17>
+p=<-382,1215,3143>, v=<-54,176,444>, a=<-7,-11,-29>
+p=<737,-555,3329>, v=<100,-79,473>, a=<-10,2,-29>
+p=<2680,41,368>, v=<380,6,55>, a=<-32,2,-6>
+p=<1560,-2511,-917>, v=<218,-355,-131>, a=<-12,23,11>
+p=<-94,2722,-1734>, v=<-14,386,-247>, a=<2,-27,19>
+p=<669,2222,-1996>, v=<95,318,-283>, a=<-2,-18,19>
+p=<-658,888,-2033>, v=<-94,124,-290>, a=<7,-9,21>
+p=<1980,-856,1733>, v=<280,-122,251>, a=<-19,12,-17>
+p=<2869,68,1329>, v=<405,11,186>, a=<-28,0,-14>
+p=<-1360,-2422,-1468>, v=<-194,-341,-209>, a=<13,27,15>
+p=<1531,2084,874>, v=<215,298,125>, a=<-16,-13,-8>
+p=<3018,-1043,-452>, v=<434,-149,-62>, a=<-31,6,-1>
+p=<-2055,2591,-49>, v=<-293,372,-9>, a=<20,-26,5>
+p=<2472,1722,-369>, v=<357,246,-53>, a=<-22,-17,0>
+p=<-2300,-1129,1602>, v=<-328,-160,229>, a=<26,9,-11>
+p=<-2925,322,1010>, v=<-414,46,137>, a=<28,2,-7>
+p=<2763,-309,793>, v=<397,-44,116>, a=<-27,2,0>
+p=<2707,-818,393>, v=<390,-116,59>, a=<-22,10,-4>
+p=<503,-1060,2657>, v=<78,-149,383>, a=<-5,6,-24>
+p=<1631,-1644,-2143>, v=<235,-234,-301>, a=<-16,15,22>
+p=<-372,-197,-2989>, v=<-51,-32,-422>, a=<10,7,26>
+p=<1585,-1981,-1739>, v=<222,-286,-247>, a=<-16,14,19>
+p=<-3316,-424,-315>, v=<-475,-60,-45>, a=<33,8,4>
+p=<1448,2440,1597>, v=<203,350,227>, a=<-13,-20,-20>
+p=<2293,1248,782>, v=<323,177,112>, a=<-22,-12,-7>
+p=<-1893,1463,383>, v=<-268,208,56>, a=<20,-18,-3>
+p=<2255,-1201,1536>, v=<323,-167,219>, a=<-24,16,-13>
+p=<2418,-1199,1000>, v=<347,-173,143>, a=<-26,16,-11>
+p=<-3108,220,142>, v=<-446,34,20>, a=<28,-4,0>
+p=<-730,2902,904>, v=<-103,414,129>, a=<7,-29,-8>
+p=<2385,1786,-737>, v=<342,261,-105>, a=<-25,-17,3>
+p=<2063,1918,-1423>, v=<294,276,-200>, a=<-18,-12,15>
+p=<419,2805,-60>, v=<63,400,-5>, a=<-5,-32,-6>
+p=<590,766,-2459>, v=<83,114,-351>, a=<-5,-5,24>
+p=<1608,-274,-2526>, v=<224,-44,-360>, a=<-16,-3,23>
+p=<340,1347,2173>, v=<51,193,310>, a=<-1,-10,-28>
+p=<2775,91,1474>, v=<392,19,210>, a=<-23,0,-17>
+p=<1932,2631,1832>, v=<281,377,263>, a=<-23,-22,-22>
+p=<-907,-2643,553>, v=<-128,-376,80>, a=<3,25,-5>
+p=<-1000,2197,-1349>, v=<-142,311,-190>, a=<11,-16,18>
+p=<2322,-222,2055>, v=<330,-30,292>, a=<-22,2,-23>
+p=<998,2783,-495>, v=<142,396,-71>, a=<-4,-24,4>
+p=<1387,1339,-2461>, v=<198,192,-357>, a=<-13,-10,24>
+p=<2472,1408,798>, v=<352,198,114>, a=<-25,-17,-2>
+p=<-2902,472,-36>, v=<-415,69,-5>, a=<29,-4,-1>
+p=<2714,483,1497>, v=<392,73,214>, a=<-24,0,-17>
+p=<1983,1110,1810>, v=<286,158,259>, a=<-19,-9,-18>
+p=<-1434,456,2175>, v=<-210,65,312>, a=<12,-6,-23>
+p=<-1462,-2708,1253>, v=<-208,-391,178>, a=<13,27,-9>
+p=<1909,278,-2335>, v=<272,39,-335>, a=<-19,-6,26>
+p=<1006,-1111,-2375>, v=<142,-153,-338>, a=<-8,11,18>
+p=<-1929,645,2811>, v=<-270,95,400>, a=<20,-2,-25>
+p=<2194,-2657,-168>, v=<311,-380,-23>, a=<-26,21,6>
+p=<-96,1298,2772>, v=<-12,185,398>, a=<3,-11,-23>
+p=<1678,-2203,-917>, v=<237,-314,-132>, a=<-15,15,9>
+p=<-2133,1393,-1427>, v=<-305,197,-204>, a=<18,-15,16>
+p=<1284,1847,-2234>, v=<180,259,-317>, a=<-9,-16,22>
+p=<-2882,-953,765>, v=<-410,-136,108>, a=<28,11,-10>
+p=<1912,2085,1601>, v=<271,293,228>, a=<-24,-20,-18>
+p=<2313,-343,1427>, v=<335,-53,201>, a=<-23,3,-13>
+p=<240,2618,995>, v=<38,372,142>, a=<-5,-26,-4>
+p=<2583,-104,108>, v=<370,-17,15>, a=<-28,-5,-1>
+p=<1160,1438,2749>, v=<163,210,392>, a=<-6,-14,-32>
+p=<-2441,-699,2396>, v=<-343,-99,348>, a=<27,6,-19>
+p=<-1534,-2320,-1041>, v=<-217,-331,-152>, a=<16,19,10>
+p=<-1679,-2459,681>, v=<-239,-351,96>, a=<15,24,0>
+p=<-1828,-1409,1341>, v=<-254,-201,193>, a=<16,13,-13>
+p=<-3058,-434,-677>, v=<-432,-60,-96>, a=<30,7,9>
+p=<2711,923,-414>, v=<387,134,-54>, a=<-27,-6,1>
+p=<158,-3104,-1082>, v=<26,-442,-156>, a=<-1,31,9>
+p=<-1933,-1603,-1395>, v=<-278,-228,-195>, a=<18,16,15>
+p=<856,1400,2976>, v=<129,195,425>, a=<-6,-19,-36>
+p=<662,1276,1948>, v=<94,182,279>, a=<-5,-12,-15>
+p=<-244,-1678,2989>, v=<-30,-235,427>, a=<2,21,-28>
+p=<-2690,232,17>, v=<-377,29,2>, a=<25,1,0>
+p=<-923,1506,2445>, v=<-131,215,346>, a=<9,-15,-26>
+p=<1696,-1289,1916>, v=<240,-184,269>, a=<-17,12,-18>
+p=<359,1350,2572>, v=<48,192,367>, a=<-3,-13,-25>
+p=<2581,832,1537>, v=<366,123,218>, a=<-25,-11,-14>
+p=<2118,-1671,706>, v=<302,-235,98>, a=<-23,14,-11>
+p=<-843,2169,1492>, v=<-124,309,210>, a=<8,-21,-13>
+p=<1854,440,2444>, v=<264,59,346>, a=<-18,-1,-27>
+p=<2949,1077,-291>, v=<422,152,-39>, a=<-22,-8,4>
+p=<1759,-2170,1428>, v=<253,-310,203>, a=<-17,17,-11>
+p=<-689,-2152,1812>, v=<-95,-307,258>, a=<7,21,-15>
+p=<1799,-2222,-1150>, v=<256,-316,-165>, a=<-13,24,13>
+p=<2588,1403,440>, v=<369,197,59>, a=<-19,-14,-10>
+p=<2356,-1452,758>, v=<337,-212,109>, a=<-24,18,-8>
+p=<-1956,-3073,472>, v=<-277,-439,63>, a=<19,28,0>
+p=<1748,-1560,-750>, v=<248,-215,-109>, a=<-13,18,4>
+p=<-643,-1963,1925>, v=<-97,-280,277>, a=<9,20,-16>
+p=<1150,1438,-2824>, v=<158,207,-402>, a=<-9,-9,27>
+p=<-1317,-1290,-1820>, v=<-189,-180,-258>, a=<11,12,24>
+p=<2382,-652,1487>, v=<343,-96,213>, a=<-23,3,-10>
+p=<-265,-2330,-2153>, v=<-32,-334,-305>, a=<1,20,18>
+p=<995,1767,1881>, v=<141,252,264>, a=<-9,-12,-14>
new file mode 100644
--- /dev/null
+++ b/2017/day20/problem
@@ -0,0 +1,98 @@
+--- Day 20: Particle Swarm ---
+
+Suddenly, the GPU contacts you, asking for help. Someone has asked it
+to simulate too many particles, and it won't be able to finish them
+all in time to render the next frame at this rate.
+
+It transmits to you a buffer (your puzzle input) listing each particle
+in order (starting with particle 0, then particle 1, particle 2, and
+so on). For each particle, it provides the X, Y, and Z coordinates for
+the particle's position (p), velocity (v), and acceleration (a), each
+in the format <X,Y,Z>.
+
+Each tick, all particles are updated simultaneously. A particle's
+properties are updated in the following order:
+
+    Increase the X velocity by the X acceleration.
+
+    Increase the Y velocity by the Y acceleration.
+
+    Increase the Z velocity by the Z acceleration.
+
+    Increase the X position by the X velocity.
+
+    Increase the Y position by the Y velocity.
+
+    Increase the Z position by the Z velocity.
+
+Because of seemingly tenuous rationale involving z-buffering, the GPU
+would like to know which particle will stay closest to position
+<0,0,0> in the long term. Measure this using the Manhattan distance,
+which in this situation is simply the sum of the absolute values of a
+particle's X, Y, and Z position.
+
+For example, suppose you are only given two particles, both of which
+stay entirely on the X-axis (for simplicity). Drawing the current
+states of particles 0 and 1 (in that order) with an adjacent a number
+line and diagram of current X positions (marked in parenthesis), the
+following would take place:
+
+p=< 3,0,0>, v=< 2,0,0>, a=<-1,0,0>    -4 -3 -2 -1  0  1  2  3  4
+p=< 4,0,0>, v=< 0,0,0>, a=<-2,0,0>                         (0)(1)
+
+p=< 4,0,0>, v=< 1,0,0>, a=<-1,0,0>    -4 -3 -2 -1  0  1  2  3  4
+p=< 2,0,0>, v=<-2,0,0>, a=<-2,0,0>                      (1)   (0)
+
+p=< 4,0,0>, v=< 0,0,0>, a=<-1,0,0>    -4 -3 -2 -1  0  1  2  3  4
+p=<-2,0,0>, v=<-4,0,0>, a=<-2,0,0>          (1)               (0)
+
+p=< 3,0,0>, v=<-1,0,0>, a=<-1,0,0>    -4 -3 -2 -1  0  1  2  3  4
+p=<-8,0,0>, v=<-6,0,0>, a=<-2,0,0>                         (0)   
+
+At this point, particle 1 will never be closer to <0,0,0> than
+particle 0, and so, in the long run, particle 0 will stay closest.
+
+Which particle will stay closest to position <0,0,0> in the long term?
+
+Your puzzle answer was 150.
+
+--- Part Two ---
+
+To simplify the problem further, the GPU would like to remove any
+particles that collide. Particles collide if their positions ever
+exactly match. Because particles are updated simultaneously, more than
+two particles can collide at the same time and place. Once particles
+collide, they are removed and cannot collide with anything else after
+that tick.
+
+For example:
+
+p=<-6,0,0>, v=< 3,0,0>, a=< 0,0,0>    
+p=<-4,0,0>, v=< 2,0,0>, a=< 0,0,0>    -6 -5 -4 -3 -2 -1  0  1  2  3
+p=<-2,0,0>, v=< 1,0,0>, a=< 0,0,0>    (0)   (1)   (2)            (3)
+p=< 3,0,0>, v=<-1,0,0>, a=< 0,0,0>
+
+p=<-3,0,0>, v=< 3,0,0>, a=< 0,0,0>    
+p=<-2,0,0>, v=< 2,0,0>, a=< 0,0,0>    -6 -5 -4 -3 -2 -1  0  1  2  3
+p=<-1,0,0>, v=< 1,0,0>, a=< 0,0,0>             (0)(1)(2)      (3)   
+p=< 2,0,0>, v=<-1,0,0>, a=< 0,0,0>
+
+p=< 0,0,0>, v=< 3,0,0>, a=< 0,0,0>    
+p=< 0,0,0>, v=< 2,0,0>, a=< 0,0,0>    -6 -5 -4 -3 -2 -1  0  1  2  3
+p=< 0,0,0>, v=< 1,0,0>, a=< 0,0,0>                       X (3)      
+p=< 1,0,0>, v=<-1,0,0>, a=< 0,0,0>
+
+------destroyed by collision------    
+------destroyed by collision------    -6 -5 -4 -3 -2 -1  0  1  2  3
+------destroyed by collision------                      (3)         
+p=< 0,0,0>, v=<-1,0,0>, a=< 0,0,0>
+
+In this example, particles 0, 1, and 2 are simultaneously destroyed at
+the time and place marked X. On the next tick, particle 3 passes
+through unharmed.
+
+How many particles are left after all collisions are resolved?
+
+Your puzzle answer was 657.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day21/input
@@ -0,0 +1,108 @@
+../.. => .#./.../###
+#./.. => .#./##./#..
+##/.. => #.#/#../###
+.#/#. => ##./..#/###
+##/#. => .#./#../..#
+##/## => #../..#/#.#
+.../.../... => .###/.#.#/.###/##.#
+#../.../... => .##./##../##../#.##
+.#./.../... => .#.#/#.#./..#./..#.
+##./.../... => ###./#.##/...#/#.##
+#.#/.../... => .#.#/.#../.###/.###
+###/.../... => ..##/#.#./..../##.#
+.#./#../... => #.../..../..../....
+##./#../... => ...#/..#./.###/#.#.
+..#/#../... => #.../#.##/###./##..
+#.#/#../... => .##./#..#/#..#/..##
+.##/#../... => .#.#/#.##/..##/.#.#
+###/#../... => #.#./.###/..#./#.#.
+.../.#./... => #..#/..../.##./.#.#
+#../.#./... => .#../.##./.#.#/...#
+.#./.#./... => ##.#/...#/.##./...#
+##./.#./... => ..#./#.#./#.##/####
+#.#/.#./... => ..##/#..#/.###/....
+###/.#./... => .#../#..#/#.../..#.
+.#./##./... => ..##/#.#./####/###.
+##./##./... => ...#/.#../####/#..#
+..#/##./... => ..##/##../###./....
+#.#/##./... => ..##/#.../.#../.##.
+.##/##./... => #.../##../#.##/...#
+###/##./... => .#../####/#.##/#.##
+.../#.#/... => #..#/####/###./#.#.
+#../#.#/... => #.../##.#/#.../.#..
+.#./#.#/... => ##.#/##.#/..#./..#.
+##./#.#/... => .###/..#./.#../.###
+#.#/#.#/... => .###/##../..#./..#.
+###/#.#/... => ##../.#../.#../.#..
+.../###/... => ..#./#.#./..#./#..#
+#../###/... => ..../#.#./##.#/..##
+.#./###/... => ..#./#.#./..##/.#..
+##./###/... => .##./..##/#..#/#.#.
+#.#/###/... => ###./###./#.##/..##
+###/###/... => ##.#/..../.##./.#..
+..#/.../#.. => .###/####/..../##.#
+#.#/.../#.. => ##../###./#..#/...#
+.##/.../#.. => ###./#..#/###./...#
+###/.../#.. => #.../#..#/##.#/.##.
+.##/#../#.. => ..##/####/..##/#...
+###/#../#.. => #.../..../...#/..##
+..#/.#./#.. => ####/#.#./..../.#.#
+#.#/.#./#.. => .##./.#.#/##.#/.##.
+.##/.#./#.. => ###./.#.#/###./##.#
+###/.#./#.. => #.##/..##/#.#./##.#
+.##/##./#.. => ..../..##/#.#./.##.
+###/##./#.. => #.#./#..#/#..#/###.
+#../..#/#.. => ..../####/#..#/.###
+.#./..#/#.. => .###/#.../#.../#.##
+##./..#/#.. => ####/##.#/###./####
+#.#/..#/#.. => .#../##.#/#..#/#..#
+.##/..#/#.. => ..##/##.#/#.##/###.
+###/..#/#.. => ##.#/####/##.#/.#..
+#../#.#/#.. => .###/#..#/.##./.###
+.#./#.#/#.. => #.##/.##./.#../..#.
+##./#.#/#.. => ###./..#./.##./##..
+..#/#.#/#.. => .###/.#.#/#.#./##..
+#.#/#.#/#.. => #..#/.###/.##./....
+.##/#.#/#.. => ###./.###/#.##/.###
+###/#.#/#.. => ####/.###/..../.##.
+#../.##/#.. => ##.#/..../#.../..#.
+.#./.##/#.. => #.../..../...#/###.
+##./.##/#.. => ###./.#../..##/...#
+#.#/.##/#.. => #.../...#/..#./.###
+.##/.##/#.. => ###./..../##.#/...#
+###/.##/#.. => ##.#/##../###./.##.
+#../###/#.. => ..#./#.../..##/#.##
+.#./###/#.. => ...#/.##./.#../.#..
+##./###/#.. => ##.#/.#.#/###./....
+..#/###/#.. => #.##/#.../####/.##.
+#.#/###/#.. => .#.#/...#/#..#/..#.
+.##/###/#.. => .##./#..#/#..#/.#.#
+###/###/#.. => ###./####/#.##/#...
+.#./#.#/.#. => ###./#..#/...#/...#
+##./#.#/.#. => #.#./#.##/#.../#..#
+#.#/#.#/.#. => .#.#/#.##/..../.#..
+###/#.#/.#. => #.#./.#../.###/#.#.
+.#./###/.#. => #.../.###/##../##.#
+##./###/.#. => .###/#.../####/.#.#
+#.#/###/.#. => #..#/####/#.#./#...
+###/###/.#. => .#../..../.##./.#.#
+#.#/..#/##. => ##../###./...#/###.
+###/..#/##. => .##./###./.###/#.##
+.##/#.#/##. => ..../##.#/#..#/#...
+###/#.#/##. => .###/##../..../..#.
+#.#/.##/##. => ####/.###/##../...#
+###/.##/##. => #.##/..##/..#./#..#
+.##/###/##. => ..../#.##/#.../#.##
+###/###/##. => ..../#..#/#.##/#.##
+#.#/.../#.# => #.../##.#/..../.#.#
+###/.../#.# => ##../##../#.#./.##.
+###/#../#.# => .##./.#../#.##/.##.
+#.#/.#./#.# => #.../.#../####/#.##
+###/.#./#.# => .###/##.#/#.../#.#.
+###/##./#.# => .##./.##./.###/.#.#
+#.#/#.#/#.# => ####/####/###./.##.
+###/#.#/#.# => #.#./.###/...#/.#.#
+#.#/###/#.# => .###/..#./..../.##.
+###/###/#.# => #.#./##.#/..#./..#.
+###/#.#/### => ###./#.../##../##..
+###/###/### => ##.#/.#.#/#.#./...#
new file mode 100644
--- /dev/null
+++ b/2017/day21/problem
@@ -0,0 +1,121 @@
+--- Day 21: Fractal Art ---
+
+You find a program trying to generate some art. It uses a strange
+process that involves repeatedly enhancing the detail of an image
+through a set of rules.
+
+The image consists of a two-dimensional square grid of pixels that are
+either on (#) or off (.). The program always begins with this pattern:
+
+.#.
+..#
+###
+
+Because the pattern is both 3 pixels wide and 3 pixels tall, it is
+said to have a size of 3.
+
+Then, the program repeats the following process:
+
+    If the size is evenly divisible by 2, break the pixels up into 2x2
+    squares, and convert each 2x2 square into a 3x3 square by
+    following the corresponding enhancement rule.
+
+    Otherwise, the size is evenly divisible by 3; break the pixels up
+    into 3x3 squares, and convert each 3x3 square into a 4x4 square by
+    following the corresponding enhancement rule.
+
+
+Because each square of pixels is replaced by a larger one, the image
+gains pixels and so its size increases.
+
+The artist's book of enhancement rules is nearby (your puzzle input);
+however, it seems to be missing rules. The artist explains that
+sometimes, one must rotate or flip the input pattern to find a match.
+(Never rotate or flip the output pattern, though.) Each pattern is
+written concisely: rows are listed as single units, ordered top-down,
+and separated by slashes. For example, the following rules correspond
+to the adjacent patterns:
+
+../.#  =  ..
+          .#
+
+                .#.
+.#./..#/###  =  ..#
+                ###
+
+                        #..#
+#..#/..../#..#/.##.  =  ....
+                        #..#
+                        .##.
+
+When searching for a rule to use, rotate and flip the pattern as
+necessary. For example, all of the following patterns match the same
+rule:
+
+.#.   .#.   #..   ###
+..#   #..   #.#   ..#
+###   ###   ##.   .#.
+
+Suppose the book contained the following two rules:
+
+../.# => ##./#../...
+.#./..#/### => #..#/..../..../#..#
+
+As before, the program begins with this pattern:
+
+.#.
+..#
+###
+
+The size of the grid (3) is not divisible by 2, but it is divisible by
+3. It divides evenly into a single square; the square matches the
+second rule, which produces:
+
+#..#
+....
+....
+#..#
+
+The size of this enhanced grid (4) is evenly divisible by 2, so that
+rule is used. It divides evenly into four squares:
+
+#.|.#
+..|..
+--+--
+..|..
+#.|.#
+
+Each of these squares matches the same rule (../.# => ##./#../...),
+three of which require some flipping and rotation to line up with the
+rule. The output for the rule is the same in all four cases:
+
+##.|##.
+#..|#..
+...|...
+---+---
+##.|##.
+#..|#..
+...|...
+
+Finally, the squares are joined into a new grid:
+
+##.##.
+#..#..
+......
+##.##.
+#..#..
+......
+
+Thus, after 2 iterations, the grid contains 12 pixels that are on.
+
+How many pixels stay on after 5 iterations?
+
+Your puzzle answer was 176.
+
+--- Part Two ---
+
+How many pixels stay on after 18 iterations?
+
+Your puzzle answer was 2368161.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day22/input
@@ -0,0 +1,25 @@
+#.#...###.#.##.#....##.##
+..####.#.######....#....#
+###..###.#.###.##.##..#.#
+...##.....##.###.##.###..
+....#...##.##..#....###..
+##.#..###.#.###......####
+#.#.###...###..#.#.#.#.#.
+###...##..##..#..##......
+##.#.####.#..###....#.###
+.....#..###....######..##
+.##.#.###....#..#####..#.
+########...##.##....##..#
+.#.###.##.#..#..#.#..##..
+.#.##.##....##....##.#.#.
+..#.#.##.#..##..##.#..#.#
+.####..#..#.###..#..#..#.
+#.#.##......##..#.....###
+...####...#.#.##.....####
+#..##..##..#.####.#.#..#.
+#...###.##..###..#..#....
+#..#....##.##.....###..##
+#..##...#...##...####..#.
+#.###..#.#####.#..#..###.
+###.#...#.##..#..#...##.#
+.#...#..#.#.#.##.####....
new file mode 100644
--- /dev/null
+++ b/2017/day22/problem
@@ -0,0 +1,258 @@
+--- Day 22: Sporifica Virus ---
+
+Diagnostics indicate that the local grid computing cluster has been
+contaminated with the Sporifica Virus. The grid computing cluster is a
+seemingly-infinite two-dimensional grid of compute nodes. Each node is
+either clean or infected by the virus.
+
+To prevent overloading the nodes (which would render them useless to
+the virus) or detection by system administrators, exactly one virus
+carrier moves through the network, infecting or cleaning nodes as it
+moves. The virus carrier is always located on a single node in the
+network (the current node) and keeps track of the direction it is
+facing.
+
+To avoid detection, the virus carrier works in bursts; in each burst,
+it wakes up, does some work, and goes back to sleep. The following
+steps are all executed in order one time each burst:
+
+    If the current node is infected, it turns to its right. Otherwise,
+    it turns to its left. (Turning is done in-place; the current node
+    does not change.)
+
+    If the current node is clean, it becomes infected. Otherwise, it
+    becomes cleaned. (This is done after the node is considered for
+    the purposes of changing direction.)
+
+    The virus carrier moves forward one node in the direction it is
+    facing.
+
+Diagnostics have also provided a map of the node infection status
+(your puzzle input). Clean nodes are shown as .; infected nodes are
+shown as #. This map only shows the center of the grid; there are many
+more nodes beyond those shown, but none of them are currently
+infected.
+
+The virus carrier begins in the middle of the map facing up.
+
+For example, suppose you are given a map like this:
+
+..#
+#..
+...
+
+Then, the middle of the infinite grid looks like this, with the virus
+carrier's position marked with [ ]:
+
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . # . . .
+. . . #[.]. . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+
+The virus carrier is on a clean node, so it turns left, infects the
+node, and moves left:
+
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . # . . .
+. . .[#]# . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+
+The virus carrier is on an infected node, so it turns right, cleans
+the node, and moves up:
+
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . .[.]. # . . .
+. . . . # . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+
+Four times in a row, the virus carrier finds a clean, infects it,
+turns left, and moves forward, ending in the same place and still
+facing up:
+
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . #[#]. # . . .
+. . # # # . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+
+Now on the same node as before, it sees an infection, which causes it
+to turn right, clean the node, and move forward:
+
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . # .[.]# . . .
+. . # # # . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+
+After the above actions, a total of 7 bursts of activity had taken
+place. Of them, 5 bursts of activity caused an infection.
+
+After a total of 70, the grid looks like this, with the virus carrier
+facing up:
+
+. . . . . # # . .
+. . . . # . . # .
+. . . # . . . . #
+. . # . #[.]. . #
+. . # . # . . # .
+. . . . . # # . .
+. . . . . . . . .
+. . . . . . . . .
+
+By this time, 41 bursts of activity caused an infection (though most
+of those nodes have since been cleaned).
+
+After a total of 10000 bursts of activity, 5587 bursts will have
+caused an infection.
+
+Given your actual map, after 10000 bursts of activity, how many bursts
+cause a node to become infected? (Do not count nodes that begin
+infected.)
+
+Your puzzle answer was 5399.
+
+--- Part Two ---
+
+As you go to remove the virus from the infected nodes, it evolves to
+resist your attempt.
+
+Now, before it infects a clean node, it will weaken it to disable your
+defenses. If it encounters an infected node, it will instead flag the
+node to be cleaned in the future. So:
+
+    Clean nodes become weakened.
+
+    Weakened nodes become infected.
+
+    Infected nodes become flagged.
+
+    Flagged nodes become clean.
+
+Every node is always in exactly one of the above states.
+
+The virus carrier still functions in a similar way, but now uses the
+following logic during its bursts of action:
+
+    Decide which way to turn based on the current node:
+
+        If it is clean, it turns left.
+
+        If it is weakened, it does not turn, and will continue moving
+        in the same direction.
+
+        If it is infected, it turns right.
+
+        If it is flagged, it reverses direction, and will go back the
+        way it came.
+
+    Modify the state of the current node, as described above.
+
+    The virus carrier moves forward one node in the direction it is
+    facing.
+
+
+Start with the same map (still using . for clean and # for infected)
+and still with the virus carrier starting in the middle and facing up.
+
+Using the same initial state as the previous example, and drawing
+weakened as W and flagged as F, the middle of the infinite grid looks
+like this, with the virus carrier's position again marked with [ ]:
+
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . # . . .
+. . . #[.]. . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+
+This is the same as before, since no initial nodes are weakened or
+flagged. The virus carrier is on a clean node, so it still turns left,
+instead weakens the node, and moves left:
+
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . # . . .
+. . .[#]W . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+
+The virus carrier is on an infected node, so it still turns right,
+instead flags the node, and moves up:
+
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . .[.]. # . . .
+. . . F W . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+
+This process repeats three more times, ending on the
+previously-flagged node and facing right:
+
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . W W . # . . .
+. . W[F]W . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+
+Finding a flagged node, it reverses direction and cleans the node:
+
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . W W . # . . .
+. .[W]. W . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+
+The weakened node becomes infected, and it continues in the same
+direction:
+
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . W W . # . . .
+.[.]# . W . . . .
+. . . . . . . . .
+. . . . . . . . .
+. . . . . . . . .
+
+Of the first 100 bursts, 26 will result in infection. Unfortunately,
+another feature of this evolved virus is speed; of the first 10000000
+bursts, 2511944 will result in infection.
+
+Given your actual map, after 10000000 bursts of activity, how many
+bursts cause a node to become infected? (Do not count nodes that begin
+infected.)
+
+Your puzzle answer was 2511776.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day23/input
@@ -0,0 +1,32 @@
+set b 57
+set c b
+jnz a 2
+jnz 1 5
+mul b 100
+sub b -100000
+set c b
+sub c -17000
+set f 1
+set d 2
+set e 2
+set g d
+mul g e
+sub g b
+jnz g 2
+set f 0
+sub e -1
+set g e
+sub g b
+jnz g -8
+sub d -1
+set g d
+sub g b
+jnz g -13
+jnz f 2
+sub h -1
+set g b
+sub g c
+jnz g 2
+jnz 1 3
+sub b -17
+jnz 1 -23
new file mode 100644
--- /dev/null
+++ b/2017/day23/problem
@@ -0,0 +1,58 @@
+--- Day 23: Coprocessor Conflagration ---
+
+You decide to head directly to the CPU and fix the printer from there.
+As you get close, you find an experimental coprocessor doing so much
+work that the local programs are afraid it will halt and catch fire.
+This would cause serious issues for the rest of the computer, so you
+head in and see what you can do.
+
+The code it's running seems to be a variant of the kind you saw
+recently on that tablet. The general functionality seems very similar,
+but some of the instructions are different:
+
+    set X Y sets register X to the value of Y.
+
+    sub X Y decreases register X by the value of Y.
+
+    mul X Y sets register X to the result of multiplying the value
+    contained in register X by the value of Y.
+
+    jnz X Y jumps with an offset of the value of Y, but only if the
+    value of X is not zero. (An offset of 2 skips the next
+    instruction, an offset of -1 jumps to the previous instruction,
+    and so on.)
+
+    Only the instructions listed above are used. The eight registers
+    here, named a through h, all start at 0.
+
+The coprocessor is currently set to some kind of debug mode, which
+allows for testing, but prevents it from doing any meaningful work.
+
+If you run the program (your puzzle input), how many times is the mul
+instruction invoked?
+
+Your puzzle answer was 3025.
+
+--- Part Two ---
+
+Now, it's time to fix the problem.
+
+The debug mode switch is wired directly to register a. You flip the
+switch, which makes register a now start at 1 when the program is
+executed.
+
+Immediately, the coprocessor begins to overheat. Whoever wrote this
+program obviously didn't choose a very efficient implementation.
+You'll need to optimize the program if it has any hope of completing
+before Santa needs that printer working.
+
+The coprocessor's ultimate goal is to determine the final value left
+in register h once the program completes. Technically, if it had
+that... it wouldn't even need to run the program.
+
+After setting register a to 1, if the program were to run to
+completion, what value would be left in register h?
+
+Your puzzle answer was 915.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day24/input
@@ -0,0 +1,57 @@
+14/42
+2/3
+6/44
+4/10
+23/49
+35/39
+46/46
+5/29
+13/20
+33/9
+24/50
+0/30
+9/10
+41/44
+35/50
+44/50
+5/11
+21/24
+7/39
+46/31
+38/38
+22/26
+8/9
+16/4
+23/39
+26/5
+40/40
+29/29
+5/20
+3/32
+42/11
+16/14
+27/49
+36/20
+18/39
+49/41
+16/6
+24/46
+44/48
+36/4
+6/6
+13/6
+42/12
+29/41
+39/39
+9/3
+30/2
+25/20
+15/6
+15/23
+28/40
+8/7
+26/23
+48/10
+28/28
+2/13
+48/14
new file mode 100644
--- /dev/null
+++ b/2017/day24/problem
@@ -0,0 +1,81 @@
+--- Day 24: Electromagnetic Moat ---
+
+The CPU itself is a large, black building surrounded by a bottomless
+pit. Enormous metal tubes extend outward from the side of the building
+at regular intervals and descend down into the void. There's no way to
+cross, but you need to get inside.
+
+No way, of course, other than building a bridge out of the magnetic
+components strewn about nearby.
+
+Each component has two ports, one on each end. The ports come in all
+different types, and only matching types can be connected. You take an
+inventory of the components by their port types (your puzzle input).
+Each port is identified by the number of pins it uses; more pins mean
+a stronger connection for your bridge. A 3/7 component, for example,
+has a type-3 port on one side, and a type-7 port on the other.
+
+Your side of the pit is metallic; a perfect surface to connect a
+magnetic, zero-pin port. Because of this, the first port you use must
+be of type 0. It doesn't matter what type of port you end with; your
+goal is just to make the bridge as strong as possible.
+
+The strength of a bridge is the sum of the port types in each
+component. For example, if your bridge is made of components 0/3, 3/7,
+and 7/4, your bridge has a strength of 0+3 + 3+7 + 7+4 = 24.
+
+For example, suppose you had the following components:
+
+0/2
+2/2
+2/3
+3/4
+3/5
+0/1
+10/1
+9/10
+
+With them, you could make the following valid bridges:
+
+    0/1
+    0/1--10/1
+    0/1--10/1--9/10
+    0/2
+    0/2--2/3
+    0/2--2/3--3/4
+    0/2--2/3--3/5
+    0/2--2/2
+    0/2--2/2--2/3
+    0/2--2/2--2/3--3/4
+    0/2--2/2--2/3--3/5
+
+(Note how, as shown by 10/1, order of ports within a component doesn't
+matter. However, you may only use each port on a component once.)
+
+Of these bridges, the strongest one is 0/1--10/1--9/10; it has a
+strength of 0+1 + 1+10 + 10+9 = 31.
+
+What is the strength of the strongest bridge you can make with the
+components you have available?
+
+Your puzzle answer was 1695.
+
+--- Part Two ---
+
+The bridge you've built isn't long enough; you can't jump the rest of
+the way.
+
+In the example above, there are two longest bridges:
+
+    0/2--2/2--2/3--3/4
+    0/2--2/2--2/3--3/5
+
+Of them, the one which uses the 3/5 component is stronger; its
+strength is 0+2 + 2+2 + 2+3 + 3+5 = 19.
+
+What is the strength of the longest bridge you can make? If you can
+make multiple bridges of the longest length, pick the strongest one.
+
+Your puzzle answer was 1673.
+
+Both parts of this puzzle are complete! They provide two gold stars: **
new file mode 100644
--- /dev/null
+++ b/2017/day25/input
@@ -0,0 +1,62 @@
+Begin in state A.
+Perform a diagnostic checksum after 12656374 steps.
+
+In state A:
+  If the current value is 0:
+    - Write the value 1.
+    - Move one slot to the right.
+    - Continue with state B.
+  If the current value is 1:
+    - Write the value 0.
+    - Move one slot to the left.
+    - Continue with state C.
+
+In state B:
+  If the current value is 0:
+    - Write the value 1.
+    - Move one slot to the left.
+    - Continue with state A.
+  If the current value is 1:
+    - Write the value 1.
+    - Move one slot to the left.
+    - Continue with state D.
+
+In state C:
+  If the current value is 0:
+    - Write the value 1.
+    - Move one slot to the right.
+    - Continue with state D.
+  If the current value is 1:
+    - Write the value 0.
+    - Move one slot to the right.
+    - Continue with state C.
+
+In state D:
+  If the current value is 0:
+    - Write the value 0.
+    - Move one slot to the left.
+    - Continue with state B.
+  If the current value is 1:
+    - Write the value 0.
+    - Move one slot to the right.
+    - Continue with state E.
+
+In state E:
+  If the current value is 0:
+    - Write the value 1.
+    - Move one slot to the right.
+    - Continue with state C.
+  If the current value is 1:
+    - Write the value 1.
+    - Move one slot to the left.
+    - Continue with state F.
+
+In state F:
+  If the current value is 0:
+    - Write the value 1.
+    - Move one slot to the left.
+    - Continue with state E.
+  If the current value is 1:
+    - Write the value 1.
+    - Move one slot to the right.
+    - Continue with state A.
new file mode 100644
--- /dev/null
+++ b/2017/day25/problem
@@ -0,0 +1,117 @@
+--- Day 25: The Halting Problem ---
+
+Following the twisty passageways deeper and deeper into the CPU, you
+finally reach the core of the computer. Here, in the expansive central
+chamber, you find a grand apparatus that fills the entire room,
+suspended nanometers above your head.
+
+You had always imagined CPUs to be noisy, chaotic places, bustling
+with activity. Instead, the room is quiet, motionless, and dark.
+
+Suddenly, you and the CPU's garbage collector startle each other.
+"It's not often we get many visitors here!", he says. You inquire
+about the stopped machinery.
+
+"It stopped milliseconds ago; not sure why. I'm a garbage collector,
+not a doctor." You ask what the machine is for.
+
+"Programs these days, don't know their origins. That's the Turing
+machine! It's what makes the whole computer work." You try to explain
+that Turing machines are merely models of computation, but he cuts you
+off. "No, see, that's just what they want you to think. Ultimately,
+inside every CPU, there's a Turing machine driving the whole thing!
+Too bad this one's broken. We're doomed!"
+
+You ask how you can help. "Well, unfortunately, the only way to get
+the computer running again would be to create a whole new Turing
+machine from scratch, but there's no way you can-" He notices the look
+on your face, gives you a curious glance, shrugs, and goes back to
+sweeping the floor.
+
+You find the Turing machine blueprints (your puzzle input) on a tablet
+in a nearby pile of debris. Looking back up at the broken Turing
+machine above, you can start to identify its parts:
+
+    A tape which contains 0 repeated infinitely to the left and right.
+
+    A cursor, which can move left or right along the tape and read or
+    write values at its current position.
+
+    A set of states, each containing rules about what to do based on
+    the current value under the cursor.
+
+
+Each slot on the tape has two possible values: 0 (the starting value
+for all slots) and 1. Based on whether the cursor is pointing at a 0
+or a 1, the current state says what value to write at the current
+position of the cursor, whether to move the cursor left or right one
+slot, and which state to use next.
+
+For example, suppose you found the following blueprint:
+
+Begin in state A.
+Perform a diagnostic checksum after 6 steps.
+
+In state A:
+  If the current value is 0:
+    - Write the value 1.
+    - Move one slot to the right.
+    - Continue with state B.
+  If the current value is 1:
+    - Write the value 0.
+    - Move one slot to the left.
+    - Continue with state B.
+
+In state B:
+  If the current value is 0:
+    - Write the value 1.
+    - Move one slot to the left.
+    - Continue with state A.
+  If the current value is 1:
+    - Write the value 1.
+    - Move one slot to the right.
+    - Continue with state A.
+
+Running it until the number of steps required to take the listed
+diagnostic checksum would result in the following tape configurations
+(with the cursor marked in square brackets):
+
+... 0  0  0 [0] 0  0 ... (before any steps; about to run state A)
+... 0  0  0  1 [0] 0 ... (after 1 step;     about to run state B)
+... 0  0  0 [1] 1  0 ... (after 2 steps;    about to run state A)
+... 0  0 [0] 0  1  0 ... (after 3 steps;    about to run state B)
+... 0 [0] 1  0  1  0 ... (after 4 steps;    about to run state A)
+... 0  1 [1] 0  1  0 ... (after 5 steps;    about to run state B)
+... 0  1  1 [0] 1  0 ... (after 6 steps;    about to run state A)
+
+The CPU can confirm that the Turing machine is working by taking a
+diagnostic checksum after a specific number of steps (given in the
+blueprint). Once the specified number of steps have been executed, the
+Turing machine should pause; once it does, count the number of times 1
+appears on the tape. In the above example, the diagnostic checksum is
+3.
+
+Recreate the Turing machine and save the computer! What is the
+diagnostic checksum it produces once it's working again?
+
+Your puzzle answer was 2526.
+
+--- Part Two ---
+
+The Turing machine, and soon the entire computer, springs back to
+life. A console glows dimly nearby, awaiting your command.
+
+> reboot printer
+Error: That command requires priority 50. You currently have priority 0.
+You must deposit 50 stars to increase your priority to the required level.
+
+The console flickers for a moment, and then prints another message:
+
+Star accepted.
+You must deposit 49 stars to increase your priority to the required level.
+
+The garbage collector winks at you, then continues sweeping.
+
+If you like, you can [Reboot the Printer Again].
+
+Both parts of this puzzle are complete! They provide two gold stars: **