commit 87a130499d39a01bf26be322f457c127255dcc87 Author: James Kolpack Date: Sun Aug 3 20:16:55 2025 -0700 initial commit 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 0000000..ff2e85a Binary files /dev/null and b/Oyster.IntX.dll differ diff --git a/common.fs b/common.fs new file mode 100644 index 0000000..f487c41 --- /dev/null +++ b/common.fs @@ -0,0 +1,232 @@ +module common + +let allIntegers = Seq.unfold(fun i -> 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