Unlike the IATA codes, the ICAO codes generally have a regional structure and are comprehensive. In general, the first letter is allocated by continent and represents a country or group of countries within that continent. The second letter generally represents a country within that region, and the remaining two are used to identify each airport. The exception to this rule is larger countries that have single-letter country codes, where the remaining three letters identify the airport. In either case, and unlike IATA codes, ICAO codes generally provide geographical context. For example, if one knows that the ICAO code for Heathrow is EGLL, then one can deduce that the airport EGGP is somewhere in the UK (it is Liverpool John Lennon Airport). On the other hand, knowing that the IATA code for Heathrow is LHR does not enable one to deduce the location of the airport LHV with any greater certainty (it is William T. Piper Memorial Airport in Lock Haven, Pennsylvania in the United States).