From 87a130499d39a01bf26be322f457c127255dcc87 Mon Sep 17 00:00:00 2001 From: James Kolpack Date: Sun, 3 Aug 2025 20:16:55 -0700 Subject: [PATCH] initial commit --- .gitignore | 33 + 10.ps1 | 16 + 101.fs | 54 + 11.fs | 57 + 11.ps1 | 3 + 11.txt | 20 + 112.fs | 18 + 12.fs | 17 + 13.fs | 36 + 13.txt | 100 + 14.fs | 15 + 16.ps1 | 7 + 17.fs | 81 + 18.fs | 18 + 18.txt | 15 + 18_67.txt | 100 + 18_b.txt | 15 + 19_saturdays.fs | 62 + 20.fs | 7 + 21.fs | 19 + 22.fs | 13 + 22_names.txt | 1 + 23.fs | 28 + 24.fs | 5 + 25.fs | 9 + 26.fs | 30 + 27.fs | 24 + 28.fs | 12 + 29.fs | 6 + 30.fs | 16 + 31.fs | 13 + 32.fs | 12 + 33_cancelling.fs | 37 + 34.fs | 18 + 35.fs | 26 + 36.fs | 12 + 37.fs | 26 + 39.fs | 26 + 4.ps1 | 28 + 40.fs | 8 + 41.fs | 15 + 42.fs | 20 + 42_words.txt | 1 + 43.fs | 28 + 45.fs | 18 + 46.fs | 22 + 47.fs | 17 + 48.fs | 10 + 49.fs | 34 + 5.ps1 | 21 + 50.fs | 24 + 52.fs | 24 + 53.fs | 15 + 54.fs | 200 ++ 54_poker.txt | 1000 ++++++++ 55.fs | 23 + 56.fs | 15 + 57.fs | 23 + 58.fs | 33 + 59.fs | 56 + 59_cipher1.txt | 1 + 6.ps1 | 0 63_power_digits.fs | 23 + 69.fs | 26 + 7.ps1 | 20 + 79.fs | 33 + 79_keylog.txt | 50 + 8.ps1 | 24 + 8.txt | 1 + 81.fs | 71 + 81_matrix.txt | 80 + 9.ps1 | 9 + 92.fs | 22 + 97.fs | 12 + 98.fs | 90 + 98_words.txt | 1 + 99.fs | 14 + 99_base_exp.txt | 1000 ++++++++ Fraction.fs | 30 + IncludeIntX.ps1 | 2 + Oyster.IntX.dll | Bin 0 -> 45056 bytes common.fs | 232 ++ dist.female.first.txt | 4275 ++++++++++++++++++++++++++++++++++ dist.male.first.txt | 1219 ++++++++++ millerRabinPrimality.fs | 64 + npr_sundaypuzzle_20120422.fs | 32 + program.fs | 87 + projecteuler.fsproj | 161 ++ projecteuler.sln | 20 + 89 files changed, 10241 insertions(+) create mode 100644 .gitignore create mode 100644 10.ps1 create mode 100644 101.fs create mode 100644 11.fs create mode 100644 11.ps1 create mode 100644 11.txt create mode 100644 112.fs create mode 100644 12.fs create mode 100644 13.fs create mode 100644 13.txt create mode 100644 14.fs create mode 100644 16.ps1 create mode 100644 17.fs create mode 100644 18.fs create mode 100644 18.txt create mode 100644 18_67.txt create mode 100644 18_b.txt create mode 100644 19_saturdays.fs create mode 100644 20.fs create mode 100644 21.fs create mode 100644 22.fs create mode 100644 22_names.txt create mode 100644 23.fs create mode 100644 24.fs create mode 100644 25.fs create mode 100644 26.fs create mode 100644 27.fs create mode 100644 28.fs create mode 100644 29.fs create mode 100644 30.fs create mode 100644 31.fs create mode 100644 32.fs create mode 100644 33_cancelling.fs create mode 100644 34.fs create mode 100644 35.fs create mode 100644 36.fs create mode 100644 37.fs create mode 100644 39.fs create mode 100644 4.ps1 create mode 100644 40.fs create mode 100644 41.fs create mode 100644 42.fs create mode 100644 42_words.txt create mode 100644 43.fs create mode 100644 45.fs create mode 100644 46.fs create mode 100644 47.fs create mode 100644 48.fs create mode 100644 49.fs create mode 100644 5.ps1 create mode 100644 50.fs create mode 100644 52.fs create mode 100644 53.fs create mode 100644 54.fs create mode 100644 54_poker.txt create mode 100644 55.fs create mode 100644 56.fs create mode 100644 57.fs create mode 100644 58.fs create mode 100644 59.fs create mode 100644 59_cipher1.txt create mode 100644 6.ps1 create mode 100644 63_power_digits.fs create mode 100644 69.fs create mode 100644 7.ps1 create mode 100644 79.fs create mode 100644 79_keylog.txt create mode 100644 8.ps1 create mode 100644 8.txt create mode 100644 81.fs create mode 100644 81_matrix.txt create mode 100644 9.ps1 create mode 100644 92.fs create mode 100644 97.fs create mode 100644 98.fs create mode 100644 98_words.txt create mode 100644 99.fs create mode 100644 99_base_exp.txt create mode 100644 Fraction.fs create mode 100644 IncludeIntX.ps1 create mode 100644 Oyster.IntX.dll create mode 100644 common.fs create mode 100644 dist.female.first.txt create mode 100644 dist.male.first.txt create mode 100644 millerRabinPrimality.fs create mode 100644 npr_sundaypuzzle_20120422.fs create mode 100644 program.fs create mode 100644 projecteuler.fsproj create mode 100644 projecteuler.sln diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e7c9243 --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ + +#Ignore thumbnails created by Windows +Thumbs.db +#Ignore files built by Visual Studio +*.obj +*.exe +*.pdb +*.user +*.aps +*.pch +*.vspscc +*_i.c +*_p.c +*.ncb +*.suo +*.tlb +*.tlh +*.bak +*.cache +*.ilk +*.log +[Bb]in +[Dd]ebug*/ +*.lib +*.sbr +obj/ +[Rr]elease*/ +_ReSharper*/ +[Tt]est[Rr]esult* +.vs/ +.idea/ +#Nuget packages folder +packages/ diff --git a/10.ps1 b/10.ps1 new file mode 100644 index 0000000..4a5fe4c --- /dev/null +++ b/10.ps1 @@ -0,0 +1,16 @@ +$arr = New-Object bool[] 2000000 +$arr[0] = $arr[1] = $TRUE +$sum = 0 +for ($i=2; $i -lt $arr.Length; $i++) +{ + if ($arr[$i] -eq $TRUE) + { + continue + } + for ($j=$i*2; $j -lt $arr.Length; $j += $i) + { + $arr[$j] = $TRUE + } + $sum += $i + write-host "$i, $sum" +} diff --git a/101.fs b/101.fs new file mode 100644 index 0000000..30ca781 --- /dev/null +++ b/101.fs @@ -0,0 +1,54 @@ +module _101 + +open common +open System + +let leGrange points x = + points + |> Seq.mapi (fun j (xj,y) -> + y * ( + points + |> Seq.mapi (fun k (xk,_) -> + if (j = k) then 1.0 else + (x - xk) / (xj - xk) + ) + |> Seq.fold (*) 1.0 + ) + ) + |> Seq.sum + +let rec polynomialGen p x = + if p = 0 then 1L else + let rest = polynomialGen (p-1) x + let this = int64 (Math.Pow(float x, float p)) + if p % 2 = 0 then + rest + this + else + rest - this + +let poly10 = polynomialGen 10 + +let cube x = + int64 (Math.Pow(float x,3.0)) + +let funTup f n = (n, f n) + +let sumOfFITsOfBOPs = + let leGrangeTermChecker f seqLimit = + [1..seqLimit] + |> Seq.map (fun n -> (float n, float (f n))) + |> (fun points -> + let nth = points |> Seq.nth (seqLimit - 1) |> snd + let pointsMinusLast = points |> Seq.take (seqLimit - 1) + let nthLegrange = leGrange pointsMinusLast (float seqLimit) + + (int64 nth, int64 nthLegrange) + ) + + allIntegers |> Seq.skip 2 + |> Seq.map (leGrangeTermChecker poly10) + |> Seq.take 11 + //|> Seq.takeWhile (fun (nth,nthLeGrange) -> .Abs( nth - nthLeGrange) < 2) + |> Seq.toArray + //|> Array.map snd + //|> Array.sum diff --git a/11.fs b/11.fs new file mode 100644 index 0000000..223c335 --- /dev/null +++ b/11.fs @@ -0,0 +1,57 @@ +module _11 + +open System +open System.IO + +let rightTrans = (0, 1) +let downTrans = (1, 0) +let sidewayRightTrans = (1, 1) +let sidewayLeftTrans = (1, -1) + +let len = 4 + +let maximum max v = if v > max then v else max + +let maxProduct = + + let getData = + let lines = File.ReadAllLines(@"11.txt") + + let convertDataRow(line:string) = + line.Split(' ') |> Array.map int + + lines |> Array.map convertDataRow + + let rows = getData + + let rowLen = rows.Length + let colLen = rows.[0].Length + + let getAdjacentCells (r, c) (rInc, cInc) = + if (r + rInc*len > rowLen + || c + cInc*len > colLen + || c + cInc*len < 0) then + Seq.empty + else + Seq.init len (fun i -> rows.[r + rInc*i].[c + cInc*i]) + + seq{ + for r in 0..rowLen-1 do + for c in 0..colLen-1 do + let getCells = getAdjacentCells (r, c) + + let product = Seq.fold (*) 1 + + yield getCells rightTrans |> product + yield getCells downTrans |> product + yield getCells sidewayRightTrans |> product + yield getCells sidewayLeftTrans |> product + } + |> Seq.fold maximum -1 + +(* +for row in rows do + for cell in row do + printf "%u " cell + printf "\n" +*) \ No newline at end of file diff --git a/11.ps1 b/11.ps1 new file mode 100644 index 0000000..d1426ff --- /dev/null +++ b/11.ps1 @@ -0,0 +1,3 @@ +$file = gc 11.txt + +$arr = New-Object int[][] 2000000 diff --git a/11.txt b/11.txt new file mode 100644 index 0000000..1fc75c6 --- /dev/null +++ b/11.txt @@ -0,0 +1,20 @@ +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 \ No newline at end of file diff --git a/112.fs b/112.fs new file mode 100644 index 0000000..32a47ec --- /dev/null +++ b/112.fs @@ -0,0 +1,18 @@ +module _112 + +let bouncy90 = + let bouncy n = + common.numDigits n + |> Seq.pairwise + |> Seq.filter (fun (i,j) -> i <> j) + |> Seq.map (fun (i,j) -> i > j) + |> Seq.distinct + |> Seq.length > 1 + + common.allIntegers + |> Seq.skip 1 + |> Seq.map (fun i -> (i,bouncy i)) + |> Seq.scan (fun (t,f) (i,b) -> + if b then (t+1,f) else (t,f+1)) (0,0) + |> Seq.map (fun (t,f) -> if t = 0 then 0.0 else ((float t)/((float t)+(float f)))) + |> Seq.findIndex ((<=) 0.99) \ No newline at end of file diff --git a/12.fs b/12.fs new file mode 100644 index 0000000..421ce39 --- /dev/null +++ b/12.fs @@ -0,0 +1,17 @@ +module _12 +open System + +let fiveDivisorTriangle = + let root (n : int) = int( Math.Sqrt(float(n)) ) + // observation: if number has a factor < sqrt(num), then it has a corresponding + // factor > sqrt(num) + let factorCount x = Seq.sum (seq { for i = 1 to root x do if x % i = 0 then yield 2 }) + + let result = + (1, 0) |> Seq.unfold (fun (num,acc) -> + Some(num + acc, (num + 1, num + acc))) + |> Seq.filter (fun x -> + let factCount = factorCount x + factCount >= 500 ) + |> Seq.head + result diff --git a/13.fs b/13.fs new file mode 100644 index 0000000..4bb3c88 --- /dev/null +++ b/13.fs @@ -0,0 +1,36 @@ +module _13 + +open System +open System.IO + +let getSum = + + let numbers = File.ReadAllLines(@"13.txt") + + let add i carry = + let sum = carry + + (Seq.sum + (seq + { for string in numbers + do yield System.Int32.Parse(string.Substring(string.Length - i, 1)) } + ) + ) + (sum % 10, int(sum / 10)) + + let unfold (i, carry) = + if i = 51 then + None + else + let (digit, nextCarry) = add i carry + if i <> 50 then + Some(digit.ToString(), (i+1, nextCarry)) + else + Some(nextCarry.ToString() + digit.ToString(), (i+1, nextCarry)) + + let number_string = + Seq.unfold unfold (1, 0) + |> Seq.reduce (fun current next -> next + current) + + let hard = number_string.Substring(0, 10) + + hard \ No newline at end of file diff --git a/13.txt b/13.txt new file mode 100644 index 0000000..84d3e28 --- /dev/null +++ b/13.txt @@ -0,0 +1,100 @@ +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 \ No newline at end of file diff --git a/14.fs b/14.fs new file mode 100644 index 0000000..d96e8df --- /dev/null +++ b/14.fs @@ -0,0 +1,15 @@ +module _14 + +let collatzConjecture n = + match n with + | 0L -> None + | 1L -> Some(1L,0L) + | n -> Some(n, + if n % 2L = 0L then n/2L + else if n % 2L = 1L then 3L*n + 1L + else 1L) + +let getLongestChain = + [1L..1000000L] + |> Seq.map (fun i -> (i |> Seq.unfold collatzConjecture |> Seq.length, i)) + |> Seq.max diff --git a/16.ps1 b/16.ps1 new file mode 100644 index 0000000..9c2a582 --- /dev/null +++ b/16.ps1 @@ -0,0 +1,7 @@ +$assemblyName = gci .\Oyster.IntX.dll | % {$_.FullName } +[System.Reflection.Assembly]::LoadFile($assemblyName) +$num = [Oyster.Math.IntX]::Pow(2,1000) | % {$_.ToString() } + +$sum = 0 +[char[]]$num | % { $sum += [int][string]$_;} +$sum diff --git a/17.fs b/17.fs new file mode 100644 index 0000000..fe0da12 --- /dev/null +++ b/17.fs @@ -0,0 +1,81 @@ +module _17 + +open System.Text.RegularExpressions + +let rec numberToWords i = + + let firstDigit number = + int (number.ToString().Substring(0,1)) + + let remainingDigits number = + int (number.ToString().Substring(1)) + + let numberHeadTuple i = + (firstDigit i, remainingDigits i) + + let concatWith separator s1 s2 = + if not (System.String.IsNullOrEmpty(s2)) + then s1 + separator + s2 + else + s1 + + let hyphen = concatWith "-" + + let concatAnd = concatWith " and " + + match i.ToString().Length with + | 1 -> + match i with + | 1 -> "one" + | 2 -> "two" + | 3 -> "three" + | 4-> "four" + | 5 -> "five" + | 6 -> "six" + | 7 -> "seven" + | 8 -> "eight" + | 9 -> "nine" + | _ -> "" + | 2 -> + match numberHeadTuple i with + | (1,0) -> "ten" + | (1,1) -> "eleven" + | (1,2) -> "twelve" + | (1,3) -> "thirteen" + | (1,4) -> "fourteen" + | (1,5) -> "fifteen" + | (1,8) -> "eighteen" + | (1,j) -> (numberToWords j) + "teen" + | (2,j) -> (numberToWords j) |> hyphen "twenty" + | (3,j) -> (numberToWords j) |> hyphen "thirty" + | (4,j) -> (numberToWords j) |> hyphen "forty" + | (5,j) -> (numberToWords j) |> hyphen "fifty" + | (6,j) -> (numberToWords j) |> hyphen "sixty" + | (7,j) -> (numberToWords j) |> hyphen "seventy" + | (8,j) -> (numberToWords j) |> hyphen "eighty" + | (9,j) -> (numberToWords j) |> hyphen "ninety" + | (_, _) -> "wtf" + | 3 -> + let (first,remaining) = numberHeadTuple i + (numberToWords remaining) |> concatAnd ((numberToWords first) + " hundred") + | 4 -> + let (first,remaining) = numberHeadTuple i + (numberToWords remaining) |> concatAnd ((numberToWords first) + " thousand") + | _ -> "unknown" + + +let getNumberWords = + let nums = [1..1000] + let numWords = Seq.map numberToWords nums + //printfn "%s" (String.concat "\n" numWords) + let strip s = Regex.Replace(s, "[^a-z]", "") + numWords |> Seq.fold (fun acc elem -> acc + (strip elem).Length) 0 + +//let getNumberWords = +// let nums = [1..100] +// let strip s = Regex.Replace(s, "[^a-z]", "") +// nums +// |> Seq.map (fun n -> (n, ((numberToWords >> strip) n).Length, numberToWords n)) +// |> Seq.toArray +// |> Array.filter (fun (n, l, _) -> n % l = 0) + diff --git a/18.fs b/18.fs new file mode 100644 index 0000000..ddba4b1 --- /dev/null +++ b/18.fs @@ -0,0 +1,18 @@ +module _18 + +open System.IO + +let getTriangleMaxTotal = + + let t = + File.ReadAllLines(@"18_67.txt") + |> Array.map (fun line -> line.Split(' ') |> Array.map int) + |> Array.rev + + for i in 1 .. t.Length - 1 do + for j in 0 .. t.[i].Length - 1 do + let current = t.[i].[j] + let prev = max t.[i - 1].[j] t.[i - 1].[j + 1] + t.[i].[j] <- current + prev + + t.[t.Length - 1].[0] diff --git a/18.txt b/18.txt new file mode 100644 index 0000000..00136a1 --- /dev/null +++ b/18.txt @@ -0,0 +1,15 @@ +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 \ No newline at end of file diff --git a/18_67.txt b/18_67.txt new file mode 100644 index 0000000..b815be4 --- /dev/null +++ b/18_67.txt @@ -0,0 +1,100 @@ +59 +73 41 +52 40 09 +26 53 06 34 +10 51 87 86 81 +61 95 66 57 25 68 +90 81 80 38 92 67 73 +30 28 51 76 81 18 75 44 +84 14 95 87 62 81 17 78 58 +21 46 71 58 02 79 62 39 31 09 +56 34 35 53 78 31 81 18 90 93 15 +78 53 04 21 84 93 32 13 97 11 37 51 +45 03 81 79 05 18 78 86 13 30 63 99 95 +39 87 96 28 03 38 42 17 82 87 58 07 22 57 +06 17 51 17 07 93 09 07 75 97 95 78 87 08 53 +67 66 59 60 88 99 94 65 55 77 55 34 27 53 78 28 +76 40 41 04 87 16 09 42 75 69 23 97 30 60 10 79 87 +12 10 44 26 21 36 32 84 98 60 13 12 36 16 63 31 91 35 +70 39 06 05 55 27 38 48 28 22 34 35 62 62 15 14 94 89 86 +66 56 68 84 96 21 34 34 34 81 62 40 65 54 62 05 98 03 02 60 +38 89 46 37 99 54 34 53 36 14 70 26 02 90 45 13 31 61 83 73 47 +36 10 63 96 60 49 41 05 37 42 14 58 84 93 96 17 09 43 05 43 06 59 +66 57 87 57 61 28 37 51 84 73 79 15 39 95 88 87 43 39 11 86 77 74 18 +54 42 05 79 30 49 99 73 46 37 50 02 45 09 54 52 27 95 27 65 19 45 26 45 +71 39 17 78 76 29 52 90 18 99 78 19 35 62 71 19 23 65 93 85 49 33 75 09 02 +33 24 47 61 60 55 32 88 57 55 91 54 46 57 07 77 98 52 80 99 24 25 46 78 79 05 +92 09 13 55 10 67 26 78 76 82 63 49 51 31 24 68 05 57 07 54 69 21 67 43 17 63 12 +24 59 06 08 98 74 66 26 61 60 13 03 09 09 24 30 71 08 88 70 72 70 29 90 11 82 41 34 +66 82 67 04 36 60 92 77 91 85 62 49 59 61 30 90 29 94 26 41 89 04 53 22 83 41 09 74 90 +48 28 26 37 28 52 77 26 51 32 18 98 79 36 62 13 17 08 19 54 89 29 73 68 42 14 08 16 70 37 +37 60 69 70 72 71 09 59 13 60 38 13 57 36 09 30 43 89 30 39 15 02 44 73 05 73 26 63 56 86 12 +55 55 85 50 62 99 84 77 28 85 03 21 27 22 19 26 82 69 54 04 13 07 85 14 01 15 70 59 89 95 10 19 +04 09 31 92 91 38 92 86 98 75 21 05 64 42 62 84 36 20 73 42 21 23 22 51 51 79 25 45 85 53 03 43 22 +75 63 02 49 14 12 89 14 60 78 92 16 44 82 38 30 72 11 46 52 90 27 08 65 78 03 85 41 57 79 39 52 33 48 +78 27 56 56 39 13 19 43 86 72 58 95 39 07 04 34 21 98 39 15 39 84 89 69 84 46 37 57 59 35 59 50 26 15 93 +42 89 36 27 78 91 24 11 17 41 05 94 07 69 51 96 03 96 47 90 90 45 91 20 50 56 10 32 36 49 04 53 85 92 25 65 +52 09 61 30 61 97 66 21 96 92 98 90 06 34 96 60 32 69 68 33 75 84 18 31 71 50 84 63 03 03 19 11 28 42 75 45 45 +61 31 61 68 96 34 49 39 05 71 76 59 62 67 06 47 96 99 34 21 32 47 52 07 71 60 42 72 94 56 82 83 84 40 94 87 82 46 +01 20 60 14 17 38 26 78 66 81 45 95 18 51 98 81 48 16 53 88 37 52 69 95 72 93 22 34 98 20 54 27 73 61 56 63 60 34 63 +93 42 94 83 47 61 27 51 79 79 45 01 44 73 31 70 83 42 88 25 53 51 30 15 65 94 80 44 61 84 12 77 02 62 02 65 94 42 14 94 +32 73 09 67 68 29 74 98 10 19 85 48 38 31 85 67 53 93 93 77 47 67 39 72 94 53 18 43 77 40 78 32 29 59 24 06 02 83 50 60 66 +32 01 44 30 16 51 15 81 98 15 10 62 86 79 50 62 45 60 70 38 31 85 65 61 64 06 69 84 14 22 56 43 09 48 66 69 83 91 60 40 36 61 +92 48 22 99 15 95 64 43 01 16 94 02 99 19 17 69 11 58 97 56 89 31 77 45 67 96 12 73 08 20 36 47 81 44 50 64 68 85 40 81 85 52 09 +91 35 92 45 32 84 62 15 19 64 21 66 06 01 52 80 62 59 12 25 88 28 91 50 40 16 22 99 92 79 87 51 21 77 74 77 07 42 38 42 74 83 02 05 +46 19 77 66 24 18 05 32 02 84 31 99 92 58 96 72 91 36 62 99 55 29 53 42 12 37 26 58 89 50 66 19 82 75 12 48 24 87 91 85 02 07 03 76 86 +99 98 84 93 07 17 33 61 92 20 66 60 24 66 40 30 67 05 37 29 24 96 03 27 70 62 13 04 45 47 59 88 43 20 66 15 46 92 30 04 71 66 78 70 53 99 +67 60 38 06 88 04 17 72 10 99 71 07 42 25 54 05 26 64 91 50 45 71 06 30 67 48 69 82 08 56 80 67 18 46 66 63 01 20 08 80 47 07 91 16 03 79 87 +18 54 78 49 80 48 77 40 68 23 60 88 58 80 33 57 11 69 55 53 64 02 94 49 60 92 16 35 81 21 82 96 25 24 96 18 02 05 49 03 50 77 06 32 84 27 18 38 +68 01 50 04 03 21 42 94 53 24 89 05 92 26 52 36 68 11 85 01 04 42 02 45 15 06 50 04 53 73 25 74 81 88 98 21 67 84 79 97 99 20 95 04 40 46 02 58 87 +94 10 02 78 88 52 21 03 88 60 06 53 49 71 20 91 12 65 07 49 21 22 11 41 58 99 36 16 09 48 17 24 52 36 23 15 72 16 84 56 02 99 43 76 81 71 29 39 49 17 +64 39 59 84 86 16 17 66 03 09 43 06 64 18 63 29 68 06 23 07 87 14 26 35 17 12 98 41 53 64 78 18 98 27 28 84 80 67 75 62 10 11 76 90 54 10 05 54 41 39 66 +43 83 18 37 32 31 52 29 95 47 08 76 35 11 04 53 35 43 34 10 52 57 12 36 20 39 40 55 78 44 07 31 38 26 08 15 56 88 86 01 52 62 10 24 32 05 60 65 53 28 57 99 +03 50 03 52 07 73 49 92 66 80 01 46 08 67 25 36 73 93 07 42 25 53 13 96 76 83 87 90 54 89 78 22 78 91 73 51 69 09 79 94 83 53 09 40 69 62 10 79 49 47 03 81 30 +71 54 73 33 51 76 59 54 79 37 56 45 84 17 62 21 98 69 41 95 65 24 39 37 62 03 24 48 54 64 46 82 71 78 33 67 09 16 96 68 52 74 79 68 32 21 13 78 96 60 09 69 20 36 +73 26 21 44 46 38 17 83 65 98 07 23 52 46 61 97 33 13 60 31 70 15 36 77 31 58 56 93 75 68 21 36 69 53 90 75 25 82 39 50 65 94 29 30 11 33 11 13 96 02 56 47 07 49 02 +76 46 73 30 10 20 60 70 14 56 34 26 37 39 48 24 55 76 84 91 39 86 95 61 50 14 53 93 64 67 37 31 10 84 42 70 48 20 10 72 60 61 84 79 69 65 99 73 89 25 85 48 92 56 97 16 +03 14 80 27 22 30 44 27 67 75 79 32 51 54 81 29 65 14 19 04 13 82 04 91 43 40 12 52 29 99 07 76 60 25 01 07 61 71 37 92 40 47 99 66 57 01 43 44 22 40 53 53 09 69 26 81 07 +49 80 56 90 93 87 47 13 75 28 87 23 72 79 32 18 27 20 28 10 37 59 21 18 70 04 79 96 03 31 45 71 81 06 14 18 17 05 31 50 92 79 23 47 09 39 47 91 43 54 69 47 42 95 62 46 32 85 +37 18 62 85 87 28 64 05 77 51 47 26 30 65 05 70 65 75 59 80 42 52 25 20 44 10 92 17 71 95 52 14 77 13 24 55 11 65 26 91 01 30 63 15 49 48 41 17 67 47 03 68 20 90 98 32 04 40 68 +90 51 58 60 06 55 23 68 05 19 76 94 82 36 96 43 38 90 87 28 33 83 05 17 70 83 96 93 06 04 78 47 80 06 23 84 75 23 87 72 99 14 50 98 92 38 90 64 61 58 76 94 36 66 87 80 51 35 61 38 +57 95 64 06 53 36 82 51 40 33 47 14 07 98 78 65 39 58 53 06 50 53 04 69 40 68 36 69 75 78 75 60 03 32 39 24 74 47 26 90 13 40 44 71 90 76 51 24 36 50 25 45 70 80 61 80 61 43 90 64 11 +18 29 86 56 68 42 79 10 42 44 30 12 96 18 23 18 52 59 02 99 67 46 60 86 43 38 55 17 44 93 42 21 55 14 47 34 55 16 49 24 23 29 96 51 55 10 46 53 27 92 27 46 63 57 30 65 43 27 21 20 24 83 +81 72 93 19 69 52 48 01 13 83 92 69 20 48 69 59 20 62 05 42 28 89 90 99 32 72 84 17 08 87 36 03 60 31 36 36 81 26 97 36 48 54 56 56 27 16 91 08 23 11 87 99 33 47 02 14 44 73 70 99 43 35 33 +90 56 61 86 56 12 70 59 63 32 01 15 81 47 71 76 95 32 65 80 54 70 34 51 40 45 33 04 64 55 78 68 88 47 31 47 68 87 03 84 23 44 89 72 35 08 31 76 63 26 90 85 96 67 65 91 19 14 17 86 04 71 32 95 +37 13 04 22 64 37 37 28 56 62 86 33 07 37 10 44 52 82 52 06 19 52 57 75 90 26 91 24 06 21 14 67 76 30 46 14 35 89 89 41 03 64 56 97 87 63 22 34 03 79 17 45 11 53 25 56 96 61 23 18 63 31 37 37 47 +77 23 26 70 72 76 77 04 28 64 71 69 14 85 96 54 95 48 06 62 99 83 86 77 97 75 71 66 30 19 57 90 33 01 60 61 14 12 90 99 32 77 56 41 18 14 87 49 10 14 90 64 18 50 21 74 14 16 88 05 45 73 82 47 74 44 +22 97 41 13 34 31 54 61 56 94 03 24 59 27 98 77 04 09 37 40 12 26 87 09 71 70 07 18 64 57 80 21 12 71 83 94 60 39 73 79 73 19 97 32 64 29 41 07 48 84 85 67 12 74 95 20 24 52 41 67 56 61 29 93 35 72 69 +72 23 63 66 01 11 07 30 52 56 95 16 65 26 83 90 50 74 60 18 16 48 43 77 37 11 99 98 30 94 91 26 62 73 45 12 87 73 47 27 01 88 66 99 21 41 95 80 02 53 23 32 61 48 32 43 43 83 14 66 95 91 19 81 80 67 25 88 +08 62 32 18 92 14 83 71 37 96 11 83 39 99 05 16 23 27 10 67 02 25 44 11 55 31 46 64 41 56 44 74 26 81 51 31 45 85 87 09 81 95 22 28 76 69 46 48 64 87 67 76 27 89 31 11 74 16 62 03 60 94 42 47 09 34 94 93 72 +56 18 90 18 42 17 42 32 14 86 06 53 33 95 99 35 29 15 44 20 49 59 25 54 34 59 84 21 23 54 35 90 78 16 93 13 37 88 54 19 86 67 68 55 66 84 65 42 98 37 87 56 33 28 58 38 28 38 66 27 52 21 81 15 08 22 97 32 85 27 +91 53 40 28 13 34 91 25 01 63 50 37 22 49 71 58 32 28 30 18 68 94 23 83 63 62 94 76 80 41 90 22 82 52 29 12 18 56 10 08 35 14 37 57 23 65 67 40 72 39 93 39 70 89 40 34 07 46 94 22 20 05 53 64 56 30 05 56 61 88 27 +23 95 11 12 37 69 68 24 66 10 87 70 43 50 75 07 62 41 83 58 95 93 89 79 45 39 02 22 05 22 95 43 62 11 68 29 17 40 26 44 25 71 87 16 70 85 19 25 59 94 90 41 41 80 61 70 55 60 84 33 95 76 42 63 15 09 03 40 38 12 03 32 +09 84 56 80 61 55 85 97 16 94 82 94 98 57 84 30 84 48 93 90 71 05 95 90 73 17 30 98 40 64 65 89 07 79 09 19 56 36 42 30 23 69 73 72 07 05 27 61 24 31 43 48 71 84 21 28 26 65 65 59 65 74 77 20 10 81 61 84 95 08 52 23 70 +47 81 28 09 98 51 67 64 35 51 59 36 92 82 77 65 80 24 72 53 22 07 27 10 21 28 30 22 48 82 80 48 56 20 14 43 18 25 50 95 90 31 77 08 09 48 44 80 90 22 93 45 82 17 13 96 25 26 08 73 34 99 06 49 24 06 83 51 40 14 15 10 25 01 +54 25 10 81 30 64 24 74 75 80 36 75 82 60 22 69 72 91 45 67 03 62 79 54 89 74 44 83 64 96 66 73 44 30 74 50 37 05 09 97 70 01 60 46 37 91 39 75 75 18 58 52 72 78 51 81 86 52 08 97 01 46 43 66 98 62 81 18 70 93 73 08 32 46 34 +96 80 82 07 59 71 92 53 19 20 88 66 03 26 26 10 24 27 50 82 94 73 63 08 51 33 22 45 19 13 58 33 90 15 22 50 36 13 55 06 35 47 82 52 33 61 36 27 28 46 98 14 73 20 73 32 16 26 80 53 47 66 76 38 94 45 02 01 22 52 47 96 64 58 52 39 +88 46 23 39 74 63 81 64 20 90 33 33 76 55 58 26 10 46 42 26 74 74 12 83 32 43 09 02 73 55 86 54 85 34 28 23 29 79 91 62 47 41 82 87 99 22 48 90 20 05 96 75 95 04 43 28 81 39 81 01 28 42 78 25 39 77 90 57 58 98 17 36 73 22 63 74 51 +29 39 74 94 95 78 64 24 38 86 63 87 93 06 70 92 22 16 80 64 29 52 20 27 23 50 14 13 87 15 72 96 81 22 08 49 72 30 70 24 79 31 16 64 59 21 89 34 96 91 48 76 43 53 88 01 57 80 23 81 90 79 58 01 80 87 17 99 86 90 72 63 32 69 14 28 88 69 +37 17 71 95 56 93 71 35 43 45 04 98 92 94 84 96 11 30 31 27 31 60 92 03 48 05 98 91 86 94 35 90 90 08 48 19 33 28 68 37 59 26 65 96 50 68 22 07 09 49 34 31 77 49 43 06 75 17 81 87 61 79 52 26 27 72 29 50 07 98 86 01 17 10 46 64 24 18 56 +51 30 25 94 88 85 79 91 40 33 63 84 49 67 98 92 15 26 75 19 82 05 18 78 65 93 61 48 91 43 59 41 70 51 22 15 92 81 67 91 46 98 11 11 65 31 66 10 98 65 83 21 05 56 05 98 73 67 46 74 69 34 08 30 05 52 07 98 32 95 30 94 65 50 24 63 28 81 99 57 +19 23 61 36 09 89 71 98 65 17 30 29 89 26 79 74 94 11 44 48 97 54 81 55 39 66 69 45 28 47 13 86 15 76 74 70 84 32 36 33 79 20 78 14 41 47 89 28 81 05 99 66 81 86 38 26 06 25 13 60 54 55 23 53 27 05 89 25 23 11 13 54 59 54 56 34 16 24 53 44 06 +13 40 57 72 21 15 60 08 04 19 11 98 34 45 09 97 86 71 03 15 56 19 15 44 97 31 90 04 87 87 76 08 12 30 24 62 84 28 12 85 82 53 99 52 13 94 06 65 97 86 09 50 94 68 69 74 30 67 87 94 63 07 78 27 80 36 69 41 06 92 32 78 37 82 30 05 18 87 99 72 19 99 +44 20 55 77 69 91 27 31 28 81 80 27 02 07 97 23 95 98 12 25 75 29 47 71 07 47 78 39 41 59 27 76 13 15 66 61 68 35 69 86 16 53 67 63 99 85 41 56 08 28 33 40 94 76 90 85 31 70 24 65 84 65 99 82 19 25 54 37 21 46 33 02 52 99 51 33 26 04 87 02 08 18 96 +54 42 61 45 91 06 64 79 80 82 32 16 83 63 42 49 19 78 65 97 40 42 14 61 49 34 04 18 25 98 59 30 82 72 26 88 54 36 21 75 03 88 99 53 46 51 55 78 22 94 34 40 68 87 84 25 30 76 25 08 92 84 42 61 40 38 09 99 40 23 29 39 46 55 10 90 35 84 56 70 63 23 91 39 +52 92 03 71 89 07 09 37 68 66 58 20 44 92 51 56 13 71 79 99 26 37 02 06 16 67 36 52 58 16 79 73 56 60 59 27 44 77 94 82 20 50 98 33 09 87 94 37 40 83 64 83 58 85 17 76 53 02 83 52 22 27 39 20 48 92 45 21 09 42 24 23 12 37 52 28 50 78 79 20 86 62 73 20 59 +54 96 80 15 91 90 99 70 10 09 58 90 93 50 81 99 54 38 36 10 30 11 35 84 16 45 82 18 11 97 36 43 96 79 97 65 40 48 23 19 17 31 64 52 65 65 37 32 65 76 99 79 34 65 79 27 55 33 03 01 33 27 61 28 66 08 04 70 49 46 48 83 01 45 19 96 13 81 14 21 31 79 93 85 50 05 +92 92 48 84 59 98 31 53 23 27 15 22 79 95 24 76 05 79 16 93 97 89 38 89 42 83 02 88 94 95 82 21 01 97 48 39 31 78 09 65 50 56 97 61 01 07 65 27 21 23 14 15 80 97 44 78 49 35 33 45 81 74 34 05 31 57 09 38 94 07 69 54 69 32 65 68 46 68 78 90 24 28 49 51 45 86 35 +41 63 89 76 87 31 86 09 46 14 87 82 22 29 47 16 13 10 70 72 82 95 48 64 58 43 13 75 42 69 21 12 67 13 64 85 58 23 98 09 37 76 05 22 31 12 66 50 29 99 86 72 45 25 10 28 19 06 90 43 29 31 67 79 46 25 74 14 97 35 76 37 65 46 23 82 06 22 30 76 93 66 94 17 96 13 20 72 +63 40 78 08 52 09 90 41 70 28 36 14 46 44 85 96 24 52 58 15 87 37 05 98 99 39 13 61 76 38 44 99 83 74 90 22 53 80 56 98 30 51 63 39 44 30 91 91 04 22 27 73 17 35 53 18 35 45 54 56 27 78 48 13 69 36 44 38 71 25 30 56 15 22 73 43 32 69 59 25 93 83 45 11 34 94 44 39 92 +12 36 56 88 13 96 16 12 55 54 11 47 19 78 17 17 68 81 77 51 42 55 99 85 66 27 81 79 93 42 65 61 69 74 14 01 18 56 12 01 58 37 91 22 42 66 83 25 19 04 96 41 25 45 18 69 96 88 36 93 10 12 98 32 44 83 83 04 72 91 04 27 73 07 34 37 71 60 59 31 01 54 54 44 96 93 83 36 04 45 +30 18 22 20 42 96 65 79 17 41 55 69 94 81 29 80 91 31 85 25 47 26 43 49 02 99 34 67 99 76 16 14 15 93 08 32 99 44 61 77 67 50 43 55 87 55 53 72 17 46 62 25 50 99 73 05 93 48 17 31 70 80 59 09 44 59 45 13 74 66 58 94 87 73 16 14 85 38 74 99 64 23 79 28 71 42 20 37 82 31 23 +51 96 39 65 46 71 56 13 29 68 53 86 45 33 51 49 12 91 21 21 76 85 02 17 98 15 46 12 60 21 88 30 92 83 44 59 42 50 27 88 46 86 94 73 45 54 23 24 14 10 94 21 20 34 23 51 04 83 99 75 90 63 60 16 22 33 83 70 11 32 10 50 29 30 83 46 11 05 31 17 86 42 49 01 44 63 28 60 07 78 95 40 +44 61 89 59 04 49 51 27 69 71 46 76 44 04 09 34 56 39 15 06 94 91 75 90 65 27 56 23 74 06 23 33 36 69 14 39 05 34 35 57 33 22 76 46 56 10 61 65 98 09 16 69 04 62 65 18 99 76 49 18 72 66 73 83 82 40 76 31 89 91 27 88 17 35 41 35 32 51 32 67 52 68 74 85 80 57 07 11 62 66 47 22 67 +65 37 19 97 26 17 16 24 24 17 50 37 64 82 24 36 32 11 68 34 69 31 32 89 79 93 96 68 49 90 14 23 04 04 67 99 81 74 70 74 36 96 68 09 64 39 88 35 54 89 96 58 66 27 88 97 32 14 06 35 78 20 71 06 85 66 57 02 58 91 72 05 29 56 73 48 86 52 09 93 22 57 79 42 12 01 31 68 17 59 63 76 07 77 +73 81 14 13 17 20 11 09 01 83 08 85 91 70 84 63 62 77 37 07 47 01 59 95 39 69 39 21 99 09 87 02 97 16 92 36 74 71 90 66 33 73 73 75 52 91 11 12 26 53 05 26 26 48 61 50 90 65 01 87 42 47 74 35 22 73 24 26 56 70 52 05 48 41 31 18 83 27 21 39 80 85 26 08 44 02 71 07 63 22 05 52 19 08 20 +17 25 21 11 72 93 33 49 64 23 53 82 03 13 91 65 85 02 40 05 42 31 77 42 05 36 06 54 04 58 07 76 87 83 25 57 66 12 74 33 85 37 74 32 20 69 03 97 91 68 82 44 19 14 89 28 85 85 80 53 34 87 58 98 88 78 48 65 98 40 11 57 10 67 70 81 60 79 74 72 97 59 79 47 30 20 54 80 89 91 14 05 33 36 79 39 +60 85 59 39 60 07 57 76 77 92 06 35 15 72 23 41 45 52 95 18 64 79 86 53 56 31 69 11 91 31 84 50 44 82 22 81 41 40 30 42 30 91 48 94 74 76 64 58 74 25 96 57 14 19 03 99 28 83 15 75 99 01 89 85 79 50 03 95 32 67 44 08 07 41 62 64 29 20 14 76 26 55 48 71 69 66 19 72 44 25 14 01 48 74 12 98 07 +64 66 84 24 18 16 27 48 20 14 47 69 30 86 48 40 23 16 61 21 51 50 26 47 35 33 91 28 78 64 43 68 04 79 51 08 19 60 52 95 06 68 46 86 35 97 27 58 04 65 30 58 99 12 12 75 91 39 50 31 42 64 70 04 46 07 98 73 98 93 37 89 77 91 64 71 64 65 66 21 78 62 81 74 42 20 83 70 73 95 78 45 92 27 34 53 71 15 +30 11 85 31 34 71 13 48 05 14 44 03 19 67 23 73 19 57 06 90 94 72 57 69 81 62 59 68 88 57 55 69 49 13 07 87 97 80 89 05 71 05 05 26 38 40 16 62 45 99 18 38 98 24 21 26 62 74 69 04 85 57 77 35 58 67 91 79 79 57 86 28 66 34 72 51 76 78 36 95 63 90 08 78 47 63 45 31 22 70 52 48 79 94 15 77 61 67 68 +23 33 44 81 80 92 93 75 94 88 23 61 39 76 22 03 28 94 32 06 49 65 41 34 18 23 08 47 62 60 03 63 33 13 80 52 31 54 73 43 70 26 16 69 57 87 83 31 03 93 70 81 47 95 77 44 29 68 39 51 56 59 63 07 25 70 07 77 43 53 64 03 94 42 95 39 18 01 66 21 16 97 20 50 90 16 70 10 95 69 29 06 25 61 41 26 15 59 63 35 diff --git a/18_b.txt b/18_b.txt new file mode 100644 index 0000000..bc0ed83 --- /dev/null +++ b/18_b.txt @@ -0,0 +1,15 @@ +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 \ No newline at end of file diff --git a/19_saturdays.fs b/19_saturdays.fs new file mode 100644 index 0000000..d8bc56c --- /dev/null +++ b/19_saturdays.fs @@ -0,0 +1,62 @@ +module _19 + +open common + +//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. + +type day = + Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday + +let dayNum d = + match d with + | Sunday -> 0 + | Monday -> 1 + | Tuesday -> 2 + | Wednesday -> 3 + | Thursday -> 4 + | Friday -> 5 + | Saturday -> 6 + +let numDay n = + match n with + | 0 -> Sunday + | 1 -> Monday + | 2 -> Tuesday + | 3 -> Wednesday + | 4 -> Thursday + | 5 -> Friday + | 6 -> Saturday + | _ -> raise(System.ArgumentException("No!")) + +type date = + { Year : int; + Month : int } + +let isLeapYear y = + y % 4 = 0 && (y % 100 <> 0 || y % 400 = 0) + +let getDaysInMonth d = + let thirtyMonths = [|9;4;6;11|]; + match d with + | date when date.Month = 2 && isLeapYear date.Year -> 29 + | date when date.Month = 2 -> 28 + | date when Array.exists ((=) date.Month) thirtyMonths -> 30 + | _ -> 31 + +let getNextFirstDay d daysInMonth = + (daysInMonth + (dayNum d)) % 7 |> numDay + +let firstSaturdays = + //getNextFirstDay Thursday 30 + crossMapList [1900..1999] [1..12] + |> Seq.map (fun (y, m) -> { Year = y; Month = m }) + |> Seq.scan (fun (day:day) ym -> getNextFirstDay day (getDaysInMonth ym)) Monday + |> Seq.filter ((=) Sunday) + |> Seq.length diff --git a/20.fs b/20.fs new file mode 100644 index 0000000..8c519de --- /dev/null +++ b/20.fs @@ -0,0 +1,7 @@ +module _20 + +let getSum = + let n = [ 1I .. 100I ] |> List.fold (*) 1I + (string n).ToCharArray() + |> Array.map (string >> int) + |> Array.fold (fun acc d -> acc + d) 0 \ No newline at end of file diff --git a/21.fs b/21.fs new file mode 100644 index 0000000..bc0a4b7 --- /dev/null +++ b/21.fs @@ -0,0 +1,19 @@ +module _21 + +let amicalbleNumbers len = + // get divisor sums + let dSums = common.divisors len |> Array.map (List.fold (+) 0) + // find amicable ones + [2..len] |> List.filter (fun i -> + dSums.[i] > 0 && + dSums.[i] <= len && + not (i = dSums.[i]) && + i < dSums.[i] && + i = dSums.[dSums.[i]] + ) + |> List.map (fun i -> (i, dSums.[i])) + +let amicalbleSum = + let a = amicalbleNumbers 10000 + let all = List.append (a |> List.map fst) (a |> List.map snd) + all |> List.sum \ No newline at end of file diff --git a/22.fs b/22.fs new file mode 100644 index 0000000..155647d --- /dev/null +++ b/22.fs @@ -0,0 +1,13 @@ +module _22 + +open System.IO + +let nameScores = + let names = + File.ReadAllLines(@"22_names.txt") + |> Seq.collect (fun l -> l.Split(',')) + |> Seq.map (fun w -> w.Substring(1, w.Length - 2)) + |> Seq.sort + names + |> Seq.mapi (fun i name -> (i + 1) * common.wordValue name) + |> Seq.sum \ No newline at end of file diff --git a/22_names.txt b/22_names.txt new file mode 100644 index 0000000..7b8986b --- /dev/null +++ b/22_names.txt @@ -0,0 +1 @@ +"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" \ No newline at end of file diff --git a/23.fs b/23.fs new file mode 100644 index 0000000..46be4ff --- /dev/null +++ b/23.fs @@ -0,0 +1,28 @@ +module _23 + +let abundantUpperLimit = 28123 + +let abundantNumbers = + let dSums = + common.divisors abundantUpperLimit + |> Array.mapi (fun i divisors -> (i, List.fold (+) 0 divisors)) + dSums |> Array.choose ( fun (i, dSum) -> + match dSum with + | abundant when dSum > i -> Some(i) + | _ -> None + ) + +let sumNotAbundant = + let a = abundantNumbers + // add all abubundant numbers together + + let sums = common.crossMap (+) a a |> Seq.distinct |> Seq.toArray + + let sna = + sums + |> Set.ofSeq + |> (-) (Set.ofList [1..abundantUpperLimit]) + |> Set.toSeq + //|> Array.rev + + sna |> Seq.fold (+) 0 \ No newline at end of file diff --git a/24.fs b/24.fs new file mode 100644 index 0000000..b78ec30 --- /dev/null +++ b/24.fs @@ -0,0 +1,5 @@ +module _24 + +let run = + common.permutations ([0..9] |> Set.ofList) + |> Seq.nth 999999 \ No newline at end of file diff --git a/25.fs b/25.fs new file mode 100644 index 0000000..17b1b06 --- /dev/null +++ b/25.fs @@ -0,0 +1,9 @@ +module _25 + +let digitCount (d:bigint) = + (string d).Length + +let find1000 = + common.fibinoci + |> Seq.findIndex (fun f -> digitCount f = 1000) + |> (+) 1 \ No newline at end of file diff --git a/26.fs b/26.fs new file mode 100644 index 0000000..d2f0827 --- /dev/null +++ b/26.fs @@ -0,0 +1,30 @@ +module _26 + +let division d = + let digit = 10 / d + let mutable remainder = 10 % d + let mutable quotient = [(digit, remainder)] + let mutable cycleIndex = None + while remainder <> 0 && cycleIndex = None do + remainder <- remainder * 10 + let digit = remainder / d + remainder <- remainder % d + let next = (digit, remainder) + let cycle = quotient |> List.tryFind (fun e -> e = next) + if cycle <> None then + cycleIndex <- Some( + quotient.Length + - (quotient |> List.findIndex (fun e -> e = next)) + - 1) + else quotient <- next :: quotient + List.rev quotient |> List.map fst, cycleIndex + +let cycleLength d = + match division d with + | (_,None) -> 0 + | (q,Some(c)) -> q.Length - c + +let longestRecurringCycle = + [2..1000] + |> List.mapi ( fun i d -> (i + 2, cycleLength d)) + |> List.maxBy snd \ No newline at end of file diff --git a/27.fs b/27.fs new file mode 100644 index 0000000..2ea9587 --- /dev/null +++ b/27.fs @@ -0,0 +1,24 @@ +module _27 + +open System + +let quadraticConsecutivePrimes = + let range = [-1000..1000] + + let isPrime = common.isPrimeFunByMax 100000 + + let primeLength f = + common.allIntegers + |> Seq.map f + |> Seq.takeWhile isPrime + |> Seq.length + + let abs = common.crossMap (fun a b -> (a,b)) range range + + let quadradic (a,b) n = + n*n + a*n + b + + abs + |> Seq.map (fun ab -> (ab, ab |> (quadradic >> primeLength))) + |> Seq.maxBy snd + |> (fun ((a,b),_)-> a * b) \ No newline at end of file diff --git a/28.fs b/28.fs new file mode 100644 index 0000000..8060452 --- /dev/null +++ b/28.fs @@ -0,0 +1,12 @@ +module _28 + +let sumNum = + let sideLength count = + seq { + for i in 1..(count/2) do + for l in 1..4 do + yield i * 2 + } + sideLength 1001 + |> Seq.scan ( fun sum item -> sum + item) 1 + |> Seq.sum \ No newline at end of file diff --git a/29.fs b/29.fs new file mode 100644 index 0000000..5ee1cb2 --- /dev/null +++ b/29.fs @@ -0,0 +1,6 @@ +module _29 + +let getDistinctTerms = + let range = [2..100] + common.crossMap (fun (a:int) b -> bigint.Pow(bigint a,b)) range range + |> Seq.distinct |> Seq.length diff --git a/30.fs b/30.fs new file mode 100644 index 0000000..7e19be2 --- /dev/null +++ b/30.fs @@ -0,0 +1,16 @@ +module _30 + +let sumOfFifth n = + common.numDigits n + |> Seq.map (fun d -> System.Math.Pow(float d, 5.0)) + |> Seq.sum + |> int + +let isSumOfFifth n = + sumOfFifth n = n + +let sumOfSumOfFifthNumbers = + [2..200000] + |> List.map (fun n -> (n,isSumOfFifth n)) + |> List.filter (fun r -> snd r) + |> List.sumBy fst \ No newline at end of file diff --git a/31.fs b/31.fs new file mode 100644 index 0000000..343318d --- /dev/null +++ b/31.fs @@ -0,0 +1,13 @@ +module _31 + +let getCurrencyCombos = + let total, coins = 200, [1;2;5;10;20;50;100;200] + + let rec count (n, coins) = + match n, coins with + | 0,_ -> 1 + | n,_ when n < 0 -> 0 + | n,[] when n >= 1 -> 0 + | n,coins -> count (n, coins |> List.tail) + count (n - (coins |> List.head),coins) + + count (total, coins) \ No newline at end of file diff --git a/32.fs b/32.fs new file mode 100644 index 0000000..aa4f6ab --- /dev/null +++ b/32.fs @@ -0,0 +1,12 @@ +module _32 + +open common + +let panDigitalProduct = + crossMapList [12..98] [123..987] + |> Seq.append (crossMapList [1..9] [1234..9876]) + |> Seq.map (fun (x,y) -> [x;y;x*y]) + |> Seq.filter ((List.map unbox) >> isPanDigitalGroup) + |> Seq.map (fun l -> l.[2]) + |> Seq.distinct + |> Seq.sum diff --git a/33_cancelling.fs b/33_cancelling.fs new file mode 100644 index 0000000..c525a76 --- /dev/null +++ b/33_cancelling.fs @@ -0,0 +1,37 @@ +module _33 + +open common + +let cancelling = + let nds = seq { + for d in 11..99 do + if d % 10 <> 0 then + for n in 11..(d-1) do + if n % 10 <> 0 then + yield (n,d) + } + + let cancelCommonDigits (n,d) = + let nd = numDigits n + let dd = numDigits d + seq { + for ndi in nd do + for ddi in dd do + if ndi = ddi then + let ndmi = Array.filter ((<>) ndi) nd + let ddmi = Array.filter ((<>) ddi) dd + if (ndmi.Length > 0 && ddmi.Length > 0) then + yield (digitsNum ndmi, digitsNum ddmi) + } + + nds + |> Seq.collect (fun (n,d) -> + let f = float n/float d + cancelCommonDigits (n,d) + |> Seq.map (fun (cn,cd) -> (float cn/float cd,cn,cd,n,d)) + |> Seq.filter (fun (cf,_,_,_,_) -> cf = f) + ) + |> Seq.fold (fun (pn, pd) (_,n,d,_,_) -> (pn * n, pd * d)) (1,1) + |> Fraction.reduce + |> snd + diff --git a/34.fs b/34.fs new file mode 100644 index 0000000..10e18b8 --- /dev/null +++ b/34.fs @@ -0,0 +1,18 @@ +module _34 + +let numSumDigitFactorials = + let digitFactorials = + [|0..9|] + |> Array.map common.factorial + + let digitFactorialSum n = + n + |> common.numDigits + |> Seq.map (Array.get digitFactorials) + |> Seq.sum + + [3..1000000] + |> List.map (fun n -> (n, digitFactorialSum n)) + |> List.filter (fun n -> fst n = snd n) + |> List.sumBy fst + \ No newline at end of file diff --git a/35.fs b/35.fs new file mode 100644 index 0000000..29b82c1 --- /dev/null +++ b/35.fs @@ -0,0 +1,26 @@ +module _35 + +open common + +let circularPrime = + let rotations (s:string) = + let len = s.Length + seq { + for n in 0..(len - 1) do + yield s.Substring(len - n) + + s.Substring(0, len - n) + } |> Seq.toList + + let oddOr2 i = i % 2 = 1 || i = 2 + + let pa = + primeArray 1000000 + |> Array.filter (numDigits >> (Array.forall oddOr2)) + |> Array.map (string) + + let isPrime = isPrimeFunByArray pa + pa + |> Array.map rotations + |> Array.filter (List.forall isPrime) + |> Array.map (Seq.nth 0) + |> Array.length \ No newline at end of file diff --git a/36.fs b/36.fs new file mode 100644 index 0000000..21103d4 --- /dev/null +++ b/36.fs @@ -0,0 +1,12 @@ +module _36 + +let binary (n:int) = + System.Convert.ToString(n,2) + +let palindromicBase10and2Sum = + [1..1000000] + |> List.map (fun n -> (string n, binary n)) + |> List.filter (fst >> common.isPalindrome) + |> List.filter (snd >> common.isPalindrome) + |> List.map (fst >> int) + |> List.sum \ No newline at end of file diff --git a/37.fs b/37.fs new file mode 100644 index 0000000..00a598a --- /dev/null +++ b/37.fs @@ -0,0 +1,26 @@ +module _37 + +let truncations i = + let s = string i + let len = s.Length + seq { + for n in 0..(len - 1) do + yield s.Substring(0, len - n) + if (n > 0) then + yield s.Substring(len - n) + } |> Seq.distinct |> Seq.toList |> List.map (int) + +let truncatablePrimes = + let oddOr2 i = i % 2 = 1 || i = 2 + + let pa = + common.primeArray 1000000 + |> Array.filter (common.numDigits >> (Array.forall oddOr2)) + + let isPrime n = Array.exists (fun p -> p = n) pa + pa + |> Array.filter ((<) 10) + |> Array.map truncations + |> Array.filter (List.forall isPrime) + |> Array.map (Seq.nth 0) + |> Array.sum diff --git a/39.fs b/39.fs new file mode 100644 index 0000000..1850c3f --- /dev/null +++ b/39.fs @@ -0,0 +1,26 @@ +module _39 + +let rightTriPerimeter = + + let pythagreonTriple m n = + (m * m - n * n, 2 * m * n, m * m + n * n) + + let sumTriple (a,b,c) = + a + b + c + + let parity a b = + (a + b) % 2 = 1 + + let multiples lim n = + seq { n .. n .. lim } + + common.coprimeArray 33 + |> Array.mapi (fun i cp -> + cp + |> Seq.filter (parity i) + |> Seq.map ((pythagreonTriple i) >> sumTriple) + |> Seq.collect (multiples 1000) + ) + |> Seq.collect (fun l -> l) + |> Seq.groupBy (fun n -> n) + |> Seq.maxBy (fun g -> Seq.length (snd g)) diff --git a/4.ps1 b/4.ps1 new file mode 100644 index 0000000..51c19a9 --- /dev/null +++ b/4.ps1 @@ -0,0 +1,28 @@ +function IsPalendrome([string] $str) +{ + for ($i = 0; $i -lt $str.Length/2; $i++) + { + if ($str[$i] -ne $str[$str.Length - 1 - $i]) + { + return $FALSE; + } + } + return $TRUE; +} + +$greatest = [int]::minvalue +for ($j = 999; $j -gt 99; $j--) +{ + for ($k = $j; $k -lt 1000; $k++) + { + $mul = $j * $k + if (IsPalendrome $mul) + { + if ($mul -gt $greatest) + { + $greatest = $mul + write-host "$j * $k = $mul" + } + } + } +} \ No newline at end of file diff --git a/40.fs b/40.fs new file mode 100644 index 0000000..26c9086 --- /dev/null +++ b/40.fs @@ -0,0 +1,8 @@ +module _40 + +let positiveIntegerConcat = + common.allIntegers + |> Seq.collect common.numDigits + |> common.takeIndexes ([1;10;100;1000;10000;100000;1000000] + |> List.map (fun d -> d - 1)) + |> Seq.fold (*) 1 \ No newline at end of file diff --git a/41.fs b/41.fs new file mode 100644 index 0000000..c0d2559 --- /dev/null +++ b/41.fs @@ -0,0 +1,15 @@ +module _41 + +open common + +let panDigital = + +// let numListToBigint s = +// s +// |> List.map string +// |> List.fold (+) "" +// |> bigint.Parse + + primeArray 7654321 + |> arrayToRevSeq + |> Seq.filter isPanDigital diff --git a/42.fs b/42.fs new file mode 100644 index 0000000..c744641 --- /dev/null +++ b/42.fs @@ -0,0 +1,20 @@ +module _42 + +open System.IO + +let triangleWords = + let words = + File.ReadAllLines(@"42_words.txt") + |> Seq.collect (fun l -> l.Split(',')) + |> Seq.map (fun w -> w.Substring(1, w.Length - 2)) + + let triangleNumbers = + common.allIntegers + |> Seq.map common.triangleNumber + |> Seq.takeWhile ((>) 2000I) + + words + |> Seq.map (fun w -> (w, common.wordValue w |> (fun n -> bigint(n)))) + |> Seq.toArray + |> Seq.filter (fun wv -> Seq.exists ((=) (snd wv)) triangleNumbers) + |> Seq.length diff --git a/42_words.txt b/42_words.txt new file mode 100644 index 0000000..7177624 --- /dev/null +++ b/42_words.txt @@ -0,0 +1 @@ +"A","ABILITY","ABLE","ABOUT","ABOVE","ABSENCE","ABSOLUTELY","ACADEMIC","ACCEPT","ACCESS","ACCIDENT","ACCOMPANY","ACCORDING","ACCOUNT","ACHIEVE","ACHIEVEMENT","ACID","ACQUIRE","ACROSS","ACT","ACTION","ACTIVE","ACTIVITY","ACTUAL","ACTUALLY","ADD","ADDITION","ADDITIONAL","ADDRESS","ADMINISTRATION","ADMIT","ADOPT","ADULT","ADVANCE","ADVANTAGE","ADVICE","ADVISE","AFFAIR","AFFECT","AFFORD","AFRAID","AFTER","AFTERNOON","AFTERWARDS","AGAIN","AGAINST","AGE","AGENCY","AGENT","AGO","AGREE","AGREEMENT","AHEAD","AID","AIM","AIR","AIRCRAFT","ALL","ALLOW","ALMOST","ALONE","ALONG","ALREADY","ALRIGHT","ALSO","ALTERNATIVE","ALTHOUGH","ALWAYS","AMONG","AMONGST","AMOUNT","AN","ANALYSIS","ANCIENT","AND","ANIMAL","ANNOUNCE","ANNUAL","ANOTHER","ANSWER","ANY","ANYBODY","ANYONE","ANYTHING","ANYWAY","APART","APPARENT","APPARENTLY","APPEAL","APPEAR","APPEARANCE","APPLICATION","APPLY","APPOINT","APPOINTMENT","APPROACH","APPROPRIATE","APPROVE","AREA","ARGUE","ARGUMENT","ARISE","ARM","ARMY","AROUND","ARRANGE","ARRANGEMENT","ARRIVE","ART","ARTICLE","ARTIST","AS","ASK","ASPECT","ASSEMBLY","ASSESS","ASSESSMENT","ASSET","ASSOCIATE","ASSOCIATION","ASSUME","ASSUMPTION","AT","ATMOSPHERE","ATTACH","ATTACK","ATTEMPT","ATTEND","ATTENTION","ATTITUDE","ATTRACT","ATTRACTIVE","AUDIENCE","AUTHOR","AUTHORITY","AVAILABLE","AVERAGE","AVOID","AWARD","AWARE","AWAY","AYE","BABY","BACK","BACKGROUND","BAD","BAG","BALANCE","BALL","BAND","BANK","BAR","BASE","BASIC","BASIS","BATTLE","BE","BEAR","BEAT","BEAUTIFUL","BECAUSE","BECOME","BED","BEDROOM","BEFORE","BEGIN","BEGINNING","BEHAVIOUR","BEHIND","BELIEF","BELIEVE","BELONG","BELOW","BENEATH","BENEFIT","BESIDE","BEST","BETTER","BETWEEN","BEYOND","BIG","BILL","BIND","BIRD","BIRTH","BIT","BLACK","BLOCK","BLOOD","BLOODY","BLOW","BLUE","BOARD","BOAT","BODY","BONE","BOOK","BORDER","BOTH","BOTTLE","BOTTOM","BOX","BOY","BRAIN","BRANCH","BREAK","BREATH","BRIDGE","BRIEF","BRIGHT","BRING","BROAD","BROTHER","BUDGET","BUILD","BUILDING","BURN","BUS","BUSINESS","BUSY","BUT","BUY","BY","CABINET","CALL","CAMPAIGN","CAN","CANDIDATE","CAPABLE","CAPACITY","CAPITAL","CAR","CARD","CARE","CAREER","CAREFUL","CAREFULLY","CARRY","CASE","CASH","CAT","CATCH","CATEGORY","CAUSE","CELL","CENTRAL","CENTRE","CENTURY","CERTAIN","CERTAINLY","CHAIN","CHAIR","CHAIRMAN","CHALLENGE","CHANCE","CHANGE","CHANNEL","CHAPTER","CHARACTER","CHARACTERISTIC","CHARGE","CHEAP","CHECK","CHEMICAL","CHIEF","CHILD","CHOICE","CHOOSE","CHURCH","CIRCLE","CIRCUMSTANCE","CITIZEN","CITY","CIVIL","CLAIM","CLASS","CLEAN","CLEAR","CLEARLY","CLIENT","CLIMB","CLOSE","CLOSELY","CLOTHES","CLUB","COAL","CODE","COFFEE","COLD","COLLEAGUE","COLLECT","COLLECTION","COLLEGE","COLOUR","COMBINATION","COMBINE","COME","COMMENT","COMMERCIAL","COMMISSION","COMMIT","COMMITMENT","COMMITTEE","COMMON","COMMUNICATION","COMMUNITY","COMPANY","COMPARE","COMPARISON","COMPETITION","COMPLETE","COMPLETELY","COMPLEX","COMPONENT","COMPUTER","CONCENTRATE","CONCENTRATION","CONCEPT","CONCERN","CONCERNED","CONCLUDE","CONCLUSION","CONDITION","CONDUCT","CONFERENCE","CONFIDENCE","CONFIRM","CONFLICT","CONGRESS","CONNECT","CONNECTION","CONSEQUENCE","CONSERVATIVE","CONSIDER","CONSIDERABLE","CONSIDERATION","CONSIST","CONSTANT","CONSTRUCTION","CONSUMER","CONTACT","CONTAIN","CONTENT","CONTEXT","CONTINUE","CONTRACT","CONTRAST","CONTRIBUTE","CONTRIBUTION","CONTROL","CONVENTION","CONVERSATION","COPY","CORNER","CORPORATE","CORRECT","COS","COST","COULD","COUNCIL","COUNT","COUNTRY","COUNTY","COUPLE","COURSE","COURT","COVER","CREATE","CREATION","CREDIT","CRIME","CRIMINAL","CRISIS","CRITERION","CRITICAL","CRITICISM","CROSS","CROWD","CRY","CULTURAL","CULTURE","CUP","CURRENT","CURRENTLY","CURRICULUM","CUSTOMER","CUT","DAMAGE","DANGER","DANGEROUS","DARK","DATA","DATE","DAUGHTER","DAY","DEAD","DEAL","DEATH","DEBATE","DEBT","DECADE","DECIDE","DECISION","DECLARE","DEEP","DEFENCE","DEFENDANT","DEFINE","DEFINITION","DEGREE","DELIVER","DEMAND","DEMOCRATIC","DEMONSTRATE","DENY","DEPARTMENT","DEPEND","DEPUTY","DERIVE","DESCRIBE","DESCRIPTION","DESIGN","DESIRE","DESK","DESPITE","DESTROY","DETAIL","DETAILED","DETERMINE","DEVELOP","DEVELOPMENT","DEVICE","DIE","DIFFERENCE","DIFFERENT","DIFFICULT","DIFFICULTY","DINNER","DIRECT","DIRECTION","DIRECTLY","DIRECTOR","DISAPPEAR","DISCIPLINE","DISCOVER","DISCUSS","DISCUSSION","DISEASE","DISPLAY","DISTANCE","DISTINCTION","DISTRIBUTION","DISTRICT","DIVIDE","DIVISION","DO","DOCTOR","DOCUMENT","DOG","DOMESTIC","DOOR","DOUBLE","DOUBT","DOWN","DRAW","DRAWING","DREAM","DRESS","DRINK","DRIVE","DRIVER","DROP","DRUG","DRY","DUE","DURING","DUTY","EACH","EAR","EARLY","EARN","EARTH","EASILY","EAST","EASY","EAT","ECONOMIC","ECONOMY","EDGE","EDITOR","EDUCATION","EDUCATIONAL","EFFECT","EFFECTIVE","EFFECTIVELY","EFFORT","EGG","EITHER","ELDERLY","ELECTION","ELEMENT","ELSE","ELSEWHERE","EMERGE","EMPHASIS","EMPLOY","EMPLOYEE","EMPLOYER","EMPLOYMENT","EMPTY","ENABLE","ENCOURAGE","END","ENEMY","ENERGY","ENGINE","ENGINEERING","ENJOY","ENOUGH","ENSURE","ENTER","ENTERPRISE","ENTIRE","ENTIRELY","ENTITLE","ENTRY","ENVIRONMENT","ENVIRONMENTAL","EQUAL","EQUALLY","EQUIPMENT","ERROR","ESCAPE","ESPECIALLY","ESSENTIAL","ESTABLISH","ESTABLISHMENT","ESTATE","ESTIMATE","EVEN","EVENING","EVENT","EVENTUALLY","EVER","EVERY","EVERYBODY","EVERYONE","EVERYTHING","EVIDENCE","EXACTLY","EXAMINATION","EXAMINE","EXAMPLE","EXCELLENT","EXCEPT","EXCHANGE","EXECUTIVE","EXERCISE","EXHIBITION","EXIST","EXISTENCE","EXISTING","EXPECT","EXPECTATION","EXPENDITURE","EXPENSE","EXPENSIVE","EXPERIENCE","EXPERIMENT","EXPERT","EXPLAIN","EXPLANATION","EXPLORE","EXPRESS","EXPRESSION","EXTEND","EXTENT","EXTERNAL","EXTRA","EXTREMELY","EYE","FACE","FACILITY","FACT","FACTOR","FACTORY","FAIL","FAILURE","FAIR","FAIRLY","FAITH","FALL","FAMILIAR","FAMILY","FAMOUS","FAR","FARM","FARMER","FASHION","FAST","FATHER","FAVOUR","FEAR","FEATURE","FEE","FEEL","FEELING","FEMALE","FEW","FIELD","FIGHT","FIGURE","FILE","FILL","FILM","FINAL","FINALLY","FINANCE","FINANCIAL","FIND","FINDING","FINE","FINGER","FINISH","FIRE","FIRM","FIRST","FISH","FIT","FIX","FLAT","FLIGHT","FLOOR","FLOW","FLOWER","FLY","FOCUS","FOLLOW","FOLLOWING","FOOD","FOOT","FOOTBALL","FOR","FORCE","FOREIGN","FOREST","FORGET","FORM","FORMAL","FORMER","FORWARD","FOUNDATION","FREE","FREEDOM","FREQUENTLY","FRESH","FRIEND","FROM","FRONT","FRUIT","FUEL","FULL","FULLY","FUNCTION","FUND","FUNNY","FURTHER","FUTURE","GAIN","GAME","GARDEN","GAS","GATE","GATHER","GENERAL","GENERALLY","GENERATE","GENERATION","GENTLEMAN","GET","GIRL","GIVE","GLASS","GO","GOAL","GOD","GOLD","GOOD","GOVERNMENT","GRANT","GREAT","GREEN","GREY","GROUND","GROUP","GROW","GROWING","GROWTH","GUEST","GUIDE","GUN","HAIR","HALF","HALL","HAND","HANDLE","HANG","HAPPEN","HAPPY","HARD","HARDLY","HATE","HAVE","HE","HEAD","HEALTH","HEAR","HEART","HEAT","HEAVY","HELL","HELP","HENCE","HER","HERE","HERSELF","HIDE","HIGH","HIGHLY","HILL","HIM","HIMSELF","HIS","HISTORICAL","HISTORY","HIT","HOLD","HOLE","HOLIDAY","HOME","HOPE","HORSE","HOSPITAL","HOT","HOTEL","HOUR","HOUSE","HOUSEHOLD","HOUSING","HOW","HOWEVER","HUGE","HUMAN","HURT","HUSBAND","I","IDEA","IDENTIFY","IF","IGNORE","ILLUSTRATE","IMAGE","IMAGINE","IMMEDIATE","IMMEDIATELY","IMPACT","IMPLICATION","IMPLY","IMPORTANCE","IMPORTANT","IMPOSE","IMPOSSIBLE","IMPRESSION","IMPROVE","IMPROVEMENT","IN","INCIDENT","INCLUDE","INCLUDING","INCOME","INCREASE","INCREASED","INCREASINGLY","INDEED","INDEPENDENT","INDEX","INDICATE","INDIVIDUAL","INDUSTRIAL","INDUSTRY","INFLUENCE","INFORM","INFORMATION","INITIAL","INITIATIVE","INJURY","INSIDE","INSIST","INSTANCE","INSTEAD","INSTITUTE","INSTITUTION","INSTRUCTION","INSTRUMENT","INSURANCE","INTEND","INTENTION","INTEREST","INTERESTED","INTERESTING","INTERNAL","INTERNATIONAL","INTERPRETATION","INTERVIEW","INTO","INTRODUCE","INTRODUCTION","INVESTIGATE","INVESTIGATION","INVESTMENT","INVITE","INVOLVE","IRON","IS","ISLAND","ISSUE","IT","ITEM","ITS","ITSELF","JOB","JOIN","JOINT","JOURNEY","JUDGE","JUMP","JUST","JUSTICE","KEEP","KEY","KID","KILL","KIND","KING","KITCHEN","KNEE","KNOW","KNOWLEDGE","LABOUR","LACK","LADY","LAND","LANGUAGE","LARGE","LARGELY","LAST","LATE","LATER","LATTER","LAUGH","LAUNCH","LAW","LAWYER","LAY","LEAD","LEADER","LEADERSHIP","LEADING","LEAF","LEAGUE","LEAN","LEARN","LEAST","LEAVE","LEFT","LEG","LEGAL","LEGISLATION","LENGTH","LESS","LET","LETTER","LEVEL","LIABILITY","LIBERAL","LIBRARY","LIE","LIFE","LIFT","LIGHT","LIKE","LIKELY","LIMIT","LIMITED","LINE","LINK","LIP","LIST","LISTEN","LITERATURE","LITTLE","LIVE","LIVING","LOAN","LOCAL","LOCATION","LONG","LOOK","LORD","LOSE","LOSS","LOT","LOVE","LOVELY","LOW","LUNCH","MACHINE","MAGAZINE","MAIN","MAINLY","MAINTAIN","MAJOR","MAJORITY","MAKE","MALE","MAN","MANAGE","MANAGEMENT","MANAGER","MANNER","MANY","MAP","MARK","MARKET","MARRIAGE","MARRIED","MARRY","MASS","MASTER","MATCH","MATERIAL","MATTER","MAY","MAYBE","ME","MEAL","MEAN","MEANING","MEANS","MEANWHILE","MEASURE","MECHANISM","MEDIA","MEDICAL","MEET","MEETING","MEMBER","MEMBERSHIP","MEMORY","MENTAL","MENTION","MERELY","MESSAGE","METAL","METHOD","MIDDLE","MIGHT","MILE","MILITARY","MILK","MIND","MINE","MINISTER","MINISTRY","MINUTE","MISS","MISTAKE","MODEL","MODERN","MODULE","MOMENT","MONEY","MONTH","MORE","MORNING","MOST","MOTHER","MOTION","MOTOR","MOUNTAIN","MOUTH","MOVE","MOVEMENT","MUCH","MURDER","MUSEUM","MUSIC","MUST","MY","MYSELF","NAME","NARROW","NATION","NATIONAL","NATURAL","NATURE","NEAR","NEARLY","NECESSARILY","NECESSARY","NECK","NEED","NEGOTIATION","NEIGHBOUR","NEITHER","NETWORK","NEVER","NEVERTHELESS","NEW","NEWS","NEWSPAPER","NEXT","NICE","NIGHT","NO","NOBODY","NOD","NOISE","NONE","NOR","NORMAL","NORMALLY","NORTH","NORTHERN","NOSE","NOT","NOTE","NOTHING","NOTICE","NOTION","NOW","NUCLEAR","NUMBER","NURSE","OBJECT","OBJECTIVE","OBSERVATION","OBSERVE","OBTAIN","OBVIOUS","OBVIOUSLY","OCCASION","OCCUR","ODD","OF","OFF","OFFENCE","OFFER","OFFICE","OFFICER","OFFICIAL","OFTEN","OIL","OKAY","OLD","ON","ONCE","ONE","ONLY","ONTO","OPEN","OPERATE","OPERATION","OPINION","OPPORTUNITY","OPPOSITION","OPTION","OR","ORDER","ORDINARY","ORGANISATION","ORGANISE","ORGANIZATION","ORIGIN","ORIGINAL","OTHER","OTHERWISE","OUGHT","OUR","OURSELVES","OUT","OUTCOME","OUTPUT","OUTSIDE","OVER","OVERALL","OWN","OWNER","PACKAGE","PAGE","PAIN","PAINT","PAINTING","PAIR","PANEL","PAPER","PARENT","PARK","PARLIAMENT","PART","PARTICULAR","PARTICULARLY","PARTLY","PARTNER","PARTY","PASS","PASSAGE","PAST","PATH","PATIENT","PATTERN","PAY","PAYMENT","PEACE","PENSION","PEOPLE","PER","PERCENT","PERFECT","PERFORM","PERFORMANCE","PERHAPS","PERIOD","PERMANENT","PERSON","PERSONAL","PERSUADE","PHASE","PHONE","PHOTOGRAPH","PHYSICAL","PICK","PICTURE","PIECE","PLACE","PLAN","PLANNING","PLANT","PLASTIC","PLATE","PLAY","PLAYER","PLEASE","PLEASURE","PLENTY","PLUS","POCKET","POINT","POLICE","POLICY","POLITICAL","POLITICS","POOL","POOR","POPULAR","POPULATION","POSITION","POSITIVE","POSSIBILITY","POSSIBLE","POSSIBLY","POST","POTENTIAL","POUND","POWER","POWERFUL","PRACTICAL","PRACTICE","PREFER","PREPARE","PRESENCE","PRESENT","PRESIDENT","PRESS","PRESSURE","PRETTY","PREVENT","PREVIOUS","PREVIOUSLY","PRICE","PRIMARY","PRIME","PRINCIPLE","PRIORITY","PRISON","PRISONER","PRIVATE","PROBABLY","PROBLEM","PROCEDURE","PROCESS","PRODUCE","PRODUCT","PRODUCTION","PROFESSIONAL","PROFIT","PROGRAM","PROGRAMME","PROGRESS","PROJECT","PROMISE","PROMOTE","PROPER","PROPERLY","PROPERTY","PROPORTION","PROPOSE","PROPOSAL","PROSPECT","PROTECT","PROTECTION","PROVE","PROVIDE","PROVIDED","PROVISION","PUB","PUBLIC","PUBLICATION","PUBLISH","PULL","PUPIL","PURPOSE","PUSH","PUT","QUALITY","QUARTER","QUESTION","QUICK","QUICKLY","QUIET","QUITE","RACE","RADIO","RAILWAY","RAIN","RAISE","RANGE","RAPIDLY","RARE","RATE","RATHER","REACH","REACTION","READ","READER","READING","READY","REAL","REALISE","REALITY","REALIZE","REALLY","REASON","REASONABLE","RECALL","RECEIVE","RECENT","RECENTLY","RECOGNISE","RECOGNITION","RECOGNIZE","RECOMMEND","RECORD","RECOVER","RED","REDUCE","REDUCTION","REFER","REFERENCE","REFLECT","REFORM","REFUSE","REGARD","REGION","REGIONAL","REGULAR","REGULATION","REJECT","RELATE","RELATION","RELATIONSHIP","RELATIVE","RELATIVELY","RELEASE","RELEVANT","RELIEF","RELIGION","RELIGIOUS","RELY","REMAIN","REMEMBER","REMIND","REMOVE","REPEAT","REPLACE","REPLY","REPORT","REPRESENT","REPRESENTATION","REPRESENTATIVE","REQUEST","REQUIRE","REQUIREMENT","RESEARCH","RESOURCE","RESPECT","RESPOND","RESPONSE","RESPONSIBILITY","RESPONSIBLE","REST","RESTAURANT","RESULT","RETAIN","RETURN","REVEAL","REVENUE","REVIEW","REVOLUTION","RICH","RIDE","RIGHT","RING","RISE","RISK","RIVER","ROAD","ROCK","ROLE","ROLL","ROOF","ROOM","ROUND","ROUTE","ROW","ROYAL","RULE","RUN","RURAL","SAFE","SAFETY","SALE","SAME","SAMPLE","SATISFY","SAVE","SAY","SCALE","SCENE","SCHEME","SCHOOL","SCIENCE","SCIENTIFIC","SCIENTIST","SCORE","SCREEN","SEA","SEARCH","SEASON","SEAT","SECOND","SECONDARY","SECRETARY","SECTION","SECTOR","SECURE","SECURITY","SEE","SEEK","SEEM","SELECT","SELECTION","SELL","SEND","SENIOR","SENSE","SENTENCE","SEPARATE","SEQUENCE","SERIES","SERIOUS","SERIOUSLY","SERVANT","SERVE","SERVICE","SESSION","SET","SETTLE","SETTLEMENT","SEVERAL","SEVERE","SEX","SEXUAL","SHAKE","SHALL","SHAPE","SHARE","SHE","SHEET","SHIP","SHOE","SHOOT","SHOP","SHORT","SHOT","SHOULD","SHOULDER","SHOUT","SHOW","SHUT","SIDE","SIGHT","SIGN","SIGNAL","SIGNIFICANCE","SIGNIFICANT","SILENCE","SIMILAR","SIMPLE","SIMPLY","SINCE","SING","SINGLE","SIR","SISTER","SIT","SITE","SITUATION","SIZE","SKILL","SKIN","SKY","SLEEP","SLIGHTLY","SLIP","SLOW","SLOWLY","SMALL","SMILE","SO","SOCIAL","SOCIETY","SOFT","SOFTWARE","SOIL","SOLDIER","SOLICITOR","SOLUTION","SOME","SOMEBODY","SOMEONE","SOMETHING","SOMETIMES","SOMEWHAT","SOMEWHERE","SON","SONG","SOON","SORRY","SORT","SOUND","SOURCE","SOUTH","SOUTHERN","SPACE","SPEAK","SPEAKER","SPECIAL","SPECIES","SPECIFIC","SPEECH","SPEED","SPEND","SPIRIT","SPORT","SPOT","SPREAD","SPRING","STAFF","STAGE","STAND","STANDARD","STAR","START","STATE","STATEMENT","STATION","STATUS","STAY","STEAL","STEP","STICK","STILL","STOCK","STONE","STOP","STORE","STORY","STRAIGHT","STRANGE","STRATEGY","STREET","STRENGTH","STRIKE","STRONG","STRONGLY","STRUCTURE","STUDENT","STUDIO","STUDY","STUFF","STYLE","SUBJECT","SUBSTANTIAL","SUCCEED","SUCCESS","SUCCESSFUL","SUCH","SUDDENLY","SUFFER","SUFFICIENT","SUGGEST","SUGGESTION","SUITABLE","SUM","SUMMER","SUN","SUPPLY","SUPPORT","SUPPOSE","SURE","SURELY","SURFACE","SURPRISE","SURROUND","SURVEY","SURVIVE","SWITCH","SYSTEM","TABLE","TAKE","TALK","TALL","TAPE","TARGET","TASK","TAX","TEA","TEACH","TEACHER","TEACHING","TEAM","TEAR","TECHNICAL","TECHNIQUE","TECHNOLOGY","TELEPHONE","TELEVISION","TELL","TEMPERATURE","TEND","TERM","TERMS","TERRIBLE","TEST","TEXT","THAN","THANK","THANKS","THAT","THE","THEATRE","THEIR","THEM","THEME","THEMSELVES","THEN","THEORY","THERE","THEREFORE","THESE","THEY","THIN","THING","THINK","THIS","THOSE","THOUGH","THOUGHT","THREAT","THREATEN","THROUGH","THROUGHOUT","THROW","THUS","TICKET","TIME","TINY","TITLE","TO","TODAY","TOGETHER","TOMORROW","TONE","TONIGHT","TOO","TOOL","TOOTH","TOP","TOTAL","TOTALLY","TOUCH","TOUR","TOWARDS","TOWN","TRACK","TRADE","TRADITION","TRADITIONAL","TRAFFIC","TRAIN","TRAINING","TRANSFER","TRANSPORT","TRAVEL","TREAT","TREATMENT","TREATY","TREE","TREND","TRIAL","TRIP","TROOP","TROUBLE","TRUE","TRUST","TRUTH","TRY","TURN","TWICE","TYPE","TYPICAL","UNABLE","UNDER","UNDERSTAND","UNDERSTANDING","UNDERTAKE","UNEMPLOYMENT","UNFORTUNATELY","UNION","UNIT","UNITED","UNIVERSITY","UNLESS","UNLIKELY","UNTIL","UP","UPON","UPPER","URBAN","US","USE","USED","USEFUL","USER","USUAL","USUALLY","VALUE","VARIATION","VARIETY","VARIOUS","VARY","VAST","VEHICLE","VERSION","VERY","VIA","VICTIM","VICTORY","VIDEO","VIEW","VILLAGE","VIOLENCE","VISION","VISIT","VISITOR","VITAL","VOICE","VOLUME","VOTE","WAGE","WAIT","WALK","WALL","WANT","WAR","WARM","WARN","WASH","WATCH","WATER","WAVE","WAY","WE","WEAK","WEAPON","WEAR","WEATHER","WEEK","WEEKEND","WEIGHT","WELCOME","WELFARE","WELL","WEST","WESTERN","WHAT","WHATEVER","WHEN","WHERE","WHEREAS","WHETHER","WHICH","WHILE","WHILST","WHITE","WHO","WHOLE","WHOM","WHOSE","WHY","WIDE","WIDELY","WIFE","WILD","WILL","WIN","WIND","WINDOW","WINE","WING","WINNER","WINTER","WISH","WITH","WITHDRAW","WITHIN","WITHOUT","WOMAN","WONDER","WONDERFUL","WOOD","WORD","WORK","WORKER","WORKING","WORKS","WORLD","WORRY","WORTH","WOULD","WRITE","WRITER","WRITING","WRONG","YARD","YEAH","YEAR","YES","YESTERDAY","YET","YOU","YOUNG","YOUR","YOURSELF","YOUTH" \ No newline at end of file diff --git a/43.fs b/43.fs new file mode 100644 index 0000000..64e4eb8 --- /dev/null +++ b/43.fs @@ -0,0 +1,28 @@ +module _43 +open System +open common +let pandigitalDivisible = + let comb (i : string) (j : string) = + match i, j with + | i,j when i.[1] = j.[0] && i.[2] = j.[1] -> Some(String.Concat((string i.[0]), j)) + | _ -> None + + let prMul = + [17;13;11;7;5;3;2] + |> List.map + ( + multiples + >> Seq.map string + >> Seq.skipWhile (String.length >> (>) 3) + >> Seq.takeWhile (String.length >> (>) 4) + ) + + + +// let lnth i l = List.nth l i +// let lnthDivs i n l = lnth i l >> (%) n >> (=) 0 +// [0..9] |> Set.ofSeq |> permutations +// |> Seq.filter (lnth 0 >> (<>) 0) +// |> Seq.filter (lnth 3 >> (%) 2 >> (=) 0) +// //|> Seq.filter (lnth 5 >> (%) 5 >> (=) 0) +// |> Seq.length diff --git a/45.fs b/45.fs new file mode 100644 index 0000000..4048b48 --- /dev/null +++ b/45.fs @@ -0,0 +1,18 @@ +module _45 + +let triPentHex = + let limit = 100000 + let opDict (op : int -> bigint) = + [1..limit] + |> Seq.map (fun n -> (op n, n)) + |> dict + + let p = opDict common.pentagonalNumber + let h = opDict common.hexagonalNumber + + common.allIntegers + |> Seq.skip 284 + |> Seq.map (fun i -> (common.triangleNumber i, i)) + |> Seq.filter (fst >> (fun t -> p.ContainsKey(t) && h.ContainsKey(t))) + |> Seq.map (fun t -> (snd t, p.Item(fst t), h.Item(fst t), fst t)) + |> Seq.take 2 \ No newline at end of file diff --git a/46.fs b/46.fs new file mode 100644 index 0000000..4467fc5 --- /dev/null +++ b/46.fs @@ -0,0 +1,22 @@ +module _46 + +let smallestOddCompositeNotSumOfPrimeTwiceSquare = + let ceiling = 10000 + + let composites = + common.compositeArray ceiling + |> Seq.filter (fun c -> c % 2 = 1) + |> Set.ofSeq + + let twiceSquares = + Seq.unfold (fun state -> Some(2 * state * state, state + 1)) 1 + + let primes = common.primeArray ceiling + let twiceSquareList = twiceSquares |> Seq.take ceiling + + let sumOfPrimceTwiceSquare = + common.crossMap (+) primes twiceSquareList + |> Seq.distinct + |> Set.ofSeq + + Set.difference composites sumOfPrimceTwiceSquare diff --git a/47.fs b/47.fs new file mode 100644 index 0000000..44d3a37 --- /dev/null +++ b/47.fs @@ -0,0 +1,17 @@ +module _47 + +let consequtivePrimes = + let max = 200000 + let count = 4 + let d = common.divisors max + let p = common.primeArray ((int)(max/2)) |> Set.ofArray + + d + |> Seq.mapi (fun i ds -> + let ds = i::ds |> Set.ofList + let dp = Set.intersect ds p + (i, Set.count dp)) + |> Seq.filter (snd >> (=) count) + |> Seq.map fst + |> Seq.windowed count + |> Seq.find (fun ns -> ns.[count - 1] - ns.[0] = count - 1) diff --git a/48.fs b/48.fs new file mode 100644 index 0000000..b2c2b7c --- /dev/null +++ b/48.fs @@ -0,0 +1,10 @@ +module _48 + +let series n = + [1..n] + |> List.map (fun d-> System.Numerics.BigInteger.Pow(bigint d, d)) + |> List.fold (+) 0I + +let seriesEnd = + series 1000 + |> common.lastDigits 10 \ No newline at end of file diff --git a/49.fs b/49.fs new file mode 100644 index 0000000..41f04cc --- /dev/null +++ b/49.fs @@ -0,0 +1,34 @@ +module _49 + +open common + +let rec insertions x = function + | [] -> [[x]] + | (y :: ys) as l -> (x::l)::(List.map (fun x -> y::x) (insertions x ys)) + +let rec permutations = function + | [] -> seq [[]] + | x :: xs -> Seq.concat (Seq.map (insertions x) (permutations xs)) + +let primeSequence = + + let primes = + primeArray 10000 |> Seq.skipWhile ((>) 999) |> Array.ofSeq + + let isPrime = isPrimeFunByArray primes + + primes + |> Seq.map ( + numDigits >> List.ofArray >> + permutations >> + Seq.map (Array.ofList >> digitsNum) >> + Seq.filter isPrime >> + Seq.distinct >> + Seq.sort >> + Seq.toArray + ) + |> Seq.distinct + |> Seq.collect (List.ofSeq >> combinations 3) + |> Seq.filter (fun a -> a.[2] - a.[1] = a.[1] - a.[0]) + |> Seq.map (List.rev >> List.map (numDigits >> Array.map (string) >> Array.fold (+) "") >> List.fold (+) "") + //|> Seq.toArray \ No newline at end of file diff --git a/5.ps1 b/5.ps1 new file mode 100644 index 0000000..96eef88 --- /dev/null +++ b/5.ps1 @@ -0,0 +1,21 @@ +[int64]$num = 20 +$i = $num +$answer = 0 +while ($answer -eq 0) +{ + $answer = $i + for ($j=$num; $j -gt 1; $j--) + { + if ($i%$j -ne 0) + { + $answer = 0 + break + } + } + if ($j -lt $num*.75) + { + write-host $i + } + $i += $num +} +$answer diff --git a/50.fs b/50.fs new file mode 100644 index 0000000..b8d4f47 --- /dev/null +++ b/50.fs @@ -0,0 +1,24 @@ +module _50 + +let sumOfConsequitivePrimes = + let ceiling = 1000000 + let primes = common.primeArray ceiling + let isPrime = common.isPrimeFunByArray primes + + let primeSumUnderCeilingIndex = + primes + |> Seq.scan (fun state p -> p + state) 0 + |> Seq.findIndex (fun s -> s > ceiling) + |> (+) -1 + + let indiciesOfDecendingLength max = + seq { + for l in max .. -1 .. 0 do + for o in 0 .. (max - l) do + yield (o, l) + } + + indiciesOfDecendingLength primeSumUnderCeilingIndex + |> Seq.map (fun (start,len) -> Array.sub primes start len |> Array.sum) + |> Seq.find isPrime + diff --git a/52.fs b/52.fs new file mode 100644 index 0000000..baf5ac9 --- /dev/null +++ b/52.fs @@ -0,0 +1,24 @@ +module _52 + +open System + +let findSameDigits = + // todo: optimize with combination of available digits + let powerOfTenNums pow = + let b = Math.Pow(10.0, float pow) |> int + seq {1..(b-1)} |> Seq.map ((+) b) + let multiples num = + seq {num*2..num..(num*6) } + let numSet num = + Set (common.numDigits num) + let rec sd pow = + powerOfTenNums pow + |> Seq.filter ( fun n -> + let nDigits = numSet n + multiples n + |> Seq.map (fun m -> numSet m) + |> Seq.forall (fun mDigits -> nDigits = mDigits) + ) + |> Seq.map (fun n -> (n, multiples n |> Seq.toArray)) + + sd 5 \ No newline at end of file diff --git a/53.fs b/53.fs new file mode 100644 index 0000000..fa3be38 --- /dev/null +++ b/53.fs @@ -0,0 +1,15 @@ +module _53 + +let combinationGt1M = + let f = + [|0..100|] |> Array.map (fun n -> bigint n) |> Array.map common.factorialI + + let combinations (n, r) = + f.[n] / ( f.[r] * f.[n - r] ) + + [100..-1..0] + |> Seq.sumBy (fun n -> + seq { 1 .. n } + |> Seq.filter (fun r -> combinations (n,r) > 1000000I ) + |> Seq.length + ) \ No newline at end of file diff --git a/54.fs b/54.fs new file mode 100644 index 0000000..bb321a5 --- /dev/null +++ b/54.fs @@ -0,0 +1,200 @@ +module _54 + +type Suit = + Diamonds | Clubs | Hearts | Spades + +type Card = + Jack of Suit | Queen of Suit | King of Suit | Ace of Suit | Value of int * Suit + +type Rank = + | HighCard of Card + | OnePair of List + | TwoPair of List + | ThreeKind of List + | Straight of List + | Flush of List + | FullHouse of List + | StraightFlush of List + | RoyalFlush of List + +let pokerWinner = + + let cardValue = function + | Value(v,_) -> v + | Jack(_) -> 11 + | Queen(_) -> 12 + | King(_) -> 13 + | Ace(_) -> 14 + + let cardSuit = function Value(_,s) | Jack(s) | Queen(s) | King(s) | Ace(s) -> s + + let values cards = + cards + |> Seq.groupBy cardValue + + let isFlush cards = + cards |> Seq.groupBy cardSuit |> Seq.length = 1 + + let isStraight cards = + cards |> Seq.map cardValue |> Seq.distinct |> Seq.toArray + |> (fun vs -> Array.length vs = 5 && Array.max vs - Array.min vs = 4) + + let isStraightFlush cards = + isStraight cards && isFlush cards + + let highCard cards = + cards |> Seq.sortBy cardValue |> Seq.toList |> List.rev |> Seq.nth 0 + + let isRoyalFlush cards = + let hasAce cards = + cards |> Seq.exists (function | Ace(_) -> true | _ -> false) + isStraightFlush cards && hasAce cards + + let multiples cards = + cards + |> Seq.groupBy cardValue |> Seq.map snd + |> Seq.sortBy Seq.length |> Seq.toList |> List.rev + //|> Seq.filter (Seq.length >> ((<) 1)) + + let rankCards cards = + let multiplesLength cards = + multiples cards + |> List.map Seq.length + |> List.filter ((<) 1) + let flattenMultiples = + multiples cards + |> Seq.collect (fun c -> c) + |> Seq.toList + match cards, multiplesLength cards with + | c,_ when isRoyalFlush c -> RoyalFlush cards + | c,_ when isStraightFlush c -> StraightFlush cards + | _,[3;2] -> FullHouse cards + | c,_ when isFlush c -> Flush cards + | c,_ when isStraight c -> Straight cards + | _,[3] -> ThreeKind flattenMultiples + | _,[2;2] -> TwoPair flattenMultiples + | _,[2] -> OnePair flattenMultiples + | _,_ -> HighCard (highCard cards) + + let rankTwoHands (c1,c2) = + (rankCards c1, rankCards c2) + + let compareRanks (r1, r2) = + let highCardValue = highCard >> cardValue + let compareHighCard (c1,c2) = + compare (highCardValue c1) (highCardValue c2) + let compareMultiples (c1,c2) = + let rec cm (m1, m2) = + match m1, m2 with + | [],[] -> 0 + | h1::_, h2::_ when Seq.length h1 <> Seq.length h2 -> compare (Seq.length h1) (Seq.length h2) + | h1::_, h2::_ when compareHighCard (h1, h2) <> 0 -> compareHighCard (h1, h2) + | _::t1, _::t2 -> cm(t1,t2) + | _,_ -> failwith "huh" + cm (multiples c1, multiples c2) + + let r1win, r2win = compare 1 0, compare 0 1 + match r1, r2 with + | RoyalFlush(_), RoyalFlush(_) -> 0 + | StraightFlush(c1), StraightFlush(c2) + | Flush(c1), Flush(c2) + | Straight(c1), Straight(c2) + -> compareHighCard (c1,c2) + | FullHouse(c1), FullHouse(c2) + | TwoPair(c1), TwoPair(c2) + | OnePair(c1), OnePair(c2) + | ThreeKind(c1), ThreeKind(c2) + -> compareMultiples (c1,c2) + | RoyalFlush(_), _ -> r1win + | _, RoyalFlush(_) -> r2win + | StraightFlush(_), _ -> r1win + | _, StraightFlush(_) -> r2win + | FullHouse(_), _ -> r1win + | _, FullHouse(_) -> r2win + | Flush(_), _ -> r1win + | _, Flush(_) -> r2win + | Straight(_), _ -> r1win + | _, Straight(_) -> r2win + | ThreeKind(_), _ -> r1win + | _, ThreeKind(_) -> r2win + | TwoPair(_), _ -> r1win + | _, TwoPair(_) -> r2win + | OnePair(_), _ -> r1win + | _, OnePair(_) -> r2win + | HighCard(c1), HighCard(c2) -> compare (cardValue c1) (cardValue c2) + + let parseCard s = + let parseSuit = function + | 'H' -> Hearts + | 'D' -> Diamonds + | 'C' -> Clubs + | 'S' -> Spades + | _ -> failwith "unknown suit" + + if String.length s <> 2 then failwith "wrong length" + + let charVal (c:char) = int c - 48 + let validVal v = v >= 2 && v <= 9 + + let suit = parseSuit s.[1] + + match s.[0] with + | v when (charVal >> validVal) v -> Value(charVal v, suit) + | 'T' -> Value(10, suit) + | 'J' -> Jack(suit) + | 'Q' -> Queen(suit) + | 'K' -> King(suit) + | 'A' -> Ace(suit) + | _ -> failwith ("unknownCard " + s) + + let parseCards (s:string) = + s.Split(' ') |> Array.map parseCard + + let parseTwoHands s = + let c = parseCards s + (c.[..4] |> List.ofArray, c.[5..] |> List.ofArray) + + +// ["5H 5C 6S 7S KD 2C 3S 8S 8D TD"; +// "5D 8C 9S JS AC 2C 5C 7D 8S QH"; +// "2D 9C AS AH AC 3D 6D 7D TD QD"; +// "4D 6S 9H QH QC 3D 6D 7H QD QS"; +// "2H 2D 4C 4D 4S 3C 3D 3S 9S 9D" +// ] + System.IO.File.ReadAllLines(@"54_poker.txt") + |> Seq.map (parseTwoHands >> rankTwoHands >> compareRanks) |> Array.ofSeq + |> Seq.filter ((<) 0) + |> Seq.length +// +// ["KD QD JD TD AD"; // royal flush +// "2D 6D 3D 4D 5D"; // straight flush +// "8D TD QD JD 7D"; // flush +// "3D 3S 3H 5D 5H"; // full house +// "KS QD JD TD AD"; // straight +// "3D 3S 3H 5D 6H"; // 3 kind +// "3D 3S 4H 5D 5H"; // 2 pair +// "3D 3S 4H 5D 6H"; // 1 pair +// "KD 3S 4H 5D 6H"; // 1 pair +// ] +// |> Seq.map (parseCards >> Array.toList >> rankCards) +// |> common.crossSelfMapList +// |> Seq.map ( +// fun (r1, r2) -> +// let cr = compareRanks (r1, r2) +// sprintf "%A %i %A" r1 cr r2 +// ) +// |> Array.ofSeq + +// |> Seq.map ( +// fun c -> +// let pc = parseCards c +// let rf = isRoyalFlush pc +// let s = isStraight pc +// let f = isFlush pc +// let sf = isStraightFlush pc +// let hc = sprintf "%A" (highCard pc) +// let rank = pc |> List.ofArray |> rankCards +// //sprintf "%s RF:%b SF:%b F:%b S:%b HC:%s" c rf sf f s hc +// rank +// ) +// |> Seq.toArray diff --git a/54_poker.txt b/54_poker.txt new file mode 100644 index 0000000..1b31dbf --- /dev/null +++ b/54_poker.txt @@ -0,0 +1,1000 @@ +8C TS KC 9H 4S 7D 2S 5D 3S AC +5C AD 5D AC 9C 7C 5H 8D TD KS +3H 7H 6S KC JS QH TD JC 2D 8S +TH 8H 5C QS TC 9H 4D JC KS JS +7C 5H KC QH JD AS KH 4C AD 4S +5H KS 9C 7D 9H 8D 3S 5D 5C AH +6H 4H 5C 3H 2H 3S QH 5S 6S AS +TD 8C 4H 7C TC KC 4C 3H 7S KS +7C 9C 6D KD 3H 4C QS QC AC KH +JC 6S 5H 2H 2D KD 9D 7C AS JS +AD QH TH 9D 8H TS 6D 3S AS AC +2H 4S 5C 5S TC KC JD 6C TS 3C +QD AS 6H JS 2C 3D 9H KC 4H 8S +KD 8S 9S 7C 2S 3S 6D 6S 4H KC +3C 8C 2D 7D 4D 9S 4S QH 4H JD +8C KC 7S TC 2D TS 8H QD AC 5C +3D KH QD 6C 6S AD AS 8H 2H QS +6S 8D 4C 8S 6C QH TC 6D 7D 9D +2S 8D 8C 4C TS 9S 9D 9C AC 3D +3C QS 2S 4H JH 3D 2D TD 8S 9H +5H QS 8S 6D 3C 8C JD AS 7H 7D +6H TD 9D AS JH 6C QC 9S KD JC +AH 8S QS 4D TH AC TS 3C 3D 5C +5S 4D JS 3D 8H 6C TS 3S AD 8C +6D 7C 5D 5H 3S 5C JC 2H 5S 3D +5H 6H 2S KS 3D 5D JD 7H JS 8H +KH 4H AS JS QS QC TC 6D 7C KS +3D QS TS 2H JS 4D AS 9S JC KD +QD 5H 4D 5D KH 7H 3D JS KD 4H +2C 9H 6H 5C 9D 6C JC 2D TH 9S +7D 6D AS QD JH 4D JS 7C QS 5C +3H KH QD AD 8C 8H 3S TH 9D 5S +AH 9S 4D 9D 8S 4H JS 3C TC 8D +2C KS 5H QD 3S TS 9H AH AD 8S +5C 7H 5D KD 9H 4D 3D 2D KS AD +KS KC 9S 6D 2C QH 9D 9H TS TC +9C 6H 5D QH 4D AD 6D QC JS KH +9S 3H 9D JD 5C 4D 9H AS TC QH +2C 6D JC 9C 3C AD 9S KH 9D 7D +KC 9C 7C JC JS KD 3H AS 3C 7D +QD KH QS 2C 3S 8S 8H 9H 9C JC +QH 8D 3C KC 4C 4H 6D AD 9H 9D +3S KS QS 7H KH 7D 5H 5D JD AD +2H 2C 6H TH TC 7D 8D 4H 8C AS +4S 2H AC QC 3S 6D TH 4D 4C KH +4D TC KS AS 7C 3C 6D 2D 9H 6C +8C TD 5D QS 2C 7H 4C 9C 3H 9H +5H JH TS 7S TD 6H AD QD 8H 8S +5S AD 9C 8C 7C 8D 5H 9D 8S 2S +4H KH KS 9S 2S KC 5S AD 4S 7D +QS 9C QD 6H JS 5D AC 8D 2S AS +KH AC JC 3S 9D 9S 3C 9C 5S JS +AD 3C 3D KS 3S 5C 9C 8C TS 4S +JH 8D 5D 6H KD QS QD 3D 6C KC +8S JD 6C 3S 8C TC QC 3C QH JS +KC JC 8H 2S 9H 9C JH 8S 8C 9S +8S 2H QH 4D QC 9D KC AS TH 3C +8S 6H TH 7C 2H 6S 3C 3H AS 7S +QH 5S JS 4H 5H TS 8H AH AC JC +9D 8H 2S 4S TC JC 3C 7H 3H 5C +3D AD 3C 3S 4C QC AS 5D TH 8C +6S 9D 4C JS KH AH TS JD 8H AD +4C 6S 9D 7S AC 4D 3D 3S TC JD +AD 7H 6H 4H JH KC TD TS 7D 6S +8H JH TC 3S 8D 8C 9S 2C 5C 4D +2C 9D KC QH TH QS JC 9C 4H TS +QS 3C QD 8H KH 4H 8D TD 8S AC +7C 3C TH 5S 8H 8C 9C JD TC KD +QC TC JD TS 8C 3H 6H KD 7C TD +JH QS KS 9C 6D 6S AS 9H KH 6H +2H 4D AH 2D JH 6H TD 5D 4H JD +KD 8C 9S JH QD JS 2C QS 5C 7C +4S TC 7H 8D 2S 6H 7S 9C 7C KC +8C 5D 7H 4S TD QC 8S JS 4H KS +AD 8S JH 6D TD KD 7C 6C 2D 7D +JC 6H 6S JS 4H QH 9H AH 4C 3C +6H 5H AS 7C 7S 3D KH KC 5D 5C +JC 3D TD AS 4D 6D 6S QH JD KS +8C 7S 8S QH 2S JD 5C 7H AH QD +8S 3C 6H 6C 2C 8D TD 7D 4C 4D +5D QH KH 7C 2S 7H JS 6D QC QD +AD 6C 6S 7D TH 6H 2H 8H KH 4H +KS JS KD 5D 2D KH 7D 9C 8C 3D +9C 6D QD 3C KS 3S 7S AH JD 2D +AH QH AS JC 8S 8H 4C KC TH 7D +JC 5H TD 7C 5D KD 4C AD 8H JS +KC 2H AC AH 7D JH KH 5D 7S 6D +9S 5S 9C 6H 8S TD JD 9H 6C AC +7D 8S 6D TS KD 7H AC 5S 7C 5D +AH QC JC 4C TC 8C 2H TS 2C 7D +KD KC 6S 3D 7D 2S 8S 3H 5S 5C +8S 5D 8H 4C 6H KC 3H 7C 5S KD +JH 8C 3D 3C 6C KC TD 7H 7C 4C +JC KC 6H TS QS TD KS 8H 8C 9S +6C 5S 9C QH 7D AH KS KC 9S 2C +4D 4S 8H TD 9C 3S 7D 9D AS TH +6S 7D 3C 6H 5D KD 2C 5C 9D 9C +2H KC 3D AD 3H QD QS 8D JC 4S +8C 3H 9C 7C AD 5D JC 9D JS AS +5D 9H 5C 7H 6S 6C QC JC QD 9S +JC QS JH 2C 6S 9C QC 3D 4S TC +4H 5S 8D 3D 4D 2S KC 2H JS 2C +TD 3S TH KD 4D 7H JH JS KS AC +7S 8C 9S 2D 8S 7D 5C AD 9D AS +8C 7H 2S 6C TH 3H 4C 3S 8H AC +KD 5H JC 8H JD 2D 4H TD JH 5C +3D AS QH KS 7H JD 8S 5S 6D 5H +9S 6S TC QS JC 5C 5D 9C TH 8C +5H 3S JH 9H 2S 2C 6S 7S AS KS +8C QD JC QS TC QC 4H AC KH 6C +TC 5H 7D JH 4H 2H 8D JC KS 4D +5S 9C KH KD 9H 5C TS 3D 7D 2D +5H AS TC 4D 8C 2C TS 9D 3H 8D +6H 8D 2D 9H JD 6C 4S 5H 5S 6D +AD 9C JC 7D 6H 9S 6D JS 9H 3C +AD JH TC QS 4C 5D 9S 7C 9C AH +KD 6H 2H TH 8S QD KS 9D 9H AS +4H 8H 8D 5H 6C AH 5S AS AD 8S +QS 5D 4S 2H TD KS 5H AC 3H JC +9C 7D QD KD AC 6D 5H QH 6H 5S +KC AH QH 2H 7D QS 3H KS 7S JD +6C 8S 3H 6D KS QD 5D 5C 8H TC +9H 4D 4S 6S 9D KH QC 4H 6C JD +TD 2D QH 4S 6H JH KD 3C QD 8C +4S 6H 7C QD 9D AS AH 6S AD 3C +2C KC TH 6H 8D AH 5C 6D 8S 5D +TD TS 7C AD JC QD 9H 3C KC 7H +5D 4D 5S 8H 4H 7D 3H JD KD 2D +JH TD 6H QS 4S KD 5C 8S 7D 8H +AC 3D AS 8C TD 7H KH 5D 6C JD +9D KS 7C 6D QH TC JD KD AS KC +JH 8S 5S 7S 7D AS 2D 3D AD 2H +2H 5D AS 3C QD KC 6H 9H 9S 2C +9D 5D TH 4C JH 3H 8D TC 8H 9H +6H KD 2C TD 2H 6C 9D 2D JS 8C +KD 7S 3C 7C AS QH TS AD 8C 2S +QS 8H 6C JS 4C 9S QC AD TD TS +2H 7C TS TC 8C 3C 9H 2D 6D JC +TC 2H 8D JH KS 6D 3H TD TH 8H +9D TD 9H QC 5D 6C 8H 8C KC TS +2H 8C 3D AH 4D TH TC 7D 8H KC +TS 5C 2D 8C 6S KH AH 5H 6H KC +5S 5D AH TC 4C JD 8D 6H 8C 6C +KC QD 3D 8H 2D JC 9H 4H AD 2S +TD 6S 7D JS KD 4H QS 2S 3S 8C +4C 9H JH TS 3S 4H QC 5S 9S 9C +2C KD 9H JS 9S 3H JC TS 5D AC +AS 2H 5D AD 5H JC 7S TD JS 4C +2D 4S 8H 3D 7D 2C AD KD 9C TS +7H QD JH 5H JS AC 3D TH 4C 8H +6D KH KC QD 5C AD 7C 2D 4H AC +3D 9D TC 8S QD 2C JC 4H JD AH +6C TD 5S TC 8S AH 2C 5D AS AC +TH 7S 3D AS 6C 4C 7H 7D 4H AH +5C 2H KS 6H 7S 4H 5H 3D 3C 7H +3C 9S AC 7S QH 2H 3D 6S 3S 3H +2D 3H AS 2C 6H TC JS 6S 9C 6C +QH KD QD 6D AC 6H KH 2C TS 8C +8H 7D 3S 9H 5D 3H 4S QC 9S 5H +2D 9D 7H 6H 3C 8S 5H 4D 3S 4S +KD 9S 4S TC 7S QC 3S 8S 2H 7H +TC 3D 8C 3H 6C 2H 6H KS KD 4D +KC 3D 9S 3H JS 4S 8H 2D 6C 8S +6H QS 6C TC QD 9H 7D 7C 5H 4D +TD 9D 8D 6S 6C TC 5D TS JS 8H +4H KC JD 9H TC 2C 6S 5H 8H AS +JS 9C 5C 6S 9D JD 8H KC 4C 6D +4D 8D 8S 6C 7C 6H 7H 8H 5C KC +TC 3D JC 6D KS 9S 6H 7S 9C 2C +6C 3S KD 5H TS 7D 9H 9S 6H KH +3D QD 4C 6H TS AC 3S 5C 2H KD +4C AS JS 9S 7C TS 7H 9H JC KS +4H 8C JD 3H 6H AD 9S 4S 5S KS +4C 2C 7D 3D AS 9C 2S QS KC 6C +8S 5H 3D 2S AC 9D 6S 3S 4D TD +QD TH 7S TS 3D AC 7H 6C 5D QC +TC QD AD 9C QS 5C 8D KD 3D 3C +9D 8H AS 3S 7C 8S JD 2D 8D KC +4C TH AC QH JS 8D 7D 7S 9C KH +9D 8D 4C JH 2C 2S QD KD TS 4H +4D 6D 5D 2D JH 3S 8S 3H TC KH +AD 4D 2C QS 8C KD JH JD AH 5C +5C 6C 5H 2H JH 4H KS 7C TC 3H +3C 4C QC 5D JH 9C QD KH 8D TC +3H 9C JS 7H QH AS 7C 9H 5H JC +2D 5S QD 4S 3C KC 6S 6C 5C 4C +5D KH 2D TS 8S 9C AS 9S 7C 4C +7C AH 8C 8D 5S KD QH QS JH 2C +8C 9D AH 2H AC QC 5S 8H 7H 2C +QD 9H 5S QS QC 9C 5H JC TH 4H +6C 6S 3H 5H 3S 6H KS 8D AC 7S +AC QH 7H 8C 4S KC 6C 3D 3S TC +9D 3D JS TH AC 5H 3H 8S 3S TC +QD KH JS KS 9S QC 8D AH 3C AC +5H 6C KH 3S 9S JH 2D QD AS 8C +6C 4D 7S 7H 5S JC 6S 9H 4H JH +AH 5S 6H 9S AD 3S TH 2H 9D 8C +4C 8D 9H 7C QC AD 4S 9C KC 5S +9D 6H 4D TC 4C JH 2S 5D 3S AS +2H 6C 7C KH 5C AD QS TH JD 8S +3S 4S 7S AH AS KC JS 2S AD TH +JS KC 2S 7D 8C 5C 9C TS 5H 9D +7S 9S 4D TD JH JS KH 6H 5D 2C +JD JS JC TH 2D 3D QD 8C AC 5H +7S KH 5S 9D 5D TD 4S 6H 3C 2D +4S 5D AC 8D 4D 7C AD AS AH 9C +6S TH TS KS 2C QC AH AS 3C 4S +2H 8C 3S JC 5C 7C 3H 3C KH JH +7S 3H JC 5S 6H 4C 2S 4D KC 7H +4D 7C 4H 9S 8S 6S AD TC 6C JC +KH QS 3S TC 4C 8H 8S AC 3C TS +QD QS TH 3C TS 7H 7D AH TD JC +TD JD QC 4D 9S 7S TS AD 7D AC +AH 7H 4S 6D 7C 2H 9D KS JC TD +7C AH JD 4H 6D QS TS 2H 2C 5C +TC KC 8C 9S 4C JS 3C JC 6S AH +AS 7D QC 3D 5S JC JD 9D TD KH +TH 3C 2S 6H AH AC 5H 5C 7S 8H +QC 2D AC QD 2S 3S JD QS 6S 8H +KC 4H 3C 9D JS 6H 3S 8S AS 8C +7H KC 7D JD 2H JC QH 5S 3H QS +9H TD 3S 8H 7S AC 5C 6C AH 7C +8D 9H AH JD TD QS 7D 3S 9C 8S +AH QH 3C JD KC 4S 5S 5D TD KS +9H 7H 6S JH TH 4C 7C AD 5C 2D +7C KD 5S TC 9D 6S 6C 5D 2S TH +KC 9H 8D 5H 7H 4H QC 3D 7C AS +6S 8S QC TD 4S 5C TH QS QD 2S +8S 5H TH QC 9H 6S KC 7D 7C 5C +7H KD AH 4D KH 5C 4S 2D KC QH +6S 2C TD JC AS 4D 6C 8C 4H 5S +JC TC JD 5S 6S 8D AS 9D AD 3S +6D 6H 5D 5S TC 3D 7D QS 9D QD +4S 6C 8S 3S 7S AD KS 2D 7D 7C +KC QH JC AC QD 5D 8D QS 7H 7D +JS AH 8S 5H 3D TD 3H 4S 6C JH +4S QS 7D AS 9H JS KS 6D TC 5C +2D 5C 6H TC 4D QH 3D 9H 8S 6C +6D 7H TC TH 5S JD 5C 9C KS KD +8D TD QH 6S 4S 6C 8S KC 5C TC +5S 3D KS AC 4S 7D QD 4C TH 2S +TS 8H 9S 6S 7S QH 3C AH 7H 8C +4C 8C TS JS QC 3D 7D 5D 7S JH +8S 7S 9D QC AC 7C 6D 2H JH KC +JS KD 3C 6S 4S 7C AH QC KS 5H +KS 6S 4H JD QS TC 8H KC 6H AS +KH 7C TC 6S TD JC 5C 7D AH 3S +3H 4C 4H TC TH 6S 7H 6D 9C QH +7D 5H 4S 8C JS 4D 3D 8S QH KC +3H 6S AD 7H 3S QC 8S 4S 7S JS +3S JD KH TH 6H QS 9C 6C 2D QD +4S QH 4D 5H KC 7D 6D 8D TH 5S +TD AD 6S 7H KD KH 9H 5S KC JC +3H QC AS TS 4S QD KS 9C 7S KC +TS 6S QC 6C TH TC 9D 5C 5D KD +JS 3S 4H KD 4C QD 6D 9S JC 9D +8S JS 6D 4H JH 6H 6S 6C KS KH +AC 7D 5D TC 9S KH 6S QD 6H AS +AS 7H 6D QH 8D TH 2S KH 5C 5H +4C 7C 3D QC TC 4S KH 8C 2D JS +6H 5D 7S 5H 9C 9H JH 8S TH 7H +AS JS 2S QD KH 8H 4S AC 8D 8S +3H 4C TD KD 8C JC 5C QS 2D JD +TS 7D 5D 6C 2C QS 2H 3C AH KS +4S 7C 9C 7D JH 6C 5C 8H 9D QD +2S TD 7S 6D 9C 9S QS KH QH 5C +JC 6S 9C QH JH 8D 7S JS KH 2H +8D 5H TH KC 4D 4S 3S 6S 3D QS +2D JD 4C TD 7C 6D TH 7S JC AH +QS 7S 4C TH 9D TS AD 4D 3H 6H +2D 3H 7D JD 3D AS 2S 9C QC 8S +4H 9H 9C 2C 7S JH KD 5C 5D 6H +TC 9H 8H JC 3C 9S 8D KS AD KC +TS 5H JD QS QH QC 8D 5D KH AH +5D AS 8S 6S 4C AH QC QD TH 7H +3H 4H 7D 6S 4S 9H AS 8H JS 9D +JD 8C 2C 9D 7D 5H 5S 9S JC KD +KD 9C 4S QD AH 7C AD 9D AC TD +6S 4H 4S 9C 8D KS TC 9D JH 7C +5S JC 5H 4S QH AC 2C JS 2S 9S +8C 5H AS QD AD 5C 7D 8S QC TD +JC 4C 8D 5C KH QS 4D 6H 2H 2C +TH 4S 2D KC 3H QD AC 7H AD 9D +KH QD AS 8H TH KC 8D 7S QH 8C +JC 6C 7D 8C KH AD QS 2H 6S 2D +JC KH 2D 7D JS QC 5H 4C 5D AD +TS 3S AD 4S TD 2D TH 6S 9H JH +9H 2D QS 2C 4S 3D KH AS AC 9D +KH 6S 8H 4S KD 7D 9D TS QD QC +JH 5H AH KS AS AD JC QC 5S KH +5D 7D 6D KS KD 3D 7C 4D JD 3S +AC JS 8D 5H 9C 3H 4H 4D TS 2C +6H KS KH 9D 7C 2S 6S 8S 2H 3D +6H AC JS 7S 3S TD 8H 3H 4H TH +9H TC QC KC 5C KS 6H 4H AC 8S +TC 7D QH 4S JC TS 6D 6C AC KH +QH 7D 7C JH QS QD TH 3H 5D KS +3D 5S 8D JS 4C 2C KS 7H 9C 4H +5H 8S 4H TD 2C 3S QD QC 3H KC +QC JS KD 9C AD 5S 9D 7D 7H TS +8C JC KH 7C 7S 6C TS 2C QD TH +5S 9D TH 3C 7S QH 8S 9C 2H 5H +5D 9H 6H 2S JS KH 3H 7C 2H 5S +JD 5D 5S 2C TC 2S 6S 6C 3C 8S +4D KH 8H 4H 2D KS 3H 5C 2S 9H +3S 2D TD 7H 8S 6H JD KC 9C 8D +6S QD JH 7C 9H 5H 8S 8H TH TD +QS 7S TD 7D TS JC KD 7C 3C 2C +3C JD 8S 4H 2D 2S TD AS 4D AC +AH KS 6C 4C 4S 7D 8C 9H 6H AS +5S 3C 9S 2C QS KD 4D 4S AC 5D +2D TS 2C JS KH QH 5D 8C AS KC +KD 3H 6C TH 8S 7S KH 6H 9S AC +6H 7S 6C QS AH 2S 2H 4H 5D 5H +5H JC QD 2C 2S JD AS QC 6S 7D +6C TC AS KD 8H 9D 2C 7D JH 9S +2H 4C 6C AH 8S TD 3H TH 7C TS +KD 4S TS 6C QH 8D 9D 9C AH 7D +6D JS 5C QD QC 9C 5D 8C 2H KD +3C QH JH AD 6S AH KC 8S 6D 6H +3D 7C 4C 7S 5S 3S 6S 5H JC 3C +QH 7C 5H 3C 3S 8C TS 4C KD 9C +QD 3S 7S 5H 7H QH JC 7C 8C KD +3C KD KH 2S 4C TS AC 6S 2C 7C +2C KH 3C 4C 6H 4D 5H 5S 7S QD +4D 7C 8S QD TS 9D KS 6H KD 3C +QS 4D TS 7S 4C 3H QD 8D 9S TC +TS QH AC 6S 3C 9H 9D QS 8S 6H +3S 7S 5D 4S JS 2D 6C QH 6S TH +4C 4H AS JS 5D 3D TS 9C AC 8S +6S 9C 7C 3S 5C QS AD AS 6H 3C +9S 8C 7H 3H 6S 7C AS 9H JD KH +3D 3H 7S 4D 6C 7C AC 2H 9C TH +4H 5S 3H AC TC TH 9C 9H 9S 8D +8D 9H 5H 4D 6C 2H QD 6S 5D 3S +4C 5C JD QS 4D 3H TH AC QH 8C +QC 5S 3C 7H AD 4C KS 4H JD 6D +QS AH 3H KS 9H 2S JS JH 5H 2H +2H 5S TH 6S TS 3S KS 3C 5H JS +2D 9S 7H 3D KC JH 6D 7D JS TD +AC JS 8H 2C 8C JH JC 2D TH 7S +5D 9S 8H 2H 3D TC AH JC KD 9C +9D QD JC 2H 6D KH TS 9S QH TH +2C 8D 4S JD 5H 3H TH TC 9C KC +AS 3D 9H 7D 4D TH KH 2H 7S 3H +4H 7S KS 2S JS TS 8S 2H QD 8D +5S 6H JH KS 8H 2S QC AC 6S 3S +JC AS AD QS 8H 6C KH 4C 4D QD +2S 3D TS TD 9S KS 6S QS 5C 8D +3C 6D 4S QC KC JH QD TH KH AD +9H AH 4D KS 2S 8D JH JC 7C QS +2D 6C TH 3C 8H QD QH 2S 3S KS +6H 5D 9S 4C TS TD JS QD 9D JD +5H 8H KH 8S KS 7C TD AD 4S KD +2C 7C JC 5S AS 6C 7D 8S 5H 9C +6S QD 9S TS KH QS 5S QH 3C KC +7D 3H 3C KD 5C AS JH 7H 6H JD +9D 5C 9H KC 8H KS 4S AD 4D 2S +3S JD QD 8D 2S 7C 5S 6S 5H TS +6D 9S KC TD 3S 6H QD JD 5C 8D +5H 9D TS KD 8D 6H TD QC 4C 7D +6D 4S JD 9D AH 9S AS TD 9H QD +2D 5S 2H 9C 6H 9S TD QC 7D TC +3S 2H KS TS 2C 9C 8S JS 9D 7D +3C KC 6D 5D 6C 6H 8S AS 7S QS +JH 9S 2H 8D 4C 8H 9H AD TH KH +QC AS 2S JS 5C 6H KD 3H 7H 2C +QD 8H 2S 8D 3S 6D AH 2C TC 5C +JD JS TS 8S 3H 5D TD KC JC 6H +6S QS TC 3H 5D AH JC 7C 7D 4H +7C 5D 8H 9C 2H 9H JH KH 5S 2C +9C 7H 6S TH 3S QC QD 4C AC JD +2H 5D 9S 7D KC 3S QS 2D AS KH +2S 4S 2H 7D 5C TD TH QH 9S 4D +6D 3S TS 6H 4H KS 9D 8H 5S 2D +9H KS 4H 3S 5C 5D KH 6H 6S JS +KC AS 8C 4C JC KH QC TH QD AH +6S KH 9S 2C 5H TC 3C 7H JC 4D +JD 4S 6S 5S 8D 7H 7S 4D 4C 2H +7H 9H 5D KH 9C 7C TS TC 7S 5H +4C 8D QC TS 4S 9H 3D AD JS 7C +8C QS 5C 5D 3H JS AH KC 4S 9D +TS JD 8S QS TH JH KH 2D QD JS +JD QC 5D 6S 9H 3S 2C 8H 9S TS +2S 4C AD 7H JC 5C 2D 6D 4H 3D +7S JS 2C 4H 8C AD QD 9C 3S TD +JD TS 4C 6H 9H 7D QD 6D 3C AS +AS 7C 4C 6S 5D 5S 5C JS QC 4S +KD 6S 9S 7C 3C 5S 7D JH QD JS +4S 7S JH 2C 8S 5D 7H 3D QH AD +TD 6H 2H 8D 4H 2D 7C AD KH 5D +TS 3S 5H 2C QD AH 2S 5C KH TD +KC 4D 8C 5D AS 6C 2H 2S 9H 7C +KD JS QC TS QS KH JH 2C 5D AD +3S 5H KC 6C 9H 3H 2H AD 7D 7S +7S JS JH KD 8S 7D 2S 9H 7C 2H +9H 2D 8D QC 6S AD AS 8H 5H 6C +2S 7H 6C 6D 7D 8C 5D 9D JC 3C +7C 9C 7H JD 2H KD 3S KH AD 4S +QH AS 9H 4D JD KS KD TS KH 5H +4C 8H 5S 3S 3D 7D TD AD 7S KC +JS 8S 5S JC 8H TH 9C 4D 5D KC +7C 5S 9C QD 2C QH JS 5H 8D KH +TD 2S KS 3D AD KC 7S TC 3C 5D +4C 2S AD QS 6C 9S QD TH QH 5C +8C AD QS 2D 2S KC JD KS 6C JC +8D 4D JS 2H 5D QD 7S 7D QH TS +6S 7H 3S 8C 8S 9D QS 8H 6C 9S +4S TC 2S 5C QD 4D QS 6D TH 6S +3S 5C 9D 6H 8D 4C 7D TC 7C TD +AH 6S AS 7H 5S KD 3H 5H AC 4C +8D 8S AH KS QS 2C AD 6H 7D 5D +6H 9H 9S 2H QS 8S 9C 5D 2D KD +TS QC 5S JH 7D 7S TH 9S 9H AC +7H 3H 6S KC 4D 6D 5C 4S QD TS +TD 2S 7C QD 3H JH 9D 4H 7S 7H +KS 3D 4H 5H TC 2S AS 2D 6D 7D +8H 3C 7H TD 3H AD KC TH 9C KH +TC 4C 2C 9S 9D 9C 5C 2H JD 3C +3H AC TS 5D AD 8D 6H QC 6S 8C +2S TS 3S JD 7H 8S QH 4C 5S 8D +AC 4S 6C 3C KH 3D 7C 2D 8S 2H +4H 6C 8S TH 2H 4S 8H 9S 3H 7S +7C 4C 9C 2C 5C AS 5D KD 4D QH +9H 4H TS AS 7D 8D 5D 9S 8C 2H +QC KD AC AD 2H 7S AS 3S 2D 9S +2H QC 8H TC 6D QD QS 5D KH 3C +TH JD QS 4C 2S 5S AD 7H 3S AS +7H JS 3D 6C 3S 6D AS 9S AC QS +9C TS AS 8C TC 8S 6H 9D 8D 6C +4D JD 9C KC 7C 6D KS 3S 8C AS +3H 6S TC 8D TS 3S KC 9S 7C AS +8C QC 4H 4S 8S 6C 3S TC AH AC +4D 7D 5C AS 2H 6S TS QC AD TC +QD QC 8S 4S TH 3D AH TS JH 4H +5C 2D 9S 2C 3H 3C 9D QD QH 7D +KC 9H 6C KD 7S 3C 4D AS TC 2D +3D JS 4D 9D KS 7D TH QC 3H 3C +8D 5S 2H 9D 3H 8C 4C 4H 3C TH +JC TH 4S 6S JD 2D 4D 6C 3D 4C +TS 3S 2D 4H AC 2C 6S 2H JH 6H +TD 8S AD TC AH AC JH 9S 6S 7S +6C KC 4S JD 8D 9H 5S 7H QH AH +KD 8D TS JH 5C 5H 3H AD AS JS +2D 4H 3D 6C 8C 7S AD 5D 5C 8S +TD 5D 7S 9C 4S 5H 6C 8C 4C 8S +JS QH 9C AS 5C QS JC 3D QC 7C +JC 9C KH JH QS QC 2C TS 3D AD +5D JH AC 5C 9S TS 4C JD 8C KS +KC AS 2D KH 9H 2C 5S 4D 3D 6H +TH AH 2D 8S JC 3D 8C QH 7S 3S +8H QD 4H JC AS KH KS 3C 9S 6D +9S QH 7D 9C 4S AC 7H KH 4D KD +AH AD TH 6D 9C 9S KD KS QH 4H +QD 6H 9C 7C QS 6D 6S 9D 5S JH +AH 8D 5H QD 2H JC KS 4H KH 5S +5C 2S JS 8D 9C 8C 3D AS KC AH +JD 9S 2H QS 8H 5S 8C TH 5C 4C +QC QS 8C 2S 2C 3S 9C 4C KS KH +2D 5D 8S AH AD TD 2C JS KS 8C +TC 5S 5H 8H QC 9H 6H JD 4H 9S +3C JH 4H 9H AH 4S 2H 4C 8D AC +8S TH 4D 7D 6D QD QS 7S TC 7C +KH 6D 2D JD 5H JS QD JH 4H 4S +9C 7S JH 4S 3S TS QC 8C TC 4H +QH 9D 4D JH QS 3S 2C 7C 6C 2D +4H 9S JD 5C 5H AH 9D TS 2D 4C +KS JH TS 5D 2D AH JS 7H AS 8D +JS AH 8C AD KS 5S 8H 2C 6C TH +2H 5D AD AC KS 3D 8H TS 6H QC +6D 4H TS 9C 5H JS JH 6S JD 4C +JH QH 4H 2C 6D 3C 5D 4C QS KC +6H 4H 6C 7H 6S 2S 8S KH QC 8C +3H 3D 5D KS 4H TD AD 3S 4D TS +5S 7C 8S 7D 2C KS 7S 6C 8C JS +5D 2H 3S 7C 5C QD 5H 6D 9C 9H +JS 2S KD 9S 8D TD TS AC 8C 9D +5H QD 2S AC 8C 9H KS 7C 4S 3C +KH AS 3H 8S 9C JS QS 4S AD 4D +AS 2S TD AD 4D 9H JC 4C 5H QS +5D 7C 4H TC 2D 6C JS 4S KC 3S +4C 2C 5D AC 9H 3D JD 8S QS QH +2C 8S 6H 3C QH 6D TC KD AC AH +QC 6C 3S QS 4S AC 8D 5C AD KH +5S 4C AC KH AS QC 2C 5C 8D 9C +8H JD 3C KH 8D 5C 9C QD QH 9D +7H TS 2C 8C 4S TD JC 9C 5H QH +JS 4S 2C 7C TH 6C AS KS 7S JD +JH 7C 9H 7H TC 5H 3D 6D 5D 4D +2C QD JH 2H 9D 5S 3D TD AD KS +JD QH 3S 4D TH 7D 6S QS KS 4H +TC KS 5S 8D 8H AD 2S 2D 4C JH +5S JH TC 3S 2D QS 9D 4C KD 9S +AC KH 3H AS 9D KC 9H QD 6C 6S +9H 7S 3D 5C 7D KC TD 8H 4H 6S +3C 7H 8H TC QD 4D 7S 6S QH 6C +6D AD 4C QD 6C 5D 7D 9D KS TS +JH 2H JD 9S 7S TS KH 8D 5D 8H +2D 9S 4C 7D 9D 5H QD 6D AC 6S +7S 6D JC QD JH 4C 6S QS 2H 7D +8C TD JH KD 2H 5C QS 2C JS 7S +TC 5H 4H JH QD 3S 5S 5D 8S KH +KS KH 7C 2C 5D JH 6S 9C 6D JC +5H AH JD 9C JS KC 2H 6H 4D 5S +AS 3C TH QC 6H 9C 8S 8C TD 7C +KC 2C QD 9C KH 4D 7S 3C TS 9H +9C QC 2S TS 8C TD 9S QD 3S 3C +4D 9D TH JH AH 6S 2S JD QH JS +QD 9H 6C KD 7D 7H 5D 6S 8H AH +8H 3C 4S 2H 5H QS QH 7S 4H AC +QS 3C 7S 9S 4H 3S AH KS 9D 7C +AD 5S 6S 2H 2D 5H TC 4S 3C 8C +QH TS 6S 4D JS KS JH AS 8S 6D +2C 8S 2S TD 5H AS TC TS 6C KC +KC TS 8H 2H 3H 7C 4C 5S TH TD +KD AD KH 7H 7S 5D 5H 5S 2D 9C +AD 9S 3D 7S 8C QC 7C 9C KD KS +3C QC 9S 8C 4D 5C AS QD 6C 2C +2H KC 8S JD 7S AC 8D 5C 2S 4D +9D QH 3D 2S TC 3S KS 3C 9H TD +KD 6S AC 2C 7H 5H 3S 6C 6H 8C +QH TC 8S 6S KH TH 4H 5D TS 4D +8C JS 4H 6H 2C 2H 7D AC QD 3D +QS KC 6S 2D 5S 4H TD 3H JH 4C +7S 5H 7H 8H KH 6H QS TH KD 7D +5H AD KD 7C KH 5S TD 6D 3C 6C +8C 9C 5H JD 7C KC KH 7H 2H 3S +7S 4H AD 4D 8S QS TH 3D 7H 5S +8D TC KS KD 9S 6D AD JD 5C 2S +7H 8H 6C QD 2H 6H 9D TC 9S 7C +8D 6D 4C 7C 6C 3C TH KH JS JH +5S 3S 8S JS 9H AS AD 8H 7S KD +JH 7C 2C KC 5H AS AD 9C 9S JS +AD AC 2C 6S QD 7C 3H TH KS KD +9D JD 4H 8H 4C KH 7S TS 8C KC +3S 5S 2H 7S 6H 7D KS 5C 6D AD +5S 8C 9H QS 7H 7S 2H 6C 7D TD +QS 5S TD AC 9D KC 3D TC 2D 4D +TD 2H 7D JD QD 4C 7H 5D KC 3D +4C 3H 8S KD QH 5S QC 9H TC 5H +9C QD TH 5H TS 5C 9H AH QH 2C +4D 6S 3C AC 6C 3D 2C 2H TD TH +AC 9C 5D QC 4D AD 8D 6D 8C KC +AD 3C 4H AC 8D 8H 7S 9S TD JC +4H 9H QH JS 2D TH TD TC KD KS +5S 6S 9S 8D TH AS KH 5H 5C 8S +JD 2S 9S 6S 5S 8S 5D 7S 7H 9D +5D 8C 4C 9D AD TS 2C 7D KD TC +8S QS 4D KC 5C 8D 4S KH JD KD +AS 5C AD QH 7D 2H 9S 7H 7C TC +2S 8S JD KH 7S 6C 6D AD 5D QC +9H 6H 3S 8C 8H AH TC 4H JS TD +2C TS 4D 7H 2D QC 9C 5D TH 7C +6C 8H QC 5D TS JH 5C 5H 9H 4S +2D QC 7H AS JS 8S 2H 4C 4H 8D +JS 6S AC KD 3D 3C 4S 7H TH KC +QH KH 6S QS 5S 4H 3C QD 3S 3H +7H AS KH 8C 4H 9C 5S 3D 6S TS +9C 7C 3H 5S QD 2C 3D AD AC 5H +JH TD 2D 4C TS 3H KH AD 3S 7S +AS 4C 5H 4D 6S KD JC 3C 6H 2D +3H 6S 8C 2D TH 4S AH QH AD 5H +7C 2S 9H 7H KC 5C 6D 5S 3H JC +3C TC 9C 4H QD TD JH 6D 9H 5S +7C 6S 5C 5D 6C 4S 7H 9H 6H AH +AD 2H 7D KC 2C 4C 2S 9S 7H 3S +TH 4C 8S 6S 3S AD KS AS JH TD +5C TD 4S 4D AD 6S 5D TC 9C 7D +8H 3S 4D 4S 5S 6H 5C AC 3H 3D +9H 3C AC 4S QS 8S 9D QH 5H 4D +JC 6C 5H TS AC 9C JD 8C 7C QD +8S 8H 9C JD 2D QC QH 6H 3C 8D +KS JS 2H 6H 5H QH QS 3H 7C 6D +TC 3H 4S 7H QC 2H 3S 8C JS KH +AH 8H 5S 4C 9H JD 3H 7S JC AC +3C 2D 4C 5S 6C 4S QS 3S JD 3D +5H 2D TC AH KS 6D 7H AD 8C 6H +6C 7S 3C JD 7C 8H KS KH AH 6D +AH 7D 3H 8H 8S 7H QS 5H 9D 2D +JD AC 4H 7S 8S 9S KS AS 9D QH +7S 2C 8S 5S JH QS JC AH KD 4C +AH 2S 9H 4H 8D TS TD 6H QH JD +4H JC 3H QS 6D 7S 9C 8S 9D 8D +5H TD 4S 9S 4C 8C 8D 7H 3H 3D +QS KH 3S 2C 2S 3C 7S TD 4S QD +7C TD 4D 5S KH AC AS 7H 4C 6C +2S 5H 6D JD 9H QS 8S 2C 2H TD +2S TS 6H 9H 7S 4H JC 4C 5D 5S +2C 5H 7D 4H 3S QH JC JS 6D 8H +4C QH 7C QD 3S AD TH 8S 5S TS +9H TC 2S TD JC 7D 3S 3D TH QH +7D 4C 8S 5C JH 8H 6S 3S KC 3H +JC 3H KH TC QH TH 6H 2C AC 5H +QS 2H 9D 2C AS 6S 6C 2S 8C 8S +9H 7D QC TH 4H KD QS AC 7S 3C +4D JH 6S 5S 8H KS 9S QC 3S AS +JD 2D 6S 7S TC 9H KC 3H 7D KD +2H KH 7C 4D 4S 3H JS QD 7D KC +4C JC AS 9D 3C JS 6C 8H QD 4D +AH JS 3S 6C 4C 3D JH 6D 9C 9H +9H 2D 8C 7H 5S KS 6H 9C 2S TC +6C 8C AD 7H 6H 3D KH AS 5D TH +KS 8C 3S TS 8S 4D 5S 9S 6C 4H +9H 4S 4H 5C 7D KC 2D 2H 9D JH +5C JS TC 9D 9H 5H 7S KH JC 6S +7C 9H 8H 4D JC KH JD 2H TD TC +8H 6C 2H 2C KH 6H 9D QS QH 5H +AC 7D 2S 3D QD JC 2D 8D JD JH +2H JC 2D 7H 2C 3C 8D KD TD 4H +3S 4H 6D 8D TS 3H TD 3D 6H TH +JH JC 3S AC QH 9H 7H 8S QC 2C +7H TD QS 4S 8S 9C 2S 5D 4D 2H +3D TS 3H 2S QC 8H 6H KC JC KS +5D JD 7D TC 8C 6C 9S 3D 8D AC +8H 6H JH 6C 5D 8D 8S 4H AD 2C +9D 4H 2D 2C 3S TS AS TC 3C 5D +4D TH 5H KS QS 6C 4S 2H 3D AD +5C KC 6H 2C 5S 3C 4D 2D 9H 9S +JD 4C 3H TH QH 9H 5S AH 8S AC +7D 9S 6S 2H TD 9C 4H 8H QS 4C +3C 6H 5D 4H 8C 9C KC 6S QD QS +3S 9H KD TC 2D JS 8C 6S 4H 4S +2S 4C 8S QS 6H KH 3H TH 8C 5D +2C KH 5S 3S 7S 7H 6C 9D QD 8D +8H KS AC 2D KH TS 6C JS KC 7H +9C KS 5C TD QC AH 6C 5H 9S 7C +5D 4D 3H 4H 6S 7C 7S AH QD TD +2H 7D QC 6S TC TS AH 7S 9D 3H +TH 5H QD 9S KS 7S 7C 6H 8C TD +TH 2D 4D QC 5C 7D JD AH 9C 4H +4H 3H AH 8D 6H QC QH 9H 2H 2C +2D AD 4C TS 6H 7S TH 4H QS TD +3C KD 2H 3H QS JD TC QC 5D 8H +KS JC QD TH 9S KD 8D 8C 2D 9C +3C QD KD 6D 4D 8D AH AD QC 8S +8H 3S 9D 2S 3H KS 6H 4C 7C KC +TH 9S 5C 3D 7D 6H AC 7S 4D 2C +5C 3D JD 4D 2D 6D 5H 9H 4C KH +AS 7H TD 6C 2H 3D QD KS 4C 4S +JC 3C AC 7C JD JS 8H 9S QC 5D +JD 6S 5S 2H AS 8C 7D 5H JH 3D +8D TC 5S 9S 8S 3H JC 5H 7S AS +5C TD 3D 7D 4H 8D 7H 4D 5D JS +QS 9C KS TD 2S 8S 5C 2H 4H AS +TH 7S 4H 7D 3H JD KD 5D 2S KC +JD 7H 4S 8H 4C JS 6H QH 5S 4H +2C QS 8C 5S 3H QC 2S 6C QD AD +8C 3D JD TC 4H 2H AD 5S AC 2S +5D 2C JS 2D AD 9D 3D 4C 4S JH +8D 5H 5D 6H 7S 4D KS 9D TD JD +3D 6D 9C 2S AS 7D 5S 5C 8H JD +7C 8S 3S 6S 5H JD TC AD 7H 7S +2S 9D TS 4D AC 8D 6C QD JD 3H +9S KH 2C 3C AC 3D 5H 6H 8D 5D +KS 3D 2D 6S AS 4C 2S 7C 7H KH +AC 2H 3S JC 5C QH 4D 2D 5H 7S +TS AS JD 8C 6H JC 8S 5S 2C 5D +7S QH 7H 6C QC 8H 2D 7C JD 2S +2C QD 2S 2H JC 9C 5D 2D JD JH +7C 5C 9C 8S 7D 6D 8D 6C 9S JH +2C AD 6S 5H 3S KS 7S 9D KH 4C +7H 6C 2C 5C TH 9D 8D 3S QC AH +5S KC 6H TC 5H 8S TH 6D 3C AH +9C KD 4H AD TD 9S 4S 7D 6H 5D +7H 5C 5H 6D AS 4C KD KH 4H 9D +3C 2S 5C 6C JD QS 2H 9D 7D 3H +AC 2S 6S 7S JS QD 5C QS 6H AD +5H TH QC 7H TC 3S 7C 6D KC 3D +4H 3D QC 9S 8H 2C 3S JC KS 5C +4S 6S 2C 6H 8S 3S 3D 9H 3H JS +4S 8C 4D 2D 8H 9H 7D 9D AH TS +9S 2C 9H 4C 8D AS 7D 3D 6D 5S +6S 4C 7H 8C 3H 5H JC AH 9D 9C +2S 7C 5S JD 8C 3S 3D 4D 7D 6S +3C KC 4S 5D 7D 3D JD 7H 3H 4H +9C 9H 4H 4D TH 6D QD 8S 9S 7S +2H AC 8S 4S AD 8C 2C AH 7D TC +TS 9H 3C AD KS TC 3D 8C 8H JD +QC 8D 2C 3C 7D 7C JD 9H 9C 6C +AH 6S JS JH 5D AS QC 2C JD TD +9H KD 2H 5D 2D 3S 7D TC AH TS +TD 8H AS 5D AH QC AC 6S TC 5H +KS 4S 7H 4D 8D 9C TC 2H 6H 3H +3H KD 4S QD QH 3D 8H 8C TD 7S +8S JD TC AH JS QS 2D KH KS 4D +3C AD JC KD JS KH 4S TH 9H 2C +QC 5S JS 9S KS AS 7C QD 2S JD +KC 5S QS 3S 2D AC 5D 9H 8H KS +6H 9C TC AD 2C 6D 5S JD 6C 7C +QS KH TD QD 2C 3H 8S 2S QC AH +9D 9H JH TC QH 3C 2S JS 5C 7H +6C 3S 3D 2S 4S QD 2D TH 5D 2C +2D 6H 6D 2S JC QH AS 7H 4H KH +5H 6S KS AD TC TS 7C AC 4S 4H +AD 3C 4H QS 8C 9D KS 2H 2D 4D +4S 9D 6C 6D 9C AC 8D 3H 7H KD +JC AH 6C TS JD 6D AD 3S 5D QD +JC JH JD 3S 7S 8S JS QC 3H 4S +JD TH 5C 2C AD JS 7H 9S 2H 7S +8D 3S JH 4D QC AS JD 2C KC 6H +2C AC 5H KD 5S 7H QD JH AH 2D +JC QH 8D 8S TC 5H 5C AH 8C 6C +3H JS 8S QD JH 3C 4H 6D 5C 3S +6D 4S 4C AH 5H 5S 3H JD 7C 8D +8H AH 2H 3H JS 3C 7D QC 4H KD +6S 2H KD 5H 8H 2D 3C 8S 7S QD +2S 7S KC QC AH TC QS 6D 4C 8D +5S 9H 2C 3S QD 7S 6C 2H 7C 9D +3C 6C 5C 5S JD JC KS 3S 5D TS +7C KS 6S 5S 2S 2D TC 2H 5H QS +AS 7H 6S TS 5H 9S 9D 3C KD 2H +4S JS QS 3S 4H 7C 2S AC 6S 9D +8C JH 2H 5H 7C 5D QH QS KH QC +3S TD 3H 7C KC 8D 5H 8S KH 8C +4H KH JD TS 3C 7H AS QC JS 5S +AH 9D 2C 8D 4D 2D 6H 6C KC 6S +2S 6H 9D 3S 7H 4D KH 8H KD 3D +9C TC AC JH KH 4D JD 5H TD 3S +7S 4H 9D AS 4C 7D QS 9S 2S KH +3S 8D 8S KS 8C JC 5C KH 2H 5D +8S QH 2C 4D KC JS QC 9D AC 6H +8S 8C 7C JS JD 6S 4C 9C AC 4S +QH 5D 2C 7D JC 8S 2D JS JH 4C +JS 4C 7S TS JH KC KH 5H QD 4S +QD 8C 8D 2D 6S TD 9D AC QH 5S +QH QC JS 3D 3C 5C 4H KH 8S 7H +7C 2C 5S JC 8S 3H QC 5D 2H KC +5S 8D KD 6H 4H QD QH 6D AH 3D +7S KS 6C 2S 4D AC QS 5H TS JD +7C 2D TC 5D QS AC JS QC 6C KC +2C KS 4D 3H TS 8S AD 4H 7S 9S +QD 9H QH 5H 4H 4D KH 3S JC AD +4D AC KC 8D 6D 4C 2D KH 2C JD +2C 9H 2D AH 3H 6D 9C 7D TC KS +8C 3H KD 7C 5C 2S 4S 5H AS AH +TH JD 4H KD 3H TC 5C 3S AC KH +6D 7H AH 7S QC 6H 2D TD JD AS +JH 5D 7H TC 9S 7D JC AS 5S KH +2H 8C AD TH 6H QD KD 9H 6S 6C +QH KC 9D 4D 3S JS JH 4H 2C 9H +TC 7H KH 4H JC 7D 9S 3H QS 7S +AD 7D JH 6C 7H 4H 3S 3H 4D QH +JD 2H 5C AS 6C QC 4D 3C TC JH +AC JD 3H 6H 4C JC AD 7D 7H 9H +4H TC TS 2C 8C 6S KS 2H JD 9S +4C 3H QS QC 9S 9H 6D KC 9D 9C +5C AD 8C 2C QH TH QD JC 8D 8H +QC 2C 2S QD 9C 4D 3S 8D JH QS +9D 3S 2C 7S 7C JC TD 3C TC 9H +3C TS 8H 5C 4C 2C 6S 8D 7C 4H +KS 7H 2H TC 4H 2C 3S AS AH QS +8C 2D 2H 2C 4S 4C 6S 7D 5S 3S +TH QC 5D TD 3C QS KD KC KS AS +4D AH KD 9H KS 5C 4C 6H JC 7S +KC 4H 5C QS TC 2H JC 9S AH QH +4S 9H 3H 5H 3C QD 2H QC JH 8H +5D AS 7H 2C 3D JH 6H 4C 6S 7D +9C JD 9H AH JS 8S QH 3H KS 8H +3S AC QC TS 4D AD 3D AH 8S 9H +7H 3H QS 9C 9S 5H JH JS AH AC +8D 3C JD 2H AC 9C 7H 5S 4D 8H +7C JH 9H 6C JS 9S 7H 8C 9D 4H +2D AS 9S 6H 4D JS JH 9H AD QD +6H 7S JH KH AH 7H TD 5S 6S 2C +8H JH 6S 5H 5S 9D TC 4C QC 9S +7D 2C KD 3H 5H AS QD 7H JS 4D +TS QH 6C 8H TH 5H 3C 3H 9C 9D +AD KH JS 5D 3H AS AC 9S 5C KC +2C KH 8C JC QS 6D AH 2D KC TC +9D 3H 2S 7C 4D 6D KH KS 8D 7D +9H 2S TC JH AC QC 3H 5S 3S 8H +3S AS KD 8H 4C 3H 7C JH QH TS +7S 6D 7H 9D JH 4C 3D 3S 6C AS +4S 2H 2C 4C 8S 5H KC 8C QC QD +3H 3S 6C QS QC 2D 6S 5D 2C 9D +2H 8D JH 2S 3H 2D 6C 5C 7S AD +9H JS 5D QH 8S TS 2H 7S 6S AD +6D QC 9S 7H 5H 5C 7D KC JD 4H +QC 5S 9H 9C 4D 6S KS 2S 4C 7C +9H 7C 4H 8D 3S 6H 5C 8H JS 7S +2D 6H JS TD 4H 4D JC TH 5H KC +AC 7C 8D TH 3H 9S 2D 4C KC 4D +KD QS 9C 7S 3D KS AD TS 4C 4H +QH 9C 8H 2S 7D KS 7H 5D KD 4C +9C 2S 2H JC 6S 6C TC QC JH 5C +7S AC 8H KC 8S 6H QS JC 3D 6S +JS 2D JH 8C 4S 6H 8H 6D 5D AD +6H 7D 2S 4H 9H 7C AS AC 8H 5S +3C JS 4S 6D 5H 2S QH 6S 9C 2C +3D 5S 6S 9S 4C QS 8D QD 8S TC +9C 3D AH 9H 5S 2C 7D AD JC 3S +7H TC AS 3C 6S 6D 7S KH KC 9H +3S TC 8H 6S 5H JH 8C 7D AC 2S +QD 9D 9C 3S JC 8C KS 8H 5D 4D +JS AH JD 6D 9D 8C 9H 9S 8H 3H +2D 6S 4C 4D 8S AD 4S TC AH 9H +TS AC QC TH KC 6D 4H 7S 8C 2H +3C QD JS 9D 5S JC AH 2H TS 9H +3H 4D QH 5D 9C 5H 7D 4S JC 3S +8S TH 3H 7C 2H JD JS TS AC 8D +9C 2H TD KC JD 2S 8C 5S AD 2C +3D KD 7C 5H 4D QH QD TC 6H 7D +7H 2C KC 5S KD 6H AH QC 7S QH +6H 5C AC 5H 2C 9C 2D 7C TD 2S +4D 9D AH 3D 7C JD 4H 8C 4C KS +TH 3C JS QH 8H 4C AS 3D QS QC +4D 7S 5H JH 6D 7D 6H JS KH 3C +QD 8S 7D 2H 2C 7C JC 2S 5H 8C +QH 8S 9D TC 2H AD 7C 8D QD 6S +3S 7C AD 9H 2H 9S JD TS 4C 2D +3S AS 4H QC 2C 8H 8S 7S TD TC +JH TH TD 3S 4D 4H 5S 5D QS 2C +8C QD QH TC 6D 4S 9S 9D 4H QC +8C JS 9D 6H JD 3H AD 6S TD QC +KC 8S 3D 7C TD 7D 8D 9H 4S 3S +6C 4S 3D 9D KD TC KC KS AC 5S +7C 6S QH 3D JS KD 6H 6D 2D 8C +JD 2S 5S 4H 8S AC 2D 6S TS 5C +5H 8C 5S 3C 4S 3D 7C 8D AS 3H +AS TS 7C 3H AD 7D JC QS 6C 6H +3S 9S 4C AC QH 5H 5D 9H TS 4H +6C 5C 7H 7S TD AD JD 5S 2H 2S +7D 6C KC 3S JD 8D 8S TS QS KH +8S QS 8D 6C TH AC AH 2C 8H 9S +7H TD KH QH 8S 3D 4D AH JD AS +TS 3D 2H JC 2S JH KH 6C QC JS +KC TH 2D 6H 7S 2S TC 8C 9D QS +3C 9D 6S KH 8H 6D 5D TH 2C 2H +6H TC 7D AD 4D 8S TS 9H TD 7S +JS 6D JD JC 2H AC 6C 3D KH 8D +KH JD 9S 5D 4H 4C 3H 7S QS 5C +4H JD 5D 3S 3C 4D KH QH QS 7S +JD TS 8S QD AH 4C 6H 3S 5S 2C +QS 3D JD AS 8D TH 7C 6S QC KS +7S 2H 8C QC 7H AC 6D 2D TH KH +5S 6C 7H KH 7D AH 8C 5C 7S 3D +3C KD AD 7D 6C 4D KS 2D 8C 4S +7C 8D 5S 2D 2S AH AD 2C 9D TD +3C AD 4S KS JH 7C 5C 8C 9C TH +AS TD 4D 7C JD 8C QH 3C 5H 9S +3H 9C 8S 9S 6S QD KS AH 5H JH +QC 9C 5S 4H 2H TD 7D AS 8C 9D +8C 2C 9D KD TC 7S 3D KH QC 3C +4D AS 4C QS 5S 9D 6S JD QH KS +6D AH 6C 4C 5H TS 9H 7D 3D 5S +QS JD 7C 8D 9C AC 3S 6S 6C KH +8H JH 5D 9S 6D AS 6S 3S QC 7H +QD AD 5C JH 2H AH 4H AS KC 2C +JH 9C 2C 6H 2D JS 5D 9H KC 6D +7D 9D KD TH 3H AS 6S QC 6H AD +JD 4H 7D KC 3H JS 3C TH 3D QS +4C 3H 8C QD 5H 6H AS 8H AD JD +TH 8S KD 5D QC 7D JS 5S 5H TS +7D KC 9D QS 3H 3C 6D TS 7S AH +7C 4H 7H AH QC AC 4D 5D 6D TH +3C 4H 2S KD 8H 5H JH TC 6C JD +4S 8C 3D 4H JS TD 7S JH QS KD +7C QC KD 4D 7H 6S AD TD TC KH +5H 9H KC 3H 4D 3D AD 6S QD 6H +TH 7C 6H TS QH 5S 2C KC TD 6S +7C 4D 5S JD JH 7D AC KD KH 4H +7D 6C 8D 8H 5C JH 8S QD TH JD +8D 7D 6C 7C 9D KD AS 5C QH JH +9S 2C 8C 3C 4C KS JH 2D 8D 4H +7S 6C JH KH 8H 3H 9D 2D AH 6D +4D TC 9C 8D 7H TD KS TH KD 3C +JD 9H 8D QD AS KD 9D 2C 2S 9C +8D 3H 5C 7H KS 5H QH 2D 8C 9H +2D TH 6D QD 6C KC 3H 3S AD 4C +4H 3H JS 9D 3C TC 5H QH QC JC +3D 5C 6H 3S 3C JC 5S 7S 2S QH +AC 5C 8C 4D 5D 4H 2S QD 3C 3H +2C TD AH 9C KD JS 6S QD 4C QC +QS 8C 3S 4H TC JS 3H 7C JC AD +5H 4D 9C KS JC TD 9S TS 8S 9H +QD TS 7D AS AC 2C TD 6H 8H AH +6S AD 8C 4S 9H 8D 9D KH 8S 3C +QS 4D 2D 7S KH JS JC AD 4C 3C +QS 9S 7H KC TD TH 5H JS AC JH +6D AC 2S QS 7C AS KS 6S KH 5S +6D 8H KH 3C QS 2H 5C 9C 9D 6C +JS 2C 4C 6H 7D JC AC QD TD 3H +4H QC 8H JD 4C KD KS 5C KC 7S +6D 2D 3H 2S QD 5S 7H AS TH 6S +AS 6D 8D 2C 8S TD 8H QD JC AH +9C 9H 2D TD QH 2H 5C TC 3D 8H +KC 8S 3D KH 2S TS TC 6S 4D JH +9H 9D QS AC KC 6H 5D 4D 8D AH +9S 5C QS 4H 7C 7D 2H 8S AD JS +3D AC 9S AS 2C 2D 2H 3H JC KH +7H QH KH JD TC KS 5S 8H 4C 8D +2H 7H 3S 2S 5H QS 3C AS 9H KD +AD 3D JD 6H 5S 9C 6D AC 9S 3S +3D 5D 9C 2D AC 4S 2S AD 6C 6S +QC 4C 2D 3H 6S KC QH QD 2H JH +QC 3C 8S 4D 9S 2H 5C 8H QS QD +6D KD 6S 7H 3S KH 2H 5C JC 6C +3S 9S TC 6S 8H 2D AD 7S 8S TS +3C 6H 9C 3H 5C JC 8H QH TD QD +3C JS QD 5D TD 2C KH 9H TH AS +9S TC JD 3D 5C 5H AD QH 9H KC +TC 7H 4H 8H 3H TD 6S AC 7C 2S +QS 9D 5D 3C JC KS 4D 6C JH 2S +9S 6S 3C 7H TS 4C KD 6D 3D 9C +2D 9H AH AC 7H 2S JH 3S 7C QC +QD 9H 3C 2H AC AS 8S KD 8C KH +2D 7S TD TH 6D JD 8D 4D 2H 5S +8S QH KD JD QS JH 4D KC 5H 3S +3C KH QC 6D 8H 3S AH 7D TD 2D +5S 9H QH 4S 6S 6C 6D TS TH 7S +6C 4C 6D QS JS 9C TS 3H 8D 8S +JS 5C 7S AS 2C AH 2H AD 5S TC +KD 6C 9C 9D TS 2S JC 4H 2C QD +QS 9H TC 3H KC KS 4H 3C AD TH +KH 9C 2H KD 9D TC 7S KC JH 2D +7C 3S KC AS 8C 5D 9C 9S QH 3H +2D 8C TD 4C 2H QC 5D TC 2C 7D +KS 4D 6C QH TD KH 5D 7C AD 8D +2S 9S 8S 4C 8C 3D 6H QD 7C 7H +6C 8S QH 5H TS 5C 3C 4S 2S 2H +8S 6S 2H JC 3S 3H 9D 8C 2S 7H +QC 2C 8H 9C AC JD 4C 4H 6S 3S +3H 3S 7D 4C 9S 5H 8H JC 3D TC +QH 2S 2D 9S KD QD 9H AD 6D 9C +8D 2D KS 9S JC 4C JD KC 4S TH +KH TS 6D 4D 5C KD 5H AS 9H AD +QD JS 7C 6D 5D 5C TH 5H QH QS +9D QH KH 5H JH 4C 4D TC TH 6C +KH AS TS 9D KD 9C 7S 4D 8H 5S +KH AS 2S 7D 9D 4C TS TH AH 7C +KS 4D AC 8S 9S 8D TH QH 9D 5C +5D 5C 8C QS TC 4C 3D 3S 2C 8D +9D KS 2D 3C KC 4S 8C KH 6C JC +8H AH 6H 7D 7S QD 3C 4C 6C KC +3H 2C QH 8H AS 7D 4C 8C 4H KC +QD 5S 4H 2C TD AH JH QH 4C 8S +3H QS 5S JS 8H 2S 9H 9C 3S 2C +6H TS 7S JC QD AC TD KC 5S 3H +QH AS QS 7D JC KC 2C 4C 5C 5S +QH 3D AS JS 4H 8D 7H JC 2S 9C +5D 4D 2S 4S 9D 9C 2D QS 8H 7H +6D 7H 3H JS TS AC 2D JH 7C 8S +JH 5H KC 3C TC 5S 9H 4C 8H 9D +8S KC 5H 9H AD KS 9D KH 8D AH +JC 2H 9H KS 6S 3H QC 5H AH 9C +5C KH 5S AD 6C JC 9H QC 9C TD +5S 5D JC QH 2D KS 8H QS 2H TS +JH 5H 5S AH 7H 3C 8S AS TD KH +6H 3D JD 2C 4C KC 7S AH 6C JH +4C KS 9D AD 7S KC 7D 8H 3S 9C +7H 5C 5H 3C 8H QC 3D KH 6D JC +2D 4H 5D 7D QC AD AH 9H QH 8H +KD 8C JS 9D 3S 3C 2H 5D 6D 2S +8S 6S TS 3C 6H 8D 5S 3H TD 6C +KS 3D JH 9C 7C 9S QS 5S 4H 6H +7S 6S TH 4S KC KD 3S JC JH KS +7C 3C 2S 6D QH 2C 7S 5H 8H AH +KC 8D QD 6D KH 5C 7H 9D 3D 9C +6H 2D 8S JS 9S 2S 6D KC 7C TC +KD 9C JH 7H KC 8S 2S 7S 3D 6H +4H 9H 2D 4C 8H 7H 5S 8S 2H 8D +AD 7C 3C 7S 5S 4D 9H 3D JC KH +5D AS 7D 6D 9C JC 4C QH QS KH +KD JD 7D 3D QS QC 8S 6D JS QD +6S 8C 5S QH TH 9H AS AC 2C JD +QC KS QH 7S 3C 4C 5C KC 5D AH +6C 4H 9D AH 2C 3H KD 3D TS 5C +TD 8S QS AS JS 3H KD AC 4H KS +7D 5D TS 9H 4H 4C 9C 2H 8C QC +2C 7D 9H 4D KS 4C QH AD KD JS +QD AD AH KH 9D JS 9H JC KD JD +8S 3C 4S TS 7S 4D 5C 2S 6H 7C +JS 7S 5C KD 6D QH 8S TD 2H 6S +QH 6C TC 6H TD 4C 9D 2H QC 8H +3D TS 4D 2H 6H 6S 2C 7H 8S 6C +9H 9D JD JH 3S AH 2C 6S 3H 8S +2C QS 8C 5S 3H 2S 7D 3C AD 4S +5C QC QH AS TS 4S 6S 4C 5H JS +JH 5C TD 4C 6H JS KD KH QS 4H +TC KH JC 4D 9H 9D 8D KC 3C 8H +2H TC 8S AD 9S 4H TS 7H 2C 5C +4H 2S 6C 5S KS AH 9C 7C 8H KD +TS QH TD QS 3C JH AH 2C 8D 7D +5D KC 3H 5S AC 4S 7H QS 4C 2H +3D 7D QC KH JH 6D 6C TD TH KD +5S 8D TH 6C 9D 7D KH 8C 9S 6D +JD QS 7S QC 2S QH JC 4S KS 8D +7S 5S 9S JD KD 9C JC AD 2D 7C +4S 5H AH JH 9C 5D TD 7C 2D 6S +KC 6C 7H 6S 9C QD 5S 4H KS TD +6S 8D KS 2D TH TD 9H JD TS 3S +KH JS 4H 5D 9D TC TD QC JD TS +QS QD AC AD 4C 6S 2D AS 3H KC +4C 7C 3C TD QS 9C KC AS 8D AD +KC 7H QC 6D 8H 6S 5S AH 7S 8C +3S AD 9H JC 6D JD AS KH 6S JH +AD 3D TS KS 7H JH 2D JS QD AC +9C JD 7C 6D TC 6H 6C JC 3D 3S +QC KC 3S JC KD 2C 8D AH QS TS +AS KD 3D JD 8H 7C 8C 5C QD 6C diff --git a/55.fs b/55.fs new file mode 100644 index 0000000..6e7d78a --- /dev/null +++ b/55.fs @@ -0,0 +1,23 @@ +module _55 + +open System.Numerics + +let lynchrels = + + let isLynchrel n = + let revInt (n:bigint) = + n + |> (string) + |> common.revString + |> (fun s -> BigInteger.TryParse(s) |> snd) + + let rec isLynchrelRec (n:bigint,d) = + match (n + (revInt n)), d with + | _,0 -> true + | n,_ when ((string) >> common.isPalindrome) n -> false + | n,d -> isLynchrelRec (n, d-1) + isLynchrelRec (n,50) + + [|1I..10000I|] + |> Array.filter isLynchrel + |> Array.length \ No newline at end of file diff --git a/56.fs b/56.fs new file mode 100644 index 0000000..846caca --- /dev/null +++ b/56.fs @@ -0,0 +1,15 @@ +module _56 + +open System.Numerics + +let exponentialDigitSum = + let powDigitSum (a, b) = + BigInteger.Pow(a,b) + |> common.numDigits + |> Seq.sum + + let third (_, _, c) = c + + common.crossMap (fun a b -> (a,b)) [2I..100I] [2..10] + |> Seq.map (fun (a,b) -> (a,b,powDigitSum (a,b))) + |> Seq.maxBy third \ No newline at end of file diff --git a/57.fs b/57.fs new file mode 100644 index 0000000..93ee042 --- /dev/null +++ b/57.fs @@ -0,0 +1,23 @@ +module _57 + +open common +open Fraction +open System +open System.Numerics + +let sqrtTwoDigits = + let sqrtTwoConvergent d = + let rec sqrtTwo = function + | 1 -> (2I,1I) + | d -> addI (2I,1I) (reciprocalI(sqrtTwo (d - 1))) + addI (1I,1I) (reciprocalI(sqrtTwo d)) + + let digitCount n = + let d = BigInteger.Log10(n) + Math.Floor d + 1.0 |> int + + [1..1000] + |> List.map sqrtTwoConvergent + |> List.map (fun (n,d) -> (digitCount n, digitCount d)) + |> List.mapi (fun i (n,d) -> i + 1, n > d) + |> List.filter (snd >> ((=) true)) \ No newline at end of file diff --git a/58.fs b/58.fs new file mode 100644 index 0000000..dd92275 --- /dev/null +++ b/58.fs @@ -0,0 +1,33 @@ +module _58 + +open common + +let primeDiagonals = + + let isPrime n = + let limit = System.Math.Ceiling(sqrt (float n)) |> int + let rec check i = + i > n/limit || (n % i <> 0 && check (i + 1)) + check 2 + +// let isPrime = isPrimeW [2I;3I] + + let sideLengthPrimeCount l = 1 + (l - 1) * 2 + + let sideLengths = + (2,2) |> Seq.unfold( + fun (l, r) -> + match r with + | 0 -> Some(l, (l + 2, 3)) + | _ -> Some(l, (l, r - 1)) + ) + sideLengths + |> Seq.scan (fun (c,_) l -> (c + (l), l + 1)) (3,3) + |> Seq.scan (fun (p,_) (d,l) -> + let r = isPrime (d) + match r with + | true -> (p + 1, l) + | false -> (p, l) + ) (0,0) |> Seq.skip 1 + |> Seq.skipWhile (fun (p,l) -> (float p)/(float (sideLengthPrimeCount l)) >= 0.1) + |> Seq.nth 1 diff --git a/59.fs b/59.fs new file mode 100644 index 0000000..2d3220a --- /dev/null +++ b/59.fs @@ -0,0 +1,56 @@ +module _59 + +open System +open System.IO + +let cypher = + let encrypted = + File.ReadAllLines(@"59_cipher1.txt") + |> Array.collect (fun line -> line.Split(',') |> Array.map uint16) + + let decrypt f message key = + let repeatedKey = seq { while true do yield! key } + Seq.map2 f message repeatedKey + + let decryptXor = decrypt (^^^) + + let decriptMessage = decryptXor encrypted + + let de = encrypted |> Seq.distinct |> Seq.toArray + + let filteri f s = + seq { + for i in 0..((s |> Seq.length) - 1) do + let si = Seq.nth i s + if f i si then yield si + } + + let validKeys encryptedSymbols = + let lowercase = [97us..122us] |> List.toArray + let validSymbols = [32us..122us] |> List.toArray + + let isValidChar i = + Array.exists ((=) i) validSymbols + + [0..2] + |> List.map (fun offset -> + lowercase + |> Seq.filter (fun lc -> + encryptedSymbols + |> filteri (fun i e -> i % 3 = offset) + |> Seq.forall (fun e -> (e ^^^ lc) |> isValidChar)) + ) + + let messageToText message = + message + |> Seq.map (char >> string) + |> Seq.fold (fun acc e -> acc + e) "" + + validKeys encrypted + |> common.slottedPermutations + |> Seq.map (fun p -> (p, (decriptMessage >> messageToText) p)) + |> Seq.find (fun p -> (snd p).Contains(" the ")) + |> (fst >> decriptMessage) + |> Seq.map (int) + |> Seq.sum + diff --git a/59_cipher1.txt b/59_cipher1.txt new file mode 100644 index 0000000..c3ce21e --- /dev/null +++ b/59_cipher1.txt @@ -0,0 +1 @@ +79,59,12,2,79,35,8,28,20,2,3,68,8,9,68,45,0,12,9,67,68,4,7,5,23,27,1,21,79,85,78,79,85,71,38,10,71,27,12,2,79,6,2,8,13,9,1,13,9,8,68,19,7,1,71,56,11,21,11,68,6,3,22,2,14,0,30,79,1,31,6,23,19,10,0,73,79,44,2,79,19,6,28,68,16,6,16,15,79,35,8,11,72,71,14,10,3,79,12,2,79,19,6,28,68,32,0,0,73,79,86,71,39,1,71,24,5,20,79,13,9,79,16,15,10,68,5,10,3,14,1,10,14,1,3,71,24,13,19,7,68,32,0,0,73,79,87,71,39,1,71,12,22,2,14,16,2,11,68,2,25,1,21,22,16,15,6,10,0,79,16,15,10,22,2,79,13,20,65,68,41,0,16,15,6,10,0,79,1,31,6,23,19,28,68,19,7,5,19,79,12,2,79,0,14,11,10,64,27,68,10,14,15,2,65,68,83,79,40,14,9,1,71,6,16,20,10,8,1,79,19,6,28,68,14,1,68,15,6,9,75,79,5,9,11,68,19,7,13,20,79,8,14,9,1,71,8,13,17,10,23,71,3,13,0,7,16,71,27,11,71,10,18,2,29,29,8,1,1,73,79,81,71,59,12,2,79,8,14,8,12,19,79,23,15,6,10,2,28,68,19,7,22,8,26,3,15,79,16,15,10,68,3,14,22,12,1,1,20,28,72,71,14,10,3,79,16,15,10,68,3,14,22,12,1,1,20,28,68,4,14,10,71,1,1,17,10,22,71,10,28,19,6,10,0,26,13,20,7,68,14,27,74,71,89,68,32,0,0,71,28,1,9,27,68,45,0,12,9,79,16,15,10,68,37,14,20,19,6,23,19,79,83,71,27,11,71,27,1,11,3,68,2,25,1,21,22,11,9,10,68,6,13,11,18,27,68,19,7,1,71,3,13,0,7,16,71,28,11,71,27,12,6,27,68,2,25,1,21,22,11,9,10,68,10,6,3,15,27,68,5,10,8,14,10,18,2,79,6,2,12,5,18,28,1,71,0,2,71,7,13,20,79,16,2,28,16,14,2,11,9,22,74,71,87,68,45,0,12,9,79,12,14,2,23,2,3,2,71,24,5,20,79,10,8,27,68,19,7,1,71,3,13,0,7,16,92,79,12,2,79,19,6,28,68,8,1,8,30,79,5,71,24,13,19,1,1,20,28,68,19,0,68,19,7,1,71,3,13,0,7,16,73,79,93,71,59,12,2,79,11,9,10,68,16,7,11,71,6,23,71,27,12,2,79,16,21,26,1,71,3,13,0,7,16,75,79,19,15,0,68,0,6,18,2,28,68,11,6,3,15,27,68,19,0,68,2,25,1,21,22,11,9,10,72,71,24,5,20,79,3,8,6,10,0,79,16,8,79,7,8,2,1,71,6,10,19,0,68,19,7,1,71,24,11,21,3,0,73,79,85,87,79,38,18,27,68,6,3,16,15,0,17,0,7,68,19,7,1,71,24,11,21,3,0,71,24,5,20,79,9,6,11,1,71,27,12,21,0,17,0,7,68,15,6,9,75,79,16,15,10,68,16,0,22,11,11,68,3,6,0,9,72,16,71,29,1,4,0,3,9,6,30,2,79,12,14,2,68,16,7,1,9,79,12,2,79,7,6,2,1,73,79,85,86,79,33,17,10,10,71,6,10,71,7,13,20,79,11,16,1,68,11,14,10,3,79,5,9,11,68,6,2,11,9,8,68,15,6,23,71,0,19,9,79,20,2,0,20,11,10,72,71,7,1,71,24,5,20,79,10,8,27,68,6,12,7,2,31,16,2,11,74,71,94,86,71,45,17,19,79,16,8,79,5,11,3,68,16,7,11,71,13,1,11,6,1,17,10,0,71,7,13,10,79,5,9,11,68,6,12,7,2,31,16,2,11,68,15,6,9,75,79,12,2,79,3,6,25,1,71,27,12,2,79,22,14,8,12,19,79,16,8,79,6,2,12,11,10,10,68,4,7,13,11,11,22,2,1,68,8,9,68,32,0,0,73,79,85,84,79,48,15,10,29,71,14,22,2,79,22,2,13,11,21,1,69,71,59,12,14,28,68,14,28,68,9,0,16,71,14,68,23,7,29,20,6,7,6,3,68,5,6,22,19,7,68,21,10,23,18,3,16,14,1,3,71,9,22,8,2,68,15,26,9,6,1,68,23,14,23,20,6,11,9,79,11,21,79,20,11,14,10,75,79,16,15,6,23,71,29,1,5,6,22,19,7,68,4,0,9,2,28,68,1,29,11,10,79,35,8,11,74,86,91,68,52,0,68,19,7,1,71,56,11,21,11,68,5,10,7,6,2,1,71,7,17,10,14,10,71,14,10,3,79,8,14,25,1,3,79,12,2,29,1,71,0,10,71,10,5,21,27,12,71,14,9,8,1,3,71,26,23,73,79,44,2,79,19,6,28,68,1,26,8,11,79,11,1,79,17,9,9,5,14,3,13,9,8,68,11,0,18,2,79,5,9,11,68,1,14,13,19,7,2,18,3,10,2,28,23,73,79,37,9,11,68,16,10,68,15,14,18,2,79,23,2,10,10,71,7,13,20,79,3,11,0,22,30,67,68,19,7,1,71,8,8,8,29,29,71,0,2,71,27,12,2,79,11,9,3,29,71,60,11,9,79,11,1,79,16,15,10,68,33,14,16,15,10,22,73 diff --git a/6.ps1 b/6.ps1 new file mode 100644 index 0000000..e69de29 diff --git a/63_power_digits.fs b/63_power_digits.fs new file mode 100644 index 0000000..303e5c4 --- /dev/null +++ b/63_power_digits.fs @@ -0,0 +1,23 @@ +module _63 + +open System +open common + +let powerDigits = + let powDigitCount e n = + let d = Math.Log10(float n) * float e + Math.Floor d + 1.0 |> int + + let findNthPowerDigits e = + let pdc = powDigitCount e + allIntegers + |> Seq.map (fun i -> (i, pdc i)) + |> Seq.skipWhile (fun (_,n) -> n < e) + |> Seq.takeWhile (fun (_,n) -> n <= e) + |> Seq.toArray + + allIntegers |> Seq.skip 1 + |> Seq.map findNthPowerDigits + |> Seq.takeWhile (Seq.isEmpty >> not) + |> Seq.collect (fun p -> p) + |> Seq.length diff --git a/69.fs b/69.fs new file mode 100644 index 0000000..319a42d --- /dev/null +++ b/69.fs @@ -0,0 +1,26 @@ +module _69 + +open common + +let relativePrimeFunc = + + let primeDivisorArrayByMax max = + let isPrime = isPrimeFunByMax (int (System.Math.Ceiling(sqrt (float max)))) + divisorsInclSelf max |> Array.map (List.filter isPrime) + + let totientArrayByMax max = + let pd = primeDivisorArrayByMax max + let productFormula n primes = + let pFunc prime = 1.0 - 1.0/(float prime) + primes + |> List.fold (fun p prime -> p * (pFunc prime)) (float n) + pd + |> Array.mapi productFormula + + let indexArray = Array.mapi (fun i e -> (i,e)) + + totientArrayByMax 1000000 + |> indexArray + |> Seq.skip 1 + |> Seq.map (fun (i,t) -> (i, (float i)/t)) + |> Seq.maxBy snd \ No newline at end of file diff --git a/7.ps1 b/7.ps1 new file mode 100644 index 0000000..2c5dbc5 --- /dev/null +++ b/7.ps1 @@ -0,0 +1,20 @@ +$arr = New-Object bool[] 500000 +$arr[0] = $arr[1] = $TRUE +$count = 0 +for ($i=2; $i -lt $arr.Length; $i++) +{ + if ($arr[$i] -eq $TRUE) + { + continue + } + for ($j=$i*2; $j -lt $arr.Length; $j += $i) + { + $arr[$j] = $TRUE + } + $count ++ + write-host "$i is $count" + if ($count -eq 10001) + { + break + } +} diff --git a/79.fs b/79.fs new file mode 100644 index 0000000..752163a --- /dev/null +++ b/79.fs @@ -0,0 +1,33 @@ +module _79 + +open System.IO + +let findPasscode = + let logins = + File.ReadAllLines(@"79_keylog.txt") + let preceeds = + logins + |> Seq.collect (fun login -> seq { yield (login.[0], login.[1]); yield (login.[1], login.[2]) }) + |> Seq.distinct + + let collectTuple (a,b) = + seq { yield a; yield b } + + // topographical sort kinda + let rec orderGraph g = + seq { + if Seq.length g = 1 then + yield (collectTuple (Seq.nth 0 g)) |> Seq.toList + else + let allNodes = g |> Seq.collect collectTuple |> Seq.distinct |> Set.ofSeq + let sndNodes = g |> Seq.map snd |> Seq.distinct |> Set.ofSeq + let noPreceedingNodes = allNodes - sndNodes + for n in noPreceedingNodes do + let gMinusN = g |> Seq.filter (fun gi -> not(fst gi = n)) + for s in orderGraph gMinusN do + yield n :: s + } + + preceeds + |> orderGraph + |> Seq.toArray \ No newline at end of file diff --git a/79_keylog.txt b/79_keylog.txt new file mode 100644 index 0000000..c7d279d --- /dev/null +++ b/79_keylog.txt @@ -0,0 +1,50 @@ +319 +680 +180 +690 +129 +620 +762 +689 +762 +318 +368 +710 +720 +710 +629 +168 +160 +689 +716 +731 +736 +729 +316 +729 +729 +710 +769 +290 +719 +680 +318 +389 +162 +289 +162 +718 +729 +319 +790 +680 +890 +362 +319 +760 +316 +729 +380 +319 +728 +716 diff --git a/8.ps1 b/8.ps1 new file mode 100644 index 0000000..8f080dc --- /dev/null +++ b/8.ps1 @@ -0,0 +1,24 @@ +$num = gc 8.txt + +function product() { + BEGIN { + [int]$prod = 1 + } + PROCESS { + #write-host 'prod ' $prod + $prod *= [int][string]$_ + #write-host $_ $prod + } + END { + $prod + } +} + +$max = 0 +for ($i=0; $i -lt $num.length - 5; $i++) { + $curr = $num[$($i)..$($i+4)] | product + if ($curr -gt $max) { + $max = $curr + } +} +$max diff --git a/8.txt b/8.txt new file mode 100644 index 0000000..c129f96 --- /dev/null +++ b/8.txt @@ -0,0 +1 @@ +7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450 \ No newline at end of file diff --git a/81.fs b/81.fs new file mode 100644 index 0000000..585042d --- /dev/null +++ b/81.fs @@ -0,0 +1,71 @@ +module _81 + +open common +open System +open System.IO +open System.Collections.Generic + +let testMatrix = + [|"131,673,234,103,18"; + "201,96,342,965,150"; + "630,803,746,422,111"; + "537,699,497,121,956"; + "805,732,524,37,331"|] + +type Direction = + | Down | Right | Init + + +let coordMod f coord = function + | Down -> (f (fst coord), snd coord) + | Right -> (fst coord, f (snd coord)) + | Init -> failwith "Ha" + +let coordDeref = coordMod ((-) 1) +let coordRef = coordMod ((+) 1) + +let shortestDistance = + let matrix = + //File.ReadAllLines(@"81_matrix.txt") + array2D (testMatrix |> Array.map strSplitInt) + let mLen1, mLen2 = Array2D.length1 matrix, Array2D.length2 matrix + + let dist = + Array2D.create mLen1 mLen2 Int32.MaxValue + +// let rec listInsert f v l = +// match l with +// | x::xs when f x -> v::x::xs +// | x::xs -> x::listInsert f v xs +// | [] -> [v] + + let rec f frontier = + + let expand coord = + seq { + let d, r = coordRef coord Down, coordRef coord Right + let inMatrix coord = + fst coord < mLen1 && snd coord < mLen2 + let incl c = inMatrix c && dist.[fst c, snd c] = Int32.MaxValue + + if incl d then yield d + if incl r then yield r } + + match frontier with + | [] -> () + | (coord,d)::xs -> + dist.[fst coord, snd coord] <- d + xs + |> List.filter (fun ((c),_) -> c <> coord) + |> List.append + (expand coord + |> Seq.map ( + fun f -> + let fd = matrix.[fst f, snd f] + d + f,fd) + |> List.ofSeq) + |> List.sortWith (fun (_,d1) (_,d2) -> d1 - d2) + |> f + + f [(0,0),matrix.[0,0]] + dist.[mLen1 - 1, mLen2 - 1] diff --git a/81_matrix.txt b/81_matrix.txt new file mode 100644 index 0000000..738dd7b --- /dev/null +++ b/81_matrix.txt @@ -0,0 +1,80 @@ +4445,2697,5115,718,2209,2212,654,4348,3079,6821,7668,3276,8874,4190,3785,2752,9473,7817,9137,496,7338,3434,7152,4355,4552,7917,7827,2460,2350,691,3514,5880,3145,7633,7199,3783,5066,7487,3285,1084,8985,760,872,8609,8051,1134,9536,5750,9716,9371,7619,5617,275,9721,2997,2698,1887,8825,6372,3014,2113,7122,7050,6775,5948,2758,1219,3539,348,7989,2735,9862,1263,8089,6401,9462,3168,2758,3748,5870 +1096,20,1318,7586,5167,2642,1443,5741,7621,7030,5526,4244,2348,4641,9827,2448,6918,5883,3737,300,7116,6531,567,5997,3971,6623,820,6148,3287,1874,7981,8424,7672,7575,6797,6717,1078,5008,4051,8795,5820,346,1851,6463,2117,6058,3407,8211,117,4822,1317,4377,4434,5925,8341,4800,1175,4173,690,8978,7470,1295,3799,8724,3509,9849,618,3320,7068,9633,2384,7175,544,6583,1908,9983,481,4187,9353,9377 +9607,7385,521,6084,1364,8983,7623,1585,6935,8551,2574,8267,4781,3834,2764,2084,2669,4656,9343,7709,2203,9328,8004,6192,5856,3555,2260,5118,6504,1839,9227,1259,9451,1388,7909,5733,6968,8519,9973,1663,5315,7571,3035,4325,4283,2304,6438,3815,9213,9806,9536,196,5542,6907,2475,1159,5820,9075,9470,2179,9248,1828,4592,9167,3713,4640,47,3637,309,7344,6955,346,378,9044,8635,7466,5036,9515,6385,9230 +7206,3114,7760,1094,6150,5182,7358,7387,4497,955,101,1478,7777,6966,7010,8417,6453,4955,3496,107,449,8271,131,2948,6185,784,5937,8001,6104,8282,4165,3642,710,2390,575,715,3089,6964,4217,192,5949,7006,715,3328,1152,66,8044,4319,1735,146,4818,5456,6451,4113,1063,4781,6799,602,1504,6245,6550,1417,1343,2363,3785,5448,4545,9371,5420,5068,4613,4882,4241,5043,7873,8042,8434,3939,9256,2187 +3620,8024,577,9997,7377,7682,1314,1158,6282,6310,1896,2509,5436,1732,9480,706,496,101,6232,7375,2207,2306,110,6772,3433,2878,8140,5933,8688,1399,2210,7332,6172,6403,7333,4044,2291,1790,2446,7390,8698,5723,3678,7104,1825,2040,140,3982,4905,4160,2200,5041,2512,1488,2268,1175,7588,8321,8078,7312,977,5257,8465,5068,3453,3096,1651,7906,253,9250,6021,8791,8109,6651,3412,345,4778,5152,4883,7505 +1074,5438,9008,2679,5397,5429,2652,3403,770,9188,4248,2493,4361,8327,9587,707,9525,5913,93,1899,328,2876,3604,673,8576,6908,7659,2544,3359,3883,5273,6587,3065,1749,3223,604,9925,6941,2823,8767,7039,3290,3214,1787,7904,3421,7137,9560,8451,2669,9219,6332,1576,5477,6755,8348,4164,4307,2984,4012,6629,1044,2874,6541,4942,903,1404,9125,5160,8836,4345,2581,460,8438,1538,5507,668,3352,2678,6942 +4295,1176,5596,1521,3061,9868,7037,7129,8933,6659,5947,5063,3653,9447,9245,2679,767,714,116,8558,163,3927,8779,158,5093,2447,5782,3967,1716,931,7772,8164,1117,9244,5783,7776,3846,8862,6014,2330,6947,1777,3112,6008,3491,1906,5952,314,4602,8994,5919,9214,3995,5026,7688,6809,5003,3128,2509,7477,110,8971,3982,8539,2980,4689,6343,5411,2992,5270,5247,9260,2269,7474,1042,7162,5206,1232,4556,4757 +510,3556,5377,1406,5721,4946,2635,7847,4251,8293,8281,6351,4912,287,2870,3380,3948,5322,3840,4738,9563,1906,6298,3234,8959,1562,6297,8835,7861,239,6618,1322,2553,2213,5053,5446,4402,6500,5182,8585,6900,5756,9661,903,5186,7687,5998,7997,8081,8955,4835,6069,2621,1581,732,9564,1082,1853,5442,1342,520,1737,3703,5321,4793,2776,1508,1647,9101,2499,6891,4336,7012,3329,3212,1442,9993,3988,4930,7706 +9444,3401,5891,9716,1228,7107,109,3563,2700,6161,5039,4992,2242,8541,7372,2067,1294,3058,1306,320,8881,5756,9326,411,8650,8824,5495,8282,8397,2000,1228,7817,2099,6473,3571,5994,4447,1299,5991,543,7874,2297,1651,101,2093,3463,9189,6872,6118,872,1008,1779,2805,9084,4048,2123,5877,55,3075,1737,9459,4535,6453,3644,108,5982,4437,5213,1340,6967,9943,5815,669,8074,1838,6979,9132,9315,715,5048 +3327,4030,7177,6336,9933,5296,2621,4785,2755,4832,2512,2118,2244,4407,2170,499,7532,9742,5051,7687,970,6924,3527,4694,5145,1306,2165,5940,2425,8910,3513,1909,6983,346,6377,4304,9330,7203,6605,3709,3346,970,369,9737,5811,4427,9939,3693,8436,5566,1977,3728,2399,3985,8303,2492,5366,9802,9193,7296,1033,5060,9144,2766,1151,7629,5169,5995,58,7619,7565,4208,1713,6279,3209,4908,9224,7409,1325,8540 +6882,1265,1775,3648,4690,959,5837,4520,5394,1378,9485,1360,4018,578,9174,2932,9890,3696,116,1723,1178,9355,7063,1594,1918,8574,7594,7942,1547,6166,7888,354,6932,4651,1010,7759,6905,661,7689,6092,9292,3845,9605,8443,443,8275,5163,7720,7265,6356,7779,1798,1754,5225,6661,1180,8024,5666,88,9153,1840,3508,1193,4445,2648,3538,6243,6375,8107,5902,5423,2520,1122,5015,6113,8859,9370,966,8673,2442 +7338,3423,4723,6533,848,8041,7921,8277,4094,5368,7252,8852,9166,2250,2801,6125,8093,5738,4038,9808,7359,9494,601,9116,4946,2702,5573,2921,9862,1462,1269,2410,4171,2709,7508,6241,7522,615,2407,8200,4189,5492,5649,7353,2590,5203,4274,710,7329,9063,956,8371,3722,4253,4785,1194,4828,4717,4548,940,983,2575,4511,2938,1827,2027,2700,1236,841,5760,1680,6260,2373,3851,1841,4968,1172,5179,7175,3509 +4420,1327,3560,2376,6260,2988,9537,4064,4829,8872,9598,3228,1792,7118,9962,9336,4368,9189,6857,1829,9863,6287,7303,7769,2707,8257,2391,2009,3975,4993,3068,9835,3427,341,8412,2134,4034,8511,6421,3041,9012,2983,7289,100,1355,7904,9186,6920,5856,2008,6545,8331,3655,5011,839,8041,9255,6524,3862,8788,62,7455,3513,5003,8413,3918,2076,7960,6108,3638,6999,3436,1441,4858,4181,1866,8731,7745,3744,1000 +356,8296,8325,1058,1277,4743,3850,2388,6079,6462,2815,5620,8495,5378,75,4324,3441,9870,1113,165,1544,1179,2834,562,6176,2313,6836,8839,2986,9454,5199,6888,1927,5866,8760,320,1792,8296,7898,6121,7241,5886,5814,2815,8336,1576,4314,3109,2572,6011,2086,9061,9403,3947,5487,9731,7281,3159,1819,1334,3181,5844,5114,9898,4634,2531,4412,6430,4262,8482,4546,4555,6804,2607,9421,686,8649,8860,7794,6672 +9870,152,1558,4963,8750,4754,6521,6256,8818,5208,5691,9659,8377,9725,5050,5343,2539,6101,1844,9700,7750,8114,5357,3001,8830,4438,199,9545,8496,43,2078,327,9397,106,6090,8181,8646,6414,7499,5450,4850,6273,5014,4131,7639,3913,6571,8534,9703,4391,7618,445,1320,5,1894,6771,7383,9191,4708,9706,6939,7937,8726,9382,5216,3685,2247,9029,8154,1738,9984,2626,9438,4167,6351,5060,29,1218,1239,4785 +192,5213,8297,8974,4032,6966,5717,1179,6523,4679,9513,1481,3041,5355,9303,9154,1389,8702,6589,7818,6336,3539,5538,3094,6646,6702,6266,2759,4608,4452,617,9406,8064,6379,444,5602,4950,1810,8391,1536,316,8714,1178,5182,5863,5110,5372,4954,1978,2971,5680,4863,2255,4630,5723,2168,538,1692,1319,7540,440,6430,6266,7712,7385,5702,620,641,3136,7350,1478,3155,2820,9109,6261,1122,4470,14,8493,2095 +1046,4301,6082,474,4974,7822,2102,5161,5172,6946,8074,9716,6586,9962,9749,5015,2217,995,5388,4402,7652,6399,6539,1349,8101,3677,1328,9612,7922,2879,231,5887,2655,508,4357,4964,3554,5930,6236,7384,4614,280,3093,9600,2110,7863,2631,6626,6620,68,1311,7198,7561,1768,5139,1431,221,230,2940,968,5283,6517,2146,1646,869,9402,7068,8645,7058,1765,9690,4152,2926,9504,2939,7504,6074,2944,6470,7859 +4659,736,4951,9344,1927,6271,8837,8711,3241,6579,7660,5499,5616,3743,5801,4682,9748,8796,779,1833,4549,8138,4026,775,4170,2432,4174,3741,7540,8017,2833,4027,396,811,2871,1150,9809,2719,9199,8504,1224,540,2051,3519,7982,7367,2761,308,3358,6505,2050,4836,5090,7864,805,2566,2409,6876,3361,8622,5572,5895,3280,441,7893,8105,1634,2929,274,3926,7786,6123,8233,9921,2674,5340,1445,203,4585,3837 +5759,338,7444,7968,7742,3755,1591,4839,1705,650,7061,2461,9230,9391,9373,2413,1213,431,7801,4994,2380,2703,6161,6878,8331,2538,6093,1275,5065,5062,2839,582,1014,8109,3525,1544,1569,8622,7944,2905,6120,1564,1839,5570,7579,1318,2677,5257,4418,5601,7935,7656,5192,1864,5886,6083,5580,6202,8869,1636,7907,4759,9082,5854,3185,7631,6854,5872,5632,5280,1431,2077,9717,7431,4256,8261,9680,4487,4752,4286 +1571,1428,8599,1230,7772,4221,8523,9049,4042,8726,7567,6736,9033,2104,4879,4967,6334,6716,3994,1269,8995,6539,3610,7667,6560,6065,874,848,4597,1711,7161,4811,6734,5723,6356,6026,9183,2586,5636,1092,7779,7923,8747,6887,7505,9909,1792,3233,4526,3176,1508,8043,720,5212,6046,4988,709,5277,8256,3642,1391,5803,1468,2145,3970,6301,7767,2359,8487,9771,8785,7520,856,1605,8972,2402,2386,991,1383,5963 +1822,4824,5957,6511,9868,4113,301,9353,6228,2881,2966,6956,9124,9574,9233,1601,7340,973,9396,540,4747,8590,9535,3650,7333,7583,4806,3593,2738,8157,5215,8472,2284,9473,3906,6982,5505,6053,7936,6074,7179,6688,1564,1103,6860,5839,2022,8490,910,7551,7805,881,7024,1855,9448,4790,1274,3672,2810,774,7623,4223,4850,6071,9975,4935,1915,9771,6690,3846,517,463,7624,4511,614,6394,3661,7409,1395,8127 +8738,3850,9555,3695,4383,2378,87,6256,6740,7682,9546,4255,6105,2000,1851,4073,8957,9022,6547,5189,2487,303,9602,7833,1628,4163,6678,3144,8589,7096,8913,5823,4890,7679,1212,9294,5884,2972,3012,3359,7794,7428,1579,4350,7246,4301,7779,7790,3294,9547,4367,3549,1958,8237,6758,3497,3250,3456,6318,1663,708,7714,6143,6890,3428,6853,9334,7992,591,6449,9786,1412,8500,722,5468,1371,108,3939,4199,2535 +7047,4323,1934,5163,4166,461,3544,2767,6554,203,6098,2265,9078,2075,4644,6641,8412,9183,487,101,7566,5622,1975,5726,2920,5374,7779,5631,3753,3725,2672,3621,4280,1162,5812,345,8173,9785,1525,955,5603,2215,2580,5261,2765,2990,5979,389,3907,2484,1232,5933,5871,3304,1138,1616,5114,9199,5072,7442,7245,6472,4760,6359,9053,7876,2564,9404,3043,9026,2261,3374,4460,7306,2326,966,828,3274,1712,3446 +3975,4565,8131,5800,4570,2306,8838,4392,9147,11,3911,7118,9645,4994,2028,6062,5431,2279,8752,2658,7836,994,7316,5336,7185,3289,1898,9689,2331,5737,3403,1124,2679,3241,7748,16,2724,5441,6640,9368,9081,5618,858,4969,17,2103,6035,8043,7475,2181,939,415,1617,8500,8253,2155,7843,7974,7859,1746,6336,3193,2617,8736,4079,6324,6645,8891,9396,5522,6103,1857,8979,3835,2475,1310,7422,610,8345,7615 +9248,5397,5686,2988,3446,4359,6634,9141,497,9176,6773,7448,1907,8454,916,1596,2241,1626,1384,2741,3649,5362,8791,7170,2903,2475,5325,6451,924,3328,522,90,4813,9737,9557,691,2388,1383,4021,1609,9206,4707,5200,7107,8104,4333,9860,5013,1224,6959,8527,1877,4545,7772,6268,621,4915,9349,5970,706,9583,3071,4127,780,8231,3017,9114,3836,7503,2383,1977,4870,8035,2379,9704,1037,3992,3642,1016,4303 +5093,138,4639,6609,1146,5565,95,7521,9077,2272,974,4388,2465,2650,722,4998,3567,3047,921,2736,7855,173,2065,4238,1048,5,6847,9548,8632,9194,5942,4777,7910,8971,6279,7253,2516,1555,1833,3184,9453,9053,6897,7808,8629,4877,1871,8055,4881,7639,1537,7701,2508,7564,5845,5023,2304,5396,3193,2955,1088,3801,6203,1748,3737,1276,13,4120,7715,8552,3047,2921,106,7508,304,1280,7140,2567,9135,5266 +6237,4607,7527,9047,522,7371,4883,2540,5867,6366,5301,1570,421,276,3361,527,6637,4861,2401,7522,5808,9371,5298,2045,5096,5447,7755,5115,7060,8529,4078,1943,1697,1764,5453,7085,960,2405,739,2100,5800,728,9737,5704,5693,1431,8979,6428,673,7540,6,7773,5857,6823,150,5869,8486,684,5816,9626,7451,5579,8260,3397,5322,6920,1879,2127,2884,5478,4977,9016,6165,6292,3062,5671,5968,78,4619,4763 +9905,7127,9390,5185,6923,3721,9164,9705,4341,1031,1046,5127,7376,6528,3248,4941,1178,7889,3364,4486,5358,9402,9158,8600,1025,874,1839,1783,309,9030,1843,845,8398,1433,7118,70,8071,2877,3904,8866,6722,4299,10,1929,5897,4188,600,1889,3325,2485,6473,4474,7444,6992,4846,6166,4441,2283,2629,4352,7775,1101,2214,9985,215,8270,9750,2740,8361,7103,5930,8664,9690,8302,9267,344,2077,1372,1880,9550 +5825,8517,7769,2405,8204,1060,3603,7025,478,8334,1997,3692,7433,9101,7294,7498,9415,5452,3850,3508,6857,9213,6807,4412,7310,854,5384,686,4978,892,8651,3241,2743,3801,3813,8588,6701,4416,6990,6490,3197,6838,6503,114,8343,5844,8646,8694,65,791,5979,2687,2621,2019,8097,1423,3644,9764,4921,3266,3662,5561,2476,8271,8138,6147,1168,3340,1998,9874,6572,9873,6659,5609,2711,3931,9567,4143,7833,8887 +6223,2099,2700,589,4716,8333,1362,5007,2753,2848,4441,8397,7192,8191,4916,9955,6076,3370,6396,6971,3156,248,3911,2488,4930,2458,7183,5455,170,6809,6417,3390,1956,7188,577,7526,2203,968,8164,479,8699,7915,507,6393,4632,1597,7534,3604,618,3280,6061,9793,9238,8347,568,9645,2070,5198,6482,5000,9212,6655,5961,7513,1323,3872,6170,3812,4146,2736,67,3151,5548,2781,9679,7564,5043,8587,1893,4531 +5826,3690,6724,2121,9308,6986,8106,6659,2142,1642,7170,2877,5757,6494,8026,6571,8387,9961,6043,9758,9607,6450,8631,8334,7359,5256,8523,2225,7487,1977,9555,8048,5763,2414,4948,4265,2427,8978,8088,8841,9208,9601,5810,9398,8866,9138,4176,5875,7212,3272,6759,5678,7649,4922,5422,1343,8197,3154,3600,687,1028,4579,2084,9467,4492,7262,7296,6538,7657,7134,2077,1505,7332,6890,8964,4879,7603,7400,5973,739 +1861,1613,4879,1884,7334,966,2000,7489,2123,4287,1472,3263,4726,9203,1040,4103,6075,6049,330,9253,4062,4268,1635,9960,577,1320,3195,9628,1030,4092,4979,6474,6393,2799,6967,8687,7724,7392,9927,2085,3200,6466,8702,265,7646,8665,7986,7266,4574,6587,612,2724,704,3191,8323,9523,3002,704,5064,3960,8209,2027,2758,8393,4875,4641,9584,6401,7883,7014,768,443,5490,7506,1852,2005,8850,5776,4487,4269 +4052,6687,4705,7260,6645,6715,3706,5504,8672,2853,1136,8187,8203,4016,871,1809,1366,4952,9294,5339,6872,2645,6083,7874,3056,5218,7485,8796,7401,3348,2103,426,8572,4163,9171,3176,948,7654,9344,3217,1650,5580,7971,2622,76,2874,880,2034,9929,1546,2659,5811,3754,7096,7436,9694,9960,7415,2164,953,2360,4194,2397,1047,2196,6827,575,784,2675,8821,6802,7972,5996,6699,2134,7577,2887,1412,4349,4380 +4629,2234,6240,8132,7592,3181,6389,1214,266,1910,2451,8784,2790,1127,6932,1447,8986,2492,5476,397,889,3027,7641,5083,5776,4022,185,3364,5701,2442,2840,4160,9525,4828,6602,2614,7447,3711,4505,7745,8034,6514,4907,2605,7753,6958,7270,6936,3006,8968,439,2326,4652,3085,3425,9863,5049,5361,8688,297,7580,8777,7916,6687,8683,7141,306,9569,2384,1500,3346,4601,7329,9040,6097,2727,6314,4501,4974,2829 +8316,4072,2025,6884,3027,1808,5714,7624,7880,8528,4205,8686,7587,3230,1139,7273,6163,6986,3914,9309,1464,9359,4474,7095,2212,7302,2583,9462,7532,6567,1606,4436,8981,5612,6796,4385,5076,2007,6072,3678,8331,1338,3299,8845,4783,8613,4071,1232,6028,2176,3990,2148,3748,103,9453,538,6745,9110,926,3125,473,5970,8728,7072,9062,1404,1317,5139,9862,6496,6062,3338,464,1600,2532,1088,8232,7739,8274,3873 +2341,523,7096,8397,8301,6541,9844,244,4993,2280,7689,4025,4196,5522,7904,6048,2623,9258,2149,9461,6448,8087,7245,1917,8340,7127,8466,5725,6996,3421,5313,512,9164,9837,9794,8369,4185,1488,7210,1524,1016,4620,9435,2478,7765,8035,697,6677,3724,6988,5853,7662,3895,9593,1185,4727,6025,5734,7665,3070,138,8469,6748,6459,561,7935,8646,2378,462,7755,3115,9690,8877,3946,2728,8793,244,6323,8666,4271 +6430,2406,8994,56,1267,3826,9443,7079,7579,5232,6691,3435,6718,5698,4144,7028,592,2627,217,734,6194,8156,9118,58,2640,8069,4127,3285,694,3197,3377,4143,4802,3324,8134,6953,7625,3598,3584,4289,7065,3434,2106,7132,5802,7920,9060,7531,3321,1725,1067,3751,444,5503,6785,7937,6365,4803,198,6266,8177,1470,6390,1606,2904,7555,9834,8667,2033,1723,5167,1666,8546,8152,473,4475,6451,7947,3062,3281 +2810,3042,7759,1741,2275,2609,7676,8640,4117,1958,7500,8048,1757,3954,9270,1971,4796,2912,660,5511,3553,1012,5757,4525,6084,7198,8352,5775,7726,8591,7710,9589,3122,4392,6856,5016,749,2285,3356,7482,9956,7348,2599,8944,495,3462,3578,551,4543,7207,7169,7796,1247,4278,6916,8176,3742,8385,2310,1345,8692,2667,4568,1770,8319,3585,4920,3890,4928,7343,5385,9772,7947,8786,2056,9266,3454,2807,877,2660 +6206,8252,5928,5837,4177,4333,207,7934,5581,9526,8906,1498,8411,2984,5198,5134,2464,8435,8514,8674,3876,599,5327,826,2152,4084,2433,9327,9697,4800,2728,3608,3849,3861,3498,9943,1407,3991,7191,9110,5666,8434,4704,6545,5944,2357,1163,4995,9619,6754,4200,9682,6654,4862,4744,5953,6632,1054,293,9439,8286,2255,696,8709,1533,1844,6441,430,1999,6063,9431,7018,8057,2920,6266,6799,356,3597,4024,6665 +3847,6356,8541,7225,2325,2946,5199,469,5450,7508,2197,9915,8284,7983,6341,3276,3321,16,1321,7608,5015,3362,8491,6968,6818,797,156,2575,706,9516,5344,5457,9210,5051,8099,1617,9951,7663,8253,9683,2670,1261,4710,1068,8753,4799,1228,2621,3275,6188,4699,1791,9518,8701,5932,4275,6011,9877,2933,4182,6059,2930,6687,6682,9771,654,9437,3169,8596,1827,5471,8909,2352,123,4394,3208,8756,5513,6917,2056 +5458,8173,3138,3290,4570,4892,3317,4251,9699,7973,1163,1935,5477,6648,9614,5655,9592,975,9118,2194,7322,8248,8413,3462,8560,1907,7810,6650,7355,2939,4973,6894,3933,3784,3200,2419,9234,4747,2208,2207,1945,2899,1407,6145,8023,3484,5688,7686,2737,3828,3704,9004,5190,9740,8643,8650,5358,4426,1522,1707,3613,9887,6956,2447,2762,833,1449,9489,2573,1080,4167,3456,6809,2466,227,7125,2759,6250,6472,8089 +3266,7025,9756,3914,1265,9116,7723,9788,6805,5493,2092,8688,6592,9173,4431,4028,6007,7131,4446,4815,3648,6701,759,3312,8355,4485,4187,5188,8746,7759,3528,2177,5243,8379,3838,7233,4607,9187,7216,2190,6967,2920,6082,7910,5354,3609,8958,6949,7731,494,8753,8707,1523,4426,3543,7085,647,6771,9847,646,5049,824,8417,5260,2730,5702,2513,9275,4279,2767,8684,1165,9903,4518,55,9682,8963,6005,2102,6523 +1998,8731,936,1479,5259,7064,4085,91,7745,7136,3773,3810,730,8255,2705,2653,9790,6807,2342,355,9344,2668,3690,2028,9679,8102,574,4318,6481,9175,5423,8062,2867,9657,7553,3442,3920,7430,3945,7639,3714,3392,2525,4995,4850,2867,7951,9667,486,9506,9888,781,8866,1702,3795,90,356,1483,4200,2131,6969,5931,486,6880,4404,1084,5169,4910,6567,8335,4686,5043,2614,3352,2667,4513,6472,7471,5720,1616 +8878,1613,1716,868,1906,2681,564,665,5995,2474,7496,3432,9491,9087,8850,8287,669,823,347,6194,2264,2592,7871,7616,8508,4827,760,2676,4660,4881,7572,3811,9032,939,4384,929,7525,8419,5556,9063,662,8887,7026,8534,3111,1454,2082,7598,5726,6687,9647,7608,73,3014,5063,670,5461,5631,3367,9796,8475,7908,5073,1565,5008,5295,4457,1274,4788,1728,338,600,8415,8535,9351,7750,6887,5845,1741,125 +3637,6489,9634,9464,9055,2413,7824,9517,7532,3577,7050,6186,6980,9365,9782,191,870,2497,8498,2218,2757,5420,6468,586,3320,9230,1034,1393,9886,5072,9391,1178,8464,8042,6869,2075,8275,3601,7715,9470,8786,6475,8373,2159,9237,2066,3264,5000,679,355,3069,4073,494,2308,5512,4334,9438,8786,8637,9774,1169,1949,6594,6072,4270,9158,7916,5752,6794,9391,6301,5842,3285,2141,3898,8027,4310,8821,7079,1307 +8497,6681,4732,7151,7060,5204,9030,7157,833,5014,8723,3207,9796,9286,4913,119,5118,7650,9335,809,3675,2597,5144,3945,5090,8384,187,4102,1260,2445,2792,4422,8389,9290,50,1765,1521,6921,8586,4368,1565,5727,7855,2003,4834,9897,5911,8630,5070,1330,7692,7557,7980,6028,5805,9090,8265,3019,3802,698,9149,5748,1965,9658,4417,5994,5584,8226,2937,272,5743,1278,5698,8736,2595,6475,5342,6596,1149,6920 +8188,8009,9546,6310,8772,2500,9846,6592,6872,3857,1307,8125,7042,1544,6159,2330,643,4604,7899,6848,371,8067,2062,3200,7295,1857,9505,6936,384,2193,2190,301,8535,5503,1462,7380,5114,4824,8833,1763,4974,8711,9262,6698,3999,2645,6937,7747,1128,2933,3556,7943,2885,3122,9105,5447,418,2899,5148,3699,9021,9501,597,4084,175,1621,1,1079,6067,5812,4326,9914,6633,5394,4233,6728,9084,1864,5863,1225 +9935,8793,9117,1825,9542,8246,8437,3331,9128,9675,6086,7075,319,1334,7932,3583,7167,4178,1726,7720,695,8277,7887,6359,5912,1719,2780,8529,1359,2013,4498,8072,1129,9998,1147,8804,9405,6255,1619,2165,7491,1,8882,7378,3337,503,5758,4109,3577,985,3200,7615,8058,5032,1080,6410,6873,5496,1466,2412,9885,5904,4406,3605,8770,4361,6205,9193,1537,9959,214,7260,9566,1685,100,4920,7138,9819,5637,976 +3466,9854,985,1078,7222,8888,5466,5379,3578,4540,6853,8690,3728,6351,7147,3134,6921,9692,857,3307,4998,2172,5783,3931,9417,2541,6299,13,787,2099,9131,9494,896,8600,1643,8419,7248,2660,2609,8579,91,6663,5506,7675,1947,6165,4286,1972,9645,3805,1663,1456,8853,5705,9889,7489,1107,383,4044,2969,3343,152,7805,4980,9929,5033,1737,9953,7197,9158,4071,1324,473,9676,3984,9680,3606,8160,7384,5432 +1005,4512,5186,3953,2164,3372,4097,3247,8697,3022,9896,4101,3871,6791,3219,2742,4630,6967,7829,5991,6134,1197,1414,8923,8787,1394,8852,5019,7768,5147,8004,8825,5062,9625,7988,1110,3992,7984,9966,6516,6251,8270,421,3723,1432,4830,6935,8095,9059,2214,6483,6846,3120,1587,6201,6691,9096,9627,6671,4002,3495,9939,7708,7465,5879,6959,6634,3241,3401,2355,9061,2611,7830,3941,2177,2146,5089,7079,519,6351 +7280,8586,4261,2831,7217,3141,9994,9940,5462,2189,4005,6942,9848,5350,8060,6665,7519,4324,7684,657,9453,9296,2944,6843,7499,7847,1728,9681,3906,6353,5529,2822,3355,3897,7724,4257,7489,8672,4356,3983,1948,6892,7415,4153,5893,4190,621,1736,4045,9532,7701,3671,1211,1622,3176,4524,9317,7800,5638,6644,6943,5463,3531,2821,1347,5958,3436,1438,2999,994,850,4131,2616,1549,3465,5946,690,9273,6954,7991 +9517,399,3249,2596,7736,2142,1322,968,7350,1614,468,3346,3265,7222,6086,1661,5317,2582,7959,4685,2807,2917,1037,5698,1529,3972,8716,2634,3301,3412,8621,743,8001,4734,888,7744,8092,3671,8941,1487,5658,7099,2781,99,1932,4443,4756,4652,9328,1581,7855,4312,5976,7255,6480,3996,2748,1973,9731,4530,2790,9417,7186,5303,3557,351,7182,9428,1342,9020,7599,1392,8304,2070,9138,7215,2008,9937,1106,7110 +7444,769,9688,632,1571,6820,8743,4338,337,3366,3073,1946,8219,104,4210,6986,249,5061,8693,7960,6546,1004,8857,5997,9352,4338,6105,5008,2556,6518,6694,4345,3727,7956,20,3954,8652,4424,9387,2035,8358,5962,5304,5194,8650,8282,1256,1103,2138,6679,1985,3653,2770,2433,4278,615,2863,1715,242,3790,2636,6998,3088,1671,2239,957,5411,4595,6282,2881,9974,2401,875,7574,2987,4587,3147,6766,9885,2965 +3287,3016,3619,6818,9073,6120,5423,557,2900,2015,8111,3873,1314,4189,1846,4399,7041,7583,2427,2864,3525,5002,2069,748,1948,6015,2684,438,770,8367,1663,7887,7759,1885,157,7770,4520,4878,3857,1137,3525,3050,6276,5569,7649,904,4533,7843,2199,5648,7628,9075,9441,3600,7231,2388,5640,9096,958,3058,584,5899,8150,1181,9616,1098,8162,6819,8171,1519,1140,7665,8801,2632,1299,9192,707,9955,2710,7314 +1772,2963,7578,3541,3095,1488,7026,2634,6015,4633,4370,2762,1650,2174,909,8158,2922,8467,4198,4280,9092,8856,8835,5457,2790,8574,9742,5054,9547,4156,7940,8126,9824,7340,8840,6574,3547,1477,3014,6798,7134,435,9484,9859,3031,4,1502,4133,1738,1807,4825,463,6343,9701,8506,9822,9555,8688,8168,3467,3234,6318,1787,5591,419,6593,7974,8486,9861,6381,6758,194,3061,4315,2863,4665,3789,2201,1492,4416 +126,8927,6608,5682,8986,6867,1715,6076,3159,788,3140,4744,830,9253,5812,5021,7616,8534,1546,9590,1101,9012,9821,8132,7857,4086,1069,7491,2988,1579,2442,4321,2149,7642,6108,250,6086,3167,24,9528,7663,2685,1220,9196,1397,5776,1577,1730,5481,977,6115,199,6326,2183,3767,5928,5586,7561,663,8649,9688,949,5913,9160,1870,5764,9887,4477,6703,1413,4995,5494,7131,2192,8969,7138,3997,8697,646,1028 +8074,1731,8245,624,4601,8706,155,8891,309,2552,8208,8452,2954,3124,3469,4246,3352,1105,4509,8677,9901,4416,8191,9283,5625,7120,2952,8881,7693,830,4580,8228,9459,8611,4499,1179,4988,1394,550,2336,6089,6872,269,7213,1848,917,6672,4890,656,1478,6536,3165,4743,4990,1176,6211,7207,5284,9730,4738,1549,4986,4942,8645,3698,9429,1439,2175,6549,3058,6513,1574,6988,8333,3406,5245,5431,7140,7085,6407 +7845,4694,2530,8249,290,5948,5509,1588,5940,4495,5866,5021,4626,3979,3296,7589,4854,1998,5627,3926,8346,6512,9608,1918,7070,4747,4182,2858,2766,4606,6269,4107,8982,8568,9053,4244,5604,102,2756,727,5887,2566,7922,44,5986,621,1202,374,6988,4130,3627,6744,9443,4568,1398,8679,397,3928,9159,367,2917,6127,5788,3304,8129,911,2669,1463,9749,264,4478,8940,1109,7309,2462,117,4692,7724,225,2312 +4164,3637,2000,941,8903,39,3443,7172,1031,3687,4901,8082,4945,4515,7204,9310,9349,9535,9940,218,1788,9245,2237,1541,5670,6538,6047,5553,9807,8101,1925,8714,445,8332,7309,6830,5786,5736,7306,2710,3034,1838,7969,6318,7912,2584,2080,7437,6705,2254,7428,820,782,9861,7596,3842,3631,8063,5240,6666,394,4565,7865,4895,9890,6028,6117,4724,9156,4473,4552,602,470,6191,4927,5387,884,3146,1978,3000 +4258,6880,1696,3582,5793,4923,2119,1155,9056,9698,6603,3768,5514,9927,9609,6166,6566,4536,4985,4934,8076,9062,6741,6163,7399,4562,2337,5600,2919,9012,8459,1308,6072,1225,9306,8818,5886,7243,7365,8792,6007,9256,6699,7171,4230,7002,8720,7839,4533,1671,478,7774,1607,2317,5437,4705,7886,4760,6760,7271,3081,2997,3088,7675,6208,3101,6821,6840,122,9633,4900,2067,8546,4549,2091,7188,5605,8599,6758,5229 +7854,5243,9155,3556,8812,7047,2202,1541,5993,4600,4760,713,434,7911,7426,7414,8729,322,803,7960,7563,4908,6285,6291,736,3389,9339,4132,8701,7534,5287,3646,592,3065,7582,2592,8755,6068,8597,1982,5782,1894,2900,6236,4039,6569,3037,5837,7698,700,7815,2491,7272,5878,3083,6778,6639,3589,5010,8313,2581,6617,5869,8402,6808,2951,2321,5195,497,2190,6187,1342,1316,4453,7740,4154,2959,1781,1482,8256 +7178,2046,4419,744,8312,5356,6855,8839,319,2962,5662,47,6307,8662,68,4813,567,2712,9931,1678,3101,8227,6533,4933,6656,92,5846,4780,6256,6361,4323,9985,1231,2175,7178,3034,9744,6155,9165,7787,5836,9318,7860,9644,8941,6480,9443,8188,5928,161,6979,2352,5628,6991,1198,8067,5867,6620,3778,8426,2994,3122,3124,6335,3918,8897,2655,9670,634,1088,1576,8935,7255,474,8166,7417,9547,2886,5560,3842 +6957,3111,26,7530,7143,1295,1744,6057,3009,1854,8098,5405,2234,4874,9447,2620,9303,27,7410,969,40,2966,5648,7596,8637,4238,3143,3679,7187,690,9980,7085,7714,9373,5632,7526,6707,3951,9734,4216,2146,3602,5371,6029,3039,4433,4855,4151,1449,3376,8009,7240,7027,4602,2947,9081,4045,8424,9352,8742,923,2705,4266,3232,2264,6761,363,2651,3383,7770,6730,7856,7340,9679,2158,610,4471,4608,910,6241 +4417,6756,1013,8797,658,8809,5032,8703,7541,846,3357,2920,9817,1745,9980,7593,4667,3087,779,3218,6233,5568,4296,2289,2654,7898,5021,9461,5593,8214,9173,4203,2271,7980,2983,5952,9992,8399,3468,1776,3188,9314,1720,6523,2933,621,8685,5483,8986,6163,3444,9539,4320,155,3992,2828,2150,6071,524,2895,5468,8063,1210,3348,9071,4862,483,9017,4097,6186,9815,3610,5048,1644,1003,9865,9332,2145,1944,2213 +9284,3803,4920,1927,6706,4344,7383,4786,9890,2010,5228,1224,3158,6967,8580,8990,8883,5213,76,8306,2031,4980,5639,9519,7184,5645,7769,3259,8077,9130,1317,3096,9624,3818,1770,695,2454,947,6029,3474,9938,3527,5696,4760,7724,7738,2848,6442,5767,6845,8323,4131,2859,7595,2500,4815,3660,9130,8580,7016,8231,4391,8369,3444,4069,4021,556,6154,627,2778,1496,4206,6356,8434,8491,3816,8231,3190,5575,1015 +3787,7572,1788,6803,5641,6844,1961,4811,8535,9914,9999,1450,8857,738,4662,8569,6679,2225,7839,8618,286,2648,5342,2294,3205,4546,176,8705,3741,6134,8324,8021,7004,5205,7032,6637,9442,5539,5584,4819,5874,5807,8589,6871,9016,983,1758,3786,1519,6241,185,8398,495,3370,9133,3051,4549,9674,7311,9738,3316,9383,2658,2776,9481,7558,619,3943,3324,6491,4933,153,9738,4623,912,3595,7771,7939,1219,4405 +2650,3883,4154,5809,315,7756,4430,1788,4451,1631,6461,7230,6017,5751,138,588,5282,2442,9110,9035,6349,2515,1570,6122,4192,4174,3530,1933,4186,4420,4609,5739,4135,2963,6308,1161,8809,8619,2796,3819,6971,8228,4188,1492,909,8048,2328,6772,8467,7671,9068,2226,7579,6422,7056,8042,3296,2272,3006,2196,7320,3238,3490,3102,37,1293,3212,4767,5041,8773,5794,4456,6174,7279,7054,2835,7053,9088,790,6640 +3101,1057,7057,3826,6077,1025,2955,1224,1114,6729,5902,4698,6239,7203,9423,1804,4417,6686,1426,6941,8071,1029,4985,9010,6122,6597,1622,1574,3513,1684,7086,5505,3244,411,9638,4150,907,9135,829,981,1707,5359,8781,9751,5,9131,3973,7159,1340,6955,7514,7993,6964,8198,1933,2797,877,3993,4453,8020,9349,8646,2779,8679,2961,3547,3374,3510,1129,3568,2241,2625,9138,5974,8206,7669,7678,1833,8700,4480 +4865,9912,8038,8238,782,3095,8199,1127,4501,7280,2112,2487,3626,2790,9432,1475,6312,8277,4827,2218,5806,7132,8752,1468,7471,6386,739,8762,8323,8120,5169,9078,9058,3370,9560,7987,8585,8531,5347,9312,1058,4271,1159,5286,5404,6925,8606,9204,7361,2415,560,586,4002,2644,1927,2824,768,4409,2942,3345,1002,808,4941,6267,7979,5140,8643,7553,9438,7320,4938,2666,4609,2778,8158,6730,3748,3867,1866,7181 +171,3771,7134,8927,4778,2913,3326,2004,3089,7853,1378,1729,4777,2706,9578,1360,5693,3036,1851,7248,2403,2273,8536,6501,9216,613,9671,7131,7719,6425,773,717,8803,160,1114,7554,7197,753,4513,4322,8499,4533,2609,4226,8710,6627,644,9666,6260,4870,5744,7385,6542,6203,7703,6130,8944,5589,2262,6803,6381,7414,6888,5123,7320,9392,9061,6780,322,8975,7050,5089,1061,2260,3199,1150,1865,5386,9699,6501 +3744,8454,6885,8277,919,1923,4001,6864,7854,5519,2491,6057,8794,9645,1776,5714,9786,9281,7538,6916,3215,395,2501,9618,4835,8846,9708,2813,3303,1794,8309,7176,2206,1602,1838,236,4593,2245,8993,4017,10,8215,6921,5206,4023,5932,6997,7801,262,7640,3107,8275,4938,7822,2425,3223,3886,2105,8700,9526,2088,8662,8034,7004,5710,2124,7164,3574,6630,9980,4242,2901,9471,1491,2117,4562,1130,9086,4117,6698 +2810,2280,2331,1170,4554,4071,8387,1215,2274,9848,6738,1604,7281,8805,439,1298,8318,7834,9426,8603,6092,7944,1309,8828,303,3157,4638,4439,9175,1921,4695,7716,1494,1015,1772,5913,1127,1952,1950,8905,4064,9890,385,9357,7945,5035,7082,5369,4093,6546,5187,5637,2041,8946,1758,7111,6566,1027,1049,5148,7224,7248,296,6169,375,1656,7993,2816,3717,4279,4675,1609,3317,42,6201,3100,3144,163,9530,4531 +7096,6070,1009,4988,3538,5801,7149,3063,2324,2912,7911,7002,4338,7880,2481,7368,3516,2016,7556,2193,1388,3865,8125,4637,4096,8114,750,3144,1938,7002,9343,4095,1392,4220,3455,6969,9647,1321,9048,1996,1640,6626,1788,314,9578,6630,2813,6626,4981,9908,7024,4355,3201,3521,3864,3303,464,1923,595,9801,3391,8366,8084,9374,1041,8807,9085,1892,9431,8317,9016,9221,8574,9981,9240,5395,2009,6310,2854,9255 +8830,3145,2960,9615,8220,6061,3452,2918,6481,9278,2297,3385,6565,7066,7316,5682,107,7646,4466,68,1952,9603,8615,54,7191,791,6833,2560,693,9733,4168,570,9127,9537,1925,8287,5508,4297,8452,8795,6213,7994,2420,4208,524,5915,8602,8330,2651,8547,6156,1812,6271,7991,9407,9804,1553,6866,1128,2119,4691,9711,8315,5879,9935,6900,482,682,4126,1041,428,6247,3720,5882,7526,2582,4327,7725,3503,2631 +2738,9323,721,7434,1453,6294,2957,3786,5722,6019,8685,4386,3066,9057,6860,499,5315,3045,5194,7111,3137,9104,941,586,3066,755,4177,8819,7040,5309,3583,3897,4428,7788,4721,7249,6559,7324,825,7311,3760,6064,6070,9672,4882,584,1365,9739,9331,5783,2624,7889,1604,1303,1555,7125,8312,425,8936,3233,7724,1480,403,7440,1784,1754,4721,1569,652,3893,4574,5692,9730,4813,9844,8291,9199,7101,3391,8914 +6044,2928,9332,3328,8588,447,3830,1176,3523,2705,8365,6136,5442,9049,5526,8575,8869,9031,7280,706,2794,8814,5767,4241,7696,78,6570,556,5083,1426,4502,3336,9518,2292,1885,3740,3153,9348,9331,8051,2759,5407,9028,7840,9255,831,515,2612,9747,7435,8964,4971,2048,4900,5967,8271,1719,9670,2810,6777,1594,6367,6259,8316,3815,1689,6840,9437,4361,822,9619,3065,83,6344,7486,8657,8228,9635,6932,4864 +8478,4777,6334,4678,7476,4963,6735,3096,5860,1405,5127,7269,7793,4738,227,9168,2996,8928,765,733,1276,7677,6258,1528,9558,3329,302,8901,1422,8277,6340,645,9125,8869,5952,141,8141,1816,9635,4025,4184,3093,83,2344,2747,9352,7966,1206,1126,1826,218,7939,2957,2729,810,8752,5247,4174,4038,8884,7899,9567,301,5265,5752,7524,4381,1669,3106,8270,6228,6373,754,2547,4240,2313,5514,3022,1040,9738 +2265,8192,1763,1369,8469,8789,4836,52,1212,6690,5257,8918,6723,6319,378,4039,2421,8555,8184,9577,1432,7139,8078,5452,9628,7579,4161,7490,5159,8559,1011,81,478,5840,1964,1334,6875,8670,9900,739,1514,8692,522,9316,6955,1345,8132,2277,3193,9773,3923,4177,2183,1236,6747,6575,4874,6003,6409,8187,745,8776,9440,7543,9825,2582,7381,8147,7236,5185,7564,6125,218,7991,6394,391,7659,7456,5128,5294 +2132,8992,8160,5782,4420,3371,3798,5054,552,5631,7546,4716,1332,6486,7892,7441,4370,6231,4579,2121,8615,1145,9391,1524,1385,2400,9437,2454,7896,7467,2928,8400,3299,4025,7458,4703,7206,6358,792,6200,725,4275,4136,7390,5984,4502,7929,5085,8176,4600,119,3568,76,9363,6943,2248,9077,9731,6213,5817,6729,4190,3092,6910,759,2682,8380,1254,9604,3011,9291,5329,9453,9746,2739,6522,3765,5634,1113,5789 +5304,5499,564,2801,679,2653,1783,3608,7359,7797,3284,796,3222,437,7185,6135,8571,2778,7488,5746,678,6140,861,7750,803,9859,9918,2425,3734,2698,9005,4864,9818,6743,2475,132,9486,3825,5472,919,292,4411,7213,7699,6435,9019,6769,1388,802,2124,1345,8493,9487,8558,7061,8777,8833,2427,2238,5409,4957,8503,3171,7622,5779,6145,2417,5873,5563,5693,9574,9491,1937,7384,4563,6842,5432,2751,3406,7981 \ No newline at end of file diff --git a/9.ps1 b/9.ps1 new file mode 100644 index 0000000..6a0f0e8 --- /dev/null +++ b/9.ps1 @@ -0,0 +1,9 @@ + +for ($a = 1; $a -lt 1000; $a++) { + for ($b = $a + 1; $b -lt 1000; $b++) { + $c = [math]::sqrt($a * $a + $b * $b) + if ($c -eq [math]::floor($c) -and $a + $b + $c -eq 1000) { + $a, $b, $c + } + } +} \ No newline at end of file diff --git a/92.fs b/92.fs new file mode 100644 index 0000000..b2c581c --- /dev/null +++ b/92.fs @@ -0,0 +1,22 @@ +module _92 + +open common + +let squareChainLoop = + + let squareDigits d = + let square n = n * n + d |> numDigits |> Seq.map square |> Seq.sum + + let chainDict = new System.Collections.Generic.Dictionary() + let rec chainCache = function + | x when chainDict.ContainsKey(x) -> chainDict.[x] + | 1 -> 1 + | 89 -> 89 + | x -> chainDict.[x] <- chainCache (squareDigits x); chainDict.[x] + + allIntegers |> Seq.skip 1 |> Seq.takeWhile ((>) 10000000) + |> Seq.map chainCache + |> Seq.filter ((=) 89) + |> Seq.length + \ No newline at end of file diff --git a/97.fs b/97.fs new file mode 100644 index 0000000..b2e7fb7 --- /dev/null +++ b/97.fs @@ -0,0 +1,12 @@ +module _97 + +open System.Numerics + +let multiplyLastDigitsFun d = + let l = System.Math.Pow(10.0,float(d)) + fun (n, m) -> (n * m) % l + +let bigPrime = + let f = multiplyLastDigitsFun 10 + let p = [1..7830457] |> Seq.fold (fun s i -> f(s,2.0)) 1.0 + (28433.0,p) |> f |> (+) 1.0 diff --git a/98.fs b/98.fs new file mode 100644 index 0000000..a169c55 --- /dev/null +++ b/98.fs @@ -0,0 +1,90 @@ +module _98 + +open System.IO +open common + +let anagramSquares = + + let words = + File.ReadAllLines(@"98_words.txt") + |> Array.collect (fun line -> line.Split(',')) + |> Array.map (fun w -> w.Replace("\"", "").ToLower()) + + let groupAnagrams = + let concatCharArray (cs:char array) = new string(cs) + // sort by characters in each string and then glue them back together + Seq.groupBy (Array.ofSeq >> Array.sort >> (fun cs -> new string(cs))) + >> Seq.map snd + >> Seq.filter (fun l -> Seq.length l > 1) + >> Seq.map Array.ofSeq + + let pairwiseTuples = + Seq.collect ( + combinations 2 + >> Seq.map (fun l -> l.[0], l.[1]) + ) + + let wordAnagrams = + words + |> groupAnagrams + |> pairwiseTuples + + let squares = + allSquares + |> Seq.takeWhile (digitCount >> ((>) 10)) + |> Seq.groupBy digitCount + |> Seq.map (fun (dc,sqs) -> (dc, sqs |> Seq.map string |> Array.ofSeq)) + |> Map.ofSeq + + let hasReplacementDictionary (s1, s2) (t1, t2) = + + let rec hasReplacementDictionary (sToT, tToS) (source, target) = + match source, target with + // have already seen this exact mapping -> skip it + | s::ss, t::tt when Map.containsKey s sToT && (Map.find s sToT) = t + -> hasReplacementDictionary (sToT, tToS) (ss, tt) + // have a mapping for the source, but it's not the target -> failure + | s::_, _ when Map.containsKey s sToT + -> false + // have a mapping for the target, but it's not the source -> failure + | _::_, t::_ when Map.containsKey t tToS + -> false + // never before seen mapping -> add it + | s::ss, t::tt + -> hasReplacementDictionary (Map.add s t sToT, Map.add t s tToS) (ss, tt) + // end of the line - a successful translation! + | [], [] -> true + | _ -> raise(System.ArgumentException("words not equal length")) + + let los = List.ofSeq + let s = List.append (los s1) (los s2) + let t = List.append (los t1) (los t2) + hasReplacementDictionary (Map.empty, Map.empty) (s, t) + + let tupleSeqAddReverse = + Seq.collect (fun (i,j) -> seq {yield (i,j); yield (j,i)}) + + let squareAnagrams = + squares + |> Map.map (fun _ s -> + s + |> groupAnagrams + |> pairwiseTuples + |> tupleSeqAddReverse + ) + + wordAnagrams + |> Seq.collect (fun wordAnagram -> + let wordLen = wordAnagram |> fst |> String.length + + Map.find wordLen squareAnagrams + |> Seq.collect (fun squareAnagram -> + seq { + if hasReplacementDictionary wordAnagram squareAnagram then + yield (wordAnagram, squareAnagram) + } + ) + ) + |> Seq.toArray + |> Seq.map (fun (_,(i,j)) -> System.Math.Max(int i,int j)) + |> Seq.max diff --git a/98_words.txt b/98_words.txt new file mode 100644 index 0000000..7177624 --- /dev/null +++ b/98_words.txt @@ -0,0 +1 @@ +"A","ABILITY","ABLE","ABOUT","ABOVE","ABSENCE","ABSOLUTELY","ACADEMIC","ACCEPT","ACCESS","ACCIDENT","ACCOMPANY","ACCORDING","ACCOUNT","ACHIEVE","ACHIEVEMENT","ACID","ACQUIRE","ACROSS","ACT","ACTION","ACTIVE","ACTIVITY","ACTUAL","ACTUALLY","ADD","ADDITION","ADDITIONAL","ADDRESS","ADMINISTRATION","ADMIT","ADOPT","ADULT","ADVANCE","ADVANTAGE","ADVICE","ADVISE","AFFAIR","AFFECT","AFFORD","AFRAID","AFTER","AFTERNOON","AFTERWARDS","AGAIN","AGAINST","AGE","AGENCY","AGENT","AGO","AGREE","AGREEMENT","AHEAD","AID","AIM","AIR","AIRCRAFT","ALL","ALLOW","ALMOST","ALONE","ALONG","ALREADY","ALRIGHT","ALSO","ALTERNATIVE","ALTHOUGH","ALWAYS","AMONG","AMONGST","AMOUNT","AN","ANALYSIS","ANCIENT","AND","ANIMAL","ANNOUNCE","ANNUAL","ANOTHER","ANSWER","ANY","ANYBODY","ANYONE","ANYTHING","ANYWAY","APART","APPARENT","APPARENTLY","APPEAL","APPEAR","APPEARANCE","APPLICATION","APPLY","APPOINT","APPOINTMENT","APPROACH","APPROPRIATE","APPROVE","AREA","ARGUE","ARGUMENT","ARISE","ARM","ARMY","AROUND","ARRANGE","ARRANGEMENT","ARRIVE","ART","ARTICLE","ARTIST","AS","ASK","ASPECT","ASSEMBLY","ASSESS","ASSESSMENT","ASSET","ASSOCIATE","ASSOCIATION","ASSUME","ASSUMPTION","AT","ATMOSPHERE","ATTACH","ATTACK","ATTEMPT","ATTEND","ATTENTION","ATTITUDE","ATTRACT","ATTRACTIVE","AUDIENCE","AUTHOR","AUTHORITY","AVAILABLE","AVERAGE","AVOID","AWARD","AWARE","AWAY","AYE","BABY","BACK","BACKGROUND","BAD","BAG","BALANCE","BALL","BAND","BANK","BAR","BASE","BASIC","BASIS","BATTLE","BE","BEAR","BEAT","BEAUTIFUL","BECAUSE","BECOME","BED","BEDROOM","BEFORE","BEGIN","BEGINNING","BEHAVIOUR","BEHIND","BELIEF","BELIEVE","BELONG","BELOW","BENEATH","BENEFIT","BESIDE","BEST","BETTER","BETWEEN","BEYOND","BIG","BILL","BIND","BIRD","BIRTH","BIT","BLACK","BLOCK","BLOOD","BLOODY","BLOW","BLUE","BOARD","BOAT","BODY","BONE","BOOK","BORDER","BOTH","BOTTLE","BOTTOM","BOX","BOY","BRAIN","BRANCH","BREAK","BREATH","BRIDGE","BRIEF","BRIGHT","BRING","BROAD","BROTHER","BUDGET","BUILD","BUILDING","BURN","BUS","BUSINESS","BUSY","BUT","BUY","BY","CABINET","CALL","CAMPAIGN","CAN","CANDIDATE","CAPABLE","CAPACITY","CAPITAL","CAR","CARD","CARE","CAREER","CAREFUL","CAREFULLY","CARRY","CASE","CASH","CAT","CATCH","CATEGORY","CAUSE","CELL","CENTRAL","CENTRE","CENTURY","CERTAIN","CERTAINLY","CHAIN","CHAIR","CHAIRMAN","CHALLENGE","CHANCE","CHANGE","CHANNEL","CHAPTER","CHARACTER","CHARACTERISTIC","CHARGE","CHEAP","CHECK","CHEMICAL","CHIEF","CHILD","CHOICE","CHOOSE","CHURCH","CIRCLE","CIRCUMSTANCE","CITIZEN","CITY","CIVIL","CLAIM","CLASS","CLEAN","CLEAR","CLEARLY","CLIENT","CLIMB","CLOSE","CLOSELY","CLOTHES","CLUB","COAL","CODE","COFFEE","COLD","COLLEAGUE","COLLECT","COLLECTION","COLLEGE","COLOUR","COMBINATION","COMBINE","COME","COMMENT","COMMERCIAL","COMMISSION","COMMIT","COMMITMENT","COMMITTEE","COMMON","COMMUNICATION","COMMUNITY","COMPANY","COMPARE","COMPARISON","COMPETITION","COMPLETE","COMPLETELY","COMPLEX","COMPONENT","COMPUTER","CONCENTRATE","CONCENTRATION","CONCEPT","CONCERN","CONCERNED","CONCLUDE","CONCLUSION","CONDITION","CONDUCT","CONFERENCE","CONFIDENCE","CONFIRM","CONFLICT","CONGRESS","CONNECT","CONNECTION","CONSEQUENCE","CONSERVATIVE","CONSIDER","CONSIDERABLE","CONSIDERATION","CONSIST","CONSTANT","CONSTRUCTION","CONSUMER","CONTACT","CONTAIN","CONTENT","CONTEXT","CONTINUE","CONTRACT","CONTRAST","CONTRIBUTE","CONTRIBUTION","CONTROL","CONVENTION","CONVERSATION","COPY","CORNER","CORPORATE","CORRECT","COS","COST","COULD","COUNCIL","COUNT","COUNTRY","COUNTY","COUPLE","COURSE","COURT","COVER","CREATE","CREATION","CREDIT","CRIME","CRIMINAL","CRISIS","CRITERION","CRITICAL","CRITICISM","CROSS","CROWD","CRY","CULTURAL","CULTURE","CUP","CURRENT","CURRENTLY","CURRICULUM","CUSTOMER","CUT","DAMAGE","DANGER","DANGEROUS","DARK","DATA","DATE","DAUGHTER","DAY","DEAD","DEAL","DEATH","DEBATE","DEBT","DECADE","DECIDE","DECISION","DECLARE","DEEP","DEFENCE","DEFENDANT","DEFINE","DEFINITION","DEGREE","DELIVER","DEMAND","DEMOCRATIC","DEMONSTRATE","DENY","DEPARTMENT","DEPEND","DEPUTY","DERIVE","DESCRIBE","DESCRIPTION","DESIGN","DESIRE","DESK","DESPITE","DESTROY","DETAIL","DETAILED","DETERMINE","DEVELOP","DEVELOPMENT","DEVICE","DIE","DIFFERENCE","DIFFERENT","DIFFICULT","DIFFICULTY","DINNER","DIRECT","DIRECTION","DIRECTLY","DIRECTOR","DISAPPEAR","DISCIPLINE","DISCOVER","DISCUSS","DISCUSSION","DISEASE","DISPLAY","DISTANCE","DISTINCTION","DISTRIBUTION","DISTRICT","DIVIDE","DIVISION","DO","DOCTOR","DOCUMENT","DOG","DOMESTIC","DOOR","DOUBLE","DOUBT","DOWN","DRAW","DRAWING","DREAM","DRESS","DRINK","DRIVE","DRIVER","DROP","DRUG","DRY","DUE","DURING","DUTY","EACH","EAR","EARLY","EARN","EARTH","EASILY","EAST","EASY","EAT","ECONOMIC","ECONOMY","EDGE","EDITOR","EDUCATION","EDUCATIONAL","EFFECT","EFFECTIVE","EFFECTIVELY","EFFORT","EGG","EITHER","ELDERLY","ELECTION","ELEMENT","ELSE","ELSEWHERE","EMERGE","EMPHASIS","EMPLOY","EMPLOYEE","EMPLOYER","EMPLOYMENT","EMPTY","ENABLE","ENCOURAGE","END","ENEMY","ENERGY","ENGINE","ENGINEERING","ENJOY","ENOUGH","ENSURE","ENTER","ENTERPRISE","ENTIRE","ENTIRELY","ENTITLE","ENTRY","ENVIRONMENT","ENVIRONMENTAL","EQUAL","EQUALLY","EQUIPMENT","ERROR","ESCAPE","ESPECIALLY","ESSENTIAL","ESTABLISH","ESTABLISHMENT","ESTATE","ESTIMATE","EVEN","EVENING","EVENT","EVENTUALLY","EVER","EVERY","EVERYBODY","EVERYONE","EVERYTHING","EVIDENCE","EXACTLY","EXAMINATION","EXAMINE","EXAMPLE","EXCELLENT","EXCEPT","EXCHANGE","EXECUTIVE","EXERCISE","EXHIBITION","EXIST","EXISTENCE","EXISTING","EXPECT","EXPECTATION","EXPENDITURE","EXPENSE","EXPENSIVE","EXPERIENCE","EXPERIMENT","EXPERT","EXPLAIN","EXPLANATION","EXPLORE","EXPRESS","EXPRESSION","EXTEND","EXTENT","EXTERNAL","EXTRA","EXTREMELY","EYE","FACE","FACILITY","FACT","FACTOR","FACTORY","FAIL","FAILURE","FAIR","FAIRLY","FAITH","FALL","FAMILIAR","FAMILY","FAMOUS","FAR","FARM","FARMER","FASHION","FAST","FATHER","FAVOUR","FEAR","FEATURE","FEE","FEEL","FEELING","FEMALE","FEW","FIELD","FIGHT","FIGURE","FILE","FILL","FILM","FINAL","FINALLY","FINANCE","FINANCIAL","FIND","FINDING","FINE","FINGER","FINISH","FIRE","FIRM","FIRST","FISH","FIT","FIX","FLAT","FLIGHT","FLOOR","FLOW","FLOWER","FLY","FOCUS","FOLLOW","FOLLOWING","FOOD","FOOT","FOOTBALL","FOR","FORCE","FOREIGN","FOREST","FORGET","FORM","FORMAL","FORMER","FORWARD","FOUNDATION","FREE","FREEDOM","FREQUENTLY","FRESH","FRIEND","FROM","FRONT","FRUIT","FUEL","FULL","FULLY","FUNCTION","FUND","FUNNY","FURTHER","FUTURE","GAIN","GAME","GARDEN","GAS","GATE","GATHER","GENERAL","GENERALLY","GENERATE","GENERATION","GENTLEMAN","GET","GIRL","GIVE","GLASS","GO","GOAL","GOD","GOLD","GOOD","GOVERNMENT","GRANT","GREAT","GREEN","GREY","GROUND","GROUP","GROW","GROWING","GROWTH","GUEST","GUIDE","GUN","HAIR","HALF","HALL","HAND","HANDLE","HANG","HAPPEN","HAPPY","HARD","HARDLY","HATE","HAVE","HE","HEAD","HEALTH","HEAR","HEART","HEAT","HEAVY","HELL","HELP","HENCE","HER","HERE","HERSELF","HIDE","HIGH","HIGHLY","HILL","HIM","HIMSELF","HIS","HISTORICAL","HISTORY","HIT","HOLD","HOLE","HOLIDAY","HOME","HOPE","HORSE","HOSPITAL","HOT","HOTEL","HOUR","HOUSE","HOUSEHOLD","HOUSING","HOW","HOWEVER","HUGE","HUMAN","HURT","HUSBAND","I","IDEA","IDENTIFY","IF","IGNORE","ILLUSTRATE","IMAGE","IMAGINE","IMMEDIATE","IMMEDIATELY","IMPACT","IMPLICATION","IMPLY","IMPORTANCE","IMPORTANT","IMPOSE","IMPOSSIBLE","IMPRESSION","IMPROVE","IMPROVEMENT","IN","INCIDENT","INCLUDE","INCLUDING","INCOME","INCREASE","INCREASED","INCREASINGLY","INDEED","INDEPENDENT","INDEX","INDICATE","INDIVIDUAL","INDUSTRIAL","INDUSTRY","INFLUENCE","INFORM","INFORMATION","INITIAL","INITIATIVE","INJURY","INSIDE","INSIST","INSTANCE","INSTEAD","INSTITUTE","INSTITUTION","INSTRUCTION","INSTRUMENT","INSURANCE","INTEND","INTENTION","INTEREST","INTERESTED","INTERESTING","INTERNAL","INTERNATIONAL","INTERPRETATION","INTERVIEW","INTO","INTRODUCE","INTRODUCTION","INVESTIGATE","INVESTIGATION","INVESTMENT","INVITE","INVOLVE","IRON","IS","ISLAND","ISSUE","IT","ITEM","ITS","ITSELF","JOB","JOIN","JOINT","JOURNEY","JUDGE","JUMP","JUST","JUSTICE","KEEP","KEY","KID","KILL","KIND","KING","KITCHEN","KNEE","KNOW","KNOWLEDGE","LABOUR","LACK","LADY","LAND","LANGUAGE","LARGE","LARGELY","LAST","LATE","LATER","LATTER","LAUGH","LAUNCH","LAW","LAWYER","LAY","LEAD","LEADER","LEADERSHIP","LEADING","LEAF","LEAGUE","LEAN","LEARN","LEAST","LEAVE","LEFT","LEG","LEGAL","LEGISLATION","LENGTH","LESS","LET","LETTER","LEVEL","LIABILITY","LIBERAL","LIBRARY","LIE","LIFE","LIFT","LIGHT","LIKE","LIKELY","LIMIT","LIMITED","LINE","LINK","LIP","LIST","LISTEN","LITERATURE","LITTLE","LIVE","LIVING","LOAN","LOCAL","LOCATION","LONG","LOOK","LORD","LOSE","LOSS","LOT","LOVE","LOVELY","LOW","LUNCH","MACHINE","MAGAZINE","MAIN","MAINLY","MAINTAIN","MAJOR","MAJORITY","MAKE","MALE","MAN","MANAGE","MANAGEMENT","MANAGER","MANNER","MANY","MAP","MARK","MARKET","MARRIAGE","MARRIED","MARRY","MASS","MASTER","MATCH","MATERIAL","MATTER","MAY","MAYBE","ME","MEAL","MEAN","MEANING","MEANS","MEANWHILE","MEASURE","MECHANISM","MEDIA","MEDICAL","MEET","MEETING","MEMBER","MEMBERSHIP","MEMORY","MENTAL","MENTION","MERELY","MESSAGE","METAL","METHOD","MIDDLE","MIGHT","MILE","MILITARY","MILK","MIND","MINE","MINISTER","MINISTRY","MINUTE","MISS","MISTAKE","MODEL","MODERN","MODULE","MOMENT","MONEY","MONTH","MORE","MORNING","MOST","MOTHER","MOTION","MOTOR","MOUNTAIN","MOUTH","MOVE","MOVEMENT","MUCH","MURDER","MUSEUM","MUSIC","MUST","MY","MYSELF","NAME","NARROW","NATION","NATIONAL","NATURAL","NATURE","NEAR","NEARLY","NECESSARILY","NECESSARY","NECK","NEED","NEGOTIATION","NEIGHBOUR","NEITHER","NETWORK","NEVER","NEVERTHELESS","NEW","NEWS","NEWSPAPER","NEXT","NICE","NIGHT","NO","NOBODY","NOD","NOISE","NONE","NOR","NORMAL","NORMALLY","NORTH","NORTHERN","NOSE","NOT","NOTE","NOTHING","NOTICE","NOTION","NOW","NUCLEAR","NUMBER","NURSE","OBJECT","OBJECTIVE","OBSERVATION","OBSERVE","OBTAIN","OBVIOUS","OBVIOUSLY","OCCASION","OCCUR","ODD","OF","OFF","OFFENCE","OFFER","OFFICE","OFFICER","OFFICIAL","OFTEN","OIL","OKAY","OLD","ON","ONCE","ONE","ONLY","ONTO","OPEN","OPERATE","OPERATION","OPINION","OPPORTUNITY","OPPOSITION","OPTION","OR","ORDER","ORDINARY","ORGANISATION","ORGANISE","ORGANIZATION","ORIGIN","ORIGINAL","OTHER","OTHERWISE","OUGHT","OUR","OURSELVES","OUT","OUTCOME","OUTPUT","OUTSIDE","OVER","OVERALL","OWN","OWNER","PACKAGE","PAGE","PAIN","PAINT","PAINTING","PAIR","PANEL","PAPER","PARENT","PARK","PARLIAMENT","PART","PARTICULAR","PARTICULARLY","PARTLY","PARTNER","PARTY","PASS","PASSAGE","PAST","PATH","PATIENT","PATTERN","PAY","PAYMENT","PEACE","PENSION","PEOPLE","PER","PERCENT","PERFECT","PERFORM","PERFORMANCE","PERHAPS","PERIOD","PERMANENT","PERSON","PERSONAL","PERSUADE","PHASE","PHONE","PHOTOGRAPH","PHYSICAL","PICK","PICTURE","PIECE","PLACE","PLAN","PLANNING","PLANT","PLASTIC","PLATE","PLAY","PLAYER","PLEASE","PLEASURE","PLENTY","PLUS","POCKET","POINT","POLICE","POLICY","POLITICAL","POLITICS","POOL","POOR","POPULAR","POPULATION","POSITION","POSITIVE","POSSIBILITY","POSSIBLE","POSSIBLY","POST","POTENTIAL","POUND","POWER","POWERFUL","PRACTICAL","PRACTICE","PREFER","PREPARE","PRESENCE","PRESENT","PRESIDENT","PRESS","PRESSURE","PRETTY","PREVENT","PREVIOUS","PREVIOUSLY","PRICE","PRIMARY","PRIME","PRINCIPLE","PRIORITY","PRISON","PRISONER","PRIVATE","PROBABLY","PROBLEM","PROCEDURE","PROCESS","PRODUCE","PRODUCT","PRODUCTION","PROFESSIONAL","PROFIT","PROGRAM","PROGRAMME","PROGRESS","PROJECT","PROMISE","PROMOTE","PROPER","PROPERLY","PROPERTY","PROPORTION","PROPOSE","PROPOSAL","PROSPECT","PROTECT","PROTECTION","PROVE","PROVIDE","PROVIDED","PROVISION","PUB","PUBLIC","PUBLICATION","PUBLISH","PULL","PUPIL","PURPOSE","PUSH","PUT","QUALITY","QUARTER","QUESTION","QUICK","QUICKLY","QUIET","QUITE","RACE","RADIO","RAILWAY","RAIN","RAISE","RANGE","RAPIDLY","RARE","RATE","RATHER","REACH","REACTION","READ","READER","READING","READY","REAL","REALISE","REALITY","REALIZE","REALLY","REASON","REASONABLE","RECALL","RECEIVE","RECENT","RECENTLY","RECOGNISE","RECOGNITION","RECOGNIZE","RECOMMEND","RECORD","RECOVER","RED","REDUCE","REDUCTION","REFER","REFERENCE","REFLECT","REFORM","REFUSE","REGARD","REGION","REGIONAL","REGULAR","REGULATION","REJECT","RELATE","RELATION","RELATIONSHIP","RELATIVE","RELATIVELY","RELEASE","RELEVANT","RELIEF","RELIGION","RELIGIOUS","RELY","REMAIN","REMEMBER","REMIND","REMOVE","REPEAT","REPLACE","REPLY","REPORT","REPRESENT","REPRESENTATION","REPRESENTATIVE","REQUEST","REQUIRE","REQUIREMENT","RESEARCH","RESOURCE","RESPECT","RESPOND","RESPONSE","RESPONSIBILITY","RESPONSIBLE","REST","RESTAURANT","RESULT","RETAIN","RETURN","REVEAL","REVENUE","REVIEW","REVOLUTION","RICH","RIDE","RIGHT","RING","RISE","RISK","RIVER","ROAD","ROCK","ROLE","ROLL","ROOF","ROOM","ROUND","ROUTE","ROW","ROYAL","RULE","RUN","RURAL","SAFE","SAFETY","SALE","SAME","SAMPLE","SATISFY","SAVE","SAY","SCALE","SCENE","SCHEME","SCHOOL","SCIENCE","SCIENTIFIC","SCIENTIST","SCORE","SCREEN","SEA","SEARCH","SEASON","SEAT","SECOND","SECONDARY","SECRETARY","SECTION","SECTOR","SECURE","SECURITY","SEE","SEEK","SEEM","SELECT","SELECTION","SELL","SEND","SENIOR","SENSE","SENTENCE","SEPARATE","SEQUENCE","SERIES","SERIOUS","SERIOUSLY","SERVANT","SERVE","SERVICE","SESSION","SET","SETTLE","SETTLEMENT","SEVERAL","SEVERE","SEX","SEXUAL","SHAKE","SHALL","SHAPE","SHARE","SHE","SHEET","SHIP","SHOE","SHOOT","SHOP","SHORT","SHOT","SHOULD","SHOULDER","SHOUT","SHOW","SHUT","SIDE","SIGHT","SIGN","SIGNAL","SIGNIFICANCE","SIGNIFICANT","SILENCE","SIMILAR","SIMPLE","SIMPLY","SINCE","SING","SINGLE","SIR","SISTER","SIT","SITE","SITUATION","SIZE","SKILL","SKIN","SKY","SLEEP","SLIGHTLY","SLIP","SLOW","SLOWLY","SMALL","SMILE","SO","SOCIAL","SOCIETY","SOFT","SOFTWARE","SOIL","SOLDIER","SOLICITOR","SOLUTION","SOME","SOMEBODY","SOMEONE","SOMETHING","SOMETIMES","SOMEWHAT","SOMEWHERE","SON","SONG","SOON","SORRY","SORT","SOUND","SOURCE","SOUTH","SOUTHERN","SPACE","SPEAK","SPEAKER","SPECIAL","SPECIES","SPECIFIC","SPEECH","SPEED","SPEND","SPIRIT","SPORT","SPOT","SPREAD","SPRING","STAFF","STAGE","STAND","STANDARD","STAR","START","STATE","STATEMENT","STATION","STATUS","STAY","STEAL","STEP","STICK","STILL","STOCK","STONE","STOP","STORE","STORY","STRAIGHT","STRANGE","STRATEGY","STREET","STRENGTH","STRIKE","STRONG","STRONGLY","STRUCTURE","STUDENT","STUDIO","STUDY","STUFF","STYLE","SUBJECT","SUBSTANTIAL","SUCCEED","SUCCESS","SUCCESSFUL","SUCH","SUDDENLY","SUFFER","SUFFICIENT","SUGGEST","SUGGESTION","SUITABLE","SUM","SUMMER","SUN","SUPPLY","SUPPORT","SUPPOSE","SURE","SURELY","SURFACE","SURPRISE","SURROUND","SURVEY","SURVIVE","SWITCH","SYSTEM","TABLE","TAKE","TALK","TALL","TAPE","TARGET","TASK","TAX","TEA","TEACH","TEACHER","TEACHING","TEAM","TEAR","TECHNICAL","TECHNIQUE","TECHNOLOGY","TELEPHONE","TELEVISION","TELL","TEMPERATURE","TEND","TERM","TERMS","TERRIBLE","TEST","TEXT","THAN","THANK","THANKS","THAT","THE","THEATRE","THEIR","THEM","THEME","THEMSELVES","THEN","THEORY","THERE","THEREFORE","THESE","THEY","THIN","THING","THINK","THIS","THOSE","THOUGH","THOUGHT","THREAT","THREATEN","THROUGH","THROUGHOUT","THROW","THUS","TICKET","TIME","TINY","TITLE","TO","TODAY","TOGETHER","TOMORROW","TONE","TONIGHT","TOO","TOOL","TOOTH","TOP","TOTAL","TOTALLY","TOUCH","TOUR","TOWARDS","TOWN","TRACK","TRADE","TRADITION","TRADITIONAL","TRAFFIC","TRAIN","TRAINING","TRANSFER","TRANSPORT","TRAVEL","TREAT","TREATMENT","TREATY","TREE","TREND","TRIAL","TRIP","TROOP","TROUBLE","TRUE","TRUST","TRUTH","TRY","TURN","TWICE","TYPE","TYPICAL","UNABLE","UNDER","UNDERSTAND","UNDERSTANDING","UNDERTAKE","UNEMPLOYMENT","UNFORTUNATELY","UNION","UNIT","UNITED","UNIVERSITY","UNLESS","UNLIKELY","UNTIL","UP","UPON","UPPER","URBAN","US","USE","USED","USEFUL","USER","USUAL","USUALLY","VALUE","VARIATION","VARIETY","VARIOUS","VARY","VAST","VEHICLE","VERSION","VERY","VIA","VICTIM","VICTORY","VIDEO","VIEW","VILLAGE","VIOLENCE","VISION","VISIT","VISITOR","VITAL","VOICE","VOLUME","VOTE","WAGE","WAIT","WALK","WALL","WANT","WAR","WARM","WARN","WASH","WATCH","WATER","WAVE","WAY","WE","WEAK","WEAPON","WEAR","WEATHER","WEEK","WEEKEND","WEIGHT","WELCOME","WELFARE","WELL","WEST","WESTERN","WHAT","WHATEVER","WHEN","WHERE","WHEREAS","WHETHER","WHICH","WHILE","WHILST","WHITE","WHO","WHOLE","WHOM","WHOSE","WHY","WIDE","WIDELY","WIFE","WILD","WILL","WIN","WIND","WINDOW","WINE","WING","WINNER","WINTER","WISH","WITH","WITHDRAW","WITHIN","WITHOUT","WOMAN","WONDER","WONDERFUL","WOOD","WORD","WORK","WORKER","WORKING","WORKS","WORLD","WORRY","WORTH","WOULD","WRITE","WRITER","WRITING","WRONG","YARD","YEAH","YEAR","YES","YESTERDAY","YET","YOU","YOUNG","YOUR","YOURSELF","YOUTH" \ No newline at end of file diff --git a/99.fs b/99.fs new file mode 100644 index 0000000..ffbdbc2 --- /dev/null +++ b/99.fs @@ -0,0 +1,14 @@ +module _99 + +open System.IO + +let biggestNum = + + let baseExp = + File.ReadAllLines(@"99_base_exp.txt") + |> Array.map (fun line -> line.Split(',') |> Array.map float |> (fun a -> (a.[0], a.[1]))) + + baseExp + |> Array.mapi (fun i (b,e) -> (i + 1, e * System.Math.Log10(b))) + |> Array.sortBy snd |> Array.rev + diff --git a/99_base_exp.txt b/99_base_exp.txt new file mode 100644 index 0000000..abe95aa --- /dev/null +++ b/99_base_exp.txt @@ -0,0 +1,1000 @@ +519432,525806 +632382,518061 +78864,613712 +466580,530130 +780495,510032 +525895,525320 +15991,714883 +960290,502358 +760018,511029 +166800,575487 +210884,564478 +555151,523163 +681146,515199 +563395,522587 +738250,512126 +923525,503780 +595148,520429 +177108,572629 +750923,511482 +440902,532446 +881418,505504 +422489,534197 +979858,501616 +685893,514935 +747477,511661 +167214,575367 +234140,559696 +940238,503122 +728969,512609 +232083,560102 +900971,504694 +688801,514772 +189664,569402 +891022,505104 +445689,531996 +119570,591871 +821453,508118 +371084,539600 +911745,504251 +623655,518600 +144361,582486 +352442,541775 +420726,534367 +295298,549387 +6530,787777 +468397,529976 +672336,515696 +431861,533289 +84228,610150 +805376,508857 +444409,532117 +33833,663511 +381850,538396 +402931,536157 +92901,604930 +304825,548004 +731917,512452 +753734,511344 +51894,637373 +151578,580103 +295075,549421 +303590,548183 +333594,544123 +683952,515042 +60090,628880 +951420,502692 +28335,674991 +714940,513349 +343858,542826 +549279,523586 +804571,508887 +260653,554881 +291399,549966 +402342,536213 +408889,535550 +40328,652524 +375856,539061 +768907,510590 +165993,575715 +976327,501755 +898500,504795 +360404,540830 +478714,529095 +694144,514472 +488726,528258 +841380,507226 +328012,544839 +22389,690868 +604053,519852 +329514,544641 +772965,510390 +492798,527927 +30125,670983 +895603,504906 +450785,531539 +840237,507276 +380711,538522 +63577,625673 +76801,615157 +502694,527123 +597706,520257 +310484,547206 +944468,502959 +121283,591152 +451131,531507 +566499,522367 +425373,533918 +40240,652665 +39130,654392 +714926,513355 +469219,529903 +806929,508783 +287970,550487 +92189,605332 +103841,599094 +671839,515725 +452048,531421 +987837,501323 +935192,503321 +88585,607450 +613883,519216 +144551,582413 +647359,517155 +213902,563816 +184120,570789 +258126,555322 +502546,527130 +407655,535678 +401528,536306 +477490,529193 +841085,507237 +732831,512408 +833000,507595 +904694,504542 +581435,521348 +455545,531110 +873558,505829 +94916,603796 +720176,513068 +545034,523891 +246348,557409 +556452,523079 +832015,507634 +173663,573564 +502634,527125 +250732,556611 +569786,522139 +216919,563178 +521815,525623 +92304,605270 +164446,576167 +753413,511364 +11410,740712 +448845,531712 +925072,503725 +564888,522477 +7062,780812 +641155,517535 +738878,512100 +636204,517828 +372540,539436 +443162,532237 +571192,522042 +655350,516680 +299741,548735 +581914,521307 +965471,502156 +513441,526277 +808682,508700 +237589,559034 +543300,524025 +804712,508889 +247511,557192 +543486,524008 +504383,526992 +326529,545039 +792493,509458 +86033,609017 +126554,589005 +579379,521481 +948026,502823 +404777,535969 +265767,554022 +266876,553840 +46631,643714 +492397,527958 +856106,506581 +795757,509305 +748946,511584 +294694,549480 +409781,535463 +775887,510253 +543747,523991 +210592,564536 +517119,525990 +520253,525751 +247926,557124 +592141,520626 +346580,542492 +544969,523902 +506501,526817 +244520,557738 +144745,582349 +69274,620858 +292620,549784 +926027,503687 +736320,512225 +515528,526113 +407549,535688 +848089,506927 +24141,685711 +9224,757964 +980684,501586 +175259,573121 +489160,528216 +878970,505604 +969546,502002 +525207,525365 +690461,514675 +156510,578551 +659778,516426 +468739,529945 +765252,510770 +76703,615230 +165151,575959 +29779,671736 +928865,503569 +577538,521605 +927555,503618 +185377,570477 +974756,501809 +800130,509093 +217016,563153 +365709,540216 +774508,510320 +588716,520851 +631673,518104 +954076,502590 +777828,510161 +990659,501222 +597799,520254 +786905,509727 +512547,526348 +756449,511212 +869787,505988 +653747,516779 +84623,609900 +839698,507295 +30159,670909 +797275,509234 +678136,515373 +897144,504851 +989554,501263 +413292,535106 +55297,633667 +788650,509637 +486748,528417 +150724,580377 +56434,632490 +77207,614869 +588631,520859 +611619,519367 +100006,601055 +528924,525093 +190225,569257 +851155,506789 +682593,515114 +613043,519275 +514673,526183 +877634,505655 +878905,505602 +1926,914951 +613245,519259 +152481,579816 +841774,507203 +71060,619442 +865335,506175 +90244,606469 +302156,548388 +399059,536557 +478465,529113 +558601,522925 +69132,620966 +267663,553700 +988276,501310 +378354,538787 +529909,525014 +161733,576968 +758541,511109 +823425,508024 +149821,580667 +269258,553438 +481152,528891 +120871,591322 +972322,501901 +981350,501567 +676129,515483 +950860,502717 +119000,592114 +392252,537272 +191618,568919 +946699,502874 +289555,550247 +799322,509139 +703886,513942 +194812,568143 +261823,554685 +203052,566221 +217330,563093 +734748,512313 +391759,537328 +807052,508777 +564467,522510 +59186,629748 +113447,594545 +518063,525916 +905944,504492 +613922,519213 +439093,532607 +445946,531981 +230530,560399 +297887,549007 +459029,530797 +403692,536075 +855118,506616 +963127,502245 +841711,507208 +407411,535699 +924729,503735 +914823,504132 +333725,544101 +176345,572832 +912507,504225 +411273,535308 +259774,555036 +632853,518038 +119723,591801 +163902,576321 +22691,689944 +402427,536212 +175769,572988 +837260,507402 +603432,519893 +313679,546767 +538165,524394 +549026,523608 +61083,627945 +898345,504798 +992556,501153 +369999,539727 +32847,665404 +891292,505088 +152715,579732 +824104,507997 +234057,559711 +730507,512532 +960529,502340 +388395,537687 +958170,502437 +57105,631806 +186025,570311 +993043,501133 +576770,521664 +215319,563513 +927342,503628 +521353,525666 +39563,653705 +752516,511408 +110755,595770 +309749,547305 +374379,539224 +919184,503952 +990652,501226 +647780,517135 +187177,570017 +168938,574877 +649558,517023 +278126,552016 +162039,576868 +658512,516499 +498115,527486 +896583,504868 +561170,522740 +747772,511647 +775093,510294 +652081,516882 +724905,512824 +499707,527365 +47388,642755 +646668,517204 +571700,522007 +180430,571747 +710015,513617 +435522,532941 +98137,602041 +759176,511070 +486124,528467 +526942,525236 +878921,505604 +408313,535602 +926980,503640 +882353,505459 +566887,522345 +3326,853312 +911981,504248 +416309,534800 +392991,537199 +622829,518651 +148647,581055 +496483,527624 +666314,516044 +48562,641293 +672618,515684 +443676,532187 +274065,552661 +265386,554079 +347668,542358 +31816,667448 +181575,571446 +961289,502320 +365689,540214 +987950,501317 +932299,503440 +27388,677243 +746701,511701 +492258,527969 +147823,581323 +57918,630985 +838849,507333 +678038,515375 +27852,676130 +850241,506828 +818403,508253 +131717,587014 +850216,506834 +904848,504529 +189758,569380 +392845,537217 +470876,529761 +925353,503711 +285431,550877 +454098,531234 +823910,508003 +318493,546112 +766067,510730 +261277,554775 +421530,534289 +694130,514478 +120439,591498 +213308,563949 +854063,506662 +365255,540263 +165437,575872 +662240,516281 +289970,550181 +847977,506933 +546083,523816 +413252,535113 +975829,501767 +361540,540701 +235522,559435 +224643,561577 +736350,512229 +328303,544808 +35022,661330 +307838,547578 +474366,529458 +873755,505819 +73978,617220 +827387,507845 +670830,515791 +326511,545034 +309909,547285 +400970,536363 +884827,505352 +718307,513175 +28462,674699 +599384,520150 +253565,556111 +284009,551093 +343403,542876 +446557,531921 +992372,501160 +961601,502308 +696629,514342 +919537,503945 +894709,504944 +892201,505051 +358160,541097 +448503,531745 +832156,507636 +920045,503924 +926137,503675 +416754,534757 +254422,555966 +92498,605151 +826833,507873 +660716,516371 +689335,514746 +160045,577467 +814642,508425 +969939,501993 +242856,558047 +76302,615517 +472083,529653 +587101,520964 +99066,601543 +498005,527503 +709800,513624 +708000,513716 +20171,698134 +285020,550936 +266564,553891 +981563,501557 +846502,506991 +334,1190800 +209268,564829 +9844,752610 +996519,501007 +410059,535426 +432931,533188 +848012,506929 +966803,502110 +983434,501486 +160700,577267 +504374,526989 +832061,507640 +392825,537214 +443842,532165 +440352,532492 +745125,511776 +13718,726392 +661753,516312 +70500,619875 +436952,532814 +424724,533973 +21954,692224 +262490,554567 +716622,513264 +907584,504425 +60086,628882 +837123,507412 +971345,501940 +947162,502855 +139920,584021 +68330,621624 +666452,516038 +731446,512481 +953350,502619 +183157,571042 +845400,507045 +651548,516910 +20399,697344 +861779,506331 +629771,518229 +801706,509026 +189207,569512 +737501,512168 +719272,513115 +479285,529045 +136046,585401 +896746,504860 +891735,505067 +684771,514999 +865309,506184 +379066,538702 +503117,527090 +621780,518717 +209518,564775 +677135,515423 +987500,501340 +197049,567613 +329315,544673 +236756,559196 +357092,541226 +520440,525733 +213471,563911 +956852,502490 +702223,514032 +404943,535955 +178880,572152 +689477,514734 +691351,514630 +866669,506128 +370561,539656 +739805,512051 +71060,619441 +624861,518534 +261660,554714 +366137,540160 +166054,575698 +601878,519990 +153445,579501 +279899,551729 +379166,538691 +423209,534125 +675310,515526 +145641,582050 +691353,514627 +917468,504026 +284778,550976 +81040,612235 +161699,576978 +616394,519057 +767490,510661 +156896,578431 +427408,533714 +254849,555884 +737217,512182 +897133,504851 +203815,566051 +270822,553189 +135854,585475 +778805,510111 +784373,509847 +305426,547921 +733418,512375 +732087,512448 +540668,524215 +702898,513996 +628057,518328 +640280,517587 +422405,534204 +10604,746569 +746038,511733 +839808,507293 +457417,530938 +479030,529064 +341758,543090 +620223,518824 +251661,556451 +561790,522696 +497733,527521 +724201,512863 +489217,528217 +415623,534867 +624610,518548 +847541,506953 +432295,533249 +400391,536421 +961158,502319 +139173,584284 +421225,534315 +579083,521501 +74274,617000 +701142,514087 +374465,539219 +217814,562985 +358972,540995 +88629,607424 +288597,550389 +285819,550812 +538400,524385 +809930,508645 +738326,512126 +955461,502535 +163829,576343 +826475,507891 +376488,538987 +102234,599905 +114650,594002 +52815,636341 +434037,533082 +804744,508880 +98385,601905 +856620,506559 +220057,562517 +844734,507078 +150677,580387 +558697,522917 +621751,518719 +207067,565321 +135297,585677 +932968,503404 +604456,519822 +579728,521462 +244138,557813 +706487,513800 +711627,513523 +853833,506674 +497220,527562 +59428,629511 +564845,522486 +623621,518603 +242689,558077 +125091,589591 +363819,540432 +686453,514901 +656813,516594 +489901,528155 +386380,537905 +542819,524052 +243987,557841 +693412,514514 +488484,528271 +896331,504881 +336730,543721 +728298,512647 +604215,519840 +153729,579413 +595687,520398 +540360,524240 +245779,557511 +924873,503730 +509628,526577 +528523,525122 +3509,847707 +522756,525555 +895447,504922 +44840,646067 +45860,644715 +463487,530404 +398164,536654 +894483,504959 +619415,518874 +966306,502129 +990922,501212 +835756,507474 +548881,523618 +453578,531282 +474993,529410 +80085,612879 +737091,512193 +50789,638638 +979768,501620 +792018,509483 +665001,516122 +86552,608694 +462772,530469 +589233,520821 +891694,505072 +592605,520594 +209645,564741 +42531,649269 +554376,523226 +803814,508929 +334157,544042 +175836,572970 +868379,506051 +658166,516520 +278203,551995 +966198,502126 +627162,518387 +296774,549165 +311803,547027 +843797,507118 +702304,514032 +563875,522553 +33103,664910 +191932,568841 +543514,524006 +506835,526794 +868368,506052 +847025,506971 +678623,515342 +876139,505726 +571997,521984 +598632,520198 +213590,563892 +625404,518497 +726508,512738 +689426,514738 +332495,544264 +411366,535302 +242546,558110 +315209,546555 +797544,509219 +93889,604371 +858879,506454 +124906,589666 +449072,531693 +235960,559345 +642403,517454 +720567,513047 +705534,513858 +603692,519870 +488137,528302 +157370,578285 +63515,625730 +666326,516041 +619226,518883 +443613,532186 +597717,520257 +96225,603069 +86940,608450 +40725,651929 +460976,530625 +268875,553508 +270671,553214 +363254,540500 +384248,538137 +762889,510892 +377941,538833 +278878,551890 +176615,572755 +860008,506412 +944392,502967 +608395,519571 +225283,561450 +45095,645728 +333798,544090 +625733,518476 +995584,501037 +506135,526853 +238050,558952 +557943,522972 +530978,524938 +634244,517949 +177168,572616 +85200,609541 +953043,502630 +523661,525484 +999295,500902 +840803,507246 +961490,502312 +471747,529685 +380705,538523 +911180,504275 +334149,544046 +478992,529065 +325789,545133 +335884,543826 +426976,533760 +749007,511582 +667067,516000 +607586,519623 +674054,515599 +188534,569675 +565185,522464 +172090,573988 +87592,608052 +907432,504424 +8912,760841 +928318,503590 +757917,511138 +718693,513153 +315141,546566 +728326,512645 +353492,541647 +638429,517695 +628892,518280 +877286,505672 +620895,518778 +385878,537959 +423311,534113 +633501,517997 +884833,505360 +883402,505416 +999665,500894 +708395,513697 +548142,523667 +756491,511205 +987352,501340 +766520,510705 +591775,520647 +833758,507563 +843890,507108 +925551,503698 +74816,616598 +646942,517187 +354923,541481 +256291,555638 +634470,517942 +930904,503494 +134221,586071 +282663,551304 +986070,501394 +123636,590176 +123678,590164 +481717,528841 +423076,534137 +866246,506145 +93313,604697 +783632,509880 +317066,546304 +502977,527103 +141272,583545 +71708,618938 +617748,518975 +581190,521362 +193824,568382 +682368,515131 +352956,541712 +351375,541905 +505362,526909 +905165,504518 +128645,588188 +267143,553787 +158409,577965 +482776,528754 +628896,518282 +485233,528547 +563606,522574 +111001,595655 +115920,593445 +365510,540237 +959724,502374 +938763,503184 +930044,503520 +970959,501956 +913658,504176 +68117,621790 +989729,501253 +567697,522288 +820427,508163 +54236,634794 +291557,549938 +124961,589646 +403177,536130 +405421,535899 +410233,535417 +815111,508403 +213176,563974 +83099,610879 +998588,500934 +513640,526263 +129817,587733 +1820,921851 +287584,550539 +299160,548820 +860621,506386 +529258,525059 +586297,521017 +953406,502616 +441234,532410 +986217,501386 +781938,509957 +461247,530595 +735424,512277 +146623,581722 +839838,507288 +510667,526494 +935085,503327 +737523,512167 +303455,548204 +992779,501145 +60240,628739 +939095,503174 +794368,509370 +501825,527189 +459028,530798 +884641,505363 +512287,526364 +835165,507499 +307723,547590 +160587,577304 +735043,512300 +493289,527887 +110717,595785 +306480,547772 +318593,546089 +179810,571911 +200531,566799 +314999,546580 +197020,567622 +301465,548487 +237808,559000 +131944,586923 +882527,505449 +468117,530003 +711319,513541 +156240,578628 +965452,502162 +992756,501148 +437959,532715 +739938,512046 +614249,519196 +391496,537356 +62746,626418 +688215,514806 +75501,616091 +883573,505412 +558824,522910 +759371,511061 +173913,573489 +891351,505089 +727464,512693 +164833,576051 +812317,508529 +540320,524243 +698061,514257 +69149,620952 +471673,529694 +159092,577753 +428134,533653 +89997,606608 +711061,513557 +779403,510081 +203327,566155 +798176,509187 +667688,515963 +636120,517833 +137410,584913 +217615,563034 +556887,523038 +667229,515991 +672276,515708 +325361,545187 +172115,573985 +13846,725685 \ No newline at end of file diff --git a/Fraction.fs b/Fraction.fs new file mode 100644 index 0000000..25db7d4 --- /dev/null +++ b/Fraction.fs @@ -0,0 +1,30 @@ +module Fraction + +open common + +let reduce (n,d) = + let g = gcd(n,d) + (n/g,d/g) + +let mul (n1,d1) (n2,d2) = + (n1 * n2, d1 * d2) + +let reciprocal (n,d) = (d,n) + +let add (n1,d1) (n2,d2) = + let f = (n1*d2 + n2*d1, d2*d1) + reduce f + +let reduceI (n:bigint,d:bigint) = + let g = gcdI(n,d) + (n/g,d/g) + +let mulI (n1:bigint,d1:bigint) (n2:bigint,d2:bigint) = + reduceI (n1 * n2, d1 * d2) + +let reciprocalI (n:bigint,d:bigint) = (d,n) + +let addI (n1:bigint,d1:bigint) (n2,d2) = + let f = (n1*d2 + n2*d1, d2*d1) + f + //reduceI f diff --git a/IncludeIntX.ps1 b/IncludeIntX.ps1 new file mode 100644 index 0000000..68ec9cf --- /dev/null +++ b/IncludeIntX.ps1 @@ -0,0 +1,2 @@ +$assemblyName = gci .\Oyster.IntX.dll | % {$_.FullName } +[System.Reflection.Assembly]::LoadFile($assemblyName) diff --git a/Oyster.IntX.dll b/Oyster.IntX.dll new file mode 100644 index 0000000000000000000000000000000000000000..ff2e85ac7b61952106d12ee06feb92e08eff609b GIT binary patch literal 45056 zcmeHw34ENzm1lkT_w}Xz)N;3MB&!WJG*V00vamP|J|trs-?oe;Lt?k3w%tbR7Tprq zfE|$#ZNP?402qA&o$7TZAkaNf|A%Pr|#F?37h7e~ahiueE9S>x3bMF!4QeMu;cyq|Zu*FAb&;9c%k!Og!#= zWx*5L#;+_GI9RBp$IGPy<=j|$I9Du|Cer)z>GEVTT_~pex9mudl}7Si(P(I)%6jV> zAvS7;@E1L{HYn|sh%E?ft`Jl}T2ePZsKO63?lV0uc<7Xu8IlKHIY9&0es+20K{=!>jjhK zyc^F}q?O_Cn=XLnjeO98my2|;{5*S(5ClN_}593?+St-QoI&?NTtASY!%xYj( z1G5^K)xfL8C4C;8L0sOZccl3k5(=Mk# zYCm=j5cAg23|6tB8)e+Bqq{Rc(6Nx&7C&u-olYaw5htcbP-Rr}V8kxE#oehxgHbPi z=FFK_970hAD(Zr2QMz$QAF`LZnvJ4_O#(Y%TAj|Z<)C+1$F9aBVcG8P)LVH6EH#02v7H)9I2~)9&V+CKmT&sbsR!O5qdGdkc83fjlA``2iq|r8kg$}b z)L=NO7#zyTckJHBeY=F(huV)@DJz2nc3az?eO-D}yM6~L(=e@=S<*po7tpINmO}YJ zeHL5KG$Spkx+7#KFAHaG24iI&Xt&#kjAC~Z z0@-XQo*wXEZ^i$bgR)4dkbW-*TM+CFmlu&*Td5Qs#V)mvamr(qRr~79-N>u-EIv!<;{k6=Ed+Rg5tX4UrnuM}xzYqq_fy82)w_~6aU)ivu zSMEX?Xf-zJIR>L4TW1?ON`{0;qfu+rGlO7snQzY0FdJ&6jg%>AsX>{h@=CBpJ(ulP zMmZdIIH||s%;i)uD$*-`0YMM#XN$K%*U-JMgt03}5Y>K`q|_lKOMU0aTnpxi+o@8y z$;)g#WQ03RBcz9A*}9!UbB3gxIVEVla5f8P*9+P^Q&7lgz%B;xq>tXjd1m8fbj0z@ zey~>-kXDRp1e91G0oh5dvX`FLa-FVjkXs-oClwZ8A;5lH#!z9CItn+Gxp2H%T?xq#?&QInMGjSD@g8ZD-@~l+u8G zlP%cE#?7t1#WrnjWs;8}g?-2Y*h#3aEyHE*tP81qR9ghL-sz+=|A{JRuu~10?2N*C zBn2N%E;ib6f#bTR40s}jwnNSR|86>_o}Gds`j zbjoCz9hS6Q2&pXB&Kgij+v)Zs+ya?uHl*5GpQ9+9ijvh+pu9wflo`lY+a35+cx~GI z^^MM?tbP`TLIrgqyE$AewPtGBG_uhs8nq0DeC3?7meW}i$Z~43BphM#Pg_nd z$e8-BF0M!U^m&Q$x!Rn&l%!hE|*;e0Na0(L(cxjr&6p(w})WSEB%}oqno;=iLrVe%J$wPx<3Cl;vAO*;-WZT3y zmT>6#@}x6;fmRLNzUY96V< zwzTgKWmZAfj=4b=n6t=2lD^APesz4_gu2nZLWjks+fyOEEk4p2w%g)^6x4-f9Uu+7@f@B%8PwFW-*)i?Z zV92K7HG_!+B%(2F2Y4~5^mU#AWh_L5?5u9L$IK0>!Bh9aBD9bxpJBr>id+HMf=e1h|7(Y z!juwIHIpzj8CtZ{1R-iBoGb1{YQuL*m!MqafC&pc8W>`2X?qB)CME0ug|HZKDbk`_ zNOa#yc4K1cTjYy6JPPFz9NBx9ioL8Iap^&sGBva)F+I6Tso0&=AWbK&Ye!+FF$)r& zdO!;5VZy_c^Y+>#9nC=VEJuu?pJCDj|55KrF=Mwd+lHYZLY3;K>&Z}uY$}5sW$3b) zVRPj(mjdg2K~hsgm?~g;8+PpOm?5vJ%@Vu#)oyB2Qv$n-uKL?ZY3M_QO3YI9mUb)e?f+Y$X-&Uh0+CoPq zu?S$FUV>?=LC$GE5i?WD;N(=FMh9vVHuRWPN`txmy7EzoKc8mlp()ZCbj7~$qj+L+ zAnKN2ndrS5_xSou5Tw?1US?q?Qsh%*)m<$KD>Cqr&_5O{8 z(da^3$2i0Zh);$CMvPc6ecv>Cziq<>G{j6}QED)*5kGhgj2VX54w@VVbXZ=rMayA_R^QIM8XK$dDhBELc08bWXzWcqeI$KWU#tmo`sg z3V15!#Msd6g!R1eEjh1Ap>NDZ{bEjaK^b$ZD@t=ir=Dy_#g}GdR%+=bSRlo0eS@{( zrhypzgprJ6ejYQ3^6~)#1T#4hv)W^B+v%lI-P{02m4VsXaW{sAd(6ptm_KdE+yqh* zT%8S0mXg?6GiIj-QtebokDYC#q#I&3HYd<$?YPwuW=aNq#*Uyw7sEzsz;Fk!?Bf#K z+E5gx8DvV_PluvjXRKP76*oKD+tMCpKqhiB;09q`nbpWHH8_BzF|&?zam=h{mWUA2 zEOSmo%?&YYDAC|IB;w|Vgnz}GFlF(5bHiyZ5%Xi&2E+H26vc$qF%PJ;?zZ&4x~RQ0 zbMqs`o5(j~t`#Znru{d20gR1zJ-gJ6oA)SL%?76FndOz#i zV+k*LC=p5~8vS@8(Xr0=is)92Qi$CN*YFcE?1zSYcTRE7P$H~oet2xa$Ha2P54WX< zhY}&b5&f^xPXH$T#+cRnQ9sssLA6TAfzomXDQ$=4hw_QAA5I>+tl-l$b($!>)uL+x z4f>(M>E%<==P3CplsqRWD^wL>5W`(I9JBp6Rm%4U{5Xn@QyV0FKkhg5?LB?wjFX*j zV$93zLTe9rS+rI*irLKu!%MOSAde*SXkf);UB4kUxG2%k?l)k?%6_j8t%6kp{A@I9 zsa_fCa8;+I2}0e}fhGuQ>JWw}B3*`cLqJ!1&0&jhCHkTa6Clw*OM%CCe-8ty^i z=Y=E35JO;q71+ik|EU|4L-G^DJHnouA31oIq zs|7X$k8(bJunl1k!LGNV7f~Wg@l$37ro^?1>n7IS`mxmz!z`g8Lm`Y=bpsxC6Bs6m z5jL9lMf7MA!`K|>B<29~cMqZu4Xz#C6-)u#-X8>25D6=ZLyzs?bcl0{Z_yOjR`GjR z_Fhm$##h2qs)!d?z#)h0atSi=nd`sU{hb(iQlZ#N`&@Qwt z>B|%=QFkz(Ltj)i_=cLxm~KC?oy=Nj3pv4BSoardLZCH#RrskD#;v0_hM>rr*b#Vl z6O(_a;EEF{T31T2cSpUd%-z-SsTG4A;UMDFilIYLD~&y)ig$eFjS;t+t|#UO$crmp zhUpN>qGP4``)L2bf?sd+tuzf#hbR~9EMYwL9jAx(3!FjU`o{J^lScnOEdAjK4_yWw zZ1Bze*w8>b;Y(Kg=2*f_CPE#TVZ`9xoA6W!oG!*=MfSa3_HNjk3Za2QzMDmq+51KI zJ%+$KpL`y4AI7GkoGroMVTQ%JhpoyLMP@zgS-x9UABut$Qa+eJ_v`d$E7q#URksOd5L2zhSqjh=?W{!HJb;`^P zppX>SY}e^9Rl~Q38m&99X<_1l{Tef~74f=_DZmiEgNmwnI1;&J;H!`tngDcrKc?HR z;SL=`^O+1}Ch+l8U0Xe+4>EZF3MKja7VMXu9NZGdE*c&YY@^{3wOvfL9S_Zl2|0Sy zE@Gn4&@S6WD?6AvS)4>gQ!*J(W27N4%M+;3`TBuzRzKjL&vVrb#zS-i=`m@Y@e$;O zwnbiB0^3|^Y}vh=g{r4fML=#&*z@2LZuf0i3awl{>{9wJdxwzjdmO-2MN%S$qM!j$ zY1^Ti$vCVVcVl_K8`YOQXw%&;2t&Jkw|Nk`d(Ft*M=8Az`F8Venuh_R&CK4rxDWr) zHn~|=TDFfZzK1#^>>KmRCNZkMlue>-DLJ(VI+vQxb78b07v>p8vtT+Ip~p}n>U(~85R-B| zXu?iLjhP`?G>?e8F+n7!g$XVm0WE<^W8+|=i5^3VIl3S5n_vti3v$xmYgZ3hIST4}l${YQ0pMkVn;lBvmD&5d)bW%7MmH>Oa^G^^>7g zxT8h4FKX`WANbt@Z>2MOW2PVTh2%Hq9 za?-go$&7Xn$tal?e4Mc?5nD%8)^2QU5p|FYZNH&|X7zE+NG`+CG3}XWe`&Put5L&D zrRi?=XGVKj9D$_mn|kuJx!o|Y%O>6SdE$#L4t){NO3eY??){ByJIvK34{zy& zI^qWNXo__MvHnaRcW_%j27atRe0k9%gyEM@zzhV`(HNhFVe1~}R1rWv&!UYQI?|vC zBbNLLERgv0g(gLqR(Kt|$iY8=12D{?;hIgay9>+FLHKRc>uUBrvnSy@%!4y2lTTmw z5}%DTs+aK*34)l|U~}damf6;xhkTSt=VNZ~qjY40Q>x$;<63n{gk4ZrF5fi@iAi11 zy_mDlig1k4YnpSG!Fq_h?lKKdk$CPLPC2v-A31g%Ox-Q51&kV=I!&r0(!N;Id?@3= z+a@fhvJQ+1yD8y72OV9$)08=mm`==OQ3Hn$k~?fGgOSyy(F&yXNDHZ3i2GG0I z0an8E7A59kgK3`HU&Oe4`3A zf|lt02sYJH9t|5&Z1tEBFb)Bu*i(u5b4YYQ37GWfBv-GXBQCTCwIJ;q4j`b81F_$guZsAW$>Dm?R~z zUPwp-@k$$@CN>KkB2lN|d0RGFtE1VhZ}i zL5Awv*j2(nQ9TJRhRtZl9>c3YgDpnv&IT9z*L^W7>5e^=3UypbOWih?&tM-YI=crW z97H5-zu|BZ?GB5wd!M6pIA*f3?;SdYc)54JPN zI;QEJ7gGTufa!9N2na00B??LvobaK^?RFS2Rz0SjSpzKWIO@y;j>R^tu82JLroG%w z)4{1WHasM21h-b8IUJ7=tK$XM{y-1bbiD3_^HOsGZy}H4)q}M3nb)Y*8UCoTsfUDOngBti7f)hg3o- z1C>Beb~~THM^bKeS0l<@&11KmFzXSlhNpW>yUt@`lXtqubm}}NyzxnPd)Qi|z3Ye9tMmQ=%y!)kS-MM=9Pq=Kf6}a2 zX6(@elVLy7`{gENtP1knp=9Pp)D~iJ@d-~3D$%AyER{$$CsJ3CUHLIJq=ezLVwra% zMF(b?azp`z4_~LdX!3V~i*EK^I9U%q-sOWK>`mVyeYSGE8{kvtWG{suPAPe!z9#X<~9IaT}ftcr$B9w7U!V8&Uaxe5yTwD{KAwsF$}uu_Y`sKdTLRKZ@SrX1UuRX zE<@eu;nQ&aPPhk?Z)?dpAMzFOqyPQ9Q}T+8oirY@IbS`+MX`(q=}EwioG%}~QYEFt zl`190ZU~LLpMOQNzyCayt4jzU!K^2q>&^@Ogs8@f=INQ1=d$G zR;8RS2*=h5A`6rnLAaJnogk7P2vsLYwJ4chqSY*_VycwW1>x9>NxKQCy&a*H3@u|f zkGtp@qVswz9M~wjSSr(0rAO=N%}l@8ZpT^5p;QJ($1<3d!D4W)d76pJyXf2xFc+2m zKwS$un=d5qX=fX3n=kmFKI*>u@pERL;xQ=mC`s~?9Pc8I`MSJhjOQIQ@H-WLl%7|~ z8@hphP+N1ZRLS))&AY)O-zk_w%+RVyFIL#?hxE*=DGn;LGtehCtU{@hMp66EiZae0 zW6CtwW)25=v{4>cN!&=57+r0!zvnWTaIGl`0mBS`#Wx%10$aN=c_GG`klmE|Q{+pB z{P0)Dsff*TTLCBaJftTdpi@wp52kd|*UMXEaMvMqHFU`(GN2YdGAVXB`r#PlSg9+g z&m@dEN$GMvjM0UdWI|lv<`HLWeM)SukayaSGrS~^7o*ai{p|35-;pl|ANG9Xt?usl{-a3deBJHnW(KjF~wZb_ggLwix6x z@%-h_*jw6+c{8-oae5Ev59?n;)q3!wH zNWPp+k5z_C<oEy!iw@&UGEevnS z9~mg!oG)IpueUdM`S9h-mRz~CC%^cLD=#{`u*u>?VJsh%z9T=OLnu^}KU-Jz)Bm@8 z_^ChtUi7p7^v!K2f3Wj+;|o4@$EnL!T)S}d+efe3`ND%&?Oe4Y^76MLfr(1piszH~ z?!x!G_`)gjdkAi7L+%uhNdSstC$jRSF z1=Vuej3WBEhyvIgqh5v@+jC&LkfL@VO&O_+5OD{pNs^3KrTYWewA7aId^uMf zsnAdNT*ANHQ=A+f?b0%Rj89hbX(G^X`3#rF#&c{Q=@O-yfT2{nw4};nW)9gc#eBN7 zKRs~}59ZI0r1upLAghV|0oYj@KO8hsDiN(qo4-1TqQ)jGEW^J1#BKR}G2NYpZ0RM- zy0i<{7jMmt7Dm#;2Xp1z@I<~$A{C0`lM`K9)83hUAqyhNGHF28)~vM#ZD$MvfH}EDR!;B%(lg0dl>ND;p1Uj z%!{}YTP$U`k>LS`Qw-nA@NtG;VfYh|xl)a3`QGeic6z zx5YPoN_$-+rM-#a3yt4s3<)Fg(?(l#CgvqO@F94rq&iX8O{m zi(ms%%LFy?FtB-a`o`E4?%ekRvw#_53KwBFFs7pwrqDEl3UfG%gTOqrC|U|}w=?D_ z>_0FTQrP{BMS)Q+4*|1K5~Yia#~5qG+d@>{lZ-Xt9{F9so>3UA1=v@CMQ}T~m8E_G z7~K`dWCw9SSDXt3)!|f>NhdvraH=ArtC#-Uq#PeCSIY< zM=2lF_X2)WzgcXX+G&KfCE{MA1e17^QPGx(4;t@4_+!Ru@O*{g3k(;U@6)zTtut36 z)gZ$n!&jMkecRLn<}HAa0xl6BXZRV0UoemBws^C33*b8#zMtWT0W~q-o)62}W%n7r zxZ7T9+%WZfXAH2xC3qpjZkIH$p5b1GW%o6R{S$`oWcX=@f6MUK3}YUpYVjTgX9jSY zxWfAc;97<^cvSkZ*M&OX>QSxVr4jr*pf4Ww{?0JON4)0%pYUD-_@s9;IG^=S8JhU> zu&^}o7hxOlgL(w;lei}WW5MTXt5pyDpu`gBZ(Gw8cf9#({X$$&-^$d~Dj0Od9-2JIOg`uKXVSmu?2DXy16Qb34 zJ$m1B3R?hdu6WHtDcK_9A>3j7k;1aZ2VirLUo7L68lS;Ev&ouN1U;L{o_D%Hl zek^9Ge!a$XxJ~h(!mc*HkF)kTEn^UOt?^6r{DQ((16wR66m}i3CE^5QQrF$$VaA>o zq}`>I1wKz(Ta4e*-ZFm(`vX=2XPEN`8pW-^OZ*f`*dH*(`8i{hr=zVE|6Ijx17>E4 z^Jz}EP8_A7ld(U*6Frd_pNI#SNlv`Qs=q<}tcoS{H;aC5iW6c=Z`0o<4p*^D^oPY03hOm4(;pE{G;v`I zxl(_R7-sB#agEuhe?S~oasB3c{X^opDz;O9OsvP|Y*3>o#A_HkA--<@iT;H6bQODp z{weVUmV{Ko56uVl&kBH8Wv)@$Mr9Yz1UKu^^s=%h5jY+ zBx5IpZGB$$1H zM+@-=cOGNy3cHN4l?q$M*bNH1fw57>WY39fZ)c2Zdz%*5-pkn2f;@_^^@HSrlE zsr57VH22$-w)*-Y?kS^18(>VPo3DLyBgM%QF4Dv%!cK@+dtWjx(pD<$KYHIV7HZoV zle%80-BiWCkGLnQ*pH1x8dkOV5a%z9i?#kL_8a38tyIPS#mHzMtYT-3cI{LZGtCaI zaZ8X($n4bCF-Gm@n_b##s#wZgtbLrZ6Ye*?Hgl==S((oLp|=Rw(<<(_UOTXpRjkLn zT>EYnTWj@V}+~ze}qKfsHE3^x%*m84~wxo*nn|<2K zDz?#Fqis=G47se;ZmMEE=6da56E!w>bYeg>Gvo$fMy+zf zT^ibG4r_B1wgS22wMA8|$2_3*RI%k|LF=nx{pQWu_A0i~9Mf_N+a7woC}}qp}zO5$#EZy$#qM+LsjefzZp%quP%Y_5`qF z8eK%B8a)H-725R*`&(dB+Ni?*DRjWROPi=-Me~)~omFhoe3f>06}!{CTf4W4y~=#G z_C|@JH~xuvTzf=ezYM+Eyhr=6!j>BEHSg6vSH(UfUaNhHG4fy^HSgDcz}RtM{}~u| zOzQ|9Znd5oQaFZi7KMyN|GC-x@CE5}9c5S)Bdc(gl-mcxJur=Y3`LOo5 z!nTJ~<~y|CG4?8vL%K(`I1aJ{-}9)}!kF~Xk7^4UJMKOkPFas?T?+e$a0{>-75206 zh1R>Yyu$u1d;UCt)pEKvLnR4#1A)E%vA&Au>?Zu#& zVuwZ4X$kL?_KgMY#<#U|pmjO-I zuqFPcF7}V-fAQayD$o_xabKMDa|qB7Wk6Hh4j9Pu%DUM5>SEuF@N`}M&*bycrM!z} z_%xs)PI9?qftt9~|DTorrDc|}eJI6X{g|vDOKbzhW-U3~YA#!vC-$&BvMzwi`)1J+LzE+;jS!-X7>#K7egI@n2 z*N8N4a;+`#2-oOCfSPy$P#4lOQ0-vVpjhHBIkvuc{KHxNl0vN+oDXp1gDP5iIo>E_&) z1L{K7g~CBANXxJ3v(^X6?;U8=AzPXGe;Ct|!=0cQ;x*@?+|Q-F3D6MI>psGi4>9Fq zfd8YTfG$48scI4$?B9ZsLY7kRwa(`W|0Y4D*IRzgJ}n__fb!AB51I3&{i+;gWa(!^ zDQ%!7Dp%%4eprSzwjW(-vc@0SRlP@@4ZqZQU9(uy?f*$#$@vM5=7Ckq@Y(k8$53jL z8)^;{P=XmqU_~_ds1FD85NTZmbv3`Ll`H36L8_Yd2Jb?^^9<1eSi^$O@Lo#&aaD}*gEUmJh!LtX3OL7_r&$F zeb$e~VC;bPD{!8{?#TVIW0o%-i5<5*jVL~#qf!263{U*m*oUmSpj=}uVEUyDiE_sH zvG{PqDdhIyhBMX@?FS8Udx`eDh98;V!_O$B?FBeQ9Lui_82^B7C*}S#VzKKZQJL=P<&j1J8)R_WP_XhqJtg_>6eJ)o0y; zTFh~KnBK$myFmHAahG0%%*hMq8GF*|yS-y*Rafy=U z@L~>M!Qtfy$HZ0+f!F#&kDII80mK#XJm|8Y?Pd_vr6 zxZ=~|2;h_A7~o%tSD{V6DE<`i%i?u_UlR`iepCDz;J3uv0iQ$I6{kQCi|>o~0R9Mn zjpY*Yl)fHsTlI+#;}l|t_!i(&@n*oA#Sa0m7ViY?5C;H<#q)q+@vl}F_SXq+5MKZ# zfp9^*LI0L}55uR#Z&0I0v>l+o%D5T%zsjgE9M*4j_cjpyVTMmK6mg=YeS#|)KFRPD z!@Z3}pJFHy%*pU!hEFnF*+lfc3`LT8817~GB*RmZo}$>545t`ADJjiFcQH?~Lj%^N zb;P>QdcE})>mlng>q+a&*56wHVExo`?K$=;d(hrvm+g1i&)DC#|Iz-DZ8swvGc@39}U-)WCIm$~K?6v9%_ zlRgjf7$L(1HSy0_q0_ig`)J}c(}+TWO-=OMJSk>q$93GL;ud*^wtQ1*WO6irt=K{r zjmll?ixY!gBcr2Yy}Sw0S1R6`FC!*k*p!<%C}zabT@0da&yTOmkK(?F*o3P`h4IlN zn{ve*?u&^2!mTI>_lQ8hZZvnGQscm1m=arYHzf~-ycj6SycwBROpp~xh>J)QxF=E( zTY>^t;{u838_iWJh2d$*Q22VzzAUzuZtD($RA8CqUaw>=)Wk-Rqf~x%46DlJ+>x!N z(&*kLs1vTJR0X*1;DoCCK)G<>hTQ06z9Lx^nM$82*>$3uYf6y1*5Z;%ZnUbj;L4bg_r1iHeTVYH6Jkwqatv3aSoDD-h!`&L9he-= zmDd~|FXv&cXl22?b;+c{Rg)@p9zjczJq+i?p0PraY%o8<=C}j(=hF9#|OcX&D-<)^Jq9KZX9J*s71IqQilvc3mfyO z+(Gp360R2J`*Rby)kh}C@T)jD4on=}aj>v|qK?WoGm}Vt4(3|N#=WqX7oli{Zn5K* z@`QpCFBJ0wIY>aghWr)hUl}OLv{fog1uEY+6X-?s?Wy`AAksxqlOUT)o>*$ZD~Nsd zB(>@O(Ia&cFG=eb*A+%bcT`1$BG(rS6NTJpou}9g)2KtaGDspg&{wJmLg!}jp5^#ZS_-3UL`Cv+4Y5a)T zGkk7`I`f_=G$F622A&6&&DT|d2lgg?P~mpIdMMP@)b+*vB@r+y8h7QH86H4a4dSWW z24SYdNv_Us#!W{~ip!4*rCvIn0oNLt0=3XJ#(`34b>RS0xU)$E`Nmt`uW*$9{I!51UsWO99fq6|(sA`MlaP|4O4V=>*fEhG-?G13P=j(p z(n*C;u8TxvK45`cu6CljVKL}e+(?!6Cphw*b zFO6;?=R{nPOLAWj&0|eY#i8H{!iM!`K&QQwgV1_U}cY($~rqe8RvLZ9zKOsj3@N6#}I9S7W z7IWnzTNNK8o4NWjkM+gja()bR4a%iIUx%z88^^u(0@?Sig%O%)PL7rYSBD+yx?JU8 zAI&~%bAz?yq-pHNylDa&L3b=nTvslQ?ar4=Rb=OAsd%7@A;Dl3VHsxz(aad%_KXEHYm#@*cy;1TO&n;KC(q<2 zrxA#Q&8iw*!vYEN`_-gCtg2M*pVNeETfxrZOxa*3TmKt9kq;Esg&wUilmckAu?}wwz`oJ%2&0~+DC;Zz`TdwYVTe$& zZ<(CfvVVK7cpzV^1urUVx|`uPdC5UaTtc85^A$C@RX(7iyi~OanoZO)hrpPS1S(NN z(^46}V7%H(Ay!QQOlqo2UFmgJA0gLK%M`5xWlrnP69>zs+ol&?;feD^X=5JqXP%TD zhRXB9H%p}oED6f+R3rJr0*xXA(j-`7ZaAKg$dQRmLJckC4wRv+uk1Qln8@!K$0UI4 z0d2OnT$&uOtr0j2romxS6cg6t)g;VX#_261Ch*!3+Qrgm3tLx3+2;}=4RndZyA|H8 z@U0W&APT{NiYfpT=UMKYXSJiq(-u1e2QjRTka2G+!H;9zx`rB0Du!1@TTA0&&0!1? zq?UnP84p>-%BoQsUURhYXUayne5JRola+(20;?zY!=!>bNUU27kBy@aFobDbb(NKj zs>-)glZ_PULDeqp-wz*7)8j2FR2vLs6B8GrF?=ZwS{JG1lPKnIQ({VHg;X#S=9Tt& z)i{Dhn;_6FI8HsNr@*Sz169G=1JgqKs-+fpDwY)f0Uml|?g-pZtqVwe1F{hnngr*| z=rICs3}NO?AxI9*NRz2fWA@Qrqz;rI3aw*bdTmlOUG!U8)&{+o#`*rz zSapzv$HC$kBm4-()TCEKKz|{3pjfI*6o#>=&F`Be;Ww9xJF$B-onQL;e7TxkEvsO} zWb>&a@O09z)+8GnFBNI81cHo;HJC(|%B$fKDzvh#Wj7;2PEQ6()WN0mRhm(QKkaKN zit72wfysTT3QHyJCs-r&lS!2J9TJ%A2hs(@p4dqX?85#62{l~>YQUlarE4c12Uy!9~x4iT2G;Z0Il#V@Ib zx)Iue-Pi+2hd*W`w1yzRb>KgY4dnpef_>cyA#xd90$z?20GZ}my#LpMH?Up?>ZQ09 zFJpr=GLLI<>-|Q^bQoNh;>=AWny9M1iq3OZfMa%H^z!l<3u?p`7^x+MlHR3vP zZjKymYM8BNKVCno*$p&|&r=`z$}5))A76RmmiNE;zNfzMr^5aC?Kj;px98M7ZrX@7 zPQAv{Lus?sYxO)Y?iqHYYo#>}Q0SgP_&OX!;0-gaah>0SbA`rr^s}P2-%KyI;wM4? zfKdzw(m)mxx9cy|@#7nm*VMgcTKEeoUw@&I7P^U$Ze~C;GD62G1H_R3Be<^;gmoXk zI~gExg#6}k5bgObc*V_?(K=2pDCnxEhbS3?KRzKe*F#N#$2{FjTONMH7L|nP@s?Ra#rf{aJp92Fl2$!`9Fml@CqgUckDTh16o43cI%wRIa=dfJ8fvL>q3>S z3E`1O@x=Q#*xaSbt+Hz6+=~v=UfAB{nWV zN5QZE5e;Ag&SPV`jhFm|epKk4!o+nf{IWIy{DX=-lMb(_Z~52^A;A)15RliVk8SGw!dAS)2hXYlSK)ME#39n!?d2y6zzYoPflER+k}?4Y+(j z>x4P-5t5HEP9h~Qpx@F^hf#Y}^Q5kd-z9^=tY1EMZuLJnC4)bd{heoiSJ~^#Z3Gp zSriP71!|DSLM-aIP+b^3&S)&4SvAA(;+pQZ&d1AXMhK{b_Hf`r9Vp_cKXn((P;Wfi z0-E1qJ33hvg%`%0n#)7=(9`smmPkM(Cx>5N(`75bG#%4zTt~_>i3k8^j(1=hCqwuj ziaK6ccf(o2#9}eR4UJ00wTGGHj^D!XdVj#$69BBNGtCMQgC1@Hip)Hj7+& zH12q<(KYd?*I>arAW>68_2;ML>K8t_$0Y(xBo`eFi2-)eND%c#uT4Tm$^LZX4={ zI<|UbZ=XX$LkY6#fK+R=v-*crGKTpnO{=$36HBYRZNZOv;P61sma(=RJwh8GwBf)< zC~DWmQNQYei>73VUuR>(lloGt4R;W0Tp(rtwyUYD0I;Q2!*MJx9Hs`sFbQ3;O5vZ~ zE1mhIEs{wJ$x<5)_{TkIS~ZA8vc|{?^hP*c>ZWPv3F&jgFYg4nBE70OQZ5`xZz$cK8$LLBb2`^`b62h_Ete0N&}+iP`VfnNuqNz) z+N_BL4r|f{d31vxy`ZzHF1$3ZiE#Z^8G1bpxX^+eW9Jh(peJ{gbK_XKRX1R;CxE4u zHuX@KHg)$)Z1{BrE1z?0`28>a`IR}^fF9p*b7362q*z}K^KKz((()k2JoUMj!s!5; z{tW&$_;l)?zEZh=baYb=OF2IH&*%Am2XUQQguG}lp8d>fU{(YF&uM^etnuGmo0={< zJ3#D6h_mR#w+`RIhw;TI5PSxW9t3Z|zQi8DHDWtL>+u(hHUnP|cpd-sA|XCw{_-^4 zDDya>UVZYb)SzJoKJ6YFvGwDtAy@i|rR#VHME<X%raoV6FW5md0?)p(vP!@N1%}$=SAYx@AnYC68C?#YEAo5Vg)(Uk2#G` zt5J~lOt);i_?e!et#z8e(Ttgw*JR^&sw zhLb3r?imNEMV)r(H@-=~(|KoVd8Ur9;54hylJw(Xw0AiQ4W(h#r14to%uGl2F#DO+ zz^n#lH887zSq;o;U{(XO8kp6*R0QZsp%Y`*-Cqn`l-8vl^Jyz^n#l gH887zSq;o;U{(XO8kp6 Some(i, i + 1)) 0 + +let allSquares = Seq.unfold(fun (square,odd) -> Some(square, (square+odd, odd+2))) (0,1) + +let multiples n = + let rec m ns = + seq { + yield ns + yield! m (ns + n) + } + m n + +let divisorsWithRule rule len = + let d = Array.create (len + 1) [] // stores the divisors for each number by index + seq {1..len} |> Seq.iter (fun i -> + seq { i .. i .. len } |> Seq.iter ( fun j -> + if rule i j then d.[j] <- i :: d.[j] + ) + ) + d + +let divisors = divisorsWithRule (<>) +let divisorsInclSelf = divisorsWithRule (fun _ _ -> true) + +let rec gcd(a,b) = + if b > a then gcd (b,a) else + match b with + | 0 -> a + | b -> gcd (b, a%b) + +let rec gcdI(a:bigint,b:bigint) = + if b > a then gcdI (b,a) else + match b with + | b when b = 0I -> a + | b -> gcdI (b, a%b) + +let primeArray max = + let d = Array.init (max + 1) (fun i -> i) + seq {2..(max/2)} |> Seq.iter (fun i -> + seq { 0 .. i .. max } |> Seq.iter ( fun j -> + if i <> j && j <> 0 then d.[j] <- -1 + ) + ) + d |> Array.filter ((<) 1) + +let isPrimeFunByArray primes = + let primeLookup = + primes |> Array.map (fun p -> (p, true)) |> dict + (fun n -> primeLookup.ContainsKey(n)) + +let isPrimeFunByMax max = + primeArray max |> isPrimeFunByArray + +let isPrimeI n = + if n < 2I then false + else + let limit = float n |> sqrt |> fun x -> x + 1. |> (fun n -> bigint n) + let rec loop d = + match d with + | limit -> true + | d when n % d = 0I -> false + | _ -> loop (d + 1I) + loop 2I + +let compositeArray max = + let primes = primeArray max + primes + |> Seq.pairwise + |> Seq.collect (fun (p1, p2) -> + seq { (p1+1) .. (p2 - 1) } + ) + +let coprimeArray len = + let c = Array.create (len + 1) [] + let d = divisors len + d.[1] <- [1] + let set1 = Set [1] + for i in 2 .. len do + let dis = Set d.[i] + for j in 1 .. (i - 1) do + //if not (Set.contains j dis) then + let djs = Set d.[j] + if Set.intersect dis djs = set1 then + c.[i] <- j :: c.[i] + c + + +let crossMapList l1 l2 = + seq { for el1 in l1 do + for el2 in l2 do + yield (el1, el2) } + +let crossSelfMapList l = + crossMapList l l + +let crossMap f l1 l2 = + crossMapList l1 l2 |> Seq.map (fun (el1, el2) -> f el1 el2) + +let crossSelfMap f l = + crossMap f l l + +let rec permutations set = + seq { + if Set.empty = set then yield [] else + for s in set do + let remaining = set |> Set.remove s + for perm in (permutations remaining) do + yield s :: perm + } + +let rec slottedPermutations slots = + seq { + if List.empty = slots then yield [] else + let set = List.head slots + for s in set do + for perm in (slottedPermutations (List.tail slots)) do + yield s :: perm + } + +let combinations size set = + let rec combinations acc size set = seq { + match size, set with + | n, x::xs -> + if n > 0 then yield! combinations (x::acc) (n - 1) xs + if n >= 0 then yield! combinations acc n xs + | 0, [] -> yield acc + | _, [] -> () } + combinations [] size (set |> List.ofSeq) + +let fibinoci = + let rec f (c, p) = + seq { + yield c + yield! f (c + p, c) + } + f (1I,0I) + +let digitCount n = + int (System.Math.Floor(System.Math.Log10 (float n)) + 1.0) + +let mapChars f n = + (string n).ToCharArray() + |> Array.map f + +let joinStrings = + Array.map string + >> Array.fold (fun acc i -> i + acc) "" + +let numDigits = + mapChars (string >> int) + +let digitsNum (ds:int[]) = + ds + |> joinStrings + |> int + +let lastDigits d n = + let s = string n + s.Substring(s.Length - d) + +let rec factorial n = + match n with + | 0 + | 1 -> 1 + | _ -> n * factorial (n - 1) + +let rec factorialI n = + match n with + | n when n = 0I -> 1I + | n when n = 1I -> 1I + | _ -> n * factorialI (n - 1I) + +let takeIndexes ns input = + // Take only elements that we need to access (sequence could be infinite) + let arr = input |> Seq.take (1 + Seq.max ns) |> Array.ofSeq + // Simply pick elements at the specified indices from the array + seq { for index in ns -> arr.[index] } + +let arrayToRevSeq a = + let len = (Array.length a) - 1 + seq { + for i in len .. -1 .. 0 do + yield a.[i] + } + +let array2DFromNested a = + Array2D.init (Array.length a) (Array.length a.[0]) (fun i j -> a.[i].[j]) + +let strSplit t (str:string) = str.Split(',') |> Array.map t +let strSplitInt = strSplit int +let strSplitFloat = strSplit float + +let isPanDigitalD digits = + let len = Seq.length digits + let range = Seq.forall (fun d -> d <= len && d > 0) digits + let unique = Set.count (Set digits) = len + range && unique + +let isPanDigital n = + isPanDigitalD (numDigits n) + +let isPanDigitalGroup s = + Seq.collect numDigits s |> isPanDigitalD + +let letterValue (c:char) = + int c - 64 + +let wordValue (w:string) = + w.ToUpper() + |> Seq.map letterValue + |> Seq.sum + +let floatWrap f n = + let n = float n + f n |> int64 |> (fun n -> bigint n) + +let triangleNumber n = + n |> floatWrap (fun n -> n / 2.0 * (n + 1.0)) + +let pentagonalNumber n = + n |> floatWrap (fun n -> n / 2.0 * (3.0 * n - 1.0)) + +let hexagonalNumber n = + n |> floatWrap (fun n -> n * (2.0 * n - 1.0)) + +let revString s = + new string (s |> Seq.toArray |> Array.rev) + +let isPalindrome s = + s = revString s \ No newline at end of file diff --git a/dist.female.first.txt b/dist.female.first.txt new file mode 100644 index 0000000..7d534d2 --- /dev/null +++ b/dist.female.first.txt @@ -0,0 +1,4275 @@ +MARY 2.629 2.629 1 +PATRICIA 1.073 3.702 2 +LINDA 1.035 4.736 3 +BARBARA 0.980 5.716 4 +ELIZABETH 0.937 6.653 5 +JENNIFER 0.932 7.586 6 +MARIA 0.828 8.414 7 +SUSAN 0.794 9.209 8 +MARGARET 0.768 9.976 9 +DOROTHY 0.727 10.703 10 +LISA 0.704 11.407 11 +NANCY 0.669 12.075 12 +KAREN 0.667 12.742 13 +BETTY 0.666 13.408 14 +HELEN 0.663 14.071 15 +SANDRA 0.629 14.700 16 +DONNA 0.583 15.282 17 +CAROL 0.565 15.848 18 +RUTH 0.562 16.410 19 +SHARON 0.522 16.932 20 +MICHELLE 0.519 17.451 21 +LAURA 0.510 17.961 22 +SARAH 0.508 18.469 23 +KIMBERLY 0.504 18.973 24 +DEBORAH 0.494 19.467 25 +JESSICA 0.490 19.958 26 +SHIRLEY 0.482 20.439 27 +CYNTHIA 0.469 20.908 28 +ANGELA 0.468 21.376 29 +MELISSA 0.462 21.839 30 +BRENDA 0.455 22.293 31 +AMY 0.451 22.745 32 +ANNA 0.440 23.185 33 +REBECCA 0.430 23.615 34 +VIRGINIA 0.430 24.044 35 +KATHLEEN 0.424 24.468 36 +PAMELA 0.416 24.884 37 +MARTHA 0.412 25.297 38 +DEBRA 0.408 25.704 39 +AMANDA 0.404 26.108 40 +STEPHANIE 0.400 26.508 41 +CAROLYN 0.385 26.893 42 +CHRISTINE 0.382 27.275 43 +MARIE 0.379 27.655 44 +JANET 0.379 28.034 45 +CATHERINE 0.373 28.408 46 +FRANCES 0.370 28.777 47 +ANN 0.364 29.141 48 +JOYCE 0.364 29.505 49 +DIANE 0.359 29.864 50 +ALICE 0.357 30.221 51 +JULIE 0.348 30.568 52 +HEATHER 0.337 30.905 53 +TERESA 0.336 31.241 54 +DORIS 0.335 31.577 55 +GLORIA 0.335 31.912 56 +EVELYN 0.322 32.233 57 +JEAN 0.315 32.548 58 +CHERYL 0.315 32.863 59 +MILDRED 0.313 33.176 60 +KATHERINE 0.313 33.489 61 +JOAN 0.306 33.795 62 +ASHLEY 0.303 34.098 63 +JUDITH 0.297 34.395 64 +ROSE 0.296 34.691 65 +JANICE 0.285 34.975 66 +KELLY 0.283 35.258 67 +NICOLE 0.281 35.539 68 +JUDY 0.276 35.815 69 +CHRISTINA 0.275 36.090 70 +KATHY 0.272 36.362 71 +THERESA 0.271 36.633 72 +BEVERLY 0.267 36.900 73 +DENISE 0.264 37.164 74 +TAMMY 0.259 37.423 75 +IRENE 0.252 37.675 76 +JANE 0.250 37.925 77 +LORI 0.248 38.173 78 +RACHEL 0.242 38.415 79 +MARILYN 0.241 38.657 80 +ANDREA 0.236 38.893 81 +KATHRYN 0.234 39.127 82 +LOUISE 0.229 39.356 83 +SARA 0.229 39.584 84 +ANNE 0.228 39.812 85 +JACQUELINE 0.228 40.040 86 +WANDA 0.226 40.266 87 +BONNIE 0.223 40.489 88 +JULIA 0.223 40.711 89 +RUBY 0.221 40.932 90 +LOIS 0.220 41.153 91 +TINA 0.220 41.372 92 +PHYLLIS 0.219 41.591 93 +NORMA 0.218 41.809 94 +PAULA 0.217 42.026 95 +DIANA 0.216 42.242 96 +ANNIE 0.216 42.458 97 +LILLIAN 0.211 42.669 98 +EMILY 0.208 42.877 99 +ROBIN 0.208 43.085 100 +PEGGY 0.208 43.293 101 +CRYSTAL 0.207 43.500 102 +GLADYS 0.205 43.705 103 +RITA 0.204 43.908 104 +DAWN 0.202 44.111 105 +CONNIE 0.200 44.311 106 +FLORENCE 0.200 44.511 107 +TRACY 0.197 44.708 108 +EDNA 0.197 44.904 109 +TIFFANY 0.195 45.100 110 +CARMEN 0.195 45.295 111 +ROSA 0.194 45.489 112 +CINDY 0.192 45.681 113 +GRACE 0.189 45.869 114 +WENDY 0.185 46.055 115 +VICTORIA 0.180 46.235 116 +EDITH 0.179 46.414 117 +KIM 0.178 46.592 118 +SHERRY 0.178 46.770 119 +SYLVIA 0.177 46.947 120 +JOSEPHINE 0.177 47.123 121 +THELMA 0.175 47.298 122 +SHANNON 0.175 47.473 123 +SHEILA 0.175 47.648 124 +ETHEL 0.174 47.822 125 +ELLEN 0.173 47.995 126 +ELAINE 0.173 48.168 127 +MARJORIE 0.173 48.341 128 +CARRIE 0.171 48.512 129 +CHARLOTTE 0.169 48.680 130 +MONICA 0.166 48.847 131 +ESTHER 0.166 49.013 132 +PAULINE 0.165 49.178 133 +EMMA 0.165 49.342 134 +JUANITA 0.164 49.506 135 +ANITA 0.162 49.669 136 +RHONDA 0.162 49.830 137 +HAZEL 0.161 49.991 138 +AMBER 0.160 50.151 139 +EVA 0.159 50.310 140 +DEBBIE 0.157 50.467 141 +APRIL 0.154 50.621 142 +LESLIE 0.154 50.775 143 +CLARA 0.153 50.928 144 +LUCILLE 0.153 51.081 145 +JAMIE 0.153 51.235 146 +JOANNE 0.150 51.385 147 +ELEANOR 0.150 51.535 148 +VALERIE 0.149 51.684 149 +DANIELLE 0.149 51.833 150 +MEGAN 0.147 51.981 151 +ALICIA 0.146 52.126 152 +SUZANNE 0.145 52.272 153 +MICHELE 0.145 52.417 154 +GAIL 0.145 52.562 155 +BERTHA 0.143 52.704 156 +DARLENE 0.142 52.847 157 +VERONICA 0.142 52.989 158 +JILL 0.142 53.131 159 +ERIN 0.141 53.272 160 +GERALDINE 0.141 53.413 161 +LAUREN 0.137 53.550 162 +CATHY 0.137 53.687 163 +JOANN 0.136 53.823 164 +LORRAINE 0.135 53.958 165 +LYNN 0.135 54.093 166 +SALLY 0.135 54.228 167 +REGINA 0.133 54.360 168 +ERICA 0.130 54.490 169 +BEATRICE 0.130 54.620 170 +DOLORES 0.129 54.749 171 +BERNICE 0.128 54.877 172 +AUDREY 0.127 55.003 173 +YVONNE 0.126 55.129 174 +ANNETTE 0.125 55.255 175 +JUNE 0.125 55.380 176 +SAMANTHA 0.124 55.504 177 +MARION 0.122 55.626 178 +DANA 0.122 55.748 179 +STACY 0.121 55.869 180 +ANA 0.120 55.989 181 +RENEE 0.120 56.109 182 +IDA 0.118 56.227 183 +VIVIAN 0.118 56.346 184 +ROBERTA 0.117 56.463 185 +HOLLY 0.117 56.580 186 +BRITTANY 0.117 56.697 187 +MELANIE 0.116 56.813 188 +LORETTA 0.115 56.928 189 +YOLANDA 0.115 57.043 190 +JEANETTE 0.115 57.158 191 +LAURIE 0.114 57.271 192 +KATIE 0.113 57.385 193 +KRISTEN 0.111 57.496 194 +VANESSA 0.111 57.607 195 +ALMA 0.111 57.718 196 +SUE 0.111 57.829 197 +ELSIE 0.110 57.939 198 +BETH 0.110 58.049 199 +JEANNE 0.109 58.158 200 +VICKI 0.109 58.267 201 +CARLA 0.107 58.374 202 +TARA 0.107 58.482 203 +ROSEMARY 0.107 58.589 204 +EILEEN 0.105 58.694 205 +TERRI 0.105 58.799 206 +GERTRUDE 0.103 58.902 207 +LUCY 0.103 59.005 208 +TONYA 0.102 59.107 209 +ELLA 0.101 59.208 210 +STACEY 0.101 59.308 211 +WILMA 0.099 59.408 212 +GINA 0.099 59.506 213 +KRISTIN 0.099 59.605 214 +JESSIE 0.098 59.703 215 +NATALIE 0.098 59.801 216 +AGNES 0.098 59.899 217 +VERA 0.098 59.997 218 +WILLIE 0.097 60.094 219 +CHARLENE 0.097 60.191 220 +BESSIE 0.096 60.287 221 +DELORES 0.095 60.382 222 +MELINDA 0.094 60.477 223 +PEARL 0.094 60.571 224 +ARLENE 0.094 60.665 225 +MAUREEN 0.092 60.757 226 +COLLEEN 0.092 60.849 227 +ALLISON 0.092 60.941 228 +TAMARA 0.092 61.033 229 +JOY 0.091 61.124 230 +GEORGIA 0.091 61.215 231 +CONSTANCE 0.091 61.305 232 +LILLIE 0.090 61.396 233 +CLAUDIA 0.090 61.485 234 +JACKIE 0.090 61.575 235 +MARCIA 0.090 61.665 236 +TANYA 0.089 61.754 237 +NELLIE 0.089 61.843 238 +MINNIE 0.089 61.931 239 +MARLENE 0.088 62.020 240 +HEIDI 0.088 62.108 241 +GLENDA 0.088 62.195 242 +LYDIA 0.086 62.281 243 +VIOLA 0.086 62.367 244 +COURTNEY 0.086 62.453 245 +MARIAN 0.086 62.539 246 +STELLA 0.085 62.623 247 +CAROLINE 0.085 62.708 248 +DORA 0.084 62.792 249 +JO 0.083 62.875 250 +VICKIE 0.082 62.957 251 +MATTIE 0.081 63.038 252 +TERRY 0.080 63.118 253 +MAXINE 0.079 63.198 254 +IRMA 0.079 63.277 255 +MABEL 0.078 63.355 256 +MARSHA 0.078 63.434 257 +MYRTLE 0.078 63.511 258 +LENA 0.077 63.589 259 +CHRISTY 0.077 63.665 260 +DEANNA 0.076 63.742 261 +PATSY 0.076 63.818 262 +HILDA 0.075 63.893 263 +GWENDOLYN 0.074 63.967 264 +JENNIE 0.073 64.040 265 +NORA 0.073 64.113 266 +MARGIE 0.072 64.185 267 +NINA 0.072 64.257 268 +CASSANDRA 0.072 64.329 269 +LEAH 0.072 64.401 270 +PENNY 0.071 64.472 271 +KAY 0.071 64.543 272 +PRISCILLA 0.071 64.614 273 +NAOMI 0.071 64.684 274 +CAROLE 0.071 64.755 275 +BRANDY 0.070 64.825 276 +OLGA 0.070 64.895 277 +BILLIE 0.069 64.964 278 +DIANNE 0.069 65.033 279 +TRACEY 0.069 65.102 280 +LEONA 0.069 65.171 281 +JENNY 0.068 65.239 282 +FELICIA 0.068 65.307 283 +SONIA 0.068 65.374 284 +MIRIAM 0.066 65.440 285 +VELMA 0.066 65.506 286 +BECKY 0.066 65.572 287 +BOBBIE 0.065 65.637 288 +VIOLET 0.065 65.702 289 +KRISTINA 0.065 65.767 290 +TONI 0.064 65.831 291 +MISTY 0.063 65.894 292 +MAE 0.063 65.957 293 +SHELLY 0.062 66.019 294 +DAISY 0.062 66.081 295 +RAMONA 0.062 66.143 296 +SHERRI 0.062 66.205 297 +ERIKA 0.061 66.267 298 +KATRINA 0.061 66.328 299 +CLAIRE 0.061 66.388 300 +LINDSEY 0.060 66.448 301 +LINDSAY 0.060 66.507 302 +GENEVA 0.059 66.567 303 +GUADALUPE 0.059 66.626 304 +BELINDA 0.059 66.685 305 +MARGARITA 0.059 66.743 306 +SHERYL 0.059 66.802 307 +CORA 0.058 66.860 308 +FAYE 0.058 66.917 309 +ADA 0.057 66.975 310 +NATASHA 0.057 67.032 311 +SABRINA 0.057 67.089 312 +ISABEL 0.057 67.146 313 +MARGUERITE 0.056 67.202 314 +HATTIE 0.056 67.257 315 +HARRIET 0.056 67.313 316 +MOLLY 0.055 67.368 317 +CECILIA 0.055 67.424 318 +KRISTI 0.055 67.479 319 +BRANDI 0.055 67.534 320 +BLANCHE 0.055 67.589 321 +SANDY 0.055 67.644 322 +ROSIE 0.055 67.699 323 +JOANNA 0.055 67.754 324 +IRIS 0.055 67.808 325 +EUNICE 0.054 67.863 326 +ANGIE 0.054 67.917 327 +INEZ 0.053 67.970 328 +LYNDA 0.053 68.023 329 +MADELINE 0.052 68.075 330 +AMELIA 0.052 68.127 331 +ALBERTA 0.052 68.179 332 +GENEVIEVE 0.051 68.230 333 +MONIQUE 0.051 68.282 334 +JODI 0.051 68.333 335 +JANIE 0.051 68.385 336 +MAGGIE 0.051 68.436 337 +KAYLA 0.051 68.487 338 +SONYA 0.051 68.538 339 +JAN 0.051 68.589 340 +LEE 0.051 68.641 341 +KRISTINE 0.051 68.691 342 +CANDACE 0.051 68.742 343 +FANNIE 0.050 68.792 344 +MARYANN 0.050 68.843 345 +OPAL 0.050 68.893 346 +ALISON 0.050 68.943 347 +YVETTE 0.050 68.993 348 +MELODY 0.050 69.043 349 +LUZ 0.049 69.092 350 +SUSIE 0.049 69.142 351 +OLIVIA 0.049 69.191 352 +FLORA 0.049 69.240 353 +SHELLEY 0.049 69.288 354 +KRISTY 0.048 69.337 355 +MAMIE 0.048 69.385 356 +LULA 0.048 69.433 357 +LOLA 0.048 69.482 358 +VERNA 0.048 69.530 359 +BEULAH 0.048 69.577 360 +ANTOINETTE 0.048 69.625 361 +CANDICE 0.046 69.671 362 +JUANA 0.046 69.717 363 +JEANNETTE 0.046 69.763 364 +PAM 0.046 69.809 365 +KELLI 0.046 69.854 366 +HANNAH 0.045 69.899 367 +WHITNEY 0.045 69.944 368 +BRIDGET 0.045 69.989 369 +KARLA 0.044 70.034 370 +CELIA 0.044 70.078 371 +LATOYA 0.043 70.121 372 +PATTY 0.043 70.165 373 +SHELIA 0.043 70.208 374 +GAYLE 0.043 70.251 375 +DELLA 0.043 70.294 376 +VICKY 0.043 70.336 377 +LYNNE 0.043 70.379 378 +SHERI 0.042 70.421 379 +MARIANNE 0.042 70.463 380 +KARA 0.041 70.504 381 +JACQUELYN 0.041 70.544 382 +ERMA 0.041 70.585 383 +BLANCA 0.041 70.626 384 +MYRA 0.040 70.666 385 +LETICIA 0.040 70.706 386 +PAT 0.040 70.746 387 +KRISTA 0.040 70.786 388 +ROXANNE 0.040 70.826 389 +ANGELICA 0.039 70.865 390 +JOHNNIE 0.039 70.905 391 +ROBYN 0.039 70.944 392 +FRANCIS 0.039 70.983 393 +ADRIENNE 0.039 71.022 394 +ROSALIE 0.039 71.061 395 +ALEXANDRA 0.039 71.100 396 +BROOKE 0.039 71.139 397 +BETHANY 0.039 71.177 398 +SADIE 0.039 71.216 399 +BERNADETTE 0.039 71.254 400 +TRACI 0.038 71.293 401 +JODY 0.038 71.331 402 +KENDRA 0.038 71.369 403 +JASMINE 0.038 71.407 404 +NICHOLE 0.038 71.445 405 +RACHAEL 0.038 71.483 406 +CHELSEA 0.038 71.520 407 +MABLE 0.038 71.558 408 +ERNESTINE 0.038 71.596 409 +MURIEL 0.038 71.634 410 +MARCELLA 0.037 71.671 411 +ELENA 0.037 71.708 412 +KRYSTAL 0.037 71.745 413 +ANGELINA 0.037 71.781 414 +NADINE 0.036 71.818 415 +KARI 0.036 71.853 416 +ESTELLE 0.036 71.889 417 +DIANNA 0.036 71.925 418 +PAULETTE 0.036 71.961 419 +LORA 0.036 71.996 420 +MONA 0.035 72.032 421 +DOREEN 0.035 72.067 422 +ROSEMARIE 0.035 72.102 423 +ANGEL 0.035 72.137 424 +DESIREE 0.035 72.172 425 +ANTONIA 0.035 72.207 426 +HOPE 0.034 72.241 427 +GINGER 0.034 72.274 428 +JANIS 0.034 72.308 429 +BETSY 0.034 72.342 430 +CHRISTIE 0.034 72.375 431 +FREDA 0.034 72.409 432 +MERCEDES 0.033 72.442 433 +MEREDITH 0.033 72.475 434 +LYNETTE 0.033 72.508 435 +TERI 0.033 72.541 436 +CRISTINA 0.033 72.573 437 +EULA 0.033 72.606 438 +LEIGH 0.032 72.638 439 +MEGHAN 0.032 72.670 440 +SOPHIA 0.032 72.702 441 +ELOISE 0.032 72.734 442 +ROCHELLE 0.032 72.766 443 +GRETCHEN 0.032 72.798 444 +CECELIA 0.032 72.829 445 +RAQUEL 0.031 72.860 446 +HENRIETTA 0.031 72.891 447 +ALYSSA 0.031 72.922 448 +JANA 0.031 72.953 449 +KELLEY 0.031 72.983 450 +GWEN 0.031 73.014 451 +KERRY 0.031 73.044 452 +JENNA 0.030 73.075 453 +TRICIA 0.030 73.105 454 +LAVERNE 0.030 73.135 455 +OLIVE 0.030 73.165 456 +ALEXIS 0.030 73.195 457 +TASHA 0.030 73.225 458 +SILVIA 0.029 73.254 459 +ELVIRA 0.029 73.284 460 +CASEY 0.029 73.313 461 +DELIA 0.029 73.342 462 +SOPHIE 0.029 73.372 463 +KATE 0.029 73.401 464 +PATTI 0.029 73.430 465 +LORENA 0.029 73.459 466 +KELLIE 0.029 73.488 467 +SONJA 0.029 73.517 468 +LILA 0.029 73.546 469 +LANA 0.029 73.575 470 +DARLA 0.029 73.604 471 +MAY 0.029 73.633 472 +MINDY 0.029 73.661 473 +ESSIE 0.029 73.690 474 +MANDY 0.029 73.719 475 +LORENE 0.028 73.747 476 +ELSA 0.028 73.775 477 +JOSEFINA 0.028 73.804 478 +JEANNIE 0.028 73.832 479 +MIRANDA 0.028 73.860 480 +DIXIE 0.028 73.888 481 +LUCIA 0.028 73.916 482 +MARTA 0.028 73.944 483 +FAITH 0.028 73.972 484 +LELA 0.028 73.999 485 +JOHANNA 0.028 74.027 486 +SHARI 0.028 74.055 487 +CAMILLE 0.028 74.082 488 +TAMI 0.027 74.110 489 +SHAWNA 0.027 74.137 490 +ELISA 0.027 74.164 491 +EBONY 0.027 74.192 492 +MELBA 0.027 74.219 493 +ORA 0.027 74.246 494 +NETTIE 0.027 74.273 495 +TABITHA 0.027 74.300 496 +OLLIE 0.027 74.327 497 +JAIME 0.027 74.354 498 +WINIFRED 0.027 74.381 499 +KRISTIE 0.027 74.408 500 +MARINA 0.027 74.435 501 +ALISHA 0.027 74.462 502 +AIMEE 0.027 74.488 503 +RENA 0.027 74.515 504 +MYRNA 0.026 74.541 505 +MARLA 0.026 74.567 506 +TAMMIE 0.026 74.593 507 +LATASHA 0.026 74.619 508 +BONITA 0.026 74.645 509 +PATRICE 0.026 74.671 510 +RONDA 0.026 74.697 511 +SHERRIE 0.026 74.722 512 +ADDIE 0.026 74.748 513 +FRANCINE 0.025 74.773 514 +DELORIS 0.025 74.799 515 +STACIE 0.025 74.824 516 +ADRIANA 0.025 74.849 517 +CHERI 0.025 74.874 518 +SHELBY 0.025 74.899 519 +ABIGAIL 0.025 74.924 520 +CELESTE 0.025 74.949 521 +JEWEL 0.025 74.974 522 +CARA 0.025 74.999 523 +ADELE 0.025 75.024 524 +REBEKAH 0.025 75.048 525 +LUCINDA 0.025 75.073 526 +DORTHY 0.025 75.097 527 +CHRIS 0.024 75.122 528 +EFFIE 0.024 75.146 529 +TRINA 0.024 75.171 530 +REBA 0.024 75.195 531 +SHAWN 0.024 75.219 532 +SALLIE 0.024 75.244 533 +AURORA 0.024 75.268 534 +LENORA 0.024 75.292 535 +ETTA 0.024 75.317 536 +LOTTIE 0.024 75.341 537 +KERRI 0.024 75.365 538 +TRISHA 0.024 75.389 539 +NIKKI 0.024 75.413 540 +ESTELLA 0.024 75.438 541 +FRANCISCA 0.024 75.461 542 +JOSIE 0.024 75.485 543 +TRACIE 0.024 75.509 544 +MARISSA 0.024 75.533 545 +KARIN 0.024 75.557 546 +BRITTNEY 0.024 75.580 547 +JANELLE 0.024 75.604 548 +LOURDES 0.024 75.628 549 +LAUREL 0.024 75.651 550 +HELENE 0.024 75.675 551 +FERN 0.024 75.698 552 +ELVA 0.024 75.722 553 +CORINNE 0.024 75.745 554 +KELSEY 0.024 75.769 555 +INA 0.023 75.792 556 +BETTIE 0.023 75.816 557 +ELISABETH 0.023 75.839 558 +AIDA 0.023 75.862 559 +CAITLIN 0.023 75.886 560 +INGRID 0.023 75.909 561 +IVA 0.023 75.932 562 +EUGENIA 0.023 75.955 563 +CHRISTA 0.023 75.978 564 +GOLDIE 0.023 76.000 565 +CASSIE 0.023 76.023 566 +MAUDE 0.023 76.046 567 +JENIFER 0.023 76.068 568 +THERESE 0.022 76.091 569 +FRANKIE 0.022 76.113 570 +DENA 0.022 76.136 571 +LORNA 0.022 76.158 572 +JANETTE 0.022 76.180 573 +LATONYA 0.022 76.202 574 +CANDY 0.022 76.224 575 +MORGAN 0.022 76.247 576 +CONSUELO 0.022 76.269 577 +TAMIKA 0.022 76.291 578 +ROSETTA 0.022 76.313 579 +DEBORA 0.022 76.334 580 +CHERIE 0.022 76.356 581 +POLLY 0.022 76.378 582 +DINA 0.022 76.400 583 +JEWELL 0.021 76.421 584 +FAY 0.021 76.442 585 +JILLIAN 0.021 76.464 586 +DOROTHEA 0.021 76.485 587 +NELL 0.021 76.506 588 +TRUDY 0.021 76.527 589 +ESPERANZA 0.021 76.548 590 +PATRICA 0.021 76.570 591 +KIMBERLEY 0.021 76.591 592 +SHANNA 0.021 76.611 593 +HELENA 0.021 76.632 594 +CAROLINA 0.021 76.653 595 +CLEO 0.021 76.674 596 +STEFANIE 0.021 76.694 597 +ROSARIO 0.020 76.715 598 +OLA 0.020 76.735 599 +JANINE 0.020 76.756 600 +MOLLIE 0.020 76.776 601 +LUPE 0.020 76.796 602 +ALISA 0.020 76.816 603 +LOU 0.020 76.836 604 +MARIBEL 0.020 76.856 605 +SUSANNE 0.020 76.875 606 +BETTE 0.019 76.895 607 +SUSANA 0.019 76.914 608 +ELISE 0.019 76.933 609 +CECILE 0.019 76.953 610 +ISABELLE 0.019 76.972 611 +LESLEY 0.019 76.991 612 +JOCELYN 0.019 77.010 613 +PAIGE 0.019 77.030 614 +JONI 0.019 77.049 615 +RACHELLE 0.019 77.068 616 +LEOLA 0.019 77.087 617 +DAPHNE 0.019 77.106 618 +ALTA 0.019 77.125 619 +ESTER 0.019 77.144 620 +PETRA 0.019 77.162 621 +GRACIELA 0.019 77.181 622 +IMOGENE 0.019 77.200 623 +JOLENE 0.019 77.219 624 +KEISHA 0.019 77.237 625 +LACEY 0.018 77.256 626 +GLENNA 0.018 77.274 627 +GABRIELA 0.018 77.293 628 +KERI 0.018 77.311 629 +URSULA 0.018 77.329 630 +LIZZIE 0.018 77.347 631 +KIRSTEN 0.018 77.366 632 +SHANA 0.018 77.384 633 +ADELINE 0.018 77.402 634 +MAYRA 0.018 77.420 635 +JAYNE 0.018 77.438 636 +JACLYN 0.018 77.456 637 +GRACIE 0.018 77.474 638 +SONDRA 0.018 77.492 639 +CARMELA 0.018 77.509 640 +MARISA 0.018 77.527 641 +ROSALIND 0.018 77.545 642 +CHARITY 0.018 77.563 643 +TONIA 0.018 77.580 644 +BEATRIZ 0.018 77.598 645 +MARISOL 0.018 77.616 646 +CLARICE 0.018 77.633 647 +JEANINE 0.017 77.651 648 +SHEENA 0.017 77.668 649 +ANGELINE 0.017 77.685 650 +FRIEDA 0.017 77.703 651 +LILY 0.017 77.720 652 +ROBBIE 0.017 77.737 653 +SHAUNA 0.017 77.754 654 +MILLIE 0.017 77.771 655 +CLAUDETTE 0.017 77.788 656 +CATHLEEN 0.017 77.805 657 +ANGELIA 0.017 77.822 658 +GABRIELLE 0.017 77.839 659 +AUTUMN 0.017 77.856 660 +KATHARINE 0.017 77.873 661 +SUMMER 0.017 77.890 662 +JODIE 0.017 77.907 663 +STACI 0.017 77.923 664 +LEA 0.017 77.940 665 +CHRISTI 0.017 77.957 666 +JIMMIE 0.017 77.974 667 +JUSTINE 0.017 77.990 668 +ELMA 0.017 78.007 669 +LUELLA 0.017 78.023 670 +MARGRET 0.017 78.040 671 +DOMINIQUE 0.016 78.056 672 +SOCORRO 0.016 78.073 673 +RENE 0.016 78.089 674 +MARTINA 0.016 78.105 675 +MARGO 0.016 78.122 676 +MAVIS 0.016 78.138 677 +CALLIE 0.016 78.154 678 +BOBBI 0.016 78.170 679 +MARITZA 0.016 78.186 680 +LUCILE 0.016 78.202 681 +LEANNE 0.016 78.219 682 +JEANNINE 0.016 78.235 683 +DEANA 0.016 78.251 684 +AILEEN 0.016 78.267 685 +LORIE 0.016 78.282 686 +LADONNA 0.016 78.298 687 +WILLA 0.016 78.314 688 +MANUELA 0.016 78.330 689 +GALE 0.016 78.346 690 +SELMA 0.016 78.361 691 +DOLLY 0.016 78.377 692 +SYBIL 0.016 78.393 693 +ABBY 0.016 78.408 694 +LARA 0.016 78.424 695 +DALE 0.016 78.440 696 +IVY 0.016 78.455 697 +DEE 0.016 78.471 698 +WINNIE 0.016 78.486 699 +MARCY 0.016 78.502 700 +LUISA 0.016 78.517 701 +JERI 0.015 78.533 702 +MAGDALENA 0.015 78.548 703 +OFELIA 0.015 78.563 704 +MEAGAN 0.015 78.579 705 +AUDRA 0.015 78.594 706 +MATILDA 0.015 78.609 707 +LEILA 0.015 78.624 708 +CORNELIA 0.015 78.639 709 +BIANCA 0.015 78.654 710 +SIMONE 0.015 78.669 711 +BETTYE 0.015 78.684 712 +RANDI 0.015 78.699 713 +VIRGIE 0.015 78.713 714 +LATISHA 0.015 78.728 715 +BARBRA 0.015 78.743 716 +GEORGINA 0.015 78.758 717 +ELIZA 0.015 78.772 718 +LEANN 0.015 78.787 719 +BRIDGETTE 0.015 78.801 720 +RHODA 0.014 78.816 721 +HALEY 0.014 78.830 722 +ADELA 0.014 78.845 723 +NOLA 0.014 78.859 724 +BERNADINE 0.014 78.873 725 +FLOSSIE 0.014 78.887 726 +ILA 0.014 78.902 727 +GRETA 0.014 78.916 728 +RUTHIE 0.014 78.930 729 +NELDA 0.014 78.944 730 +MINERVA 0.014 78.958 731 +LILLY 0.014 78.973 732 +TERRIE 0.014 78.987 733 +LETHA 0.014 79.001 734 +HILARY 0.014 79.015 735 +ESTELA 0.014 79.029 736 +VALARIE 0.014 79.043 737 +BRIANNA 0.014 79.057 738 +ROSALYN 0.014 79.071 739 +EARLINE 0.014 79.085 740 +CATALINA 0.014 79.099 741 +AVA 0.014 79.113 742 +MIA 0.014 79.127 743 +CLARISSA 0.014 79.141 744 +LIDIA 0.014 79.155 745 +CORRINE 0.014 79.169 746 +ALEXANDRIA 0.014 79.183 747 +CONCEPCION 0.014 79.196 748 +TIA 0.014 79.210 749 +SHARRON 0.014 79.224 750 +RAE 0.014 79.238 751 +DONA 0.014 79.251 752 +ERICKA 0.014 79.265 753 +JAMI 0.014 79.278 754 +ELNORA 0.014 79.292 755 +CHANDRA 0.014 79.306 756 +LENORE 0.014 79.319 757 +NEVA 0.013 79.333 758 +MARYLOU 0.013 79.346 759 +MELISA 0.013 79.360 760 +TABATHA 0.013 79.373 761 +SERENA 0.013 79.386 762 +AVIS 0.013 79.400 763 +ALLIE 0.013 79.413 764 +SOFIA 0.013 79.426 765 +JEANIE 0.013 79.439 766 +ODESSA 0.013 79.453 767 +NANNIE 0.013 79.466 768 +HARRIETT 0.013 79.479 769 +LORAINE 0.013 79.492 770 +PENELOPE 0.013 79.505 771 +MILAGROS 0.013 79.518 772 +EMILIA 0.013 79.531 773 +BENITA 0.013 79.544 774 +ALLYSON 0.013 79.557 775 +ASHLEE 0.013 79.570 776 +TANIA 0.013 79.583 777 +TOMMIE 0.013 79.596 778 +ESMERALDA 0.013 79.608 779 +KARINA 0.013 79.621 780 +EVE 0.013 79.634 781 +PEARLIE 0.013 79.647 782 +ZELMA 0.013 79.659 783 +MALINDA 0.013 79.672 784 +NOREEN 0.013 79.684 785 +TAMEKA 0.013 79.697 786 +SAUNDRA 0.013 79.710 787 +HILLARY 0.013 79.722 788 +AMIE 0.013 79.735 789 +ALTHEA 0.012 79.747 790 +ROSALINDA 0.012 79.760 791 +JORDAN 0.012 79.772 792 +LILIA 0.012 79.784 793 +ALANA 0.012 79.797 794 +GAY 0.012 79.809 795 +CLARE 0.012 79.821 796 +ALEJANDRA 0.012 79.834 797 +ELINOR 0.012 79.846 798 +MICHAEL 0.012 79.858 799 +LORRIE 0.012 79.870 800 +JERRI 0.012 79.882 801 +DARCY 0.012 79.895 802 +EARNESTINE 0.012 79.907 803 +CARMELLA 0.012 79.919 804 +TAYLOR 0.012 79.931 805 +NOEMI 0.012 79.943 806 +MARCIE 0.012 79.954 807 +LIZA 0.012 79.966 808 +ANNABELLE 0.012 79.978 809 +LOUISA 0.012 79.990 810 +EARLENE 0.012 80.002 811 +MALLORY 0.012 80.014 812 +CARLENE 0.012 80.025 813 +NITA 0.012 80.037 814 +SELENA 0.012 80.049 815 +TANISHA 0.012 80.060 816 +KATY 0.012 80.072 817 +JULIANNE 0.012 80.083 818 +JOHN 0.012 80.095 819 +LAKISHA 0.011 80.106 820 +EDWINA 0.011 80.118 821 +MARICELA 0.011 80.129 822 +MARGERY 0.011 80.141 823 +KENYA 0.011 80.152 824 +DOLLIE 0.011 80.164 825 +ROXIE 0.011 80.175 826 +ROSLYN 0.011 80.187 827 +KATHRINE 0.011 80.198 828 +NANETTE 0.011 80.209 829 +CHARMAINE 0.011 80.221 830 +LAVONNE 0.011 80.232 831 +ILENE 0.011 80.243 832 +KRIS 0.011 80.255 833 +TAMMI 0.011 80.266 834 +SUZETTE 0.011 80.277 835 +CORINE 0.011 80.288 836 +KAYE 0.011 80.300 837 +JERRY 0.011 80.311 838 +MERLE 0.011 80.322 839 +CHRYSTAL 0.011 80.333 840 +LINA 0.011 80.344 841 +DEANNE 0.011 80.355 842 +LILIAN 0.011 80.366 843 +JULIANA 0.011 80.377 844 +ALINE 0.011 80.388 845 +LUANN 0.011 80.399 846 +KASEY 0.011 80.410 847 +MARYANNE 0.011 80.421 848 +EVANGELINE 0.011 80.432 849 +COLETTE 0.011 80.443 850 +MELVA 0.011 80.453 851 +LAWANDA 0.011 80.464 852 +YESENIA 0.011 80.475 853 +NADIA 0.011 80.486 854 +MADGE 0.011 80.497 855 +KATHIE 0.011 80.507 856 +EDDIE 0.011 80.518 857 +OPHELIA 0.011 80.529 858 +VALERIA 0.011 80.539 859 +NONA 0.011 80.550 860 +MITZI 0.011 80.561 861 +MARI 0.011 80.571 862 +GEORGETTE 0.011 80.582 863 +CLAUDINE 0.011 80.592 864 +FRAN 0.011 80.603 865 +ALISSA 0.011 80.613 866 +ROSEANN 0.010 80.624 867 +LAKEISHA 0.010 80.634 868 +SUSANNA 0.010 80.645 869 +REVA 0.010 80.655 870 +DEIDRE 0.010 80.665 871 +CHASITY 0.010 80.676 872 +SHEREE 0.010 80.686 873 +CARLY 0.010 80.697 874 +JAMES 0.010 80.707 875 +ELVIA 0.010 80.717 876 +ALYCE 0.010 80.728 877 +DEIRDRE 0.010 80.738 878 +GENA 0.010 80.748 879 +BRIANA 0.010 80.758 880 +ARACELI 0.010 80.769 881 +KATELYN 0.010 80.779 882 +ROSANNE 0.010 80.789 883 +WENDI 0.010 80.799 884 +TESSA 0.010 80.810 885 +BERTA 0.010 80.820 886 +MARVA 0.010 80.830 887 +IMELDA 0.010 80.840 888 +MARIETTA 0.010 80.850 889 +MARCI 0.010 80.860 890 +LEONOR 0.010 80.870 891 +ARLINE 0.010 80.880 892 +SASHA 0.010 80.890 893 +MADELYN 0.010 80.900 894 +JANNA 0.010 80.910 895 +JULIETTE 0.010 80.920 896 +DEENA 0.010 80.929 897 +AURELIA 0.010 80.939 898 +JOSEFA 0.010 80.949 899 +AUGUSTA 0.010 80.959 900 +LILIANA 0.010 80.968 901 +YOUNG 0.010 80.978 902 +CHRISTIAN 0.010 80.988 903 +LESSIE 0.010 80.997 904 +AMALIA 0.010 81.007 905 +SAVANNAH 0.010 81.017 906 +ANASTASIA 0.010 81.026 907 +VILMA 0.010 81.036 908 +NATALIA 0.010 81.045 909 +ROSELLA 0.010 81.055 910 +LYNNETTE 0.010 81.064 911 +CORINA 0.010 81.074 912 +ALFREDA 0.009 81.083 913 +LEANNA 0.009 81.093 914 +CAREY 0.009 81.102 915 +AMPARO 0.009 81.112 916 +COLEEN 0.009 81.121 917 +TAMRA 0.009 81.131 918 +AISHA 0.009 81.140 919 +WILDA 0.009 81.149 920 +KARYN 0.009 81.159 921 +CHERRY 0.009 81.168 922 +QUEEN 0.009 81.177 923 +MAURA 0.009 81.187 924 +MAI 0.009 81.196 925 +EVANGELINA 0.009 81.205 926 +ROSANNA 0.009 81.214 927 +HALLIE 0.009 81.224 928 +ERNA 0.009 81.233 929 +ENID 0.009 81.242 930 +MARIANA 0.009 81.251 931 +LACY 0.009 81.260 932 +JULIET 0.009 81.270 933 +JACKLYN 0.009 81.279 934 +FREIDA 0.009 81.288 935 +MADELEINE 0.009 81.297 936 +MARA 0.009 81.306 937 +HESTER 0.009 81.315 938 +CATHRYN 0.009 81.324 939 +LELIA 0.009 81.333 940 +CASANDRA 0.009 81.343 941 +BRIDGETT 0.009 81.352 942 +ANGELITA 0.009 81.361 943 +JANNIE 0.009 81.370 944 +DIONNE 0.009 81.379 945 +ANNMARIE 0.009 81.388 946 +KATINA 0.009 81.397 947 +BERYL 0.009 81.405 948 +PHOEBE 0.009 81.414 949 +MILLICENT 0.009 81.423 950 +KATHERYN 0.009 81.432 951 +DIANN 0.009 81.441 952 +CARISSA 0.009 81.450 953 +MARYELLEN 0.009 81.459 954 +LIZ 0.009 81.468 955 +LAURI 0.009 81.476 956 +HELGA 0.009 81.485 957 +GILDA 0.009 81.494 958 +ADRIAN 0.009 81.503 959 +RHEA 0.009 81.511 960 +MARQUITA 0.009 81.520 961 +HOLLIE 0.009 81.529 962 +TISHA 0.009 81.538 963 +TAMERA 0.009 81.546 964 +ANGELIQUE 0.009 81.555 965 +FRANCESCA 0.009 81.564 966 +BRITNEY 0.009 81.573 967 +KAITLIN 0.009 81.581 968 +LOLITA 0.009 81.590 969 +FLORINE 0.009 81.599 970 +ROWENA 0.009 81.607 971 +REYNA 0.009 81.616 972 +TWILA 0.009 81.624 973 +FANNY 0.009 81.633 974 +JANELL 0.009 81.641 975 +INES 0.009 81.650 976 +CONCETTA 0.009 81.658 977 +BERTIE 0.009 81.667 978 +ALBA 0.009 81.676 979 +BRIGITTE 0.009 81.684 980 +ALYSON 0.009 81.693 981 +VONDA 0.008 81.701 982 +PANSY 0.008 81.710 983 +ELBA 0.008 81.718 984 +NOELLE 0.008 81.726 985 +LETITIA 0.008 81.735 986 +KITTY 0.008 81.743 987 +DEANN 0.008 81.752 988 +BRANDIE 0.008 81.760 989 +LOUELLA 0.008 81.769 990 +LETA 0.008 81.777 991 +FELECIA 0.008 81.786 992 +SHARLENE 0.008 81.794 993 +LESA 0.008 81.802 994 +BEVERLEY 0.008 81.811 995 +ROBERT 0.008 81.819 996 +ISABELLA 0.008 81.827 997 +HERMINIA 0.008 81.836 998 +TERRA 0.008 81.844 999 +CELINA 0.008 81.852 1000 +TORI 0.008 81.861 1001 +OCTAVIA 0.008 81.869 1002 +JADE 0.008 81.877 1003 +DENICE 0.008 81.885 1004 +GERMAINE 0.008 81.894 1005 +SIERRA 0.008 81.902 1006 +MICHELL 0.008 81.910 1007 +CORTNEY 0.008 81.918 1008 +NELLY 0.008 81.926 1009 +DORETHA 0.008 81.934 1010 +SYDNEY 0.008 81.943 1011 +DEIDRA 0.008 81.951 1012 +MONIKA 0.008 81.959 1013 +LASHONDA 0.008 81.967 1014 +JUDI 0.008 81.975 1015 +CHELSEY 0.008 81.983 1016 +ANTIONETTE 0.008 81.991 1017 +MARGOT 0.008 81.999 1018 +BOBBY 0.008 82.007 1019 +ADELAIDE 0.008 82.015 1020 +NAN 0.008 82.023 1021 +LEEANN 0.008 82.030 1022 +ELISHA 0.008 82.038 1023 +DESSIE 0.008 82.046 1024 +LIBBY 0.008 82.054 1025 +KATHI 0.008 82.062 1026 +GAYLA 0.008 82.070 1027 +LATANYA 0.008 82.078 1028 +MINA 0.008 82.086 1029 +MELLISA 0.008 82.093 1030 +KIMBERLEE 0.008 82.101 1031 +JASMIN 0.008 82.109 1032 +RENAE 0.008 82.117 1033 +ZELDA 0.008 82.125 1034 +ELDA 0.008 82.132 1035 +MA 0.008 82.140 1036 +JUSTINA 0.008 82.148 1037 +GUSSIE 0.008 82.156 1038 +EMILIE 0.008 82.163 1039 +CAMILLA 0.008 82.171 1040 +ABBIE 0.008 82.179 1041 +ROCIO 0.008 82.186 1042 +KAITLYN 0.008 82.194 1043 +JESSE 0.008 82.202 1044 +EDYTHE 0.008 82.209 1045 +ASHLEIGH 0.008 82.217 1046 +SELINA 0.008 82.225 1047 +LAKESHA 0.008 82.232 1048 +GERI 0.008 82.240 1049 +ALLENE 0.008 82.248 1050 +PAMALA 0.008 82.255 1051 +MICHAELA 0.008 82.263 1052 +DAYNA 0.008 82.270 1053 +CARYN 0.008 82.278 1054 +ROSALIA 0.008 82.286 1055 +SUN 0.007 82.293 1056 +JACQULINE 0.007 82.301 1057 +REBECA 0.007 82.308 1058 +MARYBETH 0.007 82.315 1059 +KRYSTLE 0.007 82.323 1060 +IOLA 0.007 82.330 1061 +DOTTIE 0.007 82.338 1062 +BENNIE 0.007 82.345 1063 +BELLE 0.007 82.353 1064 +AUBREY 0.007 82.360 1065 +GRISELDA 0.007 82.367 1066 +ERNESTINA 0.007 82.375 1067 +ELIDA 0.007 82.382 1068 +ADRIANNE 0.007 82.390 1069 +DEMETRIA 0.007 82.397 1070 +DELMA 0.007 82.404 1071 +CHONG 0.007 82.412 1072 +JAQUELINE 0.007 82.419 1073 +DESTINY 0.007 82.427 1074 +ARLEEN 0.007 82.434 1075 +VIRGINA 0.007 82.441 1076 +RETHA 0.007 82.448 1077 +FATIMA 0.007 82.456 1078 +TILLIE 0.007 82.463 1079 +ELEANORE 0.007 82.470 1080 +CARI 0.007 82.478 1081 +TREVA 0.007 82.485 1082 +BIRDIE 0.007 82.492 1083 +WILHELMINA 0.007 82.499 1084 +ROSALEE 0.007 82.506 1085 +MAURINE 0.007 82.514 1086 +LATRICE 0.007 82.521 1087 +YONG 0.007 82.528 1088 +JENA 0.007 82.535 1089 +TARYN 0.007 82.542 1090 +ELIA 0.007 82.549 1091 +DEBBY 0.007 82.556 1092 +MAUDIE 0.007 82.564 1093 +JEANNA 0.007 82.571 1094 +DELILAH 0.007 82.578 1095 +CATRINA 0.007 82.585 1096 +SHONDA 0.007 82.592 1097 +HORTENCIA 0.007 82.599 1098 +THEODORA 0.007 82.606 1099 +TERESITA 0.007 82.613 1100 +ROBBIN 0.007 82.620 1101 +DANETTE 0.007 82.627 1102 +MARYJANE 0.007 82.634 1103 +FREDDIE 0.007 82.641 1104 +DELPHINE 0.007 82.648 1105 +BRIANNE 0.007 82.655 1106 +NILDA 0.007 82.662 1107 +DANNA 0.007 82.669 1108 +CINDI 0.007 82.676 1109 +BESS 0.007 82.683 1110 +IONA 0.007 82.690 1111 +HANNA 0.007 82.697 1112 +ARIEL 0.007 82.704 1113 +WINONA 0.007 82.711 1114 +VIDA 0.007 82.718 1115 +ROSITA 0.007 82.725 1116 +MARIANNA 0.007 82.731 1117 +WILLIAM 0.007 82.738 1118 +RACHEAL 0.007 82.745 1119 +GUILLERMINA 0.007 82.752 1120 +ELOISA 0.007 82.759 1121 +CELESTINE 0.007 82.766 1122 +CAREN 0.007 82.773 1123 +MALISSA 0.007 82.780 1124 +LONA 0.007 82.786 1125 +CHANTEL 0.007 82.793 1126 +SHELLIE 0.007 82.800 1127 +MARISELA 0.007 82.807 1128 +LEORA 0.007 82.814 1129 +AGATHA 0.007 82.820 1130 +SOLEDAD 0.007 82.827 1131 +MIGDALIA 0.007 82.834 1132 +IVETTE 0.007 82.840 1133 +CHRISTEN 0.007 82.847 1134 +ATHENA 0.007 82.854 1135 +JANEL 0.007 82.861 1136 +CHLOE 0.007 82.867 1137 +VEDA 0.007 82.874 1138 +PATTIE 0.007 82.881 1139 +TESSIE 0.007 82.887 1140 +TERA 0.007 82.894 1141 +MARILYNN 0.007 82.901 1142 +LUCRETIA 0.007 82.907 1143 +KARRIE 0.007 82.914 1144 +DINAH 0.007 82.920 1145 +DANIELA 0.007 82.927 1146 +ALECIA 0.007 82.934 1147 +ADELINA 0.007 82.940 1148 +VERNICE 0.007 82.947 1149 +SHIELA 0.007 82.953 1150 +PORTIA 0.007 82.960 1151 +MERRY 0.007 82.967 1152 +LASHAWN 0.007 82.973 1153 +DEVON 0.007 82.980 1154 +DARA 0.007 82.986 1155 +TAWANA 0.007 82.993 1156 +OMA 0.007 82.999 1157 +VERDA 0.007 83.006 1158 +CHRISTIN 0.007 83.012 1159 +ALENE 0.007 83.019 1160 +ZELLA 0.006 83.025 1161 +SANDI 0.006 83.032 1162 +RAFAELA 0.006 83.038 1163 +MAYA 0.006 83.045 1164 +KIRA 0.006 83.051 1165 +CANDIDA 0.006 83.058 1166 +ALVINA 0.006 83.064 1167 +SUZAN 0.006 83.071 1168 +SHAYLA 0.006 83.077 1169 +LYN 0.006 83.083 1170 +LETTIE 0.006 83.090 1171 +ALVA 0.006 83.096 1172 +SAMATHA 0.006 83.103 1173 +ORALIA 0.006 83.109 1174 +MATILDE 0.006 83.115 1175 +MADONNA 0.006 83.122 1176 +LARISSA 0.006 83.128 1177 +VESTA 0.006 83.134 1178 +RENITA 0.006 83.141 1179 +INDIA 0.006 83.147 1180 +DELOIS 0.006 83.153 1181 +SHANDA 0.006 83.159 1182 +PHILLIS 0.006 83.166 1183 +LORRI 0.006 83.172 1184 +ERLINDA 0.006 83.178 1185 +CRUZ 0.006 83.185 1186 +CATHRINE 0.006 83.191 1187 +BARB 0.006 83.197 1188 +ZOE 0.006 83.203 1189 +ISABELL 0.006 83.210 1190 +IONE 0.006 83.216 1191 +GISELA 0.006 83.222 1192 +CHARLIE 0.006 83.228 1193 +VALENCIA 0.006 83.235 1194 +ROXANNA 0.006 83.241 1195 +MAYME 0.006 83.247 1196 +KISHA 0.006 83.253 1197 +ELLIE 0.006 83.259 1198 +MELLISSA 0.006 83.266 1199 +DORRIS 0.006 83.272 1200 +DALIA 0.006 83.278 1201 +BELLA 0.006 83.284 1202 +ANNETTA 0.006 83.290 1203 +ZOILA 0.006 83.296 1204 +RETA 0.006 83.302 1205 +REINA 0.006 83.308 1206 +LAURETTA 0.006 83.315 1207 +KYLIE 0.006 83.321 1208 +CHRISTAL 0.006 83.327 1209 +PILAR 0.006 83.333 1210 +CHARLA 0.006 83.339 1211 +ELISSA 0.006 83.345 1212 +TIFFANI 0.006 83.351 1213 +TANA 0.006 83.357 1214 +PAULINA 0.006 83.363 1215 +LEOTA 0.006 83.369 1216 +BREANNA 0.006 83.375 1217 +JAYME 0.006 83.381 1218 +CARMEL 0.006 83.387 1219 +VERNELL 0.006 83.393 1220 +TOMASA 0.006 83.399 1221 +MANDI 0.006 83.405 1222 +DOMINGA 0.006 83.411 1223 +SANTA 0.006 83.417 1224 +MELODIE 0.006 83.423 1225 +LURA 0.006 83.429 1226 +ALEXA 0.006 83.435 1227 +TAMELA 0.006 83.441 1228 +RYAN 0.006 83.447 1229 +MIRNA 0.006 83.453 1230 +KERRIE 0.006 83.458 1231 +VENUS 0.006 83.464 1232 +NOEL 0.006 83.470 1233 +FELICITA 0.006 83.476 1234 +CRISTY 0.006 83.482 1235 +CARMELITA 0.006 83.488 1236 +BERNIECE 0.006 83.494 1237 +ANNEMARIE 0.006 83.500 1238 +TIARA 0.006 83.505 1239 +ROSEANNE 0.006 83.511 1240 +MISSY 0.006 83.517 1241 +CORI 0.006 83.523 1242 +ROXANA 0.006 83.529 1243 +PRICILLA 0.006 83.535 1244 +KRISTAL 0.006 83.540 1245 +JUNG 0.006 83.546 1246 +ELYSE 0.006 83.552 1247 +HAYDEE 0.006 83.558 1248 +ALETHA 0.006 83.564 1249 +BETTINA 0.006 83.569 1250 +MARGE 0.006 83.575 1251 +GILLIAN 0.006 83.581 1252 +FILOMENA 0.006 83.586 1253 +CHARLES 0.006 83.592 1254 +ZENAIDA 0.006 83.598 1255 +HARRIETTE 0.006 83.603 1256 +CARIDAD 0.006 83.609 1257 +VADA 0.006 83.615 1258 +UNA 0.006 83.620 1259 +ARETHA 0.006 83.626 1260 +PEARLINE 0.006 83.632 1261 +MARJORY 0.006 83.637 1262 +MARCELA 0.006 83.643 1263 +FLOR 0.006 83.648 1264 +EVETTE 0.006 83.654 1265 +ELOUISE 0.006 83.659 1266 +ALINA 0.006 83.665 1267 +TRINIDAD 0.006 83.671 1268 +DAVID 0.006 83.676 1269 +DAMARIS 0.006 83.682 1270 +CATHARINE 0.006 83.687 1271 +CARROLL 0.006 83.693 1272 +BELVA 0.006 83.698 1273 +NAKIA 0.005 83.704 1274 +MARLENA 0.005 83.709 1275 +LUANNE 0.005 83.715 1276 +LORINE 0.005 83.720 1277 +KARON 0.005 83.726 1278 +DORENE 0.005 83.731 1279 +DANITA 0.005 83.737 1280 +BRENNA 0.005 83.742 1281 +TATIANA 0.005 83.748 1282 +SAMMIE 0.005 83.753 1283 +LOUANN 0.005 83.759 1284 +LOREN 0.005 83.764 1285 +JULIANNA 0.005 83.770 1286 +ANDRIA 0.005 83.775 1287 +PHILOMENA 0.005 83.780 1288 +LUCILA 0.005 83.786 1289 +LEONORA 0.005 83.791 1290 +DOVIE 0.005 83.797 1291 +ROMONA 0.005 83.802 1292 +MIMI 0.005 83.808 1293 +JACQUELIN 0.005 83.813 1294 +GAYE 0.005 83.818 1295 +TONJA 0.005 83.824 1296 +MISTI 0.005 83.829 1297 +JOE 0.005 83.835 1298 +GENE 0.005 83.840 1299 +CHASTITY 0.005 83.845 1300 +STACIA 0.005 83.851 1301 +ROXANN 0.005 83.856 1302 +MICAELA 0.005 83.861 1303 +NIKITA 0.005 83.867 1304 +MEI 0.005 83.872 1305 +VELDA 0.005 83.877 1306 +MARLYS 0.005 83.882 1307 +JOHNNA 0.005 83.888 1308 +AURA 0.005 83.893 1309 +LAVERN 0.005 83.898 1310 +IVONNE 0.005 83.903 1311 +HAYLEY 0.005 83.909 1312 +NICKI 0.005 83.914 1313 +MAJORIE 0.005 83.919 1314 +HERLINDA 0.005 83.924 1315 +GEORGE 0.005 83.930 1316 +ALPHA 0.005 83.935 1317 +YADIRA 0.005 83.940 1318 +PERLA 0.005 83.945 1319 +GREGORIA 0.005 83.950 1320 +DANIEL 0.005 83.955 1321 +ANTONETTE 0.005 83.961 1322 +SHELLI 0.005 83.966 1323 +MOZELLE 0.005 83.971 1324 +MARIAH 0.005 83.976 1325 +JOELLE 0.005 83.981 1326 +CORDELIA 0.005 83.986 1327 +JOSETTE 0.005 83.992 1328 +CHIQUITA 0.005 83.997 1329 +TRISTA 0.005 84.002 1330 +LOUIS 0.005 84.007 1331 +LAQUITA 0.005 84.012 1332 +GEORGIANA 0.005 84.017 1333 +CANDI 0.005 84.022 1334 +SHANON 0.005 84.027 1335 +LONNIE 0.005 84.032 1336 +HILDEGARD 0.005 84.037 1337 +CECIL 0.005 84.042 1338 +VALENTINA 0.005 84.047 1339 +STEPHANY 0.005 84.052 1340 +MAGDA 0.005 84.057 1341 +KAROL 0.005 84.062 1342 +GERRY 0.005 84.067 1343 +GABRIELLA 0.005 84.072 1344 +TIANA 0.005 84.077 1345 +ROMA 0.005 84.082 1346 +RICHELLE 0.005 84.087 1347 +RAY 0.005 84.092 1348 +PRINCESS 0.005 84.097 1349 +OLETA 0.005 84.102 1350 +JACQUE 0.005 84.107 1351 +IDELLA 0.005 84.112 1352 +ALAINA 0.005 84.117 1353 +SUZANNA 0.005 84.122 1354 +JOVITA 0.005 84.127 1355 +BLAIR 0.005 84.132 1356 +TOSHA 0.005 84.137 1357 +RAVEN 0.005 84.142 1358 +NEREIDA 0.005 84.147 1359 +MARLYN 0.005 84.152 1360 +KYLA 0.005 84.157 1361 +JOSEPH 0.005 84.162 1362 +DELFINA 0.005 84.167 1363 +TENA 0.005 84.172 1364 +STEPHENIE 0.005 84.177 1365 +SABINA 0.005 84.182 1366 +NATHALIE 0.005 84.186 1367 +MARCELLE 0.005 84.191 1368 +GERTIE 0.005 84.196 1369 +DARLEEN 0.005 84.201 1370 +THEA 0.005 84.206 1371 +SHARONDA 0.005 84.211 1372 +SHANTEL 0.005 84.216 1373 +BELEN 0.005 84.221 1374 +VENESSA 0.005 84.225 1375 +ROSALINA 0.005 84.230 1376 +ONA 0.005 84.235 1377 +GENOVEVA 0.005 84.240 1378 +COREY 0.005 84.245 1379 +CLEMENTINE 0.005 84.250 1380 +ROSALBA 0.005 84.254 1381 +RENATE 0.005 84.259 1382 +RENATA 0.005 84.264 1383 +MI 0.005 84.269 1384 +IVORY 0.005 84.274 1385 +GEORGIANNA 0.005 84.278 1386 +FLOY 0.005 84.283 1387 +DORCAS 0.005 84.288 1388 +ARIANA 0.005 84.293 1389 +TYRA 0.005 84.298 1390 +THEDA 0.005 84.302 1391 +MARIAM 0.005 84.307 1392 +JULI 0.005 84.312 1393 +JESICA 0.005 84.317 1394 +DONNIE 0.005 84.321 1395 +VIKKI 0.005 84.326 1396 +VERLA 0.005 84.331 1397 +ROSELYN 0.005 84.336 1398 +MELVINA 0.005 84.340 1399 +JANNETTE 0.005 84.345 1400 +GINNY 0.005 84.350 1401 +DEBRAH 0.005 84.355 1402 +CORRIE 0.005 84.359 1403 +ASIA 0.005 84.364 1404 +VIOLETA 0.005 84.369 1405 +MYRTIS 0.005 84.374 1406 +LATRICIA 0.005 84.378 1407 +COLLETTE 0.005 84.383 1408 +CHARLEEN 0.005 84.388 1409 +ANISSA 0.005 84.392 1410 +VIVIANA 0.005 84.397 1411 +TWYLA 0.005 84.402 1412 +PRECIOUS 0.005 84.406 1413 +NEDRA 0.005 84.411 1414 +LATONIA 0.005 84.416 1415 +LAN 0.005 84.420 1416 +HELLEN 0.005 84.425 1417 +FABIOLA 0.005 84.430 1418 +ANNAMARIE 0.005 84.435 1419 +ADELL 0.005 84.439 1420 +SHARYN 0.005 84.444 1421 +CHANTAL 0.005 84.448 1422 +NIKI 0.005 84.453 1423 +MAUD 0.005 84.458 1424 +LIZETTE 0.005 84.462 1425 +LINDY 0.005 84.467 1426 +KIA 0.005 84.472 1427 +KESHA 0.005 84.476 1428 +JEANA 0.005 84.481 1429 +DANELLE 0.005 84.485 1430 +CHARLINE 0.005 84.490 1431 +CHANEL 0.005 84.495 1432 +CARROL 0.005 84.499 1433 +VALORIE 0.005 84.504 1434 +LIA 0.005 84.508 1435 +DORTHA 0.005 84.513 1436 +CRISTAL 0.005 84.518 1437 +SUNNY 0.005 84.522 1438 +LEONE 0.005 84.527 1439 +LEILANI 0.005 84.531 1440 +GERRI 0.005 84.536 1441 +DEBI 0.005 84.540 1442 +ANDRA 0.005 84.545 1443 +KESHIA 0.005 84.549 1444 +IMA 0.005 84.554 1445 +EULALIA 0.005 84.558 1446 +EASTER 0.005 84.563 1447 +DULCE 0.005 84.568 1448 +NATIVIDAD 0.004 84.572 1449 +LINNIE 0.004 84.577 1450 +KAMI 0.004 84.581 1451 +GEORGIE 0.004 84.586 1452 +CATINA 0.004 84.590 1453 +BROOK 0.004 84.594 1454 +ALDA 0.004 84.599 1455 +WINNIFRED 0.004 84.603 1456 +SHARLA 0.004 84.608 1457 +RUTHANN 0.004 84.612 1458 +MEAGHAN 0.004 84.617 1459 +MAGDALENE 0.004 84.621 1460 +LISSETTE 0.004 84.626 1461 +ADELAIDA 0.004 84.630 1462 +VENITA 0.004 84.635 1463 +TRENA 0.004 84.639 1464 +SHIRLENE 0.004 84.643 1465 +SHAMEKA 0.004 84.648 1466 +ELIZEBETH 0.004 84.652 1467 +DIAN 0.004 84.657 1468 +SHANTA 0.004 84.661 1469 +MICKEY 0.004 84.666 1470 +LATOSHA 0.004 84.670 1471 +CARLOTTA 0.004 84.674 1472 +WINDY 0.004 84.679 1473 +SOON 0.004 84.683 1474 +ROSINA 0.004 84.687 1475 +MARIANN 0.004 84.692 1476 +LEISA 0.004 84.696 1477 +JONNIE 0.004 84.701 1478 +DAWNA 0.004 84.705 1479 +CATHIE 0.004 84.709 1480 +BILLY 0.004 84.714 1481 +ASTRID 0.004 84.718 1482 +SIDNEY 0.004 84.722 1483 +LAUREEN 0.004 84.726 1484 +JANEEN 0.004 84.731 1485 +HOLLI 0.004 84.735 1486 +FAWN 0.004 84.739 1487 +VICKEY 0.004 84.744 1488 +TERESSA 0.004 84.748 1489 +SHANTE 0.004 84.752 1490 +RUBYE 0.004 84.756 1491 +MARCELINA 0.004 84.761 1492 +CHANDA 0.004 84.765 1493 +CARY 0.004 84.769 1494 +TERESE 0.004 84.774 1495 +SCARLETT 0.004 84.778 1496 +MARTY 0.004 84.782 1497 +MARNIE 0.004 84.786 1498 +LULU 0.004 84.790 1499 +LISETTE 0.004 84.795 1500 +JENIFFER 0.004 84.799 1501 +ELENOR 0.004 84.803 1502 +DORINDA 0.004 84.807 1503 +DONITA 0.004 84.812 1504 +CARMAN 0.004 84.816 1505 +BERNITA 0.004 84.820 1506 +ALTAGRACIA 0.004 84.824 1507 +ALETA 0.004 84.829 1508 +ADRIANNA 0.004 84.833 1509 +ZORAIDA 0.004 84.837 1510 +RONNIE 0.004 84.841 1511 +NICOLA 0.004 84.845 1512 +LYNDSEY 0.004 84.850 1513 +KENDALL 0.004 84.854 1514 +JANINA 0.004 84.858 1515 +CHRISSY 0.004 84.862 1516 +AMI 0.004 84.867 1517 +STARLA 0.004 84.871 1518 +PHYLIS 0.004 84.875 1519 +PHUONG 0.004 84.879 1520 +KYRA 0.004 84.883 1521 +CHARISSE 0.004 84.887 1522 +BLANCH 0.004 84.892 1523 +SANJUANITA 0.004 84.896 1524 +RONA 0.004 84.900 1525 +NANCI 0.004 84.904 1526 +MARILEE 0.004 84.908 1527 +MARANDA 0.004 84.912 1528 +CORY 0.004 84.916 1529 +BRIGETTE 0.004 84.921 1530 +SANJUANA 0.004 84.925 1531 +MARITA 0.004 84.929 1532 +KASSANDRA 0.004 84.933 1533 +JOYCELYN 0.004 84.937 1534 +IRA 0.004 84.941 1535 +FELIPA 0.004 84.945 1536 +CHELSIE 0.004 84.949 1537 +BONNY 0.004 84.954 1538 +MIREYA 0.004 84.958 1539 +LORENZA 0.004 84.962 1540 +KYONG 0.004 84.966 1541 +ILEANA 0.004 84.970 1542 +CANDELARIA 0.004 84.974 1543 +TONY 0.004 84.978 1544 +TOBY 0.004 84.982 1545 +SHERIE 0.004 84.986 1546 +OK 0.004 84.990 1547 +MARK 0.004 84.994 1548 +LUCIE 0.004 84.998 1549 +LEATRICE 0.004 85.002 1550 +LAKESHIA 0.004 85.006 1551 +GERDA 0.004 85.010 1552 +EDIE 0.004 85.014 1553 +BAMBI 0.004 85.018 1554 +MARYLIN 0.004 85.023 1555 +LAVON 0.004 85.027 1556 +HORTENSE 0.004 85.031 1557 +GARNET 0.004 85.035 1558 +EVIE 0.004 85.039 1559 +TRESSA 0.004 85.043 1560 +SHAYNA 0.004 85.047 1561 +LAVINA 0.004 85.051 1562 +KYUNG 0.004 85.055 1563 +JEANETTA 0.004 85.059 1564 +SHERRILL 0.004 85.062 1565 +SHARA 0.004 85.066 1566 +PHYLISS 0.004 85.070 1567 +MITTIE 0.004 85.074 1568 +ANABEL 0.004 85.078 1569 +ALESIA 0.004 85.082 1570 +THUY 0.004 85.086 1571 +TAWANDA 0.004 85.090 1572 +RICHARD 0.004 85.094 1573 +JOANIE 0.004 85.098 1574 +TIFFANIE 0.004 85.102 1575 +LASHANDA 0.004 85.106 1576 +KARISSA 0.004 85.110 1577 +ENRIQUETA 0.004 85.114 1578 +DARIA 0.004 85.117 1579 +DANIELLA 0.004 85.121 1580 +CORINNA 0.004 85.125 1581 +ALANNA 0.004 85.129 1582 +ABBEY 0.004 85.133 1583 +ROXANE 0.004 85.137 1584 +ROSEANNA 0.004 85.141 1585 +MAGNOLIA 0.004 85.145 1586 +LIDA 0.004 85.148 1587 +KYLE 0.004 85.152 1588 +JOELLEN 0.004 85.156 1589 +ERA 0.004 85.160 1590 +CORAL 0.004 85.164 1591 +CARLEEN 0.004 85.168 1592 +TRESA 0.004 85.172 1593 +PEGGIE 0.004 85.175 1594 +NOVELLA 0.004 85.179 1595 +NILA 0.004 85.183 1596 +MAYBELLE 0.004 85.187 1597 +JENELLE 0.004 85.191 1598 +CARINA 0.004 85.195 1599 +NOVA 0.004 85.198 1600 +MELINA 0.004 85.202 1601 +MARQUERITE 0.004 85.206 1602 +MARGARETTE 0.004 85.210 1603 +JOSEPHINA 0.004 85.214 1604 +EVONNE 0.004 85.217 1605 +DEVIN 0.004 85.221 1606 +CINTHIA 0.004 85.225 1607 +ALBINA 0.004 85.229 1608 +TOYA 0.004 85.233 1609 +TAWNYA 0.004 85.236 1610 +SHERITA 0.004 85.240 1611 +SANTOS 0.004 85.244 1612 +MYRIAM 0.004 85.248 1613 +LIZABETH 0.004 85.251 1614 +LISE 0.004 85.255 1615 +KEELY 0.004 85.259 1616 +JENNI 0.004 85.263 1617 +GISELLE 0.004 85.266 1618 +CHERYLE 0.004 85.270 1619 +ARDITH 0.004 85.274 1620 +ARDIS 0.004 85.278 1621 +ALESHA 0.004 85.282 1622 +ADRIANE 0.004 85.285 1623 +SHAINA 0.004 85.289 1624 +LINNEA 0.004 85.293 1625 +KAROLYN 0.004 85.297 1626 +HONG 0.004 85.300 1627 +FLORIDA 0.004 85.304 1628 +FELISHA 0.004 85.308 1629 +DORI 0.004 85.311 1630 +DARCI 0.004 85.315 1631 +ARTIE 0.004 85.319 1632 +ARMIDA 0.004 85.323 1633 +ZOLA 0.004 85.326 1634 +XIOMARA 0.004 85.330 1635 +VERGIE 0.004 85.334 1636 +SHAMIKA 0.004 85.338 1637 +NENA 0.004 85.341 1638 +NANNETTE 0.004 85.345 1639 +MAXIE 0.004 85.349 1640 +LOVIE 0.004 85.352 1641 +JEANE 0.004 85.356 1642 +JAIMIE 0.004 85.360 1643 +INGE 0.004 85.363 1644 +FARRAH 0.004 85.367 1645 +ELAINA 0.004 85.371 1646 +CAITLYN 0.004 85.375 1647 +STARR 0.004 85.378 1648 +FELICITAS 0.004 85.382 1649 +CHERLY 0.004 85.386 1650 +CARYL 0.004 85.389 1651 +YOLONDA 0.004 85.393 1652 +YASMIN 0.004 85.397 1653 +TEENA 0.004 85.400 1654 +PRUDENCE 0.004 85.404 1655 +PENNIE 0.004 85.407 1656 +NYDIA 0.004 85.411 1657 +MACKENZIE 0.004 85.415 1658 +ORPHA 0.004 85.418 1659 +MARVEL 0.004 85.422 1660 +LIZBETH 0.004 85.426 1661 +LAURETTE 0.004 85.429 1662 +JERRIE 0.004 85.433 1663 +HERMELINDA 0.004 85.436 1664 +CAROLEE 0.004 85.440 1665 +TIERRA 0.004 85.444 1666 +MIRIAN 0.004 85.447 1667 +META 0.004 85.451 1668 +MELONY 0.004 85.454 1669 +KORI 0.004 85.458 1670 +JENNETTE 0.004 85.462 1671 +JAMILA 0.004 85.465 1672 +ENA 0.004 85.469 1673 +ANH 0.004 85.472 1674 +YOSHIKO 0.004 85.476 1675 +SUSANNAH 0.004 85.479 1676 +SALINA 0.004 85.483 1677 +RHIANNON 0.004 85.486 1678 +JOLEEN 0.004 85.490 1679 +CRISTINE 0.004 85.494 1680 +ASHTON 0.004 85.497 1681 +ARACELY 0.004 85.501 1682 +TOMEKA 0.004 85.504 1683 +SHALONDA 0.004 85.508 1684 +MARTI 0.004 85.511 1685 +LACIE 0.004 85.515 1686 +KALA 0.004 85.518 1687 +JADA 0.004 85.522 1688 +ILSE 0.004 85.525 1689 +HAILEY 0.004 85.529 1690 +BRITTANI 0.004 85.532 1691 +ZONA 0.003 85.536 1692 +SYBLE 0.003 85.539 1693 +SHERRYL 0.003 85.543 1694 +RANDY 0.003 85.546 1695 +NIDIA 0.003 85.550 1696 +MARLO 0.003 85.553 1697 +KANDICE 0.003 85.557 1698 +KANDI 0.003 85.560 1699 +DEB 0.003 85.564 1700 +DEAN 0.003 85.567 1701 +AMERICA 0.003 85.571 1702 +ALYCIA 0.003 85.574 1703 +TOMMY 0.003 85.578 1704 +RONNA 0.003 85.581 1705 +NORENE 0.003 85.585 1706 +MERCY 0.003 85.588 1707 +JOSE 0.003 85.591 1708 +INGEBORG 0.003 85.595 1709 +GIOVANNA 0.003 85.598 1710 +GEMMA 0.003 85.602 1711 +CHRISTEL 0.003 85.605 1712 +AUDRY 0.003 85.609 1713 +ZORA 0.003 85.612 1714 +VITA 0.003 85.616 1715 +VAN 0.003 85.619 1716 +TRISH 0.003 85.622 1717 +STEPHAINE 0.003 85.626 1718 +SHIRLEE 0.003 85.629 1719 +SHANIKA 0.003 85.633 1720 +MELONIE 0.003 85.636 1721 +MAZIE 0.003 85.639 1722 +JAZMIN 0.003 85.643 1723 +INGA 0.003 85.646 1724 +HOA 0.003 85.650 1725 +HETTIE 0.003 85.653 1726 +GERALYN 0.003 85.657 1727 +FONDA 0.003 85.660 1728 +ESTRELLA 0.003 85.663 1729 +ADELLA 0.003 85.667 1730 +SU 0.003 85.670 1731 +SARITA 0.003 85.674 1732 +RINA 0.003 85.677 1733 +MILISSA 0.003 85.680 1734 +MARIBETH 0.003 85.684 1735 +GOLDA 0.003 85.687 1736 +EVON 0.003 85.691 1737 +ETHELYN 0.003 85.694 1738 +ENEDINA 0.003 85.697 1739 +CHERISE 0.003 85.701 1740 +CHANA 0.003 85.704 1741 +VELVA 0.003 85.708 1742 +TAWANNA 0.003 85.711 1743 +SADE 0.003 85.714 1744 +MIRTA 0.003 85.718 1745 +LI 0.003 85.721 1746 +KARIE 0.003 85.724 1747 +JACINTA 0.003 85.728 1748 +ELNA 0.003 85.731 1749 +DAVINA 0.003 85.734 1750 +CIERRA 0.003 85.738 1751 +ASHLIE 0.003 85.741 1752 +ALBERTHA 0.003 85.744 1753 +TANESHA 0.003 85.748 1754 +STEPHANI 0.003 85.751 1755 +NELLE 0.003 85.754 1756 +MINDI 0.003 85.758 1757 +LU 0.003 85.761 1758 +LORINDA 0.003 85.764 1759 +LARUE 0.003 85.768 1760 +FLORENE 0.003 85.771 1761 +DEMETRA 0.003 85.774 1762 +DEDRA 0.003 85.778 1763 +CIARA 0.003 85.781 1764 +CHANTELLE 0.003 85.784 1765 +ASHLY 0.003 85.788 1766 +SUZY 0.003 85.791 1767 +ROSALVA 0.003 85.794 1768 +NOELIA 0.003 85.798 1769 +LYDA 0.003 85.801 1770 +LEATHA 0.003 85.804 1771 +KRYSTYNA 0.003 85.808 1772 +KRISTAN 0.003 85.811 1773 +KARRI 0.003 85.814 1774 +DARLINE 0.003 85.817 1775 +DARCIE 0.003 85.821 1776 +CINDA 0.003 85.824 1777 +CHEYENNE 0.003 85.827 1778 +CHERRIE 0.003 85.831 1779 +AWILDA 0.003 85.834 1780 +ALMEDA 0.003 85.837 1781 +ROLANDA 0.003 85.840 1782 +LANETTE 0.003 85.844 1783 +JERILYN 0.003 85.847 1784 +GISELE 0.003 85.850 1785 +EVALYN 0.003 85.854 1786 +CYNDI 0.003 85.857 1787 +CLETA 0.003 85.860 1788 +CARIN 0.003 85.863 1789 +ZINA 0.003 85.867 1790 +ZENA 0.003 85.870 1791 +VELIA 0.003 85.873 1792 +TANIKA 0.003 85.876 1793 +PAUL 0.003 85.880 1794 +CHARISSA 0.003 85.883 1795 +THOMAS 0.003 85.886 1796 +TALIA 0.003 85.889 1797 +MARGARETE 0.003 85.892 1798 +LAVONDA 0.003 85.896 1799 +KAYLEE 0.003 85.899 1800 +KATHLENE 0.003 85.902 1801 +JONNA 0.003 85.905 1802 +IRENA 0.003 85.908 1803 +ILONA 0.003 85.912 1804 +IDALIA 0.003 85.915 1805 +CANDIS 0.003 85.918 1806 +CANDANCE 0.003 85.921 1807 +BRANDEE 0.003 85.924 1808 +ANITRA 0.003 85.928 1809 +ALIDA 0.003 85.931 1810 +SIGRID 0.003 85.934 1811 +NICOLETTE 0.003 85.937 1812 +MARYJO 0.003 85.940 1813 +LINETTE 0.003 85.944 1814 +HEDWIG 0.003 85.947 1815 +CHRISTIANA 0.003 85.950 1816 +CASSIDY 0.003 85.953 1817 +ALEXIA 0.003 85.956 1818 +TRESSIE 0.003 85.959 1819 +MODESTA 0.003 85.962 1820 +LUPITA 0.003 85.966 1821 +LITA 0.003 85.969 1822 +GLADIS 0.003 85.972 1823 +EVELIA 0.003 85.975 1824 +DAVIDA 0.003 85.978 1825 +CHERRI 0.003 85.981 1826 +CECILY 0.003 85.984 1827 +ASHELY 0.003 85.988 1828 +ANNABEL 0.003 85.991 1829 +AGUSTINA 0.003 85.994 1830 +WANITA 0.003 85.997 1831 +SHIRLY 0.003 86.000 1832 +ROSAURA 0.003 86.003 1833 +HULDA 0.003 86.006 1834 +EUN 0.003 86.009 1835 +BAILEY 0.003 86.013 1836 +YETTA 0.003 86.016 1837 +VERONA 0.003 86.019 1838 +THOMASINA 0.003 86.022 1839 +SIBYL 0.003 86.025 1840 +SHANNAN 0.003 86.028 1841 +MECHELLE 0.003 86.031 1842 +LUE 0.003 86.034 1843 +LEANDRA 0.003 86.037 1844 +LANI 0.003 86.040 1845 +KYLEE 0.003 86.043 1846 +KANDY 0.003 86.046 1847 +JOLYNN 0.003 86.049 1848 +FERNE 0.003 86.053 1849 +EBONI 0.003 86.056 1850 +CORENE 0.003 86.059 1851 +ALYSIA 0.003 86.062 1852 +ZULA 0.003 86.065 1853 +NADA 0.003 86.068 1854 +MOIRA 0.003 86.071 1855 +LYNDSAY 0.003 86.074 1856 +LORRETTA 0.003 86.077 1857 +JUAN 0.003 86.080 1858 +JAMMIE 0.003 86.083 1859 +HORTENSIA 0.003 86.086 1860 +GAYNELL 0.003 86.089 1861 +CAMERON 0.003 86.092 1862 +ADRIA 0.003 86.095 1863 +VINA 0.003 86.098 1864 +VICENTA 0.003 86.101 1865 +TANGELA 0.003 86.104 1866 +STEPHINE 0.003 86.107 1867 +NORINE 0.003 86.110 1868 +NELLA 0.003 86.113 1869 +LIANA 0.003 86.116 1870 +LESLEE 0.003 86.119 1871 +KIMBERELY 0.003 86.122 1872 +ILIANA 0.003 86.125 1873 +GLORY 0.003 86.128 1874 +FELICA 0.003 86.131 1875 +EMOGENE 0.003 86.134 1876 +ELFRIEDE 0.003 86.137 1877 +EDEN 0.003 86.140 1878 +EARTHA 0.003 86.144 1879 +CARMA 0.003 86.147 1880 +BEA 0.003 86.150 1881 +OCIE 0.003 86.153 1882 +MARRY 0.003 86.156 1883 +LENNIE 0.003 86.158 1884 +KIARA 0.003 86.161 1885 +JACALYN 0.003 86.164 1886 +CARLOTA 0.003 86.167 1887 +ARIELLE 0.003 86.170 1888 +YU 0.003 86.173 1889 +STAR 0.003 86.176 1890 +OTILIA 0.003 86.179 1891 +KIRSTIN 0.003 86.182 1892 +KACEY 0.003 86.185 1893 +JOHNETTA 0.003 86.188 1894 +JOEY 0.003 86.191 1895 +JOETTA 0.003 86.194 1896 +JERALDINE 0.003 86.197 1897 +JAUNITA 0.003 86.200 1898 +ELANA 0.003 86.203 1899 +DORTHEA 0.003 86.206 1900 +CAMI 0.003 86.209 1901 +AMADA 0.003 86.212 1902 +ADELIA 0.003 86.215 1903 +VERNITA 0.003 86.218 1904 +TAMAR 0.003 86.221 1905 +SIOBHAN 0.003 86.223 1906 +RENEA 0.003 86.226 1907 +RASHIDA 0.003 86.229 1908 +OUIDA 0.003 86.232 1909 +ODELL 0.003 86.235 1910 +NILSA 0.003 86.238 1911 +MERYL 0.003 86.241 1912 +KRISTYN 0.003 86.244 1913 +JULIETA 0.003 86.247 1914 +DANICA 0.003 86.250 1915 +BREANNE 0.003 86.253 1916 +AUREA 0.003 86.256 1917 +ANGLEA 0.003 86.259 1918 +SHERRON 0.003 86.261 1919 +ODETTE 0.003 86.264 1920 +MALIA 0.003 86.267 1921 +LORELEI 0.003 86.270 1922 +LIN 0.003 86.273 1923 +LEESA 0.003 86.276 1924 +KENNA 0.003 86.279 1925 +KATHLYN 0.003 86.282 1926 +FIONA 0.003 86.285 1927 +CHARLETTE 0.003 86.287 1928 +SUZIE 0.003 86.290 1929 +SHANTELL 0.003 86.293 1930 +SABRA 0.003 86.296 1931 +RACQUEL 0.003 86.299 1932 +MYONG 0.003 86.302 1933 +MIRA 0.003 86.305 1934 +MARTINE 0.003 86.307 1935 +LUCIENNE 0.003 86.310 1936 +LAVADA 0.003 86.313 1937 +JULIANN 0.003 86.316 1938 +JOHNIE 0.003 86.319 1939 +ELVERA 0.003 86.322 1940 +DELPHIA 0.003 86.325 1941 +CLAIR 0.003 86.327 1942 +CHRISTIANE 0.003 86.330 1943 +CHAROLETTE 0.003 86.333 1944 +CARRI 0.003 86.336 1945 +AUGUSTINE 0.003 86.339 1946 +ASHA 0.003 86.342 1947 +ANGELLA 0.003 86.345 1948 +PAOLA 0.003 86.347 1949 +NINFA 0.003 86.350 1950 +LEDA 0.003 86.353 1951 +LAI 0.003 86.356 1952 +EDA 0.003 86.359 1953 +SUNSHINE 0.003 86.361 1954 +STEFANI 0.003 86.364 1955 +SHANELL 0.003 86.367 1956 +PALMA 0.003 86.370 1957 +MACHELLE 0.003 86.373 1958 +LISSA 0.003 86.375 1959 +KECIA 0.003 86.378 1960 +KATHRYNE 0.003 86.381 1961 +KARLENE 0.003 86.384 1962 +JULISSA 0.003 86.387 1963 +JETTIE 0.003 86.389 1964 +JENNIFFER 0.003 86.392 1965 +HUI 0.003 86.395 1966 +CORRINA 0.003 86.398 1967 +CHRISTOPHER 0.003 86.401 1968 +CAROLANN 0.003 86.403 1969 +ALENA 0.003 86.406 1970 +TESS 0.003 86.409 1971 +ROSARIA 0.003 86.412 1972 +MYRTICE 0.003 86.414 1973 +MARYLEE 0.003 86.417 1974 +LIANE 0.003 86.420 1975 +KENYATTA 0.003 86.423 1976 +JUDIE 0.003 86.426 1977 +JANEY 0.003 86.428 1978 +IN 0.003 86.431 1979 +ELMIRA 0.003 86.434 1980 +ELDORA 0.003 86.437 1981 +DENNA 0.003 86.439 1982 +CRISTI 0.003 86.442 1983 +CATHI 0.003 86.445 1984 +ZAIDA 0.003 86.448 1985 +VONNIE 0.003 86.450 1986 +VIVA 0.003 86.453 1987 +VERNIE 0.003 86.456 1988 +ROSALINE 0.003 86.459 1989 +MARIELA 0.003 86.461 1990 +LUCIANA 0.003 86.464 1991 +LESLI 0.003 86.467 1992 +KARAN 0.003 86.469 1993 +FELICE 0.003 86.472 1994 +DENEEN 0.003 86.475 1995 +ADINA 0.003 86.478 1996 +WYNONA 0.003 86.480 1997 +TARSHA 0.003 86.483 1998 +SHERON 0.003 86.486 1999 +SHASTA 0.003 86.488 2000 +SHANITA 0.003 86.491 2001 +SHANI 0.003 86.494 2002 +SHANDRA 0.003 86.497 2003 +RANDA 0.003 86.499 2004 +PINKIE 0.003 86.502 2005 +PARIS 0.003 86.505 2006 +NELIDA 0.003 86.507 2007 +MARILOU 0.003 86.510 2008 +LYLA 0.003 86.513 2009 +LAURENE 0.003 86.515 2010 +LACI 0.003 86.518 2011 +JOI 0.003 86.521 2012 +JANENE 0.003 86.524 2013 +DOROTHA 0.003 86.526 2014 +DANIELE 0.003 86.529 2015 +DANI 0.003 86.532 2016 +CAROLYNN 0.003 86.534 2017 +CARLYN 0.003 86.537 2018 +BERENICE 0.003 86.540 2019 +AYESHA 0.003 86.542 2020 +ANNELIESE 0.003 86.545 2021 +ALETHEA 0.003 86.548 2022 +THERSA 0.003 86.551 2023 +TAMIKO 0.003 86.553 2024 +RUFINA 0.003 86.556 2025 +OLIVA 0.003 86.559 2026 +MOZELL 0.003 86.561 2027 +MARYLYN 0.003 86.564 2028 +MADISON 0.003 86.567 2029 +KRISTIAN 0.003 86.569 2030 +KATHYRN 0.003 86.572 2031 +KASANDRA 0.003 86.575 2032 +KANDACE 0.003 86.577 2033 +JANAE 0.003 86.580 2034 +GABRIEL 0.003 86.583 2035 +DOMENICA 0.003 86.585 2036 +DEBBRA 0.003 86.588 2037 +DANNIELLE 0.003 86.591 2038 +CHUN 0.003 86.593 2039 +BUFFY 0.003 86.596 2040 +BARBIE 0.003 86.599 2041 +ARCELIA 0.003 86.601 2042 +AJA 0.003 86.604 2043 +ZENOBIA 0.003 86.607 2044 +SHAREN 0.003 86.609 2045 +SHAREE 0.003 86.612 2046 +PATRICK 0.003 86.614 2047 +PAGE 0.003 86.617 2048 +MY 0.003 86.620 2049 +LAVINIA 0.003 86.622 2050 +KUM 0.003 86.625 2051 +KACIE 0.003 86.628 2052 +JACKELINE 0.003 86.630 2053 +HUONG 0.003 86.633 2054 +FELISA 0.003 86.636 2055 +EMELIA 0.003 86.638 2056 +ELEANORA 0.003 86.641 2057 +CYTHIA 0.003 86.644 2058 +CRISTIN 0.003 86.646 2059 +CLYDE 0.003 86.649 2060 +CLARIBEL 0.003 86.651 2061 +CARON 0.003 86.654 2062 +ANASTACIA 0.003 86.657 2063 +ZULMA 0.003 86.659 2064 +ZANDRA 0.003 86.662 2065 +YOKO 0.003 86.665 2066 +TENISHA 0.003 86.667 2067 +SUSANN 0.003 86.670 2068 +SHERILYN 0.003 86.672 2069 +SHAY 0.003 86.675 2070 +SHAWANDA 0.003 86.678 2071 +SABINE 0.003 86.680 2072 +ROMANA 0.003 86.683 2073 +MATHILDA 0.003 86.685 2074 +LINSEY 0.003 86.688 2075 +KEIKO 0.003 86.691 2076 +JOANA 0.003 86.693 2077 +ISELA 0.003 86.696 2078 +GRETTA 0.003 86.698 2079 +GEORGETTA 0.003 86.701 2080 +EUGENIE 0.003 86.704 2081 +DUSTY 0.003 86.706 2082 +DESIRAE 0.003 86.709 2083 +DELORA 0.003 86.711 2084 +CORAZON 0.003 86.714 2085 +ANTONINA 0.003 86.717 2086 +ANIKA 0.003 86.719 2087 +WILLENE 0.003 86.722 2088 +TRACEE 0.003 86.724 2089 +TAMATHA 0.003 86.727 2090 +REGAN 0.003 86.730 2091 +NICHELLE 0.003 86.732 2092 +MICKIE 0.003 86.735 2093 +MAEGAN 0.003 86.737 2094 +LUANA 0.003 86.740 2095 +LANITA 0.003 86.742 2096 +KELSIE 0.003 86.745 2097 +EDELMIRA 0.003 86.748 2098 +BREE 0.003 86.750 2099 +AFTON 0.003 86.753 2100 +TEODORA 0.003 86.755 2101 +TAMIE 0.003 86.758 2102 +SHENA 0.003 86.760 2103 +MEG 0.003 86.763 2104 +LINH 0.003 86.765 2105 +KELI 0.003 86.768 2106 +KACI 0.003 86.771 2107 +DANYELLE 0.003 86.773 2108 +BRITT 0.003 86.776 2109 +ARLETTE 0.003 86.778 2110 +ALBERTINE 0.003 86.781 2111 +ADELLE 0.003 86.783 2112 +TIFFINY 0.003 86.786 2113 +STORMY 0.003 86.788 2114 +SIMONA 0.003 86.791 2115 +NUMBERS 0.003 86.793 2116 +NICOLASA 0.003 86.796 2117 +NICHOL 0.003 86.798 2118 +NIA 0.003 86.801 2119 +NAKISHA 0.003 86.803 2120 +MEE 0.003 86.806 2121 +MAIRA 0.003 86.808 2122 +LOREEN 0.003 86.811 2123 +KIZZY 0.003 86.813 2124 +JOHNNY 0.003 86.816 2125 +JAY 0.003 86.818 2126 +FALLON 0.003 86.821 2127 +CHRISTENE 0.003 86.823 2128 +BOBBYE 0.003 86.826 2129 +ANTHONY 0.003 86.828 2130 +YING 0.002 86.831 2131 +VINCENZA 0.002 86.833 2132 +TANJA 0.002 86.836 2133 +RUBIE 0.002 86.838 2134 +RONI 0.002 86.841 2135 +QUEENIE 0.002 86.843 2136 +MARGARETT 0.002 86.846 2137 +KIMBERLI 0.002 86.848 2138 +IRMGARD 0.002 86.851 2139 +IDELL 0.002 86.853 2140 +HILMA 0.002 86.856 2141 +EVELINA 0.002 86.858 2142 +ESTA 0.002 86.861 2143 +EMILEE 0.002 86.863 2144 +DENNISE 0.002 86.866 2145 +DANIA 0.002 86.868 2146 +CARL 0.002 86.871 2147 +CARIE 0.002 86.873 2148 +ANTONIO 0.002 86.876 2149 +WAI 0.002 86.878 2150 +SANG 0.002 86.881 2151 +RISA 0.002 86.883 2152 +RIKKI 0.002 86.885 2153 +PARTICIA 0.002 86.888 2154 +MUI 0.002 86.890 2155 +MASAKO 0.002 86.893 2156 +MARIO 0.002 86.895 2157 +LUVENIA 0.002 86.898 2158 +LOREE 0.002 86.900 2159 +LONI 0.002 86.903 2160 +LIEN 0.002 86.905 2161 +KEVIN 0.002 86.907 2162 +GIGI 0.002 86.910 2163 +FLORENCIA 0.002 86.912 2164 +DORIAN 0.002 86.915 2165 +DENITA 0.002 86.917 2166 +DALLAS 0.002 86.920 2167 +CHI 0.002 86.922 2168 +BILLYE 0.002 86.925 2169 +ALEXANDER 0.002 86.927 2170 +TOMIKA 0.002 86.929 2171 +SHARITA 0.002 86.932 2172 +RANA 0.002 86.934 2173 +NIKOLE 0.002 86.937 2174 +NEOMA 0.002 86.939 2175 +MARGARITE 0.002 86.942 2176 +MADALYN 0.002 86.944 2177 +LUCINA 0.002 86.946 2178 +LAILA 0.002 86.949 2179 +KALI 0.002 86.951 2180 +JENETTE 0.002 86.954 2181 +GABRIELE 0.002 86.956 2182 +EVELYNE 0.002 86.958 2183 +ELENORA 0.002 86.961 2184 +CLEMENTINA 0.002 86.963 2185 +ALEJANDRINA 0.002 86.966 2186 +ZULEMA 0.002 86.968 2187 +VIOLETTE 0.002 86.971 2188 +VANNESSA 0.002 86.973 2189 +THRESA 0.002 86.975 2190 +RETTA 0.002 86.978 2191 +PIA 0.002 86.980 2192 +PATIENCE 0.002 86.982 2193 +NOELLA 0.002 86.985 2194 +NICKIE 0.002 86.987 2195 +JONELL 0.002 86.990 2196 +DELTA 0.002 86.992 2197 +CHUNG 0.002 86.994 2198 +CHAYA 0.002 86.997 2199 +CAMELIA 0.002 86.999 2200 +BETHEL 0.002 87.002 2201 +ANYA 0.002 87.004 2202 +ANDREW 0.002 87.006 2203 +THANH 0.002 87.009 2204 +SUZANN 0.002 87.011 2205 +SPRING 0.002 87.013 2206 +SHU 0.002 87.016 2207 +MILA 0.002 87.018 2208 +LILLA 0.002 87.020 2209 +LAVERNA 0.002 87.023 2210 +KEESHA 0.002 87.025 2211 +KATTIE 0.002 87.028 2212 +GIA 0.002 87.030 2213 +GEORGENE 0.002 87.032 2214 +EVELINE 0.002 87.035 2215 +ESTELL 0.002 87.037 2216 +ELIZBETH 0.002 87.039 2217 +VIVIENNE 0.002 87.042 2218 +VALLIE 0.002 87.044 2219 +TRUDIE 0.002 87.046 2220 +STEPHANE 0.002 87.049 2221 +MICHEL 0.002 87.051 2222 +MAGALY 0.002 87.053 2223 +MADIE 0.002 87.056 2224 +KENYETTA 0.002 87.058 2225 +KARREN 0.002 87.060 2226 +JANETTA 0.002 87.063 2227 +HERMINE 0.002 87.065 2228 +HARMONY 0.002 87.067 2229 +DRUCILLA 0.002 87.069 2230 +DEBBI 0.002 87.072 2231 +CELESTINA 0.002 87.074 2232 +CANDIE 0.002 87.076 2233 +BRITNI 0.002 87.079 2234 +BECKIE 0.002 87.081 2235 +AMINA 0.002 87.083 2236 +ZITA 0.002 87.086 2237 +YUN 0.002 87.088 2238 +YOLANDE 0.002 87.090 2239 +VIVIEN 0.002 87.093 2240 +VERNETTA 0.002 87.095 2241 +TRUDI 0.002 87.097 2242 +SOMMER 0.002 87.099 2243 +PEARLE 0.002 87.102 2244 +PATRINA 0.002 87.104 2245 +OSSIE 0.002 87.106 2246 +NICOLLE 0.002 87.109 2247 +LOYCE 0.002 87.111 2248 +LETTY 0.002 87.113 2249 +LARISA 0.002 87.116 2250 +KATHARINA 0.002 87.118 2251 +JOSELYN 0.002 87.120 2252 +JONELLE 0.002 87.122 2253 +JENELL 0.002 87.125 2254 +IESHA 0.002 87.127 2255 +HEIDE 0.002 87.129 2256 +FLORINDA 0.002 87.132 2257 +FLORENTINA 0.002 87.134 2258 +FLO 0.002 87.136 2259 +ELODIA 0.002 87.138 2260 +DORINE 0.002 87.141 2261 +BRUNILDA 0.002 87.143 2262 +BRIGID 0.002 87.145 2263 +ASHLI 0.002 87.148 2264 +ARDELLA 0.002 87.150 2265 +TWANA 0.002 87.152 2266 +THU 0.002 87.154 2267 +TARAH 0.002 87.157 2268 +SUNG 0.002 87.159 2269 +SHEA 0.002 87.161 2270 +SHAVON 0.002 87.163 2271 +SHANE 0.002 87.166 2272 +SERINA 0.002 87.168 2273 +RAYNA 0.002 87.170 2274 +RAMONITA 0.002 87.173 2275 +NGA 0.002 87.175 2276 +MARGURITE 0.002 87.177 2277 +LUCRECIA 0.002 87.179 2278 +KOURTNEY 0.002 87.182 2279 +KATI 0.002 87.184 2280 +JESUS 0.002 87.186 2281 +JESENIA 0.002 87.188 2282 +DIAMOND 0.002 87.191 2283 +CRISTA 0.002 87.193 2284 +AYANA 0.002 87.195 2285 +ALICA 0.002 87.197 2286 +ALIA 0.002 87.200 2287 +VINNIE 0.002 87.202 2288 +SUELLEN 0.002 87.204 2289 +ROMELIA 0.002 87.206 2290 +RACHELL 0.002 87.209 2291 +PIPER 0.002 87.211 2292 +OLYMPIA 0.002 87.213 2293 +MICHIKO 0.002 87.215 2294 +KATHALEEN 0.002 87.217 2295 +JOLIE 0.002 87.220 2296 +JESSI 0.002 87.222 2297 +JANESSA 0.002 87.224 2298 +HANA 0.002 87.226 2299 +HA 0.002 87.229 2300 +ELEASE 0.002 87.231 2301 +CARLETTA 0.002 87.233 2302 +BRITANY 0.002 87.235 2303 +SHONA 0.002 87.238 2304 +SALOME 0.002 87.240 2305 +ROSAMOND 0.002 87.242 2306 +REGENA 0.002 87.244 2307 +RAINA 0.002 87.246 2308 +NGOC 0.002 87.249 2309 +NELIA 0.002 87.251 2310 +LOUVENIA 0.002 87.253 2311 +LESIA 0.002 87.255 2312 +LATRINA 0.002 87.257 2313 +LATICIA 0.002 87.260 2314 +LARHONDA 0.002 87.262 2315 +JINA 0.002 87.264 2316 +JACKI 0.002 87.266 2317 +HOLLIS 0.002 87.268 2318 +HOLLEY 0.002 87.271 2319 +EMMY 0.002 87.273 2320 +DEEANN 0.002 87.275 2321 +CORETTA 0.002 87.277 2322 +ARNETTA 0.002 87.279 2323 +VELVET 0.002 87.281 2324 +THALIA 0.002 87.284 2325 +SHANICE 0.002 87.286 2326 +NETA 0.002 87.288 2327 +MIKKI 0.002 87.290 2328 +MICKI 0.002 87.292 2329 +LONNA 0.002 87.294 2330 +LEANA 0.002 87.297 2331 +LASHUNDA 0.002 87.299 2332 +KILEY 0.002 87.301 2333 +JOYE 0.002 87.303 2334 +JACQULYN 0.002 87.305 2335 +IGNACIA 0.002 87.307 2336 +HYUN 0.002 87.310 2337 +HIROKO 0.002 87.312 2338 +HENRY 0.002 87.314 2339 +HENRIETTE 0.002 87.316 2340 +ELAYNE 0.002 87.318 2341 +DELINDA 0.002 87.320 2342 +DARNELL 0.002 87.323 2343 +DAHLIA 0.002 87.325 2344 +COREEN 0.002 87.327 2345 +CONSUELA 0.002 87.329 2346 +CONCHITA 0.002 87.331 2347 +CELINE 0.002 87.333 2348 +BABETTE 0.002 87.336 2349 +AYANNA 0.002 87.338 2350 +ANETTE 0.002 87.340 2351 +ALBERTINA 0.002 87.342 2352 +SKYE 0.002 87.344 2353 +SHAWNEE 0.002 87.346 2354 +SHANEKA 0.002 87.349 2355 +QUIANA 0.002 87.351 2356 +PAMELIA 0.002 87.353 2357 +MIN 0.002 87.355 2358 +MERRI 0.002 87.357 2359 +MERLENE 0.002 87.359 2360 +MARGIT 0.002 87.361 2361 +KIESHA 0.002 87.363 2362 +KIERA 0.002 87.366 2363 +KAYLENE 0.002 87.368 2364 +JODEE 0.002 87.370 2365 +JENISE 0.002 87.372 2366 +ERLENE 0.002 87.374 2367 +EMMIE 0.002 87.376 2368 +ELSE 0.002 87.378 2369 +DARYL 0.002 87.381 2370 +DALILA 0.002 87.383 2371 +DAISEY 0.002 87.385 2372 +CODY 0.002 87.387 2373 +CASIE 0.002 87.389 2374 +BELIA 0.002 87.391 2375 +BABARA 0.002 87.393 2376 +VERSIE 0.002 87.395 2377 +VANESA 0.002 87.398 2378 +SHELBA 0.002 87.400 2379 +SHAWNDA 0.002 87.402 2380 +SAM 0.002 87.404 2381 +NORMAN 0.002 87.406 2382 +NIKIA 0.002 87.408 2383 +NAOMA 0.002 87.410 2384 +MARNA 0.002 87.412 2385 +MARGERET 0.002 87.414 2386 +MADALINE 0.002 87.417 2387 +LAWANA 0.002 87.419 2388 +KINDRA 0.002 87.421 2389 +JUTTA 0.002 87.423 2390 +JAZMINE 0.002 87.425 2391 +JANETT 0.002 87.427 2392 +HANNELORE 0.002 87.429 2393 +GLENDORA 0.002 87.431 2394 +GERTRUD 0.002 87.433 2395 +GARNETT 0.002 87.435 2396 +FREEDA 0.002 87.438 2397 +FREDERICA 0.002 87.440 2398 +FLORANCE 0.002 87.442 2399 +FLAVIA 0.002 87.444 2400 +DENNIS 0.002 87.446 2401 +CARLINE 0.002 87.448 2402 +BEVERLEE 0.002 87.450 2403 +ANJANETTE 0.002 87.452 2404 +VALDA 0.002 87.454 2405 +TRINITY 0.002 87.456 2406 +TAMALA 0.002 87.459 2407 +STEVIE 0.002 87.461 2408 +SHONNA 0.002 87.463 2409 +SHA 0.002 87.465 2410 +SARINA 0.002 87.467 2411 +ONEIDA 0.002 87.469 2412 +MICAH 0.002 87.471 2413 +MERILYN 0.002 87.473 2414 +MARLEEN 0.002 87.475 2415 +LURLINE 0.002 87.477 2416 +LENNA 0.002 87.479 2417 +KATHERIN 0.002 87.481 2418 +JIN 0.002 87.483 2419 +JENI 0.002 87.485 2420 +HAE 0.002 87.488 2421 +GRACIA 0.002 87.490 2422 +GLADY 0.002 87.492 2423 +FARAH 0.002 87.494 2424 +ERIC 0.002 87.496 2425 +ENOLA 0.002 87.498 2426 +EMA 0.002 87.500 2427 +DOMINQUE 0.002 87.502 2428 +DEVONA 0.002 87.504 2429 +DELANA 0.002 87.506 2430 +CECILA 0.002 87.508 2431 +CAPRICE 0.002 87.510 2432 +ALYSHA 0.002 87.512 2433 +ALI 0.002 87.514 2434 +ALETHIA 0.002 87.517 2435 +VENA 0.002 87.519 2436 +THERESIA 0.002 87.521 2437 +TAWNY 0.002 87.523 2438 +SONG 0.002 87.525 2439 +SHAKIRA 0.002 87.527 2440 +SAMARA 0.002 87.529 2441 +SACHIKO 0.002 87.531 2442 +RACHELE 0.002 87.533 2443 +PAMELLA 0.002 87.535 2444 +NICKY 0.002 87.537 2445 +MARNI 0.002 87.539 2446 +MARIEL 0.002 87.541 2447 +MAREN 0.002 87.543 2448 +MALISA 0.002 87.545 2449 +LIGIA 0.002 87.547 2450 +LERA 0.002 87.549 2451 +LATORIA 0.002 87.551 2452 +LARAE 0.002 87.553 2453 +KIMBER 0.002 87.555 2454 +KATHERN 0.002 87.557 2455 +KAREY 0.002 87.559 2456 +JENNEFER 0.002 87.561 2457 +JANETH 0.002 87.563 2458 +HALINA 0.002 87.566 2459 +FREDIA 0.002 87.568 2460 +DELISA 0.002 87.570 2461 +DEBROAH 0.002 87.572 2462 +CIERA 0.002 87.574 2463 +CHIN 0.002 87.576 2464 +ANGELIKA 0.002 87.578 2465 +ANDREE 0.002 87.580 2466 +ALTHA 0.002 87.582 2467 +YEN 0.002 87.584 2468 +VIVAN 0.002 87.586 2469 +TERRESA 0.002 87.588 2470 +TANNA 0.002 87.590 2471 +SUK 0.002 87.592 2472 +SUDIE 0.002 87.594 2473 +SOO 0.002 87.596 2474 +SIGNE 0.002 87.598 2475 +SALENA 0.002 87.600 2476 +RONNI 0.002 87.602 2477 +REBBECCA 0.002 87.604 2478 +MYRTIE 0.002 87.606 2479 +MCKENZIE 0.002 87.608 2480 +MALIKA 0.002 87.610 2481 +MAIDA 0.002 87.612 2482 +LOAN 0.002 87.614 2483 +LEONARDA 0.002 87.616 2484 +KAYLEIGH 0.002 87.618 2485 +FRANCE 0.002 87.620 2486 +ETHYL 0.002 87.622 2487 +ELLYN 0.002 87.624 2488 +DAYLE 0.002 87.626 2489 +CAMMIE 0.002 87.628 2490 +BRITTNI 0.002 87.630 2491 +BIRGIT 0.002 87.632 2492 +AVELINA 0.002 87.634 2493 +ASUNCION 0.002 87.636 2494 +ARIANNA 0.002 87.638 2495 +AKIKO 0.002 87.640 2496 +VENICE 0.002 87.642 2497 +TYESHA 0.002 87.644 2498 +TONIE 0.002 87.646 2499 +TIESHA 0.002 87.648 2500 +TAKISHA 0.002 87.650 2501 +STEFFANIE 0.002 87.652 2502 +SINDY 0.002 87.654 2503 +SANTANA 0.002 87.656 2504 +MEGHANN 0.002 87.658 2505 +MANDA 0.002 87.660 2506 +MACIE 0.002 87.662 2507 +LADY 0.002 87.664 2508 +KELLYE 0.002 87.666 2509 +KELLEE 0.002 87.668 2510 +JOSLYN 0.002 87.670 2511 +JASON 0.002 87.672 2512 +INGER 0.002 87.674 2513 +INDIRA 0.002 87.676 2514 +GLINDA 0.002 87.678 2515 +GLENNIS 0.002 87.680 2516 +FERNANDA 0.002 87.682 2517 +FAUSTINA 0.002 87.684 2518 +ENEIDA 0.002 87.686 2519 +ELICIA 0.002 87.688 2520 +DOT 0.002 87.690 2521 +DIGNA 0.002 87.692 2522 +DELL 0.002 87.694 2523 +ARLETTA 0.002 87.696 2524 +ANDRE 0.002 87.698 2525 +WILLIA 0.002 87.699 2526 +TAMMARA 0.002 87.701 2527 +TABETHA 0.002 87.703 2528 +SHERRELL 0.002 87.705 2529 +SARI 0.002 87.707 2530 +REFUGIO 0.002 87.709 2531 +REBBECA 0.002 87.711 2532 +PAULETTA 0.002 87.713 2533 +NIEVES 0.002 87.715 2534 +NATOSHA 0.002 87.717 2535 +NAKITA 0.002 87.719 2536 +MAMMIE 0.002 87.721 2537 +KENISHA 0.002 87.723 2538 +KAZUKO 0.002 87.725 2539 +KASSIE 0.002 87.727 2540 +GARY 0.002 87.729 2541 +EARLEAN 0.002 87.731 2542 +DAPHINE 0.002 87.733 2543 +CORLISS 0.002 87.735 2544 +CLOTILDE 0.002 87.736 2545 +CAROLYNE 0.002 87.738 2546 +BERNETTA 0.002 87.740 2547 +AUGUSTINA 0.002 87.742 2548 +AUDREA 0.002 87.744 2549 +ANNIS 0.002 87.746 2550 +ANNABELL 0.002 87.748 2551 +YAN 0.002 87.750 2552 +TENNILLE 0.002 87.752 2553 +TAMICA 0.002 87.754 2554 +SELENE 0.002 87.756 2555 +SEAN 0.002 87.758 2556 +ROSANA 0.002 87.760 2557 +REGENIA 0.002 87.762 2558 +QIANA 0.002 87.763 2559 +MARKITA 0.002 87.765 2560 +MACY 0.002 87.767 2561 +LEEANNE 0.002 87.769 2562 +LAURINE 0.002 87.771 2563 +KYM 0.002 87.773 2564 +JESSENIA 0.002 87.775 2565 +JANITA 0.002 87.777 2566 +GEORGINE 0.002 87.779 2567 +GENIE 0.002 87.781 2568 +EMIKO 0.002 87.783 2569 +ELVIE 0.002 87.785 2570 +DEANDRA 0.002 87.786 2571 +DAGMAR 0.002 87.788 2572 +CORIE 0.002 87.790 2573 +COLLEN 0.002 87.792 2574 +CHERISH 0.002 87.794 2575 +ROMAINE 0.002 87.796 2576 +PORSHA 0.002 87.798 2577 +PEARLENE 0.002 87.800 2578 +MICHELINE 0.002 87.802 2579 +MERNA 0.002 87.804 2580 +MARGORIE 0.002 87.805 2581 +MARGARETTA 0.002 87.807 2582 +LORE 0.002 87.809 2583 +KENNETH 0.002 87.811 2584 +JENINE 0.002 87.813 2585 +HERMINA 0.002 87.815 2586 +FREDERICKA 0.002 87.817 2587 +ELKE 0.002 87.819 2588 +DRUSILLA 0.002 87.820 2589 +DORATHY 0.002 87.822 2590 +DIONE 0.002 87.824 2591 +DESIRE 0.002 87.826 2592 +CELENA 0.002 87.828 2593 +BRIGIDA 0.002 87.830 2594 +ANGELES 0.002 87.832 2595 +ALLEGRA 0.002 87.834 2596 +THEO 0.002 87.836 2597 +TAMEKIA 0.002 87.837 2598 +SYNTHIA 0.002 87.839 2599 +STEPHEN 0.002 87.841 2600 +SOOK 0.002 87.843 2601 +SLYVIA 0.002 87.845 2602 +ROSANN 0.002 87.847 2603 +REATHA 0.002 87.849 2604 +RAYE 0.002 87.850 2605 +MARQUETTA 0.002 87.852 2606 +MARGART 0.002 87.854 2607 +LING 0.002 87.856 2608 +LAYLA 0.002 87.858 2609 +KYMBERLY 0.002 87.860 2610 +KIANA 0.002 87.861 2611 +KAYLEEN 0.002 87.863 2612 +KATLYN 0.002 87.865 2613 +KARMEN 0.002 87.867 2614 +JOELLA 0.002 87.869 2615 +IRINA 0.002 87.871 2616 +EMELDA 0.002 87.873 2617 +ELENI 0.002 87.874 2618 +DETRA 0.002 87.876 2619 +CLEMMIE 0.002 87.878 2620 +CHERYLL 0.002 87.880 2621 +CHANTELL 0.002 87.882 2622 +CATHEY 0.002 87.884 2623 +ARNITA 0.002 87.886 2624 +ARLA 0.002 87.887 2625 +ANGLE 0.002 87.889 2626 +ANGELIC 0.002 87.891 2627 +ALYSE 0.002 87.893 2628 +ZOFIA 0.002 87.895 2629 +THOMASINE 0.002 87.897 2630 +TENNIE 0.002 87.898 2631 +SON 0.002 87.900 2632 +SHERLY 0.002 87.902 2633 +SHERLEY 0.002 87.904 2634 +SHARYL 0.002 87.906 2635 +REMEDIOS 0.002 87.908 2636 +PETRINA 0.002 87.909 2637 +NICKOLE 0.002 87.911 2638 +MYUNG 0.002 87.913 2639 +MYRLE 0.002 87.915 2640 +MOZELLA 0.002 87.917 2641 +LOUANNE 0.002 87.918 2642 +LISHA 0.002 87.920 2643 +LATIA 0.002 87.922 2644 +LANE 0.002 87.924 2645 +KRYSTA 0.002 87.926 2646 +JULIENNE 0.002 87.928 2647 +JOEL 0.002 87.929 2648 +JEANENE 0.002 87.931 2649 +JACQUALINE 0.002 87.933 2650 +ISAURA 0.002 87.935 2651 +GWENDA 0.002 87.937 2652 +EARLEEN 0.002 87.939 2653 +DONALD 0.002 87.940 2654 +CLEOPATRA 0.002 87.942 2655 +CARLIE 0.002 87.944 2656 +AUDIE 0.002 87.946 2657 +ANTONIETTA 0.002 87.948 2658 +ALISE 0.002 87.949 2659 +ALEX 0.002 87.951 2660 +VERDELL 0.002 87.953 2661 +VAL 0.002 87.955 2662 +TYLER 0.002 87.957 2663 +TOMOKO 0.002 87.958 2664 +THAO 0.002 87.960 2665 +TALISHA 0.002 87.962 2666 +STEVEN 0.002 87.964 2667 +SO 0.002 87.966 2668 +SHEMIKA 0.002 87.967 2669 +SHAUN 0.002 87.969 2670 +SCARLET 0.002 87.971 2671 +SAVANNA 0.002 87.973 2672 +SANTINA 0.002 87.975 2673 +ROSIA 0.002 87.976 2674 +RAEANN 0.002 87.978 2675 +ODILIA 0.002 87.980 2676 +NANA 0.002 87.982 2677 +MINNA 0.002 87.983 2678 +MAGAN 0.002 87.985 2679 +LYNELLE 0.002 87.987 2680 +LE 0.002 87.989 2681 +KARMA 0.002 87.991 2682 +JOEANN 0.002 87.992 2683 +IVANA 0.002 87.994 2684 +INELL 0.002 87.996 2685 +ILANA 0.002 87.998 2686 +HYE 0.002 88.000 2687 +HONEY 0.002 88.001 2688 +HEE 0.002 88.003 2689 +GUDRUN 0.002 88.005 2690 +FRANK 0.002 88.007 2691 +DREAMA 0.002 88.009 2692 +CRISSY 0.002 88.010 2693 +CHANTE 0.002 88.012 2694 +CARMELINA 0.002 88.014 2695 +ARVILLA 0.002 88.016 2696 +ARTHUR 0.002 88.017 2697 +ANNAMAE 0.002 88.019 2698 +ALVERA 0.002 88.021 2699 +ALEIDA 0.002 88.023 2700 +AARON 0.002 88.025 2701 +YEE 0.002 88.026 2702 +YANIRA 0.002 88.028 2703 +VANDA 0.002 88.030 2704 +TIANNA 0.002 88.032 2705 +TAM 0.002 88.033 2706 +STEFANIA 0.002 88.035 2707 +SHIRA 0.002 88.037 2708 +PERRY 0.002 88.039 2709 +NICOL 0.002 88.040 2710 +NANCIE 0.002 88.042 2711 +MONSERRATE 0.002 88.044 2712 +MINH 0.002 88.046 2713 +MELYNDA 0.002 88.048 2714 +MELANY 0.002 88.049 2715 +MATTHEW 0.002 88.051 2716 +LOVELLA 0.002 88.053 2717 +LAURE 0.002 88.055 2718 +KIRBY 0.002 88.056 2719 +KACY 0.002 88.058 2720 +JACQUELYNN 0.002 88.060 2721 +HYON 0.002 88.062 2722 +GERTHA 0.002 88.063 2723 +FRANCISCO 0.002 88.065 2724 +ELIANA 0.002 88.067 2725 +CHRISTENA 0.002 88.069 2726 +CHRISTEEN 0.002 88.070 2727 +CHARISE 0.002 88.072 2728 +CATERINA 0.002 88.074 2729 +CARLEY 0.002 88.076 2730 +CANDYCE 0.002 88.077 2731 +ARLENA 0.002 88.079 2732 +AMMIE 0.002 88.081 2733 +YANG 0.002 88.083 2734 +WILLETTE 0.002 88.084 2735 +VANITA 0.002 88.086 2736 +TUYET 0.002 88.088 2737 +TINY 0.002 88.090 2738 +SYREETA 0.002 88.091 2739 +SILVA 0.002 88.093 2740 +SCOTT 0.002 88.095 2741 +RONALD 0.002 88.096 2742 +PENNEY 0.002 88.098 2743 +NYLA 0.002 88.100 2744 +MICHAL 0.002 88.102 2745 +MAURICE 0.002 88.103 2746 +MARYAM 0.002 88.105 2747 +MARYA 0.002 88.107 2748 +MAGEN 0.002 88.109 2749 +LUDIE 0.002 88.110 2750 +LOMA 0.002 88.112 2751 +LIVIA 0.002 88.114 2752 +LANELL 0.002 88.115 2753 +KIMBERLIE 0.002 88.117 2754 +JULEE 0.002 88.119 2755 +DONETTA 0.002 88.121 2756 +DIEDRA 0.002 88.122 2757 +DENISHA 0.002 88.124 2758 +DEANE 0.002 88.126 2759 +DAWNE 0.002 88.128 2760 +CLARINE 0.002 88.129 2761 +CHERRYL 0.002 88.131 2762 +BRONWYN 0.002 88.133 2763 +BRANDON 0.002 88.134 2764 +ALLA 0.002 88.136 2765 +VALERY 0.002 88.138 2766 +TONDA 0.002 88.140 2767 +SUEANN 0.002 88.141 2768 +SORAYA 0.002 88.143 2769 +SHOSHANA 0.002 88.145 2770 +SHELA 0.002 88.146 2771 +SHARLEEN 0.002 88.148 2772 +SHANELLE 0.002 88.150 2773 +NERISSA 0.002 88.151 2774 +MICHEAL 0.002 88.153 2775 +MERIDITH 0.002 88.155 2776 +MELLIE 0.002 88.157 2777 +MAYE 0.002 88.158 2778 +MAPLE 0.002 88.160 2779 +MAGARET 0.002 88.162 2780 +LUIS 0.002 88.163 2781 +LILI 0.002 88.165 2782 +LEONILA 0.002 88.167 2783 +LEONIE 0.002 88.168 2784 +LEEANNA 0.002 88.170 2785 +LAVONIA 0.002 88.172 2786 +LAVERA 0.002 88.173 2787 +KRISTEL 0.002 88.175 2788 +KATHEY 0.002 88.177 2789 +KATHE 0.002 88.179 2790 +JUSTIN 0.002 88.180 2791 +JULIAN 0.002 88.182 2792 +JIMMY 0.002 88.184 2793 +JANN 0.002 88.185 2794 +ILDA 0.002 88.187 2795 +HILDRED 0.002 88.189 2796 +HILDEGARDE 0.002 88.190 2797 +GENIA 0.002 88.192 2798 +FUMIKO 0.002 88.194 2799 +EVELIN 0.002 88.196 2800 +ERMELINDA 0.002 88.197 2801 +ELLY 0.002 88.199 2802 +DUNG 0.002 88.201 2803 +DOLORIS 0.002 88.202 2804 +DIONNA 0.002 88.204 2805 +DANAE 0.002 88.206 2806 +BERNEICE 0.002 88.207 2807 +ANNICE 0.002 88.209 2808 +ALIX 0.002 88.211 2809 +VERENA 0.002 88.212 2810 +VERDIE 0.002 88.214 2811 +TRISTAN 0.002 88.216 2812 +SHAWNNA 0.002 88.217 2813 +SHAWANA 0.002 88.219 2814 +SHAUNNA 0.002 88.221 2815 +ROZELLA 0.002 88.222 2816 +RANDEE 0.002 88.224 2817 +RANAE 0.002 88.226 2818 +MILAGRO 0.002 88.227 2819 +LYNELL 0.002 88.229 2820 +LUISE 0.002 88.231 2821 +LOUIE 0.002 88.232 2822 +LOIDA 0.002 88.234 2823 +LISBETH 0.002 88.236 2824 +KARLEEN 0.002 88.237 2825 +JUNITA 0.002 88.239 2826 +JONA 0.002 88.241 2827 +ISIS 0.002 88.242 2828 +HYACINTH 0.002 88.244 2829 +HEDY 0.002 88.246 2830 +GWENN 0.002 88.247 2831 +ETHELENE 0.002 88.249 2832 +ERLINE 0.002 88.251 2833 +EDWARD 0.002 88.252 2834 +DONYA 0.002 88.254 2835 +DOMONIQUE 0.002 88.256 2836 +DELICIA 0.002 88.257 2837 +DANNETTE 0.002 88.259 2838 +CICELY 0.002 88.261 2839 +BRANDA 0.002 88.262 2840 +BLYTHE 0.002 88.264 2841 +BETHANN 0.002 88.266 2842 +ASHLYN 0.002 88.267 2843 +ANNALEE 0.002 88.269 2844 +ALLINE 0.002 88.271 2845 +YUKO 0.002 88.272 2846 +VELLA 0.002 88.274 2847 +TRANG 0.002 88.276 2848 +TOWANDA 0.002 88.277 2849 +TESHA 0.002 88.279 2850 +SHERLYN 0.002 88.281 2851 +NARCISA 0.002 88.282 2852 +MIGUELINA 0.002 88.284 2853 +MERI 0.002 88.285 2854 +MAYBELL 0.002 88.287 2855 +MARLANA 0.002 88.289 2856 +MARGUERITA 0.002 88.290 2857 +MADLYN 0.002 88.292 2858 +LUNA 0.002 88.294 2859 +LORY 0.002 88.295 2860 +LORIANN 0.002 88.297 2861 +LIBERTY 0.002 88.298 2862 +LEONORE 0.002 88.300 2863 +LEIGHANN 0.002 88.302 2864 +LAURICE 0.002 88.303 2865 +LATESHA 0.002 88.305 2866 +LARONDA 0.002 88.307 2867 +KATRICE 0.002 88.308 2868 +KASIE 0.002 88.310 2869 +KARL 0.002 88.312 2870 +KALEY 0.002 88.313 2871 +JADWIGA 0.002 88.315 2872 +GLENNIE 0.002 88.316 2873 +GEARLDINE 0.002 88.318 2874 +FRANCINA 0.002 88.320 2875 +EPIFANIA 0.002 88.321 2876 +DYAN 0.002 88.323 2877 +DORIE 0.002 88.325 2878 +DIEDRE 0.002 88.326 2879 +DENESE 0.002 88.328 2880 +DEMETRICE 0.002 88.330 2881 +DELENA 0.002 88.331 2882 +DARBY 0.002 88.333 2883 +CRISTIE 0.002 88.334 2884 +CLEORA 0.002 88.336 2885 +CATARINA 0.002 88.338 2886 +CARISA 0.002 88.339 2887 +BERNIE 0.002 88.341 2888 +BARBERA 0.002 88.343 2889 +ALMETA 0.002 88.344 2890 +TRULA 0.002 88.346 2891 +TEREASA 0.002 88.347 2892 +SOLANGE 0.002 88.349 2893 +SHEILAH 0.002 88.351 2894 +SHAVONNE 0.002 88.352 2895 +SANORA 0.002 88.354 2896 +ROCHELL 0.002 88.355 2897 +MATHILDE 0.002 88.357 2898 +MARGARETA 0.002 88.359 2899 +MAIA 0.002 88.360 2900 +LYNSEY 0.002 88.362 2901 +LAWANNA 0.002 88.363 2902 +LAUNA 0.002 88.365 2903 +KENA 0.002 88.367 2904 +KEENA 0.002 88.368 2905 +KATIA 0.002 88.370 2906 +JAMEY 0.002 88.371 2907 +GLYNDA 0.002 88.373 2908 +GAYLENE 0.002 88.375 2909 +ELVINA 0.002 88.376 2910 +ELANOR 0.002 88.378 2911 +DANUTA 0.002 88.379 2912 +DANIKA 0.002 88.381 2913 +CRISTEN 0.002 88.383 2914 +CORDIE 0.002 88.384 2915 +COLETTA 0.002 88.386 2916 +CLARITA 0.002 88.387 2917 +CARMON 0.002 88.389 2918 +BRYNN 0.002 88.391 2919 +AZUCENA 0.002 88.392 2920 +AUNDREA 0.002 88.394 2921 +ANGELE 0.002 88.395 2922 +YI 0.002 88.397 2923 +WALTER 0.002 88.399 2924 +VERLIE 0.002 88.400 2925 +VERLENE 0.002 88.402 2926 +TAMESHA 0.002 88.403 2927 +SILVANA 0.002 88.405 2928 +SEBRINA 0.002 88.406 2929 +SAMIRA 0.002 88.408 2930 +REDA 0.002 88.410 2931 +RAYLENE 0.002 88.411 2932 +PENNI 0.002 88.413 2933 +PANDORA 0.002 88.414 2934 +NORAH 0.002 88.416 2935 +NOMA 0.002 88.417 2936 +MIREILLE 0.002 88.419 2937 +MELISSIA 0.002 88.421 2938 +MARYALICE 0.002 88.422 2939 +LARAINE 0.002 88.424 2940 +KIMBERY 0.002 88.425 2941 +KARYL 0.002 88.427 2942 +KARINE 0.002 88.428 2943 +KAM 0.002 88.430 2944 +JOLANDA 0.002 88.432 2945 +JOHANA 0.002 88.433 2946 +JESUSA 0.002 88.435 2947 +JALEESA 0.002 88.436 2948 +JAE 0.002 88.438 2949 +JACQUELYNE 0.002 88.439 2950 +IRISH 0.002 88.441 2951 +ILUMINADA 0.002 88.443 2952 +HILARIA 0.002 88.444 2953 +HANH 0.002 88.446 2954 +GENNIE 0.002 88.447 2955 +FRANCIE 0.002 88.449 2956 +FLORETTA 0.002 88.450 2957 +EXIE 0.002 88.452 2958 +EDDA 0.002 88.454 2959 +DREMA 0.002 88.455 2960 +DELPHA 0.002 88.457 2961 +BEV 0.002 88.458 2962 +BARBAR 0.002 88.460 2963 +ASSUNTA 0.002 88.461 2964 +ARDELL 0.002 88.463 2965 +ANNALISA 0.002 88.465 2966 +ALISIA 0.002 88.466 2967 +YUKIKO 0.002 88.468 2968 +YOLANDO 0.002 88.469 2969 +WONDA 0.002 88.471 2970 +WEI 0.002 88.472 2971 +WALTRAUD 0.002 88.474 2972 +VETA 0.002 88.475 2973 +TEQUILA 0.002 88.477 2974 +TEMEKA 0.002 88.478 2975 +TAMEIKA 0.002 88.480 2976 +SHIRLEEN 0.002 88.481 2977 +SHENITA 0.002 88.483 2978 +PIEDAD 0.002 88.485 2979 +OZELLA 0.002 88.486 2980 +MIRTHA 0.002 88.488 2981 +MARILU 0.002 88.489 2982 +KIMIKO 0.002 88.491 2983 +JULIANE 0.002 88.492 2984 +JENICE 0.002 88.494 2985 +JEN 0.002 88.495 2986 +JANAY 0.002 88.497 2987 +JACQUILINE 0.002 88.498 2988 +HILDE 0.002 88.500 2989 +FE 0.002 88.502 2990 +FAE 0.002 88.503 2991 +EVAN 0.002 88.505 2992 +EUGENE 0.002 88.506 2993 +ELOIS 0.002 88.508 2994 +ECHO 0.002 88.509 2995 +DEVORAH 0.002 88.511 2996 +CHAU 0.002 88.512 2997 +BRINDA 0.002 88.514 2998 +BETSEY 0.002 88.515 2999 +ARMINDA 0.002 88.517 3000 +ARACELIS 0.002 88.518 3001 +APRYL 0.002 88.520 3002 +ANNETT 0.002 88.522 3003 +ALISHIA 0.002 88.523 3004 +VEOLA 0.002 88.525 3005 +USHA 0.002 88.526 3006 +TOSHIKO 0.002 88.528 3007 +THEOLA 0.002 88.529 3008 +TASHIA 0.002 88.531 3009 +TALITHA 0.002 88.532 3010 +SHERY 0.002 88.534 3011 +RUDY 0.002 88.535 3012 +RENETTA 0.002 88.537 3013 +REIKO 0.002 88.538 3014 +RASHEEDA 0.002 88.540 3015 +OMEGA 0.002 88.541 3016 +OBDULIA 0.002 88.543 3017 +MIKA 0.002 88.544 3018 +MELAINE 0.002 88.546 3019 +MEGGAN 0.002 88.547 3020 +MARTIN 0.002 88.549 3021 +MARLEN 0.002 88.550 3022 +MARGET 0.002 88.552 3023 +MARCELINE 0.002 88.553 3024 +MANA 0.002 88.555 3025 +MAGDALEN 0.002 88.556 3026 +LIBRADA 0.002 88.558 3027 +LEZLIE 0.002 88.559 3028 +LEXIE 0.002 88.561 3029 +LATASHIA 0.002 88.562 3030 +LASANDRA 0.002 88.564 3031 +KELLE 0.002 88.565 3032 +ISIDRA 0.002 88.567 3033 +ISA 0.002 88.568 3034 +INOCENCIA 0.002 88.570 3035 +GWYN 0.002 88.571 3036 +FRANCOISE 0.002 88.573 3037 +ERMINIA 0.002 88.574 3038 +ERINN 0.002 88.576 3039 +DIMPLE 0.002 88.577 3040 +DEVORA 0.002 88.579 3041 +CRISELDA 0.002 88.580 3042 +ARMANDA 0.002 88.582 3043 +ARIE 0.002 88.583 3044 +ARIANE 0.002 88.585 3045 +ANGELO 0.002 88.586 3046 +ANGELENA 0.002 88.588 3047 +ALLEN 0.002 88.589 3048 +ALIZA 0.002 88.591 3049 +ADRIENE 0.002 88.592 3050 +ADALINE 0.002 88.594 3051 +XOCHITL 0.001 88.595 3052 +TWANNA 0.001 88.597 3053 +TRAN 0.001 88.598 3054 +TOMIKO 0.001 88.600 3055 +TAMISHA 0.001 88.601 3056 +TAISHA 0.001 88.603 3057 +SUSY 0.001 88.604 3058 +SIU 0.001 88.606 3059 +RUTHA 0.001 88.607 3060 +ROXY 0.001 88.609 3061 +RHONA 0.001 88.610 3062 +RAYMOND 0.001 88.612 3063 +OTHA 0.001 88.613 3064 +NORIKO 0.001 88.615 3065 +NATASHIA 0.001 88.616 3066 +MERRIE 0.001 88.618 3067 +MELVIN 0.001 88.619 3068 +MARINDA 0.001 88.620 3069 +MARIKO 0.001 88.622 3070 +MARGERT 0.001 88.623 3071 +LORIS 0.001 88.625 3072 +LIZZETTE 0.001 88.626 3073 +LEISHA 0.001 88.628 3074 +KAILA 0.001 88.629 3075 +KA 0.001 88.631 3076 +JOANNIE 0.001 88.632 3077 +JERRICA 0.001 88.634 3078 +JENE 0.001 88.635 3079 +JANNET 0.001 88.637 3080 +JANEE 0.001 88.638 3081 +JACINDA 0.001 88.640 3082 +HERTA 0.001 88.641 3083 +ELENORE 0.001 88.643 3084 +DORETTA 0.001 88.644 3085 +DELAINE 0.001 88.646 3086 +DANIELL 0.001 88.647 3087 +CLAUDIE 0.001 88.649 3088 +CHINA 0.001 88.650 3089 +BRITTA 0.001 88.651 3090 +APOLONIA 0.001 88.653 3091 +AMBERLY 0.001 88.654 3092 +ALEASE 0.001 88.656 3093 +YURI 0.001 88.657 3094 +YUK 0.001 88.659 3095 +WEN 0.001 88.660 3096 +WANETA 0.001 88.662 3097 +UTE 0.001 88.663 3098 +TOMI 0.001 88.665 3099 +SHARRI 0.001 88.666 3100 +SANDIE 0.001 88.667 3101 +ROSELLE 0.001 88.669 3102 +REYNALDA 0.001 88.670 3103 +RAGUEL 0.001 88.672 3104 +PHYLICIA 0.001 88.673 3105 +PATRIA 0.001 88.675 3106 +OLIMPIA 0.001 88.676 3107 +ODELIA 0.001 88.678 3108 +MITZIE 0.001 88.679 3109 +MITCHELL 0.001 88.680 3110 +MISS 0.001 88.682 3111 +MINDA 0.001 88.683 3112 +MIGNON 0.001 88.685 3113 +MICA 0.001 88.686 3114 +MENDY 0.001 88.688 3115 +MARIVEL 0.001 88.689 3116 +MAILE 0.001 88.691 3117 +LYNETTA 0.001 88.692 3118 +LAVETTE 0.001 88.693 3119 +LAURYN 0.001 88.695 3120 +LATRISHA 0.001 88.696 3121 +LAKIESHA 0.001 88.698 3122 +KIERSTEN 0.001 88.699 3123 +KARY 0.001 88.701 3124 +JOSPHINE 0.001 88.702 3125 +JOLYN 0.001 88.704 3126 +JETTA 0.001 88.705 3127 +JANISE 0.001 88.706 3128 +JACQUIE 0.001 88.708 3129 +IVELISSE 0.001 88.709 3130 +GLYNIS 0.001 88.711 3131 +GIANNA 0.001 88.712 3132 +GAYNELLE 0.001 88.714 3133 +EMERALD 0.001 88.715 3134 +DEMETRIUS 0.001 88.717 3135 +DANYELL 0.001 88.718 3136 +DANILLE 0.001 88.719 3137 +DACIA 0.001 88.721 3138 +CORALEE 0.001 88.722 3139 +CHER 0.001 88.724 3140 +CEOLA 0.001 88.725 3141 +BRETT 0.001 88.727 3142 +BELL 0.001 88.728 3143 +ARIANNE 0.001 88.730 3144 +ALESHIA 0.001 88.731 3145 +YUNG 0.001 88.732 3146 +WILLIEMAE 0.001 88.734 3147 +TROY 0.001 88.735 3148 +TRINH 0.001 88.737 3149 +THORA 0.001 88.738 3150 +TAI 0.001 88.739 3151 +SVETLANA 0.001 88.741 3152 +SHERIKA 0.001 88.742 3153 +SHEMEKA 0.001 88.744 3154 +SHAUNDA 0.001 88.745 3155 +ROSELINE 0.001 88.747 3156 +RICKI 0.001 88.748 3157 +MELDA 0.001 88.749 3158 +MALLIE 0.001 88.751 3159 +LAVONNA 0.001 88.752 3160 +LATINA 0.001 88.754 3161 +LARRY 0.001 88.755 3162 +LAQUANDA 0.001 88.756 3163 +LALA 0.001 88.758 3164 +LACHELLE 0.001 88.759 3165 +KLARA 0.001 88.761 3166 +KANDIS 0.001 88.762 3167 +JOHNA 0.001 88.763 3168 +JEANMARIE 0.001 88.765 3169 +JAYE 0.001 88.766 3170 +HANG 0.001 88.768 3171 +GRAYCE 0.001 88.769 3172 +GERTUDE 0.001 88.771 3173 +EMERITA 0.001 88.772 3174 +EBONIE 0.001 88.773 3175 +CLORINDA 0.001 88.775 3176 +CHING 0.001 88.776 3177 +CHERY 0.001 88.778 3178 +CAROLA 0.001 88.779 3179 +BREANN 0.001 88.780 3180 +BLOSSOM 0.001 88.782 3181 +BERNARDINE 0.001 88.783 3182 +BECKI 0.001 88.785 3183 +ARLETHA 0.001 88.786 3184 +ARGELIA 0.001 88.788 3185 +ARA 0.001 88.789 3186 +ALITA 0.001 88.790 3187 +YULANDA 0.001 88.792 3188 +YON 0.001 88.793 3189 +YESSENIA 0.001 88.794 3190 +TOBI 0.001 88.796 3191 +TASIA 0.001 88.797 3192 +SYLVIE 0.001 88.799 3193 +SHIRL 0.001 88.800 3194 +SHIRELY 0.001 88.801 3195 +SHERIDAN 0.001 88.803 3196 +SHELLA 0.001 88.804 3197 +SHANTELLE 0.001 88.806 3198 +SACHA 0.001 88.807 3199 +ROYCE 0.001 88.808 3200 +REBECKA 0.001 88.810 3201 +REAGAN 0.001 88.811 3202 +PROVIDENCIA 0.001 88.812 3203 +PAULENE 0.001 88.814 3204 +MISHA 0.001 88.815 3205 +MIKI 0.001 88.817 3206 +MARLINE 0.001 88.818 3207 +MARICA 0.001 88.819 3208 +LORITA 0.001 88.821 3209 +LATOYIA 0.001 88.822 3210 +LASONYA 0.001 88.824 3211 +KERSTIN 0.001 88.825 3212 +KENDA 0.001 88.826 3213 +KEITHA 0.001 88.828 3214 +KATHRIN 0.001 88.829 3215 +JAYMIE 0.001 88.830 3216 +JACK 0.001 88.832 3217 +GRICELDA 0.001 88.833 3218 +GINETTE 0.001 88.835 3219 +ERYN 0.001 88.836 3220 +ELINA 0.001 88.837 3221 +ELFRIEDA 0.001 88.839 3222 +DANYEL 0.001 88.840 3223 +CHEREE 0.001 88.841 3224 +CHANELLE 0.001 88.843 3225 +BARRIE 0.001 88.844 3226 +AVERY 0.001 88.846 3227 +AURORE 0.001 88.847 3228 +ANNAMARIA 0.001 88.848 3229 +ALLEEN 0.001 88.850 3230 +AILENE 0.001 88.851 3231 +AIDE 0.001 88.853 3232 +YASMINE 0.001 88.854 3233 +VASHTI 0.001 88.855 3234 +VALENTINE 0.001 88.857 3235 +TREASA 0.001 88.858 3236 +TORY 0.001 88.859 3237 +TIFFANEY 0.001 88.861 3238 +SHERYLL 0.001 88.862 3239 +SHARIE 0.001 88.863 3240 +SHANAE 0.001 88.865 3241 +SAU 0.001 88.866 3242 +RAISA 0.001 88.867 3243 +PA 0.001 88.869 3244 +NEDA 0.001 88.870 3245 +MITSUKO 0.001 88.871 3246 +MIRELLA 0.001 88.873 3247 +MILDA 0.001 88.874 3248 +MARYANNA 0.001 88.875 3249 +MARAGRET 0.001 88.877 3250 +MABELLE 0.001 88.878 3251 +LUETTA 0.001 88.880 3252 +LORINA 0.001 88.881 3253 +LETISHA 0.001 88.882 3254 +LATARSHA 0.001 88.884 3255 +LANELLE 0.001 88.885 3256 +LAJUANA 0.001 88.886 3257 +KRISSY 0.001 88.888 3258 +KARLY 0.001 88.889 3259 +KARENA 0.001 88.890 3260 +JON 0.001 88.892 3261 +JESSIKA 0.001 88.893 3262 +JERICA 0.001 88.894 3263 +JEANELLE 0.001 88.896 3264 +JANUARY 0.001 88.897 3265 +JALISA 0.001 88.898 3266 +JACELYN 0.001 88.900 3267 +IZOLA 0.001 88.901 3268 +IVEY 0.001 88.902 3269 +GREGORY 0.001 88.904 3270 +EUNA 0.001 88.905 3271 +ETHA 0.001 88.907 3272 +DREW 0.001 88.908 3273 +DOMITILA 0.001 88.909 3274 +DOMINICA 0.001 88.911 3275 +DAINA 0.001 88.912 3276 +CREOLA 0.001 88.913 3277 +CARLI 0.001 88.915 3278 +CAMIE 0.001 88.916 3279 +BUNNY 0.001 88.917 3280 +BRITTNY 0.001 88.919 3281 +ASHANTI 0.001 88.920 3282 +ANISHA 0.001 88.921 3283 +ALEEN 0.001 88.923 3284 +ADAH 0.001 88.924 3285 +YASUKO 0.001 88.925 3286 +WINTER 0.001 88.927 3287 +VIKI 0.001 88.928 3288 +VALRIE 0.001 88.929 3289 +TONA 0.001 88.931 3290 +TINISHA 0.001 88.932 3291 +THI 0.001 88.933 3292 +TERISA 0.001 88.935 3293 +TATUM 0.001 88.936 3294 +TANEKA 0.001 88.937 3295 +SIMONNE 0.001 88.939 3296 +SHALANDA 0.001 88.940 3297 +SERITA 0.001 88.941 3298 +RESSIE 0.001 88.943 3299 +REFUGIA 0.001 88.944 3300 +PAZ 0.001 88.945 3301 +OLENE 0.001 88.947 3302 +NA 0.001 88.948 3303 +MERRILL 0.001 88.949 3304 +MARGHERITA 0.001 88.950 3305 +MANDIE 0.001 88.952 3306 +MAN 0.001 88.953 3307 +MAIRE 0.001 88.954 3308 +LYNDIA 0.001 88.956 3309 +LUCI 0.001 88.957 3310 +LORRIANE 0.001 88.958 3311 +LORETA 0.001 88.960 3312 +LEONIA 0.001 88.961 3313 +LAVONA 0.001 88.962 3314 +LASHAWNDA 0.001 88.964 3315 +LAKIA 0.001 88.965 3316 +KYOKO 0.001 88.966 3317 +KRYSTINA 0.001 88.968 3318 +KRYSTEN 0.001 88.969 3319 +KENIA 0.001 88.970 3320 +KELSI 0.001 88.972 3321 +JUDE 0.001 88.973 3322 +JEANICE 0.001 88.974 3323 +ISOBEL 0.001 88.976 3324 +GEORGIANN 0.001 88.977 3325 +GENNY 0.001 88.978 3326 +FELICIDAD 0.001 88.979 3327 +EILENE 0.001 88.981 3328 +DEON 0.001 88.982 3329 +DELOISE 0.001 88.983 3330 +DEEDEE 0.001 88.985 3331 +DANNIE 0.001 88.986 3332 +CONCEPTION 0.001 88.987 3333 +CLORA 0.001 88.989 3334 +CHERILYN 0.001 88.990 3335 +CHANG 0.001 88.991 3336 +CALANDRA 0.001 88.993 3337 +BERRY 0.001 88.994 3338 +ARMANDINA 0.001 88.995 3339 +ANISA 0.001 88.997 3340 +ULA 0.001 88.998 3341 +TIMOTHY 0.001 88.999 3342 +TIERA 0.001 89.000 3343 +THERESSA 0.001 89.002 3344 +STEPHANIA 0.001 89.003 3345 +SIMA 0.001 89.004 3346 +SHYLA 0.001 89.006 3347 +SHONTA 0.001 89.007 3348 +SHERA 0.001 89.008 3349 +SHAQUITA 0.001 89.010 3350 +SHALA 0.001 89.011 3351 +SAMMY 0.001 89.012 3352 +ROSSANA 0.001 89.013 3353 +NOHEMI 0.001 89.015 3354 +NERY 0.001 89.016 3355 +MORIAH 0.001 89.017 3356 +MELITA 0.001 89.019 3357 +MELIDA 0.001 89.020 3358 +MELANI 0.001 89.021 3359 +MARYLYNN 0.001 89.022 3360 +MARISHA 0.001 89.024 3361 +MARIETTE 0.001 89.025 3362 +MALORIE 0.001 89.026 3363 +MADELENE 0.001 89.028 3364 +LUDIVINA 0.001 89.029 3365 +LORIA 0.001 89.030 3366 +LORETTE 0.001 89.031 3367 +LORALEE 0.001 89.033 3368 +LIANNE 0.001 89.034 3369 +LEON 0.001 89.035 3370 +LAVENIA 0.001 89.037 3371 +LAURINDA 0.001 89.038 3372 +LASHON 0.001 89.039 3373 +KIT 0.001 89.040 3374 +KIMI 0.001 89.042 3375 +KEILA 0.001 89.043 3376 +KATELYNN 0.001 89.044 3377 +KAI 0.001 89.046 3378 +JONE 0.001 89.047 3379 +JOANE 0.001 89.048 3380 +JI 0.001 89.049 3381 +JAYNA 0.001 89.051 3382 +JANELLA 0.001 89.052 3383 +JA 0.001 89.053 3384 +HUE 0.001 89.055 3385 +HERTHA 0.001 89.056 3386 +FRANCENE 0.001 89.057 3387 +ELINORE 0.001 89.058 3388 +DESPINA 0.001 89.060 3389 +DELSIE 0.001 89.061 3390 +DEEDRA 0.001 89.062 3391 +CLEMENCIA 0.001 89.064 3392 +CARRY 0.001 89.065 3393 +CAROLIN 0.001 89.066 3394 +CARLOS 0.001 89.067 3395 +BULAH 0.001 89.069 3396 +BRITTANIE 0.001 89.070 3397 +BOK 0.001 89.071 3398 +BLONDELL 0.001 89.073 3399 +BIBI 0.001 89.074 3400 +BEAULAH 0.001 89.075 3401 +BEATA 0.001 89.076 3402 +ANNITA 0.001 89.078 3403 +AGRIPINA 0.001 89.079 3404 +VIRGEN 0.001 89.080 3405 +VALENE 0.001 89.082 3406 +UN 0.001 89.083 3407 +TWANDA 0.001 89.084 3408 +TOMMYE 0.001 89.085 3409 +TOI 0.001 89.087 3410 +TARRA 0.001 89.088 3411 +TARI 0.001 89.089 3412 +TAMMERA 0.001 89.090 3413 +SHAKIA 0.001 89.092 3414 +SADYE 0.001 89.093 3415 +RUTHANNE 0.001 89.094 3416 +ROCHEL 0.001 89.095 3417 +RIVKA 0.001 89.097 3418 +PURA 0.001 89.098 3419 +NENITA 0.001 89.099 3420 +NATISHA 0.001 89.100 3421 +MING 0.001 89.102 3422 +MERRILEE 0.001 89.103 3423 +MELODEE 0.001 89.104 3424 +MARVIS 0.001 89.105 3425 +LUCILLA 0.001 89.107 3426 +LEENA 0.001 89.108 3427 +LAVETA 0.001 89.109 3428 +LARITA 0.001 89.110 3429 +LANIE 0.001 89.112 3430 +KEREN 0.001 89.113 3431 +ILEEN 0.001 89.114 3432 +GEORGEANN 0.001 89.115 3433 +GENNA 0.001 89.117 3434 +GENESIS 0.001 89.118 3435 +FRIDA 0.001 89.119 3436 +EWA 0.001 89.120 3437 +EUFEMIA 0.001 89.122 3438 +EMELY 0.001 89.123 3439 +ELA 0.001 89.124 3440 +EDYTH 0.001 89.126 3441 +DEONNA 0.001 89.127 3442 +DEADRA 0.001 89.128 3443 +DARLENA 0.001 89.129 3444 +CHANELL 0.001 89.131 3445 +CHAN 0.001 89.132 3446 +CATHERN 0.001 89.133 3447 +CASSONDRA 0.001 89.134 3448 +CASSAUNDRA 0.001 89.136 3449 +BERNARDA 0.001 89.137 3450 +BERNA 0.001 89.138 3451 +ARLINDA 0.001 89.139 3452 +ANAMARIA 0.001 89.141 3453 +ALBERT 0.001 89.142 3454 +WESLEY 0.001 89.143 3455 +VERTIE 0.001 89.144 3456 +VALERI 0.001 89.146 3457 +TORRI 0.001 89.147 3458 +TATYANA 0.001 89.148 3459 +STASIA 0.001 89.149 3460 +SHERISE 0.001 89.150 3461 +SHERILL 0.001 89.152 3462 +SEASON 0.001 89.153 3463 +SCOTTIE 0.001 89.154 3464 +SANDA 0.001 89.155 3465 +RUTHE 0.001 89.157 3466 +ROSY 0.001 89.158 3467 +ROBERTO 0.001 89.159 3468 +ROBBI 0.001 89.160 3469 +RANEE 0.001 89.161 3470 +QUYEN 0.001 89.163 3471 +PEARLY 0.001 89.164 3472 +PALMIRA 0.001 89.165 3473 +ONITA 0.001 89.166 3474 +NISHA 0.001 89.168 3475 +NIESHA 0.001 89.169 3476 +NIDA 0.001 89.170 3477 +NEVADA 0.001 89.171 3478 +NAM 0.001 89.172 3479 +MERLYN 0.001 89.174 3480 +MAYOLA 0.001 89.175 3481 +MARYLOUISE 0.001 89.176 3482 +MARYLAND 0.001 89.177 3483 +MARX 0.001 89.179 3484 +MARTH 0.001 89.180 3485 +MARGENE 0.001 89.181 3486 +MADELAINE 0.001 89.182 3487 +LONDA 0.001 89.183 3488 +LEONTINE 0.001 89.185 3489 +LEOMA 0.001 89.186 3490 +LEIA 0.001 89.187 3491 +LAWRENCE 0.001 89.188 3492 +LAURALEE 0.001 89.190 3493 +LANORA 0.001 89.191 3494 +LAKITA 0.001 89.192 3495 +KIYOKO 0.001 89.193 3496 +KETURAH 0.001 89.195 3497 +KATELIN 0.001 89.196 3498 +KAREEN 0.001 89.197 3499 +JONIE 0.001 89.198 3500 +JOHNETTE 0.001 89.199 3501 +JENEE 0.001 89.201 3502 +JEANETT 0.001 89.202 3503 +IZETTA 0.001 89.203 3504 +HIEDI 0.001 89.204 3505 +HEIKE 0.001 89.206 3506 +HASSIE 0.001 89.207 3507 +HAROLD 0.001 89.208 3508 +GIUSEPPINA 0.001 89.209 3509 +GEORGANN 0.001 89.210 3510 +FIDELA 0.001 89.212 3511 +FERNANDE 0.001 89.213 3512 +ELWANDA 0.001 89.214 3513 +ELLAMAE 0.001 89.215 3514 +ELIZ 0.001 89.217 3515 +DUSTI 0.001 89.218 3516 +DOTTY 0.001 89.219 3517 +CYNDY 0.001 89.220 3518 +CORALIE 0.001 89.221 3519 +CELESTA 0.001 89.223 3520 +ARGENTINA 0.001 89.224 3521 +ALVERTA 0.001 89.225 3522 +XENIA 0.001 89.226 3523 +WAVA 0.001 89.228 3524 +VANETTA 0.001 89.229 3525 +TORRIE 0.001 89.230 3526 +TASHINA 0.001 89.231 3527 +TANDY 0.001 89.232 3528 +TAMBRA 0.001 89.233 3529 +TAMA 0.001 89.235 3530 +STEPANIE 0.001 89.236 3531 +SHILA 0.001 89.237 3532 +SHAUNTA 0.001 89.238 3533 +SHARAN 0.001 89.239 3534 +SHANIQUA 0.001 89.241 3535 +SHAE 0.001 89.242 3536 +SETSUKO 0.001 89.243 3537 +SERAFINA 0.001 89.244 3538 +SANDEE 0.001 89.245 3539 +ROSAMARIA 0.001 89.247 3540 +PRISCILA 0.001 89.248 3541 +OLINDA 0.001 89.249 3542 +NADENE 0.001 89.250 3543 +MUOI 0.001 89.251 3544 +MICHELINA 0.001 89.253 3545 +MERCEDEZ 0.001 89.254 3546 +MARYROSE 0.001 89.255 3547 +MARIN 0.001 89.256 3548 +MARCENE 0.001 89.257 3549 +MAO 0.001 89.259 3550 +MAGALI 0.001 89.260 3551 +MAFALDA 0.001 89.261 3552 +LOGAN 0.001 89.262 3553 +LINN 0.001 89.263 3554 +LANNIE 0.001 89.265 3555 +KAYCE 0.001 89.266 3556 +KAROLINE 0.001 89.267 3557 +KAMILAH 0.001 89.268 3558 +KAMALA 0.001 89.269 3559 +JUSTA 0.001 89.270 3560 +JOLINE 0.001 89.272 3561 +JENNINE 0.001 89.273 3562 +JACQUETTA 0.001 89.274 3563 +IRAIDA 0.001 89.275 3564 +GERALD 0.001 89.276 3565 +GEORGEANNA 0.001 89.278 3566 +FRANCHESCA 0.001 89.279 3567 +FAIRY 0.001 89.280 3568 +EMELINE 0.001 89.281 3569 +ELANE 0.001 89.282 3570 +EHTEL 0.001 89.284 3571 +EARLIE 0.001 89.285 3572 +DULCIE 0.001 89.286 3573 +DALENE 0.001 89.287 3574 +CRIS 0.001 89.288 3575 +CLASSIE 0.001 89.290 3576 +CHERE 0.001 89.291 3577 +CHARIS 0.001 89.292 3578 +CAROYLN 0.001 89.293 3579 +CARMINA 0.001 89.294 3580 +CARITA 0.001 89.296 3581 +BRIAN 0.001 89.297 3582 +BETHANIE 0.001 89.298 3583 +AYAKO 0.001 89.299 3584 +ARICA 0.001 89.300 3585 +AN 0.001 89.301 3586 +ALYSA 0.001 89.303 3587 +ALESSANDRA 0.001 89.304 3588 +AKILAH 0.001 89.305 3589 +ADRIEN 0.001 89.306 3590 +ZETTA 0.001 89.307 3591 +YOULANDA 0.001 89.309 3592 +YELENA 0.001 89.310 3593 +YAHAIRA 0.001 89.311 3594 +XUAN 0.001 89.312 3595 +WENDOLYN 0.001 89.313 3596 +VICTOR 0.001 89.314 3597 +TIJUANA 0.001 89.316 3598 +TERRELL 0.001 89.317 3599 +TERINA 0.001 89.318 3600 +TERESIA 0.001 89.319 3601 +SUZI 0.001 89.320 3602 +SUNDAY 0.001 89.321 3603 +SHERELL 0.001 89.323 3604 +SHAVONDA 0.001 89.324 3605 +SHAUNTE 0.001 89.325 3606 +SHARDA 0.001 89.326 3607 +SHAKITA 0.001 89.327 3608 +SENA 0.001 89.328 3609 +RYANN 0.001 89.330 3610 +RUBI 0.001 89.331 3611 +RIVA 0.001 89.332 3612 +REGINIA 0.001 89.333 3613 +REA 0.001 89.334 3614 +RACHAL 0.001 89.335 3615 +PARTHENIA 0.001 89.336 3616 +PAMULA 0.001 89.338 3617 +MONNIE 0.001 89.339 3618 +MONET 0.001 89.340 3619 +MICHAELE 0.001 89.341 3620 +MELIA 0.001 89.342 3621 +MARINE 0.001 89.343 3622 +MALKA 0.001 89.345 3623 +MAISHA 0.001 89.346 3624 +LISANDRA 0.001 89.347 3625 +LEO 0.001 89.348 3626 +LEKISHA 0.001 89.349 3627 +LEAN 0.001 89.350 3628 +LAURENCE 0.001 89.352 3629 +LAKENDRA 0.001 89.353 3630 +KRYSTIN 0.001 89.354 3631 +KORTNEY 0.001 89.355 3632 +KIZZIE 0.001 89.356 3633 +KITTIE 0.001 89.357 3634 +KERA 0.001 89.359 3635 +KENDAL 0.001 89.360 3636 +KEMBERLY 0.001 89.361 3637 +KANISHA 0.001 89.362 3638 +JULENE 0.001 89.363 3639 +JULE 0.001 89.364 3640 +JOSHUA 0.001 89.366 3641 +JOHANNE 0.001 89.367 3642 +JEFFREY 0.001 89.368 3643 +JAMEE 0.001 89.369 3644 +HAN 0.001 89.370 3645 +HALLEY 0.001 89.371 3646 +GIDGET 0.001 89.373 3647 +GALINA 0.001 89.374 3648 +FREDRICKA 0.001 89.375 3649 +FLETA 0.001 89.376 3650 +FATIMAH 0.001 89.377 3651 +EUSEBIA 0.001 89.378 3652 +ELZA 0.001 89.379 3653 +ELEONORE 0.001 89.381 3654 +DORTHEY 0.001 89.382 3655 +DORIA 0.001 89.383 3656 +DONELLA 0.001 89.384 3657 +DINORAH 0.001 89.385 3658 +DELORSE 0.001 89.386 3659 +CLARETHA 0.001 89.388 3660 +CHRISTINIA 0.001 89.389 3661 +CHARLYN 0.001 89.390 3662 +BONG 0.001 89.391 3663 +BELKIS 0.001 89.392 3664 +AZZIE 0.001 89.393 3665 +ANDERA 0.001 89.395 3666 +AIKO 0.001 89.396 3667 +ADENA 0.001 89.397 3668 +YER 0.001 89.398 3669 +YAJAIRA 0.001 89.399 3670 +WAN 0.001 89.400 3671 +VANIA 0.001 89.401 3672 +ULRIKE 0.001 89.403 3673 +TOSHIA 0.001 89.404 3674 +TIFANY 0.001 89.405 3675 +STEFANY 0.001 89.406 3676 +SHIZUE 0.001 89.407 3677 +SHENIKA 0.001 89.408 3678 +SHAWANNA 0.001 89.409 3679 +SHAROLYN 0.001 89.410 3680 +SHARILYN 0.001 89.412 3681 +SHAQUANA 0.001 89.413 3682 +SHANTAY 0.001 89.414 3683 +SEE 0.001 89.415 3684 +ROZANNE 0.001 89.416 3685 +ROSELEE 0.001 89.417 3686 +RICKIE 0.001 89.418 3687 +REMONA 0.001 89.420 3688 +REANNA 0.001 89.421 3689 +RAELENE 0.001 89.422 3690 +QUINN 0.001 89.423 3691 +PHUNG 0.001 89.424 3692 +PETRONILA 0.001 89.425 3693 +NATACHA 0.001 89.426 3694 +NANCEY 0.001 89.427 3695 +MYRL 0.001 89.429 3696 +MIYOKO 0.001 89.430 3697 +MIESHA 0.001 89.431 3698 +MERIDETH 0.001 89.432 3699 +MARVELLA 0.001 89.433 3700 +MARQUITTA 0.001 89.434 3701 +MARHTA 0.001 89.435 3702 +MARCHELLE 0.001 89.436 3703 +LIZETH 0.001 89.438 3704 +LIBBIE 0.001 89.439 3705 +LAHOMA 0.001 89.440 3706 +LADAWN 0.001 89.441 3707 +KINA 0.001 89.442 3708 +KATHELEEN 0.001 89.443 3709 +KATHARYN 0.001 89.444 3710 +KARISA 0.001 89.446 3711 +KALEIGH 0.001 89.447 3712 +JUNIE 0.001 89.448 3713 +JULIEANN 0.001 89.449 3714 +JOHNSIE 0.001 89.450 3715 +JANEAN 0.001 89.451 3716 +JAIMEE 0.001 89.452 3717 +JACKQUELINE 0.001 89.453 3718 +HISAKO 0.001 89.455 3719 +HERMA 0.001 89.456 3720 +HELAINE 0.001 89.457 3721 +GWYNETH 0.001 89.458 3722 +GLENN 0.001 89.459 3723 +GITA 0.001 89.460 3724 +EUSTOLIA 0.001 89.461 3725 +EMELINA 0.001 89.462 3726 +ELIN 0.001 89.464 3727 +EDRIS 0.001 89.465 3728 +DONNETTE 0.001 89.466 3729 +DONNETTA 0.001 89.467 3730 +DIERDRE 0.001 89.468 3731 +DENAE 0.001 89.469 3732 +DARCEL 0.001 89.470 3733 +CLAUDE 0.001 89.472 3734 +CLARISA 0.001 89.473 3735 +CINDERELLA 0.001 89.474 3736 +CHIA 0.001 89.475 3737 +CHARLESETTA 0.001 89.476 3738 +CHARITA 0.001 89.477 3739 +CELSA 0.001 89.478 3740 +CASSY 0.001 89.479 3741 +CASSI 0.001 89.481 3742 +CARLEE 0.001 89.482 3743 +BRUNA 0.001 89.483 3744 +BRITTANEY 0.001 89.484 3745 +BRANDE 0.001 89.485 3746 +BILLI 0.001 89.486 3747 +BAO 0.001 89.487 3748 +ANTONETTA 0.001 89.488 3749 +ANGLA 0.001 89.490 3750 +ANGELYN 0.001 89.491 3751 +ANALISA 0.001 89.492 3752 +ALANE 0.001 89.493 3753 +WENONA 0.001 89.494 3754 +WENDIE 0.001 89.495 3755 +VERONIQUE 0.001 89.496 3756 +VANNESA 0.001 89.497 3757 +TOBIE 0.001 89.498 3758 +TEMPIE 0.001 89.500 3759 +SUMIKO 0.001 89.501 3760 +SULEMA 0.001 89.502 3761 +SPARKLE 0.001 89.503 3762 +SOMER 0.001 89.504 3763 +SHEBA 0.001 89.505 3764 +SHAYNE 0.001 89.506 3765 +SHARICE 0.001 89.507 3766 +SHANEL 0.001 89.508 3767 +SHALON 0.001 89.509 3768 +SAGE 0.001 89.511 3769 +ROY 0.001 89.512 3770 +ROSIO 0.001 89.513 3771 +ROSELIA 0.001 89.514 3772 +RENAY 0.001 89.515 3773 +REMA 0.001 89.516 3774 +REENA 0.001 89.517 3775 +PORSCHE 0.001 89.518 3776 +PING 0.001 89.519 3777 +PEG 0.001 89.520 3778 +OZIE 0.001 89.522 3779 +ORETHA 0.001 89.523 3780 +ORALEE 0.001 89.524 3781 +ODA 0.001 89.525 3782 +NU 0.001 89.526 3783 +NGAN 0.001 89.527 3784 +NAKESHA 0.001 89.528 3785 +MILLY 0.001 89.529 3786 +MARYBELLE 0.001 89.530 3787 +MARLIN 0.001 89.531 3788 +MARIS 0.001 89.533 3789 +MARGRETT 0.001 89.534 3790 +MARAGARET 0.001 89.535 3791 +MANIE 0.001 89.536 3792 +LURLENE 0.001 89.537 3793 +LILLIA 0.001 89.538 3794 +LIESELOTTE 0.001 89.539 3795 +LAVELLE 0.001 89.540 3796 +LASHAUNDA 0.001 89.541 3797 +LAKEESHA 0.001 89.542 3798 +KEITH 0.001 89.544 3799 +KAYCEE 0.001 89.545 3800 +KALYN 0.001 89.546 3801 +JOYA 0.001 89.547 3802 +JOETTE 0.001 89.548 3803 +JENAE 0.001 89.549 3804 +JANIECE 0.001 89.550 3805 +ILLA 0.001 89.551 3806 +GRISEL 0.001 89.552 3807 +GLAYDS 0.001 89.553 3808 +GENEVIE 0.001 89.555 3809 +GALA 0.001 89.556 3810 +FREDDA 0.001 89.557 3811 +FRED 0.001 89.558 3812 +ELMER 0.001 89.559 3813 +ELEONOR 0.001 89.560 3814 +DEBERA 0.001 89.561 3815 +DEANDREA 0.001 89.562 3816 +DAN 0.001 89.563 3817 +CORRINNE 0.001 89.564 3818 +CORDIA 0.001 89.566 3819 +CONTESSA 0.001 89.567 3820 +COLENE 0.001 89.568 3821 +CLEOTILDE 0.001 89.569 3822 +CHARLOTT 0.001 89.570 3823 +CHANTAY 0.001 89.571 3824 +CECILLE 0.001 89.572 3825 +BEATRIS 0.001 89.573 3826 +AZALEE 0.001 89.574 3827 +ARLEAN 0.001 89.575 3828 +ARDATH 0.001 89.577 3829 +ANJELICA 0.001 89.578 3830 +ANJA 0.001 89.579 3831 +ALFREDIA 0.001 89.580 3832 +ALEISHA 0.001 89.581 3833 +ADAM 0.001 89.582 3834 +ZADA 0.001 89.583 3835 +YUONNE 0.001 89.584 3836 +XIAO 0.001 89.585 3837 +WILLODEAN 0.001 89.586 3838 +WHITLEY 0.001 89.587 3839 +VENNIE 0.001 89.588 3840 +VANNA 0.001 89.589 3841 +TYISHA 0.001 89.591 3842 +TOVA 0.001 89.592 3843 +TORIE 0.001 89.593 3844 +TONISHA 0.001 89.594 3845 +TILDA 0.001 89.595 3846 +TIEN 0.001 89.596 3847 +TEMPLE 0.001 89.597 3848 +SIRENA 0.001 89.598 3849 +SHERRIL 0.001 89.599 3850 +SHANTI 0.001 89.600 3851 +SHAN 0.001 89.601 3852 +SENAIDA 0.001 89.602 3853 +SAMELLA 0.001 89.603 3854 +ROBBYN 0.001 89.604 3855 +RENDA 0.001 89.606 3856 +REITA 0.001 89.607 3857 +PHEBE 0.001 89.608 3858 +PAULITA 0.001 89.609 3859 +NOBUKO 0.001 89.610 3860 +NGUYET 0.001 89.611 3861 +NEOMI 0.001 89.612 3862 +MOON 0.001 89.613 3863 +MIKAELA 0.001 89.614 3864 +MELANIA 0.001 89.615 3865 +MAXIMINA 0.001 89.616 3866 +MARG 0.001 89.617 3867 +MAISIE 0.001 89.618 3868 +LYNNA 0.001 89.619 3869 +LILLI 0.001 89.620 3870 +LAYNE 0.001 89.622 3871 +LASHAUN 0.001 89.623 3872 +LAKENYA 0.001 89.624 3873 +LAEL 0.001 89.625 3874 +KIRSTIE 0.001 89.626 3875 +KATHLINE 0.001 89.627 3876 +KASHA 0.001 89.628 3877 +KARLYN 0.001 89.629 3878 +KARIMA 0.001 89.630 3879 +JOVAN 0.001 89.631 3880 +JOSEFINE 0.001 89.632 3881 +JENNELL 0.001 89.633 3882 +JACQUI 0.001 89.634 3883 +JACKELYN 0.001 89.635 3884 +HYO 0.001 89.636 3885 +HIEN 0.001 89.638 3886 +GRAZYNA 0.001 89.639 3887 +FLORRIE 0.001 89.640 3888 +FLORIA 0.001 89.641 3889 +ELEONORA 0.001 89.642 3890 +DWANA 0.001 89.643 3891 +DORLA 0.001 89.644 3892 +DONG 0.001 89.645 3893 +DELMY 0.001 89.646 3894 +DEJA 0.001 89.647 3895 +DEDE 0.001 89.648 3896 +DANN 0.001 89.649 3897 +CRYSTA 0.001 89.650 3898 +CLELIA 0.001 89.651 3899 +CLARIS 0.001 89.652 3900 +CLARENCE 0.001 89.654 3901 +CHIEKO 0.001 89.655 3902 +CHERLYN 0.001 89.656 3903 +CHERELLE 0.001 89.657 3904 +CHARMAIN 0.001 89.658 3905 +CHARA 0.001 89.659 3906 +CAMMY 0.001 89.660 3907 +BEE 0.001 89.661 3908 +ARNETTE 0.001 89.662 3909 +ARDELLE 0.001 89.663 3910 +ANNIKA 0.001 89.664 3911 +AMIEE 0.001 89.665 3912 +AMEE 0.001 89.666 3913 +ALLENA 0.001 89.667 3914 +YVONE 0.001 89.668 3915 +YUKI 0.001 89.670 3916 +YOSHIE 0.001 89.671 3917 +YEVETTE 0.001 89.672 3918 +YAEL 0.001 89.673 3919 +WILLETTA 0.001 89.674 3920 +VONCILE 0.001 89.675 3921 +VENETTA 0.001 89.676 3922 +TULA 0.001 89.677 3923 +TONETTE 0.001 89.678 3924 +TIMIKA 0.001 89.679 3925 +TEMIKA 0.001 89.680 3926 +TELMA 0.001 89.681 3927 +TEISHA 0.001 89.682 3928 +TAREN 0.001 89.683 3929 +TA 0.001 89.684 3930 +STACEE 0.001 89.685 3931 +SHIN 0.001 89.686 3932 +SHAWNTA 0.001 89.687 3933 +SATURNINA 0.001 89.688 3934 +RICARDA 0.001 89.689 3935 +POK 0.001 89.690 3936 +PASTY 0.001 89.691 3937 +ONIE 0.001 89.692 3938 +NUBIA 0.001 89.693 3939 +MORA 0.001 89.694 3940 +MIKE 0.001 89.695 3941 +MARIELLE 0.001 89.696 3942 +MARIELLA 0.001 89.697 3943 +MARIANELA 0.001 89.699 3944 +MARDELL 0.001 89.700 3945 +MANY 0.001 89.701 3946 +LUANNA 0.001 89.702 3947 +LOISE 0.001 89.703 3948 +LISABETH 0.001 89.704 3949 +LINDSY 0.001 89.705 3950 +LILLIANA 0.001 89.706 3951 +LILLIAM 0.001 89.707 3952 +LELAH 0.001 89.708 3953 +LEIGHA 0.001 89.709 3954 +LEANORA 0.001 89.710 3955 +LANG 0.001 89.711 3956 +KRISTEEN 0.001 89.712 3957 +KHALILAH 0.001 89.713 3958 +KEELEY 0.001 89.714 3959 +KANDRA 0.001 89.715 3960 +JUNKO 0.001 89.716 3961 +JOAQUINA 0.001 89.717 3962 +JERLENE 0.001 89.718 3963 +JANI 0.001 89.719 3964 +JAMIKA 0.001 89.720 3965 +JAME 0.001 89.721 3966 +HSIU 0.001 89.722 3967 +HERMILA 0.001 89.723 3968 +GOLDEN 0.001 89.724 3969 +GENEVIVE 0.001 89.725 3970 +EVIA 0.001 89.727 3971 +EUGENA 0.001 89.728 3972 +EMMALINE 0.001 89.729 3973 +ELFREDA 0.001 89.730 3974 +ELENE 0.001 89.731 3975 +DONETTE 0.001 89.732 3976 +DELCIE 0.001 89.733 3977 +DEEANNA 0.001 89.734 3978 +DARCEY 0.001 89.735 3979 +CUC 0.001 89.736 3980 +CLARINDA 0.001 89.737 3981 +CIRA 0.001 89.738 3982 +CHAE 0.001 89.739 3983 +CELINDA 0.001 89.740 3984 +CATHERYN 0.001 89.741 3985 +CATHERIN 0.001 89.742 3986 +CASIMIRA 0.001 89.743 3987 +CARMELIA 0.001 89.744 3988 +CAMELLIA 0.001 89.745 3989 +BREANA 0.001 89.746 3990 +BOBETTE 0.001 89.747 3991 +BERNARDINA 0.001 89.748 3992 +BEBE 0.001 89.749 3993 +BASILIA 0.001 89.750 3994 +ARLYNE 0.001 89.751 3995 +AMAL 0.001 89.752 3996 +ALAYNA 0.001 89.753 3997 +ZONIA 0.001 89.754 3998 +ZENIA 0.001 89.755 3999 +YURIKO 0.001 89.756 4000 +YAEKO 0.001 89.757 4001 +WYNELL 0.001 89.758 4002 +WILLOW 0.001 89.759 4003 +WILLENA 0.001 89.760 4004 +VERNIA 0.001 89.761 4005 +TU 0.001 89.762 4006 +TRAVIS 0.001 89.764 4007 +TORA 0.001 89.765 4008 +TERRILYN 0.001 89.766 4009 +TERICA 0.001 89.767 4010 +TENESHA 0.001 89.768 4011 +TAWNA 0.001 89.769 4012 +TAJUANA 0.001 89.770 4013 +TAINA 0.001 89.771 4014 +STEPHNIE 0.001 89.772 4015 +SONA 0.001 89.773 4016 +SOL 0.001 89.774 4017 +SINA 0.001 89.775 4018 +SHONDRA 0.001 89.776 4019 +SHIZUKO 0.001 89.777 4020 +SHERLENE 0.001 89.778 4021 +SHERICE 0.001 89.779 4022 +SHARIKA 0.001 89.780 4023 +ROSSIE 0.001 89.781 4024 +ROSENA 0.001 89.782 4025 +RORY 0.001 89.783 4026 +RIMA 0.001 89.784 4027 +RIA 0.001 89.785 4028 +RHEBA 0.001 89.786 4029 +RENNA 0.001 89.787 4030 +PETER 0.001 89.788 4031 +NATALYA 0.001 89.789 4032 +NANCEE 0.001 89.790 4033 +MELODI 0.001 89.791 4034 +MEDA 0.001 89.792 4035 +MAXIMA 0.001 89.793 4036 +MATHA 0.001 89.794 4037 +MARKETTA 0.001 89.795 4038 +MARICRUZ 0.001 89.796 4039 +MARCELENE 0.001 89.797 4040 +MALVINA 0.001 89.798 4041 +LUBA 0.001 89.799 4042 +LOUETTA 0.001 89.800 4043 +LEIDA 0.001 89.801 4044 +LECIA 0.001 89.802 4045 +LAURAN 0.001 89.803 4046 +LASHAWNA 0.001 89.804 4047 +LAINE 0.001 89.805 4048 +KHADIJAH 0.001 89.806 4049 +KATERINE 0.001 89.807 4050 +KASI 0.001 89.808 4051 +KALLIE 0.001 89.809 4052 +JULIETTA 0.001 89.810 4053 +JESUSITA 0.001 89.811 4054 +JESTINE 0.001 89.812 4055 +JESSIA 0.001 89.813 4056 +JEREMY 0.001 89.814 4057 +JEFFIE 0.001 89.815 4058 +JANYCE 0.001 89.816 4059 +ISADORA 0.001 89.817 4060 +GEORGIANNE 0.001 89.818 4061 +FIDELIA 0.001 89.819 4062 +EVITA 0.001 89.820 4063 +EURA 0.001 89.821 4064 +EULAH 0.001 89.822 4065 +ESTEFANA 0.001 89.823 4066 +ELSY 0.001 89.824 4067 +ELIZABET 0.001 89.825 4068 +ELADIA 0.001 89.826 4069 +DODIE 0.001 89.827 4070 +DION 0.001 89.828 4071 +DIA 0.001 89.829 4072 +DENISSE 0.001 89.830 4073 +DELORAS 0.001 89.831 4074 +DELILA 0.001 89.832 4075 +DAYSI 0.001 89.833 4076 +DAKOTA 0.001 89.834 4077 +CURTIS 0.001 89.835 4078 +CRYSTLE 0.001 89.836 4079 +CONCHA 0.001 89.837 4080 +COLBY 0.001 89.838 4081 +CLARETTA 0.001 89.839 4082 +CHU 0.001 89.840 4083 +CHRISTIA 0.001 89.841 4084 +CHARLSIE 0.001 89.842 4085 +CHARLENA 0.001 89.843 4086 +CARYLON 0.001 89.844 4087 +BETTYANN 0.001 89.845 4088 +ASLEY 0.001 89.846 4089 +ASHLEA 0.001 89.847 4090 +AMIRA 0.001 89.848 4091 +AI 0.001 89.849 4092 +AGUEDA 0.001 89.850 4093 +AGNUS 0.001 89.851 4094 +YUETTE 0.001 89.852 4095 +VINITA 0.001 89.853 4096 +VICTORINA 0.001 89.854 4097 +TYNISHA 0.001 89.855 4098 +TREENA 0.001 89.856 4099 +TOCCARA 0.001 89.857 4100 +TISH 0.001 89.858 4101 +THOMASENA 0.001 89.859 4102 +TEGAN 0.001 89.860 4103 +SOILA 0.001 89.861 4104 +SHILOH 0.001 89.862 4105 +SHENNA 0.001 89.863 4106 +SHARMAINE 0.001 89.864 4107 +SHANTAE 0.001 89.865 4108 +SHANDI 0.001 89.866 4109 +SEPTEMBER 0.001 89.867 4110 +SARAN 0.001 89.867 4111 +SARAI 0.001 89.868 4112 +SANA 0.001 89.869 4113 +SAMUEL 0.001 89.870 4114 +SALLEY 0.001 89.871 4115 +ROSETTE 0.001 89.872 4116 +ROLANDE 0.001 89.873 4117 +REGINE 0.001 89.874 4118 +OTELIA 0.001 89.875 4119 +OSCAR 0.001 89.876 4120 +OLEVIA 0.001 89.877 4121 +NICHOLLE 0.001 89.878 4122 +NECOLE 0.001 89.879 4123 +NAIDA 0.001 89.880 4124 +MYRTA 0.001 89.881 4125 +MYESHA 0.001 89.882 4126 +MITSUE 0.001 89.883 4127 +MINTA 0.001 89.884 4128 +MERTIE 0.001 89.885 4129 +MARGY 0.001 89.886 4130 +MAHALIA 0.001 89.887 4131 +MADALENE 0.001 89.888 4132 +LOVE 0.001 89.889 4133 +LOURA 0.001 89.890 4134 +LOREAN 0.001 89.891 4135 +LEWIS 0.001 89.892 4136 +LESHA 0.001 89.893 4137 +LEONIDA 0.001 89.894 4138 +LENITA 0.001 89.895 4139 +LAVONE 0.001 89.896 4140 +LASHELL 0.001 89.897 4141 +LASHANDRA 0.001 89.898 4142 +LAMONICA 0.001 89.899 4143 +KIMBRA 0.001 89.900 4144 +KATHERINA 0.001 89.901 4145 +KARRY 0.001 89.902 4146 +KANESHA 0.001 89.903 4147 +JULIO 0.001 89.903 4148 +JONG 0.001 89.904 4149 +JENEVA 0.001 89.905 4150 +JAQUELYN 0.001 89.906 4151 +HWA 0.001 89.907 4152 +GILMA 0.001 89.908 4153 +GHISLAINE 0.001 89.909 4154 +GERTRUDIS 0.001 89.910 4155 +FRANSISCA 0.001 89.911 4156 +FERMINA 0.001 89.912 4157 +ETTIE 0.001 89.913 4158 +ETSUKO 0.001 89.914 4159 +ELLIS 0.001 89.915 4160 +ELLAN 0.001 89.916 4161 +ELIDIA 0.001 89.917 4162 +EDRA 0.001 89.918 4163 +DORETHEA 0.001 89.919 4164 +DOREATHA 0.001 89.920 4165 +DENYSE 0.001 89.921 4166 +DENNY 0.001 89.922 4167 +DEETTA 0.001 89.923 4168 +DAINE 0.001 89.924 4169 +CYRSTAL 0.001 89.925 4170 +CORRIN 0.001 89.926 4171 +CAYLA 0.001 89.927 4172 +CARLITA 0.001 89.928 4173 +CAMILA 0.001 89.929 4174 +BURMA 0.001 89.930 4175 +BULA 0.001 89.931 4176 +BUENA 0.001 89.932 4177 +BLAKE 0.001 89.933 4178 +BARABARA 0.001 89.934 4179 +AVRIL 0.001 89.935 4180 +AUSTIN 0.001 89.936 4181 +ALAINE 0.001 89.937 4182 +ZANA 0.001 89.938 4183 +WILHEMINA 0.001 89.938 4184 +WANETTA 0.001 89.939 4185 +VIRGIL 0.001 89.940 4186 +VI 0.001 89.941 4187 +VERONIKA 0.001 89.942 4188 +VERNON 0.001 89.943 4189 +VERLINE 0.001 89.944 4190 +VASILIKI 0.001 89.945 4191 +TONITA 0.001 89.946 4192 +TISA 0.001 89.947 4193 +TEOFILA 0.001 89.948 4194 +TAYNA 0.001 89.949 4195 +TAUNYA 0.001 89.950 4196 +TANDRA 0.001 89.951 4197 +TAKAKO 0.001 89.952 4198 +SUNNI 0.001 89.953 4199 +SUANNE 0.001 89.954 4200 +SIXTA 0.001 89.954 4201 +SHARELL 0.001 89.955 4202 +SEEMA 0.001 89.956 4203 +RUSSELL 0.001 89.957 4204 +ROSENDA 0.001 89.958 4205 +ROBENA 0.001 89.959 4206 +RAYMONDE 0.001 89.960 4207 +PEI 0.001 89.961 4208 +PAMILA 0.001 89.962 4209 +OZELL 0.001 89.963 4210 +NEIDA 0.001 89.964 4211 +NEELY 0.001 89.965 4212 +MISTIE 0.001 89.966 4213 +MICHA 0.001 89.967 4214 +MERISSA 0.001 89.968 4215 +MAURITA 0.001 89.969 4216 +MARYLN 0.001 89.970 4217 +MARYETTA 0.001 89.971 4218 +MARSHALL 0.001 89.971 4219 +MARCELL 0.001 89.972 4220 +MALENA 0.001 89.973 4221 +MAKEDA 0.001 89.974 4222 +MADDIE 0.001 89.975 4223 +LOVETTA 0.001 89.976 4224 +LOURIE 0.001 89.977 4225 +LORRINE 0.001 89.978 4226 +LORILEE 0.001 89.979 4227 +LESTER 0.001 89.980 4228 +LAURENA 0.001 89.981 4229 +LASHAY 0.001 89.982 4230 +LARRAINE 0.001 89.983 4231 +LAREE 0.001 89.984 4232 +LACRESHA 0.001 89.985 4233 +KRISTLE 0.001 89.986 4234 +KRISHNA 0.001 89.987 4235 +KEVA 0.001 89.987 4236 +KEIRA 0.001 89.988 4237 +KAROLE 0.001 89.989 4238 +JOIE 0.001 89.990 4239 +JINNY 0.001 89.991 4240 +JEANNETTA 0.001 89.992 4241 +JAMA 0.001 89.993 4242 +HEIDY 0.001 89.994 4243 +GILBERTE 0.001 89.995 4244 +GEMA 0.001 89.996 4245 +FAVIOLA 0.001 89.997 4246 +EVELYNN 0.001 89.998 4247 +ENDA 0.001 89.999 4248 +ELLI 0.001 90.000 4249 +ELLENA 0.001 90.001 4250 +DIVINA 0.001 90.002 4251 +DAGNY 0.001 90.003 4252 +COLLENE 0.001 90.003 4253 +CODI 0.001 90.004 4254 +CINDIE 0.001 90.005 4255 +CHASSIDY 0.001 90.006 4256 +CHASIDY 0.001 90.007 4257 +CATRICE 0.001 90.008 4258 +CATHERINA 0.001 90.009 4259 +CASSEY 0.001 90.010 4260 +CAROLL 0.001 90.011 4261 +CARLENA 0.001 90.012 4262 +CANDRA 0.001 90.013 4263 +CALISTA 0.001 90.014 4264 +BRYANNA 0.001 90.015 4265 +BRITTENY 0.001 90.016 4266 +BEULA 0.001 90.017 4267 +BARI 0.001 90.018 4268 +AUDRIE 0.001 90.019 4269 +AUDRIA 0.001 90.019 4270 +ARDELIA 0.001 90.020 4271 +ANNELLE 0.001 90.021 4272 +ANGILA 0.001 90.022 4273 +ALONA 0.001 90.023 4274 +ALLYN 0.001 90.024 4275 diff --git a/dist.male.first.txt b/dist.male.first.txt new file mode 100644 index 0000000..c31b458 --- /dev/null +++ b/dist.male.first.txt @@ -0,0 +1,1219 @@ +JAMES 3.318 3.318 1 +JOHN 3.271 6.589 2 +ROBERT 3.143 9.732 3 +MICHAEL 2.629 12.361 4 +WILLIAM 2.451 14.812 5 +DAVID 2.363 17.176 6 +RICHARD 1.703 18.878 7 +CHARLES 1.523 20.401 8 +JOSEPH 1.404 21.805 9 +THOMAS 1.380 23.185 10 +CHRISTOPHER 1.035 24.220 11 +DANIEL 0.974 25.194 12 +PAUL 0.948 26.142 13 +MARK 0.938 27.081 14 +DONALD 0.931 28.012 15 +GEORGE 0.927 28.939 16 +KENNETH 0.826 29.766 17 +STEVEN 0.780 30.546 18 +EDWARD 0.779 31.325 19 +BRIAN 0.736 32.061 20 +RONALD 0.725 32.787 21 +ANTHONY 0.721 33.508 22 +KEVIN 0.671 34.179 23 +JASON 0.660 34.839 24 +MATTHEW 0.657 35.496 25 +GARY 0.650 36.147 26 +TIMOTHY 0.640 36.786 27 +JOSE 0.613 37.399 28 +LARRY 0.598 37.997 29 +JEFFREY 0.591 38.588 30 +FRANK 0.581 39.169 31 +SCOTT 0.546 39.715 32 +ERIC 0.544 40.259 33 +STEPHEN 0.540 40.799 34 +ANDREW 0.537 41.335 35 +RAYMOND 0.488 41.824 36 +GREGORY 0.441 42.265 37 +JOSHUA 0.435 42.700 38 +JERRY 0.432 43.132 39 +DENNIS 0.415 43.547 40 +WALTER 0.399 43.946 41 +PATRICK 0.389 44.335 42 +PETER 0.381 44.716 43 +HAROLD 0.371 45.087 44 +DOUGLAS 0.367 45.454 45 +HENRY 0.365 45.819 46 +CARL 0.346 46.165 47 +ARTHUR 0.335 46.500 48 +RYAN 0.328 46.828 49 +ROGER 0.322 47.150 50 +JOE 0.321 47.471 51 +JUAN 0.316 47.786 52 +JACK 0.315 48.102 53 +ALBERT 0.314 48.415 54 +JONATHAN 0.313 48.729 55 +JUSTIN 0.311 49.040 56 +TERRY 0.311 49.351 57 +GERALD 0.309 49.660 58 +KEITH 0.308 49.968 59 +SAMUEL 0.306 50.274 60 +WILLIE 0.302 50.576 61 +RALPH 0.282 50.859 62 +LAWRENCE 0.282 51.141 63 +NICHOLAS 0.275 51.415 64 +ROY 0.273 51.688 65 +BENJAMIN 0.270 51.958 66 +BRUCE 0.263 52.221 67 +BRANDON 0.260 52.480 68 +ADAM 0.259 52.740 69 +HARRY 0.251 52.991 70 +FRED 0.251 53.241 71 +WAYNE 0.249 53.490 72 +BILLY 0.248 53.738 73 +STEVE 0.246 53.984 74 +LOUIS 0.243 54.227 75 +JEREMY 0.242 54.469 76 +AARON 0.240 54.710 77 +RANDY 0.232 54.942 78 +HOWARD 0.230 55.172 79 +EUGENE 0.230 55.402 80 +CARLOS 0.229 55.630 81 +RUSSELL 0.224 55.854 82 +BOBBY 0.223 56.077 83 +VICTOR 0.222 56.299 84 +MARTIN 0.216 56.515 85 +ERNEST 0.215 56.730 86 +PHILLIP 0.213 56.942 87 +TODD 0.213 57.155 88 +JESSE 0.209 57.364 89 +CRAIG 0.206 57.570 90 +ALAN 0.204 57.774 91 +SHAWN 0.200 57.973 92 +CLARENCE 0.197 58.170 93 +SEAN 0.197 58.368 94 +PHILIP 0.197 58.565 95 +CHRIS 0.197 58.761 96 +JOHNNY 0.195 58.957 97 +EARL 0.193 59.149 98 +JIMMY 0.191 59.340 99 +ANTONIO 0.190 59.531 100 +DANNY 0.190 59.720 101 +BRYAN 0.190 59.910 102 +TONY 0.190 60.100 103 +LUIS 0.189 60.289 104 +MIKE 0.189 60.478 105 +STANLEY 0.186 60.665 106 +LEONARD 0.186 60.850 107 +NATHAN 0.185 61.035 108 +DALE 0.184 61.219 109 +MANUEL 0.181 61.400 110 +RODNEY 0.180 61.581 111 +CURTIS 0.180 61.761 112 +NORMAN 0.177 61.938 113 +ALLEN 0.174 62.112 114 +MARVIN 0.171 62.283 115 +VINCENT 0.168 62.450 116 +GLENN 0.167 62.617 117 +JEFFERY 0.166 62.783 118 +TRAVIS 0.166 62.949 119 +JEFF 0.166 63.114 120 +CHAD 0.165 63.279 121 +JACOB 0.165 63.444 122 +LEE 0.162 63.606 123 +MELVIN 0.162 63.768 124 +ALFRED 0.162 63.930 125 +KYLE 0.160 64.090 126 +FRANCIS 0.160 64.250 127 +BRADLEY 0.159 64.409 128 +JESUS 0.155 64.564 129 +HERBERT 0.155 64.719 130 +FREDERICK 0.154 64.873 131 +RAY 0.153 65.026 132 +JOEL 0.152 65.177 133 +EDWIN 0.148 65.326 134 +DON 0.145 65.471 135 +EDDIE 0.144 65.615 136 +RICKY 0.141 65.756 137 +TROY 0.138 65.895 138 +RANDALL 0.138 66.032 139 +BARRY 0.134 66.167 140 +ALEXANDER 0.132 66.299 141 +BERNARD 0.127 66.427 142 +MARIO 0.125 66.552 143 +LEROY 0.125 66.676 144 +FRANCISCO 0.124 66.801 145 +MARCUS 0.124 66.925 146 +MICHEAL 0.123 67.048 147 +THEODORE 0.123 67.171 148 +CLIFFORD 0.123 67.293 149 +MIGUEL 0.122 67.415 150 +OSCAR 0.122 67.538 151 +JAY 0.118 67.656 152 +JIM 0.118 67.773 153 +TOM 0.117 67.890 154 +CALVIN 0.115 68.006 155 +ALEX 0.115 68.120 156 +JON 0.115 68.235 157 +RONNIE 0.113 68.348 158 +BILL 0.112 68.461 159 +LLOYD 0.112 68.573 160 +TOMMY 0.112 68.685 161 +LEON 0.112 68.797 162 +DEREK 0.112 68.908 163 +WARREN 0.110 69.018 164 +DARRELL 0.108 69.126 165 +JEROME 0.108 69.234 166 +FLOYD 0.107 69.340 167 +LEO 0.106 69.446 168 +ALVIN 0.105 69.551 169 +TIM 0.104 69.656 170 +WESLEY 0.104 69.760 171 +GORDON 0.104 69.864 172 +DEAN 0.104 69.968 173 +GREG 0.104 70.071 174 +JORGE 0.104 70.175 175 +DUSTIN 0.103 70.278 176 +PEDRO 0.103 70.381 177 +DERRICK 0.103 70.484 178 +DAN 0.101 70.585 179 +LEWIS 0.099 70.684 180 +ZACHARY 0.099 70.782 181 +COREY 0.098 70.880 182 +HERMAN 0.097 70.977 183 +MAURICE 0.097 71.074 184 +VERNON 0.097 71.171 185 +ROBERTO 0.097 71.268 186 +CLYDE 0.095 71.363 187 +GLEN 0.094 71.457 188 +HECTOR 0.094 71.551 189 +SHANE 0.093 71.645 190 +RICARDO 0.093 71.738 191 +SAM 0.092 71.830 192 +RICK 0.091 71.921 193 +LESTER 0.091 72.011 194 +BRENT 0.090 72.102 195 +RAMON 0.090 72.192 196 +CHARLIE 0.090 72.281 197 +TYLER 0.089 72.371 198 +GILBERT 0.089 72.460 199 +GENE 0.087 72.547 200 +MARC 0.087 72.634 201 +REGINALD 0.084 72.717 202 +RUBEN 0.082 72.800 203 +BRETT 0.082 72.882 204 +ANGEL 0.082 72.964 205 +NATHANIEL 0.081 73.045 206 +RAFAEL 0.081 73.126 207 +LESLIE 0.081 73.207 208 +EDGAR 0.080 73.287 209 +MILTON 0.080 73.367 210 +RAUL 0.079 73.446 211 +BEN 0.078 73.524 212 +CHESTER 0.078 73.602 213 +CECIL 0.078 73.680 214 +DUANE 0.077 73.757 215 +FRANKLIN 0.077 73.834 216 +ANDRE 0.076 73.910 217 +ELMER 0.074 73.984 218 +BRAD 0.073 74.057 219 +GABRIEL 0.073 74.130 220 +RON 0.072 74.202 221 +MITCHELL 0.072 74.274 222 +ROLAND 0.072 74.347 223 +ARNOLD 0.072 74.419 224 +HARVEY 0.072 74.491 225 +JARED 0.071 74.562 226 +ADRIAN 0.069 74.631 227 +KARL 0.069 74.699 228 +CORY 0.068 74.767 229 +CLAUDE 0.068 74.835 230 +ERIK 0.068 74.903 231 +DARRYL 0.067 74.970 232 +JAMIE 0.066 75.037 233 +NEIL 0.066 75.102 234 +JESSIE 0.065 75.168 235 +CHRISTIAN 0.065 75.233 236 +JAVIER 0.065 75.297 237 +FERNANDO 0.065 75.362 238 +CLINTON 0.065 75.427 239 +TED 0.064 75.491 240 +MATHEW 0.064 75.555 241 +TYRONE 0.064 75.619 242 +DARREN 0.064 75.683 243 +LONNIE 0.064 75.746 244 +LANCE 0.063 75.810 245 +CODY 0.063 75.873 246 +JULIO 0.063 75.936 247 +KELLY 0.063 75.998 248 +KURT 0.062 76.061 249 +ALLAN 0.061 76.122 250 +NELSON 0.061 76.182 251 +GUY 0.060 76.243 252 +CLAYTON 0.060 76.303 253 +HUGH 0.060 76.363 254 +MAX 0.059 76.421 255 +DWAYNE 0.059 76.480 256 +DWIGHT 0.058 76.538 257 +ARMANDO 0.058 76.596 258 +FELIX 0.058 76.654 259 +JIMMIE 0.058 76.711 260 +EVERETT 0.057 76.768 261 +JORDAN 0.056 76.824 262 +IAN 0.056 76.880 263 +WALLACE 0.056 76.936 264 +KEN 0.055 76.991 265 +BOB 0.055 77.047 266 +JAIME 0.055 77.102 267 +CASEY 0.054 77.156 268 +ALFREDO 0.054 77.210 269 +ALBERTO 0.053 77.263 270 +DAVE 0.053 77.316 271 +IVAN 0.053 77.369 272 +JOHNNIE 0.052 77.421 273 +SIDNEY 0.052 77.474 274 +BYRON 0.052 77.526 275 +JULIAN 0.052 77.578 276 +ISAAC 0.051 77.629 277 +MORRIS 0.051 77.680 278 +CLIFTON 0.050 77.730 279 +WILLARD 0.050 77.780 280 +DARYL 0.050 77.831 281 +ROSS 0.050 77.880 282 +VIRGIL 0.049 77.929 283 +ANDY 0.049 77.979 284 +MARSHALL 0.049 78.028 285 +SALVADOR 0.049 78.077 286 +PERRY 0.049 78.126 287 +KIRK 0.049 78.175 288 +SERGIO 0.049 78.224 289 +MARION 0.048 78.272 290 +TRACY 0.048 78.320 291 +SETH 0.048 78.368 292 +KENT 0.048 78.416 293 +TERRANCE 0.048 78.464 294 +RENE 0.048 78.512 295 +EDUARDO 0.047 78.559 296 +TERRENCE 0.047 78.606 297 +ENRIQUE 0.046 78.652 298 +FREDDIE 0.046 78.698 299 +WADE 0.045 78.743 300 +AUSTIN 0.044 78.786 301 +STUART 0.044 78.830 302 +FREDRICK 0.043 78.873 303 +ARTURO 0.043 78.917 304 +ALEJANDRO 0.043 78.960 305 +JACKIE 0.043 79.002 306 +JOEY 0.043 79.045 307 +NICK 0.043 79.088 308 +LUTHER 0.043 79.130 309 +WENDELL 0.042 79.172 310 +JEREMIAH 0.042 79.215 311 +EVAN 0.042 79.257 312 +JULIUS 0.042 79.298 313 +DANA 0.042 79.340 314 +DONNIE 0.041 79.381 315 +OTIS 0.041 79.422 316 +SHANNON 0.040 79.462 317 +TREVOR 0.040 79.503 318 +OLIVER 0.040 79.543 319 +LUKE 0.040 79.583 320 +HOMER 0.040 79.623 321 +GERARD 0.040 79.663 322 +DOUG 0.040 79.703 323 +KENNY 0.039 79.742 324 +HUBERT 0.039 79.782 325 +ANGELO 0.039 79.821 326 +SHAUN 0.039 79.859 327 +LYLE 0.038 79.898 328 +MATT 0.038 79.936 329 +LYNN 0.038 79.974 330 +ALFONSO 0.038 80.012 331 +ORLANDO 0.037 80.049 332 +REX 0.037 80.086 333 +CARLTON 0.037 80.123 334 +ERNESTO 0.037 80.160 335 +CAMERON 0.037 80.197 336 +NEAL 0.037 80.233 337 +PABLO 0.036 80.270 338 +LORENZO 0.036 80.306 339 +OMAR 0.036 80.342 340 +WILBUR 0.036 80.378 341 +BLAKE 0.036 80.414 342 +GRANT 0.036 80.450 343 +HORACE 0.036 80.486 344 +RODERICK 0.036 80.521 345 +KERRY 0.036 80.557 346 +ABRAHAM 0.035 80.592 347 +WILLIS 0.035 80.627 348 +RICKEY 0.035 80.662 349 +JEAN 0.035 80.696 350 +IRA 0.035 80.731 351 +ANDRES 0.034 80.766 352 +CESAR 0.034 80.800 353 +JOHNATHAN 0.034 80.834 354 +MALCOLM 0.034 80.868 355 +RUDOLPH 0.034 80.902 356 +DAMON 0.034 80.936 357 +KELVIN 0.034 80.970 358 +RUDY 0.034 81.004 359 +PRESTON 0.034 81.037 360 +ALTON 0.033 81.071 361 +ARCHIE 0.033 81.104 362 +MARCO 0.033 81.137 363 +WM 0.033 81.170 364 +PETE 0.032 81.202 365 +RANDOLPH 0.032 81.234 366 +GARRY 0.032 81.267 367 +GEOFFREY 0.032 81.299 368 +JONATHON 0.032 81.331 369 +FELIPE 0.032 81.363 370 +BENNIE 0.032 81.395 371 +GERARDO 0.032 81.427 372 +ED 0.032 81.458 373 +DOMINIC 0.032 81.490 374 +ROBIN 0.032 81.522 375 +LOREN 0.032 81.553 376 +DELBERT 0.031 81.585 377 +COLIN 0.031 81.616 378 +GUILLERMO 0.031 81.647 379 +EARNEST 0.031 81.678 380 +LUCAS 0.031 81.709 381 +BENNY 0.030 81.739 382 +NOEL 0.030 81.769 383 +SPENCER 0.030 81.799 384 +RODOLFO 0.030 81.828 385 +MYRON 0.030 81.858 386 +EDMUND 0.030 81.887 387 +GARRETT 0.029 81.917 388 +SALVATORE 0.029 81.946 389 +CEDRIC 0.029 81.975 390 +LOWELL 0.029 82.004 391 +GREGG 0.029 82.032 392 +SHERMAN 0.028 82.061 393 +WILSON 0.028 82.089 394 +DEVIN 0.028 82.117 395 +SYLVESTER 0.028 82.145 396 +KIM 0.028 82.173 397 +ROOSEVELT 0.028 82.201 398 +ISRAEL 0.028 82.229 399 +JERMAINE 0.028 82.257 400 +FORREST 0.027 82.284 401 +WILBERT 0.027 82.310 402 +LELAND 0.027 82.337 403 +SIMON 0.026 82.363 404 +GUADALUPE 0.026 82.390 405 +CLARK 0.026 82.416 406 +IRVING 0.026 82.442 407 +CARROLL 0.026 82.468 408 +BRYANT 0.026 82.494 409 +OWEN 0.026 82.519 410 +RUFUS 0.025 82.545 411 +WOODROW 0.025 82.570 412 +SAMMY 0.025 82.595 413 +KRISTOPHER 0.025 82.620 414 +MACK 0.025 82.645 415 +LEVI 0.025 82.670 416 +MARCOS 0.025 82.695 417 +GUSTAVO 0.025 82.720 418 +JAKE 0.025 82.744 419 +LIONEL 0.024 82.769 420 +MARTY 0.024 82.793 421 +TAYLOR 0.024 82.817 422 +ELLIS 0.024 82.842 423 +DALLAS 0.024 82.866 424 +GILBERTO 0.024 82.890 425 +CLINT 0.024 82.914 426 +NICOLAS 0.024 82.938 427 +LAURENCE 0.024 82.962 428 +ISMAEL 0.024 82.985 429 +ORVILLE 0.024 83.009 430 +DREW 0.024 83.033 431 +JODY 0.024 83.056 432 +ERVIN 0.023 83.080 433 +DEWEY 0.023 83.103 434 +AL 0.023 83.126 435 +WILFRED 0.023 83.150 436 +JOSH 0.023 83.173 437 +HUGO 0.023 83.196 438 +IGNACIO 0.023 83.219 439 +CALEB 0.023 83.241 440 +TOMAS 0.023 83.264 441 +SHELDON 0.023 83.287 442 +ERICK 0.023 83.310 443 +FRANKIE 0.023 83.332 444 +STEWART 0.022 83.354 445 +DOYLE 0.022 83.377 446 +DARREL 0.022 83.399 447 +ROGELIO 0.022 83.421 448 +TERENCE 0.022 83.443 449 +SANTIAGO 0.022 83.465 450 +ALONZO 0.022 83.487 451 +ELIAS 0.022 83.508 452 +BERT 0.022 83.530 453 +ELBERT 0.022 83.552 454 +RAMIRO 0.022 83.573 455 +CONRAD 0.022 83.595 456 +PAT 0.022 83.616 457 +NOAH 0.022 83.638 458 +GRADY 0.021 83.659 459 +PHIL 0.021 83.681 460 +CORNELIUS 0.021 83.702 461 +LAMAR 0.021 83.723 462 +ROLANDO 0.021 83.744 463 +CLAY 0.021 83.765 464 +PERCY 0.021 83.786 465 +DEXTER 0.021 83.806 466 +BRADFORD 0.021 83.827 467 +MERLE 0.021 83.848 468 +DARIN 0.020 83.868 469 +AMOS 0.020 83.888 470 +TERRELL 0.020 83.909 471 +MOSES 0.020 83.929 472 +IRVIN 0.020 83.949 473 +SAUL 0.020 83.968 474 +ROMAN 0.020 83.988 475 +DARNELL 0.020 84.008 476 +RANDAL 0.020 84.027 477 +TOMMIE 0.020 84.047 478 +TIMMY 0.019 84.066 479 +DARRIN 0.019 84.086 480 +WINSTON 0.019 84.105 481 +BRENDAN 0.019 84.124 482 +TOBY 0.019 84.144 483 +VAN 0.019 84.163 484 +ABEL 0.019 84.182 485 +DOMINICK 0.019 84.201 486 +BOYD 0.019 84.220 487 +COURTNEY 0.019 84.240 488 +JAN 0.019 84.259 489 +EMILIO 0.019 84.277 490 +ELIJAH 0.019 84.296 491 +CARY 0.019 84.315 492 +DOMINGO 0.019 84.334 493 +SANTOS 0.019 84.353 494 +AUBREY 0.019 84.372 495 +EMMETT 0.019 84.390 496 +MARLON 0.019 84.409 497 +EMANUEL 0.019 84.428 498 +JERALD 0.019 84.446 499 +EDMOND 0.019 84.465 500 +EMIL 0.019 84.483 501 +DEWAYNE 0.018 84.502 502 +WILL 0.018 84.520 503 +OTTO 0.018 84.538 504 +TEDDY 0.018 84.556 505 +REYNALDO 0.018 84.574 506 +BRET 0.018 84.592 507 +MORGAN 0.018 84.610 508 +JESS 0.018 84.628 509 +TRENT 0.018 84.646 510 +HUMBERTO 0.018 84.664 511 +EMMANUEL 0.018 84.681 512 +STEPHAN 0.018 84.699 513 +LOUIE 0.018 84.717 514 +VICENTE 0.017 84.734 515 +LAMONT 0.017 84.751 516 +STACY 0.017 84.769 517 +GARLAND 0.017 84.786 518 +MILES 0.017 84.803 519 +MICAH 0.017 84.820 520 +EFRAIN 0.017 84.837 521 +BILLIE 0.017 84.854 522 +LOGAN 0.017 84.871 523 +HEATH 0.017 84.887 524 +RODGER 0.017 84.904 525 +HARLEY 0.017 84.921 526 +DEMETRIUS 0.017 84.937 527 +ETHAN 0.017 84.954 528 +ELDON 0.017 84.970 529 +ROCKY 0.016 84.987 530 +PIERRE 0.016 85.003 531 +JUNIOR 0.016 85.020 532 +FREDDY 0.016 85.036 533 +ELI 0.016 85.052 534 +BRYCE 0.016 85.068 535 +ANTOINE 0.016 85.084 536 +ROBBIE 0.016 85.100 537 +KENDALL 0.016 85.116 538 +ROYCE 0.016 85.132 539 +STERLING 0.016 85.148 540 +MICKEY 0.016 85.164 541 +CHASE 0.016 85.180 542 +GROVER 0.016 85.196 543 +ELTON 0.016 85.212 544 +CLEVELAND 0.016 85.228 545 +DYLAN 0.016 85.243 546 +CHUCK 0.016 85.259 547 +DAMIAN 0.016 85.274 548 +REUBEN 0.015 85.290 549 +STAN 0.015 85.305 550 +AUGUST 0.015 85.321 551 +LEONARDO 0.015 85.336 552 +JASPER 0.015 85.351 553 +RUSSEL 0.015 85.367 554 +ERWIN 0.015 85.382 555 +BENITO 0.015 85.397 556 +HANS 0.015 85.412 557 +MONTE 0.015 85.427 558 +BLAINE 0.015 85.442 559 +ERNIE 0.015 85.456 560 +CURT 0.015 85.471 561 +QUENTIN 0.015 85.486 562 +AGUSTIN 0.015 85.500 563 +MURRAY 0.015 85.515 564 +JAMAL 0.014 85.529 565 +DEVON 0.014 85.544 566 +ADOLFO 0.014 85.558 567 +HARRISON 0.014 85.573 568 +TYSON 0.014 85.587 569 +BURTON 0.014 85.601 570 +BRADY 0.014 85.616 571 +ELLIOTT 0.014 85.630 572 +WILFREDO 0.014 85.644 573 +BART 0.014 85.658 574 +JARROD 0.014 85.672 575 +VANCE 0.014 85.686 576 +DENIS 0.014 85.700 577 +DAMIEN 0.014 85.714 578 +JOAQUIN 0.014 85.728 579 +HARLAN 0.014 85.742 580 +DESMOND 0.014 85.756 581 +ELLIOT 0.014 85.770 582 +DARWIN 0.014 85.783 583 +ASHLEY 0.014 85.797 584 +GREGORIO 0.014 85.811 585 +BUDDY 0.014 85.824 586 +XAVIER 0.013 85.838 587 +KERMIT 0.013 85.851 588 +ROSCOE 0.013 85.865 589 +ESTEBAN 0.013 85.878 590 +ANTON 0.013 85.891 591 +SOLOMON 0.013 85.904 592 +SCOTTY 0.013 85.917 593 +NORBERT 0.013 85.930 594 +ELVIN 0.013 85.943 595 +WILLIAMS 0.013 85.956 596 +NOLAN 0.013 85.969 597 +CAREY 0.013 85.982 598 +ROD 0.013 85.994 599 +QUINTON 0.013 86.007 600 +HAL 0.013 86.020 601 +BRAIN 0.013 86.033 602 +ROB 0.013 86.045 603 +ELWOOD 0.013 86.058 604 +KENDRICK 0.013 86.070 605 +DARIUS 0.013 86.083 606 +MOISES 0.013 86.096 607 +SON 0.012 86.108 608 +MARLIN 0.012 86.120 609 +FIDEL 0.012 86.133 610 +THADDEUS 0.012 86.145 611 +CLIFF 0.012 86.158 612 +MARCEL 0.012 86.170 613 +ALI 0.012 86.182 614 +JACKSON 0.012 86.195 615 +RAPHAEL 0.012 86.207 616 +BRYON 0.012 86.219 617 +ARMAND 0.012 86.231 618 +ALVARO 0.012 86.244 619 +JEFFRY 0.012 86.256 620 +DANE 0.012 86.268 621 +JOESPH 0.012 86.280 622 +THURMAN 0.012 86.292 623 +NED 0.012 86.304 624 +SAMMIE 0.012 86.316 625 +RUSTY 0.012 86.328 626 +MICHEL 0.012 86.339 627 +MONTY 0.012 86.351 628 +RORY 0.012 86.363 629 +FABIAN 0.012 86.374 630 +REGGIE 0.012 86.386 631 +MASON 0.012 86.397 632 +GRAHAM 0.012 86.409 633 +KRIS 0.011 86.420 634 +ISAIAH 0.011 86.432 635 +VAUGHN 0.011 86.443 636 +GUS 0.011 86.454 637 +AVERY 0.011 86.466 638 +LOYD 0.011 86.477 639 +DIEGO 0.011 86.488 640 +ALEXIS 0.011 86.499 641 +ADOLPH 0.011 86.511 642 +NORRIS 0.011 86.522 643 +MILLARD 0.011 86.533 644 +ROCCO 0.011 86.544 645 +GONZALO 0.011 86.555 646 +DERICK 0.011 86.566 647 +RODRIGO 0.011 86.577 648 +GERRY 0.011 86.588 649 +STACEY 0.011 86.599 650 +CARMEN 0.011 86.610 651 +WILEY 0.011 86.621 652 +RIGOBERTO 0.011 86.632 653 +ALPHONSO 0.011 86.643 654 +TY 0.011 86.654 655 +SHELBY 0.011 86.664 656 +RICKIE 0.011 86.675 657 +NOE 0.011 86.686 658 +VERN 0.010 86.696 659 +BOBBIE 0.010 86.707 660 +REED 0.010 86.717 661 +JEFFERSON 0.010 86.727 662 +ELVIS 0.010 86.738 663 +BERNARDO 0.010 86.748 664 +MAURICIO 0.010 86.758 665 +HIRAM 0.010 86.768 666 +DONOVAN 0.010 86.778 667 +BASIL 0.010 86.789 668 +RILEY 0.010 86.799 669 +OLLIE 0.010 86.809 670 +NICKOLAS 0.010 86.819 671 +MAYNARD 0.010 86.829 672 +SCOT 0.010 86.840 673 +VINCE 0.010 86.850 674 +QUINCY 0.010 86.860 675 +EDDY 0.010 86.870 676 +SEBASTIAN 0.010 86.880 677 +FEDERICO 0.010 86.890 678 +ULYSSES 0.010 86.900 679 +HERIBERTO 0.010 86.910 680 +DONNELL 0.010 86.920 681 +COLE 0.010 86.929 682 +DENNY 0.010 86.939 683 +DAVIS 0.010 86.949 684 +GAVIN 0.010 86.959 685 +EMERY 0.010 86.969 686 +WARD 0.010 86.979 687 +ROMEO 0.010 86.989 688 +JAYSON 0.010 86.998 689 +DION 0.010 87.008 690 +DANTE 0.010 87.018 691 +CLEMENT 0.010 87.028 692 +COY 0.010 87.037 693 +ODELL 0.010 87.047 694 +MAXWELL 0.010 87.057 695 +JARVIS 0.010 87.066 696 +BRUNO 0.010 87.076 697 +ISSAC 0.010 87.086 698 +MARY 0.009 87.095 699 +DUDLEY 0.009 87.104 700 +BROCK 0.009 87.114 701 +SANFORD 0.009 87.123 702 +COLBY 0.009 87.133 703 +CARMELO 0.009 87.142 704 +BARNEY 0.009 87.152 705 +NESTOR 0.009 87.161 706 +HOLLIS 0.009 87.170 707 +STEFAN 0.009 87.180 708 +DONNY 0.009 87.189 709 +ART 0.009 87.198 710 +LINWOOD 0.009 87.208 711 +BEAU 0.009 87.217 712 +WELDON 0.009 87.226 713 +GALEN 0.009 87.235 714 +ISIDRO 0.009 87.244 715 +TRUMAN 0.009 87.253 716 +DELMAR 0.009 87.262 717 +JOHNATHON 0.009 87.271 718 +SILAS 0.009 87.280 719 +FREDERIC 0.009 87.289 720 +DICK 0.009 87.298 721 +KIRBY 0.009 87.307 722 +IRWIN 0.009 87.316 723 +CRUZ 0.009 87.325 724 +MERLIN 0.009 87.334 725 +MERRILL 0.009 87.343 726 +CHARLEY 0.009 87.351 727 +MARCELINO 0.009 87.360 728 +LANE 0.009 87.369 729 +HARRIS 0.009 87.378 730 +CLEO 0.009 87.386 731 +CARLO 0.009 87.395 732 +TRENTON 0.009 87.404 733 +KURTIS 0.009 87.413 734 +HUNTER 0.009 87.421 735 +AURELIO 0.009 87.430 736 +WINFRED 0.009 87.438 737 +VITO 0.009 87.447 738 +COLLIN 0.009 87.456 739 +DENVER 0.009 87.464 740 +CARTER 0.009 87.473 741 +LEONEL 0.008 87.481 742 +EMORY 0.008 87.490 743 +PASQUALE 0.008 87.498 744 +MOHAMMAD 0.008 87.506 745 +MARIANO 0.008 87.514 746 +DANIAL 0.008 87.523 747 +BLAIR 0.008 87.531 748 +LANDON 0.008 87.539 749 +DIRK 0.008 87.548 750 +BRANDEN 0.008 87.556 751 +ADAN 0.008 87.564 752 +NUMBERS 0.008 87.572 753 +CLAIR 0.008 87.581 754 +BUFORD 0.008 87.589 755 +GERMAN 0.008 87.597 756 +BERNIE 0.008 87.605 757 +WILMER 0.008 87.613 758 +JOAN 0.008 87.621 759 +EMERSON 0.008 87.629 760 +ZACHERY 0.008 87.637 761 +FLETCHER 0.008 87.645 762 +JACQUES 0.008 87.653 763 +ERROL 0.008 87.661 764 +DALTON 0.008 87.669 765 +MONROE 0.008 87.676 766 +JOSUE 0.008 87.684 767 +DOMINIQUE 0.008 87.692 768 +EDWARDO 0.008 87.700 769 +BOOKER 0.008 87.708 770 +WILFORD 0.008 87.715 771 +SONNY 0.008 87.723 772 +SHELTON 0.008 87.731 773 +CARSON 0.008 87.739 774 +THERON 0.008 87.746 775 +RAYMUNDO 0.008 87.754 776 +DAREN 0.008 87.762 777 +TRISTAN 0.008 87.769 778 +HOUSTON 0.008 87.777 779 +ROBBY 0.008 87.785 780 +LINCOLN 0.008 87.792 781 +JAME 0.008 87.800 782 +GENARO 0.008 87.807 783 +GALE 0.008 87.815 784 +BENNETT 0.008 87.822 785 +OCTAVIO 0.008 87.830 786 +CORNELL 0.008 87.838 787 +LAVERNE 0.008 87.845 788 +HUNG 0.008 87.853 789 +ARRON 0.008 87.860 790 +ANTONY 0.008 87.868 791 +HERSCHEL 0.007 87.875 792 +ALVA 0.007 87.883 793 +GIOVANNI 0.007 87.890 794 +GARTH 0.007 87.897 795 +CYRUS 0.007 87.905 796 +CYRIL 0.007 87.912 797 +RONNY 0.007 87.920 798 +STEVIE 0.007 87.927 799 +LON 0.007 87.934 800 +FREEMAN 0.007 87.941 801 +ERIN 0.007 87.949 802 +DUNCAN 0.007 87.956 803 +KENNITH 0.007 87.963 804 +CARMINE 0.007 87.970 805 +AUGUSTINE 0.007 87.978 806 +YOUNG 0.007 87.985 807 +ERICH 0.007 87.992 808 +CHADWICK 0.007 87.999 809 +WILBURN 0.007 88.006 810 +RUSS 0.007 88.013 811 +REID 0.007 88.021 812 +MYLES 0.007 88.028 813 +ANDERSON 0.007 88.035 814 +MORTON 0.007 88.042 815 +JONAS 0.007 88.049 816 +FOREST 0.007 88.056 817 +MITCHEL 0.007 88.063 818 +MERVIN 0.007 88.070 819 +ZANE 0.007 88.077 820 +RICH 0.007 88.084 821 +JAMEL 0.007 88.091 822 +LAZARO 0.007 88.098 823 +ALPHONSE 0.007 88.105 824 +RANDELL 0.007 88.112 825 +MAJOR 0.007 88.119 826 +JOHNIE 0.007 88.126 827 +JARRETT 0.007 88.133 828 +BROOKS 0.007 88.140 829 +ARIEL 0.007 88.147 830 +ABDUL 0.007 88.154 831 +DUSTY 0.007 88.161 832 +LUCIANO 0.007 88.168 833 +LINDSEY 0.007 88.174 834 +TRACEY 0.007 88.181 835 +SEYMOUR 0.007 88.188 836 +SCOTTIE 0.007 88.195 837 +EUGENIO 0.007 88.202 838 +MOHAMMED 0.007 88.208 839 +SANDY 0.007 88.215 840 +VALENTIN 0.007 88.222 841 +CHANCE 0.007 88.228 842 +ARNULFO 0.007 88.235 843 +LUCIEN 0.007 88.242 844 +FERDINAND 0.007 88.248 845 +THAD 0.007 88.255 846 +EZRA 0.007 88.262 847 +SYDNEY 0.007 88.268 848 +ALDO 0.007 88.275 849 +RUBIN 0.006 88.281 850 +ROYAL 0.006 88.288 851 +MITCH 0.006 88.294 852 +EARLE 0.006 88.301 853 +ABE 0.006 88.307 854 +WYATT 0.006 88.314 855 +MARQUIS 0.006 88.320 856 +LANNY 0.006 88.326 857 +KAREEM 0.006 88.333 858 +JAMAR 0.006 88.339 859 +BORIS 0.006 88.346 860 +ISIAH 0.006 88.352 861 +EMILE 0.006 88.358 862 +ELMO 0.006 88.365 863 +ARON 0.006 88.371 864 +LEOPOLDO 0.006 88.377 865 +EVERETTE 0.006 88.384 866 +JOSEF 0.006 88.390 867 +GAIL 0.006 88.396 868 +ELOY 0.006 88.403 869 +DORIAN 0.006 88.409 870 +RODRICK 0.006 88.415 871 +REINALDO 0.006 88.421 872 +LUCIO 0.006 88.427 873 +JERROD 0.006 88.434 874 +WESTON 0.006 88.440 875 +HERSHEL 0.006 88.446 876 +BARTON 0.006 88.452 877 +PARKER 0.006 88.458 878 +LEMUEL 0.006 88.464 879 +LAVERN 0.006 88.470 880 +BURT 0.006 88.477 881 +JULES 0.006 88.483 882 +GIL 0.006 88.489 883 +ELISEO 0.006 88.495 884 +AHMAD 0.006 88.501 885 +NIGEL 0.006 88.507 886 +EFREN 0.006 88.513 887 +ANTWAN 0.006 88.519 888 +ALDEN 0.006 88.525 889 +MARGARITO 0.006 88.531 890 +COLEMAN 0.006 88.537 891 +REFUGIO 0.006 88.543 892 +DINO 0.006 88.549 893 +OSVALDO 0.006 88.555 894 +LES 0.006 88.560 895 +DEANDRE 0.006 88.566 896 +NORMAND 0.006 88.572 897 +KIETH 0.006 88.578 898 +IVORY 0.006 88.584 899 +ANDREA 0.006 88.590 900 +TREY 0.006 88.595 901 +NORBERTO 0.006 88.601 902 +NAPOLEON 0.006 88.607 903 +JEROLD 0.006 88.613 904 +FRITZ 0.006 88.619 905 +ROSENDO 0.006 88.624 906 +MILFORD 0.006 88.630 907 +SANG 0.006 88.636 908 +DEON 0.006 88.641 909 +CHRISTOPER 0.006 88.647 910 +ALFONZO 0.006 88.653 911 +LYMAN 0.006 88.658 912 +JOSIAH 0.006 88.664 913 +BRANT 0.006 88.670 914 +WILTON 0.006 88.675 915 +RICO 0.006 88.681 916 +JAMAAL 0.006 88.687 917 +DEWITT 0.006 88.692 918 +CAROL 0.006 88.698 919 +BRENTON 0.006 88.704 920 +YONG 0.006 88.709 921 +OLIN 0.006 88.715 922 +FOSTER 0.006 88.720 923 +FAUSTINO 0.006 88.726 924 +CLAUDIO 0.006 88.731 925 +JUDSON 0.006 88.737 926 +GINO 0.006 88.743 927 +EDGARDO 0.006 88.748 928 +BERRY 0.006 88.754 929 +ALEC 0.006 88.759 930 +TANNER 0.006 88.765 931 +JARRED 0.006 88.770 932 +DONN 0.006 88.776 933 +TRINIDAD 0.005 88.781 934 +TAD 0.005 88.787 935 +SHIRLEY 0.005 88.792 936 +PRINCE 0.005 88.798 937 +PORFIRIO 0.005 88.803 938 +ODIS 0.005 88.809 939 +MARIA 0.005 88.814 940 +LENARD 0.005 88.820 941 +CHAUNCEY 0.005 88.825 942 +CHANG 0.005 88.831 943 +TOD 0.005 88.836 944 +MEL 0.005 88.842 945 +MARCELO 0.005 88.847 946 +KORY 0.005 88.853 947 +AUGUSTUS 0.005 88.858 948 +KEVEN 0.005 88.864 949 +HILARIO 0.005 88.869 950 +BUD 0.005 88.874 951 +SAL 0.005 88.880 952 +ROSARIO 0.005 88.885 953 +ORVAL 0.005 88.891 954 +MAURO 0.005 88.896 955 +DANNIE 0.005 88.901 956 +ZACHARIAH 0.005 88.907 957 +OLEN 0.005 88.912 958 +ANIBAL 0.005 88.917 959 +MILO 0.005 88.923 960 +JED 0.005 88.928 961 +FRANCES 0.005 88.933 962 +THANH 0.005 88.939 963 +DILLON 0.005 88.944 964 +AMADO 0.005 88.949 965 +NEWTON 0.005 88.955 966 +CONNIE 0.005 88.960 967 +LENNY 0.005 88.965 968 +TORY 0.005 88.970 969 +RICHIE 0.005 88.975 970 +LUPE 0.005 88.981 971 +HORACIO 0.005 88.986 972 +BRICE 0.005 88.991 973 +MOHAMED 0.005 88.996 974 +DELMER 0.005 89.001 975 +DARIO 0.005 89.006 976 +REYES 0.005 89.012 977 +DEE 0.005 89.017 978 +MAC 0.005 89.022 979 +JONAH 0.005 89.027 980 +JERROLD 0.005 89.032 981 +ROBT 0.005 89.037 982 +HANK 0.005 89.042 983 +SUNG 0.005 89.047 984 +RUPERT 0.005 89.052 985 +ROLLAND 0.005 89.057 986 +KENTON 0.005 89.062 987 +DAMION 0.005 89.067 988 +CHI 0.005 89.072 989 +ANTONE 0.005 89.077 990 +WALDO 0.005 89.082 991 +FREDRIC 0.005 89.087 992 +BRADLY 0.005 89.092 993 +QUINN 0.005 89.097 994 +KIP 0.005 89.102 995 +BURL 0.005 89.107 996 +WALKER 0.005 89.112 997 +TYREE 0.005 89.117 998 +JEFFEREY 0.005 89.122 999 +AHMED 0.005 89.127 1000 +WILLY 0.005 89.132 1001 +STANFORD 0.005 89.137 1002 +OREN 0.005 89.142 1003 +NOBLE 0.005 89.146 1004 +MOSHE 0.005 89.151 1005 +MIKEL 0.005 89.156 1006 +ENOCH 0.005 89.161 1007 +BRENDON 0.005 89.166 1008 +QUINTIN 0.005 89.171 1009 +JAMISON 0.005 89.176 1010 +FLORENCIO 0.005 89.181 1011 +DARRICK 0.005 89.185 1012 +TOBIAS 0.005 89.190 1013 +MINH 0.005 89.195 1014 +HASSAN 0.005 89.200 1015 +GIUSEPPE 0.005 89.205 1016 +DEMARCUS 0.005 89.210 1017 +CLETUS 0.005 89.214 1018 +TYRELL 0.005 89.219 1019 +LYNDON 0.005 89.224 1020 +KEENAN 0.005 89.229 1021 +WERNER 0.005 89.234 1022 +THEO 0.005 89.238 1023 +GERALDO 0.005 89.243 1024 +LOU 0.005 89.248 1025 +COLUMBUS 0.005 89.253 1026 +CHET 0.005 89.257 1027 +BERTRAM 0.005 89.262 1028 +MARKUS 0.005 89.267 1029 +HUEY 0.005 89.271 1030 +HILTON 0.005 89.276 1031 +DWAIN 0.005 89.281 1032 +DONTE 0.005 89.285 1033 +TYRON 0.005 89.290 1034 +OMER 0.005 89.295 1035 +ISAIAS 0.005 89.299 1036 +HIPOLITO 0.005 89.304 1037 +FERMIN 0.005 89.309 1038 +CHUNG 0.005 89.313 1039 +ADALBERTO 0.005 89.318 1040 +VALENTINE 0.005 89.323 1041 +JAMEY 0.005 89.327 1042 +BO 0.005 89.332 1043 +BARRETT 0.005 89.336 1044 +WHITNEY 0.005 89.341 1045 +TEODORO 0.005 89.345 1046 +MCKINLEY 0.005 89.350 1047 +MAXIMO 0.005 89.355 1048 +GARFIELD 0.005 89.359 1049 +SOL 0.005 89.364 1050 +RALEIGH 0.005 89.368 1051 +LAWERENCE 0.005 89.373 1052 +ABRAM 0.005 89.377 1053 +RASHAD 0.004 89.382 1054 +KING 0.004 89.386 1055 +EMMITT 0.004 89.391 1056 +DARON 0.004 89.395 1057 +CHONG 0.004 89.400 1058 +SAMUAL 0.004 89.404 1059 +PARIS 0.004 89.409 1060 +OTHA 0.004 89.413 1061 +MIQUEL 0.004 89.418 1062 +LACY 0.004 89.422 1063 +EUSEBIO 0.004 89.426 1064 +DONG 0.004 89.431 1065 +DOMENIC 0.004 89.435 1066 +DARRON 0.004 89.440 1067 +BUSTER 0.004 89.444 1068 +ANTONIA 0.004 89.449 1069 +WILBER 0.004 89.453 1070 +RENATO 0.004 89.458 1071 +JC 0.004 89.462 1072 +HOYT 0.004 89.466 1073 +HAYWOOD 0.004 89.471 1074 +EZEKIEL 0.004 89.475 1075 +CHAS 0.004 89.480 1076 +FLORENTINO 0.004 89.484 1077 +ELROY 0.004 89.489 1078 +CLEMENTE 0.004 89.493 1079 +ARDEN 0.004 89.497 1080 +NEVILLE 0.004 89.502 1081 +KELLEY 0.004 89.506 1082 +EDISON 0.004 89.510 1083 +DESHAWN 0.004 89.515 1084 +CARROL 0.004 89.519 1085 +SHAYNE 0.004 89.523 1086 +NATHANIAL 0.004 89.528 1087 +JORDON 0.004 89.532 1088 +DANILO 0.004 89.536 1089 +CLAUD 0.004 89.541 1090 +VAL 0.004 89.545 1091 +SHERWOOD 0.004 89.549 1092 +RAYMON 0.004 89.554 1093 +RAYFORD 0.004 89.558 1094 +CRISTOBAL 0.004 89.562 1095 +AMBROSE 0.004 89.567 1096 +TITUS 0.004 89.571 1097 +HYMAN 0.004 89.575 1098 +FELTON 0.004 89.579 1099 +EZEQUIEL 0.004 89.584 1100 +ERASMO 0.004 89.588 1101 +STANTON 0.004 89.592 1102 +LONNY 0.004 89.596 1103 +LEN 0.004 89.601 1104 +IKE 0.004 89.605 1105 +MILAN 0.004 89.609 1106 +LINO 0.004 89.613 1107 +JAROD 0.004 89.617 1108 +HERB 0.004 89.622 1109 +ANDREAS 0.004 89.626 1110 +WALTON 0.004 89.630 1111 +RHETT 0.004 89.634 1112 +PALMER 0.004 89.638 1113 +JUDE 0.004 89.642 1114 +DOUGLASS 0.004 89.647 1115 +CORDELL 0.004 89.651 1116 +OSWALDO 0.004 89.655 1117 +ELLSWORTH 0.004 89.659 1118 +VIRGILIO 0.004 89.663 1119 +TONEY 0.004 89.667 1120 +NATHANAEL 0.004 89.671 1121 +DEL 0.004 89.675 1122 +BRITT 0.004 89.679 1123 +BENEDICT 0.004 89.684 1124 +MOSE 0.004 89.688 1125 +HONG 0.004 89.692 1126 +LEIGH 0.004 89.696 1127 +JOHNSON 0.004 89.700 1128 +ISREAL 0.004 89.704 1129 +GAYLE 0.004 89.708 1130 +GARRET 0.004 89.712 1131 +FAUSTO 0.004 89.716 1132 +ASA 0.004 89.720 1133 +ARLEN 0.004 89.724 1134 +ZACK 0.004 89.728 1135 +WARNER 0.004 89.732 1136 +MODESTO 0.004 89.736 1137 +FRANCESCO 0.004 89.740 1138 +MANUAL 0.004 89.744 1139 +JAE 0.004 89.748 1140 +GAYLORD 0.004 89.752 1141 +GASTON 0.004 89.756 1142 +FILIBERTO 0.004 89.759 1143 +DEANGELO 0.004 89.763 1144 +MICHALE 0.004 89.767 1145 +GRANVILLE 0.004 89.771 1146 +WES 0.004 89.775 1147 +MALIK 0.004 89.779 1148 +ZACKARY 0.004 89.783 1149 +TUAN 0.004 89.787 1150 +NICKY 0.004 89.790 1151 +ELDRIDGE 0.004 89.794 1152 +CRISTOPHER 0.004 89.798 1153 +CORTEZ 0.004 89.802 1154 +ANTIONE 0.004 89.806 1155 +MALCOM 0.004 89.809 1156 +LONG 0.004 89.813 1157 +KOREY 0.004 89.817 1158 +JOSPEH 0.004 89.821 1159 +COLTON 0.004 89.825 1160 +WAYLON 0.004 89.828 1161 +VON 0.004 89.832 1162 +HOSEA 0.004 89.836 1163 +SHAD 0.004 89.840 1164 +SANTO 0.004 89.843 1165 +RUDOLF 0.004 89.847 1166 +ROLF 0.004 89.851 1167 +REY 0.004 89.855 1168 +RENALDO 0.004 89.858 1169 +MARCELLUS 0.004 89.862 1170 +LUCIUS 0.004 89.866 1171 +LESLEY 0.004 89.870 1172 +KRISTOFER 0.004 89.873 1173 +BOYCE 0.004 89.877 1174 +BENTON 0.004 89.881 1175 +MAN 0.004 89.884 1176 +KASEY 0.004 89.888 1177 +JEWELL 0.004 89.892 1178 +HAYDEN 0.004 89.895 1179 +HARLAND 0.004 89.899 1180 +ARNOLDO 0.004 89.903 1181 +RUEBEN 0.004 89.907 1182 +LEANDRO 0.004 89.910 1183 +KRAIG 0.004 89.914 1184 +JERRELL 0.004 89.918 1185 +JEROMY 0.004 89.921 1186 +HOBERT 0.004 89.925 1187 +CEDRICK 0.004 89.929 1188 +ARLIE 0.004 89.932 1189 +WINFORD 0.004 89.936 1190 +WALLY 0.004 89.939 1191 +PATRICIA 0.004 89.943 1192 +LUIGI 0.004 89.947 1193 +KENETH 0.004 89.950 1194 +JACINTO 0.004 89.954 1195 +GRAIG 0.004 89.958 1196 +FRANKLYN 0.004 89.961 1197 +EDMUNDO 0.004 89.965 1198 +SID 0.004 89.968 1199 +PORTER 0.004 89.972 1200 +LEIF 0.004 89.976 1201 +LAUREN 0.004 89.979 1202 +JERAMY 0.004 89.983 1203 +ELISHA 0.004 89.986 1204 +BUCK 0.004 89.990 1205 +WILLIAN 0.004 89.994 1206 +VINCENZO 0.004 89.997 1207 +SHON 0.004 90.001 1208 +MICHAL 0.004 90.004 1209 +LYNWOOD 0.004 90.008 1210 +LINDSAY 0.004 90.011 1211 +JEWEL 0.004 90.015 1212 +JERE 0.004 90.018 1213 +HAI 0.004 90.022 1214 +ELDEN 0.004 90.026 1215 +DORSEY 0.004 90.029 1216 +DARELL 0.004 90.033 1217 +BRODERICK 0.004 90.036 1218 +ALONSO 0.004 90.040 1219 diff --git a/millerRabinPrimality.fs b/millerRabinPrimality.fs new file mode 100644 index 0000000..24192e1 --- /dev/null +++ b/millerRabinPrimality.fs @@ -0,0 +1,64 @@ +module millerRabinPrimality + +// [snippet: Miller-Rabin primality test] +open System.Numerics + +///See: http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test +let millerRabinPrimality n a = + + ///This implementation is based on the Miller-Rabin Haskell implementation + ///from http://www.haskell.org/haskellwiki/Testing_primality + let pow' mul sq x' n' = + let rec f x n y = + if n = 1I then + mul x y + else + let (q,r) = BigInteger.DivRem(n, 2I) + let x2 = sq x + if r = 0I then + f x2 q y + else + f x2 q (mul x y) + f x' n' 1I + + let mulMod (a :bigint) b c = (b * c) % a + let squareMod (a :bigint) b = (b * b) % a + let powMod m = pow' (mulMod m) (squareMod m) + let iterate f = Seq.unfold(fun x -> let fx = f x in Some(x,fx)) + + let find2km n = + let rec f k m = + let (q,r) = BigInteger.DivRem(m, 2I) + if r = 1I then + (k,m) + else + f (k+1I) q + f 0I n + + let n' = n - 1I + let iter = Seq.tryPick(fun x -> if x = 1I then Some(false) elif x = n' then Some(true) else None) + let (k,m) = find2km n' + let b0 = powMod n a m + + match (a,n) with + | _ when a <= 1I && a >= n' -> + failwith (sprintf "millerRabinPrimality: a out of range (%A for %A)" a n) + | _ when b0 = 1I || b0 = n' -> true + | _ -> b0 + |> iterate (squareMod n) + |> Seq.take(int k) + |> Seq.skip 1 + |> iter + |> Option.exists id + +///For Miller-Rabin the witnesses need to be selected at random from the interval [2, n - 2]. +///More witnesses => better accuracy of the test. +///Also, remember that if Miller-Rabin returns true, then the number is _probable_ prime. +///If it returns false the number is composite. +let isPrimeW witnesses n = + match n with + | n when n < 2I -> false + | n when n = 2I -> true + | n when n = 3I -> true + | n when n % 2I = 0I -> false + | n -> witnesses |> Seq.forall(millerRabinPrimality n) diff --git a/npr_sundaypuzzle_20120422.fs b/npr_sundaypuzzle_20120422.fs new file mode 100644 index 0000000..ae9efec --- /dev/null +++ b/npr_sundaypuzzle_20120422.fs @@ -0,0 +1,32 @@ +module npr_sundaypuzzle_20120422 + +open common +open System.IO +open System.Text.RegularExpressions + +let puzzle = + + let loadNames fn = + File.ReadAllLines(fn) + |> Seq.map (fun l -> Regex.Replace(l, "(\w+).*", "$1").ToLower() ) + |> Seq.filter (fun n -> n.Length = 4) + + let maleNames = + loadNames @"dist.male.first.txt" + + let femaleNames = + loadNames @"dist.female.first.txt" + + let rotateChar (c:char) = + c |> int |> (fun n -> (n + 13 - 97) % 26 + 97) |> char + + let rotateName name = + name + |> mapChars rotateChar + |> Array.map string + |> Array.fold (fun acc i -> acc + i) "" + + maleNames + |> Seq.map (fun n -> (n, rotateName n)) + |> Seq.filter (fun (_,mn) -> Seq.exists ((=) mn) femaleNames) + |> Seq.toArray \ No newline at end of file diff --git a/program.fs b/program.fs new file mode 100644 index 0000000..2d7788a --- /dev/null +++ b/program.fs @@ -0,0 +1,87 @@ +module program + +open System +open System.Windows.Forms + +[] +let main args = + let sprintfA f = sprintf "%A" f + let funize f = fun () -> f + + let myFunc () = + printfn "Evaluating myFunc" + "myFunc Result" + let sprintfFunc f = fun () -> sprintf "%A" f + let r = sprintfFunc myFunc + printfn "%s" (r()) + + let problems = [ + 11, fun () -> sprintfA _11.maxProduct; + 12, fun () -> sprintfA _12.fiveDivisorTriangle; + 13, fun () -> sprintfA _13.getSum; + 14, fun () -> sprintfA _14.getLongestChain; + 17, fun () -> sprintfA _17.getNumberWords; + 18, fun () -> sprintfA _18.getTriangleMaxTotal; + 19, fun () -> sprintfA _19.firstSaturdays; + 20, fun () -> sprintfA _20.getSum; + 21, fun () -> sprintfA _21.amicalbleSum; + 22, fun () -> sprintfA _22.nameScores; + 23, fun () -> sprintfA _23.sumNotAbundant; + 24, fun () -> sprintfA _24.run; + 25, fun () -> sprintfA _25.find1000; + 26, fun () -> sprintfA _26.longestRecurringCycle; + 27, fun () -> sprintfA _27.quadraticConsecutivePrimes; + 28, fun () -> sprintfA _28.sumNum; + 29, fun () -> sprintfA _29.getDistinctTerms; + 30, fun () -> sprintfA _30.sumOfSumOfFifthNumbers; + 31, fun () -> sprintfA _31.getCurrencyCombos; + 32, fun () -> sprintfA _32.panDigitalProduct; + 33, fun () -> sprintfA _33.cancelling; + 34, fun () -> sprintfA _34.numSumDigitFactorials; + 35, fun () -> sprintfA _35.circularPrime; + 36, fun () -> sprintfA _36.palindromicBase10and2Sum; + 37, fun () -> sprintfA _37.truncatablePrimes; + 39, fun () -> sprintfA _39.rightTriPerimeter; + 40, fun () -> sprintfA _40.positiveIntegerConcat; + 41, fun () -> sprintfA _41.panDigital; + 42, fun () -> sprintfA _42.triangleWords; + 43, fun () -> sprintfA _43.pandigitalDivisible; + 45, fun () -> sprintfA _45.triPentHex; + 46, fun () -> sprintfA _46.smallestOddCompositeNotSumOfPrimeTwiceSquare; + 47, fun () -> sprintfA _47.consequtivePrimes; + 48, fun () -> sprintfA _48.seriesEnd; + 49, fun () -> sprintfA _49.primeSequence; + 50, fun () -> sprintfA _50.sumOfConsequitivePrimes; + 52, fun () -> sprintfA _52.findSameDigits; + 53, fun () -> sprintfA _53.combinationGt1M; + 54, fun () -> sprintfA _54.pokerWinner; + 55, fun () -> sprintfA _55.lynchrels; + 56, fun () -> sprintfA _56.exponentialDigitSum; + 57, fun () -> sprintfA _57.sqrtTwoDigits; + 58, fun () -> sprintfA _58.primeDiagonals; + 59, fun () -> sprintfA _59.cypher; + 63, fun () -> sprintfA _63.powerDigits; + 69, fun () -> sprintfA _69.relativePrimeFunc; + 79, fun () -> sprintfA _79.findPasscode; + 81, fun () -> sprintfA _81.shortestDistance; + 92, fun () -> sprintfA _92.squareChainLoop; + 97, fun () -> sprintfA _97.bigPrime; + 98, fun () -> sprintfA _98.anagramSquares; + 99, fun () -> sprintfA _99.biggestNum; + 101, fun () -> sprintfA _101.sumOfFITsOfBOPs; + 112, fun () -> sprintfA _112.bouncy90; + ] + + let problemDict = dict problems + + let sw = new System.Diagnostics.Stopwatch() + printfn "starting" + sw.Start() + let result = problemDict.[43]() + sw.Stop() + printfn "%s" result + printfn "done in %A" sw.Elapsed + //Clipboard.SetText(result) + + Console.ReadKey() |> ignore + 0 \ No newline at end of file diff --git a/projecteuler.fsproj b/projecteuler.fsproj new file mode 100644 index 0000000..40d9c0e --- /dev/null +++ b/projecteuler.fsproj @@ -0,0 +1,161 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {afd5b730-9ec9-4ef7-8ddb-95b36a0d1317} + Exe + projecteuler + projecteuler + v4.0 + Client + projecteuler + + + true + full + false + false + bin\Debug\ + DEBUG;TRACE + 3 + x86 + bin\Debug\projecteuler.XML + + + pdbonly + true + true + bin\Release\ + TRACE + 3 + x86 + bin\Release\projecteuler.XML + + + 11 + + + + + + + + + + + PreserveNewest + + + + + PreserveNewest + + + + + + PreserveNewest + + + PreserveNewest + + + + + + + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + PreserveNewest + + + + + + + + + + + + + PreserveNewest + + + + + + + + PreserveNewest + + + + + + PreserveNewest + + + + PreserveNewest + + + + + + PreserveNewest + + + + PreserveNewest + + + + + + PreserveNewest + + + PreserveNewest + + + + + + + + + + + + + \ No newline at end of file diff --git a/projecteuler.sln b/projecteuler.sln new file mode 100644 index 0000000..9e3863f --- /dev/null +++ b/projecteuler.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "projecteuler", "projecteuler.fsproj", "{AFD5B730-9EC9-4EF7-8DDB-95B36A0D1317}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AFD5B730-9EC9-4EF7-8DDB-95B36A0D1317}.Debug|x86.ActiveCfg = Debug|x86 + {AFD5B730-9EC9-4EF7-8DDB-95B36A0D1317}.Debug|x86.Build.0 = Debug|x86 + {AFD5B730-9EC9-4EF7-8DDB-95B36A0D1317}.Release|x86.ActiveCfg = Release|x86 + {AFD5B730-9EC9-4EF7-8DDB-95B36A0D1317}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal