https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=1
Numpy is a Python package to efficiently do data science. Learn to work with the Numpy array, a faster and more powerful alternative to the list, and take your first steps in data exploration.
In [1]:
height = [1.73, 1.68, 1.71, 1.89, 1.79]
height
Out[1]:
In [2]:
weight = [65.4, 59.2, 63.6, 88.4, 68.7]
weight
Out[2]:
In [3]:
# weight / height ** 2
In [4]:
import numpy as np
np_height = np.array(height)
np_height
Out[4]:
In [5]:
np_weight = np.array(weight)
np_weight
Out[5]:
In [6]:
bmi = np_weight / np_height ** 2
bmi
Out[6]:
In [7]:
np.array([1.0, 'is', True])
Out[7]:
In [8]:
python_list = [1, 2, 3]
np_array = np.array([1, 2, 3])
python_list + python_list
Out[8]:
In [9]:
np_array + np_array
Out[9]:
In [10]:
bmi[1]
Out[10]:
In [11]:
bmi > 23
Out[11]:
In [12]:
bmi[bmi > 23]
Out[12]:
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=2
In this chapter, we're going to dive into the world of baseball. Along the way, you'll get comfortable with the basics of Numpy, a powerful package to do data science.
A list baseball has already been defined in the Python script, representing the height of some baseball players in centimeters. Can you add some code here and there to create a Numpy array from it?
Import the numpy package as np, so that you can refer to numpy with np.
Use np.array() to create a Numpy array from baseball. Name this array np_baseball.
Print out the type of np_baseball to check that you got it right.
In [13]:
# Create list baseball
baseball = [180, 215, 210, 210, 188, 176, 209, 200]
# Import the numpy package as np
import numpy as np
# Create a Numpy array from baseball: np_baseball
np_baseball = np.array(baseball)
# Print out type of np_baseball
print(type(np_baseball))
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=3
You are a huge baseball fan. You decide to call the MLB (Major League Baseball) and ask around for some more statistics on the height of the main players. They pass along data on more than a thousand players, which is stored as a regular Python list: height. The height is expressed in inches. Can you make a Numpy array out of it and convert the units to centimeters?
height is already available and the numpy package is loaded, so you can start straight away (Source: stat.ucla.edu).
Create a Numpy array from height. Name this new array np_height.
Print np_height.
Multiply np_height with 0.0254 to convert all height measurements from inches to meters. Store the new values in a new array, np_height_m.
Print out np_height_m and check if the output makes sense.
In [14]:
# height is available as a regular list
height = [74, 74, 72, 72, 73, 69, 69, 71, 76, 71, 73, 73, 74, 74, 69, 70, 73, 75, 78, 79, 76, 74, 76, 72, 71, 75, 77, 74, 73, 74, 78, 73, 75, 73, 75, 75, 74, 69, 71, 74, 73, 73, 76, 74, 74, 70, 72, 77, 74, 70, 73, 75, 76, 76, 78, 74, 74, 76, 77, 81, 78, 75, 77, 75, 76, 74, 72, 72, 75, 73, 73, 73, 70, 70, 70, 76, 68, 71, 72, 75, 75, 75, 75, 68, 74, 78, 71, 73, 76, 74, 74, 79, 75, 73, 76, 74, 74, 73, 72, 74, 73, 74, 72, 73, 69, 72, 73, 75, 75, 73, 72, 72, 76, 74, 72, 77, 74, 77, 75, 76, 80, 74, 74, 75, 78, 73, 73, 74, 75, 76, 71, 73, 74, 76, 76, 74, 73, 74, 70, 72, 73, 73, 73, 73, 71, 74, 74, 72, 74, 71, 74, 73, 75, 75, 79, 73, 75, 76, 74, 76, 78, 74, 76, 72, 74, 76, 74, 75, 78, 75, 72, 74, 72, 74, 70, 71, 70, 75, 71, 71, 73, 72, 71, 73, 72, 75, 74, 74, 75, 73, 77, 73, 76, 75, 74, 76, 75, 73, 71, 76, 75, 72, 71, 77, 73, 74, 71, 72, 74, 75, 73, 72, 75, 75, 74, 72, 74, 71, 70, 74, 77, 77, 75, 75, 78, 75, 76, 73, 75, 75, 79, 77, 76, 71, 75, 74, 69, 71, 76, 72, 72, 70, 72, 73, 71, 72, 71, 73, 72, 73, 74, 74, 72, 75, 74, 74, 77, 75, 73, 72, 71, 74, 77, 75, 75, 75, 78, 78, 74, 76, 78, 76, 70, 72, 80, 74, 74, 71, 70, 72, 71, 74, 71, 72, 71, 74, 69, 76, 75, 75, 76, 73, 76, 73, 77, 73, 72, 72, 77, 77, 71, 74, 74, 73, 78, 75, 73, 70, 74, 72, 73, 73, 75, 75, 74, 76, 73, 74, 75, 75, 72, 73, 73, 72, 74, 78, 76, 73, 74, 75, 70, 75, 71, 72, 78, 75, 73, 73, 71, 75, 77, 72, 69, 73, 74, 72, 70, 75, 70, 72, 72, 74, 73, 74, 76, 75, 80, 72, 75, 73, 74, 74, 73, 75, 75, 71, 73, 75, 74, 74, 72, 74, 74, 74, 73, 76, 75, 72, 73, 73, 73, 72, 72, 72, 72, 71, 75, 75, 74, 73, 75, 79, 74, 76, 73, 74, 74, 72, 74, 74, 75, 78, 74, 74, 74, 77, 70, 73, 74, 73, 71, 75, 71, 72, 77, 74, 70, 77, 73, 72, 76, 71, 76, 78, 75, 73, 78, 74, 79, 75, 76, 72, 75, 75, 70, 72, 70, 74, 71, 76, 73, 76, 71, 69, 72, 72, 69, 73, 69, 73, 74, 74, 72, 71, 72, 72, 76, 76, 76, 74, 76, 75, 71, 72, 71, 73, 75, 76, 75, 71, 75, 74, 72, 73, 73, 73, 73, 76, 72, 76, 73, 73, 73, 75, 75, 77, 73, 72, 75, 70, 74, 72, 80, 71, 71, 74, 74, 73, 75, 76, 73, 77, 72, 73, 77, 76, 71, 75, 73, 74, 77, 71, 72, 73, 69, 73, 70, 74, 76, 73, 73, 75, 73, 79, 74, 73, 74, 77, 75, 74, 73, 77, 73, 77, 74, 74, 73, 77, 74, 77, 75, 77, 75, 71, 74, 70, 79, 72, 72, 70, 74, 74, 72, 73, 72, 74, 74, 76, 82, 74, 74, 70, 73, 73, 74, 77, 72, 76, 73, 73, 72, 74, 74, 71, 72, 75, 74, 74, 77, 70, 71, 73, 76, 71, 75, 74, 72, 76, 79, 76, 73, 76, 78, 75, 76, 72, 72, 73, 73, 75, 71, 76, 70, 75, 74, 75, 73, 71, 71, 72, 73, 73, 72, 69, 73, 78, 71, 73, 75, 76, 70, 74, 77, 75, 79, 72, 77, 73, 75, 75, 75, 73, 73, 76, 77, 75, 70, 71, 71, 75, 74, 69, 70, 75, 72, 75, 73, 72, 72, 72, 76, 75, 74, 69, 73, 72, 72, 75, 77, 76, 80, 77, 76, 79, 71, 75, 73, 76, 77, 73, 76, 70, 75, 73, 75, 70, 69, 71, 72, 72, 73, 70, 70, 73, 76, 75, 72, 73, 79, 71, 72, 74, 74, 74, 72, 76, 76, 72, 72, 71, 72, 72, 70, 77, 74, 72, 76, 71, 76, 71, 73, 70, 73, 73, 72, 71, 71, 71, 72, 72, 74, 74, 74, 71, 72, 75, 72, 71, 72, 72, 72, 72, 74, 74, 77, 75, 73, 75, 73, 76, 72, 77, 75, 72, 71, 71, 75, 72, 73, 73, 71, 70, 75, 71, 76, 73, 68, 71, 72, 74, 77, 72, 76, 78, 81, 72, 73, 76, 72, 72, 74, 76, 73, 76, 75, 70, 71, 74, 72, 73, 76, 76, 73, 71, 68, 71, 71, 74, 77, 69, 72, 76, 75, 76, 75, 76, 72, 74, 76, 74, 72, 75, 78, 77, 70, 72, 79, 74, 71, 68, 77, 75, 71, 72, 70, 72, 72, 73, 72, 74, 72, 72, 75, 72, 73, 74, 72, 78, 75, 72, 74, 75, 75, 76, 74, 74, 73, 74, 71, 74, 75, 76, 74, 76, 76, 73, 75, 75, 74, 68, 72, 75, 71, 70, 72, 73, 72, 75, 74, 70, 76, 71, 82, 72, 73, 74, 71, 75, 77, 72, 74, 72, 73, 78, 77, 73, 73, 73, 73, 73, 76, 75, 70, 73, 72, 73, 75, 74, 73, 73, 76, 73, 75, 70, 77, 72, 77, 74, 75, 75, 75, 75, 72, 74, 71, 76, 71, 75, 76, 83, 75, 74, 76, 72, 72, 75, 75, 72, 77, 73, 72, 70, 74, 72, 74, 72, 71, 70, 71, 76, 74, 76, 74, 74, 74, 75, 75, 71, 71, 74, 77, 71, 74, 75, 77, 76, 74, 76, 72, 71, 72, 75, 73, 68, 72, 69, 73, 73, 75, 70, 70, 74, 75, 74, 74, 73, 74, 75, 77, 73, 74, 76, 74, 75, 73, 76, 78, 75, 73, 77, 74, 72, 74, 72, 71, 73, 75, 73, 67, 67, 76, 74, 73, 70, 75, 70, 72, 77, 79, 78, 74, 75, 75, 78, 76, 75, 69, 75, 72, 75, 73, 74, 75, 75, 73]
# Import numpy
import numpy as np
# Create a Numpy array from height: np_height
np_height = np.array(height)
# Print out np_height
print(np_height)
# Convert np_height to m: np_height_m
np_height_m = np_height * 0.0254
# Print np_height_m
print(np_height_m)
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=4
The MLB also offers to let you analyze their weight data. Again, both are available as regular Python lists: height and weight. height is in inches and weight is in pounds.
It's now possible to calculate the BMI of each baseball player. Python code to convert height to a Numpy array with the correct units is already available in the workspace. Follow the instructions step by step and finish the game!
Create a Numpy array from the weight list with the correct units. Multiply by 0.453592 to go from pounds to kilograms. Store the resulting Numpy array as np_weight_kg.
Use np_height_m and np_weight_kg to calculate the BMI of each player. Use the following equation:
BMI= weight(kg) / height(m) ** 2
Save the resulting numpy array as bmi.
Print out bmi.
In [15]:
# height and weight are available as a regular lists
weight = [74, 74, 72, 72, 73, 69, 69, 71, 76, 71, 73, 73, 74, 74, 69, 70, 73, 75, 78, 79, 76, 74, 76, 72, 71, 75, 77, 74, 73, 74, 78, 73, 75, 73, 75, 75, 74, 69, 71, 74, 73, 73, 76, 74, 74, 70, 72, 77, 74, 70, 73, 75, 76, 76, 78, 74, 74, 76, 77, 81, 78, 75, 77, 75, 76, 74, 72, 72, 75, 73, 73, 73, 70, 70, 70, 76, 68, 71, 72, 75, 75, 75, 75, 68, 74, 78, 71, 73, 76, 74, 74, 79, 75, 73, 76, 74, 74, 73, 72, 74, 73, 74, 72, 73, 69, 72, 73, 75, 75, 73, 72, 72, 76, 74, 72, 77, 74, 77, 75, 76, 80, 74, 74, 75, 78, 73, 73, 74, 75, 76, 71, 73, 74, 76, 76, 74, 73, 74, 70, 72, 73, 73, 73, 73, 71, 74, 74, 72, 74, 71, 74, 73, 75, 75, 79, 73, 75, 76, 74, 76, 78, 74, 76, 72, 74, 76, 74, 75, 78, 75, 72, 74, 72, 74, 70, 71, 70, 75, 71, 71, 73, 72, 71, 73, 72, 75, 74, 74, 75, 73, 77, 73, 76, 75, 74, 76, 75, 73, 71, 76, 75, 72, 71, 77, 73, 74, 71, 72, 74, 75, 73, 72, 75, 75, 74, 72, 74, 71, 70, 74, 77, 77, 75, 75, 78, 75, 76, 73, 75, 75, 79, 77, 76, 71, 75, 74, 69, 71, 76, 72, 72, 70, 72, 73, 71, 72, 71, 73, 72, 73, 74, 74, 72, 75, 74, 74, 77, 75, 73, 72, 71, 74, 77, 75, 75, 75, 78, 78, 74, 76, 78, 76, 70, 72, 80, 74, 74, 71, 70, 72, 71, 74, 71, 72, 71, 74, 69, 76, 75, 75, 76, 73, 76, 73, 77, 73, 72, 72, 77, 77, 71, 74, 74, 73, 78, 75, 73, 70, 74, 72, 73, 73, 75, 75, 74, 76, 73, 74, 75, 75, 72, 73, 73, 72, 74, 78, 76, 73, 74, 75, 70, 75, 71, 72, 78, 75, 73, 73, 71, 75, 77, 72, 69, 73, 74, 72, 70, 75, 70, 72, 72, 74, 73, 74, 76, 75, 80, 72, 75, 73, 74, 74, 73, 75, 75, 71, 73, 75, 74, 74, 72, 74, 74, 74, 73, 76, 75, 72, 73, 73, 73, 72, 72, 72, 72, 71, 75, 75, 74, 73, 75, 79, 74, 76, 73, 74, 74, 72, 74, 74, 75, 78, 74, 74, 74, 77, 70, 73, 74, 73, 71, 75, 71, 72, 77, 74, 70, 77, 73, 72, 76, 71, 76, 78, 75, 73, 78, 74, 79, 75, 76, 72, 75, 75, 70, 72, 70, 74, 71, 76, 73, 76, 71, 69, 72, 72, 69, 73, 69, 73, 74, 74, 72, 71, 72, 72, 76, 76, 76, 74, 76, 75, 71, 72, 71, 73, 75, 76, 75, 71, 75, 74, 72, 73, 73, 73, 73, 76, 72, 76, 73, 73, 73, 75, 75, 77, 73, 72, 75, 70, 74, 72, 80, 71, 71, 74, 74, 73, 75, 76, 73, 77, 72, 73, 77, 76, 71, 75, 73, 74, 77, 71, 72, 73, 69, 73, 70, 74, 76, 73, 73, 75, 73, 79, 74, 73, 74, 77, 75, 74, 73, 77, 73, 77, 74, 74, 73, 77, 74, 77, 75, 77, 75, 71, 74, 70, 79, 72, 72, 70, 74, 74, 72, 73, 72, 74, 74, 76, 82, 74, 74, 70, 73, 73, 74, 77, 72, 76, 73, 73, 72, 74, 74, 71, 72, 75, 74, 74, 77, 70, 71, 73, 76, 71, 75, 74, 72, 76, 79, 76, 73, 76, 78, 75, 76, 72, 72, 73, 73, 75, 71, 76, 70, 75, 74, 75, 73, 71, 71, 72, 73, 73, 72, 69, 73, 78, 71, 73, 75, 76, 70, 74, 77, 75, 79, 72, 77, 73, 75, 75, 75, 73, 73, 76, 77, 75, 70, 71, 71, 75, 74, 69, 70, 75, 72, 75, 73, 72, 72, 72, 76, 75, 74, 69, 73, 72, 72, 75, 77, 76, 80, 77, 76, 79, 71, 75, 73, 76, 77, 73, 76, 70, 75, 73, 75, 70, 69, 71, 72, 72, 73, 70, 70, 73, 76, 75, 72, 73, 79, 71, 72, 74, 74, 74, 72, 76, 76, 72, 72, 71, 72, 72, 70, 77, 74, 72, 76, 71, 76, 71, 73, 70, 73, 73, 72, 71, 71, 71, 72, 72, 74, 74, 74, 71, 72, 75, 72, 71, 72, 72, 72, 72, 74, 74, 77, 75, 73, 75, 73, 76, 72, 77, 75, 72, 71, 71, 75, 72, 73, 73, 71, 70, 75, 71, 76, 73, 68, 71, 72, 74, 77, 72, 76, 78, 81, 72, 73, 76, 72, 72, 74, 76, 73, 76, 75, 70, 71, 74, 72, 73, 76, 76, 73, 71, 68, 71, 71, 74, 77, 69, 72, 76, 75, 76, 75, 76, 72, 74, 76, 74, 72, 75, 78, 77, 70, 72, 79, 74, 71, 68, 77, 75, 71, 72, 70, 72, 72, 73, 72, 74, 72, 72, 75, 72, 73, 74, 72, 78, 75, 72, 74, 75, 75, 76, 74, 74, 73, 74, 71, 74, 75, 76, 74, 76, 76, 73, 75, 75, 74, 68, 72, 75, 71, 70, 72, 73, 72, 75, 74, 70, 76, 71, 82, 72, 73, 74, 71, 75, 77, 72, 74, 72, 73, 78, 77, 73, 73, 73, 73, 73, 76, 75, 70, 73, 72, 73, 75, 74, 73, 73, 76, 73, 75, 70, 77, 72, 77, 74, 75, 75, 75, 75, 72, 74, 71, 76, 71, 75, 76, 83, 75, 74, 76, 72, 72, 75, 75, 72, 77, 73, 72, 70, 74, 72, 74, 72, 71, 70, 71, 76, 74, 76, 74, 74, 74, 75, 75, 71, 71, 74, 77, 71, 74, 75, 77, 76, 74, 76, 72, 71, 72, 75, 73, 68, 72, 69, 73, 73, 75, 70, 70, 74, 75, 74, 74, 73, 74, 75, 77, 73, 74, 76, 74, 75, 73, 76, 78, 75, 73, 77, 74, 72, 74, 72, 71, 73, 75, 73, 67, 67, 76, 74, 73, 70, 75, 70, 72, 77, 79, 78, 74, 75, 75, 78, 76, 75, 69, 75, 72, 75, 73, 74, 75, 75, 73]
# Import numpy
import numpy as np
# Create array from height with correct units: np_height_m
np_height_m = np.array(height) * 0.0254
# Create array from weight with correct units: np_weight_kg
np_weight_kg = np.array(weight) * 0.453592
# Calculate the BMI: bmi
bmi = np_weight_kg / np_height_m ** 2
# Print out bmi
print(bmi)
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=5
To subset both regular Python lists and Numpy arrays, you can use square brackets:
x = [4 , 9 , 6, 3, 1]
x[1]
import numpy as np
y = np.array(x)
y[1]
For Numpy specifically, you can also use boolean Numpy arrays:
high = y > 5
y[high]
The code that calculates the BMI of all baseball players is already included. Follow the instructions and reveal interesting things from the data!
Create a boolean Numpy array: the element of the array should be True if the corresponding baseball player's BMI is below 21. You can use the < operator for this. Name the array light.
Print the array light.
Print out a Numpy array with the BMIs of all baseball players whose BMI is below 21. Use light inside square brackets to do a selection on the bmi array.
In [16]:
x = [4 , 9 , 6, 3, 1]
x[1]
Out[16]:
In [17]:
import numpy as np
y = np.array(x)
y
Out[17]:
In [18]:
y[1]
Out[18]:
In [19]:
high = y > 5
y[high]
Out[19]:
In [20]:
# height and weight are available as a regular lists
# Import numpy
import numpy as np
# Calculate the BMI: bmi
np_height_m = np.array(height) * 0.0254
np_weight_kg = np.array(weight) * 0.453592
bmi = np_weight_kg / np_height_m ** 2
# Create the light array
light = bmi < 21
# Print out light
print(light)
# Print out BMIs of all baseball players whose BMI is below 21
print(bmi[light])
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=6
As Filip explained before, Numpy is great for doing vector arithmetic. If you compare its functionality with regular Python lists, however, some things have changed.
First of all, Numpy arrays cannot contain elements with different types. If you try to build such a list, some of the elments' types are changed to end up with a homogenous list. This is known as type coercion.
Second, the typical arithmetic operators, such as +, -, * and / have a different meaning for regular Python lists and Numpy arrays.
Have a look at this line of code:
np.array([True, 1, 2]) + np.array([3, 4, False])
Can you tell which code chunk builds the exact same Python object? The Numpy package is already imported as np, so you can start experimenting in the IPython Shell straight away!
np.array([True, 1, 2, 3, 4, False])
*np.array([4, 3, 0]) + np.array([0, 2, 2])
np.array([1, 1, 2]) + np.array([3, 4, -1])
np.array([0, 1, 2, 3, 4, 5])
In [21]:
np.array([True, 1, 2]) + np.array([3, 4, False])
Out[21]:
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=7
You've seen it with your own eyes: Python lists and Numpy arrays sometimes behave differently. Luckily, there are still certainties in this world. For example, subsetting (using the square bracket notation on lists or arrays) works exactly the same. To see this for yourself, try the following lines of code in the IPython Shell:
x = ["a", "b", "c"]
x[1]
np_x = np.array(x)
np_x[1]
The script on the right already contains code that imports numpy as np, and stores both the height and weight of the MLB players as Numpy arrays.
Subset np_weight: print out the element at index 50.
Print out a sub-array of np_height: It contains the elements at index 100 up to and including index 110
In [22]:
# height and weight are available as a regular lists
# Import numpy
import numpy as np
# Store weight and height lists as numpy arrays
np_weight = np.array(weight)
np_height = np.array(height)
# Print out the weight at index 50
print(weight[50])
# Print out sub-array of np_height: index 100 up to and including index 110
print(np_height[100:111])
In [23]:
np_2d = np.array([[1.73, 1.68, 1.71, 1.89, 1.79],
[65.4, 59.2, 63.6, 88.4, 68.7]])
np_2d
Out[23]:
In [24]:
np_2d.shape
Out[24]:
In [25]:
np.array([[1.73, 1.68, 1.71, 1.89, 1.79],
[65.4, 59.2, 63.6, 88.4, '68.7']])
Out[25]:
In [26]:
np_2d[0]
Out[26]:
In [27]:
np_2d[0][2]
Out[27]:
In [28]:
np_2d[0, 2]
Out[28]:
In [29]:
np_2d[:, 1:3]
Out[29]:
In [30]:
np_2d[1, :]
Out[30]:
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=9
Before working on the actual MLB data, let's try to create a 2D Numpy array from a small list of lists.
In this exercise, baseball is a list of lists. The main list contains 4 elements. Each of these elements is a list containing the height and the weight of 4 baseball players, in this order. baseball is already coded for you in the script.
Use np.array() to create a 2D Numpy array from baseball. Name it np_baseball.
Print out the type of np_baseball.
Print out the shape attribute of np_baseball. Use np_baseball.shape.
In [31]:
# Create baseball, a list of lists
baseball = [[180, 78.4],
[215, 102.7],
[210, 98.5],
[188, 75.2]]
# Import numpy
import numpy as np
# Create a 2D Numpy array from baseball: np_baseball
np_baseball = np.array(baseball)
# Print out the type of np_baseball
print(type(np_baseball))
print(np_baseball)
# Print out the shape of np_baseball
print(np_baseball.shape)
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=10
You have another look at the MLB data and realize that it makes more sense to restructure all this information in a 2D Numpy array. This array should have 1015 rows, corresponding to the 1015 baseball players you have information on, and 2 columns (for height and weight).
The MLB was, again, very helpful and passed you the data in a different structure, a Python list of lists. In this list of lists, each sublist represents the height and weight of a single baseball player. The name of this embedded list is baseball.
Can you store the data as a 2D array to unlock Numpy's extra functionality?
Use np.array() to create a 2D Numpy array from baseball. Name it np_baseball.
Print out the shape attribute of np_baseball.
In [32]:
# baseball is available as a regular list of lists
baseball = [[74, 180], [74, 215], [72, 210], [72, 210], [73, 188], [69, 176], [69, 209], [71, 200], [76, 231], [71, 180], [73, 188], [73, 180], [74, 185], [74, 160], [69, 180], [70, 185], [73, 189], [75, 185], [78, 219], [79, 230], [76, 205], [74, 230], [76, 195], [72, 180], [71, 192], [75, 225], [77, 203], [74, 195], [73, 182], [74, 188], [78, 200], [73, 180], [75, 200], [73, 200], [75, 245], [75, 240], [74, 215], [69, 185], [71, 175], [74, 199], [73, 200], [73, 215], [76, 200], [74, 205], [74, 206], [70, 186], [72, 188], [77, 220], [74, 210], [70, 195], [73, 200], [75, 200], [76, 212], [76, 224], [78, 210], [74, 205], [74, 220], [76, 195], [77, 200], [81, 260], [78, 228], [75, 270], [77, 200], [75, 210], [76, 190], [74, 220], [72, 180], [72, 205], [75, 210], [73, 220], [73, 211], [73, 200], [70, 180], [70, 190], [70, 170], [76, 230], [68, 155], [71, 185], [72, 185], [75, 200], [75, 225], [75, 225], [75, 220], [68, 160], [74, 205], [78, 235], [71, 250], [73, 210], [76, 190], [74, 160], [74, 200], [79, 205], [75, 222], [73, 195], [76, 205], [74, 220], [74, 220], [73, 170], [72, 185], [74, 195], [73, 220], [74, 230], [72, 180], [73, 220], [69, 180], [72, 180], [73, 170], [75, 210], [75, 215], [73, 200], [72, 213], [72, 180], [76, 192], [74, 235], [72, 185], [77, 235], [74, 210], [77, 222], [75, 210], [76, 230], [80, 220], [74, 180], [74, 190], [75, 200], [78, 210], [73, 194], [73, 180], [74, 190], [75, 240], [76, 200], [71, 198], [73, 200], [74, 195], [76, 210], [76, 220], [74, 190], [73, 210], [74, 225], [70, 180], [72, 185], [73, 170], [73, 185], [73, 185], [73, 180], [71, 178], [74, 175], [74, 200], [72, 204], [74, 211], [71, 190], [74, 210], [73, 190], [75, 190], [75, 185], [79, 290], [73, 175], [75, 185], [76, 200], [74, 220], [76, 170], [78, 220], [74, 190], [76, 220], [72, 205], [74, 200], [76, 250], [74, 225], [75, 215], [78, 210], [75, 215], [72, 195], [74, 200], [72, 194], [74, 220], [70, 180], [71, 180], [70, 170], [75, 195], [71, 180], [71, 170], [73, 206], [72, 205], [71, 200], [73, 225], [72, 201], [75, 225], [74, 233], [74, 180], [75, 225], [73, 180], [77, 220], [73, 180], [76, 237], [75, 215], [74, 190], [76, 235], [75, 190], [73, 180], [71, 165], [76, 195], [75, 200], [72, 190], [71, 190], [77, 185], [73, 185], [74, 205], [71, 190], [72, 205], [74, 206], [75, 220], [73, 208], [72, 170], [75, 195], [75, 210], [74, 190], [72, 211], [74, 230], [71, 170], [70, 185], [74, 185], [77, 241], [77, 225], [75, 210], [75, 175], [78, 230], [75, 200], [76, 215], [73, 198], [75, 226], [75, 278], [79, 215], [77, 230], [76, 240], [71, 184], [75, 219], [74, 170], [69, 218], [71, 190], [76, 225], [72, 220], [72, 176], [70, 190], [72, 197], [73, 204], [71, 167], [72, 180], [71, 195], [73, 220], [72, 215], [73, 185], [74, 190], [74, 205], [72, 205], [75, 200], [74, 210], [74, 215], [77, 200], [75, 205], [73, 211], [72, 190], [71, 208], [74, 200], [77, 210], [75, 232], [75, 230], [75, 210], [78, 220], [78, 210], [74, 202], [76, 212], [78, 225], [76, 170], [70, 190], [72, 200], [80, 237], [74, 220], [74, 170], [71, 193], [70, 190], [72, 150], [71, 220], [74, 200], [71, 190], [72, 185], [71, 185], [74, 200], [69, 172], [76, 220], [75, 225], [75, 190], [76, 195], [73, 219], [76, 190], [73, 197], [77, 200], [73, 195], [72, 210], [72, 177], [77, 220], [77, 235], [71, 180], [74, 195], [74, 195], [73, 190], [78, 230], [75, 190], [73, 200], [70, 190], [74, 190], [72, 200], [73, 200], [73, 184], [75, 200], [75, 180], [74, 219], [76, 187], [73, 200], [74, 220], [75, 205], [75, 190], [72, 170], [73, 160], [73, 215], [72, 175], [74, 205], [78, 200], [76, 214], [73, 200], [74, 190], [75, 180], [70, 205], [75, 220], [71, 190], [72, 215], [78, 235], [75, 191], [73, 200], [73, 181], [71, 200], [75, 210], [77, 240], [72, 185], [69, 165], [73, 190], [74, 185], [72, 175], [70, 155], [75, 210], [70, 170], [72, 175], [72, 220], [74, 210], [73, 205], [74, 200], [76, 205], [75, 195], [80, 240], [72, 150], [75, 200], [73, 215], [74, 202], [74, 200], [73, 190], [75, 205], [75, 190], [71, 160], [73, 215], [75, 185], [74, 200], [74, 190], [72, 210], [74, 185], [74, 220], [74, 190], [73, 202], [76, 205], [75, 220], [72, 175], [73, 160], [73, 190], [73, 200], [72, 229], [72, 206], [72, 220], [72, 180], [71, 195], [75, 175], [75, 188], [74, 230], [73, 190], [75, 200], [79, 190], [74, 219], [76, 235], [73, 180], [74, 180], [74, 180], [72, 200], [74, 234], [74, 185], [75, 220], [78, 223], [74, 200], [74, 210], [74, 200], [77, 210], [70, 190], [73, 177], [74, 227], [73, 180], [71, 195], [75, 199], [71, 175], [72, 185], [77, 240], [74, 210], [70, 180], [77, 194], [73, 225], [72, 180], [76, 205], [71, 193], [76, 230], [78, 230], [75, 220], [73, 200], [78, 249], [74, 190], [79, 208], [75, 245], [76, 250], [72, 160], [75, 192], [75, 220], [70, 170], [72, 197], [70, 155], [74, 190], [71, 200], [76, 220], [73, 210], [76, 228], [71, 190], [69, 160], [72, 184], [72, 180], [69, 180], [73, 200], [69, 176], [73, 160], [74, 222], [74, 211], [72, 195], [71, 200], [72, 175], [72, 206], [76, 240], [76, 185], [76, 260], [74, 185], [76, 221], [75, 205], [71, 200], [72, 170], [71, 201], [73, 205], [75, 185], [76, 205], [75, 245], [71, 220], [75, 210], [74, 220], [72, 185], [73, 175], [73, 170], [73, 180], [73, 200], [76, 210], [72, 175], [76, 220], [73, 206], [73, 180], [73, 210], [75, 195], [75, 200], [77, 200], [73, 164], [72, 180], [75, 220], [70, 195], [74, 205], [72, 170], [80, 240], [71, 210], [71, 195], [74, 200], [74, 205], [73, 192], [75, 190], [76, 170], [73, 240], [77, 200], [72, 205], [73, 175], [77, 250], [76, 220], [71, 224], [75, 210], [73, 195], [74, 180], [77, 245], [71, 175], [72, 180], [73, 215], [69, 175], [73, 180], [70, 195], [74, 230], [76, 230], [73, 205], [73, 215], [75, 195], [73, 180], [79, 205], [74, 180], [73, 190], [74, 180], [77, 190], [75, 190], [74, 220], [73, 210], [77, 255], [73, 190], [77, 230], [74, 200], [74, 205], [73, 210], [77, 225], [74, 215], [77, 220], [75, 205], [77, 200], [75, 220], [71, 197], [74, 225], [70, 187], [79, 245], [72, 185], [72, 185], [70, 175], [74, 200], [74, 180], [72, 188], [73, 225], [72, 200], [74, 210], [74, 245], [76, 213], [82, 231], [74, 165], [74, 228], [70, 210], [73, 250], [73, 191], [74, 190], [77, 200], [72, 215], [76, 254], [73, 232], [73, 180], [72, 215], [74, 220], [74, 180], [71, 200], [72, 170], [75, 195], [74, 210], [74, 200], [77, 220], [70, 165], [71, 180], [73, 200], [76, 200], [71, 170], [75, 224], [74, 220], [72, 180], [76, 198], [79, 240], [76, 239], [73, 185], [76, 210], [78, 220], [75, 200], [76, 195], [72, 220], [72, 230], [73, 170], [73, 220], [75, 230], [71, 165], [76, 205], [70, 192], [75, 210], [74, 205], [75, 200], [73, 210], [71, 185], [71, 195], [72, 202], [73, 205], [73, 195], [72, 180], [69, 200], [73, 185], [78, 240], [71, 185], [73, 220], [75, 205], [76, 205], [70, 180], [74, 201], [77, 190], [75, 208], [79, 240], [72, 180], [77, 230], [73, 195], [75, 215], [75, 190], [75, 195], [73, 215], [73, 215], [76, 220], [77, 220], [75, 230], [70, 195], [71, 190], [71, 195], [75, 209], [74, 204], [69, 170], [70, 185], [75, 205], [72, 175], [75, 210], [73, 190], [72, 180], [72, 180], [72, 160], [76, 235], [75, 200], [74, 210], [69, 180], [73, 190], [72, 197], [72, 203], [75, 205], [77, 170], [76, 200], [80, 250], [77, 200], [76, 220], [79, 200], [71, 190], [75, 170], [73, 190], [76, 220], [77, 215], [73, 206], [76, 215], [70, 185], [75, 235], [73, 188], [75, 230], [70, 195], [69, 168], [71, 190], [72, 160], [72, 200], [73, 200], [70, 189], [70, 180], [73, 190], [76, 200], [75, 220], [72, 187], [73, 240], [79, 190], [71, 180], [72, 185], [74, 210], [74, 220], [74, 219], [72, 190], [76, 193], [76, 175], [72, 180], [72, 215], [71, 210], [72, 200], [72, 190], [70, 185], [77, 220], [74, 170], [72, 195], [76, 205], [71, 195], [76, 210], [71, 190], [73, 190], [70, 180], [73, 220], [73, 190], [72, 186], [71, 185], [71, 190], [71, 180], [72, 190], [72, 170], [74, 210], [74, 240], [74, 220], [71, 180], [72, 210], [75, 210], [72, 195], [71, 160], [72, 180], [72, 205], [72, 200], [72, 185], [74, 245], [74, 190], [77, 210], [75, 200], [73, 200], [75, 222], [73, 215], [76, 240], [72, 170], [77, 220], [75, 156], [72, 190], [71, 202], [71, 221], [75, 200], [72, 190], [73, 210], [73, 190], [71, 200], [70, 165], [75, 190], [71, 185], [76, 230], [73, 208], [68, 209], [71, 175], [72, 180], [74, 200], [77, 205], [72, 200], [76, 250], [78, 210], [81, 230], [72, 244], [73, 202], [76, 240], [72, 200], [72, 215], [74, 177], [76, 210], [73, 170], [76, 215], [75, 217], [70, 198], [71, 200], [74, 220], [72, 170], [73, 200], [76, 230], [76, 231], [73, 183], [71, 192], [68, 167], [71, 190], [71, 180], [74, 180], [77, 215], [69, 160], [72, 205], [76, 223], [75, 175], [76, 170], [75, 190], [76, 240], [72, 175], [74, 230], [76, 223], [74, 196], [72, 167], [75, 195], [78, 190], [77, 250], [70, 190], [72, 190], [79, 190], [74, 170], [71, 160], [68, 150], [77, 225], [75, 220], [71, 209], [72, 210], [70, 176], [72, 260], [72, 195], [73, 190], [72, 184], [74, 180], [72, 195], [72, 195], [75, 219], [72, 225], [73, 212], [74, 202], [72, 185], [78, 200], [75, 209], [72, 200], [74, 195], [75, 228], [75, 210], [76, 190], [74, 212], [74, 190], [73, 218], [74, 220], [71, 190], [74, 235], [75, 210], [76, 200], [74, 188], [76, 210], [76, 235], [73, 188], [75, 215], [75, 216], [74, 220], [68, 180], [72, 185], [75, 200], [71, 210], [70, 220], [72, 185], [73, 231], [72, 210], [75, 195], [74, 200], [70, 205], [76, 200], [71, 190], [82, 250], [72, 185], [73, 180], [74, 170], [71, 180], [75, 208], [77, 235], [72, 215], [74, 244], [72, 220], [73, 185], [78, 230], [77, 190], [73, 200], [73, 180], [73, 190], [73, 196], [73, 180], [76, 230], [75, 224], [70, 160], [73, 178], [72, 205], [73, 185], [75, 210], [74, 180], [73, 190], [73, 200], [76, 257], [73, 190], [75, 220], [70, 165], [77, 205], [72, 200], [77, 208], [74, 185], [75, 215], [75, 170], [75, 235], [75, 210], [72, 170], [74, 180], [71, 170], [76, 190], [71, 150], [75, 230], [76, 203], [83, 260], [75, 246], [74, 186], [76, 210], [72, 198], [72, 210], [75, 215], [75, 180], [72, 200], [77, 245], [73, 200], [72, 192], [70, 192], [74, 200], [72, 192], [74, 205], [72, 190], [71, 186], [70, 170], [71, 197], [76, 219], [74, 200], [76, 220], [74, 207], [74, 225], [74, 207], [75, 212], [75, 225], [71, 170], [71, 190], [74, 210], [77, 230], [71, 210], [74, 200], [75, 238], [77, 234], [76, 222], [74, 200], [76, 190], [72, 170], [71, 220], [72, 223], [75, 210], [73, 215], [68, 196], [72, 175], [69, 175], [73, 189], [73, 205], [75, 210], [70, 180], [70, 180], [74, 197], [75, 220], [74, 228], [74, 190], [73, 204], [74, 165], [75, 216], [77, 220], [73, 208], [74, 210], [76, 215], [74, 195], [75, 200], [73, 215], [76, 229], [78, 240], [75, 207], [73, 205], [77, 208], [74, 185], [72, 190], [74, 170], [72, 208], [71, 225], [73, 190], [75, 225], [73, 185], [67, 180], [67, 165], [76, 240], [74, 220], [73, 212], [70, 163], [75, 215], [70, 175], [72, 205], [77, 210], [79, 205], [78, 208], [74, 215], [75, 180], [75, 200], [78, 230], [76, 211], [75, 230], [69, 190], [75, 220], [72, 180], [75, 205], [73, 190], [74, 180], [75, 205], [75, 190], [73, 195]]
# Import numpy package
import numpy as np
# Create a 2D Numpy array from baseball: np_baseball
np_baseball = np.array(baseball)
# Print out the shape of np_baseball
print(np_baseball.shape)
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=11
If your 2D Numpy array has a regular structure, i.e. each row and column has a fixed number of values, complicated ways of subsetting become very easy. Have a look at the code below where the elements "a" and "c" are extracted from a list of lists.
# regular list of lists
x = [["a", "b"], ["c", "d"]]
[x[0][0], x[1][0]]
# numpy
import numpy as np
np_x = np.array(x)
np_x[:,0]
For regular Python lists, this is a real pain. For 2D Numpy arrays, however, it's pretty intuitive! The indexes before the comma refer to the rows, while those after the comma refer to the columns. The : is for slicing; in this example, it tells Python to include all rows.
The code that converts the pre-loaded baseball list to a 2D Numpy array is already in the script. Add some lines to make the correct selections. Remember that in Python, the first element is at index 0!
Print out the 50th row of np_baseball.
Make a new variable, np_weight, containing the entire second column of np_baseball.
Select the height (first column) of the 124th baseball player in np_baseball and print it out.
In [33]:
# regular list of lists
x = [["a", "b"], ["c", "d"]]
[x[0][0], x[1][0]]
Out[33]:
In [34]:
# numpy
import numpy as np
np_x = np.array(x)
np_x[:,0]
Out[34]:
In [35]:
# baseball is available as a regular list of lists
# Import numpy package
import numpy as np
# Create np_baseball (2 cols)
np_baseball = np.array(baseball)
# Print out the 50th row of np_baseball
print(np_baseball[49,:])
# Select the entire second column of np_baseball: np_weight
np_weight = np_baseball[:, 1]
# Print out height of 124th player
print(np_baseball[123, 0])
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=12
Remember how you calculated the Body Mass Index for all baseball players? Numpy was able to perform all calculations element-wise (i.e. element by element). For 2D Numpy arrays this isn't any different! You can combine matrices with single numbers, with vectors, and with other matrices.
Execute the code below in the IPython shell and see if you understand:
import numpy as np
np_mat = np.array([[1, 2],
[3, 4],
[5, 6]])
np_mat * 2
np_mat + np.array([10, 10])
np_mat + np_mat
np_baseball is coded for you; it's again a 2D Numpy array with 3 columns representing height, weight and age.
You managed to get hold on the changes in weight, height and age of all baseball players. It is available as a 2D Numpy array, updated. Add np_baseball and updated and print out the result.
You want to convert the units of height and weight. As a first step, create a Numpy array with three values: 0.0254, 0.453592 and 1. Name this array conversion.
Multiply np_baseball with conversion and print out the result.
In [36]:
import numpy as np
np_mat = np.array([[1, 2],
[3, 4],
[5, 6]])
np_mat * 2
Out[36]:
In [37]:
np_mat + np.array([10, 10])
Out[37]:
In [38]:
np_mat + np_mat
Out[38]:
In [39]:
# baseball is available as a regular list of lists
# updated is available as 2D Numpy array
updated = [[ 1.2303559, -11.16224898, 1. ],
[ 1.02614252, 16.09732309, 1. ],
[ 1.1544228, 5.08167641, 1. ],
[ 1.09349925, 4.23890778, 1. ],
[ 0.82285669, -17.78200035, 1. ],
[ 0.99484223, 8.14402711, 1. ]]
baseball = [[74.0, 180.0, 22.99], [74.0, 215.0, 34.69], [72.0, 210.0, 30.78],
[75.0, 205.0, 25.19], [75.0, 190.0, 31.01], [73.0, 195.0, 27.92]]
# Import numpy package
import numpy as np
# Create np_baseball (3 cols)
np_baseball = np.array(baseball)
# Print out addition of np_baseball and updated
print(np_baseball + updated)
# Create Numpy array: conversion
conversion = [0.0254, 0.453592, 1]
# Print out product of np_baseball and conversion
print(np.multiply(np_baseball, conversion))
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=13
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=14
You now know how to use Numpy functions to a get a better feeling for your data. It basically comes down to importing Numpy and then calling several simple functions on the Numpy arrays:
import numpy as np
x = [1, 4, 8, 10, 12]
np.mean(x)
np.median(x)
The baseball data is available as a 2D Numpy array with 3 columns (height, weight, age) and 1015 rows. The name of this Numpy array is np_baseball. After restructuring the data, however, you notice that some height values are abnormally high. Follow the instructions and discover which summary statistic is best suited if you're dealing with so-called outliers.
Create Numpy array np_height, that is equal to first column of np_baseball.
Print out the mean of np_height.
Print out the median of np_height.
In [40]:
import numpy as np
x = [1, 4, 8, 10, 12]
np.mean(x)
Out[40]:
In [41]:
np.median(x)
Out[41]:
In [42]:
# np_baseball is available
# Import numpy
import numpy as np
# Create np_height from np_baseball
np_height = np_baseball[:, 0]
# Print out the mean of np_height
print(np.mean(np_height))
# Print out the median of np_height
print(np.median(np_height))
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=15
Because the mean and median are so far apart, you decide to complain to the MLB. They find the error and send the corrected data over to you. It's again available as a 2D Numpy array np_baseball, with three columns.
The Python script on the right already includes code to print out informative messages with the different summary statistics. Can you finish the job?
The code to print out the mean height is already included. Complete the code for the median height. Replace None with the correct code.
Use np.std() on the first column of np_baseball to calculate stddev. Replace None with the correct code.
Do big players tend to be heavier? Use np.corrcoef() to store the correlation between the first and second column of np_baseball in corr. Replace None with the correct code.
In [43]:
# np_baseball is available
# Import numpy
import numpy as np
# Print mean height (first column)
avg = np.mean(np_baseball[:,0])
print("Average: " + str(avg))
# Print median height. Replace 'None'
med = np.median(np_baseball[:, 0])
print("Median: " + str(med))
# Print out the standard deviation on height. Replace 'None'
stddev = np.std(np_baseball[:, 0])
print("Standard Deviation: " + str(stddev))
# Print out correlation between first and second column. Replace 'None'
corr = np.corrcoef(np_baseball[:, 0], np_baseball[:, 1])
print("Correlation: " + str(corr))
https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-4-numpy?ex=16
In the last few exercises you've learned everything there is to know about heights and weights of baseball players. Now it's time to dive into another sport: soccer.
You've contacted the FIFA for some data and they handed you two lists. The lists are the following: positions = ['GK', 'M', 'A', 'D', ...] heights = [191, 184, 185, 180, ...] Each element in the lists corresponds to a player. The first list, positions, contains strings representing each player's position. The possible positions are: 'GK' (goalkeeper), 'M' (midfield), 'A' (attack) and 'D' (defense). The second list, heights, contains integers representing the height of the player in cm. The first player in the lists is a goalkeeper and is pretty tall (191 cm).
You're fairly confident that the median height of goalkeepers is higher than that of other players on the soccer field. Some of your friends don't believe you, so you are determined to show them using the data you received from FIFA and your newly acquired Python skills.
Instructions Convert heights and positions, which are regular lists, to numpy arrays. Call them np_heights and np_positions. Extract all the heights of the goalkeepers. You can use a little trick here: use np_positions == 'GK' as an index for np_heights. Assign the result to gk_heights. Extract all the heights of the all the other players. This time use np_positions != 'GK' as an index for np_heights. Assign the result to other_heights. Print out the median height of the goalkeepers using np.median(). Replace None with the correct code. Do the same for the other players. Print out their median height. Replace None with the correct code.
In [44]:
heights = [191, 184, 185, 180, 181, 187, 170, 179, 183, 186, 185, 170, 187, 183, 173, 188, 183, 180, 188, 175, 193, 180, 185, 170, 183, 173, 185, 185, 168, 190, 178, 185, 185, 193, 183, 184, 178, 180, 177, 188, 177, 187, 186, 183, 189, 179, 196, 190, 189, 188, 188, 188, 182, 185, 184, 178, 185, 193, 188, 179, 189, 188, 180, 178, 186, 188, 180, 185, 172, 179, 180, 174, 183, 178, 187, 178, 193, 181, 180, 187, 179, 173, 175, 188, 187, 175, 171, 179, 180, 188, 185, 196, 183, 184, 186, 178, 188, 168, 176, 178, 178, 192, 172, 170, 190, 175, 174, 179, 177, 187, 184, 185, 175, 193, 185, 191, 181, 183, 176, 176, 182, 192, 187, 170, 189, 171, 181, 183, 178, 182, 186, 191, 175, 179, 180, 181, 178, 193, 179, 181, 186, 190, 190, 192, 185, 178, 182, 171, 182, 173, 192, 175, 183, 183, 184, 176, 183, 186, 178, 185, 188, 193, 193, 170, 188, 196, 175, 180, 184, 173, 180, 190, 186, 182, 183, 195, 188, 187, 190, 180, 194, 182, 182, 183, 178, 183, 171, 185, 177, 180, 195, 173, 185, 186, 187, 178, 185, 174, 175, 176, 191, 170, 183, 180, 174, 191, 179, 178, 187, 191, 183, 180, 184, 183, 180, 185, 184, 181, 186, 185, 182, 175, 173, 175, 176, 174, 184, 177, 185, 162, 180, 171, 183, 180, 180, 191, 196, 191, 176, 186, 171, 190, 188, 180, 185, 176, 187, 188, 182, 178, 176, 175, 177, 191, 183, 189, 173, 180, 180, 185, 185, 180, 181, 183, 180, 185, 175, 175, 177, 177, 182, 167, 176, 180, 194, 180, 187, 174, 182, 174, 181, 188, 188, 180, 183, 183, 184, 188, 170, 182, 183, 170, 186, 191, 187, 188, 177, 180, 182, 174, 183, 178, 182, 190, 180, 182, 181, 180, 176, 172, 186, 180, 185, 186, 179, 185, 180, 187, 181, 185, 181, 183, 181, 175, 187, 178, 182, 182, 183, 184, 170, 178, 175, 186, 175, 178, 185, 178, 190, 187, 173, 186, 177, 193, 183, 175, 185, 179, 167, 175, 183, 188, 184, 191, 184, 170, 169, 175, 175, 185, 193, 172, 179, 180, 179, 186, 180, 176, 190, 175, 175, 186, 196, 186, 187, 182, 178, 185, 183, 191, 183, 185, 186, 180, 169, 185, 194, 186, 183, 183, 191, 189, 194, 174, 168, 185, 160, 191, 185, 186, 179, 188, 185, 189, 183, 183, 176, 183, 180, 171, 187, 175, 190, 178, 175, 181, 185, 188, 180, 171, 184, 176, 181, 183, 178, 171, 187, 186, 186, 174, 174, 186, 193, 191, 180, 181, 177, 195, 190, 185, 168, 183, 175, 191, 184, 182, 188, 182, 180, 192, 191, 185, 188, 180, 179, 183, 192, 183, 183, 180, 173, 180, 190, 183, 182, 175, 180, 178, 181, 188, 175, 180, 183, 191, 183, 180, 182, 178, 189, 183, 183, 178, 170, 178, 173, 180, 184, 180, 188, 180, 184, 191, 188, 195, 197, 186, 191, 189, 196, 185, 178, 200, 176, 184, 189, 181, 185, 184, 191, 191, 184, 190, 190, 170, 183, 183, 169, 183, 185, 178, 183, 186, 190, 186, 188, 186, 183, 179, 172, 185, 180, 183, 189, 180, 182, 185, 180, 193, 185, 175, 182, 182, 180, 185, 180, 188, 175, 183, 185, 185, 176, 189, 186, 181, 181, 185, 188, 176, 179, 178, 178, 180, 185, 183, 183, 185, 186, 185, 188, 172, 175, 186, 181, 190, 177, 184, 191, 173, 178, 180, 185, 183, 186, 175, 189, 189, 189, 189, 183, 166, 178, 175, 179, 185, 180, 190, 181, 185, 179, 185, 188, 183, 173, 180, 181, 175, 182, 177, 182, 180, 182, 184, 181, 177, 178, 180, 183, 194, 185, 191, 180, 187, 181, 183, 183, 180, 185, 178, 177, 183, 178, 173, 183, 191, 188, 188, 178, 175, 186, 183, 180, 184, 184, 194, 174, 178, 193, 175, 190, 186, 186, 180, 186, 183, 177, 180, 175, 184, 184, 178, 166, 183, 186, 168, 178, 181, 188, 187, 180, 172, 185, 186, 191, 172, 184, 186, 192, 180, 177, 183, 175, 180, 170, 180, 188, 180, 178, 196, 192, 186, 175, 184, 175, 171, 187, 170, 183, 184, 178, 187, 179, 177, 172, 180, 170, 177, 184, 185, 191, 188, 193, 183, 188, 185, 183, 185, 187, 189, 188, 174, 173, 172, 179, 171, 176, 173, 185, 183, 187, 178, 176, 187, 171, 185, 174, 186, 179, 192, 173, 183, 183, 183, 186, 184, 185, 171, 184, 189, 183, 173, 184, 183, 184, 184, 179, 184, 185, 181, 170, 176, 191, 173, 183, 178, 189, 183, 187, 202, 180, 183, 186, 182, 186, 182, 190, 178, 185, 181, 186, 171, 183, 185, 184, 190, 167, 175, 172, 190, 168, 180, 188, 191, 178, 178, 175, 183, 191, 183, 182, 187, 181, 175, 186, 175, 189, 180, 188, 180, 183, 179, 184, 178, 185, 185, 182, 179, 183, 170, 183, 178, 187, 184, 168, 186, 183, 179, 186, 170, 178, 184, 191, 187, 174, 178, 186, 184, 193, 188, 185, 188, 173, 175, 195, 180, 187, 182, 183, 188, 173, 197, 173, 187, 184, 190, 188, 174, 190, 185, 182, 191, 187, 193, 173, 180, 172, 176, 191, 187, 184, 184, 199, 175, 191, 190, 183, 192, 191, 189, 174, 185, 184, 185, 185, 193, 183, 189, 177, 183, 188, 170, 185, 178, 188, 178, 170, 193, 173, 173, 180, 180, 175, 173, 185, 185, 189, 176, 173, 183, 175, 179, 193, 188, 183, 183, 175, 183, 176, 180, 185, 180, 187, 180, 177, 196, 175, 176, 188, 187, 183, 173, 191, 183, 188, 186, 176, 173, 171, 179, 173, 192, 182, 180, 191, 182, 192, 185, 192, 186, 179, 178, 186, 179, 176, 182, 184, 178, 182, 182, 190, 183, 188, 187, 183, 172, 175, 182, 179, 174, 188, 186, 174, 191, 180, 188, 183, 183, 184, 180, 175, 188, 181, 188, 186, 188, 175, 188, 178, 180, 175, 185, 185, 176, 184, 173, 182, 176, 185, 194, 185, 177, 184, 171, 186, 184, 178, 180, 187, 186, 180, 190, 188, 182, 174, 193, 178, 184, 170, 166, 176, 168, 200, 180, 182, 192, 167, 186, 178, 175, 174, 188, 184, 189, 174, 193, 182, 194, 183, 170, 170, 173, 184, 178, 177, 178, 172, 169, 191, 175, 176, 178, 183, 181, 175, 191, 181, 177, 170, 180, 184, 186, 178, 191, 183, 178, 188, 180, 178, 178, 193, 177, 183, 179, 170, 183, 179, 184, 184, 174, 190, 191, 188, 180, 185, 183, 194, 183, 178, 180, 183, 171, 178, 184, 190, 185, 185, 173, 188, 185, 178, 173, 189, 194, 169, 179, 170, 183, 188, 173, 190, 182, 191, 176, 179, 192, 189, 183, 180, 178, 194, 178, 180, 185, 183, 184, 181, 184, 170, 183, 179, 179, 172, 178, 188, 187, 170, 178, 186, 180, 185, 175, 173, 175, 173, 167, 173, 181, 188, 180, 180, 184, 164, 170, 179, 179, 173, 178, 182, 187, 179, 175, 191, 180, 180, 183, 172, 187, 179, 184, 167, 182, 175, 193, 188, 189, 182, 165, 173, 181, 183, 180, 180, 183, 183, 183, 180, 173, 180, 190, 185, 183, 167, 191, 185, 185, 182, 178, 183, 183, 184, 189, 182, 186, 178, 187, 182, 185, 182, 191, 185, 185, 191, 173, 180, 168, 187, 182, 183, 183, 186, 174, 193, 188, 185, 199, 186, 174, 170, 189, 186, 176, 178, 188, 175, 178, 173, 177, 189, 178, 183, 176, 185, 198, 175, 183, 180, 194, 175, 181, 174, 183, 188, 185, 175, 174, 171, 175, 189, 182, 189, 177, 183, 185, 183, 178, 185, 177, 175, 172, 181, 170, 179, 170, 164, 166, 176, 176, 191, 169, 175, 184, 184, 168, 178, 179, 177, 185, 171, 179, 173, 182, 183, 193, 191, 189, 176, 185, 177, 172, 177, 188, 178, 185, 181, 175, 181, 183, 175, 177, 180, 181, 174, 182, 185, 173, 185, 173, 188, 189, 188, 173, 180, 182, 190, 180, 181, 174, 184, 182, 177, 182, 188, 175, 176, 184, 187, 193, 175, 185, 181, 186, 182, 180, 178, 182, 175, 184, 184, 182, 180, 182, 178, 183, 168, 183, 186, 191, 185, 177, 186, 172, 181, 176, 181, 185, 185, 182, 185, 177, 177, 180, 175, 188, 174, 177, 179, 171, 170, 185, 186, 168, 180, 185, 176, 182, 188, 180, 179, 194, 181, 181, 181, 188, 182, 177, 191, 176, 182, 183, 176, 184, 175, 196, 177, 175, 179, 187, 181, 175, 174, 178, 192, 178, 183, 182, 167, 187, 185, 179, 166, 180, 190, 176, 177, 171, 181, 187, 185, 176, 174, 179, 188, 178, 173, 188, 180, 178, 185, 177, 172, 178, 184, 193, 185, 187, 190, 188, 189, 177, 180, 175, 180, 178, 185, 194, 188, 182, 170, 176, 190, 168, 186, 172, 177, 176, 181, 185, 175, 180, 185, 186, 193, 178, 185, 189, 190, 185, 182, 191, 178, 187, 175, 193, 178, 182, 179, 178, 187, 174, 179, 191, 170, 178, 180, 193, 182, 176, 176, 176, 186, 187, 175, 187, 187, 176, 184, 173, 186, 190, 191, 187, 186, 196, 186, 175, 194, 184, 193, 192, 172, 179, 190, 183, 192, 182, 184, 183, 186, 172, 172, 175, 192, 187, 198, 178, 172, 190, 185, 182, 196, 185, 182, 183, 184, 188, 181, 175, 176, 175, 191, 190, 174, 184, 180, 181, 184, 177, 183, 174, 180, 175, 179, 179, 177, 177, 175, 175, 182, 188, 172, 181, 185, 176, 180, 180, 195, 178, 180, 183, 186, 185, 175, 181, 180, 186, 188, 189, 193, 190, 185, 189, 191, 187, 182, 192, 181, 170, 183, 176, 188, 191, 177, 172, 177, 188, 181, 178, 178, 168, 178, 182, 189, 174, 185, 185, 183, 186, 188, 182, 186, 174, 179, 187, 185, 177, 188, 192, 183, 172, 191, 184, 168, 186, 177, 180, 199, 189, 180, 189, 178, 172, 185, 180, 171, 190, 186, 185, 173, 178, 179, 182, 184, 182, 179, 196, 182, 185, 184, 180, 179, 178, 185, 178, 184, 173, 171, 172, 185, 184, 178, 180, 175, 185, 188, 196, 180, 173, 178, 175, 182, 188, 183, 185, 177, 183, 190, 184, 186, 175, 188, 188, 171, 183, 185, 196, 185, 170, 183, 183, 170, 173, 180, 180, 188, 185, 178, 173, 185, 185, 180, 188, 185, 177, 182, 185, 184, 177, 168, 183, 188, 188, 171, 188, 191, 186, 183, 184, 180, 177, 187, 178, 180, 179, 189, 192, 187, 186, 185, 193, 179, 185, 190, 182, 185, 180, 185, 191, 173, 191, 177, 183, 175, 198, 185, 173, 178, 180, 193, 178, 176, 175, 180, 182, 191, 175, 177, 184, 185, 185, 198, 180, 188, 176, 185, 193, 173, 173, 185, 191, 188, 178, 183, 191, 192, 178, 183, 192, 175, 180, 165, 180, 180, 178, 182, 181, 192, 186, 186, 170, 183, 186, 185, 178, 189, 189, 181, 175, 172, 187, 185, 175, 180, 178, 191, 180, 188, 193, 169, 180, 170, 185, 185, 188, 180, 175, 180, 183, 175, 177, 174, 182, 184, 180, 184, 180, 178, 183, 184, 193, 175, 174, 175, 188, 183, 185, 178, 188, 175, 172, 185, 186, 186, 182, 177, 185, 176, 175, 180, 172, 175, 182, 186, 176, 182, 175, 183, 180, 184, 190, 188, 186, 185, 172, 175, 172, 172, 182, 174, 188, 190, 194, 168, 185, 188, 183, 185, 185, 178, 171, 173, 180, 200, 178, 178, 164, 182, 186, 195, 191, 186, 185, 173, 180, 185, 177, 178, 180, 184, 186, 183, 186, 183, 174, 178, 181, 183, 185, 174, 184, 192, 181, 174, 186, 191, 180, 188, 188, 188, 182, 193, 193, 179, 183, 182, 182, 183, 184, 184, 185, 168, 175, 185, 173, 181, 184, 186, 191, 179, 181, 183, 181, 196, 184, 186, 184, 181, 188, 180, 186, 180, 183, 184, 189, 182, 185, 183, 186, 193, 188, 188, 188, 180, 193, 186, 185, 185, 183, 180, 198, 178, 178, 185, 180, 182, 182, 185, 173, 180, 185, 191, 175, 180, 174, 183, 183, 181, 190, 169, 170, 182, 172, 180, 182, 186, 183, 191, 185, 185, 178, 188, 187, 175, 180, 198, 190, 192, 183, 190, 181, 170, 189, 186, 188, 178, 186, 180, 175, 180, 163, 182, 177, 183, 177, 172, 173, 165, 172, 173, 177, 184, 183, 179, 174, 170, 192, 188, 191, 191, 185, 191, 175, 185, 185, 178, 165, 163, 180, 178, 180, 175, 179, 176, 183, 186, 180, 187, 171, 170, 177, 185, 176, 182, 176, 180, 170, 183, 183, 180, 192, 178, 178, 180, 180, 165, 168, 192, 178, 185, 179, 181, 193, 186, 175, 175, 191, 190, 175, 172, 176, 189, 184, 166, 180, 183, 193, 187, 175, 190, 184, 184, 177, 178, 176, 171, 183, 184, 176, 189, 180, 181, 170, 187, 185, 173, 183, 180, 172, 178, 183, 180, 180, 187, 178, 179, 187, 179, 181, 182, 182, 187, 180, 190, 178, 174, 190, 173, 185, 173, 189, 193, 184, 185, 171, 192, 177, 180, 174, 179, 180, 172, 196, 175, 185, 178, 175, 186, 178, 185, 188, 182, 188, 183, 189, 185, 193, 190, 177, 193, 184, 176, 181, 192, 185, 174, 193, 176, 185, 188, 179, 187, 192, 183, 188, 178, 185, 178, 169, 184, 193, 173, 185, 177, 178, 185, 186, 183, 182, 183, 178, 183, 165, 178, 177, 182, 180, 190, 179, 177, 184, 183, 183, 177, 179, 188, 186, 187, 175, 186, 182, 182, 189, 184, 176, 180, 172, 189, 174, 185, 190, 186, 177, 183, 180, 178, 191, 185, 178, 189, 189, 190, 185, 187, 185, 178, 176, 176, 173, 176, 188, 178, 193, 181, 197, 180, 186, 178, 184, 187, 184, 190, 185, 190, 187, 180, 184, 171, 196, 185, 176, 186, 193, 173, 178, 183, 168, 186, 184, 189, 177, 170, 189, 188, 176, 183, 178, 183, 173, 180, 181, 178, 179, 190, 177, 187, 174, 184, 179, 188, 190, 190, 176, 187, 173, 180, 168, 170, 188, 184, 180, 185, 176, 179, 180, 176, 185, 175, 170, 170, 180, 187, 172, 178, 182, 180, 181, 180, 180, 200, 186, 178, 186, 191, 176, 178, 183, 184, 175, 181, 165, 173, 171, 180, 178, 175, 185, 180, 177, 190, 178, 191, 185, 188, 173, 183, 184, 176, 177, 184, 178, 183, 180, 187, 182, 172, 166, 185, 185, 180, 197, 181, 188, 181, 178, 183, 176, 185, 178, 190, 178, 196, 188, 187, 183, 172, 183, 198, 186, 191, 184, 189, 178, 182, 182, 178, 180, 169, 177, 172, 175, 178, 187, 187, 185, 187, 173, 188, 176, 170, 185, 184, 173, 185, 180, 187, 180, 190, 180, 183, 176, 167, 171, 185, 175, 182, 186, 178, 172, 177, 175, 181, 185, 189, 182, 182, 182, 178, 185, 183, 188, 177, 178, 192, 182, 195, 183, 180, 177, 180, 178, 178, 182, 188, 182, 188, 188, 178, 178, 183, 175, 183, 179, 178, 191, 197, 180, 178, 188, 187, 185, 188, 187, 184, 183, 171, 184, 188, 185, 175, 191, 185, 183, 173, 180, 191, 183, 186, 180, 183, 193, 176, 185, 188, 188, 191, 185, 184, 176, 188, 187, 176, 193, 181, 177, 183, 184, 181, 185, 183, 192, 185, 175, 180, 183, 182, 173, 196, 180, 188, 185, 194, 172, 175, 178, 182, 193, 188, 178, 178, 178, 180, 189, 177, 186, 185, 183, 186, 176, 185, 183, 175, 178, 187, 190, 190, 184, 187, 173, 185, 173, 193, 188, 183, 185, 174, 183, 175, 180, 186, 180, 185, 178, 188, 178, 186, 188, 180, 183, 192, 185, 188, 180, 183, 185, 183, 188, 180, 174, 175, 178, 185, 180, 188, 180, 180, 185, 185, 173, 180, 183, 174, 186, 183, 180, 188, 176, 184, 180, 188, 176, 188, 173, 188, 180, 180, 178, 186, 187, 188, 176, 182, 189, 187, 184, 188, 180, 197, 178, 174, 180, 175, 170, 180, 183, 185, 180, 185, 179, 183, 185, 193, 188, 175, 190, 180, 170, 175, 185, 170, 187, 180, 179, 165, 184, 184, 183, 186, 174, 170, 180, 185, 172, 175, 175, 175, 173, 185, 173, 185, 188, 188, 185, 180, 173, 183, 181, 174, 187, 179, 194, 183, 170, 170, 173, 180, 187, 187, 187, 185, 185, 182, 170, 186, 178, 187, 180, 179, 178, 180, 180, 171, 188, 180, 186, 185, 178, 188, 187, 180, 175, 170, 183, 179, 186, 191, 172, 193, 191, 186, 175, 187, 182, 181, 169, 188, 186, 183, 183, 180, 184, 183, 171, 183, 183, 174, 191, 193, 183, 178, 167, 178, 183, 173, 180, 163, 188, 181, 188, 188, 188, 184, 191, 178, 175, 193, 185, 165, 175, 183, 191, 183, 185, 183, 185, 180, 178, 180, 174, 180, 180, 191, 178, 185, 183, 178, 178, 183, 188, 183, 183, 180, 168, 183, 183, 191, 183, 185, 182, 185, 173, 188, 178, 175, 188, 190, 182, 174, 175, 176, 188, 183, 185, 180, 182, 194, 175, 185, 176, 180, 192, 184, 183, 173, 189, 190, 187, 179, 171, 185, 178, 189, 175, 181, 196, 176, 177, 184, 183, 184, 187, 188, 183, 183, 175, 196, 188, 183, 185, 192, 191, 183, 185, 177, 174, 176, 182, 183, 181, 177, 176, 187, 180, 182, 168, 180, 183, 173, 185, 178, 172, 178, 183, 180, 174, 185, 183, 174, 186, 183, 184, 178, 184, 188, 180, 162, 183, 183, 170, 177, 190, 175, 183, 179, 175, 188, 176, 180, 188, 180, 190, 180, 175, 191, 196, 185, 175, 167, 186, 167, 185, 186, 186, 168, 165, 179, 170, 189, 175, 184, 169, 186, 182, 175, 186, 172, 181, 177, 186, 176, 193, 175, 189, 180, 170, 184, 169, 178, 173, 186, 192, 173, 184, 185, 188, 180, 175, 190, 175, 181, 166, 191, 174, 180, 185, 193, 180, 183, 176, 180, 178, 193, 185, 175, 185, 190, 185, 188, 185, 188, 182, 176, 193, 180, 182, 183, 184, 185, 187, 185, 172, 188, 180, 174, 176, 181, 180, 179, 171, 184, 187, 193, 193, 187, 183, 180, 184, 202, 182, 176, 175, 176, 180, 180, 185, 177, 185, 167, 178, 184, 183, 181, 190, 184, 180, 180, 183, 178, 176, 187, 171, 185, 189, 193, 184, 174, 187, 192, 180, 178, 175, 188, 175, 177, 188, 185, 180, 192, 182, 178, 185, 173, 180, 178, 170, 193, 178, 176, 181, 178, 180, 178, 178, 188, 178, 183, 188, 175, 180, 188, 189, 195, 176, 178, 173, 182, 187, 183, 176, 187, 191, 180, 185, 189, 180, 186, 182, 188, 191, 195, 186, 191, 186, 177, 179, 185, 179, 192, 180, 186, 171, 178, 178, 181, 175, 182, 185, 190, 183, 193, 182, 178, 179, 172, 185, 176, 183, 175, 185, 184, 176, 180, 186, 185, 172, 186, 173, 184, 191, 196, 188, 188, 182, 186, 184, 176, 185, 178, 184, 181, 180, 180, 174, 183, 182, 173, 175, 178, 185, 175, 190, 180, 188, 178, 182, 175, 170, 181, 186, 170, 169, 177, 180, 183, 178, 177, 172, 175, 189, 180, 182, 179, 178, 188, 197, 168, 180, 187, 173, 180, 178, 175, 183, 198, 191, 191, 169, 179, 173, 178, 174, 182, 176, 186, 178, 175, 174, 180, 185, 185, 177, 183, 187, 185, 183, 185, 178, 188, 189, 191, 178, 178, 185, 193, 178, 180, 175, 178, 183, 172, 188, 183, 183, 185, 173, 191, 183, 174, 180, 178, 185, 185, 184, 184, 198, 178, 175, 180, 180, 175, 178, 183, 186, 185, 180, 178, 179, 183, 194, 171, 183, 181, 192, 191, 176, 178, 183, 172, 174, 185, 176, 188, 193, 175, 185, 180, 193, 191, 173, 175, 175, 181, 184, 176, 175, 185, 173, 193, 180, 180, 185, 185, 191, 180, 178, 178, 183, 174, 180, 185, 175, 196, 188, 186, 180, 176, 188, 175, 185, 185, 178, 191, 185, 178, 178, 183, 175, 175, 185, 186, 181, 185, 191, 186, 176, 178, 183, 171, 172, 190, 183, 184, 175, 185, 182, 188, 183, 187, 188, 181, 178, 174, 172, 178, 173, 185, 187, 188, 174, 179, 185, 185, 175, 183, 178, 161, 172, 179, 187, 177, 184, 185, 168, 180, 178, 185, 179, 172, 185, 190, 184, 174, 185, 193, 185, 175, 176, 173, 175, 181, 178, 185, 183, 170, 187, 182, 182, 185, 184, 189, 188, 178, 196, 186, 183, 179, 169, 181, 186, 187, 158, 188, 180, 174, 178, 185, 178, 191, 180, 180, 173, 173, 173, 175, 173, 173, 171, 169, 177, 178, 190, 181, 182, 180, 180, 190, 189, 181, 177, 183, 191, 181, 180, 185, 170, 185, 178, 187, 179, 172, 185, 183, 170, 187, 175, 193, 192, 184, 188, 183, 183, 178, 178, 173, 186, 169, 188, 191, 198, 190, 178, 183, 178, 183, 179, 183, 187, 181, 178, 181, 180, 178, 174, 167, 180, 170, 183, 177, 178, 187, 176, 186, 177, 191, 178, 175, 169, 188, 168, 180, 179, 182, 180, 181, 171, 178, 176, 186, 178, 180, 178, 191, 186, 183, 179, 201, 188, 178, 176, 190, 177, 181, 180, 188, 188, 186, 188, 189, 184, 188, 177, 176, 182, 188, 178, 170, 185, 190, 190, 187, 183, 176, 176, 181, 185, 173, 184, 176, 180, 177, 184, 179, 182, 183, 181, 185, 190, 181, 172, 196, 184, 190, 178, 183, 183, 190, 185, 180, 183, 181, 188, 185, 180, 170, 188, 186, 178, 180, 175, 182, 176, 189, 183, 174, 182, 192, 188, 180, 189, 193, 188, 188, 185, 173, 188, 183, 187, 180, 188, 179, 173, 183, 178, 173, 190, 170, 181, 186, 180, 178, 178, 183, 180, 175, 183, 180, 181, 181, 180, 187, 185, 188, 184, 183, 179, 177, 184, 180, 184, 188, 170, 178, 175, 188, 175, 183, 175, 192, 186, 185, 192, 193, 182, 175, 165, 188, 182, 165, 172, 172, 185, 178, 183, 180, 187, 183, 193, 191, 182, 191, 181, 180, 176, 187, 167, 178, 186, 185, 188, 182, 178, 175, 170, 170, 178, 184, 168, 183, 187, 183, 188, 175, 180, 175, 183, 184, 180, 188, 180, 188, 183, 178, 193, 180, 186, 192, 180, 180, 175, 194, 170, 173, 178, 183, 185, 191, 176, 180, 185, 185, 193, 187, 177, 176, 180, 184, 178, 184, 176, 172, 178, 175, 170, 175, 187, 171, 175, 181, 180, 178, 178, 171, 185, 180, 188, 170, 184, 180, 175, 183, 178, 181, 172, 181, 174, 173, 182, 175, 196, 187, 185, 178, 173, 185, 178, 188, 192, 179, 177, 177, 185, 186, 188, 186, 182, 169, 176, 188, 189, 175, 186, 173, 174, 176, 180, 179, 178, 188, 172, 175, 190, 185, 188, 186, 183, 180, 190, 185, 185, 175, 184, 175, 178, 188, 178, 195, 192, 184, 184, 181, 185, 177, 178, 188, 173, 180, 183, 183, 183, 178, 188, 180, 185, 186, 175, 183, 192, 190, 188, 179, 185, 190, 171, 182, 175, 180, 185, 180, 180, 185, 177, 168, 168, 190, 175, 188, 182, 178, 183, 183, 173, 187, 182, 173, 186, 185, 188, 178, 178, 176, 180, 181, 185, 166, 189, 182, 179, 184, 173, 174, 178, 185, 182, 169, 183, 192, 180, 179, 180, 183, 181, 168, 185, 182, 188, 172, 183, 191, 180, 176, 173, 181, 183, 181, 179, 194, 172, 174, 173, 183, 181, 185, 181, 168, 181, 180, 193, 188, 172, 187, 180, 191, 175, 182, 172, 186, 186, 184, 174, 189, 172, 185, 185, 181, 185, 173, 185, 190, 191, 180, 179, 193, 169, 185, 188, 180, 178, 170, 183, 172, 174, 175, 187, 178, 189, 194, 170, 188, 179, 194, 187, 183, 183, 191, 170, 183, 173, 175, 185, 178, 180, 189, 168, 172, 184, 192, 174, 184, 177, 176, 179, 187, 182, 188, 184, 189, 168, 183, 178, 180, 180, 176, 174, 189, 179, 183, 186, 183, 173, 175, 183, 173, 187, 171, 178, 190, 183, 175, 191, 180, 178, 190, 167, 171, 181, 184, 173, 185, 182, 185, 175, 173, 184, 166, 181, 192, 174, 178, 178, 189, 184, 193, 183, 186, 191, 180, 183, 180, 189, 184, 185, 172, 183, 180, 185, 176, 170, 188, 187, 184, 184, 183, 185, 190, 182, 186, 190, 180, 182, 180, 183, 185, 191, 189, 178, 188, 180, 183, 173, 174, 173, 169, 178, 173, 185, 180, 186, 190, 194, 178, 193, 179, 185, 178, 184, 188, 175, 166, 179, 178, 175, 190, 183, 174, 172, 172, 187, 172, 180, 182, 193, 199, 192, 192, 167, 184, 185, 190, 184, 183, 189, 183, 183, 182, 168, 173, 184, 168, 183, 183, 179, 187, 180, 189, 185, 178, 176, 179, 182, 178, 188, 187, 182, 183, 191, 179, 190, 169, 186, 172, 186, 186, 185, 192, 186, 193, 174, 184, 187, 180, 180, 182, 172, 176, 183, 185, 179, 176, 182, 187, 184, 188, 184, 181, 190, 185, 180, 182, 183, 184, 190, 186, 176, 182, 182, 170, 186, 168, 178, 183, 198, 189, 182, 192, 165, 179, 190, 178, 170, 177, 171, 186, 183, 185, 186, 185, 187, 183, 190, 184, 181, 182, 185, 183, 184, 182, 188, 185, 184, 192, 191, 183, 173, 163, 183, 170, 180, 186, 189, 176, 183, 174, 183, 178, 175, 175, 183, 175, 178, 184, 192, 183, 170, 186, 178, 186, 180, 178, 190, 180, 180, 191, 176, 180, 170, 181, 180, 189, 188, 180, 196, 202, 195, 180, 187, 190, 178, 178, 191, 186, 175, 180, 184, 185, 186, 174, 172, 176, 191, 178, 183, 178, 184, 168, 192, 177, 177, 184, 175, 180, 179, 182, 184, 173, 180, 180, 178, 174, 186, 184, 188, 181, 173, 183, 175, 192, 183, 183, 183, 183, 196, 172, 191, 192, 170, 178, 187, 188, 185, 176, 184, 189, 180, 194, 177, 168, 184, 174, 188, 180, 184, 184, 188, 180, 185, 180, 177, 170, 194, 202, 176, 180, 170, 175, 170, 175, 188, 174, 173, 186, 178, 185, 180, 180, 174, 186, 183, 183, 177, 183, 183, 180, 180, 172, 189, 180, 178, 180, 180, 183, 187, 182, 188, 193, 183, 179, 178, 180, 179, 182, 183, 178, 176, 170, 188, 178, 185, 180, 188, 185, 192, 183, 193, 181, 175, 185, 178, 194, 187, 178, 188, 170, 170, 180, 184, 185, 175, 180, 186, 189, 195, 188, 168, 183, 193, 183, 185, 188, 183, 186, 186, 174, 175, 180, 184, 175, 175, 175, 184, 170, 180, 176, 187, 193, 184, 183, 189, 191, 178, 185, 180, 180, 191, 183, 178, 193, 178, 184, 179, 173, 188, 180, 178, 187, 179, 187, 178, 183, 175, 187, 171, 188, 171, 183, 187, 188, 176, 169, 174, 191, 177, 168, 184, 183, 191, 191, 179, 170, 177, 191, 180, 186, 196, 171, 178, 185, 186, 180, 181, 187, 179, 175, 172, 188, 191, 197, 193, 165, 186, 195, 186, 181, 186, 185, 182, 175, 180, 174, 180, 180, 185, 185, 173, 178, 174, 193, 181, 172, 193, 187, 186, 168, 178, 183, 178, 169, 182, 176, 174, 179, 181, 179, 183, 188, 185, 193, 185, 181, 185, 183, 183, 175, 181, 172, 181, 178, 172, 184, 188, 186, 175, 178, 160, 184, 174, 178, 191, 176, 188, 171, 177, 181, 189, 175, 181, 183, 174, 186, 187, 181, 188, 187, 186, 173, 177, 187, 179, 188, 170, 178, 185, 175, 191, 185, 183, 173, 175, 182, 184, 185, 180, 183, 188, 171, 176, 180, 186, 178, 188, 186, 186, 193, 185, 181, 178, 183, 177, 183, 183, 176, 180, 183, 185, 172, 186, 177, 188, 168, 190, 188, 176, 195, 178, 181, 179, 187, 180, 179, 182, 184, 187, 180, 170, 195, 181, 178, 190, 169, 173, 181, 191, 193, 187, 183, 191, 188, 175, 192, 181, 183, 180, 185, 182, 185, 188, 184, 182, 191, 183, 190, 194, 177, 182, 184, 181, 175, 180, 178, 184, 175, 180, 181, 170, 183, 189, 176, 183, 174, 186, 194, 184, 181, 187, 181, 180, 181, 184, 191, 180, 175, 185, 168, 176, 180, 173, 176, 179, 182, 173, 181, 188, 186, 174, 183, 175, 183, 173, 181, 189, 188, 190, 174, 174, 186, 180, 180, 188, 175, 185, 190, 183, 183, 173, 180, 188, 183, 193, 178, 177, 187, 179, 184, 187, 180, 182, 191, 180, 176, 175, 170, 190, 184, 188, 184, 187, 175, 185, 173, 183, 187, 194, 180, 183, 175, 186, 184, 180, 183, 181, 173, 183, 190, 190, 182, 188, 173, 183, 190, 173, 183, 180, 184, 188, 188, 187, 183, 184, 188, 192, 178, 190, 172, 180, 176, 186, 174, 190, 183, 186, 184, 182, 180, 173, 182, 184, 178, 188, 182, 178, 184, 193, 186, 186, 191, 180, 188, 182, 191, 189, 184, 193, 177, 177, 183, 186, 173, 185, 171, 168, 184, 170, 175, 180, 173, 170, 188, 185, 190, 179, 193, 178, 182, 180, 190, 189, 183, 181, 186, 188, 189, 188, 187, 193, 191, 186, 168, 183, 182, 192, 193, 188, 191, 180, 188, 186, 176, 184, 182, 192, 184, 180, 175, 184, 173, 177, 182, 187, 192, 185, 170, 180, 171, 174, 183, 186, 188, 182, 190, 186, 180, 190, 175, 185, 181, 172, 189, 165, 173, 170, 189, 183, 180, 174, 173, 170, 182, 181, 160, 176, 178, 163, 179, 174, 191, 176, 171, 180, 173, 190, 193, 186, 183, 181, 178, 167, 179, 178, 180, 183, 182, 171, 188, 175, 182, 180, 183, 191, 183, 188, 172, 176, 180, 194, 196, 170, 186, 175, 186, 180, 192, 169, 179, 183, 175, 183, 173, 190, 191, 180, 174, 185, 184, 186, 173, 188, 192, 176, 181, 197, 169, 174, 171, 178, 175, 174, 188, 181, 180, 175, 193, 186, 184, 175, 180, 171, 188, 180, 178, 171, 192, 194, 180, 183, 175, 180, 183, 185, 176, 185, 170, 185, 186, 183, 190, 178, 183, 179, 174, 179, 182, 183, 183, 187, 181, 164, 178, 190, 183, 191, 172, 188, 190, 183, 180, 186, 186, 183, 178, 170, 179, 175, 193, 183, 183, 175, 186, 178, 182, 183, 184, 170, 183, 182, 193, 188, 184, 187, 182, 178, 178, 183, 183, 183, 188, 194, 182, 174, 185, 175, 185, 193, 182, 187, 180, 175, 182, 187, 168, 173, 178, 191, 168, 180, 172, 178, 178, 178, 176, 183, 190, 187, 183, 185, 193, 178, 188, 170, 185, 187, 175, 175, 184, 176, 183, 185, 187, 174, 175, 190, 173, 187, 186, 178, 189, 178, 182, 178, 182, 191, 197, 176, 168, 180, 173, 183, 177, 184, 180, 186, 191, 180, 194, 182, 180, 182, 177, 178, 187, 184, 190, 185, 175, 175, 178, 184, 188, 184, 180, 187, 186, 193, 186, 195, 184, 191, 183, 168, 178, 184, 170, 187, 180, 187, 190, 173, 181, 185, 183, 188, 189, 181, 184, 178, 187, 187, 184, 173, 186, 168, 184, 181, 175, 185, 175, 208, 191, 176, 178, 192, 174, 181, 192, 176, 193, 185, 182, 179, 185, 178, 183, 180, 188, 180, 183, 184, 191, 171, 183, 178, 178, 177, 183, 178, 174, 175, 178, 185, 175, 172, 185, 185, 188, 180, 195, 180, 194, 180, 170, 183, 188, 175, 194, 180, 173, 175, 179, 184, 183, 185, 187, 182, 189, 190, 174, 170, 179, 174, 191, 179, 173, 172, 188, 188, 198, 172, 175, 185, 185, 173, 183, 188, 194, 183, 176, 193, 175, 187, 182, 185, 176, 178, 191, 185, 178, 185, 191, 185, 181, 178, 180, 182, 183, 177, 185, 175, 175, 185, 185, 183, 191, 184, 187, 180, 175, 180, 179, 167, 180, 180, 182, 188, 179, 178, 192, 185, 178, 183, 180, 182, 178, 188, 179, 185, 186, 186, 174, 179, 180, 179, 170, 186, 186, 189, 191, 182, 196, 185, 175, 178, 188, 180, 170, 188, 191, 179, 175, 185, 196, 181, 189, 185, 186, 178, 185, 185, 183, 193, 185, 178, 177, 174, 188, 193, 183, 183, 180, 186, 180, 185, 183, 168, 187, 191, 172, 178, 185, 185, 193, 175, 191, 165, 179, 169, 166, 180, 178, 188, 173, 179, 192, 178, 170, 176, 180, 180, 191, 185, 186, 180, 172, 170, 185, 187, 184, 190, 180, 180, 183, 174, 177, 174, 171, 186, 183, 178, 185, 185, 180, 182, 183, 184, 187, 169, 180, 175, 178, 178, 170, 193, 183, 176, 185, 188, 182, 177, 183, 191, 185, 183, 189, 177, 183, 194, 176, 171, 179, 186, 188, 165, 181, 186, 180, 183, 185, 184, 185, 180, 174, 173, 194, 182, 176, 185, 177, 176, 183, 187, 183, 184, 183, 190, 190, 181, 182, 181, 171, 183, 177, 178, 180, 180, 172, 176, 178, 179, 194, 191, 175, 188, 186, 183, 184, 186, 188, 193, 173, 181, 180, 178, 173, 183, 168, 182, 190, 188, 180, 177, 182, 180, 195, 196, 176, 182, 196, 174, 173, 182, 176, 175, 186, 180, 173, 180, 190, 176, 182, 182, 180, 162, 174, 192, 180, 183, 170, 185, 180, 187, 181, 188, 172, 172, 179, 182, 180, 181, 175, 169, 199, 180, 173, 181, 192, 177, 178, 173, 185, 179, 196, 176, 185, 187, 184, 179, 183, 188, 192, 188, 190, 185, 180, 180, 187, 182, 194, 177, 180, 183, 168, 186, 173, 197, 182, 179, 183, 194, 176, 181, 165, 186, 180, 186, 178, 187, 171, 180, 178, 177, 183, 179, 192, 189, 180, 190, 180, 168, 183, 185, 186, 183, 178, 185, 185, 180, 183, 182, 185, 183, 178, 184, 183, 181, 168, 185, 190, 165, 188, 185, 177, 192, 181, 182, 185, 190, 180, 185, 180, 185, 182, 185, 188, 182, 183, 191, 175, 172, 183, 193, 178, 183, 186, 186, 176, 187, 181, 179, 183, 179, 179, 186, 178, 183, 184, 176, 181, 185, 178, 178, 180, 188, 190, 182, 197, 172, 189, 178, 186, 192, 186, 180, 184, 185, 186, 186, 178, 190, 202, 183, 174, 166, 176, 178, 186, 189, 180, 176, 168, 175, 174, 196, 185, 190, 182, 188, 178, 173, 190, 178, 180, 180, 188, 174, 180, 188, 192, 180, 188, 176, 193, 180, 183, 187, 184, 170, 190, 173, 183, 175, 187, 182, 185, 178, 188, 170, 183, 177, 190, 173, 179, 169, 183, 191, 180, 183, 195, 178, 182, 185, 174, 173, 183, 193, 189, 171, 189, 187, 186, 179, 180, 181, 174, 183, 188, 178, 177, 183, 190, 180, 180, 175, 178, 183, 193, 170, 171, 192, 196, 179, 172, 180, 170, 186, 188, 176, 184, 192, 181, 191, 183, 189, 188, 180, 186, 177, 186, 172, 183, 185, 178, 173, 187, 180, 177, 173, 172, 185, 177, 172, 175, 187, 172, 188, 174, 177, 173, 176, 189, 167, 175, 169, 174, 178, 172, 176, 189, 180, 182, 177, 170, 173, 187, 178, 181, 187, 190, 186, 187, 187, 169, 185, 196, 188, 180, 186, 195, 181, 186, 180, 170, 183, 180, 193, 181, 189, 189, 184, 184, 179, 176, 172, 172, 180, 177, 176, 178, 190, 183, 183, 177, 188, 190, 186, 196, 186, 187, 192, 186, 180, 179, 175, 186, 176, 185, 185, 185, 181, 184, 180, 195, 183, 179, 186, 188, 188, 183, 188, 183, 175, 180, 175, 181, 181, 193, 175, 185, 175, 180, 177, 178, 172, 179, 174, 180, 176, 170, 192, 176, 177, 185, 180, 189, 188, 188, 183, 179, 189, 187, 179, 181, 180, 183, 201, 178, 180, 184, 175, 176, 198, 190, 179, 181, 177, 178, 185, 187, 185, 180, 171, 188, 177, 176, 184, 185, 191, 192, 175, 185, 172, 183, 172, 173, 182, 180, 189, 185, 183, 185, 192, 188, 183, 184, 173, 177, 176, 174, 178, 183, 192, 174, 191, 173, 173, 180, 174, 174, 176, 188, 188, 188, 173, 185, 180, 191, 193, 185, 186, 182, 177, 178, 178, 178, 181, 188, 175, 177, 186, 180, 178, 170, 186, 191, 174, 177, 183, 182, 183, 185, 180, 185, 175, 172, 184, 177, 187, 181, 167, 182, 182, 190, 187, 185, 183, 178, 187, 178, 188, 196, 175, 183, 175, 175, 173, 180, 180, 185, 191, 179, 176, 182, 180, 175, 180, 180, 180, 181, 179, 182, 178, 183, 173, 180, 180, 180, 190, 185, 197, 174, 187, 171, 186, 183, 183, 176, 183, 186, 180, 177, 173, 185, 177, 175, 180, 193, 179, 178, 180, 177, 183, 193, 192, 180, 175, 195, 184, 180, 181, 183, 189, 176, 190, 187, 180, 188, 185, 183, 178, 180, 188, 179, 188, 181, 198, 191, 193, 180, 180, 173, 186, 193, 173, 180, 170, 188, 180, 177, 186, 176, 178, 175, 190, 188, 180, 173, 188, 179, 185, 187, 173, 180, 171, 173, 176, 174, 183, 178, 179, 186, 184, 175, 184, 174, 188, 185, 184, 186, 191, 185, 178, 182, 186, 185, 185, 178, 193, 183, 182, 185, 185, 196, 180, 178, 191, 187, 177, 170, 190, 181, 188, 194, 180, 175, 181, 188, 178, 192, 178, 185, 190, 183, 172, 181, 192, 190, 182, 185, 188, 181, 185, 168, 180, 176, 180, 174, 178, 179, 187, 183, 180, 184, 173, 183, 177, 172, 171, 186, 190, 187, 191, 187, 189, 177, 182, 187, 178, 184, 173, 188, 184, 175, 170, 186, 184, 189, 195, 182, 175, 175, 186, 174, 178, 174, 196, 192, 176, 182, 182, 194, 175, 175, 182, 184, 177, 178, 177, 182, 175, 185, 170, 185, 173, 188, 185, 173, 179, 177, 183, 178, 182, 185, 197, 191, 173, 171, 183, 181, 180, 181, 178, 189, 180, 172, 184, 188, 173, 183, 174, 190, 187, 182, 178, 174, 165, 187, 176, 176, 183, 188, 175, 183, 182, 186, 180, 183, 192, 185, 168, 184, 174, 176, 184, 186, 193, 185, 180, 174, 191, 190, 189, 190, 183, 177, 183, 183, 186, 180, 185, 185, 170, 176, 186, 175, 191, 173, 173, 176, 185, 176, 175, 183, 175, 189, 184, 181, 183, 175, 184, 190, 179, 178, 192, 184, 173, 180, 188, 188, 190, 179, 177, 190, 182, 203, 190, 183, 180, 189, 194, 180, 184, 185, 180, 187, 194, 173, 187, 173, 180, 185, 190, 179, 178, 194, 186, 180, 186, 176, 195, 182, 170, 163, 175, 178, 176, 181, 178, 178, 180, 185, 179, 192, 190, 177, 185, 175, 178, 176, 175, 172, 187, 190, 167, 193, 183, 173, 183, 175, 196, 180, 172, 187, 182, 180, 175, 171, 190, 180, 184, 177, 191, 186, 183, 185, 181, 192, 176, 166, 187, 180, 174, 181, 194, 176, 184, 187, 183, 183, 184, 180, 191, 178, 172, 174, 185, 178, 185, 172, 181, 183, 170, 175, 189, 191, 180, 176, 177, 184, 173, 178, 175, 194, 196, 184, 180, 181, 188, 180, 187, 175, 176, 179, 189, 177, 181, 177, 179, 193, 196, 187, 183, 179, 183, 182, 173, 188, 188, 175, 191, 185, 186, 187, 174, 188, 184, 182, 193, 175, 191, 185, 183, 185, 192, 177, 181, 182, 189, 184, 183, 169, 173, 197, 182, 178, 181, 185, 185, 173, 175, 181, 178, 179, 170, 180, 182, 169, 185, 185, 173, 174, 186, 178, 190, 178, 194, 180, 180, 189, 172, 171, 173, 186, 178, 178, 190, 175, 178, 179, 185, 191, 172, 179, 178, 172, 184, 183, 178, 178, 178, 186, 178, 185, 188, 186, 187, 188, 181, 193, 184, 187, 181, 181, 174, 175, 178, 178, 193, 173, 188, 176, 178, 173, 178, 185, 178, 178, 175, 180, 169, 192, 181, 176, 193, 185, 176, 185, 176, 180, 179, 187, 184, 178, 170, 175, 178, 178, 185, 180, 175, 185, 176, 175, 179, 177, 175, 180, 185, 191, 181, 171, 188, 188, 196, 187, 185, 192, 169, 190, 196, 179, 182, 180, 192, 186, 180, 191, 179, 169, 167, 183, 175, 180, 193, 191, 187, 190, 180, 191, 188, 181, 177, 173, 170, 184, 185, 175, 194, 180, 174, 180, 190, 191, 170, 182, 185, 174, 191, 181, 180, 188, 183, 183, 183, 167, 191, 170, 191, 191, 180, 181, 165, 176, 191, 191, 170, 190, 185, 183, 186, 176, 181, 188, 170, 178, 178, 188, 188, 183, 175, 175, 187, 191, 173, 184, 183, 191, 194, 184, 176, 180, 175, 181, 182, 178, 170, 183, 177, 191, 191, 176, 177, 178, 181, 183, 173, 188, 173, 180, 191, 175, 185, 175, 188, 193, 176, 186, 178, 185, 183, 194, 183, 184, 188, 188, 180, 188, 182, 188, 185, 168, 176, 196, 178, 185, 185, 172, 183, 188, 181, 184, 188, 183, 171, 184, 183, 193, 188, 168, 183, 181, 178, 182, 178, 180, 188, 191, 168, 185, 190, 175, 181, 182, 180, 177, 181, 163, 183, 182, 180, 178, 178, 178, 171, 182, 180, 193, 180, 178, 177, 175, 183, 193, 188, 180, 185, 190, 193, 190, 166, 182, 178, 167, 176, 173, 175, 185, 177, 178, 186, 173, 180, 183, 191, 187, 183, 180, 183, 181, 177, 177, 190, 180, 185, 186, 187, 196, 189, 173, 185, 183, 175, 188, 193, 180, 185, 170, 178, 182, 188, 175, 172, 183, 175, 181, 178, 182, 183, 175, 187, 170, 188, 178, 182, 188, 167, 188, 185, 187, 184, 183, 180, 191, 183, 175, 182, 191, 178, 172, 185, 180, 190, 191, 180, 175, 173, 178, 185, 188, 179, 177, 185, 193, 180, 183, 185, 188, 190, 187, 179, 189, 178, 182, 189, 184, 186, 178, 192, 184, 175, 187, 185, 180, 177, 185, 183, 185, 175, 187, 188, 184, 183, 179, 182, 193, 189, 183, 180, 194, 187, 165, 177, 180, 190, 174, 178, 178, 185, 185, 194, 185, 191, 193, 173, 185, 180, 178, 185, 188, 186, 180, 180, 180, 180, 190, 179, 179, 192, 197, 183, 168, 180, 180, 188, 179, 178, 180, 183, 178, 185, 177, 185, 180, 179, 190, 180, 183, 192, 189, 178, 178, 174, 170, 176, 170, 195, 178, 187, 178, 183, 167, 178, 178, 170, 180, 180, 180, 185, 175, 183, 180, 173, 185, 180, 175, 185, 178, 175, 184, 184, 179, 174, 189, 176, 184, 180, 182, 188, 180, 173, 186, 179, 188, 184, 180, 178, 178, 181, 185, 182, 180, 180, 188, 172, 183, 191, 181, 178, 191, 191, 178, 173, 188, 179, 180, 193, 179, 185, 178, 179, 183, 168, 183, 184, 180, 203, 173, 180, 170, 193, 175, 175, 178, 191, 174, 188, 167, 173, 183, 184, 183, 187, 177, 176, 184, 185, 184, 180, 181, 193, 175, 177, 184, 185, 189, 179, 182, 173, 165, 184, 191, 175, 185, 187, 170, 184, 178, 174, 179, 178, 181, 194, 179, 185, 180, 178, 184, 178, 188, 176, 191, 174, 180, 180, 182, 180, 192, 188, 172, 168, 177, 165, 194, 174, 181, 177, 174, 180, 177, 191, 179, 194, 185, 176, 194, 187, 187, 173, 188, 178, 185, 180, 177, 176, 185, 182, 182, 185, 169, 179, 179, 182, 176, 172, 171, 190, 175, 178, 190, 180, 191, 179, 187, 189, 180, 188, 178, 187, 181, 189, 185, 178, 190, 189, 175, 185, 176, 180, 185, 186, 188, 198, 182, 192, 182, 190, 182, 189, 191, 183, 192, 181, 180, 178, 181, 191, 182, 178, 173, 192, 188, 180, 175, 187, 187, 182, 185, 182, 185, 180, 189, 177, 182, 172, 184, 174, 184, 168, 175, 180, 183, 175, 174, 185, 185, 195, 178, 180, 180, 182, 179, 172, 187, 181, 165, 177, 198, 180, 179, 174, 180, 183, 191, 196, 182, 180, 185, 181, 178, 176, 179, 191, 188, 176, 175, 178, 190, 192, 185, 180, 174, 175, 175, 178, 181, 193, 173, 185, 170, 190, 189, 182, 180, 180, 175, 180, 179, 185, 182, 179, 182, 185, 174, 177, 173, 186, 182, 191, 171, 183, 192, 185, 184, 180, 183, 178, 170, 183, 185, 190, 179, 191, 173, 182, 191, 171, 186, 173, 175, 183, 187, 180, 178, 197, 187, 171, 179, 186, 178, 180, 175, 177, 176, 183, 183, 173, 180, 170, 178, 170, 176, 189, 185, 180, 180, 178, 176, 175, 180, 183, 170, 178, 180, 184, 181, 178, 180, 177, 178, 178, 176, 179, 188, 184, 185, 179, 190, 170, 190, 187, 183, 185, 185, 187, 177, 185, 175, 179, 181, 180, 176, 162, 179, 193, 185, 176, 178, 183, 177, 182, 177, 182, 174, 175, 180, 184, 178, 188, 180, 183, 185, 182, 177, 176, 183, 187, 197, 187, 180, 182, 182, 182, 186, 185, 172, 174, 181, 186, 189, 175, 178, 193, 180, 174, 182, 180, 193, 180, 181, 173, 188, 187, 174, 171, 180, 178, 180, 179, 191, 183, 185, 178, 183, 178, 191, 181, 184, 172, 187, 180, 180, 190, 184, 188, 188, 188, 183, 179, 182, 176, 178, 173, 185, 185, 189, 178, 188, 178, 176, 181, 167, 180, 185, 180, 183, 189, 194, 185, 190, 185, 179, 178, 173, 177, 180, 178, 175, 183, 170, 179, 186, 188, 186, 175, 179, 177, 186, 176, 173, 183, 178, 178, 186, 180, 185, 173, 171, 172, 188, 183, 182, 187, 176, 173, 185, 180, 183, 170, 180, 193, 175, 174, 177, 188, 180, 182, 186, 187, 186, 180, 184, 190, 165, 193, 189, 180, 175, 188, 180, 169, 183, 173, 183, 179, 189, 182, 186, 179, 182, 179, 181, 182, 181, 175, 190, 184, 183, 183, 186, 186, 173, 180, 188, 175, 181, 179, 183, 186, 173, 168, 184, 183, 178, 193, 178, 177, 189, 178, 176, 182, 174, 180, 179, 180, 183, 173, 183, 185, 185, 188, 188, 173, 160, 174, 182, 178, 183, 178, 183, 193, 188, 175, 196, 175, 185, 185, 183, 185, 183, 180, 165, 175, 183, 183, 183, 178, 180, 178, 173, 179, 186, 187, 185, 175, 173, 175, 191, 188, 195, 191, 185, 187, 178, 176, 184, 185, 177, 175, 170, 175, 181, 194, 186, 175, 174, 176, 188, 174, 173, 191, 182, 176, 173, 190, 181, 173, 188, 170, 194, 178, 177, 181, 186, 180, 191, 179, 178, 180, 178, 175, 181, 170, 182, 184, 182, 180, 175, 178, 168, 175, 188, 183, 184, 188, 185, 185, 190, 172, 183, 168, 180, 185, 173, 184, 172, 164, 185, 183, 191, 181, 175, 191, 178, 180, 180, 180, 175, 182, 185, 191, 175, 185, 183, 176, 173, 182, 183, 179, 192, 183, 182, 199, 188, 185, 196, 185, 178, 183, 188, 187, 183, 184, 184, 185, 188, 177, 180, 194, 187, 175, 191, 186, 178, 178, 191, 185, 180, 173, 179, 170, 183, 196, 180, 193, 188, 178, 173, 178, 179, 181, 178, 179, 176, 181, 194, 177, 184, 184, 179, 178, 180, 185, 178, 188, 174, 187, 177, 179, 170, 181, 186, 176, 180, 177, 190, 185, 180, 179, 189, 185, 175, 182, 184, 180, 182, 180, 187, 184, 187, 177, 194, 186, 176, 179, 184, 170, 185, 175, 177, 178, 182, 174, 180, 188, 175, 189, 180, 188, 183, 191, 172, 183, 189, 179, 188, 171, 180, 193, 183, 176, 182, 170, 183, 182, 178, 183, 179, 179, 178, 178, 188, 186, 175, 193, 178, 180, 176, 180, 186, 170, 169, 180, 179, 178, 180, 186, 178, 180, 178, 185, 178, 188, 193, 180, 178, 189, 180, 175, 192, 191, 183, 185, 180, 182, 183, 189, 176, 178, 183, 188, 170, 182, 183, 171, 171, 180, 178, 178, 176, 174, 187, 180, 187, 175, 188, 184, 194, 175, 173, 193, 176, 174, 197, 191, 173, 177, 175, 182, 181, 179, 189, 176, 172, 175, 186, 170, 178, 181, 180, 185, 178, 185, 185, 192, 187, 185, 185, 180, 182, 185, 180, 177, 190, 179, 190, 192, 183, 179, 183, 193, 193, 187, 178, 183, 168, 182, 186, 177, 189, 175, 183, 172, 168, 180, 193, 193, 193, 180, 181, 193, 175, 171, 183, 178, 183, 184, 178, 180, 180, 180, 180, 178, 177, 189, 175, 180, 183, 186, 178, 191, 184, 190, 181, 177, 178, 172, 189, 193, 187, 193, 181, 185, 193, 183, 192, 175, 171, 190, 169, 181, 188, 187, 188, 183, 182, 179, 178, 170, 190, 199, 180, 190, 186, 183, 190, 181, 180, 175, 177, 190, 178, 181, 182, 178, 191, 184, 181, 187, 174, 178, 183, 184, 180, 185, 185, 199, 173, 180, 180, 172, 183, 175, 175, 181, 184, 182, 182, 184, 174, 180, 178, 186, 187, 180, 183, 185, 183, 193, 185, 179, 197, 185, 171, 188, 183, 187, 188, 175, 186, 188, 188, 165, 184, 180, 191, 194, 182, 169, 191, 176, 183, 173, 182, 184, 191, 173, 173, 180, 171, 174, 170, 191, 186, 190, 188, 180, 186, 182, 173, 180, 175, 190, 183, 180, 195, 175, 182, 186, 172, 189, 170, 182, 185, 182, 170, 192, 175, 183, 187, 190, 175, 178, 191, 170, 180, 183, 174, 186, 186, 185, 180, 180, 175, 182, 193, 177, 176, 178, 180, 170, 190, 183, 178, 185, 177, 180, 180, 190, 185, 193, 180, 195, 182, 187, 189, 176, 179, 178, 180, 194, 194, 183, 171, 185, 189, 185, 183, 190, 181, 186, 175, 185, 179, 178, 181, 182, 188, 176, 182, 175, 188, 188, 178, 196, 173, 180, 190, 166, 176, 180, 185, 188, 174, 185, 189, 188, 176, 181, 190, 175, 180, 178, 188, 178, 178, 181, 189, 185, 178, 175, 183, 188, 186, 173, 191, 185, 195, 184, 175, 198, 185, 185, 170, 180, 185, 175, 185, 179, 186, 183, 176, 183, 180, 177, 187, 171, 183, 183, 185, 170, 181, 188, 177, 181, 183, 191, 195, 178, 194, 182, 174, 187, 182, 183, 193, 182, 185, 183, 176, 177, 178, 177, 179, 186, 185, 180, 184, 178, 180, 178, 185, 183, 185, 178, 188, 178, 187, 187, 178, 170, 180, 181, 192, 173, 183, 183, 180, 185, 183, 175, 183, 187, 171, 182, 185, 191, 179, 185, 183, 180, 190, 176, 175, 175, 182, 179, 175, 192, 179, 178, 182, 176, 180, 187, 185, 183, 180, 186, 171, 189, 191, 184, 186, 189, 180, 180, 192, 188, 176, 190, 183, 181, 178, 183, 178, 180, 183, 184, 180, 177, 193, 172, 191, 180, 184, 190, 178, 178, 182, 193, 184, 194, 180, 182, 186, 183, 166, 177, 190, 185, 187, 190, 178, 196, 190, 182, 183, 183, 173, 185, 184, 195, 181, 183, 183, 191, 186, 182, 191, 175, 172, 190, 185, 183, 187, 185, 179, 186, 184, 167, 184, 174, 184, 179, 185, 185, 180, 190, 191, 185, 185, 180, 191, 188, 190, 186, 173, 188, 193, 188, 179, 180, 175, 186, 187, 186, 183, 175, 181, 179, 190, 169, 184, 196, 183, 190, 189, 194, 186, 170, 175, 180, 181, 187, 184, 187, 166, 185, 183, 177, 184, 175, 178, 186, 186, 183, 187, 173, 180, 172, 185, 182, 184, 188, 175, 175, 182, 175, 188, 185, 188, 183, 182, 180, 194, 186, 187, 173, 190, 182, 185, 187, 180, 177, 180, 196, 177, 191, 190, 193, 182, 169, 190, 175, 182, 193, 170, 174, 174, 170, 181, 181, 191, 180, 183, 171, 180, 180, 191, 178, 178, 188, 180, 175, 169, 191, 180, 188, 173, 188, 191, 189, 188, 185, 196, 188, 188, 188, 176, 191, 171, 180, 183, 180, 196, 183, 180, 170, 182, 181, 193, 172, 175, 194, 178, 189, 184, 185, 185, 177, 163, 190, 175, 201, 191, 184, 193, 175, 183, 183, 178, 191, 193, 194, 178, 181, 180, 183, 175, 182, 183, 178, 178, 178, 181, 173, 186, 184, 193, 175, 175, 185, 179, 175, 182, 178, 175, 187, 173, 180, 180, 185, 178, 176, 179, 189, 183, 184, 173, 178, 178, 176, 193, 183, 182, 170, 185, 185, 198, 180, 173, 182, 187, 188, 175, 168, 185, 182, 174, 190, 179, 181, 183, 185, 180, 185, 178, 188, 182, 179, 175, 189, 179, 179, 181, 193, 188, 186, 188, 183, 183, 178, 182, 180, 177, 179, 181, 177, 181, 175, 175, 185, 191, 188, 181, 186, 194, 191, 179, 188, 193, 185, 178, 185, 191, 180, 164, 186, 190, 174, 181, 173, 191, 182, 178, 178, 173, 178, 180, 177, 193, 168, 184, 185, 185, 175, 191, 180, 184, 190, 188, 185, 188, 170, 180, 177, 188, 196, 168, 183, 191, 191, 185, 188, 174, 170, 178, 180, 193, 170, 182, 176, 173, 170, 183, 180, 183, 173, 183, 185, 191, 179, 180, 173, 183, 173, 181, 185, 192, 191, 198, 185, 183, 178, 191, 185, 174, 178, 180, 191, 181, 191, 178, 182, 178, 175, 174, 175, 190, 175, 183, 175, 193, 173, 184, 178, 183, 191, 178, 174, 189, 174, 193, 180, 178, 189, 175, 185, 180, 185, 177, 173, 186, 173, 178, 175, 175, 183, 188, 188, 193, 188, 170, 183, 175, 175, 183, 180, 185, 185, 185, 173, 180, 180, 178, 182, 183, 185, 180, 175, 178, 193, 183, 185, 183, 178, 180, 187, 178, 180, 178, 191, 188, 185, 183, 177, 170, 188, 173, 182, 186, 185, 185, 186, 185, 184, 182, 188, 192, 183, 185, 173, 196, 182, 176, 181, 185, 188, 185, 183, 184, 188, 173, 186, 178, 188, 179, 191, 191, 188, 183, 176, 186, 175, 180, 183, 180, 185, 185, 187, 183, 180, 170, 181, 182, 181, 185, 168, 184, 191, 184, 183, 194, 190, 189, 181, 177, 190, 179, 186, 178, 190, 175, 192, 191, 183, 191, 184, 174, 192, 187, 178, 176, 175, 191, 179, 188, 178, 171, 180, 182, 173, 177, 192, 183, 175, 182, 178, 188, 192, 183, 186, 188, 180, 191, 180, 173, 191, 185, 181, 175, 180, 178, 175, 184, 179, 171, 180, 182, 174, 190, 170, 179, 175, 178, 177, 178, 171, 188, 173, 179, 182, 183, 185, 165, 182, 194, 181, 176, 180, 172, 187, 178, 187, 180, 182, 174, 196, 196, 175, 189, 175, 183, 179, 179]
In [45]:
positions = ['GK', 'M', 'A', 'D', 'M', 'D', 'M', 'M', 'M', 'A', 'M', 'M', 'A', 'A', 'A', 'M', 'D', 'A', 'D', 'M', 'GK', 'D', 'D', 'M', 'M', 'M', 'M', 'D', 'M', 'GK', 'D', 'GK', 'D', 'D', 'M', 'A', 'M', 'D', 'M', 'GK', 'M', 'GK', 'A', 'D', 'GK', 'A', 'GK', 'GK', 'GK', 'GK', 'A', 'D', 'A', 'D', 'D', 'M', 'D', 'M', 'D', 'D', 'GK', 'GK', 'D', 'M', 'M', 'GK', 'M', 'D', 'M', 'M', 'D', 'D', 'M', 'M', 'D', 'A', 'A', 'M', 'M', 'M', 'A', 'D', 'D', 'A', 'A', 'M', 'M', 'M', 'D', 'D', 'A', 'A', 'D', 'M', 'M', 'M', 'D', 'M', 'M', 'D', 'M', 'A', 'M', 'M', 'GK', 'M', 'D', 'M', 'M', 'D', 'M', 'M', 'A', 'GK', 'D', 'M', 'GK', 'M', 'M', 'M', 'M', 'D', 'D', 'M', 'D', 'M', 'D', 'M', 'M', 'A', 'M', 'GK', 'A', 'M', 'D', 'M', 'D', 'GK', 'D', 'D', 'M', 'A', 'GK', 'M', 'D', 'A', 'D', 'A', 'A', 'M', 'D', 'M', 'A', 'GK', 'D', 'M', 'GK', 'A', 'D', 'D', 'D', 'GK', 'GK', 'M', 'D', 'GK', 'D', 'M', 'GK', 'A', 'D', 'GK', 'GK', 'D', 'M', 'GK', 'D', 'D', 'D', 'M', 'D', 'M', 'D', 'D', 'A', 'D', 'D', 'D', 'M', 'M', 'A', 'D', 'M', 'M', 'D', 'M', 'A', 'A', 'D', 'A', 'GK', 'M', 'A', 'A', 'D', 'D', 'A', 'D', 'GK', 'D', 'M', 'D', 'D', 'M', 'M', 'GK', 'D', 'M', 'GK', 'GK', 'D', 'M', 'D', 'D', 'M', 'A', 'D', 'D', 'M', 'A', 'A', 'A', 'A', 'A', 'M', 'D', 'D', 'A', 'M', 'GK', 'M', 'GK', 'A', 'A', 'GK', 'M', 'D', 'M', 'D', 'D', 'M', 'M', 'A', 'A', 'D', 'D', 'D', 'M', 'M', 'GK', 'D', 'M', 'M', 'D', 'D', 'D', 'M', 'M', 'M', 'D', 'M', 'A', 'A', 'D', 'D', 'M', 'GK', 'A', 'D', 'D', 'D', 'GK', 'D', 'M', 'D', 'A', 'A', 'GK', 'A', 'D', 'M', 'M', 'GK', 'A', 'A', 'M', 'D', 'A', 'M', 'M', 'M', 'D', 'D', 'D', 'M', 'D', 'A', 'M', 'M', 'M', 'A', 'M', 'M', 'D', 'M', 'D', 'M', 'M', 'A', 'D', 'D', 'M', 'A', 'D', 'D', 'M', 'M', 'M', 'D', 'M', 'D', 'A', 'D', 'D', 'M', 'D', 'A', 'D', 'D', 'GK', 'M', 'M', 'M', 'GK', 'M', 'A', 'D', 'D', 'M', 'A', 'GK', 'M', 'D', 'A', 'M', 'A', 'A', 'A', 'M', 'GK', 'A', 'A', 'M', 'A', 'D', 'D', 'D', 'A', 'GK', 'D', 'D', 'D', 'D', 'GK', 'A', 'GK', 'D', 'D', 'M', 'GK', 'D', 'D', 'D', 'A', 'D', 'D', 'GK', 'D', 'D', 'D', 'GK', 'D', 'GK', 'A', 'M', 'A', 'M', 'A', 'D', 'D', 'D', 'GK', 'GK', 'GK', 'M', 'A', 'M', 'D', 'M', 'A', 'GK', 'M', 'D', 'M', 'M', 'D', 'A', 'GK', 'M', 'A', 'GK', 'GK', 'M', 'A', 'A', 'M', 'GK', 'GK', 'D', 'M', 'A', 'D', 'A', 'D', 'D', 'A', 'D', 'M', 'D', 'D', 'M', 'D', 'A', 'GK', 'D', 'D', 'GK', 'A', 'D', 'D', 'GK', 'D', 'A', 'M', 'A', 'A', 'GK', 'D', 'A', 'D', 'A', 'D', 'GK', 'D', 'D', 'A', 'A', 'M', 'A', 'GK', 'M', 'D', 'A', 'D', 'M', 'M', 'D', 'M', 'GK', 'D', 'M', 'A', 'A', 'M', 'M', 'M', 'GK', 'GK', 'D', 'A', 'M', 'GK', 'D', 'M', 'GK', 'M', 'M', 'GK', 'M', 'D', 'A', 'D', 'M', 'M', 'A', 'M', 'GK', 'A', 'GK', 'A', 'M', 'GK', 'GK', 'D', 'D', 'M', 'M', 'D', 'GK', 'A', 'M', 'GK', 'A', 'GK', 'D', 'D', 'M', 'M', 'M', 'D', 'M', 'M', 'GK', 'M', 'D', 'M', 'D', 'GK', 'M', 'A', 'GK', 'A', 'M', 'M', 'A', 'M', 'M', 'A', 'A', 'A', 'M', 'GK', 'D', 'D', 'M', 'D', 'GK', 'D', 'M', 'M', 'M', 'A', 'D', 'A', 'D', 'A', 'M', 'M', 'D', 'M', 'M', 'D', 'D', 'GK', 'M', 'A', 'GK', 'A', 'A', 'M', 'D', 'GK', 'D', 'M', 'M', 'GK', 'GK', 'D', 'D', 'M', 'D', 'M', 'M', 'M', 'M', 'GK', 'M', 'D', 'M', 'D', 'GK', 'A', 'M', 'D', 'M', 'A', 'A', 'D', 'D', 'D', 'M', 'GK', 'D', 'A', 'M', 'D', 'A', 'GK', 'M', 'D', 'M', 'D', 'A', 'A', 'M', 'A', 'D', 'D', 'M', 'A', 'M', 'M', 'A', 'D', 'GK', 'A', 'M', 'D', 'M', 'A', 'D', 'D', 'D', 'GK', 'D', 'M', 'GK', 'M', 'M', 'GK', 'M', 'M', 'D', 'M', 'D', 'D', 'M', 'D', 'A', 'M', 'D', 'D', 'GK', 'D', 'M', 'M', 'GK', 'GK', 'M', 'D', 'D', 'A', 'GK', 'D', 'D', 'D', 'GK', 'A', 'A', 'D', 'A', 'D', 'M', 'D', 'D', 'A', 'M', 'GK', 'D', 'M', 'D', 'M', 'A', 'A', 'GK', 'M', 'D', 'A', 'D', 'D', 'M', 'A', 'A', 'D', 'M', 'M', 'D', 'A', 'D', 'M', 'A', 'M', 'D', 'D', 'D', 'A', 'GK', 'D', 'D', 'M', 'M', 'A', 'M', 'A', 'D', 'M', 'A', 'A', 'GK', 'A', 'D', 'A', 'M', 'A', 'D', 'D', 'D', 'GK', 'A', 'D', 'D', 'D', 'A', 'A', 'A', 'M', 'GK', 'GK', 'D', 'A', 'GK', 'D', 'A', 'M', 'M', 'D', 'GK', 'M', 'A', 'M', 'D', 'M', 'M', 'M', 'D', 'A', 'GK', 'GK', 'D', 'M', 'D', 'D', 'D', 'M', 'GK', 'M', 'D', 'D', 'D', 'A', 'A', 'GK', 'D', 'D', 'M', 'M', 'D', 'D', 'M', 'M', 'D', 'A', 'M', 'D', 'M', 'M', 'M', 'A', 'GK', 'D', 'D', 'D', 'A', 'M', 'M', 'A', 'M', 'M', 'D', 'M', 'D', 'M', 'A', 'D', 'D', 'M', 'M', 'M', 'D', 'M', 'M', 'D', 'M', 'M', 'M', 'D', 'D', 'A', 'D', 'A', 'A', 'D', 'D', 'M', 'M', 'A', 'A', 'GK', 'A', 'GK', 'M', 'M', 'GK', 'D', 'GK', 'A', 'GK', 'D', 'M', 'GK', 'M', 'D', 'D', 'D', 'GK', 'M', 'GK', 'D', 'D', 'D', 'D', 'GK', 'A', 'M', 'M', 'D', 'GK', 'GK', 'GK', 'D', 'D', 'M', 'D', 'D', 'GK', 'D', 'A', 'D', 'M', 'D', 'D', 'D', 'M', 'D', 'M', 'D', 'M', 'D', 'D', 'M', 'M', 'D', 'D', 'A', 'M', 'D', 'M', 'A', 'M', 'D', 'A', 'M', 'D', 'GK', 'D', 'D', 'A', 'D', 'M', 'D', 'GK', 'A', 'D', 'A', 'M', 'A', 'A', 'GK', 'D', 'M', 'D', 'A', 'D', 'A', 'M', 'M', 'D', 'D', 'D', 'A', 'GK', 'A', 'D', 'M', 'M', 'M', 'D', 'A', 'A', 'D', 'D', 'M', 'D', 'D', 'D', 'GK', 'D', 'M', 'D', 'D', 'A', 'D', 'M', 'M', 'M', 'M', 'A', 'M', 'M', 'D', 'A', 'M', 'D', 'M', 'M', 'M', 'M', 'M', 'GK', 'D', 'M', 'A', 'D', 'D', 'M', 'M', 'M', 'A', 'M', 'GK', 'A', 'A', 'GK', 'A', 'A', 'GK', 'M', 'D', 'M', 'D', 'A', 'D', 'D', 'M', 'D', 'M', 'D', 'D', 'M', 'D', 'D', 'A', 'A', 'A', 'M', 'A', 'D', 'D', 'M', 'A', 'GK', 'D', 'M', 'A', 'D', 'GK', 'D', 'M', 'M', 'A', 'D', 'M', 'D', 'D', 'D', 'GK', 'M', 'A', 'A', 'A', 'D', 'GK', 'M', 'GK', 'M', 'GK', 'GK', 'M', 'M', 'M', 'D', 'GK', 'D', 'A', 'A', 'A', 'A', 'A', 'D', 'M', 'D', 'D', 'M', 'D', 'A', 'A', 'M', 'D', 'GK', 'D', 'M', 'A', 'D', 'D', 'A', 'M', 'M', 'D', 'D', 'A', 'D', 'M', 'D', 'A', 'A', 'D', 'M', 'M', 'GK', 'D', 'A', 'A', 'A', 'D', 'D', 'GK', 'M', 'M', 'A', 'M', 'M', 'GK', 'D', 'D', 'D', 'A', 'GK', 'M', 'D', 'M', 'D', 'GK', 'M', 'A', 'M', 'D', 'A', 'M', 'GK', 'D', 'D', 'A', 'M', 'D', 'M', 'GK', 'M', 'M', 'GK', 'A', 'M', 'D', 'D', 'A', 'D', 'A', 'D', 'D', 'M', 'M', 'D', 'M', 'GK', 'D', 'M', 'M', 'D', 'GK', 'M', 'M', 'GK', 'D', 'D', 'M', 'M', 'D', 'D', 'A', 'M', 'A', 'M', 'A', 'D', 'D', 'D', 'A', 'D', 'GK', 'A', 'M', 'D', 'D', 'D', 'GK', 'M', 'A', 'D', 'GK', 'M', 'D', 'A', 'GK', 'GK', 'A', 'D', 'M', 'A', 'D', 'GK', 'D', 'D', 'A', 'D', 'D', 'A', 'M', 'M', 'GK', 'D', 'D', 'M', 'GK', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'A', 'D', 'M', 'A', 'M', 'M', 'M', 'A', 'D', 'D', 'D', 'M', 'D', 'A', 'D', 'A', 'D', 'D', 'D', 'D', 'D', 'M', 'D', 'GK', 'D', 'M', 'A', 'M', 'GK', 'M', 'M', 'M', 'D', 'M', 'M', 'M', 'M', 'A', 'D', 'M', 'A', 'GK', 'M', 'M', 'D', 'D', 'M', 'A', 'A', 'A', 'GK', 'M', 'D', 'M', 'M', 'D', 'GK', 'D', 'GK', 'D', 'M', 'M', 'A', 'D', 'GK', 'A', 'D', 'A', 'A', 'D', 'A', 'M', 'A', 'M', 'M', 'M', 'D', 'M', 'M', 'D', 'D', 'M', 'D', 'D', 'D', 'A', 'M', 'D', 'M', 'A', 'A', 'GK', 'GK', 'M', 'A', 'M', 'D', 'D', 'D', 'GK', 'A', 'GK', 'D', 'M', 'D', 'M', 'D', 'A', 'M', 'D', 'M', 'D', 'GK', 'M', 'D', 'D', 'M', 'D', 'GK', 'A', 'D', 'D', 'GK', 'GK', 'D', 'A', 'A', 'M', 'A', 'D', 'GK', 'A', 'M', 'GK', 'GK', 'D', 'M', 'D', 'M', 'D', 'M', 'M', 'M', 'M', 'A', 'D', 'A', 'D', 'M', 'M', 'M', 'A', 'M', 'GK', 'M', 'A', 'M', 'M', 'A', 'D', 'GK', 'M', 'M', 'D', 'D', 'M', 'M', 'M', 'D', 'D', 'M', 'A', 'M', 'D', 'GK', 'D', 'M', 'D', 'D', 'M', 'A', 'GK', 'A', 'GK', 'GK', 'D', 'M', 'A', 'M', 'D', 'M', 'GK', 'D', 'M', 'D', 'A', 'D', 'D', 'D', 'GK', 'D', 'GK', 'M', 'D', 'A', 'A', 'M', 'M', 'M', 'A', 'GK', 'M', 'D', 'A', 'A', 'GK', 'A', 'M', 'M', 'D', 'D', 'D', 'D', 'A', 'D', 'GK', 'D', 'M', 'A', 'M', 'A', 'M', 'M', 'M', 'M', 'M', 'M', 'A', 'M', 'M', 'D', 'GK', 'M', 'A', 'GK', 'A', 'GK', 'M', 'M', 'M', 'M', 'A', 'A', 'GK', 'GK', 'A', 'M', 'M', 'A', 'M', 'D', 'A', 'M', 'M', 'M', 'GK', 'M', 'M', 'A', 'D', 'GK', 'D', 'GK', 'D', 'D', 'D', 'A', 'M', 'M', 'M', 'D', 'A', 'D', 'M', 'M', 'D', 'D', 'A', 'A', 'A', 'A', 'M', 'A', 'GK', 'M', 'D', 'M', 'M', 'A', 'D', 'M', 'M', 'GK', 'M', 'A', 'M', 'D', 'M', 'A', 'M', 'M', 'GK', 'D', 'D', 'GK', 'D', 'M', 'D', 'D', 'M', 'D', 'D', 'D', 'M', 'M', 'M', 'A', 'M', 'A', 'M', 'D', 'M', 'GK', 'D', 'A', 'M', 'A', 'M', 'GK', 'A', 'D', 'D', 'D', 'GK', 'D', 'A', 'A', 'M', 'M', 'D', 'M', 'A', 'M', 'M', 'M', 'M', 'D', 'A', 'D', 'A', 'M', 'A', 'M', 'M', 'M', 'M', 'M', 'GK', 'A', 'M', 'D', 'M', 'D', 'A', 'GK', 'D', 'M', 'A', 'A', 'A', 'A', 'M', 'D', 'GK', 'A', 'M', 'A', 'GK', 'D', 'D', 'D', 'D', 'A', 'D', 'M', 'D', 'D', 'A', 'M', 'GK', 'D', 'M', 'M', 'GK', 'A', 'M', 'D', 'M', 'M', 'M', 'A', 'A', 'A', 'D', 'M', 'A', 'D', 'M', 'A', 'D', 'A', 'GK', 'A', 'A', 'GK', 'GK', 'M', 'M', 'D', 'M', 'M', 'D', 'M', 'D', 'GK', 'D', 'M', 'A', 'D', 'M', 'GK', 'D', 'M', 'GK', 'D', 'GK', 'A', 'D', 'M', 'A', 'A', 'M', 'M', 'D', 'D', 'M', 'A', 'D', 'M', 'A', 'D', 'D', 'A', 'M', 'M', 'M', 'M', 'A', 'M', 'D', 'M', 'D', 'GK', 'GK', 'A', 'A', 'A', 'A', 'D', 'D', 'A', 'D', 'M', 'M', 'A', 'A', 'D', 'D', 'M', 'GK', 'A', 'D', 'A', 'GK', 'GK', 'A', 'D', 'M', 'A', 'D', 'M', 'M', 'A', 'D', 'M', 'M', 'D', 'D', 'M', 'D', 'GK', 'M', 'A', 'A', 'D', 'A', 'D', 'D', 'GK', 'D', 'D', 'GK', 'D', 'A', 'D', 'D', 'D', 'M', 'D', 'M', 'M', 'GK', 'A', 'D', 'GK', 'D', 'M', 'A', 'M', 'M', 'GK', 'M', 'GK', 'D', 'D', 'D', 'M', 'A', 'D', 'D', 'D', 'GK', 'M', 'A', 'D', 'M', 'GK', 'M', 'D', 'M', 'M', 'A', 'A', 'M', 'D', 'M', 'A', 'M', 'A', 'M', 'D', 'M', 'D', 'GK', 'M', 'A', 'D', 'A', 'A', 'D', 'M', 'D', 'D', 'M', 'D', 'D', 'M', 'M', 'M', 'M', 'M', 'A', 'D', 'A', 'D', 'M', 'A', 'M', 'M', 'M', 'D', 'M', 'D', 'M', 'M', 'M', 'A', 'D', 'M', 'M', 'M', 'M', 'D', 'D', 'GK', 'D', 'M', 'D', 'M', 'A', 'D', 'GK', 'D', 'A', 'A', 'A', 'M', 'M', 'M', 'M', 'M', 'GK', 'D', 'D', 'A', 'M', 'D', 'D', 'M', 'A', 'A', 'D', 'GK', 'GK', 'M', 'D', 'A', 'M', 'GK', 'GK', 'GK', 'D', 'M', 'M', 'A', 'D', 'D', 'M', 'M', 'D', 'A', 'M', 'D', 'M', 'A', 'GK', 'GK', 'D', 'GK', 'M', 'M', 'M', 'M', 'D', 'M', 'D', 'A', 'D', 'M', 'D', 'D', 'GK', 'A', 'A', 'M', 'D', 'D', 'A', 'M', 'M', 'D', 'A', 'M', 'M', 'M', 'D', 'A', 'M', 'GK', 'D', 'D', 'A', 'A', 'M', 'A', 'M', 'D', 'D', 'GK', 'M', 'D', 'M', 'M', 'D', 'D', 'D', 'D', 'D', 'A', 'M', 'M', 'M', 'D', 'M', 'GK', 'A', 'D', 'D', 'GK', 'M', 'M', 'A', 'A', 'M', 'M', 'A', 'D', 'A', 'D', 'M', 'GK', 'M', 'D', 'D', 'M', 'M', 'A', 'M', 'M', 'GK', 'A', 'A', 'GK', 'D', 'D', 'M', 'D', 'D', 'D', 'A', 'D', 'GK', 'M', 'A', 'D', 'D', 'GK', 'GK', 'GK', 'D', 'M', 'GK', 'M', 'D', 'M', 'M', 'A', 'GK', 'M', 'D', 'D', 'M', 'GK', 'A', 'GK', 'A', 'A', 'M', 'D', 'A', 'M', 'A', 'M', 'D', 'GK', 'D', 'M', 'A', 'A', 'M', 'M', 'D', 'GK', 'D', 'D', 'A', 'A', 'A', 'GK', 'D', 'M', 'D', 'GK', 'D', 'D', 'D', 'GK', 'M', 'M', 'D', 'D', 'D', 'A', 'A', 'D', 'A', 'A', 'D', 'D', 'M', 'GK', 'M', 'M', 'D', 'M', 'A', 'M', 'A', 'GK', 'D', 'D', 'M', 'M', 'A', 'GK', 'D', 'GK', 'D', 'D', 'M', 'A', 'M', 'M', 'M', 'A', 'A', 'D', 'M', 'M', 'M', 'M', 'A', 'D', 'D', 'M', 'M', 'M', 'GK', 'M', 'A', 'M', 'A', 'D', 'M', 'D', 'D', 'A', 'D', 'M', 'M', 'D', 'M', 'A', 'D', 'M', 'D', 'M', 'M', 'M', 'GK', 'A', 'D', 'M', 'D', 'D', 'M', 'D', 'A', 'GK', 'D', 'D', 'A', 'D', 'D', 'GK', 'M', 'D', 'D', 'M', 'M', 'M', 'M', 'M', 'D', 'A', 'A', 'A', 'A', 'M', 'M', 'A', 'A', 'A', 'D', 'M', 'M', 'A', 'A', 'A', 'D', 'M', 'M', 'M', 'GK', 'M', 'M', 'M', 'M', 'A', 'M', 'D', 'D', 'D', 'D', 'A', 'M', 'M', 'M', 'A', 'M', 'D', 'M', 'D', 'M', 'M', 'M', 'M', 'M', 'D', 'A', 'M', 'M', 'M', 'D', 'M', 'A', 'D', 'D', 'D', 'D', 'A', 'D', 'A', 'A', 'D', 'A', 'GK', 'M', 'M', 'A', 'D', 'D', 'M', 'A', 'M', 'A', 'A', 'GK', 'A', 'D', 'D', 'M', 'A', 'M', 'D', 'A', 'GK', 'A', 'A', 'D', 'D', 'M', 'A', 'GK', 'A', 'D', 'M', 'M', 'M', 'M', 'M', 'D', 'D', 'M', 'GK', 'D', 'M', 'M', 'A', 'D', 'M', 'D', 'GK', 'A', 'D', 'D', 'A', 'M', 'D', 'D', 'M', 'M', 'A', 'M', 'D', 'M', 'D', 'D', 'D', 'M', 'M', 'M', 'D', 'GK', 'D', 'D', 'GK', 'D', 'D', 'A', 'A', 'D', 'A', 'A', 'D', 'M', 'D', 'D', 'D', 'A', 'A', 'GK', 'M', 'A', 'D', 'M', 'M', 'M', 'D', 'M', 'GK', 'A', 'GK', 'M', 'M', 'GK', 'D', 'D', 'M', 'GK', 'M', 'M', 'M', 'M', 'GK', 'D', 'GK', 'M', 'M', 'M', 'D', 'D', 'D', 'M', 'A', 'M', 'M', 'A', 'M', 'M', 'A', 'M', 'D', 'A', 'D', 'A', 'D', 'D', 'M', 'A', 'GK', 'A', 'M', 'D', 'M', 'D', 'A', 'M', 'D', 'M', 'M', 'M', 'M', 'GK', 'M', 'M', 'A', 'A', 'GK', 'M', 'D', 'M', 'A', 'M', 'M', 'D', 'D', 'M', 'GK', 'A', 'D', 'A', 'M', 'A', 'D', 'D', 'M', 'A', 'M', 'M', 'D', 'M', 'D', 'D', 'D', 'M', 'A', 'M', 'D', 'A', 'D', 'A', 'D', 'GK', 'M', 'A', 'D', 'M', 'M', 'M', 'GK', 'D', 'M', 'A', 'A', 'A', 'D', 'D', 'D', 'D', 'M', 'D', 'M', 'A', 'A', 'GK', 'D', 'D', 'GK', 'D', 'A', 'D', 'M', 'A', 'D', 'A', 'A', 'D', 'GK', 'A', 'D', 'D', 'A', 'A', 'M', 'A', 'M', 'A', 'M', 'D', 'D', 'D', 'M', 'A', 'GK', 'M', 'M', 'A', 'D', 'D', 'M', 'A', 'A', 'D', 'D', 'M', 'D', 'D', 'A', 'M', 'D', 'M', 'A', 'D', 'D', 'M', 'A', 'D', 'M', 'A', 'D', 'D', 'GK', 'D', 'M', 'D', 'GK', 'A', 'M', 'D', 'D', 'M', 'A', 'M', 'M', 'M', 'M', 'M', 'M', 'A', 'M', 'M', 'GK', 'M', 'M', 'M', 'A', 'A', 'A', 'D', 'M', 'GK', 'GK', 'A', 'M', 'D', 'GK', 'M', 'A', 'M', 'D', 'D', 'M', 'D', 'A', 'D', 'D', 'GK', 'D', 'M', 'A', 'A', 'D', 'A', 'M', 'D', 'A', 'GK', 'A', 'D', 'A', 'D', 'GK', 'GK', 'GK', 'M', 'D', 'D', 'M', 'GK', 'D', 'A', 'D', 'GK', 'D', 'M', 'M', 'D', 'M', 'M', 'M', 'A', 'D', 'M', 'GK', 'D', 'D', 'A', 'GK', 'M', 'M', 'M', 'D', 'GK', 'D', 'D', 'M', 'D', 'D', 'GK', 'A', 'GK', 'D', 'A', 'D', 'M', 'D', 'A', 'A', 'M', 'D', 'D', 'D', 'M', 'GK', 'M', 'D', 'D', 'GK', 'D', 'M', 'D', 'A', 'D', 'A', 'M', 'M', 'M', 'D', 'A', 'GK', 'M', 'M', 'D', 'D', 'A', 'A', 'GK', 'GK', 'D', 'A', 'M', 'GK', 'M', 'M', 'A', 'D', 'M', 'A', 'A', 'GK', 'M', 'A', 'A', 'D', 'M', 'M', 'D', 'A', 'D', 'A', 'A', 'D', 'M', 'D', 'A', 'D', 'D', 'M', 'M', 'M', 'M', 'M', 'A', 'D', 'D', 'M', 'D', 'D', 'GK', 'D', 'M', 'D', 'M', 'GK', 'D', 'M', 'A', 'M', 'M', 'M', 'M', 'D', 'D', 'D', 'A', 'GK', 'A', 'GK', 'M', 'D', 'GK', 'GK', 'A', 'M', 'A', 'D', 'D', 'D', 'M', 'M', 'D', 'D', 'A', 'M', 'A', 'M', 'M', 'GK', 'M', 'D', 'A', 'M', 'A', 'M', 'D', 'D', 'D', 'D', 'D', 'D', 'A', 'D', 'GK', 'M', 'M', 'GK', 'GK', 'D', 'D', 'M', 'A', 'D', 'D', 'D', 'GK', 'GK', 'M', 'M', 'M', 'GK', 'D', 'M', 'M', 'M', 'M', 'D', 'D', 'A', 'D', 'A', 'A', 'GK', 'M', 'D', 'D', 'M', 'M', 'M', 'D', 'A', 'M', 'GK', 'M', 'GK', 'GK', 'D', 'M', 'GK', 'D', 'M', 'M', 'D', 'M', 'D', 'A', 'D', 'D', 'D', 'A', 'M', 'A', 'D', 'D', 'A', 'D', 'D', 'M', 'M', 'D', 'A', 'D', 'A', 'D', 'A', 'A', 'M', 'A', 'D', 'M', 'M', 'M', 'GK', 'GK', 'M', 'M', 'D', 'A', 'D', 'D', 'M', 'A', 'A', 'M', 'D', 'D', 'D', 'D', 'GK', 'M', 'M', 'D', 'D', 'D', 'D', 'M', 'D', 'D', 'D', 'M', 'D', 'M', 'D', 'A', 'D', 'D', 'A', 'A', 'D', 'D', 'M', 'D', 'GK', 'D', 'M', 'A', 'M', 'GK', 'D', 'D', 'M', 'A', 'M', 'A', 'M', 'A', 'A', 'A', 'M', 'D', 'M', 'D', 'M', 'D', 'A', 'M', 'D', 'M', 'A', 'M', 'M', 'D', 'A', 'A', 'A', 'D', 'A', 'M', 'D', 'M', 'A', 'M', 'D', 'A', 'M', 'A', 'GK', 'D', 'M', 'D', 'M', 'D', 'A', 'M', 'A', 'D', 'M', 'M', 'D', 'GK', 'A', 'M', 'M', 'M', 'M', 'D', 'D', 'M', 'A', 'M', 'M', 'D', 'M', 'M', 'D', 'GK', 'D', 'D', 'M', 'M', 'D', 'M', 'A', 'D', 'GK', 'A', 'M', 'D', 'A', 'A', 'A', 'A', 'GK', 'M', 'D', 'M', 'M', 'D', 'A', 'M', 'GK', 'D', 'M', 'A', 'M', 'GK', 'M', 'A', 'GK', 'A', 'D', 'A', 'M', 'M', 'D', 'M', 'D', 'M', 'D', 'A', 'M', 'A', 'D', 'D', 'M', 'GK', 'D', 'D', 'M', 'M', 'A', 'M', 'D', 'A', 'A', 'D', 'GK', 'GK', 'D', 'A', 'M', 'D', 'D', 'M', 'GK', 'D', 'M', 'M', 'D', 'M', 'GK', 'D', 'A', 'M', 'GK', 'M', 'M', 'M', 'A', 'M', 'M', 'GK', 'M', 'D', 'D', 'D', 'D', 'D', 'M', 'D', 'M', 'D', 'A', 'GK', 'M', 'D', 'D', 'A', 'GK', 'D', 'M', 'A', 'M', 'D', 'M', 'D', 'GK', 'M', 'GK', 'A', 'D', 'D', 'A', 'D', 'A', 'M', 'M', 'M', 'D', 'D', 'D', 'M', 'D', 'D', 'M', 'D', 'D', 'M', 'M', 'GK', 'M', 'GK', 'M', 'M', 'D', 'D', 'GK', 'D', 'M', 'D', 'D', 'A', 'M', 'GK', 'D', 'M', 'D', 'D', 'D', 'M', 'M', 'M', 'D', 'A', 'A', 'A', 'A', 'GK', 'D', 'GK', 'A', 'A', 'D', 'M', 'M', 'A', 'A', 'D', 'M', 'M', 'GK', 'M', 'D', 'D', 'M', 'D', 'GK', 'D', 'GK', 'M', 'D', 'D', 'GK', 'D', 'A', 'M', 'D', 'GK', 'D', 'A', 'A', 'A', 'D', 'GK', 'D', 'D', 'GK', 'GK', 'A', 'A', 'M', 'D', 'D', 'D', 'GK', 'A', 'M', 'M', 'M', 'A', 'A', 'M', 'D', 'D', 'D', 'D', 'M', 'D', 'A', 'A', 'D', 'D', 'D', 'D', 'M', 'M', 'M', 'D', 'D', 'M', 'A', 'M', 'D', 'D', 'A', 'GK', 'D', 'D', 'GK', 'M', 'D', 'M', 'A', 'A', 'A', 'A', 'GK', 'A', 'D', 'D', 'M', 'M', 'A', 'A', 'A', 'D', 'M', 'A', 'A', 'A', 'D', 'GK', 'D', 'M', 'D', 'M', 'M', 'M', 'A', 'A', 'A', 'D', 'A', 'A', 'D', 'A', 'A', 'M', 'D', 'M', 'A', 'A', 'M', 'A', 'M', 'M', 'D', 'D', 'M', 'D', 'GK', 'D', 'A', 'D', 'M', 'D', 'A', 'A', 'D', 'M', 'A', 'D', 'M', 'D', 'D', 'M', 'D', 'A', 'D', 'M', 'D', 'M', 'GK', 'A', 'D', 'GK', 'A', 'D', 'A', 'A', 'D', 'M', 'M', 'M', 'D', 'M', 'A', 'D', 'M', 'D', 'D', 'M', 'D', 'M', 'D', 'D', 'M', 'D', 'M', 'D', 'M', 'GK', 'D', 'M', 'M', 'M', 'M', 'M', 'D', 'M', 'GK', 'M', 'M', 'D', 'M', 'D', 'M', 'D', 'D', 'GK', 'A', 'D', 'A', 'A', 'M', 'D', 'M', 'M', 'GK', 'D', 'D', 'GK', 'A', 'GK', 'D', 'A', 'A', 'A', 'D', 'GK', 'A', 'M', 'A', 'A', 'GK', 'M', 'A', 'D', 'GK', 'D', 'M', 'A', 'M', 'A', 'A', 'M', 'D', 'M', 'GK', 'D', 'D', 'M', 'A', 'D', 'M', 'D', 'M', 'M', 'D', 'D', 'A', 'A', 'M', 'D', 'A', 'M', 'D', 'A', 'D', 'D', 'M', 'D', 'M', 'M', 'A', 'M', 'A', 'D', 'M', 'D', 'A', 'D', 'D', 'A', 'A', 'GK', 'D', 'M', 'A', 'A', 'A', 'M', 'D', 'D', 'GK', 'M', 'A', 'D', 'GK', 'M', 'D', 'A', 'M', 'M', 'A', 'D', 'M', 'D', 'A', 'M', 'M', 'D', 'D', 'M', 'M', 'GK', 'D', 'A', 'M', 'A', 'D', 'M', 'M', 'M', 'M', 'M', 'D', 'M', 'D', 'A', 'A', 'D', 'D', 'A', 'GK', 'D', 'M', 'GK', 'M', 'GK', 'D', 'D', 'A', 'A', 'D', 'D', 'A', 'M', 'D', 'M', 'M', 'M', 'D', 'M', 'D', 'A', 'M', 'M', 'A', 'A', 'M', 'M', 'D', 'D', 'D', 'D', 'D', 'A', 'M', 'M', 'M', 'D', 'GK', 'GK', 'A', 'D', 'M', 'M', 'M', 'M', 'M', 'A', 'D', 'M', 'D', 'D', 'A', 'D', 'D', 'M', 'D', 'A', 'D', 'D', 'D', 'A', 'M', 'M', 'D', 'A', 'A', 'D', 'A', 'A', 'D', 'D', 'D', 'M', 'M', 'M', 'D', 'A', 'A', 'A', 'M', 'M', 'D', 'GK', 'M', 'A', 'A', 'D', 'D', 'D', 'A', 'A', 'A', 'M', 'D', 'A', 'GK', 'A', 'M', 'A', 'D', 'A', 'D', 'D', 'M', 'A', 'M', 'M', 'M', 'M', 'M', 'A', 'M', 'A', 'A', 'D', 'GK', 'M', 'GK', 'D', 'A', 'M', 'GK', 'D', 'M', 'D', 'M', 'A', 'A', 'D', 'D', 'M', 'D', 'M', 'M', 'D', 'M', 'GK', 'A', 'D', 'D', 'D', 'A', 'D', 'M', 'D', 'D', 'A', 'M', 'D', 'A', 'D', 'M', 'D', 'A', 'GK', 'D', 'D', 'A', 'GK', 'M', 'M', 'GK', 'A', 'D', 'M', 'M', 'A', 'D', 'M', 'A', 'M', 'D', 'M', 'M', 'A', 'M', 'D', 'D', 'M', 'D', 'A', 'D', 'D', 'D', 'D', 'M', 'M', 'D', 'M', 'A', 'M', 'D', 'M', 'D', 'A', 'A', 'GK', 'M', 'D', 'D', 'M', 'D', 'M', 'A', 'A', 'D', 'GK', 'A', 'D', 'D', 'A', 'M', 'M', 'M', 'A', 'M', 'M', 'M', 'M', 'M', 'A', 'D', 'D', 'D', 'D', 'D', 'M', 'D', 'D', 'M', 'D', 'M', 'D', 'D', 'M', 'D', 'M', 'M', 'M', 'GK', 'D', 'GK', 'GK', 'GK', 'D', 'M', 'A', 'D', 'A', 'D', 'M', 'M', 'A', 'M', 'M', 'D', 'D', 'A', 'GK', 'GK', 'M', 'D', 'M', 'GK', 'M', 'D', 'D', 'D', 'D', 'D', 'GK', 'M', 'D', 'M', 'A', 'D', 'M', 'A', 'M', 'GK', 'M', 'M', 'D', 'D', 'D', 'M', 'M', 'D', 'M', 'GK', 'M', 'D', 'GK', 'A', 'M', 'A', 'D', 'D', 'D', 'A', 'A', 'GK', 'A', 'M', 'M', 'D', 'M', 'M', 'D', 'A', 'GK', 'A', 'D', 'GK', 'M', 'A', 'M', 'GK', 'D', 'GK', 'M', 'A', 'M', 'M', 'A', 'D', 'M', 'D', 'D', 'D', 'D', 'M', 'M', 'M', 'A', 'A', 'M', 'D', 'A', 'M', 'A', 'M', 'M', 'A', 'M', 'A', 'A', 'A', 'M', 'M', 'GK', 'D', 'D', 'D', 'D', 'D', 'M', 'GK', 'A', 'D', 'D', 'D', 'M', 'GK', 'M', 'D', 'GK', 'A', 'D', 'D', 'M', 'M', 'M', 'M', 'M', 'M', 'A', 'D', 'M', 'A', 'A', 'M', 'M', 'A', 'A', 'M', 'A', 'D', 'A', 'D', 'D', 'M', 'M', 'M', 'D', 'D', 'M', 'GK', 'A', 'A', 'M', 'A', 'D', 'A', 'D', 'D', 'A', 'M', 'A', 'A', 'M', 'M', 'D', 'M', 'A', 'A', 'D', 'D', 'D', 'A', 'D', 'M', 'A', 'D', 'D', 'D', 'M', 'M', 'D', 'D', 'D', 'GK', 'M', 'M', 'A', 'A', 'A', 'D', 'M', 'M', 'GK', 'GK', 'D', 'D', 'A', 'D', 'D', 'M', 'D', 'A', 'D', 'A', 'M', 'M', 'D', 'M', 'GK', 'A', 'M', 'D', 'M', 'M', 'M', 'GK', 'D', 'A', 'D', 'A', 'D', 'M', 'D', 'D', 'A', 'A', 'M', 'D', 'M', 'M', 'GK', 'M', 'D', 'M', 'D', 'M', 'GK', 'A', 'M', 'D', 'A', 'D', 'M', 'D', 'M', 'A', 'M', 'M', 'M', 'D', 'GK', 'GK', 'D', 'GK', 'D', 'D', 'A', 'D', 'A', 'M', 'D', 'A', 'M', 'A', 'A', 'GK', 'M', 'A', 'GK', 'M', 'M', 'A', 'M', 'A', 'GK', 'A', 'M', 'A', 'M', 'D', 'A', 'M', 'GK', 'M', 'M', 'A', 'GK', 'A', 'D', 'M', 'M', 'A', 'M', 'D', 'D', 'A', 'D', 'D', 'A', 'GK', 'M', 'M', 'GK', 'M', 'M', 'A', 'A', 'D', 'A', 'M', 'A', 'M', 'M', 'M', 'M', 'M', 'A', 'M', 'M', 'A', 'D', 'M', 'M', 'D', 'A', 'D', 'M', 'GK', 'D', 'M', 'A', 'D', 'M', 'D', 'A', 'M', 'D', 'A', 'M', 'D', 'M', 'D', 'A', 'A', 'A', 'M', 'A', 'D', 'M', 'M', 'D', 'M', 'A', 'D', 'M', 'A', 'A', 'D', 'D', 'D', 'M', 'D', 'M', 'M', 'A', 'M', 'M', 'M', 'A', 'A', 'M', 'M', 'GK', 'M', 'M', 'M', 'M', 'GK', 'D', 'D', 'M', 'A', 'D', 'GK', 'D', 'A', 'GK', 'D', 'A', 'D', 'M', 'M', 'A', 'M', 'A', 'M', 'D', 'A', 'M', 'D', 'M', 'A', 'M', 'D', 'M', 'D', 'D', 'M', 'D', 'D', 'D', 'A', 'D', 'M', 'A', 'A', 'M', 'A', 'M', 'A', 'M', 'D', 'A', 'D', 'A', 'M', 'M', 'M', 'M', 'A', 'M', 'D', 'M', 'D', 'A', 'GK', 'D', 'GK', 'M', 'D', 'A', 'D', 'GK', 'GK', 'M', 'M', 'A', 'GK', 'M', 'D', 'M', 'A', 'A', 'D', 'D', 'A', 'D', 'D', 'M', 'M', 'D', 'M', 'A', 'M', 'D', 'GK', 'A', 'M', 'GK', 'A', 'D', 'M', 'A', 'M', 'M', 'D', 'A', 'A', 'D', 'D', 'M', 'M', 'D', 'M', 'M', 'A', 'M', 'A', 'D', 'M', 'A', 'M', 'M', 'D', 'M', 'A', 'A', 'M', 'GK', 'M', 'M', 'D', 'M', 'D', 'D', 'M', 'M', 'D', 'M', 'M', 'M', 'A', 'M', 'A', 'A', 'D', 'M', 'GK', 'A', 'M', 'GK', 'A', 'A', 'A', 'A', 'A', 'A', 'D', 'M', 'D', 'D', 'M', 'GK', 'D', 'A', 'M', 'D', 'M', 'A', 'M', 'D', 'D', 'A', 'A', 'A', 'D', 'M', 'M', 'M', 'M', 'M', 'GK', 'M', 'A', 'A', 'D', 'D', 'D', 'M', 'A', 'M', 'D', 'A', 'D', 'D', 'A', 'M', 'GK', 'M', 'GK', 'D', 'A', 'GK', 'A', 'A', 'D', 'M', 'D', 'A', 'GK', 'M', 'M', 'D', 'D', 'D', 'GK', 'GK', 'A', 'D', 'D', 'M', 'A', 'D', 'D', 'D', 'M', 'D', 'GK', 'M', 'M', 'M', 'M', 'GK', 'D', 'GK', 'M', 'A', 'A', 'A', 'M', 'M', 'M', 'M', 'A', 'A', 'A', 'GK', 'D', 'D', 'D', 'M', 'M', 'D', 'GK', 'D', 'A', 'A', 'M', 'M', 'D', 'M', 'M', 'M', 'A', 'D', 'A', 'D', 'D', 'M', 'D', 'M', 'M', 'D', 'A', 'D', 'GK', 'A', 'GK', 'M', 'M', 'D', 'A', 'GK', 'A', 'A', 'M', 'M', 'M', 'GK', 'A', 'M', 'M', 'GK', 'A', 'A', 'D', 'A', 'A', 'M', 'A', 'D', 'A', 'A', 'M', 'A', 'A', 'M', 'M', 'A', 'GK', 'M', 'M', 'D', 'M', 'M', 'M', 'A', 'M', 'D', 'M', 'M', 'A', 'M', 'M', 'D', 'M', 'GK', 'GK', 'M', 'M', 'A', 'M', 'D', 'D', 'D', 'M', 'M', 'M', 'A', 'M', 'D', 'M', 'A', 'A', 'A', 'D', 'GK', 'M', 'M', 'M', 'A', 'GK', 'D', 'M', 'A', 'D', 'M', 'M', 'A', 'GK', 'A', 'D', 'A', 'M', 'D', 'A', 'M', 'A', 'D', 'A', 'D', 'A', 'D', 'A', 'D', 'A', 'D', 'M', 'A', 'M', 'M', 'A', 'D', 'M', 'D', 'M', 'D', 'GK', 'A', 'M', 'D', 'A', 'A', 'GK', 'A', 'A', 'A', 'D', 'M', 'D', 'A', 'D', 'A', 'M', 'D', 'M', 'M', 'D', 'M', 'A', 'M', 'D', 'A', 'D', 'A', 'M', 'M', 'M', 'A', 'A', 'M', 'A', 'M', 'D', 'A', 'A', 'M', 'M', 'D', 'D', 'D', 'M', 'A', 'A', 'M', 'D', 'D', 'A', 'D', 'D', 'A', 'D', 'D', 'D', 'A', 'D', 'M', 'D', 'GK', 'GK', 'D', 'M', 'D', 'D', 'GK', 'D', 'D', 'GK', 'D', 'M', 'D', 'M', 'M', 'A', 'GK', 'A', 'M', 'A', 'M', 'A', 'A', 'M', 'D', 'D', 'A', 'D', 'M', 'A', 'M', 'M', 'M', 'M', 'D', 'M', 'A', 'A', 'D', 'D', 'GK', 'D', 'M', 'M', 'D', 'M', 'D', 'D', 'M', 'D', 'M', 'M', 'M', 'D', 'M', 'M', 'A', 'M', 'M', 'D', 'A', 'A', 'A', 'M', 'D', 'M', 'M', 'M', 'D', 'A', 'D', 'M', 'M', 'D', 'GK', 'D', 'D', 'M', 'D', 'M', 'M', 'D', 'A', 'M', 'D', 'M', 'D', 'D', 'A', 'A', 'GK', 'M', 'A', 'A', 'D', 'A', 'M', 'D', 'GK', 'A', 'M', 'M', 'D', 'D', 'A', 'A', 'D', 'D', 'A', 'D', 'D', 'D', 'D', 'A', 'M', 'M', 'M', 'D', 'GK', 'M', 'A', 'M', 'GK', 'M', 'GK', 'D', 'A', 'D', 'A', 'M', 'A', 'D', 'D', 'M', 'M', 'D', 'GK', 'M', 'M', 'D', 'D', 'D', 'D', 'M', 'M', 'D', 'GK', 'D', 'A', 'M', 'GK', 'D', 'D', 'GK', 'A', 'M', 'A', 'D', 'D', 'D', 'M', 'GK', 'M', 'D', 'A', 'D', 'M', 'A', 'A', 'M', 'M', 'D', 'M', 'M', 'M', 'M', 'M', 'D', 'A', 'M', 'D', 'A', 'M', 'D', 'D', 'GK', 'D', 'D', 'A', 'D', 'A', 'GK', 'D', 'A', 'A', 'M', 'A', 'M', 'M', 'M', 'D', 'A', 'M', 'M', 'A', 'M', 'M', 'M', 'D', 'M', 'M', 'M', 'A', 'A', 'GK', 'A', 'A', 'D', 'A', 'GK', 'D', 'A', 'D', 'M', 'D', 'GK', 'A', 'M', 'D', 'A', 'D', 'M', 'M', 'M', 'M', 'A', 'M', 'D', 'GK', 'M', 'M', 'D', 'A', 'M', 'A', 'A', 'D', 'A', 'D', 'D', 'D', 'M', 'D', 'A', 'A', 'GK', 'GK', 'D', 'D', 'M', 'D', 'M', 'D', 'M', 'M', 'D', 'M', 'D', 'D', 'M', 'D', 'D', 'A', 'D', 'A', 'M', 'M', 'GK', 'A', 'A', 'M', 'D', 'GK', 'D', 'D', 'A', 'D', 'M', 'M', 'M', 'D', 'M', 'M', 'A', 'D', 'D', 'A', 'D', 'M', 'A', 'A', 'A', 'M', 'A', 'M', 'M', 'GK', 'GK', 'D', 'D', 'M', 'A', 'D', 'D', 'GK', 'M', 'GK', 'D', 'D', 'A', 'M', 'M', 'D', 'M', 'M', 'M', 'M', 'D', 'A', 'M', 'M', 'GK', 'M', 'D', 'A', 'D', 'D', 'D', 'D', 'D', 'A', 'M', 'M', 'D', 'A', 'GK', 'D', 'M', 'D', 'D', 'D', 'D', 'M', 'M', 'D', 'GK', 'M', 'D', 'M', 'M', 'A', 'A', 'M', 'M', 'GK', 'A', 'D', 'M', 'M', 'M', 'A', 'M', 'A', 'A', 'D', 'M', 'D', 'D', 'M', 'D', 'D', 'D', 'M', 'GK', 'D', 'D', 'GK', 'A', 'A', 'D', 'A', 'D', 'M', 'D', 'A', 'D', 'D', 'A', 'A', 'M', 'A', 'M', 'M', 'M', 'A', 'A', 'M', 'A', 'A', 'D', 'M', 'M', 'D', 'A', 'A', 'M', 'M', 'M', 'D', 'A', 'M', 'D', 'A', 'D', 'D', 'A', 'D', 'A', 'D', 'A', 'M', 'D', 'D', 'D', 'GK', 'M', 'M', 'M', 'A', 'M', 'M', 'D', 'M', 'D', 'D', 'A', 'D', 'M', 'M', 'M', 'M', 'M', 'GK', 'GK', 'A', 'A', 'GK', 'GK', 'D', 'D', 'D', 'A', 'A', 'M', 'GK', 'A', 'M', 'A', 'M', 'A', 'M', 'A', 'A', 'M', 'A', 'D', 'M', 'M', 'M', 'M', 'A', 'GK', 'D', 'M', 'M', 'D', 'A', 'A', 'A', 'M', 'D', 'D', 'D', 'M', 'M', 'M', 'D', 'M', 'A', 'D', 'M', 'M', 'M', 'M', 'M', 'D', 'A', 'GK', 'M', 'M', 'M', 'D', 'A', 'D', 'GK', 'M', 'D', 'A', 'D', 'D', 'A', 'A', 'D', 'M', 'M', 'D', 'D', 'M', 'D', 'A', 'M', 'M', 'A', 'M', 'D', 'D', 'M', 'D', 'D', 'M', 'A', 'GK', 'A', 'A', 'D', 'M', 'A', 'A', 'A', 'D', 'GK', 'M', 'A', 'A', 'M', 'A', 'GK', 'D', 'A', 'M', 'M', 'A', 'D', 'A', 'D', 'A', 'A', 'M', 'M', 'A', 'A', 'M', 'D', 'D', 'D', 'D', 'GK', 'A', 'GK', 'A', 'D', 'D', 'D', 'A', 'D', 'A', 'M', 'M', 'M', 'M', 'M', 'A', 'M', 'D', 'D', 'D', 'A', 'D', 'M', 'GK', 'M', 'D', 'D', 'M', 'D', 'GK', 'M', 'A', 'M', 'M', 'D', 'D', 'M', 'A', 'D', 'A', 'M', 'GK', 'M', 'D', 'A', 'D', 'A', 'D', 'M', 'GK', 'D', 'M', 'A', 'A', 'A', 'A', 'D', 'A', 'D', 'D', 'D', 'D', 'GK', 'D', 'GK', 'D', 'D', 'A', 'A', 'A', 'GK', 'D', 'M', 'GK', 'M', 'M', 'GK', 'D', 'A', 'A', 'D', 'M', 'M', 'M', 'A', 'D', 'M', 'D', 'M', 'A', 'D', 'M', 'D', 'A', 'GK', 'D', 'M', 'D', 'GK', 'D', 'M', 'GK', 'M', 'D', 'A', 'A', 'D', 'A', 'D', 'A', 'D', 'A', 'D', 'M', 'M', 'D', 'M', 'A', 'D', 'M', 'D', 'D', 'M', 'A', 'A', 'M', 'A', 'M', 'M', 'A', 'GK', 'GK', 'M', 'GK', 'D', 'D', 'A', 'M', 'D', 'GK', 'D', 'GK', 'D', 'A', 'M', 'A', 'GK', 'D', 'GK', 'A', 'M', 'M', 'M', 'D', 'M', 'M', 'M', 'GK', 'D', 'D', 'M', 'M', 'D', 'D', 'A', 'M', 'M', 'M', 'A', 'GK', 'D', 'A', 'M', 'M', 'GK', 'A', 'A', 'M', 'A', 'M', 'M', 'M', 'M', 'M', 'M', 'GK', 'M', 'M', 'D', 'M', 'M', 'D', 'D', 'GK', 'M', 'D', 'GK', 'D', 'M', 'M', 'A', 'D', 'M', 'M', 'D', 'D', 'D', 'M', 'M', 'M', 'A', 'D', 'A', 'GK', 'M', 'A', 'M', 'D', 'M', 'M', 'D', 'M', 'M', 'M', 'M', 'D', 'M', 'D', 'M', 'A', 'GK', 'A', 'A', 'D', 'D', 'D', 'A', 'M', 'D', 'D', 'M', 'M', 'M', 'M', 'M', 'D', 'D', 'GK', 'GK', 'D', 'M', 'D', 'A', 'D', 'D', 'M', 'D', 'M', 'M', 'A', 'A', 'D', 'D', 'D', 'M', 'D', 'D', 'A', 'D', 'M', 'A', 'A', 'D', 'D', 'A', 'A', 'D', 'GK', 'M', 'M', 'A', 'A', 'M', 'A', 'A', 'M', 'GK', 'M', 'D', 'A', 'A', 'A', 'M', 'M', 'M', 'D', 'M', 'A', 'M', 'A', 'A', 'M', 'D', 'A', 'GK', 'M', 'D', 'A', 'D', 'D', 'M', 'M', 'A', 'D', 'M', 'D', 'A', 'M', 'M', 'M', 'A', 'M', 'M', 'M', 'M', 'A', 'A', 'M', 'A', 'A', 'D', 'D', 'GK', 'A', 'M', 'A', 'D', 'A', 'M', 'GK', 'D', 'M', 'M', 'D', 'M', 'D', 'D', 'A', 'M', 'A', 'GK', 'A', 'A', 'D', 'M', 'D', 'A', 'D', 'M', 'D', 'M', 'A', 'GK', 'M', 'M', 'M', 'M', 'A', 'M', 'M', 'D', 'M', 'M', 'D', 'M', 'M', 'A', 'M', 'M', 'M', 'M', 'D', 'M', 'M', 'D', 'A', 'A', 'D', 'D', 'M', 'M', 'M', 'M', 'GK', 'GK', 'A', 'M', 'M', 'A', 'M', 'M', 'M', 'D', 'M', 'D', 'M', 'M', 'A', 'M', 'GK', 'A', 'A', 'A', 'GK', 'M', 'A', 'M', 'D', 'M', 'M', 'A', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'GK', 'D', 'M', 'M', 'D', 'GK', 'GK', 'D', 'M', 'A', 'A', 'M', 'A', 'M', 'M', 'M', 'A', 'GK', 'M', 'M', 'A', 'D', 'M', 'M', 'M', 'D', 'M', 'A', 'M', 'D', 'M', 'A', 'A', 'A', 'D', 'D', 'D', 'D', 'A', 'D', 'M', 'D', 'M', 'D', 'A', 'M', 'D', 'A', 'D', 'A', 'GK', 'A', 'D', 'M', 'A', 'M', 'D', 'M', 'D', 'M', 'M', 'D', 'A', 'M', 'A', 'D', 'M', 'D', 'D', 'A', 'GK', 'A', 'A', 'M', 'M', 'M', 'M', 'A', 'M', 'A', 'A', 'D', 'M', 'GK', 'M', 'D', 'A', 'M', 'A', 'M', 'GK', 'A', 'M', 'D', 'M', 'D', 'A', 'A', 'D', 'M', 'A', 'M', 'M', 'A', 'M', 'A', 'M', 'M', 'A', 'D', 'D', 'D', 'GK', 'D', 'A', 'D', 'D', 'M', 'D', 'A', 'D', 'D', 'D', 'M', 'M', 'A', 'D', 'M', 'D', 'A', 'D', 'M', 'M', 'D', 'D', 'M', 'M', 'D', 'GK', 'D', 'D', 'D', 'M', 'D', 'A', 'D', 'A', 'D', 'M', 'M', 'GK', 'A', 'A', 'M', 'D', 'GK', 'D', 'M', 'D', 'M', 'A', 'GK', 'GK', 'M', 'M', 'A', 'M', 'M', 'A', 'M', 'GK', 'D', 'D', 'M', 'M', 'D', 'M', 'A', 'M', 'GK', 'D', 'D', 'D', 'A', 'A', 'GK', 'D', 'GK', 'D', 'D', 'GK', 'D', 'A', 'A', 'M', 'D', 'A', 'D', 'D', 'M', 'D', 'A', 'A', 'M', 'M', 'A', 'D', 'M', 'M', 'A', 'D', 'M', 'M', 'A', 'A', 'M', 'M', 'A', 'D', 'M', 'M', 'D', 'M', 'D', 'GK', 'A', 'M', 'A', 'A', 'D', 'A', 'M', 'M', 'M', 'D', 'D', 'D', 'M', 'D', 'A', 'M', 'GK', 'M', 'A', 'GK', 'M', 'M', 'M', 'A', 'M', 'GK', 'D', 'A', 'D', 'D', 'D', 'D', 'D', 'M', 'M', 'M', 'GK', 'A', 'D', 'A', 'M', 'A', 'A', 'M', 'A', 'D', 'M', 'M', 'A', 'M', 'A', 'D', 'M', 'D', 'A', 'D', 'M', 'M', 'M', 'A', 'D', 'A', 'D', 'A', 'M', 'M', 'M', 'A', 'M', 'M', 'A', 'D', 'M', 'D', 'D', 'M', 'M', 'D', 'M', 'A', 'D', 'M', 'A', 'M', 'GK', 'D', 'M', 'A', 'GK', 'M', 'A', 'A', 'D', 'M', 'A', 'D', 'A', 'GK', 'D', 'D', 'A', 'M', 'A', 'D', 'D', 'D', 'A', 'M', 'D', 'GK', 'A', 'A', 'M', 'D', 'D', 'GK', 'D', 'M', 'M', 'D', 'M', 'A', 'A', 'M', 'M', 'A', 'D', 'M', 'M', 'M', 'D', 'M', 'D', 'M', 'M', 'A', 'A', 'D', 'A', 'A', 'A', 'M', 'M', 'A', 'M', 'M', 'GK', 'M', 'D', 'D', 'M', 'A', 'M', 'M', 'M', 'A', 'A', 'A', 'A', 'D', 'D', 'A', 'D', 'D', 'M', 'D', 'GK', 'GK', 'M', 'D', 'D', 'A', 'D', 'M', 'GK', 'A', 'M', 'M', 'A', 'M', 'A', 'A', 'D', 'A', 'D', 'A', 'D', 'D', 'D', 'D', 'D', 'M', 'GK', 'M', 'A', 'M', 'M', 'M', 'D', 'M', 'M', 'A', 'M', 'D', 'D', 'D', 'M', 'D', 'M', 'M', 'D', 'GK', 'GK', 'D', 'M', 'M', 'M', 'D', 'M', 'M', 'D', 'GK', 'A', 'GK', 'D', 'M', 'A', 'M', 'M', 'M', 'A', 'A', 'A', 'M', 'M', 'A', 'D', 'A', 'A', 'D', 'M', 'D', 'D', 'M', 'A', 'D', 'A', 'D', 'M', 'A', 'A', 'M', 'A', 'A', 'M', 'D', 'M', 'A', 'M', 'M', 'M', 'A', 'D', 'A', 'A', 'A', 'D', 'D', 'M', 'M', 'M', 'D', 'D', 'M', 'A', 'M', 'M', 'A', 'M', 'D', 'D', 'A', 'M', 'A', 'M', 'D', 'D', 'M', 'M', 'GK', 'D', 'M', 'D', 'M', 'D', 'D', 'D', 'A', 'A', 'M', 'M', 'M', 'A', 'D', 'A', 'D', 'M', 'D', 'M', 'A', 'A', 'D', 'M', 'A', 'A', 'D', 'A', 'GK', 'D', 'M', 'M', 'M', 'A', 'M', 'A', 'A', 'GK', 'M', 'D', 'A', 'A', 'A', 'GK', 'GK', 'M', 'M', 'D', 'D', 'M', 'M', 'D', 'GK', 'M', 'GK', 'M', 'M', 'A', 'M', 'A', 'M', 'D', 'M', 'M', 'D', 'A', 'GK', 'D', 'GK', 'M', 'D', 'A', 'M', 'D', 'D', 'D', 'A', 'D', 'M', 'M', 'M', 'A', 'M', 'A', 'M', 'D', 'M', 'A', 'A', 'D', 'M', 'M', 'M', 'M', 'A', 'D', 'M', 'A', 'D', 'D', 'A', 'D', 'M', 'M', 'D', 'M', 'A', 'M', 'M', 'A', 'A', 'M', 'A', 'GK', 'M', 'GK', 'A', 'A', 'A', 'M', 'A', 'GK', 'M', 'A', 'D', 'M', 'D', 'M', 'D', 'A', 'A', 'D', 'M', 'M', 'D', 'D', 'D', 'D', 'M', 'M', 'A', 'D', 'GK', 'M', 'M', 'A', 'GK', 'D', 'A', 'M', 'D', 'D', 'GK', 'A', 'D', 'D', 'M', 'M', 'A', 'D', 'GK', 'D', 'M', 'M', 'M', 'A', 'M', 'M', 'A', 'D', 'GK', 'GK', 'D', 'D', 'M', 'D', 'M', 'D', 'M', 'GK', 'A', 'A', 'D', 'A', 'M', 'D', 'D', 'D', 'GK', 'D', 'A', 'A', 'D', 'D', 'D', 'M', 'A', 'D', 'M', 'A', 'M', 'GK', 'A', 'M', 'A', 'D', 'D', 'M', 'D', 'D', 'A', 'M', 'M', 'D', 'D', 'D', 'D', 'M', 'M', 'A', 'A', 'D', 'D', 'M', 'GK', 'A', 'A', 'A', 'M', 'D', 'M', 'D', 'M', 'M', 'M', 'D', 'D', 'A', 'D', 'M', 'M', 'D', 'M', 'M', 'A', 'A', 'A', 'GK', 'M', 'D', 'D', 'M', 'M', 'D', 'M', 'D', 'D', 'M', 'D', 'A', 'M', 'D', 'M', 'A', 'A', 'GK', 'D', 'M', 'M', 'A', 'A', 'A', 'GK', 'A', 'M', 'M', 'M', 'A', 'D', 'M', 'D', 'A', 'A', 'A', 'M', 'A', 'A', 'M', 'GK', 'A', 'A', 'A', 'M', 'D', 'M', 'D', 'D', 'D', 'A', 'M', 'A', 'GK', 'M', 'D', 'D', 'D', 'M', 'A', 'GK', 'M', 'D', 'M', 'M', 'M', 'M', 'GK', 'D', 'M', 'A', 'D', 'D', 'D', 'A', 'GK', 'M', 'D', 'M', 'M', 'A', 'A', 'M', 'M', 'D', 'D', 'D', 'GK', 'GK', 'M', 'A', 'D', 'A', 'D', 'D', 'M', 'GK', 'D', 'M', 'A', 'M', 'A', 'M', 'D', 'D', 'M', 'A', 'D', 'M', 'D', 'D', 'M', 'M', 'D', 'M', 'A', 'A', 'D', 'M', 'A', 'M', 'M', 'GK', 'M', 'M', 'M', 'D', 'GK', 'D', 'A', 'M', 'M', 'GK', 'M', 'A', 'A', 'D', 'D', 'D', 'GK', 'M', 'M', 'A', 'M', 'M', 'M', 'D', 'M', 'A', 'M', 'D', 'D', 'A', 'M', 'GK', 'D', 'D', 'M', 'D', 'A', 'GK', 'D', 'A', 'M', 'A', 'D', 'D', 'GK', 'A', 'D', 'M', 'M', 'A', 'M', 'M', 'D', 'GK', 'M', 'M', 'D', 'GK', 'M', 'GK', 'A', 'D', 'M', 'M', 'A', 'A', 'M', 'A', 'M', 'GK', 'D', 'D', 'M', 'M', 'M', 'M', 'A', 'D', 'A', 'GK', 'D', 'D', 'D', 'M', 'GK', 'D', 'GK', 'GK', 'A', 'D', 'GK', 'GK', 'A', 'GK', 'M', 'A', 'M', 'M', 'M', 'M', 'M', 'D', 'GK', 'M', 'D', 'D', 'A', 'A', 'D', 'D', 'GK', 'M', 'A', 'M', 'M', 'D', 'M', 'D', 'D', 'A', 'M', 'M', 'M', 'D', 'A', 'D', 'GK', 'M', 'D', 'M', 'A', 'A', 'D', 'A', 'M', 'A', 'D', 'M', 'A', 'M', 'GK', 'D', 'A', 'A', 'M', 'A', 'D', 'A', 'A', 'M', 'D', 'M', 'D', 'D', 'M', 'GK', 'A', 'A', 'D', 'D', 'D', 'M', 'M', 'M', 'A', 'M', 'D', 'A', 'M', 'D', 'M', 'M', 'A', 'D', 'GK', 'M', 'A', 'D', 'M', 'A', 'D', 'M', 'M', 'D', 'M', 'D', 'A', 'M', 'A', 'M', 'GK', 'A', 'M', 'M', 'D', 'M', 'M', 'D', 'D', 'A', 'M', 'M', 'M', 'M', 'A', 'M', 'M', 'D', 'A', 'D', 'A', 'M', 'A', 'D', 'GK', 'A', 'D', 'M', 'GK', 'D', 'D', 'D', 'A', 'D', 'M', 'M', 'A', 'M', 'A', 'M', 'M', 'D', 'A', 'A', 'D', 'D', 'M', 'D', 'GK', 'A', 'D', 'A', 'D', 'M', 'D', 'D', 'D', 'GK', 'D', 'D', 'A', 'GK', 'D', 'D', 'D', 'A', 'A', 'GK', 'D', 'D', 'D', 'A', 'A', 'M', 'M', 'D', 'D', 'D', 'GK', 'A', 'D', 'M', 'D', 'A', 'D', 'M', 'D', 'A', 'D', 'M', 'A', 'A', 'D', 'A', 'M', 'M', 'A', 'D', 'A', 'A', 'M', 'D', 'GK', 'M', 'A', 'M', 'D', 'D', 'D', 'A', 'D', 'M', 'D', 'A', 'M', 'D', 'D', 'D', 'D', 'M', 'A', 'M', 'M', 'GK', 'D', 'M', 'GK', 'A', 'A', 'D', 'M', 'M', 'A', 'D', 'M', 'M', 'M', 'A', 'A', 'M', 'A', 'A', 'D', 'A', 'A', 'D', 'M', 'M', 'D', 'D', 'M', 'M', 'GK', 'M', 'D', 'D', 'M', 'GK', 'A', 'D', 'D', 'A', 'A', 'D', 'A', 'M', 'GK', 'A', 'D', 'M', 'M', 'M', 'GK', 'A', 'M', 'A', 'A', 'A', 'A', 'M', 'A', 'A', 'M', 'D', 'M', 'M', 'A', 'D', 'D', 'A', 'A', 'M', 'M', 'M', 'M', 'D', 'D', 'A', 'M', 'D', 'A', 'D', 'D', 'D', 'A', 'M', 'M', 'M', 'D', 'M', 'M', 'M', 'M', 'M', 'M', 'A', 'A', 'A', 'D', 'GK', 'M', 'M', 'M', 'A', 'A', 'M', 'M', 'M', 'A', 'M', 'M', 'GK', 'M', 'D', 'A', 'M', 'D', 'GK', 'M', 'GK', 'M', 'M', 'A', 'M', 'D', 'A', 'M', 'M', 'A', 'M', 'M', 'A', 'M', 'M', 'A', 'D', 'M', 'M', 'D', 'D', 'M', 'D', 'A', 'D', 'A', 'A', 'D', 'A', 'M', 'A', 'M', 'GK', 'A', 'M', 'M', 'A', 'D', 'D', 'A', 'A', 'A', 'A', 'A', 'D', 'M', 'D', 'M', 'M', 'GK', 'D', 'D', 'A', 'GK', 'M', 'D', 'D', 'M', 'D', 'D', 'M', 'D', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'D', 'M', 'M', 'A', 'M', 'D', 'D', 'D', 'D', 'M', 'A', 'D', 'D', 'D', 'A', 'D', 'A', 'A', 'D', 'D', 'D', 'A', 'D', 'M', 'M', 'D', 'M', 'A', 'D', 'M', 'D', 'A', 'D', 'A', 'D', 'A', 'M', 'GK', 'D', 'GK', 'M', 'D', 'M', 'A', 'D', 'A', 'D', 'A', 'M', 'D', 'GK', 'A', 'A', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'A', 'D', 'M', 'D', 'D', 'D', 'A', 'A', 'A', 'M', 'M', 'D', 'GK', 'A', 'A', 'M', 'A', 'A', 'M', 'D', 'M', 'M', 'M', 'M', 'M', 'M', 'A', 'A', 'D', 'A', 'A', 'M', 'M', 'M', 'M', 'M', 'D', 'D', 'A', 'A', 'M', 'D', 'D', 'M', 'A', 'M', 'D', 'M', 'M', 'D', 'D', 'M', 'D', 'M', 'M', 'A', 'A', 'D', 'A', 'A', 'D', 'A', 'A', 'M', 'D', 'M', 'GK', 'A', 'D', 'D', 'GK', 'GK', 'D', 'D', 'M', 'M', 'A', 'A', 'A', 'D', 'M', 'D', 'M', 'D', 'D', 'A', 'A', 'A', 'A', 'D', 'A', 'A', 'M', 'M', 'D', 'A', 'M', 'M', 'M', 'A', 'M', 'M', 'D', 'GK', 'A', 'M', 'GK', 'D', 'D', 'M', 'A', 'GK', 'M', 'M', 'M', 'D', 'M', 'M', 'M', 'M', 'A', 'M', 'GK', 'M', 'A', 'M', 'M', 'M', 'M', 'A', 'A', 'A', 'M', 'D', 'M', 'D', 'D', 'M', 'M', 'A', 'D', 'M', 'D', 'M', 'A', 'M', 'A', 'D', 'A', 'GK', 'M', 'M', 'D', 'M', 'A', 'M', 'M', 'M', 'D', 'GK', 'GK', 'D', 'M', 'D', 'A', 'M', 'A', 'GK', 'D', 'D', 'M', 'GK', 'D', 'D', 'A', 'M', 'D', 'A', 'M', 'M', 'M', 'D', 'M', 'D', 'A', 'M', 'A', 'A', 'M', 'M', 'A', 'M', 'M', 'A', 'GK', 'D', 'GK', 'D', 'A', 'D', 'M', 'GK', 'D', 'M', 'M', 'GK', 'M', 'M', 'A', 'A', 'M', 'GK', 'D', 'GK', 'A', 'D', 'M', 'A', 'D', 'A', 'A', 'A', 'A', 'M', 'A', 'D', 'A', 'A', 'GK', 'M', 'M', 'D', 'D', 'D', 'A', 'GK', 'GK', 'D', 'M', 'D', 'GK', 'M', 'GK', 'M', 'D', 'A', 'M', 'D', 'M', 'M', 'A', 'D', 'A', 'A', 'M', 'D', 'A', 'GK', 'A', 'A', 'M', 'GK', 'M', 'M', 'A', 'D', 'M', 'M', 'GK', 'D', 'M', 'M', 'M', 'M', 'A', 'D', 'GK', 'A', 'M', 'D', 'M', 'A', 'M', 'D', 'D', 'M', 'M', 'A', 'GK', 'GK', 'A', 'D', 'M', 'M', 'M', 'M', 'D', 'D', 'D', 'M', 'M', 'D', 'D', 'D', 'GK', 'D', 'D', 'M', 'D', 'D', 'D', 'M', 'M', 'A', 'A', 'M', 'A', 'GK', 'D', 'D', 'M', 'M', 'A', 'D', 'GK', 'A', 'M', 'D', 'A', 'D', 'GK', 'GK', 'M', 'D', 'A', 'M', 'D', 'A', 'A', 'M', 'M', 'D', 'D', 'D', 'A', 'GK', 'A', 'A', 'M', 'M', 'M', 'M', 'D', 'A', 'M', 'A', 'A', 'D', 'D', 'D', 'A', 'M', 'D', 'D', 'D', 'D', 'D', 'A', 'A', 'A', 'M', 'D', 'A', 'A', 'M', 'M', 'D', 'D', 'A', 'M', 'M', 'A', 'A', 'M', 'D', 'D', 'A', 'A', 'GK', 'A', 'A', 'M', 'A', 'D', 'GK', 'D', 'M', 'A', 'M', 'A', 'M', 'D', 'M', 'D', 'D', 'GK', 'M', 'D', 'A', 'M', 'D', 'D', 'M', 'A', 'D', 'M', 'M', 'D', 'D', 'D', 'A', 'D', 'D', 'M', 'M', 'M', 'A', 'GK', 'GK', 'M', 'D', 'M', 'A', 'D', 'A', 'GK', 'M', 'A', 'A', 'A', 'GK', 'M', 'M', 'M', 'M', 'M', 'D', 'M', 'GK', 'A', 'A', 'M', 'A', 'A', 'A', 'M', 'D', 'M', 'D', 'A', 'M', 'M', 'GK', 'M', 'D', 'GK', 'D', 'D', 'M', 'D', 'A', 'M', 'A', 'M', 'D', 'D', 'GK', 'D', 'D', 'M', 'D', 'M', 'A', 'M', 'D', 'GK', 'A', 'M', 'GK', 'A', 'A', 'A', 'M', 'M', 'GK', 'M', 'D', 'M', 'D', 'GK', 'GK', 'D', 'D', 'M', 'A', 'M', 'D', 'A', 'A', 'D', 'A', 'M', 'D', 'M', 'A', 'A', 'GK', 'M', 'D', 'M', 'A', 'M', 'A', 'A', 'A', 'D', 'D', 'M', 'M', 'M', 'A', 'A', 'A', 'GK', 'M', 'A', 'D', 'D', 'M', 'D', 'M', 'A', 'M', 'M', 'A', 'A', 'D', 'D', 'D', 'A', 'D', 'A', 'D', 'D', 'A', 'GK', 'D', 'M', 'M', 'GK', 'M', 'M', 'D', 'A', 'A', 'M', 'D', 'M', 'D', 'D', 'D', 'A', 'GK', 'D', 'GK', 'M', 'D', 'M', 'A', 'A', 'D', 'M', 'D', 'D', 'A', 'A', 'M', 'M', 'D', 'D', 'D', 'D', 'M', 'M', 'D', 'A', 'M', 'D', 'D', 'M', 'A', 'M', 'M', 'D', 'A', 'M', 'D', 'M', 'D', 'M', 'D', 'D', 'D', 'M', 'A', 'M', 'A', 'A', 'GK', 'A', 'D', 'M', 'A', 'D', 'GK', 'D', 'A', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'A', 'D', 'A', 'D', 'M', 'M', 'A', 'D', 'D', 'D', 'D', 'D', 'A', 'A', 'A', 'A', 'A', 'M', 'GK', 'M', 'M', 'D', 'M', 'M', 'M', 'M', 'M', 'M', 'D', 'D', 'M', 'M', 'M', 'D', 'M', 'M', 'A', 'M', 'M', 'M', 'D', 'A', 'M', 'GK', 'A', 'D', 'A', 'M', 'M', 'D', 'M', 'A', 'M', 'A', 'A', 'M', 'D', 'A', 'A', 'A', 'M', 'A', 'M', 'D', 'M', 'D', 'A', 'D', 'M', 'A', 'D', 'GK', 'D', 'D', 'A', 'A', 'A', 'M', 'M', 'A', 'M', 'M', 'M', 'A', 'D', 'D', 'A', 'A', 'GK', 'A', 'D', 'GK', 'M', 'M', 'D', 'M', 'GK', 'D', 'GK', 'D', 'M', 'A', 'M', 'A', 'M', 'A', 'D', 'D', 'D', 'D', 'D', 'GK', 'A', 'A', 'A', 'D', 'D', 'M', 'M', 'D', 'M', 'GK', 'M', 'A', 'GK', 'M', 'M', 'D', 'A', 'A', 'M', 'GK', 'D', 'A', 'A', 'M', 'A', 'D', 'GK', 'M', 'GK', 'M', 'A', 'D', 'A', 'D', 'A', 'A', 'M', 'A', 'A', 'GK', 'M', 'D', 'D', 'M', 'A', 'A', 'GK', 'D', 'M', 'M', 'M', 'A', 'A', 'A', 'D', 'GK', 'A', 'D', 'M', 'A', 'GK', 'A', 'A', 'GK', 'D', 'M', 'A', 'A', 'D', 'M', 'D', 'D', 'A', 'M', 'M', 'GK', 'D', 'D', 'A', 'A', 'M', 'D', 'A', 'A', 'M', 'D', 'M', 'A', 'D', 'D', 'D', 'M', 'M', 'D', 'D', 'M', 'M', 'A', 'D', 'A', 'M', 'D', 'D', 'M', 'M', 'A', 'A', 'D', 'M', 'M', 'D', 'A', 'A', 'M', 'D', 'D', 'D', 'M', 'GK', 'D', 'A', 'M', 'D', 'A', 'M', 'M', 'A', 'M', 'A', 'GK', 'A', 'D', 'D', 'M', 'A', 'A', 'A', 'D', 'D', 'A', 'D', 'D', 'M', 'GK', 'D', 'D', 'M', 'M', 'M', 'M', 'A', 'D', 'M', 'D', 'D', 'M', 'A', 'D', 'M', 'D', 'A', 'A', 'A', 'A', 'M', 'GK', 'M', 'A', 'A', 'D', 'D', 'M', 'M', 'M', 'A', 'D', 'A', 'GK', 'D', 'D', 'A', 'M', 'M', 'D', 'A', 'GK', 'D', 'M', 'M', 'M', 'A', 'M', 'D', 'D', 'M', 'D', 'GK', 'GK', 'D', 'D', 'M', 'D', 'M', 'M', 'M', 'M', 'M', 'D', 'M', 'M', 'D', 'M', 'M', 'GK', 'D', 'GK', 'A', 'M', 'M', 'D', 'D', 'M', 'M', 'D', 'M', 'D', 'D', 'M', 'D', 'D', 'A', 'GK', 'A', 'M', 'A', 'D', 'D', 'A', 'M', 'GK', 'D', 'A', 'D', 'A', 'M', 'D', 'A', 'M', 'GK', 'M', 'A', 'A', 'GK', 'M', 'D', 'M', 'A', 'M', 'D', 'M', 'M', 'GK', 'D', 'M', 'A', 'A', 'A', 'M', 'A', 'D', 'M', 'M', 'A', 'M', 'A', 'M', 'GK', 'M', 'A', 'D', 'M', 'A', 'M', 'D', 'GK', 'A', 'A', 'D', 'D', 'D', 'M', 'D', 'A', 'A', 'A', 'M', 'M', 'D', 'A', 'A', 'A', 'M', 'A', 'M', 'A', 'D', 'GK', 'GK', 'M', 'D', 'GK', 'A', 'A', 'M', 'M', 'D', 'D', 'M', 'M', 'GK', 'D', 'D', 'GK', 'M', 'M', 'M', 'A', 'GK', 'A', 'M', 'A', 'M', 'D', 'M', 'M', 'GK', 'M', 'A', 'GK', 'D', 'GK', 'GK', 'A', 'D', 'A', 'GK', 'M', 'M', 'A', 'GK', 'A', 'M', 'M', 'A', 'M', 'D', 'D', 'M', 'M', 'A', 'M', 'M', 'M', 'A', 'A', 'M', 'A', 'D', 'D', 'GK', 'A', 'D', 'D', 'D', 'D', 'M', 'D', 'M', 'A', 'GK', 'A', 'D', 'A', 'A', 'A', 'A', 'D', 'GK', 'D', 'M', 'D', 'M', 'A', 'D', 'A', 'M', 'D', 'GK', 'A', 'M', 'D', 'D', 'GK', 'D', 'A', 'M', 'M', 'D', 'M', 'A', 'M', 'M', 'M', 'M', 'M', 'D', 'M', 'A', 'D', 'M', 'D', 'A', 'GK', 'D', 'A', 'M', 'D', 'D', 'GK', 'A', 'M', 'M', 'D', 'D', 'M', 'D', 'D', 'D', 'GK', 'A', 'M', 'M', 'D', 'M', 'D', 'M', 'D', 'A', 'A', 'M', 'D', 'GK', 'D', 'D', 'A', 'D', 'GK', 'D', 'GK', 'M', 'M', 'GK', 'A', 'D', 'M', 'D', 'D', 'A', 'GK', 'GK', 'D', 'A', 'A', 'D', 'D', 'M', 'M', 'D', 'M', 'M', 'D', 'M', 'D', 'M', 'M', 'D', 'D', 'D', 'M', 'D', 'D', 'GK', 'GK', 'M', 'GK', 'D', 'A', 'M', 'D', 'GK', 'M', 'GK', 'D', 'M', 'D', 'M', 'D', 'D', 'A', 'D', 'M', 'M', 'M', 'D', 'M', 'M', 'D', 'D', 'A', 'D', 'A', 'A', 'M', 'D', 'A', 'M', 'D', 'D', 'D', 'D', 'M', 'D', 'D', 'A', 'M', 'D', 'M', 'A', 'M', 'D', 'M', 'M', 'M', 'A', 'M', 'D', 'GK', 'M', 'M', 'A', 'D', 'D', 'D', 'D', 'A', 'D', 'D', 'D', 'M', 'D', 'D', 'D', 'A', 'D', 'M', 'A', 'D', 'M', 'M', 'GK', 'M', 'A', 'M', 'M', 'M', 'D', 'M', 'M', 'M', 'D', 'A', 'M', 'D', 'M', 'A', 'D', 'D', 'A', 'D', 'M', 'M', 'M', 'GK', 'M', 'D', 'M', 'A', 'D', 'D', 'M', 'A', 'M', 'A', 'M', 'A', 'D', 'A', 'M', 'M', 'M', 'M', 'D', 'A', 'A', 'M', 'GK', 'A', 'D', 'D', 'M', 'D', 'M', 'D', 'M', 'D', 'M', 'A', 'M', 'D', 'M', 'M', 'D', 'M', 'D', 'A', 'A', 'D', 'A', 'D', 'GK', 'D', 'M', 'D', 'M', 'D', 'D', 'D', 'M', 'M', 'M', 'D', 'A', 'D', 'GK', 'D', 'M', 'D', 'A', 'M', 'GK', 'D', 'M', 'D', 'M', 'D', 'M', 'GK', 'GK', 'D', 'M', 'A', 'D', 'GK', 'M', 'M', 'D', 'M', 'D', 'GK', 'GK', 'D', 'A', 'M', 'GK', 'A', 'M', 'M', 'M', 'M', 'D', 'GK', 'D', 'M', 'D', 'M', 'D', 'A', 'A', 'GK', 'GK', 'A', 'D', 'A', 'GK', 'M', 'A', 'A', 'M', 'GK', 'GK', 'D', 'M', 'D', 'M', 'A', 'D', 'D', 'M', 'GK', 'D', 'A', 'M', 'M', 'M', 'M', 'A', 'D', 'GK', 'GK', 'D', 'M', 'D', 'M', 'A', 'D', 'A', 'M', 'D', 'M', 'M', 'D', 'A', 'M', 'D', 'M', 'M', 'D', 'A', 'GK', 'M', 'GK', 'D', 'D', 'D', 'GK', 'D', 'M', 'M', 'M', 'D', 'GK', 'M', 'D', 'A', 'M', 'M', 'A', 'GK', 'M', 'D', 'D', 'M', 'M', 'D', 'M', 'M', 'GK', 'A', 'M', 'A', 'A', 'A', 'GK', 'D', 'D', 'D', 'D', 'GK', 'D', 'GK', 'D', 'D', 'GK', 'M', 'D', 'D', 'M', 'D', 'M', 'GK', 'A', 'M', 'M', 'A', 'D', 'D', 'D', 'D', 'GK', 'A', 'D', 'M', 'D', 'D', 'A', 'M', 'M', 'M', 'A', 'GK', 'M', 'D', 'M', 'D', 'M', 'M', 'GK', 'D', 'GK', 'A', 'D', 'GK', 'M', 'M', 'M', 'M', 'M', 'A', 'M', 'D', 'M', 'D', 'D', 'GK', 'M', 'D', 'GK', 'M', 'D', 'D', 'M', 'D', 'GK', 'A', 'A', 'D', 'D', 'M', 'M', 'M', 'M', 'D', 'A', 'M', 'M', 'D', 'A', 'GK', 'D', 'D', 'D', 'M', 'GK', 'D', 'D', 'D', 'M', 'M', 'D', 'M', 'M', 'D', 'D', 'M', 'D', 'M', 'A', 'M', 'M', 'D', 'M', 'D', 'D', 'GK', 'A', 'M', 'GK', 'M', 'M', 'D', 'M', 'GK', 'M', 'D', 'A', 'D', 'M', 'D', 'M', 'A', 'A', 'M', 'M', 'M', 'M', 'D', 'D', 'D', 'A', 'D', 'A', 'D', 'A', 'A', 'D', 'GK', 'A', 'D', 'A', 'D', 'A', 'A', 'D', 'M', 'M', 'D', 'M', 'A', 'M', 'D', 'M', 'M', 'A', 'A', 'D', 'GK', 'A', 'M', 'M', 'D', 'M', 'D', 'D', 'D', 'GK', 'D', 'GK', 'A', 'M', 'M', 'D', 'A', 'D', 'M', 'D', 'D', 'D', 'A', 'D', 'M', 'M', 'M', 'D', 'GK', 'M', 'M', 'M', 'M', 'M', 'D', 'D', 'GK', 'M', 'M', 'A', 'A', 'M', 'A', 'M', 'D', 'M', 'A', 'M', 'D', 'A', 'D', 'D', 'M', 'A', 'M', 'D', 'M', 'M', 'GK', 'GK', 'GK', 'A', 'A', 'M', 'A', 'M', 'A', 'M', 'GK', 'D', 'GK', 'M', 'GK', 'M', 'D', 'D', 'A', 'GK', 'D', 'M', 'D', 'M', 'A', 'A', 'D', 'D', 'A', 'D', 'M', 'A', 'M', 'M', 'D', 'M', 'M', 'M', 'A', 'M', 'GK', 'D', 'GK', 'M', 'D', 'A', 'M', 'D', 'D', 'D', 'A', 'M', 'GK', 'A', 'A', 'D', 'M', 'A', 'GK', 'D', 'D', 'A', 'M', 'D', 'M', 'D', 'D', 'D', 'D', 'D', 'A', 'M', 'M', 'M', 'M', 'GK', 'D', 'A', 'A', 'GK', 'A', 'M', 'D', 'D', 'D', 'GK', 'D', 'M', 'GK', 'M', 'A', 'M', 'GK', 'M', 'A', 'M', 'A', 'D', 'M', 'D', 'A', 'D', 'A', 'GK', 'D', 'A', 'M', 'GK', 'M', 'GK', 'D', 'GK', 'D', 'M', 'M', 'D', 'D', 'M', 'M', 'D', 'A', 'A', 'M', 'D', 'M', 'A', 'D', 'D', 'GK', 'M', 'D', 'A', 'D', 'M', 'GK', 'D', 'GK', 'M', 'D', 'D', 'M', 'D', 'A', 'D', 'M', 'D', 'GK', 'M', 'GK', 'A', 'M', 'GK', 'GK', 'D', 'D', 'A', 'D', 'M', 'GK', 'D', 'A', 'D', 'A', 'A', 'M', 'A', 'A', 'M', 'D', 'M', 'A', 'GK', 'D', 'M', 'D', 'M', 'GK', 'A', 'A', 'GK', 'A', 'A', 'A', 'D', 'D', 'A', 'GK', 'M', 'A', 'M', 'M', 'D', 'D', 'M', 'M', 'M', 'D', 'D', 'M', 'M', 'D', 'M', 'M', 'D', 'M', 'D', 'M', 'GK', 'GK', 'M', 'M', 'M', 'A', 'A', 'M', 'D', 'A', 'M', 'M', 'GK', 'M', 'A', 'A', 'A', 'D', 'D', 'M']
In [47]:
# heights and positions are available as lists
# Import numpy
import numpy as np
# Convert positions and heights to numpy arrays: np_positions, np_heights
np_positions = np.array(positions)
np_heights = np.array(heights)
# Heights of the goalkeepers: gk_heights
gk_heights = np_heights[np_positions == 'GK']
# Heights of the other players: other_heights
other_heights = np_heights[np_positions != 'GK']
# Print out the median height of goalkeepers. Replace 'None'
print("Median height of goalkeepers: " + str(np.median(gk_heights)))
# Print out the median height of other players. Replace 'None'
print("Median height of other players: " + str(np.median(other_heights)))