initialise
This commit is contained in:
71
1/main.go
Normal file
71
1/main.go
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"slices"
|
||||||
|
)
|
||||||
|
|
||||||
|
func totalDistance(firstList, secondList []int) int {
|
||||||
|
slices.Sort(firstList)
|
||||||
|
slices.Sort(secondList)
|
||||||
|
// fmt.Println(thirdList)
|
||||||
|
result := 0
|
||||||
|
for i := range firstList {
|
||||||
|
if firstList[i] > secondList[i] {
|
||||||
|
result = result + firstList[i] - secondList[i]
|
||||||
|
} else {
|
||||||
|
result = result + secondList[i] - firstList[i]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func similarityScore(firstList, secondList []int) int {
|
||||||
|
result := 0
|
||||||
|
appearances := []int{}
|
||||||
|
for i:=range firstList {
|
||||||
|
count := 0
|
||||||
|
for j:=range secondList {
|
||||||
|
if firstList[i] == secondList[j] {
|
||||||
|
count = count + 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
appearances = append(appearances, count)
|
||||||
|
result = result + firstList[i] * count
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
filePath := "input"
|
||||||
|
file, err := os.Open(filePath)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Printf("Error opening file: %v\n", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
var firstList []int
|
||||||
|
var secondList []int
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
for scanner.Scan() {
|
||||||
|
// Split the line into parts
|
||||||
|
line := scanner.Text()
|
||||||
|
parts := strings.Fields(line) // Fields splits by whitespace
|
||||||
|
// Convert parts to integers
|
||||||
|
first, err1 := strconv.Atoi(parts[0])
|
||||||
|
second, err2 := strconv.Atoi(parts[1])
|
||||||
|
if err1 != nil || err2 != nil {
|
||||||
|
fmt.Printf("Error parsing numbers on line: %s\n", line)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
firstList = append(firstList, first)
|
||||||
|
secondList = append(secondList, second)
|
||||||
|
}
|
||||||
|
fmt.Println(totalDistance(firstList, secondList))
|
||||||
|
fmt.Println(similarityScore(firstList, secondList))
|
||||||
|
}
|
||||||
|
|
||||||
115
2/main.go
Normal file
115
2/main.go
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"math"
|
||||||
|
"os"
|
||||||
|
// "slices"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func rmIndex(s []int, i int) []int {
|
||||||
|
result := make([]int, 0)
|
||||||
|
result = append(result, s[:i]...)
|
||||||
|
result = append(result, s[i+1:]...)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func isSorted(s []int) bool {
|
||||||
|
n := len(s)
|
||||||
|
asc := true
|
||||||
|
desc := true
|
||||||
|
for i := 1; i < n; i++ {
|
||||||
|
if s[i-1] < s[i] {
|
||||||
|
desc = false
|
||||||
|
}
|
||||||
|
if s[i-1] > s[i] {
|
||||||
|
asc = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if asc || desc {
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func isSafe(r []int) bool {
|
||||||
|
if isSorted(r) {
|
||||||
|
for i := range r {
|
||||||
|
if i < len(r)-1 {
|
||||||
|
if math.Abs(float64(r[i]-r[i+1])) < 1 || math.Abs(float64(r[i]-r[i+1])) > 3 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
file, err := os.Open("input")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
reports := [][]int{}
|
||||||
|
for scanner.Scan() {
|
||||||
|
line := scanner.Text()
|
||||||
|
parts := strings.Fields(line)
|
||||||
|
levels := []int{}
|
||||||
|
for i := range parts {
|
||||||
|
level,_ := strconv.Atoi(parts[i])
|
||||||
|
levels = append(levels, level)
|
||||||
|
}
|
||||||
|
reports = append(reports, levels)
|
||||||
|
}
|
||||||
|
safeCount := 0
|
||||||
|
dampSafeCount := 0
|
||||||
|
for i := range reports {
|
||||||
|
if isSafe(reports[i]) {
|
||||||
|
safeCount++
|
||||||
|
} else {
|
||||||
|
for j := range reports[i] {
|
||||||
|
dampenedReport := rmIndex(reports[i], j)
|
||||||
|
if isSafe(dampenedReport) {
|
||||||
|
dampSafeCount++
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println("Safe Reports: ", safeCount)
|
||||||
|
fmt.Println("Dampened Safe Reports: ", dampSafeCount)
|
||||||
|
fmt.Println("Total Safe Reports: ", safeCount+dampSafeCount)
|
||||||
|
// sorted := 0
|
||||||
|
// unsorted := 0
|
||||||
|
// sortedUnsafe := 0
|
||||||
|
// for i := range reports {
|
||||||
|
// if ! isSorted(reports[i]) {
|
||||||
|
// unsorted++
|
||||||
|
// continue
|
||||||
|
// } else {
|
||||||
|
// sorted++
|
||||||
|
// for j := range reports[i] {
|
||||||
|
// if j < len(reports[i])-1 {
|
||||||
|
// if math.Abs(float64(reports[i][j]-reports[i][j+1])) < 1 || math.Abs(float64(reports[i][j]-reports[i][j+1])) > 3 {
|
||||||
|
// fmt.Println(reports[i])
|
||||||
|
// sortedUnsafe++
|
||||||
|
// break
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// fmt.Println(len(reports))
|
||||||
|
// fmt.Println("sorted lines: ", sorted)
|
||||||
|
// fmt.Println("unsorted lines: ", unsorted)
|
||||||
|
// fmt.Println("sortedUnsafe lines: ", sortedUnsafe)
|
||||||
|
// fmt.Println("safeCount math : ", len(reports) - unsorted - sortedUnsafe)
|
||||||
|
}
|
||||||
50
2/main.go.BAK
Normal file
50
2/main.go.BAK
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"math"
|
||||||
|
"os"
|
||||||
|
"slices"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
filePath := "input"
|
||||||
|
file, err := os.Open(filePath)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Printf("Error opening file: %v\n", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
report := [][]int{}
|
||||||
|
i := 0
|
||||||
|
safeCount := 0
|
||||||
|
safe := true
|
||||||
|
for scanner.Scan() {
|
||||||
|
safe = true
|
||||||
|
line := scanner.Text()
|
||||||
|
parts := strings.Fields(line)
|
||||||
|
for j := range parts {
|
||||||
|
level, _ := strconv.Atoi(parts[j])
|
||||||
|
report[i] = append(report[i], level)
|
||||||
|
}
|
||||||
|
if slices.IsSorted(report[i]) {
|
||||||
|
for j := range report[i] {
|
||||||
|
if j < len(report[i]) {
|
||||||
|
if 1 >= math.Abs(float64(report[i][j]-report[i][j+1])) && math.Abs(float64(report[i][j]-report[i][j+1])) > 3 {
|
||||||
|
safe = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
safe = false
|
||||||
|
}
|
||||||
|
if safe {
|
||||||
|
safeCount = safeCount + 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
6
3/input
Normal file
6
3/input
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
select(){,(where()+-mul(514,727);:]]what():^*from(764,547) mul(550,305)$^^%>select(587,376)mul(94,564)select()when(633,175)<where()mul(260,379)mul(790,810)&!$%mul(557,683) why(){/mul(220,10)!+{+mul(654,746){who()what() !%mul(89,191)who()select()*#&>[[mul(302,490)$-}&**+mul(335,535)@select()>select()mul(241,166)when(800,629)mul(758,530)',^ &!~%/#mul(938,70)?&!from();mul(412,287)}/mul(230,620)(~select()what()select()'@mul(410,577)$mul(720,516)-mul(373,78)when()!^:@{)mul(793,973)who()when()mul(85,246)>what()}[#[@!^/mul(396,22)@when()-;:':>}mul(515,670)<[mul(38,415)?~<?mul(200,147):mul(328,235)*<what() (] ::what()mul(571,33)mul(679,122)>select()why()^when()*#+($do()']select()>:^/when()^mul(440,923)<what():mul(971,274)(mul(833,181))don't()why();{#mul(468,401)$+?mul(446,956)where()mul(391,995)who(813,746),^who()%how()^when()mul(284,629);[why()mul(922,806)%}mul(183,352)where() [{,why(475,275)mul(547,62)$mul(753,602)*!%where()-mul(956,732)$;what()<;'{:*mul(481,556)from()*{select():what()'#mul(905,420)what()mul(327,771), who()}mul(45,757)mul(366,653)where(459,755))don't();when()mul(807,855)where()$)>@mul(48,816)mul(370,665)@*>who()^,when()mul(155,426) mul(132,914)^%select()&when()/from()(+}mul(296,176)mul(361,479)%{;!,'who()where():mul(506,495)#who()&%< ^mul(481,87))&!;mul(541,563)%don't(){}'-),from()$mul(495,427)^when()mul(640,499)select()}:] )%+()mul(967,918)?when()select()<{/who()what()mul(505,225)(mul(90,482)>!from()when()#do()mul(620,841):who()!mul(719,850)where()-)mul(931,185)?;select()]@,why()%]mul(39,103)mul(687,103)$%];how(337,314)[}$-when()mul(282,494):;!where(188,779);who()mul(342,554)<^who()(why()where()who(345,491)%mul(407,74)why()&}'%'mul(324,781)mul(90,925):from()mul(828,16)mul(438,549){what()>$why()*what(35,607)mulwho()mul(91,548)>,what()select()]&how()@mul(384,93!select(),where()$mul(835,662)@{don't():#<^/-+mul(489,462)>>where(){why()where()---when()mul(53,461)/~?mul(273,777)mul(119,879)+@'when()-mul(585,949)?['when()from(946,632)mul(22,105)>-:how())from();mul(439,876)?mulwho()@who()when()<@{-mul(111,687)$&mul(432,628)%*,{when()mul(287,508)'-select()}don't()/#~-@from()[:#mul(111,655)%: &;mul(518,391)don't()<from()%-~-!@mul(301,138)(,how()mul(654,521)!*when()--({who()how()don't() ~where()!~mul(910,877)?+select()+-[#&do()*< +-what()&how()%$mul(123,641)*?&mul(488,741)<}@@&?what()how()what())mul(301,649);why()%mul(259,148)$~')&[{mul(83,94)~select()~^when()mul(232,572)mul(889,281)why()%*#$}<[mul(256,607)}({mul(382,953)what()how()why() who()from()!?%mul(433,147)+>&mul(197,749)@who()*mul(935,21)+> who()why()mul(299,881)who()]@+%/from()[?do();{+[why()$select()#mul(264,731)]'select()what();+who()mul(713,161)where(931,649))mul(360,529)}where()!;]how()<mul;$-:]]how()#where()select()when()mul(971,836)when():[how(){mul(567,429)!}{{',mul(522,696),why(){mul(833;#-&#,select()~mul(80,121)+*,#how()select()${>how()mul(619,728)how()<%}+}mul(420,324);{!from();mul;)>mul(144,181)who()}?~where():who()${ mul(261,691),why() /+mul(189,450)
|
||||||
|
+when()%^]]/when()~@mul(533,22)mul(231,586)mul(107,724)!@mul(504who()@}when(291,528)mul(691,859)/}#mul(726,544)from()[>>what()^<mul(316,707)@&why(),what()mul(798,459) why()~)]mul(612,148)[??when()]*~mul(634,978)mul(477,947)<?(&!;what(724,289)@~^do()who()mul(828,259)mul(595,267)who(671,135)}why()&how()mul(351,552)when()how()^>?^from(762,977)mul(67,280)(who()^mul(586,844)}how()<from()mul(521,525)'select()mul(379,96), mul(478,481)where(465,218)mul-&*: ~mul(123,281)when()mul(249,626) <}mul(190,620)mul(21,142):from(278,629)}how(997,873)when()'from()#mul(117,186)^:]when(128,617)mul(940,708);mul(960,867);[,~when()when() mul(135,71)where(972,23)mul(79,533)how()* )%<&do()@>how()+where(),mul(886,320)#from(691,802)mul(376,296)'why()[@}how()#why(530,714)?>mul(791,363)?what()$${@why()>+mul(133,626))why()&}what(){%(mul(474,459)what()where()(^mul(311,372)mul(243,118)where()@mul(302,760):{who()-'{+mul(145,293)}why();how());$]mul(652,761%? ;]:@mul(259,51)@<mul(369,322 +#!mul(99,991):from()/}mul(137,230)why()}^%^{}select()where()mul(226,287)mul(590,394)[>>'mul(474,995){don't():}*mul(309,511)?select();(mul(553,164)]how(){when()mul(556,560/~when(464,361),^<#[/&do()when()&who()<mul(618,347)]/what()&mul(210,454)@,'^/%who()mul(297,766)who()&:{mul(961,326))&:#')what(663,984)mul(340,326)mul(329,543)%^#/{!mul(28,451)}@@mul(428,233)^%<-how()mul(710,863)[mul(944,973)[where()~[]where()'%~why()don't()!,@#%mul(582,87)$[[@ mul(569,58),]mul(746,840)[(mul(74,146)'where()(#+;mul(517,818)mul?*[->*mul(22,727)from()):who()when()}mul(367,34/when()where()mul(226,816)mul(421,33'(,(#, <who())what()mul(247,12)+when(199,246)who()what(912,935)~?select()how()&how()mul(620,264))how(726,381)/!mul(586,607)#when()[mul(684,722)&%-from()mul(11,63)&where()<select()^)<%select(127,191)mul(662,331)}% mul(631,2)~]mul(987,288)mul(261,47)]{when()>?who()do()%;+-<what()#*+mul@]@?[^mul(650,139)<who()[#don't())}-from()?:who()[mul(561,710){~+how()don't()mul(788,270)mul(151,849)+{;%[#~mul(531,530)how()>:-mul(99,868)#{[why()who(504,690)?mul(119,337)+,mul(250,122))%#%mul(708,536)>select();from()mul(480,332)}&what(423,278)mul(891,459)}mul(852,128)mul(418,844)~select()[{when()(mul(69,312);!)where(419,852)<:*@-don't()what()!$-;{mul(91,636)-when()select()~from()(&mul(894,19)how()]@,[do()#,what()'@mul(116,57)why()from(),@-?mul(651,74)]what(704,54)how()<$mul(169,494) )from()$~-mul(44,491)$mul(29,368)'why()+-+mul(961,385)>who()select(137,499)mul(586,30)$%when(765,538)?why()(mul(378,568)}select()[:[%?$from()don't();mul(375,803)#']/@/^}*where(184,703)mul(21,508)>;+,mul(921,355)};mul(594,553@<?when()what()%%when()*don't()-<,from(342,971))mul(983,69!!!mul(980,691)why()mul(200,735)select(435,520){?mul(489,554?~!mul(212,991)/#<$!<*mul(751,323)mul(102,317)when()},^;why()mul(51,80)}+what()$~[mul(454,897)'/);(>%])mul(793,439)]from(599,582)mul(982,538)}//^;how()~)'from()don't()~&who()<+#+mul(386,116)>/~who()mul(373,106)+#!do()(&-select(),+~;~mul(59,223)mul(233,653)mul(547,404)?where()~%don't()}}select() from()@] from()mul(150,196) ]}(>mul(514,824)where()+mul(332,418)
|
||||||
|
/>'^')what()mul(590,783)?$when()mul(55,422)from()~]select(198,113)from():}don't()mul(436,985)^:select()from()@//don't()/mul(675,976)$from(),!&]#*&don't()*[#how()~/*mul(172,297)<-{,select()};mul(866,305)$mul(938,509)+>mul(100,651)%where()how(223,719)/){!!;(mul(163,66)+''when()mul(217,127)^},(why()how()what()]who()mul(39,897)>/(mul(966,889)-]'}{,<mul(488,570)$@select(){do()~$@mul(878,77)why()-^mul(670,359)-]select()#{:}[mul(56,569);do()}}what()why()/what()[$mul(614,976)when()who()^'where()(mul(852,588)who(){how()}@when() $mul(532,868)}mul(603,823)#>+,!$$<mul(517,713)/&(select():where(910,84)[select()mul 'select(899,120)from()from()>why()from()mul(338,824)where()/&;mul(230,684)@'where(354,854)- )%when()mul(288,730){from()){}where()mul(124^}'(&don't()mul(688,399)from()++[how()why()mul(136,861who()!?#select()!]where()!do()&how()where()when()mul(968,380)'-$select()why()&:;mul(906>select()^~who())>:*mul(433,704)&why()#who()%@;what()>;mul(848,947) from(497,742)?select()~mul(590,692)why()* ,(<<)where()*mul(102,487)when()]where()>*when()!mul(406,710)mul(962,153)who()who()what()+&from()mul(419,854)$/mul(201,493)from()-)select()'^:[!;mul(779,883)why()why()}?why()(don't()what()]%~{mul(966,261)how()[when())^when()]mul(513,694)/*:when()select()who()'mul$?++~?:$mul(657,498)$ &why()mul(310,762)^+what()~,what()why()why()#}mul(320,448)%mul(886,159)(]what()?'@why():[mul(415@who()$what(){select()who())mul(912,558)select()<mul(614,536)don't()!%{mul(224,83)#why()who()where()+$mul(266,718)[where(437,374)?+who()};<+mul(939,819)'$mul(24,251))mul(101select()why(){how()when(),%mul(86,947)[<}^()%where(526,396)mul(694,25)^;do()what(); (how(307,882)mul(285,650)*%who()[#{what())/~mul(95,593)where()who(){/when()why()mul(931,886)&mul(110,763)}>where()%'why():mul(784,109)-&:-]mul(354,211):*#~mul(637,881),$from()mul(947,709)what():,'mul(284,267)&from()mul(259,860)/^],&(when()when()^mul@select() how()!mul(462,151)~,)where()mul(7,166)**what()<~<do()who()(how())why()}@[([mul(478,668)+!how()mul(118,569)^&;when()-@ mul(181,739^who(432,515)$mul(105,134)where()<from(880,223)who()select()%]mul(489{&>mul(137,598)^]~>mul(561,283)*@ ;select()mul(262,658)who()<,-what()/-why()mul'$;;-]<mul(7,931)?& ^+)where()mul(345,667)/^'mul(3,959)@%when()mul(522,907)~~ ]&%*how(106,70)mul(986,967)!where()when()mul(754,736)where(515,293)why()how()-:!mul(750,438)why()/~ mul[@'['>#why()>mul(510,757)$what()who()>mul(139,401)where()^#&/*mul(332,919)>?how()]when()/mul(218,127)[+mul(504,583)why()$>^mul(649,222)@?don't()from()&what())&'^mul(878,444),,mul(340,684)when()'why()when()?why()mul(852,617)mul(569,36)~(select():>~&/when()@do()<why(444,49)[#[?##^mul(298,203)([why()?,++:}mul(263,671),mul(197,758),';mul(893,114)who()^(,(#why()[*mul(917what()select()[where()from()&'@ [:don't()'+ ($]<where()*{mul(269,55)from()%!select()how()who()where()@mul(81,174)from())^who()mul(872,888&when()>why()from()>who()where()mul(93,146)(;why(863,117)mul(681,428);#mul)$from()how())?{] mul(793,537)where() @~?++?when()why()mul(163,958)select()}who()mul(540,501)$when()#who()/mul(331,537)[>~why()what(395,317)[)[mul(928,496):mul(127,943)$>mul(18,669)?&mul(443,860)when()!;;&select()*mul(624,669)[}:,*>]mul(941,338)?%where()((how();<~when()mul(483,529){)/'+'~$mul(254,159)when():when()'*!??%mul(731,125)when(670,595)]^^from()'?]mul(912,606) ):[^do()#{;?-mul(851,526)>'!'mul(689,174) >?{)how()/;what()mul(919,455)]mul(320,219){#+) {mul(267,831)((from()&:[-from()mul(84,102)mul(291,186)/+}*mulhow()?who()-*mul(973,390)
|
||||||
|
(~{$where()why(250,398)/how()&#!/usr/bin/perlwhy()-{{#^%>mul(772,422) 'how()}&)mul(184,89)$<how()what()%*~mul(197,267)*)[^mul(703,592)when(), ;why()select(151,652){{>what()mul(376,816)when(),@#mul(949,642)'/+select() [mul(399,146)[~who(){;~ mul(526,131)when()mul(787,620)@~+?from()@-mul(310,482)}:$?what() ,mul(360,720)/why()why()#)^mul(561,462)+@:-{who()mul(403,894)from(),}{(('?!mul(555,514)?-:#&]$-mul(18,725)??mul(901,195)how()mul(814,623)$;~)select()/mul(4,986)#,{-]{!*~mul(833,296)/?mul(496,21why():@/#[what();mul(162,231))>~do()select();+*^?}?mul(38,18)?*who()&why()/who(479,558)from()%,mul(225,613)mul(494,841)'who()%@+{>&~mul(586,498) select()*!/]};<mul(818,498)(}#@+mul(795,500)mul(285,406);;: ,mul(404,65)]] ;!when()+what()''mul(201,457how()%mul(489,759)!who():where()?mul(381,280when()mul(312,151)who()^-mul(236who();who();(&?&]&]mul(393,302)&>-; /what()where()mul(614,161){select()where()+!what()/-mul(927,228)mul(432,16)when()?&+'^mul(539,745)]^when()what()mul(970,413)+<&:don't()$%mul(533,997))-mul(574,681)mul(978,225)&![who()why()(>mul(453,460)why()*+how()~!why()where()*-mul(840,804)>+mul(570,880)/>how()'-~*;+mul(367,248)$@what()mul(303,242)when()?>!!!-what()>%mul(547,184);when(300,185),^mul(196,377)~<{,[@from()when()from()'mul(727,421)>mul(199,873)],select()-+<&where()mul(962,772):what()/[${how()<*where()mul(534,770)select()/how()>*mul(356,156)((%where()}~how()#who()mul(801,644)from()mul#select(458,914)how()where()~}(}what()mul(273,584)who()mul(692,224)(>what()where();%,-mul(779,81)<[~who()!mul(786,30)]':mul(328,225)/when()#])(>:?:don't())*/mul(914,292)why()mul(83,290)[~mul(257,792),;+]*mul(949,612)*{;[-:]$^]mul(813,824)]/mul(5,572)}+don't():)from()*[>+(#who(422,860)mul(243,781)<-mul#<*<#&{?/'mul(579,115)(:mul(861,206)?)<why()how()why()when()/&mul(919?''/?',mul(859,273) '/&~why()[who()]/mul(865,638)-<$(when(534,151)what()mul(756,102)''<% ]mul(521,726)how()*;*-~'~mul(830,632)><&{>;mul(331,573)mul,^->,~>?who():<mul(294,77)/,:/}},mul(477/who()what()@<}why()mul(113,420)?+,mul?why()(*+[>from()mul(463,386)['{*>],when()?mul(740,88)]<[where()from()-]mul(685,334)+how()}how()^mul(973,106)select()$+mul(867,634)do()@-?mul(535,483)how()$<mul(478,385))[#&mul$@/select()#$[}:#]mul(965,153)why(110,391))}how()mul(484,578)who()-<mul(847,771)/mul(921,939), ~when()%mul(981,816)$[how()$*who(578,752)>[mul(161,41)]where(),#,mul(129,507)don't()who()what()<how()mul(554,49)(^:mul(618,748)$%<:<> mul(214,987)[ *^*[&mul(870,285)when()how())(+)+who()^<mul(581,483)]mul(921,982:]*%how()<mul(434,655):+mul(242,610)mul(614,631)what())where()how()what(932,531)what()where()}why()%mul(494[<;what()% %how()+mul(357,150)who()?mul(949,239)mul(802,54)where()!where()*?+/mul(209,916)&&&select()mul(637,422)-,~why()?)where()^mul(502,914)(how(913,389)^how()what()what()@ from(382,173)where()mul(860,112)/don't()'['#when()mul(110,847-mul(828,62)mul(370,262)@[!][^#why()@mul(693,119)who()$what()$&mul(399,511)from()}-who()(when() *do(),&*(#}mul(395,383)why()how()>how()how()'why(990,834)<@from(535,913)mul(741,712)why()when()who()@>-*!mul(296,759)$@where()mul(585,923)where()who()/why()]}>mul(163,233) ;;what(771,674)when()mul(553,949)select()when()'mul(545,530)
|
||||||
|
( !>{!-*}mul(646,888)]-?<mul(908,145)mul(872,423)<why(523,766)$;what() &mul(724,993)]}from();>why()+mul(359,478)why()mul(186,893)]where()what()when() >select()mul(592,52)where()select()from()[select()from():~'/mul(164,308)what():>^)why()how()$&who()mul(377,499)why()((where()@~who(),mul(658,47)#how()+%from()'/select(287,448)]~mul(759,688)!<?%;}*mul(623,353)&#;~{mul(830,695)do()mul(755,160)-?{mul(138,691)mul(161,105)do())*&:who(592,695)![/mul(542,698)why()%/*do()[$from()~[mul(274,212)>@?]{(~mul(196,596)who()+mul(759,422)/@[#>where()mul)-how()>$&:$@},mul(861,458))mul(126,262)@;<how()(mul(986,49<)^[///[mul(615,656)-}): when()/mul(266,494)/)who()who()>what(){};:don't()#mul(695,332)>what(),why()#++%select(){mul(471,679)^select()/mul(387,568)when()%(]*how()>do()' ^]?mul(777,56)>where()(why()select(14,295)mul(874,481)!from(){;~how()@mul(22,505))~who())when():&mul(395,566)-(~what(231,98)$$;$mul(326,815)>from() select()^who()#mul(189,720)what(),from()don't()>%+/mul(418,532)-;):<when()[<%mul(561,959)/<*~/{mul(518,185)? ,select() <do()who()who()select()from():where()?when()mul(327,206)mul(501,728)',what(675,175):from();what()/{:don't()mul(219,962)when()'mul(7,809)/$;mul(768,798)mul(353,892)?from()! when()what()->don't())@:#<mul(899when()*;}^ &mul(506,552)mul(703,677):#}mul(13;when()don't()&/+><from()what()-{mul(801,431)(/mul(330,809)>!when():$[:<['mul(764,131)$:@&[from()%+~ mul(258,284)from(810,941)&how(232,473)mul(338,578);/select():mul(990,919)from()how()>[{!}mul(69,711),when()+do()}/[#who()*mul(907,255)?!}{]*mul(781,224)#select()<mul(400,377)mul(224,640)/@{why()mul(97,222)'~:select()mul(723,191)<~how()&->mul(755,122))<why()^]why()]mul(348,579)]where(758,732)mul(939,550)^]when()what()@*{don't()'+/:how()]}@@mul(21,125)mul(138,133)mul(482,114)where(),from(),*from()!/;[don't()why()what()how()mul(732,224)?!#?***!mul(823,749)%#/@*<what()mul(980,685)!;:/~} <$mul(51,373)$-!who()mul(523,713)!)~{%mul(16?;[who()!$how()&how()mul(461,976)#mul(108,138)when()@'} ;(;mul(194,793)~%' ?from()select()[when()mul(79,491$*#%:mul(914,754)$' where()$who(){why()mul(692,138)+;*}mul(853,262)why()$mul(15,398why()*>-:[',mul(863,596):how() who()%select()select()[what()do()+where()^+mul(722,58)^[,how()?#^ !:mul}&select()~{}mul(885,728)when()?mul(468,630)?where()from()select()>*~:don't()%#}$@-)mul(200,579)why() mul(10,435):)/;@{;mul(298,190)where()why()$ mul(9,631);where(7,826)@-don't():':;[,!@+mul(273,471)mul(325,690)mul(267,174)mul(339,952)}what()>)>@mul(307,862)do()why(335,510)]&>( mul(636,749)(-mul(592,773)!mul(2,50+'#mul(338,514)#;why()where()mul(127,711)@mul(146,911)mul(860,601)%select()mul(806,306)mul(410,847),:[mul(73,481)+don't()>}<what()mul(826,657<+ {*^? what()mul(172,949){'~+#mul(732,513)how()'/why()*+/#&)mul(11,422)+'%@+when()$why(383,170)how()mul(190,688)]!{select();who()what()mul(450,687)from()what()mul(171,95)how()how()where()mul(631,790)~how() @$why())[mul(893,598)mul(39,888)#([/what()!]*}mul(290,685)!#who()[$do()^+@what());{$mul(463,742):$mul(118,146)@mul(39,34)what() <,when()@@mul(489,439)mul(874,442)how()~where()^who()select()-don't()/:how();when():$)mul(975,618)why()mul(732,833)where()mul(17,484)
|
||||||
|
(>&)]mul(509,882)*/@~*<!&mul(813,280)::$+-*^mul(741,365)]()what()from(804,684)mul(734,644)*<]]%who()}[^don't()when()!;)mul(55,766+!select(797,794)@where()mul(595,285)why(807,706)/when(298,410)what()select()mul(439,186):mul(976,645)>where()-!mul)$do()where()?mul(308,113)/@?why()<where(35,826)&mul(127,972)^%<~??[!%;mul(781,845)/?#(select()mul(949,130)#{-#,mul(612,396)*{@@%'/mul(343,689)>where()>%mul(970,425)~[$@'[mul(83,136)+<%who()who()who()^~where()mul(960,152)when()mul(714,401)how()?]from()*!what(313,652)mul(455,389)select()why()<-[)%:(%mul(929,53[-@%~;%]where()why()mul(293,806)from(258,940)[mul(959,603)!@)why()?{{$mul(744,798) '{}&<&?,mul(389,91)#'select()@,who()/$<mul'who()where(634,260)^*$mul(625,376)@what()&mul(7,35)#)?!how(714,530)don't()from()who()>($-@,mul(792,652)how()mul&)!do())-}?~select()>mul(527,656)mul(220,657)who(453,708)mul&when()/when()+ how()how()%%@mul(62,191)'{%,mul(13,233)mul(780,237){from(817,212) when()mul(216,970)@what()}<: - ;mul(954,521)+mul(645,579)mul(695,53)%{},mul(927,488)$/$$what()&what()mul(815,350)](select(){;mul(650,656)&<:what(70,971)* mul(452,286)select()#&)when()+mul(438,390)>what()/mul(353,213) &from()~mul(920,652)~mul(971,287)don't()select()}/mul(4,595)where()-mul(332,353);>+mul(64,192)mul(33,846)}'where()(:mul(13,41)[@!^][(^$mul(728,587)what()>^&what()>who(73,62)why()where()mul(501,624)(%!mul(187,871),;>from()(, mul(563,884)]]/[who()mul(685,629){where()from()@@',who()why()<mul(741,377)'+{+'$+^/mul(69,647)!-mul(338,68)!why()mul(752,772)-'from()'what(){[&-mul(193,86)don't()from(899,805)how()what()+'+^mul(492,628)};from()*when()#?select()mul(20,602))-:where()mul(34,881),how()}mul(777,504){;mul(425,245):how()</:&}%mul(504,651)mul(193,8)+&who()+!^*{mul(247,144)}[#;when()where()mul(857,787); % (>;mul(57,598)mul(799,387)why()?mul(963,99)*-!''when()mul(606,12)who()]how(), mul(615,921)/what()from(858,351){how()#who()@mul(379,934)~/{mul(871,792)<[+&mul(206,542)mul(154,161)-when():why()[mul(663,226)>from()from()?#mul(320,293)>select()!@;from()where()<^~mul(865,92)mul(834,118)select()#>mul(36,886) why()[>,,))select()mul(777,447)what()};<>how()from()*mul(942,312)how()]mul(810,261)select()@+>)'){mul(356,987){mul(33,198)[select()from()where()({mul(752,594)$why()who()>,?^where()->mul(478,705)why();select()from()when();]/]from()mul(878,617)@who()<how()%;mul(951,929)<& ~mul(193,497) (mul(670,912)&from()*from(57,764)mul(872,457)]mul(411,192)@from(247,487)@*'select()mul(830,878)when()<?@!~why()mul(103,203)([- ;who(37,653)who()+{mul(574,907)$mul(288,478)'who()@select(453,494);-where()why()#mul(418,593)+^%>-who()[&&mul(554,90)#+:^do(), <{mul(978,459)/##[^ ]how(); mul(470,763)mul(342,6):&mul(192,104)from(220,224)[mul(309,253)$}mul(98,92)[mul(690,632)how()why()!>@mul(880,975)~/<what()}mul(233,433),>what()why()/*[mul(663,3)when()[@! )&,~^mul(965,150)#~},%^(]from()mul(503,640)::where()mul(146,66)&)~[mul(37,741)mul(714,547)/;
|
||||||
63
3/main.go
Normal file
63
3/main.go
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"regexp"
|
||||||
|
"strconv"
|
||||||
|
// "strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
filePath := "input"
|
||||||
|
file, err := os.Open(filePath)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
result := 0
|
||||||
|
defer file.Close()
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
r := regexp.MustCompile(`mul\([0-9]{1,3},[0-9]{1,3}\)|do\(\)|don't\(\)`)
|
||||||
|
numbers := regexp.MustCompile(`[0-9]{1,3}`)
|
||||||
|
enabled := true
|
||||||
|
for scanner.Scan() {
|
||||||
|
line := scanner.Text()
|
||||||
|
matches := r.FindAllString(line, -1)
|
||||||
|
fmt.Println(matches)
|
||||||
|
for i := range matches {
|
||||||
|
if matches[i] == "do()" {
|
||||||
|
fmt.Println("Do")
|
||||||
|
enabled = true
|
||||||
|
} else if matches[i] == "don't()" {
|
||||||
|
fmt.Println("Don't")
|
||||||
|
enabled = false
|
||||||
|
} else {
|
||||||
|
if enabled {
|
||||||
|
fmt.Println(matches[i], " enabled")
|
||||||
|
multipliers := numbers.FindAllString(matches[i], -1)
|
||||||
|
firstNumber, _ := strconv.Atoi(multipliers[0])
|
||||||
|
secondNumber, _ := strconv.Atoi(multipliers[1])
|
||||||
|
result = result + firstNumber * secondNumber
|
||||||
|
} else {
|
||||||
|
fmt.Println(matches[i], " disabled")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// multipliers := numbers.FindAllString(matches[i], -1)
|
||||||
|
//// fmt.Println(multipliers)
|
||||||
|
//// fmt.Printf("%T\n", multipliers)
|
||||||
|
//// fmt.Println(len(multipliers))
|
||||||
|
//// fmt.Println(multipliers[0])
|
||||||
|
// firstNumber, _ := strconv.Atoi(multipliers[0])
|
||||||
|
// secondNumber, _ := strconv.Atoi(multipliers[1])
|
||||||
|
// result = result + firstNumber * secondNumber
|
||||||
|
//// for j := range multipliers {
|
||||||
|
//// multipliersSplit := strings.Fields(multipliers[j])
|
||||||
|
//// multiplierInt1, _ := strconv.Atoi(multipliersSplit[0])
|
||||||
|
//// multiplierInt2, _ := strconv.Atoi(multipliersSplit[1])
|
||||||
|
//// result = result + multiplierInt1 * multiplierInt2
|
||||||
|
//// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println(result)
|
||||||
|
}
|
||||||
10
4/exampleinput
Normal file
10
4/exampleinput
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
MMMSXXMASM
|
||||||
|
MSAMXMSMSA
|
||||||
|
AMXSXMAAMM
|
||||||
|
MSAMASMSMX
|
||||||
|
XMASAMXAMM
|
||||||
|
XXAMMXXAMA
|
||||||
|
SMSMSASXSS
|
||||||
|
SAXAMASAAA
|
||||||
|
MAMMMXMMMM
|
||||||
|
MXMXAXMASX
|
||||||
140
4/input
Normal file
140
4/input
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
MASAMXSXSSXSASXSMMXSSMXSAMSAMXSXXAMSXSASXXMASAMXMSMMSSXSASMXXAXMAMXMAMXXMASXXSXMSSXAMMSMMMSSSMASAMXSAMAXMSMXMMMXMASAMXSXSSMMMSMSXXMAMMXAMAMX
|
||||||
|
SAMXSSMMMAAMAMAAXAASAMMXAXMMAMXSMAMMAAAXXMAMXMAXMAAMXMAMASXMASMMSMMSAMMSAMXMASAMAMSSXMAAAAXMASXMASXMAMMMMAMXSMSASAAMSAMAAAASASXMXXMAXMAXSAMX
|
||||||
|
MAMMXAXAMMMMAMSMMMXMAMSSSMSSMMAXXAMMMMMMMAXSSSSMSMSMSMSMAMAAXMAAMXASAXMSAMMSMMAMXXAMASXSMSMSMSMSAMASAMAAMASXAASAMXSXMASASMMMASAMMMSMSXXMAXXM
|
||||||
|
SSMMSSSSSMXSAMAMMXSSXMXAAMAAAMMMSMSAMAMAASXXMAAASXXASAAXMASMMXMMMMASMSMSAMAAMXSXMMASAMMMAXAMAMAMASASASMXSASMMMMXSMMMSXMAMMSMXMASAAAXXAAMAMSA
|
||||||
|
AMAMAAAAAXAMXXASAAXAXXMXMMSXMMAASASXXAMXXMMXMMMMMAMAMSMSXAAXSSSXMAXMXAXMXMSMSAXAAXMMXXMMAMAMAMSSMMMSAXAXMXMXMXMAMMMAMAMSMAMAXSAXMMXXMXMSAAAS
|
||||||
|
MSAMMSMMSMMMSMXMMASMXMAAXAXASMMXSASASMXSASXMMXSAMMMAXAMSMMSMMAAAXSASMXXMSXMAMASMMMAMSSSMSSXMXMAMXAAMXMMMSMMMSAMXXAMMSMAAMASMMMXSSSSXSAXSMSMM
|
||||||
|
XXASAMAAXMXASMMMXAAMXASMMASAMAXXMAMXMAAMAMSAMASASXMXSASXXAXAMMMMMXMMMSXMAAMXMAXAASAMMMAAAMAMSMSMXMXSXMAAAMAAMSXMXSMMAXSXSASXAXSAMAAAMMXXAMAM
|
||||||
|
SSXMASMMSSMASAMXXSXSXXXXSAMXSSMMMXSAMMMMMSXSAMXXMASASMMMMMXSMMAAXAXAAAASXMMXMMSSMSASMSMMMSAMMAMAXSAMXSMSSSMSSXXSAXAXMMAAMMXXSSMAMMMMMXMMASAM
|
||||||
|
MAMXAMXAXAMXSAMXMMAMMAMMSXXAAAMXAXMAXSXMMAMXMXMASXMASMMMSMAMASXMMASMMSMMAMXXMXAAMXAXAXSMXMASMAMAMMASAXXMXAMXAMAMAMXMSSMSXMSMXAMSMASXMAMMAMAM
|
||||||
|
MASMMSMMSMSXXAMXMMAMAAAAXXMASMMSSSSSMMAXSAMASAXMXAMMMAASAMXMAMAAXXAMXAXSXMXMXMSSMMMMMMMMASAMMAMSMSAMXSXMMSXMXMMMSMMSASXAAMAMSSMMSXXASAXXSSMM
|
||||||
|
XAMXXAAAMXMAMMMMXMSSSXSSSMMXMAAXAAAAAMAMSAMXXXSXMAXXMSMSMSSMAMMMMXAXSMMMXMAMSAMXAXXAXAASASAMSXSAAMXSMSAAAMAMXXSAAAXMASMSMSAMXXAMXSSMMSMSXAAX
|
||||||
|
MSMMSMSAMXMSAMXMXXAAAAXAMXAXSMMXMMMMMMMMSMSMMSMMAMASAMASMAASMMSXMSXMMMAMSMSMSASXMMSXSAXMXSAMAXSMSMAXASXMMSAMMMASMMMMMMMMAXMMXMXMAAMMAXMMMSMM
|
||||||
|
AAAXAMMASXAXAMMMMMMSMMMAMXMXSMSSMMXXAAXXMAAMXXAMAMAMAMAMMSMMXAMAMMASXMAMAAXASAMXMAMXMMXXASMMXXSAMMSMXMASASASXAMMSAXXMAAMMSSMXXMMMSXMAMXSAMXA
|
||||||
|
MMSMAMMAAMMMAMAAAAXAAXXAMMMAMXAAAMXSSMSSMSMSMSAMXMASAMMSAMAMMXXXSSMMASXXMMMMMXMAMAXASAMMXMMMXMMAMAMMMSMMASAMXSXAXMXMSMSSMAAXMMXSAMXMASAMASMS
|
||||||
|
XSMMXMSXMAASAMSSSSSSMMSXXAMAMMXSMMMAAXAMXXXAMSAMASXSASAMXMAMAXSMMAMSMMXASXSSMXSXMMMMSMMMSMMSAMSXMASAMASMAMXMAMMMXXMXAAXAMSSMAAAMXMASASASAMAM
|
||||||
|
MAMAMMMMXMXAMXAXMMXMAXMMSASMMSMAMXAXSMXSAMMMXXAMXMASXMXSASXMMMAASAMAAXSXMAXAMXSXASXAXXAAAAASAXMXSXXMXASMMSMMMMAXXSAMMXXAMMAMXSXMXSAMXSXMXSMS
|
||||||
|
SMMXSAAASMXAXMAXMXSMMXAAAMXMAMSAMXSXMAAMASAMSSMMAMAMASXMMMXAAXMXMMMMMMMMMSMAAAMSAAAAMMMSSMMSSMXAMMXSMXMXMAAMXSSSMMAXASXSMSAMXMASAMMSMMMSMMXS
|
||||||
|
AXXMMMSMXASXMXSMSASAASMMXSAMMMSMSAMXMXMMAMAXAAXSAMXSAMXSASMSMSXSMSMMSMMAAXMSMAMMSAMSSXAMXAXSMMMXXXAMAMMASMXMXAXXAXXMASAMXXXSASAMASAMAAAXAMAM
|
||||||
|
MMXAMXMMMXSASAASMASMMXAMAMASXASXMASXMAXMSXSMSSMMASAMASAMXSAAAMAMAAAXAAMMSMMASXXXMXXAAMMMMAMXAAMMSMAXXAMAMSMSMMMXMMSMMMXMXMSXMMASAMAXSMMSXMAX
|
||||||
|
XSMSAAXMAMMAMXSAMXMMSSMMASXMAXMAMXXASASXMAXAMXAMAMASAMXMAMXMAMSMSSSMSSMAXMSASMMXAXMASXAMSMSSSMSAMMSMXXMXSAMXAASXSAMAAAAMAMSAXSAMASMMXAMXMSSS
|
||||||
|
AXAXMMMMSMMAMMMMMXMAXAXSASMMAMSAMSSMMMSAMAMAMMSMMSAMXMMMMSAMXXXAAAAMAAMXMAMAXAMSMSAAXXXXAAAAXAMXSAMAMXXSAMMSSMMMMASXMSASAXMSMMMSAMXXSAMXMAAX
|
||||||
|
MMXMXMAAAAMXXAAXXMMSMXMMASASAXMASXAAAXMXMXSAMAAXAAMSAAXAAAXSSMMMMMMMSSMAMXMAMMASAAMXMAXSMMMSMXSXMMSAXSXAMXMAXAXXMXMXMXASXXSAMAAMASMMMAMAMMSM
|
||||||
|
MAASXSXSXXMMSSMSAXAXMAXXXSXMASMMMAMSMMXAXXXMSSXSXMASMXSMSXMMXAXASXSXMAXXSAMXSXAMMMSSMXMMSAMMMMAAXAMXMXMSXMMMSMMMSMSMXMXMAXXASXMMAMMMSASASMAM
|
||||||
|
MSMSAMMMMMAXAAMMMMMSSSSSMMAMXMASXAXAAMSMSXXXAMXAMXMXXAAAAMMXMXSAMXAMAXAMAAMAMMMMXAAAMXMASXSAAXSXMXMAMAMAXMAMSAMXAAAAXSAMXMMXMMAMXSAASXSMMMAM
|
||||||
|
MMXMXMAAAMMASMMSMSXAAAXMAXAMSAMXSMSMSMAMMMXMASMMMMAAMXSMMAAAAMMMMXMAMMAXSASASASAMMSSMMMASMSMSMXXAAMAMAMMMMAXXASMMSMSMSAXAAMMXMXMAAMMSMMMMSAX
|
||||||
|
MXMXMSSSXSXAAXXXAXMMSMSSSMAMSAMXAXXXXMXSAAXMXMMMASMXSAAAXSSSSSSMSAXAXSAMMASMSASXSXAAASMASAMAXAMXXMSSSSSXSXMSSSMAAMXMASXXMSMAAMMMXXMXXAAAASMS
|
||||||
|
MASAXXXXASMSMSMMSMXMAAXAASXMXMASMMSMMMXMASXMMXXSAXMAMXMMMXXAAAXASMMSXMASMAMMMAMAXMXSMMMXMAMSMSMMSAMAAAAAAASAXASMMMAXXMAXXAMXAMASXSMXSSMSMXAA
|
||||||
|
XAMMMMSMXMAXAMXAAMAXMXMSMMXXXXAXAASAAAAAMMMSASMMMXSASAMSMSMMMMMAMMAMASXMMSSXMAMAMSXMAMSASAMAAMAMMAMMMMMMMSMASMMXMSASXMMMSASXSSMSAASXXMMMMMSM
|
||||||
|
MSXSAAAXXMAMXXMXSSSSXSAMXSAMSMXSMMMSMSSSMMAMASMAXASMSAAXAXAAAXMAMMASXMAXAXMMSXSXAMASAMSAXMXMXMAXMAMXXSXSXAAAMXMAMMXSAAAAXAMXMAXMMMMXMASAAAMM
|
||||||
|
MMASMSMSXSASMAAXXAMAMMSMAMAXAAMXMAXAMXAMXMAMXMMXMMSXSMMMSMSSSXSASMXSASMMXSAASAMXXMAMAMMMMSASXXXSMSAMSAASMMMMSXMSMSSSMMMSSSMSSSMMAXAAAASXSMSM
|
||||||
|
XMAMXAAXXXAMMAMXMAMXMAAMSSSMMSASXMSAXSAMXSSSSMAMSASAXXXAMAXMAXSAXMASXAXAASMMSAMXSMASMMAAMSASAASAMAAMXMXMSXAAXXXAASASMSXXAAAXAXASASMMXXXMMASM
|
||||||
|
XMXMXMSMSMMMAMXASAMMMSSMMAMMAMMMAXSMMXAMXAXAAMAMSAMXMMMMSSMAXMMSMSMSSMXMMXMASAMAASAMASMSMMMMXXMASMXMMXSMMMMSSSMSSMAMXXMMXMMMMMXSAMXSMSSSMAMA
|
||||||
|
MXMMMXAAAAXSMMSASXSAMAXXMAMMAMAMMMSXXXASMSMSMMMXMSMAXAAXMXAXMMAXMAXMAMMSMMMASAMXMMSSMMXXAAXAMXSAMXSXMAXAAAXAAMAMXMXMMMXXAMXXXXAMXMXXAAAAMMMS
|
||||||
|
MXAAASMSMSMMAAMXMAMMSMMSMMSSSMMASXMAXSXMXXAXAASAMASXSXSSSSMSXMAXMXAXMMAAASMXSXSSMAXSXMASMMMAXMXMAXSAMSSMMSAMMMAMXAMAXAAXSSMSSSXMAXMMMMMMMAAX
|
||||||
|
SSSMXSAAAXMXMMAAMSMMAAMXSXAXAASAMAMSMMAMXMMMSMSASXSMMXAMXSXMAMASMSSSSSSSSMMXMMMAMSMMXMASAXSXXSAXMMSAMXAXAXMXAMMMXMAAMMSSXAAAAAMASAASMSXSXMSS
|
||||||
|
AXAXAMMMMMMXSMSXAAASMSXAXMMMSMMASXMMAMXSAMXAXXXAMMSAXSMSAXMAMMAMXAAAAMAMXAMXSASAMXSMAMASXMMSMSASMAXMMSXMMSXSMMSAMXAXMAXMXMMMSMAAXSXMASAAXSAM
|
||||||
|
MSAMXSASAAXMXAAMSSXMAMMMMSAMXAAXAMASAMASXSMMSSMAMAMSMAAMASMSSMXSMMMMMMSMXXMASASXMAMMAMAMAXAAXXMMMSSMXMASXAAXXAAAXXMSSMMSMSAMAXMAXMMMAMMMMMAS
|
||||||
|
XAAMXXASMXSMMMMMAXAMASXMASMMSSMMMMMMXMMSAMMMAMSMMAXASMXMSMAXAAXAXSAXMXXAMSMXSAMMMAMXAMXSMMXSSMMAXMAMSAMASMXMMMXMMXXAAAAAXXAMXSSMAMSMMSXXASAM
|
||||||
|
MMAMAMMMXMAXXMSMXSXMASAMASXMAAXMMASMMMXMXMAMAXAXMMSMMXAMXSMSAMXMXSASXAMXMAAMMMMASASXSSXAXAMAAMXAMMAMMASAMXMSASASXXMSSMMSMMAMXXMMSXMAXMASMASM
|
||||||
|
ASAMXSAAASMMSAAMXSXMMSAMAXAMSXMMSASASAAXAMXSMSXSXMAAMSAXAAXMAMAMAMMMMMMAXXMXAMXAMXSXMAXMXSAXMXMSSSSMXXMAMMXMASAXAXMAMXXXXSSSMAMSMASXMMMXXXXS
|
||||||
|
MSASASMSMMMAMSAMAMASAMXASMSMMAAAMXSXMASMSMAMXXAXMSSSMXMMSSMSASXMASXXMASMSSSMASMMSXSASXMSAMSMXSXAAAXSASMMMSASMMMMAMMASXMMAMAAMAMAMAMMAASXMMMS
|
||||||
|
XSAMAMXXMSMXMXXMASXMASXMMAAASXMMSMMMMMMAAMASAMMMMXMMMXMAMAASAXMSMSMMXMXAAAMSMXMAAAXAMAXMMMAXASMMMMMAMXAAMMAMMAAXAASXMMAAMMSMMMSMSSMSSMMAAAAM
|
||||||
|
XMXMAMXMASAMXXXMAXAMXSXMMSMMMMXXAMXAAAMXMASMXASAMAMMMAMXSMMMSMAMXMASAMMMMMMXSAAMMSMSMMMSASXMXMXAMXSAXSMMSMMMMSMSSXXMASMMXXAMXAAMAAAMAMSSMMSS
|
||||||
|
XMAMAMSMMMMAXXSMSSXMAMAXAAMXXASXSSSSMXMAMMMASMXASASASXSXXAXAMMXMAXSMXSASMXSAMXXXAMAAAXASASMMAMSMSMSXXAXAXAAMMAAAMAMSXMAXSMMMMSSXSMMMAAXMAXAA
|
||||||
|
XSSSXSAMMAXMMXMAXAXMASMMSMSXMASAMXAMASMXMAMAMMSAMASMSAMASMMMSMSSSSMXMXASAAMASMSSMMSMXMMSXMAMXMASAAXMXMXSSMMSSMMMSSMMMXMASASAMXXAASMSMMSSMMSS
|
||||||
|
AAAXMAMASXSXXMMAMXMMMMAXXASMAXMXMAXSXSASMMMSAMXXMXMASXMMAMXAAXMAMAMMMMMMMXSAMXMAAXXSAMMMASXMXSXSMSMAAMAXAMAAMAXMAXMAMMXASAMAMAMXMMMSAAAXXAMX
|
||||||
|
ASMXXXAAAMMXSASASXMXSSMMMXMASMSXMSAXAMAMMMAXMMMXMAMXMSXMMAMMMSMSMXMAMAMAMXSAMMSSMMXMXSASAMASAMXMAMMSSMASMMSSXSMMAXSXSAMXXASAMXSSMMAMMMXSMSSM
|
||||||
|
XMXSMMMMSAAASMMMSMAAMAXXMSSMMAXXAMMMSMMMSMMMSAMXSASAAMXSAMXSMSAXMSSSMXXMMASAMMAAMMSMAAMMXSAMMSAMAMMAXMASXAMMMMXXAAAAAXMSSMSASAXAAMSSMSXAXAAA
|
||||||
|
MMAMAAAAXMMXSAMXSAMMSSMMXAAAMSMMXSAAMAMAAAAAXAMXMAMMMMAXXMXAAMAMAAAAASASMXSSMMMSMAAMAMXXXMMSXXXXSMMAXMASMSSMAMASMMMMMMMXAASAMXSMMMMAAAMMMSSM
|
||||||
|
AMASMSMMSAMXSAMAMSXMAMASMSSMMMXMAXMASXMMSMMSSSMSSMMAXMAMAMAMXMSMMMXSASAXXMMMMSMXMMXSXXXSXMASMSMMXMMSMMXSAXAAMXAXXXAAAAXXMMMAMXMMXASMMMMSMXMX
|
||||||
|
SMAXAAAXSMMAMAMSSXSMASXMAXXXAXAMASMASXAAXMXMAAMAAASXMSSSMMASXSAMXMXXAMAMSMSAAAAASXMMXSMAXMAMMAMAXAAMASMMMMMSXMASMSSSSSMXAXMAXSAMSXSMMMXAAXSS
|
||||||
|
MMSMSMMAMMMSSSXMAMXSAMAMXMMSSXXSXMMMSXSMXXAMXMMMXMMAMXXAMSASXMAMXSAMXMAAMAAMSSSMXAAAAXAMMMMMMASMXMMSAMAAASXMMAXAAXMAMAMSXMXXXSAXAMXMAXSASAAA
|
||||||
|
XAAAXMASMXSAMXAXSMMXMSMMMSXAMSMSXMAMSXMSXMMSASMSSSSXMMSMMMASXMAMSMASMMASMXMMXAXASXMMSSSXSAAASASXASAMASXMSMMSMSSMMMMSMSMMASMMASXMXAAMMMAAMMXM
|
||||||
|
MXMMMXAMAXMASASMXASMXAAASAMXSAXXAXAXMXSASAXAMAAAAXAXAAAAXXAXXXAMXSAMXSSXMAXSMMMMMSAMAXMAXMMMAAMMXMAMXMMMMAAXAAAAMSAAXAAMAXAAMSAMXSSMSAMXMSMM
|
||||||
|
SSMSSMASMMSMMAXASMMASXSXSXAXMXSSXMSASMMASMSSSXMMMMXSMSSMSASAMXMSAMXSASXAMXMXAAXSAMXMMXMMMSMMMAMMXSMMSXMAXMSSMSSMMMSMSMSMMMMMXXAMAMMASAXXMXAA
|
||||||
|
AAAAXMXMXMAXMXMASXMXMXMAXMASMMXXXAMAASMAMXXAAMXAXSAMAAAMAMMASAMXASAMXSMMMMXSSMSMXSXAXXXSAAAAXSXMASAASAMMSMXAAAXAXXAMSAMASASXMSMMMSMAMXXMMSMM
|
||||||
|
SMMMSSXSASMSMAMXMAMAMXMXMMAAAAAMMSMMMXMASMMMMXMAMMAXAASXMXSAMASXMMXXXMAXAMXAAMXXAMMMMXAMMSMMMMAMASMMSMMMAMSMMMSXMMMSMASAMAAAAAXAAAMMSMAAAMAS
|
||||||
|
MAMXAASMMSAAXASXSMSASMMSAMSSSMMSAMASMMMXAAAAXSXMASAMXSXAXMMXSXMAMAAMMMSMMMSXMAMMXMASMXMXAMXAAMAMMSAMXAXMAMAXSAMAAAMSMAMXMXSMMMSMSSMXAAXMXSAM
|
||||||
|
MASMMMSXAMXMSMSMAXSAAAAASXAXAAAMMSMMASXXMSMSSXAMAMASXMMMMASAMASAMSMSXAAXMAXAXMXSSSXSAASMMSSXXAASXSMMMXMSXMXXMASMSMMXMAXAAMXAAXXXMAAMAXSAAMXS
|
||||||
|
SASASASMSMSMAASASMMAMMMMMMMXMMMSMAMMAMXMMAMXXMXMAXMMAMAXMAMASAMAXXASMSSSMMMMMAXMAMMXMXXAAXAAXSAMXSASMXMAMXMMSXMMAAXAXSSSSMMSMSSMMMXSAAAMMMAS
|
||||||
|
MXSAMASAAAASMSMAMMMAXXSAMASXAAAAXMSSMSSXSAMAXMSSMSSSSMSSMMMAMXSMMMAMAXXMMAASASASMSSMMXSMMMSMMMASAXSAAASMSAXXAAXSXSSMMMAMAXXAMAAAXAAMXMMXAXAS
|
||||||
|
SXMMMXMXMMMSXXMSMXXSSMMASAMMSMXSSXAAXAAXXMSMSMASAMXAXAMSXMASMMXAASAMMAMXMSXSAMAXAAAAMXAXAAXAXSAMAMXMSMMASASASXMMXMXMMMAMAMSAMSSMMMMSSXXSMSMS
|
||||||
|
MAAAXAMSSMMXAXAMMMAAAXSAMASMMSAAAMSSMMXMXXAAXMAMMMMSMSMSXXAXASMSMSXSAAXAMMMMMMMMMSSMMMMXMMMAMMXMMMAAXXMXMAMMXMMSAMAXAXXMSMXSMXAXSAXSMMAAAAAX
|
||||||
|
SSMMXXMAAAMMSMMMASXSAMXXSAMAAMMMMXXAXXASMSMSMMMSAXAXXAASXMMSMMAXXXAAMMSMSAMAMAXAAAMAMAXXSASMXSXSXMASMSXMMAMXXAAMASASXSAMXMXXXXMXMXMMASXMSMSM
|
||||||
|
AAASASMSSMMAAAXMXSAAAAXXMXSMMMSASMSSMSMSAXXMMMASMMSMSMSMMSAAXMSSMMMMXAAASMSASMMMMMXAASMXMXXSAMAMMMXMAXASMSSSSMMSXMXXXAAAXMASMSMMMMMSAMAXXAMX
|
||||||
|
SSMMASAMXMMSSSMSAMXMXSMMSMMMXXXASAAXAAAMMMMMXSASXXXXAMXAAMSMSMAMXASXSMMMMASMMXAMXSSSMXXAMAMMMMAMASAMXSXMAMAMXAAXXMMSSXMMXMASAAAAAXAMASXMMSMS
|
||||||
|
XAXMXMXMAXMMAXAMXSASMXMASAASXXMSMMMMSMMASMMMAMASASMSMSMMMMMXAMAMSXSXAXMAMXSASMSAAMAMXMASMASAASASASASASAMXMSMMMMXAXSAMMSXSAMXXXSMXMMSXMAMMXAA
|
||||||
|
SMMSSXSMSSMMMMXMXSASAXMASXMSAMXMAXXAXASAMAAMXSAMXXXAMXXMAASMXSAMSAXMMMXMSAMXMAAMMMAXXXMAMSSXMSASASAMASXMXAXMSSMSMXMASASXMXMASMMMXMMMMSAMSMXM
|
||||||
|
AAAXMMMAAAAAXAMMXMMMXMMAMMMMXMAXMMMSSMMSSSMMASAMMSSSMMAASMXMAXMSMSMAXAAMMXSAMXMXSMMMSSSSXXXMXSAMXMXMMMAMMMSMAMMAMMSAMMSAMXMASXSXMMAAMMSMXAMX
|
||||||
|
SMMSXAMAMMXMMMAMASAMMXMASASXMSMMMAAAXMAMMMMMMSAMAMAASMMMMAMXSSXMAMSXMSXSAMXMMMMXMASAMXAMMMAMASASXMASXAMXAAAMMMSASXMASXXAMXMASMMMSSMSMAXMASMA
|
||||||
|
AXXMASMSSSMSSSXXAMSSMASXSASMMASMSSSSMMMSXMAMXSMMMSMMAMMXMSAMXAAMSMSMMXAAAMAXXAMMXMMSSMMMXMAMAXSAMSMMAXXSMXMMAAMAAMSMMMSAMSMMSAXAAAMMMSMSXASX
|
||||||
|
XMSAMXSXAAAAXAAMSSMXMASAMAMAMASXAMMXAMAMASMSMMSMAAXXMMSMMXAXMMMMMXXAXMMASMXSSXSASXMXXXXAMSMMXMMMAAASXSMSMASMMXSSMAXAAAMXMSAASMMMSSMXAXAXXMAS
|
||||||
|
MXXMAMXMSMMMMMSMXAXAMXSMMASMMXSMMMSSMMAMMMMAAAXMSMXXXXAAXSXMAMSXMASXMASAAAXMAMXMAAMMMMMAXAXMMSSXMMXMAAAXMASAXMAMXSSMMMSAMMMMXAXMAMXMMMSMMMAS
|
||||||
|
AMASXSSMMXAMSMAMXMMMSMMXXAXAAXXAXAAAASMMSASXMMMXAASXSSSSMMMXXAMAMMMSAMMMSMXMASXMSSMAAASXSXXXAAXXMSXMSMMMMAXXMAMSSXXAAASAMSSMSSMMASAMAAXAXMAM
|
||||||
|
MSAMXXAAMXXMAMXSAMMAAAXMMSSMMXMSSMMSMMAXSAMXAASAMXMAAAAMAAMXSSSMMSASMXXMAASMMMAXMAMMSMSXSMSMMSSSMSAAAAAXMSSSSXMXMASMMXSSMAAAAMASASAXMMSAMMSM
|
||||||
|
MAMASAMXMASMMSASMSMMSSMAXAAAXMSAAAAXMXSMMAMXMASAXMMMMMMXSASAMMAMMMAMAMMSMAMXAXXMSAMXMASASAAAMMAAASMMMSSMMXAAMAMXSXSXXAXXMXXMSSMMAXXMSXMAMAAA
|
||||||
|
XXMAXMXAMMSAMMASAXXAMMMXMMXMAXMMSMMMSSMAXXXXSASXMXXAXXMMMAMAXSAMAMAMXXAAMXASXMXMMMMMMAMAMSMSSMSMMMXXAAAASMMMMAAMSASAASASMSMXAAMASMSXMAXAMSXS
|
||||||
|
MMMMSAMXSXSXMSSMASMXXASXSSSSXSAAMASASASXMMMMMXSASASMSSXSXSSXMMASMSMSMMSSSMXAMSASASAMMAMSMXMAMAMMXSXMMSSMMAAAMSXSMAMAMMAXAASMSMMAAAXASAMMMXAM
|
||||||
|
AMAXSAXXAXXAMXXMMMXXSAMXAAAAXSMXSAMMSAMXSAAAXASAMAMXXXAMAMAXMSAMXAAAAAAXXXXMASASASASXAMXSSMASMMSAMASAXXMAMSSXXSAMSMAMMMMSMMMXAMSSXMXMXMMAMXM
|
||||||
|
SMMMMMMMMXSXMAXAMXAMMSMMMMMMMMSAMXMXMMMAXSMSSMMXMXSSMMMMAMAXXAASMSSSSMXSXMXXMMAMASAMXXSAMXXAXXAMASAMMSMAMMMXASXXMASXMAAAXXMASAMMMMMAXAMSSSSS
|
||||||
|
AAMAAXXAXAXASMSSXMXXAAMAXXXXXMAXSAMMSXMAXAXMAMMXAXMASXASASXSASXMAXAAXMMSAMXMXMXMAMXMXXMASAMSSMMSXMAAXAAAMAMMXXSXXMMSSSSSSMMMMXMAAMSMMXXAAAAX
|
||||||
|
SASXSMSMSMSXSAAMAMAMSSXSSMSMMXMXXASASXXMAMXMAMXMMMSAMSXSASASMMMMXMAMXXAMAAASASMMMSSXMASMMAAAXXASXSSXSSSMSSSMSAMXXXSAMXAAMXAAXMSMXMAXAMMMMMMM
|
||||||
|
AMXAAAAAAAMAMMMXAMXXMAMMAAAAAAMXSAMAMMSSSSSSXMXAAMMAXMMMAMMSASXMXXAMXMSSMSMSASXMXAAXXAAMMMMMMMXSAAAMMAXXAAAAMASASXMMXAMXMSMMMXAMMSSSSMAXMAXM
|
||||||
|
SAMXMMMSMSMXMAXSAMSSMXMSASMXMASAAMMSMAAAMXMAMSSMXSSMXAAMASMSAMXMASMMXAMXXAXMMMASMSSSMMSSXMMXAXMMXMAMMAMMMSMSMAMASXAAAXXAMXXAXXXMMSXAXSMSXMSS
|
||||||
|
AXAMXSXMXAMXMAXXMMMAXXMXXMAXSASMSMAXMMMXMAAMAMAXXXAASMMSASXMMMMMMXAAASMMSMSSMSSMAAMXAAAMAMSSMSAASXXSMMSAAXAXMMMAMXMMSMASXAMSSMSSSSMSMMXMASAX
|
||||||
|
XSSXMASXSMSXMASXMASAMXMASMXMMAMXAMXSXMSASASXSSSMMMMMMAAMXSMSASMAMMMMXXAAXXAAMMAMMMMSMMMSAMAAMAMMSAXXAXAXXMAMXXMAXAMAAASAMXSAAMSXAMAASMXSXMAS
|
||||||
|
AAMAMXMMAAAXSASXSASAMASAXMAMMXMXMMASAMSAMAMAXAAAXAXXSAMXSMXSAXSAMAASMSMMSMSXMSSMMAMXXAMSXSMSMMSMXMMMMMMXMASMMMMXSASXSSXMAXXXMMMMSMSMXSAMMMMM
|
||||||
|
MSSSMMMSMMMMMMXAMXSASXMASMXXSASMXMXMXMMAMAMAMSXSASXXSAMXMXAMMMSMSMMMMAMXMMAMXMMASXSMSMMXASXXAXXASXMASAXXAMMXAAAAXXMAMMMXSSMMXSAAXMXAXMMMAAAA
|
||||||
|
MAAAXXAAAMXSAMSXSASMMASAMMMMMASAXSMSMSMSSXSXMMAAAXMXSAMAMMMXSAMAAXAASAMAAMMSAAMXMAAAXSAAXMASMMSSMASASMMAXXASXMSSSMMMMMSAMXASASMSSSMSAMXSSXSA
|
||||||
|
MMSMMMXXSMXSAMAAMASXMASAMXAAMXMXMMAAAAAXXXMAMMMMMMXAMASXSAMAMASMMSSXSAXSSMASXSMMMSMMMMXMMMMMAXSASXMMSAMASXMXAAMAXAAXAMMMSMSMXSAMAXAXMAXAMXMM
|
||||||
|
SMAXXMXSAMXSAMMMMAMAMXXMMSSXSXMAMMSMSMSMAXSSMSXAAXMXSAXASASMSAMAAAXMMMMMAMXSAXMAAAAMXMASXXASMMSAMMSAMAMAXAMXMXMASMMMSXMAXXAMXMAMXMMMXSMMMAAA
|
||||||
|
XAMASAMAAMASMMMAMXSXMMMXMAMSSXMAXXXXXMMMSMAMASMMXAAMMMSMSAMAMXSMMMSMAXXSAMAMMMSMSMMSAXAXMAMXSAMXMAMMSSMMSAMXXXMASAMSMXMAMXSMSMSMSAXAXXAASXSS
|
||||||
|
XSMAAXAMXMAXAASXSASAAXMAMMSAMASXXXXASXAAAMMMAMAXMXSAXXMXMAMMMAXXXAMMSSMSAMAMAAMXXAAXXXSMMMXMMSSXMAXXAMAASMXMXXMASASAMXMASAAMSAAAASMSASXMSAMX
|
||||||
|
MXMXSXSASMAMSXSAMASMMASXMXMASXMMSSMAMSMSSSSMSMXMMAAXMAMASAMXMMSSMASAAMASMSAXMXSAMMMMSMMASAAMSASASXXMASMXSAAMSMMMSXMASMXMAMXAMSMMMMXMXAAMXMSA
|
||||||
|
AAMAXAMAMXXMXAMXMXMASAMAXSMMMAAAAXMAMMMMAAAAAMXSMASASASASASXXMAXSMMMMMMMAXAMAAMAMMSASASAMSSMMASXMSMXXMMXMMXXAAAAMAMXXXAXXMMSAMXXXXASMSMMAMXA
|
||||||
|
XAXXMAMMMMXSXMSXSMXAMAMXAXAAMMMMXMMAXAAMMSMMMSAAXMMASASMXMMXAMXXMXMXXXMMSMXAMSMSMXMASXMAXAMAMXMASAMSAMXSXAMSSSMXSAMSXSXMAXSMXSASMMMSAAXSASAM
|
||||||
|
SXMSMSMXAXMAMXMAMXAMSXMXMSSMSSSSMSXSMSXSAXXMAMXSMXMXMAMAMSSSSMMSMSMSMAAAXAASMXAMXMMAMAXSMMSMASXXMASAAMAMAAMAAXAAMXMXAMASXXMXXMAAXMXMXMXSAXAS
|
||||||
|
AMAAAAMMXMMSASMSMSMAAXSXAMXAXAAAAMAXXAASMMSMASAMMXMXSAMXMAAMXAMXAAAAXXMAMSMXAMAMMSMAMXMXAMXAAMMMAXSMSMASASMSXMMXSXMSAMMMMASXXMSMSAXMMXMMXXAM
|
||||||
|
SASMSMSSSMAMMSAAXAAXMAMMXMMMMMSMMMAMMMMMAAXXSMMMAMSASAMXMMSMSXMMSMSMSXMXMXMMMMAMASXSSMASXMMMMSAAXXXAXMXMXMAXXXXAXAAMXMXASAMXAXMAXAMMASXXSAMX
|
||||||
|
XAXXMASAXMAMXMXMSSSMXSMSXSAAXMAXAMASMMSSMMSMMASAMXMAXAMSXMAMMMMMMMXXMXMASASMSXXMASMXAMMMSMAAAXAMMAMMMASXMMAMAMSXXMMSSSSXMXSXSMMSXMASASMAMAXS
|
||||||
|
MXMMSSMMMMAXAMXXMAAXXXMAASMMSMSSMSASAAAAAMXMSAMMXMXSMMMMASAXAAAASXMSMASXSASAMXXMMSMSMMXAAXMMXSMSAMAXAXSAMMAMAAMAXSMXMAMMSMSAAXAXAMMMAMXAXAXX
|
||||||
|
MXMASAMXASMSSSXSASMMMSMMXMXSAMAAMMMSMMMSSMAMMAMXXAAAXMASAMXMXSSMSAAXSAMAMAMXMMXMMSASAMMSSSSSMAAAXXMSMMMAMSSSXSMMMMAAMAMAAAMSMMXSAXMMSSSSSMSX
|
||||||
|
XAMXSMMMMSAAAAAAAMXSAAXSMSMSSSSSMMASXAXXXMAXXMMMMMXSXSAMXMSSMAMMSMMMMMMXMSMXAXSAAMMSAMAMMAAMMMMMXMMAAAMMMAAXMMAMSSSSSMSSMSMMMAASXMASAAXAAXSX
|
||||||
|
SSSMSXSAXMMMMMMMMMXMSSSMASASAMXMAMASXMXSMXSXXXXXMMAMXMMXXAAXMAMMXMAXMAXAMXASASMMXSASXMASMMMMXXAXASMSSMSMMSSMASAMMAAXXMAMAAAAMMMSAAMMMMMMMMSA
|
||||||
|
AAAAXAXXSMXASASAXXAXXMAMAMMMXMASMMMSASAMAAMAMSMAMMAXMSMSMMASMAMMASXSSSSMSXMMMMASAMXMASASAAMAXSXSMSAMAMXMAMAAASASMMMMMMAMMSSMXSXMAXAAAXXXMAXM
|
||||||
|
MSMMMSMMMMMASAMXXXXSASMMSSXXSMXXSAXMAMMSSSMAMAAASMMSAAAXMMMAMMMSASXXAAMASMXAASXMXMASXMMMXMSMASXMMSMSAMAMXXAMXMAXXXAAMSMSMAXXAXMASMSMSXMAMMSS
|
||||||
|
MAMXAMAAAAMMMAMXSMASAMXMXMMMAMSXSMSMAMXAAMAASXSMSXAAMMSMXASAMSAMAXMMMMMASAXMMSAMASMSAASXMMAMMMXSAMXSAMMXSAMXASXMSASMXAAAMXMMMXSAMXMXAASXMMAA
|
||||||
|
MXXMAXSMSMSSSMSAAMMMMMMMAMAXMASAXAAXMMMMSMXMSXXAXMMMSXMMSXSAXMXMASXAAXMASMSSXSASXSMMMXMAXSXAAXAMASASXMXAMXXMXSAAXXMXSMSMSMMSAMXAMAMXSAMASMAS
|
||||||
|
SAMXSXMAXASAMAMMXAMXAAASASAMXMMMMSMSXSMMAXAMXMMXMXAXXAMMSMMMMMMXMAXSSSMXSAXMASAMXXMXMXSMMMXSMMMSAMASMSMASXMMASMMMSMMXAXXSAAAXSSXMAMAMAMAXMAM
|
||||||
|
XXSAMAMAMXMMMAMAMSXSXSXSXSASAXAAMAAAXAMMAMSMSAAMMSMSSXMASXMAXAASXMAXAXXAMAMMAMAMXMSASXASAMXXSSXMXMXMASAMMMSAAMAAAAASMSMAMMSMSMXMSSSXSMMSSMXS
|
||||||
|
XMMXXAMSMSSXSASAMXASAMAMXMASAMSMSXXSAMXMSMXAMXSAAAXMASMASMSXSSMSAMXMMMMXSSXMXMSAMXSASXSAMXSMAMAXASMMMMSXMAXMSMMMSSMMAXMXMXMMMXAXAAMASMAXMXMA
|
||||||
|
SAXASXSMXAAXMASAMMAMXMAMAXMXMMMAXAMAMXAMXAMAMSMMSSXXMAXAMXSAAAAXAMSMXXAMMAMMSMXAXMMMMMMXMMAMXMSMMSAAMAMMMXSAMXMXAMXMAMMSMXAAMSSMMSMAMMSMMSAM
|
||||||
|
XMXMAMAXMMXSAASMMSMSASMSSSMAMXMXMMMAASMSMMMXSAMXMMXAMXSSMASMXMMMAMAMSMSMSAAAAASXMASAXAXASXSXSMXAXSXMMAMMAMXMSXMAASMMXSXMASXMXAASAMMXSXXAAXMX
|
||||||
|
SSSXSMAMXAAXMXSXXXASXSAAAAMXMAMASMMMMMXAAAAMAMXMXAAMMAAMMAMXSSXMASMSAMMASXSSMMMXMSMAMXSAMMMAAMSAMXAXSAXMASXXSAMAMXAXAMAMASMMMSSMMSMMMASMMMSX
|
||||||
|
AAAAXMXSMMXSMAXMMMXMAMMMSMMSMASAXMASASMSSMSSMAAMMMSXSMSMMSSMMAASXSXSASMAMXMAMSAMXAXAAXMASAMSMMSSMSMMMASXXMXAXXMASMMMMXMMAMAAAXAXAAMAMMMXMSAM
|
||||||
|
MAMMMSMMMMMAMASAASAMXMAXAXXAMAXMMSASAMXAAAXMXSAMAAMASXAXAMXAMSMMASMSAMMAMXXAMXXSSSXSSXAAMAXXAAMAMXXMASAMMMMSMXSMXASAMASMSSSMSSSMSMSAMXXXMAMA
|
||||||
|
AAXAXAAXAASAMMAMSSMSAMXSMMSMXMSMAMXMXMMXMMSSMMASMSMAMMSMMSSMMXAMXMAMXMXXMAXSMSMMAMAXXMASXXMSMMSMSAMXXMMMAXAXAASMXMAMSMSAAMXAAAAAXASXSXMAMMXS
|
||||||
|
MXSMSSSMSXSAAXAXMXMXXXAMXAAMAXAMSSSMMSMMXMAMAMXAMXMXMAXAXMAAAXAMSMSMSSMASMXXAMXMAMXXMMAAMMMAAMAAAMXSXSXSSMMXSSMAASXMXAMMMXSMSSSMMMMXAXSAMAAM
|
||||||
|
XAXMAAXXXASXMMMSXASMMMMSMSSSMMASAAASAAXXAMMSXMXSAAAAMXSSMSSMMSAMXAAAAMXAMAAMAMXMXSAMMMSSMAXMSMMMMXAMXMAXAASMMMMXMMAMMMXAXXSAMAAASXSMSASASMSS
|
||||||
|
MXSMXXMXSMXSXAXMMMSAAMXSAAMAMSMMMSMMSSMMXSXXAMXMMMSXSAAAAAAXMAMXMSMMMAMSSMSSMMXMAXAMAAXAXSSXXMSMSMXXAMMMSMMAAMAASMSMAMSXSMMAMMMMAXXAMASAMAAA
|
||||||
|
SMMMAXSXMMAMMMAAAXSMMMAXMSMAMMAMXMXMAMAMSMMSMMSSXMMAMMSMMMSMMAXXXAXMMXXXAMXAAAMMSSMMMMSAMXXXMAAAAMSSSSXAMAMSXMMMSAMSSXMAAASXMASXMSMMMAMXMMMS
|
||||||
|
AXAAXMMAAMASAMXXSMSXSMMXXMMAXSAMASMMAMAMMAAAAAAXAAMAMXXXAXXMMMSMMMMSMSSSMMSMMMXXMAXXXAMXMASXMSMSMMAAXSMXSXMMSMXAMAMAXAMXSAMXSAMAXMAAMXSASXAX
|
||||||
|
SMMMSASMMSASMXSAXAMASXSXASXAMSAMASASXSSSSMMSMMSSSMSMSMXSSSMAAAXAAAXAAAXAAAMAAMXMSMMMAMSSMXASAMXAAMMXMXMAMAAAAXMXMMMXXXMMXAAAMASXMMSMSASASMMS
|
||||||
|
XAAAMMMXAMXSAAMMMAMSMAXMMMMXMSMMXSMMAMXAASAAXSAMXXAAAAXXMAXMMXSSSXSMMMXSMMSSMSAAAMMMSMAAXXMSMXMSMMXSAMXSSSMSSSMSMMXSXAXAMXMMMAMAAXAAXMMXSAAX
|
||||||
|
MXMMSXXMXMXMMXSXSAMXMSMSAAMAAMASAMAMSMMSMMSASMMSMSMSMMMASMMMSMMAXAXMASMAXXXXMSXSMSAAAMSSMSXSMAMXSAMASXAMMXAAMMAMXSAMSSMMXASAMASXMSXSSXSAMMMS
|
||||||
|
AAMXMXMXAAXMMMXASXSAAAAMSAXXMSAMMSAMAXMXAAMXSAASAAMAXXAXMXAAMAMAMSMSASASMSXAXSXMASMSMMAAXXAXXMXAMXSAMMMSAMMSXMAMMMAXAMAMSASXSASMAMXMMAMASMXX
|
||||||
|
MMSAMMASMSMSSMMMMMMMMMXMMMSSMMMXMXXSXMXMMMSSXMMSXXMASXSMMSMMXMMSSMAMMMXAASXMMSAMMMXXMMXXMMSMASMMMAMAMMAMAXAMASXSASXMASXMAXXXMASMAMSMMAMXXXAS
|
||||||
|
SMSASAMMMAAAMSASASXSSSSMSAMXAAAMSAMMXSAAXASMMSXMMSMAMXAAXXASXSAMAMMMASMMMMAMAMAMMMASMSSMMAXMAMAXSXSMSMMMSMXSAMASASASAMAAMSXMSAXXAMSXSXSMXMMM
|
||||||
|
AMMAMXXXXMMMSSMMASMMMAAAMXMXMMXSMASAAMXSMMSAAMAAAMMSMSXMXMASAMXSAMAAMAXAASAMXSMMXMASXAAMMASMAXXMMASAAAAAXXMMAMXMAMMMASAMXMAMSASMSSMAMAAAXMAS
|
||||||
|
MSXSAMMSASXXXMAMSMXAMSMMMAMSMSXAXSMMSSMXASMMMSMMMSAXXSASMSAMXMMXAMAMXMMSXSMSMAASMMASMSMMMMMXAMAXMAMXMSMASASMSMSMSMMMAMAXMSAMSAMMXAMAMSMMXSAX
|
||||||
|
XAMMAAAMAMMMMMAMAAMMXAXXSXMAAXMXMMAMAAXSSMXMMAAMXMASAXAMMAMMMSSSSXSAAXAXAMAAMSMMAMASMXASAXMAXASAMMSAXAMXSXMAXSXMASXMASXMASMMMAMXSMMXXAAMXMMS
|
||||||
|
AMAMSMSMAMXAASMSMSMSAMXXMAMMSMSSSMAMSSMMXMASMXSMXMXMAMSMMASAAMAAAAMSXSAMAMSMXXXSSMMSASAXMSMASXMASAAXMMSMSAMXMMMSAMXSMXAAMMXAXAMXSAAMSMSMAAAA
|
||||||
|
SXSMXAXMAMMMMSAMAAAXXSXMMMAXAMAXAXXXXAASMMMAAXMMMSAMXMXASASMXSMMMMMAMMASXMXSAMXMAAXSXMAMSAMAAASXMXSMSXAAMSAMXXAMASXMSSXSASXXMAMXXMAMSAMMSMMX
|
||||||
|
AAAXMXMSMMMSMMAMSMSMMMXSAAXSSSMSSMSASXMMAMSMSMSAAXXXSASMMMSMXSAMAXMAXSAMAAMSXMASMSMSAMMMSASMMXMMMSAAXSMSMAMASMSSMMAAAXXMAMAAMSSMMXSXSASAXMAM
|
||||||
|
MXMXSAMMAAAAXSSMMAAAAXAMMXMAMXXXMAXASXMXAMAAAAXMMSSMSXSAAAMMAMASMMSAXMSSMMMMASXXAAASXMAAXXMXMMMSXSMSMXMMMXMAMSXAXSXMMSMMAMXMMAAAAXMAMAMXMMSA
|
||||||
|
XAMAXASMMMSXMAAAXSSSSSXMASMSMMSMMSMASASXXSMXMMMMXXXASMSXMSSMASAMAAMAMMAMAMXSAMXMSMMMSSMSSXMASAAAASXXXAAAXAMXMXXAMXMXXXXMASAAMXSMMSMAMAMMXAAA
|
||||||
|
SASASXMXAXXMMSSMMAAAAXMASXXMAMMAAXMXMAMAMXMASMMMSAMXMASMMXAXXSASMMSSMSASAMAMAMXAXAMXMMXXAASASMSMMMMXMSSXSSXMASXMXAMSSMMSAXMXSAMAXXMAMAMAMMSM
|
||||||
|
SXMXSAAMMMSXMAMXMMMMMMMMMXASMMMMMMSXMAMAMASASAAAMAMMMMMAMSMMMMMMMMAAASASMMMSMSMSSMXMASMMSMMAXAXXSASAAMAMAAAMASAMSASAAXMASMXXMASXMSSMSSSXMMAM
|
||||||
|
MXSASMMMXAASMMSXSAMXXASAMXXXXSXASXXASXSASXMASMMMSAMAAASAMXXAAMAAXMSSMMAMMAAAAAMAAXASAAAAMAMSMSMMSASMSMAXSSXMASAMSSMXSXMAMMXMSXMAAMMMAXXMASAS
|
||||||
|
MSMMSAMAMMSSMXMXSXXMASMMSAMXAMSAMXSXMASXSAMXMMAMXXSSSMSASXSSSSMSSXMAXMXMSXSMSMMSSMMMSSMMSSMAXXMAMXXMAXXMMMMMASAMXMMMMXMASAMXMASXSSSMMSMMMMMS
|
||||||
73
4/main.go
Normal file
73
4/main.go
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
file, err := os.Open("input")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
resultXMAS := 0
|
||||||
|
resultMASX := 0
|
||||||
|
// word := []string{"X","M","A","S"}
|
||||||
|
table := [][]string{}
|
||||||
|
for scanner.Scan() {
|
||||||
|
line := scanner.Text()
|
||||||
|
// fmt.Println(line)
|
||||||
|
table = append(table, strings.Split(line, ""))
|
||||||
|
}
|
||||||
|
for i := range table {
|
||||||
|
for j := range table[i] {
|
||||||
|
//XMAS
|
||||||
|
if table[i][j] == "X" {
|
||||||
|
//HORIZONTAL DOWN
|
||||||
|
if i < len(table)-3 && table[i+1][j]+table[i+2][j]+table[i+3][j] == "MAS" {
|
||||||
|
resultXMAS++
|
||||||
|
}
|
||||||
|
//HORIZONTAL UP
|
||||||
|
if i >= 3 && table[i-1][j]+table[i-2][j]+table[i-3][j] == "MAS" {
|
||||||
|
resultXMAS++
|
||||||
|
}
|
||||||
|
//HORIZONTAL RIGHT
|
||||||
|
if j < len(table[i])-3 && table[i][j+1]+table[i][j+2]+table[i][j+3] == "MAS" {
|
||||||
|
resultXMAS++
|
||||||
|
}
|
||||||
|
//HORIZONTAL LEFT
|
||||||
|
if j >= 3 && table[i][j-1]+table[i][j-2]+table[i][j-3] == "MAS" {
|
||||||
|
resultXMAS++
|
||||||
|
}
|
||||||
|
//DIAGONAL DOWNRIGHT
|
||||||
|
if i < len(table)-3 && j < len(table[i])-3 && table[i+1][j+1]+table[i+2][j+2]+table[i+3][j+3] == "MAS" {
|
||||||
|
resultXMAS++
|
||||||
|
}
|
||||||
|
//DIAGONAL DOWNLEFT
|
||||||
|
if i < len(table)-3 && j >= 3 && table[i+1][j-1]+table[i+2][j-2]+table[i+3][j-3] == "MAS" {
|
||||||
|
resultXMAS++
|
||||||
|
}
|
||||||
|
//DIAGONAL UPLEFT
|
||||||
|
if i >= 3 && j >= 3 && table[i-1][j-1]+table[i-2][j-2]+table[i-3][j-3] == "MAS" {
|
||||||
|
resultXMAS++
|
||||||
|
}
|
||||||
|
//DIAGONAL UPRIGHT
|
||||||
|
if i >= 3 && j < len(table[i])-3 && table[i-1][j+1]+table[i-2][j+2]+table[i-3][j+3] == "MAS" {
|
||||||
|
resultXMAS++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//MASX
|
||||||
|
if table[i][j] == "A" {
|
||||||
|
if i < len(table)-1 && i >=1 && j < len(table[i])-1 && j>=1 && (table[i-1][j-1]+table[i+1][j+1] == "MS" || table[i-1][j-1]+table[i+1][j+1] == "SM") && (table[i-1][j+1]+table[i+1][j-1] == "MS" || table[i-1][j+1]+table[i+1][j-1] == "SM") {
|
||||||
|
resultMASX++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println("XMAS contained :",resultXMAS)
|
||||||
|
fmt.Println("MAS in X contained :",resultMASX)
|
||||||
|
}
|
||||||
109
5/main.go
Normal file
109
5/main.go
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"regexp"
|
||||||
|
"strconv"
|
||||||
|
)
|
||||||
|
|
||||||
|
func calcScore(s [][]string) int {
|
||||||
|
result := 0
|
||||||
|
for i := range s {
|
||||||
|
if len(s[i]) % 2 == 0 {
|
||||||
|
fmt.Println("The following valid update has an even length, so cannot calculate the middle page: ", s[i])
|
||||||
|
} else {
|
||||||
|
middle := (len(s[i]) + 1) / 2
|
||||||
|
middlePage, _ := strconv.Atoi(s[i][middle - 1])
|
||||||
|
result = result + middlePage
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func isValid(update []string, rules [][]string) bool {
|
||||||
|
valid := true
|
||||||
|
for i:=1; i<len(update); i++ { //FOR EACH NUMBER OF THE UPDATE
|
||||||
|
for j := range rules { //FOR EACH RULE
|
||||||
|
if update[i] != rules[j][0] {
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
for k:=0; k<i; k++ { //FOR EACH
|
||||||
|
if update[k] == rules[j][1] {
|
||||||
|
valid = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return valid
|
||||||
|
}
|
||||||
|
|
||||||
|
func makeValid(update []string, rules [][]string) []string {
|
||||||
|
for i:=1; i<len(update); i++ { //FOR EACH NUMBER OF THE UPDATE
|
||||||
|
for j := range rules { //FOR EACH RULE
|
||||||
|
if update[i] != rules[j][0] {
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
for k:=0; k<i; k++ { //FOR EACH
|
||||||
|
if update[k] == rules[j][1] {
|
||||||
|
temp := update[k]
|
||||||
|
update[k] = update[i]
|
||||||
|
update[i] = temp
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ! isValid(update, rules) {
|
||||||
|
update=makeValid(update, rules)
|
||||||
|
}
|
||||||
|
return update
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
file, _ := os.Open("input")
|
||||||
|
defer file.Close()
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
ruleRegex := regexp.MustCompile(`[0-9]+\|[0-9]+`)
|
||||||
|
updateRegex := regexp.MustCompile(`^(\d+(,\d+)*)$`)
|
||||||
|
numberRegex := regexp.MustCompile(`[0-9]+`)
|
||||||
|
rules := [][]string{}
|
||||||
|
updates := [][]string{}
|
||||||
|
for scanner.Scan() {
|
||||||
|
line := scanner.Text()
|
||||||
|
ruleMatches := ruleRegex.FindAllString(line, -1)
|
||||||
|
updateMatches := updateRegex.FindAllString(line, -1)
|
||||||
|
rule := []string{}
|
||||||
|
update := []string{}
|
||||||
|
for i := range ruleMatches {
|
||||||
|
rule = append(rule, numberRegex.FindAllString(ruleMatches[i], -1)...)
|
||||||
|
}
|
||||||
|
for i := range updateMatches {
|
||||||
|
update = append(update, numberRegex.FindAllString(updateMatches[i], -1)...)
|
||||||
|
}
|
||||||
|
if len(rule) > 0 {
|
||||||
|
rules = append(rules, rule)
|
||||||
|
}
|
||||||
|
if len(update) > 0 {
|
||||||
|
updates = append(updates, update)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
validUpdates := [][]string{}
|
||||||
|
invalidUpdates := [][]string{}
|
||||||
|
for i := range updates {
|
||||||
|
if isValid(updates[i], rules) {
|
||||||
|
validUpdates = append(validUpdates, updates[i])
|
||||||
|
} else {
|
||||||
|
valid:=makeValid(updates[i], rules)
|
||||||
|
invalidUpdates = append(invalidUpdates, valid)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
validScore := calcScore(validUpdates)
|
||||||
|
fmt.Println("Score of valid updates: ", validScore)
|
||||||
|
invalidScore := calcScore(invalidUpdates)
|
||||||
|
fmt.Println(invalidScore)
|
||||||
|
}
|
||||||
80
5/main.go.BAK
Normal file
80
5/main.go.BAK
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"regexp"
|
||||||
|
"strconv"
|
||||||
|
)
|
||||||
|
|
||||||
|
func calcScore(s [][]string) int {
|
||||||
|
result := 0
|
||||||
|
for i := range s {
|
||||||
|
if len(s[i]) % 2 == 0 {
|
||||||
|
fmt.Println("The following valid update has an even length, so cannot calculate the middle page: ", s[i])
|
||||||
|
} else {
|
||||||
|
middle := (len(s[i]) + 1) / 2
|
||||||
|
middlePage, _ := strconv.Atoi(s[i][middle - 1])
|
||||||
|
result = result + middlePage
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
file, _ := os.Open("test")
|
||||||
|
defer file.Close()
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
rule := regexp.MustCompile(`[0-9]+\|[0-9]+`)
|
||||||
|
update := regexp.MustCompile(`^(\d+(,\d+)*)$`)
|
||||||
|
rules := []string{}
|
||||||
|
updates := []string{}
|
||||||
|
for scanner.Scan() {
|
||||||
|
line := scanner.Text()
|
||||||
|
ruleMatches := rule.FindAllString(line, -1)
|
||||||
|
updateMatches := update.FindAllString(line, -1)
|
||||||
|
rules = append(rules, ruleMatches...)
|
||||||
|
updates = append(updates, updateMatches...)
|
||||||
|
}
|
||||||
|
// fmt.Println("Rules: ", rules[0])
|
||||||
|
// fmt.Println("Updates: ", updates[0])
|
||||||
|
number := regexp.MustCompile(`[0-9]+`)
|
||||||
|
validUpdates := [][]string{}
|
||||||
|
invalidUpdates := [][]string{}
|
||||||
|
for i := range updates { //FOR EACH UPDATE
|
||||||
|
validUpdate := true
|
||||||
|
updateNumbers := number.FindAllString(updates[i], -1)
|
||||||
|
for j:=1; j<len(updateNumbers); j++ { //FOR EACH NUMBER OF THE UPDATE
|
||||||
|
for k := range rules { //FOR EACH RULE
|
||||||
|
ruleNumbers := number.FindAllString(rules[k], -1)
|
||||||
|
if updateNumbers[j] != ruleNumbers[0] {
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
for l:=0; l<j; l++ { //FOR EACH NUMBER UNTIL THIS ONE IN THE REPORT
|
||||||
|
if updateNumbers[l] == ruleNumbers[1] {
|
||||||
|
validUpdate = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if validUpdate == false {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if validUpdate {
|
||||||
|
validUpdates = append(validUpdates, updateNumbers)
|
||||||
|
} else {
|
||||||
|
invalidUpdates = append(invalidUpdates, updateNumbers)
|
||||||
|
}
|
||||||
|
// fmt.Println("Update numbers: ", updateNumbers)
|
||||||
|
// fmt.Println("updateNumbers length:", len(updateNumbers))
|
||||||
|
}
|
||||||
|
// fmt.Println("Valid Updates: ", validUpdates)
|
||||||
|
// fmt.Println("Valid updates number: ", len(validUpdates))
|
||||||
|
result := calcScore(validUpdates)
|
||||||
|
fmt.Println("Valid updates: ", validUpdates)
|
||||||
|
fmt.Println("Invalid updates: ", invalidUpdates)
|
||||||
|
fmt.Println("Result: ", result)
|
||||||
|
}
|
||||||
28
5/test
Normal file
28
5/test
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
47|53
|
||||||
|
97|13
|
||||||
|
97|61
|
||||||
|
97|47
|
||||||
|
75|29
|
||||||
|
61|13
|
||||||
|
75|53
|
||||||
|
29|13
|
||||||
|
97|29
|
||||||
|
53|29
|
||||||
|
61|53
|
||||||
|
97|53
|
||||||
|
61|29
|
||||||
|
47|13
|
||||||
|
75|47
|
||||||
|
97|75
|
||||||
|
47|61
|
||||||
|
75|61
|
||||||
|
47|29
|
||||||
|
75|13
|
||||||
|
53|13
|
||||||
|
|
||||||
|
75,47,61,53,29
|
||||||
|
97,61,53,29,13
|
||||||
|
75,29,13
|
||||||
|
75,97,47,61,53
|
||||||
|
61,13,29
|
||||||
|
97,13,75,29,47
|
||||||
130
6/input
Normal file
130
6/input
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
......#...........#..............................#..............................#...........................##...............#....
|
||||||
|
.............#..............#........#......##...................................................#............##...#..........#...
|
||||||
|
...#..................#..............#.........#...#.........................................................................#..#.
|
||||||
|
.....#..........#...................#.....................#..........#...........#......#..#...................#..................
|
||||||
|
...#...............................................##..................#............#.....#...................#...................
|
||||||
|
.#.#..#...................#.##.................#..........#................................#......#.........##..................#.
|
||||||
|
....................#...................#....#.........#....................#....................................................#
|
||||||
|
..........#......#...................................................................................................#....#.......
|
||||||
|
.#...............#.........#...........#...............#...................#......#...............................................
|
||||||
|
............#...........#........#..##.......#........#.....#................................##...................................
|
||||||
|
...................#.#.............###.................##.................#.......................#.....#..............##.........
|
||||||
|
.........................#...#............................#......#.......................#........................................
|
||||||
|
.....................#..............................................#.......#......##......................................#......
|
||||||
|
............................#.#............................................................................#.................#....
|
||||||
|
.#.....#.......................................................#..........#.......................................................
|
||||||
|
..............#..............................#.....#....#........#....................#....#.#...........#.#..................#...
|
||||||
|
........................#...#...##......#...........................#.............#............................#..................
|
||||||
|
...#........................................................#...#...........................#...#...............#........#........
|
||||||
|
.........#..#..........#.....................................#..................................................................#.
|
||||||
|
...........................................#.........#....#........................................#..#...........#...............
|
||||||
|
..#..........#...........................................................................................#..............#.........
|
||||||
|
...#.......#......................................#...............#...............................................................
|
||||||
|
.#........#......#.#....................................#...#...........#..........#........#.#.......#.......................#...
|
||||||
|
......................#...........#......##....................#..................#......#..............................#.......#.
|
||||||
|
..............#......................#..............#...#.#............................................................#.#........
|
||||||
|
..............#..................#...#..................#...#.....#...#...............#...........................................
|
||||||
|
.............#............................##..#...#...............................................................##..............
|
||||||
|
..#............................#.......#.#....................................#...................................................
|
||||||
|
.......#.....#..........#......#.....#...................................#...........................#......#....#..............#.
|
||||||
|
.#.................#.............................................#................#.............#.....#....................#......
|
||||||
|
..............#.........#..#.....#...........#..............................#.................................#............#......
|
||||||
|
....#.#............#............................................................#..........#......................................
|
||||||
|
.........................................#.......#......#....................................#.....................#...#......#...
|
||||||
|
....#.............................#....................................#..........#................................#..............
|
||||||
|
.........#..#......#..............................................................#....................#..........................
|
||||||
|
.......................................................##...#........#......................................................#.#..#
|
||||||
|
..........................#.......##..##................................................................................#.........
|
||||||
|
..................................##..................................................................#..........................#
|
||||||
|
.#..................................................#..............#.....................#.....#..................................
|
||||||
|
.......##........................#......................................................#..........#..............................
|
||||||
|
.........#....#....#.........#.#........................#...#.....................................................#.....#.........
|
||||||
|
....#.............................#....#....................#.....................#.....#......#.....................#..........#.
|
||||||
|
............................................................................................#..........#......#...................
|
||||||
|
..................................................................................#..........................#.#.....#.........#..
|
||||||
|
..................................................#...................................................#......#.....#............#.
|
||||||
|
..........................................^#................................................................................#.....
|
||||||
|
...............#..........#.............................................#.....#....#...................#................#.........
|
||||||
|
#..#....#........#........#.........#.......#.................#.......................#.#.............#...................#.......
|
||||||
|
..#................................................................#......................................#.......................
|
||||||
|
........#......................#.....................##.#..........#.............................#.............................#..
|
||||||
|
....#..........#........................#.........................................................................................
|
||||||
|
......#...#.#.#.........#.................#.....#.....#...#......#..................................................##........#...
|
||||||
|
...#....#....................#...................................................................#......#...............#.........
|
||||||
|
..#.......#.........................#..........#........#............................#......#....................#................
|
||||||
|
.................................#.......................................#....................................................#..#
|
||||||
|
......................#...#........................#.......................#.............#........................................
|
||||||
|
......#.......#...................................................................................................#...............
|
||||||
|
.............#............#......#............................#...........................................##......................
|
||||||
|
..........................#.....................................................................................#.................
|
||||||
|
....#..............................#......................#........................................#....#...........#.............
|
||||||
|
................#.......#.........................................................................................................
|
||||||
|
.............#............#........#.....#.........#.#.#............................#..........#..............#....#.......#.....#
|
||||||
|
..#.....#...............................................................................................#...............#.........
|
||||||
|
.......#...........#............#................#.......................................#..........................#......#......
|
||||||
|
..........#........................................#......................#............#....................................#..#..
|
||||||
|
.......#......#..............................#........................................................#.#.................#.......
|
||||||
|
.#.................#..#.....................................................................................#...........##........
|
||||||
|
#...................................#........................................#..............#.##........#..#.#.............#......
|
||||||
|
......#...............#........#....#.........#.........#...#.......................#...........................#............#....
|
||||||
|
...#...................................................................................#.......................................#..
|
||||||
|
.....#.......................................#................#...............................................................#...
|
||||||
|
.#................................................##................................#....................#...............#........
|
||||||
|
.................................................#..#..................#.......#........................#...............#.....#...
|
||||||
|
.....##.#.............................#.....................#................................................................#...#
|
||||||
|
...........#....................#...........#...............#.................................................#.......#.......#..#
|
||||||
|
........#....................................................#.....#....#.........................................#.....#.#.......
|
||||||
|
...............#..........................#............#.#.................................................#......................
|
||||||
|
...........#......#.....................#...................................................................#.#..............#....
|
||||||
|
......#...#.........................#..........................................................#..................................
|
||||||
|
.....................#................................................#..#........................................................
|
||||||
|
..............#.................#............#....................#.#.......................................#............#........
|
||||||
|
............#.....................#................#......#..........................#.#.........#............#...................
|
||||||
|
........................................................................#.....................#...................................
|
||||||
|
.............................#....................................................................................................
|
||||||
|
.........................#...#..........................................#............................................#............
|
||||||
|
..#...............................#.....#.....#.............#.......#..#.................##.#.......................#.........#.#.
|
||||||
|
......................................#...........................................................................................
|
||||||
|
...........#.....................................#................#...#.........................#........................#........
|
||||||
|
..#...#..#..........................#.......#....#......................................................#................#........
|
||||||
|
.....................................#...#.#........#...............#..#......#.....................................#...#.........
|
||||||
|
.#..............#..............................................................#.........................##......................#
|
||||||
|
..........#..................................#....#.........#...#.#..........#...#...................................##...........
|
||||||
|
...............#.....................................................................................................#............
|
||||||
|
.#.......#....................#...#..........................#.#...............#......................#........#.................#
|
||||||
|
.............#....................#........................#..................#......#....#....#..................................
|
||||||
|
........#..............................................................#.....................#....................................
|
||||||
|
.......................#..............#.............#......#.........................................#.........................#..
|
||||||
|
.......#.......#.#........#.......................#..#.......................................................#.#..................
|
||||||
|
...............#..#....#.......................#.....#..............................#..................#.....................#....
|
||||||
|
......#..............#...........................#............................##...........................#......................
|
||||||
|
.......................................#........#................................#..........................#.....................
|
||||||
|
.#.....................................#............#.............................................................#..#............
|
||||||
|
..................#..................#.........................#............#..........#.........................#...#............
|
||||||
|
.......................................................#..............#..........................................................#
|
||||||
|
...#....#..#...#..#...................##....................#.....................#...................#.....#..........#..........
|
||||||
|
.......................#........#....................##.................#.......................................................#.
|
||||||
|
........#.......#.......................#.#......##...##........#..##.........................................#...............##..
|
||||||
|
....#..........................#.........##..#......#...........................#........#........#...#...........................
|
||||||
|
...#..........................#.....#.....................................#.......................................................
|
||||||
|
....................................##.......#..............................#.............#...#......#.............#..............
|
||||||
|
.#..............................#...............................................................................................#.
|
||||||
|
.....#................................................................................##.....#..............#.#...................
|
||||||
|
...........................................................................................#....#................#................
|
||||||
|
...#..#...................................................#....#.......#.......#.................................#........#.......
|
||||||
|
.#....#....................#..............................................................................#.............#.......#.
|
||||||
|
.........#.................#.......................................#...........#......#.......#............#............#.........
|
||||||
|
........................................#...............................#.........................................................
|
||||||
|
..............#....#......................#..........#........#.....................................#...........#..........#......
|
||||||
|
......##....#.............#..........#......................#.........................................##..........................
|
||||||
|
....................#.............................#.....................##.#..........#..#......................###.........#.....
|
||||||
|
.#.......................................##........................#.....#.....#..#...............................................
|
||||||
|
..............................#............................#.......................................................##.............
|
||||||
|
.........#.............................#..............#......#.....#..............#.#............................#........#....#..
|
||||||
|
............#..............#.............................#..........................#.............................#...............
|
||||||
|
.................#...........#..............#.....#..............................#.............#................#.....#...........
|
||||||
|
........#.....................#........#.....................................#..........................#......#.#................
|
||||||
|
.....................................................#..#........................#.##..#.........#................................
|
||||||
|
......#..............................................#..........................#...............................#..........#......
|
||||||
|
.................................................#.................##.......................#...................................#.
|
||||||
|
....................#.....#.......#.............#................................#..........#...#.................................
|
||||||
160
6/main.go
Normal file
160
6/main.go
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func findPosition(layout [][]string) []int {
|
||||||
|
position := []int{}
|
||||||
|
for i := range layout {
|
||||||
|
for j := range layout[i] {
|
||||||
|
if layout[i][j] == "^" {
|
||||||
|
position = append(position, i, j)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return position
|
||||||
|
}
|
||||||
|
|
||||||
|
func findObstacles(layout [][]string) [][]int {
|
||||||
|
positions := [][]int{}
|
||||||
|
for i := range layout {
|
||||||
|
for j := range layout[i] {
|
||||||
|
if layout[i][j] == "#" {
|
||||||
|
positions = append(positions, []int{i,j})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return positions
|
||||||
|
}
|
||||||
|
|
||||||
|
func calcPath(layout [][]string) ([][]int, bool) {
|
||||||
|
circle := false
|
||||||
|
direction := "up"
|
||||||
|
guardPosition:=findPosition(layout)
|
||||||
|
inBound := true
|
||||||
|
currentPosition := guardPosition
|
||||||
|
path := [][]int{currentPosition}
|
||||||
|
for inBound && !circle {
|
||||||
|
if direction == "up" {
|
||||||
|
if currentPosition[0] == 0 {
|
||||||
|
inBound = false
|
||||||
|
break
|
||||||
|
} else if layout[currentPosition[0]-1][currentPosition[1]] == "#" {
|
||||||
|
direction = "right"
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
currentPosition = []int{currentPosition[0]-1, currentPosition[1]}
|
||||||
|
if checkCircle(path, currentPosition) {
|
||||||
|
circle = true
|
||||||
|
} else {
|
||||||
|
path = append(path, currentPosition)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if direction == "right" {
|
||||||
|
if currentPosition[1] == len(layout)-1 {
|
||||||
|
inBound = false
|
||||||
|
break
|
||||||
|
} else if layout[currentPosition[0]][currentPosition[1]+1] == "#" {
|
||||||
|
direction = "down"
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
currentPosition = []int{currentPosition[0], currentPosition[1]+1}
|
||||||
|
if checkCircle(path, currentPosition) {
|
||||||
|
circle = true
|
||||||
|
} else {
|
||||||
|
path = append(path, currentPosition)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if direction == "down" {
|
||||||
|
if currentPosition[0] == len(layout)-1 {
|
||||||
|
inBound = false
|
||||||
|
break
|
||||||
|
} else if layout[currentPosition[0]+1][currentPosition[1]] == "#" {
|
||||||
|
direction = "left"
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
currentPosition = []int{currentPosition[0]+1, currentPosition[1]}
|
||||||
|
if checkCircle(path, currentPosition) {
|
||||||
|
circle = true
|
||||||
|
} else {
|
||||||
|
path = append(path, currentPosition)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if direction == "left" {
|
||||||
|
if currentPosition[1] == 0 {
|
||||||
|
inBound = false
|
||||||
|
break
|
||||||
|
} else if layout[currentPosition[0]][currentPosition[1]-1] == "#" {
|
||||||
|
direction = "up"
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
currentPosition = []int{currentPosition[0], currentPosition[1]-1}
|
||||||
|
if checkCircle(path, currentPosition) {
|
||||||
|
circle = true
|
||||||
|
} else {
|
||||||
|
path = append(path, currentPosition)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return path, circle
|
||||||
|
}
|
||||||
|
|
||||||
|
func checkCircle(path [][]int, position []int) bool {
|
||||||
|
result := false
|
||||||
|
for i:=1;i<len(path);i++ {
|
||||||
|
if path[i][0] == position[0] && path[i][1] == position[1] {
|
||||||
|
if i < len(path)-1 && path[i-1][0] == path[len(path)-1][0] && path[i-1][1] == path[len(path)-1][1] {
|
||||||
|
result = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
file, _ := os.Open("input")
|
||||||
|
defer file.Close()
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
layout := [][]string{}
|
||||||
|
for scanner.Scan() {
|
||||||
|
line := scanner.Text()
|
||||||
|
layout = append(layout, strings.Split(line, ""))
|
||||||
|
}
|
||||||
|
// fmt.Println(path)
|
||||||
|
// fmt.Println(len(path))
|
||||||
|
path, _ := calcPath(layout)
|
||||||
|
pathOccurances := make(map[[2]int]int)
|
||||||
|
for _, tuple := range path {
|
||||||
|
key := [2]int{tuple[0],tuple[1]}
|
||||||
|
pathOccurances[key]++
|
||||||
|
}
|
||||||
|
fmt.Println(len(pathOccurances))
|
||||||
|
circleSpots := [][]int{}
|
||||||
|
for i:=1;i<len(path);i++ {
|
||||||
|
if path[i][0] == path[0][0] && path[i][1] == path[0][1] {
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
tempValue := layout[path[i][0]][path[i][1]]
|
||||||
|
layout[path[i][0]][path[i][1]] = "#"
|
||||||
|
_, circle := calcPath(layout)
|
||||||
|
if circle {
|
||||||
|
circleSpots = append(circleSpots, path[i])
|
||||||
|
}
|
||||||
|
layout[path[i][0]][path[i][1]] = tempValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
uniqueCircles := make(map[[2]int]int)
|
||||||
|
for _, tuple := range circleSpots {
|
||||||
|
key := [2]int{tuple[0],tuple[1]}
|
||||||
|
uniqueCircles[key]++
|
||||||
|
}
|
||||||
|
fmt.Println(len(uniqueCircles))
|
||||||
|
}
|
||||||
10
6/test
Normal file
10
6/test
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
....#.....
|
||||||
|
.........#
|
||||||
|
..........
|
||||||
|
..#.......
|
||||||
|
.......#..
|
||||||
|
..........
|
||||||
|
.#..^.....
|
||||||
|
........#.
|
||||||
|
#.........
|
||||||
|
......#...
|
||||||
850
7/input
Normal file
850
7/input
Normal file
@@ -0,0 +1,850 @@
|
|||||||
|
5055314034: 10 1 489 35 44 14 16 4
|
||||||
|
108773: 18 1 121 2 6 38
|
||||||
|
22175: 1 73 45 2 35 5
|
||||||
|
4076637638: 338 1 6 1 191 7 3 4 34 4
|
||||||
|
479231839: 9 7 73 1 6 4 7 8 581 7 2 8
|
||||||
|
161312232: 761 852 11 4 8 28 6
|
||||||
|
6760600000: 220 40 7 5 878 25
|
||||||
|
601121975: 608 91 53 5 5 53 649
|
||||||
|
761: 79 2 6 558 42
|
||||||
|
84130: 65 90 8 6 9
|
||||||
|
52590888326: 7 3 9 3 8 543 1 673 8 4
|
||||||
|
21603: 9 80 3 1
|
||||||
|
6498240: 9 6 7 32 210
|
||||||
|
2420318475: 8 413 85 167 5 81
|
||||||
|
6368572316: 885 2 2 599 5 1 6 6 6 5 9
|
||||||
|
23428423: 870 8 1 308 581 5 34 9
|
||||||
|
17387502: 1 8 50 1 76 67 395
|
||||||
|
16073047995028: 9 8 2 6 2 282 5 507 954
|
||||||
|
1527631: 2 8 95 6 8 8 152 6 1 9 5 8
|
||||||
|
90086454: 32 593 2 1 4 1 6 4 6 45 7
|
||||||
|
516078606614: 8 60 6 7 860 59 7 14
|
||||||
|
145962: 2 86 847 269 3 6
|
||||||
|
81188: 9 8 7 3 386 37 82 2 8
|
||||||
|
159171: 50 1 764 817 12 4
|
||||||
|
9440342478: 866 326 50 499 67
|
||||||
|
177118: 77 846 845 3 18
|
||||||
|
389593323: 41 95 2 3 62 46 6 780 3
|
||||||
|
2318793: 3 74 9 8 792
|
||||||
|
6077575: 421 4 6 84 17 7
|
||||||
|
1513923281: 760 3 166 82 4 1
|
||||||
|
1368574: 950 17 520 460 2 534
|
||||||
|
2602638433: 6 506 58 1 346 262 4
|
||||||
|
324285404: 7 4 1 6 6 443 3 4 6 41 1 4
|
||||||
|
123419188: 831 275 4 1 8 9 7 9 5 6
|
||||||
|
7639222: 3 2 1 50 4 9 823 98 1 2 8
|
||||||
|
2165757141719: 93 575 4 8 498 81 5 5 6
|
||||||
|
32949456: 7 6 1 1 338 31 9 6 958 7
|
||||||
|
373015448: 7 1 8 86 146 2 8 6 545 5
|
||||||
|
58401: 50 1 74 9 7 3 672 7 59
|
||||||
|
321369974958: 3 5 380 7 3 3 2 5 801 3 9
|
||||||
|
1654884263287: 398 42 99 1 72 91 287
|
||||||
|
1497933556: 4 89 6 2 41 8 5 558
|
||||||
|
14538726514: 726 8 658 699 6 2 514
|
||||||
|
653959328: 63 519 95 2 3 27
|
||||||
|
12554226440: 8 4 46 8 8 912 828 58 7
|
||||||
|
24068829: 2 1 7 9 8 6 3 14 33 6 6 1
|
||||||
|
13716449: 1 37 16 449
|
||||||
|
70300416144: 1 9 61 300 406 2 8 1 44
|
||||||
|
12041328: 60 3 4 839 78
|
||||||
|
179748877650: 179 2 5 4 881 6 76 49
|
||||||
|
22666025380: 4 230 3 54 99 96 456 4
|
||||||
|
74741534: 747 4 14 33 40 61
|
||||||
|
194212880: 97 2 201 7 4 8 1 98 7 8 2
|
||||||
|
534529044: 7 7 673 8 4 680 7 9 28 9
|
||||||
|
688: 4 5 5 23 6
|
||||||
|
256747454: 8 3 6 9 9 3 76 266 9 5 2
|
||||||
|
61497991: 52 29 759 18 993
|
||||||
|
8046070: 4 35 2 833 36 70
|
||||||
|
19899933: 6 23 801 6 5 94 4 5 3 2 3
|
||||||
|
175019472155: 9 4 84 444 214 25 5 30
|
||||||
|
122: 2 12 8 5 5
|
||||||
|
7716862272: 8 6 1 9 1 9 782 49 8 4 3 7
|
||||||
|
292572: 7 3 314 36 21 1
|
||||||
|
9265739: 181 9 828 7 5 8 5 1 38 9
|
||||||
|
38166224456: 8 55 930 6 995 144 54
|
||||||
|
10633: 461 77 9 972 7
|
||||||
|
11448249: 11 359 89 2 51
|
||||||
|
6409: 3 2 5 6 252 8 4 3 352 3
|
||||||
|
144060624: 7 3 34 1 601 1 27 907 6
|
||||||
|
29213: 97 1 3 8 6
|
||||||
|
61614560278: 23 4 758 900 98 35 8
|
||||||
|
701009838: 786 93 959 2 13
|
||||||
|
170675: 51 1 4 446 34 27 6 5
|
||||||
|
3590981856: 2 6 77 7 3 6 6 12 99 77 7
|
||||||
|
159313258080: 20 933 158 9 79 76
|
||||||
|
13950095: 620 774 482 3 524 5
|
||||||
|
19276100: 3 828 1 95 773 519 53
|
||||||
|
91701711135: 58 300 704 2 527
|
||||||
|
19037065502: 29 69 9 1 90 5 46 955 9
|
||||||
|
4796722: 841 57 30 1 9
|
||||||
|
6491761244154: 9 689 19 5 83 5 68 67
|
||||||
|
2288734074: 3 20 351 81 11 35 7 2
|
||||||
|
51: 1 7 3
|
||||||
|
6703: 5 19 2 7 6 3 8 6 3 678 3 7
|
||||||
|
55285: 7 151 96 43 5 673
|
||||||
|
1345: 20 5 4 13 323 2
|
||||||
|
648683: 90 9 85 8
|
||||||
|
647351437: 1 79 2 8 7 568 12 2 3 5
|
||||||
|
496420640: 9 34 69 9 710 2 8
|
||||||
|
17707: 78 98 93 7 7
|
||||||
|
1322647: 1 6 4 7 4 2 8 8 9 8 50 283
|
||||||
|
13373109: 2 771 1 865 1 9 5 5 2 5 4
|
||||||
|
1771452188: 17 714 52 1 86
|
||||||
|
3876558518158: 3 6 5 6 9 2 3 4 271 5 53 8
|
||||||
|
121216672: 3 2 8 3 7 6 57 8 4 4 8 674
|
||||||
|
99709866569: 778 9 7 32 42 664 4 7
|
||||||
|
8132: 61 12 84 5 743
|
||||||
|
181628139355: 3 48 7 9 3 5 475 41 5 7 4
|
||||||
|
8137536: 2 3 5 7 8 3 7 31 7 2 6 9
|
||||||
|
125320123: 16 7 7 13 96 372 8 123
|
||||||
|
3928122: 7 3 5 97 4 4 6 389
|
||||||
|
16010345: 8 25 8 95 1 5 590 230 9
|
||||||
|
353033: 6 434 5 80 633
|
||||||
|
662454: 882 6 7 3 402 3 28 26
|
||||||
|
4623860913: 6 6 8 6 2 49 8 3 2 8 4 982
|
||||||
|
6223012578846: 70 889 125 788 46
|
||||||
|
1233252: 8 6 5 9 3 804 2 9 213 8 9
|
||||||
|
6377598: 7 5 7 11 692 3 2 9 3 1 2 6
|
||||||
|
851215538888: 9 5 4 7 4 1 9 42 8 2 890
|
||||||
|
652063806: 26 4 21 8 1 6 2 49 8 3 5 8
|
||||||
|
569651493608: 626 5 17 9 531 3 607 2
|
||||||
|
109564049: 5 4 4 2 622 5 501 5 50 1
|
||||||
|
108244890: 920 181 7 3 6 65
|
||||||
|
3064775: 6 3 1 7 1 6 7 9 65 9 581 5
|
||||||
|
2168098354: 4 479 73 6 40 4 29 53 6
|
||||||
|
2213354545: 9 1 212 335 38 87 656
|
||||||
|
113305647: 83 1 93 9 5 36 4 8 3
|
||||||
|
3648621: 45 2 9 6 4 3 4 1 76 1 7 6
|
||||||
|
39788761: 3 631 52 58 75 8
|
||||||
|
37988340: 996 882 389 3 52
|
||||||
|
105593616: 3 9 2 2 9 196 1 815 57 3
|
||||||
|
34732786878: 391 3 6 907 6 88 1
|
||||||
|
432317883: 273 791 11 182
|
||||||
|
485351797: 58 4 76 83 9 96
|
||||||
|
75514220688: 839 90 4 220 688
|
||||||
|
8989734402: 89 81 8 734 400 2
|
||||||
|
1560183: 7 48 54 4 1 84 1
|
||||||
|
1639799045: 116 589 8 9 2 5 3 8 8
|
||||||
|
52538: 29 78 3 736 62 86
|
||||||
|
943: 726 6 206 5 3
|
||||||
|
426657: 5 53 7 230 7
|
||||||
|
34098: 40 841 1 3 6 441 7
|
||||||
|
987900367: 6 4 6 8 98 8 2 6 36 4 1 3
|
||||||
|
3240: 7 2 16 6 9 81
|
||||||
|
167040619026129: 8 5 537 764 5 9 479 2 9
|
||||||
|
21896: 19 4 6 4 86 184
|
||||||
|
473: 364 1 95 7 6
|
||||||
|
231: 5 8 191
|
||||||
|
4095: 7 571 9 8 81
|
||||||
|
40921600: 20 37 92 816 4 50
|
||||||
|
39353184077: 99 835 3 9 1 585 8 79
|
||||||
|
224194610985: 9 552 4 190 3 999 2 9 2
|
||||||
|
81804625: 8 79 5 93 27 84 27
|
||||||
|
146: 9 6 8 15 9
|
||||||
|
793655568: 491 449 8 8 9 4
|
||||||
|
83314065: 462 8 559 18 6
|
||||||
|
364726: 40 87 27 26 4
|
||||||
|
1678449: 176 3 952 73
|
||||||
|
2423015: 5 76 99 6 8 8 501 3 8
|
||||||
|
171837368646: 94 1 609 33 1 3 68 648
|
||||||
|
686498: 8 8 78 95 2
|
||||||
|
504336092: 5 945 553 30 4 2 9 9 5 4
|
||||||
|
73304: 12 736 98
|
||||||
|
3458989639: 4 6 3 61 7 95 6 50 463 9
|
||||||
|
182: 1 4 90 83 5
|
||||||
|
2487563: 78 1 992 61 23 45
|
||||||
|
13836888716: 772 7 1 8 272 5 8 4 8 68
|
||||||
|
6288370: 29 7 180 77 7 137 207
|
||||||
|
10944097534206: 1 673 409 408 9 2 327
|
||||||
|
1195444320: 92 7 998 6 310
|
||||||
|
27360851258: 66 6 9 9 4 2 5 8 51 258
|
||||||
|
6317930: 986 63 70 9 982 30
|
||||||
|
68190208: 29 918 40 576 8 8 8 8
|
||||||
|
21470713: 1 7 2 3 200 5 2 11 359
|
||||||
|
309386: 3 72 3 1 6 41
|
||||||
|
88555437: 72 696 19 81 93
|
||||||
|
692826037754: 766 4 663 899 5 2 54
|
||||||
|
88288240327202: 6 6 65 539 57 61 7 20 4
|
||||||
|
6481223: 646 9 9 3 145 4 72
|
||||||
|
37018831358: 671 7 6 91 31 358
|
||||||
|
185508656: 2 14 9 371 4 14 5 93 1 4
|
||||||
|
60076539: 4 150 760 39 3 491 5
|
||||||
|
349331: 2 3 27 317 329
|
||||||
|
6527: 7 1 7 4 7 5 5 2 6 50 1 54
|
||||||
|
582802573: 321 516 6 284 2 245
|
||||||
|
12151573: 5 92 44 3 9 663 551 9 6
|
||||||
|
3265154989: 777 408 9 8 7 2 36 2 3 4
|
||||||
|
516041069541: 8 2 4 17 72 7 7 1 546 4
|
||||||
|
1695: 7 5 327 5
|
||||||
|
17171: 163 5 52 321
|
||||||
|
177861: 4 94 120 6 3
|
||||||
|
17432592: 9 870 573 716 12
|
||||||
|
420355623360: 1 213 7 23 98 19 33 61
|
||||||
|
572193: 9 26 3 902 655 6
|
||||||
|
417217: 46 2 27 2 58 83 4 55
|
||||||
|
2061628: 474 8 2 3 656 978 4
|
||||||
|
546001430: 6 8 391 637 8 80 22 65
|
||||||
|
281028055: 3 35 9 3 9 9 8 8 48 33 55
|
||||||
|
33580: 33 5 68 6 6
|
||||||
|
723642076: 467 7 973 2 8 412 5 18
|
||||||
|
47287138632892: 72 749 4 4 405 65 3 90
|
||||||
|
227860: 37 9 61 6 92 1 4
|
||||||
|
6571872443: 543 121 9 148 2 443
|
||||||
|
741867: 5 21 9 81 7
|
||||||
|
177518571: 8 53 611 1 6 17 862 5 3
|
||||||
|
3596: 44 299 7 78 79
|
||||||
|
360138: 9 4 1 665 1 2 497 42 3 9
|
||||||
|
42509: 23 495 82 6 27
|
||||||
|
28260834920: 785 36 834 79 7 5 118
|
||||||
|
263067760: 515 714 40 65 85 6 70
|
||||||
|
256447296093: 860 200 7 35 864 4 9 2
|
||||||
|
246840600711: 53 3 735 350 92 3 712
|
||||||
|
13192021941: 409 7 68 56 9 388 5
|
||||||
|
15576: 7 40 7 3 3 378 8 390 4
|
||||||
|
2189253: 46 8 73 4 53
|
||||||
|
1816444120: 605 4 6 3 6 3 4 2 4 1 2 10
|
||||||
|
46744143989399: 4 6 74 414 3 98 7 2 399
|
||||||
|
1255715008872: 9 872 2 3 5 8 69 7 8 87 2
|
||||||
|
118404: 885 12 941 279 4
|
||||||
|
404222: 1 9 5 389 2 21
|
||||||
|
154879: 1 580 72 79 39 3
|
||||||
|
3359259415: 646 26 29 7 2 15
|
||||||
|
4538379: 3 8 529 233 8 4 513
|
||||||
|
915: 4 1 640 5 265
|
||||||
|
581101: 978 3 2 99 8 161
|
||||||
|
83836120: 20 94 50 94 41 2 72 8
|
||||||
|
2033775: 38 539 61 99 9 9
|
||||||
|
692410: 692 3 60 48 5
|
||||||
|
194576: 304 4 8 8 2
|
||||||
|
620550: 2 5 5 8 64 9 3 562 9 7
|
||||||
|
7624704956: 3 93 64 264 8 96 958
|
||||||
|
964319157: 147 3 78 35 74 84
|
||||||
|
627487938: 8 2 7 641 7 938
|
||||||
|
162785716: 37 6 6 3 7 6 3 9 1 4
|
||||||
|
9445586101: 6 8 8 3 35 45 7 6 6 4 102
|
||||||
|
539240: 9 21 9 7 65
|
||||||
|
389898820815: 8 5 538 4 6 3 4 3 601 8 7
|
||||||
|
10363: 42 856 6 132 1
|
||||||
|
1039848290: 6 3 26 781 102 1 11
|
||||||
|
140532: 193 151 13 8 8 574 6
|
||||||
|
5068: 15 1 7 44 25 423
|
||||||
|
15985935: 81 8 3 1 9 665
|
||||||
|
1041709883: 4 795 8 7 1 7 2 2 9 6 646
|
||||||
|
1432651301: 102 194 724 99 4
|
||||||
|
4878: 7 114 523 99 5 6 390
|
||||||
|
4181369637: 4 79 43 880 203
|
||||||
|
31575685: 4 6 304 7 3 9 3 2 965 8 5
|
||||||
|
3622: 3 61 3 1 9
|
||||||
|
982: 99 93 791
|
||||||
|
27390952984: 22 67 5 5 7 944 980 6 4
|
||||||
|
184342: 71 88 25 329 14
|
||||||
|
3392818: 467 24 691 7
|
||||||
|
10248050597: 2 7 1 5 1 45 2 66 724 9 5
|
||||||
|
53172521: 870 10 4 61 781 19
|
||||||
|
11304: 98 3 4 80 9
|
||||||
|
104258902: 7 7 4 463 7 484 5 82 2 2
|
||||||
|
5613: 6 19 1 22 117
|
||||||
|
1148356567: 7 8 274 662 2 745 6 6 6
|
||||||
|
4084: 5 67 16 7 3
|
||||||
|
124533: 9 6 5 59 14 2 3 5 8 3 3
|
||||||
|
2057435762: 74 7 94 74 7 571
|
||||||
|
6509263: 62 563 280 871 55 37
|
||||||
|
264982: 325 1 8 42 7 6 2 10
|
||||||
|
50343: 2 2 44 52 5
|
||||||
|
28924499: 59 49 84 60 98
|
||||||
|
8914562171: 6 1 9 9 6 160 5 16 7 3
|
||||||
|
3969876: 62 8 8 867 946 63
|
||||||
|
577332: 774 4 492 70 812
|
||||||
|
7380856: 38 3 30 6 856
|
||||||
|
159862230: 2 2 8 2 71 46 3 343 7 5 9
|
||||||
|
103487100: 2 49 51 41 2 977 483 3
|
||||||
|
2547882725245: 483 5 1 4 145 8 9 524 3
|
||||||
|
1387400184215: 13 874 100 184 212
|
||||||
|
10146850566: 241 7 6 2 77 9 6 10 82 6
|
||||||
|
471205560: 7 89 164 40 49
|
||||||
|
304928495: 6 813 7 372 95
|
||||||
|
5476: 67 4 35 39 4 1 4
|
||||||
|
437171: 261 58 370 634 345
|
||||||
|
1544843589: 1 544 4 4 3 7 5 9 4 5 645
|
||||||
|
1148401434: 3 31 77 3 33 133 9 95
|
||||||
|
67822: 73 5 19 8 344 4 91 479
|
||||||
|
3534850086174: 72 243 233 3 8 5 739 7
|
||||||
|
479471892: 9 97 355 61 9
|
||||||
|
1858976: 592 4 608 4 386
|
||||||
|
200176098: 85 894 7 6 439
|
||||||
|
17579: 9 8 3 58 1 3
|
||||||
|
36768: 8 3 60 86 4 16 8 6
|
||||||
|
9500988: 579 1 780 28 21
|
||||||
|
1156896: 48 241 1 8 8
|
||||||
|
66078: 83 79 6 2 440 6
|
||||||
|
37342237806: 957 922 441 14 8 423
|
||||||
|
2135507316: 3 130 68 703 5 2 7 314
|
||||||
|
24622848: 3 206 2 2 384
|
||||||
|
517132446: 5 2 518 7 8 9 7 687 6 4 1
|
||||||
|
26297215017: 1 5 41 4 658 7 5 386 1 9
|
||||||
|
11323819355: 2 45 73 460 41 33
|
||||||
|
877788: 94 7 30 8 666
|
||||||
|
34923962: 9 588 1 60 5 303 972 1
|
||||||
|
2060156: 5 93 6 913 3 9 75 731
|
||||||
|
1010573: 4 897 516 604 5 7 2
|
||||||
|
1153373: 6 9 416 49 619 370
|
||||||
|
188237471616: 338 3 5 926 3 1 9 6 2 16
|
||||||
|
351420096: 77 386 3 7 22 8 563
|
||||||
|
28154770105: 554 8 50 7 25 2 33 1 55
|
||||||
|
797941714: 931 9 6 7 7 7 4 952 68
|
||||||
|
17307: 20 213 7 8 7 7 841
|
||||||
|
278861076: 31 562 2 85 1 3 4 468
|
||||||
|
939675870639: 989 5 366 945 638
|
||||||
|
3355236: 1 1 531 732 1 91 20 3 5
|
||||||
|
303636711: 94 3 41 427 73
|
||||||
|
4553356517: 417 79 36 30 85 5 3
|
||||||
|
119833217456: 149 79 152 18 2 8
|
||||||
|
8647858: 2 91 55 716 785 8
|
||||||
|
70791495: 6 9 5 1 3 9 1 5 9 385 89 5
|
||||||
|
58703112937: 3 7 592 1 4 73 2 949
|
||||||
|
1333781: 5 22 7 3 321 5 5
|
||||||
|
55088: 449 376 49 63 26
|
||||||
|
14704: 1 235 3 5 9 8 2 4 747 4 4
|
||||||
|
141818221948: 468 6 97 6 9 336 3 170
|
||||||
|
106725235: 275 66 6 98 323 4
|
||||||
|
935144558: 90 36 72 243 4 45 57
|
||||||
|
4783996: 4 760 23 993 1
|
||||||
|
7179142: 74 97 91 9 6 216
|
||||||
|
17860470: 337 9 14 312 10 9 530
|
||||||
|
82330587240: 56 4 5 56 7 2 810 4 4 5 6
|
||||||
|
7624624: 9 486 900 38 236 38
|
||||||
|
3117225: 7 7 52 32 8 9 89 723 5 4
|
||||||
|
4533781031: 70 6 86 9 4 742 933 17
|
||||||
|
1152: 62 5 5 190 287
|
||||||
|
202477780855: 5 278 6 251 2 97 265 7
|
||||||
|
33930789: 22 8 31 9 6 8 3 4 1
|
||||||
|
46868: 46 366 1 7 4 491
|
||||||
|
2234965: 9 9 253 10 9 8 8 9 6 76
|
||||||
|
56725: 725 78 7 2 513
|
||||||
|
413871: 5 17 25 8 68
|
||||||
|
4411739: 612 901 54 8 7 4
|
||||||
|
280019599: 62 497 5 4 1 3 9 80 599
|
||||||
|
139832: 4 9 965 2 343 7 7 79 2
|
||||||
|
6626869: 599 3 86 64 28 2
|
||||||
|
22108023: 854 2 9 258 5
|
||||||
|
149940: 80 69 462 480 1
|
||||||
|
2333364: 52 223 804 4 44
|
||||||
|
564496918: 5 748 658 4 9 6 918
|
||||||
|
7310688: 4 7 1 82 40 4 9 51 21 92
|
||||||
|
232322688: 6 74 64 9 24 84 32
|
||||||
|
472649: 2 28 8 20 45 606
|
||||||
|
4985: 980 2 13 2 5
|
||||||
|
173748825: 9 48 75 97 419
|
||||||
|
4032: 53 90 75 6 18
|
||||||
|
2819352: 73 3 16 711 77 6 19 37
|
||||||
|
956118: 557 3 5 570 786 8 4
|
||||||
|
16924517: 2 7 4 67 6 21 984 9 701
|
||||||
|
92: 9 4 1 57 1
|
||||||
|
812046062: 7 2 5 4 32 38 96 7 9 581
|
||||||
|
87867529187: 67 2 7 4 906 6 8 3 8 3 87
|
||||||
|
28749775: 2 4 2 61 5 82 32 11 49 5
|
||||||
|
6310651: 983 3 8 8 2 51
|
||||||
|
5014704: 4 2 747 839 753 2 7 78
|
||||||
|
15436752: 47 207 327 27 33 3
|
||||||
|
83562106762: 83 8 9 498 383 2 6 764
|
||||||
|
60877371: 37 5 688 42 41 17
|
||||||
|
310856: 677 5 25 6 91
|
||||||
|
116678676: 1 29 177 4 511
|
||||||
|
4599: 434 6 88 87 78
|
||||||
|
1737334: 159 43 4 7 53 657 2 22
|
||||||
|
512120: 441 3 719 15 9 836 7 4
|
||||||
|
18168384: 1 7 7 243 971
|
||||||
|
5436: 424 40 9 734 56
|
||||||
|
2853540: 30 948 95 39 1
|
||||||
|
207065: 414 13 5
|
||||||
|
1387710382: 14 11 9 2 8 6 2 77 9 79
|
||||||
|
95854: 93 51 3 5 6 8 216 4 4
|
||||||
|
11476: 98 2 4 110 36
|
||||||
|
88098: 89 790 1 91 6 3
|
||||||
|
4650: 77 6 1 22 7
|
||||||
|
320716: 6 82 41 234 61 82 670
|
||||||
|
912: 86 7 5 2 41 48 627
|
||||||
|
164961: 3 674 966 30 92 538 1
|
||||||
|
138616: 4 3 34 4 835 8 7 2 8
|
||||||
|
1965: 961 2 45
|
||||||
|
100926540962: 5 2 9 991 990 6 1 960
|
||||||
|
3194282223: 195 5 426 400 3 9 57
|
||||||
|
2377: 885 5 902 520 65
|
||||||
|
875172675: 2 485 3 9 4 8 6 84 3 2 3 5
|
||||||
|
3527088: 2 2 38 17 89 32 39 1 6
|
||||||
|
36414372: 9 749 25 4 1 6 917 8 7 2
|
||||||
|
1956972: 4 1 7 1 4 4 7 1 728 48 6 2
|
||||||
|
186714996: 891 7 3 3 7 99 8
|
||||||
|
8779120: 10 381 1 7 23 20
|
||||||
|
58735380: 97 89 220 10 6
|
||||||
|
1546053: 81 320 590 52 6 5 87 6
|
||||||
|
891089745: 9 521 946 38 5 4
|
||||||
|
18500736: 2 2 5 925 72 8 9
|
||||||
|
46556774: 9 33 499 77
|
||||||
|
506616547829: 7 79 2 5 152 9 1 3 6 2 6
|
||||||
|
9423: 32 2 9 27 1
|
||||||
|
249538843: 4 9 13 4 23 5 709 3 41
|
||||||
|
9677312192: 1 23 224 2 6 5 3 2 180 9
|
||||||
|
367662: 3 9 1 5 2 1 276 37 8 7 7 8
|
||||||
|
479671395840: 3 4 91 8 9 2 5 812 46 4 7
|
||||||
|
2408811: 96 305 11 9 340 4 5 6
|
||||||
|
16956800: 33 8 950 2 32
|
||||||
|
461607: 45 985 4 87 9 835 2
|
||||||
|
776: 1 97 8
|
||||||
|
13140615: 3 73 2 6 5 47 8 5 5 1 1 9
|
||||||
|
28824: 1 5 46 3 58 1 3 9 87 1
|
||||||
|
95810721: 1 94 791 1 18 665 58
|
||||||
|
117868923: 81 1 97 928 3 5
|
||||||
|
1068: 86 3 7 41 4 53 874
|
||||||
|
6282: 1 27 21 66 65 9
|
||||||
|
7620674: 5 71 20 487 94 93 2
|
||||||
|
7935824: 7 819 739 22 1 5 13 78
|
||||||
|
199809421: 694 64 75 9 499 335 5
|
||||||
|
30580: 305 4 3 36
|
||||||
|
13500687200: 68 3 266 180 572 7 5 2
|
||||||
|
127633711135: 1 99 7 8 7 4 8 555 2 8 5 3
|
||||||
|
194559682: 6 648 5 12 1 2 22 5 679
|
||||||
|
116522137: 82 19 59 44 1 35 34 4
|
||||||
|
19715: 98 2 9 7 16
|
||||||
|
101871: 38 991 99
|
||||||
|
258511840: 5 42 1 54 709 149 32
|
||||||
|
2391735493: 32 765 3 7 35 458 34
|
||||||
|
187570353992: 4 9 9 9 7 7 9 3 4 344 7 49
|
||||||
|
360374400018: 200 208 625 8 36 5 5 8
|
||||||
|
2230817787: 4 58 2 2 1 181 7 5 9 1 9 3
|
||||||
|
401494: 3 4 99 1 938 6 4 6
|
||||||
|
733544: 4 2 4 8 382 2 8 2 7 8 3 5
|
||||||
|
77590906330: 8 3 4 76 8 2 42 7 4 68 8
|
||||||
|
2004866958: 250 6 8 66 933 1 25
|
||||||
|
533045520: 5 6 6 6 6 3 7 521 8 5 7 6
|
||||||
|
5413: 8 4 451
|
||||||
|
3651758346: 942 546 71 10 1 45
|
||||||
|
1125824227545: 3 3 4 1 8 533 87 5 7 8 6
|
||||||
|
190513132: 6 24 9 49 6 5 9 3 5 5 4 99
|
||||||
|
934891: 9 7 26 4 2 8 2 8 82 1 90
|
||||||
|
1137: 8 43 20 86 688
|
||||||
|
17531: 89 84 10 221
|
||||||
|
118321967: 8 9 704 65 6 7 4 3 631 2
|
||||||
|
638843084623: 1 71 3 7 5 4 5 578 179 1
|
||||||
|
98230: 29 2 2 1 6 2 90 1 7 64 8
|
||||||
|
13444932444: 8 42 123 216 95 1 4 2
|
||||||
|
71659034: 626 1 2 9 25 9 95 8 114
|
||||||
|
32711009: 26 141 51 15 1 88
|
||||||
|
1684270: 1 280 7 794 92 1 7 59
|
||||||
|
29916: 1 86 82 339 6 4
|
||||||
|
4811820531: 4 82 1 3 4 2 2 90 611 8 4
|
||||||
|
9867762: 10 1 8 3 1 2 9 4 188 3 3 2
|
||||||
|
510: 457 24 30
|
||||||
|
3353882283: 3 93 490 2 2 757 3 1 3 8
|
||||||
|
61: 5 17 9 1 32
|
||||||
|
1727: 708 898 26 86 8
|
||||||
|
223611912: 7 7 3 1 451 86 231 9 3 8
|
||||||
|
116475838: 8 840 24 549
|
||||||
|
2156733: 7 8 7 2 4 533 8 1 37 730
|
||||||
|
49787: 4 8 645 883 258
|
||||||
|
771230164: 9 2 97 4 1 9 808 2 4 6 6
|
||||||
|
5275: 105 5 5
|
||||||
|
69778355889: 802 87 4 2 5 9 5 9 99 91
|
||||||
|
911554728: 4 5 2 3 9 4 236 93 7 8 5 6
|
||||||
|
704196331803: 704 1 963 31 802
|
||||||
|
472914541: 28 67 78 4 9 3 7 9 91 7 9
|
||||||
|
7257683: 93 868 6 817 89
|
||||||
|
36471370885: 300 770 3 47 6 2 86
|
||||||
|
33958632312: 19 992 99 99 248 73
|
||||||
|
2488243: 4 8 74 4 190
|
||||||
|
26913521521: 7 8 9 6 9 4 49 6 35 1 67 4
|
||||||
|
52685: 405 98 23 8 8
|
||||||
|
4406699117: 5 974 4 4 9 2 5 9 91
|
||||||
|
795088373103: 158 978 39 67 4 6 21 5
|
||||||
|
305130396: 9 5 1 59 3 347 9 67 12
|
||||||
|
531: 47 3 7 1 1 9
|
||||||
|
1192268044384: 3 871 88 35 4 435 4 31
|
||||||
|
6392322: 7 63 351 7 8 251 44 27
|
||||||
|
69739288: 8 71 7 4 8 84 4
|
||||||
|
523483: 87 2 3 5 2 91 2 692
|
||||||
|
802030: 6 2 81 86 22 30
|
||||||
|
626316838: 41 201 38 2 419 416
|
||||||
|
18023805: 969 31 6 60 42
|
||||||
|
2762443: 15 64 777 45 1 204 4
|
||||||
|
71441: 87 81 96 9
|
||||||
|
93838674: 6 7 55 7 155 70 9 97
|
||||||
|
7306479: 3 2 1 283 9 63 9 7 9 5 8
|
||||||
|
314885: 9 34 8 8 12 70 6
|
||||||
|
4845827: 484 5 102 697 31
|
||||||
|
22788228: 418 9 8 1 68
|
||||||
|
135358192800: 7 2 3 1 5 4 949 8 5 80 9
|
||||||
|
1546: 4 51 96 2 1 26 3 909 7
|
||||||
|
361176914: 3 848 2 49 7 2 2 8 2 914
|
||||||
|
9544257: 7 7 9 42 3 2 7 5 546 27
|
||||||
|
526: 65 8 2 4
|
||||||
|
1932693441: 53 67 7 8 9 4 29 9 780 1
|
||||||
|
821715: 33 83 3 14
|
||||||
|
1810654: 22 81 975 556 321
|
||||||
|
415368: 31 3 735 2 54
|
||||||
|
2650: 39 79 21 295 96 5
|
||||||
|
3277842795: 8 69 22 4 6 2 5 5 3 613
|
||||||
|
787763809: 692 4 8 363 53 6 35 49
|
||||||
|
140345412505: 296 4 947 24 43 58 5
|
||||||
|
397671263: 9 1 3 1 57 6 8 5 4 3 126 3
|
||||||
|
2875941: 4 603 5 44 47 8
|
||||||
|
4621566793294: 8 932 452 5 22 61 853
|
||||||
|
8968000: 467 8 59 32 3
|
||||||
|
6027428: 5 675 352 423 6
|
||||||
|
1724: 8 2 12 694 46
|
||||||
|
392769: 9 6 907 5 1 1 39 5 3 3 9
|
||||||
|
3925: 759 4 1 61 827
|
||||||
|
1486822: 82 594 5 9 17 3 2
|
||||||
|
2400: 6 7 143 90 8
|
||||||
|
4286544: 347 9 807 1 546
|
||||||
|
3307871: 3 4 4 4 6 6 72 2 285 23 7
|
||||||
|
398278260: 3 7 81 6 9 7 526
|
||||||
|
59250: 6 93 623 28 79
|
||||||
|
122906054: 30 884 64 3 92 7 53
|
||||||
|
32646: 3 1 627 9
|
||||||
|
2980467454: 8 8 9 9 3 3 4 46 7 440 5 9
|
||||||
|
55943811099: 530 535 758 770 2 9 9
|
||||||
|
2168287875: 6 86 257 2 42 7 5
|
||||||
|
481195320: 789 790 772
|
||||||
|
62339349: 4 1 8 930 8 9 3 16 9 3 2 4
|
||||||
|
7157155545: 3 15 3 973 5 4 3 5 55 48
|
||||||
|
210528982: 4 9 9 32 521 57 866 52
|
||||||
|
1545266035: 61 62 6 32 5 680 9 24
|
||||||
|
51739: 9 5 2 7 82 79
|
||||||
|
6102859: 60 181 756 90 8 3 76
|
||||||
|
10159693192: 4 27 33 114 721
|
||||||
|
214575225: 8 51 6 4 9 837 675 9 5 9
|
||||||
|
7028944: 47 7 4 3 9 7 1 51 2 376
|
||||||
|
23322867: 9 49 29 28 4 574 7
|
||||||
|
902118625817: 883 8 759 94 625 819
|
||||||
|
713256123099: 742 155 47 961 9 1 97
|
||||||
|
1755816105888: 698 3 776 796 351 3
|
||||||
|
396663497: 1 983 2 634 97
|
||||||
|
1348244080: 65 768 205 78 1
|
||||||
|
462274: 248 8 233
|
||||||
|
61266: 8 7 87 6 69
|
||||||
|
5882741765: 1 7 3 5 3 1 427 2 4 8 8 8
|
||||||
|
766181250: 485 29 811 771 15 50
|
||||||
|
1716743769: 58 8 701 754 7 308 69
|
||||||
|
21777: 2 9 3 5 65
|
||||||
|
1553336: 56 295 94 1 393 59
|
||||||
|
40332646896: 873 35 22 781 6 6
|
||||||
|
4110: 35 5 80 156 754
|
||||||
|
37564007116818: 93 910 8 5 7 1 116 818
|
||||||
|
26127012: 9 24 1 7 4 98 4 2 7 3 33 9
|
||||||
|
12548006988763: 979 1 1 4 2 86 149 763
|
||||||
|
636520546: 998 1 4 7 7 425 4 77 85
|
||||||
|
14145768: 829 4 7 4 651 4 889
|
||||||
|
8725165: 9 173 5 903 6 8 3 65
|
||||||
|
474882020: 448 53 101 5 4
|
||||||
|
124342128: 983 5 871 614 28 35 8
|
||||||
|
358665062: 5 3 80 8 1 1 8 8 337 3 6
|
||||||
|
669561657: 3 28 2 607 2 3 6 1 656
|
||||||
|
117632: 8 3 208 555 4
|
||||||
|
1220055: 217 56 7 40 39 119
|
||||||
|
205348861: 9 56 3 716 61
|
||||||
|
8410710: 5 64 4 8 98 7 363
|
||||||
|
7928792: 376 46 8 80 3 4 3 3 764
|
||||||
|
5799083120393: 3 5 6 47 4 7 170 7 7 83 5
|
||||||
|
107463712: 9 6 1 6 60 9 5 9 9 2 8 67
|
||||||
|
10207: 91 1 33 428 549
|
||||||
|
43330935: 8 9 53 7 68 947 82 3
|
||||||
|
19476019: 1 9 3 1 72 94 3 7 6 4 34
|
||||||
|
284580: 15 8 1 20 9
|
||||||
|
2144840841: 57 38 505 9 99
|
||||||
|
22349258705: 19 1 26 5 9 1 732 8 5 8
|
||||||
|
487325080187: 39 935 650 160 38 5
|
||||||
|
24929138: 1 395 91 18 932
|
||||||
|
65799405: 5 3 1 263 435
|
||||||
|
2216: 82 4 6 24 8
|
||||||
|
980777690: 954 220 584 835 50
|
||||||
|
561801738: 1 4 50 8 15 4 325 673 8
|
||||||
|
1490988: 93 2 8 2 987
|
||||||
|
7942059112: 7 9 1 1 3 8 5 5 4 582 9 12
|
||||||
|
4180933171: 830 6 5 93 260 54 3 27
|
||||||
|
330636: 715 387 13 3
|
||||||
|
1069672872524: 1 298 9 795 7 5 2 252 4
|
||||||
|
5186234: 5 1 794 18 50 37
|
||||||
|
5016205: 722 43 6 426 1 4 7 1 56
|
||||||
|
258833147: 4 8 7 6 548 513 23
|
||||||
|
28645434967: 203 1 61 14 25 9 967
|
||||||
|
9181353: 69 98 751 1 351
|
||||||
|
4124314800: 66 7 8 687 772 190 9 6
|
||||||
|
291900470: 6 7 3 6 2 525 2 2 61 9
|
||||||
|
4665835983: 170 296 58 35 983
|
||||||
|
30415786635: 713 864 927 394 108
|
||||||
|
346694957: 385 21 561 42 9 531
|
||||||
|
76864: 70 6 864
|
||||||
|
127218604: 18 7 8 3 96 14 8 5 2 2 6 2
|
||||||
|
98043728: 4 3 79 5 1 8 19 8 6 9 2 51
|
||||||
|
1125553: 29 83 55 52 3
|
||||||
|
142859: 9 51 150 3 205
|
||||||
|
8996988138: 493 389 943 8 65 5 4 7
|
||||||
|
32707052: 6 51 5 5 8 4 6 218 3 3 5 2
|
||||||
|
4186878922: 41 7 74 94 73 5 902 20
|
||||||
|
50607732: 3 3 132 3 57 9 113 43 3
|
||||||
|
1318255: 12 186 8 59 905
|
||||||
|
320484960: 6 1 707 6 1 914 487
|
||||||
|
2068225: 3 8 9 44 227
|
||||||
|
79076: 85 3 310 26
|
||||||
|
13952270: 29 979 64 137 2 95
|
||||||
|
106877774: 2 490 37 93 6 113 567
|
||||||
|
3846: 3 1 8 37 1 7 21 7 73 149
|
||||||
|
13619850960: 25 28 444 860 673
|
||||||
|
2074682368: 3 226 8 4 226 2 5 8 5 65
|
||||||
|
7226571570: 722 182 91 384 1 567
|
||||||
|
900282: 89 9 217 988 77
|
||||||
|
1127715: 6 97 5 787 4 76 816 3
|
||||||
|
16058952397: 35 608 392 741 394
|
||||||
|
26843: 886 8 4 3 3
|
||||||
|
35145018: 1 66 39 290 50 19
|
||||||
|
1278: 93 534 2 15 9
|
||||||
|
24038: 893 521 17
|
||||||
|
196530656: 4 1 721 784 3 956 8 7
|
||||||
|
47772498: 4 7 5 3 748 6 8 7 15 4 9 9
|
||||||
|
8610: 70 4 11 2 795 69
|
||||||
|
423060737457: 4 8 7 2 3 54 3 2 1 886 9 3
|
||||||
|
63375360: 75 109 77 16 96 5
|
||||||
|
128980522089: 8 475 3 2 8 418 2 829 2
|
||||||
|
7945: 5 5 6 843 8
|
||||||
|
8684275286: 1 784 83 421 6 52 88
|
||||||
|
3714: 33 4 11
|
||||||
|
110467308: 5 835 86 819 18 25 84
|
||||||
|
297205: 7 67 102 342 4
|
||||||
|
61361: 2 3 2 7 2 361
|
||||||
|
22550147294: 3 186 4 7 46 5 36 823 4
|
||||||
|
1052927614392: 2 1 5 564 4 3 3 718 393
|
||||||
|
3828: 3 58 417 8 7
|
||||||
|
9729036288: 656 4 16 314 82 9
|
||||||
|
5831042160: 915 619 3 834 4 5 514
|
||||||
|
10047756640: 8 301 4 2 7 6 8 11 8 388
|
||||||
|
34334730: 51 440 1 90 17
|
||||||
|
2355371884: 7 7 8 1 5 3 2 3 7 184 4 4
|
||||||
|
7720: 5 69 7 4 433 1 9 8
|
||||||
|
508919: 92 204 79 1 3 2 9 5
|
||||||
|
2749463626: 642 921 5 465
|
||||||
|
148277603765: 1 5 43 40 7 4 39 8 429 5
|
||||||
|
6912: 81 51 84 2 55 89 12
|
||||||
|
2519958: 7 304 32 8 253 3 9 66
|
||||||
|
68495: 42 634 7 38 95
|
||||||
|
37935797473371: 76 176 3 498 73 368
|
||||||
|
4088514: 20 460 1 85 14
|
||||||
|
42340486560: 727 7 104 4 2 1 6 5 57
|
||||||
|
93889045874: 7 7 3 3 722 4 7 9 8 5 873
|
||||||
|
111628894: 29 375 84 38 702
|
||||||
|
1836669: 5 4 34 602 68
|
||||||
|
127205: 9 10 8 4 3 893 8 3 5 8 1 5
|
||||||
|
10169671: 1 72 7 6 997 8 1 46 4 3 2
|
||||||
|
237605921214087: 62 52 7 874 38 140 87
|
||||||
|
37392: 1 5 276 175 82
|
||||||
|
33961623: 1 6 1 6 99 3 61 543 6 71
|
||||||
|
37304: 8 4 5 620 65 2 38
|
||||||
|
328923190: 876 126 113 7 4 415
|
||||||
|
9004522: 852 15 2 21 352 8 2
|
||||||
|
6277: 6 274 4
|
||||||
|
799: 18 5 3 7 5 3 4 8 4 7 7 305
|
||||||
|
815: 5 567 75 167 1
|
||||||
|
1907156: 7 55 29 4 2 4 3 733 5 6
|
||||||
|
54232722: 8 11 1 1 12 3 3 6 51 438
|
||||||
|
90356: 6 53 204 65 98
|
||||||
|
80393954535: 6 980 8 699 3 9 815
|
||||||
|
585333000: 81 1 6 8 557 1 4 7 6 3 7 3
|
||||||
|
1740698240: 1 89 16 4 1 8 19 8 944 5
|
||||||
|
27080469199: 147 5 997 177 196
|
||||||
|
397655: 4 80 674 4 54
|
||||||
|
32581186: 58 546 913 14 4 3
|
||||||
|
1411288: 329 6 788 5 1 50 5 7 5 3
|
||||||
|
686822508: 6 837 3 29 455 10
|
||||||
|
14329614: 37 387 10 540 74
|
||||||
|
900648672: 172 596 9 8 44 89 37
|
||||||
|
12010046: 6 8 72 100 47
|
||||||
|
51520200: 831 9 19 27 613 1
|
||||||
|
44168970: 72 20 6 8 1 2 77 67
|
||||||
|
53032: 529 796 8 1 4
|
||||||
|
88279: 5 38 7 293 86
|
||||||
|
37669257997338: 570 7 463 33 292 1 66
|
||||||
|
37263336: 423 4 47 22 4
|
||||||
|
1953126: 196 1 2 2 4 411 3 7 8 3
|
||||||
|
18262: 25 181 88 80 55
|
||||||
|
745577968: 9 31 27 70 2 4 5 8 7
|
||||||
|
325718593204: 3 1 6 3 7 1 8 3 9 35 132 2
|
||||||
|
70183: 7 5 92 597 83
|
||||||
|
292206: 8 528 2 973 5 31
|
||||||
|
35684388: 9 6 531 4 7 9 1 5 7 8 798
|
||||||
|
4518001568: 8 4 4 3 3 9 900 4 1 563 6
|
||||||
|
353907: 69 907 3 870 5 6
|
||||||
|
14174170: 141 735 60 582 28
|
||||||
|
4579: 89 80 9 5 3
|
||||||
|
905743293: 17 4 3 57 9 922 48
|
||||||
|
4721355: 3 4 6 13 6 8 7 2 8 15 853
|
||||||
|
28300777: 6 2 7 4 4 3 9 94 4 38 97 8
|
||||||
|
3059337317: 305 44 49 373 17
|
||||||
|
123832907: 800 5 7 762 8 412 5 2 6
|
||||||
|
189634: 9 9 9 624 7
|
||||||
|
53083923: 906 59 13 852 58 1
|
||||||
|
117861384016: 5 46 14 5 2 6 8 8 5 5 8 17
|
||||||
|
1670110: 25 95 542 6 25 54 53
|
||||||
|
18266750880: 8 28 98 20 86 69 478
|
||||||
|
846: 754 3 7 6 74
|
||||||
|
91230: 565 325 22 30
|
||||||
|
21602109: 878 1 82 6 3 833
|
||||||
|
383: 6 1 2 178 2 11
|
||||||
|
4640341196: 5 58 4 4 3 3 99 5 4 3 96
|
||||||
|
295: 2 7 35 7 5 15
|
||||||
|
25640: 60 7 42 146
|
||||||
|
2324: 7 2 7 4 852
|
||||||
|
2106855: 1 918 527 243 5 6 15
|
||||||
|
1096879615: 9 1 38 52 20 61 792
|
||||||
|
206838115: 2 7 2 7 42 7 94 1 7 9 2 5
|
||||||
|
892: 838 53 1
|
||||||
|
37042143372: 1 38 45 81 549 26 386
|
||||||
|
13608260: 9 7 9 3 63 260
|
||||||
|
10296568836: 260 11 15 801 6 6
|
||||||
|
1152012: 2 7 410 450 12
|
||||||
|
15670: 9 174 9
|
||||||
|
378879: 428 87 522 6 530 762
|
||||||
|
63217413002: 7 7 10 61 7 1 1 5 3 350 3
|
||||||
|
214357346: 9 9 2 3 3 9 527 5 9 5 2 6
|
||||||
|
6384: 1 5 860 5 42 7
|
||||||
|
3660322: 2 687 53 8 8 1 770 9 20
|
||||||
|
597992800: 59 79 878 49 1 8 8
|
||||||
|
2086695: 3 1 8 2 164 1 6 1 3 195 3
|
||||||
|
56275146474: 7 1 82 572 903 88 71
|
||||||
|
5878173: 9 97 2 615 9
|
||||||
|
256125: 69 157 24 3 57 13 112
|
||||||
|
63613676031: 345 710 62 53 49 17
|
||||||
|
6041746627: 6 65 6 3 180 1 6 77 25 5
|
||||||
|
445082: 50 9 4 7 75 92 141 9 5
|
||||||
|
3336568969: 11 93 3 1 605 537 7 9
|
||||||
|
14476045838: 720 220 154 45 8 3 8
|
||||||
|
25791150: 73 65 2 37 350
|
||||||
|
1770: 4 18 8 2 7
|
||||||
|
634521698: 96 816 81 89 9
|
||||||
|
766610: 7 35 29 2 609
|
||||||
|
165288: 99 8 89 88 6 97
|
||||||
|
122461717: 2 657 224 269 8 37 5
|
||||||
|
49274709: 8 61 4 71 709
|
||||||
|
156370725697: 1 771 2 9 3 3 2 75 5 6 9 6
|
||||||
|
135450075: 306 97 8 1 42 10 73
|
||||||
|
178096158: 7 471 686 391 54
|
||||||
|
37098919: 1 2 6 539 2 1 7 45 1 8 2 2
|
||||||
|
564755082: 829 68 103 508 2
|
||||||
|
15091: 84 7 590 978 7
|
||||||
|
5925156: 4 80 5 6 7 5 7 443 95 8
|
||||||
|
227132981304: 639 235 47 7 9 1 9 2 3 4
|
||||||
|
83734: 4 2 3 7 36
|
||||||
|
4764348248: 231 851 16 64 642 44
|
||||||
|
201359438581: 33 9 429 677 5 580 1
|
||||||
|
5382: 32 497 1 9 3
|
||||||
|
89850: 46 810 70 866 5 50
|
||||||
|
7095185620: 2 18 2 83 9 388 9 1 34
|
||||||
|
898628: 89 340 93 429 8
|
||||||
|
4521335: 2 988 456 2 691 4
|
||||||
|
825553: 527 522 3 216 56
|
||||||
|
1437: 6 7 492 737 196
|
||||||
|
6349783608: 2 98 268 522 216 63
|
||||||
|
26307: 47 42 204 4 36 79
|
||||||
|
2664689: 4 37 46 3 295 96 88
|
||||||
|
517476672: 699 24 5 28 74
|
||||||
|
906139989: 15 59 62 559 98 8 3
|
||||||
|
101621401: 3 4 99 29 42 6 841 7
|
||||||
|
174668041: 291 11 339 3 3 2 1
|
||||||
|
499516611066: 5 3 6 3 6 238 6 7 55 1 6 3
|
||||||
|
656734: 5 789 741 21 7 9 34
|
||||||
|
2964812: 3 4 7 2 36 1 11 813
|
||||||
|
457793: 526 17 130 8 791 39 5
|
||||||
|
324783326229: 32 474 9 34 32 62 29
|
||||||
|
714670: 42 17 552 60 9 46
|
||||||
|
174857716: 6 9 146 8 734 1 9 18 2 9
|
||||||
|
22400846: 350 64 843
|
||||||
|
9498234307: 4 12 966 709 23
|
||||||
|
16680905: 9 9 156 7 3 17 6 6 4 8 4
|
||||||
|
405: 9 9 5
|
||||||
|
4565438: 913 1 5 4 37
|
||||||
|
214448709: 670 13 423 7 318
|
||||||
|
2056320: 6 854 62 7 247 378
|
||||||
|
28709528: 3 580 8 550 57 75 9 8
|
||||||
|
12101046387: 5 1 86 7 4 3 7 3 638 5 2
|
||||||
|
9550: 52 7 992 7 58
|
||||||
|
8347014: 7 32 5 92 9 9 331 443
|
||||||
|
27345853945: 9 202 2 3 8 3 3 8 4 649 3
|
||||||
|
154494235766: 772 469 2 1 777 6 5 3 2
|
||||||
|
55637839247: 6 8 2 44 955 8 7 5 9 93 4
|
||||||
|
3395211904: 285 9 77 53 415 224
|
||||||
|
410136: 51 26 7 8
|
||||||
|
22526624126: 2 555 82 778 854 6
|
||||||
|
2985869706: 46 9 70 8 5 7 8 7 6 90 9
|
||||||
|
3423438677: 714 705 958 346 5
|
||||||
|
784310979: 784 310 89 8 9
|
||||||
|
2859878751: 3 96 3 36 48 8 37 9 305
|
||||||
|
900: 38 7 1 4 5
|
||||||
|
30425338: 30 4 25 33 8
|
||||||
|
567294: 4 702 3 12 8
|
||||||
|
33541379: 110 571 6 89 64 775
|
||||||
|
494363134: 555 4 620 12 89 886
|
||||||
|
71527: 3 6 5 3 8 6 1 7 12 5 8 7
|
||||||
|
46980046: 53 721 96 540 43
|
||||||
|
37206236963: 7 7 88 94 6 9 83 1 61 5 3
|
||||||
|
50976954: 5 2 2 80 45 37 11 87 14
|
||||||
|
5203315048: 1 63 2 74 61 27 3 5 50
|
||||||
|
1939803185: 969 901 59 2 6
|
||||||
|
1028599911631: 118 20 2 97 1 749 87 1
|
||||||
|
91641646160: 9 424 43 62 472 206
|
||||||
|
4808181291: 2 978 9 889 26 12 93
|
||||||
|
357338008: 706 3 504 8 3 2 9 6 789
|
||||||
|
81364559: 800 13 56 8 556
|
||||||
|
1517735009: 1 6 414 291 923 787
|
||||||
|
10942: 2 2 130 72
|
||||||
|
2927: 74 5 3 8 1 31 9 646
|
||||||
|
21363940: 72 22 73 3 49 829 260
|
||||||
|
1075962223: 21 512 7 615 53 670
|
||||||
|
91216741: 912 1 30 37 41
|
||||||
|
3020021513: 749 56 686 8 458 9 2
|
||||||
|
3412491525: 28 57 29 4 8 912 3 23
|
||||||
|
586986542: 34 36 81 832 2 7 8 7 68
|
||||||
|
3985200: 3 3 3 616 9 118 4 9 45
|
||||||
|
25153680: 82 71 3 1 60 8 3 39 24
|
||||||
|
5121: 557 3 8 1 9
|
||||||
|
4361404380: 9 72 779 4 9 6 6 2 5 12
|
||||||
|
4633574: 1 8 52 2 26 4 9 4 4 7 6 41
|
||||||
|
2500: 10 3 62 200 7 433
|
||||||
|
205765071: 237 599 5 866 4
|
||||||
|
475225461: 938 7 336 6 687 90 81
|
||||||
|
67637: 67 633 6
|
||||||
|
62118081357: 1 2 9 1 90 290 4 5 2 4 90
|
||||||
|
3666: 3 58 7 8 8
|
||||||
|
149245: 4 382 4 19 718 5 87 28
|
||||||
|
561006667: 82 5 68 66 6 6
|
||||||
|
83570460265375: 92 6 318 188 547 5 85
|
||||||
|
71579598: 29 75 67 329 55
|
||||||
|
108468786: 27 117 4 747 42
|
||||||
|
108885688319: 1 3 7 7 770 5 4 2 88 320
|
||||||
|
274800836: 5 60 2 6 49 4 47 435 7 9
|
||||||
|
161022283: 38 7 604 358 232 51
|
||||||
|
19692: 41 990 933 9 43
|
||||||
|
1814645: 9 270 89 7 85 695
|
||||||
|
5522958: 9 3 9 6 1 63 769
|
||||||
|
14581981: 11 9 6 9 6 8 2 7 4 60 63
|
||||||
|
150150: 5 4 90 3 69 5 18 6 72
|
||||||
|
34959356: 368 3 678 22 14 6 1 1 3
|
||||||
|
2325598: 48 57 850
|
||||||
|
13630671514: 1 45 3 4 9 526 31 171 3
|
||||||
|
83325934080: 8 7 8 9 7 182 7 6 32 9 1
|
||||||
|
37047437: 4 583 9 777 2 1 9 10 4 1
|
||||||
|
2664496: 98 65 9 7 9 3 709
|
||||||
|
2768330498: 1 893 31 30 498
|
||||||
|
865227: 50 2 57 167 33
|
||||||
|
5902050651: 843 1 487 1 7 7 1 48 54
|
||||||
|
7499664484: 832 694 602 9 4 84
|
||||||
|
7952436: 770 1 2 233 6 1 1 436
|
||||||
|
8294452: 2 9 3 8 66 5 1 5 41 8 7 2
|
||||||
|
6456627216: 4 3 9 26 4 86 3 8 544 1 8
|
||||||
|
2802: 255 2 169 9 4 48 2
|
||||||
|
699018: 2 7 2 6 6 353 7 5 4 39
|
||||||
|
2189890971124: 92 980 9 785 704 2 3 1
|
||||||
|
33192972: 646 99 519 826 20
|
||||||
|
6335442: 2 6 564 13 3 4 1 2 96 6
|
||||||
|
8535690: 1 866 1 2 9 6 2 9 5 9 3 90
|
||||||
|
5936091: 89 900 3 49 6
|
||||||
|
1429232: 79 7 8 626 9 500 112 7
|
||||||
|
12011121824: 15 8 11 12 1 824
|
||||||
84
7/main.go
Normal file
84
7/main.go
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"math"
|
||||||
|
"os"
|
||||||
|
"regexp"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func randomOperator(equation []int) [][]int {
|
||||||
|
combinationsTotal := math.Pow(3, float64(len(equation)-2))
|
||||||
|
combinations := [][]int{}
|
||||||
|
for i:=0;i<int(combinationsTotal);i++ {
|
||||||
|
combination := strconv.FormatInt(int64(i), 3)
|
||||||
|
combinationSSlice := strings.Split(combination, "")
|
||||||
|
prepend := len(equation) - 2 - len(combinationSSlice)
|
||||||
|
if prepend>0 {
|
||||||
|
for j:=1;j<=prepend;j++ {
|
||||||
|
combinationSSlice = append([]string{"0"}, combinationSSlice...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
combinationISlice := []int{}
|
||||||
|
for j:=range combinationSSlice {
|
||||||
|
combinationInt, _ := strconv.Atoi(combinationSSlice[j])
|
||||||
|
combinationISlice = append(combinationISlice, combinationInt)
|
||||||
|
}
|
||||||
|
combinations = append(combinations, combinationISlice)
|
||||||
|
}
|
||||||
|
return combinations
|
||||||
|
}
|
||||||
|
|
||||||
|
func calcResult(tillnow, next, operator int) int {
|
||||||
|
if operator == 0 {
|
||||||
|
return tillnow + next
|
||||||
|
} else if operator == 1 {
|
||||||
|
return tillnow * next
|
||||||
|
} else {
|
||||||
|
// find number of digits
|
||||||
|
digits := 0
|
||||||
|
helper := next
|
||||||
|
for helper > 0 {
|
||||||
|
helper = helper/10
|
||||||
|
digits++
|
||||||
|
}
|
||||||
|
return tillnow*int(math.Pow(10,float64(digits)))+next
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
file, _ := os.Open("test")
|
||||||
|
defer file.Close()
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
regexNumber := regexp.MustCompile(`[0-9]+`)
|
||||||
|
equations := [][]int{}
|
||||||
|
randomOperators := [][][]int{} // []equation []operators []operator
|
||||||
|
for scanner.Scan() {
|
||||||
|
line := scanner.Text()
|
||||||
|
equationStrings := regexNumber.FindAllString(line, -1)
|
||||||
|
equationInts := []int{}
|
||||||
|
for i := range equationStrings {
|
||||||
|
equationInt, _ := strconv.Atoi(equationStrings[i])
|
||||||
|
equationInts = append(equationInts, equationInt)
|
||||||
|
}
|
||||||
|
equations = append(equations, equationInts)
|
||||||
|
randomOperators = append(randomOperators,randomOperator(equationInts))
|
||||||
|
}
|
||||||
|
result := 0
|
||||||
|
for i := range equations { // for each equation
|
||||||
|
for j := range randomOperators[i] { // for each random operator corresponding to the equation
|
||||||
|
calculations := equations[i][1]
|
||||||
|
for k:=2;k<len(equations[i]);k++ {
|
||||||
|
calculations = calcResult(calculations,equations[i][k],randomOperators[i][j][k-2])
|
||||||
|
}
|
||||||
|
if calculations == equations[i][0] {
|
||||||
|
result = result + equations[i][0]
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println(result)
|
||||||
|
}
|
||||||
9
7/test
Normal file
9
7/test
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
190: 10 19
|
||||||
|
3267: 81 40 27
|
||||||
|
83: 17 5
|
||||||
|
156: 15 6
|
||||||
|
7290: 6 8 6 15
|
||||||
|
161011: 16 10 13
|
||||||
|
192: 17 8 14
|
||||||
|
21037: 9 7 18 13
|
||||||
|
292: 11 6 16 20
|
||||||
50
8/input
Normal file
50
8/input
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
...........V..................b.g.................
|
||||||
|
..................................g...............
|
||||||
|
.............................c....................
|
||||||
|
............T........Z.......P....................
|
||||||
|
.x........................VP......................
|
||||||
|
..........................PH......................
|
||||||
|
.................H.....Z.......g.R................
|
||||||
|
......f............T.V....b......A................
|
||||||
|
......................P...........................
|
||||||
|
.......f..................A.............R.........
|
||||||
|
........x..............T.......l..H.....A.c.......
|
||||||
|
..k..x..............Z.............................
|
||||||
|
........5....S...............0.A..................
|
||||||
|
.............N....L...............................
|
||||||
|
.f............................T........s.....N....
|
||||||
|
..................l..........bH.......tc.R..N.....
|
||||||
|
......Z...6......n......l...k.N...0...............
|
||||||
|
...........g....S......l.r.................t..s...
|
||||||
|
..L................b.......K..t...................
|
||||||
|
................5....n........0.............c.....
|
||||||
|
.....L......n............................E........
|
||||||
|
.k.......L................m.....................Es
|
||||||
|
..............St.....5....Rm......................
|
||||||
|
............6..5...................3...0..........
|
||||||
|
...........k.................W........3...........
|
||||||
|
................n......K...E....2S..........3.....
|
||||||
|
....................................E....Q........
|
||||||
|
..........M.....x...............K.................
|
||||||
|
..h.............................1.................
|
||||||
|
.6............z..............4...e.........WY....y
|
||||||
|
........f............a.......Y..y...s.............
|
||||||
|
...h............r.............v....m..............
|
||||||
|
.....h.................v....m.....Y.Q.....W3......
|
||||||
|
.........................Yq....Q.................7
|
||||||
|
.........6..............7.................9.......
|
||||||
|
...................X..........y..q.....2..........
|
||||||
|
............r..............q.....y...........7.8..
|
||||||
|
..B..............M....4............9..............
|
||||||
|
...1.......M...X.......CGzp...4..B...2..K.........
|
||||||
|
.....................z...v....Q.....8...........9.
|
||||||
|
B.......X.F....rM...v...............2...8..D......
|
||||||
|
h1..............................7..D.....8....d...
|
||||||
|
...............F.....................9D....4....d.
|
||||||
|
..........a......p............F.........W.D......d
|
||||||
|
.........................G..C...........q.........
|
||||||
|
...B..................................C...........
|
||||||
|
.........w..........z....p.....................e..
|
||||||
|
.a............G....w........p........F........e...
|
||||||
|
........a...w.....................................
|
||||||
|
........w...............XC.......G................
|
||||||
93
8/main.go
Normal file
93
8/main.go
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"regexp"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func findAntennas(layout [][]string, antenna string) [][]int {
|
||||||
|
antenaPositions := [][]int{}
|
||||||
|
for i := range layout {
|
||||||
|
for j := range layout[i] {
|
||||||
|
if layout[i][j] == antenna {
|
||||||
|
antenaPositions = append(antenaPositions, []int{i,j})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return antenaPositions
|
||||||
|
}
|
||||||
|
|
||||||
|
func calcAntiNodes(layout [][]string, node1, node2 []int) [][]int {
|
||||||
|
x := node1[0] - node2[0]
|
||||||
|
y := node1[1] - node2[1]
|
||||||
|
antinodes := [][]int{}
|
||||||
|
for i:=0;i<len(layout);i++ {
|
||||||
|
antinode1 := []int{node1[0] + i*x, node1[1] + i*y}
|
||||||
|
antinode2 := []int{node2[0] - i*x, node2[1] - i*y}
|
||||||
|
if ! (antinode1[0] >= 0 && antinode1[1] >= 0 && antinode1[0] < len(layout) && antinode1[1] < len(layout)) {
|
||||||
|
antinode1 = []int{}
|
||||||
|
}
|
||||||
|
if ! (antinode2[0] >= 0 && antinode2[1] >= 0 && antinode2[0] < len(layout) && antinode2[1] < len(layout)) {
|
||||||
|
antinode2 = []int{}
|
||||||
|
}
|
||||||
|
if len(antinode1) > 0 {
|
||||||
|
antinodes = append(antinodes, antinode1)
|
||||||
|
}
|
||||||
|
if len(antinode2) >0 {
|
||||||
|
antinodes = append(antinodes, antinode2)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return antinodes
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// file, _ := os.Open("test")
|
||||||
|
file, _ := os.Open("input")
|
||||||
|
defer file.Close()
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
regexAntenna := regexp.MustCompile(`[^.]`)
|
||||||
|
antennas := []string{}
|
||||||
|
layout := [][]string{}
|
||||||
|
for scanner.Scan() {
|
||||||
|
line := scanner.Text()
|
||||||
|
layout = append(layout, strings.Split(line, ""))
|
||||||
|
// //fmt.Println(line)
|
||||||
|
foundAntennas := regexAntenna.FindAllString(line, -1)
|
||||||
|
if len(foundAntennas) > 0 {
|
||||||
|
antennas = append(antennas, foundAntennas...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
antennaMap := make(map[string][][]int)
|
||||||
|
for _, antenna := range antennas {
|
||||||
|
// //fmt.Println(antenna)
|
||||||
|
key := antenna
|
||||||
|
antennaMap[key] = findAntennas(layout,antenna)
|
||||||
|
}
|
||||||
|
//fmt.Println(antennaMap)
|
||||||
|
antinodelist := [][]int{}
|
||||||
|
for _,v := range antennaMap {
|
||||||
|
//fmt.Println("key: ", k, "value: ", v)
|
||||||
|
for i:=0;i<len(v);i++ {
|
||||||
|
for j:=0;j<len(v);j++ {
|
||||||
|
if j>i {
|
||||||
|
//fmt.Println(v[i],v[j])
|
||||||
|
antinodes := calcAntiNodes(layout, v[i], v[j])
|
||||||
|
antinodelist = append(antinodelist, antinodes...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//fmt.Println(antinodelist)
|
||||||
|
antinodeMap := make(map[[2]int]int)
|
||||||
|
for i := range antinodelist {
|
||||||
|
if len(antinodelist[i]) > 0 {
|
||||||
|
key := [2]int{antinodelist[i][0], antinodelist[i][1]}
|
||||||
|
antinodeMap[key]++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println(len(antinodeMap))
|
||||||
|
}
|
||||||
|
|
||||||
12
8/test
Normal file
12
8/test
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
............
|
||||||
|
........0...
|
||||||
|
.....0......
|
||||||
|
.......0....
|
||||||
|
....0.......
|
||||||
|
......A.....
|
||||||
|
............
|
||||||
|
............
|
||||||
|
........A...
|
||||||
|
.........A..
|
||||||
|
............
|
||||||
|
............
|
||||||
17
test/main.go
Normal file
17
test/main.go
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// Initialize the variable before the loop
|
||||||
|
value := 0
|
||||||
|
|
||||||
|
for i := 0; i < 5; i++ {
|
||||||
|
// Change its value within the loop
|
||||||
|
value += i
|
||||||
|
fmt.Println("Current Value:", value) // Use the variable here
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("Final Value:", value) // Still accessible after the loop
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user