You are on page 1of 50

1.

import matplotlib.pyplot as plt


plt.Figure()
plt.axhline(y=5)
plt.axvline(x=5)

output
2.
import matplotlib.pyplot as plt

import numpy as np

profit = np.array([210000, 180000, 220000, 220000, 210000, 200000, 300000, 350000, \

230000, 250000, 410000, 300000])

month_number = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])

plt.plot(month_number, profit, "ro--")

plt.title("Company Sales data of last year\n")

# Labeling Axes

plt.xlabel("Month number")

plt.ylabel("Profit in dollar" )

plt.xticks(list(range(1,13,1)))

ticks = np.arange(100000, 500000, 50000)

plt.show()

OUTPUT
3.
import matplotlib.pyplot as plt

name_of_products = 'Facecream', 'Facewash', 'ToothPaste', \

'Bathing soap', 'Shampoo', 'Moisturizer'

sales_data = [12.3, 6.6, 24.9, 40.6, 9, 6.6]

plt.pie(sales_data, labels=name_of_products, autopct='%1.1f%%')

plt.legend(name_of_products)

plt.axis('equal')

plt.show()

OUTPUT
4.
import matplotlib.pyplot as plt

import numpy as np

profit = np.array([210000, 180000, 220000, 220000, 210000, 200000, 300000, 350000, \

230000, 250000, 410000, 300000])

month_number = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])

plt.plot(month_number, profit, "blue")

plt.title("Company Sales data of last year\n")

# Labeling Axes

plt.xlabel("Month number")

plt.ylabel("Profit in dollar" )

plt.xticks(list(range(1,13,1)))

ticks = np.arange(100000, 500000, 50000)

plt.show()

OUTPUT
5.
import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

from matplotlib import cm

from matplotlib.ticker import LinearLocator,FormatStrFormatter

fig = plt.figure()

ax = fig.gca(projection='3d')

z = np.linspace(0,2,200)

x = z*np.sin(40*z)

y = z*np.cos(40*z)

ax.plot(x,y,z,label = '3d line plot',color ='r')

ax.set_xlim(-2,2)

ax.xaxis.set_major_locator(LinearLocator(9))

ax.set_ylim(-2,2)

ax.yaxis.set_major_locator(LinearLocator(9))

ax.set_zlim(0,2)

ax.zaxis.set_major_locator(LinearLocator(9))

ax.zaxis.set_major_formatter(FormatStrFormatter('%0.02f'))

ax.legend()

plt.show()

OUTPUT
6.
import matplotlib as mpl

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

import numpy as np

mpl.rcParams['legend.fontsize']=10

fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

x = np.arange(-1,1,0.08)

y=x

x,y = np.meshgrid(x,y)

z = x**3 - 3*x*y**2

ax.plot_surface(x,y,z,cmap = 'viridis',edgecolor = 'black')

ax.set_xlabel('x')

ax.set_ylabel('y')

ax.set_zlabel('x**3 -3*x*y**2')

plt.show()

OUTPUT
7.
import matplotlib.pyplot as plt

import numpy as np

y = np.array([5200, 5100, 4550, 5800, 4550, 4900, 4800, \

5800, 6100, 8400, 7300, 7400])

x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])

plt.plot(x, y, "ob")

plt.grid()

plt.title("Tooth paste Sales data\n")

plt.xlabel("Month number")

plt.ylabel("Number of units sold" )

plt.xticks(list(range(1,13,1)))

plt.yticks(list(range(4000, 9000, 500)))

plt.show()

OUTPUT
8.
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

a = [2200, 2250, 2000, 3900, 4000, 2300, 2500, 3900, 3800, 2000, 2200, 2300]

b = [5000, 4800, 4600, 6000, 4200, 4500, 4500,5900, 6000, 8000, 7000, 7100 ]

c = [9500, 6000, 9500, 9000, 7500, 7000, 8000, 9000, 7000, 9000, 13000, 15000]

d = [1000, 2000, 3500, 2000, 1900, 2000, 2000, 3000, 2000, 2100, 2200, 1500]

e = [1500, 1000, 1100, 1000, 2000, 1900, 1200, 1500, 1900, 2000, 2200, 1500]

ax = plt.subplot()

ax.plot(x,a, 'bo-', linewidth=3)

ax.plot(x,b,'go-', linewidth=3)

ax.plot(x,c,'ro-', linewidth=3)

ax.plot(x,d,'mo-',linewidth=3)

ax.plot(x,e,'ko-', linewidth=3)

plt.xticks(list(range(1, 13, 1)))

plt.yticks([1000, 2000, 4000, 6000, 8000, 10000, 12000, 15000, 18000])

plt.xlabel('Month Number')

plt.ylabel('Sales Unit in number')

plt.title('Sales data')

plt.legend(['Face cream Sales Data', 'ToothPaste Sales \

Data', 'ToothPaste Sales Data', 'ToothPaste Sales Data','ToothPaste Sales Data'], loc = 'upper left')

plt.show()

OUTPUT
9.
import matplotlib.pyplot as plt

import numpy as np

monthList = [1,2,3,4,5,6,7,8,9,10,11,12]

faceCremSalesData = [2500,2630,2140,3400,3600,2760,2980,3700,3540,1990,2340,2900]

faceWashSalesData = [1500,1200,1340,1130,1740,1555,1120,1400,1780,1890,2100,1760]

toothPasteSalesData = [5200,5100,4550,5870,4560,4890,4780,5860,6100,8300,7300,7400]

bathingsoapSalesData = [9200,6100,9550,8870,7760,7490,8980,9960,8100,10300,13300,14400]

shampooSalesData = [1200,2100,3550,1870,1560,1890,1780,2860,2100,2300,2400,1800]

moisturizerSalesData = [1500,1200,1340,1130,1740,1555,1120,1400,1780,1890,2100,1760]

plt.plot([],[],color='m', label='face Cream', linewidth=5)

plt.plot([],[],color='c', label='Face wash', linewidth=5)

plt.plot([],[],color='r', label='Tooth paste', linewidth=5)

plt.plot([],[],color='k', label='Bathing soap', linewidth=5)

plt.plot([],[],color='g', label='Shampoo', linewidth=5)

plt.plot([],[],color='y', label='Moisturizer', linewidth=5)

plt.stackplot(monthList, faceCremSalesData, faceWashSalesData, toothPasteSalesData,


bathingsoapSalesData, shampooSalesData, moisturizerSalesData,

colors=['m','c','r','k','g','y'])

plt.xlabel('Month Number')

plt.ylabel('Sales unints in Number')

plt.title('Alll product sales data using stack plot')

plt.legend(loc='upper left')

plt.show()

OUTPUT

10. Area of a Pentagon


import math

def findArea(s):

area = (5*s*s)/(4*math.tan(math.pi/5))

return area

s = eval(input("Enter the length of a side of pentagon:"))

print("Area of Pentagon: ", findArea(s))


OUTPUT

Enter the length of a side of pentagon:4

Area of Pentagon: 27.527638409423474

11. Area of a regular polygon


import math

def findArea(n, s):

area = (n*s*s)/(4*math.tan(math.pi/n))

return area

n= eval(input("Enter the number of side of the polygon: "))

s = eval(input("Enter the length of a side of polygon: "))

print("Area of Polygon: ", findArea(n, s))

OUTPUT

Enter the number of side of the polygon: 6

Enter the length of a side of polygon: 3

Area of Polygon: 23.382685902179844

12. Print calendar using Zeller's congruence


y = int(input("Enter year: (e.g., 2008): "))

m = int(input("Enter month: 1-12: "))

if m==1:

m=13

y=y-1

elif m==2:

m=14

y=y-1
# extra processing for Jan and Feb, we also subtract one from year

j = y//100

k = y%100

h = (1 +(26*(m+1))//10 +k +k//4 +j//4 +(5*j)) % 7

#calculate the start day of the month by the Zeller's Congruence

week =["Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"]

print("Start day of month is: ", week[h] )

OUTPUT

Enter year: (e.g., 2008): 2012

Enter month: 1-12: 10

Start day of month is: Monday

13. Greatest Common Divisor


n1 = eval(input("Enter first integer: "))

n2 = eval(input("Enter second integer: "))

gcd = 1

k=2

while k <= n1 and k <= n2:

if n1 % k == 0 and n2 % k == 0:

gcd = k

k += 1

print("The greatest common divisor for", n1, "and", n2, "is", gcd)

OUTPUT

Enter first integer: 125

Enter second integer: 625

The greatest common divisor for 125 and 625 is 125


14. Least Commom Multiple
x = int(input("Enter first number: "))

y = int(input("Enter second number: "))

def lcm(x, y):

if x > y:

greater = x

else:

greater = y

while(True):

if((greater % x == 0) and (greater % y == 0)):

lcm = greater

break

greater += 1

return lcm

print("The Least common multiple of", x, "and", y, "is", lcm(x, y))

OUTPUT

Enter first number: 15

Enter second number: 30

The Least common multiple of 15 and 30 is 30

15. Monte Carlo Simulation


import random

NUMBER_OF_TRIALS = 1000000

numberOfHits = 0

for i in range(NUMBER_OF_TRIALS):

x = random.random( ) * 2 – 1
y = random.random( ) * 2 - 1

if x * x + y * y <= 1:

numberOfHits += 1

pi = 4 * numberOfHits / NUMBER_OF_TRIALS

print("PI is", pi)

OUTPUT

PI is 3.142568

16. Test Break


sum = 0

number = 0

while number < 20:

number += 1

sum += number

if sum >= 100:

break

print("The number is", number)

print("The sum is", sum)

OUTPUT

The number is 14

The sum is 105

17. Test Continue

sum = 0

number = 0

while number < 20:

number += 1
if number == 10 or number == 11:

continue

sum += number

print("The sum is", sum)

OUTPUT

The sum is 189

18. First 50 Prime Numbers


NUMBER_OF_PRIMES = 50

NUMBER_OF_PRIMES_PER_LINE = 10

count = 0

number = 2

print("The first 50 prime numbers are")

while count < NUMBER_OF_PRIMES:

isPrime = True

divisor = 2

while divisor <= number / 2:

if number % divisor == 0:

isPrime = False

break

divisor += 1

if isPrime:

count += 1

print(format(number, "5d"), end = ' ')

if count % NUMBER_OF_PRIMES_PER_LINE == 0:

print( )
number += 1

OUTPUT

The first 50 prime numbers are

2 3 5 7 11 13 17 19 23 29

31 37 41 43 47 53 59 61 67 71

73 79 83 89 97 101 103 107 109 113

127 131 137 139 149 151 157 163 167 173

179 181 191 193 197 199 211 223 227 229

19. Total Marks, Percentage and Grade of a Student


print("Name of the student: Toufik") print("Roll No: 14")

print("Enter the marks of five subjects:: ") subject_1 =

float (input())

subject_2 = float (input()) subject_3 =

float (input()) subject_4 = float

(input()) subject_5 = float (input())

total, average, percentage, division = None, None, None, None # It will

calculate the Total, Average and Percentage

total = subject_1 + subject_2 + subject_3 + subject_4 + subject_5 average =

total / 5.0

percentage = (total / 500.0) * 100 if average >=

60 and average < 70:

division = '1st'

elif average >= 50 and average < 60:


division = '2nd'

elif average >= 40 and average < 50:

division = 'fail'

# It will produce the final output

print("\nThe Total marks is: \t", total, "/ 500.00")

print("\nThe Average marks is: \t", average)

print("\nThe Percentage is: \t", percentage, "%")

print("\nThe division is: \t", division)

OUTPUT

Name of the student: Subhadip Roll

No: 38

Enter the marks of five subjects::

45

50

55

61

68

The Total marks is: 279.0 / 500.00

The Average marks is: 55.8

The Percentage is: 55.800000000000004 %

The division is: 2nd

20. Checking the age of the student for swimming


age = int(input("Enter the student age: "))

while(age<=0):

print("invalid age entered,age of a person cannot be less than or equal to zero,Please enter a valid
age.")
age = int(input("Enter the student age again: "))

if(age < 10):

print("Not allowed")

elif(age >= 10 and age <= 18):

print("Junior pool only")

else:

print("Swimming is allowed in depth also")

OUTPUT

Enter the student age: 0

invalid age entered,age of a person cannot be less than or equal to zero,Please enter a valid age.

Enter the student age again: 12

Junior pool only

21. Perform Addition, Subtraction, Multiplication


num1 = int(input("Enter First Number: "))

num2 = int(input("Enter Second Number: "))

print("Enter which operation would you like to perform? ")

ch = input("Enter any of these char for specific operation +,-,*: ")

result = 0

if ch == '+':

result = num1 + num2

elif ch == '-':

result = num1 - num2

elif ch == '*':

result = num1 * num2

else:
print("Input character is not recognized!")

print(num1, ch, num2, ":", result)

OUTPUT

Enter First Number: 67

Enter Second Number: 90

Enter which operation would you like to perform?

Enter any of these char for specific operation +,-,*: *

67 * 90 : 6030

22. Diamond Shape


import turtle

#defining instance of turtle

pen= turtle.Turtle()

wn = turtle.Turtle()

#this is for bigger triangle

pen.left(60)

pen.forward(200)

pen.left(120)

pen.forward(200)

pen.left(120)

pen.forward(200)

pen.left(150)

#this for making three lines inside the bigger triangle

pen.forward(174)

pen.backward(174)

pen.left(16.5)
pen.forward(180)

pen.backward(180)

pen.right(31.5)

pen.forward(180)

pen.right(75)

#this is for making upper triangle1

pen.forward(53)

pen.left(120)

pen.forward(50)

pen.left(120)

pen.forward(50)

#this is for making upper triangle2

pen.right(120)

pen.forward(50)

pen.left(120)

pen.forward(50)

#this is for making upper triangle3

pen.right(120)

pen.forward(50)

pen.left(120)

pen.forward(50)

#this is for making upper triangle4

pen.right(120)

pen.forward(50)

pen.left(120)
pen.forward(50)

pen.left(180)

pen.forward(50)

#this is for making line above all 4 small triangle

pen.left(300)

pen.forward(160)

OUTPUT

23. Star Shape


import turtle

t = turtle.Turtle()

for i in range(5):

t.forward(150)

t.right(144)

OUTPUT
24. Generate Random Characters
from random import randint #import randint

#Generate a random character between ch1 and ch2

def getRandomCharacter(ch1, ch2):

return chr(randint(ord(ch1), ord(ch2)))

#Generate a random lowercase letter

def getRandomLowerCaseLetter():

return getRandomCharacter('a', 'z')

#Generate a random uppercase letter

def getRandomUpperCaseLetter():

return getRandomCharacter('A', 'Z')

#Generate a random digit character():

def getRandomDigitCharacter():

return getRandomCharacter('0', '9')

#Generate a random character

def getRandomASCIICharacter():

return chr(radint(0 , 127))


import RandomCharacter

NUMBER_OF_CHARS = 100 #Number of characters to generate

CHARS_PER_LINE = 10 #Number of characters to display per line

#Print random characters between 'a' and 'z',25 chars per line

for i in range(NUMBER_OF_CHARS):

print(RandomCharacter.getRandomUpperCaseLetter(),end =" ")

if (i + 1)% CHARS_PER_LINE == 0:

print() #Jump to the new line

import RandomCharacter

NUMBER_OF_CHARS = 100 #Number of characters to generate

CHARS_PER_LINE = 10 #Number of characters to display per line

#Print random characters between 'a' and 'z',25 chars per line

for i in range(NUMBER_OF_CHARS):

print(RandomCharacter.getRandomDigitCharacter(),end =" ")

if (i + 1)% CHARS_PER_LINE == 0:

print() #Jump to the new line

OUTPUT

CBKNWEBIDU

EKTHMEHTTD

GILKZPQPOE

XWFNLNQXZO

RGXITQBMHL

INZXBYVTSE

UHAPIYKIWD

ZXDCAWITJV
UGRWXOOKOO

ITMLJPDDUR

5812079979

5217760157

9756742829

5260070307

2588193386

9914471896

7545641654

3038443891

5168780946

1830158367

25. Compute the Probability


from random import randint #import randint

#Generate a random character between ch1 and ch2

def getRandomCharacter(ch1, ch2):

return chr(randint(ord(ch1), ord(ch2)))

#Generate a random lowercase letter

def getRandomLowerCaseLetter():

return getRandomCharacter('a', 'z')

#Generate a random uppercase letter

def getRandomUpperCaseLetter():

return getRandomCharacter('A', 'Z')

#Generate a random digit character():

def getRandomDigitCharacter():
return getRandomCharacter('0', '9')

#Generate a random character

def getRandomASCIICharacter():

return chr(radint(0 , 127))

import RandomCharacter

NUMBER_OF_CHARS = 10000 # Number of characters to generate

count = 0

store_chars = []

# Generating random characters between 'A' and 'Z' and counting number of A

for i in range(NUMBER_OF_CHARS):

store_chars.append(RandomCharacter.getRandomUpperCaseLetter())

if store_chars[i] == 'A':

count += 1

print(store_chars)

print(count)

OUTPUT

['P', 'O', 'U', 'O', 'Z', 'W', 'Z', 'Z', 'U', 'F', 'M', 'X', 'V', 'S', 'Y', 'C', 'U', 'X', 'U', 'U', 'P', 'Y', 'X', 'W', 'A', 'K', 'P', 'B',
'X', 'O', 'C', 'G', 'S', 'D', 'L', 'U', 'P', 'U', 'O', 'Z', 'M', 'T', 'F', 'H', 'A', 'K', 'H', 'I', 'T', 'B', 'R', 'Q', 'R', 'N', 'T', 'D',
'D', 'J', 'Q', 'S', 'J', 'R', 'Q', 'C', 'B', 'L', 'J', 'R', 'I', 'V', 'W', 'F', 'Y', 'C', 'H', 'G', 'O', 'F', 'V', 'V', 'U', 'D', 'T', 'X', 'W',
'T', 'H', 'N', 'T', 'L', 'U', 'A', 'P', 'R', 'T', 'U', 'H', 'G', 'Q', 'T', 'A', 'M', 'Y', 'M', 'B', 'E', 'D', 'E', 'Z', 'D', 'Y', 'R', 'T',
'X', 'X', 'T', 'H', 'D', 'P', 'U', 'I', 'B', 'F', 'X', 'H', 'A', 'C', 'B', 'G', 'I', 'L', 'Y', 'M', 'W', 'S', 'O', 'K', 'E', 'K', 'J', 'L', 'J',
'C', 'L', 'R', 'K', 'X', 'N', 'A', 'Z', 'D', 'B', 'K', 'W', 'S', 'Q', 'M', 'A', 'Z', 'A', 'Z', 'J', 'Z', 'E', 'I', 'I', 'Q', 'W', 'B', 'O', 'D',
'A', 'B', 'B', 'E', 'B', 'E', 'O', 'T', 'F', 'Q', 'T', 'C', 'G', 'M', 'Q', 'I', 'H', 'V', 'B', 'M', 'O', 'Y', 'U', 'W', 'Y', 'J', 'R', 'G',
'X', 'H', 'J', 'G', 'O', 'X', 'A', 'U', 'P', 'Y', 'Q', 'D', 'N', 'Q', 'X', 'H', 'Z', 'W', 'N', 'D', 'X', 'T', 'T', 'X', 'J', 'F', 'M', 'Q',
'Z', 'Y', 'P', 'K', 'Q', 'U', 'E', 'P', 'A', 'U', 'O', 'B', 'Q', 'U', 'U', 'G', 'Q', 'D', 'D', 'B', 'A', 'D', 'D', 'Q', 'M', 'I', 'C', 'E',
'X', 'F', 'G', 'V', 'N', 'N', 'J', 'B', 'G', 'I', 'Q', 'G', 'N', 'J', 'Y', 'O', 'Y', 'N', 'Z', 'R', 'U', 'N', 'F', 'J', 'Q', 'G', 'Z', 'M', 'V',
'O', 'N', 'N', 'N', 'G', 'P', 'A', 'B', 'A', 'F', 'U', 'D', 'U', 'Z', 'O', 'T', 'J', 'J', 'M', 'R', 'W', 'E', 'X', 'V', 'D', 'T', 'B', 'U',
'D', 'V', 'Y', 'R', 'X', 'Q', 'L', 'F', 'O', 'M', 'H', 'I', 'T', 'F', 'O', 'Y', 'K', 'N', 'Y', 'A', 'S', 'H', 'Q', 'S', 'Z', 'W', 'Z', 'E',
'Q', 'E', 'X', 'E', 'K', 'Y', 'B', 'B', 'L', 'X', 'T', 'A', 'V', 'S', 'I', 'J', 'P', 'A', 'A', 'F', 'X', 'J', 'T', 'F', 'K', 'B', 'H', 'W', 'B',
'X', 'Z', 'E', 'J', 'X', 'T', 'S', 'F', 'M', 'L', 'I', 'U', 'A', 'Q', 'J', 'W', 'T', 'R', 'I', 'Q', 'S', 'F', 'B', 'C', 'D', 'D', 'F', 'J', 'F',
'M', 'T', 'G', 'U', 'Q', 'Z', 'K', 'N', 'O', 'M', 'L', 'F', 'R', 'T', 'V', 'V', 'O', 'D', 'J', 'M', 'N', 'W', 'S', 'C', 'B', 'Q', 'E', 'F',
'Z', 'V', 'Q', 'T', 'V', 'U', 'L', 'G', 'O', 'W', 'Y', 'T', 'J', 'J', 'X', 'C', 'E', 'U', 'I', 'D', 'I', 'A', 'I', 'G', 'O', 'X', 'G', 'B', 'W',
'V', 'H', 'G', 'C', 'D', 'A', 'T', 'Y', 'P', 'Z', 'L', 'E', 'G', 'R', 'T', 'K', 'D', 'J', 'J', 'G', 'F', 'T', 'W', 'Z', 'R', 'D', 'S', 'A', 'I',
'G', 'M', 'G', 'A', 'J', 'M', 'H', 'I', 'D', 'O', 'O', 'B', 'Z', 'J', 'O', 'M', 'V', 'I', 'Z', 'K', 'V', 'P', 'G', 'R', 'Z', 'W', 'L', 'F', 'I',
'R', 'J', 'W', 'B', 'L', 'V', 'B', 'S', 'T', 'K', 'T', 'O', 'D', 'C', 'T', 'S', 'B', 'H', 'V', 'J', 'G', 'X', 'V', 'I', 'F', 'M', 'G', 'S', 'V',
'C', 'Z', 'Q', 'V', 'H', 'Z', 'S', 'R', 'H', 'A', 'B', 'W', 'C', 'S', 'K', 'E', 'J', 'K', 'W', 'R', 'Q', 'N', 'R', 'P', 'U', 'I', 'E', 'C', 'T',
'I', 'M', 'W', 'T', 'P', 'I', 'A', 'X', 'G', 'K', 'U', 'E', 'L', 'J', 'W', 'T', 'B', 'L', 'M', 'M', 'C', 'I', 'R', 'U', 'G', 'X', 'H', 'C', 'L',
'O', 'A', 'P', 'K', 'T', 'Z', 'V', 'E', 'B', 'L', 'A', 'E', 'X', 'C', 'V', 'N', 'D', 'V', 'X', 'M', 'M', 'A', 'E', 'A', 'O', 'N', 'D', 'R',
'H', 'F', 'K', 'Y', 'V', 'H', 'V', 'P', 'H', 'K', 'K', 'D', 'S', 'Y', 'F', 'H', 'X', 'Q', 'Q', 'A', 'I', 'C', 'R', 'K', 'W', 'Z', 'A', 'Z', 'A',
'L', 'C', 'X', 'X', 'Z', 'L', 'R', 'O', 'C', 'D', 'K', 'O', 'C', 'N', 'L', 'O', 'U', 'R', 'D', 'P', 'C', 'R', 'Q', 'W', 'J', 'M', 'D', 'O',
'C', 'Y', 'N', 'U', 'A', 'B', 'F', 'Y', 'X', 'F', 'G', 'Q', 'F', 'W', 'J', 'N', 'E', 'F', 'Y', 'G', 'U', 'J', 'P', 'K', 'Y', 'X', 'P', 'H', 'M',
'T', 'C', 'J', 'M', 'O', 'D', 'A', 'O', 'S', 'E', 'R', 'V', 'D', 'Y', 'G', 'H', 'X', 'H', 'G', 'V', 'W', 'N', 'Y', 'A', 'F', 'J', 'S', 'J',
'Q', 'B', 'G', 'V', 'U', 'F', 'F', 'Z', 'J', 'W', 'T', 'S', 'J', 'T', 'V', 'L', 'G', 'O', 'H', 'A', 'J', 'O', 'W', 'B', 'Q', 'M', 'D', 'D',
'V', 'W', 'U', 'K', 'K', 'Q', 'Z', 'H', 'G', 'O', 'O', 'A', 'S', 'S', 'Z', 'V', 'Z', 'C', 'Y', 'Z', 'C', 'I', 'L', 'V', 'Q', 'D', 'P', 'H',
'W', 'P', 'I', 'Q', 'A', 'E', 'I', 'T', 'H', 'A', 'H', 'S', 'H', 'V', 'B', 'K', 'I', 'Z', 'S', 'A', 'H', 'M', 'Y', 'I', 'X', 'N', 'H', 'D', 'E',
'Q', 'K', 'Z', 'Q', 'T', 'O', 'L', 'N', 'N', 'P', 'W', 'D', 'O', 'Q', 'B', 'L', 'L', 'F', 'U', 'Q', 'B', 'A', 'E', 'Z', 'D', 'O', 'N', 'X',
'L', 'D', 'V', 'H', 'M', 'A', 'I', 'O', 'I', 'L', 'X', 'R', 'I', 'V', 'F', 'M', 'M', 'L', 'G', 'Y', 'C', 'P', 'D', 'K', 'F', 'H', 'C', 'H', 'J',
'P', 'Y', 'L', 'Y', 'R', 'L', 'R', 'U', 'O', 'F', 'J', 'A', 'Z', 'A', 'N', 'G', 'Q', 'Q', 'E', 'T', 'V', 'F', 'G', 'B', 'J', 'O', 'I', 'W', 'E',
'U', 'W', 'A', 'N', 'G', 'H', 'O', 'R', 'F', 'V', 'N', 'U', 'Y', 'G', 'L', 'M', 'L', 'Q', 'S', 'J', 'F', 'R', 'O', 'M', 'M', 'K', 'M',
'Q', 'R', 'Y', 'C', 'X', 'R', 'M', 'H', 'T', 'J', 'Q', 'L', 'K', 'O', 'C', 'H', 'V', 'T', 'Q', 'F', 'G', 'D', 'T', 'J', 'Q', 'F', 'B', 'W',
'D', 'O', 'I', 'K', 'F', 'O', 'Z', 'N', 'J', 'A', 'V', 'D', 'O', 'O', 'B', 'Q', 'W', 'W', 'T', 'S', 'V', 'V', 'X', 'F', 'B', 'V', 'R', 'Q',
'Z', 'C', 'N', 'C', 'O', 'W', 'L', 'Z', 'R', 'M', 'J', 'D', 'Y', 'V', 'Q', 'K', 'I', 'R', 'B', 'R', 'Y', 'X', 'L', 'I', 'W', 'H', 'A', 'G', 'O',
'N', 'E', 'G', 'P', 'P', 'I', 'O', 'A', 'O', 'Y', 'B', 'L', 'M', 'Y', 'B', 'K', 'N', 'T', 'X', 'W', 'T', 'H', 'V', 'R', 'M', 'W', 'J', 'O',
'T', 'E', 'L', 'C', 'B', 'R', 'A', 'V', 'D', 'D', 'K', 'N', 'W', 'K', 'H', 'T', 'J', 'C', 'K', 'A', 'A', 'N', 'H', 'Z', 'L', 'D', 'X', 'G', 'A',
'G', 'T', 'J', 'J', 'U', 'T', 'W', 'C', 'Q', 'B', 'U', 'Q', 'L', 'N', 'B', 'J', 'O', 'F', 'F', 'Q', 'K', 'D', 'F', 'I', 'F', 'N', 'G', 'K', 'O',
'P', 'T', 'S', 'F', 'F', 'K', 'C', 'B', 'V', 'D', 'H', 'M', 'W', 'L', 'S', 'X', 'H', 'B', 'U', 'W', 'V', 'Y', 'F', 'L', 'M', 'O', 'R', 'V',
'O', 'L', 'C', 'J', 'R', 'Q', 'Q', 'X', 'X', 'O', 'H', 'R', 'X', 'U', 'P', 'W', 'W', 'E', 'H', 'D', 'O', 'M', 'W', 'C', 'F', 'B', 'J', 'E',
'N', 'Y', 'P', 'E', 'U', 'P', 'A', 'X', 'R', 'D', 'P', 'G', 'B', 'A', 'S', 'X', 'X', 'L', 'A', 'H', 'A', 'F', 'I', 'F', 'L', 'Y', 'E', 'T', 'P',
'N', 'M', 'Z', 'A', 'S', 'A', 'I', 'A', 'R', 'C', 'X', 'N', 'X', 'F', 'H', 'J', 'N', 'U', 'A', 'T', 'W', 'R', 'T', 'D', 'P', 'R', 'T', 'B', 'E',
'Z', 'P', 'G', 'T', 'I', 'I', 'G', 'J', 'X', 'H', 'E', 'O', 'W', 'F', 'I', 'Y', 'P', 'Y', 'X', 'R', 'S', 'Z', 'G', 'M', 'P', 'P', 'A', 'S', 'L',
'M', 'A', 'E', 'B', 'U', 'Y', 'E', 'K', 'K', 'U', 'R', 'V', 'L', 'R', 'C', 'S', 'F', 'Z', 'Y', 'A', 'E', 'Q', 'G', 'O', 'W', 'Z', 'Z', 'V', 'S',
'O', 'F', 'P', 'R', 'E', 'R', 'H', 'Z', 'V', 'M', 'T', 'W', 'W', 'J', 'N', 'S', 'X', 'D', 'V', 'H', 'A', 'R', 'J', 'L', 'P', 'L', 'F', 'H',
'U', 'Q', 'T', 'G', 'D', 'Q', 'R', 'A', 'P', 'F', 'C', 'W', 'L', 'M', 'D', 'E', 'J', 'G', 'H', 'K', 'R', 'D', 'A', 'B', 'T', 'Z', 'X', 'Z',
'G', 'G', 'X', 'M', 'Y', 'S', 'H', 'T', 'L', 'W', 'K', 'Q', 'B', 'R', 'A', 'G', 'I', 'K', 'U', 'S', 'E', 'I', 'Z', 'K', 'W', 'D', 'A', 'D',
'O', 'W', 'T', 'Z', 'T', 'J', 'I', 'N', 'T', 'B', 'L', 'M', 'O', 'Z', 'G', 'B', 'B', 'Y', 'W', 'U', 'S', 'C', 'A', 'G', 'R', 'N', 'J', 'G',
'C', 'N', 'L', 'Z', 'K', 'H', 'K', 'X', 'P', 'D', 'N', 'X', 'M', 'K', 'A', 'X', 'I', 'Y', 'X', 'Q', 'T', 'Y', 'D', 'L', 'Z', 'H', 'N', 'U', 'V',
'T', 'L', 'F', 'M', 'A', 'W', 'T', 'M', 'O', 'I', 'B', 'C', 'N', 'V', 'J', 'Z', 'G', 'L', 'A', 'K', 'H', 'Q', 'X', 'V', 'M', 'F', 'I', 'Q',
'Y', 'J', 'I', 'H', 'Z', 'A', 'Q', 'F', 'V', 'X', 'Q', 'R', 'E', 'I', 'Q', 'C', 'Q', 'G', 'C', 'B', 'T', 'L', 'X', 'P', 'K', 'O', 'A', 'O', 'H',
'J', 'T', 'N', 'U', 'L', 'U', 'Y', 'S', 'U', 'I', 'A', 'U', 'X', 'M', 'O', 'Q', 'H', 'U', 'E', 'J', 'Q', 'A', 'Q', 'G', 'P', 'F', 'H', 'S', 'Z',
'K', 'R', 'I', 'P', 'S', 'C', 'K', 'L', 'S', 'Y', 'Z', 'M', 'T', 'E', 'G', 'L', 'D', 'U', 'X', 'G', 'K', 'E', 'S', 'G', 'F', 'A', 'U', 'B', 'Q',
'K', 'Z', 'V', 'Y', 'S', 'B', 'O', 'U', 'J', 'X', 'L', 'O', 'B', 'Y', 'W', 'Z', 'K', 'Q', 'B', 'Z', 'M', 'S', 'S', 'Q', 'B', 'X', 'Y', 'M', 'I',
'Z', 'Z', 'U', 'C', 'H', 'C', 'R', 'E', 'J', 'I', 'R', 'Y', 'O', 'R', 'B', 'N', 'N', 'K', 'K', 'K', 'T', 'A', 'C', 'Y', 'H', 'E', 'Z', 'G', 'U',
'I', 'H', 'R', 'J', 'M', 'J', 'V', 'J', 'K', 'D', 'J', 'M', 'V', 'G', 'Y', 'G', 'L', 'N', 'T', 'D', 'L', 'D', 'U', 'B', 'S', 'J', 'V', 'V', 'Y',
'A', 'D', 'F', 'O', 'X', 'F', 'W', 'T', 'K', 'A', 'B', 'H', 'R', 'P', 'E', 'O', 'P', 'B', 'W', 'C', 'C', 'S', 'H', 'F', 'Z', 'T', 'M', 'F',
'R', 'L', 'U', 'H', 'I', 'T', 'B', 'G', 'P', 'F', 'P', 'Q', 'S', 'A', 'F', 'H', 'V', 'H', 'W', 'Z', 'J', 'P', 'M', 'H', 'G', 'F', 'Z', 'R', 'F',
'N', 'W', 'C', 'R', 'W', 'X', 'J', 'B', 'K', 'H', 'O', 'P', 'W', 'I', 'H', 'G', 'E', 'Q', 'T', 'Z', 'X', 'Z', 'A', 'A', 'J', 'Q', 'F', 'X',
'U', 'G', 'V', 'M', 'F', 'W', 'Q', 'O', 'Z', 'U', 'G', 'Q', 'V', 'J', 'Y', 'H', 'B', 'B', 'K', 'F', 'O', 'U', 'P', 'K', 'U', 'Q', 'L', 'C',
'N', 'I', 'J', 'G', 'C', 'E', 'K', 'Q', 'X', 'D', 'S', 'B', 'B', 'U', 'C', 'F', 'B', 'J', 'N', 'G', 'Y', 'U', 'O', 'V', 'Y', 'T', 'R', 'W', 'F',
'Y', 'O', 'W', 'R', 'B', 'L', 'Z', 'S', 'D', 'V', 'W', 'N', 'R', 'N', 'M', 'Z', 'L', 'J', 'E', 'G', 'Z', 'I', 'T', 'K', 'C', 'R', 'H', 'V',
'U', 'Q', 'G', 'N', 'M', 'W', 'T', 'F', 'M', 'I', 'Z', 'D', 'P', 'B', 'B', 'W', 'X', 'N', 'B', 'V', 'I', 'J', 'Z', 'I', 'Q', 'J', 'H', 'F', 'R',
'H', 'U', 'Q', 'S', 'X', 'M', 'Z', 'W', 'J', 'A', 'E', 'M', 'C', 'T', 'W', 'K', 'U', 'O', 'A', 'B', 'I', 'T', 'M', 'B', 'W', 'I', 'G', 'Y',
'D', 'U', 'U', 'J', 'F', 'M', 'M', 'Y', 'P', 'Y', 'Z', 'H', 'G', 'D', 'Z', 'J', 'K', 'E', 'G', 'C', 'V', 'V', 'I', 'S', 'W', 'P', 'V', 'X',
'W', 'Y', 'T', 'K', 'E', 'G', 'X', 'Y', 'Z', 'U', 'O', 'H', 'O', 'N', 'F', 'M', 'X', 'B', 'Y', 'B', 'E', 'D', 'M', 'A', 'V', 'D', 'Z', 'N',
'O', 'W', 'A', 'W', 'K', 'Q', 'F', 'Y', 'S', 'R', 'F', 'D', 'Z', 'Z', 'A', 'G', 'W', 'R', 'E', 'X', 'H', 'B', 'L', 'D', 'U', 'Y', 'Z', 'C',
'D', 'Z', 'A', 'I', 'Z', 'Z', 'J', 'J', 'M', 'N', 'W', 'Y', 'M', 'B', 'S', 'K', 'V', 'H', 'Y', 'F', 'A', 'W', 'W', 'F', 'S', 'Q', 'X', 'B',
'A', 'V', 'B', 'E', 'S', 'N', 'D', 'N', 'I', 'C', 'I', 'A', 'O', 'Y', 'L', 'V', 'U', 'T', 'R', 'R', 'L', 'W', 'K', 'C', 'X', 'V', 'D', 'W', 'K',
'L', 'B', 'T', 'R', 'U', 'M', 'G', 'T', 'Y', 'E', 'N', 'X', 'I', 'S', 'L', 'B', 'Y', 'Y', 'O', 'N', 'O', 'B', 'D', 'O', 'X', 'T', 'E', 'V', 'I',
'G', 'L', 'A', 'S', 'B', 'R', 'K', 'V', 'H', 'K', 'C', 'G', 'W', 'T', 'X', 'M', 'G', 'Q', 'Q', 'E', 'Z', 'E', 'W', 'Y', 'E', 'W', 'Z', 'O',
'R', 'P', 'J', 'Q', 'I', 'F', 'Q', 'Y', 'X', 'G', 'U', 'C', 'H', 'I', 'I', 'U', 'W', 'A', 'R', 'N', 'O', 'Z', 'O', 'J', 'U', 'X', 'V', 'W', 'Z',
'K', 'V', 'L', 'S', 'T', 'Y', 'E', 'E', 'F', 'O', 'Z', 'T', 'L', 'L', 'Y', 'W', 'V', 'Q', 'J', 'P', 'B', 'H', 'D', 'O', 'U', 'P', 'E', 'K', 'F',
'U', 'X', 'M', 'A', 'M', 'R', 'C', 'O', 'V', 'Q', 'V', 'P', 'V', 'D', 'X', 'H', 'N', 'R', 'N', 'R', 'V', 'G', 'M', 'W', 'Z', 'G', 'Q',
'W', 'T', 'X', 'P', 'P', 'E', 'G', 'D', 'L', 'L', 'V', 'F', 'W', 'A', 'J', 'P', 'X', 'Y', 'U', 'G', 'R', 'B', 'J', 'F', 'Z', 'T', 'P', 'H', 'N',
'K', 'R', 'R', 'C', 'A', 'V', 'V', 'J', 'X', 'L', 'B', 'A', 'P', 'D', 'C', 'H', 'Y', 'F', 'Y', 'F', 'L', 'Z', 'S', 'R', 'C', 'W', 'M', 'P', 'L',
'Y', 'O', 'E', 'T', 'H', 'E', 'V', 'J', 'O', 'Q', 'R', 'S', 'L', 'P', 'S', 'M', 'W', 'M', 'P', 'V', 'X', 'U', 'V', 'V', 'H', 'I', 'U', 'A',
'W', 'R', 'S', 'E', 'J', 'Z', 'B', 'Q', 'W', 'O', 'O', 'F', 'K', 'K', 'D', 'R', 'P', 'R', 'F', 'V', 'L', 'D', 'Q', 'M', 'X', 'Z', 'D', 'U',
'D', 'W', 'H', 'M', 'J', 'Q', 'J', 'N', 'U', 'B', 'F', 'H', 'G', 'G', 'O', 'A', 'M', 'R', 'V', 'X', 'Q', 'A', 'S', 'B', 'Y', 'H', 'O', 'C',
'G', 'S', 'L', 'W', 'K', 'R', 'W', 'W', 'C', 'Z', 'S', 'S', 'S', 'K', 'C', 'F', 'M', 'V', 'G', 'O', 'D', 'F', 'H', 'T', 'D', 'E', 'G', 'F',
'Q', 'N', 'N', 'K', 'O', 'N', 'S', 'C', 'Z', 'K', 'A', 'L', 'T', 'H', 'T', 'W', 'F', 'W', 'G', 'J', 'A', 'D', 'S', 'E', 'D', 'V', 'Y', 'I', 'L',
'H', 'F', 'X', 'M', 'H', 'F', 'Q', 'T', 'Z', 'F', 'J', 'N', 'M', 'T', 'H', 'N', 'K', 'E', 'O', 'R', 'O', 'J', 'O', 'V', 'E', 'Q', 'I', 'B', 'Y',
'V', 'H', 'S', 'D', 'Z', 'X', 'Q', 'G', 'T', 'Y', 'S', 'P', 'T', 'C', 'X', 'V', 'M', 'N', 'Q', 'P', 'W', 'D', 'A', 'X', 'N', 'U', 'R', 'M',
'F', 'Q', 'G', 'F', 'Y', 'U', 'O', 'U', 'W', 'K', 'N', 'E', 'E', 'I', 'E', 'U', 'D', 'P', 'G', 'T', 'G', 'L', 'V', 'V', 'U', 'H', 'N', 'J', 'I',
'R', 'Q', 'N', 'F', 'A', 'P', 'I', 'D', 'R', 'H', 'Q', 'R', 'B', 'V', 'G', 'V', 'B', 'E', 'N', 'H', 'F', 'I', 'I', 'M', 'X', 'W', 'S', 'Z', 'E',
'Z', 'R', 'A', 'W', 'G', 'Z', 'H', 'L', 'O', 'B', 'Q', 'Q', 'Q', 'B', 'B', 'H', 'L', 'W', 'K', 'Z', 'N', 'X', 'X', 'V', 'O', 'H', 'P', 'M',
'C', 'H', 'P', 'E', 'B', 'V', 'M', 'Y', 'U', 'L', 'M', 'F', 'Y', 'Q', 'S', 'E', 'S', 'C', 'P', 'N', 'L', 'D', 'M', 'J', 'K', 'N', 'H', 'S',
'E', 'D', 'I', 'L', 'J', 'W', 'N', 'D', 'G', 'U', 'N', 'J', 'Z', 'Y', 'W', 'I', 'B', 'O', 'U', 'A', 'W', 'T', 'Q', 'J', 'D', 'F', 'G', 'B', 'K',
'Y', 'L', 'F', 'L', 'N', 'V', 'T', 'W', 'O', 'V', 'A', 'A', 'P', 'H', 'B', 'O', 'E', 'S', 'Q', 'E', 'A', 'A', 'X', 'K', 'M', 'H', 'S', 'B',
'K', 'Z', 'E', 'U', 'A', 'P', 'K', 'I', 'D', 'L', 'B', 'B', 'T', 'J', 'N', 'I', 'V', 'N', 'R', 'U', 'U', 'M', 'S', 'O', 'Y', 'B', 'Y', 'K', 'S',
'V', 'A', 'K', 'V', 'O', 'A', 'N', 'P', 'T', 'M', 'K', 'H', 'F', 'P', 'K', 'Y', 'I', 'I', 'D', 'L', 'I', 'Q', 'H', 'V', 'I', 'L', 'G', 'V', 'C',
'K', 'G', 'X', 'A', 'P', 'C', 'U', 'C', 'P', 'R', 'I', 'D', 'O', 'B', 'R', 'F', 'Y', 'S', 'L', 'D', 'O', 'J', 'N', 'Q', 'C', 'F', 'Z', 'A', 'O',
'Z', 'I', 'B', 'H', 'X', 'G', 'K', 'W', 'B', 'X', 'U', 'E', 'U', 'B', 'K', 'R', 'C', 'A', 'J', 'C', 'F', 'A', 'M', 'M', 'P', 'S', 'B', 'S',
'D', 'D', 'Z', 'T', 'C', 'P', 'T', 'Y', 'D', 'P', 'O', 'U', 'F', 'Y', 'D', 'T', 'H', 'U', 'A', 'I', 'P', 'Y', 'B', 'C', 'U', 'B', 'R', 'H', 'P',
'G', 'E', 'L', 'H', 'W', 'I', 'P', 'N', 'D', 'J', 'L', 'A', 'N', 'S', 'P', 'B', 'I', 'M', 'X', 'S', 'T', 'X', 'I', 'I', 'Z', 'A', 'V', 'Z', 'P', 'T',
'U', 'Z', 'Q', 'N', 'H', 'I', 'C', 'B', 'N', 'M', 'R', 'E', 'C', 'H', 'Y', 'M', 'N', 'K', 'O', 'D', 'Z', 'A', 'Q', 'E', 'I', 'C', 'C', 'O',
'T', 'J', 'H', 'Q', 'R', 'M', 'W', 'T', 'N', 'X', 'J', 'J', 'Q', 'O', 'U', 'P', 'I', 'I', 'E', 'U', 'E', 'K', 'D', 'Z', 'E', 'I', 'T', 'F', 'J',
'G', 'M', 'P', 'C', 'S', 'E', 'P', 'Q', 'M', 'V', 'G', 'W', 'K', 'V', 'N', 'S', 'T', 'Y', 'P', 'M', 'E', 'R', 'N', 'G', 'L', 'A', 'N', 'B',
'H', 'Q', 'C', 'A', 'I', 'O', 'Z', 'R', 'F', 'K', 'P', 'D', 'A', 'V', 'P', 'W', 'N', 'Z', 'L', 'U', 'T', 'H', 'R', 'Z', 'D', 'H', 'W', 'O',
'L', 'V', 'U', 'Y', 'B', 'U', 'E', 'Z', 'V', 'K', 'V', 'M', 'D', 'U', 'Y', 'D', 'C', 'I', 'O', 'N', 'D', 'B', 'V', 'G', 'N', 'X', 'T', 'M',
'S', 'V', 'H', 'Q', 'T', 'J', 'A', 'M', 'X', 'S', 'U', 'W', 'R', 'C', 'M', 'C', 'W', 'B', 'U', 'U', 'L', 'S', 'U', 'K', 'A', 'I', 'T', 'U',
'M', 'M', 'F', 'X', 'F', 'X', 'H', 'F', 'R', 'O', 'C', 'Z', 'H', 'G', 'R', 'S', 'X', 'K', 'U', 'E', 'U', 'H', 'Y', 'M', 'P', 'Y', 'U', 'T',
'B', 'K', 'A', 'S', 'Y', 'G', 'U', 'C', 'S', 'T', 'K', 'K', 'Y', 'Y', 'A', 'U', 'N', 'F', 'G', 'Q', 'L', 'Z', 'G', 'O', 'X', 'N', 'Q', 'I', 'A',
'M', 'D', 'J', 'T', 'X', 'P', 'A', 'U', 'W', 'O', 'R', 'C', 'L', 'A', 'U', 'J', 'K', 'L', 'O', 'V', 'I', 'S', 'T', 'H', 'F', 'Y', 'R', 'V', 'K',
'S', 'Q', 'J', 'Z', 'X', 'A', 'E', 'I', 'Q', 'X', 'B', 'Z', 'O', 'Y', 'T', 'O', 'Q', 'F', 'X', 'T', 'O', 'K', 'S', 'M', 'F', 'B', 'M', 'H', 'S',
'P', 'T', 'O', 'Y', 'H', 'Z', 'V', 'R', 'D', 'L', 'R', 'W', 'H', 'H', 'X', 'T', 'E', 'I', 'K', 'X', 'P', 'J', 'Q', 'R', 'F', 'M', 'R', 'N', 'L',
'Q', 'O', 'U', 'Y', 'D', 'X', 'B', 'N', 'U', 'Z', 'C', 'C', 'Z', 'M', 'X', 'F', 'D', 'U', 'F', 'I', 'H', 'J', 'W', 'U', 'C', 'I', 'C', 'U', 'J',
'J', 'W', 'Y', 'M', 'X', 'I', 'V', 'N', 'B', 'H', 'J', 'T', 'H', 'L', 'L', 'R', 'B', 'R', 'U', 'A', 'N', 'J', 'P', 'R', 'Z', 'P', 'B', 'W', 'Y',
'E', 'S', 'F', 'Z', 'Y', 'J', 'H', 'O', 'P', 'C', 'N', 'Q', 'C', 'Q', 'B', 'I', 'O', 'U', 'A', 'R', 'W', 'A', 'Y', 'L', 'N', 'R', 'K', 'F', 'E',
'P', 'J', 'O', 'B', 'G', 'K', 'Z', 'X', 'B', 'J', 'U', 'H', 'Y', 'B', 'S', 'H', 'B', 'C', 'Z', 'A', 'R', 'K', 'E', 'B', 'G', 'Z', 'G', 'K', 'J',
'T', 'L', 'N', 'V', 'P', 'J', 'Z', 'Z', 'L', 'Z', 'K', 'J', 'S', 'F', 'B', 'A', 'C', 'R', 'J', 'D', 'V', 'T', 'T', 'H', 'Z', 'Y', 'V', 'E', 'R', 'H',
'P', 'M', 'H', 'Y', 'K', 'F', 'L', 'E', 'V', 'H', 'K', 'I', 'H', 'T', 'V', 'J', 'T', 'X', 'O', 'O', 'D', 'M', 'K', 'B', 'L', 'D', 'E', 'Y', 'F',
'E', 'D', 'N', 'N', 'C', 'C', 'U', 'D', 'W', 'U', 'Q', 'U', 'P', 'Z', 'X', 'Q', 'G', 'N', 'E', 'O', 'E', 'K', 'I', 'D', 'G', 'C', 'O', 'S',
'A', 'O', 'I', 'U', 'L', 'Y', 'J', 'G', 'M', 'A', 'K', 'Q', 'I', 'F', 'G', 'B', 'U', 'R', 'P', 'Y', 'E', 'T', 'P', 'G', 'X', 'V', 'Q', 'L', 'L',
'W', 'K', 'Z', 'K', 'C', 'Q', 'W', 'V', 'A', 'R', 'K', 'C', 'I', 'C', 'G', 'E', 'D', 'V', 'E', 'K', 'E', 'T', 'Z', 'H', 'Q', 'V', 'W', 'T',
'M', 'U', 'N', 'P', 'O', 'F', 'K', 'U', 'F', 'Z', 'E', 'K', 'Y', 'Q', 'T', 'G', 'C', 'M', 'X', 'A', 'N', 'X', 'Y', 'P', 'O', 'D', 'S', 'Z',
'S', 'W', 'T', 'L', 'R', 'J', 'K', 'L', 'Y', 'L', 'W', 'R', 'T', 'W', 'B', 'P', 'V', 'S', 'V', 'R', 'J', 'W', 'Z', 'D', 'T', 'H', 'V', 'B', 'Q',
'J', 'Z', 'M', 'U', 'K', 'B', 'X', 'G', 'Z', 'J', 'P', 'W', 'G', 'F', 'A', 'I', 'F', 'O', 'R', 'S', 'E', 'Y', 'Y', 'D', 'T', 'R', 'D', 'X', 'L',
'F', 'X', 'V', 'W', 'W', 'D', 'X', 'P', 'I', 'W', 'E', 'T', 'S', 'O', 'J', 'P', 'O', 'L', 'D', 'H', 'J', 'U', 'D', 'J', 'L', 'D', 'U', 'G', 'E',
'E', 'E', 'Y', 'S', 'A', 'O', 'P', 'D', 'H', 'N', 'P', 'O', 'J', 'Z', 'H', 'U', 'E', 'S', 'D', 'K', 'S', 'L', 'Q', 'B', 'F', 'S', 'U', 'A', 'T',
'Z', 'M', 'R', 'O', 'L', 'T', 'P', 'U', 'N', 'L', 'Z', 'X', 'D', 'X', 'V', 'N', 'M', 'D', 'X', 'Q', 'E', 'N', 'K', 'S', 'W', 'Q', 'B', 'O',
'R', 'W', 'H', 'V', 'Z', 'E', 'K', 'P', 'N', 'W', 'Z', 'G', 'Z', 'T', 'Q', 'G', 'G', 'X', 'Q', 'K', 'Y', 'X', 'O', 'A', 'S', 'R', 'U', 'T',
'O', 'H', 'S', 'N', 'Q', 'A', 'C', 'Y', 'V', 'O', 'V', 'C', 'G', 'P', 'U', 'X', 'P', 'G', 'T', 'W', 'P', 'U', 'N', 'A', 'W', 'Q', 'X', 'V',
'R', 'N', 'E', 'V', 'M', 'O', 'G', 'P', 'T', 'M', 'J', 'A', 'J', 'R', 'G', 'O', 'Z', 'T', 'X', 'G', 'F', 'D', 'Y', 'Q', 'X', 'B', 'O', 'B',
'N', 'O', 'Z', 'O', 'Q', 'K', 'P', 'Q', 'C', 'O', 'R', 'S', 'B', 'Q', 'O', 'G', 'G', 'U', 'V', 'Z', 'U', 'L', 'Z', 'Q', 'Z', 'L', 'W', 'K',
'A', 'A', 'G', 'Q', 'A', 'O', 'R', 'G', 'P', 'V', 'N', 'N', 'G', 'B', 'F', 'U', 'U', 'T', 'P', 'P', 'A', 'E', 'D', 'J', 'K', 'R', 'C', 'R',
'S', 'N', 'S', 'Y', 'S', 'J', 'Q', 'N', 'X', 'H', 'F', 'Y', 'O', 'K', 'V', 'H', 'X', 'O', 'H', 'Z', 'R', 'R', 'Q', 'F', 'R', 'E', 'U', 'U', 'B',
'E', 'Y', 'O', 'P', 'P', 'K', 'Q', 'N', 'I', 'U', 'U', 'U', 'W', 'R', 'K', 'T', 'L', 'G', 'A', 'C', 'F', 'G', 'V', 'A', 'M', 'W', 'R', 'O',
'W', 'H', 'W', 'S', 'I', 'V', 'E', 'S', 'P', 'H', 'N', 'N', 'X', 'V', 'W', 'S', 'G', 'V', 'X', 'T', 'Z', 'O', 'Z', 'P', 'C', 'J', 'M', 'R',
'T', 'A', 'J', 'L', 'G', 'M', 'C', 'H', 'C', 'N', 'Z', 'U', 'X', 'N', 'J', 'K', 'L', 'R', 'C', 'H', 'Y', 'K', 'Z', 'C', 'F', 'D', 'T', 'S', 'J',
'S', 'K', 'L', 'M', 'S', 'W', 'Z', 'V', 'V', 'N', 'X', 'K', 'W', 'Z', 'J', 'H', 'J', 'N', 'R', 'D', 'X', 'Y', 'V', 'T', 'Z', 'T', 'K', 'E', 'Q',
'P', 'Y', 'R', 'H', 'L', 'D', 'A', 'B', 'P', 'F', 'C', 'D', 'D', 'D', 'R', 'Z', 'H', 'Q', 'Q', 'S', 'Q', 'B', 'A', 'X', 'X', 'J', 'M', 'I', 'Z',
'T', 'J', 'H', 'B', 'Q', 'L', 'I', 'X', 'E', 'N', 'V', 'D', 'L', 'W', 'D', 'X', 'Q', 'C', 'V', 'J', 'H', 'L', 'U', 'V', 'N', 'J', 'S', 'H', 'V',
'D', 'E', 'H', 'Q', 'Y', 'Z', 'J', 'G', 'P', 'V', 'G', 'W', 'G', 'G', 'S', 'V', 'P', 'E', 'L', 'E', 'D', 'D', 'Z', 'I', 'U', 'L', 'Z', 'V', 'S',
'Q', 'J', 'S', 'R', 'D', 'G', 'W', 'P', 'N', 'D', 'M', 'A', 'A', 'V', 'F', 'Y', 'J', 'V', 'A', 'E', 'D', 'W', 'E', 'Q', 'A', 'W', 'B', 'K',
'M', 'L', 'T', 'K', 'A', 'V', 'J', 'D', 'Z', 'A', 'S', 'L', 'S', 'V', 'Q', 'V', 'Q', 'O', 'Q', 'I', 'D', 'R', 'K', 'E', 'A', 'I', 'Z', 'Q', 'D',
'B', 'H', 'A', 'N', 'T', 'B', 'M', 'Y', 'A', 'I', 'J', 'I', 'X', 'J', 'E', 'M', 'J', 'M', 'Y', 'K', 'R', 'K', 'B', 'A', 'M', 'D', 'D', 'R', 'L',
'X', 'F', 'C', 'H', 'Q', 'L', 'L', 'B', 'V', 'C', 'Z', 'T', 'Q', 'R', 'L', 'P', 'Y', 'U', 'X', 'A', 'B', 'K', 'I', 'V', 'N', 'X', 'H', 'Z', 'P',
'L', 'L', 'B', 'L', 'Q', 'S', 'W', 'Q', 'X', 'C', 'P', 'Y', 'F', 'F', 'I', 'R', 'O', 'G', 'K', 'H', 'Q', 'B', 'C', 'A', 'X', 'B', 'O', 'A', 'O',
'A', 'C', 'U', 'O', 'L', 'T', 'X', 'R', 'Y', 'V', 'H', 'D', 'I', 'P', 'O', 'X', 'E', 'U', 'I', 'R', 'D', 'G', 'F', 'B', 'L', 'I', 'Z', 'J', 'F',
'V', 'K', 'N', 'G', 'E', 'W', 'N', 'N', 'F', 'W', 'F', 'H', 'S', 'U', 'H', 'Y', 'D', 'J', 'K', 'B', 'Z', 'W', 'P', 'Q', 'N', 'D', 'B', 'H',
'B', 'K', 'B', 'D', 'J', 'M', 'F', 'C', 'U', 'D', 'Q', 'B', 'D', 'L', 'K', 'I', 'E', 'Q', 'W', 'J', 'A', 'T', 'B', 'Z', 'B', 'L', 'O', 'L', 'C',
'O', 'S', 'J', 'W', 'Z', 'T', 'O', 'I', 'T', 'V', 'I', 'D', 'D', 'Z', 'F', 'Y', 'V', 'X', 'N', 'X', 'T', 'V', 'R', 'O', 'D', 'M', 'G', 'A', 'H',
'A', 'C', 'V', 'O', 'V', 'F', 'M', 'T', 'J', 'U', 'J', 'E', 'N', 'O', 'N', 'K', 'K', 'B', 'L', 'O', 'V', 'Q', 'D', 'R', 'N', 'K', 'U', 'U',
'K', 'R', 'G', 'R', 'Q', 'Y', 'D', 'O', 'E', 'O', 'S', 'Q', 'N', 'D', 'C', 'D', 'S', 'M', 'H', 'U', 'I', 'L', 'U', 'E', 'G', 'U', 'X', 'W',
'P', 'F', 'U', 'T', 'B', 'M', 'L', 'L', 'I', 'C', 'H', 'E', 'K', 'N', 'V', 'P', 'W', 'Q', 'P', 'O', 'O', 'M', 'O', 'T', 'F', 'D', 'A', 'Y',
'P', 'R', 'V', 'A', 'D', 'V', 'X', 'I', 'M', 'C', 'W', 'N', 'T', 'M', 'F', 'Q', 'A', 'H', 'F', 'R', 'J', 'Y', 'X', 'J', 'J', 'B', 'J', 'T', 'S',
'J', 'W', 'Q', 'G', 'A', 'R', 'K', 'M', 'D', 'K', 'Z', 'Y', 'E', 'L', 'P', 'G', 'O', 'B', 'T', 'G', 'W', 'A', 'J', 'S', 'P', 'Q', 'M', 'P',
'A', 'P', 'G', 'E', 'N', 'J', 'F', 'U', 'A', 'S', 'T', 'M', 'C', 'J', 'N', 'X', 'R', 'H', 'M', 'M', 'Y', 'J', 'O', 'L', 'S', 'S', 'X', 'Y', 'I',
'U', 'N', 'A', 'C', 'Y', 'F', 'Y', 'H', 'W', 'E', 'N', 'Y', 'I', 'Y', 'B', 'F', 'F', 'S', 'S', 'W', 'I', 'S', 'H', 'I', 'I', 'S', 'N', 'H', 'T',
'S', 'O', 'S', 'X', 'Y', 'T', 'P', 'K', 'B', 'R', 'P', 'G', 'B', 'F', 'U', 'W', 'N', 'F', 'T', 'Q', 'L', 'H', 'X', 'K', 'A', 'H', 'L', 'O', 'B',
'B', 'G', 'I', 'S', 'X', 'E', 'Y', 'E', 'Q', 'F', 'S', 'B', 'V', 'P', 'D', 'J', 'Q', 'E', 'N', 'I', 'V', 'X', 'T', 'L', 'H', 'U', 'O', 'G', 'J',
'K', 'U', 'L', 'S', 'I', 'A', 'E', 'T', 'Q', 'K', 'U', 'V', 'B', 'Z', 'W', 'X', 'M', 'I', 'G', 'F', 'S', 'Z', 'K', 'V', 'S', 'K', 'N', 'T', 'S',
'P', 'B', 'V', 'C', 'R', 'L', 'S', 'X', 'L', 'M', 'Q', 'L', 'V', 'I', 'J', 'V', 'A', 'O', 'C', 'U', 'E', 'T', 'V', 'E', 'N', 'D', 'Z', 'D', 'R',
'V', 'D', 'X', 'R', 'A', 'Q', 'F', 'N', 'J', 'I', 'V', 'T', 'D', 'M', 'V', 'P', 'Q', 'K', 'U', 'H', 'M', 'X', 'C', 'T', 'Y', 'W', 'V', 'P',
'I', 'H', 'T', 'A', 'T', 'Z', 'D', 'C', 'T', 'H', 'N', 'T', 'S', 'N', 'R', 'I', 'S', 'X', 'J', 'R', 'G', 'C', 'Q', 'C', 'A', 'Y', 'C', 'U', 'U',
'B', 'K', 'S', 'Q', 'X', 'A', 'J', 'L', 'O', 'B', 'Y', 'I', 'R', 'H', 'U', 'I', 'W', 'F', 'W', 'T', 'L', 'L', 'W', 'W', 'Y', 'U', 'U', 'I', 'E',
'E', 'A', 'N', 'X', 'C', 'B', 'P', 'X', 'Y', 'E', 'M', 'Q', 'L', 'C', 'S', 'Q', 'C', 'N', 'A', 'U', 'V', 'M', 'N', 'N', 'T', 'X', 'Z', 'J',
'S', 'F', 'C', 'Q', 'S', 'U', 'J', 'J', 'P', 'C', 'I', 'I', 'R', 'E', 'H', 'E', 'B', 'W', 'I', 'O', 'P', 'E', 'D', 'Q', 'Q', 'U', 'U', 'B', 'I',
'H', 'G', 'T', 'C', 'I', 'H', 'L', 'Z', 'P', 'L', 'R', 'L', 'H', 'D', 'W', 'T', 'V', 'D', 'J', 'A', 'W', 'N', 'S', 'G', 'L', 'K', 'C', 'F', 'K',
'J', 'H', 'Z', 'X', 'L', 'Z', 'E', 'L', 'X', 'C', 'J', 'N', 'E', 'M', 'A', 'F', 'R', 'K', 'P', 'A', 'M', 'U', 'A', 'N', 'F', 'R', 'S', 'D', 'N',
'J', 'V', 'C', 'V', 'D', 'H', 'T', 'N', 'F', 'T', 'J', 'K', 'W', 'V', 'E', 'Z', 'M', 'F', 'J', 'E', 'E', 'H', 'L', 'H', 'V', 'A', 'Z', 'I', 'F',
'Y', 'W', 'G', 'S', 'I', 'Z', 'H', 'Q', 'F', 'N', 'K', 'I', 'S', 'U', 'V', 'W', 'J', 'E', 'L', 'Y', 'Z', 'T', 'X', 'X', 'C', 'L', 'L', 'I', 'P',
'O', 'O', 'L', 'D', 'I', 'D', 'H', 'I', 'A', 'W', 'P', 'D', 'Z', 'E', 'K', 'G', 'Y', 'J', 'Y', 'W', 'N', 'T', 'K', 'R', 'K', 'T', 'N', 'A', 'Q',
'M', 'Q', 'O', 'Y', 'E', 'V', 'C', 'O', 'L', 'X', 'U', 'L', 'K', 'M', 'X', 'F', 'U', 'C', 'V', 'F', 'Y', 'I', 'Y', 'R', 'J', 'M', 'B', 'W',
'V', 'K', 'Y', 'Q', 'B', 'A', 'Q', 'U', 'M', 'B', 'O', 'G', 'K', 'G', 'F', 'Z', 'Q', 'A', 'C', 'Y', 'A', 'I', 'S', 'B', 'Q', 'V', 'S', 'T',
'W', 'R', 'S', 'O', 'E', 'M', 'Y', 'X', 'K', 'D', 'X', 'U', 'R', 'K', 'U', 'S', 'A', 'X', 'L', 'D', 'R', 'I', 'M', 'H', 'F', 'E', 'Y', 'F', 'S',
'T', 'Y', 'O', 'Z', 'C', 'R', 'V', 'L', 'I', 'P', 'O', 'Q', 'Y', 'C', 'U', 'T', 'D', 'M', 'Z', 'S', 'K', 'O', 'H', 'E', 'K', 'T', 'V', 'E', 'V',
'N', 'A', 'J', 'P', 'S', 'Z', 'H', 'I', 'Y', 'Z', 'U', 'U', 'E', 'W', 'E', 'B', 'J', 'Q', 'U', 'R', 'J', 'B', 'Z', 'T', 'L', 'K', 'Z', 'Q', 'U',
'S', 'N', 'E', 'J', 'P', 'A', 'I', 'I', 'V', 'S', 'A', 'T', 'O', 'E', 'O', 'O', 'B', 'Y', 'Z', 'J', 'O', 'J', 'M', 'O', 'C', 'W', 'T', 'M', 'E',
'D', 'W', 'R', 'A', 'K', 'B', 'F', 'H', 'P', 'G', 'X', 'H', 'N', 'R', 'W', 'W', 'M', 'Q', 'N', 'K', 'M', 'T', 'R', 'H', 'F', 'Q', 'I',
'V', 'J', 'P', 'Y', 'S', 'L', 'R', 'Q', 'R', 'R', 'Q', 'M', 'K', 'D', 'X', 'U', 'X', 'T', 'R', 'P', 'U', 'H', 'B', 'K', 'K', 'K', 'J', 'I', 'P',
'P', 'A', 'X', 'R', 'U', 'D', 'B', 'N', 'F', 'B', 'E', 'D', 'E', 'K', 'R', 'V', 'Q', 'J', 'F', 'V', 'A', 'C', 'R', 'D', 'F', 'L', 'N', 'W', 'P',
'B', 'X', 'L', 'F', 'U', 'K', 'M', 'Y', 'A', 'H', 'M', 'Q', 'B', 'Q', 'T', 'Z', 'L', 'I', 'F', 'O', 'O', 'J', 'V', 'R', 'B', 'L', 'R', 'P', 'O',
'K', 'F', 'C', 'G', 'W', 'J', 'U', 'M', 'U', 'T', 'W', 'I', 'A', 'A', 'L', 'J', 'B', 'D', 'E', 'I', 'J', 'C', 'R', 'Q', 'Z', 'A', 'M', 'L', 'L',
'J', 'E', 'R', 'G', 'V', 'U', 'O', 'E', 'Y', 'S', 'Z', 'L', 'Z', 'M', 'K', 'R', 'B', 'M', 'A', 'G', 'M', 'L', 'Y', 'A', 'N', 'Z', 'T', 'O',
'B', 'E', 'F', 'L', 'F', 'B', 'B', 'Q', 'U', 'L', 'I', 'R', 'J', 'J', 'C', 'U', 'T', 'J', 'V', 'H', 'O', 'Q', 'I', 'U', 'O', 'W', 'B', 'Q', 'Z',
'B', 'X', 'K', 'D', 'W', 'N', 'D', 'Q', 'Z', 'U', 'Q', 'P', 'Z', 'E', 'S', 'R', 'Q', 'T', 'C', 'O', 'Z', 'T', 'N', 'X', 'I', 'G', 'G', 'Y',
'G', 'J', 'K', 'D', 'X', 'M', 'I', 'X', 'G', 'D', 'X', 'G', 'M', 'J', 'P', 'Q', 'T', 'U', 'K', 'O', 'K', 'O', 'L', 'G', 'D', 'D', 'Q', 'U',
'A', 'V', 'U', 'W', 'K', 'S', 'H', 'T', 'F', 'I', 'N', 'G', 'X', 'V', 'Q', 'C', 'D', 'F', 'C', 'E', 'U', 'F', 'I', 'U', 'E', 'X', 'P', 'K', 'H',
'X', 'T', 'E', 'Y', 'R', 'P', 'X', 'M', 'X', 'M', 'R', 'O', 'M', 'J', 'Y', 'H', 'C', 'B', 'N', 'A', 'S', 'I', 'D', 'N', 'Q', 'X', 'E', 'U',
'V', 'W', 'S', 'D', 'E', 'H', 'B', 'M', 'O', 'I', 'C', 'M', 'T', 'V', 'O', 'Q', 'Y', 'K', 'Q', 'M', 'L', 'Z', 'C', 'V', 'O', 'E', 'N', 'C',
'C', 'A', 'F', 'S', 'X', 'A', 'K', 'E', 'D', 'I', 'D', 'I', 'V', 'L', 'X', 'W', 'U', 'L', 'C', 'X', 'U', 'A', 'H', 'O', 'A', 'V', 'J', 'D', 'U',
'W', 'V', 'X', 'C', 'L', 'F', 'N', 'I', 'V', 'U', 'V', 'U', 'P', 'K', 'E', 'Z', 'E', 'W', 'H', 'W', 'M', 'A', 'U', 'O', 'L', 'J', 'I', 'G',
'F', 'O', 'G', 'O', 'X', 'E', 'Q', 'B', 'C', 'K', 'E', 'S', 'G', 'I', 'W', 'M', 'V', 'S', 'V', 'W', 'R', 'U', 'F', 'D', 'T', 'K', 'N', 'F',
'P', 'S', 'D', 'J', 'V', 'Y', 'Q', 'M', 'P', 'G', 'J', 'S', 'Z', 'W', 'P', 'Z', 'D', 'G', 'B', 'N', 'C', 'U', 'Z', 'I', 'F', 'R', 'G', 'C', 'A',
'M', 'A', 'S', 'J', 'L', 'G', 'M', 'H', 'R', 'T', 'M', 'T', 'Z', 'N', 'N', 'W', 'Y', 'E', 'T', 'S', 'Y', 'F', 'C', 'D', 'V', 'F', 'L', 'K',
'H', 'M', 'R', 'F', 'B', 'A', 'O', 'F', 'W', 'A', 'B', 'N', 'F', 'U', 'A', 'P', 'H', 'F', 'Q', 'Q', 'G', 'E', 'W', 'T', 'Y', 'S', 'U', 'E',
'A', 'T', 'G', 'L', 'T', 'H', 'K', 'O', 'D', 'N', 'Z', 'S', 'A', 'C', 'Q', 'K', 'Y', 'V', 'S', 'J', 'L', 'R', 'Z', 'U', 'V', 'J', 'D', 'K', 'T',
'U', 'S', 'S', 'S', 'J', 'X', 'X', 'Q', 'W', 'I', 'B', 'Z', 'B', 'H', 'L', 'I', 'D', 'A', 'K', 'T', 'H', 'E', 'A', 'S', 'C', 'F', 'O', 'G', 'I',
'B', 'V', 'L', 'X', 'A', 'Y', 'K', 'G', 'N', 'U', 'K', 'L', 'F', 'E', 'U', 'Q', 'W', 'Y', 'D', 'Z', 'O', 'M', 'U', 'E', 'P', 'Y', 'K', 'H',
'M', 'R', 'L', 'P', 'K', 'J', 'S', 'Q', 'E', 'S', 'D', 'X', 'F', 'N', 'H', 'H', 'Z', 'B', 'W', 'Y', 'K', 'J', 'A', 'X', 'J', 'B', 'P', 'V', 'W',
'W', 'B', 'B', 'C', 'G', 'X', 'P', 'B', 'T', 'W', 'G', 'O', 'B', 'S', 'M', 'F', 'D', 'B', 'E', 'Q', 'S', 'C', 'Q', 'Y', 'K', 'R', 'J', 'J',
'C', 'E', 'G', 'C', 'N', 'L', 'T', 'E', 'K', 'P', 'F', 'H', 'C', 'U', 'O', 'X', 'F', 'M', 'S', 'A', 'K', 'Y', 'E', 'E', 'V', 'Y', 'U', 'Z', 'E',
'W', 'Z', 'H', 'K', 'L', 'E', 'R', 'M', 'B', 'W', 'V', 'C', 'N', 'S', 'F', 'Q', 'D', 'R', 'B', 'J', 'N', 'C', 'O', 'U', 'V', 'O', 'C', 'F',
'J', 'L', 'P', 'O', 'O', 'M', 'R', 'O', 'V', 'R', 'Z', 'D', 'J', 'C', 'B', 'Q', 'Z', 'A', 'S', 'S', 'R', 'A', 'B', 'P', 'E', 'K', 'M', 'V', 'H',
'C', 'H', 'E', 'C', 'M', 'W', 'E', 'V', 'Q', 'R', 'R', 'O', 'D', 'P', 'H', 'N', 'U', 'Q', 'R', 'Z', 'S', 'Y', 'U', 'F', 'C', 'B', 'I', 'X',
'T', 'L', 'L', 'N', 'K', 'E', 'D', 'Y', 'T', 'M', 'E', 'O', 'Y', 'A', 'S', 'Z', 'B', 'B', 'G', 'F', 'T', 'Z', 'U', 'X', 'Y', 'B', 'C', 'A', 'D',
'J', 'W', 'C', 'E', 'W', 'Z', 'V', 'F', 'G', 'N', 'M', 'G', 'R', 'J', 'V', 'M', 'Z', 'A', 'V', 'Z', 'H', 'D', 'N', 'Q', 'S', 'F', 'Y', 'B',
'R', 'J', 'V', 'L', 'M', 'K', 'G', 'E', 'O', 'Q', 'T', 'I', 'Z', 'F', 'U', 'R', 'J', 'N', 'E', 'F', 'O', 'A', 'P', 'H', 'H', 'C', 'A', 'C', 'U',
'C', 'L', 'Z', 'U', 'N', 'S', 'F', 'V', 'A', 'W', 'X', 'N', 'L', 'C', 'C', 'I', 'O', 'A', 'P', 'M', 'O', 'E', 'O', 'J', 'A', 'J', 'H', 'A', 'A',
'K', 'G', 'C', 'X', 'M', 'S', 'H', 'H', 'D', 'H', 'F', 'W', 'G', 'S', 'U', 'T', 'O', 'O', 'T', 'A', 'M', 'V', 'U', 'X', 'V', 'I', 'H', 'A',
'I', 'I', 'Q', 'Y', 'V', 'Z', 'J', 'T', 'I', 'D', 'O', 'Y', 'K', 'Q', 'E', 'R', 'H', 'E', 'U', 'Q', 'Y', 'P', 'J', 'T', 'D', 'L', 'L', 'H', 'T',
'W', 'T', 'K', 'J', 'V', 'Z', 'C', 'J', 'H', 'V', 'Y', 'F', 'R', 'V', 'R', 'Y', 'J', 'U', 'S', 'B', 'K', 'V', 'R', 'X', 'V', 'C', 'Q', 'E', 'W',
'V', 'U', 'L', 'Z', 'H', 'S', 'Y', 'J', 'B', 'L', 'T', 'N', 'W', 'Z', 'Q', 'V', 'H', 'J', 'X', 'J', 'C', 'B', 'H', 'R', 'B', 'T', 'M', 'D', 'X',
'S', 'Z', 'A', 'C', 'A', 'P', 'K', 'C', 'T', 'I', 'Q', 'S', 'I', 'K', 'V', 'H', 'J', 'P', 'V', 'M', 'G', 'K', 'C', 'O', 'U', 'C', 'H', 'K', 'T',
'C', 'M', 'A', 'R', 'Q', 'A', 'T', 'D', 'D', 'R', 'R', 'U', 'D', 'Q', 'L', 'T', 'P', 'S', 'W', 'L', 'K', 'O', 'W', 'N', 'C', 'J', 'J', 'O',
'B', 'G', 'A', 'H', 'Z', 'X', 'I', 'W', 'D', 'K', 'O', 'T', 'D', 'Q', 'K', 'O', 'Q', 'W', 'J', 'Z', 'V', 'A', 'H', 'C', 'V', 'W', 'D', 'V',
'Z', 'R', 'I', 'W', 'M', 'K', 'I', 'G', 'C', 'C', 'U', 'Y', 'W', 'M', 'B', 'U', 'A', 'I', 'G', 'E', 'Q', 'Z', 'A', 'M', 'C', 'K', 'I', 'T',
'H', 'P', 'S', 'A', 'I', 'Y', 'S', 'F', 'W', 'P', 'S', 'J', 'R', 'C', 'V', 'P', 'Q', 'T', 'X', 'J', 'J', 'C', 'R', 'R', 'Y', 'W', 'V', 'K', 'E',
'N', 'K', 'H', 'T', 'C', 'Y', 'C', 'D', 'Y', 'H', 'G', 'V', 'H', 'V', 'F', 'U', 'I', 'G', 'P', 'R', 'Q', 'U', 'P', 'A', 'T', 'L', 'Q', 'G', 'P',
'Y', 'J', 'R', 'Z', 'Z', 'O', 'D', 'V', 'F', 'G', 'T', 'M', 'N', 'V', 'E', 'I', 'I', 'N', 'R', 'O', 'F', 'U', 'S', 'P', 'H', 'T', 'T', 'U', 'D',
'C', 'B', 'F', 'O', 'W', 'D', 'V', 'W', 'M', 'M', 'P', 'U', 'A', 'A', 'M', 'J', 'X', 'Y', 'X', 'X', 'I', 'F', 'L', 'S', 'V', 'P', 'B', 'W',
'N', 'K', 'Q', 'C', 'I', 'M', 'C', 'O', 'P', 'X', 'N', 'S', 'X', 'I', 'C', 'K', 'L', 'N', 'T', 'G', 'X', 'R', 'Y', 'B', 'N', 'D', 'B', 'R', 'U',
'Z', 'L', 'N', 'R', 'F', 'J', 'C', 'R', 'T', 'L', 'N', 'G', 'I', 'T', 'V', 'H', 'E', 'W', 'V', 'E', 'Y', 'G', 'Z', 'W', 'B', 'V', 'F', 'M', 'V',
'M', 'D', 'M', 'B', 'W', 'U', 'G', 'C', 'N', 'G', 'J', 'J', 'A', 'N', 'G', 'B', 'V', 'W', 'R', 'F', 'X', 'I', 'W', 'V', 'Z', 'V', 'E', 'T',
'W', 'D', 'E', 'R', 'Q', 'A', 'G', 'Y', 'W', 'G', 'Q', 'M', 'E', 'G', 'H', 'W', 'C', 'O', 'R', 'G', 'Y', 'R', 'Q', 'B', 'Z', 'X', 'E',
'D', 'B', 'I', 'N', 'L', 'M', 'P', 'W', 'O', 'R', 'I', 'A', 'W', 'I', 'C', 'C', 'P', 'S', 'M', 'M', 'Y', 'E', 'A', 'R', 'D', 'U', 'G', 'H',
'V', 'W', 'L', 'X', 'K', 'U', 'F', 'T', 'O', 'O', 'F', 'X', 'W', 'Q', 'K', 'E', 'Q', 'O', 'C', 'A', 'D', 'Z', 'S', 'E', 'E', 'J', 'G', 'P',
'N', 'X', 'M', 'Y', 'I', 'Q', 'I', 'K', 'V', 'I', 'H', 'Q', 'U', 'L', 'Q', 'W', 'W', 'X', 'N', 'R', 'P', 'B', 'M', 'S', 'M', 'X', 'R', 'B',
'A', 'R', 'R', 'O', 'S', 'X', 'S', 'V', 'F', 'L', 'Q', 'W', 'V', 'Z', 'K', 'I', 'Z', 'O', 'V', 'M', 'I', 'H', 'L', 'W', 'Z', 'K', 'G', 'Q',
'M', 'B', 'N', 'I', 'A', 'D', 'W', 'L', 'W', 'B', 'C', 'Y', 'A', 'E', 'W', 'T', 'N', 'Q', 'R', 'R', 'A', 'G', 'J', 'R', 'B', 'F', 'L', 'W',
'C', 'K', 'X', 'Q', 'T', 'I', 'T', 'A', 'T', 'A', 'L', 'T', 'J', 'A', 'A', 'E', 'Q', 'R', 'O', 'C', 'P', 'H', 'Y', 'B', 'R', 'I', 'N', 'Z', 'P',
'Z', 'E', 'I', 'Q', 'M', 'O', 'I', 'F', 'I', 'I', 'L', 'V', 'V', 'W', 'T', 'P', 'F', 'L', 'Q', 'H', 'E', 'K', 'T', 'T', 'V', 'O', 'B', 'B', 'T',
'F', 'M', 'I', 'R', 'C', 'B', 'Q', 'Z', 'P', 'G', 'Q', 'S', 'S', 'I', 'L', 'U', 'A', 'O', 'C', 'D', 'Z', 'W', 'G', 'C', 'E', 'F', 'B', 'G', 'V',
'U', 'H', 'F', 'C', 'C', 'C', 'D', 'W', 'M', 'C', 'G', 'T', 'Y', 'S', 'S', 'I', 'W', 'J', 'L', 'V', 'G', 'C', 'I', 'X', 'N', 'M', 'J', 'A',
'O', 'A', 'V', 'K', 'E', 'K', 'Z', 'S', 'G', 'M', 'C', 'R', 'B', 'T', 'K', 'N', 'N', 'Y', 'Q', 'Z', 'L', 'I', 'X', 'R', 'P', 'I', 'R', 'N', 'U',
'M', 'H', 'D', 'N', 'G', 'T', 'Z', 'V', 'F', 'G', 'Q', 'L', 'A', 'O', 'V', 'C', 'B', 'Q', 'L', 'O', 'O', 'E', 'R', 'Z', 'T', 'G', 'E', 'M',
'D', 'I', 'N', 'V', 'Q', 'F', 'M', 'Y', 'U', 'E', 'S', 'X', 'I', 'X', 'L', 'J', 'P', 'F', 'Y', 'E', 'K', 'D', 'B', 'K', 'D', 'I', 'E', 'G', 'K',
'C', 'E', 'N', 'S', 'J', 'F', 'I', 'T', 'W', 'M', 'C', 'Y', 'M', 'R', 'S', 'H', 'T', 'O', 'W', 'R', 'E', 'H', 'W', 'P', 'X', 'Q', 'N', 'F',
'S', 'S', 'O', 'D', 'I', 'S', 'Q', 'O', 'R', 'B', 'F', 'J', 'X', 'C', 'D', 'H', 'M', 'A', 'U', 'U', 'X', 'X', 'V', 'B', 'V', 'P', 'P', 'E',
'M', 'U', 'J', 'C', 'N', 'A', 'M', 'W', 'Q', 'U', 'Q', 'T', 'D', 'R', 'W', 'D', 'Q', 'M', 'T', 'Q', 'X', 'E', 'S', 'Z', 'V', 'G', 'D',
'F', 'G', 'Y', 'T', 'S', 'F', 'G', 'N', 'E', 'A', 'S', 'P', 'Q', 'Z', 'P', 'W', 'X', 'Q', 'T', 'E', 'Y', 'B', 'V', 'J', 'L', 'Z', 'M', 'M', 'Z',
'Y', 'Z', 'U', 'W', 'K', 'R', 'F', 'K', 'Q', 'A', 'S', 'D', 'R', 'H', 'O', 'Z', 'B', 'L', 'F', 'Q', 'O', 'C', 'D', 'B', 'P', 'Y', 'I', 'P', 'P',
'C', 'U', 'T', 'W', 'D', 'U', 'F', 'G', 'O', 'N', 'E', 'X', 'Z', 'O', 'S', 'L', 'D', 'F', 'X', 'V', 'B', 'P', 'H', 'T', 'X', 'B', 'W', 'A',
'H', 'J', 'K', 'P', 'N', 'P', 'M', 'R', 'V', 'B', 'S', 'K', 'N', 'R', 'X', 'N', 'S', 'G', 'V', 'S', 'D', 'W', 'X', 'W', 'P', 'H', 'A', 'E',
'A', 'Z', 'O', 'O', 'R', 'X', 'R', 'Q', 'X', 'R', 'E', 'B', 'L', 'B', 'P', 'D', 'B', 'W', 'J', 'Q', 'N', 'M', 'Z', 'I', 'X', 'F', 'J', 'P', 'U',
'O', 'F', 'Q', 'J', 'N', 'M', 'J', 'Q', 'I', 'C', 'L', 'G', 'B', 'P', 'Q', 'M', 'X', 'C', 'Y', 'U', 'W', 'M', 'M', 'N', 'I', 'I', 'C', 'Y',
'S', 'N', 'N', 'D', 'Z', 'O', 'Y', 'F', 'T', 'N', 'B', 'X', 'T', 'J', 'N', 'P', 'R', 'T', 'R', 'Q', 'G', 'U', 'X', 'E', 'T', 'R', 'B', 'W', 'J',
'U', 'L', 'N', 'Q', 'N', 'P', 'W', 'U', 'S', 'S', 'X', 'A', 'B', 'V', 'Y', 'Q', 'X', 'E', 'Z', 'O', 'I', 'T', 'M', 'H', 'W', 'D', 'I', 'H',
'U', 'N', 'V', 'P', 'C', 'M', 'R', 'Y', 'J', 'K', 'T', 'O', 'V', 'G', 'K', 'Z', 'R', 'Y', 'I', 'W', 'M', 'I', 'I', 'F', 'Z', 'L', 'O', 'L', 'I',
'P', 'H', 'A', 'R', 'S', 'J', 'J', 'K', 'N', 'M', 'V', 'W', 'A', 'K', 'Z', 'Y', 'E', 'X', 'U', 'W', 'P', 'F', 'M', 'W', 'H', 'T', 'Q', 'V',
'K', 'Y', 'B', 'P', 'F', 'U', 'U', 'N', 'X', 'P', 'E', 'H', 'N', 'G', 'N', 'M', 'R', 'F', 'Y', 'E', 'G', 'C', 'P', 'T', 'C', 'H', 'S', 'Q',
'Y', 'L', 'V', 'A', 'T', 'M', 'N', 'C', 'J', 'H', 'O', 'I', 'G', 'M', 'B', 'C', 'E', 'D', 'J', 'U', 'S', 'J', 'L', 'X', 'B', 'U', 'Q', 'K', 'T',
'Q', 'E', 'C', 'Q', 'I', 'G', 'C', 'L', 'B', 'N', 'O', 'D', 'D', 'U', 'I', 'K', 'D', 'O', 'E', 'Y', 'S', 'G', 'Z', 'L', 'L', 'P', 'J', 'L', 'X',
'Q', 'B', 'H', 'C', 'Q', 'V', 'J', 'J', 'R', 'S', 'I', 'F', 'Z', 'L', 'T', 'H', 'O', 'S', 'E', 'C', 'N', 'U', 'O', 'T', 'I', 'N', 'S', 'L', 'G', 'I',
'C', 'F', 'U', 'E', 'S', 'X', 'N', 'N', 'I', 'A', 'W', 'W', 'R', 'A', 'U', 'B', 'Z', 'H', 'R', 'W', 'S', 'C', 'H', 'K', 'U', 'N', 'K', 'J',
'Z', 'T', 'V', 'J', 'C', 'T', 'A', 'Y', 'Q', 'J', 'N', 'E', 'M', 'D', 'J', 'F', 'M', 'A', 'R', 'A', 'C', 'B', 'D', 'Z', 'A', 'P', 'V', 'M', 'B',
'W', 'G', 'I', 'K', 'J', 'Z', 'W', 'M', 'U', 'J', 'Z', 'E', 'R', 'X', 'L', 'B', 'N', 'J', 'I', 'E', 'T', 'H', 'M', 'K', 'H', 'N', 'M', 'J',
'M', 'Y', 'E', 'J', 'D', 'A', 'X', 'U', 'S', 'Z', 'E', 'S', 'L', 'O', 'S', 'E', 'H', 'D', 'G', 'G', 'I', 'S', 'D', 'F', 'L', 'Z', 'X', 'K', 'U',
'O', 'X', 'Z', 'M', 'S', 'H', 'W', 'Q', 'P', 'L', 'H', 'K', 'P', 'K', 'I', 'R', 'N', 'A', 'A', 'C', 'L', 'A', 'B', 'O', 'Q', 'I', 'O', 'M',
'K', 'Q', 'Z', 'X', 'M', 'V', 'N', 'M', 'W', 'Y', 'A', 'S', 'B', 'S', 'X', 'N', 'R', 'F', 'M', 'F', 'D', 'W', 'Y', 'R', 'H', 'R', 'E', 'Q',
'N', 'C', 'D', 'T', 'T', 'U', 'X', 'Z', 'D', 'H', 'Y', 'K', 'U', 'X', 'N', 'U', 'Y', 'K', 'Y', 'N', 'E', 'W', 'A', 'B', 'S', 'H', 'A', 'N',
'I', 'B', 'K', 'H', 'Y', 'I', 'O', 'S', 'U', 'Y', 'D', 'X', 'F', 'G', 'H', 'G', 'A', 'Y', 'B', 'F', 'J', 'C', 'I', 'G', 'S', 'I', 'J', 'I', 'X', 'H',
'N', 'T', 'Q', 'W', 'K', 'Y', 'T', 'B', 'W', 'P', 'K', 'U', 'W', 'N', 'K', 'E', 'L', 'P', 'G', 'W', 'C', 'V', 'Q', 'C', 'W', 'Q', 'Q',
'V', 'A', 'R', 'U', 'P', 'A', 'E', 'X', 'G', 'A', 'H', 'P', 'B', 'M', 'C', 'N', 'N', 'D', 'B', 'A', 'A', 'B', 'O', 'B', 'I', 'W', 'V', 'F',
'Y', 'M', 'B', 'J', 'J', 'C', 'M', 'D', 'I', 'F', 'U', 'Q', 'D', 'W', 'A', 'T', 'L', 'V', 'K', 'W', 'A', 'N', 'Q', 'O', 'W', 'G', 'T', 'K',
'R', 'C', 'J', 'Q', 'R', 'U', 'D', 'Q', 'T', 'U', 'R', 'V', 'Z', 'H', 'G', 'K', 'D', 'L', 'Z', 'I', 'Q', 'C', 'L', 'X', 'M', 'M', 'Q', 'R',
'M', 'D', 'T', 'A', 'L', 'I', 'C', 'D', 'K', 'B', 'F', 'Y', 'P', 'K', 'K', 'Q', 'H', 'M', 'F', 'D', 'O', 'J', 'Y', 'M', 'S', 'M', 'A', 'Z',
'G', 'U', 'Z', 'D', 'D', 'X', 'S', 'B', 'K', 'S', 'Q', 'E', 'Z', 'O', 'J', 'N', 'F', 'I', 'E', 'Z', 'G', 'E', 'C', 'X', 'P', 'H', 'I', 'T', 'L',
'K', 'J', 'I', 'E', 'N', 'O', 'B', 'A', 'P', 'A', 'F', 'X', 'C', 'S', 'G', 'T', 'F', 'M', 'N', 'H', 'D', 'Z', 'I', 'L', 'C', 'O', 'I', 'A', 'Z',
'J', 'N', 'O', 'G', 'Q', 'V', 'F', 'Z', 'Q', 'F', 'F', 'J', 'J', 'K', 'V', 'U', 'P', 'A', 'I', 'I', 'U', 'R', 'H', 'X', 'U', 'C', 'O', 'A', 'L',
'S', 'W', 'Y', 'W', 'M', 'H', 'V', 'M', 'N', 'M', 'Q', 'R', 'F', 'K', 'R', 'G', 'W', 'R', 'E', 'E', 'E', 'R', 'J', 'Z', 'U', 'E', 'O', 'S',
'Y', 'I', 'P', 'O', 'D', 'Z', 'I', 'S', 'A', 'T', 'X', 'V', 'D', 'I', 'V', 'U', 'K', 'E', 'E', 'E', 'Y', 'H', 'R', 'J', 'U', 'M', 'V', 'W', 'L',
'P', 'L', 'L', 'F', 'J', 'X', 'R', 'V', 'O', 'F', 'E', 'Y', 'Z', 'P', 'S', 'K', 'A', 'J', 'F', 'T', 'R', 'S', 'V', 'M', 'U', 'C', 'K', 'F', 'B',
'Y', 'P', 'X', 'S', 'K', 'J', 'L', 'U', 'A', 'N', 'O', 'W', 'T', 'O', 'Q', 'X', 'L', 'X', 'Z', 'M', 'G', 'F', 'F', 'W', 'C', 'V', 'Z', 'A',
'A', 'G', 'T', 'D', 'N', 'A', 'H', 'R', 'F', 'X', 'M', 'M', 'K', 'Q', 'J', 'O', 'P', 'Q', 'N', 'C', 'C', 'V', 'P', 'C', 'F', 'N', 'K', 'Y',
'B', 'Y', 'Y', 'K', 'D', 'G', 'Q', 'T', 'B', 'J', 'M', 'U', 'J', 'A', 'A', 'W', 'W', 'C', 'I', 'A', 'Z', 'H', 'S', 'P', 'R', 'X', 'Y', 'O',
'Y', 'Q', 'E', 'M', 'S', 'T', 'D', 'I', 'Q', 'O', 'U', 'L', 'A', 'O', 'U', 'X', 'I', 'Z', 'S', 'J', 'A', 'A', 'C', 'W', 'T', 'W', 'B', 'O',
'C', 'W', 'T', 'T', 'P', 'D', 'Y', 'X', 'B', 'N', 'L', 'T', 'U', 'O', 'O', 'N', 'J', 'K', 'F', 'M', 'J', 'D', 'E', 'D', 'V', 'R', 'G', 'L', 'P',
'K', 'T', 'N', 'Q', 'C', 'N', 'O', 'W', 'V', 'D', 'R', 'U', 'H', 'K', 'Z', 'V', 'V', 'K', 'C', 'A', 'N', 'T', 'P', 'C', 'H', 'R', 'C', 'H',
'O', 'T', 'I', 'N', 'Z', 'T', 'L', 'L', 'E', 'U', 'D', 'Y', 'Z', 'K', 'S', 'T', 'I', 'E', 'P', 'A', 'A', 'G', 'X', 'X', 'Q', 'S', 'X', 'W', 'L',
'A', 'N', 'F', 'R', 'M', 'P', 'X', 'U', 'F', 'M', 'O', 'E', 'W', 'K', 'G', 'W', 'V', 'T', 'U', 'A', 'G', 'C', 'T', 'O', 'P', 'E', 'T', 'H',
'U', 'D', 'R', 'G', 'O', 'Q', 'S', 'Q', 'C', 'P', 'Q', 'B', 'I', 'H', 'V', 'R', 'O', 'R', 'E', 'F', 'M', 'A', 'C', 'K', 'F', 'I', 'W', 'I', 'T',
'N', 'M', 'E', 'J', 'E', 'K', 'S', 'T', 'J', 'J', 'U', 'O', 'A', 'F', 'L', 'B', 'D', 'Y', 'K', 'L', 'X', 'V', 'L', 'W', 'Y', 'O', 'I', 'X', 'R',
'V', 'C', 'A', 'X', 'R', 'P', 'B', 'H', 'R', 'X', 'L', 'L', 'Z', 'X', 'C', 'F', 'J', 'R', 'K', 'K', 'A', 'C', 'Q', 'L', 'S', 'T', 'F', 'F', 'U',
'Y', 'S', 'U', 'K', 'F', 'C', 'R', 'B', 'X', 'V', 'D', 'U', 'S', 'E', 'K', 'R', 'O', 'H', 'D', 'L', 'L', 'R', 'X', 'E', 'U', 'G', 'M', 'F', 'S',
'Q', 'Y', 'X', 'Q', 'W', 'C', 'P', 'M', 'W', 'K', 'A', 'C', 'I', 'M', 'H', 'U', 'U', 'E', 'L', 'W', 'J', 'W', 'Q', 'Q', 'R', 'P', 'Y',
'B', 'H', 'J', 'G', 'L', 'K', 'K', 'V', 'Z', 'M', 'N', 'M', 'C', 'B', 'B', 'H', 'G', 'F', 'I', 'U', 'D', 'B', 'S', 'H', 'C', 'Y', 'F', 'X', 'N',
'F', 'L', 'Y', 'P', 'Q', 'F', 'F', 'L', 'H', 'N', 'N', 'A', 'W', 'G', 'O', 'T', 'A', 'T', 'I', 'T', 'O', 'M', 'H', 'H', 'G', 'M', 'V', 'G',
'C', 'E', 'V', 'M', 'C', 'H', 'E', 'H', 'A', 'R', 'J', 'X', 'S', 'B', 'N', 'G', 'V', 'P', 'X', 'O', 'T', 'T', 'X', 'Z', 'G', 'P', 'O', 'W',
'M', 'W', 'E', 'C', 'L', 'J', 'E', 'E', 'Y', 'G', 'M', 'V', 'X', 'R', 'K', 'J', 'W', 'V', 'T', 'T', 'C', 'A', 'B', 'I', 'N', 'Y', 'G', 'Q',
'P', 'H', 'K', 'U', 'F', 'C', 'Z', 'Q', 'B', 'O', 'J', 'E', 'N', 'X', 'O', 'P', 'K', 'M', 'O', 'D', 'R', 'V', 'Z', 'E', 'S', 'A', 'Y', 'U', 'F',
'K', 'N', 'Y', 'W', 'M', 'L', 'U', 'Z', 'B', 'S', 'N', 'F', 'F', 'S', 'S', 'G', 'U', 'H', 'Z', 'A', 'P', 'M', 'K', 'B', 'W', 'R', 'T', 'B',
'O', 'I', 'C', 'Z', 'P', 'F', 'G', 'I', 'A', 'D', 'C', 'H', 'W', 'L', 'F', 'V', 'R', 'L', 'I', 'T', 'D', 'P', 'U', 'C', 'Q', 'B', 'C', 'R', 'T',
'M', 'T', 'F', 'W', 'D', 'B', 'N', 'H', 'B', 'Z', 'Q', 'R', 'W', 'J', 'M', 'I', 'L', 'W', 'G', 'E', 'U', 'T', 'N', 'X', 'H', 'L', 'K', 'D',
'Y', 'P', 'H', 'J', 'W', 'B', 'R', 'F', 'B', 'C', 'N', 'J', 'I', 'V', 'B', 'C', 'T', 'A', 'K', 'Y', 'U', 'H', 'L', 'Q', 'Y', 'E', 'K', 'R', 'K',
'Y', 'J', 'R', 'C', 'Q', 'D', 'Z', 'Z', 'R', 'I', 'Q', 'X', 'V', 'O', 'U', 'Y', 'Q', 'J', 'H', 'U', 'A', 'L', 'W', 'T', 'D', 'G', 'H', 'V', 'N',
'G', 'S', 'J', 'H', 'F', 'D', 'I', 'S', 'L', 'D', 'P', 'X', 'H', 'I', 'W', 'P', 'Q', 'O', 'W', 'K', 'I', 'B', 'P', 'P', 'F', 'X', 'R', 'R', 'N',
'G', 'A', 'K', 'B', 'C', 'N', 'P', 'M', 'N', 'N', 'Y', 'U', 'R', 'Y', 'U', 'B', 'M', 'H', 'R', 'P', 'P', 'Z', 'C', 'D', 'U', 'H', 'X', 'V',
'Y', 'Z', 'Y', 'H', 'G', 'G', 'X', 'Y', 'G', 'P', 'H', 'B', 'W', 'X', 'W', 'A', 'G', 'R', 'C', 'E', 'A', 'Y', 'O', 'F', 'Q', 'C', 'G', 'H',
'H', 'O', 'D', 'Y', 'U', 'W', 'T', 'K', 'X', 'S', 'G', 'H', 'P', 'N', 'E', 'J', 'S', 'Q', 'R', 'U', 'R', 'Y', 'V', 'W', 'M', 'O', 'D', 'G',
'C', 'P', 'A', 'I', 'U', 'U', 'U', 'A', 'Z', 'O', 'O', 'P', 'K', 'H', 'H', 'I', 'J', 'H', 'A', 'Z', 'I', 'W', 'B', 'D', 'F', 'L', 'I', 'O', 'A',
'C', 'J', 'W', 'A', 'N', 'T', 'N', 'L', 'B', 'H', 'D', 'X', 'Y', 'C', 'K', 'Z', 'W', 'F', 'P', 'J', 'R', 'Y', 'M', 'E', 'A', 'E', 'I', 'N', 'R',
'M', 'V', 'D', 'R', 'A', 'U', 'A', 'P', 'Y', 'Z', 'U', 'D', 'W', 'N', 'P', 'M', 'A', 'K', 'U', 'W', 'Y', 'O', 'Y', 'R', 'K', 'J', 'C', 'I',
'G', 'P', 'M', 'R', 'J', 'V', 'B', 'L', 'B', 'D', 'A', 'H', 'S', 'L', 'N', 'X', 'P', 'M', 'J', 'Y', 'X', 'C', 'X', 'T', 'D', 'N', 'K', 'B',
'W', 'Y', 'V', 'E', 'O', 'P', 'P', 'T', 'N', 'Z', 'J', 'N', 'N', 'G', 'Y', 'V', 'F', 'J', 'Y', 'D', 'H', 'Q', 'S', 'U', 'K', 'O', 'M', 'W',
'H', 'F', 'I', 'V', 'C', 'N', 'A', 'U', 'X', 'B', 'A', 'J', 'S', 'K', 'K', 'X', 'J', 'Z', 'B', 'S', 'E', 'K', 'G', 'T', 'E', 'N', 'M', 'M', 'D',
'D', 'A', 'K', 'C', 'P', 'W', 'N', 'R', 'Q', 'T', 'N', 'S', 'F', 'X', 'D', 'R', 'H', 'K', 'B', 'P', 'R', 'T', 'I', 'N', 'T', 'Q', 'V', 'K',
'D', 'W', 'H', 'P', 'U', 'Z', 'H', 'L', 'X', 'X', 'Y', 'A', 'N', 'M', 'J', 'O', 'A', 'R', 'N', 'I', 'S', 'L', 'Y', 'X', 'V', 'B', 'N', 'Z', 'E',
'H', 'C', 'N', 'P', 'C', 'T', 'U', 'X', 'W', 'F', 'D', 'P', 'Y', 'F', 'Q', 'U', 'T', 'A', 'F', 'X', 'A', 'N', 'P', 'Q', 'X', 'J', 'P', 'E', 'V',
'W', 'O', 'K', 'E', 'Z', 'Z', 'O', 'C', 'K', 'Q', 'P', 'O', 'Q', 'H', 'O', 'F', 'M', 'K', 'X', 'P', 'Z', 'J', 'Q', 'N', 'E', 'F', 'N', 'E',
'I', 'W', 'T', 'K', 'U', 'H', 'A', 'I', 'X', 'Q', 'T', 'I', 'D', 'E', 'A', 'J', 'R', 'U', 'P', 'T', 'M', 'S', 'W', 'P', 'D', 'Z', 'A', 'C', 'T',
'U', 'J', 'H', 'L', 'C', 'W', 'Q', 'O', 'X', 'S', 'U', 'Z', 'A', 'Z', 'C', 'N', 'F', 'S', 'Q', 'X', 'D', 'T', 'S', 'M', 'V', 'L', 'I', 'F', 'D',
'I', 'P', 'E', 'Q', 'W', 'A', 'K', 'B', 'B', 'C', 'L', 'K', 'I', 'I', 'V', 'I', 'U', 'E', 'N', 'W', 'B', 'S', 'Q', 'M', 'S', 'Z', 'E', 'Q', 'H',
'M', 'R', 'V', 'U', 'P', 'S', 'R', 'Q', 'L', 'R', 'X', 'N', 'C', 'Y', 'D', 'Z', 'E', 'G', 'Y', 'K', 'C', 'B', 'T', 'F', 'T', 'F', 'O', 'S', 'O',
'Q', 'J', 'V', 'Q', 'X', 'J', 'E', 'I', 'O', 'K', 'P', 'R', 'V', 'D', 'M', 'A', 'N', 'F', 'J', 'X', 'P', 'U', 'B', 'M', 'P', 'N', 'C', 'S', 'J',
'Y', 'W', 'I', 'H', 'M', 'X', 'A', 'P', 'B', 'Y', 'L', 'G', 'Z', 'G', 'K', 'D', 'I', 'J', 'P', 'I', 'X', 'Y', 'Y', 'A', 'P', 'L', 'A', 'U', 'X',
'V', 'Y', 'C', 'D', 'O', 'P', 'G', 'O', 'U', 'A', 'J', 'I', 'T', 'G', 'L', 'C', 'F', 'I', 'Y', 'B', 'G', 'S', 'I', 'Y', 'Z', 'H', 'M', 'O', 'R',
'L', 'I', 'M', 'U', 'L', 'S', 'C', 'D', 'V', 'B', 'K', 'E', 'O', 'F', 'E', 'L', 'L', 'Q', 'F', 'Z', 'L', 'P', 'M', 'T', 'J', 'Z', 'X', 'S', 'M',
'R', 'J', 'C', 'N', 'M', 'H', 'A', 'I', 'K', 'B', 'A', 'F', 'K', 'V', 'A', 'U', 'E', 'O', 'Y', 'R', 'A', 'V', 'I', 'N', 'U', 'Y', 'G', 'O', 'F',
'O', 'H', 'X', 'G', 'L', 'Y', 'S', 'G', 'K', 'K', 'F', 'R', 'X', 'I', 'Z', 'Y', 'F', 'E', 'F', 'Y', 'B', 'S', 'X', 'G', 'A', 'T', 'H', 'E', 'Y',
'P', 'M', 'F', 'U', 'M', 'L', 'Q', 'W', 'G', 'O', 'A', 'Y', 'Z', 'C', 'Q', 'P', 'V', 'N', 'H', 'S', 'D', 'Q', 'S', 'Y', 'C', 'C', 'O', 'I',
'K', 'S', 'C', 'A', 'T', 'U', 'H', 'Q', 'T', 'S', 'K', 'G', 'Q', 'E', 'S', 'D', 'Y', 'F', 'G', 'M', 'K', 'D', 'P', 'B', 'C', 'B', 'U', 'O',
'F', 'Z', 'F', 'O', 'T', 'L', 'N', 'M', 'Q', 'U', 'T', 'R', 'G', 'K', 'S', 'D', 'S', 'D', 'B', 'C', 'A', 'M', 'E', 'A', 'D', 'E', 'E', 'B',
'Z', 'G', 'K', 'G', 'Z', 'D', 'L', 'L', 'S', 'S', 'G', 'F', 'P', 'B', 'F', 'R', 'A', 'E', 'S', 'Q', 'L', 'C', 'S', 'R', 'I', 'S', 'Q', 'S', 'V',
'U', 'S', 'B', 'C', 'B', 'F', 'X', 'G', 'H', 'N', 'G', 'J', 'N', 'B', 'U', 'S', 'P', 'C', 'E', 'A', 'U', 'N', 'S', 'C', 'M', 'F', 'H', 'J', 'Q',
'I', 'V', 'F', 'Y', 'K', 'R', 'Y', 'K', 'I', 'N', 'B', 'J', 'K', 'F', 'B', 'Q', 'W', 'I', 'J', 'C', 'K', 'G', 'T', 'X', 'W', 'Z', 'A', 'Y', 'T',
'P', 'H', 'P', 'N', 'Q', 'A', 'H', 'W', 'P', 'X', 'N', 'Q', 'N', 'S', 'X', 'O', 'E', 'M', 'L', 'T', 'J', 'U', 'P', 'U', 'Y', 'S', 'B', 'A',
'C', 'K', 'Y', 'M', 'Y', 'O', 'R', 'L', 'J', 'U', 'T', 'T', 'F', 'E', 'I', 'J', 'D', 'W', 'A', 'Y', 'I', 'N', 'T', 'R', 'L', 'W', 'W', 'Q', 'N',
'S', 'K', 'B', 'S', 'R', 'W', 'W', 'G', 'E', 'H', 'I', 'J', 'K', 'X', 'D', 'C', 'H', 'Z', 'E', 'U', 'J', 'T', 'T', 'B', 'X', 'J', 'L', 'M', 'W',
'Z', 'S', 'G', 'Q', 'E', 'L', 'F', 'L', 'B', 'O', 'T', 'L', 'V', 'N', 'I', 'Z', 'N', 'Y', 'S', 'V', 'R', 'N', 'D', 'E', 'D', 'H', 'H', 'X', 'U',
'V', 'H', 'N', 'L', 'E', 'F', 'G', 'Q', 'D', 'Q', 'D', 'I', 'P', 'Y', 'H', 'C', 'X', 'J', 'H', 'R', 'D', 'J', 'V', 'A', 'D', 'U', 'D', 'B', 'A',
'W', 'F', 'B', 'G', 'S', 'B', 'J', 'N', 'A', 'D', 'Q', 'Y', 'E', 'O', 'G', 'I', 'H', 'O', 'I', 'Z', 'U', 'K', 'S', 'N', 'Y', 'S', 'W', 'O', 'Y',
'V', 'D', 'K', 'A', 'Q', 'H', 'Q', 'K', 'Y', 'Y', 'P', 'U', 'I', 'E', 'M', 'I', 'O', 'S', 'H', 'U', 'B', 'J', 'K', 'S', 'S', 'S', 'M', 'R', 'O',
'O', 'F', 'C', 'K', 'H', 'Q', 'Y', 'B', 'P', 'Y', 'H', 'C', 'J', 'Z', 'H', 'V', 'R', 'M', 'G', 'Z', 'N', 'C', 'V', 'U', 'O', 'J', 'X', 'F', 'B',
'F', 'J', 'D', 'Z', 'U', 'D', 'E', 'Y', 'D', 'F', 'Q', 'K', 'Y', 'G', 'Y', 'F', 'U', 'U', 'M', 'J', 'Y', 'I', 'E', 'N', 'P', 'D', 'I', 'C', 'D',
'O', 'Q', 'E', 'Q', 'I', 'H', 'Q', 'H', 'A', 'N', 'J', 'I', 'K', 'Y', 'C', 'E', 'V', 'O', 'C', 'T', 'X', 'B', 'S', 'V', 'C', 'J', 'W', 'Q', 'D',
'J', 'Z', 'D', 'C', 'Y', 'V', 'U', 'Q', 'N', 'F', 'Q', 'P', 'V', 'B', 'R', 'V', 'Q', 'U', 'T', 'T', 'G', 'X', 'H', 'D', 'E', 'W', 'X', 'Q',
'Q', 'M', 'M', 'E', 'L', 'B', 'Z', 'U', 'X', 'V', 'J', 'N', 'T', 'B', 'B', 'O', 'A', 'K', 'K', 'H', 'I', 'W', 'Q', 'S', 'I', 'Z', 'W', 'A',
'O', 'Y', 'K', 'W', 'X', 'Q', 'A', 'L', 'E', 'V', 'M', 'X', 'K', 'A', 'D', 'O', 'E', 'A', 'O', 'X', 'G', 'R', 'Q', 'V', 'K', 'M', 'M', 'R',
'N', 'U', 'O', 'Z', 'Q', 'D', 'R', 'J', 'R', 'U', 'Z', 'K', 'O', 'X', 'M', 'T', 'A', 'K', 'L', 'E', 'J', 'S', 'K', 'I', 'V', 'Z', 'Q', 'Z', 'J',
'W', 'R', 'Z', 'N', 'Q', 'N', 'T', 'Z', 'E', 'I', 'Y', 'S', 'R', 'J', 'S', 'E', 'C', 'K', 'L', 'L', 'X', 'K', 'J', 'F', 'O', 'Q', 'Z', 'V', 'G',
'C', 'V', 'D', 'B', 'G', 'K', 'J', 'T', 'G', 'K', 'I', 'B', 'L', 'O', 'D', 'C', 'O', 'A', 'S', 'I', 'M', 'Q', 'T', 'W', 'G', 'U', 'K', 'X',
'M', 'M', 'J', 'P', 'I', 'H', 'L', 'A', 'B', 'A', 'U', 'B', 'Z', 'O', 'Z', 'I', 'G', 'Z', 'C', 'O', 'J', 'T', 'H', 'O', 'R', 'H', 'S', 'V', 'N',
'O', 'Z', 'E', 'K', 'Z', 'L', 'B', 'B', 'Y', 'T', 'Z', 'T', 'C', 'L', 'L', 'G', 'P', 'M', 'I', 'X', 'M', 'N', 'V', 'N', 'Z', 'G', 'K', 'X', 'E',
'M', 'T', 'N', 'X', 'J', 'Y', 'E', 'F', 'P', 'B', 'M', 'D', 'Q', 'H', 'A', 'I', 'Z', 'A', 'J', 'U', 'T', 'S', 'Q', 'E', 'T', 'J', 'F', 'R', 'V',
'O', 'O', 'E', 'M', 'P', 'D', 'G', 'S', 'O', 'D', 'D', 'C', 'L', 'O', 'L', 'N', 'C', 'Z', 'M', 'C', 'J', 'O', 'G', 'X', 'L', 'Y', 'N', 'X',
'T', 'Z', 'B', 'G', 'G', 'G', 'Y', 'S', 'V', 'S', 'I', 'G', 'F', 'Z', 'Q', 'C', 'T', 'O', 'B', 'S', 'G', 'A', 'X', 'V', 'Q', 'R', 'Q', 'Q', 'P',
'B', 'Y', 'R', 'B', 'M', 'T', 'B', 'M', 'E', 'K', 'J', 'X', 'K', 'I', 'W', 'U', 'Z', 'O', 'T', 'H', 'A', 'R', 'D', 'E', 'A', 'B', 'E', 'H',
'G', 'J', 'E', 'P', 'I', 'Y', 'R', 'P', 'Z', 'E', 'Z', 'R', 'O', 'B', 'Q', 'Q', 'X', 'G', 'P', 'F', 'H', 'Q', 'J', 'B', 'S', 'H', 'N', 'U', 'N',
'A', 'Y', 'D', 'O', 'T', 'U', 'F', 'F', 'W', 'U', 'R', 'A', 'O', 'U', 'C', 'A', 'E', 'A', 'Z', 'I', 'A', 'K', 'A', 'A', 'D', 'H', 'Y', 'A',
'R', 'D', 'H', 'Y', 'R', 'S', 'N', 'E', 'G', 'M', 'F', 'D', 'D', 'V', 'Z', 'V', 'F', 'A', 'F', 'D', 'D', 'H', 'Q', 'F', 'I', 'Z', 'N', 'Z',
'W', 'C', 'V', 'H', 'D', 'P', 'N', 'O', 'D', 'V', 'M', 'Y', 'C', 'W', 'B', 'Q', 'S', 'A', 'B', 'B', 'Q', 'B', 'P', 'M', 'A', 'N', 'X',
'E', 'R', 'K', 'Y', 'Q', 'T', 'N', 'L', 'K', 'Y', 'G', 'F', 'B', 'G', 'P', 'Q', 'D', 'P', 'E', 'P', 'H', 'L', 'Z', 'O', 'K', 'Y', 'D', 'V', 'U',
'K', 'U', 'F', 'M', 'R', 'G', 'O', 'F', 'E', 'X', 'T', 'U', 'S', 'S', 'C', 'B', 'K', 'P', 'O', 'U', 'H', 'B', 'S', 'N', 'G', 'Y', 'H', 'D', 'I',
'P', 'T', 'Z', 'Q', 'T', 'P', 'Z', 'M', 'Z', 'A', 'D', 'I', 'X', 'K', 'G', 'J', 'O', 'J', 'N', 'I', 'I', 'E', 'B', 'V', 'U', 'Q', 'W', 'X', 'T',
'Q', 'F', 'G', 'P', 'G', 'I', 'D', 'K', 'M', 'D', 'G', 'D', 'Z', 'K', 'L', 'O', 'C', 'R', 'W', 'B', 'D', 'I', 'P', 'R', 'J', 'I', 'P', 'P', 'I',
'D', 'P', 'O', 'G', 'U', 'L', 'F', 'K', 'S', 'C', 'Y', 'P', 'Z', 'E', 'Y', 'X', 'S', 'H', 'M', 'Z', 'R', 'Z', 'Y', 'S', 'U', 'W', 'L', 'T', 'Y',
'U', 'Y', 'K', 'F', 'G', 'H', 'U', 'B', 'J']
423

26.

from mpl_toolkits.mplot3d import Axes3D

from matplotlib import cm

from matplotlib.ticker import LinearLocator,FormatStrFormatter

import matplotlib.pyplot as plt

import numpy as np

a = np.linspace(-6,6,30)

b=a

a, b = np.meshgrid(a,b)

z = np.sin(np.sqrt(a**2+b**2))

fig = plt.figure()

axes = fig.gca(projection='3d')

axes.plot_surface(a, b, z, rstride=1,cstride=1,cmap='winter',edgecolor='none')

axes.set_zlim(-0.75,0.75)

axes.zaxis.set_major_locator(LinearLocator(7))

axes.zaxis.set_major_formatter(FormatStrFormatter('%0.02f'))

axes.set_title('surface')

axes.view_init(60,35)

fig

plt.show()

OUTPUT
27.

import numpy as np

import matplotlib.cm as cm

import matplotlib.pyplot as plt

import matplotlib.cbook as cbook

from matplotlib.path import Path

from matplotlib.patches import PathPatch

delta = 0.025

x = y = np.arange(-3.0, 3.0, delta)

X, Y = np.meshgrid(x, y)

Z1 = np.exp(-X**2 - Y**2)

Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2)

Z = (Z1 - Z2) * 2

fig, ax = plt.subplots()

im = ax.imshow(Z, interpolation = 'bilinear',

cmap = cm.RdYlGn,
origin= 'lower', extent=[-3, 3,-3, 3],

vmax=abs(Z).max(), vmin=-abs(Z).max())

plt.show()

OUTPUT

28.

import numpy as np

import matplotlib.pyplot as plt

theta = np.arange(0, 2*np.pi,0.01)

r = 1-np.cos(theta)

ax = plt.subplot(111, projection ='polar')

ax.plot(theta,r)

ax.set_rmax(2)

ax.set_rticks([0.5, 1, 1.5, 2])

ax.set_rlabel_position(-22.5)

ax.grid(False)

ax.set_title("A polar plot", va='bottom')

plt.show()
OUTPUT

29.

import numpy as np

import matplotlib.pyplot as plt

theta = np.arange(0, 2*np.pi,0.01)

r = 1-np.cos(theta)

ax = plt.subplot(111, projection ='polar')

ax.plot(theta,r)

ax.set_rmax(2)

ax.set_rticks([0.5, 1, 1.5, 2])

ax.set_rlabel_position(-22.5)

ax.grid(True)

ax.set_title("A polar plot", va='bottom')

plt.show()

OUTPUT
30.

import matplotlib as mpl

from mpl_toolkits.mplot3d import Axes3D

import numpy as np

import matplotlib.pyplot as plt

mpl.rcParams['legend.fontsize'] = 10

fig = plt.figure(figsize = (5, 5))

x = np.random.random(100)*10+20

y = np.random.random(100)*5+7

z = np.random.random(100)*15+50

ax = fig.add_subplot(111, projection ='3d')

ax.scatter3D(x, y, z, c ="red")

plt.show()

OUTPUT
31.

import matplotlib as mpl

from mpl_toolkits.mplot3d import Axes3D

import numpy as np

import matplotlib.pyplot as plt

mpl.rcParams['legend.fontsize'] = 10

fig = plt.figure(figsize = (5, 5))

xs = np.random.random(100)*10+20

ys = np.random.random(100)*5+7

zs = np.random.random(100)*15+50

ax = fig.add_subplot(111, projection ='3d')

ax.scatter3D(xs, ys, zs)

plt.show()

OUTPUT
32.

import matplotlib as mpl

from mpl_toolkits.mplot3d import Axes3D

import numpy as np

import matplotlib.pyplot as plt

mpl.rcParams['legend.fontsize'] = 10

fig = plt.figure(figsize = (2, 2))

ax = fig.add_subplot(111, projection ='3d')

plt.show()

OUTPUT
33.

import matplotlib as mpl

from mpl_toolkits.mplot3d import

Axes3D import numpy as np

import matplotlib.pyplot as plt

mpl.rcParams['legend.fontsize'] =

10 fig = plt.figure()

ax =

fig.gca(projection='3d')

plt.show()

OUTPUT

34.

from mpl_toolkits.mplot3d import

Axes3D from matplotlib import cm

from matplotlib.ticker import


LinearLocator import matplotlib.pyplot as plt
import numpy as np

a = np.linspace(-6,6,30)

b=a

a,b = np.meshgrid(a,b)

z = np.sin(np.sqrt(a**2+b**2))

fig = plt.figure()

axes = fig.gca(projection='3d')

axes.plot_surface(a,b,z,rstride=1,cstride=1,cmap='viridis',edgecolor='none')

axes.set_zlim(-1,1)

axes.zaxis.set_major_locator(LinearLocator(5))

axes.set_title('surface')

plt.show()

OUTPUT

35.

import matplotlib as mpl


from mpl_toolkits.mplot3d import Axes3D

import numpy as np

import matplotlib.pyplot as plt

mpl.rcParams['legend.fontsize'] = 10

fig = plt.figure()

ax = fig.gca(projection='3d')

x = np.linspace(-10, 10, 100)

y = np.linspace(-10, 10, 100)

z = x**2+y**2

ax.plot(x, y, z)

plt.show()

OUTPUT

36.

from mpl_toolkits.mplot3d import Axes3D

from matplotlib import cm


from matplotlib.ticker import LinearLocator,FormatStrFormatter

import matplotlib.pyplot as plt

import numpy as np

a = np.arange(-5,5,0.25)

b=a

a, b = np.meshgrid(a,b)

z = np.sin(np.sqrt(a**2+b**2))

fig = plt.figure()

axes = fig.gca(projection='3d')

surf = axes.plot_surface(a, b, z,
rstride=1,cstride=1,cmap='coolwarm',edgecolor='none',linewidth=0,antialiased = False)

axes.set_zlim(-1.01,1.01)

axes.zaxis.set_major_locator(LinearLocator(10))

axes.zaxis.set_major_formatter(FormatStrFormatter('%0.02f'))

fig.colorbar(surf,shrink=0.5,aspect=3)

plt.show()

OUTPUT
37.

from mpl_toolkits.mplot3d import Axes3D

from matplotlib import cm

from matplotlib.ticker import LinearLocator

import matplotlib.pyplot as plt

import numpy as np

a = np.linspace(-6,6,30)

b=a

a,b = np.meshgrid(a,b)

z = np.sin(np.sqrt(a**2+b**2))

fig = plt.figure()

axes = fig.gca(projection='3d')

axes.plot_surface(a,b,z,rstride=1,cstride=1,cmap='viridis',edgecolor='none')

axes.set_zlim(-1,1)

axes.zaxis.set_major_locator(LinearLocator(5))

axes.set_title('surface')

plt.show()

OUTPUT
38.

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
plt.style.use("seaborn-poster")
fig = plt.figure(figsize=(10,5))

ax=fig.add_subplot(1, 2, 1, projection='3d')

x=np.arange(-5, 5.1, 0.2)


y=np.arange(-5, 5.1, 0.2)

X,Y=np.meshgrid(x, y)
Z=np.sin(X)*np.cos(Y)

surf = ax.plot_surface(X,Y,Z, cmap = plt.cm.cividis)


ax.plot_wireframe (X,Y,Z)
ax.set_title('wireframe plot')

ax = fig.add_subplot(1, 2, 2, projection='3d')
ax.plot_surface(X,Y,Z)
ax.set_title('Surface plot')

plt.tight_layout()

plt.show()

output
39.

# Print the calendar for a month in a year


def printMonth(year, month):
# Print the headings of the calendar
printMonthTitle(year, month)

# Print the body of the calendar


printMonthBody(year, month)

# Print the month title, e.g., May 1999


def printMonthTitle(year, month):
print(" ", getMonthName(month), " ", year)

print("————————————————————————————————————————
——")
print("Sun Mon Tue Wed Thu Fri Sat")

# Print month body


def printMonthBody(year, month):
# Get start day of the week for the first date in the month
startDay = getStartDay(year, month)

# Get number of days in the month


numberOfDaysInMonth = getNumberOfDaysInMonth(year, month)

# Pad space before the first day of the month


i=0
for i in range(0, startDay):
print(" ", end = " ")

for i in range(1, numberOfDaysInMonth + 1):


print(format(i, "4d"), end = " ")

if (i + startDay) % 7 == 0:
print() # Jump to the new line

# Get the English name for the month


def getMonthName(month):
if month == 1:
monthName = "January"
elif month == 2:
monthName = "February"
elif month == 3:
monthName = "March"
elif month == 4:
monthName = "April"
elif month == 5:
monthName = "May"
elif month == 6:
monthName = "June"
elif month == 7:
monthName = "July"
elif month == 8:
monthName = "August"
elif month == 9:
monthName = "September"
elif month == 10:
monthName = "October"
elif month == 11:
monthName = "November"
else:
monthName = "December"

return monthName

# Get the start day of month/1/year


def getStartDay(year, month):
START_DAY_FOR_JAN_1_1800 = 3

# Get total number of days from 1/1/1800 to month/1/year


totalNumberOfDays = getTotalNumberOfDays(year, month)

# Return the start day for month/1/year


return (totalNumberOfDays + START_DAY_FOR_JAN_1_1800) % 7\

# Get the total number of days since January 1, 1800


def getTotalNumberOfDays(year, month):
total = 0

# Get the total days from 1800 to 1/1/year


for i in range(1800, year):
if isLeapYear(i):
total = total + 366
else:
total = total + 365

# Add days from Jan to the month prior to the calendar month
for i in range(1, month):
total = total + getNumberOfDaysInMonth(year, i)

return total

# Get the number of days in a month


def getNumberOfDaysInMonth(year, month):
if (month == 1 or month == 3 or month == 5 or month == 7 or
month == 8 or month == 10 or month == 12):
return 31

if month == 4 or month == 6 or month == 9 or month == 11:


return 30

if month == 2:
return 29 if isLeapYear(year) else 28

return 0 # If month is incorrect

# Determine if it is a leap year


def isLeapYear(year):
return year % 400 == 0 or (year % 4 == 0 and year % 100 != 0)

def main():
# Prompt the user to enter year and month
year = eval(input("Enter full year (e.g., 2001): "))
month = eval(input(("Enter month as number between 1 and 12: ")))

# Print calendar for the month of the year


printMonth(year, month)

main()

output

Enter full year (e.g., 2001): 2021

Enter month as number between 1 and 12: 10


October 2021
—————————————————————————————————————
—————
Sun Mon Tue Wed Thu Fri Sat
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
40.

from mpl_toolkits.mplot3d import Axes3D


from matplotlib import cm
from matplotlib.ticker import LinearLocator
import matplotlib.pyplot as plt
import numpy as np
a = np.linspace(-6,6,30)
b=a
a,b = np.meshgrid(a,b)
z = np.sin(np.sqrt(a*2+b*2))
fig = plt.figure()
axes = fig.gca(projection='3d')
axes.plot_surface(a,b,z,rstride=1,cstride=1,cmap='viridis',edgecolor='none')
axes.set_zlim(-1,1)
axes.zaxis.set_major_locator(LinearLocator(5))
axes.set_title('surface')
plt.show()

output

You might also like