# Commits

committed 97c594b

All under one roof

• Participants

# File .hgignore

`+syntax: glob`
`+`
`+go/[0-9]+\$`
`+haskell/*.hi`
`+csharp/*.exe`
`+`

# File clojure/1.clj

`+; If we list all the natural numbers below 10 that are multiples of 3 or 5, we`
`+; get 3, 5, 6 and 9. The sum of these multiples is 23.`
`+;`
`+; Find the sum of all the multiples of 3 or 5 below 1000.`
`+;`
`+; Answer: 233168`
`+`
`+(defn pred? [n]`
`+ (or (zero? (mod n 3))`
`+     (zero? (mod n 5))))`
`+`
`+(println (apply + (filter pred? (range 1000))))`

# File clojure/10.clj

`+; The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.`
`+; `
`+; Find the sum of all the primes below two million.`
`+;`
`+; Answer: 142913828922`
`+`
`+(defn primes []`
`+  (filter (fn [n] (.isProbablePrime (bigint n) 10)) (iterate inc 1)))`
`+`
`+(prn (apply + (take-while #(<= % 2000000) (primes))))`

# File clojure/11.clj

`+; In the 20×20 grid below, four numbers along a diagonal line have been marked in red.`
`+; `
`+; 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08`
`+; 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00`
`+; 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65`
`+; 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91`
`+; 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80`
`+; 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50`
`+; 32 98 81 28 64 23 67 10[26]38 40 67 59 54 70 66 18 38 64 70`
`+; 67 26 20 68 02 62 12 20 95[63]94 39 63 08 40 91 66 49 94 21`
`+; 24 55 58 05 66 73 99 26 97 17[78]78 96 83 14 88 34 89 63 72`
`+; 21 36 23 09 75 00 76 44 20 45 35[14]00 61 33 97 34 31 33 95`
`+; 78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92`
`+; 16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57`
`+; 86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58`
`+; 19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40`
`+; 04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66`
`+; 88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69`
`+; 04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36`
`+; 20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16`
`+; 20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54`
`+; 01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48`
`+; `
`+; The product of these numbers is 26 × 63 × 78 × 14 = 1788696.`
`+; `
`+; What is the greatest product of four adjacent numbers in any direction (up,`
`+; down, left, right, or diagonally) in the 20×20 grid?`
`+`
`+(def grid [`
`+  [ 8  2 22 97 38 15  0 40  0 75  4  5  7 78 52 12 50 77 91  8]`
`+  [49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48  4 56 62  0]`
`+  [81 49 31 73 55 79 14 29 93 71 40 67 53 88 30  3 49 13 36 65]`
`+  [52 70 95 23  4 60 11 42 69 24 68 56  1 32 56 71 37  2 36 91]`
`+  [22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80]`
`+  [24 47 32 60 99  3 45  2 44 75 33 53 78 36 84 20 35 17 12 50]`
`+  [32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70]`
`+  [67 26 20 68  2 62 12 20 95 63 94 39 63  8 40 91 66 49 94 21]`
`+  [24 55 58  5 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72]`
`+  [21 36 23  9 75  0 76 44 20 45 35 14  0 61 33 97 34 31 33 95]`
`+  [78 17 53 28 22 75 31 67 15 94  3 80  4 62 16 14  9 53 56 92]`
`+  [16 39  5 42 96 35 31 47 55 58 88 24  0 17 54 24 36 29 85 57]`
`+  [86 56  0 48 35 71 89  7  5 44 44 37 44 60 21 58 51 54 17 58]`
`+  [19 80 81 68  5 94 47 69 28 73 92 13 86 52 17 77  4 89 55 40]`
`+  [ 4 52  8 83 97 35 99 16  7 97 57 32 16 26 26 79 33 27 98 66]`
`+  [88 36 68 87 57 62 20 72  3 46 33 67 46 55 12 32 63 93 53 69]`
`+  [ 4 42 16 73 38 25 39 11 24 94 72 18  8 46 29 32 40 62 76 36]`
`+  [20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74  4 36 16]`
`+  [20 73 35 29 78 31 90  1 74 31 49 71 48 86 81 16 23 57  5 54]`
`+  [ 1 70 54 71 83 51 54 69 16 92 33 48 61 43 52  1 89 19 67 48]])`
`+`
`+`
`+(defn item [row col]`
`+  (nth (nth grid row) col))`
`+`
`+(defn horizontal []`
`+  (for [row (range 20)`
`+        col (range 16)]`
`+    [[row col] [row (+ col 1)] [row (+ col 2)] [row (+ col 3)]]))`
`+`
`+(defn vertical []`
`+  (for [col (range 20)`
`+        row (range 16)]`
`+    [[row col] [(+ row 1) col] [(+ row 2) col] [(+ row 3) col]]))`
`+`
`+(defn diagonal1 []`
`+  (for [row (range 16)`
`+        col (range 16)]`
`+    [[row col] [(+ row 1) (+ col 1)] `
`+     [(+ row 2) (+ col 2)] [(+ row 3) (+ col 3)]]))`
`+`
`+(defn diagonal2 []`
`+  (for [row (range 16)`
`+        col (range 3 20)]`
`+    [[row col] [(+ row 1) (- col 1)] `
`+     [(+ row 2) (- col 2)] [(+ row 3) (- col 3)]]))`
`+`
`+(defn product [v]`
`+  (apply * (map (fn [xy] (apply item xy)) v)))`
`+`
`+(let [vectors (concat (horizontal) (vertical) (diagonal1) (diagonal2))]`
`+  (prn (apply max (map product vectors))))`

# File clojure/12.clj

`+; The sequence of triangle numbers is generated by adding the natural numbers.`
`+; So the 7^(th) triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The`
`+; first ten terms would be:`
`+; `
`+; 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...`
`+; `
`+; Let us list the factors of the first seven triangle numbers:`
`+; `
`+;      1: 1`
`+;      3: 1,3`
`+;      6: 1,2,3,6`
`+;     10: 1,2,5,10`
`+;     15: 1,3,5,15`
`+;     21: 1,3,7,21`
`+;     28: 1,2,4,7,14,28`
`+; `
`+; We can see that 28 is the first triangle number to have over five divisors.`
`+; `
`+; What is the value of the first triangle number to have over five hundred`
`+; divisors?`
`+;`
`+; Answer: 76576500`
`+`
`+(defn num-factors [n]`
`+  (let [max (inc (int (Math/sqrt n)))]`
`+   (loop [fs [] i 1]`
`+     (if (= i max)`
`+       (count (set fs)) ; Unique items`
`+       (if (zero? (mod n i))`
`+         (recur (concat fs [i (/ n i)]) (inc i))`
`+         (recur fs (inc i)))))))`
`+`
`+(defn traignles-step [it]`
`+  (let [i (first it) t (last it)]`
`+    [(inc i) (+ i t)]))`
`+`
`+(defn triangles []`
`+  (map last (rest (iterate traignles-step [1 0]))))`
`+`
`+(defn find-n [n]`
`+  (let [fseq (pmap (fn [i] [i (num-factors i)]) (triangles))]`
`+    (ffirst (filter (fn [fs] (> (last fs) n)) fseq))))`
`+`
`+(prn (find-n 500))`
`+(shutdown-agents) ; So we'll exit nicely`

# File clojure/13.clj

`+; Work out the first ten digits of the sum of the following one-hundred 50-digit numbers.`
`+;`
`+; Answer: 5537376230`
`+`
`+(def numbers [`
`+  37107287533902102798797998220837590246510135740250`
`+  46376937677490009712648124896970078050417018260538`
`+  74324986199524741059474233309513058123726617309629`
`+  91942213363574161572522430563301811072406154908250`
`+  23067588207539346171171980310421047513778063246676`
`+  89261670696623633820136378418383684178734361726757`
`+  28112879812849979408065481931592621691275889832738`
`+  44274228917432520321923589422876796487670272189318`
`+  47451445736001306439091167216856844588711603153276`
`+  70386486105843025439939619828917593665686757934951`
`+  62176457141856560629502157223196586755079324193331`
`+  64906352462741904929101432445813822663347944758178`
`+  92575867718337217661963751590579239728245598838407`
`+  58203565325359399008402633568948830189458628227828`
`+  80181199384826282014278194139940567587151170094390`
`+  35398664372827112653829987240784473053190104293586`
`+  86515506006295864861532075273371959191420517255829`
`+  71693888707715466499115593487603532921714970056938`
`+  54370070576826684624621495650076471787294438377604`
`+  53282654108756828443191190634694037855217779295145`
`+  36123272525000296071075082563815656710885258350721`
`+  45876576172410976447339110607218265236877223636045`
`+  17423706905851860660448207621209813287860733969412`
`+  81142660418086830619328460811191061556940512689692`
`+  51934325451728388641918047049293215058642563049483`
`+  62467221648435076201727918039944693004732956340691`
`+  15732444386908125794514089057706229429197107928209`
`+  55037687525678773091862540744969844508330393682126`
`+  18336384825330154686196124348767681297534375946515`
`+  80386287592878490201521685554828717201219257766954`
`+  78182833757993103614740356856449095527097864797581`
`+  16726320100436897842553539920931837441497806860984`
`+  48403098129077791799088218795327364475675590848030`
`+  87086987551392711854517078544161852424320693150332`
`+  59959406895756536782107074926966537676326235447210`
`+  69793950679652694742597709739166693763042633987085`
`+  41052684708299085211399427365734116182760315001271`
`+  65378607361501080857009149939512557028198746004375`
`+  35829035317434717326932123578154982629742552737307`
`+  94953759765105305946966067683156574377167401875275`
`+  88902802571733229619176668713819931811048770190271`
`+  25267680276078003013678680992525463401061632866526`
`+  36270218540497705585629946580636237993140746255962`
`+  24074486908231174977792365466257246923322810917141`
`+  91430288197103288597806669760892938638285025333403`
`+  34413065578016127815921815005561868836468420090470`
`+  23053081172816430487623791969842487255036638784583`
`+  11487696932154902810424020138335124462181441773470`
`+  63783299490636259666498587618221225225512486764533`
`+  67720186971698544312419572409913959008952310058822`
`+  95548255300263520781532296796249481641953868218774`
`+  76085327132285723110424803456124867697064507995236`
`+  37774242535411291684276865538926205024910326572967`
`+  23701913275725675285653248258265463092207058596522`
`+  29798860272258331913126375147341994889534765745501`
`+  18495701454879288984856827726077713721403798879715`
`+  38298203783031473527721580348144513491373226651381`
`+  34829543829199918180278916522431027392251122869539`
`+  40957953066405232632538044100059654939159879593635`
`+  29746152185502371307642255121183693803580388584903`
`+  41698116222072977186158236678424689157993532961922`
`+  62467957194401269043877107275048102390895523597457`
`+  23189706772547915061505504953922979530901129967519`
`+  86188088225875314529584099251203829009407770775672`
`+  11306739708304724483816533873502340845647058077308`
`+  82959174767140363198008187129011875491310547126581`
`+  97623331044818386269515456334926366572897563400500`
`+  42846280183517070527831839425882145521227251250327`
`+  55121603546981200581762165212827652751691296897789`
`+  32238195734329339946437501907836945765883352399886`
`+  75506164965184775180738168837861091527357929701337`
`+  62177842752192623401942399639168044983993173312731`
`+  32924185707147349566916674687634660915035914677504`
`+  99518671430235219628894890102423325116913619626622`
`+  73267460800591547471830798392868535206946944540724`
`+  76841822524674417161514036427982273348055556214818`
`+  97142617910342598647204516893989422179826088076852`
`+  87783646182799346313767754307809363333018982642090`
`+  10848802521674670883215120185883543223812876952786`
`+  71329612474782464538636993009049310363619763878039`
`+  62184073572399794223406235393808339651327408011116`
`+  66627891981488087797941876876144230030984490851411`
`+  60661826293682836764744779239180335110989069790714`
`+  85786944089552990653640447425576083659976645795096`
`+  66024396409905389607120198219976047599490197230297`
`+  64913982680032973156037120041377903785566085089252`
`+  16730939319872750275468906903707539413042652315011`
`+  94809377245048795150954100921645863754710598436791`
`+  78639167021187492431995700641917969777599028300699`
`+  15368713711936614952811305876380278410754449733078`
`+  40789923115535562561142322423255033685442488917353`
`+  44889911501440648020369068063960672322193204149535`
`+  41503128880339536053299340368006977710650566631954`
`+  81234880673210146739058568557934581403627822703280`
`+  82616570773948327592232845941706525094512325230608`
`+  22918802058777319719839450180888072429661980811197`
`+  77158542502016545090413245809786882778948721859617`
`+  72107838435069186155435662884062257473692284509516`
`+  20849603980134001723930671666823555245252804609722`
`+  53503534226472524250874054075591789781264330331690])`
`+`
`+(let [s (str (apply + numbers))]`
`+  (prn (apply str (take 10 s))))`

# File clojure/14.clj

`+; The following iterative sequence is defined for the set of positive integers:`
`+; `
`+; n → n/2 (n is even)`
`+; n → 3n + 1 (n is odd)`
`+; `
`+; Using the rule above and starting with 13, we generate the following sequence:`
`+; 13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1`
`+; `
`+; It can be seen that this sequence (starting at 13 and finishing at 1) contains`
`+; 10 terms. Although it has not been proved yet (Collatz Problem), it is thought`
`+; that all starting numbers finish at 1.`
`+; `
`+; Which starting number, under one million, produces the longest chain?`
`+; `
`+; NOTE: Once the chain starts the terms are allowed to go above one million.`
`+; `
`+; Answer: 837799`
`+`
`+(defn- collatz-next [n]`
`+  (if (even? n)`
`+    (/ n 2)`
`+    (inc (* 3 n))))`
`+`
`+(defn collatz-length`
`+  ([n] (collatz-length n 1))`
`+  ([n len]`
`+   (if (= n 1)`
`+     len`
`+     (collatz-length (collatz-next n) (inc len)))))`
`+`
`+(def collatz-length (memoize collatz-length))`
`+`
`+(prn (apply max-key collatz-length (range 1 1000001)))`

# File clojure/15.clj

`+; Starting in the top left corner of a 2×2 grid, there are 6 routes (without`
`+; backtracking) to the bottom right corner.`
`+; [15.gif]`
`+`
`+; How many routes are there through a 20×20 grid?`
`+;`
`+; Answer: 137846528820`
`+`
`+`
`+(defn num-paths [x y max-x max-y]`
`+  (if (or (= x max-x) (= y max-y))`
`+    1`
`+    (+ (num-paths (inc x) y max-x max-y) (num-paths x (inc y) max-x max-y))))`
`+`
`+(def num-paths (memoize num-paths))`
`+`
`+`
`+(prn (num-paths 0 0 20 20))`

# File clojure/16.clj

`+; 2^(15) = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.`
`+`
`+; What is the sum of the digits of the number 2^(1000)?`
`+;`
`+; Answer: 1366`
`+`
`+(defn char->int [c]`
`+  (- (int c) (int \0)))`
`+`
`+(defn pow [a b]`
`+  (loop [acc a b b]`
`+    (if (= b 1)`
`+      acc`
`+      (recur (* a acc) (dec b)))))`
`+`
`+(let [s (str (pow 2 1000))]`
`+  (prn (apply + (map char->int s))))`

# File clojure/17.clj

`+; If the numbers 1 to 5 are written out in words: one, two, three, four, five,`
`+; then there are 3 + 3 + 5 + 4 + 4 = 19 letters used in total.`
`+; `
`+; If all the numbers from 1 to 1000 (one thousand) inclusive were written out`
`+; in words, how many letters would be used?`
`+; `
`+; NOTE: Do not count spaces or hyphens. For example, 342 (three hundred and`
`+; forty-two) contains 23 letters and 115 (one hundred and fifteen) contains 20`
`+; letters. The use of "and" when writing out numbers is in compliance with`
`+; British usage.`
`+;`
`+; Answer: 21124`
`+`
`+(def numbers {`
`+    0 "" 1 "one" 2 "two" 3 "three" 4 "four" 5 "five" 6 "six" 7 "seven" `
`+    8 "eight" 9 "nine" 10 "ten" 11 "eleven" 12 "twelve" 13 "thirteen" `
`+    14 "fourteen" 15 "fifteen" 16 "sixteen" 17 "seventeen" 18 "eighteen"`
`+    19 "nineteen" 20 "twenty" 30 "thirty" 40 "forty" 50 "fifty"`
`+    60 "sixty" 70 "seventy" 80 "eighty" 90 "ninety" })`
`+`
`+(def tens ["" "" "hundred" "thousand"])`
`+`
`+(defn div [n i]`
`+  (int (/ n i)))`
`+`
`+(defn num->eng [n]`
`+  (if (> n 999)`
`+    ; We know it can be only up to 1000`
`+    (concat ["one" "thousand"] (num->eng (rem n 1000)))`
`+    (if (<= n 20)`
`+      (let [v (numbers n)]`
`+        (if (empty? v) [] [v]))`
`+      (if (> n 99)`
`+        (if (= n (* 100 (div n 100)))`
`+          [(numbers (div n 100)) "hundred"]`
`+          (concat [(numbers (div n 100)) "hundred" "and"] (num->eng (rem n 100))))`
`+        (concat [(numbers (* (div n 10) 10))] (num->eng (rem n 10)))))))`
`+`
`+(defn num-length [n]`
`+  (apply + (map count (num->eng n))))`
`+`
`+(prn (apply + (map num-length (range 1 1001))))`

# File clojure/18.clj

`+; By starting at the top of the triangle below and moving to adjacent numbers`
`+; on the row below, the maximum total from top to bottom is 23.`
`+; `
`+; 3`
`+; 7 5`
`+; 2 4 6`
`+; 8 5 9 3`
`+; `
`+; That is, 3 + 7 + 4 + 9 = 23.`
`+; `
`+; Find the maximum total from top to bottom of the triangle below:`
`+; `
`+; 75`
`+; 95 64`
`+; 17 47 82`
`+; 18 35 87 10`
`+; 20 04 82 47 65`
`+; 19 01 23 75 03 34`
`+; 88 02 77 73 07 63 67`
`+; 99 65 04 28 06 16 70 92`
`+; 41 41 26 56 83 40 80 70 33`
`+; 41 48 72 33 47 32 37 16 94 29`
`+; 53 71 44 65 25 43 91 52 97 51 14`
`+; 70 11 33 28 77 73 17 78 39 68 17 57`
`+; 91 71 52 38 17 14 91 43 58 50 27 29 48`
`+; 63 66 04 68 89 53 67 30 73 16 69 87 40 31`
`+; 04 62 98 27 23 09 70 98 73 93 38 53 60 04 23`
`+; `
`+; NOTE: As there are only 16384 routes, it is possible to solve this problem by`
`+; trying every route. However, Problem 67, is the same challenge with a`
`+; triangle containing one-hundred rows; it cannot be solved by brute force, and`
`+; requires a clever method! ;o)`
`+; `
`+; Answer: 1074`
`+`
`+(def triangle [`
`+  [75]`
`+  [95 64]`
`+  [17 47 82]`
`+  [18 35 87 10]`
`+  [20  4 82 47 65]`
`+  [19  1 23 75  3 34]`
`+  [88  2 77 73  7 63 67]`
`+  [99 65  4 28  6 16 70 92]`
`+  [41 41 26 56 83 40 80 70 33]`
`+  [41 48 72 33 47 32 37 16 94 29]`
`+  [53 71 44 65 25 43 91 52 97 51 14]`
`+  [70 11 33 28 77 73 17 78 39 68 17 57]`
`+  [91 71 52 38 17 14 91 43 58 50 27 29 48]`
`+  [63 66  4 68 89 53 67 30 73 16 69 87 40 31]`
`+  [ 4 62 98 27 23  9 70 98 73 93 38 53 60  4 23]])`
`+`
`+(defn max-sum-xy [x y triangle]`
`+  (if (or (< y 0) (>= y (count triangle))`
`+          (< x 0) (>= x (count (triangle y))))`
`+    0`
`+    (+ ((triangle y) x) (max (max-sum-xy x (inc y) triangle)`
`+                             (max-sum-xy (inc x) (inc y) triangle)))))`
`+`
`+(defn max-sum [triangle]`
`+  (max-sum-xy 0 0 triangle))`
`+`
`+(prn (max-sum triangle))`

# File clojure/19.clj

`+; You are given the following information, but you may prefer to do some`
`+; research for yourself.`
`+; `
`+;     * 1 Jan 1900 was a Monday.`
`+;     * Thirty days has September,`
`+;       April, June and November.`
`+;       All the rest have thirty-one,`
`+;       Saving February alone,`
`+;       Which has twenty-eight, rain or shine.`
`+;       And on leap years, twenty-nine.`
`+;     * A leap year occurs on any year evenly divisible by 4, but not on a`
`+;     century unless it is divisible by 400.`
`+; `
`+; How many Sundays fell on the first of the month during the twentieth century`
`+; (1 Jan 1901 to 31 Dec 2000)?`
`+; `
`+; Answer: 171`
`+`
`+(ns e19`
`+  (:import java.util.Calendar))`
`+`
`+(def cal (Calendar/getInstance))`
`+`
`+(def months `
`+  (for [year (range 1901 2001) month (range 1 13)]`
`+    [year month]))`
`+`
`+(defn make-calendar [year month]`
`+  (doto cal`
`+    (.clear)`
`+    (.set year (dec month) 1)))`
`+`
`+(defn pred [n]`
`+  (let [c (apply make-calendar n)]`
`+    (= (.get c Calendar/DAY_OF_WEEK) Calendar/SUNDAY)))`
`+`
`+(prn (count (filter pred months)))`

# File clojure/2.clj

`+; Each new term in the Fibonacci sequence is generated by adding the previous`
`+; two terms. By starting with 1 and 2, the first 10 terms will be:`
`+`
`+; 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...`
`+`
`+; Find the sum of all the even-valued terms in the sequence which do not exceed`
`+; four million.`
`+;`
`+; Answer: 4613732`
`+`
`+(defn fibs []`
`+ (map first (iterate (fn [[a b]] [b (+ a b)]) [1 1])))`
`+`
`+(println (apply + (take-while #(< % 4000000) (filter even? (fibs)))))`

# File clojure/20.clj

`+; n! means n × (n − 1) × ... × 3 × 2 × 1`
`+; `
`+; Find the sum of the digits in the number 100!`
`+;`
`+; Answer: 648`
`+`
`+(defn fact [n]`
`+ (apply * (range 1 (inc n))))`
`+`
`+`
`+(defn char->int [c]`
`+  (- (int c) (int \0)))`
`+`
`+(let [s (str (fact 100))]`
`+  (prn (apply + (map char->int s))))`

# File clojure/21.clj

`+; Let d(n) be defined as the sum of proper divisors of n (numbers less than n`
`+; which divide evenly into n).`
`+; If d(a) = b and d(b) = a, where a ≠ b, then a and b are an amicable pair and`
`+; each of a and b are called amicable numbers.`
`+; `
`+; For example, the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, 55`
`+; and 110; therefore d(220) = 284. The proper divisors of 284 are 1, 2, 4, 71`
`+; and 142; so d(284) = 220.`
`+; `
`+; Evaluate the sum of all the amicable numbers under 10000.`
`+;`
`+; Answer: 31626`
`+`
`+`
`+(defn factors [n]`
`+  (let [max (inc (int (Math/sqrt n)))]`
`+   (loop [fs [] i 2]`
`+     (if (= i max)`
`+       (set (cons 1 fs)) ; Unique items`
`+       (if (zero? (mod n i))`
`+         (recur (concat fs [i (/ n i)]) (inc i))`
`+         (recur fs (inc i)))))))`
`+`
`+(defn d [n]`
`+  (apply + (factors n)))`
`+`
`+(defn amicable? [n]`
`+  (let [i (d n)]`
`+    (and (not (= n i)) (= (d i) n))))`
`+`
`+(prn (apply + (filter amicable? (range 1 10001))))`

# File clojure/22.clj

`+; Using names.txt (right click and 'Save Link/Target As...'), a 46K text file`
`+; containing over five-thousand first names, begin by sorting it into`
`+; alphabetical order. Then working out the alphabetical value for each name,`
`+; multiply this value by its alphabetical position in the list to obtain a name`
`+; score.`
`+; `
`+; For example, when the list is sorted into alphabetical order, COLIN, which is`
`+; worth 3 + 15 + 12 + 9 + 14 = 53, is the 938th name in the list. So, COLIN`
`+; would obtain a score of 938 × 53 = 49714.`
`+; `
`+; What is the total of all the name scores in the file?`
`+;`
`+; Answer: 871198282`
`+`
`+(defn char->int [c]`
`+  (- (int c) (dec (int \A))))`
`+`
`+(defn str->int [s]`
`+  (apply + (map char->int s)))`
`+`
`+(let [names (sort (re-seq #"[A-Z]+" (slurp "names.txt")))]`
`+ (prn (apply + (map #(* %1 (str->int %2))`
`+                    (iterate inc 1) names))))`

# File clojure/23.clj

`+; A perfect number is a number for which the sum of its proper divisors is`
`+; exactly equal to the number. For example, the sum of the proper divisors of`
`+; 28 would be 1 + 2 + 4 + 7 + 14 = 28, which means that 28 is a perfect number.`
`+; `
`+; A number whose proper divisors are less than the number is called deficient`
`+; and a number whose proper divisors exceed the number is called abundant.`
`+; `
`+; As 12 is the smallest abundant number, 1 + 2 + 3 + 4 + 6 = 16, the smallest`
`+; number that can be written as the sum of two abundant numbers is 24. By`
`+; mathematical analysis, it can be shown that all integers greater than 28123`
`+; can be written as the sum of two abundant numbers. However, this upper limit`
`+; cannot be reduced any further by analysis even though it is known that the`
`+; greatest number that cannot be expressed as the sum of two abundant numbers`
`+; is less than this limit.`
`+; `
`+; Find the sum of all the positive integers which cannot be written as the sum`
`+; of two abundant numbers.`
`+;`
`+; Answer: 4179871`
`+ `
`+(defn factors [n]`
`+  (let [max (inc (int (Math/sqrt n)))]`
`+   (loop [fs [] i 2]`
`+     (if (= i max)`
`+       (set (cons 1 fs)) ; Unique items`
`+       (if (zero? (mod n i))`
`+         (recur (concat fs [i (/ n i)]) (inc i))`
`+         (recur fs (inc i)))))))`
`+`
`+(def factors (memoize factors))`
`+`
`+(defn abundant? [n]`
`+  (> (apply + (factors n)) n))`
`+`
`+(defn sum-two-abundant [n]`
`+  (some (fn [i] (and (abundant? i) (abundant? (- n i))))`
`+        (range 1 (inc (Math/ceil (/ n 2))))))`
`+`
`+;(prn (apply + (filter (fn [i] (not (sum-two-abundant i))) (range 1 28123))))`
`+(dorun (map #(println % (sum-two-abundant %)) (range 1 28123)))`

# File clojure/24.clj

`+; A permutation is an ordered arrangement of objects. For example, 3124 is one`
`+; possible permutation of the digits 1, 2, 3 and 4. If all of the permutations`
`+; are listed numerically or alphabetically, we call it lexicographic order. The`
`+; lexicographic permutations of 0, 1 and 2 are:`
`+; `
`+; 012   021   102   120   201   210`
`+; `
`+; What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4,`
`+; 5, 6, 7, 8 and 9?`
`+;`
`+; Answer: 2783915460`
`+`
`+(defn last-permutation? [n]`
`+  (= n (reverse (sort n))))`
`+`
`+(defn next-head [n]`
`+  (first (filter #(> % (first n)) (sort (rest n)))))`
`+`
`+(defn permutation-step [n]`
`+  (if (last-permutation? n)`
`+    nil`
`+    (let [sub (permutation-step (rest n))]`
`+      (if sub`
`+        (cons (first n) sub)`
`+        (let [head (next-head n)]`
`+          (cons head (sort (cons (first n) (remove #(= % head) (rest n))))))))))`
`+`
`+(defn perm->str [n]`
`+  (apply str (map #(str (bigint %)) n)))`
`+`
`+(let [p (nth (iterate permutation-step (range 10)) 999999)]`
`+  (prn (perm->str p)))`

# File clojure/241.clj

`+; For a positive integer n, let σ(n) be the sum of all divisors of n, so e.g.`
`+; σ(6) = 1 + 2 + 3 + 6 = 12.`
`+; `
`+; A perfect number, as you probably know, is a number with σ(n) = 2n.`
`+; `
`+; Let us define the perfection quotient of a positive integer as `
`+; p(n)	= σ(n) / n`
`+; `
`+; `
`+; Find the sum of all positive integers n ≤ 10^(18) for which p(n) has the form`
`+; k + 1⁄2, where k is an integer.`
`+`
`+(defn factors [n]`
`+  (let [max (inc (int (Math/sqrt n)))]`
`+   (loop [fs [] i 2]`
`+     (if (= i max)`
`+       (set (cons n (cons 1 fs))) ; Unique items`
`+       (if (zero? (mod n i))`
`+         (recur (concat fs [i (/ n i)]) (inc i))`
`+         (recur fs (inc i)))))))`
`+`
`+(defn p [n]`
`+ (/ (apply + (factors n)) n))`
`+`
`+(defn k? [n]`
`+  (let [pn (p n)]`
`+    (and (= (class pn) clojure.lang.Ratio)`
`+         (= (.denominator pn) 2))))`
`+`
`+(defn sum-k [max-n]`
`+  (apply + (pmap #(if (k? %) % 0) `
`+                 (take-while #(< % max-n) (iterate inc 1)))))`
`+`
`+(prn (sum-k (Math/pow 10 18)))`
`+(shutdown-agents)`

# File clojure/25.clj

`+; The Fibonacci sequence is defined by the recurrence relation:`
`+; `
`+;     F_(n) = F_(n−1) + F_(n−2), where F_(1) = 1 and F_(2) = 1.`
`+; `
`+; Hence the first 12 terms will be:`
`+; `
`+;     F_(1) = 1`
`+;     F_(2) = 1`
`+;     F_(3) = 2`
`+;     F_(4) = 3`
`+;     F_(5) = 5`
`+;     F_(6) = 8`
`+;     F_(7) = 13`
`+;     F_(8) = 21`
`+;     F_(9) = 34`
`+;     F_(10) = 55`
`+;     F_(11) = 89`
`+;     F_(12) = 144`
`+; `
`+; The 12th term, F_(12), is the first term to contain three digits.`
`+; `
`+; What is the first term in the Fibonacci sequence to contain 1000 digits?`
`+; `
`+; Answer: 4782`
`+`
`+(defn fibs []`
`+ (map first (iterate (fn [[a b]] [b (+ a b)]) [1 1])))`
`+`
`+(defn find-fib [n]`
`+ (inc (count (take-while #(< (.length (str %)) n) (fibs)))))`
`+`
`+(prn (find-fib 1000))`

# File clojure/26.clj

`+; A unit fraction contains 1 in the numerator. The decimal representation of the`
`+; unit fractions with denominators 2 to 10 are given:`
`+; `
`+;     1/2	= 	0.5`
`+;     1/3	= 	0.(3)`
`+;     1/4	= 	0.25`
`+;     1/5	= 	0.2`
`+;     1/6	= 	0.1(6)`
`+;     1/7	= 	0.(142857)`
`+;     1/8	= 	0.125`
`+;     1/9	= 	0.(1)`
`+;     1/10 	= 	0.1`
`+; `
`+; Where 0.1(6) means 0.166666..., and has a 1-digit recurring cycle. It can be`
`+; seen that 1/7 has a 6-digit recurring cycle.`
`+; `
`+; Find the value of d < 1000 for which 1/d contains the longest recurring`
`+; cycle in its decimal fraction part.`
`+; `
`+;`
`+`
`+`
`+; The idea is to create step of divison that will return the digit and the`
`+; leftover and run it with "iterate". Currently it seems like the best approach`
`+; is to have an embedded function where "n" is bound (or maybe use "bindings")`
`+(defn step [[digit a b]]`
`+  ; (divide 1 7) -> [1 3]`
`+  (let [a (* 10 a)`
`+        digit (int (/ a b))`
`+        leftover (- a (* b digit))]`
`+     [digit leftover b]))`
`+`
`+(defn digits [n]`
`+  (defn step [digit leftover]`
`+    `
`+  (map first (iterate divide [1 n])))`

# File clojure/27.clj

`+; Euler published the remarkable quadratic formula:`
`+; `
`+; n² + n + 41`
`+; `
`+; It turns out that the formula will produce 40 primes for the consecutive`
`+; values n = 0 to 39. However, when n = 40, 40^(2) + 40 + 41 = 40(40 + 1) + 41`
`+; is divisible by 41, and certainly when n = 41, 41² + 41 + 41 is clearly`
`+; divisible by 41.`
`+; `
`+; Using computers, the incredible formula  n² − 79n + 1601 was discovered, which`
`+; produces 80 primes for the consecutive values n = 0 to 79. The product of the`
`+; coefficients, −79 and 1601, is −126479.`
`+; `
`+; Considering quadratics of the form:`
`+; `
`+;     n² + an + b, where |a| < 1000 and |b| < 1000`
`+; `
`+;     where |n| is the modulus/absolute value of n`
`+;     e.g. |11| = 11 and |−4| = 4`
`+; `
`+; Find the product of the coefficients, a and b, for the quadratic expression`
`+; that produces the maximum number of primes for consecutive values of n,`
`+; starting with n = 0.`
`+; `
`+; Answer: -59231`
`+`
`+(defn prime? [n]`
`+  (.isProbablePrime (bigint n) 10))`
`+`
`+(defn quad [a b n]`
`+  (+ (* n n) (* n a) b))`
`+`
`+(defn num-primes [a b]`
`+  (let [func (partial quad a b)]`
`+    (count (take-while prime? (map func (iterate inc 0))))))`
`+`
`+(let [abs (for [a (range -999 1001)  b (range -999 1001)] [a b])`
`+      results (pmap (fn [[a b]] [a b (num-primes a b)]) abs)`
`+      [a b _] (apply max-key #(% 2) results)]`
`+  (println (* a b)))`
`+(shutdown-agents)`

# File clojure/28.clj

`+; Starting with the number 1 and moving to the right in a clockwise direction a`
`+; 5 by 5 spiral is formed as follows:`
`+; `
`+; 21 22 23 24 25`
`+; 20  7  8  9 10`
`+; 19  6  1  2 11`
`+; 18  5  4  3 12`
`+; 17 16 15 14 13`
`+; `
`+; It can be verified that the sum of both diagonals is 101.`
`+; `
`+; What is the sum of both diagonals in a 1001 by 1001 spiral formed in the same`
`+; way?`
`+;`
`+; Answer: 669171001`
`+`
`+(defn corners [start size]`
`+  (take 4 (iterate #(+ % size) start)))`
`+`
`+(defn sum-diagonals [max-size]`
`+  (loop [start 3 size 2 sum-d 1]`
`+    (if (> (inc size) max-size)`
`+      sum-d`
`+      (let [cs (corners start size)`
`+            new-size (+ size 2)]`
`+        (recur (+ (last cs) new-size)`
`+               new-size`
`+               (apply + (cons sum-d cs)))))))`
`+`
`+(prn (sum-diagonals 1001))`

# File clojure/29.clj

`+; Consider all integer combinations of a^(b) for 2 ≤ a ≤ 5 and 2 ≤ b ≤ 5:`
`+; `
`+;     2^(2)=4, 2^(3)=8, 2^(4)=16, 2^(5)=32`
`+;     3^(2)=9, 3^(3)=27, 3^(4)=81, 3^(5)=243`
`+;     4^(2)=16, 4^(3)=64, 4^(4)=256, 4^(5)=1024`
`+;     5^(2)=25, 5^(3)=125, 5^(4)=625, 5^(5)=3125`
`+; `
`+; If they are then placed in numerical order, with any repeats removed, we get`
`+; the following sequence of 15 distinct terms:`
`+; `
`+; 4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125`
`+; `
`+; How many distinct terms are in the sequence generated by a^(b) for 2 ≤ a ≤`
`+; 100 and 2 ≤ b ≤ 100?`
`+; `
`+; Answer: 9183`
`+`
`+(defn num-terms [min-a max-a min-b max-b]`
`+  (let [nums (for [b (range min-b (inc max-b))`
`+                   a (range min-a (inc max-a))]`
`+               (Math/pow a b))]`
`+    (count (set nums))))`
`+`
`+(prn (num-terms 2 100 2 100))`

# File clojure/3.clj

`+; The prime factors of 13195 are 5, 7, 13 and 29.`
`+;`
`+; What is the largest prime factor of the number 600851475143 ?`
`+;`
`+; Answer: 6857`
`+`
`+(defn first-candidate [n]`
`+ (let [c (int (Math/sqrt n))]`
`+  (if (even? c)`
`+   (dec c)`
`+   c)))`
`+`
`+(defn dec2 [n]`
`+ (- n 2))`
`+`
`+(defn biggest-factor [n]`
`+ (first (filter (fn [x] (and (zero? (mod n x)) `
`+                             (.isProbablePrime (bigint x) 10)))`
`+                (iterate dec2 (first-candidate n)))))`
`+`
`+(println (biggest-factor 600851475143))`

# File clojure/30.clj

`+; Surprisingly there are only three numbers that can be written as the sum of`
`+; fourth powers of their digits:`
`+; `
`+;     1634 = 1^(4) + 6^(4) + 3^(4) + 4^(4)`
`+;     8208 = 8^(4) + 2^(4) + 0^(4) + 8^(4)`
`+;     9474 = 9^(4) + 4^(4) + 7^(4) + 4^(4)`
`+; `
`+; As 1 = 1^(4) is not a sum it is not included.`
`+; `
`+; The sum of these numbers is 1634 + 8208 + 9474 = 19316.`
`+; `
`+; Find the sum of all the numbers that can be written as the sum of fifth`
`+; powers of their digits.`
`+;`
`+; Answer: 443839`
`+`
`+(defn char->num [n]`
`+  (- (int n) (int \0)))`
`+`
`+(defn sum5 [n]`
`+  (apply + (map #(Math/pow % 5) (map char->num (str n)))))`
`+`
`+; FIXME: I just chose 1000000 as arbitrary large`
`+(let [ints (take-while #(< % 1000000) (iterate inc 2))`
`+      nums (filter #(= (sum5 %) %) ints)]`
`+  (prn (apply + nums)))`
`+`

# File clojure/31.clj

`+; In England the currency is made up of pound, £, and pence, p, and there are`
`+; eight coins in general circulation:`
`+; `
`+;     1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) and £2 (200p).`
`+; `
`+; It is possible to make £2 in the following way:`
`+; `
`+;     1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p`
`+; `
`+; How many different ways can £2 be made using any number of coins?`
`+; `
`+; Answer:`
`+`
`+(defn num-ways [sum coins path]`
`+  (if (zero? sum)`
`+    path`
`+    (let [possible-coins (filter #(<= % sum) coins)]`
`+      (for [path paths`
`+      (apply + (map #(num-ways (- sum %) coins) possible-coins)))))`
`+`
`+(def num-ways (memoize num-ways))`
`+`
`+;(println (num-ways 200 [1 2 5 10 20 50 100 200]))`

# File clojure/32.clj

`+; We shall say that an n-digit number is pandigital if it makes use of all the`
`+; digits 1 to n exactly once; for example, the 5-digit number, 15234, is 1`
`+; through 5 pandigital.`
`+; `
`+; The product 7254 is unusual, as the identity, 39 × 186 = 7254, containing`
`+; multiplicand, multiplier, and product is 1 through 9 pandigital.`
`+; `
`+; Find the sum of all products whose multiplicand/multiplier/product identity`
`+; can be written as a 1 through 9 pandigital.`
`+;`
`+; HINT: Some products can be obtained in more than one way so be sure to only include it once in your sum.`
`+;`
`+; Answer:`
`+`
`+; FIXME: This is wrong!`
`+;`
`+(use 'clojure.contrib.combinatorics)`
`+(use '[clojure.set :only (difference)])`
`+`
`+(def *digits* #{\1 \2 \3 \4 \5 \6 \7 \8 \9})`
`+(def *sizes* '(1 2 3 4))`
`+`
`+(defn pandigital? [lhs rhs product]`
`+  (= (sort *digits*) (sort (str lhs rhs product))))`
`+`
`+(defn all-perms [nums sizes]`
`+  (mapcat identity `
`+          (for [size sizes] (mapcat permutations (combinations nums size)))))`
`+`
`+(defn all-pairs [digits sizes]`
`+  (for [lhs (all-perms digits sizes)`
`+        rhs (all-perms (difference digits lhs) sizes)]`
`+    [lhs rhs]))`
`+`
`+(defn chars->num `
`+  "(\1 \2 \3) -> 123"`
`+  [cs]`
`+  (Integer/valueOf (apply str cs)))`
`+`
`+(defn map-fn [[lhs rhs]]`
`+  (let [lhs (chars->num lhs) rhs (chars->num rhs) product (* lhs rhs)]`
`+    (if (pandigital? lhs rhs product)`
`+      product)))`
`+`
`+(let [products (pmap map-fn (all-pairs *digits* *sizes*))]`
`+  (println (reduce + (filter (complement nil?) products))))`
`+(shutdown-agents)`

# File clojure/35.clj

`+; The number, 197, is called a circular prime because all rotations of the`
`+; digits: 197, 971, and 719, are themselves prime.`
`+; `
`+; There are thirteen such primes below 100: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71,`
`+; 73, 79, and 97.`
`+; `
`+; How many circular primes are there below one million?`
`+;`
`+; Answer: 55`
`+`
`+(defn rotations [n]`
`+  (let [n (str n) size (count n)]`
`+    (for [i (range size)]`
`+      (Integer/parseInt (apply str (.substring n i) (.substring n 0 i))))))`
`+`
`+(defn primes-seq []`
`+  (filter (fn [n] (.isProbablePrime (bigint n) 10)) (iterate inc 1)))`
`+`
`+(defn primes-upto [n]`
`+  (take-while #(< % n) (primes-seq)))`
`+`
`+(defn circular? [n primes]`
`+  (every? #(contains? primes %) (rotations n)))`
`+`
`+(defn num-circular [n]`
`+  (let [primes (set (primes-upto n))]`
`+    (count (filter #(circular? % primes) primes))))`
`+`
`+(prn (num-circular 1000000))`

# File clojure/39.clj

`+; If p is the perimeter of a right angle triangle with integral length sides,`
`+; {a,b,c}, there are exactly three solutions for p = 120.`
`+; `
`+; {20,48,52}, {24,45,51}, {30,40,50}`
`+; `
`+; For which value of p ≤ 1000, is the number of solutions maximised?`
`+;`
`+; Answer: 840`
`+`
`+(defn triangle? [a b c]`
`+  (= (* c c) (+ (* a a) (* b b))))`
`+`
`+(defn triangles [n]`
`+  (for [a (range 1 (- n 1)) b (range a (- n a 1)) `
`+        :when (triangle? a b (- n a b))]`
`+    [a b (- n a b)]))`
`+`
`+(defn max-triangles [max-p]`
`+  (loop [p 1 best 1 best-n 0]`
`+    (if (> p max-p)`
`+      best`
`+      (let [n (count (triangles p))]`
`+        (if (> n best-n)`
`+          (recur (inc p) p n)`
`+          (recur (inc p) best best-n))))))`
`+`
`+(prn (max-triangles 1000))`

# File clojure/4.clj

`+; A palindromic number reads the same both ways. The largest palindrome made`
`+; from the product of two 2-digit numbers is 9009 = 91 × 99.`
`+;`
`+; Find the largest palindrome made from the product of two 3-digit numbers.`
`+;`
`+; Answer: 906609`
`+`
`+(defn palindrom? [s]`
`+  (let [size (count s)`
`+        middle (int (/ size 2))`
`+        pre (.substring s 0 middle)`
`+        i (if (even? size) middle (inc middle))]`
`+    (= (list* pre) (reverse (.substring s i size)))))`
`+`
`+`
`+(defn palindrom-numbers []`
`+  (for [a (range 100 999)`
`+        b (range 100 999)`
`+        :when (palindrom? (format "%d" (* a b)))]`
`+    (* a b)))`
`+`
`+(prn (apply max (palindrom-numbers)))`

# File clojure/41.clj

`+; We shall say that an n-digit number is pandigital if it makes use of all the`
`+; digits 1 to n exactly once. For example, 2143 is a 4-digit pandigital and is`
`+; also prime.`
`+; `
`+; What is the largest n-digit pandigital prime that exists?`
`+;`
`+; Answer:`
`+`
`+(defn str->digits [s]`
`+  (sort (map #(- (int %) (int \0)) s)))`
`+`
`+(defn pandigital? [n]`
`+  (let [n (str n)]`
`+    (= (range 1 (inc (count n))) (str->digits n))))`
`+`
`+(defn primes-from [n]`
`+  (filter (fn [n] (.isProbablePrime (bigint n) 10)) `
`+          (take-while #(> % 1) (iterate dec n))))`
`+`
`+(prn (max (filter pandigital? (primes-from 987654321))))`

# File clojure/42.clj

`+; The n^(th) term of the sequence of triangle numbers is given by, t_(n) =`
`+; ½n(n+1); so the first ten triangle numbers are:`
`+; `
`+; 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...`
`+; `
`+; By converting each letter in a word to a number corresponding to its`
`+; alphabetical position and adding these values we form a word value. For`
`+; example, the word value for SKY is 19 + 11 + 25 = 55 = t_(10). If the word`
`+; value is a triangle number then we shall call the word a triangle word.`
`+; `
`+; Using words.txt (right click and 'Save Link/Target As...'), a 16K text file`
`+; containing nearly two-thousand common English words, how many are triangle`
`+; words?`
`+; `
`+; Answer: 162`
`+`
`+(defn word->int [w]`
`+  (apply + (map #(inc (- (int %) (int \A))) w)))`
`+`
`+(defn triangles [n]`
`+  (map #(* (/ % 2) (inc %)) (range 1 (inc n))))`
`+`
`+(let [words (re-seq #"[A-Z]+" (slurp "words.txt"))`
`+      values (map word->int words)`
`+      ts (set (triangles (apply max values)))]`
`+  (prn (count (filter #(contains? ts %) values))))`

# File clojure/48.clj

`+; The series, 1^(1) + 2^(2) + 3^(3) + ... + 10^(10) = 10405071317.`
`+`
`+; Find the last ten digits of the series, 1^(1) + 2^(2) + 3^(3) + ... +`
`+; 1000^(1000).`
`+;`
`+; Answer: 9110846700 `
`+`
`+(defn power-seq [n]`
`+  (map #(.pow % %) (map bigint (range 1 (inc n)))))`
`+`
`+(let [n (str (apply + (power-seq 1000)))]`
`+  (prn (.substring n (- (count n) 10))))`
`+`

# File clojure/5.clj

`+; 2520 is the smallest number that can be divided by each of the numbers from 1`
`+; to 10 without any remainder.`
`+;`
`+; What is the smallest number that is evenly divisible by all of the numbers`
`+; from 1 to 20?`
`+;`
`+; Answer: 232792560`
`+`
`+(defn divisible? [n]`
`+  (every? #(zero? (mod n %)) (range 1 20)))`
`+`
`+(prn (first (filter divisible? (iterate inc 19))))`

# File clojure/55.clj

`+; If we take 47, reverse and add, 47 + 74 = 121, which is palindromic.`
`+; `
`+; Not all numbers produce palindromes so quickly. For example,`
`+; `
`+; 349 + 943 = 1292,`
`+; 1292 + 2921 = 4213`
`+; 4213 + 3124 = 7337`
`+; `
`+; That is, 349 took three iterations to arrive at a palindrome.`
`+; `
`+; Although no one has proved it yet, it is thought that some numbers, like 196,`
`+; never produce a palindrome. A number that never forms a palindrome through`
`+; the reverse and add process is called a Lychrel number. Due to the`
`+; theoretical nature of these numbers, and for the purpose of this problem, we`
`+; shall assume that a number is Lychrel until proven otherwise. In addition you`
`+; are given that for every number below ten-thousand, it will either (i) become`
`+; a palindrome in less than fifty iterations, or, (ii) no one, with all the`
`+; computing power that exists, has managed so far to map it to a palindrome. In`
`+; fact, 10677 is the first number to be shown to require over fifty iterations`
`+; before producing a palindrome: 4668731596684224866951378664 (53 iterations,`
`+; 28-digits).`
`+; `
`+; Surprisingly, there are palindromic numbers that are themselves Lychrel`
`+; numbers; the first example is 4994.`
`+; `
`+; How many Lychrel numbers are there below ten-thousand?`
`+;`
`+; Answer: 249`
`+`
`+(defn palindrom? [s]`
`+  (let [size (count s)`
`+        middle (int (/ size 2))`
`+        pre (.substring s 0 middle)`
`+        i (if (even? size) middle (inc middle))]`
`+    (= (list* pre) (reverse (.substring s i size)))))`
`+`
`+(defn strrev [s]`
`+  (apply str (reverse s)))`
`+`
`+(defn step [s]`
`+  (str (+ (bigint s) (bigint (strrev s)))))`
`+`
`+(defn lychrel? [n]`
`+  (let [n (step (str n)) ; Don't count the number itself`
`+        lseq (take-while #(not (palindrom? %)) (iterate step n))]`
`+    (> (count (take 51 lseq)) 50)))`
`+`
`+(prn (count (filter lychrel? (range 1 10000))))`

# File clojure/56.clj

`+; A googol (10^(100)) is a massive number: one followed by one-hundred zeros;`
`+; 100^(100) is almost unimaginably large: one followed by two-hundred zeros.`
`+; Despite their size, the sum of the digits in each number is only 1.`
`+; `
`+; Considering natural numbers of the form, a^(b), where a, b < 100, what is the`
`+; maximum digital sum?`
`+;`
`+; Answer: 972`
`+`
`+(defn char->num [n]`
`+  (- (int n) (int \0)))`
`+`
`+(defn sum-digits [n]`
`+  (apply + (map char->num (str (bigint n)))))`
`+`
`+(defn max-digits [n]`
`+  (let [ab (for [a (range 1 n) b (range 1 n)] [(bigint a) (bigint b)])]`
`+    (apply max (map #(sum-digits (.pow (first %) (last %))) ab))))`
`+`
`+(prn (max-digits 100))`

# File clojure/6.clj

`+; The sum of the squares of the first ten natural numbers is,`
`+; 1^(2) + 2^(2) + ... + 10^(2) = 385`
`+; `
`+; The square of the sum of the first ten natural numbers is,`
`+; (1 + 2 + ... + 10)^(2) = 55^(2) = 3025`
`+; `
`+; Hence the difference between the sum of the squares of the first ten natural`
`+; numbers and the square of the sum is 3025 − 385 = 2640.`
`+; `
`+; Find the difference between the sum of the squares of the first one hundred`
`+; natural numbers and the square of the sum.`
`+;`
`+; Answer: 25164150`
`+`
`+(defn square [n]`
`+  (* n n))`
`+`
`+(defn sum [items] `
`+  (apply + items))`
`+`
`+(let [nums (range 1 101)]`
`+  (prn (Math/abs (- (sum (map square nums)) (square (sum nums))))))`

# File clojure/7.clj

`+; By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see`
`+; that the 6^(th) prime is 13.`
`+; `
`+; What is the 10001^(st) prime number?`
`+;`
`+; Answer: 104743`
`+`
`+(defn primes []`
`+  (filter #(.isProbablePrime (bigint %) 10) (iterate inc 1)))`
`+`
`+(prn (nth (primes) 10000))`

# File clojure/8.clj

`+; Find the greatest product of five consecutive digits in the 1000-digit number.`
`+; `
`+; 73167176531330624919225119674426574742355349194934`
`+; 96983520312774506326239578318016984801869478851843`
`+; 85861560789112949495459501737958331952853208805511`
`+; 12540698747158523863050715693290963295227443043557`
`+; 66896648950445244523161731856403098711121722383113`
`+; 62229893423380308135336276614282806444486645238749`
`+; 30358907296290491560440772390713810515859307960866`
`+; 70172427121883998797908792274921901699720888093776`
`+; 65727333001053367881220235421809751254540594752243`
`+; 52584907711670556013604839586446706324415722155397`
`+; 53697817977846174064955149290862569321978468622482`
`+; 83972241375657056057490261407972968652414535100474`
`+; 82166370484403199890008895243450658541227588666881`
`+; 16427171479924442928230863465674813919123162824586`
`+; 17866458359124566529476545682848912883142607690042`
`+; 24219022671055626321111109370544217506941658960408`
`+; 07198403850962455444362981230987879927244284909188`
`+; 84580156166097919133875499200524063689912560717606`
`+; 05886116467109405077541002256983155200055935729725`
`+; 71636269561882670428252483600823257530420752963450`
`+;`
`+; Answer: 40824`
`+`
`+`
`+(def N (str`
`+  "73167176531330624919225119674426574742355349194934"`
`+   "96983520312774506326239578318016984801869478851843"`
`+   "85861560789112949495459501737958331952853208805511"`
`+   "12540698747158523863050715693290963295227443043557"`
`+   "66896648950445244523161731856403098711121722383113"`
`+   "62229893423380308135336276614282806444486645238749"`
`+   "30358907296290491560440772390713810515859307960866"`
`+   "70172427121883998797908792274921901699720888093776"`
`+   "65727333001053367881220235421809751254540594752243"`
`+   "52584907711670556013604839586446706324415722155397"`
`+   "53697817977846174064955149290862569321978468622482"`
`+   "83972241375657056057490261407972968652414535100474"`
`+   "82166370484403199890008895243450658541227588666881"`
`+   "16427171479924442928230863465674813919123162824586"`
`+   "17866458359124566529476545682848912883142607690042"`
`+   "24219022671055626321111109370544217506941658960408"`
`+   "07198403850962455444362981230987879927244284909188"`
`+   "84580156166097919133875499200524063689912560717606"`
`+   "05886116467109405077541002256983155200055935729725"`
`+   "71636269561882670428252483600823257530420752963450"))`
`+       `
`+`
`+(defn prod [start]`
`+  (apply * (map (fn [i] `
`+                   (- (int (nth N i)) (int \0)))`
`+                 (range start (+ start 5)))))`
`+`
`+(prn (apply max (map prod (range 0 (- (count N) 5)))))`

# File clojure/9.clj

`+; A Pythagorean triplet is a set of three natural numbers, a < b < c, for which,`
`+; a^(2) + b^(2) = c^(2)`
`+; `
`+; For example, 3^(2) + 4^(2) = 9 + 16 = 25 = 5^(2).`
`+; `
`+; There exists exactly one Pythagorean triplet for which a + b + c = 1000.`
`+; Find the product abc.`
`+;`
`+; Answer: 31875000`
`+ `
`+(defn triplets []`
`+  (for [a (range 1 999)`
`+        b (range 1 (- 999 a))]`
`+    [a b (- 1000 (+ a b))]))`
`+`
`+(defn pythagorean? [a b c]`
`+  (= (+ (* a a) (* b b)) (* c c)))`
`+`
`+(let [abc (first (filter #(apply pythagorean? %) (triplets)))]`
`+  (prn (apply * abc)))`

# File clojure/96.clj

`+; See http://projecteuler.net/index.php?section=problems&id=96 :)`
`+;`
`+; Answer: `
`+`
`+(refer 'clojure.set :only '(difference))`
`+`
`+(def problem '(`
`+  "003020600"`
`+  "900305001"`
`+  "001806400"`
`+  "008102900"`
`+  "700000008"`
`+  "006708200"`
`+  "002609500"`
`+  "800203009"`
`+  "005010300"))`
`+`
`+(defn char->num [c]`
`+  (- (int c) (int \0)))`
`+`
`+(defstruct cell :row :col)`
`+`
`+(defn parse-row [grid row s]`
`+  (loop [grid grid i 0]`
`+    (if (= i (count s))`
`+      grid`
`+      (let [v (char->num (nth s i))]`
`+        (if (zero? v)`
`+          (recur grid (inc i))`
`+          (recur (assoc grid (struct cell row i) v) (inc i)))))))`
`+`
`+(defn parse-rows [rows]`
`+  (loop [grid {} row 0]`
`+    (if (= row (count rows))`
`+      grid`
`+      (recur (parse-row grid row (nth rows row)) (inc row)))))`
`+`
`+(defn cell-row [c]`
`+  (for [col (range 9)]`
`+    (struct cell (:row c) col)))`
`+`
`+(defn cell-col [c]`
`+  (for [row (range 9)]`
`+    (struct cell row (:col c))))`
`+`
`+(defn box-first [n]`
`+  (int (Math/floor (/ n 3))))`
`+`
`+(defn cell-box [c]`
`+  (let [row (box-first (:row c))`
`+        col (box-first (:col c))]`
`+    (for [r (range 3) c (range 3)]`
`+      (struct cell (+ row r) (+ col c)))))`
`+`
`+(defn cell-peers [c]`
`+  (let [peers (set (concat (cell-row c) (cell-col c) (cell-box c)))]`
`+    (disj peers c)))`
`+`

# File clojure/README.txt

`+Solving "Project Euler" (http://projecteuler.net) using Clojure (http://clojure.org/)`
`+`
`+After finishing the first 25 in order, I just jump around and try to solve what`
`+seems interesting.`

# File clojure/names.txt

`+"MARY","PATRICIA","LINDA","BARBARA","ELIZABETH","JENNIFER","MARIA","SUSAN","MARGARET","DOROTHY","LISA","NANCY","KAREN","BETTY","HELEN","SANDRA","DONNA","CAROL","RUTH","SHARON","MICHELLE","LAURA","SARAH","KIMBERLY","DEBORAH","JESSICA","SHIRLEY","CYNTHIA","ANGELA","MELISSA","BRENDA","AMY","ANNA","REBECCA","VIRGINIA","KATHLEEN","PAMELA","MARTHA","DEBRA","AMANDA","STEPHANIE","CAROLYN","CHRISTINE","MARIE","JANET","CATHERINE","FRANCES","ANN","JOYCE","DIANE","ALICE","JULIE","HEATHER","TERESA","DORIS","GLORIA","EVELYN","JEAN","CHERYL","MILDRED","KATHERINE","JOAN","ASHLEY","JUDITH","ROSE","JANICE","KELLY","NICOLE","JUDY","CHRISTINA","KATHY","THERESA","BEVERLY","DENISE","TAMMY","IRENE","JANE","LORI","RACHEL","MARILYN","ANDREA","KATHRYN","LOUISE","SARA","ANNE","JACQUELINE","WANDA","BONNIE","JULIA","RUBY","LOIS","TINA","PHYLLIS","NORMA","PAULA","DIANA","ANNIE","LILLIAN","EMILY","ROBIN","PEGGY","CRYSTAL","GLADYS","RITA","DAWN","CONNIE","FLORENCE","TRACY","EDNA","TIFFANY","CARMEN","ROSA","CINDY","GRACE","WENDY","VICTORIA","EDITH","KIM","SHERRY","SYLVIA","JOSEPHINE","THELMA","SHANNON","SHEILA","ETHEL","ELLEN","ELAINE","MARJORIE","CARRIE","CHARLOTTE","MONICA","ESTHER","PAULINE","EMMA","JUANITA","ANITA","RHONDA","HAZEL","AMBER","EVA","DEBBIE","APRIL","LESLIE","CLARA","LUCILLE","JAMIE","JOANNE","ELEANOR","VALERIE","DANIELLE","MEGAN","ALICIA","SUZANNE","MICHELE","GAIL","BERTHA","DARLENE","VERONICA","JILL","ERIN","GERALDINE","LAUREN","CATHY","JOANN","LORRAINE","LYNN","SALLY","REGINA","ERICA","BEATRICE","DOLORES","BERNICE","AUDREY","YVONNE","ANNETTE","JUNE","SAMANTHA","MARION","DANA","STACY","ANA","RENEE","IDA","VIVIAN","ROBERTA","HOLLY","BRITTANY","MELANIE","LORETTA","YOLANDA","JEANETTE","LAURIE","KATIE","KRISTEN","VANESSA","ALMA","SUE","ELSIE","BETH","JEANNE","VICKI","CARLA","TARA","ROSEMARY","EILEEN","TERRI","GERTRUDE","LUCY","TONYA","ELLA","STACEY","WILMA","GINA","KRISTIN","JESSIE","NATALIE","AGNES","VERA","WILLIE","CHARLENE","BESSIE","DELORES","MELINDA","PEARL","ARLENE","MAUREEN","COLLEEN","ALLISON","TAMARA","JOY","GEORGIA","CONSTANCE","LILLIE","CLAUDIA","JACKIE","MARCIA","TANYA","NELLIE","MINNIE","MARLENE","HEIDI","GLENDA","LYDIA","VIOLA","COURTNEY","MARIAN","STELLA","CAROLINE","DORA","JO","VICKIE","MATTIE","TERRY","MAXINE","IRMA","MABEL","MARSHA","MYRTLE","LENA","CHRISTY","DEANNA","PATSY","HILDA","GWENDOLYN","JENNIE","NORA","MARGIE","NINA","CASSANDRA","LEAH","PENNY","KAY","PRISCILLA","NAOMI","CAROLE","BRANDY","OLGA","BILLIE","DIANNE","TRACEY","LEONA","JENNY","FELICIA","SONIA","MIRIAM","VELMA","BECKY","BOBBIE","VIOLET","KRISTINA","TONI","MISTY","MAE","SHELLY","DAISY","RAMONA","SHERRI","ERIKA","KATRINA","CLAIRE","LINDSEY","LINDSAY","GENEVA","GUADALUPE","BELINDA","MARGARITA","SHERYL","CORA","FAYE","ADA","NATASHA","SABRINA","ISABEL","MARGUERITE","HATTIE","HARRIET","MOLLY","CECILIA","KRISTI","BRANDI","BLANCHE","SANDY","ROSIE","JOANNA","IRIS","EUNICE","ANGIE","INEZ","LYNDA","MADELINE","AMELIA","ALBERTA","GENEVIEVE","MONIQUE","JODI","JANIE","MAGGIE","KAYLA","SONYA","JAN","LEE","KRISTINE","CANDACE","FANNIE","MARYANN","OPAL","ALISON","YVETTE","MELODY","LUZ","SUSIE","OLIVIA","FLORA","SHELLEY","KRISTY","MAMIE","LULA","LOLA","VERNA","BEULAH","ANTOINETTE","CANDICE","JUANA","JEANNETTE","PAM","KELLI","HANNAH","WHITNEY","BRIDGET","KARLA","CELIA","LATOYA","PATTY","SHELIA","GAYLE","DELLA","VICKY","LYNNE","SHERI","MARIANNE","KARA","JACQUELYN","ERMA","BLANCA","MYRA","LETICIA","PAT","KRISTA","ROXANNE","ANGELICA","JOHNNIE","ROBYN","FRANCIS","ADRIENNE","ROSALIE","ALEXANDRA","BROOKE","BETHANY","SADIE","BERNADETTE","TRACI","JODY","KENDRA","JASMINE","NICHOLE","RACHAEL","CHELSEA","MABLE","ERNESTINE","MURIEL","MARCELLA","ELENA","KRYSTAL","ANGELINA","NADINE","KARI","ESTELLE","DIANNA","PAULETTE","LORA","MONA","DOREEN","ROSEMARIE","ANGEL","DESIREE","ANTONIA","HOPE","GINGER","JANIS","BETSY","CHRISTIE","FREDA","MERCEDES","MEREDITH","LYNETTE","TERI","CRISTINA","EULA","LEIGH","MEGHAN","SOPHIA","ELOISE","ROCHELLE","GRETCHEN","CECELIA","RAQUEL","HENRIETTA","ALYSSA","JANA","KELLEY","GWEN","KERRY","JENNA","TRICIA","LAVERNE","OLIVE","ALEXIS","TASHA","SILVIA","ELVIRA","CASEY","DELIA","SOPHIE","KATE","PATTI","LORENA","KELLIE","SONJA","LILA","LANA","DARLA","MAY","MINDY","ESSIE","MANDY","LORENE","ELSA","JOSEFINA","JEANNIE","MIRANDA","DIXIE","LUCIA","MARTA","FAITH","LELA","JOHANNA","SHARI","CAMILLE","TAMI","SHAWNA","ELISA","EBONY","MELBA","ORA","NETTIE","TABITHA","OLLIE","JAIME","WINIFRED","KRISTIE","MARINA","ALISHA","AIMEE","RENA","MYRNA","MARLA","TAMMIE","LATASHA","BONITA","PATRICE","RONDA","SHERRIE","ADDIE","FRANCINE","DELORIS","STACIE","ADRIANA","CHERI","SHELBY","ABIGAIL","CELESTE","JEWEL","CARA","ADELE","REBEKAH","LUCINDA","DORTHY","CHRIS","EFFIE","TRINA","REBA","SHAWN","SALLIE","AURORA","LENORA","ETTA","LOTTIE","KERRI","TRISHA","NIKKI","ESTELLA","FRANCISCA","JOSIE","TRACIE","MARISSA","KARIN","BRITTNEY","JANELLE","LOURDES","LAUREL","HELENE","FERN","ELVA","CORINNE","KELSEY","INA","BETTIE","ELISABETH","AIDA","CAITLIN","INGRID","IVA","EUGENIA","CHRISTA","GOLDIE","CASSIE","MAUDE","JENIFER","THERESE","FRANKIE","DENA","LORNA","JANETTE","LATONYA","CANDY","MORGAN","CONSUELO","TAMIKA","ROSETTA","DEBORA","CHERIE","POLLY","DINA","JEWELL","FAY","JILLIAN","DOROTHEA","NELL","TRUDY","ESPERANZA","PATRICA","KIMBERLEY","SHANNA","HELENA","CAROLINA","CLEO","STEFANIE","ROSARIO","OLA","JANINE","MOLLIE","LUPE","ALISA","LOU","MARIBEL","SUSANNE","BETTE","SUSANA","ELISE","CECILE","ISABELLE","LESLEY","JOCELYN","PAIGE","JONI","RACHELLE","LEOLA","DAPHNE","ALTA","ESTER","PETRA","GRACIELA","IMOGENE","JOLENE","KEISHA","LACEY","GLENNA","GABRIELA","KERI","URSULA","LIZZIE","KIRSTEN","SHANA","ADELINE","MAYRA","JAYNE","JACLYN","GRACIE","SONDRA","CARMELA","MARISA","ROSALIND","CHARITY","TONIA","BEATRIZ","MARISOL","CLARICE","JEANINE","SHEENA","ANGELINE","FRIEDA","LILY","ROBBIE","SHAUNA","MILLIE","CLAUDETTE","CATHLEEN","ANGELIA","GABRIELLE","AUTUMN","KATHARINE","SUMMER","JODIE","STACI","LEA","CHRISTI","JIMMIE","JUSTINE","ELMA","LUELLA","MARGRET","DOMINIQUE","SOCORRO","RENE","MARTINA","MARGO","MAVIS","CALLIE","BOBBI","MARITZA","LUCILE","LEANNE","JEANNINE","DEANA","AILEEN","LORIE","LADONNA","WILLA","MANUELA","GALE","SELMA","DOLLY","SYBIL","ABBY","LARA","DALE","IVY","DEE","WINNIE","MARCY","LUISA","JERI","MAGDALENA","OFELIA","MEAGAN","AUDRA","MATILDA","LEILA","CORNELIA","BIANCA","SIMONE","BETTYE","RANDI","VIRGIE","LATISHA","BARBRA","GEORGINA","ELIZA","LEANN","BRIDGETTE","RHODA","HALEY","ADELA","NOLA","BERNADINE","FLOSSIE","ILA","GRETA","RUTHIE","NELDA","MINERVA","LILLY","TERRIE","LETHA","HILARY","ESTELA","VALARIE","BRIANNA","ROSALYN","EARLINE","CATALINA","AVA","MIA","CLARISSA","LIDIA","CORRINE","ALEXANDRIA","CONCEPCION","TIA","SHARRON","RAE","DONA","ERICKA","JAMI","ELNORA","CHANDRA","LENORE","NEVA","MARYLOU","MELISA","TABATHA","SERENA","AVIS","ALLIE","SOFIA","JEANIE","ODESSA","NANNIE","HARRIETT","LORAINE","PENELOPE","MILAGROS","EMILIA","BENITA","ALLYSON","ASHLEE","TANIA","TOMMIE","ESMERALDA","KARINA","EVE","PEARLIE","ZELMA","MALINDA","NOREEN","TAMEKA","SAUNDRA","HILLARY","AMIE","ALTHEA","ROSALINDA","JORDAN","LILIA","ALANA","GAY","CLARE","ALEJANDRA","ELINOR","MICHAEL","LORRIE","JERRI","DARCY","EARNESTINE","CARMELLA","TAYLOR","NOEMI","MARCIE","LIZA","ANNABELLE","LOUISA","EARLENE","MALLORY","CARLENE","NITA","SELENA","TANISHA","KATY","JULIANNE","JOHN","LAKISHA","EDWINA","MARICELA","MARGERY","KENYA","DOLLIE","ROXIE","ROSLYN","KATHRINE","NANETTE","CHARMAINE","LAVONNE","ILENE","KRIS","TAMMI","SUZETTE","CORINE","KAYE","JERRY","MERLE","CHRYSTAL","LINA","DEANNE","LILIAN","JULIANA","ALINE","LUANN","KASEY","MARYANNE","EVANGELINE","COLETTE","MELVA","LAWANDA","YESENIA","NADIA","MADGE","KATHIE","EDDIE","OPHELIA","VALERIA","NONA","MITZI","MARI","GEORGETTE","CLAUDINE","FRAN","ALISSA","ROSEANN","LAKEISHA","SUSANNA","REVA","DEIDRE","CHASITY","SHEREE","CARLY","JAMES","ELVIA","ALYCE","DEIRDRE","GENA","BRIANA","ARACELI","KATELYN","ROSANNE","WENDI","TESSA","BERTA","MARVA","IMELDA","MARIETTA","MARCI","LEONOR","ARLINE","SASHA","MADELYN","JANNA","JULIETTE","DEENA","AURELIA","JOSEFA","AUGUSTA","LILIANA","YOUNG","CHRISTIAN","LESSIE","AMALIA","SAVANNAH","ANASTASIA","VILMA","NATALIA","ROSELLA","LYNNETTE","CORINA","ALFREDA","LEANNA","CAREY","AMPARO","COLEEN","TAMRA","AISHA","WILDA","KARYN","CHERRY","QUEEN","MAURA","MAI","EVANGELINA","ROSANNA","HALLIE","ERNA","ENID","MARIANA","LACY","JULIET","JACKLYN","FREIDA","MADELEINE","MARA","HESTER","CATHRYN","LELIA","CASANDRA","BRIDGETT","ANGELITA","JANNIE","DIONNE","ANNMARIE","KATINA","BERYL","PHOEBE","MILLICENT","KATHERYN","DIANN","CARISSA","MARYELLEN","LIZ","LAURI","HELGA","GILDA","ADRIAN","RHEA","MARQUITA","HOLLIE","TISHA","TAMERA","ANGELIQUE","FRANCESCA","BRITNEY","KAITLIN","LOLITA","FLORINE","ROWENA","REYNA","TWILA","FANNY","JANELL","INES","CONCETTA","BERTIE","ALBA","BRIGITTE","ALYSON","VONDA","PANSY","ELBA","NOELLE","LETITIA","KITTY","DEANN","BRANDIE","LOUELLA","LETA","FELECIA","SHARLENE","LESA","BEVERLEY","ROBERT","ISABELLA","HERMINIA","TERRA","CELINA","TORI","OCTAVIA","JADE","DENICE","GERMAINE","SIERRA","MICHELL","CORTNEY","NELLY","DORETHA","SYDNEY","DEIDRA","MONIKA","LASHONDA","JUDI","CHELSEY","ANTIONETTE","MARGOT","BOBBY","ADELAIDE","NAN","LEEANN","ELISHA","DESSIE","LIBBY","KATHI","GAYLA","LATANYA","MINA","MELLISA","KIMBERLEE","JASMIN","RENAE","ZELDA","ELDA","MA","JUSTINA","GUSSIE","EMILIE","CAMILLA","ABBIE","ROCIO","KAITLYN","JESSE","EDYTHE","ASHLEIGH","SELINA","LAKESHA","GERI","ALLENE","PAMALA","MICHAELA","DAYNA","CARYN","ROSALIA","SUN","JACQULINE","REBECA","MARYBETH","KRYSTLE","IOLA","DOTTIE","BENNIE","BELLE","AUBREY","GRISELDA","ERNESTINA","ELIDA","ADRIANNE","DEMETRIA","DELMA","CHONG","JAQUELINE","DESTINY","ARLEEN","VIRGINA","RETHA","FATIMA","TILLIE","ELEANORE","CARI","TREVA","BIRDIE","WILHELMINA","ROSALEE","MAURINE","LATRICE","YONG","JENA","TARYN","ELIA","DEBBY","MAUDIE","JEANNA","DELILAH","CATRINA","SHONDA","HORTENCIA","THEODORA","TERESITA","ROBBIN","DANETTE","MARYJANE","FREDDIE","DELPHINE","BRIANNE","NILDA","DANNA","CINDI","BESS","IONA","HANNA","ARIEL","WINONA","VIDA","ROSITA","MARIANNA","WILLIAM","RACHEAL","GUILLERMINA","ELOISA","CELESTINE","CAREN","MALISSA","LONA","CHANTEL","SHELLIE","MARISELA","LEORA","AGATHA","SOLEDAD","MIGDALIA","IVETTE","CHRISTEN","ATHENA","JANEL","CHLOE","VEDA","PATTIE","TESSIE","TERA","MARILYNN","LUCRETIA","KARRIE","DINAH","DANIELA","ALECIA","ADELINA","VERNICE","SHIELA","PORTIA","MERRY","LASHAWN","DEVON","DARA","TAWANA","OMA","VERDA","CHRISTIN","ALENE","ZELLA","SANDI","RAFAELA","MAYA","KIRA","CANDIDA","ALVINA","SUZAN","SHAYLA","LYN","LETTIE","ALVA","SAMATHA","ORALIA","MATILDE","MADONNA","LARISSA","VESTA","RENITA","INDIA","DELOIS","SHANDA","PHILLIS","LORRI","ERLINDA","CRUZ","CATHRINE","BARB","ZOE","ISABELL","IONE","GISELA","CHARLIE","VALENCIA","ROXANNA","MAYME","KISHA","ELLIE","MELLISSA","DORRIS","DALIA","BELLA","ANNETTA","ZOILA","RETA","REINA","LAURETTA","KYLIE","CHRISTAL","PILAR","CHARLA","ELISSA","TIFFANI","TANA","PAULINA","LEOTA","BREANNA","JAYME","CARMEL","VERNELL","TOMASA","MANDI","DOMINGA","SANTA","MELODIE","LURA","ALEXA","TAMELA","RYAN","MIRNA","KERRIE","VENUS","NOEL","FELICITA","CRISTY","CARMELITA","BERNIECE","ANNEMARIE","TIARA","ROSEANNE","MISSY","CORI","ROXANA","PRICILLA","KRISTAL","JUNG","ELYSE","HAYDEE","ALETHA","BETTINA","MARGE","GILLIAN","FILOMENA","CHARLES","ZENAIDA","HARRIETTE","CARIDAD","VADA","UNA","ARETHA","PEARLINE","MARJORY","MARCELA","FLOR","EVETTE","ELOUISE","ALINA","TRINIDAD","DAVID","DAMARIS","CATHARINE","CARROLL","BELVA","NAKIA","MARLENA","LUANNE","LORINE","KARON","DORENE","DANITA","BRENNA","TATIANA","SAMMIE","LOUANN","LOREN","JULIANNA","ANDRIA","PHILOMENA","LUCILA","LEONORA","DOVIE","ROMONA","MIMI","JACQUELIN","GAYE","TONJA","MISTI","JOE","GENE","CHASTITY","STACIA","ROXANN","MICAELA","NIKITA","MEI","VELDA","MARLYS","JOHNNA","AURA","LAVERN","IVONNE","HAYLEY","NICKI","MAJORIE","HERLINDA","GEORGE","ALPHA","YADIRA","PERLA","GREGORIA","DANIEL","ANTONETTE","SHELLI","MOZELLE","MARIAH","JOELLE","CORDELIA","JOSETTE","CHIQUITA","TRISTA","LOUIS","LAQUITA","GEORGIANA","CANDI","SHANON","LONNIE","HILDEGARD","CECIL","VALENTINA","STEPHANY","MAGDA","KAROL","GERRY","GABRIELLA","TIANA","ROMA","RICHELLE","RAY","PRINCESS","OLETA","JACQUE","IDELLA","ALAINA","SUZANNA","JOVITA","BLAIR","TOSHA","RAVEN","NEREIDA","MARLYN","KYLA","JOSEPH","DELFINA","TENA","STEPHENIE","SABINA","NATHALIE","MARCELLE","GERTIE","DARLEEN","THEA","SHARONDA","SHANTEL","BELEN","VENESSA","ROSALINA","ONA","GENOVEVA","COREY","CLEMENTINE","ROSALBA","RENATE","RENATA","MI","IVORY","GEORGIANNA","FLOY","DORCAS","ARIANA","TYRA","THEDA","MARIAM","JULI","JESICA","DONNIE","VIKKI","VERLA","ROSELYN","MELVINA","JANNETTE","GINNY","DEBRAH","CORRIE","ASIA","VIOLETA","MYRTIS","LATRICIA","COLLETTE","CHARLEEN","ANISSA","VIVIANA","TWYLA","PRECIOUS","NEDRA","LATONIA","LAN","HELLEN","FABIOLA","ANNAMARIE","ADELL","SHARYN","CHANTAL","NIKI","MAUD","LIZETTE","LINDY","KIA","KESHA","JEANA","DANELLE","CHARLINE","CHANEL","CARROL","VALORIE","LIA","DORTHA","CRISTAL","SUNNY","LEONE","LEILANI","GERRI","DEBI","ANDRA","KESHIA","IMA","EULALIA","EASTER","DULCE","NATIVIDAD","LINNIE","KAMI","GEORGIE","CATINA","BROOK","ALDA","WINNIFRED","SHARLA","RUTHANN","MEAGHAN","MAGDALENE","LISSETTE","ADELAIDA","VENITA","TRENA","SHIRLENE","SHAMEKA","ELIZEBETH","DIAN","SHANTA","MICKEY","LATOSHA","CARLOTTA","WINDY","SOON","ROSINA","MARIANN","LEISA","JONNIE","DAWNA","CATHIE","BILLY","ASTRID","SIDNEY","LAUREEN","JANEEN","HOLLI","FAWN","VICKEY","TERESSA","SHANTE","RUBYE","MARCELINA","CHANDA","CARY","TERESE","SCARLETT","MARTY","MARNIE","LULU","LISETTE","JENIFFER","ELENOR","DORINDA","DONITA","CARMAN","BERNITA","ALTAGRACIA","ALETA","ADRIANNA","ZORAIDA","RONNIE","NICOLA","LYNDSEY","KENDALL","JANINA","CHRISSY","AMI","STARLA","PHYLIS","PHUONG","KYRA","CHARISSE","BLANCH","SANJUANITA","RONA","NANCI","MARILEE","MARANDA","CORY","BRIGETTE","SANJUANA","MARITA","KASSANDRA","JOYCELYN","IRA","FELIPA","CHELSIE","BONNY","MIREYA","LORENZA","KYONG","ILEANA","CANDELARIA","TONY","TOBY","SHERIE","OK","MARK","LUCIE","LEATRICE","LAKESHIA","GERDA","EDIE","BAMBI","MARYLIN","LAVON","HORTENSE","GARNET","EVIE","TRESSA","SHAYNA","LAVINA","KYUNG","JEANETTA","SHERRILL","SHARA","PHYLISS","MITTIE","ANABEL","ALESIA","THUY","TAWANDA","RICHARD","JOANIE","TIFFANIE","LASHANDA","KARISSA","ENRIQUETA","DARIA","DANIELLA","CORINNA","ALANNA","ABBEY","ROXANE","ROSEANNA","MAGNOLIA","LIDA","KYLE","JOELLEN","ERA","CORAL","CARLEEN","TRESA","PEGGIE","NOVELLA","NILA","MAYBELLE","JENELLE","CARINA","NOVA","MELINA","MARQUERITE","MARGARETTE","JOSEPHINA","EVONNE","DEVIN","CINTHIA","ALBINA","TOYA","TAWNYA","SHERITA","SANTOS","MYRIAM","LIZABETH","LISE","KEELY","JENNI","GISELLE","CHERYLE","ARDITH","ARDIS","ALESHA","ADRIANE","SHAINA","LINNEA","KAROLYN","HONG","FLORIDA","FELISHA","DORI","DARCI","ARTIE","ARMIDA","ZOLA","XIOMARA","VERGIE","SHAMIKA","NENA","NANNETTE","MAXIE","LOVIE","JEANE","JAIMIE","INGE","FARRAH","ELAINA","CAITLYN","STARR","FELICITAS","CHERLY","CARYL","YOLONDA","YASMIN","TEENA","PRUDENCE","PENNIE","NYDIA","MACKENZIE","ORPHA","MARVEL","LIZBETH","LAURETTE","JERRIE","HERMELINDA","CAROLEE","TIERRA","MIRIAN","META","MELONY","KORI","JENNETTE","JAMILA","ENA","ANH","YOSHIKO","SUSANNAH","SALINA","RHIANNON","JOLEEN","CRISTINE","ASHTON","ARACELY","TOMEKA","SHALONDA","MARTI","LACIE","KALA","JADA","ILSE","HAILEY","BRITTANI","ZONA","SYBLE","SHERRYL","RANDY","NIDIA","MARLO","KANDICE","KANDI","DEB","DEAN","AMERICA","ALYCIA","TOMMY","RONNA","NORENE","MERCY","JOSE","INGEBORG","GIOVANNA","GEMMA","CHRISTEL","AUDRY","ZORA","VITA","VAN","TRISH","STEPHAINE","SHIRLEE","SHANIKA","MELONIE","MAZIE","JAZMIN","INGA","HOA","HETTIE","GERALYN","FONDA","ESTRELLA","ADELLA","SU","SARITA","RINA","MILISSA","MARIBETH","GOLDA","EVON","ETHELYN","ENEDINA","CHERISE","CHANA","VELVA","TAWANNA","SADE","MIRTA","LI","KARIE","JACINTA","ELNA","DAVINA","CIERRA","ASHLIE","ALBERTHA","TANESHA","STEPHANI","NELLE","MINDI","LU","LORINDA","LARUE","FLORENE","DEMETRA","DEDRA","CIARA","CHANTELLE","ASHLY","SUZY","ROSALVA","NOELIA","LYDA","LEATHA","KRYSTYNA","KRISTAN","KARRI","DARLINE","DARCIE","CINDA","CHEYENNE","CHERRIE","AWILDA","ALMEDA","ROLANDA","LANETTE","JERILYN","GISELE","EVALYN","CYNDI","CLETA","CARIN","ZINA","ZENA","VELIA","TANIKA","PAUL","CHARISSA","THOMAS","TALIA","MARGARETE","LAVONDA","KAYLEE","KATHLENE","JONNA","IRENA","ILONA","IDALIA","CANDIS","CANDANCE","BRANDEE","ANITRA","ALIDA","SIGRID","NICOLETTE","MARYJO","LINETTE","HEDWIG","CHRISTIANA","CASSIDY","ALEXIA","TRESSIE","MODESTA","LUPITA","LITA","GLADIS","EVELIA","DAVIDA","CHERRI","CECILY","ASHELY","ANNABEL","AGUSTINA","WANITA","SHIRLY","ROSAURA","HULDA","EUN","BAILEY","YETTA","VERONA","THOMASINA","SIBYL","SHANNAN","MECHELLE","LUE","LEANDRA","LANI","KYLEE","KANDY","JOLYNN","FERNE","EBONI","CORENE","ALYSIA","ZULA","NADA","MOIRA","LYNDSAY","LORRETTA","JUAN","JAMMIE","HORTENSIA","GAYNELL","CAMERON","ADRIA","VINA","VICENTA","TANGELA","STEPHINE","NORINE","NELLA","LIANA","LESLEE","KIMBERELY","ILIANA","GLORY","FELICA","EMOGENE","ELFRIEDE","EDEN","EARTHA","CARMA","BEA","OCIE","MARRY","LENNIE","KIARA","JACALYN","CARLOTA","ARIELLE","YU","STAR","OTILIA","KIRSTIN","KACEY","JOHNETTA","JOEY","JOETTA","JERALDINE","JAUNITA","ELANA","DORTHEA","CAMI","AMADA","ADELIA","VERNITA","TAMAR","SIOBHAN","RENEA","RASHIDA","OUIDA","ODELL","NILSA","MERYL","KRISTYN","JULIETA","DANICA","BREANNE","AUREA","ANGLEA","SHERRON","ODETTE","MALIA","LORELEI","LIN","LEESA","KENNA","KATHLYN","FIONA","CHARLETTE","SUZIE","SHANTELL","SABRA","RACQUEL","MYONG","MIRA","MARTINE","LUCIENNE","LAVADA","JULIANN","JOHNIE","ELVERA","DELPHIA","CLAIR","CHRISTIANE","CHAROLETTE","CARRI","AUGUSTINE","ASHA","ANGELLA","PAOLA","NINFA","LEDA","LAI","EDA","SUNSHINE","STEFANI","SHANELL","PALMA","MACHELLE","LISSA","KECIA","KATHRYNE","KARLENE","JULISSA","JETTIE","JENNIFFER","HUI","CORRINA","CHRISTOPHER","CAROLANN","ALENA","TESS","ROSARIA","MYRTICE","MARYLEE","LIANE","KENYATTA","JUDIE","JANEY","IN","ELMIRA","ELDORA","DENNA","CRISTI","CATHI","ZAIDA","VONNIE","VIVA","VERNIE","ROSALINE","MARIELA","LUCIANA","LESLI","KARAN","FELICE","DENEEN","ADINA","WYNONA","TARSHA","SHERON","SHASTA","SHANITA","SHANI","SHANDRA","RANDA","PINKIE","PARIS","NELIDA","MARILOU","LYLA","LAURENE","LACI","JOI","JANENE","DOROTHA","DANIELE","DANI","CAROLYNN","CARLYN","BERENICE","AYESHA","ANNELIESE","ALETHEA","THERSA","TAMIKO","RUFINA","OLIVA","MOZELL","MARYLYN","MADISON","KRISTIAN","KATHYRN","KASANDRA","KANDACE","JANAE","GABRIEL","DOMENICA","DEBBRA","DANNIELLE","CHUN","BUFFY","BARBIE","ARCELIA","AJA","ZENOBIA","SHAREN","SHAREE","PATRICK","PAGE","MY","LAVINIA","KUM","KACIE","JACKELINE","HUONG","FELISA","EMELIA","ELEANORA","CYTHIA","CRISTIN","CLYDE","CLARIBEL","CARON","ANASTACIA","ZULMA","ZANDRA","YOKO","TENISHA","SUSANN","SHERILYN","SHAY","SHAWANDA","SABINE","ROMANA","MATHILDA","LINSEY","KEIKO","JOANA","ISELA","GRETTA","GEORGETTA","EUGENIE","DUSTY","DESIRAE","DELORA","CORAZON","ANTONINA","ANIKA","WILLENE","TRACEE","TAMATHA","REGAN","NICHELLE","MICKIE","MAEGAN","LUANA","LANITA","KELSIE","EDELMIRA","BREE","AFTON","TEODORA","TAMIE","SHENA","MEG","LINH","KELI","KACI","DANYELLE","BRITT","ARLETTE","ALBERTINE","ADELLE","TIFFINY","STORMY","SIMONA","NUMBERS","NICOLASA","NICHOL","NIA","NAKISHA","MEE","MAIRA","LOREEN","KIZZY","JOHNNY","JAY","FALLON","CHRISTENE","BOBBYE","ANTHONY","YING","VINCENZA","TANJA","RUBIE","RONI","QUEENIE","MARGARETT","KIMBERLI","IRMGARD","IDELL","HILMA","EVELINA","ESTA","EMILEE","DENNISE","DANIA","CARL","CARIE","ANTONIO","WAI","SANG","RISA","RIKKI","PARTICIA","MUI","MASAKO","MARIO","LUVENIA","LOREE","LONI","LIEN","KEVIN","GIGI","FLORENCIA","DORIAN","DENITA","DALLAS","CHI","BILLYE","ALEXANDER","TOMIKA","SHARITA","RANA","NIKOLE","NEOMA","MARGARITE","MADALYN","LUCINA","LAILA","KALI","JENETTE","GABRIELE","EVELYNE","ELENORA","CLEMENTINA","ALEJANDRINA","ZULEMA","VIOLETTE","VANNESSA","THRESA","RETTA","PIA","PATIENCE","NOELLA","NICKIE","JONELL","DELTA","CHUNG","CHAYA","CAMELIA","BETHEL","ANYA","ANDREW","THANH","SUZANN","SPRING","SHU","MILA","LILLA","LAVERNA","KEESHA","KATTIE","GIA","GEORGENE","EVELINE","ESTELL","ELIZBETH","VIVIENNE","VALLIE","TRUDIE","STEPHANE","MICHEL","MAGALY","MADIE","KENYETTA","KARREN","JANETTA","HERMINE","HARMONY","DRUCILLA","DEBBI","CELESTINA","CANDIE","BRITNI","BECKIE","AMINA","ZITA","YUN","YOLANDE","VIVIEN","VERNETTA","TRUDI","SOMMER","PEARLE","PATRINA","OSSIE","NICOLLE","LOYCE","LETTY","LARISA","KATHARINA","JOSELYN","JONELLE","JENELL","IESHA","HEIDE","FLORINDA","FLORENTINA","FLO","ELODIA","DORINE","BRUNILDA","BRIGID","ASHLI","ARDELLA","TWANA","THU","TARAH","SUNG","SHEA","SHAVON","SHANE","SERINA","RAYNA","RAMONITA","NGA","MARGURITE","LUCRECIA","KOURTNEY","KATI","JESUS","JESENIA","DIAMOND","CRISTA","AYANA","ALICA","ALIA","VINNIE","SUELLEN","ROMELIA","RACHELL","PIPER","OLYMPIA","MICHIKO","KATHALEEN","JOLIE","JESSI","JANESSA","HANA","HA","ELEASE","CARLETTA","BRITANY","SHONA","SALOME","ROSAMOND","REGENA","RAINA","NGOC","NELIA","LOUVENIA","LESIA","LATRINA","LATICIA","LARHONDA","JINA","JACKI","HOLLIS","HOLLEY","EMMY","DEEANN","CORETTA","ARNETTA","VELVET","THALIA","SHANICE","NETA","MIKKI","MICKI","LONNA","LEANA","LASHUNDA","KILEY","JOYE","JACQULYN","IGNACIA","HYUN","HIROKO","HENRY","HENRIETTE","ELAYNE","DELINDA","DARNELL","DAHLIA","COREEN","CONSUELA","CONCHITA","CELINE","BABETTE","AYANNA","ANETTE","ALBERTINA","SKYE","SHAWNEE","SHANEKA","QUIANA","PAMELIA","MIN","MERRI","MERLENE","MARGIT","KIESHA","KIERA","KAYLENE","JODEE","JENISE","ERLENE","EMMIE","ELSE","DARYL","DALILA","DAISEY","CODY","CASIE","BELIA","BABARA","VERSIE","VANESA","SHELBA","SHAWNDA","SAM","NORMAN","NIKIA","NAOMA","MARNA","MARGERET","MADALINE","LAWANA","KINDRA","JUTTA","JAZMINE","JANETT","HANNELORE","GLENDORA","GERTRUD","GARNETT","FREEDA","FREDERICA","FLORANCE","FLAVIA","DENNIS","CARLINE","BEVERLEE","ANJANETTE","VALDA","TRINITY","TAMALA","STEVIE","SHONNA","SHA","SARINA","ONEIDA","MICAH","MERILYN","MARLEEN","LURLINE","LENNA","KATHERIN","JIN","JENI","HAE","GRACIA","GLADY","FARAH","ERIC","ENOLA","EMA","DOMINQUE","DEVONA","DELANA","CECILA","CAPRICE","ALYSHA","ALI","ALETHIA","VENA","THERESIA","TAWNY","SONG","SHAKIRA","SAMARA","SACHIKO","RACHELE","PAMELLA","NICKY","MARNI","MARIEL","MAREN","MALISA","LIGIA","LERA","LATORIA","LARAE","KIMBER","KATHERN","KAREY","JENNEFER","JANETH","HALINA","FREDIA","DELISA","DEBROAH","CIERA","CHIN","ANGELIKA","ANDREE","ALTHA","YEN","VIVAN","TERRESA","TANNA","SUK","SUDIE","SOO","SIGNE","SALENA","RONNI","REBBECCA","MYRTIE","MCKENZIE","MALIKA","MAIDA","LOAN","LEONARDA","KAYLEIGH","FRANCE","ETHYL","ELLYN","DAYLE","CAMMIE","BRITTNI","BIRGIT","AVELINA","ASUNCION","ARIANNA","AKIKO","VENICE","TYESHA","TONIE","TIESHA","TAKISHA","STEFFANIE","SINDY","SANTANA","MEGHANN","MANDA","MACIE","LADY","KELLYE","KELLEE","JOSLYN","JASON","INGER","INDIRA","GLINDA","GLENNIS","FERNANDA","FAUSTINA","ENEIDA","ELICIA","DOT","DIGNA","DELL","ARLETTA","ANDRE","WILLIA","TAMMARA","TABETHA","SHERRELL","SARI","REFUGIO","REBBECA","PAULETTA","NIEVES","NATOSHA","NAKITA","MAMMIE","KENISHA","KAZUKO","KASSIE","GARY","EARLEAN","DAPHINE","CORLISS","CLOTILDE","CAROLYNE","BERNETTA","AUGUSTINA","AUDREA","ANNIS","ANNABELL","YAN","TENNILLE","TAMICA","SELENE","SEAN","ROSANA","REGENIA","QIANA","MARKITA","MACY","LEEANNE","LAURINE","KYM","JESSENIA","JANITA","GEORGINE","GENIE","EMIKO","ELVIE","DEANDRA","DAGMAR","CORIE","COLLEN","CHERISH","ROMAINE","PORSHA","PEARLENE","MICHELINE","MERNA","MARGORIE","MARGARETTA","LORE","KENNETH","JENINE","HERMINA","FREDERICKA","ELKE","DRUSILLA","DORATHY","DIONE","DESIRE","CELENA","BRIGIDA","ANGELES","ALLEGRA","THEO","TAMEKIA","SYNTHIA","STEPHEN","SOOK","SLYVIA","ROSANN","REATHA","RAYE","MARQUETTA","MARGART","LING","LAYLA","KYMBERLY","KIANA","KAYLEEN","KATLYN","KARMEN","JOELLA","IRINA","EMELDA","ELENI","DETRA","CLEMMIE","CHERYLL","CHANTELL","CATHEY","ARNITA","ARLA","ANGLE","ANGELIC","ALYSE","ZOFIA","THOMASINE","TENNIE","SON","SHERLY","SHERLEY","SHARYL","REMEDIOS","PETRINA","NICKOLE","MYUNG","MYRLE","MOZELLA","LOUANNE","LISHA","LATIA","LANE","KRYSTA","JULIENNE","JOEL","JEANENE","JACQUALINE","ISAURA","GWENDA","EARLEEN","DONALD","CLEOPATRA","CARLIE","AUDIE","ANTONIETTA","ALISE","ALEX","VERDELL","VAL","TYLER","TOMOKO","THAO","TALISHA","STEVEN","SO","SHEMIKA","SHAUN","SCARLET","SAVANNA","SANTINA","ROSIA","RAEANN","ODILIA","NANA","MINNA","MAGAN","LYNELLE","LE","KARMA","JOEANN","IVANA","INELL","ILANA","HYE","HONEY","HEE","GUDRUN","FRANK","DREAMA","CRISSY","CHANTE","CARMELINA","ARVILLA","ARTHUR","ANNAMAE","ALVERA","ALEIDA","AARON","YEE","YANIRA","VANDA","TIANNA","TAM","STEFANIA","SHIRA","PERRY","NICOL","NANCIE","MONSERRATE","MINH","MELYNDA","MELANY","MATTHEW","LOVELLA","LAURE","KIRBY","KACY","JACQUELYNN","HYON","GERTHA","FRANCISCO","ELIANA","CHRISTENA","CHRISTEEN","CHARISE","CATERINA","CARLEY","CANDYCE","ARLENA","AMMIE","YANG","WILLETTE","VANITA","TUYET","TINY","SYREETA","SILVA","SCOTT","RONALD","PENNEY","NYLA","MICHAL","MAURICE","MARYAM","MARYA","MAGEN","LUDIE","LOMA","LIVIA","LANELL","KIMBERLIE","JULEE","DONETTA","DIEDRA","DENISHA","DEANE","DAWNE","CLARINE","CHERRYL","BRONWYN","BRANDON","ALLA","VALERY","TONDA","SUEANN","SORAYA","SHOSHANA","SHELA","SHARLEEN","SHANELLE","NERISSA","MICHEAL","MERIDITH","MELLIE","MAYE","MAPLE","MAGARET","LUIS","LILI","LEONILA","LEONIE","LEEANNA","LAVONIA","LAVERA","KRISTEL","KATHEY","KATHE","JUSTIN","JULIAN","JIMMY","JANN","ILDA","HILDRED","HILDEGARDE","GENIA","FUMIKO","EVELIN","ERMELINDA","ELLY","DUNG","DOLORIS","DIONNA","DANAE","BERNEICE","ANNICE","ALIX","VERENA","VERDIE","TRISTAN","SHAWNNA","SHAWANA","SHAUNNA","ROZELLA","RANDEE","RANAE","MILAGRO","LYNELL","LUISE","LOUIE","LOIDA","LISBETH","KARLEEN","JUNITA","JONA","ISIS","HYACINTH","HEDY","GWENN","ETHELENE","ERLINE","EDWARD","DONYA","DOMONIQUE","DELICIA","DANNETTE","CICELY","BRANDA","BLYTHE","BETHANN","ASHLYN","ANNALEE","ALLINE","YUKO","VELLA","TRANG","TOWANDA","TESHA","SHERLYN","NARCISA","MIGUELINA","MERI","MAYBELL","MARLANA","MARGUERITA","MADLYN","LUNA","LORY","LORIANN","LIBERTY","LEONORE","LEIGHANN","LAURICE","LATESHA","LARONDA","KATRICE","KASIE","KARL","KALEY","JADWIGA","GLENNIE","GEARLDINE","FRANCINA","EPIFANIA","DYAN","DORIE","DIEDRE","DENESE","DEMETRICE","DELENA","DARBY","CRISTIE","CLEORA","CATARINA","CARISA","BERNIE","BARBERA","ALMETA","TRULA","TEREASA","SOLANGE","SHEILAH","SHAVONNE","SANORA","ROCHELL","MATHILDE","MARGARETA","MAIA","LYNSEY","LAWANNA","LAUNA","KENA","KEENA","KATIA","JAMEY","GLYNDA","GAYLENE","ELVINA","ELANOR","DANUTA","DANIKA","CRISTEN","CORDIE","COLETTA","CLARITA","CARMON","BRYNN","AZUCENA","AUNDREA","ANGELE","YI","WALTER","VERLIE","VERLENE","TAMESHA","SILVANA","SEBRINA","SAMIRA","REDA","RAYLENE","PENNI","PANDORA","NORAH","NOMA","MIREILLE","MELISSIA","MARYALICE","LARAINE","KIMBERY","KARYL","KARINE","KAM","JOLANDA","JOHANA","JESUSA","JALEESA","JAE","JACQUELYNE","IRISH","ILUMINADA","HILARIA","HANH","GENNIE","FRANCIE","FLORETTA","EXIE","EDDA","DREMA","DELPHA","BEV","BARBAR","ASSUNTA","ARDELL","ANNALISA","ALISIA","YUKIKO","YOLANDO","WONDA","WEI","WALTRAUD","VETA","TEQUILA","TEMEKA","TAMEIKA","SHIRLEEN","SHENITA","PIEDAD","OZELLA","MIRTHA","MARILU","KIMIKO","JULIANE","JENICE","JEN","JANAY","JACQUILINE","HILDE","FE","FAE","EVAN","EUGENE","ELOIS","ECHO","DEVORAH","CHAU","BRINDA","BETSEY","ARMINDA","ARACELIS","APRYL","ANNETT","ALISHIA","VEOLA","USHA","TOSHIKO","THEOLA","TASHIA","TALITHA","SHERY","RUDY","RENETTA","REIKO","RASHEEDA","OMEGA","OBDULIA","MIKA","MELAINE","MEGGAN","MARTIN","MARLEN","MARGET","MARCELINE","MANA","MAGDALEN","LIBRADA","LEZLIE","LEXIE","LATASHIA","LASANDRA","KELLE","ISIDRA","ISA","INOCENCIA","GWYN","FRANCOISE","ERMINIA","ERINN","DIMPLE","DEVORA","CRISELDA","ARMANDA","ARIE","ARIANE","ANGELO","ANGELENA","ALLEN","ALIZA","ADRIENE","ADALINE","XOCHITL","TWANNA","TRAN","TOMIKO","TAMISHA","TAISHA","SUSY","SIU","RUTHA","ROXY","RHONA","RAYMOND","OTHA","NORIKO","NATASHIA","MERRIE","MELVIN","MARINDA","MARIKO","MARGERT","LORIS","LIZZETTE","LEISHA","KAILA","KA","JOANNIE","JERRICA","JENE","JANNET","JANEE","JACINDA","HERTA","ELENORE","DORETTA","DELAINE","DANIELL","CLAUDIE","CHINA","BRITTA","APOLONIA","AMBERLY","ALEASE","YURI","YUK","WEN","WANETA","UTE","TOMI","SHARRI","SANDIE","ROSELLE","REYNALDA","RAGUEL","PHYLICIA","PATRIA","OLIMPIA","ODELIA","MITZIE","MITCHELL","MISS","MINDA","MIGNON","MICA","MENDY","MARIVEL","MAILE","LYNETTA","LAVETTE","LAURYN","LATRISHA","LAKIESHA","KIERSTEN","KARY","JOSPHINE","JOLYN","JETTA","JANISE","JACQUIE","IVELISSE","GLYNIS","GIANNA","GAYNELLE","EMERALD","DEMETRIUS","DANYELL","DANILLE","DACIA","CORALEE","CHER","CEOLA","BRETT","BELL","ARIANNE","ALESHIA","YUNG","WILLIEMAE","TROY","TRINH","THORA","TAI","SVETLANA","SHERIKA","SHEMEKA","SHAUNDA","ROSELINE","RICKI","MELDA","MALLIE","LAVONNA","LATINA","LARRY","LAQUANDA","LALA","LACHELLE","KLARA","KANDIS","JOHNA","JEANMARIE","JAYE","HANG","GRAYCE","GERTUDE","EMERITA","EBONIE","CLORINDA","CHING","CHERY","CAROLA","BREANN","BLOSSOM","BERNARDINE","BECKI","ARLETHA","ARGELIA","ARA","ALITA","YULANDA","YON","YESSENIA","TOBI","TASIA","SYLVIE","SHIRL","SHIRELY","SHERIDAN","SHELLA","SHANTELLE","SACHA","ROYCE","REBECKA","REAGAN","PROVIDENCIA","PAULENE","MISHA","MIKI","MARLINE","MARICA","LORITA","LATOYIA","LASONYA","KERSTIN","KENDA","KEITHA","KATHRIN","JAYMIE","JACK","GRICELDA","GINETTE","ERYN","ELINA","ELFRIEDA","DANYEL","CHEREE","CHANELLE","BARRIE","AVERY","AURORE","ANNAMARIA","ALLEEN","AILENE","AIDE","YASMINE","VASHTI","VALENTINE","TREASA","TORY","TIFFANEY","SHERYLL","SHARIE","SHANAE","SAU","RAISA","PA","NEDA","MITSUKO","MIRELLA","MILDA","MARYANNA","MARAGRET","MABELLE","LUETTA","LORINA","LETISHA","LATARSHA","LANELLE","LAJUANA","KRISSY","KARLY","KARENA","JON","JESSIKA","JERICA","JEANELLE","JANUARY","JALISA","JACELYN","IZOLA","IVEY","GREGORY","EUNA","ETHA","DREW","DOMITILA","DOMINICA","DAINA","CREOLA","CARLI","CAMIE","BUNNY","BRITTNY","ASHANTI","ANISHA","ALEEN","ADAH","YASUKO","WINTER","VIKI","VALRIE","TONA","TINISHA","THI","TERISA","TATUM","TANEKA","SIMONNE","SHALANDA","SERITA","RESSIE","REFUGIA","PAZ","OLENE","NA","MERRILL","MARGHERITA","MANDIE","MAN","MAIRE","LYNDIA","LUCI","LORRIANE","LORETA","LEONIA","LAVONA","LASHAWNDA","LAKIA","KYOKO","KRYSTINA","KRYSTEN","KENIA","KELSI","JUDE","JEANICE","ISOBEL","GEORGIANN","GENNY","FELICIDAD","EILENE","DEON","DELOISE","DEEDEE","DANNIE","CONCEPTION","CLORA","CHERILYN","CHANG","CALANDRA","BERRY","ARMANDINA","ANISA","ULA","TIMOTHY","TIERA","THERESSA","STEPHANIA","SIMA","SHYLA","SHONTA","SHERA","SHAQUITA","SHALA","SAMMY","ROSSANA","NOHEMI","NERY","MORIAH","MELITA","MELIDA","MELANI","MARYLYNN","MARISHA","MARIETTE","MALORIE","MADELENE","LUDIVINA","LORIA","LORETTE","LORALEE","LIANNE","LEON","LAVENIA","LAURINDA","LASHON","KIT","KIMI","KEILA","KATELYNN","KAI","JONE","JOANE","JI","JAYNA","JANELLA","JA","HUE","HERTHA","FRANCENE","ELINORE","DESPINA","DELSIE","DEEDRA","CLEMENCIA","CARRY","CAROLIN","CARLOS","BULAH","BRITTANIE","BOK","BLONDELL","BIBI","BEAULAH","BEATA","ANNITA","AGRIPINA","VIRGEN","VALENE","UN","TWANDA","TOMMYE","TOI","TARRA","TARI","TAMMERA","SHAKIA","SADYE","RUTHANNE","ROCHEL","RIVKA","PURA","NENITA","NATISHA","MING","MERRILEE","MELODEE","MARVIS","LUCILLA","LEENA","LAVETA","LARITA","LANIE","KEREN","ILEEN","GEORGEANN","GENNA","GENESIS","FRIDA","EWA","EUFEMIA","EMELY","ELA","EDYTH","DEONNA","DEADRA","DARLENA","CHANELL","CHAN","CATHERN","CASSONDRA","CASSAUNDRA","BERNARDA","BERNA","ARLINDA","ANAMARIA","ALBERT","WESLEY","VERTIE","VALERI","TORRI","TATYANA","STASIA","SHERISE","SHERILL","SEASON","SCOTTIE","SANDA","RUTHE","ROSY","ROBERTO","ROBBI","RANEE","QUYEN","PEARLY","PALMIRA","ONITA","NISHA","NIESHA","NIDA","NEVADA","NAM","MERLYN","MAYOLA","MARYLOUISE","MARYLAND","MARX","MARTH","MARGENE","MADELAINE","LONDA","LEONTINE","LEOMA","LEIA","LAWRENCE","LAURALEE","LANORA","LAKITA","KIYOKO","KETURAH","KATELIN","KAREEN","JONIE","JOHNETTE","JENEE","JEANETT","IZETTA","HIEDI","HEIKE","HASSIE","HAROLD","GIUSEPPINA","GEORGANN","FIDELA","FERNANDE","ELWANDA","ELLAMAE","ELIZ","DUSTI","DOTTY","CYNDY","CORALIE","CELESTA","ARGENTINA","ALVERTA","XENIA","WAVA","VANETTA","TORRIE","TASHINA","TANDY","TAMBRA","TAMA","STEPANIE","SHILA","SHAUNTA","SHARAN","SHANIQUA","SHAE","SETSUKO","SERAFINA","SANDEE","ROSAMARIA","PRISCILA","OLINDA","NADENE","MUOI","MICHELINA","MERCEDEZ","MARYROSE","MARIN","MARCENE","MAO","MAGALI","MAFALDA","LOGAN","LINN","LANNIE","KAYCE","KAROLINE","KAMILAH","KAMALA","JUSTA","JOLINE","JENNINE","JACQUETTA","IRAIDA","GERALD","GEORGEANNA","FRANCHESCA","FAIRY","EMELINE","ELANE","EHTEL","EARLIE","DULCIE","DALENE","CRIS","CLASSIE","CHERE","CHARIS","CAROYLN","CARMINA","CARITA","BRIAN","BETHANIE","AYAKO","ARICA","AN","ALYSA","ALESSANDRA","AKILAH","ADRIEN","ZETTA","YOULANDA","YELENA","YAHAIRA","XUAN","WENDOLYN","VICTOR","TIJUANA","TERRELL","TERINA","TERESIA","SUZI","SUNDAY","SHERELL","SHAVONDA","SHAUNTE","SHARDA","SHAKITA","SENA","RYANN","RUBI","RIVA","REGINIA","REA","RACHAL","PARTHENIA","PAMULA","MONNIE","MONET","MICHAELE","MELIA","MARINE","MALKA","MAISHA","LISANDRA","LEO","LEKISHA","LEAN","LAURENCE","LAKENDRA","KRYSTIN","KORTNEY","KIZZIE","KITTIE","KERA","KENDAL","KEMBERLY","KANISHA","JULENE","JULE","JOSHUA","JOHANNE","JEFFREY","JAMEE","HAN","HALLEY","GIDGET","GALINA","FREDRICKA","FLETA","FATIMAH","EUSEBIA","ELZA","ELEONORE","DORTHEY","DORIA","DONELLA","DINORAH","DELORSE","CLARETHA","CHRISTINIA","CHARLYN","BONG","BELKIS","AZZIE","ANDERA","AIKO","ADENA","YER","YAJAIRA","WAN","VANIA","ULRIKE","TOSHIA","TIFANY","STEFANY","SHIZUE","SHENIKA","SHAWANNA","SHAROLYN","SHARILYN","SHAQUANA","SHANTAY","SEE","ROZANNE","ROSELEE","RICKIE","REMONA","REANNA","RAELENE","QUINN","PHUNG","PETRONILA","NATACHA","NANCEY","MYRL","MIYOKO","MIESHA","MERIDETH","MARVELLA","MARQUITTA","MARHTA","MARCHELLE","LIZETH","LIBBIE","LAHOMA","LADAWN","KINA","KATHELEEN","KATHARYN","KARISA","KALEIGH","JUNIE","JULIEANN","JOHNSIE","JANEAN","JAIMEE","JACKQUELINE","HISAKO","HERMA","HELAINE","GWYNETH","GLENN","GITA","EUSTOLIA","EMELINA","ELIN","EDRIS","DONNETTE","DONNETTA","DIERDRE","DENAE","DARCEL","CLAUDE","CLARISA","CINDERELLA","CHIA","CHARLESETTA","CHARITA","CELSA","CASSY","CASSI","CARLEE","BRUNA","BRITTANEY","BRANDE","BILLI","BAO","ANTONETTA","ANGLA","ANGELYN","ANALISA","ALANE","WENONA","WENDIE","VERONIQUE","VANNESA","TOBIE","TEMPIE","SUMIKO","SULEMA","SPARKLE","SOMER","SHEBA","SHAYNE","SHARICE","SHANEL","SHALON","SAGE","ROY","ROSIO","ROSELIA","RENAY","REMA","REENA","PORSCHE","PING","PEG","OZIE","ORETHA","ORALEE","ODA","NU","NGAN","NAKESHA","MILLY","MARYBELLE","MARLIN","MARIS","MARGRETT","MARAGARET","MANIE","LURLENE","LILLIA","LIESELOTTE","LAVELLE","LASHAUNDA","LAKEESHA","KEITH","KAYCEE","KALYN","JOYA","JOETTE","JENAE","JANIECE","ILLA","GRISEL","GLAYDS","GENEVIE","GALA","FREDDA","FRED","ELMER","ELEONOR","DEBERA","DEANDREA","DAN","CORRINNE","CORDIA","CONTESSA","COLENE","CLEOTILDE","CHARLOTT","CHANTAY","CECILLE","BEATRIS","AZALEE","ARLEAN","ARDATH","ANJELICA","ANJA","ALFREDIA","ALEISHA","ADAM","ZADA","YUONNE","XIAO","WILLODEAN","WHITLEY","VENNIE","VANNA","TYISHA","TOVA","TORIE","TONISHA","TILDA","TIEN","TEMPLE","SIRENA","SHERRIL","SHANTI","SHAN","SENAIDA","SAMELLA","ROBBYN","RENDA","REITA","PHEBE","PAULITA","NOBUKO","NGUYET","NEOMI","MOON","MIKAELA","MELANIA","MAXIMINA","MARG","MAISIE","LYNNA","LILLI","LAYNE","LASHAUN","LAKENYA","LAEL","KIRSTIE","KATHLINE","KASHA","KARLYN","KARIMA","JOVAN","JOSEFINE","JENNELL","JACQUI","JACKELYN","HYO","HIEN","GRAZYNA","FLORRIE","FLORIA","ELEONORA","DWANA","DORLA","DONG","DELMY","DEJA","DEDE","DANN","CRYSTA","CLELIA","CLARIS","CLARENCE","CHIEKO","CHERLYN","CHERELLE","CHARMAIN","CHARA","CAMMY","BEE","ARNETTE","ARDELLE","ANNIKA","AMIEE","AMEE","ALLENA","YVONE","YUKI","YOSHIE","YEVETTE","YAEL","WILLETTA","VONCILE","VENETTA","TULA","TONETTE","TIMIKA","TEMIKA","TELMA","TEISHA","TAREN","TA","STACEE","SHIN","SHAWNTA","SATURNINA","RICARDA","POK","PASTY","ONIE","NUBIA","MORA","MIKE","MARIELLE","MARIELLA","MARIANELA","MARDELL","MANY","LUANNA","LOISE","LISABETH","LINDSY","LILLIANA","LILLIAM","LELAH","LEIGHA","LEANORA","LANG","KRISTEEN","KHALILAH","KEELEY","KANDRA","JUNKO","JOAQUINA","JERLENE","JANI","JAMIKA","JAME","HSIU","HERMILA","GOLDEN","GENEVIVE","EVIA","EUGENA","EMMALINE","ELFREDA","ELENE","DONETTE","DELCIE","DEEANNA","DARCEY","CUC","CLARINDA","CIRA","CHAE","CELINDA","CATHERYN","CATHERIN","CASIMIRA","CARMELIA","CAMELLIA","BREANA","BOBETTE","BERNARDINA","BEBE","BASILIA","ARLYNE","AMAL","ALAYNA","ZONIA","ZENIA","YURIKO","YAEKO","WYNELL","WILLOW","WILLENA","VERNIA","TU","TRAVIS","TORA","TERRILYN","TERICA","TENESHA","TAWNA","TAJUANA","TAINA","STEPHNIE","SONA","SOL","SINA","SHONDRA","SHIZUKO","SHERLENE","SHERICE","SHARIKA","ROSSIE","ROSENA","RORY","RIMA","RIA","RHEBA","RENNA","PETER","NATALYA","NANCEE","MELODI","MEDA","MAXIMA","MATHA","MARKETTA","MARICRUZ","MARCELENE","MALVINA","LUBA","LOUETTA","LEIDA","LECIA","LAURAN","LASHAWNA","LAINE","KHADIJAH","KATERINE","KASI","KALLIE","JULIETTA","JESUSITA","JESTINE","JESSIA","JEREMY","JEFFIE","JANYCE","ISADORA","GEORGIANNE","FIDELIA","EVITA","EURA","EULAH","ESTEFANA","ELSY","ELIZABET","ELADIA","DODIE","DION","DIA","DENISSE","DELORAS","DELILA","DAYSI","DAKOTA","CURTIS","CRYSTLE","CONCHA","COLBY","CLARETTA","CHU","CHRISTIA","CHARLSIE","CHARLENA","CARYLON","BETTYANN","ASLEY","ASHLEA","AMIRA","AI","AGUEDA","AGNUS","YUETTE","VINITA","VICTORINA","TYNISHA","TREENA","TOCCARA","TISH","THOMASENA","TEGAN","SOILA","SHILOH","SHENNA","SHARMAINE","SHANTAE","SHANDI","SEPTEMBER","SARAN","SARAI","SANA","SAMUEL","SALLEY","ROSETTE","ROLANDE","REGINE","OTELIA","OSCAR","OLEVIA","NICHOLLE","NECOLE","NAIDA","MYRTA","MYESHA","MITSUE","MINTA","MERTIE","MARGY","MAHALIA","MADALENE","LOVE","LOURA","LOREAN","LEWIS","LESHA","LEONIDA","LENITA","LAVONE","LASHELL","LASHANDRA","LAMONICA","KIMBRA","KATHERINA","KARRY","KANESHA","JULIO","JONG","JENEVA","JAQUELYN","HWA","GILMA","GHISLAINE","GERTRUDIS","FRANSISCA","FERMINA","ETTIE","ETSUKO","ELLIS","ELLAN","ELIDIA","EDRA","DORETHEA","DOREATHA","DENYSE","DENNY","DEETTA","DAINE","CYRSTAL","CORRIN","CAYLA","CARLITA","CAMILA","BURMA","BULA","BUENA","BLAKE","BARABARA","AVRIL","AUSTIN","ALAINE","ZANA","WILHEMINA","WANETTA","VIRGIL","VI","VERONIKA","VERNON","VERLINE","VASILIKI","TONITA","TISA","TEOFILA","TAYNA","TAUNYA","TANDRA","TAKAKO","SUNNI","SUANNE","SIXTA","SHARELL","SEEMA","RUSSELL","ROSENDA","ROBENA","RAYMONDE","PEI","PAMILA","OZELL","NEIDA","NEELY","MISTIE","MICHA","MERISSA","MAURITA","MARYLN","MARYETTA","MARSHALL","MARCELL","MALENA","MAKEDA","MADDIE","LOVETTA","LOURIE","LORRINE","LORILEE","LESTER","LAURENA","LASHAY","LARRAINE","LAREE","LACRESHA","KRISTLE","KRISHNA","KEVA","KEIRA","KAROLE","JOIE","JINNY","JEANNETTA","JAMA","HEIDY","GILBERTE","GEMA","FAVIOLA","EVELYNN","ENDA","ELLI","ELLENA","DIVINA","DAGNY","COLLENE","CODI","CINDIE","CHASSIDY","CHASIDY","CATRICE","CATHERINA","CASSEY","CAROLL","CARLENA","CANDRA","CALISTA","BRYANNA","BRITTENY","BEULA","BARI","AUDRIE","AUDRIA","ARDELIA","ANNELLE","ANGILA","ALONA","ALLYN","DOUGLAS","ROGER","JONATHAN","RALPH","NICHOLAS","BENJAMIN","BRUCE","HARRY","WAYNE","STEVE","HOWARD","ERNEST","PHILLIP","TODD","CRAIG","ALAN","PHILIP","EARL","DANNY","BRYAN","STANLEY","LEONARD","NATHAN","MANUEL","RODNEY","MARVIN","VINCENT","JEFFERY","JEFF","CHAD","JACOB","ALFRED","BRADLEY","HERBERT","FREDERICK","EDWIN","DON","RICKY","RANDALL","BARRY","BERNARD","LEROY","MARCUS","THEODORE","CLIFFORD","MIGUEL","JIM","TOM","CALVIN","BILL","LLOYD","DEREK","WARREN","DARRELL","JEROME","FLOYD","ALVIN","TIM","GORDON","GREG","JORGE","DUSTIN","PEDRO","DERRICK","ZACHARY","HERMAN","GLEN","HECTOR","RICARDO","RICK","BRENT","RAMON","GILBERT","MARC","REGINALD","RUBEN","NATHANIEL","RAFAEL","EDGAR","MILTON","RAUL","BEN","CHESTER","DUANE","FRANKLIN","BRAD","RON","ROLAND","ARNOLD","HARVEY","JARED","ERIK","DARRYL","NEIL","JAVIER","FERNANDO","CLINTON","TED","MATHEW","TYRONE","DARREN","LANCE","KURT","ALLAN","NELSON","GUY","CLAYTON","HUGH","MAX","DWAYNE","DWIGHT","ARMANDO","FELIX","EVERETT","IAN","WALLACE","KEN","BOB","ALFREDO","ALBERTO","DAVE","IVAN","BYRON","ISAAC","MORRIS","CLIFTON","WILLARD","ROSS","ANDY","SALVADOR","KIRK","SERGIO","SETH","KENT","TERRANCE","EDUARDO","TERRENCE","ENRIQUE","WADE","STUART","FREDRICK","ARTURO","ALEJANDRO","NICK","LUTHER","WENDELL","JEREMIAH","JULIUS","OTIS","TREVOR","OLIVER","LUKE","HOMER","GERARD","DOUG","KENNY","HUBERT","LYLE","MATT","ALFONSO","ORLANDO","REX","CARLTON","ERNESTO","NEAL","PABLO","LORENZO","OMAR","WILBUR","GRANT","HORACE","RODERICK","ABRAHAM","WILLIS","RICKEY","ANDRES","CESAR","JOHNATHAN","MALCOLM","RUDOLPH","DAMON","KELVIN","PRESTON","ALTON","ARCHIE","MARCO","WM","PETE","RANDOLPH","GARRY","GEOFFREY","JONATHON","FELIPE","GERARDO","ED","DOMINIC","DELBERT","COLIN","GUILLERMO","EARNEST","LUCAS","BENNY","SPENCER","RODOLFO","MYRON","EDMUND","GARRETT","SALVATORE","CEDRIC","LOWELL","GREGG","SHERMAN","WILSON","SYLVESTER","ROOSEVELT","ISRAEL","JERMAINE","FORREST","WILBERT","LELAND","SIMON","CLARK","IRVING","BRYANT","OWEN","RUFUS","WOODROW","KRISTOPHER","MACK","LEVI","MARCOS","GUSTAVO","JAKE","LIONEL","GILBERTO","CLINT","NICOLAS","ISMAEL","ORVILLE","ERVIN","DEWEY","AL","WILFRED","JOSH","HUGO","IGNACIO","CALEB","TOMAS","SHELDON","ERICK","STEWART","DOYLE","DARREL","ROGELIO","TERENCE","SANTIAGO","ALONZO","ELIAS","BERT","ELBERT","RAMIRO","CONRAD","NOAH","GRADY","PHIL","CORNELIUS","LAMAR","ROLANDO","CLAY","PERCY","DEXTER","BRADFORD","DARIN","AMOS","MOSES","IRVIN","SAUL","ROMAN","RANDAL","TIMMY","DARRIN","WINSTON","BRENDAN","ABEL","DOMINICK","BOYD","EMILIO","ELIJAH","DOMINGO","EMMETT","MARLON","EMANUEL","JERALD","EDMOND","EMIL","DEWAYNE","WILL","OTTO","TEDDY","REYNALDO","BRET","JESS","TRENT","HUMBERTO","EMMANUEL","STEPHAN","VICENTE","LAMONT","GARLAND","MILES","EFRAIN","HEATH","RODGER","HARLEY","ETHAN","ELDON","ROCKY","PIERRE","JUNIOR","FREDDY","ELI","BRYCE","ANTOINE","STERLING","CHASE","GROVER","ELTON","CLEVELAND","DYLAN","CHUCK","DAMIAN","REUBEN","STAN","AUGUST","LEONARDO","JASPER","RUSSEL","ERWIN","BENITO","HANS","MONTE","BLAINE","ERNIE","CURT","QUENTIN","AGUSTIN","MURRAY","JAMAL","ADOLFO","HARRISON","TYSON","BURTON","BRADY","ELLIOTT","WILFREDO","BART","JARROD","VANCE","DENIS","DAMIEN","JOAQUIN","HARLAN","DESMOND","ELLIOT","DARWIN","GREGORIO","BUDDY","XAVIER","KERMIT","ROSCOE","ESTEBAN","ANTON","SOLOMON","SCOTTY","NORBERT","ELVIN","WILLIAMS","NOLAN","ROD","QUINTON","HAL","BRAIN","ROB","ELWOOD","KENDRICK","DARIUS","MOISES","FIDEL","THADDEUS","CLIFF","MARCEL","JACKSON","RAPHAEL","BRYON","ARMAND","ALVARO","JEFFRY","DANE","JOESPH","THURMAN","NED","RUSTY","MONTY","FABIAN","REGGIE","MASON","GRAHAM","ISAIAH","VAUGHN","GUS","LOYD","DIEGO","ADOLPH","NORRIS","MILLARD","ROCCO","GONZALO","DERICK","RODRIGO","WILEY","RIGOBERTO","ALPHONSO","TY","NOE","VERN","REED","JEFFERSON","ELVIS","BERNARDO","MAURICIO","HIRAM","DONOVAN","BASIL","RILEY","NICKOLAS","MAYNARD","SCOT","VINCE","QUINCY","EDDY","SEBASTIAN","FEDERICO","ULYSSES","HERIBERTO","DONNELL","COLE","DAVIS","GAVIN","EMERY","WARD","ROMEO","JAYSON","DANTE","CLEMENT","COY","MAXWELL","JARVIS","BRUNO","ISSAC","DUDLEY","BROCK","SANFORD","CARMELO","BARNEY","NESTOR","STEFAN","DONNY","ART","LINWOOD","BEAU","WELDON","GALEN","ISIDRO","TRUMAN","DELMAR","JOHNATHON","SILAS","FREDERIC","DICK","IRWIN","MERLIN","CHARLEY","MARCELINO","HARRIS","CARLO","TRENTON","KURTIS","HUNTER","AURELIO","WINFRED","VITO","COLLIN","DENVER","CARTER","LEONEL","EMORY","PASQUALE","MOHAMMAD","MARIANO","DANIAL","LANDON","DIRK","BRANDEN","ADAN","BUFORD","GERMAN","WILMER","EMERSON","ZACHERY","FLETCHER","JACQUES","ERROL","DALTON","MONROE","JOSUE","EDWARDO","BOOKER","WILFORD","SONNY","SHELTON","CARSON","THERON","RAYMUNDO","DAREN","HOUSTON","ROBBY","LINCOLN","GENARO","BENNETT","OCTAVIO","CORNELL","HUNG","ARRON","ANTONY","HERSCHEL","GIOVANNI","GARTH","CYRUS","CYRIL","RONNY","LON","FREEMAN","DUNCAN","KENNITH","CARMINE","ERICH","CHADWICK","WILBURN","RUSS","REID","MYLES","ANDERSON","MORTON","JONAS","FOREST","MITCHEL","MERVIN","ZANE","RICH","JAMEL","LAZARO","ALPHONSE","RANDELL","MAJOR","JARRETT","BROOKS","ABDUL","LUCIANO","SEYMOUR","EUGENIO","MOHAMMED","VALENTIN","CHANCE","ARNULFO","LUCIEN","FERDINAND","THAD","EZRA","ALDO","RUBIN","ROYAL","MITCH","EARLE","ABE","WYATT","MARQUIS","LANNY","KAREEM","JAMAR","BORIS","ISIAH","EMILE","ELMO","ARON","LEOPOLDO","EVERETTE","JOSEF","ELOY","RODRICK","REINALDO","LUCIO","JERROD","WESTON","HERSHEL","BARTON","PARKER","LEMUEL","BURT","JULES","GIL","ELISEO","AHMAD","NIGEL","EFREN","ANTWAN","ALDEN","MARGARITO","COLEMAN","DINO","OSVALDO","LES","DEANDRE","NORMAND","KIETH","TREY","NORBERTO","NAPOLEON","JEROLD","FRITZ","ROSENDO","MILFORD","CHRISTOPER","ALFONZO","LYMAN","JOSIAH","BRANT","WILTON","RICO","JAMAAL","DEWITT","BRENTON","OLIN","FOSTER","FAUSTINO","CLAUDIO","JUDSON","GINO","EDGARDO","ALEC","TANNER","JARRED","DONN","TAD","PRINCE","PORFIRIO","ODIS","LENARD","CHAUNCEY","TOD","MEL","MARCELO","KORY","AUGUSTUS","KEVEN","HILARIO","BUD","SAL","ORVAL","MAURO","ZACHARIAH","OLEN","ANIBAL","MILO","JED","DILLON","AMADO","NEWTON","LENNY","RICHIE","HORACIO","BRICE","MOHAMED","DELMER","DARIO","REYES","MAC","JONAH","JERROLD","ROBT","HANK","RUPERT","ROLLAND","KENTON","DAMION","ANTONE","WALDO","FREDRIC","BRADLY","KIP","BURL","WALKER","TYREE","JEFFEREY","AHMED","WILLY","STANFORD","OREN","NOBLE","MOSHE","MIKEL","ENOCH","BRENDON","QUINTIN","JAMISON","FLORENCIO","DARRICK","TOBIAS","HASSAN","GIUSEPPE","DEMARCUS","CLETUS","TYRELL","LYNDON","KEENAN","WERNER","GERALDO","COLUMBUS","CHET","BERTRAM","MARKUS","HUEY","HILTON","DWAIN","DONTE","TYRON","OMER","ISAIAS","HIPOLITO","FERMIN","ADALBERTO","BO","BARRETT","TEODORO","MCKINLEY","MAXIMO","GARFIELD","RALEIGH","LAWERENCE","ABRAM","RASHAD","KING","EMMITT","DARON","SAMUAL","MIQUEL","EUSEBIO","DOMENIC","DARRON","BUSTER","WILBER","RENATO","JC","HOYT","HAYWOOD","EZEKIEL","CHAS","FLORENTINO","ELROY","CLEMENTE","ARDEN","NEVILLE","EDISON","DESHAWN","NATHANIAL","JORDON","DANILO","CLAUD","SHERWOOD","RAYMON","RAYFORD","CRISTOBAL","AMBROSE","TITUS","HYMAN","FELTON","EZEQUIEL","ERASMO","STANTON","LONNY","LEN","IKE","MILAN","LINO","JAROD","HERB","ANDREAS","WALTON","RHETT","PALMER","DOUGLASS","CORDELL","OSWALDO","ELLSWORTH","VIRGILIO","TONEY","NATHANAEL","DEL","BENEDICT","MOSE","JOHNSON","ISREAL","GARRET","FAUSTO","ASA","ARLEN","ZACK","WARNER","MODESTO","FRANCESCO","MANUAL","GAYLORD","GASTON","FILIBERTO","DEANGELO","MICHALE","GRANVILLE","WES","MALIK","ZACKARY","TUAN","ELDRIDGE","CRISTOPHER","CORTEZ","ANTIONE","MALCOM","LONG","KOREY","JOSPEH","COLTON","WAYLON","VON","HOSEA","SHAD","SANTO","RUDOLF","ROLF","REY","RENALDO","MARCELLUS","LUCIUS","KRISTOFER","BOYCE","BENTON","HAYDEN","HARLAND","ARNOLDO","RUEBEN","LEANDRO","KRAIG","JERRELL","JEROMY","HOBERT","CEDRICK","ARLIE","WINFORD","WALLY","LUIGI","KENETH","JACINTO","GRAIG","FRANKLYN","EDMUNDO","SID","PORTER","LEIF","JERAMY","BUCK","WILLIAN","VINCENZO","SHON","LYNWOOD","JERE","HAI","ELDEN","DORSEY","DARELL","BRODERICK","ALONSO"`

# File clojure/sudoku.txt

`+Grid 01`
`+003020600`
`+900305001`
`+001806400`
`+008102900`
`+700000008`
`+006708200`
`+002609500`
`+800203009`
`+005010300`
`+Grid 02`
`+200080300`
`+060070084`
`+030500209`
`+000105408`
`+000000000`
`+402706000`
`+301007040`
`+720040060`
`+004010003`
`+Grid 03`
`+000000907`
`+000420180`
`+000705026`
`+100904000`
`+050000040`
`+000507009`
`+920108000`
`+034059000`
`+507000000`
`+Grid 04`
`+030050040`
`+008010500`
`+460000012`
`+070502080`
`+000603000`
`+040109030`
`+250000098`
`+001020600`
`+080060020`
`+Grid 05`
`+020810740`
`+700003100`
`+090002805`
`+009040087`
`+400208003`
`+160030200`
`+302700060`
`+005600008`
`+076051090`
`+Grid 06`
`+100920000`
`+524010000`
`+000000070`
`+050008102`
`+000000000`
`+402700090`
`+060000000`
`+000030945`
`+000071006`
`+Grid 07`
`+043080250`
`+600000000`
`+000001094`
`+900004070`
`+000608000`
`+010200003`
`+820500000`
`+000000005`
`+034090710`
`+Grid 08`
`+480006902`
`+002008001`
`+900370060`
`+840010200`
`+003704100`
`+001060049`
`+020085007`
`+700900600`
`+609200018`
`+Grid 09`
`+000900002`
`+050123400`
`+030000160`
`+908000000`
`+070000090`
`+000000205`
`+091000050`
`+007439020`
`+400007000`
`+Grid 10`
`+001900003`
`+900700160`
`+030005007`
`+050000009`
`+004302600`
`+200000070`
`+600100030`
`+042007006`
`+500006800`
`+Grid 11`
`+000125400`
`+008400000`
`+420800000`
`+030000095`
`+060902010`
`+510000060`
`+000003049`
`+000007200`
`+001298000`
`+Grid 12`
`+062340750`
`+100005600`
`+570000040`
`+000094800`
`+400000006`
`+005830000`
`+030000091`
`+006400007`
`+059083260`
`+Grid 13`
`+300000000`
`+005009000`
`+200504000`
`+020000700`
`+160000058`
`+704310600`
`+000890100`
`+000067080`
`+000005437`
`+Grid 14`
`+630000000`
`+000500008`
`+005674000`
`+000020000`
`+003401020`
`+000000345`
`+000007004`
`+080300902`
`+947100080`
`+Grid 15`
`+000020040`
`+008035000`
`+000070602`
`+031046970`
`+200000000`
`+000501203`
`+049000730`
`+000000010`
`+800004000`
`+Grid 16`
`+361025900`
`+080960010`
`+400000057`
`+008000471`
`+000603000`
`+259000800`
`+740000005`
`+020018060`
`+005470329`
`+Grid 17`
`+050807020`
`+600010090`
`+702540006`
`+070020301`
`+504000908`
`+103080070`
`+900076205`
`+060090003`
`+080103040`
`+Grid 18`
`+080005000`
`+000003457`
`+000070809`
`+060400903`
`+007010500`
`+408007020`
`+901020000`
`+842300000`
`+000100080`
`+Grid 19`
`+003502900`
`+000040000`
`+106000305`
`+900251008`
`+070408030`
`+800763001`
`+308000104`
`+000020000`
`+005104800`
`+Grid 20`
`+000000000`
`+009805100`
`+051907420`
`+290401065`
`+000000000`
`+140508093`
`+026709580`
`+005103600`
`+000000000`
`+Grid 21`
`+020030090`
`+000907000`
`+900208005`
`+004806500`
`+607000208`
`+003102900`
`+800605007`
`+000309000`
`+030020050`
`+Grid 22`
`+005000006`
`+070009020`
`+000500107`
`+804150000`
`+000803000`
`+000092805`
`+907006000`
`+030400010`
`+200000600`
`+Grid 23`
`+040000050`
`+001943600`
`+009000300`
`+600050002`
`+103000506`
`+800020007`
`+005000200`
`+002436700`
`+030000040`
`+Grid 24`
`+004000000`
`+000030002`
`+390700080`
`+400009001`
`+209801307`
`+600200008`
`+010008053`
`+900040000`
`+000000800`
`+Grid 25`
`+360020089`
`+000361000`
`+000000000`
`+803000602`
`+400603007`
`+607000108`
`+000000000`
`+000418000`
`+970030014`
`+Grid 26`
`+500400060`
`+009000800`
`+640020000`
`+000001008`
`+208000501`
`+700500000`
`+000090084`
`+003000600`
`+060003002`
`+Grid 27`
`+007256400`
`+400000005`
`+010030060`
`+000508000`
`+008060200`
`+000107000`
`+030070090`
`+200000004`
`+006312700`
`+Grid 28`
`+000000000`
`+079050180`
`+800000007`
`+007306800`
`+450708096`
`+003502700`
`+700000005`
`+016030420`
`+000000000`
`+Grid 29`
`+030000080`
`+009000500`
`+007509200`
`+700105008`
`+020090030`
`+900402001`
`+004207100`
`+002000800`
`+070000090`
`+Grid 30`
`+200170603`
`+050000100`
`+000006079`
`+000040700`
`+000801000`
`+009050000`
`+310400000`
`+005000060`
`+906037002`
`+Grid 31`
`+000000080`
`+800701040`
`+040020030`
`+374000900`
`+000030000`
`+005000321`
`+010060050`
`+050802006`
`+080000000`
`+Grid 32`
`+000000085`
`+000210009`
`+960080100`
`+500800016`
`+000000000`
`+890006007`
`+009070052`
`+300054000`
`+480000000`
`+Grid 33`
`+608070502`
`+050608070`
`+002000300`
`+500090006`
`+040302050`
`+800050003`
`+005000200`
`+010704090`
`+409060701`
`+Grid 34`
`+050010040`
`+107000602`
`+000905000`
`+208030501`
`+040070020`
`+901080406`
`+000401000`
`+304000709`
`+020060010`
`+Grid 35`
`+053000790`
`+009753400`
`+100000002`
`+090080010`
`+000907000`
`+080030070`
`+500000003`
`+007641200`
`+061000940`
`+Grid 36`
`+006080300`
`+049070250`
`+000405000`
`+600317004`
`+007000800`
`+100826009`
`+000702000`
`+075040190`
`+003090600`
`+Grid 37`
`+005080700`
`+700204005`
`+320000084`
`+060105040`
`+008000500`
`+070803010`
`+450000091`
`+600508007`
`+003010600`
`+Grid 38`
`+000900800`
`+128006400`
`+070800060`
`+800430007`
`+500000009`
`+600079008`
`+090004010`
`+003600284`
`+001007000`
`+Grid 39`
`+000080000`
`+270000054`
`+095000810`
`+009806400`
`+020403060`
`+006905100`
`+017000620`
`+460000038`
`+000090000`
`+Grid 40`
`+000602000`
`+400050001`
`+085010620`
`+038206710`
`+000000000`
`+019407350`
`+026040530`
`+900020007`
`+000809000`
`+Grid 41`
`+000900002`