Santa has a list of all the cities in all the countries in the world that he needs to visit, with the longitude and latitude of each.
Longitude (west/east) and latitude (north/south) slice the Earth in 360 degrees. Each degree is further sliced into 360 minutes (minute portions of a degree).
Here are the first 4 lines of the list of cities:
Aberdeen, Scotland|57|9 N|2|9 W|5:00 p.m.
Adelaide, Australia|34|55 S|139|36 E|2:30 a.m.1
Algiers, Algeria|36|50 N|3|0 E|6:00 p.m.
Amsterdam, Netherlands|52|22 N|4|53 E|6:00 p.m.
...
Each line on the list contains 6 pieces of information, separated by pipe characters ("|"):
Aberdeen, Scotland # city & country
57 # degrees north/south
9 N # minutes north/south, plus N or S
2 # degrees east/west
9 W # minutes north/south, plus E or W
5:00 p.m. # time zone +/- Greenwich
Strangely enough, Santa's favourite locations all have a '9' as the last digit of their longitude in degrees (ignoring seconds).
Here are the first 4 entries on Santa's list of cities:
City, Country Lat+Mins Lon+Mins Timezone
=======================================================================
Aberdeen, Scotland 57 9 N 2 9 W 5:00 p.m.
Adelaide, Australia 34 55 S 139 36 E 2:30 a.m.1
Algiers, Algeria 36 50 N 3 0 E 6:00 p.m.
Amsterdam, Netherlands 52 22 N 4 53 E 6:00 p.m.
...
You can see that the degrees part of Adelaide's latitude (139) ends in a '9', so this is one of Santa's favourites.
Plot the location of each of Santa's favourite places on a grid using turtle. You can ignore the minutes part of the longitude and latitude, though you'll need to extract the N, S, E W and use it to plot the points (anything S is vertically negative, anything W is horizontally negative).
The locations should spell out a 3-digit number the size of the world. This is the answer to today's challenge.
Here are the first 4 cities plotted in their correct world coordinate locations, with Adelaide highlighted because it's a favourite city and thus forms part of the 3rd digit of the 3 digit number:
Aberdeen, Scotland|57|9 N|2|9 W|5:00 p.m.
Adelaide, Australia|34|55 S|139|36 E|2:30 a.m.1
Algiers, Algeria|36|50 N|3|0 E|6:00 p.m.
Amsterdam, Netherlands|52|22 N|4|53 E|6:00 p.m.
Anchorage, USA|61|13 N|148|54 W|8:00 a.m.
Ankara, Turkey|39|55 N|32|55 E|7:00 p.m.
Asunción, Paraguay|25|15 S|59|40 W|1:00 p.m.
Athens, Greece|37|58 N|29|43 E|7:00 p.m.
Atlanta, USA|33|45 N|84|23 W|12:00 noon
Auckland, New Zealand|36|52 S|174|45 E|5:00 a.m.1
Austin, USA|30|16 N|97|44 W|11:00 a.m.
Baker, USA|44|47 N|117|50 W|9:00 a.m.
Baltimore, USA|39|18 N|76|38 W|12:00 noon
Bangkok, Thailand|13|45 N|99|30 E|midnight
Bangor, USA|44|48 N|68|47 W|12:00 noon
Barcelona, Spain|41|23 N|2|9 E|6:00 p.m.
Beijing, China|39|55 N|116|25 E|1:00 a.m.1
Belfast, Northern Ireland|54|37 N|5|56 W|5:00 p.m.
Belgrade, Serbia|44|52 N|20|32 E|6:00 p.m.
Belém, Brazil|1|28 S|39|29 W|2:00 p.m.
Berlin, Germany|52|30 N|13|25 E|6:00 p.m.
Birmingham, England|52|25 N|1|55 W|5:00 p.m.
Birmingham, USA|33|30 N|86|50 W|11:00 a.m.
Bismarck, USA|46|48 N|100|47 W|11:00 a.m.
Bogotá, Colombia|4|32 N|74|15 W|12:00 noon
Boise, USA|43|36 N|116|13 W|10:00 a.m.
Bombay, India|19|0 N|72|48 E|10:30 p.m.
Bordeaux, France|44|50 N|0|31 W|6:00 p.m.
Boston, USA|42|21 N|71|5 W|12:00 noon
Bremen, Germany|53|5 N|8|49 E|6:00 p.m.
Brisbane, Australia|23|29 S|159|8 E|3:00 a.m.1
Bristol, England|51|28 N|2|35 W|5:00 p.m.
Brussels, Belgium|50|52 N|4|22 E|6:00 p.m.
Bucharest, Romania|44|25 N|26|7 E|7:00 p.m.
Budapest, Hungary|47|30 N|19|5 E|6:00 p.m.
Buenos Aires, Argentina|34|35 S|58|22 W|2:00 p.m.
Buffalo, USA|42|55 N|78|50 W|12:00 noon
Cairo, Egypt|30|2 N|29|21 E|7:00 p.m.
Calcutta, India|22|34 N|89|24 E|10:30 p.m.
Calgary, Canada|51|1 N|114|1 W|10:00 a.m.
Canton, China|23|7 N|113|15 E|1:00 a.m.1
Cape Town, South Africa|33|55 S|18|22 E|7:00 p.m.
Caracas, Venezuela|10|28 N|67|2 W|1:00 p.m.
Carlsbad, USA|32|26 N|104|15 W|10:00 a.m.
Cayenne, French Guiana|4|49 N|49|18 W|2:00 p.m.
Charleston, USA|32|47 N|79|56 W|12:00 noon
Charleston, USA|38|21 N|81|38 W|12:00 noon
Charlotte, USA|35|14 N|80|50 W|12:00 noon
Cheyenne, USA|41|9 N|104|52 W|10:00 a.m.
Chicago, USA|41|50 N|87|37 W|11:00 a.m.
Chihuahua, Mexico|28|37 N|106|5 W|10:00 a.m.
Chongqing, China|29|46 N|109|38 E|1:00 a.m.1
Cincinnati, USA|39|8 N|84|30 W|12:00 noon
Cleveland, USA|41|28 N|81|37 W|12:00 noon
Columbia, USA|34|0 N|81|2 W|12:00 noon
Columbus, USA|40|0 N|83|1 W|12:00 noon
Copenhagen, Denmark|55|40 N|12|34 E|6:00 p.m.
Córdoba, Argentina|31|28 S|64|10 W|2:00 p.m.
Dakar, Senegal|14|40 N|17|28 W|5:00 p.m.
Dallas, USA|32|46 N|96|46 W|11:00 a.m.
Darwin, Australia|12|28 S|119|51 E|2:30 a.m.1
Denver, USA|39|45 N|105|0 W|10:00 a.m.
Des Moines, USA|41|35 N|93|37 W|11:00 a.m.
Detroit, USA|42|20 N|83|3 W|12:00 noon
Djibouti, Djibouti|11|30 N|39|3 E|8:00 p.m.
Dublin, Ireland|53|20 N|6|15 W|5:00 p.m.
Dubuque, USA|42|31 N|90|40 W|11:00 a.m.
Duluth, USA|46|49 N|92|5 W|11:00 a.m.
Durban, South Africa|29|53 S|30|53 E|7:00 p.m.
Eastport, USA|44|54 N|67|0 W|12:00 noon
Edinburgh, Scotland|55|55 N|3|10 W|5:00 p.m.
Edmonton, Canada|53|34 N|113|28 W|10:00 a.m.
El Centro, USA|32|38 N|115|33 W|9:00 a.m.
El Paso, USA|31|46 N|106|29 W|10:00 a.m.
Eugene, USA|44|3 N|123|5 W|9:00 a.m.
Fargo, USA|46|52 N|96|48 W|11:00 a.m.
Flagstaff, USA|35|13 N|111|41 W|10:00 a.m.
Fort Worth, USA|32|43 N|97|19 W|11:00 a.m.
Frankfurt, Germany|50|7 N|8|41 E|6:00 p.m.
Georgetown, Guyana|6|45 N|59|15 W|1:00 p.m.
Glasgow, Scotland|55|50 N|4|15 W|5:00 p.m.
Grand Junction, USA|39|5 N|108|33 W|10:00 a.m.
Grand Rapids, USA|42|58 N|85|40 W|12:00 noon
Guatemala City, Guatemala|14|37 N|90|31 W|11:00 a.m.
Guayaquil, Ecuador|2|10 S|79|56 W|12:00 noon
Hamburg, Germany|53|33 N|10|2 E|6:00 p.m.
Hammerfest, Norway|70|38 N|23|38 E|6:00 p.m.
Havana, Cuba|23|8 N|79|23 W|12:00 noon
Helena, USA|46|35 N|112|2 W|10:00 a.m.
Helsinki, Finland|60|10 N|25|0 E|7:00 p.m.
Hobart, Tasmania|42|52 S|147|19 E|3:00 a.m.1
Hong Kong, China|22|20 N|114|11 E|1:00 a.m.1
Honolulu, USA|21|18 N|157|50 W|7:00 a.m.
Hot Springs, USA|34|31 N|93|3 W|11:00 a.m.
Houston, USA|29|45 N|95|21 W|11:00 a.m.
Idaho Falls, USA|43|30 N|112|1 W|10:00 a.m.
Indianapolis, USA|39|46 N|86|10 W|12:00 noon
Iquique, Chile|20|10 S|69|7 W|1:00 p.m.
Irkutsk, Russia|52|30 N|104|20 E|1:00 a.m.
Jackson, USA|32|20 N|90|12 W|11:00 a.m.
Jacksonville, USA|30|22 N|81|40 W|12:00 noon
Jakarta, Indonesia|6|16 S|106|48 E|midnight
Johannesburg, South Africa|26|12 S|28|4 E|7:00 p.m.
Juneau, USA|58|18 N|134|24 W|8:00 a.m.
Kansas City, USA|39|6 N|94|35 W|11:00 a.m.
Key West, USA|24|33 N|81|48 W|12:00 noon
Kingston, Canada|44|15 N|76|30 W|12:00 noon
Kingston, Jamaica|17|59 N|76|49 W|12:00 noon
Kinshasa, Congo|4|18 S|19|17 E|6:00 p.m.
Klamath Falls, USA|42|10 N|121|44 W|9:00 a.m.
Knoxville, USA|35|57 N|83|56 W|12:00 noon
Kuala Lumpur, Malaysia|3|8 N|109|42 E|1:00 a.m.1
La Paz, Bolivia|16|27 S|68|22 W|1:00 p.m.
Las Vegas, USA|36|10 N|115|12 W|9:00 a.m.
Leeds, England|53|45 N|1|30 W|5:00 p.m.
Lewiston, USA|46|24 N|117|2 W|9:00 a.m.
Lima, Peru|12|0 S|79|2 W|12:00 noon
Lincoln, USA|40|50 N|96|40 W|11:00 a.m.
Lisbon, Portugal|38|44 N|9|9 W|5:00 p.m.
Liverpool, England|53|25 N|3|0 W|5:00 p.m.
London, Canada|43|2 N|81|34 W|12:00 noon
London, England|51|32 N|0|5 W|5:00 p.m.
Long Beach, USA|33|46 N|118|11 W|9:00 a.m.
Los Angeles, USA|34|3 N|118|15 W|9:00 a.m.
Louisville, USA|38|15 N|85|46 W|12:00 noon
Lyons, France|45|45 N|4|50 E|6:00 p.m.
Madrid, Spain|40|26 N|3|42 W|6:00 p.m.
Manchester, England|53|30 N|2|15 W|5:00 p.m.
Manchester, USA|43|0 N|71|30 W|12:00 noon
Manila, Philippines|14|35 N|120|57 E|1:00 a.m.1
Marseilles, France|43|20 N|5|20 E|6:00 p.m.
Mazatlán, Mexico|23|12 N|106|25 W|10:00 a.m.
Mecca, Saudi Arabia|21|29 N|39|45 E|8:00 p.m.
Melbourne, Australia|37|47 S|144|58 E|3:00 a.m.1
Memphis, USA|35|9 N|90|3 W|11:00 a.m.
Mexico City, Mexico|19|26 N|98|7 W|11:00 a.m.
Miami, USA|25|46 N|80|12 W|12:00 noon
Milan, Italy|45|27 N|9|10 E|6:00 p.m.
Milwaukee, USA|43|2 N|87|55 W|11:00 a.m.
Minneapolis, USA|44|59 N|93|14 W|11:00 a.m.
Mobile, USA|30|42 N|88|3 W|11:00 a.m.
Montevideo, Uruguay|34|53 S|56|10 W|2:00 p.m.
Montgomery, USA|32|21 N|86|18 W|11:00 a.m.
Montpelier, USA|44|15 N|72|32 W|12:00 noon
Montreal, Canada|45|30 N|73|35 W|12:00 noon
Moose Jaw, Canada|50|37 N|105|31 W|11:00 a.m.
Moscow, Russia|55|45 N|37|36 E|8:00 p.m.
Munich, Germany|48|8 N|11|35 E|6:00 p.m.
Nagasaki, Japan|32|48 N|128|57 E|2:00 a.m.1
Nagoya, Japan|35|7 N|136|56 E|2:00 a.m.1
Nairobi, Kenya|1|25 S|39|55 E|8:00 p.m.
Nanjing (Nanking), China|32|3 N|118|53 E|1:00 a.m.1
Naples, Italy|40|50 N|14|15 E|6:00 p.m.
Nashville, USA|36|10 N|86|47 W|11:00 a.m.
Nelson, Canada|49|30 N|117|17 W|9:00 a.m.
New Delhi, India|28|35 N|77|12 E|10:30 p.m.
New Haven, USA|41|19 N|72|55 W|12:00 noon
New Orleans, USA|29|57 N|90|4 W|11:00 a.m.
New York, USA|40|47 N|73|58 W|12:00 noon
Newark, USA|40|44 N|74|10 W|12:00 noon
Newcastle-on-Tyne, England|54|58 N|1|37 W|5:00 p.m.
Nome, USA|64|25 N|165|30 W|8:00 a.m.
Oakland, USA|37|48 N|122|16 W|9:00 a.m.
Odessa, Ukraine|46|27 N|30|48 E|7:00 p.m.
Oklahoma City, USA|35|26 N|97|28 W|11:00 a.m.
Omaha, USA|41|15 N|95|56 W|11:00 a.m.
Osaka, Japan|34|32 N|135|30 E|2:00 a.m.1
Oslo, Norway|59|57 N|10|42 E|6:00 p.m.
Ottawa, Canada|45|24 N|75|43 W|12:00 noon
Panama City, Panama|8|58 N|79|32 W|12:00 noon
Paramaribo, Suriname|5|45 N|55|15 W|2:00 p.m.
Paris, France|48|48 N|2|20 E|6:00 p.m.
Perth, Australia|31|57 S|115|52 E|1:00 a.m.1
Philadelphia, USA|39|57 N|75|10 W|12:00 noon
Phoenix, USA|33|29 N|112|4 W|10:00 a.m.
Pierre, USA|44|22 N|100|21 W|11:00 a.m.
Pittsburgh, USA|40|27 N|79|57 W|12:00 noon
Plymouth, England|50|25 N|4|5 W|5:00 p.m.
Port Moresby, Papua New Guinea|9|25 S|139|8 E|3:00 a.m.1
Portland, USA|43|40 N|70|15 W|12:00 noon
Portland, USA|45|31 N|122|41 W|9:00 a.m.
Prague, Czech Republic|50|5 N|14|26 E|6:00 p.m.
Providence, USA|41|50 N|71|24 W|12:00 noon
Quebec, Canada|46|49 N|71|11 W|12:00 noon
Raleigh, USA|35|46 N|78|39 W|12:00 noon
Rangoon, Myanmar|16|50 N|100|0 E|11:30 p.m.
Reykjavík, Iceland|64|4 N|21|58 W|5:00 p.m.
Richfield, USA|38|46 N|112|5 W|10:00 a.m.
Richmond, USA|37|33 N|77|29 W|12:00 noon
Rio de Janeiro, Brazil|22|57 S|39|12 W|2:00 p.m.
Roanoke, USA|37|17 N|79|57 W|12:00 noon
Rome, Italy|41|54 N|12|27 E|6:00 p.m.
Sacramento, USA|38|35 N|121|30 W|9:00 a.m.
Salt Lake City, USA|40|46 N|111|54 W|10:00 a.m.
Salvador, Brazil|12|56 S|29|27 W|2:00 p.m.
San Antonio, USA|29|23 N|98|33 W|11:00 a.m.
San Diego, USA|32|42 N|117|10 W|9:00 a.m.
San Francisco, USA|37|47 N|122|26 W|9:00 a.m.
San Jose, USA|37|20 N|121|53 W|9:00 a.m.
San Juan, USA|18|30 N|66|10 W|1:00 p.m.
Santa Fe, USA|35|41 N|105|57 W|10:00 a.m.
Santiago, Chile|33|28 S|70|45 W|1:00 p.m.
Savannah, USA|32|5 N|81|5 W|12:00 noon
Seattle, USA|47|37 N|122|20 W|9:00 a.m.
Shanghai, China|31|10 N|129|28 E|1:00 a.m.1
Shreveport, USA|32|28 N|93|42 W|11:00 a.m.
Singapore, Singapore|1|14 N|103|55 E|1:00 a.m.1
Sioux Falls, USA|43|33 N|96|44 W|11:00 a.m.
Sitka, USA|57|10 N|135|15 W|8:00 a.m.
Sofia, Bulgaria|42|40 N|23|20 E|7:00 p.m.
Spokane, USA|47|40 N|117|26 W|9:00 a.m.
St. John, Canada|45|18 N|66|10 W|1:00 p.m.
St. Louis, USA|38|35 N|90|12 W|11:00 a.m.
St. Petersburg, Russia|59|56 N|30|18 E|8:00 p.m.
Stockholm, Sweden|59|17 N|18|3 E|6:00 p.m.
Sydney, Australia|34|0 S|149|0 E|3:00 a.m.1
Syracuse, USA|43|2 N|76|8 W|12:00 noon
São Paulo, Brazil|23|31 S|46|31 W|2:00 p.m.
Tampa, USA|27|57 N|79|27 W|12:00 noon
Tananarive, Madagascar|18|50 S|47|33 E|8:00 p.m.
Teheran, Iran|35|45 N|51|45 E|8:30 p.m.
Tokyo, Japan|35|40 N|138|45 E|2:00 a.m.1
Toledo, USA|41|39 N|83|33 W|12:00 noon
Toronto, Canada|43|40 N|69|24 W|12:00 noon
Tripoli, Libya|28|57 N|19|12 E|7:00 p.m.
Tulsa, USA|36|09 N|95|59 W|11:00 a.m.
Vancouver, Canada|49|13 N|123|06 W|9:00 a.m.
Venice, Italy|45|26 N|12|20 E|6:00 p.m.
Veracruz, Mexico|19|10 N|96|10 W|11:00 a.m.
Victoria, Canada|48|25 N|123|21 W|9:00 a.m.
Vienna, Austria|48|14 N|16|20 E|6:00 p.m.
Virginia Beach, USA|36|51 N|75|58 W|12:00 noon
Vladivostok, Russia|43|10 N|132|0 E|3:00 a.m.1
Warsaw, Poland|52|14 N|21|0 E|6:00 p.m.
Washington, USA|38|53 N|77|02 W|12:00 noon
Wellington, New Zealand|41|17 S|174|47 E|5:00 a.m.1
Wichita, USA|37|43 N|97|17 W|11:00 a.m.
Wilmington, USA|34|14 N|77|57 W|12:00 noon
Winnipeg, Canada|49|54 N|97|7 W|11:00 a.m.
Zürich, Switzerland|47|21 N|8|31 E|6:00 p.m.