From 4f0091f23fc8b07ed379b7bfdf9f31d8ab3efbd9 Mon Sep 17 00:00:00 2001 From: Drew Malzahn Date: Thu, 14 Nov 2024 19:16:08 -0500 Subject: [PATCH] Initial commit --- d1.bin | Bin 0 -> 296440 bytes d1/d1-p2-test.input | 7 + d1/d1.input | 1000 +++++++++++++++++++++ d1/main.odin | 393 ++++++++ d2.bin | Bin 0 -> 296152 bytes d2/d2.input | 100 +++ d2/d2.structured-input | 100 +++ d2/d2.test.input | 33 + d2/d2.test.structured-input | 5 + d2/main.odin | 102 +++ lexer_gen.bin | Bin 0 -> 315152 bytes lexer_gen/main.odin | 20 + lexer_gen/re.odin | 500 +++++++++++ test/test_iter_lines__basic.expected | 7 + test/test_iter_lines__basic.input | 7 + test/test_parse_token_stream__basic.input | 1 + test/test_parser__basic.input | 1 + test/test_tokenizer__basic.input | 1 + 18 files changed, 2277 insertions(+) create mode 100755 d1.bin create mode 100644 d1/d1-p2-test.input create mode 100644 d1/d1.input create mode 100644 d1/main.odin create mode 100755 d2.bin create mode 100644 d2/d2.input create mode 100644 d2/d2.structured-input create mode 100644 d2/d2.test.input create mode 100644 d2/d2.test.structured-input create mode 100644 d2/main.odin create mode 100755 lexer_gen.bin create mode 100644 lexer_gen/main.odin create mode 100644 lexer_gen/re.odin create mode 100644 test/test_iter_lines__basic.expected create mode 100644 test/test_iter_lines__basic.input create mode 100644 test/test_parse_token_stream__basic.input create mode 100644 test/test_parser__basic.input create mode 100644 test/test_tokenizer__basic.input diff --git a/d1.bin b/d1.bin new file mode 100755 index 0000000000000000000000000000000000000000..46548ec0b5712a109b43ce2d5bfc885ac4d8ddca GIT binary patch literal 296440 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�f8{CFXhzB=z3-S&3INUC{&U+CL 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 literal 0 HcmV?d00001 diff --git a/lexer_gen/main.odin b/lexer_gen/main.odin new file mode 100644 index 0000000..355f107 --- /dev/null +++ b/lexer_gen/main.odin @@ -0,0 +1,20 @@ +package lexer_gen + +import "core:os" +import "core:fmt" + +main :: proc() { + if len(os.args) < 2 { + // TODO + return + } + buf, ok := os.read_entire_file_from_filename(os.args[1]) + if !ok { + // TODO + return + } + tokenizer := tokenize(buf) + parser := parse_token_stream(tokenizer) + print_parse_tree(parser) + fmt.print('\n') +} \ No newline at end of file diff --git a/lexer_gen/re.odin b/lexer_gen/re.odin new file mode 100644 index 0000000..16e23e9 --- /dev/null +++ b/lexer_gen/re.odin @@ -0,0 +1,500 @@ +package lexer_gen + +import "core:os" +import "core:fmt" +import "core:strings" +import "core:testing" +import "core:log" + +logger := log.create_console_logger() + +INDENTATION :: " " + +print_indentation :: proc (level: int) { + for ii := 0; ii < level; ii += 1 { + fmt.print(INDENTATION) + } +} + +Tokens :: enum { + ASTERISK, + BACK_SLASH, + CARROT, + CLOSE_BRACKET, + CLOSE_PAREN, + DOLLAR, + DOT, + FORWARD_SLASH, + LITERAL, + OPEN_BRACKET, + OPEN_PAREN, + PIPE, + TACK, + UNDERLINE, + _EOS, +} + +token_type_string :: proc (tt: Tokens) -> string { + switch tt { + case .ASTERISK: + return "ASTERISK" + case .BACK_SLASH: + return "BACK_SLASH" + case .CARROT: + return "CARROT" + case .CLOSE_BRACKET: + return "CLOSE_BRACKET" + case .CLOSE_PAREN: + return "CLOSE_PAREN" + case .DOLLAR: + return "DOLLAR" + case .DOT: + return "DOT" + case .FORWARD_SLASH: + return "FORWARD_SLASH" + case .LITERAL: + return "LITERAL" + case .OPEN_BRACKET: + return "OPEN_BRACKET" + case .OPEN_PAREN: + return "OPEN_PAREN" + case .PIPE: + return "PIPE" + case .TACK: + return "TACK" + case .UNDERLINE: + return "UNDERLINE" + case ._EOS: + return "_EOS" + } + panic("Unreachable"); +} + +print_token_type :: proc(tt: Tokens) { + fmt.print(token_type_string(tt)); +} + +Token :: struct { + type_: Tokens, + start: int, + end: int, +} + +print_token :: proc (token: ^Token) { + using token + fmt.printf("(%s start=%d end=%d)", token_type_string(type_), start, end) +} + +Tokenizer :: struct { + buffer: []u8, + tokens: [dynamic](^Token), + idx: int, +} + +Parser :: struct { + tokenizer: ^Tokenizer, + ast: ^AstNode, + current: ^AstNode, + stack: [dynamic]^AstNode +} + +new_parser :: proc(tokenizer: ^Tokenizer) -> ^Parser { + p := new(Parser); + p.tokenizer = tokenizer; + p.ast = new_ast_node(Group); + p.current = p.ast; + p.ast.start = 0; + return p; +} + +AstNode :: struct { + start: int, + end: int, + next: ^AstNode, + variant: union{ + ^Group, ^Literal, ^Range, ^Repeater + } +} + +new_ast_node :: proc($T: typeid) -> ^T { + e := new(T) + e.variant = e + return e +} + +Literal :: struct { + using node: AstNode, +} + +print_literal :: proc(parser: ^Parser, node: ^Literal, level := 0) { + using parser + value := tokenizer.buffer[node.start:node.end] + print_indentation(level) + fmt.printf("(Literal start=%d end=%d value='%s'", node.start, node.end, value) +} + +Range :: struct { + using node: AstNode, + lbound: rune, + ubound: rune, +}; + +print_range :: proc (parser: ^Parser, range: ^Range, level := 0) { + print_indentation(level); + fmt.printf("(range %s %c)", range.lbound, range.ubound); +} + +Group :: struct { + using node: AstNode, + child: ^AstNode +}; + +print_group :: proc(parser: ^Parser, group: ^Group, level := 0) { + // TODO + if parser == nil || group == nil { + // TODO handle error + } + fmt.print("(group ") + current: ^AstNode = group.child; + for current != nil { + print_node(parser, current, level + 1) + current = current.next + } + fmt.print(")") +} + +RepeaterType :: enum { + One, + OneOrMore, + ZeroOrMore, + ExactRange, + _None +} + +repeater_type_string :: proc(rt: RepeaterType) -> string { + switch rt { + case .One: + return "One" + case .OneOrMore: + return "OneOrMore" + case .ZeroOrMore: + return "ZeroOrMore" + case .ExactRange: + return "ExactRange" + case ._None: + return "_None" + } + panic("Unreachable") +} + +Repeater :: struct { + using node: AstNode, + target: ^AstNode, + type_: RepeaterType +} + +print_repeater :: proc(parser: ^Parser, node: ^Repeater, level := 0) { + using node + print_indentation(level); + fmt.printf("(repeat %s \n", repeater_type_string(type_)); + print_node(parser, target, level + 1); + fmt.print(")"); +} + +print_node :: proc(parser: ^Parser, node: $T/^AstNode, level := 0) { + switch node_ in node.variant { + case ^Group: print_group(parser, node_, level); + case ^Literal: print_literal(parser, node_, level); + case ^Repeater: print_repeater(parser, node_, level); + case ^Range: print_range(parser, node_, level); + } +} + +new_tokenizer :: proc() -> (state: ^Tokenizer) { + state = new(Tokenizer) + using state + tokens = make([dynamic](^Token)) + idx = 0 + return +} + +scan_one :: proc(tokenizer: ^Tokenizer, tt: Tokens) { + using tokenizer; + fmt.printf("%s: Call with type %s\n", #procedure, tt); + new_tok := new(Token); + new_tok.type_ = tt; + new_tok.start = idx; + new_tok.end = idx + 1; + append(&tokens, new_tok); +} + +peek_front_safe :: proc(array: [dynamic]$E) -> (E, bool) { + if array == nil { + return nil, false; + } + return array[0], true; +} + +peek_safe :: proc(array: [dynamic]$E) -> (E, bool) { + if array == nil || len(array) == 0 { + return nil, false; + } + return array[len(array) - 1], true; +} + +peek_type :: proc (tokens: [dynamic]^Token, start := 0) -> Tokens { + tok, ok := peek_front_safe(tokens); + if !ok { + return ._EOS; + } + return tok.type_; +} + +scan_one_maybe :: proc(tokenizer: ^Tokenizer) -> bool { + switch tokenizer.buffer[tokenizer.idx] { + case '[': + scan_one(tokenizer, Tokens.OPEN_BRACKET); + case ']': + scan_one(tokenizer, Tokens.CLOSE_BRACKET); + case '(': + scan_one(tokenizer, Tokens.OPEN_PAREN); + case ')': + scan_one(tokenizer, Tokens.CLOSE_PAREN); + case '|': + scan_one(tokenizer, Tokens.PIPE); + case '^': + scan_one(tokenizer, Tokens.CARROT); + case '$': + scan_one(tokenizer, Tokens.DOLLAR); + case '*': + scan_one(tokenizer, Tokens.ASTERISK); + case '-': + scan_one(tokenizer, Tokens.TACK); + case '_': + scan_one(tokenizer, Tokens.UNDERLINE); + case '.': + scan_one(tokenizer, Tokens.DOT); + case '\\': + scan_one(tokenizer, Tokens.BACK_SLASH); + case '/': + scan_one(tokenizer, Tokens.FORWARD_SLASH); + case: + return false; + } + return true; +} + +tokenize :: proc (buffer: []u8) -> ^Tokenizer { + tokenizer := new_tokenizer(); + tokenizer.buffer = buffer; + new_tok: ^Token = nil; + literal_tok: ^Token = nil; + + for ; tokenizer.idx < len(tokenizer.buffer); tokenizer.idx += 1 { + scanned := scan_one_maybe(tokenizer); + if scanned && literal_tok != nil { + // End a literal + literal_tok.end = tokenizer.idx; + literal_tok = nil; + } else if !scanned && literal_tok == nil { + // Start a literal + literal_tok = new(Token); + literal_tok.type_ = .LITERAL; + literal_tok.start = tokenizer.idx; + literal_tok.end = tokenizer.idx; + fmt.printf("Appending!\n"); + append(&tokenizer.tokens, literal_tok); + } + } + + assert(len(tokenizer.tokens) > 0); + return tokenizer; +} + +print_token_stream :: proc(stream: []^Token) { + for tok, index in stream { + fmt.printf("%d: ", index); + print_token(tok); + fmt.print("\n"); + } +} + +@(test) +test_tokenize_basic :: proc(sig: ^testing.T) { + buf, ok := os.read_entire_file_from_filename("./test/test_tokenizer__basic.input"); + tokenizer := tokenize(buf); + assert( + len(tokenizer.tokens) == 2, + fmt.tprintf("len(tokens) = %d != 2\n", len(tokenizer.tokens))); + print_token_stream(tokenizer.tokens[:]); + assert( + tokenizer.tokens[0].type_ == Tokens.LITERAL, + fmt.tprintf("tt = %s\n", tokenizer.tokens[0].type_)); + assert( + tokenizer.tokens[1].type_ == Tokens.ASTERISK, + fmt.tprintf("tt = %s\n", tokenizer.tokens[0].type_)); +} + +parse_escape :: proc(parser: ^Parser) -> ^AstNode { + using parser + node := new_ast_node(Literal) + tok, ok := pop_front_safe(&(tokenizer.tokens)) + if !ok { + free(node) + return nil + } + node.start = tok.start + assert(tok.type_ == .BACK_SLASH) + tok, ok = pop_front_safe(&tokenizer.tokens) + if !ok { + // TODO + } + if tok.type_ == .LITERAL { + // TODO Cannot escape a literal + } + node.end = tok.end + return node +} + +parse_zero_or_more_repeater :: proc(parser: ^Parser) -> ^AstNode { + using parser + + // Create an AST node representing the repeater + ok: bool + repeater_token: ^Token + repeater_token, ok = pop_safe(&tokenizer.tokens) + if !ok { + // TODO Handle error + return nil + } + assert(repeater_token.type_ == .ASTERISK) + + // Attach the ast node that the repeater operates on + node := new_ast_node(Repeater) + node.type_ = .ZeroOrMore + node.start = repeater_token.start + node.end = repeater_token.end + + return node +} + +parse_literal :: proc(parser: ^Parser) -> ^AstNode { + tok, ok := pop_front_safe(&parser.tokenizer.tokens) + if !ok { return nil } + node := new(Literal) + node.start = tok.start + node.end = tok.end + node.next = nil + value := parser.tokenizer.buffer[node.start:node.end] + log.debugf("Finished parsing type=Literal with value='%s'\n", value) + return node +} + +parse_token_stream :: proc(tokenizer: ^Tokenizer) -> ^Parser { + parser := new_parser(tokenizer) + parser.ast = parse_token_stream__inner(parser) + fmt.printf("%x\n", &parser.ast) + return parser +} + +parse_token_stream__inner :: proc(parser: ^Parser) -> ^AstNode { + using parser + next: ^AstNode + for len(tokenizer.tokens) > 0 { + type_ := peek_type(tokenizer.tokens) + log.debugf("Parsing token of type=%s\n", type_) + #partial switch type_ { + case .LITERAL: + next = parse_literal(parser) + case .BACK_SLASH: + next = parse_escape(parser) + case .ASTERISK: + next = parse_zero_or_more_repeater(parser) + case: + msg := fmt.tprintf("Don't know how to handle token of type=%s\n", type_) + assert(false, msg) + } + if next == nil { + return current + } else if current != nil { + current.next = next + } + current = next + } + return current +} + +print_parse_tree :: proc(parser: ^Parser) { + for current := parser.ast; current != nil; current = current.next { + print_node(parser, current, 0); + } +} + +@(test) +test_parse_token_stream :: proc(sig: ^testing.T) { + buf, ok := os.read_entire_file_from_filename("./test/test_parser__basic.input"); + assert(ok) + tokenizer := tokenize(buf) + parser := parse_token_stream(tokenizer) + print_parse_tree(parser) +} + +iter_lines :: proc(buffer: []u8, index: ^int) -> ([]u8, bool) { + if index^ < 0 || index^ >= len(buffer) { + return buffer, true + } + lbound := index^ + for index^ < len(buffer) { + if buffer[index^] == '\n' { + index^ += 1 // Skip the newline + return buffer[lbound:index^ - 1], false + } + index^ += 1 + } + return buffer[lbound:index^], false +} + +@(test) +test_iter_lines :: proc(sig: ^testing.T) { + input, ok_ := os.read_entire_file_from_filename("./test/test_iter_lines__basic.input") + assert(ok_) + linum := 1 + index := 0 + line, stop_iter := iter_lines(input, &index) + for !stop_iter { + linum += 1 + fmt.printf("Line %0d: %s\n", linum, line) + line, stop_iter = iter_lines(input, &index) + } +} + +parse_token_expectation :: proc(filename: string) { + buffer, ok := os.read_entire_file_from_filename(filename); + if !ok { + // TODO handle error + log.errorf("%s\n", os.get_last_error_string()); + return; + } + start := 0 + line, ok_ := iter_lines(buffer, &start) + for ; ok; line, ok = iter_lines(buffer, &start) { + + } +} + +re_compile :: proc(pattern: string) -> ^AstNode { + pattern_ := strings.clone(pattern); + tokenizer := tokenize(transmute([]u8)pattern_) + parser := parse_token_stream(tokenizer); + return parser.ast; +} + +re_match :: proc() { + assert(false); + return; +} + +re_search :: proc() { + assert(false); + return; +} diff --git a/test/test_iter_lines__basic.expected b/test/test_iter_lines__basic.expected new file mode 100644 index 0000000..30e960c --- /dev/null +++ b/test/test_iter_lines__basic.expected @@ -0,0 +1,7 @@ +Line 1: Hello world! +Line 2: How +Line 3: ,.sd1 +Line 4: Are +Line 5: you? ??? ! +Line 6: +Line 7: I'm doing well, thanks \ No newline at end of file diff --git a/test/test_iter_lines__basic.input b/test/test_iter_lines__basic.input new file mode 100644 index 0000000..038526b --- /dev/null +++ b/test/test_iter_lines__basic.input @@ -0,0 +1,7 @@ +Hello world! +How +,.sd1 +Are +you? ??? ! + +I'm doing well, thanks \ No newline at end of file diff --git a/test/test_parse_token_stream__basic.input b/test/test_parse_token_stream__basic.input new file mode 100644 index 0000000..94a735e --- /dev/null +++ b/test/test_parse_token_stream__basic.input @@ -0,0 +1 @@ +\(a \ No newline at end of file diff --git a/test/test_parser__basic.input b/test/test_parser__basic.input new file mode 100644 index 0000000..485d67f --- /dev/null +++ b/test/test_parser__basic.input @@ -0,0 +1 @@ +A* \ No newline at end of file diff --git a/test/test_tokenizer__basic.input b/test/test_tokenizer__basic.input new file mode 100644 index 0000000..485d67f --- /dev/null +++ b/test/test_tokenizer__basic.input @@ -0,0 +1 @@ +A* \ No newline at end of file

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/VZZ+l>?7wPlxSpjK);C(Oy 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 literal 0 HcmV?d00001 diff --git a/d1/d1-p2-test.input b/d1/d1-p2-test.input new file mode 100644 index 0000000..41aa89c --- /dev/null +++ b/d1/d1-p2-test.input @@ -0,0 +1,7 @@ +two1nine +eightwothree +abcone2threexyz +xtwone3four +4nineeightseven2 +zoneight234 +7pqrstsixteen diff --git a/d1/d1.input b/d1/d1.input new file mode 100644 index 0000000..85bf924 --- /dev/null +++ b/d1/d1.input @@ -0,0 +1,1000 @@ +fivethreeonezblqnsfk1 +two74119onebtqgnine +jrjh5vsrxbhsfour3 +tn5eightfncnzcdtthree8 +kpmrk5flx +fkxxqxdfsixgthreepvzjxrkcfk6twofour +dqbx6six5twoone +glmsckj2bvmts1spctnjrtqhmbxzq +7sixthreerzmpbffcx +zhss9gfxfgmrmzthreefivevpkljfourtwoeight +6tfzvrbkfour +sevenfive66five851 +drsgdrrgscqmsggrgq1fsqjhtkkrltt +3ftptvzhvrm5 +twoeightninemfsztp2gbqkpgqvzt6threekcdcp +four156 +959157fourfive +sixthreetwo87one7fourdbczdbjcc +lshzfive7 +38ninethreethreesevensixeight +z39hpppnncfivenbkc +9ninefivevnbrrfrfjfivetwo +fzgnjsz2nine9 +fnhksixfour1six81 +vkkxbgcqzqflgsvgkkkpfp9five58stsix +eight26sixsghd +7zvrjkcrrgbsix +tgdf38fpcssixeightcjtfour +tcrqkxkptrtt5fdblcldfoursix +9qpmknkbtxsfourd +8948twosix9three8 +vpbjslqkpbxkpfiveeight1mzjmhfzl +187jccxsbqtcjtwo1 +sixfiveonefour637three +stjbeightsixdfnsppjrgfdggqzjx6cplvznllsgtwo +3lrznqgc85seven3 +1eightfourfourmgxhdp51slrszbxmhthree +two3hj +zgnoneightseveneightseven5d2fivefourjp +ldjzhninetwokxlkbbzcngssdqphlrc51 +qvhtfhmltt61lss +lfmnhxmhschzrtntwotwo7twovkl8two +vrpplrtqxvssgnvdf8 +dzrnnphfl451 +two7pgbsixlkmseven +rplqnj5oneseven +2fourfourchd7 +threesixdpslzdft3hq +three4bqhlckrlgeight2lbdvcggfqd +ninefive6zqhgfhfdnk +2one9five2 +1ftsjdfmnkvlx9seven +four1zsztlvnhcjtvmrlthree4kpztfzqjtdplfxpqlskh +6zfrhkckfvxsixtjgtnmcx +eightfourcppgkrmtn3chqxgscpd1 +6threegxdrv8 +mstpbscvjrc5twozjtdxhckrfsnzsdm +twolhntgone5 +vtrktlkrqslcdnlslthree5 +mfkrfournine4knmmmghnsixxrmzhcsix +2hfkbthree +nine96 +threeqglpgvxgsdfgbctdm1 +1threechctd2tnm +nfgrzrz494twogbrbcpvnine +two5fdnksffour +19threeninefive7xzmtzmkpjmnine +six37sixninejqt +kk28rqmlshb4 +qmhlxonefbgcrclbf4sqtcpmtlzdzhg4b +leightwoplxmgrcjcxrfqncvjfdvpgckmqfqsfqjthreefour2djnsvctlt +nseven7dphcjx36twosevenfour +rdjkdfivetwo5sixfourfjkzbpjx +fiveeightcdttxrxjxchf6oneddnpdgxlrpqxrgqtcbgdqhzzsxdt +5blgzg +ninetdfive7 +eight9qldkxsevenfour +onegprdninefourgndvp7 +four13znsmhvtmfour +threeqnvl9zzzfoneeight +sevenzkbxghrgftsxfndhlrcxlcj64 +kjlmclkqkjl76eightxdlonef4 +7oneninefive4fkonerjpzpq +248seventwo6six8vbfb +8khtwojr +hssqpxptsb2 +3qcf +93xrm +twoscjr4jtkzxvlfnkltzxf63 +cltkcrh9jnkvjsfmtlszkvstzp +3sjtone9cznjhnkzmc8 +qcjmxqfhlsevennine6 +456rrkxxlfrhk4 +hthreefrq7lnng +427seven +slq5vtrsninesix5 +5two94bone4 +six73one +fournine757fdgkbppx3 +93onefive967vmtmbnjm +bhcktnzlsghvdl9eight +fournine9threenineeighttwo +21cngsixsix +5nhgtsxdninedvqktrqn +8tbnznrbg21 +6rjsxftdjgf29 +zdfourqtrjqzglq4six +ninemxhcjfbprlts1six +jnmzkfivefive2six2ninegfntlslsgp +fouronetwo7seventwoeight +sevenfoursixfive2sevenffr2 +8bhpx4seventwo +ljclbvmlpeight754two14 +eight11oneonefivesixsix1 +26ddmfrzzd6qdnvpqjpvdseven +vjgjpjtceight36fivesixpdrrlqpmk +three349mzhnlg +tmrxzcrdc9eightninephdq +two11rtlddgh +9fourtgsixgppd4two +34onenineeighteight +4eighthcx92mhrpjfndt92djgtmmnbv +nine771two9seven2drflmd +hxvsgpcxgkh4twollmbbbprxd349pb +twobpbp2eightmjlhrgc +fhnnf37sixone5mdvhhssvg +cknbvdmtcninemmhtrhmx2 +one93 +onervc8oneeightsixfour3 +fournine2 +knvjjvskmsixsixlvzt5sevensixmmthree +2sfour +29zqnxnqphflltqh +23eightptpspjtbnninesixfivedhfnmqjd +29jgghdf8 +meightwodccsxmc4nvq3sevenqdshf +fourbbnqscg3 +onetwo2fivef54 +nctbrzqsdljjsix5 +5mblhxfqfns9nine +6gbone8 +6gd9 +eight5nrzhl4sixseventrvtwokg +r21jjnine +mhfsgvcck5 +six92cdngxmfive +pdmmpzgxc1fourzbmbgtthree +rdhppfnk8 +fiveone4cf96qprdgcrlhvsixhznbbbh +two4eightsjzrlkhgbrxzs +nzhqbzfxchvtbs9sixnfmhpc +785eight +hxgdntgnmr8 +xsrxnx4tqzqgv62 +six9ssevenkdqrcnjgvn +dfvcznvxqd6twozs6xsfvtmnvln7 +rhlseven2957vtmpgczngccrmggvtf +gfbsfpn9s +jxtwonenine39eightpzmbdff3 +66pmgzhgffp +9cgjmfbgsrg89 +858tknqxhrgfournine97qrlvf +7fiveonedzbmblrtqfoneightkc +7gsfvvvfive72gjfbgk5 +1rsscgplc6two4fvxfgnkghfthreejddxmtsxjzmnhgcc +537eightthreeonenineeight2 +tzhgg26one +qxqhmhdhgqktsvkbkfiveonenzcjfgvnlms4 +ninenctkgtseightxkjlmkjpbd837 +5xjdl16cjthtvj +5threesevenvnthreeqkcd2xkfhprfgdzseven +pkqlqdvmsmsevenrmhhjtdnneight5 +cfqoneeight1psqjtgng34one +dnvdnstxrsgktsfk9 +eightjbdcdxpnzm736xh9 +z5 +x5xffv +3ggnbr +82dlnzszhpvjftdt +gkthhvsix7rfbrmnzvmlbsk +nineeighttwotfjndlrdpmvfbhs2 +9fpxsgdj5785nsxn5seven +qhs1ninethree +86pcqdkg8onefive5seven +mlteightwogeightsmmfvtwo6 +sixonefourpnnrbl9 +xstrnmzzjrsmbdone6xt +four777hkzrdclsrdfrqkkkh6 +xzfnndt546lvngqlghtggcrqfour +svqlsxtlfvqqzjq2 +167cffstwo +7ninefive5three92shmpzx +eight1threefive8fivetwoeight1 +four7eightone4onelcrb7eight +vzfrfxzzfzmldsixfour2hfpln +6one8sixninetwoner +nsqhnflqjnqvdgvfive21 +9sixeightqjhpdv +jstwonethreeninepfkkzvbzcknkmbcbsf6 +3five5 +499jvmmrfzkmbppzcm +vdpvj3nineeight7 +three2fdeight +rtwo39seventhreett +two68sixeighttwo9 +9kmmftsfgjm284gmmlsfvjk +five7gtbpfourthree9xbfttssrsix8 +oneeightmbbklndlztwo9nine18 +nthreesklqbkrxrmxkfpfprbjl3kqrgqtvgxdbcjnn +six9sevencnn5 +sevenone2 +three794sevenlqcbz +fourdcfour466twonesz +2534 +qv5cm4rpcjkd +fivehmvssv6 +twopltxmsevenfkfour956xvgxbbckqn +94txltmgz72fkcgcdkbrkbkfpnfck +seven9seveneight46 +457k +fhvdpgxpone18c9lnfnp4two +sixfive458x7 +eightdjnlvvsevenrnsxrbxqptrvhgnggv77 +qrvrnzxjkj5 +seven4two +twofivelcrfkzck8three9jcdxvnrsevenvkg +77sixrjqcmrhktb +ht9krsfghfrk6 +zfqsix77 +gjxzhgxzmdrczfpqlbp1562njqb7 +79three4b79 +twoqgxjkvmfivevknkxjp5nv3 +hjbzznfourfour8fivemkqthree2 +7ninecjtnr2rnpjsxnine +73mzgdbvrjjpzzxmgbjcdqjx29three +kskfgnxbjg97twofourhxpfqxqfivethree +fivermxblcb2one4 +ninefvkfplbsixoneoneeight2vnns +8q3foursevenlvmtrrqtsix +2three54 +jf6fivesixmbnhjdt +2mpkmrfqctzrfour +six4nineh +2fqseven1nthreethree +8nine4rhdfive +zczjmlslrmjbgrmbpqb3 +sixpstrxqtdtwofour7ninefive5 +kzkftdrqzthvx56oneptlvfzvsfiveseven4 +p71dmsnoneldx +nine9twofour5sixzbshnn +6qsbkgsxrs66one7rnkqzkqfvkhtm +jnzzxbtt1kctmsdplhg4 +pvbnkszjpmeightsixmxjxdprgcsix8zntghmvrl +brninesevennine3 +threedgbqjxhneightchxnvnptwozzfrqqtmmvhcksmjk49 +sixslxtwo2z7grtgdnffc +936797pbgtlpkttwokdqlfpbcmv +six99fsrnbpdthreefivejpdcvgt +one8sixsix4jqsvsqnjnxqvh +dsjkbmq1mghlstwo +42two +qbqgt2ninemghghninebdppsjcb +bmfmbzg36nine7mqljk6onenine +763 +five8ninethreesevenllmjskvbtlngstbmhhqhf +2klljtwothree3 +one2jgrqmprg197 +1fcjfbxonefive +171 +five4zxbqc2eightseven6eight6 +sixpkqvvlqkdkhqdseven4rjq27rrjpxl +79lcsrsix7twolnjjjqffhshfjshkrfeight +mczbvstsml22vjseven3gvf1 +two6sixonetwovntpsbfgdk7snzxrxdmhtgj +2ksgklnnine6kdfg +6seventhreevskblmp +9mptsnrpdqldltwo +52cgvgnsk3one9 +sixfive4kstqckhgdd +vxhtwone7eightninebvlpkcmfourone5four +4hnhlr83three3threeeight +1eightfive +36fbtgvdfnine9 +eight6ljtbkp +eightsixsix96bvjnxzjjchldtc6 +jbckzxc5five +vghptkb7onejnrnfftgthree +mztxz39six +7rmchptmrglsix21two +91tmvvktwo +seven9fqmfkgthree9sevenfive6 +jrcj441 +1nine9 +674foursncnphhnd92 +fsfrcgsonefivelpkz5threesnrzzvxcdn4fl +8zrlf5pvmzshrjkdgfkpzmgp +cflcrf8four9 +6fourkjhtlfrlpmjc95 +968fourzqhkzxtxeight8 +onefivethree6qxrpxkt +four46vvdvrkgv +five9six +1nine8 +bvqlzpjrmckxpgdfz7 +rrvv27 +9three8gmsbrrxzh4dxvvstrkzf8nine +frnqrxzcfivesix747 +5threek7eighteight9 +four4rrsqsm +twoeightsix5zmdmcxcfdnrnjjsixmfqpvndkctzdv +8zvbnthreenvplvljj +srfkl8twofive +82njdktmcckrjf39 +qqgmhfourthreeeightjjxfour68three +fourthreenine5 +9nsfkfcdqcbrbdh4ninetwofiveseven4 +7fivetwo +2lssdgdvhl +fouroneqmffoursix9eightwokv +4cjmsixqhddpcsngvxqskkbmseven +266bfxtxpkxcxthree2ktmtddmfg +five6ninebgzmgqbsttf3vhn +pqmgcchhqrpsljbvx1fourmhzszhdmfznine +jlxlcqfc1bgqjsvxpbn +eightfxpnxckzqxseven6llfvqqbhdd1ninesix +threeflgkjrnrmr4xpxfhhl +6pvszcmrmtbfhlnmgmqxnqvntg96 +cgnp8ffnxlpmblonethreeqcqnx6 +zjvpxg3ccmkxtzhlx +7vgpflkfdkvktfhxgf8hcgxzz +4cmhfccrttfive +12twofour +jrgoneightnddmmchbmmklk847three +threefourgbsjmmrznlmgttq3zncprp8 +ntqpbkvr3xkgqgxjh82 +nine9five +n1eight979 +8fzvjmmnhd2five +6vxmbqsvzt +22fftjtpv84sevenn +twoone7slfhztpc7bfjptdzj +91fiveddprnkzprseven +fivetwo8dssgjmpmvsixps5 +pv9eightfourhgklds4pfnxmtpmzrmx +vfjfd4sevennljkxxrz +3threesfourfourbftwoksclvtxmvmq +seven7fsj165 +77sixkqsdpzxv9 +1fourninemqxqc412 +pmdmtthree1sljpn99three +zvqvhhbrg76bfbldtwoeight +sixbh5two5two8 +fivefournjdlbggpsbn1threevzqktlbm8 +glzqmznfiveninesixkscdflhqj9rjnjt +hjgbncf9 +zdnf7 +six6fourjghzroneightf +6zxvqqxrc +d6 +1txhlrsnbk97fivelvqjxeightfour +hthdvd35six7 +ninedrc3one +eight28nine1vjm3nine +zrnninesevenvftnjl1pdfgkdhmjjgmpgxkjttwo +threelhnhfxkeightsix7 +gjqng7two46pzxcsbgnv +sixcdj9ghqlbsnpbninesevenxdzkqxdfdrlfpgnpg +nineninethree3twovhjhjgfive8 +ldgzxftnninenine82 +zxvtgsfiveone1sevennine4rfh +1318khksmlfv9sevenfvhrt2 +vztwoneseven1rb +457threeninedmffxznlpb8 +five7eightcvgcmqkctclnjsnfourvqptsnpph4 +pftwonexgrzdvq65 +64hfptjtqztlv +fmxfjg686fivettfgd +hpbqxfour6two86nmrhgkeight +3skzmdggpnxsix5four8 +sixfour7smh6gbbphmv8xrrrsns +5bjvmxml3threephlfnbpfxq +9zlrdnxvzffghrqhsixfcsrtqvfone +61hmdmjfv36eightthree9 +78six3crj4nine7 +fourqhtvfbpx9hcvmzmdjrshkhrthree +threeninehbcgqmxknine8z +17csdthtzrsqnssxqfivesttdfzxrkhnine3 +9eightpcflcqfhveight3 +hbvkzz9seven +6seven6 +eight3two16tlnsmxpqbn +fjqhctnjhk4fourcgxfhffrk98grx1 +sjkpr34 +hvlh2five8fivendxh7three +onethreed12jvnk1 +fivetwo1rtscxhkqpvtxkmjccbcvl549 +5qvmvft +nine9cpqzbvhseven9mtjk9seven +znrpx47two67six5 +xnqk5fourp4tflgmbvhlxsixfive +3fivesevenrzeightbhfvhrh +qzmbljhone8fpmkrrrhvdbqvdthree1 +rfzfztn83jrtnn3five +29one5fiveggrhlvtvtz1 +onennczlkx3twozjdlblqcvhtwo1lrvtx +mhmrtmjlffjlmhfour45two +bvjnzxbmfninefour94four +glrcmgthreesix6eightxgzx3 +six7v4onevptsdghxqblrpblng +7nine6sevenoneone +pf8oneoneightjgl +5dftcf8fourfive8ljdkhjxd3 +nzqnbpssix54ssmsnthreex +8fourpbxtvcmsvrvkcms2zvvvmkp +mv9eightone +2lvthreekbfjj3glbrlpxsqlkdksixseven +twotsvcqfoursevendfsqk1threeone7 +fivefsphdxqlpds91kkfqone +eight5two9 +fourfour7tfxr +2czjhjsrrzc +ninetsrzqvldgn9fivefive +fivetwothreevcdvqnv2zhmtmrqvv2 +nine9tqkhxsthree2eight63 +bneightwo8kpkkgbxgnineqjkt4fiveninesevennine +rvhjzveighthqdgzhfcbnxztf25sixfour +8four4six +rjsgxsjqrq1pbzhfxqvphvnd67kvt +sixnine6 +xnvfgvcs7 +3sevenoneone3 +btmnrqcphpcxnhtwopvlthreeseven9 +991 +3ninepqhq9mtwo +eightfmfkfvmtwofoursix2 +two48 +bone5phdjdlseven +ptfxfdkninefive6sgrjhxksft6 +nine9eight +2pkbv +lhqeightwoseventhreegtpvhsixdgseven8vlkkl6 +j8nzlqctlbffonegzcvpjksmr1ninetwo5 +f93fmgqllzf5 +mtsdrqzqrkthreesnjxkdjlc5fj +95onenmqrzbkksevenfour5five +six8threetkzqrs +two9twooneone2rdkdtlttj8 +srjlgxreight8fiveoneightt +7fourxtcj +threelrqhtjtts9zsix1jvrkkzn8 +6xxqlzkgfspv +zltbp8 +four3seven6mhqtln342 +9eight7rrseven8zmcqd +mlgcbjhxjeightqxxxb4seven +3nfivedgpvxprzvpbftplgtfivefour +ninenhxjqzhhhl1three99 +fivetptfpone89ponefourjxmdrjkrleightwoh +3tspjckb +9four39gvlmp5 +twotwo89 +mboneightgjjrxxxkmmhprxptqtvseven754gjjr +pdgksxnkqj7fourdtjlnjs3four4 +3qkkbbfkvnninencbvnvztmnfpbsix8one +seven2jqljbktgzvr +fourdv5onesix8five8seven +5sthtkqk5 +tlpds3 +tvzflpzpgsl2hcpsgxxtgqeightfoureightoneone +8gjflqxf26rfour +578vsxmdtleightsix +four2two6 +5onetqhsfourtwosix +1xj5fvmftprrcqvmcj9 +qzbptdttbqseven6 +8l +ninejsfdnfl85fpjgcmkqvmfivetwoeight +kcmrgnljhpfv2jjrfcvdqsixkjhlfnq +cmlvvonelmkfbt3qfdgz5 +9hnsjjgdd4mvksevenfzplpczbbonetwo8 +zone3 +cthtrxb39393 +4nine54six4txtpcz +m1bgfeightqjhvlrlfj +3199 +one6nineeight5vktwo9kgfjhktlgb +2cpgtrfourtblzrhdlvdq7fourtlpvjkpn +qpfjcfmgnpnvrsix1shncrlmone5zjvcdrv +3mc9qgkplqcqjdtwogmsxvcdhxccxtwortdpsjpx +8znfpbqv53seveneight +vpptlbbmqnfivekq7 +one27ctq193onesix +66 +znvvmjktwoblr8 +tdqzhmsv4onefour +hqxdgtrhmxonetmpjmd3ltwo +rlppvdsrxpnxh6fivezdbbvgpbpqkxxvnnq2 +37ninegthrzpzkrnine +lbtcrcmkckfmheight5ztvqpbt4 +six7eight498two +1msqsmdfdpq6ninepxnjjfnmfivecfxhdrndbd4 +8eight9four2 +cpmeightwo5 +seveneight2three6two +sevenonetwo2rqhkvnjthjmrdkhrbjsstfour +fksvone9four +snqbjfjmcbqpmonestj7bxgj +mhbxccsseveneight9gdzdkeightpk +mgks1seventtbnqcdllnine65qkfdrzm +83xzcd2ncvxdbgdrdklnmps4fxcndtkjsg +fsqgljbpxninesixfive55six1 +34fqqseven2 +3eight6nffcnjrsixsevenqf +dplzrgtn8xjnqpnxts1ninesqfhrdxrmn +szd83hxlnshsevenone3threetwo +csevenqnpmqhtpeight8twonelp +dxzfhlrpzzfive63dz4sevenrlqcxhjddv +xbgf81bxlthreepkjh53 +8fourbbcnn +3gdthtqzjleight9sfmmzcone +ckrkgrxd88 +three4zlkvrrmsgc28nineseven9 +nine5hcp9 +821pbsfmp388 +two8eight2four8 +14nine +four6vxpvfhfggnninesevenseven7twoone +3onethreemsjjvc7jblmdxrz +6gvfeightnineplmmbtsqxcxs +5four36ninemtpqtzpktqfpfive +zmxrctmxnfchrmsdxj1rbxkblsevenfourlgdppzfblh +7sixhqlrfqzzbppzzsssixlhtv +1teighteightdj +7cldkzgbn +mjsdlsgtwo2two +jbnfqjdl8 +fourninesmff5fzsvpxvc +five3dzgrsrbsmc7pnlz +bbzch5twosixseven8one4 +2229 +six824881 +onevtsjztc3twoeight1 +72sixsgzpbpdjvtnxfivesixsix +1fournine +841five +qvrrpmdmgqseven1sthree +mkxbqcrxtsevendsrgvfkrgeightxrvfcgtwopsjnngn8 +8dvjhfhhzbthree5p36 +qqmhvjjnznxr95kkl9 +9sixsevenz87 +threejvpsvdxkgfg5three6bqmg5eight +f7four8eight5foursix6 +8sstmfkpsjmxmrdkm3fpxxnpqmdhvrbkvgxxzfourseven +8vtpvlbkgxngcrjrsone8 +jtwonexsgmlztnhtrljtfggkm5 +cbtxjqqdqc56fourjhgtrjsxnbxnineeightwov +76zts8 +fivehqftq3 +5fiveqpncbfrrnp5sixfive +sevenseven9 +8nine2fourdxxdghpmvseveneightwop +five4lzmvkqonefourtfhp +928 +fourklbbjnr6 +3eightdvpsbkf79klxnkkfour +67three +2two67hhsrfbdfournine3 +lxpl2 +sixsixjrkhthreeznvqgseven9kjlhc +34llhlctkks +rsgmz7nine3 +3tdxfrvpktwofourfivevxtlllqvggft +seven2ninegcfrhbjxhlcntxzvp +321dcmcqmmfvfzvgmjp1mone +two12qlpxjdjqfc54seven2 +eight5fjmsgjztwo +twotkdjqqbtt6twoone79sjkf +19one4 +xvjtmnq15 +sqvtzflq8onetwo3fghrstrd5three +4seven8rlrggvgtx9crnbseven8 +59cxtwo55596 +dkkdlsmmttwofour8 +9xzvnnnr7jjjsrrxlsvggqplrqfpgl6rgrqgrqhr +kkbjcptltjsdjrlhzzg4drkffivezkxl +krsevenrcdq43 +72fiverxszpfkgxtdjnspxmrt176 +one5rjglslglzlhnhqj9 +18bxgghx4 +4fivegtxkxvqlskpv726foursqeightwonq +eightoneninetpht39two +four5982xjmvzxbhkqfive +sevenptlmncl4 +4twonine3 +nfpvhninefthreetwonine88 +onervzkpxbrmnsbg3rkmjsfbltwo +gv2 +eight5dhsprsgr +8qlbfive1flxrb8xcsfkdkxskdmk +gzv65rmkncqcveightfgfvfcmttkgvbxjg +two2pbxckhdlxfivetdqthree +84lgmvhxpldeight +jtjkmlfbmseven65xrnfbkn +9five2plxh2 +6nineone5rgrkdzhsxj5 +vjdfhvklsp2one9 +sxfvgxgh4drmrhmbqjxhkr8jqnhqrnine +eightfivetp6mndcjqbdvzsix +seven7vt1 +five65twotwo8eightjm2 +mvvsix8threecl1clftjvjlgk +2threefivethree3rqhhdvxqmg8 +qkkpvjfmpjcsmldtnine4nine +zgrpvl3 +mdjnine1kjfkqqn +7mptczpscnq4vdfbveightfourjkhnhlkrkgch +pnineonetwo2 +hkvtvvhrsrsevenfourone7kglfnjzztc +594eightpp1vseven +9bbghfmvgcpchvbfivesevenfoursix2 +2three2796 +sevenmzskghzgnxhqcq48htpczbhgvtwo +61hnccftjftjbnntsjhbfvvdtmlpbnnh3four +ljg79gdvhxdkmsqmsgnz +4ninebjgqqz +bszxzt4gone6n2 +l4ctzkxbz +5qrhonetflqdnsztwonine9vnctxjnine +one5xrl2ldcrs +4eightnineone +zjlgvvpzpone9 +1eight5three +vmvpknmkds9onegjxsfppqtwo7prv +threembbkvhlv28ktfjpd29 +onefivehjvhjjbjj5jmqcmbxskninexkftfk +2eightjvpxjfzhcj +59glcksjlr6onefourtvszlbcztlbcjnkqn +sixxls6seventhreefdrhsfchfrfiveggdbmfqvxk +sixtwo62eightkcnrkmt +eightfivedpscseven93 +191dhfpcjbn +rjhgbzqftwo247vhtnxone4gjrj +8fourctzsbsnine6sixfive4 +four1dcczj +fourqnskksgg37sixeightpktnqvlm +7one26eightsix +six7sevenjbhfsshdtbvpbpzx +6jstxqcffive58twonelhf +2sixhcdkrprbskfpbb29lsxgpf +2qjlcphonefxx44six +ninecsssqzhone6nrmlkdhvthreefour +hrbnfive19 +sevenfrtrbdqfournineeight2 +mbkljfive5snsdsthmcdqrhpklxgx +43vvtqb5rfivesixkbxdkfgshjk +kgoneightqqxlrhtpx58threethree7vvqq +plqv7fivetwornc +six8bhgnfctwo +2ninejjtvxrffjfivesixtwo +mpntlbqvninepfkdgdrmrpxgs441 +brcspjtbttnine16xhjhvzgf8fourrbdljsz +three1onefive +five1q59 +2rxtthree3three +dd126gpdnjjgxmg9 +eightone4cnpqrrdvvsixtfdfnlpmz +llrfourtwofourvlg78 +ninehjhpnjbzdgxxcthree5 +94vp4ftkxfh1 +6tfrbtvdk5fivefive9zpgvfkfoureightwockn +bfnxmkjsevenfive8 +9gqrnnmjddmz +four72snjxrhn +3three4eight339 +four5fivervnxbscxjdtwolvnine +eight4xvsszglslfivetwosixsixfivekndrmh +ninesixeight6eight2seven1four +661seventwo +23dtscfgln7 +6sixlcdqqx196 +ftggvxqqlbrpkg629hxgsdnzxsrd7 +3pmsbddckfivefkhxlhp7cmxgnf2 +ghzqnkch7cjrs +four22 +mpmzbnfour852r4six +r8one8five +onesix8threevxgpq17four +qnqeightwofcdsxgscgclpptnp9four1sixnjlvxqxxsnine +22ghnftqtmxzgfllzqkjvglrncgtwo +9twolkqtdzlg2qglgtnls +one3fivevhp4tpvjxccrnl +4jghljvxq +6n +5sevensevenzsxtrvprbrpmnzjnft8dtczjfgrcjqdtt +692rchkx +32gpqjfnsevenrnqcd +3fivejrgfjthreetwo869 +sjtj4ninesix +9pqxqhfourthreeltjvpv3 +twozxpthreenine931threethree +9kdmxssdm6fivesix5 +3chmjhtwo67eightfour9 +sixjt76fiveninedjzpceight3 +6p36onern5 +963seven +pgzrdxlqcb6ninejmxreight45seven +sevenmbgqvnnine5eight +twotwo5 +hzbfour63nttfktqjzjhponeightcz +tnmbxcgrxbfivefive8cttmdeight +tklnv52two626htjghrccmzct +4nine7mninetwo +cfglfqttjrtnzrrb3jclcngt4 +ftwo6eightgctgjzbrxlftlhvzc +kjscrvjhbtv7twoneq +four51onezkhllzssix1five +sprftsonesevenn3rmfive +m35five2fn +dcvvxzbmseven16 +tlrone45 +nrtfqlsxxvvcqtnjxzzonefour6329 +bq64six +btwone79mkcmhlmfg +four35one +seveneightthreennbhgbsix6nine +8llbpdqqsbb +sevensvhzkjfxrnvxkp247five +qftsrhn3vsnbkpptqdsxdz +fjrp3threetwo7cbjsbrq +qzbbpk65 +nttgvr42fzkr3sjgsfspnmfive +zsjnbntmmlqs7cgbdxcmqone9 +threehpjbgphfqj2 +onezjcmlcjmkfive7 +fourthreefive86twosix +vlgfd31seven +flbqdkfqmj5htrzfpdjxeightsix +psh5eighteight8six +crzpzxt3eightvgfive466fbs +7cxxnglphqcxxnlbj635 +threetwo6brzqxrbfrbffzllth3 +jhcpvv8xccdmczvthree +fivehzsdct9ffmknlgtdmfzdfvmxvpj +68eight14zthree22 +4qfdnl +seventnfnjtdv5qsrmksixffcrs7nine +1two5one +ninefmjlzkninethree3 +hkkltwoone6hhkdkqdvznmnine7 +rns2jmbcvp2 +7tworgz5mxxtbjvg +twodxzfvhkzbtwo2qght +1bvl3 +scxhtbssnghvkkhjr6v8 +dxrztssg5jtdsix +4dhpvzsmxhbsixjrtqxmmcnkhv +2bxzpmzteightpshgffpn +onetwo14sevenlvvhls5sscsrpmzhsix +fourtwomxscgh6four +7mnzfive +xhzsgtppxgchc9threenine32fourthree +9nine4sevenqnhhglgfdccheight +mssoneight8three79vgpjxgjqseven7spgzdfbltl9 +6zxkgeight +7mjqteightthreeeightdrnkjzzlm531 +oneoneeighthhgsvj45dvzdvqxqkz +threedxsmlfqhpcs75eightthreecfbsgbfdxz +68two +48tjbzmqrpmjfpv +eightnine3six4pr6fmtfhxssrd +3rngpqfourtwonehqk +eighteightfour8tkgfkjcsixone5 +7one3mcffpztdmzshrs2threecjmlsv +three1jznfive6dxlcxn +htzfvd1twoonesdrhpn +twofive7 +five35ninephsixtwo +ninethreethreetwoninesevenfive8 +3j4fivekcqj7 +hzf9 +7threefourseven6onenine +tkzdhq39fourfive34qkhh +one1mhhrglhvsbbqvj +ninebthreethree9four5stfspnine +hkmzxzhvfsevensix9three2seven +71six35threeqdhxbxrhcx9 +clnzgbxkglf31 +sixmsvpqdonetwo4fourpjrkmnpfdvvrfh +sixthree4one75 +seven5eightsxnkzfbcnlpfhsixfive +98st +one7fivetwogvjpmx +gpvtdsix5 +five9twotwo94qsxlslxq +78znzv8vbkqxnxhj3 +3threeqfbxplhqxsr61 +sevenjsvdxcjqjp5 +hbjcnqqtd1twotwofive5two +vqdf19 +52two47mkrnvrkpfivelvmgzjgcv +8nineone +ftqtbqqrqrsnnbnineninetwo6onenmjhvlr +onensgkpknpqxm3four3576 +sixtndjcvprxzngkfivesixpvtft5 +vtvkrnjvgninesktdqlzpt5 +9kdfqnsmzz +6fourjbdqj +fivedmdphcz12ppltqpb82hdjldslp +ksqkttvninesevensix4pbnjsfznch5dlxfq +67hpqgstjlzsfive77 +8vxrtgxfbk +6qksbmnineninekbzcbrmtjthree +76prtggdthree5seven +qksgrmmnvone1thmhh3twoeightsix +two2oneseven +cc9241nineninesixtwoneggs +fivesevenhqvrrqrhqlvnslvvqnzrnninebcmsmc3 +nineeightsix42 +vreightfourninefivep1 +onedzn7mhvpnjsdgtzcp +fbvtnineone5five7 +6oneninesixjgggcfkkltwo944 +gcxkmnnbeightsix4 +6one2eight6gbm33 +threefivetwoxsrt7 +5glzddtwo +94hmjcsevenfour2frqljgdrdfoureight +jqsfrllonedqvmm3n4six +913ninetwomkhvvfntng7seven +fournine8 +fnmsx4jckrgtwoeightfour5pdhbb +8eighthrs +threethree4 +nineqhkxhfslfrhfivep64sevensfg +three9nineseven7four4twooneightqbs +143seventlnvcdjt +clgltnktwohzmvrdcspfjc1twoqs +2five4 +klt1xqmp5vkrpz +vdntdrrnz8vtxx +51sevengrvvqvnrmmsevenkqqnninefourskgxncnl +3cbcn +four5fivenine68three1 +seventhree2sixls +4eight8sdprgt697seven +ptfdbpr414 +9jrgnxqfourbmcl +1three8dseven9jfive +66pdxzvnzrqnkmfthreeqgnkdqvvcbcjbdsnz +threercbhjnckc8slv5ksrhvtt9fh8 +six35tpf +pzrghq2four42 +k8ninegqdcbnhb7mskvft25 +2cxvggrthreedpplnjvsqhgfpbfivesixnpcsjn +ftwonethreefour9fivenine1five7 +sixsixccfbbvxkrcnine71 +9gcglxmjknhtwotwoone2onenineseven +khvppgl8eight +bzninebqfhn57 +oneqbltgqlbpqdxgqonem4threefour1 +xchkvlprvfgd59jdbfgvlbeight +84cjhvqmgdfh1fivesevenf +2one2 +hxqfsjtwofivehbvndtpsevenseven44hkdstdkzs +nine4k1five +78rqrtjzsdfc3nine8twosqzzgsktmkcszzx +sixsix8 +qkqhcfdckxsix29hfnnineg +twotgpfcdfcdtwocrffone5xcgtscjbmf +sevenfivenjvtctlkkmgeight9rxtjlnb8 +ntqfzccxhjfourfmlgkheightmkplt5 +1lpgdxeightqrmkqlxvcnntbvgzthree68 +6four9two +threej5oneeight +pmlgczzpthreethree89btlvhfzbjd +8fiveeight +tvdkgbgrhplq66fldd +jsfkf54nvqmbnjmxks +gtpxlmphhgbgksixtwo9three +5ktgh +ggvzvfzmmmvrsqghrbd3kninezrlftwonebms +4two3z +fourzdfstskxhggkrl6eightndbxjeight8 +3zdzlreight1827four4 +2qlgkrbmnsgvmpninevjglsevenzdtmrqrnljthree +four2eightfiveldxtfjltseven6fourbddptkvjl +brrmvbfqkfczz7hthree +12fbdbbsrzss6dsrsrkjfhsrjxpxhvkfive +889srrl6six186 +46tscxgjrxtwo4hlm35tzfxhrzsfd +fivesevenqgqzpcqnjdjlmg21hgnrdhfrp +2sixznfour6two +four4ztsfhvvmdkghh9one4 +bdnmcghlkjmthree1sjhqbmmjtvfcxzleight9 +bbqpd77jhlqbdp3fvnsevenfzxq +six7sixbd +8rstj9onetwonem +6one1 +nineqstcshn35five +eightxndstksjj9xvmkhxgkqtwo4 +fivek5xhqzvtplmczd35 +zjsjmxmxeightp24fiveeight +9sjkjsjqxfnsdgxzmhjzfmbbmj +92qsbrtfour2onefourone +pkgc7sevenl9seven +glrkpdfhzddqvbceightpfxdgzm1eight +39bmsixjbzpkh72lklvgk +5four7onesevennfglmg +two6jvdmxqsthreeprfhq5 +moneighthkdcpfhfmx8s9 +twodkcs23fhj5 +fourkcjdhmzvdbrkgj3onefive +mbmjrqlqzml21 +threexmlgkxxms4rdrlcmlvx77 +3mkjlxlkknfour +3four9 +65ffd91 +vxnxs8eightpl2three1mgdcrmfive +lnjkchzljjbznbdtxtgfnsevenone2ztxvtfzlbtwo +8eightoneightjb +qxxndbsfxpcmxdfrmzfkdvfvjplq6onetwo +36gjbxrllone4 +rvljbxpglgpvxgq72 +35ct69hzsgsb +six6sixzgxsfdkjtwo2drtbnine +ggdvhnngklthreezfqbzzbninephdhcgzvnine7csbq +54twofive19five4 +bjeight4four +52mfcnnrhblfiveoneonelmdzg +ninebsj2lfx4gfsqrfsglx2eight9 +3859csvhpkkksgpqnx22six +2onehdhqsndjrgspctkgjlnine7shxpd8hmlvdvsvqf +four5five6hkchns +fivetwofourgvthree9zxtrxf +onettmrcxbgfdpj99sixsix +onelqdmkfvxg4fourgvcqbtgqs +onehgrsfivedslxgxd19 +eightxjf12sevenlsmglqrzrtpm4 +vgppbqnskvpfivefivetqxlkbp3two +pkeightwopkz8rgtqhrhrjdmht3mz5 +bbghbl9eightxcmftpndfive +oneseven2nxrcseven +fourthreefour5 +53zsvpqnrjtwo5nine5nrdvmg +eight78twoone +bc6nf4zgnmkbnjts +xeightwopbgt7two +hqsnjjlbfivetwo84threepnine +br7oneeight2 +ckxbsdjjttbxczfdpzmrxfh32eight +5212j912 +1qhtwo3three9eight2nnjpbl +kdxx5five2ninebrvfzbbxptsccvdjgp +sixfpslbrfmqfvjs8seven +45qbcvqcjk6ninesix +98nine8 +2eightonekcfvzfonethreenpxdpqtnvj +two87 +jqnzhnzsdgg3eightfournbgsdxbfg31xrnv +4three3sxvnnzqvhcxj9 +mpjmgpmninekffbkgprkb9tzzdznine8rtq +xhpfptdmpkeightdkqvpzscx7jndgsxxtqh +17vvktdvdgpthreeone1gqnb +fzpbhtmdvseven2one +sixzkkbjmnxnxm3gcvpsddqqgzktp63h +nineonexkqkfszg8qdzrlqszpltwo9cseven +7xfhtdfdldzplmrfivegpkgfseventwo +xvone5two7 +fiveqdrgeightvrvtmtvvmnl2kbctwofive +three9rrxhddsdfive577 +mnkltgsgs4fivefivekxzzhjdtnzzvmvxdh +blqtmklmkxcjtmxsrflffpzjcrninecd7rgdn8 +jgpktmfourdxzll8threerlssqvslnb +4grvtbmlpqxgmzzksfgzvjggsqhffq1qcd +cninebtfvxfnmbtznfnzdh4zdmgtvbbnine +1seven4vkvqcktfourvjtd4zqh +8eight7lhmx89four +xrpxkdrf8fhl29fivexzsrdbmksixpvlk +8tvfplhxxxzr +twothree8nine2ninegfbrchxmmfive +9threeskhgsnsvvzpnnv2seven4 +8sbzvncqszzdflznpqfddeight3 +1eightzfivehlmhnqbnnr +sixfivefjfqftjvcdzkpbkhnvqrqqhpvmgnq75pfk +mtfvjbbpdeight1 +txtfqxvbrnine2 +sevenptvlbpkdzpp8tnlvkdjjpbt +qgoneighteighttgrdmljtzbblrtskvfivevbbp1 +ninethreejbxseven392 +86pbrnhhhpn +sevenonenine5bcqrttts6fourthree +4seventwo5ngnbkqftzdfive4lhsthree +36seven97klhbqbpgninerb +813eight +ncbfctqlsnfive1brqpthree4 +ksbsddjcknsevensix293three +rljzzbvd3zkmbpjt9eightninesnlrsone +97ninesevenrhchvppnztvfbfpkzrbcone +sevendxbninefour2fourclmln +1rdtwofjvdllht5eightsixfourbl \ No newline at end of file diff --git a/d1/main.odin b/d1/main.odin new file mode 100644 index 0000000..7a794db --- /dev/null +++ b/d1/main.odin @@ -0,0 +1,393 @@ +package d1; + +import "core:os" +import "core:fmt" +import "core:testing" + +main_attempt_1 :: proc () { + if len(os.args) < 2 { + fmt.printf("Usage: ./d1 FILENAME\n") + os.exit(-1) + } + fh: os.Handle + eno: os.Errno + fmt.printf("Reached line 13!\n") + if fh, eno = os.open(os.args[1]); eno != os.ERROR_NONE { + fmt.printf("Cannot open %s: %s", os.args[1], os.get_last_error_string()) + os.exit(-1) + } + defer os.close(fh) + buffer: []u8 = make([]u8, 1024) + defer delete(buffer) + idx := -1 + n_read := 0 + digits: []u8 = make([]u8, 2) + defer delete(digits) + digits[0] = 'A' + digits[1] = 'A' + total := 0 + line_ctr := 0 + outer_loop: for { + n_read, eno = os.read(fh, buffer) + if eno != os.ERROR_NONE { + break outer_loop; + } + if n_read <= 0 { + if digits[0] != 'A' { + fmt.printf("DEBUG: Line %d: First digit: %c\n", line_ctr, digits[0]) + total += 10 * int(digits[0] - '0') + if digits[1] == 'A' { + fmt.printf("DEBUG: Line %d: Repeating first digit\n", line_ctr) + total += int(digits[0] - '0') + } else { + fmt.printf("DEBUG: Line %d: Second digit: %c\n", line_ctr, digits[1]) + total += int(digits[1] - '0') + } + } + break outer_loop; + } + for idx = 0; idx < n_read; idx += 1 { + switch buffer[idx] { + case '\n': + assert(digits[0] != 'A') + fmt.printf("DEBUG: Line %d: First digit: %c\n", line_ctr, digits[0]) + total += 10 * int(digits[0] - '0') + if digits[1] == 'A' { + fmt.printf("DEBUG: Line %d: Repeating first digit\n", line_ctr) + total += int(digits[0] - '0') + } else { + fmt.printf("DEBUG: Line %d: Second digit: %c\n", line_ctr, digits[0]) + total += int(digits[1] - '0') + } + digits[0] = 'A' + digits[1] = 'A' + line_ctr += 1 + case '0'..='9': + if digits[0] == 'A' { + digits[0] = buffer[idx] + } else { + digits[1] = buffer[idx] + } + } + } + } + fmt.printf("total: %d\n", total) +} + +line_no := 0 + +fmt_debug :: proc(msg: string, args: ..any) { + fmt.printf("DEBUG: L%d: ", line_no) + fmt.printf(msg, ..args) +} + +digit_int :: proc(digit: u8) -> int { + return int(digit - '0') +} + +add_digits :: proc(digits: []u8) -> (x: int) { + x = 0 + assert(len(digits) == 2) + assert(digits[0] != 'A') + fmt_debug("First digit: %c\n", digits[0]) + x += 10 * digit_int(digits[0]) + if digits[1] == 'A' { + fmt_debug("No second digit, reusing first digit: %c\n", digits[0]) + x += digit_int(digits[0]) + } else { + fmt_debug("Second digit: %c\n", digits[1]) + x += digit_int(digits[1]) + } + fmt_debug("Total value: %d\n", x) + return +} + +main_attempt_2 :: proc () { + if len(os.args) < 2 { + fmt.printf("Usage: ./d1 FILENAME\n") + os.exit(-1) + } + fh: os.Handle + eno: os.Errno + fmt.printf("Reached line 13!\n") + if fh, eno = os.open(os.args[1]); eno != os.ERROR_NONE { + fmt.printf("Cannot open %s: %s", os.args[1], os.get_last_error_string()) + os.exit(-1) + } + defer os.close(fh) + buffer: []u8 = make([]u8, 1024) + defer delete(buffer) + idx := -1 + n_read := 0 + digits: []u8 = make([]u8, 2) + defer delete(digits) + digits[0] = 'A' + digits[1] = 'A' + total := 0 + outer_loop: for { + n_read, eno = os.read(fh, buffer) + if eno != os.ERROR_NONE { + break outer_loop; + } + if n_read <= 0 { + if digits[0] != 'A' { + total += add_digits(digits) + fmt_debug("Total: %d\n", total) + } + break outer_loop; + } + for idx = 0; idx < n_read; idx += 1 { + switch buffer[idx] { + case '\n': + total += add_digits(digits) + fmt_debug("Total: %d\n", total) + digits[0] = 'A' + digits[1] = 'A' + line_no += 1 + case '0'..='9': + if digits[0] == 'A' { + digits[0] = buffer[idx] + } else { + digits[1] = buffer[idx] + } + } + } + } + fmt.printf("Total: %d\n", total) +} + +WORD_LITERALS := []string{"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; + +string_at :: proc(buffer: []u8, prefix: string, start: int = 0) -> bool { + for idx := 0; idx < len(prefix); idx += 1 { + buffer_idx := start + idx; + if buffer_idx >= len(buffer) { + return false; + } + if prefix[idx] != buffer[buffer_idx] { + return false; + } + } + return true; +} + +starts_with :: proc(buffer: []u8, prefix: string) -> bool { + return string_at(buffer, prefix, 0); +} + +looking_at_numword :: proc(buffer: []u8, start: int = 0) -> (bool, int, int) { + assert(start < len(buffer)) + for idx := 0; idx < len(WORD_LITERALS); idx += 1 { + if string_at(buffer, WORD_LITERALS[idx], start) { + return true, idx, start + len(WORD_LITERALS[idx]); + } + } + return false, 0, 0; +}; + +looking_at_num :: proc(buffer: []u8, start: int = 0) -> (bool, int, int) { + assert(0 <= start); + switch buffer[start] { + case '0'..='9': + return true, digit_int(buffer[start]), start + 1; + case 'z','o','t','f','s','e','n': + return looking_at_numword(buffer, start) + } + return false, 0, 0; +} + +@(test) +test_looking_at_num :: proc(t: ^testing.T) { + input: []u8; + num: int; + ok: bool; + next_num: int; + + input = transmute([]u8) string("fivethreeonezblqnsfk1"); + next_num = 5; + ok, num, _ = looking_at_num(input, 0); + testing.expect(t, ok, "Failure: not looking at a number or digit"); + testing.expect(t, num == next_num, fmt.tprint("%d != %d\n", next_num, num)); + + next_num = 3; + ok, num, _ = looking_at_num(input, 4); + testing.expect(t, ok, "Failure: not looking at a number or digit"); + testing.expect(t, num == next_num, fmt.tprintf("%d != %d\n", next_num, num)); + + input = transmute([]u8) string("two74119onebtqgnine"); + + next_num = 2; + ok, num, _ = looking_at_num(input, 0); + testing.expect(t, ok, "Failure: not looking at a number or digit"); + testing.expect(t, num == next_num, fmt.tprintf("%d != %d\n", next_num, num)); + + next_num = 1; + ok, num, _ = looking_at_num(input, 6); + testing.expect(t, ok, "Failure: not looking at a number or digit"); + testing.expect(t, num == next_num, fmt.tprintf("%d != %d\n", next_num, num)); + + // input = transmute([]u8) string("jrjh5vsrxbhsfour3"); + // input = transmute([]u8) string("tn5eightfncnzcdtthree8"); + // input = transmute([]u8) string("kpmrk5flx"); + // input = transmute([]u8) string("fkxxqxdfsixgthreepvzjxrkcfk6twofour"); + // input = transmute([]u8) string("dqbx6six5twoone"); + // input = transmute([]u8) string("glmsckj2bvmts1spctnjrtqhmbxzq"); + // input = transmute([]u8) string("7sixthreerzmpbffcx"); + // input = transmute([]u8) string("zhss9gfxfgmrmzthreefivevpkljfourtwoeight"); +} + +slice_next_line :: proc(buffer: []u8, start: uint) -> (int, []u8) { + assert(start < len(buffer)) + for idx := 0; idx < len(buffer); idx += 1 { + if buffer[idx] == '\n' { + return idx, buffer[start:idx] + } + } + return -1, buffer[start:] +} + +BUFFER_SIZE :: 1024 + +process_line :: proc(buffer: []u8, start: int) -> (int, int) { + assert(0 <= start && start < len(buffer)) + a, b := -1, -1 + index := start + for index < len(buffer) { + ok, x, _ := looking_at_num(buffer, index) + if !ok { + index += 1; + } else if a == -1 { + // Save first digit + a = 10 * int(x); + index += len(WORD_LITERALS[x]) + } else { + // Save second digit + b += int(x) + index += len(WORD_LITERALS[x]) + } + } + assert(a > -1); + if b == -1 { + return index, 10 * a + a; + } + return index, 10 * a + b; +} + +os_blksize :: proc() -> i32 { + info := os.OS_Stat{}; + _ = os._unix_stat("/", &info); + return info.block_size; +} + +scan_to_next :: proc(fh: os.Handle, chr: u8, pos: uint = 0) -> (success: bool, char_pos: uint) { + buf := make([]u8, os_blksize()); + file_pos := pos; + char_pos = 0 + success = false + for { + nr, errno := os.read_at(fh, buf, i64(file_pos)); + if errno == os.EINVAL { + break; + } else if errno != os.ERROR_NONE { + fmt.printf("Fatal error: %s\n", os.get_last_error_string()); + os.exit(int(errno)); + } + for idx : uint = 0; idx < len(buf); idx += 1 { + if buf[idx] == '\n' { + success = true; + char_pos = file_pos + idx; + break; + } + } + if success || nr < len(buf) { + break; + } + file_pos += len(buf); + } + os.seek(fh, i64(pos), os.SEEK_SET) + return; +} + +die :: proc (eno: os.Errno) { + fmt.printf("Fatal error: %s\n", os.get_last_error_string()); + os.exit(int(eno)); +} + +main_attempt_3 :: proc() { + if len(os.args) < 2 { + fmt.printf("Usage: ./d1 FILENAME\n") + os.exit(-1) + } + fh: os.Handle + eno: os.Errno + if fh, eno = os.open(os.args[1]); eno != os.ERROR_NONE { + die(eno); + } + defer os.close(fh); + buffer: []u8 = make([]u8, BUFFER_SIZE); + defer delete(buffer); + + nr: int; + num: int; + ok: bool; + total := 0 + digits: []int = {-1, -1}; + + for { + nr, eno = os.read(fh, buffer); + if eno != os.ERROR_NONE { + die(eno); + } + assert(0 < nr && nr <= BUFFER_SIZE); + for idx := 0; idx < nr; idx += 1 { + if buffer[idx] == '\n' { + if digits[0] > -1 { + total += 10 * digits[0]; + if digits[1] < 0 { + fmt_debug("Number for line: %d%d\n", digits[0], digits[0]); + total += digits[0]; + } else { + fmt_debug("Number for line: %d%d\n", digits[0], digits[1]); + total += digits[1]; + } + digits[0] = -1; + digits[1] = -1; + } else { + fmt_debug("Hit newline without setting digits\n"); + } + line_no += 1 + continue; + } + new_idx: int; + ok, num, new_idx = looking_at_num(buffer, idx); + if ok && digits[0] == -1 { + fmt_debug("Found first number: %d\n", num); + digits[0] = num; + idx = new_idx - 1; + } else if ok { + fmt_debug("Found additional number: %d\n", num); + digits[1] = num; + idx = new_idx - 1; + } + } + if nr != BUFFER_SIZE { + break; + } + } + // off by one, as usual + if digits[0] != -1 { + total += 10 * digits[0]; + if digits[1] < 0 { + fmt_debug("Number for line: %d%d\n", digits[0], digits[0]); + total += digits[0]; + } else { + fmt_debug("Number for line: %d%d\n", digits[0], digits[1]); + total += digits[1]; + } + } + fmt.printf("Total: %d\n", total); +} + +main :: proc() { + main_attempt_3() +} \ No newline at end of file diff --git a/d2.bin b/d2.bin new file mode 100755 index 0000000000000000000000000000000000000000..84a90c7124974faaaba63c44d1fad3c148e6049a GIT binary patch literal 296152 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%0A5R$(*u}@c;0_vW?7?BG+~3iV{m_6NA;* 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%0D=>H{$KXi_fbkc~uFs@hqp!g+eYyV9%=E+4b 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 Oy;O7EyxHnx=>G$@KmbGl literal 0 HcmV?d00001 diff --git a/d2/d2.input b/d2/d2.input new file mode 100644 index 0000000..cc54dae --- /dev/null +++ b/d2/d2.input @@ -0,0 +1,100 @@ +Game 1: 1 red, 3 blue, 11 green; 1 blue, 5 red; 3 blue, 5 green, 13 red; 6 red, 1 blue, 4 green; 16 red, 12 green +Game 2: 3 red, 13 blue, 5 green; 14 green, 14 blue; 9 blue, 10 green, 3 red; 2 green, 5 blue; 11 green, 3 blue, 3 red; 16 blue, 2 red, 9 green +Game 3: 17 blue, 5 red; 3 red, 11 green, 17 blue; 1 red, 6 blue, 9 green; 3 blue, 11 green, 1 red; 3 green, 10 red, 11 blue; 12 red, 3 green, 15 blue +Game 4: 14 green, 14 red, 1 blue; 15 red, 13 green, 1 blue; 6 green, 15 red; 7 green +Game 5: 3 green, 1 blue, 3 red; 6 red, 2 green, 2 blue; 12 red, 3 green, 1 blue; 2 green, 9 red; 1 blue; 2 blue, 10 red +Game 6: 5 blue, 5 green; 4 blue, 1 red, 10 green; 16 green, 1 red, 6 blue; 1 red, 1 blue, 13 green; 1 red, 5 blue, 7 green; 14 green, 17 blue +Game 7: 1 green, 8 blue, 4 red; 1 green, 4 blue, 4 red; 6 blue, 4 red, 4 green; 1 red, 8 green +Game 8: 2 red, 5 blue, 1 green; 1 blue, 4 red, 8 green; 6 blue, 12 green, 6 red; 3 blue, 5 red; 8 red, 2 blue, 13 green; 5 green, 4 red, 3 blue +Game 9: 11 red; 1 green, 2 red, 2 blue; 1 blue, 2 green, 9 red; 4 red, 2 green, 2 blue; 1 blue, 2 green; 1 blue, 9 red, 2 green +Game 10: 9 red, 4 green; 1 blue, 3 red, 7 green; 3 green, 1 red, 1 blue; 7 green, 4 red, 1 blue; 1 blue, 5 green, 10 red; 1 red, 5 green +Game 11: 2 blue, 4 red, 3 green; 1 blue, 7 red; 4 green, 7 red, 1 blue; 3 blue, 6 green, 4 red; 3 red, 1 green, 3 blue +Game 12: 1 green, 6 red, 5 blue; 3 green, 2 red, 4 blue; 3 green, 1 red, 3 blue +Game 13: 6 green, 1 red, 9 blue; 11 red, 4 blue, 12 green; 6 green, 9 red, 19 blue; 2 green, 6 blue; 10 green, 1 red, 16 blue; 4 green, 14 blue +Game 14: 7 blue, 2 red; 1 green, 2 red, 19 blue; 12 blue, 6 green, 11 red +Game 15: 4 red, 4 green, 7 blue; 15 blue, 1 green, 8 red; 2 red, 10 green, 11 blue; 5 red, 4 blue, 6 green; 9 red, 8 blue, 3 green; 9 blue, 9 red +Game 16: 7 red, 2 blue, 19 green; 6 blue, 9 green; 8 green, 6 red, 19 blue; 11 green, 7 red, 1 blue; 9 blue, 3 red, 17 green +Game 17: 3 blue, 4 green, 5 red; 2 red, 4 green, 11 blue; 6 blue, 13 green; 3 blue, 12 green, 7 red +Game 18: 9 red, 6 blue, 7 green; 3 green, 3 blue, 5 red; 18 red, 6 blue, 4 green; 3 green, 10 red, 8 blue +Game 19: 3 red, 6 green; 1 red, 5 green, 4 blue; 3 red, 14 blue +Game 20: 2 green, 2 blue, 4 red; 14 red, 6 blue, 5 green; 1 blue, 5 red, 3 green; 10 red, 6 green, 6 blue +Game 21: 10 blue, 12 green, 3 red; 1 green, 14 red; 5 blue, 7 green; 12 blue, 1 red, 13 green; 7 red, 4 green +Game 22: 2 red, 1 blue; 1 red, 2 blue; 1 red, 1 green, 3 blue; 3 blue; 1 red; 1 green, 2 red +Game 23: 4 blue, 4 green, 1 red; 3 blue, 1 red, 6 green; 1 red, 1 blue +Game 24: 5 blue, 15 green, 13 red; 20 green, 13 blue, 6 red; 5 blue, 11 red, 16 green; 6 red, 5 blue, 13 green; 12 blue, 13 green, 3 red +Game 25: 10 blue, 17 red; 12 red, 16 blue, 3 green; 4 green, 12 blue, 10 red; 8 blue, 3 green, 10 red; 5 green, 2 red, 12 blue +Game 26: 11 red, 9 blue; 3 blue, 3 red, 3 green; 10 blue, 3 green, 4 red; 1 green, 4 blue, 9 red; 5 green, 1 red, 7 blue; 1 red, 3 blue, 3 green +Game 27: 1 green, 12 red, 4 blue; 5 red, 2 green, 1 blue; 3 green, 6 blue, 10 red; 1 green, 4 red, 3 blue +Game 28: 6 blue; 2 green; 2 green, 8 blue, 1 red; 2 green, 2 blue; 6 blue, 8 green; 9 green, 5 blue +Game 29: 1 green, 9 blue, 9 red; 13 green, 4 red, 9 blue; 3 green, 8 blue, 15 red; 15 green, 18 blue, 3 red; 16 green, 10 red; 16 green, 12 blue, 16 red +Game 30: 14 blue, 4 green, 1 red; 7 red, 14 blue; 2 blue, 4 red, 1 green +Game 31: 2 red, 14 green, 3 blue; 3 blue, 3 green, 4 red; 8 blue, 4 red, 1 green; 8 green, 3 blue; 10 blue, 1 red, 11 green; 13 green, 2 red, 3 blue +Game 32: 8 blue, 16 red; 2 green, 8 blue, 16 red; 16 blue, 4 green, 17 red; 2 red, 5 green, 4 blue +Game 33: 2 red, 2 green, 1 blue; 5 red, 1 blue; 8 green, 14 red +Game 34: 4 red, 4 green; 9 green; 1 blue, 16 green; 1 blue, 5 red, 9 green; 2 red, 15 green, 1 blue +Game 35: 1 green, 5 red; 1 green, 15 red, 13 blue; 2 red, 13 blue, 17 green; 9 blue, 3 red, 11 green; 7 green, 8 blue, 14 red +Game 36: 19 green; 3 green, 1 blue, 1 red; 1 green, 8 blue; 13 green, 5 red, 5 blue +Game 37: 12 red, 7 green, 3 blue; 12 blue, 10 red, 9 green; 17 green, 8 red, 13 blue; 9 blue, 9 green, 8 red; 4 red, 13 green, 13 blue; 15 green, 12 red, 14 blue +Game 38: 5 blue, 1 green, 20 red; 1 green, 13 red, 18 blue; 17 blue, 9 red, 10 green; 4 blue, 4 red, 12 green; 12 blue, 12 red, 6 green; 12 green, 13 red, 2 blue +Game 39: 7 blue, 6 red, 2 green; 6 blue, 1 red; 7 blue, 1 red +Game 40: 1 blue, 3 red; 15 blue, 1 green; 1 green, 16 red, 2 blue +Game 41: 2 blue, 4 green; 8 green, 3 red; 2 blue, 9 red, 4 green; 4 red, 3 blue, 10 green; 5 green, 3 blue, 2 red +Game 42: 7 green, 2 blue, 1 red; 8 green, 4 red; 5 blue, 1 red, 3 green +Game 43: 3 red, 1 blue; 1 blue, 2 green, 2 red; 1 red, 2 blue; 3 blue +Game 44: 3 green, 14 blue, 1 red; 16 blue, 5 red, 11 green; 12 green, 1 blue; 13 blue, 1 red; 5 blue, 2 red, 6 green; 3 blue, 5 red, 11 green +Game 45: 7 blue, 1 red; 1 red, 3 blue; 3 green, 14 blue, 1 red; 4 blue, 3 green, 1 red; 15 blue, 1 red, 3 green +Game 46: 15 red, 4 blue; 15 red, 11 blue, 3 green; 14 red, 2 green, 2 blue; 14 red, 8 blue, 3 green; 4 red, 1 blue +Game 47: 4 green, 2 blue, 3 red; 8 red, 2 green, 18 blue; 1 green, 17 blue, 1 red +Game 48: 2 green, 4 red, 2 blue; 15 blue, 16 red, 5 green; 14 blue, 2 green, 10 red; 3 green, 13 red, 6 blue; 8 green, 4 red, 12 blue; 15 red, 3 green, 9 blue +Game 49: 1 green, 6 red, 7 blue; 1 blue, 9 green, 9 red; 4 green, 8 red; 9 blue, 1 red, 14 green; 2 blue, 9 red +Game 50: 3 red, 10 blue, 14 green; 2 red, 9 blue, 7 green; 4 blue, 12 green; 1 red, 4 green, 5 blue +Game 51: 2 green, 6 blue; 1 green, 10 blue, 1 red; 3 blue, 2 green +Game 52: 1 green, 4 red, 1 blue; 3 red, 5 green, 4 blue; 1 blue, 3 red, 5 green; 1 red, 1 green, 1 blue; 12 green, 2 red, 4 blue; 10 blue, 7 green, 1 red +Game 53: 12 red, 1 blue; 8 red, 11 blue, 11 green; 8 red, 6 blue, 13 green; 11 blue, 11 red, 16 green; 6 red, 9 green, 4 blue +Game 54: 2 red, 8 blue, 15 green; 4 green, 3 blue, 6 red; 12 green, 13 blue, 4 red +Game 55: 1 green, 16 blue, 4 red; 3 red, 1 blue, 1 green; 12 red, 16 blue; 3 red +Game 56: 4 green; 1 red, 4 green; 2 red, 3 blue, 7 green; 2 red, 3 blue, 15 green +Game 57: 17 green; 1 green, 9 blue; 1 red, 1 green, 9 blue +Game 58: 3 green, 8 red, 7 blue; 4 green, 9 blue, 2 red; 1 red, 2 green, 11 blue; 8 blue, 4 green +Game 59: 6 green, 1 red; 4 blue, 6 green; 4 green, 5 blue +Game 60: 3 green, 5 blue, 1 red; 7 green, 5 blue, 16 red; 14 red, 1 green, 1 blue; 7 green, 2 blue; 13 red, 5 green, 5 blue +Game 61: 1 green, 2 blue, 2 red; 2 green; 6 red, 1 blue, 1 green +Game 62: 5 red, 8 blue, 1 green; 1 red, 1 blue; 2 green, 8 blue +Game 63: 2 red, 2 blue, 2 green; 9 blue, 7 green; 1 green, 4 blue; 18 green, 3 blue +Game 64: 13 green, 1 blue, 6 red; 13 green, 15 red, 8 blue; 5 green, 14 red, 4 blue; 2 green, 8 blue, 12 red; 1 blue, 5 red, 13 green; 7 blue, 8 green, 2 red +Game 65: 7 blue, 12 red, 6 green; 11 red, 8 green, 8 blue; 9 red, 7 green, 7 blue; 14 red, 2 blue, 17 green +Game 66: 2 green, 5 red; 7 red, 14 blue; 19 blue, 2 green; 7 blue, 4 green, 6 red +Game 67: 4 green, 17 red, 7 blue; 4 blue, 6 green; 7 green, 7 red, 12 blue; 2 red, 14 blue +Game 68: 1 red, 11 green, 4 blue; 17 blue, 1 red, 10 green; 3 red, 7 green, 1 blue; 7 green, 3 red, 6 blue; 2 red, 3 green; 2 green, 2 red, 4 blue +Game 69: 5 blue, 4 red; 3 red, 11 green, 1 blue; 6 green, 2 blue; 10 green, 4 red, 5 blue; 2 red, 11 green +Game 70: 16 red, 7 blue, 1 green; 14 red, 1 blue, 4 green; 4 red, 4 green; 7 blue, 5 red, 2 green +Game 71: 14 red, 2 blue, 13 green; 7 green, 5 red, 2 blue; 3 blue, 9 green, 11 red; 10 red, 4 blue, 1 green +Game 72: 1 green, 2 red, 6 blue; 4 green, 4 red, 9 blue; 6 green, 8 blue, 1 red; 5 red, 4 green, 9 blue; 15 blue, 2 green, 7 red; 10 blue, 2 green, 10 red +Game 73: 7 green, 6 red, 7 blue; 6 blue, 5 red, 8 green; 5 blue, 5 red +Game 74: 11 red, 1 blue; 2 green, 4 blue, 1 red; 1 green, 2 blue, 11 red; 9 red, 5 blue; 15 red, 10 blue; 9 red, 3 blue +Game 75: 1 blue, 6 red, 9 green; 5 red, 1 blue, 8 green; 2 green, 2 red, 1 blue; 7 red, 1 green; 3 green, 6 red, 2 blue; 1 green, 1 red +Game 76: 16 red, 3 blue, 9 green; 4 blue, 4 green; 5 blue, 1 green, 10 red; 6 blue, 13 red; 1 blue, 2 green, 8 red +Game 77: 4 red, 4 blue; 5 blue, 5 red; 6 red, 3 green +Game 78: 11 green, 1 red; 1 blue, 18 green, 1 red; 6 green, 5 red, 2 blue; 6 red, 1 blue, 15 green; 5 green, 5 red +Game 79: 2 red, 3 green, 13 blue; 7 blue, 5 green; 4 blue, 2 red, 6 green; 6 green, 15 blue +Game 80: 9 green, 2 blue, 1 red; 8 green, 1 red; 1 blue, 7 green; 2 green, 1 blue; 3 green; 5 green, 1 red, 2 blue +Game 81: 2 blue, 8 green, 1 red; 3 green, 1 blue; 6 blue, 1 green; 3 blue, 3 green, 1 red; 2 green, 8 blue; 1 red, 8 blue, 2 green +Game 82: 5 blue, 4 red, 1 green; 9 red, 12 green, 8 blue; 9 red, 6 green, 15 blue; 8 blue, 10 red, 6 green +Game 83: 2 green, 7 blue, 4 red; 2 blue, 11 red, 9 green; 7 red, 7 green, 6 blue; 12 blue, 4 red, 11 green; 11 green, 7 blue; 7 green, 5 red, 2 blue +Game 84: 9 red, 1 blue, 7 green; 5 red, 5 green; 4 green, 4 blue; 4 green, 5 red +Game 85: 5 green, 13 red, 11 blue; 5 blue, 19 green, 15 red; 17 red, 3 green, 8 blue; 13 green, 10 red; 3 green, 17 red, 11 blue +Game 86: 1 green, 11 blue; 11 blue, 1 green, 8 red; 6 blue, 4 red; 4 blue, 17 red; 1 green, 15 red +Game 87: 3 green, 8 red, 6 blue; 6 red, 13 green, 1 blue; 4 blue, 8 red, 8 green +Game 88: 5 green, 5 blue; 3 green, 10 blue, 2 red; 6 blue, 7 red, 1 green; 5 green, 3 red, 11 blue; 8 red, 4 green, 6 blue +Game 89: 5 green, 10 blue, 12 red; 1 green, 13 red, 8 blue; 4 red, 11 green, 12 blue +Game 90: 4 green, 3 red, 11 blue; 1 green, 12 red, 12 blue; 9 blue, 5 red, 1 green; 2 green, 12 blue, 12 red +Game 91: 5 red, 8 blue, 1 green; 5 green, 3 blue; 9 blue, 7 green, 5 red; 1 green, 3 blue, 6 red; 9 blue, 11 green, 4 red; 2 green, 4 red, 10 blue +Game 92: 11 blue, 1 red, 6 green; 10 blue, 2 red; 4 red, 6 green, 19 blue +Game 93: 1 green, 3 blue, 3 red; 3 red; 5 blue, 3 red; 1 green, 4 red +Game 94: 9 red, 4 blue, 4 green; 1 blue, 6 red, 15 green; 10 red, 5 blue, 1 green; 2 blue, 4 green, 8 red +Game 95: 13 blue, 4 green, 3 red; 15 green, 3 red, 2 blue; 16 green, 8 blue, 2 red +Game 96: 15 blue, 7 green, 3 red; 5 red, 7 green, 17 blue; 6 red, 12 blue; 5 green, 10 blue, 4 red +Game 97: 5 red, 2 green; 8 red; 1 blue, 7 green, 2 red; 7 red, 15 green +Game 98: 6 green, 1 blue, 1 red; 3 green, 3 red; 1 blue, 13 green, 4 red +Game 99: 16 red, 5 blue, 9 green; 2 green, 7 blue, 2 red; 10 blue, 3 green; 9 red, 8 blue, 13 green; 16 green, 13 red, 10 blue +Game 100: 16 blue, 12 red, 3 green; 2 green, 7 blue; 5 blue, 4 green; 10 blue, 6 red, 6 green; 5 red, 12 blue, 2 green; 9 red, 12 blue, 11 green \ No newline at end of file diff --git a/d2/d2.structured-input b/d2/d2.structured-input new file mode 100644 index 0000000..5a9791f --- /dev/null +++ b/d2/d2.structured-input @@ -0,0 +1,100 @@ +001: 1r/3b/11g/1b/5r/3b/5b/13r/6r/1b/4g/16r/12g/ +002: 3r/13b/5g/14b/14b/9b/10b/3r/2b/5b/11b/3b/3r/16b/2r/9g/ +003: 17b/5r/3r/11b/17b/1r/6b/9g/3b/11b/1r/3b/10r/11b/12r/3b/15b/ +004: 14b/14r/1b/15r/13b/1b/6b/15r/7g/ +005: 3b/1b/3r/6r/2b/2b/12r/3b/1b/2b/9r/1b/2b/10r/ +006: 5b/5g/4b/1r/10g/16b/1r/6b/1r/1b/13g/1r/5b/7g/14b/17b/ +007: 1b/8b/4r/1b/4b/4r/6b/4r/4g/1r/8g/ +008: 2r/5b/1g/1b/4r/8g/6b/12b/6r/3b/5r/8r/2b/13g/5b/4r/3b/ +009: 11r/1b/2r/2b/1b/2b/9r/4r/2b/2b/1b/2g/1b/9r/2g/ +010: 9r/4g/1b/3r/7g/3b/1r/1b/7b/4r/1b/1b/5b/10r/1r/5g/ +011: 2b/4r/3g/1b/7r/4b/7r/1b/3b/6b/4r/3r/1b/3b/ +012: 1b/6r/5b/3b/2r/4b/3b/1r/3b/ +013: 6b/1r/9b/11r/4b/12g/6b/9r/19b/2b/6b/10b/1r/16b/4b/14b/ +014: 7b/2r/1b/2r/19b/12b/6b/11r/ +015: 4r/4b/7b/15b/1b/8r/2r/10b/11b/5r/4b/6g/9r/8b/3g/9b/9r/ +016: 7r/2b/19g/6b/9g/8b/6r/19b/11b/7r/1b/9b/3r/17g/ +017: 3b/4b/5r/2r/4b/11b/6b/13g/3b/12b/7r/ +018: 9r/6b/7g/3b/3b/5r/18r/6b/4g/3b/10r/8b/ +019: 3r/6g/1r/5b/4b/3r/14b/ +020: 2b/2b/4r/14r/6b/5g/1b/5r/3g/10r/6b/6b/ +021: 10b/12b/3r/1b/14r/5b/7g/12b/1r/13g/7r/4g/ +022: 2r/1b/1r/2b/1r/1b/3b/3b/1r/1b/2r/ +023: 4b/4b/1r/3b/1r/6g/1r/1b/ +024: 5b/15b/13r/20b/13b/6r/5b/11r/16g/6r/5b/13g/12b/13b/3r/ +025: 10b/17r/12r/16b/3g/4b/12b/10r/8b/3b/10r/5b/2r/12b/ +026: 11r/9b/3b/3r/3g/10b/3b/4r/1b/4b/9r/5b/1r/7b/1r/3b/3g/ +027: 1b/12r/4b/5r/2b/1b/3b/6b/10r/1b/4r/3b/ +028: 6b/2g/2b/8b/1r/2b/2b/6b/8g/9b/5b/ +029: 1b/9b/9r/13b/4r/9b/3b/8b/15r/15b/18b/3r/16b/10r/16b/12b/16r/ +030: 14b/4b/1r/7r/14b/2b/4r/1g/ +031: 2r/14b/3b/3b/3b/4r/8b/4r/1g/8b/3b/10b/1r/11g/13b/2r/3b/ +032: 8b/16r/2b/8b/16r/16b/4b/17r/2r/5b/4b/ +033: 2r/2b/1b/5r/1b/8b/14r/ +034: 4r/4g/9g/1b/16g/1b/5r/9g/2r/15b/1b/ +035: 1b/5r/1b/15r/13b/2r/13b/17g/9b/3r/11g/7b/8b/14r/ +036: 19g/3b/1b/1r/1b/8b/13b/5r/5b/ +037: 12r/7b/3b/12b/10r/9g/17b/8r/13b/9b/9b/8r/4r/13b/13b/15b/12r/14b/ +038: 5b/1b/20r/1b/13r/18b/17b/9r/10g/4b/4r/12g/12b/12r/6g/12b/13r/2b/ +039: 7b/6r/2g/6b/1r/7b/1r/ +040: 1b/3r/15b/1g/1b/16r/2b/ +041: 2b/4g/8b/3r/2b/9r/4g/4r/3b/10g/5b/3b/2r/ +042: 7b/2b/1r/8b/4r/5b/1r/3g/ +043: 3r/1b/1b/2b/2r/1r/2b/3b/ +044: 3b/14b/1r/16b/5r/11g/12b/1b/13b/1r/5b/2r/6g/3b/5r/11g/ +045: 7b/1r/1r/3b/3b/14b/1r/4b/3b/1r/15b/1r/3g/ +046: 15r/4b/15r/11b/3g/14r/2b/2b/14r/8b/3g/4r/1b/ +047: 4b/2b/3r/8r/2b/18b/1b/17b/1r/ +048: 2b/4r/2b/15b/16r/5g/14b/2b/10r/3b/13r/6b/8b/4r/12b/15r/3b/9b/ +049: 1b/6r/7b/1b/9b/9r/4b/8r/9b/1r/14g/2b/9r/ +050: 3r/10b/14g/2r/9b/7g/4b/12g/1r/4b/5b/ +051: 2b/6b/1b/10b/1r/3b/2g/ +052: 1b/4r/1b/3r/5b/4b/1b/3r/5g/1r/1b/1b/12b/2r/4b/10b/7b/1r/ +053: 12r/1b/8r/11b/11g/8r/6b/13g/11b/11r/16g/6r/9b/4b/ +054: 2r/8b/15g/4b/3b/6r/12b/13b/4r/ +055: 1b/16b/4r/3r/1b/1g/12r/16b/3r/ +056: 4g/1r/4g/2r/3b/7g/2r/3b/15g/ +057: 17g/1b/9b/1r/1b/9b/ +058: 3b/8r/7b/4b/9b/2r/1r/2b/11b/8b/4g/ +059: 6b/1r/4b/6g/4b/5b/ +060: 3b/5b/1r/7b/5b/16r/14r/1b/1b/7b/2b/13r/5b/5b/ +061: 1b/2b/2r/2g/6r/1b/1g/ +062: 5r/8b/1g/1r/1b/2b/8b/ +063: 2r/2b/2g/9b/7g/1b/4b/18b/3b/ +064: 13b/1b/6r/13b/15r/8b/5b/14r/4b/2b/8b/12r/1b/5r/13g/7b/8b/2r/ +065: 7b/12r/6g/11r/8b/8b/9r/7b/7b/14r/2b/17g/ +066: 2b/5r/7r/14b/19b/2g/7b/4b/6r/ +067: 4b/17r/7b/4b/6g/7b/7r/12b/2r/14b/ +068: 1r/11b/4b/17b/1r/10g/3r/7b/1b/7b/3r/6b/2r/3g/2b/2r/4b/ +069: 5b/4r/3r/11b/1b/6b/2b/10b/4r/5b/2r/11g/ +070: 16r/7b/1g/14r/1b/4g/4r/4g/7b/5r/2g/ +071: 14r/2b/13g/7b/5r/2b/3b/9b/11r/10r/4b/1g/ +072: 1b/2r/6b/4b/4r/9b/6b/8b/1r/5r/4b/9b/15b/2b/7r/10b/2b/10r/ +073: 7b/6r/7b/6b/5r/8g/5b/5r/ +074: 11r/1b/2b/4b/1r/1b/2b/11r/9r/5b/15r/10b/9r/3b/ +075: 1b/6r/9g/5r/1b/8g/2b/2r/1b/7r/1g/3b/6r/2b/1b/1r/ +076: 16r/3b/9g/4b/4g/5b/1b/10r/6b/13r/1b/2b/8r/ +077: 4r/4b/5b/5r/6r/3g/ +078: 11b/1r/1b/18b/1r/6b/5r/2b/6r/1b/15g/5b/5r/ +079: 2r/3b/13b/7b/5g/4b/2r/6g/6b/15b/ +080: 9b/2b/1r/8b/1r/1b/7g/2b/1b/3g/5b/1r/2b/ +081: 2b/8b/1r/3b/1b/6b/1g/3b/3b/1r/2b/8b/1r/8b/2g/ +082: 5b/4r/1g/9r/12b/8b/9r/6b/15b/8b/10r/6g/ +083: 2b/7b/4r/2b/11r/9g/7r/7b/6b/12b/4r/11g/11b/7b/7b/5r/2b/ +084: 9r/1b/7g/5r/5g/4b/4b/4b/5r/ +085: 5b/13r/11b/5b/19b/15r/17r/3b/8b/13b/10r/3b/17r/11b/ +086: 1b/11b/11b/1b/8r/6b/4r/4b/17r/1b/15r/ +087: 3b/8r/6b/6r/13b/1b/4b/8r/8g/ +088: 5b/5b/3b/10b/2r/6b/7r/1g/5b/3r/11b/8r/4b/6b/ +089: 5b/10b/12r/1b/13r/8b/4r/11b/12b/ +090: 4b/3r/11b/1b/12r/12b/9b/5r/1g/2b/12b/12r/ +091: 5r/8b/1g/5b/3b/9b/7b/5r/1b/3b/6r/9b/11b/4r/2b/4r/10b/ +092: 11b/1r/6g/10b/2r/4r/6b/19b/ +093: 1b/3b/3r/3r/5b/3r/1b/4r/ +094: 9r/4b/4g/1b/6r/15g/10r/5b/1g/2b/4b/8r/ +095: 13b/4b/3r/15b/3r/2b/16b/8b/2r/ +096: 15b/7b/3r/5r/7b/17b/6r/12b/5b/10b/4r/ +097: 5r/2g/8r/1b/7b/2r/7r/15g/ +098: 6b/1b/1r/3b/3r/1b/13b/4r/ +099: 16r/5b/9g/2b/7b/2r/10b/3g/9r/8b/13g/16b/13r/10b/ +100: 16b/12r/3g/2b/7b/5b/4g/10b/6r/6g/5r/12b/2g/9r/12b/11g/ \ No newline at end of file diff --git a/d2/d2.test.input b/d2/d2.test.input new file mode 100644 index 0000000..f685bee --- /dev/null +++ b/d2/d2.test.input @@ -0,0 +1,33 @@ +Game 1: + 3 blue, 4 red; + 1 red, 2 green, 6 blue; + 2 green + +Game 2: + 1 blue, 2 green; + 3 green, 4 blue, 1 red; + 1 green, 1 blue + +Game 3: + 8 green, 6 blue, 20 red; + 5 blue, 4 red, 13 green; + 5 green, 1 red + +Game 4: + 1 green, 3 red, 6 blue; + 3 green, 6 red; + 3 green, 15 blue, 14 red + +Game 5: + 6 red, 1 blue, 3 green; + 2 blue, 1 red, 2 green + + +982 + +0 * 10 = 0 +0 + 9 = 9 +9 * 10 = 90 +90 + 8 = 98 +98 * 10 = 980 +980 + 2 = 982 \ No newline at end of file diff --git a/d2/d2.test.structured-input b/d2/d2.test.structured-input new file mode 100644 index 0000000..57dd2e3 --- /dev/null +++ b/d2/d2.test.structured-input @@ -0,0 +1,5 @@ +1: 4/3/1; 1/2/6; 0/2/0; +2: 0/2/1; 1/3/4; 0/1/1; +3: 20/8/6; 4/13/5; 1/5/0; +4: 3/1/6; 6/3/0; 14/3/15; +5: 6/3/1; 1/2/2; diff --git a/d2/main.odin b/d2/main.odin new file mode 100644 index 0000000..43b698e --- /dev/null +++ b/d2/main.odin @@ -0,0 +1,102 @@ +package d2; + +import "core:os" +import "core:fmt" + +die :: proc (eno: os.Errno) { + fmt.printf("Fatal error: %s\n", os.get_last_error_string()); + os.exit(int(eno)); +} + +usage :: proc() { + fmt.printf("Usage: ./%s FILENAME\n", os.args[0]); +} + +BUFFER_SIZE :: 1024; +State :: enum { + NONE, READ_ID, READ_RESULT, READ_DELIM, READ_COLON, READ_NEWLINE +} +Result :: struct{ + red: int, green: int, blue: int, +}; +TARGET_GAME :: Result{12, 13, 14}; +games: [dynamic]Result = make([dynamic]Result); +stack: [dynamic]State = make([dynamic]State); + +collect_digits :: proc(buffer: []u8, index: ^int) -> int { + assert(index^ < len(buffer)); + result := 0 + for '0' <= buffer[index^] && buffer[index^] <= '9' && index^ < len(buffer) { + result *= 10; + result += int(buffer[index^] - '0'); + index^ += 1; + } + return result; +} + +consume_token :: proc(token: string, buffer: []u8, index: ^int) -> bool { + bi := index^; + ti := 0; + for ti < len(token) { + if bi >= len(buffer) || buffer[bi] != token[ti] { + return false; + } else { + ti += 1; bi += 1; + } + } + return true; +} + +attempt_1 :: proc() { + if len(os.args) < 2 { + usage(); + os.exit(-1); + } + fh, eno := os.open(os.args[1], os.O_RDONLY); + if eno != os.ERROR_NONE { die(eno); } + defer os.close(fh); + id := -1; + red, green, blue, num_read: int; + state := State.READ_ID; + total := 0; + buffer, ok := os.read_entire_file_from_handle(fh); + if !ok { + // die(os.get_last_error()); + // TODO + os.exit(-1); + } + ix := 0; + for ix < len(buffer) { + if eno != os.ERROR_NONE { die(eno); } + switch pop(&stack) { + case .READ_ID: + id = collect_digits(buffer, &ix); + append(&stack, State.READ_RESULT); + append(&stack, State.READ_DELIM); + append(&stack, State.READ_COLON); + case .READ_COLON: + if !consume_token(":", buffer, &ix) { + // TODO + os.exit(-1); + } + case .READ_DELIM: + for ix < len(buffer) && buffer[ix] == ' ' { + ix += 1; + } + case .READ_NEWLINE: + if !consume_token("\n", buffer, &ix) { + // TODO + os.exit(-1); + } + case .READ_RESULT: + append(&stack, State.READ_ID); + append(&stack, State.READ_NEWLINE); + case .NONE: + os.exit(-1); + } + } +} + +main :: proc() { + attempt_1(); +} \ No newline at end of file diff --git a/lexer_gen.bin b/lexer_gen.bin new file mode 100755 index 0000000000000000000000000000000000000000..249a86498a1a68dcef3f1e42d80c6a23d74a4db8 GIT binary patch literal 315152 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