Initial commit
authorMart Lubbers <mart@martlubbers.net>
Wed, 2 Dec 2020 14:22:06 +0000 (15:22 +0100)
committerMart Lubbers <mart@martlubbers.net>
Wed, 2 Dec 2020 14:22:06 +0000 (15:22 +0100)
.gitignore [new file with mode: 0644]
1/input [new file with mode: 0644]
1/one.icl [new file with mode: 0644]
2/input [new file with mode: 0644]
2/one.icl [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..6d9bc01
--- /dev/null
@@ -0,0 +1,2 @@
+a.out
+Clean System Files
diff --git a/1/input b/1/input
new file mode 100644 (file)
index 0000000..e858abe
--- /dev/null
+++ b/1/input
@@ -0,0 +1,200 @@
+1509
+1857
+1736
+1815
+1576
+1970
+1567
+1778
+1508
+1833
+1377
+1890
+1375
+1396
+1102
+1639
+1818
+1469
+1138
+1333
+1906
+1557
+1686
+1712
+1990
+1930
+1761
+1881
+1551
+1627
+1801
+1728
+1960
+1407
+1832
+1842
+1393
+1870
+1295
+1528
+251
+1945
+1589
+1850
+1650
+1793
+1997
+1758
+1477
+1697
+1081
+1825
+1899
+1171
+1104
+1839
+1974
+1630
+1831
+1671
+1723
+1811
+1489
+1647
+1486
+1107
+1786
+1680
+1942
+1640
+1112
+1703
+1315
+1769
+1966
+997
+2010
+1635
+1196
+383
+1986
+1860
+1743
+1756
+1555
+1111
+1823
+48
+1953
+1083
+1804
+1933
+1626
+1895
+1807
+1669
+1783
+389
+1821
+1883
+1114
+1587
+1941
+1725
+1646
+456
+1550
+1939
+1975
+1324
+1201
+1018
+1001
+1402
+1885
+1481
+1633
+1781
+1622
+1822
+1559
+1696
+1510
+1251
+1732
+1790
+1813
+1695
+1121
+704
+1964
+1984
+1763
+1656
+1183
+1771
+1276
+1764
+1810
+1992
+1213
+1840
+1318
+1965
+1943
+1549
+1768
+1506
+1949
+1739
+1852
+1787
+1570
+1988
+1357
+1909
+1837
+561
+1994
+1777
+1547
+1925
+1897
+1817
+1677
+1668
+1982
+1667
+1753
+1041
+1826
+1961
+1797
+1765
+1720
+1835
+1688
+1705
+1744
+1977
+1971
+1775
+1782
+1661
+1385
+1162
+1755
+1846
+1674
+1698
+1882
+1766
+1820
+1531
+1577
+1710
+1382
+1246
+1864
+1702
diff --git a/1/one.icl b/1/one.icl
new file mode 100644 (file)
index 0000000..ccfe85b
--- /dev/null
+++ b/1/one.icl
@@ -0,0 +1,20 @@
+module one
+
+import StdEnv
+
+read :: *File -> [Int]
+read f
+       # (ok, l, f) = freadi f
+       | not ok = []
+       = [l:read f]
+
+Start w
+       # (io, w) = stdio w
+       # ls = read io
+       = (one ls, two ls)
+
+one :: [Int] -> Int
+one nums = hd [x*y\\x<-nums, y<-nums | x + y == 2020]
+
+two :: [Int] -> Int
+two nums = hd [x*y*z\\x<-nums, y<-nums, z<-nums | x + y + z == 2020]
diff --git a/2/input b/2/input
new file mode 100644 (file)
index 0000000..bb8b5b8
--- /dev/null
+++ b/2/input
@@ -0,0 +1,1000 @@
+9-12 q: qqqxhnhdmqqqqjz
+12-16 z: zzzzzznwlzzjzdzf
+4-7 s: sssgssw
+13-14 p: pppqzpppppppfpppp
+2-9 m: jknmmmmmmdmmmrm
+4-5 b: bbbrb
+2-10 c: hcpzpjclzc
+7-11 f: ffpffffgfrff
+4-5 j: qrrhjt
+13-14 m: wfwvfxmchplldvm
+8-9 l: lllllllll
+5-9 v: knvvwptdvmchnkd
+1-7 s: sssssqsss
+6-14 j: jjjjjbjjjjjjjp
+6-8 c: cccccqzf
+9-18 h: hhhhchhdhghhhhhhhhch
+2-3 s: bssswhs
+3-4 c: bhtg
+10-13 b: bbbbbbbbbbbbmb
+15-16 l: lllllllmlllllllll
+3-4 m: dwmmcmn
+2-5 h: vqnbh
+10-13 n: nnnnnnnnnnnnln
+12-13 g: vxgggggggggggggg
+4-5 h: hfhxlhh
+6-16 k: xztrkkzkkkkhpksg
+7-12 f: fpcffnfffdfwf
+2-4 h: hwhk
+7-8 p: pkpdppsgkt
+2-4 r: rgvp
+10-11 w: wwwwwwwwwwn
+1-14 w: wwwwqwwwwwznwtzm
+1-2 j: jjnjrsjjhjnv
+19-20 c: cccccccccccccccccctt
+1-7 h: hrhwhhxfh
+2-3 p: whgpp
+4-9 l: jqllllsllf
+9-15 f: zffffffrtffffrpzxf
+8-9 t: tdtttttgtt
+19-20 l: sxspchxnngfcflghrmkl
+8-10 c: xjxcccccbc
+14-17 g: gggggggggggggmggp
+17-19 w: wwwwwwwwwwwhwlwwgwv
+2-4 v: vjvv
+1-10 d: dffqltgzzdjdmhlddlfd
+12-19 v: vzlvjvqvvlvvvwcrdvk
+6-11 t: tttftttttttttg
+5-9 g: dggwngggrg
+2-9 w: ptbhsgwnrt
+2-12 t: stjpthvlcnxt
+4-6 d: wrhdbdddpdcd
+8-10 n: wxnnnnnnncpnd
+8-9 w: njdxwzdxw
+11-17 q: rcjrfcqqxdkgqfqgf
+7-11 t: tjvgkgttlstlstvrn
+2-9 z: zjvbcdszczzp
+5-13 g: kkhxgrqngnwjgfdvd
+1-5 f: fffff
+5-8 t: tttktttttt
+6-7 p: tgksxzb
+5-6 c: qcgccc
+4-8 x: hghpslxx
+2-7 t: tvrwtmb
+7-15 p: zpnqpjpzpgcpppppqrtp
+10-18 z: zzzzzzzzzzzzzzzzzb
+5-10 t: kdmmtrckrtnhtvcfng
+5-10 f: fzffffwfpfwftgflwp
+12-16 c: fqkzccmnzhncbpch
+2-11 t: ttdtctzttwttgktmt
+10-11 l: mlplhlntmlkllllllhl
+2-3 j: jjjqtcdc
+2-3 b: kbcb
+13-14 q: qlqzqqbcqhqqqq
+12-14 b: bbbbbdkbbbbmbxbbn
+8-18 p: wpzprzkkptvtpppnftp
+6-12 k: fgkldkhkkcwkrck
+5-6 j: srjjjjjjj
+2-3 c: jhtc
+3-4 q: qgdq
+3-8 h: jphphhhh
+5-6 w: wwwwvwn
+5-10 r: jrrskrrgfgvtkrr
+2-5 w: bmxlkkbtcdwc
+2-7 t: ltlmxttdqsnh
+17-20 z: zzzzzzzzzzzzzzjzzvzt
+15-16 x: fxxxjxrrtdxdxxlz
+4-8 q: fqtqzqkbq
+15-16 w: wpzfvjnqpfrdlsgj
+3-18 r: mprntrrzkfpkhxfzcg
+19-20 j: jjrjjjjjjjjjjjjjjjph
+3-5 s: ssfsw
+3-17 h: nkczlnhhbmdqmklvw
+2-7 x: slxkcxlqtwxjwjf
+4-7 f: bwfgkffzfw
+1-6 q: ssqqqnq
+15-17 g: vjgpghvmcpghgxztl
+11-14 f: sfffffbffgffffsffl
+12-16 c: cccccccccmczccccc
+15-18 w: wwwwwwwwwdwwwwwwwww
+3-4 b: bkbb
+4-8 t: ttrjmmsgbbtt
+17-19 c: ccccccccccccccccwccc
+10-12 x: xsxxxxxxtkxxxx
+12-15 n: nlnnsnnnnnncpnm
+6-9 h: hhhkhknxcrhhphzmtjr
+2-4 m: mngs
+1-6 n: cnnnbn
+4-6 v: vvvxvm
+5-13 w: qcftwjctgcvsbwgm
+2-3 s: ssvss
+15-16 f: vffqbhffffcfffrn
+2-7 n: hnnhtnvpmxcqdnnf
+3-4 t: tntct
+8-9 k: qpkwkkzkk
+9-11 z: pzznzzzzcsvc
+2-5 h: mdhcpnhmnhk
+3-6 r: cfgrhws
+1-10 r: rrmrrrrrtr
+10-12 w: wgkwwqwwwhnhwwzk
+11-12 d: dvddddddddddd
+3-8 j: jrhjjjjwswkjj
+2-14 v: vpfghwfvkhwwjklklpl
+4-5 z: jzmzzzz
+4-6 g: dbtgggggtp
+1-7 n: nkkwpkzjnddhpdnmtfj
+6-12 b: bbbbbbbbbbbbbbwbbbb
+4-6 z: zzqtzr
+2-11 l: nzlrllznllsx
+2-8 r: rrrrrrrr
+14-16 n: vnnnnnnnnnnnnhnq
+2-10 d: ddddddddddd
+5-16 w: wlwwkwwwwmwwwwswwnd
+8-12 d: ddddrjddddddddd
+8-9 g: ggggggggg
+9-14 w: wwwwzvmhxwfjwwwnw
+3-5 d: ngrjkdpddjdl
+1-3 r: trhr
+3-5 j: tjgzj
+6-13 b: bgjbbsbhbbfxrw
+9-10 p: jpppppppdpp
+4-5 p: ppppbpp
+10-11 l: lllblllllkgll
+16-17 z: rtdzlbcshlvcvvqzj
+4-6 k: rdfknx
+5-13 r: rrzrrrrrrrrrrrrrrr
+7-9 b: dbbbbbbwb
+1-8 h: jhhhhhhhhh
+11-17 g: tqbghggghcgggglgdkg
+4-7 v: bqvvvlvbcj
+7-13 j: xjjjjdtjjjjlchjj
+2-3 g: kbggglgqkkf
+3-4 n: nnrn
+2-4 c: mxcsz
+7-18 q: pqqqcqzwxqfqqrqqqw
+4-5 c: mckcc
+3-6 z: wzdzznzz
+14-17 w: bwwwwwwkwwwwwwwwfww
+3-4 w: wwww
+16-19 h: hhhhhhhlhhhhhhhtxkh
+11-16 m: hmgcmtxxmpmdbdkm
+2-6 w: twwwwdmwwww
+4-5 h: phxnl
+4-6 p: pppdpmgppppcv
+13-14 d: xpdndklhdbbrdn
+5-9 f: kfqfdfxrhftx
+3-4 w: qfpx
+7-9 d: ddddldddddddl
+1-6 g: gggggg
+3-5 h: hlgbnkc
+3-4 p: ppvj
+2-10 x: wgxlqfxtxx
+2-5 n: nrgrn
+10-11 g: bgggggggggg
+3-4 p: pkprr
+3-4 m: mmxrm
+1-2 q: qqbpn
+7-8 t: vcrzttjbtttjs
+8-13 w: wwwwwwwwwhwwwwnwwwsw
+2-8 g: ggggggghgg
+6-7 g: gggghjg
+4-5 q: qqgnwq
+14-18 s: sssssssssssssfsssq
+7-9 l: mgbsqgmlhmwv
+6-9 q: qqbqqbrqq
+2-4 m: nsktmqk
+4-6 f: fffkfz
+9-15 n: nvnjnnnvtnnhnnxn
+7-9 v: vvqrvcdvvvnbv
+4-6 g: mggggd
+3-8 q: gqvzqqmq
+8-10 r: rrrrrrrwrvr
+1-10 v: vmkvpgvvxvxw
+4-9 v: vmwfvxtlmgvtrndsv
+6-7 f: fffffff
+10-11 k: xkkkckkwkbsk
+13-15 p: pppjhppjppfcpppppppp
+2-9 r: mrlzlptrrv
+4-7 k: bkshqnkkj
+5-6 c: chcccxcjchkd
+5-8 q: qdhqvqqsqqq
+5-7 r: rrrrrrr
+5-8 p: bfpqgpbgpqpp
+3-5 v: vtvtvrqdj
+1-2 g: gggg
+3-4 b: pbbbbb
+6-14 x: tdrjtddrqrlmkgqhxpg
+3-4 l: llcqv
+8-11 j: jfcnczqtfhgrcdxg
+16-17 g: ggggvlggggggkggfqggg
+14-16 v: vvvvdvvxvvvhkvvvvvvw
+8-11 d: pdhdhddgdrdd
+4-5 n: nnsnn
+7-8 k: kwkkkkvg
+2-4 k: lkbr
+2-3 s: ssts
+2-8 t: ttttptgttt
+4-6 t: ztttghrtttt
+8-11 h: hhghhhrhhhhhkgh
+1-5 h: nwlpd
+1-10 v: rgvvhvdzxzvnvc
+7-8 p: zppnspqbpp
+6-10 r: rxrrrrrgrr
+7-9 c: hcbflccccbzcccrjgbpr
+2-15 b: cbgtxwbmtjnszvbzzjkb
+7-8 r: xrhrvrgsxrdf
+13-17 g: mggxgqggrzgnggmgv
+2-11 h: whqddhkhhqhh
+9-10 c: ccccccqccc
+1-8 h: mhhhjhhnh
+16-18 s: sssssssssssssssssvs
+2-4 z: txkz
+10-11 n: jcwmzvknnnn
+1-14 j: jljqfjjjjrlqrjd
+15-17 b: bbbbbbbbbbbbbbzbgb
+9-15 h: gfhcthccvhhchhq
+16-17 f: gffvfqffffffffffffff
+2-11 z: nzqzbnzkzlzm
+1-9 b: vrfrkqbnctbbc
+2-5 p: cpqrk
+8-13 j: jjljpjjgtjbjfjj
+3-4 j: fvjjqj
+6-10 g: bnwlrgmggq
+3-11 m: mzvmhmdmmmmmqgmmxm
+2-8 b: lcbbbggpcbbzn
+5-7 m: rtmmpmwm
+4-6 l: hvlsnxlpmlvplqxng
+1-4 n: nnnn
+3-9 p: vnpmdjpvhw
+2-8 r: bkrrwjpdg
+16-20 h: hhhdhhhhhhwhhthhshqh
+1-13 q: rqqqqqqqqqqqc
+13-17 x: xlxxppdvmxxtxvbxsxx
+5-7 p: ppppkpwp
+3-5 d: dddkd
+12-15 d: fddddnddddddddl
+10-12 v: rvtmjfsncvpvvvv
+4-5 m: mmlmm
+1-3 t: jttqhdptjcjwnbjn
+2-6 q: tqxqdqxdnltj
+5-6 b: bjbwjn
+3-8 n: nnnnnnndnnxn
+9-11 p: hpcpbptztptppkpwp
+15-16 n: nnnnnnnnpnnnnnkn
+5-6 m: mmmxmmm
+5-7 k: kkxkckk
+9-11 t: dhtpttpqttt
+11-15 v: vvvvvvwvwflvvvf
+8-9 b: nrmgbbbbq
+10-11 m: mmmmlmmqmmmmm
+4-5 l: llrlll
+8-14 v: jvvvvvvvvpvpvv
+5-6 z: qzzzdj
+7-10 j: jjpvfvjzckvh
+1-2 c: chvfccfc
+6-10 x: xxdxxxjdxtxxkxngxxpt
+7-11 k: cchsjskkkpmkkkknk
+3-4 r: mrrh
+3-6 w: wkcpwsgwww
+15-17 b: dbgxdbbkbrbzbvqpgdbh
+4-5 l: llllll
+8-11 g: gggpggvgggg
+6-9 c: cpckccxcccjq
+9-10 c: tcdchccpgz
+1-8 t: stttvtttttttvtss
+2-10 w: wmwnwwwwww
+7-12 k: vknjkpkmzkrkkvqxkcn
+11-13 m: mmmmmmmmmmqmdm
+2-3 c: wczqmccc
+3-7 w: vwpswwnww
+5-9 w: ccwncstdz
+2-5 d: fdddm
+8-14 b: bqbbtctszzbbxrbb
+16-17 n: qbknnnnnnnnnnnnnw
+1-6 h: hhhhhhhh
+1-5 t: vtbkvkxht
+6-7 d: gdhdddddd
+12-16 j: jcbbjwxbdktgzjzkjkx
+7-13 r: nrrlrrxrfvrvgrrrgrr
+11-17 x: xxxxhxqnxdkxccpfw
+13-17 n: bxnnnnnnhdnnbnfnhn
+1-9 k: gkkkkkkkpkkkkk
+8-10 b: gbmpmzrbcg
+11-14 g: gkgggvggggggrggg
+3-9 d: ddddddqddd
+4-5 j: tjjjjc
+1-2 f: ffjpsr
+6-11 d: dzmctkxrswz
+5-16 d: qdsldjhdwldhddldz
+4-8 q: qchgqqqrqqqq
+1-5 w: mwwwwwclw
+2-5 c: ccccswkcctl
+1-2 s: nsnshgxjf
+6-10 k: kkbqgkckjklklvknk
+15-18 d: ddfddddrddddddjdddd
+2-7 m: mwmmqmm
+6-8 q: vqqmlqqqvqctqgqs
+7-8 d: gddddzdddd
+3-10 m: lmxmdmsmmpm
+5-13 s: qslvssmtvrhtrxz
+7-8 s: hbcsschfsrvssksrh
+2-6 q: qvgkxgwvnjg
+1-4 r: rrrkrrr
+3-11 w: qxwwhwwclwfvbzxlkdxm
+3-4 g: tgcq
+3-4 j: dpmt
+11-13 g: gcgbggggggdghlgggh
+17-18 s: bbzjzlldsszsxgftsm
+2-14 g: xhgdtfvzgpltkgzhd
+1-4 k: klnk
+1-3 z: dzpz
+4-12 q: fprhqjxkjlwtnfg
+2-3 b: bqhkb
+3-4 k: ckvmkgsp
+12-16 h: hhhhhhhhhchhhhhs
+11-12 b: bbbbbbbbtzbvx
+2-3 n: vnnx
+2-4 l: lkftllf
+1-6 b: bbqbbzb
+2-7 c: bkqclfcwfxwkvcltsqqd
+8-10 m: mzfmmmjmkm
+1-5 s: dmlsf
+5-11 b: bbqzgcmcbbdvb
+5-7 l: lllllll
+9-10 x: xxxxxxxxbcx
+8-9 p: wppppppqv
+3-5 m: mmtmmm
+4-6 h: hhhhhhh
+4-5 r: nsvckbrrhv
+1-6 g: gggggggggcggg
+1-2 x: xlvxgp
+3-5 j: bjdnh
+3-4 t: tttlt
+4-9 z: tzpkksgrzhkxv
+3-9 r: wrcrgjdwrmr
+8-9 k: kkkkkkknkp
+3-4 j: jgjjj
+10-17 n: qmccjhsvbczwdntmktjx
+8-10 c: cccccccfcq
+14-16 m: mmmmmmmmmmmlmjvpmm
+4-10 c: bhqzjcwnqkcwkr
+17-18 n: nndnsnnfnnnnnnnnnfnn
+2-4 x: wxrf
+3-5 b: jbbsbnsbbwgnvj
+2-6 r: hrmbrr
+18-19 l: llllllclllllllllllll
+13-16 b: bbbbbbbbbbbbbbbb
+11-13 s: qsssszssslssw
+9-10 v: vvvvvvvvcdv
+5-11 g: ggvwgrkskph
+9-10 b: bbbvnbqbcjd
+9-12 c: vhcckfrzczkcc
+16-17 d: dddndlddmddddddjv
+18-19 h: hhhhhhhghhhhhhhhhrw
+6-18 r: rrvjrrrwmhrrrddrrrn
+1-3 g: jwfqhggfgt
+1-4 n: xnnqlnncxbcncj
+4-5 r: vrvwt
+7-10 m: nxsqvmmwnkrqm
+14-15 k: kpkkkkkwkkkkkkkkkrk
+14-16 f: ffffdfffvffsfffff
+3-7 n: dlflwdjwhlsdrnljccvh
+12-13 k: kzkkkkkkkgksckkk
+3-15 f: fffnfnzfhwhfmxxfd
+3-8 z: wbztbsvbvqgxz
+2-8 z: mzzqzzzzzz
+8-11 x: slxvxxbzlxxbxmqxmxm
+2-3 f: rffs
+7-14 m: hvjmszmxgnnhnmpmfk
+2-12 z: zpzzzjzzzszf
+1-4 g: gbmgwghxpdb
+1-3 j: twjjjqjwxljl
+16-17 c: cccccccccccckccmc
+7-10 g: gnzgggggpg
+10-11 c: ccccccccccc
+9-11 l: lllllplldll
+11-13 q: wvcnqxvvqxqqq
+6-7 r: jrsbrrrfvrprrd
+4-7 v: vvvvvvsvv
+6-20 d: cddnqddddddkvjddpdbz
+2-8 m: mmsmmswmm
+5-6 s: szssjs
+4-6 z: zzzzzz
+2-12 q: rqrtpmtpdqwqlsmpn
+16-17 r: rrrrrrrrrrrkrrrwxk
+1-11 v: xhvjjvvpvjdvpks
+7-15 m: mmmfmmmmmrmmmmmmb
+2-4 d: dddd
+9-10 m: kmmcmwcmmxmmsmnm
+10-11 m: mmmmmmmmmmm
+8-9 p: pspctpxpppppwbqppp
+11-13 s: ssbsssrrsswsgsss
+6-9 f: pfrtffftfrfqx
+2-3 c: sfcbscsx
+18-20 p: pppppppppppppppqpppv
+4-5 x: wsxbd
+12-15 s: ssssssssssssssss
+8-13 b: qmxcggxzbvdzhflplcvx
+2-4 p: ppppp
+10-14 m: mdgkvkrrxldnsm
+6-8 x: xxxxmwxxxx
+4-6 f: fffvfff
+11-12 r: rrbrdrznndrrpwr
+2-9 k: dflbckgsl
+4-7 x: xgxxxxg
+3-5 c: wphmkfxx
+3-4 c: pccg
+8-9 n: xqnzbbtnnq
+2-4 s: sshsnw
+4-6 b: lbbbbdxf
+4-10 c: mhzcvkcxcms
+2-3 z: zzdfz
+8-9 s: hswsszfbblsssmstjf
+2-14 r: prlnmrcrfxnmprr
+9-10 t: gtpmrftnft
+13-14 p: dpppppptprpspp
+16-20 v: vvvvvvvvvvvvvvvvvvvb
+3-9 t: tlttzdkwnvjt
+3-4 b: bbsr
+1-3 k: kkkk
+3-5 k: kkkcn
+1-4 b: kbbbbbhbb
+10-14 p: bcppxppptppptpnnrxpp
+1-13 x: zjbrdxlvmczvszxpj
+2-7 x: zrxkxxxxx
+6-10 n: vnmnjnnnnnnnt
+9-11 c: dhzhvsfpmtrbp
+2-4 c: vvcq
+8-11 q: mpjlqqzkpqwnqqqq
+13-17 x: fswnrkwvxvzhdmqdx
+16-18 l: llllllqlllllclllllll
+4-10 d: swpcgghdqp
+10-14 k: kkkkkjkkkkkkkq
+1-5 j: jfscjjckj
+10-12 t: pztttttltttpttpt
+3-4 h: chkm
+8-12 c: gclmcpccccclrrc
+4-10 v: vmgvvvvvvvl
+4-6 m: wmmmmjm
+5-6 x: xbjvzml
+12-14 z: dzpzztzzlhhztz
+4-5 s: ssrms
+2-6 k: klchqkkzkbkbrwdkkw
+7-9 v: vvvvvvzvmvvvv
+8-9 h: zhhhphhjw
+1-6 b: zbdlcbsvztmndkbbt
+4-5 k: kkkgc
+17-18 v: vvzkvvvvvvvvvvvvvvv
+2-7 v: vcsvgjv
+11-12 k: kkkkkkzkkkrk
+1-2 r: grnkkcjrldpm
+2-4 h: pkhx
+11-14 v: vxlvhvxfjhvvvvv
+7-10 q: qpqqqqtqrc
+3-11 r: blrrlvtcbcr
+10-11 p: ppplpppzpppp
+10-14 z: qgjlzzqwqppztzzzdz
+5-10 k: khkrzkkrkkk
+1-2 l: ljlx
+3-9 f: fpfzvddpf
+7-13 g: ggcndgjgvglggggfpg
+4-11 f: pfjhffffffqffff
+1-16 b: lxwhmbbsbkbfbjcn
+3-7 h: hhhhhkhssh
+13-14 v: hvvvvvvvvvvvvvv
+8-9 n: nnnnnnnnnn
+7-8 n: nnxnfznnhnnn
+7-8 c: ccccccdnc
+1-7 w: ckwxwcwcwjvrr
+1-4 c: cccgc
+13-17 q: qqqqqqqjqqqqbqqqcv
+4-5 l: llbll
+3-8 w: xqwhmrwvvw
+3-4 h: hhpw
+3-8 q: fqqqnhtk
+2-3 b: bbsb
+1-3 f: ffffkrg
+13-14 n: nnnnpnnnnnnnbnn
+11-18 w: wwwwfwwwtjwwfflwwvw
+1-3 v: jjvkrvv
+2-4 h: qhgzhhxhvbrzjplsb
+4-5 p: vpxpppwppl
+3-7 j: jjsjjjvj
+8-11 h: hhhvhmhdhhhhh
+2-7 k: mkdmksjvk
+2-9 n: ndnnnnnnqn
+8-9 n: nntrjlnmt
+3-5 f: xfbffrfc
+3-4 g: gggg
+15-17 p: pgpwpppppppppprpphp
+6-13 z: zzzzzqzzzzrzqzz
+1-11 r: bbjrzpnwlkmrsjxqjnvq
+2-11 m: spkvwdnqtmsmvgtlfm
+6-12 c: cccccpcccccmcc
+7-8 w: fwxwwwwwbwwbw
+4-17 r: rrrfrrrrrrrrrrrrr
+2-3 q: qqqq
+8-18 m: zsdmdprmdvkgqmdmhmx
+4-5 g: ggggg
+1-5 l: xfllltl
+7-12 r: srrrrrvrrrvxrrr
+2-6 p: pmpppppp
+1-18 f: xfgffffcfffffffxfkf
+2-4 g: qggrgg
+4-16 m: wmmmnmmmmmmmkmqm
+11-12 t: thztttdszzttntpbd
+5-8 g: ggggbgggggg
+3-5 h: knhbvh
+1-2 q: fnqhqpc
+11-14 v: qvvvvkxvvvvvzvvq
+3-4 r: krssrrrr
+1-13 w: kwwwwwwwwkwdwwc
+5-7 f: zfffvfffffffff
+5-10 t: fqtdtxcpwtbh
+12-13 n: nnnnbnnnnnnnkk
+7-9 t: wqkzfgtbsptfvt
+6-11 r: ztwqxrmrrzp
+14-20 f: ffffnffljffffrfcffdx
+14-16 j: jjjjjjjjjjjjjcjv
+4-5 f: xvfzqglkftpffbf
+2-5 f: qftgffldffvdktfjshzr
+12-13 t: cmpvlskpfcrsv
+2-4 b: bbbpmqbbbbblbqbf
+2-3 q: lqqkhqbq
+4-10 j: qljhjftjvdbjjbtj
+8-15 g: bgggwlbcggftggrgtdvg
+10-11 j: jjjjsjvjjjjj
+4-6 w: wbtwwwqvhtsrhbhzwhqw
+4-5 r: frrhrx
+1-5 c: ccccc
+13-15 d: ddrdddrdddddvmdqnddd
+4-5 j: xxpqdrfgj
+12-13 f: bfbffmqffffftfff
+1-4 s: svgs
+8-10 s: sssssssssq
+3-9 p: ppppbpppnp
+1-2 w: wwxx
+2-3 c: tccc
+6-11 b: tkbxbbblsbsqdbwzbb
+11-12 x: gxmxhxwxmxxxxvfxgxc
+17-18 z: zzzzzzzzzzzzzzzznz
+7-8 q: zqcwdvgqx
+6-9 f: zmvsndwfgm
+9-17 c: cccccccclcfcccccxccc
+6-9 r: rrrrrrrrcr
+9-12 r: rfzrrcrrrdrxrrr
+2-6 v: svrlwmvlqfsd
+16-17 h: hhhhhhhhhhhhhhhhph
+11-12 j: jjjjjjjjjjbj
+4-8 n: vncnbdzt
+6-7 d: vdddddm
+3-4 z: zzzz
+1-5 q: qqqqfqqq
+9-14 f: bnffhgpvffffnfftf
+1-3 x: lkltxxxxxxx
+2-4 l: llll
+4-6 l: qhtldhlzbll
+2-4 r: rrtrbb
+12-16 m: mmmmmmmpmnmpmrmmmmm
+16-18 h: hhhhhhhhhhhhhhmhhhh
+4-5 f: qtfvfffff
+3-4 c: ckkc
+4-5 m: tmmmmlblzppmbk
+4-7 x: ldxpxfckxfnfhfxwzjkp
+3-5 j: dcdjsjj
+6-11 g: lggggvsgghbfjgg
+1-2 b: dmnbb
+6-8 b: kxbbzbbbbwb
+1-6 z: zzzhzwqzz
+11-12 g: qggpggggggbpgg
+13-16 x: xtxcwxxxxdxxxhjtnh
+4-7 g: fgwgngg
+7-10 x: xxjlxvqxxj
+11-12 z: zzzzzzlqnzqz
+5-6 d: mmbnbrdswk
+8-9 k: vqkkkkkkkk
+4-12 f: ljfhfhwfrdvf
+5-14 h: rhhhhvhhhhhhhhhhhh
+1-7 m: wmkgmsm
+13-19 n: nqsnnhxnnnzvrpgljnmn
+5-13 x: xfcxhxxxxxxxnxcx
+4-15 p: pppppzpppppppppr
+3-4 c: cctq
+17-18 h: hhhkchhthhvhhhfhnc
+3-4 r: xfdl
+4-7 v: vvvzvvw
+2-16 g: ngggdggqtgghprggngg
+11-13 s: ssqsssnshwksgssss
+1-9 h: hhhhhhhhhhhhhhhhhhh
+6-14 x: xxxxxsxftzxqxfxsxr
+4-6 d: wmddtttdt
+17-18 p: ppppppppppppppppnpx
+5-7 b: fbbbbbbh
+7-13 s: ssjshlxhhjssqpsshssh
+5-7 f: fntqfffl
+7-12 h: hsvsxhhdhhjhhhh
+5-6 n: jnnnpm
+3-4 c: cfcc
+1-14 k: kjkzqgnjdkjkvkpf
+11-17 k: kgkkmkkbkkgsktvxvk
+16-18 r: rfrrrrlrrrdrrbzkrb
+14-16 j: jjjjjjjjjjjjjvjg
+13-14 d: zddddxdddddlml
+11-15 x: xxxxxxxxxxtxxxxxxxx
+10-11 n: nnmnnnnnnnsn
+9-10 d: ddddddddldd
+1-13 m: dnmmmmmmmvqwwwgmmpmv
+4-6 t: hvttttxttmtfv
+6-7 p: ppppppdpp
+3-4 g: pggg
+17-18 z: zzzzzzzzmzzzzzzzwlz
+8-16 g: ngcsgggcmgmglqgg
+6-7 f: ffcxlhffgfvgdf
+1-6 r: vwrrrrkr
+5-6 k: knkkkk
+6-7 b: vwdzwbbjbblbm
+5-13 b: qkbxdhbqqczhcbqs
+4-7 s: tsnsslsv
+3-4 s: ssss
+15-17 c: ccccccvcccccccbcf
+11-14 c: ccccccccccdcct
+1-2 q: rrndznlqgptbndbmrm
+9-16 x: xxxpxxxxgxxxxxxvxx
+3-4 x: xxzdxx
+5-7 n: zndmnnln
+4-5 t: jtntkttv
+4-5 h: hhhgh
+8-10 d: zdvmdsbzdvnnjpb
+1-5 w: lqwmwp
+9-10 d: ddddlglmdd
+2-6 n: nncsmnkngc
+7-9 f: hffgfffff
+7-9 b: hbgblhbbbbwg
+14-15 j: jjjjjjjjjjjjjlcj
+14-16 k: kkkkkkkkkkkkkkgk
+16-19 g: hxxmzgmcsbgcdrxfzgg
+3-4 t: ttrmtt
+8-14 h: qttzhtnwsxwhknqfmsj
+3-5 h: cwltjhth
+9-13 q: qqqqqqqqhqqqqqqqq
+5-14 v: lzmdvmwlvbvrmvcvj
+2-4 v: lvvv
+5-6 d: dhddjdd
+3-4 s: sssssg
+7-8 z: nkzzxzzz
+10-11 c: sccccccccccc
+9-16 f: fbcftfffvlfqbvfff
+11-13 c: lvccmccmcscllvc
+1-2 v: vvvm
+2-10 p: hkpppmpnpwmm
+3-5 r: rrtnc
+13-14 b: bbbbbbbbbbbbvbb
+3-4 b: bsfvv
+2-3 r: rrwrlrrrrbrrrr
+14-16 c: cccccccccxcccccc
+4-10 m: mmmmmqmmmm
+11-15 j: jjjjjjjjjjjjjjjj
+6-12 v: vvvvvvvvvvvwv
+6-12 q: bbqhbszqnqqqqqq
+9-13 t: tsxttrbttgttt
+17-19 c: cccccccccccccccccccc
+4-8 h: hnkgrsbzhhcsbp
+5-6 t: tttgttttttt
+3-4 w: sqsblvplnqjhxwnvkgfj
+4-5 k: ckkkc
+3-4 c: clrjc
+2-4 z: zzcw
+4-7 p: bpvwpmp
+4-6 q: vjckzxbh
+1-4 d: dnxdgjdd
+2-6 g: ggjgjgkg
+8-9 r: rrrrrrrvr
+1-6 b: bbbbzb
+13-14 q: qcqqqqqqqcqqwbq
+5-16 w: zfwcxmjcncwtmtbvbctv
+3-5 b: bpblbb
+1-12 n: rbnnmgbnhklfnhn
+3-8 m: nwmmmmlmx
+2-4 p: wgpppwwdpv
+4-9 h: dhhhmnhhh
+1-9 c: ccfppznjsbccvsf
+4-9 h: hhhhhhkhhhhhhhhhh
+1-4 c: vsclwzcmc
+3-7 j: sjrwfcrp
+2-10 h: wqljchhhxhf
+3-9 d: dddkdzqddsddd
+10-11 q: cdgtzbrsvqq
+9-14 b: rbjrtbmcbnlvbf
+8-11 k: gkdkkkkhkkqrkzkvzwb
+1-6 n: nsnxnnnnnnn
+1-4 m: mqdmmx
+2-8 s: sksshssgsls
+2-4 c: cccc
+2-5 v: vvvvvvc
+7-9 h: hhhhhhvfl
+14-20 f: bffhfffffffqfffqffff
+3-5 l: llwls
+1-6 p: nppbvp
+9-16 c: wrkntcwncptccgccsclv
+4-6 d: dldrlmddg
+7-12 p: ppppfppsppppppplpm
+2-5 v: vwmxvdvvvvdvnv
+19-20 h: hhhhhhhhhhhhhhhhhhph
+15-17 d: ddtdddtdddddddddd
+2-6 q: qcqcqqqvq
+5-6 t: tttttt
+3-4 f: frfp
+5-11 s: xlsdhkskzkczcntn
+13-16 n: nnnnnnnnnnnnntnn
+2-7 n: nnnnnnl
+1-4 v: vqvbdfv
+9-10 k: kkwtkkkkkz
+8-11 z: zzzzzzzzzzzz
+11-16 k: kkkkkkkkkkkdkkkkkkjk
+14-15 c: rbctgvcqwccjctccrblq
+13-14 l: ktdlflllgmlllc
+3-5 c: cchccc
+8-12 g: ggqggggvggqc
+5-6 w: wwwwwm
+2-4 f: mlfd
+4-17 k: tknkjgcbdskbqvtvkkk
+5-10 m: nwqmgjmmmdqmm
+14-18 q: rqqqqqqqqqqsqqqqqrqm
+3-5 m: mmbmm
+6-7 b: bbbsbbl
+1-5 w: wmwbvltncjxjsfhgw
+1-16 b: zbwbjtbbzzlbcdbb
+1-4 b: bbbb
+1-4 x: xfzxxxxx
+11-16 m: mmmmmmmmmmmmmmmmm
+5-9 x: cxtxmsnqvxqxxx
+1-2 v: vwvh
+10-15 h: zghhhwgrhhjhhhhh
+13-14 h: hhhhhhhhhhhhhh
+11-12 d: dddddddddfmhd
+1-12 w: wqbwwpzswwwm
+1-5 c: cbbgc
+11-13 f: nmffbmffffmfwffxff
+11-12 l: llllllhllllll
+12-13 r: gcrrrrkhbdgdrr
+1-5 h: hhhhrhhhhh
+1-5 g: ggggl
+6-11 h: hgzxnhhhnqhph
+1-9 x: xjkvwjgnxlrfdxxqxfc
+4-5 s: ppsns
+7-8 l: llllllwl
+11-12 z: xzzrzzzzzzvsz
+2-4 q: tzqqjq
+10-15 b: vbrqbbmqbsbhmpbb
+1-3 m: mmmm
+7-10 m: mmmmmmgmgrm
+8-9 w: wwswnwwwgw
+1-5 m: mrmmm
+3-7 b: whbbbbwqzbbtnb
+3-4 b: bbsbb
+11-13 p: pppppppnpbtpc
+1-8 x: xvxvjxxxfqxvxx
+6-8 m: hpmmbvmmpsmkmgs
+7-8 l: llllllsl
+2-3 t: ttttkttt
+11-12 c: ccccccccccbw
+1-4 z: vzzszz
+12-14 c: ccwccccvtckrcc
+4-14 k: xxmkcmnjdgqczkhk
+1-15 j: ljwjjttjrjjjnjp
+10-12 z: zzhzzzzzzzzz
+5-11 w: cwwwwwwwgwww
+10-18 n: hktgnnnjlwbzndrbpnl
+6-9 m: mmpmmdmjtsmr
+7-13 b: bcbwfbbbbbbfcb
+3-12 c: mnmftdxxfpmnpzqhcm
+2-5 d: dddddd
+12-13 b: bbbbbbbbbbbnb
+10-14 g: gggggggggwgggg
+18-19 w: wwwwwwwwwwwwwfwwwxxw
+7-8 d: wddddjddhdzddr
+8-14 z: hgzzjbznzszzzgzz
+7-8 f: ffffffbf
+3-4 v: vvvv
+9-16 n: nnnnnnnnnnnnnnnnnnnn
+5-6 r: rrrrkf
+13-16 f: fffffffffffflfff
+14-16 f: gppfjbvfwllpsljp
+9-18 f: ffffffffffffdfffffff
+5-7 x: xxxxxxk
+13-14 l: llvslllwvlhsccnllc
+12-19 g: dtvgcdwgcmfsggcpgpgr
+1-8 l: lwnwlxzllp
+1-7 w: wwgkkwn
+4-6 t: cttmtthltpctnsww
+11-13 h: hhhhhhhvhnwhhh
+1-5 r: rtdrrvsrrtrrlrtf
+9-10 l: llllllgldlll
+6-8 z: zzglzkznpkzz
+1-4 n: nnlwvnq
+14-15 m: mmmmmmmmmmmdmrtmm
+4-16 s: ssmnssshsstsssrssss
+1-5 g: zncgdpghsgs
+7-20 r: rrrrrmgrfrbmrrrrrrrp
+3-4 s: slrp
+6-7 b: bbbbbbbb
+10-11 b: lvxbvbbzhbg
+5-6 k: kxzkzfftkf
+4-6 h: hcjhhhn
+6-10 r: krrrrjrrbwrnrrz
+12-17 s: sssssssssjsrtlssswss
+10-12 m: mmmmvmmmmkqm
+2-9 j: nhjdzqjczxqjnw
+3-4 b: bbbb
+2-3 c: tzjcb
+1-3 t: kmxtshpnzcln
+3-4 x: xxxx
+1-5 m: sjzszsmmbj
+2-8 n: vnjnnnnnsnnnn
+14-20 g: ggggkkggggggggggggkg
+9-15 k: kzxckdjkkkhkkjktfkk
+6-9 w: wwwwswwwwwbwcdb
+8-11 k: kkqkkkkjkhfssh
+5-9 q: hqqkdwtqxqhqq
+8-9 t: tmtttttth
+7-8 x: pqrjqsvscbffbkhfxhm
+3-5 q: qqfqj
+2-4 j: rjkjk
+4-7 p: pppdpgtg
+7-8 m: mmmmmwnm
+10-12 x: xqxrxxxxtxtxxxxxxlx
+5-11 c: cvdzctckcgmkgcm
+2-4 k: vknkm
+6-12 j: qjjgcrsjfbjpplnpjhr
+2-7 p: ppppdpppkps
+2-3 b: zhdbgb
+6-9 d: dddddsdds
+4-5 r: rmrvcr
+14-15 p: ppppppppppppppp
+1-4 g: gbgcgdkfwqbgngcqj
+4-6 k: vnmkxkkkdkkkvpkc
+9-10 h: hhhnfghhqlh
+2-10 b: bbdfmqbbfbf
+4-7 r: rrrfrrrr
+6-8 k: kjlckkkzkkk
+6-7 s: ssljsnw
+12-13 d: dndddhldddjhpdddn
+4-9 n: wkntqnnftcnn
+7-10 b: bbbbbbbbbzb
+3-4 q: vhvq
+4-5 f: fgffnf
+16-18 t: ftjjptkttvltbrthtlk
+5-7 p: bpmprswpgzwsrbl
+11-16 m: tmnlmgcgcmmmpwsr
+4-7 j: jrnjjxjjjj
+15-18 g: ggggggglgggggwgggv
+1-3 k: kkkk
+14-18 r: rrrrrrrrrrrrrrrwrrrr
+1-4 f: ffff
+7-9 b: bbbbbbbbbbb
+15-16 z: zzzzzzzzzzzzpzpzzz
+2-6 m: smvmtf
+12-15 x: xxkvxxgxxxxvxxx
+5-9 g: gggghfggrgmwgn
+7-9 r: rfrfrrrxhrrrfnrmr
+1-14 v: vvvvvvvvvvvvvt
+16-20 t: tttttttkttlzsttvtttm
+12-13 r: rrrrprrrrrlrrrr
+14-15 x: xxxxxwxxxxxcxqwfxxx
+1-3 c: jchc
+4-12 n: nhnvmrrkknntnnn
+16-17 n: nnnnnnnnnnnnpnnzcng
+3-4 b: vkcbcwxnxxbbfhb
+5-6 k: kklqnkkd
+3-6 d: ddrddc
+3-11 b: bbbbdbgbbbbbbtbbb
+3-12 d: dsvpnrwhdddddv
+9-10 b: bbbbbbbbbbbb
+12-15 f: ffffffnffpfdffpfff
+8-17 j: jjmjgxhdgvzjxjctj
+2-5 f: fflqb
+7-9 j: jjjjjjjjjj
+2-3 c: ccccb
+6-8 k: kzkkbkkk
+1-10 r: rrrrrrrrrvr
+15-16 j: jjvjjjjjjjjsjjjgjjj
+6-16 k: fkkkkdjkkbkkkkkjk
+7-19 q: jcspsdqsxrjsmnwvfqq
+1-3 s: sdsss
+3-6 f: mbfhffn
+10-15 b: bgbbfgbbzbbbrrb
+6-7 k: dkkjkwkcpmvhlhn
+5-7 h: chhhbhc
+3-4 c: wwcccccxp
+2-4 q: qxqcq
+6-7 j: jkjjjjjj
+16-17 d: dddddddddddddddgf
+2-5 r: rfqprwlrtffzm
+1-4 f: kflmqf
+7-8 t: ttttttttf
+7-8 s: sssmsbvkssvs
+5-10 h: jjhhhnjhthnkhkh
+7-15 b: bbbrdbbmbzcbbbg
+13-16 q: qfqqqqqqtqqqqqqqqq
+1-2 p: ptksbpp
+6-7 d: ddddrddd
+6-11 k: kkkkkkkkkkkk
+5-7 q: qqtqqqqfq
+1-3 l: kwfllxlr
+1-3 q: qqqqnq
+8-13 s: sssssssssqsss
+1-13 l: lllllllllllllll
+1-2 x: xqxqxxxxxxxxxxxf
+4-7 r: rrsjrprjwhrrr
+10-11 t: ttfttttsttt
+1-4 j: jpjj
+16-17 v: vvvvvvvwvvvvvvvvvvv
+3-4 v: qfvvwldqxr
+5-6 m: nnwfrm
+5-10 l: llpnqlllkml
+3-4 x: ssttpxmbk
+6-11 r: rkprqdqdrrr
+2-5 m: mhmqpmh
+2-3 g: gzmg
+4-5 f: sfjwffvff
+7-14 x: xmxxcjxbxvqqsxxgx
+1-3 f: tfmffff
+6-14 b: bbbbbbbbbbbhbb
+4-6 r: qpldrgdlrplrx
+1-3 t: ttmt
+12-15 f: snlfkxrfcfwmkwwl
+1-3 p: fpppp
+7-15 g: gpgzggfgzkgxnpg
+3-6 n: qtmndnzdzhwdjktlvst
+4-8 x: xmxsxxxxx
+4-9 r: rrrrrrrrqr
+2-5 l: lllcl
+4-7 p: phkzpnwcnppt
+7-10 l: rdwhlrlprlfpt
+2-3 z: tzscz
+9-10 l: llmllllllv
+1-4 s: sssslsxsss
+1-5 j: bjhsrjwqndvjxnqkwjnx
+6-16 c: xqgjtdgkgcxccqcgcwcs
+7-12 n: dnnznccjbnnxnnng
+15-16 f: ffffffffpfffflfmff
+8-14 k: xwfbckjkgzxdxmqq
+6-7 n: nnnnnpq
+5-7 k: kkhkqkkgkk
+2-5 c: ccckcc
+8-9 b: bbbbpbblbbb
+12-13 m: mmmmmmmmmmmjmm
+2-9 m: mmtrksqzmx
+12-14 d: rddpdrzsfcvpzz
+4-9 c: ccckcccczc
+1-3 k: kkkkkkkkkkkk
+1-2 q: qqbzqqhxtj
+3-4 x: xmxx
+3-4 r: rrxqrrrgrgr
+7-11 b: hbbbbbrbbzq
+4-5 w: wwlxw
+2-4 w: wgwww
+5-7 p: ssddpppbpzp
+6-7 b: bbbbbbbbb
+4-5 w: kwwdwjw
+1-3 m: xmsmmm
+4-5 l: fllzl
+1-2 c: nccgs
+2-6 p: psphpskgbnvj
+13-14 g: ggggghggccgqfjgggg
+6-8 f: gmjfrvff
+16-18 x: xxxxfxxxgxwxxxxxxsx
+10-19 s: njsrgsssscssssssssc
+2-3 h: hswh
+2-5 g: gggbv
+4-9 z: zzlzrpctzxm
+2-3 h: lhhlhctg
+17-18 q: qqqqqqqqqqqqqqqqqq
+11-13 j: jjjjsjdjnzglfjnjjjj
+2-4 k: kklk
+6-12 p: pfpppzpppzpbpg
+3-5 s: sbsssss
+4-6 r: wzsrffr
+10-13 r: rrrnrkfrrcrtnrlh
+16-18 m: mmtmrxmmmmmmmmmcmmm
+9-11 b: bkbltdvbtwbbtsb
diff --git a/2/one.icl b/2/one.icl
new file mode 100644 (file)
index 0000000..7040c9b
--- /dev/null
+++ b/2/one.icl
@@ -0,0 +1,29 @@
+module one
+
+import StdEnv
+import Data.Functor
+import Data.Either
+import Control.Applicative
+import Text.Parsers.Simple.ParserCombinators
+
+read :: *File -> [Char]
+read f
+       # (ok, l, f) = freadc f
+       | not ok = []
+       = [l:read f]
+
+Start w
+       # (io, w) = stdio w
+       = case parse (many lineparser) (read io) of
+               Left e = Left e
+               Right a = Right (length (filter validone a), length (filter validtwo a))
+
+validone :: (Int, Int, Char, String) -> Bool
+validone (fro, to, a, s) = isMember (length [c\\c<-:s | c == a]) [fro..to]
+
+validtwo :: (Int, Int, Char, String) -> Bool
+validtwo (fro, to, a, s) = (s.[fro-1] == a || s.[to-1] == a) && s.[fro-1] <> s.[to-1]
+
+lineparser :: Parser Char (Int, Int, Char, String)
+lineparser = (\a b c d->(a, b, c, d)) <$> pInt <* pToken '-' <*> pInt <* pSpace <*> pAlpha <* pToken ':' <* pSpace <*> (toString <$> many pAlpha) <* pToken '\n'
+where pInt = toInt o toString <$> some pDigit