Python Training at VMWare - Day 3

Feb 26-28, 2018 Vikrant Patil

These notes are available online at http://notes.pipal.in/2018/vmware-feb-python

© Pipal Academy LLP

Day 1 | Day 2 | Day 3

Reading Files

In [1]:
f = open("data.txt")
In [2]:
f.read()
Out[2]:
"The Zen of Python, by Tim Peters\n\nBeautiful is better than ugly.\nExplicit is better than implicit.\nSimple is better than complex.\nComplex is better than complicated.\nFlat is better than nested.\nSparse is better than dense.\nReadability counts.\nSpecial cases aren't special enough to break the rules.\nAlthough practicality beats purity.\nErrors should never pass silently.\nUnless explicitly silenced.\nIn the face of ambiguity, refuse the temptation to guess.\nThere should be one-- and preferably only one --obvious way to do it.\nAlthough that way may not be obvious at first unless you're Dutch.\nNow is better than never.\nAlthough never is often better than *right* now.\nIf the implementation is hard to explain, it's a bad idea.\nIf the implementation is easy to explain, it may be a good idea.\nNamespaces are one honking great idea -- let's do more of those!"
In [3]:
f.read()
Out[3]:
''
In [4]:
f = open("data.txt")
In [5]:
f.readline()
Out[5]:
'The Zen of Python, by Tim Peters\n'
In [6]:
f.readline()
Out[6]:
'\n'
In [7]:
lines = f.readlines()
In [8]:
lines
Out[8]:
['Beautiful is better than ugly.\n',
 'Explicit is better than implicit.\n',
 'Simple is better than complex.\n',
 'Complex is better than complicated.\n',
 'Flat is better than nested.\n',
 'Sparse is better than dense.\n',
 'Readability counts.\n',
 "Special cases aren't special enough to break the rules.\n",
 'Although practicality beats purity.\n',
 'Errors should never pass silently.\n',
 'Unless explicitly silenced.\n',
 'In the face of ambiguity, refuse the temptation to guess.\n',
 'There should be one-- and preferably only one --obvious way to do it.\n',
 "Although that way may not be obvious at first unless you're Dutch.\n",
 'Now is better than never.\n',
 'Although never is often better than *right* now.\n',
 "If the implementation is hard to explain, it's a bad idea.\n",
 'If the implementation is easy to explain, it may be a good idea.\n',
 "Namespaces are one honking great idea -- let's do more of those!"]
In [9]:
for line in open("data.txt"):
    print(line, end="")
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

problem

  • Implement unix command cat, as a python script cat.py
    python cat.py test.txt
    one
    two
    three
    helo world
  • Write a python script head.py which implements unix command head approximately.
python head.py 3 data.txt
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
  • Write a python script wc.py which implements unix command wc. wc prints line count, word count , char count and file name.
    python wc.py data.txt
    20 144 856 data.txt
In [10]:
a = 3
In [11]:
a
Out[11]:
3
In [12]:
print(a)
3
In [13]:
%%file cat.py

import sys

def cat(file):
    print(open(file).read())
    
if __name__ == "__main__":
    for file in sys.argv[1:]:
        cat(file)
Writing cat.py
In [15]:
!python cat.py *.txt
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
one
two
three
helo world

In [18]:
%%file head.py

import sys

def head(file, n):
    f = open(file)
    
    for i in range(n):
        print(f.readline(), end="")
        
if __name__ == "__main__":
    head(sys.argv[2], int(sys.argv[1]))
Overwriting head.py
In [19]:
!python head.py 5 data.txt
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
In [20]:
%%file wc.py
import sys

def line_count(file):
    return len(open(file).readlines())

def word_count(file):
    contents = open(file).read()
    words = contents.split()
    return len(words)

def char_count(file):
    return len(open(file).read())


if __name__ == "__main__":
    file = sys.argv[1]
    print(line_count(file), word_count(file), char_count(file), file)
Writing wc.py
In [21]:
!python wc.py data.txt
21 144 856 data.txt
In [22]:
!python wc.py data.txt
21 144 857 data.txt

problem

  • Can you find a file with largest number of lines in your current directory?
In [23]:
import os
In [26]:
files = os.listdir(os.getcwd())
In [29]:
files = [f for f in files if os.path.isfile(f)]
In [30]:
files
Out[30]:
['wc.py',
 'push',
 'day1.ipynb',
 'head.py',
 'module.py',
 'day2.ipynb',
 'day2.html',
 'add1.py',
 'day3.ipynb',
 'add2.py',
 'functions.py',
 'data.txt',
 'test.txt',
 'module1.py',
 'day3.html',
 'Makefile',
 'add.py',
 'cat.py',
 'day1.html',
 'ls.py']
In [31]:
max(files, key=os.path.getsize)
Out[31]:
'day1.html'
In [33]:
import wc
max(files, key=wc.line_count)
Out[33]:
'day1.html'
In [34]:
import wc
max(files, key=wc.char_count)
Out[34]:
'day1.html'

Writing files

In [35]:
f = open("numbers.txt","w")
In [36]:
f.write("one\n")
f.write("two\n")
f.write("three\n")
f.write("four\n")
f.close()
In [37]:
!python cat.py numbers.txt
one
two
three
four

In [38]:
f = open("numbers.txt", "a")
f.write("five\n")
Out[38]:
5
In [39]:
f.close()
In [40]:
!python cat.py numbers.txt
one
two
three
four
five

In [42]:
f = open("binary.bin","wb")
f.write(b"hello")
f.write(b"\x2c3xa23")
f.close()
In [43]:
f = open("binary.bin","rb")
f.read()
Out[43]:
b'hello,3xa23'
In [44]:
s = "Hello world"
In [45]:
s.encode()
Out[45]:
b'Hello world'
In [46]:
b = s.encode()
In [48]:
b
Out[48]:
b'Hello world'
In [49]:
type(b)
Out[49]:
bytes
In [51]:
b.decode("utf-08")
---------------------------------------------------------------------------
LookupError                               Traceback (most recent call last)
<ipython-input-51-222ea87e4c41> in <module>()
----> 1 b.decode("utf-08")

LookupError: unknown encoding: utf-08
In [52]:
help(b.decode)
Help on built-in function decode:

decode(encoding='utf-8', errors='strict') method of builtins.bytes instance
    Decode the bytes using the codec registered for encoding.
    
    encoding
      The encoding with which to decode the bytes.
    errors
      The error handling scheme to use for the handling of decoding errors.
      The default is 'strict' meaning that decoding errors raise a
      UnicodeDecodeError. Other possible values are 'ignore' and 'replace'
      as well as any other name registered with codecs.register_error that
      can handle UnicodeDecodeErrors.

In [53]:
b.decode(encoding="utf-8")
Out[53]:
'Hello world'
In [55]:
with open("numbers.txt", "a") as f:
    f.write("six\n")
    f.write("seven\n")
    
In [57]:
!python cat.py numbers.txt
one
two
three
four
five
six
seven

problem

  • Write function to write given 2d list as a file in csv format.
  • Write a csvparser, which parses csv file and loads data as 2D list.
In [60]:
t = [["A1","B1","C1"],
    ["A2","B2","C2"],
    ["A3","B3","C3"],
    ["A4","B4","C4"]]
In [61]:
t
Out[61]:
[['A1', 'B1', 'C1'],
 ['A2', 'B2', 'C2'],
 ['A3', 'B3', 'C3'],
 ['A4', 'B4', 'C4']]
In [66]:
def writecsv(data, filename):
    with open(filename, "w") as f:
        for row in data:
            f.write(",".join(row))
            f.write("\n")
    
    
In [67]:
writecsv(t, "data.csv")
In [68]:
!python cat.py data.csv
A1,B1,C1
A2,B2,C2
A3,B3,C3
A4,B4,C4

Dictionaries

In [69]:
person = {"author":"Lewis carrol","books":["Alice in wonderland","Lokking through the glass"],
         "country":"UK"}
In [70]:
person["author"]
Out[70]:
'Lewis carrol'
In [71]:
person["hello"]
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-71-9859c9b28300> in <module>()
----> 1 person["hello"]

KeyError: 'hello'
In [72]:
person.get("awards","booker")
Out[72]:
'booker'
In [73]:
person
Out[73]:
{'author': 'Lewis carrol',
 'books': ['Alice in wonderland', 'Lokking through the glass'],
 'country': 'UK'}
In [74]:
del person["country"]
In [75]:
person
Out[75]:
{'author': 'Lewis carrol',
 'books': ['Alice in wonderland', 'Lokking through the glass']}
In [76]:
dict(zip([1,2,3],["one","two","three"]))
Out[76]:
{1: 'one', 2: 'two', 3: 'three'}
In [77]:
items = ["Pen","Pencil","Eraser"]
prices = [10,12,5]
cart = dict(zip(items, prices))
In [78]:
cart
Out[78]:
{'Eraser': 5, 'Pen': 10, 'Pencil': 12}
In [79]:
del person["country"]
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-79-20a8386e7e60> in <module>()
----> 1 del person["country"]

KeyError: 'country'
In [82]:
for item in cart: # go over keys
    print(item) 
Pen
Pencil
Eraser
In [83]:
for value in cart.values(): # go over values
    print(value)
10
12
5
In [84]:
for key, value in cart.items():
    print(key, value)
Pen 10
Pencil 12
Eraser 5
In [ ]:
for item in cart.keys(): # go over keys
    print(item)
In [87]:
"Pen" in cart
Out[87]:
True

Example : wordcount

In [86]:
%%file words.txt
one
one two
one two three
one two three four
one two three four five
one two three four six
one two three six five
one two three
six seven
eight
Writing words.txt
In [88]:
def words(file):
    return open(file).read().split()

def wordfreq(words):
    freq = {}
    for w in words:
        if w in freq:
            freq[w] += 1
        else:
            freq[w] = 1
    return freq
In [89]:
wordfreq(words("words.txt"))
Out[89]:
{'eight': 1,
 'five': 2,
 'four': 3,
 'one': 8,
 'seven': 1,
 'six': 3,
 'three': 6,
 'two': 7}
In [90]:
def wordfreq1(words):
    freq = {}
    for w in words:
        freq[w] = freq.get(w, 0) + 1

    return freq
In [91]:
wordfreq1(words("words.txt"))
Out[91]:
{'eight': 1,
 'five': 2,
 'four': 3,
 'one': 8,
 'seven': 1,
 'six': 3,
 'three': 6,
 'two': 7}
In [94]:
def wordfreq2(words):
    freq = {}
    for w in set(words):
        freq[w] = words.count(w)
    return freq
In [96]:
freq = wordfreq2(words("words.txt"))
In [97]:
freq
Out[97]:
{'eight': 1,
 'five': 2,
 'four': 3,
 'one': 8,
 'seven': 1,
 'six': 3,
 'three': 6,
 'two': 7}
In [99]:
for w,f in freq.items():
    print(w.ljust(5), f)
four  3
five  2
six   3
two   7
seven 1
three 6
eight 1
one   8
In [100]:
for w,f in sorted(freq.items()):
    print(w.ljust(5), f)
eight 1
five  2
four  3
one   8
seven 1
six   3
three 6
two   7
In [101]:
for w,f in sorted(freq.items(), key=lambda item:item[1]):
    print(w.ljust(5), f)
seven 1
eight 1
five  2
four  3
six   3
three 6
two   7
one   8
In [102]:
for w,f in sorted(freq.items(), key=lambda item:item[1], reverse=True):
    print(w.ljust(5), f)
one   8
two   7
three 6
four  3
six   3
five  2
seven 1
eight 1
In [103]:
for w,f in sorted(freq.items(), key=lambda item:item[1], reverse=True):
    print(w.ljust(5), f,"*"*f)
one   8 ********
two   7 *******
three 6 ******
four  3 ***
six   3 ***
five  2 **
seven 1 *
eight 1 *
In [104]:
teams = {"Anand":"India", "Noufal":"India", "David":"USA","Ken":"UK","Harry":"USA"}
In [105]:
teams
Out[105]:
{'Anand': 'India',
 'David': 'USA',
 'Harry': 'USA',
 'Ken': 'UK',
 'Noufal': 'India'}
In [107]:
teams.values()
Out[107]:
dict_values(['India', 'India', 'USA', 'UK', 'USA'])
In [108]:
[i[0] for i in teams.items() if i[1]=="India"]
Out[108]:
['Anand', 'Noufal']
In [109]:
[name for name,country in teams.items() if country=="USA"]
Out[109]:
['David', 'Harry']

pitfalls

In [110]:
x = [1,1,1,1]
y = x
y.append(0)
print(x)
[1, 1, 1, 1, 0]
In [111]:
x = [1,1,1,1]
y = x[:]
y.append(0)
print(x)
[1, 1, 1, 1]
In [112]:
x = [1,1,1,1]
y = x
x = [1,2,3]
print(y)
[1, 1, 1, 1]

Why classes

In [113]:
%%file light.py
on = True
color = "Red"

def switchon():
    global on
    on = True
    
def switchoff():
    global on
    on = False
    
def getcolor():
    return color
    
Writing light.py
In [114]:
import light
In [115]:
light.color
Out[115]:
'Red'
In [116]:
light.on
Out[116]:
True
In [117]:
light.getcolor()
Out[117]:
'Red'
In [118]:
%%file bank0.py
balance = 0

def getbalance():
    return balance

def deposit(amount):
    global balance
    balance += amount
    
def withdraw(amount):
    global balance
    balance -= amount
Writing bank0.py
In [121]:
%%file bank1.py

def make_person(name, age, adharnum):
    def behavoir():
        pass
    return {"name":name, "age":age, "adhar":adharnum, 
            "behavior":behavoir}

def create_account(name, age, adhar):
    person = make_person(name, age, adhar)
    return {"balance":0,
           "person":person}

def getbalance(account):
    return account['balance']

def deposit(account, amount):
    account["balance"] += amount
    
def withdraw(account, amount):
    account["balance"] -= amount
    
if __name__ == "__main__":
    a1 = create_account()
Overwriting bank1.py
In [122]:
import itertools
In [127]:
words = ["ant","and","dad","cat","left"]
with open("anagrams.txt", "w") as f:
    for w in words:
        for anagrm in set(itertools.permutations(w)):
            f.write("".join(anagrm) + "\n")
    
In [128]:
!python cat.py anagrams.txt
nta
ant
tan
tna
nat
atn
nda
adn
nad
dan
dna
and
dda
add
dad
tac
cta
atc
act
tca
cat
flte
elft
etfl
fetl
ltfe
tefl
left
lfet
tlef
felt
eftl
tfle
ftel
lfte
eflt
ltef
eltf
ftle
tfel
letf
etlf
telf
flet
tlfe

In [129]:
x
Out[129]:
[1, 2, 3]
In [130]:
del x
In [131]:
x
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-131-401b30e3b8b5> in <module>()
----> 1 x

NameError: name 'x' is not defined
In [136]:
x = [1,2,3]

def f(a):
    print(a)
    print(x)
  
In [137]:
f(3)
3
[1, 2, 3]
In [138]:
def f1(x):
    x = 1
In [139]:
x = [1,2,3]
y = 4
f1(y)
print(y)
4
In [ ]:
 
In [140]:
def f1(x):
    global x
    x = 1
  File "<ipython-input-140-631fca6065f1>", line 2
    global x
    ^
SyntaxError: name 'x' is parameter and global
In [143]:
 
Out[143]:
{'In': ['',
  'f = open("data.txt")',
  'f.read()',
  'f.read()',
  'f = open("data.txt")',
  'f.readline()',
  'f.readline()',
  'lines = f.readlines()',
  'lines',
  'for line in open("data.txt"):\n    print(line, end="")',
  'a = 3',
  'a',
  'print(a)',
  'get_ipython().run_cell_magic(\'file\', \'cat.py\', \'\\nimport sys\\n\\ndef cat(file):\\n    print(open(file).read())\\n    \\nif __name__ == "__main__":\\n    for file in sys.argv[1:]:\\n        cat(file)\')',
  "get_ipython().system('python cat.py *.py')",
  "get_ipython().system('python cat.py *.txt')",
  'get_ipython().run_cell_magic(\'file\', \'head.py\', \'\\nimport sys\\n\\ndef head(file, n):\\n    f = open(file)\\n    \\n    for i in range(n):\\n        print(f.readline(), end="")\\n        \\nif __name__ == "__main__":\\n    head(sys.argv[2], int(sys.argv[1]))\')',
  "get_ipython().system('python head.py 5 data.txt')",
  'get_ipython().run_cell_magic(\'file\', \'head.py\', \'\\nimport sys\\n\\ndef head(file, n):\\n    f = open(file)\\n    \\n    for i in range(n):\\n        print(f.readline(), end="")\\n        \\nif __name__ == "__main__":\\n    head(sys.argv[2], int(sys.argv[1]))\')',
  "get_ipython().system('python head.py 5 data.txt')",
  'get_ipython().run_cell_magic(\'file\', \'wc.py\', \'import sys\\n\\ndef line_count(file):\\n    return len(open(file).readlines())\\n\\ndef word_count(file):\\n    contents = open(file).read()\\n    words = contents.split()\\n    return len(words)\\n\\ndef char_count(file):\\n    return len(open(file).read())\\n\\n\\nif __name__ == "__main__":\\n    file = sys.argv[1]\\n    print(line_count(file), word_count(file), char_count(file), file)\')',
  "get_ipython().system('python wc.py data.txt')",
  "get_ipython().system('python wc.py data.txt')",
  'import os',
  'files = os.listsdir()',
  'files = os.listsdir(os.getcwd())',
  'files = os.listdir(os.getcwd())',
  'files',
  'files = [f in files if os.path.isfile(f)]',
  'files = [f for f in files if os.path.isfile(f)]',
  'files',
  'max(files, key=os.path.getsize)',
  'import wc\nmax(files, key)',
  'import wc\nmax(files, key=wc.line_count)',
  'import wc\nmax(files, key=wc.char_count)',
  'f = open("numbers.txt","w")',
  'f.write("one\\n")\nf.write("two\\n")\nf.write("three\\n")\nf.write("four\\n")\nf.close()',
  "get_ipython().system('python cat.py numbers.txt')",
  'f = open("numbers.txt", "a")\nf.write("five\\n")',
  'f.close()',
  "get_ipython().system('python cat.py numbers.txt')",
  'f = open("binary.bin""wb")\nf.write(b"hello")\nf.write(b"\\x2c3xa23")\nf.close()',
  'f = open("binary.bin","wb")\nf.write(b"hello")\nf.write(b"\\x2c3xa23")\nf.close()',
  'f = open("binary.bin","rb")\nf.read()',
  's = "Hello world"',
  's.encode()',
  'b = s.encode()',
  'b',
  'b',
  'type(b)',
  'b.decode()',
  'b.decode("utf-08")',
  'help(b.decode)',
  'b.decode(encoding="utf-8")',
  'with f as open("numbers.txt", "a"):\n    f.write("six\\n")\n    f.write("seven\\n")\n    ',
  'with open("numbers.txt", "a") as f:\n    f.write("six\\n")\n    f.write("seven\\n")\n    ',
  "get_ipython().system('python numbers.txt')",
  "get_ipython().system('python cat.py numbers.txt')",
  't = ["A1","B1","C1",\n    "A2","B2","C2",\n    "A3","B3","C3",\n    "A4","B4","C4"]',
  't',
  't = [["A1","B1","C1"],\n    ["A2","B2","C2"],\n    ["A3","B3","C3"],\n    ["A4","B4","C4"]]',
  't',
  'def writecsv(data, filename):\n    with open(filename, "w") as f:\n        for row in data:\n            f.write(",".join(row))\n    \n    ',
  'writecsv("data.csv",t)',
  'writecsv(t, "data.csv")',
  "get_ipython().system('python cat.py data.csv')",
  'def writecsv(data, filename):\n    with open(filename, "w") as f:\n        for row in data:\n            f.write(",".join(row))\n            f.write("\\n")\n    \n    ',
  'writecsv(t, "data.csv")',
  "get_ipython().system('python cat.py data.csv')",
  'person = {"author":"Lewis carrol","books":["Alice in wonderland","Lokking through the glass"],\n         "country":"UK"}',
  'person["author"]',
  'person["hello"]',
  'person.get("awards","booker")',
  'person',
  'del person["country"]',
  'person',
  'dict(zip([1,2,3],["one","two","three"]))',
  'items = ["Pen","Pencil","Eraser"]\nprices = [10,12,5]\ncart = dict(zip(items, prices))',
  'cart',
  'del person["country"]',
  'for item in cart:\n    print(item)',
  'for value in cart.values():\n    print(value)',
  'for item in cart: # go over keys\n    print(item) ',
  'for value in cart.values(): # go over values\n    print(value)',
  'for key, value in cart.items():\n    print(key, value)',
  'for item in cart.keys(): # go over keys\n    print(item)',
  "get_ipython().run_cell_magic('file', 'words.txt', 'one\\none two\\none two three\\none two three four\\none two three four five\\none two three four six\\none two three six five\\none two three\\nsix seven\\neight')",
  '"Pen" in cart',
  'def words(file):\n    return open(file).read().split()\n\ndef wordfreq(words):\n    freq = {}\n    for w in words:\n        if w in freq:\n            freq[w] += 1\n        else:\n            freq[w] = 1\n    return freq',
  'wordfreq(words("words.txt"))',
  'def wordfreq1(words):\n    freq = {}\n    for w in words:\n        freq[w] = freq.get(w, 0) + 1\n\n    return freq',
  'wordfreq1(words("words.txt"))',
  'def wordfreq2(words):\n    freq = {}\n    for w in set(words):\n        freq[w] = word.count(w)\n    return freq',
  'wordfreq2(words("words.txt"))',
  'def wordfreq2(words):\n    freq = {}\n    for w in set(words):\n        freq[w] = words.count(w)\n    return freq',
  'wordfreq2(words("words.txt"))',
  'freq = wordfreq2(words("words.txt"))',
  'freq',
  'for w,f in freq.items():\n    print(w, f)',
  'for w,f in freq.items():\n    print(w.ljust(5), f)',
  'for w,f in sorted(freq.items()):\n    print(w.ljust(5), f)',
  'for w,f in sorted(freq.items(), key=lambda item:item[1]):\n    print(w.ljust(5), f)',
  'for w,f in sorted(freq.items(), key=lambda item:item[1], reverse=True):\n    print(w.ljust(5), f)',
  'for w,f in sorted(freq.items(), key=lambda item:item[1], reverse=True):\n    print(w.ljust(5), f,"*"*f)',
  'teams = {"Anand":"India", "Noufal":"India", "David":"USA","Ken":"UK","Harry":"USA"}',
  'teams',
  'teams.values()',
  'teams.values()',
  '[i[0] for i in teams.items() if i[1]=="India"]',
  '[name for name,country in teams.items() if country=="USA"]',
  'x = [1,1,1,1]\ny = x\ny.append(0)\nprint(x)',
  'x = [1,1,1,1]\ny = x[:]\ny.append(0)\nprint(x)',
  'x = [1,1,1,1]\ny = x\nx = [1,2,3]\nprint(y)',
  'get_ipython().run_cell_magic(\'file\', \'light.py\', \'on = True\\ncolor = "Red"\\n\\ndef switchon():\\n    global on\\n    on = True\\n    \\ndef switchoff():\\n    global on\\n    on = False\\n    \\ndef getcolor():\\n    return color\\n    \')',
  'import light',
  'light.color',
  'light.on',
  'light.getcolor()',
  "get_ipython().run_cell_magic('file', 'bank0.py', 'balance = 0\\n\\ndef getbalance():\\n    return balance\\n\\ndef deposit(amount):\\n    global balance\\n    balance += amount\\n    \\ndef withdraw(amount):\\n    global balance\\n    balance -= amount')",
  'get_ipython().run_cell_magic(\'file\', \'bank1.py\', \'\\ndef create_account():\\n    return {"balance":0}\\n\\ndef getbalance(account):\\n    return account[\\\'balance\\\']\\n\\ndef deposit(account, amount):\\n    account["balance"] += amount\\n    \\ndef withdraw(account, amount):\\n    account["balance"] -= amount\')',
  'get_ipython().run_cell_magic(\'file\', \'bank1.py\', \'\\ndef make_person(name, age, adharnum):\\n    return {"name":name, "age":age, "adhar":adharnum}\\n\\ndef create_account(name, age, adhar):\\n    person = make_person(name, age, adhar)\\n    return {"balance":0,\\n           "person":person}\\n\\ndef getbalance(account):\\n    return account[\\\'balance\\\']\\n\\ndef deposit(account, amount):\\n    account["balance"] += amount\\n    \\ndef withdraw(account, amount):\\n    account["balance"] -= amount\\n    \\nif __name__ == "__main__":\\n    a1 = \')',
  'get_ipython().run_cell_magic(\'file\', \'bank1.py\', \'\\ndef make_person(name, age, adharnum):\\n    def behavoir():\\n        pass\\n    return {"name":name, "age":age, "adhar":adharnum, \\n            "behavior":behavoir}\\n\\ndef create_account(name, age, adhar):\\n    person = make_person(name, age, adhar)\\n    return {"balance":0,\\n           "person":person}\\n\\ndef getbalance(account):\\n    return account[\\\'balance\\\']\\n\\ndef deposit(account, amount):\\n    account["balance"] += amount\\n    \\ndef withdraw(account, amount):\\n    account["balance"] -= amount\\n    \\nif __name__ == "__main__":\\n    a1 = create_account()\')',
  'import itertools',
  'itertools.permutations("deposit")',
  'list(itertools.permutations("deposit"))',
  'list(itertools.permutations("depo"))',
  'words = ["ant","and","dad","cat","left"]\nwith open("anagrams.txt", "w") as f:\n    for w in words:\n        for anagrm in set(itertools.permutations(w)):\n            f.write(anagrm + "\\n")\n    ',
  'words = ["ant","and","dad","cat","left"]\nwith open("anagrams.txt", "w") as f:\n    for w in words:\n        for anagrm in set(itertools.permutations(w)):\n            f.write("".join(anagrm) + "\\n")\n    ',
  "get_ipython().system('python cat.py anagrams.txt')",
  'x',
  'del x',
  'x',
  'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n    \n    ',
  'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n    x = 1\n    ',
  'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n    x = 1\n    print(x)\n    ',
  'f(3)',
  'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n  ',
  'f(3)',
  'def f1(x):\n    x = 1',
  'x = [1,2,3]\ny = 4\nf1(y)\nprint(y)',
  'def f1(x):\n    global x\n    x = 1',
  'locals()',
  'local',
  'globals()'],
 'Out': {2: "The Zen of Python, by Tim Peters\n\nBeautiful is better than ugly.\nExplicit is better than implicit.\nSimple is better than complex.\nComplex is better than complicated.\nFlat is better than nested.\nSparse is better than dense.\nReadability counts.\nSpecial cases aren't special enough to break the rules.\nAlthough practicality beats purity.\nErrors should never pass silently.\nUnless explicitly silenced.\nIn the face of ambiguity, refuse the temptation to guess.\nThere should be one-- and preferably only one --obvious way to do it.\nAlthough that way may not be obvious at first unless you're Dutch.\nNow is better than never.\nAlthough never is often better than *right* now.\nIf the implementation is hard to explain, it's a bad idea.\nIf the implementation is easy to explain, it may be a good idea.\nNamespaces are one honking great idea -- let's do more of those!",
  3: '',
  5: 'The Zen of Python, by Tim Peters\n',
  6: '\n',
  8: ['Beautiful is better than ugly.\n',
   'Explicit is better than implicit.\n',
   'Simple is better than complex.\n',
   'Complex is better than complicated.\n',
   'Flat is better than nested.\n',
   'Sparse is better than dense.\n',
   'Readability counts.\n',
   "Special cases aren't special enough to break the rules.\n",
   'Although practicality beats purity.\n',
   'Errors should never pass silently.\n',
   'Unless explicitly silenced.\n',
   'In the face of ambiguity, refuse the temptation to guess.\n',
   'There should be one-- and preferably only one --obvious way to do it.\n',
   "Although that way may not be obvious at first unless you're Dutch.\n",
   'Now is better than never.\n',
   'Although never is often better than *right* now.\n',
   "If the implementation is hard to explain, it's a bad idea.\n",
   'If the implementation is easy to explain, it may be a good idea.\n',
   "Namespaces are one honking great idea -- let's do more of those!"],
  11: 3,
  27: ['.ipynb_checkpoints',
   'wc.py',
   'push',
   'day1.ipynb',
   'head.py',
   'module.py',
   'day2.ipynb',
   'day2.html',
   'add1.py',
   '.cache',
   'day3.ipynb',
   'add2.py',
   'functions.py',
   'data.txt',
   'test.txt',
   'module1.py',
   'day3.html',
   'Makefile',
   '__pycache__',
   'add.py',
   'cat.py',
   'day1.html',
   'ls.py'],
  30: ['wc.py',
   'push',
   'day1.ipynb',
   'head.py',
   'module.py',
   'day2.ipynb',
   'day2.html',
   'add1.py',
   'day3.ipynb',
   'add2.py',
   'functions.py',
   'data.txt',
   'test.txt',
   'module1.py',
   'day3.html',
   'Makefile',
   'add.py',
   'cat.py',
   'day1.html',
   'ls.py'],
  31: 'day1.html',
  33: 'day1.html',
  34: 'day1.html',
  38: 5,
  43: b'hello,3xa23',
  45: b'Hello world',
  47: b'Hello world',
  48: b'Hello world',
  49: bytes,
  50: 'Hello world',
  53: 'Hello world',
  59: ['A1', 'B1', 'C1', 'A2', 'B2', 'C2', 'A3', 'B3', 'C3', 'A4', 'B4', 'C4'],
  61: [['A1', 'B1', 'C1'],
   ['A2', 'B2', 'C2'],
   ['A3', 'B3', 'C3'],
   ['A4', 'B4', 'C4']],
  70: 'Lewis carrol',
  72: 'booker',
  73: {'author': 'Lewis carrol',
   'books': ['Alice in wonderland', 'Lokking through the glass']},
  75: {'author': 'Lewis carrol',
   'books': ['Alice in wonderland', 'Lokking through the glass']},
  76: {1: 'one', 2: 'two', 3: 'three'},
  78: {'Eraser': 5, 'Pen': 10, 'Pencil': 12},
  87: True,
  89: {'eight': 1,
   'five': 2,
   'four': 3,
   'one': 8,
   'seven': 1,
   'six': 3,
   'three': 6,
   'two': 7},
  91: {'eight': 1,
   'five': 2,
   'four': 3,
   'one': 8,
   'seven': 1,
   'six': 3,
   'three': 6,
   'two': 7},
  95: {'eight': 1,
   'five': 2,
   'four': 3,
   'one': 8,
   'seven': 1,
   'six': 3,
   'three': 6,
   'two': 7},
  97: {'eight': 1,
   'five': 2,
   'four': 3,
   'one': 8,
   'seven': 1,
   'six': 3,
   'three': 6,
   'two': 7},
  105: {'Anand': 'India',
   'David': 'USA',
   'Harry': 'USA',
   'Ken': 'UK',
   'Noufal': 'India'},
  106: dict_values(['India', 'India', 'USA', 'UK', 'USA']),
  107: dict_values(['India', 'India', 'USA', 'UK', 'USA']),
  108: ['Anand', 'Noufal'],
  109: ['David', 'Harry'],
  115: 'Red',
  116: True,
  117: 'Red',
  123: <itertools.permutations at 0x7fef0f91a9e8>,
  124: [('d', 'e', 'p', 'o', 's', 'i', 't'),
   ('d', 'e', 'p', 'o', 's', 't', 'i'),
   ('d', 'e', 'p', 'o', 'i', 's', 't'),
   ('d', 'e', 'p', 'o', 'i', 't', 's'),
   ('d', 'e', 'p', 'o', 't', 's', 'i'),
   ('d', 'e', 'p', 'o', 't', 'i', 's'),
   ('d', 'e', 'p', 's', 'o', 'i', 't'),
   ('d', 'e', 'p', 's', 'o', 't', 'i'),
   ('d', 'e', 'p', 's', 'i', 'o', 't'),
   ('d', 'e', 'p', 's', 'i', 't', 'o'),
   ('d', 'e', 'p', 's', 't', 'o', 'i'),
   ('d', 'e', 'p', 's', 't', 'i', 'o'),
   ('d', 'e', 'p', 'i', 'o', 's', 't'),
   ('d', 'e', 'p', 'i', 'o', 't', 's'),
   ('d', 'e', 'p', 'i', 's', 'o', 't'),
   ('d', 'e', 'p', 'i', 's', 't', 'o'),
   ('d', 'e', 'p', 'i', 't', 'o', 's'),
   ('d', 'e', 'p', 'i', 't', 's', 'o'),
   ('d', 'e', 'p', 't', 'o', 's', 'i'),
   ('d', 'e', 'p', 't', 'o', 'i', 's'),
   ('d', 'e', 'p', 't', 's', 'o', 'i'),
   ('d', 'e', 'p', 't', 's', 'i', 'o'),
   ('d', 'e', 'p', 't', 'i', 'o', 's'),
   ('d', 'e', 'p', 't', 'i', 's', 'o'),
   ('d', 'e', 'o', 'p', 's', 'i', 't'),
   ('d', 'e', 'o', 'p', 's', 't', 'i'),
   ('d', 'e', 'o', 'p', 'i', 's', 't'),
   ('d', 'e', 'o', 'p', 'i', 't', 's'),
   ('d', 'e', 'o', 'p', 't', 's', 'i'),
   ('d', 'e', 'o', 'p', 't', 'i', 's'),
   ('d', 'e', 'o', 's', 'p', 'i', 't'),
   ('d', 'e', 'o', 's', 'p', 't', 'i'),
   ('d', 'e', 'o', 's', 'i', 'p', 't'),
   ('d', 'e', 'o', 's', 'i', 't', 'p'),
   ('d', 'e', 'o', 's', 't', 'p', 'i'),
   ('d', 'e', 'o', 's', 't', 'i', 'p'),
   ('d', 'e', 'o', 'i', 'p', 's', 't'),
   ('d', 'e', 'o', 'i', 'p', 't', 's'),
   ('d', 'e', 'o', 'i', 's', 'p', 't'),
   ('d', 'e', 'o', 'i', 's', 't', 'p'),
   ('d', 'e', 'o', 'i', 't', 'p', 's'),
   ('d', 'e', 'o', 'i', 't', 's', 'p'),
   ('d', 'e', 'o', 't', 'p', 's', 'i'),
   ('d', 'e', 'o', 't', 'p', 'i', 's'),
   ('d', 'e', 'o', 't', 's', 'p', 'i'),
   ('d', 'e', 'o', 't', 's', 'i', 'p'),
   ('d', 'e', 'o', 't', 'i', 'p', 's'),
   ('d', 'e', 'o', 't', 'i', 's', 'p'),
   ('d', 'e', 's', 'p', 'o', 'i', 't'),
   ('d', 'e', 's', 'p', 'o', 't', 'i'),
   ('d', 'e', 's', 'p', 'i', 'o', 't'),
   ('d', 'e', 's', 'p', 'i', 't', 'o'),
   ('d', 'e', 's', 'p', 't', 'o', 'i'),
   ('d', 'e', 's', 'p', 't', 'i', 'o'),
   ('d', 'e', 's', 'o', 'p', 'i', 't'),
   ('d', 'e', 's', 'o', 'p', 't', 'i'),
   ('d', 'e', 's', 'o', 'i', 'p', 't'),
   ('d', 'e', 's', 'o', 'i', 't', 'p'),
   ('d', 'e', 's', 'o', 't', 'p', 'i'),
   ('d', 'e', 's', 'o', 't', 'i', 'p'),
   ('d', 'e', 's', 'i', 'p', 'o', 't'),
   ('d', 'e', 's', 'i', 'p', 't', 'o'),
   ('d', 'e', 's', 'i', 'o', 'p', 't'),
   ('d', 'e', 's', 'i', 'o', 't', 'p'),
   ('d', 'e', 's', 'i', 't', 'p', 'o'),
   ('d', 'e', 's', 'i', 't', 'o', 'p'),
   ('d', 'e', 's', 't', 'p', 'o', 'i'),
   ('d', 'e', 's', 't', 'p', 'i', 'o'),
   ('d', 'e', 's', 't', 'o', 'p', 'i'),
   ('d', 'e', 's', 't', 'o', 'i', 'p'),
   ('d', 'e', 's', 't', 'i', 'p', 'o'),
   ('d', 'e', 's', 't', 'i', 'o', 'p'),
   ('d', 'e', 'i', 'p', 'o', 's', 't'),
   ('d', 'e', 'i', 'p', 'o', 't', 's'),
   ('d', 'e', 'i', 'p', 's', 'o', 't'),
   ('d', 'e', 'i', 'p', 's', 't', 'o'),
   ('d', 'e', 'i', 'p', 't', 'o', 's'),
   ('d', 'e', 'i', 'p', 't', 's', 'o'),
   ('d', 'e', 'i', 'o', 'p', 's', 't'),
   ('d', 'e', 'i', 'o', 'p', 't', 's'),
   ('d', 'e', 'i', 'o', 's', 'p', 't'),
   ('d', 'e', 'i', 'o', 's', 't', 'p'),
   ('d', 'e', 'i', 'o', 't', 'p', 's'),
   ('d', 'e', 'i', 'o', 't', 's', 'p'),
   ('d', 'e', 'i', 's', 'p', 'o', 't'),
   ('d', 'e', 'i', 's', 'p', 't', 'o'),
   ('d', 'e', 'i', 's', 'o', 'p', 't'),
   ('d', 'e', 'i', 's', 'o', 't', 'p'),
   ('d', 'e', 'i', 's', 't', 'p', 'o'),
   ('d', 'e', 'i', 's', 't', 'o', 'p'),
   ('d', 'e', 'i', 't', 'p', 'o', 's'),
   ('d', 'e', 'i', 't', 'p', 's', 'o'),
   ('d', 'e', 'i', 't', 'o', 'p', 's'),
   ('d', 'e', 'i', 't', 'o', 's', 'p'),
   ('d', 'e', 'i', 't', 's', 'p', 'o'),
   ('d', 'e', 'i', 't', 's', 'o', 'p'),
   ('d', 'e', 't', 'p', 'o', 's', 'i'),
   ('d', 'e', 't', 'p', 'o', 'i', 's'),
   ('d', 'e', 't', 'p', 's', 'o', 'i'),
   ('d', 'e', 't', 'p', 's', 'i', 'o'),
   ('d', 'e', 't', 'p', 'i', 'o', 's'),
   ('d', 'e', 't', 'p', 'i', 's', 'o'),
   ('d', 'e', 't', 'o', 'p', 's', 'i'),
   ('d', 'e', 't', 'o', 'p', 'i', 's'),
   ('d', 'e', 't', 'o', 's', 'p', 'i'),
   ('d', 'e', 't', 'o', 's', 'i', 'p'),
   ('d', 'e', 't', 'o', 'i', 'p', 's'),
   ('d', 'e', 't', 'o', 'i', 's', 'p'),
   ('d', 'e', 't', 's', 'p', 'o', 'i'),
   ('d', 'e', 't', 's', 'p', 'i', 'o'),
   ('d', 'e', 't', 's', 'o', 'p', 'i'),
   ('d', 'e', 't', 's', 'o', 'i', 'p'),
   ('d', 'e', 't', 's', 'i', 'p', 'o'),
   ('d', 'e', 't', 's', 'i', 'o', 'p'),
   ('d', 'e', 't', 'i', 'p', 'o', 's'),
   ('d', 'e', 't', 'i', 'p', 's', 'o'),
   ('d', 'e', 't', 'i', 'o', 'p', 's'),
   ('d', 'e', 't', 'i', 'o', 's', 'p'),
   ('d', 'e', 't', 'i', 's', 'p', 'o'),
   ('d', 'e', 't', 'i', 's', 'o', 'p'),
   ('d', 'p', 'e', 'o', 's', 'i', 't'),
   ('d', 'p', 'e', 'o', 's', 't', 'i'),
   ('d', 'p', 'e', 'o', 'i', 's', 't'),
   ('d', 'p', 'e', 'o', 'i', 't', 's'),
   ('d', 'p', 'e', 'o', 't', 's', 'i'),
   ('d', 'p', 'e', 'o', 't', 'i', 's'),
   ('d', 'p', 'e', 's', 'o', 'i', 't'),
   ('d', 'p', 'e', 's', 'o', 't', 'i'),
   ('d', 'p', 'e', 's', 'i', 'o', 't'),
   ('d', 'p', 'e', 's', 'i', 't', 'o'),
   ('d', 'p', 'e', 's', 't', 'o', 'i'),
   ('d', 'p', 'e', 's', 't', 'i', 'o'),
   ('d', 'p', 'e', 'i', 'o', 's', 't'),
   ('d', 'p', 'e', 'i', 'o', 't', 's'),
   ('d', 'p', 'e', 'i', 's', 'o', 't'),
   ('d', 'p', 'e', 'i', 's', 't', 'o'),
   ('d', 'p', 'e', 'i', 't', 'o', 's'),
   ('d', 'p', 'e', 'i', 't', 's', 'o'),
   ('d', 'p', 'e', 't', 'o', 's', 'i'),
   ('d', 'p', 'e', 't', 'o', 'i', 's'),
   ('d', 'p', 'e', 't', 's', 'o', 'i'),
   ('d', 'p', 'e', 't', 's', 'i', 'o'),
   ('d', 'p', 'e', 't', 'i', 'o', 's'),
   ('d', 'p', 'e', 't', 'i', 's', 'o'),
   ('d', 'p', 'o', 'e', 's', 'i', 't'),
   ('d', 'p', 'o', 'e', 's', 't', 'i'),
   ('d', 'p', 'o', 'e', 'i', 's', 't'),
   ('d', 'p', 'o', 'e', 'i', 't', 's'),
   ('d', 'p', 'o', 'e', 't', 's', 'i'),
   ('d', 'p', 'o', 'e', 't', 'i', 's'),
   ('d', 'p', 'o', 's', 'e', 'i', 't'),
   ('d', 'p', 'o', 's', 'e', 't', 'i'),
   ('d', 'p', 'o', 's', 'i', 'e', 't'),
   ('d', 'p', 'o', 's', 'i', 't', 'e'),
   ('d', 'p', 'o', 's', 't', 'e', 'i'),
   ('d', 'p', 'o', 's', 't', 'i', 'e'),
   ('d', 'p', 'o', 'i', 'e', 's', 't'),
   ('d', 'p', 'o', 'i', 'e', 't', 's'),
   ('d', 'p', 'o', 'i', 's', 'e', 't'),
   ('d', 'p', 'o', 'i', 's', 't', 'e'),
   ('d', 'p', 'o', 'i', 't', 'e', 's'),
   ('d', 'p', 'o', 'i', 't', 's', 'e'),
   ('d', 'p', 'o', 't', 'e', 's', 'i'),
   ('d', 'p', 'o', 't', 'e', 'i', 's'),
   ('d', 'p', 'o', 't', 's', 'e', 'i'),
   ('d', 'p', 'o', 't', 's', 'i', 'e'),
   ('d', 'p', 'o', 't', 'i', 'e', 's'),
   ('d', 'p', 'o', 't', 'i', 's', 'e'),
   ('d', 'p', 's', 'e', 'o', 'i', 't'),
   ('d', 'p', 's', 'e', 'o', 't', 'i'),
   ('d', 'p', 's', 'e', 'i', 'o', 't'),
   ('d', 'p', 's', 'e', 'i', 't', 'o'),
   ('d', 'p', 's', 'e', 't', 'o', 'i'),
   ('d', 'p', 's', 'e', 't', 'i', 'o'),
   ('d', 'p', 's', 'o', 'e', 'i', 't'),
   ('d', 'p', 's', 'o', 'e', 't', 'i'),
   ('d', 'p', 's', 'o', 'i', 'e', 't'),
   ('d', 'p', 's', 'o', 'i', 't', 'e'),
   ('d', 'p', 's', 'o', 't', 'e', 'i'),
   ('d', 'p', 's', 'o', 't', 'i', 'e'),
   ('d', 'p', 's', 'i', 'e', 'o', 't'),
   ('d', 'p', 's', 'i', 'e', 't', 'o'),
   ('d', 'p', 's', 'i', 'o', 'e', 't'),
   ('d', 'p', 's', 'i', 'o', 't', 'e'),
   ('d', 'p', 's', 'i', 't', 'e', 'o'),
   ('d', 'p', 's', 'i', 't', 'o', 'e'),
   ('d', 'p', 's', 't', 'e', 'o', 'i'),
   ('d', 'p', 's', 't', 'e', 'i', 'o'),
   ('d', 'p', 's', 't', 'o', 'e', 'i'),
   ('d', 'p', 's', 't', 'o', 'i', 'e'),
   ('d', 'p', 's', 't', 'i', 'e', 'o'),
   ('d', 'p', 's', 't', 'i', 'o', 'e'),
   ('d', 'p', 'i', 'e', 'o', 's', 't'),
   ('d', 'p', 'i', 'e', 'o', 't', 's'),
   ('d', 'p', 'i', 'e', 's', 'o', 't'),
   ('d', 'p', 'i', 'e', 's', 't', 'o'),
   ('d', 'p', 'i', 'e', 't', 'o', 's'),
   ('d', 'p', 'i', 'e', 't', 's', 'o'),
   ('d', 'p', 'i', 'o', 'e', 's', 't'),
   ('d', 'p', 'i', 'o', 'e', 't', 's'),
   ('d', 'p', 'i', 'o', 's', 'e', 't'),
   ('d', 'p', 'i', 'o', 's', 't', 'e'),
   ('d', 'p', 'i', 'o', 't', 'e', 's'),
   ('d', 'p', 'i', 'o', 't', 's', 'e'),
   ('d', 'p', 'i', 's', 'e', 'o', 't'),
   ('d', 'p', 'i', 's', 'e', 't', 'o'),
   ('d', 'p', 'i', 's', 'o', 'e', 't'),
   ('d', 'p', 'i', 's', 'o', 't', 'e'),
   ('d', 'p', 'i', 's', 't', 'e', 'o'),
   ('d', 'p', 'i', 's', 't', 'o', 'e'),
   ('d', 'p', 'i', 't', 'e', 'o', 's'),
   ('d', 'p', 'i', 't', 'e', 's', 'o'),
   ('d', 'p', 'i', 't', 'o', 'e', 's'),
   ('d', 'p', 'i', 't', 'o', 's', 'e'),
   ('d', 'p', 'i', 't', 's', 'e', 'o'),
   ('d', 'p', 'i', 't', 's', 'o', 'e'),
   ('d', 'p', 't', 'e', 'o', 's', 'i'),
   ('d', 'p', 't', 'e', 'o', 'i', 's'),
   ('d', 'p', 't', 'e', 's', 'o', 'i'),
   ('d', 'p', 't', 'e', 's', 'i', 'o'),
   ('d', 'p', 't', 'e', 'i', 'o', 's'),
   ('d', 'p', 't', 'e', 'i', 's', 'o'),
   ('d', 'p', 't', 'o', 'e', 's', 'i'),
   ('d', 'p', 't', 'o', 'e', 'i', 's'),
   ('d', 'p', 't', 'o', 's', 'e', 'i'),
   ('d', 'p', 't', 'o', 's', 'i', 'e'),
   ('d', 'p', 't', 'o', 'i', 'e', 's'),
   ('d', 'p', 't', 'o', 'i', 's', 'e'),
   ('d', 'p', 't', 's', 'e', 'o', 'i'),
   ('d', 'p', 't', 's', 'e', 'i', 'o'),
   ('d', 'p', 't', 's', 'o', 'e', 'i'),
   ('d', 'p', 't', 's', 'o', 'i', 'e'),
   ('d', 'p', 't', 's', 'i', 'e', 'o'),
   ('d', 'p', 't', 's', 'i', 'o', 'e'),
   ('d', 'p', 't', 'i', 'e', 'o', 's'),
   ('d', 'p', 't', 'i', 'e', 's', 'o'),
   ('d', 'p', 't', 'i', 'o', 'e', 's'),
   ('d', 'p', 't', 'i', 'o', 's', 'e'),
   ('d', 'p', 't', 'i', 's', 'e', 'o'),
   ('d', 'p', 't', 'i', 's', 'o', 'e'),
   ('d', 'o', 'e', 'p', 's', 'i', 't'),
   ('d', 'o', 'e', 'p', 's', 't', 'i'),
   ('d', 'o', 'e', 'p', 'i', 's', 't'),
   ('d', 'o', 'e', 'p', 'i', 't', 's'),
   ('d', 'o', 'e', 'p', 't', 's', 'i'),
   ('d', 'o', 'e', 'p', 't', 'i', 's'),
   ('d', 'o', 'e', 's', 'p', 'i', 't'),
   ('d', 'o', 'e', 's', 'p', 't', 'i'),
   ('d', 'o', 'e', 's', 'i', 'p', 't'),
   ('d', 'o', 'e', 's', 'i', 't', 'p'),
   ('d', 'o', 'e', 's', 't', 'p', 'i'),
   ('d', 'o', 'e', 's', 't', 'i', 'p'),
   ('d', 'o', 'e', 'i', 'p', 's', 't'),
   ('d', 'o', 'e', 'i', 'p', 't', 's'),
   ('d', 'o', 'e', 'i', 's', 'p', 't'),
   ('d', 'o', 'e', 'i', 's', 't', 'p'),
   ('d', 'o', 'e', 'i', 't', 'p', 's'),
   ('d', 'o', 'e', 'i', 't', 's', 'p'),
   ('d', 'o', 'e', 't', 'p', 's', 'i'),
   ('d', 'o', 'e', 't', 'p', 'i', 's'),
   ('d', 'o', 'e', 't', 's', 'p', 'i'),
   ('d', 'o', 'e', 't', 's', 'i', 'p'),
   ('d', 'o', 'e', 't', 'i', 'p', 's'),
   ('d', 'o', 'e', 't', 'i', 's', 'p'),
   ('d', 'o', 'p', 'e', 's', 'i', 't'),
   ('d', 'o', 'p', 'e', 's', 't', 'i'),
   ('d', 'o', 'p', 'e', 'i', 's', 't'),
   ('d', 'o', 'p', 'e', 'i', 't', 's'),
   ('d', 'o', 'p', 'e', 't', 's', 'i'),
   ('d', 'o', 'p', 'e', 't', 'i', 's'),
   ('d', 'o', 'p', 's', 'e', 'i', 't'),
   ('d', 'o', 'p', 's', 'e', 't', 'i'),
   ('d', 'o', 'p', 's', 'i', 'e', 't'),
   ('d', 'o', 'p', 's', 'i', 't', 'e'),
   ('d', 'o', 'p', 's', 't', 'e', 'i'),
   ('d', 'o', 'p', 's', 't', 'i', 'e'),
   ('d', 'o', 'p', 'i', 'e', 's', 't'),
   ('d', 'o', 'p', 'i', 'e', 't', 's'),
   ('d', 'o', 'p', 'i', 's', 'e', 't'),
   ('d', 'o', 'p', 'i', 's', 't', 'e'),
   ('d', 'o', 'p', 'i', 't', 'e', 's'),
   ('d', 'o', 'p', 'i', 't', 's', 'e'),
   ('d', 'o', 'p', 't', 'e', 's', 'i'),
   ('d', 'o', 'p', 't', 'e', 'i', 's'),
   ('d', 'o', 'p', 't', 's', 'e', 'i'),
   ('d', 'o', 'p', 't', 's', 'i', 'e'),
   ('d', 'o', 'p', 't', 'i', 'e', 's'),
   ('d', 'o', 'p', 't', 'i', 's', 'e'),
   ('d', 'o', 's', 'e', 'p', 'i', 't'),
   ('d', 'o', 's', 'e', 'p', 't', 'i'),
   ('d', 'o', 's', 'e', 'i', 'p', 't'),
   ('d', 'o', 's', 'e', 'i', 't', 'p'),
   ('d', 'o', 's', 'e', 't', 'p', 'i'),
   ('d', 'o', 's', 'e', 't', 'i', 'p'),
   ('d', 'o', 's', 'p', 'e', 'i', 't'),
   ('d', 'o', 's', 'p', 'e', 't', 'i'),
   ('d', 'o', 's', 'p', 'i', 'e', 't'),
   ('d', 'o', 's', 'p', 'i', 't', 'e'),
   ('d', 'o', 's', 'p', 't', 'e', 'i'),
   ('d', 'o', 's', 'p', 't', 'i', 'e'),
   ('d', 'o', 's', 'i', 'e', 'p', 't'),
   ('d', 'o', 's', 'i', 'e', 't', 'p'),
   ('d', 'o', 's', 'i', 'p', 'e', 't'),
   ('d', 'o', 's', 'i', 'p', 't', 'e'),
   ('d', 'o', 's', 'i', 't', 'e', 'p'),
   ('d', 'o', 's', 'i', 't', 'p', 'e'),
   ('d', 'o', 's', 't', 'e', 'p', 'i'),
   ('d', 'o', 's', 't', 'e', 'i', 'p'),
   ('d', 'o', 's', 't', 'p', 'e', 'i'),
   ('d', 'o', 's', 't', 'p', 'i', 'e'),
   ('d', 'o', 's', 't', 'i', 'e', 'p'),
   ('d', 'o', 's', 't', 'i', 'p', 'e'),
   ('d', 'o', 'i', 'e', 'p', 's', 't'),
   ('d', 'o', 'i', 'e', 'p', 't', 's'),
   ('d', 'o', 'i', 'e', 's', 'p', 't'),
   ('d', 'o', 'i', 'e', 's', 't', 'p'),
   ('d', 'o', 'i', 'e', 't', 'p', 's'),
   ('d', 'o', 'i', 'e', 't', 's', 'p'),
   ('d', 'o', 'i', 'p', 'e', 's', 't'),
   ('d', 'o', 'i', 'p', 'e', 't', 's'),
   ('d', 'o', 'i', 'p', 's', 'e', 't'),
   ('d', 'o', 'i', 'p', 's', 't', 'e'),
   ('d', 'o', 'i', 'p', 't', 'e', 's'),
   ('d', 'o', 'i', 'p', 't', 's', 'e'),
   ('d', 'o', 'i', 's', 'e', 'p', 't'),
   ('d', 'o', 'i', 's', 'e', 't', 'p'),
   ('d', 'o', 'i', 's', 'p', 'e', 't'),
   ('d', 'o', 'i', 's', 'p', 't', 'e'),
   ('d', 'o', 'i', 's', 't', 'e', 'p'),
   ('d', 'o', 'i', 's', 't', 'p', 'e'),
   ('d', 'o', 'i', 't', 'e', 'p', 's'),
   ('d', 'o', 'i', 't', 'e', 's', 'p'),
   ('d', 'o', 'i', 't', 'p', 'e', 's'),
   ('d', 'o', 'i', 't', 'p', 's', 'e'),
   ('d', 'o', 'i', 't', 's', 'e', 'p'),
   ('d', 'o', 'i', 't', 's', 'p', 'e'),
   ('d', 'o', 't', 'e', 'p', 's', 'i'),
   ('d', 'o', 't', 'e', 'p', 'i', 's'),
   ('d', 'o', 't', 'e', 's', 'p', 'i'),
   ('d', 'o', 't', 'e', 's', 'i', 'p'),
   ('d', 'o', 't', 'e', 'i', 'p', 's'),
   ('d', 'o', 't', 'e', 'i', 's', 'p'),
   ('d', 'o', 't', 'p', 'e', 's', 'i'),
   ('d', 'o', 't', 'p', 'e', 'i', 's'),
   ('d', 'o', 't', 'p', 's', 'e', 'i'),
   ('d', 'o', 't', 'p', 's', 'i', 'e'),
   ('d', 'o', 't', 'p', 'i', 'e', 's'),
   ('d', 'o', 't', 'p', 'i', 's', 'e'),
   ('d', 'o', 't', 's', 'e', 'p', 'i'),
   ('d', 'o', 't', 's', 'e', 'i', 'p'),
   ('d', 'o', 't', 's', 'p', 'e', 'i'),
   ('d', 'o', 't', 's', 'p', 'i', 'e'),
   ('d', 'o', 't', 's', 'i', 'e', 'p'),
   ('d', 'o', 't', 's', 'i', 'p', 'e'),
   ('d', 'o', 't', 'i', 'e', 'p', 's'),
   ('d', 'o', 't', 'i', 'e', 's', 'p'),
   ('d', 'o', 't', 'i', 'p', 'e', 's'),
   ('d', 'o', 't', 'i', 'p', 's', 'e'),
   ('d', 'o', 't', 'i', 's', 'e', 'p'),
   ('d', 'o', 't', 'i', 's', 'p', 'e'),
   ('d', 's', 'e', 'p', 'o', 'i', 't'),
   ('d', 's', 'e', 'p', 'o', 't', 'i'),
   ('d', 's', 'e', 'p', 'i', 'o', 't'),
   ('d', 's', 'e', 'p', 'i', 't', 'o'),
   ('d', 's', 'e', 'p', 't', 'o', 'i'),
   ('d', 's', 'e', 'p', 't', 'i', 'o'),
   ('d', 's', 'e', 'o', 'p', 'i', 't'),
   ('d', 's', 'e', 'o', 'p', 't', 'i'),
   ('d', 's', 'e', 'o', 'i', 'p', 't'),
   ('d', 's', 'e', 'o', 'i', 't', 'p'),
   ('d', 's', 'e', 'o', 't', 'p', 'i'),
   ('d', 's', 'e', 'o', 't', 'i', 'p'),
   ('d', 's', 'e', 'i', 'p', 'o', 't'),
   ('d', 's', 'e', 'i', 'p', 't', 'o'),
   ('d', 's', 'e', 'i', 'o', 'p', 't'),
   ('d', 's', 'e', 'i', 'o', 't', 'p'),
   ('d', 's', 'e', 'i', 't', 'p', 'o'),
   ('d', 's', 'e', 'i', 't', 'o', 'p'),
   ('d', 's', 'e', 't', 'p', 'o', 'i'),
   ('d', 's', 'e', 't', 'p', 'i', 'o'),
   ('d', 's', 'e', 't', 'o', 'p', 'i'),
   ('d', 's', 'e', 't', 'o', 'i', 'p'),
   ('d', 's', 'e', 't', 'i', 'p', 'o'),
   ('d', 's', 'e', 't', 'i', 'o', 'p'),
   ('d', 's', 'p', 'e', 'o', 'i', 't'),
   ('d', 's', 'p', 'e', 'o', 't', 'i'),
   ('d', 's', 'p', 'e', 'i', 'o', 't'),
   ('d', 's', 'p', 'e', 'i', 't', 'o'),
   ('d', 's', 'p', 'e', 't', 'o', 'i'),
   ('d', 's', 'p', 'e', 't', 'i', 'o'),
   ('d', 's', 'p', 'o', 'e', 'i', 't'),
   ('d', 's', 'p', 'o', 'e', 't', 'i'),
   ('d', 's', 'p', 'o', 'i', 'e', 't'),
   ('d', 's', 'p', 'o', 'i', 't', 'e'),
   ('d', 's', 'p', 'o', 't', 'e', 'i'),
   ('d', 's', 'p', 'o', 't', 'i', 'e'),
   ('d', 's', 'p', 'i', 'e', 'o', 't'),
   ('d', 's', 'p', 'i', 'e', 't', 'o'),
   ('d', 's', 'p', 'i', 'o', 'e', 't'),
   ('d', 's', 'p', 'i', 'o', 't', 'e'),
   ('d', 's', 'p', 'i', 't', 'e', 'o'),
   ('d', 's', 'p', 'i', 't', 'o', 'e'),
   ('d', 's', 'p', 't', 'e', 'o', 'i'),
   ('d', 's', 'p', 't', 'e', 'i', 'o'),
   ('d', 's', 'p', 't', 'o', 'e', 'i'),
   ('d', 's', 'p', 't', 'o', 'i', 'e'),
   ('d', 's', 'p', 't', 'i', 'e', 'o'),
   ('d', 's', 'p', 't', 'i', 'o', 'e'),
   ('d', 's', 'o', 'e', 'p', 'i', 't'),
   ('d', 's', 'o', 'e', 'p', 't', 'i'),
   ('d', 's', 'o', 'e', 'i', 'p', 't'),
   ('d', 's', 'o', 'e', 'i', 't', 'p'),
   ('d', 's', 'o', 'e', 't', 'p', 'i'),
   ('d', 's', 'o', 'e', 't', 'i', 'p'),
   ('d', 's', 'o', 'p', 'e', 'i', 't'),
   ('d', 's', 'o', 'p', 'e', 't', 'i'),
   ('d', 's', 'o', 'p', 'i', 'e', 't'),
   ('d', 's', 'o', 'p', 'i', 't', 'e'),
   ('d', 's', 'o', 'p', 't', 'e', 'i'),
   ('d', 's', 'o', 'p', 't', 'i', 'e'),
   ('d', 's', 'o', 'i', 'e', 'p', 't'),
   ('d', 's', 'o', 'i', 'e', 't', 'p'),
   ('d', 's', 'o', 'i', 'p', 'e', 't'),
   ('d', 's', 'o', 'i', 'p', 't', 'e'),
   ('d', 's', 'o', 'i', 't', 'e', 'p'),
   ('d', 's', 'o', 'i', 't', 'p', 'e'),
   ('d', 's', 'o', 't', 'e', 'p', 'i'),
   ('d', 's', 'o', 't', 'e', 'i', 'p'),
   ('d', 's', 'o', 't', 'p', 'e', 'i'),
   ('d', 's', 'o', 't', 'p', 'i', 'e'),
   ('d', 's', 'o', 't', 'i', 'e', 'p'),
   ('d', 's', 'o', 't', 'i', 'p', 'e'),
   ('d', 's', 'i', 'e', 'p', 'o', 't'),
   ('d', 's', 'i', 'e', 'p', 't', 'o'),
   ('d', 's', 'i', 'e', 'o', 'p', 't'),
   ('d', 's', 'i', 'e', 'o', 't', 'p'),
   ('d', 's', 'i', 'e', 't', 'p', 'o'),
   ('d', 's', 'i', 'e', 't', 'o', 'p'),
   ('d', 's', 'i', 'p', 'e', 'o', 't'),
   ('d', 's', 'i', 'p', 'e', 't', 'o'),
   ('d', 's', 'i', 'p', 'o', 'e', 't'),
   ('d', 's', 'i', 'p', 'o', 't', 'e'),
   ('d', 's', 'i', 'p', 't', 'e', 'o'),
   ('d', 's', 'i', 'p', 't', 'o', 'e'),
   ('d', 's', 'i', 'o', 'e', 'p', 't'),
   ('d', 's', 'i', 'o', 'e', 't', 'p'),
   ('d', 's', 'i', 'o', 'p', 'e', 't'),
   ('d', 's', 'i', 'o', 'p', 't', 'e'),
   ('d', 's', 'i', 'o', 't', 'e', 'p'),
   ('d', 's', 'i', 'o', 't', 'p', 'e'),
   ('d', 's', 'i', 't', 'e', 'p', 'o'),
   ('d', 's', 'i', 't', 'e', 'o', 'p'),
   ('d', 's', 'i', 't', 'p', 'e', 'o'),
   ('d', 's', 'i', 't', 'p', 'o', 'e'),
   ('d', 's', 'i', 't', 'o', 'e', 'p'),
   ('d', 's', 'i', 't', 'o', 'p', 'e'),
   ('d', 's', 't', 'e', 'p', 'o', 'i'),
   ('d', 's', 't', 'e', 'p', 'i', 'o'),
   ('d', 's', 't', 'e', 'o', 'p', 'i'),
   ('d', 's', 't', 'e', 'o', 'i', 'p'),
   ('d', 's', 't', 'e', 'i', 'p', 'o'),
   ('d', 's', 't', 'e', 'i', 'o', 'p'),
   ('d', 's', 't', 'p', 'e', 'o', 'i'),
   ('d', 's', 't', 'p', 'e', 'i', 'o'),
   ('d', 's', 't', 'p', 'o', 'e', 'i'),
   ('d', 's', 't', 'p', 'o', 'i', 'e'),
   ('d', 's', 't', 'p', 'i', 'e', 'o'),
   ('d', 's', 't', 'p', 'i', 'o', 'e'),
   ('d', 's', 't', 'o', 'e', 'p', 'i'),
   ('d', 's', 't', 'o', 'e', 'i', 'p'),
   ('d', 's', 't', 'o', 'p', 'e', 'i'),
   ('d', 's', 't', 'o', 'p', 'i', 'e'),
   ('d', 's', 't', 'o', 'i', 'e', 'p'),
   ('d', 's', 't', 'o', 'i', 'p', 'e'),
   ('d', 's', 't', 'i', 'e', 'p', 'o'),
   ('d', 's', 't', 'i', 'e', 'o', 'p'),
   ('d', 's', 't', 'i', 'p', 'e', 'o'),
   ('d', 's', 't', 'i', 'p', 'o', 'e'),
   ('d', 's', 't', 'i', 'o', 'e', 'p'),
   ('d', 's', 't', 'i', 'o', 'p', 'e'),
   ('d', 'i', 'e', 'p', 'o', 's', 't'),
   ('d', 'i', 'e', 'p', 'o', 't', 's'),
   ('d', 'i', 'e', 'p', 's', 'o', 't'),
   ('d', 'i', 'e', 'p', 's', 't', 'o'),
   ('d', 'i', 'e', 'p', 't', 'o', 's'),
   ('d', 'i', 'e', 'p', 't', 's', 'o'),
   ('d', 'i', 'e', 'o', 'p', 's', 't'),
   ('d', 'i', 'e', 'o', 'p', 't', 's'),
   ('d', 'i', 'e', 'o', 's', 'p', 't'),
   ('d', 'i', 'e', 'o', 's', 't', 'p'),
   ('d', 'i', 'e', 'o', 't', 'p', 's'),
   ('d', 'i', 'e', 'o', 't', 's', 'p'),
   ('d', 'i', 'e', 's', 'p', 'o', 't'),
   ('d', 'i', 'e', 's', 'p', 't', 'o'),
   ('d', 'i', 'e', 's', 'o', 'p', 't'),
   ('d', 'i', 'e', 's', 'o', 't', 'p'),
   ('d', 'i', 'e', 's', 't', 'p', 'o'),
   ('d', 'i', 'e', 's', 't', 'o', 'p'),
   ('d', 'i', 'e', 't', 'p', 'o', 's'),
   ('d', 'i', 'e', 't', 'p', 's', 'o'),
   ('d', 'i', 'e', 't', 'o', 'p', 's'),
   ('d', 'i', 'e', 't', 'o', 's', 'p'),
   ('d', 'i', 'e', 't', 's', 'p', 'o'),
   ('d', 'i', 'e', 't', 's', 'o', 'p'),
   ('d', 'i', 'p', 'e', 'o', 's', 't'),
   ('d', 'i', 'p', 'e', 'o', 't', 's'),
   ('d', 'i', 'p', 'e', 's', 'o', 't'),
   ('d', 'i', 'p', 'e', 's', 't', 'o'),
   ('d', 'i', 'p', 'e', 't', 'o', 's'),
   ('d', 'i', 'p', 'e', 't', 's', 'o'),
   ('d', 'i', 'p', 'o', 'e', 's', 't'),
   ('d', 'i', 'p', 'o', 'e', 't', 's'),
   ('d', 'i', 'p', 'o', 's', 'e', 't'),
   ('d', 'i', 'p', 'o', 's', 't', 'e'),
   ('d', 'i', 'p', 'o', 't', 'e', 's'),
   ('d', 'i', 'p', 'o', 't', 's', 'e'),
   ('d', 'i', 'p', 's', 'e', 'o', 't'),
   ('d', 'i', 'p', 's', 'e', 't', 'o'),
   ('d', 'i', 'p', 's', 'o', 'e', 't'),
   ('d', 'i', 'p', 's', 'o', 't', 'e'),
   ('d', 'i', 'p', 's', 't', 'e', 'o'),
   ('d', 'i', 'p', 's', 't', 'o', 'e'),
   ('d', 'i', 'p', 't', 'e', 'o', 's'),
   ('d', 'i', 'p', 't', 'e', 's', 'o'),
   ('d', 'i', 'p', 't', 'o', 'e', 's'),
   ('d', 'i', 'p', 't', 'o', 's', 'e'),
   ('d', 'i', 'p', 't', 's', 'e', 'o'),
   ('d', 'i', 'p', 't', 's', 'o', 'e'),
   ('d', 'i', 'o', 'e', 'p', 's', 't'),
   ('d', 'i', 'o', 'e', 'p', 't', 's'),
   ('d', 'i', 'o', 'e', 's', 'p', 't'),
   ('d', 'i', 'o', 'e', 's', 't', 'p'),
   ('d', 'i', 'o', 'e', 't', 'p', 's'),
   ('d', 'i', 'o', 'e', 't', 's', 'p'),
   ('d', 'i', 'o', 'p', 'e', 's', 't'),
   ('d', 'i', 'o', 'p', 'e', 't', 's'),
   ('d', 'i', 'o', 'p', 's', 'e', 't'),
   ('d', 'i', 'o', 'p', 's', 't', 'e'),
   ('d', 'i', 'o', 'p', 't', 'e', 's'),
   ('d', 'i', 'o', 'p', 't', 's', 'e'),
   ('d', 'i', 'o', 's', 'e', 'p', 't'),
   ('d', 'i', 'o', 's', 'e', 't', 'p'),
   ('d', 'i', 'o', 's', 'p', 'e', 't'),
   ('d', 'i', 'o', 's', 'p', 't', 'e'),
   ('d', 'i', 'o', 's', 't', 'e', 'p'),
   ('d', 'i', 'o', 's', 't', 'p', 'e'),
   ('d', 'i', 'o', 't', 'e', 'p', 's'),
   ('d', 'i', 'o', 't', 'e', 's', 'p'),
   ('d', 'i', 'o', 't', 'p', 'e', 's'),
   ('d', 'i', 'o', 't', 'p', 's', 'e'),
   ('d', 'i', 'o', 't', 's', 'e', 'p'),
   ('d', 'i', 'o', 't', 's', 'p', 'e'),
   ('d', 'i', 's', 'e', 'p', 'o', 't'),
   ('d', 'i', 's', 'e', 'p', 't', 'o'),
   ('d', 'i', 's', 'e', 'o', 'p', 't'),
   ('d', 'i', 's', 'e', 'o', 't', 'p'),
   ('d', 'i', 's', 'e', 't', 'p', 'o'),
   ('d', 'i', 's', 'e', 't', 'o', 'p'),
   ('d', 'i', 's', 'p', 'e', 'o', 't'),
   ('d', 'i', 's', 'p', 'e', 't', 'o'),
   ('d', 'i', 's', 'p', 'o', 'e', 't'),
   ('d', 'i', 's', 'p', 'o', 't', 'e'),
   ('d', 'i', 's', 'p', 't', 'e', 'o'),
   ('d', 'i', 's', 'p', 't', 'o', 'e'),
   ('d', 'i', 's', 'o', 'e', 'p', 't'),
   ('d', 'i', 's', 'o', 'e', 't', 'p'),
   ('d', 'i', 's', 'o', 'p', 'e', 't'),
   ('d', 'i', 's', 'o', 'p', 't', 'e'),
   ('d', 'i', 's', 'o', 't', 'e', 'p'),
   ('d', 'i', 's', 'o', 't', 'p', 'e'),
   ('d', 'i', 's', 't', 'e', 'p', 'o'),
   ('d', 'i', 's', 't', 'e', 'o', 'p'),
   ('d', 'i', 's', 't', 'p', 'e', 'o'),
   ('d', 'i', 's', 't', 'p', 'o', 'e'),
   ('d', 'i', 's', 't', 'o', 'e', 'p'),
   ('d', 'i', 's', 't', 'o', 'p', 'e'),
   ('d', 'i', 't', 'e', 'p', 'o', 's'),
   ('d', 'i', 't', 'e', 'p', 's', 'o'),
   ('d', 'i', 't', 'e', 'o', 'p', 's'),
   ('d', 'i', 't', 'e', 'o', 's', 'p'),
   ('d', 'i', 't', 'e', 's', 'p', 'o'),
   ('d', 'i', 't', 'e', 's', 'o', 'p'),
   ('d', 'i', 't', 'p', 'e', 'o', 's'),
   ('d', 'i', 't', 'p', 'e', 's', 'o'),
   ('d', 'i', 't', 'p', 'o', 'e', 's'),
   ('d', 'i', 't', 'p', 'o', 's', 'e'),
   ('d', 'i', 't', 'p', 's', 'e', 'o'),
   ('d', 'i', 't', 'p', 's', 'o', 'e'),
   ('d', 'i', 't', 'o', 'e', 'p', 's'),
   ('d', 'i', 't', 'o', 'e', 's', 'p'),
   ('d', 'i', 't', 'o', 'p', 'e', 's'),
   ('d', 'i', 't', 'o', 'p', 's', 'e'),
   ('d', 'i', 't', 'o', 's', 'e', 'p'),
   ('d', 'i', 't', 'o', 's', 'p', 'e'),
   ('d', 'i', 't', 's', 'e', 'p', 'o'),
   ('d', 'i', 't', 's', 'e', 'o', 'p'),
   ('d', 'i', 't', 's', 'p', 'e', 'o'),
   ('d', 'i', 't', 's', 'p', 'o', 'e'),
   ('d', 'i', 't', 's', 'o', 'e', 'p'),
   ('d', 'i', 't', 's', 'o', 'p', 'e'),
   ('d', 't', 'e', 'p', 'o', 's', 'i'),
   ('d', 't', 'e', 'p', 'o', 'i', 's'),
   ('d', 't', 'e', 'p', 's', 'o', 'i'),
   ('d', 't', 'e', 'p', 's', 'i', 'o'),
   ('d', 't', 'e', 'p', 'i', 'o', 's'),
   ('d', 't', 'e', 'p', 'i', 's', 'o'),
   ('d', 't', 'e', 'o', 'p', 's', 'i'),
   ('d', 't', 'e', 'o', 'p', 'i', 's'),
   ('d', 't', 'e', 'o', 's', 'p', 'i'),
   ('d', 't', 'e', 'o', 's', 'i', 'p'),
   ('d', 't', 'e', 'o', 'i', 'p', 's'),
   ('d', 't', 'e', 'o', 'i', 's', 'p'),
   ('d', 't', 'e', 's', 'p', 'o', 'i'),
   ('d', 't', 'e', 's', 'p', 'i', 'o'),
   ('d', 't', 'e', 's', 'o', 'p', 'i'),
   ('d', 't', 'e', 's', 'o', 'i', 'p'),
   ('d', 't', 'e', 's', 'i', 'p', 'o'),
   ('d', 't', 'e', 's', 'i', 'o', 'p'),
   ('d', 't', 'e', 'i', 'p', 'o', 's'),
   ('d', 't', 'e', 'i', 'p', 's', 'o'),
   ('d', 't', 'e', 'i', 'o', 'p', 's'),
   ('d', 't', 'e', 'i', 'o', 's', 'p'),
   ('d', 't', 'e', 'i', 's', 'p', 'o'),
   ('d', 't', 'e', 'i', 's', 'o', 'p'),
   ('d', 't', 'p', 'e', 'o', 's', 'i'),
   ('d', 't', 'p', 'e', 'o', 'i', 's'),
   ('d', 't', 'p', 'e', 's', 'o', 'i'),
   ('d', 't', 'p', 'e', 's', 'i', 'o'),
   ('d', 't', 'p', 'e', 'i', 'o', 's'),
   ('d', 't', 'p', 'e', 'i', 's', 'o'),
   ('d', 't', 'p', 'o', 'e', 's', 'i'),
   ('d', 't', 'p', 'o', 'e', 'i', 's'),
   ('d', 't', 'p', 'o', 's', 'e', 'i'),
   ('d', 't', 'p', 'o', 's', 'i', 'e'),
   ('d', 't', 'p', 'o', 'i', 'e', 's'),
   ('d', 't', 'p', 'o', 'i', 's', 'e'),
   ('d', 't', 'p', 's', 'e', 'o', 'i'),
   ('d', 't', 'p', 's', 'e', 'i', 'o'),
   ('d', 't', 'p', 's', 'o', 'e', 'i'),
   ('d', 't', 'p', 's', 'o', 'i', 'e'),
   ('d', 't', 'p', 's', 'i', 'e', 'o'),
   ('d', 't', 'p', 's', 'i', 'o', 'e'),
   ('d', 't', 'p', 'i', 'e', 'o', 's'),
   ('d', 't', 'p', 'i', 'e', 's', 'o'),
   ('d', 't', 'p', 'i', 'o', 'e', 's'),
   ('d', 't', 'p', 'i', 'o', 's', 'e'),
   ('d', 't', 'p', 'i', 's', 'e', 'o'),
   ('d', 't', 'p', 'i', 's', 'o', 'e'),
   ('d', 't', 'o', 'e', 'p', 's', 'i'),
   ('d', 't', 'o', 'e', 'p', 'i', 's'),
   ('d', 't', 'o', 'e', 's', 'p', 'i'),
   ('d', 't', 'o', 'e', 's', 'i', 'p'),
   ('d', 't', 'o', 'e', 'i', 'p', 's'),
   ('d', 't', 'o', 'e', 'i', 's', 'p'),
   ('d', 't', 'o', 'p', 'e', 's', 'i'),
   ('d', 't', 'o', 'p', 'e', 'i', 's'),
   ('d', 't', 'o', 'p', 's', 'e', 'i'),
   ('d', 't', 'o', 'p', 's', 'i', 'e'),
   ('d', 't', 'o', 'p', 'i', 'e', 's'),
   ('d', 't', 'o', 'p', 'i', 's', 'e'),
   ('d', 't', 'o', 's', 'e', 'p', 'i'),
   ('d', 't', 'o', 's', 'e', 'i', 'p'),
   ('d', 't', 'o', 's', 'p', 'e', 'i'),
   ('d', 't', 'o', 's', 'p', 'i', 'e'),
   ('d', 't', 'o', 's', 'i', 'e', 'p'),
   ('d', 't', 'o', 's', 'i', 'p', 'e'),
   ('d', 't', 'o', 'i', 'e', 'p', 's'),
   ('d', 't', 'o', 'i', 'e', 's', 'p'),
   ('d', 't', 'o', 'i', 'p', 'e', 's'),
   ('d', 't', 'o', 'i', 'p', 's', 'e'),
   ('d', 't', 'o', 'i', 's', 'e', 'p'),
   ('d', 't', 'o', 'i', 's', 'p', 'e'),
   ('d', 't', 's', 'e', 'p', 'o', 'i'),
   ('d', 't', 's', 'e', 'p', 'i', 'o'),
   ('d', 't', 's', 'e', 'o', 'p', 'i'),
   ('d', 't', 's', 'e', 'o', 'i', 'p'),
   ('d', 't', 's', 'e', 'i', 'p', 'o'),
   ('d', 't', 's', 'e', 'i', 'o', 'p'),
   ('d', 't', 's', 'p', 'e', 'o', 'i'),
   ('d', 't', 's', 'p', 'e', 'i', 'o'),
   ('d', 't', 's', 'p', 'o', 'e', 'i'),
   ('d', 't', 's', 'p', 'o', 'i', 'e'),
   ('d', 't', 's', 'p', 'i', 'e', 'o'),
   ('d', 't', 's', 'p', 'i', 'o', 'e'),
   ('d', 't', 's', 'o', 'e', 'p', 'i'),
   ('d', 't', 's', 'o', 'e', 'i', 'p'),
   ('d', 't', 's', 'o', 'p', 'e', 'i'),
   ('d', 't', 's', 'o', 'p', 'i', 'e'),
   ('d', 't', 's', 'o', 'i', 'e', 'p'),
   ('d', 't', 's', 'o', 'i', 'p', 'e'),
   ('d', 't', 's', 'i', 'e', 'p', 'o'),
   ('d', 't', 's', 'i', 'e', 'o', 'p'),
   ('d', 't', 's', 'i', 'p', 'e', 'o'),
   ('d', 't', 's', 'i', 'p', 'o', 'e'),
   ('d', 't', 's', 'i', 'o', 'e', 'p'),
   ('d', 't', 's', 'i', 'o', 'p', 'e'),
   ('d', 't', 'i', 'e', 'p', 'o', 's'),
   ('d', 't', 'i', 'e', 'p', 's', 'o'),
   ('d', 't', 'i', 'e', 'o', 'p', 's'),
   ('d', 't', 'i', 'e', 'o', 's', 'p'),
   ('d', 't', 'i', 'e', 's', 'p', 'o'),
   ('d', 't', 'i', 'e', 's', 'o', 'p'),
   ('d', 't', 'i', 'p', 'e', 'o', 's'),
   ('d', 't', 'i', 'p', 'e', 's', 'o'),
   ('d', 't', 'i', 'p', 'o', 'e', 's'),
   ('d', 't', 'i', 'p', 'o', 's', 'e'),
   ('d', 't', 'i', 'p', 's', 'e', 'o'),
   ('d', 't', 'i', 'p', 's', 'o', 'e'),
   ('d', 't', 'i', 'o', 'e', 'p', 's'),
   ('d', 't', 'i', 'o', 'e', 's', 'p'),
   ('d', 't', 'i', 'o', 'p', 'e', 's'),
   ('d', 't', 'i', 'o', 'p', 's', 'e'),
   ('d', 't', 'i', 'o', 's', 'e', 'p'),
   ('d', 't', 'i', 'o', 's', 'p', 'e'),
   ('d', 't', 'i', 's', 'e', 'p', 'o'),
   ('d', 't', 'i', 's', 'e', 'o', 'p'),
   ('d', 't', 'i', 's', 'p', 'e', 'o'),
   ('d', 't', 'i', 's', 'p', 'o', 'e'),
   ('d', 't', 'i', 's', 'o', 'e', 'p'),
   ('d', 't', 'i', 's', 'o', 'p', 'e'),
   ('e', 'd', 'p', 'o', 's', 'i', 't'),
   ('e', 'd', 'p', 'o', 's', 't', 'i'),
   ('e', 'd', 'p', 'o', 'i', 's', 't'),
   ('e', 'd', 'p', 'o', 'i', 't', 's'),
   ('e', 'd', 'p', 'o', 't', 's', 'i'),
   ('e', 'd', 'p', 'o', 't', 'i', 's'),
   ('e', 'd', 'p', 's', 'o', 'i', 't'),
   ('e', 'd', 'p', 's', 'o', 't', 'i'),
   ('e', 'd', 'p', 's', 'i', 'o', 't'),
   ('e', 'd', 'p', 's', 'i', 't', 'o'),
   ('e', 'd', 'p', 's', 't', 'o', 'i'),
   ('e', 'd', 'p', 's', 't', 'i', 'o'),
   ('e', 'd', 'p', 'i', 'o', 's', 't'),
   ('e', 'd', 'p', 'i', 'o', 't', 's'),
   ('e', 'd', 'p', 'i', 's', 'o', 't'),
   ('e', 'd', 'p', 'i', 's', 't', 'o'),
   ('e', 'd', 'p', 'i', 't', 'o', 's'),
   ('e', 'd', 'p', 'i', 't', 's', 'o'),
   ('e', 'd', 'p', 't', 'o', 's', 'i'),
   ('e', 'd', 'p', 't', 'o', 'i', 's'),
   ('e', 'd', 'p', 't', 's', 'o', 'i'),
   ('e', 'd', 'p', 't', 's', 'i', 'o'),
   ('e', 'd', 'p', 't', 'i', 'o', 's'),
   ('e', 'd', 'p', 't', 'i', 's', 'o'),
   ('e', 'd', 'o', 'p', 's', 'i', 't'),
   ('e', 'd', 'o', 'p', 's', 't', 'i'),
   ('e', 'd', 'o', 'p', 'i', 's', 't'),
   ('e', 'd', 'o', 'p', 'i', 't', 's'),
   ('e', 'd', 'o', 'p', 't', 's', 'i'),
   ('e', 'd', 'o', 'p', 't', 'i', 's'),
   ('e', 'd', 'o', 's', 'p', 'i', 't'),
   ('e', 'd', 'o', 's', 'p', 't', 'i'),
   ('e', 'd', 'o', 's', 'i', 'p', 't'),
   ('e', 'd', 'o', 's', 'i', 't', 'p'),
   ('e', 'd', 'o', 's', 't', 'p', 'i'),
   ('e', 'd', 'o', 's', 't', 'i', 'p'),
   ('e', 'd', 'o', 'i', 'p', 's', 't'),
   ('e', 'd', 'o', 'i', 'p', 't', 's'),
   ('e', 'd', 'o', 'i', 's', 'p', 't'),
   ('e', 'd', 'o', 'i', 's', 't', 'p'),
   ('e', 'd', 'o', 'i', 't', 'p', 's'),
   ('e', 'd', 'o', 'i', 't', 's', 'p'),
   ('e', 'd', 'o', 't', 'p', 's', 'i'),
   ('e', 'd', 'o', 't', 'p', 'i', 's'),
   ('e', 'd', 'o', 't', 's', 'p', 'i'),
   ('e', 'd', 'o', 't', 's', 'i', 'p'),
   ('e', 'd', 'o', 't', 'i', 'p', 's'),
   ('e', 'd', 'o', 't', 'i', 's', 'p'),
   ('e', 'd', 's', 'p', 'o', 'i', 't'),
   ('e', 'd', 's', 'p', 'o', 't', 'i'),
   ('e', 'd', 's', 'p', 'i', 'o', 't'),
   ('e', 'd', 's', 'p', 'i', 't', 'o'),
   ('e', 'd', 's', 'p', 't', 'o', 'i'),
   ('e', 'd', 's', 'p', 't', 'i', 'o'),
   ('e', 'd', 's', 'o', 'p', 'i', 't'),
   ('e', 'd', 's', 'o', 'p', 't', 'i'),
   ('e', 'd', 's', 'o', 'i', 'p', 't'),
   ('e', 'd', 's', 'o', 'i', 't', 'p'),
   ('e', 'd', 's', 'o', 't', 'p', 'i'),
   ('e', 'd', 's', 'o', 't', 'i', 'p'),
   ('e', 'd', 's', 'i', 'p', 'o', 't'),
   ('e', 'd', 's', 'i', 'p', 't', 'o'),
   ('e', 'd', 's', 'i', 'o', 'p', 't'),
   ('e', 'd', 's', 'i', 'o', 't', 'p'),
   ('e', 'd', 's', 'i', 't', 'p', 'o'),
   ('e', 'd', 's', 'i', 't', 'o', 'p'),
   ('e', 'd', 's', 't', 'p', 'o', 'i'),
   ('e', 'd', 's', 't', 'p', 'i', 'o'),
   ('e', 'd', 's', 't', 'o', 'p', 'i'),
   ('e', 'd', 's', 't', 'o', 'i', 'p'),
   ('e', 'd', 's', 't', 'i', 'p', 'o'),
   ('e', 'd', 's', 't', 'i', 'o', 'p'),
   ('e', 'd', 'i', 'p', 'o', 's', 't'),
   ('e', 'd', 'i', 'p', 'o', 't', 's'),
   ('e', 'd', 'i', 'p', 's', 'o', 't'),
   ('e', 'd', 'i', 'p', 's', 't', 'o'),
   ('e', 'd', 'i', 'p', 't', 'o', 's'),
   ('e', 'd', 'i', 'p', 't', 's', 'o'),
   ('e', 'd', 'i', 'o', 'p', 's', 't'),
   ('e', 'd', 'i', 'o', 'p', 't', 's'),
   ('e', 'd', 'i', 'o', 's', 'p', 't'),
   ('e', 'd', 'i', 'o', 's', 't', 'p'),
   ('e', 'd', 'i', 'o', 't', 'p', 's'),
   ('e', 'd', 'i', 'o', 't', 's', 'p'),
   ('e', 'd', 'i', 's', 'p', 'o', 't'),
   ('e', 'd', 'i', 's', 'p', 't', 'o'),
   ('e', 'd', 'i', 's', 'o', 'p', 't'),
   ('e', 'd', 'i', 's', 'o', 't', 'p'),
   ('e', 'd', 'i', 's', 't', 'p', 'o'),
   ('e', 'd', 'i', 's', 't', 'o', 'p'),
   ('e', 'd', 'i', 't', 'p', 'o', 's'),
   ('e', 'd', 'i', 't', 'p', 's', 'o'),
   ('e', 'd', 'i', 't', 'o', 'p', 's'),
   ('e', 'd', 'i', 't', 'o', 's', 'p'),
   ('e', 'd', 'i', 't', 's', 'p', 'o'),
   ('e', 'd', 'i', 't', 's', 'o', 'p'),
   ('e', 'd', 't', 'p', 'o', 's', 'i'),
   ('e', 'd', 't', 'p', 'o', 'i', 's'),
   ('e', 'd', 't', 'p', 's', 'o', 'i'),
   ('e', 'd', 't', 'p', 's', 'i', 'o'),
   ('e', 'd', 't', 'p', 'i', 'o', 's'),
   ('e', 'd', 't', 'p', 'i', 's', 'o'),
   ('e', 'd', 't', 'o', 'p', 's', 'i'),
   ('e', 'd', 't', 'o', 'p', 'i', 's'),
   ('e', 'd', 't', 'o', 's', 'p', 'i'),
   ('e', 'd', 't', 'o', 's', 'i', 'p'),
   ('e', 'd', 't', 'o', 'i', 'p', 's'),
   ('e', 'd', 't', 'o', 'i', 's', 'p'),
   ('e', 'd', 't', 's', 'p', 'o', 'i'),
   ('e', 'd', 't', 's', 'p', 'i', 'o'),
   ('e', 'd', 't', 's', 'o', 'p', 'i'),
   ('e', 'd', 't', 's', 'o', 'i', 'p'),
   ('e', 'd', 't', 's', 'i', 'p', 'o'),
   ('e', 'd', 't', 's', 'i', 'o', 'p'),
   ('e', 'd', 't', 'i', 'p', 'o', 's'),
   ('e', 'd', 't', 'i', 'p', 's', 'o'),
   ('e', 'd', 't', 'i', 'o', 'p', 's'),
   ('e', 'd', 't', 'i', 'o', 's', 'p'),
   ('e', 'd', 't', 'i', 's', 'p', 'o'),
   ('e', 'd', 't', 'i', 's', 'o', 'p'),
   ('e', 'p', 'd', 'o', 's', 'i', 't'),
   ('e', 'p', 'd', 'o', 's', 't', 'i'),
   ('e', 'p', 'd', 'o', 'i', 's', 't'),
   ('e', 'p', 'd', 'o', 'i', 't', 's'),
   ('e', 'p', 'd', 'o', 't', 's', 'i'),
   ('e', 'p', 'd', 'o', 't', 'i', 's'),
   ('e', 'p', 'd', 's', 'o', 'i', 't'),
   ('e', 'p', 'd', 's', 'o', 't', 'i'),
   ('e', 'p', 'd', 's', 'i', 'o', 't'),
   ('e', 'p', 'd', 's', 'i', 't', 'o'),
   ('e', 'p', 'd', 's', 't', 'o', 'i'),
   ('e', 'p', 'd', 's', 't', 'i', 'o'),
   ('e', 'p', 'd', 'i', 'o', 's', 't'),
   ('e', 'p', 'd', 'i', 'o', 't', 's'),
   ('e', 'p', 'd', 'i', 's', 'o', 't'),
   ('e', 'p', 'd', 'i', 's', 't', 'o'),
   ('e', 'p', 'd', 'i', 't', 'o', 's'),
   ('e', 'p', 'd', 'i', 't', 's', 'o'),
   ('e', 'p', 'd', 't', 'o', 's', 'i'),
   ('e', 'p', 'd', 't', 'o', 'i', 's'),
   ('e', 'p', 'd', 't', 's', 'o', 'i'),
   ('e', 'p', 'd', 't', 's', 'i', 'o'),
   ('e', 'p', 'd', 't', 'i', 'o', 's'),
   ('e', 'p', 'd', 't', 'i', 's', 'o'),
   ('e', 'p', 'o', 'd', 's', 'i', 't'),
   ('e', 'p', 'o', 'd', 's', 't', 'i'),
   ('e', 'p', 'o', 'd', 'i', 's', 't'),
   ('e', 'p', 'o', 'd', 'i', 't', 's'),
   ('e', 'p', 'o', 'd', 't', 's', 'i'),
   ('e', 'p', 'o', 'd', 't', 'i', 's'),
   ('e', 'p', 'o', 's', 'd', 'i', 't'),
   ('e', 'p', 'o', 's', 'd', 't', 'i'),
   ('e', 'p', 'o', 's', 'i', 'd', 't'),
   ('e', 'p', 'o', 's', 'i', 't', 'd'),
   ('e', 'p', 'o', 's', 't', 'd', 'i'),
   ('e', 'p', 'o', 's', 't', 'i', 'd'),
   ('e', 'p', 'o', 'i', 'd', 's', 't'),
   ('e', 'p', 'o', 'i', 'd', 't', 's'),
   ('e', 'p', 'o', 'i', 's', 'd', 't'),
   ('e', 'p', 'o', 'i', 's', 't', 'd'),
   ('e', 'p', 'o', 'i', 't', 'd', 's'),
   ('e', 'p', 'o', 'i', 't', 's', 'd'),
   ('e', 'p', 'o', 't', 'd', 's', 'i'),
   ('e', 'p', 'o', 't', 'd', 'i', 's'),
   ('e', 'p', 'o', 't', 's', 'd', 'i'),
   ('e', 'p', 'o', 't', 's', 'i', 'd'),
   ('e', 'p', 'o', 't', 'i', 'd', 's'),
   ('e', 'p', 'o', 't', 'i', 's', 'd'),
   ('e', 'p', 's', 'd', 'o', 'i', 't'),
   ('e', 'p', 's', 'd', 'o', 't', 'i'),
   ('e', 'p', 's', 'd', 'i', 'o', 't'),
   ('e', 'p', 's', 'd', 'i', 't', 'o'),
   ('e', 'p', 's', 'd', 't', 'o', 'i'),
   ('e', 'p', 's', 'd', 't', 'i', 'o'),
   ('e', 'p', 's', 'o', 'd', 'i', 't'),
   ('e', 'p', 's', 'o', 'd', 't', 'i'),
   ('e', 'p', 's', 'o', 'i', 'd', 't'),
   ('e', 'p', 's', 'o', 'i', 't', 'd'),
   ('e', 'p', 's', 'o', 't', 'd', 'i'),
   ('e', 'p', 's', 'o', 't', 'i', 'd'),
   ('e', 'p', 's', 'i', 'd', 'o', 't'),
   ('e', 'p', 's', 'i', 'd', 't', 'o'),
   ('e', 'p', 's', 'i', 'o', 'd', 't'),
   ('e', 'p', 's', 'i', 'o', 't', 'd'),
   ('e', 'p', 's', 'i', 't', 'd', 'o'),
   ('e', 'p', 's', 'i', 't', 'o', 'd'),
   ('e', 'p', 's', 't', 'd', 'o', 'i'),
   ('e', 'p', 's', 't', 'd', 'i', 'o'),
   ('e', 'p', 's', 't', 'o', 'd', 'i'),
   ('e', 'p', 's', 't', 'o', 'i', 'd'),
   ('e', 'p', 's', 't', 'i', 'd', 'o'),
   ('e', 'p', 's', 't', 'i', 'o', 'd'),
   ('e', 'p', 'i', 'd', 'o', 's', 't'),
   ('e', 'p', 'i', 'd', 'o', 't', 's'),
   ('e', 'p', 'i', 'd', 's', 'o', 't'),
   ('e', 'p', 'i', 'd', 's', 't', 'o'),
   ('e', 'p', 'i', 'd', 't', 'o', 's'),
   ('e', 'p', 'i', 'd', 't', 's', 'o'),
   ('e', 'p', 'i', 'o', 'd', 's', 't'),
   ('e', 'p', 'i', 'o', 'd', 't', 's'),
   ('e', 'p', 'i', 'o', 's', 'd', 't'),
   ('e', 'p', 'i', 'o', 's', 't', 'd'),
   ('e', 'p', 'i', 'o', 't', 'd', 's'),
   ('e', 'p', 'i', 'o', 't', 's', 'd'),
   ('e', 'p', 'i', 's', 'd', 'o', 't'),
   ('e', 'p', 'i', 's', 'd', 't', 'o'),
   ('e', 'p', 'i', 's', 'o', 'd', 't'),
   ('e', 'p', 'i', 's', 'o', 't', 'd'),
   ('e', 'p', 'i', 's', 't', 'd', 'o'),
   ('e', 'p', 'i', 's', 't', 'o', 'd'),
   ('e', 'p', 'i', 't', 'd', 'o', 's'),
   ('e', 'p', 'i', 't', 'd', 's', 'o'),
   ('e', 'p', 'i', 't', 'o', 'd', 's'),
   ('e', 'p', 'i', 't', 'o', 's', 'd'),
   ('e', 'p', 'i', 't', 's', 'd', 'o'),
   ('e', 'p', 'i', 't', 's', 'o', 'd'),
   ('e', 'p', 't', 'd', 'o', 's', 'i'),
   ('e', 'p', 't', 'd', 'o', 'i', 's'),
   ('e', 'p', 't', 'd', 's', 'o', 'i'),
   ('e', 'p', 't', 'd', 's', 'i', 'o'),
   ('e', 'p', 't', 'd', 'i', 'o', 's'),
   ('e', 'p', 't', 'd', 'i', 's', 'o'),
   ('e', 'p', 't', 'o', 'd', 's', 'i'),
   ('e', 'p', 't', 'o', 'd', 'i', 's'),
   ('e', 'p', 't', 'o', 's', 'd', 'i'),
   ('e', 'p', 't', 'o', 's', 'i', 'd'),
   ('e', 'p', 't', 'o', 'i', 'd', 's'),
   ('e', 'p', 't', 'o', 'i', 's', 'd'),
   ('e', 'p', 't', 's', 'd', 'o', 'i'),
   ('e', 'p', 't', 's', 'd', 'i', 'o'),
   ('e', 'p', 't', 's', 'o', 'd', 'i'),
   ('e', 'p', 't', 's', 'o', 'i', 'd'),
   ('e', 'p', 't', 's', 'i', 'd', 'o'),
   ('e', 'p', 't', 's', 'i', 'o', 'd'),
   ('e', 'p', 't', 'i', 'd', 'o', 's'),
   ('e', 'p', 't', 'i', 'd', 's', 'o'),
   ('e', 'p', 't', 'i', 'o', 'd', 's'),
   ('e', 'p', 't', 'i', 'o', 's', 'd'),
   ('e', 'p', 't', 'i', 's', 'd', 'o'),
   ('e', 'p', 't', 'i', 's', 'o', 'd'),
   ('e', 'o', 'd', 'p', 's', 'i', 't'),
   ('e', 'o', 'd', 'p', 's', 't', 'i'),
   ('e', 'o', 'd', 'p', 'i', 's', 't'),
   ('e', 'o', 'd', 'p', 'i', 't', 's'),
   ('e', 'o', 'd', 'p', 't', 's', 'i'),
   ('e', 'o', 'd', 'p', 't', 'i', 's'),
   ('e', 'o', 'd', 's', 'p', 'i', 't'),
   ('e', 'o', 'd', 's', 'p', 't', 'i'),
   ('e', 'o', 'd', 's', 'i', 'p', 't'),
   ('e', 'o', 'd', 's', 'i', 't', 'p'),
   ('e', 'o', 'd', 's', 't', 'p', 'i'),
   ('e', 'o', 'd', 's', 't', 'i', 'p'),
   ('e', 'o', 'd', 'i', 'p', 's', 't'),
   ('e', 'o', 'd', 'i', 'p', 't', 's'),
   ('e', 'o', 'd', 'i', 's', 'p', 't'),
   ('e', 'o', 'd', 'i', 's', 't', 'p'),
   ('e', 'o', 'd', 'i', 't', 'p', 's'),
   ('e', 'o', 'd', 'i', 't', 's', 'p'),
   ('e', 'o', 'd', 't', 'p', 's', 'i'),
   ('e', 'o', 'd', 't', 'p', 'i', 's'),
   ('e', 'o', 'd', 't', 's', 'p', 'i'),
   ('e', 'o', 'd', 't', 's', 'i', 'p'),
   ('e', 'o', 'd', 't', 'i', 'p', 's'),
   ('e', 'o', 'd', 't', 'i', 's', 'p'),
   ('e', 'o', 'p', 'd', 's', 'i', 't'),
   ('e', 'o', 'p', 'd', 's', 't', 'i'),
   ('e', 'o', 'p', 'd', 'i', 's', 't'),
   ('e', 'o', 'p', 'd', 'i', 't', 's'),
   ('e', 'o', 'p', 'd', 't', 's', 'i'),
   ('e', 'o', 'p', 'd', 't', 'i', 's'),
   ('e', 'o', 'p', 's', 'd', 'i', 't'),
   ('e', 'o', 'p', 's', 'd', 't', 'i'),
   ('e', 'o', 'p', 's', 'i', 'd', 't'),
   ('e', 'o', 'p', 's', 'i', 't', 'd'),
   ('e', 'o', 'p', 's', 't', 'd', 'i'),
   ('e', 'o', 'p', 's', 't', 'i', 'd'),
   ('e', 'o', 'p', 'i', 'd', 's', 't'),
   ('e', 'o', 'p', 'i', 'd', 't', 's'),
   ('e', 'o', 'p', 'i', 's', 'd', 't'),
   ('e', 'o', 'p', 'i', 's', 't', 'd'),
   ...],
  125: [('d', 'e', 'p', 'o'),
   ('d', 'e', 'o', 'p'),
   ('d', 'p', 'e', 'o'),
   ('d', 'p', 'o', 'e'),
   ('d', 'o', 'e', 'p'),
   ('d', 'o', 'p', 'e'),
   ('e', 'd', 'p', 'o'),
   ('e', 'd', 'o', 'p'),
   ('e', 'p', 'd', 'o'),
   ('e', 'p', 'o', 'd'),
   ('e', 'o', 'd', 'p'),
   ('e', 'o', 'p', 'd'),
   ('p', 'd', 'e', 'o'),
   ('p', 'd', 'o', 'e'),
   ('p', 'e', 'd', 'o'),
   ('p', 'e', 'o', 'd'),
   ('p', 'o', 'd', 'e'),
   ('p', 'o', 'e', 'd'),
   ('o', 'd', 'e', 'p'),
   ('o', 'd', 'p', 'e'),
   ('o', 'e', 'd', 'p'),
   ('o', 'e', 'p', 'd'),
   ('o', 'p', 'd', 'e'),
   ('o', 'p', 'e', 'd')],
  129: [1, 2, 3],
  141: {...}},
 '_': {...},
 '_105': {'Anand': 'India',
  'David': 'USA',
  'Harry': 'USA',
  'Ken': 'UK',
  'Noufal': 'India'},
 '_106': dict_values(['India', 'India', 'USA', 'UK', 'USA']),
 '_107': dict_values(['India', 'India', 'USA', 'UK', 'USA']),
 '_108': ['Anand', 'Noufal'],
 '_109': ['David', 'Harry'],
 '_11': 3,
 '_115': 'Red',
 '_116': True,
 '_117': 'Red',
 '_123': <itertools.permutations at 0x7fef0f91a9e8>,
 '_124': [('d', 'e', 'p', 'o', 's', 'i', 't'),
  ('d', 'e', 'p', 'o', 's', 't', 'i'),
  ('d', 'e', 'p', 'o', 'i', 's', 't'),
  ('d', 'e', 'p', 'o', 'i', 't', 's'),
  ('d', 'e', 'p', 'o', 't', 's', 'i'),
  ('d', 'e', 'p', 'o', 't', 'i', 's'),
  ('d', 'e', 'p', 's', 'o', 'i', 't'),
  ('d', 'e', 'p', 's', 'o', 't', 'i'),
  ('d', 'e', 'p', 's', 'i', 'o', 't'),
  ('d', 'e', 'p', 's', 'i', 't', 'o'),
  ('d', 'e', 'p', 's', 't', 'o', 'i'),
  ('d', 'e', 'p', 's', 't', 'i', 'o'),
  ('d', 'e', 'p', 'i', 'o', 's', 't'),
  ('d', 'e', 'p', 'i', 'o', 't', 's'),
  ('d', 'e', 'p', 'i', 's', 'o', 't'),
  ('d', 'e', 'p', 'i', 's', 't', 'o'),
  ('d', 'e', 'p', 'i', 't', 'o', 's'),
  ('d', 'e', 'p', 'i', 't', 's', 'o'),
  ('d', 'e', 'p', 't', 'o', 's', 'i'),
  ('d', 'e', 'p', 't', 'o', 'i', 's'),
  ('d', 'e', 'p', 't', 's', 'o', 'i'),
  ('d', 'e', 'p', 't', 's', 'i', 'o'),
  ('d', 'e', 'p', 't', 'i', 'o', 's'),
  ('d', 'e', 'p', 't', 'i', 's', 'o'),
  ('d', 'e', 'o', 'p', 's', 'i', 't'),
  ('d', 'e', 'o', 'p', 's', 't', 'i'),
  ('d', 'e', 'o', 'p', 'i', 's', 't'),
  ('d', 'e', 'o', 'p', 'i', 't', 's'),
  ('d', 'e', 'o', 'p', 't', 's', 'i'),
  ('d', 'e', 'o', 'p', 't', 'i', 's'),
  ('d', 'e', 'o', 's', 'p', 'i', 't'),
  ('d', 'e', 'o', 's', 'p', 't', 'i'),
  ('d', 'e', 'o', 's', 'i', 'p', 't'),
  ('d', 'e', 'o', 's', 'i', 't', 'p'),
  ('d', 'e', 'o', 's', 't', 'p', 'i'),
  ('d', 'e', 'o', 's', 't', 'i', 'p'),
  ('d', 'e', 'o', 'i', 'p', 's', 't'),
  ('d', 'e', 'o', 'i', 'p', 't', 's'),
  ('d', 'e', 'o', 'i', 's', 'p', 't'),
  ('d', 'e', 'o', 'i', 's', 't', 'p'),
  ('d', 'e', 'o', 'i', 't', 'p', 's'),
  ('d', 'e', 'o', 'i', 't', 's', 'p'),
  ('d', 'e', 'o', 't', 'p', 's', 'i'),
  ('d', 'e', 'o', 't', 'p', 'i', 's'),
  ('d', 'e', 'o', 't', 's', 'p', 'i'),
  ('d', 'e', 'o', 't', 's', 'i', 'p'),
  ('d', 'e', 'o', 't', 'i', 'p', 's'),
  ('d', 'e', 'o', 't', 'i', 's', 'p'),
  ('d', 'e', 's', 'p', 'o', 'i', 't'),
  ('d', 'e', 's', 'p', 'o', 't', 'i'),
  ('d', 'e', 's', 'p', 'i', 'o', 't'),
  ('d', 'e', 's', 'p', 'i', 't', 'o'),
  ('d', 'e', 's', 'p', 't', 'o', 'i'),
  ('d', 'e', 's', 'p', 't', 'i', 'o'),
  ('d', 'e', 's', 'o', 'p', 'i', 't'),
  ('d', 'e', 's', 'o', 'p', 't', 'i'),
  ('d', 'e', 's', 'o', 'i', 'p', 't'),
  ('d', 'e', 's', 'o', 'i', 't', 'p'),
  ('d', 'e', 's', 'o', 't', 'p', 'i'),
  ('d', 'e', 's', 'o', 't', 'i', 'p'),
  ('d', 'e', 's', 'i', 'p', 'o', 't'),
  ('d', 'e', 's', 'i', 'p', 't', 'o'),
  ('d', 'e', 's', 'i', 'o', 'p', 't'),
  ('d', 'e', 's', 'i', 'o', 't', 'p'),
  ('d', 'e', 's', 'i', 't', 'p', 'o'),
  ('d', 'e', 's', 'i', 't', 'o', 'p'),
  ('d', 'e', 's', 't', 'p', 'o', 'i'),
  ('d', 'e', 's', 't', 'p', 'i', 'o'),
  ('d', 'e', 's', 't', 'o', 'p', 'i'),
  ('d', 'e', 's', 't', 'o', 'i', 'p'),
  ('d', 'e', 's', 't', 'i', 'p', 'o'),
  ('d', 'e', 's', 't', 'i', 'o', 'p'),
  ('d', 'e', 'i', 'p', 'o', 's', 't'),
  ('d', 'e', 'i', 'p', 'o', 't', 's'),
  ('d', 'e', 'i', 'p', 's', 'o', 't'),
  ('d', 'e', 'i', 'p', 's', 't', 'o'),
  ('d', 'e', 'i', 'p', 't', 'o', 's'),
  ('d', 'e', 'i', 'p', 't', 's', 'o'),
  ('d', 'e', 'i', 'o', 'p', 's', 't'),
  ('d', 'e', 'i', 'o', 'p', 't', 's'),
  ('d', 'e', 'i', 'o', 's', 'p', 't'),
  ('d', 'e', 'i', 'o', 's', 't', 'p'),
  ('d', 'e', 'i', 'o', 't', 'p', 's'),
  ('d', 'e', 'i', 'o', 't', 's', 'p'),
  ('d', 'e', 'i', 's', 'p', 'o', 't'),
  ('d', 'e', 'i', 's', 'p', 't', 'o'),
  ('d', 'e', 'i', 's', 'o', 'p', 't'),
  ('d', 'e', 'i', 's', 'o', 't', 'p'),
  ('d', 'e', 'i', 's', 't', 'p', 'o'),
  ('d', 'e', 'i', 's', 't', 'o', 'p'),
  ('d', 'e', 'i', 't', 'p', 'o', 's'),
  ('d', 'e', 'i', 't', 'p', 's', 'o'),
  ('d', 'e', 'i', 't', 'o', 'p', 's'),
  ('d', 'e', 'i', 't', 'o', 's', 'p'),
  ('d', 'e', 'i', 't', 's', 'p', 'o'),
  ('d', 'e', 'i', 't', 's', 'o', 'p'),
  ('d', 'e', 't', 'p', 'o', 's', 'i'),
  ('d', 'e', 't', 'p', 'o', 'i', 's'),
  ('d', 'e', 't', 'p', 's', 'o', 'i'),
  ('d', 'e', 't', 'p', 's', 'i', 'o'),
  ('d', 'e', 't', 'p', 'i', 'o', 's'),
  ('d', 'e', 't', 'p', 'i', 's', 'o'),
  ('d', 'e', 't', 'o', 'p', 's', 'i'),
  ('d', 'e', 't', 'o', 'p', 'i', 's'),
  ('d', 'e', 't', 'o', 's', 'p', 'i'),
  ('d', 'e', 't', 'o', 's', 'i', 'p'),
  ('d', 'e', 't', 'o', 'i', 'p', 's'),
  ('d', 'e', 't', 'o', 'i', 's', 'p'),
  ('d', 'e', 't', 's', 'p', 'o', 'i'),
  ('d', 'e', 't', 's', 'p', 'i', 'o'),
  ('d', 'e', 't', 's', 'o', 'p', 'i'),
  ('d', 'e', 't', 's', 'o', 'i', 'p'),
  ('d', 'e', 't', 's', 'i', 'p', 'o'),
  ('d', 'e', 't', 's', 'i', 'o', 'p'),
  ('d', 'e', 't', 'i', 'p', 'o', 's'),
  ('d', 'e', 't', 'i', 'p', 's', 'o'),
  ('d', 'e', 't', 'i', 'o', 'p', 's'),
  ('d', 'e', 't', 'i', 'o', 's', 'p'),
  ('d', 'e', 't', 'i', 's', 'p', 'o'),
  ('d', 'e', 't', 'i', 's', 'o', 'p'),
  ('d', 'p', 'e', 'o', 's', 'i', 't'),
  ('d', 'p', 'e', 'o', 's', 't', 'i'),
  ('d', 'p', 'e', 'o', 'i', 's', 't'),
  ('d', 'p', 'e', 'o', 'i', 't', 's'),
  ('d', 'p', 'e', 'o', 't', 's', 'i'),
  ('d', 'p', 'e', 'o', 't', 'i', 's'),
  ('d', 'p', 'e', 's', 'o', 'i', 't'),
  ('d', 'p', 'e', 's', 'o', 't', 'i'),
  ('d', 'p', 'e', 's', 'i', 'o', 't'),
  ('d', 'p', 'e', 's', 'i', 't', 'o'),
  ('d', 'p', 'e', 's', 't', 'o', 'i'),
  ('d', 'p', 'e', 's', 't', 'i', 'o'),
  ('d', 'p', 'e', 'i', 'o', 's', 't'),
  ('d', 'p', 'e', 'i', 'o', 't', 's'),
  ('d', 'p', 'e', 'i', 's', 'o', 't'),
  ('d', 'p', 'e', 'i', 's', 't', 'o'),
  ('d', 'p', 'e', 'i', 't', 'o', 's'),
  ('d', 'p', 'e', 'i', 't', 's', 'o'),
  ('d', 'p', 'e', 't', 'o', 's', 'i'),
  ('d', 'p', 'e', 't', 'o', 'i', 's'),
  ('d', 'p', 'e', 't', 's', 'o', 'i'),
  ('d', 'p', 'e', 't', 's', 'i', 'o'),
  ('d', 'p', 'e', 't', 'i', 'o', 's'),
  ('d', 'p', 'e', 't', 'i', 's', 'o'),
  ('d', 'p', 'o', 'e', 's', 'i', 't'),
  ('d', 'p', 'o', 'e', 's', 't', 'i'),
  ('d', 'p', 'o', 'e', 'i', 's', 't'),
  ('d', 'p', 'o', 'e', 'i', 't', 's'),
  ('d', 'p', 'o', 'e', 't', 's', 'i'),
  ('d', 'p', 'o', 'e', 't', 'i', 's'),
  ('d', 'p', 'o', 's', 'e', 'i', 't'),
  ('d', 'p', 'o', 's', 'e', 't', 'i'),
  ('d', 'p', 'o', 's', 'i', 'e', 't'),
  ('d', 'p', 'o', 's', 'i', 't', 'e'),
  ('d', 'p', 'o', 's', 't', 'e', 'i'),
  ('d', 'p', 'o', 's', 't', 'i', 'e'),
  ('d', 'p', 'o', 'i', 'e', 's', 't'),
  ('d', 'p', 'o', 'i', 'e', 't', 's'),
  ('d', 'p', 'o', 'i', 's', 'e', 't'),
  ('d', 'p', 'o', 'i', 's', 't', 'e'),
  ('d', 'p', 'o', 'i', 't', 'e', 's'),
  ('d', 'p', 'o', 'i', 't', 's', 'e'),
  ('d', 'p', 'o', 't', 'e', 's', 'i'),
  ('d', 'p', 'o', 't', 'e', 'i', 's'),
  ('d', 'p', 'o', 't', 's', 'e', 'i'),
  ('d', 'p', 'o', 't', 's', 'i', 'e'),
  ('d', 'p', 'o', 't', 'i', 'e', 's'),
  ('d', 'p', 'o', 't', 'i', 's', 'e'),
  ('d', 'p', 's', 'e', 'o', 'i', 't'),
  ('d', 'p', 's', 'e', 'o', 't', 'i'),
  ('d', 'p', 's', 'e', 'i', 'o', 't'),
  ('d', 'p', 's', 'e', 'i', 't', 'o'),
  ('d', 'p', 's', 'e', 't', 'o', 'i'),
  ('d', 'p', 's', 'e', 't', 'i', 'o'),
  ('d', 'p', 's', 'o', 'e', 'i', 't'),
  ('d', 'p', 's', 'o', 'e', 't', 'i'),
  ('d', 'p', 's', 'o', 'i', 'e', 't'),
  ('d', 'p', 's', 'o', 'i', 't', 'e'),
  ('d', 'p', 's', 'o', 't', 'e', 'i'),
  ('d', 'p', 's', 'o', 't', 'i', 'e'),
  ('d', 'p', 's', 'i', 'e', 'o', 't'),
  ('d', 'p', 's', 'i', 'e', 't', 'o'),
  ('d', 'p', 's', 'i', 'o', 'e', 't'),
  ('d', 'p', 's', 'i', 'o', 't', 'e'),
  ('d', 'p', 's', 'i', 't', 'e', 'o'),
  ('d', 'p', 's', 'i', 't', 'o', 'e'),
  ('d', 'p', 's', 't', 'e', 'o', 'i'),
  ('d', 'p', 's', 't', 'e', 'i', 'o'),
  ('d', 'p', 's', 't', 'o', 'e', 'i'),
  ('d', 'p', 's', 't', 'o', 'i', 'e'),
  ('d', 'p', 's', 't', 'i', 'e', 'o'),
  ('d', 'p', 's', 't', 'i', 'o', 'e'),
  ('d', 'p', 'i', 'e', 'o', 's', 't'),
  ('d', 'p', 'i', 'e', 'o', 't', 's'),
  ('d', 'p', 'i', 'e', 's', 'o', 't'),
  ('d', 'p', 'i', 'e', 's', 't', 'o'),
  ('d', 'p', 'i', 'e', 't', 'o', 's'),
  ('d', 'p', 'i', 'e', 't', 's', 'o'),
  ('d', 'p', 'i', 'o', 'e', 's', 't'),
  ('d', 'p', 'i', 'o', 'e', 't', 's'),
  ('d', 'p', 'i', 'o', 's', 'e', 't'),
  ('d', 'p', 'i', 'o', 's', 't', 'e'),
  ('d', 'p', 'i', 'o', 't', 'e', 's'),
  ('d', 'p', 'i', 'o', 't', 's', 'e'),
  ('d', 'p', 'i', 's', 'e', 'o', 't'),
  ('d', 'p', 'i', 's', 'e', 't', 'o'),
  ('d', 'p', 'i', 's', 'o', 'e', 't'),
  ('d', 'p', 'i', 's', 'o', 't', 'e'),
  ('d', 'p', 'i', 's', 't', 'e', 'o'),
  ('d', 'p', 'i', 's', 't', 'o', 'e'),
  ('d', 'p', 'i', 't', 'e', 'o', 's'),
  ('d', 'p', 'i', 't', 'e', 's', 'o'),
  ('d', 'p', 'i', 't', 'o', 'e', 's'),
  ('d', 'p', 'i', 't', 'o', 's', 'e'),
  ('d', 'p', 'i', 't', 's', 'e', 'o'),
  ('d', 'p', 'i', 't', 's', 'o', 'e'),
  ('d', 'p', 't', 'e', 'o', 's', 'i'),
  ('d', 'p', 't', 'e', 'o', 'i', 's'),
  ('d', 'p', 't', 'e', 's', 'o', 'i'),
  ('d', 'p', 't', 'e', 's', 'i', 'o'),
  ('d', 'p', 't', 'e', 'i', 'o', 's'),
  ('d', 'p', 't', 'e', 'i', 's', 'o'),
  ('d', 'p', 't', 'o', 'e', 's', 'i'),
  ('d', 'p', 't', 'o', 'e', 'i', 's'),
  ('d', 'p', 't', 'o', 's', 'e', 'i'),
  ('d', 'p', 't', 'o', 's', 'i', 'e'),
  ('d', 'p', 't', 'o', 'i', 'e', 's'),
  ('d', 'p', 't', 'o', 'i', 's', 'e'),
  ('d', 'p', 't', 's', 'e', 'o', 'i'),
  ('d', 'p', 't', 's', 'e', 'i', 'o'),
  ('d', 'p', 't', 's', 'o', 'e', 'i'),
  ('d', 'p', 't', 's', 'o', 'i', 'e'),
  ('d', 'p', 't', 's', 'i', 'e', 'o'),
  ('d', 'p', 't', 's', 'i', 'o', 'e'),
  ('d', 'p', 't', 'i', 'e', 'o', 's'),
  ('d', 'p', 't', 'i', 'e', 's', 'o'),
  ('d', 'p', 't', 'i', 'o', 'e', 's'),
  ('d', 'p', 't', 'i', 'o', 's', 'e'),
  ('d', 'p', 't', 'i', 's', 'e', 'o'),
  ('d', 'p', 't', 'i', 's', 'o', 'e'),
  ('d', 'o', 'e', 'p', 's', 'i', 't'),
  ('d', 'o', 'e', 'p', 's', 't', 'i'),
  ('d', 'o', 'e', 'p', 'i', 's', 't'),
  ('d', 'o', 'e', 'p', 'i', 't', 's'),
  ('d', 'o', 'e', 'p', 't', 's', 'i'),
  ('d', 'o', 'e', 'p', 't', 'i', 's'),
  ('d', 'o', 'e', 's', 'p', 'i', 't'),
  ('d', 'o', 'e', 's', 'p', 't', 'i'),
  ('d', 'o', 'e', 's', 'i', 'p', 't'),
  ('d', 'o', 'e', 's', 'i', 't', 'p'),
  ('d', 'o', 'e', 's', 't', 'p', 'i'),
  ('d', 'o', 'e', 's', 't', 'i', 'p'),
  ('d', 'o', 'e', 'i', 'p', 's', 't'),
  ('d', 'o', 'e', 'i', 'p', 't', 's'),
  ('d', 'o', 'e', 'i', 's', 'p', 't'),
  ('d', 'o', 'e', 'i', 's', 't', 'p'),
  ('d', 'o', 'e', 'i', 't', 'p', 's'),
  ('d', 'o', 'e', 'i', 't', 's', 'p'),
  ('d', 'o', 'e', 't', 'p', 's', 'i'),
  ('d', 'o', 'e', 't', 'p', 'i', 's'),
  ('d', 'o', 'e', 't', 's', 'p', 'i'),
  ('d', 'o', 'e', 't', 's', 'i', 'p'),
  ('d', 'o', 'e', 't', 'i', 'p', 's'),
  ('d', 'o', 'e', 't', 'i', 's', 'p'),
  ('d', 'o', 'p', 'e', 's', 'i', 't'),
  ('d', 'o', 'p', 'e', 's', 't', 'i'),
  ('d', 'o', 'p', 'e', 'i', 's', 't'),
  ('d', 'o', 'p', 'e', 'i', 't', 's'),
  ('d', 'o', 'p', 'e', 't', 's', 'i'),
  ('d', 'o', 'p', 'e', 't', 'i', 's'),
  ('d', 'o', 'p', 's', 'e', 'i', 't'),
  ('d', 'o', 'p', 's', 'e', 't', 'i'),
  ('d', 'o', 'p', 's', 'i', 'e', 't'),
  ('d', 'o', 'p', 's', 'i', 't', 'e'),
  ('d', 'o', 'p', 's', 't', 'e', 'i'),
  ('d', 'o', 'p', 's', 't', 'i', 'e'),
  ('d', 'o', 'p', 'i', 'e', 's', 't'),
  ('d', 'o', 'p', 'i', 'e', 't', 's'),
  ('d', 'o', 'p', 'i', 's', 'e', 't'),
  ('d', 'o', 'p', 'i', 's', 't', 'e'),
  ('d', 'o', 'p', 'i', 't', 'e', 's'),
  ('d', 'o', 'p', 'i', 't', 's', 'e'),
  ('d', 'o', 'p', 't', 'e', 's', 'i'),
  ('d', 'o', 'p', 't', 'e', 'i', 's'),
  ('d', 'o', 'p', 't', 's', 'e', 'i'),
  ('d', 'o', 'p', 't', 's', 'i', 'e'),
  ('d', 'o', 'p', 't', 'i', 'e', 's'),
  ('d', 'o', 'p', 't', 'i', 's', 'e'),
  ('d', 'o', 's', 'e', 'p', 'i', 't'),
  ('d', 'o', 's', 'e', 'p', 't', 'i'),
  ('d', 'o', 's', 'e', 'i', 'p', 't'),
  ('d', 'o', 's', 'e', 'i', 't', 'p'),
  ('d', 'o', 's', 'e', 't', 'p', 'i'),
  ('d', 'o', 's', 'e', 't', 'i', 'p'),
  ('d', 'o', 's', 'p', 'e', 'i', 't'),
  ('d', 'o', 's', 'p', 'e', 't', 'i'),
  ('d', 'o', 's', 'p', 'i', 'e', 't'),
  ('d', 'o', 's', 'p', 'i', 't', 'e'),
  ('d', 'o', 's', 'p', 't', 'e', 'i'),
  ('d', 'o', 's', 'p', 't', 'i', 'e'),
  ('d', 'o', 's', 'i', 'e', 'p', 't'),
  ('d', 'o', 's', 'i', 'e', 't', 'p'),
  ('d', 'o', 's', 'i', 'p', 'e', 't'),
  ('d', 'o', 's', 'i', 'p', 't', 'e'),
  ('d', 'o', 's', 'i', 't', 'e', 'p'),
  ('d', 'o', 's', 'i', 't', 'p', 'e'),
  ('d', 'o', 's', 't', 'e', 'p', 'i'),
  ('d', 'o', 's', 't', 'e', 'i', 'p'),
  ('d', 'o', 's', 't', 'p', 'e', 'i'),
  ('d', 'o', 's', 't', 'p', 'i', 'e'),
  ('d', 'o', 's', 't', 'i', 'e', 'p'),
  ('d', 'o', 's', 't', 'i', 'p', 'e'),
  ('d', 'o', 'i', 'e', 'p', 's', 't'),
  ('d', 'o', 'i', 'e', 'p', 't', 's'),
  ('d', 'o', 'i', 'e', 's', 'p', 't'),
  ('d', 'o', 'i', 'e', 's', 't', 'p'),
  ('d', 'o', 'i', 'e', 't', 'p', 's'),
  ('d', 'o', 'i', 'e', 't', 's', 'p'),
  ('d', 'o', 'i', 'p', 'e', 's', 't'),
  ('d', 'o', 'i', 'p', 'e', 't', 's'),
  ('d', 'o', 'i', 'p', 's', 'e', 't'),
  ('d', 'o', 'i', 'p', 's', 't', 'e'),
  ('d', 'o', 'i', 'p', 't', 'e', 's'),
  ('d', 'o', 'i', 'p', 't', 's', 'e'),
  ('d', 'o', 'i', 's', 'e', 'p', 't'),
  ('d', 'o', 'i', 's', 'e', 't', 'p'),
  ('d', 'o', 'i', 's', 'p', 'e', 't'),
  ('d', 'o', 'i', 's', 'p', 't', 'e'),
  ('d', 'o', 'i', 's', 't', 'e', 'p'),
  ('d', 'o', 'i', 's', 't', 'p', 'e'),
  ('d', 'o', 'i', 't', 'e', 'p', 's'),
  ('d', 'o', 'i', 't', 'e', 's', 'p'),
  ('d', 'o', 'i', 't', 'p', 'e', 's'),
  ('d', 'o', 'i', 't', 'p', 's', 'e'),
  ('d', 'o', 'i', 't', 's', 'e', 'p'),
  ('d', 'o', 'i', 't', 's', 'p', 'e'),
  ('d', 'o', 't', 'e', 'p', 's', 'i'),
  ('d', 'o', 't', 'e', 'p', 'i', 's'),
  ('d', 'o', 't', 'e', 's', 'p', 'i'),
  ('d', 'o', 't', 'e', 's', 'i', 'p'),
  ('d', 'o', 't', 'e', 'i', 'p', 's'),
  ('d', 'o', 't', 'e', 'i', 's', 'p'),
  ('d', 'o', 't', 'p', 'e', 's', 'i'),
  ('d', 'o', 't', 'p', 'e', 'i', 's'),
  ('d', 'o', 't', 'p', 's', 'e', 'i'),
  ('d', 'o', 't', 'p', 's', 'i', 'e'),
  ('d', 'o', 't', 'p', 'i', 'e', 's'),
  ('d', 'o', 't', 'p', 'i', 's', 'e'),
  ('d', 'o', 't', 's', 'e', 'p', 'i'),
  ('d', 'o', 't', 's', 'e', 'i', 'p'),
  ('d', 'o', 't', 's', 'p', 'e', 'i'),
  ('d', 'o', 't', 's', 'p', 'i', 'e'),
  ('d', 'o', 't', 's', 'i', 'e', 'p'),
  ('d', 'o', 't', 's', 'i', 'p', 'e'),
  ('d', 'o', 't', 'i', 'e', 'p', 's'),
  ('d', 'o', 't', 'i', 'e', 's', 'p'),
  ('d', 'o', 't', 'i', 'p', 'e', 's'),
  ('d', 'o', 't', 'i', 'p', 's', 'e'),
  ('d', 'o', 't', 'i', 's', 'e', 'p'),
  ('d', 'o', 't', 'i', 's', 'p', 'e'),
  ('d', 's', 'e', 'p', 'o', 'i', 't'),
  ('d', 's', 'e', 'p', 'o', 't', 'i'),
  ('d', 's', 'e', 'p', 'i', 'o', 't'),
  ('d', 's', 'e', 'p', 'i', 't', 'o'),
  ('d', 's', 'e', 'p', 't', 'o', 'i'),
  ('d', 's', 'e', 'p', 't', 'i', 'o'),
  ('d', 's', 'e', 'o', 'p', 'i', 't'),
  ('d', 's', 'e', 'o', 'p', 't', 'i'),
  ('d', 's', 'e', 'o', 'i', 'p', 't'),
  ('d', 's', 'e', 'o', 'i', 't', 'p'),
  ('d', 's', 'e', 'o', 't', 'p', 'i'),
  ('d', 's', 'e', 'o', 't', 'i', 'p'),
  ('d', 's', 'e', 'i', 'p', 'o', 't'),
  ('d', 's', 'e', 'i', 'p', 't', 'o'),
  ('d', 's', 'e', 'i', 'o', 'p', 't'),
  ('d', 's', 'e', 'i', 'o', 't', 'p'),
  ('d', 's', 'e', 'i', 't', 'p', 'o'),
  ('d', 's', 'e', 'i', 't', 'o', 'p'),
  ('d', 's', 'e', 't', 'p', 'o', 'i'),
  ('d', 's', 'e', 't', 'p', 'i', 'o'),
  ('d', 's', 'e', 't', 'o', 'p', 'i'),
  ('d', 's', 'e', 't', 'o', 'i', 'p'),
  ('d', 's', 'e', 't', 'i', 'p', 'o'),
  ('d', 's', 'e', 't', 'i', 'o', 'p'),
  ('d', 's', 'p', 'e', 'o', 'i', 't'),
  ('d', 's', 'p', 'e', 'o', 't', 'i'),
  ('d', 's', 'p', 'e', 'i', 'o', 't'),
  ('d', 's', 'p', 'e', 'i', 't', 'o'),
  ('d', 's', 'p', 'e', 't', 'o', 'i'),
  ('d', 's', 'p', 'e', 't', 'i', 'o'),
  ('d', 's', 'p', 'o', 'e', 'i', 't'),
  ('d', 's', 'p', 'o', 'e', 't', 'i'),
  ('d', 's', 'p', 'o', 'i', 'e', 't'),
  ('d', 's', 'p', 'o', 'i', 't', 'e'),
  ('d', 's', 'p', 'o', 't', 'e', 'i'),
  ('d', 's', 'p', 'o', 't', 'i', 'e'),
  ('d', 's', 'p', 'i', 'e', 'o', 't'),
  ('d', 's', 'p', 'i', 'e', 't', 'o'),
  ('d', 's', 'p', 'i', 'o', 'e', 't'),
  ('d', 's', 'p', 'i', 'o', 't', 'e'),
  ('d', 's', 'p', 'i', 't', 'e', 'o'),
  ('d', 's', 'p', 'i', 't', 'o', 'e'),
  ('d', 's', 'p', 't', 'e', 'o', 'i'),
  ('d', 's', 'p', 't', 'e', 'i', 'o'),
  ('d', 's', 'p', 't', 'o', 'e', 'i'),
  ('d', 's', 'p', 't', 'o', 'i', 'e'),
  ('d', 's', 'p', 't', 'i', 'e', 'o'),
  ('d', 's', 'p', 't', 'i', 'o', 'e'),
  ('d', 's', 'o', 'e', 'p', 'i', 't'),
  ('d', 's', 'o', 'e', 'p', 't', 'i'),
  ('d', 's', 'o', 'e', 'i', 'p', 't'),
  ('d', 's', 'o', 'e', 'i', 't', 'p'),
  ('d', 's', 'o', 'e', 't', 'p', 'i'),
  ('d', 's', 'o', 'e', 't', 'i', 'p'),
  ('d', 's', 'o', 'p', 'e', 'i', 't'),
  ('d', 's', 'o', 'p', 'e', 't', 'i'),
  ('d', 's', 'o', 'p', 'i', 'e', 't'),
  ('d', 's', 'o', 'p', 'i', 't', 'e'),
  ('d', 's', 'o', 'p', 't', 'e', 'i'),
  ('d', 's', 'o', 'p', 't', 'i', 'e'),
  ('d', 's', 'o', 'i', 'e', 'p', 't'),
  ('d', 's', 'o', 'i', 'e', 't', 'p'),
  ('d', 's', 'o', 'i', 'p', 'e', 't'),
  ('d', 's', 'o', 'i', 'p', 't', 'e'),
  ('d', 's', 'o', 'i', 't', 'e', 'p'),
  ('d', 's', 'o', 'i', 't', 'p', 'e'),
  ('d', 's', 'o', 't', 'e', 'p', 'i'),
  ('d', 's', 'o', 't', 'e', 'i', 'p'),
  ('d', 's', 'o', 't', 'p', 'e', 'i'),
  ('d', 's', 'o', 't', 'p', 'i', 'e'),
  ('d', 's', 'o', 't', 'i', 'e', 'p'),
  ('d', 's', 'o', 't', 'i', 'p', 'e'),
  ('d', 's', 'i', 'e', 'p', 'o', 't'),
  ('d', 's', 'i', 'e', 'p', 't', 'o'),
  ('d', 's', 'i', 'e', 'o', 'p', 't'),
  ('d', 's', 'i', 'e', 'o', 't', 'p'),
  ('d', 's', 'i', 'e', 't', 'p', 'o'),
  ('d', 's', 'i', 'e', 't', 'o', 'p'),
  ('d', 's', 'i', 'p', 'e', 'o', 't'),
  ('d', 's', 'i', 'p', 'e', 't', 'o'),
  ('d', 's', 'i', 'p', 'o', 'e', 't'),
  ('d', 's', 'i', 'p', 'o', 't', 'e'),
  ('d', 's', 'i', 'p', 't', 'e', 'o'),
  ('d', 's', 'i', 'p', 't', 'o', 'e'),
  ('d', 's', 'i', 'o', 'e', 'p', 't'),
  ('d', 's', 'i', 'o', 'e', 't', 'p'),
  ('d', 's', 'i', 'o', 'p', 'e', 't'),
  ('d', 's', 'i', 'o', 'p', 't', 'e'),
  ('d', 's', 'i', 'o', 't', 'e', 'p'),
  ('d', 's', 'i', 'o', 't', 'p', 'e'),
  ('d', 's', 'i', 't', 'e', 'p', 'o'),
  ('d', 's', 'i', 't', 'e', 'o', 'p'),
  ('d', 's', 'i', 't', 'p', 'e', 'o'),
  ('d', 's', 'i', 't', 'p', 'o', 'e'),
  ('d', 's', 'i', 't', 'o', 'e', 'p'),
  ('d', 's', 'i', 't', 'o', 'p', 'e'),
  ('d', 's', 't', 'e', 'p', 'o', 'i'),
  ('d', 's', 't', 'e', 'p', 'i', 'o'),
  ('d', 's', 't', 'e', 'o', 'p', 'i'),
  ('d', 's', 't', 'e', 'o', 'i', 'p'),
  ('d', 's', 't', 'e', 'i', 'p', 'o'),
  ('d', 's', 't', 'e', 'i', 'o', 'p'),
  ('d', 's', 't', 'p', 'e', 'o', 'i'),
  ('d', 's', 't', 'p', 'e', 'i', 'o'),
  ('d', 's', 't', 'p', 'o', 'e', 'i'),
  ('d', 's', 't', 'p', 'o', 'i', 'e'),
  ('d', 's', 't', 'p', 'i', 'e', 'o'),
  ('d', 's', 't', 'p', 'i', 'o', 'e'),
  ('d', 's', 't', 'o', 'e', 'p', 'i'),
  ('d', 's', 't', 'o', 'e', 'i', 'p'),
  ('d', 's', 't', 'o', 'p', 'e', 'i'),
  ('d', 's', 't', 'o', 'p', 'i', 'e'),
  ('d', 's', 't', 'o', 'i', 'e', 'p'),
  ('d', 's', 't', 'o', 'i', 'p', 'e'),
  ('d', 's', 't', 'i', 'e', 'p', 'o'),
  ('d', 's', 't', 'i', 'e', 'o', 'p'),
  ('d', 's', 't', 'i', 'p', 'e', 'o'),
  ('d', 's', 't', 'i', 'p', 'o', 'e'),
  ('d', 's', 't', 'i', 'o', 'e', 'p'),
  ('d', 's', 't', 'i', 'o', 'p', 'e'),
  ('d', 'i', 'e', 'p', 'o', 's', 't'),
  ('d', 'i', 'e', 'p', 'o', 't', 's'),
  ('d', 'i', 'e', 'p', 's', 'o', 't'),
  ('d', 'i', 'e', 'p', 's', 't', 'o'),
  ('d', 'i', 'e', 'p', 't', 'o', 's'),
  ('d', 'i', 'e', 'p', 't', 's', 'o'),
  ('d', 'i', 'e', 'o', 'p', 's', 't'),
  ('d', 'i', 'e', 'o', 'p', 't', 's'),
  ('d', 'i', 'e', 'o', 's', 'p', 't'),
  ('d', 'i', 'e', 'o', 's', 't', 'p'),
  ('d', 'i', 'e', 'o', 't', 'p', 's'),
  ('d', 'i', 'e', 'o', 't', 's', 'p'),
  ('d', 'i', 'e', 's', 'p', 'o', 't'),
  ('d', 'i', 'e', 's', 'p', 't', 'o'),
  ('d', 'i', 'e', 's', 'o', 'p', 't'),
  ('d', 'i', 'e', 's', 'o', 't', 'p'),
  ('d', 'i', 'e', 's', 't', 'p', 'o'),
  ('d', 'i', 'e', 's', 't', 'o', 'p'),
  ('d', 'i', 'e', 't', 'p', 'o', 's'),
  ('d', 'i', 'e', 't', 'p', 's', 'o'),
  ('d', 'i', 'e', 't', 'o', 'p', 's'),
  ('d', 'i', 'e', 't', 'o', 's', 'p'),
  ('d', 'i', 'e', 't', 's', 'p', 'o'),
  ('d', 'i', 'e', 't', 's', 'o', 'p'),
  ('d', 'i', 'p', 'e', 'o', 's', 't'),
  ('d', 'i', 'p', 'e', 'o', 't', 's'),
  ('d', 'i', 'p', 'e', 's', 'o', 't'),
  ('d', 'i', 'p', 'e', 's', 't', 'o'),
  ('d', 'i', 'p', 'e', 't', 'o', 's'),
  ('d', 'i', 'p', 'e', 't', 's', 'o'),
  ('d', 'i', 'p', 'o', 'e', 's', 't'),
  ('d', 'i', 'p', 'o', 'e', 't', 's'),
  ('d', 'i', 'p', 'o', 's', 'e', 't'),
  ('d', 'i', 'p', 'o', 's', 't', 'e'),
  ('d', 'i', 'p', 'o', 't', 'e', 's'),
  ('d', 'i', 'p', 'o', 't', 's', 'e'),
  ('d', 'i', 'p', 's', 'e', 'o', 't'),
  ('d', 'i', 'p', 's', 'e', 't', 'o'),
  ('d', 'i', 'p', 's', 'o', 'e', 't'),
  ('d', 'i', 'p', 's', 'o', 't', 'e'),
  ('d', 'i', 'p', 's', 't', 'e', 'o'),
  ('d', 'i', 'p', 's', 't', 'o', 'e'),
  ('d', 'i', 'p', 't', 'e', 'o', 's'),
  ('d', 'i', 'p', 't', 'e', 's', 'o'),
  ('d', 'i', 'p', 't', 'o', 'e', 's'),
  ('d', 'i', 'p', 't', 'o', 's', 'e'),
  ('d', 'i', 'p', 't', 's', 'e', 'o'),
  ('d', 'i', 'p', 't', 's', 'o', 'e'),
  ('d', 'i', 'o', 'e', 'p', 's', 't'),
  ('d', 'i', 'o', 'e', 'p', 't', 's'),
  ('d', 'i', 'o', 'e', 's', 'p', 't'),
  ('d', 'i', 'o', 'e', 's', 't', 'p'),
  ('d', 'i', 'o', 'e', 't', 'p', 's'),
  ('d', 'i', 'o', 'e', 't', 's', 'p'),
  ('d', 'i', 'o', 'p', 'e', 's', 't'),
  ('d', 'i', 'o', 'p', 'e', 't', 's'),
  ('d', 'i', 'o', 'p', 's', 'e', 't'),
  ('d', 'i', 'o', 'p', 's', 't', 'e'),
  ('d', 'i', 'o', 'p', 't', 'e', 's'),
  ('d', 'i', 'o', 'p', 't', 's', 'e'),
  ('d', 'i', 'o', 's', 'e', 'p', 't'),
  ('d', 'i', 'o', 's', 'e', 't', 'p'),
  ('d', 'i', 'o', 's', 'p', 'e', 't'),
  ('d', 'i', 'o', 's', 'p', 't', 'e'),
  ('d', 'i', 'o', 's', 't', 'e', 'p'),
  ('d', 'i', 'o', 's', 't', 'p', 'e'),
  ('d', 'i', 'o', 't', 'e', 'p', 's'),
  ('d', 'i', 'o', 't', 'e', 's', 'p'),
  ('d', 'i', 'o', 't', 'p', 'e', 's'),
  ('d', 'i', 'o', 't', 'p', 's', 'e'),
  ('d', 'i', 'o', 't', 's', 'e', 'p'),
  ('d', 'i', 'o', 't', 's', 'p', 'e'),
  ('d', 'i', 's', 'e', 'p', 'o', 't'),
  ('d', 'i', 's', 'e', 'p', 't', 'o'),
  ('d', 'i', 's', 'e', 'o', 'p', 't'),
  ('d', 'i', 's', 'e', 'o', 't', 'p'),
  ('d', 'i', 's', 'e', 't', 'p', 'o'),
  ('d', 'i', 's', 'e', 't', 'o', 'p'),
  ('d', 'i', 's', 'p', 'e', 'o', 't'),
  ('d', 'i', 's', 'p', 'e', 't', 'o'),
  ('d', 'i', 's', 'p', 'o', 'e', 't'),
  ('d', 'i', 's', 'p', 'o', 't', 'e'),
  ('d', 'i', 's', 'p', 't', 'e', 'o'),
  ('d', 'i', 's', 'p', 't', 'o', 'e'),
  ('d', 'i', 's', 'o', 'e', 'p', 't'),
  ('d', 'i', 's', 'o', 'e', 't', 'p'),
  ('d', 'i', 's', 'o', 'p', 'e', 't'),
  ('d', 'i', 's', 'o', 'p', 't', 'e'),
  ('d', 'i', 's', 'o', 't', 'e', 'p'),
  ('d', 'i', 's', 'o', 't', 'p', 'e'),
  ('d', 'i', 's', 't', 'e', 'p', 'o'),
  ('d', 'i', 's', 't', 'e', 'o', 'p'),
  ('d', 'i', 's', 't', 'p', 'e', 'o'),
  ('d', 'i', 's', 't', 'p', 'o', 'e'),
  ('d', 'i', 's', 't', 'o', 'e', 'p'),
  ('d', 'i', 's', 't', 'o', 'p', 'e'),
  ('d', 'i', 't', 'e', 'p', 'o', 's'),
  ('d', 'i', 't', 'e', 'p', 's', 'o'),
  ('d', 'i', 't', 'e', 'o', 'p', 's'),
  ('d', 'i', 't', 'e', 'o', 's', 'p'),
  ('d', 'i', 't', 'e', 's', 'p', 'o'),
  ('d', 'i', 't', 'e', 's', 'o', 'p'),
  ('d', 'i', 't', 'p', 'e', 'o', 's'),
  ('d', 'i', 't', 'p', 'e', 's', 'o'),
  ('d', 'i', 't', 'p', 'o', 'e', 's'),
  ('d', 'i', 't', 'p', 'o', 's', 'e'),
  ('d', 'i', 't', 'p', 's', 'e', 'o'),
  ('d', 'i', 't', 'p', 's', 'o', 'e'),
  ('d', 'i', 't', 'o', 'e', 'p', 's'),
  ('d', 'i', 't', 'o', 'e', 's', 'p'),
  ('d', 'i', 't', 'o', 'p', 'e', 's'),
  ('d', 'i', 't', 'o', 'p', 's', 'e'),
  ('d', 'i', 't', 'o', 's', 'e', 'p'),
  ('d', 'i', 't', 'o', 's', 'p', 'e'),
  ('d', 'i', 't', 's', 'e', 'p', 'o'),
  ('d', 'i', 't', 's', 'e', 'o', 'p'),
  ('d', 'i', 't', 's', 'p', 'e', 'o'),
  ('d', 'i', 't', 's', 'p', 'o', 'e'),
  ('d', 'i', 't', 's', 'o', 'e', 'p'),
  ('d', 'i', 't', 's', 'o', 'p', 'e'),
  ('d', 't', 'e', 'p', 'o', 's', 'i'),
  ('d', 't', 'e', 'p', 'o', 'i', 's'),
  ('d', 't', 'e', 'p', 's', 'o', 'i'),
  ('d', 't', 'e', 'p', 's', 'i', 'o'),
  ('d', 't', 'e', 'p', 'i', 'o', 's'),
  ('d', 't', 'e', 'p', 'i', 's', 'o'),
  ('d', 't', 'e', 'o', 'p', 's', 'i'),
  ('d', 't', 'e', 'o', 'p', 'i', 's'),
  ('d', 't', 'e', 'o', 's', 'p', 'i'),
  ('d', 't', 'e', 'o', 's', 'i', 'p'),
  ('d', 't', 'e', 'o', 'i', 'p', 's'),
  ('d', 't', 'e', 'o', 'i', 's', 'p'),
  ('d', 't', 'e', 's', 'p', 'o', 'i'),
  ('d', 't', 'e', 's', 'p', 'i', 'o'),
  ('d', 't', 'e', 's', 'o', 'p', 'i'),
  ('d', 't', 'e', 's', 'o', 'i', 'p'),
  ('d', 't', 'e', 's', 'i', 'p', 'o'),
  ('d', 't', 'e', 's', 'i', 'o', 'p'),
  ('d', 't', 'e', 'i', 'p', 'o', 's'),
  ('d', 't', 'e', 'i', 'p', 's', 'o'),
  ('d', 't', 'e', 'i', 'o', 'p', 's'),
  ('d', 't', 'e', 'i', 'o', 's', 'p'),
  ('d', 't', 'e', 'i', 's', 'p', 'o'),
  ('d', 't', 'e', 'i', 's', 'o', 'p'),
  ('d', 't', 'p', 'e', 'o', 's', 'i'),
  ('d', 't', 'p', 'e', 'o', 'i', 's'),
  ('d', 't', 'p', 'e', 's', 'o', 'i'),
  ('d', 't', 'p', 'e', 's', 'i', 'o'),
  ('d', 't', 'p', 'e', 'i', 'o', 's'),
  ('d', 't', 'p', 'e', 'i', 's', 'o'),
  ('d', 't', 'p', 'o', 'e', 's', 'i'),
  ('d', 't', 'p', 'o', 'e', 'i', 's'),
  ('d', 't', 'p', 'o', 's', 'e', 'i'),
  ('d', 't', 'p', 'o', 's', 'i', 'e'),
  ('d', 't', 'p', 'o', 'i', 'e', 's'),
  ('d', 't', 'p', 'o', 'i', 's', 'e'),
  ('d', 't', 'p', 's', 'e', 'o', 'i'),
  ('d', 't', 'p', 's', 'e', 'i', 'o'),
  ('d', 't', 'p', 's', 'o', 'e', 'i'),
  ('d', 't', 'p', 's', 'o', 'i', 'e'),
  ('d', 't', 'p', 's', 'i', 'e', 'o'),
  ('d', 't', 'p', 's', 'i', 'o', 'e'),
  ('d', 't', 'p', 'i', 'e', 'o', 's'),
  ('d', 't', 'p', 'i', 'e', 's', 'o'),
  ('d', 't', 'p', 'i', 'o', 'e', 's'),
  ('d', 't', 'p', 'i', 'o', 's', 'e'),
  ('d', 't', 'p', 'i', 's', 'e', 'o'),
  ('d', 't', 'p', 'i', 's', 'o', 'e'),
  ('d', 't', 'o', 'e', 'p', 's', 'i'),
  ('d', 't', 'o', 'e', 'p', 'i', 's'),
  ('d', 't', 'o', 'e', 's', 'p', 'i'),
  ('d', 't', 'o', 'e', 's', 'i', 'p'),
  ('d', 't', 'o', 'e', 'i', 'p', 's'),
  ('d', 't', 'o', 'e', 'i', 's', 'p'),
  ('d', 't', 'o', 'p', 'e', 's', 'i'),
  ('d', 't', 'o', 'p', 'e', 'i', 's'),
  ('d', 't', 'o', 'p', 's', 'e', 'i'),
  ('d', 't', 'o', 'p', 's', 'i', 'e'),
  ('d', 't', 'o', 'p', 'i', 'e', 's'),
  ('d', 't', 'o', 'p', 'i', 's', 'e'),
  ('d', 't', 'o', 's', 'e', 'p', 'i'),
  ('d', 't', 'o', 's', 'e', 'i', 'p'),
  ('d', 't', 'o', 's', 'p', 'e', 'i'),
  ('d', 't', 'o', 's', 'p', 'i', 'e'),
  ('d', 't', 'o', 's', 'i', 'e', 'p'),
  ('d', 't', 'o', 's', 'i', 'p', 'e'),
  ('d', 't', 'o', 'i', 'e', 'p', 's'),
  ('d', 't', 'o', 'i', 'e', 's', 'p'),
  ('d', 't', 'o', 'i', 'p', 'e', 's'),
  ('d', 't', 'o', 'i', 'p', 's', 'e'),
  ('d', 't', 'o', 'i', 's', 'e', 'p'),
  ('d', 't', 'o', 'i', 's', 'p', 'e'),
  ('d', 't', 's', 'e', 'p', 'o', 'i'),
  ('d', 't', 's', 'e', 'p', 'i', 'o'),
  ('d', 't', 's', 'e', 'o', 'p', 'i'),
  ('d', 't', 's', 'e', 'o', 'i', 'p'),
  ('d', 't', 's', 'e', 'i', 'p', 'o'),
  ('d', 't', 's', 'e', 'i', 'o', 'p'),
  ('d', 't', 's', 'p', 'e', 'o', 'i'),
  ('d', 't', 's', 'p', 'e', 'i', 'o'),
  ('d', 't', 's', 'p', 'o', 'e', 'i'),
  ('d', 't', 's', 'p', 'o', 'i', 'e'),
  ('d', 't', 's', 'p', 'i', 'e', 'o'),
  ('d', 't', 's', 'p', 'i', 'o', 'e'),
  ('d', 't', 's', 'o', 'e', 'p', 'i'),
  ('d', 't', 's', 'o', 'e', 'i', 'p'),
  ('d', 't', 's', 'o', 'p', 'e', 'i'),
  ('d', 't', 's', 'o', 'p', 'i', 'e'),
  ('d', 't', 's', 'o', 'i', 'e', 'p'),
  ('d', 't', 's', 'o', 'i', 'p', 'e'),
  ('d', 't', 's', 'i', 'e', 'p', 'o'),
  ('d', 't', 's', 'i', 'e', 'o', 'p'),
  ('d', 't', 's', 'i', 'p', 'e', 'o'),
  ('d', 't', 's', 'i', 'p', 'o', 'e'),
  ('d', 't', 's', 'i', 'o', 'e', 'p'),
  ('d', 't', 's', 'i', 'o', 'p', 'e'),
  ('d', 't', 'i', 'e', 'p', 'o', 's'),
  ('d', 't', 'i', 'e', 'p', 's', 'o'),
  ('d', 't', 'i', 'e', 'o', 'p', 's'),
  ('d', 't', 'i', 'e', 'o', 's', 'p'),
  ('d', 't', 'i', 'e', 's', 'p', 'o'),
  ('d', 't', 'i', 'e', 's', 'o', 'p'),
  ('d', 't', 'i', 'p', 'e', 'o', 's'),
  ('d', 't', 'i', 'p', 'e', 's', 'o'),
  ('d', 't', 'i', 'p', 'o', 'e', 's'),
  ('d', 't', 'i', 'p', 'o', 's', 'e'),
  ('d', 't', 'i', 'p', 's', 'e', 'o'),
  ('d', 't', 'i', 'p', 's', 'o', 'e'),
  ('d', 't', 'i', 'o', 'e', 'p', 's'),
  ('d', 't', 'i', 'o', 'e', 's', 'p'),
  ('d', 't', 'i', 'o', 'p', 'e', 's'),
  ('d', 't', 'i', 'o', 'p', 's', 'e'),
  ('d', 't', 'i', 'o', 's', 'e', 'p'),
  ('d', 't', 'i', 'o', 's', 'p', 'e'),
  ('d', 't', 'i', 's', 'e', 'p', 'o'),
  ('d', 't', 'i', 's', 'e', 'o', 'p'),
  ('d', 't', 'i', 's', 'p', 'e', 'o'),
  ('d', 't', 'i', 's', 'p', 'o', 'e'),
  ('d', 't', 'i', 's', 'o', 'e', 'p'),
  ('d', 't', 'i', 's', 'o', 'p', 'e'),
  ('e', 'd', 'p', 'o', 's', 'i', 't'),
  ('e', 'd', 'p', 'o', 's', 't', 'i'),
  ('e', 'd', 'p', 'o', 'i', 's', 't'),
  ('e', 'd', 'p', 'o', 'i', 't', 's'),
  ('e', 'd', 'p', 'o', 't', 's', 'i'),
  ('e', 'd', 'p', 'o', 't', 'i', 's'),
  ('e', 'd', 'p', 's', 'o', 'i', 't'),
  ('e', 'd', 'p', 's', 'o', 't', 'i'),
  ('e', 'd', 'p', 's', 'i', 'o', 't'),
  ('e', 'd', 'p', 's', 'i', 't', 'o'),
  ('e', 'd', 'p', 's', 't', 'o', 'i'),
  ('e', 'd', 'p', 's', 't', 'i', 'o'),
  ('e', 'd', 'p', 'i', 'o', 's', 't'),
  ('e', 'd', 'p', 'i', 'o', 't', 's'),
  ('e', 'd', 'p', 'i', 's', 'o', 't'),
  ('e', 'd', 'p', 'i', 's', 't', 'o'),
  ('e', 'd', 'p', 'i', 't', 'o', 's'),
  ('e', 'd', 'p', 'i', 't', 's', 'o'),
  ('e', 'd', 'p', 't', 'o', 's', 'i'),
  ('e', 'd', 'p', 't', 'o', 'i', 's'),
  ('e', 'd', 'p', 't', 's', 'o', 'i'),
  ('e', 'd', 'p', 't', 's', 'i', 'o'),
  ('e', 'd', 'p', 't', 'i', 'o', 's'),
  ('e', 'd', 'p', 't', 'i', 's', 'o'),
  ('e', 'd', 'o', 'p', 's', 'i', 't'),
  ('e', 'd', 'o', 'p', 's', 't', 'i'),
  ('e', 'd', 'o', 'p', 'i', 's', 't'),
  ('e', 'd', 'o', 'p', 'i', 't', 's'),
  ('e', 'd', 'o', 'p', 't', 's', 'i'),
  ('e', 'd', 'o', 'p', 't', 'i', 's'),
  ('e', 'd', 'o', 's', 'p', 'i', 't'),
  ('e', 'd', 'o', 's', 'p', 't', 'i'),
  ('e', 'd', 'o', 's', 'i', 'p', 't'),
  ('e', 'd', 'o', 's', 'i', 't', 'p'),
  ('e', 'd', 'o', 's', 't', 'p', 'i'),
  ('e', 'd', 'o', 's', 't', 'i', 'p'),
  ('e', 'd', 'o', 'i', 'p', 's', 't'),
  ('e', 'd', 'o', 'i', 'p', 't', 's'),
  ('e', 'd', 'o', 'i', 's', 'p', 't'),
  ('e', 'd', 'o', 'i', 's', 't', 'p'),
  ('e', 'd', 'o', 'i', 't', 'p', 's'),
  ('e', 'd', 'o', 'i', 't', 's', 'p'),
  ('e', 'd', 'o', 't', 'p', 's', 'i'),
  ('e', 'd', 'o', 't', 'p', 'i', 's'),
  ('e', 'd', 'o', 't', 's', 'p', 'i'),
  ('e', 'd', 'o', 't', 's', 'i', 'p'),
  ('e', 'd', 'o', 't', 'i', 'p', 's'),
  ('e', 'd', 'o', 't', 'i', 's', 'p'),
  ('e', 'd', 's', 'p', 'o', 'i', 't'),
  ('e', 'd', 's', 'p', 'o', 't', 'i'),
  ('e', 'd', 's', 'p', 'i', 'o', 't'),
  ('e', 'd', 's', 'p', 'i', 't', 'o'),
  ('e', 'd', 's', 'p', 't', 'o', 'i'),
  ('e', 'd', 's', 'p', 't', 'i', 'o'),
  ('e', 'd', 's', 'o', 'p', 'i', 't'),
  ('e', 'd', 's', 'o', 'p', 't', 'i'),
  ('e', 'd', 's', 'o', 'i', 'p', 't'),
  ('e', 'd', 's', 'o', 'i', 't', 'p'),
  ('e', 'd', 's', 'o', 't', 'p', 'i'),
  ('e', 'd', 's', 'o', 't', 'i', 'p'),
  ('e', 'd', 's', 'i', 'p', 'o', 't'),
  ('e', 'd', 's', 'i', 'p', 't', 'o'),
  ('e', 'd', 's', 'i', 'o', 'p', 't'),
  ('e', 'd', 's', 'i', 'o', 't', 'p'),
  ('e', 'd', 's', 'i', 't', 'p', 'o'),
  ('e', 'd', 's', 'i', 't', 'o', 'p'),
  ('e', 'd', 's', 't', 'p', 'o', 'i'),
  ('e', 'd', 's', 't', 'p', 'i', 'o'),
  ('e', 'd', 's', 't', 'o', 'p', 'i'),
  ('e', 'd', 's', 't', 'o', 'i', 'p'),
  ('e', 'd', 's', 't', 'i', 'p', 'o'),
  ('e', 'd', 's', 't', 'i', 'o', 'p'),
  ('e', 'd', 'i', 'p', 'o', 's', 't'),
  ('e', 'd', 'i', 'p', 'o', 't', 's'),
  ('e', 'd', 'i', 'p', 's', 'o', 't'),
  ('e', 'd', 'i', 'p', 's', 't', 'o'),
  ('e', 'd', 'i', 'p', 't', 'o', 's'),
  ('e', 'd', 'i', 'p', 't', 's', 'o'),
  ('e', 'd', 'i', 'o', 'p', 's', 't'),
  ('e', 'd', 'i', 'o', 'p', 't', 's'),
  ('e', 'd', 'i', 'o', 's', 'p', 't'),
  ('e', 'd', 'i', 'o', 's', 't', 'p'),
  ('e', 'd', 'i', 'o', 't', 'p', 's'),
  ('e', 'd', 'i', 'o', 't', 's', 'p'),
  ('e', 'd', 'i', 's', 'p', 'o', 't'),
  ('e', 'd', 'i', 's', 'p', 't', 'o'),
  ('e', 'd', 'i', 's', 'o', 'p', 't'),
  ('e', 'd', 'i', 's', 'o', 't', 'p'),
  ('e', 'd', 'i', 's', 't', 'p', 'o'),
  ('e', 'd', 'i', 's', 't', 'o', 'p'),
  ('e', 'd', 'i', 't', 'p', 'o', 's'),
  ('e', 'd', 'i', 't', 'p', 's', 'o'),
  ('e', 'd', 'i', 't', 'o', 'p', 's'),
  ('e', 'd', 'i', 't', 'o', 's', 'p'),
  ('e', 'd', 'i', 't', 's', 'p', 'o'),
  ('e', 'd', 'i', 't', 's', 'o', 'p'),
  ('e', 'd', 't', 'p', 'o', 's', 'i'),
  ('e', 'd', 't', 'p', 'o', 'i', 's'),
  ('e', 'd', 't', 'p', 's', 'o', 'i'),
  ('e', 'd', 't', 'p', 's', 'i', 'o'),
  ('e', 'd', 't', 'p', 'i', 'o', 's'),
  ('e', 'd', 't', 'p', 'i', 's', 'o'),
  ('e', 'd', 't', 'o', 'p', 's', 'i'),
  ('e', 'd', 't', 'o', 'p', 'i', 's'),
  ('e', 'd', 't', 'o', 's', 'p', 'i'),
  ('e', 'd', 't', 'o', 's', 'i', 'p'),
  ('e', 'd', 't', 'o', 'i', 'p', 's'),
  ('e', 'd', 't', 'o', 'i', 's', 'p'),
  ('e', 'd', 't', 's', 'p', 'o', 'i'),
  ('e', 'd', 't', 's', 'p', 'i', 'o'),
  ('e', 'd', 't', 's', 'o', 'p', 'i'),
  ('e', 'd', 't', 's', 'o', 'i', 'p'),
  ('e', 'd', 't', 's', 'i', 'p', 'o'),
  ('e', 'd', 't', 's', 'i', 'o', 'p'),
  ('e', 'd', 't', 'i', 'p', 'o', 's'),
  ('e', 'd', 't', 'i', 'p', 's', 'o'),
  ('e', 'd', 't', 'i', 'o', 'p', 's'),
  ('e', 'd', 't', 'i', 'o', 's', 'p'),
  ('e', 'd', 't', 'i', 's', 'p', 'o'),
  ('e', 'd', 't', 'i', 's', 'o', 'p'),
  ('e', 'p', 'd', 'o', 's', 'i', 't'),
  ('e', 'p', 'd', 'o', 's', 't', 'i'),
  ('e', 'p', 'd', 'o', 'i', 's', 't'),
  ('e', 'p', 'd', 'o', 'i', 't', 's'),
  ('e', 'p', 'd', 'o', 't', 's', 'i'),
  ('e', 'p', 'd', 'o', 't', 'i', 's'),
  ('e', 'p', 'd', 's', 'o', 'i', 't'),
  ('e', 'p', 'd', 's', 'o', 't', 'i'),
  ('e', 'p', 'd', 's', 'i', 'o', 't'),
  ('e', 'p', 'd', 's', 'i', 't', 'o'),
  ('e', 'p', 'd', 's', 't', 'o', 'i'),
  ('e', 'p', 'd', 's', 't', 'i', 'o'),
  ('e', 'p', 'd', 'i', 'o', 's', 't'),
  ('e', 'p', 'd', 'i', 'o', 't', 's'),
  ('e', 'p', 'd', 'i', 's', 'o', 't'),
  ('e', 'p', 'd', 'i', 's', 't', 'o'),
  ('e', 'p', 'd', 'i', 't', 'o', 's'),
  ('e', 'p', 'd', 'i', 't', 's', 'o'),
  ('e', 'p', 'd', 't', 'o', 's', 'i'),
  ('e', 'p', 'd', 't', 'o', 'i', 's'),
  ('e', 'p', 'd', 't', 's', 'o', 'i'),
  ('e', 'p', 'd', 't', 's', 'i', 'o'),
  ('e', 'p', 'd', 't', 'i', 'o', 's'),
  ('e', 'p', 'd', 't', 'i', 's', 'o'),
  ('e', 'p', 'o', 'd', 's', 'i', 't'),
  ('e', 'p', 'o', 'd', 's', 't', 'i'),
  ('e', 'p', 'o', 'd', 'i', 's', 't'),
  ('e', 'p', 'o', 'd', 'i', 't', 's'),
  ('e', 'p', 'o', 'd', 't', 's', 'i'),
  ('e', 'p', 'o', 'd', 't', 'i', 's'),
  ('e', 'p', 'o', 's', 'd', 'i', 't'),
  ('e', 'p', 'o', 's', 'd', 't', 'i'),
  ('e', 'p', 'o', 's', 'i', 'd', 't'),
  ('e', 'p', 'o', 's', 'i', 't', 'd'),
  ('e', 'p', 'o', 's', 't', 'd', 'i'),
  ('e', 'p', 'o', 's', 't', 'i', 'd'),
  ('e', 'p', 'o', 'i', 'd', 's', 't'),
  ('e', 'p', 'o', 'i', 'd', 't', 's'),
  ('e', 'p', 'o', 'i', 's', 'd', 't'),
  ('e', 'p', 'o', 'i', 's', 't', 'd'),
  ('e', 'p', 'o', 'i', 't', 'd', 's'),
  ('e', 'p', 'o', 'i', 't', 's', 'd'),
  ('e', 'p', 'o', 't', 'd', 's', 'i'),
  ('e', 'p', 'o', 't', 'd', 'i', 's'),
  ('e', 'p', 'o', 't', 's', 'd', 'i'),
  ('e', 'p', 'o', 't', 's', 'i', 'd'),
  ('e', 'p', 'o', 't', 'i', 'd', 's'),
  ('e', 'p', 'o', 't', 'i', 's', 'd'),
  ('e', 'p', 's', 'd', 'o', 'i', 't'),
  ('e', 'p', 's', 'd', 'o', 't', 'i'),
  ('e', 'p', 's', 'd', 'i', 'o', 't'),
  ('e', 'p', 's', 'd', 'i', 't', 'o'),
  ('e', 'p', 's', 'd', 't', 'o', 'i'),
  ('e', 'p', 's', 'd', 't', 'i', 'o'),
  ('e', 'p', 's', 'o', 'd', 'i', 't'),
  ('e', 'p', 's', 'o', 'd', 't', 'i'),
  ('e', 'p', 's', 'o', 'i', 'd', 't'),
  ('e', 'p', 's', 'o', 'i', 't', 'd'),
  ('e', 'p', 's', 'o', 't', 'd', 'i'),
  ('e', 'p', 's', 'o', 't', 'i', 'd'),
  ('e', 'p', 's', 'i', 'd', 'o', 't'),
  ('e', 'p', 's', 'i', 'd', 't', 'o'),
  ('e', 'p', 's', 'i', 'o', 'd', 't'),
  ('e', 'p', 's', 'i', 'o', 't', 'd'),
  ('e', 'p', 's', 'i', 't', 'd', 'o'),
  ('e', 'p', 's', 'i', 't', 'o', 'd'),
  ('e', 'p', 's', 't', 'd', 'o', 'i'),
  ('e', 'p', 's', 't', 'd', 'i', 'o'),
  ('e', 'p', 's', 't', 'o', 'd', 'i'),
  ('e', 'p', 's', 't', 'o', 'i', 'd'),
  ('e', 'p', 's', 't', 'i', 'd', 'o'),
  ('e', 'p', 's', 't', 'i', 'o', 'd'),
  ('e', 'p', 'i', 'd', 'o', 's', 't'),
  ('e', 'p', 'i', 'd', 'o', 't', 's'),
  ('e', 'p', 'i', 'd', 's', 'o', 't'),
  ('e', 'p', 'i', 'd', 's', 't', 'o'),
  ('e', 'p', 'i', 'd', 't', 'o', 's'),
  ('e', 'p', 'i', 'd', 't', 's', 'o'),
  ('e', 'p', 'i', 'o', 'd', 's', 't'),
  ('e', 'p', 'i', 'o', 'd', 't', 's'),
  ('e', 'p', 'i', 'o', 's', 'd', 't'),
  ('e', 'p', 'i', 'o', 's', 't', 'd'),
  ('e', 'p', 'i', 'o', 't', 'd', 's'),
  ('e', 'p', 'i', 'o', 't', 's', 'd'),
  ('e', 'p', 'i', 's', 'd', 'o', 't'),
  ('e', 'p', 'i', 's', 'd', 't', 'o'),
  ('e', 'p', 'i', 's', 'o', 'd', 't'),
  ('e', 'p', 'i', 's', 'o', 't', 'd'),
  ('e', 'p', 'i', 's', 't', 'd', 'o'),
  ('e', 'p', 'i', 's', 't', 'o', 'd'),
  ('e', 'p', 'i', 't', 'd', 'o', 's'),
  ('e', 'p', 'i', 't', 'd', 's', 'o'),
  ('e', 'p', 'i', 't', 'o', 'd', 's'),
  ('e', 'p', 'i', 't', 'o', 's', 'd'),
  ('e', 'p', 'i', 't', 's', 'd', 'o'),
  ('e', 'p', 'i', 't', 's', 'o', 'd'),
  ('e', 'p', 't', 'd', 'o', 's', 'i'),
  ('e', 'p', 't', 'd', 'o', 'i', 's'),
  ('e', 'p', 't', 'd', 's', 'o', 'i'),
  ('e', 'p', 't', 'd', 's', 'i', 'o'),
  ('e', 'p', 't', 'd', 'i', 'o', 's'),
  ('e', 'p', 't', 'd', 'i', 's', 'o'),
  ('e', 'p', 't', 'o', 'd', 's', 'i'),
  ('e', 'p', 't', 'o', 'd', 'i', 's'),
  ('e', 'p', 't', 'o', 's', 'd', 'i'),
  ('e', 'p', 't', 'o', 's', 'i', 'd'),
  ('e', 'p', 't', 'o', 'i', 'd', 's'),
  ('e', 'p', 't', 'o', 'i', 's', 'd'),
  ('e', 'p', 't', 's', 'd', 'o', 'i'),
  ('e', 'p', 't', 's', 'd', 'i', 'o'),
  ('e', 'p', 't', 's', 'o', 'd', 'i'),
  ('e', 'p', 't', 's', 'o', 'i', 'd'),
  ('e', 'p', 't', 's', 'i', 'd', 'o'),
  ('e', 'p', 't', 's', 'i', 'o', 'd'),
  ('e', 'p', 't', 'i', 'd', 'o', 's'),
  ('e', 'p', 't', 'i', 'd', 's', 'o'),
  ('e', 'p', 't', 'i', 'o', 'd', 's'),
  ('e', 'p', 't', 'i', 'o', 's', 'd'),
  ('e', 'p', 't', 'i', 's', 'd', 'o'),
  ('e', 'p', 't', 'i', 's', 'o', 'd'),
  ('e', 'o', 'd', 'p', 's', 'i', 't'),
  ('e', 'o', 'd', 'p', 's', 't', 'i'),
  ('e', 'o', 'd', 'p', 'i', 's', 't'),
  ('e', 'o', 'd', 'p', 'i', 't', 's'),
  ('e', 'o', 'd', 'p', 't', 's', 'i'),
  ('e', 'o', 'd', 'p', 't', 'i', 's'),
  ('e', 'o', 'd', 's', 'p', 'i', 't'),
  ('e', 'o', 'd', 's', 'p', 't', 'i'),
  ('e', 'o', 'd', 's', 'i', 'p', 't'),
  ('e', 'o', 'd', 's', 'i', 't', 'p'),
  ('e', 'o', 'd', 's', 't', 'p', 'i'),
  ('e', 'o', 'd', 's', 't', 'i', 'p'),
  ('e', 'o', 'd', 'i', 'p', 's', 't'),
  ('e', 'o', 'd', 'i', 'p', 't', 's'),
  ('e', 'o', 'd', 'i', 's', 'p', 't'),
  ('e', 'o', 'd', 'i', 's', 't', 'p'),
  ('e', 'o', 'd', 'i', 't', 'p', 's'),
  ('e', 'o', 'd', 'i', 't', 's', 'p'),
  ('e', 'o', 'd', 't', 'p', 's', 'i'),
  ('e', 'o', 'd', 't', 'p', 'i', 's'),
  ('e', 'o', 'd', 't', 's', 'p', 'i'),
  ('e', 'o', 'd', 't', 's', 'i', 'p'),
  ('e', 'o', 'd', 't', 'i', 'p', 's'),
  ('e', 'o', 'd', 't', 'i', 's', 'p'),
  ('e', 'o', 'p', 'd', 's', 'i', 't'),
  ('e', 'o', 'p', 'd', 's', 't', 'i'),
  ('e', 'o', 'p', 'd', 'i', 's', 't'),
  ('e', 'o', 'p', 'd', 'i', 't', 's'),
  ('e', 'o', 'p', 'd', 't', 's', 'i'),
  ('e', 'o', 'p', 'd', 't', 'i', 's'),
  ('e', 'o', 'p', 's', 'd', 'i', 't'),
  ('e', 'o', 'p', 's', 'd', 't', 'i'),
  ('e', 'o', 'p', 's', 'i', 'd', 't'),
  ('e', 'o', 'p', 's', 'i', 't', 'd'),
  ('e', 'o', 'p', 's', 't', 'd', 'i'),
  ('e', 'o', 'p', 's', 't', 'i', 'd'),
  ('e', 'o', 'p', 'i', 'd', 's', 't'),
  ('e', 'o', 'p', 'i', 'd', 't', 's'),
  ('e', 'o', 'p', 'i', 's', 'd', 't'),
  ('e', 'o', 'p', 'i', 's', 't', 'd'),
  ...],
 '_125': [('d', 'e', 'p', 'o'),
  ('d', 'e', 'o', 'p'),
  ('d', 'p', 'e', 'o'),
  ('d', 'p', 'o', 'e'),
  ('d', 'o', 'e', 'p'),
  ('d', 'o', 'p', 'e'),
  ('e', 'd', 'p', 'o'),
  ('e', 'd', 'o', 'p'),
  ('e', 'p', 'd', 'o'),
  ('e', 'p', 'o', 'd'),
  ('e', 'o', 'd', 'p'),
  ('e', 'o', 'p', 'd'),
  ('p', 'd', 'e', 'o'),
  ('p', 'd', 'o', 'e'),
  ('p', 'e', 'd', 'o'),
  ('p', 'e', 'o', 'd'),
  ('p', 'o', 'd', 'e'),
  ('p', 'o', 'e', 'd'),
  ('o', 'd', 'e', 'p'),
  ('o', 'd', 'p', 'e'),
  ('o', 'e', 'd', 'p'),
  ('o', 'e', 'p', 'd'),
  ('o', 'p', 'd', 'e'),
  ('o', 'p', 'e', 'd')],
 '_129': [1, 2, 3],
 '_141': {...},
 '_2': "The Zen of Python, by Tim Peters\n\nBeautiful is better than ugly.\nExplicit is better than implicit.\nSimple is better than complex.\nComplex is better than complicated.\nFlat is better than nested.\nSparse is better than dense.\nReadability counts.\nSpecial cases aren't special enough to break the rules.\nAlthough practicality beats purity.\nErrors should never pass silently.\nUnless explicitly silenced.\nIn the face of ambiguity, refuse the temptation to guess.\nThere should be one-- and preferably only one --obvious way to do it.\nAlthough that way may not be obvious at first unless you're Dutch.\nNow is better than never.\nAlthough never is often better than *right* now.\nIf the implementation is hard to explain, it's a bad idea.\nIf the implementation is easy to explain, it may be a good idea.\nNamespaces are one honking great idea -- let's do more of those!",
 '_27': ['.ipynb_checkpoints',
  'wc.py',
  'push',
  'day1.ipynb',
  'head.py',
  'module.py',
  'day2.ipynb',
  'day2.html',
  'add1.py',
  '.cache',
  'day3.ipynb',
  'add2.py',
  'functions.py',
  'data.txt',
  'test.txt',
  'module1.py',
  'day3.html',
  'Makefile',
  '__pycache__',
  'add.py',
  'cat.py',
  'day1.html',
  'ls.py'],
 '_3': '',
 '_30': ['wc.py',
  'push',
  'day1.ipynb',
  'head.py',
  'module.py',
  'day2.ipynb',
  'day2.html',
  'add1.py',
  'day3.ipynb',
  'add2.py',
  'functions.py',
  'data.txt',
  'test.txt',
  'module1.py',
  'day3.html',
  'Makefile',
  'add.py',
  'cat.py',
  'day1.html',
  'ls.py'],
 '_31': 'day1.html',
 '_33': 'day1.html',
 '_34': 'day1.html',
 '_38': 5,
 '_43': b'hello,3xa23',
 '_45': b'Hello world',
 '_47': b'Hello world',
 '_48': b'Hello world',
 '_49': bytes,
 '_5': 'The Zen of Python, by Tim Peters\n',
 '_50': 'Hello world',
 '_53': 'Hello world',
 '_59': ['A1',
  'B1',
  'C1',
  'A2',
  'B2',
  'C2',
  'A3',
  'B3',
  'C3',
  'A4',
  'B4',
  'C4'],
 '_6': '\n',
 '_61': [['A1', 'B1', 'C1'],
  ['A2', 'B2', 'C2'],
  ['A3', 'B3', 'C3'],
  ['A4', 'B4', 'C4']],
 '_70': 'Lewis carrol',
 '_72': 'booker',
 '_73': {'author': 'Lewis carrol',
  'books': ['Alice in wonderland', 'Lokking through the glass']},
 '_75': {'author': 'Lewis carrol',
  'books': ['Alice in wonderland', 'Lokking through the glass']},
 '_76': {1: 'one', 2: 'two', 3: 'three'},
 '_78': {'Eraser': 5, 'Pen': 10, 'Pencil': 12},
 '_8': ['Beautiful is better than ugly.\n',
  'Explicit is better than implicit.\n',
  'Simple is better than complex.\n',
  'Complex is better than complicated.\n',
  'Flat is better than nested.\n',
  'Sparse is better than dense.\n',
  'Readability counts.\n',
  "Special cases aren't special enough to break the rules.\n",
  'Although practicality beats purity.\n',
  'Errors should never pass silently.\n',
  'Unless explicitly silenced.\n',
  'In the face of ambiguity, refuse the temptation to guess.\n',
  'There should be one-- and preferably only one --obvious way to do it.\n',
  "Although that way may not be obvious at first unless you're Dutch.\n",
  'Now is better than never.\n',
  'Although never is often better than *right* now.\n',
  "If the implementation is hard to explain, it's a bad idea.\n",
  'If the implementation is easy to explain, it may be a good idea.\n',
  "Namespaces are one honking great idea -- let's do more of those!"],
 '_87': True,
 '_89': {'eight': 1,
  'five': 2,
  'four': 3,
  'one': 8,
  'seven': 1,
  'six': 3,
  'three': 6,
  'two': 7},
 '_91': {'eight': 1,
  'five': 2,
  'four': 3,
  'one': 8,
  'seven': 1,
  'six': 3,
  'three': 6,
  'two': 7},
 '_95': {'eight': 1,
  'five': 2,
  'four': 3,
  'one': 8,
  'seven': 1,
  'six': 3,
  'three': 6,
  'two': 7},
 '_97': {'eight': 1,
  'five': 2,
  'four': 3,
  'one': 8,
  'seven': 1,
  'six': 3,
  'three': 6,
  'two': 7},
 '__': [1, 2, 3],
 '___': [('d', 'e', 'p', 'o'),
  ('d', 'e', 'o', 'p'),
  ('d', 'p', 'e', 'o'),
  ('d', 'p', 'o', 'e'),
  ('d', 'o', 'e', 'p'),
  ('d', 'o', 'p', 'e'),
  ('e', 'd', 'p', 'o'),
  ('e', 'd', 'o', 'p'),
  ('e', 'p', 'd', 'o'),
  ('e', 'p', 'o', 'd'),
  ('e', 'o', 'd', 'p'),
  ('e', 'o', 'p', 'd'),
  ('p', 'd', 'e', 'o'),
  ('p', 'd', 'o', 'e'),
  ('p', 'e', 'd', 'o'),
  ('p', 'e', 'o', 'd'),
  ('p', 'o', 'd', 'e'),
  ('p', 'o', 'e', 'd'),
  ('o', 'd', 'e', 'p'),
  ('o', 'd', 'p', 'e'),
  ('o', 'e', 'd', 'p'),
  ('o', 'e', 'p', 'd'),
  ('o', 'p', 'd', 'e'),
  ('o', 'p', 'e', 'd')],
 '__builtin__': <module 'builtins' (built-in)>,
 '__builtins__': <module 'builtins' (built-in)>,
 '__doc__': 'Automatically created module for IPython interactive environment',
 '__loader__': None,
 '__name__': '__main__',
 '__package__': None,
 '__spec__': None,
 '_dh': ['/home/vikrant/trainings/2018/vmware-feb-python'],
 '_exit_code': 0,
 '_i': 'local',
 '_i1': 'f = open("data.txt")',
 '_i10': 'a = 3',
 '_i100': 'for w,f in sorted(freq.items()):\n    print(w.ljust(5), f)',
 '_i101': 'for w,f in sorted(freq.items(), key=lambda item:item[1]):\n    print(w.ljust(5), f)',
 '_i102': 'for w,f in sorted(freq.items(), key=lambda item:item[1], reverse=True):\n    print(w.ljust(5), f)',
 '_i103': 'for w,f in sorted(freq.items(), key=lambda item:item[1], reverse=True):\n    print(w.ljust(5), f,"*"*f)',
 '_i104': 'teams = {"Anand":"India", "Noufal":"India", "David":"USA","Ken":"UK","Harry":"USA"}',
 '_i105': 'teams',
 '_i106': 'teams.values()',
 '_i107': 'teams.values()',
 '_i108': '[i[0] for i in teams.items() if i[1]=="India"]',
 '_i109': '[name for name,country in teams.items() if country=="USA"]',
 '_i11': 'a',
 '_i110': 'x = [1,1,1,1]\ny = x\ny.append(0)\nprint(x)',
 '_i111': 'x = [1,1,1,1]\ny = x[:]\ny.append(0)\nprint(x)',
 '_i112': 'x = [1,1,1,1]\ny = x\nx = [1,2,3]\nprint(y)',
 '_i113': '%%file light.py\non = True\ncolor = "Red"\n\ndef switchon():\n    global on\n    on = True\n    \ndef switchoff():\n    global on\n    on = False\n    \ndef getcolor():\n    return color\n    ',
 '_i114': 'import light',
 '_i115': 'light.color',
 '_i116': 'light.on',
 '_i117': 'light.getcolor()',
 '_i118': '%%file bank0.py\nbalance = 0\n\ndef getbalance():\n    return balance\n\ndef deposit(amount):\n    global balance\n    balance += amount\n    \ndef withdraw(amount):\n    global balance\n    balance -= amount',
 '_i119': '%%file bank1.py\n\ndef create_account():\n    return {"balance":0}\n\ndef getbalance(account):\n    return account[\'balance\']\n\ndef deposit(account, amount):\n    account["balance"] += amount\n    \ndef withdraw(account, amount):\n    account["balance"] -= amount',
 '_i12': 'print(a)',
 '_i120': '%%file bank1.py\n\ndef make_person(name, age, adharnum):\n    return {"name":name, "age":age, "adhar":adharnum}\n\ndef create_account(name, age, adhar):\n    person = make_person(name, age, adhar)\n    return {"balance":0,\n           "person":person}\n\ndef getbalance(account):\n    return account[\'balance\']\n\ndef deposit(account, amount):\n    account["balance"] += amount\n    \ndef withdraw(account, amount):\n    account["balance"] -= amount\n    \nif __name__ == "__main__":\n    a1 = ',
 '_i121': '%%file bank1.py\n\ndef make_person(name, age, adharnum):\n    def behavoir():\n        pass\n    return {"name":name, "age":age, "adhar":adharnum, \n            "behavior":behavoir}\n\ndef create_account(name, age, adhar):\n    person = make_person(name, age, adhar)\n    return {"balance":0,\n           "person":person}\n\ndef getbalance(account):\n    return account[\'balance\']\n\ndef deposit(account, amount):\n    account["balance"] += amount\n    \ndef withdraw(account, amount):\n    account["balance"] -= amount\n    \nif __name__ == "__main__":\n    a1 = create_account()',
 '_i122': 'import itertools',
 '_i123': 'itertools.permutations("deposit")',
 '_i124': 'list(itertools.permutations("deposit"))',
 '_i125': 'list(itertools.permutations("depo"))',
 '_i126': 'words = ["ant","and","dad","cat","left"]\nwith open("anagrams.txt", "w") as f:\n    for w in words:\n        for anagrm in set(itertools.permutations(w)):\n            f.write(anagrm + "\\n")\n    ',
 '_i127': 'words = ["ant","and","dad","cat","left"]\nwith open("anagrams.txt", "w") as f:\n    for w in words:\n        for anagrm in set(itertools.permutations(w)):\n            f.write("".join(anagrm) + "\\n")\n    ',
 '_i128': '!python cat.py anagrams.txt',
 '_i129': 'x',
 '_i13': '%%file cat.py\n\nimport sys\n\ndef cat(file):\n    print(open(file).read())\n    \nif __name__ == "__main__":\n    for file in sys.argv[1:]:\n        cat(file)',
 '_i130': 'del x',
 '_i131': 'x',
 '_i132': 'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n    \n    ',
 '_i133': 'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n    x = 1\n    ',
 '_i134': 'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n    x = 1\n    print(x)\n    ',
 '_i135': 'f(3)',
 '_i136': 'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n  ',
 '_i137': 'f(3)',
 '_i138': 'def f1(x):\n    x = 1',
 '_i139': 'x = [1,2,3]\ny = 4\nf1(y)\nprint(y)',
 '_i14': '!python cat.py *.py',
 '_i140': 'def f1(x):\n    global x\n    x = 1',
 '_i141': 'locals()',
 '_i142': 'local',
 '_i143': 'globals()',
 '_i15': '!python cat.py *.txt',
 '_i16': '%%file head.py\n\nimport sys\n\ndef head(file, n):\n    f = open(file)\n    \n    for i in range(n):\n        print(f.readline(), end="")\n        \nif __name__ == "__main__":\n    head(sys.argv[2], int(sys.argv[1]))',
 '_i17': '!python head.py 5 data.txt',
 '_i18': '%%file head.py\n\nimport sys\n\ndef head(file, n):\n    f = open(file)\n    \n    for i in range(n):\n        print(f.readline(), end="")\n        \nif __name__ == "__main__":\n    head(sys.argv[2], int(sys.argv[1]))',
 '_i19': '!python head.py 5 data.txt',
 '_i2': 'f.read()',
 '_i20': '%%file wc.py\nimport sys\n\ndef line_count(file):\n    return len(open(file).readlines())\n\ndef word_count(file):\n    contents = open(file).read()\n    words = contents.split()\n    return len(words)\n\ndef char_count(file):\n    return len(open(file).read())\n\n\nif __name__ == "__main__":\n    file = sys.argv[1]\n    print(line_count(file), word_count(file), char_count(file), file)',
 '_i21': '!python wc.py data.txt',
 '_i22': '!python wc.py data.txt',
 '_i23': 'import os',
 '_i24': 'files = os.listsdir()',
 '_i25': 'files = os.listsdir(os.getcwd())',
 '_i26': 'files = os.listdir(os.getcwd())',
 '_i27': 'files',
 '_i28': 'files = [f in files if os.path.isfile(f)]',
 '_i29': 'files = [f for f in files if os.path.isfile(f)]',
 '_i3': 'f.read()',
 '_i30': 'files',
 '_i31': 'max(files, key=os.path.getsize)',
 '_i32': 'import wc\nmax(files, key)',
 '_i33': 'import wc\nmax(files, key=wc.line_count)',
 '_i34': 'import wc\nmax(files, key=wc.char_count)',
 '_i35': 'f = open("numbers.txt","w")',
 '_i36': 'f.write("one\\n")\nf.write("two\\n")\nf.write("three\\n")\nf.write("four\\n")\nf.close()',
 '_i37': '!python cat.py numbers.txt',
 '_i38': 'f = open("numbers.txt", "a")\nf.write("five\\n")',
 '_i39': 'f.close()',
 '_i4': 'f = open("data.txt")',
 '_i40': '!python cat.py numbers.txt',
 '_i41': 'f = open("binary.bin""wb")\nf.write(b"hello")\nf.write(b"\\x2c3xa23")\nf.close()',
 '_i42': 'f = open("binary.bin","wb")\nf.write(b"hello")\nf.write(b"\\x2c3xa23")\nf.close()',
 '_i43': 'f = open("binary.bin","rb")\nf.read()',
 '_i44': 's = "Hello world"',
 '_i45': 's.encode()',
 '_i46': 'b = s.encode()',
 '_i47': 'b',
 '_i48': 'b',
 '_i49': 'type(b)',
 '_i5': 'f.readline()',
 '_i50': 'b.decode()',
 '_i51': 'b.decode("utf-08")',
 '_i52': 'help(b.decode)',
 '_i53': 'b.decode(encoding="utf-8")',
 '_i54': 'with f as open("numbers.txt", "a"):\n    f.write("six\\n")\n    f.write("seven\\n")\n    ',
 '_i55': 'with open("numbers.txt", "a") as f:\n    f.write("six\\n")\n    f.write("seven\\n")\n    ',
 '_i56': '!python numbers.txt',
 '_i57': '!python cat.py numbers.txt',
 '_i58': 't = ["A1","B1","C1",\n    "A2","B2","C2",\n    "A3","B3","C3",\n    "A4","B4","C4"]',
 '_i59': 't',
 '_i6': 'f.readline()',
 '_i60': 't = [["A1","B1","C1"],\n    ["A2","B2","C2"],\n    ["A3","B3","C3"],\n    ["A4","B4","C4"]]',
 '_i61': 't',
 '_i62': 'def writecsv(data, filename):\n    with open(filename, "w") as f:\n        for row in data:\n            f.write(",".join(row))\n    \n    ',
 '_i63': 'writecsv("data.csv",t)',
 '_i64': 'writecsv(t, "data.csv")',
 '_i65': '!python cat.py data.csv',
 '_i66': 'def writecsv(data, filename):\n    with open(filename, "w") as f:\n        for row in data:\n            f.write(",".join(row))\n            f.write("\\n")\n    \n    ',
 '_i67': 'writecsv(t, "data.csv")',
 '_i68': '!python cat.py data.csv',
 '_i69': 'person = {"author":"Lewis carrol","books":["Alice in wonderland","Lokking through the glass"],\n         "country":"UK"}',
 '_i7': 'lines = f.readlines()',
 '_i70': 'person["author"]',
 '_i71': 'person["hello"]',
 '_i72': 'person.get("awards","booker")',
 '_i73': 'person',
 '_i74': 'del person["country"]',
 '_i75': 'person',
 '_i76': 'dict(zip([1,2,3],["one","two","three"]))',
 '_i77': 'items = ["Pen","Pencil","Eraser"]\nprices = [10,12,5]\ncart = dict(zip(items, prices))',
 '_i78': 'cart',
 '_i79': 'del person["country"]',
 '_i8': 'lines',
 '_i80': 'for item in cart:\n    print(item)',
 '_i81': 'for value in cart.values():\n    print(value)',
 '_i82': 'for item in cart: # go over keys\n    print(item) ',
 '_i83': 'for value in cart.values(): # go over values\n    print(value)',
 '_i84': 'for key, value in cart.items():\n    print(key, value)',
 '_i85': 'for item in cart.keys(): # go over keys\n    print(item)',
 '_i86': '%%file words.txt\none\none two\none two three\none two three four\none two three four five\none two three four six\none two three six five\none two three\nsix seven\neight',
 '_i87': '"Pen" in cart',
 '_i88': 'def words(file):\n    return open(file).read().split()\n\ndef wordfreq(words):\n    freq = {}\n    for w in words:\n        if w in freq:\n            freq[w] += 1\n        else:\n            freq[w] = 1\n    return freq',
 '_i89': 'wordfreq(words("words.txt"))',
 '_i9': 'for line in open("data.txt"):\n    print(line, end="")',
 '_i90': 'def wordfreq1(words):\n    freq = {}\n    for w in words:\n        freq[w] = freq.get(w, 0) + 1\n\n    return freq',
 '_i91': 'wordfreq1(words("words.txt"))',
 '_i92': 'def wordfreq2(words):\n    freq = {}\n    for w in set(words):\n        freq[w] = word.count(w)\n    return freq',
 '_i93': 'wordfreq2(words("words.txt"))',
 '_i94': 'def wordfreq2(words):\n    freq = {}\n    for w in set(words):\n        freq[w] = words.count(w)\n    return freq',
 '_i95': 'wordfreq2(words("words.txt"))',
 '_i96': 'freq = wordfreq2(words("words.txt"))',
 '_i97': 'freq',
 '_i98': 'for w,f in freq.items():\n    print(w, f)',
 '_i99': 'for w,f in freq.items():\n    print(w.ljust(5), f)',
 '_ih': ['',
  'f = open("data.txt")',
  'f.read()',
  'f.read()',
  'f = open("data.txt")',
  'f.readline()',
  'f.readline()',
  'lines = f.readlines()',
  'lines',
  'for line in open("data.txt"):\n    print(line, end="")',
  'a = 3',
  'a',
  'print(a)',
  'get_ipython().run_cell_magic(\'file\', \'cat.py\', \'\\nimport sys\\n\\ndef cat(file):\\n    print(open(file).read())\\n    \\nif __name__ == "__main__":\\n    for file in sys.argv[1:]:\\n        cat(file)\')',
  "get_ipython().system('python cat.py *.py')",
  "get_ipython().system('python cat.py *.txt')",
  'get_ipython().run_cell_magic(\'file\', \'head.py\', \'\\nimport sys\\n\\ndef head(file, n):\\n    f = open(file)\\n    \\n    for i in range(n):\\n        print(f.readline(), end="")\\n        \\nif __name__ == "__main__":\\n    head(sys.argv[2], int(sys.argv[1]))\')',
  "get_ipython().system('python head.py 5 data.txt')",
  'get_ipython().run_cell_magic(\'file\', \'head.py\', \'\\nimport sys\\n\\ndef head(file, n):\\n    f = open(file)\\n    \\n    for i in range(n):\\n        print(f.readline(), end="")\\n        \\nif __name__ == "__main__":\\n    head(sys.argv[2], int(sys.argv[1]))\')',
  "get_ipython().system('python head.py 5 data.txt')",
  'get_ipython().run_cell_magic(\'file\', \'wc.py\', \'import sys\\n\\ndef line_count(file):\\n    return len(open(file).readlines())\\n\\ndef word_count(file):\\n    contents = open(file).read()\\n    words = contents.split()\\n    return len(words)\\n\\ndef char_count(file):\\n    return len(open(file).read())\\n\\n\\nif __name__ == "__main__":\\n    file = sys.argv[1]\\n    print(line_count(file), word_count(file), char_count(file), file)\')',
  "get_ipython().system('python wc.py data.txt')",
  "get_ipython().system('python wc.py data.txt')",
  'import os',
  'files = os.listsdir()',
  'files = os.listsdir(os.getcwd())',
  'files = os.listdir(os.getcwd())',
  'files',
  'files = [f in files if os.path.isfile(f)]',
  'files = [f for f in files if os.path.isfile(f)]',
  'files',
  'max(files, key=os.path.getsize)',
  'import wc\nmax(files, key)',
  'import wc\nmax(files, key=wc.line_count)',
  'import wc\nmax(files, key=wc.char_count)',
  'f = open("numbers.txt","w")',
  'f.write("one\\n")\nf.write("two\\n")\nf.write("three\\n")\nf.write("four\\n")\nf.close()',
  "get_ipython().system('python cat.py numbers.txt')",
  'f = open("numbers.txt", "a")\nf.write("five\\n")',
  'f.close()',
  "get_ipython().system('python cat.py numbers.txt')",
  'f = open("binary.bin""wb")\nf.write(b"hello")\nf.write(b"\\x2c3xa23")\nf.close()',
  'f = open("binary.bin","wb")\nf.write(b"hello")\nf.write(b"\\x2c3xa23")\nf.close()',
  'f = open("binary.bin","rb")\nf.read()',
  's = "Hello world"',
  's.encode()',
  'b = s.encode()',
  'b',
  'b',
  'type(b)',
  'b.decode()',
  'b.decode("utf-08")',
  'help(b.decode)',
  'b.decode(encoding="utf-8")',
  'with f as open("numbers.txt", "a"):\n    f.write("six\\n")\n    f.write("seven\\n")\n    ',
  'with open("numbers.txt", "a") as f:\n    f.write("six\\n")\n    f.write("seven\\n")\n    ',
  "get_ipython().system('python numbers.txt')",
  "get_ipython().system('python cat.py numbers.txt')",
  't = ["A1","B1","C1",\n    "A2","B2","C2",\n    "A3","B3","C3",\n    "A4","B4","C4"]',
  't',
  't = [["A1","B1","C1"],\n    ["A2","B2","C2"],\n    ["A3","B3","C3"],\n    ["A4","B4","C4"]]',
  't',
  'def writecsv(data, filename):\n    with open(filename, "w") as f:\n        for row in data:\n            f.write(",".join(row))\n    \n    ',
  'writecsv("data.csv",t)',
  'writecsv(t, "data.csv")',
  "get_ipython().system('python cat.py data.csv')",
  'def writecsv(data, filename):\n    with open(filename, "w") as f:\n        for row in data:\n            f.write(",".join(row))\n            f.write("\\n")\n    \n    ',
  'writecsv(t, "data.csv")',
  "get_ipython().system('python cat.py data.csv')",
  'person = {"author":"Lewis carrol","books":["Alice in wonderland","Lokking through the glass"],\n         "country":"UK"}',
  'person["author"]',
  'person["hello"]',
  'person.get("awards","booker")',
  'person',
  'del person["country"]',
  'person',
  'dict(zip([1,2,3],["one","two","three"]))',
  'items = ["Pen","Pencil","Eraser"]\nprices = [10,12,5]\ncart = dict(zip(items, prices))',
  'cart',
  'del person["country"]',
  'for item in cart:\n    print(item)',
  'for value in cart.values():\n    print(value)',
  'for item in cart: # go over keys\n    print(item) ',
  'for value in cart.values(): # go over values\n    print(value)',
  'for key, value in cart.items():\n    print(key, value)',
  'for item in cart.keys(): # go over keys\n    print(item)',
  "get_ipython().run_cell_magic('file', 'words.txt', 'one\\none two\\none two three\\none two three four\\none two three four five\\none two three four six\\none two three six five\\none two three\\nsix seven\\neight')",
  '"Pen" in cart',
  'def words(file):\n    return open(file).read().split()\n\ndef wordfreq(words):\n    freq = {}\n    for w in words:\n        if w in freq:\n            freq[w] += 1\n        else:\n            freq[w] = 1\n    return freq',
  'wordfreq(words("words.txt"))',
  'def wordfreq1(words):\n    freq = {}\n    for w in words:\n        freq[w] = freq.get(w, 0) + 1\n\n    return freq',
  'wordfreq1(words("words.txt"))',
  'def wordfreq2(words):\n    freq = {}\n    for w in set(words):\n        freq[w] = word.count(w)\n    return freq',
  'wordfreq2(words("words.txt"))',
  'def wordfreq2(words):\n    freq = {}\n    for w in set(words):\n        freq[w] = words.count(w)\n    return freq',
  'wordfreq2(words("words.txt"))',
  'freq = wordfreq2(words("words.txt"))',
  'freq',
  'for w,f in freq.items():\n    print(w, f)',
  'for w,f in freq.items():\n    print(w.ljust(5), f)',
  'for w,f in sorted(freq.items()):\n    print(w.ljust(5), f)',
  'for w,f in sorted(freq.items(), key=lambda item:item[1]):\n    print(w.ljust(5), f)',
  'for w,f in sorted(freq.items(), key=lambda item:item[1], reverse=True):\n    print(w.ljust(5), f)',
  'for w,f in sorted(freq.items(), key=lambda item:item[1], reverse=True):\n    print(w.ljust(5), f,"*"*f)',
  'teams = {"Anand":"India", "Noufal":"India", "David":"USA","Ken":"UK","Harry":"USA"}',
  'teams',
  'teams.values()',
  'teams.values()',
  '[i[0] for i in teams.items() if i[1]=="India"]',
  '[name for name,country in teams.items() if country=="USA"]',
  'x = [1,1,1,1]\ny = x\ny.append(0)\nprint(x)',
  'x = [1,1,1,1]\ny = x[:]\ny.append(0)\nprint(x)',
  'x = [1,1,1,1]\ny = x\nx = [1,2,3]\nprint(y)',
  'get_ipython().run_cell_magic(\'file\', \'light.py\', \'on = True\\ncolor = "Red"\\n\\ndef switchon():\\n    global on\\n    on = True\\n    \\ndef switchoff():\\n    global on\\n    on = False\\n    \\ndef getcolor():\\n    return color\\n    \')',
  'import light',
  'light.color',
  'light.on',
  'light.getcolor()',
  "get_ipython().run_cell_magic('file', 'bank0.py', 'balance = 0\\n\\ndef getbalance():\\n    return balance\\n\\ndef deposit(amount):\\n    global balance\\n    balance += amount\\n    \\ndef withdraw(amount):\\n    global balance\\n    balance -= amount')",
  'get_ipython().run_cell_magic(\'file\', \'bank1.py\', \'\\ndef create_account():\\n    return {"balance":0}\\n\\ndef getbalance(account):\\n    return account[\\\'balance\\\']\\n\\ndef deposit(account, amount):\\n    account["balance"] += amount\\n    \\ndef withdraw(account, amount):\\n    account["balance"] -= amount\')',
  'get_ipython().run_cell_magic(\'file\', \'bank1.py\', \'\\ndef make_person(name, age, adharnum):\\n    return {"name":name, "age":age, "adhar":adharnum}\\n\\ndef create_account(name, age, adhar):\\n    person = make_person(name, age, adhar)\\n    return {"balance":0,\\n           "person":person}\\n\\ndef getbalance(account):\\n    return account[\\\'balance\\\']\\n\\ndef deposit(account, amount):\\n    account["balance"] += amount\\n    \\ndef withdraw(account, amount):\\n    account["balance"] -= amount\\n    \\nif __name__ == "__main__":\\n    a1 = \')',
  'get_ipython().run_cell_magic(\'file\', \'bank1.py\', \'\\ndef make_person(name, age, adharnum):\\n    def behavoir():\\n        pass\\n    return {"name":name, "age":age, "adhar":adharnum, \\n            "behavior":behavoir}\\n\\ndef create_account(name, age, adhar):\\n    person = make_person(name, age, adhar)\\n    return {"balance":0,\\n           "person":person}\\n\\ndef getbalance(account):\\n    return account[\\\'balance\\\']\\n\\ndef deposit(account, amount):\\n    account["balance"] += amount\\n    \\ndef withdraw(account, amount):\\n    account["balance"] -= amount\\n    \\nif __name__ == "__main__":\\n    a1 = create_account()\')',
  'import itertools',
  'itertools.permutations("deposit")',
  'list(itertools.permutations("deposit"))',
  'list(itertools.permutations("depo"))',
  'words = ["ant","and","dad","cat","left"]\nwith open("anagrams.txt", "w") as f:\n    for w in words:\n        for anagrm in set(itertools.permutations(w)):\n            f.write(anagrm + "\\n")\n    ',
  'words = ["ant","and","dad","cat","left"]\nwith open("anagrams.txt", "w") as f:\n    for w in words:\n        for anagrm in set(itertools.permutations(w)):\n            f.write("".join(anagrm) + "\\n")\n    ',
  "get_ipython().system('python cat.py anagrams.txt')",
  'x',
  'del x',
  'x',
  'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n    \n    ',
  'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n    x = 1\n    ',
  'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n    x = 1\n    print(x)\n    ',
  'f(3)',
  'x = [1,2,3]\n\ndef f(a):\n    print(a)\n    print(x)\n  ',
  'f(3)',
  'def f1(x):\n    x = 1',
  'x = [1,2,3]\ny = 4\nf1(y)\nprint(y)',
  'def f1(x):\n    global x\n    x = 1',
  'locals()',
  'local',
  'globals()'],
 '_ii': 'locals()',
 '_iii': 'def f1(x):\n    global x\n    x = 1',
 '_oh': {2: "The Zen of Python, by Tim Peters\n\nBeautiful is better than ugly.\nExplicit is better than implicit.\nSimple is better than complex.\nComplex is better than complicated.\nFlat is better than nested.\nSparse is better than dense.\nReadability counts.\nSpecial cases aren't special enough to break the rules.\nAlthough practicality beats purity.\nErrors should never pass silently.\nUnless explicitly silenced.\nIn the face of ambiguity, refuse the temptation to guess.\nThere should be one-- and preferably only one --obvious way to do it.\nAlthough that way may not be obvious at first unless you're Dutch.\nNow is better than never.\nAlthough never is often better than *right* now.\nIf the implementation is hard to explain, it's a bad idea.\nIf the implementation is easy to explain, it may be a good idea.\nNamespaces are one honking great idea -- let's do more of those!",
  3: '',
  5: 'The Zen of Python, by Tim Peters\n',
  6: '\n',
  8: ['Beautiful is better than ugly.\n',
   'Explicit is better than implicit.\n',
   'Simple is better than complex.\n',
   'Complex is better than complicated.\n',
   'Flat is better than nested.\n',
   'Sparse is better than dense.\n',
   'Readability counts.\n',
   "Special cases aren't special enough to break the rules.\n",
   'Although practicality beats purity.\n',
   'Errors should never pass silently.\n',
   'Unless explicitly silenced.\n',
   'In the face of ambiguity, refuse the temptation to guess.\n',
   'There should be one-- and preferably only one --obvious way to do it.\n',
   "Although that way may not be obvious at first unless you're Dutch.\n",
   'Now is better than never.\n',
   'Although never is often better than *right* now.\n',
   "If the implementation is hard to explain, it's a bad idea.\n",
   'If the implementation is easy to explain, it may be a good idea.\n',
   "Namespaces are one honking great idea -- let's do more of those!"],
  11: 3,
  27: ['.ipynb_checkpoints',
   'wc.py',
   'push',
   'day1.ipynb',
   'head.py',
   'module.py',
   'day2.ipynb',
   'day2.html',
   'add1.py',
   '.cache',
   'day3.ipynb',
   'add2.py',
   'functions.py',
   'data.txt',
   'test.txt',
   'module1.py',
   'day3.html',
   'Makefile',
   '__pycache__',
   'add.py',
   'cat.py',
   'day1.html',
   'ls.py'],
  30: ['wc.py',
   'push',
   'day1.ipynb',
   'head.py',
   'module.py',
   'day2.ipynb',
   'day2.html',
   'add1.py',
   'day3.ipynb',
   'add2.py',
   'functions.py',
   'data.txt',
   'test.txt',
   'module1.py',
   'day3.html',
   'Makefile',
   'add.py',
   'cat.py',
   'day1.html',
   'ls.py'],
  31: 'day1.html',
  33: 'day1.html',
  34: 'day1.html',
  38: 5,
  43: b'hello,3xa23',
  45: b'Hello world',
  47: b'Hello world',
  48: b'Hello world',
  49: bytes,
  50: 'Hello world',
  53: 'Hello world',
  59: ['A1', 'B1', 'C1', 'A2', 'B2', 'C2', 'A3', 'B3', 'C3', 'A4', 'B4', 'C4'],
  61: [['A1', 'B1', 'C1'],
   ['A2', 'B2', 'C2'],
   ['A3', 'B3', 'C3'],
   ['A4', 'B4', 'C4']],
  70: 'Lewis carrol',
  72: 'booker',
  73: {'author': 'Lewis carrol',
   'books': ['Alice in wonderland', 'Lokking through the glass']},
  75: {'author': 'Lewis carrol',
   'books': ['Alice in wonderland', 'Lokking through the glass']},
  76: {1: 'one', 2: 'two', 3: 'three'},
  78: {'Eraser': 5, 'Pen': 10, 'Pencil': 12},
  87: True,
  89: {'eight': 1,
   'five': 2,
   'four': 3,
   'one': 8,
   'seven': 1,
   'six': 3,
   'three': 6,
   'two': 7},
  91: {'eight': 1,
   'five': 2,
   'four': 3,
   'one': 8,
   'seven': 1,
   'six': 3,
   'three': 6,
   'two': 7},
  95: {'eight': 1,
   'five': 2,
   'four': 3,
   'one': 8,
   'seven': 1,
   'six': 3,
   'three': 6,
   'two': 7},
  97: {'eight': 1,
   'five': 2,
   'four': 3,
   'one': 8,
   'seven': 1,
   'six': 3,
   'three': 6,
   'two': 7},
  105: {'Anand': 'India',
   'David': 'USA',
   'Harry': 'USA',
   'Ken': 'UK',
   'Noufal': 'India'},
  106: dict_values(['India', 'India', 'USA', 'UK', 'USA']),
  107: dict_values(['India', 'India', 'USA', 'UK', 'USA']),
  108: ['Anand', 'Noufal'],
  109: ['David', 'Harry'],
  115: 'Red',
  116: True,
  117: 'Red',
  123: <itertools.permutations at 0x7fef0f91a9e8>,
  124: [('d', 'e', 'p', 'o', 's', 'i', 't'),
   ('d', 'e', 'p', 'o', 's', 't', 'i'),
   ('d', 'e', 'p', 'o', 'i', 's', 't'),
   ('d', 'e', 'p', 'o', 'i', 't', 's'),
   ('d', 'e', 'p', 'o', 't', 's', 'i'),
   ('d', 'e', 'p', 'o', 't', 'i', 's'),
   ('d', 'e', 'p', 's', 'o', 'i', 't'),
   ('d', 'e', 'p', 's', 'o', 't', 'i'),
   ('d', 'e', 'p', 's', 'i', 'o', 't'),
   ('d', 'e', 'p', 's', 'i', 't', 'o'),
   ('d', 'e', 'p', 's', 't', 'o', 'i'),
   ('d', 'e', 'p', 's', 't', 'i', 'o'),
   ('d', 'e', 'p', 'i', 'o', 's', 't'),
   ('d', 'e', 'p', 'i', 'o', 't', 's'),
   ('d', 'e', 'p', 'i', 's', 'o', 't'),
   ('d', 'e', 'p', 'i', 's', 't', 'o'),
   ('d', 'e', 'p', 'i', 't', 'o', 's'),
   ('d', 'e', 'p', 'i', 't', 's', 'o'),
   ('d', 'e', 'p', 't', 'o', 's', 'i'),
   ('d', 'e', 'p', 't', 'o', 'i', 's'),
   ('d', 'e', 'p', 't', 's', 'o', 'i'),
   ('d', 'e', 'p', 't', 's', 'i', 'o'),
   ('d', 'e', 'p', 't', 'i', 'o', 's'),
   ('d', 'e', 'p', 't', 'i', 's', 'o'),
   ('d', 'e', 'o', 'p', 's', 'i', 't'),
   ('d', 'e', 'o', 'p', 's', 't', 'i'),
   ('d', 'e', 'o', 'p', 'i', 's', 't'),
   ('d', 'e', 'o', 'p', 'i', 't', 's'),
   ('d', 'e', 'o', 'p', 't', 's', 'i'),
   ('d', 'e', 'o', 'p', 't', 'i', 's'),
   ('d', 'e', 'o', 's', 'p', 'i', 't'),
   ('d', 'e', 'o', 's', 'p', 't', 'i'),
   ('d', 'e', 'o', 's', 'i', 'p', 't'),
   ('d', 'e', 'o', 's', 'i', 't', 'p'),
   ('d', 'e', 'o', 's', 't', 'p', 'i'),
   ('d', 'e', 'o', 's', 't', 'i', 'p'),
   ('d', 'e', 'o', 'i', 'p', 's', 't'),
   ('d', 'e', 'o', 'i', 'p', 't', 's'),
   ('d', 'e', 'o', 'i', 's', 'p', 't'),
   ('d', 'e', 'o', 'i', 's', 't', 'p'),
   ('d', 'e', 'o', 'i', 't', 'p', 's'),
   ('d', 'e', 'o', 'i', 't', 's', 'p'),
   ('d', 'e', 'o', 't', 'p', 's', 'i'),
   ('d', 'e', 'o', 't', 'p', 'i', 's'),
   ('d', 'e', 'o', 't', 's', 'p', 'i'),
   ('d', 'e', 'o', 't', 's', 'i', 'p'),
   ('d', 'e', 'o', 't', 'i', 'p', 's'),
   ('d', 'e', 'o', 't', 'i', 's', 'p'),
   ('d', 'e', 's', 'p', 'o', 'i', 't'),
   ('d', 'e', 's', 'p', 'o', 't', 'i'),
   ('d', 'e', 's', 'p', 'i', 'o', 't'),
   ('d', 'e', 's', 'p', 'i', 't', 'o'),
   ('d', 'e', 's', 'p', 't', 'o', 'i'),
   ('d', 'e', 's', 'p', 't', 'i', 'o'),
   ('d', 'e', 's', 'o', 'p', 'i', 't'),
   ('d', 'e', 's', 'o', 'p', 't', 'i'),
   ('d', 'e', 's', 'o', 'i', 'p', 't'),
   ('d', 'e', 's', 'o', 'i', 't', 'p'),
   ('d', 'e', 's', 'o', 't', 'p', 'i'),
   ('d', 'e', 's', 'o', 't', 'i', 'p'),
   ('d', 'e', 's', 'i', 'p', 'o', 't'),
   ('d', 'e', 's', 'i', 'p', 't', 'o'),
   ('d', 'e', 's', 'i', 'o', 'p', 't'),
   ('d', 'e', 's', 'i', 'o', 't', 'p'),
   ('d', 'e', 's', 'i', 't', 'p', 'o'),
   ('d', 'e', 's', 'i', 't', 'o', 'p'),
   ('d', 'e', 's', 't', 'p', 'o', 'i'),
   ('d', 'e', 's', 't', 'p', 'i', 'o'),
   ('d', 'e', 's', 't', 'o', 'p', 'i'),
   ('d', 'e', 's', 't', 'o', 'i', 'p'),
   ('d', 'e', 's', 't', 'i', 'p', 'o'),
   ('d', 'e', 's', 't', 'i', 'o', 'p'),
   ('d', 'e', 'i', 'p', 'o', 's', 't'),
   ('d', 'e', 'i', 'p', 'o', 't', 's'),
   ('d', 'e', 'i', 'p', 's', 'o', 't'),
   ('d', 'e', 'i', 'p', 's', 't', 'o'),
   ('d', 'e', 'i', 'p', 't', 'o', 's'),
   ('d', 'e', 'i', 'p', 't', 's', 'o'),
   ('d', 'e', 'i', 'o', 'p', 's', 't'),
   ('d', 'e', 'i', 'o', 'p', 't', 's'),
   ('d', 'e', 'i', 'o', 's', 'p', 't'),
   ('d', 'e', 'i', 'o', 's', 't', 'p'),
   ('d', 'e', 'i', 'o', 't', 'p', 's'),
   ('d', 'e', 'i', 'o', 't', 's', 'p'),
   ('d', 'e', 'i', 's', 'p', 'o', 't'),
   ('d', 'e', 'i', 's', 'p', 't', 'o'),
   ('d', 'e', 'i', 's', 'o', 'p', 't'),
   ('d', 'e', 'i', 's', 'o', 't', 'p'),
   ('d', 'e', 'i', 's', 't', 'p', 'o'),
   ('d', 'e', 'i', 's', 't', 'o', 'p'),
   ('d', 'e', 'i', 't', 'p', 'o', 's'),
   ('d', 'e', 'i', 't', 'p', 's', 'o'),
   ('d', 'e', 'i', 't', 'o', 'p', 's'),
   ('d', 'e', 'i', 't', 'o', 's', 'p'),
   ('d', 'e', 'i', 't', 's', 'p', 'o'),
   ('d', 'e', 'i', 't', 's', 'o', 'p'),
   ('d', 'e', 't', 'p', 'o', 's', 'i'),
   ('d', 'e', 't', 'p', 'o', 'i', 's'),
   ('d', 'e', 't', 'p', 's', 'o', 'i'),
   ('d', 'e', 't', 'p', 's', 'i', 'o'),
   ('d', 'e', 't', 'p', 'i', 'o', 's'),
   ('d', 'e', 't', 'p', 'i', 's', 'o'),
   ('d', 'e', 't', 'o', 'p', 's', 'i'),
   ('d', 'e', 't', 'o', 'p', 'i', 's'),
   ('d', 'e', 't', 'o', 's', 'p', 'i'),
   ('d', 'e', 't', 'o', 's', 'i', 'p'),
   ('d', 'e', 't', 'o', 'i', 'p', 's'),
   ('d', 'e', 't', 'o', 'i', 's', 'p'),
   ('d', 'e', 't', 's', 'p', 'o', 'i'),
   ('d', 'e', 't', 's', 'p', 'i', 'o'),
   ('d', 'e', 't', 's', 'o', 'p', 'i'),
   ('d', 'e', 't', 's', 'o', 'i', 'p'),
   ('d', 'e', 't', 's', 'i', 'p', 'o'),
   ('d', 'e', 't', 's', 'i', 'o', 'p'),
   ('d', 'e', 't', 'i', 'p', 'o', 's'),
   ('d', 'e', 't', 'i', 'p', 's', 'o'),
   ('d', 'e', 't', 'i', 'o', 'p', 's'),
   ('d', 'e', 't', 'i', 'o', 's', 'p'),
   ('d', 'e', 't', 'i', 's', 'p', 'o'),
   ('d', 'e', 't', 'i', 's', 'o', 'p'),
   ('d', 'p', 'e', 'o', 's', 'i', 't'),
   ('d', 'p', 'e', 'o', 's', 't', 'i'),
   ('d', 'p', 'e', 'o', 'i', 's', 't'),
   ('d', 'p', 'e', 'o', 'i', 't', 's'),
   ('d', 'p', 'e', 'o', 't', 's', 'i'),
   ('d', 'p', 'e', 'o', 't', 'i', 's'),
   ('d', 'p', 'e', 's', 'o', 'i', 't'),
   ('d', 'p', 'e', 's', 'o', 't', 'i'),
   ('d', 'p', 'e', 's', 'i', 'o', 't'),
   ('d', 'p', 'e', 's', 'i', 't', 'o'),
   ('d', 'p', 'e', 's', 't', 'o', 'i'),
   ('d', 'p', 'e', 's', 't', 'i', 'o'),
   ('d', 'p', 'e', 'i', 'o', 's', 't'),
   ('d', 'p', 'e', 'i', 'o', 't', 's'),
   ('d', 'p', 'e', 'i', 's', 'o', 't'),
   ('d', 'p', 'e', 'i', 's', 't', 'o'),
   ('d', 'p', 'e', 'i', 't', 'o', 's'),
   ('d', 'p', 'e', 'i', 't', 's', 'o'),
   ('d', 'p', 'e', 't', 'o', 's', 'i'),
   ('d', 'p', 'e', 't', 'o', 'i', 's'),
   ('d', 'p', 'e', 't', 's', 'o', 'i'),
   ('d', 'p', 'e', 't', 's', 'i', 'o'),
   ('d', 'p', 'e', 't', 'i', 'o', 's'),
   ('d', 'p', 'e', 't', 'i', 's', 'o'),
   ('d', 'p', 'o', 'e', 's', 'i', 't'),
   ('d', 'p', 'o', 'e', 's', 't', 'i'),
   ('d', 'p', 'o', 'e', 'i', 's', 't'),
   ('d', 'p', 'o', 'e', 'i', 't', 's'),
   ('d', 'p', 'o', 'e', 't', 's', 'i'),
   ('d', 'p', 'o', 'e', 't', 'i', 's'),
   ('d', 'p', 'o', 's', 'e', 'i', 't'),
   ('d', 'p', 'o', 's', 'e', 't', 'i'),
   ('d', 'p', 'o', 's', 'i', 'e', 't'),
   ('d', 'p', 'o', 's', 'i', 't', 'e'),
   ('d', 'p', 'o', 's', 't', 'e', 'i'),
   ('d', 'p', 'o', 's', 't', 'i', 'e'),
   ('d', 'p', 'o', 'i', 'e', 's', 't'),
   ('d', 'p', 'o', 'i', 'e', 't', 's'),
   ('d', 'p', 'o', 'i', 's', 'e', 't'),
   ('d', 'p', 'o', 'i', 's', 't', 'e'),
   ('d', 'p', 'o', 'i', 't', 'e', 's'),
   ('d', 'p', 'o', 'i', 't', 's', 'e'),
   ('d', 'p', 'o', 't', 'e', 's', 'i'),
   ('d', 'p', 'o', 't', 'e', 'i', 's'),
   ('d', 'p', 'o', 't', 's', 'e', 'i'),
   ('d', 'p', 'o', 't', 's', 'i', 'e'),
   ('d', 'p', 'o', 't', 'i', 'e', 's'),
   ('d', 'p', 'o', 't', 'i', 's', 'e'),
   ('d', 'p', 's', 'e', 'o', 'i', 't'),
   ('d', 'p', 's', 'e', 'o', 't', 'i'),
   ('d', 'p', 's', 'e', 'i', 'o', 't'),
   ('d', 'p', 's', 'e', 'i', 't', 'o'),
   ('d', 'p', 's', 'e', 't', 'o', 'i'),
   ('d', 'p', 's', 'e', 't', 'i', 'o'),
   ('d', 'p', 's', 'o', 'e', 'i', 't'),
   ('d', 'p', 's', 'o', 'e', 't', 'i'),
   ('d', 'p', 's', 'o', 'i', 'e', 't'),
   ('d', 'p', 's', 'o', 'i', 't', 'e'),
   ('d', 'p', 's', 'o', 't', 'e', 'i'),
   ('d', 'p', 's', 'o', 't', 'i', 'e'),
   ('d', 'p', 's', 'i', 'e', 'o', 't'),
   ('d', 'p', 's', 'i', 'e', 't', 'o'),
   ('d', 'p', 's', 'i', 'o', 'e', 't'),
   ('d', 'p', 's', 'i', 'o', 't', 'e'),
   ('d', 'p', 's', 'i', 't', 'e', 'o'),
   ('d', 'p', 's', 'i', 't', 'o', 'e'),
   ('d', 'p', 's', 't', 'e', 'o', 'i'),
   ('d', 'p', 's', 't', 'e', 'i', 'o'),
   ('d', 'p', 's', 't', 'o', 'e', 'i'),
   ('d', 'p', 's', 't', 'o', 'i', 'e'),
   ('d', 'p', 's', 't', 'i', 'e', 'o'),
   ('d', 'p', 's', 't', 'i', 'o', 'e'),
   ('d', 'p', 'i', 'e', 'o', 's', 't'),
   ('d', 'p', 'i', 'e', 'o', 't', 's'),
   ('d', 'p', 'i', 'e', 's', 'o', 't'),
   ('d', 'p', 'i', 'e', 's', 't', 'o'),
   ('d', 'p', 'i', 'e', 't', 'o', 's'),
   ('d', 'p', 'i', 'e', 't', 's', 'o'),
   ('d', 'p', 'i', 'o', 'e', 's', 't'),
   ('d', 'p', 'i', 'o', 'e', 't', 's'),
   ('d', 'p', 'i', 'o', 's', 'e', 't'),
   ('d', 'p', 'i', 'o', 's', 't', 'e'),
   ('d', 'p', 'i', 'o', 't', 'e', 's'),
   ('d', 'p', 'i', 'o', 't', 's', 'e'),
   ('d', 'p', 'i', 's', 'e', 'o', 't'),
   ('d', 'p', 'i', 's', 'e', 't', 'o'),
   ('d', 'p', 'i', 's', 'o', 'e', 't'),
   ('d', 'p', 'i', 's', 'o', 't', 'e'),
   ('d', 'p', 'i', 's', 't', 'e', 'o'),
   ('d', 'p', 'i', 's', 't', 'o', 'e'),
   ('d', 'p', 'i', 't', 'e', 'o', 's'),
   ('d', 'p', 'i', 't', 'e', 's', 'o'),
   ('d', 'p', 'i', 't', 'o', 'e', 's'),
   ('d', 'p', 'i', 't', 'o', 's', 'e'),
   ('d', 'p', 'i', 't', 's', 'e', 'o'),
   ('d', 'p', 'i', 't', 's', 'o', 'e'),
   ('d', 'p', 't', 'e', 'o', 's', 'i'),
   ('d', 'p', 't', 'e', 'o', 'i', 's'),
   ('d', 'p', 't', 'e', 's', 'o', 'i'),
   ('d', 'p', 't', 'e', 's', 'i', 'o'),
   ('d', 'p', 't', 'e', 'i', 'o', 's'),
   ('d', 'p', 't', 'e', 'i', 's', 'o'),
   ('d', 'p', 't', 'o', 'e', 's', 'i'),
   ('d', 'p', 't', 'o', 'e', 'i', 's'),
   ('d', 'p', 't', 'o', 's', 'e', 'i'),
   ('d', 'p', 't', 'o', 's', 'i', 'e'),
   ('d', 'p', 't', 'o', 'i', 'e', 's'),
   ('d', 'p', 't', 'o', 'i', 's', 'e'),
   ('d', 'p', 't', 's', 'e', 'o', 'i'),
   ('d', 'p', 't', 's', 'e', 'i', 'o'),
   ('d', 'p', 't', 's', 'o', 'e', 'i'),
   ('d', 'p', 't', 's', 'o', 'i', 'e'),
   ('d', 'p', 't', 's', 'i', 'e', 'o'),
   ('d', 'p', 't', 's', 'i', 'o', 'e'),
   ('d', 'p', 't', 'i', 'e', 'o', 's'),
   ('d', 'p', 't', 'i', 'e', 's', 'o'),
   ('d', 'p', 't', 'i', 'o', 'e', 's'),
   ('d', 'p', 't', 'i', 'o', 's', 'e'),
   ('d', 'p', 't', 'i', 's', 'e', 'o'),
   ('d', 'p', 't', 'i', 's', 'o', 'e'),
   ('d', 'o', 'e', 'p', 's', 'i', 't'),
   ('d', 'o', 'e', 'p', 's', 't', 'i'),
   ('d', 'o', 'e', 'p', 'i', 's', 't'),
   ('d', 'o', 'e', 'p', 'i', 't', 's'),
   ('d', 'o', 'e', 'p', 't', 's', 'i'),
   ('d', 'o', 'e', 'p', 't', 'i', 's'),
   ('d', 'o', 'e', 's', 'p', 'i', 't'),
   ('d', 'o', 'e', 's', 'p', 't', 'i'),
   ('d', 'o', 'e', 's', 'i', 'p', 't'),
   ('d', 'o', 'e', 's', 'i', 't', 'p'),
   ('d', 'o', 'e', 's', 't', 'p', 'i'),
   ('d', 'o', 'e', 's', 't', 'i', 'p'),
   ('d', 'o', 'e', 'i', 'p', 's', 't'),
   ('d', 'o', 'e', 'i', 'p', 't', 's'),
   ('d', 'o', 'e', 'i', 's', 'p', 't'),
   ('d', 'o', 'e', 'i', 's', 't', 'p'),
   ('d', 'o', 'e', 'i', 't', 'p', 's'),
   ('d', 'o', 'e', 'i', 't', 's', 'p'),
   ('d', 'o', 'e', 't', 'p', 's', 'i'),
   ('d', 'o', 'e', 't', 'p', 'i', 's'),
   ('d', 'o', 'e', 't', 's', 'p', 'i'),
   ('d', 'o', 'e', 't', 's', 'i', 'p'),
   ('d', 'o', 'e', 't', 'i', 'p', 's'),
   ('d', 'o', 'e', 't', 'i', 's', 'p'),
   ('d', 'o', 'p', 'e', 's', 'i', 't'),
   ('d', 'o', 'p', 'e', 's', 't', 'i'),
   ('d', 'o', 'p', 'e', 'i', 's', 't'),
   ('d', 'o', 'p', 'e', 'i', 't', 's'),
   ('d', 'o', 'p', 'e', 't', 's', 'i'),
   ('d', 'o', 'p', 'e', 't', 'i', 's'),
   ('d', 'o', 'p', 's', 'e', 'i', 't'),
   ('d', 'o', 'p', 's', 'e', 't', 'i'),
   ('d', 'o', 'p', 's', 'i', 'e', 't'),
   ('d', 'o', 'p', 's', 'i', 't', 'e'),
   ('d', 'o', 'p', 's', 't', 'e', 'i'),
   ('d', 'o', 'p', 's', 't', 'i', 'e'),
   ('d', 'o', 'p', 'i', 'e', 's', 't'),
   ('d', 'o', 'p', 'i', 'e', 't', 's'),
   ('d', 'o', 'p', 'i', 's', 'e', 't'),
   ('d', 'o', 'p', 'i', 's', 't', 'e'),
   ('d', 'o', 'p', 'i', 't', 'e', 's'),
   ('d', 'o', 'p', 'i', 't', 's', 'e'),
   ('d', 'o', 'p', 't', 'e', 's', 'i'),
   ('d', 'o', 'p', 't', 'e', 'i', 's'),
   ('d', 'o', 'p', 't', 's', 'e', 'i'),
   ('d', 'o', 'p', 't', 's', 'i', 'e'),
   ('d', 'o', 'p', 't', 'i', 'e', 's'),
   ('d', 'o', 'p', 't', 'i', 's', 'e'),
   ('d', 'o', 's', 'e', 'p', 'i', 't'),
   ('d', 'o', 's', 'e', 'p', 't', 'i'),
   ('d', 'o', 's', 'e', 'i', 'p', 't'),
   ('d', 'o', 's', 'e', 'i', 't', 'p'),
   ('d', 'o', 's', 'e', 't', 'p', 'i'),
   ('d', 'o', 's', 'e', 't', 'i', 'p'),
   ('d', 'o', 's', 'p', 'e', 'i', 't'),
   ('d', 'o', 's', 'p', 'e', 't', 'i'),
   ('d', 'o', 's', 'p', 'i', 'e', 't'),
   ('d', 'o', 's', 'p', 'i', 't', 'e'),
   ('d', 'o', 's', 'p', 't', 'e', 'i'),
   ('d', 'o', 's', 'p', 't', 'i', 'e'),
   ('d', 'o', 's', 'i', 'e', 'p', 't'),
   ('d', 'o', 's', 'i', 'e', 't', 'p'),
   ('d', 'o', 's', 'i', 'p', 'e', 't'),
   ('d', 'o', 's', 'i', 'p', 't', 'e'),
   ('d', 'o', 's', 'i', 't', 'e', 'p'),
   ('d', 'o', 's', 'i', 't', 'p', 'e'),
   ('d', 'o', 's', 't', 'e', 'p', 'i'),
   ('d', 'o', 's', 't', 'e', 'i', 'p'),
   ('d', 'o', 's', 't', 'p', 'e', 'i'),
   ('d', 'o', 's', 't', 'p', 'i', 'e'),
   ('d', 'o', 's', 't', 'i', 'e', 'p'),
   ('d', 'o', 's', 't', 'i', 'p', 'e'),
   ('d', 'o', 'i', 'e', 'p', 's', 't'),
   ('d', 'o', 'i', 'e', 'p', 't', 's'),
   ('d', 'o', 'i', 'e', 's', 'p', 't'),
   ('d', 'o', 'i', 'e', 's', 't', 'p'),
   ('d', 'o', 'i', 'e', 't', 'p', 's'),
   ('d', 'o', 'i', 'e', 't', 's', 'p'),
   ('d', 'o', 'i', 'p', 'e', 's', 't'),
   ('d', 'o', 'i', 'p', 'e', 't', 's'),
   ('d', 'o', 'i', 'p', 's', 'e', 't'),
   ('d', 'o', 'i', 'p', 's', 't', 'e'),
   ('d', 'o', 'i', 'p', 't', 'e', 's'),
   ('d', 'o', 'i', 'p', 't', 's', 'e'),
   ('d', 'o', 'i', 's', 'e', 'p', 't'),
   ('d', 'o', 'i', 's', 'e', 't', 'p'),
   ('d', 'o', 'i', 's', 'p', 'e', 't'),
   ('d', 'o', 'i', 's', 'p', 't', 'e'),
   ('d', 'o', 'i', 's', 't', 'e', 'p'),
   ('d', 'o', 'i', 's', 't', 'p', 'e'),
   ('d', 'o', 'i', 't', 'e', 'p', 's'),
   ('d', 'o', 'i', 't', 'e', 's', 'p'),
   ('d', 'o', 'i', 't', 'p', 'e', 's'),
   ('d', 'o', 'i', 't', 'p', 's', 'e'),
   ('d', 'o', 'i', 't', 's', 'e', 'p'),
   ('d', 'o', 'i', 't', 's', 'p', 'e'),
   ('d', 'o', 't', 'e', 'p', 's', 'i'),
   ('d', 'o', 't', 'e', 'p', 'i', 's'),
   ('d', 'o', 't', 'e', 's', 'p', 'i'),
   ('d', 'o', 't', 'e', 's', 'i', 'p'),
   ('d', 'o', 't', 'e', 'i', 'p', 's'),
   ('d', 'o', 't', 'e', 'i', 's', 'p'),
   ('d', 'o', 't', 'p', 'e', 's', 'i'),
   ('d', 'o', 't', 'p', 'e', 'i', 's'),
   ('d', 'o', 't', 'p', 's', 'e', 'i'),
   ('d', 'o', 't', 'p', 's', 'i', 'e'),
   ('d', 'o', 't', 'p', 'i', 'e', 's'),
   ('d', 'o', 't', 'p', 'i', 's', 'e'),
   ('d', 'o', 't', 's', 'e', 'p', 'i'),
   ('d', 'o', 't', 's', 'e', 'i', 'p'),
   ('d', 'o', 't', 's', 'p', 'e', 'i'),
   ('d', 'o', 't', 's', 'p', 'i', 'e'),
   ('d', 'o', 't', 's', 'i', 'e', 'p'),
   ('d', 'o', 't', 's', 'i', 'p', 'e'),
   ('d', 'o', 't', 'i', 'e', 'p', 's'),
   ('d', 'o', 't', 'i', 'e', 's', 'p'),
   ('d', 'o', 't', 'i', 'p', 'e', 's'),
   ('d', 'o', 't', 'i', 'p', 's', 'e'),
   ('d', 'o', 't', 'i', 's', 'e', 'p'),
   ('d', 'o', 't', 'i', 's', 'p', 'e'),
   ('d', 's', 'e', 'p', 'o', 'i', 't'),
   ('d', 's', 'e', 'p', 'o', 't', 'i'),
   ('d', 's', 'e', 'p', 'i', 'o', 't'),
   ('d', 's', 'e', 'p', 'i', 't', 'o'),
   ('d', 's', 'e', 'p', 't', 'o', 'i'),
   ('d', 's', 'e', 'p', 't', 'i', 'o'),
   ('d', 's', 'e', 'o', 'p', 'i', 't'),
   ('d', 's', 'e', 'o', 'p', 't', 'i'),
   ('d', 's', 'e', 'o', 'i', 'p', 't'),
   ('d', 's', 'e', 'o', 'i', 't', 'p'),
   ('d', 's', 'e', 'o', 't', 'p', 'i'),
   ('d', 's', 'e', 'o', 't', 'i', 'p'),
   ('d', 's', 'e', 'i', 'p', 'o', 't'),
   ('d', 's', 'e', 'i', 'p', 't', 'o'),
   ('d', 's', 'e', 'i', 'o', 'p', 't'),
   ('d', 's', 'e', 'i', 'o', 't', 'p'),
   ('d', 's', 'e', 'i', 't', 'p', 'o'),
   ('d', 's', 'e', 'i', 't', 'o', 'p'),
   ('d', 's', 'e', 't', 'p', 'o', 'i'),
   ('d', 's', 'e', 't', 'p', 'i', 'o'),
   ('d', 's', 'e', 't', 'o', 'p', 'i'),
   ('d', 's', 'e', 't', 'o', 'i', 'p'),
   ('d', 's', 'e', 't', 'i', 'p', 'o'),
   ('d', 's', 'e', 't', 'i', 'o', 'p'),
   ('d', 's', 'p', 'e', 'o', 'i', 't'),
   ('d', 's', 'p', 'e', 'o', 't', 'i'),
   ('d', 's', 'p', 'e', 'i', 'o', 't'),
   ('d', 's', 'p', 'e', 'i', 't', 'o'),
   ('d', 's', 'p', 'e', 't', 'o', 'i'),
   ('d', 's', 'p', 'e', 't', 'i', 'o'),
   ('d', 's', 'p', 'o', 'e', 'i', 't'),
   ('d', 's', 'p', 'o', 'e', 't', 'i'),
   ('d', 's', 'p', 'o', 'i', 'e', 't'),
   ('d', 's', 'p', 'o', 'i', 't', 'e'),
   ('d', 's', 'p', 'o', 't', 'e', 'i'),
   ('d', 's', 'p', 'o', 't', 'i', 'e'),
   ('d', 's', 'p', 'i', 'e', 'o', 't'),
   ('d', 's', 'p', 'i', 'e', 't', 'o'),
   ('d', 's', 'p', 'i', 'o', 'e', 't'),
   ('d', 's', 'p', 'i', 'o', 't', 'e'),
   ('d', 's', 'p', 'i', 't', 'e', 'o'),
   ('d', 's', 'p', 'i', 't', 'o', 'e'),
   ('d', 's', 'p', 't', 'e', 'o', 'i'),
   ('d', 's', 'p', 't', 'e', 'i', 'o'),
   ('d', 's', 'p', 't', 'o', 'e', 'i'),
   ('d', 's', 'p', 't', 'o', 'i', 'e'),
   ('d', 's', 'p', 't', 'i', 'e', 'o'),
   ('d', 's', 'p', 't', 'i', 'o', 'e'),
   ('d', 's', 'o', 'e', 'p', 'i', 't'),
   ('d', 's', 'o', 'e', 'p', 't', 'i'),
   ('d', 's', 'o', 'e', 'i', 'p', 't'),
   ('d', 's', 'o', 'e', 'i', 't', 'p'),
   ('d', 's', 'o', 'e', 't', 'p', 'i'),
   ('d', 's', 'o', 'e', 't', 'i', 'p'),
   ('d', 's', 'o', 'p', 'e', 'i', 't'),
   ('d', 's', 'o', 'p', 'e', 't', 'i'),
   ('d', 's', 'o', 'p', 'i', 'e', 't'),
   ('d', 's', 'o', 'p', 'i', 't', 'e'),
   ('d', 's', 'o', 'p', 't', 'e', 'i'),
   ('d', 's', 'o', 'p', 't', 'i', 'e'),
   ('d', 's', 'o', 'i', 'e', 'p', 't'),
   ('d', 's', 'o', 'i', 'e', 't', 'p'),
   ('d', 's', 'o', 'i', 'p', 'e', 't'),
   ('d', 's', 'o', 'i', 'p', 't', 'e'),
   ('d', 's', 'o', 'i', 't', 'e', 'p'),
   ('d', 's', 'o', 'i', 't', 'p', 'e'),
   ('d', 's', 'o', 't', 'e', 'p', 'i'),
   ('d', 's', 'o', 't', 'e', 'i', 'p'),
   ('d', 's', 'o', 't', 'p', 'e', 'i'),
   ('d', 's', 'o', 't', 'p', 'i', 'e'),
   ('d', 's', 'o', 't', 'i', 'e', 'p'),
   ('d', 's', 'o', 't', 'i', 'p', 'e'),
   ('d', 's', 'i', 'e', 'p', 'o', 't'),
   ('d', 's', 'i', 'e', 'p', 't', 'o'),
   ('d', 's', 'i', 'e', 'o', 'p', 't'),
   ('d', 's', 'i', 'e', 'o', 't', 'p'),
   ('d', 's', 'i', 'e', 't', 'p', 'o'),
   ('d', 's', 'i', 'e', 't', 'o', 'p'),
   ('d', 's', 'i', 'p', 'e', 'o', 't'),
   ('d', 's', 'i', 'p', 'e', 't', 'o'),
   ('d', 's', 'i', 'p', 'o', 'e', 't'),
   ('d', 's', 'i', 'p', 'o', 't', 'e'),
   ('d', 's', 'i', 'p', 't', 'e', 'o'),
   ('d', 's', 'i', 'p', 't', 'o', 'e'),
   ('d', 's', 'i', 'o', 'e', 'p', 't'),
   ('d', 's', 'i', 'o', 'e', 't', 'p'),
   ('d', 's', 'i', 'o', 'p', 'e', 't'),
   ('d', 's', 'i', 'o', 'p', 't', 'e'),
   ('d', 's', 'i', 'o', 't', 'e', 'p'),
   ('d', 's', 'i', 'o', 't', 'p', 'e'),
   ('d', 's', 'i', 't', 'e', 'p', 'o'),
   ('d', 's', 'i', 't', 'e', 'o', 'p'),
   ('d', 's', 'i', 't', 'p', 'e', 'o'),
   ('d', 's', 'i', 't', 'p', 'o', 'e'),
   ('d', 's', 'i', 't', 'o', 'e', 'p'),
   ('d', 's', 'i', 't', 'o', 'p', 'e'),
   ('d', 's', 't', 'e', 'p', 'o', 'i'),
   ('d', 's', 't', 'e', 'p', 'i', 'o'),
   ('d', 's', 't', 'e', 'o', 'p', 'i'),
   ('d', 's', 't', 'e', 'o', 'i', 'p'),
   ('d', 's', 't', 'e', 'i', 'p', 'o'),
   ('d', 's', 't', 'e', 'i', 'o', 'p'),
   ('d', 's', 't', 'p', 'e', 'o', 'i'),
   ('d', 's', 't', 'p', 'e', 'i', 'o'),
   ('d', 's', 't', 'p', 'o', 'e', 'i'),
   ('d', 's', 't', 'p', 'o', 'i', 'e'),
   ('d', 's', 't', 'p', 'i', 'e', 'o'),
   ('d', 's', 't', 'p', 'i', 'o', 'e'),
   ('d', 's', 't', 'o', 'e', 'p', 'i'),
   ('d', 's', 't', 'o', 'e', 'i', 'p'),
   ('d', 's', 't', 'o', 'p', 'e', 'i'),
   ('d', 's', 't', 'o', 'p', 'i', 'e'),
   ('d', 's', 't', 'o', 'i', 'e', 'p'),
   ('d', 's', 't', 'o', 'i', 'p', 'e'),
   ('d', 's', 't', 'i', 'e', 'p', 'o'),
   ('d', 's', 't', 'i', 'e', 'o', 'p'),
   ('d', 's', 't', 'i', 'p', 'e', 'o'),
   ('d', 's', 't', 'i', 'p', 'o', 'e'),
   ('d', 's', 't', 'i', 'o', 'e', 'p'),
   ('d', 's', 't', 'i', 'o', 'p', 'e'),
   ('d', 'i', 'e', 'p', 'o', 's', 't'),
   ('d', 'i', 'e', 'p', 'o', 't', 's'),
   ('d', 'i', 'e', 'p', 's', 'o', 't'),
   ('d', 'i', 'e', 'p', 's', 't', 'o'),
   ('d', 'i', 'e', 'p', 't', 'o', 's'),
   ('d', 'i', 'e', 'p', 't', 's', 'o'),
   ('d', 'i', 'e', 'o', 'p', 's', 't'),
   ('d', 'i', 'e', 'o', 'p', 't', 's'),
   ('d', 'i', 'e', 'o', 's', 'p', 't'),
   ('d', 'i', 'e', 'o', 's', 't', 'p'),
   ('d', 'i', 'e', 'o', 't', 'p', 's'),
   ('d', 'i', 'e', 'o', 't', 's', 'p'),
   ('d', 'i', 'e', 's', 'p', 'o', 't'),
   ('d', 'i', 'e', 's', 'p', 't', 'o'),
   ('d', 'i', 'e', 's', 'o', 'p', 't'),
   ('d', 'i', 'e', 's', 'o', 't', 'p'),
   ('d', 'i', 'e', 's', 't', 'p', 'o'),
   ('d', 'i', 'e', 's', 't', 'o', 'p'),
   ('d', 'i', 'e', 't', 'p', 'o', 's'),
   ('d', 'i', 'e', 't', 'p', 's', 'o'),
   ('d', 'i', 'e', 't', 'o', 'p', 's'),
   ('d', 'i', 'e', 't', 'o', 's', 'p'),
   ('d', 'i', 'e', 't', 's', 'p', 'o'),
   ('d', 'i', 'e', 't', 's', 'o', 'p'),
   ('d', 'i', 'p', 'e', 'o', 's', 't'),
   ('d', 'i', 'p', 'e', 'o', 't', 's'),
   ('d', 'i', 'p', 'e', 's', 'o', 't'),
   ('d', 'i', 'p', 'e', 's', 't', 'o'),
   ('d', 'i', 'p', 'e', 't', 'o', 's'),
   ('d', 'i', 'p', 'e', 't', 's', 'o'),
   ('d', 'i', 'p', 'o', 'e', 's', 't'),
   ('d', 'i', 'p', 'o', 'e', 't', 's'),
   ('d', 'i', 'p', 'o', 's', 'e', 't'),
   ('d', 'i', 'p', 'o', 's', 't', 'e'),
   ('d', 'i', 'p', 'o', 't', 'e', 's'),
   ('d', 'i', 'p', 'o', 't', 's', 'e'),
   ('d', 'i', 'p', 's', 'e', 'o', 't'),
   ('d', 'i', 'p', 's', 'e', 't', 'o'),
   ('d', 'i', 'p', 's', 'o', 'e', 't'),
   ('d', 'i', 'p', 's', 'o', 't', 'e'),
   ('d', 'i', 'p', 's', 't', 'e', 'o'),
   ('d', 'i', 'p', 's', 't', 'o', 'e'),
   ('d', 'i', 'p', 't', 'e', 'o', 's'),
   ('d', 'i', 'p', 't', 'e', 's', 'o'),
   ('d', 'i', 'p', 't', 'o', 'e', 's'),
   ('d', 'i', 'p', 't', 'o', 's', 'e'),
   ('d', 'i', 'p', 't', 's', 'e', 'o'),
   ('d', 'i', 'p', 't', 's', 'o', 'e'),
   ('d', 'i', 'o', 'e', 'p', 's', 't'),
   ('d', 'i', 'o', 'e', 'p', 't', 's'),
   ('d', 'i', 'o', 'e', 's', 'p', 't'),
   ('d', 'i', 'o', 'e', 's', 't', 'p'),
   ('d', 'i', 'o', 'e', 't', 'p', 's'),
   ('d', 'i', 'o', 'e', 't', 's', 'p'),
   ('d', 'i', 'o', 'p', 'e', 's', 't'),
   ('d', 'i', 'o', 'p', 'e', 't', 's'),
   ('d', 'i', 'o', 'p', 's', 'e', 't'),
   ('d', 'i', 'o', 'p', 's', 't', 'e'),
   ('d', 'i', 'o', 'p', 't', 'e', 's'),
   ('d', 'i', 'o', 'p', 't', 's', 'e'),
   ('d', 'i', 'o', 's', 'e', 'p', 't'),
   ('d', 'i', 'o', 's', 'e', 't', 'p'),
   ('d', 'i', 'o', 's', 'p', 'e', 't'),
   ('d', 'i', 'o', 's', 'p', 't', 'e'),
   ('d', 'i', 'o', 's', 't', 'e', 'p'),
   ('d', 'i', 'o', 's', 't', 'p', 'e'),
   ('d', 'i', 'o', 't', 'e', 'p', 's'),
   ('d', 'i', 'o', 't', 'e', 's', 'p'),
   ('d', 'i', 'o', 't', 'p', 'e', 's'),
   ('d', 'i', 'o', 't', 'p', 's', 'e'),
   ('d', 'i', 'o', 't', 's', 'e', 'p'),
   ('d', 'i', 'o', 't', 's', 'p', 'e'),
   ('d', 'i', 's', 'e', 'p', 'o', 't'),
   ('d', 'i', 's', 'e', 'p', 't', 'o'),
   ('d', 'i', 's', 'e', 'o', 'p', 't'),
   ('d', 'i', 's', 'e', 'o', 't', 'p'),
   ('d', 'i', 's', 'e', 't', 'p', 'o'),
   ('d', 'i', 's', 'e', 't', 'o', 'p'),
   ('d', 'i', 's', 'p', 'e', 'o', 't'),
   ('d', 'i', 's', 'p', 'e', 't', 'o'),
   ('d', 'i', 's', 'p', 'o', 'e', 't'),
   ('d', 'i', 's', 'p', 'o', 't', 'e'),
   ('d', 'i', 's', 'p', 't', 'e', 'o'),
   ('d', 'i', 's', 'p', 't', 'o', 'e'),
   ('d', 'i', 's', 'o', 'e', 'p', 't'),
   ('d', 'i', 's', 'o', 'e', 't', 'p'),
   ('d', 'i', 's', 'o', 'p', 'e', 't'),
   ('d', 'i', 's', 'o', 'p', 't', 'e'),
   ('d', 'i', 's', 'o', 't', 'e', 'p'),
   ('d', 'i', 's', 'o', 't', 'p', 'e'),
   ('d', 'i', 's', 't', 'e', 'p', 'o'),
   ('d', 'i', 's', 't', 'e', 'o', 'p'),
   ('d', 'i', 's', 't', 'p', 'e', 'o'),
   ('d', 'i', 's', 't', 'p', 'o', 'e'),
   ('d', 'i', 's', 't', 'o', 'e', 'p'),
   ('d', 'i', 's', 't', 'o', 'p', 'e'),
   ('d', 'i', 't', 'e', 'p', 'o', 's'),
   ('d', 'i', 't', 'e', 'p', 's', 'o'),
   ('d', 'i', 't', 'e', 'o', 'p', 's'),
   ('d', 'i', 't', 'e', 'o', 's', 'p'),
   ('d', 'i', 't', 'e', 's', 'p', 'o'),
   ('d', 'i', 't', 'e', 's', 'o', 'p'),
   ('d', 'i', 't', 'p', 'e', 'o', 's'),
   ('d', 'i', 't', 'p', 'e', 's', 'o'),
   ('d', 'i', 't', 'p', 'o', 'e', 's'),
   ('d', 'i', 't', 'p', 'o', 's', 'e'),
   ('d', 'i', 't', 'p', 's', 'e', 'o'),
   ('d', 'i', 't', 'p', 's', 'o', 'e'),
   ('d', 'i', 't', 'o', 'e', 'p', 's'),
   ('d', 'i', 't', 'o', 'e', 's', 'p'),
   ('d', 'i', 't', 'o', 'p', 'e', 's'),
   ('d', 'i', 't', 'o', 'p', 's', 'e'),
   ('d', 'i', 't', 'o', 's', 'e', 'p'),
   ('d', 'i', 't', 'o', 's', 'p', 'e'),
   ('d', 'i', 't', 's', 'e', 'p', 'o'),
   ('d', 'i', 't', 's', 'e', 'o', 'p'),
   ('d', 'i', 't', 's', 'p', 'e', 'o'),
   ('d', 'i', 't', 's', 'p', 'o', 'e'),
   ('d', 'i', 't', 's', 'o', 'e', 'p'),
   ('d', 'i', 't', 's', 'o', 'p', 'e'),
   ('d', 't', 'e', 'p', 'o', 's', 'i'),
   ('d', 't', 'e', 'p', 'o', 'i', 's'),
   ('d', 't', 'e', 'p', 's', 'o', 'i'),
   ('d', 't', 'e', 'p', 's', 'i', 'o'),
   ('d', 't', 'e', 'p', 'i', 'o', 's'),
   ('d', 't', 'e', 'p', 'i', 's', 'o'),
   ('d', 't', 'e', 'o', 'p', 's', 'i'),
   ('d', 't', 'e', 'o', 'p', 'i', 's'),
   ('d', 't', 'e', 'o', 's', 'p', 'i'),
   ('d', 't', 'e', 'o', 's', 'i', 'p'),
   ('d', 't', 'e', 'o', 'i', 'p', 's'),
   ('d', 't', 'e', 'o', 'i', 's', 'p'),
   ('d', 't', 'e', 's', 'p', 'o', 'i'),
   ('d', 't', 'e', 's', 'p', 'i', 'o'),
   ('d', 't', 'e', 's', 'o', 'p', 'i'),
   ('d', 't', 'e', 's', 'o', 'i', 'p'),
   ('d', 't', 'e', 's', 'i', 'p', 'o'),
   ('d', 't', 'e', 's', 'i', 'o', 'p'),
   ('d', 't', 'e', 'i', 'p', 'o', 's'),
   ('d', 't', 'e', 'i', 'p', 's', 'o'),
   ('d', 't', 'e', 'i', 'o', 'p', 's'),
   ('d', 't', 'e', 'i', 'o', 's', 'p'),
   ('d', 't', 'e', 'i', 's', 'p', 'o'),
   ('d', 't', 'e', 'i', 's', 'o', 'p'),
   ('d', 't', 'p', 'e', 'o', 's', 'i'),
   ('d', 't', 'p', 'e', 'o', 'i', 's'),
   ('d', 't', 'p', 'e', 's', 'o', 'i'),
   ('d', 't', 'p', 'e', 's', 'i', 'o'),
   ('d', 't', 'p', 'e', 'i', 'o', 's'),
   ('d', 't', 'p', 'e', 'i', 's', 'o'),
   ('d', 't', 'p', 'o', 'e', 's', 'i'),
   ('d', 't', 'p', 'o', 'e', 'i', 's'),
   ('d', 't', 'p', 'o', 's', 'e', 'i'),
   ('d', 't', 'p', 'o', 's', 'i', 'e'),
   ('d', 't', 'p', 'o', 'i', 'e', 's'),
   ('d', 't', 'p', 'o', 'i', 's', 'e'),
   ('d', 't', 'p', 's', 'e', 'o', 'i'),
   ('d', 't', 'p', 's', 'e', 'i', 'o'),
   ('d', 't', 'p', 's', 'o', 'e', 'i'),
   ('d', 't', 'p', 's', 'o', 'i', 'e'),
   ('d', 't', 'p', 's', 'i', 'e', 'o'),
   ('d', 't', 'p', 's', 'i', 'o', 'e'),
   ('d', 't', 'p', 'i', 'e', 'o', 's'),
   ('d', 't', 'p', 'i', 'e', 's', 'o'),
   ('d', 't', 'p', 'i', 'o', 'e', 's'),
   ('d', 't', 'p', 'i', 'o', 's', 'e'),
   ('d', 't', 'p', 'i', 's', 'e', 'o'),
   ('d', 't', 'p', 'i', 's', 'o', 'e'),
   ('d', 't', 'o', 'e', 'p', 's', 'i'),
   ('d', 't', 'o', 'e', 'p', 'i', 's'),
   ('d', 't', 'o', 'e', 's', 'p', 'i'),
   ('d', 't', 'o', 'e', 's', 'i', 'p'),
   ('d', 't', 'o', 'e', 'i', 'p', 's'),
   ('d', 't', 'o', 'e', 'i', 's', 'p'),
   ('d', 't', 'o', 'p', 'e', 's', 'i'),
   ('d', 't', 'o', 'p', 'e', 'i', 's'),
   ('d', 't', 'o', 'p', 's', 'e', 'i'),
   ('d', 't', 'o', 'p', 's', 'i', 'e'),
   ('d', 't', 'o', 'p', 'i', 'e', 's'),
   ('d', 't', 'o', 'p', 'i', 's', 'e'),
   ('d', 't', 'o', 's', 'e', 'p', 'i'),
   ('d', 't', 'o', 's', 'e', 'i', 'p'),
   ('d', 't', 'o', 's', 'p', 'e', 'i'),
   ('d', 't', 'o', 's', 'p', 'i', 'e'),
   ('d', 't', 'o', 's', 'i', 'e', 'p'),
   ('d', 't', 'o', 's', 'i', 'p', 'e'),
   ('d', 't', 'o', 'i', 'e', 'p', 's'),
   ('d', 't', 'o', 'i', 'e', 's', 'p'),
   ('d', 't', 'o', 'i', 'p', 'e', 's'),
   ('d', 't', 'o', 'i', 'p', 's', 'e'),
   ('d', 't', 'o', 'i', 's', 'e', 'p'),
   ('d', 't', 'o', 'i', 's', 'p', 'e'),
   ('d', 't', 's', 'e', 'p', 'o', 'i'),
   ('d', 't', 's', 'e', 'p', 'i', 'o'),
   ('d', 't', 's', 'e', 'o', 'p', 'i'),
   ('d', 't', 's', 'e', 'o', 'i', 'p'),
   ('d', 't', 's', 'e', 'i', 'p', 'o'),
   ('d', 't', 's', 'e', 'i', 'o', 'p'),
   ('d', 't', 's', 'p', 'e', 'o', 'i'),
   ('d', 't', 's', 'p', 'e', 'i', 'o'),
   ('d', 't', 's', 'p', 'o', 'e', 'i'),
   ('d', 't', 's', 'p', 'o', 'i', 'e'),
   ('d', 't', 's', 'p', 'i', 'e', 'o'),
   ('d', 't', 's', 'p', 'i', 'o', 'e'),
   ('d', 't', 's', 'o', 'e', 'p', 'i'),
   ('d', 't', 's', 'o', 'e', 'i', 'p'),
   ('d', 't', 's', 'o', 'p', 'e', 'i'),
   ('d', 't', 's', 'o', 'p', 'i', 'e'),
   ('d', 't', 's', 'o', 'i', 'e', 'p'),
   ('d', 't', 's', 'o', 'i', 'p', 'e'),
   ('d', 't', 's', 'i', 'e', 'p', 'o'),
   ('d', 't', 's', 'i', 'e', 'o', 'p'),
   ('d', 't', 's', 'i', 'p', 'e', 'o'),
   ('d', 't', 's', 'i', 'p', 'o', 'e'),
   ('d', 't', 's', 'i', 'o', 'e', 'p'),
   ('d', 't', 's', 'i', 'o', 'p', 'e'),
   ('d', 't', 'i', 'e', 'p', 'o', 's'),
   ('d', 't', 'i', 'e', 'p', 's', 'o'),
   ('d', 't', 'i', 'e', 'o', 'p', 's'),
   ('d', 't', 'i', 'e', 'o', 's', 'p'),
   ('d', 't', 'i', 'e', 's', 'p', 'o'),
   ('d', 't', 'i', 'e', 's', 'o', 'p'),
   ('d', 't', 'i', 'p', 'e', 'o', 's'),
   ('d', 't', 'i', 'p', 'e', 's', 'o'),
   ('d', 't', 'i', 'p', 'o', 'e', 's'),
   ('d', 't', 'i', 'p', 'o', 's', 'e'),
   ('d', 't', 'i', 'p', 's', 'e', 'o'),
   ('d', 't', 'i', 'p', 's', 'o', 'e'),
   ('d', 't', 'i', 'o', 'e', 'p', 's'),
   ('d', 't', 'i', 'o', 'e', 's', 'p'),
   ('d', 't', 'i', 'o', 'p', 'e', 's'),
   ('d', 't', 'i', 'o', 'p', 's', 'e'),
   ('d', 't', 'i', 'o', 's', 'e', 'p'),
   ('d', 't', 'i', 'o', 's', 'p', 'e'),
   ('d', 't', 'i', 's', 'e', 'p', 'o'),
   ('d', 't', 'i', 's', 'e', 'o', 'p'),
   ('d', 't', 'i', 's', 'p', 'e', 'o'),
   ('d', 't', 'i', 's', 'p', 'o', 'e'),
   ('d', 't', 'i', 's', 'o', 'e', 'p'),
   ('d', 't', 'i', 's', 'o', 'p', 'e'),
   ('e', 'd', 'p', 'o', 's', 'i', 't'),
   ('e', 'd', 'p', 'o', 's', 't', 'i'),
   ('e', 'd', 'p', 'o', 'i', 's', 't'),
   ('e', 'd', 'p', 'o', 'i', 't', 's'),
   ('e', 'd', 'p', 'o', 't', 's', 'i'),
   ('e', 'd', 'p', 'o', 't', 'i', 's'),
   ('e', 'd', 'p', 's', 'o', 'i', 't'),
   ('e', 'd', 'p', 's', 'o', 't', 'i'),
   ('e', 'd', 'p', 's', 'i', 'o', 't'),
   ('e', 'd', 'p', 's', 'i', 't', 'o'),
   ('e', 'd', 'p', 's', 't', 'o', 'i'),
   ('e', 'd', 'p', 's', 't', 'i', 'o'),
   ('e', 'd', 'p', 'i', 'o', 's', 't'),
   ('e', 'd', 'p', 'i', 'o', 't', 's'),
   ('e', 'd', 'p', 'i', 's', 'o', 't'),
   ('e', 'd', 'p', 'i', 's', 't', 'o'),
   ('e', 'd', 'p', 'i', 't', 'o', 's'),
   ('e', 'd', 'p', 'i', 't', 's', 'o'),
   ('e', 'd', 'p', 't', 'o', 's', 'i'),
   ('e', 'd', 'p', 't', 'o', 'i', 's'),
   ('e', 'd', 'p', 't', 's', 'o', 'i'),
   ('e', 'd', 'p', 't', 's', 'i', 'o'),
   ('e', 'd', 'p', 't', 'i', 'o', 's'),
   ('e', 'd', 'p', 't', 'i', 's', 'o'),
   ('e', 'd', 'o', 'p', 's', 'i', 't'),
   ('e', 'd', 'o', 'p', 's', 't', 'i'),
   ('e', 'd', 'o', 'p', 'i', 's', 't'),
   ('e', 'd', 'o', 'p', 'i', 't', 's'),
   ('e', 'd', 'o', 'p', 't', 's', 'i'),
   ('e', 'd', 'o', 'p', 't', 'i', 's'),
   ('e', 'd', 'o', 's', 'p', 'i', 't'),
   ('e', 'd', 'o', 's', 'p', 't', 'i'),
   ('e', 'd', 'o', 's', 'i', 'p', 't'),
   ('e', 'd', 'o', 's', 'i', 't', 'p'),
   ('e', 'd', 'o', 's', 't', 'p', 'i'),
   ('e', 'd', 'o', 's', 't', 'i', 'p'),
   ('e', 'd', 'o', 'i', 'p', 's', 't'),
   ('e', 'd', 'o', 'i', 'p', 't', 's'),
   ('e', 'd', 'o', 'i', 's', 'p', 't'),
   ('e', 'd', 'o', 'i', 's', 't', 'p'),
   ('e', 'd', 'o', 'i', 't', 'p', 's'),
   ('e', 'd', 'o', 'i', 't', 's', 'p'),
   ('e', 'd', 'o', 't', 'p', 's', 'i'),
   ('e', 'd', 'o', 't', 'p', 'i', 's'),
   ('e', 'd', 'o', 't', 's', 'p', 'i'),
   ('e', 'd', 'o', 't', 's', 'i', 'p'),
   ('e', 'd', 'o', 't', 'i', 'p', 's'),
   ('e', 'd', 'o', 't', 'i', 's', 'p'),
   ('e', 'd', 's', 'p', 'o', 'i', 't'),
   ('e', 'd', 's', 'p', 'o', 't', 'i'),
   ('e', 'd', 's', 'p', 'i', 'o', 't'),
   ('e', 'd', 's', 'p', 'i', 't', 'o'),
   ('e', 'd', 's', 'p', 't', 'o', 'i'),
   ('e', 'd', 's', 'p', 't', 'i', 'o'),
   ('e', 'd', 's', 'o', 'p', 'i', 't'),
   ('e', 'd', 's', 'o', 'p', 't', 'i'),
   ('e', 'd', 's', 'o', 'i', 'p', 't'),
   ('e', 'd', 's', 'o', 'i', 't', 'p'),
   ('e', 'd', 's', 'o', 't', 'p', 'i'),
   ('e', 'd', 's', 'o', 't', 'i', 'p'),
   ('e', 'd', 's', 'i', 'p', 'o', 't'),
   ('e', 'd', 's', 'i', 'p', 't', 'o'),
   ('e', 'd', 's', 'i', 'o', 'p', 't'),
   ('e', 'd', 's', 'i', 'o', 't', 'p'),
   ('e', 'd', 's', 'i', 't', 'p', 'o'),
   ('e', 'd', 's', 'i', 't', 'o', 'p'),
   ('e', 'd', 's', 't', 'p', 'o', 'i'),
   ('e', 'd', 's', 't', 'p', 'i', 'o'),
   ('e', 'd', 's', 't', 'o', 'p', 'i'),
   ('e', 'd', 's', 't', 'o', 'i', 'p'),
   ('e', 'd', 's', 't', 'i', 'p', 'o'),
   ('e', 'd', 's', 't', 'i', 'o', 'p'),
   ('e', 'd', 'i', 'p', 'o', 's', 't'),
   ('e', 'd', 'i', 'p', 'o', 't', 's'),
   ('e', 'd', 'i', 'p', 's', 'o', 't'),
   ('e', 'd', 'i', 'p', 's', 't', 'o'),
   ('e', 'd', 'i', 'p', 't', 'o', 's'),
   ('e', 'd', 'i', 'p', 't', 's', 'o'),
   ('e', 'd', 'i', 'o', 'p', 's', 't'),
   ('e', 'd', 'i', 'o', 'p', 't', 's'),
   ('e', 'd', 'i', 'o', 's', 'p', 't'),
   ('e', 'd', 'i', 'o', 's', 't', 'p'),
   ('e', 'd', 'i', 'o', 't', 'p', 's'),
   ('e', 'd', 'i', 'o', 't', 's', 'p'),
   ('e', 'd', 'i', 's', 'p', 'o', 't'),
   ('e', 'd', 'i', 's', 'p', 't', 'o'),
   ('e', 'd', 'i', 's', 'o', 'p', 't'),
   ('e', 'd', 'i', 's', 'o', 't', 'p'),
   ('e', 'd', 'i', 's', 't', 'p', 'o'),
   ('e', 'd', 'i', 's', 't', 'o', 'p'),
   ('e', 'd', 'i', 't', 'p', 'o', 's'),
   ('e', 'd', 'i', 't', 'p', 's', 'o'),
   ('e', 'd', 'i', 't', 'o', 'p', 's'),
   ('e', 'd', 'i', 't', 'o', 's', 'p'),
   ('e', 'd', 'i', 't', 's', 'p', 'o'),
   ('e', 'd', 'i', 't', 's', 'o', 'p'),
   ('e', 'd', 't', 'p', 'o', 's', 'i'),
   ('e', 'd', 't', 'p', 'o', 'i', 's'),
   ('e', 'd', 't', 'p', 's', 'o', 'i'),
   ('e', 'd', 't', 'p', 's', 'i', 'o'),
   ('e', 'd', 't', 'p', 'i', 'o', 's'),
   ('e', 'd', 't', 'p', 'i', 's', 'o'),
   ('e', 'd', 't', 'o', 'p', 's', 'i'),
   ('e', 'd', 't', 'o', 'p', 'i', 's'),
   ('e', 'd', 't', 'o', 's', 'p', 'i'),
   ('e', 'd', 't', 'o', 's', 'i', 'p'),
   ('e', 'd', 't', 'o', 'i', 'p', 's'),
   ('e', 'd', 't', 'o', 'i', 's', 'p'),
   ('e', 'd', 't', 's', 'p', 'o', 'i'),
   ('e', 'd', 't', 's', 'p', 'i', 'o'),
   ('e', 'd', 't', 's', 'o', 'p', 'i'),
   ('e', 'd', 't', 's', 'o', 'i', 'p'),
   ('e', 'd', 't', 's', 'i', 'p', 'o'),
   ('e', 'd', 't', 's', 'i', 'o', 'p'),
   ('e', 'd', 't', 'i', 'p', 'o', 's'),
   ('e', 'd', 't', 'i', 'p', 's', 'o'),
   ('e', 'd', 't', 'i', 'o', 'p', 's'),
   ('e', 'd', 't', 'i', 'o', 's', 'p'),
   ('e', 'd', 't', 'i', 's', 'p', 'o'),
   ('e', 'd', 't', 'i', 's', 'o', 'p'),
   ('e', 'p', 'd', 'o', 's', 'i', 't'),
   ('e', 'p', 'd', 'o', 's', 't', 'i'),
   ('e', 'p', 'd', 'o', 'i', 's', 't'),
   ('e', 'p', 'd', 'o', 'i', 't', 's'),
   ('e', 'p', 'd', 'o', 't', 's', 'i'),
   ('e', 'p', 'd', 'o', 't', 'i', 's'),
   ('e', 'p', 'd', 's', 'o', 'i', 't'),
   ('e', 'p', 'd', 's', 'o', 't', 'i'),
   ('e', 'p', 'd', 's', 'i', 'o', 't'),
   ('e', 'p', 'd', 's', 'i', 't', 'o'),
   ('e', 'p', 'd', 's', 't', 'o', 'i'),
   ('e', 'p', 'd', 's', 't', 'i', 'o'),
   ('e', 'p', 'd', 'i', 'o', 's', 't'),
   ('e', 'p', 'd', 'i', 'o', 't', 's'),
   ('e', 'p', 'd', 'i', 's', 'o', 't'),
   ('e', 'p', 'd', 'i', 's', 't', 'o'),
   ('e', 'p', 'd', 'i', 't', 'o', 's'),
   ('e', 'p', 'd', 'i', 't', 's', 'o'),
   ('e', 'p', 'd', 't', 'o', 's', 'i'),
   ('e', 'p', 'd', 't', 'o', 'i', 's'),
   ('e', 'p', 'd', 't', 's', 'o', 'i'),
   ('e', 'p', 'd', 't', 's', 'i', 'o'),
   ('e', 'p', 'd', 't', 'i', 'o', 's'),
   ('e', 'p', 'd', 't', 'i', 's', 'o'),
   ('e', 'p', 'o', 'd', 's', 'i', 't'),
   ('e', 'p', 'o', 'd', 's', 't', 'i'),
   ('e', 'p', 'o', 'd', 'i', 's', 't'),
   ('e', 'p', 'o', 'd', 'i', 't', 's'),
   ('e', 'p', 'o', 'd', 't', 's', 'i'),
   ('e', 'p', 'o', 'd', 't', 'i', 's'),
   ('e', 'p', 'o', 's', 'd', 'i', 't'),
   ('e', 'p', 'o', 's', 'd', 't', 'i'),
   ('e', 'p', 'o', 's', 'i', 'd', 't'),
   ('e', 'p', 'o', 's', 'i', 't', 'd'),
   ('e', 'p', 'o', 's', 't', 'd', 'i'),
   ('e', 'p', 'o', 's', 't', 'i', 'd'),
   ('e', 'p', 'o', 'i', 'd', 's', 't'),
   ('e', 'p', 'o', 'i', 'd', 't', 's'),
   ('e', 'p', 'o', 'i', 's', 'd', 't'),
   ('e', 'p', 'o', 'i', 's', 't', 'd'),
   ('e', 'p', 'o', 'i', 't', 'd', 's'),
   ('e', 'p', 'o', 'i', 't', 's', 'd'),
   ('e', 'p', 'o', 't', 'd', 's', 'i'),
   ('e', 'p', 'o', 't', 'd', 'i', 's'),
   ('e', 'p', 'o', 't', 's', 'd', 'i'),
   ('e', 'p', 'o', 't', 's', 'i', 'd'),
   ('e', 'p', 'o', 't', 'i', 'd', 's'),
   ('e', 'p', 'o', 't', 'i', 's', 'd'),
   ('e', 'p', 's', 'd', 'o', 'i', 't'),
   ('e', 'p', 's', 'd', 'o', 't', 'i'),
   ('e', 'p', 's', 'd', 'i', 'o', 't'),
   ('e', 'p', 's', 'd', 'i', 't', 'o'),
   ('e', 'p', 's', 'd', 't', 'o', 'i'),
   ('e', 'p', 's', 'd', 't', 'i', 'o'),
   ('e', 'p', 's', 'o', 'd', 'i', 't'),
   ('e', 'p', 's', 'o', 'd', 't', 'i'),
   ('e', 'p', 's', 'o', 'i', 'd', 't'),
   ('e', 'p', 's', 'o', 'i', 't', 'd'),
   ('e', 'p', 's', 'o', 't', 'd', 'i'),
   ('e', 'p', 's', 'o', 't', 'i', 'd'),
   ('e', 'p', 's', 'i', 'd', 'o', 't'),
   ('e', 'p', 's', 'i', 'd', 't', 'o'),
   ('e', 'p', 's', 'i', 'o', 'd', 't'),
   ('e', 'p', 's', 'i', 'o', 't', 'd'),
   ('e', 'p', 's', 'i', 't', 'd', 'o'),
   ('e', 'p', 's', 'i', 't', 'o', 'd'),
   ('e', 'p', 's', 't', 'd', 'o', 'i'),
   ('e', 'p', 's', 't', 'd', 'i', 'o'),
   ('e', 'p', 's', 't', 'o', 'd', 'i'),
   ('e', 'p', 's', 't', 'o', 'i', 'd'),
   ('e', 'p', 's', 't', 'i', 'd', 'o'),
   ('e', 'p', 's', 't', 'i', 'o', 'd'),
   ('e', 'p', 'i', 'd', 'o', 's', 't'),
   ('e', 'p', 'i', 'd', 'o', 't', 's'),
   ('e', 'p', 'i', 'd', 's', 'o', 't'),
   ('e', 'p', 'i', 'd', 's', 't', 'o'),
   ('e', 'p', 'i', 'd', 't', 'o', 's'),
   ('e', 'p', 'i', 'd', 't', 's', 'o'),
   ('e', 'p', 'i', 'o', 'd', 's', 't'),
   ('e', 'p', 'i', 'o', 'd', 't', 's'),
   ('e', 'p', 'i', 'o', 's', 'd', 't'),
   ('e', 'p', 'i', 'o', 's', 't', 'd'),
   ('e', 'p', 'i', 'o', 't', 'd', 's'),
   ('e', 'p', 'i', 'o', 't', 's', 'd'),
   ('e', 'p', 'i', 's', 'd', 'o', 't'),
   ('e', 'p', 'i', 's', 'd', 't', 'o'),
   ('e', 'p', 'i', 's', 'o', 'd', 't'),
   ('e', 'p', 'i', 's', 'o', 't', 'd'),
   ('e', 'p', 'i', 's', 't', 'd', 'o'),
   ('e', 'p', 'i', 's', 't', 'o', 'd'),
   ('e', 'p', 'i', 't', 'd', 'o', 's'),
   ('e', 'p', 'i', 't', 'd', 's', 'o'),
   ('e', 'p', 'i', 't', 'o', 'd', 's'),
   ('e', 'p', 'i', 't', 'o', 's', 'd'),
   ('e', 'p', 'i', 't', 's', 'd', 'o'),
   ('e', 'p', 'i', 't', 's', 'o', 'd'),
   ('e', 'p', 't', 'd', 'o', 's', 'i'),
   ('e', 'p', 't', 'd', 'o', 'i', 's'),
   ('e', 'p', 't', 'd', 's', 'o', 'i'),
   ('e', 'p', 't', 'd', 's', 'i', 'o'),
   ('e', 'p', 't', 'd', 'i', 'o', 's'),
   ('e', 'p', 't', 'd', 'i', 's', 'o'),
   ('e', 'p', 't', 'o', 'd', 's', 'i'),
   ('e', 'p', 't', 'o', 'd', 'i', 's'),
   ('e', 'p', 't', 'o', 's', 'd', 'i'),
   ('e', 'p', 't', 'o', 's', 'i', 'd'),
   ('e', 'p', 't', 'o', 'i', 'd', 's'),
   ('e', 'p', 't', 'o', 'i', 's', 'd'),
   ('e', 'p', 't', 's', 'd', 'o', 'i'),
   ('e', 'p', 't', 's', 'd', 'i', 'o'),
   ('e', 'p', 't', 's', 'o', 'd', 'i'),
   ('e', 'p', 't', 's', 'o', 'i', 'd'),
   ('e', 'p', 't', 's', 'i', 'd', 'o'),
   ('e', 'p', 't', 's', 'i', 'o', 'd'),
   ('e', 'p', 't', 'i', 'd', 'o', 's'),
   ('e', 'p', 't', 'i', 'd', 's', 'o'),
   ('e', 'p', 't', 'i', 'o', 'd', 's'),
   ('e', 'p', 't', 'i', 'o', 's', 'd'),
   ('e', 'p', 't', 'i', 's', 'd', 'o'),
   ('e', 'p', 't', 'i', 's', 'o', 'd'),
   ('e', 'o', 'd', 'p', 's', 'i', 't'),
   ('e', 'o', 'd', 'p', 's', 't', 'i'),
   ('e', 'o', 'd', 'p', 'i', 's', 't'),
   ('e', 'o', 'd', 'p', 'i', 't', 's'),
   ('e', 'o', 'd', 'p', 't', 's', 'i'),
   ('e', 'o', 'd', 'p', 't', 'i', 's'),
   ('e', 'o', 'd', 's', 'p', 'i', 't'),
   ('e', 'o', 'd', 's', 'p', 't', 'i'),
   ('e', 'o', 'd', 's', 'i', 'p', 't'),
   ('e', 'o', 'd', 's', 'i', 't', 'p'),
   ('e', 'o', 'd', 's', 't', 'p', 'i'),
   ('e', 'o', 'd', 's', 't', 'i', 'p'),
   ('e', 'o', 'd', 'i', 'p', 's', 't'),
   ('e', 'o', 'd', 'i', 'p', 't', 's'),
   ('e', 'o', 'd', 'i', 's', 'p', 't'),
   ('e', 'o', 'd', 'i', 's', 't', 'p'),
   ('e', 'o', 'd', 'i', 't', 'p', 's'),
   ('e', 'o', 'd', 'i', 't', 's', 'p'),
   ('e', 'o', 'd', 't', 'p', 's', 'i'),
   ('e', 'o', 'd', 't', 'p', 'i', 's'),
   ('e', 'o', 'd', 't', 's', 'p', 'i'),
   ('e', 'o', 'd', 't', 's', 'i', 'p'),
   ('e', 'o', 'd', 't', 'i', 'p', 's'),
   ('e', 'o', 'd', 't', 'i', 's', 'p'),
   ('e', 'o', 'p', 'd', 's', 'i', 't'),
   ('e', 'o', 'p', 'd', 's', 't', 'i'),
   ('e', 'o', 'p', 'd', 'i', 's', 't'),
   ('e', 'o', 'p', 'd', 'i', 't', 's'),
   ('e', 'o', 'p', 'd', 't', 's', 'i'),
   ('e', 'o', 'p', 'd', 't', 'i', 's'),
   ('e', 'o', 'p', 's', 'd', 'i', 't'),
   ('e', 'o', 'p', 's', 'd', 't', 'i'),
   ('e', 'o', 'p', 's', 'i', 'd', 't'),
   ('e', 'o', 'p', 's', 'i', 't', 'd'),
   ('e', 'o', 'p', 's', 't', 'd', 'i'),
   ('e', 'o', 'p', 's', 't', 'i', 'd'),
   ('e', 'o', 'p', 'i', 'd', 's', 't'),
   ('e', 'o', 'p', 'i', 'd', 't', 's'),
   ('e', 'o', 'p', 'i', 's', 'd', 't'),
   ('e', 'o', 'p', 'i', 's', 't', 'd'),
   ...],
  125: [('d', 'e', 'p', 'o'),
   ('d', 'e', 'o', 'p'),
   ('d', 'p', 'e', 'o'),
   ('d', 'p', 'o', 'e'),
   ('d', 'o', 'e', 'p'),
   ('d', 'o', 'p', 'e'),
   ('e', 'd', 'p', 'o'),
   ('e', 'd', 'o', 'p'),
   ('e', 'p', 'd', 'o'),
   ('e', 'p', 'o', 'd'),
   ('e', 'o', 'd', 'p'),
   ('e', 'o', 'p', 'd'),
   ('p', 'd', 'e', 'o'),
   ('p', 'd', 'o', 'e'),
   ('p', 'e', 'd', 'o'),
   ('p', 'e', 'o', 'd'),
   ('p', 'o', 'd', 'e'),
   ('p', 'o', 'e', 'd'),
   ('o', 'd', 'e', 'p'),
   ('o', 'd', 'p', 'e'),
   ('o', 'e', 'd', 'p'),
   ('o', 'e', 'p', 'd'),
   ('o', 'p', 'd', 'e'),
   ('o', 'p', 'e', 'd')],
  129: [1, 2, 3],
  141: {...}},
 '_sh': <module 'IPython.core.shadowns' from '/home/vikrant/usr/local/anaconda3/lib/python3.6/site-packages/IPython/core/shadowns.py'>,
 'a': 3,
 'anagrm': ('t', 'l', 'f', 'e'),
 'b': b'Hello world',
 'cart': {'Eraser': 5, 'Pen': 10, 'Pencil': 12},
 'exit': <IPython.core.autocall.ZMQExitAutocall at 0x7fef25353978>,
 'f': <function __main__.f>,
 'f1': <function __main__.f1>,
 'files': ['wc.py',
  'push',
  'day1.ipynb',
  'head.py',
  'module.py',
  'day2.ipynb',
  'day2.html',
  'add1.py',
  'day3.ipynb',
  'add2.py',
  'functions.py',
  'data.txt',
  'test.txt',
  'module1.py',
  'day3.html',
  'Makefile',
  'add.py',
  'cat.py',
  'day1.html',
  'ls.py'],
 'freq': {'eight': 1,
  'five': 2,
  'four': 3,
  'one': 8,
  'seven': 1,
  'six': 3,
  'three': 6,
  'two': 7},
 'get_ipython': <bound method InteractiveShell.get_ipython of <ipykernel.zmqshell.ZMQInteractiveShell object at 0x7fef28395320>>,
 'item': 'Eraser',
 'items': ['Pen', 'Pencil', 'Eraser'],
 'itertools': <module 'itertools' (built-in)>,
 'key': 'Eraser',
 'light': <module 'light' from '/home/vikrant/trainings/2018/vmware-feb-python/light.py'>,
 'line': "Namespaces are one honking great idea -- let's do more of those!",
 'lines': ['Beautiful is better than ugly.\n',
  'Explicit is better than implicit.\n',
  'Simple is better than complex.\n',
  'Complex is better than complicated.\n',
  'Flat is better than nested.\n',
  'Sparse is better than dense.\n',
  'Readability counts.\n',
  "Special cases aren't special enough to break the rules.\n",
  'Although practicality beats purity.\n',
  'Errors should never pass silently.\n',
  'Unless explicitly silenced.\n',
  'In the face of ambiguity, refuse the temptation to guess.\n',
  'There should be one-- and preferably only one --obvious way to do it.\n',
  "Although that way may not be obvious at first unless you're Dutch.\n",
  'Now is better than never.\n',
  'Although never is often better than *right* now.\n',
  "If the implementation is hard to explain, it's a bad idea.\n",
  'If the implementation is easy to explain, it may be a good idea.\n',
  "Namespaces are one honking great idea -- let's do more of those!"],
 'os': <module 'os' from '/home/vikrant/usr/local/anaconda3/lib/python3.6/os.py'>,
 'person': {'author': 'Lewis carrol',
  'books': ['Alice in wonderland', 'Lokking through the glass']},
 'prices': [10, 12, 5],
 'quit': <IPython.core.autocall.ZMQExitAutocall at 0x7fef25353978>,
 's': 'Hello world',
 't': [['A1', 'B1', 'C1'],
  ['A2', 'B2', 'C2'],
  ['A3', 'B3', 'C3'],
  ['A4', 'B4', 'C4']],
 'teams': {'Anand': 'India',
  'David': 'USA',
  'Harry': 'USA',
  'Ken': 'UK',
  'Noufal': 'India'},
 'value': 5,
 'w': 'left',
 'wc': <module 'wc' from '/home/vikrant/trainings/2018/vmware-feb-python/wc.py'>,
 'wordfreq': <function __main__.wordfreq>,
 'wordfreq1': <function __main__.wordfreq1>,
 'wordfreq2': <function __main__.wordfreq2>,
 'words': ['ant', 'and', 'dad', 'cat', 'left'],
 'writecsv': <function __main__.writecsv>,
 'x': [1, 2, 3],
 'y': 4}
In [148]:
x = 3
def f():
    x = 1
    def g():
        nonlocal x
        print(x)

Classes

In [149]:
class BankAccount:

    def __init__(self):
        self.balance = 0
        
    def getbalance(self):
        return self.balance
    
    def deposit(self, amount):
        self.balance += amount
        
    def withdraw(self, amount):
        self.balance -= amount
In [150]:
a1 = BankAccount()
In [151]:
a1.getbalance()
Out[151]:
0
In [152]:
a1.deposit(30)
In [153]:
a1.getbalance()
Out[153]:
30
In [154]:
class Foo:
    pass
In [155]:
f = Foo()
In [156]:
f
Out[156]:
<__main__.Foo at 0x7fef0f8b7908>
In [157]:
Foo
Out[157]:
__main__.Foo
In [158]:
print(Foo)
<class '__main__.Foo'>
In [159]:
type(Foo)
Out[159]:
type
In [160]:
Foo
Out[160]:
__main__.Foo
In [161]:
f
Out[161]:
<__main__.Foo at 0x7fef0f8b7908>
In [162]:
type(f)
Out[162]:
__main__.Foo
In [163]:
class Point:
    
    def __init__(self, x, y):
        self.x = x
        self.y = y
        
In [164]:
Point.x
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-164-7a7eae6dfbec> in <module>()
----> 1 Point.x

AttributeError: type object 'Point' has no attribute 'x'
In [165]:
p = Point(2,3)
In [166]:
p.x
Out[166]:
2
In [167]:
p.y
Out[167]:
3
In [168]:
p.z = 0
In [169]:
p.z
Out[169]:
0
In [170]:
dir(p)
Out[170]:
['__class__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__le__',
 '__lt__',
 '__module__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 'x',
 'y',
 'z']
In [171]:
p.__dict__
Out[171]:
{'x': 2, 'y': 3, 'z': 0}
In [172]:
p.z
Out[172]:
0
In [173]:
p.z = 2
In [174]:
p.z
Out[174]:
2
In [175]:
p.x
Out[175]:
2
In [176]:
p.x = 1
In [177]:
p1 = Point(0,0)
In [178]:
p1.z
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-178-9f8bf4473cb3> in <module>()
----> 1 p1.z

AttributeError: 'Point' object has no attribute 'z'
In [179]:
class Light:
    
    def __init__(self, color):
        self._color = color
In [180]:
l = Light("Red")
In [181]:
l._color
Out[181]:
'Red'
In [183]:
help(Point)
Help on class Point in module __main__:

class Point(builtins.object)
 |  Methods defined here:
 |  
 |  __init__(self, x, y)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)

In [185]:
class Light:
    
    def __init__(self, color):
        self._color = color
        
    def getcolor(self):
        return self.color
In [188]:
class Light:
    
    def __init__(self, color):
        self._color = color
        
    def getcolor(self):
        return self.color
    
    def __setattr__(self, name, value):
        if name not in ["x","y","_color"]:
            raise ValueError("You can not set attribute",name )
        
        self.__dict__[name] = value
In [189]:
l = Light("Red")
In [190]:
l._color
Out[190]:
'Red'
In [191]:
l.x = 1
In [192]:
l.z = 3
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-192-854845e66c5a> in <module>()
----> 1 l.z = 3

<ipython-input-188-e238c03c3a35> in __setattr__(self, name, value)
      9     def __setattr__(self, name, value):
     10         if name not in ["x","y","_color"]:
---> 11             raise ValueError("You can not set attribute",name )
     12         else:
     13             self.__dict__[name] = value

ValueError: ('You can not set attribute', 'z')
In [193]:
class Immutable:
    
    def __init__(self, x, y):
        self.__dict__['x'] = x
        self.__dict__['y'] = y
        
    def __setattr__(self, name, value):
        raise ValueError("You can not add or change attributes of this object")
        
In [194]:
im = Immutable(2,3)
In [195]:
im.x
Out[195]:
2
In [208]:
im.x = 3
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-208-6dc239b1f960> in <module>()
----> 1 im.x = 3

<ipython-input-193-fb929d30079f> in __setattr__(self, name, value)
      6 
      7     def __setattr__(self, name, value):
----> 8         raise ValueError("You can not add or change attributes of this object")
      9 

ValueError: You can not add or change attributes of this object
In [197]:
class Point:
    
    def __init__(self, x, y):
        self.x = x
        self.y = y
        

class ColoredPoint(Point):
    
    color = (0,0,0)
    
    
In [209]:
im.__dict__['z'] = 3
In [210]:
im.z
Out[210]:
3
In [199]:
cp = ColoredPoint(2,3)
In [200]:
cp.x
Out[200]:
2
In [201]:
cp.color
Out[201]:
(0, 0, 0)
In [202]:
ColoredPoint.color
Out[202]:
(0, 0, 0)
In [203]:
cp1 = ColoredPoint(2,3)
In [204]:
ColoredPoint.color = (0,256,0)
In [205]:
cp.color
Out[205]:
(0, 256, 0)
In [206]:
class ColoredPoint(Point):
    
    def __init__(self, x, y, color):
        Point.__init__(x,y)
        self.color = color
In [207]:
class A:
    pass

class B:
    pass

class C(A,B):
    pass

Exceptions

In [211]:
def csvparser(file):
    return [[int(item) for item in line.strip().split(",")] for line in open(file)]
In [215]:
t = [[str(i*j) for i in range(1,6)] for j in range(1,11)]
In [216]:
writecsv(t, "tables.csv")
In [217]:
csvparser("tables.csv")
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-217-34843fd8253a> in <module>()
----> 1 csvparser("tables.csv")

<ipython-input-211-c5d85f9b2362> in csvparser(file)
      1 def csvparser(file):
----> 2     return [[int(item) for item in line.strip().split(",")] for line in open(file)]

<ipython-input-211-c5d85f9b2362> in <listcomp>(.0)
      1 def csvparser(file):
----> 2     return [[int(item) for item in line.strip().split(",")] for line in open(file)]

<ipython-input-211-c5d85f9b2362> in <listcomp>(.0)
      1 def csvparser(file):
----> 2     return [[int(item) for item in line.strip().split(",")] for line in open(file)]

ValueError: invalid literal for int() with base 10: ''
In [224]:
import sys
def parseint(strnum):
    try:
        return int(strnum)
    except ValueError as e:
        sys.stderr.write("Caught while parsing int " + strnum + "\n")
        return 0
    
def csvparser_(file):
    return [[parseint(item) for item in line.strip().split(",")] for line in open(file)]
In [225]:
csvparser_("tables.csv")
Caught while parsing int 
Caught while parsing int Nan
Caught while parsing int 
Caught while parsing int Nan
Out[225]:
[[1, 2, 3, 4, 5],
 [2, 4, 6, 8, 10],
 [3, 6, 9, 12, 15],
 [4, 8, 12, 16, 20],
 [5, 10, 15, 20, 25],
 [6, 12, 18, 24, 30],
 [7, 14, 0, 28, 35],
 [8, 16, 0, 32, 40],
 [9, 18, 27, 36, 0],
 [10, 20, 0, 40, 50]]

Command line application

In [226]:
%%file grep.py
import argparse

def parse_arguments():
    parser = argparse.ArgumentParser()
    parser.add_argument("pattern",help="Pattern to search for", 
                       type = str)
    parser.add_argument("filename",
                       help="File in which patter is to be searched",
                       type=str)
    
    return parser.parse_args()

if __name__ == "__main__":
    args = parse_arguments()
    print(args)
Writing grep.py
In [227]:
!python grep.py
usage: grep.py [-h] pattern filename
grep.py: error: the following arguments are required: pattern, filename
In [228]:
!python grep.py -h
usage: grep.py [-h] pattern filename

positional arguments:
  pattern     Pattern to search for
  filename    File in which patter is to be searched

optional arguments:
  -h, --help  show this help message and exit
In [229]:
!python grep.py "def " functions.py
Namespace(filename='functions.py', pattern='def ')
In [230]:
%%file grep.py
import argparse

def parse_arguments():
    parser = argparse.ArgumentParser()
    parser.add_argument("pattern",help="Pattern to search for", 
                       type = str)
    parser.add_argument("filename",
                       help="File in which patter is to be searched",
                       type=str)
    
    return parser.parse_args()

def grep(filename, pattern):
    with open(filename) as f:
        for line in f:
            if pattern in line:
                print(line,end="")



if __name__ == "__main__":
    args = parse_arguments()
    grep(args.filename, args.pattern)
Overwriting grep.py
In [231]:
!python grep.py "def " functions.py
def square(x):
def sumofsquares(x,y):
def add(x,y):
def test_square():
def test_sumofsquares():
def hello_test():
def test123():
def testsum():
In [234]:
%%file grep.py
import argparse

def parse_arguments():
    parser = argparse.ArgumentParser()
    parser.add_argument("pattern",help="Pattern to search for", 
                       type = str)
    parser.add_argument("filename",
                       help="File in which patter is to be searched",
                       type=str)
    parser.add_argument("-v", "--invert", help="Inverts selection",
                       action="store_true")
    
    return parser.parse_args()

def invertgrep(filename, pattern):
    with open(filename) as f:
        for line in f:
            if pattern not in line:
                print(line,end="")


def grep(filename, pattern):
    with open(filename) as f:
        for line in f:
            if pattern in line:
                print(line,end="")



if __name__ == "__main__":
    args = parse_arguments()
    if args.invert:
        invertgrep(args.filename, args.pattern)
    else:
        grep(args.filename, args.pattern)
Overwriting grep.py
In [237]:
!python grep.py -v assert functions.py
def square(x):
    """
    >>> square(-1)
    1
    >>> square(1)
    1
    """
    return x*x


def sumofsquares(x,y):
    """
    >>> sumofsquares(2,3)
    13
    >>> sumofsquares(-1,-1)
    2
    """
    return square(x) + square(y)

def add(x,y):
    """
    >>> add(1,2)
    1
    """
    return x+y

def test_square():
    
def test_sumofsquares():
     
def hello_test():
    
def test123():
    
def testsum():
    print(sum(range(10)))
In [244]:
%%file grep.py
import argparse

def parse_arguments():
    parser = argparse.ArgumentParser()
    parser.add_argument("pattern",help="Pattern to search for", 
                       type = str)
    parser.add_argument("filename",
                       help="File in which patter is to be searched",
                       type=str)
    parser.add_argument("-v", "--invert", help="Inverts selection",
                       action="store_true") #boolean option
    
    parser.add_argument("-b", "--context", help="Show context lines",
                        default=2,
                       type=int) #you can have int,str,list of its or str
    
    return parser.parse_args()

def invertgrep(filename, pattern):
    with open(filename) as f:
        for line in f:
            if pattern not in line:
                print(line,end="")


def grep(filename, pattern):
    with open(filename) as f:
        for line in f:
            if pattern in line:
                print(line,end="")



if __name__ == "__main__":
    args = parse_arguments()
    print(args)
    if args.invert:
        invertgrep(args.filename, args.pattern)
    else:
        grep(args.filename, args.pattern)
Overwriting grep.py
In [245]:
!python grep.py -h
usage: grep.py [-h] [-v] [-b CONTEXT] pattern filename

positional arguments:
  pattern               Pattern to search for
  filename              File in which patter is to be searched

optional arguments:
  -h, --help            show this help message and exit
  -v, --invert          Inverts selection
  -b CONTEXT, --context CONTEXT
                        Show context lines
In [242]:
!python grep.py -b 5 assert functions.py
Namespace(context=5, filename='functions.py', invert=False, pattern='assert')
    assert square(-1) == 1
    assert square(2)== 4
    assert square(4) == 15
    assert sumofsquares(2,3)==13
    assert sumofsquares(-1,-1)==2
    assert 1 == 2
    assert 2==3
In [246]:
!python grep.py  assert functions.py
Namespace(context=2, filename='functions.py', invert=False, pattern='assert')
    assert square(-1) == 1
    assert square(2)== 4
    assert square(4) == 15
    assert sumofsquares(2,3)==13
    assert sumofsquares(-1,-1)==2
    assert 1 == 2
    assert 2==3

Downloading stuff from internet

In [247]:
import requests
In [248]:
import urllib
In [250]:
help(urllib.urlopen)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-250-921a35b4d836> in <module>()
----> 1 help(urllib.urlopen)

AttributeError: module 'urllib' has no attribute 'urlopen'
In [251]:
import requests
In [252]:
response = requests.get("http://httpbin.org/html")
In [254]:
print(response.text[:100])
<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
      <h1>Herman Melville - Moby-Dick</h1>

     
In [255]:
response.status_code
Out[255]:
200
In [257]:
response = requests.get("http://httpbin.org/get", params={"arg1":"python","arg2":"script"})
In [258]:
print(response.text)
{
  "args": {
    "arg1": "python", 
    "arg2": "script"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Connection": "close", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.14.2"
  }, 
  "origin": "103.19.212.8", 
  "url": "http://httpbin.org/get?arg1=python&arg2=script"
}

In [259]:
response.json()
Out[259]:
{'args': {'arg1': 'python', 'arg2': 'script'},
 'headers': {'Accept': '*/*',
  'Accept-Encoding': 'gzip, deflate',
  'Connection': 'close',
  'Host': 'httpbin.org',
  'User-Agent': 'python-requests/2.14.2'},
 'origin': '103.19.212.8',
 'url': 'http://httpbin.org/get?arg1=python&arg2=script'}
In [260]:
response = requests.post("http://httpbin.org/post", data={"name":"vikrant","password":"123hello","arg":"jshdkash"})
In [261]:
print(response.text)
{
  "args": {}, 
  "data": "", 
  "files": {}, 
  "form": {
    "arg": "jshdkash", 
    "name": "vikrant", 
    "password": "123hello"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Connection": "close", 
    "Content-Length": "43", 
    "Content-Type": "application/x-www-form-urlencoded", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.14.2"
  }, 
  "json": null, 
  "origin": "103.19.212.8", 
  "url": "http://httpbin.org/post"
}

In [263]:
response = requests.post("http://httpbin.org/post", 
              data={"name":"vikrant","password":"123hello","arg":"jshdkash"},
              params={"param1":"1","param2":"2"})
In [264]:
print(response.text)
{
  "args": {
    "param1": "1", 
    "param2": "2"
  }, 
  "data": "", 
  "files": {}, 
  "form": {
    "arg": "jshdkash", 
    "name": "vikrant", 
    "password": "123hello"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Connection": "close", 
    "Content-Length": "43", 
    "Content-Type": "application/x-www-form-urlencoded", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.14.2"
  }, 
  "json": null, 
  "origin": "103.19.212.8", 
  "url": "http://httpbin.org/post?param1=1&param2=2"
}

In [265]:
response.json()
Out[265]:
{'args': {'param1': '1', 'param2': '2'},
 'data': '',
 'files': {},
 'form': {'arg': 'jshdkash', 'name': 'vikrant', 'password': '123hello'},
 'headers': {'Accept': '*/*',
  'Accept-Encoding': 'gzip, deflate',
  'Connection': 'close',
  'Content-Length': '43',
  'Content-Type': 'application/x-www-form-urlencoded',
  'Host': 'httpbin.org',
  'User-Agent': 'python-requests/2.14.2'},
 'json': None,
 'origin': '103.19.212.8',
 'url': 'http://httpbin.org/post?param1=1&param2=2'}
In [266]:
url = "https://api.github.com/orgs/vmware/repos"
repos = requests.get(url).json()
In [267]:
type(repos)
Out[267]:
list
In [268]:
repos[0]
Out[268]:
{'archive_url': 'https://api.github.com/repos/vmware/pyvco/{archive_format}{/ref}',
 'archived': False,
 'assignees_url': 'https://api.github.com/repos/vmware/pyvco/assignees{/user}',
 'blobs_url': 'https://api.github.com/repos/vmware/pyvco/git/blobs{/sha}',
 'branches_url': 'https://api.github.com/repos/vmware/pyvco/branches{/branch}',
 'clone_url': 'https://github.com/vmware/pyvco.git',
 'collaborators_url': 'https://api.github.com/repos/vmware/pyvco/collaborators{/collaborator}',
 'comments_url': 'https://api.github.com/repos/vmware/pyvco/comments{/number}',
 'commits_url': 'https://api.github.com/repos/vmware/pyvco/commits{/sha}',
 'compare_url': 'https://api.github.com/repos/vmware/pyvco/compare/{base}...{head}',
 'contents_url': 'https://api.github.com/repos/vmware/pyvco/contents/{+path}',
 'contributors_url': 'https://api.github.com/repos/vmware/pyvco/contributors',
 'created_at': '2011-03-23T18:18:26Z',
 'default_branch': 'master',
 'deployments_url': 'https://api.github.com/repos/vmware/pyvco/deployments',
 'description': 'Python bindings for VMware Orchestrator',
 'downloads_url': 'https://api.github.com/repos/vmware/pyvco/downloads',
 'events_url': 'https://api.github.com/repos/vmware/pyvco/events',
 'fork': True,
 'forks': 3,
 'forks_count': 3,
 'forks_url': 'https://api.github.com/repos/vmware/pyvco/forks',
 'full_name': 'vmware/pyvco',
 'git_commits_url': 'https://api.github.com/repos/vmware/pyvco/git/commits{/sha}',
 'git_refs_url': 'https://api.github.com/repos/vmware/pyvco/git/refs{/sha}',
 'git_tags_url': 'https://api.github.com/repos/vmware/pyvco/git/tags{/sha}',
 'git_url': 'git://github.com/vmware/pyvco.git',
 'has_downloads': True,
 'has_issues': False,
 'has_pages': True,
 'has_projects': True,
 'has_wiki': True,
 'homepage': 'http://sigma.github.com/vmw.vco',
 'hooks_url': 'https://api.github.com/repos/vmware/pyvco/hooks',
 'html_url': 'https://github.com/vmware/pyvco',
 'id': 1517508,
 'issue_comment_url': 'https://api.github.com/repos/vmware/pyvco/issues/comments{/number}',
 'issue_events_url': 'https://api.github.com/repos/vmware/pyvco/issues/events{/number}',
 'issues_url': 'https://api.github.com/repos/vmware/pyvco/issues{/number}',
 'keys_url': 'https://api.github.com/repos/vmware/pyvco/keys{/key_id}',
 'labels_url': 'https://api.github.com/repos/vmware/pyvco/labels{/name}',
 'language': 'Python',
 'languages_url': 'https://api.github.com/repos/vmware/pyvco/languages',
 'license': {'key': 'mit',
  'name': 'MIT License',
  'spdx_id': 'MIT',
  'url': 'https://api.github.com/licenses/mit'},
 'merges_url': 'https://api.github.com/repos/vmware/pyvco/merges',
 'milestones_url': 'https://api.github.com/repos/vmware/pyvco/milestones{/number}',
 'mirror_url': None,
 'name': 'pyvco',
 'notifications_url': 'https://api.github.com/repos/vmware/pyvco/notifications{?since,all,participating}',
 'open_issues': 0,
 'open_issues_count': 0,
 'owner': {'avatar_url': 'https://avatars0.githubusercontent.com/u/473334?v=4',
  'events_url': 'https://api.github.com/users/vmware/events{/privacy}',
  'followers_url': 'https://api.github.com/users/vmware/followers',
  'following_url': 'https://api.github.com/users/vmware/following{/other_user}',
  'gists_url': 'https://api.github.com/users/vmware/gists{/gist_id}',
  'gravatar_id': '',
  'html_url': 'https://github.com/vmware',
  'id': 473334,
  'login': 'vmware',
  'organizations_url': 'https://api.github.com/users/vmware/orgs',
  'received_events_url': 'https://api.github.com/users/vmware/received_events',
  'repos_url': 'https://api.github.com/users/vmware/repos',
  'site_admin': False,
  'starred_url': 'https://api.github.com/users/vmware/starred{/owner}{/repo}',
  'subscriptions_url': 'https://api.github.com/users/vmware/subscriptions',
  'type': 'Organization',
  'url': 'https://api.github.com/users/vmware'},
 'permissions': {'admin': False, 'pull': True, 'push': False},
 'private': False,
 'pulls_url': 'https://api.github.com/repos/vmware/pyvco/pulls{/number}',
 'pushed_at': '2010-11-07T15:55:51Z',
 'releases_url': 'https://api.github.com/repos/vmware/pyvco/releases{/id}',
 'size': 225,
 'ssh_url': 'git@github.com:vmware/pyvco.git',
 'stargazers_count': 11,
 'stargazers_url': 'https://api.github.com/repos/vmware/pyvco/stargazers',
 'statuses_url': 'https://api.github.com/repos/vmware/pyvco/statuses/{sha}',
 'subscribers_url': 'https://api.github.com/repos/vmware/pyvco/subscribers',
 'subscription_url': 'https://api.github.com/repos/vmware/pyvco/subscription',
 'svn_url': 'https://github.com/vmware/pyvco',
 'tags_url': 'https://api.github.com/repos/vmware/pyvco/tags',
 'teams_url': 'https://api.github.com/repos/vmware/pyvco/teams',
 'trees_url': 'https://api.github.com/repos/vmware/pyvco/git/trees{/sha}',
 'updated_at': '2017-03-07T10:31:57Z',
 'url': 'https://api.github.com/repos/vmware/pyvco',
 'watchers': 11,
 'watchers_count': 11}
In [269]:
for repo in repos:
    print(repo['full_name'], repo["forks"])
vmware/pyvco 3
vmware/rvc 45
vmware/rbvmomi 156
vmware/vprobe-toolkit 9
vmware/CloudFS 16
vmware/vcd-nclient 2
vmware/lmock 5
vmware/FireBreath 2
vmware/weasel 1
vmware/vmware-vcenter 91
vmware/vmware-vshield 6
vmware/vcloud-rest 37
vmware/GemstoneWebTools 0
vmware/vmware-vcsa 18
vmware/vmware-vmware_lib 26
vmware/saml20serviceprovider 1
vmware/pg_rewind 18
vmware/vco-powershel-plugin 2
vmware/jenkins-reviewbot 12
vmware/dbeekeeper 0
vmware/thinapp_factory 16
vmware/vmware-cassandra 4
vmware/vmware-java 0
vmware/data-driven-framework 3
vmware/pyvmomi 482
vmware/pyvmomi-community-samples 405
vmware/open-vm-tools 162
vmware/pyvmomi-tools 18
vmware/upgrade-framework 11
vmware/webcommander 33
In [270]:
for repo in sorted(repos, key=lambda r:r['forks'], reverse=True)[:5]:
    print(repo['full_name'], repo["forks"])
vmware/pyvmomi 482
vmware/pyvmomi-community-samples 405
vmware/open-vm-tools 162
vmware/rbvmomi 156
vmware/vmware-vcenter 91

problems

  • Write a function to find distance between two cities.
  • Write a function to read a text file aloud.

References

Further mini projects

  • try requests with http://httpbin.org site and refer http protocol white paper. try to implement your own very basic http server
  • implement tree command from unix, which print directory tree as text formmated output
    ├── numbers.txt
    ├── push
    ├── __pycache__
    │   ├── add1.cpython-36.pyc
    │   ├── add2.cpython-36.pyc
    │   ├── add.cpython-36.pyc
    │   ├── functions.cpython-36.pyc
    │   ├── functions.cpython-36-PYTEST.pyc
    │   ├── light.cpython-36.pyc
    │   ├── module.cpython-36.pyc
    │   └── wc.cpython-36.pyc
    ├── tables.csv
    ├── tables.csv~
    ├── test.txt
    ├── wc.py
    └── words.txt
In [ ]: