using System.Collections.Generic;
public int Population{get;set;}
public string Province{get;set;}
public string CityName{get;set;}
public City(int population, string province)
public static void Main()
City city1 = new City(5959500, "Ontario");
City city2 = new City(3981800, "Quebec");
City city3 = new City(1289600, "Alberta");
City city4 = new City(232100, "Saskatchewan");
City city5 = new City(357300, "British Columbia");
City city6 = new City(208400, "New Foundland and Labrador");
City city7 = new City(140204, "Prince Edward Island");
City city8 = new City(127900, "New Brunswick");
City city9 = new City(771200, "Manitoba");
City city10 = new City(408700, "Nova Scotia");
City city11 = new City(17000, "Nunavut");
City city12 = new City(36402, "Yukon");
City city13 = new City(41462, "Northwest Territories");
Dictionary<string, City> CanadianProvincialCapitals = new Dictionary<string, City>();
CanadianProvincialCapitals.Add("Toronto", city1);
CanadianProvincialCapitals.Add("Edmonton", city2);
CanadianProvincialCapitals.Add("Montreal", city3);
CanadianProvincialCapitals.Add("Regina", city4);
CanadianProvincialCapitals.Add("Victoria", city5);
CanadianProvincialCapitals.Add("St. John's", city6);
CanadianProvincialCapitals.Add("Charlottetown", city7);
CanadianProvincialCapitals.Add("Fredericton", city8);
CanadianProvincialCapitals.Add("Winnipeg", city9);
CanadianProvincialCapitals.Add("Halifax", city10);
CanadianProvincialCapitals.Add("Iqaluit", city11);
CanadianProvincialCapitals.Add("Whitehorse", city12);
CanadianProvincialCapitals.Add("Yellowknife", city13);
HashSet<string> top10NorthAmericanCities = new HashSet<string>();
top10NorthAmericanCities.Add("Mexico City");
top10NorthAmericanCities.Add("New York City");
top10NorthAmericanCities.Add("Los Angeles");
top10NorthAmericanCities.Add("Toronto");
top10NorthAmericanCities.Add("Chicago");
top10NorthAmericanCities.Add("Houston");
top10NorthAmericanCities.Add("Havana");
top10NorthAmericanCities.Add("Ecatepec de Morelos");
top10NorthAmericanCities.Add("Montreal");
top10NorthAmericanCities.Add("Philadelphia");
top10NorthAmericanCities.IntersectWith(CanadianProvincialCapitals.Keys);
foreach (var city in top10NorthAmericanCities)
Console.WriteLine("{0} is a provincial capital city in Canada and among top 10 North American Cities", city);