1{
2 "cells": [
3  {
4   "cell_type": "markdown",
5   "metadata": {},
6   "source": [
7    "# Running Code"
8   ]
9  },
10  {
11   "cell_type": "markdown",
12   "metadata": {},
13   "source": [
14    "First and foremost, the Jupyter Notebook is an interactive environment for writing and running code. The notebook is capable of running code in a wide range of languages. However, each notebook is associated with a single kernel.  This notebook is associated with the IPython kernel, therefore runs Python code."
15   ]
16  },
17  {
18   "cell_type": "markdown",
19   "metadata": {},
20   "source": [
21    "## Code cells allow you to enter and run code"
22   ]
23  },
24  {
25   "cell_type": "markdown",
26   "metadata": {},
27   "source": [
28    "Run a code cell using `Shift-Enter` or pressing the <button class='btn btn-default btn-xs'><i class=\"icon-step-forward fa fa-play\"></i></button> button in the toolbar above:"
29   ]
30  },
31  {
32   "cell_type": "code",
33   "execution_count": 2,
34   "metadata": {
35    "collapsed": false
36   },
37   "outputs": [],
38   "source": [
39    "a = 10"
40   ]
41  },
42  {
43   "cell_type": "code",
44   "execution_count": 3,
45   "metadata": {
46    "collapsed": false
47   },
48   "outputs": [
49    {
50     "name": "stdout",
51     "output_type": "stream",
52     "text": [
53      "10\n"
54     ]
55    }
56   ],
57   "source": [
58    "print(a)"
59   ]
60  },
61  {
62   "cell_type": "markdown",
63   "metadata": {},
64   "source": [
65    "There are two other keyboard shortcuts for running code:\n",
66    "\n",
67    "* `Alt-Enter` runs the current cell and inserts a new one below.\n",
68    "* `Ctrl-Enter` run the current cell and enters command mode."
69   ]
70  },
71  {
72   "cell_type": "markdown",
73   "metadata": {},
74   "source": [
75    "## Managing the Kernel"
76   ]
77  },
78  {
79   "cell_type": "markdown",
80   "metadata": {},
81   "source": [
82    "Code is run in a separate process called the Kernel.  The Kernel can be interrupted or restarted.  Try running the following cell and then hit the <button class='btn btn-default btn-xs'><i class='icon-stop fa fa-stop'></i></button> button in the toolbar above."
83   ]
84  },
85  {
86   "cell_type": "code",
87   "execution_count": 4,
88   "metadata": {
89    "collapsed": false
90   },
91   "outputs": [],
92   "source": [
93    "import time\n",
94    "time.sleep(10)"
95   ]
96  },
97  {
98   "cell_type": "markdown",
99   "metadata": {},
100   "source": [
101    "If the Kernel dies you will be prompted to restart it. Here we call the low-level system libc.time routine with the wrong argument via\n",
102    "ctypes to segfault the Python interpreter:"
103   ]
104  },
105  {
106   "cell_type": "code",
107   "execution_count": 5,
108   "metadata": {
109    "collapsed": false
110   },
111   "outputs": [],
112   "source": [
113    "import sys\n",
114    "from ctypes import CDLL\n",
115    "# This will crash a Linux or Mac system\n",
116    "# equivalent calls can be made on Windows\n",
117    "\n",
118    "# Uncomment these lines if you would like to see the segfault\n",
119    "\n",
120    "# dll = 'dylib' if sys.platform == 'darwin' else 'so.6'\n",
121    "# libc = CDLL(\"libc.%s\" % dll) \n",
122    "# libc.time(-1)  # BOOM!!"
123   ]
124  },
125  {
126   "cell_type": "markdown",
127   "metadata": {},
128   "source": [
129    "## Cell menu"
130   ]
131  },
132  {
133   "cell_type": "markdown",
134   "metadata": {},
135   "source": [
136    "The \"Cell\" menu has a number of menu items for running code in different ways. These includes:\n",
137    "\n",
138    "* Run and Select Below\n",
139    "* Run and Insert Below\n",
140    "* Run All\n",
141    "* Run All Above\n",
142    "* Run All Below"
143   ]
144  },
145  {
146   "cell_type": "markdown",
147   "metadata": {},
148   "source": [
149    "## Restarting the kernels"
150   ]
151  },
152  {
153   "cell_type": "markdown",
154   "metadata": {},
155   "source": [
156    "The kernel maintains the state of a notebook's computations. You can reset this state by restarting the kernel. This is done by clicking on the <button class='btn btn-default btn-xs'><i class='fa fa-repeat icon-repeat'></i></button> in the toolbar above."
157   ]
158  },
159  {
160   "cell_type": "markdown",
161   "metadata": {},
162   "source": [
163    "## sys.stdout and sys.stderr"
164   ]
165  },
166  {
167   "cell_type": "markdown",
168   "metadata": {},
169   "source": [
170    "The stdout and stderr streams are displayed as text in the output area."
171   ]
172  },
173  {
174   "cell_type": "code",
175   "execution_count": 6,
176   "metadata": {
177    "collapsed": false
178   },
179   "outputs": [
180    {
181     "name": "stdout",
182     "output_type": "stream",
183     "text": [
184      "hi, stdout\n"
185     ]
186    }
187   ],
188   "source": [
189    "print(\"hi, stdout\")"
190   ]
191  },
192  {
193   "cell_type": "code",
194   "execution_count": 7,
195   "metadata": {
196    "collapsed": false
197   },
198   "outputs": [
199    {
200     "name": "stderr",
201     "output_type": "stream",
202     "text": [
203      "hi, stderr\n"
204     ]
205    }
206   ],
207   "source": [
208    "from __future__ import print_function\n",
209    "print('hi, stderr', file=sys.stderr)"
210   ]
211  },
212  {
213   "cell_type": "markdown",
214   "metadata": {},
215   "source": [
216    "## Output is asynchronous"
217   ]
218  },
219  {
220   "cell_type": "markdown",
221   "metadata": {},
222   "source": [
223    "All output is displayed asynchronously as it is generated in the Kernel. If you execute the next cell, you will see the output one piece at a time, not all at the end."
224   ]
225  },
226  {
227   "cell_type": "code",
228   "execution_count": 8,
229   "metadata": {
230    "collapsed": false
231   },
232   "outputs": [
233    {
234     "name": "stdout",
235     "output_type": "stream",
236     "text": [
237      "0\n",
238      "1\n",
239      "2\n",
240      "3\n",
241      "4\n",
242      "5\n",
243      "6\n",
244      "7\n"
245     ]
246    }
247   ],
248   "source": [
249    "import time, sys\n",
250    "for i in range(8):\n",
251    "    print(i)\n",
252    "    time.sleep(0.5)"
253   ]
254  },
255  {
256   "cell_type": "markdown",
257   "metadata": {},
258   "source": [
259    "## Large outputs"
260   ]
261  },
262  {
263   "cell_type": "markdown",
264   "metadata": {},
265   "source": [
266    "To better handle large outputs, the output area can be collapsed. Run the following cell and then single- or double- click on the active area to the left of the output:"
267   ]
268  },
269  {
270   "cell_type": "code",
271   "execution_count": 9,
272   "metadata": {
273    "collapsed": false
274   },
275   "outputs": [
276    {
277     "name": "stdout",
278     "output_type": "stream",
279     "text": [
280      "0\n",
281      "1\n",
282      "2\n",
283      "3\n",
284      "4\n",
285      "5\n",
286      "6\n",
287      "7\n",
288      "8\n",
289      "9\n",
290      "10\n",
291      "11\n",
292      "12\n",
293      "13\n",
294      "14\n",
295      "15\n",
296      "16\n",
297      "17\n",
298      "18\n",
299      "19\n",
300      "20\n",
301      "21\n",
302      "22\n",
303      "23\n",
304      "24\n",
305      "25\n",
306      "26\n",
307      "27\n",
308      "28\n",
309      "29\n",
310      "30\n",
311      "31\n",
312      "32\n",
313      "33\n",
314      "34\n",
315      "35\n",
316      "36\n",
317      "37\n",
318      "38\n",
319      "39\n",
320      "40\n",
321      "41\n",
322      "42\n",
323      "43\n",
324      "44\n",
325      "45\n",
326      "46\n",
327      "47\n",
328      "48\n",
329      "49\n"
330     ]
331    }
332   ],
333   "source": [
334    "for i in range(50):\n",
335    "    print(i)"
336   ]
337  },
338  {
339   "cell_type": "markdown",
340   "metadata": {},
341   "source": [
342    "Beyond a certain point, output will scroll automatically:"
343   ]
344  },
345  {
346   "cell_type": "code",
347   "execution_count": 10,
348   "metadata": {
349    "collapsed": false
350   },
351   "outputs": [
352    {
353     "name": "stdout",
354     "output_type": "stream",
355     "text": [
356      "0\n",
357      "1\n",
358      "3\n",
359      "7\n",
360      "15\n",
361      "31\n",
362      "63\n",
363      "127\n",
364      "255\n",
365      "511\n",
366      "1023\n",
367      "2047\n",
368      "4095\n",
369      "8191\n",
370      "16383\n",
371      "32767\n",
372      "65535\n",
373      "131071\n",
374      "262143\n",
375      "524287\n",
376      "1048575\n",
377      "2097151\n",
378      "4194303\n",
379      "8388607\n",
380      "16777215\n",
381      "33554431\n",
382      "67108863\n",
383      "134217727\n",
384      "268435455\n",
385      "536870911\n",
386      "1073741823\n",
387      "2147483647\n",
388      "4294967295\n",
389      "8589934591\n",
390      "17179869183\n",
391      "34359738367\n",
392      "68719476735\n",
393      "137438953471\n",
394      "274877906943\n",
395      "549755813887\n",
396      "1099511627775\n",
397      "2199023255551\n",
398      "4398046511103\n",
399      "8796093022207\n",
400      "17592186044415\n",
401      "35184372088831\n",
402      "70368744177663\n",
403      "140737488355327\n",
404      "281474976710655\n",
405      "562949953421311\n",
406      "1125899906842623\n",
407      "2251799813685247\n",
408      "4503599627370495\n",
409      "9007199254740991\n",
410      "18014398509481983\n",
411      "36028797018963967\n",
412      "72057594037927935\n",
413      "144115188075855871\n",
414      "288230376151711743\n",
415      "576460752303423487\n",
416      "1152921504606846975\n",
417      "2305843009213693951\n",
418      "4611686018427387903\n",
419      "9223372036854775807\n",
420      "18446744073709551615\n",
421      "36893488147419103231\n",
422      "73786976294838206463\n",
423      "147573952589676412927\n",
424      "295147905179352825855\n",
425      "590295810358705651711\n",
426      "1180591620717411303423\n",
427      "2361183241434822606847\n",
428      "4722366482869645213695\n",
429      "9444732965739290427391\n",
430      "18889465931478580854783\n",
431      "37778931862957161709567\n",
432      "75557863725914323419135\n",
433      "151115727451828646838271\n",
434      "302231454903657293676543\n",
435      "604462909807314587353087\n",
436      "1208925819614629174706175\n",
437      "2417851639229258349412351\n",
438      "4835703278458516698824703\n",
439      "9671406556917033397649407\n",
440      "19342813113834066795298815\n",
441      "38685626227668133590597631\n",
442      "77371252455336267181195263\n",
443      "154742504910672534362390527\n",
444      "309485009821345068724781055\n",
445      "618970019642690137449562111\n",
446      "1237940039285380274899124223\n",
447      "2475880078570760549798248447\n",
448      "4951760157141521099596496895\n",
449      "9903520314283042199192993791\n",
450      "19807040628566084398385987583\n",
451      "39614081257132168796771975167\n",
452      "79228162514264337593543950335\n",
453      "158456325028528675187087900671\n",
454      "316912650057057350374175801343\n",
455      "633825300114114700748351602687\n",
456      "1267650600228229401496703205375\n",
457      "2535301200456458802993406410751\n",
458      "5070602400912917605986812821503\n",
459      "10141204801825835211973625643007\n",
460      "20282409603651670423947251286015\n",
461      "40564819207303340847894502572031\n",
462      "81129638414606681695789005144063\n",
463      "162259276829213363391578010288127\n",
464      "324518553658426726783156020576255\n",
465      "649037107316853453566312041152511\n",
466      "1298074214633706907132624082305023\n",
467      "2596148429267413814265248164610047\n",
468      "5192296858534827628530496329220095\n",
469      "10384593717069655257060992658440191\n",
470      "20769187434139310514121985316880383\n",
471      "41538374868278621028243970633760767\n",
472      "83076749736557242056487941267521535\n",
473      "166153499473114484112975882535043071\n",
474      "332306998946228968225951765070086143\n",
475      "664613997892457936451903530140172287\n",
476      "1329227995784915872903807060280344575\n",
477      "2658455991569831745807614120560689151\n",
478      "5316911983139663491615228241121378303\n",
479      "10633823966279326983230456482242756607\n",
480      "21267647932558653966460912964485513215\n",
481      "42535295865117307932921825928971026431\n",
482      "85070591730234615865843651857942052863\n",
483      "170141183460469231731687303715884105727\n",
484      "340282366920938463463374607431768211455\n",
485      "680564733841876926926749214863536422911\n",
486      "1361129467683753853853498429727072845823\n",
487      "2722258935367507707706996859454145691647\n",
488      "5444517870735015415413993718908291383295\n",
489      "10889035741470030830827987437816582766591\n",
490      "21778071482940061661655974875633165533183\n",
491      "43556142965880123323311949751266331066367\n",
492      "87112285931760246646623899502532662132735\n",
493      "174224571863520493293247799005065324265471\n",
494      "348449143727040986586495598010130648530943\n",
495      "696898287454081973172991196020261297061887\n",
496      "1393796574908163946345982392040522594123775\n",
497      "2787593149816327892691964784081045188247551\n",
498      "5575186299632655785383929568162090376495103\n",
499      "11150372599265311570767859136324180752990207\n",
500      "22300745198530623141535718272648361505980415\n",
501      "44601490397061246283071436545296723011960831\n",
502      "89202980794122492566142873090593446023921663\n",
503      "178405961588244985132285746181186892047843327\n",
504      "356811923176489970264571492362373784095686655\n",
505      "713623846352979940529142984724747568191373311\n",
506      "1427247692705959881058285969449495136382746623\n",
507      "2854495385411919762116571938898990272765493247\n",
508      "5708990770823839524233143877797980545530986495\n",
509      "11417981541647679048466287755595961091061972991\n",
510      "22835963083295358096932575511191922182123945983\n",
511      "45671926166590716193865151022383844364247891967\n",
512      "91343852333181432387730302044767688728495783935\n",
513      "182687704666362864775460604089535377456991567871\n",
514      "365375409332725729550921208179070754913983135743\n",
515      "730750818665451459101842416358141509827966271487\n",
516      "1461501637330902918203684832716283019655932542975\n",
517      "2923003274661805836407369665432566039311865085951\n",
518      "5846006549323611672814739330865132078623730171903\n",
519      "11692013098647223345629478661730264157247460343807\n",
520      "23384026197294446691258957323460528314494920687615\n",
521      "46768052394588893382517914646921056628989841375231\n",
522      "93536104789177786765035829293842113257979682750463\n",
523      "187072209578355573530071658587684226515959365500927\n",
524      "374144419156711147060143317175368453031918731001855\n",
525      "748288838313422294120286634350736906063837462003711\n",
526      "1496577676626844588240573268701473812127674924007423\n",
527      "2993155353253689176481146537402947624255349848014847\n",
528      "5986310706507378352962293074805895248510699696029695\n",
529      "11972621413014756705924586149611790497021399392059391\n",
530      "23945242826029513411849172299223580994042798784118783\n",
531      "47890485652059026823698344598447161988085597568237567\n",
532      "95780971304118053647396689196894323976171195136475135\n",
533      "191561942608236107294793378393788647952342390272950271\n",
534      "383123885216472214589586756787577295904684780545900543\n",
535      "766247770432944429179173513575154591809369561091801087\n",
536      "1532495540865888858358347027150309183618739122183602175\n",
537      "3064991081731777716716694054300618367237478244367204351\n",
538      "6129982163463555433433388108601236734474956488734408703\n",
539      "12259964326927110866866776217202473468949912977468817407\n",
540      "24519928653854221733733552434404946937899825954937634815\n",
541      "49039857307708443467467104868809893875799651909875269631\n",
542      "98079714615416886934934209737619787751599303819750539263\n",
543      "196159429230833773869868419475239575503198607639501078527\n",
544      "392318858461667547739736838950479151006397215279002157055\n",
545      "784637716923335095479473677900958302012794430558004314111\n",
546      "1569275433846670190958947355801916604025588861116008628223\n",
547      "3138550867693340381917894711603833208051177722232017256447\n",
548      "6277101735386680763835789423207666416102355444464034512895\n",
549      "12554203470773361527671578846415332832204710888928069025791\n",
550      "25108406941546723055343157692830665664409421777856138051583\n",
551      "50216813883093446110686315385661331328818843555712276103167\n",
552      "100433627766186892221372630771322662657637687111424552206335\n",
553      "200867255532373784442745261542645325315275374222849104412671\n",
554      "401734511064747568885490523085290650630550748445698208825343\n",
555      "803469022129495137770981046170581301261101496891396417650687\n",
556      "1606938044258990275541962092341162602522202993782792835301375\n",
557      "3213876088517980551083924184682325205044405987565585670602751\n",
558      "6427752177035961102167848369364650410088811975131171341205503\n",
559      "12855504354071922204335696738729300820177623950262342682411007\n",
560      "25711008708143844408671393477458601640355247900524685364822015\n",
561      "51422017416287688817342786954917203280710495801049370729644031\n",
562      "102844034832575377634685573909834406561420991602098741459288063\n",
563      "205688069665150755269371147819668813122841983204197482918576127\n",
564      "411376139330301510538742295639337626245683966408394965837152255\n",
565      "822752278660603021077484591278675252491367932816789931674304511\n",
566      "1645504557321206042154969182557350504982735865633579863348609023\n",
567      "3291009114642412084309938365114701009965471731267159726697218047\n",
568      "6582018229284824168619876730229402019930943462534319453394436095\n",
569      "13164036458569648337239753460458804039861886925068638906788872191\n",
570      "26328072917139296674479506920917608079723773850137277813577744383\n",
571      "52656145834278593348959013841835216159447547700274555627155488767\n",
572      "105312291668557186697918027683670432318895095400549111254310977535\n",
573      "210624583337114373395836055367340864637790190801098222508621955071\n",
574      "421249166674228746791672110734681729275580381602196445017243910143\n",
575      "842498333348457493583344221469363458551160763204392890034487820287\n",
576      "1684996666696914987166688442938726917102321526408785780068975640575\n",
577      "3369993333393829974333376885877453834204643052817571560137951281151\n",
578      "6739986666787659948666753771754907668409286105635143120275902562303\n",
579      "13479973333575319897333507543509815336818572211270286240551805124607\n",
580      "26959946667150639794667015087019630673637144422540572481103610249215\n",
581      "53919893334301279589334030174039261347274288845081144962207220498431\n",
582      "107839786668602559178668060348078522694548577690162289924414440996863\n",
583      "215679573337205118357336120696157045389097155380324579848828881993727\n",
584      "431359146674410236714672241392314090778194310760649159697657763987455\n",
585      "862718293348820473429344482784628181556388621521298319395315527974911\n",
586      "1725436586697640946858688965569256363112777243042596638790631055949823\n",
587      "3450873173395281893717377931138512726225554486085193277581262111899647\n",
588      "6901746346790563787434755862277025452451108972170386555162524223799295\n",
589      "13803492693581127574869511724554050904902217944340773110325048447598591\n",
590      "27606985387162255149739023449108101809804435888681546220650096895197183\n",
591      "55213970774324510299478046898216203619608871777363092441300193790394367\n",
592      "110427941548649020598956093796432407239217743554726184882600387580788735\n",
593      "220855883097298041197912187592864814478435487109452369765200775161577471\n",
594      "441711766194596082395824375185729628956870974218904739530401550323154943\n",
595      "883423532389192164791648750371459257913741948437809479060803100646309887\n",
596      "1766847064778384329583297500742918515827483896875618958121606201292619775\n",
597      "3533694129556768659166595001485837031654967793751237916243212402585239551\n",
598      "7067388259113537318333190002971674063309935587502475832486424805170479103\n",
599      "14134776518227074636666380005943348126619871175004951664972849610340958207\n",
600      "28269553036454149273332760011886696253239742350009903329945699220681916415\n",
601      "56539106072908298546665520023773392506479484700019806659891398441363832831\n",
602      "113078212145816597093331040047546785012958969400039613319782796882727665663\n",
603      "226156424291633194186662080095093570025917938800079226639565593765455331327\n",
604      "452312848583266388373324160190187140051835877600158453279131187530910662655\n",
605      "904625697166532776746648320380374280103671755200316906558262375061821325311\n",
606      "1809251394333065553493296640760748560207343510400633813116524750123642650623\n",
607      "3618502788666131106986593281521497120414687020801267626233049500247285301247\n",
608      "7237005577332262213973186563042994240829374041602535252466099000494570602495\n",
609      "14474011154664524427946373126085988481658748083205070504932198000989141204991\n",
610      "28948022309329048855892746252171976963317496166410141009864396001978282409983\n",
611      "57896044618658097711785492504343953926634992332820282019728792003956564819967\n",
612      "115792089237316195423570985008687907853269984665640564039457584007913129639935\n",
613      "231584178474632390847141970017375815706539969331281128078915168015826259279871\n",
614      "463168356949264781694283940034751631413079938662562256157830336031652518559743\n",
615      "926336713898529563388567880069503262826159877325124512315660672063305037119487\n",
616      "1852673427797059126777135760139006525652319754650249024631321344126610074238975\n",
617      "3705346855594118253554271520278013051304639509300498049262642688253220148477951\n",
618      "7410693711188236507108543040556026102609279018600996098525285376506440296955903\n",
619      "14821387422376473014217086081112052205218558037201992197050570753012880593911807\n",
620      "29642774844752946028434172162224104410437116074403984394101141506025761187823615\n",
621      "59285549689505892056868344324448208820874232148807968788202283012051522375647231\n",
622      "118571099379011784113736688648896417641748464297615937576404566024103044751294463\n",
623      "237142198758023568227473377297792835283496928595231875152809132048206089502588927\n",
624      "474284397516047136454946754595585670566993857190463750305618264096412179005177855\n",
625      "948568795032094272909893509191171341133987714380927500611236528192824358010355711\n",
626      "1897137590064188545819787018382342682267975428761855001222473056385648716020711423\n",
627      "3794275180128377091639574036764685364535950857523710002444946112771297432041422847\n",
628      "7588550360256754183279148073529370729071901715047420004889892225542594864082845695\n",
629      "15177100720513508366558296147058741458143803430094840009779784451085189728165691391\n",
630      "30354201441027016733116592294117482916287606860189680019559568902170379456331382783\n",
631      "60708402882054033466233184588234965832575213720379360039119137804340758912662765567\n",
632      "121416805764108066932466369176469931665150427440758720078238275608681517825325531135\n",
633      "242833611528216133864932738352939863330300854881517440156476551217363035650651062271\n",
634      "485667223056432267729865476705879726660601709763034880312953102434726071301302124543\n",
635      "971334446112864535459730953411759453321203419526069760625906204869452142602604249087\n",
636      "1942668892225729070919461906823518906642406839052139521251812409738904285205208498175\n",
637      "3885337784451458141838923813647037813284813678104279042503624819477808570410416996351\n",
638      "7770675568902916283677847627294075626569627356208558085007249638955617140820833992703\n",
639      "15541351137805832567355695254588151253139254712417116170014499277911234281641667985407\n",
640      "31082702275611665134711390509176302506278509424834232340028998555822468563283335970815\n",
641      "62165404551223330269422781018352605012557018849668464680057997111644937126566671941631\n",
642      "124330809102446660538845562036705210025114037699336929360115994223289874253133343883263\n",
643      "248661618204893321077691124073410420050228075398673858720231988446579748506266687766527\n",
644      "497323236409786642155382248146820840100456150797347717440463976893159497012533375533055\n",
645      "994646472819573284310764496293641680200912301594695434880927953786318994025066751066111\n",
646      "1989292945639146568621528992587283360401824603189390869761855907572637988050133502132223\n",
647      "3978585891278293137243057985174566720803649206378781739523711815145275976100267004264447\n",
648      "7957171782556586274486115970349133441607298412757563479047423630290551952200534008528895\n",
649      "15914343565113172548972231940698266883214596825515126958094847260581103904401068017057791\n",
650      "31828687130226345097944463881396533766429193651030253916189694521162207808802136034115583\n",
651      "63657374260452690195888927762793067532858387302060507832379389042324415617604272068231167\n",
652      "127314748520905380391777855525586135065716774604121015664758778084648831235208544136462335\n",
653      "254629497041810760783555711051172270131433549208242031329517556169297662470417088272924671\n",
654      "509258994083621521567111422102344540262867098416484062659035112338595324940834176545849343\n",
655      "1018517988167243043134222844204689080525734196832968125318070224677190649881668353091698687\n",
656      "2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397375\n",
657      "4074071952668972172536891376818756322102936787331872501272280898708762599526673412366794751\n",
658      "8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589503\n",
659      "16296287810675888690147565507275025288411747149327490005089123594835050398106693649467179007\n",
660      "32592575621351777380295131014550050576823494298654980010178247189670100796213387298934358015\n",
661      "65185151242703554760590262029100101153646988597309960020356494379340201592426774597868716031\n",
662      "130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432063\n",
663      "260740604970814219042361048116400404614587954389239840081425977517360806369707098391474864127\n",
664      "521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728255\n",
665      "1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456511\n",
666      "2085924839766513752338888384931203236916703635113918720651407820138886450957656787131798913023\n",
667      "4171849679533027504677776769862406473833407270227837441302815640277772901915313574263597826047\n",
668      "8343699359066055009355553539724812947666814540455674882605631280555545803830627148527195652095\n",
669      "16687398718132110018711107079449625895333629080911349765211262561111091607661254297054391304191\n",
670      "33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608383\n",
671      "66749594872528440074844428317798503581334516323645399060845050244444366430645017188217565216767\n",
672      "133499189745056880149688856635597007162669032647290798121690100488888732861290034376435130433535\n",
673      "266998379490113760299377713271194014325338065294581596243380200977777465722580068752870260867071\n",
674      "533996758980227520598755426542388028650676130589163192486760401955554931445160137505740521734143\n",
675      "1067993517960455041197510853084776057301352261178326384973520803911109862890320275011481043468287\n",
676      "2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936575\n",
677      "4271974071841820164790043412339104229205409044713305539894083215644439451561281100045924173873151\n",
678      "8543948143683640329580086824678208458410818089426611079788166431288878903122562200091848347746303\n",
679      "17087896287367280659160173649356416916821636178853222159576332862577757806245124400183696695492607\n",
680      "34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985215\n",
681      "68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970431\n",
682      "136703170298938245273281389194851335334573089430825777276610662900622062449960995201469573563940863\n",
683      "273406340597876490546562778389702670669146178861651554553221325801244124899921990402939147127881727\n",
684      "546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763455\n",
685      "1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526911\n",
686      "2187250724783011924372502227117621365353169430893212436425770606409952999199375923223513177023053823\n",
687      "4374501449566023848745004454235242730706338861786424872851541212819905998398751846447026354046107647\n",
688      "8749002899132047697490008908470485461412677723572849745703082425639811996797503692894052708092215295\n",
689      "17498005798264095394980017816940970922825355447145699491406164851279623993595007385788105416184430591\n",
690      "34996011596528190789960035633881941845650710894291398982812329702559247987190014771576210832368861183\n",
691      "69992023193056381579920071267763883691301421788582797965624659405118495974380029543152421664737722367\n",
692      "139984046386112763159840142535527767382602843577165595931249318810236991948760059086304843329475444735\n",
693      "279968092772225526319680285071055534765205687154331191862498637620473983897520118172609686658950889471\n",
694      "559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778943\n",
695      "1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557887\n",
696      "2239744742177804210557442280568444278121645497234649534899989100963791871180160945380877493271607115775\n",
697      "4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231551\n",
698      "8958978968711216842229769122273777112486581988938598139599956403855167484720643781523509973086428463103\n",
699      "17917957937422433684459538244547554224973163977877196279199912807710334969441287563047019946172856926207\n",
700      "35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852415\n",
701      "71671831749689734737838152978190216899892655911508785116799651230841339877765150252188079784691427704831\n",
702      "143343663499379469475676305956380433799785311823017570233599302461682679755530300504376159569382855409663\n",
703      "286687326998758938951352611912760867599570623646035140467198604923365359511060601008752319138765710819327\n",
704      "573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638655\n",
705      "1146749307995035755805410447651043470398282494584140561868794419693461438044242404035009276555062843277311\n",
706      "2293498615990071511610820895302086940796564989168281123737588839386922876088484808070018553110125686554623\n",
707      "4586997231980143023221641790604173881593129978336562247475177678773845752176969616140037106220251373109247\n",
708      "9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218495\n",
709      "18347988927920572092886567162416695526372519913346248989900710715095383008707878464560148424881005492436991\n",
710      "36695977855841144185773134324833391052745039826692497979801421430190766017415756929120296849762010984873983\n",
711      "73391955711682288371546268649666782105490079653384995959602842860381532034831513858240593699524021969747967\n",
712      "146783911423364576743092537299333564210980159306769991919205685720763064069663027716481187399048043939495935\n",
713      "293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991871\n",
714      "587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983743\n",
715      "1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967487\n",
716      "2348542582773833227889480596789337027375682548908319870707290971532209025114608443463698998384768703031934975\n",
717      "4697085165547666455778961193578674054751365097816639741414581943064418050229216886927397996769537406063869951\n",
718      "9394170331095332911557922387157348109502730195633279482829163886128836100458433773854795993539074812127739903\n",
719      "18788340662190665823115844774314696219005460391266558965658327772257672200916867547709591987078149624255479807\n",
720      "37576681324381331646231689548629392438010920782533117931316655544515344401833735095419183974156299248510959615\n",
721      "75153362648762663292463379097258784876021841565066235862633311089030688803667470190838367948312598497021919231\n",
722      "150306725297525326584926758194517569752043683130132471725266622178061377607334940381676735896625196994043838463\n",
723      "300613450595050653169853516389035139504087366260264943450533244356122755214669880763353471793250393988087676927\n",
724      "601226901190101306339707032778070279008174732520529886901066488712245510429339761526706943586500787976175353855\n",
725      "1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707711\n",
726      "2404907604760405225358828131112281116032698930082119547604265954848982041717359046106827774346003151904701415423\n",
727      "4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830847\n",
728      "9619630419041620901435312524449124464130795720328478190417063819395928166869436184427311097384012607618805661695\n",
729      "19239260838083241802870625048898248928261591440656956380834127638791856333738872368854622194768025215237611323391\n",
730      "38478521676166483605741250097796497856523182881313912761668255277583712667477744737709244389536050430475222646783\n",
731      "76957043352332967211482500195592995713046365762627825523336510555167425334955489475418488779072100860950445293567\n",
732      "153914086704665934422965000391185991426092731525255651046673021110334850669910978950836977558144201721900890587135\n",
733      "307828173409331868845930000782371982852185463050511302093346042220669701339821957901673955116288403443801781174271\n",
734      "615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348543\n",
735      "1231312693637327475383720003129487931408741852202045208373384168882678805359287831606695820465153613775207124697087\n",
736      "2462625387274654950767440006258975862817483704404090416746768337765357610718575663213391640930307227550414249394175\n",
737      "4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788351\n",
738      "9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576703\n",
739      "19701003098197239606139520050071806902539869635232723333974146702122860885748605305707133127442457820403313995153407\n",
740      "39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306815\n",
741      "78804012392788958424558080200287227610159478540930893335896586808491443542994421222828532509769831281613255980613631\n",
742      "157608024785577916849116160400574455220318957081861786671793173616982887085988842445657065019539662563226511961227263\n",
743      "315216049571155833698232320801148910440637914163723573343586347233965774171977684891314130039079325126453023922454527\n",
744      "630432099142311667396464641602297820881275828327447146687172694467931548343955369782628260078158650252906047844909055\n",
745      "1260864198284623334792929283204595641762551656654894293374345388935863096687910739565256520156317300505812095689818111\n",
746      "2521728396569246669585858566409191283525103313309788586748690777871726193375821479130513040312634601011624191379636223\n",
747      "5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272447\n",
748      "10086913586276986678343434265636765134100413253239154346994763111486904773503285916522052161250538404046496765518544895\n",
749      "20173827172553973356686868531273530268200826506478308693989526222973809547006571833044104322501076808092993531037089791\n",
750      "40347654345107946713373737062547060536401653012956617387979052445947619094013143666088208645002153616185987062074179583\n",
751      "80695308690215893426747474125094121072803306025913234775958104891895238188026287332176417290004307232371974124148359167\n",
752      "161390617380431786853494948250188242145606612051826469551916209783790476376052574664352834580008614464743948248296718335\n",
753      "322781234760863573706989896500376484291213224103652939103832419567580952752105149328705669160017228929487896496593436671\n",
754      "645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873343\n",
755      "1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746687\n",
756      "2582249878086908589655919172003011874329705792829223512830659356540647622016841194629645353280137831435903171972747493375\n",
757      "5164499756173817179311838344006023748659411585658447025661318713081295244033682389259290706560275662871806343945494986751\n",
758      "10328999512347634358623676688012047497318823171316894051322637426162590488067364778518581413120551325743612687890989973503\n",
759      "20657999024695268717247353376024094994637646342633788102645274852325180976134729557037162826241102651487225375781979947007\n",
760      "41315998049390537434494706752048189989275292685267576205290549704650361952269459114074325652482205302974450751563959894015\n",
761      "82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788031\n",
762      "165263992197562149737978827008192759957101170741070304821162198818601447809077836456297302609928821211897803006255839576063\n",
763      "330527984395124299475957654016385519914202341482140609642324397637202895618155672912594605219857642423795606012511679152127\n",
764      "661055968790248598951915308032771039828404682964281219284648795274405791236311345825189210439715284847591212025023358304255\n",
765      "1322111937580497197903830616065542079656809365928562438569297590548811582472622691650378420879430569695182424050046716608511\n",
766      "2644223875160994395807661232131084159313618731857124877138595181097623164945245383300756841758861139390364848100093433217023\n",
767      "5288447750321988791615322464262168318627237463714249754277190362195246329890490766601513683517722278780729696200186866434047\n",
768      "10576895500643977583230644928524336637254474927428499508554380724390492659780981533203027367035444557561459392400373732868095\n",
769      "21153791001287955166461289857048673274508949854856999017108761448780985319561963066406054734070889115122918784800747465736191\n",
770      "42307582002575910332922579714097346549017899709713998034217522897561970639123926132812109468141778230245837569601494931472383\n",
771      "84615164005151820665845159428194693098035799419427996068435045795123941278247852265624218936283556460491675139202989862944767\n",
772      "169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889535\n",
773      "338460656020607282663380637712778772392143197677711984273740183180495765112991409062496875745134225841966700556811959451779071\n",
774      "676921312041214565326761275425557544784286395355423968547480366360991530225982818124993751490268451683933401113623918903558143\n",
775      "1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116287\n",
776      "2707685248164858261307045101702230179137145581421695874189921465443966120903931272499975005961073806735733604454495675614232575\n",
777      "5415370496329716522614090203404460358274291162843391748379842930887932241807862544999950011922147613471467208908991351228465151\n",
778      "10830740992659433045228180406808920716548582325686783496759685861775864483615725089999900023844295226942934417817982702456930303\n",
779      "21661481985318866090456360813617841433097164651373566993519371723551728967231450179999800047688590453885868835635965404913860607\n",
780      "43322963970637732180912721627235682866194329302747133987038743447103457934462900359999600095377180907771737671271930809827721215\n",
781      "86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442431\n",
782      "173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884863\n",
783      "346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769727\n",
784      "693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539455\n",
785      "1386334847060407429789207092071541851718218537687908287585239790307310653902812811519987203052069789048695605480701785914487078911\n",
786      "2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157823\n",
787      "5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315647\n",
788      "11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631295\n",
789      "22181357552966518876627313473144669627491496603006532601363836644916970462445004984319795248833116624779129687691228574631793262591\n",
790      "44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525183\n",
791      "88725430211866075506509253892578678509965986412026130405455346579667881849780019937279180995332466499116518750764914298527173050367\n",
792      "177450860423732151013018507785157357019931972824052260810910693159335763699560039874558361990664932998233037501529828597054346100735\n",
793      "354901720847464302026037015570314714039863945648104521621821386318671527399120079749116723981329865996466075003059657194108692201471\n",
794      "709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402943\n",
795      "1419606883389857208104148062281258856159455782592418086487285545274686109596480318996466895925319463985864300012238628776434768805887\n",
796      "2839213766779714416208296124562517712318911565184836172974571090549372219192960637992933791850638927971728600024477257552869537611775\n",
797      "5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223551\n",
798      "11356855067118857664833184498250070849275646260739344691898284362197488876771842551971735167402555711886914400097909030211478150447103\n",
799      "22713710134237715329666368996500141698551292521478689383796568724394977753543685103943470334805111423773828800195818060422956300894207\n",
800      "45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788415\n",
801      "90854840536950861318665475986000566794205170085914757535186274897579911014174740415773881339220445695095315200783272241691825203576831\n",
802      "181709681073901722637330951972001133588410340171829515070372549795159822028349480831547762678440891390190630401566544483383650407153663\n",
803      "363419362147803445274661903944002267176820680343659030140745099590319644056698961663095525356881782780381260803133088966767300814307327\n",
804      "726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614655\n",
805      "1453677448591213781098647615776009068707282721374636120562980398361278576226795846652382101427527131121525043212532355867069203257229311\n",
806      "2907354897182427562197295231552018137414565442749272241125960796722557152453591693304764202855054262243050086425064711734138406514458623\n",
807      "5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917247\n",
808      "11629419588729710248789180926208072549658261770997088964503843186890228609814366773219056811420217048972200345700258846936553626057834495\n",
809      "23258839177459420497578361852416145099316523541994177929007686373780457219628733546438113622840434097944400691400517693873107252115668991\n",
810      "46517678354918840995156723704832290198633047083988355858015372747560914439257467092876227245680868195888801382801035387746214504231337983\n",
811      "93035356709837681990313447409664580397266094167976711716030745495121828878514934185752454491361736391777602765602070775492429008462675967\n",
812      "186070713419675363980626894819329160794532188335953423432061490990243657757029868371504908982723472783555205531204141550984858016925351935\n",
813      "372141426839350727961253789638658321589064376671906846864122981980487315514059736743009817965446945567110411062408283101969716033850703871\n",
814      "744282853678701455922507579277316643178128753343813693728245963960974631028119473486019635930893891134220822124816566203939432067701407743\n",
815      "1488565707357402911845015158554633286356257506687627387456491927921949262056238946972039271861787782268441644249633132407878864135402815487\n",
816      "2977131414714805823690030317109266572712515013375254774912983855843898524112477893944078543723575564536883288499266264815757728270805630975\n",
817      "5954262829429611647380060634218533145425030026750509549825967711687797048224955787888157087447151129073766576998532529631515456541611261951\n",
818      "11908525658859223294760121268437066290850060053501019099651935423375594096449911575776314174894302258147533153997065059263030913083222523903\n",
819      "23817051317718446589520242536874132581700120107002038199303870846751188192899823151552628349788604516295066307994130118526061826166445047807\n",
820      "47634102635436893179040485073748265163400240214004076398607741693502376385799646303105256699577209032590132615988260237052123652332890095615\n",
821      "95268205270873786358080970147496530326800480428008152797215483387004752771599292606210513399154418065180265231976520474104247304665780191231\n",
822      "190536410541747572716161940294993060653600960856016305594430966774009505543198585212421026798308836130360530463953040948208494609331560382463\n",
823      "381072821083495145432323880589986121307201921712032611188861933548019011086397170424842053596617672260721060927906081896416989218663120764927\n",
824      "762145642166990290864647761179972242614403843424065222377723867096038022172794340849684107193235344521442121855812163792833978437326241529855\n",
825      "1524291284333980581729295522359944485228807686848130444755447734192076044345588681699368214386470689042884243711624327585667956874652483059711\n",
826      "3048582568667961163458591044719888970457615373696260889510895468384152088691177363398736428772941378085768487423248655171335913749304966119423\n",
827      "6097165137335922326917182089439777940915230747392521779021790936768304177382354726797472857545882756171536974846497310342671827498609932238847\n",
828      "12194330274671844653834364178879555881830461494785043558043581873536608354764709453594945715091765512343073949692994620685343654997219864477695\n",
829      "24388660549343689307668728357759111763660922989570087116087163747073216709529418907189891430183531024686147899385989241370687309994439728955391\n",
830      "48777321098687378615337456715518223527321845979140174232174327494146433419058837814379782860367062049372295798771978482741374619988879457910783\n",
831      "97554642197374757230674913431036447054643691958280348464348654988292866838117675628759565720734124098744591597543956965482749239977758915821567\n",
832      "195109284394749514461349826862072894109287383916560696928697309976585733676235351257519131441468248197489183195087913930965498479955517831643135\n",
833      "390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286271\n",
834      "780437137578998057845399307448291576437149535666242787714789239906342934704941405030076525765872992789956732780351655723861993919822071326572543\n",
835      "1560874275157996115690798614896583152874299071332485575429578479812685869409882810060153051531745985579913465560703311447723987839644142653145087\n",
836      "3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290175\n",
837      "6243497100631984462763194459586332611497196285329942301718313919250743477639531240240612206126983942319653862242813245790895951358576570612580351\n",
838      "12486994201263968925526388919172665222994392570659884603436627838501486955279062480481224412253967884639307724485626491581791902717153141225160703\n",
839      "24973988402527937851052777838345330445988785141319769206873255677002973910558124960962448824507935769278615448971252983163583805434306282450321407\n",
840      "49947976805055875702105555676690660891977570282639538413746511354005947821116249921924897649015871538557230897942505966327167610868612564900642815\n",
841      "99895953610111751404211111353381321783955140565279076827493022708011895642232499843849795298031743077114461795885011932654335221737225129801285631\n",
842      "199791907220223502808422222706762643567910281130558153654986045416023791284464999687699590596063486154228923591770023865308670443474450259602571263\n",
843      "399583814440447005616844445413525287135820562261116307309972090832047582568929999375399181192126972308457847183540047730617340886948900519205142527\n",
844      "799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285055\n",
845      "1598335257761788022467377781654101148543282249044465229239888363328190330275719997501596724768507889233831388734160190922469363547795602076820570111\n",
846      "3196670515523576044934755563308202297086564498088930458479776726656380660551439995003193449537015778467662777468320381844938727095591204153641140223\n",
847      "6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280447\n",
848      "12786682062094304179739022253232809188346257992355721833919106906625522642205759980012773798148063113870651109873281527379754908382364816614564560895\n",
849      "25573364124188608359478044506465618376692515984711443667838213813251045284411519960025547596296126227741302219746563054759509816764729633229129121791\n",
850      "51146728248377216718956089012931236753385031969422887335676427626502090568823039920051095192592252455482604439493126109519019633529459266458258243583\n",
851      "102293456496754433437912178025862473506770063938845774671352855253004181137646079840102190385184504910965208878986252219038039267058918532916516487167\n",
852      "204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974335\n",
853      "409173825987017733751648712103449894027080255755383098685411421012016724550584319360408761540738019643860835515945008876152157068235674131666065948671\n",
854      "818347651974035467503297424206899788054160511510766197370822842024033449101168638720817523081476039287721671031890017752304314136471348263332131897343\n",
855      "1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794687\n"
856     ]
857    }
858   ],
859   "source": [
860    "for i in range(500):\n",
861    "    print(2**i - 1)"
862   ]
863  }
864 ],
865 "metadata": {
866  "kernelspec": {
867   "display_name": "Python 3",
868   "language": "python",
869   "name": "python3"
870  },
871  "language_info": {
872   "codemirror_mode": {
873    "name": "ipython",
874    "version": 3
875   },
876   "file_extension": ".py",
877   "mimetype": "text/x-python",
878   "name": "python",
879   "nbconvert_exporter": "python",
880   "pygments_lexer": "ipython3",
881   "version": "3.5.1"
882  }
883 },
884 "nbformat": 4,
885 "nbformat_minor": 0
886}
887