From df80b1a3b87efc4579b0cc7f7ed6c8b341eacac5 Mon Sep 17 00:00:00 2001 From: Minh Bui Date: Tue, 30 Sep 2014 00:07:16 +0200 Subject: [PATCH 1/2] added google exercises --- google-python-exercises/LICENSE.txt | 202 + google-python-exercises/NOTICE.txt | 5 + .../babynames/baby1990.html | 1064 +++++ .../babynames/baby1992.html | 1064 +++++ .../babynames/baby1994.html | 1064 +++++ .../babynames/baby1996.html | 1064 +++++ .../babynames/baby1998.html | 1064 +++++ .../babynames/baby2000.html | 1064 +++++ .../babynames/baby2002.html | 1064 +++++ .../babynames/baby2004.html | 1064 +++++ .../babynames/baby2006.html | 1064 +++++ .../babynames/baby2008.html | 2061 ++++++++++ .../babynames/babynames.py | 68 + .../babynames/solution/babynames.py | 132 + .../basic/.wordcount.py.swp | Bin 0 -> 12288 bytes google-python-exercises/basic/alice.txt | 3600 +++++++++++++++++ google-python-exercises/basic/list1.py | 90 + google-python-exercises/basic/list2.py | 65 + google-python-exercises/basic/mimic.py | 71 + google-python-exercises/basic/small.txt | 5 + .../basic/solution/list1.py | 119 + .../basic/solution/list2.py | 89 + .../basic/solution/mimic.py | 99 + .../basic/solution/string1.py | 140 + .../basic/solution/string2.py | 106 + .../basic/solution/wordcount.py | 114 + google-python-exercises/basic/string1.py | 112 + google-python-exercises/basic/string2.py | 80 + google-python-exercises/basic/wordcount.py | 77 + .../copyspecial/copyspecial.py | 55 + .../copyspecial/solution/copyspecial.py | 103 + .../copyspecial/xyz__hello__.txt | 4 + .../copyspecial/zz__something__.jpg | Bin 0 -> 72314 bytes .../google-python-exercises.zip | Bin 0 -> 302656 bytes google-python-exercises/hello.py | 33 + .../logpuzzle/animal_code.google.com | 80 + .../logpuzzle/logpuzzle.py | 61 + .../logpuzzle/place_code.google.com | 800 ++++ .../logpuzzle/solution/logpuzzle.py | 114 + 39 files changed, 18061 insertions(+) create mode 100644 google-python-exercises/LICENSE.txt create mode 100644 google-python-exercises/NOTICE.txt create mode 100644 google-python-exercises/babynames/baby1990.html create mode 100644 google-python-exercises/babynames/baby1992.html create mode 100644 google-python-exercises/babynames/baby1994.html create mode 100644 google-python-exercises/babynames/baby1996.html create mode 100644 google-python-exercises/babynames/baby1998.html create mode 100644 google-python-exercises/babynames/baby2000.html create mode 100644 google-python-exercises/babynames/baby2002.html create mode 100644 google-python-exercises/babynames/baby2004.html create mode 100644 google-python-exercises/babynames/baby2006.html create mode 100644 google-python-exercises/babynames/baby2008.html create mode 100755 google-python-exercises/babynames/babynames.py create mode 100755 google-python-exercises/babynames/solution/babynames.py create mode 100644 google-python-exercises/basic/.wordcount.py.swp create mode 100644 google-python-exercises/basic/alice.txt create mode 100755 google-python-exercises/basic/list1.py create mode 100755 google-python-exercises/basic/list2.py create mode 100755 google-python-exercises/basic/mimic.py create mode 100644 google-python-exercises/basic/small.txt create mode 100755 google-python-exercises/basic/solution/list1.py create mode 100755 google-python-exercises/basic/solution/list2.py create mode 100755 google-python-exercises/basic/solution/mimic.py create mode 100755 google-python-exercises/basic/solution/string1.py create mode 100755 google-python-exercises/basic/solution/string2.py create mode 100755 google-python-exercises/basic/solution/wordcount.py create mode 100755 google-python-exercises/basic/string1.py create mode 100755 google-python-exercises/basic/string2.py create mode 100755 google-python-exercises/basic/wordcount.py create mode 100755 google-python-exercises/copyspecial/copyspecial.py create mode 100755 google-python-exercises/copyspecial/solution/copyspecial.py create mode 100644 google-python-exercises/copyspecial/xyz__hello__.txt create mode 100644 google-python-exercises/copyspecial/zz__something__.jpg create mode 100644 google-python-exercises/google-python-exercises.zip create mode 100755 google-python-exercises/hello.py create mode 100644 google-python-exercises/logpuzzle/animal_code.google.com create mode 100755 google-python-exercises/logpuzzle/logpuzzle.py create mode 100644 google-python-exercises/logpuzzle/place_code.google.com create mode 100755 google-python-exercises/logpuzzle/solution/logpuzzle.py diff --git a/google-python-exercises/LICENSE.txt b/google-python-exercises/LICENSE.txt new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/google-python-exercises/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/google-python-exercises/NOTICE.txt b/google-python-exercises/NOTICE.txt new file mode 100644 index 00000000..8d9efe53 --- /dev/null +++ b/google-python-exercises/NOTICE.txt @@ -0,0 +1,5 @@ +Code for Google's Python Class +Copyright 2010 Google Inc. + +This code developed by Nick Parlante +at Google Inc. diff --git a/google-python-exercises/babynames/baby1990.html b/google-python-exercises/babynames/baby1990.html new file mode 100644 index 00000000..05210030 --- /dev/null +++ b/google-python-exercises/babynames/baby1990.html @@ -0,0 +1,1064 @@ +Popular Baby Names + + + + + + + + + + + + + + + + + + +
+ Social Security Online + + Popular Baby Names +
+ Popular Baby Names + SSA logo: link to Social Security home page +

Popular Names by Birth Year

September 12, 2007
+ +
+ Background information +


+   Select another ?
+

+   + + +  
+
+

Popularity in 1990

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RankMale nameFemale name
1MichaelJessica
2ChristopherAshley
3MatthewBrittany
4JoshuaAmanda
5DanielSamantha
6DavidSarah
7AndrewStephanie
8JamesJennifer
9JustinElizabeth
10JosephLauren
11RyanMegan
12JohnEmily
13RobertNicole
14NicholasKayla
15AnthonyAmber
16WilliamRachel
17JonathanCourtney
18KyleDanielle
19BrandonHeather
20JacobMelissa
21TylerRebecca
22ZacharyMichelle
23KevinTiffany
24EricChelsea
25StevenChristina
26ThomasKatherine
27BrianAlyssa
28AlexanderJasmine
29JordanLaura
30TimothyHannah
31CodyKimberly
32AdamKelsey
33BenjaminVictoria
34AaronSara
35RichardMary
36PatrickErica
37SeanAlexandra
38CharlesAmy
39StephenCrystal
40JeremyAndrea
41JoseKelly
42TravisKristen
43JeffreyErin
44NathanBrittney
45SamuelAnna
46MarkTaylor
47JasonMaria
48JesseAllison
49PaulCassandra
50DustinCaitlin
51GregoryLindsey
52KennethAngela
53ScottAlicia
54DerekJamie
55AustinKatie
56CoreyVanessa
57BryanKathryn
58EthanMorgan
59AlexJordan
60ChristianWhitney
61JuanBrianna
62CameronChristine
63JaredNatalie
64TaylorLisa
65BradleyKristin
66LuisAlexis
67CoryJacqueline
68EdwardShannon
69ShawnLindsay
70IanBrooke
71EvanCatherine
72MarcusOlivia
73ShaneApril
74PeterErika
75CarlosKatelyn
76TrevorMonica
77AntonioKristina
78VincentKaitlyn
79GeorgePaige
80KeithMolly
81PhillipJenna
82VictorLeah
83DylanJulia
84BrettBianca
85ChadTara
86NathanielMelanie
87DonaldMarissa
88CalebCynthia
89CaseyHolly
90JesusAbigail
91BlakeMeghan
92RaymondKathleen
93MitchellJulie
94AdrianAriel
95JoelAlexandria
96ErikVeronica
97RonaldPatricia
98DevinGabrielle
99GarrettDiana
100GabrielShelby
101MiguelKaitlin
102SethMargaret
103DouglasBrandi
104LoganKrystal
105SpencerNatasha
106DerrickCasey
107WesleyBethany
108JohnathanHaley
109FrankBriana
110ChaseKara
111PhilipRachael
112LucasMiranda
113MartinBreanna
114GaryDana
115FranciscoLeslie
116CraigCaroline
117JorgeKendra
118LukeSabrina
119MarioAngelica
120CurtisKaren
121RicardoFelicia
122ColinJillian
123JulianBrenda
124JonathonAna
125AlanDesiree
126AlejandroMeagan
127BrentKatrina
128TroyChelsey
129DennisValerie
130JohnnyEmma
131RandyNancy
132IsaacMonique
133AngelAlison
134ManuelSandra
135OscarAlisha
136JefferyBritney
137AndreBrandy
138HenryJoanna
139ColtonGina
140JakeGrace
141AllenSierra
142RussellCandace
143EdgarJaclyn
144LarryAdriana
145CarlKrista
146TonyAlexa
147JerryCandice
148MathewLacey
149EduardoRebekah
150RobertoSydney
151DevonNichole
152DariusDenise
153ClaytonDominique
154JeremiahAshlee
155BrendanAnne
156HectorYesenia
157JavierKirsten
158ToddDeanna
159OmarClaire
160DrewColleen
161SergioAudrey
162DannyMallory
163MarcCarly
164TerryTabitha
165KristopherCristina
166JackRaven
167AlbertPriscilla
168LouisStacey
169BryceCarolyn
170EdwinCarrie
171JimmyKiara
172MaxSusan
173CalvinStacy
174LawrenceAngel
175MichealLinda
176RickyMercedes
177RubenAutumn
178IvanAshleigh
179FernandoKylie
180RodneyTeresa
181LanceKelli
182LeviGabriela
183GrantCaitlyn
184DillonRenee
185BobbyCindy
186XavierArielle
187NicolasEbony
188MaxwellJustine
189DominicKarina
190RossMeredith
191WalterBridget
192RandallHillary
193DaltonDaisy
194DakotaAmelia
195JulioMayra
196ArthurTheresa
197PedroMadeline
198PrestonSasha
199CesarClaudia
200DarrenHeidi
201ClintonRobin
202RafaelDestiny
203AndresMadison
204BryantSavannah
205MauriceWendy
206IsaiahLydia
207DominiqueMelinda
208MasonEllen
209RogerTamara
210RaulBarbara
211GeraldAlejandra
212JoeChloe
213LeeMarie
214BillyJenny
215JaimeVirginia
216JonKasey
217JayCarmen
218EmmanuelJade
219HunterJocelyn
220TannerEvelyn
221ConnorJacquelyn
222WillieAbby
223ErickJanet
224ShaunTracy
225AlbertoCortney
226MarcoBailey
227JamieAriana
228NoahCassie
229ArmandoMartha
230ReginaldBrittani
231JessieJasmin
232EddieHilary
233TheodoreAdrienne
234ZacheryKaylee
235TerranceCara
236RoyAllyson
237MarvinPamela
238MicahKristine
239CollinRaquel
240BruceTina
241MalcolmGloria
242WayneRosa
243ElijahCamille
244ColbyMichele
245DarrellTiara
246AbrahamTasha
247JamalMackenzie
248ColeKristy
249GeoffreyShawna
250RamonSophia
251JohnathonAnn
252FrederickTanya
253TrentLatoya
254GerardoJessie
255DarrylMarisa
256TerrenceKari
257BrockCarissa
258MarquisJanelle
259ArturoMariah
260TyroneNina
261NeilAngelina
262RonnieDeborah
263EnriqueCarla
264JeromeKellie
265ByronElise
266TrentonHope
267SteveHayley
268NickolasCierra
269MilesKristi
270TommyKate
271AlecSummer
272AlfredoAimee
273MarcosChelsie
274KurtSharon
275AndyToni
276DeandreAlissa
277MorganDevon
278MelvinMisty
279HarrisonKarla
280MarshallJeanette
281NelsonRegina
282TerrellNikki
283ErnestTatiana
284FrancisChristy
285DaleMiriam
286DeanEsther
287DesmondCharlotte
288KelvinMaggie
289KendallStefanie
290DemetriusTessa
291LeonardRuby
292JosueGabriella
293SalvadorHailey
294GavinCiara
295KarlFaith
296GlennPaula
297QuintonCallie
298FranklinAubrey
299DonovanAsia
300BrandenNaomi
301SkylerJazmine
302NolanCarolina
303ReneTia
304KodyJazmin
305KalebTrisha
306JermaineRuth
307DwayneRose
308DiegoKelley
309LorenzoRobyn
310ErnestoJaime
311RileyMichaela
312EugeneKassandra
313StanleyKarissa
314OrlandoMelody
315BradySonia
316ChanceDevin
317IsraelDonna
318JarrodBrianne
319JacksonChristian
320SebastianHelen
321DamonKelsie
322DamianClarissa
323WadeLori
324HaroldMarina
325FabianAdrianna
326LandonCecilia
327ZachariahShaniqua
328RayGuadalupe
329GiovanniJill
330TristanCheyenne
331AlvinAshton
332DamienRachelle
333ZackarySylvia
334AlexisAnnie
335AngeloTaryn
336DaneRoxanne
337BeauShayla
338QuentinRandi
339KendrickIsabel
340WarrenLeticia
341GilbertMia
342ParkerHanna
343GustavoKatlyn
344StuartEva
345TreyJane
346CliffordSimone
347KirkAlice
348BarryElisabeth
349JordonShana
350LamarCarol
351KellyFrances
352JoeyTierra
353DarnellElena
354JosiahAntoinette
355RashadLacy
356CourtneyEricka
357PabloBrittni
358ElliottAlyson
359GageDawn
360EliasLatasha
361AntoineYvette
362BradChantel
363EliDiane
364AlfredShauna
365AshtonTonya
366DanteLillian
367StefanMeaghan
368FelixAlana
369ElliotLiliana
370HarrySuzanne
371OliverYvonne
372EmanuelChrista
373ClarenceChasity
374RomanJohanna
375ClintJoy
376DexterKristie
377CedricRochelle
378HaydenKatelynn
379SimonSandy
380JarrettBonnie
381TevinDaniela
382AllanAnastasia
383BrennanLorena
384AbelLyndsey
385RalphTanisha
386KoryAlma
387RoderickIrene
388RudyKeri
389InfantLeanna
390LeonMarlene
391DallasYolanda
392KeenanBeth
393DominickMaribel
394NoelCharlene
395SamNadia
396GuillermoKeisha
397GrahamBlanca
398WestonCeleste
399LewisMaya
400BlaineMarisol
401RodolfoKatharine
402JuliusKourtney
403EarlLarissa
404HowardKendall
405AkeemAnita
406StephanCorinne
407TysonCasandra
408WyattShaina
409SaulElaine
410KurtisAlysha
411JarredArianna
412DerickShayna
413IsmaelSheila
414EstebanKayleigh
415HugoCheryl
416LeonardoTabatha
417CristianIris
418BretBrenna
419ZackeryChanel
420ForrestStacie
421JamarElisa
422CharlieKylee
423AlfonsoMindy
424DonteTiana
425CarltonEsmeralda
426CorbinDorothy
427FelipeJuliana
428MylesKyla
429ShannonDiamond
430BernardShanna
431GilbertoNora
432KennyMarilyn
433IsiahKierra
434ZaneInfant
435JarvisKaila
436KoreyChristie
437TyJosephine
438EmilioKerri
439RogelioStaci
440DarylBridgette
441SheldonAlaina
442DemarcusStephany
443LeroyCiera
444ClayJulianne
445DenzelKali
446DwightJalisa
447CotyKerry
448ChazVivian
449ChrisSally
450TyrellTammy
451BrendonLucy
452TerencePrecious
453OwenDebra
454DeangeloJudith
455PerrySadie
456CarsonTiffani
457KaseyKirstie
458MarlonCharity
459ConorMargarita
460NealAlisa
461HeathKrystle
462KameronMollie
463SterlingNoelle
464GlenEileen
465RaphaelFrancesca
466SkylarTori
467MoisesMandy
468FredrickCassidy
469BrentonLeigh
470NormanSheena
471GordonPatrice
472NikolasBeatriz
473CliftonJodi
474AliAlanna
475TuckerTraci
476AlonzoAshlie
477LeoJanice
478RamiroNatalia
479DavonJoyce
480WilsonJordyn
481DeshawnDesirae
482ArielAbbey
483KerryConnie
484ShayneDarlene
485BradenGenevieve
486ChandlerMaritza
487CorneliusBlair
488KentIndia
489VernonTania
490LloydMckenzie
491TomasBritany
492AveryTracey
493DevanLatisha
494FrankieNorma
495PierreKelsi
496JaronTricia
497RolandoMaureen
498FredBreanne
499JaysonShantel
500KeeganDaniella
501MarkusAngelia
502QuincyJanae
503RickeyKathy
504QuintinZoe
505RolandSerena
506GarretConstance
507MikeJaimie
508LonnieMariana
509DarrinRosemary
510RickShirley
511RodrigoNicolette
512HumbertoSonya
513RoryAnnette
514BenKaty
515SidneyLoren
516TracyLea
517QuinnKacie
518BrendenCristal
519JamelJami
520DorianKristyn
521DuaneBeverly
522JeanClara
523NathanaelJackie
524MackenzieAlycia
525ShelbyRyan
526DionElyse
527GerardKira
528LukasLena
529BriceJuanita
530DarinGladys
531HerbertKaleigh
532DanaLaurel
533CortezIsamar
534AntwanLeanne
535JavonAshly
536ReynaldoJustina
537ClarkTyler
538DrakeLara
539EfrainLesley
540KadeemMara
541NoeJacklyn
542FreddyParis
543KristoferKala
544ReidCarina
545DonnieJana
546TylorBreana
547MauricioRita
548AdanRocio
549DeonWhitley
550BrysonCayla
551CarterBrandie
552JaceChantal
553DonBrittanie
554JimmieTerri
555MarquiseSusana
556EverettAraceli
557MalikAlexia
558LaneEliza
559ArnoldAshlyn
560MarcelEdith
561JohnnieJoanne
562AhmadJena
563SantiagoSkylar
564TyreeKirstin
565GuyShelly
566MiltonKiera
567SalvatoreKatelin
568JerrodAisha
569DarriusSade
570KristianKyra
571LamontPaulina
572MitchelTamika
573NigelTess
574FreddieCecily
575KareemJudy
576AlvaroMaegan
577TobyBetty
578JakobMadeleine
579BradfordAllie
580BlairLynn
581ThaddeusSherry
582KwameLucia
583ReubenMaricela
584RicoJennie
585LeslieLily
586SammyAngie
587VicenteLakeisha
588MosesEmilee
589WillCelia
590HarleyGenesis
591StephonBrittny
592KeatonNoemi
593StewartKeshia
594ChadwickDianna
595RobinJayme
596WinstonMaranda
597DavisDakota
598JoaquinEleanor
599IgnacioSavanna
600AronJessika
601GriffinKaley
602BoKailey
603AntonAdrian
604MohammadLuz
605LiamRhonda
606IssacSophie
607RustyTalia
608AmirJerrica
609LelandHollie
610BabyLogan
611GuadalupeBritni
612HakeemShante
613IrvinSilvia
614JasperKenya
615DeonteChristin
616GermanEmilie
617LeonelMarisela
618GeneOctavia
619ColtenJosie
620NicoKiersten
621ConradKaci
622JovanFatima
623KylerJenifer
624RyneBelinda
625EzekielLizette
626NestorGretchen
627AgustinKatlin
628ConnerKristian
629JackieLizbeth
630LorenTerra
631DarianAngelique
632LesterAshely
633LyleBryanna
634JarodJanette
635BradlyYadira
636GarrickPerla
637HermanRacheal
638ClydeBobbie
639OsvaldoDanica
640RigobertoDayna
641FloydMacy
642TedLacie
643DustyAlysia
644JeffMaura
645AddisonSofia
646VanceCorina
647DewayneElisha
648KhiryJesse
649AdolfoLaurie
650NathanialChristen
651SonnyKacey
652DonnellStevie
653JonahAlexandrea
654ErinKaitlynn
655ReedJaleesa
656AshleyLorraine
657RockyClare
658KellenJulianna
659ParisJanine
660DanNikita
661JamesonAntonia
662JamisonNathalie
663RexYessenia
664CecilAlina
665LionelPaola
666ToryKimberley
667DemarioViviana
668AntwonJanie
669GraysonDevan
670JamaalKasandra
671NickCorey
672RandolphRhiannon
673ArronAudra
674BennettJanessa
675DamionCameron
676ChesterKortney
677JairoKaylyn
678MohammedAlecia
679MyronGwendolyn
680WendellYasmin
681BrooksValeria
682HeribertoArlene
683SheaIrma
684MaximilianJoann
685IrvingAbbie
686SpenserRoxana
687BronsonAli
688JimBrittaney
689SolomonSkye
690UrielShanae
691JerrellTiffanie
692TomKristal
693AricLeann
694JessNadine
695OctavioAlesha
696BarrettChrystal
697OtisEden
698ElmerAmie
699JodyDomonique
700JoshLauryn
701MaleMyra
702MosheLatifah
703RoyceShelley
704AltonCelina
705AustenCori
706CooperGiselle
707HarveyKrysta
708BryonTayler
709DaquanAllyssa
710JeffersonKimberlee
711AubreyMikayla
712GregTianna
713SylvesterBrittnee
714BennyKanisha
715BraxtonLyndsay
716TyronAurora
717CruzGeorgia
718ElvisKaylin
719ErichJanay
720EstevanBeatrice
721AhmedChantelle
722RandalAshli
723DominqueBritny
724RashawnCassondra
725TobiasRebeca
726JustenReyna
727ScottyShanice
728HoustonShanika
729KelseyJerica
730DevenGriselda
731DashawnAthena
732DerikIesha
733HassanMadelyn
734WestleyRubi
735DontaeBernadette
736HughPorsha
737DuncanIngrid
738RonSkyler
739AmosBetsy
740MohamedIliana
741UnknownStefani
742ArsenioChandra
743CristopherElissa
744JamilDebbie
745HansTrista
746BrandanAnabel
747DandreDeja
748SantosKassie
749CordellLatrice
750LadariusMichael
751RobbieKandace
752TreverKandice
753UlyssesKiley
754VaughnKrystina
755JaquanDina
756HoldenPauline
757MikelMartika
758EllisKiana
759WilfredoMarcella
760JessyPrincess
761MorrisCarley
762CamronChelsi
763EzraJoan
764BernardoDaphne
765EzequielSelina
766GalenBobbi
767LutherKeely
768ColtLora
769GarryTiera
770GonzaloIvy
771RaheemJean
772DarrelJeannette
773EfrenMikaela
774GradyFelisha
775BrantBreann
776JonasJulissa
777NikoMelisa
778DereckHallie
779EdgardoKelsea
780JerodSelena
781MartyKathrine
782PeteDarcy
783DarioAdrianne
784KirbyLaci
785MartezMonika
786JosefOlga
787ColemanPhylicia
788CullenKim
789GinoMarquita
790DejuanNoel
791ReeceJaqueline
792AldoJoelle
793ShermanKori
794TeddyEboni
795BenitoJolene
796BrodyMai
797JacquesAvery
798UlisesLatonya
799AsaLiana
800CodeyMaira
801DemarcoMoriah
802StevieAlex
803DonavanLeandra
804FidelMakayla
805AlonsoMarla
806AlphonsoKaylie
807BrandynKaela
808GregorioLana
809JeraldTanesha
810VirgilDelia
811IsaiasMicaela
812JamarcusJuana
813MarquesLeeann
814SheltonElaina
815WillisValencia
816ZechariahAlyse
817CaryElsa
818DarrickAyla
819EdmundCharmaine
820KeonLynette
821KolbyMariela
822StacySymone
823DomingoKyle
824LaquanRikki
825MychalGillian
826RaymundoLaquita
827RodrickRiley
828CedrickSonja
829CyrusAlessandra
830JadeBillie
831JuniorChristiana
832AntonyMartina
833ClaudeMelina
834FrancescoTyesha
835IraJamila
836MickeyJanna
837AlexandroNikole
838CarloTeri
839DangeloBridgett
840ErvinDeidra
841DarienKrysten
842RhettTameka
843TrevonBrittnie
844LouiePortia
845WalkerDestinee
846AugustKaycee
847MadisonCecelia
848RudolphGeneva
849DaronIvana
850EarnestKalyn
851JeradAileen
852KhalilCora
853TravonDoris
854KieferFabiola
855LincolnHeaven
856RooseveltShea
857KenSusanna
858CareyCody
859DarionIvette
860JerelKia
861QuintenBaby
862AriBecky
863DeronGianna
864GreggoryNia
865JessicaCherie
866JordenJanell
867KentonLucero
868LaronBrook
869MykelElla
870RoccoAndria
871TimmyJodie
872BenniePhoebe
873MalcomAlexander
874MarquezJaimee
875StaceyMagen
876DaytonMandi
877IbrahimCorrine
878KevonKati
879TitusKenisha
880VanSamatha
881AndersonSarai
882JarretDara
883MarionShelbi
884ZakaryDeana
885CadeDemetria
886DarenDanika
887KendalMarjorie
888VinceShakira
889AidanKarly
890BroderickLiza
891PierceTera
892TommieIsabella
893ChaimLashonda
894MichelChaya
895PaytonHolli
896ReeseLakeshia
897AndreasLissette
898AxelRichelle
899BrennenRoxanna
900DerrellAlysa
901MonteMarcia
902ValentinMaryann
903DontaDulce
904NikkoGabriel
905WallaceJoana
906EmersonKatheryn
907JabariMicah
908JacobyCatrina
909KendellJessenia
910DarwinLourdes
911GiancarloBrooklyn
912GarettDominque
913IsidroNataly
914GreggCathy
915JanChastity
916KeganJessi
917PrinceTrina
918RashaadFallon
919SamsonMagdalena
920AbramShanell
921CaleSherri
922CassidySidney
923CristobalAnjelica
924DaveCarlie
925EddyChanelle
926JeredKarli
927RemingtonTracie
928KaiEunice
929TalonImani
930CodieJesica
931CortneyKalie
932KelbyKrystin
933RasheedMari
934AbdulLoretta
935ElvinMarian
936LaurenceAlannah
937AntioneBlake
938BrittonBree
939HernanRoberta
940KalvinAja
941NajeeFiona
942RakeemKallie
943ReggieShari
944WilbertLisette
945FedericoVicky
946JeffryDanyelle
947PeytonGeraldine
948SamirHelena
949AldenCandy
950AlexandreEdna
951ChanningKanesha
952ChaunceyLia
953JulienAva
954TremaineLaken
955CamdenLee
956DerrekCatalina
957ElishaKacy
958GarrisonKristan
959MalachiCari
960ShayHaleigh
961TyrelJeanne
962CornellJesenia
963EliseoMariel
964EltonMarsha
965EmmettJanel
966MarlinDena
967MikhailLizeth
968SilasLuisa
969DavinMarlena
970DionteCory
971JedidiahDeidre
972JustineEryn
973KraigAnnmarie
974MarceloDanae
975MartellDora
976RonnyGeorgina
977TorreyGraciela
978TraceShamika
979DeontaeTosha
980DonnyMarianne
981JarrellWanda
982JeremeyChristopher
983JeromyElyssa
984KevenEmilia
985TavonKimber
986CobyJody
987EdwardoLynsey
988KeenenRenae
989KristofferShameka
990LazaroDeirdre
991ToreyShantell
992BillCherish
993BrunoLinsey
994GenaroHali
995WaylonTarah
996BrittanyAnnemarie
997EliezerAsha
998JoryJada
999MisaelLeila
1000TatePeggy
Note: Rank 1 is the most popular, +rank 2 is the next most popular, and so forth. +

+
+ + + + +
 Link to FirstGov.gov: U.S. Government portal + Privacy Policy  + | Website Policies + & Other Important Information  + | Site Map
+ diff --git a/google-python-exercises/babynames/baby1992.html b/google-python-exercises/babynames/baby1992.html new file mode 100644 index 00000000..179f4129 --- /dev/null +++ b/google-python-exercises/babynames/baby1992.html @@ -0,0 +1,1064 @@ +Popular Baby Names + + + + + + + + + + + + + + + + + + +
+ Social Security Online + + Popular Baby Names +
+ Popular Baby Names + SSA logo: link to Social Security home page +

Popular Names by Birth Year

September 12, 2007
+ +
+ Background information +


+   Select another ?
+

+   + + +  
+
+

Popularity in 1992

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RankMale nameFemale name
1MichaelAshley
2ChristopherJessica
3MatthewAmanda
4JoshuaBrittany
5AndrewSarah
6BrandonSamantha
7DanielEmily
8TylerStephanie
9JamesElizabeth
10DavidMegan
11JosephJennifer
12NicholasLauren
13RyanKayla
14JohnNicole
15JacobChelsea
16ZacharyRachel
17RobertTaylor
18JustinDanielle
19AnthonyAmber
20WilliamRebecca
21JonathanCourtney
22KyleVictoria
23AlexanderKelsey
24CodyMelissa
25KevinMichelle
26EricHannah
27ThomasKatherine
28DylanJasmine
29StevenAlexandra
30AaronAlyssa
31BrianHeather
32JordanTiffany
33BenjaminChristina
34TimothyShelby
35ChristianKimberly
36AdamSara
37JoseMary
38AustinLaura
39PatrickAndrea
40RichardAlexis
41SamuelMorgan
42SeanKaitlyn
43CharlesBrianna
44NathanErica
45StephenMaria
46JasonErin
47JeremyKelly
48TravisAllison
49MarkAnna
50JesseCrystal
51JeffreyAmy
52TaylorCassandra
53CameronKristen
54AlexKatie
55PaulVanessa
56JuanHaley
57BryanLindsey
58DustinOlivia
59KennethBrooke
60GregoryKathryn
61ScottNatalie
62DerekCaitlin
63TrevorJordan
64LuisPaige
65CoreyShannon
66EvanKatelyn
67JaredJenna
68IanBrittney
69CarlosAngela
70EdwardJulia
71ShawnAlicia
72BradleyMarissa
73DillonAlexandria
74CalebMariah
75DevinJamie
76EthanJacqueline
77ShaneMonica
78JesusCatherine
79NathanielBriana
80ConnorErika
81PeterLindsay
82MarcusChristine
83CoryMolly
84BlakeGabrielle
85AntonioWhitney
86GabrielAbigail
87VictorAriel
88GarrettLisa
89LoganMiranda
90MiguelKristin
91MitchellMeghan
92VincentCynthia
93LukeKristina
94SethBreanna
95GeorgeVeronica
96AdrianLeah
97BrettBianca
98ErikMelanie
99SpencerHolly
100JoelAngelica
101TannerDiana
102KeithMargaret
103DakotaApril
104RaymondEmma
105CaseyCaroline
106LucasJulie
107PhillipMadison
108ChadKathleen
109JorgeCasey
110DonaldBrandi
111WesleyPatricia
112RonaldSabrina
113AlejandroKaitlin
114AngelBethany
115RicardoKara
116ChaseDominique
117MartinChelsey
118FranciscoTara
119JakeBrenda
120DerrickNatasha
121DaltonDesiree
122JohnathanKaren
123DevonRachael
124IsaacSydney
125FrankMackenzie
126DouglasKendra
127ColinGrace
128MarioKrystal
129AlanDestiny
130OscarSierra
131ManuelHillary
132EduardoKatrina
133JulianLeslie
134ColtonCarly
135HunterHayley
136JonathonValerie
137DominicAna
138PhilipMadeline
139GaryGabriela
140AndreAlexa
141HenryAdriana
142CurtisSavannah
143ColeNancy
144BrendanDana
145OmarRebekah
146TroyFelicia
147XavierAlison
148MasonJillian
149EdgarAlejandra
150DennisKrista
151IvanMonique
152JavierRaven
153JohnnySandra
154CraigAshlee
155JackDeanna
156HectorCaitlyn
157SergioMeagan
158RandyClaire
159RobertoKarina
160BrentHailey
161JeremiahChloe
162TevinAlisha
163TonyShanice
164DariusGina
165GrantJocelyn
166AllenKirsten
167ClaytonJoanna
168LeviBrandy
169MaxwellCheyenne
170FernandoAutumn
171MaxJaclyn
172AlecMallory
173LarryLacey
174MathewKaylee
175BryceAudrey
176JefferyYesenia
177EdwinMercedes
178RubenBailey
179NicolasPriscilla
180DominiqueAngel
181DrewJade
182CarlAnne
183JerryCindy
184ZacheryColleen
185RussellCandace
186AndresCristina
187CollinDaisy
188PedroDenise
189KristopherTabitha
190DannyClaudia
191RickyNichole
192LawrenceLinda
193LouisKiara
194CalvinBritney
195CesarKylie
196TerryCarolyn
197ColbyAshleigh
198MarcoCandice
199DevanteMeredith
200JimmyMayra
201JulioBridget
202PrestonEvelyn
203ElijahKasey
204LanceKassandra
205AlbertLydia
206MalcolmTeresa
207MichealAriana
208RafaelCiara
209RaulGabriella
210RodneySusan
211ClintonJasmin
212IsaiahSophia
213MarcEbony
214RogerAmelia
215JaimeRenee
216ToddKelli
217WalterEllen
218ArthurTori
219NoahDiamond
220JoeMarisa
221BobbyCarrie
222ErickWendy
223JacksonTamara
224EmmanuelJustine
225AlbertoHeidi
226DevonteTheresa
227DarrenChelsie
228GerardoCarmen
229SebastianAllyson
230BillyStacey
231RossJanet
232TerranceStacy
233ArmandoHilary
234ReginaldCassie
235RandallRosa
236JayTessa
237WillieTiara
238BradyKarla
239TrentonCarissa
240JonMarie
241MicahJacquelyn
242JamalRaquel
243DonovanClarissa
244GeraldJenny
245MarvinFaith
246MauriceMartha
247NolanCara
248HaydenKelsie
249JamieBarbara
250RamonGloria
251BrandenAsia
252AndyAubrey
253KodyNaomi
254AbrahamSummer
255LeeJazmin
256ParkerJessie
257TrentVirginia
258SkylerMelinda
259EddieCamille
260TheodoreAbby
261BryantKellie
262DamianJanelle
263MarcosRobin
264RileyCierra
265DesmondIsabel
266GavinJazmine
267NickolasTanya
268ArturoNina
269TreyTatiana
270TerrenceMiriam
271EnriqueMaggie
272CristianAlissa
273JessieDevin
274AlfredoRuby
275FrederickCecilia
276LandonCarla
277DeandreMarina
278ZackaryTracy
279JohnathonAdrienne
280KalebChristian
281DemetriusTyler
282HarrisonZoe
283MilesArielle
284DamonAngelina
285JosueDaniela
286RoyTia
287MorganCharlotte
288ShaunMichaela
289TyroneAdrianna
290ConorHanna
291BruceMckenzie
292SalvadorCallie
293DarrellGuadalupe
294WayneKatlyn
295MarquisAnn
296ConnerSasha
297IsraelElise
298JeromeSharon
299DallasKatelynn
300GiovanniDeborah
301DiegoDevon
302SteveEsther
303TommyPamela
304MarshallKristi
305ZachariahCarolina
306BrockShawna
307GustavoVivian
308DamienMelody
309RonnieKarissa
310TerrellHope
311FranklinNikki
312GeoffreyTina
313ErnestoAngelique
314ByronAimee
315DeanToni
316ForrestKristine
317DominickShayla
318FrancisRose
319KelvinCortney
320NelsonBrittani
321DarrylLeticia
322KendallJeanette
323NeilRuth
324JosiahKristy
325MelvinKate
326ZackeryHelen
327LeonardKari
328ReneMichele
329ChanceMia
330DenzelSonia
331AlexisRegina
332PabloBrianne
333LorenzoTasha
334AngeloBria
335GageTrisha
336KarlTiana
337ErnestElena
338EugenePaula
339FabianStefanie
340DaleEva
341EliasElisabeth
342GlennYvette
343StanleyNicolette
344KurtChrista
345TyLiliana
346FelixDakota
347WadeLillian
348SimonRobyn
349JermaineTierra
350EliKendall
351KendrickMisty
352DwayneAnastasia
353QuintonAnnie
354TyrellAshton
355HaroldCassidy
356OrlandoBrenna
357CarsonChristy
358WarrenMarlene
359OliverRandi
360DanteLorena
361GuillermoKatharine
362KeenanChasity
363BrendonSylvia
364QuentinKelley
365EmanuelKyla
366HarryNatalia
367BrennanRachelle
368WyattAlma
369AlvinMaya
370AbelTaryn
371TristanAshlyn
372WestonAlice
373ZaneFrancesca
374RomanLarissa
375SaulGenesis
376StefanJaime
377JalenDonna
378GilbertJordyn
379HugoKylee
380SheldonEricka
381IsmaelYvonne
382LeonardoMarilyn
383RodolfoMarisol
384JarrodTania
385AllanCeleste
386EmilioAlana
387RudyTanisha
388LeonFrances
389EstebanValeria
390MylesIndia
391AshtonShayna
392BeauJohanna
393CorbinChanel
394RayCorinne
395MalikJane
396ClintArianna
397DevanJill
398KameronKierra
399ElliottAlyson
400SamLori
401GrahamSheila
402JoeyKiana
403AlfredEsmeralda
404ElliotKali
405JordonChantel
406CotyMeaghan
407CedricKayleigh
408HarleySimone
409ChandlerCarley
410DaneCiera
411MackenzieJoy
412BradenCarol
413LewisDawn
414FelipeDiane
415CliffordMaribel
416RashadTayler
417KellyElaine
418BernardShaina
419DarnellBlanca
420AlfonsoShaniqua
421DonteSadie
422TylorYolanda
423GilbertoShana
424MoisesLacy
425DrakeNadia
426ShaquilleJosephine
427StuartMaritza
428TreKaila
429ClarenceKira
430KirkIrene
431RoderickRoxanne
432WilsonLatoya
433BrendenMacy
434NoelIesha
435RogelioKaleigh
436StephanAlaina
437KennyKelsi
438BlaineKyra
439JarredCristal
440SterlingLogan
441RalphJuliana
442GarretPrecious
443TuckerBreana
444DeshawnKourtney
445LamarRochelle
446AntoineSuzanne
447JarrettTiffani
448KristianIris
449DavonBonnie
450QuinnJulianne
451CarterKaitlynn
452CharlieNoelle
453JuliusStephany
454KeeganAnita
455ReidLyndsey
456RamiroTonya
457LukasElisa
458EarlSavanna
459BarryKiera
460KurtisShauna
461AveryLatasha
462BradSandy
463SkylarMargarita
464LeoParis
465ShannonTess
466BretKailey
467HowardJudith
468RodrigoMadeleine
469DemarcusClara
470KoryKaley
471ChrisLily
472ArielMariela
473ShelbyNora
474DexterCarina
475MarlonBryanna
476OwenAntoinette
477AliDesirae
478NikolasLucy
479TyreeMoriah
480CarltonShelbi
481JakobKristie
482TerenceAlysha
483ClayDaniella
484TomasDorothy
485JaronSophie
486DerickBreanne
487KylerIsabella
488DarylLeanna
489CourtneyBeatriz
490JarvisPaola
491DavonteSerena
492JaysonJalisa
493JamarMaranda
494LeroyTalia
495DwightSally
496MauricioCasandra
497NathanaelKerri
498AdanJanae
499JavonMollie
500RolandoCharity
501KaseyEmilee
502DimitriAlanna
503GordonLatisha
504NormanKacie
505QuincyAshlie
506AlonzoCharlene
507FredrickLena
508NealAlexandrea
509RaheemKathy
510BrysonKenya
511ChazKeri
512IsiahShanna
513DavisAlisa
514MarkusJanice
515TrevonBeth
516NigelKeisha
517SantiagoNorma
518SidneyChristie
519PerryKaty
520HumbertoKelsea
521EfrainGenevieve
522KeatonAlexia
523DeonteAraceli
524DorianBlair
525FreddyHarley
526GlenStacie
527DeonShelbie
528DionSofia
529KentRocio
530ReedShirley
531KoreyBeverly
532TysonJodi
533JeanCheryl
534DeangeloTammy
535RolandJacklyn
536BenShantel
537NoeStaci
538CliftonMariana
539DillionJoyce
540LonnieKerry
541BrentonChandler
542CorneliusJuanita
543IrvinAvery
544HeathViviana
545MikeAbbey
546CooperJena
547DarianSusana
548KareemAnnette
549MarquiseBrittni
550JaceImani
551LamontPaulina
552LloydBrooklyn
553DillanDestinee
554ShayneEdith
555AronRiley
556FrankieLeigh
557SalvatoreHaylee
558MarcelKarly
559BabyKirstie
560MiltonLizbeth
561GriffinAllie
562AkeemBridgette
563DuaneRosemary
564RickeyMakayla
565InfantSkylar
566DarrinMikayla
567KristoferMindy
568VernonCayla
569DevontaKiersten
570LeonelLeanne
571ColtenAisha
572MosesKarli
573FredConnie
574VicenteKatarina
575RickMadelyn
576AlvaroPerla
577ArnoldTianna
578RaphaelLoren
579AhmadEileen
580DamionKirstin
581KadeemCorina
582JamelLucia
583QuintinPeyton
584BriceJulianna
585JaquanEleanor
586DashawnHaleigh
587HerbertNoemi
588MohammadRita
589UrielMckenna
590DarriusAshly
591TracyEmilie
592CortezMaureen
593LiamSonya
594EverettGeorgia
595SawyerKaylyn
596RobinTracey
597LaneOctavia
598NestorHallie
599RigobertoStevie
600CullenBrandie
601DarinDarlene
602DonTabatha
603PierreMakenzie
604DevenRyan
605DaquanCarlie
606ReynaldoKaylie
607TobySelena
608KerryKarlee
609MitchelLaurel
610AntwanBritany
611MaximilianBrittanie
612BrodyYasmin
613IgnacioMara
614NicoSilvia
615GuyCelina
616DarienAlexus
617NathanialAlex
618AgustinSidney
619FreddieArlene
620GraysonJosie
621WinstonSheena
622BoGianna
623ClarkJackie
624ConradJustina
625ParisSelina
626RoryYadira
627DanaFatima
628BradfordJaimie
629SammyDevan
630GerardDeidre
631JoaquinLuz
632JohnnieLea
633AidanJami
634AddisonKatelin
635JimmieDebra
636EzekielDemi
637GinoKala
638PaytonLesley
639AustenAlina
640BrandynJennie
641DonnieKristyn
642DuncanLara
643DylonMaegan
644JovanPatrice
645LorenMandy
646SolomonDallas
647IrvingShelly
648BraxtonDulce
649ColemanIvette
650WillNikita
651AmirSade
652BlairAngie
653IssacAntonia
654JamisonConstance
655GeneCelia
656OsvaldoTricia
657ThaddeusJana
658BrandanJudy
659GarthLacie
660KhalilTraci
661GuadalupeEliza
662DewayneKacey
663StephonShanae
664GermanAlysia
665LadariusHollie
666JasperRacheal
667ArronKori
668LesterNathalie
669TravonElyse
670ReubenChristen
671BennettJoanne
672BrooksJenifer
673VanceJessika
674DominqueKrysta
675RicoYasmine
676RyneRhiannon
677AdolfoChelsi
678MohammedKaylin
679StewartClare
680MyronAurora
681CodeyLizette
682DandreMaricela
683JamaalGretchen
684JavonteGwendolyn
685EstevanJanette
686TateAlycia
687ElmerCheyanne
688JerrodJayme
689NickSkyler
690RashawnMarisela
691ColtMaura
692EdgardoBrook
693HoldenJesse
694JonahCori
695AntonGladys
696LelandKasandra
697JeffEden
698TreverCameron
699HermanKristian
700ReeceKiley
701JackieLakeisha
702LeslieAdrian
703ZechariahPayton
704DonavanDarian
705ChadwickNia
706KolbyTerri
707BradlyDelaney
708DevontaeIngrid
709OctavioJanie
710JeffersonSherry
711AubreyRebeca
712CodieAudra
713JairoCarli
714ZakaryYessenia
715DanCarlee
716ToryDomonique
717HeribertoJada
718RexKatlin
719JamesonChantal
720AricKarlie
721JaleelBetty
722BennyEstefania
723DonnellSkye
724AhmedElisha
725ChesterBaby
726PierceHali
727AntwonElissa
728JacobyMelina
729CyrusDianna
730ErichJanessa
731HakeemChristin
732ClydeMaira
733GonzaloJanine
734MohamedAnjelica
735ErvinBelinda
736RoyceBreann
737WalkerChristiana
738JabariKaci
739BenitoKeely
740FloydDeja
741KirbyIvy
742CecilBeatrice
743JamilLynn
744JimReyna
745SageShakira
746GunnarInfant
747HoustonTerra
748LionelLiana
749DarionMarcella
750ElvisLorraine
751DeionAlecia
752RockyDayna
753SantosHalie
754SonnyLauryn
755JarodThalia
756JessyJulissa
757LyleRoxana
758RhettKalyn
759TedNadine
760UlisesDevyn
761VaughnMyra
762BronsonTiera
763PeytonAllyssa
764WendellBobbie
765EllisShea
766MalcomElaina
767CristopherFabiola
768ScottyLaurie
769AltonMicah
770BryonRhonda
771JerrellAli
772RakeemDanica
773KeonMariel
774DemarcoAshely
775JoshMelisa
776MartezShelley
777BrennenBrianda
778DemetriChantelle
779JadeLyndsay
780JuniorCharmaine
781MadisonLucero
782DemarioAlesha
783IsaiasAyla
784MalachiAbbie
785SheaKathrine
786WilfredoKrystle
787EzequielHeaven
788RandolphMichael
789JamarcusTamika
790KeganCorey
791AmosTiffanie
792BraydenHailee
793EzraJaleesa
794GregRikki
795ShermanAileen
796ErinMicaela
797KellenSarai
798ReeseKarley
799HansMikaela
800RaymundoJoan
801CruzLatifah
802DavanteStormy
803EmmettAthena
804HernanBrielle
805KelseyJerrica
806AshleyShanika
807DyllanAlessandra
808GradyCora
809HarveyDina
810GarryDominque
811MarquezJanay
812MisaelMarlena
813MosheKia
814AugustLeann
815DontaeJaqueline
816RustyTyesha
817SilasAshlynn
818CamronChina
819EddyDeidra
820ForestIliana
821JosefNoel
822JusticeAdrianne
823TraeBerenice
824BernardoEboni
825DionteJodie
826EfrenLisette
827CadeJuana
828GregorioKaela
829AlonsoFelisha
830HughOlga
831SpenserBobbi
832DenzellLynette
833MickeyAva
834TitusGriselda
835TobiasIrma
836AldoKortney
837KaiBetsy
838KoltonGiselle
839DeontaIsabelle
840FidelBernadette
841DaronMarjorie
842TalonAsha
843UnknownFallon
844AntonyKallie
845AriLourdes
846AsaMacey
847DavinPorsha
848LincolnSantana
849TyronWhitley
850MikelAnais
851OtisGabriel
852AndersonAlayna
853DavionKimberley
854DondreAnissa
855KelbyEllie
856CodiShanequa
857HassanAubree
858RobbieLana
859RandalChrystal
860TaylerAmie
861TomKristal
862UlyssesSymone
863CaleTatyana
864RasheedAlysa
865StevieAshli
866GalenBrittaney
867JeraldElsa
868MorrisKimberlee
869StacyLeandra
870CadenPrincess
871JulienShawnee
872WestleyJoann
873DarioLora
874DequanMarquita
875JessBrea
876SheltonEssence
877TimmyBritni
878CamdenCassondra
879CobyChelsy
880EdmundLaci
881RodrickShante
882AlexandroBrittny
883DakotahDoris
884DustyIvana
885BarrettLeeann
886ChanningPauline
887ClaudeTrista
888KevenDemetria
889NikkoJanel
890NikoBillie
891AugustusDaphne
892GarrisonElla
893MontelJoselyn
894StormRegan
895JacquesCatalina
896JodyDara
897WallaceDanyelle
898BillGraciela
899KevonIvonne
900DeanteKaterina
901DomoniqueMarlee
902ElishaMartina
903BroderickMyranda
904DerikEunice
905JonasJanell
906LutherKailee
907MuhammadMonika
908AxelJeannette
909EarnestKassie
910EliseoMadalyn
911JevonMarian
912RonSusanna
913WaylonValencia
914CarloJoelle
915KentonLatrice
916AndreasEliana
917CordellEmerald
918DavontaStefani
919DereckKalie
920GarrickKandice
921MarquesMagdalena
922ChaimAyana
923DomingoJamila
924ElvinKatheryn
925IsidroMariam
926JerodRubi
927JustenAlexander
928NajeeJean
929TariqNataly
930TavonAyanna
931DalvinNakia
932GarettBreonna
933JustynDarcy
934MarionEmilia
935TyrelGeneva
936TyshawnJerica
937BrantShaniece
938DejuanCecelia
939KalenChynna
940MontrellDanika
941RoccoFlor
942StetsonKaylynn
943BrittonLaken
944DarrelSalina
945GiancarloAnnmarie
946JarrellKandace
947KwameKrystina
948PrinceNikole
949LaquanScarlett
950DeshaunCarson
951IraDanae
952PeteGeorgina
953RemingtonShanelle
954TeddyKati
955TraceKinsey
956DarwinLizeth
957JerelMai
958MartyAja
959MaximillianChaya
960RooseveltJanna
961CareyKenia
962JuwanAnika
963LazaroCody
964TyquanDestini
965WillisJessenia
966AsherJessi
967CaryChandra
968CedrickDelia
969DeronGillian
970DontaKelcie
971KieranLeila
972LaurenceKayley
973SamirBree
974VanDamaris
975VinceGiovanna
976DaveMaryann
977DejonMaxine
978ErwinAndria
979LaronChanelle
980AbdulDora
981JeredKaycee
982QuintenPhoebe
983AlphonsoSonja
984DaytonIsamar
985MarceloLexus
986StaceyLiza
987AlexandreMarcela
988ArmandCatrina
989BaileyChastity
990BrannonCoral
991CassidyCorrine
992DenverKasie
993EmersonBecky
994RudolphKenisha
995TheronSelene
996ArnulfoBlake
997ColterMalia
998CoyBryana
999DomenicLuisa
1000DonavonMarla
Note: Rank 1 is the most popular, +rank 2 is the next most popular, and so forth. +

+
+ + + + +
 Link to FirstGov.gov: U.S. Government portal + Privacy Policy  + | Website Policies + & Other Important Information  + | Site Map
+ diff --git a/google-python-exercises/babynames/baby1994.html b/google-python-exercises/babynames/baby1994.html new file mode 100644 index 00000000..6e2a29a1 --- /dev/null +++ b/google-python-exercises/babynames/baby1994.html @@ -0,0 +1,1064 @@ +Popular Baby Names + + + + + + + + + + + + + + + + + + +
+ Social Security Online + + Popular Baby Names +
+ Popular Baby Names + SSA logo: link to Social Security home page +

Popular Names by Birth Year

September 12, 2007
+ +
+ Background information +


+   Select another ?
+

+   + + +  
+
+

Popularity in 1994

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RankMale nameFemale name
1MichaelJessica
2ChristopherAshley
3MatthewEmily
4JoshuaSamantha
5TylerSarah
6BrandonTaylor
7JacobBrittany
8DanielAmanda
9NicholasElizabeth
10AndrewMegan
11JosephNicole
12ZacharyKayla
13DavidRachel
14JamesLauren
15JohnStephanie
16RyanHannah
17AustinJennifer
18AnthonyAlexis
19WilliamVictoria
20JustinDanielle
21RobertAmber
22AlexanderCourtney
23JonathanJasmine
24KyleRebecca
25CodyMorgan
26KevinAlyssa
27ThomasBrianna
28AaronAlexandra
29JordanKelsey
30EricKatherine
31BenjaminMelissa
32DylanKimberly
33SamuelMichelle
34StevenAllison
35ChristianTiffany
36JoseHaley
37BrianMary
38AdamChelsea
39TimothyChristina
40NathanShelby
41RichardAnna
42PatrickAbigail
43CharlesSara
44SeanHeather
45JesseErin
46JasonLaura
47JeremyMaria
48MarkKaitlyn
49StephenAndrea
50AlexOlivia
51JuanJordan
52CameronMadison
53TravisMarissa
54TaylorBrooke
55JeffreyKristen
56DustinNatalie
57TrevorErica
58LuisKatelyn
59ConnorVanessa
60CalebShannon
61DevinMiranda
62EvanKelly
63JaredPaige
64PaulJacqueline
65KennethCrystal
66BryanCassandra
67HunterGabrielle
68GabrielBriana
69DakotaLindsey
70LoganKatie
71MitchellSierra
72CarlosAlexandria
73CoreyJulia
74IanMariah
75MarcusSydney
76GregoryEmma
77DerekAmy
78NathanielCaitlin
79ScottKathryn
80JesusJenna
81BlakeAngela
82GarrettSavannah
83BradleyAlicia
84EdwardBreanna
85DaltonCatherine
86ShawnDestiny
87PeterJamie
88AntonioMonica
89EthanBrittney
90SethErika
91LukeWhitney
92ShaneMadeline
93VictorKaitlin
94MiguelCaroline
95LucasAlexa
96TannerMolly
97SpencerSabrina
98AdrianDiana
99ErikCheyenne
100VincentMeghan
101DillonLeah
102CoryMackenzie
103IsaacGrace
104AngelChristine
105JakeCynthia
106AlejandroMargaret
107BrettLindsay
108JoelAngelica
109AlecMichaela
110GeorgeBianca
111ColeVeronica
112JorgeHolly
113EduardoKristina
114ChaseGabriela
115RaymondKristin
116CaseyBethany
117DevonAutumn
118WesleyCasey
119RicardoHailey
120FranciscoMelanie
121ColtonBrenda
122TroyBrandi
123OscarLisa
124ColinRachael
125MasonDesiree
126KeithKendra
127JackApril
128DominicKaren
129BrendanJulie
130ChadKathleen
131PhillipLeslie
132DonaldDominique
133ElijahNatasha
134JohnathanKara
135MartinPatricia
136DerrickHayley
137RonaldBailey
138CristianCarly
139XavierCassidy
140JulianKarina
141FrankSummer
142MarioTori
143ManuelAna
144AlanAriel
145OmarNancy
146HenryTara
147EdgarAlejandra
148AndreMarisa
149ClaytonClaire
150BryceCaitlyn
151GrantAdriana
152CollinRebekah
153JavierAlison
154JonathonKaylee
155DariusChloe
156DouglasRaven
157LeviJocelyn
158JeremiahKylie
159NoahValerie
160SergioGabriella
161HectorJade
162RobertoAudrey
163AndresKatrina
164NicolasKrystal
165JohnnyDeanna
166JacksonAriana
167GaryDana
168PhilipMikayla
169IsaiahMeagan
170CurtisDiamond
171DrewSandra
172IvanKassandra
173BradyJasmin
174FernandoBridget
175EdwinMonique
176HaydenAngel
177DennisDaisy
178CesarChelsey
179AllenKendall
180ZacheryAshlee
181RubenFelicia
182MaxwellKrista
183JalenJoanna
184MarcoKhadijah
185ErickSophia
186RandyYesenia
187MathewMallory
188BrentLydia
189TonyMercedes
190PedroJazmin
191MaxJillian
192PrestonMckenzie
193JerryKirsten
194RileyGina
195CalvinJazmine
196LarryPriscilla
197WyattCindy
198CraigMakayla
199RaulClaudia
200ColbyAlisha
201DarrenEvelyn
202RafaelAaliyah
203JefferyKiara
204CarlAnne
205RickyCierra
206LouisAshleigh
207TevinColleen
208JaimeCiara
209AlbertLacey
210JimmyAllyson
211KristopherTabitha
212TreyDenise
213MarcAbby
214SkylerBrandy
215DamianGuadalupe
216ChanceZoe
217ForrestEllen
218HarrisonFaith
219KalebMarina
220JulioCristina
221AlbertoLinda
222DallasIsabella
223SebastianNichole
224TrentonJaclyn
225ConnerKarla
226ArmandoAmelia
227AlexisJessie
228GageRosa
229EmmanuelMayra
230GerardoMeredith
231DannyCarolyn
232ZackaryMaggie
233MichealHope
234RussellAsia
235ShaquilleNaomi
236LawrenceClarissa
237DiegoHanna
238ParkerDaniela
239DominiqueCarmen
240JamalJustine
241TerryTessa
242AbrahamTatiana
243JoeIsabel
244RodneyWendy
245JonahKatlyn
246MicahTamara
247KodyMaya
248ArthurKasey
249LandonKiana
250DeandreAlexus
251WalterRaquel
252ToddBria
253MarcosAubrey
254BobbyCandace
255BillyTeresa
256GavinAshlyn
257LanceTiara
258AndyKelsie
259NolanCeleste
260AveryAlissa
261DonovanTheresa
262JayKatelynn
263NickolasBritney
264RogerKelli
265EnriqueNina
266JosueTyler
267RandallRenee
268TrentJacquelyn
269RamonCarolina
270BrandenGenesis
271JonRuby
272MorganCara
273ArturoSusan
274AlfredoHeidi
275TerranceCarrie
276JessieJordyn
277MalcolmMiriam
278DamienBrenna
279DevonteJanet
280MarvinEbony
281GustavoJenny
282MarquisArianna
283IsraelGloria
284GeraldToni
285JamieAshton
286MilesCecilia
287GiovanniCamille
288KendallTiana
289JohnathonEsther
290EddieCharlotte
291WillieCandice
292TheodoreMartha
293DamonMadeleine
294MauriceVirginia
295ReginaldAimee
296LorenzoTia
297LeeElena
298JosiahSavanna
299FrederickVivian
300SalvadorSelena
301DemetriusMarie
302DominickAngelina
303BryantImani
304ConorCarissa
305EliCassie
306ZackeryDakota
307RoyAdrianna
308MalikAlexia
309DevanteLogan
310QuintonLillian
311RossRuth
312MarshallDarian
313TyroneJanelle
314DeanMikaela
315CarsonSharon
316TommyHarley
317ErnestoMia
318EliasBarbara
319TyStacy
320ZachariahHelen
321TerrenceSadie
322DanteNikki
323HarleyKierra
324ShaunAnastasia
325ZaneTayler
326FabianKellie
327PabloHunter
328BrockNicolette
329BrennanStacey
330BruceShayla
331KelvinTierra
332DarrellElise
333WayneRobin
334ReneAlana
335DenzelCarla
336TerrellLiliana
337BrendenShawna
338JeromeAnnie
339DrakeRose
340FrancisValeria
341BradenAnn
342BrendonShanice
343QuentinCallie
344NelsonDevin
345SteveChristian
346MylesKarissa
347AngeloEva
348ChandlerMelinda
349FranklinLorena
350NeilPamela
351TuckerRiley
352MelvinKate
353LaneChelsie
354ClayPaola
355AshtonDeborah
356SimonBrianne
357DarianAdrienne
358GuillermoMelody
359DesmondAliyah
360LiamElisabeth
361RonnieTina
362OrlandoJustice
363TrevonSonia
364WestonLarissa
365DaleFrancesca
366MackenzieKylee
367DevanMarisol
368ByronJane
369LeonardTanya
370OliverChasity
371IsmaelDevon
372DarrylAlyson
373EugeneTania
374DaquanSasha
375KendrickEsmeralda
376LeonardoNatalia
377RomanKenya
378EstebanBreana
379EmilioKira
380EmanuelMacy
381KarlRegina
382GeoffreyAlaina
383DarienDonna
384KeeganMckenna
385StanleyBrooklyn
386WarrenDestinee
387KennyKristine
388RodolfoKali
389SaulLeticia
390ErnestLily
391FelixBryanna
392QuinnJosephine
393GrahamRandi
394KeenanJuliana
395BeauChristy
396StefanTracy
397ClintonKari
398SkylarMeaghan
399AbelPrecious
400CorbinMakenzie
401MoisesKyla
402SterlingPaula
403DavonSkylar
404GriffinSerena
405RayKyra
406KylerIndia
407JarrettMaranda
408DeshawnRachelle
409DwayneSelina
410GlennTaryn
411KurtCarley
412SamFrances
413WadeKaitlynn
414JoeyEmilee
415KameronSophie
416HarryTiffani
417CedricArielle
418HugoCiera
419AlvinAbbey
420FelipeIrene
421CarterShayna
422LeonAlice
423TylorCelina
424DavisCortney
425GilbertoKourtney
426JaquanJoy
427JermaineSylvia
428AllanKristy
429RashadBrittani
430ReidKailey
431JakobPeyton
432AlfonsoDaniella
433JordonAlma
434ElliotClara
435LukasKaila
436DaneCheyanne
437SheldonKayleigh
438CooperJohanna
439HaroldJaime
440AidanTanisha
441RudyJosie
442BraxtonMariana
443KristianKristi
444ReedChandler
445JarredSidney
446GilbertPayton
447MarquiseMaritza
448NoelElaine
449TyrellRobyn
450JavonAllie
451NikolasMichele
452TristanAnissa
453DemarcusCarina
454OwenChrista
455JarvisMadelyn
456ClarenceMarlene
457RamiroKiera
458RogelioJeanette
459ElliottMarilyn
460StephanAngelique
461AliCristal
462LeoNadia
463RolandoNoelle
464StuartJanae
465AlonzoYvette
466JusticeHaylee
467DarnellKatharine
468BrysonMicaela
469SawyerTasha
470TomasTrisha
471QuincyEricka
472BrodyLucy
473DeonTalia
474JarrodNora
475DonteLori
476AlfredBlanca
477CharlieElisa
478NigelHaleigh
479MarlonKatarina
480ArielChantel
481KeatonYvonne
482DeonteKaleigh
483KurtisIris
484ChrisAvery
485NoeDalia
486RoderickSimone
487LewisMargarita
488ClintJada
489RalphSofia
490TreViviana
491RodrigoParis
492JaysonCorinne
493GarretCarol
494BretEdith
495BernardLyndsey
496DamionMaribel
497BarryDesirae
498MitchelMoriah
499DerickKelley
500NathanaelStefanie
501TysonShaina
502BlaineGianna
503PaytonSusana
504ShannonAlanna
505AustenTianna
506KoryCasandra
507CliffordJudith
508MarkusLaurel
509SidneyMisty
510JuliusStephany
511SantiagoKadijah
512DuncanEmilie
513KellyItzel
514GraysonSandy
515BradDelaney
516EfrainCharity
517RaheemKaley
518EarlKelsi
519KirkPerla
520MauricioIvy
521MaximilianKiersten
522DequanTess
523HowardBridgette
524VicenteKennedy
525BabyLizbeth
526DarionAlexandrea
527LamarDallas
528DashawnYolanda
529HeathHallie
530KhalilBonnie
531DorianChanel
532StephonJill
533WilsonKassidy
534WalkerKaylin
535AhmadYasmin
536PerryKaylyn
537HumbertoJulianna
538ShelbyKathy
539AdanMollie
540DwightDiane
541IsiahNorma
542TyreeAlisa
543DionNia
544JaylenRochelle
545KareemLena
546PeytonJulianne
547CarltonAraceli
548DexterIsabelle
549DarylRocio
550AntoineAnita
551OsvaldoDorothy
552GordonLeanna
553TerenceBreanne
554AddisonBeatriz
555GunnarPaulina
556JaronCarlie
557MosesGenevieve
558ColtenLacy
559KaseyKarli
560UrielSuzanne
561AlvaroAlina
562LeroyJanice
563ChazSheila
564JuwanAlysha
565KoreyHalie
566AmirHillary
567CourtneyKelsea
568JaceKeri
569JamarAntoinette
570ShayneCharlene
571RolandKaylie
572NormanFatima
573SalvatoreRosemary
574BriceCayla
575GlenKatelin
576LonnieKarly
577BrentonSally
578LeonelShana
579AntonAshlie
580DarriusJacklyn
581DeionAlex
582DavonteCorina
583FredrickDawn
584MohammadEleanor
585FreddyZhane
586AdolfoRhiannon
587TravonMaegan
588BraydenNoemi
589IssacDulce
590TobyAshlynn
591DarrinSkyler
592CadeLexus
593ColemanEliza
594DimitriShirley
595SolomonKarlie
596DevenLea
597QuintinLucia
598JamelShelbi
599KentConnie
600CullenRoxanne
601DillanSade
602AgustinTonya
603FrankieJoyce
604HoldenJuanita
605CotySavanah
606KristoferMara
607ReynaldoNathalie
608JeanBeverly
609JoaquinEileen
610ConradKasandra
611DevontaMckayla
612NealRegan
613LloydGiselle
614MohammedRikki
615BenKarlee
616EzekielElaina
617MikeKeisha
618NathanialRyan
619EverettHeaven
620LamontYadira
621GuadalupeJesse
622AronShantel
623MiltonClare
624CortezReyna
625DandreAisha
626RigobertoKacie
627TracyAbbie
628KaneKalyn
629CorneliusShanna
630JadenKaty
631NestorBobbie
632HoustonCameron
633MalachiLoren
634ClarkKerri
635VernonBrook
636CliftonDarlene
637RickHailee
638ArnoldKori
639HakeemGeorgia
640IgnacioThalia
641MarcelKerry
642AhmedRebeca
643IrvinAnnette
644TateAngie
645BrooksYasmine
646DustyLuz
647DarinLucero
648DuaneBlair
649GerardLatisha
650DeangeloMontana
651RaphaelShauna
652FredMariela
653JaleelAlayna
654RickeyCora
655ColtTammy
656ForestLeanne
657ReeceTyra
658GermanJena
659TreverTabatha
660WillCarli
661ShaquanKatlin
662BennettSilvia
663BradfordBrittni
664LadariusJodi
665WinstonClarisa
666BrennenDarby
667GinoIesha
668JairoJustina
669JamisonAurora
670MohamedRita
671BernardoAntonia
672EzequielStacie
673HerbertKala
674JimmieAli
675KerryBeth
676RaymundoDemi
677ReubenChristie
678MadisonAyanna
679DonJanessa
680BrandynChristen
681EstevanSkye
682KieranBobbi
683AubreyCheryl
684KeonDebra
685RobinSonya
686HeribertoKiley
687JamesonStevie
688KadeMaureen
689ZechariahMyranda
690ThaddeusElla
691JovanTatyana
692AntwanCori
693JeffersonDenisha
694DillionJaqueline
695EzraOctavia
696AkeemCelia
697PierceEden
698RoryMadalyn
699CodeyLauryn
700DarrionBaby
701LorenJennie
702SammyHalle
703DylonKarley
704FreddieReagan
705ParisArlene
706UlisesMaura
707HassanBrandie
708ArronAspen
709CordellDevan
710JohnnieKristian
711JonasFabiola
712KadenJayme
713KolbyLatasha
714KaiMelina
715BrandanChristiana
716JeffDomonique
717MosheGwendolyn
718RashawnJenifer
719VaughnRacheal
720IrvingDestiney
721KhalidGladys
722DavionLara
723GeneLeigh
724SantosLesley
725CruzMicah
726JavonteCarlee
727LeslieHelena
728DakotahShea
729GonzaloMikala
730JasperAshly
731CadenJanie
732KoltonJoanne
733DonavanJoselyn
734StewartSarai
735JamarcusShyanne
736NicoKristyn
737PierreShelly
738GuyYazmin
739SageBreonna
740LesterBrionna
741ZakaryGretchen
742GradyKacey
743JackieShakira
744JamilDaphne
745DanaDestini
746DonnellBrittanie
747DonnieKrysta
748SheaYessenia
749RoyceAudra
750AugustAva
751DaytonAyana
752InfantDayana
753IsaiasHali
754JerrodHollie
755KeanuElyse
756NickMandy
757BenitoBetty
758BoDianna
759CamronMindy
760JadeLizette
761JaylonIngrid
762MyronKenia
763HermanKristie
764BradlyMaddison
765CyrusShelbie
766DarrianBrielle
767ErichEmerald
768BaileyKendal
769JabariKortney
770KevenAllyssa
771RhettBerenice
772CodieKirstin
773GarrisonJuana
774JarodJackie
775LincolnMaricela
776DeondreDanica
777ElvisEssence
778MontanaKianna
779ReeseDayna
780TobiasJalisa
781VanceJanette
782FloydMagdalena
783OctavioRoxana
784DevynGabriel
785GregorioJaimie
786JuniorJana
787FidelLynn
788ElmerSalina
789QuintenTrinity
790AlexandroAlesha
791AricJessika
792DaultonKaela
793ElishaLiana
794JosefShaniqua
795SavonJoelle
796AdonisTerri
797DewayneDevyn
798AsaSage
799DanStaci
800RicoAddison
801JamaalEllie
802BronsonGraciela
803CamdenTerra
804RockyBryana
805DarioMacey
806TraceKaterina
807AriStormy
808CristopherTricia
809JimZana
810TaylerAileen
811ErinLacie
812JoshAthena
813ToryAyla
814AndersonBelinda
815HughElissa
816JessyKailyn
817ShyheimPatrice
818StetsonPhoebe
819TyronCeline
820AustynElisha
821DeshaunJulissa
822DondreKailee
823JacobyAlysia
824RexDeja
825KelseyNadine
826EmmettSherry
827JustynTraci
828KadeemJudy
829LelandMaira
830MarkellJessi
831EfrenNataly
832MarquezMyra
833MenachemOlga
834TedAdrian
835UnknownAlycia
836CecilConstance
837KellenKalie
838MarkelBillie
839MisaelCatalina
840RasheedMarlena
841AltonMartina
842BlairBritany
843HarveyChristin
844JustusGriselda
845EllisLexi
846LionelMarisela
847MaximillianIvette
848AbramKaycee
849AmosKayley
850DallinScarlett
851EdgardoKaci
852JaydenAlessandra
853KhariBrea
854DawsonBreann
855DenverCecelia
856JevonJazmyn
857TyquanIrma
858RustyJami
859TrayvonKia
860NikoAustin
861SonnyTracey
862AlonsoAlysa
863DavinAsha
864HernanChantal
865MuhammadKeely
866AugustusElsa
867BennyKaylynn
868DaronPauline
869MikelAshanti
870RemingtonCorey
871SilasKenzie
872ValentinBeatrice
873WendellLayla
874AntonyNoel
875ClydeAlecia
876GunnerBridgett
877IbrahimDina
878KelbyKimberlee
879KevonLeandra
880NajeeSarina
881TalonIliana
882GalenJanay
883AsherLatoya
884BarrettMarlee
885JessAja
886JodyAshely
887JordenBailee
888DemetriMelisa
889DevontaeAnjelica
890LyleKatlynn
891AustonKayli
892CobySydnee
893MarquesHana
894OrionHaylie
895ShermanNikole
896AlexandreNohely
897RyneYaritza
898StormEboni
899TurnerLaken
900BryonLorraine
901CainMai
902DionteMarley
903KeganKimberley
904AldoMakenna
905AndreasTiffanie
906IsidroDamaris
907JaylinEmilia
908TitusFiona
909CristobalJamila
910GiancarloPrincess
911RandolphRylee
912DalvinMacie
913EdmundMarcella
914KeltonVanesa
915TraeDylan
916BrantMariam
917BroderickNikita
918CarloMaxine
919ChadwickAlena
920JerrellChaya
921KennedyJasmyn
922ChaimJoana
923DarrienTyesha
924DomenicAubree
925HansCarson
926LayneLyndsay
927RiverSusanna
928ChesterViridiana
929KendalGiovanna
930KentonEunice
931TavonPatience
932CodiKatheryn
933EliseoMonika
934JulienTiarra
935RodrickYasmeen
936UlyssesChantelle
937AlekKristal
938DestinLourdes
939KoleCydney
940MartyJoann
941OtisMattie
942TyrinRicki
943DarwinAleah
944JustenAmie
945SheltonGeneva
946KirbyLexie
947RandalMariel
948TariqDominque
949RyderTanesha
950DakodaChina
951DemarcoDenisse
952JacquesLeilani
953AxelLissette
954GregRhonda
955TyshawnShyann
956WilfredoDanyelle
957AshleyDrew
958CaleJerrica
959DemontePaloma
960MikalValentina
961SyedJanine
962SylvesterLaurie
963EliezerLeann
964SamsonLizeth
965ErvinBlake
966MaleKinsey
967NicklausKirstie
968PeteLeeann
969ShayMichael
970WaylonPorsha
971WestleyAndria
972DarrickJanell
973GarryLana
974DejuanMalia
975GenaroReina
976MaverickValencia
977MorrisCaitlynn
978SamirElyssa
979SchuylerJanel
980ArmaniJodie
981DemarioKathrine
982DeseanTatum
983EddyTiera
984GarettAdilene
985KahlilAnnamarie
986SpenserDarcy
987BrytonJean
988DontaeJessenia
989JeraldLondon
990JonatanBetsy
991LazaroDanika
992LutherIsis
993NikkoMari
994AbdulMarjorie
995BrannonEliana
996FrancescoFallon
997MickeyKallie
998DominqueLidia
999KenyonLynette
1000BlaiseMeranda
Note: Rank 1 is the most popular, +rank 2 is the next most popular, and so forth. +

+
+ + + + +
 Link to FirstGov.gov: U.S. Government portal + Privacy Policy  + | Website Policies + & Other Important Information  + | Site Map
+ diff --git a/google-python-exercises/babynames/baby1996.html b/google-python-exercises/babynames/baby1996.html new file mode 100644 index 00000000..86f8ae1e --- /dev/null +++ b/google-python-exercises/babynames/baby1996.html @@ -0,0 +1,1064 @@ +Popular Baby Names + + + + + + + + + + + + + + + + + + +
+ Social Security Online + + Popular Baby Names +
+ Popular Baby Names + SSA logo: link to Social Security home page +

Popular Names by Birth Year

September 12, 2007
+ +
+ Background information +


+   Select another ?
+

+   + + +  
+
+

Popularity in 1996

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RankMale nameFemale name
1MichaelEmily
2MatthewJessica
3JacobAshley
4ChristopherSarah
5JoshuaSamantha
6NicholasTaylor
7TylerHannah
8BrandonAlexis
9AustinRachel
10AndrewElizabeth
11DanielKayla
12JosephMegan
13DavidAmanda
14ZacharyBrittany
15JohnMadison
16RyanLauren
17JamesBrianna
18WilliamVictoria
19AnthonyJennifer
20JustinStephanie
21JonathanCourtney
22AlexanderNicole
23RobertAlyssa
24ChristianRebecca
25KyleMorgan
26KevinAlexandra
27JordanAmber
28ThomasJasmine
29BenjaminDanielle
30SamuelHaley
31CodyKatherine
32JoseAbigail
33DylanAnna
34AaronOlivia
35EricShelby
36BrianKelsey
37NathanMaria
38StevenAllison
39AdamSydney
40TimothyKaitlyn
41JasonKimberly
42LoganMelissa
43CharlesSavannah
44PatrickMary
45RichardBrooke
46SeanNatalie
47HunterMichelle
48CalebJulia
49CameronJordan
50NoahSara
51JesseErin
52JuanTiffany
53ConnorEmma
54AlexGabrielle
55MarkChelsea
56JeremyDestiny
57LuisChristina
58DakotaSabrina
59DevinMarissa
60StephenVanessa
61GabrielAndrea
62EthanSierra
63TrevorMariah
64JaredKatelyn
65EvanPaige
66BryanLaura
67CarlosMadeline
68TristanJacqueline
69NathanielCheyenne
70IanKristen
71IsaiahHeather
72JeffreyBriana
73TravisKelly
74JesusBreanna
75LukeMackenzie
76ChaseAlexandria
77KennethMiranda
78DustinCaroline
79PaulErica
80AntonioShannon
81ElijahMonica
82TaylorKatie
83BradleyJenna
84BlakeCaitlin
85GarrettBailey
86IsaacLindsey
87MarcusKathryn
88MitchellAmy
89JackCassandra
90TannerAngela
91MiguelAlicia
92AdrianCrystal
93LucasHailey
94CoreyCatherine
95EdwardGrace
96PeterJamie
97MalikAngelica
98GregoryLeah
99DaltonMolly
100VictorAlexa
101DerekCynthia
102AngelMichaela
103SethKaitlin
104MasonAutumn
105ColtonMargaret
106ColeErika
107AlejandroDiana
108ScottKarina
109SpencerCassidy
110BrettKaylee
111ShawnKylie
112ShaneChloe
113JorgeMeghan
114JakeVeronica
115CollinBrittney
116VincentClaire
117AlecBethany
118GeorgeLeslie
119GrantMelanie
120BryceHayley
121DillonCasey
122ErikDominique
123EduardoBianca
124JoelCarly
125OscarDaisy
126ColinSophia
127DevonJocelyn
128RicardoRachael
129JulianMakayla
130CristianHolly
131BrendanGabriela
132FranciscoBrenda
133RaymondLindsay
134WyattKaren
135DominicChristine
136JacksonKendra
137WesleySummer
138JohnathanCaitlyn
139HenryGabriella
140OmarWhitney
141XavierAna
142CaseySelena
143CoryMikayla
144AlanDesiree
145ManuelJade
146RileyRebekah
147MarioKristin
148EdgarKristina
149ClaytonFaith
150PhillipJulie
151NicolasKathleen
152MartinIsabella
153JavierAdriana
154ChanceValerie
155TroyZoe
156RonaldAriana
157ChandlerAlondra
158DonaldMckenzie
159KeithPatricia
160ChadAlejandra
161AndresBrandi
162FrankAngel
163DrewAriel
164JeremiahAudrey
165LeviKara
166IvanAlison
167SergioTara
168HaydenLisa
169DerrickMarisa
170CesarNatasha
171JonathonShania
172AndreNancy
173HectorClaudia
174MarcoDana
175RobertoLydia
176BradyKirsten
177MaxwellApril
178FernandoAlexus
179ParkerDiamond
180AlexisMia
181DouglasSandra
182DariusDeja
183CalvinMallory
184LiamRaven
185PhilipTori
186KalebHope
187TrentonCierra
188ErickEvelyn
189PrestonJasmin
190RubenKiana
191CurtisKatrina
192GavinBridget
193JohnnyMeagan
194JerryYesenia
195SebastianCindy
196EdwinMonique
197JonahIsabel
198PedroKendall
199ConnerJillian
200BaileyAsia
201GageMaya
202GaryAshlee
203DennisKassandra
204MathewKarla
205GerardoCiara
206RandyHanna
207RaulKennedy
208MaxAbby
209HarrisonJoanna
210MicahDeanna
211EmmanuelKiara
212AllenMercedes
213JulioNaomi
214DamianArianna
215RafaelBrandy
216LandonJazmin
217SkylerKrystal
218DiegoGuadalupe
219LarryAnne
220ZacheryTatiana
221JalenKrista
222ArmandoAmelia
223JimmyKatelynn
224MarcosChelsey
225ColbyJada
226BrentTessa
227AbrahamAshlyn
228EnriqueJazmine
229TonyMckenna
230JaimeDenise
231AlbertTabitha
232MarcAllyson
233DallasCarolyn
234LouisMarisol
235AndyGina
236AlbertoKatlyn
237GiovanniMeredith
238TreyAshleigh
239KristopherImani
240JosiahAlisha
241ZackaryNina
242TyAlana
243CarterCeleste
244MorganClarissa
245DannyEllen
246DonovanCristina
247CraigBrenna
248RickyRiley
249TristenTiara
250CarlSavanna
251AveryLillian
252TrentKasey
253DarrenDaniela
254JosueJordyn
255JefferyPeyton
256LawrenceMaggie
257NolanLogan
258AidanAubrey
259TerryJustine
260RussellLily
261LanePriscilla
262MichealKyra
263NickolasMadeleine
264IsraelDelaney
265ArturoFelicia
266RodneyAlexia
267JoeAlissa
268LanceMarina
269DeandreCecilia
270KodyTeresa
271RossTia
272WalterColleen
273AlfredoDakota
274LorenzoLacey
275CarsonCarolina
276ArthurShayla
277BradenAdrianna
278OwenSadie
279DamonRaquel
280RamonMikaela
281GriffinKylee
282JamalGenesis
283DanteKelsie
284QuentinPayton
285RogerJenny
286BillyBrooklyn
287JayTamara
288BrandenKyla
289BobbyMiriam
290DominickHeidi
291ZaneRosa
292EliasAnnie
293BrendenVirginia
294TheodoreLinda
295MarquisRuby
296GustavoJessie
297BrennanWendy
298ToddRenee
299BrockSusan
300JessieCamille
301JohnathonElena
302QuintonCharlotte
303SalvadorJaclyn
304SaulTiana
305DrakeElise
306TommyMakenzie
307MarvinCheyanne
308BryantGloria
309EliSerena
310MarshallAngelina
311KylerJacquelyn
312DeanDestinee
313DamienHelen
314MalcolmVivian
315JonAshton
316ZackeryMayra
317MilesTheresa
318ConorCallie
319EddieCarrie
320JusticeEsther
321RandallCarmen
322GeraldMadelyn
323ReginaldMartha
324MauriceJustice
325FrederickCara
326TuckerSharon
327AshtonAnastasia
328FabianSkylar
329WillieSophie
330KeeganValeria
331PabloBaylee
332QuinnKali
333AngeloTyler
334ErnestoJulianna
335IsmaelAaliyah
336PeytonSidney
337EmilioNatalia
338DemetriusJanet
339EstebanJuliana
340TerranceJosie
341TristonPamela
342SimonToni
343LeeLiliana
344KameronKate
345DominiqueMarie
346RoyEbony
347ZachariahLorena
348KhalilEva
349BrendonKelli
350FranklinEmilee
351BrysonRuth
352EmanuelKierra
353GuillermoFrancesca
354JamieHunter
355TyroneNichole
356DevonteNadia
357DevanteTatyana
358KelvinHaylee
359KendallEsmeralda
360TrevonCarla
361TerrellSofia
362CooperCandace
363RomanBryanna
364BruceTierra
365IsiahKaitlynn
366MylesMacy
367OrlandoElisabeth
368ReneHarley
369SteveKailey
370ClayIsabelle
371ShaunJosephine
372JarrettKira
373SkylarCarissa
374TristinChristian
375DesmondRobin
376TerrenceCarley
377NelsonPaola
378RodrigoPrecious
379WestonRose
380FelixSasha
381JakobBreana
382LukasBritney
383DarrellTayler
384KristianAlaina
385OliverNikki
386FrancisJanelle
387AbelKellie
388BraydenHaleigh
389DangeloBria
390HarleyAimee
391RonnieAliyah
392WayneTaryn
393JeromeDevin
394NikolasIndia
395BrodyAntonia
396KeenanAlyson
397BraxtonAnn
398WadeBrianne
399CedricMelody
400MelvinClara
401GraysonGianna
402LeonardoBarbara
403MoisesCassie
404GrahamDevon
405NeilIvy
406PaytonLucy
407KendrickJane
408KennyLarissa
409DavisSonia
410ByronDeborah
411DeionKayleigh
412DaleNoelle
413TyrellMariana
414ChrisRegina
415RodolfoCandice
416LeonardMarilyn
417JavonCarina
418MarquiseIrene
419CorbinArielle
420DarianStacy
421DevanTyra
422ReedKarissa
423AustenNicolette
424AliKiersten
425BeauKenya
426StanleyTania
427JermaineKaila
428WarrenYasmine
429KeatonKourtney
430SamAlice
431DarrylLesley
432HugoShayna
433JordonJohanna
434TevinDaniella
435DaneKassidy
436DonteJoy
437NoelStacey
438ErnestAllie
439TomasAdrienne
440HaroldTiffani
441DaquanTina
442AlfonsoElisa
443ReidSimone
444DuncanYasmin
445TysonTanya
446WalkerReagan
447FelipeNia
448KarlAlma
449JaquanLexus
450EugeneMicaela
451AlvinNora
452RamiroAbbey
453DeshawnMckayla
454JaysonPaula
455GlennAngelique
456HarryTalia
457KurtSylvia
458LeonLeticia
459DwayneChasity
460GilbertoChristy
461JoeyFrances
462SterlingAlanna
463ArielCristal
464DavonKari
465GilbertEliza
466JaceMelinda
467TylorCiera
468JarredShawna
469MackenzieSkyler
470MarlonElaine
471RogelioTianna
472DenzelMaritza
473NathanaelKelsi
474TyreeChelsie
475SheldonEmilie
476CharlieMarlene
477ElliotRobyn
478RudyHailee
479GarretBailee
480StefanKaley
481AllanJaime
482LeoKaleigh
483RaekwonKaylin
484RayViviana
485NoeChandler
486DamionAvery
487QuincyCharity
488MauricioMoriah
489JuwanRegan
490DeangeloThalia
491DeonteCarlie
492ForrestEleanor
493CadeKaylie
494LewisKristy
495JaylenPerla
496AlfredKiera
497MaximilianTamia
498OsvaldoDarian
499BradHallie
500ColtenKristine
501ElliottRandi
502RashadMaribel
503GeoffreyYvette
504RalphChrista
505MalachiJanae
506BlaineChantel
507DarnellShaina
508SantiagoJudith
509AlonzoCortney
510JuliusShyanne
511DemarcusMargarita
512AdanPaulina
513DeonAshlynn
514MohammadGenevieve
515UrielJocelyne
516ClintonTracy
517DorianCameron
518CullenKeely
519JadenBlanca
520AhmadIris
521EzekielJeanette
522IssacMeaghan
523RolandoLizbeth
524NigelDesirae
525SawyerLeanna
526WilsonClare
527EfrainHalie
528ClarenceKathy
529SidneyYvonne
530KadenMaddison
531JarrodMakenna
532StephanMadalyn
533MosesStephany
534MikeRachelle
535RoderickCayla
536AmirDallas
537DandreJulianne
538SolomonBrittani
539CliffordParis
540DevenEricka
541KurtisKatharine
542QuintinPhoebe
543HumbertoDarby
544AddisonEssence
545BretAlexandrea
546StephonKatelin
547ColemanAddison
548DarienLyric
549GordonMoesha
550TobyMaranda
551KellyMollie
552BarryFatima
553GunnarJayla
554KadeDonna
555KoltonTanisha
556EzraKaylyn
557KoryRosemary
558AntoineSusana
559KaseyAlina
560DionChanel
561EzequielAlisa
562LeonelLena
563DerickSavanah
564StuartAisha
565BennettCarol
566BernardKacie
567HoldenTess
568MitchelLea
569FreddyEdith
570JonasLexi
571EarlBreanne
572AhmedCasandra
573BrentonSandy
574DashawnKristi
575AronKiley
576AlvaroLucia
577ShannonBridgette
578RolandShantel
579VicenteMichele
580BenJaqueline
581SageSkye
582MohammedAnita
583PerryGeorgia
584PierceDiane
585DexterMara
586FredrickHeaven
587TateCorinne
588MarkusNoemi
589HowardSarai
590ShelbyBonnie
591JoaquinTristan
592TristianEstefania
593JarvisLyndsey
594KirkReyna
595CordellAraceli
596KareemKarly
597AnferneeBeatriz
598LeroyNathalie
599KaiRyan
600BriceElla
601ChazJacklyn
602SalvatoreStefanie
603JaylonGillian
604KoreyRylee
605LamarSheila
606JaydenYolanda
607ShayneHalle
608IrvinFiona
609DarylSelina
610RhettEllie
611ClintLaurel
612IsaiasMontana
613AgustinEileen
614DevynKarli
615MohamedBrielle
616CarltonDestiney
617DarionKarlee
618EverettKatarina
619KeanuKarlie
620MiltonMisty
621TravonKianna
622WillCarli
623DaytonSally
624KieranGiselle
625RaheemKailee
626MarcelKeisha
627FrankieAlysha
628NathanialMicah
629AustynAspen
630TreCelina
631GuadalupeAlayna
632RiverAurora
633CadenEmely
634MosheLexie
635HoustonElaina
636DwightAlex
637BabyShauna
638MadisonDorothy
639NealEden
640JaronKelley
641ClarkYadira
642HeathAbbie
643UlisesAngie
644AdolfoAntoinette
645OctavioDemi
646DarriusHelena
647GermanShakira
648NormanLori
649GlenJill
650HudsonKaela
651KentJoyce
652FredKelsea
653ReeceShana
654RigobertoShirley
655BrennenJanice
656RaphaelKatlin
657CourtneyZoey
658KaneDestini
659IgnacioAyanna
660JasperLauryn
661ShaquilleSage
662BrooksCelia
663JamarTasha
664JaylinShelbie
665JustusBlair
666WinstonSuzanne
667JamelAnnika
668TerenceTrisha
669ColtNorma
670VernonLesly
671DarrinRoxanne
672LonnieTrinity
673ConradRocio
674KolbyCarlee
675CorneliusCora
676QuintenAli
677ReynaldoKasandra
678RoryAshlie
679DavonteLuz
680HakeemOdalys
681ArnoldRochelle
682DequanDulce
683JeanFabiola
684CamdenShelbi
685EstevanJoselyn
686DarinShanice
687DavionDalia
688DillanAthena
689NestorYessenia
690MarquesJuanita
691ZechariahAshanti
692DuaneKerri
693JeffersonHillary
694DonBrook
695CliftonChristiana
696JairoKeri
697ElishaLoren
698MateoDaisha
699StoneMaura
700TracyJanessa
701BrandanItzel
702DevontaKirstin
703MarquezRita
704LadariusAileen
705KeshawnJena
706RaymundoArlene
707TreverYamilex
708LayneAleah
709AugustBreann
710JamesonKacey
711LamontAnissa
712SantosKaelyn
713AldoRhiannon
714KeonSarina
715CruzKailyn
716JamisonRebeca
717KristoferAnnette
718TalonSilvia
719DontaeMariela
720AntonKori
721JarodGretchen
722ThaddeusJesse
723ElmerTristen
724RickKerry
725BernardoMaegan
726RickeySonya
727BradfordZaria
728LloydCharlene
729ReubenEsperanza
730AntwanMikala
731CobyAllyssa
732CortezDrew
733CyrusJustina
734JuniorMelina
735KahlilMiracle
736ReeseShanna
737HassanShea
738ArmaniTamera
739KellenAva
740SilasBrionna
741JimmieKarley
742AubreySydnee
743IbrahimCecelia
744JaleelDarlene
745HerbertMacey
746ParisAlysia
747TobiasMireya
748TraceAlize
749JohnnieGwendolyn
750InfantJodi
751CristopherSade
752GarrisonBerenice
753GinoBobbie
754JulienMyranda
755BenitoAlycia
756FreddieAshly
757BrandynIesha
758DarrionKristian
759DawsonXena
760DustyAbbigail
761GerardCorina
762HeribertoLucero
763DonavanMacie
764JovanDania
765AlonsoDasia
766DimitriGladys
767GuyLacy
768HughAshli
769BoBrooklynn
770MisaelGraciela
771RashawnKaty
772ArronKatia
773JavonteBreonna
774MuhammadCeline
775AntonyKalyn
776AsherShyann
777MontanaLara
778TavonLizette
779DallinElissa
780EllisMalia
781ElvisNataly
782KeyshawnBeverly
783ZakaryJackie
784CotyJulissa
785JackieYasmeen
786CamronAlessandra
787OrionJayme
788CodeyUnique
789EfrenJoanne
790GonzaloKaci
791AriMandy
792JustynDawn
793SammyChristen
794DestinKayli
795TrystanKhadijah
796HermanBryana
797KerryKristyn
798TyronLeanne
799KeltonAlena
800RasheedConnie
801BennyMonika
802DeondreIngrid
803DeshaunKayley
804DonnieDevyn
805KevonPatience
806RoyceRoxana
807TariqDevan
808AndersonDaija
809RobinCheryl
810DylonKaylynn
811GreysonAnika
812GunnerCarson
813HernanMindy
814JamarcusMagdalena
815JerrodHollie
816UlyssesScarlett
817DillionSienna
818FidelMaricela
819LeslieAyana
820TyquanDianna
821AricMariam
822BroderickAja
823JosefMaia
824AidenChantal
825JabariJuliet
826AlexandroKenzie
827BraedenJennie
828DanAmani
829KhalidJenifer
830AdonisDaja
831GradyKortney
832MaximillianNoel
833StewartChynna
834TurnerDaphne
835DakotahBobbi
836JadeRacheal
837NickBeth
838GeneHaylie
839KennedyAlysa
840MikelOctavia
841BradlyVanesa
842EastonBrandie
843BrayanConstance
844LesterEmerald
845MaverickJudy
846AsaMyra
847BronsonAyla
848DonnellMaureen
849JoshSydni
850GarettSydnie
851MyronJana
852DravenJoelle
853PierreKala
854RemingtonKalie
855TarikLilly
856ErichMarley
857GregorioStevie
858VanceCatalina
859AxelTatianna
860ChaimJanie
861DanaTrista
862DemarcoElyssa
863EmmettJanette
864MickeyNadine
865ShamarTerri
866TyshawnAlecia
867JacobyCori
868JamilGabriel
869JordenMarianna
870KeionDebra
871KevenElsa
872NicoHali
873DewayneShianne
874JimTammy
875MarceloKia
876SeamusNayeli
877TitusDamaris
878AbramDayna
879RaquanElisha
880RohanEmilia
881JeffMattie
882KoleStacie
883SheaTabatha
884CecilChase
885CarloEliana
886CodieJessika
887JairMartina
888SonnyAmari
889IrvingAnnamarie
890LorenAsha
891RyneHana
892BraydonJuliette
893DavinTonya
894AustonAudra
895DarrianJuana
896JessyKallie
897LincolnSusanna
898TaylerBaby
899IsaiLeigh
900SimeonReina
901NikoDomonique
902AkeemIsis
903DenverChristie
904ErvinMadisen
905LucianoMarisela
906ShemarShelly
907ValentinElyse
908AndreasKatlynn
909BarrettKaycee
910EliseoKinsey
911KillianOdalis
912JessAdrian
913LelandBeatrice
914AldenBrittni
915CaleKendal
916ErinLayla
917GalenStormy
918JonatanAubree
919ReillyBetty
920CedrickJazmyn
921NajeeKenia
922RockyKaylah
923RomelloPrincess
924BrennonAnnabelle
925DejuanChaya
926DomenicCydney
927IshmaelMarlena
928DevontaeKrysta
929KelseySarahi
930ReaganYajaira
931VaughnDina
932DakodaLeilani
933DionteLynn
934JayceAlia
935JudeDenisse
936KentonJalisa
937MarkelJami
938RexMarlee
939EddyHaven
940EdgardoKaterina
941JacquesLiana
942AugustusCinthia
943EliezerTerra
944MenachemViridiana
945RicoJailene
946SpenserJazlyn
947AbdulKyleigh
948AltonTatum
949ArmandValentina
950CristobalAlyssia
951ShaquanAnjelica
952StormBillie
953AlekChyna
954JamaalEstefany
955JustenIvette
956TedSheridan
957BrantAnsley
958CainMadyson
959ClydePaloma
960DarioRikki
961FloydAlesha
962HarveyEboni
963JaylanJaycie
964SyedGiovanna
965NasirJacey
966TrayvonLexis
967AlexandreLacie
968BryonOlga
969FrancescoTracey
970KirbyTyesha
971SheltonBelinda
972LionelYazmin
973RomeoEryn
974AbdullahAstrid
975DalvinCaitlynn
976TeddyDaijah
977BlaiseJasmyn
978EdmundChristin
979JodyInfant
980LazaroJoslyn
981RandolphQuinn
982AmosDejah
983ChadwickFernanda
984DaronMaxine
985DominikJanay
986DyllanPauline
987EmersonYaritza
988SydneyJessi
989WaylonLeeann
990GiancarloMelisa
991KeaganBlake
992KendalChina
993KordellLuisa
994MontelRayna
995PeteAlivia
996RodrickGriselda
997TomKimberley
998BransonLeann
999BrunoJaden
1000DeontaKimberlee
Note: Rank 1 is the most popular, +rank 2 is the next most popular, and so forth. +

+
+ + + + +
 Link to FirstGov.gov: U.S. Government portal + Privacy Policy  + | Website Policies + & Other Important Information  + | Site Map
+ diff --git a/google-python-exercises/babynames/baby1998.html b/google-python-exercises/babynames/baby1998.html new file mode 100644 index 00000000..d5af2c68 --- /dev/null +++ b/google-python-exercises/babynames/baby1998.html @@ -0,0 +1,1064 @@ +Popular Baby Names + + + + + + + + + + + + + + + + + + +
+ Social Security Online + + Popular Baby Names +
+ Popular Baby Names + SSA logo: link to Social Security home page +

Popular Names by Birth Year

September 12, 2007
+ +
+ Background information +


+   Select another ?
+

+   + + +  
+
+

Popularity in 1998

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RankMale nameFemale name
1MichaelEmily
2JacobHannah
3MatthewSamantha
4JoshuaAshley
5ChristopherSarah
6NicholasAlexis
7BrandonTaylor
8TylerJessica
9AndrewMadison
10AustinElizabeth
11JosephAlyssa
12DanielKayla
13DavidMegan
14WilliamLauren
15JohnRachel
16ZacharyVictoria
17RyanBrianna
18JamesAbigail
19AnthonyAmanda
20JustinJennifer
21JonathanOlivia
22AlexanderEmma
23RobertMorgan
24KyleNicole
25DylanBrittany
26ChristianJasmine
27JordanAlexandra
28SamuelSydney
29NoahStephanie
30BenjaminRebecca
31ThomasAnna
32KevinJulia
33JoseKatherine
34NathanDestiny
35CameronHaley
36HunterKaitlyn
37AaronAmber
38EthanAllison
39EricCourtney
40JasonNatalie
41BrianDanielle
42CalebJordan
43CodyMaria
44LoganSavannah
45AdamMary
46StevenBrooke
47ConnorGabrielle
48CharlesSara
49TimothyShelby
50SeanMadeline
51JaredSierra
52JuanVanessa
53LuisGrace
54GabrielKimberly
55RichardMichelle
56AlexKelsey
57PatrickErin
58TrevorKatelyn
59IsaiahMelissa
60NathanielBailey
61JackAndrea
62DevinMariah
63EvanPaige
64MarkMackenzie
65IsaacJenna
66ElijahMarissa
67ChaseTiffany
68JeremySabrina
69CarlosChristina
70JesseHailey
71AdrianMakayla
72DakotaCheyenne
73IanSophia
74BryanCaroline
75LukeLaura
76JesusBreanna
77ColeAutumn
78StephenCaitlin
79AntonioBriana
80GarrettMiranda
81AngelAlexandria
82TannerMikayla
83MasonDiana
84SpencerIsabella
85BlakeCassandra
86KennethKaylee
87SethChloe
88DaltonKatie
89PaulKelly
90MiguelKathryn
91JeffreyClaire
92TristanAlexa
93LucasErica
94BryceChelsea
95AlejandroJacqueline
96MarcusAmy
97VictorLindsey
98TravisAlicia
99BrendanHeather
100JacksonAngela
101BradleyKristen
102JakeCatherine
103MitchellMichaela
104TaylorShannon
105ColtonMonica
106EdwardFaith
107JorgeLeah
108DustinMolly
109GregoryAngelica
110DerekCrystal
111PeterLeslie
112AlecJamie
113ShawnCassidy
114JeremiahMargaret
115CoreyCaitlyn
116GavinGabriella
117ShaneKylie
118JoelIsabel
119DevonJada
120DominicKaitlin
121VincentMeghan
122ColinZoe
123ScottMaya
124JulianErika
125RicardoJade
126GeorgeCynthia
127GrantVeronica
128RileyJocelyn
129OscarGabriela
130CollinMia
131XavierSummer
132NicolasBethany
133BrettAdriana
134DillonEsmeralda
135MaxwellMelanie
136HenryDaisy
137WyattAriana
138FranciscoAngel
139MalikSelena
140ErikCarly
141ParkerAna
142RaymondMckenzie
143JohnathanBrittney
144CristianKarina
145EduardoAudrey
146OmarDominique
147ManuelAriel
148AlexisValerie
149JavierBrenda
150ClaytonCasey
151MarioHayley
152WesleyKaren
153BaileyLydia
154IvanKendra
155LiamRebekah
156KalebBianca
157AndresAlejandra
158MaxJillian
159LeviDesiree
160HaydenHope
161AlanLindsay
162DariusMadelyn
163BradyHolly
164CoryDiamond
165MartinHanna
166FernandoRiley
167EdgarArianna
168CesarJulie
169GageLily
170CaseyRachael
171SergioKathleen
172RobertoSkylar
173ChandlerKiara
174HarrisonLillian
175DawsonKara
176PrestonChristine
177PhillipJasmin
178FrankEvelyn
179OwenClaudia
180DonaldPatricia
181MarcoCierra
182RonaldApril
183TrentonKennedy
184TroyAlexus
185HectorRaven
186DiegoAllyson
187ChadKendall
188DrewAlison
189CarterTara
190JakobAdrianna
191KeithNaomi
192ConnerKristina
193AndreWhitney
194DerrickAbby
195JonathonDaniela
196AidanIsabelle
197EdwinJordyn
198SebastianCameron
199MicahKyra
200PedroBrooklyn
201DanteKirsten
202LandonAshlyn
203CalvinAlondra
204JalenMallory
205RubenNatasha
206ErickAsia
207DamianJazmin
208ChanceNancy
209DonovanKarla
210TreyKatelynn
211AbrahamKristin
212JosiahMckenna
213EmmanuelMarisa
214PhilipDana
215GriffinTatiana
216JohnnyMadeleine
217GerardoAmelia
218CarsonPeyton
219JonahJazmine
220ColbyDelaney
221PeytonSerena
222MathewAaliyah
223AndyGuadalupe
224ArmandoMercedes
225GiovanniTessa
226CurtisKiana
227DouglasPayton
228JerrySandra
229RafaelAlexia
230SkylerLisa
231TrentNina
232RaulSofia
233NolanTori
234GaryKylee
235ZackaryKatrina
236MarcosCindy
237EnriqueBridget
238DennisMya
239AllenJoanna
240JaimePriscilla
241ZacherySavanna
242MarcGiselle
243IsraelAubrey
244RandyDeja
245BrendenDeanna
246AveryAvery
247AlbertoDakota
248LarryKassandra
249BrentMaggie
250BradenAlissa
251JulioCiara
252LouisCeleste
253MilesImani
254CooperAlana
255TonySophie
256JosueBrandi
257LeonardoRuby
258NickolasMonique
259AlbertJulianna
260CarlGenesis
261EliasYesenia
262TyKatlyn
263KobeMeagan
264DominickKyla
265JimmyAnastasia
266KristopherGianna
267KameronAshlee
268ZaneAngelina
269DrakeMakenzie
270DannyNatalia
271MichealSidney
272DamonKate
273QuentinElena
274BrennanAnne
275JarodKira
276TristenSadie
277LawrenceCarmen
278AshtonRosa
279BrockKailey
280DarrenMeredith
281RamonTabitha
282JarrettKrystal
283BraydenCamille
284NikolasBrandy
285DallasCecilia
286JoeShania
287DeandreBrenna
288EliAshleigh
289TheodoreJuliana
290ArthurValeria
291ArturoTiana
292RickyLogan
293JefferyBryanna
294LaneElise
295LorenzoMikaela
296AlfredoSkyler
297MorganRose
298TommyGina
299RussellCarolina
300DamienCallie
301SimonKasey
302AngeloClarissa
303TerryDenise
304MylesHunter
305KeeganCharlotte
306TuckerShayla
307SaulDestinee
308PaytonTeresa
309BrandenCassie
310PabloMiriam
311GustavoTatyana
312BryantAllie
313WalterLinda
314KylerTia
315CraigCristina
316LanceBaylee
317FabianKrista
318BrendonAshton
319RodneyNadia
320TerrellTyra
321BrysonLacey
322CorbinMarina
323BraxtonEsther
324BobbyAnnie
325MarvinRaquel
326JayVivian
327MauriceCarolyn
328JadenTiara
329JonCheyanne
330QuinnGillian
331SalvadorNia
332BillyJulissa
333ConorReagan
334KodyGloria
335CadeAliyah
336ErnestoTamara
337QuintonMacy
338RomanRenee
339EddieWendy
340EmilioMariana
341RossAlisha
342JusticeHeidi
343JohnathonLiliana
344TrevonColleen
345ZackeryEva
346DeanRuth
347RogerJosephine
348IsiahChelsey
349JaylenHelen
350BrodyAva
351IsmaelKelsie
352DesmondHarley
353MarshallEmilee
354WilliePaola
355ReginaldKaitlynn
356OliverTyler
357MarquisCara
358SkylarHaylee
359GraysonHeaven
360JaysonJosie
361FrederickMayra
362EstebanVirginia
363KeatonKayleigh
364EmanuelMarie
365ToddTheresa
366MalcolmCamryn
367KelvinKassidy
368KendallJenny
369GuillermoMckayla
370ShaunJacquelyn
371MoisesJanet
372JamalFrancesca
373ZachariahKierra
374TerranceMartha
375DavisClara
376GeraldJustine
377DemetriusFelicia
378AbelTamia
379JaceJessie
380TristonPrecious
381TysonElisabeth
382RandallSusan
383BruceIvy
384RoyRylee
385JessieMarisol
386DuncanEleanor
387DarianJayla
388FelixPamela
389FranklinCarley
390SteveMelody
391OrlandoJaclyn
392LukasLucy
393AliTalia
394ClayLesley
395JaydenDaniella
396JarrodLarissa
397ReneTatum
398TyroneSharon
399KhalilAlaina
400NelsonCarissa
401AhmadKali
402LeeMadalyn
403JamieAddison
404KristianNoelle
405TyreeKaylie
406ChrisCarla
407GrahamLexi
408NathanaelAbbey
409DevanAlyson
410FrancisJulianne
411RodolfoJanelle
412WestonYasmine
413MalachiElla
414JeromeBailee
415HugoJane
416HoldenAlly
417KendrickToni
418MelvinSonia
419CedricLizbeth
420JavonCarrie
421TristinLauryn
422ByronMakenna
423ReidKaleigh
424WarrenTayler
425JaquanTierra
426JarredEllen
427WalkerNichole
428DeshawnKarissa
429JordonGeorgia
430JermaineHaleigh
431HarleyRegan
432DarrellEbony
433KadenSasha
434LeoArielle
435DamionJustice
436RonnieTaryn
437TraceEllie
438WayneYasmin
439ReedAlice
440DevonteAdrienne
441MaximilianKaylin
442AmirJoy
443MarquiseKiera
444TariqNathalie
445AlvinLorena
446RodrigoTania
447SantiagoAyanna
448WadeAshlynn
449TyrellEliza
450BeauSimone
451GilbertoBritney
452AllanKelli
453EzekielIris
454CharlieChasity
455FelipeParis
456NoelCeline
457TomasEssence
458KeenanKiersten
459TerrenceBreana
460SamMaddison
461CamronDevin
462EugeneMicaela
463NeilBarbara
464CadenKaila
465AlfonsoRhiannon
466ReeceDeborah
467DaleAnn
468ElliotCarlie
469HarryAngelique
470DonteSylvia
471StanleyFrances
472MauricioAnnika
473LeonardElisa
474NoeLeticia
475ArielAimee
476IssacNora
477GarretTianna
478KennyViviana
479DominiqueCandace
480LeonHallie
481DavonJanae
482DaneNikki
483KarlChristian
484RogelioRobyn
485BennettAileen
486ErnestAlma
487JuliusPerla
488MohammadShayna
489JaylonHailee
490RayLesly
491DevenMarilyn
492EzraSkye
493ColtenIrene
494MarlonAlina
495RamiroKacie
496GlennSavanah
497RolandoFatima
498BlaineIndia
499RiverClare
500SolomonKaley
501ElliottLuz
502MohamedJohanna
503SawyerRegina
504TylorAurora
505SterlingDevon
506DorianBrianne
507GilbertAlanna
508MosesCiera
509DarrylLaurel
510DwayneMontana
511GunnarKailee
512TateRobin
513MateoAmari
514HaroldShyanne
515OsvaldoAnahi
516UrielJewel
517DaquanStacy
518SheldonEmilie
519JoeyLexus
520WilsonFiona
521JonasKelsi
522CamdenCristal
523JuwanElaine
524MohammedLexie
525AlonzoZaria
526RudyTrinity
527BriceLena
528ColemanRyan
529KadeCharity
530StefanZoey
531CordellBria
532AustenSienna
533AdanPaulina
534BrennenKenya
535CullenGenevieve
536SidneyCora
537NigelKiley
538AlfredMaia
539DeonteAntonia
540OrionKeely
541EfrainKellie
542QuintinBrooklynn
543KurtDarian
544NathanialJailene
545AidenMoriah
546GeoffreyPaula
547ReeseEricka
548AddisonKatharine
549KaiAthena
550KolbyJudith
551SageMaritza
552RonaldoCarina
553AntoineKamryn
554CyrusEileen
555DarnellKayley
556JaretShawna
557JoaquinMollie
558DaytonCayla
559LewisDestiney
560GianniStacey
561LeonelNoemi
562BenKaylyn
563ClarenceMireya
564KaneMariela
565UlisesEden
566VicenteJaime
567DerickDonna
568AlvaroAlayna
569DavionTina
570RashadHalle
571DevanteSalma
572DarienTess
573DashawnMarlene
574QuincyGraciela
575CobyLeanna
576HumbertoKourtney
577TobyMaribel
578WillMadisyn
579DemarcusAlisa
580IsaiasNicolette
581BradBlanca
582DandreMicah
583EverettMeaghan
584RalphLilly
585TevinMelinda
586HowardEmely
587StephonKatelin
588JaylinChandler
589ClintonMara
590EzequielAspen
591JaronEdith
592KobyKarlee
593TobiasCandice
594AhmedDestini
595KareemAraceli
596DillanKarli
597PierceAngie
598AugustChyna
599JamisonCasandra
600StephanCorinne
601EarlKarlie
602AronTanya
603RomeoAbbie
604AdolfoAisha
605BretJuliet
606KurtisKatarina
607KoltonPhoebe
608RoryMacey
609SalvatoreMargarita
610BarryReyna
611JasperSage
612TyreseAbbigail
613ConradCarlee
614DarionChristy
615DeonDesirae
616BernardSarai
617DevynRosemary
618DexterKathy
619ForrestCelia
620DenzelGracie
621FredrickYvette
622KoryLeann
623DangeloReilly
624PerryThalia
625KieranIsis
626MackenzieSydnee
627RoderickLyndsey
628KaseyMadyson
629BraydonKarly
630MikeLucia
631MarkusMadelynn
632StoneGisselle
633DarriusMiracle
634AgustinJazmyn
635BraedenKristine
636DeangeloLea
637RhettChrista
638IgnacioTaya
639FreddyLyric
640GordonSandy
641MitchelAnnabelle
642IrvinMaranda
643TravonBeatriz
644LeroyDiane
645TreNikita
646JovanCortney
647KeonKacey
648RigobertoMaegan
649ShannonCarli
650GarrisonChelsie
651HeathElaina
652NormanKailyn
653AldoMalia
654MosheKianna
655CliffordRandi
656AustynRylie
657JamarAnita
658ArmaniCarol
659CruzAlivia
660KeshawnKari
661MarcelSheila
662RylanAllyssa
663MarquezCelina
664StuartEstrella
665DionHalie
666GunnerKyleigh
667HudsonTracy
668RaphaelAlexandrea
669DwightAnissa
670EastonBridgette
671TristianJuliette
672AntonShaina
673DimitriRocio
674ElishaTiffani
675QuintenBrook
676BrentonBrielle
677HassanAleah
678RolandHelena
679SilasStephany
680AmariJayda
681FrankieSelina
682LamarChantel
683RaekwonMaura
684EstevanLizette
685SammyJoyce
686AsherDarby
687CarltonSusana
688BrayanJazlyn
689DavonteRachelle
690DonavanYvonne
691JarvisYadira
692JaxonDulce
693DarylSally
694TyrekChanel
695ZionJaqueline
696CliftonCalista
697JordenKasandra
698JamesonMadisen
699KellyJanessa
700ShamarEsperanza
701ZechariahMacie
702CorneliusGwendolyn
703ElvisShea
704KoreyDamaris
705ChazKenzie
706JustynLoren
707TalonRebeca
708GuadalupeEliana
709CourtneyStefanie
710DeclanDorothy
711DylonJanice
712RashawnKarley
713ArnoldAlize
714ShayneElissa
715CristopherJeanette
716MaximillianKatlin
717TreverBonnie
718KirkLori
719JustusMisty
720AntwanNorma
721ReynaldoBrynn
722JeffersonKallie
723KentKayli
724SantosAyana
725HoustonArlene
726MuhammadKaela
727NestorKristy
728RemingtonBrittani
729BrooksChristiana
730SavionJuanita
731BabyAnika
732LamontCarson
733ClarkAmani
734DeondreMichele
735LayneCaitlynn
736AlonsoLeila
737JairoAylin
738RaheemHana
739DarrinLeilani
740GlenMikala
741MisaelDaria
742JarettKaelyn
743KamronShirley
744ReubenShyann
745DallinNataly
746FredGretchen
747MiltonItzel
748KoleMariam
749JamelTea
750UlyssesAnsley
751JuniorDevyn
752MadisonMarley
753JadonAlessandra
754LadariusKori
755TyriqueYolanda
756JosefDallas
757BrandanAntoinette
758ColtGiovanna
759GermanRaegan
760CortezDaphne
761JacobyBerenice
762WinstonElyse
763ElmerJaden
764GuyQuinn
765DonDasia
766NealKaci
767VernonYasmeen
768ZakaryAlena
769DuaneAnnette
770NashKaylynn
771TahjAlex
772DequanFabiola
773HughJenifer
774ParisAlysa
775TerenceJacklyn
776TyriqJoselyn
777BradlyShelbie
778ClintDrew
779JackieErykah
780DarinLeanne
781TracyMakala
782JulienKelley
783AldenSonya
784DenverDejah
785RohanYessenia
786TitusDalia
787DemarcoMyah
788HakeemBreanne
789LonnieReanna
790AdonisTrisha
791BernardoAlysha
792BrandynJesse
793AsaMelina
794AxelPrincess
795GinoAli
796GreysonNayeli
797HerbertLiana
798KellenNadine
799KeyshawnSilvia
800OctavioKalie
801ChaimKatlynn
802DestinTasia
803JordyElyssa
804MaverickLilian
805PierreMadilyn
806JeanCecelia
807DeshaunDawn
808KhalidJill
809MyronBryana
810DeionEmerald
811ThaddeusKalyn
812DonnieKaycee
813JavonteShaylee
814KevenCamila
815KristoferKaylah
816RaymundoMagdalena
817EllisTatianna
818JaleelFelicity
819KevonIreland
820TurnerSarina
821MontanaTamera
822TyreekMyranda
823DontaeStarr
824EfrenKaterina
825GradyLara
826JamariBlair
827AubreyGabriel
828NehemiahHaylie
829NickKaty
830FreddieKristi
831MarquesAshanti
832AntonyDarlene
833BoKinsey
834BradfordScarlett
835DavinValentina
836IbrahimHayden
837AricJoelle
838GerardRoxanne
839LandenShana
840SimeonTammy
841DakotahDemi
842DarrionSerenity
843DillionSkyla
844KordellSuzanne
845MarceloAnya
846TyquanDaija
847EmmettDianna
848HeribertoPatience
849KeltonSydnie
850OmariKeri
851PrinceTristan
852BennyWillow
853IzaiahAsha
854JamarcusAubree
855AlexandroCharlene
856CaleEmilia
857TrystanJana
858JarenTanisha
859KalenJasmyn
860MikelLayla
861RavenShakira
862TavianAdrian
863ArronDelia
864JacquezUnique
865TyronRita
866DewayneAshly
867DominikConnie
868EmersonHillary
869SamirLucero
870VaughnNoel
871AlessandroShauna
872AndersonJacey
873AriRochelle
874BenitoJaida
875BronsonLillie
876GarettOctavia
877JoshDaisha
878SonnyDelilah
879AustonJena
880BrantKendal
881JayceMaeve
882JimmieMarianna
883LincolnSydni
884NasirAlysia
885RickJocelyne
886ShelbyJayden
887AltonSavana
888KyreeIliana
889NicoLourdes
890SeamusOdalis
891TyshawnReina
892FidelJoanne
893LloydKirstin
894DravenAshlie
895TyrikCali
896BrennonIngrid
897AbdullahMarcella
898AndreasShelbi
899BlaiseAbigayle
900GonzaloBaby
901JaylanJaelyn
902JohnnieOdalys
903JordiStevie
904MarkelRhianna
905RickeyShianne
906MarkellStella
907PhoenixViolet
908ReillyKelsea
909BrannonAyla
910DarioJodi
911JerrodSade
912RobinAmerica
913GiancarloLacy
914JacquesMaci
915LionelAmira
916JabariJazmyne
917PaxtonJustina
918JalonMaricela
919RoyceMyra
920RyderCydney
921AlexandreAlycia
922HernanEryn
923MekhiHaven
924AugustusMartina
925ClydeShae
926DevontaArmani
927GregorioVanesa
928KennedyZoie
929ReaganLila
930ShemarMonika
931BransonAlia
932JelaniEve
933MatteoBreonna
934DarrianMattie
935DomenicBeatrice
936GiovannyBeverly
937HansConstance
938HermanHarmony
939JerodCatalina
940JohanHazel
941KerryKatia
942AbramKortney
943HamzaMarlee
944RexMarlena
945InfantCorina
946NajeeElisha
947ChaunceyBrionna
948KeaganLexis
949NathenNautica
950NikoDestany
951DanKameron
952IshmaelAlyssia
953JamilBreann
954NikhilCaleigh
955RicoChase
956TajYazmin
957BrycenAbril
958IsidroDeasia
959LucianoSerina
960VincenzoJessika
961BishopMelisa
962IsaiShanice
963JovaniFernanda
964JovanyHadley
965MiguelangelJanette
966RasheedYajaira
967DejuanKaylan
968JensenLia
969NicklausLizeth
970AbdulChaya
971BroderickJanie
972DeontaeKia
973KeanuStar
974KentonAudra
975LorenIvana
976RahulJayme
977BabyboyKenia
978TarikKerri
979ValentinPaloma
980DarrienRyann
981FloydBobbi
982GenaroLeeann
983KenyonCori
984KeyonDebra
985RockyKaylen
986SyedShantel
987AmosTayla
988ChristionJensen
989FrancescoPresley
990LelandSamara
991StewartAlexys
992TrevinEboni
993BarrettJaycee
994CarloJudy
995JudahKennedi
996KaleJayde
997KillianRaina
998KonnorElsa
999KylanHollie
1000MarianoKeisha
Note: Rank 1 is the most popular, +rank 2 is the next most popular, and so forth. +

+
+ + + + +
 Link to FirstGov.gov: U.S. Government portal + Privacy Policy  + | Website Policies + & Other Important Information  + | Site Map
+ diff --git a/google-python-exercises/babynames/baby2000.html b/google-python-exercises/babynames/baby2000.html new file mode 100644 index 00000000..689ce728 --- /dev/null +++ b/google-python-exercises/babynames/baby2000.html @@ -0,0 +1,1064 @@ +Popular Baby Names + + + + + + + + + + + + + + + + + + +
+ Social Security Online + + Popular Baby Names +
+ Popular Baby Names + SSA logo: link to Social Security home page +

Popular Names by Birth Year

September 12, 2007
+ +
+ Background information +


+   Select another ?
+

+   + + +  
+
+

Popularity in 2000

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RankMale nameFemale name
1JacobEmily
2MichaelHannah
3MatthewMadison
4JoshuaAshley
5ChristopherSarah
6NicholasAlexis
7AndrewSamantha
8JosephJessica
9DanielTaylor
10TylerElizabeth
11WilliamLauren
12BrandonAlyssa
13RyanKayla
14JohnAbigail
15ZacharyBrianna
16DavidOlivia
17AnthonyEmma
18JamesMegan
19JustinGrace
20AlexanderVictoria
21JonathanRachel
22ChristianAnna
23AustinSydney
24DylanDestiny
25EthanMorgan
26BenjaminJennifer
27NoahJasmine
28SamuelHaley
29RobertJulia
30NathanKaitlyn
31CameronNicole
32KevinAmanda
33ThomasKatherine
34JoseNatalie
35HunterHailey
36JordanAlexandra
37KyleSavannah
38CalebChloe
39JasonRebecca
40LoganStephanie
41AaronMaria
42EricSophia
43BrianMackenzie
44GabrielAllison
45AdamIsabella
46JackAmber
47IsaiahMary
48JuanDanielle
49LuisGabrielle
50ConnorJordan
51CharlesBrooke
52ElijahMichelle
53IsaacSierra
54StevenKatelyn
55EvanAndrea
56JaredMadeline
57SeanSara
58TimothyKimberly
59LukeCourtney
60CodyErin
61NathanielBrittany
62AlexVanessa
63SethJacqueline
64MasonJenna
65RichardCaroline
66CarlosFaith
67AngelMakayla
68PatrickBailey
69DevinPaige
70BryanShelby
71ColeMelissa
72JacksonKaylee
73IanChristina
74GarrettTrinity
75TrevorCaitlin
76JesusMariah
77ChaseAutumn
78AdrianMarissa
79MarkAngela
80BlakeBreanna
81SebastianCatherine
82AntonioZoe
83LucasBriana
84JeremyJada
85GavinLaura
86MiguelClaire
87JulianAlexa
88DakotaKelsey
89AlejandroKathryn
90JesseLeslie
91DaltonAlexandria
92BryceSabrina
93TannerIsabel
94KennethMia
95StephenMolly
96JakeLeah
97VictorKatie
98SpencerGabriella
99MarcusCheyenne
100PaulCassandra
101BrendanTiffany
102XavierErica
103JeremiahLindsey
104JeffreyKylie
105TristanCassidy
106JalenDiana
107JorgeAmy
108EdwardMikayla
109RileyAriana
110ColtonMargaret
111WyattKelly
112JoelMiranda
113MaxwellMaya
114AidanMelanie
115TravisAudrey
116ShaneJade
117ColinGabriela
118DominicCaitlyn
119CarsonAngel
120VincentJillian
121DerekAlicia
122OscarJocelyn
123GrantErika
124EduardoLily
125PeterMadelyn
126HenryHeather
127ParkerAdriana
128HaydenArianna
129CollinLillian
130GeorgeKiara
131BradleyRiley
132MitchellCrystal
133DevonMckenzie
134RicardoMeghan
135ShawnSkylar
136TaylorAna
137NicolasBritney
138GregoryAngelica
139FranciscoKennedy
140LiamChelsea
141KalebDaisy
142PrestonKristen
143ErikVeronica
144AlexisIsabelle
145OwenSummer
146OmarHope
147DiegoBrittney
148DustinHayley
149CoreyLydia
150FernandoEvelyn
151ClaytonBethany
152CarterShannon
153IvanMichaela
154JadenKaren
155JavierJamie
156AlecDaniela
157JohnathanAngelina
158ScottKaitlin
159ManuelKarina
160CristianSophie
161AlanSofia
162RaymondDiamond
163BrettPayton
164MaxCynthia
165AndresAlexia
166GageValerie
167MarioMonica
168DawsonPeyton
169DillonCarly
170CesarBianca
171WesleyHanna
172LeviBrenda
173JakobRebekah
174ChandlerAlejandra
175MartinMya
176MalikAvery
177EdgarBrooklyn
178TrentonAshlyn
179SergioLindsay
180NolanAva
181JosiahDesiree
182MarcoAlondra
183PeytonCamryn
184HarrisonAriel
185HectorNaomi
186MicahJordyn
187RobertoKendra
188DrewMckenna
189ErickHolly
190BradyJulie
191ConnerKendall
192JonahKara
193CaseyJasmin
194JaydenSelena
195EmmanuelEsmeralda
196EdwinAmaya
197AndreKylee
198PhillipMaggie
199BraydenMakenzie
200LandonClaudia
201GiovanniCameron
202BaileyKyra
203RonaldKarla
204BradenKathleen
205DamianAbby
206DonovanDelaney
207RubenAmelia
208FrankCasey
209GerardoSerena
210PedroSavanna
211AndyAaliyah
212ChanceGiselle
213AbrahamMallory
214CalvinApril
215TreyAdrianna
216CadeRaven
217DonaldChristine
218DerrickKristina
219PaytonNatalia
220DariusAsia
221EnriqueNina
222KeithValeria
223RaulAubrey
224JaylenLauryn
225TroyKate
226JonathonJazmin
227CoryRachael
228MarcPatricia
229SkylerKatelynn
230RafaelCierra
231GriffinAlison
232TrentMacy
233ColbyNancy
234JohnnyElena
235ChadKyla
236EliKatrina
237ArmandoJazmine
238KobeJoanna
239CadenTara
240CooperGianna
241MarcosJuliana
242EliasFatima
243BrendenAllyson
244IsraelGracie
245AveryGuadalupe
246ZaneSadie
247DanteGenesis
248JosueYesenia
249ZackaryJulianna
250MathewSkyler
251AllenAlexus
252DennisTatiana
253LeonardoElise
254AshtonAlana
255PhilipKirsten
256JulioNadia
257MilesSandra
258DamienDominique
259TyHaylee
260GustavoRuby
261DrakeJayla
262JaimeCindy
263SimonTori
264JerrySidney
265CurtisElla
266KameronTessa
267LanceCarolina
268BrockJaqueline
269BrysonCamille
270AlbertoWhitney
271DominickCarmen
272JimmyVivian
273KadenBridget
274DouglasCeleste
275GaryPriscilla
276BrennanKiana
277ZacheryMakenna
278RandyMadeleine
279LouisAlissa
280LarryNatasha
281NickolasMiriam
282TonyCiara
283KeeganCecilia
284AlbertKassandra
285FabianMercedes
286SaulReagan
287DannyAliyah
288TuckerJosephine
289DamonCharlotte
290MylesRylee
291ArturoShania
292CorbinKira
293DeandreMeredith
294KristopherEva
295RickyDakota
296LaneLisa
297DarrenHallie
298PabloAnne
299JarrettRose
300ZionLiliana
301AlfredoKristin
302MichealKailey
303AngeloMarisa
304CarlDeanna
305OliverImani
306KylerAnnie
307TommyNia
308WalterCarolyn
309DallasAnastasia
310JaceBrenna
311QuinnDana
312TheodoreKassidy
313GraysonShayla
314LorenzoAshlee
315JoeAlaina
316ArthurRosa
317BryantWendy
318BrentLogan
319RamonTabitha
320RussellPaola
321RomanCallie
322MoisesAddison
323LawrenceLucy
324AidenGillian
325QuentinClarissa
326TyreseDestinee
327TristenJosie
328JayDenise
329EmanuelKatlyn
330SalvadorEsther
331TerryBryanna
332MorganMariana
333JefferyEmilee
334EstebanGeorgia
335TysonDeja
336BraxtonKamryn
337BrandenAshleigh
338BrodyCristina
339CraigBaylee
340IsmaelHeaven
341MarvinRaquel
342IsiahMonique
343RodneyTeresa
344MarshallRuth
345MauriceHelen
346ErnestoKrystal
347EmilioCassie
348BrendonKayleigh
349KodyTiana
350EddieMarina
351MalachiHeidi
352AbelIvy
353KeatonAshton
354JonClara
355ShaunMeagan
356SkylarGina
357NikolasLinda
358EzekielGloria
359KendallJacquelyn
360SantiagoEllie
361CamdenJenny
362TrevonRenee
363BobbyLizbeth
364AxelDaniella
365ConorAnahi
366JamalVirginia
367LukasGisselle
368MalcolmKaitlynn
369ZackeryJulissa
370JaysonCheyanne
371JavonLacey
372ReginaldHaleigh
373RogerMarie
374ZachariahEleanor
375DesmondMartha
376FelixKierra
377JohnathonTiara
378DeanTalia
379QuintonMikaela
380AliEliza
381DavisKaylie
382DemetriusHarley
383GeraldMadalyn
384RodrigoHailee
385BillyJaden
386ReeceKasey
387ReneAshlynn
388JusticeBrandi
389KelvinLesly
390LeoElisabeth
391MaximilianViviana
392GuillermoAllie
393KevonCara
394SteveMarisol
395ChrisIndia
396FrederickLitzy
397ClayTatyana
398WestonMelody
399DorianBrandy
400HugoJessie
401OrlandoAlisha
402RoyHunter
403TerranceNoelle
404KaiCarla
405KhalilFrancesca
406GrahamTia
407NoelLayla
408NathanaelKrista
409TerrellZoey
410WillieCarley
411TyroneCarissa
412CamronIris
413MauricioJanet
414AmirKaleigh
415DarianTyler
416JarodTheresa
417NelsonTamara
418KadeYasmine
419ReeseTatum
420GarretSharon
421KristianAlice
422MarquisSusan
423RodolfoYasmin
424DaneTamia
425FelipeAbbey
426ToddAlayna
427ElianKali
428WalkerBailee
429MateoLesley
430JaylonMckayla
431KennyLilly
432BruceAyanna
433RossSerenity
434DamionKarissa
435EzraJane
436FrancisMaddison
437TatePrecious
438ByronJayda
439ReidKelsie
440WarrenPhoebe
441BennettLexi
442RandallHalle
443TristonKiersten
444JermaineKiera
445JaquanFelicity
446HarleyAnnika
447JessieTaryn
448DuncanTyra
449FranklinKaylin
450ReedKiley
451BraedenEllen
452CharlieJaclyn
453HoldenMadisyn
454AhmadRhiannon
455BlaineColleen
456KendrickPamela
457IssacTania
458SawyerJoy
459MelvinCharity
460JaylinFiona
461MosesAlyson
462SamKaila
463SolomonAnnabelle
464CedricEmely
465BeauAlina
466MohammadAngelique
467JordonRegan
468ElliotIrene
469AlvinJohanna
470DarrellJanae
471LeeJanelle
472JarredMadyson
473MohamedJustine
474WadeParis
475DavionChelsey
476TomasSasha
477JaxonPaulina
478UrielMayra
479DevenZaria
480GilbertoSkye
481RogelioBrisa
482RonnieCora
483JuliusEmilie
484AllanFelicia
485BrayanLarissa
486TerrenceTianna
487DeshawnMacie
488JoeyAurora
489AlfonsoSage
490NoeLucia
491AhmedAlma
492TyrellChasity
493TyreeAnn
494DevanNichole
495JeromeJayden
496NeilAlanna
497RamiroDeborah
498PierceMalia
499DavonAngie
500DevonteCarlie
501JamieNora
502AdanKailee
503LeonCarrie
504EugeneElaina
505StanleySylvia
506MarlonSonia
507QuincyGenevieve
508LeonardKenya
509WaynePiper
510WillMarilyn
511AlvaroAmari
512ErnestMacey
513HarryMarlene
514AddisonTayler
515JadonJulianne
516RayBrooklynn
517AlonzoLorena
518RolandoPerla
519KeyshawnElisa
520MohammedKaley
521TristinBarbara
522DonteEden
523LeonelLeilani
524DominiqueMiracle
525WilsonDevin
526JonasAileen
527GilbertChyna
528KieranAthena
529CobyEsperanza
530DangeloAdrienne
531ColtenRegina
532KeenanShyanne
533KobyLuz
534JarrodTierra
535HaroldCristal
536DaleEliana
537ElliottClare
538TobyEve
539DwayneKelli
540OsvaldoSydnee
541CyrusMadelynn
542KolbyBreana
543SageMelina
544ColemanArielle
545DeclanToni
546AdolfoCorinne
547TraceJustice
548BrennenMaia
549ShamarTess
550ArielCiera
551DarrylAbbigail
552EfrainEbony
553OrionMaritza
554KeshawnLexie
555UlisesIsis
556DarienAimee
557RudyLena
558BraydonLeticia
559VicenteSydni
560NasirSarai
561BenHalie
562DaytonAlivia
563JoaquinDestiney
564KarlEdith
565DandreLaurel
566IsaiasCarina
567RylanFernanda
568SterlingAmya
569CullenDestini
570QuintinAspen
571StefanNathalie
572BricePaula
573LewisTanya
574GunnarTina
575HumbertoFrances
576NigelChristian
577AlfredElaine
578AgustinAniya
579AsherRyan
580DaquanEssence
581EastonMollie
582SalvatoreShayna
583JaronSimone
584NathanialKyleigh
585EverettNikki
586RalphAnya
587HudsonReyna
588MarquiseKaylyn
589TobiasNicolette
590GlennSavanah
591AntoineAbbie
592JasperKailyn
593ElvisMontana
594KaneItzel
595SidneyLeila
596EzequielCayla
597AronStacy
598DevynAraceli
599MikeRobin
600SilasDulce
601TylorCandace
602DashawnNoemi
603JaidenAleah
604JayceAlly
605DeonteNayeli
606CristopherMara
607RomeoJewel
608DeonKeely
609FreddyAlisa
610KurtKarlee
611RiverMicaela
612KoltonDesirae
613AugustAntonia
614RoderickBrynn
615DerickLeanna
616ClarenceJaelyn
617JamarJudith
618RohanKatelin
619KareemSienna
620MuhammadCelia
621RaphaelRaegan
622DemarcusYvette
623SheldonJuliet
624MarkusEmilia
625CaydenAnika
626LucaCalista
627TreEileen
628JeanKianna
629JamisonCarlee
630RoryThalia
631BradRylie
632JaylanDaphne
633TitusKacie
634ClintonRosemary
635JevonKarli
636JulienEricka
637EmilianoLyndsey
638AlonsoHana
639LamarHaylie
640CordellJadyn
641GordonMadilyn
642IgnacioMicah
643JettLaila
644KeonBlanca
645BabyKayley
646RashadKatarina
647CruzKellie
648TariqMaribel
649DeangeloSandy
650ArmaniJoselyn
651GeoffreyKaelyn
652MiltonMadisen
653ElishaKathy
654BernardMargarita
655DarionCarson
656DarnellStella
657AsaJuliette
658BretDevon
659IzaiahCamila
660MosheDonna
661JairoBria
662IrvinHelena
663AldoLea
664HowardJazlyn
665StuartJazmyn
666AydenSkyla
667GarrisonChristy
668KellenKatharine
669TravonJoyce
670ZechariahKarlie
671NormanLexus
672ShemarAlessandra
673DillanDelilah
674JuniorMoriah
675RhettSalma
676DarriusCeline
677KamronLizeth
678BarryBeatriz
679JudeBrianne
680RigobertoKourtney
681AmariSydnie
682JovanStacey
683OctavioMariam
684PerryRobyn
685HassanHayden
686JarenJanessa
687KoleKenzie
688LatrellJalyn
689MisaelMeaghan
690RolandSheila
691QuintenAisha
692IbrahimJaida
693JustusEstrella
694GermanShawna
695GonzaloMarley
696ForrestAyana
697MackenzieKarly
698NehemiahMelinda
699AntonDevyn
700ChazNataly
701TalonRosalinda
702MaximillianBrielle
703GuadalupeLaney
704AustenLoren
705BrooksSally
706GreysonLilian
707WinstonLizette
708AntwanRebeca
709ConradTracy
710DionJenifer
711LincolnChandler
712EarlAmerica
713JaydonDiane
714LandenValentina
715GunnerAbigayle
716JeffersonCandice
717BrentonSusana
718StephanAliya
719StoneCasandra
720FredrickHarmony
721KurtisJacey
722LeroyAlena
723ShannonShea
724ShayneAniyah
725KarsonAylin
726StephonCarol
727NestorStephany
728FrankieZoie
729GianniJackeline
730KeaganSavana
731TristianAlia
732ZakaryGwendolyn
733DimitriAlexandrea
734DonavanDamaris
735DravenMarian
736JamesonAnita
737KoryJaime
738DarylJaiden
739EmmettKristine
740CliftonCarli
741CortezViolet
742DestinGretchen
743JamariJanice
744DallinAnnette
745EstevanMariela
746GradyAmani
747DavinDorothy
748SantosBella
749CarltonKaylynn
750MarcelMaura
751MitchelLila
752DylonArmani
753CliffordAnissa
754SyedKelsi
755AdonisAubree
756DexterGreta
757KeyonKaya
758ReynaldoKayli
759DevanteLillie
760KaseyWillow
761SammyAnsley
762ThaddeusLia
763ArnoldCatalina
764ClarkMaci
765JarvisShyann
766GarettAlysa
767NickCelina
768DwightKasandra
769GlenQuinn
770InfantJaquelin
771KeanuHailie
772KentHaven
773KenyonKallie
774DenzelMaegan
775LamontMaeve
776UlyssesRocio
777HoustonYolanda
778LayneCecelia
779AndersonChaya
780DarinGabriel
781JordenMattie
782KaydenNoelia
783KhalidChrista
784AntonyKari
785DeondreKaylah
786EllisNya
787MarquezJeanette
788AriKennedi
789AustynNyah
790BrycenPresley
791CorneliusYadira
792RemingtonReilly
793BraedonShaina
794HamzaElissa
795RyderMarianna
796AbramAlize
797TerenceArlene
798ZaireIzabella
799JamelLyric
800TevinAiyana
801AlexandroAmara
802JordyChristiana
803KellyAllyssa
804PorterDrew
805ReubenRachelle
806TreverAdeline
807DarioJacklyn
808JackieLiana
809KevenCitlalli
810CristobalGiovanna
811GuyJesse
812JosefSelina
813RaymundoBrook
814ColtGraciela
815GiancarloPrincess
816JudahCali
817ParisElyse
818RahulBerenice
819SavionChanel
820DeshaunIliana
821JoshJolie
822KoreyCaitlynn
823GerardAnnalise
824JacobyCortney
825LonnieDarlene
826ReillySarina
827SeamusDasia
828DonLondon
829GiovannyYvonne
830KristoferKarley
831SamirMyah
832DominikShaylee
833FinnAmira
834JamilKristy
835JanRyleigh
836BennyDariana
837CaleJuanita
838IrvingTeagan
839JaxsonKiarra
840KaidenRyann
841NicoYamilet
842RashawnAlexys
843VernonKacey
844AubreyShakira
845GavenSheridan
846SincereDianna
847JabariBaby
848KirkLara
849MarceloIsabela
850MikelReina
851HeathShirley
852KadinJaycee
853MaximusSilvia
854AldenTatianna
855DavonteEryn
856JustynIngrid
857KeltonKeara
858BrandanKalyn
859CourtneyLisette
860CamrenMonserrat
861DewayneRandi
862DarrinReanna
863DuaneAbril
864ElmerIvana
865MaverickLori
866NikhilMaranda
867ChaimParker
868DarrionDarby
869SonnyDarian
870AbdullahJasmyn
871BronsonJaylin
872XzavierKaela
873JovaniKatia
874NathenAyla
875PhoenixBridgette
876ReaganKinsey
877BlazeElyssa
878EfrenHillary
879LucianoYazmin
880TyrekCaleigh
881DeontaeDayana
882FidelNikita
883GaigeRita
884RoyceAsha
885TyshawnChantel
886RonaldoReese
887PrinceStefanie
888RickeyNadine
889AdenSamara
890DeionUnique
891GideonMichele
892NealSonya
893BenitoHazel
894DenverCielo
895LondonMireya
896MatteoPaloma
897BernardoPatience
898RavenAryanna
899SamsonMagdalena
900TurnerAnaya
901CarloDallas
902GinoJoelle
903JohanKaia
904RyleyNorma
905DomenicTaya
906HughArely
907TrystanMisty
908RockyTrisha
909SimeonDeasia
910TrevionElsa
911EmersonAlysha
912HeribertoBryana
913JoanDawn
914MarquesAracely
915TyreekBrionna
916VaughnJoana
917ClintKaterina
918NashAlex
919RaheemHadley
920MarianoMartina
921LadariusMaryam
922LloydBonnie
923MyronJazmyne
924OmariShaniya
925KeshaunAli
926PierreAlycia
927XanderDejah
928EliseoEstefania
929JeffEmmalee
930RickJakayla
931BradlyNyasia
932FreddieAnjali
933MekhiDaisha
934SabastianLilliana
935SheaMyra
936AlessandroAmiya
937AdrienBelen
938IsaiJana
939KavonSaige
940KianAja
941PaxtonScarlett
942RasheedAnnabel
943BlaiseJoanne
944BrodieAliza
945DanAshly
946DonnieCydney
947IsidroDestany
948JaedenGia
949JavionKeira
950JimmieRoxanne
951JohnnieFabiola
952KennedyKaci
953TyriqueAbagail
954AndreasAbigale
955AugustusJaniya
956JalonOdalys
957JamirAria
958ValentinDaija
959LawsonDelia
960FredKameron
961KorbinKaty
962MaximLourdes
963DonavonRaina
964HerbertAshtyn
965JavonteDayna
966AlexzanderEmerald
967BrunoKirstin
968EanMarlee
969RowanNeha
970AlekAntoinette
971BrandynBeatrice
972DemarcoBlair
973KamrenKori
974HernanAnnamarie
975BoBreonna
976GenaroLuisa
977JamarcusYasmeen
978AricYessenia
979BransonBreanne
980BrennonLaisha
981ReyLeann
982BarrettRhianna
983BraidenAmina
984BrantJailyn
985DontaeJayde
986JovanyJill
987KaleKatlynn
988NicklausKaylan
989DillionJena
990KylanIyana
991TreyvonKeeley
992VincenzoKenia
993ZanderKenna
994DayneMaiya
995FrancescoMandy
996IsaakRayna
997LionelAdrian
998DonnellMarlen
999GiovaniMelisa
1000JaleelSky
Note: Rank 1 is the most popular, +rank 2 is the next most popular, and so forth. +

+
+ + + + +
 Link to FirstGov.gov: U.S. Government portal + Privacy Policy  + | Website Policies + & Other Important Information  + | Site Map
+ diff --git a/google-python-exercises/babynames/baby2002.html b/google-python-exercises/babynames/baby2002.html new file mode 100644 index 00000000..315a6fb6 --- /dev/null +++ b/google-python-exercises/babynames/baby2002.html @@ -0,0 +1,1064 @@ +Popular Baby Names + + + + + + + + + + + + + + + + + + +
+ Social Security Online + + Popular Baby Names +
+ Popular Baby Names + SSA logo: link to Social Security home page +

Popular Names by Birth Year

September 12, 2007
+ +
+ Background information +


+   Select another ?
+

+   + + +  
+
+

Popularity in 2002

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RankMale nameFemale name
1JacobEmily
2MichaelMadison
3JoshuaHannah
4MatthewEmma
5EthanAlexis
6AndrewAshley
7JosephAbigail
8ChristopherSarah
9NicholasSamantha
10DanielOlivia
11WilliamElizabeth
12AnthonyAlyssa
13DavidLauren
14TylerIsabella
15AlexanderGrace
16RyanJessica
17JohnBrianna
18JamesTaylor
19ZacharyKayla
20BrandonAnna
21JonathanVictoria
22JustinMegan
23DylanSydney
24ChristianRachel
25SamuelChloe
26AustinJasmine
27BenjaminSophia
28NathanJennifer
29LoganMorgan
30JoseNatalie
31NoahKaitlyn
32GabrielHailey
33KevinJulia
34RobertDestiny
35CalebHaley
36ThomasKatherine
37JordanNicole
38HunterAlexandra
39CameronSavannah
40KyleMaria
41ElijahStephanie
42JasonMackenzie
43JackMia
44AaronAllison
45IsaiahJordan
46LukeAmanda
47ConnorJenna
48IsaacFaith
49AngelMakayla
50JacksonPaige
51BrianMary
52EricBrooke
53MasonKatelyn
54JuanRebecca
55AdamMadeline
56EvanAndrea
57LuisKaylee
58CharlesMichelle
59SeanSara
60AidanZoe
61GavinKylie
62AlexSierra
63NathanielKimberly
64BryanAaliyah
65CarlosAmber
66JesusGabrielle
67IanCaroline
68StevenVanessa
69ColeAlexa
70TimothyTrinity
71CodyDanielle
72SethErin
73AdrianAutumn
74DevinShelby
75LucasAngelina
76BlakeRiley
77RichardGabriella
78JulianJada
79PatrickLily
80SebastianMelissa
81TrevorJacqueline
82ChaseAva
83DominicAngela
84JaredBailey
85AntonioIsabel
86JeremiahJade
87JadenLeah
88MiguelCourtney
89XavierElla
90JesseMaya
91GarrettLeslie
92AlejandroJocelyn
93MarkAriana
94OwenMelanie
95JeremyClaire
96HaydenLillian
97BryceChristina
98DiegoEvelyn
99RileyMarissa
100VictorAudrey
101JaydenCatherine
102JakeBriana
103TristanKatie
104KennethBreanna
105CarsonAlexandria
106MarcusLaura
107CarterMolly
108DakotaKathryn
109JorgeAmy
110SpencerAngel
111TannerIsabelle
112KalebSofia
113LiamDaniela
114StephenArianna
115HenryAshanti
116ColinGabriela
117DaltonDiana
118PaulKelsey
119WyattKelly
120EdwardMadelyn
121OscarAlicia
122VincentLindsey
123JoelCaitlin
124BrendanJillian
125ColbyMikayla
126ParkerCassandra
127GrantCheyenne
128ColtonAlexia
129MaxwellMargaret
130ShaneMariah
131GeorgeCassidy
132JeffreyAvery
133EduardoLizbeth
134PeterAna
135AidenSabrina
136IvanKennedy
137NicolasLydia
138BraydenDaisy
139DerekAmelia
140GageSkylar
141FranciscoTiffany
142LandonAdriana
143RicardoMckenzie
144TravisErica
145CristianMya
146JalenAngelica
147BradyMiranda
148CollinCaitlyn
149BradleySophie
150AlanKaren
151OmarSummer
152ShawnBrooklyn
153CadenGracie
154JosiahCrystal
155PrestonJordyn
156ErikKiara
157JavierValerie
158AndresAshlyn
159FernandoHeather
160DevonHope
161AlexisKylee
162CesarAlondra
163DamianGianna
164ManuelJamie
165MaxAbby
166JonahErika
167LeviKarina
168BradenBianca
169GregoryNaomi
170JohnathanBrittany
171MarioJuliana
172NolanVeronica
173KadenNatalia
174MicahMeghan
175EdgarKarla
176MitchellCynthia
177RaymondMckenna
178ClaytonChelsea
179EdwinBethany
180TrentonMonica
181CoreyDelaney
182ErickPayton
183WesleyJasmin
184EmmanuelShannon
185ScottJulianna
186SergioKristen
187MarcoKyla
188RobertoPeyton
189DustinMaggie
190TaylorNevaeh
191DonovanAlejandra
192MartinHayley
193DawsonKate
194HectorHanna
195CooperAubrey
196ConnerKendall
197EliValeria
198BrettMakenzie
199HarrisonReagan
200AshtonEllie
201DillonRylee
202GiovanniMichaela
203JakobAliyah
204AbrahamCharlotte
205PeytonEsmeralda
206AlecCarly
207CadeDiamond
208AndyRuby
209AndreJazmin
210MalachiJayla
211MalikRebekah
212DamienSadie
213TreyBrenda
214TyDesiree
215JaylenAriel
216FrankNadia
217DrewGiselle
218EliasJulie
219RubenKaitlin
220JosueAddison
221CalvinMacy
222ZaneAdrianna
223SkylerKara
224DominickClaudia
225PedroAlana
226PhillipKyra
227RonaldKendra
228GriffinGenesis
229BrysonJazmine
230LeonardoAlison
231TrentHolly
232RafaelElena
233ChanceNancy
234GerardoAllyson
235DerrickSavanna
236JohnnyBritney
237DariusRaven
238ChandlerElise
239MilesEva
240RaulJoanna
241CaseyMakenna
242SimonJaden
243ArmandoNina
244KobeSerena
245AveryGuadalupe
246AllenFatima
247MarcosSelena
248KeithHaylee
249TroyVivian
250EnriqueCamryn
251IsraelKatelynn
252DonaldCierra
253KeeganMallory
254ZackaryApril
255PaytonLindsay
256JulioCameron
257DanteMariana
258JaimeCindy
259BrendenLiliana
260KameronKathleen
261LanceWendy
262AlbertoLucy
263PhilipNayeli
264BrockJosephine
265GustavoAnastasia
266DrakeAsia
267JimmyCamille
268OliverZoey
269JonathonCecilia
270DannyKassandra
271FabianYesenia
272LouisSkyler
273MathewKristina
274BrennanAshleigh
275CorySandra
276KaiHeaven
277KylerKira
278AngeloKirsten
279BrodyPatricia
280DennisKatrina
281JaceJosie
282MarcAmaya
283TonyKailey
284GaryMiriam
285CamdenPriscilla
286RomanTori
287JerryTatiana
288ArturoBridget
289SaulLayla
290DamonSerenity
291CurtisCarolina
292CorbinMadeleine
293RandyMercedes
294EmanuelTessa
295PabloTara
296TuckerJayden
297LorenzoKiana
298AlbertRachael
299LaneMelody
300TheodoreCasey
301MylesAlissa
302DarrenEsther
303AlfredoChristine
304BryantNatasha
305DouglasCarmen
306LarryClara
307TysonLauryn
308GraysonCeleste
309ChadAlaina
310JaxonPaola
311QuinnIndia
312JoeBryanna
313AxelHalle
314MaximusShayla
315TristenAnnie
316MelvinAlexus
317LukasBrittney
318NickolasImani
319RamonEleanor
320AliNia
321SantiagoDenise
322AydenHeidi
323ErnestoDakota
324ZacheryKayleigh
325BaileySidney
326MaximilianAnne
327ArthurMarisa
328RussellBrenna
329KristopherLogan
330BraxtonAnnabelle
331WalterRose
332JaysonEmilee
333ZionLilly
334JusticeDaniella
335JayCallie
336MoisesCiara
337EstebanDana
338EmilioRuth
339IsmaelKassidy
340LeoHelen
341DallasRosa
342TommyClarissa
343SalvadorCristina
344RickyHarley
345LawrenceKamryn
346MarvinAnnika
347EzekielFiona
348MichealAshlynn
349CamronDeanna
350CarlWhitney
351ReeceJadyn
352QuentinYasmin
353MauricioAshlee
354AbelJenny
355MateoHallie
356BrayanMadalyn
357JaheimMeredith
358IsiahKristin
359NikolasAnahi
360AmirDominique
361BraedenEliza
362JefferyLisa
363BrentPaulina
364JamalElisabeth
365DeandreEden
366JonCarolyn
367KadeTalia
368MarshallSasha
369HugoVirginia
370BrandenLaila
371RodneyAllie
372DeanJulissa
373MorganHailee
374OrlandoTamara
375JaidenKaylie
376CaydenTeresa
377JarrettTiana
378MauriceAshton
379CraigGeorgia
380TerryAlayna
381WestonGloria
382ChrisIris
383SkylarMarina
384EddieAngie
385KolbyAniya
386ReeseCarla
387RogerLinda
388ConorGillian
389JaylinJayda
390KeatonTabitha
391DavisRaquel
392KodyTatum
393RodrigoEmely
394TrevonEliana
395FelixKrystal
396KelvinRegan
397ZachariahGenevieve
398JessieMarisol
399JaylonKaitlynn
400BobbyKiley
401BrendonNoelle
402ShaunJustice
403JuliusLexi
404AhmadIvy
405GuillermoLesly
406JavonBaylee
407WalkerFrancesca
408AldoAlisha
409ZackeryMonique
410GrahamAmerica
411QuintonTania
412HoldenAniyah
413NelsonIzabella
414IssacGina
415JohnathonPerla
416JadonJane
417CharlieKatlyn
418ClayMadisyn
419OsvaldoRenee
420DorianCarissa
421ReneHaleigh
422DemetriusDeja
423KhalilPrecious
424BillyMartha
425DesmondSage
426MalcolmMalia
427ReginaldBella
428FrederickCheyanne
429NasirMarie
430QuincyAlivia
431SilasJessie
432DamionAmari
433HarleyAlina
434BlaineKaleigh
435DavionAurora
436ElliotJaqueline
437WilliePhoebe
438JonasTia
439DeclanKyleigh
440RoyRylie
441EzraItzel
442TerranceLeilani
443SamMadyson
444AdanAlice
445BennettAlyson
446GeraldSkye
447ReidViviana
448JermainePiper
449KennyGisselle
450NoelLeila
451UrielMeagan
452FelipeNyla
453TyreseAinsley
454SteveCamila
455NathanaelMckayla
456TateFernanda
457KristianJanet
458DaneEmilie
459EmilianoJacquelyn
460SolomonKarissa
461KendallYasmine
462TomasBrooklynn
463AlvinReese
464NoeParis
465TristonJohanna
466AdenCora
467BruceTaryn
468WilsonNora
469ToddShania
470CyrusAbbey
471FranklinLacey
472AmariAyanna
473MosesKrista
474TerrellMacie
475RylanSusan
476TobyEllen
477LandenKaylin
478AllanJoy
479RogelioKiersten
480DarianCara
481HudsonKiera
482CedricJanelle
483JasperLiberty
484JaquanAbbigail
485AsherAnya
486ByronTamia
487DuncanAraceli
488TristinCarley
489JeromeDestinee
490StanleyMikaela
491KendrickKasey
492LeonAlanna
493ReedDulce
494AlfonsoKierra
495DaleRyleigh
496JoaquinElisa
497FrancisAngelique
498SawyerBrandy
499DaytonMaddison
500CobyStella
501MarquisLitzy
502KaydenMayra
503MohamedAthena
504RodolfoWillow
505RamiroKaley
506BeauCharity
507TyroneJaiden
508AhmedLorena
509JoeyAnika
510JohanLarissa
511MarlonKailee
512DevenSharon
513ArielTheresa
514RandallTiara
515DevanPamela
516BraydonIrene
517LeeSarai
518RohanSylvia
519TraceMadelynn
520PierceJanae
521HarryAnn
522GilbertoMiracle
523AlonzoRaegan
524LucaTyler
525JaydonLucia
526KaidenBailee
527WarrenBrandi
528JamieElaina
529JudeJaclyn
530RossRyan
531MohammadSonia
532TobiasAbbie
533ZanderMaia
534ElliottKelsie
535OmarionRhiannon
536RolandoShakira
537TyrellJaelyn
538WadeMarlene
539WayneCassie
540EastonAileen
541JayceJoselyn
542LeonelMarilyn
543UlisesEmilia
544MekhiAlma
545XanderLena
546DarrellSimone
547BenColleen
548EugeneJimena
549WillKaya
550AddisonFelicity
551IsaiasKali
552RonnieKaila
553JarodKenya
554KieranMelina
555JordonLexie
556ColemanAspen
557GunnarEve
558TerrenceNataly
559VicenteBarbara
560EzequielDeborah
561ColtenHunter
562LeonardCarlie
563DeshawnLesley
564IzaiahIsis
565RudyMaritza
566AdolfoAimee
567JamariMadilyn
568KoltonChasity
569RomeoDaphne
570GarretTanya
571MohammedEdith
572SavionHailie
573TyreeAdrienne
574NeilMacey
575SageJulianne
576DominiqueGwendolyn
577DominikJustine
578AlvaroArielle
579KobyFelicia
580JaxsonShyanne
581EfrainAlly
582RayBrynn
583BrennenHaylie
584OrionKaia
585JaronReyna
586HaroldLilian
587KeenanZaria
588SterlingJudith
589EverettKailyn
590ErnestZoie
591GilbertNathalie
592DavonJuliette
593HumbertoLuz
594LewisNoemi
595SalvatoreClare
596RashadJaniya
597MikeTianna
598AgustinAnnette
599TitusHelena
600DonteKaylyn
601ElishaSavanah
602JettJuliet
603DarrylValentina
604YahirChelsey
605BriceXimena
606DashawnEsperanza
607JulienThalia
608LincolnMara
609KarlTatyana
610DarienHayden
611KoleViolet
612RiverSkyla
613GradyElle
614DwayneTess
615JamarNyah
616PhoenixBreana
617GlennJolie
618CullenLila
619KadinPaula
620JamesonFrances
621AlonsoHana
622JairoJazlyn
623JairLisbeth
624KareemTeagan
625KeonLaney
626AntoineCristal
627ElvisJaida
628QuintinRegina
629RalphAisha
630DevonteMarley
631JuniorAlisa
632MosheAmya
633CristopherHaven
634DavinLara
635NathanialIsabela
636GunnerRosemary
637RoderickAntonia
638IgnacioAlessandra
639KaneElaine
640CruzKarli
641FreddyKeely
642KeshawnMicah
643AronNya
644JamisonYadira
645IrvinCarlee
646JustusLeticia
647JudahJanessa
648TalonToni
649ShamarKaelyn
650AntonNichole
651JaggerCelia
652NehemiahKaiya
653KamronLillie
654MarkusCarina
655ZechariahAracely
656AlfredCayla
657DerickCorinne
658IbrahimKenzie
659MuhammadMollie
660GarrisonSydnee
661MarquiseHalie
662StefanStacy
663AndersonKarlee
664AugustSienna
665DevynLea
666NigelAnaya
667DaquanEileen
668RhettLana
669KurtTina
670AsaHarmony
671ReynaldoMariam
672HeathStephany
673JoshLaurel
674GordonAmani
675KeyshawnDonna
676SidneyMariela
677DonavanAnsley
678KarsonEbony
679CaidenLeanna
680RaphaelTyra
681KellenKelli
682JarredAyana
683ZakaryJewel
684AlijahMontana
685PorterMelany
686SheldonMonserrat
687HowardTaliyah
688RigobertoAdeline
689LayneJazmyn
690OctavioLizeth
691ClarenceTayler
692DarnellGiovanna
693DeonKathy
694JeanKianna
695MiltonPresley
696MisaelBrisa
697DillanEstefania
698EmmettArely
699JaylanDesirae
700RoryBria
701BrodieChaya
702JabariEstrella
703DemarcusJoyce
704GreysonKarlie
705JeffersonKennedi
706KenyonJenifer
707OmariAubree
708DenzelShayna
709MaximillianDelilah
710GianniMaeve
711AlessandroBrielle
712AriAnnabella
713DarionCiera
714JaedenLia
715AlexandroPenelope
716KeyonTierra
717NicoBlanca
718AmarionYvette
719DandreDestiney
720DravenMyah
721GaelShyann
722KevonIngrid
723KeaganCasandra
724RyderDamaris
725SantosQuinn
726IsaiSheila
727ClintonKatarina
728GavenMaci
729GonzaloAleah
730CamrenAlena
731LamarAnnalise
732JarrodMaribel
733GeoffreyKayley
734BrycenMargarita
735RolandAria
736KoreyShaniya
737BrooksSydni
738TariqCandace
739DallinKasandra
740DangeloNikki
741JahiemAliya
742ShannonCecelia
743CaleGia
744ConradLyric
745FrankieAlize
746ThaddeusAbigayle
747XzavierJanice
748BradKatelin
749BraidenMarianna
750QuintenMicaela
751SemajIyana
752AbdullahYazmin
753WaylonCarrie
754AustynLola
755BabyGreta
756BernardSusana
757StephanFrida
758AlexzanderNicolette
759GermanSalma
760HamzaSandy
761KeltonAmira
762PerryArlene
763RoccoEvelin
764GiancarloDayana
765HassanParker
766JacobyElyse
767RonaldoHazel
768SincereLexus
769TravonStacey
770EmersonDevin
771GuadalupeLiana
772ReaganMattie
773ArmaniChristian
774CaelMakena
775ElmerReilly
776JarenKellie
777JoanCalista
778JovanAnissa
779KhalidCeline
780AntonyKaliyah
781BrunoShaylee
782DarinDestini
783SheaKayli
784GideonMaura
785TristianAiyana
786DarriusKacie
787DimitriKaylynn
788JamelLilliana
789WinstonElissa
790DeonteJaylin
791JavionAmara
792JordenKarly
793MatteoAyla
794BlazeDasia
795EstevanCatalina
796JovaniIliana
797ReubenJoslyn
798TreKendal
799MaverickCarson
800SeamusShea
801BlaiseTaniya
802FinnJacey
803HeribertoBelen
804IsaakLizette
805ClarkRocio
806KeanuScarlett
807MiloFabiola
808DestinAlysa
809JordyJamya
810NormanKatharine
811ChazKenna
812LeroyGretchen
813SonnyRayna
814UlyssesAnnabel
815KorbinAryanna
816DexterJaliyah
817ElianAliza
818RowanAshly
819BraedonCali
820DeangeloChristy
821ReillyElsa
822AustenEricka
823RonanJalyn
824JustynJaycee
825TrevionRaina
826TreytonTracy
827StoneDiane
828AdrienCelina
829DionKenia
830FredrickRobyn
831NickDevon
832SammyEmerson
833BrentonEmmalee
834EarlMiah
835TylorDenisse
836YosefDanna
837KevenJasmyn
838KurtisSavana
839SamirAbigale
840AugustusLondon
841CliffordJaidyn
842LawsonBerenice
843PaxtonMadisen
844VanceBryana
845DarioEssence
846AbramChristiana
847BernardoKaylah
848JakobeRobin
849KennedyVanesa
850NestorKourtney
851DeshaunMakaila
852ForrestMoriah
853JosefAlia
854MarcelCarol
855NathenJaime
856ColtKeyla
857KianChrista
858TavionMeadow
859BarryPrincess
860GavynRianna
861ShayneMireya
862CorneliusRoxana
863DomenicAnita
864HughBrianne
865AdityaGiana
866BennyBeatriz
867AdonisJaylynn
868BretPatience
869CordellTristan
870StuartSelina
871AryanCarli
872JadynDorothy
873KylanJoana
874LondonSally
875MarceloHadley
876NashSarahi
877TreverRebeca
878FredShirley
879HoustonAlexandrea
880IrvingJailyn
881LamontPriscila
882LatrellAbagail
883RemingtonNoelia
884KellyMaleah
885OswaldoShreya
886EfrenKallie
887TyshawnElyssa
888ChaimSarina
889JaheemAshtyn
890NikhilDylan
891SamsonLyndsey
892GlenKya
893LaytonSky
894PranavDalia
895ZaireDarlene
896ArnoldJana
897MalakaiShawna
898DarylJayde
899FidelMadalynn
900JavenYuliana
901LisandroArmani
902AldenJakayla
903DarwinMaegan
904KaleMaliyah
905SantinoSaige
906LonnieSonya
907DylonReanna
908EllisSamira
909EthenAlexys
910RaymundoDevyn
911StephonKelsi
912CarltonSade
913DuaneSydnie
914GiovannyJalynn
915JanMarlee
916AdrielMyra
917GinoJoelle
918HadenRachelle
919ZainYessenia
920BarrettAkira
921LucianoIsabell
922MarquezMeaghan
923MitchelNorma
924ReyRita
925TurnerSamara
926VernonUnique
927ZavierCandice
928GaigeGraciela
929GuyKalyn
930LucPaloma
931MaximoTaya
932RickeyGalilea
933RyleeKaela
934VaughnMelinda
935AntwanJourney
936CasonKaty
937DarrinYvonne
938JamilAnjali
939KaseyAylin
940RahulBreonna
941AubreyKeira
942DarrionMandy
943EliseoRyann
944MustafaBaby
945JamirJanie
946JevonAmina
947MikelJaylene
948PierreMina
949KentMiya
950NealDania
951SabastianDarby
952SyedLuisa
953TrystanOdalys
954BilalDeasia
955EddyRiya
956GannonKarley
957JaquezEstefany
958KyreeIyanna
959MaximCadence
960ArjunCitlali
961JarvisKiya
962JovanyAllyssa
963BradynAlysha
964CarloIreland
965DontaeMarcella
966JaseChana
967ZayneTrista
968CliftonDianna
969CortezJaylyn
970ShemarJena
971DwightAja
972KoryAlycia
973DevanteJaquelin
974HerbertYolanda
975KirkAlex
976OsbaldoKari
977TrevinLibby
978ZackNyasia
979FreddieAbril
980GarettBrionna
981JeffAubrie
982KristoferLina
983PrinceLoren
984BoMagdalena
985CristobalSheridan
986EliezerEstefani
987GiovaniKeeley
988ImmanuelMaryam
989RyleyChandler
990SullivanJazmyne
991LloydJeanette
992JovanniYareli
993NikoJackeline
994AltonJohana
995EanJuana
996MarianoKristine
997RavenAmiya
998YousefKaterina
999DonCaitlynn
1000FletcherEmerald
Note: Rank 1 is the most popular, +rank 2 is the next most popular, and so forth. +

+
+ + + + +
 Link to FirstGov.gov: U.S. Government portal + Privacy Policy  + | Website Policies + & Other Important Information  + | Site Map
+ diff --git a/google-python-exercises/babynames/baby2004.html b/google-python-exercises/babynames/baby2004.html new file mode 100644 index 00000000..d0cbb556 --- /dev/null +++ b/google-python-exercises/babynames/baby2004.html @@ -0,0 +1,1064 @@ +Popular Baby Names + + + + + + + + + + + + + + + + + + +
+ Social Security Online + + Popular Baby Names +
+ Popular Baby Names + SSA logo: link to Social Security home page +

Popular Names by Birth Year

September 12, 2007
+ +
+ Background information +


+   Select another ?
+

+   + + +  
+
+

Popularity in 2004

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RankMale nameFemale name
1JacobEmily
2MichaelEmma
3JoshuaMadison
4MatthewOlivia
5EthanHannah
6AndrewAbigail
7DanielIsabella
8WilliamAshley
9JosephSamantha
10ChristopherElizabeth
11AnthonyAlexis
12RyanSarah
13NicholasGrace
14DavidAlyssa
15AlexanderSophia
16TylerLauren
17JamesBrianna
18JohnKayla
19DylanNatalie
20NathanAnna
21JonathanJessica
22BrandonTaylor
23SamuelChloe
24ChristianHailey
25BenjaminAva
26ZacharyJasmine
27LoganSydney
28JoseVictoria
29NoahElla
30JustinMia
31ElijahMorgan
32GabrielJulia
33CalebKaitlyn
34KevinRachel
35AustinKatherine
36RobertMegan
37ThomasAlexandra
38ConnorJennifer
39EvanDestiny
40AidanAllison
41LukeSavannah
42JackMaria
43JordanNicole
44AngelHaley
45IsaiahMackenzie
46IsaacBrooke
47JasonMakayla
48JacksonTrinity
49HunterKylie
50CameronKaylee
51MasonPaige
52GavinFaith
53AaronLily
54JuanZoe
55KyleStephanie
56CharlesJenna
57LuisAndrea
58AdamRiley
59BrianKatelyn
60AidenAngelina
61EricKimberly
62JaydenMary
63AlexMadeline
64SeanLeah
65BryanLillian
66OwenMichelle
67LucasAmanda
68NathanielSara
69IanSofia
70JesusJordan
71CarlosRebecca
72AdrianAlexa
73DiegoGabrielle
74JulianCaroline
75ColeVanessa
76AshtonGabriella
77JeremiahAvery
78StevenMarissa
79TimothyAriana
80SethAudrey
81ChaseJada
82DevinAutumn
83JadenEvelyn
84ColinMaya
85CodyJocelyn
86LandonArianna
87HaydenIsabel
88CarterAmber
89XavierMelanie
90WyattDiana
91DominicDanielle
92RichardSierra
93AntonioLeslie
94JesseAaliyah
95BlakeErin
96SebastianAmelia
97MiguelMolly
98JakeClaire
99AlejandroMelissa
100PatrickBailey
101CarsonBrooklyn
102VictorKatie
103AlexisCatherine
104CadenNevaeh
105KadenAngela
106RileyAmy
107BraydenIsabelle
108BryceJacqueline
109HenryJade
110TrevorGabriela
111JeremyMadelyn
112LiamShelby
113MarkMariah
114GarrettGracie
115TristanMya
116MarcusKennedy
117IvanBreanna
118JorgeDaniela
119KalebAdriana
120VincentBriana
121KennethCourtney
122BradyKathryn
123OscarChristina
124JoelGianna
125TannerAlexandria
126EduardoLydia
127JaredMiranda
128PaulAngel
129EdwardLaura
130CollinAlicia
131AlanAshlyn
132ParkerAlexia
133CooperMargaret
134ConnerPeyton
135ColtonSophie
136MaxwellRylee
137DakotaKendall
138NicolasKelly
139CristianAna
140StephenSummer
141GrantKylee
142PeterNatalia
143RicardoDaisy
144JosiahReagan
145GageNaomi
146GeorgeLindsey
147OmarKate
148BrendanKelsey
149FranciscoSabrina
150JeffreyAlondra
151SpencerMckenzie
152PrestonJillian
153BradenCheyenne
154LeviSkylar
155FernandoKaren
156DerekMikayla
157CesarParis
158JavierRuby
159DamianPayton
160EliAddison
161NolanCaitlin
162PeytonKyla
163MicahJuliana
164MaxCaitlyn
165ShaneCrystal
166TravisAbby
167DaltonLayla
168ManuelCassidy
169AndresDelaney
170EdgarCharlotte
171ShawnMariana
172ErikBianca
173EdwinCassandra
174EmmanuelValeria
175DevonTiffany
176BradleyAngelica
177JonahCarly
178MarioAlana
179MalachiHope
180ErickValerie
181TyGiselle
182AydenJasmin
183JohnathanErica
184WesleyJazmin
185ColbyGenesis
186TrentonMallory
187DonovanJordyn
188RaymondKiara
189GiovanniEllie
190JalenAubrey
191MarcoSerenity
192HectorErika
193AbrahamVeronica
194GregoryChelsea
195LeonardoKarla
196DamienSadie
197DillonKarina
198ClaytonEva
199SergioJamie
200AndreJulianna
201BrysonBrenda
202RobertoMckenna
203MartinLucy
204JaylenCeleste
205AndyAlejandra
206DawsonMaggie
207EliasAmaya
208JosueBethany
209HarrisonZoey
210BrodyEsmeralda
211DrewLilly
212CoreyAdrianna
213MitchellMakenzie
214ScottElena
215IsraelNadia
216TaylorJayla
217DominickMeghan
218RubenCadence
219CalvinKyra
220BraxtonAriel
221MilesAliyah
222BrettCamryn
223DustinCynthia
224RafaelLiliana
225AveryElise
226PedroMonica
227TroyMakenna
228JaceKailey
229OliverAlison
230FrankLizbeth
231ZaneHanna
232RonaldVivian
233CamdenMacy
234SkylerDesiree
235GerardoJayden
236JakobRebekah
237TreyHaylee
238PaytonAllyson
239RomanCarmen
240GriffinBrittany
241ArmandoLindsay
242RaulJosephine
243MalikNina
244MarcosHeather
245BrockHayley
246AlecJazmine
247KaiAsia
248PhillipLaila
249DerrickKara
250ChanceJaden
251CadeCameron
252JohnnyCamille
253KeithJoanna
254SimonCarolina
255EnriqueKatelynn
256AllenShannon
257KeeganKeira
258TrentReese
259XanderJulie
260JaidenBella
261CaseySelena
262DrakeAniya
263DonaldRaven
264CaydenKristen
265LeoGuadalupe
266JaxonPiper
267FabianAlaina
268JulioDiamond
269AngeloHeaven
270CorbinClaudia
271DanteFatima
272GraysonKendra
273JaimeSavanna
274KylerMiriam
275LanceKira
276KameronDakota
277BrendenCecilia
278EmanuelTessa
279ZanderApril
280JimmySandra
281LandenKatrina
282ChandlerAshlee
283AlbertoKayleigh
284TysonMichaela
285AdanClara
286DariusAshlynn
287ZackaryCamila
288TuckerAnastasia
289SaulNancy
290GustavoTatiana
291MathewStella
292SantiagoJadyn
293JerryHolly
294LukasAllie
295LorenzoKaitlin
296MylesAniyah
297EmilioKirsten
298LaneEsther
299NickolasKamryn
300BrennanAnnabelle
301NikolasEleanor
302LouisAlayna
303PabloSerena
304DannyNatasha
305QuinnCindy
306AdenNora
307PhilipWendy
308ArturoKaylie
309MorganBridget
310DennisSkyler
311KaidenJulissa
312ZionMelody
313TheodoreEmilee
314DamonEliana
315EzekielEmely
316RandyPatricia
317BryantRylie
318KaydenKathleen
319JaysonEliza
320TonyLexi
321MateoAurora
322CurtisTara
323YahirCiara
324BraedenJosie
325AxelDaniella
326GaryAnnika
327AlfredoFiona
328JonathonKristina
329HudsonJayda
330QuentinBrenna
331TristenAlivia
332IsmaelMadeleine
333LarryMeredith
334AsherTalia
335MarcMarisa
336BrayanAlissa
337DarrenYasmin
338AlbertYesenia
339CamronMercedes
340AmirEden
341MaximilianLeilani
342RyderHeidi
343SalvadorPaola
344ChadKassandra
345RamonBrooklynn
346MekhiCallie
347ErnestoShayla
348JoePriscilla
349CoryCierra
350JayBritney
351CharlieRuth
352EstebanLogan
353DouglasLeila
354KeatonDenise
355MarvinRose
356AbelMarina
357ArthurNia
358RickyBrynn
359DallasItzel
360MoisesPerla
361OrlandoSage
362EddieHarley
363LawrenceKiana
364EmilianoHelen
365WalterSamara
366RussellGeorgia
367HugoClarissa
368MauricioSasha
369JudeJaniya
370CarlRachael
371GaelTori
372HoldenKiley
373DeanChristine
374RylanTamia
375KristopherSidney
376DavisIris
377MarshallKaydence
378MaddoxKiera
379AliAngie
380WestonAnahi
381EzraKyleigh
382WalkerCasey
383JuliusTatum
384JoaquinShania
385IsiahAnnie
386MauriceHalle
387TateIvy
388KadeKadence
389RodrigoLauryn
390ReeseImani
391ReeceNayeli
392MichealAlina
393FelixBryanna
394LucaHailee
395TommyIzabella
396ChrisMarisol
397IssacXimena
398ElliotAinsley
399ShaunAnne
400CaidenSkye
401TerryMadalyn
402BeauKassidy
403BennettGenevieve
404BrentAlice
405JusticeMadisyn
406JavonPhoebe
407GuillermoLesly
408AmariNyla
409KodyTeresa
410JonRyleigh
411OsvaldoLucia
412KelvinLiberty
413JaylinJoselyn
414RogerPaulina
415BraydonMaritza
416DeandreRosa
417KobeAshleigh
418EastonCarolyn
419JefferyRegan
420BrandenTaryn
421GrahamLinda
422KhalilGloria
423ZacheryAmya
424ZachariahLacey
425JaylonFrancesca
426JamariDayanara
427MaximusAlexus
428TobyDana
429SilasJaiden
430JadonViviana
431DeclanLisa
432RodneyKrystal
433MelvinRyan
434BaileyTiana
435DorianElisabeth
436SawyerKaylin
437DavionCora
438DemetriusHallie
439SamVirginia
440FelipeAmari
441NoeCristina
442ReidIsabela
443NathanaelRaquel
444AllanJenny
445JamalNoelle
446UrielLarissa
447MarquisTabitha
448OmarionAlisha
449FrederickMalia
450ReneWhitney
451ConorDeanna
452TrevonJanet
453BobbyKaitlynn
454NoelMadyson
455JessieKiersten
456JonasAlyson
457NelsonElaina
458ElliottEmilie
459BillyJane
460BrendonDulce
461JermaineNataly
462HarleyMonique
463GeraldKaleigh
464JaxsonJimena
465WilsonLana
466DamionTania
467DesmondAyanna
468DaneAnya
469RoyCarla
470QuincyEmilia
471LeonelAlanna
472SkylarSarai
473TerranceCarissa
474RogelioMacie
475RowanDylan
476QuintonRenee
477SolomonAnika
478BruceIndia
479CraigSimone
480RohanAmerica
481NasirValentina
482KennyJoy
483TomasMarlene
484ReedJessie
485KristianMiracle
486AhmadAthena
487KanyeBrielle
488TerrellRaegan
489FranklinLila
490AmarionElle
491JoeyBrittney
492ReginaldHaleigh
493JaydonMarie
494KolbyElisa
495JaquanEllen
496WillieFernanda
497TristonJustice
498KadinBaylee
499RodolfoLaci
500TobiasDominique
501ZackeryJohanna
502IsaiasMadilyn
503SteveCarlie
504DevanAlessandra
505MohamedMartha
506MosesJaelyn
507KendallYasmine
508DaytonCara
509ByronTia
510JohnathonCarley
511DevenAileen
512KellenAnaya
513PierceKendal
514AlvinMaddison
515CyrusMarley
516JamesonJaqueline
517JarrettKristin
518KendrickAbbigail
519LeonKaley
520WadeLola
521JayceDestinee
522AlfonsoLena
523MarlonTeagan
524FrancisJanessa
525AhmedLitzy
526RolandoLilian
527WarrenScarlett
528BenKailee
529WillPamela
530HarryTrista
531TraceKailyn
532RamiroKierra
533JamieAshanti
534MalcolmLexie
535EverettMckayla
536GilbertoIrene
537RoccoIsis
538IzaiahJudith
539JamarionKaya
540ToddLaney
541RonnieHaylie
542AddisonKrista
543AdolfoKali
544GradyJanelle
545KieranKarissa
546DeshawnMadelynn
547DarianAraceli
548AlonzoAspen
549RiverKatlyn
550OrionSusan
551ArielWillow
552JeromeZoie
553LincolnSonia
554PhoenixGillian
555StanleyMaci
556LeeSharon
557DarrellHelena
558JudahMikaela
559RudyPrecious
560GilbertSylvia
561CruzYadira
562TyroneCristal
563EzequielMaia
564VicentePresley
565BlaineAbbey
566DuncanCheyanne
567QuintinKaelyn
568FinnJaniyah
569OmariTamara
570TristinAbbie
571RandallCharity
572TitusMarilyn
573JohanThalia
574GunnarGina
575ColtenLillie
576RayHarmony
577JamisonTyler
578JasperJanae
579CedricSherlyn
580LeonardKasey
581NehemiahHayden
582CristopherArely
583ClayMariela
584EfrainMelany
585EugeneKarlee
586KeenanAdeline
587IbrahimSkyla
588KyanViolet
589AbramNorah
590AlvaroDaphne
591UlisesGwendolyn
592DavinAlly
593TyreseGisselle
594AndersonDeja
595GunnerMeagan
596ReaganDelilah
597ErnestShaniya
598WayneJaida
599ElishaLorena
600RomeoAmani
601TyrellMayra
602KarsonLuz
603DaleNoemi
604TerrenceAngelique
605JairMacey
606JettAmara
607JordonEstrella
608AldoAlma
609JairoSienna
610HaroldEve
611MohammedLesley
612RossRoselyn
613CamrenRubi
614MosheSaniya
615TyreeKarlie
616BrodieLia
617JabariLea
618JaseIngrid
619KareemBailee
620DavonJacquelyn
621EmmettJolie
622MohammadNathalie
623MikeCharlize
624NeilRhiannon
625PorterLizeth
626GianniDayana
627JulienMelina
628KoleReyna
629BrennenStacy
630AntoineTiara
631LewisCarlee
632AlijahKenya
633BrooksKaila
634ColemanKennedi
635JamarTanya
636KeshawnJulianne
637KoltonMara
638MarkusDanna
639DominikFrances
640AronKelsie
641FreddyArielle
642AlexzanderTess
643RonanDeborah
644AryanEmmalee
645LayneJamya
646BriceKenzie
647JuniorPenelope
648DonteJuliet
649MisaelClare
650CohenJazlyn
651AgustinJazmyn
652DashawnAmira
653OctavioRegina
654DominiqueKaylynn
655GreysonAisha
656JaronLilliana
657JeffersonParker
658SageAimee
659BrycenBrandy
660JoshElaine
661DevynAnsley
662IrvinCassie
663SalvatorePaula
664ZechariahBrandi
665AydanJaylin
666DillanKayley
667KamronLondon
668IgnacioTheresa
669BraidenAshton
670RaphaelHaven
671GarretZaria
672AsaJaclyn
673AugustJustine
674SterlingBarbara
675AlessandroCelia
676AlonsoJuliette
677GiancarloSanaa
678AriSydnee
679MuhammadAlena
680HumbertoHazel
681JeanMariam
682GlennTaliyah
683DravenAria
684DwayneGiovanna
685JaedenQuinn
686NathanialAnn
687WaylonEdith
688RigobertoAiyana
689HeathKaylyn
690DamarionHadley
691KeaganHana
692GideonMarianna
693ElvisKarli
694NicoShyanne
695JaylanAnnette
696KaneAleah
697KarlKaia
698DarrylTaniya
699IsaiCecelia
700MatteoColleen
701ReynaldoMonserrat
702CobySavanah
703BraylonYazmin
704DerickAlisa
705JavionTyra
706KorbinGreta
707CullenKya
708DarnellMaeve
709KeonTatyana
710KaseyRowan
711RalphFelicity
712BraedonTianna
713OswaldoAyla
714XzavierDamaris
715RhettLyric
716AlfredAracely
717EmersonRosemary
718GavenRyann
719RashadBreana
720RoderickHailie
721RoryJaidyn
722SidneyLiana
723KianLuna
724ClarkAdrienne
725LawsonElyse
726MarquiseAnnabella
727LamarAubree
728ArmaniChasity
729AlexandroFrida
730HamzaAyana
731ClintonCarina
732JustusKaliyah
733AldenAmiya
734DonavanLara
735SincereRebeca
736GarrisonSaige
737SemajEileen
738MathiasMaura
739YairChelsey
740ConradLaurel
741ArjunNya
742DarienHunter
743JaheimKayden
744KonnerLeticia
745ClarencePrincess
746FrankieAnnalise
747GavynCorinne
748JovanStephany
749AdityaTina
750GordonBrisa
751AntonEsperanza
752DenzelChaya
753DangeloGia
754MiltonYareli
755JovaniToni
756KeyshawnCali
757LucianoMicah
758RonaldoJaylynn
759SheldonJakayla
760EstevanJoyce
761SantinoCatalina
762AntonyDevin
763TalonKarly
764BernardMaribel
765MaverickMeadow
766MiloAliya
767PranavLeanna
768SantosAbigayle
769AdrienJaylene
770JanJewel
771MalakaiKeely
772NigelEvelin
773BarrettNichole
774CaleShaylee
775DemarcusKayli
776HowardMollie
777NathenAliza
778RolandAryanna
779RyleeLizette
780SeamusRayna
781AdonisCayla
782DevonteAntonia
783KurtDonna
784RykerKianna
785VaughnShea
786BrunoMyah
787TristianKatharine
788VanceLaisha
789MarquesShyann
790BradynJaliyah
791KylanTayler
792StefanJoslyn
793BabyLainey
794JordenMattie
795EnzoYvette
796KaleCampbell
797PrinceCeline
798CashSandy
799DexterKenna
800JadynShayna
801AdrielJacey
802FredrickRaina
803HassanSheila
804CasonIliana
805KeyonYoselin
806SamirKimora
807KamariMagdalena
808PerryTaniyah
809RemingtonHillary
810DandreMicaela
811DavianCarrie
812EanJenifer
813MaximillianSalma
814JaidynAmiyah
815MatthiasElsa
816BlazeJalyn
817DeonEssence
818LeroyEbony
819DarwinChristian
820DemarionCandace
821JacobyMarlee
822KeltonAlysa
823CliffordAmaris
824HoustonDalia
825SammyHalie
826DaquanMadalynn
827GermanLibby
828QuintenCiera
829ZainMakena
830CannonAlia
831DylonGalilea
832BradStacey
833ChaimXiomara
834GiovannyDestiney
835SonnyMarin
836WinstonAbril
837EllisReina
838KaedenAmelie
839KonnorAshly
840MarcelDesirae
841AugustusJasmyn
842LandynPatience
843ZakaryDevon
844DionJoana
845DarioMandy
846JakobeSusana
847LukaCarol
848NormanMoriah
849SorenAnnabel
850BraulioGiana
851GeoffreyPaloma
852NickAda
853ReubenKatarina
854SimeonNicolette
855ElianShreya
856GonzaloAreli
857KenyonAubrie
858MadisonDorothy
859YosefGraciela
860DarionRocio
861NikhilIsabell
862StephanJanice
863AndonBlanca
864BoKarley
865ElmerAli
866GannonFabiola
867JordyIyanna
868JovanyKaiya
869LondonLucille
870MikelNikki
871TariqDiya
872KeanuKathy
873ShannonMadisen
874JarenCalista
875BrentonKatelin
876ShamarLacie
877BernardoYuliana
878DeangeloKaylah
879NestorPhoenix
880DomenicFelicia
881EthenAbigale
882GuadalupeAryana
883KobyBelen
884PaxtonElissa
885AydinGretchen
886DwightMina
887HeribertoHarper
888MatiasLina
889ArnavAleena
890BlaiseElyssa
891FrancoSarahi
892JovanniTreasure
893MaximIyana
894HadenSaniyah
895JaydinAddyson
896SheaJaycee
897AbdullahLacy
898DeaconAmina
899MaximoDevyn
900ArnoldEmerson
901SavionNoelia
902GinoSavana
903IsaakAnissa
904RylandDiane
905TeaganReilly
906ThaddeusAnita
907TurnerKasandra
908BostonKeyla
909StephonMira
910CarmeloRhea
911DallinBryn
912JovannyCamilla
913TravonJaylyn
914ChazKaris
915CortezNatalee
916EddyAylin
917JamirMaleah
918KamdenKenia
919AntwanSally
920ZackAlize
921HughGracelyn
922IrvingChanel
923JosefChristiana
924MarceloBrianne
925StoneJaylee
926MalakiDestini
927DarriusLyndsey
928JordynMaliyah
929KennedyMargarita
930LamontBeatriz
931RexChana
932TyshawnKelli
933AtticusNathaly
934DeshaunAbagail
935KevenJoelle
936VincenzoJailyn
937JavenLilia
938RhysNyasia
939ShayneAstrid
940ZavierJackeline
941BennyJaime
942JamelJourney
943KodaKallie
944JaleelMaren
945KamrenMaryam
946KevonMiah
947LaytonLivia
948SullivanMireya
949BransonTracy
950CarloBria
951EarlJayleen
952KoreyMelisa
953MarquezSydnie
954SamsonAshtyn
955CaelJaniah
956ElvinRobin
957NikoCitlali
958TrumanGwyneth
959FletcherJaylen
960HaidenJana
961BarryJazmyne
962TayshaunTamya
963YusufLorelei
964ZaidRiya
965ZaireAnabel
966AndreasDelia
967CorneliusTaya
968DimitriZariah
969EfrenLexus
970JayvonRobyn
971KerrySydni
972RaymundoAngeles
973TrentenKourtney
974TreverDasia
975JeramiahEricka
976RishiRoxana
977TreDania
978DarinDianna
979ImmanuelKaci
980JarvisKalyn
981KasonAverie
982BroderickChrista
983ReyYaritza
984TrevionAlex
985ReillyArlene
986DarrinDrew
987GuyShirley
988JarodYessenia
989NashCarli
990TrevinJalynn
991CordellKaty
992CristoferSelina
993EliezerMakaila
994FisherMontana
995RahulSamira
996DestinDarlene
997JaggerEstefania
998JamarcusHeidy
999TylorMiya
1000BronsonAlexandrea
Note: Rank 1 is the most popular, +rank 2 is the next most popular, and so forth. +

+
+ + + + +
 Link to FirstGov.gov: U.S. Government portal + Privacy Policy  + | Website Policies + & Other Important Information  + | Site Map
+ diff --git a/google-python-exercises/babynames/baby2006.html b/google-python-exercises/babynames/baby2006.html new file mode 100644 index 00000000..14160cb7 --- /dev/null +++ b/google-python-exercises/babynames/baby2006.html @@ -0,0 +1,1064 @@ +Popular Baby Names + + + + + + + + + + + + + + + + + + +
+ Social Security Online + + Popular Baby Names +
+ Popular Baby Names + SSA logo: link to Social Security home page +

Popular Names by Birth Year

September 12, 2007
+ +
+ Background information +


+   Select another ?
+

+   + + +  
+
+

Popularity in 2006

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RankMale nameFemale name
1JacobEmily
2MichaelEmma
3JoshuaMadison
4EthanIsabella
5MatthewAva
6DanielAbigail
7ChristopherOlivia
8AndrewHannah
9AnthonySophia
10WilliamSamantha
11JosephElizabeth
12AlexanderAshley
13DavidMia
14RyanAlexis
15NoahSarah
16JamesNatalie
17NicholasGrace
18TylerChloe
19LoganAlyssa
20JohnBrianna
21ChristianElla
22JonathanTaylor
23NathanAnna
24BenjaminLauren
25SamuelHailey
26DylanKayla
27BrandonAddison
28GabrielVictoria
29ElijahJasmine
30AidenSavannah
31AngelJulia
32JoseJessica
33ZacharyLily
34CalebSydney
35JackMorgan
36JacksonKatherine
37KevinDestiny
38GavinLillian
39MasonAlexa
40IsaiahAlexandra
41AustinKaitlyn
42EvanKaylee
43LukeNevaeh
44AidanBrooke
45JustinMakayla
46JordanAllison
47RobertMaria
48IsaacAngelina
49LandonRachel
50JaydenGabriella
51ThomasJennifer
52CameronAvery
53ConnorMackenzie
54HunterZoe
55JasonRiley
56DiegoSofia
57AaronMaya
58OwenKimberly
59LucasAndrea
60CharlesMegan
61JuanKatelyn
62LuisGabrielle
63AdrianTrinity
64AdamFaith
65JulianEvelyn
66BryanKylie
67AlexBrooklyn
68SeanAudrey
69NathanielLeah
70CarlosStephanie
71JeremiahMadeline
72BrianSara
73HaydenJocelyn
74JesusNicole
75CarterHaley
76SebastianPaige
77EricArianna
78XavierAriana
79BraydenVanessa
80KyleMichelle
81IanMariah
82WyattAmelia
83ChaseMelanie
84ColeMary
85DominicIsabelle
86TristanClaire
87CarsonIsabel
88JadenJenna
89MiguelCaroline
90StevenValeria
91CadenAaliyah
92KadenAubrey
93AntonioJada
94TimothyNatalia
95HenryAutumn
96AlejandroRebecca
97BlakeJordan
98LiamGianna
99RichardJayla
100DevinLayla
101RileyMya
102JesseAmanda
103SethGracie
104VictorMarissa
105BradyMolly
106CodyAdriana
107JakeKatie
108VincentLeslie
109BryceKeira
110PatrickGabriela
111ColinJade
112MarcusBailey
113CooperMadelyn
114PrestonAngela
115KalebKennedy
116ParkerDanielle
117JosiahMelissa
118OscarJacqueline
119AydenZoey
120JorgeDiana
121AshtonBriana
122AlanCatherine
123JeremyCharlotte
124JoelEva
125TrevorSophie
126EduardoBreanna
127IvanValerie
128KennethAmy
129MarkNaomi
130AlexisErin
131OmarLydia
132CristianDaniela
133ColtonShelby
134PaulRylee
135LeviSerenity
136DamianAmber
137JaredRuby
138GarrettPeyton
139EliMiranda
140NicolasAshlyn
141BradenSierra
142TannerKate
143EdwardAna
144ConnerKathryn
145NolanSkylar
146GiovanniKylee
147BrodyAlexandria
148MicahKendall
149MaxwellDaisy
150MalachiLiliana
151FernandoLilly
152RicardoLucy
153GeorgeMikayla
154PeytonSummer
155GrantReagan
156GageJazmin
157FranciscoSadie
158EdwinChristina
159DerekReese
160MaxAngel
161AndresMargaret
162JavierJuliana
163TravisPayton
164ManuelAlexia
165StephenMckenzie
166EmmanuelAlana
167PeterAlicia
168CesarGiselle
169ShawnGenesis
170JonahAlondra
171EdgarCheyenne
172DakotaLaura
173OliverKaren
174ErickJillian
175HectorEllie
176BrysonMariana
177JohnathanSienna
178MarioJordyn
179ShaneAdrianna
180JeffreyCamila
181CollinBella
182SpencerBianca
183AbrahamJasmin
184LeonardoKelsey
185BrendanKiara
186EliasLindsey
187JaceElena
188BradleyNadia
189ErikMaggie
190WesleyCourtney
191JaylenDakota
192TrentonChelsea
193JosueDelaney
194RaymondJulianna
195SergioKyra
196DamienMakenzie
197DevonSabrina
198DonovanCassidy
199DaltonCaitlyn
200MartinHope
201LandenCrystal
202MilesAriel
203IsraelJayden
204AndyKyla
205DrewAbby
206MarcoAnnabelle
207AndreCaitlin
208GregoryAngelica
209RomanKarla
210TyTiffany
211JaxonVeronica
212AveryKelly
213CaydenCiara
214JaidenCadence
215RobertoAmaya
216DominickCamryn
217RafaelMckenna
218GraysonElise
219PedroCassandra
220CalvinAniyah
221CamdenJosephine
222TaylorErica
223DillonVivian
224BraxtonEsmeralda
225KeeganJulissa
226ClaytonJazmine
227RubenKarina
228JalenFatima
229TroyAllie
230KaydenSavanna
231SantiagoMakenna
232HarrisonAlejandra
233DawsonClara
234CoreyMallory
235MaddoxLaila
236LeoAliyah
237JohnnyBrooklynn
238KaiErika
239DrakeBrenda
240JulioCynthia
241LukasStella
242KaidenJamie
243ZaneKendra
244AdenBethany
245FrankNora
246SimonPiper
247SawyerHaylee
248MarcosAlaina
249HudsonKira
250TreyMonica
251RonaldCarly
252AsherTessa
253ScottHeaven
254GriffinAlivia
255RaulGuadalupe
256DerrickJoanna
257RyderKailey
258RylanCarmen
259DustinAllyson
260TuckerParis
261BrockViolet
262AngeloAniya
263EmanuelLindsay
264ArmandoAyla
265KylerCecilia
266ZionKayleigh
267PaytonMacy
268GerardoAlayna
269EzekielHanna
270SkylerKatelynn
271ColbyAlison
272FabianNina
273ChanceGeorgia
274MateoDulce
275MitchellKamryn
276TysonRebekah
277KeithEleanor
278XanderKaylie
279JaimeKara
280DariusLola
281EnriqueCarolina
282QuinnEliana
283AllenTatiana
284KameronLeila
285PhillipSelena
286JoaquinJadyn
287TrentAnahi
288CadeAnastasia
289CorbinCameron
290MalikIzabella
291DanteJosie
292PabloMiriam
293JakobAshlynn
294BrayanJayda
295AxelHeidi
296TheodoreJulie
297SaulScarlett
298EmilioEsther
299BrennanMelody
300LincolnDesiree
301LorenzoKiera
302AdanPaola
303DonaldCallie
304BrettJaden
305GustavoEmerson
306ZanderHayley
307DannyDaniella
308CaseyCamille
309TalanEmely
310RandyMeredith
311MylesEstrella
312CaidenAurora
313DennisLeilani
314GaelJoselyn
315AlbertoSkyler
316MathewDiamond
317BrendenRylie
318JerryBrittany
319JuliusApril
320ZackaryEden
321LanceMarisol
322LaneMeghan
323ArturoLizbeth
324AmirYasmin
325JimmyEliza
326LouisNancy
327IsmaelCeleste
328AlecRyleigh
329TonyLila
330JudeShayla
331BraedenMichaela
332EmilianoAsia
333EstebanFiona
334AlfredoIvy
335TristenAnnika
336NickolasSasha
337CharlieMadeleine
338AbelAshlee
339CurtisClaudia
340EzraLucia
341ShaunHeather
342LelandHarmony
343PhilipHelen
344MoisesKaitlin
345CamronLexi
346MarvinHolly
347QuentinBridget
348MaximilianPresley
349LucaTatum
350GaryRose
351JaySamara
352DallasDanica
353JaysonLondon
354AlbertWendy
355WalterAlina
356OrlandoKaydence
357JonasNatasha
358ChrisMadalyn
359EastonShannon
360AliKyleigh
361DarrenAlessandra
362NehemiahSherlyn
363RodrigoTalia
364DeclanSandra
365DouglasCindy
366MorganPhoebe
367RamonKaelyn
368MauricioGenevieve
369BennettIris
370JoeAddyson
371HugoKathleen
372ElliotPriscilla
373SilasRuth
374MaximusKristen
375ChadEmilee
376JonathonJohanna
377ArthurAlissa
378CashItzel
379ErnestoDenise
380WestonNia
381LarryBrenna
382KeatonKatrina
383NikolasAlice
384HoldenCora
385DeanNyla
386DamonJaniya
387YahirPerla
388ElliottHarley
389BryantAngie
390SalvadorJanelle
391JaxsonKadence
392KristopherRachael
393DaneXimena
394RickyNayeli
395EddieDana
396BraydonSerena
397FelixNataly
398JadonAnnie
399AndersonKaylin
400MauriceRosa
401BraylonKiana
402ChandlerBrynn
403UrielMaddison
404RussellKristina
405DavisAnya
406IsiahMarina
407LawrenceKirsten
408MarcMadyson
409IssacImani
410JavonMalia
411JusticeCasey
412TateLana
413ReecePatricia
414WalkerMadisyn
415CohenMarley
416JaydonHayden
417MarshallSage
418NasirYesenia
419MichealLesly
420ZachariahEmilia
421AmariKassandra
422ReidKimora
423PhoenixSidney
424JamesonBryanna
425MelvinTeagan
426RowanAubree
427JayceHaylie
428TalonFrancesca
429CarlKiley
430GrahamLauryn
431CoryFernanda
432JefferyLogan
433ReeseSkye
434KelvinRaegan
435KadeDayanara
436SkylarMadilyn
437DemetriusChristine
438BeauValentina
439FranklinLilian
440GuillermoMercedes
441JaylinRaven
442BrodieJaelyn
443MekhiSarai
444JamariTaryn
445MosesLilliana
446TerryLacey
447NelsonTania
448NoelElaina
449RodneyViviana
450NoeHallie
451EverettNoelle
452DeandreTori
453RogerGloria
454KhalilHailee
455JonRyan
456FinnAinsley
457FelipeKassidy
458RoyAmerica
459JamarionBrielle
460TommyAnne
461IzaiahJaniyah
462NathanaelLinda
463SamTara
464DesmondJaiden
465TerranceHazel
466KristianMelany
467MohamedAdeline
468LeonelClarissa
469DorianBaylee
470ReedIsabela
471ArielAlyson
472BrandenJimena
473BillyAlanna
474JermaineBritney
475GradyJenny
476PorterAmya
477QuintonTiana
478DavionJane
479JaylonMacie
480BobbyElle
481BrentPenelope
482BruceMiracle
483FrederickLaney
484TobiasLillie
485JessieAnika
486SolomonAnaya
487TristonShania
488TomasKaleigh
489QuincyLena
490RoccoAbbigail
491OsvaldoEmilie
492ReneKailyn
493JudahHalle
494KodyHadley
495ZacheryCristina
496ConorMaritza
497DamionNatalee
498KennyMarisa
499CristopherPaulina
500CruzRaquel
501BrendonCarla
502GunnarElisabeth
503GreysonLisa
504JamalAthena
505LeonKrystal
506WarrenMaia
507AllanJoy
508MarlonHelena
509TobyKiersten
510ColtenHarper
511RiverVirginia
512WilsonJaqueline
513AlvinNorah
514WillieMarilyn
515CyrusMarlene
516ReginaldLuna
517RogelioCarolyn
518DeshawnDanna
519RodolfoAmari
520TerrellLexie
521RohanLia
522HarleySaniya
523ByronKenya
524AhmadSylvia
525UlisesKaitlynn
526KellenMartha
527KendrickAyanna
528JohanRihanna
529OrionWillow
530TrevonPamela
531IsaiasWhitney
532SteveDeanna
533WillJazlyn
534JamisonTabitha
535JettTeresa
536TraceYazmin
537JoeyAileen
538TerrenceNathalie
539EmersonLiberty
540DaytonQuinn
541EzequielYadira
542JohnathonKali
543KobeElisa
544GeraldEllen
545MalcolmAlexus
546OswaldoMelina
547WaylonJustice
548CraigDelilah
549PierceMadelynn
550TitusCarley
551WadeTiara
552AlfonsoZoie
553MarquisDayana
554GilbertoDestinee
555BenPrecious
556KarsonAnnabella
557TristinKenzie
558AlonzoJessie
559AhmedCara
560RayJaida
561FrancisBarbara
562AddisonJanet
563RonnieCierra
564JairoSimone
565JaseKasey
566KieranIsis
567RamiroRegan
568JasperIndia
569EmmettDanika
570AlvaroAraceli
571RolandoAmira
572BlaineAspen
573KendallAmara
574RomeoKristin
575TyroneTamia
576AydanArely
577JeromeJudith
578GunnerMarie
579CamrenMckayla
580LandynPatience
581AdolfoJuliet
582DevanRenee
583JamieKailee
584AlijahAlisha
585ZackeryCarissa
586AbramJaidyn
587AldoArielle
588BrycenYasmine
589MohammadAnnalise
590DarianEve
591GideonLuz
592BrooksCarlie
593HarryIrene
594IbrahimJanessa
595CedricReyna
596JulienHaleigh
597DarrellEvangeline
598RonanSkyla
599VicenteSonia
600StanleyYoselin
601DavinKierra
602BraidenCali
603DavonRegina
604NeilAubrie
605MaverickBrisa
606DevenDaphne
607KeenanSanaa
608AlessandroTia
609JabariDamaris
610DwayneHaven
611GianniSusan
612DominikAddisyn
613LeeLea
614LeonardJolie
615AlexzanderRubi
616KeaganAlma
617XzavierFelicity
618AugustKarissa
619MatteoIngrid
620MisaelJazmyn
621TyreseKaylynn
622RandallKennedi
623AsaSharon
624RykerKayden
625KrishSavanah
626BostonBrittney
627JuniorYareli
628RudyJaylin
629ElishaSiena
630MarkusAlly
631AntoineGwendolyn
632KoltonJaylynn
633MohammedLarissa
634AriNoemi
635BaileyAmiyah
636KadinMacey
637SincereParker
638LondonEdith
639MuhammadLyla
640AronKaya
641FreddyMikaela
642JeffersonRowan
643AlonsoGia
644JavionLyric
645WayneMaeve
646DamarionShaniya
647EugeneMyah
648FrankieDominique
649JamarKarlee
650KoleAbbie
651QuintinBailee
652HaroldAryanna
653ToddArabella
654DuncanCarlee
655TyrellMonique
656JaquanMayra
657AgustinCheyanne
658GilbertJuliette
659JarrettCampbell
660RashadCristal
661ColemanAria
662MosheTyra
663EfrainClare
664KamariTaniya
665KolbyAlena
666JaedenMaci
667NicoAleah
668KamronJacquelyn
669OctavioCecelia
670IrvinKaley
671KaseyPaula
672LamarStacy
673LawsonCharity
674YandelEvelin
675BradynEsperanza
676ZechariahDeborah
677JordyGisselle
678LewisTamara
679MiloJanae
680MikeGreta
681RaphaelMara
682DavianLaci
683RhettAisha
684AryanElyse
685DravenEmmalee
686RylandKaylyn
687DeaconAmani
688SantinoAshleigh
689SageMarianna
690DashawnTianna
691LayneLizeth
692JaylanMariam
693SemajAngelique
694JovaniKaia
695BriceAbbey
696ClarkCatalina
697HumbertoRyann
698ArmaniKeely
699KenyonAliya
700TyreeAyana
701KaneKrista
702GiovannyMonserrat
703IgnacioRosemary
704LucianoAnsley
705KianLorena
706IsaiRoselyn
707AdrielCelia
708ClayGiana
709NigelPrincess
710GavynSaniyah
711DarnellAkeelah
712YairGina
713KareemJoslyn
714JoshMicah
715OmariAda
716GiancarloHana
717LaytonTheresa
718SantosZaria
719VanceElaine
720ArjunValery
721JeanLiana
722DonteAracely
723ErnestGiovanna
724NathanialIsabell
725AntonLainey
726JairShyanne
727MalakaiIliana
728OmarionLucille
729TristianKayley
730RoderickJakayla
731AydinAnn
732BrennenCassie
733CaleDylan
734VaughnTess
735DemarcusTaliyah
736DerickAdrienne
737EnzoJamya
738HamzaRhiannon
739JordonAiyana
740KylanLorelei
741MathiasTyler
742NashAmiya
743JustusBetsy
744BraedonChasity
745DaleMeagan
746KaedenTanya
747RossJacey
748DevynLeanna
749DemarionMila
750GarretLesley
751JanCharlize
752KasonSalma
753CasonDeja
754AdrienCherish
755AlfredKaliyah
756BraylenMollie
757JadynAnabelle
758BeckettGillian
759JordenGracelyn
760AedanHailie
761ElvisCharlie
762BarrettJaliyah
763DominiqueAimee
764RalphKarlie
765HassanJaycee
766KaleKelsie
767AtticusAdison
768JamirMiah
769KarlSydnee
770KeonEileen
771BoGretchen
772DarwinKaila
773DarrylKianna
774DillanThalia
775EanMarlee
776JovanniAylin
777PaxtonAbigayle
778AmareEmery
779FinneganFrances
780JordynAshly
781RemingtonLilyana
782RonaldoNathaly
783EllisNathalia
784SterlingAmelie
785CarmineChaya
786HeathRhianna
787RolandKatlyn
788ConradShaylee
789RigobertoZariah
790CullenChelsey
791GiovaniShakira
792ReaganElsa
793BrunoJaelynn
794DeangeloMadalynn
795KamdenNoelia
796CannonJaylyn
797RyleeLeticia
798MessiahLibby
799KorbinStephany
800ShamarBlanca
801SidneyBrandy
802MarquesMakena
803MalakiMaribel
804CristoferMeadow
805JovannySaige
806NathenXiomara
807LukaNyasia
808SorenMariela
809ZavierBelinda
810AdityaShayna
811AldenRayna
812DonavanTrista
813MatthiasSariah
814RexKendal
815AntonyLilianna
816MatiasPhoenix
817SalvatoreZion
818ClarenceJaylee
819JaronToni
820NickTatyana
821ZaireKallie
822AdonisJourney
823KeshawnAryana
824LucianJaniah
825PrinceCamilla
826RoryCorinne
827TeaganMattie
828AntwanNatalya
829KonnorLitzy
830DarienAleena
831AugustusJoyce
832CobyDonna
833JovanyJayleen
834ReynaldoLara
835SamirPaisley
836HowardFrida
837HoustonYaretzi
838AceSelah
839GermanEssence
840JovanGalilea
841DevonteKeyla
842SeamusSarahi
843SheldonScarlet
844ClintonBreana
845MiltonAbril
846EstevanLaurel
847KarterMaleah
848BodeAnnabel
849DeonDalia
850GlennJohana
851KaelKaiya
852MaximKarma
853DeshaunPaloma
854ReyRebeca
855EddyBraelyn
856MakaiAliza
857VincenzoElliana
858HadenZara
859KoenCarrie
860QuintenJaclyn
861AlexandroJewel
862BransonSheyla
863DangeloAngeline
864LeandroCarina
865ZainKarli
866MarquiseKaylen
867SavionLilah
868BlazeMontana
869DarionAnais
870CarmeloBria
871ZaydenMaliyah
872HaidenCailyn
873ReubenKamila
874NikhilKenia
875DarioSusana
876KonnerKinsley
877SantanaAdyson
878StefanBethzy
879WinstonElsie
880AndreasIyana
881GaugeAnnette
882KeyonAshanti
883SonnyDesirae
884BroderickJulianne
885HezekiahBrylee
886FinleyCayla
887SamsonKayli
888AbdullahNaima
889GannonAbigale
890MarceloAlisa
891LandinTaniyah
892PranavJoselin
893TalenShea
894ZakaryYuridia
895GarrisonAbagail
896KingMariyah
897BradYaritza
898KasenKinsey
899KyanAverie
900GordonMoriah
901RoyceSelina
902TyshawnColleen
903FredrickJaylah
904VanKinley
905ChazEstefani
906ColtKatharine
907ElmerKathy
908KevenMagdalena
909JacobyAmaris
910AidynFinley
911ValentinTayler
912YusufJaylene
913DexterYvette
914JamarcusBelen
915RhysCharlee
916SullivanKarley
917CaelChanel
918FrancoMyla
919GaigeShyla
920KadynAdamaris
921GuadalupeAdelaide
922MaximoMaura
923MemphisTayla
924AustenKenna
925GonzaloRaina
926JeramiahJasmyn
927NestorLuciana
928TreyvonAlia
929CamrynDestini
930DarriusLilia
931JerimiahSavana
932ArnavTina
933JasiahAlani
934SammyMakaila
935TravonMira
936ZackArmani
937CarloHalie
938CortezReina
939CorneliusMalaya
940DenzelRocio
941KingstonCloe
942BrentonKaris
943TrumanKya
944YosefMargarita
945BernardNichole
946ChaimSheila
947EdisonYuliana
948GavenCitlali
949KeyshawnJalynn
950SimeonJustine
951CaseKaylah
952EthenLacie
953HarperMarin
954JavenMaryam
955LandanBree
956LeroyJalyn
957MarcelLeia
958PerryRiya
959ZayneAlize
960DestinBriley
961TrystanMicaela
962BennyTatianna
963CoenKhloe
964DomenicMckinley
965StephanAkira
966BraulioBeatrice
967ValentinoBrandi
968EfrenCarol
969ImanolJorja
970JamelMiya
971JaydinAmirah
972JosefDestiney
973RockyLucero
974AustynSanai
975BernardoShyann
976IzayahStacey
977JaheimNya
978JoanAmina
979JohnpaulAreli
980KamrenFabiola
981KoreyLina
982LamontHillary
983NikoMireya
984StoneChristiana
985BlaiseDania
986ShannonLeyla
987AndersSelene
988DionDahlia
989GuyLorelai
990MikelChana
991CristobalIyanna
992DandreRayne
993EarlEricka
994HughJanice
995JaxMina
996RayanNeveah
997RoninNicolette
998ThaddeusIzabelle
999BroganJoana
1000JarvisFlor
Note: Rank 1 is the most popular, +rank 2 is the next most popular, and so forth. +

+
+ + + + +
 Link to FirstGov.gov: U.S. Government portal + Privacy Policy  + | Website Policies + & Other Important Information  + | Site Map
+ diff --git a/google-python-exercises/babynames/baby2008.html b/google-python-exercises/babynames/baby2008.html new file mode 100644 index 00000000..fa7a5cb1 --- /dev/null +++ b/google-python-exercises/babynames/baby2008.html @@ -0,0 +1,2061 @@ +Popular Baby Names + + + + + + + + + + + + + + + + +
+ Social Security Online + + Popular Baby Names +
+ Popular Baby Names + SSA logo: link to Social Security home page +

Popular Names by Birth Year

December 21, 2009
+ + +
+ Background information +


+   Select another ?
+

+   + + +  
+
+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Popularity in 2008

RankMale nameFemale name
1JacobEmma
2MichaelIsabella
3EthanEmily
4JoshuaMadison
5DanielAva
6AlexanderOlivia
7AnthonySophia
8WilliamAbigail
9ChristopherElizabeth
10MatthewChloe
11JaydenSamantha
12AndrewAddison
13JosephNatalie
14DavidMia
15NoahAlexis
16AidenAlyssa
17JamesHannah
18RyanAshley
19LoganElla
20JohnSarah
21NathanGrace
22ElijahTaylor
23ChristianBrianna
24GabrielLily
25BenjaminHailey
26JonathanAnna
27TylerVictoria
28SamuelKayla
29NicholasLillian
30GavinLauren
31DylanKaylee
32JacksonAllison
33BrandonSavannah
34CalebNevaeh
35MasonGabriella
36AngelSofia
37IsaacMakayla
38EvanAvery
39JackRiley
40KevinJulia
41JoseLeah
42IsaiahAubrey
43LukeJasmine
44LandonAudrey
45JustinKatherine
46LucasMorgan
47ZacharyBrooklyn
48JordanDestiny
49RobertSydney
50AaronAlexa
51BraydenKylie
52ThomasBrooke
53CameronKaitlyn
54HunterEvelyn
55AustinLayla
56AdrianMadeline
57ConnorKimberly
58OwenZoe
59AidanJessica
60JasonPeyton
61JulianAlexandra
62WyattClaire
63CharlesMadelyn
64LuisMaria
65CarterMackenzie
66JuanArianna
67ChaseJocelyn
68DiegoAmelia
69JeremiahAngelina
70BrodyTrinity
71XavierAndrea
72AdamMaya
73CarlosValeria
74SebastianSophie
75LiamRachel
76HaydenVanessa
77NathanielAaliyah
78HenryMariah
79JesusGabrielle
80IanKatelyn
81TristanAriana
82BryanBailey
83SeanCamila
84ColeJennifer
85AlexMelanie
86EricGianna
87BrianCharlotte
88JadenPaige
89CarsonAutumn
90BlakePayton
91AydenFaith
92CooperSara
93DominicIsabelle
94BradyCaroline
95CadenGenesis
96JosiahIsabel
97KyleMary
98ColtonZoey
99KadenGracie
100EliMegan
101MiguelHaley
102AntonioMya
103ParkerMichelle
104StevenMolly
105AlejandroStephanie
106RileyNicole
107RichardJenna
108TimothyNatalia
109DevinSadie
110JesseJada
111VictorSerenity
112JakeLucy
113JoelRuby
114ColinEva
115KalebKennedy
116BryceRylee
117LeviJayla
118OliverNaomi
119OscarRebecca
120VincentLydia
121AshtonDaniela
122CodyBella
123MicahKeira
124PrestonAdriana
125MarcusLilly
126MaxHayden
127PatrickMiley
128SethKatie
129JeremyJade
130PeytonJordan
131NolanGabriela
132IvanAmy
133DamianAngela
134MaxwellMelissa
135AlanValerie
136KennethGiselle
137JonahDiana
138JorgeAmanda
139MarkKate
140GiovanniLaila
141EduardoReagan
142GrantJordyn
143CollinKylee
144GageDanielle
145OmarBriana
146EmmanuelMarley
147TrevorLeslie
148EdwardKendall
149RicardoCatherine
150CristianLiliana
151NicolasMckenzie
152KaydenJacqueline
153GeorgeAshlyn
154JaxonReese
155PaulMarissa
156BradenLondon
157EliasJuliana
158AndresShelby
159DerekCheyenne
160GarrettAngel
161TannerDaisy
162MalachiMakenzie
163ConnerMiranda
164FernandoErin
165CesarAmber
166JavierAlana
167MilesEllie
168JaidenBreanna
169AlexisAna
170LeonardoMikayla
171SantiagoSummer
172FranciscoPiper
173CaydenAdrianna
174ShaneJillian
175EdwinSierra
176HudsonJayden
177TravisSienna
178BrysonAlicia
179ErickLila
180JaceMargaret
181HectorAlivia
182JosueBrooklynn
183PeterKaren
184JaylenViolet
185MarioSabrina
186ManuelStella
187AbrahamAniyah
188GraysonAnnabelle
189DamienAlexandria
190KaidenKathryn
191SpencerSkylar
192StephenAliyah
193EdgarDelilah
194WesleyJulianna
195ShawnKelsey
196TrentonKhloe
197JaredCarly
198JeffreyAmaya
199LandenMariana
200JohnathanChristina
201BradleyAlondra
202BraxtonTessa
203RyderEliana
204CamdenBianca
205RomanJazmin
206AsherClara
207BrendanVivian
208MaddoxJosephine
209SergioDelaney
210IsraelScarlett
211AndyElena
212LincolnCadence
213ErikAlexia
214DonovanMaggie
215RaymondLaura
216AveryNora
217RylanAriel
218DaltonElise
219HarrisonNadia
220AndreMckenna
221MartinChelsea
222KeeganLyla
223MarcoAlaina
224JudeJasmin
225SawyerHope
226DakotaLeila
227LeoCaitlyn
228CalvinCassidy
229KaiMakenna
230DrakeAllie
231TroyIzabella
232ZionEden
233ClaytonCallie
234RobertoHaylee
235ZaneCaitlin
236GregoryKendra
237TuckerKarina
238RafaelKyra
239KingstonKayleigh
240DominickAddyson
241EzekielKiara
242GriffinJazmine
243DevonKarla
244DrewCamryn
245LukasAlina
246JohnnyLola
247TyKyla
248PedroKelly
249TysonFatima
250CaidenTiffany
251MateoKira
252BraylonCrystal
253CashMallory
254AdenEsmeralda
255ChanceAlejandra
256TaylorEleanor
257MarcosAngelica
258MaximusJayda
259RubenAbby
260EmanuelKara
261SimonVeronica
262CorbinCarmen
263BrennanJamie
264DillonRyleigh
265SkylerValentina
266MylesAllyson
267XanderDakota
268JaxsonKamryn
269DawsonCourtney
270KameronCecilia
271KylerMadeleine
272AxelAniya
273ColbyAlison
274JonasEsther
275JoaquinHeaven
276PaytonAubree
277BrockLindsey
278FrankLeilani
279EnriqueNina
280QuinnMelody
281EmilioMacy
282MalikAshlynn
283GradyJoanna
284AngeloCassandra
285JulioAlayna
286DerrickKaydence
287RaulMadilyn
288FabianAurora
289CoreyHeidi
290GerardoEmerson
291DanteKimora
292EzraMadalyn
293ArmandoErica
294AllenJosie
295TheodoreKatelynn
296GaelGuadalupe
297AmirHarper
298ZanderIvy
299AdanLexi
300MaximilianCamille
301RandySavanna
302EastonDulce
303DustinDaniella
304LucaLucia
305PhillipEmely
306JuliusJoselyn
307CharlieKiley
308RonaldKailey
309JakobMiriam
310CadeCynthia
311BrettRihanna
312TrentGeorgia
313SilasRylie
314KeithHarmony
315EmilianoKiera
316TreyKyleigh
317JalenMonica
318DariusBethany
319LaneKaylie
320JerryCameron
321JaimeTeagan
322ScottCora
323GrahamBrynn
324WestonCiara
325BraydonGenevieve
326AndersonAlice
327RodrigoMaddison
328PabloEliza
329SaulTatiana
330DannyJaelyn
331DonaldErika
332ElliotXimena
333BrayanApril
334DallasMarely
335LorenzoJulie
336CaseyDanica
337MitchellPresley
338AlbertoBrielle
339TristenJulissa
340RowanAngie
341JaysonIris
342GustavoBrenda
343AadenHazel
344AmariRose
345DeanMalia
346BraedenShayla
347DeclanFiona
348ChrisPhoebe
349IsmaelNayeli
350DanePaola
351LouisKaelyn
352ArturoSelena
353BrendenAudrina
354FelixRebekah
355JimmyCarolina
356CohenJaniyah
357TonyMichaela
358HoldenPenelope
359ReidJaniya
360AbelAnastasia
361BennettAdeline
362ZackaryRuth
363ArthurSasha
364NehemiahDenise
365RickyHolly
366EstebanMadisyn
367CruzHanna
368FinnTatum
369MauricioMarlee
370DennisNataly
371KeatonHelen
372AlbertJanelle
373MarvinLizbeth
374MathewSerena
375LarryAnya
376MoisesJaslene
377IssacKaylin
378PhilipJazlyn
379QuentinNancy
380CurtisLindsay
381GreysonDesiree
382JamesonHayley
383EverettItzel
384JayceImani
385DarrenMadelynn
386ElliottAsia
387UrielKadence
388AlfredoMadyson
389HugoTalia
390AlecJane
391JamariKayden
392MarshallAnnie
393WalterAmari
394JudahBridget
395JayRaegan
396LanceJadyn
397BeauCeleste
398AliJimena
399LandynLuna
400YahirYasmin
401PhoenixEmilia
402NickolasAnnika
403KobeEstrella
404BryantSarai
405MauriceLacey
406RussellAyla
407LelandAlessandra
408ColtenWillow
409ReedNyla
410DavisDayana
411JoeLilah
412ErnestoLilliana
413DesmondNatasha
414KadeHadley
415ReeceHarley
416MorganPriscilla
417RamonClaudia
418RoccoAllisson
419OrlandoBaylee
420RykerBrenna
421BrodieBrittany
422PaxtonSkyler
423JacobyFernanda
424DouglasDanna
425KristopherMelany
426GaryCali
427LawrenceLia
428IzaiahMacie
429SolomonLyric
430NikolasLogan
431MekhiGloria
432JusticeLana
433TateMylee
434JaydonCindy
435SalvadorLilian
436ShaunAmira
437AlvinAnahi
438EddieAlissa
439KaneAnaya
440DavionLena
441ZachariahAinsley
442DorianSandra
443TitusNoelle
444KellenMarisol
445CamronMeredith
446IsiahKailyn
447JavonLesly
448NasirJohanna
449MiloDiamond
450JohanEvangeline
451ByronJuliet
452JasperKathleen
453JonathonMeghan
454ChadPaisley
455MarcAthena
456KelvinHailee
457ChandlerRosa
458SamWendy
459CoryEmilee
460DeandreSage
461RiverAlanna
462ReeseElaina
463RogerCara
464QuintonNia
465TalonParis
466RomeoCasey
467FranklinDana
468NoelEmery
469AlijahRowan
470GuillermoAubrie
471GunnerKaitlin
472DamonJaden
473JadonKenzie
474EmersonKiana
475MichealViviana
476BruceNorah
477TerryLauryn
478KoltonPerla
479MelvinAmiyah
480BeckettAlyson
481PorterRachael
482AugustShannon
483BrycenAileen
484DaytonMiracle
485JamarionLillie
486LeonelDanika
487KarsonHeather
488ZaydenKassidy
489KeaganTaryn
490CarlTori
491KhalilFrancesca
492CristopherKristen
493NelsonAmya
494BraidenElle
495MosesKristina
496IsaiasCheyanne
497RoyHaylie
498TristonPatricia
499WalkerAnne
500KaleSamara
501JermaineSkye
502LeonKali
503RodneyAmerica
504KristianLexie
505MohamedParker
506RonanHalle
507PierceLondyn
508TraceAbbigail
509WarrenLinda
510JefferyHallie
511MaverickSaniya
512CyrusBryanna
513QuincyBailee
514NathanaelJaylynn
515SkylarMckayla
516TommyQuinn
517ConorJaelynn
518NoeJaida
519EzequielCaylee
520DemetriusJaiden
521JaylinMelina
522KendrickAbril
523FrederickSidney
524TerranceKassandra
525BobbyElisabeth
526JamisonAdalyn
527JonKaylynn
528RohanMercedes
529JettYesenia
530KieranElliana
531TobiasBrylee
532AriDylan
533ColtIsabela
534GideonRyan
535FelipeAshlee
536KennyDaphne
537WilsonKenya
538OrionMarina
539KamariChristine
540GunnarMikaela
541JessieKaitlynn
542AlonzoJustice
543GianniSaniyah
544OmariJaliyah
545WaylonIngrid
546MalcolmMarie
547EmmettNatalee
548AbramJoy
549JulienJuliette
550LondonSimone
551TomasAdelaide
552AllanKrystal
553TerrellKennedi
554MatteoMila
555TristinTamia
556JairoAddisyn
557ReginaldAylin
558BrentDayanara
559AhmadSylvia
560YandelClarissa
561ReneMaritza
562WillieVirginia
563BostonBraelyn
564BillyJolie
565MarlonJaidyn
566TrevonKinsley
567AydanKirsten
568JamalLaney
569AldoMarilyn
570ArielWhitney
571CasonJanessa
572BraylenRaquel
573JavionAnika
574JoeyKamila
575RogelioAria
576AhmedRubi
577DominikAdelyn
578BrendonAmara
579TobyAyanna
580KodyTeresa
581MarquisZariah
582UlisesKaleigh
583ArmaniAmani
584AdrielCarla
585AlfonsoYareli
586BrandenGwendolyn
587WillPaulina
588CraigNathalie
589IbrahimAnnabella
590OsvaldoJaylin
591WadeTabitha
592HarleyDeanna
593SteveMadalynn
594DavinJourney
595DeshawnAiyana
596KasonSkyla
597DamionYaretzi
598JaylonAda
599JeffersonLiana
600AronKarlee
601BrooksJenny
602DarianMyla
603GeraldCristina
604RolandoMyah
605TerrenceLisa
606EnzoTania
607KianIsis
608RylandJayleen
609BarrettJordin
610JaedenArely
611BenAzul
612BradynHelena
613GiovaniAryanna
614BlaineJaqueline
615MaddenLucille
616JeromeDestinee
617MuhammadMartha
618RonnieZoie
619LayneArielle
620KolbyLiberty
621LeonardMarlene
622VicenteElisa
623CaleIsla
624AlessandroNoemi
625ZacheryRaven
626GavynJessie
627AydinAleah
628XzavierKailee
629MalakaiKaliyah
630RaphaelLilyana
631CannonHaven
632RudyTara
633AsaGiana
634DarrellCamilla
635GiancarloMaliyah
636ElishaIrene
637JuniorCarley
638ZackeryMaeve
639AlvaroLea
640LewisMacey
641ValentinSharon
642DeaconAlisha
643JaseMarisa
644HarryJaylene
645KendallKaya
646RashadScarlet
647FinneganSiena
648MohammedAdyson
649RamiroMaia
650CedricShiloh
651BrennenTiana
652SantinoJaycee
653StanleyGisselle
654TyroneYazmin
655ChaceEve
656FrancisShyanne
657JohnathonArabella
658TeaganSherlyn
659ZechariahSariah
660AlonsoAmiya
661KaedenKiersten
662KamdenMadilynn
663GilbertoShania
664RayAleena
665KarterFinley
666LucianoKinley
667NicoKaia
668KoleAliya
669AryanTaliyah
670DravenPamela
671JamieYoselin
672MisaelEllen
673LeeCarlie
674AlexzanderMonserrat
675CamrenJakayla
676GiovannyReyna
677AmareYaritza
678RhettCarolyn
679RhysClare
680RodolfoLorelei
681NashPaula
682MarkusZaria
683DevenGracelyn
684MohammadKasey
685MosheRegan
686QuintinAlena
687DwayneAngelique
688MemphisRegina
689AtticusBritney
690DavianEmilie
691EugeneMariam
692JaxJaylee
693AntoineJulianne
694WayneGreta
695RandallElyse
696SemajLainey
697UriahKallie
698ClarkFelicity
699AidynZion
700JordenAspen
701MaximCarlee
702AdityaAnnalise
703LawsonIliana
704MessiahLarissa
705KorbinAkira
706SullivanSonia
707FreddyCatalina
708DemarcusPhoenix
709NeilJoslyn
710BriceAnabelle
711KingMollie
712DavonSusan
713ElvisJudith
714AceDestiney
715DexterHillary
716HeathJanet
717DuncanKatrina
718JamarMareli
719SincereAnsley
720IrvinKaylyn
721RemingtonAlexus
722KadinGia
723SorenMaci
724TyreeElsa
725DamarionStacy
726TalanKaylen
727AdrienCarissa
728GilbertHaleigh
729KeenanLorena
730DarnellJazlynn
731AdolfoMilagros
732TristianLuz
733DerickLeanna
734IsaiRenee
735RyleeShaniya
736GaugeCharlie
737HaroldAbbie
738KareemCailyn
739DeangeloCherish
740AgustinElsie
741ColemanJazmyn
742ZavierElaine
743LamarEmmalee
744EmeryLuciana
745JaydinDahlia
746DevanJamya
747JordynBelinda
748MathiasMariyah
749PrinceChaya
750SageDayami
751SeamusRhianna
752JasiahYadira
753EfrainAryana
754DarrylRosemary
755ArjunArmani
756MikeCecelia
757RolandCelia
758ConradBarbara
759KamronCristal
760HamzaEileen
761SantosRayna
762FrankieCampbell
763DominiqueAmina
764MarleyAisha
765VanceAmirah
766DaxAlly
767JamirAraceli
768KylanAverie
769ToddMayra
770MaximoSanaa
771JabariPatience
772MatthiasLeyla
773HaidenSelah
774LukaZara
775MarceloChanel
776KeonKaiya
777LaytonKeyla
778TyrellMiah
779KashAimee
780RaidenGiovanna
781CullenAmelie
782DonteKelsie
783JovaniAlisson
784CordellAngeline
785KasenDominique
786RoryAdrienne
787AlfredBrisa
788DarwinCierra
789ErnestPaloma
790BaileyIsabell
791GaigePrecious
792HassanAlma
793JamarcusCharity
794KillianJacquelyn
795AugustusJanae
796TrevinFrances
797ZainShyla
798EllisJaniah
799RexKierra
800YusufKarlie
801BrunoAnnabel
802JaidynJacey
803JustusKarissa
804RoninJaylah
805HumbertoXiomara
806JaquanEdith
807JoshMarianna
808KaseyDamaris
809WinstonDeborah
810DashawnJaylyn
811LucianEvelin
812MatiasMara
813SidneyOlive
814IgnacioAyana
815NigelIndia
816VanKendal
817ElianKayley
818FinleyTamara
819JaronBriley
820AddisonCharlee
821AedanNylah
822BraedonAbbey
823JadynMoriah
824KonnerSaige
825ZayneSavanah
826FrancoGiada
827NikoHana
828SavionLizeth
829CristoferMatilda
830DeonAnn
831KrishJazlene
832AntonGillian
833BroganBeatrice
834CaelIreland
835CobyKarly
836KymaniMylie
837MarcelYasmine
838YairAshly
839DaleKenna
840BoMaleah
841JordonCorinne
842SamirKeely
843DarienTanya
844ZaireTianna
845RossAdalynn
846VaughnRyann
847DevynSalma
848KenyonAreli
849ClayKarma
850DarioShyann
851IshaanKaley
852JairTheresa
853KaelEvie
854AdonisGina
855JovannyRoselyn
856ClintonKaila
857ReyJaylen
858ChaimNatalya
859GermanMeadow
860HarperRayne
861NathenAliza
862RigobertoYuliana
863SonnyJune
864GlennLilianna
865OctavioNathaly
866BlazeAli
867KeshawnAlisa
868RalphAracely
869EanBelen
870NikhilTess
871RayanJocelynn
872SterlingLitzy
873BransonMakena
874JadielAbagail
875DillanGiuliana
876JeramiahJoyce
877KoenLibby
878KonnorLillianna
879AntwanThalia
880HoustonTia
881TyreseSarahi
882DereonZaniyah
883LeonidasKristin
884ZackLorelai
885FisherMattie
886JaydanTaniya
887QuintenJaslyn
888NickGemma
889UrijahValery
890DarionLailah
891JovanMckinley
892SalvatoreMicah
893BeckhamDeja
894JarrettFrida
895AntonyBrynlee
896EdenJewel
897MakaiKrista
898ZaidenMira
899BroderickYamilet
900CamrynAdison
901MalakiCarina
902NikolaiKarli
903HowardMagdalena
904ImmanuelStephany
905DemarionCharlize
906ValentinoRaelynn
907JovanniAliana
908AyaanCassie
909EthenMina
910LeandroKarley
911RoyceShirley
912YaelMarlie
913YosefAlani
914JeanTaniyah
915MarquiseCloe
916AldenSanai
917LeroyLina
918GavenNola
919JovanyAnabella
920TyshawnDalia
921AaravRaina
922KadynMariela
923MiltonAriella
924ZaidBria
925KeltonKamari
926TrippMonique
927KamrenAshleigh
928SladeReina
929HezekiahAlia
930JakobeAshanti
931NathanialLara
932RishiLilia
933ShamarJustine
934GeovanniLeia
935PranavMaribel
936RoderickAbigayle
937BentleyTiara
938ClarenceAlannah
939LyricPrincess
940BernardSydnee
941CarmeloKamora
942DenzelPaityn
943MaximillianPayten
944ReynaldoNaima
945CassiusGretchen
946GordonHeidy
947ReubenNyasia
948SamsonLivia
949YadielMarin
950JayvonShaylee
951ReillyMaryjane
952SheldonLaci
953AbdullahNathalia
954JaggerAzaria
955ThaddeusAnabel
956CaseChasity
957KysonEmmy
958LamontIzabelle
959ChazDenisse
960MakhiEmelia
961JanMireya
962MarquesShea
963OswaldoAmiah
964DonavanDixie
965KeyonMaren
966KyanAveri
967SimeonEsperanza
968TrystanMicaela
969AndreasSelina
970DangeloAlyvia
971LandinChana
972ReaganAvah
973TurnerDonna
974ArnavKaylah
975BrentonAshtyn
976CallumKarsyn
977JayvionMakaila
978BridgerShayna
979SammyEssence
980DeeganLeticia
981JaylanMiya
982LennonRory
983OdinDesirae
984AbdielKianna
985JerimiahLaurel
986EliezerNeveah
987BronsonAmaris
988CorneliusHadassah
989PierreDania
990CortezHailie
991BaronJamiya
992CarloKathy
993CarsenLaylah
994FletcherRiya
995IzayahDiya
996KoltenCarleigh
997DamariIyana
998HughKenley
999JensenSloane
1000YuremElianna
Note: Rank 1 is the most popular, +rank 2 is the next most popular, and so forth. +

+
+ + + + +
  + Privacy Policy  + | Website Policies + & Other Important Information  + | Site Map
+ diff --git a/google-python-exercises/babynames/babynames.py b/google-python-exercises/babynames/babynames.py new file mode 100755 index 00000000..a7941054 --- /dev/null +++ b/google-python-exercises/babynames/babynames.py @@ -0,0 +1,68 @@ +#!/usr/bin/python +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +import sys +import re + +"""Baby Names exercise + +Define the extract_names() function below and change main() +to call it. + +For writing regex, it's nice to include a copy of the target +text for inspiration. + +Here's what the html looks like in the baby.html files: +... +

Popularity in 1990

+.... +1MichaelJessica +2ChristopherAshley +3MatthewBrittany +... + +Suggested milestones for incremental development: + -Extract the year and print it + -Extract the names and rank numbers and just print them + -Get the names data into a dict and print it + -Build the [year, 'name rank', ... ] list and print it + -Fix main() to use the extract_names list +""" + +def extract_names(filename): + """ + Given a file name for baby.html, returns a list starting with the year string + followed by the name-rank strings in alphabetical order. + ['2006', 'Aaliyah 91', Aaron 57', 'Abagail 895', ' ...] + """ + # +++your code here+++ + return + + +def main(): + # This command-line parsing code is provided. + # Make a list of command line arguments, omitting the [0] element + # which is the script itself. + args = sys.argv[1:] + + if not args: + print 'usage: [--summaryfile] file [file ...]' + sys.exit(1) + + # Notice the summary flag and remove it from args if it is present. + summary = False + if args[0] == '--summaryfile': + summary = True + del args[0] + + # +++your code here+++ + # For each filename, get the names, then either print the text output + # or write it to a summary file + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/babynames/solution/babynames.py b/google-python-exercises/babynames/solution/babynames.py new file mode 100755 index 00000000..a08ba52e --- /dev/null +++ b/google-python-exercises/babynames/solution/babynames.py @@ -0,0 +1,132 @@ +#!/usr/bin/python +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +import sys +import re + +"""Baby Names exercise + +Define the extract_names() function below and change main() +to call it. + +For writing regex, it's nice to include a copy of the target +text for inspiration. + +Here's what the html looks like in the baby.html files: +... +

Popularity in 1990

+.... +1MichaelJessica +2ChristopherAshley +3MatthewBrittany +... + +Suggested milestones for incremental development: + -Extract the year and print it + -Extract the names and rank numbers and just print them + -Get the names data into a dict and print it + -Build the [year, 'name rank', ... ] list and print it + -Fix main() to use the extract_names list +""" + +def extract_names(filename): + """ + Given a file name for baby.html, returns a list starting with the year string + followed by the name-rank strings in alphabetical order. + ['2006', 'Aaliyah 91', Aaron 57', 'Abagail 895', ' ...] + """ + # +++your code here+++ + # LAB(begin solution) + # The list [year, name_and_rank, name_and_rank, ...] we'll eventually return. + names = [] + + # Open and read the file. + f = open(filename, 'rU') + text = f.read() + # Could process the file line-by-line, but regex on the whole text + # at once is even easier. + + # Get the year. + year_match = re.search(r'Popularity\sin\s(\d\d\d\d)', text) + if not year_match: + # We didn't find a year, so we'll exit with an error message. + sys.stderr.write('Couldn\'t find the year!\n') + sys.exit(1) + year = year_match.group(1) + names.append(year) + + # Extract all the data tuples with a findall() + # each tuple is: (rank, boy-name, girl-name) + tuples = re.findall(r'(\d+)(\w+)\(\w+)', text) + #print tuples + + # Store data into a dict using each name as a key and that + # name's rank number as the value. + # (if the name is already in there, don't add it, since + # this new rank will be bigger than the previous rank). + names_to_rank = {} + for rank_tuple in tuples: + (rank, boyname, girlname) = rank_tuple # unpack the tuple into 3 vars + if boyname not in names_to_rank: + names_to_rank[boyname] = rank + if girlname not in names_to_rank: + names_to_rank[girlname] = rank + # You can also write: + # for rank, boyname, girlname in tuples: + # ... + # To unpack the tuples inside a for-loop. + + # Get the names, sorted in the right order + sorted_names = sorted(names_to_rank.keys()) + + # Build up result list, one element per line + for name in sorted_names: + names.append(name + " " + names_to_rank[name]) + + return names + # LAB(replace solution) + # return + # LAB(end solution) + + +def main(): + # This command-line parsing code is provided. + # Make a list of command line arguments, omitting the [0] element + # which is the script itself. + args = sys.argv[1:] + + if not args: + print 'usage: [--summaryfile] file [file ...]' + sys.exit(1) + + # Notice the summary flag and remove it from args if it is present. + summary = False + if args[0] == '--summaryfile': + summary = True + del args[0] + + # +++your code here+++ + # For each filename, get the names, then either print the text output + # or write it to a summary file + # LAB(begin solution) + for filename in args: + names = extract_names(filename) + + # Make text out of the whole list + text = '\n'.join(names) + + if summary: + outf = open(filename + '.summary', 'w') + outf.write(text + '\n') + outf.close() + else: + print text + # LAB(end solution) + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/.wordcount.py.swp b/google-python-exercises/basic/.wordcount.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..89f8501bd6927642a073f83ae4087cb4c136a140 GIT binary patch literal 12288 zcmeI2&u<$=6vw9^#LohvT;M=ol7nLsuYaTx$Wka(e<@N+E2T|UP-Tt1V|&~6&T3~i zj@81cf8segGw;p&yf<&H zc)E?PjkEMpa75tsv=FDhsa|;RD)`M8p(up1Fq^5RM){BfX^{zBguRhjU*wcApgLJa5b$`PX z@C5cHklTLk<%43a)od&+F3_Q8F77+j-|z%H0Z+ga@B};oPrwuK1U!NJlYmVRh`$lq z1JGIMKq>t3FHgV|@B};oPrwuK1Uvyxz!UHUJONL@6Sz+Z$WVwo4+*jGFapBw|NK9I zpYhxOm(VRpLkYA6Jr6wxJqZ2!q!7PAA3{6O7^*ppT#oItIN8{q>j-KS19@-$CC(UqGKjA43^*1UdkH@~99WK<`60 zp$K{%x(pqKUV$pm5_A}P0s8R~A>M`FffA?z5p)=O1o{n3ZbP3!x1gKQ4QLBG1)YRm zgdDs3q#k@2o`5Id33vh}0iuzNlI5z1`qb$pa-=#PT3@G1r^7cook|-|4ZO_61ZpR; z%gw6$oMusCsgftx5;FFCix67^&p8?r;SC%!7lBrLBms4DgI zq{mbZjfYWhNE4mYC^wd1E=p7YQx}GjA$N+9dU`Zs3o&jHoaZBj1f?=FQ8K{YP!Y!B zNaA)Bs*s)G>%!6!7R}0(3_Bdfj5EGM@Vf7v12@IySwb#5_~`xudp}@X%hkZ7G0KJW z+{a~|g3B~Jt5nG@R;q=Ad$@Lysbr7ufAi_dgsw6V2I_d`HiFN|E;&ZTOuBg#hsM3l z6t5cZ-Gb{yGQ+56sjoANEKj)%(6|wYG|nOmnlw~#sxq3l52w;Pc5INN!|W3-JA2kX zje9Kq4T)#prE-ngjcV^}-R|9d*ZAlro%X*oG zF?B{(lib!(Sa=F^WUME-@Wi|`93)7WPNSBt1L>;?i(_9m#C+j1kj>!zq(W{B-htp?4z zG-Qx)6^d3sr%K$jrbGQ$A{VHNSh=k(OMiR1Z0Qk;HxW`JGZ$dx!cbM*Vk_`p;bKRx zkVR86=*}+WKp=iaU4>jL^fe2_25k=jTs?3Tss^-a`Sx@R7Ht5gkV+hLmPW0L^X^%} zk;<;#hN%c_BRn*+5Syw9lDdApqTDv74)awpSNp%JoA$D3=G3$RE;TQu(mT)^0mu8VKCks!P(u~yY*0sAQ3)S-KeKWC|1d0;lGfn>4+% sN?Ry7?nlLh<2s#W(O_t?U7C$@6||A`&@~t8xykC?D5;kPRI^t61Kkr^DgXcg literal 0 HcmV?d00001 diff --git a/google-python-exercises/basic/alice.txt b/google-python-exercises/basic/alice.txt new file mode 100644 index 00000000..4005a1ca --- /dev/null +++ b/google-python-exercises/basic/alice.txt @@ -0,0 +1,3600 @@ +Alice's Adventures in Wonderland + + ALICE'S ADVENTURES IN WONDERLAND + + Lewis Carroll + + THE MILLENNIUM FULCRUM EDITION 3.0 + + + + + CHAPTER I + + Down the Rabbit-Hole + + + Alice was beginning to get very tired of sitting by her sister +on the bank, and of having nothing to do: once or twice she had +peeped into the book her sister was reading, but it had no +pictures or conversations in it, `and what is the use of a book,' +thought Alice `without pictures or conversation?' + + So she was considering in her own mind (as well as she could, +for the hot day made her feel very sleepy and stupid), whether +the pleasure of making a daisy-chain would be worth the trouble +of getting up and picking the daisies, when suddenly a White +Rabbit with pink eyes ran close by her. + + There was nothing so VERY remarkable in that; nor did Alice +think it so VERY much out of the way to hear the Rabbit say to +itself, `Oh dear! Oh dear! I shall be late!' (when she thought +it over afterwards, it occurred to her that she ought to have +wondered at this, but at the time it all seemed quite natural); +but when the Rabbit actually TOOK A WATCH OUT OF ITS WAISTCOAT- +POCKET, and looked at it, and then hurried on, Alice started to +her feet, for it flashed across her mind that she had never +before seen a rabbit with either a waistcoat-pocket, or a watch to +take out of it, and burning with curiosity, she ran across the +field after it, and fortunately was just in time to see it pop +down a large rabbit-hole under the hedge. + + In another moment down went Alice after it, never once +considering how in the world she was to get out again. + + The rabbit-hole went straight on like a tunnel for some way, +and then dipped suddenly down, so suddenly that Alice had not a +moment to think about stopping herself before she found herself +falling down a very deep well. + + Either the well was very deep, or she fell very slowly, for she +had plenty of time as she went down to look about her and to +wonder what was going to happen next. First, she tried to look +down and make out what she was coming to, but it was too dark to +see anything; then she looked at the sides of the well, and +noticed that they were filled with cupboards and book-shelves; +here and there she saw maps and pictures hung upon pegs. She +took down a jar from one of the shelves as she passed; it was +labelled `ORANGE MARMALADE', but to her great disappointment it +was empty: she did not like to drop the jar for fear of killing +somebody, so managed to put it into one of the cupboards as she +fell past it. + + `Well!' thought Alice to herself, `after such a fall as this, I +shall think nothing of tumbling down stairs! How brave they'll +all think me at home! Why, I wouldn't say anything about it, +even if I fell off the top of the house!' (Which was very likely +true.) + + Down, down, down. Would the fall NEVER come to an end! `I +wonder how many miles I've fallen by this time?' she said aloud. +`I must be getting somewhere near the centre of the earth. Let +me see: that would be four thousand miles down, I think--' (for, +you see, Alice had learnt several things of this sort in her +lessons in the schoolroom, and though this was not a VERY good +opportunity for showing off her knowledge, as there was no one to +listen to her, still it was good practice to say it over) `--yes, +that's about the right distance--but then I wonder what Latitude +or Longitude I've got to?' (Alice had no idea what Latitude was, +or Longitude either, but thought they were nice grand words to +say.) + + Presently she began again. `I wonder if I shall fall right +THROUGH the earth! How funny it'll seem to come out among the +people that walk with their heads downward! The Antipathies, I +think--' (she was rather glad there WAS no one listening, this +time, as it didn't sound at all the right word) `--but I shall +have to ask them what the name of the country is, you know. +Please, Ma'am, is this New Zealand or Australia?' (and she tried +to curtsey as she spoke--fancy CURTSEYING as you're falling +through the air! Do you think you could manage it?) `And what +an ignorant little girl she'll think me for asking! No, it'll +never do to ask: perhaps I shall see it written up somewhere.' + + Down, down, down. There was nothing else to do, so Alice soon +began talking again. `Dinah'll miss me very much to-night, I +should think!' (Dinah was the cat.) `I hope they'll remember +her saucer of milk at tea-time. Dinah my dear! I wish you were +down here with me! There are no mice in the air, I'm afraid, but +you might catch a bat, and that's very like a mouse, you know. +But do cats eat bats, I wonder?' And here Alice began to get +rather sleepy, and went on saying to herself, in a dreamy sort of +way, `Do cats eat bats? Do cats eat bats?' and sometimes, `Do +bats eat cats?' for, you see, as she couldn't answer either +question, it didn't much matter which way she put it. She felt +that she was dozing off, and had just begun to dream that she +was walking hand in hand with Dinah, and saying to her very +earnestly, `Now, Dinah, tell me the truth: did you ever eat a +bat?' when suddenly, thump! thump! down she came upon a heap of +sticks and dry leaves, and the fall was over. + + Alice was not a bit hurt, and she jumped up on to her feet in a +moment: she looked up, but it was all dark overhead; before her +was another long passage, and the White Rabbit was still in +sight, hurrying down it. There was not a moment to be lost: +away went Alice like the wind, and was just in time to hear it +say, as it turned a corner, `Oh my ears and whiskers, how late +it's getting!' She was close behind it when she turned the +corner, but the Rabbit was no longer to be seen: she found +herself in a long, low hall, which was lit up by a row of lamps +hanging from the roof. + + There were doors all round the hall, but they were all locked; +and when Alice had been all the way down one side and up the +other, trying every door, she walked sadly down the middle, +wondering how she was ever to get out again. + + Suddenly she came upon a little three-legged table, all made of +solid glass; there was nothing on it except a tiny golden key, +and Alice's first thought was that it might belong to one of the +doors of the hall; but, alas! either the locks were too large, or +the key was too small, but at any rate it would not open any of +them. However, on the second time round, she came upon a low +curtain she had not noticed before, and behind it was a little +door about fifteen inches high: she tried the little golden key +in the lock, and to her great delight it fitted! + + Alice opened the door and found that it led into a small +passage, not much larger than a rat-hole: she knelt down and +looked along the passage into the loveliest garden you ever saw. +How she longed to get out of that dark hall, and wander about +among those beds of bright flowers and those cool fountains, but +she could not even get her head through the doorway; `and even if +my head would go through,' thought poor Alice, `it would be of +very little use without my shoulders. Oh, how I wish +I could shut up like a telescope! I think I could, if I only +know how to begin.' For, you see, so many out-of-the-way things +had happened lately, that Alice had begun to think that very few +things indeed were really impossible. + + There seemed to be no use in waiting by the little door, so she +went back to the table, half hoping she might find another key on +it, or at any rate a book of rules for shutting people up like +telescopes: this time she found a little bottle on it, (`which +certainly was not here before,' said Alice,) and round the neck +of the bottle was a paper label, with the words `DRINK ME' +beautifully printed on it in large letters. + + It was all very well to say `Drink me,' but the wise little +Alice was not going to do THAT in a hurry. `No, I'll look +first,' she said, `and see whether it's marked "poison" or not'; +for she had read several nice little histories about children who +had got burnt, and eaten up by wild beasts and other unpleasant +things, all because they WOULD not remember the simple rules +their friends had taught them: such as, that a red-hot poker +will burn you if you hold it too long; and that if you cut your +finger VERY deeply with a knife, it usually bleeds; and she had +never forgotten that, if you drink much from a bottle marked +`poison,' it is almost certain to disagree with you, sooner or +later. + + However, this bottle was NOT marked `poison,' so Alice ventured +to taste it, and finding it very nice, (it had, in fact, a sort +of mixed flavour of cherry-tart, custard, pine-apple, roast +turkey, toffee, and hot buttered toast,) she very soon finished +it off. + + * * * * * * * + + * * * * * * + + * * * * * * * + + `What a curious feeling!' said Alice; `I must be shutting up +like a telescope.' + + And so it was indeed: she was now only ten inches high, and +her face brightened up at the thought that she was now the right +size for going through the little door into that lovely garden. +First, however, she waited for a few minutes to see if she was +going to shrink any further: she felt a little nervous about +this; `for it might end, you know,' said Alice to herself, `in my +going out altogether, like a candle. I wonder what I should be +like then?' And she tried to fancy what the flame of a candle is +like after the candle is blown out, for she could not remember +ever having seen such a thing. + + After a while, finding that nothing more happened, she decided +on going into the garden at once; but, alas for poor Alice! +when she got to the door, she found she had forgotten the +little golden key, and when she went back to the table for it, +she found she could not possibly reach it: she could see it +quite plainly through the glass, and she tried her best to climb +up one of the legs of the table, but it was too slippery; +and when she had tired herself out with trying, +the poor little thing sat down and cried. + + `Come, there's no use in crying like that!' said Alice to +herself, rather sharply; `I advise you to leave off this minute!' +She generally gave herself very good advice, (though she very +seldom followed it), and sometimes she scolded herself so +severely as to bring tears into her eyes; and once she remembered +trying to box her own ears for having cheated herself in a game +of croquet she was playing against herself, for this curious +child was very fond of pretending to be two people. `But it's no +use now,' thought poor Alice, `to pretend to be two people! Why, +there's hardly enough of me left to make ONE respectable +person!' + + Soon her eye fell on a little glass box that was lying under +the table: she opened it, and found in it a very small cake, on +which the words `EAT ME' were beautifully marked in currants. +`Well, I'll eat it,' said Alice, `and if it makes me grow larger, +I can reach the key; and if it makes me grow smaller, I can creep +under the door; so either way I'll get into the garden, and I +don't care which happens!' + + She ate a little bit, and said anxiously to herself, `Which +way? Which way?', holding her hand on the top of her head to +feel which way it was growing, and she was quite surprised to +find that she remained the same size: to be sure, this generally +happens when one eats cake, but Alice had got so much into the +way of expecting nothing but out-of-the-way things to happen, +that it seemed quite dull and stupid for life to go on in the +common way. + + So she set to work, and very soon finished off the cake. + + * * * * * * * + + * * * * * * + + * * * * * * * + + + + + CHAPTER II + + The Pool of Tears + + + `Curiouser and curiouser!' cried Alice (she was so much +surprised, that for the moment she quite forgot how to speak good +English); `now I'm opening out like the largest telescope that +ever was! Good-bye, feet!' (for when she looked down at her +feet, they seemed to be almost out of sight, they were getting so +far off). `Oh, my poor little feet, I wonder who will put on +your shoes and stockings for you now, dears? I'm sure _I_ shan't +be able! I shall be a great deal too far off to trouble myself +about you: you must manage the best way you can; --but I must be +kind to them,' thought Alice, `or perhaps they won't walk the +way I want to go! Let me see: I'll give them a new pair of +boots every Christmas.' + + And she went on planning to herself how she would manage it. +`They must go by the carrier,' she thought; `and how funny it'll +seem, sending presents to one's own feet! And how odd the +directions will look! + + ALICE'S RIGHT FOOT, ESQ. + HEARTHRUG, + NEAR THE FENDER, + (WITH ALICE'S LOVE). + +Oh dear, what nonsense I'm talking!' + + Just then her head struck against the roof of the hall: in +fact she was now more than nine feet high, and she at once took +up the little golden key and hurried off to the garden door. + + Poor Alice! It was as much as she could do, lying down on one +side, to look through into the garden with one eye; but to get +through was more hopeless than ever: she sat down and began to +cry again. + + `You ought to be ashamed of yourself,' said Alice, `a great +girl like you,' (she might well say this), `to go on crying in +this way! Stop this moment, I tell you!' But she went on all +the same, shedding gallons of tears, until there was a large pool +all round her, about four inches deep and reaching half down the +hall. + + After a time she heard a little pattering of feet in the +distance, and she hastily dried her eyes to see what was coming. +It was the White Rabbit returning, splendidly dressed, with a +pair of white kid gloves in one hand and a large fan in the +other: he came trotting along in a great hurry, muttering to +himself as he came, `Oh! the Duchess, the Duchess! Oh! won't she +be savage if I've kept her waiting!' Alice felt so desperate +that she was ready to ask help of any one; so, when the Rabbit +came near her, she began, in a low, timid voice, `If you please, +sir--' The Rabbit started violently, dropped the white kid +gloves and the fan, and skurried away into the darkness as hard +as he could go. + + Alice took up the fan and gloves, and, as the hall was very +hot, she kept fanning herself all the time she went on talking: +`Dear, dear! How queer everything is to-day! And yesterday +things went on just as usual. I wonder if I've been changed in +the night? Let me think: was I the same when I got up this +morning? I almost think I can remember feeling a little +different. But if I'm not the same, the next question is, Who in +the world am I? Ah, THAT'S the great puzzle!' And she began +thinking over all the children she knew that were of the same age +as herself, to see if she could have been changed for any of +them. + + `I'm sure I'm not Ada,' she said, `for her hair goes in such +long ringlets, and mine doesn't go in ringlets at all; and I'm +sure I can't be Mabel, for I know all sorts of things, and she, +oh! she knows such a very little! Besides, SHE'S she, and I'm I, +and--oh dear, how puzzling it all is! I'll try if I know all the +things I used to know. Let me see: four times five is twelve, +and four times six is thirteen, and four times seven is--oh dear! +I shall never get to twenty at that rate! However, the +Multiplication Table doesn't signify: let's try Geography. +London is the capital of Paris, and Paris is the capital of Rome, +and Rome--no, THAT'S all wrong, I'm certain! I must have been +changed for Mabel! I'll try and say "How doth the little--"' +and she crossed her hands on her lap as if she were saying lessons, +and began to repeat it, but her voice sounded hoarse and +strange, and the words did not come the same as they used to do:-- + + `How doth the little crocodile + Improve his shining tail, + And pour the waters of the Nile + On every golden scale! + + `How cheerfully he seems to grin, + How neatly spread his claws, + And welcome little fishes in + With gently smiling jaws!' + + `I'm sure those are not the right words,' said poor Alice, and +her eyes filled with tears again as she went on, `I must be Mabel +after all, and I shall have to go and live in that poky little +house, and have next to no toys to play with, and oh! ever so +many lessons to learn! No, I've made up my mind about it; if I'm +Mabel, I'll stay down here! It'll be no use their putting their +heads down and saying "Come up again, dear!" I shall only look +up and say "Who am I then? Tell me that first, and then, if I +like being that person, I'll come up: if not, I'll stay down +here till I'm somebody else"--but, oh dear!' cried Alice, with a +sudden burst of tears, `I do wish they WOULD put their heads +down! I am so VERY tired of being all alone here!' + + As she said this she looked down at her hands, and was +surprised to see that she had put on one of the Rabbit's little +white kid gloves while she was talking. `How CAN I have done +that?' she thought. `I must be growing small again.' She got up +and went to the table to measure herself by it, and found that, +as nearly as she could guess, she was now about two feet high, +and was going on shrinking rapidly: she soon found out that the +cause of this was the fan she was holding, and she dropped it +hastily, just in time to avoid shrinking away altogether. + +`That WAS a narrow escape!' said Alice, a good deal frightened at +the sudden change, but very glad to find herself still in +existence; `and now for the garden!' and she ran with all speed +back to the little door: but, alas! the little door was shut +again, and the little golden key was lying on the glass table as +before, `and things are worse than ever,' thought the poor child, +`for I never was so small as this before, never! And I declare +it's too bad, that it is!' + + As she said these words her foot slipped, and in another +moment, splash! she was up to her chin in salt water. Her first +idea was that she had somehow fallen into the sea, `and in that +case I can go back by railway,' she said to herself. (Alice had +been to the seaside once in her life, and had come to the general +conclusion, that wherever you go to on the English coast you find +a number of bathing machines in the sea, some children digging in +the sand with wooden spades, then a row of lodging houses, and +behind them a railway station.) However, she soon made out that +she was in the pool of tears which she had wept when she was nine +feet high. + + `I wish I hadn't cried so much!' said Alice, as she swam about, +trying to find her way out. `I shall be punished for it now, I +suppose, by being drowned in my own tears! That WILL be a queer +thing, to be sure! However, everything is queer to-day.' + + Just then she heard something splashing about in the pool a +little way off, and she swam nearer to make out what it was: at +first she thought it must be a walrus or hippopotamus, but then +she remembered how small she was now, and she soon made out that +it was only a mouse that had slipped in like herself. + + `Would it be of any use, now,' thought Alice, `to speak to this +mouse? Everything is so out-of-the-way down here, that I should +think very likely it can talk: at any rate, there's no harm in +trying.' So she began: `O Mouse, do you know the way out of +this pool? I am very tired of swimming about here, O Mouse!' +(Alice thought this must be the right way of speaking to a mouse: +she had never done such a thing before, but she remembered having +seen in her brother's Latin Grammar, `A mouse--of a mouse--to a +mouse--a mouse--O mouse!') The Mouse looked at her rather +inquisitively, and seemed to her to wink with one of its little +eyes, but it said nothing. + + `Perhaps it doesn't understand English,' thought Alice; `I +daresay it's a French mouse, come over with William the +Conqueror.' (For, with all her knowledge of history, Alice had +no very clear notion how long ago anything had happened.) So she +began again: `Ou est ma chatte?' which was the first sentence in +her French lesson-book. The Mouse gave a sudden leap out of the +water, and seemed to quiver all over with fright. `Oh, I beg +your pardon!' cried Alice hastily, afraid that she had hurt the +poor animal's feelings. `I quite forgot you didn't like cats.' + + `Not like cats!' cried the Mouse, in a shrill, passionate +voice. `Would YOU like cats if you were me?' + + `Well, perhaps not,' said Alice in a soothing tone: `don't be +angry about it. And yet I wish I could show you our cat Dinah: +I think you'd take a fancy to cats if you could only see her. +She is such a dear quiet thing,' Alice went on, half to herself, +as she swam lazily about in the pool, `and she sits purring so +nicely by the fire, licking her paws and washing her face--and +she is such a nice soft thing to nurse--and she's such a capital +one for catching mice--oh, I beg your pardon!' cried Alice again, +for this time the Mouse was bristling all over, and she felt +certain it must be really offended. `We won't talk about her any +more if you'd rather not.' + + `We indeed!' cried the Mouse, who was trembling down to the end +of his tail. `As if I would talk on such a subject! Our family +always HATED cats: nasty, low, vulgar things! Don't let me hear +the name again!' + + `I won't indeed!' said Alice, in a great hurry to change the +subject of conversation. `Are you--are you fond--of--of dogs?' +The Mouse did not answer, so Alice went on eagerly: `There is +such a nice little dog near our house I should like to show you! +A little bright-eyed terrier, you know, with oh, such long curly +brown hair! And it'll fetch things when you throw them, and +it'll sit up and beg for its dinner, and all sorts of things--I +can't remember half of them--and it belongs to a farmer, you +know, and he says it's so useful, it's worth a hundred pounds! +He says it kills all the rats and--oh dear!' cried Alice in a +sorrowful tone, `I'm afraid I've offended it again!' For the +Mouse was swimming away from her as hard as it could go, and +making quite a commotion in the pool as it went. + + So she called softly after it, `Mouse dear! Do come back +again, and we won't talk about cats or dogs either, if you don't +like them!' When the Mouse heard this, it turned round and swam +slowly back to her: its face was quite pale (with passion, Alice +thought), and it said in a low trembling voice, `Let us get to +the shore, and then I'll tell you my history, and you'll +understand why it is I hate cats and dogs.' + + It was high time to go, for the pool was getting quite crowded +with the birds and animals that had fallen into it: there were a +Duck and a Dodo, a Lory and an Eaglet, and several other curious +creatures. Alice led the way, and the whole party swam to the +shore. + + + + CHAPTER III + + A Caucus-Race and a Long Tale + + + They were indeed a queer-looking party that assembled on the +bank--the birds with draggled feathers, the animals with their +fur clinging close to them, and all dripping wet, cross, and +uncomfortable. + + The first question of course was, how to get dry again: they +had a consultation about this, and after a few minutes it seemed +quite natural to Alice to find herself talking familiarly with +them, as if she had known them all her life. Indeed, she had +quite a long argument with the Lory, who at last turned sulky, +and would only say, `I am older than you, and must know better'; +and this Alice would not allow without knowing how old it was, +and, as the Lory positively refused to tell its age, there was no +more to be said. + + At last the Mouse, who seemed to be a person of authority among +them, called out, `Sit down, all of you, and listen to me! I'LL +soon make you dry enough!' They all sat down at once, in a large +ring, with the Mouse in the middle. Alice kept her eyes +anxiously fixed on it, for she felt sure she would catch a bad +cold if she did not get dry very soon. + + `Ahem!' said the Mouse with an important air, `are you all ready? +This is the driest thing I know. Silence all round, if you please! +"William the Conqueror, whose cause was favoured by the pope, was +soon submitted to by the English, who wanted leaders, and had been +of late much accustomed to usurpation and conquest. Edwin and +Morcar, the earls of Mercia and Northumbria--"' + + `Ugh!' said the Lory, with a shiver. + + `I beg your pardon!' said the Mouse, frowning, but very +politely: `Did you speak?' + + `Not I!' said the Lory hastily. + + `I thought you did,' said the Mouse. `--I proceed. "Edwin and +Morcar, the earls of Mercia and Northumbria, declared for him: +and even Stigand, the patriotic archbishop of Canterbury, found +it advisable--"' + + `Found WHAT?' said the Duck. + + `Found IT,' the Mouse replied rather crossly: `of course you +know what "it" means.' + + `I know what "it" means well enough, when I find a thing,' said +the Duck: `it's generally a frog or a worm. The question is, +what did the archbishop find?' + + The Mouse did not notice this question, but hurriedly went on, +`"--found it advisable to go with Edgar Atheling to meet William +and offer him the crown. William's conduct at first was +moderate. But the insolence of his Normans--" How are you +getting on now, my dear?' it continued, turning to Alice as it +spoke. + + `As wet as ever,' said Alice in a melancholy tone: `it doesn't +seem to dry me at all.' + + `In that case,' said the Dodo solemnly, rising to its feet, `I +move that the meeting adjourn, for the immediate adoption of more +energetic remedies--' + + `Speak English!' said the Eaglet. `I don't know the meaning of +half those long words, and, what's more, I don't believe you do +either!' And the Eaglet bent down its head to hide a smile: +some of the other birds tittered audibly. + + `What I was going to say,' said the Dodo in an offended tone, +`was, that the best thing to get us dry would be a Caucus-race.' + + `What IS a Caucus-race?' said Alice; not that she wanted much +to know, but the Dodo had paused as if it thought that SOMEBODY +ought to speak, and no one else seemed inclined to say anything. + + `Why,' said the Dodo, `the best way to explain it is to do it.' +(And, as you might like to try the thing yourself, some winter +day, I will tell you how the Dodo managed it.) + + First it marked out a race-course, in a sort of circle, (`the +exact shape doesn't matter,' it said,) and then all the party +were placed along the course, here and there. There was no `One, +two, three, and away,' but they began running when they liked, +and left off when they liked, so that it was not easy to know +when the race was over. However, when they had been running half +an hour or so, and were quite dry again, the Dodo suddenly called +out `The race is over!' and they all crowded round it, panting, +and asking, `But who has won?' + + This question the Dodo could not answer without a great deal of +thought, and it sat for a long time with one finger pressed upon +its forehead (the position in which you usually see Shakespeare, +in the pictures of him), while the rest waited in silence. At +last the Dodo said, `EVERYBODY has won, and all must have +prizes.' + + `But who is to give the prizes?' quite a chorus of voices +asked. + + `Why, SHE, of course,' said the Dodo, pointing to Alice with +one finger; and the whole party at once crowded round her, +calling out in a confused way, `Prizes! Prizes!' + + Alice had no idea what to do, and in despair she put her hand +in her pocket, and pulled out a box of comfits, (luckily the salt +water had not got into it), and handed them round as prizes. +There was exactly one a-piece all round. + + `But she must have a prize herself, you know,' said the Mouse. + + `Of course,' the Dodo replied very gravely. `What else have +you got in your pocket?' he went on, turning to Alice. + + `Only a thimble,' said Alice sadly. + + `Hand it over here,' said the Dodo. + + Then they all crowded round her once more, while the Dodo +solemnly presented the thimble, saying `We beg your acceptance of +this elegant thimble'; and, when it had finished this short +speech, they all cheered. + + Alice thought the whole thing very absurd, but they all looked +so grave that she did not dare to laugh; and, as she could not +think of anything to say, she simply bowed, and took the thimble, +looking as solemn as she could. + + The next thing was to eat the comfits: this caused some noise +and confusion, as the large birds complained that they could not +taste theirs, and the small ones choked and had to be patted on +the back. However, it was over at last, and they sat down again +in a ring, and begged the Mouse to tell them something more. + + `You promised to tell me your history, you know,' said Alice, +`and why it is you hate--C and D,' she added in a whisper, half +afraid that it would be offended again. + + `Mine is a long and a sad tale!' said the Mouse, turning to +Alice, and sighing. + + `It IS a long tail, certainly,' said Alice, looking down with +wonder at the Mouse's tail; `but why do you call it sad?' And +she kept on puzzling about it while the Mouse was speaking, so +that her idea of the tale was something like this:-- + + `Fury said to a + mouse, That he + met in the + house, + "Let us + both go to + law: I will + prosecute + YOU. --Come, + I'll take no + denial; We + must have a + trial: For + really this + morning I've + nothing + to do." + Said the + mouse to the + cur, "Such + a trial, + dear Sir, + With + no jury + or judge, + would be + wasting + our + breath." + "I'll be + judge, I'll + be jury," + Said + cunning + old Fury: + "I'll + try the + whole + cause, + and + condemn + you + to + death."' + + + `You are not attending!' said the Mouse to Alice severely. +`What are you thinking of?' + + `I beg your pardon,' said Alice very humbly: `you had got to +the fifth bend, I think?' + + `I had NOT!' cried the Mouse, sharply and very angrily. + + `A knot!' said Alice, always ready to make herself useful, and +looking anxiously about her. `Oh, do let me help to undo it!' + + `I shall do nothing of the sort,' said the Mouse, getting up +and walking away. `You insult me by talking such nonsense!' + + `I didn't mean it!' pleaded poor Alice. `But you're so easily +offended, you know!' + + The Mouse only growled in reply. + + `Please come back and finish your story!' Alice called after +it; and the others all joined in chorus, `Yes, please do!' but +the Mouse only shook its head impatiently, and walked a little +quicker. + + `What a pity it wouldn't stay!' sighed the Lory, as soon as it +was quite out of sight; and an old Crab took the opportunity of +saying to her daughter `Ah, my dear! Let this be a lesson to you +never to lose YOUR temper!' `Hold your tongue, Ma!' said the +young Crab, a little snappishly. `You're enough to try the +patience of an oyster!' + + `I wish I had our Dinah here, I know I do!' said Alice aloud, +addressing nobody in particular. `She'd soon fetch it back!' + + `And who is Dinah, if I might venture to ask the question?' +said the Lory. + + Alice replied eagerly, for she was always ready to talk about +her pet: `Dinah's our cat. And she's such a capital one for +catching mice you can't think! And oh, I wish you could see her +after the birds! Why, she'll eat a little bird as soon as look +at it!' + + This speech caused a remarkable sensation among the party. +Some of the birds hurried off at once: one old Magpie began +wrapping itself up very carefully, remarking, `I really must be +getting home; the night-air doesn't suit my throat!' and a Canary +called out in a trembling voice to its children, `Come away, my +dears! It's high time you were all in bed!' On various pretexts +they all moved off, and Alice was soon left alone. + + `I wish I hadn't mentioned Dinah!' she said to herself in a +melancholy tone. `Nobody seems to like her, down here, and I'm +sure she's the best cat in the world! Oh, my dear Dinah! I +wonder if I shall ever see you any more!' And here poor Alice +began to cry again, for she felt very lonely and low-spirited. +In a little while, however, she again heard a little pattering of +footsteps in the distance, and she looked up eagerly, half hoping +that the Mouse had changed his mind, and was coming back to +finish his story. + + + + CHAPTER IV + + The Rabbit Sends in a Little Bill + + + It was the White Rabbit, trotting slowly back again, and +looking anxiously about as it went, as if it had lost something; +and she heard it muttering to itself `The Duchess! The Duchess! +Oh my dear paws! Oh my fur and whiskers! She'll get me +executed, as sure as ferrets are ferrets! Where CAN I have +dropped them, I wonder?' Alice guessed in a moment that it was +looking for the fan and the pair of white kid gloves, and she +very good-naturedly began hunting about for them, but they were +nowhere to be seen--everything seemed to have changed since her +swim in the pool, and the great hall, with the glass table and +the little door, had vanished completely. + + Very soon the Rabbit noticed Alice, as she went hunting about, +and called out to her in an angry tone, `Why, Mary Ann, what ARE +you doing out here? Run home this moment, and fetch me a pair of +gloves and a fan! Quick, now!' And Alice was so much frightened +that she ran off at once in the direction it pointed to, without +trying to explain the mistake it had made. + + `He took me for his housemaid,' she said to herself as she ran. +`How surprised he'll be when he finds out who I am! But I'd +better take him his fan and gloves--that is, if I can find them.' +As she said this, she came upon a neat little house, on the door +of which was a bright brass plate with the name `W. RABBIT' +engraved upon it. She went in without knocking, and hurried +upstairs, in great fear lest she should meet the real Mary Ann, +and be turned out of the house before she had found the fan and +gloves. + + `How queer it seems,' Alice said to herself, `to be going +messages for a rabbit! I suppose Dinah'll be sending me on +messages next!' And she began fancying the sort of thing that +would happen: `"Miss Alice! Come here directly, and get ready +for your walk!" "Coming in a minute, nurse! But I've got to see +that the mouse doesn't get out." Only I don't think,' Alice went +on, `that they'd let Dinah stop in the house if it began ordering +people about like that!' + + By this time she had found her way into a tidy little room with +a table in the window, and on it (as she had hoped) a fan and two +or three pairs of tiny white kid gloves: she took up the fan and +a pair of the gloves, and was just going to leave the room, when +her eye fell upon a little bottle that stood near the looking- +glass. There was no label this time with the words `DRINK ME,' +but nevertheless she uncorked it and put it to her lips. `I know +SOMETHING interesting is sure to happen,' she said to herself, +`whenever I eat or drink anything; so I'll just see what this +bottle does. I do hope it'll make me grow large again, for +really I'm quite tired of being such a tiny little thing!' + + It did so indeed, and much sooner than she had expected: +before she had drunk half the bottle, she found her head pressing +against the ceiling, and had to stoop to save her neck from being +broken. She hastily put down the bottle, saying to herself +`That's quite enough--I hope I shan't grow any more--As it is, I +can't get out at the door--I do wish I hadn't drunk quite so +much!' + + Alas! it was too late to wish that! She went on growing, and +growing, and very soon had to kneel down on the floor: in +another minute there was not even room for this, and she tried +the effect of lying down with one elbow against the door, and the +other arm curled round her head. Still she went on growing, and, +as a last resource, she put one arm out of the window, and one +foot up the chimney, and said to herself `Now I can do no more, +whatever happens. What WILL become of me?' + + Luckily for Alice, the little magic bottle had now had its full +effect, and she grew no larger: still it was very uncomfortable, +and, as there seemed to be no sort of chance of her ever getting +out of the room again, no wonder she felt unhappy. + + `It was much pleasanter at home,' thought poor Alice, `when one +wasn't always growing larger and smaller, and being ordered about +by mice and rabbits. I almost wish I hadn't gone down that +rabbit-hole--and yet--and yet--it's rather curious, you know, +this sort of life! I do wonder what CAN have happened to me! +When I used to read fairy-tales, I fancied that kind of thing +never happened, and now here I am in the middle of one! There +ought to be a book written about me, that there ought! And when +I grow up, I'll write one--but I'm grown up now,' she added in a +sorrowful tone; `at least there's no room to grow up any more +HERE.' + + `But then,' thought Alice, `shall I NEVER get any older than I +am now? That'll be a comfort, one way--never to be an old woman-- +but then--always to have lessons to learn! Oh, I shouldn't like THAT!' + + `Oh, you foolish Alice!' she answered herself. `How can you +learn lessons in here? Why, there's hardly room for YOU, and no +room at all for any lesson-books!' + + And so she went on, taking first one side and then the other, +and making quite a conversation of it altogether; but after a few +minutes she heard a voice outside, and stopped to listen. + + `Mary Ann! Mary Ann!' said the voice. `Fetch me my gloves +this moment!' Then came a little pattering of feet on the +stairs. Alice knew it was the Rabbit coming to look for her, and +she trembled till she shook the house, quite forgetting that she +was now about a thousand times as large as the Rabbit, and had no +reason to be afraid of it. + + Presently the Rabbit came up to the door, and tried to open it; +but, as the door opened inwards, and Alice's elbow was pressed +hard against it, that attempt proved a failure. Alice heard it +say to itself `Then I'll go round and get in at the window.' + + `THAT you won't' thought Alice, and, after waiting till she +fancied she heard the Rabbit just under the window, she suddenly +spread out her hand, and made a snatch in the air. She did not +get hold of anything, but she heard a little shriek and a fall, +and a crash of broken glass, from which she concluded that it was +just possible it had fallen into a cucumber-frame, or something +of the sort. + + Next came an angry voice--the Rabbit's--`Pat! Pat! Where are +you?' And then a voice she had never heard before, `Sure then +I'm here! Digging for apples, yer honour!' + + `Digging for apples, indeed!' said the Rabbit angrily. `Here! +Come and help me out of THIS!' (Sounds of more broken glass.) + + `Now tell me, Pat, what's that in the window?' + + `Sure, it's an arm, yer honour!' (He pronounced it `arrum.') + + `An arm, you goose! Who ever saw one that size? Why, it +fills the whole window!' + + `Sure, it does, yer honour: but it's an arm for all that.' + + `Well, it's got no business there, at any rate: go and take it +away!' + + There was a long silence after this, and Alice could only hear +whispers now and then; such as, `Sure, I don't like it, yer +honour, at all, at all!' `Do as I tell you, you coward!' and at +last she spread out her hand again, and made another snatch in +the air. This time there were TWO little shrieks, and more +sounds of broken glass. `What a number of cucumber-frames there +must be!' thought Alice. `I wonder what they'll do next! As for +pulling me out of the window, I only wish they COULD! I'm sure I +don't want to stay in here any longer!' + + She waited for some time without hearing anything more: at +last came a rumbling of little cartwheels, and the sound of a +good many voices all talking together: she made out the words: +`Where's the other ladder?--Why, I hadn't to bring but one; +Bill's got the other--Bill! fetch it here, lad!--Here, put 'em up +at this corner--No, tie 'em together first--they don't reach half +high enough yet--Oh! they'll do well enough; don't be particular-- +Here, Bill! catch hold of this rope--Will the roof bear?--Mind +that loose slate--Oh, it's coming down! Heads below!' (a loud +crash)--`Now, who did that?--It was Bill, I fancy--Who's to go +down the chimney?--Nay, I shan't! YOU do it!--That I won't, +then!--Bill's to go down--Here, Bill! the master says you're to +go down the chimney!' + + `Oh! So Bill's got to come down the chimney, has he?' said +Alice to herself. `Shy, they seem to put everything upon Bill! +I wouldn't be in Bill's place for a good deal: this fireplace is +narrow, to be sure; but I THINK I can kick a little!' + + She drew her foot as far down the chimney as she could, and +waited till she heard a little animal (she couldn't guess of what +sort it was) scratching and scrambling about in the chimney close +above her: then, saying to herself `This is Bill,' she gave one +sharp kick, and waited to see what would happen next. + + The first thing she heard was a general chorus of `There goes +Bill!' then the Rabbit's voice along--`Catch him, you by the +hedge!' then silence, and then another confusion of voices--`Hold +up his head--Brandy now--Don't choke him--How was it, old fellow? +What happened to you? Tell us all about it!' + + Last came a little feeble, squeaking voice, (`That's Bill,' +thought Alice,) `Well, I hardly know--No more, thank ye; I'm +better now--but I'm a deal too flustered to tell you--all I know +is, something comes at me like a Jack-in-the-box, and up I goes +like a sky-rocket!' + + `So you did, old fellow!' said the others. + + `We must burn the house down!' said the Rabbit's voice; and +Alice called out as loud as she could, `If you do. I'll set +Dinah at you!' + + There was a dead silence instantly, and Alice thought to +herself, `I wonder what they WILL do next! If they had any +sense, they'd take the roof off.' After a minute or two, they +began moving about again, and Alice heard the Rabbit say, `A +barrowful will do, to begin with.' + + `A barrowful of WHAT?' thought Alice; but she had not long to +doubt, for the next moment a shower of little pebbles came +rattling in at the window, and some of them hit her in the face. +`I'll put a stop to this,' she said to herself, and shouted out, +`You'd better not do that again!' which produced another dead +silence. + + Alice noticed with some surprise that the pebbles were all +turning into little cakes as they lay on the floor, and a bright +idea came into her head. `If I eat one of these cakes,' she +thought, `it's sure to make SOME change in my size; and as it +can't possibly make me larger, it must make me smaller, I +suppose.' + + So she swallowed one of the cakes, and was delighted to find +that she began shrinking directly. As soon as she was small +enough to get through the door, she ran out of the house, and +found quite a crowd of little animals and birds waiting outside. +The poor little Lizard, Bill, was in the middle, being held up by +two guinea-pigs, who were giving it something out of a bottle. +They all made a rush at Alice the moment she appeared; but she +ran off as hard as she could, and soon found herself safe in a +thick wood. + + `The first thing I've got to do,' said Alice to herself, as she +wandered about in the wood, `is to grow to my right size again; +and the second thing is to find my way into that lovely garden. +I think that will be the best plan.' + + It sounded an excellent plan, no doubt, and very neatly and +simply arranged; the only difficulty was, that she had not the +smallest idea how to set about it; and while she was peering +about anxiously among the trees, a little sharp bark just over +her head made her look up in a great hurry. + + An enormous puppy was looking down at her with large round +eyes, and feebly stretching out one paw, trying to touch her. +`Poor little thing!' said Alice, in a coaxing tone, and she tried +hard to whistle to it; but she was terribly frightened all the +time at the thought that it might be hungry, in which case it +would be very likely to eat her up in spite of all her coaxing. + + Hardly knowing what she did, she picked up a little bit of +stick, and held it out to the puppy; whereupon the puppy jumped +into the air off all its feet at once, with a yelp of delight, +and rushed at the stick, and made believe to worry it; then Alice +dodged behind a great thistle, to keep herself from being run +over; and the moment she appeared on the other side, the puppy +made another rush at the stick, and tumbled head over heels in +its hurry to get hold of it; then Alice, thinking it was very +like having a game of play with a cart-horse, and expecting every +moment to be trampled under its feet, ran round the thistle +again; then the puppy began a series of short charges at the +stick, running a very little way forwards each time and a long +way back, and barking hoarsely all the while, till at last it sat +down a good way off, panting, with its tongue hanging out of its +mouth, and its great eyes half shut. + + This seemed to Alice a good opportunity for making her escape; +so she set off at once, and ran till she was quite tired and out +of breath, and till the puppy's bark sounded quite faint in the +distance. + + `And yet what a dear little puppy it was!' said Alice, as she +leant against a buttercup to rest herself, and fanned herself +with one of the leaves: `I should have liked teaching it tricks +very much, if--if I'd only been the right size to do it! Oh +dear! I'd nearly forgotten that I've got to grow up again! Let +me see--how IS it to be managed? I suppose I ought to eat or +drink something or other; but the great question is, what?' + + The great question certainly was, what? Alice looked all round +her at the flowers and the blades of grass, but she did not see +anything that looked like the right thing to eat or drink under +the circumstances. There was a large mushroom growing near her, +about the same height as herself; and when she had looked under +it, and on both sides of it, and behind it, it occurred to her +that she might as well look and see what was on the top of it. + + She stretched herself up on tiptoe, and peeped over the edge of +the mushroom, and her eyes immediately met those of a large +caterpillar, that was sitting on the top with its arms folded, +quietly smoking a long hookah, and taking not the smallest notice +of her or of anything else. + + + + CHAPTER V + + Advice from a Caterpillar + + + The Caterpillar and Alice looked at each other for some time in +silence: at last the Caterpillar took the hookah out of its +mouth, and addressed her in a languid, sleepy voice. + + `Who are YOU?' said the Caterpillar. + + This was not an encouraging opening for a conversation. Alice +replied, rather shyly, `I--I hardly know, sir, just at present-- +at least I know who I WAS when I got up this morning, but I think +I must have been changed several times since then.' + + `What do you mean by that?' said the Caterpillar sternly. +`Explain yourself!' + + `I can't explain MYSELF, I'm afraid, sir' said Alice, `because +I'm not myself, you see.' + + `I don't see,' said the Caterpillar. + + `I'm afraid I can't put it more clearly,' Alice replied very +politely, `for I can't understand it myself to begin with; and +being so many different sizes in a day is very confusing.' + + `It isn't,' said the Caterpillar. + + `Well, perhaps you haven't found it so yet,' said Alice; `but +when you have to turn into a chrysalis--you will some day, you +know--and then after that into a butterfly, I should think you'll +feel it a little queer, won't you?' + + `Not a bit,' said the Caterpillar. + + `Well, perhaps your feelings may be different,' said Alice; +`all I know is, it would feel very queer to ME.' + + `You!' said the Caterpillar contemptuously. `Who are YOU?' + + Which brought them back again to the beginning of the +conversation. Alice felt a little irritated at the Caterpillar's +making such VERY short remarks, and she drew herself up and said, +very gravely, `I think, you ought to tell me who YOU are, first.' + + `Why?' said the Caterpillar. + + Here was another puzzling question; and as Alice could not +think of any good reason, and as the Caterpillar seemed to be in +a VERY unpleasant state of mind, she turned away. + + `Come back!' the Caterpillar called after her. `I've something +important to say!' + + This sounded promising, certainly: Alice turned and came back +again. + + `Keep your temper,' said the Caterpillar. + + `Is that all?' said Alice, swallowing down her anger as well as +she could. + + `No,' said the Caterpillar. + + Alice thought she might as well wait, as she had nothing else +to do, and perhaps after all it might tell her something worth +hearing. For some minutes it puffed away without speaking, but +at last it unfolded its arms, took the hookah out of its mouth +again, and said, `So you think you're changed, do you?' + + `I'm afraid I am, sir,' said Alice; `I can't remember things as +I used--and I don't keep the same size for ten minutes together!' + + `Can't remember WHAT things?' said the Caterpillar. + + `Well, I've tried to say "HOW DOTH THE LITTLE BUSY BEE," but it +all came different!' Alice replied in a very melancholy voice. + + `Repeat, "YOU ARE OLD, FATHER WILLIAM,"' said the Caterpillar. + + Alice folded her hands, and began:-- + + `You are old, Father William,' the young man said, + `And your hair has become very white; + And yet you incessantly stand on your head-- + Do you think, at your age, it is right?' + + `In my youth,' Father William replied to his son, + `I feared it might injure the brain; + But, now that I'm perfectly sure I have none, + Why, I do it again and again.' + + `You are old,' said the youth, `as I mentioned before, + And have grown most uncommonly fat; + Yet you turned a back-somersault in at the door-- + Pray, what is the reason of that?' + + `In my youth,' said the sage, as he shook his grey locks, + `I kept all my limbs very supple + By the use of this ointment--one shilling the box-- + Allow me to sell you a couple?' + + `You are old,' said the youth, `and your jaws are too weak + For anything tougher than suet; + Yet you finished the goose, with the bones and the beak-- + Pray how did you manage to do it?' + + `In my youth,' said his father, `I took to the law, + And argued each case with my wife; + And the muscular strength, which it gave to my jaw, + Has lasted the rest of my life.' + + `You are old,' said the youth, `one would hardly suppose + That your eye was as steady as ever; + Yet you balanced an eel on the end of your nose-- + What made you so awfully clever?' + + `I have answered three questions, and that is enough,' + Said his father; `don't give yourself airs! + Do you think I can listen all day to such stuff? + Be off, or I'll kick you down stairs!' + + + `That is not said right,' said the Caterpillar. + + `Not QUITE right, I'm afraid,' said Alice, timidly; `some of the +words have got altered.' + + `It is wrong from beginning to end,' said the Caterpillar +decidedly, and there was silence for some minutes. + + The Caterpillar was the first to speak. + + `What size do you want to be?' it asked. + + `Oh, I'm not particular as to size,' Alice hastily replied; +`only one doesn't like changing so often, you know.' + + `I DON'T know,' said the Caterpillar. + + Alice said nothing: she had never been so much contradicted in +her life before, and she felt that she was losing her temper. + + `Are you content now?' said the Caterpillar. + + `Well, I should like to be a LITTLE larger, sir, if you +wouldn't mind,' said Alice: `three inches is such a wretched +height to be.' + + `It is a very good height indeed!' said the Caterpillar +angrily, rearing itself upright as it spoke (it was exactly three +inches high). + + `But I'm not used to it!' pleaded poor Alice in a piteous tone. +And she thought of herself, `I wish the creatures wouldn't be so +easily offended!' + + `You'll get used to it in time,' said the Caterpillar; and it +put the hookah into its mouth and began smoking again. + + This time Alice waited patiently until it chose to speak again. +In a minute or two the Caterpillar took the hookah out of its +mouth and yawned once or twice, and shook itself. Then it got +down off the mushroom, and crawled away in the grass, merely +remarking as it went, `One side will make you grow taller, and +the other side will make you grow shorter.' + + `One side of WHAT? The other side of WHAT?' thought Alice to +herself. + + `Of the mushroom,' said the Caterpillar, just as if she had +asked it aloud; and in another moment it was out of sight. + + Alice remained looking thoughtfully at the mushroom for a +minute, trying to make out which were the two sides of it; and as +it was perfectly round, she found this a very difficult question. +However, at last she stretched her arms round it as far as they +would go, and broke off a bit of the edge with each hand. + + `And now which is which?' she said to herself, and nibbled a +little of the right-hand bit to try the effect: the next moment +she felt a violent blow underneath her chin: it had struck her +foot! + + She was a good deal frightened by this very sudden change, but +she felt that there was no time to be lost, as she was shrinking +rapidly; so she set to work at once to eat some of the other bit. +Her chin was pressed so closely against her foot, that there was +hardly room to open her mouth; but she did it at last, and +managed to swallow a morsel of the lefthand bit. + + + * * * * * * * + + * * * * * * + + * * * * * * * + + `Come, my head's free at last!' said Alice in a tone of +delight, which changed into alarm in another moment, when she +found that her shoulders were nowhere to be found: all she could +see, when she looked down, was an immense length of neck, which +seemed to rise like a stalk out of a sea of green leaves that lay +far below her. + + `What CAN all that green stuff be?' said Alice. `And where +HAVE my shoulders got to? And oh, my poor hands, how is it I +can't see you?' She was moving them about as she spoke, but no +result seemed to follow, except a little shaking among the +distant green leaves. + + As there seemed to be no chance of getting her hands up to her +head, she tried to get her head down to them, and was delighted +to find that her neck would bend about easily in any direction, +like a serpent. She had just succeeded in curving it down into a +graceful zigzag, and was going to dive in among the leaves, which +she found to be nothing but the tops of the trees under which she +had been wandering, when a sharp hiss made her draw back in a +hurry: a large pigeon had flown into her face, and was beating +her violently with its wings. + + `Serpent!' screamed the Pigeon. + + `I'm NOT a serpent!' said Alice indignantly. `Let me alone!' + + `Serpent, I say again!' repeated the Pigeon, but in a more +subdued tone, and added with a kind of sob, `I've tried every +way, and nothing seems to suit them!' + + `I haven't the least idea what you're talking about,' said +Alice. + + `I've tried the roots of trees, and I've tried banks, and I've +tried hedges,' the Pigeon went on, without attending to her; `but +those serpents! There's no pleasing them!' + + Alice was more and more puzzled, but she thought there was no +use in saying anything more till the Pigeon had finished. + + `As if it wasn't trouble enough hatching the eggs,' said the +Pigeon; `but I must be on the look-out for serpents night and +day! Why, I haven't had a wink of sleep these three weeks!' + + `I'm very sorry you've been annoyed,' said Alice, who was +beginning to see its meaning. + + `And just as I'd taken the highest tree in the wood,' continued +the Pigeon, raising its voice to a shriek, `and just as I was +thinking I should be free of them at last, they must needs come +wriggling down from the sky! Ugh, Serpent!' + + `But I'm NOT a serpent, I tell you!' said Alice. `I'm a--I'm +a--' + + `Well! WHAT are you?' said the Pigeon. `I can see you're +trying to invent something!' + + `I--I'm a little girl,' said Alice, rather doubtfully, as she +remembered the number of changes she had gone through that day. + + `A likely story indeed!' said the Pigeon in a tone of the +deepest contempt. `I've seen a good many little girls in my +time, but never ONE with such a neck as that! No, no! You're a +serpent; and there's no use denying it. I suppose you'll be +telling me next that you never tasted an egg!' + + `I HAVE tasted eggs, certainly,' said Alice, who was a very +truthful child; `but little girls eat eggs quite as much as +serpents do, you know.' + + `I don't believe it,' said the Pigeon; `but if they do, why +then they're a kind of serpent, that's all I can say.' + + This was such a new idea to Alice, that she was quite silent +for a minute or two, which gave the Pigeon the opportunity of +adding, `You're looking for eggs, I know THAT well enough; and +what does it matter to me whether you're a little girl or a +serpent?' + + `It matters a good deal to ME,' said Alice hastily; `but I'm +not looking for eggs, as it happens; and if I was, I shouldn't +want YOURS: I don't like them raw.' + + `Well, be off, then!' said the Pigeon in a sulky tone, as it +settled down again into its nest. Alice crouched down among the +trees as well as she could, for her neck kept getting entangled +among the branches, and every now and then she had to stop and +untwist it. After a while she remembered that she still held the +pieces of mushroom in her hands, and she set to work very +carefully, nibbling first at one and then at the other, and +growing sometimes taller and sometimes shorter, until she had +succeeded in bringing herself down to her usual height. + + It was so long since she had been anything near the right size, +that it felt quite strange at first; but she got used to it in a +few minutes, and began talking to herself, as usual. `Come, +there's half my plan done now! How puzzling all these changes +are! I'm never sure what I'm going to be, from one minute to +another! However, I've got back to my right size: the next +thing is, to get into that beautiful garden--how IS that to be +done, I wonder?' As she said this, she came suddenly upon an +open place, with a little house in it about four feet high. +`Whoever lives there,' thought Alice, `it'll never do to come +upon them THIS size: why, I should frighten them out of their +wits!' So she began nibbling at the righthand bit again, and did +not venture to go near the house till she had brought herself +down to nine inches high. + + + + CHAPTER VI + + Pig and Pepper + + + For a minute or two she stood looking at the house, and +wondering what to do next, when suddenly a footman in livery came +running out of the wood--(she considered him to be a footman +because he was in livery: otherwise, judging by his face only, +she would have called him a fish)--and rapped loudly at the door +with his knuckles. It was opened by another footman in livery, +with a round face, and large eyes like a frog; and both footmen, +Alice noticed, had powdered hair that curled all over their +heads. She felt very curious to know what it was all about, and +crept a little way out of the wood to listen. + + The Fish-Footman began by producing from under his arm a great +letter, nearly as large as himself, and this he handed over to +the other, saying, in a solemn tone, `For the Duchess. An +invitation from the Queen to play croquet.' The Frog-Footman +repeated, in the same solemn tone, only changing the order of the +words a little, `From the Queen. An invitation for the Duchess +to play croquet.' + + Then they both bowed low, and their curls got entangled +together. + + Alice laughed so much at this, that she had to run back into +the wood for fear of their hearing her; and when she next peeped +out the Fish-Footman was gone, and the other was sitting on the +ground near the door, staring stupidly up into the sky. + + Alice went timidly up to the door, and knocked. + + `There's no sort of use in knocking,' said the Footman, `and +that for two reasons. First, because I'm on the same side of the +door as you are; secondly, because they're making such a noise +inside, no one could possibly hear you.' And certainly there was +a most extraordinary noise going on within--a constant howling +and sneezing, and every now and then a great crash, as if a dish +or kettle had been broken to pieces. + + `Please, then,' said Alice, `how am I to get in?' + + `There might be some sense in your knocking,' the Footman went +on without attending to her, `if we had the door between us. For +instance, if you were INSIDE, you might knock, and I could let +you out, you know.' He was looking up into the sky all the time +he was speaking, and this Alice thought decidedly uncivil. `But +perhaps he can't help it,' she said to herself; `his eyes are so +VERY nearly at the top of his head. But at any rate he might +answer questions.--How am I to get in?' she repeated, aloud. + + `I shall sit here,' the Footman remarked, `till tomorrow--' + + At this moment the door of the house opened, and a large plate +came skimming out, straight at the Footman's head: it just +grazed his nose, and broke to pieces against one of the trees +behind him. + + `--or next day, maybe,' the Footman continued in the same tone, +exactly as if nothing had happened. + + `How am I to get in?' asked Alice again, in a louder tone. + + `ARE you to get in at all?' said the Footman. `That's the +first question, you know.' + + It was, no doubt: only Alice did not like to be told so. +`It's really dreadful,' she muttered to herself, `the way all the +creatures argue. It's enough to drive one crazy!' + + The Footman seemed to think this a good opportunity for +repeating his remark, with variations. `I shall sit here,' he +said, `on and off, for days and days.' + + `But what am I to do?' said Alice. + + `Anything you like,' said the Footman, and began whistling. + + `Oh, there's no use in talking to him,' said Alice desperately: +`he's perfectly idiotic!' And she opened the door and went in. + + The door led right into a large kitchen, which was full of +smoke from one end to the other: the Duchess was sitting on a +three-legged stool in the middle, nursing a baby; the cook was +leaning over the fire, stirring a large cauldron which seemed to +be full of soup. + + `There's certainly too much pepper in that soup!' Alice said to +herself, as well as she could for sneezing. + + There was certainly too much of it in the air. Even the +Duchess sneezed occasionally; and as for the baby, it was +sneezing and howling alternately without a moment's pause. The +only things in the kitchen that did not sneeze, were the cook, +and a large cat which was sitting on the hearth and grinning from +ear to ear. + + `Please would you tell me,' said Alice, a little timidly, for +she was not quite sure whether it was good manners for her to +speak first, `why your cat grins like that?' + + `It's a Cheshire cat,' said the Duchess, `and that's why. Pig!' + + She said the last word with such sudden violence that Alice +quite jumped; but she saw in another moment that it was addressed +to the baby, and not to her, so she took courage, and went on +again:-- + + `I didn't know that Cheshire cats always grinned; in fact, I +didn't know that cats COULD grin.' + + `They all can,' said the Duchess; `and most of 'em do.' + + `I don't know of any that do,' Alice said very politely, +feeling quite pleased to have got into a conversation. + + `You don't know much,' said the Duchess; `and that's a fact.' + + Alice did not at all like the tone of this remark, and thought +it would be as well to introduce some other subject of +conversation. While she was trying to fix on one, the cook took +the cauldron of soup off the fire, and at once set to work +throwing everything within her reach at the Duchess and the baby +--the fire-irons came first; then followed a shower of saucepans, +plates, and dishes. The Duchess took no notice of them even when +they hit her; and the baby was howling so much already, that it +was quite impossible to say whether the blows hurt it or not. + + `Oh, PLEASE mind what you're doing!' cried Alice, jumping up +and down in an agony of terror. `Oh, there goes his PRECIOUS +nose'; as an unusually large saucepan flew close by it, and very +nearly carried it off. + + `If everybody minded their own business,' the Duchess said in a +hoarse growl, `the world would go round a deal faster than it +does.' + + `Which would NOT be an advantage,' said Alice, who felt very +glad to get an opportunity of showing off a little of her +knowledge. `Just think of what work it would make with the day +and night! You see the earth takes twenty-four hours to turn +round on its axis--' + + `Talking of axes,' said the Duchess, `chop off her head!' + + Alice glanced rather anxiously at the cook, to see if she meant +to take the hint; but the cook was busily stirring the soup, and +seemed not to be listening, so she went on again: `Twenty-four +hours, I THINK; or is it twelve? I--' + + `Oh, don't bother ME,' said the Duchess; `I never could abide +figures!' And with that she began nursing her child again, +singing a sort of lullaby to it as she did so, and giving it a +violent shake at the end of every line: + + `Speak roughly to your little boy, + And beat him when he sneezes: + He only does it to annoy, + Because he knows it teases.' + + CHORUS. + + (In which the cook and the baby joined):-- + + `Wow! wow! wow!' + + While the Duchess sang the second verse of the song, she kept +tossing the baby violently up and down, and the poor little thing +howled so, that Alice could hardly hear the words:-- + + `I speak severely to my boy, + I beat him when he sneezes; + For he can thoroughly enjoy + The pepper when he pleases!' + + CHORUS. + + `Wow! wow! wow!' + + `Here! you may nurse it a bit, if you like!' the Duchess said +to Alice, flinging the baby at her as she spoke. `I must go and +get ready to play croquet with the Queen,' and she hurried out of +the room. The cook threw a frying-pan after her as she went out, +but it just missed her. + + Alice caught the baby with some difficulty, as it was a queer- +shaped little creature, and held out its arms and legs in all +directions, `just like a star-fish,' thought Alice. The poor +little thing was snorting like a steam-engine when she caught it, +and kept doubling itself up and straightening itself out again, +so that altogether, for the first minute or two, it was as much +as she could do to hold it. + + As soon as she had made out the proper way of nursing it, +(which was to twist it up into a sort of knot, and then keep +tight hold of its right ear and left foot, so as to prevent its +undoing itself,) she carried it out into the open air. `IF I +don't take this child away with me,' thought Alice, `they're sure +to kill it in a day or two: wouldn't it be murder to leave it +behind?' She said the last words out loud, and the little thing +grunted in reply (it had left off sneezing by this time). `Don't +grunt,' said Alice; `that's not at all a proper way of expressing +yourself.' + + The baby grunted again, and Alice looked very anxiously into +its face to see what was the matter with it. There could be no +doubt that it had a VERY turn-up nose, much more like a snout +than a real nose; also its eyes were getting extremely small for +a baby: altogether Alice did not like the look of the thing at +all. `But perhaps it was only sobbing,' she thought, and looked +into its eyes again, to see if there were any tears. + + No, there were no tears. `If you're going to turn into a pig, +my dear,' said Alice, seriously, `I'll have nothing more to do +with you. Mind now!' The poor little thing sobbed again (or +grunted, it was impossible to say which), and they went on for +some while in silence. + + Alice was just beginning to think to herself, `Now, what am I +to do with this creature when I get it home?' when it grunted +again, so violently, that she looked down into its face in some +alarm. This time there could be NO mistake about it: it was +neither more nor less than a pig, and she felt that it would be +quite absurd for her to carry it further. + + So she set the little creature down, and felt quite relieved to +see it trot away quietly into the wood. `If it had grown up,' +she said to herself, `it would have made a dreadfully ugly child: +but it makes rather a handsome pig, I think.' And she began +thinking over other children she knew, who might do very well as +pigs, and was just saying to herself, `if one only knew the right +way to change them--' when she was a little startled by seeing +the Cheshire Cat sitting on a bough of a tree a few yards off. + + The Cat only grinned when it saw Alice. It looked good- +natured, she thought: still it had VERY long claws and a great +many teeth, so she felt that it ought to be treated with respect. + + `Cheshire Puss,' she began, rather timidly, as she did not at +all know whether it would like the name: however, it only +grinned a little wider. `Come, it's pleased so far,' thought +Alice, and she went on. `Would you tell me, please, which way I +ought to go from here?' + + `That depends a good deal on where you want to get to,' said +the Cat. + + `I don't much care where--' said Alice. + + `Then it doesn't matter which way you go,' said the Cat. + + `--so long as I get SOMEWHERE,' Alice added as an explanation. + + `Oh, you're sure to do that,' said the Cat, `if you only walk +long enough.' + + Alice felt that this could not be denied, so she tried another +question. `What sort of people live about here?' + + `In THAT direction,' the Cat said, waving its right paw round, +`lives a Hatter: and in THAT direction,' waving the other paw, +`lives a March Hare. Visit either you like: they're both mad.' + + `But I don't want to go among mad people,' Alice remarked. + + `Oh, you can't help that,' said the Cat: `we're all mad here. +I'm mad. You're mad.' + + `How do you know I'm mad?' said Alice. + + `You must be,' said the Cat, `or you wouldn't have come here.' + + Alice didn't think that proved it at all; however, she went on +`And how do you know that you're mad?' + + `To begin with,' said the Cat, `a dog's not mad. You grant +that?' + + `I suppose so,' said Alice. + + `Well, then,' the Cat went on, `you see, a dog growls when it's +angry, and wags its tail when it's pleased. Now I growl when I'm +pleased, and wag my tail when I'm angry. Therefore I'm mad.' + + `I call it purring, not growling,' said Alice. + + `Call it what you like,' said the Cat. `Do you play croquet +with the Queen to-day?' + + `I should like it very much,' said Alice, `but I haven't been +invited yet.' + + `You'll see me there,' said the Cat, and vanished. + + Alice was not much surprised at this, she was getting so used +to queer things happening. While she was looking at the place +where it had been, it suddenly appeared again. + + `By-the-bye, what became of the baby?' said the Cat. `I'd +nearly forgotten to ask.' + + `It turned into a pig,' Alice quietly said, just as if it had +come back in a natural way. + + `I thought it would,' said the Cat, and vanished again. + + Alice waited a little, half expecting to see it again, but it +did not appear, and after a minute or two she walked on in the +direction in which the March Hare was said to live. `I've seen +hatters before,' she said to herself; `the March Hare will be +much the most interesting, and perhaps as this is May it won't be +raving mad--at least not so mad as it was in March.' As she said +this, she looked up, and there was the Cat again, sitting on a +branch of a tree. + + `Did you say pig, or fig?' said the Cat. + + `I said pig,' replied Alice; `and I wish you wouldn't keep +appearing and vanishing so suddenly: you make one quite giddy.' + + `All right,' said the Cat; and this time it vanished quite slowly, +beginning with the end of the tail, and ending with the grin, +which remained some time after the rest of it had gone. + + `Well! I've often seen a cat without a grin,' thought Alice; +`but a grin without a cat! It's the most curious thing I ever +saw in my life!' + + She had not gone much farther before she came in sight of the +house of the March Hare: she thought it must be the right house, +because the chimneys were shaped like ears and the roof was +thatched with fur. It was so large a house, that she did not +like to go nearer till she had nibbled some more of the lefthand +bit of mushroom, and raised herself to about two feet high: even +then she walked up towards it rather timidly, saying to herself +`Suppose it should be raving mad after all! I almost wish I'd +gone to see the Hatter instead!' + + + + CHAPTER VII + + A Mad Tea-Party + + + There was a table set out under a tree in front of the house, +and the March Hare and the Hatter were having tea at it: a +Dormouse was sitting between them, fast asleep, and the other two +were using it as a cushion, resting their elbows on it, and talking +over its head. `Very uncomfortable for the Dormouse,' thought Alice; +`only, as it's asleep, I suppose it doesn't mind.' + + The table was a large one, but the three were all crowded +together at one corner of it: `No room! No room!' they cried +out when they saw Alice coming. `There's PLENTY of room!' said +Alice indignantly, and she sat down in a large arm-chair at one +end of the table. + + `Have some wine,' the March Hare said in an encouraging tone. + + Alice looked all round the table, but there was nothing on it +but tea. `I don't see any wine,' she remarked. + + `There isn't any,' said the March Hare. + + `Then it wasn't very civil of you to offer it,' said Alice +angrily. + + `It wasn't very civil of you to sit down without being +invited,' said the March Hare. + + `I didn't know it was YOUR table,' said Alice; `it's laid for a +great many more than three.' + + `Your hair wants cutting,' said the Hatter. He had been +looking at Alice for some time with great curiosity, and this was +his first speech. + + `You should learn not to make personal remarks,' Alice said +with some severity; `it's very rude.' + + The Hatter opened his eyes very wide on hearing this; but all +he SAID was, `Why is a raven like a writing-desk?' + + `Come, we shall have some fun now!' thought Alice. `I'm glad +they've begun asking riddles.--I believe I can guess that,' she +added aloud. + + `Do you mean that you think you can find out the answer to it?' +said the March Hare. + + `Exactly so,' said Alice. + + `Then you should say what you mean,' the March Hare went on. + + `I do,' Alice hastily replied; `at least--at least I mean what +I say--that's the same thing, you know.' + + `Not the same thing a bit!' said the Hatter. `You might just +as well say that "I see what I eat" is the same thing as "I eat +what I see"!' + + `You might just as well say,' added the March Hare, `that "I +like what I get" is the same thing as "I get what I like"!' + + `You might just as well say,' added the Dormouse, who seemed to +be talking in his sleep, `that "I breathe when I sleep" is the +same thing as "I sleep when I breathe"!' + + `It IS the same thing with you,' said the Hatter, and here the +conversation dropped, and the party sat silent for a minute, +while Alice thought over all she could remember about ravens and +writing-desks, which wasn't much. + + The Hatter was the first to break the silence. `What day of +the month is it?' he said, turning to Alice: he had taken his +watch out of his pocket, and was looking at it uneasily, shaking +it every now and then, and holding it to his ear. + + Alice considered a little, and then said `The fourth.' + + `Two days wrong!' sighed the Hatter. `I told you butter +wouldn't suit the works!' he added looking angrily at the March +Hare. + + `It was the BEST butter,' the March Hare meekly replied. + + `Yes, but some crumbs must have got in as well,' the Hatter +grumbled: `you shouldn't have put it in with the bread-knife.' + + The March Hare took the watch and looked at it gloomily: then +he dipped it into his cup of tea, and looked at it again: but he +could think of nothing better to say than his first remark, `It +was the BEST butter, you know.' + + Alice had been looking over his shoulder with some curiosity. +`What a funny watch!' she remarked. `It tells the day of the +month, and doesn't tell what o'clock it is!' + + `Why should it?' muttered the Hatter. `Does YOUR watch tell +you what year it is?' + + `Of course not,' Alice replied very readily: `but that's +because it stays the same year for such a long time together.' + + `Which is just the case with MINE,' said the Hatter. + + Alice felt dreadfully puzzled. The Hatter's remark seemed to +have no sort of meaning in it, and yet it was certainly English. +`I don't quite understand you,' she said, as politely as she +could. + + `The Dormouse is asleep again,' said the Hatter, and he poured +a little hot tea upon its nose. + + The Dormouse shook its head impatiently, and said, without +opening its eyes, `Of course, of course; just what I was going to +remark myself.' + + `Have you guessed the riddle yet?' the Hatter said, turning to +Alice again. + + `No, I give it up,' Alice replied: `what's the answer?' + + `I haven't the slightest idea,' said the Hatter. + + `Nor I,' said the March Hare. + + Alice sighed wearily. `I think you might do something better +with the time,' she said, `than waste it in asking riddles that +have no answers.' + + `If you knew Time as well as I do,' said the Hatter, `you +wouldn't talk about wasting IT. It's HIM.' + + `I don't know what you mean,' said Alice. + + `Of course you don't!' the Hatter said, tossing his head +contemptuously. `I dare say you never even spoke to Time!' + + `Perhaps not,' Alice cautiously replied: `but I know I have to +beat time when I learn music.' + + `Ah! that accounts for it,' said the Hatter. `He won't stand +beating. Now, if you only kept on good terms with him, he'd do +almost anything you liked with the clock. For instance, suppose +it were nine o'clock in the morning, just time to begin lessons: +you'd only have to whisper a hint to Time, and round goes the +clock in a twinkling! Half-past one, time for dinner!' + + (`I only wish it was,' the March Hare said to itself in a +whisper.) + + `That would be grand, certainly,' said Alice thoughtfully: +`but then--I shouldn't be hungry for it, you know.' + + `Not at first, perhaps,' said the Hatter: `but you could keep +it to half-past one as long as you liked.' + + `Is that the way YOU manage?' Alice asked. + + The Hatter shook his head mournfully. `Not I!' he replied. +`We quarrelled last March--just before HE went mad, you know--' +(pointing with his tea spoon at the March Hare,) `--it was at the +great concert given by the Queen of Hearts, and I had to sing + + "Twinkle, twinkle, little bat! + How I wonder what you're at!" + +You know the song, perhaps?' + + `I've heard something like it,' said Alice. + + `It goes on, you know,' the Hatter continued, `in this way:-- + + "Up above the world you fly, + Like a tea-tray in the sky. + Twinkle, twinkle--"' + +Here the Dormouse shook itself, and began singing in its sleep +`Twinkle, twinkle, twinkle, twinkle--' and went on so long that +they had to pinch it to make it stop. + + `Well, I'd hardly finished the first verse,' said the Hatter, +`when the Queen jumped up and bawled out, "He's murdering the +time! Off with his head!"' + + `How dreadfully savage!' exclaimed Alice. + + `And ever since that,' the Hatter went on in a mournful tone, +`he won't do a thing I ask! It's always six o'clock now.' + + A bright idea came into Alice's head. `Is that the reason so +many tea-things are put out here?' she asked. + + `Yes, that's it,' said the Hatter with a sigh: `it's always +tea-time, and we've no time to wash the things between whiles.' + + `Then you keep moving round, I suppose?' said Alice. + + `Exactly so,' said the Hatter: `as the things get used up.' + + `But what happens when you come to the beginning again?' Alice +ventured to ask. + + `Suppose we change the subject,' the March Hare interrupted, +yawning. `I'm getting tired of this. I vote the young lady +tells us a story.' + + `I'm afraid I don't know one,' said Alice, rather alarmed at +the proposal. + + `Then the Dormouse shall!' they both cried. `Wake up, +Dormouse!' And they pinched it on both sides at once. + + The Dormouse slowly opened his eyes. `I wasn't asleep,' he +said in a hoarse, feeble voice: `I heard every word you fellows +were saying.' + + `Tell us a story!' said the March Hare. + + `Yes, please do!' pleaded Alice. + + `And be quick about it,' added the Hatter, `or you'll be asleep +again before it's done.' + + `Once upon a time there were three little sisters,' the +Dormouse began in a great hurry; `and their names were Elsie, +Lacie, and Tillie; and they lived at the bottom of a well--' + + `What did they live on?' said Alice, who always took a great +interest in questions of eating and drinking. + + `They lived on treacle,' said the Dormouse, after thinking a +minute or two. + + `They couldn't have done that, you know,' Alice gently +remarked; `they'd have been ill.' + + `So they were,' said the Dormouse; `VERY ill.' + + Alice tried to fancy to herself what such an extraordinary ways +of living would be like, but it puzzled her too much, so she went +on: `But why did they live at the bottom of a well?' + + `Take some more tea,' the March Hare said to Alice, very +earnestly. + + `I've had nothing yet,' Alice replied in an offended tone, `so +I can't take more.' + + `You mean you can't take LESS,' said the Hatter: `it's very +easy to take MORE than nothing.' + + `Nobody asked YOUR opinion,' said Alice. + + `Who's making personal remarks now?' the Hatter asked +triumphantly. + + Alice did not quite know what to say to this: so she helped +herself to some tea and bread-and-butter, and then turned to the +Dormouse, and repeated her question. `Why did they live at the +bottom of a well?' + + The Dormouse again took a minute or two to think about it, and +then said, `It was a treacle-well.' + + `There's no such thing!' Alice was beginning very angrily, but +the Hatter and the March Hare went `Sh! sh!' and the Dormouse +sulkily remarked, `If you can't be civil, you'd better finish the +story for yourself.' + + `No, please go on!' Alice said very humbly; `I won't interrupt +again. I dare say there may be ONE.' + + `One, indeed!' said the Dormouse indignantly. However, he +consented to go on. `And so these three little sisters--they +were learning to draw, you know--' + + `What did they draw?' said Alice, quite forgetting her promise. + + `Treacle,' said the Dormouse, without considering at all this +time. + + `I want a clean cup,' interrupted the Hatter: `let's all move +one place on.' + + He moved on as he spoke, and the Dormouse followed him: the +March Hare moved into the Dormouse's place, and Alice rather +unwillingly took the place of the March Hare. The Hatter was the +only one who got any advantage from the change: and Alice was a +good deal worse off than before, as the March Hare had just upset +the milk-jug into his plate. + + Alice did not wish to offend the Dormouse again, so she began +very cautiously: `But I don't understand. Where did they draw +the treacle from?' + + `You can draw water out of a water-well,' said the Hatter; `so +I should think you could draw treacle out of a treacle-well--eh, +stupid?' + + `But they were IN the well,' Alice said to the Dormouse, not +choosing to notice this last remark. + + `Of course they were', said the Dormouse; `--well in.' + + This answer so confused poor Alice, that she let the Dormouse +go on for some time without interrupting it. + + `They were learning to draw,' the Dormouse went on, yawning and +rubbing its eyes, for it was getting very sleepy; `and they drew +all manner of things--everything that begins with an M--' + + `Why with an M?' said Alice. + + `Why not?' said the March Hare. + + Alice was silent. + + The Dormouse had closed its eyes by this time, and was going +off into a doze; but, on being pinched by the Hatter, it woke up +again with a little shriek, and went on: `--that begins with an +M, such as mouse-traps, and the moon, and memory, and muchness-- +you know you say things are "much of a muchness"--did you ever +see such a thing as a drawing of a muchness?' + + `Really, now you ask me,' said Alice, very much confused, `I +don't think--' + + `Then you shouldn't talk,' said the Hatter. + + This piece of rudeness was more than Alice could bear: she got +up in great disgust, and walked off; the Dormouse fell asleep +instantly, and neither of the others took the least notice of her +going, though she looked back once or twice, half hoping that +they would call after her: the last time she saw them, they were +trying to put the Dormouse into the teapot. + + `At any rate I'll never go THERE again!' said Alice as she +picked her way through the wood. `It's the stupidest tea-party I +ever was at in all my life!' + + Just as she said this, she noticed that one of the trees had a +door leading right into it. `That's very curious!' she thought. +`But everything's curious today. I think I may as well go in at once.' +And in she went. + + Once more she found herself in the long hall, and close to the +little glass table. `Now, I'll manage better this time,' +she said to herself, and began by taking the little golden key, +and unlocking the door that led into the garden. Then she went +to work nibbling at the mushroom (she had kept a piece of it +in her pocket) till she was about a foot high: then she walked down +the little passage: and THEN--she found herself at last in the +beautiful garden, among the bright flower-beds and the cool fountains. + + + + CHAPTER VIII + + The Queen's Croquet-Ground + + + A large rose-tree stood near the entrance of the garden: the +roses growing on it were white, but there were three gardeners at +it, busily painting them red. Alice thought this a very curious +thing, and she went nearer to watch them, and just as she came up +to them she heard one of them say, `Look out now, Five! Don't go +splashing paint over me like that!' + + `I couldn't help it,' said Five, in a sulky tone; `Seven jogged +my elbow.' + + On which Seven looked up and said, `That's right, Five! Always +lay the blame on others!' + + `YOU'D better not talk!' said Five. `I heard the Queen say only +yesterday you deserved to be beheaded!' + + `What for?' said the one who had spoken first. + + `That's none of YOUR business, Two!' said Seven. + + `Yes, it IS his business!' said Five, `and I'll tell him--it +was for bringing the cook tulip-roots instead of onions.' + + Seven flung down his brush, and had just begun `Well, of all +the unjust things--' when his eye chanced to fall upon Alice, as +she stood watching them, and he checked himself suddenly: the +others looked round also, and all of them bowed low. + + `Would you tell me,' said Alice, a little timidly, `why you are +painting those roses?' + + Five and Seven said nothing, but looked at Two. Two began in a +low voice, `Why the fact is, you see, Miss, this here ought to +have been a RED rose-tree, and we put a white one in by mistake; +and if the Queen was to find it out, we should all have our heads +cut off, you know. So you see, Miss, we're doing our best, afore +she comes, to--' At this moment Five, who had been anxiously +looking across the garden, called out `The Queen! The Queen!' +and the three gardeners instantly threw themselves flat upon +their faces. There was a sound of many footsteps, and Alice +looked round, eager to see the Queen. + + First came ten soldiers carrying clubs; these were all shaped +like the three gardeners, oblong and flat, with their hands and +feet at the corners: next the ten courtiers; these were +ornamented all over with diamonds, and walked two and two, as the +soldiers did. After these came the royal children; there were +ten of them, and the little dears came jumping merrily along hand +in hand, in couples: they were all ornamented with hearts. Next +came the guests, mostly Kings and Queens, and among them Alice +recognised the White Rabbit: it was talking in a hurried nervous +manner, smiling at everything that was said, and went by without +noticing her. Then followed the Knave of Hearts, carrying the +King's crown on a crimson velvet cushion; and, last of all this +grand procession, came THE KING AND QUEEN OF HEARTS. + + Alice was rather doubtful whether she ought not to lie down on +her face like the three gardeners, but she could not remember +ever having heard of such a rule at processions; `and besides, +what would be the use of a procession,' thought she, `if people +had all to lie down upon their faces, so that they couldn't see it?' +So she stood still where she was, and waited. + + When the procession came opposite to Alice, they all stopped +and looked at her, and the Queen said severely `Who is this?' +She said it to the Knave of Hearts, who only bowed and smiled in reply. + + `Idiot!' said the Queen, tossing her head impatiently; and, +turning to Alice, she went on, `What's your name, child?' + + `My name is Alice, so please your Majesty,' said Alice very +politely; but she added, to herself, `Why, they're only a pack of +cards, after all. I needn't be afraid of them!' + + `And who are THESE?' said the Queen, pointing to the three +gardeners who were lying round the rosetree; for, you see, as +they were lying on their faces, and the pattern on their backs +was the same as the rest of the pack, she could not tell whether +they were gardeners, or soldiers, or courtiers, or three of her +own children. + + `How should I know?' said Alice, surprised at her own courage. +`It's no business of MINE.' + + The Queen turned crimson with fury, and, after glaring at her +for a moment like a wild beast, screamed `Off with her head! +Off--' + + `Nonsense!' said Alice, very loudly and decidedly, and the +Queen was silent. + + The King laid his hand upon her arm, and timidly said +`Consider, my dear: she is only a child!' + + The Queen turned angrily away from him, and said to the Knave +`Turn them over!' + + The Knave did so, very carefully, with one foot. + + `Get up!' said the Queen, in a shrill, loud voice, and the +three gardeners instantly jumped up, and began bowing to the +King, the Queen, the royal children, and everybody else. + + `Leave off that!' screamed the Queen. `You make me giddy.' +And then, turning to the rose-tree, she went on, `What HAVE you +been doing here?' + + `May it please your Majesty,' said Two, in a very humble tone, +going down on one knee as he spoke, `we were trying--' + + `I see!' said the Queen, who had meanwhile been examining the +roses. `Off with their heads!' and the procession moved on, +three of the soldiers remaining behind to execute the unfortunate +gardeners, who ran to Alice for protection. + + `You shan't be beheaded!' said Alice, and she put them into a +large flower-pot that stood near. The three soldiers wandered +about for a minute or two, looking for them, and then quietly +marched off after the others. + + `Are their heads off?' shouted the Queen. + + `Their heads are gone, if it please your Majesty!' the soldiers +shouted in reply. + + `That's right!' shouted the Queen. `Can you play croquet?' + + The soldiers were silent, and looked at Alice, as the question +was evidently meant for her. + + `Yes!' shouted Alice. + + `Come on, then!' roared the Queen, and Alice joined the +procession, wondering very much what would happen next. + + `It's--it's a very fine day!' said a timid voice at her side. +She was walking by the White Rabbit, who was peeping anxiously +into her face. + + `Very,' said Alice: `--where's the Duchess?' + + `Hush! Hush!' said the Rabbit in a low, hurried tone. He +looked anxiously over his shoulder as he spoke, and then raised +himself upon tiptoe, put his mouth close to her ear, and +whispered `She's under sentence of execution.' + + `What for?' said Alice. + + `Did you say "What a pity!"?' the Rabbit asked. + + `No, I didn't,' said Alice: `I don't think it's at all a pity. +I said "What for?"' + + `She boxed the Queen's ears--' the Rabbit began. Alice gave a +little scream of laughter. `Oh, hush!' the Rabbit whispered in a +frightened tone. `The Queen will hear you! You see, she came +rather late, and the Queen said--' + + `Get to your places!' shouted the Queen in a voice of thunder, +and people began running about in all directions, tumbling up +against each other; however, they got settled down in a minute or +two, and the game began. Alice thought she had never seen such a +curious croquet-ground in her life; it was all ridges and +furrows; the balls were live hedgehogs, the mallets live +flamingoes, and the soldiers had to double themselves up and to +stand on their hands and feet, to make the arches. + + The chief difficulty Alice found at first was in managing her +flamingo: she succeeded in getting its body tucked away, +comfortably enough, under her arm, with its legs hanging down, +but generally, just as she had got its neck nicely straightened +out, and was going to give the hedgehog a blow with its head, it +WOULD twist itself round and look up in her face, with such a +puzzled expression that she could not help bursting out laughing: +and when she had got its head down, and was going to begin again, +it was very provoking to find that the hedgehog had unrolled +itself, and was in the act of crawling away: besides all this, +there was generally a ridge or furrow in the way wherever she +wanted to send the hedgehog to, and, as the doubled-up soldiers +were always getting up and walking off to other parts of the +ground, Alice soon came to the conclusion that it was a very +difficult game indeed. + + The players all played at once without waiting for turns, +quarrelling all the while, and fighting for the hedgehogs; and in +a very short time the Queen was in a furious passion, and went +stamping about, and shouting `Off with his head!' or `Off with +her head!' about once in a minute. + + Alice began to feel very uneasy: to be sure, she had not as +yet had any dispute with the Queen, but she knew that it might +happen any minute, `and then,' thought she, `what would become of +me? They're dreadfully fond of beheading people here; the great +wonder is, that there's any one left alive!' + + She was looking about for some way of escape, and wondering +whether she could get away without being seen, when she noticed a +curious appearance in the air: it puzzled her very much at +first, but, after watching it a minute or two, she made it out to +be a grin, and she said to herself `It's the Cheshire Cat: now I +shall have somebody to talk to.' + + `How are you getting on?' said the Cat, as soon as there was +mouth enough for it to speak with. + + Alice waited till the eyes appeared, and then nodded. `It's no +use speaking to it,' she thought, `till its ears have come, or at +least one of them.' In another minute the whole head appeared, +and then Alice put down her flamingo, and began an account of the +game, feeling very glad she had someone to listen to her. The +Cat seemed to think that there was enough of it now in sight, and +no more of it appeared. + + `I don't think they play at all fairly,' Alice began, in rather +a complaining tone, `and they all quarrel so dreadfully one can't +hear oneself speak--and they don't seem to have any rules in +particular; at least, if there are, nobody attends to them--and +you've no idea how confusing it is all the things being alive; +for instance, there's the arch I've got to go through next +walking about at the other end of the ground--and I should have +croqueted the Queen's hedgehog just now, only it ran away when it +saw mine coming!' + + `How do you like the Queen?' said the Cat in a low voice. + + `Not at all,' said Alice: `she's so extremely--' Just then +she noticed that the Queen was close behind her, listening: so +she went on, `--likely to win, that it's hardly worth while +finishing the game.' + + The Queen smiled and passed on. + + `Who ARE you talking to?' said the King, going up to Alice, and +looking at the Cat's head with great curiosity. + + `It's a friend of mine--a Cheshire Cat,' said Alice: `allow me +to introduce it.' + + `I don't like the look of it at all,' said the King: +`however, it may kiss my hand if it likes.' + + `I'd rather not,' the Cat remarked. + + `Don't be impertinent,' said the King, `and don't look at me +like that!' He got behind Alice as he spoke. + + `A cat may look at a king,' said Alice. `I've read that in +some book, but I don't remember where.' + + `Well, it must be removed,' said the King very decidedly, and +he called the Queen, who was passing at the moment, `My dear! I +wish you would have this cat removed!' + + The Queen had only one way of settling all difficulties, great +or small. `Off with his head!' she said, without even looking +round. + + `I'll fetch the executioner myself,' said the King eagerly, and +he hurried off. + + Alice thought she might as well go back, and see how the game +was going on, as she heard the Queen's voice in the distance, +screaming with passion. She had already heard her sentence three +of the players to be executed for having missed their turns, and +she did not like the look of things at all, as the game was in +such confusion that she never knew whether it was her turn or +not. So she went in search of her hedgehog. + + The hedgehog was engaged in a fight with another hedgehog, +which seemed to Alice an excellent opportunity for croqueting one +of them with the other: the only difficulty was, that her +flamingo was gone across to the other side of the garden, where +Alice could see it trying in a helpless sort of way to fly up +into a tree. + + By the time she had caught the flamingo and brought it back, +the fight was over, and both the hedgehogs were out of sight: +`but it doesn't matter much,' thought Alice, `as all the arches +are gone from this side of the ground.' So she tucked it away +under her arm, that it might not escape again, and went back for +a little more conversation with her friend. + + When she got back to the Cheshire Cat, she was surprised to +find quite a large crowd collected round it: there was a dispute +going on between the executioner, the King, and the Queen, who +were all talking at once, while all the rest were quite silent, +and looked very uncomfortable. + + The moment Alice appeared, she was appealed to by all three to +settle the question, and they repeated their arguments to her, +though, as they all spoke at once, she found it very hard indeed +to make out exactly what they said. + + The executioner's argument was, that you couldn't cut off a +head unless there was a body to cut it off from: that he had +never had to do such a thing before, and he wasn't going to begin +at HIS time of life. + + The King's argument was, that anything that had a head could be +beheaded, and that you weren't to talk nonsense. + + The Queen's argument was, that if something wasn't done about +it in less than no time she'd have everybody executed, all round. +(It was this last remark that had made the whole party look so +grave and anxious.) + + Alice could think of nothing else to say but `It belongs to the +Duchess: you'd better ask HER about it.' + + `She's in prison,' the Queen said to the executioner: `fetch +her here.' And the executioner went off like an arrow. + + The Cat's head began fading away the moment he was gone, and, +by the time he had come back with the Duchess, it had entirely +disappeared; so the King and the executioner ran wildly up and down +looking for it, while the rest of the party went back to the game. + + + + CHAPTER IX + + The Mock Turtle's Story + + + `You can't think how glad I am to see you again, you dear old +thing!' said the Duchess, as she tucked her arm affectionately +into Alice's, and they walked off together. + + Alice was very glad to find her in such a pleasant temper, and +thought to herself that perhaps it was only the pepper that had +made her so savage when they met in the kitchen. + + `When I'M a Duchess,' she said to herself, (not in a very +hopeful tone though), `I won't have any pepper in my kitchen AT +ALL. Soup does very well without--Maybe it's always pepper that +makes people hot-tempered,' she went on, very much pleased at +having found out a new kind of rule, `and vinegar that makes them +sour--and camomile that makes them bitter--and--and barley-sugar +and such things that make children sweet-tempered. I only wish +people knew that: then they wouldn't be so stingy about it, you +know--' + + She had quite forgotten the Duchess by this time, and was a +little startled when she heard her voice close to her ear. +`You're thinking about something, my dear, and that makes you +forget to talk. I can't tell you just now what the moral of that +is, but I shall remember it in a bit.' + + `Perhaps it hasn't one,' Alice ventured to remark. + + `Tut, tut, child!' said the Duchess. `Everything's got a +moral, if only you can find it.' And she squeezed herself up +closer to Alice's side as she spoke. + + Alice did not much like keeping so close to her: first, +because the Duchess was VERY ugly; and secondly, because she was +exactly the right height to rest her chin upon Alice's shoulder, +and it was an uncomfortably sharp chin. However, she did not +like to be rude, so she bore it as well as she could. + + `The game's going on rather better now,' she said, by way of +keeping up the conversation a little. + + `'Tis so,' said the Duchess: `and the moral of that is--"Oh, +'tis love, 'tis love, that makes the world go round!"' + + `Somebody said,' Alice whispered, `that it's done by everybody +minding their own business!' + + `Ah, well! It means much the same thing,' said the Duchess, +digging her sharp little chin into Alice's shoulder as she added, +`and the moral of THAT is--"Take care of the sense, and the +sounds will take care of themselves."' + + `How fond she is of finding morals in things!' Alice thought to +herself. + + `I dare say you're wondering why I don't put my arm round your +waist,' the Duchess said after a pause: `the reason is, that I'm +doubtful about the temper of your flamingo. Shall I try the +experiment?' + + `HE might bite,' Alice cautiously replied, not feeling at all +anxious to have the experiment tried. + + `Very true,' said the Duchess: `flamingoes and mustard both +bite. And the moral of that is--"Birds of a feather flock +together."' + + `Only mustard isn't a bird,' Alice remarked. + + `Right, as usual,' said the Duchess: `what a clear way you +have of putting things!' + + `It's a mineral, I THINK,' said Alice. + + `Of course it is,' said the Duchess, who seemed ready to agree +to everything that Alice said; `there's a large mustard-mine near +here. And the moral of that is--"The more there is of mine, the +less there is of yours."' + + `Oh, I know!' exclaimed Alice, who had not attended to this +last remark, `it's a vegetable. It doesn't look like one, but it +is.' + + `I quite agree with you,' said the Duchess; `and the moral of +that is--"Be what you would seem to be"--or if you'd like it put +more simply--"Never imagine yourself not to be otherwise than +what it might appear to others that what you were or might have +been was not otherwise than what you had been would have appeared +to them to be otherwise."' + + `I think I should understand that better,' Alice said very +politely, `if I had it written down: but I can't quite follow it +as you say it.' + + `That's nothing to what I could say if I chose,' the Duchess +replied, in a pleased tone. + + `Pray don't trouble yourself to say it any longer than that,' +said Alice. + + `Oh, don't talk about trouble!' said the Duchess. `I make you +a present of everything I've said as yet.' + + `A cheap sort of present!' thought Alice. `I'm glad they don't +give birthday presents like that!' But she did not venture to +say it out loud. + + `Thinking again?' the Duchess asked, with another dig of her +sharp little chin. + + `I've a right to think,' said Alice sharply, for she was +beginning to feel a little worried. + + `Just about as much right,' said the Duchess, `as pigs have to fly; +and the m--' + + But here, to Alice's great surprise, the Duchess's voice died +away, even in the middle of her favourite word `moral,' and the +arm that was linked into hers began to tremble. Alice looked up, +and there stood the Queen in front of them, with her arms folded, +frowning like a thunderstorm. + + `A fine day, your Majesty!' the Duchess began in a low, weak +voice. + + `Now, I give you fair warning,' shouted the Queen, stamping on +the ground as she spoke; `either you or your head must be off, +and that in about half no time! Take your choice!' + + The Duchess took her choice, and was gone in a moment. + + `Let's go on with the game,' the Queen said to Alice; and Alice +was too much frightened to say a word, but slowly followed her +back to the croquet-ground. + + The other guests had taken advantage of the Queen's absence, +and were resting in the shade: however, the moment they saw her, +they hurried back to the game, the Queen merely remarking that a +moment's delay would cost them their lives. + + All the time they were playing the Queen never left off +quarrelling with the other players, and shouting `Off with his +head!' or `Off with her head!' Those whom she sentenced were +taken into custody by the soldiers, who of course had to leave +off being arches to do this, so that by the end of half an hour +or so there were no arches left, and all the players, except the +King, the Queen, and Alice, were in custody and under sentence of +execution. + + Then the Queen left off, quite out of breath, and said to +Alice, `Have you seen the Mock Turtle yet?' + + `No,' said Alice. `I don't even know what a Mock Turtle is.' + + `It's the thing Mock Turtle Soup is made from,' said the Queen. + + `I never saw one, or heard of one,' said Alice. + + `Come on, then,' said the Queen, `and he shall tell you his +history,' + + As they walked off together, Alice heard the King say in a low +voice, to the company generally, `You are all pardoned.' `Come, +THAT'S a good thing!' she said to herself, for she had felt quite +unhappy at the number of executions the Queen had ordered. + + They very soon came upon a Gryphon, lying fast asleep in the +sun. (IF you don't know what a Gryphon is, look at the picture.) +`Up, lazy thing!' said the Queen, `and take this young lady to +see the Mock Turtle, and to hear his history. I must go back and +see after some executions I have ordered'; and she walked off, +leaving Alice alone with the Gryphon. Alice did not quite like +the look of the creature, but on the whole she thought it would +be quite as safe to stay with it as to go after that savage +Queen: so she waited. + + The Gryphon sat up and rubbed its eyes: then it watched the +Queen till she was out of sight: then it chuckled. `What fun!' +said the Gryphon, half to itself, half to Alice. + + `What IS the fun?' said Alice. + + `Why, SHE,' said the Gryphon. `It's all her fancy, that: they +never executes nobody, you know. Come on!' + + `Everybody says "come on!" here,' thought Alice, as she went +slowly after it: `I never was so ordered about in all my life, +never!' + + They had not gone far before they saw the Mock Turtle in the +distance, sitting sad and lonely on a little ledge of rock, and, +as they came nearer, Alice could hear him sighing as if his heart +would break. She pitied him deeply. `What is his sorrow?' she +asked the Gryphon, and the Gryphon answered, very nearly in the +same words as before, `It's all his fancy, that: he hasn't got +no sorrow, you know. Come on!' + + So they went up to the Mock Turtle, who looked at them with +large eyes full of tears, but said nothing. + + `This here young lady,' said the Gryphon, `she wants for to +know your history, she do.' + + `I'll tell it her,' said the Mock Turtle in a deep, hollow +tone: `sit down, both of you, and don't speak a word till I've +finished.' + + So they sat down, and nobody spoke for some minutes. Alice +thought to herself, `I don't see how he can EVEN finish, if he +doesn't begin.' But she waited patiently. + + `Once,' said the Mock Turtle at last, with a deep sigh, `I was +a real Turtle.' + + These words were followed by a very long silence, broken only +by an occasional exclamation of `Hjckrrh!' from the Gryphon, and +the constant heavy sobbing of the Mock Turtle. Alice was very +nearly getting up and saying, `Thank you, sir, for your +interesting story,' but she could not help thinking there MUST be +more to come, so she sat still and said nothing. + + `When we were little,' the Mock Turtle went on at last, more +calmly, though still sobbing a little now and then, `we went to +school in the sea. The master was an old Turtle--we used to call +him Tortoise--' + + `Why did you call him Tortoise, if he wasn't one?' Alice asked. + + `We called him Tortoise because he taught us,' said the Mock +Turtle angrily: `really you are very dull!' + + `You ought to be ashamed of yourself for asking such a simple +question,' added the Gryphon; and then they both sat silent and +looked at poor Alice, who felt ready to sink into the earth. At +last the Gryphon said to the Mock Turtle, `Drive on, old fellow! +Don't be all day about it!' and he went on in these words: + + `Yes, we went to school in the sea, though you mayn't believe +it--' + + `I never said I didn't!' interrupted Alice. + + `You did,' said the Mock Turtle. + + `Hold your tongue!' added the Gryphon, before Alice could speak +again. The Mock Turtle went on. + + `We had the best of educations--in fact, we went to school +every day--' + + `I'VE been to a day-school, too,' said Alice; `you needn't be +so proud as all that.' + + `With extras?' asked the Mock Turtle a little anxiously. + + `Yes,' said Alice, `we learned French and music.' + + `And washing?' said the Mock Turtle. + + `Certainly not!' said Alice indignantly. + + `Ah! then yours wasn't a really good school,' said the Mock +Turtle in a tone of great relief. `Now at OURS they had at the +end of the bill, "French, music, AND WASHING--extra."' + + `You couldn't have wanted it much,' said Alice; `living at the +bottom of the sea.' + + `I couldn't afford to learn it.' said the Mock Turtle with a +sigh. `I only took the regular course.' + + `What was that?' inquired Alice. + + `Reeling and Writhing, of course, to begin with,' the Mock +Turtle replied; `and then the different branches of Arithmetic-- +Ambition, Distraction, Uglification, and Derision.' + + `I never heard of "Uglification,"' Alice ventured to say. `What is it?' + + The Gryphon lifted up both its paws in surprise. `What! Never +heard of uglifying!' it exclaimed. `You know what to beautify is, +I suppose?' + + `Yes,' said Alice doubtfully: `it means--to--make--anything--prettier.' + + `Well, then,' the Gryphon went on, `if you don't know what to +uglify is, you ARE a simpleton.' + + Alice did not feel encouraged to ask any more questions about +it, so she turned to the Mock Turtle, and said `What else had you +to learn?' + + `Well, there was Mystery,' the Mock Turtle replied, counting +off the subjects on his flappers, `--Mystery, ancient and modern, +with Seaography: then Drawling--the Drawling-master was an old +conger-eel, that used to come once a week: HE taught us +Drawling, Stretching, and Fainting in Coils.' + + `What was THAT like?' said Alice. + + `Well, I can't show it you myself,' the Mock Turtle said: `I'm +too stiff. And the Gryphon never learnt it.' + + `Hadn't time,' said the Gryphon: `I went to the Classics +master, though. He was an old crab, HE was.' + + `I never went to him,' the Mock Turtle said with a sigh: `he +taught Laughing and Grief, they used to say.' + + `So he did, so he did,' said the Gryphon, sighing in his turn; +and both creatures hid their faces in their paws. + + `And how many hours a day did you do lessons?' said Alice, in a +hurry to change the subject. + + `Ten hours the first day,' said the Mock Turtle: `nine the +next, and so on.' + + `What a curious plan!' exclaimed Alice. + + `That's the reason they're called lessons,' the Gryphon +remarked: `because they lessen from day to day.' + + This was quite a new idea to Alice, and she thought it over a +little before she made her next remark. `Then the eleventh day +must have been a holiday?' + + `Of course it was,' said the Mock Turtle. + + `And how did you manage on the twelfth?' Alice went on eagerly. + + `That's enough about lessons,' the Gryphon interrupted in a +very decided tone: `tell her something about the games now.' + + + + CHAPTER X + + The Lobster Quadrille + + + The Mock Turtle sighed deeply, and drew the back of one flapper +across his eyes. He looked at Alice, and tried to speak, but for +a minute or two sobs choked his voice. `Same as if he had a bone +in his throat,' said the Gryphon: and it set to work shaking him +and punching him in the back. At last the Mock Turtle recovered +his voice, and, with tears running down his cheeks, he went on +again:-- + + `You may not have lived much under the sea--' (`I haven't,' said Alice)-- +`and perhaps you were never even introduced to a lobster--' +(Alice began to say `I once tasted--' but checked herself hastily, +and said `No, never') `--so you can have no idea what a delightful +thing a Lobster Quadrille is!' + + `No, indeed,' said Alice. `What sort of a dance is it?' + + `Why,' said the Gryphon, `you first form into a line along the sea-shore--' + + `Two lines!' cried the Mock Turtle. `Seals, turtles, salmon, and so on; +then, when you've cleared all the jelly-fish out of the way--' + + `THAT generally takes some time,' interrupted the Gryphon. + + `--you advance twice--' + + `Each with a lobster as a partner!' cried the Gryphon. + + `Of course,' the Mock Turtle said: `advance twice, set to +partners--' + + `--change lobsters, and retire in same order,' continued the +Gryphon. + + `Then, you know,' the Mock Turtle went on, `you throw the--' + + `The lobsters!' shouted the Gryphon, with a bound into the air. + + `--as far out to sea as you can--' + + `Swim after them!' screamed the Gryphon. + + `Turn a somersault in the sea!' cried the Mock Turtle, +capering wildly about. + + `Change lobsters again!' yelled the Gryphon at the top of its voice. + + `Back to land again, and that's all the first figure,' said the +Mock Turtle, suddenly dropping his voice; and the two creatures, +who had been jumping about like mad things all this time, sat +down again very sadly and quietly, and looked at Alice. + + `It must be a very pretty dance,' said Alice timidly. + + `Would you like to see a little of it?' said the Mock Turtle. + + `Very much indeed,' said Alice. + + `Come, let's try the first figure!' said the Mock Turtle to the +Gryphon. `We can do without lobsters, you know. Which shall +sing?' + + `Oh, YOU sing,' said the Gryphon. `I've forgotten the words.' + + So they began solemnly dancing round and round Alice, every now +and then treading on her toes when they passed too close, and +waving their forepaws to mark the time, while the Mock Turtle +sang this, very slowly and sadly:-- + + +`"Will you walk a little faster?" said a whiting to a snail. +"There's a porpoise close behind us, and he's treading on my + tail. +See how eagerly the lobsters and the turtles all advance! +They are waiting on the shingle--will you come and join the +dance? + +Will you, won't you, will you, won't you, will you join the +dance? +Will you, won't you, will you, won't you, won't you join the +dance? + + +"You can really have no notion how delightful it will be +When they take us up and throw us, with the lobsters, out to + sea!" +But the snail replied "Too far, too far!" and gave a look + askance-- +Said he thanked the whiting kindly, but he would not join the + dance. + Would not, could not, would not, could not, would not join + the dance. + Would not, could not, would not, could not, could not join + the dance. + +`"What matters it how far we go?" his scaly friend replied. +"There is another shore, you know, upon the other side. +The further off from England the nearer is to France-- +Then turn not pale, beloved snail, but come and join the dance. + + Will you, won't you, will you, won't you, will you join the + dance? + Will you, won't you, will you, won't you, won't you join the + dance?"' + + + + `Thank you, it's a very interesting dance to watch,' said +Alice, feeling very glad that it was over at last: `and I do so +like that curious song about the whiting!' + + `Oh, as to the whiting,' said the Mock Turtle, `they--you've +seen them, of course?' + + `Yes,' said Alice, `I've often seen them at dinn--' she +checked herself hastily. + + `I don't know where Dinn may be,' said the Mock Turtle, `but +if you've seen them so often, of course you know what they're +like.' + + `I believe so,' Alice replied thoughtfully. `They have their +tails in their mouths--and they're all over crumbs.' + + `You're wrong about the crumbs,' said the Mock Turtle: +`crumbs would all wash off in the sea. But they HAVE their tails +in their mouths; and the reason is--' here the Mock Turtle +yawned and shut his eyes.--`Tell her about the reason and all +that,' he said to the Gryphon. + + `The reason is,' said the Gryphon, `that they WOULD go with +the lobsters to the dance. So they got thrown out to sea. So +they had to fall a long way. So they got their tails fast in +their mouths. So they couldn't get them out again. That's all.' + + `Thank you,' said Alice, `it's very interesting. I never knew +so much about a whiting before.' + + `I can tell you more than that, if you like,' said the +Gryphon. `Do you know why it's called a whiting?' + + `I never thought about it,' said Alice. `Why?' + + `IT DOES THE BOOTS AND SHOES.' the Gryphon replied very +solemnly. + + Alice was thoroughly puzzled. `Does the boots and shoes!' she +repeated in a wondering tone. + + `Why, what are YOUR shoes done with?' said the Gryphon. `I +mean, what makes them so shiny?' + + Alice looked down at them, and considered a little before she +gave her answer. `They're done with blacking, I believe.' + + `Boots and shoes under the sea,' the Gryphon went on in a deep +voice, `are done with a whiting. Now you know.' + + `And what are they made of?' Alice asked in a tone of great +curiosity. + + `Soles and eels, of course,' the Gryphon replied rather +impatiently: `any shrimp could have told you that.' + + `If I'd been the whiting,' said Alice, whose thoughts were +still running on the song, `I'd have said to the porpoise, "Keep +back, please: we don't want YOU with us!"' + + `They were obliged to have him with them,' the Mock Turtle +said: `no wise fish would go anywhere without a porpoise.' + + `Wouldn't it really?' said Alice in a tone of great surprise. + + `Of course not,' said the Mock Turtle: `why, if a fish came +to ME, and told me he was going a journey, I should say "With +what porpoise?"' + + `Don't you mean "purpose"?' said Alice. + + `I mean what I say,' the Mock Turtle replied in an offended +tone. And the Gryphon added `Come, let's hear some of YOUR +adventures.' + + `I could tell you my adventures--beginning from this morning,' +said Alice a little timidly: `but it's no use going back to +yesterday, because I was a different person then.' + + `Explain all that,' said the Mock Turtle. + + `No, no! The adventures first,' said the Gryphon in an +impatient tone: `explanations take such a dreadful time.' + + So Alice began telling them her adventures from the time when +she first saw the White Rabbit. She was a little nervous about +it just at first, the two creatures got so close to her, one on +each side, and opened their eyes and mouths so VERY wide, but she +gained courage as she went on. Her listeners were perfectly +quiet till she got to the part about her repeating `YOU ARE OLD, +FATHER WILLIAM,' to the Caterpillar, and the words all coming +different, and then the Mock Turtle drew a long breath, and said +`That's very curious.' + + `It's all about as curious as it can be,' said the Gryphon. + + `It all came different!' the Mock Turtle repeated +thoughtfully. `I should like to hear her try and repeat +something now. Tell her to begin.' He looked at the Gryphon as +if he thought it had some kind of authority over Alice. + + `Stand up and repeat "'TIS THE VOICE OF THE SLUGGARD,"' said +the Gryphon. + + `How the creatures order one about, and make one repeat +lessons!' thought Alice; `I might as well be at school at once.' +However, she got up, and began to repeat it, but her head was so +full of the Lobster Quadrille, that she hardly knew what she was +saying, and the words came very queer indeed:-- + + `'Tis the voice of the Lobster; I heard him declare, + "You have baked me too brown, I must sugar my hair." + As a duck with its eyelids, so he with his nose + Trims his belt and his buttons, and turns out his toes.' + + [later editions continued as follows + When the sands are all dry, he is gay as a lark, + And will talk in contemptuous tones of the Shark, + But, when the tide rises and sharks are around, + His voice has a timid and tremulous sound.] + + `That's different from what I used to say when I was a child,' +said the Gryphon. + + `Well, I never heard it before,' said the Mock Turtle; `but it +sounds uncommon nonsense.' + + Alice said nothing; she had sat down with her face in her +hands, wondering if anything would EVER happen in a natural way +again. + + `I should like to have it explained,' said the Mock Turtle. + + `She can't explain it,' said the Gryphon hastily. `Go on with +the next verse.' + + `But about his toes?' the Mock Turtle persisted. `How COULD +he turn them out with his nose, you know?' + + `It's the first position in dancing.' Alice said; but was +dreadfully puzzled by the whole thing, and longed to change the +subject. + + `Go on with the next verse,' the Gryphon repeated impatiently: +`it begins "I passed by his garden."' + + Alice did not dare to disobey, though she felt sure it would +all come wrong, and she went on in a trembling voice:-- + + `I passed by his garden, and marked, with one eye, + How the Owl and the Panther were sharing a pie--' + + [later editions continued as follows + The Panther took pie-crust, and gravy, and meat, + While the Owl had the dish as its share of the treat. + When the pie was all finished, the Owl, as a boon, + Was kindly permitted to pocket the spoon: + While the Panther received knife and fork with a growl, + And concluded the banquet--] + + `What IS the use of repeating all that stuff,' the Mock Turtle +interrupted, `if you don't explain it as you go on? It's by far +the most confusing thing I ever heard!' + + `Yes, I think you'd better leave off,' said the Gryphon: and +Alice was only too glad to do so. + + `Shall we try another figure of the Lobster Quadrille?' the +Gryphon went on. `Or would you like the Mock Turtle to sing you +a song?' + + `Oh, a song, please, if the Mock Turtle would be so kind,' +Alice replied, so eagerly that the Gryphon said, in a rather +offended tone, `Hm! No accounting for tastes! Sing her +"Turtle Soup," will you, old fellow?' + + The Mock Turtle sighed deeply, and began, in a voice sometimes +choked with sobs, to sing this:-- + + + `Beautiful Soup, so rich and green, + Waiting in a hot tureen! + Who for such dainties would not stoop? + Soup of the evening, beautiful Soup! + Soup of the evening, beautiful Soup! + Beau--ootiful Soo--oop! + Beau--ootiful Soo--oop! + Soo--oop of the e--e--evening, + Beautiful, beautiful Soup! + + `Beautiful Soup! Who cares for fish, + Game, or any other dish? + Who would not give all else for two + Pennyworth only of beautiful Soup? + Pennyworth only of beautiful Soup? + Beau--ootiful Soo--oop! + Beau--ootiful Soo--oop! + Soo--oop of the e--e--evening, + Beautiful, beauti--FUL SOUP!' + + `Chorus again!' cried the Gryphon, and the Mock Turtle had +just begun to repeat it, when a cry of `The trial's beginning!' +was heard in the distance. + + `Come on!' cried the Gryphon, and, taking Alice by the hand, +it hurried off, without waiting for the end of the song. + + `What trial is it?' Alice panted as she ran; but the Gryphon +only answered `Come on!' and ran the faster, while more and more +faintly came, carried on the breeze that followed them, the +melancholy words:-- + + `Soo--oop of the e--e--evening, + Beautiful, beautiful Soup!' + + + + CHAPTER XI + + Who Stole the Tarts? + + + The King and Queen of Hearts were seated on their throne when +they arrived, with a great crowd assembled about them--all sorts +of little birds and beasts, as well as the whole pack of cards: +the Knave was standing before them, in chains, with a soldier on +each side to guard him; and near the King was the White Rabbit, +with a trumpet in one hand, and a scroll of parchment in the +other. In the very middle of the court was a table, with a large +dish of tarts upon it: they looked so good, that it made Alice +quite hungry to look at them--`I wish they'd get the trial done,' +she thought, `and hand round the refreshments!' But there seemed +to be no chance of this, so she began looking at everything about +her, to pass away the time. + + Alice had never been in a court of justice before, but she had +read about them in books, and she was quite pleased to find that +she knew the name of nearly everything there. `That's the +judge,' she said to herself, `because of his great wig.' + + The judge, by the way, was the King; and as he wore his crown +over the wig, (look at the frontispiece if you want to see how he +did it,) he did not look at all comfortable, and it was certainly +not becoming. + + `And that's the jury-box,' thought Alice, `and those twelve +creatures,' (she was obliged to say `creatures,' you see, because +some of them were animals, and some were birds,) `I suppose they +are the jurors.' She said this last word two or three times over +to herself, being rather proud of it: for she thought, and +rightly too, that very few little girls of her age knew the +meaning of it at all. However, `jury-men' would have done just +as well. + + The twelve jurors were all writing very busily on slates. +`What are they doing?' Alice whispered to the Gryphon. `They +can't have anything to put down yet, before the trial's begun.' + + `They're putting down their names,' the Gryphon whispered in +reply, `for fear they should forget them before the end of the +trial.' + + `Stupid things!' Alice began in a loud, indignant voice, but +she stopped hastily, for the White Rabbit cried out, `Silence in +the court!' and the King put on his spectacles and looked +anxiously round, to make out who was talking. + + Alice could see, as well as if she were looking over their +shoulders, that all the jurors were writing down `stupid things!' +on their slates, and she could even make out that one of them +didn't know how to spell `stupid,' and that he had to ask his +neighbour to tell him. `A nice muddle their slates'll be in +before the trial's over!' thought Alice. + + One of the jurors had a pencil that squeaked. This of course, +Alice could not stand, and she went round the court and got +behind him, and very soon found an opportunity of taking it +away. She did it so quickly that the poor little juror (it was +Bill, the Lizard) could not make out at all what had become of +it; so, after hunting all about for it, he was obliged to write +with one finger for the rest of the day; and this was of very +little use, as it left no mark on the slate. + + `Herald, read the accusation!' said the King. + + On this the White Rabbit blew three blasts on the trumpet, and +then unrolled the parchment scroll, and read as follows:-- + + `The Queen of Hearts, she made some tarts, + All on a summer day: + The Knave of Hearts, he stole those tarts, + And took them quite away!' + + `Consider your verdict,' the King said to the jury. + + `Not yet, not yet!' the Rabbit hastily interrupted. `There's +a great deal to come before that!' + + `Call the first witness,' said the King; and the White Rabbit +blew three blasts on the trumpet, and called out, `First +witness!' + + The first witness was the Hatter. He came in with a teacup in +one hand and a piece of bread-and-butter in the other. `I beg +pardon, your Majesty,' he began, `for bringing these in: but I +hadn't quite finished my tea when I was sent for.' + + `You ought to have finished,' said the King. `When did you +begin?' + + The Hatter looked at the March Hare, who had followed him into +the court, arm-in-arm with the Dormouse. `Fourteenth of March, I +think it was,' he said. + + `Fifteenth,' said the March Hare. + + `Sixteenth,' added the Dormouse. + + `Write that down,' the King said to the jury, and the jury +eagerly wrote down all three dates on their slates, and then +added them up, and reduced the answer to shillings and pence. + + `Take off your hat,' the King said to the Hatter. + + `It isn't mine,' said the Hatter. + + `Stolen!' the King exclaimed, turning to the jury, who +instantly made a memorandum of the fact. + + `I keep them to sell,' the Hatter added as an explanation; +`I've none of my own. I'm a hatter.' + + Here the Queen put on her spectacles, and began staring at the +Hatter, who turned pale and fidgeted. + + `Give your evidence,' said the King; `and don't be nervous, or +I'll have you executed on the spot.' + + This did not seem to encourage the witness at all: he kept +shifting from one foot to the other, looking uneasily at the +Queen, and in his confusion he bit a large piece out of his +teacup instead of the bread-and-butter. + + Just at this moment Alice felt a very curious sensation, which +puzzled her a good deal until she made out what it was: she was +beginning to grow larger again, and she thought at first she +would get up and leave the court; but on second thoughts she +decided to remain where she was as long as there was room for +her. + + `I wish you wouldn't squeeze so.' said the Dormouse, who was +sitting next to her. `I can hardly breathe.' + + `I can't help it,' said Alice very meekly: `I'm growing.' + + `You've no right to grow here,' said the Dormouse. + + `Don't talk nonsense,' said Alice more boldly: `you know +you're growing too.' + + `Yes, but I grow at a reasonable pace,' said the Dormouse: +`not in that ridiculous fashion.' And he got up very sulkily +and crossed over to the other side of the court. + + All this time the Queen had never left off staring at the +Hatter, and, just as the Dormouse crossed the court, she said to +one of the officers of the court, `Bring me the list of the +singers in the last concert!' on which the wretched Hatter +trembled so, that he shook both his shoes off. + + `Give your evidence,' the King repeated angrily, `or I'll have +you executed, whether you're nervous or not.' + + `I'm a poor man, your Majesty,' the Hatter began, in a +trembling voice, `--and I hadn't begun my tea--not above a week +or so--and what with the bread-and-butter getting so thin--and +the twinkling of the tea--' + + `The twinkling of the what?' said the King. + + `It began with the tea,' the Hatter replied. + + `Of course twinkling begins with a T!' said the King sharply. +`Do you take me for a dunce? Go on!' + + `I'm a poor man,' the Hatter went on, `and most things +twinkled after that--only the March Hare said--' + + `I didn't!' the March Hare interrupted in a great hurry. + + `You did!' said the Hatter. + + `I deny it!' said the March Hare. + + `He denies it,' said the King: `leave out that part.' + + `Well, at any rate, the Dormouse said--' the Hatter went on, +looking anxiously round to see if he would deny it too: but the +Dormouse denied nothing, being fast asleep. + + `After that,' continued the Hatter, `I cut some more bread- +and-butter--' + + `But what did the Dormouse say?' one of the jury asked. + + `That I can't remember,' said the Hatter. + + `You MUST remember,' remarked the King, `or I'll have you +executed.' + + The miserable Hatter dropped his teacup and bread-and-butter, +and went down on one knee. `I'm a poor man, your Majesty,' he +began. + + `You're a very poor speaker,' said the King. + + Here one of the guinea-pigs cheered, and was immediately +suppressed by the officers of the court. (As that is rather a +hard word, I will just explain to you how it was done. They had +a large canvas bag, which tied up at the mouth with strings: +into this they slipped the guinea-pig, head first, and then sat +upon it.) + + `I'm glad I've seen that done,' thought Alice. `I've so often +read in the newspapers, at the end of trials, "There was some +attempts at applause, which was immediately suppressed by the +officers of the court," and I never understood what it meant +till now.' + + `If that's all you know about it, you may stand down,' +continued the King. + + `I can't go no lower,' said the Hatter: `I'm on the floor, as +it is.' + + `Then you may SIT down,' the King replied. + + Here the other guinea-pig cheered, and was suppressed. + + `Come, that finished the guinea-pigs!' thought Alice. `Now we +shall get on better.' + + `I'd rather finish my tea,' said the Hatter, with an anxious +look at the Queen, who was reading the list of singers. + + `You may go,' said the King, and the Hatter hurriedly left the +court, without even waiting to put his shoes on. + + `--and just take his head off outside,' the Queen added to one +of the officers: but the Hatter was out of sight before the +officer could get to the door. + + `Call the next witness!' said the King. + + The next witness was the Duchess's cook. She carried the +pepper-box in her hand, and Alice guessed who it was, even before +she got into the court, by the way the people near the door began +sneezing all at once. + + `Give your evidence,' said the King. + + `Shan't,' said the cook. + + The King looked anxiously at the White Rabbit, who said in a +low voice, `Your Majesty must cross-examine THIS witness.' + + `Well, if I must, I must,' the King said, with a melancholy +air, and, after folding his arms and frowning at the cook till +his eyes were nearly out of sight, he said in a deep voice, `What +are tarts made of?' + + `Pepper, mostly,' said the cook. + + `Treacle,' said a sleepy voice behind her. + + `Collar that Dormouse,' the Queen shrieked out. `Behead that +Dormouse! Turn that Dormouse out of court! Suppress him! Pinch +him! Off with his whiskers!' + + For some minutes the whole court was in confusion, getting the +Dormouse turned out, and, by the time they had settled down +again, the cook had disappeared. + + `Never mind!' said the King, with an air of great relief. +`Call the next witness.' And he added in an undertone to the +Queen, `Really, my dear, YOU must cross-examine the next witness. +It quite makes my forehead ache!' + + Alice watched the White Rabbit as he fumbled over the list, +feeling very curious to see what the next witness would be like, +`--for they haven't got much evidence YET,' she said to herself. +Imagine her surprise, when the White Rabbit read out, at the top +of his shrill little voice, the name `Alice!' + + + + CHAPTER XII + + Alice's Evidence + + + `Here!' cried Alice, quite forgetting in the flurry of the +moment how large she had grown in the last few minutes, and she +jumped up in such a hurry that she tipped over the jury-box with +the edge of her skirt, upsetting all the jurymen on to the heads +of the crowd below, and there they lay sprawling about, reminding +her very much of a globe of goldfish she had accidentally upset +the week before. + + `Oh, I BEG your pardon!' she exclaimed in a tone of great +dismay, and began picking them up again as quickly as she could, +for the accident of the goldfish kept running in her head, and +she had a vague sort of idea that they must be collected at once +and put back into the jury-box, or they would die. + + `The trial cannot proceed,' said the King in a very grave +voice, `until all the jurymen are back in their proper places-- +ALL,' he repeated with great emphasis, looking hard at Alice as +he said do. + + Alice looked at the jury-box, and saw that, in her haste, she +had put the Lizard in head downwards, and the poor little thing +was waving its tail about in a melancholy way, being quite unable +to move. She soon got it out again, and put it right; `not that +it signifies much,' she said to herself; `I should think it +would be QUITE as much use in the trial one way up as the other.' + + As soon as the jury had a little recovered from the shock of +being upset, and their slates and pencils had been found and +handed back to them, they set to work very diligently to write +out a history of the accident, all except the Lizard, who seemed +too much overcome to do anything but sit with its mouth open, +gazing up into the roof of the court. + + `What do you know about this business?' the King said to +Alice. + + `Nothing,' said Alice. + + `Nothing WHATEVER?' persisted the King. + + `Nothing whatever,' said Alice. + + `That's very important,' the King said, turning to the jury. +They were just beginning to write this down on their slates, when +the White Rabbit interrupted: `UNimportant, your Majesty means, +of course,' he said in a very respectful tone, but frowning and +making faces at him as he spoke. + + `UNimportant, of course, I meant,' the King hastily said, and +went on to himself in an undertone, `important--unimportant-- +unimportant--important--' as if he were trying which word +sounded best. + + Some of the jury wrote it down `important,' and some +`unimportant.' Alice could see this, as she was near enough to +look over their slates; `but it doesn't matter a bit,' she +thought to herself. + + At this moment the King, who had been for some time busily +writing in his note-book, cackled out `Silence!' and read out +from his book, `Rule Forty-two. ALL PERSONS MORE THAN A MILE +HIGH TO LEAVE THE COURT.' + + Everybody looked at Alice. + + `I'M not a mile high,' said Alice. + + `You are,' said the King. + + `Nearly two miles high,' added the Queen. + + `Well, I shan't go, at any rate,' said Alice: `besides, +that's not a regular rule: you invented it just now.' + + `It's the oldest rule in the book,' said the King. + + `Then it ought to be Number One,' said Alice. + + The King turned pale, and shut his note-book hastily. +`Consider your verdict,' he said to the jury, in a low, trembling +voice. + + `There's more evidence to come yet, please your Majesty,' said +the White Rabbit, jumping up in a great hurry; `this paper has +just been picked up.' + + `What's in it?' said the Queen. + + `I haven't opened it yet,' said the White Rabbit, `but it seems +to be a letter, written by the prisoner to--to somebody.' + + `It must have been that,' said the King, `unless it was +written to nobody, which isn't usual, you know.' + + `Who is it directed to?' said one of the jurymen. + + `It isn't directed at all,' said the White Rabbit; `in fact, +there's nothing written on the OUTSIDE.' He unfolded the paper +as he spoke, and added `It isn't a letter, after all: it's a set +of verses.' + + `Are they in the prisoner's handwriting?' asked another of +the jurymen. + + `No, they're not,' said the White Rabbit, `and that's the +queerest thing about it.' (The jury all looked puzzled.) + + `He must have imitated somebody else's hand,' said the King. +(The jury all brightened up again.) + + `Please your Majesty,' said the Knave, `I didn't write it, and +they can't prove I did: there's no name signed at the end.' + + `If you didn't sign it,' said the King, `that only makes the +matter worse. You MUST have meant some mischief, or else you'd +have signed your name like an honest man.' + + There was a general clapping of hands at this: it was the +first really clever thing the King had said that day. + + `That PROVES his guilt,' said the Queen. + + `It proves nothing of the sort!' said Alice. `Why, you don't +even know what they're about!' + + `Read them,' said the King. + + The White Rabbit put on his spectacles. `Where shall I begin, +please your Majesty?' he asked. + + `Begin at the beginning,' the King said gravely, `and go on +till you come to the end: then stop.' + + These were the verses the White Rabbit read:-- + + `They told me you had been to her, + And mentioned me to him: + She gave me a good character, + But said I could not swim. + + He sent them word I had not gone + (We know it to be true): + If she should push the matter on, + What would become of you? + + I gave her one, they gave him two, + You gave us three or more; + They all returned from him to you, + Though they were mine before. + + If I or she should chance to be + Involved in this affair, + He trusts to you to set them free, + Exactly as we were. + + My notion was that you had been + (Before she had this fit) + An obstacle that came between + Him, and ourselves, and it. + + Don't let him know she liked them best, + For this must ever be + A secret, kept from all the rest, + Between yourself and me.' + + `That's the most important piece of evidence we've heard yet,' +said the King, rubbing his hands; `so now let the jury--' + + `If any one of them can explain it,' said Alice, (she had +grown so large in the last few minutes that she wasn't a bit +afraid of interrupting him,) `I'll give him sixpence. _I_ don't +believe there's an atom of meaning in it.' + + The jury all wrote down on their slates, `SHE doesn't believe +there's an atom of meaning in it,' but none of them attempted to +explain the paper. + + `If there's no meaning in it,' said the King, `that saves a +world of trouble, you know, as we needn't try to find any. And +yet I don't know,' he went on, spreading out the verses on his +knee, and looking at them with one eye; `I seem to see some +meaning in them, after all. "--SAID I COULD NOT SWIM--" you +can't swim, can you?' he added, turning to the Knave. + + The Knave shook his head sadly. `Do I look like it?' he said. +(Which he certainly did NOT, being made entirely of cardboard.) + + `All right, so far,' said the King, and he went on muttering +over the verses to himself: `"WE KNOW IT TO BE TRUE--" that's +the jury, of course-- "I GAVE HER ONE, THEY GAVE HIM TWO--" why, +that must be what he did with the tarts, you know--' + + `But, it goes on "THEY ALL RETURNED FROM HIM TO YOU,"' said +Alice. + + `Why, there they are!' said the King triumphantly, pointing to +the tarts on the table. `Nothing can be clearer than THAT. +Then again--"BEFORE SHE HAD THIS FIT--" you never had fits, my +dear, I think?' he said to the Queen. + + `Never!' said the Queen furiously, throwing an inkstand at the +Lizard as she spoke. (The unfortunate little Bill had left off +writing on his slate with one finger, as he found it made no +mark; but he now hastily began again, using the ink, that was +trickling down his face, as long as it lasted.) + + `Then the words don't FIT you,' said the King, looking round +the court with a smile. There was a dead silence. + + `It's a pun!' the King added in an offended tone, and +everybody laughed, `Let the jury consider their verdict,' the +King said, for about the twentieth time that day. + + `No, no!' said the Queen. `Sentence first--verdict afterwards.' + + `Stuff and nonsense!' said Alice loudly. `The idea of having +the sentence first!' + + `Hold your tongue!' said the Queen, turning purple. + + `I won't!' said Alice. + + `Off with her head!' the Queen shouted at the top of her voice. +Nobody moved. + + `Who cares for you?' said Alice, (she had grown to her full +size by this time.) `You're nothing but a pack of cards!' + + At this the whole pack rose up into the air, and came flying +down upon her: she gave a little scream, half of fright and half +of anger, and tried to beat them off, and found herself lying on +the bank, with her head in the lap of her sister, who was gently +brushing away some dead leaves that had fluttered down from the +trees upon her face. + + `Wake up, Alice dear!' said her sister; `Why, what a long +sleep you've had!' + + `Oh, I've had such a curious dream!' said Alice, and she told +her sister, as well as she could remember them, all these strange +Adventures of hers that you have just been reading about; and +when she had finished, her sister kissed her, and said, `It WAS a +curious dream, dear, certainly: but now run in to your tea; it's +getting late.' So Alice got up and ran off, thinking while she +ran, as well she might, what a wonderful dream it had been. + + But her sister sat still just as she left her, leaning her +head on her hand, watching the setting sun, and thinking of +little Alice and all her wonderful Adventures, till she too began +dreaming after a fashion, and this was her dream:-- + + First, she dreamed of little Alice herself, and once again the +tiny hands were clasped upon her knee, and the bright eager eyes +were looking up into hers--she could hear the very tones of her +voice, and see that queer little toss of her head to keep back +the wandering hair that WOULD always get into her eyes--and +still as she listened, or seemed to listen, the whole place +around her became alive the strange creatures of her little +sister's dream. + + The long grass rustled at her feet as the White Rabbit hurried +by--the frightened Mouse splashed his way through the +neighbouring pool--she could hear the rattle of the teacups as +the March Hare and his friends shared their never-ending meal, +and the shrill voice of the Queen ordering off her unfortunate +guests to execution--once more the pig-baby was sneezing on the +Duchess's knee, while plates and dishes crashed around it--once +more the shriek of the Gryphon, the squeaking of the Lizard's +slate-pencil, and the choking of the suppressed guinea-pigs, +filled the air, mixed up with the distant sobs of the miserable +Mock Turtle. + + So she sat on, with closed eyes, and half believed herself in +Wonderland, though she knew she had but to open them again, and +all would change to dull reality--the grass would be only +rustling in the wind, and the pool rippling to the waving of the +reeds--the rattling teacups would change to tinkling sheep- +bells, and the Queen's shrill cries to the voice of the shepherd +boy--and the sneeze of the baby, the shriek of the Gryphon, and +all the other queer noises, would change (she knew) to the +confused clamour of the busy farm-yard--while the lowing of the +cattle in the distance would take the place of the Mock Turtle's +heavy sobs. + + Lastly, she pictured to herself how this same little sister of +hers would, in the after-time, be herself a grown woman; and how +she would keep, through all her riper years, the simple and +loving heart of her childhood: and how she would gather about +her other little children, and make THEIR eyes bright and eager +with many a strange tale, perhaps even with the dream of +Wonderland of long ago: and how she would feel with all their +simple sorrows, and find a pleasure in all their simple joys, +remembering her own child-life, and the happy summer days. + + THE END diff --git a/google-python-exercises/basic/list1.py b/google-python-exercises/basic/list1.py new file mode 100755 index 00000000..0fa97352 --- /dev/null +++ b/google-python-exercises/basic/list1.py @@ -0,0 +1,90 @@ +#!/usr/bin/python -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +# Basic list exercises +# Fill in the code for the functions below. main() is already set up +# to call the functions with a few different inputs, +# printing 'OK' when each function is correct. +# The starter code for each function includes a 'return' +# which is just a placeholder for your code. +# It's ok if you do not complete all the functions, and there +# are some additional functions to try in list2.py. + +# A. match_ends +# Given a list of strings, return the count of the number of +# strings where the string length is 2 or more and the first +# and last chars of the string are the same. +# Note: python does not have a ++ operator, but += works. +def match_ends(words): + # +++your code here+++ + return + + +# B. front_x +# Given a list of strings, return a list with the strings +# in sorted order, except group all the strings that begin with 'x' first. +# e.g. ['mix', 'xyz', 'apple', 'xanadu', 'aardvark'] yields +# ['xanadu', 'xyz', 'aardvark', 'apple', 'mix'] +# Hint: this can be done by making 2 lists and sorting each of them +# before combining them. +def front_x(words): + # +++your code here+++ + return + + + +# C. sort_last +# Given a list of non-empty tuples, return a list sorted in increasing +# order by the last element in each tuple. +# e.g. [(1, 7), (1, 3), (3, 4, 5), (2, 2)] yields +# [(2, 2), (1, 3), (3, 4, 5), (1, 7)] +# Hint: use a custom key= function to extract the last element form each tuple. +def sort_last(tuples): + # +++your code here+++ + return + + +# Simple provided test() function used in main() to print +# what each function returns vs. what it's supposed to return. +def test(got, expected): + if got == expected: + prefix = ' OK ' + else: + prefix = ' X ' + print '%s got: %s expected: %s' % (prefix, repr(got), repr(expected)) + + +# Calls the above functions with interesting inputs. +def main(): + print 'match_ends' + test(match_ends(['aba', 'xyz', 'aa', 'x', 'bbb']), 3) + test(match_ends(['', 'x', 'xy', 'xyx', 'xx']), 2) + test(match_ends(['aaa', 'be', 'abc', 'hello']), 1) + + print + print 'front_x' + test(front_x(['bbb', 'ccc', 'axx', 'xzz', 'xaa']), + ['xaa', 'xzz', 'axx', 'bbb', 'ccc']) + test(front_x(['ccc', 'bbb', 'aaa', 'xcc', 'xaa']), + ['xaa', 'xcc', 'aaa', 'bbb', 'ccc']) + test(front_x(['mix', 'xyz', 'apple', 'xanadu', 'aardvark']), + ['xanadu', 'xyz', 'aardvark', 'apple', 'mix']) + + + print + print 'sort_last' + test(sort_last([(1, 3), (3, 2), (2, 1)]), + [(2, 1), (3, 2), (1, 3)]) + test(sort_last([(2, 3), (1, 2), (3, 1)]), + [(3, 1), (1, 2), (2, 3)]) + test(sort_last([(1, 7), (1, 3), (3, 4, 5), (2, 2)]), + [(2, 2), (1, 3), (3, 4, 5), (1, 7)]) + + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/list2.py b/google-python-exercises/basic/list2.py new file mode 100755 index 00000000..a0698ba3 --- /dev/null +++ b/google-python-exercises/basic/list2.py @@ -0,0 +1,65 @@ +#!/usr/bin/python -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +# Additional basic list exercises + +# D. Given a list of numbers, return a list where +# all adjacent == elements have been reduced to a single element, +# so [1, 2, 2, 3] returns [1, 2, 3]. You may create a new list or +# modify the passed in list. +def remove_adjacent(nums): + # +++your code here+++ + return + + +# E. Given two lists sorted in increasing order, create and return a merged +# list of all the elements in sorted order. You may modify the passed in lists. +# Ideally, the solution should work in "linear" time, making a single +# pass of both lists. +def linear_merge(list1, list2): + # +++your code here+++ + return + +# Note: the solution above is kind of cute, but unforunately list.pop(0) +# is not constant time with the standard python list implementation, so +# the above is not strictly linear time. +# An alternate approach uses pop(-1) to remove the endmost elements +# from each list, building a solution list which is backwards. +# Then use reversed() to put the result back in the correct order. That +# solution works in linear time, but is more ugly. + + +# Simple provided test() function used in main() to print +# what each function returns vs. what it's supposed to return. +def test(got, expected): + if got == expected: + prefix = ' OK ' + else: + prefix = ' X ' + print '%s got: %s expected: %s' % (prefix, repr(got), repr(expected)) + + +# Calls the above functions with interesting inputs. +def main(): + print 'remove_adjacent' + test(remove_adjacent([1, 2, 2, 3]), [1, 2, 3]) + test(remove_adjacent([2, 2, 3, 3, 3]), [2, 3]) + test(remove_adjacent([]), []) + + print + print 'linear_merge' + test(linear_merge(['aa', 'xx', 'zz'], ['bb', 'cc']), + ['aa', 'bb', 'cc', 'xx', 'zz']) + test(linear_merge(['aa', 'xx'], ['bb', 'cc', 'zz']), + ['aa', 'bb', 'cc', 'xx', 'zz']) + test(linear_merge(['aa', 'aa'], ['aa', 'bb', 'bb']), + ['aa', 'aa', 'aa', 'bb', 'bb']) + + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/mimic.py b/google-python-exercises/basic/mimic.py new file mode 100755 index 00000000..be13399e --- /dev/null +++ b/google-python-exercises/basic/mimic.py @@ -0,0 +1,71 @@ +#!/usr/bin/python -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +"""Mimic pyquick exercise -- optional extra exercise. +Google's Python Class + +Read in the file specified on the command line. +Do a simple split() on whitespace to obtain all the words in the file. +Rather than read the file line by line, it's easier to read +it into one giant string and split it once. + +Build a "mimic" dict that maps each word that appears in the file +to a list of all the words that immediately follow that word in the file. +The list of words can be be in any order and should include +duplicates. So for example the key "and" might have the list +["then", "best", "then", "after", ...] listing +all the words which came after "and" in the text. +We'll say that the empty string is what comes before +the first word in the file. + +With the mimic dict, it's fairly easy to emit random +text that mimics the original. Print a word, then look +up what words might come next and pick one at random as +the next work. +Use the empty string as the first word to prime things. +If we ever get stuck with a word that is not in the dict, +go back to the empty string to keep things moving. + +Note: the standard python module 'random' includes a +random.choice(list) method which picks a random element +from a non-empty list. + +For fun, feed your program to itself as input. +Could work on getting it to put in linebreaks around 70 +columns, so the output looks better. + +""" + +import random +import sys + + +def mimic_dict(filename): + """Returns mimic dict mapping each word to list of words which follow it.""" + # +++your code here+++ + return + + +def print_mimic(mimic_dict, word): + """Given mimic dict and start word, prints 200 random words.""" + # +++your code here+++ + return + + +# Provided main(), calls mimic_dict() and mimic() +def main(): + if len(sys.argv) != 2: + print 'usage: ./mimic.py file-to-read' + sys.exit(1) + + dict = mimic_dict(sys.argv[1]) + print_mimic(dict, '') + + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/small.txt b/google-python-exercises/basic/small.txt new file mode 100644 index 00000000..b802f506 --- /dev/null +++ b/google-python-exercises/basic/small.txt @@ -0,0 +1,5 @@ +We are not what we should be +We are not what we need to be +But at least we are not what we used to be + -- Football Coach + diff --git a/google-python-exercises/basic/solution/list1.py b/google-python-exercises/basic/solution/list1.py new file mode 100755 index 00000000..c8675e15 --- /dev/null +++ b/google-python-exercises/basic/solution/list1.py @@ -0,0 +1,119 @@ +#!/usr/bin/python -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +# Basic list exercises +# Fill in the code for the functions below. main() is already set up +# to call the functions with a few different inputs, +# printing 'OK' when each function is correct. +# The starter code for each function includes a 'return' +# which is just a placeholder for your code. +# It's ok if you do not complete all the functions, and there +# are some additional functions to try in list2.py. + +# A. match_ends +# Given a list of strings, return the count of the number of +# strings where the string length is 2 or more and the first +# and last chars of the string are the same. +# Note: python does not have a ++ operator, but += works. +def match_ends(words): + # +++your code here+++ + # LAB(begin solution) + count = 0 + for word in words: + if len(word) >= 2 and word[0] == word[-1]: + count = count + 1 + return count + # LAB(replace solution) + # return + # LAB(end solution) + + +# B. front_x +# Given a list of strings, return a list with the strings +# in sorted order, except group all the strings that begin with 'x' first. +# e.g. ['mix', 'xyz', 'apple', 'xanadu', 'aardvark'] yields +# ['xanadu', 'xyz', 'aardvark', 'apple', 'mix'] +# Hint: this can be done by making 2 lists and sorting each of them +# before combining them. +def front_x(words): + # +++your code here+++ + # LAB(begin solution) + # Put each word into the x_list or the other_list. + x_list = [] + other_list = [] + for w in words: + if w.startswith('x'): + x_list.append(w) + else: + other_list.append(w) + return sorted(x_list) + sorted(other_list) + # LAB(replace solution) + # return + # LAB(end solution) + + +# LAB(begin solution) +# Extract the last element from a tuple -- used for custom sorting below. +def last(a): + return a[-1] +# LAB(end solution) + +# C. sort_last +# Given a list of non-empty tuples, return a list sorted in increasing +# order by the last element in each tuple. +# e.g. [(1, 7), (1, 3), (3, 4, 5), (2, 2)] yields +# [(2, 2), (1, 3), (3, 4, 5), (1, 7)] +# Hint: use a custom key= function to extract the last element form each tuple. +def sort_last(tuples): + # +++your code here+++ + # LAB(begin solution) + return sorted(tuples, key=last) + # LAB(replace solution) + # return + # LAB(end solution) + + +# Simple provided test() function used in main() to print +# what each function returns vs. what it's supposed to return. +def test(got, expected): + if got == expected: + prefix = ' OK ' + else: + prefix = ' X ' + print '%s got: %s expected: %s' % (prefix, repr(got), repr(expected)) + + +# Calls the above functions with interesting inputs. +def main(): + print 'match_ends' + test(match_ends(['aba', 'xyz', 'aa', 'x', 'bbb']), 3) + test(match_ends(['', 'x', 'xy', 'xyx', 'xx']), 2) + test(match_ends(['aaa', 'be', 'abc', 'hello']), 1) + + print + print 'front_x' + test(front_x(['bbb', 'ccc', 'axx', 'xzz', 'xaa']), + ['xaa', 'xzz', 'axx', 'bbb', 'ccc']) + test(front_x(['ccc', 'bbb', 'aaa', 'xcc', 'xaa']), + ['xaa', 'xcc', 'aaa', 'bbb', 'ccc']) + test(front_x(['mix', 'xyz', 'apple', 'xanadu', 'aardvark']), + ['xanadu', 'xyz', 'aardvark', 'apple', 'mix']) + + + print + print 'sort_last' + test(sort_last([(1, 3), (3, 2), (2, 1)]), + [(2, 1), (3, 2), (1, 3)]) + test(sort_last([(2, 3), (1, 2), (3, 1)]), + [(3, 1), (1, 2), (2, 3)]) + test(sort_last([(1, 7), (1, 3), (3, 4, 5), (2, 2)]), + [(2, 2), (1, 3), (3, 4, 5), (1, 7)]) + + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/solution/list2.py b/google-python-exercises/basic/solution/list2.py new file mode 100755 index 00000000..bd37b8a2 --- /dev/null +++ b/google-python-exercises/basic/solution/list2.py @@ -0,0 +1,89 @@ +#!/usr/bin/python -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +# Additional basic list exercises + +# D. Given a list of numbers, return a list where +# all adjacent == elements have been reduced to a single element, +# so [1, 2, 2, 3] returns [1, 2, 3]. You may create a new list or +# modify the passed in list. +def remove_adjacent(nums): + # +++your code here+++ + # LAB(begin solution) + result = [] + for num in nums: + if len(result) == 0 or num != result[-1]: + result.append(num) + return result + # LAB(replace solution) + # return + # LAB(end solution) + + +# E. Given two lists sorted in increasing order, create and return a merged +# list of all the elements in sorted order. You may modify the passed in lists. +# Ideally, the solution should work in "linear" time, making a single +# pass of both lists. +def linear_merge(list1, list2): + # +++your code here+++ + # LAB(begin solution) + result = [] + # Look at the two lists so long as both are non-empty. + # Take whichever element [0] is smaller. + while len(list1) and len(list2): + if list1[0] < list2[0]: + result.append(list1.pop(0)) + else: + result.append(list2.pop(0)) + + # Now tack on what's left + result.extend(list1) + result.extend(list2) + return result + # LAB(replace solution) + # return + # LAB(end solution) + +# Note: the solution above is kind of cute, but unforunately list.pop(0) +# is not constant time with the standard python list implementation, so +# the above is not strictly linear time. +# An alternate approach uses pop(-1) to remove the endmost elements +# from each list, building a solution list which is backwards. +# Then use reversed() to put the result back in the correct order. That +# solution works in linear time, but is more ugly. + + +# Simple provided test() function used in main() to print +# what each function returns vs. what it's supposed to return. +def test(got, expected): + if got == expected: + prefix = ' OK ' + else: + prefix = ' X ' + print '%s got: %s expected: %s' % (prefix, repr(got), repr(expected)) + + +# Calls the above functions with interesting inputs. +def main(): + print 'remove_adjacent' + test(remove_adjacent([1, 2, 2, 3]), [1, 2, 3]) + test(remove_adjacent([2, 2, 3, 3, 3]), [2, 3]) + test(remove_adjacent([]), []) + + print + print 'linear_merge' + test(linear_merge(['aa', 'xx', 'zz'], ['bb', 'cc']), + ['aa', 'bb', 'cc', 'xx', 'zz']) + test(linear_merge(['aa', 'xx'], ['bb', 'cc', 'zz']), + ['aa', 'bb', 'cc', 'xx', 'zz']) + test(linear_merge(['aa', 'aa'], ['aa', 'bb', 'bb']), + ['aa', 'aa', 'aa', 'bb', 'bb']) + + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/solution/mimic.py b/google-python-exercises/basic/solution/mimic.py new file mode 100755 index 00000000..5486ac81 --- /dev/null +++ b/google-python-exercises/basic/solution/mimic.py @@ -0,0 +1,99 @@ +#!/usr/bin/python -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +"""Mimic pyquick exercise -- optional extra exercise. +Google's Python Class + +Read in the file specified on the command line. +Do a simple split() on whitespace to obtain all the words in the file. +Rather than read the file line by line, it's easier to read +it into one giant string and split it once. + +Build a "mimic" dict that maps each word that appears in the file +to a list of all the words that immediately follow that word in the file. +The list of words can be be in any order and should include +duplicates. So for example the key "and" might have the list +["then", "best", "then", "after", ...] listing +all the words which came after "and" in the text. +We'll say that the empty string is what comes before +the first word in the file. + +With the mimic dict, it's fairly easy to emit random +text that mimics the original. Print a word, then look +up what words might come next and pick one at random as +the next work. +Use the empty string as the first word to prime things. +If we ever get stuck with a word that is not in the dict, +go back to the empty string to keep things moving. + +Note: the standard python module 'random' includes a +random.choice(list) method which picks a random element +from a non-empty list. + +For fun, feed your program to itself as input. +Could work on getting it to put in linebreaks around 70 +columns, so the output looks better. + +""" + +import random +import sys + + +def mimic_dict(filename): + """Returns mimic dict mapping each word to list of words which follow it.""" + # +++your code here+++ + # LAB(begin solution) + mimic_dict = {} + f = open(filename, 'r') + text = f.read() + f.close() + words = text.split() + prev = '' + for word in words: + if not prev in mimic_dict: + mimic_dict[prev] = [word] + else: + mimic_dict[prev].append(word) + # Could write as: mimic_dict[prev] = mimic_dict.get(prev, []) + [word] + # It's one line, but not totally satisfying. + prev = word + return mimic_dict + # LAB(replace solution) + # return + # LAB(end solution) + + +def print_mimic(mimic_dict, word): + """Given mimic dict and start word, prints 200 random words.""" + # +++your code here+++ + # LAB(begin solution) + for unused_i in range(200): + print word, + nexts = mimic_dict.get(word) # Returns None if not found + if not nexts: + nexts = mimic_dict[''] # Fallback to '' if not found + word = random.choice(nexts) + # The 'unused_' prefix turns off the lint warning about the unused variable. + # LAB(replace solution) + # return + # LAB(end solution) + + +# Provided main(), calls mimic_dict() and mimic() +def main(): + if len(sys.argv) != 2: + print 'usage: ./mimic.py file-to-read' + sys.exit(1) + + dict = mimic_dict(sys.argv[1]) + print_mimic(dict, '') + + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/solution/string1.py b/google-python-exercises/basic/solution/string1.py new file mode 100755 index 00000000..eacb020f --- /dev/null +++ b/google-python-exercises/basic/solution/string1.py @@ -0,0 +1,140 @@ +#!/usr/bin/python -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +# Basic string exercises +# Fill in the code for the functions below. main() is already set up +# to call the functions with a few different inputs, +# printing 'OK' when each function is correct. +# The starter code for each function includes a 'return' +# which is just a placeholder for your code. +# It's ok if you do not complete all the functions, and there +# are some additional functions to try in string2.py. + + +# A. donuts +# Given an int count of a number of donuts, return a string +# of the form 'Number of donuts: ', where is the number +# passed in. However, if the count is 10 or more, then use the word 'many' +# instead of the actual count. +# So donuts(5) returns 'Number of donuts: 5' +# and donuts(23) returns 'Number of donuts: many' +def donuts(count): + # +++your code here+++ + # LAB(begin solution) + if count < 10: + return 'Number of donuts: ' + str(count) + else: + return 'Number of donuts: many' + # LAB(replace solution) + # return + # LAB(end solution) + + +# B. both_ends +# Given a string s, return a string made of the first 2 +# and the last 2 chars of the original string, +# so 'spring' yields 'spng'. However, if the string length +# is less than 2, return instead the empty string. +def both_ends(s): + # +++your code here+++ + # LAB(begin solution) + if len(s) < 2: + return '' + first2 = s[0:2] + last2 = s[-2:] + return first2 + last2 + # LAB(replace solution) + # return + # LAB(end solution) + + +# C. fix_start +# Given a string s, return a string +# where all occurences of its first char have +# been changed to '*', except do not change +# the first char itself. +# e.g. 'babble' yields 'ba**le' +# Assume that the string is length 1 or more. +# Hint: s.replace(stra, strb) returns a version of string s +# where all instances of stra have been replaced by strb. +def fix_start(s): + # +++your code here+++ + # LAB(begin solution) + front = s[0] + back = s[1:] + fixed_back = back.replace(front, '*') + return front + fixed_back + # LAB(replace solution) + # return + # LAB(end solution) + + +# D. MixUp +# Given strings a and b, return a single string with a and b separated +# by a space ' ', except swap the first 2 chars of each string. +# e.g. +# 'mix', pod' -> 'pox mid' +# 'dog', 'dinner' -> 'dig donner' +# Assume a and b are length 2 or more. +def mix_up(a, b): + # +++your code here+++ + # LAB(begin solution) + a_swapped = b[:2] + a[2:] + b_swapped = a[:2] + b[2:] + return a_swapped + ' ' + b_swapped + # LAB(replace solution) + # return + # LAB(end solution) + + +# Provided simple test() function used in main() to print +# what each function returns vs. what it's supposed to return. +def test(got, expected): + if got == expected: + prefix = ' OK ' + else: + prefix = ' X ' + print '%s got: %s expected: %s' % (prefix, repr(got), repr(expected)) + + +# Provided main() calls the above functions with interesting inputs, +# using test() to check if each result is correct or not. +def main(): + print 'donuts' + # Each line calls donuts, compares its result to the expected for that call. + test(donuts(4), 'Number of donuts: 4') + test(donuts(9), 'Number of donuts: 9') + test(donuts(10), 'Number of donuts: many') + test(donuts(99), 'Number of donuts: many') + + print + print 'both_ends' + test(both_ends('spring'), 'spng') + test(both_ends('Hello'), 'Helo') + test(both_ends('a'), '') + test(both_ends('xyz'), 'xyyz') + + + print + print 'fix_start' + test(fix_start('babble'), 'ba**le') + test(fix_start('aardvark'), 'a*rdv*rk') + test(fix_start('google'), 'goo*le') + test(fix_start('donut'), 'donut') + + print + print 'mix_up' + test(mix_up('mix', 'pod'), 'pox mid') + test(mix_up('dog', 'dinner'), 'dig donner') + test(mix_up('gnash', 'sport'), 'spash gnort') + test(mix_up('pezzy', 'firm'), 'fizzy perm') + + +# Standard boilerplate to call the main() function. +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/solution/string2.py b/google-python-exercises/basic/solution/string2.py new file mode 100755 index 00000000..b82e0d81 --- /dev/null +++ b/google-python-exercises/basic/solution/string2.py @@ -0,0 +1,106 @@ +#!/usr/bin/python2.4 -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +# Additional basic string exercises + +# D. verbing +# Given a string, if its length is at least 3, +# add 'ing' to its end. +# Unless it already ends in 'ing', in which case +# add 'ly' instead. +# If the string length is less than 3, leave it unchanged. +# Return the resulting string. +def verbing(s): + # +++your code here+++ + # LAB(begin solution) + if len(s) >= 3: + if s[-3:] != 'ing': s = s + 'ing' + else: s = s + 'ly' + return s + # LAB(replace solution) + # return + # LAB(end solution) + + +# E. not_bad +# Given a string, find the first appearance of the +# substring 'not' and 'bad'. If the 'bad' follows +# the 'not', replace the whole 'not'...'bad' substring +# with 'good'. +# Return the resulting string. +# So 'This dinner is not that bad!' yields: +# This dinner is good! +def not_bad(s): + # +++your code here+++ + # LAB(begin solution) + n = s.find('not') + b = s.find('bad') + if n != -1 and b != -1 and b > n: + s = s[:n] + 'good' + s[b+3:] + return s + # LAB(replace solution) + # return + # LAB(end solution) + + +# F. front_back +# Consider dividing a string into two halves. +# If the length is even, the front and back halves are the same length. +# If the length is odd, we'll say that the extra char goes in the front half. +# e.g. 'abcde', the front half is 'abc', the back half 'de'. +# Given 2 strings, a and b, return a string of the form +# a-front + b-front + a-back + b-back +def front_back(a, b): + # +++your code here+++ + # LAB(begin solution) + # Figure out the middle position of each string. + a_middle = len(a) / 2 + b_middle = len(b) / 2 + if len(a) % 2 == 1: # add 1 if length is odd + a_middle = a_middle + 1 + if len(b) % 2 == 1: + b_middle = b_middle + 1 + return a[:a_middle] + b[:b_middle] + a[a_middle:] + b[b_middle:] + # LAB(replace solution) + # return + # LAB(end solution) + + +# Simple provided test() function used in main() to print +# what each function returns vs. what it's supposed to return. +def test(got, expected): + if got == expected: + prefix = ' OK ' + else: + prefix = ' X ' + print '%s got: %s expected: %s' % (prefix, repr(got), repr(expected)) + + +# main() calls the above functions with interesting inputs, +# using the above test() to check if the result is correct or not. +def main(): + print 'verbing' + test(verbing('hail'), 'hailing') + test(verbing('swiming'), 'swimingly') + test(verbing('do'), 'do') + + print + print 'not_bad' + test(not_bad('This movie is not so bad'), 'This movie is good') + test(not_bad('This dinner is not that bad!'), 'This dinner is good!') + test(not_bad('This tea is not hot'), 'This tea is not hot') + test(not_bad("It's bad yet not"), "It's bad yet not") + + print + print 'front_back' + test(front_back('abcd', 'xy'), 'abxcdy') + test(front_back('abcde', 'xyz'), 'abcxydez') + test(front_back('Kitten', 'Donut'), 'KitDontenut') + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/solution/wordcount.py b/google-python-exercises/basic/solution/wordcount.py new file mode 100755 index 00000000..655be3d9 --- /dev/null +++ b/google-python-exercises/basic/solution/wordcount.py @@ -0,0 +1,114 @@ +#!/usr/bin/python -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +"""Wordcount exercise +Google's Python class + +The main() below is already defined and complete. It calls print_words() +and print_top() functions which you write. + +1. For the --count flag, implement a print_words(filename) function that counts +how often each word appears in the text and prints: +word1 count1 +word2 count2 +... + +Print the above list in order sorted by word (python will sort punctuation to +come before letters -- that's fine). Store all the words as lowercase, +so 'The' and 'the' count as the same word. + +2. For the --topcount flag, implement a print_top(filename) which is similar +to print_words() but which prints just the top 20 most common words sorted +so the most common word is first, then the next most common, and so on. + +Use str.split() (no arguments) to split on all whitespace. + +Workflow: don't build the whole program at once. Get it to an intermediate +milestone and print your data structure and sys.exit(0). +When that's working, try for the next milestone. + +Optional: define a helper function to avoid code duplication inside +print_words() and print_top(). + +""" + +import sys + +# +++your code here+++ +# Define print_words(filename) and print_top(filename) functions. +# You could write a helper utility function that reads a file +# and builds and returns a word/count dict for it. +# Then print_words() and print_top() can just call the utility function. + +#### LAB(begin solution) + +def word_count_dict(filename): + """Returns a word/count dict for this filename.""" + # Utility used by count() and Topcount(). + word_count = {} # Map each word to its count + input_file = open(filename, 'r') + for line in input_file: + words = line.split() + for word in words: + word = word.lower() + # Special case if we're seeing this word for the first time. + if not word in word_count: + word_count[word] = 1 + else: + word_count[word] = word_count[word] + 1 + input_file.close() # Not strictly required, but good form. + return word_count + + +def print_words(filename): + """Prints one per line ' ' sorted by word for the given file.""" + word_count = word_count_dict(filename) + words = sorted(word_count.keys()) + for word in words: + print word, word_count[word] + + +def get_count(word_count_tuple): + """Returns the count from a dict word/count tuple -- used for custom sort.""" + return word_count_tuple[1] + + +def print_top(filename): + """Prints the top count listing for the given file.""" + word_count = word_count_dict(filename) + + # Each item is a (word, count) tuple. + # Sort them so the big counts are first using key=get_count() to extract count. + items = sorted(word_count.items(), key=get_count, reverse=True) + + # Print the first 20 + for item in items[:20]: + print item[0], item[1] + +##### LAB(end solution) + + +# This basic command line argument parsing code is provided and +# calls the print_words() and print_top() functions which you must define. +def main(): + if len(sys.argv) != 3: + print 'usage: ./wordcount.py {--count | --topcount} file' + sys.exit(1) + + option = sys.argv[1] + filename = sys.argv[2] + if option == '--count': + print_words(filename) + elif option == '--topcount': + print_top(filename) + else: + print 'unknown option: ' + option + sys.exit(1) + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/string1.py b/google-python-exercises/basic/string1.py new file mode 100755 index 00000000..3138ea3b --- /dev/null +++ b/google-python-exercises/basic/string1.py @@ -0,0 +1,112 @@ +#!/usr/bin/python -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +# Basic string exercises +# Fill in the code for the functions below. main() is already set up +# to call the functions with a few different inputs, +# printing 'OK' when each function is correct. +# The starter code for each function includes a 'return' +# which is just a placeholder for your code. +# It's ok if you do not complete all the functions, and there +# are some additional functions to try in string2.py. + + +# A. donuts +# Given an int count of a number of donuts, return a string +# of the form 'Number of donuts: ', where is the number +# passed in. However, if the count is 10 or more, then use the word 'many' +# instead of the actual count. +# So donuts(5) returns 'Number of donuts: 5' +# and donuts(23) returns 'Number of donuts: many' +def donuts(count): + # +++your code here+++ + return + + +# B. both_ends +# Given a string s, return a string made of the first 2 +# and the last 2 chars of the original string, +# so 'spring' yields 'spng'. However, if the string length +# is less than 2, return instead the empty string. +def both_ends(s): + # +++your code here+++ + return + + +# C. fix_start +# Given a string s, return a string +# where all occurences of its first char have +# been changed to '*', except do not change +# the first char itself. +# e.g. 'babble' yields 'ba**le' +# Assume that the string is length 1 or more. +# Hint: s.replace(stra, strb) returns a version of string s +# where all instances of stra have been replaced by strb. +def fix_start(s): + # +++your code here+++ + return + + +# D. MixUp +# Given strings a and b, return a single string with a and b separated +# by a space ' ', except swap the first 2 chars of each string. +# e.g. +# 'mix', pod' -> 'pox mid' +# 'dog', 'dinner' -> 'dig donner' +# Assume a and b are length 2 or more. +def mix_up(a, b): + # +++your code here+++ + return + + +# Provided simple test() function used in main() to print +# what each function returns vs. what it's supposed to return. +def test(got, expected): + if got == expected: + prefix = ' OK ' + else: + prefix = ' X ' + print '%s got: %s expected: %s' % (prefix, repr(got), repr(expected)) + + +# Provided main() calls the above functions with interesting inputs, +# using test() to check if each result is correct or not. +def main(): + print 'donuts' + # Each line calls donuts, compares its result to the expected for that call. + test(donuts(4), 'Number of donuts: 4') + test(donuts(9), 'Number of donuts: 9') + test(donuts(10), 'Number of donuts: many') + test(donuts(99), 'Number of donuts: many') + + print + print 'both_ends' + test(both_ends('spring'), 'spng') + test(both_ends('Hello'), 'Helo') + test(both_ends('a'), '') + test(both_ends('xyz'), 'xyyz') + + + print + print 'fix_start' + test(fix_start('babble'), 'ba**le') + test(fix_start('aardvark'), 'a*rdv*rk') + test(fix_start('google'), 'goo*le') + test(fix_start('donut'), 'donut') + + print + print 'mix_up' + test(mix_up('mix', 'pod'), 'pox mid') + test(mix_up('dog', 'dinner'), 'dig donner') + test(mix_up('gnash', 'sport'), 'spash gnort') + test(mix_up('pezzy', 'firm'), 'fizzy perm') + + +# Standard boilerplate to call the main() function. +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/string2.py b/google-python-exercises/basic/string2.py new file mode 100755 index 00000000..c5894eed --- /dev/null +++ b/google-python-exercises/basic/string2.py @@ -0,0 +1,80 @@ +#!/usr/bin/python2.4 -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +# Additional basic string exercises + +# D. verbing +# Given a string, if its length is at least 3, +# add 'ing' to its end. +# Unless it already ends in 'ing', in which case +# add 'ly' instead. +# If the string length is less than 3, leave it unchanged. +# Return the resulting string. +def verbing(s): + # +++your code here+++ + return + + +# E. not_bad +# Given a string, find the first appearance of the +# substring 'not' and 'bad'. If the 'bad' follows +# the 'not', replace the whole 'not'...'bad' substring +# with 'good'. +# Return the resulting string. +# So 'This dinner is not that bad!' yields: +# This dinner is good! +def not_bad(s): + # +++your code here+++ + return + + +# F. front_back +# Consider dividing a string into two halves. +# If the length is even, the front and back halves are the same length. +# If the length is odd, we'll say that the extra char goes in the front half. +# e.g. 'abcde', the front half is 'abc', the back half 'de'. +# Given 2 strings, a and b, return a string of the form +# a-front + b-front + a-back + b-back +def front_back(a, b): + # +++your code here+++ + return + + +# Simple provided test() function used in main() to print +# what each function returns vs. what it's supposed to return. +def test(got, expected): + if got == expected: + prefix = ' OK ' + else: + prefix = ' X ' + print '%s got: %s expected: %s' % (prefix, repr(got), repr(expected)) + + +# main() calls the above functions with interesting inputs, +# using the above test() to check if the result is correct or not. +def main(): + print 'verbing' + test(verbing('hail'), 'hailing') + test(verbing('swiming'), 'swimingly') + test(verbing('do'), 'do') + + print + print 'not_bad' + test(not_bad('This movie is not so bad'), 'This movie is good') + test(not_bad('This dinner is not that bad!'), 'This dinner is good!') + test(not_bad('This tea is not hot'), 'This tea is not hot') + test(not_bad("It's bad yet not"), "It's bad yet not") + + print + print 'front_back' + test(front_back('abcd', 'xy'), 'abxcdy') + test(front_back('abcde', 'xyz'), 'abcxydez') + test(front_back('Kitten', 'Donut'), 'KitDontenut') + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/basic/wordcount.py b/google-python-exercises/basic/wordcount.py new file mode 100755 index 00000000..54ecc67e --- /dev/null +++ b/google-python-exercises/basic/wordcount.py @@ -0,0 +1,77 @@ +#!/usr/bin/python -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +"""Wordcount exercise +Google's Python class + +The main() below is already defined and complete. It calls print_words() +and print_top() functions which you write. + +1. For the --count flag, implement a print_words(filename) function that counts +how often each word appears in the text and prints: +word1 count1 +word2 count2 +... + +Print the above list in order sorted by word (python will sort punctuation to +come before letters -- that's fine). Store all the words as lowercase, +so 'The' and 'the' count as the same word. + +2. For the --topcount flag, implement a print_top(filename) which is similar +to print_words() but which prints just the top 20 most common words sorted +so the most common word is first, then the next most common, and so on. + +Use str.split() (no arguments) to split on all whitespace. + +Workflow: don't build the whole program at once. Get it to an intermediate +milestone and print your data structure and sys.exit(0). +When that's working, try for the next milestone. + +Optional: define a helper function to avoid code duplication inside +print_words() and print_top(). + +""" + +import sys + +# +++your code here+++ +# Define print_words(filename) and print_top(filename) functions. +# You could write a helper utility function that reads a file +# and builds and returns a word/count dict for it. +# Then print_words() and print_top() can just call the utility function. +def read_file(filename) + + f = open(filename, 'rU') + words = f.read().split() + return words + +def print_words(filename) + + read_file(filename) + # +### + +# This basic command line argument parsing code is provided and +# calls the print_words() and print_top() functions which you must define. +def main(): + if len(sys.argv) != 3: + print 'usage: ./wordcount.py {--count | --topcount} file' + sys.exit(1) + + option = sys.argv[1] + filename = sys.argv[2] + if option == '--count': + print_words(filename) + elif option == '--topcount': + print_top(filename) + else: + print 'unknown option: ' + option + sys.exit(1) + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/copyspecial/copyspecial.py b/google-python-exercises/copyspecial/copyspecial.py new file mode 100755 index 00000000..fd02112b --- /dev/null +++ b/google-python-exercises/copyspecial/copyspecial.py @@ -0,0 +1,55 @@ +#!/usr/bin/python +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +import sys +import re +import os +import shutil +import commands + +"""Copy Special exercise +""" + +# +++your code here+++ +# Write functions and modify main() to call them + + + +def main(): + # This basic command line argument parsing code is provided. + # Add code to call your functions below. + + # Make a list of command line arguments, omitting the [0] element + # which is the script itself. + args = sys.argv[1:] + if not args: + print "usage: [--todir dir][--tozip zipfile] dir [dir ...]"; + sys.exit(1) + + # todir and tozip are either set from command line + # or left as the empty string. + # The args array is left just containing the dirs. + todir = '' + if args[0] == '--todir': + todir = args[1] + del args[0:2] + + tozip = '' + if args[0] == '--tozip': + tozip = args[1] + del args[0:2] + + if len(args) == 0: + print "error: must specify one or more dirs" + sys.exit(1) + + # +++your code here+++ + # Call your functions + +if __name__ == "__main__": + main() diff --git a/google-python-exercises/copyspecial/solution/copyspecial.py b/google-python-exercises/copyspecial/solution/copyspecial.py new file mode 100755 index 00000000..239850ce --- /dev/null +++ b/google-python-exercises/copyspecial/solution/copyspecial.py @@ -0,0 +1,103 @@ +#!/usr/bin/python +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +import sys +import re +import os +import shutil +import commands + +"""Copy Special exercise +""" + +# +++your code here+++ +# Write functions and modify main() to call them + +# LAB(begin solution) +def get_special_paths(dirname): + """Given a dirname, returns a list of all its special files.""" + result = [] + paths = os.listdir(dirname) # list of paths in that dir + for fname in paths: + match = re.search(r'__(\w+)__', fname) + if match: + result.append(os.path.abspath(os.path.join(dirname, fname))) + return result + + +def copy_to(paths, to_dir): + """Copy all of the given files to the given dir, creating it if necessary.""" + if not os.path.exists(to_dir): + os.mkdir(to_dir) + for path in paths: + fname = os.path.basename(path) + shutil.copy(path, os.path.join(to_dir, fname)) + # could error out if already exists os.path.exists(): + + +def zip_to(paths, zipfile): + """Zip up all of the given files into a new zip file with the given name.""" + cmd = 'zip -j ' + zipfile + ' ' + ' '.join(paths) + print "Command I'm going to do:" + cmd + (status, output) = commands.getstatusoutput(cmd) + # If command had a problem (status is non-zero), + # print its output to stderr and exit. + if status: + sys.stderr.write(output) + sys.exit(1) + +# LAB(end solution) + + +def main(): + # This basic command line argument parsing code is provided. + # Add code to call your functions below. + + # Make a list of command line arguments, omitting the [0] element + # which is the script itself. + args = sys.argv[1:] + if not args: + print "usage: [--todir dir][--tozip zipfile] dir [dir ...]"; + sys.exit(1) + + # todir and tozip are either set from command line + # or left as the empty string. + # The args array is left just containing the dirs. + todir = '' + if args[0] == '--todir': + todir = args[1] + del args[0:2] + + tozip = '' + if args[0] == '--tozip': + tozip = args[1] + del args[0:2] + + if len(args) == 0: + print "error: must specify one or more dirs" + sys.exit(1) + + # +++your code here+++ + # Call your functions + # LAB(begin solution) + + # Gather all the special files + paths = [] + for dirname in args: + paths.extend(get_special_paths(dirname)) + + if todir: + copy_to(paths, todir) + elif tozip: + zip_to(paths, tozip) + else: + print '\n'.join(paths) + # LAB(end solution) + +if __name__ == "__main__": + main() diff --git a/google-python-exercises/copyspecial/xyz__hello__.txt b/google-python-exercises/copyspecial/xyz__hello__.txt new file mode 100644 index 00000000..2fd7141f --- /dev/null +++ b/google-python-exercises/copyspecial/xyz__hello__.txt @@ -0,0 +1,4 @@ +Roses are red +Violets are blue +All of my base +Are belong to you! diff --git a/google-python-exercises/copyspecial/zz__something__.jpg b/google-python-exercises/copyspecial/zz__something__.jpg new file mode 100644 index 0000000000000000000000000000000000000000..338ee1f507f9c4057774ba4212e6091adab4c008 GIT binary patch literal 72314 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 literal 0 HcmV?d00001 diff --git a/google-python-exercises/google-python-exercises.zip b/google-python-exercises/google-python-exercises.zip new file mode 100644 index 0000000000000000000000000000000000000000..2f6079e203d36615d61e4a71eb817437fd1a0e4c GIT binary patch literal 302656 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

Du@$!ANEjY)zFDKH2@5kehM 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 literal 0 HcmV?d00001 diff --git a/google-python-exercises/hello.py b/google-python-exercises/hello.py new file mode 100755 index 00000000..56b92653 --- /dev/null +++ b/google-python-exercises/hello.py @@ -0,0 +1,33 @@ +#!/usr/bin/python -tt +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +"""A tiny Python program to check that Python is working. +Try running this program from the command line like this: + python hello.py + python hello.py Alice +That should print: + Hello World -or- Hello Alice +Try changing the 'Hello' to 'Howdy' and run again. +Once you have that working, you're ready for class -- you can edit +and run Python code; now you just need to learn Python! +""" + +import sys + +# Define a main() function that prints a little greeting. +def main(): + # Get the name from the command line, using 'World' as a fallback. + if len(sys.argv) >= 2: + name = sys.argv[1] + else: + name = 'World' + print 'Hello', name + +# This is the standard boilerplate that calls the main() function. +if __name__ == '__main__': + main() diff --git a/google-python-exercises/logpuzzle/animal_code.google.com b/google-python-exercises/logpuzzle/animal_code.google.com new file mode 100644 index 00000000..d27ed745 --- /dev/null +++ b/google-python-exercises/logpuzzle/animal_code.google.com @@ -0,0 +1,80 @@ +10.254.254.28 - - [06/Aug/2007:00:12:20 -0700] "GET /keyser/22300/ HTTP/1.0" 302 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.58 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baaa.jpg HTTP/1.0" 200 2309 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:11:08 -0700] "GET /favicon.ico HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baag.jpg HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:11:14 -0700] "GET /keyser/24708/ HTTP/1.0" 200 5694 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.57 - - [06/Aug/2007:00:13:39 -0700] "GET /keyser/24354/ HTTP/1.0" 404 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:05:29 -0700] "GET /keyser/2391/ HTTP/1.0" 302 6267 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baac.jpg HTTP/1.0" 200 4284 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.707.6657-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.57 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baac.jpg HTTP/1.0" 404 10496 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:24 -0700] "GET /keyser/22139/ HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:06:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baaf.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:06:52 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baae.jpg HTTP/1.0" 302 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.37 - - [06/Aug/2007:00:10:05 -0700] "GET /?qdetail=1&qid=1894 HTTP/1.0" 200 1823 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.707.6657-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /baz/js_events/search.js HTTP/1.1" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:39 -0700] "GET /keyser/24967/ HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:14:53 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babf.jpg HTTP/1.0" 200 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:41 -0700] "GET /keyser/24966/ HTTP/1.1" 200 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:06:22 -0700] "GET /keyser/24727 HTTP/1.1" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.74 - - [06/Aug/2007:00:12:18 -0700] "GET /keyser/23033/ HTTP/1.0" 302 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:07:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babi.jpg HTTP/1.0" 302 306 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.29 - - [06/Aug/2007:00:14:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baai.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:13:40 -0700] "GET /keyser/2298/ HTTP/1.0" 200 4067 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:05:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babf.jpg HTTP/1.0" 302 417 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:09:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baai.jpg HTTP/1.0" 200 10496 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:27 -0700] "GET /keyser/23608/ HTTP/1.0" 302 525 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:14:00 -0700] "GET /keyser/2past/ HTTP/1.1" 200 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:05:31 -0700] "GET /keyser/23403 HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:14:00 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babg.jpg HTTP/1.0" 302 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:05:54 -0700] "GET /keyser/24947/ HTTP/1.0" 404 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:05:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babc.jpg HTTP/1.0" 301 527 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babh.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.29 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babc.jpg HTTP/1.0" 302 1823 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.57 - - [06/Aug/2007:00:13:27 -0700] "GET /keyser/24966/ HTTP/1.1" 302 6962 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:13:47 -0700] "GET /baz/css/fish.css HTTP/1.1" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:11:14 -0700] "GET / HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:07:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babb.jpg HTTP/1.0" 302 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.137 - - [06/Aug/2007:00:13:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babb.jpg HTTP/1.0" 302 12969 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babg.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:14:53 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baae.jpg HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:17 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babd.jpg HTTP/1.0" 302 525 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:27 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baba.jpg HTTP/1.0" 302 10496 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.42 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baab.jpg HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:13:47 -0700] "GET /favicon.ico HTTP/1.0" 302 306 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.58 - - [06/Aug/2007:00:05:55 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babd.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:12:20 -0700] "GET /keyser/24727 HTTP/1.1" 302 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:12:18 -0700] "GET /keyser/23072/ HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baad.jpg HTTP/1.0" 200 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:12:19 -0700] "GET / HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:54 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babj.jpg HTTP/1.0" 200 415 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.29 - - [06/Aug/2007:00:13:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babj.jpg HTTP/1.0" 302 19134 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:41 -0700] "GET /keyser/24884/ HTTP/1.1" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.94 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/247/ HTTP/1.0" 200 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:09:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baag.jpg HTTP/1.0" 302 3940 "-" "googlebot-mscrawl-moma" +10.1.40.113 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baaf.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.103 - - [06/Aug/2007:00:13:27 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baah.jpg HTTP/1.0" 404 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:26 -0700] "GET /keyser/23367/ HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baaj.jpg HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:05:38 -0700] "GET /baz/img/rss.png HTTP/1.0" 404 3404 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.138 - - [06/Aug/2007:00:06:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babe.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.94 - - [06/Aug/2007:00:11:08 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baaa.jpg HTTP/1.0" 200 6962 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:56 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baab.jpg HTTP/1.0" 200 4290 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.193 - - [06/Aug/2007:00:12:19 -0700] "GET /baz/img/powered_by_engedu.png HTTP/1.1" 302 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:11:08 -0700] "GET /favicon.ico HTTP/1.0" 404 4288 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:10:04 -0700] "GET /baz/img/rss.png HTTP/1.1" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /?qdetail=1&qid=889 HTTP/1.0" 302 22950 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.65 - - [06/Aug/2007:00:05:38 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babe.jpg HTTP/1.0" 302 19124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:09:23 -0700] "GET /keyser/24417/ HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baad.jpg HTTP/1.0" 200 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baah.jpg HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:06:17 -0700] "GET /favicon.ico HTTP/1.1" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:40 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babi.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:14:53 -0700] "GET /keyser/24535/ HTTP/1.0" 200 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:51 -0700] "GET /keyser/24189/ HTTP/1.0" 301 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:08 -0700] "GET /keyser/24884 HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baba.jpg HTTP/1.0" 404 7929 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:09:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-babh.jpg HTTP/1.0" 200 12969 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:56 -0700] "GET /baz/img/techtalk_logo.png HTTP/1.1" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:05:31 -0700] "GET /edu/languages/google-python-class/images/puzzle/a-baaj.jpg HTTP/1.0" 302 4067 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:13:41 -0700] "GET /favicon.ico HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:13:48 -0700] "GET /baz/css/fish.css HTTP/1.1" 302 5694 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" diff --git a/google-python-exercises/logpuzzle/logpuzzle.py b/google-python-exercises/logpuzzle/logpuzzle.py new file mode 100755 index 00000000..6823039b --- /dev/null +++ b/google-python-exercises/logpuzzle/logpuzzle.py @@ -0,0 +1,61 @@ +#!/usr/bin/python +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +import os +import re +import sys +import urllib + +"""Logpuzzle exercise +Given an apache logfile, find the puzzle urls and download the images. + +Here's what a puzzle url looks like: +10.254.254.28 - - [06/Aug/2007:00:13:48 -0700] "GET /~foo/puzzle-bar-aaab.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +""" + + +def read_urls(filename): + """Returns a list of the puzzle urls from the given log file, + extracting the hostname from the filename itself. + Screens out duplicate urls and returns the urls sorted into + increasing order.""" + # +++your code here+++ + + +def download_images(img_urls, dest_dir): + """Given the urls already in the correct order, downloads + each image into the given directory. + Gives the images local filenames img0, img1, and so on. + Creates an index.html in the directory + with an img tag to show each local image file. + Creates the directory if necessary. + """ + # +++your code here+++ + + +def main(): + args = sys.argv[1:] + + if not args: + print 'usage: [--todir dir] logfile ' + sys.exit(1) + + todir = '' + if args[0] == '--todir': + todir = args[1] + del args[0:2] + + img_urls = read_urls(args[0]) + + if todir: + download_images(img_urls, todir) + else: + print '\n'.join(img_urls) + +if __name__ == '__main__': + main() diff --git a/google-python-exercises/logpuzzle/place_code.google.com b/google-python-exercises/logpuzzle/place_code.google.com new file mode 100644 index 00000000..8e0cb03c --- /dev/null +++ b/google-python-exercises/logpuzzle/place_code.google.com @@ -0,0 +1,800 @@ +10.254.254.29 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bija-baei.jpg HTTP/1.0" 200 22950 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:12:17 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bacg-bbdb.jpg HTTP/1.0" 404 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biai-bacj.jpg HTTP/1.0" 200 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.57 - - [06/Aug/2007:00:06:42 -0700] "GET /keyser/22300/ HTTP/1.0" 302 3341 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6 puzzle-useragent" +10.1.40.113 - - [06/Aug/2007:00:06:01 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcgj-baih.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /baz/css/fish.css HTTP/1.1" 302 3407 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:05:54 -0700] "GET /keyser/23679/ HTTP/1.0" 302 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:05:41 -0700] "GET /keyser/23367/ HTTP/1.0" 404 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgjg-bbhb.jpg HTTP/1.0" 302 5694 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.74 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfhj-badc.jpg HTTP/1.0" 200 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:13:52 -0700] "GET /keyser/21049/ HTTP/1.0" 302 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:06:01 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjhh-bbdh.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:10:06 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjab-bbih.jpg HTTP/1.0" 200 4290 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.85 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biai-bacj.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:13:29 -0700] "GET /keyser/24760/ HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:09:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfhh-bahj.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biec-bbbe.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:07:05 -0700] "GET /keyser/23367/ HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:06:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bigg-bbgg.jpg HTTP/1.0" 302 5694 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:05:39 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcbc-bbeh.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma" +10.254.254.138 - - [06/Aug/2007:00:13:49 -0700] "GET /keyser/24641/ HTTP/1.0" 302 3940 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.38 - - [06/Aug/2007:00:12:18 -0700] "GET /keyser/24938/ HTTP/1.1" 200 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:14:54 -0700] "GET /keyser/22139/ HTTP/1.0" 302 5910 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.57 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcbi-bbfa.jpg HTTP/1.0" 200 22950 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:09:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbdf-baag.jpg HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.57 - - [06/Aug/2007:00:10:03 -0700] "GET /keyser/24967 HTTP/1.0" 302 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.42 - - [06/Aug/2007:00:06:49 -0700] "GET / HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:12:18 -0700] "GET /favicon.ico HTTP/1.0" 302 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /baz/img/rss.png HTTP/1.1" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:05:39 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bebd-bbch.jpg HTTP/1.0" 200 20040 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:27 -0700] "GET /feeds/keyser/2 HTTP/1.1" 302 10496 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:09:21 -0700] "GET /favicon.ico HTTP/1.0" 200 3341 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:06:01 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjag-badh.jpg HTTP/1.0" 404 12969 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:07:05 -0700] "GET /keyser/23367/ HTTP/1.0" 302 540 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:10:06 -0700] "GET /favicon.ico HTTP/1.0" 302 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:48 -0700] "GET /favicon.ico HTTP/1.0" 302 4284 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:14:11 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biih-bahb.jpg HTTP/1.0" 200 6589 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.52 - - [06/Aug/2007:00:13:27 -0700] "GET /baz/img/no_picture.jpg HTTP/1.1" 200 4067 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:05:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baea-baaa.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bigj-bbji.jpg HTTP/1.0" 200 10496 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.42 - - [06/Aug/2007:00:14:54 -0700] "GET /keyser/23367/ HTTP/1.0" 302 4971 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:05:54 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjd-baid.jpg HTTP/1.0" 302 6962 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:13:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beab-bbbd.jpg HTTP/1.0" 302 342 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:14:24 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjja-baeg.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbfh-baji.jpg HTTP/1.0" 302 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:13:56 -0700] "GET /baz/js_events/search.js HTTP/1.1" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:05:41 -0700] "GET /keyser/2342/ HTTP/1.0" 404 525 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.120 - - [06/Aug/2007:00:06:01 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdjh-baeh.jpg HTTP/1.0" 200 22950 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bicf-bafc.jpg HTTP/1.0" 302 10496 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bihd-babd.jpg HTTP/1.0" 200 5330 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:11:25 -0700] "GET /keyser/24967 HTTP/1.0" 302 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:27 -0700] "GET /keyser/24959 HTTP/1.1" 200 417 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.120 - - [06/Aug/2007:00:06:30 -0700] "GET /keyser/24354/ HTTP/1.0" 302 527 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.42 - - [06/Aug/2007:00:09:53 -0700] "GET /feeds/keyser/2 HTTP/1.0" 200 6275 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:17 -0700] "GET /keyser/24189/ HTTP/1.0" 200 22950 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.57 - - [06/Aug/2007:00:06:27 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-behb-bbfb.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdfb-baca.jpg HTTP/1.0" 302 1823 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:14:54 -0700] "GET /feeds/keyser/2 HTTP/1.1" 302 18124 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:27 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bigb-baba.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.74 - - [06/Aug/2007:00:10:06 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bifb-baje.jpg HTTP/1.0" 200 3341 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:11:15 -0700] "GET / HTTP/1.0" 302 4971 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:06:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjb-baja.jpg HTTP/1.0" 200 1823 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:13:48 -0700] "GET /favicon.ico HTTP/1.0" 404 2309 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.57 - - [06/Aug/2007:00:11:25 -0700] "GET / HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:05:30 -0700] "GET /keyser/21049/ HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24947/ HTTP/1.0" 302 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:06:08 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bddg-bbhi.jpg HTTP/1.0" 302 4067 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbja-bagh.jpg HTTP/1.0" 200 4971 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.193 - - [06/Aug/2007:00:07:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-begh-baaj.jpg HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.1.40.113 - - [06/Aug/2007:00:06:15 -0700] "GET /keyser/24650/ HTTP/1.0" 200 19134 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhhi-baaf.jpg HTTP/1.0" 302 526 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/2391/ HTTP/1.0" 301 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baci-bbgi.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:49 -0700] "GET /keyser/22659/ HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baea-baaa.jpg HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bggb-bbhj.jpg HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.85 - - [06/Aug/2007:00:13:52 -0700] "GET /favicon.ico HTTP/1.1" 302 18124 "-" "googlebot-mscrawl-moma" +10.254.254.103 - - [06/Aug/2007:00:06:08 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bafj-bbjf.jpg HTTP/1.0" 302 525 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-begj-baac.jpg HTTP/1.0" 302 6589 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /feeds/keyser/2 HTTP/1.1" 200 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bajh-baai.jpg HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:14:53 -0700] "GET /keyser/24884 HTTP/1.0" 302 3341 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:12:19 -0700] "GET /?qdetail=1&qid=243 HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:11:13 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbhh-bbfc.jpg HTTP/1.0" 200 6962 "-" "googlebot-mscrawl-moma" +10.254.254.193 - - [06/Aug/2007:00:11:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biig-bbbi.jpg HTTP/1.0" 404 6962 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:13:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbeh-bbdd.jpg HTTP/1.0" 404 513 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:11:14 -0700] "GET /baz/img/techtalk_logo.png HTTP/1.1" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.42 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhgh-bbaj.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjfh-bbif.jpg HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbje-babi.jpg HTTP/1.0" 302 20040 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:14:08 -0700] "GET /feeds/keyser/2 HTTP/1.1" 200 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:16 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bagf-bbcd.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.57 - - [06/Aug/2007:00:09:21 -0700] "GET /keyser/2342/ HTTP/1.0" 302 4284 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:05:55 -0700] "GET /keyser/23969/ HTTP/1.0" 200 3404 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0" +10.254.254.28 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbje-babi.jpg HTTP/1.0" 200 3404 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.103 - - [06/Aug/2007:00:12:20 -0700] "GET / HTTP/1.0" 200 1823 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.52 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bica-bbeb.jpg HTTP/1.0" 302 525 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:13:27 -0700] "GET /keyser/24884/ HTTP/1.0" 302 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:05:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfjj-bagi.jpg HTTP/1.0" 302 1 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:06:08 -0700] "GET /baz/js_events/search.js HTTP/1.1" 404 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/22754/ HTTP/1.0" 302 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:05:38 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgcf-bbib.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.52 - - [06/Aug/2007:00:06:15 -0700] "GET /baz/js_events/search.js HTTP/1.1" 302 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:11:13 -0700] "GET /keyser/24947/ HTTP/1.1" 200 3407 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:13:49 -0700] "GET /keyser/24959/ HTTP/1.1" 302 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.137 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beca-bbdg.jpg HTTP/1.0" 302 540 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.138 - - [06/Aug/2007:00:11:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bigj-bbgh.jpg HTTP/1.0" 404 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:06:07 -0700] "GET /baz/img/techtalk_logo.png HTTP/1.1" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:10:06 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bagi-bbda.jpg HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:06:15 -0700] "GET /keyser/24959/ HTTP/1.1" 302 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:13:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhdj-bahc.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:09:55 -0700] "GET /baz/img/techtalk_logo.png HTTP/1.1" 404 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /baz/js_events/search.js HTTP/1.1" 302 6589 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:11:13 -0700] "GET /?qdetail=1&qid=889 HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma" +10.254.254.29 - - [06/Aug/2007:00:14:53 -0700] "GET / HTTP/1.0" 302 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:07:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhii-bajh.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.1.40.113 - - [06/Aug/2007:00:07:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baig-badj.jpg HTTP/1.0" 200 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfdj-bagc.jpg HTTP/1.0" 404 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:06:17 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bigj-bbji.jpg HTTP/1.0" 302 525 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcbe-bbjh.jpg HTTP/1.0" 302 4067 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:06:51 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcdj-bbge.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.94 - - [06/Aug/2007:00:07:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcif-babc.jpg HTTP/1.0" 200 3404 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.65 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bach-bbea.jpg HTTP/1.0" 302 306 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /feeds/keyser/2 HTTP/1.1" 404 22950 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:05:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbff-bbfd.jpg HTTP/1.0" 302 3341 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjbd-bbgf.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:14:53 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbfh-baji.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.52 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbbc-bbdi.jpg HTTP/1.0" 404 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:09:23 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bchf-bbfg.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:49 -0700] "GET / HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:40 -0700] "GET /keyser/24959/ HTTP/1.1" 302 4880 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:09:21 -0700] "GET /keyser/24827/ HTTP/1.0" 302 19134 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:11:12 -0700] "GET / HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgjg-bbgc.jpg HTTP/1.0" 200 3940 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:07:05 -0700] "GET /keyser/24727/ HTTP/1.1" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbeh-bbhd.jpg HTTP/1.0" 200 3341 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.66 - - [06/Aug/2007:00:06:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgjg-bbgc.jpg HTTP/1.0" 200 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:10:06 -0700] "GET /keyser/21890/ HTTP/1.0" 200 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:06:42 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babf-bbac.jpg HTTP/1.0" 302 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baff-bbbg.jpg HTTP/1.0" 302 22950 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET / HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:10:04 -0700] "GET /?qdetail=1&qid=1894 HTTP/1.0" 302 2309 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.103 - - [06/Aug/2007:00:06:42 -0700] "GET / HTTP/1.0" 200 22950 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.57 - - [06/Aug/2007:00:05:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcda-bbdf.jpg HTTP/1.0" 200 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:05:29 -0700] "GET /keyser/23403 HTTP/1.0" 200 525 "-" "googlebot-mscrawl-moma" +10.254.254.28 - - [06/Aug/2007:00:05:31 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgfe-bafd.jpg HTTP/1.0" 200 5330 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:10:05 -0700] "GET /baz/img/techtalk_logo.png HTTP/1.1" 200 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bagd-bagg.jpg HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjgi-baea.jpg HTTP/1.0" 404 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24417/ HTTP/1.0" 200 4284 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:09:23 -0700] "GET /favicon.ico HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:06:52 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beif-bbei.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:05:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baeb-baci.jpg HTTP/1.0" 200 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:10:04 -0700] "GET /keyser/24519/ HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:08 -0700] "GET /keyser/24959/ HTTP/1.1" 200 1823 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:20 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhbj-baab.jpg HTTP/1.0" 302 6962 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjfh-bbif.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.52 - - [06/Aug/2007:00:13:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bedg-bage.jpg HTTP/1.0" 200 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.85 - - [06/Aug/2007:00:13:27 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bidg-bbcc.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:14:06 -0700] "GET /keyser/21049/ HTTP/1.0" 200 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.94 - - [06/Aug/2007:00:13:40 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bafg-bbja.jpg HTTP/1.0" 200 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:11:13 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjdh-bagd.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:10:05 -0700] "GET /keyser/24947/ HTTP/1.0" 200 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:10:06 -0700] "GET /favicon.ico HTTP/1.1" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.57 - - [06/Aug/2007:00:06:51 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjh-bada.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beae-baig.jpg HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:13:49 -0700] "GET /baz/img/no_picture.jpg HTTP/1.1" 404 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:10:05 -0700] "GET /keyser/23403 HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:06:22 -0700] "GET /keyser/24967/ HTTP/1.0" 200 414 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.138 - - [06/Aug/2007:00:05:55 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babi-bbbc.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:10:05 -0700] "GET /baz/js_events/search.js HTTP/1.1" 302 3404 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.74 - - [06/Aug/2007:00:13:52 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhgi-bbgb.jpg HTTP/1.0" 302 5694 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:09:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdjj-bagb.jpg HTTP/1.0" 200 525 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:05:30 -0700] "GET /feeds/courses/ HTTP/1.1" 302 4067 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:05:39 -0700] "GET /feeds/keyser/2 HTTP/1.1" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbfb-bbga.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.193 - - [06/Aug/2007:00:06:49 -0700] "GET /keyser/24189/ HTTP/1.0" 200 4284 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:27 -0700] "GET /favicon.ico HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bchb-badb.jpg HTTP/1.0" 302 525 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.193 - - [06/Aug/2007:00:06:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baci-bbgi.jpg HTTP/1.0" 302 513 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.138 - - [06/Aug/2007:00:06:49 -0700] "GET /keyser/24966/ HTTP/1.1" 200 1 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:09:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgjb-baff.jpg HTTP/1.0" 302 4284 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgef-bbij.jpg HTTP/1.0" 302 4288 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgce-bade.jpg HTTP/1.0" 200 3940 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.52 - - [06/Aug/2007:00:13:28 -0700] "GET /keyser/24650/ HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.57 - - [06/Aug/2007:00:07:22 -0700] "GET /keyser/2172/ HTTP/1.0" 302 539 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhbd-bahi.jpg HTTP/1.0" 200 4067 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beii-badg.jpg HTTP/1.0" 200 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjjc-bbjd.jpg HTTP/1.0" 200 10496 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:12:18 -0700] "GET /feeds/keyser/2 HTTP/1.1" 200 6275 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-behh-baij.jpg HTTP/1.0" 302 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/24938/ HTTP/1.1" 200 527 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:11:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdcg-bbid.jpg HTTP/1.0" 200 1823 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjic-bbhc.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.52 - - [06/Aug/2007:00:06:08 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhha-bacd.jpg HTTP/1.0" 302 18124 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:06:27 -0700] "GET / HTTP/1.0" 302 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjcd-bafb.jpg HTTP/1.0" 200 2309 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjgf-bafh.jpg HTTP/1.0" 302 415 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.56 - - [06/Aug/2007:00:06:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bida-baed.jpg HTTP/1.0" 200 539 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:06:08 -0700] "GET /keyser/24884/ HTTP/1.1" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:54 -0700] "GET /feeds/courses/ HTTP/1.1" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:14:00 -0700] "GET /?qdetail=1&qid=1298 HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:52 -0700] "GET /baz/img/techtalk_logo.png HTTP/1.1" 200 1 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.56 - - [06/Aug/2007:00:06:52 -0700] "GET /baz/img/rss.png HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:27 -0700] "GET /favicon.ico HTTP/1.0" 302 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:09:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcib-bacb.jpg HTTP/1.0" 302 306 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.37 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbdf-baag.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcch-bagf.jpg HTTP/1.0" 302 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:09:55 -0700] "GET /keyser/2172/ HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.42 - - [06/Aug/2007:00:07:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbgi-bbah.jpg HTTP/1.0" 206 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24947/ HTTP/1.0" 200 513 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:14:08 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bejg-bacc.jpg HTTP/1.0" 200 1 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:05:39 -0700] "GET /keyser/23824/ HTTP/1.0" 404 540 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.1.40.113 - - [06/Aug/2007:00:09:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhha-bacd.jpg HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /keyser/24650/ HTTP/1.0" 200 3936 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:14:11 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgee-baic.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:05:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bghd-bahe.jpg HTTP/1.0" 302 10496 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:09:21 -0700] "GET /keyser/24535/ HTTP/1.0" 302 4880 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:07:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bccd-bbha.jpg HTTP/1.0" 200 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:56 -0700] "GET /keyser/23367/ HTTP/1.0" 200 4288 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:13:52 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baff-bbbg.jpg HTTP/1.0" 200 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:14:54 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beif-bbei.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:06:42 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biji-badd.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.52 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beaj-baia.jpg HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:53 -0700] "GET / HTTP/1.0" 200 306 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:11:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcjj-bbba.jpg HTTP/1.0" 200 5330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:06:16 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgef-bbai.jpg HTTP/1.0" 200 513 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:11:13 -0700] "GET / HTTP/1.0" 302 1823 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:13:29 -0700] "GET /favicon.ico HTTP/1.0" 200 414 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.138 - - [06/Aug/2007:00:09:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bchb-badb.jpg HTTP/1.0" 404 3341 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:13:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgef-bbai.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdjj-bbej.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:09:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bagi-bbda.jpg HTTP/1.0" 200 526 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:10:04 -0700] "GET /keyser/24947/ HTTP/1.1" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:09:21 -0700] "GET /keyser/24947/ HTTP/1.0" 200 20040 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:06:07 -0700] "GET /keyser/2298/ HTTP/1.0" 200 3940 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:06:16 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biih-bahb.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24938/ HTTP/1.1" 302 5330 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:06:51 -0700] "GET /favicon.ico HTTP/1.0" 200 12969 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcdj-bbge.jpg HTTP/1.0" 302 10496 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:52 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baej-baec.jpg HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.56 - - [06/Aug/2007:00:13:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjcd-bbbf.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.66 - - [06/Aug/2007:00:14:24 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babi-baee.jpg HTTP/1.0" 302 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.143 - - [06/Aug/2007:00:14:53 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babd-bbfj.jpg HTTP/1.0" 200 5910 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:10:05 -0700] "GET /keyser/24534/ HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:05:29 -0700] "GET /feeds/keyser/2 HTTP/1.1" 200 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.103 - - [06/Aug/2007:00:06:49 -0700] "GET /keyser/24932/ HTTP/1.1" 200 306 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:06:15 -0700] "GET /keyser/23403 HTTP/1.0" 302 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:09:49 -0700] "GET /keyser/23969/ HTTP/1.0" 404 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjjc-bbjd.jpg HTTP/1.0" 200 513 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:12:18 -0700] "GET /keyser/2342/ HTTP/1.0" 200 2309 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:05:31 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beab-bbbd.jpg HTTP/1.0" 302 12969 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:07:22 -0700] "GET /favicon.ico HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:05:30 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgib-bbbj.jpg HTTP/1.0" 200 19134 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:11:14 -0700] "GET /?qdetail=1&qid=1298 HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.74 - - [06/Aug/2007:00:13:47 -0700] "GET /keyser/24884 HTTP/1.0" 200 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:51 -0700] "GET /keyser/24727/ HTTP/1.1" 404 513 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.66 - - [06/Aug/2007:00:06:08 -0700] "GET /keyser/23033/ HTTP/1.0" 302 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:11:13 -0700] "GET /keyser/2past/ HTTP/1.1" 200 3940 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.58 - - [06/Aug/2007:00:13:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beff-bajj.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.42 - - [06/Aug/2007:00:12:19 -0700] "GET /feeds/courses/ HTTP/1.1" 404 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:49 -0700] "GET /keyser/24533/ HTTP/1.0" 404 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:09:22 -0700] "GET /keyser/23033/ HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.28 - - [06/Aug/2007:00:10:05 -0700] "GET /favicon.ico HTTP/1.0" 404 528 "-" "googlebot-mscrawl-moma" +10.254.254.66 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgeb-baah.jpg HTTP/1.0" 302 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:13:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baig-badj.jpg HTTP/1.0" 302 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:11:14 -0700] "GET /keyser/22785/ HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:11:25 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babi-baee.jpg HTTP/1.0" 302 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:12:18 -0700] "GET /?qdetail=1&qid=1894 HTTP/1.0" 302 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.1.40.113 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdae-badi.jpg HTTP/1.0" 302 2309 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:06:30 -0700] "GET /keyser/24650/ HTTP/1.0" 200 12969 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:13:47 -0700] "GET /?qdetail=1&qid=889 HTTP/1.0" 200 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:06:16 -0700] "GET /keyser/24354/ HTTP/1.0" 200 10496 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:06:16 -0700] "GET / HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:12:20 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babh-bajc.jpg HTTP/1.0" 200 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24297/ HTTP/1.0" 302 6589 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.52 - - [06/Aug/2007:00:06:07 -0700] "GET /keyser/24533/ HTTP/1.0" 200 2309 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:27 -0700] "GET /?qdetail=1&qid=889 HTTP/1.0" 200 539 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjhc-bbdj.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:11:13 -0700] "GET / HTTP/1.0" 302 513 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:12:17 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beff-bajj.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcib-bacb.jpg HTTP/1.0" 404 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:12:18 -0700] "GET /keyser/24727/ HTTP/1.1" 200 415 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:10:04 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bidg-bbcc.jpg HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:06:49 -0700] "GET / HTTP/1.0" 302 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.65 - - [06/Aug/2007:00:09:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgeh-bbgj.jpg HTTP/1.0" 206 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24884/ HTTP/1.1" 302 513 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:09:55 -0700] "GET /feeds/keyser/2 HTTP/1.1" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjhd-bbjg.jpg HTTP/1.0" 302 415 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.57 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/24967/ HTTP/1.0" 302 525 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:06:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bejg-baef.jpg HTTP/1.0" 302 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/23906/ HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:05:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bghd-bahe.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:14:11 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bigg-bbgg.jpg HTTP/1.0" 200 4067 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:40 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhdf-bbjj.jpg HTTP/1.0" 200 10496 "-" "googlebot-mscrawl-moma" +10.254.254.28 - - [06/Aug/2007:00:12:17 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babf-bbac.jpg HTTP/1.0" 302 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:14:08 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bidf-bbhf.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beab-bbie.jpg HTTP/1.0" 404 525 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.120 - - [06/Aug/2007:00:12:17 -0700] "GET /keyser/24189/ HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:13:47 -0700] "GET /keyser/24760/ HTTP/1.0" 200 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgec-bbbh.jpg HTTP/1.0" 200 3404 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babd-bbfj.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjba-bbcj.jpg HTTP/1.0" 302 6962 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.52 - - [06/Aug/2007:00:10:06 -0700] "GET /favicon.ico HTTP/1.0" 302 342 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:11:25 -0700] "GET /keyser/24417/ HTTP/1.0" 404 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /?qdetail=1&qid=1894 HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjdh-bagd.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:14:26 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgef-bbij.jpg HTTP/1.0" 302 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.57 - - [06/Aug/2007:00:13:29 -0700] "GET /keyser/24650/ HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:11:14 -0700] "GET /keyser/2172/ HTTP/1.0" 302 526 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:06:51 -0700] "GET /keyser/24650/ HTTP/1.0" 200 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:09:53 -0700] "GET /keyser/24189/ HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:09:55 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhdg-bbhh.jpg HTTP/1.0" 302 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.1.40.113 - - [06/Aug/2007:00:09:22 -0700] "GET /keyser/23367/ HTTP/1.0" 200 4284 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:06:52 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjgf-bafh.jpg HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:08 -0700] "GET /feeds/keyser/2 HTTP/1.1" 200 12969 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /baz/img/techtalk_logo.png HTTP/1.1" 302 3341 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:14:06 -0700] "GET /favicon.ico HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:14:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bchd-baga.jpg HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma" +10.254.254.138 - - [06/Aug/2007:00:05:39 -0700] "GET / HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:13:40 -0700] "GET /keyser/23367/ HTTP/1.0" 200 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:06:16 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjfg-baii.jpg HTTP/1.0" 302 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:09:23 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhgi-bbgb.jpg HTTP/1.0" 200 12969 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.120 - - [06/Aug/2007:00:06:01 -0700] "GET /keyser/22300/ HTTP/1.0" 200 7929 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.138 - - [06/Aug/2007:00:06:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfhb-baae.jpg HTTP/1.0" 302 415 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:11:14 -0700] "GET /feeds/keyser/2 HTTP/1.1" 404 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /feeds/keyser/2 HTTP/1.1" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:26 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beae-baig.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/2342/ HTTP/1.0" 302 5910 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:11:25 -0700] "GET /?qdetail=1&qid=1978 HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.37 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcee-bajb.jpg HTTP/1.0" 200 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:10:06 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bccd-bbha.jpg HTTP/1.0" 302 4880 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:12:18 -0700] "GET /keyser/24519/ HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:41 -0700] "GET /keyser/24803/ HTTP/1.1" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:05:41 -0700] "GET /keyser/24932/ HTTP/1.1" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:11:14 -0700] "GET /keyser/2past/ HTTP/1.1" 302 4284 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.52 - - [06/Aug/2007:00:14:08 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhdg-bbhh.jpg HTTP/1.0" 200 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.52 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bafh-bbjc.jpg HTTP/1.0" 200 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:05:38 -0700] "GET /baz/img/no_picture.jpg HTTP/1.1" 302 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-begh-baaj.jpg HTTP/1.0" 302 12969 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcca-bbfi.jpg HTTP/1.0" 200 513 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:06:08 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdbe-baib.jpg HTTP/1.0" 404 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:06:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baec-bbad.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:13:49 -0700] "GET /keyser/24727/ HTTP/1.1" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:09:18 -0700] "GET /keyser/24417/ HTTP/1.0" 302 10496 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:14:11 -0700] "GET /keyser/22904/ HTTP/1.0" 302 3341 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:07 -0700] "GET /keyser/2391/ HTTP/1.0" 404 2309 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:11:13 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbff-bbfd.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beaa-bbhe.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.138 - - [06/Aug/2007:00:09:53 -0700] "GET /keyser/22359/ HTTP/1.0" 404 342 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biji-badd.jpg HTTP/1.0" 302 342 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:52 -0700] "GET /keyser/23969/ HTTP/1.0" 200 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfjd-bbjb.jpg HTTP/1.0" 302 4288 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:06:16 -0700] "GET /keyser/21890/ HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:05:29 -0700] "GET /keyser/24884/ HTTP/1.1" 302 19124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.56 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24884/ HTTP/1.0" 301 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:52 -0700] "GET /keyser/22659/ HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:47 -0700] "GET /keyser/22612/ HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:05:31 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baah-bbic.jpg HTTP/1.0" 404 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcdc-bbee.jpg HTTP/1.0" 404 19124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:10:05 -0700] "GET /feeds/keyser/2 HTTP/1.1" 404 4284 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.143 - - [06/Aug/2007:00:06:07 -0700] "GET /keyser/24884/ HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.85 - - [06/Aug/2007:00:06:22 -0700] "GET / HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:06:51 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bghb-bajf.jpg HTTP/1.0" 200 22950 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:13:27 -0700] "GET / HTTP/1.0" 200 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:05:38 -0700] "GET /?qdetail=1&qid=243 HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:06:08 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjge-babh.jpg HTTP/1.0" 302 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:11:14 -0700] "GET /?qdetail=1&qid=1298 HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:14:53 -0700] "GET /keyser/24884/ HTTP/1.1" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:09:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bifh-bbaa.jpg HTTP/1.0" 200 2309 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:26 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beaj-baia.jpg HTTP/1.0" 404 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:08 -0700] "GET /keyser/24966/ HTTP/1.1" 404 539 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.52 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbhe-bahg.jpg HTTP/1.0" 302 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:52 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbia-bafi.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.120 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24966/ HTTP/1.1" 200 525 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.65 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcee-bajb.jpg HTTP/1.0" 404 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:10:06 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beaa-bbhe.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma" +10.254.254.58 - - [06/Aug/2007:00:12:17 -0700] "GET /keyser/24938 HTTP/1.1" 302 19124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:27 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjcj-bbfh.jpg HTTP/1.0" 301 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:14:08 -0700] "GET /keyser/23033/ HTTP/1.0" 302 527 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:09:10 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bija-bbff.jpg HTTP/1.0" 200 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.57 - - [06/Aug/2007:00:06:49 -0700] "GET /keyser/24938 HTTP/1.1" 302 306 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:06:22 -0700] "GET /keyser/22359/ HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baej-baec.jpg HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:11:13 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjb-bbia.jpg HTTP/1.0" 302 4880 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.52 - - [06/Aug/2007:00:14:54 -0700] "GET /favicon.ico HTTP/1.0" 302 4971 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.1.40.113 - - [06/Aug/2007:00:10:04 -0700] "GET /keyser/23072/ HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:49 -0700] "GET /baz/img/powered_by_engedu.png HTTP/1.1" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjbd-bbgf.jpg HTTP/1.0" 404 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:13:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bihf-bbgd.jpg HTTP/1.0" 302 20040 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:14:24 -0700] "GET /keyser/24417/ HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:13:39 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bajh-baai.jpg HTTP/1.0" 404 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /keyser/21890/ HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.103 - - [06/Aug/2007:00:11:25 -0700] "GET /?qdetail=1&qid=1978 HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:11:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcdc-bbee.jpg HTTP/1.0" 200 417 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:13:28 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bggb-bbhj.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.74 - - [06/Aug/2007:00:11:14 -0700] "GET /keyser/23824/ HTTP/1.0" 404 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.138 - - [06/Aug/2007:00:09:18 -0700] "GET /?qdetail=1&qid=1894 HTTP/1.0" 200 6275 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:05:30 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bffc-bbje.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:12:18 -0700] "GET / HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:07:05 -0700] "GET /baz/img/no_picture.jpg HTTP/1.1" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:06:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bigj-bbgh.jpg HTTP/1.0" 302 3936 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:09:23 -0700] "GET /keyser/24053/ HTTP/1.0" 302 3936 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:13:41 -0700] "GET /keyser/24727/ HTTP/1.1" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjhh-bbdh.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.94 - - [06/Aug/2007:00:05:29 -0700] "GET / HTTP/1.0" 301 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:16 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdae-badi.jpg HTTP/1.0" 404 6275 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.1.40.113 - - [06/Aug/2007:00:13:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdfh-baad.jpg HTTP/1.0" 302 1823 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:11:13 -0700] "GET /keyser/24959/ HTTP/1.1" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:07:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjhd-bbjg.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:12:17 -0700] "GET /baz/img/powered_by_engedu.png HTTP/1.1" 200 513 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.103 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhdd-babb.jpg HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma" +10.254.254.52 - - [06/Aug/2007:00:14:06 -0700] "GET /keyser/24660 HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfbf-bbci.jpg HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:12:17 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgce-bade.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:15 -0700] "GET /keyser/24727 HTTP/1.1" 200 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:06:08 -0700] "GET /keyser/24660 HTTP/1.0" 200 3936 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.138 - - [06/Aug/2007:00:13:40 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beii-badg.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:05:55 -0700] "GET /keyser/24535/ HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:10:05 -0700] "GET /?qdetail=1&qid=243 HTTP/1.0" 302 2309 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:05:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhdj-bahc.jpg HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:39 -0700] "GET /keyser/2172/ HTTP/1.0" 200 527 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:10:05 -0700] "GET /favicon.ico HTTP/1.1" 200 4880 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-behi-baif.jpg HTTP/1.0" 200 4971 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:09:21 -0700] "GET / HTTP/1.0" 302 306 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:13:27 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bghb-bbfe.jpg HTTP/1.0" 200 6275 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:13:47 -0700] "GET /feeds/courses/ HTTP/1.1" 200 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:05:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beie-babf.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.1.40.113 - - [06/Aug/2007:00:09:23 -0700] "GET /keyser/23906/ HTTP/1.0" 302 5694 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:27 -0700] "GET /keyser/24641/ HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:13:48 -0700] "GET /favicon.ico HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:06:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfhd-bbab.jpg HTTP/1.0" 302 513 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:13:39 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhdb-bbii.jpg HTTP/1.0" 302 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:14:06 -0700] "GET /keyser/24947/ HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.143 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/24708/ HTTP/1.0" 302 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.52 - - [06/Aug/2007:00:06:01 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfjd-bbjb.jpg HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:14:11 -0700] "GET / HTTP/1.0" 404 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.1.40.113 - - [06/Aug/2007:00:06:16 -0700] "GET /feeds/keyser/2 HTTP/1.1" 200 22950 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdcg-babe.jpg HTTP/1.0" 200 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:06:16 -0700] "GET /keyser/23367/ HTTP/1.0" 200 3940 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0" +10.1.40.113 - - [06/Aug/2007:00:07:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjab-bbih.jpg HTTP/1.0" 200 10496 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.37 - - [06/Aug/2007:00:13:52 -0700] "GET /favicon.ico HTTP/1.0" 302 4288 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:06:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfhi-bafg.jpg HTTP/1.0" 302 3940 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:05:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babh-bajc.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:40 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beaf-baie.jpg HTTP/1.0" 302 525 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:06:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bchd-baga.jpg HTTP/1.0" 302 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbhe-bahg.jpg HTTP/1.0" 302 3936 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-behb-bbfb.jpg HTTP/1.0" 404 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:13:47 -0700] "GET /keyser/24727 HTTP/1.1" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:54 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bejg-baef.jpg HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:54 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baec-bbad.jpg HTTP/1.0" 302 4284 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:12:18 -0700] "GET /keyser/22754/ HTTP/1.0" 200 4284 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.52 - - [06/Aug/2007:00:11:14 -0700] "GET /favicon.ico HTTP/1.1" 302 20040 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:09:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bddf-babg.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:09:53 -0700] "GET /baz/img/no_picture.jpg HTTP/1.1" 302 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcba-baha.jpg HTTP/1.0" 200 526 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bech-bach.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.103 - - [06/Aug/2007:00:06:08 -0700] "GET /baz/css/fish.css HTTP/1.1" 302 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbij-bbed.jpg HTTP/1.0" 302 415 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beba-baeb.jpg HTTP/1.0" 302 402 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.1.40.113 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdjh-baeh.jpg HTTP/1.0" 200 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:06:08 -0700] "GET /favicon.ico HTTP/1.1" 302 12969 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjh-bacf.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.37 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjag-badh.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:06:16 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjbc-bbec.jpg HTTP/1.0" 302 3407 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:09:10 -0700] "GET / HTTP/1.0" 200 5910 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.58 - - [06/Aug/2007:00:06:01 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgjg-bbhb.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:11:14 -0700] "GET /keyser/24959 HTTP/1.1" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.1.40.113 - - [06/Aug/2007:00:10:05 -0700] "GET /keyser/22300/ HTTP/1.0" 302 12969 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:53 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcda-bbdf.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:14:06 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjag-badf.jpg HTTP/1.0" 200 2309 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bafh-bbjc.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/24827/ HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:06:42 -0700] "GET /favicon.ico HTTP/1.0" 302 4288 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET / HTTP/1.0" 302 525 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:14:24 -0700] "GET /keyser/23824/ HTTP/1.0" 302 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:09:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjhc-bbdj.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET /favicon.ico HTTP/1.0" 302 2309 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:05:38 -0700] "GET /keyser/24884 HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:11:13 -0700] "GET /favicon.ico HTTP/1.0" 302 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:07:21 -0700] "GET /favicon.ico HTTP/1.0" 302 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.103 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjh-bada.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0" +10.254.254.65 - - [06/Aug/2007:00:06:17 -0700] "GET /baz/img/no_picture.jpg HTTP/1.1" 200 3404 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.120 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcjj-bbba.jpg HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:14:26 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjfg-baii.jpg HTTP/1.0" 200 12969 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcif-babc.jpg HTTP/1.0" 200 2309 "-" "googlebot-mscrawl-moma" +10.254.254.28 - - [06/Aug/2007:00:10:04 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfga-bace.jpg HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.138 - - [06/Aug/2007:00:12:20 -0700] "GET /favicon.ico HTTP/1.0" 302 12969 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:06:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgcf-bbef.jpg HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:09:18 -0700] "GET /favicon.ico HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.193 - - [06/Aug/2007:00:13:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjgi-baea.jpg HTTP/1.0" 404 20040 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.94 - - [06/Aug/2007:00:07:05 -0700] "GET /?qdetail=1&qid=243 HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bifb-baje.jpg HTTP/1.0" 302 342 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0" +10.254.254.193 - - [06/Aug/2007:00:13:41 -0700] "GET /keyser/24884 HTTP/1.0" 302 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:17 -0700] "GET /?qdetail=1&qid=1298 HTTP/1.0" 404 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:11:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bicd-bbbb.jpg HTTP/1.0" 302 527 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:06:17 -0700] "GET /keyser/23403 HTTP/1.0" 302 10496 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:12:20 -0700] "GET /keyser/23824/ HTTP/1.0" 302 527 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.138 - - [06/Aug/2007:00:09:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdjj-bagb.jpg HTTP/1.0" 404 4880 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.143 - - [06/Aug/2007:00:11:25 -0700] "GET /keyser/23608/ HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.137 - - [06/Aug/2007:00:07:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgcc-bbcf.jpg HTTP/1.0" 200 539 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:12:18 -0700] "GET /favicon.ico HTTP/1.0" 302 4284 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beca-bbdg.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:14:53 -0700] "GET /robots.txt HTTP/1.0" 200 10496 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:09:21 -0700] "GET /keyser/24708/ HTTP/1.0" 301 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:14:00 -0700] "GET /keyser/23969/ HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbeh-bbhd.jpg HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.52 - - [06/Aug/2007:00:06:01 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-begj-baac.jpg HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biad-bbig.jpg HTTP/1.0" 302 5910 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:14:54 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbia-bafi.jpg HTTP/1.0" 200 525 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:07:22 -0700] "GET /keyser/2past/ HTTP/1.1" 404 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.94 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhbd-bahi.jpg HTTP/1.0" 302 525 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.28 - - [06/Aug/2007:00:13:49 -0700] "GET /feeds/keyser/2 HTTP/1.1" 200 306 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bedg-bage.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:27 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhaj-bahf.jpg HTTP/1.0" 200 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:06:15 -0700] "GET /baz/img/rss.png HTTP/1.0" 200 20040 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:00 -0700] "GET /robots.txt HTTP/1.0" 302 3341 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.1.40.113 - - [06/Aug/2007:00:07:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbbc-bbdi.jpg HTTP/1.0" 200 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:01 -0700] "GET /keyser/24534/ HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.57 - - [06/Aug/2007:00:13:48 -0700] "GET /?qdetail=1&qid=1999 HTTP/1.0" 200 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:06:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbij-bbed.jpg HTTP/1.0" 200 19124 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.120 - - [06/Aug/2007:00:05:31 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdbe-baib.jpg HTTP/1.0" 200 2309 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhdb-bbii.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beba-baeb.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgec-bbbh.jpg HTTP/1.0" 404 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.29 - - [06/Aug/2007:00:14:06 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhbj-baab.jpg HTTP/1.0" 206 4288 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bicd-bbbb.jpg HTTP/1.0" 302 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bicc-bbeg.jpg HTTP/1.0" 200 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beaf-baie.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:27 -0700] "GET /keyser/2494/ HTTP/1.0" 200 22950 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:11:13 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcfd-bbaf.jpg HTTP/1.0" 200 12969 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:14:11 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgaf-bacg.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.65 - - [06/Aug/2007:00:12:17 -0700] "GET /keyser/24947/ HTTP/1.1" 200 5910 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:28 -0700] "GET / HTTP/1.0" 200 417 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.58 - - [06/Aug/2007:00:13:27 -0700] "GET /?qdetail=1&qid=1894 HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:11:25 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgcf-bbib.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/24641/ HTTP/1.0" 404 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.707.6657-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bija-baei.jpg HTTP/1.0" 302 526 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:40 -0700] "GET /keyser/24297/ HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.28 - - [06/Aug/2007:00:05:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biic-bafa.jpg HTTP/1.0" 404 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:09:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-behh-baij.jpg HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.707.6657-en) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bddg-bbhi.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:52 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfhi-bafg.jpg HTTP/1.0" 200 4284 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:11:15 -0700] "GET /feeds/keyser/2 HTTP/1.1" 404 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24641/ HTTP/1.0" 200 20040 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:47 -0700] "GET /baz/img/rss.png HTTP/1.1" 302 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /baz/img/no_picture.jpg HTTP/1.1" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:05:39 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bccc-bbdc.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:13:47 -0700] "GET /keyser/2494/ HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.137 - - [06/Aug/2007:00:10:04 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bagf-bbhg.jpg HTTP/1.0" 302 1823 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bihb-bagj.jpg HTTP/1.0" 200 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgcc-bbcf.jpg HTTP/1.0" 302 6962 "-" "googlebot-mscrawl-moma" +10.254.254.103 - - [06/Aug/2007:00:13:41 -0700] "GET /keyser/24967 HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:10:03 -0700] "GET /robots.txt HTTP/1.0" 206 539 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdej-bafj.jpg HTTP/1.0" 200 513 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:27 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bihf-bbgd.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjh-bbca.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beij-bbcg.jpg HTTP/1.0" 404 18124 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/21890/ HTTP/1.0" 301 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-behf-bajd.jpg HTTP/1.0" 302 6962 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.37 - - [06/Aug/2007:00:11:12 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcbi-bbfa.jpg HTTP/1.0" 404 2309 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.74 - - [06/Aug/2007:00:10:04 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beij-bbcg.jpg HTTP/1.0" 200 10496 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgcf-bbef.jpg HTTP/1.0" 200 4284 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:56 -0700] "GET /keyser/24803/ HTTP/1.1" 200 6962 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:11:08 -0700] "GET /feeds/keyser/2 HTTP/1.0" 302 4067 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bagf-bbcd.jpg HTTP/1.0" 302 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:06:22 -0700] "GET /keyser/23608/ HTTP/1.0" 200 2309 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:06:08 -0700] "GET /keyser/23969/ HTTP/1.0" 404 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.94 - - [06/Aug/2007:00:10:03 -0700] "GET /keyser/2391/ HTTP/1.0" 302 19124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:09:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biig-bbbi.jpg HTTP/1.0" 200 22950 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.37 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bffc-bbje.jpg HTTP/1.0" 302 414 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.94 - - [06/Aug/2007:00:12:18 -0700] "GET /keyser/24827/ HTTP/1.0" 302 525 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgei-bbcb.jpg HTTP/1.0" 200 6275 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:09:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bagd-bagg.jpg HTTP/1.0" 200 4971 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhgh-bbaj.jpg HTTP/1.0" 200 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:11:12 -0700] "GET /keyser/2494/ HTTP/1.0" 200 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:11:14 -0700] "GET / HTTP/1.0" 302 6275 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:14:11 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcba-baha.jpg HTTP/1.0" 302 6589 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:11:25 -0700] "GET /baz/js_events/search.js HTTP/1.1" 302 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfhb-baae.jpg HTTP/1.0" 200 10496 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.65 - - [06/Aug/2007:00:06:15 -0700] "GET /baz/img/techtalk_logo.png HTTP/1.1" 200 4067 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:11:14 -0700] "GET /baz/css/fish.css HTTP/1.1" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:06:01 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bigb-baba.jpg HTTP/1.0" 302 417 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:13:40 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgeb-baah.jpg HTTP/1.0" 200 513 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0" +10.254.254.28 - - [06/Aug/2007:00:11:13 -0700] "GET /keyser/22139/ HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:40 -0700] "GET /keyser/23667 HTTP/1.0" 302 10496 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:06:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhhe-bahd.jpg HTTP/1.0" 302 527 "-" "googlebot-mscrawl-moma" +10.254.254.138 - - [06/Aug/2007:00:05:38 -0700] "GET /baz/img/no_picture.jpg HTTP/1.1" 200 10496 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.1.40.113 - - [06/Aug/2007:00:06:07 -0700] "GET /favicon.ico HTTP/1.1" 200 539 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:42 -0700] "GET /?qdetail=1&qid=889 HTTP/1.0" 200 539 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:09:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bafi-babj.jpg HTTP/1.0" 302 6267 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.29 - - [06/Aug/2007:00:12:19 -0700] "GET / HTTP/1.0" 200 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.42 - - [06/Aug/2007:00:06:30 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjcd-bbbf.jpg HTTP/1.0" 302 4290 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.85 - - [06/Aug/2007:00:05:39 -0700] "GET /keyser/23667 HTTP/1.0" 200 22950 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjic-bbhc.jpg HTTP/1.0" 302 414 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.38 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bafi-babj.jpg HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.94 - - [06/Aug/2007:00:06:17 -0700] "GET /keyser/2298/ HTTP/1.0" 302 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcjc-bbae.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:15 -0700] "GET /keyser/2172/ HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.103 - - [06/Aug/2007:00:10:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-behi-baif.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:13:47 -0700] "GET /keyser/23403 HTTP/1.0" 404 22950 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/24189/ HTTP/1.0" 302 22950 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:17 -0700] "GET / HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24884/ HTTP/1.1" 302 22950 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biec-bbbe.jpg HTTP/1.0" 200 1823 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfhh-bahj.jpg HTTP/1.0" 302 402 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:14:26 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdej-bafj.jpg HTTP/1.0" 302 4284 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bafj-bbjf.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.29 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdcg-bbid.jpg HTTP/1.0" 200 540 "-" "googlebot-mscrawl-moma" +10.254.254.66 - - [06/Aug/2007:00:14:54 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babi-bbbc.jpg HTTP/1.0" 404 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:10:04 -0700] "GET /feeds/keyser/2 HTTP/1.1" 302 527 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:11:13 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhih-bbde.jpg HTTP/1.0" 200 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:10:06 -0700] "GET / HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:14:06 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgaf-bacg.jpg HTTP/1.0" 302 6962 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.29 - - [06/Aug/2007:00:11:13 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcgj-baih.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:09:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bacg-bbdb.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjba-bbcj.jpg HTTP/1.0" 302 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:06:08 -0700] "GET /keyser/24967 HTTP/1.0" 200 540 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.66 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24967/ HTTP/1.0" 200 20040 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.120 - - [06/Aug/2007:00:06:17 -0700] "GET / HTTP/1.0" 200 3407 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.193 - - [06/Aug/2007:00:11:13 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhii-bajh.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:06:42 -0700] "GET /keyser/24519/ HTTP/1.0" 200 527 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:09:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhhi-baaf.jpg HTTP/1.0" 404 402 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:10:06 -0700] "GET /keyser/24884/ HTTP/1.0" 302 6275 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:14:53 -0700] "GET /favicon.ico HTTP/1.0" 404 19124 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:13:27 -0700] "GET /keyser/24967 HTTP/1.0" 302 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.1.40.113 - - [06/Aug/2007:00:11:14 -0700] "GET /keyser/21049/ HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-befj-bahh.jpg HTTP/1.0" 404 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/21890/ HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:05:29 -0700] "GET /feeds/keyser/2 HTTP/1.1" 302 18124 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.193 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjd-baid.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbeh-bbdd.jpg HTTP/1.0" 404 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:10:05 -0700] "GET /keyser/22359/ HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:12:18 -0700] "GET /feeds/keyser/2 HTTP/1.0" 302 539 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcbe-bbjh.jpg HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:41 -0700] "GET /keyser/24519/ HTTP/1.0" 302 4284 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.37 - - [06/Aug/2007:00:11:05 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bghb-bbfe.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:07:21 -0700] "GET /keyser/24727 HTTP/1.1" 302 527 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0" +10.254.254.28 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjcd-bafb.jpg HTTP/1.0" 302 4971 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjb-bbia.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:17 -0700] "GET /keyser/24708/ HTTP/1.0" 404 10496 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:06:42 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhdd-babb.jpg HTTP/1.0" 302 12969 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:14:11 -0700] "GET /keyser/24938/ HTTP/1.1" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdfb-baca.jpg HTTP/1.0" 200 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.57 - - [06/Aug/2007:00:13:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bech-bach.jpg HTTP/1.0" 200 417 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:06:16 -0700] "GET /keyser/22659/ HTTP/1.0" 302 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:22 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcch-bagf.jpg HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bidf-bbhf.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:06:08 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bghb-bajf.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:06:52 -0700] "GET /keyser/2342/ HTTP/1.0" 302 525 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.66 - - [06/Aug/2007:00:13:27 -0700] "GET /feeds/keyser/2 HTTP/1.1" 200 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.29 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbhh-bbfc.jpg HTTP/1.0" 302 4288 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bifh-bbaa.jpg HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:13:41 -0700] "GET / HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.57 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjge-babh.jpg HTTP/1.0" 302 18124 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.29 - - [06/Aug/2007:00:10:04 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbeh-bbce.jpg HTTP/1.0" 404 414 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bija-bbff.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.1.40.113 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgfe-bafd.jpg HTTP/1.0" 302 19134 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgjb-baff.jpg HTTP/1.0" 404 4284 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfhj-badc.jpg HTTP/1.0" 200 306 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.52 - - [06/Aug/2007:00:13:27 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfga-bace.jpg HTTP/1.0" 302 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcjc-bbae.jpg HTTP/1.0" 302 513 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.58 - - [06/Aug/2007:00:11:15 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-behf-bajd.jpg HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:27 -0700] "GET /?qdetail=1&qid=243 HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:06:08 -0700] "GET /feeds/keyser/2 HTTP/1.1" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.74 - - [06/Aug/2007:00:13:47 -0700] "GET /baz/img/rss.png HTTP/1.0" 302 18124 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.29 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdfh-baad.jpg HTTP/1.0" 200 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfdj-bagc.jpg HTTP/1.0" 302 527 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babi-bafe.jpg HTTP/1.0" 302 22950 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:14:24 -0700] "GET / HTTP/1.0" 302 540 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:11:14 -0700] "GET /keyser/23033/ HTTP/1.0" 200 12969 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:12:18 -0700] "GET /keyser/24660 HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbgi-bbah.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:40 -0700] "GET /keyser/24660 HTTP/1.0" 302 3936 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.85 - - [06/Aug/2007:00:13:29 -0700] "GET /baz/img/techtalk_logo.png HTTP/1.1" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:11:13 -0700] "GET /keyser/23367/ HTTP/1.0" 200 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.103 - - [06/Aug/2007:00:10:04 -0700] "GET /keyser/2342/ HTTP/1.0" 200 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /feeds/keyser/2 HTTP/1.1" 302 539 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:12:19 -0700] "GET /baz/img/no_picture.jpg HTTP/1.1" 200 539 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:52 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bejg-bacc.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgib-bbbj.jpg HTTP/1.0" 302 5330 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:05:55 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhaj-bahf.jpg HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:10:06 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bica-bbeb.jpg HTTP/1.0" 302 525 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.74 - - [06/Aug/2007:00:05:55 -0700] "GET /favicon.ico HTTP/1.1" 200 3404 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET / HTTP/1.0" 200 414 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.28 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/24966/ HTTP/1.1" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.52 - - [06/Aug/2007:00:06:42 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bida-baed.jpg HTTP/1.0" 200 1823 "-" "googlebot-mscrawl-moma" +10.254.254.28 - - [06/Aug/2007:00:05:38 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biic-bafa.jpg HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:11:13 -0700] "GET / HTTP/1.0" 404 6962 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:09:22 -0700] "GET /baz/img/rss.png HTTP/1.1" 302 6267 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.56 - - [06/Aug/2007:00:11:13 -0700] "GET /keyser/22612/ HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/23608/ HTTP/1.0" 302 3936 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:09:21 -0700] "GET /keyser/24660 HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma" +10.254.254.28 - - [06/Aug/2007:00:06:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babf-bajg.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:06:16 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdjj-bbej.jpg HTTP/1.0" 302 10496 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.57 - - [06/Aug/2007:00:14:53 -0700] "GET /keyser/24884/ HTTP/1.1" 200 528 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.138 - - [06/Aug/2007:00:13:29 -0700] "GET /?qdetail=1&qid=243 HTTP/1.0" 200 527 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:14:08 -0700] "GET /favicon.ico HTTP/1.0" 200 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:41 -0700] "GET /keyser/24932/ HTTP/1.1" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfhd-bbab.jpg HTTP/1.0" 200 3341 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:14:00 -0700] "GET /baz/js_events/search.js HTTP/1.1" 404 12969 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:06:07 -0700] "GET /?qdetail=1&qid=243 HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bihb-bagj.jpg HTTP/1.0" 302 525 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:09:10 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjb-baja.jpg HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.37 - - [06/Aug/2007:00:10:03 -0700] "GET /baz/css/fish.css HTTP/1.1" 301 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:11:13 -0700] "GET /keyser/24884/ HTTP/1.0" 302 19134 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.29 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgeh-bbgj.jpg HTTP/1.0" 200 415 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:13:28 -0700] "GET /keyser/2391/ HTTP/1.0" 404 7929 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:08 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bddf-babg.jpg HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.65 - - [06/Aug/2007:00:14:53 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbfb-bbga.jpg HTTP/1.0" 302 414 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.193 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bicf-bafc.jpg HTTP/1.0" 302 19134 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:12:18 -0700] "GET /baz/img/powered_by_engedu.png HTTP/1.1" 302 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:41 -0700] "GET /keyser/24932/ HTTP/1.1" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:10:04 -0700] "GET /favicon.ico HTTP/1.1" 200 417 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:13:40 -0700] "GET /keyser/22904/ HTTP/1.0" 302 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:49 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhdf-bbjj.jpg HTTP/1.0" 200 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.65 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baeb-baci.jpg HTTP/1.0" 302 414 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.29 - - [06/Aug/2007:00:13:48 -0700] "GET /keyser/24417/ HTTP/1.0" 302 4067 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bebd-bbch.jpg HTTP/1.0" 302 513 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1; Google-TR-3) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.52 - - [06/Aug/2007:00:12:19 -0700] "GET /favicon.ico HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:06:01 -0700] "GET /baz/img/powered_by_engedu.png HTTP/1.1" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.193 - - [06/Aug/2007:00:13:40 -0700] "GET /keyser/24947/ HTTP/1.1" 200 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.38 - - [06/Aug/2007:00:14:54 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgdg-baej.jpg HTTP/1.0" 200 526 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.66 - - [06/Aug/2007:00:13:39 -0700] "GET / HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET / HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:12:19 -0700] "GET / HTTP/1.0" 302 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /feeds/keyser/2 HTTP/1.1" 302 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.57 - - [06/Aug/2007:00:06:17 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgei-bbcb.jpg HTTP/1.0" 302 6962 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:05:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgdg-baej.jpg HTTP/1.0" 404 18124 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.52 - - [06/Aug/2007:00:06:42 -0700] "GET /keyser/23608/ HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:11:25 -0700] "GET /keyser/24354/ HTTP/1.0" 200 306 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.138 - - [06/Aug/2007:00:11:13 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbeh-bbce.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:10:03 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bicc-bbeg.jpg HTTP/1.0" 302 6275 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:52 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bihd-babd.jpg HTTP/1.0" 200 527 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.1.40.113 - - [06/Aug/2007:00:13:39 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-befj-bahh.jpg HTTP/1.0" 200 513 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:09:22 -0700] "GET /?qdetail=1&qid=1298 HTTP/1.0" 302 6589 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:22 -0700] "GET / HTTP/1.0" 200 19124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:14:53 -0700] "GET /baz/img/rss.png HTTP/1.1" 404 2309 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.1.40.113 - - [06/Aug/2007:00:09:21 -0700] "GET /robots.txt HTTP/1.0" 404 19124 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.193 - - [06/Aug/2007:00:13:27 -0700] "GET /keyser/24297/ HTTP/1.0" 200 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcfd-bbaf.jpg HTTP/1.0" 302 4880 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:17 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bchf-bbfg.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.52 - - [06/Aug/2007:00:13:48 -0700] "GET /?qdetail=1&qid=1978 HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.103 - - [06/Aug/2007:00:13:40 -0700] "GET /keyser/24884/ HTTP/1.1" 200 3341 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.58 - - [06/Aug/2007:00:10:04 -0700] "GET /feeds/courses/ HTTP/1.1" 302 4288 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.74 - - [06/Aug/2007:00:05:31 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhih-bbde.jpg HTTP/1.0" 200 3940 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:14:53 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-biad-bbig.jpg HTTP/1.0" 200 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:05:38 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjja-baeg.jpg HTTP/1.0" 200 12969 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/24727 HTTP/1.1" 200 3404 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.38 - - [06/Aug/2007:00:14:54 -0700] "GET /baz/img/rss.png HTTP/1.1" 200 3940 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:14:08 -0700] "GET /keyser/2298/ HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12" +10.254.254.28 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-baah-bbic.jpg HTTP/1.0" 200 2309 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:13:27 -0700] "GET /baz/img/techtalk_logo.png HTTP/1.1" 302 3407 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.38 - - [06/Aug/2007:00:09:10 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babf-bajg.jpg HTTP/1.0" 302 6962 "-" "googlebot-mscrawl-moma" +10.254.254.58 - - [06/Aug/2007:00:13:52 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjcj-bbfh.jpg HTTP/1.0" 302 4880 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:14:53 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjh-bbca.jpg HTTP/1.0" 200 4880 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /keyser/23969/ HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:10:04 -0700] "GET /keyser/24884 HTTP/1.0" 200 18124 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:12:19 -0700] "GET / HTTP/1.0" 200 527 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.37 - - [06/Aug/2007:00:05:29 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bffd-bbag.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:11:08 -0700] "GET / HTTP/1.0" 404 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.1.40.113 - - [06/Aug/2007:00:06:49 -0700] "GET /favicon.ico HTTP/1.0" 200 3404 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:09:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfjj-bagi.jpg HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:05:41 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bach-bbea.jpg HTTP/1.0" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.1.40.113 - - [06/Aug/2007:00:13:40 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjbc-bbec.jpg HTTP/1.0" 302 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.52 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcca-bbfi.jpg HTTP/1.0" 302 342 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0" +10.254.254.138 - - [06/Aug/2007:00:09:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbjh-bacf.jpg HTTP/1.0" 404 1823 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:13:47 -0700] "GET /keyser/23679/ HTTP/1.0" 200 5910 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:06:27 -0700] "GET /keyser/24967 HTTP/1.0" 302 6962 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.138 - - [06/Aug/2007:00:13:48 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bbja-bagh.jpg HTTP/1.0" 302 20040 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.74 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/23824/ HTTP/1.0" 302 19134 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.74 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bjag-badf.jpg HTTP/1.0" 302 10496 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:06:42 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bffd-bbag.jpg HTTP/1.0" 200 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:05:39 -0700] "GET /keyser/2298/ HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:11:13 -0700] "GET /keyser/23679/ HTTP/1.0" 302 402 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:09:23 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-babi-bafe.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.58 - - [06/Aug/2007:00:06:07 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bagf-bbhg.jpg HTTP/1.0" 302 10496 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:06:27 -0700] "GET /?qdetail=1&qid=1999 HTTP/1.0" 200 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:05:39 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bccc-bbdc.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.29 - - [06/Aug/2007:00:11:14 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bgee-baic.jpg HTTP/1.0" 200 5910 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:09:21 -0700] "GET /?qdetail=1&qid=1978 HTTP/1.0" 302 513 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.38 - - [06/Aug/2007:00:10:05 -0700] "GET /baz/css/fish.css HTTP/1.1" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:12:20 -0700] "GET /keyser/24727/ HTTP/1.1" 302 1823 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.28 - - [06/Aug/2007:00:10:05 -0700] "GET /keyser/24660 HTTP/1.0" 302 4880 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.57 - - [06/Aug/2007:00:13:47 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bcbc-bbeh.jpg HTTP/1.0" 200 3940 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.137 - - [06/Aug/2007:00:14:06 -0700] "GET /keyser/24884/ HTTP/1.1" 200 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.28 - - [06/Aug/2007:00:14:00 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beie-babf.jpg HTTP/1.0" 302 3404 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bdcg-babe.jpg HTTP/1.0" 302 417 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.29 - - [06/Aug/2007:00:12:18 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-beab-bbie.jpg HTTP/1.0" 302 3404 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" +10.254.254.66 - - [06/Aug/2007:00:13:40 -0700] "GET /feeds/keyser/2 HTTP/1.1" 302 526 "-" "googlebot-mscrawl-moma" +10.254.254.65 - - [06/Aug/2007:00:06:22 -0700] "GET / HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.193 - - [06/Aug/2007:00:13:40 -0700] "GET / HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.37 - - [06/Aug/2007:00:14:54 -0700] "GET /feeds/keyser/2 HTTP/1.1" 302 402 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:05:38 -0700] "GET /keyser/23442/ HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.28 - - [06/Aug/2007:00:10:04 -0700] "GET / HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.52 - - [06/Aug/2007:00:12:19 -0700] "GET /keyser/22139/ HTTP/1.0" 302 527 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6; Google-TR-5.1.706.29690-en) Gecko/20070725 Firefox/2.0.0.6" +10.254.254.38 - - [06/Aug/2007:00:14:26 -0700] "GET /keyser/2342/ HTTP/1.0" 200 527 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" +10.254.254.58 - - [06/Aug/2007:00:10:06 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bfbf-bbci.jpg HTTP/1.0" 302 18124 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.138 - - [06/Aug/2007:00:10:04 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bafg-bbja.jpg HTTP/1.0" 302 528 "-" "googlebot-mscrawl-moma (enterprise; bar-XYZ; foo123@google.com,foo123@google.com,foo123@google.com,foo123@google.com)" +10.254.254.65 - - [06/Aug/2007:00:09:21 -0700] "GET /edu/languages/google-python-class/images/puzzle/p-bhhe-bahd.jpg HTTP/1.0" 200 2309 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" diff --git a/google-python-exercises/logpuzzle/solution/logpuzzle.py b/google-python-exercises/logpuzzle/solution/logpuzzle.py new file mode 100755 index 00000000..1d87d3f5 --- /dev/null +++ b/google-python-exercises/logpuzzle/solution/logpuzzle.py @@ -0,0 +1,114 @@ +#!/usr/bin/python +# Copyright 2010 Google Inc. +# Licensed under the Apache License, Version 2.0 +# http://www.apache.org/licenses/LICENSE-2.0 + +# Google's Python Class +# http://code.google.com/edu/languages/google-python-class/ + +import os +import re +import sys +import urllib + +"""Logpuzzle exercise +Given an apache logfile, find the puzzle urls and download the images. + +Here's what a puzzle url looks like: +10.254.254.28 - - [06/Aug/2007:00:13:48 -0700] "GET /~foo/puzzle-bar-aaab.jpg HTTP/1.0" 302 528 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" +""" + +# LAB(begin solution) +def url_sort_key(url): + """Used to order the urls in increasing order by 2nd word if present.""" + match = re.search(r'-(\w+)-(\w+)\.\w+', url) + if match: + return match.group(2) + else: + return url +# LAB(end solution) + +def read_urls(filename): + """Returns a list of the puzzle urls from the given log file, + extracting the hostname from the filename itself. + Screens out duplicate urls and returns the urls sorted into + increasing order.""" + # +++your code here+++ + # LAB(begin solution) + # Extract the hostname from the filename + underbar = filename.index('_') + host = filename[underbar + 1:] + + # Store the ulrs into a dict to screen out the duplicates + url_dict = {} + + f = open(filename) + for line in f: + # Find the path which is after the GET and surrounded by spaces. + match = re.search(r'"GET (\S+)', line) + # Above uses \S (upper case S) which is any non-space char + # Alternately could use square brackets: "GET ([^ ]+)" + # or the ? form: "GET (.+?) " + + if match: + path = match.group(1) + # Add to dict if it's a special "puzzle" url + # (could combine this 'puzzle' check with the above GET extraction) + if 'puzzle' in path: + url_dict['http://' + host + path] = 1 + + return sorted(url_dict.keys(), key=url_sort_key) + # LAB(end solution) + + +def download_images(img_urls, dest_dir): + """Given the urls already in the correct order, downloads + each image into the given directory. + Gives the images local filenames img0, img1, and so on. + Creates an index.html in the directory + with an img tag to show each local image file. + Creates the directory if necessary. + """ + # +++your code here+++ + # LAB(begin solution) + if not os.path.exists(dest_dir): + os.makedirs(dest_dir) + + index = file(os.path.join(dest_dir, 'index.html'), 'w') + index.write('\n') + + i = 0 + for img_url in img_urls: + local_name = 'img%d' % i + print 'Retrieving...', img_url + urllib.urlretrieve(img_url, os.path.join(dest_dir, local_name)) + + index.write('' % (local_name,)) + i += 1 + + index.write('\n\n') + index.close() + # LAB(end solution) + + +def main(): + args = sys.argv[1:] + + if not args: + print 'usage: [--todir dir] logfile ' + sys.exit(1) + + todir = '' + if args[0] == '--todir': + todir = args[1] + del args[0:2] + + img_urls = read_urls(args[0]) + + if todir: + download_images(img_urls, todir) + else: + print '\n'.join(img_urls) + +if __name__ == '__main__': + main() From 8b10dc28937d58b987d672be826fc5528996649b Mon Sep 17 00:00:00 2001 From: Minh Bui Date: Wed, 1 Oct 2014 00:10:49 +0200 Subject: [PATCH 2/2] build dictionary from list of words --- google-python-exercises/basic/wordcount.py | 30 +++++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/google-python-exercises/basic/wordcount.py b/google-python-exercises/basic/wordcount.py index 54ecc67e..33b74bfe 100755 --- a/google-python-exercises/basic/wordcount.py +++ b/google-python-exercises/basic/wordcount.py @@ -44,18 +44,34 @@ # You could write a helper utility function that reads a file # and builds and returns a word/count dict for it. # Then print_words() and print_top() can just call the utility function. -def read_file(filename) + +#Consume list and produce dict +def build_dict(filename): f = open(filename, 'rU') words = f.read().split() - return words - -def print_words(filename) - read_file(filename) + dict = {} + while len(words) > 0: + word = words[0] + dict[word]=words.count(word) + while word in words: + words.remove(word) + return dict + +def print_words(filename): + + dict = build_dict(filename) + + sorted(dict) + for k in dict.keys(): + print k + " " + str(dict[k]) + # -### - +def print_top(filename): + words = [] + dict = {} + # This basic command line argument parsing code is provided and # calls the print_words() and print_top() functions which you must define. def main():