1IJ9ecUa_^G+hMgv@KZChff-5^@h=6zRPs5!@^
z-CE*pEb+Ou%+=t0HIL_cN$`7*$#(1=oPLf*z6L!G6HGy}qDTRGAMSZke@RCdnH>Y;
zE)lW*HKY*rx&M81!UerA{oZ|M2HhZ;{5ggoC!XOHu_F~V0J0BB4wj=gqYwI#_5m`D
z?k{+))0QiQy24dwa%b5lG+Hc}w|iY%_DPlzuI#t(Vz4u{(+IeL@YWrbQ#?_M`|F7A
zf#K2zO$`}^y@Se<9u?~xAt%f|ebm~{QJcm?DlrZ?E3GUmF^*IuJ8QcVk2~M3>gl!@+~_p)bm3a&t?aUlLEy&)$A&H33sMbHoB^|*ema1-Nf+O#9f?yV6R1x_%ij$2f
zH8~KYYGuU|xBI?Q2Wmdq?0t2CBOJS!ZB}R8A@54UI3bh{s
zTiAF9!KK{?U%~bUnGB1yZJd4BoEQ4ap_?5#9S%_=7Q@q_?I`j}OmxJ_l@qj4TZ2|X
z$GtMvj;f`4`$Gx~HR1@#p{jD?-LVkhJT4;pr!KQhsmGF)I$fOzmFT=VPymd~<9iOy
zMy&E9Z)uP}OUj?GBl~1*nZGlHKTTf@&K+ujb5+JA$c;-^;Vi)_N#yYw7eXn9WKE8N
zO*HI=KL+dz{0SdXKU{UR>AyP;loA1_42DmxW?&vx0mNqrZMd~DI&r5E7|L357}#;n
zXjO0n^fg*Aby3%Jb*z$HYmy<5Xz}Hla+M&sLrvcvr2+$Uk;9RWuh+1cS%gB`eJu*G
z(m039(q9iF!sR6)D4REwE&CrrA12c?1JD
zI_fui_Sg5_a-6A+&S9B45=TqcGmxKi1RO#I&~39(xt%C_yidHGqo+u(tnA&%s}gp$
z6zVs~5lbt2C*Z1rPGxb@EOXe~!OOL?G2I-iV#?36*(^;sA~)Z?yw_ZVlHDj2o$4sa-#{ATD)eZ&1E^<8&>E2whhMp%IFiHruf7^!%NA!d!$}?$ebCM*6f_H@B9T6MF9OeP@ydMk6+KMs49|Gi>(&5`&f*&6Sh2r*xYEH}>x+V;rzwnL!^uhX~4>muPD#n>E~j!^?~=_0!;;frTAsdq)NsHiC&3}E5nSwyttf$WwP<0yW;huD^ov;
z#TAvy?C!k@g;9A|;wIcl?vzf#ia#1_S@E@u0~Sw%&SIjR>#o#>+!9sii6(|wt7$O<
zt&)7&{W2(iIrquds!v__F@ou-<9!s
zTl$7*OeH59v(^4RPb=0>pPMWe?VdMp?u+feIX@h(5IHn0Jm^5b6bx&=R95@$YFJB^
zfK#ycYtVCWisZcK%CrU991OJ66(`^r@lqqYk>f6XYvk^$KUOO(+Avk|sxy?&SM!wZ
zMuQG4Vz?r-?H$nT;f$5h_uh8lzEwvTMC}d(WTAC$z;Ah?lcIEw1BB@iu0={dyQTu@
zf+smYkQ1YdvLT3~f1@LG!V5WbNAC|#%=05g5@q^yB3iV?X0{*f$b}F<5^5~tE{2{8
z7c>!DB~EHYh42BuVbNbXnTlsQVk&~)yA}44xHYD}O_;z)B^e+RF`yhLGFhPC!aVS`
zc+Gnt#n(T4LlHbd{_)p*G9tV-IE4k#9FC7rdJheC*IJmeURIHIut;w=H+!PQPD8ah
z`X-M{Uf1i#a&cI=z{&OZ1;t}L-4gYUVW
z+ov>S$#S_?0$+yM>2S*j)fz(AlE%wamH3>a5%ZAC*+MBAkR`r@VX7L=^~3
zO*Dw7%L?a!?6UC8=D2;enbK2@uV^LpN6qVi&r5w=4ae4i2VA7BEh6C_ChlhMtCZZf
z<`z{qJ?tA$6%72XErQ`6*p&k&UH;;$=?*_8gKEw(Jd&WmkTu|q{zk!&_<|Ek-YH`O
zCfG}PQIQF^m|V#4Xx6*+q+4lGo=K~UPt3S&O{WtmQ)uO)H5BJ*yozjUu-PiysuYr9
z%u3aYel9wQ9E``%+Ue6JI~7SdYJ}kyUoYonOa-4~Lz}iFp`awA8$ujqZSB0BD8Y<8
zn2ajQ9vt6%;9%p>Txi(3)v3y7FGSaWvj&rLT&%x)ndWyr?kczB)GeS5NJ)+r)3Mmk
z2RYK=F?*@Jr*ret!P(;!A4XALnZM-aE)7v8AztVLkq}RdsKA3rMyG-#;E_o7aFR{5
zBEE*bqu@n25T5M%^iG8r|BJc;{3kDkNrvg&k7JIRt~#I|*`k{I5f!dT*`*!?4leWk
z?nG2ovg(OE`F-R1n>@!%>93SBCLWd-V#cTgTB64N{d|GkMys#M;nlbUT{_>E=eTs@
zk8Mg41CIkm;HikwodP#sH4RPE($R^F;9w6ci`ze7EUVauPaLr%z_7yv#*$kFd~)~R
z^i6M-)=wE13r>kywCF3k6#8?=C-l_!v)p5~-D1No0&dH0it2gm*6?wFEa3Sf=10f#
zv-VO$rqa8XrL@Qx><NR*q=zELIA8NjQF2<*j+doi9$Bq0_4f{|xpB^l)^Wg4
z{w~D};w3A?%^EcE{4w?Y7e-(3b5ekoz{S~=x{ZmhIja}u;4hEbHQfz^p?23JO&T=5
z5%;SQ(}6KYt-hxz8yFvh%NWuyXDP$sqr^v^z~@KV*=r^?8e#w}?7M7(@9rgQIodz_
zYGPrvs(3`V_%r923Kg@G1xbpLC$yU@HhI-tf+|oix+k-=@f``AlsPJp<=l-sAu694
z!&{AFcRF3-8h-`s%(463SIg!3KW*qyKU@{1+WnkeI9*5e=2Fo~ayyu3wzJADvU($y
zs^Ir!HRM5nS@PCRRM?6fE~aa%R(GY_U4qKif=5>Old4pARyy|=4aYa9p-!~1+~ivY
zQS599v8ve&b$ojCyZ5eP%lkXPvkzVbMy{l&V)GJg
zw%*6?u&Zc5jA5#%&_3cvBdD-X(Kj72MZ;{Cq-3sAD)PNyS&b$+Ici8VL#w~rDO~9j
z`?qVaPldbME4G_;K}I2KJVa_kLzbjQ!?r|Ue>y3$>86p83MuBB{X9|5yD
zY|`55QNmXDtL5h*WyXrTbt#PdQek!quS~!6Th}%VDCjN3DSXF*37Yu|
z&b0ednLfh^4!f=|tJ=SRU8MBMRG%b|RC(+5It=kxlUea#XbVY`h+e#-l|-_fL-$Vl
z7d{!|*Wj*35_aRwAMzTVmHVX`$kDs-9?ZNN%ID?f4juPD*e96ktW2NEGAf
z$js5NX%vDw6%r&y{WoYK{OF|CqWrOwGNJIH@sMHu+%YRQ`mw8^;Nx`ysSm|Cquf^}
zDY;Ihx%5cc6w6Zqd0LrCLT}EgFwDjR{yScw*v`!zt@mj
zCuH9<_*X4juI8gAMuKe0d@f&DHu?kt}t}LF~EVPC6T{71BuJnnu
zhso6%B?L`{`=#isw9f`LhkeUYL|riVSO$AA7E5>uyd(2C3xQz=1wTEv5W~qpJzCT8O7F^O_63nfX^gke_d|j^FmGCy4o}Jjz|YBVBHjSAqQC
z`n?ZIdZv!T)T{WDiC=p>FWjBUup>j|tP?zJ5t7ZNwn4*m0t|DXT(h
z(TY0t&8W`en|wl5{A@x!d!@#$Jfilaa54M$&E$LGm>z`wJ+R;`j~;DsZ1Wa=q43pm
z7FU4$)`}Goa#%-35cIRdzGR~F`#s68pN&M}F5%ytdx&L3Ry*YyU&Ea85cF
zX$f)>i`L+g0h<~ow*(EtMY68c$bLGQ$;|5E^Vy61`YJ7#fR@WXF@CmWk`&6uE%4VxVbm`VSqneA@Kq)%#MtL#APRSvJhilXJb7hwVQS7o&
zFWi8w;~<=LbouAE1N1<17+X=>Ph2aTZ_16%ED}SD{Q%~Za2Q0PbfV$8HC+VDjCq(`
zmie8G=HpgfW2^p{R-7VtufvM-Mi=r~O-_rl(KM
zcbX1@NZIlSD7AHnJC`KSrJ(3oF)RxhmRp4
zj9G+w=|GF@zA!ETEpHl`xjfkzZmHAKwRDSJ^GO~VGfTu_-$8bSUzNU{DTv@&TDzsz
zR%AEtaMV5Ym+#%(SX`a$3`M1Y@1Gn)KbK>&ObSjS(tyWP111^ojcYP(o(`uJPg{{|
z=8%BvEYEKq5AhWz*%*5_w7G2S_7}u5?n3j`4GrF!VqJA}6BS-ZQ^j#!=O4G~46kMp
zT()s^7uLIvc^uEqPM)Fvxli8Sfjh_He(x{Jt-`>q_6d0CO2c0ITar81&%1@;PZj}%
zIW~<*%eX)wOLfWY9Ogvd0Z&&K?TM^c^x;uySRC@Hzj4<+H6pU%CLZpbp6rjR+JMzS
zo{w?jp^!$OT6()iAC7IpZ(Fvw^VRgD%Z^>GydLn}BDek*c~NH;#FI448QQzYgD1uo
z-1->9S>UNj>cY=jMI(qU##>Q#+uIxMZu^7VADN}kxBuK9J$PI1jYbGP+D|hYcryUp
zvjfIy&t-}P)!uhd3`aBq3(afq%E(mvbR1?@8hf8>0~QYI_fw~Dc3F;!+A&T1NCHt+4?OQk{1yhT}K^V+dTC^11x
zXuBB!H?+6Ercp@HxlVFF*^hRXO8=z8(Yn<@rV#yyXF=9)K=4`?f^_S2wEm>3dAJnL+
zo;G)U&_FrL(7$jy2{iEx?(?Sseyopqk$yxTb*_q~_teAPBKBCLckV3&ks=e-gmGP?
zxV)$;@2cM0ShD?8dzYk9EHMQnEMw=Lw>Rfxkk|e6N=tq3T$EcA!89z9A@qZ233KRZ
zIKz9&7T+v%rVlYRF7o!3ilr<25eEYKxQ?U;3@tsZI#PXov#qvmL30~_4Rb9abE
zyNT)hJGTR(x^aKFvn9nE?M6TzJU+&04?0;iQgkPC)oz|_1kjb*qOMIVuUHY13=$H)AA`qpOx
zQ6B8q(W1@N-!qNPXg(~UV3~89h8xT57rHhbW_lz2n&ubN&V=JBl!U~zQTBdp
z5VqorJ4-g9f8bGROcoxm8gGrrcP6GvZs?cq%rGvUymbhRL+T2%xT!o+L*Lk_lV;P=
z8t9h%*6CLJ*6S9wK_hrV`F3wOr5%ie
zrq)BP%_Cd7$1Jsr`)q-PqQ-^omBL@@2;x{$M2qLbx?|^MiqLRF%zfhY;Jnw>RVYZ*
zk58necZvdMrKnZshRC#P+1r_{f}Vs|y*HW9xy~KDzvyH|_ISMG_c-BNT&47fn}a|g
z?pmxlwW%piXFy+hox@(mz@${(b3T(Msuqf?)3nJB=1Muwh0&k*s5W&6QE;f*`BQmL
z`93z<>|*#F7B1zev0V7YEm=MwseIimo#qjd->6tzp4s*RCxt7yaaV&V7;OBI5L!A0
zh0LK$8rC)GHmRx*Yy%N;+2Wtv&NV*tCX{{hN}detlDg(c5_Cv>g!wL_jmT>AT9OqdOqk6
zb1=d78oYpG!ZGv`D}Q)|)2t&dj!}l6c9_iGDXSDTEY~1F9MBelOj@dG)K5}3Qm~l!
z!uIx=^6U`0#I>l6@MsSAIaVOO71!I>!(zedGU?`wJp;Wh;VhG_o;h=qziMlj@Yh_J
zYyh^H87Ix)BJm+wOll#QsqiL!?>GD0`RxsE0b1meE4NJUU
z%NTy~qcrd~uocIC1@Y)667Nf$Du1IownKar{4GgP*clT4mZ%F(fY6QwbEx@ZfqmDoRWw|ICqnj*>em&RM-!1KXYo
zoy{0VjfJ!=T($GwY}-h^TlJ!Ax@C+&8$Ug0^Vci`PmTF6-ww9I7Q+Pq;TlN&&7WH%
zekcn3S;hMvhqCdcxzYXuK^JtDqTAtZ_GfImiLiow`1Sn*IgvJ%XQTmSI`jA)@(OM}
z_Ks{*jh{cs6Vt?g+PK@f4yRSRy4+~}6Vu>-*)_3lbQ0#R
zMO)MhI;RHp#YS%6{ed;_k;++XB;5`!U#Nnm4)1?^@`?a4aF;8Vchntnt&w-KcrxH?_oWC
z^@?vf>mJf7Hzj2kXhHF1XLte&-V@-|h7IrE^EbO#4uW?fIM3tor=FHx4_!U*D`|iH
zTlevpC!h2_AFS(Ux|h*08dhI#x=~J~MRo|Z7lEryjxMG_~4jHZ*MXz*Ex;$R;O^NVA`4oCGL<5CE>G5$#OT+WeHY1
z-_|EAxa>q%(NRPsS~>2mV61Uf?l+VQmhPf$SmQifWmwhn?;sff4M$Pfr%BT<0<(Gr
z`h%`oWG-)#oJIGL=hKLJ<#IVj2P0YjG=Hp5vZBpCPlwI%cep5|tv1w(_e^8GWm};U
z8Z#H4Zb$(aI51YDq)7d|{bCW?&Yw9};KoaU^&_XyO}tyuuG~Ezw*g0oS=pHvwN#v)
zi%z?EOdJmn8Dx>bR46u9bA`?BGw3yiif5@#LpT6?t2bUuWwmX`vvKG#*yOS6x}Cia
z9DOYNknRt>{2_|6aiNPF;p*Lb)r;8g6}&|Iw5@c%yS1}M%hti0^$25{yzaa_rl#0_
z_^s$q1Jdn>+c5*zqOr!~4TA5Ff4rZ+Jg+7c|5*rMjBJUgmA(;rQX-!ssyR$*lq=?DL>9pVW4A{Y$Gd4x
z%4d6-OR=GMXWm(l;g4{tvuWuYbQjo$%6p7S!xL%?rGlysN(t8ZV{sV)bM`aObPigY
zUlV>N9Q+vrrW&RPEORd`nmt85iaPjsm-9wlq-4`4l_b@$kh(gstn*szQ3&l|ch$r|*f+
zX_JWcoceIxjMxWkVi!0r(~wjq6}6%fq=EyeaI@6y3Ri6j{^%bE)fswftywHKgZ#Uf
z2i2*gD$labSp%*4tuOL1#}sEE0!G;b^1$gZ5#q0Zc=RGmPE%V)*kUaSk1n~6jUYC46&G9-wQmg!Bm~NTh#_#9HTh*R#7iiHG~+F$pEe%q&Nq>ZF-(8D5NKv>gbgT-Gs
z!?~F=_c)rSQ2N%L>Y-&NUqIkN*`f{6whk+$_B-EF7|g9Z${7*w&3WdJwyE~hjK|fuJp_HBVBOw7(yA_H
zintv2G{ns8zq4ct$C9$@Te-cG@fHQqvX4rvJp721y%JAalsy&p(qv0-WI$hRa4_`Z
zD9>=8mE*Y~{_WDZ^DHiC+&HAlxrgX)_J^%Ky;xyCM{xh?v?5{
zme30`Qqlb%Eg#hq!#pp|a8&v*HbQ=RRb!4kEy{RHT6H*0M|ioC_C4OMGgQ^`j7ebG
z=|>mNEw+>RXhr;Tr{HQZ%(4BFXdhdnGNNyWc7Y)=h{P6H&YMUhN$)vIdDpQxVA$ad$FS%Wpb`b#6y}fucAss5!{O()F>t5GMo!A?O
z>$PBPT{`v1`ed^Y1^L&?-}V?|8!@DgdvAWJr4bCfFE^NBIZrq-c@!3U3&^zQI-}?R
zVsjzt{P0H&Ub8-)Ik~0Hb@UpWWe%RM;@uI9M>EeI330NK29+{Le-|ZaBreq&j{V+nix~nL-wu
zX1pqCnU(l6(#MtDn;L`UX#V-}TH0Uv{!1x2POQJuXo=3+5_BZ84$CLNnTMV_4ApC{
zMa(J1c34{RGumc5T9R&*V+A433@LfDw;m=jq`dW`x_EW*baQr6It$XgA+fC{2kA0;
zv~&fr97-*T{Oy#?Gd4h#vKEts>bEX-s?*YFyB>hzQ^8?7CO#?cWlVKNZz`{T0S=0_
z#5qOUI>I2dhEZmi!R#wdgoK
zJAt|J)!obzeqzVvX4tb#V@>yfu@o{VRy^bCmAy
zQ0Ftx+8Cbf#XVu#iKegTv!_@
zj$C-?47PCBcrdP`w(8x+&F
zYNZ`o;ECXZANB2;@5YCR20IJmhIqm&Fx>hb)82jygIWY
z^%7w{@1^2OJ#fctVrvoCxu}-g%e!0b=6oGQCRg)%5g8LF2fdec+$o7HP9YPO)?<5#
z11*TB=ab@*7@|6U`A+#Brbd)L-qw0QwT^n$=c(pVDvUM3$|*_=!&YN<~PfjD{L-1*{>%uA5!gBbQRzD
za{B)MsjRYZkoj$OIwQKV$3_*zgrH)Kj-2&S5H}kJ5BHJ!D)=KN(`gqi{gP^MCkYH&
zve|io*(*4pBKr}tpyTK;<-}EYBv|p4M{9H
zasMybsV`}#e`Tivxq%%2PEQ5@Cp}fo%MrpV>0s|F4skJcwsLfJfacsohYH4a5LQu<
zmxoc#$^_zU>}us;uL^OtGDmtz%C~RNb@92|03Z^ph>I!2-W9;j143ebS?p!N%m#u=5i@pt53#babcOOkCskb`
zb{YU~D9ej@XdM8A4e*jstAYegkNsDME%$$p@XxXV4j|kAr)WU`XqWSgeetU5~!bwZ5c=$^8xAg!to%E;o
zjLxTl7CT|Rt@%u0hN+veZN)45aBn10O&{%j*zjRj(^S~4%$7{NmgopEK7%a~f}t&P
zJs5m`rmVMm=bT#vEhJ!~K)TSYooo_RyuQ*yLsywAvR-rRC?nFmNIPp+0AOcRmvWdQ
zU#fwPY+OPBF?o7skaT#Xin(ujUCb=6q^6FK^f$F6ovrmA?e@H2nW@YIsv(Qu%yv+YS6JhfWx
zRw_9n&lkQjNA!E`k5yJ>bdH0H!N~v3UU~j=t^c-6R#i6>*B3KYb9RILg^C)xKwfO)
z|81aF&MvNEmd4I6h9_tI&prp#xHPTITrFL6!C)|eot+)P25s3mfq%8^+&q96oD&HA
z_xm#cGUkAq_e%?AV*_x3fJiUA|HA%7|AM{Dzl>jG{(b%h=Z4CE!8tj(khr+G{#yTq
z7Ao)G>;1*g$@N0>mn{8%IKh9M6Y%1@DoCtq4(j$+FI6#s7f<*v*MN%qcS(&T2=JoP
z|DFf^Z62ycz+VhdnM%$Mrm7HET~=t74yzi((^dcP9``q{zb-+^*aE_;WbFLn#~d$f
zu&O{@9Ne5uAua&W3$Y5TJjBe(_$55N?1+0pR8Uu|RbK=3)nf
zc{tg)^;xBy9o!tDg+Qv%t2VZGaeNVO>cuLi3Jn1kp8nhD8pa-d)X2Is&ZK?GZ$UJUuSq3iaEHw
zXz6cDfc{ps^w%0<#?WBrU;)*K1@!oTsRM~s(Gg-VV)_y{b^jrYRZCk3VDDyY`;Q+$
z7BE!0oUy$H9mJklU6ua7)cvo*0_ZWspjA)Mz|1cxAt?z2a=s{#4G84ofwmmb7HULb
zHo?E{&&|8H?@Gs2O*%M#36VwJWxcL2N`^2NQS#R0kiesK^NSey+E6k+G$0keVG#kknT#W~r;
zdDwv*65=B4f=K^=k{1IOcQ6&RgqYg6xY+?%#em#w5~A#Eq8!{{F&+*P39y8Os3cg7
jT~d^Xhh0+Q#Ry$ojh$Wpx>683m>XKIM=hZ!iS&N}qM-g$
literal 0
HcmV?d00001
diff --git a/2/2-3/main.py b/2/2-3/main.py
new file mode 100644
index 0000000..651be20
--- /dev/null
+++ b/2/2-3/main.py
@@ -0,0 +1,20 @@
+import datetime
+
+
+def prompt_user():
+ name = input('What is your name? ')
+ try:
+ age = int(input('How old are you? '))
+ except ValueError:
+ return 'Age must be a number.'
+
+ return 'Hello {0}! You were born in {1}.'.format(name, get_year() - age)
+
+
+def get_year():
+ now = datetime.datetime.now()
+ return now.year
+
+
+if __name__ == '__main__':
+ print(prompt_user())