Skip to content

Instantly share code, notes, and snippets.

@rahuldave
Created February 7, 2013 07:04
Show Gist options
  • Save rahuldave/4729094 to your computer and use it in GitHub Desktop.
Save rahuldave/4729094 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "Homework1"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Homework"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_1. Use the text of Hamlet and compute a word frequency graph like the ones we have calculated. By reading the NLTK documentation, see if you can clean up as many glitches as possible. This will require you to either read the sections in the NLTK book on regular expressions, or find the right NLTK expressions to do it for you. The former is preferred."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_2. This homework is about Dynamic Programming. The following text is taken directly from chapter 4 of the nltk book.\n",
"\n",
"Dynamic programming is a general technique for designing algorithms which is widely used in natural language processing. The term 'programming' is used in a different sense to what you might expect, to mean planning or scheduling. Dynamic programming is used when a problem contains overlapping sub-problems. Instead of computing solutions to these sub-problems repeatedly, we simply store them in a lookup table.\n",
"\n",
"Pingala was an Indian author who lived around the 5th century B.C., and wrote a treatise on Sanskrit prosody called the Chandas Shastra. Virahanka extended this work around the 6th century A.D., studying the number of ways of combining short and long syllables to create a meter of length n. Short syllables, marked $S$, take up one unit of length, while long syllables, marked $L$, take two. Pingala found, for example, that there are five ways to construct a meter of length 4: \n",
"\n",
"$V_4 = {LL, SSL, SLS, LSS, SSSS}$. \n",
"\n",
"Observe that we can split $V_4$ into two subsets, those starting with L and those starting with S, as shown:\n",
"\n",
"\n",
"$V_4$ =\n",
" \n",
"* $LL, LSS$ \n",
" > i.e. $L$ prefixed to each item of $V_2 = {L, SS}$ \n",
"\n",
"* $SSL, SLS, SSSS$ \n",
" > i.e. S prefixed to each item of $V_3 = {SL, LS, SSS}$ \n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def virahanka1(n):\n",
" if n == 0:\n",
" return [\"\"]\n",
" elif n == 1:\n",
" return [\"S\"]\n",
" else:\n",
" s = [\"S\" + prosody for prosody in virahanka1(n-1)]\n",
" l = [\"L\" + prosody for prosody in virahanka1(n-2)]\n",
" return s + l"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def virahanka2(n):\n",
" lookup = [[\"\"], [\"S\"]]\n",
" for i in range(n-1):\n",
" s = [\"S\" + prosody for prosody in lookup[i+1]]\n",
" l = [\"L\" + prosody for prosody in lookup[i]]\n",
" lookup.append(s + l)\n",
" return lookup[n]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def virahanka3(n, lookup={0:[\"\"], 1:[\"S\"]}):\n",
" if n not in lookup:\n",
" s = [\"S\" + prosody for prosody in virahanka3(n-1)]\n",
" l = [\"L\" + prosody for prosody in virahanka3(n-2)]\n",
" lookup[n] = s + l\n",
" return lookup[n]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for n in range(15):\n",
" print virahanka1(n)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['']\n",
"['S']\n",
"['SS', 'L']\n",
"['SSS', 'SL', 'LS']\n",
"['SSSS', 'SSL', 'SLS', 'LSS', 'LL']\n",
"['SSSSS', 'SSSL', 'SSLS', 'SLSS', 'SLL', 'LSSS', 'LSL', 'LLS']\n",
"['SSSSSS', 'SSSSL', 'SSSLS', 'SSLSS', 'SSLL', 'SLSSS', 'SLSL', 'SLLS', 'LSSSS', 'LSSL', 'LSLS', 'LLSS', 'LLL']\n",
"['SSSSSSS', 'SSSSSL', 'SSSSLS', 'SSSLSS', 'SSSLL', 'SSLSSS', 'SSLSL', 'SSLLS', 'SLSSSS', 'SLSSL', 'SLSLS', 'SLLSS', 'SLLL', 'LSSSSS', 'LSSSL', 'LSSLS', 'LSLSS', 'LSLL', 'LLSSS', 'LLSL', 'LLLS']\n",
"['SSSSSSSS', 'SSSSSSL', 'SSSSSLS', 'SSSSLSS', 'SSSSLL', 'SSSLSSS', 'SSSLSL', 'SSSLLS', 'SSLSSSS', 'SSLSSL', 'SSLSLS', 'SSLLSS', 'SSLLL', 'SLSSSSS', 'SLSSSL', 'SLSSLS', 'SLSLSS', 'SLSLL', 'SLLSSS', 'SLLSL', 'SLLLS', 'LSSSSSS', 'LSSSSL', 'LSSSLS', 'LSSLSS', 'LSSLL', 'LSLSSS', 'LSLSL', 'LSLLS', 'LLSSSS', 'LLSSL', 'LLSLS', 'LLLSS', 'LLLL']\n",
"['SSSSSSSSS', 'SSSSSSSL', 'SSSSSSLS', 'SSSSSLSS', 'SSSSSLL', 'SSSSLSSS', 'SSSSLSL', 'SSSSLLS', 'SSSLSSSS', 'SSSLSSL', 'SSSLSLS', 'SSSLLSS', 'SSSLLL', 'SSLSSSSS', 'SSLSSSL', 'SSLSSLS', 'SSLSLSS', 'SSLSLL', 'SSLLSSS', 'SSLLSL', 'SSLLLS', 'SLSSSSSS', 'SLSSSSL', 'SLSSSLS', 'SLSSLSS', 'SLSSLL', 'SLSLSSS', 'SLSLSL', 'SLSLLS', 'SLLSSSS', 'SLLSSL', 'SLLSLS', 'SLLLSS', 'SLLLL', 'LSSSSSSS', 'LSSSSSL', 'LSSSSLS', 'LSSSLSS', 'LSSSLL', 'LSSLSSS', 'LSSLSL', 'LSSLLS', 'LSLSSSS', 'LSLSSL', 'LSLSLS', 'LSLLSS', 'LSLLL', 'LLSSSSS', 'LLSSSL', 'LLSSLS', 'LLSLSS', 'LLSLL', 'LLLSSS', 'LLLSL', 'LLLLS']\n",
"['SSSSSSSSSS', 'SSSSSSSSL', 'SSSSSSSLS', 'SSSSSSLSS', 'SSSSSSLL', 'SSSSSLSSS', 'SSSSSLSL', 'SSSSSLLS', 'SSSSLSSSS', 'SSSSLSSL', 'SSSSLSLS', 'SSSSLLSS', 'SSSSLLL', 'SSSLSSSSS', 'SSSLSSSL', 'SSSLSSLS', 'SSSLSLSS', 'SSSLSLL', 'SSSLLSSS', 'SSSLLSL', 'SSSLLLS', 'SSLSSSSSS', 'SSLSSSSL', 'SSLSSSLS', 'SSLSSLSS', 'SSLSSLL', 'SSLSLSSS', 'SSLSLSL', 'SSLSLLS', 'SSLLSSSS', 'SSLLSSL', 'SSLLSLS', 'SSLLLSS', 'SSLLLL', 'SLSSSSSSS', 'SLSSSSSL', 'SLSSSSLS', 'SLSSSLSS', 'SLSSSLL', 'SLSSLSSS', 'SLSSLSL', 'SLSSLLS', 'SLSLSSSS', 'SLSLSSL', 'SLSLSLS', 'SLSLLSS', 'SLSLLL', 'SLLSSSSS', 'SLLSSSL', 'SLLSSLS', 'SLLSLSS', 'SLLSLL', 'SLLLSSS', 'SLLLSL', 'SLLLLS', 'LSSSSSSSS', 'LSSSSSSL', 'LSSSSSLS', 'LSSSSLSS', 'LSSSSLL', 'LSSSLSSS', 'LSSSLSL', 'LSSSLLS', 'LSSLSSSS', 'LSSLSSL', 'LSSLSLS', 'LSSLLSS', 'LSSLLL', 'LSLSSSSS', 'LSLSSSL', 'LSLSSLS', 'LSLSLSS', 'LSLSLL', 'LSLLSSS', 'LSLLSL', 'LSLLLS', 'LLSSSSSS', 'LLSSSSL', 'LLSSSLS', 'LLSSLSS', 'LLSSLL', 'LLSLSSS', 'LLSLSL', 'LLSLLS', 'LLLSSSS', 'LLLSSL', 'LLLSLS', 'LLLLSS', 'LLLLL']\n",
"['SSSSSSSSSSS', 'SSSSSSSSSL', 'SSSSSSSSLS', 'SSSSSSSLSS', 'SSSSSSSLL', 'SSSSSSLSSS', 'SSSSSSLSL', 'SSSSSSLLS', 'SSSSSLSSSS', 'SSSSSLSSL', 'SSSSSLSLS', 'SSSSSLLSS', 'SSSSSLLL', 'SSSSLSSSSS', 'SSSSLSSSL', 'SSSSLSSLS', 'SSSSLSLSS', 'SSSSLSLL', 'SSSSLLSSS', 'SSSSLLSL', 'SSSSLLLS', 'SSSLSSSSSS', 'SSSLSSSSL', 'SSSLSSSLS', 'SSSLSSLSS', 'SSSLSSLL', 'SSSLSLSSS', 'SSSLSLSL', 'SSSLSLLS', 'SSSLLSSSS', 'SSSLLSSL', 'SSSLLSLS', 'SSSLLLSS', 'SSSLLLL', 'SSLSSSSSSS', 'SSLSSSSSL', 'SSLSSSSLS', 'SSLSSSLSS', 'SSLSSSLL', 'SSLSSLSSS', 'SSLSSLSL', 'SSLSSLLS', 'SSLSLSSSS', 'SSLSLSSL', 'SSLSLSLS', 'SSLSLLSS', 'SSLSLLL', 'SSLLSSSSS', 'SSLLSSSL', 'SSLLSSLS', 'SSLLSLSS', 'SSLLSLL', 'SSLLLSSS', 'SSLLLSL', 'SSLLLLS', 'SLSSSSSSSS', 'SLSSSSSSL', 'SLSSSSSLS', 'SLSSSSLSS', 'SLSSSSLL', 'SLSSSLSSS', 'SLSSSLSL', 'SLSSSLLS', 'SLSSLSSSS', 'SLSSLSSL', 'SLSSLSLS', 'SLSSLLSS', 'SLSSLLL', 'SLSLSSSSS', 'SLSLSSSL', 'SLSLSSLS', 'SLSLSLSS', 'SLSLSLL', 'SLSLLSSS', 'SLSLLSL', 'SLSLLLS', 'SLLSSSSSS', 'SLLSSSSL', 'SLLSSSLS', 'SLLSSLSS', 'SLLSSLL', 'SLLSLSSS', 'SLLSLSL', 'SLLSLLS', 'SLLLSSSS', 'SLLLSSL', 'SLLLSLS', 'SLLLLSS', 'SLLLLL', 'LSSSSSSSSS', 'LSSSSSSSL', 'LSSSSSSLS', 'LSSSSSLSS', 'LSSSSSLL', 'LSSSSLSSS', 'LSSSSLSL', 'LSSSSLLS', 'LSSSLSSSS', 'LSSSLSSL', 'LSSSLSLS', 'LSSSLLSS', 'LSSSLLL', 'LSSLSSSSS', 'LSSLSSSL', 'LSSLSSLS', 'LSSLSLSS', 'LSSLSLL', 'LSSLLSSS', 'LSSLLSL', 'LSSLLLS', 'LSLSSSSSS', 'LSLSSSSL', 'LSLSSSLS', 'LSLSSLSS', 'LSLSSLL', 'LSLSLSSS', 'LSLSLSL', 'LSLSLLS', 'LSLLSSSS', 'LSLLSSL', 'LSLLSLS', 'LSLLLSS', 'LSLLLL', 'LLSSSSSSS', 'LLSSSSSL', 'LLSSSSLS', 'LLSSSLSS', 'LLSSSLL', 'LLSSLSSS', 'LLSSLSL', 'LLSSLLS', 'LLSLSSSS', 'LLSLSSL', 'LLSLSLS', 'LLSLLSS', 'LLSLLL', 'LLLSSSSS', 'LLLSSSL', 'LLLSSLS', 'LLLSLSS', 'LLLSLL', 'LLLLSSS', 'LLLLSL', 'LLLLLS']\n",
"['SSSSSSSSSSSS', 'SSSSSSSSSSL', 'SSSSSSSSSLS', 'SSSSSSSSLSS', 'SSSSSSSSLL', 'SSSSSSSLSSS', 'SSSSSSSLSL', 'SSSSSSSLLS', 'SSSSSSLSSSS', 'SSSSSSLSSL', 'SSSSSSLSLS', 'SSSSSSLLSS', 'SSSSSSLLL', 'SSSSSLSSSSS', 'SSSSSLSSSL', 'SSSSSLSSLS', 'SSSSSLSLSS', 'SSSSSLSLL', 'SSSSSLLSSS', 'SSSSSLLSL', 'SSSSSLLLS', 'SSSSLSSSSSS', 'SSSSLSSSSL', 'SSSSLSSSLS', 'SSSSLSSLSS', 'SSSSLSSLL', 'SSSSLSLSSS', 'SSSSLSLSL', 'SSSSLSLLS', 'SSSSLLSSSS', 'SSSSLLSSL', 'SSSSLLSLS', 'SSSSLLLSS', 'SSSSLLLL', 'SSSLSSSSSSS', 'SSSLSSSSSL', 'SSSLSSSSLS', 'SSSLSSSLSS', 'SSSLSSSLL', 'SSSLSSLSSS', 'SSSLSSLSL', 'SSSLSSLLS', 'SSSLSLSSSS', 'SSSLSLSSL', 'SSSLSLSLS', 'SSSLSLLSS', 'SSSLSLLL', 'SSSLLSSSSS', 'SSSLLSSSL', 'SSSLLSSLS', 'SSSLLSLSS', 'SSSLLSLL', 'SSSLLLSSS', 'SSSLLLSL', 'SSSLLLLS', 'SSLSSSSSSSS', 'SSLSSSSSSL', 'SSLSSSSSLS', 'SSLSSSSLSS', 'SSLSSSSLL', 'SSLSSSLSSS', 'SSLSSSLSL', 'SSLSSSLLS', 'SSLSSLSSSS', 'SSLSSLSSL', 'SSLSSLSLS', 'SSLSSLLSS', 'SSLSSLLL', 'SSLSLSSSSS', 'SSLSLSSSL', 'SSLSLSSLS', 'SSLSLSLSS', 'SSLSLSLL', 'SSLSLLSSS', 'SSLSLLSL', 'SSLSLLLS', 'SSLLSSSSSS', 'SSLLSSSSL', 'SSLLSSSLS', 'SSLLSSLSS', 'SSLLSSLL', 'SSLLSLSSS', 'SSLLSLSL', 'SSLLSLLS', 'SSLLLSSSS', 'SSLLLSSL', 'SSLLLSLS', 'SSLLLLSS', 'SSLLLLL', 'SLSSSSSSSSS', 'SLSSSSSSSL', 'SLSSSSSSLS', 'SLSSSSSLSS', 'SLSSSSSLL', 'SLSSSSLSSS', 'SLSSSSLSL', 'SLSSSSLLS', 'SLSSSLSSSS', 'SLSSSLSSL', 'SLSSSLSLS', 'SLSSSLLSS', 'SLSSSLLL', 'SLSSLSSSSS', 'SLSSLSSSL', 'SLSSLSSLS', 'SLSSLSLSS', 'SLSSLSLL', 'SLSSLLSSS', 'SLSSLLSL', 'SLSSLLLS', 'SLSLSSSSSS', 'SLSLSSSSL', 'SLSLSSSLS', 'SLSLSSLSS', 'SLSLSSLL', 'SLSLSLSSS', 'SLSLSLSL', 'SLSLSLLS', 'SLSLLSSSS', 'SLSLLSSL', 'SLSLLSLS', 'SLSLLLSS', 'SLSLLLL', 'SLLSSSSSSS', 'SLLSSSSSL', 'SLLSSSSLS', 'SLLSSSLSS', 'SLLSSSLL', 'SLLSSLSSS', 'SLLSSLSL', 'SLLSSLLS', 'SLLSLSSSS', 'SLLSLSSL', 'SLLSLSLS', 'SLLSLLSS', 'SLLSLLL', 'SLLLSSSSS', 'SLLLSSSL', 'SLLLSSLS', 'SLLLSLSS', 'SLLLSLL', 'SLLLLSSS', 'SLLLLSL', 'SLLLLLS', 'LSSSSSSSSSS', 'LSSSSSSSSL', 'LSSSSSSSLS', 'LSSSSSSLSS', 'LSSSSSSLL', 'LSSSSSLSSS', 'LSSSSSLSL', 'LSSSSSLLS', 'LSSSSLSSSS', 'LSSSSLSSL', 'LSSSSLSLS', 'LSSSSLLSS', 'LSSSSLLL', 'LSSSLSSSSS', 'LSSSLSSSL', 'LSSSLSSLS', 'LSSSLSLSS', 'LSSSLSLL', 'LSSSLLSSS', 'LSSSLLSL', 'LSSSLLLS', 'LSSLSSSSSS', 'LSSLSSSSL', 'LSSLSSSLS', 'LSSLSSLSS', 'LSSLSSLL', 'LSSLSLSSS', 'LSSLSLSL', 'LSSLSLLS', 'LSSLLSSSS', 'LSSLLSSL', 'LSSLLSLS', 'LSSLLLSS', 'LSSLLLL', 'LSLSSSSSSS', 'LSLSSSSSL', 'LSLSSSSLS', 'LSLSSSLSS', 'LSLSSSLL', 'LSLSSLSSS', 'LSLSSLSL', 'LSLSSLLS', 'LSLSLSSSS', 'LSLSLSSL', 'LSLSLSLS', 'LSLSLLSS', 'LSLSLLL', 'LSLLSSSSS', 'LSLLSSSL', 'LSLLSSLS', 'LSLLSLSS', 'LSLLSLL', 'LSLLLSSS', 'LSLLLSL', 'LSLLLLS', 'LLSSSSSSSS', 'LLSSSSSSL', 'LLSSSSSLS', 'LLSSSSLSS', 'LLSSSSLL', 'LLSSSLSSS', 'LLSSSLSL', 'LLSSSLLS', 'LLSSLSSSS', 'LLSSLSSL', 'LLSSLSLS', 'LLSSLLSS', 'LLSSLLL', 'LLSLSSSSS', 'LLSLSSSL', 'LLSLSSLS', 'LLSLSLSS', 'LLSLSLL', 'LLSLLSSS', 'LLSLLSL', 'LLSLLLS', 'LLLSSSSSS', 'LLLSSSSL', 'LLLSSSLS', 'LLLSSLSS', 'LLLSSLL', 'LLLSLSSS', 'LLLSLSL', 'LLLSLLS', 'LLLLSSSS', 'LLLLSSL', 'LLLLSLS', 'LLLLLSS', 'LLLLLL']\n",
"['SSSSSSSSSSSSS', 'SSSSSSSSSSSL', 'SSSSSSSSSSLS', 'SSSSSSSSSLSS', 'SSSSSSSSSLL', 'SSSSSSSSLSSS', 'SSSSSSSSLSL', 'SSSSSSSSLLS', 'SSSSSSSLSSSS', 'SSSSSSSLSSL', 'SSSSSSSLSLS', 'SSSSSSSLLSS', 'SSSSSSSLLL', 'SSSSSSLSSSSS', 'SSSSSSLSSSL', 'SSSSSSLSSLS', 'SSSSSSLSLSS', 'SSSSSSLSLL', 'SSSSSSLLSSS', 'SSSSSSLLSL', 'SSSSSSLLLS', 'SSSSSLSSSSSS', 'SSSSSLSSSSL', 'SSSSSLSSSLS', 'SSSSSLSSLSS', 'SSSSSLSSLL', 'SSSSSLSLSSS', 'SSSSSLSLSL', 'SSSSSLSLLS', 'SSSSSLLSSSS', 'SSSSSLLSSL', 'SSSSSLLSLS', 'SSSSSLLLSS', 'SSSSSLLLL', 'SSSSLSSSSSSS', 'SSSSLSSSSSL', 'SSSSLSSSSLS', 'SSSSLSSSLSS', 'SSSSLSSSLL', 'SSSSLSSLSSS', 'SSSSLSSLSL', 'SSSSLSSLLS', 'SSSSLSLSSSS', 'SSSSLSLSSL', 'SSSSLSLSLS', 'SSSSLSLLSS', 'SSSSLSLLL', 'SSSSLLSSSSS', 'SSSSLLSSSL', 'SSSSLLSSLS', 'SSSSLLSLSS', 'SSSSLLSLL', 'SSSSLLLSSS', 'SSSSLLLSL', 'SSSSLLLLS', 'SSSLSSSSSSSS', 'SSSLSSSSSSL', 'SSSLSSSSSLS', 'SSSLSSSSLSS', 'SSSLSSSSLL', 'SSSLSSSLSSS', 'SSSLSSSLSL', 'SSSLSSSLLS', 'SSSLSSLSSSS', 'SSSLSSLSSL', 'SSSLSSLSLS', 'SSSLSSLLSS', 'SSSLSSLLL', 'SSSLSLSSSSS', 'SSSLSLSSSL', 'SSSLSLSSLS', 'SSSLSLSLSS', 'SSSLSLSLL', 'SSSLSLLSSS', 'SSSLSLLSL', 'SSSLSLLLS', 'SSSLLSSSSSS', 'SSSLLSSSSL', 'SSSLLSSSLS', 'SSSLLSSLSS', 'SSSLLSSLL', 'SSSLLSLSSS', 'SSSLLSLSL', 'SSSLLSLLS', 'SSSLLLSSSS', 'SSSLLLSSL', 'SSSLLLSLS', 'SSSLLLLSS', 'SSSLLLLL', 'SSLSSSSSSSSS', 'SSLSSSSSSSL', 'SSLSSSSSSLS', 'SSLSSSSSLSS', 'SSLSSSSSLL', 'SSLSSSSLSSS', 'SSLSSSSLSL', 'SSLSSSSLLS', 'SSLSSSLSSSS', 'SSLSSSLSSL', 'SSLSSSLSLS', 'SSLSSSLLSS', 'SSLSSSLLL', 'SSLSSLSSSSS', 'SSLSSLSSSL', 'SSLSSLSSLS', 'SSLSSLSLSS', 'SSLSSLSLL', 'SSLSSLLSSS', 'SSLSSLLSL', 'SSLSSLLLS', 'SSLSLSSSSSS', 'SSLSLSSSSL', 'SSLSLSSSLS', 'SSLSLSSLSS', 'SSLSLSSLL', 'SSLSLSLSSS', 'SSLSLSLSL', 'SSLSLSLLS', 'SSLSLLSSSS', 'SSLSLLSSL', 'SSLSLLSLS', 'SSLSLLLSS', 'SSLSLLLL', 'SSLLSSSSSSS', 'SSLLSSSSSL', 'SSLLSSSSLS', 'SSLLSSSLSS', 'SSLLSSSLL', 'SSLLSSLSSS', 'SSLLSSLSL', 'SSLLSSLLS', 'SSLLSLSSSS', 'SSLLSLSSL', 'SSLLSLSLS', 'SSLLSLLSS', 'SSLLSLLL', 'SSLLLSSSSS', 'SSLLLSSSL', 'SSLLLSSLS', 'SSLLLSLSS', 'SSLLLSLL', 'SSLLLLSSS', 'SSLLLLSL', 'SSLLLLLS', 'SLSSSSSSSSSS', 'SLSSSSSSSSL', 'SLSSSSSSSLS', 'SLSSSSSSLSS', 'SLSSSSSSLL', 'SLSSSSSLSSS', 'SLSSSSSLSL', 'SLSSSSSLLS', 'SLSSSSLSSSS', 'SLSSSSLSSL', 'SLSSSSLSLS', 'SLSSSSLLSS', 'SLSSSSLLL', 'SLSSSLSSSSS', 'SLSSSLSSSL', 'SLSSSLSSLS', 'SLSSSLSLSS', 'SLSSSLSLL', 'SLSSSLLSSS', 'SLSSSLLSL', 'SLSSSLLLS', 'SLSSLSSSSSS', 'SLSSLSSSSL', 'SLSSLSSSLS', 'SLSSLSSLSS', 'SLSSLSSLL', 'SLSSLSLSSS', 'SLSSLSLSL', 'SLSSLSLLS', 'SLSSLLSSSS', 'SLSSLLSSL', 'SLSSLLSLS', 'SLSSLLLSS', 'SLSSLLLL', 'SLSLSSSSSSS', 'SLSLSSSSSL', 'SLSLSSSSLS', 'SLSLSSSLSS', 'SLSLSSSLL', 'SLSLSSLSSS', 'SLSLSSLSL', 'SLSLSSLLS', 'SLSLSLSSSS', 'SLSLSLSSL', 'SLSLSLSLS', 'SLSLSLLSS', 'SLSLSLLL', 'SLSLLSSSSS', 'SLSLLSSSL', 'SLSLLSSLS', 'SLSLLSLSS', 'SLSLLSLL', 'SLSLLLSSS', 'SLSLLLSL', 'SLSLLLLS', 'SLLSSSSSSSS', 'SLLSSSSSSL', 'SLLSSSSSLS', 'SLLSSSSLSS', 'SLLSSSSLL', 'SLLSSSLSSS', 'SLLSSSLSL', 'SLLSSSLLS', 'SLLSSLSSSS', 'SLLSSLSSL', 'SLLSSLSLS', 'SLLSSLLSS', 'SLLSSLLL', 'SLLSLSSSSS', 'SLLSLSSSL', 'SLLSLSSLS', 'SLLSLSLSS', 'SLLSLSLL', 'SLLSLLSSS', 'SLLSLLSL', 'SLLSLLLS', 'SLLLSSSSSS', 'SLLLSSSSL', 'SLLLSSSLS', 'SLLLSSLSS', 'SLLLSSLL', 'SLLLSLSSS', 'SLLLSLSL', 'SLLLSLLS', 'SLLLLSSSS', 'SLLLLSSL', 'SLLLLSLS', 'SLLLLLSS', 'SLLLLLL', 'LSSSSSSSSSSS', 'LSSSSSSSSSL', 'LSSSSSSSSLS', 'LSSSSSSSLSS', 'LSSSSSSSLL', 'LSSSSSSLSSS', 'LSSSSSSLSL', 'LSSSSSSLLS', 'LSSSSSLSSSS', 'LSSSSSLSSL', 'LSSSSSLSLS', 'LSSSSSLLSS', 'LSSSSSLLL', 'LSSSSLSSSSS', 'LSSSSLSSSL', 'LSSSSLSSLS', 'LSSSSLSLSS', 'LSSSSLSLL', 'LSSSSLLSSS', 'LSSSSLLSL', 'LSSSSLLLS', 'LSSSLSSSSSS', 'LSSSLSSSSL', 'LSSSLSSSLS', 'LSSSLSSLSS', 'LSSSLSSLL', 'LSSSLSLSSS', 'LSSSLSLSL', 'LSSSLSLLS', 'LSSSLLSSSS', 'LSSSLLSSL', 'LSSSLLSLS', 'LSSSLLLSS', 'LSSSLLLL', 'LSSLSSSSSSS', 'LSSLSSSSSL', 'LSSLSSSSLS', 'LSSLSSSLSS', 'LSSLSSSLL', 'LSSLSSLSSS', 'LSSLSSLSL', 'LSSLSSLLS', 'LSSLSLSSSS', 'LSSLSLSSL', 'LSSLSLSLS', 'LSSLSLLSS', 'LSSLSLLL', 'LSSLLSSSSS', 'LSSLLSSSL', 'LSSLLSSLS', 'LSSLLSLSS', 'LSSLLSLL', 'LSSLLLSSS', 'LSSLLLSL', 'LSSLLLLS', 'LSLSSSSSSSS', 'LSLSSSSSSL', 'LSLSSSSSLS', 'LSLSSSSLSS', 'LSLSSSSLL', 'LSLSSSLSSS', 'LSLSSSLSL', 'LSLSSSLLS', 'LSLSSLSSSS', 'LSLSSLSSL', 'LSLSSLSLS', 'LSLSSLLSS', 'LSLSSLLL', 'LSLSLSSSSS', 'LSLSLSSSL', 'LSLSLSSLS', 'LSLSLSLSS', 'LSLSLSLL', 'LSLSLLSSS', 'LSLSLLSL', 'LSLSLLLS', 'LSLLSSSSSS', 'LSLLSSSSL', 'LSLLSSSLS', 'LSLLSSLSS', 'LSLLSSLL', 'LSLLSLSSS', 'LSLLSLSL', 'LSLLSLLS', 'LSLLLSSSS', 'LSLLLSSL', 'LSLLLSLS', 'LSLLLLSS', 'LSLLLLL', 'LLSSSSSSSSS', 'LLSSSSSSSL', 'LLSSSSSSLS', 'LLSSSSSLSS', 'LLSSSSSLL', 'LLSSSSLSSS', 'LLSSSSLSL', 'LLSSSSLLS', 'LLSSSLSSSS', 'LLSSSLSSL', 'LLSSSLSLS', 'LLSSSLLSS', 'LLSSSLLL', 'LLSSLSSSSS', 'LLSSLSSSL', 'LLSSLSSLS', 'LLSSLSLSS', 'LLSSLSLL', 'LLSSLLSSS', 'LLSSLLSL', 'LLSSLLLS', 'LLSLSSSSSS', 'LLSLSSSSL', 'LLSLSSSLS', 'LLSLSSLSS', 'LLSLSSLL', 'LLSLSLSSS', 'LLSLSLSL', 'LLSLSLLS', 'LLSLLSSSS', 'LLSLLSSL', 'LLSLLSLS', 'LLSLLLSS', 'LLSLLLL', 'LLLSSSSSSS', 'LLLSSSSSL', 'LLLSSSSLS', 'LLLSSSLSS', 'LLLSSSLL', 'LLLSSLSSS', 'LLLSSLSL', 'LLLSSLLS', 'LLLSLSSSS', 'LLLSLSSL', 'LLLSLSLS', 'LLLSLLSS', 'LLLSLLL', 'LLLLSSSSS', 'LLLLSSSL', 'LLLLSSLS', 'LLLLSLSS', 'LLLLSLL', 'LLLLLSSS', 'LLLLLSL', 'LLLLLLS']\n",
"['SSSSSSSSSSSSSS', 'SSSSSSSSSSSSL', 'SSSSSSSSSSSLS', 'SSSSSSSSSSLSS', 'SSSSSSSSSSLL', 'SSSSSSSSSLSSS', 'SSSSSSSSSLSL', 'SSSSSSSSSLLS', 'SSSSSSSSLSSSS', 'SSSSSSSSLSSL', 'SSSSSSSSLSLS', 'SSSSSSSSLLSS', 'SSSSSSSSLLL', 'SSSSSSSLSSSSS', 'SSSSSSSLSSSL', 'SSSSSSSLSSLS', 'SSSSSSSLSLSS', 'SSSSSSSLSLL', 'SSSSSSSLLSSS', 'SSSSSSSLLSL', 'SSSSSSSLLLS', 'SSSSSSLSSSSSS', 'SSSSSSLSSSSL', 'SSSSSSLSSSLS', 'SSSSSSLSSLSS', 'SSSSSSLSSLL', 'SSSSSSLSLSSS', 'SSSSSSLSLSL', 'SSSSSSLSLLS', 'SSSSSSLLSSSS', 'SSSSSSLLSSL', 'SSSSSSLLSLS', 'SSSSSSLLLSS', 'SSSSSSLLLL', 'SSSSSLSSSSSSS', 'SSSSSLSSSSSL', 'SSSSSLSSSSLS', 'SSSSSLSSSLSS', 'SSSSSLSSSLL', 'SSSSSLSSLSSS', 'SSSSSLSSLSL', 'SSSSSLSSLLS', 'SSSSSLSLSSSS', 'SSSSSLSLSSL', 'SSSSSLSLSLS', 'SSSSSLSLLSS', 'SSSSSLSLLL', 'SSSSSLLSSSSS', 'SSSSSLLSSSL', 'SSSSSLLSSLS', 'SSSSSLLSLSS', 'SSSSSLLSLL', 'SSSSSLLLSSS', 'SSSSSLLLSL', 'SSSSSLLLLS', 'SSSSLSSSSSSSS', 'SSSSLSSSSSSL', 'SSSSLSSSSSLS', 'SSSSLSSSSLSS', 'SSSSLSSSSLL', 'SSSSLSSSLSSS', 'SSSSLSSSLSL', 'SSSSLSSSLLS', 'SSSSLSSLSSSS', 'SSSSLSSLSSL', 'SSSSLSSLSLS', 'SSSSLSSLLSS', 'SSSSLSSLLL', 'SSSSLSLSSSSS', 'SSSSLSLSSSL', 'SSSSLSLSSLS', 'SSSSLSLSLSS', 'SSSSLSLSLL', 'SSSSLSLLSSS', 'SSSSLSLLSL', 'SSSSLSLLLS', 'SSSSLLSSSSSS', 'SSSSLLSSSSL', 'SSSSLLSSSLS', 'SSSSLLSSLSS', 'SSSSLLSSLL', 'SSSSLLSLSSS', 'SSSSLLSLSL', 'SSSSLLSLLS', 'SSSSLLLSSSS', 'SSSSLLLSSL', 'SSSSLLLSLS', 'SSSSLLLLSS', 'SSSSLLLLL', 'SSSLSSSSSSSSS', 'SSSLSSSSSSSL', 'SSSLSSSSSSLS', 'SSSLSSSSSLSS', 'SSSLSSSSSLL', 'SSSLSSSSLSSS', 'SSSLSSSSLSL', 'SSSLSSSSLLS', 'SSSLSSSLSSSS', 'SSSLSSSLSSL', 'SSSLSSSLSLS', 'SSSLSSSLLSS', 'SSSLSSSLLL', 'SSSLSSLSSSSS', 'SSSLSSLSSSL', 'SSSLSSLSSLS', 'SSSLSSLSLSS', 'SSSLSSLSLL', 'SSSLSSLLSSS', 'SSSLSSLLSL', 'SSSLSSLLLS', 'SSSLSLSSSSSS', 'SSSLSLSSSSL', 'SSSLSLSSSLS', 'SSSLSLSSLSS', 'SSSLSLSSLL', 'SSSLSLSLSSS', 'SSSLSLSLSL', 'SSSLSLSLLS', 'SSSLSLLSSSS', 'SSSLSLLSSL', 'SSSLSLLSLS', 'SSSLSLLLSS', 'SSSLSLLLL', 'SSSLLSSSSSSS', 'SSSLLSSSSSL', 'SSSLLSSSSLS', 'SSSLLSSSLSS', 'SSSLLSSSLL', 'SSSLLSSLSSS', 'SSSLLSSLSL', 'SSSLLSSLLS', 'SSSLLSLSSSS', 'SSSLLSLSSL', 'SSSLLSLSLS', 'SSSLLSLLSS', 'SSSLLSLLL', 'SSSLLLSSSSS', 'SSSLLLSSSL', 'SSSLLLSSLS', 'SSSLLLSLSS', 'SSSLLLSLL', 'SSSLLLLSSS', 'SSSLLLLSL', 'SSSLLLLLS', 'SSLSSSSSSSSSS', 'SSLSSSSSSSSL', 'SSLSSSSSSSLS', 'SSLSSSSSSLSS', 'SSLSSSSSSLL', 'SSLSSSSSLSSS', 'SSLSSSSSLSL', 'SSLSSSSSLLS', 'SSLSSSSLSSSS', 'SSLSSSSLSSL', 'SSLSSSSLSLS', 'SSLSSSSLLSS', 'SSLSSSSLLL', 'SSLSSSLSSSSS', 'SSLSSSLSSSL', 'SSLSSSLSSLS', 'SSLSSSLSLSS', 'SSLSSSLSLL', 'SSLSSSLLSSS', 'SSLSSSLLSL', 'SSLSSSLLLS', 'SSLSSLSSSSSS', 'SSLSSLSSSSL', 'SSLSSLSSSLS', 'SSLSSLSSLSS', 'SSLSSLSSLL', 'SSLSSLSLSSS', 'SSLSSLSLSL', 'SSLSSLSLLS', 'SSLSSLLSSSS', 'SSLSSLLSSL', 'SSLSSLLSLS', 'SSLSSLLLSS', 'SSLSSLLLL', 'SSLSLSSSSSSS', 'SSLSLSSSSSL', 'SSLSLSSSSLS', 'SSLSLSSSLSS', 'SSLSLSSSLL', 'SSLSLSSLSSS', 'SSLSLSSLSL', 'SSLSLSSLLS', 'SSLSLSLSSSS', 'SSLSLSLSSL', 'SSLSLSLSLS', 'SSLSLSLLSS', 'SSLSLSLLL', 'SSLSLLSSSSS', 'SSLSLLSSSL', 'SSLSLLSSLS', 'SSLSLLSLSS', 'SSLSLLSLL', 'SSLSLLLSSS', 'SSLSLLLSL', 'SSLSLLLLS', 'SSLLSSSSSSSS', 'SSLLSSSSSSL', 'SSLLSSSSSLS', 'SSLLSSSSLSS', 'SSLLSSSSLL', 'SSLLSSSLSSS', 'SSLLSSSLSL', 'SSLLSSSLLS', 'SSLLSSLSSSS', 'SSLLSSLSSL', 'SSLLSSLSLS', 'SSLLSSLLSS', 'SSLLSSLLL', 'SSLLSLSSSSS', 'SSLLSLSSSL', 'SSLLSLSSLS', 'SSLLSLSLSS', 'SSLLSLSLL', 'SSLLSLLSSS', 'SSLLSLLSL', 'SSLLSLLLS', 'SSLLLSSSSSS', 'SSLLLSSSSL', 'SSLLLSSSLS', 'SSLLLSSLSS', 'SSLLLSSLL', 'SSLLLSLSSS', 'SSLLLSLSL', 'SSLLLSLLS', 'SSLLLLSSSS', 'SSLLLLSSL', 'SSLLLLSLS', 'SSLLLLLSS', 'SSLLLLLL', 'SLSSSSSSSSSSS', 'SLSSSSSSSSSL', 'SLSSSSSSSSLS', 'SLSSSSSSSLSS', 'SLSSSSSSSLL', 'SLSSSSSSLSSS', 'SLSSSSSSLSL', 'SLSSSSSSLLS', 'SLSSSSSLSSSS', 'SLSSSSSLSSL', 'SLSSSSSLSLS', 'SLSSSSSLLSS', 'SLSSSSSLLL', 'SLSSSSLSSSSS', 'SLSSSSLSSSL', 'SLSSSSLSSLS', 'SLSSSSLSLSS', 'SLSSSSLSLL', 'SLSSSSLLSSS', 'SLSSSSLLSL', 'SLSSSSLLLS', 'SLSSSLSSSSSS', 'SLSSSLSSSSL', 'SLSSSLSSSLS', 'SLSSSLSSLSS', 'SLSSSLSSLL', 'SLSSSLSLSSS', 'SLSSSLSLSL', 'SLSSSLSLLS', 'SLSSSLLSSSS', 'SLSSSLLSSL', 'SLSSSLLSLS', 'SLSSSLLLSS', 'SLSSSLLLL', 'SLSSLSSSSSSS', 'SLSSLSSSSSL', 'SLSSLSSSSLS', 'SLSSLSSSLSS', 'SLSSLSSSLL', 'SLSSLSSLSSS', 'SLSSLSSLSL', 'SLSSLSSLLS', 'SLSSLSLSSSS', 'SLSSLSLSSL', 'SLSSLSLSLS', 'SLSSLSLLSS', 'SLSSLSLLL', 'SLSSLLSSSSS', 'SLSSLLSSSL', 'SLSSLLSSLS', 'SLSSLLSLSS', 'SLSSLLSLL', 'SLSSLLLSSS', 'SLSSLLLSL', 'SLSSLLLLS', 'SLSLSSSSSSSS', 'SLSLSSSSSSL', 'SLSLSSSSSLS', 'SLSLSSSSLSS', 'SLSLSSSSLL', 'SLSLSSSLSSS', 'SLSLSSSLSL', 'SLSLSSSLLS', 'SLSLSSLSSSS', 'SLSLSSLSSL', 'SLSLSSLSLS', 'SLSLSSLLSS', 'SLSLSSLLL', 'SLSLSLSSSSS', 'SLSLSLSSSL', 'SLSLSLSSLS', 'SLSLSLSLSS', 'SLSLSLSLL', 'SLSLSLLSSS', 'SLSLSLLSL', 'SLSLSLLLS', 'SLSLLSSSSSS', 'SLSLLSSSSL', 'SLSLLSSSLS', 'SLSLLSSLSS', 'SLSLLSSLL', 'SLSLLSLSSS', 'SLSLLSLSL', 'SLSLLSLLS', 'SLSLLLSSSS', 'SLSLLLSSL', 'SLSLLLSLS', 'SLSLLLLSS', 'SLSLLLLL', 'SLLSSSSSSSSS', 'SLLSSSSSSSL', 'SLLSSSSSSLS', 'SLLSSSSSLSS', 'SLLSSSSSLL', 'SLLSSSSLSSS', 'SLLSSSSLSL', 'SLLSSSSLLS', 'SLLSSSLSSSS', 'SLLSSSLSSL', 'SLLSSSLSLS', 'SLLSSSLLSS', 'SLLSSSLLL', 'SLLSSLSSSSS', 'SLLSSLSSSL', 'SLLSSLSSLS', 'SLLSSLSLSS', 'SLLSSLSLL', 'SLLSSLLSSS', 'SLLSSLLSL', 'SLLSSLLLS', 'SLLSLSSSSSS', 'SLLSLSSSSL', 'SLLSLSSSLS', 'SLLSLSSLSS', 'SLLSLSSLL', 'SLLSLSLSSS', 'SLLSLSLSL', 'SLLSLSLLS', 'SLLSLLSSSS', 'SLLSLLSSL', 'SLLSLLSLS', 'SLLSLLLSS', 'SLLSLLLL', 'SLLLSSSSSSS', 'SLLLSSSSSL', 'SLLLSSSSLS', 'SLLLSSSLSS', 'SLLLSSSLL', 'SLLLSSLSSS', 'SLLLSSLSL', 'SLLLSSLLS', 'SLLLSLSSSS', 'SLLLSLSSL', 'SLLLSLSLS', 'SLLLSLLSS', 'SLLLSLLL', 'SLLLLSSSSS', 'SLLLLSSSL', 'SLLLLSSLS', 'SLLLLSLSS', 'SLLLLSLL', 'SLLLLLSSS', 'SLLLLLSL', 'SLLLLLLS', 'LSSSSSSSSSSSS', 'LSSSSSSSSSSL', 'LSSSSSSSSSLS', 'LSSSSSSSSLSS', 'LSSSSSSSSLL', 'LSSSSSSSLSSS', 'LSSSSSSSLSL', 'LSSSSSSSLLS', 'LSSSSSSLSSSS', 'LSSSSSSLSSL', 'LSSSSSSLSLS', 'LSSSSSSLLSS', 'LSSSSSSLLL', 'LSSSSSLSSSSS', 'LSSSSSLSSSL', 'LSSSSSLSSLS', 'LSSSSSLSLSS', 'LSSSSSLSLL', 'LSSSSSLLSSS', 'LSSSSSLLSL', 'LSSSSSLLLS', 'LSSSSLSSSSSS', 'LSSSSLSSSSL', 'LSSSSLSSSLS', 'LSSSSLSSLSS', 'LSSSSLSSLL', 'LSSSSLSLSSS', 'LSSSSLSLSL', 'LSSSSLSLLS', 'LSSSSLLSSSS', 'LSSSSLLSSL', 'LSSSSLLSLS', 'LSSSSLLLSS', 'LSSSSLLLL', 'LSSSLSSSSSSS', 'LSSSLSSSSSL', 'LSSSLSSSSLS', 'LSSSLSSSLSS', 'LSSSLSSSLL', 'LSSSLSSLSSS', 'LSSSLSSLSL', 'LSSSLSSLLS', 'LSSSLSLSSSS', 'LSSSLSLSSL', 'LSSSLSLSLS', 'LSSSLSLLSS', 'LSSSLSLLL', 'LSSSLLSSSSS', 'LSSSLLSSSL', 'LSSSLLSSLS', 'LSSSLLSLSS', 'LSSSLLSLL', 'LSSSLLLSSS', 'LSSSLLLSL', 'LSSSLLLLS', 'LSSLSSSSSSSS', 'LSSLSSSSSSL', 'LSSLSSSSSLS', 'LSSLSSSSLSS', 'LSSLSSSSLL', 'LSSLSSSLSSS', 'LSSLSSSLSL', 'LSSLSSSLLS', 'LSSLSSLSSSS', 'LSSLSSLSSL', 'LSSLSSLSLS', 'LSSLSSLLSS', 'LSSLSSLLL', 'LSSLSLSSSSS', 'LSSLSLSSSL', 'LSSLSLSSLS', 'LSSLSLSLSS', 'LSSLSLSLL', 'LSSLSLLSSS', 'LSSLSLLSL', 'LSSLSLLLS', 'LSSLLSSSSSS', 'LSSLLSSSSL', 'LSSLLSSSLS', 'LSSLLSSLSS', 'LSSLLSSLL', 'LSSLLSLSSS', 'LSSLLSLSL', 'LSSLLSLLS', 'LSSLLLSSSS', 'LSSLLLSSL', 'LSSLLLSLS', 'LSSLLLLSS', 'LSSLLLLL', 'LSLSSSSSSSSS', 'LSLSSSSSSSL', 'LSLSSSSSSLS', 'LSLSSSSSLSS', 'LSLSSSSSLL', 'LSLSSSSLSSS', 'LSLSSSSLSL', 'LSLSSSSLLS', 'LSLSSSLSSSS', 'LSLSSSLSSL', 'LSLSSSLSLS', 'LSLSSSLLSS', 'LSLSSSLLL', 'LSLSSLSSSSS', 'LSLSSLSSSL', 'LSLSSLSSLS', 'LSLSSLSLSS', 'LSLSSLSLL', 'LSLSSLLSSS', 'LSLSSLLSL', 'LSLSSLLLS', 'LSLSLSSSSSS', 'LSLSLSSSSL', 'LSLSLSSSLS', 'LSLSLSSLSS', 'LSLSLSSLL', 'LSLSLSLSSS', 'LSLSLSLSL', 'LSLSLSLLS', 'LSLSLLSSSS', 'LSLSLLSSL', 'LSLSLLSLS', 'LSLSLLLSS', 'LSLSLLLL', 'LSLLSSSSSSS', 'LSLLSSSSSL', 'LSLLSSSSLS', 'LSLLSSSLSS', 'LSLLSSSLL', 'LSLLSSLSSS', 'LSLLSSLSL', 'LSLLSSLLS', 'LSLLSLSSSS', 'LSLLSLSSL', 'LSLLSLSLS', 'LSLLSLLSS', 'LSLLSLLL', 'LSLLLSSSSS', 'LSLLLSSSL', 'LSLLLSSLS', 'LSLLLSLSS', 'LSLLLSLL', 'LSLLLLSSS', 'LSLLLLSL', 'LSLLLLLS', 'LLSSSSSSSSSS', 'LLSSSSSSSSL', 'LLSSSSSSSLS', 'LLSSSSSSLSS', 'LLSSSSSSLL', 'LLSSSSSLSSS', 'LLSSSSSLSL', 'LLSSSSSLLS', 'LLSSSSLSSSS', 'LLSSSSLSSL', 'LLSSSSLSLS', 'LLSSSSLLSS', 'LLSSSSLLL', 'LLSSSLSSSSS', 'LLSSSLSSSL', 'LLSSSLSSLS', 'LLSSSLSLSS', 'LLSSSLSLL', 'LLSSSLLSSS', 'LLSSSLLSL', 'LLSSSLLLS', 'LLSSLSSSSSS', 'LLSSLSSSSL', 'LLSSLSSSLS', 'LLSSLSSLSS', 'LLSSLSSLL', 'LLSSLSLSSS', 'LLSSLSLSL', 'LLSSLSLLS', 'LLSSLLSSSS', 'LLSSLLSSL', 'LLSSLLSLS', 'LLSSLLLSS', 'LLSSLLLL', 'LLSLSSSSSSS', 'LLSLSSSSSL', 'LLSLSSSSLS', 'LLSLSSSLSS', 'LLSLSSSLL', 'LLSLSSLSSS', 'LLSLSSLSL', 'LLSLSSLLS', 'LLSLSLSSSS', 'LLSLSLSSL', 'LLSLSLSLS', 'LLSLSLLSS', 'LLSLSLLL', 'LLSLLSSSSS', 'LLSLLSSSL', 'LLSLLSSLS', 'LLSLLSLSS', 'LLSLLSLL', 'LLSLLLSSS', 'LLSLLLSL', 'LLSLLLLS', 'LLLSSSSSSSS', 'LLLSSSSSSL', 'LLLSSSSSLS', 'LLLSSSSLSS', 'LLLSSSSLL', 'LLLSSSLSSS', 'LLLSSSLSL', 'LLLSSSLLS', 'LLLSSLSSSS', 'LLLSSLSSL', 'LLLSSLSLS', 'LLLSSLLSS', 'LLLSSLLL', 'LLLSLSSSSS', 'LLLSLSSSL', 'LLLSLSSLS', 'LLLSLSLSS', 'LLLSLSLL', 'LLLSLLSSS', 'LLLSLLSL', 'LLLSLLLS', 'LLLLSSSSSS', 'LLLLSSSSL', 'LLLLSSSLS', 'LLLLSSLSS', 'LLLLSSLL', 'LLLLSLSSS', 'LLLLSLSL', 'LLLLSLLS', 'LLLLLSSSS', 'LLLLLSSL', 'LLLLLSLS', 'LLLLLLSS', 'LLLLLLL']\n"
]
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"assert(1==1)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"assert(1==0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"ename": "AssertionError",
"evalue": "",
"output_type": "pyerr",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-8-586389fbe9b9>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32massert\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mAssertionError\u001b[0m: "
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Play with these functions. Then:\n",
"(a) Use assert to instrument a copy of virahanka1 to make sure that the cases n=0,1,2 are computed correctly (read the python documentation for assert and unittest) \n",
"(b) n not an int cannot happen; the function should return None in this case. You may choose to handle an exception or use a conditional\n",
"(c) use the python timeit module to get average running times for all three functions, from n=1..15. Report these in a python dictionary with keys the function name and values a list of times nor n points For bonus points, put these in a Pandas DataFrame and plot. You will find the Pandas documentation and especially this: http://pandas.pydata.org/pandas-docs/dev/visualization.html"
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment