{ # strip leading game sub(/.*: /, "") # counter for winning sum p = -1 # set winning numbers for (i = 1; $i != "|"; i++) { a[$i] = 1 } # normal numbers for (; i <= NF; i++) { if (a[$i]) { # p only used for part 1 p += 1 # count[R] is scratchcard count of record R, minus 1 count[NR+p+1] += count[NR] + 1 sc += count[NR] + 1 } } if (p != -1) { s += 2 ^ p } # clear a delete a # original scratchcard sc += 1 } END { print s print sc }